% TIMEFORMAT='%3R'; { time (exec 2>&1; /home/martin/bin/satallax -E /home/martin/.isabelle/contrib/e-2.5-1/x86_64-linux/eprover -p tstp -t 5 /home/martin/judgement-day/tptp-thf/tptp/TypeSafe/prob_300__5337410_1 ) ; }
% This file was generated by Isabelle (most likely Sledgehammer)
% 2020-12-16 14:20:38.731

% Could-be-implicit typings (20)
thf(ty_n_t__Set__Oset_It__Product____Type__Oprod_It__Product____Type__Oprod_It__Expr__Oexp_It__List__Olist_It__String__Ochar_J_J_Mt__Product____Type__Oprod_I_062_It__Nat__Onat_Mt__Option__Ooption_It__Product____Type__Oprod_It__List__Olist_It__String__Ochar_J_M_062_It__Product____Type__Oprod_It__List__Olist_It__String__Ochar_J_Mt__List__Olist_It__String__Ochar_J_J_Mt__Option__Ooption_It__Value__Oval_J_J_J_J_J_M_062_It__List__Olist_It__String__Ochar_J_Mt__Option__Ooption_It__Value__Oval_J_J_J_J_Mt__Product____Type__Oprod_It__Expr__Oexp_It__List__Olist_It__String__Ochar_J_J_Mt__Product____Type__Oprod_I_062_It__Nat__Onat_Mt__Option__Ooption_It__Product____Type__Oprod_It__List__Olist_It__String__Ochar_J_M_062_It__Product____Type__Oprod_It__List__Olist_It__String__Ochar_J_Mt__List__Olist_It__String__Ochar_J_J_Mt__Option__Ooption_It__Value__Oval_J_J_J_J_J_M_062_It__List__Olist_It__String__Ochar_J_Mt__Option__Ooption_It__Value__Oval_J_J_J_J_J_J, type,
    set_Pr1189492743on_val : $tType).
thf(ty_n_t__Product____Type__Oprod_It__Product____Type__Oprod_It__Expr__Oexp_It__List__Olist_It__String__Ochar_J_J_Mt__Product____Type__Oprod_I_062_It__Nat__Onat_Mt__Option__Ooption_It__Product____Type__Oprod_It__List__Olist_It__String__Ochar_J_M_062_It__Product____Type__Oprod_It__List__Olist_It__String__Ochar_J_Mt__List__Olist_It__String__Ochar_J_J_Mt__Option__Ooption_It__Value__Oval_J_J_J_J_J_M_062_It__List__Olist_It__String__Ochar_J_Mt__Option__Ooption_It__Value__Oval_J_J_J_J_Mt__Product____Type__Oprod_It__Expr__Oexp_It__List__Olist_It__String__Ochar_J_J_Mt__Product____Type__Oprod_I_062_It__Nat__Onat_Mt__Option__Ooption_It__Product____Type__Oprod_It__List__Olist_It__String__Ochar_J_M_062_It__Product____Type__Oprod_It__List__Olist_It__String__Ochar_J_Mt__List__Olist_It__String__Ochar_J_J_Mt__Option__Ooption_It__Value__Oval_J_J_J_J_J_M_062_It__List__Olist_It__String__Ochar_J_Mt__Option__Ooption_It__Value__Oval_J_J_J_J_J, type,
    produc1172664615on_val : $tType).
thf(ty_n_t__List__Olist_It__Product____Type__Oprod_It__List__Olist_It__String__Ochar_J_Mt__Product____Type__Oprod_It__List__Olist_It__String__Ochar_J_Mt__Product____Type__Oprod_It__List__Olist_It__Product____Type__Oprod_It__List__Olist_It__String__Ochar_J_Mt__Type__Oty_J_J_Mt__List__Olist_It__Product____Type__Oprod_It__List__Olist_It__String__Ochar_J_Mt__Product____Type__Oprod_It__List__Olist_It__Type__Oty_J_Mt__Product____Type__Oprod_It__Type__Oty_Mt__Product____Type__Oprod_It__List__Olist_It__List__Olist_It__String__Ochar_J_J_Mt__Expr__Oexp_It__List__Olist_It__String__Ochar_J_J_J_J_J_J_J_J_J_J_J, type,
    list_P1234162913t_char : $tType).
thf(ty_n_t__Set__Oset_It__Product____Type__Oprod_It__Expr__Oexp_It__List__Olist_It__String__Ochar_J_J_Mt__Product____Type__Oprod_I_062_It__Nat__Onat_Mt__Option__Ooption_It__Product____Type__Oprod_It__List__Olist_It__String__Ochar_J_M_062_It__Product____Type__Oprod_It__List__Olist_It__String__Ochar_J_Mt__List__Olist_It__String__Ochar_J_J_Mt__Option__Ooption_It__Value__Oval_J_J_J_J_J_M_062_It__List__Olist_It__String__Ochar_J_Mt__Option__Ooption_It__Value__Oval_J_J_J_J_J, type,
    set_Pr556513572on_val : $tType).
thf(ty_n_t__Product____Type__Oprod_It__Expr__Oexp_It__List__Olist_It__String__Ochar_J_J_Mt__Product____Type__Oprod_I_062_It__Nat__Onat_Mt__Option__Ooption_It__Product____Type__Oprod_It__List__Olist_It__String__Ochar_J_M_062_It__Product____Type__Oprod_It__List__Olist_It__String__Ochar_J_Mt__List__Olist_It__String__Ochar_J_J_Mt__Option__Ooption_It__Value__Oval_J_J_J_J_J_M_062_It__List__Olist_It__String__Ochar_J_Mt__Option__Ooption_It__Value__Oval_J_J_J_J, type,
    produc1097884484on_val : $tType).
thf(ty_n_t__Set__Oset_It__Product____Type__Oprod_I_062_It__Nat__Onat_Mt__Option__Ooption_It__Product____Type__Oprod_It__List__Olist_It__String__Ochar_J_M_062_It__Product____Type__Oprod_It__List__Olist_It__String__Ochar_J_Mt__List__Olist_It__String__Ochar_J_J_Mt__Option__Ooption_It__Value__Oval_J_J_J_J_J_M_062_It__List__Olist_It__String__Ochar_J_Mt__Option__Ooption_It__Value__Oval_J_J_J_J, type,
    set_Pr723149704on_val : $tType).
thf(ty_n_t__Product____Type__Oprod_I_062_It__Nat__Onat_Mt__Option__Ooption_It__Product____Type__Oprod_It__List__Olist_It__String__Ochar_J_M_062_It__Product____Type__Oprod_It__List__Olist_It__String__Ochar_J_Mt__List__Olist_It__String__Ochar_J_J_Mt__Option__Ooption_It__Value__Oval_J_J_J_J_J_M_062_It__List__Olist_It__String__Ochar_J_Mt__Option__Ooption_It__Value__Oval_J_J_J, type,
    produc515445032on_val : $tType).
thf(ty_n_t__Product____Type__Oprod_It__List__Olist_It__String__Ochar_J_Mt__Product____Type__Oprod_It__List__Olist_It__Type__Oty_J_Mt__Product____Type__Oprod_It__Type__Oty_Mt__Product____Type__Oprod_It__List__Olist_It__List__Olist_It__String__Ochar_J_J_Mt__Expr__Oexp_It__List__Olist_It__String__Ochar_J_J_J_J_J_J, type,
    produc1259892823t_char : $tType).
thf(ty_n_t__Option__Ooption_It__Product____Type__Oprod_It__List__Olist_It__String__Ochar_J_M_062_It__Product____Type__Oprod_It__List__Olist_It__String__Ochar_J_Mt__List__Olist_It__String__Ochar_J_J_Mt__Option__Ooption_It__Value__Oval_J_J_J_J, type,
    option2118145160on_val : $tType).
thf(ty_n_t__Set__Oset_It__Product____Type__Oprod_It__List__Olist_It__String__Ochar_J_M_062_It__Product____Type__Oprod_It__List__Olist_It__String__Ochar_J_Mt__List__Olist_It__String__Ochar_J_J_Mt__Option__Ooption_It__Value__Oval_J_J_J_J, type,
    set_Pr2075231726on_val : $tType).
thf(ty_n_t__Product____Type__Oprod_It__List__Olist_It__String__Ochar_J_M_062_It__Product____Type__Oprod_It__List__Olist_It__String__Ochar_J_Mt__List__Olist_It__String__Ochar_J_J_Mt__Option__Ooption_It__Value__Oval_J_J_J, type,
    produc266837688on_val : $tType).
thf(ty_n_t__Set__Oset_It__Product____Type__Oprod_It__List__Olist_It__String__Ochar_J_Mt__List__Olist_It__String__Ochar_J_J_J, type,
    set_Pr164112643t_char : $tType).
thf(ty_n_t__Product____Type__Oprod_It__List__Olist_It__String__Ochar_J_Mt__List__Olist_It__String__Ochar_J_J, type,
    produc1257910179t_char : $tType).
thf(ty_n_t__Expr__Oexp_It__List__Olist_It__String__Ochar_J_J, type,
    exp_list_char : $tType).
thf(ty_n_t__Option__Ooption_It__Value__Oval_J, type,
    option_val : $tType).
thf(ty_n_t__Option__Ooption_It__Type__Oty_J, type,
    option_ty : $tType).
thf(ty_n_t__List__Olist_It__String__Ochar_J, type,
    list_char : $tType).
thf(ty_n_t__Value__Oval, type,
    val : $tType).
thf(ty_n_t__Type__Oty, type,
    ty : $tType).
thf(ty_n_t__Nat__Onat, type,
    nat : $tType).

% Explicit typings (56)
thf(sy_c_Conform_Oconf_001t__Product____Type__Oprod_It__List__Olist_It__List__Olist_It__String__Ochar_J_J_Mt__Expr__Oexp_It__List__Olist_It__String__Ochar_J_J_J, type,
    conf_P93989998t_char : list_P1234162913t_char > (nat > option2118145160on_val) > val > ty > $o).
thf(sy_c_Conform_Ohconf_001t__Product____Type__Oprod_It__List__Olist_It__List__Olist_It__String__Ochar_J_J_Mt__Expr__Oexp_It__List__Olist_It__String__Ochar_J_J_J, type,
    hconf_1244167010t_char : list_P1234162913t_char > (nat > option2118145160on_val) > $o).
thf(sy_c_Conform_Olconf_001t__Product____Type__Oprod_It__List__Olist_It__List__Olist_It__String__Ochar_J_J_Mt__Expr__Oexp_It__List__Olist_It__String__Ochar_J_J_J, type,
    lconf_485928294t_char : list_P1234162913t_char > (nat > option2118145160on_val) > (list_char > option_val) > (list_char > option_ty) > $o).
thf(sy_c_Conform_Ooconf_001t__Product____Type__Oprod_It__List__Olist_It__List__Olist_It__String__Ochar_J_J_Mt__Expr__Oexp_It__List__Olist_It__String__Ochar_J_J_J, type,
    oconf_454120169t_char : list_P1234162913t_char > (nat > option2118145160on_val) > produc266837688on_val > $o).
thf(sy_c_Exceptions_Opreallocated, type,
    preallocated : (nat > option2118145160on_val) > $o).
thf(sy_c_Expr_Oexp_OCond_001t__List__Olist_It__String__Ochar_J, type,
    cond_list_char : exp_list_char > exp_list_char > exp_list_char > exp_list_char).
thf(sy_c_Expr_Oexp_OFAcc_001t__List__Olist_It__String__Ochar_J, type,
    fAcc_list_char : exp_list_char > list_char > list_char > exp_list_char).
thf(sy_c_Expr_Oexp_OVal_001t__List__Olist_It__String__Ochar_J, type,
    val_list_char : val > exp_list_char).
thf(sy_c_Expr_Oexp_OVar_001t__List__Olist_It__String__Ochar_J, type,
    var_list_char : list_char > exp_list_char).
thf(sy_c_Fun_Ofun__upd_001t__List__Olist_It__String__Ochar_J_001t__Option__Ooption_It__Type__Oty_J, type,
    fun_up9191ion_ty : (list_char > option_ty) > list_char > option_ty > list_char > option_ty).
thf(sy_c_Fun_Ofun__upd_001t__List__Olist_It__String__Ochar_J_001t__Option__Ooption_It__Value__Oval_J, type,
    fun_up1252458416on_val : (list_char > option_val) > list_char > option_val > list_char > option_val).
thf(sy_c_Fun_Ofun__upd_001t__Nat__Onat_001t__Option__Ooption_It__Product____Type__Oprod_It__List__Olist_It__String__Ochar_J_M_062_It__Product____Type__Oprod_It__List__Olist_It__String__Ochar_J_Mt__List__Olist_It__String__Ochar_J_J_Mt__Option__Ooption_It__Value__Oval_J_J_J_J, type,
    fun_up262443479on_val : (nat > option2118145160on_val) > nat > option2118145160on_val > nat > option2118145160on_val).
thf(sy_c_If_001t__Option__Ooption_It__Product____Type__Oprod_It__List__Olist_It__String__Ochar_J_M_062_It__Product____Type__Oprod_It__List__Olist_It__String__Ochar_J_Mt__List__Olist_It__String__Ochar_J_J_Mt__Option__Ooption_It__Value__Oval_J_J_J_J, type,
    if_opt451925058on_val : $o > option2118145160on_val > option2118145160on_val > option2118145160on_val).
thf(sy_c_JWellForm_Owf__J__mdecl, type,
    wf_J_mdecl : list_P1234162913t_char > list_char > produc1259892823t_char > $o).
thf(sy_c_Map_Omap__add_001t__List__Olist_It__String__Ochar_J_001t__Value__Oval, type,
    map_ad1615113112ar_val : (list_char > option_val) > (list_char > option_val) > list_char > option_val).
thf(sy_c_Map_Omap__add_001t__Nat__Onat_001t__Product____Type__Oprod_It__List__Olist_It__String__Ochar_J_M_062_It__Product____Type__Oprod_It__List__Olist_It__String__Ochar_J_Mt__List__Olist_It__String__Ochar_J_J_Mt__Option__Ooption_It__Value__Oval_J_J_J, type,
    map_ad109059391on_val : (nat > option2118145160on_val) > (nat > option2118145160on_val) > nat > option2118145160on_val).
thf(sy_c_Map_Omap__le_001t__List__Olist_It__String__Ochar_J_001t__Type__Oty, type,
    map_le_list_char_ty : (list_char > option_ty) > (list_char > option_ty) > $o).
thf(sy_c_Map_Omap__le_001t__Nat__Onat_001t__Product____Type__Oprod_It__List__Olist_It__String__Ochar_J_M_062_It__Product____Type__Oprod_It__List__Olist_It__String__Ochar_J_Mt__List__Olist_It__String__Ochar_J_J_Mt__Option__Ooption_It__Value__Oval_J_J_J, type,
    map_le931214383on_val : (nat > option2118145160on_val) > (nat > option2118145160on_val) > $o).
thf(sy_c_Objects_Ohext, type,
    hext : (nat > option2118145160on_val) > (nat > option2118145160on_val) > $o).
thf(sy_c_Objects_Otypeof__h, type,
    typeof_h : (nat > option2118145160on_val) > val > option_ty).
thf(sy_c_Option_Ooption_ONone_001t__Product____Type__Oprod_It__List__Olist_It__String__Ochar_J_M_062_It__Product____Type__Oprod_It__List__Olist_It__String__Ochar_J_Mt__List__Olist_It__String__Ochar_J_J_Mt__Option__Ooption_It__Value__Oval_J_J_J, type,
    none_P1535574167on_val : option2118145160on_val).
thf(sy_c_Option_Ooption_ONone_001t__Type__Oty, type,
    none_ty : option_ty).
thf(sy_c_Option_Ooption_ONone_001t__Value__Oval, type,
    none_val : option_val).
thf(sy_c_Option_Ooption_OSome_001t__Product____Type__Oprod_It__List__Olist_It__String__Ochar_J_M_062_It__Product____Type__Oprod_It__List__Olist_It__String__Ochar_J_Mt__List__Olist_It__String__Ochar_J_J_Mt__Option__Ooption_It__Value__Oval_J_J_J, type,
    some_P1299442195on_val : produc266837688on_val > option2118145160on_val).
thf(sy_c_Option_Ooption_OSome_001t__Type__Oty, type,
    some_ty : ty > option_ty).
thf(sy_c_Option_Ooption_OSome_001t__Value__Oval, type,
    some_val : val > option_val).
thf(sy_c_Product__Type_OPair_001_062_It__Nat__Onat_Mt__Option__Ooption_It__Product____Type__Oprod_It__List__Olist_It__String__Ochar_J_M_062_It__Product____Type__Oprod_It__List__Olist_It__String__Ochar_J_Mt__List__Olist_It__String__Ochar_J_J_Mt__Option__Ooption_It__Value__Oval_J_J_J_J_J_001_062_It__List__Olist_It__String__Ochar_J_Mt__Option__Ooption_It__Value__Oval_J_J, type,
    produc52622304on_val : (nat > option2118145160on_val) > (list_char > option_val) > produc515445032on_val).
thf(sy_c_Product__Type_OPair_001t__Expr__Oexp_It__List__Olist_It__String__Ochar_J_J_001t__Product____Type__Oprod_I_062_It__Nat__Onat_Mt__Option__Ooption_It__Product____Type__Oprod_It__List__Olist_It__String__Ochar_J_M_062_It__Product____Type__Oprod_It__List__Olist_It__String__Ochar_J_Mt__List__Olist_It__String__Ochar_J_J_Mt__Option__Ooption_It__Value__Oval_J_J_J_J_J_M_062_It__List__Olist_It__String__Ochar_J_Mt__Option__Ooption_It__Value__Oval_J_J_J, type,
    produc2023458740on_val : exp_list_char > produc515445032on_val > produc1097884484on_val).
thf(sy_c_Product__Type_OPair_001t__List__Olist_It__String__Ochar_J_001_062_It__Product____Type__Oprod_It__List__Olist_It__String__Ochar_J_Mt__List__Olist_It__String__Ochar_J_J_Mt__Option__Ooption_It__Value__Oval_J_J, type,
    produc904988266on_val : list_char > (produc1257910179t_char > option_val) > produc266837688on_val).
thf(sy_c_Product__Type_OPair_001t__List__Olist_It__String__Ochar_J_001t__List__Olist_It__String__Ochar_J, type,
    produc1304532571t_char : list_char > list_char > produc1257910179t_char).
thf(sy_c_Product__Type_OPair_001t__Product____Type__Oprod_It__Expr__Oexp_It__List__Olist_It__String__Ochar_J_J_Mt__Product____Type__Oprod_I_062_It__Nat__Onat_Mt__Option__Ooption_It__Product____Type__Oprod_It__List__Olist_It__String__Ochar_J_M_062_It__Product____Type__Oprod_It__List__Olist_It__String__Ochar_J_Mt__List__Olist_It__String__Ochar_J_J_Mt__Option__Ooption_It__Value__Oval_J_J_J_J_J_M_062_It__List__Olist_It__String__Ochar_J_Mt__Option__Ooption_It__Value__Oval_J_J_J_J_001t__Product____Type__Oprod_It__Expr__Oexp_It__List__Olist_It__String__Ochar_J_J_Mt__Product____Type__Oprod_I_062_It__Nat__Onat_Mt__Option__Ooption_It__Product____Type__Oprod_It__List__Olist_It__String__Ochar_J_M_062_It__Product____Type__Oprod_It__List__Olist_It__String__Ochar_J_Mt__List__Olist_It__String__Ochar_J_J_Mt__Option__Ooption_It__Value__Oval_J_J_J_J_J_M_062_It__List__Olist_It__String__Ochar_J_Mt__Option__Ooption_It__Value__Oval_J_J_J_J, type,
    produc1069526295on_val : produc1097884484on_val > produc1097884484on_val > produc1172664615on_val).
thf(sy_c_Set_OCollect_001t__Product____Type__Oprod_It__Product____Type__Oprod_It__Expr__Oexp_It__List__Olist_It__String__Ochar_J_J_Mt__Product____Type__Oprod_I_062_It__Nat__Onat_Mt__Option__Ooption_It__Product____Type__Oprod_It__List__Olist_It__String__Ochar_J_M_062_It__Product____Type__Oprod_It__List__Olist_It__String__Ochar_J_Mt__List__Olist_It__String__Ochar_J_J_Mt__Option__Ooption_It__Value__Oval_J_J_J_J_J_M_062_It__List__Olist_It__String__Ochar_J_Mt__Option__Ooption_It__Value__Oval_J_J_J_J_Mt__Product____Type__Oprod_It__Expr__Oexp_It__List__Olist_It__String__Ochar_J_J_Mt__Product____Type__Oprod_I_062_It__Nat__Onat_Mt__Option__Ooption_It__Product____Type__Oprod_It__List__Olist_It__String__Ochar_J_M_062_It__Product____Type__Oprod_It__List__Olist_It__String__Ochar_J_Mt__List__Olist_It__String__Ochar_J_J_Mt__Option__Ooption_It__Value__Oval_J_J_J_J_J_M_062_It__List__Olist_It__String__Ochar_J_Mt__Option__Ooption_It__Value__Oval_J_J_J_J_J, type,
    collec2055896722on_val : (produc1172664615on_val > $o) > set_Pr1189492743on_val).
thf(sy_c_SmallStep_Ored, type,
    red : list_P1234162913t_char > set_Pr1189492743on_val).
thf(sy_c_SmallStep_Oredp, type,
    redp : list_P1234162913t_char > exp_list_char > produc515445032on_val > exp_list_char > produc515445032on_val > $o).
thf(sy_c_State_Ohp, type,
    hp : produc515445032on_val > nat > option2118145160on_val).
thf(sy_c_State_Olcl, type,
    lcl : produc515445032on_val > list_char > option_val).
thf(sy_c_TypeRel_Owiden_001t__Product____Type__Oprod_It__List__Olist_It__List__Olist_It__String__Ochar_J_J_Mt__Expr__Oexp_It__List__Olist_It__String__Ochar_J_J_J, type,
    widen_917054840t_char : list_P1234162913t_char > ty > ty > $o).
thf(sy_c_TypeSafe__Mirabelle__osrwgqrerx_Osconf, type,
    typeSa1777264139_sconf : list_P1234162913t_char > (list_char > option_ty) > produc515445032on_val > $o).
thf(sy_c_Type_Oty_OBoolean, type,
    boolean : ty).
thf(sy_c_Value_Odefault__val, type,
    default_val : ty > val).
thf(sy_c_Value_Oval_OAddr, type,
    addr : nat > val).
thf(sy_c_Value_Oval_OBool, type,
    bool : $o > val).
thf(sy_c_WellForm_Owf__prog_001t__Product____Type__Oprod_It__List__Olist_It__List__Olist_It__String__Ochar_J_J_Mt__Expr__Oexp_It__List__Olist_It__String__Ochar_J_J_J, type,
    wf_pro1229751607t_char : (list_P1234162913t_char > list_char > produc1259892823t_char > $o) > list_P1234162913t_char > $o).
thf(sy_c_WellTypeRT_OWTrt, type,
    wTrt : list_P1234162913t_char > (nat > option2118145160on_val) > (list_char > option_ty) > exp_list_char > ty > $o).
thf(sy_c_member_001t__Product____Type__Oprod_I_062_It__Nat__Onat_Mt__Option__Ooption_It__Product____Type__Oprod_It__List__Olist_It__String__Ochar_J_M_062_It__Product____Type__Oprod_It__List__Olist_It__String__Ochar_J_Mt__List__Olist_It__String__Ochar_J_J_Mt__Option__Ooption_It__Value__Oval_J_J_J_J_J_M_062_It__List__Olist_It__String__Ochar_J_Mt__Option__Ooption_It__Value__Oval_J_J_J, type,
    member652041809on_val : produc515445032on_val > set_Pr723149704on_val > $o).
thf(sy_c_member_001t__Product____Type__Oprod_It__Expr__Oexp_It__List__Olist_It__String__Ochar_J_J_Mt__Product____Type__Oprod_I_062_It__Nat__Onat_Mt__Option__Ooption_It__Product____Type__Oprod_It__List__Olist_It__String__Ochar_J_M_062_It__Product____Type__Oprod_It__List__Olist_It__String__Ochar_J_Mt__List__Olist_It__String__Ochar_J_J_Mt__Option__Ooption_It__Value__Oval_J_J_J_J_J_M_062_It__List__Olist_It__String__Ochar_J_Mt__Option__Ooption_It__Value__Oval_J_J_J_J, type,
    member1888679917on_val : produc1097884484on_val > set_Pr556513572on_val > $o).
thf(sy_c_member_001t__Product____Type__Oprod_It__List__Olist_It__String__Ochar_J_M_062_It__Product____Type__Oprod_It__List__Olist_It__String__Ochar_J_Mt__List__Olist_It__String__Ochar_J_J_Mt__Option__Ooption_It__Value__Oval_J_J_J, type,
    member1296415951on_val : produc266837688on_val > set_Pr2075231726on_val > $o).
thf(sy_c_member_001t__Product____Type__Oprod_It__List__Olist_It__String__Ochar_J_Mt__List__Olist_It__String__Ochar_J_J, type,
    member89690956t_char : produc1257910179t_char > set_Pr164112643t_char > $o).
thf(sy_c_member_001t__Product____Type__Oprod_It__Product____Type__Oprod_It__Expr__Oexp_It__List__Olist_It__String__Ochar_J_J_Mt__Product____Type__Oprod_I_062_It__Nat__Onat_Mt__Option__Ooption_It__Product____Type__Oprod_It__List__Olist_It__String__Ochar_J_M_062_It__Product____Type__Oprod_It__List__Olist_It__String__Ochar_J_Mt__List__Olist_It__String__Ochar_J_J_Mt__Option__Ooption_It__Value__Oval_J_J_J_J_J_M_062_It__List__Olist_It__String__Ochar_J_Mt__Option__Ooption_It__Value__Oval_J_J_J_J_Mt__Product____Type__Oprod_It__Expr__Oexp_It__List__Olist_It__String__Ochar_J_J_Mt__Product____Type__Oprod_I_062_It__Nat__Onat_Mt__Option__Ooption_It__Product____Type__Oprod_It__List__Olist_It__String__Ochar_J_M_062_It__Product____Type__Oprod_It__List__Olist_It__String__Ochar_J_Mt__List__Olist_It__String__Ochar_J_J_Mt__Option__Ooption_It__Value__Oval_J_J_J_J_J_M_062_It__List__Olist_It__String__Ochar_J_Mt__Option__Ooption_It__Value__Oval_J_J_J_J_J, type,
    member354538064on_val : produc1172664615on_val > set_Pr1189492743on_val > $o).
thf(sy_v_E____, type,
    e : list_char > option_ty).
thf(sy_v_P, type,
    p : list_P1234162913t_char).
thf(sy_v_T____, type,
    t : ty).
thf(sy_v_V______, type,
    v : list_char).
thf(sy_v_a______, type,
    a : nat > option2118145160on_val).
thf(sy_v_b______, type,
    b : list_char > option_val).
thf(sy_v_v______, type,
    v2 : val).

% Relevant facts (183)
thf(fact_0_RedVar_Oprems_I1_J, axiom,
    ((typeSa1777264139_sconf @ p @ e @ (produc52622304on_val @ a @ b)))). % RedVar.prems(1)
thf(fact_1_RedVar_Ohyps, axiom,
    (((lcl @ (produc52622304on_val @ a @ b) @ v) = (some_val @ v2)))). % RedVar.hyps
thf(fact_2_RedVar_Oprems_I2_J, axiom,
    ((wTrt @ p @ a @ e @ (var_list_char @ v) @ t))). % RedVar.prems(2)
thf(fact_3_local_Owf, axiom,
    ((wf_pro1229751607t_char @ wf_J_mdecl @ p))). % local.wf
thf(fact_4_exp_Oinject_I3_J, axiom,
    ((![X3 : val, Y3 : val]: (((val_list_char @ X3) = (val_list_char @ Y3)) = (X3 = Y3))))). % exp.inject(3)
thf(fact_5_widen__trans, axiom,
    ((![P : list_P1234162913t_char, S : ty, U : ty, T : ty]: ((widen_917054840t_char @ P @ S @ U) => ((widen_917054840t_char @ P @ U @ T) => (widen_917054840t_char @ P @ S @ T)))))). % widen_trans
thf(fact_6_widen__refl, axiom,
    ((![P : list_P1234162913t_char, T : ty]: (widen_917054840t_char @ P @ T @ T)))). % widen_refl
thf(fact_7_exp_Odistinct_I57_J, axiom,
    ((![X3 : val, X5 : list_char]: (~ (((val_list_char @ X3) = (var_list_char @ X5))))))). % exp.distinct(57)
thf(fact_8_WTrt__elim__cases_I2_J, axiom,
    ((![P : list_P1234162913t_char, H : nat > option2118145160on_val, E : list_char > option_ty, E2 : exp_list_char, E_1 : exp_list_char, E_2 : exp_list_char, T : ty]: ((wTrt @ P @ H @ E @ (cond_list_char @ E2 @ E_1 @ E_2) @ T) => (~ (((wTrt @ P @ H @ E @ E2 @ boolean) => (![T_1 : ty]: ((wTrt @ P @ H @ E @ E_1 @ T_1) => (![T_2 : ty]: ((wTrt @ P @ H @ E @ E_2 @ T_2) => (((widen_917054840t_char @ P @ T_1 @ T_2) | (widen_917054840t_char @ P @ T_2 @ T_1)) => (((widen_917054840t_char @ P @ T_1 @ T_2) => (T = T_2)) => (~ (((widen_917054840t_char @ P @ T_2 @ T_1) => (T = T_1))))))))))))))))). % WTrt_elim_cases(2)
thf(fact_9_WTrtCond, axiom,
    ((![P : list_P1234162913t_char, H : nat > option2118145160on_val, E : list_char > option_ty, E2 : exp_list_char, E_1 : exp_list_char, T_12 : ty, E_2 : exp_list_char, T_22 : ty, T : ty]: ((wTrt @ P @ H @ E @ E2 @ boolean) => ((wTrt @ P @ H @ E @ E_1 @ T_12) => ((wTrt @ P @ H @ E @ E_2 @ T_22) => (((widen_917054840t_char @ P @ T_12 @ T_22) | (widen_917054840t_char @ P @ T_22 @ T_12)) => (((widen_917054840t_char @ P @ T_12 @ T_22) => (T = T_22)) => (((widen_917054840t_char @ P @ T_22 @ T_12) => (T = T_12)) => (wTrt @ P @ H @ E @ (cond_list_char @ E2 @ E_1 @ E_2) @ T)))))))))). % WTrtCond
thf(fact_10_WTrt__hext__mono, axiom,
    ((![P : list_P1234162913t_char, H : nat > option2118145160on_val, E : list_char > option_ty, E2 : exp_list_char, T : ty, H2 : nat > option2118145160on_val]: ((wTrt @ P @ H @ E @ E2 @ T) => ((hext @ H @ H2) => (wTrt @ P @ H2 @ E @ E2 @ T)))))). % WTrt_hext_mono
thf(fact_11_WTrtVal, axiom,
    ((![H : nat > option2118145160on_val, V : val, T : ty, P : list_P1234162913t_char, E : list_char > option_ty]: (((typeof_h @ H @ V) = (some_ty @ T)) => (wTrt @ P @ H @ E @ (val_list_char @ V) @ T))))). % WTrtVal
thf(fact_12_WTrt__env__mono, axiom,
    ((![P : list_P1234162913t_char, H : nat > option2118145160on_val, E : list_char > option_ty, E2 : exp_list_char, T : ty, E3 : list_char > option_ty]: ((wTrt @ P @ H @ E @ E2 @ T) => ((map_le_list_char_ty @ E @ E3) => (wTrt @ P @ H @ E3 @ E2 @ T)))))). % WTrt_env_mono
thf(fact_13_conf__widen, axiom,
    ((![P : list_P1234162913t_char, H : nat > option2118145160on_val, V : val, T : ty, T2 : ty]: ((conf_P93989998t_char @ P @ H @ V @ T) => ((widen_917054840t_char @ P @ T @ T2) => (conf_P93989998t_char @ P @ H @ V @ T2)))))). % conf_widen
thf(fact_14_exp_Oinject_I12_J, axiom,
    ((![X121 : exp_list_char, X122 : exp_list_char, X123 : exp_list_char, Y121 : exp_list_char, Y122 : exp_list_char, Y123 : exp_list_char]: (((cond_list_char @ X121 @ X122 @ X123) = (cond_list_char @ Y121 @ Y122 @ Y123)) = (((X121 = Y121)) & ((((X122 = Y122)) & ((X123 = Y123))))))))). % exp.inject(12)
thf(fact_15_exp_Oinject_I5_J, axiom,
    ((![X5 : list_char, Y5 : list_char]: (((var_list_char @ X5) = (var_list_char @ Y5)) = (X5 = Y5))))). % exp.inject(5)
thf(fact_16_exp_Odistinct_I113_J, axiom,
    ((![X5 : list_char, X121 : exp_list_char, X122 : exp_list_char, X123 : exp_list_char]: (~ (((var_list_char @ X5) = (cond_list_char @ X121 @ X122 @ X123))))))). % exp.distinct(113)
thf(fact_17_conf__def, axiom,
    ((conf_P93989998t_char = (^[P2 : list_P1234162913t_char]: (^[H3 : nat > option2118145160on_val]: (^[V2 : val]: (^[T3 : ty]: (?[T4 : ty]: ((((typeof_h @ H3 @ V2) = (some_ty @ T4))) & ((widen_917054840t_char @ P2 @ T4 @ T3))))))))))). % conf_def
thf(fact_18_WTrtVar, axiom,
    ((![E : list_char > option_ty, V3 : list_char, T : ty, P : list_P1234162913t_char, H : nat > option2118145160on_val]: (((E @ V3) = (some_ty @ T)) => (wTrt @ P @ H @ E @ (var_list_char @ V3) @ T))))). % WTrtVar
thf(fact_19_exp_Odistinct_I71_J, axiom,
    ((![X3 : val, X121 : exp_list_char, X122 : exp_list_char, X123 : exp_list_char]: (~ (((val_list_char @ X3) = (cond_list_char @ X121 @ X122 @ X123))))))). % exp.distinct(71)
thf(fact_20_hext__typeof__mono, axiom,
    ((![H : nat > option2118145160on_val, H2 : nat > option2118145160on_val, V : val, T : ty]: ((hext @ H @ H2) => (((typeof_h @ H @ V) = (some_ty @ T)) => ((typeof_h @ H2 @ V) = (some_ty @ T))))))). % hext_typeof_mono
thf(fact_21_hext__refl, axiom,
    ((![H : nat > option2118145160on_val]: (hext @ H @ H)))). % hext_refl
thf(fact_22_option_Oinject, axiom,
    ((![X2 : val, Y2 : val]: (((some_val @ X2) = (some_val @ Y2)) = (X2 = Y2))))). % option.inject
thf(fact_23_option_Oinject, axiom,
    ((![X2 : ty, Y2 : ty]: (((some_ty @ X2) = (some_ty @ Y2)) = (X2 = Y2))))). % option.inject
thf(fact_24_option_Oinject, axiom,
    ((![X2 : produc266837688on_val, Y2 : produc266837688on_val]: (((some_P1299442195on_val @ X2) = (some_P1299442195on_val @ Y2)) = (X2 = Y2))))). % option.inject
thf(fact_25_prod_Oinject, axiom,
    ((![X1 : nat > option2118145160on_val, X2 : list_char > option_val, Y1 : nat > option2118145160on_val, Y2 : list_char > option_val]: (((produc52622304on_val @ X1 @ X2) = (produc52622304on_val @ Y1 @ Y2)) = (((X1 = Y1)) & ((X2 = Y2))))))). % prod.inject
thf(fact_26_prod_Oinject, axiom,
    ((![X1 : list_char, X2 : produc1257910179t_char > option_val, Y1 : list_char, Y2 : produc1257910179t_char > option_val]: (((produc904988266on_val @ X1 @ X2) = (produc904988266on_val @ Y1 @ Y2)) = (((X1 = Y1)) & ((X2 = Y2))))))). % prod.inject
thf(fact_27_prod_Oinject, axiom,
    ((![X1 : produc1097884484on_val, X2 : produc1097884484on_val, Y1 : produc1097884484on_val, Y2 : produc1097884484on_val]: (((produc1069526295on_val @ X1 @ X2) = (produc1069526295on_val @ Y1 @ Y2)) = (((X1 = Y1)) & ((X2 = Y2))))))). % prod.inject
thf(fact_28_prod_Oinject, axiom,
    ((![X1 : exp_list_char, X2 : produc515445032on_val, Y1 : exp_list_char, Y2 : produc515445032on_val]: (((produc2023458740on_val @ X1 @ X2) = (produc2023458740on_val @ Y1 @ Y2)) = (((X1 = Y1)) & ((X2 = Y2))))))). % prod.inject
thf(fact_29_prod_Oinject, axiom,
    ((![X1 : list_char, X2 : list_char, Y1 : list_char, Y2 : list_char]: (((produc1304532571t_char @ X1 @ X2) = (produc1304532571t_char @ Y1 @ Y2)) = (((X1 = Y1)) & ((X2 = Y2))))))). % prod.inject
thf(fact_30_old_Oprod_Oinject, axiom,
    ((![A : nat > option2118145160on_val, B : list_char > option_val, A2 : nat > option2118145160on_val, B2 : list_char > option_val]: (((produc52622304on_val @ A @ B) = (produc52622304on_val @ A2 @ B2)) = (((A = A2)) & ((B = B2))))))). % old.prod.inject
thf(fact_31_old_Oprod_Oinject, axiom,
    ((![A : list_char, B : produc1257910179t_char > option_val, A2 : list_char, B2 : produc1257910179t_char > option_val]: (((produc904988266on_val @ A @ B) = (produc904988266on_val @ A2 @ B2)) = (((A = A2)) & ((B = B2))))))). % old.prod.inject
thf(fact_32_old_Oprod_Oinject, axiom,
    ((![A : produc1097884484on_val, B : produc1097884484on_val, A2 : produc1097884484on_val, B2 : produc1097884484on_val]: (((produc1069526295on_val @ A @ B) = (produc1069526295on_val @ A2 @ B2)) = (((A = A2)) & ((B = B2))))))). % old.prod.inject
thf(fact_33_old_Oprod_Oinject, axiom,
    ((![A : exp_list_char, B : produc515445032on_val, A2 : exp_list_char, B2 : produc515445032on_val]: (((produc2023458740on_val @ A @ B) = (produc2023458740on_val @ A2 @ B2)) = (((A = A2)) & ((B = B2))))))). % old.prod.inject
thf(fact_34_old_Oprod_Oinject, axiom,
    ((![A : list_char, B : list_char, A2 : list_char, B2 : list_char]: (((produc1304532571t_char @ A @ B) = (produc1304532571t_char @ A2 @ B2)) = (((A = A2)) & ((B = B2))))))). % old.prod.inject
thf(fact_35_lconf__def, axiom,
    ((lconf_485928294t_char = (^[P2 : list_P1234162913t_char]: (^[H3 : nat > option2118145160on_val]: (^[L : list_char > option_val]: (^[E4 : list_char > option_ty]: (![V4 : list_char]: (![V2 : val]: ((((L @ V4) = (some_val @ V2))) => ((?[T3 : ty]: ((((E4 @ V4) = (some_ty @ T3))) & ((conf_P93989998t_char @ P2 @ H3 @ V2 @ T3))))))))))))))). % lconf_def
thf(fact_36_pred__equals__eq2, axiom,
    ((![R : set_Pr723149704on_val, S : set_Pr723149704on_val]: (((^[X : nat > option2118145160on_val]: (^[Y : list_char > option_val]: (member652041809on_val @ (produc52622304on_val @ X @ Y) @ R))) = (^[X : nat > option2118145160on_val]: (^[Y : list_char > option_val]: (member652041809on_val @ (produc52622304on_val @ X @ Y) @ S)))) = (R = S))))). % pred_equals_eq2
thf(fact_37_pred__equals__eq2, axiom,
    ((![R : set_Pr2075231726on_val, S : set_Pr2075231726on_val]: (((^[X : list_char]: (^[Y : produc1257910179t_char > option_val]: (member1296415951on_val @ (produc904988266on_val @ X @ Y) @ R))) = (^[X : list_char]: (^[Y : produc1257910179t_char > option_val]: (member1296415951on_val @ (produc904988266on_val @ X @ Y) @ S)))) = (R = S))))). % pred_equals_eq2
thf(fact_38_pred__equals__eq2, axiom,
    ((![R : set_Pr1189492743on_val, S : set_Pr1189492743on_val]: (((^[X : produc1097884484on_val]: (^[Y : produc1097884484on_val]: (member354538064on_val @ (produc1069526295on_val @ X @ Y) @ R))) = (^[X : produc1097884484on_val]: (^[Y : produc1097884484on_val]: (member354538064on_val @ (produc1069526295on_val @ X @ Y) @ S)))) = (R = S))))). % pred_equals_eq2
thf(fact_39_pred__equals__eq2, axiom,
    ((![R : set_Pr556513572on_val, S : set_Pr556513572on_val]: (((^[X : exp_list_char]: (^[Y : produc515445032on_val]: (member1888679917on_val @ (produc2023458740on_val @ X @ Y) @ R))) = (^[X : exp_list_char]: (^[Y : produc515445032on_val]: (member1888679917on_val @ (produc2023458740on_val @ X @ Y) @ S)))) = (R = S))))). % pred_equals_eq2
thf(fact_40_pred__equals__eq2, axiom,
    ((![R : set_Pr164112643t_char, S : set_Pr164112643t_char]: (((^[X : list_char]: (^[Y : list_char]: (member89690956t_char @ (produc1304532571t_char @ X @ Y) @ R))) = (^[X : list_char]: (^[Y : list_char]: (member89690956t_char @ (produc1304532571t_char @ X @ Y) @ S)))) = (R = S))))). % pred_equals_eq2
thf(fact_41_hext__trans, axiom,
    ((![H : nat > option2118145160on_val, H2 : nat > option2118145160on_val, H4 : nat > option2118145160on_val]: ((hext @ H @ H2) => ((hext @ H2 @ H4) => (hext @ H @ H4)))))). % hext_trans
thf(fact_42_map__le__refl, axiom,
    ((![F : list_char > option_ty]: (map_le_list_char_ty @ F @ F)))). % map_le_refl
thf(fact_43_map__le__trans, axiom,
    ((![M1 : list_char > option_ty, M2 : list_char > option_ty, M3 : list_char > option_ty]: ((map_le_list_char_ty @ M1 @ M2) => ((map_le_list_char_ty @ M2 @ M3) => (map_le_list_char_ty @ M1 @ M3)))))). % map_le_trans
thf(fact_44_hextI, axiom,
    ((![H : nat > option2118145160on_val, H2 : nat > option2118145160on_val]: ((![A3 : nat, C : list_char, Fs : produc1257910179t_char > option_val]: (((H @ A3) = (some_P1299442195on_val @ (produc904988266on_val @ C @ Fs))) => (?[Fs2 : produc1257910179t_char > option_val]: ((H2 @ A3) = (some_P1299442195on_val @ (produc904988266on_val @ C @ Fs2)))))) => (hext @ H @ H2))))). % hextI
thf(fact_45_hext__def, axiom,
    ((hext = (^[H3 : nat > option2118145160on_val]: (^[H5 : nat > option2118145160on_val]: (![A4 : nat]: (![C2 : list_char]: (![Fs3 : produc1257910179t_char > option_val]: ((((H3 @ A4) = (some_P1299442195on_val @ (produc904988266on_val @ C2 @ Fs3)))) => ((?[Fs4 : produc1257910179t_char > option_val]: ((H5 @ A4) = (some_P1299442195on_val @ (produc904988266on_val @ C2 @ Fs4)))))))))))))). % hext_def
thf(fact_46_hext__objD, axiom,
    ((![H : nat > option2118145160on_val, H2 : nat > option2118145160on_val, A : nat, C3 : list_char, Fs5 : produc1257910179t_char > option_val]: ((hext @ H @ H2) => (((H @ A) = (some_P1299442195on_val @ (produc904988266on_val @ C3 @ Fs5))) => (?[Fs6 : produc1257910179t_char > option_val]: ((H2 @ A) = (some_P1299442195on_val @ (produc904988266on_val @ C3 @ Fs6))))))))). % hext_objD
thf(fact_47_lconf__hext, axiom,
    ((![P : list_P1234162913t_char, H : nat > option2118145160on_val, L2 : list_char > option_val, E : list_char > option_ty, H2 : nat > option2118145160on_val]: ((lconf_485928294t_char @ P @ H @ L2 @ E) => ((hext @ H @ H2) => (lconf_485928294t_char @ P @ H2 @ L2 @ E)))))). % lconf_hext
thf(fact_48_old_Oprod_Oinducts, axiom,
    ((![P : produc515445032on_val > $o, Prod : produc515445032on_val]: ((![A3 : nat > option2118145160on_val, B3 : list_char > option_val]: (P @ (produc52622304on_val @ A3 @ B3))) => (P @ Prod))))). % old.prod.inducts
thf(fact_49_old_Oprod_Oinducts, axiom,
    ((![P : produc266837688on_val > $o, Prod : produc266837688on_val]: ((![A3 : list_char, B3 : produc1257910179t_char > option_val]: (P @ (produc904988266on_val @ A3 @ B3))) => (P @ Prod))))). % old.prod.inducts
thf(fact_50_old_Oprod_Oinducts, axiom,
    ((![P : produc1172664615on_val > $o, Prod : produc1172664615on_val]: ((![A3 : produc1097884484on_val, B3 : produc1097884484on_val]: (P @ (produc1069526295on_val @ A3 @ B3))) => (P @ Prod))))). % old.prod.inducts
thf(fact_51_old_Oprod_Oinducts, axiom,
    ((![P : produc1097884484on_val > $o, Prod : produc1097884484on_val]: ((![A3 : exp_list_char, B3 : produc515445032on_val]: (P @ (produc2023458740on_val @ A3 @ B3))) => (P @ Prod))))). % old.prod.inducts
thf(fact_52_old_Oprod_Oinducts, axiom,
    ((![P : produc1257910179t_char > $o, Prod : produc1257910179t_char]: ((![A3 : list_char, B3 : list_char]: (P @ (produc1304532571t_char @ A3 @ B3))) => (P @ Prod))))). % old.prod.inducts
thf(fact_53_old_Oprod_Oexhaust, axiom,
    ((![Y4 : produc515445032on_val]: (~ ((![A3 : nat > option2118145160on_val, B3 : list_char > option_val]: (~ ((Y4 = (produc52622304on_val @ A3 @ B3)))))))))). % old.prod.exhaust
thf(fact_54_old_Oprod_Oexhaust, axiom,
    ((![Y4 : produc266837688on_val]: (~ ((![A3 : list_char, B3 : produc1257910179t_char > option_val]: (~ ((Y4 = (produc904988266on_val @ A3 @ B3)))))))))). % old.prod.exhaust
thf(fact_55_old_Oprod_Oexhaust, axiom,
    ((![Y4 : produc1172664615on_val]: (~ ((![A3 : produc1097884484on_val, B3 : produc1097884484on_val]: (~ ((Y4 = (produc1069526295on_val @ A3 @ B3)))))))))). % old.prod.exhaust
thf(fact_56_old_Oprod_Oexhaust, axiom,
    ((![Y4 : produc1097884484on_val]: (~ ((![A3 : exp_list_char, B3 : produc515445032on_val]: (~ ((Y4 = (produc2023458740on_val @ A3 @ B3)))))))))). % old.prod.exhaust
thf(fact_57_old_Oprod_Oexhaust, axiom,
    ((![Y4 : produc1257910179t_char]: (~ ((![A3 : list_char, B3 : list_char]: (~ ((Y4 = (produc1304532571t_char @ A3 @ B3)))))))))). % old.prod.exhaust
thf(fact_58_mem__Collect__eq, axiom,
    ((![A : produc1172664615on_val, P : produc1172664615on_val > $o]: ((member354538064on_val @ A @ (collec2055896722on_val @ P)) = (P @ A))))). % mem_Collect_eq
thf(fact_59_Collect__mem__eq, axiom,
    ((![A5 : set_Pr1189492743on_val]: ((collec2055896722on_val @ (^[X : produc1172664615on_val]: (member354538064on_val @ X @ A5))) = A5)))). % Collect_mem_eq
thf(fact_60_prod__induct4, axiom,
    ((![P : produc1172664615on_val > $o, X4 : produc1172664615on_val]: ((![A3 : produc1097884484on_val, B3 : exp_list_char, C4 : nat > option2118145160on_val, D : list_char > option_val]: (P @ (produc1069526295on_val @ A3 @ (produc2023458740on_val @ B3 @ (produc52622304on_val @ C4 @ D))))) => (P @ X4))))). % prod_induct4
thf(fact_61_prod__induct3, axiom,
    ((![P : produc1172664615on_val > $o, X4 : produc1172664615on_val]: ((![A3 : produc1097884484on_val, B3 : exp_list_char, C4 : produc515445032on_val]: (P @ (produc1069526295on_val @ A3 @ (produc2023458740on_val @ B3 @ C4)))) => (P @ X4))))). % prod_induct3
thf(fact_62_prod__induct3, axiom,
    ((![P : produc1097884484on_val > $o, X4 : produc1097884484on_val]: ((![A3 : exp_list_char, B3 : nat > option2118145160on_val, C4 : list_char > option_val]: (P @ (produc2023458740on_val @ A3 @ (produc52622304on_val @ B3 @ C4)))) => (P @ X4))))). % prod_induct3
thf(fact_63_prod__cases4, axiom,
    ((![Y4 : produc1172664615on_val]: (~ ((![A3 : produc1097884484on_val, B3 : exp_list_char, C4 : nat > option2118145160on_val, D : list_char > option_val]: (~ ((Y4 = (produc1069526295on_val @ A3 @ (produc2023458740on_val @ B3 @ (produc52622304on_val @ C4 @ D)))))))))))). % prod_cases4
thf(fact_64_prod__cases3, axiom,
    ((![Y4 : produc1172664615on_val]: (~ ((![A3 : produc1097884484on_val, B3 : exp_list_char, C4 : produc515445032on_val]: (~ ((Y4 = (produc1069526295on_val @ A3 @ (produc2023458740on_val @ B3 @ C4))))))))))). % prod_cases3
thf(fact_65_prod__cases3, axiom,
    ((![Y4 : produc1097884484on_val]: (~ ((![A3 : exp_list_char, B3 : nat > option2118145160on_val, C4 : list_char > option_val]: (~ ((Y4 = (produc2023458740on_val @ A3 @ (produc52622304on_val @ B3 @ C4))))))))))). % prod_cases3
thf(fact_66_Pair__inject, axiom,
    ((![A : nat > option2118145160on_val, B : list_char > option_val, A2 : nat > option2118145160on_val, B2 : list_char > option_val]: (((produc52622304on_val @ A @ B) = (produc52622304on_val @ A2 @ B2)) => (~ (((A = A2) => (~ ((B = B2)))))))))). % Pair_inject
thf(fact_67_Pair__inject, axiom,
    ((![A : list_char, B : produc1257910179t_char > option_val, A2 : list_char, B2 : produc1257910179t_char > option_val]: (((produc904988266on_val @ A @ B) = (produc904988266on_val @ A2 @ B2)) => (~ (((A = A2) => (~ ((B = B2)))))))))). % Pair_inject
thf(fact_68_Pair__inject, axiom,
    ((![A : produc1097884484on_val, B : produc1097884484on_val, A2 : produc1097884484on_val, B2 : produc1097884484on_val]: (((produc1069526295on_val @ A @ B) = (produc1069526295on_val @ A2 @ B2)) => (~ (((A = A2) => (~ ((B = B2)))))))))). % Pair_inject
thf(fact_69_Pair__inject, axiom,
    ((![A : exp_list_char, B : produc515445032on_val, A2 : exp_list_char, B2 : produc515445032on_val]: (((produc2023458740on_val @ A @ B) = (produc2023458740on_val @ A2 @ B2)) => (~ (((A = A2) => (~ ((B = B2)))))))))). % Pair_inject
thf(fact_70_Pair__inject, axiom,
    ((![A : list_char, B : list_char, A2 : list_char, B2 : list_char]: (((produc1304532571t_char @ A @ B) = (produc1304532571t_char @ A2 @ B2)) => (~ (((A = A2) => (~ ((B = B2)))))))))). % Pair_inject
thf(fact_71_prod__cases, axiom,
    ((![P : produc515445032on_val > $o, P3 : produc515445032on_val]: ((![A3 : nat > option2118145160on_val, B3 : list_char > option_val]: (P @ (produc52622304on_val @ A3 @ B3))) => (P @ P3))))). % prod_cases
thf(fact_72_prod__cases, axiom,
    ((![P : produc266837688on_val > $o, P3 : produc266837688on_val]: ((![A3 : list_char, B3 : produc1257910179t_char > option_val]: (P @ (produc904988266on_val @ A3 @ B3))) => (P @ P3))))). % prod_cases
thf(fact_73_prod__cases, axiom,
    ((![P : produc1172664615on_val > $o, P3 : produc1172664615on_val]: ((![A3 : produc1097884484on_val, B3 : produc1097884484on_val]: (P @ (produc1069526295on_val @ A3 @ B3))) => (P @ P3))))). % prod_cases
thf(fact_74_prod__cases, axiom,
    ((![P : produc1097884484on_val > $o, P3 : produc1097884484on_val]: ((![A3 : exp_list_char, B3 : produc515445032on_val]: (P @ (produc2023458740on_val @ A3 @ B3))) => (P @ P3))))). % prod_cases
thf(fact_75_prod__cases, axiom,
    ((![P : produc1257910179t_char > $o, P3 : produc1257910179t_char]: ((![A3 : list_char, B3 : list_char]: (P @ (produc1304532571t_char @ A3 @ B3))) => (P @ P3))))). % prod_cases
thf(fact_76_surj__pair, axiom,
    ((![P3 : produc515445032on_val]: (?[X6 : nat > option2118145160on_val, Y6 : list_char > option_val]: (P3 = (produc52622304on_val @ X6 @ Y6)))))). % surj_pair
thf(fact_77_surj__pair, axiom,
    ((![P3 : produc266837688on_val]: (?[X6 : list_char, Y6 : produc1257910179t_char > option_val]: (P3 = (produc904988266on_val @ X6 @ Y6)))))). % surj_pair
thf(fact_78_surj__pair, axiom,
    ((![P3 : produc1172664615on_val]: (?[X6 : produc1097884484on_val, Y6 : produc1097884484on_val]: (P3 = (produc1069526295on_val @ X6 @ Y6)))))). % surj_pair
thf(fact_79_surj__pair, axiom,
    ((![P3 : produc1097884484on_val]: (?[X6 : exp_list_char, Y6 : produc515445032on_val]: (P3 = (produc2023458740on_val @ X6 @ Y6)))))). % surj_pair
thf(fact_80_surj__pair, axiom,
    ((![P3 : produc1257910179t_char]: (?[X6 : list_char, Y6 : list_char]: (P3 = (produc1304532571t_char @ X6 @ Y6)))))). % surj_pair
thf(fact_81_map__le__antisym, axiom,
    ((![F : list_char > option_ty, G : list_char > option_ty]: ((map_le_list_char_ty @ F @ G) => ((map_le_list_char_ty @ G @ F) => (F = G)))))). % map_le_antisym
thf(fact_82_lconf__upd, axiom,
    ((![P : list_P1234162913t_char, H : nat > option2118145160on_val, L2 : list_char > option_val, E : list_char > option_ty, V : val, T : ty, V3 : list_char]: ((lconf_485928294t_char @ P @ H @ L2 @ E) => ((conf_P93989998t_char @ P @ H @ V @ T) => (((E @ V3) = (some_ty @ T)) => (lconf_485928294t_char @ P @ H @ (fun_up1252458416on_val @ L2 @ V3 @ (some_val @ V)) @ E))))))). % lconf_upd
thf(fact_83_typeof__h_Osimps_I3_J, axiom,
    ((![H : nat > option2118145160on_val, B : $o]: ((typeof_h @ H @ (bool @ B)) = (some_ty @ boolean))))). % typeof_h.simps(3)
thf(fact_84_red__reds_ORedVar, axiom,
    ((![S2 : produc515445032on_val, V3 : list_char, V : val, P : list_P1234162913t_char]: (((lcl @ S2 @ V3) = (some_val @ V)) => (member354538064on_val @ (produc1069526295on_val @ (produc2023458740on_val @ (var_list_char @ V3) @ S2) @ (produc2023458740on_val @ (val_list_char @ V) @ S2)) @ (red @ P)))))). % red_reds.RedVar
thf(fact_85_not__None__eq, axiom,
    ((![X4 : option_val]: ((~ ((X4 = none_val))) = (?[Y : val]: (X4 = (some_val @ Y))))))). % not_None_eq
thf(fact_86_not__None__eq, axiom,
    ((![X4 : option_ty]: ((~ ((X4 = none_ty))) = (?[Y : ty]: (X4 = (some_ty @ Y))))))). % not_None_eq
thf(fact_87_not__None__eq, axiom,
    ((![X4 : option2118145160on_val]: ((~ ((X4 = none_P1535574167on_val))) = (?[Y : produc266837688on_val]: (X4 = (some_P1299442195on_val @ Y))))))). % not_None_eq
thf(fact_88_not__Some__eq, axiom,
    ((![X4 : option_val]: ((![Y : val]: (~ ((X4 = (some_val @ Y))))) = (X4 = none_val))))). % not_Some_eq
thf(fact_89_not__Some__eq, axiom,
    ((![X4 : option_ty]: ((![Y : ty]: (~ ((X4 = (some_ty @ Y))))) = (X4 = none_ty))))). % not_Some_eq
thf(fact_90_not__Some__eq, axiom,
    ((![X4 : option2118145160on_val]: ((![Y : produc266837688on_val]: (~ ((X4 = (some_P1299442195on_val @ Y))))) = (X4 = none_P1535574167on_val))))). % not_Some_eq
thf(fact_91_empty__upd__none, axiom,
    ((![X4 : nat]: ((fun_up262443479on_val @ (^[X : nat]: none_P1535574167on_val) @ X4 @ none_P1535574167on_val) = (^[X : nat]: none_P1535574167on_val))))). % empty_upd_none
thf(fact_92_upd__None__map__le, axiom,
    ((![F : list_char > option_ty, X4 : list_char]: (map_le_list_char_ty @ (fun_up9191ion_ty @ F @ X4 @ none_ty) @ F)))). % upd_None_map_le
thf(fact_93_upd__None__map__le, axiom,
    ((![F : nat > option2118145160on_val, X4 : nat]: (map_le931214383on_val @ (fun_up262443479on_val @ F @ X4 @ none_P1535574167on_val) @ F)))). % upd_None_map_le
thf(fact_94_map__upd__nonempty, axiom,
    ((![T5 : nat > option2118145160on_val, K : nat, X4 : produc266837688on_val]: (~ (((fun_up262443479on_val @ T5 @ K @ (some_P1299442195on_val @ X4)) = (^[X : nat]: none_P1535574167on_val))))))). % map_upd_nonempty
thf(fact_95_red__reds_OCondRed, axiom,
    ((![E2 : exp_list_char, S2 : produc515445032on_val, E5 : exp_list_char, S3 : produc515445032on_val, P : list_P1234162913t_char, E_1 : exp_list_char, E_2 : exp_list_char]: ((member354538064on_val @ (produc1069526295on_val @ (produc2023458740on_val @ E2 @ S2) @ (produc2023458740on_val @ E5 @ S3)) @ (red @ P)) => (member354538064on_val @ (produc1069526295on_val @ (produc2023458740on_val @ (cond_list_char @ E2 @ E_1 @ E_2) @ S2) @ (produc2023458740on_val @ (cond_list_char @ E5 @ E_1 @ E_2) @ S3)) @ (red @ P)))))). % red_reds.CondRed
thf(fact_96_red__reds_ORedCondF, axiom,
    ((![E_1 : exp_list_char, E_2 : exp_list_char, S2 : produc515445032on_val, P : list_P1234162913t_char]: (member354538064on_val @ (produc1069526295on_val @ (produc2023458740on_val @ (cond_list_char @ (val_list_char @ (bool @ $false)) @ E_1 @ E_2) @ S2) @ (produc2023458740on_val @ E_2 @ S2)) @ (red @ P))))). % red_reds.RedCondF
thf(fact_97_red__reds_ORedCondT, axiom,
    ((![E_1 : exp_list_char, E_2 : exp_list_char, S2 : produc515445032on_val, P : list_P1234162913t_char]: (member354538064on_val @ (produc1069526295on_val @ (produc2023458740on_val @ (cond_list_char @ (val_list_char @ (bool @ $true)) @ E_1 @ E_2) @ S2) @ (produc2023458740on_val @ E_1 @ S2)) @ (red @ P))))). % red_reds.RedCondT
thf(fact_98_map__le__imp__upd__le, axiom,
    ((![M1 : list_char > option_ty, M2 : list_char > option_ty, X4 : list_char, Y4 : ty]: ((map_le_list_char_ty @ M1 @ M2) => (map_le_list_char_ty @ (fun_up9191ion_ty @ M1 @ X4 @ none_ty) @ (fun_up9191ion_ty @ M2 @ X4 @ (some_ty @ Y4))))))). % map_le_imp_upd_le
thf(fact_99_map__le__imp__upd__le, axiom,
    ((![M1 : nat > option2118145160on_val, M2 : nat > option2118145160on_val, X4 : nat, Y4 : produc266837688on_val]: ((map_le931214383on_val @ M1 @ M2) => (map_le931214383on_val @ (fun_up262443479on_val @ M1 @ X4 @ none_P1535574167on_val) @ (fun_up262443479on_val @ M2 @ X4 @ (some_P1299442195on_val @ Y4))))))). % map_le_imp_upd_le
thf(fact_100_map__upd__eqD1, axiom,
    ((![M : nat > option2118145160on_val, A : nat, X4 : produc266837688on_val, N : nat > option2118145160on_val, Y4 : produc266837688on_val]: (((fun_up262443479on_val @ M @ A @ (some_P1299442195on_val @ X4)) = (fun_up262443479on_val @ N @ A @ (some_P1299442195on_val @ Y4))) => (X4 = Y4))))). % map_upd_eqD1
thf(fact_101_map__upd__triv, axiom,
    ((![T5 : nat > option2118145160on_val, K : nat, X4 : produc266837688on_val]: (((T5 @ K) = (some_P1299442195on_val @ X4)) => ((fun_up262443479on_val @ T5 @ K @ (some_P1299442195on_val @ X4)) = T5))))). % map_upd_triv
thf(fact_102_map__upd__Some__unfold, axiom,
    ((![M : nat > option2118145160on_val, A : nat, B : produc266837688on_val, X4 : nat, Y4 : produc266837688on_val]: (((fun_up262443479on_val @ M @ A @ (some_P1299442195on_val @ B) @ X4) = (some_P1299442195on_val @ Y4)) = (((((X4 = A)) & ((B = Y4)))) | ((((~ ((X4 = A)))) & (((M @ X4) = (some_P1299442195on_val @ Y4)))))))))). % map_upd_Some_unfold
thf(fact_103_option_Odistinct_I1_J, axiom,
    ((![X2 : val]: (~ ((none_val = (some_val @ X2))))))). % option.distinct(1)
thf(fact_104_option_Odistinct_I1_J, axiom,
    ((![X2 : ty]: (~ ((none_ty = (some_ty @ X2))))))). % option.distinct(1)
thf(fact_105_option_Odistinct_I1_J, axiom,
    ((![X2 : produc266837688on_val]: (~ ((none_P1535574167on_val = (some_P1299442195on_val @ X2))))))). % option.distinct(1)
thf(fact_106_option_OdiscI, axiom,
    ((![Option : option_val, X2 : val]: ((Option = (some_val @ X2)) => (~ ((Option = none_val))))))). % option.discI
thf(fact_107_option_OdiscI, axiom,
    ((![Option : option_ty, X2 : ty]: ((Option = (some_ty @ X2)) => (~ ((Option = none_ty))))))). % option.discI
thf(fact_108_option_OdiscI, axiom,
    ((![Option : option2118145160on_val, X2 : produc266837688on_val]: ((Option = (some_P1299442195on_val @ X2)) => (~ ((Option = none_P1535574167on_val))))))). % option.discI
thf(fact_109_option_Oexhaust, axiom,
    ((![Y4 : option_val]: ((~ ((Y4 = none_val))) => (~ ((![X22 : val]: (~ ((Y4 = (some_val @ X22))))))))))). % option.exhaust
thf(fact_110_option_Oexhaust, axiom,
    ((![Y4 : option_ty]: ((~ ((Y4 = none_ty))) => (~ ((![X22 : ty]: (~ ((Y4 = (some_ty @ X22))))))))))). % option.exhaust
thf(fact_111_option_Oexhaust, axiom,
    ((![Y4 : option2118145160on_val]: ((~ ((Y4 = none_P1535574167on_val))) => (~ ((![X22 : produc266837688on_val]: (~ ((Y4 = (some_P1299442195on_val @ X22))))))))))). % option.exhaust
thf(fact_112_option_Oinducts, axiom,
    ((![P : option_val > $o, Option : option_val]: ((P @ none_val) => ((![X6 : val]: (P @ (some_val @ X6))) => (P @ Option)))))). % option.inducts
thf(fact_113_option_Oinducts, axiom,
    ((![P : option_ty > $o, Option : option_ty]: ((P @ none_ty) => ((![X6 : ty]: (P @ (some_ty @ X6))) => (P @ Option)))))). % option.inducts
thf(fact_114_option_Oinducts, axiom,
    ((![P : option2118145160on_val > $o, Option : option2118145160on_val]: ((P @ none_P1535574167on_val) => ((![X6 : produc266837688on_val]: (P @ (some_P1299442195on_val @ X6))) => (P @ Option)))))). % option.inducts
thf(fact_115_split__option__ex, axiom,
    (((^[P4 : option_val > $o]: (?[X7 : option_val]: (P4 @ X7))) = (^[P2 : option_val > $o]: (((P2 @ none_val)) | ((?[X : val]: (P2 @ (some_val @ X))))))))). % split_option_ex
thf(fact_116_split__option__ex, axiom,
    (((^[P4 : option_ty > $o]: (?[X7 : option_ty]: (P4 @ X7))) = (^[P2 : option_ty > $o]: (((P2 @ none_ty)) | ((?[X : ty]: (P2 @ (some_ty @ X))))))))). % split_option_ex
thf(fact_117_split__option__ex, axiom,
    (((^[P4 : option2118145160on_val > $o]: (?[X7 : option2118145160on_val]: (P4 @ X7))) = (^[P2 : option2118145160on_val > $o]: (((P2 @ none_P1535574167on_val)) | ((?[X : produc266837688on_val]: (P2 @ (some_P1299442195on_val @ X))))))))). % split_option_ex
thf(fact_118_split__option__all, axiom,
    (((^[P4 : option_val > $o]: (![X7 : option_val]: (P4 @ X7))) = (^[P2 : option_val > $o]: (((P2 @ none_val)) & ((![X : val]: (P2 @ (some_val @ X))))))))). % split_option_all
thf(fact_119_split__option__all, axiom,
    (((^[P4 : option_ty > $o]: (![X7 : option_ty]: (P4 @ X7))) = (^[P2 : option_ty > $o]: (((P2 @ none_ty)) & ((![X : ty]: (P2 @ (some_ty @ X))))))))). % split_option_all
thf(fact_120_split__option__all, axiom,
    (((^[P4 : option2118145160on_val > $o]: (![X7 : option2118145160on_val]: (P4 @ X7))) = (^[P2 : option2118145160on_val > $o]: (((P2 @ none_P1535574167on_val)) & ((![X : produc266837688on_val]: (P2 @ (some_P1299442195on_val @ X))))))))). % split_option_all
thf(fact_121_combine__options__cases, axiom,
    ((![X4 : option_val, P : option_val > option_val > $o, Y4 : option_val]: (((X4 = none_val) => (P @ X4 @ Y4)) => (((Y4 = none_val) => (P @ X4 @ Y4)) => ((![A3 : val, B3 : val]: ((X4 = (some_val @ A3)) => ((Y4 = (some_val @ B3)) => (P @ X4 @ Y4)))) => (P @ X4 @ Y4))))))). % combine_options_cases
thf(fact_122_combine__options__cases, axiom,
    ((![X4 : option_val, P : option_val > option_ty > $o, Y4 : option_ty]: (((X4 = none_val) => (P @ X4 @ Y4)) => (((Y4 = none_ty) => (P @ X4 @ Y4)) => ((![A3 : val, B3 : ty]: ((X4 = (some_val @ A3)) => ((Y4 = (some_ty @ B3)) => (P @ X4 @ Y4)))) => (P @ X4 @ Y4))))))). % combine_options_cases
thf(fact_123_combine__options__cases, axiom,
    ((![X4 : option_val, P : option_val > option2118145160on_val > $o, Y4 : option2118145160on_val]: (((X4 = none_val) => (P @ X4 @ Y4)) => (((Y4 = none_P1535574167on_val) => (P @ X4 @ Y4)) => ((![A3 : val, B3 : produc266837688on_val]: ((X4 = (some_val @ A3)) => ((Y4 = (some_P1299442195on_val @ B3)) => (P @ X4 @ Y4)))) => (P @ X4 @ Y4))))))). % combine_options_cases
thf(fact_124_combine__options__cases, axiom,
    ((![X4 : option_ty, P : option_ty > option_val > $o, Y4 : option_val]: (((X4 = none_ty) => (P @ X4 @ Y4)) => (((Y4 = none_val) => (P @ X4 @ Y4)) => ((![A3 : ty, B3 : val]: ((X4 = (some_ty @ A3)) => ((Y4 = (some_val @ B3)) => (P @ X4 @ Y4)))) => (P @ X4 @ Y4))))))). % combine_options_cases
thf(fact_125_combine__options__cases, axiom,
    ((![X4 : option_ty, P : option_ty > option_ty > $o, Y4 : option_ty]: (((X4 = none_ty) => (P @ X4 @ Y4)) => (((Y4 = none_ty) => (P @ X4 @ Y4)) => ((![A3 : ty, B3 : ty]: ((X4 = (some_ty @ A3)) => ((Y4 = (some_ty @ B3)) => (P @ X4 @ Y4)))) => (P @ X4 @ Y4))))))). % combine_options_cases
thf(fact_126_combine__options__cases, axiom,
    ((![X4 : option_ty, P : option_ty > option2118145160on_val > $o, Y4 : option2118145160on_val]: (((X4 = none_ty) => (P @ X4 @ Y4)) => (((Y4 = none_P1535574167on_val) => (P @ X4 @ Y4)) => ((![A3 : ty, B3 : produc266837688on_val]: ((X4 = (some_ty @ A3)) => ((Y4 = (some_P1299442195on_val @ B3)) => (P @ X4 @ Y4)))) => (P @ X4 @ Y4))))))). % combine_options_cases
thf(fact_127_combine__options__cases, axiom,
    ((![X4 : option2118145160on_val, P : option2118145160on_val > option_val > $o, Y4 : option_val]: (((X4 = none_P1535574167on_val) => (P @ X4 @ Y4)) => (((Y4 = none_val) => (P @ X4 @ Y4)) => ((![A3 : produc266837688on_val, B3 : val]: ((X4 = (some_P1299442195on_val @ A3)) => ((Y4 = (some_val @ B3)) => (P @ X4 @ Y4)))) => (P @ X4 @ Y4))))))). % combine_options_cases
thf(fact_128_combine__options__cases, axiom,
    ((![X4 : option2118145160on_val, P : option2118145160on_val > option_ty > $o, Y4 : option_ty]: (((X4 = none_P1535574167on_val) => (P @ X4 @ Y4)) => (((Y4 = none_ty) => (P @ X4 @ Y4)) => ((![A3 : produc266837688on_val, B3 : ty]: ((X4 = (some_P1299442195on_val @ A3)) => ((Y4 = (some_ty @ B3)) => (P @ X4 @ Y4)))) => (P @ X4 @ Y4))))))). % combine_options_cases
thf(fact_129_combine__options__cases, axiom,
    ((![X4 : option2118145160on_val, P : option2118145160on_val > option2118145160on_val > $o, Y4 : option2118145160on_val]: (((X4 = none_P1535574167on_val) => (P @ X4 @ Y4)) => (((Y4 = none_P1535574167on_val) => (P @ X4 @ Y4)) => ((![A3 : produc266837688on_val, B3 : produc266837688on_val]: ((X4 = (some_P1299442195on_val @ A3)) => ((Y4 = (some_P1299442195on_val @ B3)) => (P @ X4 @ Y4)))) => (P @ X4 @ Y4))))))). % combine_options_cases
thf(fact_130_map__le__upd, axiom,
    ((![F : list_char > option_ty, G : list_char > option_ty, A : list_char, B : option_ty]: ((map_le_list_char_ty @ F @ G) => (map_le_list_char_ty @ (fun_up9191ion_ty @ F @ A @ B) @ (fun_up9191ion_ty @ G @ A @ B)))))). % map_le_upd
thf(fact_131_map__le__upd, axiom,
    ((![F : nat > option2118145160on_val, G : nat > option2118145160on_val, A : nat, B : option2118145160on_val]: ((map_le931214383on_val @ F @ G) => (map_le931214383on_val @ (fun_up262443479on_val @ F @ A @ B) @ (fun_up262443479on_val @ G @ A @ B)))))). % map_le_upd
thf(fact_132_red__hext__incr, axiom,
    ((![E2 : exp_list_char, H : nat > option2118145160on_val, L2 : list_char > option_val, E5 : exp_list_char, H2 : nat > option2118145160on_val, L3 : list_char > option_val, P : list_P1234162913t_char]: ((member354538064on_val @ (produc1069526295on_val @ (produc2023458740on_val @ E2 @ (produc52622304on_val @ H @ L2)) @ (produc2023458740on_val @ E5 @ (produc52622304on_val @ H2 @ L3))) @ (red @ P)) => (hext @ H @ H2))))). % red_hext_incr
thf(fact_133_map__le__empty, axiom,
    ((![G : list_char > option_ty]: (map_le_list_char_ty @ (^[X : list_char]: none_ty) @ G)))). % map_le_empty
thf(fact_134_red__preserves__lconf, axiom,
    ((![E2 : exp_list_char, H : nat > option2118145160on_val, L2 : list_char > option_val, E5 : exp_list_char, H2 : nat > option2118145160on_val, L3 : list_char > option_val, P : list_P1234162913t_char, E : list_char > option_ty, T : ty]: ((member354538064on_val @ (produc1069526295on_val @ (produc2023458740on_val @ E2 @ (produc52622304on_val @ H @ L2)) @ (produc2023458740on_val @ E5 @ (produc52622304on_val @ H2 @ L3))) @ (red @ P)) => ((wTrt @ P @ H @ E @ E2 @ T) => ((lconf_485928294t_char @ P @ H @ L2 @ E) => (lconf_485928294t_char @ P @ H2 @ L3 @ E))))))). % red_preserves_lconf
thf(fact_135_typeof__lit__typeof, axiom,
    ((![V : val, T : ty, H : nat > option2118145160on_val]: (((typeof_h @ (^[X : nat]: none_P1535574167on_val) @ V) = (some_ty @ T)) => ((typeof_h @ H @ V) = (some_ty @ T)))))). % typeof_lit_typeof
thf(fact_136_val_Oinject_I1_J, axiom,
    ((![X3 : $o, Y3 : $o]: (((bool @ X3) = (bool @ Y3)) = (X3 = Y3))))). % val.inject(1)
thf(fact_137_fun__upd__upd, axiom,
    ((![F : nat > option2118145160on_val, X4 : nat, Y4 : option2118145160on_val, Z : option2118145160on_val]: ((fun_up262443479on_val @ (fun_up262443479on_val @ F @ X4 @ Y4) @ X4 @ Z) = (fun_up262443479on_val @ F @ X4 @ Z))))). % fun_upd_upd
thf(fact_138_fun__upd__triv, axiom,
    ((![F : nat > option2118145160on_val, X4 : nat]: ((fun_up262443479on_val @ F @ X4 @ (F @ X4)) = F)))). % fun_upd_triv
thf(fact_139_fun__upd__apply, axiom,
    ((fun_up262443479on_val = (^[F2 : nat > option2118145160on_val]: (^[X : nat]: (^[Y : option2118145160on_val]: (^[Z2 : nat]: (if_opt451925058on_val @ (Z2 = X) @ Y @ (F2 @ Z2))))))))). % fun_upd_apply
thf(fact_140_red__preserves__hconf, axiom,
    ((![E2 : exp_list_char, H : nat > option2118145160on_val, L2 : list_char > option_val, E5 : exp_list_char, H2 : nat > option2118145160on_val, L3 : list_char > option_val, P : list_P1234162913t_char, E : list_char > option_ty, T : ty]: ((member354538064on_val @ (produc1069526295on_val @ (produc2023458740on_val @ E2 @ (produc52622304on_val @ H @ L2)) @ (produc2023458740on_val @ E5 @ (produc52622304on_val @ H2 @ L3))) @ (red @ P)) => ((wTrt @ P @ H @ E @ E2 @ T) => ((hconf_1244167010t_char @ P @ H) => (hconf_1244167010t_char @ P @ H2))))))). % red_preserves_hconf
thf(fact_141_lconf__empty, axiom,
    ((![P : list_P1234162913t_char, H : nat > option2118145160on_val, E : list_char > option_ty]: (lconf_485928294t_char @ P @ H @ (^[X : list_char]: none_val) @ E)))). % lconf_empty
thf(fact_142_hext__upd__obj, axiom,
    ((![H : nat > option2118145160on_val, A : nat, C3 : list_char, Fs5 : produc1257910179t_char > option_val, Fs7 : produc1257910179t_char > option_val]: (((H @ A) = (some_P1299442195on_val @ (produc904988266on_val @ C3 @ Fs5))) => (hext @ H @ (fun_up262443479on_val @ H @ A @ (some_P1299442195on_val @ (produc904988266on_val @ C3 @ Fs7)))))))). % hext_upd_obj
thf(fact_143_hext__new, axiom,
    ((![H : nat > option2118145160on_val, A : nat, X4 : produc266837688on_val]: (((H @ A) = none_P1535574167on_val) => (hext @ H @ (fun_up262443479on_val @ H @ A @ (some_P1299442195on_val @ X4))))))). % hext_new
thf(fact_144_fun__upd__idem__iff, axiom,
    ((![F : nat > option2118145160on_val, X4 : nat, Y4 : option2118145160on_val]: (((fun_up262443479on_val @ F @ X4 @ Y4) = F) = ((F @ X4) = Y4))))). % fun_upd_idem_iff
thf(fact_145_fun__upd__twist, axiom,
    ((![A : nat, C5 : nat, M : nat > option2118145160on_val, B : option2118145160on_val, D2 : option2118145160on_val]: ((~ ((A = C5))) => ((fun_up262443479on_val @ (fun_up262443479on_val @ M @ A @ B) @ C5 @ D2) = (fun_up262443479on_val @ (fun_up262443479on_val @ M @ C5 @ D2) @ A @ B)))))). % fun_upd_twist
thf(fact_146_fun__upd__other, axiom,
    ((![Z : nat, X4 : nat, F : nat > option2118145160on_val, Y4 : option2118145160on_val]: ((~ ((Z = X4))) => ((fun_up262443479on_val @ F @ X4 @ Y4 @ Z) = (F @ Z)))))). % fun_upd_other
thf(fact_147_fun__upd__same, axiom,
    ((![F : nat > option2118145160on_val, X4 : nat, Y4 : option2118145160on_val]: ((fun_up262443479on_val @ F @ X4 @ Y4 @ X4) = Y4)))). % fun_upd_same
thf(fact_148_fun__upd__idem, axiom,
    ((![F : nat > option2118145160on_val, X4 : nat, Y4 : option2118145160on_val]: (((F @ X4) = Y4) => ((fun_up262443479on_val @ F @ X4 @ Y4) = F))))). % fun_upd_idem
thf(fact_149_fun__upd__eqD, axiom,
    ((![F : nat > option2118145160on_val, X4 : nat, Y4 : option2118145160on_val, G : nat > option2118145160on_val, Z : option2118145160on_val]: (((fun_up262443479on_val @ F @ X4 @ Y4) = (fun_up262443479on_val @ G @ X4 @ Z)) => (Y4 = Z))))). % fun_upd_eqD
thf(fact_150_fun__upd__def, axiom,
    ((fun_up262443479on_val = (^[F2 : nat > option2118145160on_val]: (^[A4 : nat]: (^[B4 : option2118145160on_val]: (^[X : nat]: (if_opt451925058on_val @ (X = A4) @ B4 @ (F2 @ X))))))))). % fun_upd_def
thf(fact_151_lconf__upd2, axiom,
    ((![P : list_P1234162913t_char, H : nat > option2118145160on_val, L2 : list_char > option_val, E : list_char > option_ty, V : val, T : ty, V3 : list_char]: ((lconf_485928294t_char @ P @ H @ L2 @ E) => ((conf_P93989998t_char @ P @ H @ V @ T) => (lconf_485928294t_char @ P @ H @ (fun_up1252458416on_val @ L2 @ V3 @ (some_val @ V)) @ (fun_up9191ion_ty @ E @ V3 @ (some_ty @ T)))))))). % lconf_upd2
thf(fact_152_red__preserves__sconf, axiom,
    ((![E2 : exp_list_char, S2 : produc515445032on_val, E5 : exp_list_char, S3 : produc515445032on_val, P : list_P1234162913t_char, E : list_char > option_ty, T : ty]: ((member354538064on_val @ (produc1069526295on_val @ (produc2023458740on_val @ E2 @ S2) @ (produc2023458740on_val @ E5 @ S3)) @ (red @ P)) => ((wTrt @ P @ (hp @ S2) @ E @ E2 @ T) => ((typeSa1777264139_sconf @ P @ E @ S2) => (typeSa1777264139_sconf @ P @ E @ S3))))))). % red_preserves_sconf
thf(fact_153_hconf__new, axiom,
    ((![P : list_P1234162913t_char, H : nat > option2118145160on_val, A : nat, Obj : produc266837688on_val]: ((hconf_1244167010t_char @ P @ H) => (((H @ A) = none_P1535574167on_val) => ((oconf_454120169t_char @ P @ H @ Obj) => (hconf_1244167010t_char @ P @ (fun_up262443479on_val @ H @ A @ (some_P1299442195on_val @ Obj))))))))). % hconf_new
thf(fact_154_hconfD, axiom,
    ((![P : list_P1234162913t_char, H : nat > option2118145160on_val, A : nat, Obj : produc266837688on_val]: ((hconf_1244167010t_char @ P @ H) => (((H @ A) = (some_P1299442195on_val @ Obj)) => (oconf_454120169t_char @ P @ H @ Obj)))))). % hconfD
thf(fact_155_hconf__upd__obj, axiom,
    ((![P : list_P1234162913t_char, H : nat > option2118145160on_val, A : nat, C3 : list_char, Fs5 : produc1257910179t_char > option_val, Fs7 : produc1257910179t_char > option_val]: ((hconf_1244167010t_char @ P @ H) => (((H @ A) = (some_P1299442195on_val @ (produc904988266on_val @ C3 @ Fs5))) => ((oconf_454120169t_char @ P @ H @ (produc904988266on_val @ C3 @ Fs7)) => (hconf_1244167010t_char @ P @ (fun_up262443479on_val @ H @ A @ (some_P1299442195on_val @ (produc904988266on_val @ C3 @ Fs7)))))))))). % hconf_upd_obj
thf(fact_156_hconf__def, axiom,
    ((hconf_1244167010t_char = (^[P2 : list_P1234162913t_char]: (^[H3 : nat > option2118145160on_val]: (((![A4 : nat]: (![Obj2 : produc266837688on_val]: ((((H3 @ A4) = (some_P1299442195on_val @ Obj2))) => ((oconf_454120169t_char @ P2 @ H3 @ Obj2)))))) & ((preallocated @ H3)))))))). % hconf_def
thf(fact_157_preallocated__new, axiom,
    ((![H : nat > option2118145160on_val, A : nat, X4 : produc266837688on_val]: ((preallocated @ H) => (((H @ A) = none_P1535574167on_val) => (preallocated @ (fun_up262443479on_val @ H @ A @ (some_P1299442195on_val @ X4)))))))). % preallocated_new
thf(fact_158_preallocated__upd__obj, axiom,
    ((![H : nat > option2118145160on_val, A : nat, C3 : list_char, Fs5 : produc1257910179t_char > option_val, Fs7 : produc1257910179t_char > option_val]: ((preallocated @ H) => (((H @ A) = (some_P1299442195on_val @ (produc904988266on_val @ C3 @ Fs5))) => (preallocated @ (fun_up262443479on_val @ H @ A @ (some_P1299442195on_val @ (produc904988266on_val @ C3 @ Fs7))))))))). % preallocated_upd_obj
thf(fact_159_preallocated__hext, axiom,
    ((![H : nat > option2118145160on_val, H2 : nat > option2118145160on_val]: ((preallocated @ H) => ((hext @ H @ H2) => (preallocated @ H2)))))). % preallocated_hext
thf(fact_160_default__val_Osimps_I2_J, axiom,
    (((default_val @ boolean) = (bool @ $false)))). % default_val.simps(2)
thf(fact_161_redp__redsp_ORedVar, axiom,
    ((![S2 : produc515445032on_val, V3 : list_char, V : val, P : list_P1234162913t_char]: (((lcl @ S2 @ V3) = (some_val @ V)) => (redp @ P @ (var_list_char @ V3) @ S2 @ (val_list_char @ V) @ S2))))). % redp_redsp.RedVar
thf(fact_162_redp__redsp_OCondRed, axiom,
    ((![P : list_P1234162913t_char, E2 : exp_list_char, S2 : produc515445032on_val, E5 : exp_list_char, S3 : produc515445032on_val, E_1 : exp_list_char, E_2 : exp_list_char]: ((redp @ P @ E2 @ S2 @ E5 @ S3) => (redp @ P @ (cond_list_char @ E2 @ E_1 @ E_2) @ S2 @ (cond_list_char @ E5 @ E_1 @ E_2) @ S3))))). % redp_redsp.CondRed
thf(fact_163_redp__redsp_ORedCondF, axiom,
    ((![P : list_P1234162913t_char, E_1 : exp_list_char, E_2 : exp_list_char, S2 : produc515445032on_val]: (redp @ P @ (cond_list_char @ (val_list_char @ (bool @ $false)) @ E_1 @ E_2) @ S2 @ E_2 @ S2)))). % redp_redsp.RedCondF
thf(fact_164_redp__redsp_ORedCondT, axiom,
    ((![P : list_P1234162913t_char, E_1 : exp_list_char, E_2 : exp_list_char, S2 : produc515445032on_val]: (redp @ P @ (cond_list_char @ (val_list_char @ (bool @ $true)) @ E_1 @ E_2) @ S2 @ E_1 @ S2)))). % redp_redsp.RedCondT
thf(fact_165_redp__red__eq, axiom,
    ((redp = (^[P2 : list_P1234162913t_char]: (^[X : exp_list_char]: (^[Y : produc515445032on_val]: (^[Z2 : exp_list_char]: (^[Aa : produc515445032on_val]: (member354538064on_val @ (produc1069526295on_val @ (produc2023458740on_val @ X @ Y) @ (produc2023458740on_val @ Z2 @ Aa)) @ (red @ P2)))))))))). % redp_red_eq
thf(fact_166_red__lcl__add, axiom,
    ((![E2 : exp_list_char, H : nat > option2118145160on_val, L2 : list_char > option_val, E5 : exp_list_char, H2 : nat > option2118145160on_val, L3 : list_char > option_val, P : list_P1234162913t_char, L_0 : list_char > option_val]: ((member354538064on_val @ (produc1069526295on_val @ (produc2023458740on_val @ E2 @ (produc52622304on_val @ H @ L2)) @ (produc2023458740on_val @ E5 @ (produc52622304on_val @ H2 @ L3))) @ (red @ P)) => (member354538064on_val @ (produc1069526295on_val @ (produc2023458740on_val @ E2 @ (produc52622304on_val @ H @ (map_ad1615113112ar_val @ L_0 @ L2))) @ (produc2023458740on_val @ E5 @ (produc52622304on_val @ H2 @ (map_ad1615113112ar_val @ L_0 @ L3)))) @ (red @ P)))))). % red_lcl_add
thf(fact_167_red__reds_ORedFAcc, axiom,
    ((![S2 : produc515445032on_val, A : nat, C3 : list_char, Fs5 : produc1257910179t_char > option_val, F3 : list_char, D3 : list_char, V : val, P : list_P1234162913t_char]: (((hp @ S2 @ A) = (some_P1299442195on_val @ (produc904988266on_val @ C3 @ Fs5))) => (((Fs5 @ (produc1304532571t_char @ F3 @ D3)) = (some_val @ V)) => (member354538064on_val @ (produc1069526295on_val @ (produc2023458740on_val @ (fAcc_list_char @ (val_list_char @ (addr @ A)) @ F3 @ D3) @ S2) @ (produc2023458740on_val @ (val_list_char @ V) @ S2)) @ (red @ P))))))). % red_reds.RedFAcc
thf(fact_168_val_Oinject_I3_J, axiom,
    ((![X5 : nat, Y5 : nat]: (((addr @ X5) = (addr @ Y5)) = (X5 = Y5))))). % val.inject(3)
thf(fact_169_exp_Oinject_I7_J, axiom,
    ((![X71 : exp_list_char, X72 : list_char, X73 : list_char, Y71 : exp_list_char, Y72 : list_char, Y73 : list_char]: (((fAcc_list_char @ X71 @ X72 @ X73) = (fAcc_list_char @ Y71 @ Y72 @ Y73)) = (((X71 = Y71)) & ((((X72 = Y72)) & ((X73 = Y73))))))))). % exp.inject(7)
thf(fact_170_map__add__assoc, axiom,
    ((![M1 : list_char > option_val, M2 : list_char > option_val, M3 : list_char > option_val]: ((map_ad1615113112ar_val @ M1 @ (map_ad1615113112ar_val @ M2 @ M3)) = (map_ad1615113112ar_val @ (map_ad1615113112ar_val @ M1 @ M2) @ M3))))). % map_add_assoc
thf(fact_171_map__add__find__right, axiom,
    ((![N : list_char > option_val, K : list_char, Xx : val, M : list_char > option_val]: (((N @ K) = (some_val @ Xx)) => ((map_ad1615113112ar_val @ M @ N @ K) = (some_val @ Xx)))))). % map_add_find_right
thf(fact_172_map__add__eq__empty__iff, axiom,
    ((![F : list_char > option_val, G : list_char > option_val]: (((map_ad1615113112ar_val @ F @ G) = (^[X : list_char]: none_val)) = (((F = (^[X : list_char]: none_val))) & ((G = (^[X : list_char]: none_val)))))))). % map_add_eq_empty_iff
thf(fact_173_map__add__None, axiom,
    ((![M : list_char > option_val, N : list_char > option_val, K : list_char]: (((map_ad1615113112ar_val @ M @ N @ K) = none_val) = ((((N @ K) = none_val)) & (((M @ K) = none_val))))))). % map_add_None
thf(fact_174_empty__map__add, axiom,
    ((![M : list_char > option_val]: ((map_ad1615113112ar_val @ (^[X : list_char]: none_val) @ M) = M)))). % empty_map_add
thf(fact_175_map__add__empty, axiom,
    ((![M : list_char > option_val]: ((map_ad1615113112ar_val @ M @ (^[X : list_char]: none_val)) = M)))). % map_add_empty
thf(fact_176_empty__eq__map__add__iff, axiom,
    ((![F : list_char > option_val, G : list_char > option_val]: (((^[X : list_char]: none_val) = (map_ad1615113112ar_val @ F @ G)) = (((F = (^[X : list_char]: none_val))) & ((G = (^[X : list_char]: none_val)))))))). % empty_eq_map_add_iff
thf(fact_177_map__add__upd, axiom,
    ((![F : list_char > option_val, G : list_char > option_val, X4 : list_char, Y4 : val]: ((map_ad1615113112ar_val @ F @ (fun_up1252458416on_val @ G @ X4 @ (some_val @ Y4))) = (fun_up1252458416on_val @ (map_ad1615113112ar_val @ F @ G) @ X4 @ (some_val @ Y4)))))). % map_add_upd
thf(fact_178_map__add__upd, axiom,
    ((![F : nat > option2118145160on_val, G : nat > option2118145160on_val, X4 : nat, Y4 : produc266837688on_val]: ((map_ad109059391on_val @ F @ (fun_up262443479on_val @ G @ X4 @ (some_P1299442195on_val @ Y4))) = (fun_up262443479on_val @ (map_ad109059391on_val @ F @ G) @ X4 @ (some_P1299442195on_val @ Y4)))))). % map_add_upd
thf(fact_179_redp__redsp_OFAccRed, axiom,
    ((![P : list_P1234162913t_char, E2 : exp_list_char, S2 : produc515445032on_val, E5 : exp_list_char, S3 : produc515445032on_val, F3 : list_char, D3 : list_char]: ((redp @ P @ E2 @ S2 @ E5 @ S3) => (redp @ P @ (fAcc_list_char @ E2 @ F3 @ D3) @ S2 @ (fAcc_list_char @ E5 @ F3 @ D3) @ S3))))). % redp_redsp.FAccRed
thf(fact_180_val_Odistinct_I17_J, axiom,
    ((![X3 : $o, X5 : nat]: (~ (((bool @ X3) = (addr @ X5))))))). % val.distinct(17)
thf(fact_181_exp_Odistinct_I147_J, axiom,
    ((![X71 : exp_list_char, X72 : list_char, X73 : list_char, X121 : exp_list_char, X122 : exp_list_char, X123 : exp_list_char]: (~ (((fAcc_list_char @ X71 @ X72 @ X73) = (cond_list_char @ X121 @ X122 @ X123))))))). % exp.distinct(147)
thf(fact_182_exp_Odistinct_I103_J, axiom,
    ((![X5 : list_char, X71 : exp_list_char, X72 : list_char, X73 : list_char]: (~ (((var_list_char @ X5) = (fAcc_list_char @ X71 @ X72 @ X73))))))). % exp.distinct(103)

% Helper facts (3)
thf(help_If_3_1_If_001t__Option__Ooption_It__Product____Type__Oprod_It__List__Olist_It__String__Ochar_J_M_062_It__Product____Type__Oprod_It__List__Olist_It__String__Ochar_J_Mt__List__Olist_It__String__Ochar_J_J_Mt__Option__Ooption_It__Value__Oval_J_J_J_J_T, axiom,
    ((![P : $o]: ((P = $true) | (P = $false))))).
thf(help_If_2_1_If_001t__Option__Ooption_It__Product____Type__Oprod_It__List__Olist_It__String__Ochar_J_M_062_It__Product____Type__Oprod_It__List__Olist_It__String__Ochar_J_Mt__List__Olist_It__String__Ochar_J_J_Mt__Option__Ooption_It__Value__Oval_J_J_J_J_T, axiom,
    ((![X4 : option2118145160on_val, Y4 : option2118145160on_val]: ((if_opt451925058on_val @ $false @ X4 @ Y4) = Y4)))).
thf(help_If_1_1_If_001t__Option__Ooption_It__Product____Type__Oprod_It__List__Olist_It__String__Ochar_J_M_062_It__Product____Type__Oprod_It__List__Olist_It__String__Ochar_J_Mt__List__Olist_It__String__Ochar_J_J_Mt__Option__Ooption_It__Value__Oval_J_J_J_J_T, axiom,
    ((![X4 : option2118145160on_val, Y4 : option2118145160on_val]: ((if_opt451925058on_val @ $true @ X4 @ Y4) = X4)))).

% Conjectures (1)
thf(conj_0, conjecture,
    ((?[T6 : ty]: ((wTrt @ p @ a @ e @ (val_list_char @ v2) @ T6) & (widen_917054840t_char @ p @ T6 @ t))))).
