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

% Could-be-implicit typings (16)
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__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 (61)
thf(sy_c_BigStep_Ofinal_001t__List__Olist_It__String__Ochar_J, type,
    final_list_char : exp_list_char > $o).
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_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_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_OVal_001t__List__Olist_It__String__Ochar_J, type,
    val_list_char : val > exp_list_char).
thf(sy_c_Expr_Oexp_Opred__exp_001t__List__Olist_It__String__Ochar_J, type,
    pred_exp_list_char : (list_char > $o) > exp_list_char > $o).
thf(sy_c_Expr_Oexp_Othrow_001t__List__Olist_It__String__Ochar_J, type,
    throw_list_char : exp_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_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__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__List__Olist_It__String__Ochar_J_001t__Value__Oval, type,
    map_le_list_char_val : (list_char > option_val) > (list_char > option_val) > $o).
thf(sy_c_Objects_Ohext, type,
    hext : (nat > option2118145160on_val) > (nat > option2118145160on_val) > $o).
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_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__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_Product__Type_Ointernal__case__prod_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_001_Eo, type,
    produc563955725_val_o : ((nat > option2118145160on_val) > (list_char > option_val) > $o) > produc515445032on_val > $o).
thf(sy_c_Product__Type_Ointernal__case__prod_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_001_062_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_M_Eo_J, type,
    produc914566744_val_o : (exp_list_char > produc515445032on_val > produc1097884484on_val > $o) > produc1097884484on_val > produc1097884484on_val > $o).
thf(sy_c_Product__Type_Ointernal__case__prod_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_001_Eo, type,
    produc1875489849_val_o : (exp_list_char > produc515445032on_val > $o) > produc1097884484on_val > $o).
thf(sy_c_Product__Type_Ointernal__case__prod_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_001_Eo, type,
    produc1351546646_val_o : (produc1097884484on_val > produc1097884484on_val > $o) > produc1172664615on_val > $o).
thf(sy_c_Product__Type_Oprod_Ocase__prod_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_001_Eo, type,
    produc99536995_val_o : ((nat > option2118145160on_val) > (list_char > option_val) > $o) > produc515445032on_val > $o).
thf(sy_c_Product__Type_Oprod_Ocase__prod_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_001t__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,
    produc1919805778on_val : ((nat > option2118145160on_val) > (list_char > option_val) > set_Pr1189492743on_val) > produc515445032on_val > set_Pr1189492743on_val).
thf(sy_c_Product__Type_Oprod_Ocase__prod_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_001_062_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_M_Eo_J, type,
    produc1468025474_val_o : (exp_list_char > produc515445032on_val > produc1097884484on_val > $o) > produc1097884484on_val > produc1097884484on_val > $o).
thf(sy_c_Product__Type_Oprod_Ocase__prod_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_001_Eo, type,
    produc199145871_val_o : (exp_list_char > produc515445032on_val > $o) > produc1097884484on_val > $o).
thf(sy_c_Product__Type_Oprod_Ocase__prod_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_001t__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,
    produc848217214on_val : (exp_list_char > produc515445032on_val > set_Pr1189492743on_val) > produc1097884484on_val > set_Pr1189492743on_val).
thf(sy_c_Product__Type_Oprod_Ocase__prod_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_001_Eo, type,
    produc50362220_val_o : (produc1097884484on_val > produc1097884484on_val > $o) > produc1172664615on_val > $o).
thf(sy_c_Product__Type_Oprod_Ocase__prod_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_001t__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,
    produc493625819on_val : (produc1097884484on_val > produc1097884484on_val > set_Pr1189492743on_val) > produc1172664615on_val > set_Pr1189492743on_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_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_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__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_Ta____, type,
    ta : 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).

% Relevant facts (201)
thf(fact_0_BlockRedNone_Ohyps_I4_J, axiom,
    ((~ ((assigned @ v @ ea))))). % BlockRedNone.hyps(4)
thf(fact_1_BlockRedNone_Ohyps_I3_J, axiom,
    (((l_a @ v) = none_val))). % BlockRedNone.hyps(3)
thf(fact_2_BlockRedNone_Oprems_I1_J, axiom,
    ((typeSa1777264139_sconf @ p @ e @ (produc52622304on_val @ ha @ la)))). % BlockRedNone.prems(1)
thf(fact_3_BlockRedNone_Oprems_I2_J, axiom,
    ((wTrt @ p @ ha @ e @ (block_list_char @ v @ t @ ea) @ ta))). % BlockRedNone.prems(2)
thf(fact_4_BlockRedNone_Ohyps_I2_J, axiom,
    ((![E : list_char > option_ty, T : ty]: ((typeSa1777264139_sconf @ p @ E @ (produc52622304on_val @ ha @ (fun_up1252458416on_val @ la @ v @ none_val))) => ((wTrt @ p @ ha @ E @ ea @ T) => (?[T2 : ty]: ((wTrt @ p @ h_a @ E @ e_a @ T2) & (widen_917054840t_char @ p @ T2 @ T)))))))). % BlockRedNone.hyps(2)
thf(fact_5_BlockRedNone_Ohyps_I1_J, 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)))). % BlockRedNone.hyps(1)
thf(fact_6_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_7_local_Owf, axiom,
    ((wf_pro1229751607t_char @ wf_J_mdecl @ p))). % local.wf
thf(fact_8_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_9_widen__refl, axiom,
    ((![P : list_P1234162913t_char, T : ty]: (widen_917054840t_char @ P @ T @ T)))). % widen_refl
thf(fact_10_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_11_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_12_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_13_exp_Opred__inject_I10_J, axiom,
    ((![P : list_char > $o, A : list_char, Aa : ty, Ab : exp_list_char]: ((pred_exp_list_char @ P @ (block_list_char @ A @ Aa @ Ab)) = (((P @ A)) & ((pred_exp_list_char @ P @ Ab))))))). % exp.pred_inject(10)
thf(fact_14_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_15_conf__widen, axiom,
    ((![P : list_P1234162913t_char, H : nat > option2118145160on_val, V : val, T : ty, T3 : ty]: ((conf_P93989998t_char @ P @ H @ V @ T) => ((widen_917054840t_char @ P @ T @ T3) => (conf_P93989998t_char @ P @ H @ V @ T3)))))). % conf_widen
thf(fact_16_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_17_exp_Opred__inject_I12_J, axiom,
    ((![P : list_char > $o, A : exp_list_char, Aa : exp_list_char, Ab : exp_list_char]: ((pred_exp_list_char @ P @ (cond_list_char @ A @ Aa @ Ab)) = (((pred_exp_list_char @ P @ A)) & ((((pred_exp_list_char @ P @ Aa)) & ((pred_exp_list_char @ P @ Ab))))))))). % exp.pred_inject(12)
thf(fact_18_exp_Odistinct_I183_J, axiom,
    ((![X101 : list_char, X102 : ty, X103 : exp_list_char, X121 : exp_list_char, X122 : exp_list_char, X123 : exp_list_char]: (~ (((block_list_char @ X101 @ X102 @ X103) = (cond_list_char @ X121 @ X122 @ X123))))))). % exp.distinct(183)
thf(fact_19_red__reds_OBlockRedNone, axiom,
    ((![E2 : exp_list_char, H : nat > option2118145160on_val, L : list_char > option_val, V2 : list_char, E4 : exp_list_char, H2 : nat > option2118145160on_val, L2 : list_char > option_val, P : list_P1234162913t_char, T : ty]: ((member354538064on_val @ (produc1069526295on_val @ (produc2023458740on_val @ E2 @ (produc52622304on_val @ H @ (fun_up1252458416on_val @ L @ V2 @ none_val))) @ (produc2023458740on_val @ E4 @ (produc52622304on_val @ H2 @ L2))) @ (red @ P)) => (((L2 @ V2) = none_val) => ((~ ((assigned @ V2 @ E2))) => (member354538064on_val @ (produc1069526295on_val @ (produc2023458740on_val @ (block_list_char @ V2 @ T @ E2) @ (produc52622304on_val @ H @ L)) @ (produc2023458740on_val @ (block_list_char @ V2 @ T @ E4) @ (produc52622304on_val @ H2 @ (fun_up1252458416on_val @ L2 @ V2 @ (L @ V2))))) @ (red @ P)))))))). % red_reds.BlockRedNone
thf(fact_20_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_21_red__hext__incr, axiom,
    ((![E2 : exp_list_char, H : nat > option2118145160on_val, L : list_char > option_val, E4 : exp_list_char, H2 : nat > option2118145160on_val, L2 : list_char > option_val, P : list_P1234162913t_char]: ((member354538064on_val @ (produc1069526295on_val @ (produc2023458740on_val @ E2 @ (produc52622304on_val @ H @ L)) @ (produc2023458740on_val @ E4 @ (produc52622304on_val @ H2 @ L2))) @ (red @ P)) => (hext @ H @ H2))))). % red_hext_incr
thf(fact_22_red__reds_OCondRed, axiom,
    ((![E2 : exp_list_char, S2 : produc515445032on_val, E4 : 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 @ E4 @ S3)) @ (red @ P)) => (member354538064on_val @ (produc1069526295on_val @ (produc2023458740on_val @ (cond_list_char @ E2 @ E_1 @ E_2) @ S2) @ (produc2023458740on_val @ (cond_list_char @ E4 @ E_1 @ E_2) @ S3)) @ (red @ P)))))). % red_reds.CondRed
thf(fact_23_upd__None__map__le, axiom,
    ((![F : list_char > option_ty, X : list_char]: (map_le_list_char_ty @ (fun_up9191ion_ty @ F @ X @ none_ty) @ F)))). % upd_None_map_le
thf(fact_24_upd__None__map__le, axiom,
    ((![F : list_char > option_val, X : list_char]: (map_le_list_char_val @ (fun_up1252458416on_val @ F @ X @ none_val) @ F)))). % upd_None_map_le
thf(fact_25_hext__refl, axiom,
    ((![H : nat > option2118145160on_val]: (hext @ H @ H)))). % hext_refl
thf(fact_26_prod__cases4, axiom,
    ((![Y : produc1172664615on_val]: (~ ((![A2 : produc1097884484on_val, B : exp_list_char, C : nat > option2118145160on_val, D : list_char > option_val]: (~ ((Y = (produc1069526295on_val @ A2 @ (produc2023458740on_val @ B @ (produc52622304on_val @ C @ D)))))))))))). % prod_cases4
thf(fact_27_old_Oprod_Oinject, axiom,
    ((![A : nat > option2118145160on_val, B2 : list_char > option_val, A3 : nat > option2118145160on_val, B3 : list_char > option_val]: (((produc52622304on_val @ A @ B2) = (produc52622304on_val @ A3 @ B3)) = (((A = A3)) & ((B2 = B3))))))). % old.prod.inject
thf(fact_28_old_Oprod_Oinject, axiom,
    ((![A : produc1097884484on_val, B2 : produc1097884484on_val, A3 : produc1097884484on_val, B3 : produc1097884484on_val]: (((produc1069526295on_val @ A @ B2) = (produc1069526295on_val @ A3 @ B3)) = (((A = A3)) & ((B2 = B3))))))). % old.prod.inject
thf(fact_29_old_Oprod_Oinject, axiom,
    ((![A : exp_list_char, B2 : produc515445032on_val, A3 : exp_list_char, B3 : produc515445032on_val]: (((produc2023458740on_val @ A @ B2) = (produc2023458740on_val @ A3 @ B3)) = (((A = A3)) & ((B2 = B3))))))). % old.prod.inject
thf(fact_30_prod_Oinject, axiom,
    ((![X1 : nat > option2118145160on_val, X22 : list_char > option_val, Y1 : nat > option2118145160on_val, Y2 : list_char > option_val]: (((produc52622304on_val @ X1 @ X22) = (produc52622304on_val @ Y1 @ Y2)) = (((X1 = Y1)) & ((X22 = Y2))))))). % prod.inject
thf(fact_31_prod_Oinject, axiom,
    ((![X1 : produc1097884484on_val, X22 : produc1097884484on_val, Y1 : produc1097884484on_val, Y2 : produc1097884484on_val]: (((produc1069526295on_val @ X1 @ X22) = (produc1069526295on_val @ Y1 @ Y2)) = (((X1 = Y1)) & ((X22 = Y2))))))). % prod.inject
thf(fact_32_prod_Oinject, axiom,
    ((![X1 : exp_list_char, X22 : produc515445032on_val, Y1 : exp_list_char, Y2 : produc515445032on_val]: (((produc2023458740on_val @ X1 @ X22) = (produc2023458740on_val @ Y1 @ Y2)) = (((X1 = Y1)) & ((X22 = Y2))))))). % prod.inject
thf(fact_33_old_Oprod_Oinducts, axiom,
    ((![P : produc515445032on_val > $o, Prod : produc515445032on_val]: ((![A2 : nat > option2118145160on_val, B : list_char > option_val]: (P @ (produc52622304on_val @ A2 @ B))) => (P @ Prod))))). % old.prod.inducts
thf(fact_34_old_Oprod_Oinducts, axiom,
    ((![P : produc1172664615on_val > $o, Prod : produc1172664615on_val]: ((![A2 : produc1097884484on_val, B : produc1097884484on_val]: (P @ (produc1069526295on_val @ A2 @ B))) => (P @ Prod))))). % old.prod.inducts
thf(fact_35_old_Oprod_Oinducts, axiom,
    ((![P : produc1097884484on_val > $o, Prod : produc1097884484on_val]: ((![A2 : exp_list_char, B : produc515445032on_val]: (P @ (produc2023458740on_val @ A2 @ B))) => (P @ Prod))))). % old.prod.inducts
thf(fact_36_old_Oprod_Oexhaust, axiom,
    ((![Y : produc515445032on_val]: (~ ((![A2 : nat > option2118145160on_val, B : list_char > option_val]: (~ ((Y = (produc52622304on_val @ A2 @ B)))))))))). % old.prod.exhaust
thf(fact_37_old_Oprod_Oexhaust, axiom,
    ((![Y : produc1172664615on_val]: (~ ((![A2 : produc1097884484on_val, B : produc1097884484on_val]: (~ ((Y = (produc1069526295on_val @ A2 @ B)))))))))). % old.prod.exhaust
thf(fact_38_old_Oprod_Oexhaust, axiom,
    ((![Y : produc1097884484on_val]: (~ ((![A2 : exp_list_char, B : produc515445032on_val]: (~ ((Y = (produc2023458740on_val @ A2 @ B)))))))))). % old.prod.exhaust
thf(fact_39_Pair__inject, axiom,
    ((![A : nat > option2118145160on_val, B2 : list_char > option_val, A3 : nat > option2118145160on_val, B3 : list_char > option_val]: (((produc52622304on_val @ A @ B2) = (produc52622304on_val @ A3 @ B3)) => (~ (((A = A3) => (~ ((B2 = B3)))))))))). % Pair_inject
thf(fact_40_Pair__inject, axiom,
    ((![A : produc1097884484on_val, B2 : produc1097884484on_val, A3 : produc1097884484on_val, B3 : produc1097884484on_val]: (((produc1069526295on_val @ A @ B2) = (produc1069526295on_val @ A3 @ B3)) => (~ (((A = A3) => (~ ((B2 = B3)))))))))). % Pair_inject
thf(fact_41_Pair__inject, axiom,
    ((![A : exp_list_char, B2 : produc515445032on_val, A3 : exp_list_char, B3 : produc515445032on_val]: (((produc2023458740on_val @ A @ B2) = (produc2023458740on_val @ A3 @ B3)) => (~ (((A = A3) => (~ ((B2 = B3)))))))))). % Pair_inject
thf(fact_42_prod__cases, axiom,
    ((![P : produc515445032on_val > $o, P2 : produc515445032on_val]: ((![A2 : nat > option2118145160on_val, B : list_char > option_val]: (P @ (produc52622304on_val @ A2 @ B))) => (P @ P2))))). % prod_cases
thf(fact_43_prod__cases, axiom,
    ((![P : produc1172664615on_val > $o, P2 : produc1172664615on_val]: ((![A2 : produc1097884484on_val, B : produc1097884484on_val]: (P @ (produc1069526295on_val @ A2 @ B))) => (P @ P2))))). % prod_cases
thf(fact_44_prod__cases, axiom,
    ((![P : produc1097884484on_val > $o, P2 : produc1097884484on_val]: ((![A2 : exp_list_char, B : produc515445032on_val]: (P @ (produc2023458740on_val @ A2 @ B))) => (P @ P2))))). % prod_cases
thf(fact_45_surj__pair, axiom,
    ((![P2 : produc515445032on_val]: (?[X3 : nat > option2118145160on_val, Y3 : list_char > option_val]: (P2 = (produc52622304on_val @ X3 @ Y3)))))). % surj_pair
thf(fact_46_surj__pair, axiom,
    ((![P2 : produc1172664615on_val]: (?[X3 : produc1097884484on_val, Y3 : produc1097884484on_val]: (P2 = (produc1069526295on_val @ X3 @ Y3)))))). % surj_pair
thf(fact_47_surj__pair, axiom,
    ((![P2 : produc1097884484on_val]: (?[X3 : exp_list_char, Y3 : produc515445032on_val]: (P2 = (produc2023458740on_val @ X3 @ Y3)))))). % surj_pair
thf(fact_48_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_49_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_50_map__le__refl, axiom,
    ((![F : list_char > option_ty]: (map_le_list_char_ty @ F @ F)))). % map_le_refl
thf(fact_51_hext__trans, axiom,
    ((![H : nat > option2118145160on_val, H2 : nat > option2118145160on_val, H3 : nat > option2118145160on_val]: ((hext @ H @ H2) => ((hext @ H2 @ H3) => (hext @ H @ H3)))))). % hext_trans
thf(fact_52_prod__induct3, axiom,
    ((![P : produc1172664615on_val > $o, X : produc1172664615on_val]: ((![A2 : produc1097884484on_val, B : exp_list_char, C : produc515445032on_val]: (P @ (produc1069526295on_val @ A2 @ (produc2023458740on_val @ B @ C)))) => (P @ X))))). % prod_induct3
thf(fact_53_prod__induct3, axiom,
    ((![P : produc1097884484on_val > $o, X : produc1097884484on_val]: ((![A2 : exp_list_char, B : nat > option2118145160on_val, C : list_char > option_val]: (P @ (produc2023458740on_val @ A2 @ (produc52622304on_val @ B @ C)))) => (P @ X))))). % prod_induct3
thf(fact_54_mem__Collect__eq, axiom,
    ((![A : produc1172664615on_val, P : produc1172664615on_val > $o]: ((member354538064on_val @ A @ (collec2055896722on_val @ P)) = (P @ A))))). % mem_Collect_eq
thf(fact_55_Collect__mem__eq, axiom,
    ((![A4 : set_Pr1189492743on_val]: ((collec2055896722on_val @ (^[X2 : produc1172664615on_val]: (member354538064on_val @ X2 @ A4))) = A4)))). % Collect_mem_eq
thf(fact_56_Collect__cong, axiom,
    ((![P : produc1172664615on_val > $o, Q : produc1172664615on_val > $o]: ((![X3 : produc1172664615on_val]: ((P @ X3) = (Q @ X3))) => ((collec2055896722on_val @ P) = (collec2055896722on_val @ Q)))))). % Collect_cong
thf(fact_57_prod__cases3, axiom,
    ((![Y : produc1172664615on_val]: (~ ((![A2 : produc1097884484on_val, B : exp_list_char, C : produc515445032on_val]: (~ ((Y = (produc1069526295on_val @ A2 @ (produc2023458740on_val @ B @ C))))))))))). % prod_cases3
thf(fact_58_prod__cases3, axiom,
    ((![Y : produc1097884484on_val]: (~ ((![A2 : exp_list_char, B : nat > option2118145160on_val, C : list_char > option_val]: (~ ((Y = (produc2023458740on_val @ A2 @ (produc52622304on_val @ B @ C))))))))))). % prod_cases3
thf(fact_59_map__le__upd, axiom,
    ((![F : list_char > option_ty, G : list_char > option_ty, A : list_char, B2 : option_ty]: ((map_le_list_char_ty @ F @ G) => (map_le_list_char_ty @ (fun_up9191ion_ty @ F @ A @ B2) @ (fun_up9191ion_ty @ G @ A @ B2)))))). % map_le_upd
thf(fact_60_map__le__upd, axiom,
    ((![F : list_char > option_val, G : list_char > option_val, A : list_char, B2 : option_val]: ((map_le_list_char_val @ F @ G) => (map_le_list_char_val @ (fun_up1252458416on_val @ F @ A @ B2) @ (fun_up1252458416on_val @ G @ A @ B2)))))). % map_le_upd
thf(fact_61_map__le__empty, axiom,
    ((![G : list_char > option_ty]: (map_le_list_char_ty @ (^[X2 : list_char]: none_ty) @ G)))). % map_le_empty
thf(fact_62_prod__induct4, axiom,
    ((![P : produc1172664615on_val > $o, X : produc1172664615on_val]: ((![A2 : produc1097884484on_val, B : exp_list_char, C : nat > option2118145160on_val, D : list_char > option_val]: (P @ (produc1069526295on_val @ A2 @ (produc2023458740on_val @ B @ (produc52622304on_val @ C @ D))))) => (P @ X))))). % prod_induct4
thf(fact_63_fun__upd__apply, axiom,
    ((fun_up1252458416on_val = (^[F2 : list_char > option_val]: (^[X2 : list_char]: (^[Y4 : option_val]: (^[Z : list_char]: (if_option_val @ (Z = X2) @ Y4 @ (F2 @ Z))))))))). % fun_upd_apply
thf(fact_64_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_65_fun__upd__upd, axiom,
    ((![F : list_char > option_val, X : list_char, Y : option_val, Z2 : option_val]: ((fun_up1252458416on_val @ (fun_up1252458416on_val @ F @ X @ Y) @ X @ Z2) = (fun_up1252458416on_val @ F @ X @ Z2))))). % fun_upd_upd
thf(fact_66_red__preserves__hconf, axiom,
    ((![E2 : exp_list_char, H : nat > option2118145160on_val, L : list_char > option_val, E4 : exp_list_char, H2 : nat > option2118145160on_val, L2 : 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 @ L)) @ (produc2023458740on_val @ E4 @ (produc52622304on_val @ H2 @ L2))) @ (red @ P)) => ((wTrt @ P @ H @ E @ E2 @ T) => ((hconf_1244167010t_char @ P @ H) => (hconf_1244167010t_char @ P @ H2))))))). % red_preserves_hconf
thf(fact_67_red__preserves__lconf, axiom,
    ((![E2 : exp_list_char, H : nat > option2118145160on_val, L : list_char > option_val, E4 : exp_list_char, H2 : nat > option2118145160on_val, L2 : 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 @ L)) @ (produc2023458740on_val @ E4 @ (produc52622304on_val @ H2 @ L2))) @ (red @ P)) => ((wTrt @ P @ H @ E @ E2 @ T) => ((lconf_485928294t_char @ P @ H @ L @ E) => (lconf_485928294t_char @ P @ H2 @ L2 @ E))))))). % red_preserves_lconf
thf(fact_68_red__preserves__sconf, axiom,
    ((![E2 : exp_list_char, S2 : produc515445032on_val, E4 : 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 @ E4 @ 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_69_lconf__empty, axiom,
    ((![P : list_P1234162913t_char, H : nat > option2118145160on_val, E : list_char > option_ty]: (lconf_485928294t_char @ P @ H @ (^[X2 : list_char]: none_val) @ E)))). % lconf_empty
thf(fact_70_lconf__hext, axiom,
    ((![P : list_P1234162913t_char, H : nat > option2118145160on_val, L : list_char > option_val, E : list_char > option_ty, H2 : nat > option2118145160on_val]: ((lconf_485928294t_char @ P @ H @ L @ E) => ((hext @ H @ H2) => (lconf_485928294t_char @ P @ H2 @ L @ E)))))). % lconf_hext
thf(fact_71_fun__upd__def, axiom,
    ((fun_up1252458416on_val = (^[F2 : list_char > option_val]: (^[A5 : list_char]: (^[B4 : option_val]: (^[X2 : list_char]: (if_option_val @ (X2 = A5) @ B4 @ (F2 @ X2))))))))). % fun_upd_def
thf(fact_72_fun__upd__eqD, axiom,
    ((![F : list_char > option_val, X : list_char, Y : option_val, G : list_char > option_val, Z2 : option_val]: (((fun_up1252458416on_val @ F @ X @ Y) = (fun_up1252458416on_val @ G @ X @ Z2)) => (Y = Z2))))). % fun_upd_eqD
thf(fact_73_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_74_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_75_fun__upd__other, axiom,
    ((![Z2 : list_char, X : list_char, F : list_char > option_val, Y : option_val]: ((~ ((Z2 = X))) => ((fun_up1252458416on_val @ F @ X @ Y @ Z2) = (F @ Z2)))))). % fun_upd_other
thf(fact_76_fun__upd__twist, axiom,
    ((![A : list_char, C2 : list_char, M : list_char > option_val, B2 : option_val, D2 : option_val]: ((~ ((A = C2))) => ((fun_up1252458416on_val @ (fun_up1252458416on_val @ M @ A @ B2) @ C2 @ D2) = (fun_up1252458416on_val @ (fun_up1252458416on_val @ M @ C2 @ D2) @ A @ B2)))))). % fun_upd_twist
thf(fact_77_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_78_redp__redsp_OBlockRedNone, axiom,
    ((![P : list_P1234162913t_char, E2 : exp_list_char, H : nat > option2118145160on_val, L : list_char > option_val, V2 : list_char, E4 : exp_list_char, H2 : nat > option2118145160on_val, L2 : list_char > option_val, T : ty]: ((redp @ P @ E2 @ (produc52622304on_val @ H @ (fun_up1252458416on_val @ L @ V2 @ none_val)) @ E4 @ (produc52622304on_val @ H2 @ L2)) => (((L2 @ V2) = none_val) => ((~ ((assigned @ V2 @ E2))) => (redp @ P @ (block_list_char @ V2 @ T @ E2) @ (produc52622304on_val @ H @ L) @ (block_list_char @ V2 @ T @ E4) @ (produc52622304on_val @ H2 @ (fun_up1252458416on_val @ L2 @ V2 @ (L @ V2)))))))))). % redp_redsp.BlockRedNone
thf(fact_79_pred__equals__eq2, axiom,
    ((![R : set_Pr723149704on_val, S : set_Pr723149704on_val]: (((^[X2 : nat > option2118145160on_val]: (^[Y4 : list_char > option_val]: (member652041809on_val @ (produc52622304on_val @ X2 @ Y4) @ R))) = (^[X2 : nat > option2118145160on_val]: (^[Y4 : list_char > option_val]: (member652041809on_val @ (produc52622304on_val @ X2 @ Y4) @ S)))) = (R = S))))). % pred_equals_eq2
thf(fact_80_pred__equals__eq2, axiom,
    ((![R : set_Pr1189492743on_val, S : set_Pr1189492743on_val]: (((^[X2 : produc1097884484on_val]: (^[Y4 : produc1097884484on_val]: (member354538064on_val @ (produc1069526295on_val @ X2 @ Y4) @ R))) = (^[X2 : produc1097884484on_val]: (^[Y4 : produc1097884484on_val]: (member354538064on_val @ (produc1069526295on_val @ X2 @ Y4) @ S)))) = (R = S))))). % pred_equals_eq2
thf(fact_81_pred__equals__eq2, axiom,
    ((![R : set_Pr556513572on_val, S : set_Pr556513572on_val]: (((^[X2 : exp_list_char]: (^[Y4 : produc515445032on_val]: (member1888679917on_val @ (produc2023458740on_val @ X2 @ Y4) @ R))) = (^[X2 : exp_list_char]: (^[Y4 : produc515445032on_val]: (member1888679917on_val @ (produc2023458740on_val @ X2 @ Y4) @ S)))) = (R = S))))). % pred_equals_eq2
thf(fact_82_redp__redsp_OCondRed, axiom,
    ((![P : list_P1234162913t_char, E2 : exp_list_char, S2 : produc515445032on_val, E4 : exp_list_char, S3 : produc515445032on_val, E_1 : exp_list_char, E_2 : exp_list_char]: ((redp @ P @ E2 @ S2 @ E4 @ S3) => (redp @ P @ (cond_list_char @ E2 @ E_1 @ E_2) @ S2 @ (cond_list_char @ E4 @ E_1 @ E_2) @ S3))))). % redp_redsp.CondRed
thf(fact_83_redp__red__eq, axiom,
    ((redp = (^[P3 : list_P1234162913t_char]: (^[X2 : exp_list_char]: (^[Y4 : produc515445032on_val]: (^[Z : exp_list_char]: (^[Aa2 : produc515445032on_val]: (member354538064on_val @ (produc1069526295on_val @ (produc2023458740on_val @ X2 @ Y4) @ (produc2023458740on_val @ Z @ Aa2)) @ (red @ P3)))))))))). % redp_red_eq
thf(fact_84_red__lcl__add, axiom,
    ((![E2 : exp_list_char, H : nat > option2118145160on_val, L : list_char > option_val, E4 : exp_list_char, H2 : nat > option2118145160on_val, L2 : list_char > option_val, P : list_P1234162913t_char, L_0 : list_char > option_val]: ((member354538064on_val @ (produc1069526295on_val @ (produc2023458740on_val @ E2 @ (produc52622304on_val @ H @ L)) @ (produc2023458740on_val @ E4 @ (produc52622304on_val @ H2 @ L2))) @ (red @ P)) => (member354538064on_val @ (produc1069526295on_val @ (produc2023458740on_val @ E2 @ (produc52622304on_val @ H @ (map_ad1615113112ar_val @ L_0 @ L))) @ (produc2023458740on_val @ E4 @ (produc52622304on_val @ H2 @ (map_ad1615113112ar_val @ L_0 @ L2)))) @ (red @ P)))))). % red_lcl_add
thf(fact_85_sconf__def, axiom,
    ((typeSa1777264139_sconf = (^[P3 : list_P1234162913t_char]: (^[E5 : list_char > option_ty]: (produc99536995_val_o @ (^[H4 : nat > option2118145160on_val]: (^[L3 : list_char > option_val]: (((hconf_1244167010t_char @ P3 @ H4)) & ((lconf_485928294t_char @ P3 @ H4 @ L3 @ E5))))))))))). % sconf_def
thf(fact_86_red__reds_ORedBlock, axiom,
    ((![V2 : list_char, T : ty, U2 : val, S2 : produc515445032on_val, P : list_P1234162913t_char]: (member354538064on_val @ (produc1069526295on_val @ (produc2023458740on_val @ (block_list_char @ V2 @ T @ (val_list_char @ U2)) @ S2) @ (produc2023458740on_val @ (val_list_char @ U2) @ S2)) @ (red @ P))))). % red_reds.RedBlock
thf(fact_87_red__reds_OCondThrow, axiom,
    ((![E2 : exp_list_char, 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 @ (throw_list_char @ E2) @ E_1 @ E_2) @ S2) @ (produc2023458740on_val @ (throw_list_char @ E2) @ S2)) @ (red @ P))))). % red_reds.CondThrow
thf(fact_88_exp_Oinject_I3_J, axiom,
    ((![X32 : val, Y32 : val]: (((val_list_char @ X32) = (val_list_char @ Y32)) = (X32 = Y32))))). % exp.inject(3)
thf(fact_89_exp_Oinject_I14_J, axiom,
    ((![X14 : exp_list_char, Y14 : exp_list_char]: (((throw_list_char @ X14) = (throw_list_char @ Y14)) = (X14 = Y14))))). % exp.inject(14)
thf(fact_90_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_91_split__part, axiom,
    ((![P : $o, Q : (nat > option2118145160on_val) > (list_char > option_val) > $o]: ((produc99536995_val_o @ (^[A5 : nat > option2118145160on_val]: (^[B4 : list_char > option_val]: ((P) & ((Q @ A5 @ B4)))))) = (^[Ab2 : produc515445032on_val]: ((P) & ((produc99536995_val_o @ Q @ Ab2)))))))). % split_part
thf(fact_92_split__part, axiom,
    ((![P : $o, Q : produc1097884484on_val > produc1097884484on_val > $o]: ((produc50362220_val_o @ (^[A5 : produc1097884484on_val]: (^[B4 : produc1097884484on_val]: ((P) & ((Q @ A5 @ B4)))))) = (^[Ab2 : produc1172664615on_val]: ((P) & ((produc50362220_val_o @ Q @ Ab2)))))))). % split_part
thf(fact_93_split__part, axiom,
    ((![P : $o, Q : exp_list_char > produc515445032on_val > $o]: ((produc199145871_val_o @ (^[A5 : exp_list_char]: (^[B4 : produc515445032on_val]: ((P) & ((Q @ A5 @ B4)))))) = (^[Ab2 : produc1097884484on_val]: ((P) & ((produc199145871_val_o @ Q @ Ab2)))))))). % split_part
thf(fact_94_exp_Opred__inject_I14_J, axiom,
    ((![P : list_char > $o, A : exp_list_char]: ((pred_exp_list_char @ P @ (throw_list_char @ A)) = (pred_exp_list_char @ P @ A))))). % exp.pred_inject(14)
thf(fact_95_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_96_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_97_case__prod__conv, axiom,
    ((![F : (nat > option2118145160on_val) > (list_char > option_val) > $o, A : nat > option2118145160on_val, B2 : list_char > option_val]: ((produc99536995_val_o @ F @ (produc52622304on_val @ A @ B2)) = (F @ A @ B2))))). % case_prod_conv
thf(fact_98_case__prod__conv, axiom,
    ((![F : produc1097884484on_val > produc1097884484on_val > $o, A : produc1097884484on_val, B2 : produc1097884484on_val]: ((produc50362220_val_o @ F @ (produc1069526295on_val @ A @ B2)) = (F @ A @ B2))))). % case_prod_conv
thf(fact_99_case__prod__conv, axiom,
    ((![F : exp_list_char > produc515445032on_val > produc1097884484on_val > $o, A : exp_list_char, B2 : produc515445032on_val]: ((produc1468025474_val_o @ F @ (produc2023458740on_val @ A @ B2)) = (F @ A @ B2))))). % case_prod_conv
thf(fact_100_case__prod__conv, axiom,
    ((![F : exp_list_char > produc515445032on_val > $o, A : exp_list_char, B2 : produc515445032on_val]: ((produc199145871_val_o @ F @ (produc2023458740on_val @ A @ B2)) = (F @ A @ B2))))). % case_prod_conv
thf(fact_101_case__prodI, axiom,
    ((![F : (nat > option2118145160on_val) > (list_char > option_val) > $o, A : nat > option2118145160on_val, B2 : list_char > option_val]: ((F @ A @ B2) => (produc99536995_val_o @ F @ (produc52622304on_val @ A @ B2)))))). % case_prodI
thf(fact_102_case__prodI, axiom,
    ((![F : produc1097884484on_val > produc1097884484on_val > $o, A : produc1097884484on_val, B2 : produc1097884484on_val]: ((F @ A @ B2) => (produc50362220_val_o @ F @ (produc1069526295on_val @ A @ B2)))))). % case_prodI
thf(fact_103_case__prodI, axiom,
    ((![F : exp_list_char > produc515445032on_val > $o, A : exp_list_char, B2 : produc515445032on_val]: ((F @ A @ B2) => (produc199145871_val_o @ F @ (produc2023458740on_val @ A @ B2)))))). % case_prodI
thf(fact_104_case__prodI2, axiom,
    ((![P2 : produc515445032on_val, C2 : (nat > option2118145160on_val) > (list_char > option_val) > $o]: ((![A2 : nat > option2118145160on_val, B : list_char > option_val]: ((P2 = (produc52622304on_val @ A2 @ B)) => (C2 @ A2 @ B))) => (produc99536995_val_o @ C2 @ P2))))). % case_prodI2
thf(fact_105_case__prodI2, axiom,
    ((![P2 : produc1172664615on_val, C2 : produc1097884484on_val > produc1097884484on_val > $o]: ((![A2 : produc1097884484on_val, B : produc1097884484on_val]: ((P2 = (produc1069526295on_val @ A2 @ B)) => (C2 @ A2 @ B))) => (produc50362220_val_o @ C2 @ P2))))). % case_prodI2
thf(fact_106_case__prodI2, axiom,
    ((![P2 : produc1097884484on_val, C2 : exp_list_char > produc515445032on_val > $o]: ((![A2 : exp_list_char, B : produc515445032on_val]: ((P2 = (produc2023458740on_val @ A2 @ B)) => (C2 @ A2 @ B))) => (produc199145871_val_o @ C2 @ P2))))). % case_prodI2
thf(fact_107_empty__map__add, axiom,
    ((![M : list_char > option_val]: ((map_ad1615113112ar_val @ (^[X2 : list_char]: none_val) @ M) = M)))). % empty_map_add
thf(fact_108_map__add__empty, axiom,
    ((![M : list_char > option_val]: ((map_ad1615113112ar_val @ M @ (^[X2 : list_char]: none_val)) = M)))). % map_add_empty
thf(fact_109_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_110_redp__redsp_OThrowRed, axiom,
    ((![P : list_P1234162913t_char, E2 : exp_list_char, S2 : produc515445032on_val, E4 : exp_list_char, S3 : produc515445032on_val]: ((redp @ P @ E2 @ S2 @ E4 @ S3) => (redp @ P @ (throw_list_char @ E2) @ S2 @ (throw_list_char @ E4) @ S3))))). % redp_redsp.ThrowRed
thf(fact_111_redp__redsp_OThrowThrow, axiom,
    ((![P : list_P1234162913t_char, E2 : exp_list_char, S2 : produc515445032on_val]: (redp @ P @ (throw_list_char @ (throw_list_char @ E2)) @ S2 @ (throw_list_char @ E2) @ S2)))). % redp_redsp.ThrowThrow
thf(fact_112_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_113_exp_Odistinct_I71_J, axiom,
    ((![X32 : val, X121 : exp_list_char, X122 : exp_list_char, X123 : exp_list_char]: (~ (((val_list_char @ X32) = (cond_list_char @ X121 @ X122 @ X123))))))). % exp.distinct(71)
thf(fact_114_exp_Odistinct_I187_J, axiom,
    ((![X101 : list_char, X102 : ty, X103 : exp_list_char, X14 : exp_list_char]: (~ (((block_list_char @ X101 @ X102 @ X103) = (throw_list_char @ X14))))))). % exp.distinct(187)
thf(fact_115_exp_Odistinct_I201_J, axiom,
    ((![X121 : exp_list_char, X122 : exp_list_char, X123 : exp_list_char, X14 : exp_list_char]: (~ (((cond_list_char @ X121 @ X122 @ X123) = (throw_list_char @ X14))))))). % exp.distinct(201)
thf(fact_116_case__prodE, axiom,
    ((![C2 : (nat > option2118145160on_val) > (list_char > option_val) > $o, P2 : produc515445032on_val]: ((produc99536995_val_o @ C2 @ P2) => (~ ((![X3 : nat > option2118145160on_val, Y3 : list_char > option_val]: ((P2 = (produc52622304on_val @ X3 @ Y3)) => (~ ((C2 @ X3 @ Y3))))))))))). % case_prodE
thf(fact_117_case__prodE, axiom,
    ((![C2 : produc1097884484on_val > produc1097884484on_val > $o, P2 : produc1172664615on_val]: ((produc50362220_val_o @ C2 @ P2) => (~ ((![X3 : produc1097884484on_val, Y3 : produc1097884484on_val]: ((P2 = (produc1069526295on_val @ X3 @ Y3)) => (~ ((C2 @ X3 @ Y3))))))))))). % case_prodE
thf(fact_118_case__prodE, axiom,
    ((![C2 : exp_list_char > produc515445032on_val > $o, P2 : produc1097884484on_val]: ((produc199145871_val_o @ C2 @ P2) => (~ ((![X3 : exp_list_char, Y3 : produc515445032on_val]: ((P2 = (produc2023458740on_val @ X3 @ Y3)) => (~ ((C2 @ X3 @ Y3))))))))))). % case_prodE
thf(fact_119_case__prodD, axiom,
    ((![F : (nat > option2118145160on_val) > (list_char > option_val) > $o, A : nat > option2118145160on_val, B2 : list_char > option_val]: ((produc99536995_val_o @ F @ (produc52622304on_val @ A @ B2)) => (F @ A @ B2))))). % case_prodD
thf(fact_120_case__prodD, axiom,
    ((![F : produc1097884484on_val > produc1097884484on_val > $o, A : produc1097884484on_val, B2 : produc1097884484on_val]: ((produc50362220_val_o @ F @ (produc1069526295on_val @ A @ B2)) => (F @ A @ B2))))). % case_prodD
thf(fact_121_case__prodD, axiom,
    ((![F : exp_list_char > produc515445032on_val > $o, A : exp_list_char, B2 : produc515445032on_val]: ((produc199145871_val_o @ F @ (produc2023458740on_val @ A @ B2)) => (F @ A @ B2))))). % case_prodD
thf(fact_122_prod_Odisc__eq__case, axiom,
    ((![Prod : produc515445032on_val]: (produc99536995_val_o @ (^[Uu : nat > option2118145160on_val]: (^[Uv : list_char > option_val]: $true)) @ Prod)))). % prod.disc_eq_case
thf(fact_123_prod_Odisc__eq__case, axiom,
    ((![Prod : produc1172664615on_val]: (produc50362220_val_o @ (^[Uu : produc1097884484on_val]: (^[Uv : produc1097884484on_val]: $true)) @ Prod)))). % prod.disc_eq_case
thf(fact_124_prod_Odisc__eq__case, axiom,
    ((![Prod : produc1097884484on_val]: (produc199145871_val_o @ (^[Uu : exp_list_char]: (^[Uv : produc515445032on_val]: $true)) @ Prod)))). % prod.disc_eq_case
thf(fact_125_prod_Ocase__distrib, axiom,
    ((![H : $o > $o, F : (nat > option2118145160on_val) > (list_char > option_val) > $o, Prod : produc515445032on_val]: ((H @ (produc99536995_val_o @ F @ Prod)) = (produc99536995_val_o @ (^[X12 : nat > option2118145160on_val]: (^[X23 : list_char > option_val]: (H @ (F @ X12 @ X23)))) @ Prod))))). % prod.case_distrib
thf(fact_126_prod_Ocase__distrib, axiom,
    ((![H : $o > $o, F : produc1097884484on_val > produc1097884484on_val > $o, Prod : produc1172664615on_val]: ((H @ (produc50362220_val_o @ F @ Prod)) = (produc50362220_val_o @ (^[X12 : produc1097884484on_val]: (^[X23 : produc1097884484on_val]: (H @ (F @ X12 @ X23)))) @ Prod))))). % prod.case_distrib
thf(fact_127_prod_Ocase__distrib, axiom,
    ((![H : (produc1097884484on_val > $o) > produc1097884484on_val > $o, F : exp_list_char > produc515445032on_val > produc1097884484on_val > $o, Prod : produc1097884484on_val]: ((H @ (produc1468025474_val_o @ F @ Prod)) = (produc1468025474_val_o @ (^[X12 : exp_list_char]: (^[X23 : produc515445032on_val]: (H @ (F @ X12 @ X23)))) @ Prod))))). % prod.case_distrib
thf(fact_128_prod_Ocase__distrib, axiom,
    ((![H : (produc1097884484on_val > $o) > $o, F : exp_list_char > produc515445032on_val > produc1097884484on_val > $o, Prod : produc1097884484on_val]: ((H @ (produc1468025474_val_o @ F @ Prod)) = (produc199145871_val_o @ (^[X12 : exp_list_char]: (^[X23 : produc515445032on_val]: (H @ (F @ X12 @ X23)))) @ Prod))))). % prod.case_distrib
thf(fact_129_prod_Ocase__distrib, axiom,
    ((![H : $o > produc1097884484on_val > $o, F : exp_list_char > produc515445032on_val > $o, Prod : produc1097884484on_val]: ((H @ (produc199145871_val_o @ F @ Prod)) = (produc1468025474_val_o @ (^[X12 : exp_list_char]: (^[X23 : produc515445032on_val]: (H @ (F @ X12 @ X23)))) @ Prod))))). % prod.case_distrib
thf(fact_130_prod_Ocase__distrib, axiom,
    ((![H : $o > $o, F : exp_list_char > produc515445032on_val > $o, Prod : produc1097884484on_val]: ((H @ (produc199145871_val_o @ F @ Prod)) = (produc199145871_val_o @ (^[X12 : exp_list_char]: (^[X23 : produc515445032on_val]: (H @ (F @ X12 @ X23)))) @ Prod))))). % prod.case_distrib
thf(fact_131_exp_Odistinct_I75_J, axiom,
    ((![X32 : val, X14 : exp_list_char]: (~ (((val_list_char @ X32) = (throw_list_char @ X14))))))). % exp.distinct(75)
thf(fact_132_old_Oprod_Ocase, axiom,
    ((![F : (nat > option2118145160on_val) > (list_char > option_val) > $o, X1 : nat > option2118145160on_val, X22 : list_char > option_val]: ((produc99536995_val_o @ F @ (produc52622304on_val @ X1 @ X22)) = (F @ X1 @ X22))))). % old.prod.case
thf(fact_133_old_Oprod_Ocase, axiom,
    ((![F : produc1097884484on_val > produc1097884484on_val > $o, X1 : produc1097884484on_val, X22 : produc1097884484on_val]: ((produc50362220_val_o @ F @ (produc1069526295on_val @ X1 @ X22)) = (F @ X1 @ X22))))). % old.prod.case
thf(fact_134_old_Oprod_Ocase, axiom,
    ((![F : exp_list_char > produc515445032on_val > produc1097884484on_val > $o, X1 : exp_list_char, X22 : produc515445032on_val]: ((produc1468025474_val_o @ F @ (produc2023458740on_val @ X1 @ X22)) = (F @ X1 @ X22))))). % old.prod.case
thf(fact_135_old_Oprod_Ocase, axiom,
    ((![F : exp_list_char > produc515445032on_val > $o, X1 : exp_list_char, X22 : produc515445032on_val]: ((produc199145871_val_o @ F @ (produc2023458740on_val @ X1 @ X22)) = (F @ X1 @ X22))))). % old.prod.case
thf(fact_136_map__le__map__add, axiom,
    ((![F : list_char > option_ty, G : list_char > option_ty]: (map_le_list_char_ty @ F @ (map_add_list_char_ty @ G @ F))))). % map_le_map_add
thf(fact_137_map__le__map__add, axiom,
    ((![F : list_char > option_val, G : list_char > option_val]: (map_le_list_char_val @ F @ (map_ad1615113112ar_val @ G @ F))))). % map_le_map_add
thf(fact_138_map__add__le__mapE, axiom,
    ((![F : list_char > option_ty, G : list_char > option_ty, H : list_char > option_ty]: ((map_le_list_char_ty @ (map_add_list_char_ty @ F @ G) @ H) => (map_le_list_char_ty @ G @ H))))). % map_add_le_mapE
thf(fact_139_map__add__le__mapE, axiom,
    ((![F : list_char > option_val, G : list_char > option_val, H : list_char > option_val]: ((map_le_list_char_val @ (map_ad1615113112ar_val @ F @ G) @ H) => (map_le_list_char_val @ G @ H))))). % map_add_le_mapE
thf(fact_140_map__add__le__mapI, axiom,
    ((![F : list_char > option_ty, H : list_char > option_ty, G : list_char > option_ty]: ((map_le_list_char_ty @ F @ H) => ((map_le_list_char_ty @ G @ H) => (map_le_list_char_ty @ (map_add_list_char_ty @ F @ G) @ H)))))). % map_add_le_mapI
thf(fact_141_map__add__le__mapI, axiom,
    ((![F : list_char > option_val, H : list_char > option_val, G : list_char > option_val]: ((map_le_list_char_val @ F @ H) => ((map_le_list_char_val @ G @ H) => (map_le_list_char_val @ (map_ad1615113112ar_val @ F @ G) @ H)))))). % map_add_le_mapI
thf(fact_142_map__add__subsumed1, axiom,
    ((![F : list_char > option_ty, G : list_char > option_ty]: ((map_le_list_char_ty @ F @ G) => ((map_add_list_char_ty @ F @ G) = G))))). % map_add_subsumed1
thf(fact_143_map__add__subsumed1, axiom,
    ((![F : list_char > option_val, G : list_char > option_val]: ((map_le_list_char_val @ F @ G) => ((map_ad1615113112ar_val @ F @ G) = G))))). % map_add_subsumed1
thf(fact_144_map__add__subsumed2, axiom,
    ((![F : list_char > option_ty, G : list_char > option_ty]: ((map_le_list_char_ty @ F @ G) => ((map_add_list_char_ty @ G @ F) = G))))). % map_add_subsumed2
thf(fact_145_map__add__subsumed2, axiom,
    ((![F : list_char > option_val, G : list_char > option_val]: ((map_le_list_char_val @ F @ G) => ((map_ad1615113112ar_val @ G @ F) = G))))). % map_add_subsumed2
thf(fact_146_map__le__iff__map__add__commute, axiom,
    ((![F : list_char > option_ty, G : list_char > option_ty]: ((map_le_list_char_ty @ F @ (map_add_list_char_ty @ F @ G)) = ((map_add_list_char_ty @ F @ G) = (map_add_list_char_ty @ G @ F)))))). % map_le_iff_map_add_commute
thf(fact_147_map__le__iff__map__add__commute, axiom,
    ((![F : list_char > option_val, G : list_char > option_val]: ((map_le_list_char_val @ F @ (map_ad1615113112ar_val @ F @ G)) = ((map_ad1615113112ar_val @ F @ G) = (map_ad1615113112ar_val @ G @ F)))))). % map_le_iff_map_add_commute
thf(fact_148_case__prodE2, axiom,
    ((![Q : $o > $o, P : (nat > option2118145160on_val) > (list_char > option_val) > $o, Z2 : produc515445032on_val]: ((Q @ (produc99536995_val_o @ P @ Z2)) => (~ ((![X3 : nat > option2118145160on_val, Y3 : list_char > option_val]: ((Z2 = (produc52622304on_val @ X3 @ Y3)) => (~ ((Q @ (P @ X3 @ Y3)))))))))))). % case_prodE2
thf(fact_149_case__prodE2, axiom,
    ((![Q : $o > $o, P : produc1097884484on_val > produc1097884484on_val > $o, Z2 : produc1172664615on_val]: ((Q @ (produc50362220_val_o @ P @ Z2)) => (~ ((![X3 : produc1097884484on_val, Y3 : produc1097884484on_val]: ((Z2 = (produc1069526295on_val @ X3 @ Y3)) => (~ ((Q @ (P @ X3 @ Y3)))))))))))). % case_prodE2
thf(fact_150_case__prodE2, axiom,
    ((![Q : (produc1097884484on_val > $o) > $o, P : exp_list_char > produc515445032on_val > produc1097884484on_val > $o, Z2 : produc1097884484on_val]: ((Q @ (produc1468025474_val_o @ P @ Z2)) => (~ ((![X3 : exp_list_char, Y3 : produc515445032on_val]: ((Z2 = (produc2023458740on_val @ X3 @ Y3)) => (~ ((Q @ (P @ X3 @ Y3)))))))))))). % case_prodE2
thf(fact_151_case__prodE2, axiom,
    ((![Q : $o > $o, P : exp_list_char > produc515445032on_val > $o, Z2 : produc1097884484on_val]: ((Q @ (produc199145871_val_o @ P @ Z2)) => (~ ((![X3 : exp_list_char, Y3 : produc515445032on_val]: ((Z2 = (produc2023458740on_val @ X3 @ Y3)) => (~ ((Q @ (P @ X3 @ Y3)))))))))))). % case_prodE2
thf(fact_152_case__prod__eta, axiom,
    ((![F : produc515445032on_val > $o]: ((produc99536995_val_o @ (^[X2 : nat > option2118145160on_val]: (^[Y4 : list_char > option_val]: (F @ (produc52622304on_val @ X2 @ Y4))))) = F)))). % case_prod_eta
thf(fact_153_case__prod__eta, axiom,
    ((![F : produc1172664615on_val > $o]: ((produc50362220_val_o @ (^[X2 : produc1097884484on_val]: (^[Y4 : produc1097884484on_val]: (F @ (produc1069526295on_val @ X2 @ Y4))))) = F)))). % case_prod_eta
thf(fact_154_case__prod__eta, axiom,
    ((![F : produc1097884484on_val > produc1097884484on_val > $o]: ((produc1468025474_val_o @ (^[X2 : exp_list_char]: (^[Y4 : produc515445032on_val]: (F @ (produc2023458740on_val @ X2 @ Y4))))) = F)))). % case_prod_eta
thf(fact_155_case__prod__eta, axiom,
    ((![F : produc1097884484on_val > $o]: ((produc199145871_val_o @ (^[X2 : exp_list_char]: (^[Y4 : produc515445032on_val]: (F @ (produc2023458740on_val @ X2 @ Y4))))) = F)))). % case_prod_eta
thf(fact_156_cond__case__prod__eta, axiom,
    ((![F : (nat > option2118145160on_val) > (list_char > option_val) > $o, G : produc515445032on_val > $o]: ((![X3 : nat > option2118145160on_val, Y3 : list_char > option_val]: ((F @ X3 @ Y3) = (G @ (produc52622304on_val @ X3 @ Y3)))) => ((produc99536995_val_o @ F) = G))))). % cond_case_prod_eta
thf(fact_157_cond__case__prod__eta, axiom,
    ((![F : produc1097884484on_val > produc1097884484on_val > $o, G : produc1172664615on_val > $o]: ((![X3 : produc1097884484on_val, Y3 : produc1097884484on_val]: ((F @ X3 @ Y3) = (G @ (produc1069526295on_val @ X3 @ Y3)))) => ((produc50362220_val_o @ F) = G))))). % cond_case_prod_eta
thf(fact_158_cond__case__prod__eta, axiom,
    ((![F : exp_list_char > produc515445032on_val > produc1097884484on_val > $o, G : produc1097884484on_val > produc1097884484on_val > $o]: ((![X3 : exp_list_char, Y3 : produc515445032on_val]: ((F @ X3 @ Y3) = (G @ (produc2023458740on_val @ X3 @ Y3)))) => ((produc1468025474_val_o @ F) = G))))). % cond_case_prod_eta
thf(fact_159_cond__case__prod__eta, axiom,
    ((![F : exp_list_char > produc515445032on_val > $o, G : produc1097884484on_val > $o]: ((![X3 : exp_list_char, Y3 : produc515445032on_val]: ((F @ X3 @ Y3) = (G @ (produc2023458740on_val @ X3 @ Y3)))) => ((produc199145871_val_o @ F) = G))))). % cond_case_prod_eta
thf(fact_160_redp__redsp_OCondThrow, axiom,
    ((![P : list_P1234162913t_char, E2 : exp_list_char, E_1 : exp_list_char, E_2 : exp_list_char, S2 : produc515445032on_val]: (redp @ P @ (cond_list_char @ (throw_list_char @ E2) @ E_1 @ E_2) @ S2 @ (throw_list_char @ E2) @ S2)))). % redp_redsp.CondThrow
thf(fact_161_redp__redsp_ORedBlock, axiom,
    ((![P : list_P1234162913t_char, V2 : list_char, T : ty, U2 : val, S2 : produc515445032on_val]: (redp @ P @ (block_list_char @ V2 @ T @ (val_list_char @ U2)) @ S2 @ (val_list_char @ U2) @ S2)))). % redp_redsp.RedBlock
thf(fact_162_internal__case__prod__def, axiom,
    ((produc563955725_val_o = produc99536995_val_o))). % internal_case_prod_def
thf(fact_163_internal__case__prod__def, axiom,
    ((produc1351546646_val_o = produc50362220_val_o))). % internal_case_prod_def
thf(fact_164_internal__case__prod__def, axiom,
    ((produc914566744_val_o = produc1468025474_val_o))). % internal_case_prod_def
thf(fact_165_internal__case__prod__def, axiom,
    ((produc1875489849_val_o = produc199145871_val_o))). % internal_case_prod_def
thf(fact_166_red__reds_OThrowRed, axiom,
    ((![E2 : exp_list_char, S2 : produc515445032on_val, E4 : exp_list_char, S3 : produc515445032on_val, P : list_P1234162913t_char]: ((member354538064on_val @ (produc1069526295on_val @ (produc2023458740on_val @ E2 @ S2) @ (produc2023458740on_val @ E4 @ S3)) @ (red @ P)) => (member354538064on_val @ (produc1069526295on_val @ (produc2023458740on_val @ (throw_list_char @ E2) @ S2) @ (produc2023458740on_val @ (throw_list_char @ E4) @ S3)) @ (red @ P)))))). % red_reds.ThrowRed
thf(fact_167_red__reds_OThrowThrow, axiom,
    ((![E2 : exp_list_char, S2 : produc515445032on_val, P : list_P1234162913t_char]: (member354538064on_val @ (produc1069526295on_val @ (produc2023458740on_val @ (throw_list_char @ (throw_list_char @ E2)) @ S2) @ (produc2023458740on_val @ (throw_list_char @ E2) @ S2)) @ (red @ P))))). % red_reds.ThrowThrow
thf(fact_168_split__cong, axiom,
    ((![Q2 : produc515445032on_val, F : (nat > option2118145160on_val) > (list_char > option_val) > $o, G : (nat > option2118145160on_val) > (list_char > option_val) > $o, P2 : produc515445032on_val]: ((![X3 : nat > option2118145160on_val, Y3 : list_char > option_val]: (((produc52622304on_val @ X3 @ Y3) = Q2) => ((F @ X3 @ Y3) = (G @ X3 @ Y3)))) => ((P2 = Q2) => ((produc99536995_val_o @ F @ P2) = (produc99536995_val_o @ G @ Q2))))))). % split_cong
thf(fact_169_split__cong, axiom,
    ((![Q2 : produc1172664615on_val, F : produc1097884484on_val > produc1097884484on_val > $o, G : produc1097884484on_val > produc1097884484on_val > $o, P2 : produc1172664615on_val]: ((![X3 : produc1097884484on_val, Y3 : produc1097884484on_val]: (((produc1069526295on_val @ X3 @ Y3) = Q2) => ((F @ X3 @ Y3) = (G @ X3 @ Y3)))) => ((P2 = Q2) => ((produc50362220_val_o @ F @ P2) = (produc50362220_val_o @ G @ Q2))))))). % split_cong
thf(fact_170_split__cong, axiom,
    ((![Q2 : produc1097884484on_val, F : exp_list_char > produc515445032on_val > produc1097884484on_val > $o, G : exp_list_char > produc515445032on_val > produc1097884484on_val > $o, P2 : produc1097884484on_val]: ((![X3 : exp_list_char, Y3 : produc515445032on_val]: (((produc2023458740on_val @ X3 @ Y3) = Q2) => ((F @ X3 @ Y3) = (G @ X3 @ Y3)))) => ((P2 = Q2) => ((produc1468025474_val_o @ F @ P2) = (produc1468025474_val_o @ G @ Q2))))))). % split_cong
thf(fact_171_split__cong, axiom,
    ((![Q2 : produc1097884484on_val, F : exp_list_char > produc515445032on_val > $o, G : exp_list_char > produc515445032on_val > $o, P2 : produc1097884484on_val]: ((![X3 : exp_list_char, Y3 : produc515445032on_val]: (((produc2023458740on_val @ X3 @ Y3) = Q2) => ((F @ X3 @ Y3) = (G @ X3 @ Y3)))) => ((P2 = Q2) => ((produc199145871_val_o @ F @ P2) = (produc199145871_val_o @ G @ Q2))))))). % split_cong
thf(fact_172_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_173_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_174_red__reds_OBlockThrow, axiom,
    ((![V2 : list_char, T : ty, A : nat, S2 : produc515445032on_val, P : list_P1234162913t_char]: (member354538064on_val @ (produc1069526295on_val @ (produc2023458740on_val @ (block_list_char @ V2 @ T @ (throw_list_char @ (val_list_char @ (addr @ A)))) @ S2) @ (produc2023458740on_val @ (throw_list_char @ (val_list_char @ (addr @ A))) @ S2)) @ (red @ P))))). % red_reds.BlockThrow
thf(fact_175_mem__case__prodI2, axiom,
    ((![P2 : produc515445032on_val, Z2 : produc1172664615on_val, C2 : (nat > option2118145160on_val) > (list_char > option_val) > set_Pr1189492743on_val]: ((![A2 : nat > option2118145160on_val, B : list_char > option_val]: ((P2 = (produc52622304on_val @ A2 @ B)) => (member354538064on_val @ Z2 @ (C2 @ A2 @ B)))) => (member354538064on_val @ Z2 @ (produc1919805778on_val @ C2 @ P2)))))). % mem_case_prodI2
thf(fact_176_mem__case__prodI2, axiom,
    ((![P2 : produc1172664615on_val, Z2 : produc1172664615on_val, C2 : produc1097884484on_val > produc1097884484on_val > set_Pr1189492743on_val]: ((![A2 : produc1097884484on_val, B : produc1097884484on_val]: ((P2 = (produc1069526295on_val @ A2 @ B)) => (member354538064on_val @ Z2 @ (C2 @ A2 @ B)))) => (member354538064on_val @ Z2 @ (produc493625819on_val @ C2 @ P2)))))). % mem_case_prodI2
thf(fact_177_mem__case__prodI2, axiom,
    ((![P2 : produc1097884484on_val, Z2 : produc1172664615on_val, C2 : exp_list_char > produc515445032on_val > set_Pr1189492743on_val]: ((![A2 : exp_list_char, B : produc515445032on_val]: ((P2 = (produc2023458740on_val @ A2 @ B)) => (member354538064on_val @ Z2 @ (C2 @ A2 @ B)))) => (member354538064on_val @ Z2 @ (produc848217214on_val @ C2 @ P2)))))). % mem_case_prodI2
thf(fact_178_mem__case__prodI, axiom,
    ((![Z2 : produc1172664615on_val, C2 : (nat > option2118145160on_val) > (list_char > option_val) > set_Pr1189492743on_val, A : nat > option2118145160on_val, B2 : list_char > option_val]: ((member354538064on_val @ Z2 @ (C2 @ A @ B2)) => (member354538064on_val @ Z2 @ (produc1919805778on_val @ C2 @ (produc52622304on_val @ A @ B2))))))). % mem_case_prodI
thf(fact_179_mem__case__prodI, axiom,
    ((![Z2 : produc1172664615on_val, C2 : produc1097884484on_val > produc1097884484on_val > set_Pr1189492743on_val, A : produc1097884484on_val, B2 : produc1097884484on_val]: ((member354538064on_val @ Z2 @ (C2 @ A @ B2)) => (member354538064on_val @ Z2 @ (produc493625819on_val @ C2 @ (produc1069526295on_val @ A @ B2))))))). % mem_case_prodI
thf(fact_180_mem__case__prodI, axiom,
    ((![Z2 : produc1172664615on_val, C2 : exp_list_char > produc515445032on_val > set_Pr1189492743on_val, A : exp_list_char, B2 : produc515445032on_val]: ((member354538064on_val @ Z2 @ (C2 @ A @ B2)) => (member354538064on_val @ Z2 @ (produc848217214on_val @ C2 @ (produc2023458740on_val @ A @ B2))))))). % mem_case_prodI
thf(fact_181_case__prodI2_H, axiom,
    ((![P2 : produc1097884484on_val, C2 : exp_list_char > produc515445032on_val > produc1097884484on_val > $o, X : produc1097884484on_val]: ((![A2 : exp_list_char, B : produc515445032on_val]: (((produc2023458740on_val @ A2 @ B) = P2) => (C2 @ A2 @ B @ X))) => (produc1468025474_val_o @ C2 @ P2 @ X))))). % case_prodI2'
thf(fact_182_red__def, axiom,
    ((red = (^[P3 : list_P1234162913t_char]: (collec2055896722on_val @ (produc50362220_val_o @ (produc1468025474_val_o @ (^[X2 : exp_list_char]: (^[Y4 : produc515445032on_val]: (produc199145871_val_o @ (redp @ P3 @ X2 @ Y4))))))))))). % red_def
thf(fact_183_mem__case__prodE, axiom,
    ((![Z2 : produc1172664615on_val, C2 : (nat > option2118145160on_val) > (list_char > option_val) > set_Pr1189492743on_val, P2 : produc515445032on_val]: ((member354538064on_val @ Z2 @ (produc1919805778on_val @ C2 @ P2)) => (~ ((![X3 : nat > option2118145160on_val, Y3 : list_char > option_val]: ((P2 = (produc52622304on_val @ X3 @ Y3)) => (~ ((member354538064on_val @ Z2 @ (C2 @ X3 @ Y3)))))))))))). % mem_case_prodE
thf(fact_184_mem__case__prodE, axiom,
    ((![Z2 : produc1172664615on_val, C2 : produc1097884484on_val > produc1097884484on_val > set_Pr1189492743on_val, P2 : produc1172664615on_val]: ((member354538064on_val @ Z2 @ (produc493625819on_val @ C2 @ P2)) => (~ ((![X3 : produc1097884484on_val, Y3 : produc1097884484on_val]: ((P2 = (produc1069526295on_val @ X3 @ Y3)) => (~ ((member354538064on_val @ Z2 @ (C2 @ X3 @ Y3)))))))))))). % mem_case_prodE
thf(fact_185_mem__case__prodE, axiom,
    ((![Z2 : produc1172664615on_val, C2 : exp_list_char > produc515445032on_val > set_Pr1189492743on_val, P2 : produc1097884484on_val]: ((member354538064on_val @ Z2 @ (produc848217214on_val @ C2 @ P2)) => (~ ((![X3 : exp_list_char, Y3 : produc515445032on_val]: ((P2 = (produc2023458740on_val @ X3 @ Y3)) => (~ ((member354538064on_val @ Z2 @ (C2 @ X3 @ Y3)))))))))))). % mem_case_prodE
thf(fact_186_case__prodD_H, axiom,
    ((![R : exp_list_char > produc515445032on_val > produc1097884484on_val > $o, A : exp_list_char, B2 : produc515445032on_val, C2 : produc1097884484on_val]: ((produc1468025474_val_o @ R @ (produc2023458740on_val @ A @ B2) @ C2) => (R @ A @ B2 @ C2))))). % case_prodD'
thf(fact_187_case__prodE_H, axiom,
    ((![C2 : exp_list_char > produc515445032on_val > produc1097884484on_val > $o, P2 : produc1097884484on_val, Z2 : produc1097884484on_val]: ((produc1468025474_val_o @ C2 @ P2 @ Z2) => (~ ((![X3 : exp_list_char, Y3 : produc515445032on_val]: ((P2 = (produc2023458740on_val @ X3 @ Y3)) => (~ ((C2 @ X3 @ Y3 @ Z2))))))))))). % case_prodE'
thf(fact_188_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_189_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_190_redp__redsp_OBlockThrow, axiom,
    ((![P : list_P1234162913t_char, V2 : list_char, T : ty, A : nat, S2 : produc515445032on_val]: (redp @ P @ (block_list_char @ V2 @ T @ (throw_list_char @ (val_list_char @ (addr @ A)))) @ S2 @ (throw_list_char @ (val_list_char @ (addr @ A))) @ S2)))). % redp_redsp.BlockThrow
thf(fact_191_Red__lcl__add, axiom,
    ((![E2 : exp_list_char, H : nat > option2118145160on_val, L : list_char > option_val, E4 : exp_list_char, H2 : nat > option2118145160on_val, L2 : list_char > option_val, P : list_P1234162913t_char, L_0 : list_char > option_val]: ((member354538064on_val @ (produc1069526295on_val @ (produc2023458740on_val @ E2 @ (produc52622304on_val @ H @ L)) @ (produc2023458740on_val @ E4 @ (produc52622304on_val @ H2 @ L2))) @ (transi111096263on_val @ (red @ P))) => (member354538064on_val @ (produc1069526295on_val @ (produc2023458740on_val @ E2 @ (produc52622304on_val @ H @ (map_ad1615113112ar_val @ L_0 @ L))) @ (produc2023458740on_val @ E4 @ (produc52622304on_val @ H2 @ (map_ad1615113112ar_val @ L_0 @ L2)))) @ (transi111096263on_val @ (red @ P))))))). % Red_lcl_add
thf(fact_192_finalE, axiom,
    ((![E2 : exp_list_char]: ((final_list_char @ E2) => ((![V3 : val]: (~ ((E2 = (val_list_char @ V3))))) => (~ ((![A2 : nat]: (~ ((E2 = (throw_list_char @ (val_list_char @ (addr @ A2)))))))))))))). % finalE
thf(fact_193_converse__rtrancl__induct__red, axiom,
    ((![E2 : exp_list_char, H : nat > option2118145160on_val, L : list_char > option_val, E4 : exp_list_char, H2 : nat > option2118145160on_val, L2 : 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 @ E2 @ (produc52622304on_val @ H @ L)) @ (produc2023458740on_val @ E4 @ (produc52622304on_val @ H2 @ L2))) @ (transi111096263on_val @ (red @ P))) => ((![E6 : exp_list_char, H5 : nat > option2118145160on_val, L4 : list_char > option_val]: (R @ E6 @ H5 @ L4 @ E6 @ H5 @ 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, E7 : exp_list_char, H6 : 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 @ E7 @ H6 @ L5) => (R @ E_0 @ H_0 @ L_02 @ E7 @ H6 @ L5)))) => (R @ E2 @ H @ L @ E4 @ H2 @ L2))))))). % converse_rtrancl_induct_red
thf(fact_194_final__def, axiom,
    ((final_list_char = (^[E8 : exp_list_char]: (((?[V4 : val]: (E8 = (val_list_char @ V4)))) | ((?[A5 : nat]: (E8 = (throw_list_char @ (val_list_char @ (addr @ A5))))))))))). % final_def
thf(fact_195_BlockRedsFinal, axiom,
    ((![E_02 : exp_list_char, S_0 : produc515445032on_val, E_2 : exp_list_char, H_2 : nat > option2118145160on_val, L_2 : list_char > option_val, P : list_P1234162913t_char, H_02 : nat > option2118145160on_val, L_0 : list_char > option_val, V2 : list_char, T : ty]: ((member354538064on_val @ (produc1069526295on_val @ (produc2023458740on_val @ E_02 @ S_0) @ (produc2023458740on_val @ E_2 @ (produc52622304on_val @ H_2 @ L_2))) @ (transi111096263on_val @ (red @ P))) => ((final_list_char @ E_2) => ((S_0 = (produc52622304on_val @ H_02 @ (fun_up1252458416on_val @ L_0 @ V2 @ none_val))) => (member354538064on_val @ (produc1069526295on_val @ (produc2023458740on_val @ (block_list_char @ V2 @ T @ E_02) @ (produc52622304on_val @ H_02 @ L_0)) @ (produc2023458740on_val @ E_2 @ (produc52622304on_val @ H_2 @ (fun_up1252458416on_val @ L_2 @ V2 @ (L_0 @ V2))))) @ (transi111096263on_val @ (red @ P))))))))). % BlockRedsFinal
thf(fact_196_CondReds2T, axiom,
    ((![E2 : exp_list_char, S_0 : produc515445032on_val, S_1 : produc515445032on_val, P : list_P1234162913t_char, E_1 : exp_list_char, E4 : exp_list_char, S_2 : produc515445032on_val, E_2 : exp_list_char]: ((member354538064on_val @ (produc1069526295on_val @ (produc2023458740on_val @ E2 @ S_0) @ (produc2023458740on_val @ (val_list_char @ (bool @ $true)) @ S_1)) @ (transi111096263on_val @ (red @ P))) => ((member354538064on_val @ (produc1069526295on_val @ (produc2023458740on_val @ E_1 @ S_1) @ (produc2023458740on_val @ E4 @ S_2)) @ (transi111096263on_val @ (red @ P))) => (member354538064on_val @ (produc1069526295on_val @ (produc2023458740on_val @ (cond_list_char @ E2 @ E_1 @ E_2) @ S_0) @ (produc2023458740on_val @ E4 @ S_2)) @ (transi111096263on_val @ (red @ P)))))))). % CondReds2T
thf(fact_197_ThrowReds, axiom,
    ((![E2 : exp_list_char, S2 : produc515445032on_val, E4 : exp_list_char, S3 : produc515445032on_val, P : list_P1234162913t_char]: ((member354538064on_val @ (produc1069526295on_val @ (produc2023458740on_val @ E2 @ S2) @ (produc2023458740on_val @ E4 @ S3)) @ (transi111096263on_val @ (red @ P))) => (member354538064on_val @ (produc1069526295on_val @ (produc2023458740on_val @ (throw_list_char @ E2) @ S2) @ (produc2023458740on_val @ (throw_list_char @ E4) @ S3)) @ (transi111096263on_val @ (red @ P))))))). % ThrowReds
thf(fact_198_ThrowRedsThrow, axiom,
    ((![E2 : exp_list_char, S2 : produc515445032on_val, A : exp_list_char, S3 : produc515445032on_val, P : list_P1234162913t_char]: ((member354538064on_val @ (produc1069526295on_val @ (produc2023458740on_val @ E2 @ S2) @ (produc2023458740on_val @ (throw_list_char @ A) @ S3)) @ (transi111096263on_val @ (red @ P))) => (member354538064on_val @ (produc1069526295on_val @ (produc2023458740on_val @ (throw_list_char @ E2) @ S2) @ (produc2023458740on_val @ (throw_list_char @ A) @ S3)) @ (transi111096263on_val @ (red @ P))))))). % ThrowRedsThrow
thf(fact_199_CondReds, axiom,
    ((![E2 : exp_list_char, S2 : produc515445032on_val, E4 : 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 @ E4 @ S3)) @ (transi111096263on_val @ (red @ P))) => (member354538064on_val @ (produc1069526295on_val @ (produc2023458740on_val @ (cond_list_char @ E2 @ E_1 @ E_2) @ S2) @ (produc2023458740on_val @ (cond_list_char @ E4 @ E_1 @ E_2) @ S3)) @ (transi111096263on_val @ (red @ P))))))). % CondReds
thf(fact_200_CondRedsThrow, axiom,
    ((![E2 : exp_list_char, S2 : produc515445032on_val, A : 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 @ (throw_list_char @ A) @ S3)) @ (transi111096263on_val @ (red @ P))) => (member354538064on_val @ (produc1069526295on_val @ (produc2023458740on_val @ (cond_list_char @ E2 @ E_1 @ E_2) @ S2) @ (produc2023458740on_val @ (throw_list_char @ A) @ S3)) @ (transi111096263on_val @ (red @ P))))))). % CondRedsThrow

% Helper facts (3)
thf(help_If_3_1_If_001t__Option__Ooption_It__Value__Oval_J_T, axiom,
    ((![P : $o]: ((P = $true) | (P = $false))))).
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)))).

% Conjectures (1)
thf(conj_0, conjecture,
    ((?[T4 : ty]: ((wTrt @ p @ h_a @ e @ (block_list_char @ v @ t @ e_a) @ T4) & (widen_917054840t_char @ p @ T4 @ ta))))).
