↑ Up

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

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

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

% Result   : Theorem 115.38s 85.70s
% Output   : Refutation 124.54s
% 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_decl,type,
    hBOOL: $i > $o ).

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

thf(318,axiom,
    ( ( wf_J_mdecl @ ( bool @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ fun ) @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ fun ) @ ti ) )
    = wf_J_mdecl ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',tsy_c_JWellForm_Owf__J__mdecl_res) ).

thf(1808,plain,
    ( ( wf_J_mdecl @ ( bool @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ fun ) @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ fun ) @ ti ) )
    = wf_J_mdecl ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[318]) ).

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

thf(2527,plain,
    ! [A: $i] :
      ( ( A @ throw @ ( A @ exp @ ( A @ exp @ fun ) @ ti ) )
      = ( A @ throw ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[526]) ).

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

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

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

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

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

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

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

thf(878,plain,
    ! [A: $i,B: $i] :
      ( ( ? [C: $i] :
            ( ( B @ ( A @ option @ ti ) )
            = ( C @ ( A @ some @ ( A @ option @ ( A @ hAPP ) ) ) ) )
       => ( ( B @ ( A @ option @ ti ) )
         != ( A @ none ) ) )
      & ( ( ( B @ ( A @ option @ ti ) )
         != ( A @ none ) )
       => ? [C: $i] :
            ( ( B @ ( A @ option @ ti ) )
            = ( C @ ( A @ some @ ( A @ option @ ( A @ hAPP ) ) ) ) ) ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[80]) ).

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

thf(2104,plain,
    ! [A: $i,B: $i,C: $i,D: $i] :
      ( ( D @ ( B @ none @ ( C @ ( B @ none @ ( A @ ( B @ option @ combk ) @ ( B @ option @ ( A @ fun ) @ ( B @ option @ hAPP ) ) ) @ ( B @ option @ ( A @ fun_upd ) @ ( B @ option @ ( A @ fun ) @ ( B @ option @ fun ) @ ( A @ fun ) @ ( B @ option @ ( A @ fun ) @ hAPP ) ) ) @ ( B @ option @ ( A @ fun ) @ ( B @ option @ fun ) @ ( A @ hAPP ) ) ) @ ( B @ option @ ( A @ fun ) @ ( B @ option @ hAPP ) ) ) @ ( B @ option @ ( A @ hAPP ) ) ) )
      = ( B @ none ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[394]) ).

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

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

thf(436,axiom,
    ( ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ is_class @ ( bool @ ( char @ list @ fun ) @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ fun ) @ ti ) )
    = ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ is_class ) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',tsy_c_Decl_Ois__class_res) ).

thf(2248,plain,
    ( ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ is_class @ ( bool @ ( char @ list @ fun ) @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ fun ) @ ti ) )
    = ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ is_class ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[436]) ).

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

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

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

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

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

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

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

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

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

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

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

thf(2035,plain,
    ! [A: $i,B: $i,C: $i] :
      ( ( ( ( B @ ( A @ ti ) )
          = ( C @ ( A @ ti ) ) )
       => ( ( B @ ( A @ some @ ( A @ option @ ( A @ hAPP ) ) ) )
          = ( C @ ( A @ some @ ( A @ option @ ( A @ hAPP ) ) ) ) ) )
      & ( ( ( B @ ( A @ some @ ( A @ option @ ( A @ hAPP ) ) ) )
          = ( C @ ( A @ some @ ( A @ option @ ( A @ hAPP ) ) ) ) )
       => ( ( B @ ( A @ ti ) )
          = ( C @ ( A @ ti ) ) ) ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[373]) ).

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

thf(1127,plain,
    ! [A: $i] :
      ( ( A @ the @ ( A @ ( A @ option @ fun ) @ ti ) )
      = ( A @ the ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[141]) ).

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

thf(7,axiom,
    ! [A: $i,B: $i,C: $i] :
      ( ( C @ ( B @ ( A @ produc1605651328_split ) ) )
      = ( C @ ( B @ ( A @ product_prod_case ) ) ) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',fact_56_internal__split__def) ).

thf(619,plain,
    ! [A: $i,B: $i,C: $i] :
      ( ( C @ ( B @ ( A @ produc1605651328_split ) ) )
      = ( C @ ( B @ ( A @ product_prod_case ) ) ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[7]) ).

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

thf(275,axiom,
    ! [A: $i,B: $i,C: $i,D: $i] :
      ( ( D @ ( B @ ( A @ dom ) @ ( bool @ ( A @ fun ) @ ( B @ option @ ( A @ fun ) @ hAPP ) ) ) @ ( C @ ( A @ member @ ( bool @ ( bool @ ( A @ fun ) @ fun ) @ ( A @ hAPP ) ) ) @ ( bool @ ( bool @ ( A @ fun ) @ hAPP ) ) ) @ hBOOL )
    <=> ( ( C @ ( D @ ( B @ option @ ( A @ hAPP ) ) ) )
       != ( B @ none ) ) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',fact_139_domIff) ).

thf(1641,plain,
    ! [A: $i,B: $i,C: $i,D: $i] :
      ( ( ( ( C @ ( D @ ( B @ option @ ( A @ hAPP ) ) ) )
         != ( B @ none ) )
       => ( D @ ( B @ ( A @ dom ) @ ( bool @ ( A @ fun ) @ ( B @ option @ ( A @ fun ) @ hAPP ) ) ) @ ( C @ ( A @ member @ ( bool @ ( bool @ ( A @ fun ) @ fun ) @ ( A @ hAPP ) ) ) @ ( bool @ ( bool @ ( A @ fun ) @ hAPP ) ) ) @ hBOOL ) )
      & ( ( D @ ( B @ ( A @ dom ) @ ( bool @ ( A @ fun ) @ ( B @ option @ ( A @ fun ) @ hAPP ) ) ) @ ( C @ ( A @ member @ ( bool @ ( bool @ ( A @ fun ) @ fun ) @ ( A @ hAPP ) ) ) @ ( bool @ ( bool @ ( A @ fun ) @ hAPP ) ) ) @ hBOOL )
       => ( ( C @ ( D @ ( B @ option @ ( A @ hAPP ) ) ) )
         != ( B @ none ) ) ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[275]) ).

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

thf(1415,plain,
    ! [A: $i] :
      ( ( A @ transitive_rtrancl @ ( bool @ ( A @ ( A @ product_prod ) @ fun ) @ ( bool @ ( A @ ( A @ product_prod ) @ fun ) @ fun ) @ ti ) )
      = ( A @ transitive_rtrancl ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[217]) ).

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

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

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

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

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

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

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

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

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

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

thf(599,axiom,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i] :
      ( ( E @ ( D @ ( C @ ( fconj @ ( bool @ ( bool @ fun ) @ ( bool @ hAPP ) ) ) @ ( B @ ( bool @ ( bool @ combb ) ) @ ( bool @ ( B @ fun ) @ ( bool @ ( B @ fun ) @ fun ) @ ( bool @ ( bool @ fun ) @ hAPP ) ) ) @ ( A @ ( bool @ ( B @ fun ) @ ( bool @ ( B @ fun ) @ combb ) ) @ ( bool @ ( B @ fun ) @ ( A @ fun ) @ ( bool @ ( B @ fun ) @ ( A @ fun ) @ fun ) @ ( bool @ ( B @ fun ) @ ( bool @ ( B @ fun ) @ fun ) @ hAPP ) ) ) @ ( bool @ ( B @ fun ) @ ( A @ fun ) @ ( bool @ ( B @ fun ) @ ( A @ fun ) @ hAPP ) ) ) @ ( bool @ ( B @ ( A @ product_prod_case ) ) @ ( bool @ ( B @ ( A @ product_prod ) @ fun ) @ ( bool @ ( B @ fun ) @ ( A @ fun ) @ hAPP ) ) ) @ ( bool @ ( B @ ( A @ product_prod ) @ hAPP ) ) ) @ hBOOL )
    <=> ( ( E @ ( D @ ( bool @ ( B @ ( A @ product_prod_case ) ) @ ( bool @ ( B @ ( A @ product_prod ) @ fun ) @ ( bool @ ( B @ fun ) @ ( A @ fun ) @ hAPP ) ) ) @ ( bool @ ( B @ ( A @ product_prod ) @ hAPP ) ) ) @ hBOOL )
        & ( C @ hBOOL ) ) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',fact_61_split__part) ).

thf(2782,plain,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i] :
      ( ( ( ( E @ ( D @ ( bool @ ( B @ ( A @ product_prod_case ) ) @ ( bool @ ( B @ ( A @ product_prod ) @ fun ) @ ( bool @ ( B @ fun ) @ ( A @ fun ) @ hAPP ) ) ) @ ( bool @ ( B @ ( A @ product_prod ) @ hAPP ) ) ) @ hBOOL )
          & ( C @ hBOOL ) )
       => ( E @ ( D @ ( C @ ( fconj @ ( bool @ ( bool @ fun ) @ ( bool @ hAPP ) ) ) @ ( B @ ( bool @ ( bool @ combb ) ) @ ( bool @ ( B @ fun ) @ ( bool @ ( B @ fun ) @ fun ) @ ( bool @ ( bool @ fun ) @ hAPP ) ) ) @ ( A @ ( bool @ ( B @ fun ) @ ( bool @ ( B @ fun ) @ combb ) ) @ ( bool @ ( B @ fun ) @ ( A @ fun ) @ ( bool @ ( B @ fun ) @ ( A @ fun ) @ fun ) @ ( bool @ ( B @ fun ) @ ( bool @ ( B @ fun ) @ fun ) @ hAPP ) ) ) @ ( bool @ ( B @ fun ) @ ( A @ fun ) @ ( bool @ ( B @ fun ) @ ( A @ fun ) @ hAPP ) ) ) @ ( bool @ ( B @ ( A @ product_prod_case ) ) @ ( bool @ ( B @ ( A @ product_prod ) @ fun ) @ ( bool @ ( B @ fun ) @ ( A @ fun ) @ hAPP ) ) ) @ ( bool @ ( B @ ( A @ product_prod ) @ hAPP ) ) ) @ hBOOL ) )
      & ( ( E @ ( D @ ( C @ ( fconj @ ( bool @ ( bool @ fun ) @ ( bool @ hAPP ) ) ) @ ( B @ ( bool @ ( bool @ combb ) ) @ ( bool @ ( B @ fun ) @ ( bool @ ( B @ fun ) @ fun ) @ ( bool @ ( bool @ fun ) @ hAPP ) ) ) @ ( A @ ( bool @ ( B @ fun ) @ ( bool @ ( B @ fun ) @ combb ) ) @ ( bool @ ( B @ fun ) @ ( A @ fun ) @ ( bool @ ( B @ fun ) @ ( A @ fun ) @ fun ) @ ( bool @ ( B @ fun ) @ ( bool @ ( B @ fun ) @ fun ) @ hAPP ) ) ) @ ( bool @ ( B @ fun ) @ ( A @ fun ) @ ( bool @ ( B @ fun ) @ ( A @ fun ) @ hAPP ) ) ) @ ( bool @ ( B @ ( A @ product_prod_case ) ) @ ( bool @ ( B @ ( A @ product_prod ) @ fun ) @ ( bool @ ( B @ fun ) @ ( A @ fun ) @ hAPP ) ) ) @ ( bool @ ( B @ ( A @ product_prod ) @ hAPP ) ) ) @ hBOOL )
       => ( ( E @ ( D @ ( bool @ ( B @ ( A @ product_prod_case ) ) @ ( bool @ ( B @ ( A @ product_prod ) @ fun ) @ ( bool @ ( B @ fun ) @ ( A @ fun ) @ hAPP ) ) ) @ ( bool @ ( B @ ( A @ product_prod ) @ hAPP ) ) ) @ hBOOL )
          & ( C @ hBOOL ) ) ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[599]) ).

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

thf(52,axiom,
    p @ ( red @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( l_a @ ( h_a @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ hAPP ) ) ) @ ( e_a @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ ( v @ ( val @ some @ ( val @ option @ ( val @ hAPP ) ) ) @ ( v_1 @ ( la @ ( val @ option @ ( char @ list @ fun_upd ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ fun ) @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ fun ) @ ( char @ list @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ hAPP ) ) ) @ ( ha @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ hAPP ) ) ) @ ( ea @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ member @ ( bool @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ hAPP ) ) ) @ ( bool @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ hAPP ) ) ) @ hBOOL,
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',fact_1_InitBlockRed_I1_J) ).

thf(798,plain,
    p @ ( red @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( l_a @ ( h_a @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ hAPP ) ) ) @ ( e_a @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ ( v @ ( val @ some @ ( val @ option @ ( val @ hAPP ) ) ) @ ( v_1 @ ( la @ ( val @ option @ ( char @ list @ fun_upd ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ fun ) @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ fun ) @ ( char @ list @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ hAPP ) ) ) @ ( ha @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ hAPP ) ) ) @ ( ea @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ member @ ( bool @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ hAPP ) ) ) @ ( bool @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ hAPP ) ) ) @ hBOOL,
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[52]) ).

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

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

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

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

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

thf(2441,plain,
    ! [A: $i,B: $i,C: $i] : ( C @ ( C @ ( B @ ( A @ transitive_rtranclp @ ( bool @ ( A @ fun ) @ ( A @ fun ) @ ( bool @ ( A @ fun ) @ ( A @ fun ) @ hAPP ) ) ) @ ( bool @ ( A @ fun ) @ ( A @ hAPP ) ) ) @ ( bool @ ( A @ hAPP ) ) ) @ hBOOL ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[497]) ).

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

thf(1238,plain,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i,F: $i,G: $i,H: $i,I: $i,J: $i,K: $i,L: $i,M: $i,N: $i,O: $i] :
      ( ( O @ ( N @ ( addr @ ( val @ ( nat @ hAPP ) ) ) @ ( char @ list @ val_1 @ ( char @ list @ exp @ ( val @ hAPP ) ) ) @ ( M @ ( L @ ( K @ ( eval @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ hBOOL )
     => ( ( J @ ( I @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ hAPP ) ) ) @ ( H @ ( char @ list @ val_1 @ ( char @ list @ exp @ ( val @ hAPP ) ) ) @ ( O @ ( G @ ( K @ ( eval @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ hBOOL )
       => ( ( ( N @ ( I @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ hAPP ) ) ) )
            = ( F @ ( E @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_Pair ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ fun ) @ ( char @ list @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ some @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ hAPP ) ) ) ) )
         => ( ( B
              = ( H @ ( val @ some @ ( val @ option @ ( val @ hAPP ) ) ) @ ( D @ ( C @ ( char @ list @ ( char @ list @ product_Pair ) @ ( char @ list @ ( char @ list @ product_prod ) @ ( char @ list @ fun ) @ ( char @ list @ hAPP ) ) ) @ ( char @ list @ ( char @ list @ product_prod ) @ ( char @ list @ hAPP ) ) ) @ ( F @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun_upd ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( val @ option @ fun ) @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( val @ option @ fun ) @ ( char @ list @ ( char @ list @ product_prod ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( val @ option @ hAPP ) ) ) ) )
           => ( ( A
                = ( B @ ( E @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_Pair ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ fun ) @ ( char @ list @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ some @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ hAPP ) ) ) @ ( N @ ( I @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun_upd ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ fun ) @ ( nat @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ fun ) @ ( nat @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ hAPP ) ) ) ) )
             => ( J @ ( A @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ hAPP ) ) ) @ ( unit @ ( char @ list @ val_1 @ ( char @ list @ exp @ ( val @ hAPP ) ) ) @ ( M @ ( G @ ( D @ ( C @ ( L @ ( char @ list @ fAss @ ( char @ list @ exp @ ( char @ list @ exp @ fun ) @ ( char @ list @ fun ) @ ( char @ list @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( char @ list @ exp @ ( char @ list @ exp @ fun ) @ ( char @ list @ fun ) @ ( char @ list @ hAPP ) ) ) @ ( char @ list @ exp @ ( char @ list @ exp @ fun ) @ ( char @ list @ hAPP ) ) ) @ ( char @ list @ exp @ ( char @ list @ exp @ hAPP ) ) ) @ ( K @ ( eval @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ hBOOL ) ) ) ) ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[168]) ).

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

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

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

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

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

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

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

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

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

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

thf(457,axiom,
    ( ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ wf_prog @ ( bool @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ fun ) @ ( bool @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ fun ) @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ fun ) @ fun ) @ ti ) )
    = ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ wf_prog ) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',tsy_c_WellForm_Owf__prog_res) ).

thf(2313,plain,
    ( ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ wf_prog @ ( bool @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ fun ) @ ( bool @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ fun ) @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ fun ) @ fun ) @ ti ) )
    = ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ wf_prog ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[457]) ).

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

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

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

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

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

thf(2653,plain,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i] :
      ( ( E @ ( D @ ( B @ ( A @ map_add ) @ ( B @ option @ ( A @ fun ) @ ( B @ option @ ( A @ fun ) @ fun ) @ ( B @ option @ ( A @ fun ) @ hAPP ) ) ) @ ( B @ option @ ( A @ fun ) @ ( B @ option @ ( A @ fun ) @ hAPP ) ) ) @ ( C @ ( B @ ( A @ map_add ) @ ( B @ option @ ( A @ fun ) @ ( B @ option @ ( A @ fun ) @ fun ) @ ( B @ option @ ( A @ fun ) @ hAPP ) ) ) @ ( B @ option @ ( A @ fun ) @ ( B @ option @ ( A @ fun ) @ hAPP ) ) ) )
      = ( E @ ( D @ ( C @ ( B @ ( A @ map_add ) @ ( B @ option @ ( A @ fun ) @ ( B @ option @ ( A @ fun ) @ fun ) @ ( B @ option @ ( A @ fun ) @ hAPP ) ) ) @ ( B @ option @ ( A @ fun ) @ ( B @ option @ ( A @ fun ) @ hAPP ) ) ) @ ( B @ ( A @ map_add ) @ ( B @ option @ ( A @ fun ) @ ( B @ option @ ( A @ fun ) @ fun ) @ ( B @ option @ ( A @ fun ) @ hAPP ) ) ) @ ( B @ option @ ( A @ fun ) @ ( B @ option @ ( A @ fun ) @ hAPP ) ) ) ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[561]) ).

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

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

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

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

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(509,axiom,
    ! [A: $i,B: $i] :
      ( ( B @ ( A @ product_Pair ) @ ( B @ ( A @ product_prod ) @ ( B @ fun ) @ ( A @ fun ) @ ti ) )
      = ( B @ ( A @ product_Pair ) ) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',tsy_c_Product__Type_OPair_res) ).

thf(2477,plain,
    ! [A: $i,B: $i] :
      ( ( B @ ( A @ product_Pair ) @ ( B @ ( A @ product_prod ) @ ( B @ fun ) @ ( A @ fun ) @ ti ) )
      = ( B @ ( A @ product_Pair ) ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[509]) ).

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

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

thf(269,axiom,
    ! [A: $i,B: $i,C: $i] : ( C @ ( B @ ( A @ val_1 @ ( A @ exp @ ( val @ hAPP ) ) ) @ ( A @ d @ ( bool @ ( bool @ ( A @ fun ) @ option @ fun ) @ ( A @ exp @ hAPP ) ) ) @ ( bool @ ( bool @ ( A @ fun ) @ option @ hAPP ) ) ) @ hBOOL ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',fact_118__092_060D_062___092_060D_062s_Osimps_I3_J) ).

thf(1624,plain,
    ! [A: $i,B: $i,C: $i] : ( C @ ( B @ ( A @ val_1 @ ( A @ exp @ ( val @ hAPP ) ) ) @ ( A @ d @ ( bool @ ( bool @ ( A @ fun ) @ option @ fun ) @ ( A @ exp @ hAPP ) ) ) @ ( bool @ ( bool @ ( A @ fun ) @ option @ hAPP ) ) ) @ hBOOL ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[269]) ).

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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(556,axiom,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i,F: $i,G: $i] :
      ( ( G @ ( F @ ( E @ ( ty @ some @ ( ty @ option @ ( ty @ hAPP ) ) ) @ ( D @ ( C @ ( ty @ option @ ( char @ list @ fun_upd ) @ ( ty @ option @ ( char @ list @ fun ) @ ( ty @ option @ fun ) @ ( char @ list @ fun ) @ ( ty @ option @ ( char @ list @ fun ) @ hAPP ) ) ) @ ( ty @ option @ ( char @ list @ fun ) @ ( ty @ option @ fun ) @ ( char @ list @ hAPP ) ) ) @ ( ty @ option @ ( char @ list @ fun ) @ ( ty @ option @ hAPP ) ) ) @ ( B @ ( A @ ( wTrt @ ( bool @ ( ty @ fun ) @ ( char @ list @ exp @ fun ) @ ( ty @ option @ ( char @ list @ fun ) @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ fun ) @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( bool @ ( ty @ fun ) @ ( char @ list @ exp @ fun ) @ ( ty @ option @ ( char @ list @ fun ) @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ hAPP ) ) ) @ ( bool @ ( ty @ fun ) @ ( char @ list @ exp @ fun ) @ ( ty @ option @ ( char @ list @ fun ) @ hAPP ) ) ) @ ( bool @ ( ty @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( bool @ ( ty @ hAPP ) ) ) @ hBOOL )
     => ( G @ ( F @ ( E @ ( D @ ( char @ list @ block @ ( char @ list @ exp @ ( char @ list @ exp @ fun ) @ ( ty @ fun ) @ ( char @ list @ hAPP ) ) ) @ ( char @ list @ exp @ ( char @ list @ exp @ fun ) @ ( ty @ hAPP ) ) ) @ ( char @ list @ exp @ ( char @ list @ exp @ hAPP ) ) ) @ ( C @ ( B @ ( A @ ( wTrt @ ( bool @ ( ty @ fun ) @ ( char @ list @ exp @ fun ) @ ( ty @ option @ ( char @ list @ fun ) @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ fun ) @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( bool @ ( ty @ fun ) @ ( char @ list @ exp @ fun ) @ ( ty @ option @ ( char @ list @ fun ) @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ hAPP ) ) ) @ ( bool @ ( ty @ fun ) @ ( char @ list @ exp @ fun ) @ ( ty @ option @ ( char @ list @ fun ) @ hAPP ) ) ) @ ( bool @ ( ty @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( bool @ ( ty @ hAPP ) ) ) @ hBOOL ) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',fact_85_WTrtBlock) ).

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

thf(1659,plain,
    ! [A: $i] :
      ( ( A @ seq @ ( A @ exp @ ( A @ exp @ fun ) @ ( A @ exp @ fun ) @ ti ) )
      = ( A @ seq ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[277]) ).

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

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

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

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

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

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

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

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

thf(109,axiom,
    ! [A: $i,B: $i,C: $i] :
      ( ( C @ ( B @ ( A @ ( typeSa1687304666_sconf @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( ty @ option @ ( char @ list @ fun ) @ fun ) @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( ty @ option @ ( char @ list @ fun ) @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ hBOOL )
    <=> ( C @ ( B @ ( A @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ lconf @ ( bool @ ( ty @ option @ ( char @ list @ fun ) @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ fun ) @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( bool @ ( ty @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ combc ) ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ fun ) @ ( ty @ option @ ( char @ list @ fun ) @ fun ) @ ( bool @ ( ty @ option @ ( char @ list @ fun ) @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ fun ) @ combb ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ fun ) @ ( ty @ option @ ( char @ list @ fun ) @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ fun ) @ ( bool @ ( ty @ option @ ( char @ list @ fun ) @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ fun ) @ fun ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ fun ) @ ( ty @ option @ ( char @ list @ fun ) @ fun ) @ ( bool @ ( ty @ option @ ( char @ list @ fun ) @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ fun ) @ fun ) @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ fun ) @ ( ty @ option @ ( char @ list @ fun ) @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ fun ) @ ( bool @ ( ty @ option @ ( char @ list @ fun ) @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ fun ) @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ fun ) @ ( ty @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ combc ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ fun ) @ ( ty @ option @ ( char @ list @ fun ) @ fun ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ fun ) @ ( ty @ option @ ( char @ list @ fun ) @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ fun ) @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ fun ) @ ( ty @ option @ ( char @ list @ fun ) @ hAPP ) ) ) @ ( A @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ hconf @ ( bool @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ fun ) @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( fconj @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ ( bool @ ( bool @ fun ) @ ( bool @ combb ) ) @ ( bool @ ( bool @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ fun ) @ ( bool @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ fun ) @ fun ) @ ( bool @ ( bool @ fun ) @ ( bool @ fun ) @ hAPP ) ) ) @ ( bool @ ( bool @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ fun ) @ ( bool @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ fun ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( bool @ ( bool @ combb ) ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ fun ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ fun ) @ fun ) @ ( bool @ ( bool @ fun ) @ combb ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ fun ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ fun ) @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ fun ) @ ( bool @ ( bool @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ fun ) @ fun ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ fun ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ fun ) @ fun ) @ ( bool @ ( bool @ fun ) @ fun ) @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ fun ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ fun ) @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ fun ) @ ( bool @ ( bool @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ fun ) @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ fun ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ combs ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ fun ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ fun ) @ fun ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ fun ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ fun ) @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ fun ) @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ fun ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ fun ) @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod_case ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ fun ) @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ hBOOL ) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',fact_40_sconf__def) ).

thf(997,plain,
    ! [A: $i,B: $i,C: $i] :
      ( ( ( C @ ( B @ ( A @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ lconf @ ( bool @ ( ty @ option @ ( char @ list @ fun ) @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ fun ) @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( bool @ ( ty @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ combc ) ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ fun ) @ ( ty @ option @ ( char @ list @ fun ) @ fun ) @ ( bool @ ( ty @ option @ ( char @ list @ fun ) @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ fun ) @ combb ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ fun ) @ ( ty @ option @ ( char @ list @ fun ) @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ fun ) @ ( bool @ ( ty @ option @ ( char @ list @ fun ) @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ fun ) @ fun ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ fun ) @ ( ty @ option @ ( char @ list @ fun ) @ fun ) @ ( bool @ ( ty @ option @ ( char @ list @ fun ) @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ fun ) @ fun ) @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ fun ) @ ( ty @ option @ ( char @ list @ fun ) @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ fun ) @ ( bool @ ( ty @ option @ ( char @ list @ fun ) @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ fun ) @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ fun ) @ ( ty @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ combc ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ fun ) @ ( ty @ option @ ( char @ list @ fun ) @ fun ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ fun ) @ ( ty @ option @ ( char @ list @ fun ) @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ fun ) @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ fun ) @ ( ty @ option @ ( char @ list @ fun ) @ hAPP ) ) ) @ ( A @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ hconf @ ( bool @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ fun ) @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( fconj @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ ( bool @ ( bool @ fun ) @ ( bool @ combb ) ) @ ( bool @ ( bool @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ fun ) @ ( bool @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ fun ) @ fun ) @ ( bool @ ( bool @ fun ) @ ( bool @ fun ) @ hAPP ) ) ) @ ( bool @ ( bool @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ fun ) @ ( bool @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ fun ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( bool @ ( bool @ combb ) ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ fun ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ fun ) @ fun ) @ ( bool @ ( bool @ fun ) @ combb ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ fun ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ fun ) @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ fun ) @ ( bool @ ( bool @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ fun ) @ fun ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ fun ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ fun ) @ fun ) @ ( bool @ ( bool @ fun ) @ fun ) @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ fun ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ fun ) @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ fun ) @ ( bool @ ( bool @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ fun ) @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ fun ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ combs ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ fun ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ fun ) @ fun ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ fun ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ fun ) @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ fun ) @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ fun ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ fun ) @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod_case ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ fun ) @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ hBOOL )
       => ( C @ ( B @ ( A @ ( typeSa1687304666_sconf @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( ty @ option @ ( char @ list @ fun ) @ fun ) @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( ty @ option @ ( char @ list @ fun ) @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ hBOOL ) )
      & ( ( C @ ( B @ ( A @ ( typeSa1687304666_sconf @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( ty @ option @ ( char @ list @ fun ) @ fun ) @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( ty @ option @ ( char @ list @ fun ) @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ hBOOL )
       => ( C @ ( B @ ( A @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ lconf @ ( bool @ ( ty @ option @ ( char @ list @ fun ) @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ fun ) @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( bool @ ( ty @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ combc ) ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ fun ) @ ( ty @ option @ ( char @ list @ fun ) @ fun ) @ ( bool @ ( ty @ option @ ( char @ list @ fun ) @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ fun ) @ combb ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ fun ) @ ( ty @ option @ ( char @ list @ fun ) @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ fun ) @ ( bool @ ( ty @ option @ ( char @ list @ fun ) @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ fun ) @ fun ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ fun ) @ ( ty @ option @ ( char @ list @ fun ) @ fun ) @ ( bool @ ( ty @ option @ ( char @ list @ fun ) @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ fun ) @ fun ) @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ fun ) @ ( ty @ option @ ( char @ list @ fun ) @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ fun ) @ ( bool @ ( ty @ option @ ( char @ list @ fun ) @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ fun ) @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ fun ) @ ( ty @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ combc ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ fun ) @ ( ty @ option @ ( char @ list @ fun ) @ fun ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ fun ) @ ( ty @ option @ ( char @ list @ fun ) @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ fun ) @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ fun ) @ ( ty @ option @ ( char @ list @ fun ) @ hAPP ) ) ) @ ( A @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ hconf @ ( bool @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ fun ) @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( fconj @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ ( bool @ ( bool @ fun ) @ ( bool @ combb ) ) @ ( bool @ ( bool @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ fun ) @ ( bool @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ fun ) @ fun ) @ ( bool @ ( bool @ fun ) @ ( bool @ fun ) @ hAPP ) ) ) @ ( bool @ ( bool @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ fun ) @ ( bool @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ fun ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( bool @ ( bool @ combb ) ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ fun ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ fun ) @ fun ) @ ( bool @ ( bool @ fun ) @ combb ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ fun ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ fun ) @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ fun ) @ ( bool @ ( bool @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ fun ) @ fun ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ fun ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ fun ) @ fun ) @ ( bool @ ( bool @ fun ) @ fun ) @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ fun ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ fun ) @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ fun ) @ ( bool @ ( bool @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ fun ) @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ fun ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ combs ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ fun ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ fun ) @ fun ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ fun ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ fun ) @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ fun ) @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ fun ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ fun ) @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod_case ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ fun ) @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ hBOOL ) ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[109]) ).

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

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

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

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

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

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

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

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

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

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

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

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

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

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

thf(595,axiom,
    ! [A: $i,B: $i] :
      ( ( ( A @ ( bool_1 @ ( val @ ( bool @ hAPP ) ) ) )
        = ( B @ ( bool_1 @ ( val @ ( bool @ hAPP ) ) ) ) )
    <=> ( ( A @ hBOOL )
      <=> ( B @ hBOOL ) ) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',fact_470_val_Osimps_I1_J) ).

thf(2756,plain,
    ! [A: $i,B: $i] :
      ( ( ( ( ( B @ hBOOL )
           => ( A @ hBOOL ) )
          & ( ( A @ hBOOL )
           => ( B @ hBOOL ) ) )
       => ( ( A @ ( bool_1 @ ( val @ ( bool @ hAPP ) ) ) )
          = ( B @ ( bool_1 @ ( val @ ( bool @ hAPP ) ) ) ) ) )
      & ( ( ( A @ ( bool_1 @ ( val @ ( bool @ hAPP ) ) ) )
          = ( B @ ( bool_1 @ ( val @ ( bool @ hAPP ) ) ) ) )
       => ( ( ( B @ hBOOL )
           => ( A @ hBOOL ) )
          & ( ( A @ hBOOL )
           => ( B @ hBOOL ) ) ) ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[595]) ).

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

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

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

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

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

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

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

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

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

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

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

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

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

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

thf(105,axiom,
    ! [A: $i,B: $i,C: $i] :
      ( ( C @ ( B @ ( A @ ( wf_J_mdecl @ ( bool @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ fun ) @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( bool @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ hAPP ) ) ) @ ( bool @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ hAPP ) ) ) @ hBOOL )
     => ( C @ ( B @ ( A @ ( wwf_J_mdecl @ ( bool @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ fun ) @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( bool @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ hAPP ) ) ) @ ( bool @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ hAPP ) ) ) @ hBOOL ) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',fact_184_wf__mdecl__wwf__mdecl) ).

thf(985,plain,
    ! [A: $i,B: $i,C: $i] :
      ( ( C @ ( B @ ( A @ ( wf_J_mdecl @ ( bool @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ fun ) @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( bool @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ hAPP ) ) ) @ ( bool @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ hAPP ) ) ) @ hBOOL )
     => ( C @ ( B @ ( A @ ( wwf_J_mdecl @ ( bool @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ fun ) @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( bool @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ hAPP ) ) ) @ ( bool @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ hAPP ) ) ) @ hBOOL ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[105]) ).

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

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

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

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

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

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

thf(35,axiom,
    ! [A: $i,B: $i,C: $i,D: $i] :
      ( ( D @ ( C @ ( B @ ( A @ widen @ ( bool @ ( ty @ fun ) @ ( ty @ fun ) @ ( A @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( bool @ ( ty @ fun ) @ ( ty @ hAPP ) ) ) @ ( bool @ ( ty @ hAPP ) ) ) @ hBOOL )
    <=> ( ? [E: $i] :
            ( ( D
              = ( E @ ( class @ ( ty @ ( char @ list @ hAPP ) ) ) ) )
            & ( C = nt ) )
        | ? [E: $i,F: $i] :
            ( ( B @ ( A @ subcls1 @ ( bool @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( A @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( char @ list @ transitive_rtrancl @ ( bool @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( bool @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ hAPP ) ) ) @ ( F @ ( E @ ( char @ list @ ( char @ list @ product_Pair ) @ ( char @ list @ ( char @ list @ product_prod ) @ ( char @ list @ fun ) @ ( char @ list @ hAPP ) ) ) @ ( char @ list @ ( char @ list @ product_prod ) @ ( char @ list @ hAPP ) ) ) @ ( char @ list @ ( char @ list @ product_prod ) @ member @ ( bool @ ( bool @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ fun ) @ ( char @ list @ ( char @ list @ product_prod ) @ hAPP ) ) ) @ ( bool @ ( bool @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ hAPP ) ) ) @ hBOOL )
            & ( D
              = ( F @ ( class @ ( ty @ ( char @ list @ hAPP ) ) ) ) )
            & ( C
              = ( E @ ( class @ ( ty @ ( char @ list @ hAPP ) ) ) ) ) )
        | ? [E: $i] :
            ( ( D = E )
            & ( C = E ) ) ) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',fact_395_widen_Osimps) ).

thf(721,plain,
    ! [A: $i,B: $i,C: $i,D: $i] :
      ( ( ( ? [E: $i] :
              ( ( D
                = ( E @ ( class @ ( ty @ ( char @ list @ hAPP ) ) ) ) )
              & ( C = nt ) )
          | ? [E: $i,F: $i] :
              ( ( B @ ( A @ subcls1 @ ( bool @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( A @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( char @ list @ transitive_rtrancl @ ( bool @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( bool @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ hAPP ) ) ) @ ( F @ ( E @ ( char @ list @ ( char @ list @ product_Pair ) @ ( char @ list @ ( char @ list @ product_prod ) @ ( char @ list @ fun ) @ ( char @ list @ hAPP ) ) ) @ ( char @ list @ ( char @ list @ product_prod ) @ ( char @ list @ hAPP ) ) ) @ ( char @ list @ ( char @ list @ product_prod ) @ member @ ( bool @ ( bool @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ fun ) @ ( char @ list @ ( char @ list @ product_prod ) @ hAPP ) ) ) @ ( bool @ ( bool @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ hAPP ) ) ) @ hBOOL )
              & ( D
                = ( F @ ( class @ ( ty @ ( char @ list @ hAPP ) ) ) ) )
              & ( C
                = ( E @ ( class @ ( ty @ ( char @ list @ hAPP ) ) ) ) ) )
          | ? [E: $i] :
              ( ( D = E )
              & ( C = E ) ) )
       => ( D @ ( C @ ( B @ ( A @ widen @ ( bool @ ( ty @ fun ) @ ( ty @ fun ) @ ( A @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( bool @ ( ty @ fun ) @ ( ty @ hAPP ) ) ) @ ( bool @ ( ty @ hAPP ) ) ) @ hBOOL ) )
      & ( ( D @ ( C @ ( B @ ( A @ widen @ ( bool @ ( ty @ fun ) @ ( ty @ fun ) @ ( A @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( bool @ ( ty @ fun ) @ ( ty @ hAPP ) ) ) @ ( bool @ ( ty @ hAPP ) ) ) @ hBOOL )
       => ( ? [E: $i] :
              ( ( D
                = ( E @ ( class @ ( ty @ ( char @ list @ hAPP ) ) ) ) )
              & ( C = nt ) )
          | ? [E: $i,F: $i] :
              ( ( B @ ( A @ subcls1 @ ( bool @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( A @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( char @ list @ transitive_rtrancl @ ( bool @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( bool @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ hAPP ) ) ) @ ( F @ ( E @ ( char @ list @ ( char @ list @ product_Pair ) @ ( char @ list @ ( char @ list @ product_prod ) @ ( char @ list @ fun ) @ ( char @ list @ hAPP ) ) ) @ ( char @ list @ ( char @ list @ product_prod ) @ ( char @ list @ hAPP ) ) ) @ ( char @ list @ ( char @ list @ product_prod ) @ member @ ( bool @ ( bool @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ fun ) @ ( char @ list @ ( char @ list @ product_prod ) @ hAPP ) ) ) @ ( bool @ ( bool @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ hAPP ) ) ) @ hBOOL )
              & ( D
                = ( F @ ( class @ ( ty @ ( char @ list @ hAPP ) ) ) ) )
              & ( C
                = ( E @ ( class @ ( ty @ ( char @ list @ hAPP ) ) ) ) ) )
          | ? [E: $i] :
              ( ( D = E )
              & ( C = E ) ) ) ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[35]) ).

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

thf(579,axiom,
    ( ( void @ ( ty @ ti ) )
    = void ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',tsy_c_Type_Oty_OVoid_res) ).

thf(2702,plain,
    ( ( void @ ( ty @ ti ) )
    = void ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[579]) ).

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

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

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

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

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

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

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

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

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

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

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

thf(773,plain,
    ! [A: $i,B: $i,C: $i,D: $i] :
      ( ( D @ ( B @ ( A @ dom ) @ ( bool @ ( A @ fun ) @ ( B @ option @ ( A @ fun ) @ hAPP ) ) ) @ ( C @ ( A @ member @ ( bool @ ( bool @ ( A @ fun ) @ fun ) @ ( A @ hAPP ) ) ) @ ( bool @ ( bool @ ( A @ fun ) @ hAPP ) ) ) @ hBOOL )
     => ? [E: $i] :
          ( ( C @ ( D @ ( B @ option @ ( A @ hAPP ) ) ) )
          = ( E @ ( B @ some @ ( B @ option @ ( B @ hAPP ) ) ) ) ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[45]) ).

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

thf(2176,plain,
    ( ( h_a @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ ti ) )
    = h_a ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[413]) ).

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

thf(244,axiom,
    ! [A: $i] :
      ( ( A @ ( is_refT @ ( bool @ ( ty @ hAPP ) ) ) @ hBOOL )
    <=> ( ? [B: $i] :
            ( A
            = ( B @ ( class @ ( ty @ ( char @ list @ hAPP ) ) ) ) )
        | ( A = nt ) ) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',fact_417_is__refT__def) ).

thf(1520,plain,
    ! [A: $i] :
      ( ( ( ? [B: $i] :
              ( A
              = ( B @ ( class @ ( ty @ ( char @ list @ hAPP ) ) ) ) )
          | ( A = nt ) )
       => ( A @ ( is_refT @ ( bool @ ( ty @ hAPP ) ) ) @ hBOOL ) )
      & ( ( A @ ( is_refT @ ( bool @ ( ty @ hAPP ) ) ) @ hBOOL )
       => ( ? [B: $i] :
              ( A
              = ( B @ ( class @ ( ty @ ( char @ list @ hAPP ) ) ) ) )
          | ( A = nt ) ) ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[244]) ).

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

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

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

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

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

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

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

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

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

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

thf(61,axiom,
    ! [A: $i] :
      ( ( A @ ( is_refT @ ( bool @ ( ty @ hAPP ) ) ) @ hBOOL )
     => ( ( A != nt )
       => ~ ! [B: $i] :
              ( A
             != ( B @ ( class @ ( ty @ ( char @ list @ hAPP ) ) ) ) ) ) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',fact_419_refTE) ).

thf(826,plain,
    ! [A: $i] :
      ( ( A @ ( is_refT @ ( bool @ ( ty @ hAPP ) ) ) @ hBOOL )
     => ( ( A != nt )
       => ~ ! [B: $i] :
              ( A
             != ( B @ ( class @ ( ty @ ( char @ list @ hAPP ) ) ) ) ) ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[61]) ).

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

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

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

thf(2398,plain,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i] :
      ( ( ( ( C = E )
          & ( B = D ) )
       => ( ( C @ ( B @ ( A @ seq @ ( A @ exp @ ( A @ exp @ fun ) @ ( A @ exp @ hAPP ) ) ) @ ( A @ exp @ ( A @ exp @ hAPP ) ) ) )
          = ( E @ ( D @ ( A @ seq @ ( A @ exp @ ( A @ exp @ fun ) @ ( A @ exp @ hAPP ) ) ) @ ( A @ exp @ ( A @ exp @ hAPP ) ) ) ) ) )
      & ( ( ( C @ ( B @ ( A @ seq @ ( A @ exp @ ( A @ exp @ fun ) @ ( A @ exp @ hAPP ) ) ) @ ( A @ exp @ ( A @ exp @ hAPP ) ) ) )
          = ( E @ ( D @ ( A @ seq @ ( A @ exp @ ( A @ exp @ fun ) @ ( A @ exp @ hAPP ) ) ) @ ( A @ exp @ ( A @ exp @ hAPP ) ) ) ) )
       => ( ( C = E )
          & ( B = D ) ) ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[482]) ).

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

thf(530,axiom,
    ! [A: $i,B: $i,C: $i] :
      ( ( B @ ( A @ val_1 @ ( A @ exp @ ( val @ hAPP ) ) ) )
     != ( C @ ( A @ throw @ ( A @ exp @ ( A @ exp @ hAPP ) ) ) ) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',fact_248_exp_Osimps_I90_J) ).

thf(2538,plain,
    ! [A: $i,B: $i,C: $i] :
      ( ( B @ ( A @ val_1 @ ( A @ exp @ ( val @ hAPP ) ) ) )
     != ( C @ ( A @ throw @ ( A @ exp @ ( A @ exp @ hAPP ) ) ) ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[530]) ).

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

thf(231,axiom,
    ( ( wwf_J_mdecl @ ( bool @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ fun ) @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ fun ) @ ti ) )
    = wwf_J_mdecl ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',tsy_c_WWellForm_Owwf__J__mdecl_res) ).

thf(1471,plain,
    ( ( wwf_J_mdecl @ ( bool @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ fun ) @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ fun ) @ ti ) )
    = wwf_J_mdecl ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[231]) ).

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

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

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

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

thf(58,axiom,
    ( ( fFalse @ ( bool @ ti ) )
    = fFalse ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',tsy_c_fFalse_res) ).

thf(816,plain,
    ( ( fFalse @ ( bool @ ti ) )
    = fFalse ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[58]) ).

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

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

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

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

thf(53,axiom,
    ! [A: $i,B: $i,C: $i] :
      ( ( B @ none @ ( A @ ( B @ option @ combk ) @ ( B @ option @ ( A @ fun ) @ ( B @ option @ hAPP ) ) ) @ ( C @ ( B @ ( A @ map_add ) @ ( B @ option @ ( A @ fun ) @ ( B @ option @ ( A @ fun ) @ fun ) @ ( B @ option @ ( A @ fun ) @ hAPP ) ) ) @ ( B @ option @ ( A @ fun ) @ ( B @ option @ ( A @ fun ) @ hAPP ) ) ) )
      = ( C @ ( B @ option @ ( A @ fun ) @ ti ) ) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',fact_143_map__add__empty) ).

thf(799,plain,
    ! [A: $i,B: $i,C: $i] :
      ( ( B @ none @ ( A @ ( B @ option @ combk ) @ ( B @ option @ ( A @ fun ) @ ( B @ option @ hAPP ) ) ) @ ( C @ ( B @ ( A @ map_add ) @ ( B @ option @ ( A @ fun ) @ ( B @ option @ ( A @ fun ) @ fun ) @ ( B @ option @ ( A @ fun ) @ hAPP ) ) ) @ ( B @ option @ ( A @ fun ) @ ( B @ option @ ( A @ fun ) @ hAPP ) ) ) )
      = ( C @ ( B @ option @ ( A @ fun ) @ ti ) ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[53]) ).

thf(484,axiom,
    ! [A: $i] :
      ( ( A @ ( wf_J_mdecl @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ wf_prog @ ( bool @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ fun ) @ ( bool @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ fun ) @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ fun ) @ hAPP ) ) ) @ ( bool @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ hBOOL )
     => ( A @ ( wwf_J_mdecl @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ wf_prog @ ( bool @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ fun ) @ ( bool @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ fun ) @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ fun ) @ hAPP ) ) ) @ ( bool @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ hBOOL ) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',fact_183_wf__prog__wwf__prog) ).

thf(2410,plain,
    ! [A: $i] :
      ( ( A @ ( wf_J_mdecl @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ wf_prog @ ( bool @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ fun ) @ ( bool @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ fun ) @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ fun ) @ hAPP ) ) ) @ ( bool @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ hBOOL )
     => ( A @ ( wwf_J_mdecl @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ wf_prog @ ( bool @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ fun ) @ ( bool @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ fun ) @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ fun ) @ hAPP ) ) ) @ ( bool @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ hBOOL ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[484]) ).

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

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

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

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

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

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

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

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

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(591,axiom,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i,F: $i] :
      ( ( C @ ( B @ ( A @ while @ ( A @ exp @ ( A @ exp @ fun ) @ ( A @ exp @ hAPP ) ) ) @ ( A @ exp @ ( A @ exp @ hAPP ) ) ) )
     != ( F @ ( E @ ( D @ ( A @ binOp @ ( A @ exp @ ( A @ exp @ fun ) @ ( bop @ fun ) @ ( A @ exp @ hAPP ) ) ) @ ( A @ exp @ ( A @ exp @ fun ) @ ( bop @ hAPP ) ) ) @ ( A @ exp @ ( A @ exp @ hAPP ) ) ) ) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',fact_477_exp_Osimps_I111_J) ).

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

thf(3,axiom,
    ( ( c_Expr_Obop_OEq @ ( bop @ ti ) )
    = c_Expr_Obop_OEq ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',tsy_c_Expr_Obop_OEq_res) ).

thf(608,plain,
    ( ( c_Expr_Obop_OEq @ ( bop @ ti ) )
    = c_Expr_Obop_OEq ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[3]) ).

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

thf(636,plain,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i] :
      ( ( ( E @ ( B @ ( A @ d @ ( bool @ ( bool @ ( A @ fun ) @ option @ fun ) @ ( A @ exp @ hAPP ) ) ) @ ( bool @ ( bool @ ( A @ fun ) @ option @ hAPP ) ) ) @ hBOOL )
       => ( E @ ( D @ ( C @ ( B @ ( A @ fAcc @ ( A @ exp @ ( char @ list @ fun ) @ ( char @ list @ fun ) @ ( A @ exp @ hAPP ) ) ) @ ( A @ exp @ ( char @ list @ fun ) @ ( char @ list @ hAPP ) ) ) @ ( A @ exp @ ( char @ list @ hAPP ) ) ) @ ( A @ d @ ( bool @ ( bool @ ( A @ fun ) @ option @ fun ) @ ( A @ exp @ hAPP ) ) ) @ ( bool @ ( bool @ ( A @ fun ) @ option @ hAPP ) ) ) @ hBOOL ) )
      & ( ( E @ ( D @ ( C @ ( B @ ( A @ fAcc @ ( A @ exp @ ( char @ list @ fun ) @ ( char @ list @ fun ) @ ( A @ exp @ hAPP ) ) ) @ ( A @ exp @ ( char @ list @ fun ) @ ( char @ list @ hAPP ) ) ) @ ( A @ exp @ ( char @ list @ hAPP ) ) ) @ ( A @ d @ ( bool @ ( bool @ ( A @ fun ) @ option @ fun ) @ ( A @ exp @ hAPP ) ) ) @ ( bool @ ( bool @ ( A @ fun ) @ option @ hAPP ) ) ) @ hBOOL )
       => ( E @ ( B @ ( A @ d @ ( bool @ ( bool @ ( A @ fun ) @ option @ fun ) @ ( A @ exp @ hAPP ) ) ) @ ( bool @ ( bool @ ( A @ fun ) @ option @ hAPP ) ) ) @ hBOOL ) ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[13]) ).

thf(533,axiom,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i] : ( E @ ( red @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( D @ ( nullPointer @ ( addr_of_sys_xcpt @ ( nat @ ( char @ list @ hAPP ) ) ) @ ( addr @ ( val @ ( nat @ hAPP ) ) ) @ ( char @ list @ val_1 @ ( char @ list @ exp @ ( val @ hAPP ) ) ) @ ( char @ list @ throw @ ( char @ list @ exp @ ( char @ list @ exp @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ ( D @ ( C @ ( char @ list @ val_1 @ ( char @ list @ exp @ ( val @ hAPP ) ) ) @ ( B @ ( A @ ( null @ ( char @ list @ val_1 @ ( char @ list @ exp @ ( val @ hAPP ) ) ) @ ( char @ list @ fAss @ ( char @ list @ exp @ ( char @ list @ exp @ fun ) @ ( char @ list @ fun ) @ ( char @ list @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( char @ list @ exp @ ( char @ list @ exp @ fun ) @ ( char @ list @ fun ) @ ( char @ list @ hAPP ) ) ) @ ( char @ list @ exp @ ( char @ list @ exp @ fun ) @ ( char @ list @ hAPP ) ) ) @ ( char @ list @ exp @ ( char @ list @ exp @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ member @ ( bool @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ hAPP ) ) ) @ ( bool @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ hAPP ) ) ) @ hBOOL ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',fact_406_red__reds_ORedFAssNull) ).

thf(2550,plain,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i] : ( E @ ( red @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( D @ ( nullPointer @ ( addr_of_sys_xcpt @ ( nat @ ( char @ list @ hAPP ) ) ) @ ( addr @ ( val @ ( nat @ hAPP ) ) ) @ ( char @ list @ val_1 @ ( char @ list @ exp @ ( val @ hAPP ) ) ) @ ( char @ list @ throw @ ( char @ list @ exp @ ( char @ list @ exp @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ ( D @ ( C @ ( char @ list @ val_1 @ ( char @ list @ exp @ ( val @ hAPP ) ) ) @ ( B @ ( A @ ( null @ ( char @ list @ val_1 @ ( char @ list @ exp @ ( val @ hAPP ) ) ) @ ( char @ list @ fAss @ ( char @ list @ exp @ ( char @ list @ exp @ fun ) @ ( char @ list @ fun ) @ ( char @ list @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( char @ list @ exp @ ( char @ list @ exp @ fun ) @ ( char @ list @ fun ) @ ( char @ list @ hAPP ) ) ) @ ( char @ list @ exp @ ( char @ list @ exp @ fun ) @ ( char @ list @ hAPP ) ) ) @ ( char @ list @ exp @ ( char @ list @ exp @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ member @ ( bool @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ hAPP ) ) ) @ ( bool @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ hAPP ) ) ) @ hBOOL ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[533]) ).

thf(126,axiom,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i,F: $i,G: $i,H: $i] :
      ( ( H @ ( G @ ( F @ ( E @ ( D @ ( redp @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ hBOOL )
     => ( H @ ( C @ ( B @ ( A @ ( G @ ( char @ list @ fAss @ ( char @ list @ exp @ ( char @ list @ exp @ fun ) @ ( char @ list @ fun ) @ ( char @ list @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( char @ list @ exp @ ( char @ list @ exp @ fun ) @ ( char @ list @ fun ) @ ( char @ list @ hAPP ) ) ) @ ( char @ list @ exp @ ( char @ list @ exp @ fun ) @ ( char @ list @ hAPP ) ) ) @ ( char @ list @ exp @ ( char @ list @ exp @ hAPP ) ) ) @ ( F @ ( C @ ( B @ ( A @ ( E @ ( char @ list @ fAss @ ( char @ list @ exp @ ( char @ list @ exp @ fun ) @ ( char @ list @ fun ) @ ( char @ list @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( char @ list @ exp @ ( char @ list @ exp @ fun ) @ ( char @ list @ fun ) @ ( char @ list @ hAPP ) ) ) @ ( char @ list @ exp @ ( char @ list @ exp @ fun ) @ ( char @ list @ hAPP ) ) ) @ ( char @ list @ exp @ ( char @ list @ exp @ hAPP ) ) ) @ ( D @ ( redp @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ hBOOL ) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',fact_194_redp__redsp_OFAssRed1) ).

thf(1066,plain,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i,F: $i,G: $i,H: $i] :
      ( ( H @ ( G @ ( F @ ( E @ ( D @ ( redp @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ hBOOL )
     => ( H @ ( C @ ( B @ ( A @ ( G @ ( char @ list @ fAss @ ( char @ list @ exp @ ( char @ list @ exp @ fun ) @ ( char @ list @ fun ) @ ( char @ list @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( char @ list @ exp @ ( char @ list @ exp @ fun ) @ ( char @ list @ fun ) @ ( char @ list @ hAPP ) ) ) @ ( char @ list @ exp @ ( char @ list @ exp @ fun ) @ ( char @ list @ hAPP ) ) ) @ ( char @ list @ exp @ ( char @ list @ exp @ hAPP ) ) ) @ ( F @ ( C @ ( B @ ( A @ ( E @ ( char @ list @ fAss @ ( char @ list @ exp @ ( char @ list @ exp @ fun ) @ ( char @ list @ fun ) @ ( char @ list @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( char @ list @ exp @ ( char @ list @ exp @ fun ) @ ( char @ list @ fun ) @ ( char @ list @ hAPP ) ) ) @ ( char @ list @ exp @ ( char @ list @ exp @ fun ) @ ( char @ list @ hAPP ) ) ) @ ( char @ list @ exp @ ( char @ list @ exp @ hAPP ) ) ) @ ( D @ ( redp @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ hBOOL ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[126]) ).

thf(551,axiom,
    ! [A: $i] :
      ( ( A @ lAss @ ( A @ exp @ ( A @ exp @ fun ) @ ( A @ fun ) @ ti ) )
      = ( A @ lAss ) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',tsy_c_Expr_Oexp_OLAss_res) ).

thf(2620,plain,
    ! [A: $i] :
      ( ( A @ lAss @ ( A @ exp @ ( A @ exp @ fun ) @ ( A @ fun ) @ ti ) )
      = ( A @ lAss ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[551]) ).

thf(140,axiom,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i,F: $i,G: $i,H: $i,I: $i] :
      ( ( ( E @ ( D @ ( C @ ( B @ ( A @ tryCatch @ ( A @ exp @ ( A @ exp @ fun ) @ ( A @ fun ) @ ( char @ list @ fun ) @ ( A @ exp @ hAPP ) ) ) @ ( A @ exp @ ( A @ exp @ fun ) @ ( A @ fun ) @ ( char @ list @ hAPP ) ) ) @ ( A @ exp @ ( A @ exp @ fun ) @ ( A @ hAPP ) ) ) @ ( A @ exp @ ( A @ exp @ hAPP ) ) ) )
        = ( I @ ( H @ ( G @ ( F @ ( A @ tryCatch @ ( A @ exp @ ( A @ exp @ fun ) @ ( A @ fun ) @ ( char @ list @ fun ) @ ( A @ exp @ hAPP ) ) ) @ ( A @ exp @ ( A @ exp @ fun ) @ ( A @ fun ) @ ( char @ list @ hAPP ) ) ) @ ( A @ exp @ ( A @ exp @ fun ) @ ( A @ hAPP ) ) ) @ ( A @ exp @ ( A @ exp @ hAPP ) ) ) ) )
    <=> ( ( E = I )
        & ( ( D @ ( A @ ti ) )
          = ( H @ ( A @ ti ) ) )
        & ( C = G )
        & ( B = F ) ) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',fact_299_exp_Osimps_I15_J) ).

thf(1113,plain,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i,F: $i,G: $i,H: $i,I: $i] :
      ( ( ( ( E = I )
          & ( ( D @ ( A @ ti ) )
            = ( H @ ( A @ ti ) ) )
          & ( C = G )
          & ( B = F ) )
       => ( ( E @ ( D @ ( C @ ( B @ ( A @ tryCatch @ ( A @ exp @ ( A @ exp @ fun ) @ ( A @ fun ) @ ( char @ list @ fun ) @ ( A @ exp @ hAPP ) ) ) @ ( A @ exp @ ( A @ exp @ fun ) @ ( A @ fun ) @ ( char @ list @ hAPP ) ) ) @ ( A @ exp @ ( A @ exp @ fun ) @ ( A @ hAPP ) ) ) @ ( A @ exp @ ( A @ exp @ hAPP ) ) ) )
          = ( I @ ( H @ ( G @ ( F @ ( A @ tryCatch @ ( A @ exp @ ( A @ exp @ fun ) @ ( A @ fun ) @ ( char @ list @ fun ) @ ( A @ exp @ hAPP ) ) ) @ ( A @ exp @ ( A @ exp @ fun ) @ ( A @ fun ) @ ( char @ list @ hAPP ) ) ) @ ( A @ exp @ ( A @ exp @ fun ) @ ( A @ hAPP ) ) ) @ ( A @ exp @ ( A @ exp @ hAPP ) ) ) ) ) )
      & ( ( ( E @ ( D @ ( C @ ( B @ ( A @ tryCatch @ ( A @ exp @ ( A @ exp @ fun ) @ ( A @ fun ) @ ( char @ list @ fun ) @ ( A @ exp @ hAPP ) ) ) @ ( A @ exp @ ( A @ exp @ fun ) @ ( A @ fun ) @ ( char @ list @ hAPP ) ) ) @ ( A @ exp @ ( A @ exp @ fun ) @ ( A @ hAPP ) ) ) @ ( A @ exp @ ( A @ exp @ hAPP ) ) ) )
          = ( I @ ( H @ ( G @ ( F @ ( A @ tryCatch @ ( A @ exp @ ( A @ exp @ fun ) @ ( A @ fun ) @ ( char @ list @ fun ) @ ( A @ exp @ hAPP ) ) ) @ ( A @ exp @ ( A @ exp @ fun ) @ ( A @ fun ) @ ( char @ list @ hAPP ) ) ) @ ( A @ exp @ ( A @ exp @ fun ) @ ( A @ hAPP ) ) ) @ ( A @ exp @ ( A @ exp @ hAPP ) ) ) ) )
       => ( ( E = I )
          & ( ( D @ ( A @ ti ) )
            = ( H @ ( A @ ti ) ) )
          & ( C = G )
          & ( B = F ) ) ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[140]) ).

thf(602,axiom,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i,F: $i,G: $i,H: $i] :
      ( ( H @ ( G @ ( char @ list @ val_1 @ ( char @ list @ exp @ ( val @ hAPP ) ) ) @ ( F @ ( E @ ( D @ ( eval @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ hBOOL )
     => ( H @ ( G @ ( char @ list @ val_1 @ ( char @ list @ exp @ ( val @ hAPP ) ) ) @ ( F @ ( C @ ( B @ ( A @ ( E @ ( char @ list @ tryCatch @ ( char @ list @ exp @ ( char @ list @ exp @ fun ) @ ( char @ list @ fun ) @ ( char @ list @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( char @ list @ exp @ ( char @ list @ exp @ fun ) @ ( char @ list @ fun ) @ ( char @ list @ hAPP ) ) ) @ ( char @ list @ exp @ ( char @ list @ exp @ fun ) @ ( char @ list @ hAPP ) ) ) @ ( char @ list @ exp @ ( char @ list @ exp @ hAPP ) ) ) @ ( D @ ( eval @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ hBOOL ) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',fact_310_Try) ).

thf(2797,plain,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i,F: $i,G: $i,H: $i] :
      ( ( H @ ( G @ ( char @ list @ val_1 @ ( char @ list @ exp @ ( val @ hAPP ) ) ) @ ( F @ ( E @ ( D @ ( eval @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ hBOOL )
     => ( H @ ( G @ ( char @ list @ val_1 @ ( char @ list @ exp @ ( val @ hAPP ) ) ) @ ( F @ ( C @ ( B @ ( A @ ( E @ ( char @ list @ tryCatch @ ( char @ list @ exp @ ( char @ list @ exp @ fun ) @ ( char @ list @ fun ) @ ( char @ list @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( char @ list @ exp @ ( char @ list @ exp @ fun ) @ ( char @ list @ fun ) @ ( char @ list @ hAPP ) ) ) @ ( char @ list @ exp @ ( char @ list @ exp @ fun ) @ ( char @ list @ hAPP ) ) ) @ ( char @ list @ exp @ ( char @ list @ exp @ hAPP ) ) ) @ ( D @ ( eval @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ hBOOL ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[602]) ).

thf(310,axiom,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i] :
      ( ( C @ ( B @ ( A @ lAss @ ( A @ exp @ ( A @ exp @ fun ) @ ( A @ hAPP ) ) ) @ ( A @ exp @ ( A @ exp @ hAPP ) ) ) )
     != ( E @ ( D @ ( A @ while @ ( A @ exp @ ( A @ exp @ fun ) @ ( A @ exp @ hAPP ) ) ) @ ( A @ exp @ ( A @ exp @ hAPP ) ) ) ) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',fact_485_exp_Osimps_I148_J) ).

thf(1775,plain,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i] :
      ( ( C @ ( B @ ( A @ lAss @ ( A @ exp @ ( A @ exp @ fun ) @ ( A @ hAPP ) ) ) @ ( A @ exp @ ( A @ exp @ hAPP ) ) ) )
     != ( E @ ( D @ ( A @ while @ ( A @ exp @ ( A @ exp @ fun ) @ ( A @ exp @ hAPP ) ) ) @ ( A @ exp @ ( A @ exp @ hAPP ) ) ) ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[310]) ).

thf(594,axiom,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i] :
      ~ ! [F: $i,G: $i,H: $i,I: $i] :
          ( ( E @ ( D @ ( C @ product_prod ) @ ( B @ product_prod ) @ ( A @ product_prod ) @ ti ) )
         != ( I @ ( H @ ( D @ ( C @ product_Pair ) @ ( D @ ( C @ product_prod ) @ ( D @ fun ) @ ( C @ hAPP ) ) ) @ ( D @ ( C @ product_prod ) @ ( D @ hAPP ) ) ) @ ( G @ ( D @ ( C @ product_prod ) @ ( B @ product_Pair ) @ ( D @ ( C @ product_prod ) @ ( B @ product_prod ) @ ( D @ ( C @ product_prod ) @ fun ) @ ( B @ hAPP ) ) ) @ ( D @ ( C @ product_prod ) @ ( B @ product_prod ) @ ( D @ ( C @ product_prod ) @ hAPP ) ) ) @ ( F @ ( D @ ( C @ product_prod ) @ ( B @ product_prod ) @ ( A @ product_Pair ) @ ( D @ ( C @ product_prod ) @ ( B @ product_prod ) @ ( A @ product_prod ) @ ( D @ ( C @ product_prod ) @ ( B @ product_prod ) @ fun ) @ ( A @ hAPP ) ) ) @ ( D @ ( C @ product_prod ) @ ( B @ product_prod ) @ ( A @ product_prod ) @ ( D @ ( C @ product_prod ) @ ( B @ product_prod ) @ hAPP ) ) ) ) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',fact_13_prod__cases4) ).

thf(2752,plain,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i] :
      ~ ! [F: $i,G: $i,H: $i,I: $i] :
          ( ( E @ ( D @ ( C @ product_prod ) @ ( B @ product_prod ) @ ( A @ product_prod ) @ ti ) )
         != ( I @ ( H @ ( D @ ( C @ product_Pair ) @ ( D @ ( C @ product_prod ) @ ( D @ fun ) @ ( C @ hAPP ) ) ) @ ( D @ ( C @ product_prod ) @ ( D @ hAPP ) ) ) @ ( G @ ( D @ ( C @ product_prod ) @ ( B @ product_Pair ) @ ( D @ ( C @ product_prod ) @ ( B @ product_prod ) @ ( D @ ( C @ product_prod ) @ fun ) @ ( B @ hAPP ) ) ) @ ( D @ ( C @ product_prod ) @ ( B @ product_prod ) @ ( D @ ( C @ product_prod ) @ hAPP ) ) ) @ ( F @ ( D @ ( C @ product_prod ) @ ( B @ product_prod ) @ ( A @ product_Pair ) @ ( D @ ( C @ product_prod ) @ ( B @ product_prod ) @ ( A @ product_prod ) @ ( D @ ( C @ product_prod ) @ ( B @ product_prod ) @ fun ) @ ( A @ hAPP ) ) ) @ ( D @ ( C @ product_prod ) @ ( B @ product_prod ) @ ( A @ product_prod ) @ ( D @ ( C @ product_prod ) @ ( B @ product_prod ) @ hAPP ) ) ) ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[594]) ).

thf(223,axiom,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i,F: $i,G: $i,H: $i,I: $i] :
      ( ( I @ ( null @ ( char @ list @ val_1 @ ( char @ list @ exp @ ( val @ hAPP ) ) ) @ ( H @ ( G @ ( F @ ( eval @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ hBOOL )
     => ( ( E @ ( D @ ( char @ list @ val_1 @ ( char @ list @ exp @ ( val @ hAPP ) ) ) @ ( I @ ( C @ ( F @ ( eval @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ hBOOL )
       => ( E @ ( nullPointer @ ( addr_of_sys_xcpt @ ( nat @ ( char @ list @ hAPP ) ) ) @ ( addr @ ( val @ ( nat @ hAPP ) ) ) @ ( char @ list @ val_1 @ ( char @ list @ exp @ ( val @ hAPP ) ) ) @ ( char @ list @ throw @ ( char @ list @ exp @ ( char @ list @ exp @ hAPP ) ) ) @ ( H @ ( C @ ( B @ ( A @ ( G @ ( char @ list @ fAss @ ( char @ list @ exp @ ( char @ list @ exp @ fun ) @ ( char @ list @ fun ) @ ( char @ list @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( char @ list @ exp @ ( char @ list @ exp @ fun ) @ ( char @ list @ fun ) @ ( char @ list @ hAPP ) ) ) @ ( char @ list @ exp @ ( char @ list @ exp @ fun ) @ ( char @ list @ hAPP ) ) ) @ ( char @ list @ exp @ ( char @ list @ exp @ hAPP ) ) ) @ ( F @ ( eval @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ hBOOL ) ) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',fact_400_FAssNull) ).

thf(1435,plain,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i,F: $i,G: $i,H: $i,I: $i] :
      ( ( I @ ( null @ ( char @ list @ val_1 @ ( char @ list @ exp @ ( val @ hAPP ) ) ) @ ( H @ ( G @ ( F @ ( eval @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ hBOOL )
     => ( ( E @ ( D @ ( char @ list @ val_1 @ ( char @ list @ exp @ ( val @ hAPP ) ) ) @ ( I @ ( C @ ( F @ ( eval @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ hBOOL )
       => ( E @ ( nullPointer @ ( addr_of_sys_xcpt @ ( nat @ ( char @ list @ hAPP ) ) ) @ ( addr @ ( val @ ( nat @ hAPP ) ) ) @ ( char @ list @ val_1 @ ( char @ list @ exp @ ( val @ hAPP ) ) ) @ ( char @ list @ throw @ ( char @ list @ exp @ ( char @ list @ exp @ hAPP ) ) ) @ ( H @ ( C @ ( B @ ( A @ ( G @ ( char @ list @ fAss @ ( char @ list @ exp @ ( char @ list @ exp @ fun ) @ ( char @ list @ fun ) @ ( char @ list @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( char @ list @ exp @ ( char @ list @ exp @ fun ) @ ( char @ list @ fun ) @ ( char @ list @ hAPP ) ) ) @ ( char @ list @ exp @ ( char @ list @ exp @ fun ) @ ( char @ list @ hAPP ) ) ) @ ( char @ list @ exp @ ( char @ list @ exp @ hAPP ) ) ) @ ( F @ ( eval @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ hBOOL ) ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[223]) ).

thf(130,axiom,
    ! [A: $i,B: $i,C: $i] :
      ( ( C @ ( B @ ( A @ ( A @ product_prod ) @ member @ ( bool @ ( bool @ ( A @ ( A @ product_prod ) @ fun ) @ fun ) @ ( A @ ( A @ product_prod ) @ hAPP ) ) ) @ ( bool @ ( bool @ ( A @ ( A @ product_prod ) @ fun ) @ hAPP ) ) ) @ hBOOL )
     => ( C @ ( A @ transitive_rtrancl @ ( bool @ ( A @ ( A @ product_prod ) @ fun ) @ ( bool @ ( A @ ( A @ product_prod ) @ fun ) @ hAPP ) ) ) @ ( B @ ( A @ ( A @ product_prod ) @ member @ ( bool @ ( bool @ ( A @ ( A @ product_prod ) @ fun ) @ fun ) @ ( A @ ( A @ product_prod ) @ hAPP ) ) ) @ ( bool @ ( bool @ ( A @ ( A @ product_prod ) @ fun ) @ hAPP ) ) ) @ hBOOL ) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',fact_168_r__into__rtrancl) ).

thf(1076,plain,
    ! [A: $i,B: $i,C: $i] :
      ( ( C @ ( B @ ( A @ ( A @ product_prod ) @ member @ ( bool @ ( bool @ ( A @ ( A @ product_prod ) @ fun ) @ fun ) @ ( A @ ( A @ product_prod ) @ hAPP ) ) ) @ ( bool @ ( bool @ ( A @ ( A @ product_prod ) @ fun ) @ hAPP ) ) ) @ hBOOL )
     => ( C @ ( A @ transitive_rtrancl @ ( bool @ ( A @ ( A @ product_prod ) @ fun ) @ ( bool @ ( A @ ( A @ product_prod ) @ fun ) @ hAPP ) ) ) @ ( B @ ( A @ ( A @ product_prod ) @ member @ ( bool @ ( bool @ ( A @ ( A @ product_prod ) @ fun ) @ fun ) @ ( A @ ( A @ product_prod ) @ hAPP ) ) ) @ ( bool @ ( bool @ ( A @ ( A @ product_prod ) @ fun ) @ hAPP ) ) ) @ hBOOL ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[130]) ).

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] :
      ( ( N @ ( red @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ transitive_rtrancl @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ hAPP ) ) ) @ ( M @ ( L @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ hAPP ) ) ) @ ( K @ ( addr @ ( val @ ( nat @ hAPP ) ) ) @ ( char @ list @ val_1 @ ( char @ list @ exp @ ( val @ hAPP ) ) ) @ ( char @ list @ throw @ ( char @ list @ exp @ ( char @ list @ exp @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ ( J @ ( I @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ member @ ( bool @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ hAPP ) ) ) @ ( bool @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ hAPP ) ) ) @ hBOOL )
     => ( ( ( K @ ( L @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ hAPP ) ) ) )
          = ( H @ ( G @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_Pair ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ fun ) @ ( char @ list @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ some @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ hAPP ) ) ) ) )
       => ( ( N @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ subcls1 @ ( bool @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( char @ list @ transitive_rtrancl @ ( bool @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( bool @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ hAPP ) ) ) @ ( F @ ( G @ ( char @ list @ ( char @ list @ product_Pair ) @ ( char @ list @ ( char @ list @ product_prod ) @ ( char @ list @ fun ) @ ( char @ list @ hAPP ) ) ) @ ( char @ list @ ( char @ list @ product_prod ) @ ( char @ list @ hAPP ) ) ) @ ( char @ list @ ( char @ list @ product_prod ) @ member @ ( bool @ ( bool @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ fun ) @ ( char @ list @ ( char @ list @ product_prod ) @ hAPP ) ) ) @ ( bool @ ( bool @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ hAPP ) ) ) @ hBOOL )
         => ( ( N @ ( red @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ transitive_rtrancl @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ hAPP ) ) ) @ ( E @ ( D @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ hAPP ) ) ) @ ( C @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ ( K @ ( addr @ ( val @ ( nat @ hAPP ) ) ) @ ( val @ some @ ( val @ option @ ( val @ hAPP ) ) ) @ ( B @ ( M @ ( val @ option @ ( char @ list @ fun_upd ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ fun ) @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ fun ) @ ( char @ list @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ hAPP ) ) ) @ ( L @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ hAPP ) ) ) @ ( A @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ member @ ( bool @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ hAPP ) ) ) @ ( bool @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ hAPP ) ) ) @ hBOOL )
           => ( ( C @ ( char @ list @ final @ ( bool @ ( char @ list @ exp @ hAPP ) ) ) @ hBOOL )
             => ( N @ ( red @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ transitive_rtrancl @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ hAPP ) ) ) @ ( B @ ( M @ ( val @ option @ ( char @ list @ hAPP ) ) ) @ ( B @ ( E @ ( val @ option @ ( char @ list @ fun_upd ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ fun ) @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ fun ) @ ( char @ list @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ hAPP ) ) ) @ ( D @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ hAPP ) ) ) @ ( C @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ ( J @ ( A @ ( B @ ( F @ ( I @ ( char @ list @ tryCatch @ ( char @ list @ exp @ ( char @ list @ exp @ fun ) @ ( char @ list @ fun ) @ ( char @ list @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( char @ list @ exp @ ( char @ list @ exp @ fun ) @ ( char @ list @ fun ) @ ( char @ list @ hAPP ) ) ) @ ( char @ list @ exp @ ( char @ list @ exp @ fun ) @ ( char @ list @ hAPP ) ) ) @ ( char @ list @ exp @ ( char @ list @ exp @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ member @ ( bool @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ hAPP ) ) ) @ ( bool @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ hAPP ) ) ) @ hBOOL ) ) ) ) ) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',fact_293_TryCatchRedsFinal) ).

thf(1626,plain,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i,F: $i,G: $i,H: $i,I: $i,J: $i,K: $i,L: $i,M: $i,N: $i] :
      ( ( N @ ( red @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ transitive_rtrancl @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ hAPP ) ) ) @ ( M @ ( L @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ hAPP ) ) ) @ ( K @ ( addr @ ( val @ ( nat @ hAPP ) ) ) @ ( char @ list @ val_1 @ ( char @ list @ exp @ ( val @ hAPP ) ) ) @ ( char @ list @ throw @ ( char @ list @ exp @ ( char @ list @ exp @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ ( J @ ( I @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ member @ ( bool @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ hAPP ) ) ) @ ( bool @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ hAPP ) ) ) @ hBOOL )
     => ( ( ( K @ ( L @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ hAPP ) ) ) )
          = ( H @ ( G @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_Pair ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ fun ) @ ( char @ list @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ some @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ hAPP ) ) ) ) )
       => ( ( N @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ subcls1 @ ( bool @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( char @ list @ transitive_rtrancl @ ( bool @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( bool @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ hAPP ) ) ) @ ( F @ ( G @ ( char @ list @ ( char @ list @ product_Pair ) @ ( char @ list @ ( char @ list @ product_prod ) @ ( char @ list @ fun ) @ ( char @ list @ hAPP ) ) ) @ ( char @ list @ ( char @ list @ product_prod ) @ ( char @ list @ hAPP ) ) ) @ ( char @ list @ ( char @ list @ product_prod ) @ member @ ( bool @ ( bool @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ fun ) @ ( char @ list @ ( char @ list @ product_prod ) @ hAPP ) ) ) @ ( bool @ ( bool @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ hAPP ) ) ) @ hBOOL )
         => ( ( N @ ( red @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ transitive_rtrancl @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ hAPP ) ) ) @ ( E @ ( D @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ hAPP ) ) ) @ ( C @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ ( K @ ( addr @ ( val @ ( nat @ hAPP ) ) ) @ ( val @ some @ ( val @ option @ ( val @ hAPP ) ) ) @ ( B @ ( M @ ( val @ option @ ( char @ list @ fun_upd ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ fun ) @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ fun ) @ ( char @ list @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ hAPP ) ) ) @ ( L @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ hAPP ) ) ) @ ( A @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ member @ ( bool @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ hAPP ) ) ) @ ( bool @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ hAPP ) ) ) @ hBOOL )
           => ( ( C @ ( char @ list @ final @ ( bool @ ( char @ list @ exp @ hAPP ) ) ) @ hBOOL )
             => ( N @ ( red @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ transitive_rtrancl @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ hAPP ) ) ) @ ( B @ ( M @ ( val @ option @ ( char @ list @ hAPP ) ) ) @ ( B @ ( E @ ( val @ option @ ( char @ list @ fun_upd ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ fun ) @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ fun ) @ ( char @ list @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ hAPP ) ) ) @ ( D @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ hAPP ) ) ) @ ( C @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ ( J @ ( A @ ( B @ ( F @ ( I @ ( char @ list @ tryCatch @ ( char @ list @ exp @ ( char @ list @ exp @ fun ) @ ( char @ list @ fun ) @ ( char @ list @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( char @ list @ exp @ ( char @ list @ exp @ fun ) @ ( char @ list @ fun ) @ ( char @ list @ hAPP ) ) ) @ ( char @ list @ exp @ ( char @ list @ exp @ fun ) @ ( char @ list @ hAPP ) ) ) @ ( char @ list @ exp @ ( char @ list @ exp @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ member @ ( bool @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ hAPP ) ) ) @ ( bool @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ hAPP ) ) ) @ hBOOL ) ) ) ) ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[270]) ).

thf(395,axiom,
    ! [A: $i,B: $i] :
      ( ( B @ ( A @ some @ ( A @ option @ ( A @ hAPP ) ) ) @ ( A @ the @ ( A @ ( A @ option @ hAPP ) ) ) )
      = ( B @ ( A @ ti ) ) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',fact_169_the_Osimps) ).

thf(2107,plain,
    ! [A: $i,B: $i] :
      ( ( B @ ( A @ some @ ( A @ option @ ( A @ hAPP ) ) ) @ ( A @ the @ ( A @ ( A @ option @ hAPP ) ) ) )
      = ( B @ ( A @ ti ) ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[395]) ).

thf(219,axiom,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i] :
      ( ( ( E @ ( D @ ( C @ ( A @ ( B @ fun_upd ) @ ( A @ ( B @ fun ) @ ( A @ fun ) @ ( B @ fun ) @ ( A @ ( B @ fun ) @ hAPP ) ) ) @ ( A @ ( B @ fun ) @ ( A @ fun ) @ ( B @ hAPP ) ) ) @ ( A @ ( B @ fun ) @ ( A @ hAPP ) ) ) )
        = ( C @ ( A @ ( B @ fun ) @ ti ) ) )
    <=> ( ( D @ ( C @ ( A @ ( B @ hAPP ) ) ) )
        = ( E @ ( A @ ti ) ) ) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',fact_25_fun__upd__idem__iff) ).

thf(1420,plain,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i] :
      ( ( ( ( D @ ( C @ ( A @ ( B @ hAPP ) ) ) )
          = ( E @ ( A @ ti ) ) )
       => ( ( E @ ( D @ ( C @ ( A @ ( B @ fun_upd ) @ ( A @ ( B @ fun ) @ ( A @ fun ) @ ( B @ fun ) @ ( A @ ( B @ fun ) @ hAPP ) ) ) @ ( A @ ( B @ fun ) @ ( A @ fun ) @ ( B @ hAPP ) ) ) @ ( A @ ( B @ fun ) @ ( A @ hAPP ) ) ) )
          = ( C @ ( A @ ( B @ fun ) @ ti ) ) ) )
      & ( ( ( E @ ( D @ ( C @ ( A @ ( B @ fun_upd ) @ ( A @ ( B @ fun ) @ ( A @ fun ) @ ( B @ fun ) @ ( A @ ( B @ fun ) @ hAPP ) ) ) @ ( A @ ( B @ fun ) @ ( A @ fun ) @ ( B @ hAPP ) ) ) @ ( A @ ( B @ fun ) @ ( A @ hAPP ) ) ) )
          = ( C @ ( A @ ( B @ fun ) @ ti ) ) )
       => ( ( D @ ( C @ ( A @ ( B @ hAPP ) ) ) )
          = ( E @ ( A @ ti ) ) ) ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[219]) ).

thf(89,axiom,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i,F: $i,G: $i] :
      ( ( C @ ( B @ ( A @ lAss @ ( A @ exp @ ( A @ exp @ fun ) @ ( A @ hAPP ) ) ) @ ( A @ exp @ ( A @ exp @ hAPP ) ) ) )
     != ( G @ ( F @ ( E @ ( D @ ( A @ tryCatch @ ( A @ exp @ ( A @ exp @ fun ) @ ( A @ fun ) @ ( char @ list @ fun ) @ ( A @ exp @ hAPP ) ) ) @ ( A @ exp @ ( A @ exp @ fun ) @ ( A @ fun ) @ ( char @ list @ hAPP ) ) ) @ ( A @ exp @ ( A @ exp @ fun ) @ ( A @ hAPP ) ) ) @ ( A @ exp @ ( A @ exp @ hAPP ) ) ) ) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',fact_301_exp_Osimps_I152_J) ).

thf(927,plain,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i,F: $i,G: $i] :
      ( ( C @ ( B @ ( A @ lAss @ ( A @ exp @ ( A @ exp @ fun ) @ ( A @ hAPP ) ) ) @ ( A @ exp @ ( A @ exp @ hAPP ) ) ) )
     != ( G @ ( F @ ( E @ ( D @ ( A @ tryCatch @ ( A @ exp @ ( A @ exp @ fun ) @ ( A @ fun ) @ ( char @ list @ fun ) @ ( A @ exp @ hAPP ) ) ) @ ( A @ exp @ ( A @ exp @ fun ) @ ( A @ fun ) @ ( char @ list @ hAPP ) ) ) @ ( A @ exp @ ( A @ exp @ fun ) @ ( A @ hAPP ) ) ) @ ( A @ exp @ ( A @ exp @ hAPP ) ) ) ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[89]) ).

thf(285,axiom,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i,F: $i] :
      ( ! [G: $i,H: $i] :
          ( ( ( H @ ( G @ ( B @ ( C @ product_Pair ) @ ( B @ ( C @ product_prod ) @ ( B @ fun ) @ ( C @ hAPP ) ) ) @ ( B @ ( C @ product_prod ) @ ( B @ hAPP ) ) ) )
            = ( F @ ( B @ ( C @ product_prod ) @ ti ) ) )
         => ( E @ ( H @ ( G @ ( D @ ( bool @ ( A @ fun ) @ ( B @ fun ) @ ( C @ hAPP ) ) ) @ ( bool @ ( A @ fun ) @ ( B @ hAPP ) ) ) @ ( bool @ ( A @ hAPP ) ) ) @ hBOOL ) )
     => ( E @ ( F @ ( D @ ( bool @ ( A @ fun ) @ ( B @ ( C @ product_prod_case ) ) @ ( bool @ ( A @ fun ) @ ( B @ ( C @ product_prod ) @ fun ) @ ( bool @ ( A @ fun ) @ ( B @ fun ) @ ( C @ fun ) @ hAPP ) ) ) @ ( bool @ ( A @ fun ) @ ( B @ ( C @ product_prod ) @ hAPP ) ) ) @ ( bool @ ( A @ hAPP ) ) ) @ hBOOL ) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',fact_103_splitI2_H) ).

thf(1684,plain,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i,F: $i] :
      ( ! [G: $i,H: $i] :
          ( ( ( H @ ( G @ ( B @ ( C @ product_Pair ) @ ( B @ ( C @ product_prod ) @ ( B @ fun ) @ ( C @ hAPP ) ) ) @ ( B @ ( C @ product_prod ) @ ( B @ hAPP ) ) ) )
            = ( F @ ( B @ ( C @ product_prod ) @ ti ) ) )
         => ( E @ ( H @ ( G @ ( D @ ( bool @ ( A @ fun ) @ ( B @ fun ) @ ( C @ hAPP ) ) ) @ ( bool @ ( A @ fun ) @ ( B @ hAPP ) ) ) @ ( bool @ ( A @ hAPP ) ) ) @ hBOOL ) )
     => ( E @ ( F @ ( D @ ( bool @ ( A @ fun ) @ ( B @ ( C @ product_prod_case ) ) @ ( bool @ ( A @ fun ) @ ( B @ ( C @ product_prod ) @ fun ) @ ( bool @ ( A @ fun ) @ ( B @ fun ) @ ( C @ fun ) @ hAPP ) ) ) @ ( bool @ ( A @ fun ) @ ( B @ ( C @ product_prod ) @ hAPP ) ) ) @ ( bool @ ( A @ hAPP ) ) ) @ hBOOL ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[285]) ).

thf(198,axiom,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i,F: $i,G: $i] :
      ( ( C @ ( B @ ( A @ cast @ ( A @ exp @ ( A @ exp @ fun ) @ ( char @ list @ hAPP ) ) ) @ ( A @ exp @ ( A @ exp @ hAPP ) ) ) )
     != ( G @ ( F @ ( E @ ( D @ ( A @ tryCatch @ ( A @ exp @ ( A @ exp @ fun ) @ ( A @ fun ) @ ( char @ list @ fun ) @ ( A @ exp @ hAPP ) ) ) @ ( A @ exp @ ( A @ exp @ fun ) @ ( A @ fun ) @ ( char @ list @ hAPP ) ) ) @ ( A @ exp @ ( A @ exp @ fun ) @ ( A @ hAPP ) ) ) @ ( A @ exp @ ( A @ exp @ hAPP ) ) ) ) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',fact_328_exp_Osimps_I68_J) ).

thf(1340,plain,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i,F: $i,G: $i] :
      ( ( C @ ( B @ ( A @ cast @ ( A @ exp @ ( A @ exp @ fun ) @ ( char @ list @ hAPP ) ) ) @ ( A @ exp @ ( A @ exp @ hAPP ) ) ) )
     != ( G @ ( F @ ( E @ ( D @ ( A @ tryCatch @ ( A @ exp @ ( A @ exp @ fun ) @ ( A @ fun ) @ ( char @ list @ fun ) @ ( A @ exp @ hAPP ) ) ) @ ( A @ exp @ ( A @ exp @ fun ) @ ( A @ fun ) @ ( char @ list @ hAPP ) ) ) @ ( A @ exp @ ( A @ exp @ fun ) @ ( A @ hAPP ) ) ) @ ( A @ exp @ ( A @ exp @ hAPP ) ) ) ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[198]) ).

thf(536,axiom,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i] :
      ( ( E @ ( red @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ transitive_rtrancl @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ hAPP ) ) ) @ ( D @ ( null @ ( char @ list @ val_1 @ ( char @ list @ exp @ ( val @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ ( C @ ( B @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ member @ ( bool @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ hAPP ) ) ) @ ( bool @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ hAPP ) ) ) @ hBOOL )
     => ( E @ ( red @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ transitive_rtrancl @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ hAPP ) ) ) @ ( D @ ( null @ ( char @ list @ val_1 @ ( char @ list @ exp @ ( val @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ ( C @ ( B @ ( A @ ( char @ list @ cast @ ( char @ list @ exp @ ( char @ list @ exp @ fun ) @ ( char @ list @ hAPP ) ) ) @ ( char @ list @ exp @ ( char @ list @ exp @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ member @ ( bool @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ hAPP ) ) ) @ ( bool @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ hAPP ) ) ) @ hBOOL ) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',fact_376_CastRedsNull) ).

thf(2564,plain,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i] :
      ( ( E @ ( red @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ transitive_rtrancl @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ hAPP ) ) ) @ ( D @ ( null @ ( char @ list @ val_1 @ ( char @ list @ exp @ ( val @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ ( C @ ( B @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ member @ ( bool @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ hAPP ) ) ) @ ( bool @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ hAPP ) ) ) @ hBOOL )
     => ( E @ ( red @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ transitive_rtrancl @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ hAPP ) ) ) @ ( D @ ( null @ ( char @ list @ val_1 @ ( char @ list @ exp @ ( val @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ ( C @ ( B @ ( A @ ( char @ list @ cast @ ( char @ list @ exp @ ( char @ list @ exp @ fun ) @ ( char @ list @ hAPP ) ) ) @ ( char @ list @ exp @ ( char @ list @ exp @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ member @ ( bool @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ hAPP ) ) ) @ ( bool @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ hAPP ) ) ) @ hBOOL ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[536]) ).

thf(99,axiom,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i] :
      ( ( C @ ( B @ ( A @ lAss @ ( A @ exp @ ( A @ exp @ fun ) @ ( A @ hAPP ) ) ) @ ( A @ exp @ ( A @ exp @ hAPP ) ) ) )
     != ( E @ ( D @ ( A @ cast @ ( A @ exp @ ( A @ exp @ fun ) @ ( char @ list @ hAPP ) ) ) @ ( A @ exp @ ( A @ exp @ hAPP ) ) ) ) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',fact_332_exp_Osimps_I51_J) ).

thf(968,plain,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i] :
      ( ( C @ ( B @ ( A @ lAss @ ( A @ exp @ ( A @ exp @ fun ) @ ( A @ hAPP ) ) ) @ ( A @ exp @ ( A @ exp @ hAPP ) ) ) )
     != ( E @ ( D @ ( A @ cast @ ( A @ exp @ ( A @ exp @ fun ) @ ( char @ list @ hAPP ) ) ) @ ( A @ exp @ ( A @ exp @ hAPP ) ) ) ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[99]) ).

thf(117,axiom,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i] :
      ( ( E @ ( D @ ( A @ hconf @ ( bool @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ fun ) @ ( A @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ hAPP ) ) ) @ hBOOL )
     => ( ( ( C @ ( E @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ hAPP ) ) ) )
          = ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ none ) )
       => ( ( B @ ( E @ ( D @ ( A @ oconf @ ( bool @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ fun ) @ ( A @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ hAPP ) ) ) @ hBOOL )
         => ( B @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ some @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ hAPP ) ) ) @ ( C @ ( E @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun_upd ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ fun ) @ ( nat @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ fun ) @ ( nat @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ hAPP ) ) ) @ ( D @ ( A @ hconf @ ( bool @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ fun ) @ ( A @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ hAPP ) ) ) @ hBOOL ) ) ) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',fact_173_hconf__new) ).

thf(1034,plain,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i] :
      ( ( E @ ( D @ ( A @ hconf @ ( bool @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ fun ) @ ( A @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ hAPP ) ) ) @ hBOOL )
     => ( ( ( C @ ( E @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ hAPP ) ) ) )
          = ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ none ) )
       => ( ( B @ ( E @ ( D @ ( A @ oconf @ ( bool @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ fun ) @ ( A @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ hAPP ) ) ) @ hBOOL )
         => ( B @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ some @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ hAPP ) ) ) @ ( C @ ( E @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun_upd ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ fun ) @ ( nat @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ fun ) @ ( nat @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ hAPP ) ) ) @ ( D @ ( A @ hconf @ ( bool @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ fun ) @ ( A @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ hAPP ) ) ) @ hBOOL ) ) ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[117]) ).

thf(433,axiom,
    ! [A: $i,B: $i] :
      ( ( B @ ( A @ some @ ( A @ option @ ( A @ hAPP ) ) ) )
     != ( A @ none ) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',fact_133_option_Osimps_I3_J) ).

thf(2239,plain,
    ! [A: $i,B: $i] :
      ( ( B @ ( A @ some @ ( A @ option @ ( A @ hAPP ) ) ) )
     != ( A @ none ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[433]) ).

thf(278,axiom,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i,F: $i,G: $i,H: $i,I: $i] :
      ( ( I @ ( red @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ transitive_rtrancl @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ hAPP ) ) ) @ ( H @ ( G @ ( char @ list @ val_1 @ ( char @ list @ exp @ ( val @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ ( F @ ( E @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ member @ ( bool @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ hAPP ) ) ) @ ( bool @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ hAPP ) ) ) @ hBOOL )
     => ( ( I @ ( red @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ transitive_rtrancl @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ hAPP ) ) ) @ ( D @ ( C @ ( char @ list @ throw @ ( char @ list @ exp @ ( char @ list @ exp @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ ( H @ ( B @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ member @ ( bool @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ hAPP ) ) ) @ ( bool @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ hAPP ) ) ) @ hBOOL )
       => ( I @ ( red @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ transitive_rtrancl @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ hAPP ) ) ) @ ( D @ ( C @ ( char @ list @ throw @ ( char @ list @ exp @ ( char @ list @ exp @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ ( F @ ( B @ ( A @ ( E @ ( char @ list @ binOp @ ( char @ list @ exp @ ( char @ list @ exp @ fun ) @ ( bop @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( char @ list @ exp @ ( char @ list @ exp @ fun ) @ ( bop @ hAPP ) ) ) @ ( char @ list @ exp @ ( char @ list @ exp @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ member @ ( bool @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ hAPP ) ) ) @ ( bool @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ hAPP ) ) ) @ hBOOL ) ) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',fact_421_BinOpRedsThrow2) ).

thf(1662,plain,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i,F: $i,G: $i,H: $i,I: $i] :
      ( ( I @ ( red @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ transitive_rtrancl @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ hAPP ) ) ) @ ( H @ ( G @ ( char @ list @ val_1 @ ( char @ list @ exp @ ( val @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ ( F @ ( E @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ member @ ( bool @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ hAPP ) ) ) @ ( bool @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ hAPP ) ) ) @ hBOOL )
     => ( ( I @ ( red @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ transitive_rtrancl @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ hAPP ) ) ) @ ( D @ ( C @ ( char @ list @ throw @ ( char @ list @ exp @ ( char @ list @ exp @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ ( H @ ( B @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ member @ ( bool @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ hAPP ) ) ) @ ( bool @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ hAPP ) ) ) @ hBOOL )
       => ( I @ ( red @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ transitive_rtrancl @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ hAPP ) ) ) @ ( D @ ( C @ ( char @ list @ throw @ ( char @ list @ exp @ ( char @ list @ exp @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ ( F @ ( B @ ( A @ ( E @ ( char @ list @ binOp @ ( char @ list @ exp @ ( char @ list @ exp @ fun ) @ ( bop @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( char @ list @ exp @ ( char @ list @ exp @ fun ) @ ( bop @ hAPP ) ) ) @ ( char @ list @ exp @ ( char @ list @ exp @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ member @ ( bool @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ hAPP ) ) ) @ ( bool @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ hAPP ) ) ) @ hBOOL ) ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[278]) ).

thf(392,axiom,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i,F: $i,G: $i] :
      ( ( D @ ( C @ ( B @ ( A @ fAcc @ ( A @ exp @ ( char @ list @ fun ) @ ( char @ list @ fun ) @ ( A @ exp @ hAPP ) ) ) @ ( A @ exp @ ( char @ list @ fun ) @ ( char @ list @ hAPP ) ) ) @ ( A @ exp @ ( char @ list @ hAPP ) ) ) )
     != ( G @ ( F @ ( E @ ( A @ block @ ( A @ exp @ ( A @ exp @ fun ) @ ( ty @ fun ) @ ( A @ hAPP ) ) ) @ ( A @ exp @ ( A @ exp @ fun ) @ ( ty @ hAPP ) ) ) @ ( A @ exp @ ( A @ exp @ hAPP ) ) ) ) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',fact_226_exp_Osimps_I158_J) ).

thf(2096,plain,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i,F: $i,G: $i] :
      ( ( D @ ( C @ ( B @ ( A @ fAcc @ ( A @ exp @ ( char @ list @ fun ) @ ( char @ list @ fun ) @ ( A @ exp @ hAPP ) ) ) @ ( A @ exp @ ( char @ list @ fun ) @ ( char @ list @ hAPP ) ) ) @ ( A @ exp @ ( char @ list @ hAPP ) ) ) )
     != ( G @ ( F @ ( E @ ( A @ block @ ( A @ exp @ ( A @ exp @ fun ) @ ( ty @ fun ) @ ( A @ hAPP ) ) ) @ ( A @ exp @ ( A @ exp @ fun ) @ ( ty @ hAPP ) ) ) @ ( A @ exp @ ( A @ exp @ hAPP ) ) ) ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[392]) ).

thf(157,axiom,
    ( ( v @ ( val @ ti ) )
    = v ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',tsy_v_v_____res) ).

thf(1203,plain,
    ( ( v @ ( val @ ti ) )
    = v ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[157]) ).

thf(159,axiom,
    ! [A: $i,B: $i,C: $i,D: $i] :
      ( ( C @ ( B @ ( A @ cast @ ( A @ exp @ ( A @ exp @ fun ) @ ( char @ list @ hAPP ) ) ) @ ( A @ exp @ ( A @ exp @ hAPP ) ) ) )
     != ( D @ ( A @ val_1 @ ( A @ exp @ ( val @ hAPP ) ) ) ) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',fact_341_exp_Osimps_I44_J) ).

thf(1208,plain,
    ! [A: $i,B: $i,C: $i,D: $i] :
      ( ( C @ ( B @ ( A @ cast @ ( A @ exp @ ( A @ exp @ fun ) @ ( char @ list @ hAPP ) ) ) @ ( A @ exp @ ( A @ exp @ hAPP ) ) ) )
     != ( D @ ( A @ val_1 @ ( A @ exp @ ( val @ hAPP ) ) ) ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[159]) ).

thf(444,axiom,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i,F: $i] :
      ( ( C @ ( B @ ( A @ cast @ ( A @ exp @ ( A @ exp @ fun ) @ ( char @ list @ hAPP ) ) ) @ ( A @ exp @ ( A @ exp @ hAPP ) ) ) )
     != ( F @ ( E @ ( D @ ( A @ fAcc @ ( A @ exp @ ( char @ list @ fun ) @ ( char @ list @ fun ) @ ( A @ exp @ hAPP ) ) ) @ ( A @ exp @ ( char @ list @ fun ) @ ( char @ list @ hAPP ) ) ) @ ( A @ exp @ ( char @ list @ hAPP ) ) ) ) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',fact_338_exp_Osimps_I52_J) ).

thf(2271,plain,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i,F: $i] :
      ( ( C @ ( B @ ( A @ cast @ ( A @ exp @ ( A @ exp @ fun ) @ ( char @ list @ hAPP ) ) ) @ ( A @ exp @ ( A @ exp @ hAPP ) ) ) )
     != ( F @ ( E @ ( D @ ( A @ fAcc @ ( A @ exp @ ( char @ list @ fun ) @ ( char @ list @ fun ) @ ( A @ exp @ hAPP ) ) ) @ ( A @ exp @ ( char @ list @ fun ) @ ( char @ list @ hAPP ) ) ) @ ( A @ exp @ ( char @ list @ hAPP ) ) ) ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[444]) ).

thf(25,axiom,
    ! [A: $i,B: $i,C: $i] :
      ( ( C @ ( B @ ( A @ dom ) @ ( bool @ ( A @ fun ) @ ( B @ option @ ( A @ fun ) @ hAPP ) ) ) )
      = ( B @ none @ ( C @ ( B @ option @ fequal @ ( A @ ( bool @ ( B @ option @ fun ) @ ( B @ option @ combb ) ) @ ( bool @ ( B @ option @ fun ) @ ( A @ fun ) @ ( B @ option @ ( A @ fun ) @ fun ) @ ( bool @ ( B @ option @ fun ) @ ( B @ option @ fun ) @ hAPP ) ) ) @ ( bool @ ( B @ option @ fun ) @ ( A @ fun ) @ ( B @ option @ ( A @ fun ) @ hAPP ) ) ) @ ( bool @ ( B @ option @ ( A @ combc ) ) @ ( bool @ ( A @ fun ) @ ( B @ option @ fun ) @ ( bool @ ( B @ option @ fun ) @ ( A @ fun ) @ hAPP ) ) ) @ ( bool @ ( A @ fun ) @ ( B @ option @ hAPP ) ) ) @ ( fNot @ ( A @ ( bool @ ( bool @ combb ) ) @ ( bool @ ( A @ fun ) @ ( bool @ ( A @ fun ) @ fun ) @ ( bool @ ( bool @ fun ) @ hAPP ) ) ) @ ( bool @ ( A @ fun ) @ ( bool @ ( A @ fun ) @ hAPP ) ) ) @ ( A @ collect @ ( bool @ ( A @ fun ) @ ( bool @ ( A @ fun ) @ hAPP ) ) ) ) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',fact_138_dom__def) ).

thf(680,plain,
    ! [A: $i,B: $i,C: $i] :
      ( ( C @ ( B @ ( A @ dom ) @ ( bool @ ( A @ fun ) @ ( B @ option @ ( A @ fun ) @ hAPP ) ) ) )
      = ( B @ none @ ( C @ ( B @ option @ fequal @ ( A @ ( bool @ ( B @ option @ fun ) @ ( B @ option @ combb ) ) @ ( bool @ ( B @ option @ fun ) @ ( A @ fun ) @ ( B @ option @ ( A @ fun ) @ fun ) @ ( bool @ ( B @ option @ fun ) @ ( B @ option @ fun ) @ hAPP ) ) ) @ ( bool @ ( B @ option @ fun ) @ ( A @ fun ) @ ( B @ option @ ( A @ fun ) @ hAPP ) ) ) @ ( bool @ ( B @ option @ ( A @ combc ) ) @ ( bool @ ( A @ fun ) @ ( B @ option @ fun ) @ ( bool @ ( B @ option @ fun ) @ ( A @ fun ) @ hAPP ) ) ) @ ( bool @ ( A @ fun ) @ ( B @ option @ hAPP ) ) ) @ ( fNot @ ( A @ ( bool @ ( bool @ combb ) ) @ ( bool @ ( A @ fun ) @ ( bool @ ( A @ fun ) @ fun ) @ ( bool @ ( bool @ fun ) @ hAPP ) ) ) @ ( bool @ ( A @ fun ) @ ( bool @ ( A @ fun ) @ hAPP ) ) ) @ ( A @ collect @ ( bool @ ( A @ fun ) @ ( bool @ ( A @ fun ) @ hAPP ) ) ) ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[25]) ).

thf(144,axiom,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i] :
      ( ( E @ ( A @ transitive_rtrancl @ ( bool @ ( A @ ( A @ product_prod ) @ fun ) @ ( bool @ ( A @ ( A @ product_prod ) @ fun ) @ hAPP ) ) ) @ ( D @ ( C @ ( A @ ( A @ product_Pair ) @ ( A @ ( A @ product_prod ) @ ( A @ fun ) @ ( A @ hAPP ) ) ) @ ( A @ ( A @ product_prod ) @ ( A @ hAPP ) ) ) @ ( A @ ( A @ product_prod ) @ member @ ( bool @ ( bool @ ( A @ ( A @ product_prod ) @ fun ) @ fun ) @ ( A @ ( A @ product_prod ) @ hAPP ) ) ) @ ( bool @ ( bool @ ( A @ ( A @ product_prod ) @ fun ) @ hAPP ) ) ) @ hBOOL )
     => ( ( D @ ( B @ ( bool @ ( A @ hAPP ) ) ) @ hBOOL )
       => ( ! [F: $i,G: $i] :
              ( ( E @ ( G @ ( F @ ( A @ ( A @ product_Pair ) @ ( A @ ( A @ product_prod ) @ ( A @ fun ) @ ( A @ hAPP ) ) ) @ ( A @ ( A @ product_prod ) @ ( A @ hAPP ) ) ) @ ( A @ ( A @ product_prod ) @ member @ ( bool @ ( bool @ ( A @ ( A @ product_prod ) @ fun ) @ fun ) @ ( A @ ( A @ product_prod ) @ hAPP ) ) ) @ ( bool @ ( bool @ ( A @ ( A @ product_prod ) @ fun ) @ hAPP ) ) ) @ hBOOL )
             => ( ( E @ ( A @ transitive_rtrancl @ ( bool @ ( A @ ( A @ product_prod ) @ fun ) @ ( bool @ ( A @ ( A @ product_prod ) @ fun ) @ hAPP ) ) ) @ ( D @ ( G @ ( A @ ( A @ product_Pair ) @ ( A @ ( A @ product_prod ) @ ( A @ fun ) @ ( A @ hAPP ) ) ) @ ( A @ ( A @ product_prod ) @ ( A @ hAPP ) ) ) @ ( A @ ( A @ product_prod ) @ member @ ( bool @ ( bool @ ( A @ ( A @ product_prod ) @ fun ) @ fun ) @ ( A @ ( A @ product_prod ) @ hAPP ) ) ) @ ( bool @ ( bool @ ( A @ ( A @ product_prod ) @ fun ) @ hAPP ) ) ) @ hBOOL )
               => ( ( G @ ( B @ ( bool @ ( A @ hAPP ) ) ) @ hBOOL )
                 => ( F @ ( B @ ( bool @ ( A @ hAPP ) ) ) @ hBOOL ) ) ) )
         => ( C @ ( B @ ( bool @ ( A @ hAPP ) ) ) @ hBOOL ) ) ) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',fact_186_converse__rtrancl__induct) ).

thf(1134,plain,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i] :
      ( ( E @ ( A @ transitive_rtrancl @ ( bool @ ( A @ ( A @ product_prod ) @ fun ) @ ( bool @ ( A @ ( A @ product_prod ) @ fun ) @ hAPP ) ) ) @ ( D @ ( C @ ( A @ ( A @ product_Pair ) @ ( A @ ( A @ product_prod ) @ ( A @ fun ) @ ( A @ hAPP ) ) ) @ ( A @ ( A @ product_prod ) @ ( A @ hAPP ) ) ) @ ( A @ ( A @ product_prod ) @ member @ ( bool @ ( bool @ ( A @ ( A @ product_prod ) @ fun ) @ fun ) @ ( A @ ( A @ product_prod ) @ hAPP ) ) ) @ ( bool @ ( bool @ ( A @ ( A @ product_prod ) @ fun ) @ hAPP ) ) ) @ hBOOL )
     => ( ( D @ ( B @ ( bool @ ( A @ hAPP ) ) ) @ hBOOL )
       => ( ! [F: $i,G: $i] :
              ( ( E @ ( G @ ( F @ ( A @ ( A @ product_Pair ) @ ( A @ ( A @ product_prod ) @ ( A @ fun ) @ ( A @ hAPP ) ) ) @ ( A @ ( A @ product_prod ) @ ( A @ hAPP ) ) ) @ ( A @ ( A @ product_prod ) @ member @ ( bool @ ( bool @ ( A @ ( A @ product_prod ) @ fun ) @ fun ) @ ( A @ ( A @ product_prod ) @ hAPP ) ) ) @ ( bool @ ( bool @ ( A @ ( A @ product_prod ) @ fun ) @ hAPP ) ) ) @ hBOOL )
             => ( ( E @ ( A @ transitive_rtrancl @ ( bool @ ( A @ ( A @ product_prod ) @ fun ) @ ( bool @ ( A @ ( A @ product_prod ) @ fun ) @ hAPP ) ) ) @ ( D @ ( G @ ( A @ ( A @ product_Pair ) @ ( A @ ( A @ product_prod ) @ ( A @ fun ) @ ( A @ hAPP ) ) ) @ ( A @ ( A @ product_prod ) @ ( A @ hAPP ) ) ) @ ( A @ ( A @ product_prod ) @ member @ ( bool @ ( bool @ ( A @ ( A @ product_prod ) @ fun ) @ fun ) @ ( A @ ( A @ product_prod ) @ hAPP ) ) ) @ ( bool @ ( bool @ ( A @ ( A @ product_prod ) @ fun ) @ hAPP ) ) ) @ hBOOL )
               => ( ( G @ ( B @ ( bool @ ( A @ hAPP ) ) ) @ hBOOL )
                 => ( F @ ( B @ ( bool @ ( A @ hAPP ) ) ) @ hBOOL ) ) ) )
         => ( C @ ( B @ ( bool @ ( A @ hAPP ) ) ) @ hBOOL ) ) ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[144]) ).

thf(16,axiom,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i,F: $i,G: $i,H: $i] :
      ( ( D @ ( C @ ( B @ ( A @ binOp @ ( A @ exp @ ( A @ exp @ fun ) @ ( bop @ fun ) @ ( A @ exp @ hAPP ) ) ) @ ( A @ exp @ ( A @ exp @ fun ) @ ( bop @ hAPP ) ) ) @ ( A @ exp @ ( A @ exp @ hAPP ) ) ) )
     != ( H @ ( G @ ( F @ ( E @ ( A @ fAss @ ( A @ exp @ ( A @ exp @ fun ) @ ( char @ list @ fun ) @ ( char @ list @ fun ) @ ( A @ exp @ hAPP ) ) ) @ ( A @ exp @ ( A @ exp @ fun ) @ ( char @ list @ fun ) @ ( char @ list @ hAPP ) ) ) @ ( A @ exp @ ( A @ exp @ fun ) @ ( char @ list @ hAPP ) ) ) @ ( A @ exp @ ( A @ exp @ hAPP ) ) ) ) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',fact_432_exp_Osimps_I100_J) ).

thf(648,plain,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i,F: $i,G: $i,H: $i] :
      ( ( D @ ( C @ ( B @ ( A @ binOp @ ( A @ exp @ ( A @ exp @ fun ) @ ( bop @ fun ) @ ( A @ exp @ hAPP ) ) ) @ ( A @ exp @ ( A @ exp @ fun ) @ ( bop @ hAPP ) ) ) @ ( A @ exp @ ( A @ exp @ hAPP ) ) ) )
     != ( H @ ( G @ ( F @ ( E @ ( A @ fAss @ ( A @ exp @ ( A @ exp @ fun ) @ ( char @ list @ fun ) @ ( char @ list @ fun ) @ ( A @ exp @ hAPP ) ) ) @ ( A @ exp @ ( A @ exp @ fun ) @ ( char @ list @ fun ) @ ( char @ list @ hAPP ) ) ) @ ( A @ exp @ ( A @ exp @ fun ) @ ( char @ list @ hAPP ) ) ) @ ( A @ exp @ ( A @ exp @ hAPP ) ) ) ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[16]) ).

thf(132,axiom,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i] :
      ( ( D @ ( C @ ( B @ ( A @ binOp @ ( A @ exp @ ( A @ exp @ fun ) @ ( bop @ fun ) @ ( A @ exp @ hAPP ) ) ) @ ( A @ exp @ ( A @ exp @ fun ) @ ( bop @ hAPP ) ) ) @ ( A @ exp @ ( A @ exp @ hAPP ) ) ) )
     != ( E @ ( A @ throw @ ( A @ exp @ ( A @ exp @ hAPP ) ) ) ) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',fact_426_exp_Osimps_I112_J) ).

thf(1081,plain,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i] :
      ( ( D @ ( C @ ( B @ ( A @ binOp @ ( A @ exp @ ( A @ exp @ fun ) @ ( bop @ fun ) @ ( A @ exp @ hAPP ) ) ) @ ( A @ exp @ ( A @ exp @ fun ) @ ( bop @ hAPP ) ) ) @ ( A @ exp @ ( A @ exp @ hAPP ) ) ) )
     != ( E @ ( A @ throw @ ( A @ exp @ ( A @ exp @ hAPP ) ) ) ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[132]) ).

thf(37,axiom,
    t @ ( ea @ ( v @ ( char @ list @ val_1 @ ( char @ list @ exp @ ( val @ hAPP ) ) ) @ ( v_1 @ ( char @ list @ lAss @ ( char @ list @ exp @ ( char @ list @ exp @ fun ) @ ( char @ list @ hAPP ) ) ) @ ( char @ list @ exp @ ( char @ list @ exp @ hAPP ) ) ) @ ( char @ list @ seq @ ( char @ list @ exp @ ( char @ list @ exp @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( char @ list @ exp @ ( char @ list @ exp @ hAPP ) ) ) @ ( t_1 @ ( v_1 @ ( char @ list @ block @ ( char @ list @ exp @ ( char @ list @ exp @ fun ) @ ( ty @ fun ) @ ( char @ list @ hAPP ) ) ) @ ( char @ list @ exp @ ( char @ list @ exp @ fun ) @ ( ty @ hAPP ) ) ) @ ( char @ list @ exp @ ( char @ list @ exp @ hAPP ) ) ) @ ( e @ ( ha @ ( p @ ( wTrt @ ( bool @ ( ty @ fun ) @ ( char @ list @ exp @ fun ) @ ( ty @ option @ ( char @ list @ fun ) @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ fun ) @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( bool @ ( ty @ fun ) @ ( char @ list @ exp @ fun ) @ ( ty @ option @ ( char @ list @ fun ) @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ hAPP ) ) ) @ ( bool @ ( ty @ fun ) @ ( char @ list @ exp @ fun ) @ ( ty @ option @ ( char @ list @ fun ) @ hAPP ) ) ) @ ( bool @ ( ty @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( bool @ ( ty @ hAPP ) ) ) @ hBOOL,
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',fact_38_InitBlockRed_I5_J) ).

thf(749,plain,
    t @ ( ea @ ( v @ ( char @ list @ val_1 @ ( char @ list @ exp @ ( val @ hAPP ) ) ) @ ( v_1 @ ( char @ list @ lAss @ ( char @ list @ exp @ ( char @ list @ exp @ fun ) @ ( char @ list @ hAPP ) ) ) @ ( char @ list @ exp @ ( char @ list @ exp @ hAPP ) ) ) @ ( char @ list @ seq @ ( char @ list @ exp @ ( char @ list @ exp @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( char @ list @ exp @ ( char @ list @ exp @ hAPP ) ) ) @ ( t_1 @ ( v_1 @ ( char @ list @ block @ ( char @ list @ exp @ ( char @ list @ exp @ fun ) @ ( ty @ fun ) @ ( char @ list @ hAPP ) ) ) @ ( char @ list @ exp @ ( char @ list @ exp @ fun ) @ ( ty @ hAPP ) ) ) @ ( char @ list @ exp @ ( char @ list @ exp @ hAPP ) ) ) @ ( e @ ( ha @ ( p @ ( wTrt @ ( bool @ ( ty @ fun ) @ ( char @ list @ exp @ fun ) @ ( ty @ option @ ( char @ list @ fun ) @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ fun ) @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( bool @ ( ty @ fun ) @ ( char @ list @ exp @ fun ) @ ( ty @ option @ ( char @ list @ fun ) @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ hAPP ) ) ) @ ( bool @ ( ty @ fun ) @ ( char @ list @ exp @ fun ) @ ( ty @ option @ ( char @ list @ fun ) @ hAPP ) ) ) @ ( bool @ ( ty @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( bool @ ( ty @ hAPP ) ) ) @ hBOOL,
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[37]) ).

thf(554,axiom,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i,F: $i,G: $i,H: $i] :
      ( ( H @ ( B @ ( A @ product_prod ) @ transitive_rtrancl @ ( bool @ ( B @ ( A @ product_prod ) @ ( B @ ( A @ product_prod ) @ product_prod ) @ fun ) @ ( bool @ ( B @ ( A @ product_prod ) @ ( B @ ( A @ product_prod ) @ product_prod ) @ fun ) @ hAPP ) ) ) @ ( G @ ( F @ ( B @ ( A @ product_Pair ) @ ( B @ ( A @ product_prod ) @ ( B @ fun ) @ ( A @ hAPP ) ) ) @ ( B @ ( A @ product_prod ) @ ( B @ hAPP ) ) ) @ ( E @ ( D @ ( B @ ( A @ product_Pair ) @ ( B @ ( A @ product_prod ) @ ( B @ fun ) @ ( A @ hAPP ) ) ) @ ( B @ ( A @ product_prod ) @ ( B @ hAPP ) ) ) @ ( B @ ( A @ product_prod ) @ ( B @ ( A @ product_prod ) @ product_Pair ) @ ( B @ ( A @ product_prod ) @ ( B @ ( A @ product_prod ) @ product_prod ) @ ( B @ ( A @ product_prod ) @ fun ) @ ( B @ ( A @ product_prod ) @ hAPP ) ) ) @ ( B @ ( A @ product_prod ) @ ( B @ ( A @ product_prod ) @ product_prod ) @ ( B @ ( A @ product_prod ) @ hAPP ) ) ) @ ( B @ ( A @ product_prod ) @ ( B @ ( A @ product_prod ) @ product_prod ) @ member @ ( bool @ ( bool @ ( B @ ( A @ product_prod ) @ ( B @ ( A @ product_prod ) @ product_prod ) @ fun ) @ fun ) @ ( B @ ( A @ product_prod ) @ ( B @ ( A @ product_prod ) @ product_prod ) @ hAPP ) ) ) @ ( bool @ ( bool @ ( B @ ( A @ product_prod ) @ ( B @ ( A @ product_prod ) @ product_prod ) @ fun ) @ hAPP ) ) ) @ hBOOL )
     => ( ( E @ ( D @ ( C @ ( bool @ ( B @ fun ) @ ( A @ hAPP ) ) ) @ ( bool @ ( B @ hAPP ) ) ) @ hBOOL )
       => ( ! [I: $i,J: $i,K: $i,L: $i] :
              ( ( H @ ( B @ ( A @ product_prod ) @ transitive_rtrancl @ ( bool @ ( B @ ( A @ product_prod ) @ ( B @ ( A @ product_prod ) @ product_prod ) @ fun ) @ ( bool @ ( B @ ( A @ product_prod ) @ ( B @ ( A @ product_prod ) @ product_prod ) @ fun ) @ hAPP ) ) ) @ ( J @ ( I @ ( B @ ( A @ product_Pair ) @ ( B @ ( A @ product_prod ) @ ( B @ fun ) @ ( A @ hAPP ) ) ) @ ( B @ ( A @ product_prod ) @ ( B @ hAPP ) ) ) @ ( E @ ( D @ ( B @ ( A @ product_Pair ) @ ( B @ ( A @ product_prod ) @ ( B @ fun ) @ ( A @ hAPP ) ) ) @ ( B @ ( A @ product_prod ) @ ( B @ hAPP ) ) ) @ ( B @ ( A @ product_prod ) @ ( B @ ( A @ product_prod ) @ product_Pair ) @ ( B @ ( A @ product_prod ) @ ( B @ ( A @ product_prod ) @ product_prod ) @ ( B @ ( A @ product_prod ) @ fun ) @ ( B @ ( A @ product_prod ) @ hAPP ) ) ) @ ( B @ ( A @ product_prod ) @ ( B @ ( A @ product_prod ) @ product_prod ) @ ( B @ ( A @ product_prod ) @ hAPP ) ) ) @ ( B @ ( A @ product_prod ) @ ( B @ ( A @ product_prod ) @ product_prod ) @ member @ ( bool @ ( bool @ ( B @ ( A @ product_prod ) @ ( B @ ( A @ product_prod ) @ product_prod ) @ fun ) @ fun ) @ ( B @ ( A @ product_prod ) @ ( B @ ( A @ product_prod ) @ product_prod ) @ hAPP ) ) ) @ ( bool @ ( bool @ ( B @ ( A @ product_prod ) @ ( B @ ( A @ product_prod ) @ product_prod ) @ fun ) @ hAPP ) ) ) @ hBOOL )
             => ( ( H @ ( L @ ( K @ ( B @ ( A @ product_Pair ) @ ( B @ ( A @ product_prod ) @ ( B @ fun ) @ ( A @ hAPP ) ) ) @ ( B @ ( A @ product_prod ) @ ( B @ hAPP ) ) ) @ ( J @ ( I @ ( B @ ( A @ product_Pair ) @ ( B @ ( A @ product_prod ) @ ( B @ fun ) @ ( A @ hAPP ) ) ) @ ( B @ ( A @ product_prod ) @ ( B @ hAPP ) ) ) @ ( B @ ( A @ product_prod ) @ ( B @ ( A @ product_prod ) @ product_Pair ) @ ( B @ ( A @ product_prod ) @ ( B @ ( A @ product_prod ) @ product_prod ) @ ( B @ ( A @ product_prod ) @ fun ) @ ( B @ ( A @ product_prod ) @ hAPP ) ) ) @ ( B @ ( A @ product_prod ) @ ( B @ ( A @ product_prod ) @ product_prod ) @ ( B @ ( A @ product_prod ) @ hAPP ) ) ) @ ( B @ ( A @ product_prod ) @ ( B @ ( A @ product_prod ) @ product_prod ) @ member @ ( bool @ ( bool @ ( B @ ( A @ product_prod ) @ ( B @ ( A @ product_prod ) @ product_prod ) @ fun ) @ fun ) @ ( B @ ( A @ product_prod ) @ ( B @ ( A @ product_prod ) @ product_prod ) @ hAPP ) ) ) @ ( bool @ ( bool @ ( B @ ( A @ product_prod ) @ ( B @ ( A @ product_prod ) @ product_prod ) @ fun ) @ hAPP ) ) ) @ hBOOL )
               => ( ( J @ ( I @ ( C @ ( bool @ ( B @ fun ) @ ( A @ hAPP ) ) ) @ ( bool @ ( B @ hAPP ) ) ) @ hBOOL )
                 => ( L @ ( K @ ( C @ ( bool @ ( B @ fun ) @ ( A @ hAPP ) ) ) @ ( bool @ ( B @ hAPP ) ) ) @ hBOOL ) ) ) )
         => ( G @ ( F @ ( C @ ( bool @ ( B @ fun ) @ ( A @ hAPP ) ) ) @ ( bool @ ( B @ hAPP ) ) ) @ hBOOL ) ) ) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',fact_179_rtrancl__induct2) ).

thf(2629,plain,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i,F: $i,G: $i,H: $i] :
      ( ( H @ ( B @ ( A @ product_prod ) @ transitive_rtrancl @ ( bool @ ( B @ ( A @ product_prod ) @ ( B @ ( A @ product_prod ) @ product_prod ) @ fun ) @ ( bool @ ( B @ ( A @ product_prod ) @ ( B @ ( A @ product_prod ) @ product_prod ) @ fun ) @ hAPP ) ) ) @ ( G @ ( F @ ( B @ ( A @ product_Pair ) @ ( B @ ( A @ product_prod ) @ ( B @ fun ) @ ( A @ hAPP ) ) ) @ ( B @ ( A @ product_prod ) @ ( B @ hAPP ) ) ) @ ( E @ ( D @ ( B @ ( A @ product_Pair ) @ ( B @ ( A @ product_prod ) @ ( B @ fun ) @ ( A @ hAPP ) ) ) @ ( B @ ( A @ product_prod ) @ ( B @ hAPP ) ) ) @ ( B @ ( A @ product_prod ) @ ( B @ ( A @ product_prod ) @ product_Pair ) @ ( B @ ( A @ product_prod ) @ ( B @ ( A @ product_prod ) @ product_prod ) @ ( B @ ( A @ product_prod ) @ fun ) @ ( B @ ( A @ product_prod ) @ hAPP ) ) ) @ ( B @ ( A @ product_prod ) @ ( B @ ( A @ product_prod ) @ product_prod ) @ ( B @ ( A @ product_prod ) @ hAPP ) ) ) @ ( B @ ( A @ product_prod ) @ ( B @ ( A @ product_prod ) @ product_prod ) @ member @ ( bool @ ( bool @ ( B @ ( A @ product_prod ) @ ( B @ ( A @ product_prod ) @ product_prod ) @ fun ) @ fun ) @ ( B @ ( A @ product_prod ) @ ( B @ ( A @ product_prod ) @ product_prod ) @ hAPP ) ) ) @ ( bool @ ( bool @ ( B @ ( A @ product_prod ) @ ( B @ ( A @ product_prod ) @ product_prod ) @ fun ) @ hAPP ) ) ) @ hBOOL )
     => ( ( E @ ( D @ ( C @ ( bool @ ( B @ fun ) @ ( A @ hAPP ) ) ) @ ( bool @ ( B @ hAPP ) ) ) @ hBOOL )
       => ( ! [I: $i,J: $i,K: $i,L: $i] :
              ( ( H @ ( B @ ( A @ product_prod ) @ transitive_rtrancl @ ( bool @ ( B @ ( A @ product_prod ) @ ( B @ ( A @ product_prod ) @ product_prod ) @ fun ) @ ( bool @ ( B @ ( A @ product_prod ) @ ( B @ ( A @ product_prod ) @ product_prod ) @ fun ) @ hAPP ) ) ) @ ( J @ ( I @ ( B @ ( A @ product_Pair ) @ ( B @ ( A @ product_prod ) @ ( B @ fun ) @ ( A @ hAPP ) ) ) @ ( B @ ( A @ product_prod ) @ ( B @ hAPP ) ) ) @ ( E @ ( D @ ( B @ ( A @ product_Pair ) @ ( B @ ( A @ product_prod ) @ ( B @ fun ) @ ( A @ hAPP ) ) ) @ ( B @ ( A @ product_prod ) @ ( B @ hAPP ) ) ) @ ( B @ ( A @ product_prod ) @ ( B @ ( A @ product_prod ) @ product_Pair ) @ ( B @ ( A @ product_prod ) @ ( B @ ( A @ product_prod ) @ product_prod ) @ ( B @ ( A @ product_prod ) @ fun ) @ ( B @ ( A @ product_prod ) @ hAPP ) ) ) @ ( B @ ( A @ product_prod ) @ ( B @ ( A @ product_prod ) @ product_prod ) @ ( B @ ( A @ product_prod ) @ hAPP ) ) ) @ ( B @ ( A @ product_prod ) @ ( B @ ( A @ product_prod ) @ product_prod ) @ member @ ( bool @ ( bool @ ( B @ ( A @ product_prod ) @ ( B @ ( A @ product_prod ) @ product_prod ) @ fun ) @ fun ) @ ( B @ ( A @ product_prod ) @ ( B @ ( A @ product_prod ) @ product_prod ) @ hAPP ) ) ) @ ( bool @ ( bool @ ( B @ ( A @ product_prod ) @ ( B @ ( A @ product_prod ) @ product_prod ) @ fun ) @ hAPP ) ) ) @ hBOOL )
             => ( ( H @ ( L @ ( K @ ( B @ ( A @ product_Pair ) @ ( B @ ( A @ product_prod ) @ ( B @ fun ) @ ( A @ hAPP ) ) ) @ ( B @ ( A @ product_prod ) @ ( B @ hAPP ) ) ) @ ( J @ ( I @ ( B @ ( A @ product_Pair ) @ ( B @ ( A @ product_prod ) @ ( B @ fun ) @ ( A @ hAPP ) ) ) @ ( B @ ( A @ product_prod ) @ ( B @ hAPP ) ) ) @ ( B @ ( A @ product_prod ) @ ( B @ ( A @ product_prod ) @ product_Pair ) @ ( B @ ( A @ product_prod ) @ ( B @ ( A @ product_prod ) @ product_prod ) @ ( B @ ( A @ product_prod ) @ fun ) @ ( B @ ( A @ product_prod ) @ hAPP ) ) ) @ ( B @ ( A @ product_prod ) @ ( B @ ( A @ product_prod ) @ product_prod ) @ ( B @ ( A @ product_prod ) @ hAPP ) ) ) @ ( B @ ( A @ product_prod ) @ ( B @ ( A @ product_prod ) @ product_prod ) @ member @ ( bool @ ( bool @ ( B @ ( A @ product_prod ) @ ( B @ ( A @ product_prod ) @ product_prod ) @ fun ) @ fun ) @ ( B @ ( A @ product_prod ) @ ( B @ ( A @ product_prod ) @ product_prod ) @ hAPP ) ) ) @ ( bool @ ( bool @ ( B @ ( A @ product_prod ) @ ( B @ ( A @ product_prod ) @ product_prod ) @ fun ) @ hAPP ) ) ) @ hBOOL )
               => ( ( J @ ( I @ ( C @ ( bool @ ( B @ fun ) @ ( A @ hAPP ) ) ) @ ( bool @ ( B @ hAPP ) ) ) @ hBOOL )
                 => ( L @ ( K @ ( C @ ( bool @ ( B @ fun ) @ ( A @ hAPP ) ) ) @ ( bool @ ( B @ hAPP ) ) ) @ hBOOL ) ) ) )
         => ( G @ ( F @ ( C @ ( bool @ ( B @ fun ) @ ( A @ hAPP ) ) ) @ ( bool @ ( B @ hAPP ) ) ) @ hBOOL ) ) ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[554]) ).

thf(572,axiom,
    ! [A: $i,B: $i,C: $i,D: $i] :
      ( ( C @ ( B @ ( A @ while @ ( A @ exp @ ( A @ exp @ fun ) @ ( A @ exp @ hAPP ) ) ) @ ( A @ exp @ ( A @ exp @ hAPP ) ) ) )
     != ( D @ ( A @ throw @ ( A @ exp @ ( A @ exp @ hAPP ) ) ) ) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',fact_483_exp_Osimps_I220_J) ).

thf(2684,plain,
    ! [A: $i,B: $i,C: $i,D: $i] :
      ( ( C @ ( B @ ( A @ while @ ( A @ exp @ ( A @ exp @ fun ) @ ( A @ exp @ hAPP ) ) ) @ ( A @ exp @ ( A @ exp @ hAPP ) ) ) )
     != ( D @ ( A @ throw @ ( A @ exp @ ( A @ exp @ hAPP ) ) ) ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[572]) ).

thf(423,axiom,
    ! [A: $i] :
      ( ( A @ ( fNot @ ( bool @ ( bool @ hAPP ) ) ) @ hBOOL )
      | ( A @ hBOOL ) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',help_fNot_2_1_U) ).

thf(2202,plain,
    ! [A: $i] :
      ( ( A @ ( fNot @ ( bool @ ( bool @ hAPP ) ) ) @ hBOOL )
      | ( A @ hBOOL ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[423]) ).

thf(110,axiom,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i,F: $i] :
      ( ( F @ ( red @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( E @ ( D @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ ( C @ ( B @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ member @ ( bool @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ hAPP ) ) ) @ ( bool @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ hAPP ) ) ) @ hBOOL )
     => ( F @ ( red @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( E @ ( A @ ( D @ ( char @ list @ seq @ ( char @ list @ exp @ ( char @ list @ exp @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( char @ list @ exp @ ( char @ list @ exp @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ ( C @ ( A @ ( B @ ( char @ list @ seq @ ( char @ list @ exp @ ( char @ list @ exp @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( char @ list @ exp @ ( char @ list @ exp @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ member @ ( bool @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ hAPP ) ) ) @ ( bool @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ hAPP ) ) ) @ hBOOL ) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',fact_79_red__reds_OSeqRed) ).

thf(1003,plain,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i,F: $i] :
      ( ( F @ ( red @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( E @ ( D @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ ( C @ ( B @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ member @ ( bool @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ hAPP ) ) ) @ ( bool @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ hAPP ) ) ) @ hBOOL )
     => ( F @ ( red @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( E @ ( A @ ( D @ ( char @ list @ seq @ ( char @ list @ exp @ ( char @ list @ exp @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( char @ list @ exp @ ( char @ list @ exp @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ ( C @ ( A @ ( B @ ( char @ list @ seq @ ( char @ list @ exp @ ( char @ list @ exp @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( char @ list @ exp @ ( char @ list @ exp @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ member @ ( bool @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ hAPP ) ) ) @ ( bool @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ hAPP ) ) ) @ hBOOL ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[110]) ).

thf(355,axiom,
    ! [A: $i,B: $i,C: $i,D: $i] :
      ( ( D @ ( C @ ( A @ ( B @ hAPP ) ) ) @ ( A @ ti ) )
      = ( D @ ( C @ ( A @ ( B @ hAPP ) ) ) ) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',tsy_c_hAPP_res) ).

thf(1961,plain,
    ! [A: $i,B: $i,C: $i,D: $i] :
      ( ( D @ ( C @ ( A @ ( B @ hAPP ) ) ) @ ( A @ ti ) )
      = ( D @ ( C @ ( A @ ( B @ hAPP ) ) ) ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[355]) ).

thf(128,axiom,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i,F: $i,G: $i,H: $i] :
      ( ( H @ ( red @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ transitive_rtrancl @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ hAPP ) ) ) @ ( G @ ( F @ ( char @ list @ val_1 @ ( char @ list @ exp @ ( val @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ ( E @ ( D @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ member @ ( bool @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ hAPP ) ) ) @ ( bool @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ hAPP ) ) ) @ hBOOL )
     => ( H @ ( red @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ transitive_rtrancl @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ hAPP ) ) ) @ ( G @ ( F @ ( char @ list @ val_1 @ ( char @ list @ exp @ ( val @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ ( E @ ( C @ ( B @ ( A @ ( D @ ( char @ list @ tryCatch @ ( char @ list @ exp @ ( char @ list @ exp @ fun ) @ ( char @ list @ fun ) @ ( char @ list @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( char @ list @ exp @ ( char @ list @ exp @ fun ) @ ( char @ list @ fun ) @ ( char @ list @ hAPP ) ) ) @ ( char @ list @ exp @ ( char @ list @ exp @ fun ) @ ( char @ list @ hAPP ) ) ) @ ( char @ list @ exp @ ( char @ list @ exp @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ member @ ( bool @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ hAPP ) ) ) @ ( bool @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ hAPP ) ) ) @ hBOOL ) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',fact_317_TryRedsVal) ).

thf(1070,plain,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i,F: $i,G: $i,H: $i] :
      ( ( H @ ( red @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ transitive_rtrancl @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ hAPP ) ) ) @ ( G @ ( F @ ( char @ list @ val_1 @ ( char @ list @ exp @ ( val @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ ( E @ ( D @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ member @ ( bool @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ hAPP ) ) ) @ ( bool @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ hAPP ) ) ) @ hBOOL )
     => ( H @ ( red @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ transitive_rtrancl @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ hAPP ) ) ) @ ( G @ ( F @ ( char @ list @ val_1 @ ( char @ list @ exp @ ( val @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ ( E @ ( C @ ( B @ ( A @ ( D @ ( char @ list @ tryCatch @ ( char @ list @ exp @ ( char @ list @ exp @ fun ) @ ( char @ list @ fun ) @ ( char @ list @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( char @ list @ exp @ ( char @ list @ exp @ fun ) @ ( char @ list @ fun ) @ ( char @ list @ hAPP ) ) ) @ ( char @ list @ exp @ ( char @ list @ exp @ fun ) @ ( char @ list @ hAPP ) ) ) @ ( char @ list @ exp @ ( char @ list @ exp @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ member @ ( bool @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ hAPP ) ) ) @ ( bool @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ hAPP ) ) ) @ hBOOL ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[128]) ).

thf(32,axiom,
    ! [A: $i,B: $i,C: $i,D: $i] :
      ( ( D @ ( null @ ( char @ list @ val_1 @ ( char @ list @ exp @ ( val @ hAPP ) ) ) @ ( C @ ( B @ ( A @ ( eval @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ hBOOL )
     => ( D @ ( nullPointer @ ( addr_of_sys_xcpt @ ( nat @ ( char @ list @ hAPP ) ) ) @ ( addr @ ( val @ ( nat @ hAPP ) ) ) @ ( char @ list @ val_1 @ ( char @ list @ exp @ ( val @ hAPP ) ) ) @ ( char @ list @ throw @ ( char @ list @ exp @ ( char @ list @ exp @ hAPP ) ) ) @ ( C @ ( B @ ( char @ list @ throw @ ( char @ list @ exp @ ( char @ list @ exp @ hAPP ) ) ) @ ( A @ ( eval @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ hBOOL ) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',fact_398_ThrowNull) ).

thf(707,plain,
    ! [A: $i,B: $i,C: $i,D: $i] :
      ( ( D @ ( null @ ( char @ list @ val_1 @ ( char @ list @ exp @ ( val @ hAPP ) ) ) @ ( C @ ( B @ ( A @ ( eval @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ hBOOL )
     => ( D @ ( nullPointer @ ( addr_of_sys_xcpt @ ( nat @ ( char @ list @ hAPP ) ) ) @ ( addr @ ( val @ ( nat @ hAPP ) ) ) @ ( char @ list @ val_1 @ ( char @ list @ exp @ ( val @ hAPP ) ) ) @ ( char @ list @ throw @ ( char @ list @ exp @ ( char @ list @ exp @ hAPP ) ) ) @ ( C @ ( B @ ( char @ list @ throw @ ( char @ list @ exp @ ( char @ list @ exp @ hAPP ) ) ) @ ( A @ ( eval @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ hBOOL ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[32]) ).

thf(254,axiom,
    ! [A: $i,B: $i] :
      ( ( A @ hBOOL )
      | ~ ( B @ ( A @ ( fconj @ ( bool @ ( bool @ fun ) @ ( bool @ hAPP ) ) ) @ ( bool @ ( bool @ hAPP ) ) ) @ hBOOL ) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',help_fconj_2_1_U) ).

thf(1566,plain,
    ! [A: $i,B: $i] :
      ( ( A @ hBOOL )
      | ~ ( B @ ( A @ ( fconj @ ( bool @ ( bool @ fun ) @ ( bool @ hAPP ) ) ) @ ( bool @ ( bool @ hAPP ) ) ) @ hBOOL ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[254]) ).

thf(478,axiom,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i] :
      ( ( E @ ( D @ ( C @ ( A @ transitive_rtranclp @ ( bool @ ( A @ fun ) @ ( A @ fun ) @ ( bool @ ( A @ fun ) @ ( A @ fun ) @ hAPP ) ) ) @ ( bool @ ( A @ fun ) @ ( A @ hAPP ) ) ) @ ( bool @ ( A @ hAPP ) ) ) @ hBOOL )
     => ( ( B @ ( E @ ( C @ ( A @ transitive_rtranclp @ ( bool @ ( A @ fun ) @ ( A @ fun ) @ ( bool @ ( A @ fun ) @ ( A @ fun ) @ hAPP ) ) ) @ ( bool @ ( A @ fun ) @ ( A @ hAPP ) ) ) @ ( bool @ ( A @ hAPP ) ) ) @ hBOOL )
       => ( B @ ( D @ ( C @ ( A @ transitive_rtranclp @ ( bool @ ( A @ fun ) @ ( A @ fun ) @ ( bool @ ( A @ fun ) @ ( A @ fun ) @ hAPP ) ) ) @ ( bool @ ( A @ fun ) @ ( A @ hAPP ) ) ) @ ( bool @ ( A @ hAPP ) ) ) @ hBOOL ) ) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',fact_368_rtranclp__trans) ).

thf(2386,plain,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i] :
      ( ( E @ ( D @ ( C @ ( A @ transitive_rtranclp @ ( bool @ ( A @ fun ) @ ( A @ fun ) @ ( bool @ ( A @ fun ) @ ( A @ fun ) @ hAPP ) ) ) @ ( bool @ ( A @ fun ) @ ( A @ hAPP ) ) ) @ ( bool @ ( A @ hAPP ) ) ) @ hBOOL )
     => ( ( B @ ( E @ ( C @ ( A @ transitive_rtranclp @ ( bool @ ( A @ fun ) @ ( A @ fun ) @ ( bool @ ( A @ fun ) @ ( A @ fun ) @ hAPP ) ) ) @ ( bool @ ( A @ fun ) @ ( A @ hAPP ) ) ) @ ( bool @ ( A @ hAPP ) ) ) @ hBOOL )
       => ( B @ ( D @ ( C @ ( A @ transitive_rtranclp @ ( bool @ ( A @ fun ) @ ( A @ fun ) @ ( bool @ ( A @ fun ) @ ( A @ fun ) @ hAPP ) ) ) @ ( bool @ ( A @ fun ) @ ( A @ hAPP ) ) ) @ ( bool @ ( A @ hAPP ) ) ) @ hBOOL ) ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[478]) ).

thf(586,axiom,
    ! [A: $i] :
      ( ( A @ cast @ ( A @ exp @ ( A @ exp @ fun ) @ ( char @ list @ fun ) @ ti ) )
      = ( A @ cast ) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',tsy_c_Expr_Oexp_OCast_res) ).

thf(2720,plain,
    ! [A: $i] :
      ( ( A @ cast @ ( A @ exp @ ( A @ exp @ fun ) @ ( char @ list @ fun ) @ ti ) )
      = ( A @ cast ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[586]) ).

thf(245,axiom,
    ! [A: $i,B: $i] :
      ( ( B @ ( A @ combk ) @ ( A @ ( B @ fun ) @ ( A @ fun ) @ ti ) )
      = ( B @ ( A @ combk ) ) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',tsy_c_COMBK_res) ).

thf(1531,plain,
    ! [A: $i,B: $i] :
      ( ( B @ ( A @ combk ) @ ( A @ ( B @ fun ) @ ( A @ fun ) @ ti ) )
      = ( B @ ( A @ combk ) ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[245]) ).

thf(108,axiom,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i] :
      ( ( D @ ( C @ ( B @ ( A @ block @ ( A @ exp @ ( A @ exp @ fun ) @ ( ty @ fun ) @ ( A @ hAPP ) ) ) @ ( A @ exp @ ( A @ exp @ fun ) @ ( ty @ hAPP ) ) ) @ ( A @ exp @ ( A @ exp @ hAPP ) ) ) )
     != ( E @ ( A @ val_1 @ ( A @ exp @ ( val @ hAPP ) ) ) ) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',fact_117_exp_Osimps_I83_J) ).

thf(993,plain,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i] :
      ( ( D @ ( C @ ( B @ ( A @ block @ ( A @ exp @ ( A @ exp @ fun ) @ ( ty @ fun ) @ ( A @ hAPP ) ) ) @ ( A @ exp @ ( A @ exp @ fun ) @ ( ty @ hAPP ) ) ) @ ( A @ exp @ ( A @ exp @ hAPP ) ) ) )
     != ( E @ ( A @ val_1 @ ( A @ exp @ ( val @ hAPP ) ) ) ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[108]) ).

thf(46,axiom,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i] :
      ( ( C @ ( B @ ( A @ lAss @ ( A @ exp @ ( A @ exp @ fun ) @ ( A @ hAPP ) ) ) @ ( A @ exp @ ( A @ exp @ hAPP ) ) ) )
     != ( E @ ( D @ ( A @ seq @ ( A @ exp @ ( A @ exp @ fun ) @ ( A @ exp @ hAPP ) ) ) @ ( A @ exp @ ( A @ exp @ hAPP ) ) ) ) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',fact_120_exp_Osimps_I144_J) ).

thf(776,plain,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i] :
      ( ( C @ ( B @ ( A @ lAss @ ( A @ exp @ ( A @ exp @ fun ) @ ( A @ hAPP ) ) ) @ ( A @ exp @ ( A @ exp @ hAPP ) ) ) )
     != ( E @ ( D @ ( A @ seq @ ( A @ exp @ ( A @ exp @ fun ) @ ( A @ exp @ hAPP ) ) ) @ ( A @ exp @ ( A @ exp @ hAPP ) ) ) ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[46]) ).

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] :
      ( ( K @ ( red @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ transitive_rtrancl @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ hAPP ) ) ) @ ( J @ ( I @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ hAPP ) ) ) @ ( H @ ( addr @ ( val @ ( nat @ hAPP ) ) ) @ ( char @ list @ val_1 @ ( char @ list @ exp @ ( val @ hAPP ) ) ) @ ( char @ list @ throw @ ( char @ list @ exp @ ( char @ list @ exp @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ ( G @ ( F @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ member @ ( bool @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ hAPP ) ) ) @ ( bool @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ hAPP ) ) ) @ hBOOL )
     => ( ( ( H @ ( I @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ hAPP ) ) ) )
          = ( E @ ( D @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_Pair ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ fun ) @ ( char @ list @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ some @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ hAPP ) ) ) ) )
       => ( ~ ( K @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ subcls1 @ ( bool @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( char @ list @ transitive_rtrancl @ ( bool @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( bool @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ hAPP ) ) ) @ ( C @ ( D @ ( char @ list @ ( char @ list @ product_Pair ) @ ( char @ list @ ( char @ list @ product_prod ) @ ( char @ list @ fun ) @ ( char @ list @ hAPP ) ) ) @ ( char @ list @ ( char @ list @ product_prod ) @ ( char @ list @ hAPP ) ) ) @ ( char @ list @ ( char @ list @ product_prod ) @ member @ ( bool @ ( bool @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ fun ) @ ( char @ list @ ( char @ list @ product_prod ) @ hAPP ) ) ) @ ( bool @ ( bool @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ hAPP ) ) ) @ hBOOL )
         => ( K @ ( red @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ transitive_rtrancl @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ hAPP ) ) ) @ ( J @ ( I @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ hAPP ) ) ) @ ( H @ ( addr @ ( val @ ( nat @ hAPP ) ) ) @ ( char @ list @ val_1 @ ( char @ list @ exp @ ( val @ hAPP ) ) ) @ ( char @ list @ throw @ ( char @ list @ exp @ ( char @ list @ exp @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ ( G @ ( B @ ( A @ ( C @ ( F @ ( char @ list @ tryCatch @ ( char @ list @ exp @ ( char @ list @ exp @ fun ) @ ( char @ list @ fun ) @ ( char @ list @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( char @ list @ exp @ ( char @ list @ exp @ fun ) @ ( char @ list @ fun ) @ ( char @ list @ hAPP ) ) ) @ ( char @ list @ exp @ ( char @ list @ exp @ fun ) @ ( char @ list @ hAPP ) ) ) @ ( char @ list @ exp @ ( char @ list @ exp @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ member @ ( bool @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ hAPP ) ) ) @ ( bool @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ hAPP ) ) ) @ hBOOL ) ) ) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',fact_320_TryRedsFail) ).

thf(1748,plain,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i,F: $i,G: $i,H: $i,I: $i,J: $i,K: $i] :
      ( ( K @ ( red @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ transitive_rtrancl @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ hAPP ) ) ) @ ( J @ ( I @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ hAPP ) ) ) @ ( H @ ( addr @ ( val @ ( nat @ hAPP ) ) ) @ ( char @ list @ val_1 @ ( char @ list @ exp @ ( val @ hAPP ) ) ) @ ( char @ list @ throw @ ( char @ list @ exp @ ( char @ list @ exp @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ ( G @ ( F @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ member @ ( bool @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ hAPP ) ) ) @ ( bool @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ hAPP ) ) ) @ hBOOL )
     => ( ( ( H @ ( I @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ hAPP ) ) ) )
          = ( E @ ( D @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_Pair ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ fun ) @ ( char @ list @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ some @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ hAPP ) ) ) ) )
       => ( ~ ( K @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ subcls1 @ ( bool @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( char @ list @ transitive_rtrancl @ ( bool @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( bool @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ hAPP ) ) ) @ ( C @ ( D @ ( char @ list @ ( char @ list @ product_Pair ) @ ( char @ list @ ( char @ list @ product_prod ) @ ( char @ list @ fun ) @ ( char @ list @ hAPP ) ) ) @ ( char @ list @ ( char @ list @ product_prod ) @ ( char @ list @ hAPP ) ) ) @ ( char @ list @ ( char @ list @ product_prod ) @ member @ ( bool @ ( bool @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ fun ) @ ( char @ list @ ( char @ list @ product_prod ) @ hAPP ) ) ) @ ( bool @ ( bool @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ hAPP ) ) ) @ hBOOL )
         => ( K @ ( red @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ transitive_rtrancl @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ hAPP ) ) ) @ ( J @ ( I @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ hAPP ) ) ) @ ( H @ ( addr @ ( val @ ( nat @ hAPP ) ) ) @ ( char @ list @ val_1 @ ( char @ list @ exp @ ( val @ hAPP ) ) ) @ ( char @ list @ throw @ ( char @ list @ exp @ ( char @ list @ exp @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ ( G @ ( B @ ( A @ ( C @ ( F @ ( char @ list @ tryCatch @ ( char @ list @ exp @ ( char @ list @ exp @ fun ) @ ( char @ list @ fun ) @ ( char @ list @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( char @ list @ exp @ ( char @ list @ exp @ fun ) @ ( char @ list @ fun ) @ ( char @ list @ hAPP ) ) ) @ ( char @ list @ exp @ ( char @ list @ exp @ fun ) @ ( char @ list @ hAPP ) ) ) @ ( char @ list @ exp @ ( char @ list @ exp @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ member @ ( bool @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ hAPP ) ) ) @ ( bool @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ hAPP ) ) ) @ hBOOL ) ) ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[303]) ).

thf(314,axiom,
    ( ( red @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ fun ) @ ti ) )
    = red ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',tsy_c_SmallStep_Ored_res) ).

thf(1798,plain,
    ( ( red @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ fun ) @ ti ) )
    = red ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[314]) ).

thf(452,axiom,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i,F: $i,G: $i] :
      ( ( E @ ( D @ ( C @ ( B @ ( A @ tryCatch @ ( A @ exp @ ( A @ exp @ fun ) @ ( A @ fun ) @ ( char @ list @ fun ) @ ( A @ exp @ hAPP ) ) ) @ ( A @ exp @ ( A @ exp @ fun ) @ ( A @ fun ) @ ( char @ list @ hAPP ) ) ) @ ( A @ exp @ ( A @ exp @ fun ) @ ( A @ hAPP ) ) ) @ ( A @ exp @ ( A @ exp @ hAPP ) ) ) )
     != ( G @ ( F @ ( A @ cast @ ( A @ exp @ ( A @ exp @ fun ) @ ( char @ list @ hAPP ) ) ) @ ( A @ exp @ ( A @ exp @ hAPP ) ) ) ) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',fact_327_exp_Osimps_I69_J) ).

thf(2298,plain,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i,F: $i,G: $i] :
      ( ( E @ ( D @ ( C @ ( B @ ( A @ tryCatch @ ( A @ exp @ ( A @ exp @ fun ) @ ( A @ fun ) @ ( char @ list @ fun ) @ ( A @ exp @ hAPP ) ) ) @ ( A @ exp @ ( A @ exp @ fun ) @ ( A @ fun ) @ ( char @ list @ hAPP ) ) ) @ ( A @ exp @ ( A @ exp @ fun ) @ ( A @ hAPP ) ) ) @ ( A @ exp @ ( A @ exp @ hAPP ) ) ) )
     != ( G @ ( F @ ( A @ cast @ ( A @ exp @ ( A @ exp @ fun ) @ ( char @ list @ hAPP ) ) ) @ ( A @ exp @ ( A @ exp @ hAPP ) ) ) ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[452]) ).

thf(265,axiom,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i,F: $i] : ( F @ ( E @ ( addr @ ( val @ ( nat @ hAPP ) ) ) @ ( char @ list @ val_1 @ ( char @ list @ exp @ ( val @ hAPP ) ) ) @ ( char @ list @ throw @ ( char @ list @ exp @ ( char @ list @ exp @ hAPP ) ) ) @ ( F @ ( E @ ( addr @ ( val @ ( nat @ hAPP ) ) ) @ ( char @ list @ val_1 @ ( char @ list @ exp @ ( val @ hAPP ) ) ) @ ( char @ list @ throw @ ( char @ list @ exp @ ( char @ list @ exp @ hAPP ) ) ) @ ( D @ ( char @ list @ val_1 @ ( char @ list @ exp @ ( val @ hAPP ) ) ) @ ( B @ ( char @ list @ lAss @ ( char @ list @ exp @ ( char @ list @ exp @ fun ) @ ( char @ list @ hAPP ) ) ) @ ( char @ list @ exp @ ( char @ list @ exp @ hAPP ) ) ) @ ( char @ list @ seq @ ( char @ list @ exp @ ( char @ list @ exp @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( char @ list @ exp @ ( char @ list @ exp @ hAPP ) ) ) @ ( C @ ( B @ ( char @ list @ block @ ( char @ list @ exp @ ( char @ list @ exp @ fun ) @ ( ty @ fun ) @ ( char @ list @ hAPP ) ) ) @ ( char @ list @ exp @ ( char @ list @ exp @ fun ) @ ( ty @ hAPP ) ) ) @ ( char @ list @ exp @ ( char @ list @ exp @ hAPP ) ) ) @ ( A @ ( redp @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ hBOOL ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',fact_243_redp__redsp_OInitBlockThrow) ).

thf(1605,plain,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i,F: $i] : ( F @ ( E @ ( addr @ ( val @ ( nat @ hAPP ) ) ) @ ( char @ list @ val_1 @ ( char @ list @ exp @ ( val @ hAPP ) ) ) @ ( char @ list @ throw @ ( char @ list @ exp @ ( char @ list @ exp @ hAPP ) ) ) @ ( F @ ( E @ ( addr @ ( val @ ( nat @ hAPP ) ) ) @ ( char @ list @ val_1 @ ( char @ list @ exp @ ( val @ hAPP ) ) ) @ ( char @ list @ throw @ ( char @ list @ exp @ ( char @ list @ exp @ hAPP ) ) ) @ ( D @ ( char @ list @ val_1 @ ( char @ list @ exp @ ( val @ hAPP ) ) ) @ ( B @ ( char @ list @ lAss @ ( char @ list @ exp @ ( char @ list @ exp @ fun ) @ ( char @ list @ hAPP ) ) ) @ ( char @ list @ exp @ ( char @ list @ exp @ hAPP ) ) ) @ ( char @ list @ seq @ ( char @ list @ exp @ ( char @ list @ exp @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( char @ list @ exp @ ( char @ list @ exp @ hAPP ) ) ) @ ( C @ ( B @ ( char @ list @ block @ ( char @ list @ exp @ ( char @ list @ exp @ fun ) @ ( ty @ fun ) @ ( char @ list @ hAPP ) ) ) @ ( char @ list @ exp @ ( char @ list @ exp @ fun ) @ ( ty @ hAPP ) ) ) @ ( char @ list @ exp @ ( char @ list @ exp @ hAPP ) ) ) @ ( A @ ( redp @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ hBOOL ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[265]) ).

thf(540,axiom,
    ( ( is_refT @ ( bool @ ( ty @ fun ) @ ti ) )
    = is_refT ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',tsy_c_Type_Ois__refT_res) ).

thf(2588,plain,
    ( ( is_refT @ ( bool @ ( ty @ fun ) @ ti ) )
    = is_refT ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[540]) ).

thf(166,axiom,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i,F: $i] :
      ( ( C @ ( B @ ( A @ cast @ ( A @ exp @ ( A @ exp @ fun ) @ ( char @ list @ hAPP ) ) ) @ ( A @ exp @ ( A @ exp @ hAPP ) ) ) )
     != ( F @ ( E @ ( D @ ( A @ block @ ( A @ exp @ ( A @ exp @ fun ) @ ( ty @ fun ) @ ( A @ hAPP ) ) ) @ ( A @ exp @ ( A @ exp @ fun ) @ ( ty @ hAPP ) ) ) @ ( A @ exp @ ( A @ exp @ hAPP ) ) ) ) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',fact_335_exp_Osimps_I58_J) ).

thf(1230,plain,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i,F: $i] :
      ( ( C @ ( B @ ( A @ cast @ ( A @ exp @ ( A @ exp @ fun ) @ ( char @ list @ hAPP ) ) ) @ ( A @ exp @ ( A @ exp @ hAPP ) ) ) )
     != ( F @ ( E @ ( D @ ( A @ block @ ( A @ exp @ ( A @ exp @ fun ) @ ( ty @ fun ) @ ( A @ hAPP ) ) ) @ ( A @ exp @ ( A @ exp @ fun ) @ ( ty @ hAPP ) ) ) @ ( A @ exp @ ( A @ exp @ hAPP ) ) ) ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[166]) ).

thf(233,axiom,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i,F: $i,G: $i] :
      ( ( G @ ( F @ ( char @ list @ throw @ ( char @ list @ exp @ ( char @ list @ exp @ hAPP ) ) ) @ ( E @ ( D @ ( C @ ( eval @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ hBOOL )
     => ( G @ ( F @ ( char @ list @ throw @ ( char @ list @ exp @ ( char @ list @ exp @ hAPP ) ) ) @ ( E @ ( B @ ( A @ ( D @ ( char @ list @ fAcc @ ( char @ list @ exp @ ( char @ list @ fun ) @ ( char @ list @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( char @ list @ exp @ ( char @ list @ fun ) @ ( char @ list @ hAPP ) ) ) @ ( char @ list @ exp @ ( char @ list @ hAPP ) ) ) @ ( C @ ( eval @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ hBOOL ) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',fact_266_eval__evals_OFAccThrow) ).

thf(1484,plain,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i,F: $i,G: $i] :
      ( ( G @ ( F @ ( char @ list @ throw @ ( char @ list @ exp @ ( char @ list @ exp @ hAPP ) ) ) @ ( E @ ( D @ ( C @ ( eval @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ hBOOL )
     => ( G @ ( F @ ( char @ list @ throw @ ( char @ list @ exp @ ( char @ list @ exp @ hAPP ) ) ) @ ( E @ ( B @ ( A @ ( D @ ( char @ list @ fAcc @ ( char @ list @ exp @ ( char @ list @ fun ) @ ( char @ list @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( char @ list @ exp @ ( char @ list @ fun ) @ ( char @ list @ hAPP ) ) ) @ ( char @ list @ exp @ ( char @ list @ hAPP ) ) ) @ ( C @ ( eval @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ hBOOL ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[233]) ).

thf(562,axiom,
    ! [A: $i,B: $i,C: $i] :
      ( ( B @ ( A @ throw @ ( A @ exp @ ( A @ exp @ hAPP ) ) ) )
     != ( C @ ( A @ val_1 @ ( A @ exp @ ( val @ hAPP ) ) ) ) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',fact_249_exp_Osimps_I91_J) ).

thf(2656,plain,
    ! [A: $i,B: $i,C: $i] :
      ( ( B @ ( A @ throw @ ( A @ exp @ ( A @ exp @ hAPP ) ) ) )
     != ( C @ ( A @ val_1 @ ( A @ exp @ ( val @ hAPP ) ) ) ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[562]) ).

thf(538,axiom,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i,F: $i,G: $i] :
      ( ( G @ ( red @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ transitive_rtrancl @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ hAPP ) ) ) @ ( F @ ( E @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ hAPP ) ) ) @ ( D @ ( char @ list @ val_1 @ ( char @ list @ exp @ ( val @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ ( C @ ( B @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ member @ ( bool @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ hAPP ) ) ) @ ( bool @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ hAPP ) ) ) @ hBOOL )
     => ( G @ ( red @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ transitive_rtrancl @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ hAPP ) ) ) @ ( D @ ( val @ some @ ( val @ option @ ( val @ hAPP ) ) ) @ ( A @ ( F @ ( val @ option @ ( char @ list @ fun_upd ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ fun ) @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ fun ) @ ( char @ list @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ hAPP ) ) ) @ ( E @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ hAPP ) ) ) @ ( unit @ ( char @ list @ val_1 @ ( char @ list @ exp @ ( val @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ ( C @ ( B @ ( A @ ( char @ list @ lAss @ ( char @ list @ exp @ ( char @ list @ exp @ fun ) @ ( char @ list @ hAPP ) ) ) @ ( char @ list @ exp @ ( char @ list @ exp @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ member @ ( bool @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ hAPP ) ) ) @ ( bool @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ hAPP ) ) ) @ hBOOL ) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',fact_128_LAssRedsVal) ).

thf(2569,plain,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i,F: $i,G: $i] :
      ( ( G @ ( red @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ transitive_rtrancl @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ hAPP ) ) ) @ ( F @ ( E @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ hAPP ) ) ) @ ( D @ ( char @ list @ val_1 @ ( char @ list @ exp @ ( val @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ ( C @ ( B @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ member @ ( bool @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ hAPP ) ) ) @ ( bool @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ hAPP ) ) ) @ hBOOL )
     => ( G @ ( red @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ transitive_rtrancl @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ hAPP ) ) ) @ ( D @ ( val @ some @ ( val @ option @ ( val @ hAPP ) ) ) @ ( A @ ( F @ ( val @ option @ ( char @ list @ fun_upd ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ fun ) @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ fun ) @ ( char @ list @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ hAPP ) ) ) @ ( E @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ hAPP ) ) ) @ ( unit @ ( char @ list @ val_1 @ ( char @ list @ exp @ ( val @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ ( C @ ( B @ ( A @ ( char @ list @ lAss @ ( char @ list @ exp @ ( char @ list @ exp @ fun ) @ ( char @ list @ hAPP ) ) ) @ ( char @ list @ exp @ ( char @ list @ exp @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ member @ ( bool @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ hAPP ) ) ) @ ( bool @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ hAPP ) ) ) @ hBOOL ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[538]) ).

thf(390,axiom,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i,F: $i] : ( F @ ( red @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( E @ ( D @ ( char @ list @ val_1 @ ( char @ list @ exp @ ( val @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ ( E @ ( D @ ( char @ list @ val_1 @ ( char @ list @ exp @ ( val @ hAPP ) ) ) @ ( C @ ( char @ list @ val_1 @ ( char @ list @ exp @ ( val @ hAPP ) ) ) @ ( A @ ( char @ list @ lAss @ ( char @ list @ exp @ ( char @ list @ exp @ fun ) @ ( char @ list @ hAPP ) ) ) @ ( char @ list @ exp @ ( char @ list @ exp @ hAPP ) ) ) @ ( char @ list @ seq @ ( char @ list @ exp @ ( char @ list @ exp @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( char @ list @ exp @ ( char @ list @ exp @ hAPP ) ) ) @ ( B @ ( A @ ( char @ list @ block @ ( char @ list @ exp @ ( char @ list @ exp @ fun ) @ ( ty @ fun ) @ ( char @ list @ hAPP ) ) ) @ ( char @ list @ exp @ ( char @ list @ exp @ fun ) @ ( ty @ hAPP ) ) ) @ ( char @ list @ exp @ ( char @ list @ exp @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ member @ ( bool @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ hAPP ) ) ) @ ( bool @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ hAPP ) ) ) @ hBOOL ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',fact_62_red__reds_ORedInitBlock) ).

thf(2092,plain,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i,F: $i] : ( F @ ( red @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( E @ ( D @ ( char @ list @ val_1 @ ( char @ list @ exp @ ( val @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ ( E @ ( D @ ( char @ list @ val_1 @ ( char @ list @ exp @ ( val @ hAPP ) ) ) @ ( C @ ( char @ list @ val_1 @ ( char @ list @ exp @ ( val @ hAPP ) ) ) @ ( A @ ( char @ list @ lAss @ ( char @ list @ exp @ ( char @ list @ exp @ fun ) @ ( char @ list @ hAPP ) ) ) @ ( char @ list @ exp @ ( char @ list @ exp @ hAPP ) ) ) @ ( char @ list @ seq @ ( char @ list @ exp @ ( char @ list @ exp @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( char @ list @ exp @ ( char @ list @ exp @ hAPP ) ) ) @ ( B @ ( A @ ( char @ list @ block @ ( char @ list @ exp @ ( char @ list @ exp @ fun ) @ ( ty @ fun ) @ ( char @ list @ hAPP ) ) ) @ ( char @ list @ exp @ ( char @ list @ exp @ fun ) @ ( ty @ hAPP ) ) ) @ ( char @ list @ exp @ ( char @ list @ exp @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ member @ ( bool @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ hAPP ) ) ) @ ( bool @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ hAPP ) ) ) @ hBOOL ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[390]) ).

thf(573,axiom,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i,F: $i,G: $i] :
      ( ( G @ ( red @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ transitive_rtrancl @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ hAPP ) ) ) @ ( F @ ( E @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ ( D @ ( C @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ member @ ( bool @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ hAPP ) ) ) @ ( bool @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ hAPP ) ) ) @ hBOOL )
     => ( G @ ( red @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ transitive_rtrancl @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ hAPP ) ) ) @ ( F @ ( B @ ( A @ ( E @ ( char @ list @ fAcc @ ( char @ list @ exp @ ( char @ list @ fun ) @ ( char @ list @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( char @ list @ exp @ ( char @ list @ fun ) @ ( char @ list @ hAPP ) ) ) @ ( char @ list @ exp @ ( char @ list @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ ( D @ ( B @ ( A @ ( C @ ( char @ list @ fAcc @ ( char @ list @ exp @ ( char @ list @ fun ) @ ( char @ list @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( char @ list @ exp @ ( char @ list @ fun ) @ ( char @ list @ hAPP ) ) ) @ ( char @ list @ exp @ ( char @ list @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ member @ ( bool @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ hAPP ) ) ) @ ( bool @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ hAPP ) ) ) @ hBOOL ) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',fact_230_FAccReds) ).

thf(2688,plain,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i,F: $i,G: $i] :
      ( ( G @ ( red @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ transitive_rtrancl @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ hAPP ) ) ) @ ( F @ ( E @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ ( D @ ( C @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ member @ ( bool @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ hAPP ) ) ) @ ( bool @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ hAPP ) ) ) @ hBOOL )
     => ( G @ ( red @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ transitive_rtrancl @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ hAPP ) ) ) @ ( F @ ( B @ ( A @ ( E @ ( char @ list @ fAcc @ ( char @ list @ exp @ ( char @ list @ fun ) @ ( char @ list @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( char @ list @ exp @ ( char @ list @ fun ) @ ( char @ list @ hAPP ) ) ) @ ( char @ list @ exp @ ( char @ list @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ ( D @ ( B @ ( A @ ( C @ ( char @ list @ fAcc @ ( char @ list @ exp @ ( char @ list @ fun ) @ ( char @ list @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( char @ list @ exp @ ( char @ list @ fun ) @ ( char @ list @ hAPP ) ) ) @ ( char @ list @ exp @ ( char @ list @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ member @ ( bool @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ hAPP ) ) ) @ ( bool @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ hAPP ) ) ) @ hBOOL ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[573]) ).

thf(50,axiom,
    ! [A: $i,B: $i] :
      ( ( B @ ( A @ collect @ ( bool @ ( A @ fun ) @ ( bool @ ( A @ fun ) @ hAPP ) ) ) )
      = ( B @ ( bool @ ( A @ fun ) @ ti ) ) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',fact_77_Collect__def) ).

thf(791,plain,
    ! [A: $i,B: $i] :
      ( ( B @ ( A @ collect @ ( bool @ ( A @ fun ) @ ( bool @ ( A @ fun ) @ hAPP ) ) ) )
      = ( B @ ( bool @ ( A @ fun ) @ ti ) ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[50]) ).

thf(492,axiom,
    ! [A: $i] :
      ( ( A @ conf @ ( bool @ ( ty @ fun ) @ ( val @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ fun ) @ ( A @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ fun ) @ ti ) )
      = ( A @ conf ) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',tsy_c_Conform_Oconf_res) ).

thf(2429,plain,
    ! [A: $i] :
      ( ( A @ conf @ ( bool @ ( ty @ fun ) @ ( val @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ fun ) @ ( A @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ fun ) @ ti ) )
      = ( A @ conf ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[492]) ).

thf(175,axiom,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i,F: $i] :
      ( ( F @ ( red @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ transitive_rtrancl @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ hAPP ) ) ) @ ( E @ ( D @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ ( C @ ( B @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ member @ ( bool @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ hAPP ) ) ) @ ( bool @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ hAPP ) ) ) @ hBOOL )
     => ( F @ ( red @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ transitive_rtrancl @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ hAPP ) ) ) @ ( E @ ( A @ ( D @ ( char @ list @ seq @ ( char @ list @ exp @ ( char @ list @ exp @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( char @ list @ exp @ ( char @ list @ exp @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ ( C @ ( A @ ( B @ ( char @ list @ seq @ ( char @ list @ exp @ ( char @ list @ exp @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( char @ list @ exp @ ( char @ list @ exp @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ member @ ( bool @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ hAPP ) ) ) @ ( bool @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ hAPP ) ) ) @ hBOOL ) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',fact_151_SeqReds) ).

thf(1262,plain,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i,F: $i] :
      ( ( F @ ( red @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ transitive_rtrancl @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ hAPP ) ) ) @ ( E @ ( D @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ ( C @ ( B @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ member @ ( bool @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ hAPP ) ) ) @ ( bool @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ hAPP ) ) ) @ hBOOL )
     => ( F @ ( red @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ transitive_rtrancl @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ hAPP ) ) ) @ ( E @ ( A @ ( D @ ( char @ list @ seq @ ( char @ list @ exp @ ( char @ list @ exp @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( char @ list @ exp @ ( char @ list @ exp @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ ( C @ ( A @ ( B @ ( char @ list @ seq @ ( char @ list @ exp @ ( char @ list @ exp @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( char @ list @ exp @ ( char @ list @ exp @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ member @ ( bool @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ hAPP ) ) ) @ ( bool @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ hAPP ) ) ) @ hBOOL ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[175]) ).

thf(307,axiom,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i,F: $i,G: $i] :
      ( ( E @ ( D @ ( C @ ( B @ ( A @ fAss @ ( A @ exp @ ( A @ exp @ fun ) @ ( char @ list @ fun ) @ ( char @ list @ fun ) @ ( A @ exp @ hAPP ) ) ) @ ( A @ exp @ ( A @ exp @ fun ) @ ( char @ list @ fun ) @ ( char @ list @ hAPP ) ) ) @ ( A @ exp @ ( A @ exp @ fun ) @ ( char @ list @ hAPP ) ) ) @ ( A @ exp @ ( A @ exp @ hAPP ) ) ) )
     != ( G @ ( F @ ( A @ while @ ( A @ exp @ ( A @ exp @ fun ) @ ( A @ exp @ hAPP ) ) ) @ ( A @ exp @ ( A @ exp @ hAPP ) ) ) ) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',fact_488_exp_Osimps_I178_J) ).

thf(1763,plain,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i,F: $i,G: $i] :
      ( ( E @ ( D @ ( C @ ( B @ ( A @ fAss @ ( A @ exp @ ( A @ exp @ fun ) @ ( char @ list @ fun ) @ ( char @ list @ fun ) @ ( A @ exp @ hAPP ) ) ) @ ( A @ exp @ ( A @ exp @ fun ) @ ( char @ list @ fun ) @ ( char @ list @ hAPP ) ) ) @ ( A @ exp @ ( A @ exp @ fun ) @ ( char @ list @ hAPP ) ) ) @ ( A @ exp @ ( A @ exp @ hAPP ) ) ) )
     != ( G @ ( F @ ( A @ while @ ( A @ exp @ ( A @ exp @ fun ) @ ( A @ exp @ hAPP ) ) ) @ ( A @ exp @ ( A @ exp @ hAPP ) ) ) ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[307]) ).

thf(142,axiom,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i,F: $i,G: $i,H: $i] :
      ( ( H @ ( class @ ( ty @ ( char @ list @ hAPP ) ) ) @ ( G @ ( F @ ( E @ ( D @ ( wTrt @ ( bool @ ( ty @ fun ) @ ( char @ list @ exp @ fun ) @ ( ty @ option @ ( char @ list @ fun ) @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ fun ) @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( bool @ ( ty @ fun ) @ ( char @ list @ exp @ fun ) @ ( ty @ option @ ( char @ list @ fun ) @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ hAPP ) ) ) @ ( bool @ ( ty @ fun ) @ ( char @ list @ exp @ fun ) @ ( ty @ option @ ( char @ list @ fun ) @ hAPP ) ) ) @ ( bool @ ( ty @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( bool @ ( ty @ hAPP ) ) ) @ hBOOL )
     => ( ( C @ ( B @ ( A @ ( H @ ( D @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ has_field @ ( bool @ ( char @ list @ fun ) @ ( ty @ fun ) @ ( char @ list @ fun ) @ ( char @ list @ fun ) @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( bool @ ( char @ list @ fun ) @ ( ty @ fun ) @ ( char @ list @ fun ) @ ( char @ list @ hAPP ) ) ) @ ( bool @ ( char @ list @ fun ) @ ( ty @ fun ) @ ( char @ list @ hAPP ) ) ) @ ( bool @ ( char @ list @ fun ) @ ( ty @ hAPP ) ) ) @ ( bool @ ( char @ list @ hAPP ) ) ) @ hBOOL )
       => ( B @ ( C @ ( A @ ( G @ ( char @ list @ fAcc @ ( char @ list @ exp @ ( char @ list @ fun ) @ ( char @ list @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( char @ list @ exp @ ( char @ list @ fun ) @ ( char @ list @ hAPP ) ) ) @ ( char @ list @ exp @ ( char @ list @ hAPP ) ) ) @ ( F @ ( E @ ( D @ ( wTrt @ ( bool @ ( ty @ fun ) @ ( char @ list @ exp @ fun ) @ ( ty @ option @ ( char @ list @ fun ) @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ fun ) @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( bool @ ( ty @ fun ) @ ( char @ list @ exp @ fun ) @ ( ty @ option @ ( char @ list @ fun ) @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ hAPP ) ) ) @ ( bool @ ( ty @ fun ) @ ( char @ list @ exp @ fun ) @ ( ty @ option @ ( char @ list @ fun ) @ hAPP ) ) ) @ ( bool @ ( ty @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( bool @ ( ty @ hAPP ) ) ) @ hBOOL ) ) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',fact_346_WTrtFAcc) ).

thf(1130,plain,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i,F: $i,G: $i,H: $i] :
      ( ( H @ ( class @ ( ty @ ( char @ list @ hAPP ) ) ) @ ( G @ ( F @ ( E @ ( D @ ( wTrt @ ( bool @ ( ty @ fun ) @ ( char @ list @ exp @ fun ) @ ( ty @ option @ ( char @ list @ fun ) @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ fun ) @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( bool @ ( ty @ fun ) @ ( char @ list @ exp @ fun ) @ ( ty @ option @ ( char @ list @ fun ) @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ hAPP ) ) ) @ ( bool @ ( ty @ fun ) @ ( char @ list @ exp @ fun ) @ ( ty @ option @ ( char @ list @ fun ) @ hAPP ) ) ) @ ( bool @ ( ty @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( bool @ ( ty @ hAPP ) ) ) @ hBOOL )
     => ( ( C @ ( B @ ( A @ ( H @ ( D @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ has_field @ ( bool @ ( char @ list @ fun ) @ ( ty @ fun ) @ ( char @ list @ fun ) @ ( char @ list @ fun ) @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( bool @ ( char @ list @ fun ) @ ( ty @ fun ) @ ( char @ list @ fun ) @ ( char @ list @ hAPP ) ) ) @ ( bool @ ( char @ list @ fun ) @ ( ty @ fun ) @ ( char @ list @ hAPP ) ) ) @ ( bool @ ( char @ list @ fun ) @ ( ty @ hAPP ) ) ) @ ( bool @ ( char @ list @ hAPP ) ) ) @ hBOOL )
       => ( B @ ( C @ ( A @ ( G @ ( char @ list @ fAcc @ ( char @ list @ exp @ ( char @ list @ fun ) @ ( char @ list @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( char @ list @ exp @ ( char @ list @ fun ) @ ( char @ list @ hAPP ) ) ) @ ( char @ list @ exp @ ( char @ list @ hAPP ) ) ) @ ( F @ ( E @ ( D @ ( wTrt @ ( bool @ ( ty @ fun ) @ ( char @ list @ exp @ fun ) @ ( ty @ option @ ( char @ list @ fun ) @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ fun ) @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( bool @ ( ty @ fun ) @ ( char @ list @ exp @ fun ) @ ( ty @ option @ ( char @ list @ fun ) @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ hAPP ) ) ) @ ( bool @ ( ty @ fun ) @ ( char @ list @ exp @ fun ) @ ( ty @ option @ ( char @ list @ fun ) @ hAPP ) ) ) @ ( bool @ ( ty @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( bool @ ( ty @ hAPP ) ) ) @ hBOOL ) ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[142]) ).

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] :
      ( ( K @ ( red @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( J @ ( I @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ hAPP ) ) ) @ ( H @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ ( G @ ( val @ some @ ( val @ option @ ( val @ hAPP ) ) ) @ ( F @ ( E @ ( val @ option @ ( char @ list @ fun_upd ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ fun ) @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ fun ) @ ( char @ list @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ hAPP ) ) ) @ ( D @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ hAPP ) ) ) @ ( C @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ member @ ( bool @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ hAPP ) ) ) @ ( bool @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ hAPP ) ) ) @ hBOOL )
     => ( ( ( F @ ( J @ ( val @ option @ ( char @ list @ hAPP ) ) ) )
          = ( B @ ( val @ some @ ( val @ option @ ( val @ hAPP ) ) ) ) )
       => ( K @ ( red @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( F @ ( E @ ( val @ option @ ( char @ list @ hAPP ) ) ) @ ( F @ ( J @ ( val @ option @ ( char @ list @ fun_upd ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ fun ) @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ fun ) @ ( char @ list @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ hAPP ) ) ) @ ( I @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ hAPP ) ) ) @ ( H @ ( B @ ( char @ list @ val_1 @ ( char @ list @ exp @ ( val @ hAPP ) ) ) @ ( F @ ( char @ list @ lAss @ ( char @ list @ exp @ ( char @ list @ exp @ fun ) @ ( char @ list @ hAPP ) ) ) @ ( char @ list @ exp @ ( char @ list @ exp @ hAPP ) ) ) @ ( char @ list @ seq @ ( char @ list @ exp @ ( char @ list @ exp @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( char @ list @ exp @ ( char @ list @ exp @ hAPP ) ) ) @ ( A @ ( F @ ( char @ list @ block @ ( char @ list @ exp @ ( char @ list @ exp @ fun ) @ ( ty @ fun ) @ ( char @ list @ hAPP ) ) ) @ ( char @ list @ exp @ ( char @ list @ exp @ fun ) @ ( ty @ hAPP ) ) ) @ ( char @ list @ exp @ ( char @ list @ exp @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ ( E @ ( D @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ hAPP ) ) ) @ ( C @ ( G @ ( char @ list @ val_1 @ ( char @ list @ exp @ ( val @ hAPP ) ) ) @ ( F @ ( char @ list @ lAss @ ( char @ list @ exp @ ( char @ list @ exp @ fun ) @ ( char @ list @ hAPP ) ) ) @ ( char @ list @ exp @ ( char @ list @ exp @ hAPP ) ) ) @ ( char @ list @ seq @ ( char @ list @ exp @ ( char @ list @ exp @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( char @ list @ exp @ ( char @ list @ exp @ hAPP ) ) ) @ ( A @ ( F @ ( char @ list @ block @ ( char @ list @ exp @ ( char @ list @ exp @ fun ) @ ( ty @ fun ) @ ( char @ list @ hAPP ) ) ) @ ( char @ list @ exp @ ( char @ list @ exp @ fun ) @ ( ty @ hAPP ) ) ) @ ( char @ list @ exp @ ( char @ list @ exp @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ member @ ( bool @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ hAPP ) ) ) @ ( bool @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ hAPP ) ) ) @ hBOOL ) ) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',fact_70_red__reds_OInitBlockRed) ).

thf(1738,plain,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i,F: $i,G: $i,H: $i,I: $i,J: $i,K: $i] :
      ( ( K @ ( red @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( J @ ( I @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ hAPP ) ) ) @ ( H @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ ( G @ ( val @ some @ ( val @ option @ ( val @ hAPP ) ) ) @ ( F @ ( E @ ( val @ option @ ( char @ list @ fun_upd ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ fun ) @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ fun ) @ ( char @ list @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ hAPP ) ) ) @ ( D @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ hAPP ) ) ) @ ( C @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ member @ ( bool @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ hAPP ) ) ) @ ( bool @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ hAPP ) ) ) @ hBOOL )
     => ( ( ( F @ ( J @ ( val @ option @ ( char @ list @ hAPP ) ) ) )
          = ( B @ ( val @ some @ ( val @ option @ ( val @ hAPP ) ) ) ) )
       => ( K @ ( red @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( F @ ( E @ ( val @ option @ ( char @ list @ hAPP ) ) ) @ ( F @ ( J @ ( val @ option @ ( char @ list @ fun_upd ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ fun ) @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ fun ) @ ( char @ list @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ hAPP ) ) ) @ ( I @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ hAPP ) ) ) @ ( H @ ( B @ ( char @ list @ val_1 @ ( char @ list @ exp @ ( val @ hAPP ) ) ) @ ( F @ ( char @ list @ lAss @ ( char @ list @ exp @ ( char @ list @ exp @ fun ) @ ( char @ list @ hAPP ) ) ) @ ( char @ list @ exp @ ( char @ list @ exp @ hAPP ) ) ) @ ( char @ list @ seq @ ( char @ list @ exp @ ( char @ list @ exp @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( char @ list @ exp @ ( char @ list @ exp @ hAPP ) ) ) @ ( A @ ( F @ ( char @ list @ block @ ( char @ list @ exp @ ( char @ list @ exp @ fun ) @ ( ty @ fun ) @ ( char @ list @ hAPP ) ) ) @ ( char @ list @ exp @ ( char @ list @ exp @ fun ) @ ( ty @ hAPP ) ) ) @ ( char @ list @ exp @ ( char @ list @ exp @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ ( E @ ( D @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ hAPP ) ) ) @ ( C @ ( G @ ( char @ list @ val_1 @ ( char @ list @ exp @ ( val @ hAPP ) ) ) @ ( F @ ( char @ list @ lAss @ ( char @ list @ exp @ ( char @ list @ exp @ fun ) @ ( char @ list @ hAPP ) ) ) @ ( char @ list @ exp @ ( char @ list @ exp @ hAPP ) ) ) @ ( char @ list @ seq @ ( char @ list @ exp @ ( char @ list @ exp @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( char @ list @ exp @ ( char @ list @ exp @ hAPP ) ) ) @ ( A @ ( F @ ( char @ list @ block @ ( char @ list @ exp @ ( char @ list @ exp @ fun ) @ ( ty @ fun ) @ ( char @ list @ hAPP ) ) ) @ ( char @ list @ exp @ ( char @ list @ exp @ fun ) @ ( ty @ hAPP ) ) ) @ ( char @ list @ exp @ ( char @ list @ exp @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ member @ ( bool @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ hAPP ) ) ) @ ( bool @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ hAPP ) ) ) @ hBOOL ) ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[301]) ).

thf(469,axiom,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i,F: $i,G: $i,H: $i] :
      ( ( ( F @ ( E @ ( hp @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ hAPP ) ) ) )
        = ( H @ ( G @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_Pair ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ fun ) @ ( char @ list @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ some @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ hAPP ) ) ) ) )
     => ( ~ ( D @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ subcls1 @ ( bool @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( char @ list @ transitive_rtrancl @ ( bool @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( bool @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ hAPP ) ) ) @ ( C @ ( G @ ( char @ list @ ( char @ list @ product_Pair ) @ ( char @ list @ ( char @ list @ product_prod ) @ ( char @ list @ fun ) @ ( char @ list @ hAPP ) ) ) @ ( char @ list @ ( char @ list @ product_prod ) @ ( char @ list @ hAPP ) ) ) @ ( char @ list @ ( char @ list @ product_prod ) @ member @ ( bool @ ( bool @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ fun ) @ ( char @ list @ ( char @ list @ product_prod ) @ hAPP ) ) ) @ ( bool @ ( bool @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ hAPP ) ) ) @ hBOOL )
       => ( D @ ( red @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( E @ ( F @ ( addr @ ( val @ ( nat @ hAPP ) ) ) @ ( char @ list @ val_1 @ ( char @ list @ exp @ ( val @ hAPP ) ) ) @ ( char @ list @ throw @ ( char @ list @ exp @ ( char @ list @ exp @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ ( E @ ( B @ ( A @ ( C @ ( F @ ( addr @ ( val @ ( nat @ hAPP ) ) ) @ ( char @ list @ val_1 @ ( char @ list @ exp @ ( val @ hAPP ) ) ) @ ( char @ list @ throw @ ( char @ list @ exp @ ( char @ list @ exp @ hAPP ) ) ) @ ( char @ list @ tryCatch @ ( char @ list @ exp @ ( char @ list @ exp @ fun ) @ ( char @ list @ fun ) @ ( char @ list @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( char @ list @ exp @ ( char @ list @ exp @ fun ) @ ( char @ list @ fun ) @ ( char @ list @ hAPP ) ) ) @ ( char @ list @ exp @ ( char @ list @ exp @ fun ) @ ( char @ list @ hAPP ) ) ) @ ( char @ list @ exp @ ( char @ list @ exp @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ member @ ( bool @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ hAPP ) ) ) @ ( bool @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ hAPP ) ) ) @ hBOOL ) ) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',fact_318_red__reds_ORedTryFail) ).

thf(2354,plain,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i,F: $i,G: $i,H: $i] :
      ( ( ( F @ ( E @ ( hp @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ hAPP ) ) ) )
        = ( H @ ( G @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_Pair ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ fun ) @ ( char @ list @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ some @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ hAPP ) ) ) ) )
     => ( ~ ( D @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ subcls1 @ ( bool @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( char @ list @ transitive_rtrancl @ ( bool @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( bool @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ hAPP ) ) ) @ ( C @ ( G @ ( char @ list @ ( char @ list @ product_Pair ) @ ( char @ list @ ( char @ list @ product_prod ) @ ( char @ list @ fun ) @ ( char @ list @ hAPP ) ) ) @ ( char @ list @ ( char @ list @ product_prod ) @ ( char @ list @ hAPP ) ) ) @ ( char @ list @ ( char @ list @ product_prod ) @ member @ ( bool @ ( bool @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ fun ) @ ( char @ list @ ( char @ list @ product_prod ) @ hAPP ) ) ) @ ( bool @ ( bool @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ hAPP ) ) ) @ hBOOL )
       => ( D @ ( red @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( E @ ( F @ ( addr @ ( val @ ( nat @ hAPP ) ) ) @ ( char @ list @ val_1 @ ( char @ list @ exp @ ( val @ hAPP ) ) ) @ ( char @ list @ throw @ ( char @ list @ exp @ ( char @ list @ exp @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ ( E @ ( B @ ( A @ ( C @ ( F @ ( addr @ ( val @ ( nat @ hAPP ) ) ) @ ( char @ list @ val_1 @ ( char @ list @ exp @ ( val @ hAPP ) ) ) @ ( char @ list @ throw @ ( char @ list @ exp @ ( char @ list @ exp @ hAPP ) ) ) @ ( char @ list @ tryCatch @ ( char @ list @ exp @ ( char @ list @ exp @ fun ) @ ( char @ list @ fun ) @ ( char @ list @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( char @ list @ exp @ ( char @ list @ exp @ fun ) @ ( char @ list @ fun ) @ ( char @ list @ hAPP ) ) ) @ ( char @ list @ exp @ ( char @ list @ exp @ fun ) @ ( char @ list @ hAPP ) ) ) @ ( char @ list @ exp @ ( char @ list @ exp @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ member @ ( bool @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ hAPP ) ) ) @ ( bool @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ hAPP ) ) ) @ hBOOL ) ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[469]) ).

thf(364,axiom,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i,F: $i,G: $i,H: $i] :
      ( ( H @ ( G @ ( F @ ( E @ ( D @ ( char @ list @ fAss @ ( char @ list @ exp @ ( char @ list @ exp @ fun ) @ ( char @ list @ fun ) @ ( char @ list @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( char @ list @ exp @ ( char @ list @ exp @ fun ) @ ( char @ list @ fun ) @ ( char @ list @ hAPP ) ) ) @ ( char @ list @ exp @ ( char @ list @ exp @ fun ) @ ( char @ list @ hAPP ) ) ) @ ( char @ list @ exp @ ( char @ list @ exp @ hAPP ) ) ) @ ( C @ ( B @ ( A @ ( wTrt @ ( bool @ ( ty @ fun ) @ ( char @ list @ exp @ fun ) @ ( ty @ option @ ( char @ list @ fun ) @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ fun ) @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( bool @ ( ty @ fun ) @ ( char @ list @ exp @ fun ) @ ( ty @ option @ ( char @ list @ fun ) @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ hAPP ) ) ) @ ( bool @ ( ty @ fun ) @ ( char @ list @ exp @ fun ) @ ( ty @ option @ ( char @ list @ fun ) @ hAPP ) ) ) @ ( bool @ ( ty @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( bool @ ( ty @ hAPP ) ) ) @ hBOOL )
     => ( ( ( H = void )
         => ! [I: $i] :
              ( ( I @ ( class @ ( ty @ ( char @ list @ hAPP ) ) ) @ ( D @ ( C @ ( B @ ( A @ ( wTrt @ ( bool @ ( ty @ fun ) @ ( char @ list @ exp @ fun ) @ ( ty @ option @ ( char @ list @ fun ) @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ fun ) @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( bool @ ( ty @ fun ) @ ( char @ list @ exp @ fun ) @ ( ty @ option @ ( char @ list @ fun ) @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ hAPP ) ) ) @ ( bool @ ( ty @ fun ) @ ( char @ list @ exp @ fun ) @ ( ty @ option @ ( char @ list @ fun ) @ hAPP ) ) ) @ ( bool @ ( ty @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( bool @ ( ty @ hAPP ) ) ) @ hBOOL )
             => ! [J: $i] :
                  ( ( F @ ( J @ ( E @ ( I @ ( A @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ has_field @ ( bool @ ( char @ list @ fun ) @ ( ty @ fun ) @ ( char @ list @ fun ) @ ( char @ list @ fun ) @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( bool @ ( char @ list @ fun ) @ ( ty @ fun ) @ ( char @ list @ fun ) @ ( char @ list @ hAPP ) ) ) @ ( bool @ ( char @ list @ fun ) @ ( ty @ fun ) @ ( char @ list @ hAPP ) ) ) @ ( bool @ ( char @ list @ fun ) @ ( ty @ hAPP ) ) ) @ ( bool @ ( char @ list @ hAPP ) ) ) @ hBOOL )
                 => ! [K: $i] :
                      ( ( K @ ( G @ ( C @ ( B @ ( A @ ( wTrt @ ( bool @ ( ty @ fun ) @ ( char @ list @ exp @ fun ) @ ( ty @ option @ ( char @ list @ fun ) @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ fun ) @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( bool @ ( ty @ fun ) @ ( char @ list @ exp @ fun ) @ ( ty @ option @ ( char @ list @ fun ) @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ hAPP ) ) ) @ ( bool @ ( ty @ fun ) @ ( char @ list @ exp @ fun ) @ ( ty @ option @ ( char @ list @ fun ) @ hAPP ) ) ) @ ( bool @ ( ty @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( bool @ ( ty @ hAPP ) ) ) @ hBOOL )
                     => ~ ( J @ ( K @ ( A @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ widen @ ( bool @ ( ty @ fun ) @ ( ty @ fun ) @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( bool @ ( ty @ fun ) @ ( ty @ hAPP ) ) ) @ ( bool @ ( ty @ hAPP ) ) ) @ hBOOL ) ) ) ) )
       => ~ ( ( H = void )
           => ( ( nt @ ( D @ ( C @ ( B @ ( A @ ( wTrt @ ( bool @ ( ty @ fun ) @ ( char @ list @ exp @ fun ) @ ( ty @ option @ ( char @ list @ fun ) @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ fun ) @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( bool @ ( ty @ fun ) @ ( char @ list @ exp @ fun ) @ ( ty @ option @ ( char @ list @ fun ) @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ hAPP ) ) ) @ ( bool @ ( ty @ fun ) @ ( char @ list @ exp @ fun ) @ ( ty @ option @ ( char @ list @ fun ) @ hAPP ) ) ) @ ( bool @ ( ty @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( bool @ ( ty @ hAPP ) ) ) @ hBOOL )
             => ! [I: $i] :
                  ~ ( I @ ( G @ ( C @ ( B @ ( A @ ( wTrt @ ( bool @ ( ty @ fun ) @ ( char @ list @ exp @ fun ) @ ( ty @ option @ ( char @ list @ fun ) @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ fun ) @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( bool @ ( ty @ fun ) @ ( char @ list @ exp @ fun ) @ ( ty @ option @ ( char @ list @ fun ) @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ hAPP ) ) ) @ ( bool @ ( ty @ fun ) @ ( char @ list @ exp @ fun ) @ ( ty @ option @ ( char @ list @ fun ) @ hAPP ) ) ) @ ( bool @ ( ty @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( bool @ ( ty @ hAPP ) ) ) @ hBOOL ) ) ) ) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',fact_396_WTrt__elim__cases_I8_J) ).

thf(1987,plain,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i,F: $i,G: $i,H: $i] :
      ( ( H @ ( G @ ( F @ ( E @ ( D @ ( char @ list @ fAss @ ( char @ list @ exp @ ( char @ list @ exp @ fun ) @ ( char @ list @ fun ) @ ( char @ list @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( char @ list @ exp @ ( char @ list @ exp @ fun ) @ ( char @ list @ fun ) @ ( char @ list @ hAPP ) ) ) @ ( char @ list @ exp @ ( char @ list @ exp @ fun ) @ ( char @ list @ hAPP ) ) ) @ ( char @ list @ exp @ ( char @ list @ exp @ hAPP ) ) ) @ ( C @ ( B @ ( A @ ( wTrt @ ( bool @ ( ty @ fun ) @ ( char @ list @ exp @ fun ) @ ( ty @ option @ ( char @ list @ fun ) @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ fun ) @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( bool @ ( ty @ fun ) @ ( char @ list @ exp @ fun ) @ ( ty @ option @ ( char @ list @ fun ) @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ hAPP ) ) ) @ ( bool @ ( ty @ fun ) @ ( char @ list @ exp @ fun ) @ ( ty @ option @ ( char @ list @ fun ) @ hAPP ) ) ) @ ( bool @ ( ty @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( bool @ ( ty @ hAPP ) ) ) @ hBOOL )
     => ( ( ( H = void )
         => ! [I: $i] :
              ( ( I @ ( class @ ( ty @ ( char @ list @ hAPP ) ) ) @ ( D @ ( C @ ( B @ ( A @ ( wTrt @ ( bool @ ( ty @ fun ) @ ( char @ list @ exp @ fun ) @ ( ty @ option @ ( char @ list @ fun ) @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ fun ) @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( bool @ ( ty @ fun ) @ ( char @ list @ exp @ fun ) @ ( ty @ option @ ( char @ list @ fun ) @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ hAPP ) ) ) @ ( bool @ ( ty @ fun ) @ ( char @ list @ exp @ fun ) @ ( ty @ option @ ( char @ list @ fun ) @ hAPP ) ) ) @ ( bool @ ( ty @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( bool @ ( ty @ hAPP ) ) ) @ hBOOL )
             => ! [J: $i] :
                  ( ( F @ ( J @ ( E @ ( I @ ( A @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ has_field @ ( bool @ ( char @ list @ fun ) @ ( ty @ fun ) @ ( char @ list @ fun ) @ ( char @ list @ fun ) @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( bool @ ( char @ list @ fun ) @ ( ty @ fun ) @ ( char @ list @ fun ) @ ( char @ list @ hAPP ) ) ) @ ( bool @ ( char @ list @ fun ) @ ( ty @ fun ) @ ( char @ list @ hAPP ) ) ) @ ( bool @ ( char @ list @ fun ) @ ( ty @ hAPP ) ) ) @ ( bool @ ( char @ list @ hAPP ) ) ) @ hBOOL )
                 => ! [K: $i] :
                      ( ( K @ ( G @ ( C @ ( B @ ( A @ ( wTrt @ ( bool @ ( ty @ fun ) @ ( char @ list @ exp @ fun ) @ ( ty @ option @ ( char @ list @ fun ) @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ fun ) @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( bool @ ( ty @ fun ) @ ( char @ list @ exp @ fun ) @ ( ty @ option @ ( char @ list @ fun ) @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ hAPP ) ) ) @ ( bool @ ( ty @ fun ) @ ( char @ list @ exp @ fun ) @ ( ty @ option @ ( char @ list @ fun ) @ hAPP ) ) ) @ ( bool @ ( ty @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( bool @ ( ty @ hAPP ) ) ) @ hBOOL )
                     => ~ ( J @ ( K @ ( A @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ widen @ ( bool @ ( ty @ fun ) @ ( ty @ fun ) @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( bool @ ( ty @ fun ) @ ( ty @ hAPP ) ) ) @ ( bool @ ( ty @ hAPP ) ) ) @ hBOOL ) ) ) ) )
       => ~ ( ( H = void )
           => ( ( nt @ ( D @ ( C @ ( B @ ( A @ ( wTrt @ ( bool @ ( ty @ fun ) @ ( char @ list @ exp @ fun ) @ ( ty @ option @ ( char @ list @ fun ) @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ fun ) @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( bool @ ( ty @ fun ) @ ( char @ list @ exp @ fun ) @ ( ty @ option @ ( char @ list @ fun ) @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ hAPP ) ) ) @ ( bool @ ( ty @ fun ) @ ( char @ list @ exp @ fun ) @ ( ty @ option @ ( char @ list @ fun ) @ hAPP ) ) ) @ ( bool @ ( ty @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( bool @ ( ty @ hAPP ) ) ) @ hBOOL )
             => ! [I: $i] :
                  ~ ( I @ ( G @ ( C @ ( B @ ( A @ ( wTrt @ ( bool @ ( ty @ fun ) @ ( char @ list @ exp @ fun ) @ ( ty @ option @ ( char @ list @ fun ) @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ fun ) @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( bool @ ( ty @ fun ) @ ( char @ list @ exp @ fun ) @ ( ty @ option @ ( char @ list @ fun ) @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ hAPP ) ) ) @ ( bool @ ( ty @ fun ) @ ( char @ list @ exp @ fun ) @ ( ty @ option @ ( char @ list @ fun ) @ hAPP ) ) ) @ ( bool @ ( ty @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( bool @ ( ty @ hAPP ) ) ) @ hBOOL ) ) ) ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[364]) ).

thf(294,axiom,
    ! [A: $i] :
      ( ( A @ final @ ( bool @ ( A @ exp @ fun ) @ ti ) )
      = ( A @ final ) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',tsy_c_BigStep_Ofinal_res) ).

thf(1716,plain,
    ! [A: $i] :
      ( ( A @ final @ ( bool @ ( A @ exp @ fun ) @ ti ) )
      = ( A @ final ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[294]) ).

thf(427,axiom,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i,F: $i,G: $i] :
      ( ( ( F @ ( B @ ti ) )
       != ( G @ ( B @ ti ) ) )
     => ( ( E @ ( G @ ( D @ ( F @ ( C @ ( A @ ( B @ fun_upd ) @ ( A @ ( B @ fun ) @ ( A @ fun ) @ ( B @ fun ) @ ( A @ ( B @ fun ) @ hAPP ) ) ) @ ( A @ ( B @ fun ) @ ( A @ fun ) @ ( B @ hAPP ) ) ) @ ( A @ ( B @ fun ) @ ( A @ hAPP ) ) ) @ ( A @ ( B @ fun_upd ) @ ( A @ ( B @ fun ) @ ( A @ fun ) @ ( B @ fun ) @ ( A @ ( B @ fun ) @ hAPP ) ) ) @ ( A @ ( B @ fun ) @ ( A @ fun ) @ ( B @ hAPP ) ) ) @ ( A @ ( B @ fun ) @ ( A @ hAPP ) ) ) )
        = ( D @ ( F @ ( E @ ( G @ ( C @ ( A @ ( B @ fun_upd ) @ ( A @ ( B @ fun ) @ ( A @ fun ) @ ( B @ fun ) @ ( A @ ( B @ fun ) @ hAPP ) ) ) @ ( A @ ( B @ fun ) @ ( A @ fun ) @ ( B @ hAPP ) ) ) @ ( A @ ( B @ fun ) @ ( A @ hAPP ) ) ) @ ( A @ ( B @ fun_upd ) @ ( A @ ( B @ fun ) @ ( A @ fun ) @ ( B @ fun ) @ ( A @ ( B @ fun ) @ hAPP ) ) ) @ ( A @ ( B @ fun ) @ ( A @ fun ) @ ( B @ hAPP ) ) ) @ ( A @ ( B @ fun ) @ ( A @ hAPP ) ) ) ) ) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',fact_21_fun__upd__twist) ).

thf(2219,plain,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i,F: $i,G: $i] :
      ( ( ( F @ ( B @ ti ) )
       != ( G @ ( B @ ti ) ) )
     => ( ( E @ ( G @ ( D @ ( F @ ( C @ ( A @ ( B @ fun_upd ) @ ( A @ ( B @ fun ) @ ( A @ fun ) @ ( B @ fun ) @ ( A @ ( B @ fun ) @ hAPP ) ) ) @ ( A @ ( B @ fun ) @ ( A @ fun ) @ ( B @ hAPP ) ) ) @ ( A @ ( B @ fun ) @ ( A @ hAPP ) ) ) @ ( A @ ( B @ fun_upd ) @ ( A @ ( B @ fun ) @ ( A @ fun ) @ ( B @ fun ) @ ( A @ ( B @ fun ) @ hAPP ) ) ) @ ( A @ ( B @ fun ) @ ( A @ fun ) @ ( B @ hAPP ) ) ) @ ( A @ ( B @ fun ) @ ( A @ hAPP ) ) ) )
        = ( D @ ( F @ ( E @ ( G @ ( C @ ( A @ ( B @ fun_upd ) @ ( A @ ( B @ fun ) @ ( A @ fun ) @ ( B @ fun ) @ ( A @ ( B @ fun ) @ hAPP ) ) ) @ ( A @ ( B @ fun ) @ ( A @ fun ) @ ( B @ hAPP ) ) ) @ ( A @ ( B @ fun ) @ ( A @ hAPP ) ) ) @ ( A @ ( B @ fun_upd ) @ ( A @ ( B @ fun ) @ ( A @ fun ) @ ( B @ fun ) @ ( A @ ( B @ fun ) @ hAPP ) ) ) @ ( A @ ( B @ fun ) @ ( A @ fun ) @ ( B @ hAPP ) ) ) @ ( A @ ( B @ fun ) @ ( A @ hAPP ) ) ) ) ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[427]) ).

thf(402,axiom,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i] :
      ( ( E @ ( D @ ( C @ ( B @ ( A @ ( eval @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ hBOOL )
     => ( D @ ( char @ list @ final @ ( bool @ ( char @ list @ exp @ hAPP ) ) ) @ hBOOL ) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',fact_234_eval__final) ).

thf(2128,plain,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i] :
      ( ( E @ ( D @ ( C @ ( B @ ( A @ ( eval @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ hBOOL )
     => ( D @ ( char @ list @ final @ ( bool @ ( char @ list @ exp @ hAPP ) ) ) @ hBOOL ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[402]) ).

thf(133,axiom,
    ! [A: $i,B: $i,C: $i,D: $i] : ( D @ ( val @ none @ ( char @ list @ ( val @ option @ combk ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ hAPP ) ) ) @ ( C @ ( B @ ( A @ lconf @ ( bool @ ( ty @ option @ ( char @ list @ fun ) @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ fun ) @ ( A @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( bool @ ( ty @ option @ ( char @ list @ fun ) @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ hAPP ) ) ) @ ( bool @ ( ty @ option @ ( char @ list @ fun ) @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ hAPP ) ) ) @ ( bool @ ( ty @ option @ ( char @ list @ fun ) @ hAPP ) ) ) @ hBOOL ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',fact_131_lconf__empty) ).

thf(1085,plain,
    ! [A: $i,B: $i,C: $i,D: $i] : ( D @ ( val @ none @ ( char @ list @ ( val @ option @ combk ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ hAPP ) ) ) @ ( C @ ( B @ ( A @ lconf @ ( bool @ ( ty @ option @ ( char @ list @ fun ) @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ fun ) @ ( A @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( bool @ ( ty @ option @ ( char @ list @ fun ) @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ hAPP ) ) ) @ ( bool @ ( ty @ option @ ( char @ list @ fun ) @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ hAPP ) ) ) @ ( bool @ ( ty @ option @ ( char @ list @ fun ) @ hAPP ) ) ) @ hBOOL ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[133]) ).

thf(460,axiom,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i,F: $i] :
      ( ( F @ ( null @ ( char @ list @ val_1 @ ( char @ list @ exp @ ( val @ hAPP ) ) ) @ ( E @ ( D @ ( C @ ( eval @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ hBOOL )
     => ( F @ ( nullPointer @ ( addr_of_sys_xcpt @ ( nat @ ( char @ list @ hAPP ) ) ) @ ( addr @ ( val @ ( nat @ hAPP ) ) ) @ ( char @ list @ val_1 @ ( char @ list @ exp @ ( val @ hAPP ) ) ) @ ( char @ list @ throw @ ( char @ list @ exp @ ( char @ list @ exp @ hAPP ) ) ) @ ( E @ ( B @ ( A @ ( D @ ( char @ list @ fAcc @ ( char @ list @ exp @ ( char @ list @ fun ) @ ( char @ list @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( char @ list @ exp @ ( char @ list @ fun ) @ ( char @ list @ hAPP ) ) ) @ ( char @ list @ exp @ ( char @ list @ hAPP ) ) ) @ ( C @ ( eval @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ hBOOL ) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',fact_401_FAccNull) ).

thf(2322,plain,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i,F: $i] :
      ( ( F @ ( null @ ( char @ list @ val_1 @ ( char @ list @ exp @ ( val @ hAPP ) ) ) @ ( E @ ( D @ ( C @ ( eval @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ hBOOL )
     => ( F @ ( nullPointer @ ( addr_of_sys_xcpt @ ( nat @ ( char @ list @ hAPP ) ) ) @ ( addr @ ( val @ ( nat @ hAPP ) ) ) @ ( char @ list @ val_1 @ ( char @ list @ exp @ ( val @ hAPP ) ) ) @ ( char @ list @ throw @ ( char @ list @ exp @ ( char @ list @ exp @ hAPP ) ) ) @ ( E @ ( B @ ( A @ ( D @ ( char @ list @ fAcc @ ( char @ list @ exp @ ( char @ list @ fun ) @ ( char @ list @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( char @ list @ exp @ ( char @ list @ fun ) @ ( char @ list @ hAPP ) ) ) @ ( char @ list @ exp @ ( char @ list @ hAPP ) ) ) @ ( C @ ( eval @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ hBOOL ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[460]) ).

thf(94,axiom,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i,F: $i] :
      ( ( D @ ( C @ ( B @ ( A @ fAcc @ ( A @ exp @ ( char @ list @ fun ) @ ( char @ list @ fun ) @ ( A @ exp @ hAPP ) ) ) @ ( A @ exp @ ( char @ list @ fun ) @ ( char @ list @ hAPP ) ) ) @ ( A @ exp @ ( char @ list @ hAPP ) ) ) )
     != ( F @ ( E @ ( A @ seq @ ( A @ exp @ ( A @ exp @ fun ) @ ( A @ exp @ hAPP ) ) ) @ ( A @ exp @ ( A @ exp @ hAPP ) ) ) ) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',fact_222_exp_Osimps_I160_J) ).

thf(951,plain,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i,F: $i] :
      ( ( D @ ( C @ ( B @ ( A @ fAcc @ ( A @ exp @ ( char @ list @ fun ) @ ( char @ list @ fun ) @ ( A @ exp @ hAPP ) ) ) @ ( A @ exp @ ( char @ list @ fun ) @ ( char @ list @ hAPP ) ) ) @ ( A @ exp @ ( char @ list @ hAPP ) ) ) )
     != ( F @ ( E @ ( A @ seq @ ( A @ exp @ ( A @ exp @ fun ) @ ( A @ exp @ hAPP ) ) ) @ ( A @ exp @ ( A @ exp @ hAPP ) ) ) ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[94]) ).

thf(56,axiom,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i] :
      ( ( E @ ( D @ ( C @ ( B @ ( char @ list @ val_1 @ ( char @ list @ exp @ ( val @ hAPP ) ) ) @ ( A @ ( eval @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ hBOOL )
     => ~ ( ( D
            = ( B @ ( char @ list @ val_1 @ ( char @ list @ exp @ ( val @ hAPP ) ) ) ) )
         => ( E != C ) ) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',fact_233_eval__cases_I2_J) ).

thf(808,plain,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i] :
      ( ( E @ ( D @ ( C @ ( B @ ( char @ list @ val_1 @ ( char @ list @ exp @ ( val @ hAPP ) ) ) @ ( A @ ( eval @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ hBOOL )
     => ~ ( ( D
            = ( B @ ( char @ list @ val_1 @ ( char @ list @ exp @ ( val @ hAPP ) ) ) ) )
         => ( E != C ) ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[56]) ).

thf(350,axiom,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i,F: $i] :
      ( ( E @ ( D @ ( C @ ( B @ ( A @ tryCatch @ ( A @ exp @ ( A @ exp @ fun ) @ ( A @ fun ) @ ( char @ list @ fun ) @ ( A @ exp @ hAPP ) ) ) @ ( A @ exp @ ( A @ exp @ fun ) @ ( A @ fun ) @ ( char @ list @ hAPP ) ) ) @ ( A @ exp @ ( A @ exp @ fun ) @ ( A @ hAPP ) ) ) @ ( A @ exp @ ( A @ exp @ hAPP ) ) ) )
     != ( F @ ( A @ throw @ ( A @ exp @ ( A @ exp @ hAPP ) ) ) ) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',fact_295_exp_Osimps_I225_J) ).

thf(1934,plain,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i,F: $i] :
      ( ( E @ ( D @ ( C @ ( B @ ( A @ tryCatch @ ( A @ exp @ ( A @ exp @ fun ) @ ( A @ fun ) @ ( char @ list @ fun ) @ ( A @ exp @ hAPP ) ) ) @ ( A @ exp @ ( A @ exp @ fun ) @ ( A @ fun ) @ ( char @ list @ hAPP ) ) ) @ ( A @ exp @ ( A @ exp @ fun ) @ ( A @ hAPP ) ) ) @ ( A @ exp @ ( A @ exp @ hAPP ) ) ) )
     != ( F @ ( A @ throw @ ( A @ exp @ ( A @ exp @ hAPP ) ) ) ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[350]) ).

thf(18,axiom,
    ! [A: $i,B: $i,C: $i] :
      ( ( C @ ( B @ ( A @ member @ ( bool @ ( bool @ ( A @ fun ) @ fun ) @ ( A @ hAPP ) ) ) @ ( bool @ ( bool @ ( A @ fun ) @ hAPP ) ) ) @ hBOOL )
    <=> ( B @ ( C @ ( bool @ ( A @ hAPP ) ) ) @ hBOOL ) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',fact_76_mem__def) ).

thf(656,plain,
    ! [A: $i,B: $i,C: $i] :
      ( ( ( B @ ( C @ ( bool @ ( A @ hAPP ) ) ) @ hBOOL )
       => ( C @ ( B @ ( A @ member @ ( bool @ ( bool @ ( A @ fun ) @ fun ) @ ( A @ hAPP ) ) ) @ ( bool @ ( bool @ ( A @ fun ) @ hAPP ) ) ) @ hBOOL ) )
      & ( ( C @ ( B @ ( A @ member @ ( bool @ ( bool @ ( A @ fun ) @ fun ) @ ( A @ hAPP ) ) ) @ ( bool @ ( bool @ ( A @ fun ) @ hAPP ) ) ) @ hBOOL )
       => ( B @ ( C @ ( bool @ ( A @ hAPP ) ) ) @ hBOOL ) ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[18]) ).

thf(291,axiom,
    ! [A: $i,B: $i,C: $i] : ( C @ ( red @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( B @ ( null @ ( char @ list @ val_1 @ ( char @ list @ exp @ ( val @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ ( B @ ( null @ ( char @ list @ val_1 @ ( char @ list @ exp @ ( val @ hAPP ) ) ) @ ( A @ ( char @ list @ cast @ ( char @ list @ exp @ ( char @ list @ exp @ fun ) @ ( char @ list @ hAPP ) ) ) @ ( char @ list @ exp @ ( char @ list @ exp @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ member @ ( bool @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ hAPP ) ) ) @ ( bool @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ hAPP ) ) ) @ hBOOL ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',fact_393_red__reds_ORedCastNull) ).

thf(1702,plain,
    ! [A: $i,B: $i,C: $i] : ( C @ ( red @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( B @ ( null @ ( char @ list @ val_1 @ ( char @ list @ exp @ ( val @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ ( B @ ( null @ ( char @ list @ val_1 @ ( char @ list @ exp @ ( val @ hAPP ) ) ) @ ( A @ ( char @ list @ cast @ ( char @ list @ exp @ ( char @ list @ exp @ fun ) @ ( char @ list @ hAPP ) ) ) @ ( char @ list @ exp @ ( char @ list @ exp @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ member @ ( bool @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ hAPP ) ) ) @ ( bool @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ hAPP ) ) ) @ hBOOL ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[291]) ).

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(163,axiom,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i,F: $i,G: $i,H: $i,I: $i,J: $i] :
      ( ( J @ ( red @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ transitive_rtrancl @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ hAPP ) ) ) @ ( I @ ( H @ ( char @ list @ val_1 @ ( char @ list @ exp @ ( val @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ ( G @ ( F @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ member @ ( bool @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ hAPP ) ) ) @ ( bool @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ hAPP ) ) ) @ hBOOL )
     => ( ( J @ ( red @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ transitive_rtrancl @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ hAPP ) ) ) @ ( E @ ( D @ ( char @ list @ val_1 @ ( char @ list @ exp @ ( val @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ ( I @ ( C @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ member @ ( bool @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ hAPP ) ) ) @ ( bool @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ hAPP ) ) ) @ hBOOL )
       => ( ( ( D @ ( H @ ( val @ ( val @ product_Pair ) @ ( val @ ( val @ product_prod ) @ ( val @ fun ) @ ( val @ hAPP ) ) ) @ ( val @ ( val @ product_prod ) @ ( val @ hAPP ) ) ) @ ( A @ ( val @ ( val @ product_prod ) @ ( bop @ product_Pair ) @ ( val @ ( val @ product_prod ) @ ( bop @ product_prod ) @ ( val @ ( val @ product_prod ) @ fun ) @ ( bop @ hAPP ) ) ) @ ( val @ ( val @ product_prod ) @ ( bop @ product_prod ) @ ( val @ ( val @ product_prod ) @ hAPP ) ) ) @ ( binop @ ( val @ option @ ( val @ ( val @ product_prod ) @ ( bop @ product_prod ) @ hAPP ) ) ) )
            = ( B @ ( val @ some @ ( val @ option @ ( val @ hAPP ) ) ) ) )
         => ( J @ ( red @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ transitive_rtrancl @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ hAPP ) ) ) @ ( E @ ( B @ ( char @ list @ val_1 @ ( char @ list @ exp @ ( val @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ ( G @ ( C @ ( A @ ( F @ ( char @ list @ binOp @ ( char @ list @ exp @ ( char @ list @ exp @ fun ) @ ( bop @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( char @ list @ exp @ ( char @ list @ exp @ fun ) @ ( bop @ hAPP ) ) ) @ ( char @ list @ exp @ ( char @ list @ exp @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ member @ ( bool @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ hAPP ) ) ) @ ( bool @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ hAPP ) ) ) @ hBOOL ) ) ) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',fact_455_BinOpRedsVal) ).

thf(1221,plain,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i,F: $i,G: $i,H: $i,I: $i,J: $i] :
      ( ( J @ ( red @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ transitive_rtrancl @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ hAPP ) ) ) @ ( I @ ( H @ ( char @ list @ val_1 @ ( char @ list @ exp @ ( val @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ ( G @ ( F @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ member @ ( bool @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ hAPP ) ) ) @ ( bool @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ hAPP ) ) ) @ hBOOL )
     => ( ( J @ ( red @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ transitive_rtrancl @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ hAPP ) ) ) @ ( E @ ( D @ ( char @ list @ val_1 @ ( char @ list @ exp @ ( val @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ ( I @ ( C @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ member @ ( bool @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ hAPP ) ) ) @ ( bool @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ hAPP ) ) ) @ hBOOL )
       => ( ( ( D @ ( H @ ( val @ ( val @ product_Pair ) @ ( val @ ( val @ product_prod ) @ ( val @ fun ) @ ( val @ hAPP ) ) ) @ ( val @ ( val @ product_prod ) @ ( val @ hAPP ) ) ) @ ( A @ ( val @ ( val @ product_prod ) @ ( bop @ product_Pair ) @ ( val @ ( val @ product_prod ) @ ( bop @ product_prod ) @ ( val @ ( val @ product_prod ) @ fun ) @ ( bop @ hAPP ) ) ) @ ( val @ ( val @ product_prod ) @ ( bop @ product_prod ) @ ( val @ ( val @ product_prod ) @ hAPP ) ) ) @ ( binop @ ( val @ option @ ( val @ ( val @ product_prod ) @ ( bop @ product_prod ) @ hAPP ) ) ) )
            = ( B @ ( val @ some @ ( val @ option @ ( val @ hAPP ) ) ) ) )
         => ( J @ ( red @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ transitive_rtrancl @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ hAPP ) ) ) @ ( E @ ( B @ ( char @ list @ val_1 @ ( char @ list @ exp @ ( val @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ ( G @ ( C @ ( A @ ( F @ ( char @ list @ binOp @ ( char @ list @ exp @ ( char @ list @ exp @ fun ) @ ( bop @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( char @ list @ exp @ ( char @ list @ exp @ fun ) @ ( bop @ hAPP ) ) ) @ ( char @ list @ exp @ ( char @ list @ exp @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ member @ ( bool @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ hAPP ) ) ) @ ( bool @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ hAPP ) ) ) @ hBOOL ) ) ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[163]) ).

thf(446,axiom,
    ! [A: $i,B: $i] :
      ( ( B @ ( bool_1 @ ( val @ ( bool @ hAPP ) ) ) @ ( A @ ( val @ ( val @ product_Pair ) @ ( val @ ( val @ product_prod ) @ ( val @ fun ) @ ( val @ hAPP ) ) ) @ ( val @ ( val @ product_prod ) @ ( val @ hAPP ) ) ) @ ( add @ ( val @ ( val @ product_prod ) @ ( bop @ product_Pair ) @ ( val @ ( val @ product_prod ) @ ( bop @ product_prod ) @ ( val @ ( val @ product_prod ) @ fun ) @ ( bop @ hAPP ) ) ) @ ( val @ ( val @ product_prod ) @ ( bop @ product_prod ) @ ( val @ ( val @ product_prod ) @ hAPP ) ) ) @ ( binop @ ( val @ option @ ( val @ ( val @ product_prod ) @ ( bop @ product_prod ) @ hAPP ) ) ) )
      = ( val @ none ) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',fact_467_binop_Osimps_I9_J) ).

thf(2279,plain,
    ! [A: $i,B: $i] :
      ( ( B @ ( bool_1 @ ( val @ ( bool @ hAPP ) ) ) @ ( A @ ( val @ ( val @ product_Pair ) @ ( val @ ( val @ product_prod ) @ ( val @ fun ) @ ( val @ hAPP ) ) ) @ ( val @ ( val @ product_prod ) @ ( val @ hAPP ) ) ) @ ( add @ ( val @ ( val @ product_prod ) @ ( bop @ product_Pair ) @ ( val @ ( val @ product_prod ) @ ( bop @ product_prod ) @ ( val @ ( val @ product_prod ) @ fun ) @ ( bop @ hAPP ) ) ) @ ( val @ ( val @ product_prod ) @ ( bop @ product_prod ) @ ( val @ ( val @ product_prod ) @ hAPP ) ) ) @ ( binop @ ( val @ option @ ( val @ ( val @ product_prod ) @ ( bop @ product_prod ) @ hAPP ) ) ) )
      = ( val @ none ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[446]) ).

thf(107,axiom,
    ! [A: $i,B: $i,C: $i] : ( C @ ( A @ transitive_rtrancl @ ( bool @ ( A @ ( A @ product_prod ) @ fun ) @ ( bool @ ( A @ ( A @ product_prod ) @ fun ) @ hAPP ) ) ) @ ( B @ ( B @ ( A @ ( A @ product_Pair ) @ ( A @ ( A @ product_prod ) @ ( A @ fun ) @ ( A @ hAPP ) ) ) @ ( A @ ( A @ product_prod ) @ ( A @ hAPP ) ) ) @ ( A @ ( A @ product_prod ) @ member @ ( bool @ ( bool @ ( A @ ( A @ product_prod ) @ fun ) @ fun ) @ ( A @ ( A @ product_prod ) @ hAPP ) ) ) @ ( bool @ ( bool @ ( A @ ( A @ product_prod ) @ fun ) @ hAPP ) ) ) @ hBOOL ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',fact_165_rtrancl_Ortrancl__refl) ).

thf(991,plain,
    ! [A: $i,B: $i,C: $i] : ( C @ ( A @ transitive_rtrancl @ ( bool @ ( A @ ( A @ product_prod ) @ fun ) @ ( bool @ ( A @ ( A @ product_prod ) @ fun ) @ hAPP ) ) ) @ ( B @ ( B @ ( A @ ( A @ product_Pair ) @ ( A @ ( A @ product_prod ) @ ( A @ fun ) @ ( A @ hAPP ) ) ) @ ( A @ ( A @ product_prod ) @ ( A @ hAPP ) ) ) @ ( A @ ( A @ product_prod ) @ member @ ( bool @ ( bool @ ( A @ ( A @ product_prod ) @ fun ) @ fun ) @ ( A @ ( A @ product_prod ) @ hAPP ) ) ) @ ( bool @ ( bool @ ( A @ ( A @ product_prod ) @ fun ) @ hAPP ) ) ) @ hBOOL ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[107]) ).

thf(568,axiom,
    ( ( eval @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ fun ) @ ti ) )
    = eval ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',tsy_c_BigStep_Oeval_res) ).

thf(2675,plain,
    ( ( eval @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ fun ) @ ti ) )
    = eval ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[568]) ).

thf(377,axiom,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i,F: $i,G: $i,H: $i,I: $i,J: $i] :
      ( ( J @ ( red @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ transitive_rtrancl @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ hAPP ) ) ) @ ( I @ ( H @ ( addr @ ( val @ ( nat @ hAPP ) ) ) @ ( char @ list @ val_1 @ ( char @ list @ exp @ ( val @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ ( G @ ( F @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ member @ ( bool @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ hAPP ) ) ) @ ( bool @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ hAPP ) ) ) @ hBOOL )
     => ( ( ( H @ ( I @ ( hp @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ hAPP ) ) ) )
          = ( E @ ( D @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_Pair ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ fun ) @ ( char @ list @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ some @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ hAPP ) ) ) ) )
       => ( ( ( B @ ( A @ ( char @ list @ ( char @ list @ product_Pair ) @ ( char @ list @ ( char @ list @ product_prod ) @ ( char @ list @ fun ) @ ( char @ list @ hAPP ) ) ) @ ( char @ list @ ( char @ list @ product_prod ) @ ( char @ list @ hAPP ) ) ) @ ( E @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ hAPP ) ) ) )
            = ( C @ ( val @ some @ ( val @ option @ ( val @ hAPP ) ) ) ) )
         => ( J @ ( red @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ transitive_rtrancl @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ hAPP ) ) ) @ ( I @ ( C @ ( char @ list @ val_1 @ ( char @ list @ exp @ ( val @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ ( G @ ( B @ ( A @ ( F @ ( char @ list @ fAcc @ ( char @ list @ exp @ ( char @ list @ fun ) @ ( char @ list @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( char @ list @ exp @ ( char @ list @ fun ) @ ( char @ list @ hAPP ) ) ) @ ( char @ list @ exp @ ( char @ list @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ member @ ( bool @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ hAPP ) ) ) @ ( bool @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ hAPP ) ) ) @ hBOOL ) ) ) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',fact_214_FAccRedsVal) ).

thf(2056,plain,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i,F: $i,G: $i,H: $i,I: $i,J: $i] :
      ( ( J @ ( red @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ transitive_rtrancl @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ hAPP ) ) ) @ ( I @ ( H @ ( addr @ ( val @ ( nat @ hAPP ) ) ) @ ( char @ list @ val_1 @ ( char @ list @ exp @ ( val @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ ( G @ ( F @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ member @ ( bool @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ hAPP ) ) ) @ ( bool @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ hAPP ) ) ) @ hBOOL )
     => ( ( ( H @ ( I @ ( hp @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ hAPP ) ) ) )
          = ( E @ ( D @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_Pair ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ fun ) @ ( char @ list @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ some @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ hAPP ) ) ) ) )
       => ( ( ( B @ ( A @ ( char @ list @ ( char @ list @ product_Pair ) @ ( char @ list @ ( char @ list @ product_prod ) @ ( char @ list @ fun ) @ ( char @ list @ hAPP ) ) ) @ ( char @ list @ ( char @ list @ product_prod ) @ ( char @ list @ hAPP ) ) ) @ ( E @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ hAPP ) ) ) )
            = ( C @ ( val @ some @ ( val @ option @ ( val @ hAPP ) ) ) ) )
         => ( J @ ( red @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ transitive_rtrancl @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ hAPP ) ) ) @ ( I @ ( C @ ( char @ list @ val_1 @ ( char @ list @ exp @ ( val @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ ( G @ ( B @ ( A @ ( F @ ( char @ list @ fAcc @ ( char @ list @ exp @ ( char @ list @ fun ) @ ( char @ list @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( char @ list @ exp @ ( char @ list @ fun ) @ ( char @ list @ hAPP ) ) ) @ ( char @ list @ exp @ ( char @ list @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ member @ ( bool @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ hAPP ) ) ) @ ( bool @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ hAPP ) ) ) @ hBOOL ) ) ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[377]) ).

thf(122,axiom,
    ! [A: $i] :
      ( ( A @ fequal @ ( bool @ ( A @ fun ) @ ( A @ fun ) @ ti ) )
      = ( A @ fequal ) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',tsy_c_fequal_res) ).

thf(1052,plain,
    ! [A: $i] :
      ( ( A @ fequal @ ( bool @ ( A @ fun ) @ ( A @ fun ) @ ti ) )
      = ( A @ fequal ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[122]) ).

thf(240,axiom,
    ! [A: $i,B: $i,C: $i] : ( C @ ( B @ ( char @ list @ throw @ ( char @ list @ exp @ ( char @ list @ exp @ hAPP ) ) ) @ ( C @ ( B @ ( char @ list @ throw @ ( char @ list @ exp @ ( char @ list @ exp @ hAPP ) ) ) @ ( char @ list @ throw @ ( char @ list @ exp @ ( char @ list @ exp @ hAPP ) ) ) @ ( A @ ( redp @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ hBOOL ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',fact_246_redp__redsp_OThrowThrow) ).

thf(1506,plain,
    ! [A: $i,B: $i,C: $i] : ( C @ ( B @ ( char @ list @ throw @ ( char @ list @ exp @ ( char @ list @ exp @ hAPP ) ) ) @ ( C @ ( B @ ( char @ list @ throw @ ( char @ list @ exp @ ( char @ list @ exp @ hAPP ) ) ) @ ( char @ list @ throw @ ( char @ list @ exp @ ( char @ list @ exp @ hAPP ) ) ) @ ( A @ ( redp @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ hBOOL ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[240]) ).

thf(102,axiom,
    ( ( p @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ti ) )
    = p ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',tsy_v_P_res) ).

thf(978,plain,
    ( ( p @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ti ) )
    = p ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[102]) ).

thf(145,axiom,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i,F: $i,G: $i,H: $i,I: $i] :
      ( ( I @ ( red @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ transitive_rtrancl @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ hAPP ) ) ) @ ( H @ ( null @ ( char @ list @ val_1 @ ( char @ list @ exp @ ( val @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ ( G @ ( F @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ member @ ( bool @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ hAPP ) ) ) @ ( bool @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ hAPP ) ) ) @ hBOOL )
     => ( ( I @ ( red @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ transitive_rtrancl @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ hAPP ) ) ) @ ( E @ ( D @ ( char @ list @ val_1 @ ( char @ list @ exp @ ( val @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ ( H @ ( C @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ member @ ( bool @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ hAPP ) ) ) @ ( bool @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ hAPP ) ) ) @ hBOOL )
       => ( I @ ( red @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ transitive_rtrancl @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ hAPP ) ) ) @ ( E @ ( nullPointer @ ( addr_of_sys_xcpt @ ( nat @ ( char @ list @ hAPP ) ) ) @ ( addr @ ( val @ ( nat @ hAPP ) ) ) @ ( char @ list @ val_1 @ ( char @ list @ exp @ ( val @ hAPP ) ) ) @ ( char @ list @ throw @ ( char @ list @ exp @ ( char @ list @ exp @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ ( G @ ( C @ ( B @ ( A @ ( F @ ( char @ list @ fAss @ ( char @ list @ exp @ ( char @ list @ exp @ fun ) @ ( char @ list @ fun ) @ ( char @ list @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( char @ list @ exp @ ( char @ list @ exp @ fun ) @ ( char @ list @ fun ) @ ( char @ list @ hAPP ) ) ) @ ( char @ list @ exp @ ( char @ list @ exp @ fun ) @ ( char @ list @ hAPP ) ) ) @ ( char @ list @ exp @ ( char @ list @ exp @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ member @ ( bool @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ hAPP ) ) ) @ ( bool @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ hAPP ) ) ) @ hBOOL ) ) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',fact_408_FAssRedsNull) ).

thf(1140,plain,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i,F: $i,G: $i,H: $i,I: $i] :
      ( ( I @ ( red @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ transitive_rtrancl @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ hAPP ) ) ) @ ( H @ ( null @ ( char @ list @ val_1 @ ( char @ list @ exp @ ( val @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ ( G @ ( F @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ member @ ( bool @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ hAPP ) ) ) @ ( bool @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ hAPP ) ) ) @ hBOOL )
     => ( ( I @ ( red @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ transitive_rtrancl @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ hAPP ) ) ) @ ( E @ ( D @ ( char @ list @ val_1 @ ( char @ list @ exp @ ( val @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ ( H @ ( C @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ member @ ( bool @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ hAPP ) ) ) @ ( bool @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ hAPP ) ) ) @ hBOOL )
       => ( I @ ( red @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ transitive_rtrancl @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ hAPP ) ) ) @ ( E @ ( nullPointer @ ( addr_of_sys_xcpt @ ( nat @ ( char @ list @ hAPP ) ) ) @ ( addr @ ( val @ ( nat @ hAPP ) ) ) @ ( char @ list @ val_1 @ ( char @ list @ exp @ ( val @ hAPP ) ) ) @ ( char @ list @ throw @ ( char @ list @ exp @ ( char @ list @ exp @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ ( G @ ( C @ ( B @ ( A @ ( F @ ( char @ list @ fAss @ ( char @ list @ exp @ ( char @ list @ exp @ fun ) @ ( char @ list @ fun ) @ ( char @ list @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( char @ list @ exp @ ( char @ list @ exp @ fun ) @ ( char @ list @ fun ) @ ( char @ list @ hAPP ) ) ) @ ( char @ list @ exp @ ( char @ list @ exp @ fun ) @ ( char @ list @ hAPP ) ) ) @ ( char @ list @ exp @ ( char @ list @ exp @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ member @ ( bool @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ hAPP ) ) ) @ ( bool @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ hAPP ) ) ) @ hBOOL ) ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[145]) ).

thf(365,axiom,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i] :
      ( ( E @ ( D @ ( C @ ( bool @ ( A @ fun ) @ ( B @ hAPP ) ) ) @ ( bool @ ( A @ hAPP ) ) ) @ hBOOL )
     => ( E @ ( D @ ( A @ ( B @ product_Pair ) @ ( A @ ( B @ product_prod ) @ ( A @ fun ) @ ( B @ hAPP ) ) ) @ ( A @ ( B @ product_prod ) @ ( A @ hAPP ) ) ) @ ( C @ ( bool @ ( A @ ( B @ product_prod_case ) ) @ ( bool @ ( A @ ( B @ product_prod ) @ fun ) @ ( bool @ ( A @ fun ) @ ( B @ fun ) @ hAPP ) ) ) @ ( bool @ ( A @ ( B @ product_prod ) @ hAPP ) ) ) @ hBOOL ) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',fact_48_prod__caseI) ).

thf(2013,plain,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i] :
      ( ( E @ ( D @ ( C @ ( bool @ ( A @ fun ) @ ( B @ hAPP ) ) ) @ ( bool @ ( A @ hAPP ) ) ) @ hBOOL )
     => ( E @ ( D @ ( A @ ( B @ product_Pair ) @ ( A @ ( B @ product_prod ) @ ( A @ fun ) @ ( B @ hAPP ) ) ) @ ( A @ ( B @ product_prod ) @ ( A @ hAPP ) ) ) @ ( C @ ( bool @ ( A @ ( B @ product_prod_case ) ) @ ( bool @ ( A @ ( B @ product_prod ) @ fun ) @ ( bool @ ( A @ fun ) @ ( B @ fun ) @ hAPP ) ) ) @ ( bool @ ( A @ ( B @ product_prod ) @ hAPP ) ) ) @ hBOOL ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[365]) ).

thf(388,axiom,
    ( ( typeSa1687304666_sconf @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( ty @ option @ ( char @ list @ fun ) @ fun ) @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ fun ) @ ti ) )
    = typeSa1687304666_sconf ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',tsy_c_TypeSafe__Mirabelle__lrkjpapgnz_Osconf_res) ).

thf(2088,plain,
    ( ( typeSa1687304666_sconf @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( ty @ option @ ( char @ list @ fun ) @ fun ) @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ fun ) @ ti ) )
    = typeSa1687304666_sconf ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[388]) ).

thf(357,axiom,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i,F: $i] :
      ( ( F @ ( E @ ( B @ ( A @ product_Pair ) @ ( B @ ( A @ product_prod ) @ ( B @ fun ) @ ( A @ hAPP ) ) ) @ ( B @ ( A @ product_prod ) @ ( B @ hAPP ) ) ) @ ( D @ ( C @ ( B @ ( A @ product_prod_rec ) ) @ ( C @ ( B @ ( A @ product_prod ) @ fun ) @ ( C @ ( B @ fun ) @ ( A @ fun ) @ hAPP ) ) ) @ ( C @ ( B @ ( A @ product_prod ) @ hAPP ) ) ) )
      = ( F @ ( E @ ( D @ ( C @ ( B @ fun ) @ ( A @ hAPP ) ) ) @ ( C @ ( B @ hAPP ) ) ) ) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',fact_32_prod_Orecs) ).

thf(1966,plain,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i,F: $i] :
      ( ( F @ ( E @ ( B @ ( A @ product_Pair ) @ ( B @ ( A @ product_prod ) @ ( B @ fun ) @ ( A @ hAPP ) ) ) @ ( B @ ( A @ product_prod ) @ ( B @ hAPP ) ) ) @ ( D @ ( C @ ( B @ ( A @ product_prod_rec ) ) @ ( C @ ( B @ ( A @ product_prod ) @ fun ) @ ( C @ ( B @ fun ) @ ( A @ fun ) @ hAPP ) ) ) @ ( C @ ( B @ ( A @ product_prod ) @ hAPP ) ) ) )
      = ( F @ ( E @ ( D @ ( C @ ( B @ fun ) @ ( A @ hAPP ) ) ) @ ( C @ ( B @ hAPP ) ) ) ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[357]) ).

thf(90,axiom,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i,F: $i,G: $i,H: $i] :
      ( ( H @ ( B @ ( A @ product_prod ) @ transitive_rtrancl @ ( bool @ ( B @ ( A @ product_prod ) @ ( B @ ( A @ product_prod ) @ product_prod ) @ fun ) @ ( bool @ ( B @ ( A @ product_prod ) @ ( B @ ( A @ product_prod ) @ product_prod ) @ fun ) @ hAPP ) ) ) @ ( G @ ( F @ ( B @ ( A @ product_Pair ) @ ( B @ ( A @ product_prod ) @ ( B @ fun ) @ ( A @ hAPP ) ) ) @ ( B @ ( A @ product_prod ) @ ( B @ hAPP ) ) ) @ ( E @ ( D @ ( B @ ( A @ product_Pair ) @ ( B @ ( A @ product_prod ) @ ( B @ fun ) @ ( A @ hAPP ) ) ) @ ( B @ ( A @ product_prod ) @ ( B @ hAPP ) ) ) @ ( B @ ( A @ product_prod ) @ ( B @ ( A @ product_prod ) @ product_Pair ) @ ( B @ ( A @ product_prod ) @ ( B @ ( A @ product_prod ) @ product_prod ) @ ( B @ ( A @ product_prod ) @ fun ) @ ( B @ ( A @ product_prod ) @ hAPP ) ) ) @ ( B @ ( A @ product_prod ) @ ( B @ ( A @ product_prod ) @ product_prod ) @ ( B @ ( A @ product_prod ) @ hAPP ) ) ) @ ( B @ ( A @ product_prod ) @ ( B @ ( A @ product_prod ) @ product_prod ) @ member @ ( bool @ ( bool @ ( B @ ( A @ product_prod ) @ ( B @ ( A @ product_prod ) @ product_prod ) @ fun ) @ fun ) @ ( B @ ( A @ product_prod ) @ ( B @ ( A @ product_prod ) @ product_prod ) @ hAPP ) ) ) @ ( bool @ ( bool @ ( B @ ( A @ product_prod ) @ ( B @ ( A @ product_prod ) @ product_prod ) @ fun ) @ hAPP ) ) ) @ hBOOL )
     => ( ( G @ ( F @ ( C @ ( bool @ ( B @ fun ) @ ( A @ hAPP ) ) ) @ ( bool @ ( B @ hAPP ) ) ) @ hBOOL )
       => ( ! [I: $i,J: $i,K: $i,L: $i] :
              ( ( H @ ( L @ ( K @ ( B @ ( A @ product_Pair ) @ ( B @ ( A @ product_prod ) @ ( B @ fun ) @ ( A @ hAPP ) ) ) @ ( B @ ( A @ product_prod ) @ ( B @ hAPP ) ) ) @ ( J @ ( I @ ( B @ ( A @ product_Pair ) @ ( B @ ( A @ product_prod ) @ ( B @ fun ) @ ( A @ hAPP ) ) ) @ ( B @ ( A @ product_prod ) @ ( B @ hAPP ) ) ) @ ( B @ ( A @ product_prod ) @ ( B @ ( A @ product_prod ) @ product_Pair ) @ ( B @ ( A @ product_prod ) @ ( B @ ( A @ product_prod ) @ product_prod ) @ ( B @ ( A @ product_prod ) @ fun ) @ ( B @ ( A @ product_prod ) @ hAPP ) ) ) @ ( B @ ( A @ product_prod ) @ ( B @ ( A @ product_prod ) @ product_prod ) @ ( B @ ( A @ product_prod ) @ hAPP ) ) ) @ ( B @ ( A @ product_prod ) @ ( B @ ( A @ product_prod ) @ product_prod ) @ member @ ( bool @ ( bool @ ( B @ ( A @ product_prod ) @ ( B @ ( A @ product_prod ) @ product_prod ) @ fun ) @ fun ) @ ( B @ ( A @ product_prod ) @ ( B @ ( A @ product_prod ) @ product_prod ) @ hAPP ) ) ) @ ( bool @ ( bool @ ( B @ ( A @ product_prod ) @ ( B @ ( A @ product_prod ) @ product_prod ) @ fun ) @ hAPP ) ) ) @ hBOOL )
             => ( ( H @ ( B @ ( A @ product_prod ) @ transitive_rtrancl @ ( bool @ ( B @ ( A @ product_prod ) @ ( B @ ( A @ product_prod ) @ product_prod ) @ fun ) @ ( bool @ ( B @ ( A @ product_prod ) @ ( B @ ( A @ product_prod ) @ product_prod ) @ fun ) @ hAPP ) ) ) @ ( G @ ( F @ ( B @ ( A @ product_Pair ) @ ( B @ ( A @ product_prod ) @ ( B @ fun ) @ ( A @ hAPP ) ) ) @ ( B @ ( A @ product_prod ) @ ( B @ hAPP ) ) ) @ ( L @ ( K @ ( B @ ( A @ product_Pair ) @ ( B @ ( A @ product_prod ) @ ( B @ fun ) @ ( A @ hAPP ) ) ) @ ( B @ ( A @ product_prod ) @ ( B @ hAPP ) ) ) @ ( B @ ( A @ product_prod ) @ ( B @ ( A @ product_prod ) @ product_Pair ) @ ( B @ ( A @ product_prod ) @ ( B @ ( A @ product_prod ) @ product_prod ) @ ( B @ ( A @ product_prod ) @ fun ) @ ( B @ ( A @ product_prod ) @ hAPP ) ) ) @ ( B @ ( A @ product_prod ) @ ( B @ ( A @ product_prod ) @ product_prod ) @ ( B @ ( A @ product_prod ) @ hAPP ) ) ) @ ( B @ ( A @ product_prod ) @ ( B @ ( A @ product_prod ) @ product_prod ) @ member @ ( bool @ ( bool @ ( B @ ( A @ product_prod ) @ ( B @ ( A @ product_prod ) @ product_prod ) @ fun ) @ fun ) @ ( B @ ( A @ product_prod ) @ ( B @ ( A @ product_prod ) @ product_prod ) @ hAPP ) ) ) @ ( bool @ ( bool @ ( B @ ( A @ product_prod ) @ ( B @ ( A @ product_prod ) @ product_prod ) @ fun ) @ hAPP ) ) ) @ hBOOL )
               => ( ( L @ ( K @ ( C @ ( bool @ ( B @ fun ) @ ( A @ hAPP ) ) ) @ ( bool @ ( B @ hAPP ) ) ) @ hBOOL )
                 => ( J @ ( I @ ( C @ ( bool @ ( B @ fun ) @ ( A @ hAPP ) ) ) @ ( bool @ ( B @ hAPP ) ) ) @ hBOOL ) ) ) )
         => ( E @ ( D @ ( C @ ( bool @ ( B @ fun ) @ ( A @ hAPP ) ) ) @ ( bool @ ( B @ hAPP ) ) ) @ hBOOL ) ) ) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',fact_178_converse__rtrancl__induct2) ).

thf(931,plain,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i,F: $i,G: $i,H: $i] :
      ( ( H @ ( B @ ( A @ product_prod ) @ transitive_rtrancl @ ( bool @ ( B @ ( A @ product_prod ) @ ( B @ ( A @ product_prod ) @ product_prod ) @ fun ) @ ( bool @ ( B @ ( A @ product_prod ) @ ( B @ ( A @ product_prod ) @ product_prod ) @ fun ) @ hAPP ) ) ) @ ( G @ ( F @ ( B @ ( A @ product_Pair ) @ ( B @ ( A @ product_prod ) @ ( B @ fun ) @ ( A @ hAPP ) ) ) @ ( B @ ( A @ product_prod ) @ ( B @ hAPP ) ) ) @ ( E @ ( D @ ( B @ ( A @ product_Pair ) @ ( B @ ( A @ product_prod ) @ ( B @ fun ) @ ( A @ hAPP ) ) ) @ ( B @ ( A @ product_prod ) @ ( B @ hAPP ) ) ) @ ( B @ ( A @ product_prod ) @ ( B @ ( A @ product_prod ) @ product_Pair ) @ ( B @ ( A @ product_prod ) @ ( B @ ( A @ product_prod ) @ product_prod ) @ ( B @ ( A @ product_prod ) @ fun ) @ ( B @ ( A @ product_prod ) @ hAPP ) ) ) @ ( B @ ( A @ product_prod ) @ ( B @ ( A @ product_prod ) @ product_prod ) @ ( B @ ( A @ product_prod ) @ hAPP ) ) ) @ ( B @ ( A @ product_prod ) @ ( B @ ( A @ product_prod ) @ product_prod ) @ member @ ( bool @ ( bool @ ( B @ ( A @ product_prod ) @ ( B @ ( A @ product_prod ) @ product_prod ) @ fun ) @ fun ) @ ( B @ ( A @ product_prod ) @ ( B @ ( A @ product_prod ) @ product_prod ) @ hAPP ) ) ) @ ( bool @ ( bool @ ( B @ ( A @ product_prod ) @ ( B @ ( A @ product_prod ) @ product_prod ) @ fun ) @ hAPP ) ) ) @ hBOOL )
     => ( ( G @ ( F @ ( C @ ( bool @ ( B @ fun ) @ ( A @ hAPP ) ) ) @ ( bool @ ( B @ hAPP ) ) ) @ hBOOL )
       => ( ! [I: $i,J: $i,K: $i,L: $i] :
              ( ( H @ ( L @ ( K @ ( B @ ( A @ product_Pair ) @ ( B @ ( A @ product_prod ) @ ( B @ fun ) @ ( A @ hAPP ) ) ) @ ( B @ ( A @ product_prod ) @ ( B @ hAPP ) ) ) @ ( J @ ( I @ ( B @ ( A @ product_Pair ) @ ( B @ ( A @ product_prod ) @ ( B @ fun ) @ ( A @ hAPP ) ) ) @ ( B @ ( A @ product_prod ) @ ( B @ hAPP ) ) ) @ ( B @ ( A @ product_prod ) @ ( B @ ( A @ product_prod ) @ product_Pair ) @ ( B @ ( A @ product_prod ) @ ( B @ ( A @ product_prod ) @ product_prod ) @ ( B @ ( A @ product_prod ) @ fun ) @ ( B @ ( A @ product_prod ) @ hAPP ) ) ) @ ( B @ ( A @ product_prod ) @ ( B @ ( A @ product_prod ) @ product_prod ) @ ( B @ ( A @ product_prod ) @ hAPP ) ) ) @ ( B @ ( A @ product_prod ) @ ( B @ ( A @ product_prod ) @ product_prod ) @ member @ ( bool @ ( bool @ ( B @ ( A @ product_prod ) @ ( B @ ( A @ product_prod ) @ product_prod ) @ fun ) @ fun ) @ ( B @ ( A @ product_prod ) @ ( B @ ( A @ product_prod ) @ product_prod ) @ hAPP ) ) ) @ ( bool @ ( bool @ ( B @ ( A @ product_prod ) @ ( B @ ( A @ product_prod ) @ product_prod ) @ fun ) @ hAPP ) ) ) @ hBOOL )
             => ( ( H @ ( B @ ( A @ product_prod ) @ transitive_rtrancl @ ( bool @ ( B @ ( A @ product_prod ) @ ( B @ ( A @ product_prod ) @ product_prod ) @ fun ) @ ( bool @ ( B @ ( A @ product_prod ) @ ( B @ ( A @ product_prod ) @ product_prod ) @ fun ) @ hAPP ) ) ) @ ( G @ ( F @ ( B @ ( A @ product_Pair ) @ ( B @ ( A @ product_prod ) @ ( B @ fun ) @ ( A @ hAPP ) ) ) @ ( B @ ( A @ product_prod ) @ ( B @ hAPP ) ) ) @ ( L @ ( K @ ( B @ ( A @ product_Pair ) @ ( B @ ( A @ product_prod ) @ ( B @ fun ) @ ( A @ hAPP ) ) ) @ ( B @ ( A @ product_prod ) @ ( B @ hAPP ) ) ) @ ( B @ ( A @ product_prod ) @ ( B @ ( A @ product_prod ) @ product_Pair ) @ ( B @ ( A @ product_prod ) @ ( B @ ( A @ product_prod ) @ product_prod ) @ ( B @ ( A @ product_prod ) @ fun ) @ ( B @ ( A @ product_prod ) @ hAPP ) ) ) @ ( B @ ( A @ product_prod ) @ ( B @ ( A @ product_prod ) @ product_prod ) @ ( B @ ( A @ product_prod ) @ hAPP ) ) ) @ ( B @ ( A @ product_prod ) @ ( B @ ( A @ product_prod ) @ product_prod ) @ member @ ( bool @ ( bool @ ( B @ ( A @ product_prod ) @ ( B @ ( A @ product_prod ) @ product_prod ) @ fun ) @ fun ) @ ( B @ ( A @ product_prod ) @ ( B @ ( A @ product_prod ) @ product_prod ) @ hAPP ) ) ) @ ( bool @ ( bool @ ( B @ ( A @ product_prod ) @ ( B @ ( A @ product_prod ) @ product_prod ) @ fun ) @ hAPP ) ) ) @ hBOOL )
               => ( ( L @ ( K @ ( C @ ( bool @ ( B @ fun ) @ ( A @ hAPP ) ) ) @ ( bool @ ( B @ hAPP ) ) ) @ hBOOL )
                 => ( J @ ( I @ ( C @ ( bool @ ( B @ fun ) @ ( A @ hAPP ) ) ) @ ( bool @ ( B @ hAPP ) ) ) @ hBOOL ) ) ) )
         => ( E @ ( D @ ( C @ ( bool @ ( B @ fun ) @ ( A @ hAPP ) ) ) @ ( bool @ ( B @ hAPP ) ) ) @ hBOOL ) ) ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[90]) ).

thf(192,axiom,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i,F: $i] :
      ( ( F @ ( E @ ( B @ ( A @ product_Pair ) @ ( B @ ( A @ product_prod ) @ ( B @ fun ) @ ( A @ hAPP ) ) ) @ ( B @ ( A @ product_prod ) @ ( B @ hAPP ) ) ) @ ( D @ ( C @ ( B @ ( A @ product_prod_case ) ) @ ( C @ ( B @ ( A @ product_prod ) @ fun ) @ ( C @ ( B @ fun ) @ ( A @ fun ) @ hAPP ) ) ) @ ( C @ ( B @ ( A @ product_prod ) @ hAPP ) ) ) )
      = ( F @ ( E @ ( D @ ( C @ ( B @ fun ) @ ( A @ hAPP ) ) ) @ ( C @ ( B @ hAPP ) ) ) ) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',fact_71_prod_Osimps_I2_J) ).

thf(1321,plain,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i,F: $i] :
      ( ( F @ ( E @ ( B @ ( A @ product_Pair ) @ ( B @ ( A @ product_prod ) @ ( B @ fun ) @ ( A @ hAPP ) ) ) @ ( B @ ( A @ product_prod ) @ ( B @ hAPP ) ) ) @ ( D @ ( C @ ( B @ ( A @ product_prod_case ) ) @ ( C @ ( B @ ( A @ product_prod ) @ fun ) @ ( C @ ( B @ fun ) @ ( A @ fun ) @ hAPP ) ) ) @ ( C @ ( B @ ( A @ product_prod ) @ hAPP ) ) ) )
      = ( F @ ( E @ ( D @ ( C @ ( B @ fun ) @ ( A @ hAPP ) ) ) @ ( C @ ( B @ hAPP ) ) ) ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[192]) ).

thf(420,axiom,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i] :
      ( ( C @ ( B @ ( A @ seq @ ( A @ exp @ ( A @ exp @ fun ) @ ( A @ exp @ hAPP ) ) ) @ ( A @ exp @ ( A @ exp @ hAPP ) ) ) )
     != ( E @ ( D @ ( A @ while @ ( A @ exp @ ( A @ exp @ fun ) @ ( A @ exp @ hAPP ) ) ) @ ( A @ exp @ ( A @ exp @ hAPP ) ) ) ) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',fact_484_exp_Osimps_I208_J) ).

thf(2194,plain,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i] :
      ( ( C @ ( B @ ( A @ seq @ ( A @ exp @ ( A @ exp @ fun ) @ ( A @ exp @ hAPP ) ) ) @ ( A @ exp @ ( A @ exp @ hAPP ) ) ) )
     != ( E @ ( D @ ( A @ while @ ( A @ exp @ ( A @ exp @ fun ) @ ( A @ exp @ hAPP ) ) ) @ ( A @ exp @ ( A @ exp @ hAPP ) ) ) ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[420]) ).

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] :
      ( ( K @ ( J @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ hAPP ) ) ) @ ( I @ ( H @ ( val @ some @ ( val @ option @ ( val @ hAPP ) ) ) @ ( G @ ( F @ ( val @ option @ ( char @ list @ fun_upd ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ fun ) @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ fun ) @ ( char @ list @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ hAPP ) ) ) @ ( E @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ hAPP ) ) ) @ ( D @ ( C @ ( redp @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ hBOOL )
     => ( ( ( G @ ( K @ ( val @ option @ ( char @ list @ hAPP ) ) ) )
          = ( B @ ( val @ some @ ( val @ option @ ( val @ hAPP ) ) ) ) )
       => ( G @ ( F @ ( val @ option @ ( char @ list @ hAPP ) ) ) @ ( G @ ( K @ ( val @ option @ ( char @ list @ fun_upd ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ fun ) @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ fun ) @ ( char @ list @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ hAPP ) ) ) @ ( J @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ hAPP ) ) ) @ ( I @ ( B @ ( char @ list @ val_1 @ ( char @ list @ exp @ ( val @ hAPP ) ) ) @ ( G @ ( char @ list @ lAss @ ( char @ list @ exp @ ( char @ list @ exp @ fun ) @ ( char @ list @ hAPP ) ) ) @ ( char @ list @ exp @ ( char @ list @ exp @ hAPP ) ) ) @ ( char @ list @ seq @ ( char @ list @ exp @ ( char @ list @ exp @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( char @ list @ exp @ ( char @ list @ exp @ hAPP ) ) ) @ ( A @ ( G @ ( char @ list @ block @ ( char @ list @ exp @ ( char @ list @ exp @ fun ) @ ( ty @ fun ) @ ( char @ list @ hAPP ) ) ) @ ( char @ list @ exp @ ( char @ list @ exp @ fun ) @ ( ty @ hAPP ) ) ) @ ( char @ list @ exp @ ( char @ list @ exp @ hAPP ) ) ) @ ( F @ ( E @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ hAPP ) ) ) @ ( D @ ( H @ ( char @ list @ val_1 @ ( char @ list @ exp @ ( val @ hAPP ) ) ) @ ( G @ ( char @ list @ lAss @ ( char @ list @ exp @ ( char @ list @ exp @ fun ) @ ( char @ list @ hAPP ) ) ) @ ( char @ list @ exp @ ( char @ list @ exp @ hAPP ) ) ) @ ( char @ list @ seq @ ( char @ list @ exp @ ( char @ list @ exp @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( char @ list @ exp @ ( char @ list @ exp @ hAPP ) ) ) @ ( A @ ( G @ ( char @ list @ block @ ( char @ list @ exp @ ( char @ list @ exp @ fun ) @ ( ty @ fun ) @ ( char @ list @ hAPP ) ) ) @ ( char @ list @ exp @ ( char @ list @ exp @ fun ) @ ( ty @ hAPP ) ) ) @ ( char @ list @ exp @ ( char @ list @ exp @ hAPP ) ) ) @ ( C @ ( redp @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ hBOOL ) ) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',fact_125_redp__redsp_OInitBlockRed) ).

thf(2347,plain,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i,F: $i,G: $i,H: $i,I: $i,J: $i,K: $i] :
      ( ( K @ ( J @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ hAPP ) ) ) @ ( I @ ( H @ ( val @ some @ ( val @ option @ ( val @ hAPP ) ) ) @ ( G @ ( F @ ( val @ option @ ( char @ list @ fun_upd ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ fun ) @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ fun ) @ ( char @ list @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ hAPP ) ) ) @ ( E @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ hAPP ) ) ) @ ( D @ ( C @ ( redp @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ hBOOL )
     => ( ( ( G @ ( K @ ( val @ option @ ( char @ list @ hAPP ) ) ) )
          = ( B @ ( val @ some @ ( val @ option @ ( val @ hAPP ) ) ) ) )
       => ( G @ ( F @ ( val @ option @ ( char @ list @ hAPP ) ) ) @ ( G @ ( K @ ( val @ option @ ( char @ list @ fun_upd ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ fun ) @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ fun ) @ ( char @ list @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ hAPP ) ) ) @ ( J @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ hAPP ) ) ) @ ( I @ ( B @ ( char @ list @ val_1 @ ( char @ list @ exp @ ( val @ hAPP ) ) ) @ ( G @ ( char @ list @ lAss @ ( char @ list @ exp @ ( char @ list @ exp @ fun ) @ ( char @ list @ hAPP ) ) ) @ ( char @ list @ exp @ ( char @ list @ exp @ hAPP ) ) ) @ ( char @ list @ seq @ ( char @ list @ exp @ ( char @ list @ exp @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( char @ list @ exp @ ( char @ list @ exp @ hAPP ) ) ) @ ( A @ ( G @ ( char @ list @ block @ ( char @ list @ exp @ ( char @ list @ exp @ fun ) @ ( ty @ fun ) @ ( char @ list @ hAPP ) ) ) @ ( char @ list @ exp @ ( char @ list @ exp @ fun ) @ ( ty @ hAPP ) ) ) @ ( char @ list @ exp @ ( char @ list @ exp @ hAPP ) ) ) @ ( F @ ( E @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ hAPP ) ) ) @ ( D @ ( H @ ( char @ list @ val_1 @ ( char @ list @ exp @ ( val @ hAPP ) ) ) @ ( G @ ( char @ list @ lAss @ ( char @ list @ exp @ ( char @ list @ exp @ fun ) @ ( char @ list @ hAPP ) ) ) @ ( char @ list @ exp @ ( char @ list @ exp @ hAPP ) ) ) @ ( char @ list @ seq @ ( char @ list @ exp @ ( char @ list @ exp @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( char @ list @ exp @ ( char @ list @ exp @ hAPP ) ) ) @ ( A @ ( G @ ( char @ list @ block @ ( char @ list @ exp @ ( char @ list @ exp @ fun ) @ ( ty @ fun ) @ ( char @ list @ hAPP ) ) ) @ ( char @ list @ exp @ ( char @ list @ exp @ fun ) @ ( ty @ hAPP ) ) ) @ ( char @ list @ exp @ ( char @ list @ exp @ hAPP ) ) ) @ ( C @ ( redp @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ hBOOL ) ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[467]) ).

thf(426,axiom,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i] :
      ( ( C @ ( B @ ( A @ while @ ( A @ exp @ ( A @ exp @ fun ) @ ( A @ exp @ hAPP ) ) ) @ ( A @ exp @ ( A @ exp @ hAPP ) ) ) )
     != ( E @ ( D @ ( A @ cast @ ( A @ exp @ ( A @ exp @ fun ) @ ( char @ list @ hAPP ) ) ) @ ( A @ exp @ ( A @ exp @ hAPP ) ) ) ) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',fact_481_exp_Osimps_I65_J) ).

thf(2215,plain,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i] :
      ( ( C @ ( B @ ( A @ while @ ( A @ exp @ ( A @ exp @ fun ) @ ( A @ exp @ hAPP ) ) ) @ ( A @ exp @ ( A @ exp @ hAPP ) ) ) )
     != ( E @ ( D @ ( A @ cast @ ( A @ exp @ ( A @ exp @ fun ) @ ( char @ list @ hAPP ) ) ) @ ( A @ exp @ ( A @ exp @ hAPP ) ) ) ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[426]) ).

thf(429,axiom,
    ! [A: $i] :
      ( ( A @ some @ ( A @ option @ ( A @ fun ) @ ti ) )
      = ( A @ some ) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',tsy_c_Option_Ooption_OSome_res) ).

thf(2226,plain,
    ! [A: $i] :
      ( ( A @ some @ ( A @ option @ ( A @ fun ) @ ti ) )
      = ( A @ some ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[429]) ).

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] : ( L @ ( K @ ( E @ ( D @ product_Pair ) @ ( E @ ( D @ product_prod ) @ ( E @ fun ) @ ( D @ hAPP ) ) ) @ ( E @ ( D @ product_prod ) @ ( E @ hAPP ) ) ) @ ( J @ ( E @ ( D @ product_prod ) @ ( C @ product_Pair ) @ ( E @ ( D @ product_prod ) @ ( C @ product_prod ) @ ( E @ ( D @ product_prod ) @ fun ) @ ( C @ hAPP ) ) ) @ ( E @ ( D @ product_prod ) @ ( C @ product_prod ) @ ( E @ ( D @ product_prod ) @ hAPP ) ) ) @ ( I @ ( E @ ( D @ product_prod ) @ ( C @ product_prod ) @ ( B @ product_Pair ) @ ( E @ ( D @ product_prod ) @ ( C @ product_prod ) @ ( B @ product_prod ) @ ( E @ ( D @ product_prod ) @ ( C @ product_prod ) @ fun ) @ ( B @ hAPP ) ) ) @ ( E @ ( D @ product_prod ) @ ( C @ product_prod ) @ ( B @ product_prod ) @ ( E @ ( D @ product_prod ) @ ( C @ product_prod ) @ hAPP ) ) ) @ ( H @ ( E @ ( D @ product_prod ) @ ( C @ product_prod ) @ ( B @ product_prod ) @ ( A @ product_Pair ) @ ( E @ ( D @ product_prod ) @ ( C @ product_prod ) @ ( B @ product_prod ) @ ( A @ product_prod ) @ ( E @ ( D @ product_prod ) @ ( C @ product_prod ) @ ( B @ product_prod ) @ fun ) @ ( A @ hAPP ) ) ) @ ( E @ ( D @ product_prod ) @ ( C @ product_prod ) @ ( B @ product_prod ) @ ( A @ product_prod ) @ ( E @ ( D @ product_prod ) @ ( C @ product_prod ) @ ( B @ product_prod ) @ hAPP ) ) ) @ ( G @ ( bool @ ( E @ ( D @ product_prod ) @ ( C @ product_prod ) @ ( B @ product_prod ) @ ( A @ product_prod ) @ hAPP ) ) ) @ hBOOL )
     => ( F @ ( G @ ( bool @ ( E @ ( D @ product_prod ) @ ( C @ product_prod ) @ ( B @ product_prod ) @ ( A @ product_prod ) @ hAPP ) ) ) @ hBOOL ) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',fact_10_prod__induct5) ).

thf(771,plain,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i,F: $i,G: $i] :
      ( ! [H: $i,I: $i,J: $i,K: $i,L: $i] : ( L @ ( K @ ( E @ ( D @ product_Pair ) @ ( E @ ( D @ product_prod ) @ ( E @ fun ) @ ( D @ hAPP ) ) ) @ ( E @ ( D @ product_prod ) @ ( E @ hAPP ) ) ) @ ( J @ ( E @ ( D @ product_prod ) @ ( C @ product_Pair ) @ ( E @ ( D @ product_prod ) @ ( C @ product_prod ) @ ( E @ ( D @ product_prod ) @ fun ) @ ( C @ hAPP ) ) ) @ ( E @ ( D @ product_prod ) @ ( C @ product_prod ) @ ( E @ ( D @ product_prod ) @ hAPP ) ) ) @ ( I @ ( E @ ( D @ product_prod ) @ ( C @ product_prod ) @ ( B @ product_Pair ) @ ( E @ ( D @ product_prod ) @ ( C @ product_prod ) @ ( B @ product_prod ) @ ( E @ ( D @ product_prod ) @ ( C @ product_prod ) @ fun ) @ ( B @ hAPP ) ) ) @ ( E @ ( D @ product_prod ) @ ( C @ product_prod ) @ ( B @ product_prod ) @ ( E @ ( D @ product_prod ) @ ( C @ product_prod ) @ hAPP ) ) ) @ ( H @ ( E @ ( D @ product_prod ) @ ( C @ product_prod ) @ ( B @ product_prod ) @ ( A @ product_Pair ) @ ( E @ ( D @ product_prod ) @ ( C @ product_prod ) @ ( B @ product_prod ) @ ( A @ product_prod ) @ ( E @ ( D @ product_prod ) @ ( C @ product_prod ) @ ( B @ product_prod ) @ fun ) @ ( A @ hAPP ) ) ) @ ( E @ ( D @ product_prod ) @ ( C @ product_prod ) @ ( B @ product_prod ) @ ( A @ product_prod ) @ ( E @ ( D @ product_prod ) @ ( C @ product_prod ) @ ( B @ product_prod ) @ hAPP ) ) ) @ ( G @ ( bool @ ( E @ ( D @ product_prod ) @ ( C @ product_prod ) @ ( B @ product_prod ) @ ( A @ product_prod ) @ hAPP ) ) ) @ hBOOL )
     => ( F @ ( G @ ( bool @ ( E @ ( D @ product_prod ) @ ( C @ product_prod ) @ ( B @ product_prod ) @ ( A @ product_prod ) @ hAPP ) ) ) @ hBOOL ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[44]) ).

thf(190,axiom,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i,F: $i,G: $i,H: $i,I: $i] :
      ( ( I @ ( H @ ( char @ list @ val_1 @ ( char @ list @ exp @ ( val @ hAPP ) ) ) @ ( G @ ( F @ ( E @ ( eval @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ hBOOL )
     => ( ( D @ ( C @ ( char @ list @ throw @ ( char @ list @ exp @ ( char @ list @ exp @ hAPP ) ) ) @ ( I @ ( B @ ( E @ ( eval @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ hBOOL )
       => ( D @ ( C @ ( char @ list @ throw @ ( char @ list @ exp @ ( char @ list @ exp @ hAPP ) ) ) @ ( G @ ( B @ ( A @ ( F @ ( char @ list @ binOp @ ( char @ list @ exp @ ( char @ list @ exp @ fun ) @ ( bop @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( char @ list @ exp @ ( char @ list @ exp @ fun ) @ ( bop @ hAPP ) ) ) @ ( char @ list @ exp @ ( char @ list @ exp @ hAPP ) ) ) @ ( E @ ( eval @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ hBOOL ) ) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',fact_446_eval__evals_OBinOpThrow2) ).

thf(1316,plain,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i,F: $i,G: $i,H: $i,I: $i] :
      ( ( I @ ( H @ ( char @ list @ val_1 @ ( char @ list @ exp @ ( val @ hAPP ) ) ) @ ( G @ ( F @ ( E @ ( eval @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ hBOOL )
     => ( ( D @ ( C @ ( char @ list @ throw @ ( char @ list @ exp @ ( char @ list @ exp @ hAPP ) ) ) @ ( I @ ( B @ ( E @ ( eval @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ hBOOL )
       => ( D @ ( C @ ( char @ list @ throw @ ( char @ list @ exp @ ( char @ list @ exp @ hAPP ) ) ) @ ( G @ ( B @ ( A @ ( F @ ( char @ list @ binOp @ ( char @ list @ exp @ ( char @ list @ exp @ fun ) @ ( bop @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( char @ list @ exp @ ( char @ list @ exp @ fun ) @ ( bop @ hAPP ) ) ) @ ( char @ list @ exp @ ( char @ list @ exp @ hAPP ) ) ) @ ( E @ ( eval @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ hBOOL ) ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[190]) ).

thf(276,axiom,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i] :
      ( ( ( C @ ( B @ ( A @ while @ ( A @ exp @ ( A @ exp @ fun ) @ ( A @ exp @ hAPP ) ) ) @ ( A @ exp @ ( A @ exp @ hAPP ) ) ) )
        = ( E @ ( D @ ( A @ while @ ( A @ exp @ ( A @ exp @ fun ) @ ( A @ exp @ hAPP ) ) ) @ ( A @ exp @ ( A @ exp @ hAPP ) ) ) ) )
    <=> ( ( C = E )
        & ( B = D ) ) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',fact_494_exp_Osimps_I13_J) ).

thf(1649,plain,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i] :
      ( ( ( ( C = E )
          & ( B = D ) )
       => ( ( C @ ( B @ ( A @ while @ ( A @ exp @ ( A @ exp @ fun ) @ ( A @ exp @ hAPP ) ) ) @ ( A @ exp @ ( A @ exp @ hAPP ) ) ) )
          = ( E @ ( D @ ( A @ while @ ( A @ exp @ ( A @ exp @ fun ) @ ( A @ exp @ hAPP ) ) ) @ ( A @ exp @ ( A @ exp @ hAPP ) ) ) ) ) )
      & ( ( ( C @ ( B @ ( A @ while @ ( A @ exp @ ( A @ exp @ fun ) @ ( A @ exp @ hAPP ) ) ) @ ( A @ exp @ ( A @ exp @ hAPP ) ) ) )
          = ( E @ ( D @ ( A @ while @ ( A @ exp @ ( A @ exp @ fun ) @ ( A @ exp @ hAPP ) ) ) @ ( A @ exp @ ( A @ exp @ hAPP ) ) ) ) )
       => ( ( C = E )
          & ( B = D ) ) ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[276]) ).

thf(456,axiom,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i] :
      ( ! [F: $i,G: $i] :
          ( ( G @ ( F @ ( D @ ( B @ ( A @ fun ) @ ( C @ hAPP ) ) ) @ ( B @ ( A @ hAPP ) ) ) )
          = ( G @ ( F @ ( A @ ( C @ product_Pair ) @ ( A @ ( C @ product_prod ) @ ( A @ fun ) @ ( C @ hAPP ) ) ) @ ( A @ ( C @ product_prod ) @ ( A @ hAPP ) ) ) @ ( E @ ( B @ ( A @ ( C @ product_prod ) @ hAPP ) ) ) ) )
     => ( ( D @ ( B @ ( A @ ( C @ product_prod_case ) ) @ ( B @ ( A @ ( C @ product_prod ) @ fun ) @ ( B @ ( A @ fun ) @ ( C @ fun ) @ hAPP ) ) ) )
        = ( E @ ( B @ ( A @ ( C @ product_prod ) @ fun ) @ ti ) ) ) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',fact_92_cond__split__eta) ).

thf(2310,plain,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i] :
      ( ! [F: $i,G: $i] :
          ( ( G @ ( F @ ( D @ ( B @ ( A @ fun ) @ ( C @ hAPP ) ) ) @ ( B @ ( A @ hAPP ) ) ) )
          = ( G @ ( F @ ( A @ ( C @ product_Pair ) @ ( A @ ( C @ product_prod ) @ ( A @ fun ) @ ( C @ hAPP ) ) ) @ ( A @ ( C @ product_prod ) @ ( A @ hAPP ) ) ) @ ( E @ ( B @ ( A @ ( C @ product_prod ) @ hAPP ) ) ) ) )
     => ( ( D @ ( B @ ( A @ ( C @ product_prod_case ) ) @ ( B @ ( A @ ( C @ product_prod ) @ fun ) @ ( B @ ( A @ fun ) @ ( C @ fun ) @ hAPP ) ) ) )
        = ( E @ ( B @ ( A @ ( C @ product_prod ) @ fun ) @ ti ) ) ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[456]) ).

thf(101,axiom,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i,F: $i,G: $i] :
      ( ( G @ ( red @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( F @ ( E @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ ( D @ ( C @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ member @ ( bool @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ hAPP ) ) ) @ ( bool @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ hAPP ) ) ) @ hBOOL )
     => ( G @ ( red @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( F @ ( B @ ( A @ ( E @ ( char @ list @ fAcc @ ( char @ list @ exp @ ( char @ list @ fun ) @ ( char @ list @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( char @ list @ exp @ ( char @ list @ fun ) @ ( char @ list @ hAPP ) ) ) @ ( char @ list @ exp @ ( char @ list @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ ( D @ ( B @ ( A @ ( C @ ( char @ list @ fAcc @ ( char @ list @ exp @ ( char @ list @ fun ) @ ( char @ list @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( char @ list @ exp @ ( char @ list @ fun ) @ ( char @ list @ hAPP ) ) ) @ ( char @ list @ exp @ ( char @ list @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ member @ ( bool @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ hAPP ) ) ) @ ( bool @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ hAPP ) ) ) @ hBOOL ) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',fact_229_red__reds_OFAccRed) ).

thf(976,plain,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i,F: $i,G: $i] :
      ( ( G @ ( red @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( F @ ( E @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ ( D @ ( C @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ member @ ( bool @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ hAPP ) ) ) @ ( bool @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ hAPP ) ) ) @ hBOOL )
     => ( G @ ( red @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( F @ ( B @ ( A @ ( E @ ( char @ list @ fAcc @ ( char @ list @ exp @ ( char @ list @ fun ) @ ( char @ list @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( char @ list @ exp @ ( char @ list @ fun ) @ ( char @ list @ hAPP ) ) ) @ ( char @ list @ exp @ ( char @ list @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ ( D @ ( B @ ( A @ ( C @ ( char @ list @ fAcc @ ( char @ list @ exp @ ( char @ list @ fun ) @ ( char @ list @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( char @ list @ exp @ ( char @ list @ fun ) @ ( char @ list @ hAPP ) ) ) @ ( char @ list @ exp @ ( char @ list @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ member @ ( bool @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ hAPP ) ) ) @ ( bool @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ hAPP ) ) ) @ hBOOL ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[101]) ).

thf(327,axiom,
    ( ( v_1 @ ( l_a @ ( val @ option @ ( char @ list @ hAPP ) ) ) )
    = ( v_2 @ ( val @ some @ ( val @ option @ ( val @ hAPP ) ) ) ) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',fact_0_InitBlockRed_I3_J) ).

thf(1844,plain,
    ( ( v_1 @ ( l_a @ ( val @ option @ ( char @ list @ hAPP ) ) ) )
    = ( v_2 @ ( val @ some @ ( val @ option @ ( val @ hAPP ) ) ) ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[327]) ).

thf(161,axiom,
    ! [A: $i,B: $i,C: $i] :
      ( ( C @ ( B @ ( A @ product_curry ) ) @ ( C @ ( B @ fun ) @ ( A @ fun ) @ ( C @ ( B @ ( A @ product_prod ) @ fun ) @ fun ) @ ti ) )
      = ( C @ ( B @ ( A @ product_curry ) ) ) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',tsy_c_Product__Type_Ocurry_res) ).

thf(1216,plain,
    ! [A: $i,B: $i,C: $i] :
      ( ( C @ ( B @ ( A @ product_curry ) ) @ ( C @ ( B @ fun ) @ ( A @ fun ) @ ( C @ ( B @ ( A @ product_prod ) @ fun ) @ fun ) @ ti ) )
      = ( C @ ( B @ ( A @ product_curry ) ) ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[161]) ).

thf(82,axiom,
    ! [A: $i,B: $i] :
      ( ( A @ none )
     != ( B @ ( A @ some @ ( A @ option @ ( A @ hAPP ) ) ) ) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',fact_132_option_Osimps_I2_J) ).

thf(891,plain,
    ! [A: $i,B: $i] :
      ( ( A @ none )
     != ( B @ ( A @ some @ ( A @ option @ ( A @ hAPP ) ) ) ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[82]) ).

thf(418,axiom,
    ! [A: $i,B: $i] :
      ( ( B @ ( A @ transitive_rtranclp @ ( bool @ ( A @ fun ) @ ( A @ fun ) @ ( bool @ ( A @ fun ) @ ( A @ fun ) @ hAPP ) ) ) @ ( A @ transitive_rtranclp @ ( bool @ ( A @ fun ) @ ( A @ fun ) @ ( bool @ ( A @ fun ) @ ( A @ fun ) @ hAPP ) ) ) )
      = ( B @ ( A @ transitive_rtranclp @ ( bool @ ( A @ fun ) @ ( A @ fun ) @ ( bool @ ( A @ fun ) @ ( A @ fun ) @ hAPP ) ) ) ) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',fact_365_rtranclp__idemp) ).

thf(2187,plain,
    ! [A: $i,B: $i] :
      ( ( B @ ( A @ transitive_rtranclp @ ( bool @ ( A @ fun ) @ ( A @ fun ) @ ( bool @ ( A @ fun ) @ ( A @ fun ) @ hAPP ) ) ) @ ( A @ transitive_rtranclp @ ( bool @ ( A @ fun ) @ ( A @ fun ) @ ( bool @ ( A @ fun ) @ ( A @ fun ) @ hAPP ) ) ) )
      = ( B @ ( A @ transitive_rtranclp @ ( bool @ ( A @ fun ) @ ( A @ fun ) @ ( bool @ ( A @ fun ) @ ( A @ fun ) @ hAPP ) ) ) ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[418]) ).

thf(154,axiom,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i,F: $i,G: $i,H: $i,I: $i,J: $i] :
      ( ( J @ ( red @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ transitive_rtrancl @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ hAPP ) ) ) @ ( I @ ( H @ ( char @ list @ val_1 @ ( char @ list @ exp @ ( val @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ ( G @ ( F @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ member @ ( bool @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ hAPP ) ) ) @ ( bool @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ hAPP ) ) ) @ hBOOL )
     => ( ( J @ ( red @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ transitive_rtrancl @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ hAPP ) ) ) @ ( E @ ( D @ ( char @ list @ throw @ ( char @ list @ exp @ ( char @ list @ exp @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ ( I @ ( C @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ member @ ( bool @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ hAPP ) ) ) @ ( bool @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ hAPP ) ) ) @ hBOOL )
       => ( J @ ( red @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ transitive_rtrancl @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ hAPP ) ) ) @ ( E @ ( D @ ( char @ list @ throw @ ( char @ list @ exp @ ( char @ list @ exp @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ ( G @ ( C @ ( B @ ( A @ ( F @ ( char @ list @ fAss @ ( char @ list @ exp @ ( char @ list @ exp @ fun ) @ ( char @ list @ fun ) @ ( char @ list @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( char @ list @ exp @ ( char @ list @ exp @ fun ) @ ( char @ list @ fun ) @ ( char @ list @ hAPP ) ) ) @ ( char @ list @ exp @ ( char @ list @ exp @ fun ) @ ( char @ list @ hAPP ) ) ) @ ( char @ list @ exp @ ( char @ list @ exp @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ member @ ( bool @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ hAPP ) ) ) @ ( bool @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ hAPP ) ) ) @ hBOOL ) ) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',fact_288_FAssRedsThrow2) ).

thf(1189,plain,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i,F: $i,G: $i,H: $i,I: $i,J: $i] :
      ( ( J @ ( red @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ transitive_rtrancl @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ hAPP ) ) ) @ ( I @ ( H @ ( char @ list @ val_1 @ ( char @ list @ exp @ ( val @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ ( G @ ( F @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ member @ ( bool @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ hAPP ) ) ) @ ( bool @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ hAPP ) ) ) @ hBOOL )
     => ( ( J @ ( red @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ transitive_rtrancl @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ hAPP ) ) ) @ ( E @ ( D @ ( char @ list @ throw @ ( char @ list @ exp @ ( char @ list @ exp @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ ( I @ ( C @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ member @ ( bool @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ hAPP ) ) ) @ ( bool @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ hAPP ) ) ) @ hBOOL )
       => ( J @ ( red @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ transitive_rtrancl @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ hAPP ) ) ) @ ( E @ ( D @ ( char @ list @ throw @ ( char @ list @ exp @ ( char @ list @ exp @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ ( G @ ( C @ ( B @ ( A @ ( F @ ( char @ list @ fAss @ ( char @ list @ exp @ ( char @ list @ exp @ fun ) @ ( char @ list @ fun ) @ ( char @ list @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( char @ list @ exp @ ( char @ list @ exp @ fun ) @ ( char @ list @ fun ) @ ( char @ list @ hAPP ) ) ) @ ( char @ list @ exp @ ( char @ list @ exp @ fun ) @ ( char @ list @ hAPP ) ) ) @ ( char @ list @ exp @ ( char @ list @ exp @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ member @ ( bool @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ hAPP ) ) ) @ ( bool @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ hAPP ) ) ) @ hBOOL ) ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[154]) ).

thf(396,axiom,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i,F: $i,G: $i,H: $i] :
      ( ( H @ ( G @ ( F @ ( E @ ( D @ ( char @ list @ tryCatch @ ( char @ list @ exp @ ( char @ list @ exp @ fun ) @ ( char @ list @ fun ) @ ( char @ list @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( char @ list @ exp @ ( char @ list @ exp @ fun ) @ ( char @ list @ fun ) @ ( char @ list @ hAPP ) ) ) @ ( char @ list @ exp @ ( char @ list @ exp @ fun ) @ ( char @ list @ hAPP ) ) ) @ ( char @ list @ exp @ ( char @ list @ exp @ hAPP ) ) ) @ ( C @ ( B @ ( A @ ( wTrt @ ( bool @ ( ty @ fun ) @ ( char @ list @ exp @ fun ) @ ( ty @ option @ ( char @ list @ fun ) @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ fun ) @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( bool @ ( ty @ fun ) @ ( char @ list @ exp @ fun ) @ ( ty @ option @ ( char @ list @ fun ) @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ hAPP ) ) ) @ ( bool @ ( ty @ fun ) @ ( char @ list @ exp @ fun ) @ ( ty @ option @ ( char @ list @ fun ) @ hAPP ) ) ) @ ( bool @ ( ty @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( bool @ ( ty @ hAPP ) ) ) @ hBOOL )
     => ~ ! [I: $i] :
            ( ( I @ ( D @ ( C @ ( B @ ( A @ ( wTrt @ ( bool @ ( ty @ fun ) @ ( char @ list @ exp @ fun ) @ ( ty @ option @ ( char @ list @ fun ) @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ fun ) @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( bool @ ( ty @ fun ) @ ( char @ list @ exp @ fun ) @ ( ty @ option @ ( char @ list @ fun ) @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ hAPP ) ) ) @ ( bool @ ( ty @ fun ) @ ( char @ list @ exp @ fun ) @ ( ty @ option @ ( char @ list @ fun ) @ hAPP ) ) ) @ ( bool @ ( ty @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( bool @ ( ty @ hAPP ) ) ) @ hBOOL )
           => ( ( H @ ( G @ ( E @ ( class @ ( ty @ ( char @ list @ hAPP ) ) ) @ ( ty @ some @ ( ty @ option @ ( ty @ hAPP ) ) ) @ ( F @ ( C @ ( ty @ option @ ( char @ list @ fun_upd ) @ ( ty @ option @ ( char @ list @ fun ) @ ( ty @ option @ fun ) @ ( char @ list @ fun ) @ ( ty @ option @ ( char @ list @ fun ) @ hAPP ) ) ) @ ( ty @ option @ ( char @ list @ fun ) @ ( ty @ option @ fun ) @ ( char @ list @ hAPP ) ) ) @ ( ty @ option @ ( char @ list @ fun ) @ ( ty @ option @ hAPP ) ) ) @ ( B @ ( A @ ( wTrt @ ( bool @ ( ty @ fun ) @ ( char @ list @ exp @ fun ) @ ( ty @ option @ ( char @ list @ fun ) @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ fun ) @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( bool @ ( ty @ fun ) @ ( char @ list @ exp @ fun ) @ ( ty @ option @ ( char @ list @ fun ) @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ hAPP ) ) ) @ ( bool @ ( ty @ fun ) @ ( char @ list @ exp @ fun ) @ ( ty @ option @ ( char @ list @ fun ) @ hAPP ) ) ) @ ( bool @ ( ty @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( bool @ ( ty @ hAPP ) ) ) @ hBOOL )
             => ~ ( H @ ( I @ ( A @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ widen @ ( bool @ ( ty @ fun ) @ ( ty @ fun ) @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( bool @ ( ty @ fun ) @ ( ty @ hAPP ) ) ) @ ( bool @ ( ty @ hAPP ) ) ) @ hBOOL ) ) ) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',fact_355_WTrt__elim__cases_I5_J) ).

thf(2110,plain,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i,F: $i,G: $i,H: $i] :
      ( ( H @ ( G @ ( F @ ( E @ ( D @ ( char @ list @ tryCatch @ ( char @ list @ exp @ ( char @ list @ exp @ fun ) @ ( char @ list @ fun ) @ ( char @ list @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( char @ list @ exp @ ( char @ list @ exp @ fun ) @ ( char @ list @ fun ) @ ( char @ list @ hAPP ) ) ) @ ( char @ list @ exp @ ( char @ list @ exp @ fun ) @ ( char @ list @ hAPP ) ) ) @ ( char @ list @ exp @ ( char @ list @ exp @ hAPP ) ) ) @ ( C @ ( B @ ( A @ ( wTrt @ ( bool @ ( ty @ fun ) @ ( char @ list @ exp @ fun ) @ ( ty @ option @ ( char @ list @ fun ) @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ fun ) @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( bool @ ( ty @ fun ) @ ( char @ list @ exp @ fun ) @ ( ty @ option @ ( char @ list @ fun ) @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ hAPP ) ) ) @ ( bool @ ( ty @ fun ) @ ( char @ list @ exp @ fun ) @ ( ty @ option @ ( char @ list @ fun ) @ hAPP ) ) ) @ ( bool @ ( ty @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( bool @ ( ty @ hAPP ) ) ) @ hBOOL )
     => ~ ! [I: $i] :
            ( ( I @ ( D @ ( C @ ( B @ ( A @ ( wTrt @ ( bool @ ( ty @ fun ) @ ( char @ list @ exp @ fun ) @ ( ty @ option @ ( char @ list @ fun ) @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ fun ) @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( bool @ ( ty @ fun ) @ ( char @ list @ exp @ fun ) @ ( ty @ option @ ( char @ list @ fun ) @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ hAPP ) ) ) @ ( bool @ ( ty @ fun ) @ ( char @ list @ exp @ fun ) @ ( ty @ option @ ( char @ list @ fun ) @ hAPP ) ) ) @ ( bool @ ( ty @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( bool @ ( ty @ hAPP ) ) ) @ hBOOL )
           => ( ( H @ ( G @ ( E @ ( class @ ( ty @ ( char @ list @ hAPP ) ) ) @ ( ty @ some @ ( ty @ option @ ( ty @ hAPP ) ) ) @ ( F @ ( C @ ( ty @ option @ ( char @ list @ fun_upd ) @ ( ty @ option @ ( char @ list @ fun ) @ ( ty @ option @ fun ) @ ( char @ list @ fun ) @ ( ty @ option @ ( char @ list @ fun ) @ hAPP ) ) ) @ ( ty @ option @ ( char @ list @ fun ) @ ( ty @ option @ fun ) @ ( char @ list @ hAPP ) ) ) @ ( ty @ option @ ( char @ list @ fun ) @ ( ty @ option @ hAPP ) ) ) @ ( B @ ( A @ ( wTrt @ ( bool @ ( ty @ fun ) @ ( char @ list @ exp @ fun ) @ ( ty @ option @ ( char @ list @ fun ) @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ fun ) @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( bool @ ( ty @ fun ) @ ( char @ list @ exp @ fun ) @ ( ty @ option @ ( char @ list @ fun ) @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ hAPP ) ) ) @ ( bool @ ( ty @ fun ) @ ( char @ list @ exp @ fun ) @ ( ty @ option @ ( char @ list @ fun ) @ hAPP ) ) ) @ ( bool @ ( ty @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( bool @ ( ty @ hAPP ) ) ) @ hBOOL )
             => ~ ( H @ ( I @ ( A @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ widen @ ( bool @ ( ty @ fun ) @ ( ty @ fun ) @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( bool @ ( ty @ fun ) @ ( ty @ hAPP ) ) ) @ ( bool @ ( ty @ hAPP ) ) ) @ hBOOL ) ) ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[396]) ).

thf(257,axiom,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i] :
      ( ( ( D @ ( C @ ( B @ ( A @ hAPP ) ) ) )
        = ( E @ ( B @ ti ) ) )
     => ( ( E @ ( D @ ( C @ ( B @ ( A @ fun_upd ) @ ( B @ ( A @ fun ) @ ( B @ fun ) @ ( A @ fun ) @ ( B @ ( A @ fun ) @ hAPP ) ) ) @ ( B @ ( A @ fun ) @ ( B @ fun ) @ ( A @ hAPP ) ) ) @ ( B @ ( A @ fun ) @ ( B @ hAPP ) ) ) )
        = ( C @ ( B @ ( A @ fun ) @ ti ) ) ) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',fact_19_fun__upd__idem) ).

thf(1575,plain,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i] :
      ( ( ( D @ ( C @ ( B @ ( A @ hAPP ) ) ) )
        = ( E @ ( B @ ti ) ) )
     => ( ( E @ ( D @ ( C @ ( B @ ( A @ fun_upd ) @ ( B @ ( A @ fun ) @ ( B @ fun ) @ ( A @ fun ) @ ( B @ ( A @ fun ) @ hAPP ) ) ) @ ( B @ ( A @ fun ) @ ( B @ fun ) @ ( A @ hAPP ) ) ) @ ( B @ ( A @ fun ) @ ( B @ hAPP ) ) ) )
        = ( C @ ( B @ ( A @ fun ) @ ti ) ) ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[257]) ).

thf(334,axiom,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i] :
      ( ( ( C @ ( B @ ( A @ cast @ ( A @ exp @ ( A @ exp @ fun ) @ ( char @ list @ hAPP ) ) ) @ ( A @ exp @ ( A @ exp @ hAPP ) ) ) )
        = ( E @ ( D @ ( A @ cast @ ( A @ exp @ ( A @ exp @ fun ) @ ( char @ list @ hAPP ) ) ) @ ( A @ exp @ ( A @ exp @ hAPP ) ) ) ) )
    <=> ( ( C = E )
        & ( B = D ) ) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',fact_340_exp_Osimps_I2_J) ).

thf(1866,plain,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i] :
      ( ( ( ( C = E )
          & ( B = D ) )
       => ( ( C @ ( B @ ( A @ cast @ ( A @ exp @ ( A @ exp @ fun ) @ ( char @ list @ hAPP ) ) ) @ ( A @ exp @ ( A @ exp @ hAPP ) ) ) )
          = ( E @ ( D @ ( A @ cast @ ( A @ exp @ ( A @ exp @ fun ) @ ( char @ list @ hAPP ) ) ) @ ( A @ exp @ ( A @ exp @ hAPP ) ) ) ) ) )
      & ( ( ( C @ ( B @ ( A @ cast @ ( A @ exp @ ( A @ exp @ fun ) @ ( char @ list @ hAPP ) ) ) @ ( A @ exp @ ( A @ exp @ hAPP ) ) ) )
          = ( E @ ( D @ ( A @ cast @ ( A @ exp @ ( A @ exp @ fun ) @ ( char @ list @ hAPP ) ) ) @ ( A @ exp @ ( A @ exp @ hAPP ) ) ) ) )
       => ( ( C = E )
          & ( B = D ) ) ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[334]) ).

thf(596,axiom,
    ( ( v_1 @ ( char @ list @ ti ) )
    = v_1 ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',tsy_v_V_____res) ).

thf(2775,plain,
    ( ( v_1 @ ( char @ list @ ti ) )
    = v_1 ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[596]) ).

thf(180,axiom,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i,F: $i,G: $i,H: $i,I: $i] :
      ( ( ( E @ ( D @ ( C @ ( B @ ( A @ fAss @ ( A @ exp @ ( A @ exp @ fun ) @ ( char @ list @ fun ) @ ( char @ list @ fun ) @ ( A @ exp @ hAPP ) ) ) @ ( A @ exp @ ( A @ exp @ fun ) @ ( char @ list @ fun ) @ ( char @ list @ hAPP ) ) ) @ ( A @ exp @ ( A @ exp @ fun ) @ ( char @ list @ hAPP ) ) ) @ ( A @ exp @ ( A @ exp @ hAPP ) ) ) )
        = ( I @ ( H @ ( G @ ( F @ ( A @ fAss @ ( A @ exp @ ( A @ exp @ fun ) @ ( char @ list @ fun ) @ ( char @ list @ fun ) @ ( A @ exp @ hAPP ) ) ) @ ( A @ exp @ ( A @ exp @ fun ) @ ( char @ list @ fun ) @ ( char @ list @ hAPP ) ) ) @ ( A @ exp @ ( A @ exp @ fun ) @ ( char @ list @ hAPP ) ) ) @ ( A @ exp @ ( A @ exp @ hAPP ) ) ) ) )
    <=> ( ( E = I )
        & ( D = H )
        & ( C = G )
        & ( B = F ) ) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',fact_193_exp_Osimps_I8_J) ).

thf(1276,plain,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i,F: $i,G: $i,H: $i,I: $i] :
      ( ( ( ( E = I )
          & ( D = H )
          & ( C = G )
          & ( B = F ) )
       => ( ( E @ ( D @ ( C @ ( B @ ( A @ fAss @ ( A @ exp @ ( A @ exp @ fun ) @ ( char @ list @ fun ) @ ( char @ list @ fun ) @ ( A @ exp @ hAPP ) ) ) @ ( A @ exp @ ( A @ exp @ fun ) @ ( char @ list @ fun ) @ ( char @ list @ hAPP ) ) ) @ ( A @ exp @ ( A @ exp @ fun ) @ ( char @ list @ hAPP ) ) ) @ ( A @ exp @ ( A @ exp @ hAPP ) ) ) )
          = ( I @ ( H @ ( G @ ( F @ ( A @ fAss @ ( A @ exp @ ( A @ exp @ fun ) @ ( char @ list @ fun ) @ ( char @ list @ fun ) @ ( A @ exp @ hAPP ) ) ) @ ( A @ exp @ ( A @ exp @ fun ) @ ( char @ list @ fun ) @ ( char @ list @ hAPP ) ) ) @ ( A @ exp @ ( A @ exp @ fun ) @ ( char @ list @ hAPP ) ) ) @ ( A @ exp @ ( A @ exp @ hAPP ) ) ) ) ) )
      & ( ( ( E @ ( D @ ( C @ ( B @ ( A @ fAss @ ( A @ exp @ ( A @ exp @ fun ) @ ( char @ list @ fun ) @ ( char @ list @ fun ) @ ( A @ exp @ hAPP ) ) ) @ ( A @ exp @ ( A @ exp @ fun ) @ ( char @ list @ fun ) @ ( char @ list @ hAPP ) ) ) @ ( A @ exp @ ( A @ exp @ fun ) @ ( char @ list @ hAPP ) ) ) @ ( A @ exp @ ( A @ exp @ hAPP ) ) ) )
          = ( I @ ( H @ ( G @ ( F @ ( A @ fAss @ ( A @ exp @ ( A @ exp @ fun ) @ ( char @ list @ fun ) @ ( char @ list @ fun ) @ ( A @ exp @ hAPP ) ) ) @ ( A @ exp @ ( A @ exp @ fun ) @ ( char @ list @ fun ) @ ( char @ list @ hAPP ) ) ) @ ( A @ exp @ ( A @ exp @ fun ) @ ( char @ list @ hAPP ) ) ) @ ( A @ exp @ ( A @ exp @ hAPP ) ) ) ) )
       => ( ( E = I )
          & ( D = H )
          & ( C = G )
          & ( B = F ) ) ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[180]) ).

thf(498,axiom,
    ! [A: $i,B: $i,C: $i,D: $i] :
      ~ ! [E: $i,F: $i,G: $i] :
          ( ( D @ ( C @ ( B @ product_prod ) @ ( A @ product_prod ) @ ti ) )
         != ( G @ ( F @ ( C @ ( B @ product_Pair ) @ ( C @ ( B @ product_prod ) @ ( C @ fun ) @ ( B @ hAPP ) ) ) @ ( C @ ( B @ product_prod ) @ ( C @ hAPP ) ) ) @ ( E @ ( C @ ( B @ product_prod ) @ ( A @ product_Pair ) @ ( C @ ( B @ product_prod ) @ ( A @ product_prod ) @ ( C @ ( B @ product_prod ) @ fun ) @ ( A @ hAPP ) ) ) @ ( C @ ( B @ product_prod ) @ ( A @ product_prod ) @ ( C @ ( B @ product_prod ) @ hAPP ) ) ) ) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',fact_29_prod__cases3) ).

thf(2443,plain,
    ! [A: $i,B: $i,C: $i,D: $i] :
      ~ ! [E: $i,F: $i,G: $i] :
          ( ( D @ ( C @ ( B @ product_prod ) @ ( A @ product_prod ) @ ti ) )
         != ( G @ ( F @ ( C @ ( B @ product_Pair ) @ ( C @ ( B @ product_prod ) @ ( C @ fun ) @ ( B @ hAPP ) ) ) @ ( C @ ( B @ product_prod ) @ ( C @ hAPP ) ) ) @ ( E @ ( C @ ( B @ product_prod ) @ ( A @ product_Pair ) @ ( C @ ( B @ product_prod ) @ ( A @ product_prod ) @ ( C @ ( B @ product_prod ) @ fun ) @ ( A @ hAPP ) ) ) @ ( C @ ( B @ product_prod ) @ ( A @ product_prod ) @ ( C @ ( B @ product_prod ) @ hAPP ) ) ) ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[498]) ).

thf(194,axiom,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i,F: $i,G: $i,H: $i] :
      ( ( E @ ( D @ ( C @ ( B @ ( A @ tryCatch @ ( A @ exp @ ( A @ exp @ fun ) @ ( A @ fun ) @ ( char @ list @ fun ) @ ( A @ exp @ hAPP ) ) ) @ ( A @ exp @ ( A @ exp @ fun ) @ ( A @ fun ) @ ( char @ list @ hAPP ) ) ) @ ( A @ exp @ ( A @ exp @ fun ) @ ( A @ hAPP ) ) ) @ ( A @ exp @ ( A @ exp @ hAPP ) ) ) )
     != ( H @ ( G @ ( F @ ( A @ binOp @ ( A @ exp @ ( A @ exp @ fun ) @ ( bop @ fun ) @ ( A @ exp @ hAPP ) ) ) @ ( A @ exp @ ( A @ exp @ fun ) @ ( bop @ hAPP ) ) ) @ ( A @ exp @ ( A @ exp @ hAPP ) ) ) ) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',fact_442_exp_Osimps_I115_J) ).

thf(1326,plain,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i,F: $i,G: $i,H: $i] :
      ( ( E @ ( D @ ( C @ ( B @ ( A @ tryCatch @ ( A @ exp @ ( A @ exp @ fun ) @ ( A @ fun ) @ ( char @ list @ fun ) @ ( A @ exp @ hAPP ) ) ) @ ( A @ exp @ ( A @ exp @ fun ) @ ( A @ fun ) @ ( char @ list @ hAPP ) ) ) @ ( A @ exp @ ( A @ exp @ fun ) @ ( A @ hAPP ) ) ) @ ( A @ exp @ ( A @ exp @ hAPP ) ) ) )
     != ( H @ ( G @ ( F @ ( A @ binOp @ ( A @ exp @ ( A @ exp @ fun ) @ ( bop @ fun ) @ ( A @ exp @ hAPP ) ) ) @ ( A @ exp @ ( A @ exp @ fun ) @ ( bop @ hAPP ) ) ) @ ( A @ exp @ ( A @ exp @ hAPP ) ) ) ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[194]) ).

thf(412,axiom,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i,F: $i] :
      ( ( F @ ( E @ ( char @ list @ throw @ ( char @ list @ exp @ ( char @ list @ exp @ hAPP ) ) ) @ ( D @ ( C @ ( B @ ( eval @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ hBOOL )
     => ( F @ ( E @ ( char @ list @ throw @ ( char @ list @ exp @ ( char @ list @ exp @ hAPP ) ) ) @ ( D @ ( C @ ( A @ ( char @ list @ lAss @ ( char @ list @ exp @ ( char @ list @ exp @ fun ) @ ( char @ list @ hAPP ) ) ) @ ( char @ list @ exp @ ( char @ list @ exp @ hAPP ) ) ) @ ( B @ ( eval @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ hBOOL ) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',fact_261_eval__evals_OLAssThrow) ).

thf(2174,plain,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i,F: $i] :
      ( ( F @ ( E @ ( char @ list @ throw @ ( char @ list @ exp @ ( char @ list @ exp @ hAPP ) ) ) @ ( D @ ( C @ ( B @ ( eval @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ hBOOL )
     => ( F @ ( E @ ( char @ list @ throw @ ( char @ list @ exp @ ( char @ list @ exp @ hAPP ) ) ) @ ( D @ ( C @ ( A @ ( char @ list @ lAss @ ( char @ list @ exp @ ( char @ list @ exp @ fun ) @ ( char @ list @ hAPP ) ) ) @ ( char @ list @ exp @ ( char @ list @ exp @ hAPP ) ) ) @ ( B @ ( eval @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ hBOOL ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[412]) ).

thf(274,axiom,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i,F: $i] :
      ( ( F @ ( E @ ( char @ list @ throw @ ( char @ list @ exp @ ( char @ list @ exp @ hAPP ) ) ) @ ( D @ ( C @ ( B @ ( eval @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ hBOOL )
     => ( F @ ( E @ ( char @ list @ throw @ ( char @ list @ exp @ ( char @ list @ exp @ hAPP ) ) ) @ ( D @ ( A @ ( C @ ( char @ list @ seq @ ( char @ list @ exp @ ( char @ list @ exp @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( char @ list @ exp @ ( char @ list @ exp @ hAPP ) ) ) @ ( B @ ( eval @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ hBOOL ) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',fact_262_eval__evals_OSeqThrow) ).

thf(1639,plain,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i,F: $i] :
      ( ( F @ ( E @ ( char @ list @ throw @ ( char @ list @ exp @ ( char @ list @ exp @ hAPP ) ) ) @ ( D @ ( C @ ( B @ ( eval @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ hBOOL )
     => ( F @ ( E @ ( char @ list @ throw @ ( char @ list @ exp @ ( char @ list @ exp @ hAPP ) ) ) @ ( D @ ( A @ ( C @ ( char @ list @ seq @ ( char @ list @ exp @ ( char @ list @ exp @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( char @ list @ exp @ ( char @ list @ exp @ hAPP ) ) ) @ ( B @ ( eval @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ hBOOL ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[274]) ).

thf(138,axiom,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i,F: $i,G: $i,H: $i,I: $i,J: $i] :
      ( ( J @ ( red @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ transitive_rtrancl @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ hAPP ) ) ) @ ( I @ ( H @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ hAPP ) ) ) @ ( G @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ ( F @ ( val @ some @ ( val @ option @ ( val @ hAPP ) ) ) @ ( E @ ( D @ ( val @ option @ ( char @ list @ fun_upd ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ fun ) @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ fun ) @ ( char @ list @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ hAPP ) ) ) @ ( C @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ hAPP ) ) ) @ ( B @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ member @ ( bool @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ hAPP ) ) ) @ ( bool @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ hAPP ) ) ) @ hBOOL )
     => ( ( G @ ( char @ list @ final @ ( bool @ ( char @ list @ exp @ hAPP ) ) ) @ hBOOL )
       => ( J @ ( red @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ transitive_rtrancl @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ hAPP ) ) ) @ ( E @ ( D @ ( val @ option @ ( char @ list @ hAPP ) ) ) @ ( E @ ( I @ ( val @ option @ ( char @ list @ fun_upd ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ fun ) @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ fun ) @ ( char @ list @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ hAPP ) ) ) @ ( H @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ hAPP ) ) ) @ ( G @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ ( D @ ( C @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ hAPP ) ) ) @ ( B @ ( F @ ( char @ list @ val_1 @ ( char @ list @ exp @ ( val @ hAPP ) ) ) @ ( E @ ( char @ list @ lAss @ ( char @ list @ exp @ ( char @ list @ exp @ fun ) @ ( char @ list @ hAPP ) ) ) @ ( char @ list @ exp @ ( char @ list @ exp @ hAPP ) ) ) @ ( char @ list @ seq @ ( char @ list @ exp @ ( char @ list @ exp @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( char @ list @ exp @ ( char @ list @ exp @ hAPP ) ) ) @ ( A @ ( E @ ( char @ list @ block @ ( char @ list @ exp @ ( char @ list @ exp @ fun ) @ ( ty @ fun ) @ ( char @ list @ hAPP ) ) ) @ ( char @ list @ exp @ ( char @ list @ exp @ fun ) @ ( ty @ hAPP ) ) ) @ ( char @ list @ exp @ ( char @ list @ exp @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ member @ ( bool @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ hAPP ) ) ) @ ( bool @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ hAPP ) ) ) @ hBOOL ) ) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',fact_163_InitBlockRedsFinal) ).

thf(1101,plain,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i,F: $i,G: $i,H: $i,I: $i,J: $i] :
      ( ( J @ ( red @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ transitive_rtrancl @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ hAPP ) ) ) @ ( I @ ( H @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ hAPP ) ) ) @ ( G @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ ( F @ ( val @ some @ ( val @ option @ ( val @ hAPP ) ) ) @ ( E @ ( D @ ( val @ option @ ( char @ list @ fun_upd ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ fun ) @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ fun ) @ ( char @ list @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ hAPP ) ) ) @ ( C @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ hAPP ) ) ) @ ( B @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ member @ ( bool @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ hAPP ) ) ) @ ( bool @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ hAPP ) ) ) @ hBOOL )
     => ( ( G @ ( char @ list @ final @ ( bool @ ( char @ list @ exp @ hAPP ) ) ) @ hBOOL )
       => ( J @ ( red @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ transitive_rtrancl @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ hAPP ) ) ) @ ( E @ ( D @ ( val @ option @ ( char @ list @ hAPP ) ) ) @ ( E @ ( I @ ( val @ option @ ( char @ list @ fun_upd ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ fun ) @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ fun ) @ ( char @ list @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ hAPP ) ) ) @ ( H @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ hAPP ) ) ) @ ( G @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ ( D @ ( C @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ hAPP ) ) ) @ ( B @ ( F @ ( char @ list @ val_1 @ ( char @ list @ exp @ ( val @ hAPP ) ) ) @ ( E @ ( char @ list @ lAss @ ( char @ list @ exp @ ( char @ list @ exp @ fun ) @ ( char @ list @ hAPP ) ) ) @ ( char @ list @ exp @ ( char @ list @ exp @ hAPP ) ) ) @ ( char @ list @ seq @ ( char @ list @ exp @ ( char @ list @ exp @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( char @ list @ exp @ ( char @ list @ exp @ hAPP ) ) ) @ ( A @ ( E @ ( char @ list @ block @ ( char @ list @ exp @ ( char @ list @ exp @ fun ) @ ( ty @ fun ) @ ( char @ list @ hAPP ) ) ) @ ( char @ list @ exp @ ( char @ list @ exp @ fun ) @ ( ty @ hAPP ) ) ) @ ( char @ list @ exp @ ( char @ list @ exp @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ member @ ( bool @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ hAPP ) ) ) @ ( bool @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ hAPP ) ) ) @ hBOOL ) ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[138]) ).

thf(17,axiom,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i,F: $i,G: $i] :
      ( ( E @ ( D @ ( C @ ( B @ ( A @ fAss @ ( A @ exp @ ( A @ exp @ fun ) @ ( char @ list @ fun ) @ ( char @ list @ fun ) @ ( A @ exp @ hAPP ) ) ) @ ( A @ exp @ ( A @ exp @ fun ) @ ( char @ list @ fun ) @ ( char @ list @ hAPP ) ) ) @ ( A @ exp @ ( A @ exp @ fun ) @ ( char @ list @ hAPP ) ) ) @ ( A @ exp @ ( A @ exp @ hAPP ) ) ) )
     != ( G @ ( F @ ( A @ cast @ ( A @ exp @ ( A @ exp @ fun ) @ ( char @ list @ hAPP ) ) ) @ ( A @ exp @ ( A @ exp @ hAPP ) ) ) ) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',fact_333_exp_Osimps_I55_J) ).

thf(652,plain,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i,F: $i,G: $i] :
      ( ( E @ ( D @ ( C @ ( B @ ( A @ fAss @ ( A @ exp @ ( A @ exp @ fun ) @ ( char @ list @ fun ) @ ( char @ list @ fun ) @ ( A @ exp @ hAPP ) ) ) @ ( A @ exp @ ( A @ exp @ fun ) @ ( char @ list @ fun ) @ ( char @ list @ hAPP ) ) ) @ ( A @ exp @ ( A @ exp @ fun ) @ ( char @ list @ hAPP ) ) ) @ ( A @ exp @ ( A @ exp @ hAPP ) ) ) )
     != ( G @ ( F @ ( A @ cast @ ( A @ exp @ ( A @ exp @ fun ) @ ( char @ list @ hAPP ) ) ) @ ( A @ exp @ ( A @ exp @ hAPP ) ) ) ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[17]) ).

thf(370,axiom,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i,F: $i,G: $i] :
      ( ( G @ ( F @ ( E @ ( D @ ( C @ ( redp @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ hBOOL )
     => ( G @ ( F @ ( B @ ( A @ ( char @ list @ val_1 @ ( char @ list @ exp @ ( val @ hAPP ) ) ) @ ( char @ list @ binOp @ ( char @ list @ exp @ ( char @ list @ exp @ fun ) @ ( bop @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( char @ list @ exp @ ( char @ list @ exp @ fun ) @ ( bop @ hAPP ) ) ) @ ( char @ list @ exp @ ( char @ list @ exp @ hAPP ) ) ) @ ( E @ ( D @ ( B @ ( A @ ( char @ list @ val_1 @ ( char @ list @ exp @ ( val @ hAPP ) ) ) @ ( char @ list @ binOp @ ( char @ list @ exp @ ( char @ list @ exp @ fun ) @ ( bop @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( char @ list @ exp @ ( char @ list @ exp @ fun ) @ ( bop @ hAPP ) ) ) @ ( char @ list @ exp @ ( char @ list @ exp @ hAPP ) ) ) @ ( C @ ( redp @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ hBOOL ) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',fact_444_redp__redsp_OBinOpRed2) ).

thf(2026,plain,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i,F: $i,G: $i] :
      ( ( G @ ( F @ ( E @ ( D @ ( C @ ( redp @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ hBOOL )
     => ( G @ ( F @ ( B @ ( A @ ( char @ list @ val_1 @ ( char @ list @ exp @ ( val @ hAPP ) ) ) @ ( char @ list @ binOp @ ( char @ list @ exp @ ( char @ list @ exp @ fun ) @ ( bop @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( char @ list @ exp @ ( char @ list @ exp @ fun ) @ ( bop @ hAPP ) ) ) @ ( char @ list @ exp @ ( char @ list @ exp @ hAPP ) ) ) @ ( E @ ( D @ ( B @ ( A @ ( char @ list @ val_1 @ ( char @ list @ exp @ ( val @ hAPP ) ) ) @ ( char @ list @ binOp @ ( char @ list @ exp @ ( char @ list @ exp @ fun ) @ ( bop @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( char @ list @ exp @ ( char @ list @ exp @ fun ) @ ( bop @ hAPP ) ) ) @ ( char @ list @ exp @ ( char @ list @ exp @ hAPP ) ) ) @ ( C @ ( redp @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ hBOOL ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[370]) ).

thf(330,axiom,
    ! [A: $i] :
      ( ( A @ binOp @ ( A @ exp @ ( A @ exp @ fun ) @ ( bop @ fun ) @ ( A @ exp @ fun ) @ ti ) )
      = ( A @ binOp ) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',tsy_c_Expr_Oexp_OBinOp_res) ).

thf(1854,plain,
    ! [A: $i] :
      ( ( A @ binOp @ ( A @ exp @ ( A @ exp @ fun ) @ ( bop @ fun ) @ ( A @ exp @ fun ) @ ti ) )
      = ( A @ binOp ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[330]) ).

thf(547,axiom,
    ! [A: $i,B: $i,C: $i] : ( C @ ( C @ ( B @ ( A @ widen @ ( bool @ ( ty @ fun ) @ ( ty @ fun ) @ ( A @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( bool @ ( ty @ fun ) @ ( ty @ hAPP ) ) ) @ ( bool @ ( ty @ hAPP ) ) ) @ hBOOL ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',fact_26_widen__refl) ).

thf(2608,plain,
    ! [A: $i,B: $i,C: $i] : ( C @ ( C @ ( B @ ( A @ widen @ ( bool @ ( ty @ fun ) @ ( ty @ fun ) @ ( A @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( bool @ ( ty @ fun ) @ ( ty @ hAPP ) ) ) @ ( bool @ ( ty @ hAPP ) ) ) @ hBOOL ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[547]) ).

thf(322,axiom,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i,F: $i] :
      ( ( F @ ( E @ ( D @ ( C @ ( A @ conf @ ( bool @ ( ty @ fun ) @ ( val @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ fun ) @ ( A @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( bool @ ( ty @ fun ) @ ( val @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ hAPP ) ) ) @ ( bool @ ( ty @ fun ) @ ( val @ hAPP ) ) ) @ ( bool @ ( ty @ hAPP ) ) ) @ hBOOL )
     => ( ( B @ ( F @ ( C @ ( A @ widen @ ( bool @ ( ty @ fun ) @ ( ty @ fun ) @ ( A @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( bool @ ( ty @ fun ) @ ( ty @ hAPP ) ) ) @ ( bool @ ( ty @ hAPP ) ) ) @ hBOOL )
       => ( B @ ( E @ ( D @ ( C @ ( A @ conf @ ( bool @ ( ty @ fun ) @ ( val @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ fun ) @ ( A @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( bool @ ( ty @ fun ) @ ( val @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ hAPP ) ) ) @ ( bool @ ( ty @ fun ) @ ( val @ hAPP ) ) ) @ ( bool @ ( ty @ hAPP ) ) ) @ hBOOL ) ) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',fact_63_conf__widen) ).

thf(1822,plain,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i,F: $i] :
      ( ( F @ ( E @ ( D @ ( C @ ( A @ conf @ ( bool @ ( ty @ fun ) @ ( val @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ fun ) @ ( A @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( bool @ ( ty @ fun ) @ ( val @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ hAPP ) ) ) @ ( bool @ ( ty @ fun ) @ ( val @ hAPP ) ) ) @ ( bool @ ( ty @ hAPP ) ) ) @ hBOOL )
     => ( ( B @ ( F @ ( C @ ( A @ widen @ ( bool @ ( ty @ fun ) @ ( ty @ fun ) @ ( A @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( bool @ ( ty @ fun ) @ ( ty @ hAPP ) ) ) @ ( bool @ ( ty @ hAPP ) ) ) @ hBOOL )
       => ( B @ ( E @ ( D @ ( C @ ( A @ conf @ ( bool @ ( ty @ fun ) @ ( val @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ fun ) @ ( A @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( bool @ ( ty @ fun ) @ ( val @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ hAPP ) ) ) @ ( bool @ ( ty @ fun ) @ ( val @ hAPP ) ) ) @ ( bool @ ( ty @ hAPP ) ) ) @ hBOOL ) ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[322]) ).

thf(486,axiom,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i,F: $i] :
      ( ( F @ ( red @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ transitive_rtrancl @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ hAPP ) ) ) @ ( E @ ( D @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ ( C @ ( B @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ member @ ( bool @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ hAPP ) ) ) @ ( bool @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ hAPP ) ) ) @ hBOOL )
     => ( F @ ( red @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ transitive_rtrancl @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ hAPP ) ) ) @ ( E @ ( D @ ( A @ ( char @ list @ cast @ ( char @ list @ exp @ ( char @ list @ exp @ fun ) @ ( char @ list @ hAPP ) ) ) @ ( char @ list @ exp @ ( char @ list @ exp @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ ( C @ ( B @ ( A @ ( char @ list @ cast @ ( char @ list @ exp @ ( char @ list @ exp @ fun ) @ ( char @ list @ hAPP ) ) ) @ ( char @ list @ exp @ ( char @ list @ exp @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ member @ ( bool @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ hAPP ) ) ) @ ( bool @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ hAPP ) ) ) @ hBOOL ) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',fact_349_CastReds) ).

thf(2416,plain,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i,F: $i] :
      ( ( F @ ( red @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ transitive_rtrancl @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ hAPP ) ) ) @ ( E @ ( D @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ ( C @ ( B @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ member @ ( bool @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ hAPP ) ) ) @ ( bool @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ hAPP ) ) ) @ hBOOL )
     => ( F @ ( red @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ transitive_rtrancl @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ hAPP ) ) ) @ ( E @ ( D @ ( A @ ( char @ list @ cast @ ( char @ list @ exp @ ( char @ list @ exp @ fun ) @ ( char @ list @ hAPP ) ) ) @ ( char @ list @ exp @ ( char @ list @ exp @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ ( C @ ( B @ ( A @ ( char @ list @ cast @ ( char @ list @ exp @ ( char @ list @ exp @ fun ) @ ( char @ list @ hAPP ) ) ) @ ( char @ list @ exp @ ( char @ list @ exp @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ member @ ( bool @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ hAPP ) ) ) @ ( bool @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ hAPP ) ) ) @ hBOOL ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[486]) ).

thf(481,axiom,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i,F: $i] :
      ( ( D @ ( C @ ( B @ ( A @ block @ ( A @ exp @ ( A @ exp @ fun ) @ ( ty @ fun ) @ ( A @ hAPP ) ) ) @ ( A @ exp @ ( A @ exp @ fun ) @ ( ty @ hAPP ) ) ) @ ( A @ exp @ ( A @ exp @ hAPP ) ) ) )
     != ( F @ ( E @ ( A @ cast @ ( A @ exp @ ( A @ exp @ fun ) @ ( char @ list @ hAPP ) ) ) @ ( A @ exp @ ( A @ exp @ hAPP ) ) ) ) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',fact_336_exp_Osimps_I59_J) ).

thf(2394,plain,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i,F: $i] :
      ( ( D @ ( C @ ( B @ ( A @ block @ ( A @ exp @ ( A @ exp @ fun ) @ ( ty @ fun ) @ ( A @ hAPP ) ) ) @ ( A @ exp @ ( A @ exp @ fun ) @ ( ty @ hAPP ) ) ) @ ( A @ exp @ ( A @ exp @ hAPP ) ) ) )
     != ( F @ ( E @ ( A @ cast @ ( A @ exp @ ( A @ exp @ fun ) @ ( char @ list @ hAPP ) ) ) @ ( A @ exp @ ( A @ exp @ hAPP ) ) ) ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[481]) ).

thf(173,axiom,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i,F: $i] :
      ( ( F @ ( E @ ( D @ ( char @ list @ cast @ ( char @ list @ exp @ ( char @ list @ exp @ fun ) @ ( char @ list @ hAPP ) ) ) @ ( char @ list @ exp @ ( char @ list @ exp @ hAPP ) ) ) @ ( C @ ( B @ ( A @ ( wTrt @ ( bool @ ( ty @ fun ) @ ( char @ list @ exp @ fun ) @ ( ty @ option @ ( char @ list @ fun ) @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ fun ) @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( bool @ ( ty @ fun ) @ ( char @ list @ exp @ fun ) @ ( ty @ option @ ( char @ list @ fun ) @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ hAPP ) ) ) @ ( bool @ ( ty @ fun ) @ ( char @ list @ exp @ fun ) @ ( ty @ option @ ( char @ list @ fun ) @ hAPP ) ) ) @ ( bool @ ( ty @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( bool @ ( ty @ hAPP ) ) ) @ hBOOL )
     => ~ ( ( F
            = ( D @ ( class @ ( ty @ ( char @ list @ hAPP ) ) ) ) )
         => ! [G: $i] :
              ( ( G @ ( E @ ( C @ ( B @ ( A @ ( wTrt @ ( bool @ ( ty @ fun ) @ ( char @ list @ exp @ fun ) @ ( ty @ option @ ( char @ list @ fun ) @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ fun ) @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( bool @ ( ty @ fun ) @ ( char @ list @ exp @ fun ) @ ( ty @ option @ ( char @ list @ fun ) @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ hAPP ) ) ) @ ( bool @ ( ty @ fun ) @ ( char @ list @ exp @ fun ) @ ( ty @ option @ ( char @ list @ fun ) @ hAPP ) ) ) @ ( bool @ ( ty @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( bool @ ( ty @ hAPP ) ) ) @ hBOOL )
             => ( ( G @ ( is_refT @ ( bool @ ( ty @ hAPP ) ) ) @ hBOOL )
               => ~ ( D @ ( A @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ is_class @ ( bool @ ( char @ list @ fun ) @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( bool @ ( char @ list @ hAPP ) ) ) @ hBOOL ) ) ) ) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',fact_454_WTrt__elim__cases_I6_J) ).

thf(1253,plain,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i,F: $i] :
      ( ( F @ ( E @ ( D @ ( char @ list @ cast @ ( char @ list @ exp @ ( char @ list @ exp @ fun ) @ ( char @ list @ hAPP ) ) ) @ ( char @ list @ exp @ ( char @ list @ exp @ hAPP ) ) ) @ ( C @ ( B @ ( A @ ( wTrt @ ( bool @ ( ty @ fun ) @ ( char @ list @ exp @ fun ) @ ( ty @ option @ ( char @ list @ fun ) @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ fun ) @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( bool @ ( ty @ fun ) @ ( char @ list @ exp @ fun ) @ ( ty @ option @ ( char @ list @ fun ) @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ hAPP ) ) ) @ ( bool @ ( ty @ fun ) @ ( char @ list @ exp @ fun ) @ ( ty @ option @ ( char @ list @ fun ) @ hAPP ) ) ) @ ( bool @ ( ty @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( bool @ ( ty @ hAPP ) ) ) @ hBOOL )
     => ~ ( ( F
            = ( D @ ( class @ ( ty @ ( char @ list @ hAPP ) ) ) ) )
         => ! [G: $i] :
              ( ( G @ ( E @ ( C @ ( B @ ( A @ ( wTrt @ ( bool @ ( ty @ fun ) @ ( char @ list @ exp @ fun ) @ ( ty @ option @ ( char @ list @ fun ) @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ fun ) @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( bool @ ( ty @ fun ) @ ( char @ list @ exp @ fun ) @ ( ty @ option @ ( char @ list @ fun ) @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ hAPP ) ) ) @ ( bool @ ( ty @ fun ) @ ( char @ list @ exp @ fun ) @ ( ty @ option @ ( char @ list @ fun ) @ hAPP ) ) ) @ ( bool @ ( ty @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( bool @ ( ty @ hAPP ) ) ) @ hBOOL )
             => ( ( G @ ( is_refT @ ( bool @ ( ty @ hAPP ) ) ) @ hBOOL )
               => ~ ( D @ ( A @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ is_class @ ( bool @ ( char @ list @ fun ) @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( bool @ ( char @ list @ hAPP ) ) ) @ hBOOL ) ) ) ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[173]) ).

thf(29,axiom,
    ( ( fNot @ ( bool @ ( bool @ fun ) @ ti ) )
    = fNot ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',tsy_c_fNot_res) ).

thf(699,plain,
    ( ( fNot @ ( bool @ ( bool @ fun ) @ ti ) )
    = fNot ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[29]) ).

thf(97,axiom,
    ! [A: $i,B: $i,C: $i,D: $i] :
      ( ( B @ ( A @ throw @ ( A @ exp @ ( A @ exp @ hAPP ) ) ) )
     != ( D @ ( C @ ( A @ lAss @ ( A @ exp @ ( A @ exp @ fun ) @ ( A @ hAPP ) ) ) @ ( A @ exp @ ( A @ exp @ hAPP ) ) ) ) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',fact_252_exp_Osimps_I151_J) ).

thf(961,plain,
    ! [A: $i,B: $i,C: $i,D: $i] :
      ( ( B @ ( A @ throw @ ( A @ exp @ ( A @ exp @ hAPP ) ) ) )
     != ( D @ ( C @ ( A @ lAss @ ( A @ exp @ ( A @ exp @ fun ) @ ( A @ hAPP ) ) ) @ ( A @ exp @ ( A @ exp @ hAPP ) ) ) ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[97]) ).

thf(542,axiom,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i,F: $i,G: $i] :
      ( ( G @ ( F @ ( E @ ( D @ ( C @ ( redp @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ hBOOL )
     => ( G @ ( B @ ( A @ ( F @ ( char @ list @ fAcc @ ( char @ list @ exp @ ( char @ list @ fun ) @ ( char @ list @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( char @ list @ exp @ ( char @ list @ fun ) @ ( char @ list @ hAPP ) ) ) @ ( char @ list @ exp @ ( char @ list @ hAPP ) ) ) @ ( E @ ( B @ ( A @ ( D @ ( char @ list @ fAcc @ ( char @ list @ exp @ ( char @ list @ fun ) @ ( char @ list @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( char @ list @ exp @ ( char @ list @ fun ) @ ( char @ list @ hAPP ) ) ) @ ( char @ list @ exp @ ( char @ list @ hAPP ) ) ) @ ( C @ ( redp @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ hBOOL ) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',fact_217_redp__redsp_OFAccRed) ).

thf(2594,plain,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i,F: $i,G: $i] :
      ( ( G @ ( F @ ( E @ ( D @ ( C @ ( redp @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ hBOOL )
     => ( G @ ( B @ ( A @ ( F @ ( char @ list @ fAcc @ ( char @ list @ exp @ ( char @ list @ fun ) @ ( char @ list @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( char @ list @ exp @ ( char @ list @ fun ) @ ( char @ list @ hAPP ) ) ) @ ( char @ list @ exp @ ( char @ list @ hAPP ) ) ) @ ( E @ ( B @ ( A @ ( D @ ( char @ list @ fAcc @ ( char @ list @ exp @ ( char @ list @ fun ) @ ( char @ list @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( char @ list @ exp @ ( char @ list @ fun ) @ ( char @ list @ hAPP ) ) ) @ ( char @ list @ exp @ ( char @ list @ hAPP ) ) ) @ ( C @ ( redp @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ hBOOL ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[542]) ).

thf(528,axiom,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i] :
      ( ( E @ ( D @ ( C @ ( A @ ( A @ product_Pair ) @ ( A @ ( A @ product_prod ) @ ( A @ fun ) @ ( A @ hAPP ) ) ) @ ( A @ ( A @ product_prod ) @ ( A @ hAPP ) ) ) @ ( A @ ( A @ product_prod ) @ member @ ( bool @ ( bool @ ( A @ ( A @ product_prod ) @ fun ) @ fun ) @ ( A @ ( A @ product_prod ) @ hAPP ) ) ) @ ( bool @ ( bool @ ( A @ ( A @ product_prod ) @ fun ) @ hAPP ) ) ) @ hBOOL )
     => ( ( E @ ( A @ transitive_rtrancl @ ( bool @ ( A @ ( A @ product_prod ) @ fun ) @ ( bool @ ( A @ ( A @ product_prod ) @ fun ) @ hAPP ) ) ) @ ( B @ ( D @ ( A @ ( A @ product_Pair ) @ ( A @ ( A @ product_prod ) @ ( A @ fun ) @ ( A @ hAPP ) ) ) @ ( A @ ( A @ product_prod ) @ ( A @ hAPP ) ) ) @ ( A @ ( A @ product_prod ) @ member @ ( bool @ ( bool @ ( A @ ( A @ product_prod ) @ fun ) @ fun ) @ ( A @ ( A @ product_prod ) @ hAPP ) ) ) @ ( bool @ ( bool @ ( A @ ( A @ product_prod ) @ fun ) @ hAPP ) ) ) @ hBOOL )
       => ( E @ ( A @ transitive_rtrancl @ ( bool @ ( A @ ( A @ product_prod ) @ fun ) @ ( bool @ ( A @ ( A @ product_prod ) @ fun ) @ hAPP ) ) ) @ ( B @ ( C @ ( A @ ( A @ product_Pair ) @ ( A @ ( A @ product_prod ) @ ( A @ fun ) @ ( A @ hAPP ) ) ) @ ( A @ ( A @ product_prod ) @ ( A @ hAPP ) ) ) @ ( A @ ( A @ product_prod ) @ member @ ( bool @ ( bool @ ( A @ ( A @ product_prod ) @ fun ) @ fun ) @ ( A @ ( A @ product_prod ) @ hAPP ) ) ) @ ( bool @ ( bool @ ( A @ ( A @ product_prod ) @ fun ) @ hAPP ) ) ) @ hBOOL ) ) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',fact_176_converse__rtrancl__into__rtrancl) ).

thf(2532,plain,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i] :
      ( ( E @ ( D @ ( C @ ( A @ ( A @ product_Pair ) @ ( A @ ( A @ product_prod ) @ ( A @ fun ) @ ( A @ hAPP ) ) ) @ ( A @ ( A @ product_prod ) @ ( A @ hAPP ) ) ) @ ( A @ ( A @ product_prod ) @ member @ ( bool @ ( bool @ ( A @ ( A @ product_prod ) @ fun ) @ fun ) @ ( A @ ( A @ product_prod ) @ hAPP ) ) ) @ ( bool @ ( bool @ ( A @ ( A @ product_prod ) @ fun ) @ hAPP ) ) ) @ hBOOL )
     => ( ( E @ ( A @ transitive_rtrancl @ ( bool @ ( A @ ( A @ product_prod ) @ fun ) @ ( bool @ ( A @ ( A @ product_prod ) @ fun ) @ hAPP ) ) ) @ ( B @ ( D @ ( A @ ( A @ product_Pair ) @ ( A @ ( A @ product_prod ) @ ( A @ fun ) @ ( A @ hAPP ) ) ) @ ( A @ ( A @ product_prod ) @ ( A @ hAPP ) ) ) @ ( A @ ( A @ product_prod ) @ member @ ( bool @ ( bool @ ( A @ ( A @ product_prod ) @ fun ) @ fun ) @ ( A @ ( A @ product_prod ) @ hAPP ) ) ) @ ( bool @ ( bool @ ( A @ ( A @ product_prod ) @ fun ) @ hAPP ) ) ) @ hBOOL )
       => ( E @ ( A @ transitive_rtrancl @ ( bool @ ( A @ ( A @ product_prod ) @ fun ) @ ( bool @ ( A @ ( A @ product_prod ) @ fun ) @ hAPP ) ) ) @ ( B @ ( C @ ( A @ ( A @ product_Pair ) @ ( A @ ( A @ product_prod ) @ ( A @ fun ) @ ( A @ hAPP ) ) ) @ ( A @ ( A @ product_prod ) @ ( A @ hAPP ) ) ) @ ( A @ ( A @ product_prod ) @ member @ ( bool @ ( bool @ ( A @ ( A @ product_prod ) @ fun ) @ fun ) @ ( A @ ( A @ product_prod ) @ hAPP ) ) ) @ ( bool @ ( bool @ ( A @ ( A @ product_prod ) @ fun ) @ hAPP ) ) ) @ hBOOL ) ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[528]) ).

thf(241,axiom,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i] :
      ( ( E @ ( D @ ( C @ ( bool @ ( A @ fun ) @ ( A @ hAPP ) ) ) @ ( bool @ ( A @ hAPP ) ) ) @ hBOOL )
     => ( ( B @ ( E @ ( C @ ( A @ transitive_rtranclp @ ( bool @ ( A @ fun ) @ ( A @ fun ) @ ( bool @ ( A @ fun ) @ ( A @ fun ) @ hAPP ) ) ) @ ( bool @ ( A @ fun ) @ ( A @ hAPP ) ) ) @ ( bool @ ( A @ hAPP ) ) ) @ hBOOL )
       => ( B @ ( D @ ( C @ ( A @ transitive_rtranclp @ ( bool @ ( A @ fun ) @ ( A @ fun ) @ ( bool @ ( A @ fun ) @ ( A @ fun ) @ hAPP ) ) ) @ ( bool @ ( A @ fun ) @ ( A @ hAPP ) ) ) @ ( bool @ ( A @ hAPP ) ) ) @ hBOOL ) ) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',fact_366_converse__rtranclp__into__rtranclp) ).

thf(1508,plain,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i] :
      ( ( E @ ( D @ ( C @ ( bool @ ( A @ fun ) @ ( A @ hAPP ) ) ) @ ( bool @ ( A @ hAPP ) ) ) @ hBOOL )
     => ( ( B @ ( E @ ( C @ ( A @ transitive_rtranclp @ ( bool @ ( A @ fun ) @ ( A @ fun ) @ ( bool @ ( A @ fun ) @ ( A @ fun ) @ hAPP ) ) ) @ ( bool @ ( A @ fun ) @ ( A @ hAPP ) ) ) @ ( bool @ ( A @ hAPP ) ) ) @ hBOOL )
       => ( B @ ( D @ ( C @ ( A @ transitive_rtranclp @ ( bool @ ( A @ fun ) @ ( A @ fun ) @ ( bool @ ( A @ fun ) @ ( A @ fun ) @ hAPP ) ) ) @ ( bool @ ( A @ fun ) @ ( A @ hAPP ) ) ) @ ( bool @ ( A @ hAPP ) ) ) @ hBOOL ) ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[241]) ).

thf(606,axiom,
    ! [A: $i] :
      ( ( A @ transitive_rtranclp @ ( bool @ ( A @ fun ) @ ( A @ fun ) @ ( bool @ ( A @ fun ) @ ( A @ fun ) @ fun ) @ ti ) )
      = ( A @ transitive_rtranclp ) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',tsy_c_Transitive__Closure_Ortranclp_res) ).

thf(2811,plain,
    ! [A: $i] :
      ( ( A @ transitive_rtranclp @ ( bool @ ( A @ fun ) @ ( A @ fun ) @ ( bool @ ( A @ fun ) @ ( A @ fun ) @ fun ) @ ti ) )
      = ( A @ transitive_rtranclp ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[606]) ).

thf(271,axiom,
    ( ( ha @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ ti ) )
    = ha ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',tsy_v_ha_____res) ).

thf(1629,plain,
    ( ( ha @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ ti ) )
    = ha ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[271]) ).

thf(499,axiom,
    ! [A: $i] :
      ( ( ( A @ ( bool @ ti ) )
        = fFalse )
      | ( ( A @ ( bool @ ti ) )
        = fTrue ) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',help_fFalse_1_1_T) ).

thf(2447,plain,
    ! [A: $i] :
      ( ( ( A @ ( bool @ ti ) )
        = fFalse )
      | ( ( A @ ( bool @ ti ) )
        = fTrue ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[499]) ).

thf(477,axiom,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i] :
      ( ( E @ ( D @ ( B @ ( A @ product_Pair ) @ ( B @ ( A @ product_prod ) @ ( B @ fun ) @ ( A @ hAPP ) ) ) @ ( B @ ( A @ product_prod ) @ ( B @ hAPP ) ) ) @ ( C @ ( bool @ ( B @ ( A @ product_prod ) @ hAPP ) ) ) @ hBOOL )
     => ( E @ ( D @ ( C @ ( bool @ ( B @ ( A @ product_curry ) ) @ ( bool @ ( B @ fun ) @ ( A @ fun ) @ ( bool @ ( B @ ( A @ product_prod ) @ fun ) @ hAPP ) ) ) @ ( bool @ ( B @ fun ) @ ( A @ hAPP ) ) ) @ ( bool @ ( B @ hAPP ) ) ) @ hBOOL ) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',fact_45_curryI) ).

thf(2384,plain,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i] :
      ( ( E @ ( D @ ( B @ ( A @ product_Pair ) @ ( B @ ( A @ product_prod ) @ ( B @ fun ) @ ( A @ hAPP ) ) ) @ ( B @ ( A @ product_prod ) @ ( B @ hAPP ) ) ) @ ( C @ ( bool @ ( B @ ( A @ product_prod ) @ hAPP ) ) ) @ hBOOL )
     => ( E @ ( D @ ( C @ ( bool @ ( B @ ( A @ product_curry ) ) @ ( bool @ ( B @ fun ) @ ( A @ fun ) @ ( bool @ ( B @ ( A @ product_prod ) @ fun ) @ hAPP ) ) ) @ ( bool @ ( B @ fun ) @ ( A @ hAPP ) ) ) @ ( bool @ ( B @ hAPP ) ) ) @ hBOOL ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[477]) ).

thf(421,axiom,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i,F: $i,G: $i] :
      ( ( G @ ( F @ ( E @ ( D @ ( C @ ( redp @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ hBOOL )
     => ( G @ ( B @ ( A @ ( F @ ( char @ list @ binOp @ ( char @ list @ exp @ ( char @ list @ exp @ fun ) @ ( bop @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( char @ list @ exp @ ( char @ list @ exp @ fun ) @ ( bop @ hAPP ) ) ) @ ( char @ list @ exp @ ( char @ list @ exp @ hAPP ) ) ) @ ( E @ ( B @ ( A @ ( D @ ( char @ list @ binOp @ ( char @ list @ exp @ ( char @ list @ exp @ fun ) @ ( bop @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( char @ list @ exp @ ( char @ list @ exp @ fun ) @ ( bop @ hAPP ) ) ) @ ( char @ list @ exp @ ( char @ list @ exp @ hAPP ) ) ) @ ( C @ ( redp @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ hBOOL ) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',fact_437_redp__redsp_OBinOpRed1) ).

thf(2198,plain,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i,F: $i,G: $i] :
      ( ( G @ ( F @ ( E @ ( D @ ( C @ ( redp @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ hBOOL )
     => ( G @ ( B @ ( A @ ( F @ ( char @ list @ binOp @ ( char @ list @ exp @ ( char @ list @ exp @ fun ) @ ( bop @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( char @ list @ exp @ ( char @ list @ exp @ fun ) @ ( bop @ hAPP ) ) ) @ ( char @ list @ exp @ ( char @ list @ exp @ hAPP ) ) ) @ ( E @ ( B @ ( A @ ( D @ ( char @ list @ binOp @ ( char @ list @ exp @ ( char @ list @ exp @ fun ) @ ( bop @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( char @ list @ exp @ ( char @ list @ exp @ fun ) @ ( bop @ hAPP ) ) ) @ ( char @ list @ exp @ ( char @ list @ exp @ hAPP ) ) ) @ ( C @ ( redp @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ hBOOL ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[421]) ).

thf(266,axiom,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i] : ( E @ ( red @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( D @ ( A @ ( char @ list @ throw @ ( char @ list @ exp @ ( char @ list @ exp @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ ( D @ ( C @ ( B @ ( A @ ( char @ list @ throw @ ( char @ list @ exp @ ( char @ list @ exp @ hAPP ) ) ) @ ( char @ list @ fAcc @ ( char @ list @ exp @ ( char @ list @ fun ) @ ( char @ list @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( char @ list @ exp @ ( char @ list @ fun ) @ ( char @ list @ hAPP ) ) ) @ ( char @ list @ exp @ ( char @ list @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ member @ ( bool @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ hAPP ) ) ) @ ( bool @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ hAPP ) ) ) @ hBOOL ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',fact_281_red__reds_OFAccThrow) ).

thf(1607,plain,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i] : ( E @ ( red @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( D @ ( A @ ( char @ list @ throw @ ( char @ list @ exp @ ( char @ list @ exp @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ ( D @ ( C @ ( B @ ( A @ ( char @ list @ throw @ ( char @ list @ exp @ ( char @ list @ exp @ hAPP ) ) ) @ ( char @ list @ fAcc @ ( char @ list @ exp @ ( char @ list @ fun ) @ ( char @ list @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( char @ list @ exp @ ( char @ list @ fun ) @ ( char @ list @ hAPP ) ) ) @ ( char @ list @ exp @ ( char @ list @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ member @ ( bool @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ hAPP ) ) ) @ ( bool @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ hAPP ) ) ) @ hBOOL ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[266]) ).

thf(399,axiom,
    ! [A: $i] :
      ( ( A @ subcls1p @ ( bool @ ( char @ list @ fun ) @ ( char @ list @ fun ) @ ( A @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ fun ) @ ti ) )
      = ( A @ subcls1p ) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',tsy_c_TypeRel_Osubcls1p_res) ).

thf(2120,plain,
    ! [A: $i] :
      ( ( A @ subcls1p @ ( bool @ ( char @ list @ fun ) @ ( char @ list @ fun ) @ ( A @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ fun ) @ ti ) )
      = ( A @ subcls1p ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[399]) ).

thf(63,axiom,
    ! [A: $i,B: $i,C: $i,D: $i] :
      ( ! [E: $i] :
          ( ( E @ ( C @ ( B @ ( A @ hAPP ) ) ) )
          = ( E @ ( D @ ( B @ ( A @ hAPP ) ) ) ) )
     => ( ( C @ ( B @ ( A @ fun ) @ ti ) )
        = ( D @ ( B @ ( A @ fun ) @ ti ) ) ) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',fact_75_ext) ).

thf(832,plain,
    ! [A: $i,B: $i,C: $i,D: $i] :
      ( ! [E: $i] :
          ( ( E @ ( C @ ( B @ ( A @ hAPP ) ) ) )
          = ( E @ ( D @ ( B @ ( A @ hAPP ) ) ) ) )
     => ( ( C @ ( B @ ( A @ fun ) @ ti ) )
        = ( D @ ( B @ ( A @ fun ) @ ti ) ) ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[63]) ).

thf(458,axiom,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i,F: $i] :
      ( ( D @ ( C @ ( B @ ( A @ binOp @ ( A @ exp @ ( A @ exp @ fun ) @ ( bop @ fun ) @ ( A @ exp @ hAPP ) ) ) @ ( A @ exp @ ( A @ exp @ fun ) @ ( bop @ hAPP ) ) ) @ ( A @ exp @ ( A @ exp @ hAPP ) ) ) )
     != ( F @ ( E @ ( A @ while @ ( A @ exp @ ( A @ exp @ fun ) @ ( A @ exp @ hAPP ) ) ) @ ( A @ exp @ ( A @ exp @ hAPP ) ) ) ) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',fact_478_exp_Osimps_I110_J) ).

thf(2315,plain,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i,F: $i] :
      ( ( D @ ( C @ ( B @ ( A @ binOp @ ( A @ exp @ ( A @ exp @ fun ) @ ( bop @ fun ) @ ( A @ exp @ hAPP ) ) ) @ ( A @ exp @ ( A @ exp @ fun ) @ ( bop @ hAPP ) ) ) @ ( A @ exp @ ( A @ exp @ hAPP ) ) ) )
     != ( F @ ( E @ ( A @ while @ ( A @ exp @ ( A @ exp @ fun ) @ ( A @ exp @ hAPP ) ) ) @ ( A @ exp @ ( A @ exp @ hAPP ) ) ) ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[458]) ).

thf(226,axiom,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i] : ( E @ ( red @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( B @ ( val @ some @ ( val @ option @ ( val @ hAPP ) ) ) @ ( A @ ( D @ ( val @ option @ ( char @ list @ fun_upd ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ fun ) @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ fun ) @ ( char @ list @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ hAPP ) ) ) @ ( C @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ hAPP ) ) ) @ ( unit @ ( char @ list @ val_1 @ ( char @ list @ exp @ ( val @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ ( D @ ( C @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ hAPP ) ) ) @ ( B @ ( char @ list @ val_1 @ ( char @ list @ exp @ ( val @ hAPP ) ) ) @ ( A @ ( char @ list @ lAss @ ( char @ list @ exp @ ( char @ list @ exp @ fun ) @ ( char @ list @ hAPP ) ) ) @ ( char @ list @ exp @ ( char @ list @ exp @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ member @ ( bool @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ hAPP ) ) ) @ ( bool @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ hAPP ) ) ) @ hBOOL ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',fact_90_red__reds_ORedLAss) ).

thf(1444,plain,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i] : ( E @ ( red @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( B @ ( val @ some @ ( val @ option @ ( val @ hAPP ) ) ) @ ( A @ ( D @ ( val @ option @ ( char @ list @ fun_upd ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ fun ) @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ fun ) @ ( char @ list @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ hAPP ) ) ) @ ( C @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ hAPP ) ) ) @ ( unit @ ( char @ list @ val_1 @ ( char @ list @ exp @ ( val @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ ( D @ ( C @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ hAPP ) ) ) @ ( B @ ( char @ list @ val_1 @ ( char @ list @ exp @ ( val @ hAPP ) ) ) @ ( A @ ( char @ list @ lAss @ ( char @ list @ exp @ ( char @ list @ exp @ fun ) @ ( char @ list @ hAPP ) ) ) @ ( char @ list @ exp @ ( char @ list @ exp @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ member @ ( bool @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ hAPP ) ) ) @ ( bool @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ hAPP ) ) ) @ hBOOL ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[226]) ).

thf(552,axiom,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i,F: $i] : ( F @ ( B @ ( char @ list @ throw @ ( char @ list @ exp @ ( char @ list @ exp @ hAPP ) ) ) @ ( F @ ( E @ ( D @ ( C @ ( B @ ( char @ list @ throw @ ( char @ list @ exp @ ( char @ list @ exp @ hAPP ) ) ) @ ( char @ list @ fAss @ ( char @ list @ exp @ ( char @ list @ exp @ fun ) @ ( char @ list @ fun ) @ ( char @ list @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( char @ list @ exp @ ( char @ list @ exp @ fun ) @ ( char @ list @ fun ) @ ( char @ list @ hAPP ) ) ) @ ( char @ list @ exp @ ( char @ list @ exp @ fun ) @ ( char @ list @ hAPP ) ) ) @ ( char @ list @ exp @ ( char @ list @ exp @ hAPP ) ) ) @ ( A @ ( redp @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ hBOOL ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',fact_267_redp__redsp_OFAssThrow1) ).

thf(2623,plain,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i,F: $i] : ( F @ ( B @ ( char @ list @ throw @ ( char @ list @ exp @ ( char @ list @ exp @ hAPP ) ) ) @ ( F @ ( E @ ( D @ ( C @ ( B @ ( char @ list @ throw @ ( char @ list @ exp @ ( char @ list @ exp @ hAPP ) ) ) @ ( char @ list @ fAss @ ( char @ list @ exp @ ( char @ list @ exp @ fun ) @ ( char @ list @ fun ) @ ( char @ list @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( char @ list @ exp @ ( char @ list @ exp @ fun ) @ ( char @ list @ fun ) @ ( char @ list @ hAPP ) ) ) @ ( char @ list @ exp @ ( char @ list @ exp @ fun ) @ ( char @ list @ hAPP ) ) ) @ ( char @ list @ exp @ ( char @ list @ exp @ hAPP ) ) ) @ ( A @ ( redp @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ hBOOL ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[552]) ).

thf(598,axiom,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i,F: $i,G: $i,H: $i] :
      ( ( H @ ( G @ ( B @ ( A @ product_prod ) @ ( E @ ( D @ product_prod_case ) ) @ ( B @ ( A @ product_prod ) @ ( E @ ( D @ product_prod ) @ fun ) @ ( B @ ( A @ product_prod ) @ ( E @ fun ) @ ( D @ fun ) @ hAPP ) ) ) @ ( B @ ( A @ product_prod ) @ ( E @ ( D @ product_prod ) @ hAPP ) ) ) @ ( F @ ( C @ ( B @ ( A @ product_prod_case ) ) @ ( C @ ( B @ ( A @ product_prod ) @ fun ) @ ( C @ ( B @ fun ) @ ( A @ fun ) @ hAPP ) ) ) @ ( C @ ( B @ ( A @ product_prod ) @ hAPP ) ) ) )
      = ( H @ ( G @ ( F @ ( C @ ( B @ ( A @ product_prod_case ) ) @ ( C @ ( B @ ( A @ product_prod ) @ fun ) @ ( C @ ( B @ fun ) @ ( A @ fun ) @ hAPP ) ) ) @ ( E @ ( C @ ( B @ ( A @ product_prod ) @ combb ) ) @ ( C @ ( E @ fun ) @ ( B @ ( A @ product_prod ) @ ( E @ fun ) @ fun ) @ ( C @ ( B @ ( A @ product_prod ) @ fun ) @ hAPP ) ) ) @ ( D @ ( C @ ( E @ fun ) @ ( B @ ( A @ product_prod ) @ ( E @ fun ) @ combb ) ) @ ( C @ ( E @ fun ) @ ( D @ fun ) @ ( B @ ( A @ product_prod ) @ ( E @ fun ) @ ( D @ fun ) @ fun ) @ ( C @ ( E @ fun ) @ ( B @ ( A @ product_prod ) @ ( E @ fun ) @ fun ) @ hAPP ) ) ) @ ( C @ ( E @ fun ) @ ( D @ fun ) @ ( B @ ( A @ product_prod ) @ ( E @ fun ) @ ( D @ fun ) @ hAPP ) ) ) @ ( C @ ( E @ ( D @ product_prod_case ) ) @ ( C @ ( E @ ( D @ product_prod ) @ fun ) @ ( C @ ( E @ fun ) @ ( D @ fun ) @ hAPP ) ) ) @ ( C @ ( E @ ( D @ product_prod ) @ hAPP ) ) ) ) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',fact_58_split__twice) ).

thf(2779,plain,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i,F: $i,G: $i,H: $i] :
      ( ( H @ ( G @ ( B @ ( A @ product_prod ) @ ( E @ ( D @ product_prod_case ) ) @ ( B @ ( A @ product_prod ) @ ( E @ ( D @ product_prod ) @ fun ) @ ( B @ ( A @ product_prod ) @ ( E @ fun ) @ ( D @ fun ) @ hAPP ) ) ) @ ( B @ ( A @ product_prod ) @ ( E @ ( D @ product_prod ) @ hAPP ) ) ) @ ( F @ ( C @ ( B @ ( A @ product_prod_case ) ) @ ( C @ ( B @ ( A @ product_prod ) @ fun ) @ ( C @ ( B @ fun ) @ ( A @ fun ) @ hAPP ) ) ) @ ( C @ ( B @ ( A @ product_prod ) @ hAPP ) ) ) )
      = ( H @ ( G @ ( F @ ( C @ ( B @ ( A @ product_prod_case ) ) @ ( C @ ( B @ ( A @ product_prod ) @ fun ) @ ( C @ ( B @ fun ) @ ( A @ fun ) @ hAPP ) ) ) @ ( E @ ( C @ ( B @ ( A @ product_prod ) @ combb ) ) @ ( C @ ( E @ fun ) @ ( B @ ( A @ product_prod ) @ ( E @ fun ) @ fun ) @ ( C @ ( B @ ( A @ product_prod ) @ fun ) @ hAPP ) ) ) @ ( D @ ( C @ ( E @ fun ) @ ( B @ ( A @ product_prod ) @ ( E @ fun ) @ combb ) ) @ ( C @ ( E @ fun ) @ ( D @ fun ) @ ( B @ ( A @ product_prod ) @ ( E @ fun ) @ ( D @ fun ) @ fun ) @ ( C @ ( E @ fun ) @ ( B @ ( A @ product_prod ) @ ( E @ fun ) @ fun ) @ hAPP ) ) ) @ ( C @ ( E @ fun ) @ ( D @ fun ) @ ( B @ ( A @ product_prod ) @ ( E @ fun ) @ ( D @ fun ) @ hAPP ) ) ) @ ( C @ ( E @ ( D @ product_prod_case ) ) @ ( C @ ( E @ ( D @ product_prod ) @ fun ) @ ( C @ ( E @ fun ) @ ( D @ fun ) @ hAPP ) ) ) @ ( C @ ( E @ ( D @ product_prod ) @ hAPP ) ) ) ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[598]) ).

thf(120,axiom,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i,F: $i] :
      ( ( ( E @ ( D @ ( val @ ( val @ product_Pair ) @ ( val @ ( val @ product_prod ) @ ( val @ fun ) @ ( val @ hAPP ) ) ) @ ( val @ ( val @ product_prod ) @ ( val @ hAPP ) ) ) @ ( C @ ( val @ ( val @ product_prod ) @ ( bop @ product_Pair ) @ ( val @ ( val @ product_prod ) @ ( bop @ product_prod ) @ ( val @ ( val @ product_prod ) @ fun ) @ ( bop @ hAPP ) ) ) @ ( val @ ( val @ product_prod ) @ ( bop @ product_prod ) @ ( val @ ( val @ product_prod ) @ hAPP ) ) ) @ ( binop @ ( val @ option @ ( val @ ( val @ product_prod ) @ ( bop @ product_prod ) @ hAPP ) ) ) )
        = ( F @ ( val @ some @ ( val @ option @ ( val @ hAPP ) ) ) ) )
     => ( B @ ( red @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( A @ ( F @ ( char @ list @ val_1 @ ( char @ list @ exp @ ( val @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ ( A @ ( E @ ( char @ list @ val_1 @ ( char @ list @ exp @ ( val @ hAPP ) ) ) @ ( C @ ( D @ ( char @ list @ val_1 @ ( char @ list @ exp @ ( val @ hAPP ) ) ) @ ( char @ list @ binOp @ ( char @ list @ exp @ ( char @ list @ exp @ fun ) @ ( bop @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( char @ list @ exp @ ( char @ list @ exp @ fun ) @ ( bop @ hAPP ) ) ) @ ( char @ list @ exp @ ( char @ list @ exp @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ member @ ( bool @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ hAPP ) ) ) @ ( bool @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ hAPP ) ) ) @ hBOOL ) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',fact_458_red__reds_ORedBinOp) ).

thf(1045,plain,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i,F: $i] :
      ( ( ( E @ ( D @ ( val @ ( val @ product_Pair ) @ ( val @ ( val @ product_prod ) @ ( val @ fun ) @ ( val @ hAPP ) ) ) @ ( val @ ( val @ product_prod ) @ ( val @ hAPP ) ) ) @ ( C @ ( val @ ( val @ product_prod ) @ ( bop @ product_Pair ) @ ( val @ ( val @ product_prod ) @ ( bop @ product_prod ) @ ( val @ ( val @ product_prod ) @ fun ) @ ( bop @ hAPP ) ) ) @ ( val @ ( val @ product_prod ) @ ( bop @ product_prod ) @ ( val @ ( val @ product_prod ) @ hAPP ) ) ) @ ( binop @ ( val @ option @ ( val @ ( val @ product_prod ) @ ( bop @ product_prod ) @ hAPP ) ) ) )
        = ( F @ ( val @ some @ ( val @ option @ ( val @ hAPP ) ) ) ) )
     => ( B @ ( red @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( A @ ( F @ ( char @ list @ val_1 @ ( char @ list @ exp @ ( val @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ ( A @ ( E @ ( char @ list @ val_1 @ ( char @ list @ exp @ ( val @ hAPP ) ) ) @ ( C @ ( D @ ( char @ list @ val_1 @ ( char @ list @ exp @ ( val @ hAPP ) ) ) @ ( char @ list @ binOp @ ( char @ list @ exp @ ( char @ list @ exp @ fun ) @ ( bop @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( char @ list @ exp @ ( char @ list @ exp @ fun ) @ ( bop @ hAPP ) ) ) @ ( char @ list @ exp @ ( char @ list @ exp @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ member @ ( bool @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ hAPP ) ) ) @ ( bool @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ hAPP ) ) ) @ hBOOL ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[120]) ).

thf(286,axiom,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i,F: $i] :
      ( ( F @ ( E @ ( char @ list @ throw @ ( char @ list @ exp @ ( char @ list @ exp @ hAPP ) ) ) @ ( D @ ( C @ ( B @ ( eval @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ hBOOL )
     => ( F @ ( E @ ( char @ list @ throw @ ( char @ list @ exp @ ( char @ list @ exp @ hAPP ) ) ) @ ( D @ ( C @ ( A @ ( char @ list @ cast @ ( char @ list @ exp @ ( char @ list @ exp @ fun ) @ ( char @ list @ hAPP ) ) ) @ ( char @ list @ exp @ ( char @ list @ exp @ hAPP ) ) ) @ ( B @ ( eval @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ hBOOL ) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',fact_344_eval__evals_OCastThrow) ).

thf(1689,plain,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i,F: $i] :
      ( ( F @ ( E @ ( char @ list @ throw @ ( char @ list @ exp @ ( char @ list @ exp @ hAPP ) ) ) @ ( D @ ( C @ ( B @ ( eval @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ hBOOL )
     => ( F @ ( E @ ( char @ list @ throw @ ( char @ list @ exp @ ( char @ list @ exp @ hAPP ) ) ) @ ( D @ ( C @ ( A @ ( char @ list @ cast @ ( char @ list @ exp @ ( char @ list @ exp @ fun ) @ ( char @ list @ hAPP ) ) ) @ ( char @ list @ exp @ ( char @ list @ exp @ hAPP ) ) ) @ ( B @ ( eval @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ hBOOL ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[286]) ).

thf(385,axiom,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i,F: $i] :
      ( ( F @ ( red @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( E @ ( D @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ ( C @ ( B @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ member @ ( bool @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ hAPP ) ) ) @ ( bool @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ hAPP ) ) ) @ hBOOL )
     => ( F @ ( red @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( E @ ( D @ ( A @ ( char @ list @ lAss @ ( char @ list @ exp @ ( char @ list @ exp @ fun ) @ ( char @ list @ hAPP ) ) ) @ ( char @ list @ exp @ ( char @ list @ exp @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ ( C @ ( B @ ( A @ ( char @ list @ lAss @ ( char @ list @ exp @ ( char @ list @ exp @ fun ) @ ( char @ list @ hAPP ) ) ) @ ( char @ list @ exp @ ( char @ list @ exp @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ member @ ( bool @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ hAPP ) ) ) @ ( bool @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ hAPP ) ) ) @ hBOOL ) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',fact_78_red__reds_OLAssRed) ).

thf(2081,plain,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i,F: $i] :
      ( ( F @ ( red @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( E @ ( D @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ ( C @ ( B @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ member @ ( bool @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ hAPP ) ) ) @ ( bool @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ hAPP ) ) ) @ hBOOL )
     => ( F @ ( red @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( E @ ( D @ ( A @ ( char @ list @ lAss @ ( char @ list @ exp @ ( char @ list @ exp @ fun ) @ ( char @ list @ hAPP ) ) ) @ ( char @ list @ exp @ ( char @ list @ exp @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ ( C @ ( B @ ( A @ ( char @ list @ lAss @ ( char @ list @ exp @ ( char @ list @ exp @ fun ) @ ( char @ list @ hAPP ) ) ) @ ( char @ list @ exp @ ( char @ list @ exp @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ member @ ( bool @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ hAPP ) ) ) @ ( bool @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ hAPP ) ) ) @ hBOOL ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[385]) ).

thf(182,axiom,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i,F: $i] :
      ( ( F @ ( red @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ transitive_rtrancl @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ hAPP ) ) ) @ ( E @ ( null @ ( char @ list @ val_1 @ ( char @ list @ exp @ ( val @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ ( D @ ( C @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ member @ ( bool @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ hAPP ) ) ) @ ( bool @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ hAPP ) ) ) @ hBOOL )
     => ( F @ ( red @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ transitive_rtrancl @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ hAPP ) ) ) @ ( E @ ( nullPointer @ ( addr_of_sys_xcpt @ ( nat @ ( char @ list @ hAPP ) ) ) @ ( addr @ ( val @ ( nat @ hAPP ) ) ) @ ( char @ list @ val_1 @ ( char @ list @ exp @ ( val @ hAPP ) ) ) @ ( char @ list @ throw @ ( char @ list @ exp @ ( char @ list @ exp @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ ( D @ ( B @ ( A @ ( C @ ( char @ list @ fAcc @ ( char @ list @ exp @ ( char @ list @ fun ) @ ( char @ list @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( char @ list @ exp @ ( char @ list @ fun ) @ ( char @ list @ hAPP ) ) ) @ ( char @ list @ exp @ ( char @ list @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ member @ ( bool @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ hAPP ) ) ) @ ( bool @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ hAPP ) ) ) @ hBOOL ) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',fact_397_FAccRedsNull) ).

thf(1294,plain,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i,F: $i] :
      ( ( F @ ( red @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ transitive_rtrancl @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ hAPP ) ) ) @ ( E @ ( null @ ( char @ list @ val_1 @ ( char @ list @ exp @ ( val @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ ( D @ ( C @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ member @ ( bool @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ hAPP ) ) ) @ ( bool @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ hAPP ) ) ) @ hBOOL )
     => ( F @ ( red @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ transitive_rtrancl @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ hAPP ) ) ) @ ( E @ ( nullPointer @ ( addr_of_sys_xcpt @ ( nat @ ( char @ list @ hAPP ) ) ) @ ( addr @ ( val @ ( nat @ hAPP ) ) ) @ ( char @ list @ val_1 @ ( char @ list @ exp @ ( val @ hAPP ) ) ) @ ( char @ list @ throw @ ( char @ list @ exp @ ( char @ list @ exp @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ ( D @ ( B @ ( A @ ( C @ ( char @ list @ fAcc @ ( char @ list @ exp @ ( char @ list @ fun ) @ ( char @ list @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( char @ list @ exp @ ( char @ list @ fun ) @ ( char @ list @ hAPP ) ) ) @ ( char @ list @ exp @ ( char @ list @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ member @ ( bool @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ hAPP ) ) ) @ ( bool @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ hAPP ) ) ) @ hBOOL ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[182]) ).

thf(504,axiom,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i] :
      ( ( E @ ( wwf_J_mdecl @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ wf_prog @ ( bool @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ fun ) @ ( bool @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ fun ) @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ fun ) @ hAPP ) ) ) @ ( bool @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ hBOOL )
     => ( ( D @ ( C @ ( B @ ( A @ ( E @ ( eval @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ hBOOL )
      <=> ( ( C @ ( char @ list @ final @ ( bool @ ( char @ list @ exp @ hAPP ) ) ) @ hBOOL )
          & ( E @ ( red @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ transitive_rtrancl @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ hAPP ) ) ) @ ( D @ ( C @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ ( B @ ( A @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ member @ ( bool @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ hAPP ) ) ) @ ( bool @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ hAPP ) ) ) @ hBOOL ) ) ) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',fact_189_big__iff__small) ).

thf(2462,plain,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i] :
      ( ( E @ ( wwf_J_mdecl @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ wf_prog @ ( bool @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ fun ) @ ( bool @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ fun ) @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ fun ) @ hAPP ) ) ) @ ( bool @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ hBOOL )
     => ( ( ( ( C @ ( char @ list @ final @ ( bool @ ( char @ list @ exp @ hAPP ) ) ) @ hBOOL )
            & ( E @ ( red @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ transitive_rtrancl @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ hAPP ) ) ) @ ( D @ ( C @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ ( B @ ( A @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ member @ ( bool @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ hAPP ) ) ) @ ( bool @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ hAPP ) ) ) @ hBOOL ) )
         => ( D @ ( C @ ( B @ ( A @ ( E @ ( eval @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ hBOOL ) )
        & ( ( D @ ( C @ ( B @ ( A @ ( E @ ( eval @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ hBOOL )
         => ( ( C @ ( char @ list @ final @ ( bool @ ( char @ list @ exp @ hAPP ) ) ) @ hBOOL )
            & ( E @ ( red @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ transitive_rtrancl @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ hAPP ) ) ) @ ( D @ ( C @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ ( B @ ( A @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ member @ ( bool @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ hAPP ) ) ) @ ( bool @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ hAPP ) ) ) @ hBOOL ) ) ) ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[504]) ).

thf(570,axiom,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i,F: $i] :
      ( ( F @ ( E @ ( D @ ( C @ ( B @ ( wTrt @ ( bool @ ( ty @ fun ) @ ( char @ list @ exp @ fun ) @ ( ty @ option @ ( char @ list @ fun ) @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ fun ) @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( bool @ ( ty @ fun ) @ ( char @ list @ exp @ fun ) @ ( ty @ option @ ( char @ list @ fun ) @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ hAPP ) ) ) @ ( bool @ ( ty @ fun ) @ ( char @ list @ exp @ fun ) @ ( ty @ option @ ( char @ list @ fun ) @ hAPP ) ) ) @ ( bool @ ( ty @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( bool @ ( ty @ hAPP ) ) ) @ hBOOL )
     => ( ( F @ ( is_refT @ ( bool @ ( ty @ hAPP ) ) ) @ hBOOL )
       => ( ( A @ ( B @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ is_class @ ( bool @ ( char @ list @ fun ) @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( bool @ ( char @ list @ hAPP ) ) ) @ hBOOL )
         => ( A @ ( class @ ( ty @ ( char @ list @ hAPP ) ) ) @ ( E @ ( A @ ( char @ list @ cast @ ( char @ list @ exp @ ( char @ list @ exp @ fun ) @ ( char @ list @ hAPP ) ) ) @ ( char @ list @ exp @ ( char @ list @ exp @ hAPP ) ) ) @ ( D @ ( C @ ( B @ ( wTrt @ ( bool @ ( ty @ fun ) @ ( char @ list @ exp @ fun ) @ ( ty @ option @ ( char @ list @ fun ) @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ fun ) @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( bool @ ( ty @ fun ) @ ( char @ list @ exp @ fun ) @ ( ty @ option @ ( char @ list @ fun ) @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ hAPP ) ) ) @ ( bool @ ( ty @ fun ) @ ( char @ list @ exp @ fun ) @ ( ty @ option @ ( char @ list @ fun ) @ hAPP ) ) ) @ ( bool @ ( ty @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( bool @ ( ty @ hAPP ) ) ) @ hBOOL ) ) ) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',fact_420_WTrtCast) ).

thf(2680,plain,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i,F: $i] :
      ( ( F @ ( E @ ( D @ ( C @ ( B @ ( wTrt @ ( bool @ ( ty @ fun ) @ ( char @ list @ exp @ fun ) @ ( ty @ option @ ( char @ list @ fun ) @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ fun ) @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( bool @ ( ty @ fun ) @ ( char @ list @ exp @ fun ) @ ( ty @ option @ ( char @ list @ fun ) @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ hAPP ) ) ) @ ( bool @ ( ty @ fun ) @ ( char @ list @ exp @ fun ) @ ( ty @ option @ ( char @ list @ fun ) @ hAPP ) ) ) @ ( bool @ ( ty @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( bool @ ( ty @ hAPP ) ) ) @ hBOOL )
     => ( ( F @ ( is_refT @ ( bool @ ( ty @ hAPP ) ) ) @ hBOOL )
       => ( ( A @ ( B @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ is_class @ ( bool @ ( char @ list @ fun ) @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( bool @ ( char @ list @ hAPP ) ) ) @ hBOOL )
         => ( A @ ( class @ ( ty @ ( char @ list @ hAPP ) ) ) @ ( E @ ( A @ ( char @ list @ cast @ ( char @ list @ exp @ ( char @ list @ exp @ fun ) @ ( char @ list @ hAPP ) ) ) @ ( char @ list @ exp @ ( char @ list @ exp @ hAPP ) ) ) @ ( D @ ( C @ ( B @ ( wTrt @ ( bool @ ( ty @ fun ) @ ( char @ list @ exp @ fun ) @ ( ty @ option @ ( char @ list @ fun ) @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ fun ) @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( bool @ ( ty @ fun ) @ ( char @ list @ exp @ fun ) @ ( ty @ option @ ( char @ list @ fun ) @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ hAPP ) ) ) @ ( bool @ ( ty @ fun ) @ ( char @ list @ exp @ fun ) @ ( ty @ option @ ( char @ list @ fun ) @ hAPP ) ) ) @ ( bool @ ( ty @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( bool @ ( ty @ hAPP ) ) ) @ hBOOL ) ) ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[570]) ).

thf(160,axiom,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i,F: $i,G: $i,H: $i] :
      ( ( ( F @ ( E @ ( hp @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ hAPP ) ) ) )
        = ( H @ ( G @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_Pair ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ fun ) @ ( char @ list @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ some @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ hAPP ) ) ) ) )
     => ( ~ ( D @ ( G @ ( C @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ subcls1p @ ( bool @ ( char @ list @ fun ) @ ( char @ list @ fun ) @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( char @ list @ transitive_rtranclp @ ( bool @ ( char @ list @ fun ) @ ( char @ list @ fun ) @ ( bool @ ( char @ list @ fun ) @ ( char @ list @ fun ) @ hAPP ) ) ) @ ( bool @ ( char @ list @ fun ) @ ( char @ list @ hAPP ) ) ) @ ( bool @ ( char @ list @ hAPP ) ) ) @ hBOOL )
       => ( E @ ( F @ ( addr @ ( val @ ( nat @ hAPP ) ) ) @ ( char @ list @ val_1 @ ( char @ list @ exp @ ( val @ hAPP ) ) ) @ ( char @ list @ throw @ ( char @ list @ exp @ ( char @ list @ exp @ hAPP ) ) ) @ ( E @ ( B @ ( A @ ( D @ ( F @ ( addr @ ( val @ ( nat @ hAPP ) ) ) @ ( char @ list @ val_1 @ ( char @ list @ exp @ ( val @ hAPP ) ) ) @ ( char @ list @ throw @ ( char @ list @ exp @ ( char @ list @ exp @ hAPP ) ) ) @ ( char @ list @ tryCatch @ ( char @ list @ exp @ ( char @ list @ exp @ fun ) @ ( char @ list @ fun ) @ ( char @ list @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( char @ list @ exp @ ( char @ list @ exp @ fun ) @ ( char @ list @ fun ) @ ( char @ list @ hAPP ) ) ) @ ( char @ list @ exp @ ( char @ list @ exp @ fun ) @ ( char @ list @ hAPP ) ) ) @ ( char @ list @ exp @ ( char @ list @ exp @ hAPP ) ) ) @ ( C @ ( redp @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ hBOOL ) ) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',fact_371_redp__redsp_ORedTryFail) ).

thf(1212,plain,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i,F: $i,G: $i,H: $i] :
      ( ( ( F @ ( E @ ( hp @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ hAPP ) ) ) )
        = ( H @ ( G @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_Pair ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ fun ) @ ( char @ list @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ some @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ hAPP ) ) ) ) )
     => ( ~ ( D @ ( G @ ( C @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ subcls1p @ ( bool @ ( char @ list @ fun ) @ ( char @ list @ fun ) @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( char @ list @ transitive_rtranclp @ ( bool @ ( char @ list @ fun ) @ ( char @ list @ fun ) @ ( bool @ ( char @ list @ fun ) @ ( char @ list @ fun ) @ hAPP ) ) ) @ ( bool @ ( char @ list @ fun ) @ ( char @ list @ hAPP ) ) ) @ ( bool @ ( char @ list @ hAPP ) ) ) @ hBOOL )
       => ( E @ ( F @ ( addr @ ( val @ ( nat @ hAPP ) ) ) @ ( char @ list @ val_1 @ ( char @ list @ exp @ ( val @ hAPP ) ) ) @ ( char @ list @ throw @ ( char @ list @ exp @ ( char @ list @ exp @ hAPP ) ) ) @ ( E @ ( B @ ( A @ ( D @ ( F @ ( addr @ ( val @ ( nat @ hAPP ) ) ) @ ( char @ list @ val_1 @ ( char @ list @ exp @ ( val @ hAPP ) ) ) @ ( char @ list @ throw @ ( char @ list @ exp @ ( char @ list @ exp @ hAPP ) ) ) @ ( char @ list @ tryCatch @ ( char @ list @ exp @ ( char @ list @ exp @ fun ) @ ( char @ list @ fun ) @ ( char @ list @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( char @ list @ exp @ ( char @ list @ exp @ fun ) @ ( char @ list @ fun ) @ ( char @ list @ hAPP ) ) ) @ ( char @ list @ exp @ ( char @ list @ exp @ fun ) @ ( char @ list @ hAPP ) ) ) @ ( char @ list @ exp @ ( char @ list @ exp @ hAPP ) ) ) @ ( C @ ( redp @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ hBOOL ) ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[160]) ).

thf(342,axiom,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i,F: $i,G: $i,H: $i] :
      ( ( H @ ( red @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ transitive_rtrancl @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ hAPP ) ) ) @ ( G @ ( F @ ( char @ list @ throw @ ( char @ list @ exp @ ( char @ list @ exp @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ ( E @ ( D @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ member @ ( bool @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ hAPP ) ) ) @ ( bool @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ hAPP ) ) ) @ hBOOL )
     => ( H @ ( red @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ transitive_rtrancl @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ hAPP ) ) ) @ ( G @ ( F @ ( char @ list @ throw @ ( char @ list @ exp @ ( char @ list @ exp @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ ( E @ ( C @ ( B @ ( A @ ( D @ ( char @ list @ fAss @ ( char @ list @ exp @ ( char @ list @ exp @ fun ) @ ( char @ list @ fun ) @ ( char @ list @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( char @ list @ exp @ ( char @ list @ exp @ fun ) @ ( char @ list @ fun ) @ ( char @ list @ hAPP ) ) ) @ ( char @ list @ exp @ ( char @ list @ exp @ fun ) @ ( char @ list @ hAPP ) ) ) @ ( char @ list @ exp @ ( char @ list @ exp @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ member @ ( bool @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ hAPP ) ) ) @ ( bool @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ hAPP ) ) ) @ hBOOL ) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',fact_286_FAssRedsThrow1) ).

thf(1908,plain,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i,F: $i,G: $i,H: $i] :
      ( ( H @ ( red @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ transitive_rtrancl @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ hAPP ) ) ) @ ( G @ ( F @ ( char @ list @ throw @ ( char @ list @ exp @ ( char @ list @ exp @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ ( E @ ( D @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ member @ ( bool @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ hAPP ) ) ) @ ( bool @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ hAPP ) ) ) @ hBOOL )
     => ( H @ ( red @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ transitive_rtrancl @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ hAPP ) ) ) @ ( G @ ( F @ ( char @ list @ throw @ ( char @ list @ exp @ ( char @ list @ exp @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ ( E @ ( C @ ( B @ ( A @ ( D @ ( char @ list @ fAss @ ( char @ list @ exp @ ( char @ list @ exp @ fun ) @ ( char @ list @ fun ) @ ( char @ list @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( char @ list @ exp @ ( char @ list @ exp @ fun ) @ ( char @ list @ fun ) @ ( char @ list @ hAPP ) ) ) @ ( char @ list @ exp @ ( char @ list @ exp @ fun ) @ ( char @ list @ hAPP ) ) ) @ ( char @ list @ exp @ ( char @ list @ exp @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ member @ ( bool @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ hAPP ) ) ) @ ( bool @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ hAPP ) ) ) @ hBOOL ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[342]) ).

thf(400,axiom,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i,F: $i,G: $i,H: $i] :
      ( ( H @ ( red @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ transitive_rtrancl @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ hAPP ) ) ) @ ( G @ ( F @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ hAPP ) ) ) @ ( E @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ ( D @ ( C @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ hAPP ) ) ) @ ( B @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ member @ ( bool @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ hAPP ) ) ) @ ( bool @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ hAPP ) ) ) @ hBOOL )
     => ( H @ ( red @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ transitive_rtrancl @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ hAPP ) ) ) @ ( G @ ( A @ ( val @ ( char @ list @ map_add ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ hAPP ) ) ) @ ( F @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ hAPP ) ) ) @ ( E @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ ( D @ ( A @ ( val @ ( char @ list @ map_add ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ hAPP ) ) ) @ ( C @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ hAPP ) ) ) @ ( B @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ member @ ( bool @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ hAPP ) ) ) @ ( bool @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ hAPP ) ) ) @ hBOOL ) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',fact_159_Red__lcl__add) ).

thf(2123,plain,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i,F: $i,G: $i,H: $i] :
      ( ( H @ ( red @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ transitive_rtrancl @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ hAPP ) ) ) @ ( G @ ( F @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ hAPP ) ) ) @ ( E @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ ( D @ ( C @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ hAPP ) ) ) @ ( B @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ member @ ( bool @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ hAPP ) ) ) @ ( bool @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ hAPP ) ) ) @ hBOOL )
     => ( H @ ( red @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ transitive_rtrancl @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ hAPP ) ) ) @ ( G @ ( A @ ( val @ ( char @ list @ map_add ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ hAPP ) ) ) @ ( F @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ hAPP ) ) ) @ ( E @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ ( D @ ( A @ ( val @ ( char @ list @ map_add ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ hAPP ) ) ) @ ( C @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ hAPP ) ) ) @ ( B @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ member @ ( bool @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ hAPP ) ) ) @ ( bool @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ hAPP ) ) ) @ hBOOL ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[400]) ).

thf(243,axiom,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i,F: $i] :
      ( ( F @ ( E @ ( D @ ( C @ ( B @ ( char @ list @ seq @ ( char @ list @ exp @ ( char @ list @ exp @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( char @ list @ exp @ ( char @ list @ exp @ hAPP ) ) ) @ ( A @ ( eval @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ hBOOL )
     => ( ! [G: $i,H: $i] :
            ( ( H @ ( G @ ( char @ list @ val_1 @ ( char @ list @ exp @ ( val @ hAPP ) ) ) @ ( D @ ( B @ ( A @ ( eval @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ hBOOL )
           => ~ ( F @ ( E @ ( H @ ( C @ ( A @ ( eval @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ hBOOL ) )
       => ~ ! [G: $i] :
              ( ( E
                = ( G @ ( char @ list @ throw @ ( char @ list @ exp @ ( char @ list @ exp @ hAPP ) ) ) ) )
             => ~ ( F @ ( G @ ( char @ list @ throw @ ( char @ list @ exp @ ( char @ list @ exp @ hAPP ) ) ) @ ( D @ ( B @ ( A @ ( eval @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ hBOOL ) ) ) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',fact_292_eval__cases_I9_J) ).

thf(1512,plain,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i,F: $i] :
      ( ( F @ ( E @ ( D @ ( C @ ( B @ ( char @ list @ seq @ ( char @ list @ exp @ ( char @ list @ exp @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( char @ list @ exp @ ( char @ list @ exp @ hAPP ) ) ) @ ( A @ ( eval @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ hBOOL )
     => ( ! [G: $i,H: $i] :
            ( ( H @ ( G @ ( char @ list @ val_1 @ ( char @ list @ exp @ ( val @ hAPP ) ) ) @ ( D @ ( B @ ( A @ ( eval @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ hBOOL )
           => ~ ( F @ ( E @ ( H @ ( C @ ( A @ ( eval @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ hBOOL ) )
       => ~ ! [G: $i] :
              ( ( E
                = ( G @ ( char @ list @ throw @ ( char @ list @ exp @ ( char @ list @ exp @ hAPP ) ) ) ) )
             => ~ ( F @ ( G @ ( char @ list @ throw @ ( char @ list @ exp @ ( char @ list @ exp @ hAPP ) ) ) @ ( D @ ( B @ ( A @ ( eval @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ hBOOL ) ) ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[243]) ).

thf(453,axiom,
    ! [A: $i,B: $i,C: $i,D: $i] : ( D @ ( C @ ( char @ list @ throw @ ( char @ list @ exp @ ( char @ list @ exp @ hAPP ) ) ) @ ( D @ ( C @ ( char @ list @ throw @ ( char @ list @ exp @ ( char @ list @ exp @ hAPP ) ) ) @ ( B @ ( char @ list @ cast @ ( char @ list @ exp @ ( char @ list @ exp @ fun ) @ ( char @ list @ hAPP ) ) ) @ ( char @ list @ exp @ ( char @ list @ exp @ hAPP ) ) ) @ ( A @ ( redp @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ hBOOL ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',fact_345_redp__redsp_OCastThrow) ).

thf(2302,plain,
    ! [A: $i,B: $i,C: $i,D: $i] : ( D @ ( C @ ( char @ list @ throw @ ( char @ list @ exp @ ( char @ list @ exp @ hAPP ) ) ) @ ( D @ ( C @ ( char @ list @ throw @ ( char @ list @ exp @ ( char @ list @ exp @ hAPP ) ) ) @ ( B @ ( char @ list @ cast @ ( char @ list @ exp @ ( char @ list @ exp @ fun ) @ ( char @ list @ hAPP ) ) ) @ ( char @ list @ exp @ ( char @ list @ exp @ hAPP ) ) ) @ ( A @ ( redp @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ hBOOL ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[453]) ).

thf(297,axiom,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i,F: $i,G: $i,H: $i] :
      ( ( H @ ( G @ ( char @ list @ throw @ ( char @ list @ exp @ ( char @ list @ exp @ hAPP ) ) ) @ ( F @ ( E @ ( D @ ( eval @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ hBOOL )
     => ( H @ ( G @ ( char @ list @ throw @ ( char @ list @ exp @ ( char @ list @ exp @ hAPP ) ) ) @ ( F @ ( C @ ( B @ ( A @ ( E @ ( char @ list @ fAss @ ( char @ list @ exp @ ( char @ list @ exp @ fun ) @ ( char @ list @ fun ) @ ( char @ list @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( char @ list @ exp @ ( char @ list @ exp @ fun ) @ ( char @ list @ fun ) @ ( char @ list @ hAPP ) ) ) @ ( char @ list @ exp @ ( char @ list @ exp @ fun ) @ ( char @ list @ hAPP ) ) ) @ ( char @ list @ exp @ ( char @ list @ exp @ hAPP ) ) ) @ ( D @ ( eval @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ hBOOL ) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',fact_263_eval__evals_OFAssThrow1) ).

thf(1725,plain,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i,F: $i,G: $i,H: $i] :
      ( ( H @ ( G @ ( char @ list @ throw @ ( char @ list @ exp @ ( char @ list @ exp @ hAPP ) ) ) @ ( F @ ( E @ ( D @ ( eval @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ hBOOL )
     => ( H @ ( G @ ( char @ list @ throw @ ( char @ list @ exp @ ( char @ list @ exp @ hAPP ) ) ) @ ( F @ ( C @ ( B @ ( A @ ( E @ ( char @ list @ fAss @ ( char @ list @ exp @ ( char @ list @ exp @ fun ) @ ( char @ list @ fun ) @ ( char @ list @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( char @ list @ exp @ ( char @ list @ exp @ fun ) @ ( char @ list @ fun ) @ ( char @ list @ hAPP ) ) ) @ ( char @ list @ exp @ ( char @ list @ exp @ fun ) @ ( char @ list @ hAPP ) ) ) @ ( char @ list @ exp @ ( char @ list @ exp @ hAPP ) ) ) @ ( D @ ( eval @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ hBOOL ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[297]) ).

thf(529,axiom,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i,F: $i,G: $i] :
      ( ( D @ ( C @ ( B @ ( A @ binOp @ ( A @ exp @ ( A @ exp @ fun ) @ ( bop @ fun ) @ ( A @ exp @ hAPP ) ) ) @ ( A @ exp @ ( A @ exp @ fun ) @ ( bop @ hAPP ) ) ) @ ( A @ exp @ ( A @ exp @ hAPP ) ) ) )
     != ( G @ ( F @ ( E @ ( A @ fAcc @ ( A @ exp @ ( char @ list @ fun ) @ ( char @ list @ fun ) @ ( A @ exp @ hAPP ) ) ) @ ( A @ exp @ ( char @ list @ fun ) @ ( char @ list @ hAPP ) ) ) @ ( A @ exp @ ( char @ list @ hAPP ) ) ) ) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',fact_435_exp_Osimps_I98_J) ).

thf(2534,plain,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i,F: $i,G: $i] :
      ( ( D @ ( C @ ( B @ ( A @ binOp @ ( A @ exp @ ( A @ exp @ fun ) @ ( bop @ fun ) @ ( A @ exp @ hAPP ) ) ) @ ( A @ exp @ ( A @ exp @ fun ) @ ( bop @ hAPP ) ) ) @ ( A @ exp @ ( A @ exp @ hAPP ) ) ) )
     != ( G @ ( F @ ( E @ ( A @ fAcc @ ( A @ exp @ ( char @ list @ fun ) @ ( char @ list @ fun ) @ ( A @ exp @ hAPP ) ) ) @ ( A @ exp @ ( char @ list @ fun ) @ ( char @ list @ hAPP ) ) ) @ ( A @ exp @ ( char @ list @ hAPP ) ) ) ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[529]) ).

thf(64,axiom,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i,F: $i] :
      ( ( F @ ( red @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ transitive_rtrancl @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ hAPP ) ) ) @ ( E @ ( D @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ ( C @ ( B @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ member @ ( bool @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ hAPP ) ) ) @ ( bool @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ hAPP ) ) ) @ hBOOL )
     => ( F @ ( red @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ transitive_rtrancl @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ hAPP ) ) ) @ ( E @ ( D @ ( A @ ( char @ list @ lAss @ ( char @ list @ exp @ ( char @ list @ exp @ fun ) @ ( char @ list @ hAPP ) ) ) @ ( char @ list @ exp @ ( char @ list @ exp @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ ( C @ ( B @ ( A @ ( char @ list @ lAss @ ( char @ list @ exp @ ( char @ list @ exp @ fun ) @ ( char @ list @ hAPP ) ) ) @ ( char @ list @ exp @ ( char @ list @ exp @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ member @ ( bool @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ hAPP ) ) ) @ ( bool @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ hAPP ) ) ) @ hBOOL ) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',fact_152_LAssReds) ).

thf(835,plain,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i,F: $i] :
      ( ( F @ ( red @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ transitive_rtrancl @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ hAPP ) ) ) @ ( E @ ( D @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ ( C @ ( B @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ member @ ( bool @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ hAPP ) ) ) @ ( bool @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ hAPP ) ) ) @ hBOOL )
     => ( F @ ( red @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ transitive_rtrancl @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ hAPP ) ) ) @ ( E @ ( D @ ( A @ ( char @ list @ lAss @ ( char @ list @ exp @ ( char @ list @ exp @ fun ) @ ( char @ list @ hAPP ) ) ) @ ( char @ list @ exp @ ( char @ list @ exp @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ ( C @ ( B @ ( A @ ( char @ list @ lAss @ ( char @ list @ exp @ ( char @ list @ exp @ fun ) @ ( char @ list @ hAPP ) ) ) @ ( char @ list @ exp @ ( char @ list @ exp @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ member @ ( bool @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ hAPP ) ) ) @ ( bool @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ hAPP ) ) ) @ hBOOL ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[64]) ).

thf(59,axiom,
    ! [A: $i] :
      ( ( A @ ( class @ ( ty @ ( char @ list @ hAPP ) ) ) )
     != void ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',fact_374_ty_Osimps_I9_J) ).

thf(818,plain,
    ! [A: $i] :
      ( ( A @ ( class @ ( ty @ ( char @ list @ hAPP ) ) ) )
     != void ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[59]) ).

thf(335,axiom,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i] :
      ( ( ( C @ ( B @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ hAPP ) ) ) )
        = ( E @ ( D @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_Pair ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ fun ) @ ( char @ list @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ some @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ hAPP ) ) ) ) )
     => ( A @ ( D @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_Pair ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ fun ) @ ( char @ list @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ some @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ hAPP ) ) ) @ ( C @ ( B @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun_upd ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ fun ) @ ( nat @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ fun ) @ ( nat @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ hAPP ) ) ) @ ( B @ ( hext @ ( bool @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ hAPP ) ) ) @ hBOOL ) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',fact_97_hext__upd__obj) ).

thf(1876,plain,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i] :
      ( ( ( C @ ( B @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ hAPP ) ) ) )
        = ( E @ ( D @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_Pair ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ fun ) @ ( char @ list @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ some @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ hAPP ) ) ) ) )
     => ( A @ ( D @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_Pair ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ fun ) @ ( char @ list @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ some @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ hAPP ) ) ) @ ( C @ ( B @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun_upd ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ fun ) @ ( nat @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ fun ) @ ( nat @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ hAPP ) ) ) @ ( B @ ( hext @ ( bool @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ hAPP ) ) ) @ hBOOL ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[335]) ).

thf(171,axiom,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i,F: $i,G: $i,H: $i,I: $i] :
      ( ( ( G @ ( F @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ hAPP ) ) ) )
        = ( I @ ( H @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_Pair ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ fun ) @ ( char @ list @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ some @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ hAPP ) ) ) ) )
     => ( E @ ( red @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( D @ ( C @ ( val @ some @ ( val @ option @ ( val @ hAPP ) ) ) @ ( B @ ( A @ ( char @ list @ ( char @ list @ product_Pair ) @ ( char @ list @ ( char @ list @ product_prod ) @ ( char @ list @ fun ) @ ( char @ list @ hAPP ) ) ) @ ( char @ list @ ( char @ list @ product_prod ) @ ( char @ list @ hAPP ) ) ) @ ( I @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun_upd ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( val @ option @ fun ) @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( val @ option @ fun ) @ ( char @ list @ ( char @ list @ product_prod ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( val @ option @ hAPP ) ) ) @ ( H @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_Pair ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ fun ) @ ( char @ list @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ some @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ hAPP ) ) ) @ ( G @ ( F @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun_upd ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ fun ) @ ( nat @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ fun ) @ ( nat @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ hAPP ) ) ) @ ( unit @ ( char @ list @ val_1 @ ( char @ list @ exp @ ( val @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ ( D @ ( F @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ hAPP ) ) ) @ ( C @ ( char @ list @ val_1 @ ( char @ list @ exp @ ( val @ hAPP ) ) ) @ ( B @ ( A @ ( G @ ( addr @ ( val @ ( nat @ hAPP ) ) ) @ ( char @ list @ val_1 @ ( char @ list @ exp @ ( val @ hAPP ) ) ) @ ( char @ list @ fAss @ ( char @ list @ exp @ ( char @ list @ exp @ fun ) @ ( char @ list @ fun ) @ ( char @ list @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( char @ list @ exp @ ( char @ list @ exp @ fun ) @ ( char @ list @ fun ) @ ( char @ list @ hAPP ) ) ) @ ( char @ list @ exp @ ( char @ list @ exp @ fun ) @ ( char @ list @ hAPP ) ) ) @ ( char @ list @ exp @ ( char @ list @ exp @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ member @ ( bool @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ hAPP ) ) ) @ ( bool @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ hAPP ) ) ) @ hBOOL ) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',fact_191_red__reds_ORedFAss) ).

thf(1248,plain,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i,F: $i,G: $i,H: $i,I: $i] :
      ( ( ( G @ ( F @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ hAPP ) ) ) )
        = ( I @ ( H @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_Pair ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ fun ) @ ( char @ list @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ some @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ hAPP ) ) ) ) )
     => ( E @ ( red @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( D @ ( C @ ( val @ some @ ( val @ option @ ( val @ hAPP ) ) ) @ ( B @ ( A @ ( char @ list @ ( char @ list @ product_Pair ) @ ( char @ list @ ( char @ list @ product_prod ) @ ( char @ list @ fun ) @ ( char @ list @ hAPP ) ) ) @ ( char @ list @ ( char @ list @ product_prod ) @ ( char @ list @ hAPP ) ) ) @ ( I @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun_upd ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( val @ option @ fun ) @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( val @ option @ fun ) @ ( char @ list @ ( char @ list @ product_prod ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( val @ option @ hAPP ) ) ) @ ( H @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_Pair ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ fun ) @ ( char @ list @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ some @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ hAPP ) ) ) @ ( G @ ( F @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun_upd ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ fun ) @ ( nat @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ fun ) @ ( nat @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ hAPP ) ) ) @ ( unit @ ( char @ list @ val_1 @ ( char @ list @ exp @ ( val @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ ( D @ ( F @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ hAPP ) ) ) @ ( C @ ( char @ list @ val_1 @ ( char @ list @ exp @ ( val @ hAPP ) ) ) @ ( B @ ( A @ ( G @ ( addr @ ( val @ ( nat @ hAPP ) ) ) @ ( char @ list @ val_1 @ ( char @ list @ exp @ ( val @ hAPP ) ) ) @ ( char @ list @ fAss @ ( char @ list @ exp @ ( char @ list @ exp @ fun ) @ ( char @ list @ fun ) @ ( char @ list @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( char @ list @ exp @ ( char @ list @ exp @ fun ) @ ( char @ list @ fun ) @ ( char @ list @ hAPP ) ) ) @ ( char @ list @ exp @ ( char @ list @ exp @ fun ) @ ( char @ list @ hAPP ) ) ) @ ( char @ list @ exp @ ( char @ list @ exp @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ member @ ( bool @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ hAPP ) ) ) @ ( bool @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ hAPP ) ) ) @ hBOOL ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[171]) ).

thf(76,axiom,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i] :
      ( ( C @ ( B @ ( A @ while @ ( A @ exp @ ( A @ exp @ fun ) @ ( A @ exp @ hAPP ) ) ) @ ( A @ exp @ ( A @ exp @ hAPP ) ) ) )
     != ( E @ ( D @ ( A @ lAss @ ( A @ exp @ ( A @ exp @ fun ) @ ( A @ hAPP ) ) ) @ ( A @ exp @ ( A @ exp @ hAPP ) ) ) ) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',fact_487_exp_Osimps_I149_J) ).

thf(867,plain,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i] :
      ( ( C @ ( B @ ( A @ while @ ( A @ exp @ ( A @ exp @ fun ) @ ( A @ exp @ hAPP ) ) ) @ ( A @ exp @ ( A @ exp @ hAPP ) ) ) )
     != ( E @ ( D @ ( A @ lAss @ ( A @ exp @ ( A @ exp @ fun ) @ ( A @ hAPP ) ) ) @ ( A @ exp @ ( A @ exp @ hAPP ) ) ) ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[76]) ).

thf(75,axiom,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i,F: $i,G: $i] :
      ( ( G @ ( red @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ transitive_rtrancl @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ hAPP ) ) ) @ ( F @ ( E @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ ( D @ ( C @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ member @ ( bool @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ hAPP ) ) ) @ ( bool @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ hAPP ) ) ) @ hBOOL )
     => ( G @ ( red @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ transitive_rtrancl @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ hAPP ) ) ) @ ( F @ ( B @ ( A @ ( E @ ( char @ list @ binOp @ ( char @ list @ exp @ ( char @ list @ exp @ fun ) @ ( bop @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( char @ list @ exp @ ( char @ list @ exp @ fun ) @ ( bop @ hAPP ) ) ) @ ( char @ list @ exp @ ( char @ list @ exp @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ ( D @ ( B @ ( A @ ( C @ ( char @ list @ binOp @ ( char @ list @ exp @ ( char @ list @ exp @ fun ) @ ( bop @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( char @ list @ exp @ ( char @ list @ exp @ fun ) @ ( bop @ hAPP ) ) ) @ ( char @ list @ exp @ ( char @ list @ exp @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ member @ ( bool @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ hAPP ) ) ) @ ( bool @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ hAPP ) ) ) @ hBOOL ) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',fact_450_BinOp1Reds) ).

thf(865,plain,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i,F: $i,G: $i] :
      ( ( G @ ( red @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ transitive_rtrancl @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ hAPP ) ) ) @ ( F @ ( E @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ ( D @ ( C @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ member @ ( bool @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ hAPP ) ) ) @ ( bool @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ hAPP ) ) ) @ hBOOL )
     => ( G @ ( red @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ transitive_rtrancl @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ hAPP ) ) ) @ ( F @ ( B @ ( A @ ( E @ ( char @ list @ binOp @ ( char @ list @ exp @ ( char @ list @ exp @ fun ) @ ( bop @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( char @ list @ exp @ ( char @ list @ exp @ fun ) @ ( bop @ hAPP ) ) ) @ ( char @ list @ exp @ ( char @ list @ exp @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ ( D @ ( B @ ( A @ ( C @ ( char @ list @ binOp @ ( char @ list @ exp @ ( char @ list @ exp @ fun ) @ ( bop @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( char @ list @ exp @ ( char @ list @ exp @ fun ) @ ( bop @ hAPP ) ) ) @ ( char @ list @ exp @ ( char @ list @ exp @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ member @ ( bool @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ hAPP ) ) ) @ ( bool @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ hAPP ) ) ) @ hBOOL ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[75]) ).

thf(258,axiom,
    ! [A: $i,B: $i,C: $i] :
      ( ( C @ ( B @ ( A @ combs ) ) @ ( C @ ( A @ fun ) @ ( B @ ( A @ fun ) @ fun ) @ ( C @ ( B @ fun ) @ ( A @ fun ) @ fun ) @ ti ) )
      = ( C @ ( B @ ( A @ combs ) ) ) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',tsy_c_COMBS_res) ).

thf(1578,plain,
    ! [A: $i,B: $i,C: $i] :
      ( ( C @ ( B @ ( A @ combs ) ) @ ( C @ ( A @ fun ) @ ( B @ ( A @ fun ) @ fun ) @ ( C @ ( B @ fun ) @ ( A @ fun ) @ fun ) @ ti ) )
      = ( C @ ( B @ ( A @ combs ) ) ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[258]) ).

thf(354,axiom,
    ! [A: $i] :
      ( null
     != ( A @ ( bool_1 @ ( val @ ( bool @ hAPP ) ) ) ) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',fact_468_val_Osimps_I12_J) ).

thf(1957,plain,
    ! [A: $i] :
      ( null
     != ( A @ ( bool_1 @ ( val @ ( bool @ hAPP ) ) ) ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[354]) ).

thf(261,axiom,
    ( ( hp @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ti ) )
    = hp ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',tsy_c_State_Ohp_res) ).

thf(1593,plain,
    ( ( hp @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ti ) )
    = hp ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[261]) ).

thf(546,axiom,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i,F: $i,G: $i,H: $i] :
      ( ( H @ ( G @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ hAPP ) ) ) @ ( F @ ( char @ list @ val_1 @ ( char @ list @ exp @ ( val @ hAPP ) ) ) @ ( E @ ( D @ ( C @ ( eval @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ hBOOL )
     => ( ( A
          = ( F @ ( val @ some @ ( val @ option @ ( val @ hAPP ) ) ) @ ( B @ ( H @ ( val @ option @ ( char @ list @ fun_upd ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ fun ) @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ fun ) @ ( char @ list @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ hAPP ) ) ) ) )
       => ( A @ ( G @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ hAPP ) ) ) @ ( unit @ ( char @ list @ val_1 @ ( char @ list @ exp @ ( val @ hAPP ) ) ) @ ( E @ ( D @ ( B @ ( char @ list @ lAss @ ( char @ list @ exp @ ( char @ list @ exp @ fun ) @ ( char @ list @ hAPP ) ) ) @ ( char @ list @ exp @ ( char @ list @ exp @ hAPP ) ) ) @ ( C @ ( eval @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ hBOOL ) ) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',fact_212_LAss) ).

thf(2604,plain,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i,F: $i,G: $i,H: $i] :
      ( ( H @ ( G @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ hAPP ) ) ) @ ( F @ ( char @ list @ val_1 @ ( char @ list @ exp @ ( val @ hAPP ) ) ) @ ( E @ ( D @ ( C @ ( eval @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ hBOOL )
     => ( ( A
          = ( F @ ( val @ some @ ( val @ option @ ( val @ hAPP ) ) ) @ ( B @ ( H @ ( val @ option @ ( char @ list @ fun_upd ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ fun ) @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ fun ) @ ( char @ list @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ hAPP ) ) ) ) )
       => ( A @ ( G @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ hAPP ) ) ) @ ( unit @ ( char @ list @ val_1 @ ( char @ list @ exp @ ( val @ hAPP ) ) ) @ ( E @ ( D @ ( B @ ( char @ list @ lAss @ ( char @ list @ exp @ ( char @ list @ exp @ fun ) @ ( char @ list @ hAPP ) ) ) @ ( char @ list @ exp @ ( char @ list @ exp @ hAPP ) ) ) @ ( C @ ( eval @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ hBOOL ) ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[546]) ).

thf(590,axiom,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i,F: $i,G: $i,H: $i] :
      ( ( H @ ( G @ ( F @ ( E @ ( D @ ( A @ sees_field @ ( bool @ ( char @ list @ fun ) @ ( ty @ fun ) @ ( char @ list @ fun ) @ ( char @ list @ fun ) @ ( A @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( bool @ ( char @ list @ fun ) @ ( ty @ fun ) @ ( char @ list @ fun ) @ ( char @ list @ hAPP ) ) ) @ ( bool @ ( char @ list @ fun ) @ ( ty @ fun ) @ ( char @ list @ hAPP ) ) ) @ ( bool @ ( char @ list @ fun ) @ ( ty @ hAPP ) ) ) @ ( bool @ ( char @ list @ hAPP ) ) ) @ hBOOL )
     => ( ( C @ ( B @ ( F @ ( E @ ( D @ ( A @ sees_field @ ( bool @ ( char @ list @ fun ) @ ( ty @ fun ) @ ( char @ list @ fun ) @ ( char @ list @ fun ) @ ( A @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( bool @ ( char @ list @ fun ) @ ( ty @ fun ) @ ( char @ list @ fun ) @ ( char @ list @ hAPP ) ) ) @ ( bool @ ( char @ list @ fun ) @ ( ty @ fun ) @ ( char @ list @ hAPP ) ) ) @ ( bool @ ( char @ list @ fun ) @ ( ty @ hAPP ) ) ) @ ( bool @ ( char @ list @ hAPP ) ) ) @ hBOOL )
       => ( ( C = H )
          & ( B = G ) ) ) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',fact_415_sees__field__fun) ).

thf(2736,plain,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i,F: $i,G: $i,H: $i] :
      ( ( H @ ( G @ ( F @ ( E @ ( D @ ( A @ sees_field @ ( bool @ ( char @ list @ fun ) @ ( ty @ fun ) @ ( char @ list @ fun ) @ ( char @ list @ fun ) @ ( A @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( bool @ ( char @ list @ fun ) @ ( ty @ fun ) @ ( char @ list @ fun ) @ ( char @ list @ hAPP ) ) ) @ ( bool @ ( char @ list @ fun ) @ ( ty @ fun ) @ ( char @ list @ hAPP ) ) ) @ ( bool @ ( char @ list @ fun ) @ ( ty @ hAPP ) ) ) @ ( bool @ ( char @ list @ hAPP ) ) ) @ hBOOL )
     => ( ( C @ ( B @ ( F @ ( E @ ( D @ ( A @ sees_field @ ( bool @ ( char @ list @ fun ) @ ( ty @ fun ) @ ( char @ list @ fun ) @ ( char @ list @ fun ) @ ( A @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( bool @ ( char @ list @ fun ) @ ( ty @ fun ) @ ( char @ list @ fun ) @ ( char @ list @ hAPP ) ) ) @ ( bool @ ( char @ list @ fun ) @ ( ty @ fun ) @ ( char @ list @ hAPP ) ) ) @ ( bool @ ( char @ list @ fun ) @ ( ty @ hAPP ) ) ) @ ( bool @ ( char @ list @ hAPP ) ) ) @ hBOOL )
       => ( ( C = H )
          & ( B = G ) ) ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[590]) ).

thf(71,axiom,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i,F: $i] :
      ( ( F @ ( red @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ transitive_rtrancl @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ hAPP ) ) ) @ ( E @ ( D @ ( char @ list @ throw @ ( char @ list @ exp @ ( char @ list @ exp @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ ( C @ ( B @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ member @ ( bool @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ hAPP ) ) ) @ ( bool @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ hAPP ) ) ) @ hBOOL )
     => ( F @ ( red @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ transitive_rtrancl @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ hAPP ) ) ) @ ( E @ ( D @ ( char @ list @ throw @ ( char @ list @ exp @ ( char @ list @ exp @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ ( C @ ( B @ ( A @ ( char @ list @ cast @ ( char @ list @ exp @ ( char @ list @ exp @ fun ) @ ( char @ list @ hAPP ) ) ) @ ( char @ list @ exp @ ( char @ list @ exp @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ member @ ( bool @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ hAPP ) ) ) @ ( bool @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ hAPP ) ) ) @ hBOOL ) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',fact_353_CastRedsThrow) ).

thf(854,plain,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i,F: $i] :
      ( ( F @ ( red @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ transitive_rtrancl @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ hAPP ) ) ) @ ( E @ ( D @ ( char @ list @ throw @ ( char @ list @ exp @ ( char @ list @ exp @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ ( C @ ( B @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ member @ ( bool @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ hAPP ) ) ) @ ( bool @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ hAPP ) ) ) @ hBOOL )
     => ( F @ ( red @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ transitive_rtrancl @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ hAPP ) ) ) @ ( E @ ( D @ ( char @ list @ throw @ ( char @ list @ exp @ ( char @ list @ exp @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ ( C @ ( B @ ( A @ ( char @ list @ cast @ ( char @ list @ exp @ ( char @ list @ exp @ fun ) @ ( char @ list @ hAPP ) ) ) @ ( char @ list @ exp @ ( char @ list @ exp @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ member @ ( bool @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ hAPP ) ) ) @ ( bool @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ hAPP ) ) ) @ hBOOL ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[71]) ).

thf(555,axiom,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i,F: $i] :
      ( ( F @ ( red @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( E @ ( D @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ ( C @ ( B @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ member @ ( bool @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ hAPP ) ) ) @ ( bool @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ hAPP ) ) ) @ hBOOL )
     => ( F @ ( red @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( E @ ( D @ ( A @ ( char @ list @ cast @ ( char @ list @ exp @ ( char @ list @ exp @ fun ) @ ( char @ list @ hAPP ) ) ) @ ( char @ list @ exp @ ( char @ list @ exp @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ ( C @ ( B @ ( A @ ( char @ list @ cast @ ( char @ list @ exp @ ( char @ list @ exp @ fun ) @ ( char @ list @ hAPP ) ) ) @ ( char @ list @ exp @ ( char @ list @ exp @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ member @ ( bool @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ hAPP ) ) ) @ ( bool @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ hAPP ) ) ) @ hBOOL ) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',fact_347_red__reds_OCastRed) ).

thf(2636,plain,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i,F: $i] :
      ( ( F @ ( red @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( E @ ( D @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ ( C @ ( B @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ member @ ( bool @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ hAPP ) ) ) @ ( bool @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ hAPP ) ) ) @ hBOOL )
     => ( F @ ( red @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( E @ ( D @ ( A @ ( char @ list @ cast @ ( char @ list @ exp @ ( char @ list @ exp @ fun ) @ ( char @ list @ hAPP ) ) ) @ ( char @ list @ exp @ ( char @ list @ exp @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ ( C @ ( B @ ( A @ ( char @ list @ cast @ ( char @ list @ exp @ ( char @ list @ exp @ fun ) @ ( char @ list @ hAPP ) ) ) @ ( char @ list @ exp @ ( char @ list @ exp @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ member @ ( bool @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ hAPP ) ) ) @ ( bool @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ hAPP ) ) ) @ hBOOL ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[555]) ).

thf(332,axiom,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i,F: $i] :
      ( ( ( D @ ( C @ ( hp @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ hAPP ) ) ) )
        = ( F @ ( E @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_Pair ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ fun ) @ ( char @ list @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ some @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ hAPP ) ) ) ) )
     => ( ~ ( B @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ subcls1 @ ( bool @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( char @ list @ transitive_rtrancl @ ( bool @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( bool @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ hAPP ) ) ) @ ( A @ ( E @ ( char @ list @ ( char @ list @ product_Pair ) @ ( char @ list @ ( char @ list @ product_prod ) @ ( char @ list @ fun ) @ ( char @ list @ hAPP ) ) ) @ ( char @ list @ ( char @ list @ product_prod ) @ ( char @ list @ hAPP ) ) ) @ ( char @ list @ ( char @ list @ product_prod ) @ member @ ( bool @ ( bool @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ fun ) @ ( char @ list @ ( char @ list @ product_prod ) @ hAPP ) ) ) @ ( bool @ ( bool @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ hAPP ) ) ) @ hBOOL )
       => ( B @ ( red @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( C @ ( classCast @ ( addr_of_sys_xcpt @ ( nat @ ( char @ list @ hAPP ) ) ) @ ( addr @ ( val @ ( nat @ hAPP ) ) ) @ ( char @ list @ val_1 @ ( char @ list @ exp @ ( val @ hAPP ) ) ) @ ( char @ list @ throw @ ( char @ list @ exp @ ( char @ list @ exp @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ ( C @ ( D @ ( addr @ ( val @ ( nat @ hAPP ) ) ) @ ( char @ list @ val_1 @ ( char @ list @ exp @ ( val @ hAPP ) ) ) @ ( A @ ( char @ list @ cast @ ( char @ list @ exp @ ( char @ list @ exp @ fun ) @ ( char @ list @ hAPP ) ) ) @ ( char @ list @ exp @ ( char @ list @ exp @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ member @ ( bool @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ hAPP ) ) ) @ ( bool @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ hAPP ) ) ) @ hBOOL ) ) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',fact_359_red__reds_ORedCastFail) ).

thf(1859,plain,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i,F: $i] :
      ( ( ( D @ ( C @ ( hp @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ hAPP ) ) ) )
        = ( F @ ( E @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_Pair ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ fun ) @ ( char @ list @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ some @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ hAPP ) ) ) ) )
     => ( ~ ( B @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ subcls1 @ ( bool @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( char @ list @ transitive_rtrancl @ ( bool @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( bool @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ hAPP ) ) ) @ ( A @ ( E @ ( char @ list @ ( char @ list @ product_Pair ) @ ( char @ list @ ( char @ list @ product_prod ) @ ( char @ list @ fun ) @ ( char @ list @ hAPP ) ) ) @ ( char @ list @ ( char @ list @ product_prod ) @ ( char @ list @ hAPP ) ) ) @ ( char @ list @ ( char @ list @ product_prod ) @ member @ ( bool @ ( bool @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ fun ) @ ( char @ list @ ( char @ list @ product_prod ) @ hAPP ) ) ) @ ( bool @ ( bool @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ hAPP ) ) ) @ hBOOL )
       => ( B @ ( red @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( C @ ( classCast @ ( addr_of_sys_xcpt @ ( nat @ ( char @ list @ hAPP ) ) ) @ ( addr @ ( val @ ( nat @ hAPP ) ) ) @ ( char @ list @ val_1 @ ( char @ list @ exp @ ( val @ hAPP ) ) ) @ ( char @ list @ throw @ ( char @ list @ exp @ ( char @ list @ exp @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ ( C @ ( D @ ( addr @ ( val @ ( nat @ hAPP ) ) ) @ ( char @ list @ val_1 @ ( char @ list @ exp @ ( val @ hAPP ) ) ) @ ( A @ ( char @ list @ cast @ ( char @ list @ exp @ ( char @ list @ exp @ fun ) @ ( char @ list @ hAPP ) ) ) @ ( char @ list @ exp @ ( char @ list @ exp @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ member @ ( bool @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ hAPP ) ) ) @ ( bool @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ hAPP ) ) ) @ hBOOL ) ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[332]) ).

thf(206,axiom,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i,F: $i] :
      ( ( B @ ( A @ val_1 @ ( A @ exp @ ( val @ hAPP ) ) ) )
     != ( F @ ( E @ ( D @ ( C @ ( A @ fAss @ ( A @ exp @ ( A @ exp @ fun ) @ ( char @ list @ fun ) @ ( char @ list @ fun ) @ ( A @ exp @ hAPP ) ) ) @ ( A @ exp @ ( A @ exp @ fun ) @ ( char @ list @ fun ) @ ( char @ list @ hAPP ) ) ) @ ( A @ exp @ ( A @ exp @ fun ) @ ( char @ list @ hAPP ) ) ) @ ( A @ exp @ ( A @ exp @ hAPP ) ) ) ) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',fact_195_exp_Osimps_I78_J) ).

thf(1363,plain,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i,F: $i] :
      ( ( B @ ( A @ val_1 @ ( A @ exp @ ( val @ hAPP ) ) ) )
     != ( F @ ( E @ ( D @ ( C @ ( A @ fAss @ ( A @ exp @ ( A @ exp @ fun ) @ ( char @ list @ fun ) @ ( char @ list @ fun ) @ ( A @ exp @ hAPP ) ) ) @ ( A @ exp @ ( A @ exp @ fun ) @ ( char @ list @ fun ) @ ( char @ list @ hAPP ) ) ) @ ( A @ exp @ ( A @ exp @ fun ) @ ( char @ list @ hAPP ) ) ) @ ( A @ exp @ ( A @ exp @ hAPP ) ) ) ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[206]) ).

thf(417,axiom,
    p @ ( wf_J_mdecl @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ wf_prog @ ( bool @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ fun ) @ ( bool @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ fun ) @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ fun ) @ hAPP ) ) ) @ ( bool @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ hBOOL,
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',fact_3_assms) ).

thf(2186,plain,
    p @ ( wf_J_mdecl @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ wf_prog @ ( bool @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ fun ) @ ( bool @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ fun ) @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ fun ) @ hAPP ) ) ) @ ( bool @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ hBOOL,
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[417]) ).

thf(592,axiom,
    ! [A: $i,B: $i] : ( B @ ( red @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( A @ ( nullPointer @ ( addr_of_sys_xcpt @ ( nat @ ( char @ list @ hAPP ) ) ) @ ( addr @ ( val @ ( nat @ hAPP ) ) ) @ ( char @ list @ val_1 @ ( char @ list @ exp @ ( val @ hAPP ) ) ) @ ( char @ list @ throw @ ( char @ list @ exp @ ( char @ list @ exp @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ ( A @ ( null @ ( char @ list @ val_1 @ ( char @ list @ exp @ ( val @ hAPP ) ) ) @ ( char @ list @ throw @ ( char @ list @ exp @ ( char @ list @ exp @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ member @ ( bool @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ hAPP ) ) ) @ ( bool @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ hAPP ) ) ) @ hBOOL ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',fact_404_red__reds_ORedThrowNull) ).

thf(2746,plain,
    ! [A: $i,B: $i] : ( B @ ( red @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( A @ ( nullPointer @ ( addr_of_sys_xcpt @ ( nat @ ( char @ list @ hAPP ) ) ) @ ( addr @ ( val @ ( nat @ hAPP ) ) ) @ ( char @ list @ val_1 @ ( char @ list @ exp @ ( val @ hAPP ) ) ) @ ( char @ list @ throw @ ( char @ list @ exp @ ( char @ list @ exp @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ ( A @ ( null @ ( char @ list @ val_1 @ ( char @ list @ exp @ ( val @ hAPP ) ) ) @ ( char @ list @ throw @ ( char @ list @ exp @ ( char @ list @ exp @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ member @ ( bool @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ hAPP ) ) ) @ ( bool @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ hAPP ) ) ) @ hBOOL ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[592]) ).

thf(580,axiom,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i,F: $i] :
      ( ( F @ ( E @ ( D @ ( C @ ( B @ ( A @ sees_field @ ( bool @ ( char @ list @ fun ) @ ( ty @ fun ) @ ( char @ list @ fun ) @ ( char @ list @ fun ) @ ( A @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( bool @ ( char @ list @ fun ) @ ( ty @ fun ) @ ( char @ list @ fun ) @ ( char @ list @ hAPP ) ) ) @ ( bool @ ( char @ list @ fun ) @ ( ty @ fun ) @ ( char @ list @ hAPP ) ) ) @ ( bool @ ( char @ list @ fun ) @ ( ty @ hAPP ) ) ) @ ( bool @ ( char @ list @ hAPP ) ) ) @ hBOOL )
     => ( F @ ( E @ ( D @ ( F @ ( B @ ( A @ sees_field @ ( bool @ ( char @ list @ fun ) @ ( ty @ fun ) @ ( char @ list @ fun ) @ ( char @ list @ fun ) @ ( A @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( bool @ ( char @ list @ fun ) @ ( ty @ fun ) @ ( char @ list @ fun ) @ ( char @ list @ hAPP ) ) ) @ ( bool @ ( char @ list @ fun ) @ ( ty @ fun ) @ ( char @ list @ hAPP ) ) ) @ ( bool @ ( char @ list @ fun ) @ ( ty @ hAPP ) ) ) @ ( bool @ ( char @ list @ hAPP ) ) ) @ hBOOL ) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',fact_414_sees__field__idemp) ).

thf(2704,plain,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i,F: $i] :
      ( ( F @ ( E @ ( D @ ( C @ ( B @ ( A @ sees_field @ ( bool @ ( char @ list @ fun ) @ ( ty @ fun ) @ ( char @ list @ fun ) @ ( char @ list @ fun ) @ ( A @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( bool @ ( char @ list @ fun ) @ ( ty @ fun ) @ ( char @ list @ fun ) @ ( char @ list @ hAPP ) ) ) @ ( bool @ ( char @ list @ fun ) @ ( ty @ fun ) @ ( char @ list @ hAPP ) ) ) @ ( bool @ ( char @ list @ fun ) @ ( ty @ hAPP ) ) ) @ ( bool @ ( char @ list @ hAPP ) ) ) @ hBOOL )
     => ( F @ ( E @ ( D @ ( F @ ( B @ ( A @ sees_field @ ( bool @ ( char @ list @ fun ) @ ( ty @ fun ) @ ( char @ list @ fun ) @ ( char @ list @ fun ) @ ( A @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( bool @ ( char @ list @ fun ) @ ( ty @ fun ) @ ( char @ list @ fun ) @ ( char @ list @ hAPP ) ) ) @ ( bool @ ( char @ list @ fun ) @ ( ty @ fun ) @ ( char @ list @ hAPP ) ) ) @ ( bool @ ( char @ list @ fun ) @ ( ty @ hAPP ) ) ) @ ( bool @ ( char @ list @ hAPP ) ) ) @ hBOOL ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[580]) ).

thf(84,axiom,
    ! [A: $i] :
      ( ( A @ collect @ ( bool @ ( A @ fun ) @ ( bool @ ( A @ fun ) @ fun ) @ ti ) )
      = ( A @ collect ) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',tsy_c_Set_OCollect_res) ).

thf(897,plain,
    ! [A: $i] :
      ( ( A @ collect @ ( bool @ ( A @ fun ) @ ( bool @ ( A @ fun ) @ fun ) @ ti ) )
      = ( A @ collect ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[84]) ).

thf(584,axiom,
    ( ( fconj @ ( bool @ ( bool @ fun ) @ ( bool @ fun ) @ ti ) )
    = fconj ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',tsy_c_fconj_res) ).

thf(2714,plain,
    ( ( fconj @ ( bool @ ( bool @ fun ) @ ( bool @ fun ) @ ti ) )
    = fconj ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[584]) ).

thf(232,axiom,
    ! [A: $i,B: $i] :
      ( ( B @ ( A @ ( hext @ ( bool @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ hAPP ) ) ) @ hBOOL )
    <=> ! [C: $i,D: $i,E: $i] :
          ( ( ( C @ ( A @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ hAPP ) ) ) )
            = ( E @ ( D @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_Pair ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ fun ) @ ( char @ list @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ some @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ hAPP ) ) ) ) )
         => ? [F: $i] :
              ( ( C @ ( B @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ hAPP ) ) ) )
              = ( F @ ( D @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_Pair ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ fun ) @ ( char @ list @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ some @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ hAPP ) ) ) ) ) ) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',fact_101_hext__def) ).

thf(1473,plain,
    ! [A: $i,B: $i] :
      ( ( ! [C: $i,D: $i,E: $i] :
            ( ( ( C @ ( A @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ hAPP ) ) ) )
              = ( E @ ( D @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_Pair ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ fun ) @ ( char @ list @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ some @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ hAPP ) ) ) ) )
           => ? [F: $i] :
                ( ( C @ ( B @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ hAPP ) ) ) )
                = ( F @ ( D @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_Pair ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ fun ) @ ( char @ list @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ some @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ hAPP ) ) ) ) ) )
       => ( B @ ( A @ ( hext @ ( bool @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ hAPP ) ) ) @ hBOOL ) )
      & ( ( B @ ( A @ ( hext @ ( bool @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ hAPP ) ) ) @ hBOOL )
       => ! [C: $i,D: $i,E: $i] :
            ( ( ( C @ ( A @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ hAPP ) ) ) )
              = ( E @ ( D @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_Pair ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ fun ) @ ( char @ list @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ some @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ hAPP ) ) ) ) )
           => ? [F: $i] :
                ( ( C @ ( B @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ hAPP ) ) ) )
                = ( F @ ( D @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_Pair ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ fun ) @ ( char @ list @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ some @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ hAPP ) ) ) ) ) ) ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[232]) ).

thf(28,axiom,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i,F: $i] :
      ( ( F @ ( E @ ( D @ ( B @ ( A @ ( C @ product_curry ) ) @ ( B @ ( A @ fun ) @ ( C @ fun ) @ ( B @ ( A @ ( C @ product_prod ) @ fun ) @ hAPP ) ) ) @ ( B @ ( A @ fun ) @ ( C @ hAPP ) ) ) @ ( B @ ( A @ hAPP ) ) ) )
      = ( F @ ( E @ ( A @ ( C @ product_Pair ) @ ( A @ ( C @ product_prod ) @ ( A @ fun ) @ ( C @ hAPP ) ) ) @ ( A @ ( C @ product_prod ) @ ( A @ hAPP ) ) ) @ ( D @ ( B @ ( A @ ( C @ product_prod ) @ hAPP ) ) ) ) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',fact_42_curry__def) ).

thf(696,plain,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i,F: $i] :
      ( ( F @ ( E @ ( D @ ( B @ ( A @ ( C @ product_curry ) ) @ ( B @ ( A @ fun ) @ ( C @ fun ) @ ( B @ ( A @ ( C @ product_prod ) @ fun ) @ hAPP ) ) ) @ ( B @ ( A @ fun ) @ ( C @ hAPP ) ) ) @ ( B @ ( A @ hAPP ) ) ) )
      = ( F @ ( E @ ( A @ ( C @ product_Pair ) @ ( A @ ( C @ product_prod ) @ ( A @ fun ) @ ( C @ hAPP ) ) ) @ ( A @ ( C @ product_prod ) @ ( A @ hAPP ) ) ) @ ( D @ ( B @ ( A @ ( C @ product_prod ) @ hAPP ) ) ) ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[28]) ).

thf(565,axiom,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i,F: $i,G: $i] :
      ( ( D @ ( C @ ( B @ ( A @ block @ ( A @ exp @ ( A @ exp @ fun ) @ ( ty @ fun ) @ ( A @ hAPP ) ) ) @ ( A @ exp @ ( A @ exp @ fun ) @ ( ty @ hAPP ) ) ) @ ( A @ exp @ ( A @ exp @ hAPP ) ) ) )
     != ( G @ ( F @ ( E @ ( A @ fAcc @ ( A @ exp @ ( char @ list @ fun ) @ ( char @ list @ fun ) @ ( A @ exp @ hAPP ) ) ) @ ( A @ exp @ ( char @ list @ fun ) @ ( char @ list @ hAPP ) ) ) @ ( A @ exp @ ( char @ list @ hAPP ) ) ) ) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',fact_227_exp_Osimps_I159_J) ).

thf(2668,plain,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i,F: $i,G: $i] :
      ( ( D @ ( C @ ( B @ ( A @ block @ ( A @ exp @ ( A @ exp @ fun ) @ ( ty @ fun ) @ ( A @ hAPP ) ) ) @ ( A @ exp @ ( A @ exp @ fun ) @ ( ty @ hAPP ) ) ) @ ( A @ exp @ ( A @ exp @ hAPP ) ) ) )
     != ( G @ ( F @ ( E @ ( A @ fAcc @ ( A @ exp @ ( char @ list @ fun ) @ ( char @ list @ fun ) @ ( A @ exp @ hAPP ) ) ) @ ( A @ exp @ ( char @ list @ fun ) @ ( char @ list @ hAPP ) ) ) @ ( A @ exp @ ( char @ list @ hAPP ) ) ) ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[565]) ).

thf(95,axiom,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i,F: $i,G: $i,H: $i,I: $i] :
      ( ( I @ ( red @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( H @ ( G @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ hAPP ) ) ) @ ( F @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ ( E @ ( D @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ hAPP ) ) ) @ ( C @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ member @ ( bool @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ hAPP ) ) ) @ ( bool @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ hAPP ) ) ) @ hBOOL )
     => ( ( B @ ( C @ ( A @ ( D @ ( I @ ( wTrt @ ( bool @ ( ty @ fun ) @ ( char @ list @ exp @ fun ) @ ( ty @ option @ ( char @ list @ fun ) @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ fun ) @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( bool @ ( ty @ fun ) @ ( char @ list @ exp @ fun ) @ ( ty @ option @ ( char @ list @ fun ) @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ hAPP ) ) ) @ ( bool @ ( ty @ fun ) @ ( char @ list @ exp @ fun ) @ ( ty @ option @ ( char @ list @ fun ) @ hAPP ) ) ) @ ( bool @ ( ty @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( bool @ ( ty @ hAPP ) ) ) @ hBOOL )
       => ( ( A @ ( E @ ( D @ ( I @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ lconf @ ( bool @ ( ty @ option @ ( char @ list @ fun ) @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ fun ) @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( bool @ ( ty @ option @ ( char @ list @ fun ) @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ hAPP ) ) ) @ ( bool @ ( ty @ option @ ( char @ list @ fun ) @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ hAPP ) ) ) @ ( bool @ ( ty @ option @ ( char @ list @ fun ) @ hAPP ) ) ) @ hBOOL )
         => ( A @ ( H @ ( G @ ( I @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ lconf @ ( bool @ ( ty @ option @ ( char @ list @ fun ) @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ fun ) @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( bool @ ( ty @ option @ ( char @ list @ fun ) @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ hAPP ) ) ) @ ( bool @ ( ty @ option @ ( char @ list @ fun ) @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ hAPP ) ) ) @ ( bool @ ( ty @ option @ ( char @ list @ fun ) @ hAPP ) ) ) @ hBOOL ) ) ) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',fact_28_red__preserves__lconf) ).

thf(955,plain,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i,F: $i,G: $i,H: $i,I: $i] :
      ( ( I @ ( red @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( H @ ( G @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ hAPP ) ) ) @ ( F @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ ( E @ ( D @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ hAPP ) ) ) @ ( C @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ member @ ( bool @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ hAPP ) ) ) @ ( bool @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ hAPP ) ) ) @ hBOOL )
     => ( ( B @ ( C @ ( A @ ( D @ ( I @ ( wTrt @ ( bool @ ( ty @ fun ) @ ( char @ list @ exp @ fun ) @ ( ty @ option @ ( char @ list @ fun ) @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ fun ) @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( bool @ ( ty @ fun ) @ ( char @ list @ exp @ fun ) @ ( ty @ option @ ( char @ list @ fun ) @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ hAPP ) ) ) @ ( bool @ ( ty @ fun ) @ ( char @ list @ exp @ fun ) @ ( ty @ option @ ( char @ list @ fun ) @ hAPP ) ) ) @ ( bool @ ( ty @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( bool @ ( ty @ hAPP ) ) ) @ hBOOL )
       => ( ( A @ ( E @ ( D @ ( I @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ lconf @ ( bool @ ( ty @ option @ ( char @ list @ fun ) @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ fun ) @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( bool @ ( ty @ option @ ( char @ list @ fun ) @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ hAPP ) ) ) @ ( bool @ ( ty @ option @ ( char @ list @ fun ) @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ hAPP ) ) ) @ ( bool @ ( ty @ option @ ( char @ list @ fun ) @ hAPP ) ) ) @ hBOOL )
         => ( A @ ( H @ ( G @ ( I @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ lconf @ ( bool @ ( ty @ option @ ( char @ list @ fun ) @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ fun ) @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( bool @ ( ty @ option @ ( char @ list @ fun ) @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ hAPP ) ) ) @ ( bool @ ( ty @ option @ ( char @ list @ fun ) @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ hAPP ) ) ) @ ( bool @ ( ty @ option @ ( char @ list @ fun ) @ hAPP ) ) ) @ hBOOL ) ) ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[95]) ).

thf(81,axiom,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i,F: $i] :
      ( ( F @ ( E @ ( A @ ( C @ ( B @ product_prod_case ) ) @ ( A @ ( C @ ( B @ product_prod ) @ fun ) @ ( A @ ( C @ fun ) @ ( B @ fun ) @ hAPP ) ) ) @ ( A @ ( C @ ( B @ product_prod ) @ hAPP ) ) ) @ ( D @ ( bool @ ( A @ hAPP ) ) ) @ hBOOL )
     => ~ ! [G: $i,H: $i] :
            ( ( ( F @ ( C @ ( B @ product_prod ) @ ti ) )
              = ( H @ ( G @ ( C @ ( B @ product_Pair ) @ ( C @ ( B @ product_prod ) @ ( C @ fun ) @ ( B @ hAPP ) ) ) @ ( C @ ( B @ product_prod ) @ ( C @ hAPP ) ) ) ) )
           => ~ ( H @ ( G @ ( E @ ( A @ ( C @ fun ) @ ( B @ hAPP ) ) ) @ ( A @ ( C @ hAPP ) ) ) @ ( D @ ( bool @ ( A @ hAPP ) ) ) @ hBOOL ) ) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',fact_94_splitE2) ).

thf(886,plain,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i,F: $i] :
      ( ( F @ ( E @ ( A @ ( C @ ( B @ product_prod_case ) ) @ ( A @ ( C @ ( B @ product_prod ) @ fun ) @ ( A @ ( C @ fun ) @ ( B @ fun ) @ hAPP ) ) ) @ ( A @ ( C @ ( B @ product_prod ) @ hAPP ) ) ) @ ( D @ ( bool @ ( A @ hAPP ) ) ) @ hBOOL )
     => ~ ! [G: $i,H: $i] :
            ( ( ( F @ ( C @ ( B @ product_prod ) @ ti ) )
              = ( H @ ( G @ ( C @ ( B @ product_Pair ) @ ( C @ ( B @ product_prod ) @ ( C @ fun ) @ ( B @ hAPP ) ) ) @ ( C @ ( B @ product_prod ) @ ( C @ hAPP ) ) ) ) )
           => ~ ( H @ ( G @ ( E @ ( A @ ( C @ fun ) @ ( B @ hAPP ) ) ) @ ( A @ ( C @ hAPP ) ) ) @ ( D @ ( bool @ ( A @ hAPP ) ) ) @ hBOOL ) ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[81]) ).

thf(196,axiom,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i,F: $i] :
      ( ( F @ ( E @ ( D @ ( B @ ( A @ ( C @ product_curry ) ) @ ( B @ ( A @ fun ) @ ( C @ fun ) @ ( B @ ( A @ ( C @ product_prod ) @ fun ) @ hAPP ) ) ) @ ( B @ ( A @ fun ) @ ( C @ hAPP ) ) ) @ ( B @ ( A @ hAPP ) ) ) )
      = ( F @ ( E @ ( A @ ( C @ product_Pair ) @ ( A @ ( C @ product_prod ) @ ( A @ fun ) @ ( C @ hAPP ) ) ) @ ( A @ ( C @ product_prod ) @ ( A @ hAPP ) ) ) @ ( D @ ( B @ ( A @ ( C @ product_prod ) @ hAPP ) ) ) ) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',fact_83_curry__conv) ).

thf(1335,plain,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i,F: $i] :
      ( ( F @ ( E @ ( D @ ( B @ ( A @ ( C @ product_curry ) ) @ ( B @ ( A @ fun ) @ ( C @ fun ) @ ( B @ ( A @ ( C @ product_prod ) @ fun ) @ hAPP ) ) ) @ ( B @ ( A @ fun ) @ ( C @ hAPP ) ) ) @ ( B @ ( A @ hAPP ) ) ) )
      = ( F @ ( E @ ( A @ ( C @ product_Pair ) @ ( A @ ( C @ product_prod ) @ ( A @ fun ) @ ( C @ hAPP ) ) ) @ ( A @ ( C @ product_prod ) @ ( A @ hAPP ) ) ) @ ( D @ ( B @ ( A @ ( C @ product_prod ) @ hAPP ) ) ) ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[196]) ).

thf(288,axiom,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i,F: $i] :
      ( ( E @ ( D @ ( C @ ( B @ ( A @ fAss @ ( A @ exp @ ( A @ exp @ fun ) @ ( char @ list @ fun ) @ ( char @ list @ fun ) @ ( A @ exp @ hAPP ) ) ) @ ( A @ exp @ ( A @ exp @ fun ) @ ( char @ list @ fun ) @ ( char @ list @ hAPP ) ) ) @ ( A @ exp @ ( A @ exp @ fun ) @ ( char @ list @ hAPP ) ) ) @ ( A @ exp @ ( A @ exp @ hAPP ) ) ) )
     != ( F @ ( A @ val_1 @ ( A @ exp @ ( val @ hAPP ) ) ) ) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',fact_196_exp_Osimps_I79_J) ).

thf(1693,plain,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i,F: $i] :
      ( ( E @ ( D @ ( C @ ( B @ ( A @ fAss @ ( A @ exp @ ( A @ exp @ fun ) @ ( char @ list @ fun ) @ ( char @ list @ fun ) @ ( A @ exp @ hAPP ) ) ) @ ( A @ exp @ ( A @ exp @ fun ) @ ( char @ list @ fun ) @ ( char @ list @ hAPP ) ) ) @ ( A @ exp @ ( A @ exp @ fun ) @ ( char @ list @ hAPP ) ) ) @ ( A @ exp @ ( A @ exp @ hAPP ) ) ) )
     != ( F @ ( A @ val_1 @ ( A @ exp @ ( val @ hAPP ) ) ) ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[288]) ).

thf(381,axiom,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i,F: $i] :
      ( ( D @ ( C @ ( B @ ( A @ fAcc @ ( A @ exp @ ( char @ list @ fun ) @ ( char @ list @ fun ) @ ( A @ exp @ hAPP ) ) ) @ ( A @ exp @ ( char @ list @ fun ) @ ( char @ list @ hAPP ) ) ) @ ( A @ exp @ ( char @ list @ hAPP ) ) ) )
     != ( F @ ( E @ ( A @ cast @ ( A @ exp @ ( A @ exp @ fun ) @ ( char @ list @ hAPP ) ) ) @ ( A @ exp @ ( A @ exp @ hAPP ) ) ) ) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',fact_337_exp_Osimps_I53_J) ).

thf(2070,plain,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i,F: $i] :
      ( ( D @ ( C @ ( B @ ( A @ fAcc @ ( A @ exp @ ( char @ list @ fun ) @ ( char @ list @ fun ) @ ( A @ exp @ hAPP ) ) ) @ ( A @ exp @ ( char @ list @ fun ) @ ( char @ list @ hAPP ) ) ) @ ( A @ exp @ ( char @ list @ hAPP ) ) ) )
     != ( F @ ( E @ ( A @ cast @ ( A @ exp @ ( A @ exp @ fun ) @ ( char @ list @ hAPP ) ) ) @ ( A @ exp @ ( A @ exp @ hAPP ) ) ) ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[381]) ).

thf(368,axiom,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i] :
      ( ( E @ ( D @ ( C @ ( A @ transitive_rtranclp @ ( bool @ ( A @ fun ) @ ( A @ fun ) @ ( bool @ ( A @ fun ) @ ( A @ fun ) @ hAPP ) ) ) @ ( bool @ ( A @ fun ) @ ( A @ hAPP ) ) ) @ ( bool @ ( A @ hAPP ) ) ) @ hBOOL )
     => ( ( B @ ( E @ ( C @ ( bool @ ( A @ fun ) @ ( A @ hAPP ) ) ) @ ( bool @ ( A @ hAPP ) ) ) @ hBOOL )
       => ( B @ ( D @ ( C @ ( A @ transitive_rtranclp @ ( bool @ ( A @ fun ) @ ( A @ fun ) @ ( bool @ ( A @ fun ) @ ( A @ fun ) @ hAPP ) ) ) @ ( bool @ ( A @ fun ) @ ( A @ hAPP ) ) ) @ ( bool @ ( A @ hAPP ) ) ) @ hBOOL ) ) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',fact_367_rtranclp_Ortrancl__into__rtrancl) ).

thf(2021,plain,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i] :
      ( ( E @ ( D @ ( C @ ( A @ transitive_rtranclp @ ( bool @ ( A @ fun ) @ ( A @ fun ) @ ( bool @ ( A @ fun ) @ ( A @ fun ) @ hAPP ) ) ) @ ( bool @ ( A @ fun ) @ ( A @ hAPP ) ) ) @ ( bool @ ( A @ hAPP ) ) ) @ hBOOL )
     => ( ( B @ ( E @ ( C @ ( bool @ ( A @ fun ) @ ( A @ hAPP ) ) ) @ ( bool @ ( A @ hAPP ) ) ) @ hBOOL )
       => ( B @ ( D @ ( C @ ( A @ transitive_rtranclp @ ( bool @ ( A @ fun ) @ ( A @ fun ) @ ( bool @ ( A @ fun ) @ ( A @ fun ) @ hAPP ) ) ) @ ( bool @ ( A @ fun ) @ ( A @ hAPP ) ) ) @ ( bool @ ( A @ hAPP ) ) ) @ hBOOL ) ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[368]) ).

thf(200,axiom,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i,F: $i,G: $i] :
      ( ( E @ ( D @ ( C @ ( B @ ( A @ tryCatch @ ( A @ exp @ ( A @ exp @ fun ) @ ( A @ fun ) @ ( char @ list @ fun ) @ ( A @ exp @ hAPP ) ) ) @ ( A @ exp @ ( A @ exp @ fun ) @ ( A @ fun ) @ ( char @ list @ hAPP ) ) ) @ ( A @ exp @ ( A @ exp @ fun ) @ ( A @ hAPP ) ) ) @ ( A @ exp @ ( A @ exp @ hAPP ) ) ) )
     != ( G @ ( F @ ( A @ while @ ( A @ exp @ ( A @ exp @ fun ) @ ( A @ exp @ hAPP ) ) ) @ ( A @ exp @ ( A @ exp @ hAPP ) ) ) ) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',fact_498_exp_Osimps_I223_J) ).

thf(1346,plain,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i,F: $i,G: $i] :
      ( ( E @ ( D @ ( C @ ( B @ ( A @ tryCatch @ ( A @ exp @ ( A @ exp @ fun ) @ ( A @ fun ) @ ( char @ list @ fun ) @ ( A @ exp @ hAPP ) ) ) @ ( A @ exp @ ( A @ exp @ fun ) @ ( A @ fun ) @ ( char @ list @ hAPP ) ) ) @ ( A @ exp @ ( A @ exp @ fun ) @ ( A @ hAPP ) ) ) @ ( A @ exp @ ( A @ exp @ hAPP ) ) ) )
     != ( G @ ( F @ ( A @ while @ ( A @ exp @ ( A @ exp @ fun ) @ ( A @ exp @ hAPP ) ) ) @ ( A @ exp @ ( A @ exp @ hAPP ) ) ) ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[200]) ).

thf(202,axiom,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i,F: $i] :
      ( ( F @ ( red @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ transitive_rtrancl @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ hAPP ) ) ) @ ( E @ ( D @ ( char @ list @ throw @ ( char @ list @ exp @ ( char @ list @ exp @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ ( C @ ( B @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ member @ ( bool @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ hAPP ) ) ) @ ( bool @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ hAPP ) ) ) @ hBOOL )
     => ( F @ ( red @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ transitive_rtrancl @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ hAPP ) ) ) @ ( E @ ( D @ ( char @ list @ throw @ ( char @ list @ exp @ ( char @ list @ exp @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ ( C @ ( A @ ( B @ ( char @ list @ seq @ ( char @ list @ exp @ ( char @ list @ exp @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( char @ list @ exp @ ( char @ list @ exp @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ member @ ( bool @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ hAPP ) ) ) @ ( bool @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ hAPP ) ) ) @ hBOOL ) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',fact_285_SeqRedsThrow) ).

thf(1352,plain,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i,F: $i] :
      ( ( F @ ( red @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ transitive_rtrancl @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ hAPP ) ) ) @ ( E @ ( D @ ( char @ list @ throw @ ( char @ list @ exp @ ( char @ list @ exp @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ ( C @ ( B @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ member @ ( bool @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ hAPP ) ) ) @ ( bool @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ hAPP ) ) ) @ hBOOL )
     => ( F @ ( red @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ transitive_rtrancl @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ hAPP ) ) ) @ ( E @ ( D @ ( char @ list @ throw @ ( char @ list @ exp @ ( char @ list @ exp @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ ( C @ ( A @ ( B @ ( char @ list @ seq @ ( char @ list @ exp @ ( char @ list @ exp @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( char @ list @ exp @ ( char @ list @ exp @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ member @ ( bool @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ hAPP ) ) ) @ ( bool @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ hAPP ) ) ) @ hBOOL ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[202]) ).

thf(324,axiom,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i,F: $i,G: $i] :
      ( ( G @ ( F @ ( char @ list @ throw @ ( char @ list @ exp @ ( char @ list @ exp @ hAPP ) ) ) @ ( E @ ( D @ ( C @ ( eval @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ hBOOL )
     => ( G @ ( F @ ( char @ list @ throw @ ( char @ list @ exp @ ( char @ list @ exp @ hAPP ) ) ) @ ( E @ ( B @ ( A @ ( D @ ( char @ list @ binOp @ ( char @ list @ exp @ ( char @ list @ exp @ fun ) @ ( bop @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( char @ list @ exp @ ( char @ list @ exp @ fun ) @ ( bop @ hAPP ) ) ) @ ( char @ list @ exp @ ( char @ list @ exp @ hAPP ) ) ) @ ( C @ ( eval @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ hBOOL ) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',fact_424_eval__evals_OBinOpThrow1) ).

thf(1827,plain,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i,F: $i,G: $i] :
      ( ( G @ ( F @ ( char @ list @ throw @ ( char @ list @ exp @ ( char @ list @ exp @ hAPP ) ) ) @ ( E @ ( D @ ( C @ ( eval @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ hBOOL )
     => ( G @ ( F @ ( char @ list @ throw @ ( char @ list @ exp @ ( char @ list @ exp @ hAPP ) ) ) @ ( E @ ( B @ ( A @ ( D @ ( char @ list @ binOp @ ( char @ list @ exp @ ( char @ list @ exp @ fun ) @ ( bop @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( char @ list @ exp @ ( char @ list @ exp @ fun ) @ ( bop @ hAPP ) ) ) @ ( char @ list @ exp @ ( char @ list @ exp @ hAPP ) ) ) @ ( C @ ( eval @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ hBOOL ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[324]) ).

thf(177,axiom,
    ! [A: $i] :
      ( ( A @ block @ ( A @ exp @ ( A @ exp @ fun ) @ ( ty @ fun ) @ ( A @ fun ) @ ti ) )
      = ( A @ block ) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',tsy_c_Expr_Oexp_OBlock_res) ).

thf(1268,plain,
    ! [A: $i] :
      ( ( A @ block @ ( A @ exp @ ( A @ exp @ fun ) @ ( ty @ fun ) @ ( A @ fun ) @ ti ) )
      = ( A @ block ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[177]) ).

thf(605,axiom,
    ! [A: $i,B: $i] :
      ( ( ( A @ ( class @ ( ty @ ( char @ list @ hAPP ) ) ) )
        = ( B @ ( class @ ( ty @ ( char @ list @ hAPP ) ) ) ) )
    <=> ( A = B ) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',fact_375_ty_Oinject) ).

thf(2803,plain,
    ! [A: $i,B: $i] :
      ( ( ( A = B )
       => ( ( A @ ( class @ ( ty @ ( char @ list @ hAPP ) ) ) )
          = ( B @ ( class @ ( ty @ ( char @ list @ hAPP ) ) ) ) ) )
      & ( ( ( A @ ( class @ ( ty @ ( char @ list @ hAPP ) ) ) )
          = ( B @ ( class @ ( ty @ ( char @ list @ hAPP ) ) ) ) )
       => ( A = B ) ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[605]) ).

thf(441,axiom,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i,F: $i] :
      ( ( F @ ( E @ ( D @ ( C @ ( B @ ( A @ sees_field @ ( bool @ ( char @ list @ fun ) @ ( ty @ fun ) @ ( char @ list @ fun ) @ ( char @ list @ fun ) @ ( A @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( bool @ ( char @ list @ fun ) @ ( ty @ fun ) @ ( char @ list @ fun ) @ ( char @ list @ hAPP ) ) ) @ ( bool @ ( char @ list @ fun ) @ ( ty @ fun ) @ ( char @ list @ hAPP ) ) ) @ ( bool @ ( char @ list @ fun ) @ ( ty @ hAPP ) ) ) @ ( bool @ ( char @ list @ hAPP ) ) ) @ hBOOL )
     => ( B @ ( A @ subcls1 @ ( bool @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( A @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( char @ list @ transitive_rtrancl @ ( bool @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( bool @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ hAPP ) ) ) @ ( F @ ( C @ ( char @ list @ ( char @ list @ product_Pair ) @ ( char @ list @ ( char @ list @ product_prod ) @ ( char @ list @ fun ) @ ( char @ list @ hAPP ) ) ) @ ( char @ list @ ( char @ list @ product_prod ) @ ( char @ list @ hAPP ) ) ) @ ( char @ list @ ( char @ list @ product_prod ) @ member @ ( bool @ ( bool @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ fun ) @ ( char @ list @ ( char @ list @ product_prod ) @ hAPP ) ) ) @ ( bool @ ( bool @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ hAPP ) ) ) @ hBOOL ) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',fact_412_sees__field__decl__above) ).

thf(2265,plain,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i,F: $i] :
      ( ( F @ ( E @ ( D @ ( C @ ( B @ ( A @ sees_field @ ( bool @ ( char @ list @ fun ) @ ( ty @ fun ) @ ( char @ list @ fun ) @ ( char @ list @ fun ) @ ( A @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( bool @ ( char @ list @ fun ) @ ( ty @ fun ) @ ( char @ list @ fun ) @ ( char @ list @ hAPP ) ) ) @ ( bool @ ( char @ list @ fun ) @ ( ty @ fun ) @ ( char @ list @ hAPP ) ) ) @ ( bool @ ( char @ list @ fun ) @ ( ty @ hAPP ) ) ) @ ( bool @ ( char @ list @ hAPP ) ) ) @ hBOOL )
     => ( B @ ( A @ subcls1 @ ( bool @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( A @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( char @ list @ transitive_rtrancl @ ( bool @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( bool @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ hAPP ) ) ) @ ( F @ ( C @ ( char @ list @ ( char @ list @ product_Pair ) @ ( char @ list @ ( char @ list @ product_prod ) @ ( char @ list @ fun ) @ ( char @ list @ hAPP ) ) ) @ ( char @ list @ ( char @ list @ product_prod ) @ ( char @ list @ hAPP ) ) ) @ ( char @ list @ ( char @ list @ product_prod ) @ member @ ( bool @ ( bool @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ fun ) @ ( char @ list @ ( char @ list @ product_prod ) @ hAPP ) ) ) @ ( bool @ ( bool @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ hAPP ) ) ) @ hBOOL ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[441]) ).

thf(505,axiom,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i,F: $i] :
      ( ! [G: $i,H: $i,I: $i,J: $i] : ( J @ ( I @ ( D @ ( C @ product_Pair ) @ ( D @ ( C @ product_prod ) @ ( D @ fun ) @ ( C @ hAPP ) ) ) @ ( D @ ( C @ product_prod ) @ ( D @ hAPP ) ) ) @ ( H @ ( D @ ( C @ product_prod ) @ ( B @ product_Pair ) @ ( D @ ( C @ product_prod ) @ ( B @ product_prod ) @ ( D @ ( C @ product_prod ) @ fun ) @ ( B @ hAPP ) ) ) @ ( D @ ( C @ product_prod ) @ ( B @ product_prod ) @ ( D @ ( C @ product_prod ) @ hAPP ) ) ) @ ( G @ ( D @ ( C @ product_prod ) @ ( B @ product_prod ) @ ( A @ product_Pair ) @ ( D @ ( C @ product_prod ) @ ( B @ product_prod ) @ ( A @ product_prod ) @ ( D @ ( C @ product_prod ) @ ( B @ product_prod ) @ fun ) @ ( A @ hAPP ) ) ) @ ( D @ ( C @ product_prod ) @ ( B @ product_prod ) @ ( A @ product_prod ) @ ( D @ ( C @ product_prod ) @ ( B @ product_prod ) @ hAPP ) ) ) @ ( F @ ( bool @ ( D @ ( C @ product_prod ) @ ( B @ product_prod ) @ ( A @ product_prod ) @ hAPP ) ) ) @ hBOOL )
     => ( E @ ( F @ ( bool @ ( D @ ( C @ product_prod ) @ ( B @ product_prod ) @ ( A @ product_prod ) @ hAPP ) ) ) @ hBOOL ) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',fact_12_prod__induct4) ).

thf(2467,plain,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i,F: $i] :
      ( ! [G: $i,H: $i,I: $i,J: $i] : ( J @ ( I @ ( D @ ( C @ product_Pair ) @ ( D @ ( C @ product_prod ) @ ( D @ fun ) @ ( C @ hAPP ) ) ) @ ( D @ ( C @ product_prod ) @ ( D @ hAPP ) ) ) @ ( H @ ( D @ ( C @ product_prod ) @ ( B @ product_Pair ) @ ( D @ ( C @ product_prod ) @ ( B @ product_prod ) @ ( D @ ( C @ product_prod ) @ fun ) @ ( B @ hAPP ) ) ) @ ( D @ ( C @ product_prod ) @ ( B @ product_prod ) @ ( D @ ( C @ product_prod ) @ hAPP ) ) ) @ ( G @ ( D @ ( C @ product_prod ) @ ( B @ product_prod ) @ ( A @ product_Pair ) @ ( D @ ( C @ product_prod ) @ ( B @ product_prod ) @ ( A @ product_prod ) @ ( D @ ( C @ product_prod ) @ ( B @ product_prod ) @ fun ) @ ( A @ hAPP ) ) ) @ ( D @ ( C @ product_prod ) @ ( B @ product_prod ) @ ( A @ product_prod ) @ ( D @ ( C @ product_prod ) @ ( B @ product_prod ) @ hAPP ) ) ) @ ( F @ ( bool @ ( D @ ( C @ product_prod ) @ ( B @ product_prod ) @ ( A @ product_prod ) @ hAPP ) ) ) @ hBOOL )
     => ( E @ ( F @ ( bool @ ( D @ ( C @ product_prod ) @ ( B @ product_prod ) @ ( A @ product_prod ) @ hAPP ) ) ) @ hBOOL ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[505]) ).

thf(15,axiom,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i] :
      ( ( C @ ( B @ ( A @ while @ ( A @ exp @ ( A @ exp @ fun ) @ ( A @ exp @ hAPP ) ) ) @ ( A @ exp @ ( A @ exp @ hAPP ) ) ) )
     != ( E @ ( D @ ( A @ seq @ ( A @ exp @ ( A @ exp @ fun ) @ ( A @ exp @ hAPP ) ) ) @ ( A @ exp @ ( A @ exp @ hAPP ) ) ) ) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',fact_486_exp_Osimps_I209_J) ).

thf(644,plain,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i] :
      ( ( C @ ( B @ ( A @ while @ ( A @ exp @ ( A @ exp @ fun ) @ ( A @ exp @ hAPP ) ) ) @ ( A @ exp @ ( A @ exp @ hAPP ) ) ) )
     != ( E @ ( D @ ( A @ seq @ ( A @ exp @ ( A @ exp @ fun ) @ ( A @ exp @ hAPP ) ) ) @ ( A @ exp @ ( A @ exp @ hAPP ) ) ) ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[15]) ).

thf(204,axiom,
    ( ( null @ ( val @ ti ) )
    = null ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',tsy_c_Value_Oval_ONull_res) ).

thf(1357,plain,
    ( ( null @ ( val @ ti ) )
    = null ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[204]) ).

thf(87,axiom,
    ( ( class @ ( ty @ ( char @ list @ fun ) @ ti ) )
    = class ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',tsy_c_Type_Oty_OClass_res) ).

thf(908,plain,
    ( ( class @ ( ty @ ( char @ list @ fun ) @ ti ) )
    = class ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[87]) ).

thf(238,axiom,
    ! [A: $i,B: $i,C: $i,D: $i] : ( D @ ( red @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( C @ ( nullPointer @ ( addr_of_sys_xcpt @ ( nat @ ( char @ list @ hAPP ) ) ) @ ( addr @ ( val @ ( nat @ hAPP ) ) ) @ ( char @ list @ val_1 @ ( char @ list @ exp @ ( val @ hAPP ) ) ) @ ( char @ list @ throw @ ( char @ list @ exp @ ( char @ list @ exp @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ ( C @ ( B @ ( A @ ( null @ ( char @ list @ val_1 @ ( char @ list @ exp @ ( val @ hAPP ) ) ) @ ( char @ list @ fAcc @ ( char @ list @ exp @ ( char @ list @ fun ) @ ( char @ list @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( char @ list @ exp @ ( char @ list @ fun ) @ ( char @ list @ hAPP ) ) ) @ ( char @ list @ exp @ ( char @ list @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ member @ ( bool @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ hAPP ) ) ) @ ( bool @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ hAPP ) ) ) @ hBOOL ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',fact_407_red__reds_ORedFAccNull) ).

thf(1500,plain,
    ! [A: $i,B: $i,C: $i,D: $i] : ( D @ ( red @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( C @ ( nullPointer @ ( addr_of_sys_xcpt @ ( nat @ ( char @ list @ hAPP ) ) ) @ ( addr @ ( val @ ( nat @ hAPP ) ) ) @ ( char @ list @ val_1 @ ( char @ list @ exp @ ( val @ hAPP ) ) ) @ ( char @ list @ throw @ ( char @ list @ exp @ ( char @ list @ exp @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ ( C @ ( B @ ( A @ ( null @ ( char @ list @ val_1 @ ( char @ list @ exp @ ( val @ hAPP ) ) ) @ ( char @ list @ fAcc @ ( char @ list @ exp @ ( char @ list @ fun ) @ ( char @ list @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( char @ list @ exp @ ( char @ list @ fun ) @ ( char @ list @ hAPP ) ) ) @ ( char @ list @ exp @ ( char @ list @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ member @ ( bool @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ hAPP ) ) ) @ ( bool @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ hAPP ) ) ) @ hBOOL ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[238]) ).

thf(60,axiom,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i] :
      ( ( B @ ( A @ throw @ ( A @ exp @ ( A @ exp @ hAPP ) ) ) )
     != ( E @ ( D @ ( C @ ( A @ binOp @ ( A @ exp @ ( A @ exp @ fun ) @ ( bop @ fun ) @ ( A @ exp @ hAPP ) ) ) @ ( A @ exp @ ( A @ exp @ fun ) @ ( bop @ hAPP ) ) ) @ ( A @ exp @ ( A @ exp @ hAPP ) ) ) ) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',fact_425_exp_Osimps_I113_J) ).

thf(822,plain,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i] :
      ( ( B @ ( A @ throw @ ( A @ exp @ ( A @ exp @ hAPP ) ) ) )
     != ( E @ ( D @ ( C @ ( A @ binOp @ ( A @ exp @ ( A @ exp @ fun ) @ ( bop @ fun ) @ ( A @ exp @ hAPP ) ) ) @ ( A @ exp @ ( A @ exp @ fun ) @ ( bop @ hAPP ) ) ) @ ( A @ exp @ ( A @ exp @ hAPP ) ) ) ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[60]) ).

thf(69,axiom,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i] : ( E @ ( red @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( D @ ( C @ ( char @ list @ val_1 @ ( char @ list @ exp @ ( val @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ ( D @ ( C @ ( char @ list @ val_1 @ ( char @ list @ exp @ ( val @ hAPP ) ) ) @ ( B @ ( A @ ( char @ list @ block @ ( char @ list @ exp @ ( char @ list @ exp @ fun ) @ ( ty @ fun ) @ ( char @ list @ hAPP ) ) ) @ ( char @ list @ exp @ ( char @ list @ exp @ fun ) @ ( ty @ hAPP ) ) ) @ ( char @ list @ exp @ ( char @ list @ exp @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ member @ ( bool @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ hAPP ) ) ) @ ( bool @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ hAPP ) ) ) @ hBOOL ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',fact_68_red__reds_ORedBlock) ).

thf(850,plain,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i] : ( E @ ( red @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( D @ ( C @ ( char @ list @ val_1 @ ( char @ list @ exp @ ( val @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ ( D @ ( C @ ( char @ list @ val_1 @ ( char @ list @ exp @ ( val @ hAPP ) ) ) @ ( B @ ( A @ ( char @ list @ block @ ( char @ list @ exp @ ( char @ list @ exp @ fun ) @ ( ty @ fun ) @ ( char @ list @ hAPP ) ) ) @ ( char @ list @ exp @ ( char @ list @ exp @ fun ) @ ( ty @ hAPP ) ) ) @ ( char @ list @ exp @ ( char @ list @ exp @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ member @ ( bool @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ hAPP ) ) ) @ ( bool @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ hAPP ) ) ) @ hBOOL ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[69]) ).

thf(184,axiom,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i] :
      ( ( E @ ( D @ ( C @ ( B @ ( A @ ( redp @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ hBOOL )
     => ( E @ ( D @ ( char @ list @ throw @ ( char @ list @ exp @ ( char @ list @ exp @ hAPP ) ) ) @ ( C @ ( B @ ( char @ list @ throw @ ( char @ list @ exp @ ( char @ list @ exp @ hAPP ) ) ) @ ( A @ ( redp @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ hBOOL ) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',fact_245_redp__redsp_OThrowRed) ).

thf(1299,plain,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i] :
      ( ( E @ ( D @ ( C @ ( B @ ( A @ ( redp @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ hBOOL )
     => ( E @ ( D @ ( char @ list @ throw @ ( char @ list @ exp @ ( char @ list @ exp @ hAPP ) ) ) @ ( C @ ( B @ ( char @ list @ throw @ ( char @ list @ exp @ ( char @ list @ exp @ hAPP ) ) ) @ ( A @ ( redp @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ hBOOL ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[184]) ).

thf(77,axiom,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i,F: $i] : ( F @ ( red @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( E @ ( D @ ( char @ list @ throw @ ( char @ list @ exp @ ( char @ list @ exp @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ ( E @ ( D @ ( char @ list @ throw @ ( char @ list @ exp @ ( char @ list @ exp @ hAPP ) ) ) @ ( C @ ( B @ ( A @ ( char @ list @ val_1 @ ( char @ list @ exp @ ( val @ hAPP ) ) ) @ ( char @ list @ fAss @ ( char @ list @ exp @ ( char @ list @ exp @ fun ) @ ( char @ list @ fun ) @ ( char @ list @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( char @ list @ exp @ ( char @ list @ exp @ fun ) @ ( char @ list @ fun ) @ ( char @ list @ hAPP ) ) ) @ ( char @ list @ exp @ ( char @ list @ exp @ fun ) @ ( char @ list @ hAPP ) ) ) @ ( char @ list @ exp @ ( char @ list @ exp @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ member @ ( bool @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ hAPP ) ) ) @ ( bool @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ hAPP ) ) ) @ hBOOL ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',fact_283_red__reds_OFAssThrow2) ).

thf(871,plain,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i,F: $i] : ( F @ ( red @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( E @ ( D @ ( char @ list @ throw @ ( char @ list @ exp @ ( char @ list @ exp @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ ( E @ ( D @ ( char @ list @ throw @ ( char @ list @ exp @ ( char @ list @ exp @ hAPP ) ) ) @ ( C @ ( B @ ( A @ ( char @ list @ val_1 @ ( char @ list @ exp @ ( val @ hAPP ) ) ) @ ( char @ list @ fAss @ ( char @ list @ exp @ ( char @ list @ exp @ fun ) @ ( char @ list @ fun ) @ ( char @ list @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( char @ list @ exp @ ( char @ list @ exp @ fun ) @ ( char @ list @ fun ) @ ( char @ list @ hAPP ) ) ) @ ( char @ list @ exp @ ( char @ list @ exp @ fun ) @ ( char @ list @ hAPP ) ) ) @ ( char @ list @ exp @ ( char @ list @ exp @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ member @ ( bool @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ hAPP ) ) ) @ ( bool @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ hAPP ) ) ) @ hBOOL ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[77]) ).

thf(1,conjecture,
    p @ ( red @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( l_a @ ( h_a @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ hAPP ) ) ) @ ( e_a @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ ( v @ ( val @ some @ ( val @ option @ ( val @ hAPP ) ) ) @ ( v_1 @ ( la @ ( val @ option @ ( char @ list @ fun_upd ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ fun ) @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ fun ) @ ( char @ list @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ hAPP ) ) ) @ ( ha @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ hAPP ) ) ) @ ( ea @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ member @ ( bool @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ hAPP ) ) ) @ ( bool @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ hAPP ) ) ) @ hBOOL,
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',conj_0) ).

thf(2,negated_conjecture,
    ~ ( p @ ( red @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( l_a @ ( h_a @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ hAPP ) ) ) @ ( e_a @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ ( v @ ( val @ some @ ( val @ option @ ( val @ hAPP ) ) ) @ ( v_1 @ ( la @ ( val @ option @ ( char @ list @ fun_upd ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ fun ) @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ fun ) @ ( char @ list @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ hAPP ) ) ) @ ( ha @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ hAPP ) ) ) @ ( ea @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ member @ ( bool @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ hAPP ) ) ) @ ( bool @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ hAPP ) ) ) @ hBOOL ),
    inference(neg_conjecture,[status(cth)],[1]) ).

thf(607,plain,
    ~ ( p @ ( red @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( l_a @ ( h_a @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ hAPP ) ) ) @ ( e_a @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ ( v @ ( val @ some @ ( val @ option @ ( val @ hAPP ) ) ) @ ( v_1 @ ( la @ ( val @ option @ ( char @ list @ fun_upd ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ fun ) @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ fun ) @ ( char @ list @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ hAPP ) ) ) @ ( ha @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ hAPP ) ) ) @ ( ea @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ member @ ( bool @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ hAPP ) ) ) @ ( bool @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ hAPP ) ) ) @ hBOOL ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[2]) ).

thf(136,axiom,
    ! [A: $i,B: $i,C: $i] :
      ( ? [D: $i] : ( D @ ( C @ ( bool @ ( B @ ( A @ product_prod ) @ hAPP ) ) ) @ hBOOL )
    <=> ? [D: $i,E: $i] : ( E @ ( D @ ( B @ ( A @ product_Pair ) @ ( B @ ( A @ product_prod ) @ ( B @ fun ) @ ( A @ hAPP ) ) ) @ ( B @ ( A @ product_prod ) @ ( B @ hAPP ) ) ) @ ( C @ ( bool @ ( B @ ( A @ product_prod ) @ hAPP ) ) ) @ hBOOL ) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',fact_36_split__paired__Ex) ).

thf(1093,plain,
    ! [A: $i,B: $i,C: $i] :
      ( ( ? [D: $i,E: $i] : ( E @ ( D @ ( B @ ( A @ product_Pair ) @ ( B @ ( A @ product_prod ) @ ( B @ fun ) @ ( A @ hAPP ) ) ) @ ( B @ ( A @ product_prod ) @ ( B @ hAPP ) ) ) @ ( C @ ( bool @ ( B @ ( A @ product_prod ) @ hAPP ) ) ) @ hBOOL )
       => ? [D: $i] : ( D @ ( C @ ( bool @ ( B @ ( A @ product_prod ) @ hAPP ) ) ) @ hBOOL ) )
      & ( ? [D: $i] : ( D @ ( C @ ( bool @ ( B @ ( A @ product_prod ) @ hAPP ) ) ) @ hBOOL )
       => ? [D: $i,E: $i] : ( E @ ( D @ ( B @ ( A @ product_Pair ) @ ( B @ ( A @ product_prod ) @ ( B @ fun ) @ ( A @ hAPP ) ) ) @ ( B @ ( A @ product_prod ) @ ( B @ hAPP ) ) ) @ ( C @ ( bool @ ( B @ ( A @ product_prod ) @ hAPP ) ) ) @ hBOOL ) ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[136]) ).

thf(349,axiom,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i] :
      ( ( C @ ( B @ ( A @ cast @ ( A @ exp @ ( A @ exp @ fun ) @ ( char @ list @ hAPP ) ) ) @ ( A @ exp @ ( A @ exp @ hAPP ) ) ) )
     != ( E @ ( D @ ( A @ while @ ( A @ exp @ ( A @ exp @ fun ) @ ( A @ exp @ hAPP ) ) ) @ ( A @ exp @ ( A @ exp @ hAPP ) ) ) ) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',fact_480_exp_Osimps_I64_J) ).

thf(1930,plain,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i] :
      ( ( C @ ( B @ ( A @ cast @ ( A @ exp @ ( A @ exp @ fun ) @ ( char @ list @ hAPP ) ) ) @ ( A @ exp @ ( A @ exp @ hAPP ) ) ) )
     != ( E @ ( D @ ( A @ while @ ( A @ exp @ ( A @ exp @ fun ) @ ( A @ exp @ hAPP ) ) ) @ ( A @ exp @ ( A @ exp @ hAPP ) ) ) ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[349]) ).

thf(66,axiom,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i,F: $i] :
      ( ( C @ ( B @ ( A @ cast @ ( A @ exp @ ( A @ exp @ fun ) @ ( char @ list @ hAPP ) ) ) @ ( A @ exp @ ( A @ exp @ hAPP ) ) ) )
     != ( F @ ( E @ ( D @ ( A @ binOp @ ( A @ exp @ ( A @ exp @ fun ) @ ( bop @ fun ) @ ( A @ exp @ hAPP ) ) ) @ ( A @ exp @ ( A @ exp @ fun ) @ ( bop @ hAPP ) ) ) @ ( A @ exp @ ( A @ exp @ hAPP ) ) ) ) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',fact_422_exp_Osimps_I46_J) ).

thf(839,plain,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i,F: $i] :
      ( ( C @ ( B @ ( A @ cast @ ( A @ exp @ ( A @ exp @ fun ) @ ( char @ list @ hAPP ) ) ) @ ( A @ exp @ ( A @ exp @ hAPP ) ) ) )
     != ( F @ ( E @ ( D @ ( A @ binOp @ ( A @ exp @ ( A @ exp @ fun ) @ ( bop @ fun ) @ ( A @ exp @ hAPP ) ) ) @ ( A @ exp @ ( A @ exp @ fun ) @ ( bop @ hAPP ) ) ) @ ( A @ exp @ ( A @ exp @ hAPP ) ) ) ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[66]) ).

thf(518,axiom,
    ! [A: $i,B: $i,C: $i] : ( C @ ( red @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( B @ ( A @ ( char @ list @ throw @ ( char @ list @ exp @ ( char @ list @ exp @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ ( B @ ( A @ ( char @ list @ throw @ ( char @ list @ exp @ ( char @ list @ exp @ hAPP ) ) ) @ ( char @ list @ throw @ ( char @ list @ exp @ ( char @ list @ exp @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ member @ ( bool @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ hAPP ) ) ) @ ( bool @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ hAPP ) ) ) @ hBOOL ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',fact_269_red__reds_OThrowThrow) ).

thf(2502,plain,
    ! [A: $i,B: $i,C: $i] : ( C @ ( red @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( B @ ( A @ ( char @ list @ throw @ ( char @ list @ exp @ ( char @ list @ exp @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ ( B @ ( A @ ( char @ list @ throw @ ( char @ list @ exp @ ( char @ list @ exp @ hAPP ) ) ) @ ( char @ list @ throw @ ( char @ list @ exp @ ( char @ list @ exp @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ member @ ( bool @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ hAPP ) ) ) @ ( bool @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ hAPP ) ) ) @ hBOOL ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[518]) ).

thf(106,axiom,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i,F: $i,G: $i,H: $i] :
      ( ( D @ ( C @ ( B @ ( A @ fAcc @ ( A @ exp @ ( char @ list @ fun ) @ ( char @ list @ fun ) @ ( A @ exp @ hAPP ) ) ) @ ( A @ exp @ ( char @ list @ fun ) @ ( char @ list @ hAPP ) ) ) @ ( A @ exp @ ( char @ list @ hAPP ) ) ) )
     != ( H @ ( G @ ( F @ ( E @ ( A @ fAss @ ( A @ exp @ ( A @ exp @ fun ) @ ( char @ list @ fun ) @ ( char @ list @ fun ) @ ( A @ exp @ hAPP ) ) ) @ ( A @ exp @ ( A @ exp @ fun ) @ ( char @ list @ fun ) @ ( char @ list @ hAPP ) ) ) @ ( A @ exp @ ( A @ exp @ fun ) @ ( char @ list @ hAPP ) ) ) @ ( A @ exp @ ( A @ exp @ hAPP ) ) ) ) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',fact_225_exp_Osimps_I154_J) ).

thf(987,plain,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i,F: $i,G: $i,H: $i] :
      ( ( D @ ( C @ ( B @ ( A @ fAcc @ ( A @ exp @ ( char @ list @ fun ) @ ( char @ list @ fun ) @ ( A @ exp @ hAPP ) ) ) @ ( A @ exp @ ( char @ list @ fun ) @ ( char @ list @ hAPP ) ) ) @ ( A @ exp @ ( char @ list @ hAPP ) ) ) )
     != ( H @ ( G @ ( F @ ( E @ ( A @ fAss @ ( A @ exp @ ( A @ exp @ fun ) @ ( char @ list @ fun ) @ ( char @ list @ fun ) @ ( A @ exp @ hAPP ) ) ) @ ( A @ exp @ ( A @ exp @ fun ) @ ( char @ list @ fun ) @ ( char @ list @ hAPP ) ) ) @ ( A @ exp @ ( A @ exp @ fun ) @ ( char @ list @ hAPP ) ) ) @ ( A @ exp @ ( A @ exp @ hAPP ) ) ) ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[106]) ).

thf(325,axiom,
    ! [A: $i,B: $i,C: $i] :
      ( ( C @ ( B @ none @ ( A @ ( B @ option @ combk ) @ ( B @ option @ ( A @ fun ) @ ( B @ option @ hAPP ) ) ) @ ( B @ ( A @ map_add ) @ ( B @ option @ ( A @ fun ) @ ( B @ option @ ( A @ fun ) @ fun ) @ ( B @ option @ ( A @ fun ) @ hAPP ) ) ) @ ( B @ option @ ( A @ fun ) @ ( B @ option @ ( A @ fun ) @ hAPP ) ) ) )
      = ( C @ ( B @ option @ ( A @ fun ) @ ti ) ) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',fact_144_empty__map__add) ).

thf(1829,plain,
    ! [A: $i,B: $i,C: $i] :
      ( ( C @ ( B @ none @ ( A @ ( B @ option @ combk ) @ ( B @ option @ ( A @ fun ) @ ( B @ option @ hAPP ) ) ) @ ( B @ ( A @ map_add ) @ ( B @ option @ ( A @ fun ) @ ( B @ option @ ( A @ fun ) @ fun ) @ ( B @ option @ ( A @ fun ) @ hAPP ) ) ) @ ( B @ option @ ( A @ fun ) @ ( B @ option @ ( A @ fun ) @ hAPP ) ) ) )
      = ( C @ ( B @ option @ ( A @ fun ) @ ti ) ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[325]) ).

thf(362,axiom,
    ! [A: $i,B: $i,C: $i] :
      ( ( ( B @ ( A @ val_1 @ ( A @ exp @ ( val @ hAPP ) ) ) )
        = ( C @ ( A @ val_1 @ ( A @ exp @ ( val @ hAPP ) ) ) ) )
    <=> ( B = C ) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',fact_108_exp_Osimps_I3_J) ).

thf(1977,plain,
    ! [A: $i,B: $i,C: $i] :
      ( ( ( B = C )
       => ( ( B @ ( A @ val_1 @ ( A @ exp @ ( val @ hAPP ) ) ) )
          = ( C @ ( A @ val_1 @ ( A @ exp @ ( val @ hAPP ) ) ) ) ) )
      & ( ( ( B @ ( A @ val_1 @ ( A @ exp @ ( val @ hAPP ) ) ) )
          = ( C @ ( A @ val_1 @ ( A @ exp @ ( val @ hAPP ) ) ) ) )
       => ( B = C ) ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[362]) ).

thf(545,axiom,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i,F: $i,G: $i,H: $i] :
      ( ( D @ ( C @ ( B @ ( A @ binOp @ ( A @ exp @ ( A @ exp @ fun ) @ ( bop @ fun ) @ ( A @ exp @ hAPP ) ) ) @ ( A @ exp @ ( A @ exp @ fun ) @ ( bop @ hAPP ) ) ) @ ( A @ exp @ ( A @ exp @ hAPP ) ) ) )
     != ( H @ ( G @ ( F @ ( E @ ( A @ tryCatch @ ( A @ exp @ ( A @ exp @ fun ) @ ( A @ fun ) @ ( char @ list @ fun ) @ ( A @ exp @ hAPP ) ) ) @ ( A @ exp @ ( A @ exp @ fun ) @ ( A @ fun ) @ ( char @ list @ hAPP ) ) ) @ ( A @ exp @ ( A @ exp @ fun ) @ ( A @ hAPP ) ) ) @ ( A @ exp @ ( A @ exp @ hAPP ) ) ) ) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',fact_441_exp_Osimps_I114_J) ).

thf(2600,plain,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i,F: $i,G: $i,H: $i] :
      ( ( D @ ( C @ ( B @ ( A @ binOp @ ( A @ exp @ ( A @ exp @ fun ) @ ( bop @ fun ) @ ( A @ exp @ hAPP ) ) ) @ ( A @ exp @ ( A @ exp @ fun ) @ ( bop @ hAPP ) ) ) @ ( A @ exp @ ( A @ exp @ hAPP ) ) ) )
     != ( H @ ( G @ ( F @ ( E @ ( A @ tryCatch @ ( A @ exp @ ( A @ exp @ fun ) @ ( A @ fun ) @ ( char @ list @ fun ) @ ( A @ exp @ hAPP ) ) ) @ ( A @ exp @ ( A @ exp @ fun ) @ ( A @ fun ) @ ( char @ list @ hAPP ) ) ) @ ( A @ exp @ ( A @ exp @ fun ) @ ( A @ hAPP ) ) ) @ ( A @ exp @ ( A @ exp @ hAPP ) ) ) ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[545]) ).

thf(247,axiom,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i] :
      ( ( E @ ( D @ ( C @ ( A @ widen @ ( bool @ ( ty @ fun ) @ ( ty @ fun ) @ ( A @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( bool @ ( ty @ fun ) @ ( ty @ hAPP ) ) ) @ ( bool @ ( ty @ hAPP ) ) ) @ hBOOL )
     => ( ( B @ ( E @ ( C @ ( A @ widen @ ( bool @ ( ty @ fun ) @ ( ty @ fun ) @ ( A @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( bool @ ( ty @ fun ) @ ( ty @ hAPP ) ) ) @ ( bool @ ( ty @ hAPP ) ) ) @ hBOOL )
       => ( B @ ( D @ ( C @ ( A @ widen @ ( bool @ ( ty @ fun ) @ ( ty @ fun ) @ ( A @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( bool @ ( ty @ fun ) @ ( ty @ hAPP ) ) ) @ ( bool @ ( ty @ hAPP ) ) ) @ hBOOL ) ) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',fact_37_widen__trans) ).

thf(1537,plain,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i] :
      ( ( E @ ( D @ ( C @ ( A @ widen @ ( bool @ ( ty @ fun ) @ ( ty @ fun ) @ ( A @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( bool @ ( ty @ fun ) @ ( ty @ hAPP ) ) ) @ ( bool @ ( ty @ hAPP ) ) ) @ hBOOL )
     => ( ( B @ ( E @ ( C @ ( A @ widen @ ( bool @ ( ty @ fun ) @ ( ty @ fun ) @ ( A @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( bool @ ( ty @ fun ) @ ( ty @ hAPP ) ) ) @ ( bool @ ( ty @ hAPP ) ) ) @ hBOOL )
       => ( B @ ( D @ ( C @ ( A @ widen @ ( bool @ ( ty @ fun ) @ ( ty @ fun ) @ ( A @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( bool @ ( ty @ fun ) @ ( ty @ hAPP ) ) ) @ ( bool @ ( ty @ hAPP ) ) ) @ hBOOL ) ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[247]) ).

thf(263,axiom,
    ( ( assigned @ ( bool @ ( char @ list @ exp @ fun ) @ ( char @ list @ fun ) @ ti ) )
    = assigned ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',tsy_c_SmallStep_Oassigned_res) ).

thf(1597,plain,
    ( ( assigned @ ( bool @ ( char @ list @ exp @ fun ) @ ( char @ list @ fun ) @ ti ) )
    = assigned ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[263]) ).

thf(336,axiom,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i] :
      ( ( B @ ( A @ throw @ ( A @ exp @ ( A @ exp @ hAPP ) ) ) )
     != ( E @ ( D @ ( C @ ( A @ block @ ( A @ exp @ ( A @ exp @ fun ) @ ( ty @ fun ) @ ( A @ hAPP ) ) ) @ ( A @ exp @ ( A @ exp @ fun ) @ ( ty @ hAPP ) ) ) @ ( A @ exp @ ( A @ exp @ hAPP ) ) ) ) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',fact_257_exp_Osimps_I203_J) ).

thf(1880,plain,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i] :
      ( ( B @ ( A @ throw @ ( A @ exp @ ( A @ exp @ hAPP ) ) ) )
     != ( E @ ( D @ ( C @ ( A @ block @ ( A @ exp @ ( A @ exp @ fun ) @ ( ty @ fun ) @ ( A @ hAPP ) ) ) @ ( A @ exp @ ( A @ exp @ fun ) @ ( ty @ hAPP ) ) ) @ ( A @ exp @ ( A @ exp @ hAPP ) ) ) ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[336]) ).

thf(512,axiom,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i,F: $i,G: $i,H: $i] :
      ( ( ( F @ ( E @ ( hp @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ hAPP ) ) ) )
        = ( H @ ( G @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_Pair ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ fun ) @ ( char @ list @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ some @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ hAPP ) ) ) ) )
     => ( ( ( C @ ( B @ ( char @ list @ ( char @ list @ product_Pair ) @ ( char @ list @ ( char @ list @ product_prod ) @ ( char @ list @ fun ) @ ( char @ list @ hAPP ) ) ) @ ( char @ list @ ( char @ list @ product_prod ) @ ( char @ list @ hAPP ) ) ) @ ( H @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ hAPP ) ) ) )
          = ( D @ ( val @ some @ ( val @ option @ ( val @ hAPP ) ) ) ) )
       => ( A @ ( red @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( E @ ( D @ ( char @ list @ val_1 @ ( char @ list @ exp @ ( val @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ ( E @ ( C @ ( B @ ( F @ ( addr @ ( val @ ( nat @ hAPP ) ) ) @ ( char @ list @ val_1 @ ( char @ list @ exp @ ( val @ hAPP ) ) ) @ ( char @ list @ fAcc @ ( char @ list @ exp @ ( char @ list @ fun ) @ ( char @ list @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( char @ list @ exp @ ( char @ list @ fun ) @ ( char @ list @ hAPP ) ) ) @ ( char @ list @ exp @ ( char @ list @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ member @ ( bool @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ hAPP ) ) ) @ ( bool @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ hAPP ) ) ) @ hBOOL ) ) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',fact_237_red__reds_ORedFAcc) ).

thf(2484,plain,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i,F: $i,G: $i,H: $i] :
      ( ( ( F @ ( E @ ( hp @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ hAPP ) ) ) )
        = ( H @ ( G @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_Pair ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ fun ) @ ( char @ list @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ some @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ hAPP ) ) ) ) )
     => ( ( ( C @ ( B @ ( char @ list @ ( char @ list @ product_Pair ) @ ( char @ list @ ( char @ list @ product_prod ) @ ( char @ list @ fun ) @ ( char @ list @ hAPP ) ) ) @ ( char @ list @ ( char @ list @ product_prod ) @ ( char @ list @ hAPP ) ) ) @ ( H @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ hAPP ) ) ) )
          = ( D @ ( val @ some @ ( val @ option @ ( val @ hAPP ) ) ) ) )
       => ( A @ ( red @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( E @ ( D @ ( char @ list @ val_1 @ ( char @ list @ exp @ ( val @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ ( E @ ( C @ ( B @ ( F @ ( addr @ ( val @ ( nat @ hAPP ) ) ) @ ( char @ list @ val_1 @ ( char @ list @ exp @ ( val @ hAPP ) ) ) @ ( char @ list @ fAcc @ ( char @ list @ exp @ ( char @ list @ fun ) @ ( char @ list @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( char @ list @ exp @ ( char @ list @ fun ) @ ( char @ list @ hAPP ) ) ) @ ( char @ list @ exp @ ( char @ list @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ member @ ( bool @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ hAPP ) ) ) @ ( bool @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ hAPP ) ) ) @ hBOOL ) ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[512]) ).

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] :
      ( ( K @ ( J @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ hAPP ) ) ) @ ( I @ ( addr @ ( val @ ( nat @ hAPP ) ) ) @ ( char @ list @ val_1 @ ( char @ list @ exp @ ( val @ hAPP ) ) ) @ ( char @ list @ throw @ ( char @ list @ exp @ ( char @ list @ exp @ hAPP ) ) ) @ ( H @ ( G @ ( F @ ( eval @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ hBOOL )
     => ( ( ( I @ ( J @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ hAPP ) ) ) )
          = ( E @ ( D @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_Pair ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ fun ) @ ( char @ list @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ some @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ hAPP ) ) ) ) )
       => ( ~ ( F @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ subcls1 @ ( bool @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( char @ list @ transitive_rtrancl @ ( bool @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( bool @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ hAPP ) ) ) @ ( C @ ( D @ ( char @ list @ ( char @ list @ product_Pair ) @ ( char @ list @ ( char @ list @ product_prod ) @ ( char @ list @ fun ) @ ( char @ list @ hAPP ) ) ) @ ( char @ list @ ( char @ list @ product_prod ) @ ( char @ list @ hAPP ) ) ) @ ( char @ list @ ( char @ list @ product_prod ) @ member @ ( bool @ ( bool @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ fun ) @ ( char @ list @ ( char @ list @ product_prod ) @ hAPP ) ) ) @ ( bool @ ( bool @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ hAPP ) ) ) @ hBOOL )
         => ( K @ ( J @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ hAPP ) ) ) @ ( I @ ( addr @ ( val @ ( nat @ hAPP ) ) ) @ ( char @ list @ val_1 @ ( char @ list @ exp @ ( val @ hAPP ) ) ) @ ( char @ list @ throw @ ( char @ list @ exp @ ( char @ list @ exp @ hAPP ) ) ) @ ( H @ ( B @ ( A @ ( C @ ( G @ ( char @ list @ tryCatch @ ( char @ list @ exp @ ( char @ list @ exp @ fun ) @ ( char @ list @ fun ) @ ( char @ list @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( char @ list @ exp @ ( char @ list @ exp @ fun ) @ ( char @ list @ fun ) @ ( char @ list @ hAPP ) ) ) @ ( char @ list @ exp @ ( char @ list @ exp @ fun ) @ ( char @ list @ hAPP ) ) ) @ ( char @ list @ exp @ ( char @ list @ exp @ hAPP ) ) ) @ ( F @ ( eval @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ hBOOL ) ) ) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',fact_316_TryThrow) ).

thf(2699,plain,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i,F: $i,G: $i,H: $i,I: $i,J: $i,K: $i] :
      ( ( K @ ( J @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ hAPP ) ) ) @ ( I @ ( addr @ ( val @ ( nat @ hAPP ) ) ) @ ( char @ list @ val_1 @ ( char @ list @ exp @ ( val @ hAPP ) ) ) @ ( char @ list @ throw @ ( char @ list @ exp @ ( char @ list @ exp @ hAPP ) ) ) @ ( H @ ( G @ ( F @ ( eval @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ hBOOL )
     => ( ( ( I @ ( J @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ hAPP ) ) ) )
          = ( E @ ( D @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_Pair ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ fun ) @ ( char @ list @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ some @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ hAPP ) ) ) ) )
       => ( ~ ( F @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ subcls1 @ ( bool @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( char @ list @ transitive_rtrancl @ ( bool @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( bool @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ hAPP ) ) ) @ ( C @ ( D @ ( char @ list @ ( char @ list @ product_Pair ) @ ( char @ list @ ( char @ list @ product_prod ) @ ( char @ list @ fun ) @ ( char @ list @ hAPP ) ) ) @ ( char @ list @ ( char @ list @ product_prod ) @ ( char @ list @ hAPP ) ) ) @ ( char @ list @ ( char @ list @ product_prod ) @ member @ ( bool @ ( bool @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ fun ) @ ( char @ list @ ( char @ list @ product_prod ) @ hAPP ) ) ) @ ( bool @ ( bool @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ hAPP ) ) ) @ hBOOL )
         => ( K @ ( J @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ hAPP ) ) ) @ ( I @ ( addr @ ( val @ ( nat @ hAPP ) ) ) @ ( char @ list @ val_1 @ ( char @ list @ exp @ ( val @ hAPP ) ) ) @ ( char @ list @ throw @ ( char @ list @ exp @ ( char @ list @ exp @ hAPP ) ) ) @ ( H @ ( B @ ( A @ ( C @ ( G @ ( char @ list @ tryCatch @ ( char @ list @ exp @ ( char @ list @ exp @ fun ) @ ( char @ list @ fun ) @ ( char @ list @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( char @ list @ exp @ ( char @ list @ exp @ fun ) @ ( char @ list @ fun ) @ ( char @ list @ hAPP ) ) ) @ ( char @ list @ exp @ ( char @ list @ exp @ fun ) @ ( char @ list @ hAPP ) ) ) @ ( char @ list @ exp @ ( char @ list @ exp @ hAPP ) ) ) @ ( F @ ( eval @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ hBOOL ) ) ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[578]) ).

thf(207,axiom,
    ! [A: $i,B: $i,C: $i,D: $i] :
      ( ( D @ ( class @ ( ty @ ( char @ list @ hAPP ) ) ) @ ( C @ ( class @ ( ty @ ( char @ list @ hAPP ) ) ) @ ( B @ ( A @ widen @ ( bool @ ( ty @ fun ) @ ( ty @ fun ) @ ( A @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( bool @ ( ty @ fun ) @ ( ty @ hAPP ) ) ) @ ( bool @ ( ty @ hAPP ) ) ) @ hBOOL )
    <=> ( B @ ( A @ subcls1 @ ( bool @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( A @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( char @ list @ transitive_rtrancl @ ( bool @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( bool @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ hAPP ) ) ) @ ( D @ ( C @ ( char @ list @ ( char @ list @ product_Pair ) @ ( char @ list @ ( char @ list @ product_prod ) @ ( char @ list @ fun ) @ ( char @ list @ hAPP ) ) ) @ ( char @ list @ ( char @ list @ product_prod ) @ ( char @ list @ hAPP ) ) ) @ ( char @ list @ ( char @ list @ product_prod ) @ member @ ( bool @ ( bool @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ fun ) @ ( char @ list @ ( char @ list @ product_prod ) @ hAPP ) ) ) @ ( bool @ ( bool @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ hAPP ) ) ) @ hBOOL ) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',fact_350_Class__widen__Class) ).

thf(1367,plain,
    ! [A: $i,B: $i,C: $i,D: $i] :
      ( ( ( B @ ( A @ subcls1 @ ( bool @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( A @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( char @ list @ transitive_rtrancl @ ( bool @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( bool @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ hAPP ) ) ) @ ( D @ ( C @ ( char @ list @ ( char @ list @ product_Pair ) @ ( char @ list @ ( char @ list @ product_prod ) @ ( char @ list @ fun ) @ ( char @ list @ hAPP ) ) ) @ ( char @ list @ ( char @ list @ product_prod ) @ ( char @ list @ hAPP ) ) ) @ ( char @ list @ ( char @ list @ product_prod ) @ member @ ( bool @ ( bool @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ fun ) @ ( char @ list @ ( char @ list @ product_prod ) @ hAPP ) ) ) @ ( bool @ ( bool @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ hAPP ) ) ) @ hBOOL )
       => ( D @ ( class @ ( ty @ ( char @ list @ hAPP ) ) ) @ ( C @ ( class @ ( ty @ ( char @ list @ hAPP ) ) ) @ ( B @ ( A @ widen @ ( bool @ ( ty @ fun ) @ ( ty @ fun ) @ ( A @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( bool @ ( ty @ fun ) @ ( ty @ hAPP ) ) ) @ ( bool @ ( ty @ hAPP ) ) ) @ hBOOL ) )
      & ( ( D @ ( class @ ( ty @ ( char @ list @ hAPP ) ) ) @ ( C @ ( class @ ( ty @ ( char @ list @ hAPP ) ) ) @ ( B @ ( A @ widen @ ( bool @ ( ty @ fun ) @ ( ty @ fun ) @ ( A @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( bool @ ( ty @ fun ) @ ( ty @ hAPP ) ) ) @ ( bool @ ( ty @ hAPP ) ) ) @ hBOOL )
       => ( B @ ( A @ subcls1 @ ( bool @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( A @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( char @ list @ transitive_rtrancl @ ( bool @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( bool @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ hAPP ) ) ) @ ( D @ ( C @ ( char @ list @ ( char @ list @ product_Pair ) @ ( char @ list @ ( char @ list @ product_prod ) @ ( char @ list @ fun ) @ ( char @ list @ hAPP ) ) ) @ ( char @ list @ ( char @ list @ product_prod ) @ ( char @ list @ hAPP ) ) ) @ ( char @ list @ ( char @ list @ product_prod ) @ member @ ( bool @ ( bool @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ fun ) @ ( char @ list @ ( char @ list @ product_prod ) @ hAPP ) ) ) @ ( bool @ ( bool @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ hAPP ) ) ) @ hBOOL ) ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[207]) ).

thf(367,axiom,
    ! [A: $i,B: $i] :
      ( ( B @ ( A @ dom ) @ ( bool @ ( A @ fun ) @ ( B @ option @ ( A @ fun ) @ fun ) @ ti ) )
      = ( B @ ( A @ dom ) ) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',tsy_c_Map_Odom_res) ).

thf(2018,plain,
    ! [A: $i,B: $i] :
      ( ( B @ ( A @ dom ) @ ( bool @ ( A @ fun ) @ ( B @ option @ ( A @ fun ) @ fun ) @ ti ) )
      = ( B @ ( A @ dom ) ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[367]) ).

thf(344,axiom,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i,F: $i,G: $i] :
      ( ( G @ ( F @ ( A @ hconf @ ( bool @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ fun ) @ ( A @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ hAPP ) ) ) @ hBOOL )
     => ( ( ( C @ ( G @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ hAPP ) ) ) )
          = ( E @ ( D @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_Pair ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ fun ) @ ( char @ list @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ some @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ hAPP ) ) ) ) )
       => ( ( B @ ( D @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_Pair ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ fun ) @ ( char @ list @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ hAPP ) ) ) @ ( G @ ( F @ ( A @ oconf @ ( bool @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ fun ) @ ( A @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ hAPP ) ) ) @ hBOOL )
         => ( B @ ( D @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_Pair ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ fun ) @ ( char @ list @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ some @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ hAPP ) ) ) @ ( C @ ( G @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun_upd ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ fun ) @ ( nat @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ fun ) @ ( nat @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ hAPP ) ) ) @ ( F @ ( A @ hconf @ ( bool @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ fun ) @ ( A @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ hAPP ) ) ) @ hBOOL ) ) ) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',fact_124_hconf__upd__obj) ).

thf(1912,plain,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i,F: $i,G: $i] :
      ( ( G @ ( F @ ( A @ hconf @ ( bool @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ fun ) @ ( A @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ hAPP ) ) ) @ hBOOL )
     => ( ( ( C @ ( G @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ hAPP ) ) ) )
          = ( E @ ( D @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_Pair ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ fun ) @ ( char @ list @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ some @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ hAPP ) ) ) ) )
       => ( ( B @ ( D @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_Pair ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ fun ) @ ( char @ list @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ hAPP ) ) ) @ ( G @ ( F @ ( A @ oconf @ ( bool @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ fun ) @ ( A @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ hAPP ) ) ) @ hBOOL )
         => ( B @ ( D @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_Pair ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ fun ) @ ( char @ list @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ some @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ hAPP ) ) ) @ ( C @ ( G @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun_upd ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ fun ) @ ( nat @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ fun ) @ ( nat @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ hAPP ) ) ) @ ( F @ ( A @ hconf @ ( bool @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ fun ) @ ( A @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ hAPP ) ) ) @ hBOOL ) ) ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[344]) ).

thf(566,axiom,
    ! [A: $i,B: $i,C: $i,D: $i] : ( D @ ( C @ ( char @ list @ throw @ ( char @ list @ exp @ ( char @ list @ exp @ hAPP ) ) ) @ ( D @ ( C @ ( char @ list @ throw @ ( char @ list @ exp @ ( char @ list @ exp @ hAPP ) ) ) @ ( B @ ( char @ list @ lAss @ ( char @ list @ exp @ ( char @ list @ exp @ fun ) @ ( char @ list @ hAPP ) ) ) @ ( char @ list @ exp @ ( char @ list @ exp @ hAPP ) ) ) @ ( A @ ( redp @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ hBOOL ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',fact_264_redp__redsp_OLAssThrow) ).

thf(2672,plain,
    ! [A: $i,B: $i,C: $i,D: $i] : ( D @ ( C @ ( char @ list @ throw @ ( char @ list @ exp @ ( char @ list @ exp @ hAPP ) ) ) @ ( D @ ( C @ ( char @ list @ throw @ ( char @ list @ exp @ ( char @ list @ exp @ hAPP ) ) ) @ ( B @ ( char @ list @ lAss @ ( char @ list @ exp @ ( char @ list @ exp @ fun ) @ ( char @ list @ hAPP ) ) ) @ ( char @ list @ exp @ ( char @ list @ exp @ hAPP ) ) ) @ ( A @ ( redp @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ hBOOL ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[566]) ).

thf(557,axiom,
    ! [A: $i,B: $i,C: $i] :
      ~ ! [D: $i,E: $i] :
          ( ( C @ ( B @ ( A @ product_prod ) @ ti ) )
         != ( E @ ( D @ ( B @ ( A @ product_Pair ) @ ( B @ ( A @ product_prod ) @ ( B @ fun ) @ ( A @ hAPP ) ) ) @ ( B @ ( A @ product_prod ) @ ( B @ hAPP ) ) ) ) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',fact_34_prod_Oexhaust) ).

thf(2640,plain,
    ! [A: $i,B: $i,C: $i] :
      ~ ! [D: $i,E: $i] :
          ( ( C @ ( B @ ( A @ product_prod ) @ ti ) )
         != ( E @ ( D @ ( B @ ( A @ product_Pair ) @ ( B @ ( A @ product_prod ) @ ( B @ fun ) @ ( A @ hAPP ) ) ) @ ( B @ ( A @ product_prod ) @ ( B @ hAPP ) ) ) ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[557]) ).

thf(353,axiom,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i,F: $i,G: $i] :
      ( ( ( D @ ( C @ ( B @ ( A @ block @ ( A @ exp @ ( A @ exp @ fun ) @ ( ty @ fun ) @ ( A @ hAPP ) ) ) @ ( A @ exp @ ( A @ exp @ fun ) @ ( ty @ hAPP ) ) ) @ ( A @ exp @ ( A @ exp @ hAPP ) ) ) )
        = ( G @ ( F @ ( E @ ( A @ block @ ( A @ exp @ ( A @ exp @ fun ) @ ( ty @ fun ) @ ( A @ hAPP ) ) ) @ ( A @ exp @ ( A @ exp @ fun ) @ ( ty @ hAPP ) ) ) @ ( A @ exp @ ( A @ exp @ hAPP ) ) ) ) )
    <=> ( ( D = G )
        & ( C = F )
        & ( ( B @ ( A @ ti ) )
          = ( E @ ( A @ ti ) ) ) ) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',fact_111_exp_Osimps_I10_J) ).

thf(1945,plain,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i,F: $i,G: $i] :
      ( ( ( ( D = G )
          & ( C = F )
          & ( ( B @ ( A @ ti ) )
            = ( E @ ( A @ ti ) ) ) )
       => ( ( D @ ( C @ ( B @ ( A @ block @ ( A @ exp @ ( A @ exp @ fun ) @ ( ty @ fun ) @ ( A @ hAPP ) ) ) @ ( A @ exp @ ( A @ exp @ fun ) @ ( ty @ hAPP ) ) ) @ ( A @ exp @ ( A @ exp @ hAPP ) ) ) )
          = ( G @ ( F @ ( E @ ( A @ block @ ( A @ exp @ ( A @ exp @ fun ) @ ( ty @ fun ) @ ( A @ hAPP ) ) ) @ ( A @ exp @ ( A @ exp @ fun ) @ ( ty @ hAPP ) ) ) @ ( A @ exp @ ( A @ exp @ hAPP ) ) ) ) ) )
      & ( ( ( D @ ( C @ ( B @ ( A @ block @ ( A @ exp @ ( A @ exp @ fun ) @ ( ty @ fun ) @ ( A @ hAPP ) ) ) @ ( A @ exp @ ( A @ exp @ fun ) @ ( ty @ hAPP ) ) ) @ ( A @ exp @ ( A @ exp @ hAPP ) ) ) )
          = ( G @ ( F @ ( E @ ( A @ block @ ( A @ exp @ ( A @ exp @ fun ) @ ( ty @ fun ) @ ( A @ hAPP ) ) ) @ ( A @ exp @ ( A @ exp @ fun ) @ ( ty @ hAPP ) ) ) @ ( A @ exp @ ( A @ exp @ hAPP ) ) ) ) )
       => ( ( D = G )
          & ( C = F )
          & ( ( B @ ( A @ ti ) )
            = ( E @ ( A @ ti ) ) ) ) ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[353]) ).

thf(112,axiom,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i] :
      ( ( E @ ( red @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ transitive_rtrancl @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ hAPP ) ) ) @ ( D @ ( fFalse @ ( bool_1 @ ( val @ ( bool @ hAPP ) ) ) @ ( char @ list @ val_1 @ ( char @ list @ exp @ ( val @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ ( C @ ( B @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ member @ ( bool @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ hAPP ) ) ) @ ( bool @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ hAPP ) ) ) @ hBOOL )
     => ( E @ ( red @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ transitive_rtrancl @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ hAPP ) ) ) @ ( D @ ( unit @ ( char @ list @ val_1 @ ( char @ list @ exp @ ( val @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ ( C @ ( A @ ( B @ ( char @ list @ while @ ( char @ list @ exp @ ( char @ list @ exp @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( char @ list @ exp @ ( char @ list @ exp @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ member @ ( bool @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ hAPP ) ) ) @ ( bool @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ hAPP ) ) ) @ hBOOL ) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',fact_476_WhileFReds) ).

thf(1009,plain,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i] :
      ( ( E @ ( red @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ transitive_rtrancl @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ hAPP ) ) ) @ ( D @ ( fFalse @ ( bool_1 @ ( val @ ( bool @ hAPP ) ) ) @ ( char @ list @ val_1 @ ( char @ list @ exp @ ( val @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ ( C @ ( B @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ member @ ( bool @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ hAPP ) ) ) @ ( bool @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ hAPP ) ) ) @ hBOOL )
     => ( E @ ( red @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ transitive_rtrancl @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ hAPP ) ) ) @ ( D @ ( unit @ ( char @ list @ val_1 @ ( char @ list @ exp @ ( val @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ ( C @ ( A @ ( B @ ( char @ list @ while @ ( char @ list @ exp @ ( char @ list @ exp @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( char @ list @ exp @ ( char @ list @ exp @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ member @ ( bool @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ hAPP ) ) ) @ ( bool @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ hAPP ) ) ) @ hBOOL ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[112]) ).

thf(284,axiom,
    ! [A: $i,B: $i,C: $i] :
      ( ( C @ ( B @ ( A @ combb ) ) @ ( B @ ( C @ fun ) @ ( A @ ( C @ fun ) @ fun ) @ ( B @ ( A @ fun ) @ fun ) @ ti ) )
      = ( C @ ( B @ ( A @ combb ) ) ) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',tsy_c_COMBB_res) ).

thf(1681,plain,
    ! [A: $i,B: $i,C: $i] :
      ( ( C @ ( B @ ( A @ combb ) ) @ ( B @ ( C @ fun ) @ ( A @ ( C @ fun ) @ fun ) @ ( B @ ( A @ fun ) @ fun ) @ ti ) )
      = ( C @ ( B @ ( A @ combb ) ) ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[284]) ).

thf(382,axiom,
    ! [A: $i,B: $i,C: $i,D: $i] :
      ( ( D @ ( C @ ( B @ ( A @ fun ) @ ti ) @ ( B @ ( A @ hAPP ) ) ) )
      = ( D @ ( C @ ( B @ ( A @ hAPP ) ) ) ) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',tsy_c_hAPP_arg1) ).

thf(2074,plain,
    ! [A: $i,B: $i,C: $i,D: $i] :
      ( ( D @ ( C @ ( B @ ( A @ fun ) @ ti ) @ ( B @ ( A @ hAPP ) ) ) )
      = ( D @ ( C @ ( B @ ( A @ hAPP ) ) ) ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[382]) ).

thf(574,axiom,
    ( ( unit @ ( val @ ti ) )
    = unit ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',tsy_c_Value_Oval_OUnit_res) ).

thf(2690,plain,
    ( ( unit @ ( val @ ti ) )
    = unit ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[574]) ).

thf(230,axiom,
    ! [A: $i,B: $i,C: $i] :
      ( ( ( B @ ( A @ throw @ ( A @ exp @ ( A @ exp @ hAPP ) ) ) )
        = ( C @ ( A @ throw @ ( A @ exp @ ( A @ exp @ hAPP ) ) ) ) )
    <=> ( B = C ) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',fact_247_exp_Osimps_I14_J) ).

thf(1463,plain,
    ! [A: $i,B: $i,C: $i] :
      ( ( ( B = C )
       => ( ( B @ ( A @ throw @ ( A @ exp @ ( A @ exp @ hAPP ) ) ) )
          = ( C @ ( A @ throw @ ( A @ exp @ ( A @ exp @ hAPP ) ) ) ) ) )
      & ( ( ( B @ ( A @ throw @ ( A @ exp @ ( A @ exp @ hAPP ) ) ) )
          = ( C @ ( A @ throw @ ( A @ exp @ ( A @ exp @ hAPP ) ) ) ) )
       => ( B = C ) ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[230]) ).

thf(329,axiom,
    ! [A: $i,B: $i,C: $i,D: $i] :
      ( ( D @ ( C @ ( B @ ( A @ subcls1p @ ( bool @ ( char @ list @ fun ) @ ( char @ list @ fun ) @ ( A @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( bool @ ( char @ list @ fun ) @ ( char @ list @ hAPP ) ) ) @ ( bool @ ( char @ list @ hAPP ) ) ) @ hBOOL )
    <=> ( B @ ( A @ subcls1 @ ( bool @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( A @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( D @ ( C @ ( char @ list @ ( char @ list @ product_Pair ) @ ( char @ list @ ( char @ list @ product_prod ) @ ( char @ list @ fun ) @ ( char @ list @ hAPP ) ) ) @ ( char @ list @ ( char @ list @ product_prod ) @ ( char @ list @ hAPP ) ) ) @ ( char @ list @ ( char @ list @ product_prod ) @ member @ ( bool @ ( bool @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ fun ) @ ( char @ list @ ( char @ list @ product_prod ) @ hAPP ) ) ) @ ( bool @ ( bool @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ hAPP ) ) ) @ hBOOL ) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',fact_362_subcls1p__subcls1__eq) ).

thf(1848,plain,
    ! [A: $i,B: $i,C: $i,D: $i] :
      ( ( ( B @ ( A @ subcls1 @ ( bool @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( A @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( D @ ( C @ ( char @ list @ ( char @ list @ product_Pair ) @ ( char @ list @ ( char @ list @ product_prod ) @ ( char @ list @ fun ) @ ( char @ list @ hAPP ) ) ) @ ( char @ list @ ( char @ list @ product_prod ) @ ( char @ list @ hAPP ) ) ) @ ( char @ list @ ( char @ list @ product_prod ) @ member @ ( bool @ ( bool @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ fun ) @ ( char @ list @ ( char @ list @ product_prod ) @ hAPP ) ) ) @ ( bool @ ( bool @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ hAPP ) ) ) @ hBOOL )
       => ( D @ ( C @ ( B @ ( A @ subcls1p @ ( bool @ ( char @ list @ fun ) @ ( char @ list @ fun ) @ ( A @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( bool @ ( char @ list @ fun ) @ ( char @ list @ hAPP ) ) ) @ ( bool @ ( char @ list @ hAPP ) ) ) @ hBOOL ) )
      & ( ( D @ ( C @ ( B @ ( A @ subcls1p @ ( bool @ ( char @ list @ fun ) @ ( char @ list @ fun ) @ ( A @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( bool @ ( char @ list @ fun ) @ ( char @ list @ hAPP ) ) ) @ ( bool @ ( char @ list @ hAPP ) ) ) @ hBOOL )
       => ( B @ ( A @ subcls1 @ ( bool @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( A @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( D @ ( C @ ( char @ list @ ( char @ list @ product_Pair ) @ ( char @ list @ ( char @ list @ product_prod ) @ ( char @ list @ fun ) @ ( char @ list @ hAPP ) ) ) @ ( char @ list @ ( char @ list @ product_prod ) @ ( char @ list @ hAPP ) ) ) @ ( char @ list @ ( char @ list @ product_prod ) @ member @ ( bool @ ( bool @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ fun ) @ ( char @ list @ ( char @ list @ product_prod ) @ hAPP ) ) ) @ ( bool @ ( bool @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ hAPP ) ) ) @ hBOOL ) ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[329]) ).

thf(378,axiom,
    ! [A: $i,B: $i] :
      ( ( B @ ( A @ map_add ) @ ( B @ option @ ( A @ fun ) @ ( B @ option @ ( A @ fun ) @ fun ) @ ( B @ option @ ( A @ fun ) @ fun ) @ ti ) )
      = ( B @ ( A @ map_add ) ) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',tsy_c_Map_Omap__add_res) ).

thf(2059,plain,
    ! [A: $i,B: $i] :
      ( ( B @ ( A @ map_add ) @ ( B @ option @ ( A @ fun ) @ ( B @ option @ ( A @ fun ) @ fun ) @ ( B @ option @ ( A @ fun ) @ fun ) @ ti ) )
      = ( B @ ( A @ map_add ) ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[378]) ).

thf(235,axiom,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i,F: $i,G: $i] :
      ( ( G @ ( red @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ transitive_rtrancl @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ hAPP ) ) ) @ ( F @ ( E @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ ( D @ ( C @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ member @ ( bool @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ hAPP ) ) ) @ ( bool @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ hAPP ) ) ) @ hBOOL )
     => ( G @ ( red @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ transitive_rtrancl @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ hAPP ) ) ) @ ( F @ ( E @ ( B @ ( A @ ( char @ list @ val_1 @ ( char @ list @ exp @ ( val @ hAPP ) ) ) @ ( char @ list @ binOp @ ( char @ list @ exp @ ( char @ list @ exp @ fun ) @ ( bop @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( char @ list @ exp @ ( char @ list @ exp @ fun ) @ ( bop @ hAPP ) ) ) @ ( char @ list @ exp @ ( char @ list @ exp @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ ( D @ ( C @ ( B @ ( A @ ( char @ list @ val_1 @ ( char @ list @ exp @ ( val @ hAPP ) ) ) @ ( char @ list @ binOp @ ( char @ list @ exp @ ( char @ list @ exp @ fun ) @ ( bop @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( char @ list @ exp @ ( char @ list @ exp @ fun ) @ ( bop @ hAPP ) ) ) @ ( char @ list @ exp @ ( char @ list @ exp @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ member @ ( bool @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ hAPP ) ) ) @ ( bool @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ hAPP ) ) ) @ hBOOL ) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',fact_452_BinOp2Reds) ).

thf(1490,plain,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i,F: $i,G: $i] :
      ( ( G @ ( red @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ transitive_rtrancl @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ hAPP ) ) ) @ ( F @ ( E @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ ( D @ ( C @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ member @ ( bool @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ hAPP ) ) ) @ ( bool @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ hAPP ) ) ) @ hBOOL )
     => ( G @ ( red @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ transitive_rtrancl @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ hAPP ) ) ) @ ( F @ ( E @ ( B @ ( A @ ( char @ list @ val_1 @ ( char @ list @ exp @ ( val @ hAPP ) ) ) @ ( char @ list @ binOp @ ( char @ list @ exp @ ( char @ list @ exp @ fun ) @ ( bop @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( char @ list @ exp @ ( char @ list @ exp @ fun ) @ ( bop @ hAPP ) ) ) @ ( char @ list @ exp @ ( char @ list @ exp @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ ( D @ ( C @ ( B @ ( A @ ( char @ list @ val_1 @ ( char @ list @ exp @ ( val @ hAPP ) ) ) @ ( char @ list @ binOp @ ( char @ list @ exp @ ( char @ list @ exp @ fun ) @ ( bop @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( char @ list @ exp @ ( char @ list @ exp @ fun ) @ ( bop @ hAPP ) ) ) @ ( char @ list @ exp @ ( char @ list @ exp @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ member @ ( bool @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ hAPP ) ) ) @ ( bool @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ hAPP ) ) ) @ hBOOL ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[235]) ).

thf(118,axiom,
    ! [A: $i,B: $i,C: $i,D: $i] :
      ( ( C @ ( B @ ( A @ lAss @ ( A @ exp @ ( A @ exp @ fun ) @ ( A @ hAPP ) ) ) @ ( A @ exp @ ( A @ exp @ hAPP ) ) ) )
     != ( D @ ( A @ val_1 @ ( A @ exp @ ( val @ hAPP ) ) ) ) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',fact_115_exp_Osimps_I75_J) ).

thf(1037,plain,
    ! [A: $i,B: $i,C: $i,D: $i] :
      ( ( C @ ( B @ ( A @ lAss @ ( A @ exp @ ( A @ exp @ fun ) @ ( A @ hAPP ) ) ) @ ( A @ exp @ ( A @ exp @ hAPP ) ) ) )
     != ( D @ ( A @ val_1 @ ( A @ exp @ ( val @ hAPP ) ) ) ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[118]) ).

thf(114,axiom,
    ! [A: $i,B: $i,C: $i,D: $i] :
      ( ( D @ ( class @ ( ty @ ( char @ list @ hAPP ) ) ) @ ( C @ ( B @ ( A @ widen @ ( bool @ ( ty @ fun ) @ ( ty @ fun ) @ ( A @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( bool @ ( ty @ fun ) @ ( ty @ hAPP ) ) ) @ ( bool @ ( ty @ hAPP ) ) ) @ hBOOL )
    <=> ( ? [E: $i] :
            ( ( B @ ( A @ subcls1 @ ( bool @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( A @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( char @ list @ transitive_rtrancl @ ( bool @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( bool @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ hAPP ) ) ) @ ( D @ ( E @ ( char @ list @ ( char @ list @ product_Pair ) @ ( char @ list @ ( char @ list @ product_prod ) @ ( char @ list @ fun ) @ ( char @ list @ hAPP ) ) ) @ ( char @ list @ ( char @ list @ product_prod ) @ ( char @ list @ hAPP ) ) ) @ ( char @ list @ ( char @ list @ product_prod ) @ member @ ( bool @ ( bool @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ fun ) @ ( char @ list @ ( char @ list @ product_prod ) @ hAPP ) ) ) @ ( bool @ ( bool @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ hAPP ) ) ) @ hBOOL )
            & ( C
              = ( E @ ( class @ ( ty @ ( char @ list @ hAPP ) ) ) ) ) )
        | ( C = nt ) ) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',fact_377_widen__Class) ).

thf(1014,plain,
    ! [A: $i,B: $i,C: $i,D: $i] :
      ( ( ( ? [E: $i] :
              ( ( B @ ( A @ subcls1 @ ( bool @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( A @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( char @ list @ transitive_rtrancl @ ( bool @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( bool @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ hAPP ) ) ) @ ( D @ ( E @ ( char @ list @ ( char @ list @ product_Pair ) @ ( char @ list @ ( char @ list @ product_prod ) @ ( char @ list @ fun ) @ ( char @ list @ hAPP ) ) ) @ ( char @ list @ ( char @ list @ product_prod ) @ ( char @ list @ hAPP ) ) ) @ ( char @ list @ ( char @ list @ product_prod ) @ member @ ( bool @ ( bool @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ fun ) @ ( char @ list @ ( char @ list @ product_prod ) @ hAPP ) ) ) @ ( bool @ ( bool @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ hAPP ) ) ) @ hBOOL )
              & ( C
                = ( E @ ( class @ ( ty @ ( char @ list @ hAPP ) ) ) ) ) )
          | ( C = nt ) )
       => ( D @ ( class @ ( ty @ ( char @ list @ hAPP ) ) ) @ ( C @ ( B @ ( A @ widen @ ( bool @ ( ty @ fun ) @ ( ty @ fun ) @ ( A @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( bool @ ( ty @ fun ) @ ( ty @ hAPP ) ) ) @ ( bool @ ( ty @ hAPP ) ) ) @ hBOOL ) )
      & ( ( D @ ( class @ ( ty @ ( char @ list @ hAPP ) ) ) @ ( C @ ( B @ ( A @ widen @ ( bool @ ( ty @ fun ) @ ( ty @ fun ) @ ( A @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( bool @ ( ty @ fun ) @ ( ty @ hAPP ) ) ) @ ( bool @ ( ty @ hAPP ) ) ) @ hBOOL )
       => ( ? [E: $i] :
              ( ( B @ ( A @ subcls1 @ ( bool @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( A @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( char @ list @ transitive_rtrancl @ ( bool @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( bool @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ hAPP ) ) ) @ ( D @ ( E @ ( char @ list @ ( char @ list @ product_Pair ) @ ( char @ list @ ( char @ list @ product_prod ) @ ( char @ list @ fun ) @ ( char @ list @ hAPP ) ) ) @ ( char @ list @ ( char @ list @ product_prod ) @ ( char @ list @ hAPP ) ) ) @ ( char @ list @ ( char @ list @ product_prod ) @ member @ ( bool @ ( bool @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ fun ) @ ( char @ list @ ( char @ list @ product_prod ) @ hAPP ) ) ) @ ( bool @ ( bool @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ hAPP ) ) ) @ hBOOL )
              & ( C
                = ( E @ ( class @ ( ty @ ( char @ list @ hAPP ) ) ) ) ) )
          | ( C = nt ) ) ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[114]) ).

thf(100,axiom,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i,F: $i,G: $i,H: $i] :
      ( ( E @ ( D @ ( C @ ( B @ ( A @ fAss @ ( A @ exp @ ( A @ exp @ fun ) @ ( char @ list @ fun ) @ ( char @ list @ fun ) @ ( A @ exp @ hAPP ) ) ) @ ( A @ exp @ ( A @ exp @ fun ) @ ( char @ list @ fun ) @ ( char @ list @ hAPP ) ) ) @ ( A @ exp @ ( A @ exp @ fun ) @ ( char @ list @ hAPP ) ) ) @ ( A @ exp @ ( A @ exp @ hAPP ) ) ) )
     != ( H @ ( G @ ( F @ ( A @ fAcc @ ( A @ exp @ ( char @ list @ fun ) @ ( char @ list @ fun ) @ ( A @ exp @ hAPP ) ) ) @ ( A @ exp @ ( char @ list @ fun ) @ ( char @ list @ hAPP ) ) ) @ ( A @ exp @ ( char @ list @ hAPP ) ) ) ) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',fact_224_exp_Osimps_I155_J) ).

thf(972,plain,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i,F: $i,G: $i,H: $i] :
      ( ( E @ ( D @ ( C @ ( B @ ( A @ fAss @ ( A @ exp @ ( A @ exp @ fun ) @ ( char @ list @ fun ) @ ( char @ list @ fun ) @ ( A @ exp @ hAPP ) ) ) @ ( A @ exp @ ( A @ exp @ fun ) @ ( char @ list @ fun ) @ ( char @ list @ hAPP ) ) ) @ ( A @ exp @ ( A @ exp @ fun ) @ ( char @ list @ hAPP ) ) ) @ ( A @ exp @ ( A @ exp @ hAPP ) ) ) )
     != ( H @ ( G @ ( F @ ( A @ fAcc @ ( A @ exp @ ( char @ list @ fun ) @ ( char @ list @ fun ) @ ( A @ exp @ hAPP ) ) ) @ ( A @ exp @ ( char @ list @ fun ) @ ( char @ list @ hAPP ) ) ) @ ( A @ exp @ ( char @ list @ hAPP ) ) ) ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[100]) ).

thf(3146,plain,
    $false,
    inference(e,[status(thm)],[2452,1633,1767,1729,2412,2499,1549,2250,2094,1411,1168,2295,2306,760,2131,2031,628,1031,2427,2480,666,1818,1005,683,1290,1068,2644,2062,1808,2527,2590,2282,1142,878,1971,1305,1437,1486,2363,2077,2117,1406,2104,1569,2248,873,1205,1041,861,1078,2035,2184,1164,715,814,1260,1063,1354,2360,1458,670,1756,1310,2434,2712,1919,2459,2723,2432,1441,709,1359,1386,2491,1127,1782,1055,2328,1430,1985,1760,2339,2269,2708,619,802,2682,2571,1330,1264,1832,1191,1059,1132,1922,1800,1704,1609,1641,2388,1545,2420,2169,1087,2049,2552,1741,1398,2456,1415,2616,1664,2324,2090,1373,2782,2469,2650,1418,937,1677,2777,2178,2222,1581,2335,2437,634,2190,1886,1433,1201,1975,2508,766,2523,1072,2530,2424,2371,2799,2286,1697,1242,1863,2204,678,1691,2646,1338,1915,2232,2083,798,2660,2382,2441,957,2560,2596,1174,1666,1900,1723,910,746,1091,1502,1751,1824,788,1238,2015,852,1178,1296,1027,2313,1392,1910,2653,1938,847,625,2477,2068,1624,2200,830,757,2345,1402,1234,2115,2801,1534,1804,1227,1672,2726,1719,610,2638,2245,1350,2515,2100,980,2692,2023,1182,1461,642,2613,1446,2085,1964,1942,1659,1810,2172,1612,2472,997,701,2519,2304,1539,2153,2243,2566,2756,622,837,1324,2504,2450,2125,1099,985,2487,2598,2497,721,2052,2482,1599,2697,1246,1857,1318,1814,1779,805,2043,1563,2748,674,1895,1185,662,2702,2546,1712,1846,2408,2793,773,794,1251,1146,2391,1103,1219,1273,856,1631,2235,906,965,750,1727,1510,2677,2176,2253,2275,2149,2028,1301,1595,2734,1884,1389,2525,2674,2716,1520,2695,2134,2789,843,875,826,1795,2398,1428,2326,2293,1271,1312,1733,2706,1897,704,1224,1675,2474,947,2358,2319,764,2079,900,2538,2493,1048,1492,1542,1771,616,2378,1571,2151,2229,784,2422,1806,1011,2257,1589,1969,1307,2182,1471,2610,2625,816,2267,2261,799,2410,895,1344,2542,668,631,2742,858,1557,943,2664,685,2350,1699,768,780,2139,608,2288,1496,2156,2207,1973,2506,983,2418,1396,2439,1926,2365,636,2550,1066,2620,1113,2797,1775,2752,1435,1076,1626,2107,1420,927,1684,1340,2564,968,1034,2239,1662,2096,1203,1208,2271,680,1134,648,1081,749,2629,2684,2202,1003,1961,1070,707,1566,2386,2720,1531,993,776,1748,1798,2298,1605,2588,1230,1484,2656,2569,2092,2688,791,2429,1262,1763,1130,1738,2354,1987,1716,2219,2128,1085,2322,951,808,1934,656,1702,613,1221,2279,991,2675,2056,1052,1506,978,1140,2013,2088,1966,931,1321,2194,2347,2215,2226,771,1316,1649,2310,976,1844,1216,891,2187,1189,2110,1575,1866,2775,1276,2443,1326,2174,1639,1101,652,2026,1854,2608,1822,2416,2394,1253,699,961,2594,2532,1508,2811,1629,2447,2384,2198,1607,2120,832,2315,1444,2623,2779,1045,1689,2081,1294,2462,2680,1212,1908,2123,1512,2302,1725,2534,835,818,1876,1248,867,865,1578,1957,1593,2604,2736,854,2636,1859,1363,2186,2746,2704,897,2714,1473,696,2668,955,886,1335,1693,2070,2021,1346,1352,1827,1268,2803,2265,2467,644,1357,908,1500,822,850,1299,871,607,1093,1930,839,2502,987,1829,1977,2600,1537,1597,1880,2484,2699,1367,2018,1912,2672,2640,1945,1009,1681,2074,2690,1463,1848,2059,1490,1037,1014,972]) ).

%------------------------------------------------------------------------------
%----ORIGINAL SYSTEM OUTPUT
% 0.00/0.04  % Problem  : SWW478+6 : TPTP v9.3.1. Released v5.3.0.
% 0.00/0.09  % Command  : java -Xss128m -Xmx2g -Xms1g -jar /export/starexec/sandbox2/solver/bin/leo3.jar /export/starexec/sandbox2/benchmark/theBenchmark.p -t 300 -p  --atp eprover=/export/starexec/sandbox2/solver/bin/externals/eprover --instantiate 39
% 0.12/0.40  % Computer : n005.cluster.edu
% 0.12/0.40  % Model    : x86_64 x86_64
% 0.12/0.40  % CPU      : Intel(R) Xeon(R) CPU E5-2620 v4 @ 2.10GHz
% 0.12/0.40  % Memory   : 8046.5625MB
% 0.12/0.40  % OS       : Linux 6.8.0-71-generic
% 0.12/0.40  % CPULimit : 300
% 0.12/0.40  % WCLimit  : 300
% 0.12/0.40  % DateTime : Sat Sep 26 16:08:17 UTC 2026
% 0.12/0.41  % CPUTime  : 
% 0.12/0.41  Running java -Xss128m -Xmx2g -Xms1g -jar /export/starexec/sandbox2/solver/bin/leo3.jar /export/starexec/sandbox2/benchmark/theBenchmark.p -t 300 -p  --atp eprover=/export/starexec/sandbox2/solver/bin/externals/eprover --instantiate 39
% 0.86/1.01  % [INFO] 	 Parsing problem /export/starexec/sandbox2/benchmark/theBenchmark.p ... 
% 3.18/1.77  % [INFO] 	 Parsing done (754ms). 
% 3.18/1.78  % [INFO] 	 Running in sequential loop mode. 
% 3.80/1.98  % [INFO] 	 eprover registered as external prover. 
% 3.80/1.98  % [INFO] 	 Scanning for conjecture ... 
% 6.27/2.97  % [INFO] 	 Found a conjecture (or negated_conjecture) and 604 axioms. Running axiom selection ... 
% 9.73/5.06  % [INFO] 	 Axiom selection finished. Selected 604 axioms (removed 0 axioms). 
% 18.20/11.61  % [INFO] 	 Problem is first-order (TPTP FOF). 
% 18.59/11.77  % [INFO] 	 Type checking passed. 
% 18.59/11.77  % [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 ... 
% 115.04/85.69  % External prover 'e' found a proof!
% 115.04/85.69  % [INFO] 	 Killing All external provers ... 
% 115.04/85.69  % Time passed: 85127ms (effective reasoning time: 83910ms)
% 115.04/85.69  % 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)>
% 115.38/85.70  % 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
% 115.38/85.70  % No. of inferences in proof: 1212
% 115.38/85.70  % SZS status Theorem for /export/starexec/sandbox2/benchmark/theBenchmark.p : 85127 ms resp. 83910 ms w/o parsing
% 124.54/90.40  % SZS output start Refutation for /export/starexec/sandbox2/benchmark/theBenchmark.p
% See solution above
% 124.54/90.45  % [INFO] 	 Killing All external provers ... 
%------------------------------------------------------------------------------