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

% Could-be-implicit typings (19)
thf(ty_n_t__Set__Oset_It__Product____Type__Oprod_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_Mt__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_J, type,
    set_Pr1368603847on_val : $tType).
thf(ty_n_t__Product____Type__Oprod_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_Mt__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,
    produc1161703655on_val : $tType).
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__Set__Oset_It__Product____Type__Oprod_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_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_Pr148564103on_val : $tType).
thf(ty_n_t__Product____Type__Oprod_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_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,
    produc744932519on_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__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__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__Option__Ooption_It__Set__Oset_It__List__Olist_It__String__Ochar_J_J_J, type,
    option_set_list_char : $tType).
thf(ty_n_t__Expr__Oexp_It__List__Olist_It__String__Ochar_J_J, type,
    exp_list_char : $tType).
thf(ty_n_t__Set__Oset_It__List__Olist_It__String__Ochar_J_J, type,
    set_list_char : $tType).
thf(ty_n_t__Option__Ooption_It__Value__Oval_J, type,
    option_val : $tType).
thf(ty_n_t__List__Olist_It__String__Ochar_J, type,
    list_char : $tType).
thf(ty_n_t__Value__Oval, type,
    val : $tType).
thf(ty_n_t__Type__Oty, type,
    ty : $tType).
thf(ty_n_t__Nat__Onat, type,
    nat : $tType).

% Explicit typings (56)
thf(sy_c_BigStep_Ofinal_001t__List__Olist_It__String__Ochar_J, type,
    final_list_char : exp_list_char > $o).
thf(sy_c_DefAss_O_092_060D_062_001t__List__Olist_It__String__Ochar_J, type,
    d_list_char : exp_list_char > option_set_list_char > $o).
thf(sy_c_DefAss_OhyperDiff1_001t__List__Olist_It__String__Ochar_J, type,
    hyperDiff1_list_char : option_set_list_char > list_char > option_set_list_char).
thf(sy_c_Expr_Oexp_OBlock_001t__List__Olist_It__String__Ochar_J, type,
    block_list_char : list_char > ty > exp_list_char > exp_list_char).
thf(sy_c_Expr_Oexp_OLAss_001t__List__Olist_It__String__Ochar_J, type,
    lAss_list_char : list_char > exp_list_char > exp_list_char).
thf(sy_c_Expr_Oexp_OSeq_001t__List__Olist_It__String__Ochar_J, type,
    seq_list_char : exp_list_char > exp_list_char > exp_list_char).
thf(sy_c_Expr_Oexp_OVal_001t__List__Olist_It__String__Ochar_J, type,
    val_list_char : val > exp_list_char).
thf(sy_c_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__Value__Oval_J, type,
    fun_up1252458416on_val : (list_char > option_val) > list_char > option_val > list_char > option_val).
thf(sy_c_Fun_Ofun__upd_001t__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_001t__Option__Ooption_It__Set__Oset_It__List__Olist_It__String__Ochar_J_J_J, type,
    fun_up418936785t_char : (produc1172664615on_val > option_set_list_char) > produc1172664615on_val > option_set_list_char > produc1172664615on_val > option_set_list_char).
thf(sy_c_Fun_Ofun__upd_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_001t__Option__Ooption_It__Value__Oval_J, type,
    fun_up550828090on_val : (produc1172664615on_val > option_val) > produc1172664615on_val > option_val > produc1172664615on_val > 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_Odom_001t__List__Olist_It__String__Ochar_J_001t__Value__Oval, type,
    dom_list_char_val : (list_char > option_val) > set_list_char).
thf(sy_c_Map_Odom_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_001t__Set__Oset_It__List__Olist_It__String__Ochar_J_J, type,
    dom_Pr1335625324t_char : (produc1172664615on_val > option_set_list_char) > set_Pr1189492743on_val).
thf(sy_c_Map_Odom_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_001t__Value__Oval, type,
    dom_Pr162898261al_val : (produc1172664615on_val > option_val) > set_Pr1189492743on_val).
thf(sy_c_Map_Omap__add_001t__List__Olist_It__String__Ochar_J_001t__Value__Oval, type,
    map_ad1615113112ar_val : (list_char > option_val) > (list_char > option_val) > list_char > option_val).
thf(sy_c_Map_Omap__add_001t__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_001t__Set__Oset_It__List__Olist_It__String__Ochar_J_J, type,
    map_ad1871482825t_char : (produc1172664615on_val > option_set_list_char) > (produc1172664615on_val > option_set_list_char) > produc1172664615on_val > option_set_list_char).
thf(sy_c_Map_Omap__add_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_001t__Value__Oval, type,
    map_ad1876791218al_val : (produc1172664615on_val > option_val) > (produc1172664615on_val > option_val) > produc1172664615on_val > option_val).
thf(sy_c_Objects_Ohext, type,
    hext : (nat > option2118145160on_val) > (nat > option2118145160on_val) > $o).
thf(sy_c_Option_Ooption_ONone_001t__Set__Oset_It__List__Olist_It__String__Ochar_J_J, type,
    none_set_list_char : option_set_list_char).
thf(sy_c_Option_Ooption_ONone_001t__Value__Oval, type,
    none_val : option_val).
thf(sy_c_Option_Ooption_OSome_001t__Set__Oset_It__List__Olist_It__String__Ochar_J_J, type,
    some_set_list_char : set_list_char > option_set_list_char).
thf(sy_c_Option_Ooption_OSome_001t__Value__Oval, type,
    some_val : val > option_val).
thf(sy_c_Option_Ooption_Othe_001t__Set__Oset_It__List__Olist_It__String__Ochar_J_J, type,
    the_set_list_char : option_set_list_char > set_list_char).
thf(sy_c_Option_Ooption_Othe_001t__Value__Oval, type,
    the_val : option_val > val).
thf(sy_c_Orderings_Oord__class_Oless__eq_001t__Set__Oset_It__List__Olist_It__String__Ochar_J_J, type,
    ord_le1836582007t_char : set_list_char > set_list_char > $o).
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_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__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,
    produc2106877847on_val : produc515445032on_val > produc515445032on_val > produc744932519on_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_OPair_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_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,
    produc564964183on_val : produc1172664615on_val > produc1172664615on_val > produc1161703655on_val).
thf(sy_c_Set_OCollect_001t__List__Olist_It__String__Ochar_J, type,
    collect_list_char : (list_char > $o) > set_list_char).
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_Transitive__Closure_Ortrancl_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,
    transi432893227on_val : set_Pr148564103on_val > set_Pr148564103on_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_Transitive__Closure_Ortrancl_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,
    transi100378922on_val : set_Pr1368603847on_val > set_Pr1368603847on_val).
thf(sy_c_Value_Oval_OUnit, type,
    unit : 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_member_001t__List__Olist_It__String__Ochar_J, type,
    member_list_char : list_char > set_list_char > $o).
thf(sy_c_member_001t__Product____Type__Oprod_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_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,
    member2027247312on_val : produc744932519on_val > set_Pr148564103on_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_c_member_001t__Product____Type__Oprod_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_Mt__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,
    member208988944on_val : produc1161703655on_val > set_Pr1368603847on_val > $o).
thf(sy_v_P, type,
    p : list_P1234162913t_char).
thf(sy_v_T______, type,
    t : ty).
thf(sy_v_V______, type,
    v : list_char).
thf(sy_v_e_Ha______, type,
    e_a : exp_list_char).
thf(sy_v_ea______, type,
    ea : exp_list_char).
thf(sy_v_h_Ha______, type,
    h_a : nat > option2118145160on_val).
thf(sy_v_ha______, type,
    ha : nat > option2118145160on_val).
thf(sy_v_l_Ha______, type,
    l_a : list_char > option_val).
thf(sy_v_la______, type,
    la : list_char > option_val).
thf(sy_v_v______, type,
    v2 : val).

% Relevant facts (184)
thf(fact_0_BlockRedSome_Ohyps_I4_J, axiom,
    ((~ ((assigned @ v @ ea))))). % BlockRedSome.hyps(4)
thf(fact_1_BlockRedSome_Ohyps_I3_J, axiom,
    (((l_a @ v) = (some_val @ v2)))). % BlockRedSome.hyps(3)
thf(fact_2_BlockRedSome_Oprems, axiom,
    ((d_list_char @ (block_list_char @ v @ t @ ea) @ (some_set_list_char @ (dom_list_char_val @ la))))). % BlockRedSome.prems
thf(fact_3_BlockRedSome_Ohyps_I2_J, axiom,
    (((d_list_char @ ea @ (some_set_list_char @ (dom_list_char_val @ (fun_up1252458416on_val @ la @ v @ none_val)))) => (d_list_char @ e_a @ (some_set_list_char @ (dom_list_char_val @ l_a)))))). % BlockRedSome.hyps(2)
thf(fact_4_BlockRedSome_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)))). % BlockRedSome.hyps(1)
thf(fact_5_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_6_exp_Oinject_I11_J, axiom,
    ((![X111 : exp_list_char, X112 : exp_list_char, Y111 : exp_list_char, Y112 : exp_list_char]: (((seq_list_char @ X111 @ X112) = (seq_list_char @ Y111 @ Y112)) = (((X111 = Y111)) & ((X112 = Y112))))))). % exp.inject(11)
thf(fact_7_exp_Oinject_I6_J, axiom,
    ((![X61 : list_char, X62 : exp_list_char, Y61 : list_char, Y62 : exp_list_char]: (((lAss_list_char @ X61 @ X62) = (lAss_list_char @ Y61 @ Y62)) = (((X61 = Y61)) & ((X62 = Y62))))))). % exp.inject(6)
thf(fact_8_fun__upd__upd, axiom,
    ((![F : list_char > option_val, X : list_char, Y : option_val, Z : option_val]: ((fun_up1252458416on_val @ (fun_up1252458416on_val @ F @ X @ Y) @ X @ Z) = (fun_up1252458416on_val @ F @ X @ Z))))). % fun_upd_upd
thf(fact_9_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_10_fun__upd__apply, axiom,
    ((fun_up1252458416on_val = (^[F2 : list_char > option_val]: (^[X2 : list_char]: (^[Y2 : option_val]: (^[Z2 : list_char]: (if_option_val @ (Z2 = X2) @ Y2 @ (F2 @ Z2))))))))). % fun_upd_apply
thf(fact_11_exp_Oinject_I3_J, axiom,
    ((![X3 : val, Y3 : val]: (((val_list_char @ X3) = (val_list_char @ Y3)) = (X3 = Y3))))). % exp.inject(3)
thf(fact_12_option_Oinject, axiom,
    ((![X22 : set_list_char, Y22 : set_list_char]: (((some_set_list_char @ X22) = (some_set_list_char @ Y22)) = (X22 = Y22))))). % option.inject
thf(fact_13_option_Oinject, axiom,
    ((![X22 : val, Y22 : val]: (((some_val @ X22) = (some_val @ Y22)) = (X22 = Y22))))). % option.inject
thf(fact_14_assigned__def, axiom,
    ((assigned = (^[V : list_char]: (^[E : exp_list_char]: (?[V2 : val]: (?[E2 : exp_list_char]: (E = (seq_list_char @ (lAss_list_char @ V @ (val_list_char @ V2)) @ E2))))))))). % assigned_def
thf(fact_15__092_060D_062_Osimps_I6_J, axiom,
    ((![V3 : list_char, E3 : exp_list_char, A : option_set_list_char]: ((d_list_char @ (lAss_list_char @ V3 @ E3) @ A) = (d_list_char @ E3 @ A))))). % \<D>.simps(6)
thf(fact_16_exp_Odistinct_I181_J, axiom,
    ((![X101 : list_char, X102 : ty, X103 : exp_list_char, X111 : exp_list_char, X112 : exp_list_char]: (~ (((block_list_char @ X101 @ X102 @ X103) = (seq_list_char @ X111 @ X112))))))). % exp.distinct(181)
thf(fact_17_exp_Odistinct_I127_J, axiom,
    ((![X61 : list_char, X62 : exp_list_char, X101 : list_char, X102 : ty, X103 : exp_list_char]: (~ (((lAss_list_char @ X61 @ X62) = (block_list_char @ X101 @ X102 @ X103))))))). % exp.distinct(127)
thf(fact_18_not__Some__eq, axiom,
    ((![X : option_set_list_char]: ((![Y2 : set_list_char]: (~ ((X = (some_set_list_char @ Y2))))) = (X = none_set_list_char))))). % not_Some_eq
thf(fact_19_not__Some__eq, axiom,
    ((![X : option_val]: ((![Y2 : val]: (~ ((X = (some_val @ Y2))))) = (X = none_val))))). % not_Some_eq
thf(fact_20_not__None__eq, axiom,
    ((![X : option_set_list_char]: ((~ ((X = none_set_list_char))) = (?[Y2 : set_list_char]: (X = (some_set_list_char @ Y2))))))). % not_None_eq
thf(fact_21_not__None__eq, axiom,
    ((![X : option_val]: ((~ ((X = none_val))) = (?[Y2 : val]: (X = (some_val @ Y2))))))). % not_None_eq
thf(fact_22_red__reds_OLAssRed, axiom,
    ((![E3 : exp_list_char, S : produc515445032on_val, E4 : exp_list_char, S2 : produc515445032on_val, P : list_P1234162913t_char, V3 : list_char]: ((member354538064on_val @ (produc1069526295on_val @ (produc2023458740on_val @ E3 @ S) @ (produc2023458740on_val @ E4 @ S2)) @ (red @ P)) => (member354538064on_val @ (produc1069526295on_val @ (produc2023458740on_val @ (lAss_list_char @ V3 @ E3) @ S) @ (produc2023458740on_val @ (lAss_list_char @ V3 @ E4) @ S2)) @ (red @ P)))))). % red_reds.LAssRed
thf(fact_23_red__reds_OSeqRed, axiom,
    ((![E3 : exp_list_char, S : produc515445032on_val, E4 : exp_list_char, S2 : produc515445032on_val, P : list_P1234162913t_char, E_2 : exp_list_char]: ((member354538064on_val @ (produc1069526295on_val @ (produc2023458740on_val @ E3 @ S) @ (produc2023458740on_val @ E4 @ S2)) @ (red @ P)) => (member354538064on_val @ (produc1069526295on_val @ (produc2023458740on_val @ (seq_list_char @ E3 @ E_2) @ S) @ (produc2023458740on_val @ (seq_list_char @ E4 @ E_2) @ S2)) @ (red @ P)))))). % red_reds.SeqRed
thf(fact_24_red__reds_OBlockRedNone, axiom,
    ((![E3 : exp_list_char, H : nat > option2118145160on_val, L : list_char > option_val, V3 : 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 @ E3 @ (produc52622304on_val @ H @ (fun_up1252458416on_val @ L @ V3 @ none_val))) @ (produc2023458740on_val @ E4 @ (produc52622304on_val @ H2 @ L2))) @ (red @ P)) => (((L2 @ V3) = none_val) => ((~ ((assigned @ V3 @ E3))) => (member354538064on_val @ (produc1069526295on_val @ (produc2023458740on_val @ (block_list_char @ V3 @ T @ E3) @ (produc52622304on_val @ H @ L)) @ (produc2023458740on_val @ (block_list_char @ V3 @ T @ E4) @ (produc52622304on_val @ H2 @ (fun_up1252458416on_val @ L2 @ V3 @ (L @ V3))))) @ (red @ P)))))))). % red_reds.BlockRedNone
thf(fact_25_combine__options__cases, axiom,
    ((![X : option_set_list_char, P : option_set_list_char > option_set_list_char > $o, Y : option_set_list_char]: (((X = none_set_list_char) => (P @ X @ Y)) => (((Y = none_set_list_char) => (P @ X @ Y)) => ((![A2 : set_list_char, B : set_list_char]: ((X = (some_set_list_char @ A2)) => ((Y = (some_set_list_char @ B)) => (P @ X @ Y)))) => (P @ X @ Y))))))). % combine_options_cases
thf(fact_26_combine__options__cases, axiom,
    ((![X : option_set_list_char, P : option_set_list_char > option_val > $o, Y : option_val]: (((X = none_set_list_char) => (P @ X @ Y)) => (((Y = none_val) => (P @ X @ Y)) => ((![A2 : set_list_char, B : val]: ((X = (some_set_list_char @ A2)) => ((Y = (some_val @ B)) => (P @ X @ Y)))) => (P @ X @ Y))))))). % combine_options_cases
thf(fact_27_combine__options__cases, axiom,
    ((![X : option_val, P : option_val > option_set_list_char > $o, Y : option_set_list_char]: (((X = none_val) => (P @ X @ Y)) => (((Y = none_set_list_char) => (P @ X @ Y)) => ((![A2 : val, B : set_list_char]: ((X = (some_val @ A2)) => ((Y = (some_set_list_char @ B)) => (P @ X @ Y)))) => (P @ X @ Y))))))). % combine_options_cases
thf(fact_28_combine__options__cases, axiom,
    ((![X : option_val, P : option_val > option_val > $o, Y : option_val]: (((X = none_val) => (P @ X @ Y)) => (((Y = none_val) => (P @ X @ Y)) => ((![A2 : val, B : val]: ((X = (some_val @ A2)) => ((Y = (some_val @ B)) => (P @ X @ Y)))) => (P @ X @ Y))))))). % combine_options_cases
thf(fact_29_split__option__all, axiom,
    (((^[P2 : option_set_list_char > $o]: (![X4 : option_set_list_char]: (P2 @ X4))) = (^[P3 : option_set_list_char > $o]: (((P3 @ none_set_list_char)) & ((![X2 : set_list_char]: (P3 @ (some_set_list_char @ X2))))))))). % split_option_all
thf(fact_30_split__option__all, axiom,
    (((^[P2 : option_val > $o]: (![X4 : option_val]: (P2 @ X4))) = (^[P3 : option_val > $o]: (((P3 @ none_val)) & ((![X2 : val]: (P3 @ (some_val @ X2))))))))). % split_option_all
thf(fact_31_split__option__ex, axiom,
    (((^[P2 : option_set_list_char > $o]: (?[X4 : option_set_list_char]: (P2 @ X4))) = (^[P3 : option_set_list_char > $o]: (((P3 @ none_set_list_char)) | ((?[X2 : set_list_char]: (P3 @ (some_set_list_char @ X2))))))))). % split_option_ex
thf(fact_32_split__option__ex, axiom,
    (((^[P2 : option_val > $o]: (?[X4 : option_val]: (P2 @ X4))) = (^[P3 : option_val > $o]: (((P3 @ none_val)) | ((?[X2 : val]: (P3 @ (some_val @ X2))))))))). % split_option_ex
thf(fact_33_option_Oinducts, axiom,
    ((![P : option_set_list_char > $o, Option : option_set_list_char]: ((P @ none_set_list_char) => ((![X5 : set_list_char]: (P @ (some_set_list_char @ X5))) => (P @ Option)))))). % option.inducts
thf(fact_34_option_Oinducts, axiom,
    ((![P : option_val > $o, Option : option_val]: ((P @ none_val) => ((![X5 : val]: (P @ (some_val @ X5))) => (P @ Option)))))). % option.inducts
thf(fact_35_option_Oexhaust, axiom,
    ((![Y : option_set_list_char]: ((~ ((Y = none_set_list_char))) => (~ ((![X23 : set_list_char]: (~ ((Y = (some_set_list_char @ X23))))))))))). % option.exhaust
thf(fact_36_option_Oexhaust, axiom,
    ((![Y : option_val]: ((~ ((Y = none_val))) => (~ ((![X23 : val]: (~ ((Y = (some_val @ X23))))))))))). % option.exhaust
thf(fact_37_option_OdiscI, axiom,
    ((![Option : option_set_list_char, X22 : set_list_char]: ((Option = (some_set_list_char @ X22)) => (~ ((Option = none_set_list_char))))))). % option.discI
thf(fact_38_option_OdiscI, axiom,
    ((![Option : option_val, X22 : val]: ((Option = (some_val @ X22)) => (~ ((Option = none_val))))))). % option.discI
thf(fact_39_option_Odistinct_I1_J, axiom,
    ((![X22 : set_list_char]: (~ ((none_set_list_char = (some_set_list_char @ X22))))))). % option.distinct(1)
thf(fact_40_option_Odistinct_I1_J, axiom,
    ((![X22 : val]: (~ ((none_val = (some_val @ X22))))))). % option.distinct(1)
thf(fact_41_red__reds_ORedSeq, axiom,
    ((![V4 : val, E_2 : exp_list_char, S : produc515445032on_val, P : list_P1234162913t_char]: (member354538064on_val @ (produc1069526295on_val @ (produc2023458740on_val @ (seq_list_char @ (val_list_char @ V4) @ E_2) @ S) @ (produc2023458740on_val @ E_2 @ S)) @ (red @ P))))). % red_reds.RedSeq
thf(fact_42_red__reds_ORedBlock, axiom,
    ((![V3 : list_char, T : ty, U : val, S : produc515445032on_val, P : list_P1234162913t_char]: (member354538064on_val @ (produc1069526295on_val @ (produc2023458740on_val @ (block_list_char @ V3 @ T @ (val_list_char @ U)) @ S) @ (produc2023458740on_val @ (val_list_char @ U) @ S)) @ (red @ P))))). % red_reds.RedBlock
thf(fact_43_red__reds_OBlockRedSome, axiom,
    ((![E3 : exp_list_char, H : nat > option2118145160on_val, L : list_char > option_val, V3 : list_char, E4 : exp_list_char, H2 : nat > option2118145160on_val, L2 : list_char > option_val, P : list_P1234162913t_char, V4 : val, T : ty]: ((member354538064on_val @ (produc1069526295on_val @ (produc2023458740on_val @ E3 @ (produc52622304on_val @ H @ (fun_up1252458416on_val @ L @ V3 @ none_val))) @ (produc2023458740on_val @ E4 @ (produc52622304on_val @ H2 @ L2))) @ (red @ P)) => (((L2 @ V3) = (some_val @ V4)) => ((~ ((assigned @ V3 @ E3))) => (member354538064on_val @ (produc1069526295on_val @ (produc2023458740on_val @ (block_list_char @ V3 @ T @ E3) @ (produc52622304on_val @ H @ L)) @ (produc2023458740on_val @ (block_list_char @ V3 @ T @ (seq_list_char @ (lAss_list_char @ V3 @ (val_list_char @ V4)) @ E4)) @ (produc52622304on_val @ H2 @ (fun_up1252458416on_val @ L2 @ V3 @ (L @ V3))))) @ (red @ P)))))))). % red_reds.BlockRedSome
thf(fact_44_red__reds_OInitBlockRed, axiom,
    ((![E3 : exp_list_char, H : nat > option2118145160on_val, L : list_char > option_val, V3 : list_char, V4 : val, E4 : exp_list_char, H2 : nat > option2118145160on_val, L2 : list_char > option_val, P : list_P1234162913t_char, V5 : val, T : ty]: ((member354538064on_val @ (produc1069526295on_val @ (produc2023458740on_val @ E3 @ (produc52622304on_val @ H @ (fun_up1252458416on_val @ L @ V3 @ (some_val @ V4)))) @ (produc2023458740on_val @ E4 @ (produc52622304on_val @ H2 @ L2))) @ (red @ P)) => (((L2 @ V3) = (some_val @ V5)) => (member354538064on_val @ (produc1069526295on_val @ (produc2023458740on_val @ (block_list_char @ V3 @ T @ (seq_list_char @ (lAss_list_char @ V3 @ (val_list_char @ V4)) @ E3)) @ (produc52622304on_val @ H @ L)) @ (produc2023458740on_val @ (block_list_char @ V3 @ T @ (seq_list_char @ (lAss_list_char @ V3 @ (val_list_char @ V5)) @ E4)) @ (produc52622304on_val @ H2 @ (fun_up1252458416on_val @ L2 @ V3 @ (L @ V3))))) @ (red @ P))))))). % red_reds.InitBlockRed
thf(fact_45_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_46_fun__upd__twist, axiom,
    ((![A3 : list_char, C : list_char, M : list_char > option_val, B2 : option_val, D : option_val]: ((~ ((A3 = C))) => ((fun_up1252458416on_val @ (fun_up1252458416on_val @ M @ A3 @ B2) @ C @ D) = (fun_up1252458416on_val @ (fun_up1252458416on_val @ M @ C @ D) @ A3 @ B2)))))). % fun_upd_twist
thf(fact_47_fun__upd__other, axiom,
    ((![Z : list_char, X : list_char, F : list_char > option_val, Y : option_val]: ((~ ((Z = X))) => ((fun_up1252458416on_val @ F @ X @ Y @ Z) = (F @ Z)))))). % fun_upd_other
thf(fact_48_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_49_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_50_fun__upd__eqD, axiom,
    ((![F : list_char > option_val, X : list_char, Y : option_val, G : list_char > option_val, Z : option_val]: (((fun_up1252458416on_val @ F @ X @ Y) = (fun_up1252458416on_val @ G @ X @ Z)) => (Y = Z))))). % fun_upd_eqD
thf(fact_51_fun__upd__def, axiom,
    ((fun_up1252458416on_val = (^[F2 : list_char > option_val]: (^[A4 : list_char]: (^[B3 : option_val]: (^[X2 : list_char]: (if_option_val @ (X2 = A4) @ B3 @ (F2 @ X2))))))))). % fun_upd_def
thf(fact_52_red__reds_ORedInitBlock, axiom,
    ((![V3 : list_char, T : ty, V4 : val, U : val, S : produc515445032on_val, P : list_P1234162913t_char]: (member354538064on_val @ (produc1069526295on_val @ (produc2023458740on_val @ (block_list_char @ V3 @ T @ (seq_list_char @ (lAss_list_char @ V3 @ (val_list_char @ V4)) @ (val_list_char @ U))) @ S) @ (produc2023458740on_val @ (val_list_char @ U) @ S)) @ (red @ P))))). % red_reds.RedInitBlock
thf(fact_53_exp_Odistinct_I59_J, axiom,
    ((![X3 : val, X61 : list_char, X62 : exp_list_char]: (~ (((val_list_char @ X3) = (lAss_list_char @ X61 @ X62))))))). % exp.distinct(59)
thf(fact_54_exp_Odistinct_I69_J, axiom,
    ((![X3 : val, X111 : exp_list_char, X112 : exp_list_char]: (~ (((val_list_char @ X3) = (seq_list_char @ X111 @ X112))))))). % exp.distinct(69)
thf(fact_55_exp_Odistinct_I67_J, axiom,
    ((![X3 : val, X101 : list_char, X102 : ty, X103 : exp_list_char]: (~ (((val_list_char @ X3) = (block_list_char @ X101 @ X102 @ X103))))))). % exp.distinct(67)
thf(fact_56_mem__Collect__eq, axiom,
    ((![A3 : produc1172664615on_val, P : produc1172664615on_val > $o]: ((member354538064on_val @ A3 @ (collec2055896722on_val @ P)) = (P @ A3))))). % mem_Collect_eq
thf(fact_57_Collect__mem__eq, axiom,
    ((![A : set_Pr1189492743on_val]: ((collec2055896722on_val @ (^[X2 : produc1172664615on_val]: (member354538064on_val @ X2 @ A))) = A)))). % Collect_mem_eq
thf(fact_58_exp_Odistinct_I129_J, axiom,
    ((![X61 : list_char, X62 : exp_list_char, X111 : exp_list_char, X112 : exp_list_char]: (~ (((lAss_list_char @ X61 @ X62) = (seq_list_char @ X111 @ X112))))))). % exp.distinct(129)
thf(fact_59__092_060D_062_Osimps_I3_J, axiom,
    ((![V4 : val, A : option_set_list_char]: (d_list_char @ (val_list_char @ V4) @ A)))). % \<D>.simps(3)
thf(fact_60_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_61_local_Owf, axiom,
    ((wf_pro1229751607t_char @ wf_J_mdecl @ p))). % local.wf
thf(fact_62_map__upd__nonempty, axiom,
    ((![T2 : list_char > option_val, K : list_char, X : val]: (~ (((fun_up1252458416on_val @ T2 @ K @ (some_val @ X)) = (^[X2 : list_char]: none_val))))))). % map_upd_nonempty
thf(fact_63_red__reds_ORedLAss, axiom,
    ((![V3 : list_char, V4 : val, H : nat > option2118145160on_val, L : list_char > option_val, P : list_P1234162913t_char]: (member354538064on_val @ (produc1069526295on_val @ (produc2023458740on_val @ (lAss_list_char @ V3 @ (val_list_char @ V4)) @ (produc52622304on_val @ H @ L)) @ (produc2023458740on_val @ (val_list_char @ unit) @ (produc52622304on_val @ H @ (fun_up1252458416on_val @ L @ V3 @ (some_val @ V4))))) @ (red @ P))))). % red_reds.RedLAss
thf(fact_64_prod__cases4, axiom,
    ((![Y : produc1172664615on_val]: (~ ((![A2 : produc1097884484on_val, B : exp_list_char, C2 : nat > option2118145160on_val, D2 : list_char > option_val]: (~ ((Y = (produc1069526295on_val @ A2 @ (produc2023458740on_val @ B @ (produc52622304on_val @ C2 @ D2)))))))))))). % prod_cases4
thf(fact_65_prod__induct4, axiom,
    ((![P : produc1172664615on_val > $o, X : produc1172664615on_val]: ((![A2 : produc1097884484on_val, B : exp_list_char, C2 : nat > option2118145160on_val, D2 : list_char > option_val]: (P @ (produc1069526295on_val @ A2 @ (produc2023458740on_val @ B @ (produc52622304on_val @ C2 @ D2))))) => (P @ X))))). % prod_induct4
thf(fact_66_old_Oprod_Oinject, axiom,
    ((![A3 : produc1097884484on_val, B2 : produc1097884484on_val, A5 : produc1097884484on_val, B4 : produc1097884484on_val]: (((produc1069526295on_val @ A3 @ B2) = (produc1069526295on_val @ A5 @ B4)) = (((A3 = A5)) & ((B2 = B4))))))). % old.prod.inject
thf(fact_67_old_Oprod_Oinject, axiom,
    ((![A3 : exp_list_char, B2 : produc515445032on_val, A5 : exp_list_char, B4 : produc515445032on_val]: (((produc2023458740on_val @ A3 @ B2) = (produc2023458740on_val @ A5 @ B4)) = (((A3 = A5)) & ((B2 = B4))))))). % old.prod.inject
thf(fact_68_old_Oprod_Oinject, axiom,
    ((![A3 : nat > option2118145160on_val, B2 : list_char > option_val, A5 : nat > option2118145160on_val, B4 : list_char > option_val]: (((produc52622304on_val @ A3 @ B2) = (produc52622304on_val @ A5 @ B4)) = (((A3 = A5)) & ((B2 = B4))))))). % old.prod.inject
thf(fact_69_prod_Oinject, axiom,
    ((![X1 : produc1097884484on_val, X22 : produc1097884484on_val, Y1 : produc1097884484on_val, Y22 : produc1097884484on_val]: (((produc1069526295on_val @ X1 @ X22) = (produc1069526295on_val @ Y1 @ Y22)) = (((X1 = Y1)) & ((X22 = Y22))))))). % prod.inject
thf(fact_70_prod_Oinject, axiom,
    ((![X1 : exp_list_char, X22 : produc515445032on_val, Y1 : exp_list_char, Y22 : produc515445032on_val]: (((produc2023458740on_val @ X1 @ X22) = (produc2023458740on_val @ Y1 @ Y22)) = (((X1 = Y1)) & ((X22 = Y22))))))). % prod.inject
thf(fact_71_prod_Oinject, axiom,
    ((![X1 : nat > option2118145160on_val, X22 : list_char > option_val, Y1 : nat > option2118145160on_val, Y22 : list_char > option_val]: (((produc52622304on_val @ X1 @ X22) = (produc52622304on_val @ Y1 @ Y22)) = (((X1 = Y1)) & ((X22 = Y22))))))). % prod.inject
thf(fact_72_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_73_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_74_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_75_old_Oprod_Oexhaust, axiom,
    ((![Y : produc1172664615on_val]: (~ ((![A2 : produc1097884484on_val, B : produc1097884484on_val]: (~ ((Y = (produc1069526295on_val @ A2 @ B)))))))))). % old.prod.exhaust
thf(fact_76_old_Oprod_Oexhaust, axiom,
    ((![Y : produc1097884484on_val]: (~ ((![A2 : exp_list_char, B : produc515445032on_val]: (~ ((Y = (produc2023458740on_val @ A2 @ B)))))))))). % old.prod.exhaust
thf(fact_77_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_78_Pair__inject, axiom,
    ((![A3 : produc1097884484on_val, B2 : produc1097884484on_val, A5 : produc1097884484on_val, B4 : produc1097884484on_val]: (((produc1069526295on_val @ A3 @ B2) = (produc1069526295on_val @ A5 @ B4)) => (~ (((A3 = A5) => (~ ((B2 = B4)))))))))). % Pair_inject
thf(fact_79_Pair__inject, axiom,
    ((![A3 : exp_list_char, B2 : produc515445032on_val, A5 : exp_list_char, B4 : produc515445032on_val]: (((produc2023458740on_val @ A3 @ B2) = (produc2023458740on_val @ A5 @ B4)) => (~ (((A3 = A5) => (~ ((B2 = B4)))))))))). % Pair_inject
thf(fact_80_Pair__inject, axiom,
    ((![A3 : nat > option2118145160on_val, B2 : list_char > option_val, A5 : nat > option2118145160on_val, B4 : list_char > option_val]: (((produc52622304on_val @ A3 @ B2) = (produc52622304on_val @ A5 @ B4)) => (~ (((A3 = A5) => (~ ((B2 = B4)))))))))). % Pair_inject
thf(fact_81_prod__cases, axiom,
    ((![P : produc1172664615on_val > $o, P4 : produc1172664615on_val]: ((![A2 : produc1097884484on_val, B : produc1097884484on_val]: (P @ (produc1069526295on_val @ A2 @ B))) => (P @ P4))))). % prod_cases
thf(fact_82_prod__cases, axiom,
    ((![P : produc1097884484on_val > $o, P4 : produc1097884484on_val]: ((![A2 : exp_list_char, B : produc515445032on_val]: (P @ (produc2023458740on_val @ A2 @ B))) => (P @ P4))))). % prod_cases
thf(fact_83_prod__cases, axiom,
    ((![P : produc515445032on_val > $o, P4 : produc515445032on_val]: ((![A2 : nat > option2118145160on_val, B : list_char > option_val]: (P @ (produc52622304on_val @ A2 @ B))) => (P @ P4))))). % prod_cases
thf(fact_84_surj__pair, axiom,
    ((![P4 : produc1172664615on_val]: (?[X5 : produc1097884484on_val, Y4 : produc1097884484on_val]: (P4 = (produc1069526295on_val @ X5 @ Y4)))))). % surj_pair
thf(fact_85_surj__pair, axiom,
    ((![P4 : produc1097884484on_val]: (?[X5 : exp_list_char, Y4 : produc515445032on_val]: (P4 = (produc2023458740on_val @ X5 @ Y4)))))). % surj_pair
thf(fact_86_surj__pair, axiom,
    ((![P4 : produc515445032on_val]: (?[X5 : nat > option2118145160on_val, Y4 : list_char > option_val]: (P4 = (produc52622304on_val @ X5 @ Y4)))))). % surj_pair
thf(fact_87_prod__induct3, axiom,
    ((![P : produc1172664615on_val > $o, X : produc1172664615on_val]: ((![A2 : produc1097884484on_val, B : exp_list_char, C2 : produc515445032on_val]: (P @ (produc1069526295on_val @ A2 @ (produc2023458740on_val @ B @ C2)))) => (P @ X))))). % prod_induct3
thf(fact_88_prod__induct3, axiom,
    ((![P : produc1097884484on_val > $o, X : produc1097884484on_val]: ((![A2 : exp_list_char, B : nat > option2118145160on_val, C2 : list_char > option_val]: (P @ (produc2023458740on_val @ A2 @ (produc52622304on_val @ B @ C2)))) => (P @ X))))). % prod_induct3
thf(fact_89_prod__cases3, axiom,
    ((![Y : produc1172664615on_val]: (~ ((![A2 : produc1097884484on_val, B : exp_list_char, C2 : produc515445032on_val]: (~ ((Y = (produc1069526295on_val @ A2 @ (produc2023458740on_val @ B @ C2))))))))))). % prod_cases3
thf(fact_90_prod__cases3, axiom,
    ((![Y : produc1097884484on_val]: (~ ((![A2 : exp_list_char, B : nat > option2118145160on_val, C2 : list_char > option_val]: (~ ((Y = (produc2023458740on_val @ A2 @ (produc52622304on_val @ B @ C2))))))))))). % prod_cases3
thf(fact_91_map__upd__eqD1, axiom,
    ((![M : list_char > option_val, A3 : list_char, X : val, N : list_char > option_val, Y : val]: (((fun_up1252458416on_val @ M @ A3 @ (some_val @ X)) = (fun_up1252458416on_val @ N @ A3 @ (some_val @ Y))) => (X = Y))))). % map_upd_eqD1
thf(fact_92_map__upd__triv, axiom,
    ((![T2 : list_char > option_val, K : list_char, X : val]: (((T2 @ K) = (some_val @ X)) => ((fun_up1252458416on_val @ T2 @ K @ (some_val @ X)) = T2))))). % map_upd_triv
thf(fact_93_map__upd__Some__unfold, axiom,
    ((![M : list_char > option_val, A3 : list_char, B2 : val, X : list_char, Y : val]: (((fun_up1252458416on_val @ M @ A3 @ (some_val @ B2) @ X) = (some_val @ Y)) = (((((X = A3)) & ((B2 = Y)))) | ((((~ ((X = A3)))) & (((M @ X) = (some_val @ Y)))))))))). % map_upd_Some_unfold
thf(fact_94_domD, axiom,
    ((![A3 : produc1172664615on_val, M : produc1172664615on_val > option_set_list_char]: ((member354538064on_val @ A3 @ (dom_Pr1335625324t_char @ M)) => (?[B : set_list_char]: ((M @ A3) = (some_set_list_char @ B))))))). % domD
thf(fact_95_domD, axiom,
    ((![A3 : list_char, M : list_char > option_val]: ((member_list_char @ A3 @ (dom_list_char_val @ M)) => (?[B : val]: ((M @ A3) = (some_val @ B))))))). % domD
thf(fact_96_domD, axiom,
    ((![A3 : produc1172664615on_val, M : produc1172664615on_val > option_val]: ((member354538064on_val @ A3 @ (dom_Pr162898261al_val @ M)) => (?[B : val]: ((M @ A3) = (some_val @ B))))))). % domD
thf(fact_97_domI, axiom,
    ((![M : produc1172664615on_val > option_set_list_char, A3 : produc1172664615on_val, B2 : set_list_char]: (((M @ A3) = (some_set_list_char @ B2)) => (member354538064on_val @ A3 @ (dom_Pr1335625324t_char @ M)))))). % domI
thf(fact_98_domI, axiom,
    ((![M : list_char > option_val, A3 : list_char, B2 : val]: (((M @ A3) = (some_val @ B2)) => (member_list_char @ A3 @ (dom_list_char_val @ M)))))). % domI
thf(fact_99_domI, axiom,
    ((![M : produc1172664615on_val > option_val, A3 : produc1172664615on_val, B2 : val]: (((M @ A3) = (some_val @ B2)) => (member354538064on_val @ A3 @ (dom_Pr162898261al_val @ M)))))). % domI
thf(fact_100_domIff, axiom,
    ((![A3 : list_char, M : list_char > option_val]: ((member_list_char @ A3 @ (dom_list_char_val @ M)) = (~ (((M @ A3) = none_val))))))). % domIff
thf(fact_101_domIff, axiom,
    ((![A3 : produc1172664615on_val, M : produc1172664615on_val > option_val]: ((member354538064on_val @ A3 @ (dom_Pr162898261al_val @ M)) = (~ (((M @ A3) = none_val))))))). % domIff
thf(fact_102_dom__def, axiom,
    ((dom_list_char_val = (^[M2 : list_char > option_val]: (collect_list_char @ (^[A4 : list_char]: (~ (((M2 @ A4) = none_val))))))))). % dom_def
thf(fact_103_redp__redsp_OBlockRedSome, axiom,
    ((![P : list_P1234162913t_char, E3 : exp_list_char, H : nat > option2118145160on_val, L : list_char > option_val, V3 : list_char, E4 : exp_list_char, H2 : nat > option2118145160on_val, L2 : list_char > option_val, V4 : val, T : ty]: ((redp @ P @ E3 @ (produc52622304on_val @ H @ (fun_up1252458416on_val @ L @ V3 @ none_val)) @ E4 @ (produc52622304on_val @ H2 @ L2)) => (((L2 @ V3) = (some_val @ V4)) => ((~ ((assigned @ V3 @ E3))) => (redp @ P @ (block_list_char @ V3 @ T @ E3) @ (produc52622304on_val @ H @ L) @ (block_list_char @ V3 @ T @ (seq_list_char @ (lAss_list_char @ V3 @ (val_list_char @ V4)) @ E4)) @ (produc52622304on_val @ H2 @ (fun_up1252458416on_val @ L2 @ V3 @ (L @ V3)))))))))). % redp_redsp.BlockRedSome
thf(fact_104_redp__redsp_OInitBlockRed, axiom,
    ((![P : list_P1234162913t_char, E3 : exp_list_char, H : nat > option2118145160on_val, L : list_char > option_val, V3 : list_char, V4 : val, E4 : exp_list_char, H2 : nat > option2118145160on_val, L2 : list_char > option_val, V5 : val, T : ty]: ((redp @ P @ E3 @ (produc52622304on_val @ H @ (fun_up1252458416on_val @ L @ V3 @ (some_val @ V4))) @ E4 @ (produc52622304on_val @ H2 @ L2)) => (((L2 @ V3) = (some_val @ V5)) => (redp @ P @ (block_list_char @ V3 @ T @ (seq_list_char @ (lAss_list_char @ V3 @ (val_list_char @ V4)) @ E3)) @ (produc52622304on_val @ H @ L) @ (block_list_char @ V3 @ T @ (seq_list_char @ (lAss_list_char @ V3 @ (val_list_char @ V5)) @ E4)) @ (produc52622304on_val @ H2 @ (fun_up1252458416on_val @ L2 @ V3 @ (L @ V3))))))))). % redp_redsp.InitBlockRed
thf(fact_105_LAssRedsVal, axiom,
    ((![E3 : exp_list_char, S : produc515445032on_val, V4 : val, H2 : nat > option2118145160on_val, L2 : list_char > option_val, P : list_P1234162913t_char, V3 : list_char]: ((member354538064on_val @ (produc1069526295on_val @ (produc2023458740on_val @ E3 @ S) @ (produc2023458740on_val @ (val_list_char @ V4) @ (produc52622304on_val @ H2 @ L2))) @ (transi111096263on_val @ (red @ P))) => (member354538064on_val @ (produc1069526295on_val @ (produc2023458740on_val @ (lAss_list_char @ V3 @ E3) @ S) @ (produc2023458740on_val @ (val_list_char @ unit) @ (produc52622304on_val @ H2 @ (fun_up1252458416on_val @ L2 @ V3 @ (some_val @ V4))))) @ (transi111096263on_val @ (red @ P))))))). % LAssRedsVal
thf(fact_106_redp__redsp_ORedLAss, axiom,
    ((![P : list_P1234162913t_char, V3 : list_char, V4 : val, H : nat > option2118145160on_val, L : list_char > option_val]: (redp @ P @ (lAss_list_char @ V3 @ (val_list_char @ V4)) @ (produc52622304on_val @ H @ L) @ (val_list_char @ unit) @ (produc52622304on_val @ H @ (fun_up1252458416on_val @ L @ V3 @ (some_val @ V4))))))). % redp_redsp.RedLAss
thf(fact_107_redp__redsp_OLAssRed, axiom,
    ((![P : list_P1234162913t_char, E3 : exp_list_char, S : produc515445032on_val, E4 : exp_list_char, S2 : produc515445032on_val, V3 : list_char]: ((redp @ P @ E3 @ S @ E4 @ S2) => (redp @ P @ (lAss_list_char @ V3 @ E3) @ S @ (lAss_list_char @ V3 @ E4) @ S2))))). % redp_redsp.LAssRed
thf(fact_108_redp__redsp_OSeqRed, axiom,
    ((![P : list_P1234162913t_char, E3 : exp_list_char, S : produc515445032on_val, E4 : exp_list_char, S2 : produc515445032on_val, E_2 : exp_list_char]: ((redp @ P @ E3 @ S @ E4 @ S2) => (redp @ P @ (seq_list_char @ E3 @ E_2) @ S @ (seq_list_char @ E4 @ E_2) @ S2))))). % redp_redsp.SeqRed
thf(fact_109_redp__redsp_ORedSeq, axiom,
    ((![P : list_P1234162913t_char, V4 : val, E_2 : exp_list_char, S : produc515445032on_val]: (redp @ P @ (seq_list_char @ (val_list_char @ V4) @ E_2) @ S @ E_2 @ S)))). % redp_redsp.RedSeq
thf(fact_110_redp__redsp_ORedBlock, axiom,
    ((![P : list_P1234162913t_char, V3 : list_char, T : ty, U : val, S : produc515445032on_val]: (redp @ P @ (block_list_char @ V3 @ T @ (val_list_char @ U)) @ S @ (val_list_char @ U) @ S)))). % redp_redsp.RedBlock
thf(fact_111_SeqReds, axiom,
    ((![E3 : exp_list_char, S : produc515445032on_val, E4 : exp_list_char, S2 : produc515445032on_val, P : list_P1234162913t_char, E_2 : exp_list_char]: ((member354538064on_val @ (produc1069526295on_val @ (produc2023458740on_val @ E3 @ S) @ (produc2023458740on_val @ E4 @ S2)) @ (transi111096263on_val @ (red @ P))) => (member354538064on_val @ (produc1069526295on_val @ (produc2023458740on_val @ (seq_list_char @ E3 @ E_2) @ S) @ (produc2023458740on_val @ (seq_list_char @ E4 @ E_2) @ S2)) @ (transi111096263on_val @ (red @ P))))))). % SeqReds
thf(fact_112_LAssReds, axiom,
    ((![E3 : exp_list_char, S : produc515445032on_val, E4 : exp_list_char, S2 : produc515445032on_val, P : list_P1234162913t_char, V3 : list_char]: ((member354538064on_val @ (produc1069526295on_val @ (produc2023458740on_val @ E3 @ S) @ (produc2023458740on_val @ E4 @ S2)) @ (transi111096263on_val @ (red @ P))) => (member354538064on_val @ (produc1069526295on_val @ (produc2023458740on_val @ (lAss_list_char @ V3 @ E3) @ S) @ (produc2023458740on_val @ (lAss_list_char @ V3 @ E4) @ S2)) @ (transi111096263on_val @ (red @ P))))))). % LAssReds
thf(fact_113_SeqReds2, axiom,
    ((![E_1 : exp_list_char, S_0 : produc515445032on_val, V_1 : val, S_1 : produc515445032on_val, P : list_P1234162913t_char, E_2 : exp_list_char, E_22 : exp_list_char, S_2 : produc515445032on_val]: ((member354538064on_val @ (produc1069526295on_val @ (produc2023458740on_val @ E_1 @ S_0) @ (produc2023458740on_val @ (val_list_char @ V_1) @ S_1)) @ (transi111096263on_val @ (red @ P))) => ((member354538064on_val @ (produc1069526295on_val @ (produc2023458740on_val @ E_2 @ S_1) @ (produc2023458740on_val @ E_22 @ S_2)) @ (transi111096263on_val @ (red @ P))) => (member354538064on_val @ (produc1069526295on_val @ (produc2023458740on_val @ (seq_list_char @ E_1 @ E_2) @ S_0) @ (produc2023458740on_val @ E_22 @ S_2)) @ (transi111096263on_val @ (red @ P)))))))). % SeqReds2
thf(fact_114_redp__red__eq, axiom,
    ((redp = (^[P3 : list_P1234162913t_char]: (^[X2 : exp_list_char]: (^[Y2 : produc515445032on_val]: (^[Z2 : exp_list_char]: (^[Aa : produc515445032on_val]: (member354538064on_val @ (produc1069526295on_val @ (produc2023458740on_val @ X2 @ Y2) @ (produc2023458740on_val @ Z2 @ Aa)) @ (red @ P3)))))))))). % redp_red_eq
thf(fact_115_converse__rtrancl__induct__red, axiom,
    ((![E3 : 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 @ E3 @ (produc52622304on_val @ H @ L)) @ (produc2023458740on_val @ E4 @ (produc52622304on_val @ H2 @ L2))) @ (transi111096263on_val @ (red @ P))) => ((![E5 : exp_list_char, H3 : nat > option2118145160on_val, L3 : list_char > option_val]: (R @ E5 @ H3 @ L3 @ E5 @ H3 @ L3)) => ((![E_0 : exp_list_char, H_0 : nat > option2118145160on_val, L_0 : list_char > option_val, E_12 : exp_list_char, H_1 : nat > option2118145160on_val, L_1 : list_char > option_val, E6 : exp_list_char, H4 : nat > option2118145160on_val, L4 : list_char > option_val]: ((member354538064on_val @ (produc1069526295on_val @ (produc2023458740on_val @ E_0 @ (produc52622304on_val @ H_0 @ L_0)) @ (produc2023458740on_val @ E_12 @ (produc52622304on_val @ H_1 @ L_1))) @ (red @ P)) => ((R @ E_12 @ H_1 @ L_1 @ E6 @ H4 @ L4) => (R @ E_0 @ H_0 @ L_0 @ E6 @ H4 @ L4)))) => (R @ E3 @ H @ L @ E4 @ H2 @ L2))))))). % converse_rtrancl_induct_red
thf(fact_116_redp__redsp_ORedInitBlock, axiom,
    ((![P : list_P1234162913t_char, V3 : list_char, T : ty, V4 : val, U : val, S : produc515445032on_val]: (redp @ P @ (block_list_char @ V3 @ T @ (seq_list_char @ (lAss_list_char @ V3 @ (val_list_char @ V4)) @ (val_list_char @ U))) @ S @ (val_list_char @ U) @ S)))). % redp_redsp.RedInitBlock
thf(fact_117_redp__redsp_OBlockRedNone, axiom,
    ((![P : list_P1234162913t_char, E3 : exp_list_char, H : nat > option2118145160on_val, L : list_char > option_val, V3 : list_char, E4 : exp_list_char, H2 : nat > option2118145160on_val, L2 : list_char > option_val, T : ty]: ((redp @ P @ E3 @ (produc52622304on_val @ H @ (fun_up1252458416on_val @ L @ V3 @ none_val)) @ E4 @ (produc52622304on_val @ H2 @ L2)) => (((L2 @ V3) = none_val) => ((~ ((assigned @ V3 @ E3))) => (redp @ P @ (block_list_char @ V3 @ T @ E3) @ (produc52622304on_val @ H @ L) @ (block_list_char @ V3 @ T @ E4) @ (produc52622304on_val @ H2 @ (fun_up1252458416on_val @ L2 @ V3 @ (L @ V3)))))))))). % redp_redsp.BlockRedNone
thf(fact_118_InitBlockRedsFinal, axiom,
    ((![E3 : exp_list_char, H : nat > option2118145160on_val, L : list_char > option_val, V3 : list_char, V4 : val, 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 @ E3 @ (produc52622304on_val @ H @ (fun_up1252458416on_val @ L @ V3 @ (some_val @ V4)))) @ (produc2023458740on_val @ E4 @ (produc52622304on_val @ H2 @ L2))) @ (transi111096263on_val @ (red @ P))) => ((final_list_char @ E4) => (member354538064on_val @ (produc1069526295on_val @ (produc2023458740on_val @ (block_list_char @ V3 @ T @ (seq_list_char @ (lAss_list_char @ V3 @ (val_list_char @ V4)) @ E3)) @ (produc52622304on_val @ H @ L)) @ (produc2023458740on_val @ E4 @ (produc52622304on_val @ H2 @ (fun_up1252458416on_val @ L2 @ V3 @ (L @ V3))))) @ (transi111096263on_val @ (red @ P)))))))). % InitBlockRedsFinal
thf(fact_119_InitBlockReds__aux, axiom,
    ((![E3 : exp_list_char, S : produc515445032on_val, E4 : exp_list_char, S2 : produc515445032on_val, P : list_P1234162913t_char, V3 : list_char, T : ty]: ((member354538064on_val @ (produc1069526295on_val @ (produc2023458740on_val @ E3 @ S) @ (produc2023458740on_val @ E4 @ S2)) @ (transi111096263on_val @ (red @ P))) => (![H5 : nat > option2118145160on_val, L5 : list_char > option_val, H6 : nat > option2118145160on_val, L6 : list_char > option_val, V6 : val]: ((S = (produc52622304on_val @ H5 @ (fun_up1252458416on_val @ L5 @ V3 @ (some_val @ V6)))) => ((S2 = (produc52622304on_val @ H6 @ L6)) => (member354538064on_val @ (produc1069526295on_val @ (produc2023458740on_val @ (block_list_char @ V3 @ T @ (seq_list_char @ (lAss_list_char @ V3 @ (val_list_char @ V6)) @ E3)) @ (produc52622304on_val @ H5 @ L5)) @ (produc2023458740on_val @ (block_list_char @ V3 @ T @ (seq_list_char @ (lAss_list_char @ V3 @ (val_list_char @ (the_val @ (L6 @ V3)))) @ E4)) @ (produc52622304on_val @ H6 @ (fun_up1252458416on_val @ L6 @ V3 @ (L5 @ V3))))) @ (transi111096263on_val @ (red @ P)))))))))). % InitBlockReds_aux
thf(fact_120_InitBlockReds, axiom,
    ((![E3 : exp_list_char, H : nat > option2118145160on_val, L : list_char > option_val, V3 : list_char, V4 : val, 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 @ E3 @ (produc52622304on_val @ H @ (fun_up1252458416on_val @ L @ V3 @ (some_val @ V4)))) @ (produc2023458740on_val @ E4 @ (produc52622304on_val @ H2 @ L2))) @ (transi111096263on_val @ (red @ P))) => (member354538064on_val @ (produc1069526295on_val @ (produc2023458740on_val @ (block_list_char @ V3 @ T @ (seq_list_char @ (lAss_list_char @ V3 @ (val_list_char @ V4)) @ E3)) @ (produc52622304on_val @ H @ L)) @ (produc2023458740on_val @ (block_list_char @ V3 @ T @ (seq_list_char @ (lAss_list_char @ V3 @ (val_list_char @ (the_val @ (L2 @ V3)))) @ E4)) @ (produc52622304on_val @ H2 @ (fun_up1252458416on_val @ L2 @ V3 @ (L @ V3))))) @ (transi111096263on_val @ (red @ P))))))). % InitBlockReds
thf(fact_121_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_02 : list_char > option_val, V3 : 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_02 @ V3 @ none_val))) => (member354538064on_val @ (produc1069526295on_val @ (produc2023458740on_val @ (block_list_char @ V3 @ T @ E_02) @ (produc52622304on_val @ H_02 @ L_02)) @ (produc2023458740on_val @ E_2 @ (produc52622304on_val @ H_2 @ (fun_up1252458416on_val @ L_2 @ V3 @ (L_02 @ V3))))) @ (transi111096263on_val @ (red @ P))))))))). % BlockRedsFinal
thf(fact_122_option_Ocollapse, axiom,
    ((![Option : option_set_list_char]: ((~ ((Option = none_set_list_char))) => ((some_set_list_char @ (the_set_list_char @ Option)) = Option))))). % option.collapse
thf(fact_123_option_Ocollapse, axiom,
    ((![Option : option_val]: ((~ ((Option = none_val))) => ((some_val @ (the_val @ Option)) = Option))))). % option.collapse
thf(fact_124_option_Osel, axiom,
    ((![X22 : set_list_char]: ((the_set_list_char @ (some_set_list_char @ X22)) = X22)))). % option.sel
thf(fact_125_option_Osel, axiom,
    ((![X22 : val]: ((the_val @ (some_val @ X22)) = X22)))). % option.sel
thf(fact_126_option_Oexpand, axiom,
    ((![Option : option_val, Option2 : option_val]: (((Option = none_val) = (Option2 = none_val)) => (((~ ((Option = none_val))) => ((~ ((Option2 = none_val))) => ((the_val @ Option) = (the_val @ Option2)))) => (Option = Option2)))))). % option.expand
thf(fact_127_option_Oexhaust__sel, axiom,
    ((![Option : option_set_list_char]: ((~ ((Option = none_set_list_char))) => (Option = (some_set_list_char @ (the_set_list_char @ Option))))))). % option.exhaust_sel
thf(fact_128_option_Oexhaust__sel, axiom,
    ((![Option : option_val]: ((~ ((Option = none_val))) => (Option = (some_val @ (the_val @ Option))))))). % option.exhaust_sel
thf(fact_129_converse__rtrancl__induct2, axiom,
    ((![Ax : produc1097884484on_val, Ay : produc1097884484on_val, Bx : produc1097884484on_val, By : produc1097884484on_val, R2 : set_Pr1368603847on_val, P : produc1097884484on_val > produc1097884484on_val > $o]: ((member208988944on_val @ (produc564964183on_val @ (produc1069526295on_val @ Ax @ Ay) @ (produc1069526295on_val @ Bx @ By)) @ (transi100378922on_val @ R2)) => ((P @ Bx @ By) => ((![A2 : produc1097884484on_val, B : produc1097884484on_val, Aa2 : produc1097884484on_val, Ba : produc1097884484on_val]: ((member208988944on_val @ (produc564964183on_val @ (produc1069526295on_val @ A2 @ B) @ (produc1069526295on_val @ Aa2 @ Ba)) @ R2) => ((member208988944on_val @ (produc564964183on_val @ (produc1069526295on_val @ Aa2 @ Ba) @ (produc1069526295on_val @ Bx @ By)) @ (transi100378922on_val @ R2)) => ((P @ Aa2 @ Ba) => (P @ A2 @ B))))) => (P @ Ax @ Ay))))))). % converse_rtrancl_induct2
thf(fact_130_converse__rtrancl__induct2, axiom,
    ((![Ax : nat > option2118145160on_val, Ay : list_char > option_val, Bx : nat > option2118145160on_val, By : list_char > option_val, R2 : set_Pr148564103on_val, P : (nat > option2118145160on_val) > (list_char > option_val) > $o]: ((member2027247312on_val @ (produc2106877847on_val @ (produc52622304on_val @ Ax @ Ay) @ (produc52622304on_val @ Bx @ By)) @ (transi432893227on_val @ R2)) => ((P @ Bx @ By) => ((![A2 : nat > option2118145160on_val, B : list_char > option_val, Aa2 : nat > option2118145160on_val, Ba : list_char > option_val]: ((member2027247312on_val @ (produc2106877847on_val @ (produc52622304on_val @ A2 @ B) @ (produc52622304on_val @ Aa2 @ Ba)) @ R2) => ((member2027247312on_val @ (produc2106877847on_val @ (produc52622304on_val @ Aa2 @ Ba) @ (produc52622304on_val @ Bx @ By)) @ (transi432893227on_val @ R2)) => ((P @ Aa2 @ Ba) => (P @ A2 @ B))))) => (P @ Ax @ Ay))))))). % converse_rtrancl_induct2
thf(fact_131_converse__rtrancl__induct2, axiom,
    ((![Ax : exp_list_char, Ay : produc515445032on_val, Bx : exp_list_char, By : produc515445032on_val, R2 : set_Pr1189492743on_val, P : exp_list_char > produc515445032on_val > $o]: ((member354538064on_val @ (produc1069526295on_val @ (produc2023458740on_val @ Ax @ Ay) @ (produc2023458740on_val @ Bx @ By)) @ (transi111096263on_val @ R2)) => ((P @ Bx @ By) => ((![A2 : exp_list_char, B : produc515445032on_val, Aa2 : exp_list_char, Ba : produc515445032on_val]: ((member354538064on_val @ (produc1069526295on_val @ (produc2023458740on_val @ A2 @ B) @ (produc2023458740on_val @ Aa2 @ Ba)) @ R2) => ((member354538064on_val @ (produc1069526295on_val @ (produc2023458740on_val @ Aa2 @ Ba) @ (produc2023458740on_val @ Bx @ By)) @ (transi111096263on_val @ R2)) => ((P @ Aa2 @ Ba) => (P @ A2 @ B))))) => (P @ Ax @ Ay))))))). % converse_rtrancl_induct2
thf(fact_132_converse__rtranclE2, axiom,
    ((![Xa : produc1097884484on_val, Xb : produc1097884484on_val, Za : produc1097884484on_val, Zb : produc1097884484on_val, R2 : set_Pr1368603847on_val]: ((member208988944on_val @ (produc564964183on_val @ (produc1069526295on_val @ Xa @ Xb) @ (produc1069526295on_val @ Za @ Zb)) @ (transi100378922on_val @ R2)) => ((~ (((produc1069526295on_val @ Xa @ Xb) = (produc1069526295on_val @ Za @ Zb)))) => (~ ((![A2 : produc1097884484on_val, B : produc1097884484on_val]: ((member208988944on_val @ (produc564964183on_val @ (produc1069526295on_val @ Xa @ Xb) @ (produc1069526295on_val @ A2 @ B)) @ R2) => (~ ((member208988944on_val @ (produc564964183on_val @ (produc1069526295on_val @ A2 @ B) @ (produc1069526295on_val @ Za @ Zb)) @ (transi100378922on_val @ R2))))))))))))). % converse_rtranclE2
thf(fact_133_converse__rtranclE2, axiom,
    ((![Xa : nat > option2118145160on_val, Xb : list_char > option_val, Za : nat > option2118145160on_val, Zb : list_char > option_val, R2 : set_Pr148564103on_val]: ((member2027247312on_val @ (produc2106877847on_val @ (produc52622304on_val @ Xa @ Xb) @ (produc52622304on_val @ Za @ Zb)) @ (transi432893227on_val @ R2)) => ((~ (((produc52622304on_val @ Xa @ Xb) = (produc52622304on_val @ Za @ Zb)))) => (~ ((![A2 : nat > option2118145160on_val, B : list_char > option_val]: ((member2027247312on_val @ (produc2106877847on_val @ (produc52622304on_val @ Xa @ Xb) @ (produc52622304on_val @ A2 @ B)) @ R2) => (~ ((member2027247312on_val @ (produc2106877847on_val @ (produc52622304on_val @ A2 @ B) @ (produc52622304on_val @ Za @ Zb)) @ (transi432893227on_val @ R2))))))))))))). % converse_rtranclE2
thf(fact_134_converse__rtranclE2, axiom,
    ((![Xa : exp_list_char, Xb : produc515445032on_val, Za : exp_list_char, Zb : produc515445032on_val, R2 : set_Pr1189492743on_val]: ((member354538064on_val @ (produc1069526295on_val @ (produc2023458740on_val @ Xa @ Xb) @ (produc2023458740on_val @ Za @ Zb)) @ (transi111096263on_val @ R2)) => ((~ (((produc2023458740on_val @ Xa @ Xb) = (produc2023458740on_val @ Za @ Zb)))) => (~ ((![A2 : exp_list_char, B : produc515445032on_val]: ((member354538064on_val @ (produc1069526295on_val @ (produc2023458740on_val @ Xa @ Xb) @ (produc2023458740on_val @ A2 @ B)) @ R2) => (~ ((member354538064on_val @ (produc1069526295on_val @ (produc2023458740on_val @ A2 @ B) @ (produc2023458740on_val @ Za @ Zb)) @ (transi111096263on_val @ R2))))))))))))). % converse_rtranclE2
thf(fact_135_rtrancl__induct2, axiom,
    ((![Ax : produc1097884484on_val, Ay : produc1097884484on_val, Bx : produc1097884484on_val, By : produc1097884484on_val, R2 : set_Pr1368603847on_val, P : produc1097884484on_val > produc1097884484on_val > $o]: ((member208988944on_val @ (produc564964183on_val @ (produc1069526295on_val @ Ax @ Ay) @ (produc1069526295on_val @ Bx @ By)) @ (transi100378922on_val @ R2)) => ((P @ Ax @ Ay) => ((![A2 : produc1097884484on_val, B : produc1097884484on_val, Aa2 : produc1097884484on_val, Ba : produc1097884484on_val]: ((member208988944on_val @ (produc564964183on_val @ (produc1069526295on_val @ Ax @ Ay) @ (produc1069526295on_val @ A2 @ B)) @ (transi100378922on_val @ R2)) => ((member208988944on_val @ (produc564964183on_val @ (produc1069526295on_val @ A2 @ B) @ (produc1069526295on_val @ Aa2 @ Ba)) @ R2) => ((P @ A2 @ B) => (P @ Aa2 @ Ba))))) => (P @ Bx @ By))))))). % rtrancl_induct2
thf(fact_136_rtrancl__induct2, axiom,
    ((![Ax : nat > option2118145160on_val, Ay : list_char > option_val, Bx : nat > option2118145160on_val, By : list_char > option_val, R2 : set_Pr148564103on_val, P : (nat > option2118145160on_val) > (list_char > option_val) > $o]: ((member2027247312on_val @ (produc2106877847on_val @ (produc52622304on_val @ Ax @ Ay) @ (produc52622304on_val @ Bx @ By)) @ (transi432893227on_val @ R2)) => ((P @ Ax @ Ay) => ((![A2 : nat > option2118145160on_val, B : list_char > option_val, Aa2 : nat > option2118145160on_val, Ba : list_char > option_val]: ((member2027247312on_val @ (produc2106877847on_val @ (produc52622304on_val @ Ax @ Ay) @ (produc52622304on_val @ A2 @ B)) @ (transi432893227on_val @ R2)) => ((member2027247312on_val @ (produc2106877847on_val @ (produc52622304on_val @ A2 @ B) @ (produc52622304on_val @ Aa2 @ Ba)) @ R2) => ((P @ A2 @ B) => (P @ Aa2 @ Ba))))) => (P @ Bx @ By))))))). % rtrancl_induct2
thf(fact_137_rtrancl__induct2, axiom,
    ((![Ax : exp_list_char, Ay : produc515445032on_val, Bx : exp_list_char, By : produc515445032on_val, R2 : set_Pr1189492743on_val, P : exp_list_char > produc515445032on_val > $o]: ((member354538064on_val @ (produc1069526295on_val @ (produc2023458740on_val @ Ax @ Ay) @ (produc2023458740on_val @ Bx @ By)) @ (transi111096263on_val @ R2)) => ((P @ Ax @ Ay) => ((![A2 : exp_list_char, B : produc515445032on_val, Aa2 : exp_list_char, Ba : produc515445032on_val]: ((member354538064on_val @ (produc1069526295on_val @ (produc2023458740on_val @ Ax @ Ay) @ (produc2023458740on_val @ A2 @ B)) @ (transi111096263on_val @ R2)) => ((member354538064on_val @ (produc1069526295on_val @ (produc2023458740on_val @ A2 @ B) @ (produc2023458740on_val @ Aa2 @ Ba)) @ R2) => ((P @ A2 @ B) => (P @ Aa2 @ Ba))))) => (P @ Bx @ By))))))). % rtrancl_induct2
thf(fact_138_rtrancl__idemp, axiom,
    ((![R2 : set_Pr1189492743on_val]: ((transi111096263on_val @ (transi111096263on_val @ R2)) = (transi111096263on_val @ R2))))). % rtrancl_idemp
thf(fact_139_r__into__rtrancl, axiom,
    ((![P4 : produc1172664615on_val, R2 : set_Pr1189492743on_val]: ((member354538064on_val @ P4 @ R2) => (member354538064on_val @ P4 @ (transi111096263on_val @ R2)))))). % r_into_rtrancl
thf(fact_140_rtranclE, axiom,
    ((![A3 : produc1097884484on_val, B2 : produc1097884484on_val, R2 : set_Pr1189492743on_val]: ((member354538064on_val @ (produc1069526295on_val @ A3 @ B2) @ (transi111096263on_val @ R2)) => ((~ ((A3 = B2))) => (~ ((![Y4 : produc1097884484on_val]: ((member354538064on_val @ (produc1069526295on_val @ A3 @ Y4) @ (transi111096263on_val @ R2)) => (~ ((member354538064on_val @ (produc1069526295on_val @ Y4 @ B2) @ R2)))))))))))). % rtranclE
thf(fact_141_rtrancl_Ocases, axiom,
    ((![A1 : produc1097884484on_val, A22 : produc1097884484on_val, R2 : set_Pr1189492743on_val]: ((member354538064on_val @ (produc1069526295on_val @ A1 @ A22) @ (transi111096263on_val @ R2)) => ((~ ((A22 = A1))) => (~ ((![B : produc1097884484on_val]: ((member354538064on_val @ (produc1069526295on_val @ A1 @ B) @ (transi111096263on_val @ R2)) => (~ ((member354538064on_val @ (produc1069526295on_val @ B @ A22) @ R2)))))))))))). % rtrancl.cases
thf(fact_142_rtrancl_Osimps, axiom,
    ((![A1 : produc1097884484on_val, A22 : produc1097884484on_val, R2 : set_Pr1189492743on_val]: ((member354538064on_val @ (produc1069526295on_val @ A1 @ A22) @ (transi111096263on_val @ R2)) = (((?[A4 : produc1097884484on_val]: (((A1 = A4)) & ((A22 = A4))))) | ((?[A4 : produc1097884484on_val]: (?[B3 : produc1097884484on_val]: (?[C3 : produc1097884484on_val]: (((A1 = A4)) & ((((A22 = C3)) & ((((member354538064on_val @ (produc1069526295on_val @ A4 @ B3) @ (transi111096263on_val @ R2))) & ((member354538064on_val @ (produc1069526295on_val @ B3 @ C3) @ R2)))))))))))))))). % rtrancl.simps
thf(fact_143_rtrancl__trans, axiom,
    ((![X : produc1097884484on_val, Y : produc1097884484on_val, R2 : set_Pr1189492743on_val, Z : produc1097884484on_val]: ((member354538064on_val @ (produc1069526295on_val @ X @ Y) @ (transi111096263on_val @ R2)) => ((member354538064on_val @ (produc1069526295on_val @ Y @ Z) @ (transi111096263on_val @ R2)) => (member354538064on_val @ (produc1069526295on_val @ X @ Z) @ (transi111096263on_val @ R2))))))). % rtrancl_trans
thf(fact_144_rtrancl__induct, axiom,
    ((![A3 : produc1097884484on_val, B2 : produc1097884484on_val, R2 : set_Pr1189492743on_val, P : produc1097884484on_val > $o]: ((member354538064on_val @ (produc1069526295on_val @ A3 @ B2) @ (transi111096263on_val @ R2)) => ((P @ A3) => ((![Y4 : produc1097884484on_val, Z3 : produc1097884484on_val]: ((member354538064on_val @ (produc1069526295on_val @ A3 @ Y4) @ (transi111096263on_val @ R2)) => ((member354538064on_val @ (produc1069526295on_val @ Y4 @ Z3) @ R2) => ((P @ Y4) => (P @ Z3))))) => (P @ B2))))))). % rtrancl_induct
thf(fact_145_rtrancl_Oinducts, axiom,
    ((![X1 : produc1097884484on_val, X22 : produc1097884484on_val, R2 : set_Pr1189492743on_val, P : produc1097884484on_val > produc1097884484on_val > $o]: ((member354538064on_val @ (produc1069526295on_val @ X1 @ X22) @ (transi111096263on_val @ R2)) => ((![A2 : produc1097884484on_val]: (P @ A2 @ A2)) => ((![A2 : produc1097884484on_val, B : produc1097884484on_val, C2 : produc1097884484on_val]: ((member354538064on_val @ (produc1069526295on_val @ A2 @ B) @ (transi111096263on_val @ R2)) => ((P @ A2 @ B) => ((member354538064on_val @ (produc1069526295on_val @ B @ C2) @ R2) => (P @ A2 @ C2))))) => (P @ X1 @ X22))))))). % rtrancl.inducts
thf(fact_146_converse__rtranclE, axiom,
    ((![X : produc1097884484on_val, Z : produc1097884484on_val, R2 : set_Pr1189492743on_val]: ((member354538064on_val @ (produc1069526295on_val @ X @ Z) @ (transi111096263on_val @ R2)) => ((~ ((X = Z))) => (~ ((![Y4 : produc1097884484on_val]: ((member354538064on_val @ (produc1069526295on_val @ X @ Y4) @ R2) => (~ ((member354538064on_val @ (produc1069526295on_val @ Y4 @ Z) @ (transi111096263on_val @ R2))))))))))))). % converse_rtranclE
thf(fact_147_rtrancl_Ortrancl__refl, axiom,
    ((![A3 : produc1097884484on_val, R2 : set_Pr1189492743on_val]: (member354538064on_val @ (produc1069526295on_val @ A3 @ A3) @ (transi111096263on_val @ R2))))). % rtrancl.rtrancl_refl
thf(fact_148_converse__rtrancl__induct, axiom,
    ((![A3 : produc1097884484on_val, B2 : produc1097884484on_val, R2 : set_Pr1189492743on_val, P : produc1097884484on_val > $o]: ((member354538064on_val @ (produc1069526295on_val @ A3 @ B2) @ (transi111096263on_val @ R2)) => ((P @ B2) => ((![Y4 : produc1097884484on_val, Z3 : produc1097884484on_val]: ((member354538064on_val @ (produc1069526295on_val @ Y4 @ Z3) @ R2) => ((member354538064on_val @ (produc1069526295on_val @ Z3 @ B2) @ (transi111096263on_val @ R2)) => ((P @ Z3) => (P @ Y4))))) => (P @ A3))))))). % converse_rtrancl_induct
thf(fact_149_rtrancl_Ortrancl__into__rtrancl, axiom,
    ((![A3 : produc1097884484on_val, B2 : produc1097884484on_val, R2 : set_Pr1189492743on_val, C : produc1097884484on_val]: ((member354538064on_val @ (produc1069526295on_val @ A3 @ B2) @ (transi111096263on_val @ R2)) => ((member354538064on_val @ (produc1069526295on_val @ B2 @ C) @ R2) => (member354538064on_val @ (produc1069526295on_val @ A3 @ C) @ (transi111096263on_val @ R2))))))). % rtrancl.rtrancl_into_rtrancl
thf(fact_150_converse__rtrancl__into__rtrancl, axiom,
    ((![A3 : produc1097884484on_val, B2 : produc1097884484on_val, R2 : set_Pr1189492743on_val, C : produc1097884484on_val]: ((member354538064on_val @ (produc1069526295on_val @ A3 @ B2) @ R2) => ((member354538064on_val @ (produc1069526295on_val @ B2 @ C) @ (transi111096263on_val @ R2)) => (member354538064on_val @ (produc1069526295on_val @ A3 @ C) @ (transi111096263on_val @ R2))))))). % converse_rtrancl_into_rtrancl
thf(fact_151_red__lcl__incr, axiom,
    ((![E3 : exp_list_char, H_02 : nat > option2118145160on_val, L_02 : list_char > option_val, E4 : exp_list_char, H_12 : nat > option2118145160on_val, L_12 : list_char > option_val, P : list_P1234162913t_char]: ((member354538064on_val @ (produc1069526295on_val @ (produc2023458740on_val @ E3 @ (produc52622304on_val @ H_02 @ L_02)) @ (produc2023458740on_val @ E4 @ (produc52622304on_val @ H_12 @ L_12))) @ (red @ P)) => (ord_le1836582007t_char @ (dom_list_char_val @ L_02) @ (dom_list_char_val @ L_12)))))). % red_lcl_incr
thf(fact_152_Red__lcl__add, axiom,
    ((![E3 : 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_02 : list_char > option_val]: ((member354538064on_val @ (produc1069526295on_val @ (produc2023458740on_val @ E3 @ (produc52622304on_val @ H @ L)) @ (produc2023458740on_val @ E4 @ (produc52622304on_val @ H2 @ L2))) @ (transi111096263on_val @ (red @ P))) => (member354538064on_val @ (produc1069526295on_val @ (produc2023458740on_val @ E3 @ (produc52622304on_val @ H @ (map_ad1615113112ar_val @ L_02 @ L))) @ (produc2023458740on_val @ E4 @ (produc52622304on_val @ H2 @ (map_ad1615113112ar_val @ L_02 @ L2)))) @ (transi111096263on_val @ (red @ P))))))). % Red_lcl_add
thf(fact_153_red__hext__incr, axiom,
    ((![E3 : 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 @ E3 @ (produc52622304on_val @ H @ L)) @ (produc2023458740on_val @ E4 @ (produc52622304on_val @ H2 @ L2))) @ (red @ P)) => (hext @ H @ H2))))). % red_hext_incr
thf(fact_154_map__add__assoc, axiom,
    ((![M1 : list_char > option_val, M22 : list_char > option_val, M3 : list_char > option_val]: ((map_ad1615113112ar_val @ M1 @ (map_ad1615113112ar_val @ M22 @ M3)) = (map_ad1615113112ar_val @ (map_ad1615113112ar_val @ M1 @ M22) @ M3))))). % map_add_assoc
thf(fact_155_map__add__find__right, axiom,
    ((![N : list_char > option_val, K : list_char, Xx : val, M : list_char > option_val]: (((N @ K) = (some_val @ Xx)) => ((map_ad1615113112ar_val @ M @ N @ K) = (some_val @ Xx)))))). % map_add_find_right
thf(fact_156_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_157_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_158_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_159_map__add__empty, axiom,
    ((![M : list_char > option_val]: ((map_ad1615113112ar_val @ M @ (^[X2 : list_char]: none_val)) = M)))). % map_add_empty
thf(fact_160_empty__map__add, axiom,
    ((![M : list_char > option_val]: ((map_ad1615113112ar_val @ (^[X2 : list_char]: none_val) @ M) = M)))). % empty_map_add
thf(fact_161_map__add__upd, axiom,
    ((![F : list_char > option_val, G : list_char > option_val, X : list_char, Y : val]: ((map_ad1615113112ar_val @ F @ (fun_up1252458416on_val @ G @ X @ (some_val @ Y))) = (fun_up1252458416on_val @ (map_ad1615113112ar_val @ F @ G) @ X @ (some_val @ Y)))))). % map_add_upd
thf(fact_162_map__add__dom__app__simps_I1_J, axiom,
    ((![M : list_char, L22 : list_char > option_val, L1 : list_char > option_val]: ((member_list_char @ M @ (dom_list_char_val @ L22)) => ((map_ad1615113112ar_val @ L1 @ L22 @ M) = (L22 @ M)))))). % map_add_dom_app_simps(1)
thf(fact_163_map__add__dom__app__simps_I2_J, axiom,
    ((![M : list_char, L1 : list_char > option_val, L22 : list_char > option_val]: ((~ ((member_list_char @ M @ (dom_list_char_val @ L1)))) => ((map_ad1615113112ar_val @ L1 @ L22 @ M) = (L22 @ M)))))). % map_add_dom_app_simps(2)
thf(fact_164_map__add__dom__app__simps_I3_J, axiom,
    ((![M : list_char, L22 : list_char > option_val, L1 : list_char > option_val]: ((~ ((member_list_char @ M @ (dom_list_char_val @ L22)))) => ((map_ad1615113112ar_val @ L1 @ L22 @ M) = (L1 @ M)))))). % map_add_dom_app_simps(3)
thf(fact_165_map__add__SomeD, axiom,
    ((![M : list_char > option_val, N : list_char > option_val, K : list_char, X : val]: (((map_ad1615113112ar_val @ M @ N @ K) = (some_val @ X)) => (((N @ K) = (some_val @ X)) | (((N @ K) = none_val) & ((M @ K) = (some_val @ X)))))))). % map_add_SomeD
thf(fact_166_map__add__Some__iff, axiom,
    ((![M : list_char > option_val, N : list_char > option_val, K : list_char, X : val]: (((map_ad1615113112ar_val @ M @ N @ K) = (some_val @ X)) = ((((N @ K) = (some_val @ X))) | (((((N @ K) = none_val)) & (((M @ K) = (some_val @ X)))))))))). % map_add_Some_iff
thf(fact_167_map__add__upd__left, axiom,
    ((![M : produc1172664615on_val, E22 : produc1172664615on_val > option_set_list_char, E1 : produc1172664615on_val > option_set_list_char, U1 : set_list_char]: ((~ ((member354538064on_val @ M @ (dom_Pr1335625324t_char @ E22)))) => ((map_ad1871482825t_char @ (fun_up418936785t_char @ E1 @ M @ (some_set_list_char @ U1)) @ E22) = (fun_up418936785t_char @ (map_ad1871482825t_char @ E1 @ E22) @ M @ (some_set_list_char @ U1))))))). % map_add_upd_left
thf(fact_168_map__add__upd__left, axiom,
    ((![M : produc1172664615on_val, E22 : produc1172664615on_val > option_val, E1 : produc1172664615on_val > option_val, U1 : val]: ((~ ((member354538064on_val @ M @ (dom_Pr162898261al_val @ E22)))) => ((map_ad1876791218al_val @ (fun_up550828090on_val @ E1 @ M @ (some_val @ U1)) @ E22) = (fun_up550828090on_val @ (map_ad1876791218al_val @ E1 @ E22) @ M @ (some_val @ U1))))))). % map_add_upd_left
thf(fact_169_map__add__upd__left, axiom,
    ((![M : list_char, E22 : list_char > option_val, E1 : list_char > option_val, U1 : val]: ((~ ((member_list_char @ M @ (dom_list_char_val @ E22)))) => ((map_ad1615113112ar_val @ (fun_up1252458416on_val @ E1 @ M @ (some_val @ U1)) @ E22) = (fun_up1252458416on_val @ (map_ad1615113112ar_val @ E1 @ E22) @ M @ (some_val @ U1))))))). % map_add_upd_left
thf(fact_170_red__lcl__add, axiom,
    ((![E3 : 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_02 : list_char > option_val]: ((member354538064on_val @ (produc1069526295on_val @ (produc2023458740on_val @ E3 @ (produc52622304on_val @ H @ L)) @ (produc2023458740on_val @ E4 @ (produc52622304on_val @ H2 @ L2))) @ (red @ P)) => (member354538064on_val @ (produc1069526295on_val @ (produc2023458740on_val @ E3 @ (produc52622304on_val @ H @ (map_ad1615113112ar_val @ L_02 @ L))) @ (produc2023458740on_val @ E4 @ (produc52622304on_val @ H2 @ (map_ad1615113112ar_val @ L_02 @ L2)))) @ (red @ P)))))). % red_lcl_add
thf(fact_171__092_060D_062_Osimps_I10_J, axiom,
    ((![V3 : list_char, T : ty, E3 : exp_list_char, A : option_set_list_char]: ((d_list_char @ (block_list_char @ V3 @ T @ E3) @ A) = (d_list_char @ E3 @ (hyperDiff1_list_char @ A @ V3)))))). % \<D>.simps(10)
thf(fact_172_LAssRedsThrow, axiom,
    ((![E3 : exp_list_char, S : produc515445032on_val, A3 : exp_list_char, S2 : produc515445032on_val, P : list_P1234162913t_char, V3 : list_char]: ((member354538064on_val @ (produc1069526295on_val @ (produc2023458740on_val @ E3 @ S) @ (produc2023458740on_val @ (throw_list_char @ A3) @ S2)) @ (transi111096263on_val @ (red @ P))) => (member354538064on_val @ (produc1069526295on_val @ (produc2023458740on_val @ (lAss_list_char @ V3 @ E3) @ S) @ (produc2023458740on_val @ (throw_list_char @ A3) @ S2)) @ (transi111096263on_val @ (red @ P))))))). % LAssRedsThrow
thf(fact_173_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_174_redp__redsp_OSeqThrow, axiom,
    ((![P : list_P1234162913t_char, E3 : exp_list_char, E_2 : exp_list_char, S : produc515445032on_val]: (redp @ P @ (seq_list_char @ (throw_list_char @ E3) @ E_2) @ S @ (throw_list_char @ E3) @ S)))). % redp_redsp.SeqThrow
thf(fact_175_redp__redsp_OLAssThrow, axiom,
    ((![P : list_P1234162913t_char, V3 : list_char, E3 : exp_list_char, S : produc515445032on_val]: (redp @ P @ (lAss_list_char @ V3 @ (throw_list_char @ E3)) @ S @ (throw_list_char @ E3) @ S)))). % redp_redsp.LAssThrow
thf(fact_176__092_060D_062_Osimps_I14_J, axiom,
    ((![E3 : exp_list_char, A : option_set_list_char]: ((d_list_char @ (throw_list_char @ E3) @ A) = (d_list_char @ E3 @ A))))). % \<D>.simps(14)
thf(fact_177_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_178_exp_Odistinct_I195_J, axiom,
    ((![X111 : exp_list_char, X112 : exp_list_char, X14 : exp_list_char]: (~ (((seq_list_char @ X111 @ X112) = (throw_list_char @ X14))))))). % exp.distinct(195)
thf(fact_179_exp_Odistinct_I135_J, axiom,
    ((![X61 : list_char, X62 : exp_list_char, X14 : exp_list_char]: (~ (((lAss_list_char @ X61 @ X62) = (throw_list_char @ X14))))))). % exp.distinct(135)
thf(fact_180_exp_Odistinct_I75_J, axiom,
    ((![X3 : val, X14 : exp_list_char]: (~ (((val_list_char @ X3) = (throw_list_char @ X14))))))). % exp.distinct(75)
thf(fact_181_redp__redsp_OThrowRed, axiom,
    ((![P : list_P1234162913t_char, E3 : exp_list_char, S : produc515445032on_val, E4 : exp_list_char, S2 : produc515445032on_val]: ((redp @ P @ E3 @ S @ E4 @ S2) => (redp @ P @ (throw_list_char @ E3) @ S @ (throw_list_char @ E4) @ S2))))). % redp_redsp.ThrowRed
thf(fact_182_redp__redsp_OThrowThrow, axiom,
    ((![P : list_P1234162913t_char, E3 : exp_list_char, S : produc515445032on_val]: (redp @ P @ (throw_list_char @ (throw_list_char @ E3)) @ S @ (throw_list_char @ E3) @ S)))). % redp_redsp.ThrowThrow
thf(fact_183_red__reds_OThrowRed, axiom,
    ((![E3 : exp_list_char, S : produc515445032on_val, E4 : exp_list_char, S2 : produc515445032on_val, P : list_P1234162913t_char]: ((member354538064on_val @ (produc1069526295on_val @ (produc2023458740on_val @ E3 @ S) @ (produc2023458740on_val @ E4 @ S2)) @ (red @ P)) => (member354538064on_val @ (produc1069526295on_val @ (produc2023458740on_val @ (throw_list_char @ E3) @ S) @ (produc2023458740on_val @ (throw_list_char @ E4) @ S2)) @ (red @ P)))))). % red_reds.ThrowRed

% 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,
    ((d_list_char @ (block_list_char @ v @ t @ (seq_list_char @ (lAss_list_char @ v @ (val_list_char @ v2)) @ e_a)) @ (some_set_list_char @ (dom_list_char_val @ (fun_up1252458416on_val @ l_a @ v @ (la @ v))))))).
