% 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_502__5340060_1 ) ; }
% This file was generated by Isabelle (most likely Sledgehammer)
% 2020-12-16 14:22:21.774

% Could-be-implicit typings (19)
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__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 (62)
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_OBlock_001t__List__Olist_It__String__Ochar_J, type,
    block_list_char : list_char > ty > exp_list_char > exp_list_char).
thf(sy_c_Expr_Oexp_OLAss_001t__List__Olist_It__String__Ochar_J, type,
    lAss_list_char : list_char > exp_list_char > exp_list_char).
thf(sy_c_Expr_Oexp_OSeq_001t__List__Olist_It__String__Ochar_J, type,
    seq_list_char : exp_list_char > exp_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_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_Fun_Ofun__upd_001t__Product____Type__Oprod_It__List__Olist_It__String__Ochar_J_Mt__List__Olist_It__String__Ochar_J_J_001t__Option__Ooption_It__Value__Oval_J, type,
    fun_up356838326on_val : (produc1257910179t_char > option_val) > produc1257910179t_char > option_val > produc1257910179t_char > option_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_If_001t__Option__Ooption_It__Type__Oty_J, type,
    if_option_ty : $o > option_ty > option_ty > option_ty).
thf(sy_c_If_001t__Option__Ooption_It__Value__Oval_J, type,
    if_option_val : $o > option_val > option_val > option_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__Type__Oty, type,
    map_add_list_char_ty : (list_char > option_ty) > (list_char > option_ty) > list_char > option_ty).
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_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_Oassigned, type,
    assigned : list_char > exp_list_char > $o).
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_Transitive__Closure_Ortrancl_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,
    transi111096263on_val : set_Pr1189492743on_val > set_Pr1189492743on_val).
thf(sy_c_TypeRel_Ohas__field_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,
    has_fi599584195t_char : list_P1234162913t_char > list_char > list_char > ty > list_char > $o).
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_Value_Odefault__val, type,
    default_val : ty > 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__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_Te_H____, type,
    te : ty).
thf(sy_v_Te____, type,
    te2 : ty).
thf(sy_v_V____, type,
    v : list_char).
thf(sy_v_e_Ha____, type,
    e_a : exp_list_char).
thf(sy_v_ea____, type,
    ea : exp_list_char).
thf(sy_v_h_Ha____, type,
    h_a : nat > option2118145160on_val).
thf(sy_v_ha____, type,
    ha : nat > option2118145160on_val).
thf(sy_v_l_Ha____, type,
    l_a : list_char > option_val).
thf(sy_v_la____, type,
    la : list_char > option_val).
thf(sy_v_v____, type,
    v2 : val).

% Relevant facts (213)
thf(fact_0_Some, axiom,
    (((l_a @ v) = (some_val @ v2)))). % Some
thf(fact_1__092_060open_062P_Mh_H_A_092_060turnstile_062_Al_H_A_I_058_092_060le_062_J_AE_IV_A_092_060mapsto_062_AT_J_092_060close_062, axiom,
    ((lconf_485928294t_char @ p @ h_a @ l_a @ (fun_up9191ion_ty @ e @ v @ (some_ty @ t))))). % \<open>P,h' \<turnstile> l' (:\<le>) E(V \<mapsto> T)\<close>
thf(fact_2_local_Owf, axiom,
    ((wf_pro1229751607t_char @ wf_J_mdecl @ p))). % local.wf
thf(fact_3_IH_H, axiom,
    (((wTrt @ p @ h_a @ (fun_up9191ion_ty @ e @ v @ (some_ty @ t)) @ e_a @ te) & (widen_917054840t_char @ p @ te @ te2)))). % IH'
thf(fact_4__092_060open_062_092_060And_062thesis_O_A_I_092_060And_062Te_H_O_AP_ME_IV_A_092_060mapsto_062_AT_J_Mh_H_A_092_060turnstile_062_Ae_H_A_058_ATe_H_A_092_060and_062_AP_A_092_060turnstile_062_ATe_H_A_092_060le_062_ATe_A_092_060Longrightarrow_062_Athesis_J_A_092_060Longrightarrow_062_Athesis_092_060close_062, axiom,
    ((~ ((![Te : ty]: (~ (((wTrt @ p @ h_a @ (fun_up9191ion_ty @ e @ v @ (some_ty @ t)) @ e_a @ Te) & (widen_917054840t_char @ p @ Te @ te2))))))))). % \<open>\<And>thesis. (\<And>Te'. P,E(V \<mapsto> T),h' \<turnstile> e' : Te' \<and> P \<turnstile> Te' \<le> Te \<Longrightarrow> thesis) \<Longrightarrow> thesis\<close>
thf(fact_5_BlockRedSome_Ohyps_I4_J, axiom,
    ((~ ((assigned @ v @ ea))))). % BlockRedSome.hyps(4)
thf(fact_6_defval__conf, axiom,
    ((![P : list_P1234162913t_char, H : nat > option2118145160on_val, T : ty]: (conf_P93989998t_char @ P @ H @ (default_val @ T) @ T)))). % defval_conf
thf(fact_7_lconf__def, axiom,
    ((lconf_485928294t_char = (^[P2 : list_P1234162913t_char]: (^[H2 : nat > option2118145160on_val]: (^[L : list_char > option_val]: (^[E : list_char > option_ty]: (![V : list_char]: (![V2 : val]: ((((L @ V) = (some_val @ V2))) => ((?[T2 : ty]: ((((E @ V) = (some_ty @ T2))) & ((conf_P93989998t_char @ P2 @ H2 @ V2 @ T2))))))))))))))). % lconf_def
thf(fact_8_wt, axiom,
    ((wTrt @ p @ ha @ e @ (block_list_char @ v @ t @ ea) @ te2))). % wt
thf(fact_9_conf__hext, axiom,
    ((![H : nat > option2118145160on_val, H3 : nat > option2118145160on_val, P : list_P1234162913t_char, V3 : val, T : ty]: ((hext @ H @ H3) => ((conf_P93989998t_char @ P @ H @ V3 @ T) => (conf_P93989998t_char @ P @ H3 @ V3 @ T)))))). % conf_hext
thf(fact_10_conf__widen, axiom,
    ((![P : list_P1234162913t_char, H : nat > option2118145160on_val, V3 : val, T : ty, T3 : ty]: ((conf_P93989998t_char @ P @ H @ V3 @ T) => ((widen_917054840t_char @ P @ T @ T3) => (conf_P93989998t_char @ P @ H @ V3 @ T3)))))). % conf_widen
thf(fact_11_typeof__conf, axiom,
    ((![H : nat > option2118145160on_val, V3 : val, T : ty, P : list_P1234162913t_char]: (((typeof_h @ H @ V3) = (some_ty @ T)) => (conf_P93989998t_char @ P @ H @ V3 @ T))))). % typeof_conf
thf(fact_12_conf, axiom,
    ((typeSa1777264139_sconf @ p @ e @ (produc52622304on_val @ ha @ la)))). % conf
thf(fact_13_BlockRedSome_Oprems_I2_J, axiom,
    ((wTrt @ p @ ha @ e @ (block_list_char @ v @ t @ ea) @ te2))). % BlockRedSome.prems(2)
thf(fact_14_BlockRedSome_Oprems_I1_J, axiom,
    ((typeSa1777264139_sconf @ p @ e @ (produc52622304on_val @ ha @ la)))). % BlockRedSome.prems(1)
thf(fact_15_conf__def, axiom,
    ((conf_P93989998t_char = (^[P2 : list_P1234162913t_char]: (^[H2 : nat > option2118145160on_val]: (^[V2 : val]: (^[T2 : ty]: (?[T4 : ty]: ((((typeof_h @ H2 @ V2) = (some_ty @ T4))) & ((widen_917054840t_char @ P2 @ T4 @ T2))))))))))). % conf_def
thf(fact_16_lconf__hext, axiom,
    ((![P : list_P1234162913t_char, H : nat > option2118145160on_val, L2 : list_char > option_val, E2 : list_char > option_ty, H3 : nat > option2118145160on_val]: ((lconf_485928294t_char @ P @ H @ L2 @ E2) => ((hext @ H @ H3) => (lconf_485928294t_char @ P @ H3 @ L2 @ E2)))))). % lconf_hext
thf(fact_17_WTrtBlock, axiom,
    ((![P : list_P1234162913t_char, H : nat > option2118145160on_val, E2 : list_char > option_ty, V4 : list_char, T : ty, E3 : exp_list_char, T3 : ty]: ((wTrt @ P @ H @ (fun_up9191ion_ty @ E2 @ V4 @ (some_ty @ T)) @ E3 @ T3) => (wTrt @ P @ H @ E2 @ (block_list_char @ V4 @ T @ E3) @ T3))))). % WTrtBlock
thf(fact_18_BlockRedSome_Ohyps_I2_J, axiom,
    ((![E2 : list_char > option_ty, T : ty]: ((typeSa1777264139_sconf @ p @ E2 @ (produc52622304on_val @ ha @ (fun_up1252458416on_val @ la @ v @ none_val))) => ((wTrt @ p @ ha @ E2 @ ea @ T) => (?[T5 : ty]: ((wTrt @ p @ h_a @ E2 @ e_a @ T5) & (widen_917054840t_char @ p @ T5 @ T)))))))). % BlockRedSome.hyps(2)
thf(fact_19_IH, axiom,
    ((![E2 : list_char > option_ty, T : ty]: ((typeSa1777264139_sconf @ p @ E2 @ (produc52622304on_val @ ha @ (fun_up1252458416on_val @ la @ v @ none_val))) => ((wTrt @ p @ ha @ E2 @ ea @ T) => (?[T5 : ty]: ((wTrt @ p @ h_a @ E2 @ e_a @ T5) & (widen_917054840t_char @ p @ T5 @ T)))))))). % IH
thf(fact_20_hext__typeof__mono, axiom,
    ((![H : nat > option2118145160on_val, H3 : nat > option2118145160on_val, V3 : val, T : ty]: ((hext @ H @ H3) => (((typeof_h @ H @ V3) = (some_ty @ T)) => ((typeof_h @ H3 @ V3) = (some_ty @ T))))))). % hext_typeof_mono
thf(fact_21_hext__refl, axiom,
    ((![H : nat > option2118145160on_val]: (hext @ H @ H)))). % hext_refl
thf(fact_22_exp_Oinject_I10_J, axiom,
    ((![X101 : list_char, X102 : ty, X103 : exp_list_char, Y101 : list_char, Y102 : ty, Y103 : exp_list_char]: (((block_list_char @ X101 @ X102 @ X103) = (block_list_char @ Y101 @ Y102 @ Y103)) = (((X101 = Y101)) & ((((X102 = Y102)) & ((X103 = Y103))))))))). % exp.inject(10)
thf(fact_23_fun__upd__upd, axiom,
    ((![F : list_char > option_ty, X : list_char, Y : option_ty, Z : option_ty]: ((fun_up9191ion_ty @ (fun_up9191ion_ty @ F @ X @ Y) @ X @ Z) = (fun_up9191ion_ty @ F @ X @ Z))))). % fun_upd_upd
thf(fact_24_fun__upd__upd, axiom,
    ((![F : list_char > option_val, X : list_char, Y : option_val, Z : option_val]: ((fun_up1252458416on_val @ (fun_up1252458416on_val @ F @ X @ Y) @ X @ Z) = (fun_up1252458416on_val @ F @ X @ Z))))). % fun_upd_upd
thf(fact_25_fun__upd__upd, axiom,
    ((![F : nat > option2118145160on_val, X : nat, Y : option2118145160on_val, Z : option2118145160on_val]: ((fun_up262443479on_val @ (fun_up262443479on_val @ F @ X @ Y) @ X @ Z) = (fun_up262443479on_val @ F @ X @ Z))))). % fun_upd_upd
thf(fact_26_fun__upd__triv, axiom,
    ((![F : list_char > option_ty, X : list_char]: ((fun_up9191ion_ty @ F @ X @ (F @ X)) = F)))). % fun_upd_triv
thf(fact_27_fun__upd__triv, axiom,
    ((![F : list_char > option_val, X : list_char]: ((fun_up1252458416on_val @ F @ X @ (F @ X)) = F)))). % fun_upd_triv
thf(fact_28_fun__upd__triv, axiom,
    ((![F : nat > option2118145160on_val, X : nat]: ((fun_up262443479on_val @ F @ X @ (F @ X)) = F)))). % fun_upd_triv
thf(fact_29_fun__upd__apply, axiom,
    ((fun_up9191ion_ty = (^[F2 : list_char > option_ty]: (^[X2 : list_char]: (^[Y2 : option_ty]: (^[Z2 : list_char]: (if_option_ty @ (Z2 = X2) @ Y2 @ (F2 @ Z2))))))))). % fun_upd_apply
thf(fact_30_fun__upd__apply, axiom,
    ((fun_up1252458416on_val = (^[F2 : list_char > option_val]: (^[X2 : list_char]: (^[Y2 : option_val]: (^[Z2 : list_char]: (if_option_val @ (Z2 = X2) @ Y2 @ (F2 @ Z2))))))))). % fun_upd_apply
thf(fact_31_fun__upd__apply, axiom,
    ((fun_up262443479on_val = (^[F2 : nat > option2118145160on_val]: (^[X2 : nat]: (^[Y2 : option2118145160on_val]: (^[Z2 : nat]: (if_opt451925058on_val @ (Z2 = X2) @ Y2 @ (F2 @ Z2))))))))). % fun_upd_apply
thf(fact_32_option_Oinject, axiom,
    ((![X22 : val, Y22 : val]: (((some_val @ X22) = (some_val @ Y22)) = (X22 = Y22))))). % option.inject
thf(fact_33_option_Oinject, axiom,
    ((![X22 : ty, Y22 : ty]: (((some_ty @ X22) = (some_ty @ Y22)) = (X22 = Y22))))). % option.inject
thf(fact_34_option_Oinject, axiom,
    ((![X22 : produc266837688on_val, Y22 : produc266837688on_val]: (((some_P1299442195on_val @ X22) = (some_P1299442195on_val @ Y22)) = (X22 = Y22))))). % option.inject
thf(fact_35_not__Some__eq, axiom,
    ((![X : option_val]: ((![Y2 : val]: (~ ((X = (some_val @ Y2))))) = (X = none_val))))). % not_Some_eq
thf(fact_36_not__Some__eq, axiom,
    ((![X : option_ty]: ((![Y2 : ty]: (~ ((X = (some_ty @ Y2))))) = (X = none_ty))))). % not_Some_eq
thf(fact_37_not__Some__eq, axiom,
    ((![X : option2118145160on_val]: ((![Y2 : produc266837688on_val]: (~ ((X = (some_P1299442195on_val @ Y2))))) = (X = none_P1535574167on_val))))). % not_Some_eq
thf(fact_38_not__None__eq, axiom,
    ((![X : option_val]: ((~ ((X = none_val))) = (?[Y2 : val]: (X = (some_val @ Y2))))))). % not_None_eq
thf(fact_39_not__None__eq, axiom,
    ((![X : option_ty]: ((~ ((X = none_ty))) = (?[Y2 : ty]: (X = (some_ty @ Y2))))))). % not_None_eq
thf(fact_40_not__None__eq, axiom,
    ((![X : option2118145160on_val]: ((~ ((X = none_P1535574167on_val))) = (?[Y2 : produc266837688on_val]: (X = (some_P1299442195on_val @ Y2))))))). % not_None_eq
thf(fact_41_lconf__empty, axiom,
    ((![P : list_P1234162913t_char, H : nat > option2118145160on_val, E2 : list_char > option_ty]: (lconf_485928294t_char @ P @ H @ (^[X2 : list_char]: none_val) @ E2)))). % lconf_empty
thf(fact_42_combine__options__cases, axiom,
    ((![X : option_val, P : option_val > option_val > $o, Y : option_val]: (((X = none_val) => (P @ X @ Y)) => (((Y = none_val) => (P @ X @ Y)) => ((![A : val, B : val]: ((X = (some_val @ A)) => ((Y = (some_val @ B)) => (P @ X @ Y)))) => (P @ X @ Y))))))). % combine_options_cases
thf(fact_43_combine__options__cases, axiom,
    ((![X : option_val, P : option_val > option_ty > $o, Y : option_ty]: (((X = none_val) => (P @ X @ Y)) => (((Y = none_ty) => (P @ X @ Y)) => ((![A : val, B : ty]: ((X = (some_val @ A)) => ((Y = (some_ty @ B)) => (P @ X @ Y)))) => (P @ X @ Y))))))). % combine_options_cases
thf(fact_44_combine__options__cases, axiom,
    ((![X : option_val, P : option_val > option2118145160on_val > $o, Y : option2118145160on_val]: (((X = none_val) => (P @ X @ Y)) => (((Y = none_P1535574167on_val) => (P @ X @ Y)) => ((![A : val, B : produc266837688on_val]: ((X = (some_val @ A)) => ((Y = (some_P1299442195on_val @ B)) => (P @ X @ Y)))) => (P @ X @ Y))))))). % combine_options_cases
thf(fact_45_combine__options__cases, axiom,
    ((![X : option_ty, P : option_ty > option_val > $o, Y : option_val]: (((X = none_ty) => (P @ X @ Y)) => (((Y = none_val) => (P @ X @ Y)) => ((![A : ty, B : val]: ((X = (some_ty @ A)) => ((Y = (some_val @ B)) => (P @ X @ Y)))) => (P @ X @ Y))))))). % combine_options_cases
thf(fact_46_combine__options__cases, axiom,
    ((![X : option_ty, P : option_ty > option_ty > $o, Y : option_ty]: (((X = none_ty) => (P @ X @ Y)) => (((Y = none_ty) => (P @ X @ Y)) => ((![A : ty, B : ty]: ((X = (some_ty @ A)) => ((Y = (some_ty @ B)) => (P @ X @ Y)))) => (P @ X @ Y))))))). % combine_options_cases
thf(fact_47_combine__options__cases, axiom,
    ((![X : option_ty, P : option_ty > option2118145160on_val > $o, Y : option2118145160on_val]: (((X = none_ty) => (P @ X @ Y)) => (((Y = none_P1535574167on_val) => (P @ X @ Y)) => ((![A : ty, B : produc266837688on_val]: ((X = (some_ty @ A)) => ((Y = (some_P1299442195on_val @ B)) => (P @ X @ Y)))) => (P @ X @ Y))))))). % combine_options_cases
thf(fact_48_combine__options__cases, axiom,
    ((![X : option2118145160on_val, P : option2118145160on_val > option_val > $o, Y : option_val]: (((X = none_P1535574167on_val) => (P @ X @ Y)) => (((Y = none_val) => (P @ X @ Y)) => ((![A : produc266837688on_val, B : val]: ((X = (some_P1299442195on_val @ A)) => ((Y = (some_val @ B)) => (P @ X @ Y)))) => (P @ X @ Y))))))). % combine_options_cases
thf(fact_49_combine__options__cases, axiom,
    ((![X : option2118145160on_val, P : option2118145160on_val > option_ty > $o, Y : option_ty]: (((X = none_P1535574167on_val) => (P @ X @ Y)) => (((Y = none_ty) => (P @ X @ Y)) => ((![A : produc266837688on_val, B : ty]: ((X = (some_P1299442195on_val @ A)) => ((Y = (some_ty @ B)) => (P @ X @ Y)))) => (P @ X @ Y))))))). % combine_options_cases
thf(fact_50_combine__options__cases, axiom,
    ((![X : option2118145160on_val, P : option2118145160on_val > option2118145160on_val > $o, Y : option2118145160on_val]: (((X = none_P1535574167on_val) => (P @ X @ Y)) => (((Y = none_P1535574167on_val) => (P @ X @ Y)) => ((![A : produc266837688on_val, B : produc266837688on_val]: ((X = (some_P1299442195on_val @ A)) => ((Y = (some_P1299442195on_val @ B)) => (P @ X @ Y)))) => (P @ X @ Y))))))). % combine_options_cases
thf(fact_51_split__option__all, axiom,
    (((^[P3 : option_val > $o]: (![X3 : option_val]: (P3 @ X3))) = (^[P2 : option_val > $o]: (((P2 @ none_val)) & ((![X2 : val]: (P2 @ (some_val @ X2))))))))). % split_option_all
thf(fact_52_split__option__all, axiom,
    (((^[P3 : option_ty > $o]: (![X3 : option_ty]: (P3 @ X3))) = (^[P2 : option_ty > $o]: (((P2 @ none_ty)) & ((![X2 : ty]: (P2 @ (some_ty @ X2))))))))). % split_option_all
thf(fact_53_split__option__all, axiom,
    (((^[P3 : option2118145160on_val > $o]: (![X3 : option2118145160on_val]: (P3 @ X3))) = (^[P2 : option2118145160on_val > $o]: (((P2 @ none_P1535574167on_val)) & ((![X2 : produc266837688on_val]: (P2 @ (some_P1299442195on_val @ X2))))))))). % split_option_all
thf(fact_54_split__option__ex, axiom,
    (((^[P3 : option_val > $o]: (?[X3 : option_val]: (P3 @ X3))) = (^[P2 : option_val > $o]: (((P2 @ none_val)) | ((?[X2 : val]: (P2 @ (some_val @ X2))))))))). % split_option_ex
thf(fact_55_split__option__ex, axiom,
    (((^[P3 : option_ty > $o]: (?[X3 : option_ty]: (P3 @ X3))) = (^[P2 : option_ty > $o]: (((P2 @ none_ty)) | ((?[X2 : ty]: (P2 @ (some_ty @ X2))))))))). % split_option_ex
thf(fact_56_split__option__ex, axiom,
    (((^[P3 : option2118145160on_val > $o]: (?[X3 : option2118145160on_val]: (P3 @ X3))) = (^[P2 : option2118145160on_val > $o]: (((P2 @ none_P1535574167on_val)) | ((?[X2 : produc266837688on_val]: (P2 @ (some_P1299442195on_val @ X2))))))))). % split_option_ex
thf(fact_57_option_Oinducts, axiom,
    ((![P : option_val > $o, Option : option_val]: ((P @ none_val) => ((![X4 : val]: (P @ (some_val @ X4))) => (P @ Option)))))). % option.inducts
thf(fact_58_option_Oinducts, axiom,
    ((![P : option_ty > $o, Option : option_ty]: ((P @ none_ty) => ((![X4 : ty]: (P @ (some_ty @ X4))) => (P @ Option)))))). % option.inducts
thf(fact_59_option_Oinducts, axiom,
    ((![P : option2118145160on_val > $o, Option : option2118145160on_val]: ((P @ none_P1535574167on_val) => ((![X4 : produc266837688on_val]: (P @ (some_P1299442195on_val @ X4))) => (P @ Option)))))). % option.inducts
thf(fact_60_option_Oexhaust, axiom,
    ((![Y : option_val]: ((~ ((Y = none_val))) => (~ ((![X23 : val]: (~ ((Y = (some_val @ X23))))))))))). % option.exhaust
thf(fact_61_option_Oexhaust, axiom,
    ((![Y : option_ty]: ((~ ((Y = none_ty))) => (~ ((![X23 : ty]: (~ ((Y = (some_ty @ X23))))))))))). % option.exhaust
thf(fact_62_option_Oexhaust, axiom,
    ((![Y : option2118145160on_val]: ((~ ((Y = none_P1535574167on_val))) => (~ ((![X23 : produc266837688on_val]: (~ ((Y = (some_P1299442195on_val @ X23))))))))))). % option.exhaust
thf(fact_63_option_OdiscI, axiom,
    ((![Option : option_val, X22 : val]: ((Option = (some_val @ X22)) => (~ ((Option = none_val))))))). % option.discI
thf(fact_64_option_OdiscI, axiom,
    ((![Option : option_ty, X22 : ty]: ((Option = (some_ty @ X22)) => (~ ((Option = none_ty))))))). % option.discI
thf(fact_65_option_OdiscI, axiom,
    ((![Option : option2118145160on_val, X22 : produc266837688on_val]: ((Option = (some_P1299442195on_val @ X22)) => (~ ((Option = none_P1535574167on_val))))))). % option.discI
thf(fact_66_option_Odistinct_I1_J, axiom,
    ((![X22 : val]: (~ ((none_val = (some_val @ X22))))))). % option.distinct(1)
thf(fact_67_option_Odistinct_I1_J, axiom,
    ((![X22 : ty]: (~ ((none_ty = (some_ty @ X22))))))). % option.distinct(1)
thf(fact_68_option_Odistinct_I1_J, axiom,
    ((![X22 : produc266837688on_val]: (~ ((none_P1535574167on_val = (some_P1299442195on_val @ X22))))))). % option.distinct(1)
thf(fact_69_fun__upd__idem__iff, axiom,
    ((![F : list_char > option_ty, X : list_char, Y : option_ty]: (((fun_up9191ion_ty @ F @ X @ Y) = F) = ((F @ X) = Y))))). % fun_upd_idem_iff
thf(fact_70_fun__upd__idem__iff, axiom,
    ((![F : list_char > option_val, X : list_char, Y : option_val]: (((fun_up1252458416on_val @ F @ X @ Y) = F) = ((F @ X) = Y))))). % fun_upd_idem_iff
thf(fact_71_fun__upd__idem__iff, axiom,
    ((![F : nat > option2118145160on_val, X : nat, Y : option2118145160on_val]: (((fun_up262443479on_val @ F @ X @ Y) = F) = ((F @ X) = Y))))). % fun_upd_idem_iff
thf(fact_72_fun__upd__twist, axiom,
    ((![A2 : list_char, C : list_char, M : list_char > option_ty, B2 : option_ty, D : option_ty]: ((~ ((A2 = C))) => ((fun_up9191ion_ty @ (fun_up9191ion_ty @ M @ A2 @ B2) @ C @ D) = (fun_up9191ion_ty @ (fun_up9191ion_ty @ M @ C @ D) @ A2 @ B2)))))). % fun_upd_twist
thf(fact_73_fun__upd__twist, axiom,
    ((![A2 : list_char, C : list_char, M : list_char > option_val, B2 : option_val, D : option_val]: ((~ ((A2 = C))) => ((fun_up1252458416on_val @ (fun_up1252458416on_val @ M @ A2 @ B2) @ C @ D) = (fun_up1252458416on_val @ (fun_up1252458416on_val @ M @ C @ D) @ A2 @ B2)))))). % fun_upd_twist
thf(fact_74_fun__upd__twist, axiom,
    ((![A2 : nat, C : nat, M : nat > option2118145160on_val, B2 : option2118145160on_val, D : option2118145160on_val]: ((~ ((A2 = C))) => ((fun_up262443479on_val @ (fun_up262443479on_val @ M @ A2 @ B2) @ C @ D) = (fun_up262443479on_val @ (fun_up262443479on_val @ M @ C @ D) @ A2 @ B2)))))). % fun_upd_twist
thf(fact_75_fun__upd__other, axiom,
    ((![Z : list_char, X : list_char, F : list_char > option_ty, Y : option_ty]: ((~ ((Z = X))) => ((fun_up9191ion_ty @ F @ X @ Y @ Z) = (F @ Z)))))). % fun_upd_other
thf(fact_76_fun__upd__other, axiom,
    ((![Z : list_char, X : list_char, F : list_char > option_val, Y : option_val]: ((~ ((Z = X))) => ((fun_up1252458416on_val @ F @ X @ Y @ Z) = (F @ Z)))))). % fun_upd_other
thf(fact_77_fun__upd__other, axiom,
    ((![Z : nat, X : nat, F : nat > option2118145160on_val, Y : option2118145160on_val]: ((~ ((Z = X))) => ((fun_up262443479on_val @ F @ X @ Y @ Z) = (F @ Z)))))). % fun_upd_other
thf(fact_78_fun__upd__same, axiom,
    ((![F : list_char > option_ty, X : list_char, Y : option_ty]: ((fun_up9191ion_ty @ F @ X @ Y @ X) = Y)))). % fun_upd_same
thf(fact_79_fun__upd__same, axiom,
    ((![F : list_char > option_val, X : list_char, Y : option_val]: ((fun_up1252458416on_val @ F @ X @ Y @ X) = Y)))). % fun_upd_same
thf(fact_80_fun__upd__same, axiom,
    ((![F : nat > option2118145160on_val, X : nat, Y : option2118145160on_val]: ((fun_up262443479on_val @ F @ X @ Y @ X) = Y)))). % fun_upd_same
thf(fact_81_fun__upd__idem, axiom,
    ((![F : list_char > option_ty, X : list_char, Y : option_ty]: (((F @ X) = Y) => ((fun_up9191ion_ty @ F @ X @ Y) = F))))). % fun_upd_idem
thf(fact_82_fun__upd__idem, axiom,
    ((![F : list_char > option_val, X : list_char, Y : option_val]: (((F @ X) = Y) => ((fun_up1252458416on_val @ F @ X @ Y) = F))))). % fun_upd_idem
thf(fact_83_fun__upd__idem, axiom,
    ((![F : nat > option2118145160on_val, X : nat, Y : option2118145160on_val]: (((F @ X) = Y) => ((fun_up262443479on_val @ F @ X @ Y) = F))))). % fun_upd_idem
thf(fact_84_fun__upd__eqD, axiom,
    ((![F : list_char > option_ty, X : list_char, Y : option_ty, G : list_char > option_ty, Z : option_ty]: (((fun_up9191ion_ty @ F @ X @ Y) = (fun_up9191ion_ty @ G @ X @ Z)) => (Y = Z))))). % fun_upd_eqD
thf(fact_85_fun__upd__eqD, axiom,
    ((![F : list_char > option_val, X : list_char, Y : option_val, G : list_char > option_val, Z : option_val]: (((fun_up1252458416on_val @ F @ X @ Y) = (fun_up1252458416on_val @ G @ X @ Z)) => (Y = Z))))). % fun_upd_eqD
thf(fact_86_fun__upd__eqD, axiom,
    ((![F : nat > option2118145160on_val, X : nat, Y : option2118145160on_val, G : nat > option2118145160on_val, Z : option2118145160on_val]: (((fun_up262443479on_val @ F @ X @ Y) = (fun_up262443479on_val @ G @ X @ Z)) => (Y = Z))))). % fun_upd_eqD
thf(fact_87_fun__upd__def, axiom,
    ((fun_up9191ion_ty = (^[F2 : list_char > option_ty]: (^[A3 : list_char]: (^[B3 : option_ty]: (^[X2 : list_char]: (if_option_ty @ (X2 = A3) @ B3 @ (F2 @ X2))))))))). % fun_upd_def
thf(fact_88_fun__upd__def, axiom,
    ((fun_up1252458416on_val = (^[F2 : list_char > option_val]: (^[A3 : list_char]: (^[B3 : option_val]: (^[X2 : list_char]: (if_option_val @ (X2 = A3) @ B3 @ (F2 @ X2))))))))). % fun_upd_def
thf(fact_89_fun__upd__def, axiom,
    ((fun_up262443479on_val = (^[F2 : nat > option2118145160on_val]: (^[A3 : nat]: (^[B3 : option2118145160on_val]: (^[X2 : nat]: (if_opt451925058on_val @ (X2 = A3) @ B3 @ (F2 @ X2))))))))). % fun_upd_def
thf(fact_90_mem__Collect__eq, axiom,
    ((![A2 : produc1172664615on_val, P : produc1172664615on_val > $o]: ((member354538064on_val @ A2 @ (collec2055896722on_val @ P)) = (P @ A2))))). % mem_Collect_eq
thf(fact_91_Collect__mem__eq, axiom,
    ((![A4 : set_Pr1189492743on_val]: ((collec2055896722on_val @ (^[X2 : produc1172664615on_val]: (member354538064on_val @ X2 @ A4))) = A4)))). % Collect_mem_eq
thf(fact_92_lconf__upd, axiom,
    ((![P : list_P1234162913t_char, H : nat > option2118145160on_val, L2 : list_char > option_val, E2 : list_char > option_ty, V3 : val, T : ty, V4 : list_char]: ((lconf_485928294t_char @ P @ H @ L2 @ E2) => ((conf_P93989998t_char @ P @ H @ V3 @ T) => (((E2 @ V4) = (some_ty @ T)) => (lconf_485928294t_char @ P @ H @ (fun_up1252458416on_val @ L2 @ V4 @ (some_val @ V3)) @ E2))))))). % lconf_upd
thf(fact_93_hext__trans, axiom,
    ((![H : nat > option2118145160on_val, H3 : nat > option2118145160on_val, H4 : nat > option2118145160on_val]: ((hext @ H @ H3) => ((hext @ H3 @ H4) => (hext @ H @ H4)))))). % hext_trans
thf(fact_94_lconf__upd2, axiom,
    ((![P : list_P1234162913t_char, H : nat > option2118145160on_val, L2 : list_char > option_val, E2 : list_char > option_ty, V3 : val, T : ty, V4 : list_char]: ((lconf_485928294t_char @ P @ H @ L2 @ E2) => ((conf_P93989998t_char @ P @ H @ V3 @ T) => (lconf_485928294t_char @ P @ H @ (fun_up1252458416on_val @ L2 @ V4 @ (some_val @ V3)) @ (fun_up9191ion_ty @ E2 @ V4 @ (some_ty @ T)))))))). % lconf_upd2
thf(fact_95_WTrt__hext__mono, axiom,
    ((![P : list_P1234162913t_char, H : nat > option2118145160on_val, E2 : list_char > option_ty, E3 : exp_list_char, T : ty, H3 : nat > option2118145160on_val]: ((wTrt @ P @ H @ E2 @ E3 @ T) => ((hext @ H @ H3) => (wTrt @ P @ H3 @ E2 @ E3 @ T)))))). % WTrt_hext_mono
thf(fact_96_empty__upd__none, axiom,
    ((![X : list_char]: ((fun_up9191ion_ty @ (^[X2 : list_char]: none_ty) @ X @ none_ty) = (^[X2 : list_char]: none_ty))))). % empty_upd_none
thf(fact_97_empty__upd__none, axiom,
    ((![X : list_char]: ((fun_up1252458416on_val @ (^[X2 : list_char]: none_val) @ X @ none_val) = (^[X2 : list_char]: none_val))))). % empty_upd_none
thf(fact_98_empty__upd__none, axiom,
    ((![X : nat]: ((fun_up262443479on_val @ (^[X2 : nat]: none_P1535574167on_val) @ X @ none_P1535574167on_val) = (^[X2 : nat]: none_P1535574167on_val))))). % empty_upd_none
thf(fact_99_map__upd__nonempty, axiom,
    ((![T6 : list_char > option_val, K : list_char, X : val]: (~ (((fun_up1252458416on_val @ T6 @ K @ (some_val @ X)) = (^[X2 : list_char]: none_val))))))). % map_upd_nonempty
thf(fact_100_map__upd__nonempty, axiom,
    ((![T6 : list_char > option_ty, K : list_char, X : ty]: (~ (((fun_up9191ion_ty @ T6 @ K @ (some_ty @ X)) = (^[X2 : list_char]: none_ty))))))). % map_upd_nonempty
thf(fact_101_map__upd__nonempty, axiom,
    ((![T6 : nat > option2118145160on_val, K : nat, X : produc266837688on_val]: (~ (((fun_up262443479on_val @ T6 @ K @ (some_P1299442195on_val @ X)) = (^[X2 : nat]: none_P1535574167on_val))))))). % map_upd_nonempty
thf(fact_102_red, axiom,
    ((member354538064on_val @ (produc1069526295on_val @ (produc2023458740on_val @ ea @ (produc52622304on_val @ ha @ (fun_up1252458416on_val @ la @ v @ none_val))) @ (produc2023458740on_val @ e_a @ (produc52622304on_val @ h_a @ l_a))) @ (red @ p)))). % red
thf(fact_103_old_Oprod_Oinject, axiom,
    ((![A2 : nat > option2118145160on_val, B2 : list_char > option_val, A5 : nat > option2118145160on_val, B4 : list_char > option_val]: (((produc52622304on_val @ A2 @ B2) = (produc52622304on_val @ A5 @ B4)) = (((A2 = A5)) & ((B2 = B4))))))). % old.prod.inject
thf(fact_104_old_Oprod_Oinject, axiom,
    ((![A2 : produc1097884484on_val, B2 : produc1097884484on_val, A5 : produc1097884484on_val, B4 : produc1097884484on_val]: (((produc1069526295on_val @ A2 @ B2) = (produc1069526295on_val @ A5 @ B4)) = (((A2 = A5)) & ((B2 = B4))))))). % old.prod.inject
thf(fact_105_old_Oprod_Oinject, axiom,
    ((![A2 : exp_list_char, B2 : produc515445032on_val, A5 : exp_list_char, B4 : produc515445032on_val]: (((produc2023458740on_val @ A2 @ B2) = (produc2023458740on_val @ A5 @ B4)) = (((A2 = A5)) & ((B2 = B4))))))). % old.prod.inject
thf(fact_106_old_Oprod_Oinject, axiom,
    ((![A2 : list_char, B2 : produc1257910179t_char > option_val, A5 : list_char, B4 : produc1257910179t_char > option_val]: (((produc904988266on_val @ A2 @ B2) = (produc904988266on_val @ A5 @ B4)) = (((A2 = A5)) & ((B2 = B4))))))). % old.prod.inject
thf(fact_107_prod_Oinject, axiom,
    ((![X1 : nat > option2118145160on_val, X22 : list_char > option_val, Y1 : nat > option2118145160on_val, Y22 : list_char > option_val]: (((produc52622304on_val @ X1 @ X22) = (produc52622304on_val @ Y1 @ Y22)) = (((X1 = Y1)) & ((X22 = Y22))))))). % prod.inject
thf(fact_108_prod_Oinject, axiom,
    ((![X1 : produc1097884484on_val, X22 : produc1097884484on_val, Y1 : produc1097884484on_val, Y22 : produc1097884484on_val]: (((produc1069526295on_val @ X1 @ X22) = (produc1069526295on_val @ Y1 @ Y22)) = (((X1 = Y1)) & ((X22 = Y22))))))). % prod.inject
thf(fact_109_prod_Oinject, axiom,
    ((![X1 : exp_list_char, X22 : produc515445032on_val, Y1 : exp_list_char, Y22 : produc515445032on_val]: (((produc2023458740on_val @ X1 @ X22) = (produc2023458740on_val @ Y1 @ Y22)) = (((X1 = Y1)) & ((X22 = Y22))))))). % prod.inject
thf(fact_110_prod_Oinject, axiom,
    ((![X1 : list_char, X22 : produc1257910179t_char > option_val, Y1 : list_char, Y22 : produc1257910179t_char > option_val]: (((produc904988266on_val @ X1 @ X22) = (produc904988266on_val @ Y1 @ Y22)) = (((X1 = Y1)) & ((X22 = Y22))))))). % prod.inject
thf(fact_111_map__upd__Some__unfold, axiom,
    ((![M : list_char > option_val, A2 : list_char, B2 : val, X : list_char, Y : val]: (((fun_up1252458416on_val @ M @ A2 @ (some_val @ B2) @ X) = (some_val @ Y)) = (((((X = A2)) & ((B2 = Y)))) | ((((~ ((X = A2)))) & (((M @ X) = (some_val @ Y)))))))))). % map_upd_Some_unfold
thf(fact_112_map__upd__Some__unfold, axiom,
    ((![M : list_char > option_ty, A2 : list_char, B2 : ty, X : list_char, Y : ty]: (((fun_up9191ion_ty @ M @ A2 @ (some_ty @ B2) @ X) = (some_ty @ Y)) = (((((X = A2)) & ((B2 = Y)))) | ((((~ ((X = A2)))) & (((M @ X) = (some_ty @ Y)))))))))). % map_upd_Some_unfold
thf(fact_113_map__upd__Some__unfold, axiom,
    ((![M : nat > option2118145160on_val, A2 : nat, B2 : produc266837688on_val, X : nat, Y : produc266837688on_val]: (((fun_up262443479on_val @ M @ A2 @ (some_P1299442195on_val @ B2) @ X) = (some_P1299442195on_val @ Y)) = (((((X = A2)) & ((B2 = Y)))) | ((((~ ((X = A2)))) & (((M @ X) = (some_P1299442195on_val @ Y)))))))))). % map_upd_Some_unfold
thf(fact_114_map__upd__triv, axiom,
    ((![T6 : list_char > option_val, K : list_char, X : val]: (((T6 @ K) = (some_val @ X)) => ((fun_up1252458416on_val @ T6 @ K @ (some_val @ X)) = T6))))). % map_upd_triv
thf(fact_115_map__upd__triv, axiom,
    ((![T6 : list_char > option_ty, K : list_char, X : ty]: (((T6 @ K) = (some_ty @ X)) => ((fun_up9191ion_ty @ T6 @ K @ (some_ty @ X)) = T6))))). % map_upd_triv
thf(fact_116_map__upd__triv, axiom,
    ((![T6 : nat > option2118145160on_val, K : nat, X : produc266837688on_val]: (((T6 @ K) = (some_P1299442195on_val @ X)) => ((fun_up262443479on_val @ T6 @ K @ (some_P1299442195on_val @ X)) = T6))))). % map_upd_triv
thf(fact_117_map__upd__eqD1, axiom,
    ((![M : list_char > option_val, A2 : list_char, X : val, N : list_char > option_val, Y : val]: (((fun_up1252458416on_val @ M @ A2 @ (some_val @ X)) = (fun_up1252458416on_val @ N @ A2 @ (some_val @ Y))) => (X = Y))))). % map_upd_eqD1
thf(fact_118_map__upd__eqD1, axiom,
    ((![M : list_char > option_ty, A2 : list_char, X : ty, N : list_char > option_ty, Y : ty]: (((fun_up9191ion_ty @ M @ A2 @ (some_ty @ X)) = (fun_up9191ion_ty @ N @ A2 @ (some_ty @ Y))) => (X = Y))))). % map_upd_eqD1
thf(fact_119_map__upd__eqD1, axiom,
    ((![M : nat > option2118145160on_val, A2 : nat, X : produc266837688on_val, N : nat > option2118145160on_val, Y : produc266837688on_val]: (((fun_up262443479on_val @ M @ A2 @ (some_P1299442195on_val @ X)) = (fun_up262443479on_val @ N @ A2 @ (some_P1299442195on_val @ Y))) => (X = Y))))). % map_upd_eqD1
thf(fact_120_red__preserves__lconf, axiom,
    ((![E3 : exp_list_char, H : nat > option2118145160on_val, L2 : list_char > option_val, E4 : exp_list_char, H3 : nat > option2118145160on_val, L3 : list_char > option_val, P : list_P1234162913t_char, E2 : list_char > option_ty, T : ty]: ((member354538064on_val @ (produc1069526295on_val @ (produc2023458740on_val @ E3 @ (produc52622304on_val @ H @ L2)) @ (produc2023458740on_val @ E4 @ (produc52622304on_val @ H3 @ L3))) @ (red @ P)) => ((wTrt @ P @ H @ E2 @ E3 @ T) => ((lconf_485928294t_char @ P @ H @ L2 @ E2) => (lconf_485928294t_char @ P @ H3 @ L3 @ E2))))))). % red_preserves_lconf
thf(fact_121_conf__upd__obj, axiom,
    ((![H : nat > option2118145160on_val, A2 : nat, C2 : list_char, Fs : produc1257910179t_char > option_val, P : list_P1234162913t_char, Fs2 : produc1257910179t_char > option_val, X : val, T : ty]: (((H @ A2) = (some_P1299442195on_val @ (produc904988266on_val @ C2 @ Fs))) => ((conf_P93989998t_char @ P @ (fun_up262443479on_val @ H @ A2 @ (some_P1299442195on_val @ (produc904988266on_val @ C2 @ Fs2))) @ X @ T) = (conf_P93989998t_char @ P @ H @ X @ T)))))). % conf_upd_obj
thf(fact_122_hext__new, axiom,
    ((![H : nat > option2118145160on_val, A2 : nat, X : produc266837688on_val]: (((H @ A2) = none_P1535574167on_val) => (hext @ H @ (fun_up262443479on_val @ H @ A2 @ (some_P1299442195on_val @ X))))))). % hext_new
thf(fact_123_hext__upd__obj, axiom,
    ((![H : nat > option2118145160on_val, A2 : nat, C2 : list_char, Fs : produc1257910179t_char > option_val, Fs2 : produc1257910179t_char > option_val]: (((H @ A2) = (some_P1299442195on_val @ (produc904988266on_val @ C2 @ Fs))) => (hext @ H @ (fun_up262443479on_val @ H @ A2 @ (some_P1299442195on_val @ (produc904988266on_val @ C2 @ Fs2)))))))). % hext_upd_obj
thf(fact_124_hext__objD, axiom,
    ((![H : nat > option2118145160on_val, H3 : nat > option2118145160on_val, A2 : nat, C2 : list_char, Fs : produc1257910179t_char > option_val]: ((hext @ H @ H3) => (((H @ A2) = (some_P1299442195on_val @ (produc904988266on_val @ C2 @ Fs))) => (?[Fs3 : produc1257910179t_char > option_val]: ((H3 @ A2) = (some_P1299442195on_val @ (produc904988266on_val @ C2 @ Fs3))))))))). % hext_objD
thf(fact_125_hext__def, axiom,
    ((hext = (^[H2 : nat > option2118145160on_val]: (^[H5 : nat > option2118145160on_val]: (![A3 : nat]: (![C3 : list_char]: (![Fs4 : produc1257910179t_char > option_val]: ((((H2 @ A3) = (some_P1299442195on_val @ (produc904988266on_val @ C3 @ Fs4)))) => ((?[Fs5 : produc1257910179t_char > option_val]: ((H5 @ A3) = (some_P1299442195on_val @ (produc904988266on_val @ C3 @ Fs5)))))))))))))). % hext_def
thf(fact_126_hextI, axiom,
    ((![H : nat > option2118145160on_val, H3 : nat > option2118145160on_val]: ((![A : nat, C4 : list_char, Fs6 : produc1257910179t_char > option_val]: (((H @ A) = (some_P1299442195on_val @ (produc904988266on_val @ C4 @ Fs6))) => (?[Fs7 : produc1257910179t_char > option_val]: ((H3 @ A) = (some_P1299442195on_val @ (produc904988266on_val @ C4 @ Fs7)))))) => (hext @ H @ H3))))). % hextI
thf(fact_127_typeof__lit__typeof, axiom,
    ((![V3 : val, T : ty, H : nat > option2118145160on_val]: (((typeof_h @ (^[X2 : nat]: none_P1535574167on_val) @ V3) = (some_ty @ T)) => ((typeof_h @ H @ V3) = (some_ty @ T)))))). % typeof_lit_typeof
thf(fact_128_surj__pair, axiom,
    ((![P4 : produc515445032on_val]: (?[X4 : nat > option2118145160on_val, Y3 : list_char > option_val]: (P4 = (produc52622304on_val @ X4 @ Y3)))))). % surj_pair
thf(fact_129_surj__pair, axiom,
    ((![P4 : produc1172664615on_val]: (?[X4 : produc1097884484on_val, Y3 : produc1097884484on_val]: (P4 = (produc1069526295on_val @ X4 @ Y3)))))). % surj_pair
thf(fact_130_surj__pair, axiom,
    ((![P4 : produc1097884484on_val]: (?[X4 : exp_list_char, Y3 : produc515445032on_val]: (P4 = (produc2023458740on_val @ X4 @ Y3)))))). % surj_pair
thf(fact_131_surj__pair, axiom,
    ((![P4 : produc266837688on_val]: (?[X4 : list_char, Y3 : produc1257910179t_char > option_val]: (P4 = (produc904988266on_val @ X4 @ Y3)))))). % surj_pair
thf(fact_132_prod__cases, axiom,
    ((![P : produc515445032on_val > $o, P4 : produc515445032on_val]: ((![A : nat > option2118145160on_val, B : list_char > option_val]: (P @ (produc52622304on_val @ A @ B))) => (P @ P4))))). % prod_cases
thf(fact_133_prod__cases, axiom,
    ((![P : produc1172664615on_val > $o, P4 : produc1172664615on_val]: ((![A : produc1097884484on_val, B : produc1097884484on_val]: (P @ (produc1069526295on_val @ A @ B))) => (P @ P4))))). % prod_cases
thf(fact_134_prod__cases, axiom,
    ((![P : produc1097884484on_val > $o, P4 : produc1097884484on_val]: ((![A : exp_list_char, B : produc515445032on_val]: (P @ (produc2023458740on_val @ A @ B))) => (P @ P4))))). % prod_cases
thf(fact_135_prod__cases, axiom,
    ((![P : produc266837688on_val > $o, P4 : produc266837688on_val]: ((![A : list_char, B : produc1257910179t_char > option_val]: (P @ (produc904988266on_val @ A @ B))) => (P @ P4))))). % prod_cases
thf(fact_136_Pair__inject, axiom,
    ((![A2 : nat > option2118145160on_val, B2 : list_char > option_val, A5 : nat > option2118145160on_val, B4 : list_char > option_val]: (((produc52622304on_val @ A2 @ B2) = (produc52622304on_val @ A5 @ B4)) => (~ (((A2 = A5) => (~ ((B2 = B4)))))))))). % Pair_inject
thf(fact_137_Pair__inject, axiom,
    ((![A2 : produc1097884484on_val, B2 : produc1097884484on_val, A5 : produc1097884484on_val, B4 : produc1097884484on_val]: (((produc1069526295on_val @ A2 @ B2) = (produc1069526295on_val @ A5 @ B4)) => (~ (((A2 = A5) => (~ ((B2 = B4)))))))))). % Pair_inject
thf(fact_138_Pair__inject, axiom,
    ((![A2 : exp_list_char, B2 : produc515445032on_val, A5 : exp_list_char, B4 : produc515445032on_val]: (((produc2023458740on_val @ A2 @ B2) = (produc2023458740on_val @ A5 @ B4)) => (~ (((A2 = A5) => (~ ((B2 = B4)))))))))). % Pair_inject
thf(fact_139_Pair__inject, axiom,
    ((![A2 : list_char, B2 : produc1257910179t_char > option_val, A5 : list_char, B4 : produc1257910179t_char > option_val]: (((produc904988266on_val @ A2 @ B2) = (produc904988266on_val @ A5 @ B4)) => (~ (((A2 = A5) => (~ ((B2 = B4)))))))))). % Pair_inject
thf(fact_140_prod__cases3, axiom,
    ((![Y : produc1172664615on_val]: (~ ((![A : produc1097884484on_val, B : exp_list_char, C5 : produc515445032on_val]: (~ ((Y = (produc1069526295on_val @ A @ (produc2023458740on_val @ B @ C5))))))))))). % prod_cases3
thf(fact_141_prod__cases3, axiom,
    ((![Y : produc1097884484on_val]: (~ ((![A : exp_list_char, B : nat > option2118145160on_val, C5 : list_char > option_val]: (~ ((Y = (produc2023458740on_val @ A @ (produc52622304on_val @ B @ C5))))))))))). % prod_cases3
thf(fact_142_prod__cases4, axiom,
    ((![Y : produc1172664615on_val]: (~ ((![A : produc1097884484on_val, B : exp_list_char, C5 : nat > option2118145160on_val, D2 : list_char > option_val]: (~ ((Y = (produc1069526295on_val @ A @ (produc2023458740on_val @ B @ (produc52622304on_val @ C5 @ D2)))))))))))). % prod_cases4
thf(fact_143_prod__induct3, axiom,
    ((![P : produc1172664615on_val > $o, X : produc1172664615on_val]: ((![A : produc1097884484on_val, B : exp_list_char, C5 : produc515445032on_val]: (P @ (produc1069526295on_val @ A @ (produc2023458740on_val @ B @ C5)))) => (P @ X))))). % prod_induct3
thf(fact_144_prod__induct3, axiom,
    ((![P : produc1097884484on_val > $o, X : produc1097884484on_val]: ((![A : exp_list_char, B : nat > option2118145160on_val, C5 : list_char > option_val]: (P @ (produc2023458740on_val @ A @ (produc52622304on_val @ B @ C5)))) => (P @ X))))). % prod_induct3
thf(fact_145_prod__induct4, axiom,
    ((![P : produc1172664615on_val > $o, X : produc1172664615on_val]: ((![A : produc1097884484on_val, B : exp_list_char, C5 : nat > option2118145160on_val, D2 : list_char > option_val]: (P @ (produc1069526295on_val @ A @ (produc2023458740on_val @ B @ (produc52622304on_val @ C5 @ D2))))) => (P @ X))))). % prod_induct4
thf(fact_146_old_Oprod_Oexhaust, axiom,
    ((![Y : produc515445032on_val]: (~ ((![A : nat > option2118145160on_val, B : list_char > option_val]: (~ ((Y = (produc52622304on_val @ A @ B)))))))))). % old.prod.exhaust
thf(fact_147_old_Oprod_Oexhaust, axiom,
    ((![Y : produc1172664615on_val]: (~ ((![A : produc1097884484on_val, B : produc1097884484on_val]: (~ ((Y = (produc1069526295on_val @ A @ B)))))))))). % old.prod.exhaust
thf(fact_148_old_Oprod_Oexhaust, axiom,
    ((![Y : produc1097884484on_val]: (~ ((![A : exp_list_char, B : produc515445032on_val]: (~ ((Y = (produc2023458740on_val @ A @ B)))))))))). % old.prod.exhaust
thf(fact_149_old_Oprod_Oexhaust, axiom,
    ((![Y : produc266837688on_val]: (~ ((![A : list_char, B : produc1257910179t_char > option_val]: (~ ((Y = (produc904988266on_val @ A @ B)))))))))). % old.prod.exhaust
thf(fact_150_old_Oprod_Oinducts, axiom,
    ((![P : produc515445032on_val > $o, Prod : produc515445032on_val]: ((![A : nat > option2118145160on_val, B : list_char > option_val]: (P @ (produc52622304on_val @ A @ B))) => (P @ Prod))))). % old.prod.inducts
thf(fact_151_old_Oprod_Oinducts, axiom,
    ((![P : produc1172664615on_val > $o, Prod : produc1172664615on_val]: ((![A : produc1097884484on_val, B : produc1097884484on_val]: (P @ (produc1069526295on_val @ A @ B))) => (P @ Prod))))). % old.prod.inducts
thf(fact_152_old_Oprod_Oinducts, axiom,
    ((![P : produc1097884484on_val > $o, Prod : produc1097884484on_val]: ((![A : exp_list_char, B : produc515445032on_val]: (P @ (produc2023458740on_val @ A @ B))) => (P @ Prod))))). % old.prod.inducts
thf(fact_153_old_Oprod_Oinducts, axiom,
    ((![P : produc266837688on_val > $o, Prod : produc266837688on_val]: ((![A : list_char, B : produc1257910179t_char > option_val]: (P @ (produc904988266on_val @ A @ B))) => (P @ Prod))))). % old.prod.inducts
thf(fact_154_typeof__lit__conf, axiom,
    ((![V3 : val, T : ty, P : list_P1234162913t_char, H : nat > option2118145160on_val]: (((typeof_h @ (^[X2 : nat]: none_P1535574167on_val) @ V3) = (some_ty @ T)) => (conf_P93989998t_char @ P @ H @ V3 @ T))))). % typeof_lit_conf
thf(fact_155_red__reds_OBlockRedNone, axiom,
    ((![E3 : exp_list_char, H : nat > option2118145160on_val, L2 : list_char > option_val, V4 : list_char, E4 : exp_list_char, H3 : nat > option2118145160on_val, L3 : list_char > option_val, P : list_P1234162913t_char, T : ty]: ((member354538064on_val @ (produc1069526295on_val @ (produc2023458740on_val @ E3 @ (produc52622304on_val @ H @ (fun_up1252458416on_val @ L2 @ V4 @ none_val))) @ (produc2023458740on_val @ E4 @ (produc52622304on_val @ H3 @ L3))) @ (red @ P)) => (((L3 @ V4) = none_val) => ((~ ((assigned @ V4 @ E3))) => (member354538064on_val @ (produc1069526295on_val @ (produc2023458740on_val @ (block_list_char @ V4 @ T @ E3) @ (produc52622304on_val @ H @ L2)) @ (produc2023458740on_val @ (block_list_char @ V4 @ T @ E4) @ (produc52622304on_val @ H3 @ (fun_up1252458416on_val @ L3 @ V4 @ (L2 @ V4))))) @ (red @ P)))))))). % red_reds.BlockRedNone
thf(fact_156_red__hext__incr, axiom,
    ((![E3 : exp_list_char, H : nat > option2118145160on_val, L2 : list_char > option_val, E4 : exp_list_char, H3 : nat > option2118145160on_val, L3 : list_char > option_val, P : list_P1234162913t_char]: ((member354538064on_val @ (produc1069526295on_val @ (produc2023458740on_val @ E3 @ (produc52622304on_val @ H @ L2)) @ (produc2023458740on_val @ E4 @ (produc52622304on_val @ H3 @ L3))) @ (red @ P)) => (hext @ H @ H3))))). % red_hext_incr
thf(fact_157_red__preserves__hconf, axiom,
    ((![E3 : exp_list_char, H : nat > option2118145160on_val, L2 : list_char > option_val, E4 : exp_list_char, H3 : nat > option2118145160on_val, L3 : list_char > option_val, P : list_P1234162913t_char, E2 : list_char > option_ty, T : ty]: ((member354538064on_val @ (produc1069526295on_val @ (produc2023458740on_val @ E3 @ (produc52622304on_val @ H @ L2)) @ (produc2023458740on_val @ E4 @ (produc52622304on_val @ H3 @ L3))) @ (red @ P)) => ((wTrt @ P @ H @ E2 @ E3 @ T) => ((hconf_1244167010t_char @ P @ H) => (hconf_1244167010t_char @ P @ H3))))))). % red_preserves_hconf
thf(fact_158_red__preserves__sconf, axiom,
    ((![E3 : exp_list_char, S : produc515445032on_val, E4 : exp_list_char, S2 : produc515445032on_val, P : list_P1234162913t_char, E2 : list_char > option_ty, T : ty]: ((member354538064on_val @ (produc1069526295on_val @ (produc2023458740on_val @ E3 @ S) @ (produc2023458740on_val @ E4 @ S2)) @ (red @ P)) => ((wTrt @ P @ (hp @ S) @ E2 @ E3 @ T) => ((typeSa1777264139_sconf @ P @ E2 @ S) => (typeSa1777264139_sconf @ P @ E2 @ S2))))))). % red_preserves_sconf
thf(fact_159_hconf__new, axiom,
    ((![P : list_P1234162913t_char, H : nat > option2118145160on_val, A2 : nat, Obj : produc266837688on_val]: ((hconf_1244167010t_char @ P @ H) => (((H @ A2) = none_P1535574167on_val) => ((oconf_454120169t_char @ P @ H @ Obj) => (hconf_1244167010t_char @ P @ (fun_up262443479on_val @ H @ A2 @ (some_P1299442195on_val @ Obj))))))))). % hconf_new
thf(fact_160_hconf__upd__obj, axiom,
    ((![P : list_P1234162913t_char, H : nat > option2118145160on_val, A2 : nat, C2 : list_char, Fs : produc1257910179t_char > option_val, Fs2 : produc1257910179t_char > option_val]: ((hconf_1244167010t_char @ P @ H) => (((H @ A2) = (some_P1299442195on_val @ (produc904988266on_val @ C2 @ Fs))) => ((oconf_454120169t_char @ P @ H @ (produc904988266on_val @ C2 @ Fs2)) => (hconf_1244167010t_char @ P @ (fun_up262443479on_val @ H @ A2 @ (some_P1299442195on_val @ (produc904988266on_val @ C2 @ Fs2)))))))))). % hconf_upd_obj
thf(fact_161_hconfD, axiom,
    ((![P : list_P1234162913t_char, H : nat > option2118145160on_val, A2 : nat, Obj : produc266837688on_val]: ((hconf_1244167010t_char @ P @ H) => (((H @ A2) = (some_P1299442195on_val @ Obj)) => (oconf_454120169t_char @ P @ H @ Obj)))))). % hconfD
thf(fact_162_oconf__fupd, axiom,
    ((![P : list_P1234162913t_char, C2 : list_char, F3 : list_char, T : ty, D3 : list_char, H : nat > option2118145160on_val, V3 : val, Fs : produc1257910179t_char > option_val]: ((has_fi599584195t_char @ P @ C2 @ F3 @ T @ D3) => ((conf_P93989998t_char @ P @ H @ V3 @ T) => ((oconf_454120169t_char @ P @ H @ (produc904988266on_val @ C2 @ Fs)) => (oconf_454120169t_char @ P @ H @ (produc904988266on_val @ C2 @ (fun_up356838326on_val @ Fs @ (produc1304532571t_char @ F3 @ D3) @ (some_val @ V3)))))))))). % oconf_fupd
thf(fact_163_redp__redsp_OBlockRedNone, axiom,
    ((![P : list_P1234162913t_char, E3 : exp_list_char, H : nat > option2118145160on_val, L2 : list_char > option_val, V4 : list_char, E4 : exp_list_char, H3 : nat > option2118145160on_val, L3 : list_char > option_val, T : ty]: ((redp @ P @ E3 @ (produc52622304on_val @ H @ (fun_up1252458416on_val @ L2 @ V4 @ none_val)) @ E4 @ (produc52622304on_val @ H3 @ L3)) => (((L3 @ V4) = none_val) => ((~ ((assigned @ V4 @ E3))) => (redp @ P @ (block_list_char @ V4 @ T @ E3) @ (produc52622304on_val @ H @ L2) @ (block_list_char @ V4 @ T @ E4) @ (produc52622304on_val @ H3 @ (fun_up1252458416on_val @ L3 @ V4 @ (L2 @ V4)))))))))). % redp_redsp.BlockRedNone
thf(fact_164_hconf__def, axiom,
    ((hconf_1244167010t_char = (^[P2 : list_P1234162913t_char]: (^[H2 : nat > option2118145160on_val]: (((![A3 : nat]: (![Obj2 : produc266837688on_val]: ((((H2 @ A3) = (some_P1299442195on_val @ Obj2))) => ((oconf_454120169t_char @ P2 @ H2 @ Obj2)))))) & ((preallocated @ H2)))))))). % hconf_def
thf(fact_165_redp__red__eq, axiom,
    ((redp = (^[P2 : list_P1234162913t_char]: (^[X2 : exp_list_char]: (^[Y2 : produc515445032on_val]: (^[Z2 : exp_list_char]: (^[Aa : produc515445032on_val]: (member354538064on_val @ (produc1069526295on_val @ (produc2023458740on_val @ X2 @ Y2) @ (produc2023458740on_val @ Z2 @ Aa)) @ (red @ P2)))))))))). % redp_red_eq
thf(fact_166_preallocated__new, axiom,
    ((![H : nat > option2118145160on_val, A2 : nat, X : produc266837688on_val]: ((preallocated @ H) => (((H @ A2) = none_P1535574167on_val) => (preallocated @ (fun_up262443479on_val @ H @ A2 @ (some_P1299442195on_val @ X)))))))). % preallocated_new
thf(fact_167_preallocated__upd__obj, axiom,
    ((![H : nat > option2118145160on_val, A2 : nat, C2 : list_char, Fs : produc1257910179t_char > option_val, Fs2 : produc1257910179t_char > option_val]: ((preallocated @ H) => (((H @ A2) = (some_P1299442195on_val @ (produc904988266on_val @ C2 @ Fs))) => (preallocated @ (fun_up262443479on_val @ H @ A2 @ (some_P1299442195on_val @ (produc904988266on_val @ C2 @ Fs2))))))))). % preallocated_upd_obj
thf(fact_168_preallocated__hext, axiom,
    ((![H : nat > option2118145160on_val, H3 : nat > option2118145160on_val]: ((preallocated @ H) => ((hext @ H @ H3) => (preallocated @ H3)))))). % preallocated_hext
thf(fact_169_pred__equals__eq2, axiom,
    ((![R : set_Pr723149704on_val, S3 : set_Pr723149704on_val]: (((^[X2 : nat > option2118145160on_val]: (^[Y2 : list_char > option_val]: (member652041809on_val @ (produc52622304on_val @ X2 @ Y2) @ R))) = (^[X2 : nat > option2118145160on_val]: (^[Y2 : list_char > option_val]: (member652041809on_val @ (produc52622304on_val @ X2 @ Y2) @ S3)))) = (R = S3))))). % pred_equals_eq2
thf(fact_170_pred__equals__eq2, axiom,
    ((![R : set_Pr1189492743on_val, S3 : set_Pr1189492743on_val]: (((^[X2 : produc1097884484on_val]: (^[Y2 : produc1097884484on_val]: (member354538064on_val @ (produc1069526295on_val @ X2 @ Y2) @ R))) = (^[X2 : produc1097884484on_val]: (^[Y2 : produc1097884484on_val]: (member354538064on_val @ (produc1069526295on_val @ X2 @ Y2) @ S3)))) = (R = S3))))). % pred_equals_eq2
thf(fact_171_pred__equals__eq2, axiom,
    ((![R : set_Pr556513572on_val, S3 : set_Pr556513572on_val]: (((^[X2 : exp_list_char]: (^[Y2 : produc515445032on_val]: (member1888679917on_val @ (produc2023458740on_val @ X2 @ Y2) @ R))) = (^[X2 : exp_list_char]: (^[Y2 : produc515445032on_val]: (member1888679917on_val @ (produc2023458740on_val @ X2 @ Y2) @ S3)))) = (R = S3))))). % pred_equals_eq2
thf(fact_172_pred__equals__eq2, axiom,
    ((![R : set_Pr2075231726on_val, S3 : set_Pr2075231726on_val]: (((^[X2 : list_char]: (^[Y2 : produc1257910179t_char > option_val]: (member1296415951on_val @ (produc904988266on_val @ X2 @ Y2) @ R))) = (^[X2 : list_char]: (^[Y2 : produc1257910179t_char > option_val]: (member1296415951on_val @ (produc904988266on_val @ X2 @ Y2) @ S3)))) = (R = S3))))). % pred_equals_eq2
thf(fact_173_red__lcl__add, axiom,
    ((![E3 : exp_list_char, H : nat > option2118145160on_val, L2 : list_char > option_val, E4 : exp_list_char, H3 : nat > option2118145160on_val, L3 : list_char > option_val, P : list_P1234162913t_char, L_0 : list_char > option_val]: ((member354538064on_val @ (produc1069526295on_val @ (produc2023458740on_val @ E3 @ (produc52622304on_val @ H @ L2)) @ (produc2023458740on_val @ E4 @ (produc52622304on_val @ H3 @ L3))) @ (red @ P)) => (member354538064on_val @ (produc1069526295on_val @ (produc2023458740on_val @ E3 @ (produc52622304on_val @ H @ (map_ad1615113112ar_val @ L_0 @ L2))) @ (produc2023458740on_val @ E4 @ (produc52622304on_val @ H3 @ (map_ad1615113112ar_val @ L_0 @ L3)))) @ (red @ P)))))). % red_lcl_add
thf(fact_174_red__reds_ORedBlock, axiom,
    ((![V4 : list_char, T : ty, U : val, S : produc515445032on_val, P : list_P1234162913t_char]: (member354538064on_val @ (produc1069526295on_val @ (produc2023458740on_val @ (block_list_char @ V4 @ T @ (val_list_char @ U)) @ S) @ (produc2023458740on_val @ (val_list_char @ U) @ S)) @ (red @ P))))). % red_reds.RedBlock
thf(fact_175_exp_Oinject_I3_J, axiom,
    ((![X32 : val, Y32 : val]: (((val_list_char @ X32) = (val_list_char @ Y32)) = (X32 = Y32))))). % exp.inject(3)
thf(fact_176_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_177_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_178_map__add__eq__empty__iff, axiom,
    ((![F : list_char > option_val, G : list_char > option_val]: (((map_ad1615113112ar_val @ F @ G) = (^[X2 : list_char]: none_val)) = (((F = (^[X2 : list_char]: none_val))) & ((G = (^[X2 : list_char]: none_val)))))))). % map_add_eq_empty_iff
thf(fact_179_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_180_empty__eq__map__add__iff, axiom,
    ((![F : list_char > option_val, G : list_char > option_val]: (((^[X2 : list_char]: none_val) = (map_ad1615113112ar_val @ F @ G)) = (((F = (^[X2 : list_char]: none_val))) & ((G = (^[X2 : list_char]: none_val)))))))). % empty_eq_map_add_iff
thf(fact_181_map__add__empty, axiom,
    ((![M : list_char > option_val]: ((map_ad1615113112ar_val @ M @ (^[X2 : list_char]: none_val)) = M)))). % map_add_empty
thf(fact_182_empty__map__add, axiom,
    ((![M : list_char > option_val]: ((map_ad1615113112ar_val @ (^[X2 : list_char]: none_val) @ M) = M)))). % empty_map_add
thf(fact_183_map__add__upd, axiom,
    ((![F : list_char > option_val, G : list_char > option_val, X : list_char, Y : val]: ((map_ad1615113112ar_val @ F @ (fun_up1252458416on_val @ G @ X @ (some_val @ Y))) = (fun_up1252458416on_val @ (map_ad1615113112ar_val @ F @ G) @ X @ (some_val @ Y)))))). % map_add_upd
thf(fact_184_map__add__upd, axiom,
    ((![F : list_char > option_ty, G : list_char > option_ty, X : list_char, Y : ty]: ((map_add_list_char_ty @ F @ (fun_up9191ion_ty @ G @ X @ (some_ty @ Y))) = (fun_up9191ion_ty @ (map_add_list_char_ty @ F @ G) @ X @ (some_ty @ Y)))))). % map_add_upd
thf(fact_185_map__add__upd, axiom,
    ((![F : nat > option2118145160on_val, G : nat > option2118145160on_val, X : nat, Y : produc266837688on_val]: ((map_ad109059391on_val @ F @ (fun_up262443479on_val @ G @ X @ (some_P1299442195on_val @ Y))) = (fun_up262443479on_val @ (map_ad109059391on_val @ F @ G) @ X @ (some_P1299442195on_val @ Y)))))). % map_add_upd
thf(fact_186_exp_Odistinct_I67_J, axiom,
    ((![X32 : val, X101 : list_char, X102 : ty, X103 : exp_list_char]: (~ (((val_list_char @ X32) = (block_list_char @ X101 @ X102 @ X103))))))). % exp.distinct(67)
thf(fact_187_redp__redsp_ORedBlock, axiom,
    ((![P : list_P1234162913t_char, V4 : list_char, T : ty, U : val, S : produc515445032on_val]: (redp @ P @ (block_list_char @ V4 @ T @ (val_list_char @ U)) @ S @ (val_list_char @ U) @ S)))). % redp_redsp.RedBlock
thf(fact_188_map__add__Some__iff, axiom,
    ((![M : list_char > option_val, N : list_char > option_val, K : list_char, X : val]: (((map_ad1615113112ar_val @ M @ N @ K) = (some_val @ X)) = ((((N @ K) = (some_val @ X))) | (((((N @ K) = none_val)) & (((M @ K) = (some_val @ X)))))))))). % map_add_Some_iff
thf(fact_189_map__add__SomeD, axiom,
    ((![M : list_char > option_val, N : list_char > option_val, K : list_char, X : val]: (((map_ad1615113112ar_val @ M @ N @ K) = (some_val @ X)) => (((N @ K) = (some_val @ X)) | (((N @ K) = none_val) & ((M @ K) = (some_val @ X)))))))). % map_add_SomeD
thf(fact_190_WTrtVal, axiom,
    ((![H : nat > option2118145160on_val, V3 : val, T : ty, P : list_P1234162913t_char, E2 : list_char > option_ty]: (((typeof_h @ H @ V3) = (some_ty @ T)) => (wTrt @ P @ H @ E2 @ (val_list_char @ V3) @ T))))). % WTrtVal
thf(fact_191_Red__lcl__add, axiom,
    ((![E3 : exp_list_char, H : nat > option2118145160on_val, L2 : list_char > option_val, E4 : exp_list_char, H3 : nat > option2118145160on_val, L3 : list_char > option_val, P : list_P1234162913t_char, L_0 : list_char > option_val]: ((member354538064on_val @ (produc1069526295on_val @ (produc2023458740on_val @ E3 @ (produc52622304on_val @ H @ L2)) @ (produc2023458740on_val @ E4 @ (produc52622304on_val @ H3 @ L3))) @ (transi111096263on_val @ (red @ P))) => (member354538064on_val @ (produc1069526295on_val @ (produc2023458740on_val @ E3 @ (produc52622304on_val @ H @ (map_ad1615113112ar_val @ L_0 @ L2))) @ (produc2023458740on_val @ E4 @ (produc52622304on_val @ H3 @ (map_ad1615113112ar_val @ L_0 @ L3)))) @ (transi111096263on_val @ (red @ P))))))). % Red_lcl_add
thf(fact_192_red__reds_OBlockRedSome, axiom,
    ((![E3 : exp_list_char, H : nat > option2118145160on_val, L2 : list_char > option_val, V4 : list_char, E4 : exp_list_char, H3 : nat > option2118145160on_val, L3 : list_char > option_val, P : list_P1234162913t_char, V3 : val, T : ty]: ((member354538064on_val @ (produc1069526295on_val @ (produc2023458740on_val @ E3 @ (produc52622304on_val @ H @ (fun_up1252458416on_val @ L2 @ V4 @ none_val))) @ (produc2023458740on_val @ E4 @ (produc52622304on_val @ H3 @ L3))) @ (red @ P)) => (((L3 @ V4) = (some_val @ V3)) => ((~ ((assigned @ V4 @ E3))) => (member354538064on_val @ (produc1069526295on_val @ (produc2023458740on_val @ (block_list_char @ V4 @ T @ E3) @ (produc52622304on_val @ H @ L2)) @ (produc2023458740on_val @ (block_list_char @ V4 @ T @ (seq_list_char @ (lAss_list_char @ V4 @ (val_list_char @ V3)) @ E4)) @ (produc52622304on_val @ H3 @ (fun_up1252458416on_val @ L3 @ V4 @ (L2 @ V4))))) @ (red @ P)))))))). % red_reds.BlockRedSome
thf(fact_193_exp_Oinject_I11_J, axiom,
    ((![X111 : exp_list_char, X112 : exp_list_char, Y111 : exp_list_char, Y112 : exp_list_char]: (((seq_list_char @ X111 @ X112) = (seq_list_char @ Y111 @ Y112)) = (((X111 = Y111)) & ((X112 = Y112))))))). % exp.inject(11)
thf(fact_194_exp_Oinject_I6_J, axiom,
    ((![X61 : list_char, X62 : exp_list_char, Y61 : list_char, Y62 : exp_list_char]: (((lAss_list_char @ X61 @ X62) = (lAss_list_char @ Y61 @ Y62)) = (((X61 = Y61)) & ((X62 = Y62))))))). % exp.inject(6)
thf(fact_195_redp__redsp_ORedInitBlock, axiom,
    ((![P : list_P1234162913t_char, V4 : list_char, T : ty, V3 : val, U : val, S : produc515445032on_val]: (redp @ P @ (block_list_char @ V4 @ T @ (seq_list_char @ (lAss_list_char @ V4 @ (val_list_char @ V3)) @ (val_list_char @ U))) @ S @ (val_list_char @ U) @ S)))). % redp_redsp.RedInitBlock
thf(fact_196_redp__redsp_ORedSeq, axiom,
    ((![P : list_P1234162913t_char, V3 : val, E_2 : exp_list_char, S : produc515445032on_val]: (redp @ P @ (seq_list_char @ (val_list_char @ V3) @ E_2) @ S @ E_2 @ S)))). % redp_redsp.RedSeq
thf(fact_197_assigned__def, axiom,
    ((assigned = (^[V : list_char]: (^[E5 : exp_list_char]: (?[V2 : val]: (?[E6 : exp_list_char]: (E5 = (seq_list_char @ (lAss_list_char @ V @ (val_list_char @ V2)) @ E6))))))))). % assigned_def
thf(fact_198_exp_Odistinct_I59_J, axiom,
    ((![X32 : val, X61 : list_char, X62 : exp_list_char]: (~ (((val_list_char @ X32) = (lAss_list_char @ X61 @ X62))))))). % exp.distinct(59)
thf(fact_199_exp_Odistinct_I69_J, axiom,
    ((![X32 : val, X111 : exp_list_char, X112 : exp_list_char]: (~ (((val_list_char @ X32) = (seq_list_char @ X111 @ X112))))))). % exp.distinct(69)
thf(fact_200_WTrtSeq, axiom,
    ((![P : list_P1234162913t_char, H : nat > option2118145160on_val, E2 : list_char > option_ty, E_1 : exp_list_char, T_1 : ty, E_2 : exp_list_char, T_2 : ty]: ((wTrt @ P @ H @ E2 @ E_1 @ T_1) => ((wTrt @ P @ H @ E2 @ E_2 @ T_2) => (wTrt @ P @ H @ E2 @ (seq_list_char @ E_1 @ E_2) @ T_2)))))). % WTrtSeq
thf(fact_201_exp_Odistinct_I129_J, axiom,
    ((![X61 : list_char, X62 : exp_list_char, X111 : exp_list_char, X112 : exp_list_char]: (~ (((lAss_list_char @ X61 @ X62) = (seq_list_char @ X111 @ X112))))))). % exp.distinct(129)
thf(fact_202_exp_Odistinct_I181_J, axiom,
    ((![X101 : list_char, X102 : ty, X103 : exp_list_char, X111 : exp_list_char, X112 : exp_list_char]: (~ (((block_list_char @ X101 @ X102 @ X103) = (seq_list_char @ X111 @ X112))))))). % exp.distinct(181)
thf(fact_203_exp_Odistinct_I127_J, axiom,
    ((![X61 : list_char, X62 : exp_list_char, X101 : list_char, X102 : ty, X103 : exp_list_char]: (~ (((lAss_list_char @ X61 @ X62) = (block_list_char @ X101 @ X102 @ X103))))))). % exp.distinct(127)
thf(fact_204_redp__redsp_OLAssRed, axiom,
    ((![P : list_P1234162913t_char, E3 : exp_list_char, S : produc515445032on_val, E4 : exp_list_char, S2 : produc515445032on_val, V4 : list_char]: ((redp @ P @ E3 @ S @ E4 @ S2) => (redp @ P @ (lAss_list_char @ V4 @ E3) @ S @ (lAss_list_char @ V4 @ E4) @ S2))))). % redp_redsp.LAssRed
thf(fact_205_redp__redsp_OSeqRed, axiom,
    ((![P : list_P1234162913t_char, E3 : exp_list_char, S : produc515445032on_val, E4 : exp_list_char, S2 : produc515445032on_val, E_2 : exp_list_char]: ((redp @ P @ E3 @ S @ E4 @ S2) => (redp @ P @ (seq_list_char @ E3 @ E_2) @ S @ (seq_list_char @ E4 @ E_2) @ S2))))). % redp_redsp.SeqRed
thf(fact_206_red__reds_ORedInitBlock, axiom,
    ((![V4 : list_char, T : ty, V3 : val, U : val, S : produc515445032on_val, P : list_P1234162913t_char]: (member354538064on_val @ (produc1069526295on_val @ (produc2023458740on_val @ (block_list_char @ V4 @ T @ (seq_list_char @ (lAss_list_char @ V4 @ (val_list_char @ V3)) @ (val_list_char @ U))) @ S) @ (produc2023458740on_val @ (val_list_char @ U) @ S)) @ (red @ P))))). % red_reds.RedInitBlock
thf(fact_207_red__reds_OSeqRed, axiom,
    ((![E3 : exp_list_char, S : produc515445032on_val, E4 : exp_list_char, S2 : produc515445032on_val, P : list_P1234162913t_char, E_2 : exp_list_char]: ((member354538064on_val @ (produc1069526295on_val @ (produc2023458740on_val @ E3 @ S) @ (produc2023458740on_val @ E4 @ S2)) @ (red @ P)) => (member354538064on_val @ (produc1069526295on_val @ (produc2023458740on_val @ (seq_list_char @ E3 @ E_2) @ S) @ (produc2023458740on_val @ (seq_list_char @ E4 @ E_2) @ S2)) @ (red @ P)))))). % red_reds.SeqRed
thf(fact_208_red__reds_OLAssRed, axiom,
    ((![E3 : exp_list_char, S : produc515445032on_val, E4 : exp_list_char, S2 : produc515445032on_val, P : list_P1234162913t_char, V4 : list_char]: ((member354538064on_val @ (produc1069526295on_val @ (produc2023458740on_val @ E3 @ S) @ (produc2023458740on_val @ E4 @ S2)) @ (red @ P)) => (member354538064on_val @ (produc1069526295on_val @ (produc2023458740on_val @ (lAss_list_char @ V4 @ E3) @ S) @ (produc2023458740on_val @ (lAss_list_char @ V4 @ E4) @ S2)) @ (red @ P)))))). % red_reds.LAssRed
thf(fact_209_redp__redsp_OInitBlockRed, axiom,
    ((![P : list_P1234162913t_char, E3 : exp_list_char, H : nat > option2118145160on_val, L2 : list_char > option_val, V4 : list_char, V3 : val, E4 : exp_list_char, H3 : nat > option2118145160on_val, L3 : list_char > option_val, V5 : val, T : ty]: ((redp @ P @ E3 @ (produc52622304on_val @ H @ (fun_up1252458416on_val @ L2 @ V4 @ (some_val @ V3))) @ E4 @ (produc52622304on_val @ H3 @ L3)) => (((L3 @ V4) = (some_val @ V5)) => (redp @ P @ (block_list_char @ V4 @ T @ (seq_list_char @ (lAss_list_char @ V4 @ (val_list_char @ V3)) @ E3)) @ (produc52622304on_val @ H @ L2) @ (block_list_char @ V4 @ T @ (seq_list_char @ (lAss_list_char @ V4 @ (val_list_char @ V5)) @ E4)) @ (produc52622304on_val @ H3 @ (fun_up1252458416on_val @ L3 @ V4 @ (L2 @ V4))))))))). % redp_redsp.InitBlockRed
thf(fact_210_red__reds_ORedSeq, axiom,
    ((![V3 : val, E_2 : exp_list_char, S : produc515445032on_val, P : list_P1234162913t_char]: (member354538064on_val @ (produc1069526295on_val @ (produc2023458740on_val @ (seq_list_char @ (val_list_char @ V3) @ E_2) @ S) @ (produc2023458740on_val @ E_2 @ S)) @ (red @ P))))). % red_reds.RedSeq
thf(fact_211_red__reds_OInitBlockRed, axiom,
    ((![E3 : exp_list_char, H : nat > option2118145160on_val, L2 : list_char > option_val, V4 : list_char, V3 : val, E4 : exp_list_char, H3 : nat > option2118145160on_val, L3 : list_char > option_val, P : list_P1234162913t_char, V5 : val, T : ty]: ((member354538064on_val @ (produc1069526295on_val @ (produc2023458740on_val @ E3 @ (produc52622304on_val @ H @ (fun_up1252458416on_val @ L2 @ V4 @ (some_val @ V3)))) @ (produc2023458740on_val @ E4 @ (produc52622304on_val @ H3 @ L3))) @ (red @ P)) => (((L3 @ V4) = (some_val @ V5)) => (member354538064on_val @ (produc1069526295on_val @ (produc2023458740on_val @ (block_list_char @ V4 @ T @ (seq_list_char @ (lAss_list_char @ V4 @ (val_list_char @ V3)) @ E3)) @ (produc52622304on_val @ H @ L2)) @ (produc2023458740on_val @ (block_list_char @ V4 @ T @ (seq_list_char @ (lAss_list_char @ V4 @ (val_list_char @ V5)) @ E4)) @ (produc52622304on_val @ H3 @ (fun_up1252458416on_val @ L3 @ V4 @ (L2 @ V4))))) @ (red @ P))))))). % red_reds.InitBlockRed
thf(fact_212_converse__rtrancl__induct__red, axiom,
    ((![E3 : exp_list_char, H : nat > option2118145160on_val, L2 : list_char > option_val, E4 : exp_list_char, H3 : nat > option2118145160on_val, L3 : list_char > option_val, P : list_P1234162913t_char, R : exp_list_char > (nat > option2118145160on_val) > (list_char > option_val) > exp_list_char > (nat > option2118145160on_val) > (list_char > option_val) > $o]: ((member354538064on_val @ (produc1069526295on_val @ (produc2023458740on_val @ E3 @ (produc52622304on_val @ H @ L2)) @ (produc2023458740on_val @ E4 @ (produc52622304on_val @ H3 @ L3))) @ (transi111096263on_val @ (red @ P))) => ((![E7 : exp_list_char, H6 : nat > option2118145160on_val, L4 : list_char > option_val]: (R @ E7 @ H6 @ L4 @ E7 @ H6 @ L4)) => ((![E_0 : exp_list_char, H_0 : nat > option2118145160on_val, L_02 : list_char > option_val, E_12 : exp_list_char, H_1 : nat > option2118145160on_val, L_1 : list_char > option_val, E8 : exp_list_char, H7 : nat > option2118145160on_val, L5 : list_char > option_val]: ((member354538064on_val @ (produc1069526295on_val @ (produc2023458740on_val @ E_0 @ (produc52622304on_val @ H_0 @ L_02)) @ (produc2023458740on_val @ E_12 @ (produc52622304on_val @ H_1 @ L_1))) @ (red @ P)) => ((R @ E_12 @ H_1 @ L_1 @ E8 @ H7 @ L5) => (R @ E_0 @ H_0 @ L_02 @ E8 @ H7 @ L5)))) => (R @ E3 @ H @ L2 @ E4 @ H3 @ L3))))))). % converse_rtrancl_induct_red

% Helper facts (7)
thf(help_If_2_1_If_001t__Option__Ooption_It__Type__Oty_J_T, axiom,
    ((![X : option_ty, Y : option_ty]: ((if_option_ty @ $false @ X @ Y) = Y)))).
thf(help_If_1_1_If_001t__Option__Ooption_It__Type__Oty_J_T, axiom,
    ((![X : option_ty, Y : option_ty]: ((if_option_ty @ $true @ X @ Y) = X)))).
thf(help_If_2_1_If_001t__Option__Ooption_It__Value__Oval_J_T, axiom,
    ((![X : option_val, Y : option_val]: ((if_option_val @ $false @ X @ Y) = Y)))).
thf(help_If_1_1_If_001t__Option__Ooption_It__Value__Oval_J_T, axiom,
    ((![X : option_val, Y : option_val]: ((if_option_val @ $true @ X @ Y) = X)))).
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,
    ((![X : option2118145160on_val, Y : option2118145160on_val]: ((if_opt451925058on_val @ $false @ X @ Y) = Y)))).
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,
    ((![X : option2118145160on_val, Y : option2118145160on_val]: ((if_opt451925058on_val @ $true @ X @ Y) = X)))).

% Conjectures (1)
thf(conj_0, conjecture,
    ((conf_P93989998t_char @ p @ h_a @ v2 @ t))).
