TPTP Problem File: SLH0096^1.p

View Solutions - Solve Problem

%------------------------------------------------------------------------------
% File     : SLH0000^1 : TPTP v8.2.0. Released v8.2.0.
% Domain   : Archive of Formal Proofs
% Problem  :
% Version  : Especial.
% English  :

% Refs     : [Des23] Desharnais (2023), Email to Geoff Sutcliffe
% Source   : [Des23]
% Names    : Separation_Logic_Unbounded/0000_UnboundedLogic/prob_00158_005207__6487744_1 [Des23]

% Status   : Theorem
% Rating   : ? v8.2.0
% Syntax   : Number of formulae    : 1457 ( 424 unt; 461 typ;   0 def)
%            Number of atoms       : 3176 (1354 equ;   0 cnn)
%            Maximal formula atoms :   12 (   3 avg)
%            Number of connectives : 11057 ( 312   ~;  13   |; 178   &;9349   @)
%                                         (   0 <=>;1205  =>;   0  <=;   0 <~>)
%            Maximal formula depth :   26 (   7 avg)
%            Number of types       :   44 (  43 usr)
%            Number of type conns  : 3762 (3762   >;   0   *;   0   +;   0  <<)
%            Number of symbols     :  421 ( 418 usr;  25 con; 0-7 aty)
%            Number of variables   : 3533 ( 255   ^;3210   !;  68   ?;3533   :)
% SPC      : TH0_THM_EQU_NAR

% Comments : This file was generated by Isabelle (most likely Sledgehammer)
%            2023-01-19 15:58:49.742
%------------------------------------------------------------------------------
% Could-be-implicit typings (43)
thf(ty_n_t__Set__Oset_I_062_It__Option__Ooption_Itf__a_J_Mt__Option__Ooption_It__Option__Ooption_Itf__a_J_J_J_J,type,
    set_op7164657265554968289tion_a: $tType ).

thf(ty_n_t__Product____Type__Oprod_It__Option__Ooption_Itf__a_J_Mt__Option__Ooption_Itf__a_J_J,type,
    produc3509355604313844263tion_a: $tType ).

thf(ty_n_t__List__Olist_It__Product____Type__Oprod_It__Option__Ooption_Itf__a_J_Mtf__a_J_J,type,
    list_P6260409590414597735on_a_a: $tType ).

thf(ty_n_t__Set__Oset_I_062_Itf__a_Mt__Option__Ooption_It__Option__Ooption_Itf__a_J_J_J_J,type,
    set_a_2282238091077557671tion_a: $tType ).

thf(ty_n_t__Set__Oset_I_062_It__Option__Ooption_Itf__a_J_Mt__Option__Ooption_Itf__a_J_J_J,type,
    set_op7810783462584961947tion_a: $tType ).

thf(ty_n_t__Set__Oset_It__Product____Type__Oprod_It__Option__Ooption_Itf__a_J_Mtf__a_J_J,type,
    set_Pr6308966090954093121on_a_a: $tType ).

thf(ty_n_t__Set__Oset_It__Option__Ooption_It__Product____Type__Oprod_Itf__a_Mtf__a_J_J_J,type,
    set_op7160277562814721357od_a_a: $tType ).

thf(ty_n_t__Set__Oset_It__Option__Ooption_It__Option__Ooption_Itf__a_J_J_J,type,
    set_option_option_a: $tType ).

thf(ty_n_t__Product____Type__Oprod_It__Option__Ooption_Itf__a_J_Mtf__a_J,type,
    produc3083010940779526881on_a_a: $tType ).

thf(ty_n_t__Option__Ooption_It__Product____Type__Oprod_Itf__a_Mtf__a_J_J,type,
    option5210160422955383789od_a_a: $tType ).

thf(ty_n_t__UnboundedLogic__Oassertion_Itf__a_Mtf__b_Mtf__d_Mtf__c_J,type,
    assertion_a_b_d_c: $tType ).

thf(ty_n_t__List__Olist_It__Product____Type__Oprod_Itf__b_Mtf__a_J_J,type,
    list_P761291482561299692od_b_a: $tType ).

thf(ty_n_t__List__Olist_It__Product____Type__Oprod_Itf__a_Mtf__a_J_J,type,
    list_P1396940483166286381od_a_a: $tType ).

thf(ty_n_t__Set__Oset_I_062_Itf__a_Mt__Option__Ooption_Itf__a_J_J_J,type,
    set_a_option_a: $tType ).

thf(ty_n_t__Set__Oset_It__Product____Type__Oprod_Itf__b_Mtf__a_J_J,type,
    set_Product_prod_b_a: $tType ).

thf(ty_n_t__Set__Oset_It__Product____Type__Oprod_Itf__a_Mtf__a_J_J,type,
    set_Product_prod_a_a: $tType ).

thf(ty_n_t__Option__Ooption_It__Option__Ooption_Itf__a_J_J,type,
    option_option_a: $tType ).

thf(ty_n_t__Option__Ooption_It__List__Olist_Itf__a_J_J,type,
    option_list_a: $tType ).

thf(ty_n_t__List__Olist_It__Option__Ooption_Itf__a_J_J,type,
    list_option_a: $tType ).

thf(ty_n_t__Set__Oset_It__Option__Ooption_Itf__b_J_J,type,
    set_option_b: $tType ).

thf(ty_n_t__Set__Oset_It__Option__Ooption_Itf__a_J_J,type,
    set_option_a: $tType ).

thf(ty_n_t__Option__Ooption_It__Set__Oset_Itf__b_J_J,type,
    option_set_b: $tType ).

thf(ty_n_t__Product____Type__Oprod_Itf__b_Mtf__a_J,type,
    product_prod_b_a: $tType ).

thf(ty_n_t__Product____Type__Oprod_Itf__a_Mtf__a_J,type,
    product_prod_a_a: $tType ).

thf(ty_n_t__Set__Oset_It__Set__Oset_Itf__b_J_J,type,
    set_set_b: $tType ).

thf(ty_n_t__Set__Oset_It__Set__Oset_Itf__a_J_J,type,
    set_set_a: $tType ).

thf(ty_n_t__Set__Oset_It__Nat__Onat_J,type,
    set_nat: $tType ).

thf(ty_n_t__Option__Ooption_Itf__b_J,type,
    option_b: $tType ).

thf(ty_n_t__Option__Ooption_Itf__a_J,type,
    option_a: $tType ).

thf(ty_n_t__Option__Ooption_I_Eo_J,type,
    option_o: $tType ).

thf(ty_n_t__List__Olist_Itf__d_J,type,
    list_d: $tType ).

thf(ty_n_t__List__Olist_Itf__c_J,type,
    list_c: $tType ).

thf(ty_n_t__List__Olist_Itf__b_J,type,
    list_b: $tType ).

thf(ty_n_t__List__Olist_Itf__a_J,type,
    list_a: $tType ).

thf(ty_n_t__Set__Oset_Itf__d_J,type,
    set_d: $tType ).

thf(ty_n_t__Set__Oset_Itf__c_J,type,
    set_c: $tType ).

thf(ty_n_t__Set__Oset_Itf__b_J,type,
    set_b: $tType ).

thf(ty_n_t__Set__Oset_Itf__a_J,type,
    set_a: $tType ).

thf(ty_n_t__Nat__Onat,type,
    nat: $tType ).

thf(ty_n_tf__d,type,
    d: $tType ).

thf(ty_n_tf__c,type,
    c: $tType ).

thf(ty_n_tf__b,type,
    b: $tType ).

thf(ty_n_tf__a,type,
    a: $tType ).

% Explicit typings (418)
thf(sy_c_BNF__Def_OGrp_001t__Option__Ooption_It__Product____Type__Oprod_Itf__a_Mtf__a_J_J_001t__Option__Ooption_Itf__a_J,type,
    bNF_Gr1758829368316449381tion_a: set_op7160277562814721357od_a_a > ( option5210160422955383789od_a_a > option_a ) > option5210160422955383789od_a_a > option_a > $o ).

thf(sy_c_BNF__Def_OGrp_001t__Option__Ooption_Itf__a_J_001t__Option__Ooption_Itf__a_J,type,
    bNF_Gr5654676046521400910tion_a: set_option_a > ( option_a > option_a ) > option_a > option_a > $o ).

thf(sy_c_BNF__Def_OGrp_001tf__a_001tf__a,type,
    bNF_Grp_a_a: set_a > ( a > a ) > a > a > $o ).

thf(sy_c_BNF__Def_Oeq__onp_001t__Option__Ooption_Itf__a_J,type,
    bNF_eq_onp_option_a: ( option_a > $o ) > option_a > option_a > $o ).

thf(sy_c_BNF__Def_Oeq__onp_001tf__a,type,
    bNF_eq_onp_a: ( a > $o ) > a > a > $o ).

thf(sy_c_BNF__Def_Orel__fun_001_062_It__Option__Ooption_Itf__a_J_M_Eo_J_001_062_It__Option__Ooption_Itf__a_J_M_Eo_J_001_062_It__Option__Ooption_It__Option__Ooption_Itf__a_J_J_M_Eo_J_001_062_It__Option__Ooption_It__Option__Ooption_Itf__a_J_J_M_Eo_J,type,
    bNF_re8007680959799151545on_a_o: ( ( option_a > $o ) > ( option_a > $o ) > $o ) > ( ( option_option_a > $o ) > ( option_option_a > $o ) > $o ) > ( ( option_a > $o ) > option_option_a > $o ) > ( ( option_a > $o ) > option_option_a > $o ) > $o ).

thf(sy_c_BNF__Def_Orel__fun_001_062_It__Option__Ooption_Itf__a_J_M_Eo_J_001_062_It__Option__Ooption_Itf__a_J_M_Eo_J_001_062_It__Option__Ooption_It__Option__Ooption_Itf__a_J_J_Mt__Option__Ooption_I_Eo_J_J_001_062_It__Option__Ooption_It__Option__Ooption_Itf__a_J_J_Mt__Option__Ooption_I_Eo_J_J,type,
    bNF_re5724521104517466949tion_o: ( ( option_a > $o ) > ( option_a > $o ) > $o ) > ( ( option_option_a > option_o ) > ( option_option_a > option_o ) > $o ) > ( ( option_a > $o ) > option_option_a > option_o ) > ( ( option_a > $o ) > option_option_a > option_o ) > $o ).

thf(sy_c_BNF__Def_Orel__fun_001_062_It__Option__Ooption_Itf__a_J_M_Eo_J_001_062_It__Option__Ooption_Itf__a_J_M_Eo_J_001_062_It__Option__Ooption_Itf__a_J_M_062_I_Eo_M_062_It__Option__Ooption_Itf__a_J_M_Eo_J_J_J_001_062_It__Option__Ooption_Itf__a_J_M_062_I_Eo_M_062_It__Option__Ooption_Itf__a_J_M_Eo_J_J_J,type,
    bNF_re294699121693105817on_a_o: ( ( option_a > $o ) > ( option_a > $o ) > $o ) > ( ( option_a > $o > option_a > $o ) > ( option_a > $o > option_a > $o ) > $o ) > ( ( option_a > $o ) > option_a > $o > option_a > $o ) > ( ( option_a > $o ) > option_a > $o > option_a > $o ) > $o ).

thf(sy_c_BNF__Def_Orel__fun_001_062_Itf__a_M_062_It__Option__Ooption_Itf__a_J_M_Eo_J_J_001_062_Itf__a_M_062_It__Option__Ooption_Itf__a_J_M_Eo_J_J_001_062_It__Option__Ooption_Itf__a_J_M_062_It__Option__Ooption_It__Option__Ooption_Itf__a_J_J_M_Eo_J_J_001_062_It__Option__Ooption_Itf__a_J_M_062_It__Option__Ooption_It__Option__Ooption_Itf__a_J_J_M_Eo_J_J,type,
    bNF_re3412046433515172957on_a_o: ( ( a > option_a > $o ) > ( a > option_a > $o ) > $o ) > ( ( option_a > option_option_a > $o ) > ( option_a > option_option_a > $o ) > $o ) > ( ( a > option_a > $o ) > option_a > option_option_a > $o ) > ( ( a > option_a > $o ) > option_a > option_option_a > $o ) > $o ).

thf(sy_c_BNF__Def_Orel__fun_001_062_Itf__a_M_062_Itf__a_M_Eo_J_J_001_062_Itf__a_M_062_Itf__a_M_Eo_J_J_001_062_It__Option__Ooption_Itf__a_J_M_062_It__Option__Ooption_Itf__a_J_M_Eo_J_J_001_062_It__Option__Ooption_Itf__a_J_M_062_It__Option__Ooption_Itf__a_J_M_Eo_J_J,type,
    bNF_re4921454823102592605on_a_o: ( ( a > a > $o ) > ( a > a > $o ) > $o ) > ( ( option_a > option_a > $o ) > ( option_a > option_a > $o ) > $o ) > ( ( a > a > $o ) > option_a > option_a > $o ) > ( ( a > a > $o ) > option_a > option_a > $o ) > $o ).

thf(sy_c_BNF__Def_Orel__fun_001_062_Itf__a_M_Eo_J_001_062_Itf__a_M_Eo_J_001_062_It__Option__Ooption_Itf__a_J_M_Eo_J_001_062_It__Option__Ooption_Itf__a_J_M_Eo_J,type,
    bNF_re4859868158825367505on_a_o: ( ( a > $o ) > ( a > $o ) > $o ) > ( ( option_a > $o ) > ( option_a > $o ) > $o ) > ( ( a > $o ) > option_a > $o ) > ( ( a > $o ) > option_a > $o ) > $o ).

thf(sy_c_BNF__Def_Orel__fun_001_062_Itf__a_M_Eo_J_001_062_Itf__a_Mt__Option__Ooption_Itf__a_J_J_001_062_It__Option__Ooption_Itf__a_J_M_Eo_J_001_062_It__Option__Ooption_Itf__a_J_Mt__Option__Ooption_Itf__a_J_J,type,
    bNF_re2369685550566307625tion_a: ( ( a > $o ) > ( a > option_a ) > $o ) > ( ( option_a > $o ) > ( option_a > option_a ) > $o ) > ( ( a > $o ) > option_a > $o ) > ( ( a > option_a ) > option_a > option_a ) > $o ).

thf(sy_c_BNF__Def_Orel__fun_001_062_Itf__a_M_Eo_J_001_062_Itf__a_Mtf__a_J_001_062_It__Option__Ooption_Itf__a_J_M_Eo_J_001_062_It__Option__Ooption_Itf__a_J_Mtf__a_J,type,
    bNF_re102678143051736477on_a_a: ( ( a > $o ) > ( a > a ) > $o ) > ( ( option_a > $o ) > ( option_a > a ) > $o ) > ( ( a > $o ) > option_a > $o ) > ( ( a > a ) > option_a > a ) > $o ).

thf(sy_c_BNF__Def_Orel__fun_001_062_Itf__a_Mt__Option__Ooption_Itf__a_J_J_001_062_Itf__a_M_Eo_J_001_062_It__Option__Ooption_Itf__a_J_Mt__Option__Ooption_Itf__a_J_J_001_062_It__Option__Ooption_Itf__a_J_M_Eo_J,type,
    bNF_re6058157240589548841on_a_o: ( ( a > option_a ) > ( a > $o ) > $o ) > ( ( option_a > option_a ) > ( option_a > $o ) > $o ) > ( ( a > option_a ) > option_a > option_a ) > ( ( a > $o ) > option_a > $o ) > $o ).

thf(sy_c_BNF__Def_Orel__fun_001_062_Itf__a_Mt__Option__Ooption_Itf__a_J_J_001_062_Itf__a_Mt__Option__Ooption_Itf__a_J_J_001_062_It__Option__Ooption_Itf__a_J_Mt__Option__Ooption_It__Option__Ooption_Itf__a_J_J_J_001_062_It__Option__Ooption_Itf__a_J_Mt__Option__Ooption_It__Option__Ooption_Itf__a_J_J_J,type,
    bNF_re2496629990708770829tion_a: ( ( a > option_a ) > ( a > option_a ) > $o ) > ( ( option_a > option_option_a ) > ( option_a > option_option_a ) > $o ) > ( ( a > option_a ) > option_a > option_option_a ) > ( ( a > option_a ) > option_a > option_option_a ) > $o ).

thf(sy_c_BNF__Def_Orel__fun_001_062_Itf__a_Mt__Option__Ooption_Itf__a_J_J_001_062_Itf__a_Mt__Option__Ooption_Itf__a_J_J_001_062_It__Option__Ooption_Itf__a_J_Mt__Option__Ooption_Itf__a_J_J_001_062_It__Option__Ooption_Itf__a_J_Mt__Option__Ooption_Itf__a_J_J,type,
    bNF_re2722752998287985793tion_a: ( ( a > option_a ) > ( a > option_a ) > $o ) > ( ( option_a > option_a ) > ( option_a > option_a ) > $o ) > ( ( a > option_a ) > option_a > option_a ) > ( ( a > option_a ) > option_a > option_a ) > $o ).

thf(sy_c_BNF__Def_Orel__fun_001_062_Itf__a_Mt__Option__Ooption_Itf__a_J_J_001_062_Itf__a_Mt__Option__Ooption_Itf__a_J_J_001_062_Itf__a_M_062_It__Option__Ooption_Itf__a_J_M_062_Itf__a_Mt__Option__Ooption_Itf__a_J_J_J_J_001_062_Itf__a_M_062_It__Option__Ooption_Itf__a_J_M_062_Itf__a_Mt__Option__Ooption_Itf__a_J_J_J_J,type,
    bNF_re4933961146405920325tion_a: ( ( a > option_a ) > ( a > option_a ) > $o ) > ( ( a > option_a > a > option_a ) > ( a > option_a > a > option_a ) > $o ) > ( ( a > option_a ) > a > option_a > a > option_a ) > ( ( a > option_a ) > a > option_a > a > option_a ) > $o ).

thf(sy_c_BNF__Def_Orel__fun_001_062_Itf__a_Mt__Option__Ooption_Itf__a_J_J_001_062_Itf__a_Mt__Option__Ooption_Itf__a_J_J_001t__Option__Ooption_Itf__a_J_001t__Option__Ooption_Itf__a_J,type,
    bNF_re5527783635739595829tion_a: ( ( a > option_a ) > ( a > option_a ) > $o ) > ( option_a > option_a > $o ) > ( ( a > option_a ) > option_a ) > ( ( a > option_a ) > option_a ) > $o ).

thf(sy_c_BNF__Def_Orel__fun_001_062_Itf__a_Mt__Option__Ooption_Itf__a_J_J_001_062_Itf__a_Mtf__a_J_001_062_It__Option__Ooption_Itf__a_J_Mt__Option__Ooption_Itf__a_J_J_001_062_It__Option__Ooption_Itf__a_J_Mtf__a_J,type,
    bNF_re5072729714030605557on_a_a: ( ( a > option_a ) > ( a > a ) > $o ) > ( ( option_a > option_a ) > ( option_a > a ) > $o ) > ( ( a > option_a ) > option_a > option_a ) > ( ( a > a ) > option_a > a ) > $o ).

thf(sy_c_BNF__Def_Orel__fun_001_062_Itf__a_Mtf__a_J_001_062_Itf__a_M_Eo_J_001_062_It__Option__Ooption_Itf__a_J_Mtf__a_J_001_062_It__Option__Ooption_Itf__a_J_M_Eo_J,type,
    bNF_re4058884933032857501on_a_o: ( ( a > a ) > ( a > $o ) > $o ) > ( ( option_a > a ) > ( option_a > $o ) > $o ) > ( ( a > a ) > option_a > a ) > ( ( a > $o ) > option_a > $o ) > $o ).

thf(sy_c_BNF__Def_Orel__fun_001_062_Itf__a_Mtf__a_J_001_062_Itf__a_Mt__Option__Ooption_Itf__a_J_J_001_062_It__Option__Ooption_Itf__a_J_Mtf__a_J_001_062_It__Option__Ooption_Itf__a_J_Mt__Option__Ooption_Itf__a_J_J,type,
    bNF_re7263069294043397365tion_a: ( ( a > a ) > ( a > option_a ) > $o ) > ( ( option_a > a ) > ( option_a > option_a ) > $o ) > ( ( a > a ) > option_a > a ) > ( ( a > option_a ) > option_a > option_a ) > $o ).

thf(sy_c_BNF__Def_Orel__fun_001_062_Itf__a_Mtf__a_J_001_062_Itf__a_Mtf__a_J_001_062_It__Option__Ooption_Itf__a_J_Mt__Option__Ooption_Itf__a_J_J_001_062_It__Option__Ooption_Itf__a_J_Mt__Option__Ooption_Itf__a_J_J,type,
    bNF_re8471833820502647285tion_a: ( ( a > a ) > ( a > a ) > $o ) > ( ( option_a > option_a ) > ( option_a > option_a ) > $o ) > ( ( a > a ) > option_a > option_a ) > ( ( a > a ) > option_a > option_a ) > $o ).

thf(sy_c_BNF__Def_Orel__fun_001_062_Itf__a_Mtf__a_J_001_062_Itf__a_Mtf__a_J_001_062_It__Option__Ooption_Itf__a_J_Mtf__a_J_001_062_It__Option__Ooption_Itf__a_J_Mtf__a_J,type,
    bNF_re1079736789768479081on_a_a: ( ( a > a ) > ( a > a ) > $o ) > ( ( option_a > a ) > ( option_a > a ) > $o ) > ( ( a > a ) > option_a > a ) > ( ( a > a ) > option_a > a ) > $o ).

thf(sy_c_BNF__Def_Orel__fun_001_062_Itf__c_Mtf__d_J_001_062_Itf__c_Mtf__d_J_001_062_Itf__c_M_062_Itf__d_M_062_Itf__c_Mtf__d_J_J_J_001_062_Itf__c_M_062_Itf__d_M_062_Itf__c_Mtf__d_J_J_J,type,
    bNF_re4162436072719156391_d_c_d: ( ( c > d ) > ( c > d ) > $o ) > ( ( c > d > c > d ) > ( c > d > c > d ) > $o ) > ( ( c > d ) > c > d > c > d ) > ( ( c > d ) > c > d > c > d ) > $o ).

thf(sy_c_BNF__Def_Orel__fun_001_Eo_001_Eo_001_062_I_062_It__Option__Ooption_Itf__a_J_M_Eo_J_M_062_It__Option__Ooption_It__Option__Ooption_Itf__a_J_J_M_Eo_J_J_001_062_I_062_It__Option__Ooption_Itf__a_J_M_Eo_J_M_062_It__Option__Ooption_It__Option__Ooption_Itf__a_J_J_M_Eo_J_J,type,
    bNF_re7775980886671535221on_a_o: ( $o > $o > $o ) > ( ( ( option_a > $o ) > option_option_a > $o ) > ( ( option_a > $o ) > option_option_a > $o ) > $o ) > ( $o > ( option_a > $o ) > option_option_a > $o ) > ( $o > ( option_a > $o ) > option_option_a > $o ) > $o ).

thf(sy_c_BNF__Def_Orel__fun_001_Eo_001_Eo_001_062_I_062_Itf__a_M_Eo_J_M_062_It__Option__Ooption_Itf__a_J_M_Eo_J_J_001_062_I_062_Itf__a_M_Eo_J_M_062_It__Option__Ooption_Itf__a_J_M_Eo_J_J,type,
    bNF_re1464701735350397069on_a_o: ( $o > $o > $o ) > ( ( ( a > $o ) > option_a > $o ) > ( ( a > $o ) > option_a > $o ) > $o ) > ( $o > ( a > $o ) > option_a > $o ) > ( $o > ( a > $o ) > option_a > $o ) > $o ).

thf(sy_c_BNF__Def_Orel__fun_001_Eo_001_Eo_001_062_It__Option__Ooption_Itf__a_J_M_Eo_J_001_062_It__Option__Ooption_Itf__a_J_M_Eo_J,type,
    bNF_re5310993362035161937on_a_o: ( $o > $o > $o ) > ( ( option_a > $o ) > ( option_a > $o ) > $o ) > ( $o > option_a > $o ) > ( $o > option_a > $o ) > $o ).

thf(sy_c_BNF__Def_Orel__fun_001_Eo_001t__Option__Ooption_Itf__a_J_001_062_I_062_Itf__a_M_Eo_J_M_062_It__Option__Ooption_Itf__a_J_M_Eo_J_J_001_062_I_062_Itf__a_Mt__Option__Ooption_Itf__a_J_J_M_062_It__Option__Ooption_Itf__a_J_Mt__Option__Ooption_Itf__a_J_J_J,type,
    bNF_re7078363273947182481tion_a: ( $o > option_a > $o ) > ( ( ( a > $o ) > option_a > $o ) > ( ( a > option_a ) > option_a > option_a ) > $o ) > ( $o > ( a > $o ) > option_a > $o ) > ( option_a > ( a > option_a ) > option_a > option_a ) > $o ).

thf(sy_c_BNF__Def_Orel__fun_001_Eo_001tf__a_001_062_I_062_Itf__a_M_Eo_J_M_062_It__Option__Ooption_Itf__a_J_M_Eo_J_J_001_062_I_062_Itf__a_Mtf__a_J_M_062_It__Option__Ooption_Itf__a_J_Mtf__a_J_J,type,
    bNF_re4337018088969878591on_a_a: ( $o > a > $o ) > ( ( ( a > $o ) > option_a > $o ) > ( ( a > a ) > option_a > a ) > $o ) > ( $o > ( a > $o ) > option_a > $o ) > ( a > ( a > a ) > option_a > a ) > $o ).

thf(sy_c_BNF__Def_Orel__fun_001t__Option__Ooption_It__Option__Ooption_Itf__a_J_J_001t__Option__Ooption_It__Option__Ooption_Itf__a_J_J_001_Eo_001_Eo,type,
    bNF_re669219658517073757_a_o_o: ( option_option_a > option_option_a > $o ) > ( $o > $o > $o ) > ( option_option_a > $o ) > ( option_option_a > $o ) > $o ).

thf(sy_c_BNF__Def_Orel__fun_001t__Option__Ooption_It__Option__Ooption_Itf__a_J_J_001t__Option__Ooption_It__Option__Ooption_Itf__a_J_J_001t__Option__Ooption_I_Eo_J_001t__Option__Ooption_I_Eo_J,type,
    bNF_re7165334401771760221tion_o: ( option_option_a > option_option_a > $o ) > ( option_o > option_o > $o ) > ( option_option_a > option_o ) > ( option_option_a > option_o ) > $o ).

thf(sy_c_BNF__Def_Orel__fun_001t__Option__Ooption_Itf__a_J_001_Eo_001_062_I_062_Itf__a_Mt__Option__Ooption_Itf__a_J_J_M_062_It__Option__Ooption_Itf__a_J_Mt__Option__Ooption_Itf__a_J_J_J_001_062_I_062_Itf__a_M_Eo_J_M_062_It__Option__Ooption_Itf__a_J_M_Eo_J_J,type,
    bNF_re4311958519388381497on_a_o: ( option_a > $o > $o ) > ( ( ( a > option_a ) > option_a > option_a ) > ( ( a > $o ) > option_a > $o ) > $o ) > ( option_a > ( a > option_a ) > option_a > option_a ) > ( $o > ( a > $o ) > option_a > $o ) > $o ).

thf(sy_c_BNF__Def_Orel__fun_001t__Option__Ooption_Itf__a_J_001t__Option__Ooption_Itf__a_J_001_062_I_062_Itf__a_Mt__Option__Ooption_Itf__a_J_J_M_062_It__Option__Ooption_Itf__a_J_Mt__Option__Ooption_Itf__a_J_J_J_001_062_I_062_Itf__a_Mt__Option__Ooption_Itf__a_J_J_M_062_It__Option__Ooption_Itf__a_J_Mt__Option__Ooption_Itf__a_J_J_J,type,
    bNF_re1266155380144051773tion_a: ( option_a > option_a > $o ) > ( ( ( a > option_a ) > option_a > option_a ) > ( ( a > option_a ) > option_a > option_a ) > $o ) > ( option_a > ( a > option_a ) > option_a > option_a ) > ( option_a > ( a > option_a ) > option_a > option_a ) > $o ).

thf(sy_c_BNF__Def_Orel__fun_001t__Option__Ooption_Itf__a_J_001t__Option__Ooption_Itf__a_J_001_062_I_062_Itf__a_Mt__Option__Ooption_Itf__a_J_J_Mt__Option__Ooption_Itf__a_J_J_001_062_I_062_Itf__a_Mt__Option__Ooption_Itf__a_J_J_Mt__Option__Ooption_Itf__a_J_J,type,
    bNF_re5708320262762544989tion_a: ( option_a > option_a > $o ) > ( ( ( a > option_a ) > option_a ) > ( ( a > option_a ) > option_a ) > $o ) > ( option_a > ( a > option_a ) > option_a ) > ( option_a > ( a > option_a ) > option_a ) > $o ).

thf(sy_c_BNF__Def_Orel__fun_001t__Option__Ooption_Itf__a_J_001t__Option__Ooption_Itf__a_J_001_062_I_Eo_M_062_It__Option__Ooption_Itf__a_J_M_Eo_J_J_001_062_I_Eo_M_062_It__Option__Ooption_Itf__a_J_M_Eo_J_J,type,
    bNF_re8312531103195455325on_a_o: ( option_a > option_a > $o ) > ( ( $o > option_a > $o ) > ( $o > option_a > $o ) > $o ) > ( option_a > $o > option_a > $o ) > ( option_a > $o > option_a > $o ) > $o ).

thf(sy_c_BNF__Def_Orel__fun_001t__Option__Ooption_Itf__a_J_001t__Option__Ooption_Itf__a_J_001_062_It__Option__Ooption_It__Option__Ooption_Itf__a_J_J_M_Eo_J_001_062_It__Option__Ooption_It__Option__Ooption_Itf__a_J_J_M_Eo_J,type,
    bNF_re3043890739735069381on_a_o: ( option_a > option_a > $o ) > ( ( option_option_a > $o ) > ( option_option_a > $o ) > $o ) > ( option_a > option_option_a > $o ) > ( option_a > option_option_a > $o ) > $o ).

thf(sy_c_BNF__Def_Orel__fun_001t__Option__Ooption_Itf__a_J_001t__Option__Ooption_Itf__a_J_001_062_It__Option__Ooption_Itf__a_J_M_Eo_J_001_062_It__Option__Ooption_Itf__a_J_M_Eo_J,type,
    bNF_re1541143192665202257on_a_o: ( option_a > option_a > $o ) > ( ( option_a > $o ) > ( option_a > $o ) > $o ) > ( option_a > option_a > $o ) > ( option_a > option_a > $o ) > $o ).

thf(sy_c_BNF__Def_Orel__fun_001t__Option__Ooption_Itf__a_J_001t__Option__Ooption_Itf__a_J_001_062_Itf__a_Mt__Option__Ooption_Itf__a_J_J_001_062_Itf__a_Mt__Option__Ooption_Itf__a_J_J,type,
    bNF_re8162217253061806133tion_a: ( option_a > option_a > $o ) > ( ( a > option_a ) > ( a > option_a ) > $o ) > ( option_a > a > option_a ) > ( option_a > a > option_a ) > $o ).

thf(sy_c_BNF__Def_Orel__fun_001t__Option__Ooption_Itf__a_J_001t__Option__Ooption_Itf__a_J_001_Eo_001_Eo,type,
    bNF_re905040088260304477_a_o_o: ( option_a > option_a > $o ) > ( $o > $o > $o ) > ( option_a > $o ) > ( option_a > $o ) > $o ).

thf(sy_c_BNF__Def_Orel__fun_001t__Option__Ooption_Itf__a_J_001t__Option__Ooption_Itf__a_J_001_Eo_001t__Option__Ooption_Itf__a_J,type,
    bNF_re1129020316103814665tion_a: ( option_a > option_a > $o ) > ( $o > option_a > $o ) > ( option_a > $o ) > ( option_a > option_a ) > $o ).

thf(sy_c_BNF__Def_Orel__fun_001t__Option__Ooption_Itf__a_J_001t__Option__Ooption_Itf__a_J_001_Eo_001tf__a,type,
    bNF_re8815814597387604803_a_o_a: ( option_a > option_a > $o ) > ( $o > a > $o ) > ( option_a > $o ) > ( option_a > a ) > $o ).

thf(sy_c_BNF__Def_Orel__fun_001t__Option__Ooption_Itf__a_J_001t__Option__Ooption_Itf__a_J_001t__Option__Ooption_It__Option__Ooption_Itf__a_J_J_001t__Option__Ooption_It__Option__Ooption_Itf__a_J_J,type,
    bNF_re1595600300046643805tion_a: ( option_a > option_a > $o ) > ( option_option_a > option_option_a > $o ) > ( option_a > option_option_a ) > ( option_a > option_option_a ) > $o ).

thf(sy_c_BNF__Def_Orel__fun_001t__Option__Ooption_Itf__a_J_001t__Option__Ooption_Itf__a_J_001t__Option__Ooption_Itf__a_J_001_Eo,type,
    bNF_re2070578767941953969on_a_o: ( option_a > option_a > $o ) > ( option_a > $o > $o ) > ( option_a > option_a ) > ( option_a > $o ) > $o ).

thf(sy_c_BNF__Def_Orel__fun_001t__Option__Ooption_Itf__a_J_001t__Option__Ooption_Itf__a_J_001t__Option__Ooption_Itf__a_J_001t__Option__Ooption_Itf__a_J,type,
    bNF_re8713957294334624093tion_a: ( option_a > option_a > $o ) > ( option_a > option_a > $o ) > ( option_a > option_a ) > ( option_a > option_a ) > $o ).

thf(sy_c_BNF__Def_Orel__fun_001t__Option__Ooption_Itf__a_J_001t__Option__Ooption_Itf__a_J_001t__Option__Ooption_Itf__a_J_001tf__a,type,
    bNF_re4157831115608716439on_a_a: ( option_a > option_a > $o ) > ( option_a > a > $o ) > ( option_a > option_a ) > ( option_a > a ) > $o ).

thf(sy_c_BNF__Def_Orel__fun_001t__Option__Ooption_Itf__a_J_001t__Option__Ooption_Itf__a_J_001tf__a_001_Eo,type,
    bNF_re8895294753853352567_a_a_o: ( option_a > option_a > $o ) > ( a > $o > $o ) > ( option_a > a ) > ( option_a > $o ) > $o ).

thf(sy_c_BNF__Def_Orel__fun_001t__Option__Ooption_Itf__a_J_001t__Option__Ooption_Itf__a_J_001tf__a_001t__Option__Ooption_Itf__a_J,type,
    bNF_re1935317234069921315tion_a: ( option_a > option_a > $o ) > ( a > option_a > $o ) > ( option_a > a ) > ( option_a > option_a ) > $o ).

thf(sy_c_BNF__Def_Orel__fun_001t__Option__Ooption_Itf__a_J_001t__Option__Ooption_Itf__a_J_001tf__a_001tf__a,type,
    bNF_re6951206947496014429_a_a_a: ( option_a > option_a > $o ) > ( a > a > $o ) > ( option_a > a ) > ( option_a > a ) > $o ).

thf(sy_c_BNF__Def_Orel__fun_001t__Option__Ooption_Itf__a_J_001tf__a_001_062_I_062_Itf__a_Mt__Option__Ooption_Itf__a_J_J_M_062_It__Option__Ooption_Itf__a_J_Mt__Option__Ooption_Itf__a_J_J_J_001_062_I_062_Itf__a_Mtf__a_J_M_062_It__Option__Ooption_Itf__a_J_Mtf__a_J_J,type,
    bNF_re5218620495166150379on_a_a: ( option_a > a > $o ) > ( ( ( a > option_a ) > option_a > option_a ) > ( ( a > a ) > option_a > a ) > $o ) > ( option_a > ( a > option_a ) > option_a > option_a ) > ( a > ( a > a ) > option_a > a ) > $o ).

thf(sy_c_BNF__Def_Orel__fun_001tf__a_001_Eo_001_062_I_062_Itf__a_Mtf__a_J_M_062_It__Option__Ooption_Itf__a_J_Mtf__a_J_J_001_062_I_062_Itf__a_M_Eo_J_M_062_It__Option__Ooption_Itf__a_J_M_Eo_J_J,type,
    bNF_re8717284581917077363on_a_o: ( a > $o > $o ) > ( ( ( a > a ) > option_a > a ) > ( ( a > $o ) > option_a > $o ) > $o ) > ( a > ( a > a ) > option_a > a ) > ( $o > ( a > $o ) > option_a > $o ) > $o ).

thf(sy_c_BNF__Def_Orel__fun_001tf__a_001t__Option__Ooption_Itf__a_J_001_062_I_062_Itf__a_Mtf__a_J_M_062_It__Option__Ooption_Itf__a_J_Mtf__a_J_J_001_062_I_062_Itf__a_Mt__Option__Ooption_Itf__a_J_J_M_062_It__Option__Ooption_Itf__a_J_Mt__Option__Ooption_Itf__a_J_J_J,type,
    bNF_re1882382041600142455tion_a: ( a > option_a > $o ) > ( ( ( a > a ) > option_a > a ) > ( ( a > option_a ) > option_a > option_a ) > $o ) > ( a > ( a > a ) > option_a > a ) > ( option_a > ( a > option_a ) > option_a > option_a ) > $o ).

thf(sy_c_BNF__Def_Orel__fun_001tf__a_001tf__a_001_062_I_062_Itf__a_Mtf__a_J_M_062_It__Option__Ooption_Itf__a_J_Mtf__a_J_J_001_062_I_062_Itf__a_Mtf__a_J_M_062_It__Option__Ooption_Itf__a_J_Mtf__a_J_J,type,
    bNF_re6523360481052543525on_a_a: ( a > a > $o ) > ( ( ( a > a ) > option_a > a ) > ( ( a > a ) > option_a > a ) > $o ) > ( a > ( a > a ) > option_a > a ) > ( a > ( a > a ) > option_a > a ) > $o ).

thf(sy_c_BNF__Def_Orel__fun_001tf__a_001tf__a_001_062_It__Option__Ooption_Itf__a_J_M_062_Itf__a_Mt__Option__Ooption_Itf__a_J_J_J_001_062_It__Option__Ooption_Itf__a_J_M_062_Itf__a_Mt__Option__Ooption_Itf__a_J_J_J,type,
    bNF_re845666378725559389tion_a: ( a > a > $o ) > ( ( option_a > a > option_a ) > ( option_a > a > option_a ) > $o ) > ( a > option_a > a > option_a ) > ( a > option_a > a > option_a ) > $o ).

thf(sy_c_BNF__Def_Orel__fun_001tf__a_001tf__a_001_062_It__Option__Ooption_Itf__a_J_M_Eo_J_001_062_It__Option__Ooption_Itf__a_J_M_Eo_J,type,
    bNF_re6100770640034910033on_a_o: ( a > a > $o ) > ( ( option_a > $o ) > ( option_a > $o ) > $o ) > ( a > option_a > $o ) > ( a > option_a > $o ) > $o ).

thf(sy_c_BNF__Def_Orel__fun_001tf__a_001tf__a_001_062_Itf__a_M_Eo_J_001_062_Itf__a_M_Eo_J,type,
    bNF_re6468246989568818141_o_a_o: ( a > a > $o ) > ( ( a > $o ) > ( a > $o ) > $o ) > ( a > a > $o ) > ( a > a > $o ) > $o ).

thf(sy_c_BNF__Def_Orel__fun_001tf__a_001tf__a_001_Eo_001_Eo,type,
    bNF_rel_fun_a_a_o_o: ( a > a > $o ) > ( $o > $o > $o ) > ( a > $o ) > ( a > $o ) > $o ).

thf(sy_c_BNF__Def_Orel__fun_001tf__a_001tf__a_001_Eo_001t__Option__Ooption_Itf__a_J,type,
    bNF_re905553932590079753tion_a: ( a > a > $o ) > ( $o > option_a > $o ) > ( a > $o ) > ( a > option_a ) > $o ).

thf(sy_c_BNF__Def_Orel__fun_001tf__a_001tf__a_001_Eo_001tf__a,type,
    bNF_rel_fun_a_a_o_a: ( a > a > $o ) > ( $o > a > $o ) > ( a > $o ) > ( a > a ) > $o ).

thf(sy_c_BNF__Def_Orel__fun_001tf__a_001tf__a_001t__Option__Ooption_Itf__a_J_001_Eo,type,
    bNF_re1847112384428219057on_a_o: ( a > a > $o ) > ( option_a > $o > $o ) > ( a > option_a ) > ( a > $o ) > $o ).

thf(sy_c_BNF__Def_Orel__fun_001tf__a_001tf__a_001t__Option__Ooption_Itf__a_J_001t__Option__Ooption_Itf__a_J,type,
    bNF_re1187871780581372509tion_a: ( a > a > $o ) > ( option_a > option_a > $o ) > ( a > option_a ) > ( a > option_a ) > $o ).

thf(sy_c_BNF__Def_Orel__fun_001tf__a_001tf__a_001t__Option__Ooption_Itf__a_J_001tf__a,type,
    bNF_re5794519239126689175on_a_a: ( a > a > $o ) > ( option_a > a > $o ) > ( a > option_a ) > ( a > a ) > $o ).

thf(sy_c_BNF__Def_Orel__fun_001tf__a_001tf__a_001tf__a_001_Eo,type,
    bNF_rel_fun_a_a_a_o: ( a > a > $o ) > ( a > $o > $o ) > ( a > a ) > ( a > $o ) > $o ).

thf(sy_c_BNF__Def_Orel__fun_001tf__a_001tf__a_001tf__a_001t__Option__Ooption_Itf__a_J,type,
    bNF_re3572005357587894051tion_a: ( a > a > $o ) > ( a > option_a > $o ) > ( a > a ) > ( a > option_a ) > $o ).

thf(sy_c_BNF__Def_Orel__fun_001tf__a_001tf__a_001tf__a_001tf__a,type,
    bNF_rel_fun_a_a_a_a: ( a > a > $o ) > ( a > a > $o ) > ( a > a ) > ( a > a ) > $o ).

thf(sy_c_BNF__Def_Orel__fun_001tf__c_001tf__c_001_062_Itf__d_M_062_Itf__c_Mtf__d_J_J_001_062_Itf__d_M_062_Itf__c_Mtf__d_J_J,type,
    bNF_re6283605750710864861_d_c_d: ( c > c > $o ) > ( ( d > c > d ) > ( d > c > d ) > $o ) > ( c > d > c > d ) > ( c > d > c > d ) > $o ).

thf(sy_c_BNF__Def_Orel__fun_001tf__c_001tf__c_001tf__d_001tf__d,type,
    bNF_rel_fun_c_c_d_d: ( c > c > $o ) > ( d > d > $o ) > ( c > d ) > ( c > d ) > $o ).

thf(sy_c_BNF__Def_Orel__fun_001tf__d_001tf__d_001_062_Itf__c_Mtf__d_J_001_062_Itf__c_Mtf__d_J,type,
    bNF_re2118925435710938475_d_c_d: ( d > d > $o ) > ( ( c > d ) > ( c > d ) > $o ) > ( d > c > d ) > ( d > c > d ) > $o ).

thf(sy_c_Complete__Lattices_OSup__class_OSup_001t__Set__Oset_Itf__a_J,type,
    comple2307003609928055243_set_a: set_set_a > set_a ).

thf(sy_c_Finite__Set_Ofinite_001_062_It__Option__Ooption_Itf__a_J_Mt__Option__Ooption_It__Option__Ooption_Itf__a_J_J_J,type,
    finite3089212293327181890tion_a: set_op7164657265554968289tion_a > $o ).

thf(sy_c_Finite__Set_Ofinite_001_062_It__Option__Ooption_Itf__a_J_Mt__Option__Ooption_Itf__a_J_J,type,
    finite8942580144290239484tion_a: set_op7810783462584961947tion_a > $o ).

thf(sy_c_Finite__Set_Ofinite_001_062_Itf__a_Mt__Option__Ooption_It__Option__Ooption_Itf__a_J_J_J,type,
    finite595534299322690568tion_a: set_a_2282238091077557671tion_a > $o ).

thf(sy_c_Finite__Set_Ofinite_001_062_Itf__a_Mt__Option__Ooption_Itf__a_J_J,type,
    finite5998080203967203522tion_a: set_a_option_a > $o ).

thf(sy_c_Finite__Set_Ofinite_001t__Option__Ooption_It__Option__Ooption_Itf__a_J_J,type,
    finite8114217219359860531tion_a: set_option_option_a > $o ).

thf(sy_c_Finite__Set_Ofinite_001t__Option__Ooption_Itf__a_J,type,
    finite1674126218327898605tion_a: set_option_a > $o ).

thf(sy_c_Finite__Set_Ofinite_001tf__a,type,
    finite_finite_a: set_a > $o ).

thf(sy_c_Finite__Set_Ofinite_001tf__b,type,
    finite_finite_b: set_b > $o ).

thf(sy_c_Finite__Set_Ofinite_001tf__c,type,
    finite_finite_c: set_c > $o ).

thf(sy_c_Finite__Set_Ofold_001t__Set__Oset_Itf__b_J_001t__Option__Ooption_It__Set__Oset_Itf__b_J_J,type,
    finite4684332809091328718_set_b: ( set_b > option_set_b > option_set_b ) > option_set_b > set_set_b > option_set_b ).

thf(sy_c_Finite__Set_Ofold_001tf__a_001t__Option__Ooption_Itf__a_J,type,
    finite6501707464432451470tion_a: ( a > option_a > option_a ) > option_a > set_a > option_a ).

thf(sy_c_Fun_Obij__betw_001t__Option__Ooption_Itf__a_J_001t__Option__Ooption_Itf__a_J,type,
    bij_be5431266891817924854tion_a: ( option_a > option_a ) > set_option_a > set_option_a > $o ).

thf(sy_c_Fun_Obij__betw_001t__Option__Ooption_Itf__a_J_001tf__a,type,
    bij_betw_option_a_a: ( option_a > a ) > set_option_a > set_a > $o ).

thf(sy_c_Fun_Obij__betw_001t__Option__Ooption_Itf__a_J_001tf__b,type,
    bij_betw_option_a_b: ( option_a > b ) > set_option_a > set_b > $o ).

thf(sy_c_Fun_Obij__betw_001tf__a_001t__Option__Ooption_Itf__a_J,type,
    bij_betw_a_option_a: ( a > option_a ) > set_a > set_option_a > $o ).

thf(sy_c_Fun_Obij__betw_001tf__a_001tf__a,type,
    bij_betw_a_a: ( a > a ) > set_a > set_a > $o ).

thf(sy_c_Fun_Obij__betw_001tf__a_001tf__b,type,
    bij_betw_a_b: ( a > b ) > set_a > set_b > $o ).

thf(sy_c_Fun_Obij__betw_001tf__b_001t__Option__Ooption_Itf__a_J,type,
    bij_betw_b_option_a: ( b > option_a ) > set_b > set_option_a > $o ).

thf(sy_c_Fun_Obij__betw_001tf__b_001tf__a,type,
    bij_betw_b_a: ( b > a ) > set_b > set_a > $o ).

thf(sy_c_Fun_Obij__betw_001tf__b_001tf__b,type,
    bij_betw_b_b: ( b > b ) > set_b > set_b > $o ).

thf(sy_c_Fun_Ocomp_001t__Option__Ooption_It__Option__Ooption_Itf__a_J_J_001t__Option__Ooption_Itf__a_J_001t__Option__Ooption_Itf__a_J,type,
    comp_o1254687777855551975tion_a: ( option_option_a > option_a ) > ( option_a > option_option_a ) > option_a > option_a ).

thf(sy_c_Fun_Ocomp_001t__Option__Ooption_Itf__a_J_001t__Nat__Onat_001t__Option__Ooption_Itf__a_J,type,
    comp_o8583038678572498833tion_a: ( option_a > nat ) > ( option_a > option_a ) > option_a > nat ).

thf(sy_c_Fun_Ocomp_001t__Option__Ooption_Itf__a_J_001t__Option__Ooption_Itf__a_J_001t__Option__Ooption_Itf__a_J,type,
    comp_o3154387707078715297tion_a: ( option_a > option_a ) > ( option_a > option_a ) > option_a > option_a ).

thf(sy_c_Fun_Ocomp_001t__Option__Ooption_Itf__a_J_001t__Option__Ooption_Itf__a_J_001tf__a,type,
    comp_o6087033147929006299on_a_a: ( option_a > option_a ) > ( a > option_a ) > a > option_a ).

thf(sy_c_Fun_Ocomp_001t__Option__Ooption_Itf__a_J_001t__Set__Oset_Itf__a_J_001tf__a,type,
    comp_o6143895765626710849et_a_a: ( option_a > set_a ) > ( a > option_a ) > a > set_a ).

thf(sy_c_Fun_Ocomp_001t__Option__Ooption_Itf__a_J_001tf__a_001t__Option__Ooption_Itf__a_J,type,
    comp_o3864519266390211175tion_a: ( option_a > a ) > ( option_a > option_a ) > option_a > a ).

thf(sy_c_Fun_Ocomp_001t__Option__Ooption_Itf__a_J_001tf__a_001tf__a,type,
    comp_option_a_a_a: ( option_a > a ) > ( a > option_a ) > a > a ).

thf(sy_c_Fun_Ocomp_001t__Option__Ooption_Itf__a_J_001tf__a_001tf__b,type,
    comp_option_a_a_b: ( option_a > a ) > ( b > option_a ) > b > a ).

thf(sy_c_Fun_Ocomp_001t__Option__Ooption_Itf__a_J_001tf__b_001tf__a,type,
    comp_option_a_b_a: ( option_a > b ) > ( a > option_a ) > a > b ).

thf(sy_c_Fun_Ocomp_001t__Set__Oset_It__Option__Ooption_Itf__a_J_J_001t__Set__Oset_Itf__a_J_001t__Set__Oset_Itf__a_J,type,
    comp_s1419921648917501825_set_a: ( set_option_a > set_a ) > ( set_a > set_option_a ) > set_a > set_a ).

thf(sy_c_Fun_Ocomp_001tf__a_001_Eo_001tf__a,type,
    comp_a_o_a: ( a > $o ) > ( a > a ) > a > $o ).

thf(sy_c_Fun_Ocomp_001tf__a_001t__Nat__Onat_001tf__a,type,
    comp_a_nat_a: ( a > nat ) > ( a > a ) > a > nat ).

thf(sy_c_Fun_Ocomp_001tf__a_001t__Option__Ooption_Itf__a_J_001t__Option__Ooption_Itf__a_J,type,
    comp_a6249931511552232923tion_a: ( a > option_a ) > ( option_a > a ) > option_a > option_a ).

thf(sy_c_Fun_Ocomp_001tf__a_001t__Option__Ooption_Itf__a_J_001tf__a,type,
    comp_a_option_a_a: ( a > option_a ) > ( a > a ) > a > option_a ).

thf(sy_c_Fun_Ocomp_001tf__a_001t__Option__Ooption_Itf__a_J_001tf__b,type,
    comp_a_option_a_b: ( a > option_a ) > ( b > a ) > b > option_a ).

thf(sy_c_Fun_Ocomp_001tf__a_001tf__a_001t__Option__Ooption_Itf__a_J,type,
    comp_a_a_option_a: ( a > a ) > ( option_a > a ) > option_a > a ).

thf(sy_c_Fun_Ocomp_001tf__a_001tf__a_001tf__a,type,
    comp_a_a_a: ( a > a ) > ( a > a ) > a > a ).

thf(sy_c_Fun_Ocomp_001tf__a_001tf__b_001t__Option__Ooption_Itf__a_J,type,
    comp_a_b_option_a: ( a > b ) > ( option_a > a ) > option_a > b ).

thf(sy_c_Fun_Ocomp_001tf__d_001tf__d_001tf__c,type,
    comp_d_d_c: ( d > d ) > ( c > d ) > c > d ).

thf(sy_c_Fun_Ofcomp_001tf__a_001t__Option__Ooption_Itf__a_J_001tf__a,type,
    fcomp_a_option_a_a: ( a > option_a ) > ( option_a > a ) > a > a ).

thf(sy_c_Fun_Ofun__upd_001t__Option__Ooption_Itf__a_J_001_Eo,type,
    fun_upd_option_a_o: ( option_a > $o ) > option_a > $o > option_a > $o ).

thf(sy_c_Fun_Ofun__upd_001t__Option__Ooption_Itf__a_J_001t__Option__Ooption_Itf__a_J,type,
    fun_up1079276522633388797tion_a: ( option_a > option_a ) > option_a > option_a > option_a > option_a ).

thf(sy_c_Fun_Ofun__upd_001t__Option__Ooption_Itf__a_J_001tf__a,type,
    fun_upd_option_a_a: ( option_a > a ) > option_a > a > option_a > a ).

thf(sy_c_Fun_Ofun__upd_001tf__a_001t__Option__Ooption_Itf__a_J,type,
    fun_upd_a_option_a: ( a > option_a ) > a > option_a > a > option_a ).

thf(sy_c_Fun_Ofun__upd_001tf__a_001tf__a,type,
    fun_upd_a_a: ( a > a ) > a > a > a > a ).

thf(sy_c_Fun_Ofun__upd_001tf__b_001t__Option__Ooption_Itf__a_J,type,
    fun_upd_b_option_a: ( b > option_a ) > b > option_a > b > option_a ).

thf(sy_c_Fun_Ofun__upd_001tf__b_001tf__a,type,
    fun_upd_b_a: ( b > a ) > b > a > b > a ).

thf(sy_c_Fun_Ofun__upd_001tf__c_001tf__d,type,
    fun_upd_c_d: ( c > d ) > c > d > c > d ).

thf(sy_c_Fun_Oid_001t__Option__Ooption_Itf__a_J,type,
    id_option_a: option_a > option_a ).

thf(sy_c_Fun_Oid_001t__Set__Oset_Itf__a_J,type,
    id_set_a: set_a > set_a ).

thf(sy_c_Fun_Oid_001tf__a,type,
    id_a: a > a ).

thf(sy_c_Fun_Oinj__on_001t__Nat__Onat_001t__Nat__Onat,type,
    inj_on_nat_nat: ( nat > nat ) > set_nat > $o ).

thf(sy_c_Fun_Oinj__on_001t__Option__Ooption_Itf__a_J_001t__Option__Ooption_It__Option__Ooption_Itf__a_J_J,type,
    inj_on2224753519991154999tion_a: ( option_a > option_option_a ) > set_option_a > $o ).

thf(sy_c_Fun_Oinj__on_001t__Option__Ooption_Itf__a_J_001t__Option__Ooption_Itf__a_J,type,
    inj_on8559383841115902449tion_a: ( option_a > option_a ) > set_option_a > $o ).

thf(sy_c_Fun_Oinj__on_001t__Option__Ooption_Itf__a_J_001t__Set__Oset_It__Option__Ooption_Itf__a_J_J,type,
    inj_on7881382345526841553tion_a: ( option_a > set_option_a ) > set_option_a > $o ).

thf(sy_c_Fun_Oinj__on_001t__Option__Ooption_Itf__a_J_001tf__a,type,
    inj_on_option_a_a: ( option_a > a ) > set_option_a > $o ).

thf(sy_c_Fun_Oinj__on_001t__Option__Ooption_Itf__a_J_001tf__b,type,
    inj_on_option_a_b: ( option_a > b ) > set_option_a > $o ).

thf(sy_c_Fun_Oinj__on_001tf__a_001t__Option__Ooption_Itf__a_J,type,
    inj_on_a_option_a: ( a > option_a ) > set_a > $o ).

thf(sy_c_Fun_Oinj__on_001tf__a_001t__Set__Oset_Itf__a_J,type,
    inj_on_a_set_a: ( a > set_a ) > set_a > $o ).

thf(sy_c_Fun_Oinj__on_001tf__a_001tf__a,type,
    inj_on_a_a: ( a > a ) > set_a > $o ).

thf(sy_c_Fun_Oinj__on_001tf__a_001tf__b,type,
    inj_on_a_b: ( a > b ) > set_a > $o ).

thf(sy_c_Fun_Oinj__on_001tf__b_001t__Option__Ooption_Itf__a_J,type,
    inj_on_b_option_a: ( b > option_a ) > set_b > $o ).

thf(sy_c_Fun_Oinj__on_001tf__b_001tf__a,type,
    inj_on_b_a: ( b > a ) > set_b > $o ).

thf(sy_c_Fun_Oinj__on_001tf__b_001tf__b,type,
    inj_on_b_b: ( b > b ) > set_b > $o ).

thf(sy_c_Fun_Oinj__on_001tf__c_001tf__d,type,
    inj_on_c_d: ( c > d ) > set_c > $o ).

thf(sy_c_Fun_Omonotone__on_001t__Nat__Onat_001t__Nat__Onat,type,
    monotone_on_nat_nat: set_nat > ( nat > nat > $o ) > ( nat > nat > $o ) > ( nat > nat ) > $o ).

thf(sy_c_Fun_Omonotone__on_001t__Option__Ooption_Itf__a_J_001t__Nat__Onat,type,
    monoto303951901566009069_a_nat: set_option_a > ( option_a > option_a > $o ) > ( nat > nat > $o ) > ( option_a > nat ) > $o ).

thf(sy_c_Fun_Omonotone__on_001t__Option__Ooption_Itf__a_J_001tf__a,type,
    monoto4483592047695070497on_a_a: set_option_a > ( option_a > option_a > $o ) > ( a > a > $o ) > ( option_a > a ) > $o ).

thf(sy_c_Fun_Omonotone__on_001t__Set__Oset_Itf__b_J_001t__Set__Oset_Itf__b_J,type,
    monoto8660672184891397159_set_b: set_set_b > ( set_b > set_b > $o ) > ( set_b > set_b > $o ) > ( set_b > set_b ) > $o ).

thf(sy_c_Fun_Omonotone__on_001tf__a_001t__Nat__Onat,type,
    monotone_on_a_nat: set_a > ( a > a > $o ) > ( nat > nat > $o ) > ( a > nat ) > $o ).

thf(sy_c_Fun_Omonotone__on_001tf__a_001t__Option__Ooption_Itf__a_J,type,
    monoto2261078166156275373tion_a: set_a > ( a > a > $o ) > ( option_a > option_a > $o ) > ( a > option_a ) > $o ).

thf(sy_c_Fun_Omonotone__on_001tf__a_001tf__a,type,
    monotone_on_a_a: set_a > ( a > a > $o ) > ( a > a > $o ) > ( a > a ) > $o ).

thf(sy_c_Fun_Omonotone__on_001tf__b_001t__Nat__Onat,type,
    monotone_on_b_nat: set_b > ( b > b > $o ) > ( nat > nat > $o ) > ( b > nat ) > $o ).

thf(sy_c_Fun_Ooverride__on_001tf__c_001tf__d,type,
    override_on_c_d: ( c > d ) > ( c > d ) > set_c > c > d ).

thf(sy_c_Fun_Othe__inv__into_001t__Option__Ooption_Itf__a_J_001t__Option__Ooption_Itf__a_J,type,
    the_in2538339130118444083tion_a: set_option_a > ( option_a > option_a ) > option_a > option_a ).

thf(sy_c_Fun_Othe__inv__into_001t__Option__Ooption_Itf__a_J_001tf__a,type,
    the_in1757154643552616557on_a_a: set_option_a > ( option_a > a ) > a > option_a ).

thf(sy_c_Fun_Othe__inv__into_001t__Option__Ooption_Itf__a_J_001tf__b,type,
    the_in1757154643552616558on_a_b: set_option_a > ( option_a > b ) > b > option_a ).

thf(sy_c_Fun_Othe__inv__into_001tf__a_001t__Option__Ooption_Itf__a_J,type,
    the_in8758012798868597241tion_a: set_a > ( a > option_a ) > option_a > a ).

thf(sy_c_Fun_Othe__inv__into_001tf__a_001tf__a,type,
    the_inv_into_a_a: set_a > ( a > a ) > a > a ).

thf(sy_c_Fun_Othe__inv__into_001tf__a_001tf__b,type,
    the_inv_into_a_b: set_a > ( a > b ) > b > a ).

thf(sy_c_Fun_Othe__inv__into_001tf__b_001t__Option__Ooption_Itf__a_J,type,
    the_in5672256556878602680tion_a: set_b > ( b > option_a ) > option_a > b ).

thf(sy_c_Fun_Othe__inv__into_001tf__b_001tf__a,type,
    the_inv_into_b_a: set_b > ( b > a ) > a > b ).

thf(sy_c_Fun_Othe__inv__into_001tf__b_001tf__b,type,
    the_inv_into_b_b: set_b > ( b > b ) > b > b ).

thf(sy_c_Groups_Ominus__class_Ominus_001t__Set__Oset_It__Option__Ooption_Itf__a_J_J,type,
    minus_1574173051537231627tion_a: set_option_a > set_option_a > set_option_a ).

thf(sy_c_Groups_Ominus__class_Ominus_001t__Set__Oset_Itf__a_J,type,
    minus_minus_set_a: set_a > set_a > set_a ).

thf(sy_c_Groups_Ominus__class_Ominus_001t__Set__Oset_Itf__b_J,type,
    minus_minus_set_b: set_b > set_b > set_b ).

thf(sy_c_Groups_Ominus__class_Ominus_001t__Set__Oset_Itf__c_J,type,
    minus_minus_set_c: set_c > set_c > set_c ).

thf(sy_c_Groups_Ouminus__class_Ouminus_001t__Set__Oset_It__Option__Ooption_Itf__a_J_J,type,
    uminus6205308855922866075tion_a: set_option_a > set_option_a ).

thf(sy_c_Groups_Ouminus__class_Ouminus_001t__Set__Oset_Itf__a_J,type,
    uminus_uminus_set_a: set_a > set_a ).

thf(sy_c_HOL_OThe_001t__Option__Ooption_Itf__a_J,type,
    the_option_a: ( option_a > $o ) > option_a ).

thf(sy_c_HOL_OThe_001tf__a,type,
    the_a: ( a > $o ) > a ).

thf(sy_c_HOL_OThe_001tf__b,type,
    the_b: ( b > $o ) > b ).

thf(sy_c_HOL_OUniq_001tf__a,type,
    uniq_a: ( a > $o ) > $o ).

thf(sy_c_HOL_Oundefined_001tf__a,type,
    undefined_a: a ).

thf(sy_c_If_001t__Option__Ooption_Itf__a_J,type,
    if_option_a: $o > option_a > option_a > option_a ).

thf(sy_c_If_001tf__a,type,
    if_a: $o > a > a > a ).

thf(sy_c_If_001tf__b,type,
    if_b: $o > b > b > b ).

thf(sy_c_If_001tf__d,type,
    if_d: $o > d > d > d ).

thf(sy_c_Lattices_Oinf__class_Oinf_001_062_It__Option__Ooption_Itf__a_J_M_062_It__Option__Ooption_Itf__a_J_M_Eo_J_J,type,
    inf_in5160421943901843420on_a_o: ( option_a > option_a > $o ) > ( option_a > option_a > $o ) > option_a > option_a > $o ).

thf(sy_c_Lattices_Oinf__class_Oinf_001_062_Itf__a_M_062_Itf__a_M_Eo_J_J,type,
    inf_inf_a_a_o: ( a > a > $o ) > ( a > a > $o ) > a > a > $o ).

thf(sy_c_Lattices_Oinf__class_Oinf_001t__Set__Oset_It__Option__Ooption_Itf__a_J_J,type,
    inf_inf_set_option_a: set_option_a > set_option_a > set_option_a ).

thf(sy_c_Lattices_Oinf__class_Oinf_001t__Set__Oset_Itf__a_J,type,
    inf_inf_set_a: set_a > set_a > set_a ).

thf(sy_c_Lattices_Oinf__class_Oinf_001t__Set__Oset_Itf__b_J,type,
    inf_inf_set_b: set_b > set_b > set_b ).

thf(sy_c_Lattices_Osup__class_Osup_001t__Set__Oset_It__Option__Ooption_Itf__a_J_J,type,
    sup_sup_set_option_a: set_option_a > set_option_a > set_option_a ).

thf(sy_c_Lattices_Osup__class_Osup_001t__Set__Oset_Itf__a_J,type,
    sup_sup_set_a: set_a > set_a > set_a ).

thf(sy_c_Lattices_Osup__class_Osup_001t__Set__Oset_Itf__b_J,type,
    sup_sup_set_b: set_b > set_b > set_b ).

thf(sy_c_Lattices__Big_Osemilattice__set_001t__Option__Ooption_Itf__a_J,type,
    lattic4111267149900974290tion_a: ( option_a > option_a > option_a ) > $o ).

thf(sy_c_Lattices__Big_Osemilattice__set_001tf__a,type,
    lattic5961991414251573132_set_a: ( a > a > a ) > $o ).

thf(sy_c_Lattices__Big_Osemilattice__set_OF_001t__Option__Ooption_Itf__a_J,type,
    lattic5543840709497872670tion_a: ( option_a > option_a > option_a ) > set_option_a > option_a ).

thf(sy_c_Lattices__Big_Osemilattice__set_OF_001tf__a,type,
    lattic5116578512385870296ce_F_a: ( a > a > a ) > set_a > a ).

thf(sy_c_Lattices__Big_Osemilattice__sup__class_OSup__fin_001t__Set__Oset_Itf__b_J,type,
    lattic2918178361130032022_set_b: set_set_b > set_b ).

thf(sy_c_List_Oappend_001tf__a,type,
    append_a: list_a > list_a > list_a ).

thf(sy_c_List_Odistinct_001tf__a,type,
    distinct_a: list_a > $o ).

thf(sy_c_List_Ofilter_001tf__a,type,
    filter_a: ( a > $o ) > list_a > list_a ).

thf(sy_c_List_Ofind_001t__Option__Ooption_Itf__a_J,type,
    find_option_a: ( option_a > $o ) > list_option_a > option_option_a ).

thf(sy_c_List_Ofind_001tf__a,type,
    find_a: ( a > $o ) > list_a > option_a ).

thf(sy_c_List_Ofind_001tf__b,type,
    find_b: ( b > $o ) > list_b > option_b ).

thf(sy_c_List_Olist_OCons_001t__Option__Ooption_Itf__a_J,type,
    cons_option_a: option_a > list_option_a > list_option_a ).

thf(sy_c_List_Olist_OCons_001tf__a,type,
    cons_a: a > list_a > list_a ).

thf(sy_c_List_Olist_ONil_001tf__a,type,
    nil_a: list_a ).

thf(sy_c_List_Olist_Omap_001t__Option__Ooption_Itf__a_J_001tf__a,type,
    map_option_a_a: ( option_a > a ) > list_option_a > list_a ).

thf(sy_c_List_Olist_Omap_001t__Product____Type__Oprod_Itf__a_Mtf__a_J_001t__Product____Type__Oprod_It__Option__Ooption_Itf__a_J_Mtf__a_J,type,
    map_Pr4086016924558362686on_a_a: ( product_prod_a_a > produc3083010940779526881on_a_a ) > list_P1396940483166286381od_a_a > list_P6260409590414597735on_a_a ).

thf(sy_c_List_Olist_Omap_001tf__a_001t__Product____Type__Oprod_Itf__a_Mtf__a_J,type,
    map_a_7860052162900579309od_a_a: ( a > product_prod_a_a ) > list_a > list_P1396940483166286381od_a_a ).

thf(sy_c_List_Olist_Omap_001tf__a_001tf__a,type,
    map_a_a: ( a > a ) > list_a > list_a ).

thf(sy_c_List_Olist_Omap_001tf__b_001tf__a,type,
    map_b_a: ( b > a ) > list_b > list_a ).

thf(sy_c_List_Olist_Omap_001tf__c_001tf__d,type,
    map_c_d: ( c > d ) > list_c > list_d ).

thf(sy_c_List_Olist_Oset_001t__Option__Ooption_Itf__a_J,type,
    set_option_a2: list_option_a > set_option_a ).

thf(sy_c_List_Olist_Oset_001t__Product____Type__Oprod_It__Option__Ooption_Itf__a_J_Mtf__a_J,type,
    set_Pr1233600038994746358on_a_a: list_P6260409590414597735on_a_a > set_Pr6308966090954093121on_a_a ).

thf(sy_c_List_Olist_Oset_001t__Product____Type__Oprod_Itf__a_Mtf__a_J,type,
    set_Product_prod_a_a2: list_P1396940483166286381od_a_a > set_Product_prod_a_a ).

thf(sy_c_List_Olist_Oset_001t__Product____Type__Oprod_Itf__b_Mtf__a_J,type,
    set_Product_prod_b_a2: list_P761291482561299692od_b_a > set_Product_prod_b_a ).

thf(sy_c_List_Olist_Oset_001tf__a,type,
    set_a2: list_a > set_a ).

thf(sy_c_List_Olist_Oset_001tf__b,type,
    set_b2: list_b > set_b ).

thf(sy_c_List_Olist_Oset_001tf__c,type,
    set_c2: list_c > set_c ).

thf(sy_c_List_Omap__filter_001tf__a_001tf__a,type,
    map_filter_a_a: ( a > option_a ) > list_a > list_a ).

thf(sy_c_List_Onth_001tf__a,type,
    nth_a: list_a > nat > a ).

thf(sy_c_List_Otake_001t__Option__Ooption_Itf__a_J,type,
    take_option_a: nat > list_option_a > list_option_a ).

thf(sy_c_List_Otake_001tf__a,type,
    take_a: nat > list_a > list_a ).

thf(sy_c_List_Otake_001tf__b,type,
    take_b: nat > list_b > list_b ).

thf(sy_c_List_Othose_001tf__a,type,
    those_a: list_option_a > option_list_a ).

thf(sy_c_List_Ozip_001t__Option__Ooption_Itf__a_J_001tf__a,type,
    zip_option_a_a: list_option_a > list_a > list_P6260409590414597735on_a_a ).

thf(sy_c_List_Ozip_001tf__a_001tf__a,type,
    zip_a_a: list_a > list_a > list_P1396940483166286381od_a_a ).

thf(sy_c_List_Ozip_001tf__b_001tf__a,type,
    zip_b_a: list_b > list_a > list_P761291482561299692od_b_a ).

thf(sy_c_Map_Odom_001t__Option__Ooption_Itf__a_J_001t__Option__Ooption_Itf__a_J,type,
    dom_op4724496951392727122tion_a: ( option_a > option_option_a ) > set_option_a ).

thf(sy_c_Map_Odom_001t__Option__Ooption_Itf__a_J_001tf__a,type,
    dom_option_a_a: ( option_a > option_a ) > set_option_a ).

thf(sy_c_Map_Odom_001t__Option__Ooption_Itf__a_J_001tf__b,type,
    dom_option_a_b: ( option_a > option_b ) > set_option_a ).

thf(sy_c_Map_Odom_001tf__a_001t__Option__Ooption_Itf__a_J,type,
    dom_a_option_a: ( a > option_option_a ) > set_a ).

thf(sy_c_Map_Odom_001tf__a_001tf__a,type,
    dom_a_a: ( a > option_a ) > set_a ).

thf(sy_c_Map_Odom_001tf__a_001tf__b,type,
    dom_a_b: ( a > option_b ) > set_a ).

thf(sy_c_Map_Odom_001tf__b_001tf__a,type,
    dom_b_a: ( b > option_a ) > set_b ).

thf(sy_c_Map_Omap__add_001t__Option__Ooption_Itf__a_J_001tf__a,type,
    map_add_option_a_a: ( option_a > option_a ) > ( option_a > option_a ) > option_a > option_a ).

thf(sy_c_Map_Omap__add_001t__Option__Ooption_Itf__a_J_001tf__b,type,
    map_add_option_a_b: ( option_a > option_b ) > ( option_a > option_b ) > option_a > option_b ).

thf(sy_c_Map_Omap__add_001tf__a_001tf__a,type,
    map_add_a_a: ( a > option_a ) > ( a > option_a ) > a > option_a ).

thf(sy_c_Map_Omap__add_001tf__a_001tf__b,type,
    map_add_a_b: ( a > option_b ) > ( a > option_b ) > a > option_b ).

thf(sy_c_Map_Omap__add_001tf__b_001tf__a,type,
    map_add_b_a: ( b > option_a ) > ( b > option_a ) > b > option_a ).

thf(sy_c_Map_Omap__of_001t__Option__Ooption_Itf__a_J_001tf__a,type,
    map_of_option_a_a: list_P6260409590414597735on_a_a > option_a > option_a ).

thf(sy_c_Map_Omap__of_001tf__a_001tf__a,type,
    map_of_a_a: list_P1396940483166286381od_a_a > a > option_a ).

thf(sy_c_Map_Omap__of_001tf__b_001tf__a,type,
    map_of_b_a: list_P761291482561299692od_b_a > b > option_a ).

thf(sy_c_Map_Omap__upds_001t__Option__Ooption_Itf__a_J_001tf__a,type,
    map_upds_option_a_a: ( option_a > option_a ) > list_option_a > list_a > option_a > option_a ).

thf(sy_c_Map_Omap__upds_001tf__a_001tf__a,type,
    map_upds_a_a: ( a > option_a ) > list_a > list_a > a > option_a ).

thf(sy_c_Map_Omap__upds_001tf__b_001tf__a,type,
    map_upds_b_a: ( b > option_a ) > list_b > list_a > b > option_a ).

thf(sy_c_Map_Oran_001t__Option__Ooption_Itf__a_J_001t__Option__Ooption_Itf__a_J,type,
    ran_op6317565877353657455tion_a: ( option_a > option_option_a ) > set_option_a ).

thf(sy_c_Map_Oran_001t__Option__Ooption_Itf__a_J_001tf__a,type,
    ran_option_a_a: ( option_a > option_a ) > set_a ).

thf(sy_c_Map_Oran_001t__Option__Ooption_Itf__a_J_001tf__b,type,
    ran_option_a_b: ( option_a > option_b ) > set_b ).

thf(sy_c_Map_Oran_001tf__a_001t__Option__Ooption_Itf__a_J,type,
    ran_a_option_a: ( a > option_option_a ) > set_option_a ).

thf(sy_c_Map_Oran_001tf__a_001tf__a,type,
    ran_a_a: ( a > option_a ) > set_a ).

thf(sy_c_Map_Oran_001tf__a_001tf__b,type,
    ran_a_b: ( a > option_b ) > set_b ).

thf(sy_c_Map_Orestrict__map_001t__Option__Ooption_Itf__a_J_001tf__a,type,
    restri3984065703976872170on_a_a: ( option_a > option_a ) > set_option_a > option_a > option_a ).

thf(sy_c_Map_Orestrict__map_001tf__a_001tf__a,type,
    restrict_map_a_a: ( a > option_a ) > set_a > a > option_a ).

thf(sy_c_Map_Orestrict__map_001tf__b_001tf__a,type,
    restrict_map_b_a: ( b > option_a ) > set_b > b > option_a ).

thf(sy_c_Nat_Osize__class_Osize_001t__List__Olist_It__Option__Ooption_Itf__a_J_J,type,
    size_s3078493964004954806tion_a: list_option_a > nat ).

thf(sy_c_Nat_Osize__class_Osize_001t__List__Olist_Itf__a_J,type,
    size_size_list_a: list_a > nat ).

thf(sy_c_Nat_Osize__class_Osize_001t__List__Olist_Itf__b_J,type,
    size_size_list_b: list_b > nat ).

thf(sy_c_Option_Obind_001tf__a_001tf__a,type,
    bind_a_a: option_a > ( a > option_a ) > option_a ).

thf(sy_c_Option_Ocombine__options_001tf__a,type,
    combine_options_a: ( a > a > a ) > option_a > option_a > option_a ).

thf(sy_c_Option_Ois__none_001tf__a,type,
    is_none_a: option_a > $o ).

thf(sy_c_Option_Ooption_ONone_001t__List__Olist_Itf__a_J,type,
    none_list_a: option_list_a ).

thf(sy_c_Option_Ooption_ONone_001t__Option__Ooption_Itf__a_J,type,
    none_option_a: option_option_a ).

thf(sy_c_Option_Ooption_ONone_001t__Set__Oset_Itf__b_J,type,
    none_set_b: option_set_b ).

thf(sy_c_Option_Ooption_ONone_001tf__a,type,
    none_a: option_a ).

thf(sy_c_Option_Ooption_ONone_001tf__b,type,
    none_b: option_b ).

thf(sy_c_Option_Ooption_OSome_001t__Option__Ooption_Itf__a_J,type,
    some_option_a: option_a > option_option_a ).

thf(sy_c_Option_Ooption_OSome_001t__Set__Oset_Itf__b_J,type,
    some_set_b: set_b > option_set_b ).

thf(sy_c_Option_Ooption_OSome_001tf__a,type,
    some_a: a > option_a ).

thf(sy_c_Option_Ooption_OSome_001tf__b,type,
    some_b: b > option_b ).

thf(sy_c_Option_Ooption_Ocase__option_001_Eo_001t__Option__Ooption_Itf__a_J,type,
    case_o3426643154261757367tion_a: $o > ( option_a > $o ) > option_option_a > $o ).

thf(sy_c_Option_Ooption_Ocase__option_001_Eo_001tf__a,type,
    case_option_o_a: $o > ( a > $o ) > option_a > $o ).

thf(sy_c_Option_Ooption_Ocase__option_001t__List__Olist_Itf__a_J_001tf__a,type,
    case_option_list_a_a: list_a > ( a > list_a ) > option_a > list_a ).

thf(sy_c_Option_Ooption_Ocase__option_001t__Option__Ooption_It__List__Olist_Itf__a_J_J_001tf__a,type,
    case_o1175493056458921151st_a_a: option_list_a > ( a > option_list_a ) > option_a > option_list_a ).

thf(sy_c_Option_Ooption_Ocase__option_001t__Option__Ooption_Itf__a_J_001tf__a,type,
    case_o3148979394504432965on_a_a: option_a > ( a > option_a ) > option_a > option_a ).

thf(sy_c_Option_Ooption_Ocase__option_001t__Set__Oset_Itf__b_J_001t__Set__Oset_Itf__b_J,type,
    case_o6570817238820213323_set_b: set_b > ( set_b > set_b ) > option_set_b > set_b ).

thf(sy_c_Option_Ooption_Ocase__option_001tf__a_001t__Option__Ooption_Itf__a_J,type,
    case_o926465512965637841tion_a: a > ( option_a > a ) > option_option_a > a ).

thf(sy_c_Option_Ooption_Ocase__option_001tf__a_001tf__a,type,
    case_option_a_a: a > ( a > a ) > option_a > a ).

thf(sy_c_Option_Ooption_Omap__option_001t__List__Olist_Itf__a_J_001t__List__Olist_Itf__a_J,type,
    map_op1857795647477319691list_a: ( list_a > list_a ) > option_list_a > option_list_a ).

thf(sy_c_Option_Ooption_Omap__option_001t__Option__Ooption_Itf__a_J_001_Eo,type,
    map_op2529087131052605791on_a_o: ( option_a > $o ) > option_option_a > option_o ).

thf(sy_c_Option_Ooption_Omap__option_001t__Option__Ooption_Itf__a_J_001t__Option__Ooption_Itf__a_J,type,
    map_op788413144570152203tion_a: ( option_a > option_a ) > option_option_a > option_option_a ).

thf(sy_c_Option_Ooption_Omap__option_001t__Option__Ooption_Itf__a_J_001tf__a,type,
    map_op4563205767754224965on_a_a: ( option_a > a ) > option_option_a > option_a ).

thf(sy_c_Option_Ooption_Omap__option_001t__Product____Type__Oprod_Itf__a_Mtf__a_J_001tf__a,type,
    map_op713297920823408162_a_a_a: ( product_prod_a_a > a ) > option5210160422955383789od_a_a > option_a ).

thf(sy_c_Option_Ooption_Omap__option_001tf__a_001t__Option__Ooption_Itf__a_J,type,
    map_op2340691886215429841tion_a: ( a > option_a ) > option_a > option_option_a ).

thf(sy_c_Option_Ooption_Omap__option_001tf__a_001tf__a,type,
    map_option_a_a2: ( a > a ) > option_a > option_a ).

thf(sy_c_Option_Ooption_Omap__option_001tf__b_001tf__b,type,
    map_option_b_b: ( b > b ) > option_b > option_b ).

thf(sy_c_Option_Ooption_Opred__option_001t__Option__Ooption_Itf__a_J,type,
    pred_option_option_a: ( option_a > $o ) > option_option_a > $o ).

thf(sy_c_Option_Ooption_Opred__option_001tf__a,type,
    pred_option_a: ( a > $o ) > option_a > $o ).

thf(sy_c_Option_Ooption_Opred__option_001tf__b,type,
    pred_option_b: ( b > $o ) > option_b > $o ).

thf(sy_c_Option_Ooption_Orec__option_001_Eo_001t__Option__Ooption_Itf__a_J,type,
    rec_op1346285999958695467tion_a: $o > ( option_a > $o ) > option_option_a > $o ).

thf(sy_c_Option_Ooption_Orec__option_001_Eo_001tf__a,type,
    rec_option_o_a: $o > ( a > $o ) > option_a > $o ).

thf(sy_c_Option_Ooption_Orec__option_001t__Option__Ooption_Itf__a_J_001tf__a,type,
    rec_op3997991240598549433on_a_a: option_a > ( a > option_a ) > option_a > option_a ).

thf(sy_c_Option_Ooption_Orel__option_001_Eo_001_Eo,type,
    rel_option_o_o: ( $o > $o > $o ) > option_o > option_o > $o ).

thf(sy_c_Option_Ooption_Orel__option_001t__Option__Ooption_Itf__a_J_001t__Option__Ooption_Itf__a_J,type,
    rel_op4798662380513671176tion_a: ( option_a > option_a > $o ) > option_option_a > option_option_a > $o ).

thf(sy_c_Option_Ooption_Orel__option_001t__Option__Ooption_Itf__a_J_001tf__a,type,
    rel_op3736390606718109634on_a_a: ( option_a > a > $o ) > option_option_a > option_a > $o ).

thf(sy_c_Option_Ooption_Orel__option_001t__Option__Ooption_Itf__a_J_001tf__b,type,
    rel_op3736390606718109635on_a_b: ( option_a > b > $o ) > option_option_a > option_b > $o ).

thf(sy_c_Option_Ooption_Orel__option_001tf__a_001t__Option__Ooption_Itf__a_J,type,
    rel_op1513876725179314510tion_a: ( a > option_a > $o ) > option_a > option_option_a > $o ).

thf(sy_c_Option_Ooption_Orel__option_001tf__a_001tf__a,type,
    rel_option_a_a: ( a > a > $o ) > option_a > option_a > $o ).

thf(sy_c_Option_Ooption_Orel__option_001tf__a_001tf__b,type,
    rel_option_a_b: ( a > b > $o ) > option_a > option_b > $o ).

thf(sy_c_Option_Ooption_Orel__option_001tf__b_001t__Option__Ooption_Itf__a_J,type,
    rel_op7651492520044095757tion_a: ( b > option_a > $o ) > option_b > option_option_a > $o ).

thf(sy_c_Option_Ooption_Orel__option_001tf__b_001tf__a,type,
    rel_option_b_a: ( b > a > $o ) > option_b > option_a > $o ).

thf(sy_c_Option_Ooption_Orel__option_001tf__b_001tf__b,type,
    rel_option_b_b: ( b > b > $o ) > option_b > option_b > $o ).

thf(sy_c_Option_Ooption_Oset__option_001t__Option__Ooption_Itf__a_J,type,
    set_option_option_a2: option_option_a > set_option_a ).

thf(sy_c_Option_Ooption_Oset__option_001t__Product____Type__Oprod_Itf__a_Mtf__a_J,type,
    set_op3367984300228426933od_a_a: option5210160422955383789od_a_a > set_Product_prod_a_a ).

thf(sy_c_Option_Ooption_Oset__option_001tf__a,type,
    set_option_a3: option_a > set_a ).

thf(sy_c_Option_Ooption_Oset__option_001tf__b,type,
    set_option_b2: option_b > set_b ).

thf(sy_c_Option_Ooption_Osize__option_001tf__a,type,
    size_option_a: ( a > nat ) > option_a > nat ).

thf(sy_c_Option_Ooption_Othe_001t__Option__Ooption_Itf__a_J,type,
    the_option_a2: option_option_a > option_a ).

thf(sy_c_Option_Ooption_Othe_001t__Set__Oset_Itf__b_J,type,
    the_set_b: option_set_b > set_b ).

thf(sy_c_Option_Ooption_Othe_001tf__a,type,
    the_a2: option_a > a ).

thf(sy_c_Option_Ooption_Othe_001tf__b,type,
    the_b2: option_b > b ).

thf(sy_c_Option_Othese_001t__Option__Ooption_Itf__a_J,type,
    these_option_a: set_option_option_a > set_option_a ).

thf(sy_c_Option_Othese_001tf__a,type,
    these_a: set_option_a > set_a ).

thf(sy_c_Option_Othese_001tf__b,type,
    these_b: set_option_b > set_b ).

thf(sy_c_Orderings_Obot__class_Obot_001t__Set__Oset_It__Option__Ooption_It__Option__Ooption_Itf__a_J_J_J,type,
    bot_bo4163488203964334806tion_a: set_option_option_a ).

thf(sy_c_Orderings_Obot__class_Obot_001t__Set__Oset_It__Option__Ooption_Itf__a_J_J,type,
    bot_bot_set_option_a: set_option_a ).

thf(sy_c_Orderings_Obot__class_Obot_001t__Set__Oset_Itf__a_J,type,
    bot_bot_set_a: set_a ).

thf(sy_c_Orderings_Obot__class_Obot_001t__Set__Oset_Itf__b_J,type,
    bot_bot_set_b: set_b ).

thf(sy_c_Orderings_Obot__class_Obot_001t__Set__Oset_Itf__c_J,type,
    bot_bot_set_c: set_c ).

thf(sy_c_Orderings_Oord__class_Oless_001t__Nat__Onat,type,
    ord_less_nat: nat > nat > $o ).

thf(sy_c_Orderings_Oord__class_Oless_001t__Set__Oset_It__Option__Ooption_Itf__a_J_J,type,
    ord_le5631237216984945872tion_a: set_option_a > set_option_a > $o ).

thf(sy_c_Orderings_Oord__class_Oless_001t__Set__Oset_Itf__a_J,type,
    ord_less_set_a: set_a > set_a > $o ).

thf(sy_c_Orderings_Oord__class_Oless__eq_001_062_It__Option__Ooption_Itf__a_J_M_062_It__Option__Ooption_Itf__a_J_M_Eo_J_J,type,
    ord_le3058241657886854542on_a_o: ( option_a > option_a > $o ) > ( option_a > option_a > $o ) > $o ).

thf(sy_c_Orderings_Oord__class_Oless__eq_001_062_It__Option__Ooption_Itf__a_J_M_Eo_J,type,
    ord_le8889544289526388249on_a_o: ( option_a > $o ) > ( option_a > $o ) > $o ).

thf(sy_c_Orderings_Oord__class_Oless__eq_001_062_Itf__a_M_062_Itf__a_M_Eo_J_J,type,
    ord_less_eq_a_a_o: ( a > a > $o ) > ( a > a > $o ) > $o ).

thf(sy_c_Orderings_Oord__class_Oless__eq_001_062_Itf__a_M_Eo_J,type,
    ord_less_eq_a_o: ( a > $o ) > ( a > $o ) > $o ).

thf(sy_c_Orderings_Oord__class_Oless__eq_001t__Nat__Onat,type,
    ord_less_eq_nat: nat > nat > $o ).

thf(sy_c_Orderings_Oord__class_Oless__eq_001t__Set__Oset_It__Option__Ooption_Itf__a_J_J,type,
    ord_le1955136853071979460tion_a: set_option_a > set_option_a > $o ).

thf(sy_c_Orderings_Oord__class_Oless__eq_001t__Set__Oset_It__Product____Type__Oprod_Itf__a_Mtf__a_J_J,type,
    ord_le746702958409616551od_a_a: set_Product_prod_a_a > set_Product_prod_a_a > $o ).

thf(sy_c_Orderings_Oord__class_Oless__eq_001t__Set__Oset_Itf__a_J,type,
    ord_less_eq_set_a: set_a > set_a > $o ).

thf(sy_c_Orderings_Oord__class_Oless__eq_001t__Set__Oset_Itf__b_J,type,
    ord_less_eq_set_b: set_b > set_b > $o ).

thf(sy_c_Orderings_Otop__class_Otop_001t__Set__Oset_It__Nat__Onat_J,type,
    top_top_set_nat: set_nat ).

thf(sy_c_Orderings_Otop__class_Otop_001t__Set__Oset_It__Option__Ooption_It__Option__Ooption_Itf__a_J_J_J,type,
    top_to1659475022456381882tion_a: set_option_option_a ).

thf(sy_c_Orderings_Otop__class_Otop_001t__Set__Oset_It__Option__Ooption_Itf__a_J_J,type,
    top_top_set_option_a: set_option_a ).

thf(sy_c_Orderings_Otop__class_Otop_001t__Set__Oset_It__Set__Oset_Itf__b_J_J,type,
    top_top_set_set_b: set_set_b ).

thf(sy_c_Orderings_Otop__class_Otop_001t__Set__Oset_Itf__a_J,type,
    top_top_set_a: set_a ).

thf(sy_c_Orderings_Otop__class_Otop_001t__Set__Oset_Itf__b_J,type,
    top_top_set_b: set_b ).

thf(sy_c_Product__Type_OPair_001t__Option__Ooption_Itf__a_J_001t__Option__Ooption_Itf__a_J,type,
    produc9011544418120257559tion_a: option_a > option_a > produc3509355604313844263tion_a ).

thf(sy_c_Product__Type_OPair_001t__Option__Ooption_Itf__a_J_001tf__a,type,
    produc3446707977624461905on_a_a: option_a > a > produc3083010940779526881on_a_a ).

thf(sy_c_Product__Type_OPair_001tf__a_001tf__a,type,
    product_Pair_a_a: a > a > product_prod_a_a ).

thf(sy_c_Product__Type_Oprod_Ocase__prod_001t__Option__Ooption_Itf__a_J_001t__Option__Ooption_Itf__a_J_001_Eo,type,
    produc7248784972643495020on_a_o: ( option_a > option_a > $o ) > produc3509355604313844263tion_a > $o ).

thf(sy_c_Product__Type_Oprod_Ocase__prod_001tf__a_001tf__a_001_Eo,type,
    produc6436628058953941356_a_a_o: ( a > a > $o ) > product_prod_a_a > $o ).

thf(sy_c_Product__Type_Oprod_Ocase__prod_001tf__a_001tf__a_001t__Product____Type__Oprod_It__Option__Ooption_Itf__a_J_Mtf__a_J,type,
    produc1387243408678024373on_a_a: ( a > a > produc3083010940779526881on_a_a ) > product_prod_a_a > produc3083010940779526881on_a_a ).

thf(sy_c_Product__Type_Oprod_Ofst_001t__Option__Ooption_Itf__a_J_001tf__a,type,
    produc8941638570267940413on_a_a: produc3083010940779526881on_a_a > option_a ).

thf(sy_c_Product__Type_Oprod_Ofst_001tf__a_001tf__a,type,
    product_fst_a_a: product_prod_a_a > a ).

thf(sy_c_Product__Type_Oprod_Ofst_001tf__b_001tf__a,type,
    product_fst_b_a: product_prod_b_a > b ).

thf(sy_c_Product__Type_Oprod_Osnd_001tf__a_001tf__a,type,
    product_snd_a_a: product_prod_a_a > a ).

thf(sy_c_Relation_Oconversep_001t__Option__Ooption_It__Product____Type__Oprod_Itf__a_Mtf__a_J_J_001t__Option__Ooption_Itf__a_J,type,
    conver6736784915673013132tion_a: ( option5210160422955383789od_a_a > option_a > $o ) > option_a > option5210160422955383789od_a_a > $o ).

thf(sy_c_Relation_Oconversep_001t__Option__Ooption_Itf__a_J_001t__Option__Ooption_Itf__a_J,type,
    conver2091984906772465269tion_a: ( option_a > option_a > $o ) > option_a > option_a > $o ).

thf(sy_c_Relation_Oconversep_001tf__a_001tf__a,type,
    conversep_a_a: ( a > a > $o ) > a > a > $o ).

thf(sy_c_Relation_Orelcompp_001t__Option__Ooption_Itf__a_J_001t__Option__Ooption_It__Product____Type__Oprod_Itf__a_Mtf__a_J_J_001t__Option__Ooption_Itf__a_J,type,
    relcom7597457113570619114tion_a: ( option_a > option5210160422955383789od_a_a > $o ) > ( option5210160422955383789od_a_a > option_a > $o ) > option_a > option_a > $o ).

thf(sy_c_Relation_Orelcompp_001t__Option__Ooption_Itf__a_J_001t__Option__Ooption_Itf__a_J_001t__Option__Ooption_Itf__a_J,type,
    relcom1089236864311994323tion_a: ( option_a > option_a > $o ) > ( option_a > option_a > $o ) > option_a > option_a > $o ).

thf(sy_c_Relation_Orelcompp_001tf__a_001tf__a_001tf__a,type,
    relcompp_a_a_a: ( a > a > $o ) > ( a > a > $o ) > a > a > $o ).

thf(sy_c_Set_OCollect_001_062_It__Option__Ooption_Itf__a_J_Mt__Option__Ooption_It__Option__Ooption_Itf__a_J_J_J,type,
    collec2458836999851688832tion_a: ( ( option_a > option_option_a ) > $o ) > set_op7164657265554968289tion_a ).

thf(sy_c_Set_OCollect_001_062_It__Option__Ooption_Itf__a_J_Mt__Option__Ooption_Itf__a_J_J,type,
    collec5803847638788715578tion_a: ( ( option_a > option_a ) > $o ) > set_op7810783462584961947tion_a ).

thf(sy_c_Set_OCollect_001_062_Itf__a_Mt__Option__Ooption_It__Option__Ooption_Itf__a_J_J_J,type,
    collec6680173830675942470tion_a: ( ( a > option_option_a ) > $o ) > set_a_2282238091077557671tion_a ).

thf(sy_c_Set_OCollect_001_062_Itf__a_Mt__Option__Ooption_Itf__a_J_J,type,
    collect_a_option_a: ( ( a > option_a ) > $o ) > set_a_option_a ).

thf(sy_c_Set_OCollect_001t__Option__Ooption_It__Product____Type__Oprod_Itf__a_Mtf__a_J_J,type,
    collec431113534271933400od_a_a: ( option5210160422955383789od_a_a > $o ) > set_op7160277562814721357od_a_a ).

thf(sy_c_Set_OCollect_001t__Option__Ooption_Itf__a_J,type,
    collect_option_a: ( option_a > $o ) > set_option_a ).

thf(sy_c_Set_OCollect_001t__Product____Type__Oprod_Itf__a_Mtf__a_J,type,
    collec3336397797384452498od_a_a: ( product_prod_a_a > $o ) > set_Product_prod_a_a ).

thf(sy_c_Set_OCollect_001tf__a,type,
    collect_a: ( a > $o ) > set_a ).

thf(sy_c_Set_OCollect_001tf__b,type,
    collect_b: ( b > $o ) > set_b ).

thf(sy_c_Set_OCollect_001tf__c,type,
    collect_c: ( c > $o ) > set_c ).

thf(sy_c_Set_Oimage_001t__Nat__Onat_001t__Nat__Onat,type,
    image_nat_nat: ( nat > nat ) > set_nat > set_nat ).

thf(sy_c_Set_Oimage_001t__Option__Ooption_Itf__a_J_001t__Option__Ooption_It__Option__Ooption_Itf__a_J_J,type,
    image_2132136900116418507tion_a: ( option_a > option_option_a ) > set_option_a > set_option_option_a ).

thf(sy_c_Set_Oimage_001t__Option__Ooption_Itf__a_J_001t__Option__Ooption_Itf__a_J,type,
    image_7439109396645324421tion_a: ( option_a > option_a ) > set_option_a > set_option_a ).

thf(sy_c_Set_Oimage_001t__Option__Ooption_Itf__a_J_001tf__a,type,
    image_option_a_a: ( option_a > a ) > set_option_a > set_a ).

thf(sy_c_Set_Oimage_001t__Option__Ooption_Itf__a_J_001tf__b,type,
    image_option_a_b: ( option_a > b ) > set_option_a > set_b ).

thf(sy_c_Set_Oimage_001t__Product____Type__Oprod_It__Option__Ooption_Itf__a_J_Mtf__a_J_001t__Option__Ooption_Itf__a_J,type,
    image_3098826861768462248tion_a: ( produc3083010940779526881on_a_a > option_a ) > set_Pr6308966090954093121on_a_a > set_option_a ).

thf(sy_c_Set_Oimage_001t__Product____Type__Oprod_Itf__a_Mtf__a_J_001tf__a,type,
    image_3437945252899457948_a_a_a: ( product_prod_a_a > a ) > set_Product_prod_a_a > set_a ).

thf(sy_c_Set_Oimage_001t__Product____Type__Oprod_Itf__b_Mtf__a_J_001tf__b,type,
    image_9034163868087588638_b_a_b: ( product_prod_b_a > b ) > set_Product_prod_b_a > set_b ).

thf(sy_c_Set_Oimage_001tf__a_001t__Option__Ooption_Itf__a_J,type,
    image_a_option_a: ( a > option_a ) > set_a > set_option_a ).

thf(sy_c_Set_Oimage_001tf__a_001t__Set__Oset_Itf__a_J,type,
    image_a_set_a: ( a > set_a ) > set_a > set_set_a ).

thf(sy_c_Set_Oimage_001tf__a_001tf__a,type,
    image_a_a: ( a > a ) > set_a > set_a ).

thf(sy_c_Set_Oimage_001tf__a_001tf__b,type,
    image_a_b: ( a > b ) > set_a > set_b ).

thf(sy_c_Set_Oimage_001tf__b_001t__Option__Ooption_Itf__a_J,type,
    image_b_option_a: ( b > option_a ) > set_b > set_option_a ).

thf(sy_c_Set_Oimage_001tf__b_001tf__a,type,
    image_b_a: ( b > a ) > set_b > set_a ).

thf(sy_c_Set_Oimage_001tf__b_001tf__b,type,
    image_b_b: ( b > b ) > set_b > set_b ).

thf(sy_c_Set_Oimage_001tf__c_001tf__d,type,
    image_c_d: ( c > d ) > set_c > set_d ).

thf(sy_c_Set_Oinsert_001t__Option__Ooption_It__Option__Ooption_Itf__a_J_J,type,
    insert605063979879581146tion_a: option_option_a > set_option_option_a > set_option_option_a ).

thf(sy_c_Set_Oinsert_001t__Option__Ooption_Itf__a_J,type,
    insert_option_a: option_a > set_option_a > set_option_a ).

thf(sy_c_Set_Oinsert_001tf__a,type,
    insert_a: a > set_a > set_a ).

thf(sy_c_Set_Oinsert_001tf__b,type,
    insert_b: b > set_b > set_b ).

thf(sy_c_Set_Oinsert_001tf__c,type,
    insert_c: c > set_c > set_c ).

thf(sy_c_Set_Oinsert_001tf__d,type,
    insert_d: d > set_d > set_d ).

thf(sy_c_Set_Ovimage_001t__Option__Ooption_Itf__a_J_001t__Option__Ooption_Itf__a_J,type,
    vimage1562710927270423099tion_a: ( option_a > option_a ) > set_option_a > set_option_a ).

thf(sy_c_Set_Ovimage_001t__Option__Ooption_Itf__a_J_001tf__a,type,
    vimage_option_a_a: ( option_a > a ) > set_a > set_option_a ).

thf(sy_c_Set_Ovimage_001tf__a_001t__Option__Ooption_Itf__a_J,type,
    vimage_a_option_a: ( a > option_a ) > set_option_a > set_a ).

thf(sy_c_Set_Ovimage_001tf__a_001tf__a,type,
    vimage_a_a: ( a > a ) > set_a > set_a ).

thf(sy_c_Set_Ovimage_001tf__b_001t__Option__Ooption_Itf__a_J,type,
    vimage_b_option_a: ( b > option_a ) > set_option_a > set_b ).

thf(sy_c_Set_Ovimage_001tf__b_001tf__a,type,
    vimage_b_a: ( b > a ) > set_a > set_b ).

thf(sy_c_Transfer_Obi__unique_001t__Option__Ooption_Itf__a_J_001t__Option__Ooption_Itf__a_J,type,
    bi_uni6217441781253053455tion_a: ( option_a > option_a > $o ) > $o ).

thf(sy_c_Transfer_Obi__unique_001tf__a_001tf__a,type,
    bi_unique_a_a: ( a > a > $o ) > $o ).

thf(sy_c_Transfer_Obi__unique_001tf__c_001tf__c,type,
    bi_unique_c_c: ( c > c > $o ) > $o ).

thf(sy_c_UnboundedLogic_Oassertion_OAnd_001tf__a_001tf__b_001tf__d_001tf__c,type,
    and_a_b_d_c: assertion_a_b_d_c > assertion_a_b_d_c > assertion_a_b_d_c ).

thf(sy_c_UnboundedLogic_Oassertion_OBounded_001tf__a_001tf__b_001tf__d_001tf__c,type,
    bounded_a_b_d_c: assertion_a_b_d_c > assertion_a_b_d_c ).

thf(sy_c_UnboundedLogic_Oassertion_OExists_001tf__c_001tf__a_001tf__b_001tf__d,type,
    exists_c_a_b_d: c > assertion_a_b_d_c > assertion_a_b_d_c ).

thf(sy_c_UnboundedLogic_Oassertion_OForall_001tf__c_001tf__a_001tf__b_001tf__d,type,
    forall_c_a_b_d: c > assertion_a_b_d_c > assertion_a_b_d_c ).

thf(sy_c_UnboundedLogic_Oassertion_OImp_001tf__a_001tf__b_001tf__d_001tf__c,type,
    imp_a_b_d_c: assertion_a_b_d_c > assertion_a_b_d_c > assertion_a_b_d_c ).

thf(sy_c_UnboundedLogic_Oassertion_OMult_001tf__b_001tf__a_001tf__d_001tf__c,type,
    mult_b_a_d_c: b > assertion_a_b_d_c > assertion_a_b_d_c ).

thf(sy_c_UnboundedLogic_Oassertion_OOr_001tf__a_001tf__b_001tf__d_001tf__c,type,
    or_a_b_d_c: assertion_a_b_d_c > assertion_a_b_d_c > assertion_a_b_d_c ).

thf(sy_c_UnboundedLogic_Oassertion_OPred_001tf__a_001tf__b_001tf__d_001tf__c,type,
    pred_a_b_d_c: assertion_a_b_d_c ).

thf(sy_c_UnboundedLogic_Oassertion_OSem_001tf__c_001tf__d_001tf__a_001tf__b,type,
    sem_c_d_a_b: ( ( c > d ) > a > $o ) > assertion_a_b_d_c ).

thf(sy_c_UnboundedLogic_Oassertion_OStar_001tf__a_001tf__b_001tf__d_001tf__c,type,
    star_a_b_d_c: assertion_a_b_d_c > assertion_a_b_d_c > assertion_a_b_d_c ).

thf(sy_c_UnboundedLogic_Oassertion_OWand_001tf__a_001tf__b_001tf__d_001tf__c,type,
    wand_a_b_d_c: assertion_a_b_d_c > assertion_a_b_d_c > assertion_a_b_d_c ).

thf(sy_c_UnboundedLogic_Oassertion_OWildcard_001tf__a_001tf__b_001tf__d_001tf__c,type,
    wildcard_a_b_d_c: assertion_a_b_d_c > assertion_a_b_d_c ).

thf(sy_c_UnboundedLogic_Oassertion_Oset__assertion_001tf__a_001tf__b_001tf__d_001tf__c,type,
    set_as7232682317586342732_b_d_c: assertion_a_b_d_c > set_b ).

thf(sy_c_UnboundedLogic_Ologic_001tf__a_001tf__b,type,
    logic_a_b: ( a > a > option_a ) > ( b > a > a ) > ( b > b > b ) > ( b > b > b ) > ( b > b ) > b > ( a > $o ) > $o ).

thf(sy_c_UnboundedLogic_Ologic_Oentails_001tf__a_001tf__b_001tf__d_001tf__c,type,
    entails_a_b_d_c: ( a > a > option_a ) > ( b > a > a ) > ( a > $o ) > assertion_a_b_d_c > ( ( c > d ) > set_a ) > assertion_a_b_d_c > $o ).

thf(sy_c_UnboundedLogic_Ologic_Oequivalent_001tf__a_001tf__b_001tf__d_001tf__c,type,
    equivalent_a_b_d_c: ( a > a > option_a ) > ( b > a > a ) > ( a > $o ) > assertion_a_b_d_c > ( ( c > d ) > set_a ) > assertion_a_b_d_c > $o ).

thf(sy_c_UnboundedLogic_Ologic_Ointuitionistic_001tf__a_001tf__b_001tf__c_001tf__d,type,
    intuit7508411120625971703_b_c_d: ( a > a > option_a ) > ( b > a > a ) > ( a > $o ) > ( c > d ) > ( ( c > d ) > set_a ) > assertion_a_b_d_c > $o ).

thf(sy_c_UnboundedLogic_Ologic_Opure_001tf__a_001tf__b_001tf__d_001tf__c,type,
    pure_a_b_d_c: ( a > a > option_a ) > ( b > a > a ) > ( a > $o ) > assertion_a_b_d_c > $o ).

thf(sy_c_UnboundedLogic_Ologic_Osat_001tf__a_001tf__b_001tf__c_001tf__d,type,
    sat_a_b_c_d: ( a > a > option_a ) > ( b > a > a ) > ( a > $o ) > a > ( c > d ) > ( ( c > d ) > set_a ) > assertion_a_b_d_c > $o ).

thf(sy_c_UnboundedLogic_Opre__logic_Ocompatible_001tf__a,type,
    pre_compatible_a: ( a > a > option_a ) > a > a > $o ).

thf(sy_c_UnboundedLogic_Opre__logic_Olarger_001tf__a,type,
    pre_larger_a: ( a > a > option_a ) > a > a > $o ).

thf(sy_c_member_001t__Nat__Onat,type,
    member_nat: nat > set_nat > $o ).

thf(sy_c_member_001t__Option__Ooption_It__Option__Ooption_Itf__a_J_J,type,
    member5113800082084363315tion_a: option_option_a > set_option_option_a > $o ).

thf(sy_c_member_001t__Option__Ooption_It__Product____Type__Oprod_Itf__a_Mtf__a_J_J,type,
    member8183384484874023062od_a_a: option5210160422955383789od_a_a > set_op7160277562814721357od_a_a > $o ).

thf(sy_c_member_001t__Option__Ooption_Itf__a_J,type,
    member_option_a: option_a > set_option_a > $o ).

thf(sy_c_member_001t__Option__Ooption_Itf__b_J,type,
    member_option_b: option_b > set_option_b > $o ).

thf(sy_c_member_001tf__a,type,
    member_a: a > set_a > $o ).

thf(sy_c_member_001tf__b,type,
    member_b: b > set_b > $o ).

thf(sy_c_member_001tf__c,type,
    member_c: c > set_c > $o ).

thf(sy_c_member_001tf__d,type,
    member_d: d > set_d > $o ).

thf(sy_v_A,type,
    a2: assertion_a_b_d_c ).

thf(sy_v_B,type,
    b2: assertion_a_b_d_c ).

thf(sy_v__092_060Delta_062,type,
    delta: ( c > d ) > set_a ).

thf(sy_v__092_060sigma_062,type,
    sigma: a ).

thf(sy_v_mult,type,
    mult: b > a > a ).

thf(sy_v_one,type,
    one: b ).

thf(sy_v_plus,type,
    plus: a > a > option_a ).

thf(sy_v_s,type,
    s: c > d ).

thf(sy_v_sadd,type,
    sadd: b > b > b ).

thf(sy_v_sinv,type,
    sinv: b > b ).

thf(sy_v_smult,type,
    smult: b > b > b ).

thf(sy_v_valid,type,
    valid: a > $o ).

% Relevant facts (986)
thf(fact_0_commutative,axiom,
    ! [A: a,B: a] :
      ( ( plus @ A @ B )
      = ( plus @ B @ A ) ) ).

% commutative
thf(fact_1_can__divide,axiom,
    ! [P: b,A: a,B: a] :
      ( ( ( mult @ P @ A )
        = ( mult @ P @ B ) )
     => ( A = B ) ) ).

% can_divide
thf(fact_2_assertion_Oinject_I7_J,axiom,
    ! [X71: assertion_a_b_d_c,X72: assertion_a_b_d_c,Y71: assertion_a_b_d_c,Y72: assertion_a_b_d_c] :
      ( ( ( imp_a_b_d_c @ X71 @ X72 )
        = ( imp_a_b_d_c @ Y71 @ Y72 ) )
      = ( ( X71 = Y71 )
        & ( X72 = Y72 ) ) ) ).

% assertion.inject(7)
thf(fact_3_sat_Osimps_I5_J,axiom,
    ! [Sigma: a,S: c > d,Delta: ( c > d ) > set_a,A2: assertion_a_b_d_c,B2: assertion_a_b_d_c] :
      ( ( sat_a_b_c_d @ plus @ mult @ valid @ Sigma @ S @ Delta @ ( imp_a_b_d_c @ A2 @ B2 ) )
      = ( ( sat_a_b_c_d @ plus @ mult @ valid @ Sigma @ S @ Delta @ A2 )
       => ( sat_a_b_c_d @ plus @ mult @ valid @ Sigma @ S @ Delta @ B2 ) ) ) ).

% sat.simps(5)
thf(fact_4_assms,axiom,
    ( ( sat_a_b_c_d @ plus @ mult @ valid @ sigma @ s @ delta @ a2 )
   => ( sat_a_b_c_d @ plus @ mult @ valid @ sigma @ s @ delta @ b2 ) ) ).

% assms
thf(fact_5_unique__inv,axiom,
    ! [A: a,P: b,B: a] :
      ( ( A
        = ( mult @ P @ B ) )
      = ( B
        = ( mult @ ( sinv @ P ) @ A ) ) ) ).

% unique_inv
thf(fact_6_pure__def,axiom,
    ! [A2: assertion_a_b_d_c] :
      ( ( pure_a_b_d_c @ plus @ mult @ valid @ A2 )
      = ( ! [Sigma2: a,Sigma3: a,S2: c > d,Delta2: ( c > d ) > set_a,Delta3: ( c > d ) > set_a] :
            ( ( sat_a_b_c_d @ plus @ mult @ valid @ Sigma2 @ S2 @ Delta2 @ A2 )
            = ( sat_a_b_c_d @ plus @ mult @ valid @ Sigma3 @ S2 @ Delta3 @ A2 ) ) ) ) ).

% pure_def
thf(fact_7_one__neutral,axiom,
    ! [A: a] :
      ( ( mult @ one @ A )
      = A ) ).

% one_neutral
thf(fact_8_equivalentI,axiom,
    ! [Delta: ( c > d ) > set_a,A2: assertion_a_b_d_c,B2: assertion_a_b_d_c] :
      ( ! [Sigma4: a,S3: c > d] :
          ( ( sat_a_b_c_d @ plus @ mult @ valid @ Sigma4 @ S3 @ Delta @ A2 )
         => ( sat_a_b_c_d @ plus @ mult @ valid @ Sigma4 @ S3 @ Delta @ B2 ) )
     => ( ! [Sigma4: a,S3: c > d] :
            ( ( sat_a_b_c_d @ plus @ mult @ valid @ Sigma4 @ S3 @ Delta @ B2 )
           => ( sat_a_b_c_d @ plus @ mult @ valid @ Sigma4 @ S3 @ Delta @ A2 ) )
       => ( equivalent_a_b_d_c @ plus @ mult @ valid @ A2 @ Delta @ B2 ) ) ) ).

% equivalentI
thf(fact_9_logic_Osat_Ocong,axiom,
    sat_a_b_c_d = sat_a_b_c_d ).

% logic.sat.cong
thf(fact_10_entailsI,axiom,
    ! [Delta: ( c > d ) > set_a,A2: assertion_a_b_d_c,B2: assertion_a_b_d_c] :
      ( ! [Sigma4: a,S3: c > d] :
          ( ( sat_a_b_c_d @ plus @ mult @ valid @ Sigma4 @ S3 @ Delta @ A2 )
         => ( sat_a_b_c_d @ plus @ mult @ valid @ Sigma4 @ S3 @ Delta @ B2 ) )
     => ( entails_a_b_d_c @ plus @ mult @ valid @ A2 @ Delta @ B2 ) ) ).

% entailsI
thf(fact_11_entails__def,axiom,
    ! [A2: assertion_a_b_d_c,Delta: ( c > d ) > set_a,B2: assertion_a_b_d_c] :
      ( ( entails_a_b_d_c @ plus @ mult @ valid @ A2 @ Delta @ B2 )
      = ( ! [Sigma2: a,S2: c > d] :
            ( ( sat_a_b_c_d @ plus @ mult @ valid @ Sigma2 @ S2 @ Delta @ A2 )
           => ( sat_a_b_c_d @ plus @ mult @ valid @ Sigma2 @ S2 @ Delta @ B2 ) ) ) ) ).

% entails_def
thf(fact_12_valid__mono,axiom,
    ! [A: a,B: a] :
      ( ( ( valid @ A )
        & ( pre_larger_a @ plus @ A @ B ) )
     => ( valid @ B ) ) ).

% valid_mono
thf(fact_13_compatible__iff,axiom,
    ! [A: a,B: a,P: b] :
      ( ( pre_compatible_a @ plus @ A @ B )
      = ( pre_compatible_a @ plus @ ( mult @ P @ A ) @ ( mult @ P @ B ) ) ) ).

% compatible_iff
thf(fact_14_compatible__imp,axiom,
    ! [A: a,B: a,P: b] :
      ( ( pre_compatible_a @ plus @ A @ B )
     => ( pre_compatible_a @ plus @ ( mult @ P @ A ) @ ( mult @ P @ B ) ) ) ).

% compatible_imp
thf(fact_15_sat_Osimps_I10_J,axiom,
    ! [Sigma: a,S: c > d,Delta: ( c > d ) > set_a] :
      ( ( sat_a_b_c_d @ plus @ mult @ valid @ Sigma @ S @ Delta @ pred_a_b_d_c )
      = ( member_a @ Sigma @ ( Delta @ S ) ) ) ).

% sat.simps(10)
thf(fact_16_sat_Osimps_I12_J,axiom,
    ! [Sigma: a,S: c > d,Delta: ( c > d ) > set_a,A2: assertion_a_b_d_c] :
      ( ( sat_a_b_c_d @ plus @ mult @ valid @ Sigma @ S @ Delta @ ( wildcard_a_b_d_c @ A2 ) )
      = ( ? [A3: a,P2: b] :
            ( ( Sigma
              = ( mult @ P2 @ A3 ) )
            & ( sat_a_b_c_d @ plus @ mult @ valid @ A3 @ S @ Delta @ A2 ) ) ) ) ).

% sat.simps(12)
thf(fact_17_sat_Osimps_I11_J,axiom,
    ! [Sigma: a,S: c > d,Delta: ( c > d ) > set_a,A2: assertion_a_b_d_c] :
      ( ( sat_a_b_c_d @ plus @ mult @ valid @ Sigma @ S @ Delta @ ( bounded_a_b_d_c @ A2 ) )
      = ( ( valid @ Sigma )
       => ( sat_a_b_c_d @ plus @ mult @ valid @ Sigma @ S @ Delta @ A2 ) ) ) ).

% sat.simps(11)
thf(fact_18_sat_Osimps_I7_J,axiom,
    ! [Sigma: a,S: c > d,Delta: ( c > d ) > set_a,A2: assertion_a_b_d_c,B2: assertion_a_b_d_c] :
      ( ( sat_a_b_c_d @ plus @ mult @ valid @ Sigma @ S @ Delta @ ( and_a_b_d_c @ A2 @ B2 ) )
      = ( ( sat_a_b_c_d @ plus @ mult @ valid @ Sigma @ S @ Delta @ A2 )
        & ( sat_a_b_c_d @ plus @ mult @ valid @ Sigma @ S @ Delta @ B2 ) ) ) ).

% sat.simps(7)
thf(fact_19_sat_Osimps_I6_J,axiom,
    ! [Sigma: a,S: c > d,Delta: ( c > d ) > set_a,A2: assertion_a_b_d_c,B2: assertion_a_b_d_c] :
      ( ( sat_a_b_c_d @ plus @ mult @ valid @ Sigma @ S @ Delta @ ( or_a_b_d_c @ A2 @ B2 ) )
      = ( ( sat_a_b_c_d @ plus @ mult @ valid @ Sigma @ S @ Delta @ A2 )
        | ( sat_a_b_c_d @ plus @ mult @ valid @ Sigma @ S @ Delta @ B2 ) ) ) ).

% sat.simps(6)
thf(fact_20_sat_Osimps_I1_J,axiom,
    ! [Sigma: a,S: c > d,Delta: ( c > d ) > set_a,P: b,A2: assertion_a_b_d_c] :
      ( ( sat_a_b_c_d @ plus @ mult @ valid @ Sigma @ S @ Delta @ ( mult_b_a_d_c @ P @ A2 ) )
      = ( ? [A3: a] :
            ( ( Sigma
              = ( mult @ P @ A3 ) )
            & ( sat_a_b_c_d @ plus @ mult @ valid @ A3 @ S @ Delta @ A2 ) ) ) ) ).

% sat.simps(1)
thf(fact_21_sat_Osimps_I4_J,axiom,
    ! [Sigma: a,S: c > d,Delta: ( c > d ) > set_a,B: ( c > d ) > a > $o] :
      ( ( sat_a_b_c_d @ plus @ mult @ valid @ Sigma @ S @ Delta @ ( sem_c_d_a_b @ B ) )
      = ( B @ S @ Sigma ) ) ).

% sat.simps(4)
thf(fact_22_assertion_Oinject_I6_J,axiom,
    ! [X61: assertion_a_b_d_c,X62: assertion_a_b_d_c,Y61: assertion_a_b_d_c,Y62: assertion_a_b_d_c] :
      ( ( ( and_a_b_d_c @ X61 @ X62 )
        = ( and_a_b_d_c @ Y61 @ Y62 ) )
      = ( ( X61 = Y61 )
        & ( X62 = Y62 ) ) ) ).

% assertion.inject(6)
thf(fact_23_assertion_Oinject_I5_J,axiom,
    ! [X51: assertion_a_b_d_c,X52: assertion_a_b_d_c,Y51: assertion_a_b_d_c,Y52: assertion_a_b_d_c] :
      ( ( ( or_a_b_d_c @ X51 @ X52 )
        = ( or_a_b_d_c @ Y51 @ Y52 ) )
      = ( ( X51 = Y51 )
        & ( X52 = Y52 ) ) ) ).

% assertion.inject(5)
thf(fact_24_assertion_Oinject_I2_J,axiom,
    ! [X21: b,X22: assertion_a_b_d_c,Y21: b,Y22: assertion_a_b_d_c] :
      ( ( ( mult_b_a_d_c @ X21 @ X22 )
        = ( mult_b_a_d_c @ Y21 @ Y22 ) )
      = ( ( X21 = Y21 )
        & ( X22 = Y22 ) ) ) ).

% assertion.inject(2)
thf(fact_25_assertion_Oinject_I11_J,axiom,
    ! [X12: assertion_a_b_d_c,Y12: assertion_a_b_d_c] :
      ( ( ( wildcard_a_b_d_c @ X12 )
        = ( wildcard_a_b_d_c @ Y12 ) )
      = ( X12 = Y12 ) ) ).

% assertion.inject(11)
thf(fact_26_assertion_Oinject_I10_J,axiom,
    ! [X11: assertion_a_b_d_c,Y11: assertion_a_b_d_c] :
      ( ( ( bounded_a_b_d_c @ X11 )
        = ( bounded_a_b_d_c @ Y11 ) )
      = ( X11 = Y11 ) ) ).

% assertion.inject(10)
thf(fact_27_assertion_Oinject_I1_J,axiom,
    ! [X1: ( c > d ) > a > $o,Y1: ( c > d ) > a > $o] :
      ( ( ( sem_c_d_a_b @ X1 )
        = ( sem_c_d_a_b @ Y1 ) )
      = ( X1 = Y1 ) ) ).

% assertion.inject(1)
thf(fact_28_equivalent__def,axiom,
    ! [A2: assertion_a_b_d_c,Delta: ( c > d ) > set_a,B2: assertion_a_b_d_c] :
      ( ( equivalent_a_b_d_c @ plus @ mult @ valid @ A2 @ Delta @ B2 )
      = ( ( entails_a_b_d_c @ plus @ mult @ valid @ A2 @ Delta @ B2 )
        & ( entails_a_b_d_c @ plus @ mult @ valid @ B2 @ Delta @ A2 ) ) ) ).

% equivalent_def
thf(fact_29_intuitionistic__def,axiom,
    ! [S: c > d,Delta: ( c > d ) > set_a,A2: assertion_a_b_d_c] :
      ( ( intuit7508411120625971703_b_c_d @ plus @ mult @ valid @ S @ Delta @ A2 )
      = ( ! [A3: a,B3: a] :
            ( ( ( pre_larger_a @ plus @ A3 @ B3 )
              & ( sat_a_b_c_d @ plus @ mult @ valid @ B3 @ S @ Delta @ A2 ) )
           => ( sat_a_b_c_d @ plus @ mult @ valid @ A3 @ S @ Delta @ A2 ) ) ) ) ).

% intuitionistic_def
thf(fact_30_intuitionisticI,axiom,
    ! [S: c > d,Delta: ( c > d ) > set_a,A2: assertion_a_b_d_c] :
      ( ! [A4: a,B4: a] :
          ( ( ( pre_larger_a @ plus @ A4 @ B4 )
            & ( sat_a_b_c_d @ plus @ mult @ valid @ B4 @ S @ Delta @ A2 ) )
         => ( sat_a_b_c_d @ plus @ mult @ valid @ A4 @ S @ Delta @ A2 ) )
     => ( intuit7508411120625971703_b_c_d @ plus @ mult @ valid @ S @ Delta @ A2 ) ) ).

% intuitionisticI
thf(fact_31_assertion_Odistinct_I131_J,axiom,
    ! [X11: assertion_a_b_d_c,X12: assertion_a_b_d_c] :
      ( ( bounded_a_b_d_c @ X11 )
     != ( wildcard_a_b_d_c @ X12 ) ) ).

% assertion.distinct(131)
thf(fact_32_assertion_Odistinct_I129_J,axiom,
    ! [X12: assertion_a_b_d_c] :
      ( pred_a_b_d_c
     != ( wildcard_a_b_d_c @ X12 ) ) ).

% assertion.distinct(129)
thf(fact_33_assertion_Odistinct_I127_J,axiom,
    ! [X11: assertion_a_b_d_c] :
      ( pred_a_b_d_c
     != ( bounded_a_b_d_c @ X11 ) ) ).

% assertion.distinct(127)
thf(fact_34_assertion_Odistinct_I101_J,axiom,
    ! [X61: assertion_a_b_d_c,X62: assertion_a_b_d_c,X12: assertion_a_b_d_c] :
      ( ( and_a_b_d_c @ X61 @ X62 )
     != ( wildcard_a_b_d_c @ X12 ) ) ).

% assertion.distinct(101)
thf(fact_35_assertion_Odistinct_I99_J,axiom,
    ! [X61: assertion_a_b_d_c,X62: assertion_a_b_d_c,X11: assertion_a_b_d_c] :
      ( ( and_a_b_d_c @ X61 @ X62 )
     != ( bounded_a_b_d_c @ X11 ) ) ).

% assertion.distinct(99)
thf(fact_36_assertion_Odistinct_I97_J,axiom,
    ! [X61: assertion_a_b_d_c,X62: assertion_a_b_d_c] :
      ( ( and_a_b_d_c @ X61 @ X62 )
     != pred_a_b_d_c ) ).

% assertion.distinct(97)
thf(fact_37_assertion_Odistinct_I89_J,axiom,
    ! [X51: assertion_a_b_d_c,X52: assertion_a_b_d_c,X12: assertion_a_b_d_c] :
      ( ( or_a_b_d_c @ X51 @ X52 )
     != ( wildcard_a_b_d_c @ X12 ) ) ).

% assertion.distinct(89)
thf(fact_38_assertion_Odistinct_I87_J,axiom,
    ! [X51: assertion_a_b_d_c,X52: assertion_a_b_d_c,X11: assertion_a_b_d_c] :
      ( ( or_a_b_d_c @ X51 @ X52 )
     != ( bounded_a_b_d_c @ X11 ) ) ).

% assertion.distinct(87)
thf(fact_39_assertion_Odistinct_I85_J,axiom,
    ! [X51: assertion_a_b_d_c,X52: assertion_a_b_d_c] :
      ( ( or_a_b_d_c @ X51 @ X52 )
     != pred_a_b_d_c ) ).

% assertion.distinct(85)
thf(fact_40_assertion_Odistinct_I77_J,axiom,
    ! [X51: assertion_a_b_d_c,X52: assertion_a_b_d_c,X61: assertion_a_b_d_c,X62: assertion_a_b_d_c] :
      ( ( or_a_b_d_c @ X51 @ X52 )
     != ( and_a_b_d_c @ X61 @ X62 ) ) ).

% assertion.distinct(77)
thf(fact_41_assertion_Odistinct_I41_J,axiom,
    ! [X21: b,X22: assertion_a_b_d_c,X12: assertion_a_b_d_c] :
      ( ( mult_b_a_d_c @ X21 @ X22 )
     != ( wildcard_a_b_d_c @ X12 ) ) ).

% assertion.distinct(41)
thf(fact_42_assertion_Odistinct_I39_J,axiom,
    ! [X21: b,X22: assertion_a_b_d_c,X11: assertion_a_b_d_c] :
      ( ( mult_b_a_d_c @ X21 @ X22 )
     != ( bounded_a_b_d_c @ X11 ) ) ).

% assertion.distinct(39)
thf(fact_43_mem__Collect__eq,axiom,
    ! [A: a,P3: a > $o] :
      ( ( member_a @ A @ ( collect_a @ P3 ) )
      = ( P3 @ A ) ) ).

% mem_Collect_eq
thf(fact_44_mem__Collect__eq,axiom,
    ! [A: b,P3: b > $o] :
      ( ( member_b @ A @ ( collect_b @ P3 ) )
      = ( P3 @ A ) ) ).

% mem_Collect_eq
thf(fact_45_mem__Collect__eq,axiom,
    ! [A: option_a,P3: option_a > $o] :
      ( ( member_option_a @ A @ ( collect_option_a @ P3 ) )
      = ( P3 @ A ) ) ).

% mem_Collect_eq
thf(fact_46_Collect__mem__eq,axiom,
    ! [A2: set_a] :
      ( ( collect_a
        @ ^ [X: a] : ( member_a @ X @ A2 ) )
      = A2 ) ).

% Collect_mem_eq
thf(fact_47_Collect__mem__eq,axiom,
    ! [A2: set_b] :
      ( ( collect_b
        @ ^ [X: b] : ( member_b @ X @ A2 ) )
      = A2 ) ).

% Collect_mem_eq
thf(fact_48_Collect__mem__eq,axiom,
    ! [A2: set_option_a] :
      ( ( collect_option_a
        @ ^ [X: option_a] : ( member_option_a @ X @ A2 ) )
      = A2 ) ).

% Collect_mem_eq
thf(fact_49_Collect__cong,axiom,
    ! [P3: option_a > $o,Q: option_a > $o] :
      ( ! [X2: option_a] :
          ( ( P3 @ X2 )
          = ( Q @ X2 ) )
     => ( ( collect_option_a @ P3 )
        = ( collect_option_a @ Q ) ) ) ).

% Collect_cong
thf(fact_50_assertion_Odistinct_I37_J,axiom,
    ! [X21: b,X22: assertion_a_b_d_c] :
      ( ( mult_b_a_d_c @ X21 @ X22 )
     != pred_a_b_d_c ) ).

% assertion.distinct(37)
thf(fact_51_assertion_Odistinct_I29_J,axiom,
    ! [X21: b,X22: assertion_a_b_d_c,X61: assertion_a_b_d_c,X62: assertion_a_b_d_c] :
      ( ( mult_b_a_d_c @ X21 @ X22 )
     != ( and_a_b_d_c @ X61 @ X62 ) ) ).

% assertion.distinct(29)
thf(fact_52_assertion_Odistinct_I27_J,axiom,
    ! [X21: b,X22: assertion_a_b_d_c,X51: assertion_a_b_d_c,X52: assertion_a_b_d_c] :
      ( ( mult_b_a_d_c @ X21 @ X22 )
     != ( or_a_b_d_c @ X51 @ X52 ) ) ).

% assertion.distinct(27)
thf(fact_53_assertion_Odistinct_I21_J,axiom,
    ! [X1: ( c > d ) > a > $o,X12: assertion_a_b_d_c] :
      ( ( sem_c_d_a_b @ X1 )
     != ( wildcard_a_b_d_c @ X12 ) ) ).

% assertion.distinct(21)
thf(fact_54_assertion_Odistinct_I19_J,axiom,
    ! [X1: ( c > d ) > a > $o,X11: assertion_a_b_d_c] :
      ( ( sem_c_d_a_b @ X1 )
     != ( bounded_a_b_d_c @ X11 ) ) ).

% assertion.distinct(19)
thf(fact_55_assertion_Odistinct_I17_J,axiom,
    ! [X1: ( c > d ) > a > $o] :
      ( ( sem_c_d_a_b @ X1 )
     != pred_a_b_d_c ) ).

% assertion.distinct(17)
thf(fact_56_assertion_Odistinct_I9_J,axiom,
    ! [X1: ( c > d ) > a > $o,X61: assertion_a_b_d_c,X62: assertion_a_b_d_c] :
      ( ( sem_c_d_a_b @ X1 )
     != ( and_a_b_d_c @ X61 @ X62 ) ) ).

% assertion.distinct(9)
thf(fact_57_assertion_Odistinct_I7_J,axiom,
    ! [X1: ( c > d ) > a > $o,X51: assertion_a_b_d_c,X52: assertion_a_b_d_c] :
      ( ( sem_c_d_a_b @ X1 )
     != ( or_a_b_d_c @ X51 @ X52 ) ) ).

% assertion.distinct(7)
thf(fact_58_assertion_Odistinct_I1_J,axiom,
    ! [X1: ( c > d ) > a > $o,X21: b,X22: assertion_a_b_d_c] :
      ( ( sem_c_d_a_b @ X1 )
     != ( mult_b_a_d_c @ X21 @ X22 ) ) ).

% assertion.distinct(1)
thf(fact_59_pre__logic_Ocompatible_Ocong,axiom,
    pre_compatible_a = pre_compatible_a ).

% pre_logic.compatible.cong
thf(fact_60_pre__logic_Olarger_Ocong,axiom,
    pre_larger_a = pre_larger_a ).

% pre_logic.larger.cong
thf(fact_61_logic_Oentails_Ocong,axiom,
    entails_a_b_d_c = entails_a_b_d_c ).

% logic.entails.cong
thf(fact_62_logic_Oequivalent_Ocong,axiom,
    equivalent_a_b_d_c = equivalent_a_b_d_c ).

% logic.equivalent.cong
thf(fact_63_logic_Opure_Ocong,axiom,
    pure_a_b_d_c = pure_a_b_d_c ).

% logic.pure.cong
thf(fact_64_assertion_Odistinct_I11_J,axiom,
    ! [X1: ( c > d ) > a > $o,X71: assertion_a_b_d_c,X72: assertion_a_b_d_c] :
      ( ( sem_c_d_a_b @ X1 )
     != ( imp_a_b_d_c @ X71 @ X72 ) ) ).

% assertion.distinct(11)
thf(fact_65_assertion_Odistinct_I31_J,axiom,
    ! [X21: b,X22: assertion_a_b_d_c,X71: assertion_a_b_d_c,X72: assertion_a_b_d_c] :
      ( ( mult_b_a_d_c @ X21 @ X22 )
     != ( imp_a_b_d_c @ X71 @ X72 ) ) ).

% assertion.distinct(31)
thf(fact_66_assertion_Odistinct_I79_J,axiom,
    ! [X51: assertion_a_b_d_c,X52: assertion_a_b_d_c,X71: assertion_a_b_d_c,X72: assertion_a_b_d_c] :
      ( ( or_a_b_d_c @ X51 @ X52 )
     != ( imp_a_b_d_c @ X71 @ X72 ) ) ).

% assertion.distinct(79)
thf(fact_67_assertion_Odistinct_I91_J,axiom,
    ! [X61: assertion_a_b_d_c,X62: assertion_a_b_d_c,X71: assertion_a_b_d_c,X72: assertion_a_b_d_c] :
      ( ( and_a_b_d_c @ X61 @ X62 )
     != ( imp_a_b_d_c @ X71 @ X72 ) ) ).

% assertion.distinct(91)
thf(fact_68_assertion_Odistinct_I109_J,axiom,
    ! [X71: assertion_a_b_d_c,X72: assertion_a_b_d_c,X11: assertion_a_b_d_c] :
      ( ( imp_a_b_d_c @ X71 @ X72 )
     != ( bounded_a_b_d_c @ X11 ) ) ).

% assertion.distinct(109)
thf(fact_69_assertion_Odistinct_I111_J,axiom,
    ! [X71: assertion_a_b_d_c,X72: assertion_a_b_d_c,X12: assertion_a_b_d_c] :
      ( ( imp_a_b_d_c @ X71 @ X72 )
     != ( wildcard_a_b_d_c @ X12 ) ) ).

% assertion.distinct(111)
thf(fact_70_assertion_Odistinct_I107_J,axiom,
    ! [X71: assertion_a_b_d_c,X72: assertion_a_b_d_c] :
      ( ( imp_a_b_d_c @ X71 @ X72 )
     != pred_a_b_d_c ) ).

% assertion.distinct(107)
thf(fact_71_sinv__inverse,axiom,
    ! [P: b] :
      ( ( smult @ P @ ( sinv @ P ) )
      = one ) ).

% sinv_inverse
thf(fact_72_compatible__def,axiom,
    ! [A: a,B: a] :
      ( ( pre_compatible_a @ plus @ A @ B )
      = ( ( plus @ A @ B )
       != none_a ) ) ).

% compatible_def
thf(fact_73_sone__neutral,axiom,
    ! [P: b] :
      ( ( smult @ one @ P )
      = P ) ).

% sone_neutral
thf(fact_74_larger__def,axiom,
    ! [A: a,B: a] :
      ( ( pre_larger_a @ plus @ A @ B )
      = ( ? [C: a] :
            ( ( some_a @ A )
            = ( plus @ B @ C ) ) ) ) ).

% larger_def
thf(fact_75_plus__mult,axiom,
    ! [A: a,B: a,C2: a,P: b] :
      ( ( ( some_a @ A )
        = ( plus @ B @ C2 ) )
     => ( ( some_a @ ( mult @ P @ A ) )
        = ( plus @ ( mult @ P @ B ) @ ( mult @ P @ C2 ) ) ) ) ).

% plus_mult
thf(fact_76_asso2,axiom,
    ! [A: a,B: a,Ab: a,C2: a] :
      ( ( ( ( plus @ A @ B )
          = ( some_a @ Ab ) )
        & ~ ( pre_compatible_a @ plus @ B @ C2 ) )
     => ~ ( pre_compatible_a @ plus @ Ab @ C2 ) ) ).

% asso2
thf(fact_77_logic__axioms,axiom,
    logic_a_b @ plus @ mult @ smult @ sadd @ sinv @ one @ valid ).

% logic_axioms
thf(fact_78_double__mult,axiom,
    ! [P: b,Q2: b,A: a] :
      ( ( mult @ P @ ( mult @ Q2 @ A ) )
      = ( mult @ ( smult @ P @ Q2 ) @ A ) ) ).

% double_mult
thf(fact_79_sat_Osimps_I8_J,axiom,
    ! [Sigma: a,S: c > d,Delta: ( c > d ) > set_a,X3: c,A2: assertion_a_b_d_c] :
      ( ( sat_a_b_c_d @ plus @ mult @ valid @ Sigma @ S @ Delta @ ( exists_c_a_b_d @ X3 @ A2 ) )
      = ( ? [V: d] : ( sat_a_b_c_d @ plus @ mult @ valid @ Sigma @ ( fun_upd_c_d @ S @ X3 @ V ) @ Delta @ A2 ) ) ) ).

% sat.simps(8)
thf(fact_80_sat__forall,axiom,
    ! [Sigma: a,S: c > d,X3: c,Delta: ( c > d ) > set_a,A2: assertion_a_b_d_c] :
      ( ! [V2: d] : ( sat_a_b_c_d @ plus @ mult @ valid @ Sigma @ ( fun_upd_c_d @ S @ X3 @ V2 ) @ Delta @ A2 )
     => ( sat_a_b_c_d @ plus @ mult @ valid @ Sigma @ S @ Delta @ ( forall_c_a_b_d @ X3 @ A2 ) ) ) ).

% sat_forall
thf(fact_81_sat_Osimps_I9_J,axiom,
    ! [Sigma: a,S: c > d,Delta: ( c > d ) > set_a,X3: c,A2: assertion_a_b_d_c] :
      ( ( sat_a_b_c_d @ plus @ mult @ valid @ Sigma @ S @ Delta @ ( forall_c_a_b_d @ X3 @ A2 ) )
      = ( ! [V: d] : ( sat_a_b_c_d @ plus @ mult @ valid @ Sigma @ ( fun_upd_c_d @ S @ X3 @ V ) @ Delta @ A2 ) ) ) ).

% sat.simps(9)
thf(fact_82_smult__asso,axiom,
    ! [P: b,Q2: b,R: b] :
      ( ( smult @ ( smult @ P @ Q2 ) @ R )
      = ( smult @ P @ ( smult @ Q2 @ R ) ) ) ).

% smult_asso
thf(fact_83_smult__comm,axiom,
    ! [P: b,Q2: b] :
      ( ( smult @ P @ Q2 )
      = ( smult @ Q2 @ P ) ) ).

% smult_comm
thf(fact_84_sadd__comm,axiom,
    ! [P: b,Q2: b] :
      ( ( sadd @ P @ Q2 )
      = ( sadd @ Q2 @ P ) ) ).

% sadd_comm
thf(fact_85_asso1,axiom,
    ! [A: a,B: a,Ab: a,C2: a,Bc: a] :
      ( ( ( ( plus @ A @ B )
          = ( some_a @ Ab ) )
        & ( ( plus @ B @ C2 )
          = ( some_a @ Bc ) ) )
     => ( ( plus @ Ab @ C2 )
        = ( plus @ A @ Bc ) ) ) ).

% asso1
thf(fact_86_smult__distrib,axiom,
    ! [P: b,Q2: b,R: b] :
      ( ( smult @ P @ ( sadd @ Q2 @ R ) )
      = ( sadd @ ( smult @ P @ Q2 ) @ ( smult @ P @ R ) ) ) ).

% smult_distrib
thf(fact_87_assertion_Oinject_I9_J,axiom,
    ! [X91: c,X92: assertion_a_b_d_c,Y91: c,Y92: assertion_a_b_d_c] :
      ( ( ( forall_c_a_b_d @ X91 @ X92 )
        = ( forall_c_a_b_d @ Y91 @ Y92 ) )
      = ( ( X91 = Y91 )
        & ( X92 = Y92 ) ) ) ).

% assertion.inject(9)
thf(fact_88_assertion_Oinject_I8_J,axiom,
    ! [X81: c,X82: assertion_a_b_d_c,Y81: c,Y82: assertion_a_b_d_c] :
      ( ( ( exists_c_a_b_d @ X81 @ X82 )
        = ( exists_c_a_b_d @ Y81 @ Y82 ) )
      = ( ( X81 = Y81 )
        & ( X82 = Y82 ) ) ) ).

% assertion.inject(8)
thf(fact_89_distrib__mult,axiom,
    ! [P: b,Q2: b,X3: a] :
      ( ( some_a @ ( mult @ ( sadd @ P @ Q2 ) @ X3 ) )
      = ( plus @ ( mult @ P @ X3 ) @ ( mult @ Q2 @ X3 ) ) ) ).

% distrib_mult
thf(fact_90_logic_Osat_Osimps_I9_J,axiom,
    ! [Plus: a > a > option_a,Mult: b > a > a,Smult: b > b > b,Sadd: b > b > b,Sinv: b > b,One: b,Valid: a > $o,Sigma: a,S: c > d,Delta: ( c > d ) > set_a,X3: c,A2: assertion_a_b_d_c] :
      ( ( logic_a_b @ Plus @ Mult @ Smult @ Sadd @ Sinv @ One @ Valid )
     => ( ( sat_a_b_c_d @ Plus @ Mult @ Valid @ Sigma @ S @ Delta @ ( forall_c_a_b_d @ X3 @ A2 ) )
        = ( ! [V: d] : ( sat_a_b_c_d @ Plus @ Mult @ Valid @ Sigma @ ( fun_upd_c_d @ S @ X3 @ V ) @ Delta @ A2 ) ) ) ) ).

% logic.sat.simps(9)
thf(fact_91_logic_Osat_Osimps_I8_J,axiom,
    ! [Plus: a > a > option_a,Mult: b > a > a,Smult: b > b > b,Sadd: b > b > b,Sinv: b > b,One: b,Valid: a > $o,Sigma: a,S: c > d,Delta: ( c > d ) > set_a,X3: c,A2: assertion_a_b_d_c] :
      ( ( logic_a_b @ Plus @ Mult @ Smult @ Sadd @ Sinv @ One @ Valid )
     => ( ( sat_a_b_c_d @ Plus @ Mult @ Valid @ Sigma @ S @ Delta @ ( exists_c_a_b_d @ X3 @ A2 ) )
        = ( ? [V: d] : ( sat_a_b_c_d @ Plus @ Mult @ Valid @ Sigma @ ( fun_upd_c_d @ S @ X3 @ V ) @ Delta @ A2 ) ) ) ) ).

% logic.sat.simps(8)
thf(fact_92_logic_Osat__forall,axiom,
    ! [Plus: a > a > option_a,Mult: b > a > a,Smult: b > b > b,Sadd: b > b > b,Sinv: b > b,One: b,Valid: a > $o,Sigma: a,S: c > d,X3: c,Delta: ( c > d ) > set_a,A2: assertion_a_b_d_c] :
      ( ( logic_a_b @ Plus @ Mult @ Smult @ Sadd @ Sinv @ One @ Valid )
     => ( ! [V2: d] : ( sat_a_b_c_d @ Plus @ Mult @ Valid @ Sigma @ ( fun_upd_c_d @ S @ X3 @ V2 ) @ Delta @ A2 )
       => ( sat_a_b_c_d @ Plus @ Mult @ Valid @ Sigma @ S @ Delta @ ( forall_c_a_b_d @ X3 @ A2 ) ) ) ) ).

% logic.sat_forall
thf(fact_93_logic_Osmult__distrib,axiom,
    ! [Plus: a > a > option_a,Mult: b > a > a,Smult: b > b > b,Sadd: b > b > b,Sinv: b > b,One: b,Valid: a > $o,P: b,Q2: b,R: b] :
      ( ( logic_a_b @ Plus @ Mult @ Smult @ Sadd @ Sinv @ One @ Valid )
     => ( ( Smult @ P @ ( Sadd @ Q2 @ R ) )
        = ( Sadd @ ( Smult @ P @ Q2 ) @ ( Smult @ P @ R ) ) ) ) ).

% logic.smult_distrib
thf(fact_94_logic_Osone__neutral,axiom,
    ! [Plus: a > a > option_a,Mult: b > a > a,Smult: b > b > b,Sadd: b > b > b,Sinv: b > b,One: b,Valid: a > $o,P: b] :
      ( ( logic_a_b @ Plus @ Mult @ Smult @ Sadd @ Sinv @ One @ Valid )
     => ( ( Smult @ One @ P )
        = P ) ) ).

% logic.sone_neutral
thf(fact_95_logic_Osinv__inverse,axiom,
    ! [Plus: a > a > option_a,Mult: b > a > a,Smult: b > b > b,Sadd: b > b > b,Sinv: b > b,One: b,Valid: a > $o,P: b] :
      ( ( logic_a_b @ Plus @ Mult @ Smult @ Sadd @ Sinv @ One @ Valid )
     => ( ( Smult @ P @ ( Sinv @ P ) )
        = One ) ) ).

% logic.sinv_inverse
thf(fact_96_logic_Odistrib__mult,axiom,
    ! [Plus: a > a > option_a,Mult: b > a > a,Smult: b > b > b,Sadd: b > b > b,Sinv: b > b,One: b,Valid: a > $o,P: b,Q2: b,X3: a] :
      ( ( logic_a_b @ Plus @ Mult @ Smult @ Sadd @ Sinv @ One @ Valid )
     => ( ( some_a @ ( Mult @ ( Sadd @ P @ Q2 ) @ X3 ) )
        = ( Plus @ ( Mult @ P @ X3 ) @ ( Mult @ Q2 @ X3 ) ) ) ) ).

% logic.distrib_mult
thf(fact_97_logic_Oone__neutral,axiom,
    ! [Plus: a > a > option_a,Mult: b > a > a,Smult: b > b > b,Sadd: b > b > b,Sinv: b > b,One: b,Valid: a > $o,A: a] :
      ( ( logic_a_b @ Plus @ Mult @ Smult @ Sadd @ Sinv @ One @ Valid )
     => ( ( Mult @ One @ A )
        = A ) ) ).

% logic.one_neutral
thf(fact_98_logic_Odouble__mult,axiom,
    ! [Plus: a > a > option_a,Mult: b > a > a,Smult: b > b > b,Sadd: b > b > b,Sinv: b > b,One: b,Valid: a > $o,P: b,Q2: b,A: a] :
      ( ( logic_a_b @ Plus @ Mult @ Smult @ Sadd @ Sinv @ One @ Valid )
     => ( ( Mult @ P @ ( Mult @ Q2 @ A ) )
        = ( Mult @ ( Smult @ P @ Q2 ) @ A ) ) ) ).

% logic.double_mult
thf(fact_99_logic_Ocommutative,axiom,
    ! [Plus: a > a > option_a,Mult: b > a > a,Smult: b > b > b,Sadd: b > b > b,Sinv: b > b,One: b,Valid: a > $o,A: a,B: a] :
      ( ( logic_a_b @ Plus @ Mult @ Smult @ Sadd @ Sinv @ One @ Valid )
     => ( ( Plus @ A @ B )
        = ( Plus @ B @ A ) ) ) ).

% logic.commutative
thf(fact_100_logic_Ounique__inv,axiom,
    ! [Plus: a > a > option_a,Mult: b > a > a,Smult: b > b > b,Sadd: b > b > b,Sinv: b > b,One: b,Valid: a > $o,A: a,P: b,B: a] :
      ( ( logic_a_b @ Plus @ Mult @ Smult @ Sadd @ Sinv @ One @ Valid )
     => ( ( A
          = ( Mult @ P @ B ) )
        = ( B
          = ( Mult @ ( Sinv @ P ) @ A ) ) ) ) ).

% logic.unique_inv
thf(fact_101_logic_Osmult__comm,axiom,
    ! [Plus: a > a > option_a,Mult: b > a > a,Smult: b > b > b,Sadd: b > b > b,Sinv: b > b,One: b,Valid: a > $o,P: b,Q2: b] :
      ( ( logic_a_b @ Plus @ Mult @ Smult @ Sadd @ Sinv @ One @ Valid )
     => ( ( Smult @ P @ Q2 )
        = ( Smult @ Q2 @ P ) ) ) ).

% logic.smult_comm
thf(fact_102_logic_Osmult__asso,axiom,
    ! [Plus: a > a > option_a,Mult: b > a > a,Smult: b > b > b,Sadd: b > b > b,Sinv: b > b,One: b,Valid: a > $o,P: b,Q2: b,R: b] :
      ( ( logic_a_b @ Plus @ Mult @ Smult @ Sadd @ Sinv @ One @ Valid )
     => ( ( Smult @ ( Smult @ P @ Q2 ) @ R )
        = ( Smult @ P @ ( Smult @ Q2 @ R ) ) ) ) ).

% logic.smult_asso
thf(fact_103_logic_Ocan__divide,axiom,
    ! [Plus: a > a > option_a,Mult: b > a > a,Smult: b > b > b,Sadd: b > b > b,Sinv: b > b,One: b,Valid: a > $o,P: b,A: a,B: a] :
      ( ( logic_a_b @ Plus @ Mult @ Smult @ Sadd @ Sinv @ One @ Valid )
     => ( ( ( Mult @ P @ A )
          = ( Mult @ P @ B ) )
       => ( A = B ) ) ) ).

% logic.can_divide
thf(fact_104_logic_Osadd__comm,axiom,
    ! [Plus: a > a > option_a,Mult: b > a > a,Smult: b > b > b,Sadd: b > b > b,Sinv: b > b,One: b,Valid: a > $o,P: b,Q2: b] :
      ( ( logic_a_b @ Plus @ Mult @ Smult @ Sadd @ Sinv @ One @ Valid )
     => ( ( Sadd @ P @ Q2 )
        = ( Sadd @ Q2 @ P ) ) ) ).

% logic.sadd_comm
thf(fact_105_logic_Oplus__mult,axiom,
    ! [Plus: a > a > option_a,Mult: b > a > a,Smult: b > b > b,Sadd: b > b > b,Sinv: b > b,One: b,Valid: a > $o,A: a,B: a,C2: a,P: b] :
      ( ( logic_a_b @ Plus @ Mult @ Smult @ Sadd @ Sinv @ One @ Valid )
     => ( ( ( some_a @ A )
          = ( Plus @ B @ C2 ) )
       => ( ( some_a @ ( Mult @ P @ A ) )
          = ( Plus @ ( Mult @ P @ B ) @ ( Mult @ P @ C2 ) ) ) ) ) ).

% logic.plus_mult
thf(fact_106_logic_Oasso1,axiom,
    ! [Plus: a > a > option_a,Mult: b > a > a,Smult: b > b > b,Sadd: b > b > b,Sinv: b > b,One: b,Valid: a > $o,A: a,B: a,Ab: a,C2: a,Bc: a] :
      ( ( logic_a_b @ Plus @ Mult @ Smult @ Sadd @ Sinv @ One @ Valid )
     => ( ( ( ( Plus @ A @ B )
            = ( some_a @ Ab ) )
          & ( ( Plus @ B @ C2 )
            = ( some_a @ Bc ) ) )
       => ( ( Plus @ Ab @ C2 )
          = ( Plus @ A @ Bc ) ) ) ) ).

% logic.asso1
thf(fact_107_assertion_Odistinct_I113_J,axiom,
    ! [X81: c,X82: assertion_a_b_d_c,X91: c,X92: assertion_a_b_d_c] :
      ( ( exists_c_a_b_d @ X81 @ X82 )
     != ( forall_c_a_b_d @ X91 @ X92 ) ) ).

% assertion.distinct(113)
thf(fact_108_logic_Oasso2,axiom,
    ! [Plus: a > a > option_a,Mult: b > a > a,Smult: b > b > b,Sadd: b > b > b,Sinv: b > b,One: b,Valid: a > $o,A: a,B: a,Ab: a,C2: a] :
      ( ( logic_a_b @ Plus @ Mult @ Smult @ Sadd @ Sinv @ One @ Valid )
     => ( ( ( ( Plus @ A @ B )
            = ( some_a @ Ab ) )
          & ~ ( pre_compatible_a @ Plus @ B @ C2 ) )
       => ~ ( pre_compatible_a @ Plus @ Ab @ C2 ) ) ) ).

% logic.asso2
thf(fact_109_logic_Ointuitionistic_Ocong,axiom,
    intuit7508411120625971703_b_c_d = intuit7508411120625971703_b_c_d ).

% logic.intuitionistic.cong
thf(fact_110_logic__def,axiom,
    ( logic_a_b
    = ( ^ [Plus2: a > a > option_a,Mult2: b > a > a,Smult2: b > b > b,Sadd2: b > b > b,Sinv2: b > b,One2: b,Valid2: a > $o] :
          ( ! [A3: a,B3: a] :
              ( ( Plus2 @ A3 @ B3 )
              = ( Plus2 @ B3 @ A3 ) )
          & ! [A3: a,B3: a,Ab2: a,C: a,Bc2: a] :
              ( ( ( ( Plus2 @ A3 @ B3 )
                  = ( some_a @ Ab2 ) )
                & ( ( Plus2 @ B3 @ C )
                  = ( some_a @ Bc2 ) ) )
             => ( ( Plus2 @ Ab2 @ C )
                = ( Plus2 @ A3 @ Bc2 ) ) )
          & ! [A3: a,B3: a,Ab2: a,C: a] :
              ( ( ( ( Plus2 @ A3 @ B3 )
                  = ( some_a @ Ab2 ) )
                & ~ ( pre_compatible_a @ Plus2 @ B3 @ C ) )
             => ~ ( pre_compatible_a @ Plus2 @ Ab2 @ C ) )
          & ! [P2: b] :
              ( ( Smult2 @ P2 @ ( Sinv2 @ P2 ) )
              = One2 )
          & ! [P2: b] :
              ( ( Smult2 @ One2 @ P2 )
              = P2 )
          & ! [P2: b,Q3: b] :
              ( ( Sadd2 @ P2 @ Q3 )
              = ( Sadd2 @ Q3 @ P2 ) )
          & ! [P2: b,Q3: b] :
              ( ( Smult2 @ P2 @ Q3 )
              = ( Smult2 @ Q3 @ P2 ) )
          & ! [P2: b,Q3: b,R2: b] :
              ( ( Smult2 @ P2 @ ( Sadd2 @ Q3 @ R2 ) )
              = ( Sadd2 @ ( Smult2 @ P2 @ Q3 ) @ ( Smult2 @ P2 @ R2 ) ) )
          & ! [P2: b,Q3: b,R2: b] :
              ( ( Smult2 @ ( Smult2 @ P2 @ Q3 ) @ R2 )
              = ( Smult2 @ P2 @ ( Smult2 @ Q3 @ R2 ) ) )
          & ! [P2: b,Q3: b,A3: a] :
              ( ( Mult2 @ P2 @ ( Mult2 @ Q3 @ A3 ) )
              = ( Mult2 @ ( Smult2 @ P2 @ Q3 ) @ A3 ) )
          & ! [A3: a,B3: a,C: a,P2: b] :
              ( ( ( some_a @ A3 )
                = ( Plus2 @ B3 @ C ) )
             => ( ( some_a @ ( Mult2 @ P2 @ A3 ) )
                = ( Plus2 @ ( Mult2 @ P2 @ B3 ) @ ( Mult2 @ P2 @ C ) ) ) )
          & ! [P2: b,Q3: b,X: a] :
              ( ( some_a @ ( Mult2 @ ( Sadd2 @ P2 @ Q3 ) @ X ) )
              = ( Plus2 @ ( Mult2 @ P2 @ X ) @ ( Mult2 @ Q3 @ X ) ) )
          & ! [A3: a] :
              ( ( Mult2 @ One2 @ A3 )
              = A3 )
          & ! [A3: a,B3: a] :
              ( ( ( Valid2 @ A3 )
                & ( pre_larger_a @ Plus2 @ A3 @ B3 ) )
             => ( Valid2 @ B3 ) ) ) ) ) ).

% logic_def
thf(fact_111_assertion_Odistinct_I105_J,axiom,
    ! [X71: assertion_a_b_d_c,X72: assertion_a_b_d_c,X91: c,X92: assertion_a_b_d_c] :
      ( ( imp_a_b_d_c @ X71 @ X72 )
     != ( forall_c_a_b_d @ X91 @ X92 ) ) ).

% assertion.distinct(105)
thf(fact_112_assertion_Odistinct_I35_J,axiom,
    ! [X21: b,X22: assertion_a_b_d_c,X91: c,X92: assertion_a_b_d_c] :
      ( ( mult_b_a_d_c @ X21 @ X22 )
     != ( forall_c_a_b_d @ X91 @ X92 ) ) ).

% assertion.distinct(35)
thf(fact_113_assertion_Odistinct_I83_J,axiom,
    ! [X51: assertion_a_b_d_c,X52: assertion_a_b_d_c,X91: c,X92: assertion_a_b_d_c] :
      ( ( or_a_b_d_c @ X51 @ X52 )
     != ( forall_c_a_b_d @ X91 @ X92 ) ) ).

% assertion.distinct(83)
thf(fact_114_assertion_Odistinct_I95_J,axiom,
    ! [X61: assertion_a_b_d_c,X62: assertion_a_b_d_c,X91: c,X92: assertion_a_b_d_c] :
      ( ( and_a_b_d_c @ X61 @ X62 )
     != ( forall_c_a_b_d @ X91 @ X92 ) ) ).

% assertion.distinct(95)
thf(fact_115_assertion_Odistinct_I123_J,axiom,
    ! [X91: c,X92: assertion_a_b_d_c,X11: assertion_a_b_d_c] :
      ( ( forall_c_a_b_d @ X91 @ X92 )
     != ( bounded_a_b_d_c @ X11 ) ) ).

% assertion.distinct(123)
thf(fact_116_assertion_Odistinct_I125_J,axiom,
    ! [X91: c,X92: assertion_a_b_d_c,X12: assertion_a_b_d_c] :
      ( ( forall_c_a_b_d @ X91 @ X92 )
     != ( wildcard_a_b_d_c @ X12 ) ) ).

% assertion.distinct(125)
thf(fact_117_assertion_Odistinct_I15_J,axiom,
    ! [X1: ( c > d ) > a > $o,X91: c,X92: assertion_a_b_d_c] :
      ( ( sem_c_d_a_b @ X1 )
     != ( forall_c_a_b_d @ X91 @ X92 ) ) ).

% assertion.distinct(15)
thf(fact_118_assertion_Odistinct_I103_J,axiom,
    ! [X71: assertion_a_b_d_c,X72: assertion_a_b_d_c,X81: c,X82: assertion_a_b_d_c] :
      ( ( imp_a_b_d_c @ X71 @ X72 )
     != ( exists_c_a_b_d @ X81 @ X82 ) ) ).

% assertion.distinct(103)
thf(fact_119_assertion_Odistinct_I33_J,axiom,
    ! [X21: b,X22: assertion_a_b_d_c,X81: c,X82: assertion_a_b_d_c] :
      ( ( mult_b_a_d_c @ X21 @ X22 )
     != ( exists_c_a_b_d @ X81 @ X82 ) ) ).

% assertion.distinct(33)
thf(fact_120_assertion_Odistinct_I81_J,axiom,
    ! [X51: assertion_a_b_d_c,X52: assertion_a_b_d_c,X81: c,X82: assertion_a_b_d_c] :
      ( ( or_a_b_d_c @ X51 @ X52 )
     != ( exists_c_a_b_d @ X81 @ X82 ) ) ).

% assertion.distinct(81)
thf(fact_121_assertion_Odistinct_I93_J,axiom,
    ! [X61: assertion_a_b_d_c,X62: assertion_a_b_d_c,X81: c,X82: assertion_a_b_d_c] :
      ( ( and_a_b_d_c @ X61 @ X62 )
     != ( exists_c_a_b_d @ X81 @ X82 ) ) ).

% assertion.distinct(93)
thf(fact_122_assertion_Odistinct_I117_J,axiom,
    ! [X81: c,X82: assertion_a_b_d_c,X11: assertion_a_b_d_c] :
      ( ( exists_c_a_b_d @ X81 @ X82 )
     != ( bounded_a_b_d_c @ X11 ) ) ).

% assertion.distinct(117)
thf(fact_123_assertion_Odistinct_I119_J,axiom,
    ! [X81: c,X82: assertion_a_b_d_c,X12: assertion_a_b_d_c] :
      ( ( exists_c_a_b_d @ X81 @ X82 )
     != ( wildcard_a_b_d_c @ X12 ) ) ).

% assertion.distinct(119)
thf(fact_124_assertion_Odistinct_I13_J,axiom,
    ! [X1: ( c > d ) > a > $o,X81: c,X82: assertion_a_b_d_c] :
      ( ( sem_c_d_a_b @ X1 )
     != ( exists_c_a_b_d @ X81 @ X82 ) ) ).

% assertion.distinct(13)
thf(fact_125_assertion_Odistinct_I121_J,axiom,
    ! [X91: c,X92: assertion_a_b_d_c] :
      ( ( forall_c_a_b_d @ X91 @ X92 )
     != pred_a_b_d_c ) ).

% assertion.distinct(121)
thf(fact_126_assertion_Odistinct_I115_J,axiom,
    ! [X81: c,X82: assertion_a_b_d_c] :
      ( ( exists_c_a_b_d @ X81 @ X82 )
     != pred_a_b_d_c ) ).

% assertion.distinct(115)
thf(fact_127_pre__logic_Ocompatible__def,axiom,
    ( pre_compatible_a
    = ( ^ [Plus2: a > a > option_a,A3: a,B3: a] :
          ( ( Plus2 @ A3 @ B3 )
         != none_a ) ) ) ).

% pre_logic.compatible_def
thf(fact_128_pre__logic_Olarger__def,axiom,
    ( pre_larger_a
    = ( ^ [Plus2: a > a > option_a,A3: a,B3: a] :
        ? [C: a] :
          ( ( some_a @ A3 )
          = ( Plus2 @ B3 @ C ) ) ) ) ).

% pre_logic.larger_def
thf(fact_129_logic_Ocompatible__imp,axiom,
    ! [Plus: a > a > option_a,Mult: b > a > a,Smult: b > b > b,Sadd: b > b > b,Sinv: b > b,One: b,Valid: a > $o,A: a,B: a,P: b] :
      ( ( logic_a_b @ Plus @ Mult @ Smult @ Sadd @ Sinv @ One @ Valid )
     => ( ( pre_compatible_a @ Plus @ A @ B )
       => ( pre_compatible_a @ Plus @ ( Mult @ P @ A ) @ ( Mult @ P @ B ) ) ) ) ).

% logic.compatible_imp
thf(fact_130_logic_Ocompatible__iff,axiom,
    ! [Plus: a > a > option_a,Mult: b > a > a,Smult: b > b > b,Sadd: b > b > b,Sinv: b > b,One: b,Valid: a > $o,A: a,B: a,P: b] :
      ( ( logic_a_b @ Plus @ Mult @ Smult @ Sadd @ Sinv @ One @ Valid )
     => ( ( pre_compatible_a @ Plus @ A @ B )
        = ( pre_compatible_a @ Plus @ ( Mult @ P @ A ) @ ( Mult @ P @ B ) ) ) ) ).

% logic.compatible_iff
thf(fact_131_logic_Ovalid__mono,axiom,
    ! [Plus: a > a > option_a,Mult: b > a > a,Smult: b > b > b,Sadd: b > b > b,Sinv: b > b,One: b,Valid: a > $o,A: a,B: a] :
      ( ( logic_a_b @ Plus @ Mult @ Smult @ Sadd @ Sinv @ One @ Valid )
     => ( ( ( Valid @ A )
          & ( pre_larger_a @ Plus @ A @ B ) )
       => ( Valid @ B ) ) ) ).

% logic.valid_mono
thf(fact_132_logic_OintuitionisticI,axiom,
    ! [Plus: a > a > option_a,Mult: b > a > a,Smult: b > b > b,Sadd: b > b > b,Sinv: b > b,One: b,Valid: a > $o,S: c > d,Delta: ( c > d ) > set_a,A2: assertion_a_b_d_c] :
      ( ( logic_a_b @ Plus @ Mult @ Smult @ Sadd @ Sinv @ One @ Valid )
     => ( ! [A4: a,B4: a] :
            ( ( ( pre_larger_a @ Plus @ A4 @ B4 )
              & ( sat_a_b_c_d @ Plus @ Mult @ Valid @ B4 @ S @ Delta @ A2 ) )
           => ( sat_a_b_c_d @ Plus @ Mult @ Valid @ A4 @ S @ Delta @ A2 ) )
       => ( intuit7508411120625971703_b_c_d @ Plus @ Mult @ Valid @ S @ Delta @ A2 ) ) ) ).

% logic.intuitionisticI
thf(fact_133_logic_Ointuitionistic__def,axiom,
    ! [Plus: a > a > option_a,Mult: b > a > a,Smult: b > b > b,Sadd: b > b > b,Sinv: b > b,One: b,Valid: a > $o,S: c > d,Delta: ( c > d ) > set_a,A2: assertion_a_b_d_c] :
      ( ( logic_a_b @ Plus @ Mult @ Smult @ Sadd @ Sinv @ One @ Valid )
     => ( ( intuit7508411120625971703_b_c_d @ Plus @ Mult @ Valid @ S @ Delta @ A2 )
        = ( ! [A3: a,B3: a] :
              ( ( ( pre_larger_a @ Plus @ A3 @ B3 )
                & ( sat_a_b_c_d @ Plus @ Mult @ Valid @ B3 @ S @ Delta @ A2 ) )
             => ( sat_a_b_c_d @ Plus @ Mult @ Valid @ A3 @ S @ Delta @ A2 ) ) ) ) ) ).

% logic.intuitionistic_def
thf(fact_134_logic_Osat_Osimps_I5_J,axiom,
    ! [Plus: a > a > option_a,Mult: b > a > a,Smult: b > b > b,Sadd: b > b > b,Sinv: b > b,One: b,Valid: a > $o,Sigma: a,S: c > d,Delta: ( c > d ) > set_a,A2: assertion_a_b_d_c,B2: assertion_a_b_d_c] :
      ( ( logic_a_b @ Plus @ Mult @ Smult @ Sadd @ Sinv @ One @ Valid )
     => ( ( sat_a_b_c_d @ Plus @ Mult @ Valid @ Sigma @ S @ Delta @ ( imp_a_b_d_c @ A2 @ B2 ) )
        = ( ( sat_a_b_c_d @ Plus @ Mult @ Valid @ Sigma @ S @ Delta @ A2 )
         => ( sat_a_b_c_d @ Plus @ Mult @ Valid @ Sigma @ S @ Delta @ B2 ) ) ) ) ).

% logic.sat.simps(5)
thf(fact_135_logic_Osat_Osimps_I7_J,axiom,
    ! [Plus: a > a > option_a,Mult: b > a > a,Smult: b > b > b,Sadd: b > b > b,Sinv: b > b,One: b,Valid: a > $o,Sigma: a,S: c > d,Delta: ( c > d ) > set_a,A2: assertion_a_b_d_c,B2: assertion_a_b_d_c] :
      ( ( logic_a_b @ Plus @ Mult @ Smult @ Sadd @ Sinv @ One @ Valid )
     => ( ( sat_a_b_c_d @ Plus @ Mult @ Valid @ Sigma @ S @ Delta @ ( and_a_b_d_c @ A2 @ B2 ) )
        = ( ( sat_a_b_c_d @ Plus @ Mult @ Valid @ Sigma @ S @ Delta @ A2 )
          & ( sat_a_b_c_d @ Plus @ Mult @ Valid @ Sigma @ S @ Delta @ B2 ) ) ) ) ).

% logic.sat.simps(7)
thf(fact_136_logic_Osat_Osimps_I6_J,axiom,
    ! [Plus: a > a > option_a,Mult: b > a > a,Smult: b > b > b,Sadd: b > b > b,Sinv: b > b,One: b,Valid: a > $o,Sigma: a,S: c > d,Delta: ( c > d ) > set_a,A2: assertion_a_b_d_c,B2: assertion_a_b_d_c] :
      ( ( logic_a_b @ Plus @ Mult @ Smult @ Sadd @ Sinv @ One @ Valid )
     => ( ( sat_a_b_c_d @ Plus @ Mult @ Valid @ Sigma @ S @ Delta @ ( or_a_b_d_c @ A2 @ B2 ) )
        = ( ( sat_a_b_c_d @ Plus @ Mult @ Valid @ Sigma @ S @ Delta @ A2 )
          | ( sat_a_b_c_d @ Plus @ Mult @ Valid @ Sigma @ S @ Delta @ B2 ) ) ) ) ).

% logic.sat.simps(6)
thf(fact_137_logic_Osat_Osimps_I1_J,axiom,
    ! [Plus: a > a > option_a,Mult: b > a > a,Smult: b > b > b,Sadd: b > b > b,Sinv: b > b,One: b,Valid: a > $o,Sigma: a,S: c > d,Delta: ( c > d ) > set_a,P: b,A2: assertion_a_b_d_c] :
      ( ( logic_a_b @ Plus @ Mult @ Smult @ Sadd @ Sinv @ One @ Valid )
     => ( ( sat_a_b_c_d @ Plus @ Mult @ Valid @ Sigma @ S @ Delta @ ( mult_b_a_d_c @ P @ A2 ) )
        = ( ? [A3: a] :
              ( ( Sigma
                = ( Mult @ P @ A3 ) )
              & ( sat_a_b_c_d @ Plus @ Mult @ Valid @ A3 @ S @ Delta @ A2 ) ) ) ) ) ).

% logic.sat.simps(1)
thf(fact_138_logic_Osat_Osimps_I12_J,axiom,
    ! [Plus: a > a > option_a,Mult: b > a > a,Smult: b > b > b,Sadd: b > b > b,Sinv: b > b,One: b,Valid: a > $o,Sigma: a,S: c > d,Delta: ( c > d ) > set_a,A2: assertion_a_b_d_c] :
      ( ( logic_a_b @ Plus @ Mult @ Smult @ Sadd @ Sinv @ One @ Valid )
     => ( ( sat_a_b_c_d @ Plus @ Mult @ Valid @ Sigma @ S @ Delta @ ( wildcard_a_b_d_c @ A2 ) )
        = ( ? [A3: a,P2: b] :
              ( ( Sigma
                = ( Mult @ P2 @ A3 ) )
              & ( sat_a_b_c_d @ Plus @ Mult @ Valid @ A3 @ S @ Delta @ A2 ) ) ) ) ) ).

% logic.sat.simps(12)
thf(fact_139_logic_Osat_Osimps_I11_J,axiom,
    ! [Plus: a > a > option_a,Mult: b > a > a,Smult: b > b > b,Sadd: b > b > b,Sinv: b > b,One: b,Valid: a > $o,Sigma: a,S: c > d,Delta: ( c > d ) > set_a,A2: assertion_a_b_d_c] :
      ( ( logic_a_b @ Plus @ Mult @ Smult @ Sadd @ Sinv @ One @ Valid )
     => ( ( sat_a_b_c_d @ Plus @ Mult @ Valid @ Sigma @ S @ Delta @ ( bounded_a_b_d_c @ A2 ) )
        = ( ( Valid @ Sigma )
         => ( sat_a_b_c_d @ Plus @ Mult @ Valid @ Sigma @ S @ Delta @ A2 ) ) ) ) ).

% logic.sat.simps(11)
thf(fact_140_logic_Osat_Osimps_I4_J,axiom,
    ! [Plus: a > a > option_a,Mult: b > a > a,Smult: b > b > b,Sadd: b > b > b,Sinv: b > b,One: b,Valid: a > $o,Sigma: a,S: c > d,Delta: ( c > d ) > set_a,B: ( c > d ) > a > $o] :
      ( ( logic_a_b @ Plus @ Mult @ Smult @ Sadd @ Sinv @ One @ Valid )
     => ( ( sat_a_b_c_d @ Plus @ Mult @ Valid @ Sigma @ S @ Delta @ ( sem_c_d_a_b @ B ) )
        = ( B @ S @ Sigma ) ) ) ).

% logic.sat.simps(4)
thf(fact_141_logic_Osat_Osimps_I10_J,axiom,
    ! [Plus: a > a > option_a,Mult: b > a > a,Smult: b > b > b,Sadd: b > b > b,Sinv: b > b,One: b,Valid: a > $o,Sigma: a,S: c > d,Delta: ( c > d ) > set_a] :
      ( ( logic_a_b @ Plus @ Mult @ Smult @ Sadd @ Sinv @ One @ Valid )
     => ( ( sat_a_b_c_d @ Plus @ Mult @ Valid @ Sigma @ S @ Delta @ pred_a_b_d_c )
        = ( member_a @ Sigma @ ( Delta @ S ) ) ) ) ).

% logic.sat.simps(10)
thf(fact_142_logic_OentailsI,axiom,
    ! [Plus: a > a > option_a,Mult: b > a > a,Smult: b > b > b,Sadd: b > b > b,Sinv: b > b,One: b,Valid: a > $o,Delta: ( c > d ) > set_a,A2: assertion_a_b_d_c,B2: assertion_a_b_d_c] :
      ( ( logic_a_b @ Plus @ Mult @ Smult @ Sadd @ Sinv @ One @ Valid )
     => ( ! [Sigma4: a,S3: c > d] :
            ( ( sat_a_b_c_d @ Plus @ Mult @ Valid @ Sigma4 @ S3 @ Delta @ A2 )
           => ( sat_a_b_c_d @ Plus @ Mult @ Valid @ Sigma4 @ S3 @ Delta @ B2 ) )
       => ( entails_a_b_d_c @ Plus @ Mult @ Valid @ A2 @ Delta @ B2 ) ) ) ).

% logic.entailsI
thf(fact_143_logic_Oentails__def,axiom,
    ! [Plus: a > a > option_a,Mult: b > a > a,Smult: b > b > b,Sadd: b > b > b,Sinv: b > b,One: b,Valid: a > $o,A2: assertion_a_b_d_c,Delta: ( c > d ) > set_a,B2: assertion_a_b_d_c] :
      ( ( logic_a_b @ Plus @ Mult @ Smult @ Sadd @ Sinv @ One @ Valid )
     => ( ( entails_a_b_d_c @ Plus @ Mult @ Valid @ A2 @ Delta @ B2 )
        = ( ! [Sigma2: a,S2: c > d] :
              ( ( sat_a_b_c_d @ Plus @ Mult @ Valid @ Sigma2 @ S2 @ Delta @ A2 )
             => ( sat_a_b_c_d @ Plus @ Mult @ Valid @ Sigma2 @ S2 @ Delta @ B2 ) ) ) ) ) ).

% logic.entails_def
thf(fact_144_logic_OequivalentI,axiom,
    ! [Plus: a > a > option_a,Mult: b > a > a,Smult: b > b > b,Sadd: b > b > b,Sinv: b > b,One: b,Valid: a > $o,Delta: ( c > d ) > set_a,A2: assertion_a_b_d_c,B2: assertion_a_b_d_c] :
      ( ( logic_a_b @ Plus @ Mult @ Smult @ Sadd @ Sinv @ One @ Valid )
     => ( ! [Sigma4: a,S3: c > d] :
            ( ( sat_a_b_c_d @ Plus @ Mult @ Valid @ Sigma4 @ S3 @ Delta @ A2 )
           => ( sat_a_b_c_d @ Plus @ Mult @ Valid @ Sigma4 @ S3 @ Delta @ B2 ) )
       => ( ! [Sigma4: a,S3: c > d] :
              ( ( sat_a_b_c_d @ Plus @ Mult @ Valid @ Sigma4 @ S3 @ Delta @ B2 )
             => ( sat_a_b_c_d @ Plus @ Mult @ Valid @ Sigma4 @ S3 @ Delta @ A2 ) )
         => ( equivalent_a_b_d_c @ Plus @ Mult @ Valid @ A2 @ Delta @ B2 ) ) ) ) ).

% logic.equivalentI
thf(fact_145_logic_Opure__def,axiom,
    ! [Plus: a > a > option_a,Mult: b > a > a,Smult: b > b > b,Sadd: b > b > b,Sinv: b > b,One: b,Valid: a > $o,A2: assertion_a_b_d_c] :
      ( ( logic_a_b @ Plus @ Mult @ Smult @ Sadd @ Sinv @ One @ Valid )
     => ( ( pure_a_b_d_c @ Plus @ Mult @ Valid @ A2 )
        = ( ! [Sigma2: a,Sigma3: a,S2: c > d,Delta2: ( c > d ) > set_a,Delta3: ( c > d ) > set_a] :
              ( ( sat_a_b_c_d @ Plus @ Mult @ Valid @ Sigma2 @ S2 @ Delta2 @ A2 )
              = ( sat_a_b_c_d @ Plus @ Mult @ Valid @ Sigma3 @ S2 @ Delta3 @ A2 ) ) ) ) ) ).

% logic.pure_def
thf(fact_146_logic_Oequivalent__def,axiom,
    ! [Plus: a > a > option_a,Mult: b > a > a,Smult: b > b > b,Sadd: b > b > b,Sinv: b > b,One: b,Valid: a > $o,A2: assertion_a_b_d_c,Delta: ( c > d ) > set_a,B2: assertion_a_b_d_c] :
      ( ( logic_a_b @ Plus @ Mult @ Smult @ Sadd @ Sinv @ One @ Valid )
     => ( ( equivalent_a_b_d_c @ Plus @ Mult @ Valid @ A2 @ Delta @ B2 )
        = ( ( entails_a_b_d_c @ Plus @ Mult @ Valid @ A2 @ Delta @ B2 )
          & ( entails_a_b_d_c @ Plus @ Mult @ Valid @ B2 @ Delta @ A2 ) ) ) ) ).

% logic.equivalent_def
thf(fact_147_sat_Osimps_I2_J,axiom,
    ! [Sigma: a,S: c > d,Delta: ( c > d ) > set_a,A2: assertion_a_b_d_c,B2: assertion_a_b_d_c] :
      ( ( sat_a_b_c_d @ plus @ mult @ valid @ Sigma @ S @ Delta @ ( star_a_b_d_c @ A2 @ B2 ) )
      = ( ? [A3: a,B3: a] :
            ( ( ( some_a @ Sigma )
              = ( plus @ A3 @ B3 ) )
            & ( sat_a_b_c_d @ plus @ mult @ valid @ A3 @ S @ Delta @ A2 )
            & ( sat_a_b_c_d @ plus @ mult @ valid @ B3 @ S @ Delta @ B2 ) ) ) ) ).

% sat.simps(2)
thf(fact_148_sat_Osimps_I3_J,axiom,
    ! [Sigma: a,S: c > d,Delta: ( c > d ) > set_a,A2: assertion_a_b_d_c,B2: assertion_a_b_d_c] :
      ( ( sat_a_b_c_d @ plus @ mult @ valid @ Sigma @ S @ Delta @ ( wand_a_b_d_c @ A2 @ B2 ) )
      = ( ! [A3: a,Sigma3: a] :
            ( ( ( sat_a_b_c_d @ plus @ mult @ valid @ A3 @ S @ Delta @ A2 )
              & ( ( some_a @ Sigma3 )
                = ( plus @ Sigma @ A3 ) ) )
           => ( sat_a_b_c_d @ plus @ mult @ valid @ Sigma3 @ S @ Delta @ B2 ) ) ) ) ).

% sat.simps(3)
thf(fact_149_sat__wand,axiom,
    ! [S: c > d,Delta: ( c > d ) > set_a,A2: assertion_a_b_d_c,Sigma: a,B2: assertion_a_b_d_c] :
      ( ! [A4: a,Sigma5: a] :
          ( ( ( sat_a_b_c_d @ plus @ mult @ valid @ A4 @ S @ Delta @ A2 )
            & ( ( some_a @ Sigma5 )
              = ( plus @ Sigma @ A4 ) ) )
         => ( sat_a_b_c_d @ plus @ mult @ valid @ Sigma5 @ S @ Delta @ B2 ) )
     => ( sat_a_b_c_d @ plus @ mult @ valid @ Sigma @ S @ Delta @ ( wand_a_b_d_c @ A2 @ B2 ) ) ) ).

% sat_wand
thf(fact_150_not__Some__eq,axiom,
    ! [X3: option_a] :
      ( ( ! [Y: a] :
            ( X3
           != ( some_a @ Y ) ) )
      = ( X3 = none_a ) ) ).

% not_Some_eq
thf(fact_151_not__None__eq,axiom,
    ! [X3: option_a] :
      ( ( X3 != none_a )
      = ( ? [Y: a] :
            ( X3
            = ( some_a @ Y ) ) ) ) ).

% not_None_eq
thf(fact_152_fun__upd__apply,axiom,
    ( fun_upd_c_d
    = ( ^ [F: c > d,X: c,Y: d,Z: c] : ( if_d @ ( Z = X ) @ Y @ ( F @ Z ) ) ) ) ).

% fun_upd_apply
thf(fact_153_fun__upd__triv,axiom,
    ! [F2: c > d,X3: c] :
      ( ( fun_upd_c_d @ F2 @ X3 @ ( F2 @ X3 ) )
      = F2 ) ).

% fun_upd_triv
thf(fact_154_fun__upd__upd,axiom,
    ! [F2: c > d,X3: c,Y2: d,Z2: d] :
      ( ( fun_upd_c_d @ ( fun_upd_c_d @ F2 @ X3 @ Y2 ) @ X3 @ Z2 )
      = ( fun_upd_c_d @ F2 @ X3 @ Z2 ) ) ).

% fun_upd_upd
thf(fact_155_option_Oinject,axiom,
    ! [X23: a,Y23: a] :
      ( ( ( some_a @ X23 )
        = ( some_a @ Y23 ) )
      = ( X23 = Y23 ) ) ).

% option.inject
thf(fact_156_combine__options__cases,axiom,
    ! [X3: option_a,P3: option_a > option_a > $o,Y2: option_a] :
      ( ( ( X3 = none_a )
       => ( P3 @ X3 @ Y2 ) )
     => ( ( ( Y2 = none_a )
         => ( P3 @ X3 @ Y2 ) )
       => ( ! [A4: a,B4: a] :
              ( ( X3
                = ( some_a @ A4 ) )
             => ( ( Y2
                  = ( some_a @ B4 ) )
               => ( P3 @ X3 @ Y2 ) ) )
         => ( P3 @ X3 @ Y2 ) ) ) ) ).

% combine_options_cases
thf(fact_157_assertion_Oinject_I4_J,axiom,
    ! [X41: assertion_a_b_d_c,X42: assertion_a_b_d_c,Y41: assertion_a_b_d_c,Y42: assertion_a_b_d_c] :
      ( ( ( wand_a_b_d_c @ X41 @ X42 )
        = ( wand_a_b_d_c @ Y41 @ Y42 ) )
      = ( ( X41 = Y41 )
        & ( X42 = Y42 ) ) ) ).

% assertion.inject(4)
thf(fact_158_assertion_Oinject_I3_J,axiom,
    ! [X31: assertion_a_b_d_c,X32: assertion_a_b_d_c,Y31: assertion_a_b_d_c,Y32: assertion_a_b_d_c] :
      ( ( ( star_a_b_d_c @ X31 @ X32 )
        = ( star_a_b_d_c @ Y31 @ Y32 ) )
      = ( ( X31 = Y31 )
        & ( X32 = Y32 ) ) ) ).

% assertion.inject(3)
thf(fact_159_assertion_Odistinct_I43_J,axiom,
    ! [X31: assertion_a_b_d_c,X32: assertion_a_b_d_c,X41: assertion_a_b_d_c,X42: assertion_a_b_d_c] :
      ( ( star_a_b_d_c @ X31 @ X32 )
     != ( wand_a_b_d_c @ X41 @ X42 ) ) ).

% assertion.distinct(43)
thf(fact_160_assertion_Odistinct_I69_J,axiom,
    ! [X41: assertion_a_b_d_c,X42: assertion_a_b_d_c,X91: c,X92: assertion_a_b_d_c] :
      ( ( wand_a_b_d_c @ X41 @ X42 )
     != ( forall_c_a_b_d @ X91 @ X92 ) ) ).

% assertion.distinct(69)
thf(fact_161_assertion_Odistinct_I63_J,axiom,
    ! [X41: assertion_a_b_d_c,X42: assertion_a_b_d_c,X61: assertion_a_b_d_c,X62: assertion_a_b_d_c] :
      ( ( wand_a_b_d_c @ X41 @ X42 )
     != ( and_a_b_d_c @ X61 @ X62 ) ) ).

% assertion.distinct(63)
thf(fact_162_assertion_Odistinct_I61_J,axiom,
    ! [X41: assertion_a_b_d_c,X42: assertion_a_b_d_c,X51: assertion_a_b_d_c,X52: assertion_a_b_d_c] :
      ( ( wand_a_b_d_c @ X41 @ X42 )
     != ( or_a_b_d_c @ X51 @ X52 ) ) ).

% assertion.distinct(61)
thf(fact_163_assertion_Odistinct_I25_J,axiom,
    ! [X21: b,X22: assertion_a_b_d_c,X41: assertion_a_b_d_c,X42: assertion_a_b_d_c] :
      ( ( mult_b_a_d_c @ X21 @ X22 )
     != ( wand_a_b_d_c @ X41 @ X42 ) ) ).

% assertion.distinct(25)
thf(fact_164_assertion_Odistinct_I65_J,axiom,
    ! [X41: assertion_a_b_d_c,X42: assertion_a_b_d_c,X71: assertion_a_b_d_c,X72: assertion_a_b_d_c] :
      ( ( wand_a_b_d_c @ X41 @ X42 )
     != ( imp_a_b_d_c @ X71 @ X72 ) ) ).

% assertion.distinct(65)
thf(fact_165_assertion_Odistinct_I75_J,axiom,
    ! [X41: assertion_a_b_d_c,X42: assertion_a_b_d_c,X12: assertion_a_b_d_c] :
      ( ( wand_a_b_d_c @ X41 @ X42 )
     != ( wildcard_a_b_d_c @ X12 ) ) ).

% assertion.distinct(75)
thf(fact_166_assertion_Odistinct_I73_J,axiom,
    ! [X41: assertion_a_b_d_c,X42: assertion_a_b_d_c,X11: assertion_a_b_d_c] :
      ( ( wand_a_b_d_c @ X41 @ X42 )
     != ( bounded_a_b_d_c @ X11 ) ) ).

% assertion.distinct(73)
thf(fact_167_assertion_Odistinct_I67_J,axiom,
    ! [X41: assertion_a_b_d_c,X42: assertion_a_b_d_c,X81: c,X82: assertion_a_b_d_c] :
      ( ( wand_a_b_d_c @ X41 @ X42 )
     != ( exists_c_a_b_d @ X81 @ X82 ) ) ).

% assertion.distinct(67)
thf(fact_168_assertion_Odistinct_I5_J,axiom,
    ! [X1: ( c > d ) > a > $o,X41: assertion_a_b_d_c,X42: assertion_a_b_d_c] :
      ( ( sem_c_d_a_b @ X1 )
     != ( wand_a_b_d_c @ X41 @ X42 ) ) ).

% assertion.distinct(5)
thf(fact_169_assertion_Odistinct_I53_J,axiom,
    ! [X31: assertion_a_b_d_c,X32: assertion_a_b_d_c,X91: c,X92: assertion_a_b_d_c] :
      ( ( star_a_b_d_c @ X31 @ X32 )
     != ( forall_c_a_b_d @ X91 @ X92 ) ) ).

% assertion.distinct(53)
thf(fact_170_assertion_Odistinct_I47_J,axiom,
    ! [X31: assertion_a_b_d_c,X32: assertion_a_b_d_c,X61: assertion_a_b_d_c,X62: assertion_a_b_d_c] :
      ( ( star_a_b_d_c @ X31 @ X32 )
     != ( and_a_b_d_c @ X61 @ X62 ) ) ).

% assertion.distinct(47)
thf(fact_171_assertion_Odistinct_I45_J,axiom,
    ! [X31: assertion_a_b_d_c,X32: assertion_a_b_d_c,X51: assertion_a_b_d_c,X52: assertion_a_b_d_c] :
      ( ( star_a_b_d_c @ X31 @ X32 )
     != ( or_a_b_d_c @ X51 @ X52 ) ) ).

% assertion.distinct(45)
thf(fact_172_assertion_Odistinct_I23_J,axiom,
    ! [X21: b,X22: assertion_a_b_d_c,X31: assertion_a_b_d_c,X32: assertion_a_b_d_c] :
      ( ( mult_b_a_d_c @ X21 @ X22 )
     != ( star_a_b_d_c @ X31 @ X32 ) ) ).

% assertion.distinct(23)
thf(fact_173_assertion_Odistinct_I49_J,axiom,
    ! [X31: assertion_a_b_d_c,X32: assertion_a_b_d_c,X71: assertion_a_b_d_c,X72: assertion_a_b_d_c] :
      ( ( star_a_b_d_c @ X31 @ X32 )
     != ( imp_a_b_d_c @ X71 @ X72 ) ) ).

% assertion.distinct(49)
thf(fact_174_assertion_Odistinct_I59_J,axiom,
    ! [X31: assertion_a_b_d_c,X32: assertion_a_b_d_c,X12: assertion_a_b_d_c] :
      ( ( star_a_b_d_c @ X31 @ X32 )
     != ( wildcard_a_b_d_c @ X12 ) ) ).

% assertion.distinct(59)
thf(fact_175_assertion_Odistinct_I57_J,axiom,
    ! [X31: assertion_a_b_d_c,X32: assertion_a_b_d_c,X11: assertion_a_b_d_c] :
      ( ( star_a_b_d_c @ X31 @ X32 )
     != ( bounded_a_b_d_c @ X11 ) ) ).

% assertion.distinct(57)
thf(fact_176_assertion_Odistinct_I51_J,axiom,
    ! [X31: assertion_a_b_d_c,X32: assertion_a_b_d_c,X81: c,X82: assertion_a_b_d_c] :
      ( ( star_a_b_d_c @ X31 @ X32 )
     != ( exists_c_a_b_d @ X81 @ X82 ) ) ).

% assertion.distinct(51)
thf(fact_177_assertion_Odistinct_I3_J,axiom,
    ! [X1: ( c > d ) > a > $o,X31: assertion_a_b_d_c,X32: assertion_a_b_d_c] :
      ( ( sem_c_d_a_b @ X1 )
     != ( star_a_b_d_c @ X31 @ X32 ) ) ).

% assertion.distinct(3)
thf(fact_178_assertion_Odistinct_I71_J,axiom,
    ! [X41: assertion_a_b_d_c,X42: assertion_a_b_d_c] :
      ( ( wand_a_b_d_c @ X41 @ X42 )
     != pred_a_b_d_c ) ).

% assertion.distinct(71)
thf(fact_179_assertion_Odistinct_I55_J,axiom,
    ! [X31: assertion_a_b_d_c,X32: assertion_a_b_d_c] :
      ( ( star_a_b_d_c @ X31 @ X32 )
     != pred_a_b_d_c ) ).

% assertion.distinct(55)
thf(fact_180_logic_Osat__wand,axiom,
    ! [Plus: a > a > option_a,Mult: b > a > a,Smult: b > b > b,Sadd: b > b > b,Sinv: b > b,One: b,Valid: a > $o,S: c > d,Delta: ( c > d ) > set_a,A2: assertion_a_b_d_c,Sigma: a,B2: assertion_a_b_d_c] :
      ( ( logic_a_b @ Plus @ Mult @ Smult @ Sadd @ Sinv @ One @ Valid )
     => ( ! [A4: a,Sigma5: a] :
            ( ( ( sat_a_b_c_d @ Plus @ Mult @ Valid @ A4 @ S @ Delta @ A2 )
              & ( ( some_a @ Sigma5 )
                = ( Plus @ Sigma @ A4 ) ) )
           => ( sat_a_b_c_d @ Plus @ Mult @ Valid @ Sigma5 @ S @ Delta @ B2 ) )
       => ( sat_a_b_c_d @ Plus @ Mult @ Valid @ Sigma @ S @ Delta @ ( wand_a_b_d_c @ A2 @ B2 ) ) ) ) ).

% logic.sat_wand
thf(fact_181_logic_Osat_Osimps_I3_J,axiom,
    ! [Plus: a > a > option_a,Mult: b > a > a,Smult: b > b > b,Sadd: b > b > b,Sinv: b > b,One: b,Valid: a > $o,Sigma: a,S: c > d,Delta: ( c > d ) > set_a,A2: assertion_a_b_d_c,B2: assertion_a_b_d_c] :
      ( ( logic_a_b @ Plus @ Mult @ Smult @ Sadd @ Sinv @ One @ Valid )
     => ( ( sat_a_b_c_d @ Plus @ Mult @ Valid @ Sigma @ S @ Delta @ ( wand_a_b_d_c @ A2 @ B2 ) )
        = ( ! [A3: a,Sigma3: a] :
              ( ( ( sat_a_b_c_d @ Plus @ Mult @ Valid @ A3 @ S @ Delta @ A2 )
                & ( ( some_a @ Sigma3 )
                  = ( Plus @ Sigma @ A3 ) ) )
             => ( sat_a_b_c_d @ Plus @ Mult @ Valid @ Sigma3 @ S @ Delta @ B2 ) ) ) ) ) ).

% logic.sat.simps(3)
thf(fact_182_logic_Osat_Osimps_I2_J,axiom,
    ! [Plus: a > a > option_a,Mult: b > a > a,Smult: b > b > b,Sadd: b > b > b,Sinv: b > b,One: b,Valid: a > $o,Sigma: a,S: c > d,Delta: ( c > d ) > set_a,A2: assertion_a_b_d_c,B2: assertion_a_b_d_c] :
      ( ( logic_a_b @ Plus @ Mult @ Smult @ Sadd @ Sinv @ One @ Valid )
     => ( ( sat_a_b_c_d @ Plus @ Mult @ Valid @ Sigma @ S @ Delta @ ( star_a_b_d_c @ A2 @ B2 ) )
        = ( ? [A3: a,B3: a] :
              ( ( ( some_a @ Sigma )
                = ( Plus @ A3 @ B3 ) )
              & ( sat_a_b_c_d @ Plus @ Mult @ Valid @ A3 @ S @ Delta @ A2 )
              & ( sat_a_b_c_d @ Plus @ Mult @ Valid @ B3 @ S @ Delta @ B2 ) ) ) ) ) ).

% logic.sat.simps(2)
thf(fact_183_fun__upd__def,axiom,
    ( fun_upd_c_d
    = ( ^ [F: c > d,A3: c,B3: d,X: c] : ( if_d @ ( X = A3 ) @ B3 @ ( F @ X ) ) ) ) ).

% fun_upd_def
thf(fact_184_fun__upd__eqD,axiom,
    ! [F2: c > d,X3: c,Y2: d,G: c > d,Z2: d] :
      ( ( ( fun_upd_c_d @ F2 @ X3 @ Y2 )
        = ( fun_upd_c_d @ G @ X3 @ Z2 ) )
     => ( Y2 = Z2 ) ) ).

% fun_upd_eqD
thf(fact_185_fun__upd__idem,axiom,
    ! [F2: c > d,X3: c,Y2: d] :
      ( ( ( F2 @ X3 )
        = Y2 )
     => ( ( fun_upd_c_d @ F2 @ X3 @ Y2 )
        = F2 ) ) ).

% fun_upd_idem
thf(fact_186_fun__upd__same,axiom,
    ! [F2: c > d,X3: c,Y2: d] :
      ( ( fun_upd_c_d @ F2 @ X3 @ Y2 @ X3 )
      = Y2 ) ).

% fun_upd_same
thf(fact_187_fun__upd__other,axiom,
    ! [Z2: c,X3: c,F2: c > d,Y2: d] :
      ( ( Z2 != X3 )
     => ( ( fun_upd_c_d @ F2 @ X3 @ Y2 @ Z2 )
        = ( F2 @ Z2 ) ) ) ).

% fun_upd_other
thf(fact_188_fun__upd__twist,axiom,
    ! [A: c,C2: c,M: c > d,B: d,D: d] :
      ( ( A != C2 )
     => ( ( fun_upd_c_d @ ( fun_upd_c_d @ M @ A @ B ) @ C2 @ D )
        = ( fun_upd_c_d @ ( fun_upd_c_d @ M @ C2 @ D ) @ A @ B ) ) ) ).

% fun_upd_twist
thf(fact_189_fun__upd__idem__iff,axiom,
    ! [F2: c > d,X3: c,Y2: d] :
      ( ( ( fun_upd_c_d @ F2 @ X3 @ Y2 )
        = F2 )
      = ( ( F2 @ X3 )
        = Y2 ) ) ).

% fun_upd_idem_iff
thf(fact_190_assertion_Oexhaust,axiom,
    ! [Y2: assertion_a_b_d_c] :
      ( ! [X13: ( c > d ) > a > $o] :
          ( Y2
         != ( sem_c_d_a_b @ X13 ) )
     => ( ! [X212: b,X222: assertion_a_b_d_c] :
            ( Y2
           != ( mult_b_a_d_c @ X212 @ X222 ) )
       => ( ! [X312: assertion_a_b_d_c,X322: assertion_a_b_d_c] :
              ( Y2
             != ( star_a_b_d_c @ X312 @ X322 ) )
         => ( ! [X412: assertion_a_b_d_c,X422: assertion_a_b_d_c] :
                ( Y2
               != ( wand_a_b_d_c @ X412 @ X422 ) )
           => ( ! [X512: assertion_a_b_d_c,X522: assertion_a_b_d_c] :
                  ( Y2
                 != ( or_a_b_d_c @ X512 @ X522 ) )
             => ( ! [X612: assertion_a_b_d_c,X622: assertion_a_b_d_c] :
                    ( Y2
                   != ( and_a_b_d_c @ X612 @ X622 ) )
               => ( ! [X712: assertion_a_b_d_c,X722: assertion_a_b_d_c] :
                      ( Y2
                     != ( imp_a_b_d_c @ X712 @ X722 ) )
                 => ( ! [X812: c,X822: assertion_a_b_d_c] :
                        ( Y2
                       != ( exists_c_a_b_d @ X812 @ X822 ) )
                   => ( ! [X912: c,X922: assertion_a_b_d_c] :
                          ( Y2
                         != ( forall_c_a_b_d @ X912 @ X922 ) )
                     => ( ( Y2 != pred_a_b_d_c )
                       => ( ! [X112: assertion_a_b_d_c] :
                              ( Y2
                             != ( bounded_a_b_d_c @ X112 ) )
                         => ~ ! [X122: assertion_a_b_d_c] :
                                ( Y2
                               != ( wildcard_a_b_d_c @ X122 ) ) ) ) ) ) ) ) ) ) ) ) ) ).

% assertion.exhaust
thf(fact_191_option_Odistinct_I1_J,axiom,
    ! [X23: a] :
      ( none_a
     != ( some_a @ X23 ) ) ).

% option.distinct(1)
thf(fact_192_option_OdiscI,axiom,
    ! [Option: option_a,X23: a] :
      ( ( Option
        = ( some_a @ X23 ) )
     => ( Option != none_a ) ) ).

% option.discI
thf(fact_193_option_Oexhaust,axiom,
    ! [Y2: option_a] :
      ( ( Y2 != none_a )
     => ~ ! [X24: a] :
            ( Y2
           != ( some_a @ X24 ) ) ) ).

% option.exhaust
thf(fact_194_split__option__ex,axiom,
    ( ( ^ [P4: option_a > $o] :
        ? [X4: option_a] : ( P4 @ X4 ) )
    = ( ^ [P5: option_a > $o] :
          ( ( P5 @ none_a )
          | ? [X: a] : ( P5 @ ( some_a @ X ) ) ) ) ) ).

% split_option_ex
thf(fact_195_split__option__all,axiom,
    ( ( ^ [P4: option_a > $o] :
        ! [X4: option_a] : ( P4 @ X4 ) )
    = ( ^ [P5: option_a > $o] :
          ( ( P5 @ none_a )
          & ! [X: a] : ( P5 @ ( some_a @ X ) ) ) ) ) ).

% split_option_all
thf(fact_196_option_Ocollapse,axiom,
    ! [Option: option_a] :
      ( ( Option != none_a )
     => ( ( some_a @ ( the_a2 @ Option ) )
        = Option ) ) ).

% option.collapse
thf(fact_197_bind__split,axiom,
    ! [P3: option_a > $o,M: option_a,F2: a > option_a] :
      ( ( P3 @ ( bind_a_a @ M @ F2 ) )
      = ( ( ( M = none_a )
         => ( P3 @ none_a ) )
        & ! [V: a] :
            ( ( M
              = ( some_a @ V ) )
           => ( P3 @ ( F2 @ V ) ) ) ) ) ).

% bind_split
thf(fact_198_bind__split__asm,axiom,
    ! [P3: option_a > $o,M: option_a,F2: a > option_a] :
      ( ( P3 @ ( bind_a_a @ M @ F2 ) )
      = ( ~ ( ( ( M = none_a )
              & ~ ( P3 @ none_a ) )
            | ? [X: a] :
                ( ( M
                  = ( some_a @ X ) )
                & ~ ( P3 @ ( F2 @ X ) ) ) ) ) ) ).

% bind_split_asm
thf(fact_199_bind__runit,axiom,
    ! [X3: option_a] :
      ( ( bind_a_a @ X3 @ some_a )
      = X3 ) ).

% bind_runit
thf(fact_200_bind__eq__None__conv,axiom,
    ! [A: option_a,F2: a > option_a] :
      ( ( ( bind_a_a @ A @ F2 )
        = none_a )
      = ( ( A = none_a )
        | ( ( F2 @ ( the_a2 @ A ) )
          = none_a ) ) ) ).

% bind_eq_None_conv
thf(fact_201_bind__option__cong__code,axiom,
    ! [X3: option_a,Y2: option_a,F2: a > option_a] :
      ( ( X3 = Y2 )
     => ( ( bind_a_a @ X3 @ F2 )
        = ( bind_a_a @ Y2 @ F2 ) ) ) ).

% bind_option_cong_code
thf(fact_202_option_Oexpand,axiom,
    ! [Option: option_a,Option2: option_a] :
      ( ( ( Option = none_a )
        = ( Option2 = none_a ) )
     => ( ( ( Option != none_a )
         => ( ( Option2 != none_a )
           => ( ( the_a2 @ Option )
              = ( the_a2 @ Option2 ) ) ) )
       => ( Option = Option2 ) ) ) ).

% option.expand
thf(fact_203_option_Osel,axiom,
    ! [X23: a] :
      ( ( the_a2 @ ( some_a @ X23 ) )
      = X23 ) ).

% option.sel
thf(fact_204_bind_Obind__lzero,axiom,
    ! [F2: a > option_a] :
      ( ( bind_a_a @ none_a @ F2 )
      = none_a ) ).

% bind.bind_lzero
thf(fact_205_bind__eq__Some__conv,axiom,
    ! [F2: option_a,G: a > option_a,X3: a] :
      ( ( ( bind_a_a @ F2 @ G )
        = ( some_a @ X3 ) )
      = ( ? [Y: a] :
            ( ( F2
              = ( some_a @ Y ) )
            & ( ( G @ Y )
              = ( some_a @ X3 ) ) ) ) ) ).

% bind_eq_Some_conv
thf(fact_206_Option_Obind__cong,axiom,
    ! [X3: option_a,Y2: option_a,F2: a > option_a,G: a > option_a] :
      ( ( X3 = Y2 )
     => ( ! [A4: a] :
            ( ( Y2
              = ( some_a @ A4 ) )
           => ( ( F2 @ A4 )
              = ( G @ A4 ) ) )
       => ( ( bind_a_a @ X3 @ F2 )
          = ( bind_a_a @ Y2 @ G ) ) ) ) ).

% Option.bind_cong
thf(fact_207_bind_Obind__lunit,axiom,
    ! [X3: a,F2: a > option_a] :
      ( ( bind_a_a @ ( some_a @ X3 ) @ F2 )
      = ( F2 @ X3 ) ) ).

% bind.bind_lunit
thf(fact_208_option_Oexhaust__sel,axiom,
    ! [Option: option_a] :
      ( ( Option != none_a )
     => ( Option
        = ( some_a @ ( the_a2 @ Option ) ) ) ) ).

% option.exhaust_sel
thf(fact_209_option_Osplit__sel__asm,axiom,
    ! [P3: option_a > $o,F1: option_a,F22: a > option_a,Option: option_a] :
      ( ( P3 @ ( case_o3148979394504432965on_a_a @ F1 @ F22 @ Option ) )
      = ( ~ ( ( ( Option = none_a )
              & ~ ( P3 @ F1 ) )
            | ( ( Option
                = ( some_a @ ( the_a2 @ Option ) ) )
              & ~ ( P3 @ ( F22 @ ( the_a2 @ Option ) ) ) ) ) ) ) ).

% option.split_sel_asm
thf(fact_210_option_Osplit__sel__asm,axiom,
    ! [P3: $o > $o,F1: $o,F22: a > $o,Option: option_a] :
      ( ( P3 @ ( case_option_o_a @ F1 @ F22 @ Option ) )
      = ( ~ ( ( ( Option = none_a )
              & ~ ( P3 @ F1 ) )
            | ( ( Option
                = ( some_a @ ( the_a2 @ Option ) ) )
              & ~ ( P3 @ ( F22 @ ( the_a2 @ Option ) ) ) ) ) ) ) ).

% option.split_sel_asm
thf(fact_211_option_Osplit__sel__asm,axiom,
    ! [P3: a > $o,F1: a,F22: a > a,Option: option_a] :
      ( ( P3 @ ( case_option_a_a @ F1 @ F22 @ Option ) )
      = ( ~ ( ( ( Option = none_a )
              & ~ ( P3 @ F1 ) )
            | ( ( Option
                = ( some_a @ ( the_a2 @ Option ) ) )
              & ~ ( P3 @ ( F22 @ ( the_a2 @ Option ) ) ) ) ) ) ) ).

% option.split_sel_asm
thf(fact_212_option_Osplit__sel,axiom,
    ! [P3: option_a > $o,F1: option_a,F22: a > option_a,Option: option_a] :
      ( ( P3 @ ( case_o3148979394504432965on_a_a @ F1 @ F22 @ Option ) )
      = ( ( ( Option = none_a )
         => ( P3 @ F1 ) )
        & ( ( Option
            = ( some_a @ ( the_a2 @ Option ) ) )
         => ( P3 @ ( F22 @ ( the_a2 @ Option ) ) ) ) ) ) ).

% option.split_sel
thf(fact_213_option_Osplit__sel,axiom,
    ! [P3: $o > $o,F1: $o,F22: a > $o,Option: option_a] :
      ( ( P3 @ ( case_option_o_a @ F1 @ F22 @ Option ) )
      = ( ( ( Option = none_a )
         => ( P3 @ F1 ) )
        & ( ( Option
            = ( some_a @ ( the_a2 @ Option ) ) )
         => ( P3 @ ( F22 @ ( the_a2 @ Option ) ) ) ) ) ) ).

% option.split_sel
thf(fact_214_option_Osplit__sel,axiom,
    ! [P3: a > $o,F1: a,F22: a > a,Option: option_a] :
      ( ( P3 @ ( case_option_a_a @ F1 @ F22 @ Option ) )
      = ( ( ( Option = none_a )
         => ( P3 @ F1 ) )
        & ( ( Option
            = ( some_a @ ( the_a2 @ Option ) ) )
         => ( P3 @ ( F22 @ ( the_a2 @ Option ) ) ) ) ) ) ).

% option.split_sel
thf(fact_215_is__none__bind,axiom,
    ! [F2: option_a,G: a > option_a] :
      ( ( is_none_a @ ( bind_a_a @ F2 @ G ) )
      = ( ( is_none_a @ F2 )
        | ( is_none_a @ ( G @ ( the_a2 @ F2 ) ) ) ) ) ).

% is_none_bind
thf(fact_216_option_Ocase__eq__if,axiom,
    ( case_o3148979394504432965on_a_a
    = ( ^ [F12: option_a,F23: a > option_a,Option3: option_a] : ( if_option_a @ ( Option3 = none_a ) @ F12 @ ( F23 @ ( the_a2 @ Option3 ) ) ) ) ) ).

% option.case_eq_if
thf(fact_217_option_Ocase__eq__if,axiom,
    ( case_option_o_a
    = ( ^ [F12: $o,F23: a > $o,Option3: option_a] :
          ( ( ( Option3 = none_a )
           => F12 )
          & ( ( Option3 != none_a )
           => ( F23 @ ( the_a2 @ Option3 ) ) ) ) ) ) ).

% option.case_eq_if
thf(fact_218_option_Ocase__eq__if,axiom,
    ( case_option_a_a
    = ( ^ [F12: a,F23: a > a,Option3: option_a] : ( if_a @ ( Option3 = none_a ) @ F12 @ ( F23 @ ( the_a2 @ Option3 ) ) ) ) ) ).

% option.case_eq_if
thf(fact_219_is__none__code_I1_J,axiom,
    is_none_a @ none_a ).

% is_none_code(1)
thf(fact_220_is__none__code_I2_J,axiom,
    ! [X3: a] :
      ~ ( is_none_a @ ( some_a @ X3 ) ) ).

% is_none_code(2)
thf(fact_221_option_Osimps_I4_J,axiom,
    ! [F1: option_a,F22: a > option_a] :
      ( ( case_o3148979394504432965on_a_a @ F1 @ F22 @ none_a )
      = F1 ) ).

% option.simps(4)
thf(fact_222_option_Osimps_I4_J,axiom,
    ! [F1: $o,F22: a > $o] :
      ( ( case_option_o_a @ F1 @ F22 @ none_a )
      = F1 ) ).

% option.simps(4)
thf(fact_223_option_Osimps_I4_J,axiom,
    ! [F1: a,F22: a > a] :
      ( ( case_option_a_a @ F1 @ F22 @ none_a )
      = F1 ) ).

% option.simps(4)
thf(fact_224_option_Osimps_I5_J,axiom,
    ! [F1: option_a,F22: a > option_a,X23: a] :
      ( ( case_o3148979394504432965on_a_a @ F1 @ F22 @ ( some_a @ X23 ) )
      = ( F22 @ X23 ) ) ).

% option.simps(5)
thf(fact_225_option_Osimps_I5_J,axiom,
    ! [F1: $o,F22: a > $o,X23: a] :
      ( ( case_option_o_a @ F1 @ F22 @ ( some_a @ X23 ) )
      = ( F22 @ X23 ) ) ).

% option.simps(5)
thf(fact_226_option_Osimps_I5_J,axiom,
    ! [F1: a,F22: a > a,X23: a] :
      ( ( case_option_a_a @ F1 @ F22 @ ( some_a @ X23 ) )
      = ( F22 @ X23 ) ) ).

% option.simps(5)
thf(fact_227_is__none__simps_I1_J,axiom,
    is_none_a @ none_a ).

% is_none_simps(1)
thf(fact_228_Option_Ois__none__def,axiom,
    ( is_none_a
    = ( ^ [X: option_a] : ( X = none_a ) ) ) ).

% Option.is_none_def
thf(fact_229_is__none__simps_I2_J,axiom,
    ! [X3: a] :
      ~ ( is_none_a @ ( some_a @ X3 ) ) ).

% is_none_simps(2)
thf(fact_230_option_Oset__sel,axiom,
    ! [A: option_option_a] :
      ( ( A != none_option_a )
     => ( member_option_a @ ( the_option_a2 @ A ) @ ( set_option_option_a2 @ A ) ) ) ).

% option.set_sel
thf(fact_231_option_Oset__sel,axiom,
    ! [A: option_b] :
      ( ( A != none_b )
     => ( member_b @ ( the_b2 @ A ) @ ( set_option_b2 @ A ) ) ) ).

% option.set_sel
thf(fact_232_option_Oset__sel,axiom,
    ! [A: option_a] :
      ( ( A != none_a )
     => ( member_a @ ( the_a2 @ A ) @ ( set_option_a3 @ A ) ) ) ).

% option.set_sel
thf(fact_233_fun__upd__None__if__notin__dom,axiom,
    ! [K: a,M: a > option_a] :
      ( ~ ( member_a @ K @ ( dom_a_a @ M ) )
     => ( ( fun_upd_a_option_a @ M @ K @ none_a )
        = M ) ) ).

% fun_upd_None_if_notin_dom
thf(fact_234_fun__upd__None__if__notin__dom,axiom,
    ! [K: option_a,M: option_a > option_a] :
      ( ~ ( member_option_a @ K @ ( dom_option_a_a @ M ) )
     => ( ( fun_up1079276522633388797tion_a @ M @ K @ none_a )
        = M ) ) ).

% fun_upd_None_if_notin_dom
thf(fact_235_fun__upd__None__if__notin__dom,axiom,
    ! [K: b,M: b > option_a] :
      ( ~ ( member_b @ K @ ( dom_b_a @ M ) )
     => ( ( fun_upd_b_option_a @ M @ K @ none_a )
        = M ) ) ).

% fun_upd_None_if_notin_dom
thf(fact_236_image__map__upd,axiom,
    ! [X3: a,A2: set_a,M: a > option_a,Y2: a] :
      ( ~ ( member_a @ X3 @ A2 )
     => ( ( image_a_option_a @ ( fun_upd_a_option_a @ M @ X3 @ ( some_a @ Y2 ) ) @ A2 )
        = ( image_a_option_a @ M @ A2 ) ) ) ).

% image_map_upd
thf(fact_237_image__map__upd,axiom,
    ! [X3: option_a,A2: set_option_a,M: option_a > option_a,Y2: a] :
      ( ~ ( member_option_a @ X3 @ A2 )
     => ( ( image_7439109396645324421tion_a @ ( fun_up1079276522633388797tion_a @ M @ X3 @ ( some_a @ Y2 ) ) @ A2 )
        = ( image_7439109396645324421tion_a @ M @ A2 ) ) ) ).

% image_map_upd
thf(fact_238_image__map__upd,axiom,
    ! [X3: b,A2: set_b,M: b > option_a,Y2: a] :
      ( ~ ( member_b @ X3 @ A2 )
     => ( ( image_b_option_a @ ( fun_upd_b_option_a @ M @ X3 @ ( some_a @ Y2 ) ) @ A2 )
        = ( image_b_option_a @ M @ A2 ) ) ) ).

% image_map_upd
thf(fact_239_combine__options__simps_I3_J,axiom,
    ! [F2: a > a > a,A: a,B: a] :
      ( ( combine_options_a @ F2 @ ( some_a @ A ) @ ( some_a @ B ) )
      = ( some_a @ ( F2 @ A @ B ) ) ) ).

% combine_options_simps(3)
thf(fact_240_combine__options__simps_I2_J,axiom,
    ! [F2: a > a > a,X3: option_a] :
      ( ( combine_options_a @ F2 @ X3 @ none_a )
      = X3 ) ).

% combine_options_simps(2)
thf(fact_241_combine__options__simps_I1_J,axiom,
    ! [F2: a > a > a,Y2: option_a] :
      ( ( combine_options_a @ F2 @ none_a @ Y2 )
      = Y2 ) ).

% combine_options_simps(1)
thf(fact_242_elem__set,axiom,
    ! [X3: option_a,Xo: option_option_a] :
      ( ( member_option_a @ X3 @ ( set_option_option_a2 @ Xo ) )
      = ( Xo
        = ( some_option_a @ X3 ) ) ) ).

% elem_set
thf(fact_243_elem__set,axiom,
    ! [X3: b,Xo: option_b] :
      ( ( member_b @ X3 @ ( set_option_b2 @ Xo ) )
      = ( Xo
        = ( some_b @ X3 ) ) ) ).

% elem_set
thf(fact_244_elem__set,axiom,
    ! [X3: a,Xo: option_a] :
      ( ( member_a @ X3 @ ( set_option_a3 @ Xo ) )
      = ( Xo
        = ( some_a @ X3 ) ) ) ).

% elem_set
thf(fact_245_combine__options__assoc,axiom,
    ! [F2: a > a > a,X3: option_a,Y2: option_a,Z2: option_a] :
      ( ! [X2: a,Y3: a,Z3: a] :
          ( ( F2 @ ( F2 @ X2 @ Y3 ) @ Z3 )
          = ( F2 @ X2 @ ( F2 @ Y3 @ Z3 ) ) )
     => ( ( combine_options_a @ F2 @ ( combine_options_a @ F2 @ X3 @ Y2 ) @ Z2 )
        = ( combine_options_a @ F2 @ X3 @ ( combine_options_a @ F2 @ Y2 @ Z2 ) ) ) ) ).

% combine_options_assoc
thf(fact_246_combine__options__commute,axiom,
    ! [F2: a > a > a,X3: option_a,Y2: option_a] :
      ( ! [X2: a,Y3: a] :
          ( ( F2 @ X2 @ Y3 )
          = ( F2 @ Y3 @ X2 ) )
     => ( ( combine_options_a @ F2 @ X3 @ Y2 )
        = ( combine_options_a @ F2 @ Y2 @ X3 ) ) ) ).

% combine_options_commute
thf(fact_247_combine__options__left__commute,axiom,
    ! [F2: a > a > a,Y2: option_a,X3: option_a,Z2: option_a] :
      ( ! [X2: a,Y3: a] :
          ( ( F2 @ X2 @ Y3 )
          = ( F2 @ Y3 @ X2 ) )
     => ( ! [X2: a,Y3: a,Z3: a] :
            ( ( F2 @ ( F2 @ X2 @ Y3 ) @ Z3 )
            = ( F2 @ X2 @ ( F2 @ Y3 @ Z3 ) ) )
       => ( ( combine_options_a @ F2 @ Y2 @ ( combine_options_a @ F2 @ X3 @ Z2 ) )
          = ( combine_options_a @ F2 @ X3 @ ( combine_options_a @ F2 @ Y2 @ Z2 ) ) ) ) ) ).

% combine_options_left_commute
thf(fact_248_map__add__upd__left,axiom,
    ! [M: a,E2: a > option_a,E1: a > option_a,U1: a] :
      ( ~ ( member_a @ M @ ( dom_a_a @ E2 ) )
     => ( ( map_add_a_a @ ( fun_upd_a_option_a @ E1 @ M @ ( some_a @ U1 ) ) @ E2 )
        = ( fun_upd_a_option_a @ ( map_add_a_a @ E1 @ E2 ) @ M @ ( some_a @ U1 ) ) ) ) ).

% map_add_upd_left
thf(fact_249_map__add__upd__left,axiom,
    ! [M: option_a,E2: option_a > option_a,E1: option_a > option_a,U1: a] :
      ( ~ ( member_option_a @ M @ ( dom_option_a_a @ E2 ) )
     => ( ( map_add_option_a_a @ ( fun_up1079276522633388797tion_a @ E1 @ M @ ( some_a @ U1 ) ) @ E2 )
        = ( fun_up1079276522633388797tion_a @ ( map_add_option_a_a @ E1 @ E2 ) @ M @ ( some_a @ U1 ) ) ) ) ).

% map_add_upd_left
thf(fact_250_map__add__upd__left,axiom,
    ! [M: b,E2: b > option_a,E1: b > option_a,U1: a] :
      ( ~ ( member_b @ M @ ( dom_b_a @ E2 ) )
     => ( ( map_add_b_a @ ( fun_upd_b_option_a @ E1 @ M @ ( some_a @ U1 ) ) @ E2 )
        = ( fun_upd_b_option_a @ ( map_add_b_a @ E1 @ E2 ) @ M @ ( some_a @ U1 ) ) ) ) ).

% map_add_upd_left
thf(fact_251_domIff,axiom,
    ! [A: a,M: a > option_a] :
      ( ( member_a @ A @ ( dom_a_a @ M ) )
      = ( ( M @ A )
       != none_a ) ) ).

% domIff
thf(fact_252_domIff,axiom,
    ! [A: option_a,M: option_a > option_a] :
      ( ( member_option_a @ A @ ( dom_option_a_a @ M ) )
      = ( ( M @ A )
       != none_a ) ) ).

% domIff
thf(fact_253_domIff,axiom,
    ! [A: b,M: b > option_a] :
      ( ( member_b @ A @ ( dom_b_a @ M ) )
      = ( ( M @ A )
       != none_a ) ) ).

% domIff
thf(fact_254_domD,axiom,
    ! [A: a,M: a > option_a] :
      ( ( member_a @ A @ ( dom_a_a @ M ) )
     => ? [B4: a] :
          ( ( M @ A )
          = ( some_a @ B4 ) ) ) ).

% domD
thf(fact_255_domD,axiom,
    ! [A: option_a,M: option_a > option_a] :
      ( ( member_option_a @ A @ ( dom_option_a_a @ M ) )
     => ? [B4: a] :
          ( ( M @ A )
          = ( some_a @ B4 ) ) ) ).

% domD
thf(fact_256_domD,axiom,
    ! [A: b,M: b > option_a] :
      ( ( member_b @ A @ ( dom_b_a @ M ) )
     => ? [B4: a] :
          ( ( M @ A )
          = ( some_a @ B4 ) ) ) ).

% domD
thf(fact_257_domI,axiom,
    ! [M: a > option_a,A: a,B: a] :
      ( ( ( M @ A )
        = ( some_a @ B ) )
     => ( member_a @ A @ ( dom_a_a @ M ) ) ) ).

% domI
thf(fact_258_domI,axiom,
    ! [M: option_a > option_a,A: option_a,B: a] :
      ( ( ( M @ A )
        = ( some_a @ B ) )
     => ( member_option_a @ A @ ( dom_option_a_a @ M ) ) ) ).

% domI
thf(fact_259_domI,axiom,
    ! [M: b > option_a,A: b,B: a] :
      ( ( ( M @ A )
        = ( some_a @ B ) )
     => ( member_b @ A @ ( dom_b_a @ M ) ) ) ).

% domI
thf(fact_260_ospec,axiom,
    ! [A2: option_a,P3: a > $o,X3: a] :
      ( ! [X2: a] :
          ( ( member_a @ X2 @ ( set_option_a3 @ A2 ) )
         => ( P3 @ X2 ) )
     => ( ( A2
          = ( some_a @ X3 ) )
       => ( P3 @ X3 ) ) ) ).

% ospec
thf(fact_261_option_Oset__intros,axiom,
    ! [X23: option_a] : ( member_option_a @ X23 @ ( set_option_option_a2 @ ( some_option_a @ X23 ) ) ) ).

% option.set_intros
thf(fact_262_option_Oset__intros,axiom,
    ! [X23: b] : ( member_b @ X23 @ ( set_option_b2 @ ( some_b @ X23 ) ) ) ).

% option.set_intros
thf(fact_263_option_Oset__intros,axiom,
    ! [X23: a] : ( member_a @ X23 @ ( set_option_a3 @ ( some_a @ X23 ) ) ) ).

% option.set_intros
thf(fact_264_option_Oset__cases,axiom,
    ! [E: option_a,A: option_option_a] :
      ( ( member_option_a @ E @ ( set_option_option_a2 @ A ) )
     => ( A
        = ( some_option_a @ E ) ) ) ).

% option.set_cases
thf(fact_265_option_Oset__cases,axiom,
    ! [E: b,A: option_b] :
      ( ( member_b @ E @ ( set_option_b2 @ A ) )
     => ( A
        = ( some_b @ E ) ) ) ).

% option.set_cases
thf(fact_266_option_Oset__cases,axiom,
    ! [E: a,A: option_a] :
      ( ( member_a @ E @ ( set_option_a3 @ A ) )
     => ( A
        = ( some_a @ E ) ) ) ).

% option.set_cases
thf(fact_267_bind__option__cong,axiom,
    ! [X3: option_a,Y2: option_a,F2: a > option_a,G: a > option_a] :
      ( ( X3 = Y2 )
     => ( ! [Z3: a] :
            ( ( member_a @ Z3 @ ( set_option_a3 @ Y2 ) )
           => ( ( F2 @ Z3 )
              = ( G @ Z3 ) ) )
       => ( ( bind_a_a @ X3 @ F2 )
          = ( bind_a_a @ Y2 @ G ) ) ) ) ).

% bind_option_cong
thf(fact_268_None__notin__image__Some,axiom,
    ! [A2: set_a] :
      ~ ( member_option_a @ none_a @ ( image_a_option_a @ some_a @ A2 ) ) ).

% None_notin_image_Some
thf(fact_269_these__image__Some__eq,axiom,
    ! [A2: set_a] :
      ( ( these_a @ ( image_a_option_a @ some_a @ A2 ) )
      = A2 ) ).

% these_image_Some_eq
thf(fact_270_notin__range__Some,axiom,
    ! [X3: option_option_a] :
      ( ( ~ ( member5113800082084363315tion_a @ X3 @ ( image_2132136900116418507tion_a @ some_option_a @ top_top_set_option_a ) ) )
      = ( X3 = none_option_a ) ) ).

% notin_range_Some
thf(fact_271_notin__range__Some,axiom,
    ! [X3: option_a] :
      ( ( ~ ( member_option_a @ X3 @ ( image_a_option_a @ some_a @ top_top_set_a ) ) )
      = ( X3 = none_a ) ) ).

% notin_range_Some
thf(fact_272_set__empty__eq,axiom,
    ! [Xo: option_option_a] :
      ( ( ( set_option_option_a2 @ Xo )
        = bot_bot_set_option_a )
      = ( Xo = none_option_a ) ) ).

% set_empty_eq
thf(fact_273_set__empty__eq,axiom,
    ! [Xo: option_a] :
      ( ( ( set_option_a3 @ Xo )
        = bot_bot_set_a )
      = ( Xo = none_a ) ) ).

% set_empty_eq
thf(fact_274_dom__eq__empty__conv,axiom,
    ! [F2: a > option_a] :
      ( ( ( dom_a_a @ F2 )
        = bot_bot_set_a )
      = ( F2
        = ( ^ [X: a] : none_a ) ) ) ).

% dom_eq_empty_conv
thf(fact_275_dom__eq__empty__conv,axiom,
    ! [F2: option_a > option_a] :
      ( ( ( dom_option_a_a @ F2 )
        = bot_bot_set_option_a )
      = ( F2
        = ( ^ [X: option_a] : none_a ) ) ) ).

% dom_eq_empty_conv
thf(fact_276_inj__on__map__add__dom,axiom,
    ! [M: a > option_a,M2: a > option_a] :
      ( ( inj_on_a_option_a @ ( map_add_a_a @ M @ M2 ) @ ( dom_a_a @ M2 ) )
      = ( inj_on_a_option_a @ M2 @ ( dom_a_a @ M2 ) ) ) ).

% inj_on_map_add_dom
thf(fact_277_inj__on__empty,axiom,
    ! [F2: a > option_a] : ( inj_on_a_option_a @ F2 @ bot_bot_set_a ) ).

% inj_on_empty
thf(fact_278_these__empty,axiom,
    ( ( these_option_a @ bot_bo4163488203964334806tion_a )
    = bot_bot_set_option_a ) ).

% these_empty
thf(fact_279_these__empty,axiom,
    ( ( these_a @ bot_bot_set_option_a )
    = bot_bot_set_a ) ).

% these_empty
thf(fact_280_range__ex1__eq,axiom,
    ! [F2: a > a,B: a] :
      ( ( inj_on_a_a @ F2 @ top_top_set_a )
     => ( ( member_a @ B @ ( image_a_a @ F2 @ top_top_set_a ) )
        = ( ? [X: a] :
              ( ( B
                = ( F2 @ X ) )
              & ! [Y: a] :
                  ( ( B
                    = ( F2 @ Y ) )
                 => ( Y = X ) ) ) ) ) ) ).

% range_ex1_eq
thf(fact_281_range__ex1__eq,axiom,
    ! [F2: a > option_a,B: option_a] :
      ( ( inj_on_a_option_a @ F2 @ top_top_set_a )
     => ( ( member_option_a @ B @ ( image_a_option_a @ F2 @ top_top_set_a ) )
        = ( ? [X: a] :
              ( ( B
                = ( F2 @ X ) )
              & ! [Y: a] :
                  ( ( B
                    = ( F2 @ Y ) )
                 => ( Y = X ) ) ) ) ) ) ).

% range_ex1_eq
thf(fact_282_range__ex1__eq,axiom,
    ! [F2: a > b,B: b] :
      ( ( inj_on_a_b @ F2 @ top_top_set_a )
     => ( ( member_b @ B @ ( image_a_b @ F2 @ top_top_set_a ) )
        = ( ? [X: a] :
              ( ( B
                = ( F2 @ X ) )
              & ! [Y: a] :
                  ( ( B
                    = ( F2 @ Y ) )
                 => ( Y = X ) ) ) ) ) ) ).

% range_ex1_eq
thf(fact_283_range__ex1__eq,axiom,
    ! [F2: option_a > a,B: a] :
      ( ( inj_on_option_a_a @ F2 @ top_top_set_option_a )
     => ( ( member_a @ B @ ( image_option_a_a @ F2 @ top_top_set_option_a ) )
        = ( ? [X: option_a] :
              ( ( B
                = ( F2 @ X ) )
              & ! [Y: option_a] :
                  ( ( B
                    = ( F2 @ Y ) )
                 => ( Y = X ) ) ) ) ) ) ).

% range_ex1_eq
thf(fact_284_range__ex1__eq,axiom,
    ! [F2: option_a > option_a,B: option_a] :
      ( ( inj_on8559383841115902449tion_a @ F2 @ top_top_set_option_a )
     => ( ( member_option_a @ B @ ( image_7439109396645324421tion_a @ F2 @ top_top_set_option_a ) )
        = ( ? [X: option_a] :
              ( ( B
                = ( F2 @ X ) )
              & ! [Y: option_a] :
                  ( ( B
                    = ( F2 @ Y ) )
                 => ( Y = X ) ) ) ) ) ) ).

% range_ex1_eq
thf(fact_285_range__ex1__eq,axiom,
    ! [F2: option_a > b,B: b] :
      ( ( inj_on_option_a_b @ F2 @ top_top_set_option_a )
     => ( ( member_b @ B @ ( image_option_a_b @ F2 @ top_top_set_option_a ) )
        = ( ? [X: option_a] :
              ( ( B
                = ( F2 @ X ) )
              & ! [Y: option_a] :
                  ( ( B
                    = ( F2 @ Y ) )
                 => ( Y = X ) ) ) ) ) ) ).

% range_ex1_eq
thf(fact_286_inj__image__eq__iff,axiom,
    ! [F2: a > option_a,A2: set_a,B2: set_a] :
      ( ( inj_on_a_option_a @ F2 @ top_top_set_a )
     => ( ( ( image_a_option_a @ F2 @ A2 )
          = ( image_a_option_a @ F2 @ B2 ) )
        = ( A2 = B2 ) ) ) ).

% inj_image_eq_iff
thf(fact_287_inj__image__eq__iff,axiom,
    ! [F2: option_a > a,A2: set_option_a,B2: set_option_a] :
      ( ( inj_on_option_a_a @ F2 @ top_top_set_option_a )
     => ( ( ( image_option_a_a @ F2 @ A2 )
          = ( image_option_a_a @ F2 @ B2 ) )
        = ( A2 = B2 ) ) ) ).

% inj_image_eq_iff
thf(fact_288_inj__image__mem__iff,axiom,
    ! [F2: b > a,A: b,A2: set_b] :
      ( ( inj_on_b_a @ F2 @ top_top_set_b )
     => ( ( member_a @ ( F2 @ A ) @ ( image_b_a @ F2 @ A2 ) )
        = ( member_b @ A @ A2 ) ) ) ).

% inj_image_mem_iff
thf(fact_289_inj__image__mem__iff,axiom,
    ! [F2: b > option_a,A: b,A2: set_b] :
      ( ( inj_on_b_option_a @ F2 @ top_top_set_b )
     => ( ( member_option_a @ ( F2 @ A ) @ ( image_b_option_a @ F2 @ A2 ) )
        = ( member_b @ A @ A2 ) ) ) ).

% inj_image_mem_iff
thf(fact_290_inj__image__mem__iff,axiom,
    ! [F2: b > b,A: b,A2: set_b] :
      ( ( inj_on_b_b @ F2 @ top_top_set_b )
     => ( ( member_b @ ( F2 @ A ) @ ( image_b_b @ F2 @ A2 ) )
        = ( member_b @ A @ A2 ) ) ) ).

% inj_image_mem_iff
thf(fact_291_inj__image__mem__iff,axiom,
    ! [F2: a > a,A: a,A2: set_a] :
      ( ( inj_on_a_a @ F2 @ top_top_set_a )
     => ( ( member_a @ ( F2 @ A ) @ ( image_a_a @ F2 @ A2 ) )
        = ( member_a @ A @ A2 ) ) ) ).

% inj_image_mem_iff
thf(fact_292_inj__image__mem__iff,axiom,
    ! [F2: a > option_a,A: a,A2: set_a] :
      ( ( inj_on_a_option_a @ F2 @ top_top_set_a )
     => ( ( member_option_a @ ( F2 @ A ) @ ( image_a_option_a @ F2 @ A2 ) )
        = ( member_a @ A @ A2 ) ) ) ).

% inj_image_mem_iff
thf(fact_293_inj__image__mem__iff,axiom,
    ! [F2: a > b,A: a,A2: set_a] :
      ( ( inj_on_a_b @ F2 @ top_top_set_a )
     => ( ( member_b @ ( F2 @ A ) @ ( image_a_b @ F2 @ A2 ) )
        = ( member_a @ A @ A2 ) ) ) ).

% inj_image_mem_iff
thf(fact_294_inj__image__mem__iff,axiom,
    ! [F2: option_a > a,A: option_a,A2: set_option_a] :
      ( ( inj_on_option_a_a @ F2 @ top_top_set_option_a )
     => ( ( member_a @ ( F2 @ A ) @ ( image_option_a_a @ F2 @ A2 ) )
        = ( member_option_a @ A @ A2 ) ) ) ).

% inj_image_mem_iff
thf(fact_295_inj__image__mem__iff,axiom,
    ! [F2: option_a > option_a,A: option_a,A2: set_option_a] :
      ( ( inj_on8559383841115902449tion_a @ F2 @ top_top_set_option_a )
     => ( ( member_option_a @ ( F2 @ A ) @ ( image_7439109396645324421tion_a @ F2 @ A2 ) )
        = ( member_option_a @ A @ A2 ) ) ) ).

% inj_image_mem_iff
thf(fact_296_inj__image__mem__iff,axiom,
    ! [F2: option_a > b,A: option_a,A2: set_option_a] :
      ( ( inj_on_option_a_b @ F2 @ top_top_set_option_a )
     => ( ( member_b @ ( F2 @ A ) @ ( image_option_a_b @ F2 @ A2 ) )
        = ( member_option_a @ A @ A2 ) ) ) ).

% inj_image_mem_iff
thf(fact_297_inj__on__image__eq__iff,axiom,
    ! [F2: option_a > a,C3: set_option_a,A2: set_option_a,B2: set_option_a] :
      ( ( inj_on_option_a_a @ F2 @ C3 )
     => ( ( ord_le1955136853071979460tion_a @ A2 @ C3 )
       => ( ( ord_le1955136853071979460tion_a @ B2 @ C3 )
         => ( ( ( image_option_a_a @ F2 @ A2 )
              = ( image_option_a_a @ F2 @ B2 ) )
            = ( A2 = B2 ) ) ) ) ) ).

% inj_on_image_eq_iff
thf(fact_298_inj__on__image__eq__iff,axiom,
    ! [F2: a > option_a,C3: set_a,A2: set_a,B2: set_a] :
      ( ( inj_on_a_option_a @ F2 @ C3 )
     => ( ( ord_less_eq_set_a @ A2 @ C3 )
       => ( ( ord_less_eq_set_a @ B2 @ C3 )
         => ( ( ( image_a_option_a @ F2 @ A2 )
              = ( image_a_option_a @ F2 @ B2 ) )
            = ( A2 = B2 ) ) ) ) ) ).

% inj_on_image_eq_iff
thf(fact_299_inj__image__subset__iff,axiom,
    ! [F2: a > option_a,A2: set_a,B2: set_a] :
      ( ( inj_on_a_option_a @ F2 @ top_top_set_a )
     => ( ( ord_le1955136853071979460tion_a @ ( image_a_option_a @ F2 @ A2 ) @ ( image_a_option_a @ F2 @ B2 ) )
        = ( ord_less_eq_set_a @ A2 @ B2 ) ) ) ).

% inj_image_subset_iff
thf(fact_300_inj__image__subset__iff,axiom,
    ! [F2: option_a > a,A2: set_option_a,B2: set_option_a] :
      ( ( inj_on_option_a_a @ F2 @ top_top_set_option_a )
     => ( ( ord_less_eq_set_a @ ( image_option_a_a @ F2 @ A2 ) @ ( image_option_a_a @ F2 @ B2 ) )
        = ( ord_le1955136853071979460tion_a @ A2 @ B2 ) ) ) ).

% inj_image_subset_iff
thf(fact_301_inj__on__image__mem__iff,axiom,
    ! [F2: a > a,B2: set_a,A: a,A2: set_a] :
      ( ( inj_on_a_a @ F2 @ B2 )
     => ( ( member_a @ A @ B2 )
       => ( ( ord_less_eq_set_a @ A2 @ B2 )
         => ( ( member_a @ ( F2 @ A ) @ ( image_a_a @ F2 @ A2 ) )
            = ( member_a @ A @ A2 ) ) ) ) ) ).

% inj_on_image_mem_iff
thf(fact_302_inj__on__image__mem__iff,axiom,
    ! [F2: a > option_a,B2: set_a,A: a,A2: set_a] :
      ( ( inj_on_a_option_a @ F2 @ B2 )
     => ( ( member_a @ A @ B2 )
       => ( ( ord_less_eq_set_a @ A2 @ B2 )
         => ( ( member_option_a @ ( F2 @ A ) @ ( image_a_option_a @ F2 @ A2 ) )
            = ( member_a @ A @ A2 ) ) ) ) ) ).

% inj_on_image_mem_iff
thf(fact_303_inj__on__image__mem__iff,axiom,
    ! [F2: a > b,B2: set_a,A: a,A2: set_a] :
      ( ( inj_on_a_b @ F2 @ B2 )
     => ( ( member_a @ A @ B2 )
       => ( ( ord_less_eq_set_a @ A2 @ B2 )
         => ( ( member_b @ ( F2 @ A ) @ ( image_a_b @ F2 @ A2 ) )
            = ( member_a @ A @ A2 ) ) ) ) ) ).

% inj_on_image_mem_iff
thf(fact_304_inj__on__image__mem__iff,axiom,
    ! [F2: option_a > a,B2: set_option_a,A: option_a,A2: set_option_a] :
      ( ( inj_on_option_a_a @ F2 @ B2 )
     => ( ( member_option_a @ A @ B2 )
       => ( ( ord_le1955136853071979460tion_a @ A2 @ B2 )
         => ( ( member_a @ ( F2 @ A ) @ ( image_option_a_a @ F2 @ A2 ) )
            = ( member_option_a @ A @ A2 ) ) ) ) ) ).

% inj_on_image_mem_iff
thf(fact_305_inj__on__image__mem__iff,axiom,
    ! [F2: option_a > option_a,B2: set_option_a,A: option_a,A2: set_option_a] :
      ( ( inj_on8559383841115902449tion_a @ F2 @ B2 )
     => ( ( member_option_a @ A @ B2 )
       => ( ( ord_le1955136853071979460tion_a @ A2 @ B2 )
         => ( ( member_option_a @ ( F2 @ A ) @ ( image_7439109396645324421tion_a @ F2 @ A2 ) )
            = ( member_option_a @ A @ A2 ) ) ) ) ) ).

% inj_on_image_mem_iff
thf(fact_306_inj__on__image__mem__iff,axiom,
    ! [F2: option_a > b,B2: set_option_a,A: option_a,A2: set_option_a] :
      ( ( inj_on_option_a_b @ F2 @ B2 )
     => ( ( member_option_a @ A @ B2 )
       => ( ( ord_le1955136853071979460tion_a @ A2 @ B2 )
         => ( ( member_b @ ( F2 @ A ) @ ( image_option_a_b @ F2 @ A2 ) )
            = ( member_option_a @ A @ A2 ) ) ) ) ) ).

% inj_on_image_mem_iff
thf(fact_307_inj__on__image__mem__iff,axiom,
    ! [F2: b > a,B2: set_b,A: b,A2: set_b] :
      ( ( inj_on_b_a @ F2 @ B2 )
     => ( ( member_b @ A @ B2 )
       => ( ( ord_less_eq_set_b @ A2 @ B2 )
         => ( ( member_a @ ( F2 @ A ) @ ( image_b_a @ F2 @ A2 ) )
            = ( member_b @ A @ A2 ) ) ) ) ) ).

% inj_on_image_mem_iff
thf(fact_308_inj__on__image__mem__iff,axiom,
    ! [F2: b > option_a,B2: set_b,A: b,A2: set_b] :
      ( ( inj_on_b_option_a @ F2 @ B2 )
     => ( ( member_b @ A @ B2 )
       => ( ( ord_less_eq_set_b @ A2 @ B2 )
         => ( ( member_option_a @ ( F2 @ A ) @ ( image_b_option_a @ F2 @ A2 ) )
            = ( member_b @ A @ A2 ) ) ) ) ) ).

% inj_on_image_mem_iff
thf(fact_309_inj__on__image__mem__iff,axiom,
    ! [F2: b > b,B2: set_b,A: b,A2: set_b] :
      ( ( inj_on_b_b @ F2 @ B2 )
     => ( ( member_b @ A @ B2 )
       => ( ( ord_less_eq_set_b @ A2 @ B2 )
         => ( ( member_b @ ( F2 @ A ) @ ( image_b_b @ F2 @ A2 ) )
            = ( member_b @ A @ A2 ) ) ) ) ) ).

% inj_on_image_mem_iff
thf(fact_310_inj__on__Un__image__eq__iff,axiom,
    ! [F2: option_a > a,A2: set_option_a,B2: set_option_a] :
      ( ( inj_on_option_a_a @ F2 @ ( sup_sup_set_option_a @ A2 @ B2 ) )
     => ( ( ( image_option_a_a @ F2 @ A2 )
          = ( image_option_a_a @ F2 @ B2 ) )
        = ( A2 = B2 ) ) ) ).

% inj_on_Un_image_eq_iff
thf(fact_311_inj__on__Un__image__eq__iff,axiom,
    ! [F2: a > option_a,A2: set_a,B2: set_a] :
      ( ( inj_on_a_option_a @ F2 @ ( sup_sup_set_a @ A2 @ B2 ) )
     => ( ( ( image_a_option_a @ F2 @ A2 )
          = ( image_a_option_a @ F2 @ B2 ) )
        = ( A2 = B2 ) ) ) ).

% inj_on_Un_image_eq_iff
thf(fact_312_inj__on__inverseI,axiom,
    ! [A2: set_a,G: option_a > a,F2: a > option_a] :
      ( ! [X2: a] :
          ( ( member_a @ X2 @ A2 )
         => ( ( G @ ( F2 @ X2 ) )
            = X2 ) )
     => ( inj_on_a_option_a @ F2 @ A2 ) ) ).

% inj_on_inverseI
thf(fact_313_inj__on__contraD,axiom,
    ! [F2: a > option_a,A2: set_a,X3: a,Y2: a] :
      ( ( inj_on_a_option_a @ F2 @ A2 )
     => ( ( X3 != Y2 )
       => ( ( member_a @ X3 @ A2 )
         => ( ( member_a @ Y2 @ A2 )
           => ( ( F2 @ X3 )
             != ( F2 @ Y2 ) ) ) ) ) ) ).

% inj_on_contraD
thf(fact_314_subset__inj__on,axiom,
    ! [F2: a > option_a,B2: set_a,A2: set_a] :
      ( ( inj_on_a_option_a @ F2 @ B2 )
     => ( ( ord_less_eq_set_a @ A2 @ B2 )
       => ( inj_on_a_option_a @ F2 @ A2 ) ) ) ).

% subset_inj_on
thf(fact_315_inj__on__subset,axiom,
    ! [F2: a > option_a,A2: set_a,B2: set_a] :
      ( ( inj_on_a_option_a @ F2 @ A2 )
     => ( ( ord_less_eq_set_a @ B2 @ A2 )
       => ( inj_on_a_option_a @ F2 @ B2 ) ) ) ).

% inj_on_subset
thf(fact_316_inj__on__eq__iff,axiom,
    ! [F2: a > option_a,A2: set_a,X3: a,Y2: a] :
      ( ( inj_on_a_option_a @ F2 @ A2 )
     => ( ( member_a @ X3 @ A2 )
       => ( ( member_a @ Y2 @ A2 )
         => ( ( ( F2 @ X3 )
              = ( F2 @ Y2 ) )
            = ( X3 = Y2 ) ) ) ) ) ).

% inj_on_eq_iff
thf(fact_317_inj__on__cong,axiom,
    ! [A2: set_a,F2: a > option_a,G: a > option_a] :
      ( ! [A4: a] :
          ( ( member_a @ A4 @ A2 )
         => ( ( F2 @ A4 )
            = ( G @ A4 ) ) )
     => ( ( inj_on_a_option_a @ F2 @ A2 )
        = ( inj_on_a_option_a @ G @ A2 ) ) ) ).

% inj_on_cong
thf(fact_318_inj__on__def,axiom,
    ( inj_on_a_option_a
    = ( ^ [F: a > option_a,A5: set_a] :
        ! [X: a] :
          ( ( member_a @ X @ A5 )
         => ! [Y: a] :
              ( ( member_a @ Y @ A5 )
             => ( ( ( F @ X )
                  = ( F @ Y ) )
               => ( X = Y ) ) ) ) ) ) ).

% inj_on_def
thf(fact_319_inj__onI,axiom,
    ! [A2: set_a,F2: a > option_a] :
      ( ! [X2: a,Y3: a] :
          ( ( member_a @ X2 @ A2 )
         => ( ( member_a @ Y3 @ A2 )
           => ( ( ( F2 @ X2 )
                = ( F2 @ Y3 ) )
             => ( X2 = Y3 ) ) ) )
     => ( inj_on_a_option_a @ F2 @ A2 ) ) ).

% inj_onI
thf(fact_320_inj__onD,axiom,
    ! [F2: a > option_a,A2: set_a,X3: a,Y2: a] :
      ( ( inj_on_a_option_a @ F2 @ A2 )
     => ( ( ( F2 @ X3 )
          = ( F2 @ Y2 ) )
       => ( ( member_a @ X3 @ A2 )
         => ( ( member_a @ Y2 @ A2 )
           => ( X3 = Y2 ) ) ) ) ) ).

% inj_onD
thf(fact_321_inj__def,axiom,
    ! [F2: a > option_a] :
      ( ( inj_on_a_option_a @ F2 @ top_top_set_a )
      = ( ! [X: a,Y: a] :
            ( ( ( F2 @ X )
              = ( F2 @ Y ) )
           => ( X = Y ) ) ) ) ).

% inj_def
thf(fact_322_inj__eq,axiom,
    ! [F2: a > option_a,X3: a,Y2: a] :
      ( ( inj_on_a_option_a @ F2 @ top_top_set_a )
     => ( ( ( F2 @ X3 )
          = ( F2 @ Y2 ) )
        = ( X3 = Y2 ) ) ) ).

% inj_eq
thf(fact_323_injI,axiom,
    ! [F2: a > option_a] :
      ( ! [X2: a,Y3: a] :
          ( ( ( F2 @ X2 )
            = ( F2 @ Y3 ) )
         => ( X2 = Y3 ) )
     => ( inj_on_a_option_a @ F2 @ top_top_set_a ) ) ).

% injI
thf(fact_324_injD,axiom,
    ! [F2: a > option_a,X3: a,Y2: a] :
      ( ( inj_on_a_option_a @ F2 @ top_top_set_a )
     => ( ( ( F2 @ X3 )
          = ( F2 @ Y2 ) )
       => ( X3 = Y2 ) ) ) ).

% injD
thf(fact_325_inj__on__image__iff,axiom,
    ! [A2: set_a,G: a > option_a,F2: a > a] :
      ( ! [X2: a] :
          ( ( member_a @ X2 @ A2 )
         => ! [Xa: a] :
              ( ( member_a @ Xa @ A2 )
             => ( ( ( G @ ( F2 @ X2 ) )
                  = ( G @ ( F2 @ Xa ) ) )
                = ( ( G @ X2 )
                  = ( G @ Xa ) ) ) ) )
     => ( ( inj_on_a_a @ F2 @ A2 )
       => ( ( inj_on_a_option_a @ G @ ( image_a_a @ F2 @ A2 ) )
          = ( inj_on_a_option_a @ G @ A2 ) ) ) ) ).

% inj_on_image_iff
thf(fact_326_inj__Some,axiom,
    ! [A2: set_a] : ( inj_on_a_option_a @ some_a @ A2 ) ).

% inj_Some
thf(fact_327_surj__def,axiom,
    ! [F2: a > a] :
      ( ( ( image_a_a @ F2 @ top_top_set_a )
        = top_top_set_a )
      = ( ! [Y: a] :
          ? [X: a] :
            ( Y
            = ( F2 @ X ) ) ) ) ).

% surj_def
thf(fact_328_surj__def,axiom,
    ! [F2: a > option_a] :
      ( ( ( image_a_option_a @ F2 @ top_top_set_a )
        = top_top_set_option_a )
      = ( ! [Y: option_a] :
          ? [X: a] :
            ( Y
            = ( F2 @ X ) ) ) ) ).

% surj_def
thf(fact_329_surj__def,axiom,
    ! [F2: option_a > a] :
      ( ( ( image_option_a_a @ F2 @ top_top_set_option_a )
        = top_top_set_a )
      = ( ! [Y: a] :
          ? [X: option_a] :
            ( Y
            = ( F2 @ X ) ) ) ) ).

% surj_def
thf(fact_330_surj__def,axiom,
    ! [F2: option_a > option_a] :
      ( ( ( image_7439109396645324421tion_a @ F2 @ top_top_set_option_a )
        = top_top_set_option_a )
      = ( ! [Y: option_a] :
          ? [X: option_a] :
            ( Y
            = ( F2 @ X ) ) ) ) ).

% surj_def
thf(fact_331_surjI,axiom,
    ! [G: a > a,F2: a > a] :
      ( ! [X2: a] :
          ( ( G @ ( F2 @ X2 ) )
          = X2 )
     => ( ( image_a_a @ G @ top_top_set_a )
        = top_top_set_a ) ) ).

% surjI
thf(fact_332_surjI,axiom,
    ! [G: a > option_a,F2: option_a > a] :
      ( ! [X2: option_a] :
          ( ( G @ ( F2 @ X2 ) )
          = X2 )
     => ( ( image_a_option_a @ G @ top_top_set_a )
        = top_top_set_option_a ) ) ).

% surjI
thf(fact_333_surjI,axiom,
    ! [G: option_a > a,F2: a > option_a] :
      ( ! [X2: a] :
          ( ( G @ ( F2 @ X2 ) )
          = X2 )
     => ( ( image_option_a_a @ G @ top_top_set_option_a )
        = top_top_set_a ) ) ).

% surjI
thf(fact_334_surjI,axiom,
    ! [G: option_a > option_a,F2: option_a > option_a] :
      ( ! [X2: option_a] :
          ( ( G @ ( F2 @ X2 ) )
          = X2 )
     => ( ( image_7439109396645324421tion_a @ G @ top_top_set_option_a )
        = top_top_set_option_a ) ) ).

% surjI
thf(fact_335_surjE,axiom,
    ! [F2: a > a,Y2: a] :
      ( ( ( image_a_a @ F2 @ top_top_set_a )
        = top_top_set_a )
     => ~ ! [X2: a] :
            ( Y2
           != ( F2 @ X2 ) ) ) ).

% surjE
thf(fact_336_surjE,axiom,
    ! [F2: a > option_a,Y2: option_a] :
      ( ( ( image_a_option_a @ F2 @ top_top_set_a )
        = top_top_set_option_a )
     => ~ ! [X2: a] :
            ( Y2
           != ( F2 @ X2 ) ) ) ).

% surjE
thf(fact_337_surjE,axiom,
    ! [F2: option_a > a,Y2: a] :
      ( ( ( image_option_a_a @ F2 @ top_top_set_option_a )
        = top_top_set_a )
     => ~ ! [X2: option_a] :
            ( Y2
           != ( F2 @ X2 ) ) ) ).

% surjE
thf(fact_338_surjE,axiom,
    ! [F2: option_a > option_a,Y2: option_a] :
      ( ( ( image_7439109396645324421tion_a @ F2 @ top_top_set_option_a )
        = top_top_set_option_a )
     => ~ ! [X2: option_a] :
            ( Y2
           != ( F2 @ X2 ) ) ) ).

% surjE
thf(fact_339_surjD,axiom,
    ! [F2: a > a,Y2: a] :
      ( ( ( image_a_a @ F2 @ top_top_set_a )
        = top_top_set_a )
     => ? [X2: a] :
          ( Y2
          = ( F2 @ X2 ) ) ) ).

% surjD
thf(fact_340_surjD,axiom,
    ! [F2: a > option_a,Y2: option_a] :
      ( ( ( image_a_option_a @ F2 @ top_top_set_a )
        = top_top_set_option_a )
     => ? [X2: a] :
          ( Y2
          = ( F2 @ X2 ) ) ) ).

% surjD
thf(fact_341_surjD,axiom,
    ! [F2: option_a > a,Y2: a] :
      ( ( ( image_option_a_a @ F2 @ top_top_set_option_a )
        = top_top_set_a )
     => ? [X2: option_a] :
          ( Y2
          = ( F2 @ X2 ) ) ) ).

% surjD
thf(fact_342_surjD,axiom,
    ! [F2: option_a > option_a,Y2: option_a] :
      ( ( ( image_7439109396645324421tion_a @ F2 @ top_top_set_option_a )
        = top_top_set_option_a )
     => ? [X2: option_a] :
          ( Y2
          = ( F2 @ X2 ) ) ) ).

% surjD
thf(fact_343_inj__on__fun__updI,axiom,
    ! [F2: option_a > a,A2: set_option_a,Y2: a,X3: option_a] :
      ( ( inj_on_option_a_a @ F2 @ A2 )
     => ( ~ ( member_a @ Y2 @ ( image_option_a_a @ F2 @ A2 ) )
       => ( inj_on_option_a_a @ ( fun_upd_option_a_a @ F2 @ X3 @ Y2 ) @ A2 ) ) ) ).

% inj_on_fun_updI
thf(fact_344_inj__on__fun__updI,axiom,
    ! [F2: a > option_a,A2: set_a,Y2: option_a,X3: a] :
      ( ( inj_on_a_option_a @ F2 @ A2 )
     => ( ~ ( member_option_a @ Y2 @ ( image_a_option_a @ F2 @ A2 ) )
       => ( inj_on_a_option_a @ ( fun_upd_a_option_a @ F2 @ X3 @ Y2 ) @ A2 ) ) ) ).

% inj_on_fun_updI
thf(fact_345_inj__on__fun__updI,axiom,
    ! [F2: c > d,A2: set_c,Y2: d,X3: c] :
      ( ( inj_on_c_d @ F2 @ A2 )
     => ( ~ ( member_d @ Y2 @ ( image_c_d @ F2 @ A2 ) )
       => ( inj_on_c_d @ ( fun_upd_c_d @ F2 @ X3 @ Y2 ) @ A2 ) ) ) ).

% inj_on_fun_updI
thf(fact_346_in__these__eq,axiom,
    ! [X3: option_a,A2: set_option_option_a] :
      ( ( member_option_a @ X3 @ ( these_option_a @ A2 ) )
      = ( member5113800082084363315tion_a @ ( some_option_a @ X3 ) @ A2 ) ) ).

% in_these_eq
thf(fact_347_in__these__eq,axiom,
    ! [X3: b,A2: set_option_b] :
      ( ( member_b @ X3 @ ( these_b @ A2 ) )
      = ( member_option_b @ ( some_b @ X3 ) @ A2 ) ) ).

% in_these_eq
thf(fact_348_in__these__eq,axiom,
    ! [X3: a,A2: set_option_a] :
      ( ( member_a @ X3 @ ( these_a @ A2 ) )
      = ( member_option_a @ ( some_a @ X3 ) @ A2 ) ) ).

% in_these_eq
thf(fact_349_option_Osimps_I14_J,axiom,
    ( ( set_option_option_a2 @ none_option_a )
    = bot_bot_set_option_a ) ).

% option.simps(14)
thf(fact_350_option_Osimps_I14_J,axiom,
    ( ( set_option_a3 @ none_a )
    = bot_bot_set_a ) ).

% option.simps(14)
thf(fact_351_finite__range__updI,axiom,
    ! [F2: a > option_a,A: a,B: a] :
      ( ( finite1674126218327898605tion_a @ ( image_a_option_a @ F2 @ top_top_set_a ) )
     => ( finite1674126218327898605tion_a @ ( image_a_option_a @ ( fun_upd_a_option_a @ F2 @ A @ ( some_a @ B ) ) @ top_top_set_a ) ) ) ).

% finite_range_updI
thf(fact_352_finite__range__updI,axiom,
    ! [F2: option_a > option_a,A: option_a,B: a] :
      ( ( finite1674126218327898605tion_a @ ( image_7439109396645324421tion_a @ F2 @ top_top_set_option_a ) )
     => ( finite1674126218327898605tion_a @ ( image_7439109396645324421tion_a @ ( fun_up1079276522633388797tion_a @ F2 @ A @ ( some_a @ B ) ) @ top_top_set_option_a ) ) ) ).

% finite_range_updI
thf(fact_353_UNIV__option__conv,axiom,
    ( top_to1659475022456381882tion_a
    = ( insert605063979879581146tion_a @ none_option_a @ ( image_2132136900116418507tion_a @ some_option_a @ top_top_set_option_a ) ) ) ).

% UNIV_option_conv
thf(fact_354_UNIV__option__conv,axiom,
    ( top_top_set_option_a
    = ( insert_option_a @ none_a @ ( image_a_option_a @ some_a @ top_top_set_a ) ) ) ).

% UNIV_option_conv
thf(fact_355_the__inv__into__into,axiom,
    ! [F2: a > a,A2: set_a,X3: a,B2: set_a] :
      ( ( inj_on_a_a @ F2 @ A2 )
     => ( ( member_a @ X3 @ ( image_a_a @ F2 @ A2 ) )
       => ( ( ord_less_eq_set_a @ A2 @ B2 )
         => ( member_a @ ( the_inv_into_a_a @ A2 @ F2 @ X3 ) @ B2 ) ) ) ) ).

% the_inv_into_into
thf(fact_356_the__inv__into__into,axiom,
    ! [F2: option_a > a,A2: set_option_a,X3: a,B2: set_option_a] :
      ( ( inj_on_option_a_a @ F2 @ A2 )
     => ( ( member_a @ X3 @ ( image_option_a_a @ F2 @ A2 ) )
       => ( ( ord_le1955136853071979460tion_a @ A2 @ B2 )
         => ( member_option_a @ ( the_in1757154643552616557on_a_a @ A2 @ F2 @ X3 ) @ B2 ) ) ) ) ).

% the_inv_into_into
thf(fact_357_the__inv__into__into,axiom,
    ! [F2: b > a,A2: set_b,X3: a,B2: set_b] :
      ( ( inj_on_b_a @ F2 @ A2 )
     => ( ( member_a @ X3 @ ( image_b_a @ F2 @ A2 ) )
       => ( ( ord_less_eq_set_b @ A2 @ B2 )
         => ( member_b @ ( the_inv_into_b_a @ A2 @ F2 @ X3 ) @ B2 ) ) ) ) ).

% the_inv_into_into
thf(fact_358_the__inv__into__into,axiom,
    ! [F2: a > option_a,A2: set_a,X3: option_a,B2: set_a] :
      ( ( inj_on_a_option_a @ F2 @ A2 )
     => ( ( member_option_a @ X3 @ ( image_a_option_a @ F2 @ A2 ) )
       => ( ( ord_less_eq_set_a @ A2 @ B2 )
         => ( member_a @ ( the_in8758012798868597241tion_a @ A2 @ F2 @ X3 ) @ B2 ) ) ) ) ).

% the_inv_into_into
thf(fact_359_the__inv__into__into,axiom,
    ! [F2: option_a > option_a,A2: set_option_a,X3: option_a,B2: set_option_a] :
      ( ( inj_on8559383841115902449tion_a @ F2 @ A2 )
     => ( ( member_option_a @ X3 @ ( image_7439109396645324421tion_a @ F2 @ A2 ) )
       => ( ( ord_le1955136853071979460tion_a @ A2 @ B2 )
         => ( member_option_a @ ( the_in2538339130118444083tion_a @ A2 @ F2 @ X3 ) @ B2 ) ) ) ) ).

% the_inv_into_into
thf(fact_360_the__inv__into__into,axiom,
    ! [F2: b > option_a,A2: set_b,X3: option_a,B2: set_b] :
      ( ( inj_on_b_option_a @ F2 @ A2 )
     => ( ( member_option_a @ X3 @ ( image_b_option_a @ F2 @ A2 ) )
       => ( ( ord_less_eq_set_b @ A2 @ B2 )
         => ( member_b @ ( the_in5672256556878602680tion_a @ A2 @ F2 @ X3 ) @ B2 ) ) ) ) ).

% the_inv_into_into
thf(fact_361_the__inv__into__into,axiom,
    ! [F2: a > b,A2: set_a,X3: b,B2: set_a] :
      ( ( inj_on_a_b @ F2 @ A2 )
     => ( ( member_b @ X3 @ ( image_a_b @ F2 @ A2 ) )
       => ( ( ord_less_eq_set_a @ A2 @ B2 )
         => ( member_a @ ( the_inv_into_a_b @ A2 @ F2 @ X3 ) @ B2 ) ) ) ) ).

% the_inv_into_into
thf(fact_362_the__inv__into__into,axiom,
    ! [F2: option_a > b,A2: set_option_a,X3: b,B2: set_option_a] :
      ( ( inj_on_option_a_b @ F2 @ A2 )
     => ( ( member_b @ X3 @ ( image_option_a_b @ F2 @ A2 ) )
       => ( ( ord_le1955136853071979460tion_a @ A2 @ B2 )
         => ( member_option_a @ ( the_in1757154643552616558on_a_b @ A2 @ F2 @ X3 ) @ B2 ) ) ) ) ).

% the_inv_into_into
thf(fact_363_the__inv__into__into,axiom,
    ! [F2: b > b,A2: set_b,X3: b,B2: set_b] :
      ( ( inj_on_b_b @ F2 @ A2 )
     => ( ( member_b @ X3 @ ( image_b_b @ F2 @ A2 ) )
       => ( ( ord_less_eq_set_b @ A2 @ B2 )
         => ( member_b @ ( the_inv_into_b_b @ A2 @ F2 @ X3 ) @ B2 ) ) ) ) ).

% the_inv_into_into
thf(fact_364_the__inv__into__onto,axiom,
    ! [F2: option_a > a,A2: set_option_a] :
      ( ( inj_on_option_a_a @ F2 @ A2 )
     => ( ( image_a_option_a @ ( the_in1757154643552616557on_a_a @ A2 @ F2 ) @ ( image_option_a_a @ F2 @ A2 ) )
        = A2 ) ) ).

% the_inv_into_onto
thf(fact_365_the__inv__into__onto,axiom,
    ! [F2: a > option_a,A2: set_a] :
      ( ( inj_on_a_option_a @ F2 @ A2 )
     => ( ( image_option_a_a @ ( the_in8758012798868597241tion_a @ A2 @ F2 ) @ ( image_a_option_a @ F2 @ A2 ) )
        = A2 ) ) ).

% the_inv_into_onto
thf(fact_366_inj__image__Compl__subset,axiom,
    ! [F2: a > option_a,A2: set_a] :
      ( ( inj_on_a_option_a @ F2 @ top_top_set_a )
     => ( ord_le1955136853071979460tion_a @ ( image_a_option_a @ F2 @ ( uminus_uminus_set_a @ A2 ) ) @ ( uminus6205308855922866075tion_a @ ( image_a_option_a @ F2 @ A2 ) ) ) ) ).

% inj_image_Compl_subset
thf(fact_367_inj__image__Compl__subset,axiom,
    ! [F2: option_a > a,A2: set_option_a] :
      ( ( inj_on_option_a_a @ F2 @ top_top_set_option_a )
     => ( ord_less_eq_set_a @ ( image_option_a_a @ F2 @ ( uminus6205308855922866075tion_a @ A2 ) ) @ ( uminus_uminus_set_a @ ( image_option_a_a @ F2 @ A2 ) ) ) ) ).

% inj_image_Compl_subset
thf(fact_368_vimage__subsetI,axiom,
    ! [F2: a > option_a,B2: set_option_a,A2: set_a] :
      ( ( inj_on_a_option_a @ F2 @ top_top_set_a )
     => ( ( ord_le1955136853071979460tion_a @ B2 @ ( image_a_option_a @ F2 @ A2 ) )
       => ( ord_less_eq_set_a @ ( vimage_a_option_a @ F2 @ B2 ) @ A2 ) ) ) ).

% vimage_subsetI
thf(fact_369_vimage__subsetI,axiom,
    ! [F2: option_a > a,B2: set_a,A2: set_option_a] :
      ( ( inj_on_option_a_a @ F2 @ top_top_set_option_a )
     => ( ( ord_less_eq_set_a @ B2 @ ( image_option_a_a @ F2 @ A2 ) )
       => ( ord_le1955136853071979460tion_a @ ( vimage_option_a_a @ F2 @ B2 ) @ A2 ) ) ) ).

% vimage_subsetI
thf(fact_370_these__empty__eq,axiom,
    ! [B2: set_option_option_a] :
      ( ( ( these_option_a @ B2 )
        = bot_bot_set_option_a )
      = ( ( B2 = bot_bo4163488203964334806tion_a )
        | ( B2
          = ( insert605063979879581146tion_a @ none_option_a @ bot_bo4163488203964334806tion_a ) ) ) ) ).

% these_empty_eq
thf(fact_371_these__empty__eq,axiom,
    ! [B2: set_option_a] :
      ( ( ( these_a @ B2 )
        = bot_bot_set_a )
      = ( ( B2 = bot_bot_set_option_a )
        | ( B2
          = ( insert_option_a @ none_a @ bot_bot_set_option_a ) ) ) ) ).

% these_empty_eq
thf(fact_372_these__insert__None,axiom,
    ! [A2: set_option_a] :
      ( ( these_a @ ( insert_option_a @ none_a @ A2 ) )
      = ( these_a @ A2 ) ) ).

% these_insert_None
thf(fact_373_finite__option__UNIV,axiom,
    ( ( finite8114217219359860531tion_a @ top_to1659475022456381882tion_a )
    = ( finite1674126218327898605tion_a @ top_top_set_option_a ) ) ).

% finite_option_UNIV
thf(fact_374_finite__option__UNIV,axiom,
    ( ( finite1674126218327898605tion_a @ top_top_set_option_a )
    = ( finite_finite_a @ top_top_set_a ) ) ).

% finite_option_UNIV
thf(fact_375_these__insert__Some,axiom,
    ! [X3: option_a,A2: set_option_option_a] :
      ( ( these_option_a @ ( insert605063979879581146tion_a @ ( some_option_a @ X3 ) @ A2 ) )
      = ( insert_option_a @ X3 @ ( these_option_a @ A2 ) ) ) ).

% these_insert_Some
thf(fact_376_these__insert__Some,axiom,
    ! [X3: a,A2: set_option_a] :
      ( ( these_a @ ( insert_option_a @ ( some_a @ X3 ) @ A2 ) )
      = ( insert_a @ X3 @ ( these_a @ A2 ) ) ) ).

% these_insert_Some
thf(fact_377_finite__range__Some,axiom,
    ( ( finite8114217219359860531tion_a @ ( image_2132136900116418507tion_a @ some_option_a @ top_top_set_option_a ) )
    = ( finite1674126218327898605tion_a @ top_top_set_option_a ) ) ).

% finite_range_Some
thf(fact_378_finite__range__Some,axiom,
    ( ( finite1674126218327898605tion_a @ ( image_a_option_a @ some_a @ top_top_set_a ) )
    = ( finite_finite_a @ top_top_set_a ) ) ).

% finite_range_Some
thf(fact_379_the__inv__into__f__f,axiom,
    ! [F2: a > option_a,A2: set_a,X3: a] :
      ( ( inj_on_a_option_a @ F2 @ A2 )
     => ( ( member_a @ X3 @ A2 )
       => ( ( the_in8758012798868597241tion_a @ A2 @ F2 @ ( F2 @ X3 ) )
          = X3 ) ) ) ).

% the_inv_into_f_f
thf(fact_380_the__inv__into__f__eq,axiom,
    ! [F2: a > option_a,A2: set_a,X3: a,Y2: option_a] :
      ( ( inj_on_a_option_a @ F2 @ A2 )
     => ( ( ( F2 @ X3 )
          = Y2 )
       => ( ( member_a @ X3 @ A2 )
         => ( ( the_in8758012798868597241tion_a @ A2 @ F2 @ Y2 )
            = X3 ) ) ) ) ).

% the_inv_into_f_eq
thf(fact_381_surj__image__vimage__eq,axiom,
    ! [F2: a > a,A2: set_a] :
      ( ( ( image_a_a @ F2 @ top_top_set_a )
        = top_top_set_a )
     => ( ( image_a_a @ F2 @ ( vimage_a_a @ F2 @ A2 ) )
        = A2 ) ) ).

% surj_image_vimage_eq
thf(fact_382_surj__image__vimage__eq,axiom,
    ! [F2: a > option_a,A2: set_option_a] :
      ( ( ( image_a_option_a @ F2 @ top_top_set_a )
        = top_top_set_option_a )
     => ( ( image_a_option_a @ F2 @ ( vimage_a_option_a @ F2 @ A2 ) )
        = A2 ) ) ).

% surj_image_vimage_eq
thf(fact_383_surj__image__vimage__eq,axiom,
    ! [F2: option_a > a,A2: set_a] :
      ( ( ( image_option_a_a @ F2 @ top_top_set_option_a )
        = top_top_set_a )
     => ( ( image_option_a_a @ F2 @ ( vimage_option_a_a @ F2 @ A2 ) )
        = A2 ) ) ).

% surj_image_vimage_eq
thf(fact_384_surj__image__vimage__eq,axiom,
    ! [F2: option_a > option_a,A2: set_option_a] :
      ( ( ( image_7439109396645324421tion_a @ F2 @ top_top_set_option_a )
        = top_top_set_option_a )
     => ( ( image_7439109396645324421tion_a @ F2 @ ( vimage1562710927270423099tion_a @ F2 @ A2 ) )
        = A2 ) ) ).

% surj_image_vimage_eq
thf(fact_385_inj__img__insertE,axiom,
    ! [F2: a > a,A2: set_a,X3: a,B2: set_a] :
      ( ( inj_on_a_a @ F2 @ A2 )
     => ( ~ ( member_a @ X3 @ B2 )
       => ( ( ( insert_a @ X3 @ B2 )
            = ( image_a_a @ F2 @ A2 ) )
         => ~ ! [X5: a,A6: set_a] :
                ( ~ ( member_a @ X5 @ A6 )
               => ( ( A2
                    = ( insert_a @ X5 @ A6 ) )
                 => ( ( X3
                      = ( F2 @ X5 ) )
                   => ( B2
                     != ( image_a_a @ F2 @ A6 ) ) ) ) ) ) ) ) ).

% inj_img_insertE
thf(fact_386_inj__img__insertE,axiom,
    ! [F2: option_a > a,A2: set_option_a,X3: a,B2: set_a] :
      ( ( inj_on_option_a_a @ F2 @ A2 )
     => ( ~ ( member_a @ X3 @ B2 )
       => ( ( ( insert_a @ X3 @ B2 )
            = ( image_option_a_a @ F2 @ A2 ) )
         => ~ ! [X5: option_a,A6: set_option_a] :
                ( ~ ( member_option_a @ X5 @ A6 )
               => ( ( A2
                    = ( insert_option_a @ X5 @ A6 ) )
                 => ( ( X3
                      = ( F2 @ X5 ) )
                   => ( B2
                     != ( image_option_a_a @ F2 @ A6 ) ) ) ) ) ) ) ) ).

% inj_img_insertE
thf(fact_387_inj__img__insertE,axiom,
    ! [F2: b > a,A2: set_b,X3: a,B2: set_a] :
      ( ( inj_on_b_a @ F2 @ A2 )
     => ( ~ ( member_a @ X3 @ B2 )
       => ( ( ( insert_a @ X3 @ B2 )
            = ( image_b_a @ F2 @ A2 ) )
         => ~ ! [X5: b,A6: set_b] :
                ( ~ ( member_b @ X5 @ A6 )
               => ( ( A2
                    = ( insert_b @ X5 @ A6 ) )
                 => ( ( X3
                      = ( F2 @ X5 ) )
                   => ( B2
                     != ( image_b_a @ F2 @ A6 ) ) ) ) ) ) ) ) ).

% inj_img_insertE
thf(fact_388_inj__img__insertE,axiom,
    ! [F2: a > option_a,A2: set_a,X3: option_a,B2: set_option_a] :
      ( ( inj_on_a_option_a @ F2 @ A2 )
     => ( ~ ( member_option_a @ X3 @ B2 )
       => ( ( ( insert_option_a @ X3 @ B2 )
            = ( image_a_option_a @ F2 @ A2 ) )
         => ~ ! [X5: a,A6: set_a] :
                ( ~ ( member_a @ X5 @ A6 )
               => ( ( A2
                    = ( insert_a @ X5 @ A6 ) )
                 => ( ( X3
                      = ( F2 @ X5 ) )
                   => ( B2
                     != ( image_a_option_a @ F2 @ A6 ) ) ) ) ) ) ) ) ).

% inj_img_insertE
thf(fact_389_inj__img__insertE,axiom,
    ! [F2: option_a > option_a,A2: set_option_a,X3: option_a,B2: set_option_a] :
      ( ( inj_on8559383841115902449tion_a @ F2 @ A2 )
     => ( ~ ( member_option_a @ X3 @ B2 )
       => ( ( ( insert_option_a @ X3 @ B2 )
            = ( image_7439109396645324421tion_a @ F2 @ A2 ) )
         => ~ ! [X5: option_a,A6: set_option_a] :
                ( ~ ( member_option_a @ X5 @ A6 )
               => ( ( A2
                    = ( insert_option_a @ X5 @ A6 ) )
                 => ( ( X3
                      = ( F2 @ X5 ) )
                   => ( B2
                     != ( image_7439109396645324421tion_a @ F2 @ A6 ) ) ) ) ) ) ) ) ).

% inj_img_insertE
thf(fact_390_inj__img__insertE,axiom,
    ! [F2: b > option_a,A2: set_b,X3: option_a,B2: set_option_a] :
      ( ( inj_on_b_option_a @ F2 @ A2 )
     => ( ~ ( member_option_a @ X3 @ B2 )
       => ( ( ( insert_option_a @ X3 @ B2 )
            = ( image_b_option_a @ F2 @ A2 ) )
         => ~ ! [X5: b,A6: set_b] :
                ( ~ ( member_b @ X5 @ A6 )
               => ( ( A2
                    = ( insert_b @ X5 @ A6 ) )
                 => ( ( X3
                      = ( F2 @ X5 ) )
                   => ( B2
                     != ( image_b_option_a @ F2 @ A6 ) ) ) ) ) ) ) ) ).

% inj_img_insertE
thf(fact_391_inj__img__insertE,axiom,
    ! [F2: a > b,A2: set_a,X3: b,B2: set_b] :
      ( ( inj_on_a_b @ F2 @ A2 )
     => ( ~ ( member_b @ X3 @ B2 )
       => ( ( ( insert_b @ X3 @ B2 )
            = ( image_a_b @ F2 @ A2 ) )
         => ~ ! [X5: a,A6: set_a] :
                ( ~ ( member_a @ X5 @ A6 )
               => ( ( A2
                    = ( insert_a @ X5 @ A6 ) )
                 => ( ( X3
                      = ( F2 @ X5 ) )
                   => ( B2
                     != ( image_a_b @ F2 @ A6 ) ) ) ) ) ) ) ) ).

% inj_img_insertE
thf(fact_392_inj__img__insertE,axiom,
    ! [F2: option_a > b,A2: set_option_a,X3: b,B2: set_b] :
      ( ( inj_on_option_a_b @ F2 @ A2 )
     => ( ~ ( member_b @ X3 @ B2 )
       => ( ( ( insert_b @ X3 @ B2 )
            = ( image_option_a_b @ F2 @ A2 ) )
         => ~ ! [X5: option_a,A6: set_option_a] :
                ( ~ ( member_option_a @ X5 @ A6 )
               => ( ( A2
                    = ( insert_option_a @ X5 @ A6 ) )
                 => ( ( X3
                      = ( F2 @ X5 ) )
                   => ( B2
                     != ( image_option_a_b @ F2 @ A6 ) ) ) ) ) ) ) ) ).

% inj_img_insertE
thf(fact_393_inj__img__insertE,axiom,
    ! [F2: b > b,A2: set_b,X3: b,B2: set_b] :
      ( ( inj_on_b_b @ F2 @ A2 )
     => ( ~ ( member_b @ X3 @ B2 )
       => ( ( ( insert_b @ X3 @ B2 )
            = ( image_b_b @ F2 @ A2 ) )
         => ~ ! [X5: b,A6: set_b] :
                ( ~ ( member_b @ X5 @ A6 )
               => ( ( A2
                    = ( insert_b @ X5 @ A6 ) )
                 => ( ( X3
                      = ( F2 @ X5 ) )
                   => ( B2
                     != ( image_b_b @ F2 @ A6 ) ) ) ) ) ) ) ) ).

% inj_img_insertE
thf(fact_394_insert__dom,axiom,
    ! [F2: option_a > option_a,X3: option_a,Y2: a] :
      ( ( ( F2 @ X3 )
        = ( some_a @ Y2 ) )
     => ( ( insert_option_a @ X3 @ ( dom_option_a_a @ F2 ) )
        = ( dom_option_a_a @ F2 ) ) ) ).

% insert_dom
thf(fact_395_insert__dom,axiom,
    ! [F2: a > option_a,X3: a,Y2: a] :
      ( ( ( F2 @ X3 )
        = ( some_a @ Y2 ) )
     => ( ( insert_a @ X3 @ ( dom_a_a @ F2 ) )
        = ( dom_a_a @ F2 ) ) ) ).

% insert_dom
thf(fact_396_surj__vimage__empty,axiom,
    ! [F2: a > a,A2: set_a] :
      ( ( ( image_a_a @ F2 @ top_top_set_a )
        = top_top_set_a )
     => ( ( ( vimage_a_a @ F2 @ A2 )
          = bot_bot_set_a )
        = ( A2 = bot_bot_set_a ) ) ) ).

% surj_vimage_empty
thf(fact_397_surj__vimage__empty,axiom,
    ! [F2: a > option_a,A2: set_option_a] :
      ( ( ( image_a_option_a @ F2 @ top_top_set_a )
        = top_top_set_option_a )
     => ( ( ( vimage_a_option_a @ F2 @ A2 )
          = bot_bot_set_a )
        = ( A2 = bot_bot_set_option_a ) ) ) ).

% surj_vimage_empty
thf(fact_398_surj__vimage__empty,axiom,
    ! [F2: option_a > a,A2: set_a] :
      ( ( ( image_option_a_a @ F2 @ top_top_set_option_a )
        = top_top_set_a )
     => ( ( ( vimage_option_a_a @ F2 @ A2 )
          = bot_bot_set_option_a )
        = ( A2 = bot_bot_set_a ) ) ) ).

% surj_vimage_empty
thf(fact_399_surj__vimage__empty,axiom,
    ! [F2: option_a > option_a,A2: set_option_a] :
      ( ( ( image_7439109396645324421tion_a @ F2 @ top_top_set_option_a )
        = top_top_set_option_a )
     => ( ( ( vimage1562710927270423099tion_a @ F2 @ A2 )
          = bot_bot_set_option_a )
        = ( A2 = bot_bot_set_option_a ) ) ) ).

% surj_vimage_empty
thf(fact_400_vimage__subsetD,axiom,
    ! [F2: a > a,B2: set_a,A2: set_a] :
      ( ( ( image_a_a @ F2 @ top_top_set_a )
        = top_top_set_a )
     => ( ( ord_less_eq_set_a @ ( vimage_a_a @ F2 @ B2 ) @ A2 )
       => ( ord_less_eq_set_a @ B2 @ ( image_a_a @ F2 @ A2 ) ) ) ) ).

% vimage_subsetD
thf(fact_401_vimage__subsetD,axiom,
    ! [F2: a > option_a,B2: set_option_a,A2: set_a] :
      ( ( ( image_a_option_a @ F2 @ top_top_set_a )
        = top_top_set_option_a )
     => ( ( ord_less_eq_set_a @ ( vimage_a_option_a @ F2 @ B2 ) @ A2 )
       => ( ord_le1955136853071979460tion_a @ B2 @ ( image_a_option_a @ F2 @ A2 ) ) ) ) ).

% vimage_subsetD
thf(fact_402_vimage__subsetD,axiom,
    ! [F2: option_a > a,B2: set_a,A2: set_option_a] :
      ( ( ( image_option_a_a @ F2 @ top_top_set_option_a )
        = top_top_set_a )
     => ( ( ord_le1955136853071979460tion_a @ ( vimage_option_a_a @ F2 @ B2 ) @ A2 )
       => ( ord_less_eq_set_a @ B2 @ ( image_option_a_a @ F2 @ A2 ) ) ) ) ).

% vimage_subsetD
thf(fact_403_vimage__subsetD,axiom,
    ! [F2: option_a > option_a,B2: set_option_a,A2: set_option_a] :
      ( ( ( image_7439109396645324421tion_a @ F2 @ top_top_set_option_a )
        = top_top_set_option_a )
     => ( ( ord_le1955136853071979460tion_a @ ( vimage1562710927270423099tion_a @ F2 @ B2 ) @ A2 )
       => ( ord_le1955136853071979460tion_a @ B2 @ ( image_7439109396645324421tion_a @ F2 @ A2 ) ) ) ) ).

% vimage_subsetD
thf(fact_404_inj__vimage__image__eq,axiom,
    ! [F2: a > option_a,A2: set_a] :
      ( ( inj_on_a_option_a @ F2 @ top_top_set_a )
     => ( ( vimage_a_option_a @ F2 @ ( image_a_option_a @ F2 @ A2 ) )
        = A2 ) ) ).

% inj_vimage_image_eq
thf(fact_405_inj__vimage__image__eq,axiom,
    ! [F2: option_a > a,A2: set_option_a] :
      ( ( inj_on_option_a_a @ F2 @ top_top_set_option_a )
     => ( ( vimage_option_a_a @ F2 @ ( image_option_a_a @ F2 @ A2 ) )
        = A2 ) ) ).

% inj_vimage_image_eq
thf(fact_406_surj__Compl__image__subset,axiom,
    ! [F2: a > a,A2: set_a] :
      ( ( ( image_a_a @ F2 @ top_top_set_a )
        = top_top_set_a )
     => ( ord_less_eq_set_a @ ( uminus_uminus_set_a @ ( image_a_a @ F2 @ A2 ) ) @ ( image_a_a @ F2 @ ( uminus_uminus_set_a @ A2 ) ) ) ) ).

% surj_Compl_image_subset
thf(fact_407_surj__Compl__image__subset,axiom,
    ! [F2: a > option_a,A2: set_a] :
      ( ( ( image_a_option_a @ F2 @ top_top_set_a )
        = top_top_set_option_a )
     => ( ord_le1955136853071979460tion_a @ ( uminus6205308855922866075tion_a @ ( image_a_option_a @ F2 @ A2 ) ) @ ( image_a_option_a @ F2 @ ( uminus_uminus_set_a @ A2 ) ) ) ) ).

% surj_Compl_image_subset
thf(fact_408_surj__Compl__image__subset,axiom,
    ! [F2: option_a > a,A2: set_option_a] :
      ( ( ( image_option_a_a @ F2 @ top_top_set_option_a )
        = top_top_set_a )
     => ( ord_less_eq_set_a @ ( uminus_uminus_set_a @ ( image_option_a_a @ F2 @ A2 ) ) @ ( image_option_a_a @ F2 @ ( uminus6205308855922866075tion_a @ A2 ) ) ) ) ).

% surj_Compl_image_subset
thf(fact_409_surj__Compl__image__subset,axiom,
    ! [F2: option_a > option_a,A2: set_option_a] :
      ( ( ( image_7439109396645324421tion_a @ F2 @ top_top_set_option_a )
        = top_top_set_option_a )
     => ( ord_le1955136853071979460tion_a @ ( uminus6205308855922866075tion_a @ ( image_7439109396645324421tion_a @ F2 @ A2 ) ) @ ( image_7439109396645324421tion_a @ F2 @ ( uminus6205308855922866075tion_a @ A2 ) ) ) ) ).

% surj_Compl_image_subset
thf(fact_410_inj__on__the__inv__into,axiom,
    ! [F2: option_a > a,A2: set_option_a] :
      ( ( inj_on_option_a_a @ F2 @ A2 )
     => ( inj_on_a_option_a @ ( the_in1757154643552616557on_a_a @ A2 @ F2 ) @ ( image_option_a_a @ F2 @ A2 ) ) ) ).

% inj_on_the_inv_into
thf(fact_411_inj__on__the__inv__into,axiom,
    ! [F2: a > option_a,A2: set_a] :
      ( ( inj_on_a_option_a @ F2 @ A2 )
     => ( inj_on_option_a_a @ ( the_in8758012798868597241tion_a @ A2 @ F2 ) @ ( image_a_option_a @ F2 @ A2 ) ) ) ).

% inj_on_the_inv_into
thf(fact_412_f__the__inv__into__f,axiom,
    ! [F2: option_a > a,A2: set_option_a,Y2: a] :
      ( ( inj_on_option_a_a @ F2 @ A2 )
     => ( ( member_a @ Y2 @ ( image_option_a_a @ F2 @ A2 ) )
       => ( ( F2 @ ( the_in1757154643552616557on_a_a @ A2 @ F2 @ Y2 ) )
          = Y2 ) ) ) ).

% f_the_inv_into_f
thf(fact_413_f__the__inv__into__f,axiom,
    ! [F2: a > option_a,A2: set_a,Y2: option_a] :
      ( ( inj_on_a_option_a @ F2 @ A2 )
     => ( ( member_option_a @ Y2 @ ( image_a_option_a @ F2 @ A2 ) )
       => ( ( F2 @ ( the_in8758012798868597241tion_a @ A2 @ F2 @ Y2 ) )
          = Y2 ) ) ) ).

% f_the_inv_into_f
thf(fact_414_the__inv__f__f,axiom,
    ! [F2: a > option_a,X3: a] :
      ( ( inj_on_a_option_a @ F2 @ top_top_set_a )
     => ( ( the_in8758012798868597241tion_a @ top_top_set_a @ F2 @ ( F2 @ X3 ) )
        = X3 ) ) ).

% the_inv_f_f
thf(fact_415_finite__map__freshness,axiom,
    ! [F2: a > option_a] :
      ( ( finite_finite_a @ ( dom_a_a @ F2 ) )
     => ( ~ ( finite_finite_a @ top_top_set_a )
       => ? [X2: a] :
            ( ( F2 @ X2 )
            = none_a ) ) ) ).

% finite_map_freshness
thf(fact_416_finite__map__freshness,axiom,
    ! [F2: option_a > option_a] :
      ( ( finite1674126218327898605tion_a @ ( dom_option_a_a @ F2 ) )
     => ( ~ ( finite1674126218327898605tion_a @ top_top_set_option_a )
       => ? [X2: option_a] :
            ( ( F2 @ X2 )
            = none_a ) ) ) ).

% finite_map_freshness
thf(fact_417_option_Osimps_I15_J,axiom,
    ! [X23: option_a] :
      ( ( set_option_option_a2 @ ( some_option_a @ X23 ) )
      = ( insert_option_a @ X23 @ bot_bot_set_option_a ) ) ).

% option.simps(15)
thf(fact_418_option_Osimps_I15_J,axiom,
    ! [X23: a] :
      ( ( set_option_a3 @ ( some_a @ X23 ) )
      = ( insert_a @ X23 @ bot_bot_set_a ) ) ).

% option.simps(15)
thf(fact_419_these__not__empty__eq,axiom,
    ! [B2: set_option_option_a] :
      ( ( ( these_option_a @ B2 )
       != bot_bot_set_option_a )
      = ( ( B2 != bot_bo4163488203964334806tion_a )
        & ( B2
         != ( insert605063979879581146tion_a @ none_option_a @ bot_bo4163488203964334806tion_a ) ) ) ) ).

% these_not_empty_eq
thf(fact_420_these__not__empty__eq,axiom,
    ! [B2: set_option_a] :
      ( ( ( these_a @ B2 )
       != bot_bot_set_a )
      = ( ( B2 != bot_bot_set_option_a )
        & ( B2
         != ( insert_option_a @ none_a @ bot_bot_set_option_a ) ) ) ) ).

% these_not_empty_eq
thf(fact_421_restrict__upd__same,axiom,
    ! [M: a > option_a,X3: a,Y2: a] :
      ( ( restrict_map_a_a @ ( fun_upd_a_option_a @ M @ X3 @ ( some_a @ Y2 ) ) @ ( uminus_uminus_set_a @ ( insert_a @ X3 @ bot_bot_set_a ) ) )
      = ( restrict_map_a_a @ M @ ( uminus_uminus_set_a @ ( insert_a @ X3 @ bot_bot_set_a ) ) ) ) ).

% restrict_upd_same
thf(fact_422_restrict__upd__same,axiom,
    ! [M: option_a > option_a,X3: option_a,Y2: a] :
      ( ( restri3984065703976872170on_a_a @ ( fun_up1079276522633388797tion_a @ M @ X3 @ ( some_a @ Y2 ) ) @ ( uminus6205308855922866075tion_a @ ( insert_option_a @ X3 @ bot_bot_set_option_a ) ) )
      = ( restri3984065703976872170on_a_a @ M @ ( uminus6205308855922866075tion_a @ ( insert_option_a @ X3 @ bot_bot_set_option_a ) ) ) ) ).

% restrict_upd_same
thf(fact_423_dom__fun__upd,axiom,
    ! [Y2: option_a,F2: a > option_a,X3: a] :
      ( ( ( Y2 = none_a )
       => ( ( dom_a_a @ ( fun_upd_a_option_a @ F2 @ X3 @ Y2 ) )
          = ( minus_minus_set_a @ ( dom_a_a @ F2 ) @ ( insert_a @ X3 @ bot_bot_set_a ) ) ) )
      & ( ( Y2 != none_a )
       => ( ( dom_a_a @ ( fun_upd_a_option_a @ F2 @ X3 @ Y2 ) )
          = ( insert_a @ X3 @ ( dom_a_a @ F2 ) ) ) ) ) ).

% dom_fun_upd
thf(fact_424_dom__fun__upd,axiom,
    ! [Y2: option_a,F2: option_a > option_a,X3: option_a] :
      ( ( ( Y2 = none_a )
       => ( ( dom_option_a_a @ ( fun_up1079276522633388797tion_a @ F2 @ X3 @ Y2 ) )
          = ( minus_1574173051537231627tion_a @ ( dom_option_a_a @ F2 ) @ ( insert_option_a @ X3 @ bot_bot_set_option_a ) ) ) )
      & ( ( Y2 != none_a )
       => ( ( dom_option_a_a @ ( fun_up1079276522633388797tion_a @ F2 @ X3 @ Y2 ) )
          = ( insert_option_a @ X3 @ ( dom_option_a_a @ F2 ) ) ) ) ) ).

% dom_fun_upd
thf(fact_425_restrict__complement__singleton__eq,axiom,
    ! [F2: a > option_a,X3: a] :
      ( ( restrict_map_a_a @ F2 @ ( uminus_uminus_set_a @ ( insert_a @ X3 @ bot_bot_set_a ) ) )
      = ( fun_upd_a_option_a @ F2 @ X3 @ none_a ) ) ).

% restrict_complement_singleton_eq
thf(fact_426_restrict__complement__singleton__eq,axiom,
    ! [F2: option_a > option_a,X3: option_a] :
      ( ( restri3984065703976872170on_a_a @ F2 @ ( uminus6205308855922866075tion_a @ ( insert_option_a @ X3 @ bot_bot_set_option_a ) ) )
      = ( fun_up1079276522633388797tion_a @ F2 @ X3 @ none_a ) ) ).

% restrict_complement_singleton_eq
thf(fact_427_finite__range__map__of__map__add,axiom,
    ! [F2: a > option_a,L: list_P1396940483166286381od_a_a] :
      ( ( finite1674126218327898605tion_a @ ( image_a_option_a @ F2 @ top_top_set_a ) )
     => ( finite1674126218327898605tion_a @ ( image_a_option_a @ ( map_add_a_a @ F2 @ ( map_of_a_a @ L ) ) @ top_top_set_a ) ) ) ).

% finite_range_map_of_map_add
thf(fact_428_finite__range__map__of__map__add,axiom,
    ! [F2: option_a > option_a,L: list_P6260409590414597735on_a_a] :
      ( ( finite1674126218327898605tion_a @ ( image_7439109396645324421tion_a @ F2 @ top_top_set_option_a ) )
     => ( finite1674126218327898605tion_a @ ( image_7439109396645324421tion_a @ ( map_add_option_a_a @ F2 @ ( map_of_option_a_a @ L ) ) @ top_top_set_option_a ) ) ) ).

% finite_range_map_of_map_add
thf(fact_429_inj__on__insert,axiom,
    ! [F2: a > a,A: a,A2: set_a] :
      ( ( inj_on_a_a @ F2 @ ( insert_a @ A @ A2 ) )
      = ( ( inj_on_a_a @ F2 @ A2 )
        & ~ ( member_a @ ( F2 @ A ) @ ( image_a_a @ F2 @ ( minus_minus_set_a @ A2 @ ( insert_a @ A @ bot_bot_set_a ) ) ) ) ) ) ).

% inj_on_insert
thf(fact_430_inj__on__insert,axiom,
    ! [F2: a > option_a,A: a,A2: set_a] :
      ( ( inj_on_a_option_a @ F2 @ ( insert_a @ A @ A2 ) )
      = ( ( inj_on_a_option_a @ F2 @ A2 )
        & ~ ( member_option_a @ ( F2 @ A ) @ ( image_a_option_a @ F2 @ ( minus_minus_set_a @ A2 @ ( insert_a @ A @ bot_bot_set_a ) ) ) ) ) ) ).

% inj_on_insert
thf(fact_431_inj__on__insert,axiom,
    ! [F2: a > b,A: a,A2: set_a] :
      ( ( inj_on_a_b @ F2 @ ( insert_a @ A @ A2 ) )
      = ( ( inj_on_a_b @ F2 @ A2 )
        & ~ ( member_b @ ( F2 @ A ) @ ( image_a_b @ F2 @ ( minus_minus_set_a @ A2 @ ( insert_a @ A @ bot_bot_set_a ) ) ) ) ) ) ).

% inj_on_insert
thf(fact_432_inj__on__insert,axiom,
    ! [F2: option_a > a,A: option_a,A2: set_option_a] :
      ( ( inj_on_option_a_a @ F2 @ ( insert_option_a @ A @ A2 ) )
      = ( ( inj_on_option_a_a @ F2 @ A2 )
        & ~ ( member_a @ ( F2 @ A ) @ ( image_option_a_a @ F2 @ ( minus_1574173051537231627tion_a @ A2 @ ( insert_option_a @ A @ bot_bot_set_option_a ) ) ) ) ) ) ).

% inj_on_insert
thf(fact_433_inj__on__insert,axiom,
    ! [F2: option_a > option_a,A: option_a,A2: set_option_a] :
      ( ( inj_on8559383841115902449tion_a @ F2 @ ( insert_option_a @ A @ A2 ) )
      = ( ( inj_on8559383841115902449tion_a @ F2 @ A2 )
        & ~ ( member_option_a @ ( F2 @ A ) @ ( image_7439109396645324421tion_a @ F2 @ ( minus_1574173051537231627tion_a @ A2 @ ( insert_option_a @ A @ bot_bot_set_option_a ) ) ) ) ) ) ).

% inj_on_insert
thf(fact_434_inj__on__insert,axiom,
    ! [F2: option_a > b,A: option_a,A2: set_option_a] :
      ( ( inj_on_option_a_b @ F2 @ ( insert_option_a @ A @ A2 ) )
      = ( ( inj_on_option_a_b @ F2 @ A2 )
        & ~ ( member_b @ ( F2 @ A ) @ ( image_option_a_b @ F2 @ ( minus_1574173051537231627tion_a @ A2 @ ( insert_option_a @ A @ bot_bot_set_option_a ) ) ) ) ) ) ).

% inj_on_insert
thf(fact_435_restrict__out,axiom,
    ! [X3: a,A2: set_a,M: a > option_a] :
      ( ~ ( member_a @ X3 @ A2 )
     => ( ( restrict_map_a_a @ M @ A2 @ X3 )
        = none_a ) ) ).

% restrict_out
thf(fact_436_restrict__out,axiom,
    ! [X3: option_a,A2: set_option_a,M: option_a > option_a] :
      ( ~ ( member_option_a @ X3 @ A2 )
     => ( ( restri3984065703976872170on_a_a @ M @ A2 @ X3 )
        = none_a ) ) ).

% restrict_out
thf(fact_437_restrict__out,axiom,
    ! [X3: b,A2: set_b,M: b > option_a] :
      ( ~ ( member_b @ X3 @ A2 )
     => ( ( restrict_map_b_a @ M @ A2 @ X3 )
        = none_a ) ) ).

% restrict_out
thf(fact_438_restrict__map__to__empty,axiom,
    ! [M: a > option_a] :
      ( ( restrict_map_a_a @ M @ bot_bot_set_a )
      = ( ^ [X: a] : none_a ) ) ).

% restrict_map_to_empty
thf(fact_439_restrict__map__to__empty,axiom,
    ! [M: option_a > option_a] :
      ( ( restri3984065703976872170on_a_a @ M @ bot_bot_set_option_a )
      = ( ^ [X: option_a] : none_a ) ) ).

% restrict_map_to_empty
thf(fact_440_fun__upd__None__restrict,axiom,
    ! [X3: b,D2: set_b,M: b > option_a] :
      ( ( ( member_b @ X3 @ D2 )
       => ( ( fun_upd_b_option_a @ ( restrict_map_b_a @ M @ D2 ) @ X3 @ none_a )
          = ( restrict_map_b_a @ M @ ( minus_minus_set_b @ D2 @ ( insert_b @ X3 @ bot_bot_set_b ) ) ) ) )
      & ( ~ ( member_b @ X3 @ D2 )
       => ( ( fun_upd_b_option_a @ ( restrict_map_b_a @ M @ D2 ) @ X3 @ none_a )
          = ( restrict_map_b_a @ M @ D2 ) ) ) ) ).

% fun_upd_None_restrict
thf(fact_441_fun__upd__None__restrict,axiom,
    ! [X3: a,D2: set_a,M: a > option_a] :
      ( ( ( member_a @ X3 @ D2 )
       => ( ( fun_upd_a_option_a @ ( restrict_map_a_a @ M @ D2 ) @ X3 @ none_a )
          = ( restrict_map_a_a @ M @ ( minus_minus_set_a @ D2 @ ( insert_a @ X3 @ bot_bot_set_a ) ) ) ) )
      & ( ~ ( member_a @ X3 @ D2 )
       => ( ( fun_upd_a_option_a @ ( restrict_map_a_a @ M @ D2 ) @ X3 @ none_a )
          = ( restrict_map_a_a @ M @ D2 ) ) ) ) ).

% fun_upd_None_restrict
thf(fact_442_fun__upd__None__restrict,axiom,
    ! [X3: option_a,D2: set_option_a,M: option_a > option_a] :
      ( ( ( member_option_a @ X3 @ D2 )
       => ( ( fun_up1079276522633388797tion_a @ ( restri3984065703976872170on_a_a @ M @ D2 ) @ X3 @ none_a )
          = ( restri3984065703976872170on_a_a @ M @ ( minus_1574173051537231627tion_a @ D2 @ ( insert_option_a @ X3 @ bot_bot_set_option_a ) ) ) ) )
      & ( ~ ( member_option_a @ X3 @ D2 )
       => ( ( fun_up1079276522633388797tion_a @ ( restri3984065703976872170on_a_a @ M @ D2 ) @ X3 @ none_a )
          = ( restri3984065703976872170on_a_a @ M @ D2 ) ) ) ) ).

% fun_upd_None_restrict
thf(fact_443_inj__on__diff,axiom,
    ! [F2: a > option_a,A2: set_a,B2: set_a] :
      ( ( inj_on_a_option_a @ F2 @ A2 )
     => ( inj_on_a_option_a @ F2 @ ( minus_minus_set_a @ A2 @ B2 ) ) ) ).

% inj_on_diff
thf(fact_444_restrict__map__def,axiom,
    ( restrict_map_a_a
    = ( ^ [M3: a > option_a,A5: set_a,X: a] : ( if_option_a @ ( member_a @ X @ A5 ) @ ( M3 @ X ) @ none_a ) ) ) ).

% restrict_map_def
thf(fact_445_restrict__map__def,axiom,
    ( restri3984065703976872170on_a_a
    = ( ^ [M3: option_a > option_a,A5: set_option_a,X: option_a] : ( if_option_a @ ( member_option_a @ X @ A5 ) @ ( M3 @ X ) @ none_a ) ) ) ).

% restrict_map_def
thf(fact_446_restrict__map__def,axiom,
    ( restrict_map_b_a
    = ( ^ [M3: b > option_a,A5: set_b,X: b] : ( if_option_a @ ( member_b @ X @ A5 ) @ ( M3 @ X ) @ none_a ) ) ) ).

% restrict_map_def
thf(fact_447_finite__ran,axiom,
    ! [P: option_a > option_option_a] :
      ( ( finite1674126218327898605tion_a @ ( dom_op4724496951392727122tion_a @ P ) )
     => ( finite1674126218327898605tion_a @ ( ran_op6317565877353657455tion_a @ P ) ) ) ).

% finite_ran
thf(fact_448_finite__ran,axiom,
    ! [P: option_a > option_a] :
      ( ( finite1674126218327898605tion_a @ ( dom_option_a_a @ P ) )
     => ( finite_finite_a @ ( ran_option_a_a @ P ) ) ) ).

% finite_ran
thf(fact_449_finite__ran,axiom,
    ! [P: a > option_option_a] :
      ( ( finite_finite_a @ ( dom_a_option_a @ P ) )
     => ( finite1674126218327898605tion_a @ ( ran_a_option_a @ P ) ) ) ).

% finite_ran
thf(fact_450_finite__ran,axiom,
    ! [P: a > option_a] :
      ( ( finite_finite_a @ ( dom_a_a @ P ) )
     => ( finite_finite_a @ ( ran_a_a @ P ) ) ) ).

% finite_ran
thf(fact_451_image__set__diff,axiom,
    ! [F2: a > option_a,A2: set_a,B2: set_a] :
      ( ( inj_on_a_option_a @ F2 @ top_top_set_a )
     => ( ( image_a_option_a @ F2 @ ( minus_minus_set_a @ A2 @ B2 ) )
        = ( minus_1574173051537231627tion_a @ ( image_a_option_a @ F2 @ A2 ) @ ( image_a_option_a @ F2 @ B2 ) ) ) ) ).

% image_set_diff
thf(fact_452_image__set__diff,axiom,
    ! [F2: option_a > a,A2: set_option_a,B2: set_option_a] :
      ( ( inj_on_option_a_a @ F2 @ top_top_set_option_a )
     => ( ( image_option_a_a @ F2 @ ( minus_1574173051537231627tion_a @ A2 @ B2 ) )
        = ( minus_minus_set_a @ ( image_option_a_a @ F2 @ A2 ) @ ( image_option_a_a @ F2 @ B2 ) ) ) ) ).

% image_set_diff
thf(fact_453_inj__on__image__set__diff,axiom,
    ! [F2: option_a > a,C3: set_option_a,A2: set_option_a,B2: set_option_a] :
      ( ( inj_on_option_a_a @ F2 @ C3 )
     => ( ( ord_le1955136853071979460tion_a @ ( minus_1574173051537231627tion_a @ A2 @ B2 ) @ C3 )
       => ( ( ord_le1955136853071979460tion_a @ B2 @ C3 )
         => ( ( image_option_a_a @ F2 @ ( minus_1574173051537231627tion_a @ A2 @ B2 ) )
            = ( minus_minus_set_a @ ( image_option_a_a @ F2 @ A2 ) @ ( image_option_a_a @ F2 @ B2 ) ) ) ) ) ) ).

% inj_on_image_set_diff
thf(fact_454_inj__on__image__set__diff,axiom,
    ! [F2: a > option_a,C3: set_a,A2: set_a,B2: set_a] :
      ( ( inj_on_a_option_a @ F2 @ C3 )
     => ( ( ord_less_eq_set_a @ ( minus_minus_set_a @ A2 @ B2 ) @ C3 )
       => ( ( ord_less_eq_set_a @ B2 @ C3 )
         => ( ( image_a_option_a @ F2 @ ( minus_minus_set_a @ A2 @ B2 ) )
            = ( minus_1574173051537231627tion_a @ ( image_a_option_a @ F2 @ A2 ) @ ( image_a_option_a @ F2 @ B2 ) ) ) ) ) ) ).

% inj_on_image_set_diff
thf(fact_455_dom__minus,axiom,
    ! [F2: option_a > option_a,X3: option_a,A2: set_option_a] :
      ( ( ( F2 @ X3 )
        = none_a )
     => ( ( minus_1574173051537231627tion_a @ ( dom_option_a_a @ F2 ) @ ( insert_option_a @ X3 @ A2 ) )
        = ( minus_1574173051537231627tion_a @ ( dom_option_a_a @ F2 ) @ A2 ) ) ) ).

% dom_minus
thf(fact_456_dom__minus,axiom,
    ! [F2: a > option_a,X3: a,A2: set_a] :
      ( ( ( F2 @ X3 )
        = none_a )
     => ( ( minus_minus_set_a @ ( dom_a_a @ F2 ) @ ( insert_a @ X3 @ A2 ) )
        = ( minus_minus_set_a @ ( dom_a_a @ F2 ) @ A2 ) ) ) ).

% dom_minus
thf(fact_457_finite__range__map__of,axiom,
    ! [Xys: list_P1396940483166286381od_a_a] : ( finite1674126218327898605tion_a @ ( image_a_option_a @ ( map_of_a_a @ Xys ) @ top_top_set_a ) ) ).

% finite_range_map_of
thf(fact_458_finite__range__map__of,axiom,
    ! [Xys: list_P6260409590414597735on_a_a] : ( finite1674126218327898605tion_a @ ( image_7439109396645324421tion_a @ ( map_of_option_a_a @ Xys ) @ top_top_set_option_a ) ) ).

% finite_range_map_of
thf(fact_459_fun__upd__image,axiom,
    ! [X3: b,A2: set_b,F2: b > option_a,Y2: option_a] :
      ( ( ( member_b @ X3 @ A2 )
       => ( ( image_b_option_a @ ( fun_upd_b_option_a @ F2 @ X3 @ Y2 ) @ A2 )
          = ( insert_option_a @ Y2 @ ( image_b_option_a @ F2 @ ( minus_minus_set_b @ A2 @ ( insert_b @ X3 @ bot_bot_set_b ) ) ) ) ) )
      & ( ~ ( member_b @ X3 @ A2 )
       => ( ( image_b_option_a @ ( fun_upd_b_option_a @ F2 @ X3 @ Y2 ) @ A2 )
          = ( image_b_option_a @ F2 @ A2 ) ) ) ) ).

% fun_upd_image
thf(fact_460_fun__upd__image,axiom,
    ! [X3: b,A2: set_b,F2: b > a,Y2: a] :
      ( ( ( member_b @ X3 @ A2 )
       => ( ( image_b_a @ ( fun_upd_b_a @ F2 @ X3 @ Y2 ) @ A2 )
          = ( insert_a @ Y2 @ ( image_b_a @ F2 @ ( minus_minus_set_b @ A2 @ ( insert_b @ X3 @ bot_bot_set_b ) ) ) ) ) )
      & ( ~ ( member_b @ X3 @ A2 )
       => ( ( image_b_a @ ( fun_upd_b_a @ F2 @ X3 @ Y2 ) @ A2 )
          = ( image_b_a @ F2 @ A2 ) ) ) ) ).

% fun_upd_image
thf(fact_461_fun__upd__image,axiom,
    ! [X3: c,A2: set_c,F2: c > d,Y2: d] :
      ( ( ( member_c @ X3 @ A2 )
       => ( ( image_c_d @ ( fun_upd_c_d @ F2 @ X3 @ Y2 ) @ A2 )
          = ( insert_d @ Y2 @ ( image_c_d @ F2 @ ( minus_minus_set_c @ A2 @ ( insert_c @ X3 @ bot_bot_set_c ) ) ) ) ) )
      & ( ~ ( member_c @ X3 @ A2 )
       => ( ( image_c_d @ ( fun_upd_c_d @ F2 @ X3 @ Y2 ) @ A2 )
          = ( image_c_d @ F2 @ A2 ) ) ) ) ).

% fun_upd_image
thf(fact_462_fun__upd__image,axiom,
    ! [X3: a,A2: set_a,F2: a > option_a,Y2: option_a] :
      ( ( ( member_a @ X3 @ A2 )
       => ( ( image_a_option_a @ ( fun_upd_a_option_a @ F2 @ X3 @ Y2 ) @ A2 )
          = ( insert_option_a @ Y2 @ ( image_a_option_a @ F2 @ ( minus_minus_set_a @ A2 @ ( insert_a @ X3 @ bot_bot_set_a ) ) ) ) ) )
      & ( ~ ( member_a @ X3 @ A2 )
       => ( ( image_a_option_a @ ( fun_upd_a_option_a @ F2 @ X3 @ Y2 ) @ A2 )
          = ( image_a_option_a @ F2 @ A2 ) ) ) ) ).

% fun_upd_image
thf(fact_463_fun__upd__image,axiom,
    ! [X3: a,A2: set_a,F2: a > a,Y2: a] :
      ( ( ( member_a @ X3 @ A2 )
       => ( ( image_a_a @ ( fun_upd_a_a @ F2 @ X3 @ Y2 ) @ A2 )
          = ( insert_a @ Y2 @ ( image_a_a @ F2 @ ( minus_minus_set_a @ A2 @ ( insert_a @ X3 @ bot_bot_set_a ) ) ) ) ) )
      & ( ~ ( member_a @ X3 @ A2 )
       => ( ( image_a_a @ ( fun_upd_a_a @ F2 @ X3 @ Y2 ) @ A2 )
          = ( image_a_a @ F2 @ A2 ) ) ) ) ).

% fun_upd_image
thf(fact_464_fun__upd__image,axiom,
    ! [X3: option_a,A2: set_option_a,F2: option_a > option_a,Y2: option_a] :
      ( ( ( member_option_a @ X3 @ A2 )
       => ( ( image_7439109396645324421tion_a @ ( fun_up1079276522633388797tion_a @ F2 @ X3 @ Y2 ) @ A2 )
          = ( insert_option_a @ Y2 @ ( image_7439109396645324421tion_a @ F2 @ ( minus_1574173051537231627tion_a @ A2 @ ( insert_option_a @ X3 @ bot_bot_set_option_a ) ) ) ) ) )
      & ( ~ ( member_option_a @ X3 @ A2 )
       => ( ( image_7439109396645324421tion_a @ ( fun_up1079276522633388797tion_a @ F2 @ X3 @ Y2 ) @ A2 )
          = ( image_7439109396645324421tion_a @ F2 @ A2 ) ) ) ) ).

% fun_upd_image
thf(fact_465_fun__upd__image,axiom,
    ! [X3: option_a,A2: set_option_a,F2: option_a > a,Y2: a] :
      ( ( ( member_option_a @ X3 @ A2 )
       => ( ( image_option_a_a @ ( fun_upd_option_a_a @ F2 @ X3 @ Y2 ) @ A2 )
          = ( insert_a @ Y2 @ ( image_option_a_a @ F2 @ ( minus_1574173051537231627tion_a @ A2 @ ( insert_option_a @ X3 @ bot_bot_set_option_a ) ) ) ) ) )
      & ( ~ ( member_option_a @ X3 @ A2 )
       => ( ( image_option_a_a @ ( fun_upd_option_a_a @ F2 @ X3 @ Y2 ) @ A2 )
          = ( image_option_a_a @ F2 @ A2 ) ) ) ) ).

% fun_upd_image
thf(fact_466_ran__map__upd__Some,axiom,
    ! [M: a > option_a,X3: a,Y2: a,Z2: a] :
      ( ( ( M @ X3 )
        = ( some_a @ Y2 ) )
     => ( ( inj_on_a_option_a @ M @ ( dom_a_a @ M ) )
       => ( ~ ( member_a @ Z2 @ ( ran_a_a @ M ) )
         => ( ( ran_a_a @ ( fun_upd_a_option_a @ M @ X3 @ ( some_a @ Z2 ) ) )
            = ( sup_sup_set_a @ ( minus_minus_set_a @ ( ran_a_a @ M ) @ ( insert_a @ Y2 @ bot_bot_set_a ) ) @ ( insert_a @ Z2 @ bot_bot_set_a ) ) ) ) ) ) ).

% ran_map_upd_Some
thf(fact_467_ran__map__add,axiom,
    ! [M1: a > option_b,M22: a > option_b] :
      ( ( ( inf_inf_set_a @ ( dom_a_b @ M1 ) @ ( dom_a_b @ M22 ) )
        = bot_bot_set_a )
     => ( ( ran_a_b @ ( map_add_a_b @ M1 @ M22 ) )
        = ( sup_sup_set_b @ ( ran_a_b @ M1 ) @ ( ran_a_b @ M22 ) ) ) ) ).

% ran_map_add
thf(fact_468_ran__map__add,axiom,
    ! [M1: option_a > option_b,M22: option_a > option_b] :
      ( ( ( inf_inf_set_option_a @ ( dom_option_a_b @ M1 ) @ ( dom_option_a_b @ M22 ) )
        = bot_bot_set_option_a )
     => ( ( ran_option_a_b @ ( map_add_option_a_b @ M1 @ M22 ) )
        = ( sup_sup_set_b @ ( ran_option_a_b @ M1 ) @ ( ran_option_a_b @ M22 ) ) ) ) ).

% ran_map_add
thf(fact_469_inj__on__Un,axiom,
    ! [F2: option_a > a,A2: set_option_a,B2: set_option_a] :
      ( ( inj_on_option_a_a @ F2 @ ( sup_sup_set_option_a @ A2 @ B2 ) )
      = ( ( inj_on_option_a_a @ F2 @ A2 )
        & ( inj_on_option_a_a @ F2 @ B2 )
        & ( ( inf_inf_set_a @ ( image_option_a_a @ F2 @ ( minus_1574173051537231627tion_a @ A2 @ B2 ) ) @ ( image_option_a_a @ F2 @ ( minus_1574173051537231627tion_a @ B2 @ A2 ) ) )
          = bot_bot_set_a ) ) ) ).

% inj_on_Un
thf(fact_470_inj__on__Un,axiom,
    ! [F2: b > a,A2: set_b,B2: set_b] :
      ( ( inj_on_b_a @ F2 @ ( sup_sup_set_b @ A2 @ B2 ) )
      = ( ( inj_on_b_a @ F2 @ A2 )
        & ( inj_on_b_a @ F2 @ B2 )
        & ( ( inf_inf_set_a @ ( image_b_a @ F2 @ ( minus_minus_set_b @ A2 @ B2 ) ) @ ( image_b_a @ F2 @ ( minus_minus_set_b @ B2 @ A2 ) ) )
          = bot_bot_set_a ) ) ) ).

% inj_on_Un
thf(fact_471_inj__on__Un,axiom,
    ! [F2: a > option_a,A2: set_a,B2: set_a] :
      ( ( inj_on_a_option_a @ F2 @ ( sup_sup_set_a @ A2 @ B2 ) )
      = ( ( inj_on_a_option_a @ F2 @ A2 )
        & ( inj_on_a_option_a @ F2 @ B2 )
        & ( ( inf_inf_set_option_a @ ( image_a_option_a @ F2 @ ( minus_minus_set_a @ A2 @ B2 ) ) @ ( image_a_option_a @ F2 @ ( minus_minus_set_a @ B2 @ A2 ) ) )
          = bot_bot_set_option_a ) ) ) ).

% inj_on_Un
thf(fact_472_inj__on__Un,axiom,
    ! [F2: b > option_a,A2: set_b,B2: set_b] :
      ( ( inj_on_b_option_a @ F2 @ ( sup_sup_set_b @ A2 @ B2 ) )
      = ( ( inj_on_b_option_a @ F2 @ A2 )
        & ( inj_on_b_option_a @ F2 @ B2 )
        & ( ( inf_inf_set_option_a @ ( image_b_option_a @ F2 @ ( minus_minus_set_b @ A2 @ B2 ) ) @ ( image_b_option_a @ F2 @ ( minus_minus_set_b @ B2 @ A2 ) ) )
          = bot_bot_set_option_a ) ) ) ).

% inj_on_Un
thf(fact_473_override__on__insert,axiom,
    ! [F2: c > d,G: c > d,X3: c,X6: set_c] :
      ( ( override_on_c_d @ F2 @ G @ ( insert_c @ X3 @ X6 ) )
      = ( fun_upd_c_d @ ( override_on_c_d @ F2 @ G @ X6 ) @ X3 @ ( G @ X3 ) ) ) ).

% override_on_insert
thf(fact_474_override__on__insert_H,axiom,
    ! [F2: c > d,G: c > d,X3: c,X6: set_c] :
      ( ( override_on_c_d @ F2 @ G @ ( insert_c @ X3 @ X6 ) )
      = ( override_on_c_d @ ( fun_upd_c_d @ F2 @ X3 @ ( G @ X3 ) ) @ G @ X6 ) ) ).

% override_on_insert'
thf(fact_475_vimage__subset__eq,axiom,
    ! [F2: a > a,B2: set_a,A2: set_a] :
      ( ( bij_betw_a_a @ F2 @ top_top_set_a @ top_top_set_a )
     => ( ( ord_less_eq_set_a @ ( vimage_a_a @ F2 @ B2 ) @ A2 )
        = ( ord_less_eq_set_a @ B2 @ ( image_a_a @ F2 @ A2 ) ) ) ) ).

% vimage_subset_eq
thf(fact_476_vimage__subset__eq,axiom,
    ! [F2: a > option_a,B2: set_option_a,A2: set_a] :
      ( ( bij_betw_a_option_a @ F2 @ top_top_set_a @ top_top_set_option_a )
     => ( ( ord_less_eq_set_a @ ( vimage_a_option_a @ F2 @ B2 ) @ A2 )
        = ( ord_le1955136853071979460tion_a @ B2 @ ( image_a_option_a @ F2 @ A2 ) ) ) ) ).

% vimage_subset_eq
thf(fact_477_vimage__subset__eq,axiom,
    ! [F2: option_a > a,B2: set_a,A2: set_option_a] :
      ( ( bij_betw_option_a_a @ F2 @ top_top_set_option_a @ top_top_set_a )
     => ( ( ord_le1955136853071979460tion_a @ ( vimage_option_a_a @ F2 @ B2 ) @ A2 )
        = ( ord_less_eq_set_a @ B2 @ ( image_option_a_a @ F2 @ A2 ) ) ) ) ).

% vimage_subset_eq
thf(fact_478_vimage__subset__eq,axiom,
    ! [F2: option_a > option_a,B2: set_option_a,A2: set_option_a] :
      ( ( bij_be5431266891817924854tion_a @ F2 @ top_top_set_option_a @ top_top_set_option_a )
     => ( ( ord_le1955136853071979460tion_a @ ( vimage1562710927270423099tion_a @ F2 @ B2 ) @ A2 )
        = ( ord_le1955136853071979460tion_a @ B2 @ ( image_7439109396645324421tion_a @ F2 @ A2 ) ) ) ) ).

% vimage_subset_eq
thf(fact_479_bij__betw__imp__surj__on,axiom,
    ! [F2: a > option_a,A2: set_a,B2: set_option_a] :
      ( ( bij_betw_a_option_a @ F2 @ A2 @ B2 )
     => ( ( image_a_option_a @ F2 @ A2 )
        = B2 ) ) ).

% bij_betw_imp_surj_on
thf(fact_480_bij__betw__imp__surj__on,axiom,
    ! [F2: option_a > a,A2: set_option_a,B2: set_a] :
      ( ( bij_betw_option_a_a @ F2 @ A2 @ B2 )
     => ( ( image_option_a_a @ F2 @ A2 )
        = B2 ) ) ).

% bij_betw_imp_surj_on
thf(fact_481_involuntory__imp__bij,axiom,
    ! [F2: a > a] :
      ( ! [X2: a] :
          ( ( F2 @ ( F2 @ X2 ) )
          = X2 )
     => ( bij_betw_a_a @ F2 @ top_top_set_a @ top_top_set_a ) ) ).

% involuntory_imp_bij
thf(fact_482_involuntory__imp__bij,axiom,
    ! [F2: option_a > option_a] :
      ( ! [X2: option_a] :
          ( ( F2 @ ( F2 @ X2 ) )
          = X2 )
     => ( bij_be5431266891817924854tion_a @ F2 @ top_top_set_option_a @ top_top_set_option_a ) ) ).

% involuntory_imp_bij
thf(fact_483_bij__pointE,axiom,
    ! [F2: a > a,Y2: a] :
      ( ( bij_betw_a_a @ F2 @ top_top_set_a @ top_top_set_a )
     => ~ ! [X2: a] :
            ( ( Y2
              = ( F2 @ X2 ) )
           => ~ ! [X7: a] :
                  ( ( Y2
                    = ( F2 @ X7 ) )
                 => ( X7 = X2 ) ) ) ) ).

% bij_pointE
thf(fact_484_bij__pointE,axiom,
    ! [F2: a > option_a,Y2: option_a] :
      ( ( bij_betw_a_option_a @ F2 @ top_top_set_a @ top_top_set_option_a )
     => ~ ! [X2: a] :
            ( ( Y2
              = ( F2 @ X2 ) )
           => ~ ! [X7: a] :
                  ( ( Y2
                    = ( F2 @ X7 ) )
                 => ( X7 = X2 ) ) ) ) ).

% bij_pointE
thf(fact_485_bij__pointE,axiom,
    ! [F2: option_a > a,Y2: a] :
      ( ( bij_betw_option_a_a @ F2 @ top_top_set_option_a @ top_top_set_a )
     => ~ ! [X2: option_a] :
            ( ( Y2
              = ( F2 @ X2 ) )
           => ~ ! [X7: option_a] :
                  ( ( Y2
                    = ( F2 @ X7 ) )
                 => ( X7 = X2 ) ) ) ) ).

% bij_pointE
thf(fact_486_bij__pointE,axiom,
    ! [F2: option_a > option_a,Y2: option_a] :
      ( ( bij_be5431266891817924854tion_a @ F2 @ top_top_set_option_a @ top_top_set_option_a )
     => ~ ! [X2: option_a] :
            ( ( Y2
              = ( F2 @ X2 ) )
           => ~ ! [X7: option_a] :
                  ( ( Y2
                    = ( F2 @ X7 ) )
                 => ( X7 = X2 ) ) ) ) ).

% bij_pointE
thf(fact_487_bij__iff,axiom,
    ! [F2: a > a] :
      ( ( bij_betw_a_a @ F2 @ top_top_set_a @ top_top_set_a )
      = ( ! [X: a] :
          ? [Y: a] :
            ( ( ( F2 @ Y )
              = X )
            & ! [Z: a] :
                ( ( ( F2 @ Z )
                  = X )
               => ( Z = Y ) ) ) ) ) ).

% bij_iff
thf(fact_488_bij__iff,axiom,
    ! [F2: a > option_a] :
      ( ( bij_betw_a_option_a @ F2 @ top_top_set_a @ top_top_set_option_a )
      = ( ! [X: option_a] :
          ? [Y: a] :
            ( ( ( F2 @ Y )
              = X )
            & ! [Z: a] :
                ( ( ( F2 @ Z )
                  = X )
               => ( Z = Y ) ) ) ) ) ).

% bij_iff
thf(fact_489_bij__iff,axiom,
    ! [F2: option_a > a] :
      ( ( bij_betw_option_a_a @ F2 @ top_top_set_option_a @ top_top_set_a )
      = ( ! [X: a] :
          ? [Y: option_a] :
            ( ( ( F2 @ Y )
              = X )
            & ! [Z: option_a] :
                ( ( ( F2 @ Z )
                  = X )
               => ( Z = Y ) ) ) ) ) ).

% bij_iff
thf(fact_490_bij__iff,axiom,
    ! [F2: option_a > option_a] :
      ( ( bij_be5431266891817924854tion_a @ F2 @ top_top_set_option_a @ top_top_set_option_a )
      = ( ! [X: option_a] :
          ? [Y: option_a] :
            ( ( ( F2 @ Y )
              = X )
            & ! [Z: option_a] :
                ( ( ( F2 @ Z )
                  = X )
               => ( Z = Y ) ) ) ) ) ).

% bij_iff
thf(fact_491_bij__betw__empty2,axiom,
    ! [F2: a > a,A2: set_a] :
      ( ( bij_betw_a_a @ F2 @ A2 @ bot_bot_set_a )
     => ( A2 = bot_bot_set_a ) ) ).

% bij_betw_empty2
thf(fact_492_bij__betw__empty2,axiom,
    ! [F2: option_a > a,A2: set_option_a] :
      ( ( bij_betw_option_a_a @ F2 @ A2 @ bot_bot_set_a )
     => ( A2 = bot_bot_set_option_a ) ) ).

% bij_betw_empty2
thf(fact_493_bij__betw__empty2,axiom,
    ! [F2: a > option_a,A2: set_a] :
      ( ( bij_betw_a_option_a @ F2 @ A2 @ bot_bot_set_option_a )
     => ( A2 = bot_bot_set_a ) ) ).

% bij_betw_empty2
thf(fact_494_bij__betw__empty2,axiom,
    ! [F2: option_a > option_a,A2: set_option_a] :
      ( ( bij_be5431266891817924854tion_a @ F2 @ A2 @ bot_bot_set_option_a )
     => ( A2 = bot_bot_set_option_a ) ) ).

% bij_betw_empty2
thf(fact_495_bij__betw__empty1,axiom,
    ! [F2: a > a,A2: set_a] :
      ( ( bij_betw_a_a @ F2 @ bot_bot_set_a @ A2 )
     => ( A2 = bot_bot_set_a ) ) ).

% bij_betw_empty1
thf(fact_496_bij__betw__empty1,axiom,
    ! [F2: a > option_a,A2: set_option_a] :
      ( ( bij_betw_a_option_a @ F2 @ bot_bot_set_a @ A2 )
     => ( A2 = bot_bot_set_option_a ) ) ).

% bij_betw_empty1
thf(fact_497_bij__betw__empty1,axiom,
    ! [F2: option_a > a,A2: set_a] :
      ( ( bij_betw_option_a_a @ F2 @ bot_bot_set_option_a @ A2 )
     => ( A2 = bot_bot_set_a ) ) ).

% bij_betw_empty1
thf(fact_498_bij__betw__empty1,axiom,
    ! [F2: option_a > option_a,A2: set_option_a] :
      ( ( bij_be5431266891817924854tion_a @ F2 @ bot_bot_set_option_a @ A2 )
     => ( A2 = bot_bot_set_option_a ) ) ).

% bij_betw_empty1
thf(fact_499_bij__betw__apply,axiom,
    ! [F2: a > a,A2: set_a,B2: set_a,A: a] :
      ( ( bij_betw_a_a @ F2 @ A2 @ B2 )
     => ( ( member_a @ A @ A2 )
       => ( member_a @ ( F2 @ A ) @ B2 ) ) ) ).

% bij_betw_apply
thf(fact_500_bij__betw__apply,axiom,
    ! [F2: a > option_a,A2: set_a,B2: set_option_a,A: a] :
      ( ( bij_betw_a_option_a @ F2 @ A2 @ B2 )
     => ( ( member_a @ A @ A2 )
       => ( member_option_a @ ( F2 @ A ) @ B2 ) ) ) ).

% bij_betw_apply
thf(fact_501_bij__betw__apply,axiom,
    ! [F2: a > b,A2: set_a,B2: set_b,A: a] :
      ( ( bij_betw_a_b @ F2 @ A2 @ B2 )
     => ( ( member_a @ A @ A2 )
       => ( member_b @ ( F2 @ A ) @ B2 ) ) ) ).

% bij_betw_apply
thf(fact_502_bij__betw__apply,axiom,
    ! [F2: option_a > a,A2: set_option_a,B2: set_a,A: option_a] :
      ( ( bij_betw_option_a_a @ F2 @ A2 @ B2 )
     => ( ( member_option_a @ A @ A2 )
       => ( member_a @ ( F2 @ A ) @ B2 ) ) ) ).

% bij_betw_apply
thf(fact_503_bij__betw__apply,axiom,
    ! [F2: option_a > option_a,A2: set_option_a,B2: set_option_a,A: option_a] :
      ( ( bij_be5431266891817924854tion_a @ F2 @ A2 @ B2 )
     => ( ( member_option_a @ A @ A2 )
       => ( member_option_a @ ( F2 @ A ) @ B2 ) ) ) ).

% bij_betw_apply
thf(fact_504_bij__betw__apply,axiom,
    ! [F2: option_a > b,A2: set_option_a,B2: set_b,A: option_a] :
      ( ( bij_betw_option_a_b @ F2 @ A2 @ B2 )
     => ( ( member_option_a @ A @ A2 )
       => ( member_b @ ( F2 @ A ) @ B2 ) ) ) ).

% bij_betw_apply
thf(fact_505_bij__betw__apply,axiom,
    ! [F2: b > a,A2: set_b,B2: set_a,A: b] :
      ( ( bij_betw_b_a @ F2 @ A2 @ B2 )
     => ( ( member_b @ A @ A2 )
       => ( member_a @ ( F2 @ A ) @ B2 ) ) ) ).

% bij_betw_apply
thf(fact_506_bij__betw__apply,axiom,
    ! [F2: b > option_a,A2: set_b,B2: set_option_a,A: b] :
      ( ( bij_betw_b_option_a @ F2 @ A2 @ B2 )
     => ( ( member_b @ A @ A2 )
       => ( member_option_a @ ( F2 @ A ) @ B2 ) ) ) ).

% bij_betw_apply
thf(fact_507_bij__betw__apply,axiom,
    ! [F2: b > b,A2: set_b,B2: set_b,A: b] :
      ( ( bij_betw_b_b @ F2 @ A2 @ B2 )
     => ( ( member_b @ A @ A2 )
       => ( member_b @ ( F2 @ A ) @ B2 ) ) ) ).

% bij_betw_apply
thf(fact_508_bij__betw__iff__bijections,axiom,
    ( bij_betw_a_a
    = ( ^ [F: a > a,A5: set_a,B5: set_a] :
        ? [G2: a > a] :
          ( ! [X: a] :
              ( ( member_a @ X @ A5 )
             => ( ( member_a @ ( F @ X ) @ B5 )
                & ( ( G2 @ ( F @ X ) )
                  = X ) ) )
          & ! [X: a] :
              ( ( member_a @ X @ B5 )
             => ( ( member_a @ ( G2 @ X ) @ A5 )
                & ( ( F @ ( G2 @ X ) )
                  = X ) ) ) ) ) ) ).

% bij_betw_iff_bijections
thf(fact_509_bij__betw__iff__bijections,axiom,
    ( bij_betw_option_a_a
    = ( ^ [F: option_a > a,A5: set_option_a,B5: set_a] :
        ? [G2: a > option_a] :
          ( ! [X: option_a] :
              ( ( member_option_a @ X @ A5 )
             => ( ( member_a @ ( F @ X ) @ B5 )
                & ( ( G2 @ ( F @ X ) )
                  = X ) ) )
          & ! [X: a] :
              ( ( member_a @ X @ B5 )
             => ( ( member_option_a @ ( G2 @ X ) @ A5 )
                & ( ( F @ ( G2 @ X ) )
                  = X ) ) ) ) ) ) ).

% bij_betw_iff_bijections
thf(fact_510_bij__betw__iff__bijections,axiom,
    ( bij_betw_b_a
    = ( ^ [F: b > a,A5: set_b,B5: set_a] :
        ? [G2: a > b] :
          ( ! [X: b] :
              ( ( member_b @ X @ A5 )
             => ( ( member_a @ ( F @ X ) @ B5 )
                & ( ( G2 @ ( F @ X ) )
                  = X ) ) )
          & ! [X: a] :
              ( ( member_a @ X @ B5 )
             => ( ( member_b @ ( G2 @ X ) @ A5 )
                & ( ( F @ ( G2 @ X ) )
                  = X ) ) ) ) ) ) ).

% bij_betw_iff_bijections
thf(fact_511_bij__betw__iff__bijections,axiom,
    ( bij_betw_a_option_a
    = ( ^ [F: a > option_a,A5: set_a,B5: set_option_a] :
        ? [G2: option_a > a] :
          ( ! [X: a] :
              ( ( member_a @ X @ A5 )
             => ( ( member_option_a @ ( F @ X ) @ B5 )
                & ( ( G2 @ ( F @ X ) )
                  = X ) ) )
          & ! [X: option_a] :
              ( ( member_option_a @ X @ B5 )
             => ( ( member_a @ ( G2 @ X ) @ A5 )
                & ( ( F @ ( G2 @ X ) )
                  = X ) ) ) ) ) ) ).

% bij_betw_iff_bijections
thf(fact_512_bij__betw__iff__bijections,axiom,
    ( bij_be5431266891817924854tion_a
    = ( ^ [F: option_a > option_a,A5: set_option_a,B5: set_option_a] :
        ? [G2: option_a > option_a] :
          ( ! [X: option_a] :
              ( ( member_option_a @ X @ A5 )
             => ( ( member_option_a @ ( F @ X ) @ B5 )
                & ( ( G2 @ ( F @ X ) )
                  = X ) ) )
          & ! [X: option_a] :
              ( ( member_option_a @ X @ B5 )
             => ( ( member_option_a @ ( G2 @ X ) @ A5 )
                & ( ( F @ ( G2 @ X ) )
                  = X ) ) ) ) ) ) ).

% bij_betw_iff_bijections
thf(fact_513_bij__betw__iff__bijections,axiom,
    ( bij_betw_b_option_a
    = ( ^ [F: b > option_a,A5: set_b,B5: set_option_a] :
        ? [G2: option_a > b] :
          ( ! [X: b] :
              ( ( member_b @ X @ A5 )
             => ( ( member_option_a @ ( F @ X ) @ B5 )
                & ( ( G2 @ ( F @ X ) )
                  = X ) ) )
          & ! [X: option_a] :
              ( ( member_option_a @ X @ B5 )
             => ( ( member_b @ ( G2 @ X ) @ A5 )
                & ( ( F @ ( G2 @ X ) )
                  = X ) ) ) ) ) ) ).

% bij_betw_iff_bijections
thf(fact_514_bij__betw__iff__bijections,axiom,
    ( bij_betw_a_b
    = ( ^ [F: a > b,A5: set_a,B5: set_b] :
        ? [G2: b > a] :
          ( ! [X: a] :
              ( ( member_a @ X @ A5 )
             => ( ( member_b @ ( F @ X ) @ B5 )
                & ( ( G2 @ ( F @ X ) )
                  = X ) ) )
          & ! [X: b] :
              ( ( member_b @ X @ B5 )
             => ( ( member_a @ ( G2 @ X ) @ A5 )
                & ( ( F @ ( G2 @ X ) )
                  = X ) ) ) ) ) ) ).

% bij_betw_iff_bijections
thf(fact_515_bij__betw__iff__bijections,axiom,
    ( bij_betw_option_a_b
    = ( ^ [F: option_a > b,A5: set_option_a,B5: set_b] :
        ? [G2: b > option_a] :
          ( ! [X: option_a] :
              ( ( member_option_a @ X @ A5 )
             => ( ( member_b @ ( F @ X ) @ B5 )
                & ( ( G2 @ ( F @ X ) )
                  = X ) ) )
          & ! [X: b] :
              ( ( member_b @ X @ B5 )
             => ( ( member_option_a @ ( G2 @ X ) @ A5 )
                & ( ( F @ ( G2 @ X ) )
                  = X ) ) ) ) ) ) ).

% bij_betw_iff_bijections
thf(fact_516_bij__betw__iff__bijections,axiom,
    ( bij_betw_b_b
    = ( ^ [F: b > b,A5: set_b,B5: set_b] :
        ? [G2: b > b] :
          ( ! [X: b] :
              ( ( member_b @ X @ A5 )
             => ( ( member_b @ ( F @ X ) @ B5 )
                & ( ( G2 @ ( F @ X ) )
                  = X ) ) )
          & ! [X: b] :
              ( ( member_b @ X @ B5 )
             => ( ( member_b @ ( G2 @ X ) @ A5 )
                & ( ( F @ ( G2 @ X ) )
                  = X ) ) ) ) ) ) ).

% bij_betw_iff_bijections
thf(fact_517_bij__betw__partition,axiom,
    ! [F2: b > b,A2: set_b,C3: set_b,B2: set_b,D2: set_b] :
      ( ( bij_betw_b_b @ F2 @ ( sup_sup_set_b @ A2 @ C3 ) @ ( sup_sup_set_b @ B2 @ D2 ) )
     => ( ( bij_betw_b_b @ F2 @ C3 @ D2 )
       => ( ( ( inf_inf_set_b @ A2 @ C3 )
            = bot_bot_set_b )
         => ( ( ( inf_inf_set_b @ B2 @ D2 )
              = bot_bot_set_b )
           => ( bij_betw_b_b @ F2 @ A2 @ B2 ) ) ) ) ) ).

% bij_betw_partition
thf(fact_518_bij__betw__partition,axiom,
    ! [F2: b > a,A2: set_b,C3: set_b,B2: set_a,D2: set_a] :
      ( ( bij_betw_b_a @ F2 @ ( sup_sup_set_b @ A2 @ C3 ) @ ( sup_sup_set_a @ B2 @ D2 ) )
     => ( ( bij_betw_b_a @ F2 @ C3 @ D2 )
       => ( ( ( inf_inf_set_b @ A2 @ C3 )
            = bot_bot_set_b )
         => ( ( ( inf_inf_set_a @ B2 @ D2 )
              = bot_bot_set_a )
           => ( bij_betw_b_a @ F2 @ A2 @ B2 ) ) ) ) ) ).

% bij_betw_partition
thf(fact_519_bij__betw__partition,axiom,
    ! [F2: b > option_a,A2: set_b,C3: set_b,B2: set_option_a,D2: set_option_a] :
      ( ( bij_betw_b_option_a @ F2 @ ( sup_sup_set_b @ A2 @ C3 ) @ ( sup_sup_set_option_a @ B2 @ D2 ) )
     => ( ( bij_betw_b_option_a @ F2 @ C3 @ D2 )
       => ( ( ( inf_inf_set_b @ A2 @ C3 )
            = bot_bot_set_b )
         => ( ( ( inf_inf_set_option_a @ B2 @ D2 )
              = bot_bot_set_option_a )
           => ( bij_betw_b_option_a @ F2 @ A2 @ B2 ) ) ) ) ) ).

% bij_betw_partition
thf(fact_520_bij__betw__partition,axiom,
    ! [F2: a > b,A2: set_a,C3: set_a,B2: set_b,D2: set_b] :
      ( ( bij_betw_a_b @ F2 @ ( sup_sup_set_a @ A2 @ C3 ) @ ( sup_sup_set_b @ B2 @ D2 ) )
     => ( ( bij_betw_a_b @ F2 @ C3 @ D2 )
       => ( ( ( inf_inf_set_a @ A2 @ C3 )
            = bot_bot_set_a )
         => ( ( ( inf_inf_set_b @ B2 @ D2 )
              = bot_bot_set_b )
           => ( bij_betw_a_b @ F2 @ A2 @ B2 ) ) ) ) ) ).

% bij_betw_partition
thf(fact_521_bij__betw__partition,axiom,
    ! [F2: a > a,A2: set_a,C3: set_a,B2: set_a,D2: set_a] :
      ( ( bij_betw_a_a @ F2 @ ( sup_sup_set_a @ A2 @ C3 ) @ ( sup_sup_set_a @ B2 @ D2 ) )
     => ( ( bij_betw_a_a @ F2 @ C3 @ D2 )
       => ( ( ( inf_inf_set_a @ A2 @ C3 )
            = bot_bot_set_a )
         => ( ( ( inf_inf_set_a @ B2 @ D2 )
              = bot_bot_set_a )
           => ( bij_betw_a_a @ F2 @ A2 @ B2 ) ) ) ) ) ).

% bij_betw_partition
thf(fact_522_bij__betw__partition,axiom,
    ! [F2: a > option_a,A2: set_a,C3: set_a,B2: set_option_a,D2: set_option_a] :
      ( ( bij_betw_a_option_a @ F2 @ ( sup_sup_set_a @ A2 @ C3 ) @ ( sup_sup_set_option_a @ B2 @ D2 ) )
     => ( ( bij_betw_a_option_a @ F2 @ C3 @ D2 )
       => ( ( ( inf_inf_set_a @ A2 @ C3 )
            = bot_bot_set_a )
         => ( ( ( inf_inf_set_option_a @ B2 @ D2 )
              = bot_bot_set_option_a )
           => ( bij_betw_a_option_a @ F2 @ A2 @ B2 ) ) ) ) ) ).

% bij_betw_partition
thf(fact_523_bij__betw__partition,axiom,
    ! [F2: option_a > b,A2: set_option_a,C3: set_option_a,B2: set_b,D2: set_b] :
      ( ( bij_betw_option_a_b @ F2 @ ( sup_sup_set_option_a @ A2 @ C3 ) @ ( sup_sup_set_b @ B2 @ D2 ) )
     => ( ( bij_betw_option_a_b @ F2 @ C3 @ D2 )
       => ( ( ( inf_inf_set_option_a @ A2 @ C3 )
            = bot_bot_set_option_a )
         => ( ( ( inf_inf_set_b @ B2 @ D2 )
              = bot_bot_set_b )
           => ( bij_betw_option_a_b @ F2 @ A2 @ B2 ) ) ) ) ) ).

% bij_betw_partition
thf(fact_524_bij__betw__partition,axiom,
    ! [F2: option_a > a,A2: set_option_a,C3: set_option_a,B2: set_a,D2: set_a] :
      ( ( bij_betw_option_a_a @ F2 @ ( sup_sup_set_option_a @ A2 @ C3 ) @ ( sup_sup_set_a @ B2 @ D2 ) )
     => ( ( bij_betw_option_a_a @ F2 @ C3 @ D2 )
       => ( ( ( inf_inf_set_option_a @ A2 @ C3 )
            = bot_bot_set_option_a )
         => ( ( ( inf_inf_set_a @ B2 @ D2 )
              = bot_bot_set_a )
           => ( bij_betw_option_a_a @ F2 @ A2 @ B2 ) ) ) ) ) ).

% bij_betw_partition
thf(fact_525_bij__betw__partition,axiom,
    ! [F2: option_a > option_a,A2: set_option_a,C3: set_option_a,B2: set_option_a,D2: set_option_a] :
      ( ( bij_be5431266891817924854tion_a @ F2 @ ( sup_sup_set_option_a @ A2 @ C3 ) @ ( sup_sup_set_option_a @ B2 @ D2 ) )
     => ( ( bij_be5431266891817924854tion_a @ F2 @ C3 @ D2 )
       => ( ( ( inf_inf_set_option_a @ A2 @ C3 )
            = bot_bot_set_option_a )
         => ( ( ( inf_inf_set_option_a @ B2 @ D2 )
              = bot_bot_set_option_a )
           => ( bij_be5431266891817924854tion_a @ F2 @ A2 @ B2 ) ) ) ) ) ).

% bij_betw_partition
thf(fact_526_bij__betw__combine,axiom,
    ! [F2: b > b,A2: set_b,B2: set_b,C3: set_b,D2: set_b] :
      ( ( bij_betw_b_b @ F2 @ A2 @ B2 )
     => ( ( bij_betw_b_b @ F2 @ C3 @ D2 )
       => ( ( ( inf_inf_set_b @ B2 @ D2 )
            = bot_bot_set_b )
         => ( bij_betw_b_b @ F2 @ ( sup_sup_set_b @ A2 @ C3 ) @ ( sup_sup_set_b @ B2 @ D2 ) ) ) ) ) ).

% bij_betw_combine
thf(fact_527_bij__betw__combine,axiom,
    ! [F2: b > a,A2: set_b,B2: set_a,C3: set_b,D2: set_a] :
      ( ( bij_betw_b_a @ F2 @ A2 @ B2 )
     => ( ( bij_betw_b_a @ F2 @ C3 @ D2 )
       => ( ( ( inf_inf_set_a @ B2 @ D2 )
            = bot_bot_set_a )
         => ( bij_betw_b_a @ F2 @ ( sup_sup_set_b @ A2 @ C3 ) @ ( sup_sup_set_a @ B2 @ D2 ) ) ) ) ) ).

% bij_betw_combine
thf(fact_528_bij__betw__combine,axiom,
    ! [F2: b > option_a,A2: set_b,B2: set_option_a,C3: set_b,D2: set_option_a] :
      ( ( bij_betw_b_option_a @ F2 @ A2 @ B2 )
     => ( ( bij_betw_b_option_a @ F2 @ C3 @ D2 )
       => ( ( ( inf_inf_set_option_a @ B2 @ D2 )
            = bot_bot_set_option_a )
         => ( bij_betw_b_option_a @ F2 @ ( sup_sup_set_b @ A2 @ C3 ) @ ( sup_sup_set_option_a @ B2 @ D2 ) ) ) ) ) ).

% bij_betw_combine
thf(fact_529_bij__betw__imp__inj__on,axiom,
    ! [F2: a > option_a,A2: set_a,B2: set_option_a] :
      ( ( bij_betw_a_option_a @ F2 @ A2 @ B2 )
     => ( inj_on_a_option_a @ F2 @ A2 ) ) ).

% bij_betw_imp_inj_on
thf(fact_530_inj__on__Int,axiom,
    ! [F2: a > option_a,A2: set_a,B2: set_a] :
      ( ( ( inj_on_a_option_a @ F2 @ A2 )
        | ( inj_on_a_option_a @ F2 @ B2 ) )
     => ( inj_on_a_option_a @ F2 @ ( inf_inf_set_a @ A2 @ B2 ) ) ) ).

% inj_on_Int
thf(fact_531_bij__betw__imp__surj,axiom,
    ! [F2: a > a,A2: set_a] :
      ( ( bij_betw_a_a @ F2 @ A2 @ top_top_set_a )
     => ( ( image_a_a @ F2 @ top_top_set_a )
        = top_top_set_a ) ) ).

% bij_betw_imp_surj
thf(fact_532_bij__betw__imp__surj,axiom,
    ! [F2: option_a > a,A2: set_option_a] :
      ( ( bij_betw_option_a_a @ F2 @ A2 @ top_top_set_a )
     => ( ( image_option_a_a @ F2 @ top_top_set_option_a )
        = top_top_set_a ) ) ).

% bij_betw_imp_surj
thf(fact_533_bij__betw__imp__surj,axiom,
    ! [F2: a > option_a,A2: set_a] :
      ( ( bij_betw_a_option_a @ F2 @ A2 @ top_top_set_option_a )
     => ( ( image_a_option_a @ F2 @ top_top_set_a )
        = top_top_set_option_a ) ) ).

% bij_betw_imp_surj
thf(fact_534_bij__betw__imp__surj,axiom,
    ! [F2: option_a > option_a,A2: set_option_a] :
      ( ( bij_be5431266891817924854tion_a @ F2 @ A2 @ top_top_set_option_a )
     => ( ( image_7439109396645324421tion_a @ F2 @ top_top_set_option_a )
        = top_top_set_option_a ) ) ).

% bij_betw_imp_surj
thf(fact_535_bij__is__surj,axiom,
    ! [F2: a > a] :
      ( ( bij_betw_a_a @ F2 @ top_top_set_a @ top_top_set_a )
     => ( ( image_a_a @ F2 @ top_top_set_a )
        = top_top_set_a ) ) ).

% bij_is_surj
thf(fact_536_bij__is__surj,axiom,
    ! [F2: a > option_a] :
      ( ( bij_betw_a_option_a @ F2 @ top_top_set_a @ top_top_set_option_a )
     => ( ( image_a_option_a @ F2 @ top_top_set_a )
        = top_top_set_option_a ) ) ).

% bij_is_surj
thf(fact_537_bij__is__surj,axiom,
    ! [F2: option_a > a] :
      ( ( bij_betw_option_a_a @ F2 @ top_top_set_option_a @ top_top_set_a )
     => ( ( image_option_a_a @ F2 @ top_top_set_option_a )
        = top_top_set_a ) ) ).

% bij_is_surj
thf(fact_538_bij__is__surj,axiom,
    ! [F2: option_a > option_a] :
      ( ( bij_be5431266891817924854tion_a @ F2 @ top_top_set_option_a @ top_top_set_option_a )
     => ( ( image_7439109396645324421tion_a @ F2 @ top_top_set_option_a )
        = top_top_set_option_a ) ) ).

% bij_is_surj
thf(fact_539_bij__betw__byWitness,axiom,
    ! [A2: set_a,F3: option_a > a,F2: a > option_a,A7: set_option_a] :
      ( ! [X2: a] :
          ( ( member_a @ X2 @ A2 )
         => ( ( F3 @ ( F2 @ X2 ) )
            = X2 ) )
     => ( ! [X2: option_a] :
            ( ( member_option_a @ X2 @ A7 )
           => ( ( F2 @ ( F3 @ X2 ) )
              = X2 ) )
       => ( ( ord_le1955136853071979460tion_a @ ( image_a_option_a @ F2 @ A2 ) @ A7 )
         => ( ( ord_less_eq_set_a @ ( image_option_a_a @ F3 @ A7 ) @ A2 )
           => ( bij_betw_a_option_a @ F2 @ A2 @ A7 ) ) ) ) ) ).

% bij_betw_byWitness
thf(fact_540_bij__betw__byWitness,axiom,
    ! [A2: set_option_a,F3: a > option_a,F2: option_a > a,A7: set_a] :
      ( ! [X2: option_a] :
          ( ( member_option_a @ X2 @ A2 )
         => ( ( F3 @ ( F2 @ X2 ) )
            = X2 ) )
     => ( ! [X2: a] :
            ( ( member_a @ X2 @ A7 )
           => ( ( F2 @ ( F3 @ X2 ) )
              = X2 ) )
       => ( ( ord_less_eq_set_a @ ( image_option_a_a @ F2 @ A2 ) @ A7 )
         => ( ( ord_le1955136853071979460tion_a @ ( image_a_option_a @ F3 @ A7 ) @ A2 )
           => ( bij_betw_option_a_a @ F2 @ A2 @ A7 ) ) ) ) ) ).

% bij_betw_byWitness
thf(fact_541_bij__betw__subset,axiom,
    ! [F2: a > option_a,A2: set_a,A7: set_option_a,B2: set_a,B6: set_option_a] :
      ( ( bij_betw_a_option_a @ F2 @ A2 @ A7 )
     => ( ( ord_less_eq_set_a @ B2 @ A2 )
       => ( ( ( image_a_option_a @ F2 @ B2 )
            = B6 )
         => ( bij_betw_a_option_a @ F2 @ B2 @ B6 ) ) ) ) ).

% bij_betw_subset
thf(fact_542_bij__betw__subset,axiom,
    ! [F2: option_a > a,A2: set_option_a,A7: set_a,B2: set_option_a,B6: set_a] :
      ( ( bij_betw_option_a_a @ F2 @ A2 @ A7 )
     => ( ( ord_le1955136853071979460tion_a @ B2 @ A2 )
       => ( ( ( image_option_a_a @ F2 @ B2 )
            = B6 )
         => ( bij_betw_option_a_a @ F2 @ B2 @ B6 ) ) ) ) ).

% bij_betw_subset
thf(fact_543_inj__on__imp__bij__betw,axiom,
    ! [F2: option_a > a,A2: set_option_a] :
      ( ( inj_on_option_a_a @ F2 @ A2 )
     => ( bij_betw_option_a_a @ F2 @ A2 @ ( image_option_a_a @ F2 @ A2 ) ) ) ).

% inj_on_imp_bij_betw
thf(fact_544_inj__on__imp__bij__betw,axiom,
    ! [F2: a > option_a,A2: set_a] :
      ( ( inj_on_a_option_a @ F2 @ A2 )
     => ( bij_betw_a_option_a @ F2 @ A2 @ ( image_a_option_a @ F2 @ A2 ) ) ) ).

% inj_on_imp_bij_betw
thf(fact_545_bij__betw__imageI,axiom,
    ! [F2: option_a > a,A2: set_option_a,B2: set_a] :
      ( ( inj_on_option_a_a @ F2 @ A2 )
     => ( ( ( image_option_a_a @ F2 @ A2 )
          = B2 )
       => ( bij_betw_option_a_a @ F2 @ A2 @ B2 ) ) ) ).

% bij_betw_imageI
thf(fact_546_bij__betw__imageI,axiom,
    ! [F2: a > option_a,A2: set_a,B2: set_option_a] :
      ( ( inj_on_a_option_a @ F2 @ A2 )
     => ( ( ( image_a_option_a @ F2 @ A2 )
          = B2 )
       => ( bij_betw_a_option_a @ F2 @ A2 @ B2 ) ) ) ).

% bij_betw_imageI
thf(fact_547_bij__betw__def,axiom,
    ( bij_betw_option_a_a
    = ( ^ [F: option_a > a,A5: set_option_a,B5: set_a] :
          ( ( inj_on_option_a_a @ F @ A5 )
          & ( ( image_option_a_a @ F @ A5 )
            = B5 ) ) ) ) ).

% bij_betw_def
thf(fact_548_bij__betw__def,axiom,
    ( bij_betw_a_option_a
    = ( ^ [F: a > option_a,A5: set_a,B5: set_option_a] :
          ( ( inj_on_a_option_a @ F @ A5 )
          & ( ( image_a_option_a @ F @ A5 )
            = B5 ) ) ) ) ).

% bij_betw_def
thf(fact_549_bij__is__inj,axiom,
    ! [F2: a > a] :
      ( ( bij_betw_a_a @ F2 @ top_top_set_a @ top_top_set_a )
     => ( inj_on_a_a @ F2 @ top_top_set_a ) ) ).

% bij_is_inj
thf(fact_550_bij__is__inj,axiom,
    ! [F2: a > option_a] :
      ( ( bij_betw_a_option_a @ F2 @ top_top_set_a @ top_top_set_option_a )
     => ( inj_on_a_option_a @ F2 @ top_top_set_a ) ) ).

% bij_is_inj
thf(fact_551_bij__is__inj,axiom,
    ! [F2: option_a > a] :
      ( ( bij_betw_option_a_a @ F2 @ top_top_set_option_a @ top_top_set_a )
     => ( inj_on_option_a_a @ F2 @ top_top_set_option_a ) ) ).

% bij_is_inj
thf(fact_552_bij__is__inj,axiom,
    ! [F2: option_a > option_a] :
      ( ( bij_be5431266891817924854tion_a @ F2 @ top_top_set_option_a @ top_top_set_option_a )
     => ( inj_on8559383841115902449tion_a @ F2 @ top_top_set_option_a ) ) ).

% bij_is_inj
thf(fact_553_bij__def,axiom,
    ! [F2: a > a] :
      ( ( bij_betw_a_a @ F2 @ top_top_set_a @ top_top_set_a )
      = ( ( inj_on_a_a @ F2 @ top_top_set_a )
        & ( ( image_a_a @ F2 @ top_top_set_a )
          = top_top_set_a ) ) ) ).

% bij_def
thf(fact_554_bij__def,axiom,
    ! [F2: a > option_a] :
      ( ( bij_betw_a_option_a @ F2 @ top_top_set_a @ top_top_set_option_a )
      = ( ( inj_on_a_option_a @ F2 @ top_top_set_a )
        & ( ( image_a_option_a @ F2 @ top_top_set_a )
          = top_top_set_option_a ) ) ) ).

% bij_def
thf(fact_555_bij__def,axiom,
    ! [F2: option_a > a] :
      ( ( bij_betw_option_a_a @ F2 @ top_top_set_option_a @ top_top_set_a )
      = ( ( inj_on_option_a_a @ F2 @ top_top_set_option_a )
        & ( ( image_option_a_a @ F2 @ top_top_set_option_a )
          = top_top_set_a ) ) ) ).

% bij_def
thf(fact_556_bij__def,axiom,
    ! [F2: option_a > option_a] :
      ( ( bij_be5431266891817924854tion_a @ F2 @ top_top_set_option_a @ top_top_set_option_a )
      = ( ( inj_on8559383841115902449tion_a @ F2 @ top_top_set_option_a )
        & ( ( image_7439109396645324421tion_a @ F2 @ top_top_set_option_a )
          = top_top_set_option_a ) ) ) ).

% bij_def
thf(fact_557_bijI,axiom,
    ! [F2: a > a] :
      ( ( inj_on_a_a @ F2 @ top_top_set_a )
     => ( ( ( image_a_a @ F2 @ top_top_set_a )
          = top_top_set_a )
       => ( bij_betw_a_a @ F2 @ top_top_set_a @ top_top_set_a ) ) ) ).

% bijI
thf(fact_558_bijI,axiom,
    ! [F2: a > option_a] :
      ( ( inj_on_a_option_a @ F2 @ top_top_set_a )
     => ( ( ( image_a_option_a @ F2 @ top_top_set_a )
          = top_top_set_option_a )
       => ( bij_betw_a_option_a @ F2 @ top_top_set_a @ top_top_set_option_a ) ) ) ).

% bijI
thf(fact_559_bijI,axiom,
    ! [F2: option_a > a] :
      ( ( inj_on_option_a_a @ F2 @ top_top_set_option_a )
     => ( ( ( image_option_a_a @ F2 @ top_top_set_option_a )
          = top_top_set_a )
       => ( bij_betw_option_a_a @ F2 @ top_top_set_option_a @ top_top_set_a ) ) ) ).

% bijI
thf(fact_560_bijI,axiom,
    ! [F2: option_a > option_a] :
      ( ( inj_on8559383841115902449tion_a @ F2 @ top_top_set_option_a )
     => ( ( ( image_7439109396645324421tion_a @ F2 @ top_top_set_option_a )
          = top_top_set_option_a )
       => ( bij_be5431266891817924854tion_a @ F2 @ top_top_set_option_a @ top_top_set_option_a ) ) ) ).

% bijI
thf(fact_561_notIn__Un__bij__betw,axiom,
    ! [B: b,A2: set_b,F2: b > b,A7: set_b] :
      ( ~ ( member_b @ B @ A2 )
     => ( ~ ( member_b @ ( F2 @ B ) @ A7 )
       => ( ( bij_betw_b_b @ F2 @ A2 @ A7 )
         => ( bij_betw_b_b @ F2 @ ( sup_sup_set_b @ A2 @ ( insert_b @ B @ bot_bot_set_b ) ) @ ( sup_sup_set_b @ A7 @ ( insert_b @ ( F2 @ B ) @ bot_bot_set_b ) ) ) ) ) ) ).

% notIn_Un_bij_betw
thf(fact_562_notIn__Un__bij__betw,axiom,
    ! [B: b,A2: set_b,F2: b > a,A7: set_a] :
      ( ~ ( member_b @ B @ A2 )
     => ( ~ ( member_a @ ( F2 @ B ) @ A7 )
       => ( ( bij_betw_b_a @ F2 @ A2 @ A7 )
         => ( bij_betw_b_a @ F2 @ ( sup_sup_set_b @ A2 @ ( insert_b @ B @ bot_bot_set_b ) ) @ ( sup_sup_set_a @ A7 @ ( insert_a @ ( F2 @ B ) @ bot_bot_set_a ) ) ) ) ) ) ).

% notIn_Un_bij_betw
thf(fact_563_notIn__Un__bij__betw,axiom,
    ! [B: b,A2: set_b,F2: b > option_a,A7: set_option_a] :
      ( ~ ( member_b @ B @ A2 )
     => ( ~ ( member_option_a @ ( F2 @ B ) @ A7 )
       => ( ( bij_betw_b_option_a @ F2 @ A2 @ A7 )
         => ( bij_betw_b_option_a @ F2 @ ( sup_sup_set_b @ A2 @ ( insert_b @ B @ bot_bot_set_b ) ) @ ( sup_sup_set_option_a @ A7 @ ( insert_option_a @ ( F2 @ B ) @ bot_bot_set_option_a ) ) ) ) ) ) ).

% notIn_Un_bij_betw
thf(fact_564_notIn__Un__bij__betw,axiom,
    ! [B: a,A2: set_a,F2: a > b,A7: set_b] :
      ( ~ ( member_a @ B @ A2 )
     => ( ~ ( member_b @ ( F2 @ B ) @ A7 )
       => ( ( bij_betw_a_b @ F2 @ A2 @ A7 )
         => ( bij_betw_a_b @ F2 @ ( sup_sup_set_a @ A2 @ ( insert_a @ B @ bot_bot_set_a ) ) @ ( sup_sup_set_b @ A7 @ ( insert_b @ ( F2 @ B ) @ bot_bot_set_b ) ) ) ) ) ) ).

% notIn_Un_bij_betw
thf(fact_565_notIn__Un__bij__betw,axiom,
    ! [B: a,A2: set_a,F2: a > a,A7: set_a] :
      ( ~ ( member_a @ B @ A2 )
     => ( ~ ( member_a @ ( F2 @ B ) @ A7 )
       => ( ( bij_betw_a_a @ F2 @ A2 @ A7 )
         => ( bij_betw_a_a @ F2 @ ( sup_sup_set_a @ A2 @ ( insert_a @ B @ bot_bot_set_a ) ) @ ( sup_sup_set_a @ A7 @ ( insert_a @ ( F2 @ B ) @ bot_bot_set_a ) ) ) ) ) ) ).

% notIn_Un_bij_betw
thf(fact_566_notIn__Un__bij__betw,axiom,
    ! [B: a,A2: set_a,F2: a > option_a,A7: set_option_a] :
      ( ~ ( member_a @ B @ A2 )
     => ( ~ ( member_option_a @ ( F2 @ B ) @ A7 )
       => ( ( bij_betw_a_option_a @ F2 @ A2 @ A7 )
         => ( bij_betw_a_option_a @ F2 @ ( sup_sup_set_a @ A2 @ ( insert_a @ B @ bot_bot_set_a ) ) @ ( sup_sup_set_option_a @ A7 @ ( insert_option_a @ ( F2 @ B ) @ bot_bot_set_option_a ) ) ) ) ) ) ).

% notIn_Un_bij_betw
thf(fact_567_notIn__Un__bij__betw,axiom,
    ! [B: option_a,A2: set_option_a,F2: option_a > b,A7: set_b] :
      ( ~ ( member_option_a @ B @ A2 )
     => ( ~ ( member_b @ ( F2 @ B ) @ A7 )
       => ( ( bij_betw_option_a_b @ F2 @ A2 @ A7 )
         => ( bij_betw_option_a_b @ F2 @ ( sup_sup_set_option_a @ A2 @ ( insert_option_a @ B @ bot_bot_set_option_a ) ) @ ( sup_sup_set_b @ A7 @ ( insert_b @ ( F2 @ B ) @ bot_bot_set_b ) ) ) ) ) ) ).

% notIn_Un_bij_betw
thf(fact_568_notIn__Un__bij__betw,axiom,
    ! [B: option_a,A2: set_option_a,F2: option_a > a,A7: set_a] :
      ( ~ ( member_option_a @ B @ A2 )
     => ( ~ ( member_a @ ( F2 @ B ) @ A7 )
       => ( ( bij_betw_option_a_a @ F2 @ A2 @ A7 )
         => ( bij_betw_option_a_a @ F2 @ ( sup_sup_set_option_a @ A2 @ ( insert_option_a @ B @ bot_bot_set_option_a ) ) @ ( sup_sup_set_a @ A7 @ ( insert_a @ ( F2 @ B ) @ bot_bot_set_a ) ) ) ) ) ) ).

% notIn_Un_bij_betw
thf(fact_569_notIn__Un__bij__betw,axiom,
    ! [B: option_a,A2: set_option_a,F2: option_a > option_a,A7: set_option_a] :
      ( ~ ( member_option_a @ B @ A2 )
     => ( ~ ( member_option_a @ ( F2 @ B ) @ A7 )
       => ( ( bij_be5431266891817924854tion_a @ F2 @ A2 @ A7 )
         => ( bij_be5431266891817924854tion_a @ F2 @ ( sup_sup_set_option_a @ A2 @ ( insert_option_a @ B @ bot_bot_set_option_a ) ) @ ( sup_sup_set_option_a @ A7 @ ( insert_option_a @ ( F2 @ B ) @ bot_bot_set_option_a ) ) ) ) ) ) ).

% notIn_Un_bij_betw
thf(fact_570_notIn__Un__bij__betw3,axiom,
    ! [B: b,A2: set_b,F2: b > b,A7: set_b] :
      ( ~ ( member_b @ B @ A2 )
     => ( ~ ( member_b @ ( F2 @ B ) @ A7 )
       => ( ( bij_betw_b_b @ F2 @ A2 @ A7 )
          = ( bij_betw_b_b @ F2 @ ( sup_sup_set_b @ A2 @ ( insert_b @ B @ bot_bot_set_b ) ) @ ( sup_sup_set_b @ A7 @ ( insert_b @ ( F2 @ B ) @ bot_bot_set_b ) ) ) ) ) ) ).

% notIn_Un_bij_betw3
thf(fact_571_notIn__Un__bij__betw3,axiom,
    ! [B: b,A2: set_b,F2: b > a,A7: set_a] :
      ( ~ ( member_b @ B @ A2 )
     => ( ~ ( member_a @ ( F2 @ B ) @ A7 )
       => ( ( bij_betw_b_a @ F2 @ A2 @ A7 )
          = ( bij_betw_b_a @ F2 @ ( sup_sup_set_b @ A2 @ ( insert_b @ B @ bot_bot_set_b ) ) @ ( sup_sup_set_a @ A7 @ ( insert_a @ ( F2 @ B ) @ bot_bot_set_a ) ) ) ) ) ) ).

% notIn_Un_bij_betw3
thf(fact_572_notIn__Un__bij__betw3,axiom,
    ! [B: b,A2: set_b,F2: b > option_a,A7: set_option_a] :
      ( ~ ( member_b @ B @ A2 )
     => ( ~ ( member_option_a @ ( F2 @ B ) @ A7 )
       => ( ( bij_betw_b_option_a @ F2 @ A2 @ A7 )
          = ( bij_betw_b_option_a @ F2 @ ( sup_sup_set_b @ A2 @ ( insert_b @ B @ bot_bot_set_b ) ) @ ( sup_sup_set_option_a @ A7 @ ( insert_option_a @ ( F2 @ B ) @ bot_bot_set_option_a ) ) ) ) ) ) ).

% notIn_Un_bij_betw3
thf(fact_573_notIn__Un__bij__betw3,axiom,
    ! [B: a,A2: set_a,F2: a > b,A7: set_b] :
      ( ~ ( member_a @ B @ A2 )
     => ( ~ ( member_b @ ( F2 @ B ) @ A7 )
       => ( ( bij_betw_a_b @ F2 @ A2 @ A7 )
          = ( bij_betw_a_b @ F2 @ ( sup_sup_set_a @ A2 @ ( insert_a @ B @ bot_bot_set_a ) ) @ ( sup_sup_set_b @ A7 @ ( insert_b @ ( F2 @ B ) @ bot_bot_set_b ) ) ) ) ) ) ).

% notIn_Un_bij_betw3
thf(fact_574_notIn__Un__bij__betw3,axiom,
    ! [B: a,A2: set_a,F2: a > a,A7: set_a] :
      ( ~ ( member_a @ B @ A2 )
     => ( ~ ( member_a @ ( F2 @ B ) @ A7 )
       => ( ( bij_betw_a_a @ F2 @ A2 @ A7 )
          = ( bij_betw_a_a @ F2 @ ( sup_sup_set_a @ A2 @ ( insert_a @ B @ bot_bot_set_a ) ) @ ( sup_sup_set_a @ A7 @ ( insert_a @ ( F2 @ B ) @ bot_bot_set_a ) ) ) ) ) ) ).

% notIn_Un_bij_betw3
thf(fact_575_notIn__Un__bij__betw3,axiom,
    ! [B: a,A2: set_a,F2: a > option_a,A7: set_option_a] :
      ( ~ ( member_a @ B @ A2 )
     => ( ~ ( member_option_a @ ( F2 @ B ) @ A7 )
       => ( ( bij_betw_a_option_a @ F2 @ A2 @ A7 )
          = ( bij_betw_a_option_a @ F2 @ ( sup_sup_set_a @ A2 @ ( insert_a @ B @ bot_bot_set_a ) ) @ ( sup_sup_set_option_a @ A7 @ ( insert_option_a @ ( F2 @ B ) @ bot_bot_set_option_a ) ) ) ) ) ) ).

% notIn_Un_bij_betw3
thf(fact_576_notIn__Un__bij__betw3,axiom,
    ! [B: option_a,A2: set_option_a,F2: option_a > b,A7: set_b] :
      ( ~ ( member_option_a @ B @ A2 )
     => ( ~ ( member_b @ ( F2 @ B ) @ A7 )
       => ( ( bij_betw_option_a_b @ F2 @ A2 @ A7 )
          = ( bij_betw_option_a_b @ F2 @ ( sup_sup_set_option_a @ A2 @ ( insert_option_a @ B @ bot_bot_set_option_a ) ) @ ( sup_sup_set_b @ A7 @ ( insert_b @ ( F2 @ B ) @ bot_bot_set_b ) ) ) ) ) ) ).

% notIn_Un_bij_betw3
thf(fact_577_notIn__Un__bij__betw3,axiom,
    ! [B: option_a,A2: set_option_a,F2: option_a > a,A7: set_a] :
      ( ~ ( member_option_a @ B @ A2 )
     => ( ~ ( member_a @ ( F2 @ B ) @ A7 )
       => ( ( bij_betw_option_a_a @ F2 @ A2 @ A7 )
          = ( bij_betw_option_a_a @ F2 @ ( sup_sup_set_option_a @ A2 @ ( insert_option_a @ B @ bot_bot_set_option_a ) ) @ ( sup_sup_set_a @ A7 @ ( insert_a @ ( F2 @ B ) @ bot_bot_set_a ) ) ) ) ) ) ).

% notIn_Un_bij_betw3
thf(fact_578_notIn__Un__bij__betw3,axiom,
    ! [B: option_a,A2: set_option_a,F2: option_a > option_a,A7: set_option_a] :
      ( ~ ( member_option_a @ B @ A2 )
     => ( ~ ( member_option_a @ ( F2 @ B ) @ A7 )
       => ( ( bij_be5431266891817924854tion_a @ F2 @ A2 @ A7 )
          = ( bij_be5431266891817924854tion_a @ F2 @ ( sup_sup_set_option_a @ A2 @ ( insert_option_a @ B @ bot_bot_set_option_a ) ) @ ( sup_sup_set_option_a @ A7 @ ( insert_option_a @ ( F2 @ B ) @ bot_bot_set_option_a ) ) ) ) ) ) ).

% notIn_Un_bij_betw3
thf(fact_579_bij__image__Compl__eq,axiom,
    ! [F2: a > a,A2: set_a] :
      ( ( bij_betw_a_a @ F2 @ top_top_set_a @ top_top_set_a )
     => ( ( image_a_a @ F2 @ ( uminus_uminus_set_a @ A2 ) )
        = ( uminus_uminus_set_a @ ( image_a_a @ F2 @ A2 ) ) ) ) ).

% bij_image_Compl_eq
thf(fact_580_bij__image__Compl__eq,axiom,
    ! [F2: a > option_a,A2: set_a] :
      ( ( bij_betw_a_option_a @ F2 @ top_top_set_a @ top_top_set_option_a )
     => ( ( image_a_option_a @ F2 @ ( uminus_uminus_set_a @ A2 ) )
        = ( uminus6205308855922866075tion_a @ ( image_a_option_a @ F2 @ A2 ) ) ) ) ).

% bij_image_Compl_eq
thf(fact_581_bij__image__Compl__eq,axiom,
    ! [F2: option_a > a,A2: set_option_a] :
      ( ( bij_betw_option_a_a @ F2 @ top_top_set_option_a @ top_top_set_a )
     => ( ( image_option_a_a @ F2 @ ( uminus6205308855922866075tion_a @ A2 ) )
        = ( uminus_uminus_set_a @ ( image_option_a_a @ F2 @ A2 ) ) ) ) ).

% bij_image_Compl_eq
thf(fact_582_bij__image__Compl__eq,axiom,
    ! [F2: option_a > option_a,A2: set_option_a] :
      ( ( bij_be5431266891817924854tion_a @ F2 @ top_top_set_option_a @ top_top_set_option_a )
     => ( ( image_7439109396645324421tion_a @ F2 @ ( uminus6205308855922866075tion_a @ A2 ) )
        = ( uminus6205308855922866075tion_a @ ( image_7439109396645324421tion_a @ F2 @ A2 ) ) ) ) ).

% bij_image_Compl_eq
thf(fact_583_image__Int,axiom,
    ! [F2: a > option_a,A2: set_a,B2: set_a] :
      ( ( inj_on_a_option_a @ F2 @ top_top_set_a )
     => ( ( image_a_option_a @ F2 @ ( inf_inf_set_a @ A2 @ B2 ) )
        = ( inf_inf_set_option_a @ ( image_a_option_a @ F2 @ A2 ) @ ( image_a_option_a @ F2 @ B2 ) ) ) ) ).

% image_Int
thf(fact_584_image__Int,axiom,
    ! [F2: option_a > a,A2: set_option_a,B2: set_option_a] :
      ( ( inj_on_option_a_a @ F2 @ top_top_set_option_a )
     => ( ( image_option_a_a @ F2 @ ( inf_inf_set_option_a @ A2 @ B2 ) )
        = ( inf_inf_set_a @ ( image_option_a_a @ F2 @ A2 ) @ ( image_option_a_a @ F2 @ B2 ) ) ) ) ).

% image_Int
thf(fact_585_inj__on__image__Int,axiom,
    ! [F2: option_a > a,C3: set_option_a,A2: set_option_a,B2: set_option_a] :
      ( ( inj_on_option_a_a @ F2 @ C3 )
     => ( ( ord_le1955136853071979460tion_a @ A2 @ C3 )
       => ( ( ord_le1955136853071979460tion_a @ B2 @ C3 )
         => ( ( image_option_a_a @ F2 @ ( inf_inf_set_option_a @ A2 @ B2 ) )
            = ( inf_inf_set_a @ ( image_option_a_a @ F2 @ A2 ) @ ( image_option_a_a @ F2 @ B2 ) ) ) ) ) ) ).

% inj_on_image_Int
thf(fact_586_inj__on__image__Int,axiom,
    ! [F2: a > option_a,C3: set_a,A2: set_a,B2: set_a] :
      ( ( inj_on_a_option_a @ F2 @ C3 )
     => ( ( ord_less_eq_set_a @ A2 @ C3 )
       => ( ( ord_less_eq_set_a @ B2 @ C3 )
         => ( ( image_a_option_a @ F2 @ ( inf_inf_set_a @ A2 @ B2 ) )
            = ( inf_inf_set_option_a @ ( image_a_option_a @ F2 @ A2 ) @ ( image_a_option_a @ F2 @ B2 ) ) ) ) ) ) ).

% inj_on_image_Int
thf(fact_587_option_Oinj__map,axiom,
    ! [F2: a > option_a] :
      ( ( inj_on_a_option_a @ F2 @ top_top_set_a )
     => ( inj_on2224753519991154999tion_a @ ( map_op2340691886215429841tion_a @ F2 ) @ top_top_set_option_a ) ) ).

% option.inj_map
thf(fact_588_option_Oinj__map,axiom,
    ! [F2: a > a] :
      ( ( inj_on_a_a @ F2 @ top_top_set_a )
     => ( inj_on8559383841115902449tion_a @ ( map_option_a_a2 @ F2 ) @ top_top_set_option_a ) ) ).

% option.inj_map
thf(fact_589_the__inv__into__comp,axiom,
    ! [F2: a > a,G: option_a > a,A2: set_option_a,X3: a] :
      ( ( inj_on_a_a @ F2 @ ( image_option_a_a @ G @ A2 ) )
     => ( ( inj_on_option_a_a @ G @ A2 )
       => ( ( member_a @ X3 @ ( image_a_a @ F2 @ ( image_option_a_a @ G @ A2 ) ) )
         => ( ( the_in1757154643552616557on_a_a @ A2 @ ( comp_a_a_option_a @ F2 @ G ) @ X3 )
            = ( comp_a_option_a_a @ ( the_in1757154643552616557on_a_a @ A2 @ G ) @ ( the_inv_into_a_a @ ( image_option_a_a @ G @ A2 ) @ F2 ) @ X3 ) ) ) ) ) ).

% the_inv_into_comp
thf(fact_590_the__inv__into__comp,axiom,
    ! [F2: option_a > a,G: a > option_a,A2: set_a,X3: a] :
      ( ( inj_on_option_a_a @ F2 @ ( image_a_option_a @ G @ A2 ) )
     => ( ( inj_on_a_option_a @ G @ A2 )
       => ( ( member_a @ X3 @ ( image_option_a_a @ F2 @ ( image_a_option_a @ G @ A2 ) ) )
         => ( ( the_inv_into_a_a @ A2 @ ( comp_option_a_a_a @ F2 @ G ) @ X3 )
            = ( comp_option_a_a_a @ ( the_in8758012798868597241tion_a @ A2 @ G ) @ ( the_in1757154643552616557on_a_a @ ( image_a_option_a @ G @ A2 ) @ F2 ) @ X3 ) ) ) ) ) ).

% the_inv_into_comp
thf(fact_591_the__inv__into__comp,axiom,
    ! [F2: option_a > option_a,G: a > option_a,A2: set_a,X3: option_a] :
      ( ( inj_on8559383841115902449tion_a @ F2 @ ( image_a_option_a @ G @ A2 ) )
     => ( ( inj_on_a_option_a @ G @ A2 )
       => ( ( member_option_a @ X3 @ ( image_7439109396645324421tion_a @ F2 @ ( image_a_option_a @ G @ A2 ) ) )
         => ( ( the_in8758012798868597241tion_a @ A2 @ ( comp_o6087033147929006299on_a_a @ F2 @ G ) @ X3 )
            = ( comp_o3864519266390211175tion_a @ ( the_in8758012798868597241tion_a @ A2 @ G ) @ ( the_in2538339130118444083tion_a @ ( image_a_option_a @ G @ A2 ) @ F2 ) @ X3 ) ) ) ) ) ).

% the_inv_into_comp
thf(fact_592_the__inv__into__comp,axiom,
    ! [F2: a > option_a,G: option_a > a,A2: set_option_a,X3: option_a] :
      ( ( inj_on_a_option_a @ F2 @ ( image_option_a_a @ G @ A2 ) )
     => ( ( inj_on_option_a_a @ G @ A2 )
       => ( ( member_option_a @ X3 @ ( image_a_option_a @ F2 @ ( image_option_a_a @ G @ A2 ) ) )
         => ( ( the_in2538339130118444083tion_a @ A2 @ ( comp_a6249931511552232923tion_a @ F2 @ G ) @ X3 )
            = ( comp_a6249931511552232923tion_a @ ( the_in1757154643552616557on_a_a @ A2 @ G ) @ ( the_in8758012798868597241tion_a @ ( image_option_a_a @ G @ A2 ) @ F2 ) @ X3 ) ) ) ) ) ).

% the_inv_into_comp
thf(fact_593_the__inv__into__comp,axiom,
    ! [F2: a > b,G: option_a > a,A2: set_option_a,X3: b] :
      ( ( inj_on_a_b @ F2 @ ( image_option_a_a @ G @ A2 ) )
     => ( ( inj_on_option_a_a @ G @ A2 )
       => ( ( member_b @ X3 @ ( image_a_b @ F2 @ ( image_option_a_a @ G @ A2 ) ) )
         => ( ( the_in1757154643552616558on_a_b @ A2 @ ( comp_a_b_option_a @ F2 @ G ) @ X3 )
            = ( comp_a_option_a_b @ ( the_in1757154643552616557on_a_a @ A2 @ G ) @ ( the_inv_into_a_b @ ( image_option_a_a @ G @ A2 ) @ F2 ) @ X3 ) ) ) ) ) ).

% the_inv_into_comp
thf(fact_594_the__inv__into__comp,axiom,
    ! [F2: option_a > b,G: a > option_a,A2: set_a,X3: b] :
      ( ( inj_on_option_a_b @ F2 @ ( image_a_option_a @ G @ A2 ) )
     => ( ( inj_on_a_option_a @ G @ A2 )
       => ( ( member_b @ X3 @ ( image_option_a_b @ F2 @ ( image_a_option_a @ G @ A2 ) ) )
         => ( ( the_inv_into_a_b @ A2 @ ( comp_option_a_b_a @ F2 @ G ) @ X3 )
            = ( comp_option_a_a_b @ ( the_in8758012798868597241tion_a @ A2 @ G ) @ ( the_in1757154643552616558on_a_b @ ( image_a_option_a @ G @ A2 ) @ F2 ) @ X3 ) ) ) ) ) ).

% the_inv_into_comp
thf(fact_595_comp__apply,axiom,
    ( comp_option_a_a_a
    = ( ^ [F: option_a > a,G2: a > option_a,X: a] : ( F @ ( G2 @ X ) ) ) ) ).

% comp_apply
thf(fact_596_option_Omap__disc__iff,axiom,
    ! [F2: a > a,A: option_a] :
      ( ( ( map_option_a_a2 @ F2 @ A )
        = none_a )
      = ( A = none_a ) ) ).

% option.map_disc_iff
thf(fact_597_map__option__is__None,axiom,
    ! [F2: a > a,Opt: option_a] :
      ( ( ( map_option_a_a2 @ F2 @ Opt )
        = none_a )
      = ( Opt = none_a ) ) ).

% map_option_is_None
thf(fact_598_None__eq__map__option__iff,axiom,
    ! [F2: a > a,X3: option_a] :
      ( ( none_a
        = ( map_option_a_a2 @ F2 @ X3 ) )
      = ( X3 = none_a ) ) ).

% None_eq_map_option_iff
thf(fact_599_map__option__eq__Some,axiom,
    ! [F2: a > a,Xo: option_a,Y2: a] :
      ( ( ( map_option_a_a2 @ F2 @ Xo )
        = ( some_a @ Y2 ) )
      = ( ? [Z: a] :
            ( ( Xo
              = ( some_a @ Z ) )
            & ( ( F2 @ Z )
              = Y2 ) ) ) ) ).

% map_option_eq_Some
thf(fact_600_is__none__map__option,axiom,
    ! [F2: a > a,X3: option_a] :
      ( ( is_none_a @ ( map_option_a_a2 @ F2 @ X3 ) )
      = ( is_none_a @ X3 ) ) ).

% is_none_map_option
thf(fact_601_case__map__option,axiom,
    ! [G: a,H: option_a > a,F2: a > option_a,X3: option_a] :
      ( ( case_o926465512965637841tion_a @ G @ H @ ( map_op2340691886215429841tion_a @ F2 @ X3 ) )
      = ( case_option_a_a @ G @ ( comp_option_a_a_a @ H @ F2 ) @ X3 ) ) ).

% case_map_option
thf(fact_602_case__map__option,axiom,
    ! [G: option_a,H: a > option_a,F2: a > a,X3: option_a] :
      ( ( case_o3148979394504432965on_a_a @ G @ H @ ( map_option_a_a2 @ F2 @ X3 ) )
      = ( case_o3148979394504432965on_a_a @ G @ ( comp_a_option_a_a @ H @ F2 ) @ X3 ) ) ).

% case_map_option
thf(fact_603_case__map__option,axiom,
    ! [G: $o,H: a > $o,F2: a > a,X3: option_a] :
      ( ( case_option_o_a @ G @ H @ ( map_option_a_a2 @ F2 @ X3 ) )
      = ( case_option_o_a @ G @ ( comp_a_o_a @ H @ F2 ) @ X3 ) ) ).

% case_map_option
thf(fact_604_case__map__option,axiom,
    ! [G: a,H: a > a,F2: a > a,X3: option_a] :
      ( ( case_option_a_a @ G @ H @ ( map_option_a_a2 @ F2 @ X3 ) )
      = ( case_option_a_a @ G @ ( comp_a_a_a @ H @ F2 ) @ X3 ) ) ).

% case_map_option
thf(fact_605_map__conv__bind__option,axiom,
    ( map_option_a_a2
    = ( ^ [F: a > a,X: option_a] : ( bind_a_a @ X @ ( comp_a_option_a_a @ some_a @ F ) ) ) ) ).

% map_conv_bind_option
thf(fact_606_image__comp,axiom,
    ! [F2: option_a > option_a,G: a > option_a,R: set_a] :
      ( ( image_7439109396645324421tion_a @ F2 @ ( image_a_option_a @ G @ R ) )
      = ( image_a_option_a @ ( comp_o6087033147929006299on_a_a @ F2 @ G ) @ R ) ) ).

% image_comp
thf(fact_607_image__comp,axiom,
    ! [F2: a > a,G: option_a > a,R: set_option_a] :
      ( ( image_a_a @ F2 @ ( image_option_a_a @ G @ R ) )
      = ( image_option_a_a @ ( comp_a_a_option_a @ F2 @ G ) @ R ) ) ).

% image_comp
thf(fact_608_image__comp,axiom,
    ! [F2: a > option_a,G: a > a,R: set_a] :
      ( ( image_a_option_a @ F2 @ ( image_a_a @ G @ R ) )
      = ( image_a_option_a @ ( comp_a_option_a_a @ F2 @ G ) @ R ) ) ).

% image_comp
thf(fact_609_image__comp,axiom,
    ! [F2: a > option_a,G: option_a > a,R: set_option_a] :
      ( ( image_a_option_a @ F2 @ ( image_option_a_a @ G @ R ) )
      = ( image_7439109396645324421tion_a @ ( comp_a6249931511552232923tion_a @ F2 @ G ) @ R ) ) ).

% image_comp
thf(fact_610_image__comp,axiom,
    ! [F2: option_a > a,G: option_a > option_a,R: set_option_a] :
      ( ( image_option_a_a @ F2 @ ( image_7439109396645324421tion_a @ G @ R ) )
      = ( image_option_a_a @ ( comp_o3864519266390211175tion_a @ F2 @ G ) @ R ) ) ).

% image_comp
thf(fact_611_image__comp,axiom,
    ! [F2: option_a > a,G: a > option_a,R: set_a] :
      ( ( image_option_a_a @ F2 @ ( image_a_option_a @ G @ R ) )
      = ( image_a_a @ ( comp_option_a_a_a @ F2 @ G ) @ R ) ) ).

% image_comp
thf(fact_612_image__eq__imp__comp,axiom,
    ! [F2: option_a > option_a,A2: set_option_a,G: a > option_a,B2: set_a,H: option_a > a] :
      ( ( ( image_7439109396645324421tion_a @ F2 @ A2 )
        = ( image_a_option_a @ G @ B2 ) )
     => ( ( image_option_a_a @ ( comp_o3864519266390211175tion_a @ H @ F2 ) @ A2 )
        = ( image_a_a @ ( comp_option_a_a_a @ H @ G ) @ B2 ) ) ) ).

% image_eq_imp_comp
thf(fact_613_image__eq__imp__comp,axiom,
    ! [F2: a > a,A2: set_a,G: option_a > a,B2: set_option_a,H: a > option_a] :
      ( ( ( image_a_a @ F2 @ A2 )
        = ( image_option_a_a @ G @ B2 ) )
     => ( ( image_a_option_a @ ( comp_a_option_a_a @ H @ F2 ) @ A2 )
        = ( image_7439109396645324421tion_a @ ( comp_a6249931511552232923tion_a @ H @ G ) @ B2 ) ) ) ).

% image_eq_imp_comp
thf(fact_614_image__eq__imp__comp,axiom,
    ! [F2: a > option_a,A2: set_a,G: option_a > option_a,B2: set_option_a,H: option_a > a] :
      ( ( ( image_a_option_a @ F2 @ A2 )
        = ( image_7439109396645324421tion_a @ G @ B2 ) )
     => ( ( image_a_a @ ( comp_option_a_a_a @ H @ F2 ) @ A2 )
        = ( image_option_a_a @ ( comp_o3864519266390211175tion_a @ H @ G ) @ B2 ) ) ) ).

% image_eq_imp_comp
thf(fact_615_image__eq__imp__comp,axiom,
    ! [F2: a > option_a,A2: set_a,G: a > option_a,B2: set_a,H: option_a > a] :
      ( ( ( image_a_option_a @ F2 @ A2 )
        = ( image_a_option_a @ G @ B2 ) )
     => ( ( image_a_a @ ( comp_option_a_a_a @ H @ F2 ) @ A2 )
        = ( image_a_a @ ( comp_option_a_a_a @ H @ G ) @ B2 ) ) ) ).

% image_eq_imp_comp
thf(fact_616_image__eq__imp__comp,axiom,
    ! [F2: a > option_a,A2: set_a,G: a > option_a,B2: set_a,H: option_a > option_a] :
      ( ( ( image_a_option_a @ F2 @ A2 )
        = ( image_a_option_a @ G @ B2 ) )
     => ( ( image_a_option_a @ ( comp_o6087033147929006299on_a_a @ H @ F2 ) @ A2 )
        = ( image_a_option_a @ ( comp_o6087033147929006299on_a_a @ H @ G ) @ B2 ) ) ) ).

% image_eq_imp_comp
thf(fact_617_image__eq__imp__comp,axiom,
    ! [F2: option_a > a,A2: set_option_a,G: a > a,B2: set_a,H: a > option_a] :
      ( ( ( image_option_a_a @ F2 @ A2 )
        = ( image_a_a @ G @ B2 ) )
     => ( ( image_7439109396645324421tion_a @ ( comp_a6249931511552232923tion_a @ H @ F2 ) @ A2 )
        = ( image_a_option_a @ ( comp_a_option_a_a @ H @ G ) @ B2 ) ) ) ).

% image_eq_imp_comp
thf(fact_618_image__eq__imp__comp,axiom,
    ! [F2: option_a > a,A2: set_option_a,G: option_a > a,B2: set_option_a,H: a > a] :
      ( ( ( image_option_a_a @ F2 @ A2 )
        = ( image_option_a_a @ G @ B2 ) )
     => ( ( image_option_a_a @ ( comp_a_a_option_a @ H @ F2 ) @ A2 )
        = ( image_option_a_a @ ( comp_a_a_option_a @ H @ G ) @ B2 ) ) ) ).

% image_eq_imp_comp
thf(fact_619_set_Ocomp,axiom,
    ! [F2: a > option_a,G: option_a > a] :
      ( ( comp_s1419921648917501825_set_a @ ( vimage_a_option_a @ F2 ) @ ( vimage_option_a_a @ G ) )
      = ( vimage_a_a @ ( comp_option_a_a_a @ G @ F2 ) ) ) ).

% set.comp
thf(fact_620_bind__map__option,axiom,
    ! [F2: a > a,X3: option_a,G: a > option_a] :
      ( ( bind_a_a @ ( map_option_a_a2 @ F2 @ X3 ) @ G )
      = ( bind_a_a @ X3 @ ( comp_a_option_a_a @ G @ F2 ) ) ) ).

% bind_map_option
thf(fact_621_map__option__bind,axiom,
    ! [F2: a > a,X3: option_a,G: a > option_a] :
      ( ( map_option_a_a2 @ F2 @ ( bind_a_a @ X3 @ G ) )
      = ( bind_a_a @ X3 @ ( comp_o6087033147929006299on_a_a @ ( map_option_a_a2 @ F2 ) @ G ) ) ) ).

% map_option_bind
thf(fact_622_comp__eq__dest__lhs,axiom,
    ! [A: option_a > a,B: a > option_a,C2: a > a,V3: a] :
      ( ( ( comp_option_a_a_a @ A @ B )
        = C2 )
     => ( ( A @ ( B @ V3 ) )
        = ( C2 @ V3 ) ) ) ).

% comp_eq_dest_lhs
thf(fact_623_comp__eq__elim,axiom,
    ! [A: option_a > a,B: a > option_a,C2: option_a > a,D: a > option_a] :
      ( ( ( comp_option_a_a_a @ A @ B )
        = ( comp_option_a_a_a @ C2 @ D ) )
     => ! [V4: a] :
          ( ( A @ ( B @ V4 ) )
          = ( C2 @ ( D @ V4 ) ) ) ) ).

% comp_eq_elim
thf(fact_624_comp__eq__dest,axiom,
    ! [A: option_a > a,B: a > option_a,C2: option_a > a,D: a > option_a,V3: a] :
      ( ( ( comp_option_a_a_a @ A @ B )
        = ( comp_option_a_a_a @ C2 @ D ) )
     => ( ( A @ ( B @ V3 ) )
        = ( C2 @ ( D @ V3 ) ) ) ) ).

% comp_eq_dest
thf(fact_625_comp__assoc,axiom,
    ! [F2: option_a > a,G: a > option_a,H: a > a] :
      ( ( comp_a_a_a @ ( comp_option_a_a_a @ F2 @ G ) @ H )
      = ( comp_option_a_a_a @ F2 @ ( comp_a_option_a_a @ G @ H ) ) ) ).

% comp_assoc
thf(fact_626_comp__assoc,axiom,
    ! [F2: a > a,G: option_a > a,H: a > option_a] :
      ( ( comp_option_a_a_a @ ( comp_a_a_option_a @ F2 @ G ) @ H )
      = ( comp_a_a_a @ F2 @ ( comp_option_a_a_a @ G @ H ) ) ) ).

% comp_assoc
thf(fact_627_comp__assoc,axiom,
    ! [F2: option_a > a,G: option_a > option_a,H: a > option_a] :
      ( ( comp_option_a_a_a @ ( comp_o3864519266390211175tion_a @ F2 @ G ) @ H )
      = ( comp_option_a_a_a @ F2 @ ( comp_o6087033147929006299on_a_a @ G @ H ) ) ) ).

% comp_assoc
thf(fact_628_comp__def,axiom,
    ( comp_option_a_a_a
    = ( ^ [F: option_a > a,G2: a > option_a,X: a] : ( F @ ( G2 @ X ) ) ) ) ).

% comp_def
thf(fact_629_map__option_Ocompositionality,axiom,
    ! [F2: option_a > a,G: a > option_a,Option: option_a] :
      ( ( map_op4563205767754224965on_a_a @ F2 @ ( map_op2340691886215429841tion_a @ G @ Option ) )
      = ( map_option_a_a2 @ ( comp_option_a_a_a @ F2 @ G ) @ Option ) ) ).

% map_option.compositionality
thf(fact_630_map__option_Ocompositionality,axiom,
    ! [F2: a > a,G: a > a,Option: option_a] :
      ( ( map_option_a_a2 @ F2 @ ( map_option_a_a2 @ G @ Option ) )
      = ( map_option_a_a2 @ ( comp_a_a_a @ F2 @ G ) @ Option ) ) ).

% map_option.compositionality
thf(fact_631_option_Omap__comp,axiom,
    ! [G: option_a > a,F2: a > option_a,V3: option_a] :
      ( ( map_op4563205767754224965on_a_a @ G @ ( map_op2340691886215429841tion_a @ F2 @ V3 ) )
      = ( map_option_a_a2 @ ( comp_option_a_a_a @ G @ F2 ) @ V3 ) ) ).

% option.map_comp
thf(fact_632_option_Omap__comp,axiom,
    ! [G: a > a,F2: a > a,V3: option_a] :
      ( ( map_option_a_a2 @ G @ ( map_option_a_a2 @ F2 @ V3 ) )
      = ( map_option_a_a2 @ ( comp_a_a_a @ G @ F2 ) @ V3 ) ) ).

% option.map_comp
thf(fact_633_map__option_Ocomp,axiom,
    ! [F2: option_a > a,G: a > option_a] :
      ( ( comp_o1254687777855551975tion_a @ ( map_op4563205767754224965on_a_a @ F2 ) @ ( map_op2340691886215429841tion_a @ G ) )
      = ( map_option_a_a2 @ ( comp_option_a_a_a @ F2 @ G ) ) ) ).

% map_option.comp
thf(fact_634_map__option_Ocomp,axiom,
    ! [F2: a > a,G: a > a] :
      ( ( comp_o3154387707078715297tion_a @ ( map_option_a_a2 @ F2 ) @ ( map_option_a_a2 @ G ) )
      = ( map_option_a_a2 @ ( comp_a_a_a @ F2 @ G ) ) ) ).

% map_option.comp
thf(fact_635_inj__on__imageI2,axiom,
    ! [F3: option_a > a,F2: a > option_a,A2: set_a] :
      ( ( inj_on_a_a @ ( comp_option_a_a_a @ F3 @ F2 ) @ A2 )
     => ( inj_on_a_option_a @ F2 @ A2 ) ) ).

% inj_on_imageI2
thf(fact_636_inj__on__imageI2,axiom,
    ! [F3: option_a > option_a,F2: a > option_a,A2: set_a] :
      ( ( inj_on_a_option_a @ ( comp_o6087033147929006299on_a_a @ F3 @ F2 ) @ A2 )
     => ( inj_on_a_option_a @ F2 @ A2 ) ) ).

% inj_on_imageI2
thf(fact_637_bij__betw__comp__iff,axiom,
    ! [F2: a > option_a,A2: set_a,A7: set_option_a,F3: option_a > a,A8: set_a] :
      ( ( bij_betw_a_option_a @ F2 @ A2 @ A7 )
     => ( ( bij_betw_option_a_a @ F3 @ A7 @ A8 )
        = ( bij_betw_a_a @ ( comp_option_a_a_a @ F3 @ F2 ) @ A2 @ A8 ) ) ) ).

% bij_betw_comp_iff
thf(fact_638_bij__betw__trans,axiom,
    ! [F2: a > option_a,A2: set_a,B2: set_option_a,G: option_a > a,C3: set_a] :
      ( ( bij_betw_a_option_a @ F2 @ A2 @ B2 )
     => ( ( bij_betw_option_a_a @ G @ B2 @ C3 )
       => ( bij_betw_a_a @ ( comp_option_a_a_a @ G @ F2 ) @ A2 @ C3 ) ) ) ).

% bij_betw_trans
thf(fact_639_vimage__comp,axiom,
    ! [F2: a > option_a,G: option_a > a,X3: set_a] :
      ( ( vimage_a_option_a @ F2 @ ( vimage_option_a_a @ G @ X3 ) )
      = ( vimage_a_a @ ( comp_option_a_a_a @ G @ F2 ) @ X3 ) ) ).

% vimage_comp
thf(fact_640_set_Ocompositionality,axiom,
    ! [F2: a > option_a,G: option_a > a,Set: set_a] :
      ( ( vimage_a_option_a @ F2 @ ( vimage_option_a_a @ G @ Set ) )
      = ( vimage_a_a @ ( comp_option_a_a_a @ G @ F2 ) @ Set ) ) ).

% set.compositionality
thf(fact_641_option_Osimps_I8_J,axiom,
    ! [F2: a > a] :
      ( ( map_option_a_a2 @ F2 @ none_a )
      = none_a ) ).

% option.simps(8)
thf(fact_642_option_Osimps_I9_J,axiom,
    ! [F2: a > a,X23: a] :
      ( ( map_option_a_a2 @ F2 @ ( some_a @ X23 ) )
      = ( some_a @ ( F2 @ X23 ) ) ) ).

% option.simps(9)
thf(fact_643_map__option__cong,axiom,
    ! [X3: option_a,Y2: option_a,F2: a > a,G: a > a] :
      ( ( X3 = Y2 )
     => ( ! [A4: a] :
            ( ( Y2
              = ( some_a @ A4 ) )
           => ( ( F2 @ A4 )
              = ( G @ A4 ) ) )
       => ( ( map_option_a_a2 @ F2 @ X3 )
          = ( map_option_a_a2 @ G @ Y2 ) ) ) ) ).

% map_option_cong
thf(fact_644_fun__upd__comp,axiom,
    ! [F2: option_a > a,G: a > option_a,X3: a,Y2: option_a] :
      ( ( comp_option_a_a_a @ F2 @ ( fun_upd_a_option_a @ G @ X3 @ Y2 ) )
      = ( fun_upd_a_a @ ( comp_option_a_a_a @ F2 @ G ) @ X3 @ ( F2 @ Y2 ) ) ) ).

% fun_upd_comp
thf(fact_645_fun__upd__comp,axiom,
    ! [F2: d > d,G: c > d,X3: c,Y2: d] :
      ( ( comp_d_d_c @ F2 @ ( fun_upd_c_d @ G @ X3 @ Y2 ) )
      = ( fun_upd_c_d @ ( comp_d_d_c @ F2 @ G ) @ X3 @ ( F2 @ Y2 ) ) ) ).

% fun_upd_comp
thf(fact_646_map__option__idI,axiom,
    ! [X3: option_option_a,F2: option_a > option_a] :
      ( ! [Y3: option_a] :
          ( ( member_option_a @ Y3 @ ( set_option_option_a2 @ X3 ) )
         => ( ( F2 @ Y3 )
            = Y3 ) )
     => ( ( map_op788413144570152203tion_a @ F2 @ X3 )
        = X3 ) ) ).

% map_option_idI
thf(fact_647_map__option__idI,axiom,
    ! [X3: option_b,F2: b > b] :
      ( ! [Y3: b] :
          ( ( member_b @ Y3 @ ( set_option_b2 @ X3 ) )
         => ( ( F2 @ Y3 )
            = Y3 ) )
     => ( ( map_option_b_b @ F2 @ X3 )
        = X3 ) ) ).

% map_option_idI
thf(fact_648_map__option__idI,axiom,
    ! [X3: option_a,F2: a > a] :
      ( ! [Y3: a] :
          ( ( member_a @ Y3 @ ( set_option_a3 @ X3 ) )
         => ( ( F2 @ Y3 )
            = Y3 ) )
     => ( ( map_option_a_a2 @ F2 @ X3 )
        = X3 ) ) ).

% map_option_idI
thf(fact_649_option_Omap__ident__strong,axiom,
    ! [T: option_option_a,F2: option_a > option_a] :
      ( ! [Z3: option_a] :
          ( ( member_option_a @ Z3 @ ( set_option_option_a2 @ T ) )
         => ( ( F2 @ Z3 )
            = Z3 ) )
     => ( ( map_op788413144570152203tion_a @ F2 @ T )
        = T ) ) ).

% option.map_ident_strong
thf(fact_650_option_Omap__ident__strong,axiom,
    ! [T: option_b,F2: b > b] :
      ( ! [Z3: b] :
          ( ( member_b @ Z3 @ ( set_option_b2 @ T ) )
         => ( ( F2 @ Z3 )
            = Z3 ) )
     => ( ( map_option_b_b @ F2 @ T )
        = T ) ) ).

% option.map_ident_strong
thf(fact_651_option_Omap__ident__strong,axiom,
    ! [T: option_a,F2: a > a] :
      ( ! [Z3: a] :
          ( ( member_a @ Z3 @ ( set_option_a3 @ T ) )
         => ( ( F2 @ Z3 )
            = Z3 ) )
     => ( ( map_option_a_a2 @ F2 @ T )
        = T ) ) ).

% option.map_ident_strong
thf(fact_652_option_Oinj__map__strong,axiom,
    ! [X3: option_a,Xa2: option_a,F2: a > a,Fa: a > a] :
      ( ! [Z3: a,Za: a] :
          ( ( member_a @ Z3 @ ( set_option_a3 @ X3 ) )
         => ( ( member_a @ Za @ ( set_option_a3 @ Xa2 ) )
           => ( ( ( F2 @ Z3 )
                = ( Fa @ Za ) )
             => ( Z3 = Za ) ) ) )
     => ( ( ( map_option_a_a2 @ F2 @ X3 )
          = ( map_option_a_a2 @ Fa @ Xa2 ) )
       => ( X3 = Xa2 ) ) ) ).

% option.inj_map_strong
thf(fact_653_option_Omap__cong0,axiom,
    ! [X3: option_a,F2: a > a,G: a > a] :
      ( ! [Z3: a] :
          ( ( member_a @ Z3 @ ( set_option_a3 @ X3 ) )
         => ( ( F2 @ Z3 )
            = ( G @ Z3 ) ) )
     => ( ( map_option_a_a2 @ F2 @ X3 )
        = ( map_option_a_a2 @ G @ X3 ) ) ) ).

% option.map_cong0
thf(fact_654_option_Omap__cong,axiom,
    ! [X3: option_a,Ya: option_a,F2: a > a,G: a > a] :
      ( ( X3 = Ya )
     => ( ! [Z3: a] :
            ( ( member_a @ Z3 @ ( set_option_a3 @ Ya ) )
           => ( ( F2 @ Z3 )
              = ( G @ Z3 ) ) )
       => ( ( map_option_a_a2 @ F2 @ X3 )
          = ( map_option_a_a2 @ G @ Ya ) ) ) ) ).

% option.map_cong
thf(fact_655_comp__surj,axiom,
    ! [F2: a > a,G: a > a] :
      ( ( ( image_a_a @ F2 @ top_top_set_a )
        = top_top_set_a )
     => ( ( ( image_a_a @ G @ top_top_set_a )
          = top_top_set_a )
       => ( ( image_a_a @ ( comp_a_a_a @ G @ F2 ) @ top_top_set_a )
          = top_top_set_a ) ) ) ).

% comp_surj
thf(fact_656_comp__surj,axiom,
    ! [F2: a > a,G: a > option_a] :
      ( ( ( image_a_a @ F2 @ top_top_set_a )
        = top_top_set_a )
     => ( ( ( image_a_option_a @ G @ top_top_set_a )
          = top_top_set_option_a )
       => ( ( image_a_option_a @ ( comp_a_option_a_a @ G @ F2 ) @ top_top_set_a )
          = top_top_set_option_a ) ) ) ).

% comp_surj
thf(fact_657_comp__surj,axiom,
    ! [F2: a > option_a,G: option_a > a] :
      ( ( ( image_a_option_a @ F2 @ top_top_set_a )
        = top_top_set_option_a )
     => ( ( ( image_option_a_a @ G @ top_top_set_option_a )
          = top_top_set_a )
       => ( ( image_a_a @ ( comp_option_a_a_a @ G @ F2 ) @ top_top_set_a )
          = top_top_set_a ) ) ) ).

% comp_surj
thf(fact_658_comp__surj,axiom,
    ! [F2: a > option_a,G: option_a > option_a] :
      ( ( ( image_a_option_a @ F2 @ top_top_set_a )
        = top_top_set_option_a )
     => ( ( ( image_7439109396645324421tion_a @ G @ top_top_set_option_a )
          = top_top_set_option_a )
       => ( ( image_a_option_a @ ( comp_o6087033147929006299on_a_a @ G @ F2 ) @ top_top_set_a )
          = top_top_set_option_a ) ) ) ).

% comp_surj
thf(fact_659_comp__surj,axiom,
    ! [F2: option_a > a,G: a > a] :
      ( ( ( image_option_a_a @ F2 @ top_top_set_option_a )
        = top_top_set_a )
     => ( ( ( image_a_a @ G @ top_top_set_a )
          = top_top_set_a )
       => ( ( image_option_a_a @ ( comp_a_a_option_a @ G @ F2 ) @ top_top_set_option_a )
          = top_top_set_a ) ) ) ).

% comp_surj
thf(fact_660_comp__surj,axiom,
    ! [F2: option_a > a,G: a > option_a] :
      ( ( ( image_option_a_a @ F2 @ top_top_set_option_a )
        = top_top_set_a )
     => ( ( ( image_a_option_a @ G @ top_top_set_a )
          = top_top_set_option_a )
       => ( ( image_7439109396645324421tion_a @ ( comp_a6249931511552232923tion_a @ G @ F2 ) @ top_top_set_option_a )
          = top_top_set_option_a ) ) ) ).

% comp_surj
thf(fact_661_comp__surj,axiom,
    ! [F2: option_a > option_a,G: option_a > a] :
      ( ( ( image_7439109396645324421tion_a @ F2 @ top_top_set_option_a )
        = top_top_set_option_a )
     => ( ( ( image_option_a_a @ G @ top_top_set_option_a )
          = top_top_set_a )
       => ( ( image_option_a_a @ ( comp_o3864519266390211175tion_a @ G @ F2 ) @ top_top_set_option_a )
          = top_top_set_a ) ) ) ).

% comp_surj
thf(fact_662_comp__surj,axiom,
    ! [F2: option_a > option_a,G: option_a > option_a] :
      ( ( ( image_7439109396645324421tion_a @ F2 @ top_top_set_option_a )
        = top_top_set_option_a )
     => ( ( ( image_7439109396645324421tion_a @ G @ top_top_set_option_a )
          = top_top_set_option_a )
       => ( ( image_7439109396645324421tion_a @ ( comp_o3154387707078715297tion_a @ G @ F2 ) @ top_top_set_option_a )
          = top_top_set_option_a ) ) ) ).

% comp_surj
thf(fact_663_comp__inj__on,axiom,
    ! [F2: option_a > a,A2: set_option_a,G: a > option_a] :
      ( ( inj_on_option_a_a @ F2 @ A2 )
     => ( ( inj_on_a_option_a @ G @ ( image_option_a_a @ F2 @ A2 ) )
       => ( inj_on8559383841115902449tion_a @ ( comp_a6249931511552232923tion_a @ G @ F2 ) @ A2 ) ) ) ).

% comp_inj_on
thf(fact_664_comp__inj__on,axiom,
    ! [F2: a > a,A2: set_a,G: a > option_a] :
      ( ( inj_on_a_a @ F2 @ A2 )
     => ( ( inj_on_a_option_a @ G @ ( image_a_a @ F2 @ A2 ) )
       => ( inj_on_a_option_a @ ( comp_a_option_a_a @ G @ F2 ) @ A2 ) ) ) ).

% comp_inj_on
thf(fact_665_comp__inj__on,axiom,
    ! [F2: a > option_a,A2: set_a,G: option_a > a] :
      ( ( inj_on_a_option_a @ F2 @ A2 )
     => ( ( inj_on_option_a_a @ G @ ( image_a_option_a @ F2 @ A2 ) )
       => ( inj_on_a_a @ ( comp_option_a_a_a @ G @ F2 ) @ A2 ) ) ) ).

% comp_inj_on
thf(fact_666_comp__inj__on,axiom,
    ! [F2: a > option_a,A2: set_a,G: option_a > option_a] :
      ( ( inj_on_a_option_a @ F2 @ A2 )
     => ( ( inj_on8559383841115902449tion_a @ G @ ( image_a_option_a @ F2 @ A2 ) )
       => ( inj_on_a_option_a @ ( comp_o6087033147929006299on_a_a @ G @ F2 ) @ A2 ) ) ) ).

% comp_inj_on
thf(fact_667_inj__on__imageI,axiom,
    ! [G: option_a > a,F2: a > option_a,A2: set_a] :
      ( ( inj_on_a_a @ ( comp_option_a_a_a @ G @ F2 ) @ A2 )
     => ( inj_on_option_a_a @ G @ ( image_a_option_a @ F2 @ A2 ) ) ) ).

% inj_on_imageI
thf(fact_668_inj__on__imageI,axiom,
    ! [G: a > option_a,F2: option_a > a,A2: set_option_a] :
      ( ( inj_on8559383841115902449tion_a @ ( comp_a6249931511552232923tion_a @ G @ F2 ) @ A2 )
     => ( inj_on_a_option_a @ G @ ( image_option_a_a @ F2 @ A2 ) ) ) ).

% inj_on_imageI
thf(fact_669_inj__on__imageI,axiom,
    ! [G: option_a > option_a,F2: a > option_a,A2: set_a] :
      ( ( inj_on_a_option_a @ ( comp_o6087033147929006299on_a_a @ G @ F2 ) @ A2 )
     => ( inj_on8559383841115902449tion_a @ G @ ( image_a_option_a @ F2 @ A2 ) ) ) ).

% inj_on_imageI
thf(fact_670_inj__on__imageI,axiom,
    ! [G: a > option_a,F2: a > a,A2: set_a] :
      ( ( inj_on_a_option_a @ ( comp_a_option_a_a @ G @ F2 ) @ A2 )
     => ( inj_on_a_option_a @ G @ ( image_a_a @ F2 @ A2 ) ) ) ).

% inj_on_imageI
thf(fact_671_comp__inj__on__iff,axiom,
    ! [F2: option_a > a,A2: set_option_a,F3: a > option_a] :
      ( ( inj_on_option_a_a @ F2 @ A2 )
     => ( ( inj_on_a_option_a @ F3 @ ( image_option_a_a @ F2 @ A2 ) )
        = ( inj_on8559383841115902449tion_a @ ( comp_a6249931511552232923tion_a @ F3 @ F2 ) @ A2 ) ) ) ).

% comp_inj_on_iff
thf(fact_672_comp__inj__on__iff,axiom,
    ! [F2: a > a,A2: set_a,F3: a > option_a] :
      ( ( inj_on_a_a @ F2 @ A2 )
     => ( ( inj_on_a_option_a @ F3 @ ( image_a_a @ F2 @ A2 ) )
        = ( inj_on_a_option_a @ ( comp_a_option_a_a @ F3 @ F2 ) @ A2 ) ) ) ).

% comp_inj_on_iff
thf(fact_673_comp__inj__on__iff,axiom,
    ! [F2: a > option_a,A2: set_a,F3: option_a > a] :
      ( ( inj_on_a_option_a @ F2 @ A2 )
     => ( ( inj_on_option_a_a @ F3 @ ( image_a_option_a @ F2 @ A2 ) )
        = ( inj_on_a_a @ ( comp_option_a_a_a @ F3 @ F2 ) @ A2 ) ) ) ).

% comp_inj_on_iff
thf(fact_674_comp__inj__on__iff,axiom,
    ! [F2: a > option_a,A2: set_a,F3: option_a > option_a] :
      ( ( inj_on_a_option_a @ F2 @ A2 )
     => ( ( inj_on8559383841115902449tion_a @ F3 @ ( image_a_option_a @ F2 @ A2 ) )
        = ( inj_on_a_option_a @ ( comp_o6087033147929006299on_a_a @ F3 @ F2 ) @ A2 ) ) ) ).

% comp_inj_on_iff
thf(fact_675_inj__compose,axiom,
    ! [F2: a > option_a,G: a > a] :
      ( ( inj_on_a_option_a @ F2 @ top_top_set_a )
     => ( ( inj_on_a_a @ G @ top_top_set_a )
       => ( inj_on_a_option_a @ ( comp_a_option_a_a @ F2 @ G ) @ top_top_set_a ) ) ) ).

% inj_compose
thf(fact_676_inj__compose,axiom,
    ! [F2: a > option_a,G: option_a > a] :
      ( ( inj_on_a_option_a @ F2 @ top_top_set_a )
     => ( ( inj_on_option_a_a @ G @ top_top_set_option_a )
       => ( inj_on8559383841115902449tion_a @ ( comp_a6249931511552232923tion_a @ F2 @ G ) @ top_top_set_option_a ) ) ) ).

% inj_compose
thf(fact_677_inj__compose,axiom,
    ! [F2: option_a > a,G: a > option_a] :
      ( ( inj_on_option_a_a @ F2 @ top_top_set_option_a )
     => ( ( inj_on_a_option_a @ G @ top_top_set_a )
       => ( inj_on_a_a @ ( comp_option_a_a_a @ F2 @ G ) @ top_top_set_a ) ) ) ).

% inj_compose
thf(fact_678_inj__compose,axiom,
    ! [F2: option_a > option_a,G: a > option_a] :
      ( ( inj_on8559383841115902449tion_a @ F2 @ top_top_set_option_a )
     => ( ( inj_on_a_option_a @ G @ top_top_set_a )
       => ( inj_on_a_option_a @ ( comp_o6087033147929006299on_a_a @ F2 @ G ) @ top_top_set_a ) ) ) ).

% inj_compose
thf(fact_679_bij__comp,axiom,
    ! [F2: a > a,G: a > a] :
      ( ( bij_betw_a_a @ F2 @ top_top_set_a @ top_top_set_a )
     => ( ( bij_betw_a_a @ G @ top_top_set_a @ top_top_set_a )
       => ( bij_betw_a_a @ ( comp_a_a_a @ G @ F2 ) @ top_top_set_a @ top_top_set_a ) ) ) ).

% bij_comp
thf(fact_680_bij__comp,axiom,
    ! [F2: a > a,G: a > option_a] :
      ( ( bij_betw_a_a @ F2 @ top_top_set_a @ top_top_set_a )
     => ( ( bij_betw_a_option_a @ G @ top_top_set_a @ top_top_set_option_a )
       => ( bij_betw_a_option_a @ ( comp_a_option_a_a @ G @ F2 ) @ top_top_set_a @ top_top_set_option_a ) ) ) ).

% bij_comp
thf(fact_681_bij__comp,axiom,
    ! [F2: a > option_a,G: option_a > a] :
      ( ( bij_betw_a_option_a @ F2 @ top_top_set_a @ top_top_set_option_a )
     => ( ( bij_betw_option_a_a @ G @ top_top_set_option_a @ top_top_set_a )
       => ( bij_betw_a_a @ ( comp_option_a_a_a @ G @ F2 ) @ top_top_set_a @ top_top_set_a ) ) ) ).

% bij_comp
thf(fact_682_bij__comp,axiom,
    ! [F2: a > option_a,G: option_a > option_a] :
      ( ( bij_betw_a_option_a @ F2 @ top_top_set_a @ top_top_set_option_a )
     => ( ( bij_be5431266891817924854tion_a @ G @ top_top_set_option_a @ top_top_set_option_a )
       => ( bij_betw_a_option_a @ ( comp_o6087033147929006299on_a_a @ G @ F2 ) @ top_top_set_a @ top_top_set_option_a ) ) ) ).

% bij_comp
thf(fact_683_bij__comp,axiom,
    ! [F2: option_a > a,G: a > a] :
      ( ( bij_betw_option_a_a @ F2 @ top_top_set_option_a @ top_top_set_a )
     => ( ( bij_betw_a_a @ G @ top_top_set_a @ top_top_set_a )
       => ( bij_betw_option_a_a @ ( comp_a_a_option_a @ G @ F2 ) @ top_top_set_option_a @ top_top_set_a ) ) ) ).

% bij_comp
thf(fact_684_bij__comp,axiom,
    ! [F2: option_a > a,G: a > option_a] :
      ( ( bij_betw_option_a_a @ F2 @ top_top_set_option_a @ top_top_set_a )
     => ( ( bij_betw_a_option_a @ G @ top_top_set_a @ top_top_set_option_a )
       => ( bij_be5431266891817924854tion_a @ ( comp_a6249931511552232923tion_a @ G @ F2 ) @ top_top_set_option_a @ top_top_set_option_a ) ) ) ).

% bij_comp
thf(fact_685_bij__comp,axiom,
    ! [F2: option_a > option_a,G: option_a > a] :
      ( ( bij_be5431266891817924854tion_a @ F2 @ top_top_set_option_a @ top_top_set_option_a )
     => ( ( bij_betw_option_a_a @ G @ top_top_set_option_a @ top_top_set_a )
       => ( bij_betw_option_a_a @ ( comp_o3864519266390211175tion_a @ G @ F2 ) @ top_top_set_option_a @ top_top_set_a ) ) ) ).

% bij_comp
thf(fact_686_bij__comp,axiom,
    ! [F2: option_a > option_a,G: option_a > option_a] :
      ( ( bij_be5431266891817924854tion_a @ F2 @ top_top_set_option_a @ top_top_set_option_a )
     => ( ( bij_be5431266891817924854tion_a @ G @ top_top_set_option_a @ top_top_set_option_a )
       => ( bij_be5431266891817924854tion_a @ ( comp_o3154387707078715297tion_a @ G @ F2 ) @ top_top_set_option_a @ top_top_set_option_a ) ) ) ).

% bij_comp
thf(fact_687_option_Oset__map,axiom,
    ! [F2: a > option_a,V3: option_a] :
      ( ( set_option_option_a2 @ ( map_op2340691886215429841tion_a @ F2 @ V3 ) )
      = ( image_a_option_a @ F2 @ ( set_option_a3 @ V3 ) ) ) ).

% option.set_map
thf(fact_688_option_Oset__map,axiom,
    ! [F2: option_a > a,V3: option_option_a] :
      ( ( set_option_a3 @ ( map_op4563205767754224965on_a_a @ F2 @ V3 ) )
      = ( image_option_a_a @ F2 @ ( set_option_option_a2 @ V3 ) ) ) ).

% option.set_map
thf(fact_689_option_Oset__map,axiom,
    ! [F2: a > a,V3: option_a] :
      ( ( set_option_a3 @ ( map_option_a_a2 @ F2 @ V3 ) )
      = ( image_a_a @ F2 @ ( set_option_a3 @ V3 ) ) ) ).

% option.set_map
thf(fact_690_option_Omap__sel,axiom,
    ! [A: option_a,F2: a > a] :
      ( ( A != none_a )
     => ( ( the_a2 @ ( map_option_a_a2 @ F2 @ A ) )
        = ( F2 @ ( the_a2 @ A ) ) ) ) ).

% option.map_sel
thf(fact_691_the__map__option,axiom,
    ! [X3: option_a,F2: a > a] :
      ( ~ ( is_none_a @ X3 )
     => ( ( the_a2 @ ( map_option_a_a2 @ F2 @ X3 ) )
        = ( F2 @ ( the_a2 @ X3 ) ) ) ) ).

% the_map_option
thf(fact_692_bij__betw__comp__iff2,axiom,
    ! [F3: option_a > a,A7: set_option_a,A8: set_a,F2: a > option_a,A2: set_a] :
      ( ( bij_betw_option_a_a @ F3 @ A7 @ A8 )
     => ( ( ord_le1955136853071979460tion_a @ ( image_a_option_a @ F2 @ A2 ) @ A7 )
       => ( ( bij_betw_a_option_a @ F2 @ A2 @ A7 )
          = ( bij_betw_a_a @ ( comp_option_a_a_a @ F3 @ F2 ) @ A2 @ A8 ) ) ) ) ).

% bij_betw_comp_iff2
thf(fact_693_option_Osize__gen__o__map,axiom,
    ! [F2: a > nat,G: a > a] :
      ( ( comp_o8583038678572498833tion_a @ ( size_option_a @ F2 ) @ ( map_option_a_a2 @ G ) )
      = ( size_option_a @ ( comp_a_nat_a @ F2 @ G ) ) ) ).

% option.size_gen_o_map
thf(fact_694_set__bind__option,axiom,
    ! [X3: option_a,F2: a > option_a] :
      ( ( set_option_a3 @ ( bind_a_a @ X3 @ F2 ) )
      = ( comple2307003609928055243_set_a @ ( image_a_set_a @ ( comp_o6143895765626710849et_a_a @ set_option_a3 @ F2 ) @ ( set_option_a3 @ X3 ) ) ) ) ).

% set_bind_option
thf(fact_695_map__upds__twist,axiom,
    ! [A: option_a,As: list_option_a,M: option_a > option_a,B: a,Bs: list_a] :
      ( ~ ( member_option_a @ A @ ( set_option_a2 @ As ) )
     => ( ( map_upds_option_a_a @ ( fun_up1079276522633388797tion_a @ M @ A @ ( some_a @ B ) ) @ As @ Bs )
        = ( fun_up1079276522633388797tion_a @ ( map_upds_option_a_a @ M @ As @ Bs ) @ A @ ( some_a @ B ) ) ) ) ).

% map_upds_twist
thf(fact_696_map__upds__twist,axiom,
    ! [A: b,As: list_b,M: b > option_a,B: a,Bs: list_a] :
      ( ~ ( member_b @ A @ ( set_b2 @ As ) )
     => ( ( map_upds_b_a @ ( fun_upd_b_option_a @ M @ A @ ( some_a @ B ) ) @ As @ Bs )
        = ( fun_upd_b_option_a @ ( map_upds_b_a @ M @ As @ Bs ) @ A @ ( some_a @ B ) ) ) ) ).

% map_upds_twist
thf(fact_697_map__upds__twist,axiom,
    ! [A: a,As: list_a,M: a > option_a,B: a,Bs: list_a] :
      ( ~ ( member_a @ A @ ( set_a2 @ As ) )
     => ( ( map_upds_a_a @ ( fun_upd_a_option_a @ M @ A @ ( some_a @ B ) ) @ As @ Bs )
        = ( fun_upd_a_option_a @ ( map_upds_a_a @ M @ As @ Bs ) @ A @ ( some_a @ B ) ) ) ) ).

% map_upds_twist
thf(fact_698_map__upds__Cons,axiom,
    ! [M: a > option_a,A: a,As: list_a,B: a,Bs: list_a] :
      ( ( map_upds_a_a @ M @ ( cons_a @ A @ As ) @ ( cons_a @ B @ Bs ) )
      = ( map_upds_a_a @ ( fun_upd_a_option_a @ M @ A @ ( some_a @ B ) ) @ As @ Bs ) ) ).

% map_upds_Cons
thf(fact_699_comp__the__Some,axiom,
    ( ( comp_option_a_a_a @ the_a2 @ some_a )
    = id_a ) ).

% comp_the_Some
thf(fact_700_id__apply,axiom,
    ( id_a
    = ( ^ [X: a] : X ) ) ).

% id_apply
thf(fact_701_image__id,axiom,
    ( ( image_a_a @ id_a )
    = id_set_a ) ).

% image_id
thf(fact_702_bij__betw__id,axiom,
    ! [A2: set_a] : ( bij_betw_a_a @ id_a @ A2 @ A2 ) ).

% bij_betw_id
thf(fact_703_vimage__id,axiom,
    ( ( vimage_a_a @ id_a )
    = id_set_a ) ).

% vimage_id
thf(fact_704_comp__eq__id__dest,axiom,
    ! [A: option_a > a,B: a > option_a,C2: a > a,V3: a] :
      ( ( ( comp_option_a_a_a @ A @ B )
        = ( comp_a_a_a @ id_a @ C2 ) )
     => ( ( A @ ( B @ V3 ) )
        = ( C2 @ V3 ) ) ) ).

% comp_eq_id_dest
thf(fact_705_eq__id__iff,axiom,
    ! [F2: a > a] :
      ( ( ! [X: a] :
            ( ( F2 @ X )
            = X ) )
      = ( F2 = id_a ) ) ).

% eq_id_iff
thf(fact_706_id__def,axiom,
    ( id_a
    = ( ^ [X: a] : X ) ) ).

% id_def
thf(fact_707_bij__betw__id__iff,axiom,
    ! [A2: set_a,B2: set_a] :
      ( ( bij_betw_a_a @ id_a @ A2 @ B2 )
      = ( A2 = B2 ) ) ).

% bij_betw_id_iff
thf(fact_708_option_Omap__id,axiom,
    ! [T: option_a] :
      ( ( map_option_a_a2 @ id_a @ T )
      = T ) ).

% option.map_id
thf(fact_709_option_Omap__id0,axiom,
    ( ( map_option_a_a2 @ id_a )
    = id_option_a ) ).

% option.map_id0
thf(fact_710_inj__on__id,axiom,
    ! [A2: set_a] : ( inj_on_a_a @ id_a @ A2 ) ).

% inj_on_id
thf(fact_711_surj__id,axiom,
    ( ( image_a_a @ id_a @ top_top_set_a )
    = top_top_set_a ) ).

% surj_id
thf(fact_712_surj__id,axiom,
    ( ( image_7439109396645324421tion_a @ id_option_a @ top_top_set_option_a )
    = top_top_set_option_a ) ).

% surj_id
thf(fact_713_bij__id,axiom,
    bij_betw_a_a @ id_a @ top_top_set_a @ top_top_set_a ).

% bij_id
thf(fact_714_bij__id,axiom,
    bij_be5431266891817924854tion_a @ id_option_a @ top_top_set_option_a @ top_top_set_option_a ).

% bij_id
thf(fact_715_restrict__map__upds,axiom,
    ! [Xs: list_a,Ys: list_a,D2: set_a,M: a > option_a] :
      ( ( ( size_size_list_a @ Xs )
        = ( size_size_list_a @ Ys ) )
     => ( ( ord_less_eq_set_a @ ( set_a2 @ Xs ) @ D2 )
       => ( ( restrict_map_a_a @ ( map_upds_a_a @ M @ Xs @ Ys ) @ D2 )
          = ( map_upds_a_a @ ( restrict_map_a_a @ M @ ( minus_minus_set_a @ D2 @ ( set_a2 @ Xs ) ) ) @ Xs @ Ys ) ) ) ) ).

% restrict_map_upds
thf(fact_716_map__of__eq__None__iff,axiom,
    ! [Xys: list_P1396940483166286381od_a_a,X3: a] :
      ( ( ( map_of_a_a @ Xys @ X3 )
        = none_a )
      = ( ~ ( member_a @ X3 @ ( image_3437945252899457948_a_a_a @ product_fst_a_a @ ( set_Product_prod_a_a2 @ Xys ) ) ) ) ) ).

% map_of_eq_None_iff
thf(fact_717_map__of__eq__None__iff,axiom,
    ! [Xys: list_P6260409590414597735on_a_a,X3: option_a] :
      ( ( ( map_of_option_a_a @ Xys @ X3 )
        = none_a )
      = ( ~ ( member_option_a @ X3 @ ( image_3098826861768462248tion_a @ produc8941638570267940413on_a_a @ ( set_Pr1233600038994746358on_a_a @ Xys ) ) ) ) ) ).

% map_of_eq_None_iff
thf(fact_718_map__of__eq__None__iff,axiom,
    ! [Xys: list_P761291482561299692od_b_a,X3: b] :
      ( ( ( map_of_b_a @ Xys @ X3 )
        = none_a )
      = ( ~ ( member_b @ X3 @ ( image_9034163868087588638_b_a_b @ product_fst_b_a @ ( set_Product_prod_b_a2 @ Xys ) ) ) ) ) ).

% map_of_eq_None_iff
thf(fact_719_dom__map__upds,axiom,
    ! [M: a > option_a,Xs: list_a,Ys: list_a] :
      ( ( dom_a_a @ ( map_upds_a_a @ M @ Xs @ Ys ) )
      = ( sup_sup_set_a @ ( set_a2 @ ( take_a @ ( size_size_list_a @ Ys ) @ Xs ) ) @ ( dom_a_a @ M ) ) ) ).

% dom_map_upds
thf(fact_720_dom__map__upds,axiom,
    ! [M: b > option_a,Xs: list_b,Ys: list_a] :
      ( ( dom_b_a @ ( map_upds_b_a @ M @ Xs @ Ys ) )
      = ( sup_sup_set_b @ ( set_b2 @ ( take_b @ ( size_size_list_a @ Ys ) @ Xs ) ) @ ( dom_b_a @ M ) ) ) ).

% dom_map_upds
thf(fact_721_map__upd__upds__conv__if,axiom,
    ! [X3: option_a,Ys: list_a,Xs: list_option_a,F2: option_a > option_a,Y2: a] :
      ( ( ( member_option_a @ X3 @ ( set_option_a2 @ ( take_option_a @ ( size_size_list_a @ Ys ) @ Xs ) ) )
       => ( ( map_upds_option_a_a @ ( fun_up1079276522633388797tion_a @ F2 @ X3 @ ( some_a @ Y2 ) ) @ Xs @ Ys )
          = ( map_upds_option_a_a @ F2 @ Xs @ Ys ) ) )
      & ( ~ ( member_option_a @ X3 @ ( set_option_a2 @ ( take_option_a @ ( size_size_list_a @ Ys ) @ Xs ) ) )
       => ( ( map_upds_option_a_a @ ( fun_up1079276522633388797tion_a @ F2 @ X3 @ ( some_a @ Y2 ) ) @ Xs @ Ys )
          = ( fun_up1079276522633388797tion_a @ ( map_upds_option_a_a @ F2 @ Xs @ Ys ) @ X3 @ ( some_a @ Y2 ) ) ) ) ) ).

% map_upd_upds_conv_if
thf(fact_722_map__upd__upds__conv__if,axiom,
    ! [X3: b,Ys: list_a,Xs: list_b,F2: b > option_a,Y2: a] :
      ( ( ( member_b @ X3 @ ( set_b2 @ ( take_b @ ( size_size_list_a @ Ys ) @ Xs ) ) )
       => ( ( map_upds_b_a @ ( fun_upd_b_option_a @ F2 @ X3 @ ( some_a @ Y2 ) ) @ Xs @ Ys )
          = ( map_upds_b_a @ F2 @ Xs @ Ys ) ) )
      & ( ~ ( member_b @ X3 @ ( set_b2 @ ( take_b @ ( size_size_list_a @ Ys ) @ Xs ) ) )
       => ( ( map_upds_b_a @ ( fun_upd_b_option_a @ F2 @ X3 @ ( some_a @ Y2 ) ) @ Xs @ Ys )
          = ( fun_upd_b_option_a @ ( map_upds_b_a @ F2 @ Xs @ Ys ) @ X3 @ ( some_a @ Y2 ) ) ) ) ) ).

% map_upd_upds_conv_if
thf(fact_723_map__upd__upds__conv__if,axiom,
    ! [X3: a,Ys: list_a,Xs: list_a,F2: a > option_a,Y2: a] :
      ( ( ( member_a @ X3 @ ( set_a2 @ ( take_a @ ( size_size_list_a @ Ys ) @ Xs ) ) )
       => ( ( map_upds_a_a @ ( fun_upd_a_option_a @ F2 @ X3 @ ( some_a @ Y2 ) ) @ Xs @ Ys )
          = ( map_upds_a_a @ F2 @ Xs @ Ys ) ) )
      & ( ~ ( member_a @ X3 @ ( set_a2 @ ( take_a @ ( size_size_list_a @ Ys ) @ Xs ) ) )
       => ( ( map_upds_a_a @ ( fun_upd_a_option_a @ F2 @ X3 @ ( some_a @ Y2 ) ) @ Xs @ Ys )
          = ( fun_upd_a_option_a @ ( map_upds_a_a @ F2 @ Xs @ Ys ) @ X3 @ ( some_a @ Y2 ) ) ) ) ) ).

% map_upd_upds_conv_if
thf(fact_724_map__of__zip__upd,axiom,
    ! [Ys: list_a,Xs: list_option_a,Zs: list_a,X3: option_a,Y2: a,Z2: a] :
      ( ( ( size_size_list_a @ Ys )
        = ( size_s3078493964004954806tion_a @ Xs ) )
     => ( ( ( size_size_list_a @ Zs )
          = ( size_s3078493964004954806tion_a @ Xs ) )
       => ( ~ ( member_option_a @ X3 @ ( set_option_a2 @ Xs ) )
         => ( ( ( fun_up1079276522633388797tion_a @ ( map_of_option_a_a @ ( zip_option_a_a @ Xs @ Ys ) ) @ X3 @ ( some_a @ Y2 ) )
              = ( fun_up1079276522633388797tion_a @ ( map_of_option_a_a @ ( zip_option_a_a @ Xs @ Zs ) ) @ X3 @ ( some_a @ Z2 ) ) )
           => ( ( map_of_option_a_a @ ( zip_option_a_a @ Xs @ Ys ) )
              = ( map_of_option_a_a @ ( zip_option_a_a @ Xs @ Zs ) ) ) ) ) ) ) ).

% map_of_zip_upd
thf(fact_725_map__of__zip__upd,axiom,
    ! [Ys: list_a,Xs: list_b,Zs: list_a,X3: b,Y2: a,Z2: a] :
      ( ( ( size_size_list_a @ Ys )
        = ( size_size_list_b @ Xs ) )
     => ( ( ( size_size_list_a @ Zs )
          = ( size_size_list_b @ Xs ) )
       => ( ~ ( member_b @ X3 @ ( set_b2 @ Xs ) )
         => ( ( ( fun_upd_b_option_a @ ( map_of_b_a @ ( zip_b_a @ Xs @ Ys ) ) @ X3 @ ( some_a @ Y2 ) )
              = ( fun_upd_b_option_a @ ( map_of_b_a @ ( zip_b_a @ Xs @ Zs ) ) @ X3 @ ( some_a @ Z2 ) ) )
           => ( ( map_of_b_a @ ( zip_b_a @ Xs @ Ys ) )
              = ( map_of_b_a @ ( zip_b_a @ Xs @ Zs ) ) ) ) ) ) ) ).

% map_of_zip_upd
thf(fact_726_map__of__zip__upd,axiom,
    ! [Ys: list_a,Xs: list_a,Zs: list_a,X3: a,Y2: a,Z2: a] :
      ( ( ( size_size_list_a @ Ys )
        = ( size_size_list_a @ Xs ) )
     => ( ( ( size_size_list_a @ Zs )
          = ( size_size_list_a @ Xs ) )
       => ( ~ ( member_a @ X3 @ ( set_a2 @ Xs ) )
         => ( ( ( fun_upd_a_option_a @ ( map_of_a_a @ ( zip_a_a @ Xs @ Ys ) ) @ X3 @ ( some_a @ Y2 ) )
              = ( fun_upd_a_option_a @ ( map_of_a_a @ ( zip_a_a @ Xs @ Zs ) ) @ X3 @ ( some_a @ Z2 ) ) )
           => ( ( map_of_a_a @ ( zip_a_a @ Xs @ Ys ) )
              = ( map_of_a_a @ ( zip_a_a @ Xs @ Zs ) ) ) ) ) ) ) ).

% map_of_zip_upd
thf(fact_727_map__of__zip__is__None,axiom,
    ! [Xs: list_option_a,Ys: list_a,X3: option_a] :
      ( ( ( size_s3078493964004954806tion_a @ Xs )
        = ( size_size_list_a @ Ys ) )
     => ( ( ( map_of_option_a_a @ ( zip_option_a_a @ Xs @ Ys ) @ X3 )
          = none_a )
        = ( ~ ( member_option_a @ X3 @ ( set_option_a2 @ Xs ) ) ) ) ) ).

% map_of_zip_is_None
thf(fact_728_map__of__zip__is__None,axiom,
    ! [Xs: list_b,Ys: list_a,X3: b] :
      ( ( ( size_size_list_b @ Xs )
        = ( size_size_list_a @ Ys ) )
     => ( ( ( map_of_b_a @ ( zip_b_a @ Xs @ Ys ) @ X3 )
          = none_a )
        = ( ~ ( member_b @ X3 @ ( set_b2 @ Xs ) ) ) ) ) ).

% map_of_zip_is_None
thf(fact_729_map__of__zip__is__None,axiom,
    ! [Xs: list_a,Ys: list_a,X3: a] :
      ( ( ( size_size_list_a @ Xs )
        = ( size_size_list_a @ Ys ) )
     => ( ( ( map_of_a_a @ ( zip_a_a @ Xs @ Ys ) @ X3 )
          = none_a )
        = ( ~ ( member_a @ X3 @ ( set_a2 @ Xs ) ) ) ) ) ).

% map_of_zip_is_None
thf(fact_730_dom__map__of__zip,axiom,
    ! [Xs: list_a,Ys: list_a] :
      ( ( ( size_size_list_a @ Xs )
        = ( size_size_list_a @ Ys ) )
     => ( ( dom_a_a @ ( map_of_a_a @ ( zip_a_a @ Xs @ Ys ) ) )
        = ( set_a2 @ Xs ) ) ) ).

% dom_map_of_zip
thf(fact_731_map__of__zip__is__Some,axiom,
    ! [Xs: list_option_a,Ys: list_a,X3: option_a] :
      ( ( ( size_s3078493964004954806tion_a @ Xs )
        = ( size_size_list_a @ Ys ) )
     => ( ( member_option_a @ X3 @ ( set_option_a2 @ Xs ) )
        = ( ? [Y: a] :
              ( ( map_of_option_a_a @ ( zip_option_a_a @ Xs @ Ys ) @ X3 )
              = ( some_a @ Y ) ) ) ) ) ).

% map_of_zip_is_Some
thf(fact_732_map__of__zip__is__Some,axiom,
    ! [Xs: list_b,Ys: list_a,X3: b] :
      ( ( ( size_size_list_b @ Xs )
        = ( size_size_list_a @ Ys ) )
     => ( ( member_b @ X3 @ ( set_b2 @ Xs ) )
        = ( ? [Y: a] :
              ( ( map_of_b_a @ ( zip_b_a @ Xs @ Ys ) @ X3 )
              = ( some_a @ Y ) ) ) ) ) ).

% map_of_zip_is_Some
thf(fact_733_map__of__zip__is__Some,axiom,
    ! [Xs: list_a,Ys: list_a,X3: a] :
      ( ( ( size_size_list_a @ Xs )
        = ( size_size_list_a @ Ys ) )
     => ( ( member_a @ X3 @ ( set_a2 @ Xs ) )
        = ( ? [Y: a] :
              ( ( map_of_a_a @ ( zip_a_a @ Xs @ Ys ) @ X3 )
              = ( some_a @ Y ) ) ) ) ) ).

% map_of_zip_is_Some
thf(fact_734_ran__map__of__zip,axiom,
    ! [Xs: list_a,Ys: list_a] :
      ( ( ( size_size_list_a @ Xs )
        = ( size_size_list_a @ Ys ) )
     => ( ( distinct_a @ Xs )
       => ( ( ran_a_a @ ( map_of_a_a @ ( zip_a_a @ Xs @ Ys ) ) )
          = ( set_a2 @ Ys ) ) ) ) ).

% ran_map_of_zip
thf(fact_735_map__of__zip__map,axiom,
    ! [Xs: list_option_a,F2: option_a > a] :
      ( ( map_of_option_a_a @ ( zip_option_a_a @ Xs @ ( map_option_a_a @ F2 @ Xs ) ) )
      = ( ^ [X: option_a] : ( if_option_a @ ( member_option_a @ X @ ( set_option_a2 @ Xs ) ) @ ( some_a @ ( F2 @ X ) ) @ none_a ) ) ) ).

% map_of_zip_map
thf(fact_736_map__of__zip__map,axiom,
    ! [Xs: list_b,F2: b > a] :
      ( ( map_of_b_a @ ( zip_b_a @ Xs @ ( map_b_a @ F2 @ Xs ) ) )
      = ( ^ [X: b] : ( if_option_a @ ( member_b @ X @ ( set_b2 @ Xs ) ) @ ( some_a @ ( F2 @ X ) ) @ none_a ) ) ) ).

% map_of_zip_map
thf(fact_737_map__of__zip__map,axiom,
    ! [Xs: list_a,F2: a > a] :
      ( ( map_of_a_a @ ( zip_a_a @ Xs @ ( map_a_a @ F2 @ Xs ) ) )
      = ( ^ [X: a] : ( if_option_a @ ( member_a @ X @ ( set_a2 @ Xs ) ) @ ( some_a @ ( F2 @ X ) ) @ none_a ) ) ) ).

% map_of_zip_map
thf(fact_738_map__of__zip__inject,axiom,
    ! [Ys: list_a,Xs: list_a,Zs: list_a] :
      ( ( ( size_size_list_a @ Ys )
        = ( size_size_list_a @ Xs ) )
     => ( ( ( size_size_list_a @ Zs )
          = ( size_size_list_a @ Xs ) )
       => ( ( distinct_a @ Xs )
         => ( ( ( map_of_a_a @ ( zip_a_a @ Xs @ Ys ) )
              = ( map_of_a_a @ ( zip_a_a @ Xs @ Zs ) ) )
           => ( Ys = Zs ) ) ) ) ) ).

% map_of_zip_inject
thf(fact_739_map__fun__upd,axiom,
    ! [Y2: c,Xs: list_c,F2: c > d,V3: d] :
      ( ~ ( member_c @ Y2 @ ( set_c2 @ Xs ) )
     => ( ( map_c_d @ ( fun_upd_c_d @ F2 @ Y2 @ V3 ) @ Xs )
        = ( map_c_d @ F2 @ Xs ) ) ) ).

% map_fun_upd
thf(fact_740_map__of__map__restrict,axiom,
    ! [F2: a > a,Ks: list_a] :
      ( ( map_of_a_a
        @ ( map_a_7860052162900579309od_a_a
          @ ^ [K2: a] : ( product_Pair_a_a @ K2 @ ( F2 @ K2 ) )
          @ Ks ) )
      = ( restrict_map_a_a @ ( comp_a_option_a_a @ some_a @ F2 ) @ ( set_a2 @ Ks ) ) ) ).

% map_of_map_restrict
thf(fact_741_bind__assoc,axiom,
    ! [X3: option_a,F2: a > option_a,G: a > option_a] :
      ( ( bind_a_a @ ( bind_a_a @ X3 @ F2 ) @ G )
      = ( bind_a_a @ X3
        @ ^ [Y: a] : ( bind_a_a @ ( F2 @ Y ) @ G ) ) ) ).

% bind_assoc
thf(fact_742_bind__rzero,axiom,
    ! [X3: option_a] :
      ( ( bind_a_a @ X3
        @ ^ [X: a] : none_a )
      = none_a ) ).

% bind_rzero
thf(fact_743_fun__upds__append__drop,axiom,
    ! [Xs: list_a,Ys: list_a,M: a > option_a,Zs: list_a] :
      ( ( ( size_size_list_a @ Xs )
        = ( size_size_list_a @ Ys ) )
     => ( ( map_upds_a_a @ M @ ( append_a @ Xs @ Zs ) @ Ys )
        = ( map_upds_a_a @ M @ Xs @ Ys ) ) ) ).

% fun_upds_append_drop
thf(fact_744_fun__upds__append2__drop,axiom,
    ! [Xs: list_a,Ys: list_a,M: a > option_a,Zs: list_a] :
      ( ( ( size_size_list_a @ Xs )
        = ( size_size_list_a @ Ys ) )
     => ( ( map_upds_a_a @ M @ Xs @ ( append_a @ Ys @ Zs ) )
        = ( map_upds_a_a @ M @ Xs @ Ys ) ) ) ).

% fun_upds_append2_drop
thf(fact_745_dom__const,axiom,
    ! [F2: a > a] :
      ( ( dom_a_a
        @ ^ [X: a] : ( some_a @ ( F2 @ X ) ) )
      = top_top_set_a ) ).

% dom_const
thf(fact_746_dom__const,axiom,
    ! [F2: option_a > a] :
      ( ( dom_option_a_a
        @ ^ [X: option_a] : ( some_a @ ( F2 @ X ) ) )
      = top_top_set_option_a ) ).

% dom_const
thf(fact_747_dom__empty,axiom,
    ( ( dom_a_a
      @ ^ [X: a] : none_a )
    = bot_bot_set_a ) ).

% dom_empty
thf(fact_748_dom__empty,axiom,
    ( ( dom_option_a_a
      @ ^ [X: option_a] : none_a )
    = bot_bot_set_option_a ) ).

% dom_empty
thf(fact_749_map__option_Oidentity,axiom,
    ( ( map_option_a_a2
      @ ^ [X: a] : X )
    = id_option_a ) ).

% map_option.identity
thf(fact_750_map__option__case,axiom,
    ( map_option_a_a2
    = ( ^ [F: a > a] :
          ( case_o3148979394504432965on_a_a @ none_a
          @ ^ [X: a] : ( some_a @ ( F @ X ) ) ) ) ) ).

% map_option_case
thf(fact_751_combine__options__def,axiom,
    ( combine_options_a
    = ( ^ [F: a > a > a,X: option_a,Y: option_a] :
          ( case_o3148979394504432965on_a_a @ Y
          @ ^ [Z: a] :
              ( case_o3148979394504432965on_a_a @ ( some_a @ Z )
              @ ^ [Aa: a] : ( some_a @ ( F @ Z @ Aa ) )
              @ Y )
          @ X ) ) ) ).

% combine_options_def
thf(fact_752_case__optionE,axiom,
    ! [P3: $o,Q: a > $o,X3: option_a] :
      ( ( case_option_o_a @ P3 @ Q @ X3 )
     => ( ( ( X3 = none_a )
         => ~ P3 )
       => ~ ! [Y3: a] :
              ( ( X3
                = ( some_a @ Y3 ) )
             => ~ ( Q @ Y3 ) ) ) ) ).

% case_optionE
thf(fact_753_dom__def,axiom,
    ( dom_option_a_a
    = ( ^ [M3: option_a > option_a] :
          ( collect_option_a
          @ ^ [A3: option_a] :
              ( ( M3 @ A3 )
             != none_a ) ) ) ) ).

% dom_def
thf(fact_754_option_Odisc__eq__case_I1_J,axiom,
    ! [Option: option_a] :
      ( ( Option = none_a )
      = ( case_option_o_a @ $true
        @ ^ [Uu: a] : $false
        @ Option ) ) ).

% option.disc_eq_case(1)
thf(fact_755_option_Odisc__eq__case_I2_J,axiom,
    ! [Option: option_a] :
      ( ( Option != none_a )
      = ( case_option_o_a @ $false
        @ ^ [Uu: a] : $true
        @ Option ) ) ).

% option.disc_eq_case(2)
thf(fact_756_option_Ocase__distrib,axiom,
    ! [H: option_a > option_a,F1: option_a,F22: a > option_a,Option: option_a] :
      ( ( H @ ( case_o3148979394504432965on_a_a @ F1 @ F22 @ Option ) )
      = ( case_o3148979394504432965on_a_a @ ( H @ F1 )
        @ ^ [X: a] : ( H @ ( F22 @ X ) )
        @ Option ) ) ).

% option.case_distrib
thf(fact_757_option_Ocase__distrib,axiom,
    ! [H: option_a > $o,F1: option_a,F22: a > option_a,Option: option_a] :
      ( ( H @ ( case_o3148979394504432965on_a_a @ F1 @ F22 @ Option ) )
      = ( case_option_o_a @ ( H @ F1 )
        @ ^ [X: a] : ( H @ ( F22 @ X ) )
        @ Option ) ) ).

% option.case_distrib
thf(fact_758_option_Ocase__distrib,axiom,
    ! [H: option_a > a,F1: option_a,F22: a > option_a,Option: option_a] :
      ( ( H @ ( case_o3148979394504432965on_a_a @ F1 @ F22 @ Option ) )
      = ( case_option_a_a @ ( H @ F1 )
        @ ^ [X: a] : ( H @ ( F22 @ X ) )
        @ Option ) ) ).

% option.case_distrib
thf(fact_759_option_Ocase__distrib,axiom,
    ! [H: $o > option_a,F1: $o,F22: a > $o,Option: option_a] :
      ( ( H @ ( case_option_o_a @ F1 @ F22 @ Option ) )
      = ( case_o3148979394504432965on_a_a @ ( H @ F1 )
        @ ^ [X: a] : ( H @ ( F22 @ X ) )
        @ Option ) ) ).

% option.case_distrib
thf(fact_760_option_Ocase__distrib,axiom,
    ! [H: $o > $o,F1: $o,F22: a > $o,Option: option_a] :
      ( ( H @ ( case_option_o_a @ F1 @ F22 @ Option ) )
      = ( case_option_o_a @ ( H @ F1 )
        @ ^ [X: a] : ( H @ ( F22 @ X ) )
        @ Option ) ) ).

% option.case_distrib
thf(fact_761_option_Ocase__distrib,axiom,
    ! [H: $o > a,F1: $o,F22: a > $o,Option: option_a] :
      ( ( H @ ( case_option_o_a @ F1 @ F22 @ Option ) )
      = ( case_option_a_a @ ( H @ F1 )
        @ ^ [X: a] : ( H @ ( F22 @ X ) )
        @ Option ) ) ).

% option.case_distrib
thf(fact_762_option_Ocase__distrib,axiom,
    ! [H: a > option_a,F1: a,F22: a > a,Option: option_a] :
      ( ( H @ ( case_option_a_a @ F1 @ F22 @ Option ) )
      = ( case_o3148979394504432965on_a_a @ ( H @ F1 )
        @ ^ [X: a] : ( H @ ( F22 @ X ) )
        @ Option ) ) ).

% option.case_distrib
thf(fact_763_option_Ocase__distrib,axiom,
    ! [H: a > $o,F1: a,F22: a > a,Option: option_a] :
      ( ( H @ ( case_option_a_a @ F1 @ F22 @ Option ) )
      = ( case_option_o_a @ ( H @ F1 )
        @ ^ [X: a] : ( H @ ( F22 @ X ) )
        @ Option ) ) ).

% option.case_distrib
thf(fact_764_option_Ocase__distrib,axiom,
    ! [H: a > a,F1: a,F22: a > a,Option: option_a] :
      ( ( H @ ( case_option_a_a @ F1 @ F22 @ Option ) )
      = ( case_option_a_a @ ( H @ F1 )
        @ ^ [X: a] : ( H @ ( F22 @ X ) )
        @ Option ) ) ).

% option.case_distrib
thf(fact_765_option_Omap__ident,axiom,
    ! [T: option_a] :
      ( ( map_option_a_a2
        @ ^ [X: a] : X
        @ T )
      = T ) ).

% option.map_ident
thf(fact_766_inj__singleton,axiom,
    ! [A2: set_a] :
      ( inj_on_a_set_a
      @ ^ [X: a] : ( insert_a @ X @ bot_bot_set_a )
      @ A2 ) ).

% inj_singleton
thf(fact_767_inj__singleton,axiom,
    ! [A2: set_option_a] :
      ( inj_on7881382345526841553tion_a
      @ ^ [X: option_a] : ( insert_option_a @ X @ bot_bot_set_option_a )
      @ A2 ) ).

% inj_singleton
thf(fact_768_Option_Othese__def,axiom,
    ( these_a
    = ( ^ [A5: set_option_a] :
          ( image_option_a_a @ the_a2
          @ ( collect_option_a
            @ ^ [X: option_a] :
                ( ( member_option_a @ X @ A5 )
                & ( X != none_a ) ) ) ) ) ) ).

% Option.these_def
thf(fact_769_bij__betw__disjoint__Un,axiom,
    ! [F2: b > b,A2: set_b,C3: set_b,G: b > b,B2: set_b,D2: set_b] :
      ( ( bij_betw_b_b @ F2 @ A2 @ C3 )
     => ( ( bij_betw_b_b @ G @ B2 @ D2 )
       => ( ( ( inf_inf_set_b @ A2 @ B2 )
            = bot_bot_set_b )
         => ( ( ( inf_inf_set_b @ C3 @ D2 )
              = bot_bot_set_b )
           => ( bij_betw_b_b
              @ ^ [X: b] : ( if_b @ ( member_b @ X @ A2 ) @ ( F2 @ X ) @ ( G @ X ) )
              @ ( sup_sup_set_b @ A2 @ B2 )
              @ ( sup_sup_set_b @ C3 @ D2 ) ) ) ) ) ) ).

% bij_betw_disjoint_Un
thf(fact_770_bij__betw__disjoint__Un,axiom,
    ! [F2: b > a,A2: set_b,C3: set_a,G: b > a,B2: set_b,D2: set_a] :
      ( ( bij_betw_b_a @ F2 @ A2 @ C3 )
     => ( ( bij_betw_b_a @ G @ B2 @ D2 )
       => ( ( ( inf_inf_set_b @ A2 @ B2 )
            = bot_bot_set_b )
         => ( ( ( inf_inf_set_a @ C3 @ D2 )
              = bot_bot_set_a )
           => ( bij_betw_b_a
              @ ^ [X: b] : ( if_a @ ( member_b @ X @ A2 ) @ ( F2 @ X ) @ ( G @ X ) )
              @ ( sup_sup_set_b @ A2 @ B2 )
              @ ( sup_sup_set_a @ C3 @ D2 ) ) ) ) ) ) ).

% bij_betw_disjoint_Un
thf(fact_771_bij__betw__disjoint__Un,axiom,
    ! [F2: b > option_a,A2: set_b,C3: set_option_a,G: b > option_a,B2: set_b,D2: set_option_a] :
      ( ( bij_betw_b_option_a @ F2 @ A2 @ C3 )
     => ( ( bij_betw_b_option_a @ G @ B2 @ D2 )
       => ( ( ( inf_inf_set_b @ A2 @ B2 )
            = bot_bot_set_b )
         => ( ( ( inf_inf_set_option_a @ C3 @ D2 )
              = bot_bot_set_option_a )
           => ( bij_betw_b_option_a
              @ ^ [X: b] : ( if_option_a @ ( member_b @ X @ A2 ) @ ( F2 @ X ) @ ( G @ X ) )
              @ ( sup_sup_set_b @ A2 @ B2 )
              @ ( sup_sup_set_option_a @ C3 @ D2 ) ) ) ) ) ) ).

% bij_betw_disjoint_Un
thf(fact_772_bij__betw__disjoint__Un,axiom,
    ! [F2: a > b,A2: set_a,C3: set_b,G: a > b,B2: set_a,D2: set_b] :
      ( ( bij_betw_a_b @ F2 @ A2 @ C3 )
     => ( ( bij_betw_a_b @ G @ B2 @ D2 )
       => ( ( ( inf_inf_set_a @ A2 @ B2 )
            = bot_bot_set_a )
         => ( ( ( inf_inf_set_b @ C3 @ D2 )
              = bot_bot_set_b )
           => ( bij_betw_a_b
              @ ^ [X: a] : ( if_b @ ( member_a @ X @ A2 ) @ ( F2 @ X ) @ ( G @ X ) )
              @ ( sup_sup_set_a @ A2 @ B2 )
              @ ( sup_sup_set_b @ C3 @ D2 ) ) ) ) ) ) ).

% bij_betw_disjoint_Un
thf(fact_773_bij__betw__disjoint__Un,axiom,
    ! [F2: a > a,A2: set_a,C3: set_a,G: a > a,B2: set_a,D2: set_a] :
      ( ( bij_betw_a_a @ F2 @ A2 @ C3 )
     => ( ( bij_betw_a_a @ G @ B2 @ D2 )
       => ( ( ( inf_inf_set_a @ A2 @ B2 )
            = bot_bot_set_a )
         => ( ( ( inf_inf_set_a @ C3 @ D2 )
              = bot_bot_set_a )
           => ( bij_betw_a_a
              @ ^ [X: a] : ( if_a @ ( member_a @ X @ A2 ) @ ( F2 @ X ) @ ( G @ X ) )
              @ ( sup_sup_set_a @ A2 @ B2 )
              @ ( sup_sup_set_a @ C3 @ D2 ) ) ) ) ) ) ).

% bij_betw_disjoint_Un
thf(fact_774_bij__betw__disjoint__Un,axiom,
    ! [F2: a > option_a,A2: set_a,C3: set_option_a,G: a > option_a,B2: set_a,D2: set_option_a] :
      ( ( bij_betw_a_option_a @ F2 @ A2 @ C3 )
     => ( ( bij_betw_a_option_a @ G @ B2 @ D2 )
       => ( ( ( inf_inf_set_a @ A2 @ B2 )
            = bot_bot_set_a )
         => ( ( ( inf_inf_set_option_a @ C3 @ D2 )
              = bot_bot_set_option_a )
           => ( bij_betw_a_option_a
              @ ^ [X: a] : ( if_option_a @ ( member_a @ X @ A2 ) @ ( F2 @ X ) @ ( G @ X ) )
              @ ( sup_sup_set_a @ A2 @ B2 )
              @ ( sup_sup_set_option_a @ C3 @ D2 ) ) ) ) ) ) ).

% bij_betw_disjoint_Un
thf(fact_775_bij__betw__disjoint__Un,axiom,
    ! [F2: option_a > b,A2: set_option_a,C3: set_b,G: option_a > b,B2: set_option_a,D2: set_b] :
      ( ( bij_betw_option_a_b @ F2 @ A2 @ C3 )
     => ( ( bij_betw_option_a_b @ G @ B2 @ D2 )
       => ( ( ( inf_inf_set_option_a @ A2 @ B2 )
            = bot_bot_set_option_a )
         => ( ( ( inf_inf_set_b @ C3 @ D2 )
              = bot_bot_set_b )
           => ( bij_betw_option_a_b
              @ ^ [X: option_a] : ( if_b @ ( member_option_a @ X @ A2 ) @ ( F2 @ X ) @ ( G @ X ) )
              @ ( sup_sup_set_option_a @ A2 @ B2 )
              @ ( sup_sup_set_b @ C3 @ D2 ) ) ) ) ) ) ).

% bij_betw_disjoint_Un
thf(fact_776_bij__betw__disjoint__Un,axiom,
    ! [F2: option_a > a,A2: set_option_a,C3: set_a,G: option_a > a,B2: set_option_a,D2: set_a] :
      ( ( bij_betw_option_a_a @ F2 @ A2 @ C3 )
     => ( ( bij_betw_option_a_a @ G @ B2 @ D2 )
       => ( ( ( inf_inf_set_option_a @ A2 @ B2 )
            = bot_bot_set_option_a )
         => ( ( ( inf_inf_set_a @ C3 @ D2 )
              = bot_bot_set_a )
           => ( bij_betw_option_a_a
              @ ^ [X: option_a] : ( if_a @ ( member_option_a @ X @ A2 ) @ ( F2 @ X ) @ ( G @ X ) )
              @ ( sup_sup_set_option_a @ A2 @ B2 )
              @ ( sup_sup_set_a @ C3 @ D2 ) ) ) ) ) ) ).

% bij_betw_disjoint_Un
thf(fact_777_bij__betw__disjoint__Un,axiom,
    ! [F2: option_a > option_a,A2: set_option_a,C3: set_option_a,G: option_a > option_a,B2: set_option_a,D2: set_option_a] :
      ( ( bij_be5431266891817924854tion_a @ F2 @ A2 @ C3 )
     => ( ( bij_be5431266891817924854tion_a @ G @ B2 @ D2 )
       => ( ( ( inf_inf_set_option_a @ A2 @ B2 )
            = bot_bot_set_option_a )
         => ( ( ( inf_inf_set_option_a @ C3 @ D2 )
              = bot_bot_set_option_a )
           => ( bij_be5431266891817924854tion_a
              @ ^ [X: option_a] : ( if_option_a @ ( member_option_a @ X @ A2 ) @ ( F2 @ X ) @ ( G @ X ) )
              @ ( sup_sup_set_option_a @ A2 @ B2 )
              @ ( sup_sup_set_option_a @ C3 @ D2 ) ) ) ) ) ) ).

% bij_betw_disjoint_Un
thf(fact_778_finite__set__of__finite__maps,axiom,
    ! [A2: set_option_a,B2: set_option_a] :
      ( ( finite1674126218327898605tion_a @ A2 )
     => ( ( finite1674126218327898605tion_a @ B2 )
       => ( finite3089212293327181890tion_a
          @ ( collec2458836999851688832tion_a
            @ ^ [M3: option_a > option_option_a] :
                ( ( ( dom_op4724496951392727122tion_a @ M3 )
                  = A2 )
                & ( ord_le1955136853071979460tion_a @ ( ran_op6317565877353657455tion_a @ M3 ) @ B2 ) ) ) ) ) ) ).

% finite_set_of_finite_maps
thf(fact_779_finite__set__of__finite__maps,axiom,
    ! [A2: set_option_a,B2: set_a] :
      ( ( finite1674126218327898605tion_a @ A2 )
     => ( ( finite_finite_a @ B2 )
       => ( finite8942580144290239484tion_a
          @ ( collec5803847638788715578tion_a
            @ ^ [M3: option_a > option_a] :
                ( ( ( dom_option_a_a @ M3 )
                  = A2 )
                & ( ord_less_eq_set_a @ ( ran_option_a_a @ M3 ) @ B2 ) ) ) ) ) ) ).

% finite_set_of_finite_maps
thf(fact_780_finite__set__of__finite__maps,axiom,
    ! [A2: set_a,B2: set_option_a] :
      ( ( finite_finite_a @ A2 )
     => ( ( finite1674126218327898605tion_a @ B2 )
       => ( finite595534299322690568tion_a
          @ ( collec6680173830675942470tion_a
            @ ^ [M3: a > option_option_a] :
                ( ( ( dom_a_option_a @ M3 )
                  = A2 )
                & ( ord_le1955136853071979460tion_a @ ( ran_a_option_a @ M3 ) @ B2 ) ) ) ) ) ) ).

% finite_set_of_finite_maps
thf(fact_781_finite__set__of__finite__maps,axiom,
    ! [A2: set_a,B2: set_a] :
      ( ( finite_finite_a @ A2 )
     => ( ( finite_finite_a @ B2 )
       => ( finite5998080203967203522tion_a
          @ ( collect_a_option_a
            @ ^ [M3: a > option_a] :
                ( ( ( dom_a_a @ M3 )
                  = A2 )
                & ( ord_less_eq_set_a @ ( ran_a_a @ M3 ) @ B2 ) ) ) ) ) ) ).

% finite_set_of_finite_maps
thf(fact_782_Some__image__these__eq,axiom,
    ! [A2: set_option_a] :
      ( ( image_a_option_a @ some_a @ ( these_a @ A2 ) )
      = ( collect_option_a
        @ ^ [X: option_a] :
            ( ( member_option_a @ X @ A2 )
            & ( X != none_a ) ) ) ) ).

% Some_image_these_eq
thf(fact_783_inj__on__disjoint__Un,axiom,
    ! [F2: a > a,A2: set_a,G: a > a,B2: set_a] :
      ( ( inj_on_a_a @ F2 @ A2 )
     => ( ( inj_on_a_a @ G @ B2 )
       => ( ( ( inf_inf_set_a @ ( image_a_a @ F2 @ A2 ) @ ( image_a_a @ G @ B2 ) )
            = bot_bot_set_a )
         => ( inj_on_a_a
            @ ^ [X: a] : ( if_a @ ( member_a @ X @ A2 ) @ ( F2 @ X ) @ ( G @ X ) )
            @ ( sup_sup_set_a @ A2 @ B2 ) ) ) ) ) ).

% inj_on_disjoint_Un
thf(fact_784_inj__on__disjoint__Un,axiom,
    ! [F2: option_a > a,A2: set_option_a,G: option_a > a,B2: set_option_a] :
      ( ( inj_on_option_a_a @ F2 @ A2 )
     => ( ( inj_on_option_a_a @ G @ B2 )
       => ( ( ( inf_inf_set_a @ ( image_option_a_a @ F2 @ A2 ) @ ( image_option_a_a @ G @ B2 ) )
            = bot_bot_set_a )
         => ( inj_on_option_a_a
            @ ^ [X: option_a] : ( if_a @ ( member_option_a @ X @ A2 ) @ ( F2 @ X ) @ ( G @ X ) )
            @ ( sup_sup_set_option_a @ A2 @ B2 ) ) ) ) ) ).

% inj_on_disjoint_Un
thf(fact_785_inj__on__disjoint__Un,axiom,
    ! [F2: b > a,A2: set_b,G: b > a,B2: set_b] :
      ( ( inj_on_b_a @ F2 @ A2 )
     => ( ( inj_on_b_a @ G @ B2 )
       => ( ( ( inf_inf_set_a @ ( image_b_a @ F2 @ A2 ) @ ( image_b_a @ G @ B2 ) )
            = bot_bot_set_a )
         => ( inj_on_b_a
            @ ^ [X: b] : ( if_a @ ( member_b @ X @ A2 ) @ ( F2 @ X ) @ ( G @ X ) )
            @ ( sup_sup_set_b @ A2 @ B2 ) ) ) ) ) ).

% inj_on_disjoint_Un
thf(fact_786_inj__on__disjoint__Un,axiom,
    ! [F2: a > option_a,A2: set_a,G: a > option_a,B2: set_a] :
      ( ( inj_on_a_option_a @ F2 @ A2 )
     => ( ( inj_on_a_option_a @ G @ B2 )
       => ( ( ( inf_inf_set_option_a @ ( image_a_option_a @ F2 @ A2 ) @ ( image_a_option_a @ G @ B2 ) )
            = bot_bot_set_option_a )
         => ( inj_on_a_option_a
            @ ^ [X: a] : ( if_option_a @ ( member_a @ X @ A2 ) @ ( F2 @ X ) @ ( G @ X ) )
            @ ( sup_sup_set_a @ A2 @ B2 ) ) ) ) ) ).

% inj_on_disjoint_Un
thf(fact_787_inj__on__disjoint__Un,axiom,
    ! [F2: option_a > option_a,A2: set_option_a,G: option_a > option_a,B2: set_option_a] :
      ( ( inj_on8559383841115902449tion_a @ F2 @ A2 )
     => ( ( inj_on8559383841115902449tion_a @ G @ B2 )
       => ( ( ( inf_inf_set_option_a @ ( image_7439109396645324421tion_a @ F2 @ A2 ) @ ( image_7439109396645324421tion_a @ G @ B2 ) )
            = bot_bot_set_option_a )
         => ( inj_on8559383841115902449tion_a
            @ ^ [X: option_a] : ( if_option_a @ ( member_option_a @ X @ A2 ) @ ( F2 @ X ) @ ( G @ X ) )
            @ ( sup_sup_set_option_a @ A2 @ B2 ) ) ) ) ) ).

% inj_on_disjoint_Un
thf(fact_788_inj__on__disjoint__Un,axiom,
    ! [F2: b > option_a,A2: set_b,G: b > option_a,B2: set_b] :
      ( ( inj_on_b_option_a @ F2 @ A2 )
     => ( ( inj_on_b_option_a @ G @ B2 )
       => ( ( ( inf_inf_set_option_a @ ( image_b_option_a @ F2 @ A2 ) @ ( image_b_option_a @ G @ B2 ) )
            = bot_bot_set_option_a )
         => ( inj_on_b_option_a
            @ ^ [X: b] : ( if_option_a @ ( member_b @ X @ A2 ) @ ( F2 @ X ) @ ( G @ X ) )
            @ ( sup_sup_set_b @ A2 @ B2 ) ) ) ) ) ).

% inj_on_disjoint_Un
thf(fact_789_finite__Map__induct,axiom,
    ! [M: b > option_a,P3: ( b > option_a ) > $o] :
      ( ( finite_finite_b @ ( dom_b_a @ M ) )
     => ( ( P3
          @ ^ [X: b] : none_a )
       => ( ! [K3: b,V2: a,M4: b > option_a] :
              ( ( finite_finite_b @ ( dom_b_a @ M4 ) )
             => ( ~ ( member_b @ K3 @ ( dom_b_a @ M4 ) )
               => ( ( P3 @ M4 )
                 => ( P3 @ ( fun_upd_b_option_a @ M4 @ K3 @ ( some_a @ V2 ) ) ) ) ) )
         => ( P3 @ M ) ) ) ) ).

% finite_Map_induct
thf(fact_790_finite__Map__induct,axiom,
    ! [M: option_a > option_a,P3: ( option_a > option_a ) > $o] :
      ( ( finite1674126218327898605tion_a @ ( dom_option_a_a @ M ) )
     => ( ( P3
          @ ^ [X: option_a] : none_a )
       => ( ! [K3: option_a,V2: a,M4: option_a > option_a] :
              ( ( finite1674126218327898605tion_a @ ( dom_option_a_a @ M4 ) )
             => ( ~ ( member_option_a @ K3 @ ( dom_option_a_a @ M4 ) )
               => ( ( P3 @ M4 )
                 => ( P3 @ ( fun_up1079276522633388797tion_a @ M4 @ K3 @ ( some_a @ V2 ) ) ) ) ) )
         => ( P3 @ M ) ) ) ) ).

% finite_Map_induct
thf(fact_791_finite__Map__induct,axiom,
    ! [M: a > option_a,P3: ( a > option_a ) > $o] :
      ( ( finite_finite_a @ ( dom_a_a @ M ) )
     => ( ( P3
          @ ^ [X: a] : none_a )
       => ( ! [K3: a,V2: a,M4: a > option_a] :
              ( ( finite_finite_a @ ( dom_a_a @ M4 ) )
             => ( ~ ( member_a @ K3 @ ( dom_a_a @ M4 ) )
               => ( ( P3 @ M4 )
                 => ( P3 @ ( fun_upd_a_option_a @ M4 @ K3 @ ( some_a @ V2 ) ) ) ) ) )
         => ( P3 @ M ) ) ) ) ).

% finite_Map_induct
thf(fact_792_map__of__map__keys,axiom,
    ! [Xs: list_a,M: a > option_a] :
      ( ( ( set_a2 @ Xs )
        = ( dom_a_a @ M ) )
     => ( ( map_of_a_a
          @ ( map_a_7860052162900579309od_a_a
            @ ^ [K2: a] : ( product_Pair_a_a @ K2 @ ( the_a2 @ ( M @ K2 ) ) )
            @ Xs ) )
        = M ) ) ).

% map_of_map_keys
thf(fact_793_dom__eq__singleton__conv,axiom,
    ! [F2: a > option_a,X3: a] :
      ( ( ( dom_a_a @ F2 )
        = ( insert_a @ X3 @ bot_bot_set_a ) )
      = ( ? [V: a] :
            ( F2
            = ( fun_upd_a_option_a
              @ ^ [X: a] : none_a
              @ X3
              @ ( some_a @ V ) ) ) ) ) ).

% dom_eq_singleton_conv
thf(fact_794_dom__eq__singleton__conv,axiom,
    ! [F2: option_a > option_a,X3: option_a] :
      ( ( ( dom_option_a_a @ F2 )
        = ( insert_option_a @ X3 @ bot_bot_set_option_a ) )
      = ( ? [V: a] :
            ( F2
            = ( fun_up1079276522633388797tion_a
              @ ^ [X: option_a] : none_a
              @ X3
              @ ( some_a @ V ) ) ) ) ) ).

% dom_eq_singleton_conv
thf(fact_795_finite__update__induct,axiom,
    ! [F2: c > d,C2: d,P3: ( c > d ) > $o] :
      ( ( finite_finite_c
        @ ( collect_c
          @ ^ [A3: c] :
              ( ( F2 @ A3 )
             != C2 ) ) )
     => ( ( P3
          @ ^ [A3: c] : C2 )
       => ( ! [A4: c,B4: d,F4: c > d] :
              ( ( finite_finite_c
                @ ( collect_c
                  @ ^ [C: c] :
                      ( ( F4 @ C )
                     != C2 ) ) )
             => ( ( ( F4 @ A4 )
                  = C2 )
               => ( ( B4 != C2 )
                 => ( ( P3 @ F4 )
                   => ( P3 @ ( fun_upd_c_d @ F4 @ A4 @ B4 ) ) ) ) ) )
         => ( P3 @ F2 ) ) ) ) ).

% finite_update_induct
thf(fact_796_inj__on__vimage__singleton,axiom,
    ! [F2: b > a,A2: set_b,A: a] :
      ( ( inj_on_b_a @ F2 @ A2 )
     => ( ord_less_eq_set_b @ ( inf_inf_set_b @ ( vimage_b_a @ F2 @ ( insert_a @ A @ bot_bot_set_a ) ) @ A2 )
        @ ( insert_b
          @ ( the_b
            @ ^ [X: b] :
                ( ( member_b @ X @ A2 )
                & ( ( F2 @ X )
                  = A ) ) )
          @ bot_bot_set_b ) ) ) ).

% inj_on_vimage_singleton
thf(fact_797_inj__on__vimage__singleton,axiom,
    ! [F2: a > a,A2: set_a,A: a] :
      ( ( inj_on_a_a @ F2 @ A2 )
     => ( ord_less_eq_set_a @ ( inf_inf_set_a @ ( vimage_a_a @ F2 @ ( insert_a @ A @ bot_bot_set_a ) ) @ A2 )
        @ ( insert_a
          @ ( the_a
            @ ^ [X: a] :
                ( ( member_a @ X @ A2 )
                & ( ( F2 @ X )
                  = A ) ) )
          @ bot_bot_set_a ) ) ) ).

% inj_on_vimage_singleton
thf(fact_798_inj__on__vimage__singleton,axiom,
    ! [F2: option_a > a,A2: set_option_a,A: a] :
      ( ( inj_on_option_a_a @ F2 @ A2 )
     => ( ord_le1955136853071979460tion_a @ ( inf_inf_set_option_a @ ( vimage_option_a_a @ F2 @ ( insert_a @ A @ bot_bot_set_a ) ) @ A2 )
        @ ( insert_option_a
          @ ( the_option_a
            @ ^ [X: option_a] :
                ( ( member_option_a @ X @ A2 )
                & ( ( F2 @ X )
                  = A ) ) )
          @ bot_bot_set_option_a ) ) ) ).

% inj_on_vimage_singleton
thf(fact_799_inj__on__vimage__singleton,axiom,
    ! [F2: b > option_a,A2: set_b,A: option_a] :
      ( ( inj_on_b_option_a @ F2 @ A2 )
     => ( ord_less_eq_set_b @ ( inf_inf_set_b @ ( vimage_b_option_a @ F2 @ ( insert_option_a @ A @ bot_bot_set_option_a ) ) @ A2 )
        @ ( insert_b
          @ ( the_b
            @ ^ [X: b] :
                ( ( member_b @ X @ A2 )
                & ( ( F2 @ X )
                  = A ) ) )
          @ bot_bot_set_b ) ) ) ).

% inj_on_vimage_singleton
thf(fact_800_inj__on__vimage__singleton,axiom,
    ! [F2: a > option_a,A2: set_a,A: option_a] :
      ( ( inj_on_a_option_a @ F2 @ A2 )
     => ( ord_less_eq_set_a @ ( inf_inf_set_a @ ( vimage_a_option_a @ F2 @ ( insert_option_a @ A @ bot_bot_set_option_a ) ) @ A2 )
        @ ( insert_a
          @ ( the_a
            @ ^ [X: a] :
                ( ( member_a @ X @ A2 )
                & ( ( F2 @ X )
                  = A ) ) )
          @ bot_bot_set_a ) ) ) ).

% inj_on_vimage_singleton
thf(fact_801_inj__on__vimage__singleton,axiom,
    ! [F2: option_a > option_a,A2: set_option_a,A: option_a] :
      ( ( inj_on8559383841115902449tion_a @ F2 @ A2 )
     => ( ord_le1955136853071979460tion_a @ ( inf_inf_set_option_a @ ( vimage1562710927270423099tion_a @ F2 @ ( insert_option_a @ A @ bot_bot_set_option_a ) ) @ A2 )
        @ ( insert_option_a
          @ ( the_option_a
            @ ^ [X: option_a] :
                ( ( member_option_a @ X @ A2 )
                & ( ( F2 @ X )
                  = A ) ) )
          @ bot_bot_set_option_a ) ) ) ).

% inj_on_vimage_singleton
thf(fact_802_inj__vimage__singleton,axiom,
    ! [F2: a > a,A: a] :
      ( ( inj_on_a_a @ F2 @ top_top_set_a )
     => ( ord_less_eq_set_a @ ( vimage_a_a @ F2 @ ( insert_a @ A @ bot_bot_set_a ) )
        @ ( insert_a
          @ ( the_a
            @ ^ [X: a] :
                ( ( F2 @ X )
                = A ) )
          @ bot_bot_set_a ) ) ) ).

% inj_vimage_singleton
thf(fact_803_inj__vimage__singleton,axiom,
    ! [F2: a > option_a,A: option_a] :
      ( ( inj_on_a_option_a @ F2 @ top_top_set_a )
     => ( ord_less_eq_set_a @ ( vimage_a_option_a @ F2 @ ( insert_option_a @ A @ bot_bot_set_option_a ) )
        @ ( insert_a
          @ ( the_a
            @ ^ [X: a] :
                ( ( F2 @ X )
                = A ) )
          @ bot_bot_set_a ) ) ) ).

% inj_vimage_singleton
thf(fact_804_inj__vimage__singleton,axiom,
    ! [F2: option_a > a,A: a] :
      ( ( inj_on_option_a_a @ F2 @ top_top_set_option_a )
     => ( ord_le1955136853071979460tion_a @ ( vimage_option_a_a @ F2 @ ( insert_a @ A @ bot_bot_set_a ) )
        @ ( insert_option_a
          @ ( the_option_a
            @ ^ [X: option_a] :
                ( ( F2 @ X )
                = A ) )
          @ bot_bot_set_option_a ) ) ) ).

% inj_vimage_singleton
thf(fact_805_inj__vimage__singleton,axiom,
    ! [F2: option_a > option_a,A: option_a] :
      ( ( inj_on8559383841115902449tion_a @ F2 @ top_top_set_option_a )
     => ( ord_le1955136853071979460tion_a @ ( vimage1562710927270423099tion_a @ F2 @ ( insert_option_a @ A @ bot_bot_set_option_a ) )
        @ ( insert_option_a
          @ ( the_option_a
            @ ^ [X: option_a] :
                ( ( F2 @ X )
                = A ) )
          @ bot_bot_set_option_a ) ) ) ).

% inj_vimage_singleton
thf(fact_806_disjE__realizer2,axiom,
    ! [P3: $o,Q: a > $o,X3: option_a,R3: option_a > $o,F2: option_a,G: a > option_a] :
      ( ( case_option_o_a @ P3 @ Q @ X3 )
     => ( ( P3
         => ( R3 @ F2 ) )
       => ( ! [Q4: a] :
              ( ( Q @ Q4 )
             => ( R3 @ ( G @ Q4 ) ) )
         => ( R3 @ ( case_o3148979394504432965on_a_a @ F2 @ G @ X3 ) ) ) ) ) ).

% disjE_realizer2
thf(fact_807_disjE__realizer2,axiom,
    ! [P3: $o,Q: a > $o,X3: option_a,R3: $o > $o,F2: $o,G: a > $o] :
      ( ( case_option_o_a @ P3 @ Q @ X3 )
     => ( ( P3
         => ( R3 @ F2 ) )
       => ( ! [Q4: a] :
              ( ( Q @ Q4 )
             => ( R3 @ ( G @ Q4 ) ) )
         => ( R3 @ ( case_option_o_a @ F2 @ G @ X3 ) ) ) ) ) ).

% disjE_realizer2
thf(fact_808_disjE__realizer2,axiom,
    ! [P3: $o,Q: a > $o,X3: option_a,R3: a > $o,F2: a,G: a > a] :
      ( ( case_option_o_a @ P3 @ Q @ X3 )
     => ( ( P3
         => ( R3 @ F2 ) )
       => ( ! [Q4: a] :
              ( ( Q @ Q4 )
             => ( R3 @ ( G @ Q4 ) ) )
         => ( R3 @ ( case_option_a_a @ F2 @ G @ X3 ) ) ) ) ) ).

% disjE_realizer2
thf(fact_809_map__of__mapk__SomeI,axiom,
    ! [F2: a > option_a,T: list_P1396940483166286381od_a_a,K: a,X3: a] :
      ( ( inj_on_a_option_a @ F2 @ top_top_set_a )
     => ( ( ( map_of_a_a @ T @ K )
          = ( some_a @ X3 ) )
       => ( ( map_of_option_a_a
            @ ( map_Pr4086016924558362686on_a_a
              @ ( produc1387243408678024373on_a_a
                @ ^ [K2: a] : ( produc3446707977624461905on_a_a @ ( F2 @ K2 ) ) )
              @ T )
            @ ( F2 @ K ) )
          = ( some_a @ X3 ) ) ) ) ).

% map_of_mapk_SomeI
thf(fact_810_map__upds__append1,axiom,
    ! [Xs: list_a,Ys: list_a,M: a > option_a,X3: a] :
      ( ( ord_less_nat @ ( size_size_list_a @ Xs ) @ ( size_size_list_a @ Ys ) )
     => ( ( map_upds_a_a @ M @ ( append_a @ Xs @ ( cons_a @ X3 @ nil_a ) ) @ Ys )
        = ( fun_upd_a_option_a @ ( map_upds_a_a @ M @ Xs @ Ys ) @ X3 @ ( some_a @ ( nth_a @ Ys @ ( size_size_list_a @ Xs ) ) ) ) ) ) ).

% map_upds_append1
thf(fact_811_those_Osimps_I2_J,axiom,
    ! [X3: option_a,Xs: list_option_a] :
      ( ( those_a @ ( cons_option_a @ X3 @ Xs ) )
      = ( case_o1175493056458921151st_a_a @ none_list_a
        @ ^ [Y: a] : ( map_op1857795647477319691list_a @ ( cons_a @ Y ) @ ( those_a @ Xs ) )
        @ X3 ) ) ).

% those.simps(2)
thf(fact_812_map__of__zip__nth,axiom,
    ! [Xs: list_a,Ys: list_a,I: nat] :
      ( ( ( size_size_list_a @ Xs )
        = ( size_size_list_a @ Ys ) )
     => ( ( distinct_a @ Xs )
       => ( ( ord_less_nat @ I @ ( size_size_list_a @ Ys ) )
         => ( ( map_of_a_a @ ( zip_a_a @ Xs @ Ys ) @ ( nth_a @ Xs @ I ) )
            = ( some_a @ ( nth_a @ Ys @ I ) ) ) ) ) ) ).

% map_of_zip_nth
thf(fact_813_find__Some__iff2,axiom,
    ! [X3: a,P3: a > $o,Xs: list_a] :
      ( ( ( some_a @ X3 )
        = ( find_a @ P3 @ Xs ) )
      = ( ? [I2: nat] :
            ( ( ord_less_nat @ I2 @ ( size_size_list_a @ Xs ) )
            & ( P3 @ ( nth_a @ Xs @ I2 ) )
            & ( X3
              = ( nth_a @ Xs @ I2 ) )
            & ! [J: nat] :
                ( ( ord_less_nat @ J @ I2 )
               => ~ ( P3 @ ( nth_a @ Xs @ J ) ) ) ) ) ) ).

% find_Some_iff2
thf(fact_814_find__Some__iff,axiom,
    ! [P3: a > $o,Xs: list_a,X3: a] :
      ( ( ( find_a @ P3 @ Xs )
        = ( some_a @ X3 ) )
      = ( ? [I2: nat] :
            ( ( ord_less_nat @ I2 @ ( size_size_list_a @ Xs ) )
            & ( P3 @ ( nth_a @ Xs @ I2 ) )
            & ( X3
              = ( nth_a @ Xs @ I2 ) )
            & ! [J: nat] :
                ( ( ord_less_nat @ J @ I2 )
               => ~ ( P3 @ ( nth_a @ Xs @ J ) ) ) ) ) ) ).

% find_Some_iff
thf(fact_815_find__None__iff2,axiom,
    ! [P3: option_a > $o,Xs: list_option_a] :
      ( ( none_option_a
        = ( find_option_a @ P3 @ Xs ) )
      = ( ~ ? [X: option_a] :
              ( ( member_option_a @ X @ ( set_option_a2 @ Xs ) )
              & ( P3 @ X ) ) ) ) ).

% find_None_iff2
thf(fact_816_find__None__iff2,axiom,
    ! [P3: b > $o,Xs: list_b] :
      ( ( none_b
        = ( find_b @ P3 @ Xs ) )
      = ( ~ ? [X: b] :
              ( ( member_b @ X @ ( set_b2 @ Xs ) )
              & ( P3 @ X ) ) ) ) ).

% find_None_iff2
thf(fact_817_find__None__iff2,axiom,
    ! [P3: a > $o,Xs: list_a] :
      ( ( none_a
        = ( find_a @ P3 @ Xs ) )
      = ( ~ ? [X: a] :
              ( ( member_a @ X @ ( set_a2 @ Xs ) )
              & ( P3 @ X ) ) ) ) ).

% find_None_iff2
thf(fact_818_image__strict__mono,axiom,
    ! [F2: option_a > a,B2: set_option_a,A2: set_option_a] :
      ( ( inj_on_option_a_a @ F2 @ B2 )
     => ( ( ord_le5631237216984945872tion_a @ A2 @ B2 )
       => ( ord_less_set_a @ ( image_option_a_a @ F2 @ A2 ) @ ( image_option_a_a @ F2 @ B2 ) ) ) ) ).

% image_strict_mono
thf(fact_819_image__strict__mono,axiom,
    ! [F2: a > option_a,B2: set_a,A2: set_a] :
      ( ( inj_on_a_option_a @ F2 @ B2 )
     => ( ( ord_less_set_a @ A2 @ B2 )
       => ( ord_le5631237216984945872tion_a @ ( image_a_option_a @ F2 @ A2 ) @ ( image_a_option_a @ F2 @ B2 ) ) ) ) ).

% image_strict_mono
thf(fact_820_find_Osimps_I2_J,axiom,
    ! [P3: a > $o,X3: a,Xs: list_a] :
      ( ( ( P3 @ X3 )
       => ( ( find_a @ P3 @ ( cons_a @ X3 @ Xs ) )
          = ( some_a @ X3 ) ) )
      & ( ~ ( P3 @ X3 )
       => ( ( find_a @ P3 @ ( cons_a @ X3 @ Xs ) )
          = ( find_a @ P3 @ Xs ) ) ) ) ).

% find.simps(2)
thf(fact_821_find_Osimps_I1_J,axiom,
    ! [Uu2: a > $o] :
      ( ( find_a @ Uu2 @ nil_a )
      = none_a ) ).

% find.simps(1)
thf(fact_822_find__None__iff,axiom,
    ! [P3: option_a > $o,Xs: list_option_a] :
      ( ( ( find_option_a @ P3 @ Xs )
        = none_option_a )
      = ( ~ ? [X: option_a] :
              ( ( member_option_a @ X @ ( set_option_a2 @ Xs ) )
              & ( P3 @ X ) ) ) ) ).

% find_None_iff
thf(fact_823_find__None__iff,axiom,
    ! [P3: b > $o,Xs: list_b] :
      ( ( ( find_b @ P3 @ Xs )
        = none_b )
      = ( ~ ? [X: b] :
              ( ( member_b @ X @ ( set_b2 @ Xs ) )
              & ( P3 @ X ) ) ) ) ).

% find_None_iff
thf(fact_824_find__None__iff,axiom,
    ! [P3: a > $o,Xs: list_a] :
      ( ( ( find_a @ P3 @ Xs )
        = none_a )
      = ( ~ ? [X: a] :
              ( ( member_a @ X @ ( set_a2 @ Xs ) )
              & ( P3 @ X ) ) ) ) ).

% find_None_iff
thf(fact_825_option_Oin__rel,axiom,
    ( rel_option_a_a
    = ( ^ [R4: a > a > $o,A3: option_a,B3: option_a] :
        ? [Z: option5210160422955383789od_a_a] :
          ( ( member8183384484874023062od_a_a @ Z
            @ ( collec431113534271933400od_a_a
              @ ^ [X: option5210160422955383789od_a_a] : ( ord_le746702958409616551od_a_a @ ( set_op3367984300228426933od_a_a @ X ) @ ( collec3336397797384452498od_a_a @ ( produc6436628058953941356_a_a_o @ R4 ) ) ) ) )
          & ( ( map_op713297920823408162_a_a_a @ product_fst_a_a @ Z )
            = A3 )
          & ( ( map_op713297920823408162_a_a_a @ product_snd_a_a @ Z )
            = B3 ) ) ) ) ).

% option.in_rel
thf(fact_826_map__filter__simps_I1_J,axiom,
    ! [F2: a > option_a,X3: a,Xs: list_a] :
      ( ( map_filter_a_a @ F2 @ ( cons_a @ X3 @ Xs ) )
      = ( case_option_list_a_a @ ( map_filter_a_a @ F2 @ Xs )
        @ ^ [Y: a] : ( cons_a @ Y @ ( map_filter_a_a @ F2 @ Xs ) )
        @ ( F2 @ X3 ) ) ) ).

% map_filter_simps(1)
thf(fact_827_option_Othe__def,axiom,
    ( the_a2
    = ( case_option_a_a @ undefined_a
      @ ^ [X25: a] : X25 ) ) ).

% option.the_def
thf(fact_828_rel__option__None2,axiom,
    ! [P3: a > a > $o,X3: option_a] :
      ( ( rel_option_a_a @ P3 @ X3 @ none_a )
      = ( X3 = none_a ) ) ).

% rel_option_None2
thf(fact_829_rel__option__None1,axiom,
    ! [P3: a > a > $o,X3: option_a] :
      ( ( rel_option_a_a @ P3 @ none_a @ X3 )
      = ( X3 = none_a ) ) ).

% rel_option_None1
thf(fact_830_option_Orel__mono,axiom,
    ! [R3: a > a > $o,Ra: a > a > $o] :
      ( ( ord_less_eq_a_a_o @ R3 @ Ra )
     => ( ord_le3058241657886854542on_a_o @ ( rel_option_a_a @ R3 ) @ ( rel_option_a_a @ Ra ) ) ) ).

% option.rel_mono
thf(fact_831_option_Orel__inject_I2_J,axiom,
    ! [R3: a > a > $o,X23: a,Y23: a] :
      ( ( rel_option_a_a @ R3 @ ( some_a @ X23 ) @ ( some_a @ Y23 ) )
      = ( R3 @ X23 @ Y23 ) ) ).

% option.rel_inject(2)
thf(fact_832_option_Orel__intros_I2_J,axiom,
    ! [R3: a > a > $o,X23: a,Y23: a] :
      ( ( R3 @ X23 @ Y23 )
     => ( rel_option_a_a @ R3 @ ( some_a @ X23 ) @ ( some_a @ Y23 ) ) ) ).

% option.rel_intros(2)
thf(fact_833_option__rel__Some1,axiom,
    ! [A2: a > a > $o,X3: a,Y2: option_a] :
      ( ( rel_option_a_a @ A2 @ ( some_a @ X3 ) @ Y2 )
      = ( ? [Y4: a] :
            ( ( Y2
              = ( some_a @ Y4 ) )
            & ( A2 @ X3 @ Y4 ) ) ) ) ).

% option_rel_Some1
thf(fact_834_option__rel__Some2,axiom,
    ! [A2: a > a > $o,X3: option_a,Y2: a] :
      ( ( rel_option_a_a @ A2 @ X3 @ ( some_a @ Y2 ) )
      = ( ? [X8: a] :
            ( ( X3
              = ( some_a @ X8 ) )
            & ( A2 @ X8 @ Y2 ) ) ) ) ).

% option_rel_Some2
thf(fact_835_option_Orel__eq,axiom,
    ( ( rel_option_a_a
      @ ^ [Y5: a,Z4: a] : ( Y5 = Z4 ) )
    = ( ^ [Y5: option_a,Z4: option_a] : ( Y5 = Z4 ) ) ) ).

% option.rel_eq
thf(fact_836_option_Orel__refl,axiom,
    ! [Ra: a > a > $o,X3: option_a] :
      ( ! [X2: a] : ( Ra @ X2 @ X2 )
     => ( rel_option_a_a @ Ra @ X3 @ X3 ) ) ).

% option.rel_refl
thf(fact_837_rel__option__reflI,axiom,
    ! [Y2: option_option_a,P3: option_a > option_a > $o] :
      ( ! [X2: option_a] :
          ( ( member_option_a @ X2 @ ( set_option_option_a2 @ Y2 ) )
         => ( P3 @ X2 @ X2 ) )
     => ( rel_op4798662380513671176tion_a @ P3 @ Y2 @ Y2 ) ) ).

% rel_option_reflI
thf(fact_838_rel__option__reflI,axiom,
    ! [Y2: option_b,P3: b > b > $o] :
      ( ! [X2: b] :
          ( ( member_b @ X2 @ ( set_option_b2 @ Y2 ) )
         => ( P3 @ X2 @ X2 ) )
     => ( rel_option_b_b @ P3 @ Y2 @ Y2 ) ) ).

% rel_option_reflI
thf(fact_839_rel__option__reflI,axiom,
    ! [Y2: option_a,P3: a > a > $o] :
      ( ! [X2: a] :
          ( ( member_a @ X2 @ ( set_option_a3 @ Y2 ) )
         => ( P3 @ X2 @ X2 ) )
     => ( rel_option_a_a @ P3 @ Y2 @ Y2 ) ) ).

% rel_option_reflI
thf(fact_840_option_Orel__refl__strong,axiom,
    ! [X3: option_option_a,Ra: option_a > option_a > $o] :
      ( ! [Z3: option_a] :
          ( ( member_option_a @ Z3 @ ( set_option_option_a2 @ X3 ) )
         => ( Ra @ Z3 @ Z3 ) )
     => ( rel_op4798662380513671176tion_a @ Ra @ X3 @ X3 ) ) ).

% option.rel_refl_strong
thf(fact_841_option_Orel__refl__strong,axiom,
    ! [X3: option_b,Ra: b > b > $o] :
      ( ! [Z3: b] :
          ( ( member_b @ Z3 @ ( set_option_b2 @ X3 ) )
         => ( Ra @ Z3 @ Z3 ) )
     => ( rel_option_b_b @ Ra @ X3 @ X3 ) ) ).

% option.rel_refl_strong
thf(fact_842_option_Orel__refl__strong,axiom,
    ! [X3: option_a,Ra: a > a > $o] :
      ( ! [Z3: a] :
          ( ( member_a @ Z3 @ ( set_option_a3 @ X3 ) )
         => ( Ra @ Z3 @ Z3 ) )
     => ( rel_option_a_a @ Ra @ X3 @ X3 ) ) ).

% option.rel_refl_strong
thf(fact_843_option_Orel__mono__strong,axiom,
    ! [R3: option_a > option_a > $o,X3: option_option_a,Y2: option_option_a,Ra: option_a > option_a > $o] :
      ( ( rel_op4798662380513671176tion_a @ R3 @ X3 @ Y2 )
     => ( ! [Z3: option_a,Yb: option_a] :
            ( ( member_option_a @ Z3 @ ( set_option_option_a2 @ X3 ) )
           => ( ( member_option_a @ Yb @ ( set_option_option_a2 @ Y2 ) )
             => ( ( R3 @ Z3 @ Yb )
               => ( Ra @ Z3 @ Yb ) ) ) )
       => ( rel_op4798662380513671176tion_a @ Ra @ X3 @ Y2 ) ) ) ).

% option.rel_mono_strong
thf(fact_844_option_Orel__mono__strong,axiom,
    ! [R3: option_a > b > $o,X3: option_option_a,Y2: option_b,Ra: option_a > b > $o] :
      ( ( rel_op3736390606718109635on_a_b @ R3 @ X3 @ Y2 )
     => ( ! [Z3: option_a,Yb: b] :
            ( ( member_option_a @ Z3 @ ( set_option_option_a2 @ X3 ) )
           => ( ( member_b @ Yb @ ( set_option_b2 @ Y2 ) )
             => ( ( R3 @ Z3 @ Yb )
               => ( Ra @ Z3 @ Yb ) ) ) )
       => ( rel_op3736390606718109635on_a_b @ Ra @ X3 @ Y2 ) ) ) ).

% option.rel_mono_strong
thf(fact_845_option_Orel__mono__strong,axiom,
    ! [R3: b > option_a > $o,X3: option_b,Y2: option_option_a,Ra: b > option_a > $o] :
      ( ( rel_op7651492520044095757tion_a @ R3 @ X3 @ Y2 )
     => ( ! [Z3: b,Yb: option_a] :
            ( ( member_b @ Z3 @ ( set_option_b2 @ X3 ) )
           => ( ( member_option_a @ Yb @ ( set_option_option_a2 @ Y2 ) )
             => ( ( R3 @ Z3 @ Yb )
               => ( Ra @ Z3 @ Yb ) ) ) )
       => ( rel_op7651492520044095757tion_a @ Ra @ X3 @ Y2 ) ) ) ).

% option.rel_mono_strong
thf(fact_846_option_Orel__mono__strong,axiom,
    ! [R3: b > b > $o,X3: option_b,Y2: option_b,Ra: b > b > $o] :
      ( ( rel_option_b_b @ R3 @ X3 @ Y2 )
     => ( ! [Z3: b,Yb: b] :
            ( ( member_b @ Z3 @ ( set_option_b2 @ X3 ) )
           => ( ( member_b @ Yb @ ( set_option_b2 @ Y2 ) )
             => ( ( R3 @ Z3 @ Yb )
               => ( Ra @ Z3 @ Yb ) ) ) )
       => ( rel_option_b_b @ Ra @ X3 @ Y2 ) ) ) ).

% option.rel_mono_strong
thf(fact_847_option_Orel__mono__strong,axiom,
    ! [R3: option_a > a > $o,X3: option_option_a,Y2: option_a,Ra: option_a > a > $o] :
      ( ( rel_op3736390606718109634on_a_a @ R3 @ X3 @ Y2 )
     => ( ! [Z3: option_a,Yb: a] :
            ( ( member_option_a @ Z3 @ ( set_option_option_a2 @ X3 ) )
           => ( ( member_a @ Yb @ ( set_option_a3 @ Y2 ) )
             => ( ( R3 @ Z3 @ Yb )
               => ( Ra @ Z3 @ Yb ) ) ) )
       => ( rel_op3736390606718109634on_a_a @ Ra @ X3 @ Y2 ) ) ) ).

% option.rel_mono_strong
thf(fact_848_option_Orel__mono__strong,axiom,
    ! [R3: b > a > $o,X3: option_b,Y2: option_a,Ra: b > a > $o] :
      ( ( rel_option_b_a @ R3 @ X3 @ Y2 )
     => ( ! [Z3: b,Yb: a] :
            ( ( member_b @ Z3 @ ( set_option_b2 @ X3 ) )
           => ( ( member_a @ Yb @ ( set_option_a3 @ Y2 ) )
             => ( ( R3 @ Z3 @ Yb )
               => ( Ra @ Z3 @ Yb ) ) ) )
       => ( rel_option_b_a @ Ra @ X3 @ Y2 ) ) ) ).

% option.rel_mono_strong
thf(fact_849_option_Orel__mono__strong,axiom,
    ! [R3: a > option_a > $o,X3: option_a,Y2: option_option_a,Ra: a > option_a > $o] :
      ( ( rel_op1513876725179314510tion_a @ R3 @ X3 @ Y2 )
     => ( ! [Z3: a,Yb: option_a] :
            ( ( member_a @ Z3 @ ( set_option_a3 @ X3 ) )
           => ( ( member_option_a @ Yb @ ( set_option_option_a2 @ Y2 ) )
             => ( ( R3 @ Z3 @ Yb )
               => ( Ra @ Z3 @ Yb ) ) ) )
       => ( rel_op1513876725179314510tion_a @ Ra @ X3 @ Y2 ) ) ) ).

% option.rel_mono_strong
thf(fact_850_option_Orel__mono__strong,axiom,
    ! [R3: a > b > $o,X3: option_a,Y2: option_b,Ra: a > b > $o] :
      ( ( rel_option_a_b @ R3 @ X3 @ Y2 )
     => ( ! [Z3: a,Yb: b] :
            ( ( member_a @ Z3 @ ( set_option_a3 @ X3 ) )
           => ( ( member_b @ Yb @ ( set_option_b2 @ Y2 ) )
             => ( ( R3 @ Z3 @ Yb )
               => ( Ra @ Z3 @ Yb ) ) ) )
       => ( rel_option_a_b @ Ra @ X3 @ Y2 ) ) ) ).

% option.rel_mono_strong
thf(fact_851_option_Orel__mono__strong,axiom,
    ! [R3: a > a > $o,X3: option_a,Y2: option_a,Ra: a > a > $o] :
      ( ( rel_option_a_a @ R3 @ X3 @ Y2 )
     => ( ! [Z3: a,Yb: a] :
            ( ( member_a @ Z3 @ ( set_option_a3 @ X3 ) )
           => ( ( member_a @ Yb @ ( set_option_a3 @ Y2 ) )
             => ( ( R3 @ Z3 @ Yb )
               => ( Ra @ Z3 @ Yb ) ) ) )
       => ( rel_option_a_a @ Ra @ X3 @ Y2 ) ) ) ).

% option.rel_mono_strong
thf(fact_852_option_Orel__cong,axiom,
    ! [X3: option_option_a,Ya: option_option_a,Y2: option_option_a,Xa2: option_option_a,R3: option_a > option_a > $o,Ra: option_a > option_a > $o] :
      ( ( X3 = Ya )
     => ( ( Y2 = Xa2 )
       => ( ! [Z3: option_a,Yb: option_a] :
              ( ( member_option_a @ Z3 @ ( set_option_option_a2 @ Ya ) )
             => ( ( member_option_a @ Yb @ ( set_option_option_a2 @ Xa2 ) )
               => ( ( R3 @ Z3 @ Yb )
                  = ( Ra @ Z3 @ Yb ) ) ) )
         => ( ( rel_op4798662380513671176tion_a @ R3 @ X3 @ Y2 )
            = ( rel_op4798662380513671176tion_a @ Ra @ Ya @ Xa2 ) ) ) ) ) ).

% option.rel_cong
thf(fact_853_option_Orel__cong,axiom,
    ! [X3: option_option_a,Ya: option_option_a,Y2: option_b,Xa2: option_b,R3: option_a > b > $o,Ra: option_a > b > $o] :
      ( ( X3 = Ya )
     => ( ( Y2 = Xa2 )
       => ( ! [Z3: option_a,Yb: b] :
              ( ( member_option_a @ Z3 @ ( set_option_option_a2 @ Ya ) )
             => ( ( member_b @ Yb @ ( set_option_b2 @ Xa2 ) )
               => ( ( R3 @ Z3 @ Yb )
                  = ( Ra @ Z3 @ Yb ) ) ) )
         => ( ( rel_op3736390606718109635on_a_b @ R3 @ X3 @ Y2 )
            = ( rel_op3736390606718109635on_a_b @ Ra @ Ya @ Xa2 ) ) ) ) ) ).

% option.rel_cong
thf(fact_854_option_Orel__cong,axiom,
    ! [X3: option_b,Ya: option_b,Y2: option_option_a,Xa2: option_option_a,R3: b > option_a > $o,Ra: b > option_a > $o] :
      ( ( X3 = Ya )
     => ( ( Y2 = Xa2 )
       => ( ! [Z3: b,Yb: option_a] :
              ( ( member_b @ Z3 @ ( set_option_b2 @ Ya ) )
             => ( ( member_option_a @ Yb @ ( set_option_option_a2 @ Xa2 ) )
               => ( ( R3 @ Z3 @ Yb )
                  = ( Ra @ Z3 @ Yb ) ) ) )
         => ( ( rel_op7651492520044095757tion_a @ R3 @ X3 @ Y2 )
            = ( rel_op7651492520044095757tion_a @ Ra @ Ya @ Xa2 ) ) ) ) ) ).

% option.rel_cong
thf(fact_855_option_Orel__cong,axiom,
    ! [X3: option_b,Ya: option_b,Y2: option_b,Xa2: option_b,R3: b > b > $o,Ra: b > b > $o] :
      ( ( X3 = Ya )
     => ( ( Y2 = Xa2 )
       => ( ! [Z3: b,Yb: b] :
              ( ( member_b @ Z3 @ ( set_option_b2 @ Ya ) )
             => ( ( member_b @ Yb @ ( set_option_b2 @ Xa2 ) )
               => ( ( R3 @ Z3 @ Yb )
                  = ( Ra @ Z3 @ Yb ) ) ) )
         => ( ( rel_option_b_b @ R3 @ X3 @ Y2 )
            = ( rel_option_b_b @ Ra @ Ya @ Xa2 ) ) ) ) ) ).

% option.rel_cong
thf(fact_856_option_Orel__cong,axiom,
    ! [X3: option_option_a,Ya: option_option_a,Y2: option_a,Xa2: option_a,R3: option_a > a > $o,Ra: option_a > a > $o] :
      ( ( X3 = Ya )
     => ( ( Y2 = Xa2 )
       => ( ! [Z3: option_a,Yb: a] :
              ( ( member_option_a @ Z3 @ ( set_option_option_a2 @ Ya ) )
             => ( ( member_a @ Yb @ ( set_option_a3 @ Xa2 ) )
               => ( ( R3 @ Z3 @ Yb )
                  = ( Ra @ Z3 @ Yb ) ) ) )
         => ( ( rel_op3736390606718109634on_a_a @ R3 @ X3 @ Y2 )
            = ( rel_op3736390606718109634on_a_a @ Ra @ Ya @ Xa2 ) ) ) ) ) ).

% option.rel_cong
thf(fact_857_option_Orel__cong,axiom,
    ! [X3: option_b,Ya: option_b,Y2: option_a,Xa2: option_a,R3: b > a > $o,Ra: b > a > $o] :
      ( ( X3 = Ya )
     => ( ( Y2 = Xa2 )
       => ( ! [Z3: b,Yb: a] :
              ( ( member_b @ Z3 @ ( set_option_b2 @ Ya ) )
             => ( ( member_a @ Yb @ ( set_option_a3 @ Xa2 ) )
               => ( ( R3 @ Z3 @ Yb )
                  = ( Ra @ Z3 @ Yb ) ) ) )
         => ( ( rel_option_b_a @ R3 @ X3 @ Y2 )
            = ( rel_option_b_a @ Ra @ Ya @ Xa2 ) ) ) ) ) ).

% option.rel_cong
thf(fact_858_option_Orel__cong,axiom,
    ! [X3: option_a,Ya: option_a,Y2: option_option_a,Xa2: option_option_a,R3: a > option_a > $o,Ra: a > option_a > $o] :
      ( ( X3 = Ya )
     => ( ( Y2 = Xa2 )
       => ( ! [Z3: a,Yb: option_a] :
              ( ( member_a @ Z3 @ ( set_option_a3 @ Ya ) )
             => ( ( member_option_a @ Yb @ ( set_option_option_a2 @ Xa2 ) )
               => ( ( R3 @ Z3 @ Yb )
                  = ( Ra @ Z3 @ Yb ) ) ) )
         => ( ( rel_op1513876725179314510tion_a @ R3 @ X3 @ Y2 )
            = ( rel_op1513876725179314510tion_a @ Ra @ Ya @ Xa2 ) ) ) ) ) ).

% option.rel_cong
thf(fact_859_option_Orel__cong,axiom,
    ! [X3: option_a,Ya: option_a,Y2: option_b,Xa2: option_b,R3: a > b > $o,Ra: a > b > $o] :
      ( ( X3 = Ya )
     => ( ( Y2 = Xa2 )
       => ( ! [Z3: a,Yb: b] :
              ( ( member_a @ Z3 @ ( set_option_a3 @ Ya ) )
             => ( ( member_b @ Yb @ ( set_option_b2 @ Xa2 ) )
               => ( ( R3 @ Z3 @ Yb )
                  = ( Ra @ Z3 @ Yb ) ) ) )
         => ( ( rel_option_a_b @ R3 @ X3 @ Y2 )
            = ( rel_option_a_b @ Ra @ Ya @ Xa2 ) ) ) ) ) ).

% option.rel_cong
thf(fact_860_option_Orel__cong,axiom,
    ! [X3: option_a,Ya: option_a,Y2: option_a,Xa2: option_a,R3: a > a > $o,Ra: a > a > $o] :
      ( ( X3 = Ya )
     => ( ( Y2 = Xa2 )
       => ( ! [Z3: a,Yb: a] :
              ( ( member_a @ Z3 @ ( set_option_a3 @ Ya ) )
             => ( ( member_a @ Yb @ ( set_option_a3 @ Xa2 ) )
               => ( ( R3 @ Z3 @ Yb )
                  = ( Ra @ Z3 @ Yb ) ) ) )
         => ( ( rel_option_a_a @ R3 @ X3 @ Y2 )
            = ( rel_option_a_a @ Ra @ Ya @ Xa2 ) ) ) ) ) ).

% option.rel_cong
thf(fact_861_option_Orel__map_I2_J,axiom,
    ! [Sa: a > a > $o,X3: option_a,G: a > a,Y2: option_a] :
      ( ( rel_option_a_a @ Sa @ X3 @ ( map_option_a_a2 @ G @ Y2 ) )
      = ( rel_option_a_a
        @ ^ [X: a,Y: a] : ( Sa @ X @ ( G @ Y ) )
        @ X3
        @ Y2 ) ) ).

% option.rel_map(2)
thf(fact_862_option_Orel__map_I1_J,axiom,
    ! [Sb: a > a > $o,I: a > a,X3: option_a,Y2: option_a] :
      ( ( rel_option_a_a @ Sb @ ( map_option_a_a2 @ I @ X3 ) @ Y2 )
      = ( rel_option_a_a
        @ ^ [X: a] : ( Sb @ ( I @ X ) )
        @ X3
        @ Y2 ) ) ).

% option.rel_map(1)
thf(fact_863_option_Octr__transfer_I1_J,axiom,
    ! [R3: a > a > $o] : ( rel_option_a_a @ R3 @ none_a @ none_a ) ).

% option.ctr_transfer(1)
thf(fact_864_rel__option__iff,axiom,
    ( rel_option_a_a
    = ( ^ [R4: a > a > $o,X: option_a,Y: option_a] :
          ( produc7248784972643495020on_a_o
          @ ^ [A3: option_a,B3: option_a] :
              ( case_option_o_a
              @ ( case_option_o_a @ $true
                @ ^ [C: a] : $false
                @ B3 )
              @ ^ [Z: a] : ( case_option_o_a @ $false @ ( R4 @ Z ) @ B3 )
              @ A3 )
          @ ( produc9011544418120257559tion_a @ X @ Y ) ) ) ) ).

% rel_option_iff
thf(fact_865_option_Orel__induct,axiom,
    ! [R3: a > a > $o,X3: option_a,Y2: option_a,Q: option_a > option_a > $o] :
      ( ( rel_option_a_a @ R3 @ X3 @ Y2 )
     => ( ( Q @ none_a @ none_a )
       => ( ! [A22: a,B22: a] :
              ( ( R3 @ A22 @ B22 )
             => ( Q @ ( some_a @ A22 ) @ ( some_a @ B22 ) ) )
         => ( Q @ X3 @ Y2 ) ) ) ) ).

% option.rel_induct
thf(fact_866_option_Orel__cases,axiom,
    ! [R3: a > a > $o,A: option_a,B: option_a] :
      ( ( rel_option_a_a @ R3 @ A @ B )
     => ( ( ( A = none_a )
         => ( B != none_a ) )
       => ~ ! [X2: a] :
              ( ( A
                = ( some_a @ X2 ) )
             => ! [Y3: a] :
                  ( ( B
                    = ( some_a @ Y3 ) )
                 => ~ ( R3 @ X2 @ Y3 ) ) ) ) ) ).

% option.rel_cases
thf(fact_867_option_Orel__distinct_I1_J,axiom,
    ! [R3: a > a > $o,Y23: a] :
      ~ ( rel_option_a_a @ R3 @ none_a @ ( some_a @ Y23 ) ) ).

% option.rel_distinct(1)
thf(fact_868_option_Orel__distinct_I2_J,axiom,
    ! [R3: a > a > $o,Y23: a] :
      ~ ( rel_option_a_a @ R3 @ ( some_a @ Y23 ) @ none_a ) ).

% option.rel_distinct(2)
thf(fact_869_option_Orel__sel,axiom,
    ( rel_option_a_a
    = ( ^ [R4: a > a > $o,A3: option_a,B3: option_a] :
          ( ( ( A3 = none_a )
            = ( B3 = none_a ) )
          & ( ( A3 != none_a )
           => ( ( B3 != none_a )
             => ( R4 @ ( the_a2 @ A3 ) @ ( the_a2 @ B3 ) ) ) ) ) ) ) ).

% option.rel_sel
thf(fact_870_rel__option__unfold,axiom,
    ( rel_option_a_a
    = ( ^ [R4: a > a > $o,X: option_a,Y: option_a] :
          ( ( ( is_none_a @ X )
            = ( is_none_a @ Y ) )
          & ( ~ ( is_none_a @ X )
           => ( ~ ( is_none_a @ Y )
             => ( R4 @ ( the_a2 @ X ) @ ( the_a2 @ Y ) ) ) ) ) ) ) ).

% rel_option_unfold
thf(fact_871_rel__optionI,axiom,
    ! [X3: option_a,Y2: option_a,P3: a > a > $o] :
      ( ( ( is_none_a @ X3 )
        = ( is_none_a @ Y2 ) )
     => ( ( ~ ( is_none_a @ X3 )
         => ( ~ ( is_none_a @ Y2 )
           => ( P3 @ ( the_a2 @ X3 ) @ ( the_a2 @ Y2 ) ) ) )
       => ( rel_option_a_a @ P3 @ X3 @ Y2 ) ) ) ).

% rel_optionI
thf(fact_872_map__filter__def,axiom,
    ( map_filter_a_a
    = ( ^ [F: a > option_a,Xs2: list_a] :
          ( map_a_a @ ( comp_option_a_a_a @ the_a2 @ F )
          @ ( filter_a
            @ ^ [X: a] :
                ( ( F @ X )
               != none_a )
            @ Xs2 ) ) ) ) ).

% map_filter_def
thf(fact_873_strict__mono__on__imp__mono__on,axiom,
    ! [A2: set_nat,F2: nat > nat] :
      ( ( monotone_on_nat_nat @ A2 @ ord_less_nat @ ord_less_nat @ F2 )
     => ( monotone_on_nat_nat @ A2 @ ord_less_eq_nat @ ord_less_eq_nat @ F2 ) ) ).

% strict_mono_on_imp_mono_on
thf(fact_874_strict__mono__on__leD,axiom,
    ! [A2: set_nat,F2: nat > nat,X3: nat,Y2: nat] :
      ( ( monotone_on_nat_nat @ A2 @ ord_less_nat @ ord_less_nat @ F2 )
     => ( ( member_nat @ X3 @ A2 )
       => ( ( member_nat @ Y2 @ A2 )
         => ( ( ord_less_eq_nat @ X3 @ Y2 )
           => ( ord_less_eq_nat @ ( F2 @ X3 ) @ ( F2 @ Y2 ) ) ) ) ) ) ).

% strict_mono_on_leD
thf(fact_875_mono__on__greaterD,axiom,
    ! [A2: set_nat,G: nat > nat,X3: nat,Y2: nat] :
      ( ( monotone_on_nat_nat @ A2 @ ord_less_eq_nat @ ord_less_eq_nat @ G )
     => ( ( member_nat @ X3 @ A2 )
       => ( ( member_nat @ Y2 @ A2 )
         => ( ( ord_less_nat @ ( G @ Y2 ) @ ( G @ X3 ) )
           => ( ord_less_nat @ Y2 @ X3 ) ) ) ) ) ).

% mono_on_greaterD
thf(fact_876_strict__mono__less,axiom,
    ! [F2: nat > nat,X3: nat,Y2: nat] :
      ( ( monotone_on_nat_nat @ top_top_set_nat @ ord_less_nat @ ord_less_nat @ F2 )
     => ( ( ord_less_nat @ ( F2 @ X3 ) @ ( F2 @ Y2 ) )
        = ( ord_less_nat @ X3 @ Y2 ) ) ) ).

% strict_mono_less
thf(fact_877_strict__mono__eq,axiom,
    ! [F2: nat > nat,X3: nat,Y2: nat] :
      ( ( monotone_on_nat_nat @ top_top_set_nat @ ord_less_nat @ ord_less_nat @ F2 )
     => ( ( ( F2 @ X3 )
          = ( F2 @ Y2 ) )
        = ( X3 = Y2 ) ) ) ).

% strict_mono_eq
thf(fact_878_strict__monoI,axiom,
    ! [F2: nat > nat] :
      ( ! [X2: nat,Y3: nat] :
          ( ( ord_less_nat @ X2 @ Y3 )
         => ( ord_less_nat @ ( F2 @ X2 ) @ ( F2 @ Y3 ) ) )
     => ( monotone_on_nat_nat @ top_top_set_nat @ ord_less_nat @ ord_less_nat @ F2 ) ) ).

% strict_monoI
thf(fact_879_strict__monoD,axiom,
    ! [F2: nat > nat,X3: nat,Y2: nat] :
      ( ( monotone_on_nat_nat @ top_top_set_nat @ ord_less_nat @ ord_less_nat @ F2 )
     => ( ( ord_less_nat @ X3 @ Y2 )
       => ( ord_less_nat @ ( F2 @ X3 ) @ ( F2 @ Y2 ) ) ) ) ).

% strict_monoD
thf(fact_880_strict__mono__on__imp__inj__on,axiom,
    ! [A2: set_nat,F2: nat > nat] :
      ( ( monotone_on_nat_nat @ A2 @ ord_less_nat @ ord_less_nat @ F2 )
     => ( inj_on_nat_nat @ F2 @ A2 ) ) ).

% strict_mono_on_imp_inj_on
thf(fact_881_strict__mono__on__eqD,axiom,
    ! [A2: set_nat,F2: nat > nat,X3: nat,Y2: nat] :
      ( ( monotone_on_nat_nat @ A2 @ ord_less_nat @ ord_less_nat @ F2 )
     => ( ( ( F2 @ X3 )
          = ( F2 @ Y2 ) )
       => ( ( member_nat @ X3 @ A2 )
         => ( ( member_nat @ Y2 @ A2 )
           => ( Y2 = X3 ) ) ) ) ) ).

% strict_mono_on_eqD
thf(fact_882_strict__mono__onI,axiom,
    ! [A2: set_nat,F2: nat > nat] :
      ( ! [R5: nat,S3: nat] :
          ( ( member_nat @ R5 @ A2 )
         => ( ( member_nat @ S3 @ A2 )
           => ( ( ord_less_nat @ R5 @ S3 )
             => ( ord_less_nat @ ( F2 @ R5 ) @ ( F2 @ S3 ) ) ) ) )
     => ( monotone_on_nat_nat @ A2 @ ord_less_nat @ ord_less_nat @ F2 ) ) ).

% strict_mono_onI
thf(fact_883_strict__mono__onD,axiom,
    ! [A2: set_nat,F2: nat > nat,R: nat,S: nat] :
      ( ( monotone_on_nat_nat @ A2 @ ord_less_nat @ ord_less_nat @ F2 )
     => ( ( member_nat @ R @ A2 )
       => ( ( member_nat @ S @ A2 )
         => ( ( ord_less_nat @ R @ S )
           => ( ord_less_nat @ ( F2 @ R ) @ ( F2 @ S ) ) ) ) ) ) ).

% strict_mono_onD
thf(fact_884_ord_Ostrict__mono__on__def,axiom,
    ! [A2: set_a,Less: a > a > $o,F2: a > nat] :
      ( ( monotone_on_a_nat @ A2 @ Less @ ord_less_nat @ F2 )
      = ( ! [R2: a,S2: a] :
            ( ( ( member_a @ R2 @ A2 )
              & ( member_a @ S2 @ A2 )
              & ( Less @ R2 @ S2 ) )
           => ( ord_less_nat @ ( F2 @ R2 ) @ ( F2 @ S2 ) ) ) ) ) ).

% ord.strict_mono_on_def
thf(fact_885_ord_Ostrict__mono__on__def,axiom,
    ! [A2: set_option_a,Less: option_a > option_a > $o,F2: option_a > nat] :
      ( ( monoto303951901566009069_a_nat @ A2 @ Less @ ord_less_nat @ F2 )
      = ( ! [R2: option_a,S2: option_a] :
            ( ( ( member_option_a @ R2 @ A2 )
              & ( member_option_a @ S2 @ A2 )
              & ( Less @ R2 @ S2 ) )
           => ( ord_less_nat @ ( F2 @ R2 ) @ ( F2 @ S2 ) ) ) ) ) ).

% ord.strict_mono_on_def
thf(fact_886_ord_Ostrict__mono__on__def,axiom,
    ! [A2: set_b,Less: b > b > $o,F2: b > nat] :
      ( ( monotone_on_b_nat @ A2 @ Less @ ord_less_nat @ F2 )
      = ( ! [R2: b,S2: b] :
            ( ( ( member_b @ R2 @ A2 )
              & ( member_b @ S2 @ A2 )
              & ( Less @ R2 @ S2 ) )
           => ( ord_less_nat @ ( F2 @ R2 ) @ ( F2 @ S2 ) ) ) ) ) ).

% ord.strict_mono_on_def
thf(fact_887_ord_Ostrict__mono__onI,axiom,
    ! [A2: set_a,Less: a > a > $o,F2: a > nat] :
      ( ! [R5: a,S3: a] :
          ( ( member_a @ R5 @ A2 )
         => ( ( member_a @ S3 @ A2 )
           => ( ( Less @ R5 @ S3 )
             => ( ord_less_nat @ ( F2 @ R5 ) @ ( F2 @ S3 ) ) ) ) )
     => ( monotone_on_a_nat @ A2 @ Less @ ord_less_nat @ F2 ) ) ).

% ord.strict_mono_onI
thf(fact_888_ord_Ostrict__mono__onI,axiom,
    ! [A2: set_option_a,Less: option_a > option_a > $o,F2: option_a > nat] :
      ( ! [R5: option_a,S3: option_a] :
          ( ( member_option_a @ R5 @ A2 )
         => ( ( member_option_a @ S3 @ A2 )
           => ( ( Less @ R5 @ S3 )
             => ( ord_less_nat @ ( F2 @ R5 ) @ ( F2 @ S3 ) ) ) ) )
     => ( monoto303951901566009069_a_nat @ A2 @ Less @ ord_less_nat @ F2 ) ) ).

% ord.strict_mono_onI
thf(fact_889_ord_Ostrict__mono__onI,axiom,
    ! [A2: set_b,Less: b > b > $o,F2: b > nat] :
      ( ! [R5: b,S3: b] :
          ( ( member_b @ R5 @ A2 )
         => ( ( member_b @ S3 @ A2 )
           => ( ( Less @ R5 @ S3 )
             => ( ord_less_nat @ ( F2 @ R5 ) @ ( F2 @ S3 ) ) ) ) )
     => ( monotone_on_b_nat @ A2 @ Less @ ord_less_nat @ F2 ) ) ).

% ord.strict_mono_onI
thf(fact_890_ord_Ostrict__mono__onD,axiom,
    ! [A2: set_a,Less: a > a > $o,F2: a > nat,R: a,S: a] :
      ( ( monotone_on_a_nat @ A2 @ Less @ ord_less_nat @ F2 )
     => ( ( member_a @ R @ A2 )
       => ( ( member_a @ S @ A2 )
         => ( ( Less @ R @ S )
           => ( ord_less_nat @ ( F2 @ R ) @ ( F2 @ S ) ) ) ) ) ) ).

% ord.strict_mono_onD
thf(fact_891_ord_Ostrict__mono__onD,axiom,
    ! [A2: set_option_a,Less: option_a > option_a > $o,F2: option_a > nat,R: option_a,S: option_a] :
      ( ( monoto303951901566009069_a_nat @ A2 @ Less @ ord_less_nat @ F2 )
     => ( ( member_option_a @ R @ A2 )
       => ( ( member_option_a @ S @ A2 )
         => ( ( Less @ R @ S )
           => ( ord_less_nat @ ( F2 @ R ) @ ( F2 @ S ) ) ) ) ) ) ).

% ord.strict_mono_onD
thf(fact_892_ord_Ostrict__mono__onD,axiom,
    ! [A2: set_b,Less: b > b > $o,F2: b > nat,R: b,S: b] :
      ( ( monotone_on_b_nat @ A2 @ Less @ ord_less_nat @ F2 )
     => ( ( member_b @ R @ A2 )
       => ( ( member_b @ S @ A2 )
         => ( ( Less @ R @ S )
           => ( ord_less_nat @ ( F2 @ R ) @ ( F2 @ S ) ) ) ) ) ) ).

% ord.strict_mono_onD
thf(fact_893_strict__mono__less__eq,axiom,
    ! [F2: nat > nat,X3: nat,Y2: nat] :
      ( ( monotone_on_nat_nat @ top_top_set_nat @ ord_less_nat @ ord_less_nat @ F2 )
     => ( ( ord_less_eq_nat @ ( F2 @ X3 ) @ ( F2 @ Y2 ) )
        = ( ord_less_eq_nat @ X3 @ Y2 ) ) ) ).

% strict_mono_less_eq
thf(fact_894_mono__strict__invE,axiom,
    ! [F2: nat > nat,X3: nat,Y2: nat] :
      ( ( monotone_on_nat_nat @ top_top_set_nat @ ord_less_eq_nat @ ord_less_eq_nat @ F2 )
     => ( ( ord_less_nat @ ( F2 @ X3 ) @ ( F2 @ Y2 ) )
       => ( ord_less_nat @ X3 @ Y2 ) ) ) ).

% mono_strict_invE
thf(fact_895_strict__mono__mono,axiom,
    ! [F2: nat > nat] :
      ( ( monotone_on_nat_nat @ top_top_set_nat @ ord_less_nat @ ord_less_nat @ F2 )
     => ( monotone_on_nat_nat @ top_top_set_nat @ ord_less_eq_nat @ ord_less_eq_nat @ F2 ) ) ).

% strict_mono_mono
thf(fact_896_strict__mono__inv,axiom,
    ! [F2: nat > nat,G: nat > nat] :
      ( ( monotone_on_nat_nat @ top_top_set_nat @ ord_less_nat @ ord_less_nat @ F2 )
     => ( ( ( image_nat_nat @ F2 @ top_top_set_nat )
          = top_top_set_nat )
       => ( ! [X2: nat] :
              ( ( G @ ( F2 @ X2 ) )
              = X2 )
         => ( monotone_on_nat_nat @ top_top_set_nat @ ord_less_nat @ ord_less_nat @ G ) ) ) ) ).

% strict_mono_inv
thf(fact_897_mono__sup,axiom,
    ! [F2: set_b > set_b,A2: set_b,B2: set_b] :
      ( ( monoto8660672184891397159_set_b @ top_top_set_set_b @ ord_less_eq_set_b @ ord_less_eq_set_b @ F2 )
     => ( ord_less_eq_set_b @ ( sup_sup_set_b @ ( F2 @ A2 ) @ ( F2 @ B2 ) ) @ ( F2 @ ( sup_sup_set_b @ A2 @ B2 ) ) ) ) ).

% mono_sup
thf(fact_898_monotone__on__o,axiom,
    ! [A2: set_option_a,Orda: option_a > option_a > $o,Ordb: a > a > $o,F2: option_a > a,B2: set_a,Ordc: a > a > $o,G: a > option_a] :
      ( ( monoto4483592047695070497on_a_a @ A2 @ Orda @ Ordb @ F2 )
     => ( ( monoto2261078166156275373tion_a @ B2 @ Ordc @ Orda @ G )
       => ( ( ord_le1955136853071979460tion_a @ ( image_a_option_a @ G @ B2 ) @ A2 )
         => ( monotone_on_a_a @ B2 @ Ordc @ Ordb @ ( comp_option_a_a_a @ F2 @ G ) ) ) ) ) ).

% monotone_on_o
thf(fact_899_strict__mono__imp__inj__on,axiom,
    ! [F2: nat > nat,A2: set_nat] :
      ( ( monotone_on_nat_nat @ top_top_set_nat @ ord_less_nat @ ord_less_nat @ F2 )
     => ( inj_on_nat_nat @ F2 @ A2 ) ) ).

% strict_mono_imp_inj_on
thf(fact_900_mono__Un,axiom,
    ! [F2: set_b > set_b,A2: set_b,B2: set_b] :
      ( ( monoto8660672184891397159_set_b @ top_top_set_set_b @ ord_less_eq_set_b @ ord_less_eq_set_b @ F2 )
     => ( ord_less_eq_set_b @ ( sup_sup_set_b @ ( F2 @ A2 ) @ ( F2 @ B2 ) ) @ ( F2 @ ( sup_sup_set_b @ A2 @ B2 ) ) ) ) ).

% mono_Un
thf(fact_901_rel__option__inf,axiom,
    ! [A2: a > a > $o,B2: a > a > $o] :
      ( ( inf_in5160421943901843420on_a_o @ ( rel_option_a_a @ A2 ) @ ( rel_option_a_a @ B2 ) )
      = ( rel_option_a_a @ ( inf_inf_a_a_o @ A2 @ B2 ) ) ) ).

% rel_option_inf
thf(fact_902_option_Orel__compp__Grp,axiom,
    ( rel_option_a_a
    = ( ^ [R4: a > a > $o] :
          ( relcom7597457113570619114tion_a
          @ ( conver6736784915673013132tion_a
            @ ( bNF_Gr1758829368316449381tion_a
              @ ( collec431113534271933400od_a_a
                @ ^ [X: option5210160422955383789od_a_a] : ( ord_le746702958409616551od_a_a @ ( set_op3367984300228426933od_a_a @ X ) @ ( collec3336397797384452498od_a_a @ ( produc6436628058953941356_a_a_o @ R4 ) ) ) )
              @ ( map_op713297920823408162_a_a_a @ product_fst_a_a ) ) )
          @ ( bNF_Gr1758829368316449381tion_a
            @ ( collec431113534271933400od_a_a
              @ ^ [X: option5210160422955383789od_a_a] : ( ord_le746702958409616551od_a_a @ ( set_op3367984300228426933od_a_a @ X ) @ ( collec3336397797384452498od_a_a @ ( produc6436628058953941356_a_a_o @ R4 ) ) ) )
            @ ( map_op713297920823408162_a_a_a @ product_snd_a_a ) ) ) ) ) ).

% option.rel_compp_Grp
thf(fact_903_fcomp__comp,axiom,
    ( fcomp_a_option_a_a
    = ( ^ [F: a > option_a,G2: option_a > a] : ( comp_option_a_a_a @ G2 @ F ) ) ) ).

% fcomp_comp
thf(fact_904_option_Orel__conversep,axiom,
    ! [R3: a > a > $o] :
      ( ( rel_option_a_a @ ( conversep_a_a @ R3 ) )
      = ( conver2091984906772465269tion_a @ ( rel_option_a_a @ R3 ) ) ) ).

% option.rel_conversep
thf(fact_905_option_Orel__compp,axiom,
    ! [R3: a > a > $o,S4: a > a > $o] :
      ( ( rel_option_a_a @ ( relcompp_a_a_a @ R3 @ S4 ) )
      = ( relcom1089236864311994323tion_a @ ( rel_option_a_a @ R3 ) @ ( rel_option_a_a @ S4 ) ) ) ).

% option.rel_compp
thf(fact_906_option_Orel__flip,axiom,
    ! [R3: a > a > $o,A: option_a,B: option_a] :
      ( ( rel_option_a_a @ ( conversep_a_a @ R3 ) @ A @ B )
      = ( rel_option_a_a @ R3 @ B @ A ) ) ).

% option.rel_flip
thf(fact_907_option_Orel__Grp,axiom,
    ! [A2: set_a,F2: a > a] :
      ( ( rel_option_a_a @ ( bNF_Grp_a_a @ A2 @ F2 ) )
      = ( bNF_Gr5654676046521400910tion_a
        @ ( collect_option_a
          @ ^ [X: option_a] : ( ord_less_eq_set_a @ ( set_option_a3 @ X ) @ A2 ) )
        @ ( map_option_a_a2 @ F2 ) ) ) ).

% option.rel_Grp
thf(fact_908_assertion_Osimps_I325_J,axiom,
    ! [X21: b,X22: assertion_a_b_d_c] :
      ( ( set_as7232682317586342732_b_d_c @ ( mult_b_a_d_c @ X21 @ X22 ) )
      = ( insert_b @ X21 @ ( set_as7232682317586342732_b_d_c @ X22 ) ) ) ).

% assertion.simps(325)
thf(fact_909_assertion_Oset__intros_I5_J,axiom,
    ! [Ye: b,X41: assertion_a_b_d_c,X42: assertion_a_b_d_c] :
      ( ( member_b @ Ye @ ( set_as7232682317586342732_b_d_c @ X41 ) )
     => ( member_b @ Ye @ ( set_as7232682317586342732_b_d_c @ ( wand_a_b_d_c @ X41 @ X42 ) ) ) ) ).

% assertion.set_intros(5)
thf(fact_910_assertion_Oset__intros_I6_J,axiom,
    ! [Yf: b,X42: assertion_a_b_d_c,X41: assertion_a_b_d_c] :
      ( ( member_b @ Yf @ ( set_as7232682317586342732_b_d_c @ X42 ) )
     => ( member_b @ Yf @ ( set_as7232682317586342732_b_d_c @ ( wand_a_b_d_c @ X41 @ X42 ) ) ) ) ).

% assertion.set_intros(6)
thf(fact_911_assertion_Oset__intros_I14_J,axiom,
    ! [Yn: b,X92: assertion_a_b_d_c,X91: c] :
      ( ( member_b @ Yn @ ( set_as7232682317586342732_b_d_c @ X92 ) )
     => ( member_b @ Yn @ ( set_as7232682317586342732_b_d_c @ ( forall_c_a_b_d @ X91 @ X92 ) ) ) ) ).

% assertion.set_intros(14)
thf(fact_912_assertion_Osimps_I332_J,axiom,
    ! [X91: c,X92: assertion_a_b_d_c] :
      ( ( set_as7232682317586342732_b_d_c @ ( forall_c_a_b_d @ X91 @ X92 ) )
      = ( set_as7232682317586342732_b_d_c @ X92 ) ) ).

% assertion.simps(332)
thf(fact_913_assertion_Oset__intros_I12_J,axiom,
    ! [Yl: b,X72: assertion_a_b_d_c,X71: assertion_a_b_d_c] :
      ( ( member_b @ Yl @ ( set_as7232682317586342732_b_d_c @ X72 ) )
     => ( member_b @ Yl @ ( set_as7232682317586342732_b_d_c @ ( imp_a_b_d_c @ X71 @ X72 ) ) ) ) ).

% assertion.set_intros(12)
thf(fact_914_assertion_Oset__intros_I11_J,axiom,
    ! [Yk: b,X71: assertion_a_b_d_c,X72: assertion_a_b_d_c] :
      ( ( member_b @ Yk @ ( set_as7232682317586342732_b_d_c @ X71 ) )
     => ( member_b @ Yk @ ( set_as7232682317586342732_b_d_c @ ( imp_a_b_d_c @ X71 @ X72 ) ) ) ) ).

% assertion.set_intros(11)
thf(fact_915_assertion_Oset__intros_I1_J,axiom,
    ! [X21: b,X22: assertion_a_b_d_c] : ( member_b @ X21 @ ( set_as7232682317586342732_b_d_c @ ( mult_b_a_d_c @ X21 @ X22 ) ) ) ).

% assertion.set_intros(1)
thf(fact_916_assertion_Oset__intros_I2_J,axiom,
    ! [Yb2: b,X22: assertion_a_b_d_c,X21: b] :
      ( ( member_b @ Yb2 @ ( set_as7232682317586342732_b_d_c @ X22 ) )
     => ( member_b @ Yb2 @ ( set_as7232682317586342732_b_d_c @ ( mult_b_a_d_c @ X21 @ X22 ) ) ) ) ).

% assertion.set_intros(2)
thf(fact_917_assertion_Oset__intros_I7_J,axiom,
    ! [Yg: b,X51: assertion_a_b_d_c,X52: assertion_a_b_d_c] :
      ( ( member_b @ Yg @ ( set_as7232682317586342732_b_d_c @ X51 ) )
     => ( member_b @ Yg @ ( set_as7232682317586342732_b_d_c @ ( or_a_b_d_c @ X51 @ X52 ) ) ) ) ).

% assertion.set_intros(7)
thf(fact_918_assertion_Oset__intros_I8_J,axiom,
    ! [Yh: b,X52: assertion_a_b_d_c,X51: assertion_a_b_d_c] :
      ( ( member_b @ Yh @ ( set_as7232682317586342732_b_d_c @ X52 ) )
     => ( member_b @ Yh @ ( set_as7232682317586342732_b_d_c @ ( or_a_b_d_c @ X51 @ X52 ) ) ) ) ).

% assertion.set_intros(8)
thf(fact_919_assertion_Oset__intros_I9_J,axiom,
    ! [Yi: b,X61: assertion_a_b_d_c,X62: assertion_a_b_d_c] :
      ( ( member_b @ Yi @ ( set_as7232682317586342732_b_d_c @ X61 ) )
     => ( member_b @ Yi @ ( set_as7232682317586342732_b_d_c @ ( and_a_b_d_c @ X61 @ X62 ) ) ) ) ).

% assertion.set_intros(9)
thf(fact_920_assertion_Oset__intros_I10_J,axiom,
    ! [Yj: b,X62: assertion_a_b_d_c,X61: assertion_a_b_d_c] :
      ( ( member_b @ Yj @ ( set_as7232682317586342732_b_d_c @ X62 ) )
     => ( member_b @ Yj @ ( set_as7232682317586342732_b_d_c @ ( and_a_b_d_c @ X61 @ X62 ) ) ) ) ).

% assertion.set_intros(10)
thf(fact_921_assertion_Oset__intros_I3_J,axiom,
    ! [Yc: b,X31: assertion_a_b_d_c,X32: assertion_a_b_d_c] :
      ( ( member_b @ Yc @ ( set_as7232682317586342732_b_d_c @ X31 ) )
     => ( member_b @ Yc @ ( set_as7232682317586342732_b_d_c @ ( star_a_b_d_c @ X31 @ X32 ) ) ) ) ).

% assertion.set_intros(3)
thf(fact_922_assertion_Oset__intros_I4_J,axiom,
    ! [Yd: b,X32: assertion_a_b_d_c,X31: assertion_a_b_d_c] :
      ( ( member_b @ Yd @ ( set_as7232682317586342732_b_d_c @ X32 ) )
     => ( member_b @ Yd @ ( set_as7232682317586342732_b_d_c @ ( star_a_b_d_c @ X31 @ X32 ) ) ) ) ).

% assertion.set_intros(4)
thf(fact_923_assertion_Oset__intros_I13_J,axiom,
    ! [Ym: b,X82: assertion_a_b_d_c,X81: c] :
      ( ( member_b @ Ym @ ( set_as7232682317586342732_b_d_c @ X82 ) )
     => ( member_b @ Ym @ ( set_as7232682317586342732_b_d_c @ ( exists_c_a_b_d @ X81 @ X82 ) ) ) ) ).

% assertion.set_intros(13)
thf(fact_924_assertion_Osimps_I331_J,axiom,
    ! [X81: c,X82: assertion_a_b_d_c] :
      ( ( set_as7232682317586342732_b_d_c @ ( exists_c_a_b_d @ X81 @ X82 ) )
      = ( set_as7232682317586342732_b_d_c @ X82 ) ) ).

% assertion.simps(331)
thf(fact_925_assertion_Oset__intros_I15_J,axiom,
    ! [Yo: b,X11: assertion_a_b_d_c] :
      ( ( member_b @ Yo @ ( set_as7232682317586342732_b_d_c @ X11 ) )
     => ( member_b @ Yo @ ( set_as7232682317586342732_b_d_c @ ( bounded_a_b_d_c @ X11 ) ) ) ) ).

% assertion.set_intros(15)
thf(fact_926_assertion_Oset__intros_I16_J,axiom,
    ! [Yp: b,X12: assertion_a_b_d_c] :
      ( ( member_b @ Yp @ ( set_as7232682317586342732_b_d_c @ X12 ) )
     => ( member_b @ Yp @ ( set_as7232682317586342732_b_d_c @ ( wildcard_a_b_d_c @ X12 ) ) ) ) ).

% assertion.set_intros(16)
thf(fact_927_assertion_Osimps_I334_J,axiom,
    ! [X11: assertion_a_b_d_c] :
      ( ( set_as7232682317586342732_b_d_c @ ( bounded_a_b_d_c @ X11 ) )
      = ( set_as7232682317586342732_b_d_c @ X11 ) ) ).

% assertion.simps(334)
thf(fact_928_assertion_Osimps_I335_J,axiom,
    ! [X12: assertion_a_b_d_c] :
      ( ( set_as7232682317586342732_b_d_c @ ( wildcard_a_b_d_c @ X12 ) )
      = ( set_as7232682317586342732_b_d_c @ X12 ) ) ).

% assertion.simps(335)
thf(fact_929_assertion_Osimps_I324_J,axiom,
    ! [X1: ( c > d ) > a > $o] :
      ( ( set_as7232682317586342732_b_d_c @ ( sem_c_d_a_b @ X1 ) )
      = bot_bot_set_b ) ).

% assertion.simps(324)
thf(fact_930_assertion_Osimps_I333_J,axiom,
    ( ( set_as7232682317586342732_b_d_c @ pred_a_b_d_c )
    = bot_bot_set_b ) ).

% assertion.simps(333)
thf(fact_931_assertion_Osimps_I327_J,axiom,
    ! [X41: assertion_a_b_d_c,X42: assertion_a_b_d_c] :
      ( ( set_as7232682317586342732_b_d_c @ ( wand_a_b_d_c @ X41 @ X42 ) )
      = ( sup_sup_set_b @ ( set_as7232682317586342732_b_d_c @ X41 ) @ ( set_as7232682317586342732_b_d_c @ X42 ) ) ) ).

% assertion.simps(327)
thf(fact_932_assertion_Osimps_I326_J,axiom,
    ! [X31: assertion_a_b_d_c,X32: assertion_a_b_d_c] :
      ( ( set_as7232682317586342732_b_d_c @ ( star_a_b_d_c @ X31 @ X32 ) )
      = ( sup_sup_set_b @ ( set_as7232682317586342732_b_d_c @ X31 ) @ ( set_as7232682317586342732_b_d_c @ X32 ) ) ) ).

% assertion.simps(326)
thf(fact_933_assertion_Osimps_I330_J,axiom,
    ! [X71: assertion_a_b_d_c,X72: assertion_a_b_d_c] :
      ( ( set_as7232682317586342732_b_d_c @ ( imp_a_b_d_c @ X71 @ X72 ) )
      = ( sup_sup_set_b @ ( set_as7232682317586342732_b_d_c @ X71 ) @ ( set_as7232682317586342732_b_d_c @ X72 ) ) ) ).

% assertion.simps(330)
thf(fact_934_assertion_Osimps_I328_J,axiom,
    ! [X51: assertion_a_b_d_c,X52: assertion_a_b_d_c] :
      ( ( set_as7232682317586342732_b_d_c @ ( or_a_b_d_c @ X51 @ X52 ) )
      = ( sup_sup_set_b @ ( set_as7232682317586342732_b_d_c @ X51 ) @ ( set_as7232682317586342732_b_d_c @ X52 ) ) ) ).

% assertion.simps(328)
thf(fact_935_assertion_Osimps_I329_J,axiom,
    ! [X61: assertion_a_b_d_c,X62: assertion_a_b_d_c] :
      ( ( set_as7232682317586342732_b_d_c @ ( and_a_b_d_c @ X61 @ X62 ) )
      = ( sup_sup_set_b @ ( set_as7232682317586342732_b_d_c @ X61 ) @ ( set_as7232682317586342732_b_d_c @ X62 ) ) ) ).

% assertion.simps(329)
thf(fact_936_Sup__fin_Oeq__fold_H,axiom,
    ( lattic2918178361130032022_set_b
    = ( ^ [A5: set_set_b] :
          ( the_set_b
          @ ( finite4684332809091328718_set_b
            @ ^ [X: set_b,Y: option_set_b] : ( some_set_b @ ( case_o6570817238820213323_set_b @ X @ ( sup_sup_set_b @ X ) @ Y ) )
            @ none_set_b
            @ A5 ) ) ) ) ).

% Sup_fin.eq_fold'
thf(fact_937_semilattice__set_Oeq__fold_H,axiom,
    ! [F2: a > a > a,A2: set_a] :
      ( ( lattic5961991414251573132_set_a @ F2 )
     => ( ( lattic5116578512385870296ce_F_a @ F2 @ A2 )
        = ( the_a2
          @ ( finite6501707464432451470tion_a
            @ ^ [X: a,Y: option_a] : ( some_a @ ( case_option_a_a @ X @ ( F2 @ X ) @ Y ) )
            @ none_a
            @ A2 ) ) ) ) ).

% semilattice_set.eq_fold'
thf(fact_938_semilattice__set_Oinfinite,axiom,
    ! [F2: option_a > option_a > option_a,A2: set_option_a] :
      ( ( lattic4111267149900974290tion_a @ F2 )
     => ( ~ ( finite1674126218327898605tion_a @ A2 )
       => ( ( lattic5543840709497872670tion_a @ F2 @ A2 )
          = ( the_option_a2 @ none_option_a ) ) ) ) ).

% semilattice_set.infinite
thf(fact_939_semilattice__set_Oinfinite,axiom,
    ! [F2: a > a > a,A2: set_a] :
      ( ( lattic5961991414251573132_set_a @ F2 )
     => ( ~ ( finite_finite_a @ A2 )
       => ( ( lattic5116578512385870296ce_F_a @ F2 @ A2 )
          = ( the_a2 @ none_a ) ) ) ) ).

% semilattice_set.infinite
thf(fact_940_inj__on__iff__Uniq,axiom,
    ( inj_on_a_option_a
    = ( ^ [F: a > option_a,A5: set_a] :
        ! [X: a] :
          ( ( member_a @ X @ A5 )
         => ( uniq_a
            @ ^ [Y: a] :
                ( ( member_a @ Y @ A5 )
                & ( ( F @ X )
                  = ( F @ Y ) ) ) ) ) ) ) ).

% inj_on_iff_Uniq
thf(fact_941_option_Odisc__transfer_I2_J,axiom,
    ! [R3: a > a > $o] :
      ( bNF_re905040088260304477_a_o_o @ ( rel_option_a_a @ R3 )
      @ ^ [Y5: $o,Z4: $o] : ( Y5 = Z4 )
      @ ^ [Option3: option_a] : ( Option3 != none_a )
      @ ^ [Option3: option_a] : ( Option3 != none_a ) ) ).

% option.disc_transfer(2)
thf(fact_942_option_Odisc__transfer_I1_J,axiom,
    ! [R3: a > a > $o] :
      ( bNF_re905040088260304477_a_o_o @ ( rel_option_a_a @ R3 )
      @ ^ [Y5: $o,Z4: $o] : ( Y5 = Z4 )
      @ ^ [Option3: option_a] : ( Option3 = none_a )
      @ ^ [Option3: option_a] : ( Option3 = none_a ) ) ).

% option.disc_transfer(1)
thf(fact_943_option_Orec__transfer,axiom,
    ! [S4: $o > $o > $o,R3: option_a > option_a > $o] : ( bNF_re7775980886671535221on_a_o @ S4 @ ( bNF_re8007680959799151545on_a_o @ ( bNF_re905040088260304477_a_o_o @ R3 @ S4 ) @ ( bNF_re669219658517073757_a_o_o @ ( rel_op4798662380513671176tion_a @ R3 ) @ S4 ) ) @ rec_op1346285999958695467tion_a @ rec_op1346285999958695467tion_a ) ).

% option.rec_transfer
thf(fact_944_option_Orec__transfer,axiom,
    ! [S4: $o > $o > $o,R3: a > a > $o] : ( bNF_re1464701735350397069on_a_o @ S4 @ ( bNF_re4859868158825367505on_a_o @ ( bNF_rel_fun_a_a_o_o @ R3 @ S4 ) @ ( bNF_re905040088260304477_a_o_o @ ( rel_option_a_a @ R3 ) @ S4 ) ) @ rec_option_o_a @ rec_option_o_a ) ).

% option.rec_transfer
thf(fact_945_option_Orec__transfer,axiom,
    ! [S4: option_a > option_a > $o,R3: a > a > $o] : ( bNF_re1266155380144051773tion_a @ S4 @ ( bNF_re2722752998287985793tion_a @ ( bNF_re1187871780581372509tion_a @ R3 @ S4 ) @ ( bNF_re8713957294334624093tion_a @ ( rel_option_a_a @ R3 ) @ S4 ) ) @ rec_op3997991240598549433on_a_a @ rec_op3997991240598549433on_a_a ) ).

% option.rec_transfer
thf(fact_946_option_Ocase__transfer,axiom,
    ! [S4: $o > $o > $o,R3: option_a > option_a > $o] : ( bNF_re7775980886671535221on_a_o @ S4 @ ( bNF_re8007680959799151545on_a_o @ ( bNF_re905040088260304477_a_o_o @ R3 @ S4 ) @ ( bNF_re669219658517073757_a_o_o @ ( rel_op4798662380513671176tion_a @ R3 ) @ S4 ) ) @ case_o3426643154261757367tion_a @ case_o3426643154261757367tion_a ) ).

% option.case_transfer
thf(fact_947_option_Ocase__transfer,axiom,
    ! [S4: option_a > option_a > $o,R3: a > a > $o] : ( bNF_re1266155380144051773tion_a @ S4 @ ( bNF_re2722752998287985793tion_a @ ( bNF_re1187871780581372509tion_a @ R3 @ S4 ) @ ( bNF_re8713957294334624093tion_a @ ( rel_option_a_a @ R3 ) @ S4 ) ) @ case_o3148979394504432965on_a_a @ case_o3148979394504432965on_a_a ) ).

% option.case_transfer
thf(fact_948_option_Ocase__transfer,axiom,
    ! [S4: option_a > $o > $o,R3: a > a > $o] : ( bNF_re4311958519388381497on_a_o @ S4 @ ( bNF_re6058157240589548841on_a_o @ ( bNF_re1847112384428219057on_a_o @ R3 @ S4 ) @ ( bNF_re2070578767941953969on_a_o @ ( rel_option_a_a @ R3 ) @ S4 ) ) @ case_o3148979394504432965on_a_a @ case_option_o_a ) ).

% option.case_transfer
thf(fact_949_option_Ocase__transfer,axiom,
    ! [S4: option_a > a > $o,R3: a > a > $o] : ( bNF_re5218620495166150379on_a_a @ S4 @ ( bNF_re5072729714030605557on_a_a @ ( bNF_re5794519239126689175on_a_a @ R3 @ S4 ) @ ( bNF_re4157831115608716439on_a_a @ ( rel_option_a_a @ R3 ) @ S4 ) ) @ case_o3148979394504432965on_a_a @ case_option_a_a ) ).

% option.case_transfer
thf(fact_950_option_Ocase__transfer,axiom,
    ! [S4: $o > option_a > $o,R3: a > a > $o] : ( bNF_re7078363273947182481tion_a @ S4 @ ( bNF_re2369685550566307625tion_a @ ( bNF_re905553932590079753tion_a @ R3 @ S4 ) @ ( bNF_re1129020316103814665tion_a @ ( rel_option_a_a @ R3 ) @ S4 ) ) @ case_option_o_a @ case_o3148979394504432965on_a_a ) ).

% option.case_transfer
thf(fact_951_option_Ocase__transfer,axiom,
    ! [S4: $o > $o > $o,R3: a > a > $o] : ( bNF_re1464701735350397069on_a_o @ S4 @ ( bNF_re4859868158825367505on_a_o @ ( bNF_rel_fun_a_a_o_o @ R3 @ S4 ) @ ( bNF_re905040088260304477_a_o_o @ ( rel_option_a_a @ R3 ) @ S4 ) ) @ case_option_o_a @ case_option_o_a ) ).

% option.case_transfer
thf(fact_952_option_Ocase__transfer,axiom,
    ! [S4: $o > a > $o,R3: a > a > $o] : ( bNF_re4337018088969878591on_a_a @ S4 @ ( bNF_re102678143051736477on_a_a @ ( bNF_rel_fun_a_a_o_a @ R3 @ S4 ) @ ( bNF_re8815814597387604803_a_o_a @ ( rel_option_a_a @ R3 ) @ S4 ) ) @ case_option_o_a @ case_option_a_a ) ).

% option.case_transfer
thf(fact_953_option_Ocase__transfer,axiom,
    ! [S4: a > option_a > $o,R3: a > a > $o] : ( bNF_re1882382041600142455tion_a @ S4 @ ( bNF_re7263069294043397365tion_a @ ( bNF_re3572005357587894051tion_a @ R3 @ S4 ) @ ( bNF_re1935317234069921315tion_a @ ( rel_option_a_a @ R3 ) @ S4 ) ) @ case_option_a_a @ case_o3148979394504432965on_a_a ) ).

% option.case_transfer
thf(fact_954_option_Ocase__transfer,axiom,
    ! [S4: a > $o > $o,R3: a > a > $o] : ( bNF_re8717284581917077363on_a_o @ S4 @ ( bNF_re4058884933032857501on_a_o @ ( bNF_rel_fun_a_a_a_o @ R3 @ S4 ) @ ( bNF_re8895294753853352567_a_a_o @ ( rel_option_a_a @ R3 ) @ S4 ) ) @ case_option_a_a @ case_option_o_a ) ).

% option.case_transfer
thf(fact_955_option_Ocase__transfer,axiom,
    ! [S4: a > a > $o,R3: a > a > $o] : ( bNF_re6523360481052543525on_a_a @ S4 @ ( bNF_re1079736789768479081on_a_a @ ( bNF_rel_fun_a_a_a_a @ R3 @ S4 ) @ ( bNF_re6951206947496014429_a_a_a @ ( rel_option_a_a @ R3 ) @ S4 ) ) @ case_option_a_a @ case_option_a_a ) ).

% option.case_transfer
thf(fact_956_option_Omap__transfer,axiom,
    ! [Rb: option_a > option_a > $o,Sd: $o > $o > $o] : ( bNF_re5724521104517466949tion_o @ ( bNF_re905040088260304477_a_o_o @ Rb @ Sd ) @ ( bNF_re7165334401771760221tion_o @ ( rel_op4798662380513671176tion_a @ Rb ) @ ( rel_option_o_o @ Sd ) ) @ map_op2529087131052605791on_a_o @ map_op2529087131052605791on_a_o ) ).

% option.map_transfer
thf(fact_957_option_Omap__transfer,axiom,
    ! [Rb: a > a > $o,Sd: option_a > option_a > $o] : ( bNF_re2496629990708770829tion_a @ ( bNF_re1187871780581372509tion_a @ Rb @ Sd ) @ ( bNF_re1595600300046643805tion_a @ ( rel_option_a_a @ Rb ) @ ( rel_op4798662380513671176tion_a @ Sd ) ) @ map_op2340691886215429841tion_a @ map_op2340691886215429841tion_a ) ).

% option.map_transfer
thf(fact_958_option_Omap__transfer,axiom,
    ! [Rb: a > a > $o,Sd: a > a > $o] : ( bNF_re8471833820502647285tion_a @ ( bNF_rel_fun_a_a_a_a @ Rb @ Sd ) @ ( bNF_re8713957294334624093tion_a @ ( rel_option_a_a @ Rb ) @ ( rel_option_a_a @ Sd ) ) @ map_option_a_a2 @ map_option_a_a2 ) ).

% option.map_transfer
thf(fact_959_option_Orel__transfer,axiom,
    ! [Sa: a > a > $o,Sc: option_a > option_a > $o] :
      ( bNF_re3412046433515172957on_a_o
      @ ( bNF_re6100770640034910033on_a_o @ Sa
        @ ( bNF_re905040088260304477_a_o_o @ Sc
          @ ^ [Y5: $o,Z4: $o] : ( Y5 = Z4 ) ) )
      @ ( bNF_re3043890739735069381on_a_o @ ( rel_option_a_a @ Sa )
        @ ( bNF_re669219658517073757_a_o_o @ ( rel_op4798662380513671176tion_a @ Sc )
          @ ^ [Y5: $o,Z4: $o] : ( Y5 = Z4 ) ) )
      @ rel_op1513876725179314510tion_a
      @ rel_op1513876725179314510tion_a ) ).

% option.rel_transfer
thf(fact_960_option_Orel__transfer,axiom,
    ! [Sa: a > a > $o,Sc: a > a > $o] :
      ( bNF_re4921454823102592605on_a_o
      @ ( bNF_re6468246989568818141_o_a_o @ Sa
        @ ( bNF_rel_fun_a_a_o_o @ Sc
          @ ^ [Y5: $o,Z4: $o] : ( Y5 = Z4 ) ) )
      @ ( bNF_re1541143192665202257on_a_o @ ( rel_option_a_a @ Sa )
        @ ( bNF_re905040088260304477_a_o_o @ ( rel_option_a_a @ Sc )
          @ ^ [Y5: $o,Z4: $o] : ( Y5 = Z4 ) ) )
      @ rel_option_a_a
      @ rel_option_a_a ) ).

% option.rel_transfer
thf(fact_961_option__bind__transfer,axiom,
    ! [A2: a > a > $o,B2: a > a > $o] : ( bNF_re5708320262762544989tion_a @ ( rel_option_a_a @ A2 ) @ ( bNF_re5527783635739595829tion_a @ ( bNF_re1187871780581372509tion_a @ A2 @ ( rel_option_a_a @ B2 ) ) @ ( rel_option_a_a @ B2 ) ) @ bind_a_a @ bind_a_a ) ).

% option_bind_transfer
thf(fact_962_option_Octr__transfer_I2_J,axiom,
    ! [R3: a > a > $o] : ( bNF_re1187871780581372509tion_a @ R3 @ ( rel_option_a_a @ R3 ) @ some_a @ some_a ) ).

% option.ctr_transfer(2)
thf(fact_963_option_Opred__transfer,axiom,
    ! [R3: option_a > option_a > $o] :
      ( bNF_re8007680959799151545on_a_o
      @ ( bNF_re905040088260304477_a_o_o @ R3
        @ ^ [Y5: $o,Z4: $o] : ( Y5 = Z4 ) )
      @ ( bNF_re669219658517073757_a_o_o @ ( rel_op4798662380513671176tion_a @ R3 )
        @ ^ [Y5: $o,Z4: $o] : ( Y5 = Z4 ) )
      @ pred_option_option_a
      @ pred_option_option_a ) ).

% option.pred_transfer
thf(fact_964_option_Opred__transfer,axiom,
    ! [R3: a > a > $o] :
      ( bNF_re4859868158825367505on_a_o
      @ ( bNF_rel_fun_a_a_o_o @ R3
        @ ^ [Y5: $o,Z4: $o] : ( Y5 = Z4 ) )
      @ ( bNF_re905040088260304477_a_o_o @ ( rel_option_a_a @ R3 )
        @ ^ [Y5: $o,Z4: $o] : ( Y5 = Z4 ) )
      @ pred_option_a
      @ pred_option_a ) ).

% option.pred_transfer
thf(fact_965_pred__option__parametric,axiom,
    ! [A2: option_a > option_a > $o] :
      ( bNF_re8007680959799151545on_a_o
      @ ( bNF_re905040088260304477_a_o_o @ A2
        @ ^ [Y5: $o,Z4: $o] : ( Y5 = Z4 ) )
      @ ( bNF_re669219658517073757_a_o_o @ ( rel_op4798662380513671176tion_a @ A2 )
        @ ^ [Y5: $o,Z4: $o] : ( Y5 = Z4 ) )
      @ pred_option_option_a
      @ pred_option_option_a ) ).

% pred_option_parametric
thf(fact_966_pred__option__parametric,axiom,
    ! [A2: a > a > $o] :
      ( bNF_re4859868158825367505on_a_o
      @ ( bNF_rel_fun_a_a_o_o @ A2
        @ ^ [Y5: $o,Z4: $o] : ( Y5 = Z4 ) )
      @ ( bNF_re905040088260304477_a_o_o @ ( rel_option_a_a @ A2 )
        @ ^ [Y5: $o,Z4: $o] : ( Y5 = Z4 ) )
      @ pred_option_a
      @ pred_option_a ) ).

% pred_option_parametric
thf(fact_967_option_Opred__inject_I2_J,axiom,
    ! [P3: a > $o,A: a] :
      ( ( pred_option_a @ P3 @ ( some_a @ A ) )
      = ( P3 @ A ) ) ).

% option.pred_inject(2)
thf(fact_968_option_Omap__cong__pred,axiom,
    ! [X3: option_a,Ya: option_a,F2: a > a,G: a > a] :
      ( ( X3 = Ya )
     => ( ( pred_option_a
          @ ^ [Z: a] :
              ( ( F2 @ Z )
              = ( G @ Z ) )
          @ Ya )
       => ( ( map_option_a_a2 @ F2 @ X3 )
          = ( map_option_a_a2 @ G @ Ya ) ) ) ) ).

% option.map_cong_pred
thf(fact_969_option_Opred__mono,axiom,
    ! [P3: a > $o,Pa: a > $o] :
      ( ( ord_less_eq_a_o @ P3 @ Pa )
     => ( ord_le8889544289526388249on_a_o @ ( pred_option_a @ P3 ) @ ( pred_option_a @ Pa ) ) ) ).

% option.pred_mono
thf(fact_970_option_Opred__map,axiom,
    ! [Q: a > $o,F2: a > a,X3: option_a] :
      ( ( pred_option_a @ Q @ ( map_option_a_a2 @ F2 @ X3 ) )
      = ( pred_option_a @ ( comp_a_o_a @ Q @ F2 ) @ X3 ) ) ).

% option.pred_map
thf(fact_971_option_Opred__inject_I1_J,axiom,
    ! [P3: a > $o] : ( pred_option_a @ P3 @ none_a ) ).

% option.pred_inject(1)
thf(fact_972_option_Opred__True,axiom,
    ( ( pred_option_a
      @ ^ [Uu: a] : $true )
    = ( ^ [Uu: option_a] : $true ) ) ).

% option.pred_True
thf(fact_973_option_Opred__cong,axiom,
    ! [X3: option_option_a,Ya: option_option_a,P3: option_a > $o,Pa: option_a > $o] :
      ( ( X3 = Ya )
     => ( ! [Z3: option_a] :
            ( ( member_option_a @ Z3 @ ( set_option_option_a2 @ Ya ) )
           => ( ( P3 @ Z3 )
              = ( Pa @ Z3 ) ) )
       => ( ( pred_option_option_a @ P3 @ X3 )
          = ( pred_option_option_a @ Pa @ Ya ) ) ) ) ).

% option.pred_cong
thf(fact_974_option_Opred__cong,axiom,
    ! [X3: option_b,Ya: option_b,P3: b > $o,Pa: b > $o] :
      ( ( X3 = Ya )
     => ( ! [Z3: b] :
            ( ( member_b @ Z3 @ ( set_option_b2 @ Ya ) )
           => ( ( P3 @ Z3 )
              = ( Pa @ Z3 ) ) )
       => ( ( pred_option_b @ P3 @ X3 )
          = ( pred_option_b @ Pa @ Ya ) ) ) ) ).

% option.pred_cong
thf(fact_975_option_Opred__cong,axiom,
    ! [X3: option_a,Ya: option_a,P3: a > $o,Pa: a > $o] :
      ( ( X3 = Ya )
     => ( ! [Z3: a] :
            ( ( member_a @ Z3 @ ( set_option_a3 @ Ya ) )
           => ( ( P3 @ Z3 )
              = ( Pa @ Z3 ) ) )
       => ( ( pred_option_a @ P3 @ X3 )
          = ( pred_option_a @ Pa @ Ya ) ) ) ) ).

% option.pred_cong
thf(fact_976_option_Opred__mono__strong,axiom,
    ! [P3: option_a > $o,X3: option_option_a,Pa: option_a > $o] :
      ( ( pred_option_option_a @ P3 @ X3 )
     => ( ! [Z3: option_a] :
            ( ( member_option_a @ Z3 @ ( set_option_option_a2 @ X3 ) )
           => ( ( P3 @ Z3 )
             => ( Pa @ Z3 ) ) )
       => ( pred_option_option_a @ Pa @ X3 ) ) ) ).

% option.pred_mono_strong
thf(fact_977_option_Opred__mono__strong,axiom,
    ! [P3: b > $o,X3: option_b,Pa: b > $o] :
      ( ( pred_option_b @ P3 @ X3 )
     => ( ! [Z3: b] :
            ( ( member_b @ Z3 @ ( set_option_b2 @ X3 ) )
           => ( ( P3 @ Z3 )
             => ( Pa @ Z3 ) ) )
       => ( pred_option_b @ Pa @ X3 ) ) ) ).

% option.pred_mono_strong
thf(fact_978_option_Opred__mono__strong,axiom,
    ! [P3: a > $o,X3: option_a,Pa: a > $o] :
      ( ( pred_option_a @ P3 @ X3 )
     => ( ! [Z3: a] :
            ( ( member_a @ Z3 @ ( set_option_a3 @ X3 ) )
           => ( ( P3 @ Z3 )
             => ( Pa @ Z3 ) ) )
       => ( pred_option_a @ Pa @ X3 ) ) ) ).

% option.pred_mono_strong
thf(fact_979_fun__upd__transfer,axiom,
    ! [A2: c > c > $o,B2: d > d > $o] :
      ( ( bi_unique_c_c @ A2 )
     => ( bNF_re4162436072719156391_d_c_d @ ( bNF_rel_fun_c_c_d_d @ A2 @ B2 ) @ ( bNF_re6283605750710864861_d_c_d @ A2 @ ( bNF_re2118925435710938475_d_c_d @ B2 @ ( bNF_rel_fun_c_c_d_d @ A2 @ B2 ) ) ) @ fun_upd_c_d @ fun_upd_c_d ) ) ).

% fun_upd_transfer
thf(fact_980_fun__upd__transfer,axiom,
    ! [A2: option_a > option_a > $o,B2: $o > $o > $o] :
      ( ( bi_uni6217441781253053455tion_a @ A2 )
     => ( bNF_re294699121693105817on_a_o @ ( bNF_re905040088260304477_a_o_o @ A2 @ B2 ) @ ( bNF_re8312531103195455325on_a_o @ A2 @ ( bNF_re5310993362035161937on_a_o @ B2 @ ( bNF_re905040088260304477_a_o_o @ A2 @ B2 ) ) ) @ fun_upd_option_a_o @ fun_upd_option_a_o ) ) ).

% fun_upd_transfer
thf(fact_981_fun__upd__transfer,axiom,
    ! [A2: a > a > $o,B2: option_a > option_a > $o] :
      ( ( bi_unique_a_a @ A2 )
     => ( bNF_re4933961146405920325tion_a @ ( bNF_re1187871780581372509tion_a @ A2 @ B2 ) @ ( bNF_re845666378725559389tion_a @ A2 @ ( bNF_re8162217253061806133tion_a @ B2 @ ( bNF_re1187871780581372509tion_a @ A2 @ B2 ) ) ) @ fun_upd_a_option_a @ fun_upd_a_option_a ) ) ).

% fun_upd_transfer
thf(fact_982_option_Opred__rel,axiom,
    ( pred_option_a
    = ( ^ [P5: a > $o,X: option_a] : ( rel_option_a_a @ ( bNF_eq_onp_a @ P5 ) @ X @ X ) ) ) ).

% option.pred_rel
thf(fact_983_option_Orel__eq__onp,axiom,
    ! [P3: a > $o] :
      ( ( rel_option_a_a @ ( bNF_eq_onp_a @ P3 ) )
      = ( bNF_eq_onp_option_a @ ( pred_option_a @ P3 ) ) ) ).

% option.rel_eq_onp
thf(fact_984_option_Obi__unique__rel,axiom,
    ! [R3: a > a > $o] :
      ( ( bi_unique_a_a @ R3 )
     => ( bi_uni6217441781253053455tion_a @ ( rel_option_a_a @ R3 ) ) ) ).

% option.bi_unique_rel
thf(fact_985_option_Opred__set,axiom,
    ( pred_option_a
    = ( ^ [P5: a > $o,X: option_a] :
        ! [Y: a] :
          ( ( member_a @ Y @ ( set_option_a3 @ X ) )
         => ( P5 @ Y ) ) ) ) ).

% option.pred_set

% Helper facts (9)
thf(help_If_2_1_If_001tf__a_T,axiom,
    ! [X3: a,Y2: a] :
      ( ( if_a @ $false @ X3 @ Y2 )
      = Y2 ) ).

thf(help_If_1_1_If_001tf__a_T,axiom,
    ! [X3: a,Y2: a] :
      ( ( if_a @ $true @ X3 @ Y2 )
      = X3 ) ).

thf(help_If_2_1_If_001tf__b_T,axiom,
    ! [X3: b,Y2: b] :
      ( ( if_b @ $false @ X3 @ Y2 )
      = Y2 ) ).

thf(help_If_1_1_If_001tf__b_T,axiom,
    ! [X3: b,Y2: b] :
      ( ( if_b @ $true @ X3 @ Y2 )
      = X3 ) ).

thf(help_If_2_1_If_001tf__d_T,axiom,
    ! [X3: d,Y2: d] :
      ( ( if_d @ $false @ X3 @ Y2 )
      = Y2 ) ).

thf(help_If_1_1_If_001tf__d_T,axiom,
    ! [X3: d,Y2: d] :
      ( ( if_d @ $true @ X3 @ Y2 )
      = X3 ) ).

thf(help_If_3_1_If_001t__Option__Ooption_Itf__a_J_T,axiom,
    ! [P3: $o] :
      ( ( P3 = $true )
      | ( P3 = $false ) ) ).

thf(help_If_2_1_If_001t__Option__Ooption_Itf__a_J_T,axiom,
    ! [X3: option_a,Y2: option_a] :
      ( ( if_option_a @ $false @ X3 @ Y2 )
      = Y2 ) ).

thf(help_If_1_1_If_001t__Option__Ooption_Itf__a_J_T,axiom,
    ! [X3: option_a,Y2: option_a] :
      ( ( if_option_a @ $true @ X3 @ Y2 )
      = X3 ) ).

% Conjectures (1)
thf(conj_0,conjecture,
    sat_a_b_c_d @ plus @ mult @ valid @ sigma @ s @ delta @ ( imp_a_b_d_c @ a2 @ b2 ) ).

%------------------------------------------------------------------------------