TPTP Problem File: SLH0626^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    : Clique_and_Monotone_Circuits/0001_Preliminaries/prob_00095_003293__16060746_1 [Des23]

% Status   : Theorem
% Rating   : ? v8.2.0
% Syntax   : Number of formulae    : 1362 ( 601 unt;  91 typ;   0 def)
%            Number of atoms       : 3341 (1251 equ;   0 cnn)
%            Maximal formula atoms :   12 (   2 avg)
%            Number of connectives : 9941 ( 349   ~;  64   |; 232   &;8021   @)
%                                         (   0 <=>;1275  =>;   0  <=;   0 <~>)
%            Maximal formula depth :   18 (   6 avg)
%            Number of types       :    7 (   6 usr)
%            Number of type conns  :  621 ( 621   >;   0   *;   0   +;   0  <<)
%            Number of symbols     :   88 (  85 usr;  12 con; 0-4 aty)
%            Number of variables   : 3389 ( 362   ^;2944   !;  83   ?;3389   :)
% SPC      : TH0_THM_EQU_NAR

% Comments : This file was generated by Isabelle (most likely Sledgehammer)
%            2023-01-19 12:46:53.066
%------------------------------------------------------------------------------
% Could-be-implicit typings (6)
thf(ty_n_t__Set__Oset_It__Set__Oset_It__Set__Oset_It__Nat__Onat_J_J_J,type,
    set_set_set_nat: $tType ).

thf(ty_n_t__Set__Oset_I_062_It__Set__Oset_It__Nat__Onat_J_M_Eo_J_J,type,
    set_set_nat_o: $tType ).

thf(ty_n_t__Set__Oset_It__Set__Oset_It__Nat__Onat_J_J,type,
    set_set_nat: $tType ).

thf(ty_n_t__Set__Oset_I_062_It__Nat__Onat_M_Eo_J_J,type,
    set_nat_o: $tType ).

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

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

% Explicit typings (85)
thf(sy_c_Binomial_Obinomial,type,
    binomial: nat > nat > nat ).

thf(sy_c_Binomial_Ogbinomial_001t__Nat__Onat,type,
    gbinomial_nat: nat > nat > nat ).

thf(sy_c_Finite__Set_OFpow_001t__Nat__Onat,type,
    finite_Fpow_nat: set_nat > set_set_nat ).

thf(sy_c_Finite__Set_Ocard_001t__Nat__Onat,type,
    finite_card_nat: set_nat > nat ).

thf(sy_c_Finite__Set_Ocard_001t__Set__Oset_It__Nat__Onat_J,type,
    finite_card_set_nat: set_set_nat > nat ).

thf(sy_c_Finite__Set_Ocard_001t__Set__Oset_It__Set__Oset_It__Nat__Onat_J_J,type,
    finite1149291290879098388et_nat: set_set_set_nat > nat ).

thf(sy_c_Groups_Ominus__class_Ominus_001_062_It__Nat__Onat_M_Eo_J,type,
    minus_minus_nat_o: ( nat > $o ) > ( nat > $o ) > nat > $o ).

thf(sy_c_Groups_Ominus__class_Ominus_001_062_It__Set__Oset_It__Nat__Onat_J_M_Eo_J,type,
    minus_6910147592129066416_nat_o: ( set_nat > $o ) > ( set_nat > $o ) > set_nat > $o ).

thf(sy_c_Groups_Ominus__class_Ominus_001_062_It__Set__Oset_It__Set__Oset_It__Nat__Onat_J_J_M_Eo_J,type,
    minus_463385787819020154_nat_o: ( set_set_nat > $o ) > ( set_set_nat > $o ) > set_set_nat > $o ).

thf(sy_c_Groups_Ominus__class_Ominus_001t__Nat__Onat,type,
    minus_minus_nat: nat > nat > nat ).

thf(sy_c_Groups_Ominus__class_Ominus_001t__Set__Oset_It__Nat__Onat_J,type,
    minus_minus_set_nat: set_nat > set_nat > set_nat ).

thf(sy_c_Groups_Ominus__class_Ominus_001t__Set__Oset_It__Set__Oset_It__Nat__Onat_J_J,type,
    minus_2163939370556025621et_nat: set_set_nat > set_set_nat > set_set_nat ).

thf(sy_c_Groups_Ominus__class_Ominus_001t__Set__Oset_It__Set__Oset_It__Set__Oset_It__Nat__Onat_J_J_J,type,
    minus_2447799839930672331et_nat: set_set_set_nat > set_set_set_nat > set_set_set_nat ).

thf(sy_c_Groups_Oone__class_Oone_001t__Nat__Onat,type,
    one_one_nat: nat ).

thf(sy_c_Groups_Oplus__class_Oplus_001t__Nat__Onat,type,
    plus_plus_nat: nat > nat > nat ).

thf(sy_c_Groups_Otimes__class_Otimes_001t__Nat__Onat,type,
    times_times_nat: nat > nat > nat ).

thf(sy_c_Groups_Ozero__class_Ozero_001t__Nat__Onat,type,
    zero_zero_nat: nat ).

thf(sy_c_Groups__Big_Ocomm__monoid__add__class_Osum_001t__Nat__Onat_001t__Nat__Onat,type,
    groups3542108847815614940at_nat: ( nat > nat ) > set_nat > nat ).

thf(sy_c_Groups__Big_Ocomm__monoid__add__class_Osum_001t__Set__Oset_It__Nat__Onat_J_001t__Nat__Onat,type,
    groups8294997508430121362at_nat: ( set_nat > nat ) > set_set_nat > nat ).

thf(sy_c_Groups__Big_Ocomm__monoid__mult__class_Oprod_001t__Nat__Onat_001t__Nat__Onat,type,
    groups708209901874060359at_nat: ( nat > nat ) > set_nat > nat ).

thf(sy_c_Groups__Big_Ocomm__monoid__mult__class_Oprod_001t__Set__Oset_It__Nat__Onat_J_001t__Nat__Onat,type,
    groups4248547760180025341at_nat: ( set_nat > nat ) > set_set_nat > nat ).

thf(sy_c_If_001t__Nat__Onat,type,
    if_nat: $o > nat > nat > nat ).

thf(sy_c_If_001t__Set__Oset_It__Nat__Onat_J,type,
    if_set_nat: $o > set_nat > set_nat > set_nat ).

thf(sy_c_Lattices_Osemilattice__neutr__order_001t__Nat__Onat,type,
    semila1623282765462674594er_nat: ( nat > nat > nat ) > nat > ( nat > nat > $o ) > ( nat > nat > $o ) > $o ).

thf(sy_c_Nat_OSuc,type,
    suc: nat > nat ).

thf(sy_c_Orderings_Obot__class_Obot_001_062_It__Nat__Onat_M_Eo_J,type,
    bot_bot_nat_o: nat > $o ).

thf(sy_c_Orderings_Obot__class_Obot_001_062_It__Set__Oset_It__Nat__Onat_J_M_Eo_J,type,
    bot_bot_set_nat_o: set_nat > $o ).

thf(sy_c_Orderings_Obot__class_Obot_001t__Nat__Onat,type,
    bot_bot_nat: nat ).

thf(sy_c_Orderings_Obot__class_Obot_001t__Set__Oset_It__Nat__Onat_J,type,
    bot_bot_set_nat: set_nat ).

thf(sy_c_Orderings_Obot__class_Obot_001t__Set__Oset_It__Set__Oset_It__Nat__Onat_J_J,type,
    bot_bot_set_set_nat: set_set_nat ).

thf(sy_c_Orderings_Oord_Omax_001t__Nat__Onat,type,
    max_nat: ( nat > nat > $o ) > nat > nat > nat ).

thf(sy_c_Orderings_Oord_Omin_001t__Nat__Onat,type,
    min_nat: ( nat > nat > $o ) > nat > nat > nat ).

thf(sy_c_Orderings_Oord__class_Oless_001_062_It__Nat__Onat_M_Eo_J,type,
    ord_less_nat_o: ( nat > $o ) > ( nat > $o ) > $o ).

thf(sy_c_Orderings_Oord__class_Oless_001_062_It__Set__Oset_It__Nat__Onat_J_M_Eo_J,type,
    ord_less_set_nat_o: ( set_nat > $o ) > ( set_nat > $o ) > $o ).

thf(sy_c_Orderings_Oord__class_Oless_001_062_It__Set__Oset_It__Set__Oset_It__Nat__Onat_J_J_M_Eo_J,type,
    ord_le466346588697744319_nat_o: ( set_set_nat > $o ) > ( set_set_nat > $o ) > $o ).

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__Nat__Onat_J,type,
    ord_less_set_nat: set_nat > set_nat > $o ).

thf(sy_c_Orderings_Oord__class_Oless_001t__Set__Oset_It__Set__Oset_It__Nat__Onat_J_J,type,
    ord_less_set_set_nat: set_set_nat > set_set_nat > $o ).

thf(sy_c_Orderings_Oord__class_Oless_001t__Set__Oset_It__Set__Oset_It__Set__Oset_It__Nat__Onat_J_J_J,type,
    ord_le152980574450754630et_nat: set_set_set_nat > set_set_set_nat > $o ).

thf(sy_c_Orderings_Oord__class_Oless__eq_001_062_It__Nat__Onat_M_Eo_J,type,
    ord_less_eq_nat_o: ( nat > $o ) > ( nat > $o ) > $o ).

thf(sy_c_Orderings_Oord__class_Oless__eq_001_062_It__Set__Oset_It__Nat__Onat_J_M_Eo_J,type,
    ord_le3964352015994296041_nat_o: ( set_nat > $o ) > ( set_nat > $o ) > $o ).

thf(sy_c_Orderings_Oord__class_Oless__eq_001_062_It__Set__Oset_It__Set__Oset_It__Nat__Onat_J_J_M_Eo_J,type,
    ord_le3616423863276227763_nat_o: ( set_set_nat > $o ) > ( set_set_nat > $o ) > $o ).

thf(sy_c_Orderings_Oord__class_Oless__eq_001_Eo,type,
    ord_less_eq_o: $o > $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__Nat__Onat_J,type,
    ord_less_eq_set_nat: set_nat > set_nat > $o ).

thf(sy_c_Orderings_Oord__class_Oless__eq_001t__Set__Oset_It__Set__Oset_It__Nat__Onat_J_J,type,
    ord_le6893508408891458716et_nat: set_set_nat > set_set_nat > $o ).

thf(sy_c_Orderings_Oord__class_Oless__eq_001t__Set__Oset_It__Set__Oset_It__Set__Oset_It__Nat__Onat_J_J_J,type,
    ord_le9131159989063066194et_nat: set_set_set_nat > set_set_set_nat > $o ).

thf(sy_c_Orderings_Oord__class_Omax_001t__Nat__Onat,type,
    ord_max_nat: nat > nat > nat ).

thf(sy_c_Orderings_Oord__class_Omax_001t__Set__Oset_It__Nat__Onat_J,type,
    ord_max_set_nat: set_nat > set_nat > set_nat ).

thf(sy_c_Orderings_Oord__class_Omin_001t__Nat__Onat,type,
    ord_min_nat: nat > nat > nat ).

thf(sy_c_Orderings_Oord__class_Omin_001t__Set__Oset_It__Nat__Onat_J,type,
    ord_min_set_nat: set_nat > set_nat > set_nat ).

thf(sy_c_Set_OCollect_001t__Nat__Onat,type,
    collect_nat: ( nat > $o ) > set_nat ).

thf(sy_c_Set_OCollect_001t__Set__Oset_It__Nat__Onat_J,type,
    collect_set_nat: ( set_nat > $o ) > set_set_nat ).

thf(sy_c_Set_OCollect_001t__Set__Oset_It__Set__Oset_It__Nat__Onat_J_J,type,
    collect_set_set_nat: ( set_set_nat > $o ) > set_set_set_nat ).

thf(sy_c_Set_OPow_001t__Nat__Onat,type,
    pow_nat: set_nat > set_set_nat ).

thf(sy_c_Set_OPow_001t__Set__Oset_It__Nat__Onat_J,type,
    pow_set_nat: set_set_nat > set_set_set_nat ).

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__Nat__Onat_001t__Set__Oset_It__Nat__Onat_J,type,
    image_nat_set_nat: ( nat > set_nat ) > set_nat > set_set_nat ).

thf(sy_c_Set_Oimage_001t__Set__Oset_It__Nat__Onat_J_001t__Nat__Onat,type,
    image_set_nat_nat: ( set_nat > nat ) > set_set_nat > set_nat ).

thf(sy_c_Set_Oimage_001t__Set__Oset_It__Nat__Onat_J_001t__Set__Oset_It__Nat__Onat_J,type,
    image_7916887816326733075et_nat: ( set_nat > set_nat ) > set_set_nat > set_set_nat ).

thf(sy_c_Set_Oimage_001t__Set__Oset_It__Set__Oset_It__Nat__Onat_J_J_001t__Set__Oset_It__Set__Oset_It__Nat__Onat_J_J,type,
    image_7884819252390400639et_nat: ( set_set_nat > set_set_nat ) > set_set_set_nat > set_set_set_nat ).

thf(sy_c_Set_Oinsert_001t__Nat__Onat,type,
    insert_nat: nat > set_nat > set_nat ).

thf(sy_c_Set_Oinsert_001t__Set__Oset_It__Nat__Onat_J,type,
    insert_set_nat: set_nat > set_set_nat > set_set_nat ).

thf(sy_c_Set_Oinsert_001t__Set__Oset_It__Set__Oset_It__Nat__Onat_J_J,type,
    insert_set_set_nat: set_set_nat > set_set_set_nat > set_set_set_nat ).

thf(sy_c_Set_Ois__singleton_001t__Nat__Onat,type,
    is_singleton_nat: set_nat > $o ).

thf(sy_c_Set_Ois__singleton_001t__Set__Oset_It__Nat__Onat_J,type,
    is_singleton_set_nat: set_set_nat > $o ).

thf(sy_c_Set_Othe__elem_001t__Nat__Onat,type,
    the_elem_nat: set_nat > nat ).

thf(sy_c_Set_Othe__elem_001t__Set__Oset_It__Nat__Onat_J,type,
    the_elem_set_nat: set_set_nat > set_nat ).

thf(sy_c_Set__Interval_Oord__class_OatLeastLessThan_001_062_It__Nat__Onat_M_Eo_J,type,
    set_or8293666589767078672_nat_o: ( nat > $o ) > ( nat > $o ) > set_nat_o ).

thf(sy_c_Set__Interval_Oord__class_OatLeastLessThan_001_062_It__Set__Oset_It__Nat__Onat_J_M_Eo_J,type,
    set_or1145310865616870874_nat_o: ( set_nat > $o ) > ( set_nat > $o ) > set_set_nat_o ).

thf(sy_c_Set__Interval_Oord__class_OatLeastLessThan_001t__Nat__Onat,type,
    set_or4665077453230672383an_nat: nat > nat > set_nat ).

thf(sy_c_Set__Interval_Oord__class_OatLeastLessThan_001t__Set__Oset_It__Nat__Onat_J,type,
    set_or3540276404033026485et_nat: set_nat > set_nat > set_set_nat ).

thf(sy_c_Set__Interval_Oord__class_OatLeastLessThan_001t__Set__Oset_It__Set__Oset_It__Nat__Onat_J_J,type,
    set_or5410080298493297259et_nat: set_set_nat > set_set_nat > set_set_set_nat ).

thf(sy_c_Set__Interval_Oord__class_OatMost_001t__Nat__Onat,type,
    set_ord_atMost_nat: nat > set_nat ).

thf(sy_c_Set__Interval_Oord__class_OatMost_001t__Set__Oset_It__Nat__Onat_J,type,
    set_or4236626031148496127et_nat: set_nat > set_set_nat ).

thf(sy_c_member_001_062_It__Nat__Onat_M_Eo_J,type,
    member_nat_o: ( nat > $o ) > set_nat_o > $o ).

thf(sy_c_member_001_062_It__Set__Oset_It__Nat__Onat_J_M_Eo_J,type,
    member_set_nat_o: ( set_nat > $o ) > set_set_nat_o > $o ).

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

thf(sy_c_member_001t__Set__Oset_It__Nat__Onat_J,type,
    member_set_nat: set_nat > set_set_nat > $o ).

thf(sy_c_member_001t__Set__Oset_It__Set__Oset_It__Nat__Onat_J_J,type,
    member_set_set_nat: set_set_nat > set_set_set_nat > $o ).

thf(sy_v_M____,type,
    m: nat ).

thf(sy_v_k,type,
    k: nat ).

thf(sy_v_l,type,
    l: nat ).

thf(sy_v_m____,type,
    m2: nat ).

thf(sy_v_n,type,
    n: nat ).

% Relevant facts (1265)
thf(fact_0_l0,axiom,
    l != zero_zero_nat ).

% l0
thf(fact_1__092_060open_062card_A_123K_A_092_060in_062_APow_A_1230_O_O_060m_125_O_Acard_AK_A_061_Al_125_A_061_Acard_A_123K_A_092_060in_062_APow_A_1230_O_O_060M_125_O_Acard_AK_A_061_Al_125_092_060close_062,axiom,
    ( ( finite_card_set_nat
      @ ( collect_set_nat
        @ ^ [K: set_nat] :
            ( ( member_set_nat @ K @ ( pow_nat @ ( set_or4665077453230672383an_nat @ zero_zero_nat @ m2 ) ) )
            & ( ( finite_card_nat @ K )
              = l ) ) ) )
    = ( finite_card_set_nat
      @ ( collect_set_nat
        @ ^ [K: set_nat] :
            ( ( member_set_nat @ K @ ( pow_nat @ ( set_or4665077453230672383an_nat @ zero_zero_nat @ m ) ) )
            & ( ( finite_card_nat @ K )
              = l ) ) ) ) ) ).

% \<open>card {K \<in> Pow {0..<m}. card K = l} = card {K \<in> Pow {0..<M}. card K = l}\<close>
thf(fact_2_nk,axiom,
    n != k ).

% nk
thf(fact_3_calculation,axiom,
    ( ord_less_nat
    @ ( finite_card_set_nat
      @ ( collect_set_nat
        @ ^ [K: set_nat] :
            ( ( member_set_nat @ K @ ( pow_nat @ ( set_or4665077453230672383an_nat @ zero_zero_nat @ m ) ) )
            & ( ( finite_card_nat @ K )
              = l ) ) ) )
    @ ( suc
      @ ( finite_card_set_nat
        @ ( collect_set_nat
          @ ^ [K: set_nat] :
              ( ( member_set_nat @ K @ ( pow_nat @ ( set_or4665077453230672383an_nat @ zero_zero_nat @ m2 ) ) )
              & ( ( finite_card_nat @ K )
                = l ) ) ) ) ) ) ).

% calculation
thf(fact_4_card__atLeastLessThan,axiom,
    ! [L: nat,U: nat] :
      ( ( finite_card_nat @ ( set_or4665077453230672383an_nat @ L @ U ) )
      = ( minus_minus_nat @ U @ L ) ) ).

% card_atLeastLessThan
thf(fact_5_diff__Suc__1,axiom,
    ! [N: nat] :
      ( ( minus_minus_nat @ ( suc @ N ) @ one_one_nat )
      = N ) ).

% diff_Suc_1
thf(fact_6_diff__0__eq__0,axiom,
    ! [N: nat] :
      ( ( minus_minus_nat @ zero_zero_nat @ N )
      = zero_zero_nat ) ).

% diff_0_eq_0
thf(fact_7_diff__self__eq__0,axiom,
    ! [M: nat] :
      ( ( minus_minus_nat @ M @ M )
      = zero_zero_nat ) ).

% diff_self_eq_0
thf(fact_8_diff__Suc__Suc,axiom,
    ! [M: nat,N: nat] :
      ( ( minus_minus_nat @ ( suc @ M ) @ ( suc @ N ) )
      = ( minus_minus_nat @ M @ N ) ) ).

% diff_Suc_Suc
thf(fact_9_Suc__diff__diff,axiom,
    ! [M: nat,N: nat,K2: nat] :
      ( ( minus_minus_nat @ ( minus_minus_nat @ ( suc @ M ) @ N ) @ ( suc @ K2 ) )
      = ( minus_minus_nat @ ( minus_minus_nat @ M @ N ) @ K2 ) ) ).

% Suc_diff_diff
thf(fact_10_zero__diff,axiom,
    ! [A: nat] :
      ( ( minus_minus_nat @ zero_zero_nat @ A )
      = zero_zero_nat ) ).

% zero_diff
thf(fact_11_old_Onat_Oinject,axiom,
    ! [Nat: nat,Nat2: nat] :
      ( ( ( suc @ Nat )
        = ( suc @ Nat2 ) )
      = ( Nat = Nat2 ) ) ).

% old.nat.inject
thf(fact_12_nat_Oinject,axiom,
    ! [X2: nat,Y2: nat] :
      ( ( ( suc @ X2 )
        = ( suc @ Y2 ) )
      = ( X2 = Y2 ) ) ).

% nat.inject
thf(fact_13_mM,axiom,
    ord_less_nat @ m2 @ m ).

% mM
thf(fact_14_not__gr__zero,axiom,
    ! [N: nat] :
      ( ( ~ ( ord_less_nat @ zero_zero_nat @ N ) )
      = ( N = zero_zero_nat ) ) ).

% not_gr_zero
thf(fact_15_cancel__comm__monoid__add__class_Odiff__cancel,axiom,
    ! [A: nat] :
      ( ( minus_minus_nat @ A @ A )
      = zero_zero_nat ) ).

% cancel_comm_monoid_add_class.diff_cancel
thf(fact_16_diff__zero,axiom,
    ! [A: nat] :
      ( ( minus_minus_nat @ A @ zero_zero_nat )
      = A ) ).

% diff_zero
thf(fact_17_Suc__less__eq,axiom,
    ! [M: nat,N: nat] :
      ( ( ord_less_nat @ ( suc @ M ) @ ( suc @ N ) )
      = ( ord_less_nat @ M @ N ) ) ).

% Suc_less_eq
thf(fact_18_Suc__mono,axiom,
    ! [M: nat,N: nat] :
      ( ( ord_less_nat @ M @ N )
     => ( ord_less_nat @ ( suc @ M ) @ ( suc @ N ) ) ) ).

% Suc_mono
thf(fact_19_lessI,axiom,
    ! [N: nat] : ( ord_less_nat @ N @ ( suc @ N ) ) ).

% lessI
thf(fact_20_less__nat__zero__code,axiom,
    ! [N: nat] :
      ~ ( ord_less_nat @ N @ zero_zero_nat ) ).

% less_nat_zero_code
thf(fact_21_neq0__conv,axiom,
    ! [N: nat] :
      ( ( N != zero_zero_nat )
      = ( ord_less_nat @ zero_zero_nat @ N ) ) ).

% neq0_conv
thf(fact_22_bot__nat__0_Onot__eq__extremum,axiom,
    ! [A: nat] :
      ( ( A != zero_zero_nat )
      = ( ord_less_nat @ zero_zero_nat @ A ) ) ).

% bot_nat_0.not_eq_extremum
thf(fact_23_zero__less__Suc,axiom,
    ! [N: nat] : ( ord_less_nat @ zero_zero_nat @ ( suc @ N ) ) ).

% zero_less_Suc
thf(fact_24_less__Suc0,axiom,
    ! [N: nat] :
      ( ( ord_less_nat @ N @ ( suc @ zero_zero_nat ) )
      = ( N = zero_zero_nat ) ) ).

% less_Suc0
thf(fact_25_zero__less__diff,axiom,
    ! [N: nat,M: nat] :
      ( ( ord_less_nat @ zero_zero_nat @ ( minus_minus_nat @ N @ M ) )
      = ( ord_less_nat @ M @ N ) ) ).

% zero_less_diff
thf(fact_26_less__one,axiom,
    ! [N: nat] :
      ( ( ord_less_nat @ N @ one_one_nat )
      = ( N = zero_zero_nat ) ) ).

% less_one
thf(fact_27_Suc__pred,axiom,
    ! [N: nat] :
      ( ( ord_less_nat @ zero_zero_nat @ N )
     => ( ( suc @ ( minus_minus_nat @ N @ ( suc @ zero_zero_nat ) ) )
        = N ) ) ).

% Suc_pred
thf(fact_28_Suc__diff__1,axiom,
    ! [N: nat] :
      ( ( ord_less_nat @ zero_zero_nat @ N )
     => ( ( suc @ ( minus_minus_nat @ N @ one_one_nat ) )
        = N ) ) ).

% Suc_diff_1
thf(fact_29_n0,axiom,
    ( ( binomial @ n @ l )
   != zero_zero_nat ) ).

% n0
thf(fact_30_assms_I1_J,axiom,
    ( ( binomial @ n @ l )
    = ( binomial @ k @ l ) ) ).

% assms(1)
thf(fact_31_lift__Suc__mono__less,axiom,
    ! [F: nat > set_nat,N: nat,N2: nat] :
      ( ! [N3: nat] : ( ord_less_set_nat @ ( F @ N3 ) @ ( F @ ( suc @ N3 ) ) )
     => ( ( ord_less_nat @ N @ N2 )
       => ( ord_less_set_nat @ ( F @ N ) @ ( F @ N2 ) ) ) ) ).

% lift_Suc_mono_less
thf(fact_32_lift__Suc__mono__less,axiom,
    ! [F: nat > set_set_nat,N: nat,N2: nat] :
      ( ! [N3: nat] : ( ord_less_set_set_nat @ ( F @ N3 ) @ ( F @ ( suc @ N3 ) ) )
     => ( ( ord_less_nat @ N @ N2 )
       => ( ord_less_set_set_nat @ ( F @ N ) @ ( F @ N2 ) ) ) ) ).

% lift_Suc_mono_less
thf(fact_33_lift__Suc__mono__less,axiom,
    ! [F: nat > nat > $o,N: nat,N2: nat] :
      ( ! [N3: nat] : ( ord_less_nat_o @ ( F @ N3 ) @ ( F @ ( suc @ N3 ) ) )
     => ( ( ord_less_nat @ N @ N2 )
       => ( ord_less_nat_o @ ( F @ N ) @ ( F @ N2 ) ) ) ) ).

% lift_Suc_mono_less
thf(fact_34_lift__Suc__mono__less,axiom,
    ! [F: nat > set_nat > $o,N: nat,N2: nat] :
      ( ! [N3: nat] : ( ord_less_set_nat_o @ ( F @ N3 ) @ ( F @ ( suc @ N3 ) ) )
     => ( ( ord_less_nat @ N @ N2 )
       => ( ord_less_set_nat_o @ ( F @ N ) @ ( F @ N2 ) ) ) ) ).

% lift_Suc_mono_less
thf(fact_35_lift__Suc__mono__less,axiom,
    ! [F: nat > nat,N: nat,N2: nat] :
      ( ! [N3: nat] : ( ord_less_nat @ ( F @ N3 ) @ ( F @ ( suc @ N3 ) ) )
     => ( ( ord_less_nat @ N @ N2 )
       => ( ord_less_nat @ ( F @ N ) @ ( F @ N2 ) ) ) ) ).

% lift_Suc_mono_less
thf(fact_36_lift__Suc__mono__less__iff,axiom,
    ! [F: nat > set_nat,N: nat,M: nat] :
      ( ! [N3: nat] : ( ord_less_set_nat @ ( F @ N3 ) @ ( F @ ( suc @ N3 ) ) )
     => ( ( ord_less_set_nat @ ( F @ N ) @ ( F @ M ) )
        = ( ord_less_nat @ N @ M ) ) ) ).

% lift_Suc_mono_less_iff
thf(fact_37_lift__Suc__mono__less__iff,axiom,
    ! [F: nat > set_set_nat,N: nat,M: nat] :
      ( ! [N3: nat] : ( ord_less_set_set_nat @ ( F @ N3 ) @ ( F @ ( suc @ N3 ) ) )
     => ( ( ord_less_set_set_nat @ ( F @ N ) @ ( F @ M ) )
        = ( ord_less_nat @ N @ M ) ) ) ).

% lift_Suc_mono_less_iff
thf(fact_38_lift__Suc__mono__less__iff,axiom,
    ! [F: nat > nat > $o,N: nat,M: nat] :
      ( ! [N3: nat] : ( ord_less_nat_o @ ( F @ N3 ) @ ( F @ ( suc @ N3 ) ) )
     => ( ( ord_less_nat_o @ ( F @ N ) @ ( F @ M ) )
        = ( ord_less_nat @ N @ M ) ) ) ).

% lift_Suc_mono_less_iff
thf(fact_39_lift__Suc__mono__less__iff,axiom,
    ! [F: nat > set_nat > $o,N: nat,M: nat] :
      ( ! [N3: nat] : ( ord_less_set_nat_o @ ( F @ N3 ) @ ( F @ ( suc @ N3 ) ) )
     => ( ( ord_less_set_nat_o @ ( F @ N ) @ ( F @ M ) )
        = ( ord_less_nat @ N @ M ) ) ) ).

% lift_Suc_mono_less_iff
thf(fact_40_lift__Suc__mono__less__iff,axiom,
    ! [F: nat > nat,N: nat,M: nat] :
      ( ! [N3: nat] : ( ord_less_nat @ ( F @ N3 ) @ ( F @ ( suc @ N3 ) ) )
     => ( ( ord_less_nat @ ( F @ N ) @ ( F @ M ) )
        = ( ord_less_nat @ N @ M ) ) ) ).

% lift_Suc_mono_less_iff
thf(fact_41_nat__neq__iff,axiom,
    ! [M: nat,N: nat] :
      ( ( M != N )
      = ( ( ord_less_nat @ M @ N )
        | ( ord_less_nat @ N @ M ) ) ) ).

% nat_neq_iff
thf(fact_42_less__not__refl,axiom,
    ! [N: nat] :
      ~ ( ord_less_nat @ N @ N ) ).

% less_not_refl
thf(fact_43_less__not__refl2,axiom,
    ! [N: nat,M: nat] :
      ( ( ord_less_nat @ N @ M )
     => ( M != N ) ) ).

% less_not_refl2
thf(fact_44_less__not__refl3,axiom,
    ! [S: nat,T: nat] :
      ( ( ord_less_nat @ S @ T )
     => ( S != T ) ) ).

% less_not_refl3
thf(fact_45_mem__Collect__eq,axiom,
    ! [A: set_set_nat,P: set_set_nat > $o] :
      ( ( member_set_set_nat @ A @ ( collect_set_set_nat @ P ) )
      = ( P @ A ) ) ).

% mem_Collect_eq
thf(fact_46_mem__Collect__eq,axiom,
    ! [A: set_nat,P: set_nat > $o] :
      ( ( member_set_nat @ A @ ( collect_set_nat @ P ) )
      = ( P @ A ) ) ).

% mem_Collect_eq
thf(fact_47_mem__Collect__eq,axiom,
    ! [A: nat,P: nat > $o] :
      ( ( member_nat @ A @ ( collect_nat @ P ) )
      = ( P @ A ) ) ).

% mem_Collect_eq
thf(fact_48_Collect__mem__eq,axiom,
    ! [A2: set_set_set_nat] :
      ( ( collect_set_set_nat
        @ ^ [X: set_set_nat] : ( member_set_set_nat @ X @ A2 ) )
      = A2 ) ).

% Collect_mem_eq
thf(fact_49_Collect__mem__eq,axiom,
    ! [A2: set_set_nat] :
      ( ( collect_set_nat
        @ ^ [X: set_nat] : ( member_set_nat @ X @ A2 ) )
      = A2 ) ).

% Collect_mem_eq
thf(fact_50_Collect__mem__eq,axiom,
    ! [A2: set_nat] :
      ( ( collect_nat
        @ ^ [X: nat] : ( member_nat @ X @ A2 ) )
      = A2 ) ).

% Collect_mem_eq
thf(fact_51_Collect__cong,axiom,
    ! [P: set_nat > $o,Q: set_nat > $o] :
      ( ! [X3: set_nat] :
          ( ( P @ X3 )
          = ( Q @ X3 ) )
     => ( ( collect_set_nat @ P )
        = ( collect_set_nat @ Q ) ) ) ).

% Collect_cong
thf(fact_52_Collect__cong,axiom,
    ! [P: nat > $o,Q: nat > $o] :
      ( ! [X3: nat] :
          ( ( P @ X3 )
          = ( Q @ X3 ) )
     => ( ( collect_nat @ P )
        = ( collect_nat @ Q ) ) ) ).

% Collect_cong
thf(fact_53_less__irrefl__nat,axiom,
    ! [N: nat] :
      ~ ( ord_less_nat @ N @ N ) ).

% less_irrefl_nat
thf(fact_54_nat__less__induct,axiom,
    ! [P: nat > $o,N: nat] :
      ( ! [N3: nat] :
          ( ! [M2: nat] :
              ( ( ord_less_nat @ M2 @ N3 )
             => ( P @ M2 ) )
         => ( P @ N3 ) )
     => ( P @ N ) ) ).

% nat_less_induct
thf(fact_55_infinite__descent,axiom,
    ! [P: nat > $o,N: nat] :
      ( ! [N3: nat] :
          ( ~ ( P @ N3 )
         => ? [M2: nat] :
              ( ( ord_less_nat @ M2 @ N3 )
              & ~ ( P @ M2 ) ) )
     => ( P @ N ) ) ).

% infinite_descent
thf(fact_56_linorder__neqE__nat,axiom,
    ! [X4: nat,Y: nat] :
      ( ( X4 != Y )
     => ( ~ ( ord_less_nat @ X4 @ Y )
       => ( ord_less_nat @ Y @ X4 ) ) ) ).

% linorder_neqE_nat
thf(fact_57_zero__less__iff__neq__zero,axiom,
    ! [N: nat] :
      ( ( ord_less_nat @ zero_zero_nat @ N )
      = ( N != zero_zero_nat ) ) ).

% zero_less_iff_neq_zero
thf(fact_58_gr__implies__not__zero,axiom,
    ! [M: nat,N: nat] :
      ( ( ord_less_nat @ M @ N )
     => ( N != zero_zero_nat ) ) ).

% gr_implies_not_zero
thf(fact_59_not__less__zero,axiom,
    ! [N: nat] :
      ~ ( ord_less_nat @ N @ zero_zero_nat ) ).

% not_less_zero
thf(fact_60_gr__zeroI,axiom,
    ! [N: nat] :
      ( ( N != zero_zero_nat )
     => ( ord_less_nat @ zero_zero_nat @ N ) ) ).

% gr_zeroI
thf(fact_61_less__numeral__extra_I3_J,axiom,
    ~ ( ord_less_nat @ zero_zero_nat @ zero_zero_nat ) ).

% less_numeral_extra(3)
thf(fact_62_less__numeral__extra_I4_J,axiom,
    ~ ( ord_less_nat @ one_one_nat @ one_one_nat ) ).

% less_numeral_extra(4)
thf(fact_63_not__less__less__Suc__eq,axiom,
    ! [N: nat,M: nat] :
      ( ~ ( ord_less_nat @ N @ M )
     => ( ( ord_less_nat @ N @ ( suc @ M ) )
        = ( N = M ) ) ) ).

% not_less_less_Suc_eq
thf(fact_64_strict__inc__induct,axiom,
    ! [I: nat,J: nat,P: nat > $o] :
      ( ( ord_less_nat @ I @ J )
     => ( ! [I2: nat] :
            ( ( J
              = ( suc @ I2 ) )
           => ( P @ I2 ) )
       => ( ! [I2: nat] :
              ( ( ord_less_nat @ I2 @ J )
             => ( ( P @ ( suc @ I2 ) )
               => ( P @ I2 ) ) )
         => ( P @ I ) ) ) ) ).

% strict_inc_induct
thf(fact_65_less__Suc__induct,axiom,
    ! [I: nat,J: nat,P: nat > nat > $o] :
      ( ( ord_less_nat @ I @ J )
     => ( ! [I2: nat] : ( P @ I2 @ ( suc @ I2 ) )
       => ( ! [I2: nat,J2: nat,K3: nat] :
              ( ( ord_less_nat @ I2 @ J2 )
             => ( ( ord_less_nat @ J2 @ K3 )
               => ( ( P @ I2 @ J2 )
                 => ( ( P @ J2 @ K3 )
                   => ( P @ I2 @ K3 ) ) ) ) )
         => ( P @ I @ J ) ) ) ) ).

% less_Suc_induct
thf(fact_66_less__trans__Suc,axiom,
    ! [I: nat,J: nat,K2: nat] :
      ( ( ord_less_nat @ I @ J )
     => ( ( ord_less_nat @ J @ K2 )
       => ( ord_less_nat @ ( suc @ I ) @ K2 ) ) ) ).

% less_trans_Suc
thf(fact_67_Suc__less__SucD,axiom,
    ! [M: nat,N: nat] :
      ( ( ord_less_nat @ ( suc @ M ) @ ( suc @ N ) )
     => ( ord_less_nat @ M @ N ) ) ).

% Suc_less_SucD
thf(fact_68_less__antisym,axiom,
    ! [N: nat,M: nat] :
      ( ~ ( ord_less_nat @ N @ M )
     => ( ( ord_less_nat @ N @ ( suc @ M ) )
       => ( M = N ) ) ) ).

% less_antisym
thf(fact_69_Suc__less__eq2,axiom,
    ! [N: nat,M: nat] :
      ( ( ord_less_nat @ ( suc @ N ) @ M )
      = ( ? [M3: nat] :
            ( ( M
              = ( suc @ M3 ) )
            & ( ord_less_nat @ N @ M3 ) ) ) ) ).

% Suc_less_eq2
thf(fact_70_All__less__Suc,axiom,
    ! [N: nat,P: nat > $o] :
      ( ( ! [I3: nat] :
            ( ( ord_less_nat @ I3 @ ( suc @ N ) )
           => ( P @ I3 ) ) )
      = ( ( P @ N )
        & ! [I3: nat] :
            ( ( ord_less_nat @ I3 @ N )
           => ( P @ I3 ) ) ) ) ).

% All_less_Suc
thf(fact_71_not__less__eq,axiom,
    ! [M: nat,N: nat] :
      ( ( ~ ( ord_less_nat @ M @ N ) )
      = ( ord_less_nat @ N @ ( suc @ M ) ) ) ).

% not_less_eq
thf(fact_72_less__Suc__eq,axiom,
    ! [M: nat,N: nat] :
      ( ( ord_less_nat @ M @ ( suc @ N ) )
      = ( ( ord_less_nat @ M @ N )
        | ( M = N ) ) ) ).

% less_Suc_eq
thf(fact_73_Ex__less__Suc,axiom,
    ! [N: nat,P: nat > $o] :
      ( ( ? [I3: nat] :
            ( ( ord_less_nat @ I3 @ ( suc @ N ) )
            & ( P @ I3 ) ) )
      = ( ( P @ N )
        | ? [I3: nat] :
            ( ( ord_less_nat @ I3 @ N )
            & ( P @ I3 ) ) ) ) ).

% Ex_less_Suc
thf(fact_74_less__SucI,axiom,
    ! [M: nat,N: nat] :
      ( ( ord_less_nat @ M @ N )
     => ( ord_less_nat @ M @ ( suc @ N ) ) ) ).

% less_SucI
thf(fact_75_less__SucE,axiom,
    ! [M: nat,N: nat] :
      ( ( ord_less_nat @ M @ ( suc @ N ) )
     => ( ~ ( ord_less_nat @ M @ N )
       => ( M = N ) ) ) ).

% less_SucE
thf(fact_76_Suc__lessI,axiom,
    ! [M: nat,N: nat] :
      ( ( ord_less_nat @ M @ N )
     => ( ( ( suc @ M )
         != N )
       => ( ord_less_nat @ ( suc @ M ) @ N ) ) ) ).

% Suc_lessI
thf(fact_77_Suc__lessE,axiom,
    ! [I: nat,K2: nat] :
      ( ( ord_less_nat @ ( suc @ I ) @ K2 )
     => ~ ! [J2: nat] :
            ( ( ord_less_nat @ I @ J2 )
           => ( K2
             != ( suc @ J2 ) ) ) ) ).

% Suc_lessE
thf(fact_78_Suc__lessD,axiom,
    ! [M: nat,N: nat] :
      ( ( ord_less_nat @ ( suc @ M ) @ N )
     => ( ord_less_nat @ M @ N ) ) ).

% Suc_lessD
thf(fact_79_Nat_OlessE,axiom,
    ! [I: nat,K2: nat] :
      ( ( ord_less_nat @ I @ K2 )
     => ( ( K2
         != ( suc @ I ) )
       => ~ ! [J2: nat] :
              ( ( ord_less_nat @ I @ J2 )
             => ( K2
               != ( suc @ J2 ) ) ) ) ) ).

% Nat.lessE
thf(fact_80_infinite__descent0,axiom,
    ! [P: nat > $o,N: nat] :
      ( ( P @ zero_zero_nat )
     => ( ! [N3: nat] :
            ( ( ord_less_nat @ zero_zero_nat @ N3 )
           => ( ~ ( P @ N3 )
             => ? [M2: nat] :
                  ( ( ord_less_nat @ M2 @ N3 )
                  & ~ ( P @ M2 ) ) ) )
       => ( P @ N ) ) ) ).

% infinite_descent0
thf(fact_81_gr__implies__not0,axiom,
    ! [M: nat,N: nat] :
      ( ( ord_less_nat @ M @ N )
     => ( N != zero_zero_nat ) ) ).

% gr_implies_not0
thf(fact_82_less__zeroE,axiom,
    ! [N: nat] :
      ~ ( ord_less_nat @ N @ zero_zero_nat ) ).

% less_zeroE
thf(fact_83_not__less0,axiom,
    ! [N: nat] :
      ~ ( ord_less_nat @ N @ zero_zero_nat ) ).

% not_less0
thf(fact_84_not__gr0,axiom,
    ! [N: nat] :
      ( ( ~ ( ord_less_nat @ zero_zero_nat @ N ) )
      = ( N = zero_zero_nat ) ) ).

% not_gr0
thf(fact_85_gr0I,axiom,
    ! [N: nat] :
      ( ( N != zero_zero_nat )
     => ( ord_less_nat @ zero_zero_nat @ N ) ) ).

% gr0I
thf(fact_86_bot__nat__0_Oextremum__strict,axiom,
    ! [A: nat] :
      ~ ( ord_less_nat @ A @ zero_zero_nat ) ).

% bot_nat_0.extremum_strict
thf(fact_87_less__imp__diff__less,axiom,
    ! [J: nat,K2: nat,N: nat] :
      ( ( ord_less_nat @ J @ K2 )
     => ( ord_less_nat @ ( minus_minus_nat @ J @ N ) @ K2 ) ) ).

% less_imp_diff_less
thf(fact_88_diff__less__mono2,axiom,
    ! [M: nat,N: nat,L: nat] :
      ( ( ord_less_nat @ M @ N )
     => ( ( ord_less_nat @ M @ L )
       => ( ord_less_nat @ ( minus_minus_nat @ L @ N ) @ ( minus_minus_nat @ L @ M ) ) ) ) ).

% diff_less_mono2
thf(fact_89_atLeastLessThan__eq__iff,axiom,
    ! [A: nat,B: nat,C: nat,D: nat] :
      ( ( ord_less_nat @ A @ B )
     => ( ( ord_less_nat @ C @ D )
       => ( ( ( set_or4665077453230672383an_nat @ A @ B )
            = ( set_or4665077453230672383an_nat @ C @ D ) )
          = ( ( A = C )
            & ( B = D ) ) ) ) ) ).

% atLeastLessThan_eq_iff
thf(fact_90_Ico__eq__Ico,axiom,
    ! [L: nat,H: nat,L2: nat,H2: nat] :
      ( ( ( set_or4665077453230672383an_nat @ L @ H )
        = ( set_or4665077453230672383an_nat @ L2 @ H2 ) )
      = ( ( ( L = L2 )
          & ( H = H2 ) )
        | ( ~ ( ord_less_nat @ L @ H )
          & ~ ( ord_less_nat @ L2 @ H2 ) ) ) ) ).

% Ico_eq_Ico
thf(fact_91_atLeastLessThan__inj_I1_J,axiom,
    ! [A: nat,B: nat,C: nat,D: nat] :
      ( ( ( set_or4665077453230672383an_nat @ A @ B )
        = ( set_or4665077453230672383an_nat @ C @ D ) )
     => ( ( ord_less_nat @ A @ B )
       => ( ( ord_less_nat @ C @ D )
         => ( A = C ) ) ) ) ).

% atLeastLessThan_inj(1)
thf(fact_92_atLeastLessThan__inj_I2_J,axiom,
    ! [A: nat,B: nat,C: nat,D: nat] :
      ( ( ( set_or4665077453230672383an_nat @ A @ B )
        = ( set_or4665077453230672383an_nat @ C @ D ) )
     => ( ( ord_less_nat @ A @ B )
       => ( ( ord_less_nat @ C @ D )
         => ( B = D ) ) ) ) ).

% atLeastLessThan_inj(2)
thf(fact_93_less__numeral__extra_I1_J,axiom,
    ord_less_nat @ zero_zero_nat @ one_one_nat ).

% less_numeral_extra(1)
thf(fact_94_less__Suc__eq__0__disj,axiom,
    ! [M: nat,N: nat] :
      ( ( ord_less_nat @ M @ ( suc @ N ) )
      = ( ( M = zero_zero_nat )
        | ? [J3: nat] :
            ( ( M
              = ( suc @ J3 ) )
            & ( ord_less_nat @ J3 @ N ) ) ) ) ).

% less_Suc_eq_0_disj
thf(fact_95_gr0__implies__Suc,axiom,
    ! [N: nat] :
      ( ( ord_less_nat @ zero_zero_nat @ N )
     => ? [M4: nat] :
          ( N
          = ( suc @ M4 ) ) ) ).

% gr0_implies_Suc
thf(fact_96_All__less__Suc2,axiom,
    ! [N: nat,P: nat > $o] :
      ( ( ! [I3: nat] :
            ( ( ord_less_nat @ I3 @ ( suc @ N ) )
           => ( P @ I3 ) ) )
      = ( ( P @ zero_zero_nat )
        & ! [I3: nat] :
            ( ( ord_less_nat @ I3 @ N )
           => ( P @ ( suc @ I3 ) ) ) ) ) ).

% All_less_Suc2
thf(fact_97_gr0__conv__Suc,axiom,
    ! [N: nat] :
      ( ( ord_less_nat @ zero_zero_nat @ N )
      = ( ? [M5: nat] :
            ( N
            = ( suc @ M5 ) ) ) ) ).

% gr0_conv_Suc
thf(fact_98_Ex__less__Suc2,axiom,
    ! [N: nat,P: nat > $o] :
      ( ( ? [I3: nat] :
            ( ( ord_less_nat @ I3 @ ( suc @ N ) )
            & ( P @ I3 ) ) )
      = ( ( P @ zero_zero_nat )
        | ? [I3: nat] :
            ( ( ord_less_nat @ I3 @ N )
            & ( P @ ( suc @ I3 ) ) ) ) ) ).

% Ex_less_Suc2
thf(fact_99_diff__less__Suc,axiom,
    ! [M: nat,N: nat] : ( ord_less_nat @ ( minus_minus_nat @ M @ N ) @ ( suc @ M ) ) ).

% diff_less_Suc
thf(fact_100_Suc__diff__Suc,axiom,
    ! [N: nat,M: nat] :
      ( ( ord_less_nat @ N @ M )
     => ( ( suc @ ( minus_minus_nat @ M @ ( suc @ N ) ) )
        = ( minus_minus_nat @ M @ N ) ) ) ).

% Suc_diff_Suc
thf(fact_101_diff__less,axiom,
    ! [N: nat,M: nat] :
      ( ( ord_less_nat @ zero_zero_nat @ N )
     => ( ( ord_less_nat @ zero_zero_nat @ M )
       => ( ord_less_nat @ ( minus_minus_nat @ M @ N ) @ M ) ) ) ).

% diff_less
thf(fact_102_diff__Suc__less,axiom,
    ! [N: nat,I: nat] :
      ( ( ord_less_nat @ zero_zero_nat @ N )
     => ( ord_less_nat @ ( minus_minus_nat @ N @ ( suc @ I ) ) @ N ) ) ).

% diff_Suc_less
thf(fact_103_nat__induct__non__zero,axiom,
    ! [N: nat,P: nat > $o] :
      ( ( ord_less_nat @ zero_zero_nat @ N )
     => ( ( P @ one_one_nat )
       => ( ! [N3: nat] :
              ( ( ord_less_nat @ zero_zero_nat @ N3 )
             => ( ( P @ N3 )
               => ( P @ ( suc @ N3 ) ) ) )
         => ( P @ N ) ) ) ) ).

% nat_induct_non_zero
thf(fact_104_card__less__Suc2,axiom,
    ! [M6: set_nat,I: nat] :
      ( ~ ( member_nat @ zero_zero_nat @ M6 )
     => ( ( finite_card_nat
          @ ( collect_nat
            @ ^ [K4: nat] :
                ( ( member_nat @ ( suc @ K4 ) @ M6 )
                & ( ord_less_nat @ K4 @ I ) ) ) )
        = ( finite_card_nat
          @ ( collect_nat
            @ ^ [K4: nat] :
                ( ( member_nat @ K4 @ M6 )
                & ( ord_less_nat @ K4 @ ( suc @ I ) ) ) ) ) ) ) ).

% card_less_Suc2
thf(fact_105_card__less__Suc,axiom,
    ! [M6: set_nat,I: nat] :
      ( ( member_nat @ zero_zero_nat @ M6 )
     => ( ( suc
          @ ( finite_card_nat
            @ ( collect_nat
              @ ^ [K4: nat] :
                  ( ( member_nat @ ( suc @ K4 ) @ M6 )
                  & ( ord_less_nat @ K4 @ I ) ) ) ) )
        = ( finite_card_nat
          @ ( collect_nat
            @ ^ [K4: nat] :
                ( ( member_nat @ K4 @ M6 )
                & ( ord_less_nat @ K4 @ ( suc @ I ) ) ) ) ) ) ) ).

% card_less_Suc
thf(fact_106_card__less,axiom,
    ! [M6: set_nat,I: nat] :
      ( ( member_nat @ zero_zero_nat @ M6 )
     => ( ( finite_card_nat
          @ ( collect_nat
            @ ^ [K4: nat] :
                ( ( member_nat @ K4 @ M6 )
                & ( ord_less_nat @ K4 @ ( suc @ I ) ) ) ) )
       != zero_zero_nat ) ) ).

% card_less
thf(fact_107_Suc__diff__eq__diff__pred,axiom,
    ! [N: nat,M: nat] :
      ( ( ord_less_nat @ zero_zero_nat @ N )
     => ( ( minus_minus_nat @ ( suc @ M ) @ N )
        = ( minus_minus_nat @ M @ ( minus_minus_nat @ N @ one_one_nat ) ) ) ) ).

% Suc_diff_eq_diff_pred
thf(fact_108_Suc__pred_H,axiom,
    ! [N: nat] :
      ( ( ord_less_nat @ zero_zero_nat @ N )
     => ( N
        = ( suc @ ( minus_minus_nat @ N @ one_one_nat ) ) ) ) ).

% Suc_pred'
thf(fact_109_zero__reorient,axiom,
    ! [X4: nat] :
      ( ( zero_zero_nat = X4 )
      = ( X4 = zero_zero_nat ) ) ).

% zero_reorient
thf(fact_110_one__reorient,axiom,
    ! [X4: nat] :
      ( ( one_one_nat = X4 )
      = ( X4 = one_one_nat ) ) ).

% one_reorient
thf(fact_111_diff__right__commute,axiom,
    ! [A: nat,C: nat,B: nat] :
      ( ( minus_minus_nat @ ( minus_minus_nat @ A @ C ) @ B )
      = ( minus_minus_nat @ ( minus_minus_nat @ A @ B ) @ C ) ) ).

% diff_right_commute
thf(fact_112_n__not__Suc__n,axiom,
    ! [N: nat] :
      ( N
     != ( suc @ N ) ) ).

% n_not_Suc_n
thf(fact_113_Suc__inject,axiom,
    ! [X4: nat,Y: nat] :
      ( ( ( suc @ X4 )
        = ( suc @ Y ) )
     => ( X4 = Y ) ) ).

% Suc_inject
thf(fact_114_diff__commute,axiom,
    ! [I: nat,J: nat,K2: nat] :
      ( ( minus_minus_nat @ ( minus_minus_nat @ I @ J ) @ K2 )
      = ( minus_minus_nat @ ( minus_minus_nat @ I @ K2 ) @ J ) ) ).

% diff_commute
thf(fact_115_not0__implies__Suc,axiom,
    ! [N: nat] :
      ( ( N != zero_zero_nat )
     => ? [M4: nat] :
          ( N
          = ( suc @ M4 ) ) ) ).

% not0_implies_Suc
thf(fact_116_Zero__not__Suc,axiom,
    ! [M: nat] :
      ( zero_zero_nat
     != ( suc @ M ) ) ).

% Zero_not_Suc
thf(fact_117_Zero__neq__Suc,axiom,
    ! [M: nat] :
      ( zero_zero_nat
     != ( suc @ M ) ) ).

% Zero_neq_Suc
thf(fact_118_Suc__neq__Zero,axiom,
    ! [M: nat] :
      ( ( suc @ M )
     != zero_zero_nat ) ).

% Suc_neq_Zero
thf(fact_119_zero__induct,axiom,
    ! [P: nat > $o,K2: nat] :
      ( ( P @ K2 )
     => ( ! [N3: nat] :
            ( ( P @ ( suc @ N3 ) )
           => ( P @ N3 ) )
       => ( P @ zero_zero_nat ) ) ) ).

% zero_induct
thf(fact_120_diff__induct,axiom,
    ! [P: nat > nat > $o,M: nat,N: nat] :
      ( ! [X3: nat] : ( P @ X3 @ zero_zero_nat )
     => ( ! [Y3: nat] : ( P @ zero_zero_nat @ ( suc @ Y3 ) )
       => ( ! [X3: nat,Y3: nat] :
              ( ( P @ X3 @ Y3 )
             => ( P @ ( suc @ X3 ) @ ( suc @ Y3 ) ) )
         => ( P @ M @ N ) ) ) ) ).

% diff_induct
thf(fact_121_nat__induct,axiom,
    ! [P: nat > $o,N: nat] :
      ( ( P @ zero_zero_nat )
     => ( ! [N3: nat] :
            ( ( P @ N3 )
           => ( P @ ( suc @ N3 ) ) )
       => ( P @ N ) ) ) ).

% nat_induct
thf(fact_122_old_Onat_Oexhaust,axiom,
    ! [Y: nat] :
      ( ( Y != zero_zero_nat )
     => ~ ! [Nat3: nat] :
            ( Y
           != ( suc @ Nat3 ) ) ) ).

% old.nat.exhaust
thf(fact_123_nat_OdiscI,axiom,
    ! [Nat: nat,X2: nat] :
      ( ( Nat
        = ( suc @ X2 ) )
     => ( Nat != zero_zero_nat ) ) ).

% nat.discI
thf(fact_124_old_Onat_Odistinct_I1_J,axiom,
    ! [Nat2: nat] :
      ( zero_zero_nat
     != ( suc @ Nat2 ) ) ).

% old.nat.distinct(1)
thf(fact_125_old_Onat_Odistinct_I2_J,axiom,
    ! [Nat2: nat] :
      ( ( suc @ Nat2 )
     != zero_zero_nat ) ).

% old.nat.distinct(2)
thf(fact_126_nat_Odistinct_I1_J,axiom,
    ! [X2: nat] :
      ( zero_zero_nat
     != ( suc @ X2 ) ) ).

% nat.distinct(1)
thf(fact_127_zero__induct__lemma,axiom,
    ! [P: nat > $o,K2: nat,I: nat] :
      ( ( P @ K2 )
     => ( ! [N3: nat] :
            ( ( P @ ( suc @ N3 ) )
           => ( P @ N3 ) )
       => ( P @ ( minus_minus_nat @ K2 @ I ) ) ) ) ).

% zero_induct_lemma
thf(fact_128_diffs0__imp__equal,axiom,
    ! [M: nat,N: nat] :
      ( ( ( minus_minus_nat @ M @ N )
        = zero_zero_nat )
     => ( ( ( minus_minus_nat @ N @ M )
          = zero_zero_nat )
       => ( M = N ) ) ) ).

% diffs0_imp_equal
thf(fact_129_minus__nat_Odiff__0,axiom,
    ! [M: nat] :
      ( ( minus_minus_nat @ M @ zero_zero_nat )
      = M ) ).

% minus_nat.diff_0
thf(fact_130_One__nat__def,axiom,
    ( one_one_nat
    = ( suc @ zero_zero_nat ) ) ).

% One_nat_def
thf(fact_131_diff__Suc__eq__diff__pred,axiom,
    ! [M: nat,N: nat] :
      ( ( minus_minus_nat @ M @ ( suc @ N ) )
      = ( minus_minus_nat @ ( minus_minus_nat @ M @ one_one_nat ) @ N ) ) ).

% diff_Suc_eq_diff_pred
thf(fact_132_atLeast0__lessThan__Suc,axiom,
    ! [N: nat] :
      ( ( set_or4665077453230672383an_nat @ zero_zero_nat @ ( suc @ N ) )
      = ( insert_nat @ N @ ( set_or4665077453230672383an_nat @ zero_zero_nat @ N ) ) ) ).

% atLeast0_lessThan_Suc
thf(fact_133_card__Diff__insert,axiom,
    ! [A: set_set_nat,A2: set_set_set_nat,B2: set_set_set_nat] :
      ( ( member_set_set_nat @ A @ A2 )
     => ( ~ ( member_set_set_nat @ A @ B2 )
       => ( ( finite1149291290879098388et_nat @ ( minus_2447799839930672331et_nat @ A2 @ ( insert_set_set_nat @ A @ B2 ) ) )
          = ( minus_minus_nat @ ( finite1149291290879098388et_nat @ ( minus_2447799839930672331et_nat @ A2 @ B2 ) ) @ one_one_nat ) ) ) ) ).

% card_Diff_insert
thf(fact_134_card__Diff__insert,axiom,
    ! [A: set_nat,A2: set_set_nat,B2: set_set_nat] :
      ( ( member_set_nat @ A @ A2 )
     => ( ~ ( member_set_nat @ A @ B2 )
       => ( ( finite_card_set_nat @ ( minus_2163939370556025621et_nat @ A2 @ ( insert_set_nat @ A @ B2 ) ) )
          = ( minus_minus_nat @ ( finite_card_set_nat @ ( minus_2163939370556025621et_nat @ A2 @ B2 ) ) @ one_one_nat ) ) ) ) ).

% card_Diff_insert
thf(fact_135_card__Diff__insert,axiom,
    ! [A: nat,A2: set_nat,B2: set_nat] :
      ( ( member_nat @ A @ A2 )
     => ( ~ ( member_nat @ A @ B2 )
       => ( ( finite_card_nat @ ( minus_minus_set_nat @ A2 @ ( insert_nat @ A @ B2 ) ) )
          = ( minus_minus_nat @ ( finite_card_nat @ ( minus_minus_set_nat @ A2 @ B2 ) ) @ one_one_nat ) ) ) ) ).

% card_Diff_insert
thf(fact_136_card__Collect__less__nat,axiom,
    ! [N: nat] :
      ( ( finite_card_nat
        @ ( collect_nat
          @ ^ [I3: nat] : ( ord_less_nat @ I3 @ N ) ) )
      = N ) ).

% card_Collect_less_nat
thf(fact_137_m__def,axiom,
    ( m2
    = ( ord_min_nat @ n @ k ) ) ).

% m_def
thf(fact_138_M__def,axiom,
    ( m
    = ( ord_max_nat @ n @ k ) ) ).

% M_def
thf(fact_139_id,axiom,
    ( ( binomial @ m2 @ l )
    = ( binomial @ m @ l ) ) ).

% id
thf(fact_140_lM,axiom,
    ord_less_eq_nat @ l @ m ).

% lM
thf(fact_141_all__nat__less__eq,axiom,
    ! [N: nat,P: nat > $o] :
      ( ( ! [M5: nat] :
            ( ( ord_less_nat @ M5 @ N )
           => ( P @ M5 ) ) )
      = ( ! [X: nat] :
            ( ( member_nat @ X @ ( set_or4665077453230672383an_nat @ zero_zero_nat @ N ) )
           => ( P @ X ) ) ) ) ).

% all_nat_less_eq
thf(fact_142_ex__nat__less__eq,axiom,
    ! [N: nat,P: nat > $o] :
      ( ( ? [M5: nat] :
            ( ( ord_less_nat @ M5 @ N )
            & ( P @ M5 ) ) )
      = ( ? [X: nat] :
            ( ( member_nat @ X @ ( set_or4665077453230672383an_nat @ zero_zero_nat @ N ) )
            & ( P @ X ) ) ) ) ).

% ex_nat_less_eq
thf(fact_143_not__one__less__zero,axiom,
    ~ ( ord_less_nat @ one_one_nat @ zero_zero_nat ) ).

% not_one_less_zero
thf(fact_144_zero__less__one,axiom,
    ord_less_nat @ zero_zero_nat @ one_one_nat ).

% zero_less_one
thf(fact_145_insert__Diff1,axiom,
    ! [X4: set_set_nat,B2: set_set_set_nat,A2: set_set_set_nat] :
      ( ( member_set_set_nat @ X4 @ B2 )
     => ( ( minus_2447799839930672331et_nat @ ( insert_set_set_nat @ X4 @ A2 ) @ B2 )
        = ( minus_2447799839930672331et_nat @ A2 @ B2 ) ) ) ).

% insert_Diff1
thf(fact_146_insert__Diff1,axiom,
    ! [X4: set_nat,B2: set_set_nat,A2: set_set_nat] :
      ( ( member_set_nat @ X4 @ B2 )
     => ( ( minus_2163939370556025621et_nat @ ( insert_set_nat @ X4 @ A2 ) @ B2 )
        = ( minus_2163939370556025621et_nat @ A2 @ B2 ) ) ) ).

% insert_Diff1
thf(fact_147_insert__Diff1,axiom,
    ! [X4: nat,B2: set_nat,A2: set_nat] :
      ( ( member_nat @ X4 @ B2 )
     => ( ( minus_minus_set_nat @ ( insert_nat @ X4 @ A2 ) @ B2 )
        = ( minus_minus_set_nat @ A2 @ B2 ) ) ) ).

% insert_Diff1
thf(fact_148_Diff__insert0,axiom,
    ! [X4: set_set_nat,A2: set_set_set_nat,B2: set_set_set_nat] :
      ( ~ ( member_set_set_nat @ X4 @ A2 )
     => ( ( minus_2447799839930672331et_nat @ A2 @ ( insert_set_set_nat @ X4 @ B2 ) )
        = ( minus_2447799839930672331et_nat @ A2 @ B2 ) ) ) ).

% Diff_insert0
thf(fact_149_Diff__insert0,axiom,
    ! [X4: set_nat,A2: set_set_nat,B2: set_set_nat] :
      ( ~ ( member_set_nat @ X4 @ A2 )
     => ( ( minus_2163939370556025621et_nat @ A2 @ ( insert_set_nat @ X4 @ B2 ) )
        = ( minus_2163939370556025621et_nat @ A2 @ B2 ) ) ) ).

% Diff_insert0
thf(fact_150_Diff__insert0,axiom,
    ! [X4: nat,A2: set_nat,B2: set_nat] :
      ( ~ ( member_nat @ X4 @ A2 )
     => ( ( minus_minus_set_nat @ A2 @ ( insert_nat @ X4 @ B2 ) )
        = ( minus_minus_set_nat @ A2 @ B2 ) ) ) ).

% Diff_insert0
thf(fact_151_insertCI,axiom,
    ! [A: set_set_nat,B2: set_set_set_nat,B: set_set_nat] :
      ( ( ~ ( member_set_set_nat @ A @ B2 )
       => ( A = B ) )
     => ( member_set_set_nat @ A @ ( insert_set_set_nat @ B @ B2 ) ) ) ).

% insertCI
thf(fact_152_insertCI,axiom,
    ! [A: set_nat,B2: set_set_nat,B: set_nat] :
      ( ( ~ ( member_set_nat @ A @ B2 )
       => ( A = B ) )
     => ( member_set_nat @ A @ ( insert_set_nat @ B @ B2 ) ) ) ).

% insertCI
thf(fact_153_insertCI,axiom,
    ! [A: nat,B2: set_nat,B: nat] :
      ( ( ~ ( member_nat @ A @ B2 )
       => ( A = B ) )
     => ( member_nat @ A @ ( insert_nat @ B @ B2 ) ) ) ).

% insertCI
thf(fact_154_insert__iff,axiom,
    ! [A: set_set_nat,B: set_set_nat,A2: set_set_set_nat] :
      ( ( member_set_set_nat @ A @ ( insert_set_set_nat @ B @ A2 ) )
      = ( ( A = B )
        | ( member_set_set_nat @ A @ A2 ) ) ) ).

% insert_iff
thf(fact_155_insert__iff,axiom,
    ! [A: set_nat,B: set_nat,A2: set_set_nat] :
      ( ( member_set_nat @ A @ ( insert_set_nat @ B @ A2 ) )
      = ( ( A = B )
        | ( member_set_nat @ A @ A2 ) ) ) ).

% insert_iff
thf(fact_156_insert__iff,axiom,
    ! [A: nat,B: nat,A2: set_nat] :
      ( ( member_nat @ A @ ( insert_nat @ B @ A2 ) )
      = ( ( A = B )
        | ( member_nat @ A @ A2 ) ) ) ).

% insert_iff
thf(fact_157_insert__absorb2,axiom,
    ! [X4: set_nat,A2: set_set_nat] :
      ( ( insert_set_nat @ X4 @ ( insert_set_nat @ X4 @ A2 ) )
      = ( insert_set_nat @ X4 @ A2 ) ) ).

% insert_absorb2
thf(fact_158_insert__absorb2,axiom,
    ! [X4: nat,A2: set_nat] :
      ( ( insert_nat @ X4 @ ( insert_nat @ X4 @ A2 ) )
      = ( insert_nat @ X4 @ A2 ) ) ).

% insert_absorb2
thf(fact_159_DiffI,axiom,
    ! [C: set_set_nat,A2: set_set_set_nat,B2: set_set_set_nat] :
      ( ( member_set_set_nat @ C @ A2 )
     => ( ~ ( member_set_set_nat @ C @ B2 )
       => ( member_set_set_nat @ C @ ( minus_2447799839930672331et_nat @ A2 @ B2 ) ) ) ) ).

% DiffI
thf(fact_160_DiffI,axiom,
    ! [C: set_nat,A2: set_set_nat,B2: set_set_nat] :
      ( ( member_set_nat @ C @ A2 )
     => ( ~ ( member_set_nat @ C @ B2 )
       => ( member_set_nat @ C @ ( minus_2163939370556025621et_nat @ A2 @ B2 ) ) ) ) ).

% DiffI
thf(fact_161_DiffI,axiom,
    ! [C: nat,A2: set_nat,B2: set_nat] :
      ( ( member_nat @ C @ A2 )
     => ( ~ ( member_nat @ C @ B2 )
       => ( member_nat @ C @ ( minus_minus_set_nat @ A2 @ B2 ) ) ) ) ).

% DiffI
thf(fact_162_Diff__iff,axiom,
    ! [C: set_set_nat,A2: set_set_set_nat,B2: set_set_set_nat] :
      ( ( member_set_set_nat @ C @ ( minus_2447799839930672331et_nat @ A2 @ B2 ) )
      = ( ( member_set_set_nat @ C @ A2 )
        & ~ ( member_set_set_nat @ C @ B2 ) ) ) ).

% Diff_iff
thf(fact_163_Diff__iff,axiom,
    ! [C: set_nat,A2: set_set_nat,B2: set_set_nat] :
      ( ( member_set_nat @ C @ ( minus_2163939370556025621et_nat @ A2 @ B2 ) )
      = ( ( member_set_nat @ C @ A2 )
        & ~ ( member_set_nat @ C @ B2 ) ) ) ).

% Diff_iff
thf(fact_164_Diff__iff,axiom,
    ! [C: nat,A2: set_nat,B2: set_nat] :
      ( ( member_nat @ C @ ( minus_minus_set_nat @ A2 @ B2 ) )
      = ( ( member_nat @ C @ A2 )
        & ~ ( member_nat @ C @ B2 ) ) ) ).

% Diff_iff
thf(fact_165_Diff__idemp,axiom,
    ! [A2: set_nat,B2: set_nat] :
      ( ( minus_minus_set_nat @ ( minus_minus_set_nat @ A2 @ B2 ) @ B2 )
      = ( minus_minus_set_nat @ A2 @ B2 ) ) ).

% Diff_idemp
thf(fact_166_Diff__idemp,axiom,
    ! [A2: set_set_nat,B2: set_set_nat] :
      ( ( minus_2163939370556025621et_nat @ ( minus_2163939370556025621et_nat @ A2 @ B2 ) @ B2 )
      = ( minus_2163939370556025621et_nat @ A2 @ B2 ) ) ).

% Diff_idemp
thf(fact_167_le__zero__eq,axiom,
    ! [N: nat] :
      ( ( ord_less_eq_nat @ N @ zero_zero_nat )
      = ( N = zero_zero_nat ) ) ).

% le_zero_eq
thf(fact_168_ivl__subset,axiom,
    ! [I: nat,J: nat,M: nat,N: nat] :
      ( ( ord_less_eq_set_nat @ ( set_or4665077453230672383an_nat @ I @ J ) @ ( set_or4665077453230672383an_nat @ M @ N ) )
      = ( ( ord_less_eq_nat @ J @ I )
        | ( ( ord_less_eq_nat @ M @ I )
          & ( ord_less_eq_nat @ J @ N ) ) ) ) ).

% ivl_subset
thf(fact_169_Suc__le__mono,axiom,
    ! [N: nat,M: nat] :
      ( ( ord_less_eq_nat @ ( suc @ N ) @ ( suc @ M ) )
      = ( ord_less_eq_nat @ N @ M ) ) ).

% Suc_le_mono
thf(fact_170_bot__nat__0_Oextremum,axiom,
    ! [A: nat] : ( ord_less_eq_nat @ zero_zero_nat @ A ) ).

% bot_nat_0.extremum
thf(fact_171_le0,axiom,
    ! [N: nat] : ( ord_less_eq_nat @ zero_zero_nat @ N ) ).

% le0
thf(fact_172_diff__diff__cancel,axiom,
    ! [I: nat,N: nat] :
      ( ( ord_less_eq_nat @ I @ N )
     => ( ( minus_minus_nat @ N @ ( minus_minus_nat @ N @ I ) )
        = I ) ) ).

% diff_diff_cancel
thf(fact_173_min__Suc__Suc,axiom,
    ! [M: nat,N: nat] :
      ( ( ord_min_nat @ ( suc @ M ) @ ( suc @ N ) )
      = ( suc @ ( ord_min_nat @ M @ N ) ) ) ).

% min_Suc_Suc
thf(fact_174_min__0L,axiom,
    ! [N: nat] :
      ( ( ord_min_nat @ zero_zero_nat @ N )
      = zero_zero_nat ) ).

% min_0L
thf(fact_175_min__0R,axiom,
    ! [N: nat] :
      ( ( ord_min_nat @ N @ zero_zero_nat )
      = zero_zero_nat ) ).

% min_0R
thf(fact_176_max__Suc__Suc,axiom,
    ! [M: nat,N: nat] :
      ( ( ord_max_nat @ ( suc @ M ) @ ( suc @ N ) )
      = ( suc @ ( ord_max_nat @ M @ N ) ) ) ).

% max_Suc_Suc
thf(fact_177_max__nat_Oeq__neutr__iff,axiom,
    ! [A: nat,B: nat] :
      ( ( ( ord_max_nat @ A @ B )
        = zero_zero_nat )
      = ( ( A = zero_zero_nat )
        & ( B = zero_zero_nat ) ) ) ).

% max_nat.eq_neutr_iff
thf(fact_178_max__nat_Oleft__neutral,axiom,
    ! [A: nat] :
      ( ( ord_max_nat @ zero_zero_nat @ A )
      = A ) ).

% max_nat.left_neutral
thf(fact_179_max__nat_Oneutr__eq__iff,axiom,
    ! [A: nat,B: nat] :
      ( ( zero_zero_nat
        = ( ord_max_nat @ A @ B ) )
      = ( ( A = zero_zero_nat )
        & ( B = zero_zero_nat ) ) ) ).

% max_nat.neutr_eq_iff
thf(fact_180_max__nat_Oright__neutral,axiom,
    ! [A: nat] :
      ( ( ord_max_nat @ A @ zero_zero_nat )
      = A ) ).

% max_nat.right_neutral
thf(fact_181_max__0L,axiom,
    ! [N: nat] :
      ( ( ord_max_nat @ zero_zero_nat @ N )
      = N ) ).

% max_0L
thf(fact_182_max__0R,axiom,
    ! [N: nat] :
      ( ( ord_max_nat @ N @ zero_zero_nat )
      = N ) ).

% max_0R
thf(fact_183_atLeastLessThan__iff,axiom,
    ! [I: set_set_nat,L: set_set_nat,U: set_set_nat] :
      ( ( member_set_set_nat @ I @ ( set_or5410080298493297259et_nat @ L @ U ) )
      = ( ( ord_le6893508408891458716et_nat @ L @ I )
        & ( ord_less_set_set_nat @ I @ U ) ) ) ).

% atLeastLessThan_iff
thf(fact_184_atLeastLessThan__iff,axiom,
    ! [I: nat > $o,L: nat > $o,U: nat > $o] :
      ( ( member_nat_o @ I @ ( set_or8293666589767078672_nat_o @ L @ U ) )
      = ( ( ord_less_eq_nat_o @ L @ I )
        & ( ord_less_nat_o @ I @ U ) ) ) ).

% atLeastLessThan_iff
thf(fact_185_atLeastLessThan__iff,axiom,
    ! [I: set_nat > $o,L: set_nat > $o,U: set_nat > $o] :
      ( ( member_set_nat_o @ I @ ( set_or1145310865616870874_nat_o @ L @ U ) )
      = ( ( ord_le3964352015994296041_nat_o @ L @ I )
        & ( ord_less_set_nat_o @ I @ U ) ) ) ).

% atLeastLessThan_iff
thf(fact_186_atLeastLessThan__iff,axiom,
    ! [I: set_nat,L: set_nat,U: set_nat] :
      ( ( member_set_nat @ I @ ( set_or3540276404033026485et_nat @ L @ U ) )
      = ( ( ord_less_eq_set_nat @ L @ I )
        & ( ord_less_set_nat @ I @ U ) ) ) ).

% atLeastLessThan_iff
thf(fact_187_atLeastLessThan__iff,axiom,
    ! [I: nat,L: nat,U: nat] :
      ( ( member_nat @ I @ ( set_or4665077453230672383an_nat @ L @ U ) )
      = ( ( ord_less_eq_nat @ L @ I )
        & ( ord_less_nat @ I @ U ) ) ) ).

% atLeastLessThan_iff
thf(fact_188_max__0__1_I2_J,axiom,
    ( ( ord_max_nat @ one_one_nat @ zero_zero_nat )
    = one_one_nat ) ).

% max_0_1(2)
thf(fact_189_max__0__1_I1_J,axiom,
    ( ( ord_max_nat @ zero_zero_nat @ one_one_nat )
    = one_one_nat ) ).

% max_0_1(1)
thf(fact_190_min__0__1_I2_J,axiom,
    ( ( ord_min_nat @ one_one_nat @ zero_zero_nat )
    = zero_zero_nat ) ).

% min_0_1(2)
thf(fact_191_min__0__1_I1_J,axiom,
    ( ( ord_min_nat @ zero_zero_nat @ one_one_nat )
    = zero_zero_nat ) ).

% min_0_1(1)
thf(fact_192_ivl__diff,axiom,
    ! [I: nat,N: nat,M: nat] :
      ( ( ord_less_eq_nat @ I @ N )
     => ( ( minus_minus_set_nat @ ( set_or4665077453230672383an_nat @ I @ M ) @ ( set_or4665077453230672383an_nat @ I @ N ) )
        = ( set_or4665077453230672383an_nat @ N @ M ) ) ) ).

% ivl_diff
thf(fact_193_diff__is__0__eq,axiom,
    ! [M: nat,N: nat] :
      ( ( ( minus_minus_nat @ M @ N )
        = zero_zero_nat )
      = ( ord_less_eq_nat @ M @ N ) ) ).

% diff_is_0_eq
thf(fact_194_diff__is__0__eq_H,axiom,
    ! [M: nat,N: nat] :
      ( ( ord_less_eq_nat @ M @ N )
     => ( ( minus_minus_nat @ M @ N )
        = zero_zero_nat ) ) ).

% diff_is_0_eq'
thf(fact_195_card__Collect__le__nat,axiom,
    ! [N: nat] :
      ( ( finite_card_nat
        @ ( collect_nat
          @ ^ [I3: nat] : ( ord_less_eq_nat @ I3 @ N ) ) )
      = ( suc @ N ) ) ).

% card_Collect_le_nat
thf(fact_196_DiffE,axiom,
    ! [C: set_set_nat,A2: set_set_set_nat,B2: set_set_set_nat] :
      ( ( member_set_set_nat @ C @ ( minus_2447799839930672331et_nat @ A2 @ B2 ) )
     => ~ ( ( member_set_set_nat @ C @ A2 )
         => ( member_set_set_nat @ C @ B2 ) ) ) ).

% DiffE
thf(fact_197_DiffE,axiom,
    ! [C: set_nat,A2: set_set_nat,B2: set_set_nat] :
      ( ( member_set_nat @ C @ ( minus_2163939370556025621et_nat @ A2 @ B2 ) )
     => ~ ( ( member_set_nat @ C @ A2 )
         => ( member_set_nat @ C @ B2 ) ) ) ).

% DiffE
thf(fact_198_DiffE,axiom,
    ! [C: nat,A2: set_nat,B2: set_nat] :
      ( ( member_nat @ C @ ( minus_minus_set_nat @ A2 @ B2 ) )
     => ~ ( ( member_nat @ C @ A2 )
         => ( member_nat @ C @ B2 ) ) ) ).

% DiffE
thf(fact_199_DiffD1,axiom,
    ! [C: set_set_nat,A2: set_set_set_nat,B2: set_set_set_nat] :
      ( ( member_set_set_nat @ C @ ( minus_2447799839930672331et_nat @ A2 @ B2 ) )
     => ( member_set_set_nat @ C @ A2 ) ) ).

% DiffD1
thf(fact_200_DiffD1,axiom,
    ! [C: set_nat,A2: set_set_nat,B2: set_set_nat] :
      ( ( member_set_nat @ C @ ( minus_2163939370556025621et_nat @ A2 @ B2 ) )
     => ( member_set_nat @ C @ A2 ) ) ).

% DiffD1
thf(fact_201_DiffD1,axiom,
    ! [C: nat,A2: set_nat,B2: set_nat] :
      ( ( member_nat @ C @ ( minus_minus_set_nat @ A2 @ B2 ) )
     => ( member_nat @ C @ A2 ) ) ).

% DiffD1
thf(fact_202_DiffD2,axiom,
    ! [C: set_set_nat,A2: set_set_set_nat,B2: set_set_set_nat] :
      ( ( member_set_set_nat @ C @ ( minus_2447799839930672331et_nat @ A2 @ B2 ) )
     => ~ ( member_set_set_nat @ C @ B2 ) ) ).

% DiffD2
thf(fact_203_DiffD2,axiom,
    ! [C: set_nat,A2: set_set_nat,B2: set_set_nat] :
      ( ( member_set_nat @ C @ ( minus_2163939370556025621et_nat @ A2 @ B2 ) )
     => ~ ( member_set_nat @ C @ B2 ) ) ).

% DiffD2
thf(fact_204_DiffD2,axiom,
    ! [C: nat,A2: set_nat,B2: set_nat] :
      ( ( member_nat @ C @ ( minus_minus_set_nat @ A2 @ B2 ) )
     => ~ ( member_nat @ C @ B2 ) ) ).

% DiffD2
thf(fact_205_le__refl,axiom,
    ! [N: nat] : ( ord_less_eq_nat @ N @ N ) ).

% le_refl
thf(fact_206_le__trans,axiom,
    ! [I: nat,J: nat,K2: nat] :
      ( ( ord_less_eq_nat @ I @ J )
     => ( ( ord_less_eq_nat @ J @ K2 )
       => ( ord_less_eq_nat @ I @ K2 ) ) ) ).

% le_trans
thf(fact_207_eq__imp__le,axiom,
    ! [M: nat,N: nat] :
      ( ( M = N )
     => ( ord_less_eq_nat @ M @ N ) ) ).

% eq_imp_le
thf(fact_208_le__antisym,axiom,
    ! [M: nat,N: nat] :
      ( ( ord_less_eq_nat @ M @ N )
     => ( ( ord_less_eq_nat @ N @ M )
       => ( M = N ) ) ) ).

% le_antisym
thf(fact_209_set__diff__eq,axiom,
    ( minus_2447799839930672331et_nat
    = ( ^ [A3: set_set_set_nat,B3: set_set_set_nat] :
          ( collect_set_set_nat
          @ ^ [X: set_set_nat] :
              ( ( member_set_set_nat @ X @ A3 )
              & ~ ( member_set_set_nat @ X @ B3 ) ) ) ) ) ).

% set_diff_eq
thf(fact_210_set__diff__eq,axiom,
    ( minus_2163939370556025621et_nat
    = ( ^ [A3: set_set_nat,B3: set_set_nat] :
          ( collect_set_nat
          @ ^ [X: set_nat] :
              ( ( member_set_nat @ X @ A3 )
              & ~ ( member_set_nat @ X @ B3 ) ) ) ) ) ).

% set_diff_eq
thf(fact_211_set__diff__eq,axiom,
    ( minus_minus_set_nat
    = ( ^ [A3: set_nat,B3: set_nat] :
          ( collect_nat
          @ ^ [X: nat] :
              ( ( member_nat @ X @ A3 )
              & ~ ( member_nat @ X @ B3 ) ) ) ) ) ).

% set_diff_eq
thf(fact_212_nat__le__linear,axiom,
    ! [M: nat,N: nat] :
      ( ( ord_less_eq_nat @ M @ N )
      | ( ord_less_eq_nat @ N @ M ) ) ).

% nat_le_linear
thf(fact_213_minus__set__def,axiom,
    ( minus_2447799839930672331et_nat
    = ( ^ [A3: set_set_set_nat,B3: set_set_set_nat] :
          ( collect_set_set_nat
          @ ( minus_463385787819020154_nat_o
            @ ^ [X: set_set_nat] : ( member_set_set_nat @ X @ A3 )
            @ ^ [X: set_set_nat] : ( member_set_set_nat @ X @ B3 ) ) ) ) ) ).

% minus_set_def
thf(fact_214_minus__set__def,axiom,
    ( minus_2163939370556025621et_nat
    = ( ^ [A3: set_set_nat,B3: set_set_nat] :
          ( collect_set_nat
          @ ( minus_6910147592129066416_nat_o
            @ ^ [X: set_nat] : ( member_set_nat @ X @ A3 )
            @ ^ [X: set_nat] : ( member_set_nat @ X @ B3 ) ) ) ) ) ).

% minus_set_def
thf(fact_215_minus__set__def,axiom,
    ( minus_minus_set_nat
    = ( ^ [A3: set_nat,B3: set_nat] :
          ( collect_nat
          @ ( minus_minus_nat_o
            @ ^ [X: nat] : ( member_nat @ X @ A3 )
            @ ^ [X: nat] : ( member_nat @ X @ B3 ) ) ) ) ) ).

% minus_set_def
thf(fact_216_psubset__imp__ex__mem,axiom,
    ! [A2: set_set_set_nat,B2: set_set_set_nat] :
      ( ( ord_le152980574450754630et_nat @ A2 @ B2 )
     => ? [B4: set_set_nat] : ( member_set_set_nat @ B4 @ ( minus_2447799839930672331et_nat @ B2 @ A2 ) ) ) ).

% psubset_imp_ex_mem
thf(fact_217_psubset__imp__ex__mem,axiom,
    ! [A2: set_set_nat,B2: set_set_nat] :
      ( ( ord_less_set_set_nat @ A2 @ B2 )
     => ? [B4: set_nat] : ( member_set_nat @ B4 @ ( minus_2163939370556025621et_nat @ B2 @ A2 ) ) ) ).

% psubset_imp_ex_mem
thf(fact_218_psubset__imp__ex__mem,axiom,
    ! [A2: set_nat,B2: set_nat] :
      ( ( ord_less_set_nat @ A2 @ B2 )
     => ? [B4: nat] : ( member_nat @ B4 @ ( minus_minus_set_nat @ B2 @ A2 ) ) ) ).

% psubset_imp_ex_mem
thf(fact_219_Nat_Oex__has__greatest__nat,axiom,
    ! [P: nat > $o,K2: nat,B: nat] :
      ( ( P @ K2 )
     => ( ! [Y3: nat] :
            ( ( P @ Y3 )
           => ( ord_less_eq_nat @ Y3 @ B ) )
       => ? [X3: nat] :
            ( ( P @ X3 )
            & ! [Y4: nat] :
                ( ( P @ Y4 )
               => ( ord_less_eq_nat @ Y4 @ X3 ) ) ) ) ) ).

% Nat.ex_has_greatest_nat
thf(fact_220_bounded__Max__nat,axiom,
    ! [P: nat > $o,X4: nat,M6: nat] :
      ( ( P @ X4 )
     => ( ! [X3: nat] :
            ( ( P @ X3 )
           => ( ord_less_eq_nat @ X3 @ M6 ) )
       => ~ ! [M4: nat] :
              ( ( P @ M4 )
             => ~ ! [X5: nat] :
                    ( ( P @ X5 )
                   => ( ord_less_eq_nat @ X5 @ M4 ) ) ) ) ) ).

% bounded_Max_nat
thf(fact_221_choose__mono,axiom,
    ! [N: nat,M: nat,K2: nat] :
      ( ( ord_less_eq_nat @ N @ M )
     => ( ord_less_eq_nat @ ( binomial @ N @ K2 ) @ ( binomial @ M @ K2 ) ) ) ).

% choose_mono
thf(fact_222_lift__Suc__antimono__le,axiom,
    ! [F: nat > set_set_nat,N: nat,N2: nat] :
      ( ! [N3: nat] : ( ord_le6893508408891458716et_nat @ ( F @ ( suc @ N3 ) ) @ ( F @ N3 ) )
     => ( ( ord_less_eq_nat @ N @ N2 )
       => ( ord_le6893508408891458716et_nat @ ( F @ N2 ) @ ( F @ N ) ) ) ) ).

% lift_Suc_antimono_le
thf(fact_223_lift__Suc__antimono__le,axiom,
    ! [F: nat > nat > $o,N: nat,N2: nat] :
      ( ! [N3: nat] : ( ord_less_eq_nat_o @ ( F @ ( suc @ N3 ) ) @ ( F @ N3 ) )
     => ( ( ord_less_eq_nat @ N @ N2 )
       => ( ord_less_eq_nat_o @ ( F @ N2 ) @ ( F @ N ) ) ) ) ).

% lift_Suc_antimono_le
thf(fact_224_lift__Suc__antimono__le,axiom,
    ! [F: nat > set_nat > $o,N: nat,N2: nat] :
      ( ! [N3: nat] : ( ord_le3964352015994296041_nat_o @ ( F @ ( suc @ N3 ) ) @ ( F @ N3 ) )
     => ( ( ord_less_eq_nat @ N @ N2 )
       => ( ord_le3964352015994296041_nat_o @ ( F @ N2 ) @ ( F @ N ) ) ) ) ).

% lift_Suc_antimono_le
thf(fact_225_lift__Suc__antimono__le,axiom,
    ! [F: nat > nat,N: nat,N2: nat] :
      ( ! [N3: nat] : ( ord_less_eq_nat @ ( F @ ( suc @ N3 ) ) @ ( F @ N3 ) )
     => ( ( ord_less_eq_nat @ N @ N2 )
       => ( ord_less_eq_nat @ ( F @ N2 ) @ ( F @ N ) ) ) ) ).

% lift_Suc_antimono_le
thf(fact_226_lift__Suc__antimono__le,axiom,
    ! [F: nat > set_nat,N: nat,N2: nat] :
      ( ! [N3: nat] : ( ord_less_eq_set_nat @ ( F @ ( suc @ N3 ) ) @ ( F @ N3 ) )
     => ( ( ord_less_eq_nat @ N @ N2 )
       => ( ord_less_eq_set_nat @ ( F @ N2 ) @ ( F @ N ) ) ) ) ).

% lift_Suc_antimono_le
thf(fact_227_lift__Suc__mono__le,axiom,
    ! [F: nat > set_set_nat,N: nat,N2: nat] :
      ( ! [N3: nat] : ( ord_le6893508408891458716et_nat @ ( F @ N3 ) @ ( F @ ( suc @ N3 ) ) )
     => ( ( ord_less_eq_nat @ N @ N2 )
       => ( ord_le6893508408891458716et_nat @ ( F @ N ) @ ( F @ N2 ) ) ) ) ).

% lift_Suc_mono_le
thf(fact_228_lift__Suc__mono__le,axiom,
    ! [F: nat > nat > $o,N: nat,N2: nat] :
      ( ! [N3: nat] : ( ord_less_eq_nat_o @ ( F @ N3 ) @ ( F @ ( suc @ N3 ) ) )
     => ( ( ord_less_eq_nat @ N @ N2 )
       => ( ord_less_eq_nat_o @ ( F @ N ) @ ( F @ N2 ) ) ) ) ).

% lift_Suc_mono_le
thf(fact_229_lift__Suc__mono__le,axiom,
    ! [F: nat > set_nat > $o,N: nat,N2: nat] :
      ( ! [N3: nat] : ( ord_le3964352015994296041_nat_o @ ( F @ N3 ) @ ( F @ ( suc @ N3 ) ) )
     => ( ( ord_less_eq_nat @ N @ N2 )
       => ( ord_le3964352015994296041_nat_o @ ( F @ N ) @ ( F @ N2 ) ) ) ) ).

% lift_Suc_mono_le
thf(fact_230_lift__Suc__mono__le,axiom,
    ! [F: nat > nat,N: nat,N2: nat] :
      ( ! [N3: nat] : ( ord_less_eq_nat @ ( F @ N3 ) @ ( F @ ( suc @ N3 ) ) )
     => ( ( ord_less_eq_nat @ N @ N2 )
       => ( ord_less_eq_nat @ ( F @ N ) @ ( F @ N2 ) ) ) ) ).

% lift_Suc_mono_le
thf(fact_231_lift__Suc__mono__le,axiom,
    ! [F: nat > set_nat,N: nat,N2: nat] :
      ( ! [N3: nat] : ( ord_less_eq_set_nat @ ( F @ N3 ) @ ( F @ ( suc @ N3 ) ) )
     => ( ( ord_less_eq_nat @ N @ N2 )
       => ( ord_less_eq_set_nat @ ( F @ N ) @ ( F @ N2 ) ) ) ) ).

% lift_Suc_mono_le
thf(fact_232_atLeastLessThan__subset__iff,axiom,
    ! [A: nat,B: nat,C: nat,D: nat] :
      ( ( ord_less_eq_set_nat @ ( set_or4665077453230672383an_nat @ A @ B ) @ ( set_or4665077453230672383an_nat @ C @ D ) )
     => ( ( ord_less_eq_nat @ B @ A )
        | ( ( ord_less_eq_nat @ C @ A )
          & ( ord_less_eq_nat @ B @ D ) ) ) ) ).

% atLeastLessThan_subset_iff
thf(fact_233_min__diff,axiom,
    ! [M: nat,I: nat,N: nat] :
      ( ( ord_min_nat @ ( minus_minus_nat @ M @ I ) @ ( minus_minus_nat @ N @ I ) )
      = ( minus_minus_nat @ ( ord_min_nat @ M @ N ) @ I ) ) ).

% min_diff
thf(fact_234_le__numeral__extra_I3_J,axiom,
    ord_less_eq_nat @ zero_zero_nat @ zero_zero_nat ).

% le_numeral_extra(3)
thf(fact_235_zero__le,axiom,
    ! [X4: nat] : ( ord_less_eq_nat @ zero_zero_nat @ X4 ) ).

% zero_le
thf(fact_236_le__numeral__extra_I4_J,axiom,
    ord_less_eq_nat @ one_one_nat @ one_one_nat ).

% le_numeral_extra(4)
thf(fact_237_Suc__leD,axiom,
    ! [M: nat,N: nat] :
      ( ( ord_less_eq_nat @ ( suc @ M ) @ N )
     => ( ord_less_eq_nat @ M @ N ) ) ).

% Suc_leD
thf(fact_238_le__SucE,axiom,
    ! [M: nat,N: nat] :
      ( ( ord_less_eq_nat @ M @ ( suc @ N ) )
     => ( ~ ( ord_less_eq_nat @ M @ N )
       => ( M
          = ( suc @ N ) ) ) ) ).

% le_SucE
thf(fact_239_le__SucI,axiom,
    ! [M: nat,N: nat] :
      ( ( ord_less_eq_nat @ M @ N )
     => ( ord_less_eq_nat @ M @ ( suc @ N ) ) ) ).

% le_SucI
thf(fact_240_Suc__le__D,axiom,
    ! [N: nat,M7: nat] :
      ( ( ord_less_eq_nat @ ( suc @ N ) @ M7 )
     => ? [M4: nat] :
          ( M7
          = ( suc @ M4 ) ) ) ).

% Suc_le_D
thf(fact_241_le__Suc__eq,axiom,
    ! [M: nat,N: nat] :
      ( ( ord_less_eq_nat @ M @ ( suc @ N ) )
      = ( ( ord_less_eq_nat @ M @ N )
        | ( M
          = ( suc @ N ) ) ) ) ).

% le_Suc_eq
thf(fact_242_Suc__n__not__le__n,axiom,
    ! [N: nat] :
      ~ ( ord_less_eq_nat @ ( suc @ N ) @ N ) ).

% Suc_n_not_le_n
thf(fact_243_not__less__eq__eq,axiom,
    ! [M: nat,N: nat] :
      ( ( ~ ( ord_less_eq_nat @ M @ N ) )
      = ( ord_less_eq_nat @ ( suc @ N ) @ M ) ) ).

% not_less_eq_eq
thf(fact_244_full__nat__induct,axiom,
    ! [P: nat > $o,N: nat] :
      ( ! [N3: nat] :
          ( ! [M2: nat] :
              ( ( ord_less_eq_nat @ ( suc @ M2 ) @ N3 )
             => ( P @ M2 ) )
         => ( P @ N3 ) )
     => ( P @ N ) ) ).

% full_nat_induct
thf(fact_245_nat__induct__at__least,axiom,
    ! [M: nat,N: nat,P: nat > $o] :
      ( ( ord_less_eq_nat @ M @ N )
     => ( ( P @ M )
       => ( ! [N3: nat] :
              ( ( ord_less_eq_nat @ M @ N3 )
             => ( ( P @ N3 )
               => ( P @ ( suc @ N3 ) ) ) )
         => ( P @ N ) ) ) ) ).

% nat_induct_at_least
thf(fact_246_transitive__stepwise__le,axiom,
    ! [M: nat,N: nat,R: nat > nat > $o] :
      ( ( ord_less_eq_nat @ M @ N )
     => ( ! [X3: nat] : ( R @ X3 @ X3 )
       => ( ! [X3: nat,Y3: nat,Z: nat] :
              ( ( R @ X3 @ Y3 )
             => ( ( R @ Y3 @ Z )
               => ( R @ X3 @ Z ) ) )
         => ( ! [N3: nat] : ( R @ N3 @ ( suc @ N3 ) )
           => ( R @ M @ N ) ) ) ) ) ).

% transitive_stepwise_le
thf(fact_247_less__eq__nat_Osimps_I1_J,axiom,
    ! [N: nat] : ( ord_less_eq_nat @ zero_zero_nat @ N ) ).

% less_eq_nat.simps(1)
thf(fact_248_bot__nat__0_Oextremum__unique,axiom,
    ! [A: nat] :
      ( ( ord_less_eq_nat @ A @ zero_zero_nat )
      = ( A = zero_zero_nat ) ) ).

% bot_nat_0.extremum_unique
thf(fact_249_bot__nat__0_Oextremum__uniqueI,axiom,
    ! [A: nat] :
      ( ( ord_less_eq_nat @ A @ zero_zero_nat )
     => ( A = zero_zero_nat ) ) ).

% bot_nat_0.extremum_uniqueI
thf(fact_250_le__0__eq,axiom,
    ! [N: nat] :
      ( ( ord_less_eq_nat @ N @ zero_zero_nat )
      = ( N = zero_zero_nat ) ) ).

% le_0_eq
thf(fact_251_less__mono__imp__le__mono,axiom,
    ! [F: nat > nat,I: nat,J: nat] :
      ( ! [I2: nat,J2: nat] :
          ( ( ord_less_nat @ I2 @ J2 )
         => ( ord_less_nat @ ( F @ I2 ) @ ( F @ J2 ) ) )
     => ( ( ord_less_eq_nat @ I @ J )
       => ( ord_less_eq_nat @ ( F @ I ) @ ( F @ J ) ) ) ) ).

% less_mono_imp_le_mono
thf(fact_252_le__neq__implies__less,axiom,
    ! [M: nat,N: nat] :
      ( ( ord_less_eq_nat @ M @ N )
     => ( ( M != N )
       => ( ord_less_nat @ M @ N ) ) ) ).

% le_neq_implies_less
thf(fact_253_less__or__eq__imp__le,axiom,
    ! [M: nat,N: nat] :
      ( ( ( ord_less_nat @ M @ N )
        | ( M = N ) )
     => ( ord_less_eq_nat @ M @ N ) ) ).

% less_or_eq_imp_le
thf(fact_254_le__eq__less__or__eq,axiom,
    ( ord_less_eq_nat
    = ( ^ [M5: nat,N4: nat] :
          ( ( ord_less_nat @ M5 @ N4 )
          | ( M5 = N4 ) ) ) ) ).

% le_eq_less_or_eq
thf(fact_255_less__imp__le__nat,axiom,
    ! [M: nat,N: nat] :
      ( ( ord_less_nat @ M @ N )
     => ( ord_less_eq_nat @ M @ N ) ) ).

% less_imp_le_nat
thf(fact_256_nat__less__le,axiom,
    ( ord_less_nat
    = ( ^ [M5: nat,N4: nat] :
          ( ( ord_less_eq_nat @ M5 @ N4 )
          & ( M5 != N4 ) ) ) ) ).

% nat_less_le
thf(fact_257_eq__diff__iff,axiom,
    ! [K2: nat,M: nat,N: nat] :
      ( ( ord_less_eq_nat @ K2 @ M )
     => ( ( ord_less_eq_nat @ K2 @ N )
       => ( ( ( minus_minus_nat @ M @ K2 )
            = ( minus_minus_nat @ N @ K2 ) )
          = ( M = N ) ) ) ) ).

% eq_diff_iff
thf(fact_258_le__diff__iff,axiom,
    ! [K2: nat,M: nat,N: nat] :
      ( ( ord_less_eq_nat @ K2 @ M )
     => ( ( ord_less_eq_nat @ K2 @ N )
       => ( ( ord_less_eq_nat @ ( minus_minus_nat @ M @ K2 ) @ ( minus_minus_nat @ N @ K2 ) )
          = ( ord_less_eq_nat @ M @ N ) ) ) ) ).

% le_diff_iff
thf(fact_259_Nat_Odiff__diff__eq,axiom,
    ! [K2: nat,M: nat,N: nat] :
      ( ( ord_less_eq_nat @ K2 @ M )
     => ( ( ord_less_eq_nat @ K2 @ N )
       => ( ( minus_minus_nat @ ( minus_minus_nat @ M @ K2 ) @ ( minus_minus_nat @ N @ K2 ) )
          = ( minus_minus_nat @ M @ N ) ) ) ) ).

% Nat.diff_diff_eq
thf(fact_260_diff__le__mono,axiom,
    ! [M: nat,N: nat,L: nat] :
      ( ( ord_less_eq_nat @ M @ N )
     => ( ord_less_eq_nat @ ( minus_minus_nat @ M @ L ) @ ( minus_minus_nat @ N @ L ) ) ) ).

% diff_le_mono
thf(fact_261_diff__le__self,axiom,
    ! [M: nat,N: nat] : ( ord_less_eq_nat @ ( minus_minus_nat @ M @ N ) @ M ) ).

% diff_le_self
thf(fact_262_le__diff__iff_H,axiom,
    ! [A: nat,C: nat,B: nat] :
      ( ( ord_less_eq_nat @ A @ C )
     => ( ( ord_less_eq_nat @ B @ C )
       => ( ( ord_less_eq_nat @ ( minus_minus_nat @ C @ A ) @ ( minus_minus_nat @ C @ B ) )
          = ( ord_less_eq_nat @ B @ A ) ) ) ) ).

% le_diff_iff'
thf(fact_263_diff__le__mono2,axiom,
    ! [M: nat,N: nat,L: nat] :
      ( ( ord_less_eq_nat @ M @ N )
     => ( ord_less_eq_nat @ ( minus_minus_nat @ L @ N ) @ ( minus_minus_nat @ L @ M ) ) ) ).

% diff_le_mono2
thf(fact_264_zero__less__one__class_Ozero__le__one,axiom,
    ord_less_eq_nat @ zero_zero_nat @ one_one_nat ).

% zero_less_one_class.zero_le_one
thf(fact_265_linordered__nonzero__semiring__class_Ozero__le__one,axiom,
    ord_less_eq_nat @ zero_zero_nat @ one_one_nat ).

% linordered_nonzero_semiring_class.zero_le_one
thf(fact_266_not__one__le__zero,axiom,
    ~ ( ord_less_eq_nat @ one_one_nat @ zero_zero_nat ) ).

% not_one_le_zero
thf(fact_267_card__insert__le,axiom,
    ! [A2: set_set_nat,X4: set_nat] : ( ord_less_eq_nat @ ( finite_card_set_nat @ A2 ) @ ( finite_card_set_nat @ ( insert_set_nat @ X4 @ A2 ) ) ) ).

% card_insert_le
thf(fact_268_card__insert__le,axiom,
    ! [A2: set_nat,X4: nat] : ( ord_less_eq_nat @ ( finite_card_nat @ A2 ) @ ( finite_card_nat @ ( insert_nat @ X4 @ A2 ) ) ) ).

% card_insert_le
thf(fact_269_le__imp__less__Suc,axiom,
    ! [M: nat,N: nat] :
      ( ( ord_less_eq_nat @ M @ N )
     => ( ord_less_nat @ M @ ( suc @ N ) ) ) ).

% le_imp_less_Suc
thf(fact_270_less__eq__Suc__le,axiom,
    ( ord_less_nat
    = ( ^ [N4: nat] : ( ord_less_eq_nat @ ( suc @ N4 ) ) ) ) ).

% less_eq_Suc_le
thf(fact_271_less__Suc__eq__le,axiom,
    ! [M: nat,N: nat] :
      ( ( ord_less_nat @ M @ ( suc @ N ) )
      = ( ord_less_eq_nat @ M @ N ) ) ).

% less_Suc_eq_le
thf(fact_272_le__less__Suc__eq,axiom,
    ! [M: nat,N: nat] :
      ( ( ord_less_eq_nat @ M @ N )
     => ( ( ord_less_nat @ N @ ( suc @ M ) )
        = ( N = M ) ) ) ).

% le_less_Suc_eq
thf(fact_273_Suc__le__lessD,axiom,
    ! [M: nat,N: nat] :
      ( ( ord_less_eq_nat @ ( suc @ M ) @ N )
     => ( ord_less_nat @ M @ N ) ) ).

% Suc_le_lessD
thf(fact_274_inc__induct,axiom,
    ! [I: nat,J: nat,P: nat > $o] :
      ( ( ord_less_eq_nat @ I @ J )
     => ( ( P @ J )
       => ( ! [N3: nat] :
              ( ( ord_less_eq_nat @ I @ N3 )
             => ( ( ord_less_nat @ N3 @ J )
               => ( ( P @ ( suc @ N3 ) )
                 => ( P @ N3 ) ) ) )
         => ( P @ I ) ) ) ) ).

% inc_induct
thf(fact_275_dec__induct,axiom,
    ! [I: nat,J: nat,P: nat > $o] :
      ( ( ord_less_eq_nat @ I @ J )
     => ( ( P @ I )
       => ( ! [N3: nat] :
              ( ( ord_less_eq_nat @ I @ N3 )
             => ( ( ord_less_nat @ N3 @ J )
               => ( ( P @ N3 )
                 => ( P @ ( suc @ N3 ) ) ) ) )
         => ( P @ J ) ) ) ) ).

% dec_induct
thf(fact_276_Suc__le__eq,axiom,
    ! [M: nat,N: nat] :
      ( ( ord_less_eq_nat @ ( suc @ M ) @ N )
      = ( ord_less_nat @ M @ N ) ) ).

% Suc_le_eq
thf(fact_277_Suc__leI,axiom,
    ! [M: nat,N: nat] :
      ( ( ord_less_nat @ M @ N )
     => ( ord_less_eq_nat @ ( suc @ M ) @ N ) ) ).

% Suc_leI
thf(fact_278_ex__least__nat__le,axiom,
    ! [P: nat > $o,N: nat] :
      ( ( P @ N )
     => ( ~ ( P @ zero_zero_nat )
       => ? [K3: nat] :
            ( ( ord_less_eq_nat @ K3 @ N )
            & ! [I4: nat] :
                ( ( ord_less_nat @ I4 @ K3 )
               => ~ ( P @ I4 ) )
            & ( P @ K3 ) ) ) ) ).

% ex_least_nat_le
thf(fact_279_Suc__diff__le,axiom,
    ! [N: nat,M: nat] :
      ( ( ord_less_eq_nat @ N @ M )
     => ( ( minus_minus_nat @ ( suc @ M ) @ N )
        = ( suc @ ( minus_minus_nat @ M @ N ) ) ) ) ).

% Suc_diff_le
thf(fact_280_diff__less__mono,axiom,
    ! [A: nat,B: nat,C: nat] :
      ( ( ord_less_nat @ A @ B )
     => ( ( ord_less_eq_nat @ C @ A )
       => ( ord_less_nat @ ( minus_minus_nat @ A @ C ) @ ( minus_minus_nat @ B @ C ) ) ) ) ).

% diff_less_mono
thf(fact_281_less__diff__iff,axiom,
    ! [K2: nat,M: nat,N: nat] :
      ( ( ord_less_eq_nat @ K2 @ M )
     => ( ( ord_less_eq_nat @ K2 @ N )
       => ( ( ord_less_nat @ ( minus_minus_nat @ M @ K2 ) @ ( minus_minus_nat @ N @ K2 ) )
          = ( ord_less_nat @ M @ N ) ) ) ) ).

% less_diff_iff
thf(fact_282_ex__least__nat__less,axiom,
    ! [P: nat > $o,N: nat] :
      ( ( P @ N )
     => ( ~ ( P @ zero_zero_nat )
       => ? [K3: nat] :
            ( ( ord_less_nat @ K3 @ N )
            & ! [I4: nat] :
                ( ( ord_less_eq_nat @ I4 @ K3 )
               => ~ ( P @ I4 ) )
            & ( P @ ( suc @ K3 ) ) ) ) ) ).

% ex_least_nat_less
thf(fact_283_insertE,axiom,
    ! [A: set_set_nat,B: set_set_nat,A2: set_set_set_nat] :
      ( ( member_set_set_nat @ A @ ( insert_set_set_nat @ B @ A2 ) )
     => ( ( A != B )
       => ( member_set_set_nat @ A @ A2 ) ) ) ).

% insertE
thf(fact_284_insertE,axiom,
    ! [A: set_nat,B: set_nat,A2: set_set_nat] :
      ( ( member_set_nat @ A @ ( insert_set_nat @ B @ A2 ) )
     => ( ( A != B )
       => ( member_set_nat @ A @ A2 ) ) ) ).

% insertE
thf(fact_285_insertE,axiom,
    ! [A: nat,B: nat,A2: set_nat] :
      ( ( member_nat @ A @ ( insert_nat @ B @ A2 ) )
     => ( ( A != B )
       => ( member_nat @ A @ A2 ) ) ) ).

% insertE
thf(fact_286_insertI1,axiom,
    ! [A: set_set_nat,B2: set_set_set_nat] : ( member_set_set_nat @ A @ ( insert_set_set_nat @ A @ B2 ) ) ).

% insertI1
thf(fact_287_insertI1,axiom,
    ! [A: set_nat,B2: set_set_nat] : ( member_set_nat @ A @ ( insert_set_nat @ A @ B2 ) ) ).

% insertI1
thf(fact_288_insertI1,axiom,
    ! [A: nat,B2: set_nat] : ( member_nat @ A @ ( insert_nat @ A @ B2 ) ) ).

% insertI1
thf(fact_289_insertI2,axiom,
    ! [A: set_set_nat,B2: set_set_set_nat,B: set_set_nat] :
      ( ( member_set_set_nat @ A @ B2 )
     => ( member_set_set_nat @ A @ ( insert_set_set_nat @ B @ B2 ) ) ) ).

% insertI2
thf(fact_290_insertI2,axiom,
    ! [A: set_nat,B2: set_set_nat,B: set_nat] :
      ( ( member_set_nat @ A @ B2 )
     => ( member_set_nat @ A @ ( insert_set_nat @ B @ B2 ) ) ) ).

% insertI2
thf(fact_291_insertI2,axiom,
    ! [A: nat,B2: set_nat,B: nat] :
      ( ( member_nat @ A @ B2 )
     => ( member_nat @ A @ ( insert_nat @ B @ B2 ) ) ) ).

% insertI2
thf(fact_292_Set_Oset__insert,axiom,
    ! [X4: set_set_nat,A2: set_set_set_nat] :
      ( ( member_set_set_nat @ X4 @ A2 )
     => ~ ! [B5: set_set_set_nat] :
            ( ( A2
              = ( insert_set_set_nat @ X4 @ B5 ) )
           => ( member_set_set_nat @ X4 @ B5 ) ) ) ).

% Set.set_insert
thf(fact_293_Set_Oset__insert,axiom,
    ! [X4: set_nat,A2: set_set_nat] :
      ( ( member_set_nat @ X4 @ A2 )
     => ~ ! [B5: set_set_nat] :
            ( ( A2
              = ( insert_set_nat @ X4 @ B5 ) )
           => ( member_set_nat @ X4 @ B5 ) ) ) ).

% Set.set_insert
thf(fact_294_Set_Oset__insert,axiom,
    ! [X4: nat,A2: set_nat] :
      ( ( member_nat @ X4 @ A2 )
     => ~ ! [B5: set_nat] :
            ( ( A2
              = ( insert_nat @ X4 @ B5 ) )
           => ( member_nat @ X4 @ B5 ) ) ) ).

% Set.set_insert
thf(fact_295_insert__ident,axiom,
    ! [X4: set_set_nat,A2: set_set_set_nat,B2: set_set_set_nat] :
      ( ~ ( member_set_set_nat @ X4 @ A2 )
     => ( ~ ( member_set_set_nat @ X4 @ B2 )
       => ( ( ( insert_set_set_nat @ X4 @ A2 )
            = ( insert_set_set_nat @ X4 @ B2 ) )
          = ( A2 = B2 ) ) ) ) ).

% insert_ident
thf(fact_296_insert__ident,axiom,
    ! [X4: set_nat,A2: set_set_nat,B2: set_set_nat] :
      ( ~ ( member_set_nat @ X4 @ A2 )
     => ( ~ ( member_set_nat @ X4 @ B2 )
       => ( ( ( insert_set_nat @ X4 @ A2 )
            = ( insert_set_nat @ X4 @ B2 ) )
          = ( A2 = B2 ) ) ) ) ).

% insert_ident
thf(fact_297_insert__ident,axiom,
    ! [X4: nat,A2: set_nat,B2: set_nat] :
      ( ~ ( member_nat @ X4 @ A2 )
     => ( ~ ( member_nat @ X4 @ B2 )
       => ( ( ( insert_nat @ X4 @ A2 )
            = ( insert_nat @ X4 @ B2 ) )
          = ( A2 = B2 ) ) ) ) ).

% insert_ident
thf(fact_298_insert__absorb,axiom,
    ! [A: set_set_nat,A2: set_set_set_nat] :
      ( ( member_set_set_nat @ A @ A2 )
     => ( ( insert_set_set_nat @ A @ A2 )
        = A2 ) ) ).

% insert_absorb
thf(fact_299_insert__absorb,axiom,
    ! [A: set_nat,A2: set_set_nat] :
      ( ( member_set_nat @ A @ A2 )
     => ( ( insert_set_nat @ A @ A2 )
        = A2 ) ) ).

% insert_absorb
thf(fact_300_insert__absorb,axiom,
    ! [A: nat,A2: set_nat] :
      ( ( member_nat @ A @ A2 )
     => ( ( insert_nat @ A @ A2 )
        = A2 ) ) ).

% insert_absorb
thf(fact_301_insert__eq__iff,axiom,
    ! [A: set_set_nat,A2: set_set_set_nat,B: set_set_nat,B2: set_set_set_nat] :
      ( ~ ( member_set_set_nat @ A @ A2 )
     => ( ~ ( member_set_set_nat @ B @ B2 )
       => ( ( ( insert_set_set_nat @ A @ A2 )
            = ( insert_set_set_nat @ B @ B2 ) )
          = ( ( ( A = B )
             => ( A2 = B2 ) )
            & ( ( A != B )
             => ? [C2: set_set_set_nat] :
                  ( ( A2
                    = ( insert_set_set_nat @ B @ C2 ) )
                  & ~ ( member_set_set_nat @ B @ C2 )
                  & ( B2
                    = ( insert_set_set_nat @ A @ C2 ) )
                  & ~ ( member_set_set_nat @ A @ C2 ) ) ) ) ) ) ) ).

% insert_eq_iff
thf(fact_302_insert__eq__iff,axiom,
    ! [A: set_nat,A2: set_set_nat,B: set_nat,B2: set_set_nat] :
      ( ~ ( member_set_nat @ A @ A2 )
     => ( ~ ( member_set_nat @ B @ B2 )
       => ( ( ( insert_set_nat @ A @ A2 )
            = ( insert_set_nat @ B @ B2 ) )
          = ( ( ( A = B )
             => ( A2 = B2 ) )
            & ( ( A != B )
             => ? [C2: set_set_nat] :
                  ( ( A2
                    = ( insert_set_nat @ B @ C2 ) )
                  & ~ ( member_set_nat @ B @ C2 )
                  & ( B2
                    = ( insert_set_nat @ A @ C2 ) )
                  & ~ ( member_set_nat @ A @ C2 ) ) ) ) ) ) ) ).

% insert_eq_iff
thf(fact_303_insert__eq__iff,axiom,
    ! [A: nat,A2: set_nat,B: nat,B2: set_nat] :
      ( ~ ( member_nat @ A @ A2 )
     => ( ~ ( member_nat @ B @ B2 )
       => ( ( ( insert_nat @ A @ A2 )
            = ( insert_nat @ B @ B2 ) )
          = ( ( ( A = B )
             => ( A2 = B2 ) )
            & ( ( A != B )
             => ? [C2: set_nat] :
                  ( ( A2
                    = ( insert_nat @ B @ C2 ) )
                  & ~ ( member_nat @ B @ C2 )
                  & ( B2
                    = ( insert_nat @ A @ C2 ) )
                  & ~ ( member_nat @ A @ C2 ) ) ) ) ) ) ) ).

% insert_eq_iff
thf(fact_304_insert__commute,axiom,
    ! [X4: set_nat,Y: set_nat,A2: set_set_nat] :
      ( ( insert_set_nat @ X4 @ ( insert_set_nat @ Y @ A2 ) )
      = ( insert_set_nat @ Y @ ( insert_set_nat @ X4 @ A2 ) ) ) ).

% insert_commute
thf(fact_305_insert__commute,axiom,
    ! [X4: nat,Y: nat,A2: set_nat] :
      ( ( insert_nat @ X4 @ ( insert_nat @ Y @ A2 ) )
      = ( insert_nat @ Y @ ( insert_nat @ X4 @ A2 ) ) ) ).

% insert_commute
thf(fact_306_mk__disjoint__insert,axiom,
    ! [A: set_set_nat,A2: set_set_set_nat] :
      ( ( member_set_set_nat @ A @ A2 )
     => ? [B5: set_set_set_nat] :
          ( ( A2
            = ( insert_set_set_nat @ A @ B5 ) )
          & ~ ( member_set_set_nat @ A @ B5 ) ) ) ).

% mk_disjoint_insert
thf(fact_307_mk__disjoint__insert,axiom,
    ! [A: set_nat,A2: set_set_nat] :
      ( ( member_set_nat @ A @ A2 )
     => ? [B5: set_set_nat] :
          ( ( A2
            = ( insert_set_nat @ A @ B5 ) )
          & ~ ( member_set_nat @ A @ B5 ) ) ) ).

% mk_disjoint_insert
thf(fact_308_mk__disjoint__insert,axiom,
    ! [A: nat,A2: set_nat] :
      ( ( member_nat @ A @ A2 )
     => ? [B5: set_nat] :
          ( ( A2
            = ( insert_nat @ A @ B5 ) )
          & ~ ( member_nat @ A @ B5 ) ) ) ).

% mk_disjoint_insert
thf(fact_309_insert__Diff__if,axiom,
    ! [X4: set_set_nat,B2: set_set_set_nat,A2: set_set_set_nat] :
      ( ( ( member_set_set_nat @ X4 @ B2 )
       => ( ( minus_2447799839930672331et_nat @ ( insert_set_set_nat @ X4 @ A2 ) @ B2 )
          = ( minus_2447799839930672331et_nat @ A2 @ B2 ) ) )
      & ( ~ ( member_set_set_nat @ X4 @ B2 )
       => ( ( minus_2447799839930672331et_nat @ ( insert_set_set_nat @ X4 @ A2 ) @ B2 )
          = ( insert_set_set_nat @ X4 @ ( minus_2447799839930672331et_nat @ A2 @ B2 ) ) ) ) ) ).

% insert_Diff_if
thf(fact_310_insert__Diff__if,axiom,
    ! [X4: set_nat,B2: set_set_nat,A2: set_set_nat] :
      ( ( ( member_set_nat @ X4 @ B2 )
       => ( ( minus_2163939370556025621et_nat @ ( insert_set_nat @ X4 @ A2 ) @ B2 )
          = ( minus_2163939370556025621et_nat @ A2 @ B2 ) ) )
      & ( ~ ( member_set_nat @ X4 @ B2 )
       => ( ( minus_2163939370556025621et_nat @ ( insert_set_nat @ X4 @ A2 ) @ B2 )
          = ( insert_set_nat @ X4 @ ( minus_2163939370556025621et_nat @ A2 @ B2 ) ) ) ) ) ).

% insert_Diff_if
thf(fact_311_insert__Diff__if,axiom,
    ! [X4: nat,B2: set_nat,A2: set_nat] :
      ( ( ( member_nat @ X4 @ B2 )
       => ( ( minus_minus_set_nat @ ( insert_nat @ X4 @ A2 ) @ B2 )
          = ( minus_minus_set_nat @ A2 @ B2 ) ) )
      & ( ~ ( member_nat @ X4 @ B2 )
       => ( ( minus_minus_set_nat @ ( insert_nat @ X4 @ A2 ) @ B2 )
          = ( insert_nat @ X4 @ ( minus_minus_set_nat @ A2 @ B2 ) ) ) ) ) ).

% insert_Diff_if
thf(fact_312_Pow__top,axiom,
    ! [A2: set_set_nat] : ( member_set_set_nat @ A2 @ ( pow_set_nat @ A2 ) ) ).

% Pow_top
thf(fact_313_Pow__top,axiom,
    ! [A2: set_nat] : ( member_set_nat @ A2 @ ( pow_nat @ A2 ) ) ).

% Pow_top
thf(fact_314_card__insert__le__m1,axiom,
    ! [N: nat,Y: set_set_nat,X4: set_nat] :
      ( ( ord_less_nat @ zero_zero_nat @ N )
     => ( ( ord_less_eq_nat @ ( finite_card_set_nat @ Y ) @ ( minus_minus_nat @ N @ one_one_nat ) )
       => ( ord_less_eq_nat @ ( finite_card_set_nat @ ( insert_set_nat @ X4 @ Y ) ) @ N ) ) ) ).

% card_insert_le_m1
thf(fact_315_card__insert__le__m1,axiom,
    ! [N: nat,Y: set_nat,X4: nat] :
      ( ( ord_less_nat @ zero_zero_nat @ N )
     => ( ( ord_less_eq_nat @ ( finite_card_nat @ Y ) @ ( minus_minus_nat @ N @ one_one_nat ) )
       => ( ord_less_eq_nat @ ( finite_card_nat @ ( insert_nat @ X4 @ Y ) ) @ N ) ) ) ).

% card_insert_le_m1
thf(fact_316_insert__compr,axiom,
    ( insert_set_set_nat
    = ( ^ [A4: set_set_nat,B3: set_set_set_nat] :
          ( collect_set_set_nat
          @ ^ [X: set_set_nat] :
              ( ( X = A4 )
              | ( member_set_set_nat @ X @ B3 ) ) ) ) ) ).

% insert_compr
thf(fact_317_insert__compr,axiom,
    ( insert_set_nat
    = ( ^ [A4: set_nat,B3: set_set_nat] :
          ( collect_set_nat
          @ ^ [X: set_nat] :
              ( ( X = A4 )
              | ( member_set_nat @ X @ B3 ) ) ) ) ) ).

% insert_compr
thf(fact_318_insert__compr,axiom,
    ( insert_nat
    = ( ^ [A4: nat,B3: set_nat] :
          ( collect_nat
          @ ^ [X: nat] :
              ( ( X = A4 )
              | ( member_nat @ X @ B3 ) ) ) ) ) ).

% insert_compr
thf(fact_319_insert__Collect,axiom,
    ! [A: set_nat,P: set_nat > $o] :
      ( ( insert_set_nat @ A @ ( collect_set_nat @ P ) )
      = ( collect_set_nat
        @ ^ [U2: set_nat] :
            ( ( U2 != A )
           => ( P @ U2 ) ) ) ) ).

% insert_Collect
thf(fact_320_insert__Collect,axiom,
    ! [A: nat,P: nat > $o] :
      ( ( insert_nat @ A @ ( collect_nat @ P ) )
      = ( collect_nat
        @ ^ [U2: nat] :
            ( ( U2 != A )
           => ( P @ U2 ) ) ) ) ).

% insert_Collect
thf(fact_321_zero__neq__one,axiom,
    zero_zero_nat != one_one_nat ).

% zero_neq_one
thf(fact_322_zero__less__binomial__iff,axiom,
    ! [N: nat,K2: nat] :
      ( ( ord_less_nat @ zero_zero_nat @ ( binomial @ N @ K2 ) )
      = ( ord_less_eq_nat @ K2 @ N ) ) ).

% zero_less_binomial_iff
thf(fact_323_binomial__def,axiom,
    ( binomial
    = ( ^ [N4: nat,K4: nat] :
          ( finite_card_set_nat
          @ ( collect_set_nat
            @ ^ [K: set_nat] :
                ( ( member_set_nat @ K @ ( pow_nat @ ( set_or4665077453230672383an_nat @ zero_zero_nat @ N4 ) ) )
                & ( ( finite_card_nat @ K )
                  = K4 ) ) ) ) ) ) ).

% binomial_def
thf(fact_324_binomial__n__0,axiom,
    ! [N: nat] :
      ( ( binomial @ N @ zero_zero_nat )
      = one_one_nat ) ).

% binomial_n_0
thf(fact_325_binomial__eq__0__iff,axiom,
    ! [N: nat,K2: nat] :
      ( ( ( binomial @ N @ K2 )
        = zero_zero_nat )
      = ( ord_less_nat @ N @ K2 ) ) ).

% binomial_eq_0_iff
thf(fact_326_binomial__1,axiom,
    ! [N: nat] :
      ( ( binomial @ N @ ( suc @ zero_zero_nat ) )
      = N ) ).

% binomial_1
thf(fact_327_binomial__0__Suc,axiom,
    ! [K2: nat] :
      ( ( binomial @ zero_zero_nat @ ( suc @ K2 ) )
      = zero_zero_nat ) ).

% binomial_0_Suc
thf(fact_328_binomial__n__n,axiom,
    ! [N: nat] :
      ( ( binomial @ N @ N )
      = one_one_nat ) ).

% binomial_n_n
thf(fact_329_max__min__same_I1_J,axiom,
    ! [X4: nat,Y: nat] :
      ( ( ord_max_nat @ X4 @ ( ord_min_nat @ X4 @ Y ) )
      = X4 ) ).

% max_min_same(1)
thf(fact_330_max__min__same_I2_J,axiom,
    ! [X4: nat,Y: nat] :
      ( ( ord_max_nat @ ( ord_min_nat @ X4 @ Y ) @ X4 )
      = X4 ) ).

% max_min_same(2)
thf(fact_331_order__refl,axiom,
    ! [X4: set_set_nat] : ( ord_le6893508408891458716et_nat @ X4 @ X4 ) ).

% order_refl
thf(fact_332_order__refl,axiom,
    ! [X4: nat > $o] : ( ord_less_eq_nat_o @ X4 @ X4 ) ).

% order_refl
thf(fact_333_order__refl,axiom,
    ! [X4: set_nat > $o] : ( ord_le3964352015994296041_nat_o @ X4 @ X4 ) ).

% order_refl
thf(fact_334_order__refl,axiom,
    ! [X4: nat] : ( ord_less_eq_nat @ X4 @ X4 ) ).

% order_refl
thf(fact_335_order__refl,axiom,
    ! [X4: set_nat] : ( ord_less_eq_set_nat @ X4 @ X4 ) ).

% order_refl
thf(fact_336_dual__order_Orefl,axiom,
    ! [A: set_set_nat] : ( ord_le6893508408891458716et_nat @ A @ A ) ).

% dual_order.refl
thf(fact_337_dual__order_Orefl,axiom,
    ! [A: nat > $o] : ( ord_less_eq_nat_o @ A @ A ) ).

% dual_order.refl
thf(fact_338_dual__order_Orefl,axiom,
    ! [A: set_nat > $o] : ( ord_le3964352015994296041_nat_o @ A @ A ) ).

% dual_order.refl
thf(fact_339_dual__order_Orefl,axiom,
    ! [A: nat] : ( ord_less_eq_nat @ A @ A ) ).

% dual_order.refl
thf(fact_340_dual__order_Orefl,axiom,
    ! [A: set_nat] : ( ord_less_eq_set_nat @ A @ A ) ).

% dual_order.refl
thf(fact_341_subset__antisym,axiom,
    ! [A2: set_set_nat,B2: set_set_nat] :
      ( ( ord_le6893508408891458716et_nat @ A2 @ B2 )
     => ( ( ord_le6893508408891458716et_nat @ B2 @ A2 )
       => ( A2 = B2 ) ) ) ).

% subset_antisym
thf(fact_342_subset__antisym,axiom,
    ! [A2: set_nat,B2: set_nat] :
      ( ( ord_less_eq_set_nat @ A2 @ B2 )
     => ( ( ord_less_eq_set_nat @ B2 @ A2 )
       => ( A2 = B2 ) ) ) ).

% subset_antisym
thf(fact_343_subsetI,axiom,
    ! [A2: set_set_set_nat,B2: set_set_set_nat] :
      ( ! [X3: set_set_nat] :
          ( ( member_set_set_nat @ X3 @ A2 )
         => ( member_set_set_nat @ X3 @ B2 ) )
     => ( ord_le9131159989063066194et_nat @ A2 @ B2 ) ) ).

% subsetI
thf(fact_344_subsetI,axiom,
    ! [A2: set_set_nat,B2: set_set_nat] :
      ( ! [X3: set_nat] :
          ( ( member_set_nat @ X3 @ A2 )
         => ( member_set_nat @ X3 @ B2 ) )
     => ( ord_le6893508408891458716et_nat @ A2 @ B2 ) ) ).

% subsetI
thf(fact_345_subsetI,axiom,
    ! [A2: set_nat,B2: set_nat] :
      ( ! [X3: nat] :
          ( ( member_nat @ X3 @ A2 )
         => ( member_nat @ X3 @ B2 ) )
     => ( ord_less_eq_set_nat @ A2 @ B2 ) ) ).

% subsetI
thf(fact_346_insert__subset,axiom,
    ! [X4: set_set_nat,A2: set_set_set_nat,B2: set_set_set_nat] :
      ( ( ord_le9131159989063066194et_nat @ ( insert_set_set_nat @ X4 @ A2 ) @ B2 )
      = ( ( member_set_set_nat @ X4 @ B2 )
        & ( ord_le9131159989063066194et_nat @ A2 @ B2 ) ) ) ).

% insert_subset
thf(fact_347_insert__subset,axiom,
    ! [X4: set_nat,A2: set_set_nat,B2: set_set_nat] :
      ( ( ord_le6893508408891458716et_nat @ ( insert_set_nat @ X4 @ A2 ) @ B2 )
      = ( ( member_set_nat @ X4 @ B2 )
        & ( ord_le6893508408891458716et_nat @ A2 @ B2 ) ) ) ).

% insert_subset
thf(fact_348_insert__subset,axiom,
    ! [X4: nat,A2: set_nat,B2: set_nat] :
      ( ( ord_less_eq_set_nat @ ( insert_nat @ X4 @ A2 ) @ B2 )
      = ( ( member_nat @ X4 @ B2 )
        & ( ord_less_eq_set_nat @ A2 @ B2 ) ) ) ).

% insert_subset
thf(fact_349_psubsetI,axiom,
    ! [A2: set_set_nat,B2: set_set_nat] :
      ( ( ord_le6893508408891458716et_nat @ A2 @ B2 )
     => ( ( A2 != B2 )
       => ( ord_less_set_set_nat @ A2 @ B2 ) ) ) ).

% psubsetI
thf(fact_350_psubsetI,axiom,
    ! [A2: set_nat,B2: set_nat] :
      ( ( ord_less_eq_set_nat @ A2 @ B2 )
     => ( ( A2 != B2 )
       => ( ord_less_set_nat @ A2 @ B2 ) ) ) ).

% psubsetI
thf(fact_351_binomial__Suc__n,axiom,
    ! [N: nat] :
      ( ( binomial @ ( suc @ N ) @ N )
      = ( suc @ N ) ) ).

% binomial_Suc_n
thf(fact_352_max__min__same_I4_J,axiom,
    ! [Y: nat,X4: nat] :
      ( ( ord_max_nat @ Y @ ( ord_min_nat @ X4 @ Y ) )
      = Y ) ).

% max_min_same(4)
thf(fact_353_max__min__same_I3_J,axiom,
    ! [X4: nat,Y: nat] :
      ( ( ord_max_nat @ ( ord_min_nat @ X4 @ Y ) @ Y )
      = Y ) ).

% max_min_same(3)
thf(fact_354_Pow__iff,axiom,
    ! [A2: set_set_nat,B2: set_set_nat] :
      ( ( member_set_set_nat @ A2 @ ( pow_set_nat @ B2 ) )
      = ( ord_le6893508408891458716et_nat @ A2 @ B2 ) ) ).

% Pow_iff
thf(fact_355_Pow__iff,axiom,
    ! [A2: set_nat,B2: set_nat] :
      ( ( member_set_nat @ A2 @ ( pow_nat @ B2 ) )
      = ( ord_less_eq_set_nat @ A2 @ B2 ) ) ).

% Pow_iff
thf(fact_356_PowI,axiom,
    ! [A2: set_set_nat,B2: set_set_nat] :
      ( ( ord_le6893508408891458716et_nat @ A2 @ B2 )
     => ( member_set_set_nat @ A2 @ ( pow_set_nat @ B2 ) ) ) ).

% PowI
thf(fact_357_PowI,axiom,
    ! [A2: set_nat,B2: set_nat] :
      ( ( ord_less_eq_set_nat @ A2 @ B2 )
     => ( member_set_nat @ A2 @ ( pow_nat @ B2 ) ) ) ).

% PowI
thf(fact_358_psubsetD,axiom,
    ! [A2: set_set_set_nat,B2: set_set_set_nat,C: set_set_nat] :
      ( ( ord_le152980574450754630et_nat @ A2 @ B2 )
     => ( ( member_set_set_nat @ C @ A2 )
       => ( member_set_set_nat @ C @ B2 ) ) ) ).

% psubsetD
thf(fact_359_psubsetD,axiom,
    ! [A2: set_set_nat,B2: set_set_nat,C: set_nat] :
      ( ( ord_less_set_set_nat @ A2 @ B2 )
     => ( ( member_set_nat @ C @ A2 )
       => ( member_set_nat @ C @ B2 ) ) ) ).

% psubsetD
thf(fact_360_psubsetD,axiom,
    ! [A2: set_nat,B2: set_nat,C: nat] :
      ( ( ord_less_set_nat @ A2 @ B2 )
     => ( ( member_nat @ C @ A2 )
       => ( member_nat @ C @ B2 ) ) ) ).

% psubsetD
thf(fact_361_psubsetE,axiom,
    ! [A2: set_set_nat,B2: set_set_nat] :
      ( ( ord_less_set_set_nat @ A2 @ B2 )
     => ~ ( ( ord_le6893508408891458716et_nat @ A2 @ B2 )
         => ( ord_le6893508408891458716et_nat @ B2 @ A2 ) ) ) ).

% psubsetE
thf(fact_362_psubsetE,axiom,
    ! [A2: set_nat,B2: set_nat] :
      ( ( ord_less_set_nat @ A2 @ B2 )
     => ~ ( ( ord_less_eq_set_nat @ A2 @ B2 )
         => ( ord_less_eq_set_nat @ B2 @ A2 ) ) ) ).

% psubsetE
thf(fact_363_psubset__eq,axiom,
    ( ord_less_set_set_nat
    = ( ^ [A3: set_set_nat,B3: set_set_nat] :
          ( ( ord_le6893508408891458716et_nat @ A3 @ B3 )
          & ( A3 != B3 ) ) ) ) ).

% psubset_eq
thf(fact_364_psubset__eq,axiom,
    ( ord_less_set_nat
    = ( ^ [A3: set_nat,B3: set_nat] :
          ( ( ord_less_eq_set_nat @ A3 @ B3 )
          & ( A3 != B3 ) ) ) ) ).

% psubset_eq
thf(fact_365_less__set__def,axiom,
    ( ord_le152980574450754630et_nat
    = ( ^ [A3: set_set_set_nat,B3: set_set_set_nat] :
          ( ord_le466346588697744319_nat_o
          @ ^ [X: set_set_nat] : ( member_set_set_nat @ X @ A3 )
          @ ^ [X: set_set_nat] : ( member_set_set_nat @ X @ B3 ) ) ) ) ).

% less_set_def
thf(fact_366_less__set__def,axiom,
    ( ord_less_set_set_nat
    = ( ^ [A3: set_set_nat,B3: set_set_nat] :
          ( ord_less_set_nat_o
          @ ^ [X: set_nat] : ( member_set_nat @ X @ A3 )
          @ ^ [X: set_nat] : ( member_set_nat @ X @ B3 ) ) ) ) ).

% less_set_def
thf(fact_367_less__set__def,axiom,
    ( ord_less_set_nat
    = ( ^ [A3: set_nat,B3: set_nat] :
          ( ord_less_nat_o
          @ ^ [X: nat] : ( member_nat @ X @ A3 )
          @ ^ [X: nat] : ( member_nat @ X @ B3 ) ) ) ) ).

% less_set_def
thf(fact_368_psubset__trans,axiom,
    ! [A2: set_nat,B2: set_nat,C3: set_nat] :
      ( ( ord_less_set_nat @ A2 @ B2 )
     => ( ( ord_less_set_nat @ B2 @ C3 )
       => ( ord_less_set_nat @ A2 @ C3 ) ) ) ).

% psubset_trans
thf(fact_369_psubset__trans,axiom,
    ! [A2: set_set_nat,B2: set_set_nat,C3: set_set_nat] :
      ( ( ord_less_set_set_nat @ A2 @ B2 )
     => ( ( ord_less_set_set_nat @ B2 @ C3 )
       => ( ord_less_set_set_nat @ A2 @ C3 ) ) ) ).

% psubset_trans
thf(fact_370_psubset__imp__subset,axiom,
    ! [A2: set_set_nat,B2: set_set_nat] :
      ( ( ord_less_set_set_nat @ A2 @ B2 )
     => ( ord_le6893508408891458716et_nat @ A2 @ B2 ) ) ).

% psubset_imp_subset
thf(fact_371_psubset__imp__subset,axiom,
    ! [A2: set_nat,B2: set_nat] :
      ( ( ord_less_set_nat @ A2 @ B2 )
     => ( ord_less_eq_set_nat @ A2 @ B2 ) ) ).

% psubset_imp_subset
thf(fact_372_psubset__subset__trans,axiom,
    ! [A2: set_set_nat,B2: set_set_nat,C3: set_set_nat] :
      ( ( ord_less_set_set_nat @ A2 @ B2 )
     => ( ( ord_le6893508408891458716et_nat @ B2 @ C3 )
       => ( ord_less_set_set_nat @ A2 @ C3 ) ) ) ).

% psubset_subset_trans
thf(fact_373_psubset__subset__trans,axiom,
    ! [A2: set_nat,B2: set_nat,C3: set_nat] :
      ( ( ord_less_set_nat @ A2 @ B2 )
     => ( ( ord_less_eq_set_nat @ B2 @ C3 )
       => ( ord_less_set_nat @ A2 @ C3 ) ) ) ).

% psubset_subset_trans
thf(fact_374_subset__not__subset__eq,axiom,
    ( ord_less_set_set_nat
    = ( ^ [A3: set_set_nat,B3: set_set_nat] :
          ( ( ord_le6893508408891458716et_nat @ A3 @ B3 )
          & ~ ( ord_le6893508408891458716et_nat @ B3 @ A3 ) ) ) ) ).

% subset_not_subset_eq
thf(fact_375_subset__not__subset__eq,axiom,
    ( ord_less_set_nat
    = ( ^ [A3: set_nat,B3: set_nat] :
          ( ( ord_less_eq_set_nat @ A3 @ B3 )
          & ~ ( ord_less_eq_set_nat @ B3 @ A3 ) ) ) ) ).

% subset_not_subset_eq
thf(fact_376_subset__psubset__trans,axiom,
    ! [A2: set_set_nat,B2: set_set_nat,C3: set_set_nat] :
      ( ( ord_le6893508408891458716et_nat @ A2 @ B2 )
     => ( ( ord_less_set_set_nat @ B2 @ C3 )
       => ( ord_less_set_set_nat @ A2 @ C3 ) ) ) ).

% subset_psubset_trans
thf(fact_377_subset__psubset__trans,axiom,
    ! [A2: set_nat,B2: set_nat,C3: set_nat] :
      ( ( ord_less_eq_set_nat @ A2 @ B2 )
     => ( ( ord_less_set_nat @ B2 @ C3 )
       => ( ord_less_set_nat @ A2 @ C3 ) ) ) ).

% subset_psubset_trans
thf(fact_378_subset__iff__psubset__eq,axiom,
    ( ord_le6893508408891458716et_nat
    = ( ^ [A3: set_set_nat,B3: set_set_nat] :
          ( ( ord_less_set_set_nat @ A3 @ B3 )
          | ( A3 = B3 ) ) ) ) ).

% subset_iff_psubset_eq
thf(fact_379_subset__iff__psubset__eq,axiom,
    ( ord_less_eq_set_nat
    = ( ^ [A3: set_nat,B3: set_nat] :
          ( ( ord_less_set_nat @ A3 @ B3 )
          | ( A3 = B3 ) ) ) ) ).

% subset_iff_psubset_eq
thf(fact_380_Collect__mono__iff,axiom,
    ! [P: set_nat > $o,Q: set_nat > $o] :
      ( ( ord_le6893508408891458716et_nat @ ( collect_set_nat @ P ) @ ( collect_set_nat @ Q ) )
      = ( ! [X: set_nat] :
            ( ( P @ X )
           => ( Q @ X ) ) ) ) ).

% Collect_mono_iff
thf(fact_381_Collect__mono__iff,axiom,
    ! [P: nat > $o,Q: nat > $o] :
      ( ( ord_less_eq_set_nat @ ( collect_nat @ P ) @ ( collect_nat @ Q ) )
      = ( ! [X: nat] :
            ( ( P @ X )
           => ( Q @ X ) ) ) ) ).

% Collect_mono_iff
thf(fact_382_less__eq__set__def,axiom,
    ( ord_le9131159989063066194et_nat
    = ( ^ [A3: set_set_set_nat,B3: set_set_set_nat] :
          ( ord_le3616423863276227763_nat_o
          @ ^ [X: set_set_nat] : ( member_set_set_nat @ X @ A3 )
          @ ^ [X: set_set_nat] : ( member_set_set_nat @ X @ B3 ) ) ) ) ).

% less_eq_set_def
thf(fact_383_less__eq__set__def,axiom,
    ( ord_le6893508408891458716et_nat
    = ( ^ [A3: set_set_nat,B3: set_set_nat] :
          ( ord_le3964352015994296041_nat_o
          @ ^ [X: set_nat] : ( member_set_nat @ X @ A3 )
          @ ^ [X: set_nat] : ( member_set_nat @ X @ B3 ) ) ) ) ).

% less_eq_set_def
thf(fact_384_less__eq__set__def,axiom,
    ( ord_less_eq_set_nat
    = ( ^ [A3: set_nat,B3: set_nat] :
          ( ord_less_eq_nat_o
          @ ^ [X: nat] : ( member_nat @ X @ A3 )
          @ ^ [X: nat] : ( member_nat @ X @ B3 ) ) ) ) ).

% less_eq_set_def
thf(fact_385_Collect__subset,axiom,
    ! [A2: set_set_set_nat,P: set_set_nat > $o] :
      ( ord_le9131159989063066194et_nat
      @ ( collect_set_set_nat
        @ ^ [X: set_set_nat] :
            ( ( member_set_set_nat @ X @ A2 )
            & ( P @ X ) ) )
      @ A2 ) ).

% Collect_subset
thf(fact_386_Collect__subset,axiom,
    ! [A2: set_set_nat,P: set_nat > $o] :
      ( ord_le6893508408891458716et_nat
      @ ( collect_set_nat
        @ ^ [X: set_nat] :
            ( ( member_set_nat @ X @ A2 )
            & ( P @ X ) ) )
      @ A2 ) ).

% Collect_subset
thf(fact_387_Collect__subset,axiom,
    ! [A2: set_nat,P: nat > $o] :
      ( ord_less_eq_set_nat
      @ ( collect_nat
        @ ^ [X: nat] :
            ( ( member_nat @ X @ A2 )
            & ( P @ X ) ) )
      @ A2 ) ).

% Collect_subset
thf(fact_388_set__eq__subset,axiom,
    ( ( ^ [Y5: set_set_nat,Z2: set_set_nat] : ( Y5 = Z2 ) )
    = ( ^ [A3: set_set_nat,B3: set_set_nat] :
          ( ( ord_le6893508408891458716et_nat @ A3 @ B3 )
          & ( ord_le6893508408891458716et_nat @ B3 @ A3 ) ) ) ) ).

% set_eq_subset
thf(fact_389_set__eq__subset,axiom,
    ( ( ^ [Y5: set_nat,Z2: set_nat] : ( Y5 = Z2 ) )
    = ( ^ [A3: set_nat,B3: set_nat] :
          ( ( ord_less_eq_set_nat @ A3 @ B3 )
          & ( ord_less_eq_set_nat @ B3 @ A3 ) ) ) ) ).

% set_eq_subset
thf(fact_390_subset__trans,axiom,
    ! [A2: set_set_nat,B2: set_set_nat,C3: set_set_nat] :
      ( ( ord_le6893508408891458716et_nat @ A2 @ B2 )
     => ( ( ord_le6893508408891458716et_nat @ B2 @ C3 )
       => ( ord_le6893508408891458716et_nat @ A2 @ C3 ) ) ) ).

% subset_trans
thf(fact_391_subset__trans,axiom,
    ! [A2: set_nat,B2: set_nat,C3: set_nat] :
      ( ( ord_less_eq_set_nat @ A2 @ B2 )
     => ( ( ord_less_eq_set_nat @ B2 @ C3 )
       => ( ord_less_eq_set_nat @ A2 @ C3 ) ) ) ).

% subset_trans
thf(fact_392_Collect__mono,axiom,
    ! [P: set_nat > $o,Q: set_nat > $o] :
      ( ! [X3: set_nat] :
          ( ( P @ X3 )
         => ( Q @ X3 ) )
     => ( ord_le6893508408891458716et_nat @ ( collect_set_nat @ P ) @ ( collect_set_nat @ Q ) ) ) ).

% Collect_mono
thf(fact_393_Collect__mono,axiom,
    ! [P: nat > $o,Q: nat > $o] :
      ( ! [X3: nat] :
          ( ( P @ X3 )
         => ( Q @ X3 ) )
     => ( ord_less_eq_set_nat @ ( collect_nat @ P ) @ ( collect_nat @ Q ) ) ) ).

% Collect_mono
thf(fact_394_subset__refl,axiom,
    ! [A2: set_set_nat] : ( ord_le6893508408891458716et_nat @ A2 @ A2 ) ).

% subset_refl
thf(fact_395_subset__refl,axiom,
    ! [A2: set_nat] : ( ord_less_eq_set_nat @ A2 @ A2 ) ).

% subset_refl
thf(fact_396_subset__iff,axiom,
    ( ord_le9131159989063066194et_nat
    = ( ^ [A3: set_set_set_nat,B3: set_set_set_nat] :
        ! [T2: set_set_nat] :
          ( ( member_set_set_nat @ T2 @ A3 )
         => ( member_set_set_nat @ T2 @ B3 ) ) ) ) ).

% subset_iff
thf(fact_397_subset__iff,axiom,
    ( ord_le6893508408891458716et_nat
    = ( ^ [A3: set_set_nat,B3: set_set_nat] :
        ! [T2: set_nat] :
          ( ( member_set_nat @ T2 @ A3 )
         => ( member_set_nat @ T2 @ B3 ) ) ) ) ).

% subset_iff
thf(fact_398_subset__iff,axiom,
    ( ord_less_eq_set_nat
    = ( ^ [A3: set_nat,B3: set_nat] :
        ! [T2: nat] :
          ( ( member_nat @ T2 @ A3 )
         => ( member_nat @ T2 @ B3 ) ) ) ) ).

% subset_iff
thf(fact_399_equalityD2,axiom,
    ! [A2: set_set_nat,B2: set_set_nat] :
      ( ( A2 = B2 )
     => ( ord_le6893508408891458716et_nat @ B2 @ A2 ) ) ).

% equalityD2
thf(fact_400_equalityD2,axiom,
    ! [A2: set_nat,B2: set_nat] :
      ( ( A2 = B2 )
     => ( ord_less_eq_set_nat @ B2 @ A2 ) ) ).

% equalityD2
thf(fact_401_equalityD1,axiom,
    ! [A2: set_set_nat,B2: set_set_nat] :
      ( ( A2 = B2 )
     => ( ord_le6893508408891458716et_nat @ A2 @ B2 ) ) ).

% equalityD1
thf(fact_402_equalityD1,axiom,
    ! [A2: set_nat,B2: set_nat] :
      ( ( A2 = B2 )
     => ( ord_less_eq_set_nat @ A2 @ B2 ) ) ).

% equalityD1
thf(fact_403_subset__eq,axiom,
    ( ord_le9131159989063066194et_nat
    = ( ^ [A3: set_set_set_nat,B3: set_set_set_nat] :
        ! [X: set_set_nat] :
          ( ( member_set_set_nat @ X @ A3 )
         => ( member_set_set_nat @ X @ B3 ) ) ) ) ).

% subset_eq
thf(fact_404_subset__eq,axiom,
    ( ord_le6893508408891458716et_nat
    = ( ^ [A3: set_set_nat,B3: set_set_nat] :
        ! [X: set_nat] :
          ( ( member_set_nat @ X @ A3 )
         => ( member_set_nat @ X @ B3 ) ) ) ) ).

% subset_eq
thf(fact_405_subset__eq,axiom,
    ( ord_less_eq_set_nat
    = ( ^ [A3: set_nat,B3: set_nat] :
        ! [X: nat] :
          ( ( member_nat @ X @ A3 )
         => ( member_nat @ X @ B3 ) ) ) ) ).

% subset_eq
thf(fact_406_equalityE,axiom,
    ! [A2: set_set_nat,B2: set_set_nat] :
      ( ( A2 = B2 )
     => ~ ( ( ord_le6893508408891458716et_nat @ A2 @ B2 )
         => ~ ( ord_le6893508408891458716et_nat @ B2 @ A2 ) ) ) ).

% equalityE
thf(fact_407_equalityE,axiom,
    ! [A2: set_nat,B2: set_nat] :
      ( ( A2 = B2 )
     => ~ ( ( ord_less_eq_set_nat @ A2 @ B2 )
         => ~ ( ord_less_eq_set_nat @ B2 @ A2 ) ) ) ).

% equalityE
thf(fact_408_Pow__mono,axiom,
    ! [A2: set_set_nat,B2: set_set_nat] :
      ( ( ord_le6893508408891458716et_nat @ A2 @ B2 )
     => ( ord_le9131159989063066194et_nat @ ( pow_set_nat @ A2 ) @ ( pow_set_nat @ B2 ) ) ) ).

% Pow_mono
thf(fact_409_Pow__mono,axiom,
    ! [A2: set_nat,B2: set_nat] :
      ( ( ord_less_eq_set_nat @ A2 @ B2 )
     => ( ord_le6893508408891458716et_nat @ ( pow_nat @ A2 ) @ ( pow_nat @ B2 ) ) ) ).

% Pow_mono
thf(fact_410_subsetD,axiom,
    ! [A2: set_set_set_nat,B2: set_set_set_nat,C: set_set_nat] :
      ( ( ord_le9131159989063066194et_nat @ A2 @ B2 )
     => ( ( member_set_set_nat @ C @ A2 )
       => ( member_set_set_nat @ C @ B2 ) ) ) ).

% subsetD
thf(fact_411_subsetD,axiom,
    ! [A2: set_set_nat,B2: set_set_nat,C: set_nat] :
      ( ( ord_le6893508408891458716et_nat @ A2 @ B2 )
     => ( ( member_set_nat @ C @ A2 )
       => ( member_set_nat @ C @ B2 ) ) ) ).

% subsetD
thf(fact_412_subsetD,axiom,
    ! [A2: set_nat,B2: set_nat,C: nat] :
      ( ( ord_less_eq_set_nat @ A2 @ B2 )
     => ( ( member_nat @ C @ A2 )
       => ( member_nat @ C @ B2 ) ) ) ).

% subsetD
thf(fact_413_in__mono,axiom,
    ! [A2: set_set_set_nat,B2: set_set_set_nat,X4: set_set_nat] :
      ( ( ord_le9131159989063066194et_nat @ A2 @ B2 )
     => ( ( member_set_set_nat @ X4 @ A2 )
       => ( member_set_set_nat @ X4 @ B2 ) ) ) ).

% in_mono
thf(fact_414_in__mono,axiom,
    ! [A2: set_set_nat,B2: set_set_nat,X4: set_nat] :
      ( ( ord_le6893508408891458716et_nat @ A2 @ B2 )
     => ( ( member_set_nat @ X4 @ A2 )
       => ( member_set_nat @ X4 @ B2 ) ) ) ).

% in_mono
thf(fact_415_in__mono,axiom,
    ! [A2: set_nat,B2: set_nat,X4: nat] :
      ( ( ord_less_eq_set_nat @ A2 @ B2 )
     => ( ( member_nat @ X4 @ A2 )
       => ( member_nat @ X4 @ B2 ) ) ) ).

% in_mono
thf(fact_416_subset__insertI2,axiom,
    ! [A2: set_set_nat,B2: set_set_nat,B: set_nat] :
      ( ( ord_le6893508408891458716et_nat @ A2 @ B2 )
     => ( ord_le6893508408891458716et_nat @ A2 @ ( insert_set_nat @ B @ B2 ) ) ) ).

% subset_insertI2
thf(fact_417_subset__insertI2,axiom,
    ! [A2: set_nat,B2: set_nat,B: nat] :
      ( ( ord_less_eq_set_nat @ A2 @ B2 )
     => ( ord_less_eq_set_nat @ A2 @ ( insert_nat @ B @ B2 ) ) ) ).

% subset_insertI2
thf(fact_418_subset__insertI,axiom,
    ! [B2: set_set_nat,A: set_nat] : ( ord_le6893508408891458716et_nat @ B2 @ ( insert_set_nat @ A @ B2 ) ) ).

% subset_insertI
thf(fact_419_subset__insertI,axiom,
    ! [B2: set_nat,A: nat] : ( ord_less_eq_set_nat @ B2 @ ( insert_nat @ A @ B2 ) ) ).

% subset_insertI
thf(fact_420_subset__insert,axiom,
    ! [X4: set_set_nat,A2: set_set_set_nat,B2: set_set_set_nat] :
      ( ~ ( member_set_set_nat @ X4 @ A2 )
     => ( ( ord_le9131159989063066194et_nat @ A2 @ ( insert_set_set_nat @ X4 @ B2 ) )
        = ( ord_le9131159989063066194et_nat @ A2 @ B2 ) ) ) ).

% subset_insert
thf(fact_421_subset__insert,axiom,
    ! [X4: set_nat,A2: set_set_nat,B2: set_set_nat] :
      ( ~ ( member_set_nat @ X4 @ A2 )
     => ( ( ord_le6893508408891458716et_nat @ A2 @ ( insert_set_nat @ X4 @ B2 ) )
        = ( ord_le6893508408891458716et_nat @ A2 @ B2 ) ) ) ).

% subset_insert
thf(fact_422_subset__insert,axiom,
    ! [X4: nat,A2: set_nat,B2: set_nat] :
      ( ~ ( member_nat @ X4 @ A2 )
     => ( ( ord_less_eq_set_nat @ A2 @ ( insert_nat @ X4 @ B2 ) )
        = ( ord_less_eq_set_nat @ A2 @ B2 ) ) ) ).

% subset_insert
thf(fact_423_insert__mono,axiom,
    ! [C3: set_set_nat,D2: set_set_nat,A: set_nat] :
      ( ( ord_le6893508408891458716et_nat @ C3 @ D2 )
     => ( ord_le6893508408891458716et_nat @ ( insert_set_nat @ A @ C3 ) @ ( insert_set_nat @ A @ D2 ) ) ) ).

% insert_mono
thf(fact_424_insert__mono,axiom,
    ! [C3: set_nat,D2: set_nat,A: nat] :
      ( ( ord_less_eq_set_nat @ C3 @ D2 )
     => ( ord_less_eq_set_nat @ ( insert_nat @ A @ C3 ) @ ( insert_nat @ A @ D2 ) ) ) ).

% insert_mono
thf(fact_425_double__diff,axiom,
    ! [A2: set_set_nat,B2: set_set_nat,C3: set_set_nat] :
      ( ( ord_le6893508408891458716et_nat @ A2 @ B2 )
     => ( ( ord_le6893508408891458716et_nat @ B2 @ C3 )
       => ( ( minus_2163939370556025621et_nat @ B2 @ ( minus_2163939370556025621et_nat @ C3 @ A2 ) )
          = A2 ) ) ) ).

% double_diff
thf(fact_426_double__diff,axiom,
    ! [A2: set_nat,B2: set_nat,C3: set_nat] :
      ( ( ord_less_eq_set_nat @ A2 @ B2 )
     => ( ( ord_less_eq_set_nat @ B2 @ C3 )
       => ( ( minus_minus_set_nat @ B2 @ ( minus_minus_set_nat @ C3 @ A2 ) )
          = A2 ) ) ) ).

% double_diff
thf(fact_427_Diff__subset,axiom,
    ! [A2: set_set_nat,B2: set_set_nat] : ( ord_le6893508408891458716et_nat @ ( minus_2163939370556025621et_nat @ A2 @ B2 ) @ A2 ) ).

% Diff_subset
thf(fact_428_Diff__subset,axiom,
    ! [A2: set_nat,B2: set_nat] : ( ord_less_eq_set_nat @ ( minus_minus_set_nat @ A2 @ B2 ) @ A2 ) ).

% Diff_subset
thf(fact_429_Diff__mono,axiom,
    ! [A2: set_set_nat,C3: set_set_nat,D2: set_set_nat,B2: set_set_nat] :
      ( ( ord_le6893508408891458716et_nat @ A2 @ C3 )
     => ( ( ord_le6893508408891458716et_nat @ D2 @ B2 )
       => ( ord_le6893508408891458716et_nat @ ( minus_2163939370556025621et_nat @ A2 @ B2 ) @ ( minus_2163939370556025621et_nat @ C3 @ D2 ) ) ) ) ).

% Diff_mono
thf(fact_430_Diff__mono,axiom,
    ! [A2: set_nat,C3: set_nat,D2: set_nat,B2: set_nat] :
      ( ( ord_less_eq_set_nat @ A2 @ C3 )
     => ( ( ord_less_eq_set_nat @ D2 @ B2 )
       => ( ord_less_eq_set_nat @ ( minus_minus_set_nat @ A2 @ B2 ) @ ( minus_minus_set_nat @ C3 @ D2 ) ) ) ) ).

% Diff_mono
thf(fact_431_PowD,axiom,
    ! [A2: set_set_nat,B2: set_set_nat] :
      ( ( member_set_set_nat @ A2 @ ( pow_set_nat @ B2 ) )
     => ( ord_le6893508408891458716et_nat @ A2 @ B2 ) ) ).

% PowD
thf(fact_432_PowD,axiom,
    ! [A2: set_nat,B2: set_nat] :
      ( ( member_set_nat @ A2 @ ( pow_nat @ B2 ) )
     => ( ord_less_eq_set_nat @ A2 @ B2 ) ) ).

% PowD
thf(fact_433_Pow__def,axiom,
    ( pow_set_nat
    = ( ^ [A3: set_set_nat] :
          ( collect_set_set_nat
          @ ^ [B3: set_set_nat] : ( ord_le6893508408891458716et_nat @ B3 @ A3 ) ) ) ) ).

% Pow_def
thf(fact_434_Pow__def,axiom,
    ( pow_nat
    = ( ^ [A3: set_nat] :
          ( collect_set_nat
          @ ^ [B3: set_nat] : ( ord_less_eq_set_nat @ B3 @ A3 ) ) ) ) ).

% Pow_def
thf(fact_435_subset__Diff__insert,axiom,
    ! [A2: set_set_set_nat,B2: set_set_set_nat,X4: set_set_nat,C3: set_set_set_nat] :
      ( ( ord_le9131159989063066194et_nat @ A2 @ ( minus_2447799839930672331et_nat @ B2 @ ( insert_set_set_nat @ X4 @ C3 ) ) )
      = ( ( ord_le9131159989063066194et_nat @ A2 @ ( minus_2447799839930672331et_nat @ B2 @ C3 ) )
        & ~ ( member_set_set_nat @ X4 @ A2 ) ) ) ).

% subset_Diff_insert
thf(fact_436_subset__Diff__insert,axiom,
    ! [A2: set_set_nat,B2: set_set_nat,X4: set_nat,C3: set_set_nat] :
      ( ( ord_le6893508408891458716et_nat @ A2 @ ( minus_2163939370556025621et_nat @ B2 @ ( insert_set_nat @ X4 @ C3 ) ) )
      = ( ( ord_le6893508408891458716et_nat @ A2 @ ( minus_2163939370556025621et_nat @ B2 @ C3 ) )
        & ~ ( member_set_nat @ X4 @ A2 ) ) ) ).

% subset_Diff_insert
thf(fact_437_subset__Diff__insert,axiom,
    ! [A2: set_nat,B2: set_nat,X4: nat,C3: set_nat] :
      ( ( ord_less_eq_set_nat @ A2 @ ( minus_minus_set_nat @ B2 @ ( insert_nat @ X4 @ C3 ) ) )
      = ( ( ord_less_eq_set_nat @ A2 @ ( minus_minus_set_nat @ B2 @ C3 ) )
        & ~ ( member_nat @ X4 @ A2 ) ) ) ).

% subset_Diff_insert
thf(fact_438_nle__le,axiom,
    ! [A: nat,B: nat] :
      ( ( ~ ( ord_less_eq_nat @ A @ B ) )
      = ( ( ord_less_eq_nat @ B @ A )
        & ( B != A ) ) ) ).

% nle_le
thf(fact_439_le__cases3,axiom,
    ! [X4: nat,Y: nat,Z3: nat] :
      ( ( ( ord_less_eq_nat @ X4 @ Y )
       => ~ ( ord_less_eq_nat @ Y @ Z3 ) )
     => ( ( ( ord_less_eq_nat @ Y @ X4 )
         => ~ ( ord_less_eq_nat @ X4 @ Z3 ) )
       => ( ( ( ord_less_eq_nat @ X4 @ Z3 )
           => ~ ( ord_less_eq_nat @ Z3 @ Y ) )
         => ( ( ( ord_less_eq_nat @ Z3 @ Y )
             => ~ ( ord_less_eq_nat @ Y @ X4 ) )
           => ( ( ( ord_less_eq_nat @ Y @ Z3 )
               => ~ ( ord_less_eq_nat @ Z3 @ X4 ) )
             => ~ ( ( ord_less_eq_nat @ Z3 @ X4 )
                 => ~ ( ord_less_eq_nat @ X4 @ Y ) ) ) ) ) ) ) ).

% le_cases3
thf(fact_440_order__class_Oorder__eq__iff,axiom,
    ( ( ^ [Y5: set_set_nat,Z2: set_set_nat] : ( Y5 = Z2 ) )
    = ( ^ [X: set_set_nat,Y6: set_set_nat] :
          ( ( ord_le6893508408891458716et_nat @ X @ Y6 )
          & ( ord_le6893508408891458716et_nat @ Y6 @ X ) ) ) ) ).

% order_class.order_eq_iff
thf(fact_441_order__class_Oorder__eq__iff,axiom,
    ( ( ^ [Y5: nat > $o,Z2: nat > $o] : ( Y5 = Z2 ) )
    = ( ^ [X: nat > $o,Y6: nat > $o] :
          ( ( ord_less_eq_nat_o @ X @ Y6 )
          & ( ord_less_eq_nat_o @ Y6 @ X ) ) ) ) ).

% order_class.order_eq_iff
thf(fact_442_order__class_Oorder__eq__iff,axiom,
    ( ( ^ [Y5: set_nat > $o,Z2: set_nat > $o] : ( Y5 = Z2 ) )
    = ( ^ [X: set_nat > $o,Y6: set_nat > $o] :
          ( ( ord_le3964352015994296041_nat_o @ X @ Y6 )
          & ( ord_le3964352015994296041_nat_o @ Y6 @ X ) ) ) ) ).

% order_class.order_eq_iff
thf(fact_443_order__class_Oorder__eq__iff,axiom,
    ( ( ^ [Y5: nat,Z2: nat] : ( Y5 = Z2 ) )
    = ( ^ [X: nat,Y6: nat] :
          ( ( ord_less_eq_nat @ X @ Y6 )
          & ( ord_less_eq_nat @ Y6 @ X ) ) ) ) ).

% order_class.order_eq_iff
thf(fact_444_order__class_Oorder__eq__iff,axiom,
    ( ( ^ [Y5: set_nat,Z2: set_nat] : ( Y5 = Z2 ) )
    = ( ^ [X: set_nat,Y6: set_nat] :
          ( ( ord_less_eq_set_nat @ X @ Y6 )
          & ( ord_less_eq_set_nat @ Y6 @ X ) ) ) ) ).

% order_class.order_eq_iff
thf(fact_445_ord__eq__le__trans,axiom,
    ! [A: set_set_nat,B: set_set_nat,C: set_set_nat] :
      ( ( A = B )
     => ( ( ord_le6893508408891458716et_nat @ B @ C )
       => ( ord_le6893508408891458716et_nat @ A @ C ) ) ) ).

% ord_eq_le_trans
thf(fact_446_ord__eq__le__trans,axiom,
    ! [A: nat > $o,B: nat > $o,C: nat > $o] :
      ( ( A = B )
     => ( ( ord_less_eq_nat_o @ B @ C )
       => ( ord_less_eq_nat_o @ A @ C ) ) ) ).

% ord_eq_le_trans
thf(fact_447_ord__eq__le__trans,axiom,
    ! [A: set_nat > $o,B: set_nat > $o,C: set_nat > $o] :
      ( ( A = B )
     => ( ( ord_le3964352015994296041_nat_o @ B @ C )
       => ( ord_le3964352015994296041_nat_o @ A @ C ) ) ) ).

% ord_eq_le_trans
thf(fact_448_ord__eq__le__trans,axiom,
    ! [A: nat,B: nat,C: nat] :
      ( ( A = B )
     => ( ( ord_less_eq_nat @ B @ C )
       => ( ord_less_eq_nat @ A @ C ) ) ) ).

% ord_eq_le_trans
thf(fact_449_ord__eq__le__trans,axiom,
    ! [A: set_nat,B: set_nat,C: set_nat] :
      ( ( A = B )
     => ( ( ord_less_eq_set_nat @ B @ C )
       => ( ord_less_eq_set_nat @ A @ C ) ) ) ).

% ord_eq_le_trans
thf(fact_450_ord__le__eq__trans,axiom,
    ! [A: set_set_nat,B: set_set_nat,C: set_set_nat] :
      ( ( ord_le6893508408891458716et_nat @ A @ B )
     => ( ( B = C )
       => ( ord_le6893508408891458716et_nat @ A @ C ) ) ) ).

% ord_le_eq_trans
thf(fact_451_ord__le__eq__trans,axiom,
    ! [A: nat > $o,B: nat > $o,C: nat > $o] :
      ( ( ord_less_eq_nat_o @ A @ B )
     => ( ( B = C )
       => ( ord_less_eq_nat_o @ A @ C ) ) ) ).

% ord_le_eq_trans
thf(fact_452_ord__le__eq__trans,axiom,
    ! [A: set_nat > $o,B: set_nat > $o,C: set_nat > $o] :
      ( ( ord_le3964352015994296041_nat_o @ A @ B )
     => ( ( B = C )
       => ( ord_le3964352015994296041_nat_o @ A @ C ) ) ) ).

% ord_le_eq_trans
thf(fact_453_ord__le__eq__trans,axiom,
    ! [A: nat,B: nat,C: nat] :
      ( ( ord_less_eq_nat @ A @ B )
     => ( ( B = C )
       => ( ord_less_eq_nat @ A @ C ) ) ) ).

% ord_le_eq_trans
thf(fact_454_ord__le__eq__trans,axiom,
    ! [A: set_nat,B: set_nat,C: set_nat] :
      ( ( ord_less_eq_set_nat @ A @ B )
     => ( ( B = C )
       => ( ord_less_eq_set_nat @ A @ C ) ) ) ).

% ord_le_eq_trans
thf(fact_455_order__antisym,axiom,
    ! [X4: set_set_nat,Y: set_set_nat] :
      ( ( ord_le6893508408891458716et_nat @ X4 @ Y )
     => ( ( ord_le6893508408891458716et_nat @ Y @ X4 )
       => ( X4 = Y ) ) ) ).

% order_antisym
thf(fact_456_order__antisym,axiom,
    ! [X4: nat > $o,Y: nat > $o] :
      ( ( ord_less_eq_nat_o @ X4 @ Y )
     => ( ( ord_less_eq_nat_o @ Y @ X4 )
       => ( X4 = Y ) ) ) ).

% order_antisym
thf(fact_457_order__antisym,axiom,
    ! [X4: set_nat > $o,Y: set_nat > $o] :
      ( ( ord_le3964352015994296041_nat_o @ X4 @ Y )
     => ( ( ord_le3964352015994296041_nat_o @ Y @ X4 )
       => ( X4 = Y ) ) ) ).

% order_antisym
thf(fact_458_order__antisym,axiom,
    ! [X4: nat,Y: nat] :
      ( ( ord_less_eq_nat @ X4 @ Y )
     => ( ( ord_less_eq_nat @ Y @ X4 )
       => ( X4 = Y ) ) ) ).

% order_antisym
thf(fact_459_order__antisym,axiom,
    ! [X4: set_nat,Y: set_nat] :
      ( ( ord_less_eq_set_nat @ X4 @ Y )
     => ( ( ord_less_eq_set_nat @ Y @ X4 )
       => ( X4 = Y ) ) ) ).

% order_antisym
thf(fact_460_order_Otrans,axiom,
    ! [A: set_set_nat,B: set_set_nat,C: set_set_nat] :
      ( ( ord_le6893508408891458716et_nat @ A @ B )
     => ( ( ord_le6893508408891458716et_nat @ B @ C )
       => ( ord_le6893508408891458716et_nat @ A @ C ) ) ) ).

% order.trans
thf(fact_461_order_Otrans,axiom,
    ! [A: nat > $o,B: nat > $o,C: nat > $o] :
      ( ( ord_less_eq_nat_o @ A @ B )
     => ( ( ord_less_eq_nat_o @ B @ C )
       => ( ord_less_eq_nat_o @ A @ C ) ) ) ).

% order.trans
thf(fact_462_order_Otrans,axiom,
    ! [A: set_nat > $o,B: set_nat > $o,C: set_nat > $o] :
      ( ( ord_le3964352015994296041_nat_o @ A @ B )
     => ( ( ord_le3964352015994296041_nat_o @ B @ C )
       => ( ord_le3964352015994296041_nat_o @ A @ C ) ) ) ).

% order.trans
thf(fact_463_order_Otrans,axiom,
    ! [A: nat,B: nat,C: nat] :
      ( ( ord_less_eq_nat @ A @ B )
     => ( ( ord_less_eq_nat @ B @ C )
       => ( ord_less_eq_nat @ A @ C ) ) ) ).

% order.trans
thf(fact_464_order_Otrans,axiom,
    ! [A: set_nat,B: set_nat,C: set_nat] :
      ( ( ord_less_eq_set_nat @ A @ B )
     => ( ( ord_less_eq_set_nat @ B @ C )
       => ( ord_less_eq_set_nat @ A @ C ) ) ) ).

% order.trans
thf(fact_465_order__trans,axiom,
    ! [X4: set_set_nat,Y: set_set_nat,Z3: set_set_nat] :
      ( ( ord_le6893508408891458716et_nat @ X4 @ Y )
     => ( ( ord_le6893508408891458716et_nat @ Y @ Z3 )
       => ( ord_le6893508408891458716et_nat @ X4 @ Z3 ) ) ) ).

% order_trans
thf(fact_466_order__trans,axiom,
    ! [X4: nat > $o,Y: nat > $o,Z3: nat > $o] :
      ( ( ord_less_eq_nat_o @ X4 @ Y )
     => ( ( ord_less_eq_nat_o @ Y @ Z3 )
       => ( ord_less_eq_nat_o @ X4 @ Z3 ) ) ) ).

% order_trans
thf(fact_467_order__trans,axiom,
    ! [X4: set_nat > $o,Y: set_nat > $o,Z3: set_nat > $o] :
      ( ( ord_le3964352015994296041_nat_o @ X4 @ Y )
     => ( ( ord_le3964352015994296041_nat_o @ Y @ Z3 )
       => ( ord_le3964352015994296041_nat_o @ X4 @ Z3 ) ) ) ).

% order_trans
thf(fact_468_order__trans,axiom,
    ! [X4: nat,Y: nat,Z3: nat] :
      ( ( ord_less_eq_nat @ X4 @ Y )
     => ( ( ord_less_eq_nat @ Y @ Z3 )
       => ( ord_less_eq_nat @ X4 @ Z3 ) ) ) ).

% order_trans
thf(fact_469_order__trans,axiom,
    ! [X4: set_nat,Y: set_nat,Z3: set_nat] :
      ( ( ord_less_eq_set_nat @ X4 @ Y )
     => ( ( ord_less_eq_set_nat @ Y @ Z3 )
       => ( ord_less_eq_set_nat @ X4 @ Z3 ) ) ) ).

% order_trans
thf(fact_470_linorder__wlog,axiom,
    ! [P: nat > nat > $o,A: nat,B: nat] :
      ( ! [A5: nat,B4: nat] :
          ( ( ord_less_eq_nat @ A5 @ B4 )
         => ( P @ A5 @ B4 ) )
     => ( ! [A5: nat,B4: nat] :
            ( ( P @ B4 @ A5 )
           => ( P @ A5 @ B4 ) )
       => ( P @ A @ B ) ) ) ).

% linorder_wlog
thf(fact_471_dual__order_Oeq__iff,axiom,
    ( ( ^ [Y5: set_set_nat,Z2: set_set_nat] : ( Y5 = Z2 ) )
    = ( ^ [A4: set_set_nat,B6: set_set_nat] :
          ( ( ord_le6893508408891458716et_nat @ B6 @ A4 )
          & ( ord_le6893508408891458716et_nat @ A4 @ B6 ) ) ) ) ).

% dual_order.eq_iff
thf(fact_472_dual__order_Oeq__iff,axiom,
    ( ( ^ [Y5: nat > $o,Z2: nat > $o] : ( Y5 = Z2 ) )
    = ( ^ [A4: nat > $o,B6: nat > $o] :
          ( ( ord_less_eq_nat_o @ B6 @ A4 )
          & ( ord_less_eq_nat_o @ A4 @ B6 ) ) ) ) ).

% dual_order.eq_iff
thf(fact_473_dual__order_Oeq__iff,axiom,
    ( ( ^ [Y5: set_nat > $o,Z2: set_nat > $o] : ( Y5 = Z2 ) )
    = ( ^ [A4: set_nat > $o,B6: set_nat > $o] :
          ( ( ord_le3964352015994296041_nat_o @ B6 @ A4 )
          & ( ord_le3964352015994296041_nat_o @ A4 @ B6 ) ) ) ) ).

% dual_order.eq_iff
thf(fact_474_dual__order_Oeq__iff,axiom,
    ( ( ^ [Y5: nat,Z2: nat] : ( Y5 = Z2 ) )
    = ( ^ [A4: nat,B6: nat] :
          ( ( ord_less_eq_nat @ B6 @ A4 )
          & ( ord_less_eq_nat @ A4 @ B6 ) ) ) ) ).

% dual_order.eq_iff
thf(fact_475_dual__order_Oeq__iff,axiom,
    ( ( ^ [Y5: set_nat,Z2: set_nat] : ( Y5 = Z2 ) )
    = ( ^ [A4: set_nat,B6: set_nat] :
          ( ( ord_less_eq_set_nat @ B6 @ A4 )
          & ( ord_less_eq_set_nat @ A4 @ B6 ) ) ) ) ).

% dual_order.eq_iff
thf(fact_476_dual__order_Oantisym,axiom,
    ! [B: set_set_nat,A: set_set_nat] :
      ( ( ord_le6893508408891458716et_nat @ B @ A )
     => ( ( ord_le6893508408891458716et_nat @ A @ B )
       => ( A = B ) ) ) ).

% dual_order.antisym
thf(fact_477_dual__order_Oantisym,axiom,
    ! [B: nat > $o,A: nat > $o] :
      ( ( ord_less_eq_nat_o @ B @ A )
     => ( ( ord_less_eq_nat_o @ A @ B )
       => ( A = B ) ) ) ).

% dual_order.antisym
thf(fact_478_dual__order_Oantisym,axiom,
    ! [B: set_nat > $o,A: set_nat > $o] :
      ( ( ord_le3964352015994296041_nat_o @ B @ A )
     => ( ( ord_le3964352015994296041_nat_o @ A @ B )
       => ( A = B ) ) ) ).

% dual_order.antisym
thf(fact_479_dual__order_Oantisym,axiom,
    ! [B: nat,A: nat] :
      ( ( ord_less_eq_nat @ B @ A )
     => ( ( ord_less_eq_nat @ A @ B )
       => ( A = B ) ) ) ).

% dual_order.antisym
thf(fact_480_dual__order_Oantisym,axiom,
    ! [B: set_nat,A: set_nat] :
      ( ( ord_less_eq_set_nat @ B @ A )
     => ( ( ord_less_eq_set_nat @ A @ B )
       => ( A = B ) ) ) ).

% dual_order.antisym
thf(fact_481_dual__order_Otrans,axiom,
    ! [B: set_set_nat,A: set_set_nat,C: set_set_nat] :
      ( ( ord_le6893508408891458716et_nat @ B @ A )
     => ( ( ord_le6893508408891458716et_nat @ C @ B )
       => ( ord_le6893508408891458716et_nat @ C @ A ) ) ) ).

% dual_order.trans
thf(fact_482_dual__order_Otrans,axiom,
    ! [B: nat > $o,A: nat > $o,C: nat > $o] :
      ( ( ord_less_eq_nat_o @ B @ A )
     => ( ( ord_less_eq_nat_o @ C @ B )
       => ( ord_less_eq_nat_o @ C @ A ) ) ) ).

% dual_order.trans
thf(fact_483_dual__order_Otrans,axiom,
    ! [B: set_nat > $o,A: set_nat > $o,C: set_nat > $o] :
      ( ( ord_le3964352015994296041_nat_o @ B @ A )
     => ( ( ord_le3964352015994296041_nat_o @ C @ B )
       => ( ord_le3964352015994296041_nat_o @ C @ A ) ) ) ).

% dual_order.trans
thf(fact_484_dual__order_Otrans,axiom,
    ! [B: nat,A: nat,C: nat] :
      ( ( ord_less_eq_nat @ B @ A )
     => ( ( ord_less_eq_nat @ C @ B )
       => ( ord_less_eq_nat @ C @ A ) ) ) ).

% dual_order.trans
thf(fact_485_dual__order_Otrans,axiom,
    ! [B: set_nat,A: set_nat,C: set_nat] :
      ( ( ord_less_eq_set_nat @ B @ A )
     => ( ( ord_less_eq_set_nat @ C @ B )
       => ( ord_less_eq_set_nat @ C @ A ) ) ) ).

% dual_order.trans
thf(fact_486_antisym,axiom,
    ! [A: set_set_nat,B: set_set_nat] :
      ( ( ord_le6893508408891458716et_nat @ A @ B )
     => ( ( ord_le6893508408891458716et_nat @ B @ A )
       => ( A = B ) ) ) ).

% antisym
thf(fact_487_antisym,axiom,
    ! [A: nat > $o,B: nat > $o] :
      ( ( ord_less_eq_nat_o @ A @ B )
     => ( ( ord_less_eq_nat_o @ B @ A )
       => ( A = B ) ) ) ).

% antisym
thf(fact_488_antisym,axiom,
    ! [A: set_nat > $o,B: set_nat > $o] :
      ( ( ord_le3964352015994296041_nat_o @ A @ B )
     => ( ( ord_le3964352015994296041_nat_o @ B @ A )
       => ( A = B ) ) ) ).

% antisym
thf(fact_489_antisym,axiom,
    ! [A: nat,B: nat] :
      ( ( ord_less_eq_nat @ A @ B )
     => ( ( ord_less_eq_nat @ B @ A )
       => ( A = B ) ) ) ).

% antisym
thf(fact_490_antisym,axiom,
    ! [A: set_nat,B: set_nat] :
      ( ( ord_less_eq_set_nat @ A @ B )
     => ( ( ord_less_eq_set_nat @ B @ A )
       => ( A = B ) ) ) ).

% antisym
thf(fact_491_le__funD,axiom,
    ! [F: nat > $o,G: nat > $o,X4: nat] :
      ( ( ord_less_eq_nat_o @ F @ G )
     => ( ord_less_eq_o @ ( F @ X4 ) @ ( G @ X4 ) ) ) ).

% le_funD
thf(fact_492_le__funD,axiom,
    ! [F: set_nat > $o,G: set_nat > $o,X4: set_nat] :
      ( ( ord_le3964352015994296041_nat_o @ F @ G )
     => ( ord_less_eq_o @ ( F @ X4 ) @ ( G @ X4 ) ) ) ).

% le_funD
thf(fact_493_le__funE,axiom,
    ! [F: nat > $o,G: nat > $o,X4: nat] :
      ( ( ord_less_eq_nat_o @ F @ G )
     => ( ord_less_eq_o @ ( F @ X4 ) @ ( G @ X4 ) ) ) ).

% le_funE
thf(fact_494_le__funE,axiom,
    ! [F: set_nat > $o,G: set_nat > $o,X4: set_nat] :
      ( ( ord_le3964352015994296041_nat_o @ F @ G )
     => ( ord_less_eq_o @ ( F @ X4 ) @ ( G @ X4 ) ) ) ).

% le_funE
thf(fact_495_le__funI,axiom,
    ! [F: nat > $o,G: nat > $o] :
      ( ! [X3: nat] : ( ord_less_eq_o @ ( F @ X3 ) @ ( G @ X3 ) )
     => ( ord_less_eq_nat_o @ F @ G ) ) ).

% le_funI
thf(fact_496_le__funI,axiom,
    ! [F: set_nat > $o,G: set_nat > $o] :
      ( ! [X3: set_nat] : ( ord_less_eq_o @ ( F @ X3 ) @ ( G @ X3 ) )
     => ( ord_le3964352015994296041_nat_o @ F @ G ) ) ).

% le_funI
thf(fact_497_le__fun__def,axiom,
    ( ord_less_eq_nat_o
    = ( ^ [F2: nat > $o,G2: nat > $o] :
        ! [X: nat] : ( ord_less_eq_o @ ( F2 @ X ) @ ( G2 @ X ) ) ) ) ).

% le_fun_def
thf(fact_498_le__fun__def,axiom,
    ( ord_le3964352015994296041_nat_o
    = ( ^ [F2: set_nat > $o,G2: set_nat > $o] :
        ! [X: set_nat] : ( ord_less_eq_o @ ( F2 @ X ) @ ( G2 @ X ) ) ) ) ).

% le_fun_def
thf(fact_499_Orderings_Oorder__eq__iff,axiom,
    ( ( ^ [Y5: set_set_nat,Z2: set_set_nat] : ( Y5 = Z2 ) )
    = ( ^ [A4: set_set_nat,B6: set_set_nat] :
          ( ( ord_le6893508408891458716et_nat @ A4 @ B6 )
          & ( ord_le6893508408891458716et_nat @ B6 @ A4 ) ) ) ) ).

% Orderings.order_eq_iff
thf(fact_500_Orderings_Oorder__eq__iff,axiom,
    ( ( ^ [Y5: nat > $o,Z2: nat > $o] : ( Y5 = Z2 ) )
    = ( ^ [A4: nat > $o,B6: nat > $o] :
          ( ( ord_less_eq_nat_o @ A4 @ B6 )
          & ( ord_less_eq_nat_o @ B6 @ A4 ) ) ) ) ).

% Orderings.order_eq_iff
thf(fact_501_Orderings_Oorder__eq__iff,axiom,
    ( ( ^ [Y5: set_nat > $o,Z2: set_nat > $o] : ( Y5 = Z2 ) )
    = ( ^ [A4: set_nat > $o,B6: set_nat > $o] :
          ( ( ord_le3964352015994296041_nat_o @ A4 @ B6 )
          & ( ord_le3964352015994296041_nat_o @ B6 @ A4 ) ) ) ) ).

% Orderings.order_eq_iff
thf(fact_502_Orderings_Oorder__eq__iff,axiom,
    ( ( ^ [Y5: nat,Z2: nat] : ( Y5 = Z2 ) )
    = ( ^ [A4: nat,B6: nat] :
          ( ( ord_less_eq_nat @ A4 @ B6 )
          & ( ord_less_eq_nat @ B6 @ A4 ) ) ) ) ).

% Orderings.order_eq_iff
thf(fact_503_Orderings_Oorder__eq__iff,axiom,
    ( ( ^ [Y5: set_nat,Z2: set_nat] : ( Y5 = Z2 ) )
    = ( ^ [A4: set_nat,B6: set_nat] :
          ( ( ord_less_eq_set_nat @ A4 @ B6 )
          & ( ord_less_eq_set_nat @ B6 @ A4 ) ) ) ) ).

% Orderings.order_eq_iff
thf(fact_504_order__subst1,axiom,
    ! [A: nat,F: nat > nat,B: nat,C: nat] :
      ( ( ord_less_eq_nat @ A @ ( F @ B ) )
     => ( ( ord_less_eq_nat @ B @ C )
       => ( ! [X3: nat,Y3: nat] :
              ( ( ord_less_eq_nat @ X3 @ Y3 )
             => ( ord_less_eq_nat @ ( F @ X3 ) @ ( F @ Y3 ) ) )
         => ( ord_less_eq_nat @ A @ ( F @ C ) ) ) ) ) ).

% order_subst1
thf(fact_505_order__subst1,axiom,
    ! [A: nat,F: set_nat > nat,B: set_nat,C: set_nat] :
      ( ( ord_less_eq_nat @ A @ ( F @ B ) )
     => ( ( ord_less_eq_set_nat @ B @ C )
       => ( ! [X3: set_nat,Y3: set_nat] :
              ( ( ord_less_eq_set_nat @ X3 @ Y3 )
             => ( ord_less_eq_nat @ ( F @ X3 ) @ ( F @ Y3 ) ) )
         => ( ord_less_eq_nat @ A @ ( F @ C ) ) ) ) ) ).

% order_subst1
thf(fact_506_order__subst1,axiom,
    ! [A: set_nat,F: nat > set_nat,B: nat,C: nat] :
      ( ( ord_less_eq_set_nat @ A @ ( F @ B ) )
     => ( ( ord_less_eq_nat @ B @ C )
       => ( ! [X3: nat,Y3: nat] :
              ( ( ord_less_eq_nat @ X3 @ Y3 )
             => ( ord_less_eq_set_nat @ ( F @ X3 ) @ ( F @ Y3 ) ) )
         => ( ord_less_eq_set_nat @ A @ ( F @ C ) ) ) ) ) ).

% order_subst1
thf(fact_507_order__subst1,axiom,
    ! [A: set_nat,F: set_nat > set_nat,B: set_nat,C: set_nat] :
      ( ( ord_less_eq_set_nat @ A @ ( F @ B ) )
     => ( ( ord_less_eq_set_nat @ B @ C )
       => ( ! [X3: set_nat,Y3: set_nat] :
              ( ( ord_less_eq_set_nat @ X3 @ Y3 )
             => ( ord_less_eq_set_nat @ ( F @ X3 ) @ ( F @ Y3 ) ) )
         => ( ord_less_eq_set_nat @ A @ ( F @ C ) ) ) ) ) ).

% order_subst1
thf(fact_508_order__subst1,axiom,
    ! [A: nat,F: set_set_nat > nat,B: set_set_nat,C: set_set_nat] :
      ( ( ord_less_eq_nat @ A @ ( F @ B ) )
     => ( ( ord_le6893508408891458716et_nat @ B @ C )
       => ( ! [X3: set_set_nat,Y3: set_set_nat] :
              ( ( ord_le6893508408891458716et_nat @ X3 @ Y3 )
             => ( ord_less_eq_nat @ ( F @ X3 ) @ ( F @ Y3 ) ) )
         => ( ord_less_eq_nat @ A @ ( F @ C ) ) ) ) ) ).

% order_subst1
thf(fact_509_order__subst1,axiom,
    ! [A: nat,F: ( nat > $o ) > nat,B: nat > $o,C: nat > $o] :
      ( ( ord_less_eq_nat @ A @ ( F @ B ) )
     => ( ( ord_less_eq_nat_o @ B @ C )
       => ( ! [X3: nat > $o,Y3: nat > $o] :
              ( ( ord_less_eq_nat_o @ X3 @ Y3 )
             => ( ord_less_eq_nat @ ( F @ X3 ) @ ( F @ Y3 ) ) )
         => ( ord_less_eq_nat @ A @ ( F @ C ) ) ) ) ) ).

% order_subst1
thf(fact_510_order__subst1,axiom,
    ! [A: set_set_nat,F: nat > set_set_nat,B: nat,C: nat] :
      ( ( ord_le6893508408891458716et_nat @ A @ ( F @ B ) )
     => ( ( ord_less_eq_nat @ B @ C )
       => ( ! [X3: nat,Y3: nat] :
              ( ( ord_less_eq_nat @ X3 @ Y3 )
             => ( ord_le6893508408891458716et_nat @ ( F @ X3 ) @ ( F @ Y3 ) ) )
         => ( ord_le6893508408891458716et_nat @ A @ ( F @ C ) ) ) ) ) ).

% order_subst1
thf(fact_511_order__subst1,axiom,
    ! [A: nat > $o,F: nat > nat > $o,B: nat,C: nat] :
      ( ( ord_less_eq_nat_o @ A @ ( F @ B ) )
     => ( ( ord_less_eq_nat @ B @ C )
       => ( ! [X3: nat,Y3: nat] :
              ( ( ord_less_eq_nat @ X3 @ Y3 )
             => ( ord_less_eq_nat_o @ ( F @ X3 ) @ ( F @ Y3 ) ) )
         => ( ord_less_eq_nat_o @ A @ ( F @ C ) ) ) ) ) ).

% order_subst1
thf(fact_512_order__subst1,axiom,
    ! [A: nat,F: ( set_nat > $o ) > nat,B: set_nat > $o,C: set_nat > $o] :
      ( ( ord_less_eq_nat @ A @ ( F @ B ) )
     => ( ( ord_le3964352015994296041_nat_o @ B @ C )
       => ( ! [X3: set_nat > $o,Y3: set_nat > $o] :
              ( ( ord_le3964352015994296041_nat_o @ X3 @ Y3 )
             => ( ord_less_eq_nat @ ( F @ X3 ) @ ( F @ Y3 ) ) )
         => ( ord_less_eq_nat @ A @ ( F @ C ) ) ) ) ) ).

% order_subst1
thf(fact_513_order__subst1,axiom,
    ! [A: set_nat,F: set_set_nat > set_nat,B: set_set_nat,C: set_set_nat] :
      ( ( ord_less_eq_set_nat @ A @ ( F @ B ) )
     => ( ( ord_le6893508408891458716et_nat @ B @ C )
       => ( ! [X3: set_set_nat,Y3: set_set_nat] :
              ( ( ord_le6893508408891458716et_nat @ X3 @ Y3 )
             => ( ord_less_eq_set_nat @ ( F @ X3 ) @ ( F @ Y3 ) ) )
         => ( ord_less_eq_set_nat @ A @ ( F @ C ) ) ) ) ) ).

% order_subst1
thf(fact_514_order__subst2,axiom,
    ! [A: nat,B: nat,F: nat > nat,C: nat] :
      ( ( ord_less_eq_nat @ A @ B )
     => ( ( ord_less_eq_nat @ ( F @ B ) @ C )
       => ( ! [X3: nat,Y3: nat] :
              ( ( ord_less_eq_nat @ X3 @ Y3 )
             => ( ord_less_eq_nat @ ( F @ X3 ) @ ( F @ Y3 ) ) )
         => ( ord_less_eq_nat @ ( F @ A ) @ C ) ) ) ) ).

% order_subst2
thf(fact_515_order__subst2,axiom,
    ! [A: nat,B: nat,F: nat > set_nat,C: set_nat] :
      ( ( ord_less_eq_nat @ A @ B )
     => ( ( ord_less_eq_set_nat @ ( F @ B ) @ C )
       => ( ! [X3: nat,Y3: nat] :
              ( ( ord_less_eq_nat @ X3 @ Y3 )
             => ( ord_less_eq_set_nat @ ( F @ X3 ) @ ( F @ Y3 ) ) )
         => ( ord_less_eq_set_nat @ ( F @ A ) @ C ) ) ) ) ).

% order_subst2
thf(fact_516_order__subst2,axiom,
    ! [A: set_nat,B: set_nat,F: set_nat > nat,C: nat] :
      ( ( ord_less_eq_set_nat @ A @ B )
     => ( ( ord_less_eq_nat @ ( F @ B ) @ C )
       => ( ! [X3: set_nat,Y3: set_nat] :
              ( ( ord_less_eq_set_nat @ X3 @ Y3 )
             => ( ord_less_eq_nat @ ( F @ X3 ) @ ( F @ Y3 ) ) )
         => ( ord_less_eq_nat @ ( F @ A ) @ C ) ) ) ) ).

% order_subst2
thf(fact_517_order__subst2,axiom,
    ! [A: set_nat,B: set_nat,F: set_nat > set_nat,C: set_nat] :
      ( ( ord_less_eq_set_nat @ A @ B )
     => ( ( ord_less_eq_set_nat @ ( F @ B ) @ C )
       => ( ! [X3: set_nat,Y3: set_nat] :
              ( ( ord_less_eq_set_nat @ X3 @ Y3 )
             => ( ord_less_eq_set_nat @ ( F @ X3 ) @ ( F @ Y3 ) ) )
         => ( ord_less_eq_set_nat @ ( F @ A ) @ C ) ) ) ) ).

% order_subst2
thf(fact_518_order__subst2,axiom,
    ! [A: nat,B: nat,F: nat > set_set_nat,C: set_set_nat] :
      ( ( ord_less_eq_nat @ A @ B )
     => ( ( ord_le6893508408891458716et_nat @ ( F @ B ) @ C )
       => ( ! [X3: nat,Y3: nat] :
              ( ( ord_less_eq_nat @ X3 @ Y3 )
             => ( ord_le6893508408891458716et_nat @ ( F @ X3 ) @ ( F @ Y3 ) ) )
         => ( ord_le6893508408891458716et_nat @ ( F @ A ) @ C ) ) ) ) ).

% order_subst2
thf(fact_519_order__subst2,axiom,
    ! [A: nat,B: nat,F: nat > nat > $o,C: nat > $o] :
      ( ( ord_less_eq_nat @ A @ B )
     => ( ( ord_less_eq_nat_o @ ( F @ B ) @ C )
       => ( ! [X3: nat,Y3: nat] :
              ( ( ord_less_eq_nat @ X3 @ Y3 )
             => ( ord_less_eq_nat_o @ ( F @ X3 ) @ ( F @ Y3 ) ) )
         => ( ord_less_eq_nat_o @ ( F @ A ) @ C ) ) ) ) ).

% order_subst2
thf(fact_520_order__subst2,axiom,
    ! [A: set_set_nat,B: set_set_nat,F: set_set_nat > nat,C: nat] :
      ( ( ord_le6893508408891458716et_nat @ A @ B )
     => ( ( ord_less_eq_nat @ ( F @ B ) @ C )
       => ( ! [X3: set_set_nat,Y3: set_set_nat] :
              ( ( ord_le6893508408891458716et_nat @ X3 @ Y3 )
             => ( ord_less_eq_nat @ ( F @ X3 ) @ ( F @ Y3 ) ) )
         => ( ord_less_eq_nat @ ( F @ A ) @ C ) ) ) ) ).

% order_subst2
thf(fact_521_order__subst2,axiom,
    ! [A: nat > $o,B: nat > $o,F: ( nat > $o ) > nat,C: nat] :
      ( ( ord_less_eq_nat_o @ A @ B )
     => ( ( ord_less_eq_nat @ ( F @ B ) @ C )
       => ( ! [X3: nat > $o,Y3: nat > $o] :
              ( ( ord_less_eq_nat_o @ X3 @ Y3 )
             => ( ord_less_eq_nat @ ( F @ X3 ) @ ( F @ Y3 ) ) )
         => ( ord_less_eq_nat @ ( F @ A ) @ C ) ) ) ) ).

% order_subst2
thf(fact_522_order__subst2,axiom,
    ! [A: nat,B: nat,F: nat > set_nat > $o,C: set_nat > $o] :
      ( ( ord_less_eq_nat @ A @ B )
     => ( ( ord_le3964352015994296041_nat_o @ ( F @ B ) @ C )
       => ( ! [X3: nat,Y3: nat] :
              ( ( ord_less_eq_nat @ X3 @ Y3 )
             => ( ord_le3964352015994296041_nat_o @ ( F @ X3 ) @ ( F @ Y3 ) ) )
         => ( ord_le3964352015994296041_nat_o @ ( F @ A ) @ C ) ) ) ) ).

% order_subst2
thf(fact_523_order__subst2,axiom,
    ! [A: set_nat,B: set_nat,F: set_nat > set_set_nat,C: set_set_nat] :
      ( ( ord_less_eq_set_nat @ A @ B )
     => ( ( ord_le6893508408891458716et_nat @ ( F @ B ) @ C )
       => ( ! [X3: set_nat,Y3: set_nat] :
              ( ( ord_less_eq_set_nat @ X3 @ Y3 )
             => ( ord_le6893508408891458716et_nat @ ( F @ X3 ) @ ( F @ Y3 ) ) )
         => ( ord_le6893508408891458716et_nat @ ( F @ A ) @ C ) ) ) ) ).

% order_subst2
thf(fact_524_order__eq__refl,axiom,
    ! [X4: set_set_nat,Y: set_set_nat] :
      ( ( X4 = Y )
     => ( ord_le6893508408891458716et_nat @ X4 @ Y ) ) ).

% order_eq_refl
thf(fact_525_order__eq__refl,axiom,
    ! [X4: nat > $o,Y: nat > $o] :
      ( ( X4 = Y )
     => ( ord_less_eq_nat_o @ X4 @ Y ) ) ).

% order_eq_refl
thf(fact_526_order__eq__refl,axiom,
    ! [X4: set_nat > $o,Y: set_nat > $o] :
      ( ( X4 = Y )
     => ( ord_le3964352015994296041_nat_o @ X4 @ Y ) ) ).

% order_eq_refl
thf(fact_527_order__eq__refl,axiom,
    ! [X4: nat,Y: nat] :
      ( ( X4 = Y )
     => ( ord_less_eq_nat @ X4 @ Y ) ) ).

% order_eq_refl
thf(fact_528_order__eq__refl,axiom,
    ! [X4: set_nat,Y: set_nat] :
      ( ( X4 = Y )
     => ( ord_less_eq_set_nat @ X4 @ Y ) ) ).

% order_eq_refl
thf(fact_529_linorder__linear,axiom,
    ! [X4: nat,Y: nat] :
      ( ( ord_less_eq_nat @ X4 @ Y )
      | ( ord_less_eq_nat @ Y @ X4 ) ) ).

% linorder_linear
thf(fact_530_ord__eq__le__subst,axiom,
    ! [A: nat > $o,F: ( set_nat > $o ) > nat > $o,B: set_nat > $o,C: set_nat > $o] :
      ( ( A
        = ( F @ B ) )
     => ( ( ord_le3964352015994296041_nat_o @ B @ C )
       => ( ! [X3: set_nat > $o,Y3: set_nat > $o] :
              ( ( ord_le3964352015994296041_nat_o @ X3 @ Y3 )
             => ( ord_less_eq_nat_o @ ( F @ X3 ) @ ( F @ Y3 ) ) )
         => ( ord_less_eq_nat_o @ A @ ( F @ C ) ) ) ) ) ).

% ord_eq_le_subst
thf(fact_531_ord__eq__le__subst,axiom,
    ! [A: set_nat > $o,F: ( set_nat > $o ) > set_nat > $o,B: set_nat > $o,C: set_nat > $o] :
      ( ( A
        = ( F @ B ) )
     => ( ( ord_le3964352015994296041_nat_o @ B @ C )
       => ( ! [X3: set_nat > $o,Y3: set_nat > $o] :
              ( ( ord_le3964352015994296041_nat_o @ X3 @ Y3 )
             => ( ord_le3964352015994296041_nat_o @ ( F @ X3 ) @ ( F @ Y3 ) ) )
         => ( ord_le3964352015994296041_nat_o @ A @ ( F @ C ) ) ) ) ) ).

% ord_eq_le_subst
thf(fact_532_ord__eq__le__subst,axiom,
    ! [A: nat,F: nat > nat,B: nat,C: nat] :
      ( ( A
        = ( F @ B ) )
     => ( ( ord_less_eq_nat @ B @ C )
       => ( ! [X3: nat,Y3: nat] :
              ( ( ord_less_eq_nat @ X3 @ Y3 )
             => ( ord_less_eq_nat @ ( F @ X3 ) @ ( F @ Y3 ) ) )
         => ( ord_less_eq_nat @ A @ ( F @ C ) ) ) ) ) ).

% ord_eq_le_subst
thf(fact_533_ord__eq__le__subst,axiom,
    ! [A: set_nat,F: nat > set_nat,B: nat,C: nat] :
      ( ( A
        = ( F @ B ) )
     => ( ( ord_less_eq_nat @ B @ C )
       => ( ! [X3: nat,Y3: nat] :
              ( ( ord_less_eq_nat @ X3 @ Y3 )
             => ( ord_less_eq_set_nat @ ( F @ X3 ) @ ( F @ Y3 ) ) )
         => ( ord_less_eq_set_nat @ A @ ( F @ C ) ) ) ) ) ).

% ord_eq_le_subst
thf(fact_534_ord__eq__le__subst,axiom,
    ! [A: nat,F: set_nat > nat,B: set_nat,C: set_nat] :
      ( ( A
        = ( F @ B ) )
     => ( ( ord_less_eq_set_nat @ B @ C )
       => ( ! [X3: set_nat,Y3: set_nat] :
              ( ( ord_less_eq_set_nat @ X3 @ Y3 )
             => ( ord_less_eq_nat @ ( F @ X3 ) @ ( F @ Y3 ) ) )
         => ( ord_less_eq_nat @ A @ ( F @ C ) ) ) ) ) ).

% ord_eq_le_subst
thf(fact_535_ord__eq__le__subst,axiom,
    ! [A: set_nat,F: set_nat > set_nat,B: set_nat,C: set_nat] :
      ( ( A
        = ( F @ B ) )
     => ( ( ord_less_eq_set_nat @ B @ C )
       => ( ! [X3: set_nat,Y3: set_nat] :
              ( ( ord_less_eq_set_nat @ X3 @ Y3 )
             => ( ord_less_eq_set_nat @ ( F @ X3 ) @ ( F @ Y3 ) ) )
         => ( ord_less_eq_set_nat @ A @ ( F @ C ) ) ) ) ) ).

% ord_eq_le_subst
thf(fact_536_ord__le__eq__subst,axiom,
    ! [A: nat,B: nat,F: nat > nat,C: nat] :
      ( ( ord_less_eq_nat @ A @ B )
     => ( ( ( F @ B )
          = C )
       => ( ! [X3: nat,Y3: nat] :
              ( ( ord_less_eq_nat @ X3 @ Y3 )
             => ( ord_less_eq_nat @ ( F @ X3 ) @ ( F @ Y3 ) ) )
         => ( ord_less_eq_nat @ ( F @ A ) @ C ) ) ) ) ).

% ord_le_eq_subst
thf(fact_537_ord__le__eq__subst,axiom,
    ! [A: nat,B: nat,F: nat > set_nat,C: set_nat] :
      ( ( ord_less_eq_nat @ A @ B )
     => ( ( ( F @ B )
          = C )
       => ( ! [X3: nat,Y3: nat] :
              ( ( ord_less_eq_nat @ X3 @ Y3 )
             => ( ord_less_eq_set_nat @ ( F @ X3 ) @ ( F @ Y3 ) ) )
         => ( ord_less_eq_set_nat @ ( F @ A ) @ C ) ) ) ) ).

% ord_le_eq_subst
thf(fact_538_ord__le__eq__subst,axiom,
    ! [A: set_nat,B: set_nat,F: set_nat > nat,C: nat] :
      ( ( ord_less_eq_set_nat @ A @ B )
     => ( ( ( F @ B )
          = C )
       => ( ! [X3: set_nat,Y3: set_nat] :
              ( ( ord_less_eq_set_nat @ X3 @ Y3 )
             => ( ord_less_eq_nat @ ( F @ X3 ) @ ( F @ Y3 ) ) )
         => ( ord_less_eq_nat @ ( F @ A ) @ C ) ) ) ) ).

% ord_le_eq_subst
thf(fact_539_ord__le__eq__subst,axiom,
    ! [A: set_nat,B: set_nat,F: set_nat > set_nat,C: set_nat] :
      ( ( ord_less_eq_set_nat @ A @ B )
     => ( ( ( F @ B )
          = C )
       => ( ! [X3: set_nat,Y3: set_nat] :
              ( ( ord_less_eq_set_nat @ X3 @ Y3 )
             => ( ord_less_eq_set_nat @ ( F @ X3 ) @ ( F @ Y3 ) ) )
         => ( ord_less_eq_set_nat @ ( F @ A ) @ C ) ) ) ) ).

% ord_le_eq_subst
thf(fact_540_linorder__le__cases,axiom,
    ! [X4: nat,Y: nat] :
      ( ~ ( ord_less_eq_nat @ X4 @ Y )
     => ( ord_less_eq_nat @ Y @ X4 ) ) ).

% linorder_le_cases
thf(fact_541_order__antisym__conv,axiom,
    ! [Y: nat,X4: nat] :
      ( ( ord_less_eq_nat @ Y @ X4 )
     => ( ( ord_less_eq_nat @ X4 @ Y )
        = ( X4 = Y ) ) ) ).

% order_antisym_conv
thf(fact_542_order__antisym__conv,axiom,
    ! [Y: set_nat,X4: set_nat] :
      ( ( ord_less_eq_set_nat @ Y @ X4 )
     => ( ( ord_less_eq_set_nat @ X4 @ Y )
        = ( X4 = Y ) ) ) ).

% order_antisym_conv
thf(fact_543_gt__ex,axiom,
    ! [X4: nat] :
    ? [X_1: nat] : ( ord_less_nat @ X4 @ X_1 ) ).

% gt_ex
thf(fact_544_less__imp__neq,axiom,
    ! [X4: nat,Y: nat] :
      ( ( ord_less_nat @ X4 @ Y )
     => ( X4 != Y ) ) ).

% less_imp_neq
thf(fact_545_order_Oasym,axiom,
    ! [A: nat,B: nat] :
      ( ( ord_less_nat @ A @ B )
     => ~ ( ord_less_nat @ B @ A ) ) ).

% order.asym
thf(fact_546_ord__eq__less__trans,axiom,
    ! [A: nat,B: nat,C: nat] :
      ( ( A = B )
     => ( ( ord_less_nat @ B @ C )
       => ( ord_less_nat @ A @ C ) ) ) ).

% ord_eq_less_trans
thf(fact_547_ord__less__eq__trans,axiom,
    ! [A: nat,B: nat,C: nat] :
      ( ( ord_less_nat @ A @ B )
     => ( ( B = C )
       => ( ord_less_nat @ A @ C ) ) ) ).

% ord_less_eq_trans
thf(fact_548_less__induct,axiom,
    ! [P: nat > $o,A: nat] :
      ( ! [X3: nat] :
          ( ! [Y4: nat] :
              ( ( ord_less_nat @ Y4 @ X3 )
             => ( P @ Y4 ) )
         => ( P @ X3 ) )
     => ( P @ A ) ) ).

% less_induct
thf(fact_549_antisym__conv3,axiom,
    ! [Y: nat,X4: nat] :
      ( ~ ( ord_less_nat @ Y @ X4 )
     => ( ( ~ ( ord_less_nat @ X4 @ Y ) )
        = ( X4 = Y ) ) ) ).

% antisym_conv3
thf(fact_550_linorder__cases,axiom,
    ! [X4: nat,Y: nat] :
      ( ~ ( ord_less_nat @ X4 @ Y )
     => ( ( X4 != Y )
       => ( ord_less_nat @ Y @ X4 ) ) ) ).

% linorder_cases
thf(fact_551_dual__order_Oasym,axiom,
    ! [B: nat,A: nat] :
      ( ( ord_less_nat @ B @ A )
     => ~ ( ord_less_nat @ A @ B ) ) ).

% dual_order.asym
thf(fact_552_dual__order_Oirrefl,axiom,
    ! [A: nat] :
      ~ ( ord_less_nat @ A @ A ) ).

% dual_order.irrefl
thf(fact_553_exists__least__iff,axiom,
    ( ( ^ [P2: nat > $o] :
        ? [X6: nat] : ( P2 @ X6 ) )
    = ( ^ [P3: nat > $o] :
        ? [N4: nat] :
          ( ( P3 @ N4 )
          & ! [M5: nat] :
              ( ( ord_less_nat @ M5 @ N4 )
             => ~ ( P3 @ M5 ) ) ) ) ) ).

% exists_least_iff
thf(fact_554_linorder__less__wlog,axiom,
    ! [P: nat > nat > $o,A: nat,B: nat] :
      ( ! [A5: nat,B4: nat] :
          ( ( ord_less_nat @ A5 @ B4 )
         => ( P @ A5 @ B4 ) )
     => ( ! [A5: nat] : ( P @ A5 @ A5 )
       => ( ! [A5: nat,B4: nat] :
              ( ( P @ B4 @ A5 )
             => ( P @ A5 @ B4 ) )
         => ( P @ A @ B ) ) ) ) ).

% linorder_less_wlog
thf(fact_555_order_Ostrict__trans,axiom,
    ! [A: nat,B: nat,C: nat] :
      ( ( ord_less_nat @ A @ B )
     => ( ( ord_less_nat @ B @ C )
       => ( ord_less_nat @ A @ C ) ) ) ).

% order.strict_trans
thf(fact_556_not__less__iff__gr__or__eq,axiom,
    ! [X4: nat,Y: nat] :
      ( ( ~ ( ord_less_nat @ X4 @ Y ) )
      = ( ( ord_less_nat @ Y @ X4 )
        | ( X4 = Y ) ) ) ).

% not_less_iff_gr_or_eq
thf(fact_557_dual__order_Ostrict__trans,axiom,
    ! [B: nat,A: nat,C: nat] :
      ( ( ord_less_nat @ B @ A )
     => ( ( ord_less_nat @ C @ B )
       => ( ord_less_nat @ C @ A ) ) ) ).

% dual_order.strict_trans
thf(fact_558_order_Ostrict__implies__not__eq,axiom,
    ! [A: nat,B: nat] :
      ( ( ord_less_nat @ A @ B )
     => ( A != B ) ) ).

% order.strict_implies_not_eq
thf(fact_559_dual__order_Ostrict__implies__not__eq,axiom,
    ! [B: nat,A: nat] :
      ( ( ord_less_nat @ B @ A )
     => ( A != B ) ) ).

% dual_order.strict_implies_not_eq
thf(fact_560_linorder__neqE,axiom,
    ! [X4: nat,Y: nat] :
      ( ( X4 != Y )
     => ( ~ ( ord_less_nat @ X4 @ Y )
       => ( ord_less_nat @ Y @ X4 ) ) ) ).

% linorder_neqE
thf(fact_561_order__less__asym,axiom,
    ! [X4: nat,Y: nat] :
      ( ( ord_less_nat @ X4 @ Y )
     => ~ ( ord_less_nat @ Y @ X4 ) ) ).

% order_less_asym
thf(fact_562_linorder__neq__iff,axiom,
    ! [X4: nat,Y: nat] :
      ( ( X4 != Y )
      = ( ( ord_less_nat @ X4 @ Y )
        | ( ord_less_nat @ Y @ X4 ) ) ) ).

% linorder_neq_iff
thf(fact_563_order__less__asym_H,axiom,
    ! [A: nat,B: nat] :
      ( ( ord_less_nat @ A @ B )
     => ~ ( ord_less_nat @ B @ A ) ) ).

% order_less_asym'
thf(fact_564_order__less__trans,axiom,
    ! [X4: nat,Y: nat,Z3: nat] :
      ( ( ord_less_nat @ X4 @ Y )
     => ( ( ord_less_nat @ Y @ Z3 )
       => ( ord_less_nat @ X4 @ Z3 ) ) ) ).

% order_less_trans
thf(fact_565_ord__eq__less__subst,axiom,
    ! [A: nat,F: nat > nat,B: nat,C: nat] :
      ( ( A
        = ( F @ B ) )
     => ( ( ord_less_nat @ B @ C )
       => ( ! [X3: nat,Y3: nat] :
              ( ( ord_less_nat @ X3 @ Y3 )
             => ( ord_less_nat @ ( F @ X3 ) @ ( F @ Y3 ) ) )
         => ( ord_less_nat @ A @ ( F @ C ) ) ) ) ) ).

% ord_eq_less_subst
thf(fact_566_ord__less__eq__subst,axiom,
    ! [A: nat,B: nat,F: nat > nat,C: nat] :
      ( ( ord_less_nat @ A @ B )
     => ( ( ( F @ B )
          = C )
       => ( ! [X3: nat,Y3: nat] :
              ( ( ord_less_nat @ X3 @ Y3 )
             => ( ord_less_nat @ ( F @ X3 ) @ ( F @ Y3 ) ) )
         => ( ord_less_nat @ ( F @ A ) @ C ) ) ) ) ).

% ord_less_eq_subst
thf(fact_567_order__less__irrefl,axiom,
    ! [X4: nat] :
      ~ ( ord_less_nat @ X4 @ X4 ) ).

% order_less_irrefl
thf(fact_568_order__less__subst1,axiom,
    ! [A: nat,F: nat > nat,B: nat,C: nat] :
      ( ( ord_less_nat @ A @ ( F @ B ) )
     => ( ( ord_less_nat @ B @ C )
       => ( ! [X3: nat,Y3: nat] :
              ( ( ord_less_nat @ X3 @ Y3 )
             => ( ord_less_nat @ ( F @ X3 ) @ ( F @ Y3 ) ) )
         => ( ord_less_nat @ A @ ( F @ C ) ) ) ) ) ).

% order_less_subst1
thf(fact_569_order__less__subst2,axiom,
    ! [A: nat,B: nat,F: nat > nat,C: nat] :
      ( ( ord_less_nat @ A @ B )
     => ( ( ord_less_nat @ ( F @ B ) @ C )
       => ( ! [X3: nat,Y3: nat] :
              ( ( ord_less_nat @ X3 @ Y3 )
             => ( ord_less_nat @ ( F @ X3 ) @ ( F @ Y3 ) ) )
         => ( ord_less_nat @ ( F @ A ) @ C ) ) ) ) ).

% order_less_subst2
thf(fact_570_order__less__not__sym,axiom,
    ! [X4: nat,Y: nat] :
      ( ( ord_less_nat @ X4 @ Y )
     => ~ ( ord_less_nat @ Y @ X4 ) ) ).

% order_less_not_sym
thf(fact_571_order__less__imp__triv,axiom,
    ! [X4: nat,Y: nat,P: $o] :
      ( ( ord_less_nat @ X4 @ Y )
     => ( ( ord_less_nat @ Y @ X4 )
       => P ) ) ).

% order_less_imp_triv
thf(fact_572_linorder__less__linear,axiom,
    ! [X4: nat,Y: nat] :
      ( ( ord_less_nat @ X4 @ Y )
      | ( X4 = Y )
      | ( ord_less_nat @ Y @ X4 ) ) ).

% linorder_less_linear
thf(fact_573_order__less__imp__not__eq,axiom,
    ! [X4: nat,Y: nat] :
      ( ( ord_less_nat @ X4 @ Y )
     => ( X4 != Y ) ) ).

% order_less_imp_not_eq
thf(fact_574_order__less__imp__not__eq2,axiom,
    ! [X4: nat,Y: nat] :
      ( ( ord_less_nat @ X4 @ Y )
     => ( Y != X4 ) ) ).

% order_less_imp_not_eq2
thf(fact_575_order__less__imp__not__less,axiom,
    ! [X4: nat,Y: nat] :
      ( ( ord_less_nat @ X4 @ Y )
     => ~ ( ord_less_nat @ Y @ X4 ) ) ).

% order_less_imp_not_less
thf(fact_576_subset__eq__atLeast0__lessThan__card,axiom,
    ! [N5: set_nat,N: nat] :
      ( ( ord_less_eq_set_nat @ N5 @ ( set_or4665077453230672383an_nat @ zero_zero_nat @ N ) )
     => ( ord_less_eq_nat @ ( finite_card_nat @ N5 ) @ N ) ) ).

% subset_eq_atLeast0_lessThan_card
thf(fact_577_leD,axiom,
    ! [Y: nat,X4: nat] :
      ( ( ord_less_eq_nat @ Y @ X4 )
     => ~ ( ord_less_nat @ X4 @ Y ) ) ).

% leD
thf(fact_578_leD,axiom,
    ! [Y: set_nat,X4: set_nat] :
      ( ( ord_less_eq_set_nat @ Y @ X4 )
     => ~ ( ord_less_set_nat @ X4 @ Y ) ) ).

% leD
thf(fact_579_leI,axiom,
    ! [X4: nat,Y: nat] :
      ( ~ ( ord_less_nat @ X4 @ Y )
     => ( ord_less_eq_nat @ Y @ X4 ) ) ).

% leI
thf(fact_580_nless__le,axiom,
    ! [A: nat,B: nat] :
      ( ( ~ ( ord_less_nat @ A @ B ) )
      = ( ~ ( ord_less_eq_nat @ A @ B )
        | ( A = B ) ) ) ).

% nless_le
thf(fact_581_nless__le,axiom,
    ! [A: set_nat,B: set_nat] :
      ( ( ~ ( ord_less_set_nat @ A @ B ) )
      = ( ~ ( ord_less_eq_set_nat @ A @ B )
        | ( A = B ) ) ) ).

% nless_le
thf(fact_582_antisym__conv1,axiom,
    ! [X4: nat,Y: nat] :
      ( ~ ( ord_less_nat @ X4 @ Y )
     => ( ( ord_less_eq_nat @ X4 @ Y )
        = ( X4 = Y ) ) ) ).

% antisym_conv1
thf(fact_583_antisym__conv1,axiom,
    ! [X4: set_nat,Y: set_nat] :
      ( ~ ( ord_less_set_nat @ X4 @ Y )
     => ( ( ord_less_eq_set_nat @ X4 @ Y )
        = ( X4 = Y ) ) ) ).

% antisym_conv1
thf(fact_584_antisym__conv2,axiom,
    ! [X4: nat,Y: nat] :
      ( ( ord_less_eq_nat @ X4 @ Y )
     => ( ( ~ ( ord_less_nat @ X4 @ Y ) )
        = ( X4 = Y ) ) ) ).

% antisym_conv2
thf(fact_585_antisym__conv2,axiom,
    ! [X4: set_nat,Y: set_nat] :
      ( ( ord_less_eq_set_nat @ X4 @ Y )
     => ( ( ~ ( ord_less_set_nat @ X4 @ Y ) )
        = ( X4 = Y ) ) ) ).

% antisym_conv2
thf(fact_586_less__le__not__le,axiom,
    ( ord_less_nat
    = ( ^ [X: nat,Y6: nat] :
          ( ( ord_less_eq_nat @ X @ Y6 )
          & ~ ( ord_less_eq_nat @ Y6 @ X ) ) ) ) ).

% less_le_not_le
thf(fact_587_less__le__not__le,axiom,
    ( ord_less_set_nat
    = ( ^ [X: set_nat,Y6: set_nat] :
          ( ( ord_less_eq_set_nat @ X @ Y6 )
          & ~ ( ord_less_eq_set_nat @ Y6 @ X ) ) ) ) ).

% less_le_not_le
thf(fact_588_not__le__imp__less,axiom,
    ! [Y: nat,X4: nat] :
      ( ~ ( ord_less_eq_nat @ Y @ X4 )
     => ( ord_less_nat @ X4 @ Y ) ) ).

% not_le_imp_less
thf(fact_589_order_Oorder__iff__strict,axiom,
    ( ord_less_eq_nat
    = ( ^ [A4: nat,B6: nat] :
          ( ( ord_less_nat @ A4 @ B6 )
          | ( A4 = B6 ) ) ) ) ).

% order.order_iff_strict
thf(fact_590_order_Oorder__iff__strict,axiom,
    ( ord_less_eq_set_nat
    = ( ^ [A4: set_nat,B6: set_nat] :
          ( ( ord_less_set_nat @ A4 @ B6 )
          | ( A4 = B6 ) ) ) ) ).

% order.order_iff_strict
thf(fact_591_order_Ostrict__iff__order,axiom,
    ( ord_less_nat
    = ( ^ [A4: nat,B6: nat] :
          ( ( ord_less_eq_nat @ A4 @ B6 )
          & ( A4 != B6 ) ) ) ) ).

% order.strict_iff_order
thf(fact_592_order_Ostrict__iff__order,axiom,
    ( ord_less_set_nat
    = ( ^ [A4: set_nat,B6: set_nat] :
          ( ( ord_less_eq_set_nat @ A4 @ B6 )
          & ( A4 != B6 ) ) ) ) ).

% order.strict_iff_order
thf(fact_593_order_Ostrict__trans1,axiom,
    ! [A: nat,B: nat,C: nat] :
      ( ( ord_less_eq_nat @ A @ B )
     => ( ( ord_less_nat @ B @ C )
       => ( ord_less_nat @ A @ C ) ) ) ).

% order.strict_trans1
thf(fact_594_order_Ostrict__trans1,axiom,
    ! [A: set_nat,B: set_nat,C: set_nat] :
      ( ( ord_less_eq_set_nat @ A @ B )
     => ( ( ord_less_set_nat @ B @ C )
       => ( ord_less_set_nat @ A @ C ) ) ) ).

% order.strict_trans1
thf(fact_595_order_Ostrict__trans2,axiom,
    ! [A: nat,B: nat,C: nat] :
      ( ( ord_less_nat @ A @ B )
     => ( ( ord_less_eq_nat @ B @ C )
       => ( ord_less_nat @ A @ C ) ) ) ).

% order.strict_trans2
thf(fact_596_order_Ostrict__trans2,axiom,
    ! [A: set_nat,B: set_nat,C: set_nat] :
      ( ( ord_less_set_nat @ A @ B )
     => ( ( ord_less_eq_set_nat @ B @ C )
       => ( ord_less_set_nat @ A @ C ) ) ) ).

% order.strict_trans2
thf(fact_597_order_Ostrict__iff__not,axiom,
    ( ord_less_nat
    = ( ^ [A4: nat,B6: nat] :
          ( ( ord_less_eq_nat @ A4 @ B6 )
          & ~ ( ord_less_eq_nat @ B6 @ A4 ) ) ) ) ).

% order.strict_iff_not
thf(fact_598_order_Ostrict__iff__not,axiom,
    ( ord_less_set_nat
    = ( ^ [A4: set_nat,B6: set_nat] :
          ( ( ord_less_eq_set_nat @ A4 @ B6 )
          & ~ ( ord_less_eq_set_nat @ B6 @ A4 ) ) ) ) ).

% order.strict_iff_not
thf(fact_599_dual__order_Oorder__iff__strict,axiom,
    ( ord_less_eq_nat
    = ( ^ [B6: nat,A4: nat] :
          ( ( ord_less_nat @ B6 @ A4 )
          | ( A4 = B6 ) ) ) ) ).

% dual_order.order_iff_strict
thf(fact_600_dual__order_Oorder__iff__strict,axiom,
    ( ord_less_eq_set_nat
    = ( ^ [B6: set_nat,A4: set_nat] :
          ( ( ord_less_set_nat @ B6 @ A4 )
          | ( A4 = B6 ) ) ) ) ).

% dual_order.order_iff_strict
thf(fact_601_dual__order_Ostrict__iff__order,axiom,
    ( ord_less_nat
    = ( ^ [B6: nat,A4: nat] :
          ( ( ord_less_eq_nat @ B6 @ A4 )
          & ( A4 != B6 ) ) ) ) ).

% dual_order.strict_iff_order
thf(fact_602_dual__order_Ostrict__iff__order,axiom,
    ( ord_less_set_nat
    = ( ^ [B6: set_nat,A4: set_nat] :
          ( ( ord_less_eq_set_nat @ B6 @ A4 )
          & ( A4 != B6 ) ) ) ) ).

% dual_order.strict_iff_order
thf(fact_603_dual__order_Ostrict__trans1,axiom,
    ! [B: nat,A: nat,C: nat] :
      ( ( ord_less_eq_nat @ B @ A )
     => ( ( ord_less_nat @ C @ B )
       => ( ord_less_nat @ C @ A ) ) ) ).

% dual_order.strict_trans1
thf(fact_604_dual__order_Ostrict__trans1,axiom,
    ! [B: set_nat,A: set_nat,C: set_nat] :
      ( ( ord_less_eq_set_nat @ B @ A )
     => ( ( ord_less_set_nat @ C @ B )
       => ( ord_less_set_nat @ C @ A ) ) ) ).

% dual_order.strict_trans1
thf(fact_605_dual__order_Ostrict__trans2,axiom,
    ! [B: nat,A: nat,C: nat] :
      ( ( ord_less_nat @ B @ A )
     => ( ( ord_less_eq_nat @ C @ B )
       => ( ord_less_nat @ C @ A ) ) ) ).

% dual_order.strict_trans2
thf(fact_606_dual__order_Ostrict__trans2,axiom,
    ! [B: set_nat,A: set_nat,C: set_nat] :
      ( ( ord_less_set_nat @ B @ A )
     => ( ( ord_less_eq_set_nat @ C @ B )
       => ( ord_less_set_nat @ C @ A ) ) ) ).

% dual_order.strict_trans2
thf(fact_607_dual__order_Ostrict__iff__not,axiom,
    ( ord_less_nat
    = ( ^ [B6: nat,A4: nat] :
          ( ( ord_less_eq_nat @ B6 @ A4 )
          & ~ ( ord_less_eq_nat @ A4 @ B6 ) ) ) ) ).

% dual_order.strict_iff_not
thf(fact_608_dual__order_Ostrict__iff__not,axiom,
    ( ord_less_set_nat
    = ( ^ [B6: set_nat,A4: set_nat] :
          ( ( ord_less_eq_set_nat @ B6 @ A4 )
          & ~ ( ord_less_eq_set_nat @ A4 @ B6 ) ) ) ) ).

% dual_order.strict_iff_not
thf(fact_609_order_Ostrict__implies__order,axiom,
    ! [A: nat,B: nat] :
      ( ( ord_less_nat @ A @ B )
     => ( ord_less_eq_nat @ A @ B ) ) ).

% order.strict_implies_order
thf(fact_610_order_Ostrict__implies__order,axiom,
    ! [A: set_nat,B: set_nat] :
      ( ( ord_less_set_nat @ A @ B )
     => ( ord_less_eq_set_nat @ A @ B ) ) ).

% order.strict_implies_order
thf(fact_611_dual__order_Ostrict__implies__order,axiom,
    ! [B: nat,A: nat] :
      ( ( ord_less_nat @ B @ A )
     => ( ord_less_eq_nat @ B @ A ) ) ).

% dual_order.strict_implies_order
thf(fact_612_dual__order_Ostrict__implies__order,axiom,
    ! [B: set_nat,A: set_nat] :
      ( ( ord_less_set_nat @ B @ A )
     => ( ord_less_eq_set_nat @ B @ A ) ) ).

% dual_order.strict_implies_order
thf(fact_613_order__le__less,axiom,
    ( ord_less_eq_nat
    = ( ^ [X: nat,Y6: nat] :
          ( ( ord_less_nat @ X @ Y6 )
          | ( X = Y6 ) ) ) ) ).

% order_le_less
thf(fact_614_order__le__less,axiom,
    ( ord_less_eq_set_nat
    = ( ^ [X: set_nat,Y6: set_nat] :
          ( ( ord_less_set_nat @ X @ Y6 )
          | ( X = Y6 ) ) ) ) ).

% order_le_less
thf(fact_615_order__less__le,axiom,
    ( ord_less_nat
    = ( ^ [X: nat,Y6: nat] :
          ( ( ord_less_eq_nat @ X @ Y6 )
          & ( X != Y6 ) ) ) ) ).

% order_less_le
thf(fact_616_order__less__le,axiom,
    ( ord_less_set_nat
    = ( ^ [X: set_nat,Y6: set_nat] :
          ( ( ord_less_eq_set_nat @ X @ Y6 )
          & ( X != Y6 ) ) ) ) ).

% order_less_le
thf(fact_617_linorder__not__le,axiom,
    ! [X4: nat,Y: nat] :
      ( ( ~ ( ord_less_eq_nat @ X4 @ Y ) )
      = ( ord_less_nat @ Y @ X4 ) ) ).

% linorder_not_le
thf(fact_618_linorder__not__less,axiom,
    ! [X4: nat,Y: nat] :
      ( ( ~ ( ord_less_nat @ X4 @ Y ) )
      = ( ord_less_eq_nat @ Y @ X4 ) ) ).

% linorder_not_less
thf(fact_619_order__less__imp__le,axiom,
    ! [X4: nat,Y: nat] :
      ( ( ord_less_nat @ X4 @ Y )
     => ( ord_less_eq_nat @ X4 @ Y ) ) ).

% order_less_imp_le
thf(fact_620_order__less__imp__le,axiom,
    ! [X4: set_nat,Y: set_nat] :
      ( ( ord_less_set_nat @ X4 @ Y )
     => ( ord_less_eq_set_nat @ X4 @ Y ) ) ).

% order_less_imp_le
thf(fact_621_order__le__neq__trans,axiom,
    ! [A: nat,B: nat] :
      ( ( ord_less_eq_nat @ A @ B )
     => ( ( A != B )
       => ( ord_less_nat @ A @ B ) ) ) ).

% order_le_neq_trans
thf(fact_622_order__le__neq__trans,axiom,
    ! [A: set_nat,B: set_nat] :
      ( ( ord_less_eq_set_nat @ A @ B )
     => ( ( A != B )
       => ( ord_less_set_nat @ A @ B ) ) ) ).

% order_le_neq_trans
thf(fact_623_order__neq__le__trans,axiom,
    ! [A: nat,B: nat] :
      ( ( A != B )
     => ( ( ord_less_eq_nat @ A @ B )
       => ( ord_less_nat @ A @ B ) ) ) ).

% order_neq_le_trans
thf(fact_624_order__neq__le__trans,axiom,
    ! [A: set_nat,B: set_nat] :
      ( ( A != B )
     => ( ( ord_less_eq_set_nat @ A @ B )
       => ( ord_less_set_nat @ A @ B ) ) ) ).

% order_neq_le_trans
thf(fact_625_order__le__less__trans,axiom,
    ! [X4: nat,Y: nat,Z3: nat] :
      ( ( ord_less_eq_nat @ X4 @ Y )
     => ( ( ord_less_nat @ Y @ Z3 )
       => ( ord_less_nat @ X4 @ Z3 ) ) ) ).

% order_le_less_trans
thf(fact_626_order__le__less__trans,axiom,
    ! [X4: set_nat,Y: set_nat,Z3: set_nat] :
      ( ( ord_less_eq_set_nat @ X4 @ Y )
     => ( ( ord_less_set_nat @ Y @ Z3 )
       => ( ord_less_set_nat @ X4 @ Z3 ) ) ) ).

% order_le_less_trans
thf(fact_627_order__less__le__trans,axiom,
    ! [X4: nat,Y: nat,Z3: nat] :
      ( ( ord_less_nat @ X4 @ Y )
     => ( ( ord_less_eq_nat @ Y @ Z3 )
       => ( ord_less_nat @ X4 @ Z3 ) ) ) ).

% order_less_le_trans
thf(fact_628_order__less__le__trans,axiom,
    ! [X4: set_nat,Y: set_nat,Z3: set_nat] :
      ( ( ord_less_set_nat @ X4 @ Y )
     => ( ( ord_less_eq_set_nat @ Y @ Z3 )
       => ( ord_less_set_nat @ X4 @ Z3 ) ) ) ).

% order_less_le_trans
thf(fact_629_order__le__less__subst1,axiom,
    ! [A: nat,F: nat > nat,B: nat,C: nat] :
      ( ( ord_less_eq_nat @ A @ ( F @ B ) )
     => ( ( ord_less_nat @ B @ C )
       => ( ! [X3: nat,Y3: nat] :
              ( ( ord_less_nat @ X3 @ Y3 )
             => ( ord_less_nat @ ( F @ X3 ) @ ( F @ Y3 ) ) )
         => ( ord_less_nat @ A @ ( F @ C ) ) ) ) ) ).

% order_le_less_subst1
thf(fact_630_order__le__less__subst1,axiom,
    ! [A: set_nat,F: nat > set_nat,B: nat,C: nat] :
      ( ( ord_less_eq_set_nat @ A @ ( F @ B ) )
     => ( ( ord_less_nat @ B @ C )
       => ( ! [X3: nat,Y3: nat] :
              ( ( ord_less_nat @ X3 @ Y3 )
             => ( ord_less_set_nat @ ( F @ X3 ) @ ( F @ Y3 ) ) )
         => ( ord_less_set_nat @ A @ ( F @ C ) ) ) ) ) ).

% order_le_less_subst1
thf(fact_631_order__le__less__subst2,axiom,
    ! [A: nat,B: nat,F: nat > nat,C: nat] :
      ( ( ord_less_eq_nat @ A @ B )
     => ( ( ord_less_nat @ ( F @ B ) @ C )
       => ( ! [X3: nat,Y3: nat] :
              ( ( ord_less_eq_nat @ X3 @ Y3 )
             => ( ord_less_eq_nat @ ( F @ X3 ) @ ( F @ Y3 ) ) )
         => ( ord_less_nat @ ( F @ A ) @ C ) ) ) ) ).

% order_le_less_subst2
thf(fact_632_order__le__less__subst2,axiom,
    ! [A: nat,B: nat,F: nat > set_nat,C: set_nat] :
      ( ( ord_less_eq_nat @ A @ B )
     => ( ( ord_less_set_nat @ ( F @ B ) @ C )
       => ( ! [X3: nat,Y3: nat] :
              ( ( ord_less_eq_nat @ X3 @ Y3 )
             => ( ord_less_eq_set_nat @ ( F @ X3 ) @ ( F @ Y3 ) ) )
         => ( ord_less_set_nat @ ( F @ A ) @ C ) ) ) ) ).

% order_le_less_subst2
thf(fact_633_order__le__less__subst2,axiom,
    ! [A: set_nat,B: set_nat,F: set_nat > nat,C: nat] :
      ( ( ord_less_eq_set_nat @ A @ B )
     => ( ( ord_less_nat @ ( F @ B ) @ C )
       => ( ! [X3: set_nat,Y3: set_nat] :
              ( ( ord_less_eq_set_nat @ X3 @ Y3 )
             => ( ord_less_eq_nat @ ( F @ X3 ) @ ( F @ Y3 ) ) )
         => ( ord_less_nat @ ( F @ A ) @ C ) ) ) ) ).

% order_le_less_subst2
thf(fact_634_order__le__less__subst2,axiom,
    ! [A: set_nat,B: set_nat,F: set_nat > set_nat,C: set_nat] :
      ( ( ord_less_eq_set_nat @ A @ B )
     => ( ( ord_less_set_nat @ ( F @ B ) @ C )
       => ( ! [X3: set_nat,Y3: set_nat] :
              ( ( ord_less_eq_set_nat @ X3 @ Y3 )
             => ( ord_less_eq_set_nat @ ( F @ X3 ) @ ( F @ Y3 ) ) )
         => ( ord_less_set_nat @ ( F @ A ) @ C ) ) ) ) ).

% order_le_less_subst2
thf(fact_635_order__less__le__subst1,axiom,
    ! [A: nat,F: nat > nat,B: nat,C: nat] :
      ( ( ord_less_nat @ A @ ( F @ B ) )
     => ( ( ord_less_eq_nat @ B @ C )
       => ( ! [X3: nat,Y3: nat] :
              ( ( ord_less_eq_nat @ X3 @ Y3 )
             => ( ord_less_eq_nat @ ( F @ X3 ) @ ( F @ Y3 ) ) )
         => ( ord_less_nat @ A @ ( F @ C ) ) ) ) ) ).

% order_less_le_subst1
thf(fact_636_order__less__le__subst1,axiom,
    ! [A: set_nat,F: nat > set_nat,B: nat,C: nat] :
      ( ( ord_less_set_nat @ A @ ( F @ B ) )
     => ( ( ord_less_eq_nat @ B @ C )
       => ( ! [X3: nat,Y3: nat] :
              ( ( ord_less_eq_nat @ X3 @ Y3 )
             => ( ord_less_eq_set_nat @ ( F @ X3 ) @ ( F @ Y3 ) ) )
         => ( ord_less_set_nat @ A @ ( F @ C ) ) ) ) ) ).

% order_less_le_subst1
thf(fact_637_order__less__le__subst1,axiom,
    ! [A: nat,F: set_nat > nat,B: set_nat,C: set_nat] :
      ( ( ord_less_nat @ A @ ( F @ B ) )
     => ( ( ord_less_eq_set_nat @ B @ C )
       => ( ! [X3: set_nat,Y3: set_nat] :
              ( ( ord_less_eq_set_nat @ X3 @ Y3 )
             => ( ord_less_eq_nat @ ( F @ X3 ) @ ( F @ Y3 ) ) )
         => ( ord_less_nat @ A @ ( F @ C ) ) ) ) ) ).

% order_less_le_subst1
thf(fact_638_order__less__le__subst1,axiom,
    ! [A: set_nat,F: set_nat > set_nat,B: set_nat,C: set_nat] :
      ( ( ord_less_set_nat @ A @ ( F @ B ) )
     => ( ( ord_less_eq_set_nat @ B @ C )
       => ( ! [X3: set_nat,Y3: set_nat] :
              ( ( ord_less_eq_set_nat @ X3 @ Y3 )
             => ( ord_less_eq_set_nat @ ( F @ X3 ) @ ( F @ Y3 ) ) )
         => ( ord_less_set_nat @ A @ ( F @ C ) ) ) ) ) ).

% order_less_le_subst1
thf(fact_639_order__less__le__subst2,axiom,
    ! [A: nat,B: nat,F: nat > nat,C: nat] :
      ( ( ord_less_nat @ A @ B )
     => ( ( ord_less_eq_nat @ ( F @ B ) @ C )
       => ( ! [X3: nat,Y3: nat] :
              ( ( ord_less_nat @ X3 @ Y3 )
             => ( ord_less_nat @ ( F @ X3 ) @ ( F @ Y3 ) ) )
         => ( ord_less_nat @ ( F @ A ) @ C ) ) ) ) ).

% order_less_le_subst2
thf(fact_640_order__less__le__subst2,axiom,
    ! [A: nat,B: nat,F: nat > set_nat,C: set_nat] :
      ( ( ord_less_nat @ A @ B )
     => ( ( ord_less_eq_set_nat @ ( F @ B ) @ C )
       => ( ! [X3: nat,Y3: nat] :
              ( ( ord_less_nat @ X3 @ Y3 )
             => ( ord_less_set_nat @ ( F @ X3 ) @ ( F @ Y3 ) ) )
         => ( ord_less_set_nat @ ( F @ A ) @ C ) ) ) ) ).

% order_less_le_subst2
thf(fact_641_linorder__le__less__linear,axiom,
    ! [X4: nat,Y: nat] :
      ( ( ord_less_eq_nat @ X4 @ Y )
      | ( ord_less_nat @ Y @ X4 ) ) ).

% linorder_le_less_linear
thf(fact_642_order__le__imp__less__or__eq,axiom,
    ! [X4: nat,Y: nat] :
      ( ( ord_less_eq_nat @ X4 @ Y )
     => ( ( ord_less_nat @ X4 @ Y )
        | ( X4 = Y ) ) ) ).

% order_le_imp_less_or_eq
thf(fact_643_order__le__imp__less__or__eq,axiom,
    ! [X4: set_nat,Y: set_nat] :
      ( ( ord_less_eq_set_nat @ X4 @ Y )
     => ( ( ord_less_set_nat @ X4 @ Y )
        | ( X4 = Y ) ) ) ).

% order_le_imp_less_or_eq
thf(fact_644_max__def,axiom,
    ( ord_max_nat
    = ( ^ [A4: nat,B6: nat] : ( if_nat @ ( ord_less_eq_nat @ A4 @ B6 ) @ B6 @ A4 ) ) ) ).

% max_def
thf(fact_645_max__def,axiom,
    ( ord_max_set_nat
    = ( ^ [A4: set_nat,B6: set_nat] : ( if_set_nat @ ( ord_less_eq_set_nat @ A4 @ B6 ) @ B6 @ A4 ) ) ) ).

% max_def
thf(fact_646_max__absorb1,axiom,
    ! [Y: nat,X4: nat] :
      ( ( ord_less_eq_nat @ Y @ X4 )
     => ( ( ord_max_nat @ X4 @ Y )
        = X4 ) ) ).

% max_absorb1
thf(fact_647_max__absorb1,axiom,
    ! [Y: set_nat,X4: set_nat] :
      ( ( ord_less_eq_set_nat @ Y @ X4 )
     => ( ( ord_max_set_nat @ X4 @ Y )
        = X4 ) ) ).

% max_absorb1
thf(fact_648_max__absorb2,axiom,
    ! [X4: nat,Y: nat] :
      ( ( ord_less_eq_nat @ X4 @ Y )
     => ( ( ord_max_nat @ X4 @ Y )
        = Y ) ) ).

% max_absorb2
thf(fact_649_max__absorb2,axiom,
    ! [X4: set_nat,Y: set_nat] :
      ( ( ord_less_eq_set_nat @ X4 @ Y )
     => ( ( ord_max_set_nat @ X4 @ Y )
        = Y ) ) ).

% max_absorb2
thf(fact_650_min__def,axiom,
    ( ord_min_nat
    = ( ^ [A4: nat,B6: nat] : ( if_nat @ ( ord_less_eq_nat @ A4 @ B6 ) @ A4 @ B6 ) ) ) ).

% min_def
thf(fact_651_min__def,axiom,
    ( ord_min_set_nat
    = ( ^ [A4: set_nat,B6: set_nat] : ( if_set_nat @ ( ord_less_eq_set_nat @ A4 @ B6 ) @ A4 @ B6 ) ) ) ).

% min_def
thf(fact_652_min__absorb1,axiom,
    ! [X4: nat,Y: nat] :
      ( ( ord_less_eq_nat @ X4 @ Y )
     => ( ( ord_min_nat @ X4 @ Y )
        = X4 ) ) ).

% min_absorb1
thf(fact_653_min__absorb1,axiom,
    ! [X4: set_nat,Y: set_nat] :
      ( ( ord_less_eq_set_nat @ X4 @ Y )
     => ( ( ord_min_set_nat @ X4 @ Y )
        = X4 ) ) ).

% min_absorb1
thf(fact_654_min__absorb2,axiom,
    ! [Y: nat,X4: nat] :
      ( ( ord_less_eq_nat @ Y @ X4 )
     => ( ( ord_min_nat @ X4 @ Y )
        = Y ) ) ).

% min_absorb2
thf(fact_655_min__absorb2,axiom,
    ! [Y: set_nat,X4: set_nat] :
      ( ( ord_less_eq_set_nat @ Y @ X4 )
     => ( ( ord_min_set_nat @ X4 @ Y )
        = Y ) ) ).

% min_absorb2
thf(fact_656_choose__one,axiom,
    ! [N: nat] :
      ( ( binomial @ N @ one_one_nat )
      = N ) ).

% choose_one
thf(fact_657_binomial__eq__0,axiom,
    ! [N: nat,K2: nat] :
      ( ( ord_less_nat @ N @ K2 )
     => ( ( binomial @ N @ K2 )
        = zero_zero_nat ) ) ).

% binomial_eq_0
thf(fact_658_binomial__symmetric,axiom,
    ! [K2: nat,N: nat] :
      ( ( ord_less_eq_nat @ K2 @ N )
     => ( ( binomial @ N @ K2 )
        = ( binomial @ N @ ( minus_minus_nat @ N @ K2 ) ) ) ) ).

% binomial_symmetric
thf(fact_659_zero__less__binomial,axiom,
    ! [K2: nat,N: nat] :
      ( ( ord_less_eq_nat @ K2 @ N )
     => ( ord_less_nat @ zero_zero_nat @ ( binomial @ N @ K2 ) ) ) ).

% zero_less_binomial
thf(fact_660_min_Oabsorb3,axiom,
    ! [A: nat,B: nat] :
      ( ( ord_less_nat @ A @ B )
     => ( ( ord_min_nat @ A @ B )
        = A ) ) ).

% min.absorb3
thf(fact_661_min_Oabsorb4,axiom,
    ! [B: nat,A: nat] :
      ( ( ord_less_nat @ B @ A )
     => ( ( ord_min_nat @ A @ B )
        = B ) ) ).

% min.absorb4
thf(fact_662_min__less__iff__conj,axiom,
    ! [Z3: nat,X4: nat,Y: nat] :
      ( ( ord_less_nat @ Z3 @ ( ord_min_nat @ X4 @ Y ) )
      = ( ( ord_less_nat @ Z3 @ X4 )
        & ( ord_less_nat @ Z3 @ Y ) ) ) ).

% min_less_iff_conj
thf(fact_663_max_Oabsorb3,axiom,
    ! [B: nat,A: nat] :
      ( ( ord_less_nat @ B @ A )
     => ( ( ord_max_nat @ A @ B )
        = A ) ) ).

% max.absorb3
thf(fact_664_max_Oabsorb4,axiom,
    ! [A: nat,B: nat] :
      ( ( ord_less_nat @ A @ B )
     => ( ( ord_max_nat @ A @ B )
        = B ) ) ).

% max.absorb4
thf(fact_665_max_Oright__idem,axiom,
    ! [A: nat,B: nat] :
      ( ( ord_max_nat @ ( ord_max_nat @ A @ B ) @ B )
      = ( ord_max_nat @ A @ B ) ) ).

% max.right_idem
thf(fact_666_max_Oleft__idem,axiom,
    ! [A: nat,B: nat] :
      ( ( ord_max_nat @ A @ ( ord_max_nat @ A @ B ) )
      = ( ord_max_nat @ A @ B ) ) ).

% max.left_idem
thf(fact_667_max_Oidem,axiom,
    ! [A: nat] :
      ( ( ord_max_nat @ A @ A )
      = A ) ).

% max.idem
thf(fact_668_min_Oright__idem,axiom,
    ! [A: nat,B: nat] :
      ( ( ord_min_nat @ ( ord_min_nat @ A @ B ) @ B )
      = ( ord_min_nat @ A @ B ) ) ).

% min.right_idem
thf(fact_669_min_Oleft__idem,axiom,
    ! [A: nat,B: nat] :
      ( ( ord_min_nat @ A @ ( ord_min_nat @ A @ B ) )
      = ( ord_min_nat @ A @ B ) ) ).

% min.left_idem
thf(fact_670_min_Oidem,axiom,
    ! [A: nat] :
      ( ( ord_min_nat @ A @ A )
      = A ) ).

% min.idem
thf(fact_671_max_Obounded__iff,axiom,
    ! [B: nat,C: nat,A: nat] :
      ( ( ord_less_eq_nat @ ( ord_max_nat @ B @ C ) @ A )
      = ( ( ord_less_eq_nat @ B @ A )
        & ( ord_less_eq_nat @ C @ A ) ) ) ).

% max.bounded_iff
thf(fact_672_max_Oabsorb2,axiom,
    ! [A: nat,B: nat] :
      ( ( ord_less_eq_nat @ A @ B )
     => ( ( ord_max_nat @ A @ B )
        = B ) ) ).

% max.absorb2
thf(fact_673_max_Oabsorb1,axiom,
    ! [B: nat,A: nat] :
      ( ( ord_less_eq_nat @ B @ A )
     => ( ( ord_max_nat @ A @ B )
        = A ) ) ).

% max.absorb1
thf(fact_674_min_Obounded__iff,axiom,
    ! [A: nat,B: nat,C: nat] :
      ( ( ord_less_eq_nat @ A @ ( ord_min_nat @ B @ C ) )
      = ( ( ord_less_eq_nat @ A @ B )
        & ( ord_less_eq_nat @ A @ C ) ) ) ).

% min.bounded_iff
thf(fact_675_min_Oabsorb2,axiom,
    ! [B: nat,A: nat] :
      ( ( ord_less_eq_nat @ B @ A )
     => ( ( ord_min_nat @ A @ B )
        = B ) ) ).

% min.absorb2
thf(fact_676_min_Oabsorb1,axiom,
    ! [A: nat,B: nat] :
      ( ( ord_less_eq_nat @ A @ B )
     => ( ( ord_min_nat @ A @ B )
        = A ) ) ).

% min.absorb1
thf(fact_677_max__less__iff__conj,axiom,
    ! [X4: nat,Y: nat,Z3: nat] :
      ( ( ord_less_nat @ ( ord_max_nat @ X4 @ Y ) @ Z3 )
      = ( ( ord_less_nat @ X4 @ Z3 )
        & ( ord_less_nat @ Y @ Z3 ) ) ) ).

% max_less_iff_conj
thf(fact_678_max_Oleft__commute,axiom,
    ! [B: nat,A: nat,C: nat] :
      ( ( ord_max_nat @ B @ ( ord_max_nat @ A @ C ) )
      = ( ord_max_nat @ A @ ( ord_max_nat @ B @ C ) ) ) ).

% max.left_commute
thf(fact_679_max_Ocommute,axiom,
    ( ord_max_nat
    = ( ^ [A4: nat,B6: nat] : ( ord_max_nat @ B6 @ A4 ) ) ) ).

% max.commute
thf(fact_680_max_Oassoc,axiom,
    ! [A: nat,B: nat,C: nat] :
      ( ( ord_max_nat @ ( ord_max_nat @ A @ B ) @ C )
      = ( ord_max_nat @ A @ ( ord_max_nat @ B @ C ) ) ) ).

% max.assoc
thf(fact_681_min_Oleft__commute,axiom,
    ! [B: nat,A: nat,C: nat] :
      ( ( ord_min_nat @ B @ ( ord_min_nat @ A @ C ) )
      = ( ord_min_nat @ A @ ( ord_min_nat @ B @ C ) ) ) ).

% min.left_commute
thf(fact_682_min_Ocommute,axiom,
    ( ord_min_nat
    = ( ^ [A4: nat,B6: nat] : ( ord_min_nat @ B6 @ A4 ) ) ) ).

% min.commute
thf(fact_683_min_Oassoc,axiom,
    ! [A: nat,B: nat,C: nat] :
      ( ( ord_min_nat @ ( ord_min_nat @ A @ B ) @ C )
      = ( ord_min_nat @ A @ ( ord_min_nat @ B @ C ) ) ) ).

% min.assoc
thf(fact_684_max_OcoboundedI2,axiom,
    ! [C: nat,B: nat,A: nat] :
      ( ( ord_less_eq_nat @ C @ B )
     => ( ord_less_eq_nat @ C @ ( ord_max_nat @ A @ B ) ) ) ).

% max.coboundedI2
thf(fact_685_max_OcoboundedI1,axiom,
    ! [C: nat,A: nat,B: nat] :
      ( ( ord_less_eq_nat @ C @ A )
     => ( ord_less_eq_nat @ C @ ( ord_max_nat @ A @ B ) ) ) ).

% max.coboundedI1
thf(fact_686_max_Oabsorb__iff2,axiom,
    ( ord_less_eq_nat
    = ( ^ [A4: nat,B6: nat] :
          ( ( ord_max_nat @ A4 @ B6 )
          = B6 ) ) ) ).

% max.absorb_iff2
thf(fact_687_max_Oabsorb__iff1,axiom,
    ( ord_less_eq_nat
    = ( ^ [B6: nat,A4: nat] :
          ( ( ord_max_nat @ A4 @ B6 )
          = A4 ) ) ) ).

% max.absorb_iff1
thf(fact_688_le__max__iff__disj,axiom,
    ! [Z3: nat,X4: nat,Y: nat] :
      ( ( ord_less_eq_nat @ Z3 @ ( ord_max_nat @ X4 @ Y ) )
      = ( ( ord_less_eq_nat @ Z3 @ X4 )
        | ( ord_less_eq_nat @ Z3 @ Y ) ) ) ).

% le_max_iff_disj
thf(fact_689_max_Ocobounded2,axiom,
    ! [B: nat,A: nat] : ( ord_less_eq_nat @ B @ ( ord_max_nat @ A @ B ) ) ).

% max.cobounded2
thf(fact_690_max_Ocobounded1,axiom,
    ! [A: nat,B: nat] : ( ord_less_eq_nat @ A @ ( ord_max_nat @ A @ B ) ) ).

% max.cobounded1
thf(fact_691_max_Oorder__iff,axiom,
    ( ord_less_eq_nat
    = ( ^ [B6: nat,A4: nat] :
          ( A4
          = ( ord_max_nat @ A4 @ B6 ) ) ) ) ).

% max.order_iff
thf(fact_692_max_OboundedI,axiom,
    ! [B: nat,A: nat,C: nat] :
      ( ( ord_less_eq_nat @ B @ A )
     => ( ( ord_less_eq_nat @ C @ A )
       => ( ord_less_eq_nat @ ( ord_max_nat @ B @ C ) @ A ) ) ) ).

% max.boundedI
thf(fact_693_max_OboundedE,axiom,
    ! [B: nat,C: nat,A: nat] :
      ( ( ord_less_eq_nat @ ( ord_max_nat @ B @ C ) @ A )
     => ~ ( ( ord_less_eq_nat @ B @ A )
         => ~ ( ord_less_eq_nat @ C @ A ) ) ) ).

% max.boundedE
thf(fact_694_max_OorderI,axiom,
    ! [A: nat,B: nat] :
      ( ( A
        = ( ord_max_nat @ A @ B ) )
     => ( ord_less_eq_nat @ B @ A ) ) ).

% max.orderI
thf(fact_695_max_OorderE,axiom,
    ! [B: nat,A: nat] :
      ( ( ord_less_eq_nat @ B @ A )
     => ( A
        = ( ord_max_nat @ A @ B ) ) ) ).

% max.orderE
thf(fact_696_max_Omono,axiom,
    ! [C: nat,A: nat,D: nat,B: nat] :
      ( ( ord_less_eq_nat @ C @ A )
     => ( ( ord_less_eq_nat @ D @ B )
       => ( ord_less_eq_nat @ ( ord_max_nat @ C @ D ) @ ( ord_max_nat @ A @ B ) ) ) ) ).

% max.mono
thf(fact_697_min__le__iff__disj,axiom,
    ! [X4: nat,Y: nat,Z3: nat] :
      ( ( ord_less_eq_nat @ ( ord_min_nat @ X4 @ Y ) @ Z3 )
      = ( ( ord_less_eq_nat @ X4 @ Z3 )
        | ( ord_less_eq_nat @ Y @ Z3 ) ) ) ).

% min_le_iff_disj
thf(fact_698_min_OcoboundedI2,axiom,
    ! [B: nat,C: nat,A: nat] :
      ( ( ord_less_eq_nat @ B @ C )
     => ( ord_less_eq_nat @ ( ord_min_nat @ A @ B ) @ C ) ) ).

% min.coboundedI2
thf(fact_699_min_OcoboundedI1,axiom,
    ! [A: nat,C: nat,B: nat] :
      ( ( ord_less_eq_nat @ A @ C )
     => ( ord_less_eq_nat @ ( ord_min_nat @ A @ B ) @ C ) ) ).

% min.coboundedI1
thf(fact_700_min_Oabsorb__iff2,axiom,
    ( ord_less_eq_nat
    = ( ^ [B6: nat,A4: nat] :
          ( ( ord_min_nat @ A4 @ B6 )
          = B6 ) ) ) ).

% min.absorb_iff2
thf(fact_701_min_Oabsorb__iff1,axiom,
    ( ord_less_eq_nat
    = ( ^ [A4: nat,B6: nat] :
          ( ( ord_min_nat @ A4 @ B6 )
          = A4 ) ) ) ).

% min.absorb_iff1
thf(fact_702_min_Ocobounded2,axiom,
    ! [A: nat,B: nat] : ( ord_less_eq_nat @ ( ord_min_nat @ A @ B ) @ B ) ).

% min.cobounded2
thf(fact_703_min_Ocobounded1,axiom,
    ! [A: nat,B: nat] : ( ord_less_eq_nat @ ( ord_min_nat @ A @ B ) @ A ) ).

% min.cobounded1
thf(fact_704_min_Oorder__iff,axiom,
    ( ord_less_eq_nat
    = ( ^ [A4: nat,B6: nat] :
          ( A4
          = ( ord_min_nat @ A4 @ B6 ) ) ) ) ).

% min.order_iff
thf(fact_705_min_OboundedI,axiom,
    ! [A: nat,B: nat,C: nat] :
      ( ( ord_less_eq_nat @ A @ B )
     => ( ( ord_less_eq_nat @ A @ C )
       => ( ord_less_eq_nat @ A @ ( ord_min_nat @ B @ C ) ) ) ) ).

% min.boundedI
thf(fact_706_min_OboundedE,axiom,
    ! [A: nat,B: nat,C: nat] :
      ( ( ord_less_eq_nat @ A @ ( ord_min_nat @ B @ C ) )
     => ~ ( ( ord_less_eq_nat @ A @ B )
         => ~ ( ord_less_eq_nat @ A @ C ) ) ) ).

% min.boundedE
thf(fact_707_min_OorderI,axiom,
    ! [A: nat,B: nat] :
      ( ( A
        = ( ord_min_nat @ A @ B ) )
     => ( ord_less_eq_nat @ A @ B ) ) ).

% min.orderI
thf(fact_708_min_OorderE,axiom,
    ! [A: nat,B: nat] :
      ( ( ord_less_eq_nat @ A @ B )
     => ( A
        = ( ord_min_nat @ A @ B ) ) ) ).

% min.orderE
thf(fact_709_min_Omono,axiom,
    ! [A: nat,C: nat,B: nat,D: nat] :
      ( ( ord_less_eq_nat @ A @ C )
     => ( ( ord_less_eq_nat @ B @ D )
       => ( ord_less_eq_nat @ ( ord_min_nat @ A @ B ) @ ( ord_min_nat @ C @ D ) ) ) ) ).

% min.mono
thf(fact_710_max_Ostrict__coboundedI2,axiom,
    ! [C: nat,B: nat,A: nat] :
      ( ( ord_less_nat @ C @ B )
     => ( ord_less_nat @ C @ ( ord_max_nat @ A @ B ) ) ) ).

% max.strict_coboundedI2
thf(fact_711_max_Ostrict__coboundedI1,axiom,
    ! [C: nat,A: nat,B: nat] :
      ( ( ord_less_nat @ C @ A )
     => ( ord_less_nat @ C @ ( ord_max_nat @ A @ B ) ) ) ).

% max.strict_coboundedI1
thf(fact_712_max_Ostrict__order__iff,axiom,
    ( ord_less_nat
    = ( ^ [B6: nat,A4: nat] :
          ( ( A4
            = ( ord_max_nat @ A4 @ B6 ) )
          & ( A4 != B6 ) ) ) ) ).

% max.strict_order_iff
thf(fact_713_max_Ostrict__boundedE,axiom,
    ! [B: nat,C: nat,A: nat] :
      ( ( ord_less_nat @ ( ord_max_nat @ B @ C ) @ A )
     => ~ ( ( ord_less_nat @ B @ A )
         => ~ ( ord_less_nat @ C @ A ) ) ) ).

% max.strict_boundedE
thf(fact_714_less__max__iff__disj,axiom,
    ! [Z3: nat,X4: nat,Y: nat] :
      ( ( ord_less_nat @ Z3 @ ( ord_max_nat @ X4 @ Y ) )
      = ( ( ord_less_nat @ Z3 @ X4 )
        | ( ord_less_nat @ Z3 @ Y ) ) ) ).

% less_max_iff_disj
thf(fact_715_min_Ostrict__coboundedI2,axiom,
    ! [B: nat,C: nat,A: nat] :
      ( ( ord_less_nat @ B @ C )
     => ( ord_less_nat @ ( ord_min_nat @ A @ B ) @ C ) ) ).

% min.strict_coboundedI2
thf(fact_716_min_Ostrict__coboundedI1,axiom,
    ! [A: nat,C: nat,B: nat] :
      ( ( ord_less_nat @ A @ C )
     => ( ord_less_nat @ ( ord_min_nat @ A @ B ) @ C ) ) ).

% min.strict_coboundedI1
thf(fact_717_min_Ostrict__order__iff,axiom,
    ( ord_less_nat
    = ( ^ [A4: nat,B6: nat] :
          ( ( A4
            = ( ord_min_nat @ A4 @ B6 ) )
          & ( A4 != B6 ) ) ) ) ).

% min.strict_order_iff
thf(fact_718_min_Ostrict__boundedE,axiom,
    ! [A: nat,B: nat,C: nat] :
      ( ( ord_less_nat @ A @ ( ord_min_nat @ B @ C ) )
     => ~ ( ( ord_less_nat @ A @ B )
         => ~ ( ord_less_nat @ A @ C ) ) ) ).

% min.strict_boundedE
thf(fact_719_min__less__iff__disj,axiom,
    ! [X4: nat,Y: nat,Z3: nat] :
      ( ( ord_less_nat @ ( ord_min_nat @ X4 @ Y ) @ Z3 )
      = ( ( ord_less_nat @ X4 @ Z3 )
        | ( ord_less_nat @ Y @ Z3 ) ) ) ).

% min_less_iff_disj
thf(fact_720_min__max__distrib2,axiom,
    ! [A: nat,B: nat,C: nat] :
      ( ( ord_min_nat @ A @ ( ord_max_nat @ B @ C ) )
      = ( ord_max_nat @ ( ord_min_nat @ A @ B ) @ ( ord_min_nat @ A @ C ) ) ) ).

% min_max_distrib2
thf(fact_721_min__max__distrib1,axiom,
    ! [B: nat,C: nat,A: nat] :
      ( ( ord_min_nat @ ( ord_max_nat @ B @ C ) @ A )
      = ( ord_max_nat @ ( ord_min_nat @ B @ A ) @ ( ord_min_nat @ C @ A ) ) ) ).

% min_max_distrib1
thf(fact_722_max__min__distrib2,axiom,
    ! [A: nat,B: nat,C: nat] :
      ( ( ord_max_nat @ A @ ( ord_min_nat @ B @ C ) )
      = ( ord_min_nat @ ( ord_max_nat @ A @ B ) @ ( ord_max_nat @ A @ C ) ) ) ).

% max_min_distrib2
thf(fact_723_max__min__distrib1,axiom,
    ! [B: nat,C: nat,A: nat] :
      ( ( ord_max_nat @ ( ord_min_nat @ B @ C ) @ A )
      = ( ord_min_nat @ ( ord_max_nat @ B @ A ) @ ( ord_max_nat @ C @ A ) ) ) ).

% max_min_distrib1
thf(fact_724_pred__subset__eq,axiom,
    ! [R: set_set_nat,S2: set_set_nat] :
      ( ( ord_le3964352015994296041_nat_o
        @ ^ [X: set_nat] : ( member_set_nat @ X @ R )
        @ ^ [X: set_nat] : ( member_set_nat @ X @ S2 ) )
      = ( ord_le6893508408891458716et_nat @ R @ S2 ) ) ).

% pred_subset_eq
thf(fact_725_pred__subset__eq,axiom,
    ! [R: set_nat,S2: set_nat] :
      ( ( ord_less_eq_nat_o
        @ ^ [X: nat] : ( member_nat @ X @ R )
        @ ^ [X: nat] : ( member_nat @ X @ S2 ) )
      = ( ord_less_eq_set_nat @ R @ S2 ) ) ).

% pred_subset_eq
thf(fact_726_min__def__raw,axiom,
    ( ord_min_nat
    = ( ^ [A4: nat,B6: nat] : ( if_nat @ ( ord_less_eq_nat @ A4 @ B6 ) @ A4 @ B6 ) ) ) ).

% min_def_raw
thf(fact_727_min__def__raw,axiom,
    ( ord_min_set_nat
    = ( ^ [A4: set_nat,B6: set_nat] : ( if_set_nat @ ( ord_less_eq_set_nat @ A4 @ B6 ) @ A4 @ B6 ) ) ) ).

% min_def_raw
thf(fact_728_max__def__raw,axiom,
    ( ord_max_nat
    = ( ^ [A4: nat,B6: nat] : ( if_nat @ ( ord_less_eq_nat @ A4 @ B6 ) @ B6 @ A4 ) ) ) ).

% max_def_raw
thf(fact_729_max__def__raw,axiom,
    ( ord_max_set_nat
    = ( ^ [A4: set_nat,B6: set_nat] : ( if_set_nat @ ( ord_less_eq_set_nat @ A4 @ B6 ) @ B6 @ A4 ) ) ) ).

% max_def_raw
thf(fact_730_max__nat_Osemilattice__neutr__order__axioms,axiom,
    ( semila1623282765462674594er_nat @ ord_max_nat @ zero_zero_nat
    @ ^ [X: nat,Y6: nat] : ( ord_less_eq_nat @ Y6 @ X )
    @ ^ [X: nat,Y6: nat] : ( ord_less_nat @ Y6 @ X ) ) ).

% max_nat.semilattice_neutr_order_axioms
thf(fact_731_semilattice__neutr__order_Oneutr__eq__iff,axiom,
    ! [F: nat > nat > nat,Z3: nat,Less_eq: nat > nat > $o,Less: nat > nat > $o,A: nat,B: nat] :
      ( ( semila1623282765462674594er_nat @ F @ Z3 @ Less_eq @ Less )
     => ( ( Z3
          = ( F @ A @ B ) )
        = ( ( A = Z3 )
          & ( B = Z3 ) ) ) ) ).

% semilattice_neutr_order.neutr_eq_iff
thf(fact_732_semilattice__neutr__order_Oeq__neutr__iff,axiom,
    ! [F: nat > nat > nat,Z3: nat,Less_eq: nat > nat > $o,Less: nat > nat > $o,A: nat,B: nat] :
      ( ( semila1623282765462674594er_nat @ F @ Z3 @ Less_eq @ Less )
     => ( ( ( F @ A @ B )
          = Z3 )
        = ( ( A = Z3 )
          & ( B = Z3 ) ) ) ) ).

% semilattice_neutr_order.eq_neutr_iff
thf(fact_733_verit__comp__simplify1_I2_J,axiom,
    ! [A: nat] : ( ord_less_eq_nat @ A @ A ) ).

% verit_comp_simplify1(2)
thf(fact_734_verit__comp__simplify1_I2_J,axiom,
    ! [A: set_nat] : ( ord_less_eq_set_nat @ A @ A ) ).

% verit_comp_simplify1(2)
thf(fact_735_verit__la__disequality,axiom,
    ! [A: nat,B: nat] :
      ( ( A = B )
      | ~ ( ord_less_eq_nat @ A @ B )
      | ~ ( ord_less_eq_nat @ B @ A ) ) ).

% verit_la_disequality
thf(fact_736_verit__comp__simplify1_I1_J,axiom,
    ! [A: nat] :
      ~ ( ord_less_nat @ A @ A ) ).

% verit_comp_simplify1(1)
thf(fact_737_verit__comp__simplify1_I3_J,axiom,
    ! [B7: nat,A6: nat] :
      ( ( ~ ( ord_less_eq_nat @ B7 @ A6 ) )
      = ( ord_less_nat @ A6 @ B7 ) ) ).

% verit_comp_simplify1(3)
thf(fact_738_nat__descend__induct,axiom,
    ! [N: nat,P: nat > $o,M: nat] :
      ( ! [K3: nat] :
          ( ( ord_less_nat @ N @ K3 )
         => ( P @ K3 ) )
     => ( ! [K3: nat] :
            ( ( ord_less_eq_nat @ K3 @ N )
           => ( ! [I4: nat] :
                  ( ( ord_less_nat @ K3 @ I4 )
                 => ( P @ I4 ) )
             => ( P @ K3 ) ) )
       => ( P @ M ) ) ) ).

% nat_descend_induct
thf(fact_739_insert__subsetI,axiom,
    ! [X4: set_nat,A2: set_set_nat,X7: set_set_nat] :
      ( ( member_set_nat @ X4 @ A2 )
     => ( ( ord_le6893508408891458716et_nat @ X7 @ A2 )
       => ( ord_le6893508408891458716et_nat @ ( insert_set_nat @ X4 @ X7 ) @ A2 ) ) ) ).

% insert_subsetI
thf(fact_740_insert__subsetI,axiom,
    ! [X4: nat,A2: set_nat,X7: set_nat] :
      ( ( member_nat @ X4 @ A2 )
     => ( ( ord_less_eq_set_nat @ X7 @ A2 )
       => ( ord_less_eq_set_nat @ ( insert_nat @ X4 @ X7 ) @ A2 ) ) ) ).

% insert_subsetI
thf(fact_741_exists__least__lemma,axiom,
    ! [P: nat > $o] :
      ( ~ ( P @ zero_zero_nat )
     => ( ? [X_12: nat] : ( P @ X_12 )
       => ? [N3: nat] :
            ( ~ ( P @ N3 )
            & ( P @ ( suc @ N3 ) ) ) ) ) ).

% exists_least_lemma
thf(fact_742_prop__restrict,axiom,
    ! [X4: set_nat,Z4: set_set_nat,X7: set_set_nat,P: set_nat > $o] :
      ( ( member_set_nat @ X4 @ Z4 )
     => ( ( ord_le6893508408891458716et_nat @ Z4
          @ ( collect_set_nat
            @ ^ [X: set_nat] :
                ( ( member_set_nat @ X @ X7 )
                & ( P @ X ) ) ) )
       => ( P @ X4 ) ) ) ).

% prop_restrict
thf(fact_743_prop__restrict,axiom,
    ! [X4: nat,Z4: set_nat,X7: set_nat,P: nat > $o] :
      ( ( member_nat @ X4 @ Z4 )
     => ( ( ord_less_eq_set_nat @ Z4
          @ ( collect_nat
            @ ^ [X: nat] :
                ( ( member_nat @ X @ X7 )
                & ( P @ X ) ) ) )
       => ( P @ X4 ) ) ) ).

% prop_restrict
thf(fact_744_Collect__restrict,axiom,
    ! [X7: set_set_nat,P: set_nat > $o] :
      ( ord_le6893508408891458716et_nat
      @ ( collect_set_nat
        @ ^ [X: set_nat] :
            ( ( member_set_nat @ X @ X7 )
            & ( P @ X ) ) )
      @ X7 ) ).

% Collect_restrict
thf(fact_745_Collect__restrict,axiom,
    ! [X7: set_nat,P: nat > $o] :
      ( ord_less_eq_set_nat
      @ ( collect_nat
        @ ^ [X: nat] :
            ( ( member_nat @ X @ X7 )
            & ( P @ X ) ) )
      @ X7 ) ).

% Collect_restrict
thf(fact_746_complete__interval,axiom,
    ! [A: nat,B: nat,P: nat > $o] :
      ( ( ord_less_nat @ A @ B )
     => ( ( P @ A )
       => ( ~ ( P @ B )
         => ? [C4: nat] :
              ( ( ord_less_eq_nat @ A @ C4 )
              & ( ord_less_eq_nat @ C4 @ B )
              & ! [X5: nat] :
                  ( ( ( ord_less_eq_nat @ A @ X5 )
                    & ( ord_less_nat @ X5 @ C4 ) )
                 => ( P @ X5 ) )
              & ! [D3: nat] :
                  ( ! [X3: nat] :
                      ( ( ( ord_less_eq_nat @ A @ X3 )
                        & ( ord_less_nat @ X3 @ D3 ) )
                     => ( P @ X3 ) )
                 => ( ord_less_eq_nat @ D3 @ C4 ) ) ) ) ) ) ).

% complete_interval
thf(fact_747_pinf_I6_J,axiom,
    ! [T: nat] :
    ? [Z: nat] :
    ! [X5: nat] :
      ( ( ord_less_nat @ Z @ X5 )
     => ~ ( ord_less_eq_nat @ X5 @ T ) ) ).

% pinf(6)
thf(fact_748_pinf_I8_J,axiom,
    ! [T: nat] :
    ? [Z: nat] :
    ! [X5: nat] :
      ( ( ord_less_nat @ Z @ X5 )
     => ( ord_less_eq_nat @ T @ X5 ) ) ).

% pinf(8)
thf(fact_749_minf_I7_J,axiom,
    ! [T: nat] :
    ? [Z: nat] :
    ! [X5: nat] :
      ( ( ord_less_nat @ X5 @ Z )
     => ~ ( ord_less_nat @ T @ X5 ) ) ).

% minf(7)
thf(fact_750_minf_I5_J,axiom,
    ! [T: nat] :
    ? [Z: nat] :
    ! [X5: nat] :
      ( ( ord_less_nat @ X5 @ Z )
     => ( ord_less_nat @ X5 @ T ) ) ).

% minf(5)
thf(fact_751_minf_I4_J,axiom,
    ! [T: nat] :
    ? [Z: nat] :
    ! [X5: nat] :
      ( ( ord_less_nat @ X5 @ Z )
     => ( X5 != T ) ) ).

% minf(4)
thf(fact_752_minf_I3_J,axiom,
    ! [T: nat] :
    ? [Z: nat] :
    ! [X5: nat] :
      ( ( ord_less_nat @ X5 @ Z )
     => ( X5 != T ) ) ).

% minf(3)
thf(fact_753_minf_I2_J,axiom,
    ! [P: nat > $o,P4: nat > $o,Q: nat > $o,Q2: nat > $o] :
      ( ? [Z5: nat] :
        ! [X3: nat] :
          ( ( ord_less_nat @ X3 @ Z5 )
         => ( ( P @ X3 )
            = ( P4 @ X3 ) ) )
     => ( ? [Z5: nat] :
          ! [X3: nat] :
            ( ( ord_less_nat @ X3 @ Z5 )
           => ( ( Q @ X3 )
              = ( Q2 @ X3 ) ) )
       => ? [Z: nat] :
          ! [X5: nat] :
            ( ( ord_less_nat @ X5 @ Z )
           => ( ( ( P @ X5 )
                | ( Q @ X5 ) )
              = ( ( P4 @ X5 )
                | ( Q2 @ X5 ) ) ) ) ) ) ).

% minf(2)
thf(fact_754_minf_I1_J,axiom,
    ! [P: nat > $o,P4: nat > $o,Q: nat > $o,Q2: nat > $o] :
      ( ? [Z5: nat] :
        ! [X3: nat] :
          ( ( ord_less_nat @ X3 @ Z5 )
         => ( ( P @ X3 )
            = ( P4 @ X3 ) ) )
     => ( ? [Z5: nat] :
          ! [X3: nat] :
            ( ( ord_less_nat @ X3 @ Z5 )
           => ( ( Q @ X3 )
              = ( Q2 @ X3 ) ) )
       => ? [Z: nat] :
          ! [X5: nat] :
            ( ( ord_less_nat @ X5 @ Z )
           => ( ( ( P @ X5 )
                & ( Q @ X5 ) )
              = ( ( P4 @ X5 )
                & ( Q2 @ X5 ) ) ) ) ) ) ).

% minf(1)
thf(fact_755_pinf_I7_J,axiom,
    ! [T: nat] :
    ? [Z: nat] :
    ! [X5: nat] :
      ( ( ord_less_nat @ Z @ X5 )
     => ( ord_less_nat @ T @ X5 ) ) ).

% pinf(7)
thf(fact_756_pinf_I5_J,axiom,
    ! [T: nat] :
    ? [Z: nat] :
    ! [X5: nat] :
      ( ( ord_less_nat @ Z @ X5 )
     => ~ ( ord_less_nat @ X5 @ T ) ) ).

% pinf(5)
thf(fact_757_pinf_I4_J,axiom,
    ! [T: nat] :
    ? [Z: nat] :
    ! [X5: nat] :
      ( ( ord_less_nat @ Z @ X5 )
     => ( X5 != T ) ) ).

% pinf(4)
thf(fact_758_pinf_I3_J,axiom,
    ! [T: nat] :
    ? [Z: nat] :
    ! [X5: nat] :
      ( ( ord_less_nat @ Z @ X5 )
     => ( X5 != T ) ) ).

% pinf(3)
thf(fact_759_pinf_I2_J,axiom,
    ! [P: nat > $o,P4: nat > $o,Q: nat > $o,Q2: nat > $o] :
      ( ? [Z5: nat] :
        ! [X3: nat] :
          ( ( ord_less_nat @ Z5 @ X3 )
         => ( ( P @ X3 )
            = ( P4 @ X3 ) ) )
     => ( ? [Z5: nat] :
          ! [X3: nat] :
            ( ( ord_less_nat @ Z5 @ X3 )
           => ( ( Q @ X3 )
              = ( Q2 @ X3 ) ) )
       => ? [Z: nat] :
          ! [X5: nat] :
            ( ( ord_less_nat @ Z @ X5 )
           => ( ( ( P @ X5 )
                | ( Q @ X5 ) )
              = ( ( P4 @ X5 )
                | ( Q2 @ X5 ) ) ) ) ) ) ).

% pinf(2)
thf(fact_760_pinf_I1_J,axiom,
    ! [P: nat > $o,P4: nat > $o,Q: nat > $o,Q2: nat > $o] :
      ( ? [Z5: nat] :
        ! [X3: nat] :
          ( ( ord_less_nat @ Z5 @ X3 )
         => ( ( P @ X3 )
            = ( P4 @ X3 ) ) )
     => ( ? [Z5: nat] :
          ! [X3: nat] :
            ( ( ord_less_nat @ Z5 @ X3 )
           => ( ( Q @ X3 )
              = ( Q2 @ X3 ) ) )
       => ? [Z: nat] :
          ! [X5: nat] :
            ( ( ord_less_nat @ Z @ X5 )
           => ( ( ( P @ X5 )
                & ( Q @ X5 ) )
              = ( ( P4 @ X5 )
                & ( Q2 @ X5 ) ) ) ) ) ) ).

% pinf(1)
thf(fact_761_minf_I8_J,axiom,
    ! [T: nat] :
    ? [Z: nat] :
    ! [X5: nat] :
      ( ( ord_less_nat @ X5 @ Z )
     => ~ ( ord_less_eq_nat @ T @ X5 ) ) ).

% minf(8)
thf(fact_762_minf_I6_J,axiom,
    ! [T: nat] :
    ? [Z: nat] :
    ! [X5: nat] :
      ( ( ord_less_nat @ X5 @ Z )
     => ( ord_less_eq_nat @ X5 @ T ) ) ).

% minf(6)
thf(fact_763_dual__max,axiom,
    ( ( max_nat
      @ ^ [X: nat,Y6: nat] : ( ord_less_eq_nat @ Y6 @ X ) )
    = ord_min_nat ) ).

% dual_max
thf(fact_764_dual__min,axiom,
    ( ( min_nat
      @ ^ [X: nat,Y6: nat] : ( ord_less_eq_nat @ Y6 @ X ) )
    = ord_max_nat ) ).

% dual_min
thf(fact_765_binomial__addition__formula,axiom,
    ! [N: nat,K2: nat] :
      ( ( ord_less_nat @ zero_zero_nat @ N )
     => ( ( binomial @ N @ ( suc @ K2 ) )
        = ( plus_plus_nat @ ( binomial @ ( minus_minus_nat @ N @ one_one_nat ) @ ( suc @ K2 ) ) @ ( binomial @ ( minus_minus_nat @ N @ one_one_nat ) @ K2 ) ) ) ) ).

% binomial_addition_formula
thf(fact_766_add__left__cancel,axiom,
    ! [A: nat,B: nat,C: nat] :
      ( ( ( plus_plus_nat @ A @ B )
        = ( plus_plus_nat @ A @ C ) )
      = ( B = C ) ) ).

% add_left_cancel
thf(fact_767_add__right__cancel,axiom,
    ! [B: nat,A: nat,C: nat] :
      ( ( ( plus_plus_nat @ B @ A )
        = ( plus_plus_nat @ C @ A ) )
      = ( B = C ) ) ).

% add_right_cancel
thf(fact_768_add__le__cancel__right,axiom,
    ! [A: nat,C: nat,B: nat] :
      ( ( ord_less_eq_nat @ ( plus_plus_nat @ A @ C ) @ ( plus_plus_nat @ B @ C ) )
      = ( ord_less_eq_nat @ A @ B ) ) ).

% add_le_cancel_right
thf(fact_769_add__le__cancel__left,axiom,
    ! [C: nat,A: nat,B: nat] :
      ( ( ord_less_eq_nat @ ( plus_plus_nat @ C @ A ) @ ( plus_plus_nat @ C @ B ) )
      = ( ord_less_eq_nat @ A @ B ) ) ).

% add_le_cancel_left
thf(fact_770_add__0,axiom,
    ! [A: nat] :
      ( ( plus_plus_nat @ zero_zero_nat @ A )
      = A ) ).

% add_0
thf(fact_771_zero__eq__add__iff__both__eq__0,axiom,
    ! [X4: nat,Y: nat] :
      ( ( zero_zero_nat
        = ( plus_plus_nat @ X4 @ Y ) )
      = ( ( X4 = zero_zero_nat )
        & ( Y = zero_zero_nat ) ) ) ).

% zero_eq_add_iff_both_eq_0
thf(fact_772_add__eq__0__iff__both__eq__0,axiom,
    ! [X4: nat,Y: nat] :
      ( ( ( plus_plus_nat @ X4 @ Y )
        = zero_zero_nat )
      = ( ( X4 = zero_zero_nat )
        & ( Y = zero_zero_nat ) ) ) ).

% add_eq_0_iff_both_eq_0
thf(fact_773_add__cancel__right__right,axiom,
    ! [A: nat,B: nat] :
      ( ( A
        = ( plus_plus_nat @ A @ B ) )
      = ( B = zero_zero_nat ) ) ).

% add_cancel_right_right
thf(fact_774_add__cancel__right__left,axiom,
    ! [A: nat,B: nat] :
      ( ( A
        = ( plus_plus_nat @ B @ A ) )
      = ( B = zero_zero_nat ) ) ).

% add_cancel_right_left
thf(fact_775_add__cancel__left__right,axiom,
    ! [A: nat,B: nat] :
      ( ( ( plus_plus_nat @ A @ B )
        = A )
      = ( B = zero_zero_nat ) ) ).

% add_cancel_left_right
thf(fact_776_add__cancel__left__left,axiom,
    ! [B: nat,A: nat] :
      ( ( ( plus_plus_nat @ B @ A )
        = A )
      = ( B = zero_zero_nat ) ) ).

% add_cancel_left_left
thf(fact_777_add_Oright__neutral,axiom,
    ! [A: nat] :
      ( ( plus_plus_nat @ A @ zero_zero_nat )
      = A ) ).

% add.right_neutral
thf(fact_778_add__less__cancel__left,axiom,
    ! [C: nat,A: nat,B: nat] :
      ( ( ord_less_nat @ ( plus_plus_nat @ C @ A ) @ ( plus_plus_nat @ C @ B ) )
      = ( ord_less_nat @ A @ B ) ) ).

% add_less_cancel_left
thf(fact_779_add__less__cancel__right,axiom,
    ! [A: nat,C: nat,B: nat] :
      ( ( ord_less_nat @ ( plus_plus_nat @ A @ C ) @ ( plus_plus_nat @ B @ C ) )
      = ( ord_less_nat @ A @ B ) ) ).

% add_less_cancel_right
thf(fact_780_add__diff__cancel__right_H,axiom,
    ! [A: nat,B: nat] :
      ( ( minus_minus_nat @ ( plus_plus_nat @ A @ B ) @ B )
      = A ) ).

% add_diff_cancel_right'
thf(fact_781_add__diff__cancel__right,axiom,
    ! [A: nat,C: nat,B: nat] :
      ( ( minus_minus_nat @ ( plus_plus_nat @ A @ C ) @ ( plus_plus_nat @ B @ C ) )
      = ( minus_minus_nat @ A @ B ) ) ).

% add_diff_cancel_right
thf(fact_782_add__diff__cancel__left_H,axiom,
    ! [A: nat,B: nat] :
      ( ( minus_minus_nat @ ( plus_plus_nat @ A @ B ) @ A )
      = B ) ).

% add_diff_cancel_left'
thf(fact_783_add__diff__cancel__left,axiom,
    ! [C: nat,A: nat,B: nat] :
      ( ( minus_minus_nat @ ( plus_plus_nat @ C @ A ) @ ( plus_plus_nat @ C @ B ) )
      = ( minus_minus_nat @ A @ B ) ) ).

% add_diff_cancel_left
thf(fact_784_add__Suc__right,axiom,
    ! [M: nat,N: nat] :
      ( ( plus_plus_nat @ M @ ( suc @ N ) )
      = ( suc @ ( plus_plus_nat @ M @ N ) ) ) ).

% add_Suc_right
thf(fact_785_Nat_Oadd__0__right,axiom,
    ! [M: nat] :
      ( ( plus_plus_nat @ M @ zero_zero_nat )
      = M ) ).

% Nat.add_0_right
thf(fact_786_add__is__0,axiom,
    ! [M: nat,N: nat] :
      ( ( ( plus_plus_nat @ M @ N )
        = zero_zero_nat )
      = ( ( M = zero_zero_nat )
        & ( N = zero_zero_nat ) ) ) ).

% add_is_0
thf(fact_787_nat__add__left__cancel__less,axiom,
    ! [K2: nat,M: nat,N: nat] :
      ( ( ord_less_nat @ ( plus_plus_nat @ K2 @ M ) @ ( plus_plus_nat @ K2 @ N ) )
      = ( ord_less_nat @ M @ N ) ) ).

% nat_add_left_cancel_less
thf(fact_788_nat__add__left__cancel__le,axiom,
    ! [K2: nat,M: nat,N: nat] :
      ( ( ord_less_eq_nat @ ( plus_plus_nat @ K2 @ M ) @ ( plus_plus_nat @ K2 @ N ) )
      = ( ord_less_eq_nat @ M @ N ) ) ).

% nat_add_left_cancel_le
thf(fact_789_diff__diff__left,axiom,
    ! [I: nat,J: nat,K2: nat] :
      ( ( minus_minus_nat @ ( minus_minus_nat @ I @ J ) @ K2 )
      = ( minus_minus_nat @ I @ ( plus_plus_nat @ J @ K2 ) ) ) ).

% diff_diff_left
thf(fact_790_le__add__same__cancel2,axiom,
    ! [A: nat,B: nat] :
      ( ( ord_less_eq_nat @ A @ ( plus_plus_nat @ B @ A ) )
      = ( ord_less_eq_nat @ zero_zero_nat @ B ) ) ).

% le_add_same_cancel2
thf(fact_791_le__add__same__cancel1,axiom,
    ! [A: nat,B: nat] :
      ( ( ord_less_eq_nat @ A @ ( plus_plus_nat @ A @ B ) )
      = ( ord_less_eq_nat @ zero_zero_nat @ B ) ) ).

% le_add_same_cancel1
thf(fact_792_add__le__same__cancel2,axiom,
    ! [A: nat,B: nat] :
      ( ( ord_less_eq_nat @ ( plus_plus_nat @ A @ B ) @ B )
      = ( ord_less_eq_nat @ A @ zero_zero_nat ) ) ).

% add_le_same_cancel2
thf(fact_793_add__le__same__cancel1,axiom,
    ! [B: nat,A: nat] :
      ( ( ord_less_eq_nat @ ( plus_plus_nat @ B @ A ) @ B )
      = ( ord_less_eq_nat @ A @ zero_zero_nat ) ) ).

% add_le_same_cancel1
thf(fact_794_less__add__same__cancel2,axiom,
    ! [A: nat,B: nat] :
      ( ( ord_less_nat @ A @ ( plus_plus_nat @ B @ A ) )
      = ( ord_less_nat @ zero_zero_nat @ B ) ) ).

% less_add_same_cancel2
thf(fact_795_less__add__same__cancel1,axiom,
    ! [A: nat,B: nat] :
      ( ( ord_less_nat @ A @ ( plus_plus_nat @ A @ B ) )
      = ( ord_less_nat @ zero_zero_nat @ B ) ) ).

% less_add_same_cancel1
thf(fact_796_add__less__same__cancel2,axiom,
    ! [A: nat,B: nat] :
      ( ( ord_less_nat @ ( plus_plus_nat @ A @ B ) @ B )
      = ( ord_less_nat @ A @ zero_zero_nat ) ) ).

% add_less_same_cancel2
thf(fact_797_add__less__same__cancel1,axiom,
    ! [B: nat,A: nat] :
      ( ( ord_less_nat @ ( plus_plus_nat @ B @ A ) @ B )
      = ( ord_less_nat @ A @ zero_zero_nat ) ) ).

% add_less_same_cancel1
thf(fact_798_le__add__diff__inverse,axiom,
    ! [B: nat,A: nat] :
      ( ( ord_less_eq_nat @ B @ A )
     => ( ( plus_plus_nat @ B @ ( minus_minus_nat @ A @ B ) )
        = A ) ) ).

% le_add_diff_inverse
thf(fact_799_le__add__diff__inverse2,axiom,
    ! [B: nat,A: nat] :
      ( ( ord_less_eq_nat @ B @ A )
     => ( ( plus_plus_nat @ ( minus_minus_nat @ A @ B ) @ B )
        = A ) ) ).

% le_add_diff_inverse2
thf(fact_800_diff__add__zero,axiom,
    ! [A: nat,B: nat] :
      ( ( minus_minus_nat @ A @ ( plus_plus_nat @ A @ B ) )
      = zero_zero_nat ) ).

% diff_add_zero
thf(fact_801_add__gr__0,axiom,
    ! [M: nat,N: nat] :
      ( ( ord_less_nat @ zero_zero_nat @ ( plus_plus_nat @ M @ N ) )
      = ( ( ord_less_nat @ zero_zero_nat @ M )
        | ( ord_less_nat @ zero_zero_nat @ N ) ) ) ).

% add_gr_0
thf(fact_802_Nat_Odiff__diff__right,axiom,
    ! [K2: nat,J: nat,I: nat] :
      ( ( ord_less_eq_nat @ K2 @ J )
     => ( ( minus_minus_nat @ I @ ( minus_minus_nat @ J @ K2 ) )
        = ( minus_minus_nat @ ( plus_plus_nat @ I @ K2 ) @ J ) ) ) ).

% Nat.diff_diff_right
thf(fact_803_Nat_Oadd__diff__assoc2,axiom,
    ! [K2: nat,J: nat,I: nat] :
      ( ( ord_less_eq_nat @ K2 @ J )
     => ( ( plus_plus_nat @ ( minus_minus_nat @ J @ K2 ) @ I )
        = ( minus_minus_nat @ ( plus_plus_nat @ J @ I ) @ K2 ) ) ) ).

% Nat.add_diff_assoc2
thf(fact_804_Nat_Oadd__diff__assoc,axiom,
    ! [K2: nat,J: nat,I: nat] :
      ( ( ord_less_eq_nat @ K2 @ J )
     => ( ( plus_plus_nat @ I @ ( minus_minus_nat @ J @ K2 ) )
        = ( minus_minus_nat @ ( plus_plus_nat @ I @ J ) @ K2 ) ) ) ).

% Nat.add_diff_assoc
thf(fact_805_binomial__Suc__Suc,axiom,
    ! [N: nat,K2: nat] :
      ( ( binomial @ ( suc @ N ) @ ( suc @ K2 ) )
      = ( plus_plus_nat @ ( binomial @ N @ K2 ) @ ( binomial @ N @ ( suc @ K2 ) ) ) ) ).

% binomial_Suc_Suc
thf(fact_806_diff__Suc__diff__eq1,axiom,
    ! [K2: nat,J: nat,I: nat] :
      ( ( ord_less_eq_nat @ K2 @ J )
     => ( ( minus_minus_nat @ I @ ( suc @ ( minus_minus_nat @ J @ K2 ) ) )
        = ( minus_minus_nat @ ( plus_plus_nat @ I @ K2 ) @ ( suc @ J ) ) ) ) ).

% diff_Suc_diff_eq1
thf(fact_807_diff__Suc__diff__eq2,axiom,
    ! [K2: nat,J: nat,I: nat] :
      ( ( ord_less_eq_nat @ K2 @ J )
     => ( ( minus_minus_nat @ ( suc @ ( minus_minus_nat @ J @ K2 ) ) @ I )
        = ( minus_minus_nat @ ( suc @ J ) @ ( plus_plus_nat @ K2 @ I ) ) ) ) ).

% diff_Suc_diff_eq2
thf(fact_808_add__less__imp__less__right,axiom,
    ! [A: nat,C: nat,B: nat] :
      ( ( ord_less_nat @ ( plus_plus_nat @ A @ C ) @ ( plus_plus_nat @ B @ C ) )
     => ( ord_less_nat @ A @ B ) ) ).

% add_less_imp_less_right
thf(fact_809_add__less__imp__less__left,axiom,
    ! [C: nat,A: nat,B: nat] :
      ( ( ord_less_nat @ ( plus_plus_nat @ C @ A ) @ ( plus_plus_nat @ C @ B ) )
     => ( ord_less_nat @ A @ B ) ) ).

% add_less_imp_less_left
thf(fact_810_add__strict__right__mono,axiom,
    ! [A: nat,B: nat,C: nat] :
      ( ( ord_less_nat @ A @ B )
     => ( ord_less_nat @ ( plus_plus_nat @ A @ C ) @ ( plus_plus_nat @ B @ C ) ) ) ).

% add_strict_right_mono
thf(fact_811_add__strict__left__mono,axiom,
    ! [A: nat,B: nat,C: nat] :
      ( ( ord_less_nat @ A @ B )
     => ( ord_less_nat @ ( plus_plus_nat @ C @ A ) @ ( plus_plus_nat @ C @ B ) ) ) ).

% add_strict_left_mono
thf(fact_812_add__strict__mono,axiom,
    ! [A: nat,B: nat,C: nat,D: nat] :
      ( ( ord_less_nat @ A @ B )
     => ( ( ord_less_nat @ C @ D )
       => ( ord_less_nat @ ( plus_plus_nat @ A @ C ) @ ( plus_plus_nat @ B @ D ) ) ) ) ).

% add_strict_mono
thf(fact_813_add__mono__thms__linordered__field_I1_J,axiom,
    ! [I: nat,J: nat,K2: nat,L: nat] :
      ( ( ( ord_less_nat @ I @ J )
        & ( K2 = L ) )
     => ( ord_less_nat @ ( plus_plus_nat @ I @ K2 ) @ ( plus_plus_nat @ J @ L ) ) ) ).

% add_mono_thms_linordered_field(1)
thf(fact_814_add__mono__thms__linordered__field_I2_J,axiom,
    ! [I: nat,J: nat,K2: nat,L: nat] :
      ( ( ( I = J )
        & ( ord_less_nat @ K2 @ L ) )
     => ( ord_less_nat @ ( plus_plus_nat @ I @ K2 ) @ ( plus_plus_nat @ J @ L ) ) ) ).

% add_mono_thms_linordered_field(2)
thf(fact_815_add__mono__thms__linordered__field_I5_J,axiom,
    ! [I: nat,J: nat,K2: nat,L: nat] :
      ( ( ( ord_less_nat @ I @ J )
        & ( ord_less_nat @ K2 @ L ) )
     => ( ord_less_nat @ ( plus_plus_nat @ I @ K2 ) @ ( plus_plus_nat @ J @ L ) ) ) ).

% add_mono_thms_linordered_field(5)
thf(fact_816_less__add__eq__less,axiom,
    ! [K2: nat,L: nat,M: nat,N: nat] :
      ( ( ord_less_nat @ K2 @ L )
     => ( ( ( plus_plus_nat @ M @ L )
          = ( plus_plus_nat @ K2 @ N ) )
       => ( ord_less_nat @ M @ N ) ) ) ).

% less_add_eq_less
thf(fact_817_trans__less__add2,axiom,
    ! [I: nat,J: nat,M: nat] :
      ( ( ord_less_nat @ I @ J )
     => ( ord_less_nat @ I @ ( plus_plus_nat @ M @ J ) ) ) ).

% trans_less_add2
thf(fact_818_trans__less__add1,axiom,
    ! [I: nat,J: nat,M: nat] :
      ( ( ord_less_nat @ I @ J )
     => ( ord_less_nat @ I @ ( plus_plus_nat @ J @ M ) ) ) ).

% trans_less_add1
thf(fact_819_add__less__mono1,axiom,
    ! [I: nat,J: nat,K2: nat] :
      ( ( ord_less_nat @ I @ J )
     => ( ord_less_nat @ ( plus_plus_nat @ I @ K2 ) @ ( plus_plus_nat @ J @ K2 ) ) ) ).

% add_less_mono1
thf(fact_820_not__add__less2,axiom,
    ! [J: nat,I: nat] :
      ~ ( ord_less_nat @ ( plus_plus_nat @ J @ I ) @ I ) ).

% not_add_less2
thf(fact_821_not__add__less1,axiom,
    ! [I: nat,J: nat] :
      ~ ( ord_less_nat @ ( plus_plus_nat @ I @ J ) @ I ) ).

% not_add_less1
thf(fact_822_add__less__mono,axiom,
    ! [I: nat,J: nat,K2: nat,L: nat] :
      ( ( ord_less_nat @ I @ J )
     => ( ( ord_less_nat @ K2 @ L )
       => ( ord_less_nat @ ( plus_plus_nat @ I @ K2 ) @ ( plus_plus_nat @ J @ L ) ) ) ) ).

% add_less_mono
thf(fact_823_add__lessD1,axiom,
    ! [I: nat,J: nat,K2: nat] :
      ( ( ord_less_nat @ ( plus_plus_nat @ I @ J ) @ K2 )
     => ( ord_less_nat @ I @ K2 ) ) ).

% add_lessD1
thf(fact_824_verit__sum__simplify,axiom,
    ! [A: nat] :
      ( ( plus_plus_nat @ A @ zero_zero_nat )
      = A ) ).

% verit_sum_simplify
thf(fact_825_nat__add__max__right,axiom,
    ! [M: nat,N: nat,Q3: nat] :
      ( ( plus_plus_nat @ M @ ( ord_max_nat @ N @ Q3 ) )
      = ( ord_max_nat @ ( plus_plus_nat @ M @ N ) @ ( plus_plus_nat @ M @ Q3 ) ) ) ).

% nat_add_max_right
thf(fact_826_nat__add__max__left,axiom,
    ! [M: nat,N: nat,Q3: nat] :
      ( ( plus_plus_nat @ ( ord_max_nat @ M @ N ) @ Q3 )
      = ( ord_max_nat @ ( plus_plus_nat @ M @ Q3 ) @ ( plus_plus_nat @ N @ Q3 ) ) ) ).

% nat_add_max_left
thf(fact_827_ab__semigroup__add__class_Oadd__ac_I1_J,axiom,
    ! [A: nat,B: nat,C: nat] :
      ( ( plus_plus_nat @ ( plus_plus_nat @ A @ B ) @ C )
      = ( plus_plus_nat @ A @ ( plus_plus_nat @ B @ C ) ) ) ).

% ab_semigroup_add_class.add_ac(1)
thf(fact_828_add__mono__thms__linordered__semiring_I4_J,axiom,
    ! [I: nat,J: nat,K2: nat,L: nat] :
      ( ( ( I = J )
        & ( K2 = L ) )
     => ( ( plus_plus_nat @ I @ K2 )
        = ( plus_plus_nat @ J @ L ) ) ) ).

% add_mono_thms_linordered_semiring(4)
thf(fact_829_group__cancel_Oadd1,axiom,
    ! [A2: nat,K2: nat,A: nat,B: nat] :
      ( ( A2
        = ( plus_plus_nat @ K2 @ A ) )
     => ( ( plus_plus_nat @ A2 @ B )
        = ( plus_plus_nat @ K2 @ ( plus_plus_nat @ A @ B ) ) ) ) ).

% group_cancel.add1
thf(fact_830_group__cancel_Oadd2,axiom,
    ! [B2: nat,K2: nat,B: nat,A: nat] :
      ( ( B2
        = ( plus_plus_nat @ K2 @ B ) )
     => ( ( plus_plus_nat @ A @ B2 )
        = ( plus_plus_nat @ K2 @ ( plus_plus_nat @ A @ B ) ) ) ) ).

% group_cancel.add2
thf(fact_831_add_Oassoc,axiom,
    ! [A: nat,B: nat,C: nat] :
      ( ( plus_plus_nat @ ( plus_plus_nat @ A @ B ) @ C )
      = ( plus_plus_nat @ A @ ( plus_plus_nat @ B @ C ) ) ) ).

% add.assoc
thf(fact_832_add_Ocommute,axiom,
    ( plus_plus_nat
    = ( ^ [A4: nat,B6: nat] : ( plus_plus_nat @ B6 @ A4 ) ) ) ).

% add.commute
thf(fact_833_add_Oleft__commute,axiom,
    ! [B: nat,A: nat,C: nat] :
      ( ( plus_plus_nat @ B @ ( plus_plus_nat @ A @ C ) )
      = ( plus_plus_nat @ A @ ( plus_plus_nat @ B @ C ) ) ) ).

% add.left_commute
thf(fact_834_add__left__imp__eq,axiom,
    ! [A: nat,B: nat,C: nat] :
      ( ( ( plus_plus_nat @ A @ B )
        = ( plus_plus_nat @ A @ C ) )
     => ( B = C ) ) ).

% add_left_imp_eq
thf(fact_835_add__right__imp__eq,axiom,
    ! [B: nat,A: nat,C: nat] :
      ( ( ( plus_plus_nat @ B @ A )
        = ( plus_plus_nat @ C @ A ) )
     => ( B = C ) ) ).

% add_right_imp_eq
thf(fact_836_min__add__distrib__right,axiom,
    ! [X4: nat,Y: nat,Z3: nat] :
      ( ( plus_plus_nat @ X4 @ ( ord_min_nat @ Y @ Z3 ) )
      = ( ord_min_nat @ ( plus_plus_nat @ X4 @ Y ) @ ( plus_plus_nat @ X4 @ Z3 ) ) ) ).

% min_add_distrib_right
thf(fact_837_min__add__distrib__left,axiom,
    ! [X4: nat,Y: nat,Z3: nat] :
      ( ( plus_plus_nat @ ( ord_min_nat @ X4 @ Y ) @ Z3 )
      = ( ord_min_nat @ ( plus_plus_nat @ X4 @ Z3 ) @ ( plus_plus_nat @ Y @ Z3 ) ) ) ).

% min_add_distrib_left
thf(fact_838_max__add__distrib__right,axiom,
    ! [X4: nat,Y: nat,Z3: nat] :
      ( ( plus_plus_nat @ X4 @ ( ord_max_nat @ Y @ Z3 ) )
      = ( ord_max_nat @ ( plus_plus_nat @ X4 @ Y ) @ ( plus_plus_nat @ X4 @ Z3 ) ) ) ).

% max_add_distrib_right
thf(fact_839_max__add__distrib__left,axiom,
    ! [X4: nat,Y: nat,Z3: nat] :
      ( ( plus_plus_nat @ ( ord_max_nat @ X4 @ Y ) @ Z3 )
      = ( ord_max_nat @ ( plus_plus_nat @ X4 @ Z3 ) @ ( plus_plus_nat @ Y @ Z3 ) ) ) ).

% max_add_distrib_left
thf(fact_840_diff__add__inverse2,axiom,
    ! [M: nat,N: nat] :
      ( ( minus_minus_nat @ ( plus_plus_nat @ M @ N ) @ N )
      = M ) ).

% diff_add_inverse2
thf(fact_841_diff__add__inverse,axiom,
    ! [N: nat,M: nat] :
      ( ( minus_minus_nat @ ( plus_plus_nat @ N @ M ) @ N )
      = M ) ).

% diff_add_inverse
thf(fact_842_diff__cancel2,axiom,
    ! [M: nat,K2: nat,N: nat] :
      ( ( minus_minus_nat @ ( plus_plus_nat @ M @ K2 ) @ ( plus_plus_nat @ N @ K2 ) )
      = ( minus_minus_nat @ M @ N ) ) ).

% diff_cancel2
thf(fact_843_Nat_Odiff__cancel,axiom,
    ! [K2: nat,M: nat,N: nat] :
      ( ( minus_minus_nat @ ( plus_plus_nat @ K2 @ M ) @ ( plus_plus_nat @ K2 @ N ) )
      = ( minus_minus_nat @ M @ N ) ) ).

% Nat.diff_cancel
thf(fact_844_nat__le__iff__add,axiom,
    ( ord_less_eq_nat
    = ( ^ [M5: nat,N4: nat] :
        ? [K4: nat] :
          ( N4
          = ( plus_plus_nat @ M5 @ K4 ) ) ) ) ).

% nat_le_iff_add
thf(fact_845_trans__le__add2,axiom,
    ! [I: nat,J: nat,M: nat] :
      ( ( ord_less_eq_nat @ I @ J )
     => ( ord_less_eq_nat @ I @ ( plus_plus_nat @ M @ J ) ) ) ).

% trans_le_add2
thf(fact_846_trans__le__add1,axiom,
    ! [I: nat,J: nat,M: nat] :
      ( ( ord_less_eq_nat @ I @ J )
     => ( ord_less_eq_nat @ I @ ( plus_plus_nat @ J @ M ) ) ) ).

% trans_le_add1
thf(fact_847_add__le__mono1,axiom,
    ! [I: nat,J: nat,K2: nat] :
      ( ( ord_less_eq_nat @ I @ J )
     => ( ord_less_eq_nat @ ( plus_plus_nat @ I @ K2 ) @ ( plus_plus_nat @ J @ K2 ) ) ) ).

% add_le_mono1
thf(fact_848_add__le__mono,axiom,
    ! [I: nat,J: nat,K2: nat,L: nat] :
      ( ( ord_less_eq_nat @ I @ J )
     => ( ( ord_less_eq_nat @ K2 @ L )
       => ( ord_less_eq_nat @ ( plus_plus_nat @ I @ K2 ) @ ( plus_plus_nat @ J @ L ) ) ) ) ).

% add_le_mono
thf(fact_849_le__Suc__ex,axiom,
    ! [K2: nat,L: nat] :
      ( ( ord_less_eq_nat @ K2 @ L )
     => ? [N3: nat] :
          ( L
          = ( plus_plus_nat @ K2 @ N3 ) ) ) ).

% le_Suc_ex
thf(fact_850_add__leD2,axiom,
    ! [M: nat,K2: nat,N: nat] :
      ( ( ord_less_eq_nat @ ( plus_plus_nat @ M @ K2 ) @ N )
     => ( ord_less_eq_nat @ K2 @ N ) ) ).

% add_leD2
thf(fact_851_add__leD1,axiom,
    ! [M: nat,K2: nat,N: nat] :
      ( ( ord_less_eq_nat @ ( plus_plus_nat @ M @ K2 ) @ N )
     => ( ord_less_eq_nat @ M @ N ) ) ).

% add_leD1
thf(fact_852_le__add2,axiom,
    ! [N: nat,M: nat] : ( ord_less_eq_nat @ N @ ( plus_plus_nat @ M @ N ) ) ).

% le_add2
thf(fact_853_le__add1,axiom,
    ! [N: nat,M: nat] : ( ord_less_eq_nat @ N @ ( plus_plus_nat @ N @ M ) ) ).

% le_add1
thf(fact_854_add__leE,axiom,
    ! [M: nat,K2: nat,N: nat] :
      ( ( ord_less_eq_nat @ ( plus_plus_nat @ M @ K2 ) @ N )
     => ~ ( ( ord_less_eq_nat @ M @ N )
         => ~ ( ord_less_eq_nat @ K2 @ N ) ) ) ).

% add_leE
thf(fact_855_add__eq__self__zero,axiom,
    ! [M: nat,N: nat] :
      ( ( ( plus_plus_nat @ M @ N )
        = M )
     => ( N = zero_zero_nat ) ) ).

% add_eq_self_zero
thf(fact_856_plus__nat_Oadd__0,axiom,
    ! [N: nat] :
      ( ( plus_plus_nat @ zero_zero_nat @ N )
      = N ) ).

% plus_nat.add_0
thf(fact_857_add__Suc__shift,axiom,
    ! [M: nat,N: nat] :
      ( ( plus_plus_nat @ ( suc @ M ) @ N )
      = ( plus_plus_nat @ M @ ( suc @ N ) ) ) ).

% add_Suc_shift
thf(fact_858_add__Suc,axiom,
    ! [M: nat,N: nat] :
      ( ( plus_plus_nat @ ( suc @ M ) @ N )
      = ( suc @ ( plus_plus_nat @ M @ N ) ) ) ).

% add_Suc
thf(fact_859_nat__arith_Osuc1,axiom,
    ! [A2: nat,K2: nat,A: nat] :
      ( ( A2
        = ( plus_plus_nat @ K2 @ A ) )
     => ( ( suc @ A2 )
        = ( plus_plus_nat @ K2 @ ( suc @ A ) ) ) ) ).

% nat_arith.suc1
thf(fact_860_diff__diff__eq,axiom,
    ! [A: nat,B: nat,C: nat] :
      ( ( minus_minus_nat @ ( minus_minus_nat @ A @ B ) @ C )
      = ( minus_minus_nat @ A @ ( plus_plus_nat @ B @ C ) ) ) ).

% diff_diff_eq
thf(fact_861_add__implies__diff,axiom,
    ! [C: nat,B: nat,A: nat] :
      ( ( ( plus_plus_nat @ C @ B )
        = A )
     => ( C
        = ( minus_minus_nat @ A @ B ) ) ) ).

% add_implies_diff
thf(fact_862_add_Ocomm__neutral,axiom,
    ! [A: nat] :
      ( ( plus_plus_nat @ A @ zero_zero_nat )
      = A ) ).

% add.comm_neutral
thf(fact_863_comm__monoid__add__class_Oadd__0,axiom,
    ! [A: nat] :
      ( ( plus_plus_nat @ zero_zero_nat @ A )
      = A ) ).

% comm_monoid_add_class.add_0
thf(fact_864_add__le__imp__le__right,axiom,
    ! [A: nat,C: nat,B: nat] :
      ( ( ord_less_eq_nat @ ( plus_plus_nat @ A @ C ) @ ( plus_plus_nat @ B @ C ) )
     => ( ord_less_eq_nat @ A @ B ) ) ).

% add_le_imp_le_right
thf(fact_865_add__le__imp__le__left,axiom,
    ! [C: nat,A: nat,B: nat] :
      ( ( ord_less_eq_nat @ ( plus_plus_nat @ C @ A ) @ ( plus_plus_nat @ C @ B ) )
     => ( ord_less_eq_nat @ A @ B ) ) ).

% add_le_imp_le_left
thf(fact_866_le__iff__add,axiom,
    ( ord_less_eq_nat
    = ( ^ [A4: nat,B6: nat] :
        ? [C5: nat] :
          ( B6
          = ( plus_plus_nat @ A4 @ C5 ) ) ) ) ).

% le_iff_add
thf(fact_867_add__right__mono,axiom,
    ! [A: nat,B: nat,C: nat] :
      ( ( ord_less_eq_nat @ A @ B )
     => ( ord_less_eq_nat @ ( plus_plus_nat @ A @ C ) @ ( plus_plus_nat @ B @ C ) ) ) ).

% add_right_mono
thf(fact_868_less__eqE,axiom,
    ! [A: nat,B: nat] :
      ( ( ord_less_eq_nat @ A @ B )
     => ~ ! [C4: nat] :
            ( B
           != ( plus_plus_nat @ A @ C4 ) ) ) ).

% less_eqE
thf(fact_869_add__left__mono,axiom,
    ! [A: nat,B: nat,C: nat] :
      ( ( ord_less_eq_nat @ A @ B )
     => ( ord_less_eq_nat @ ( plus_plus_nat @ C @ A ) @ ( plus_plus_nat @ C @ B ) ) ) ).

% add_left_mono
thf(fact_870_add__mono,axiom,
    ! [A: nat,B: nat,C: nat,D: nat] :
      ( ( ord_less_eq_nat @ A @ B )
     => ( ( ord_less_eq_nat @ C @ D )
       => ( ord_less_eq_nat @ ( plus_plus_nat @ A @ C ) @ ( plus_plus_nat @ B @ D ) ) ) ) ).

% add_mono
thf(fact_871_add__mono__thms__linordered__semiring_I1_J,axiom,
    ! [I: nat,J: nat,K2: nat,L: nat] :
      ( ( ( ord_less_eq_nat @ I @ J )
        & ( ord_less_eq_nat @ K2 @ L ) )
     => ( ord_less_eq_nat @ ( plus_plus_nat @ I @ K2 ) @ ( plus_plus_nat @ J @ L ) ) ) ).

% add_mono_thms_linordered_semiring(1)
thf(fact_872_add__mono__thms__linordered__semiring_I2_J,axiom,
    ! [I: nat,J: nat,K2: nat,L: nat] :
      ( ( ( I = J )
        & ( ord_less_eq_nat @ K2 @ L ) )
     => ( ord_less_eq_nat @ ( plus_plus_nat @ I @ K2 ) @ ( plus_plus_nat @ J @ L ) ) ) ).

% add_mono_thms_linordered_semiring(2)
thf(fact_873_add__mono__thms__linordered__semiring_I3_J,axiom,
    ! [I: nat,J: nat,K2: nat,L: nat] :
      ( ( ( ord_less_eq_nat @ I @ J )
        & ( K2 = L ) )
     => ( ord_less_eq_nat @ ( plus_plus_nat @ I @ K2 ) @ ( plus_plus_nat @ J @ L ) ) ) ).

% add_mono_thms_linordered_semiring(3)
thf(fact_874_add__nonpos__eq__0__iff,axiom,
    ! [X4: nat,Y: nat] :
      ( ( ord_less_eq_nat @ X4 @ zero_zero_nat )
     => ( ( ord_less_eq_nat @ Y @ zero_zero_nat )
       => ( ( ( plus_plus_nat @ X4 @ Y )
            = zero_zero_nat )
          = ( ( X4 = zero_zero_nat )
            & ( Y = zero_zero_nat ) ) ) ) ) ).

% add_nonpos_eq_0_iff
thf(fact_875_add__nonneg__eq__0__iff,axiom,
    ! [X4: nat,Y: nat] :
      ( ( ord_less_eq_nat @ zero_zero_nat @ X4 )
     => ( ( ord_less_eq_nat @ zero_zero_nat @ Y )
       => ( ( ( plus_plus_nat @ X4 @ Y )
            = zero_zero_nat )
          = ( ( X4 = zero_zero_nat )
            & ( Y = zero_zero_nat ) ) ) ) ) ).

% add_nonneg_eq_0_iff
thf(fact_876_add__nonpos__nonpos,axiom,
    ! [A: nat,B: nat] :
      ( ( ord_less_eq_nat @ A @ zero_zero_nat )
     => ( ( ord_less_eq_nat @ B @ zero_zero_nat )
       => ( ord_less_eq_nat @ ( plus_plus_nat @ A @ B ) @ zero_zero_nat ) ) ) ).

% add_nonpos_nonpos
thf(fact_877_add__nonneg__nonneg,axiom,
    ! [A: nat,B: nat] :
      ( ( ord_less_eq_nat @ zero_zero_nat @ A )
     => ( ( ord_less_eq_nat @ zero_zero_nat @ B )
       => ( ord_less_eq_nat @ zero_zero_nat @ ( plus_plus_nat @ A @ B ) ) ) ) ).

% add_nonneg_nonneg
thf(fact_878_add__increasing2,axiom,
    ! [C: nat,B: nat,A: nat] :
      ( ( ord_less_eq_nat @ zero_zero_nat @ C )
     => ( ( ord_less_eq_nat @ B @ A )
       => ( ord_less_eq_nat @ B @ ( plus_plus_nat @ A @ C ) ) ) ) ).

% add_increasing2
thf(fact_879_add__decreasing2,axiom,
    ! [C: nat,A: nat,B: nat] :
      ( ( ord_less_eq_nat @ C @ zero_zero_nat )
     => ( ( ord_less_eq_nat @ A @ B )
       => ( ord_less_eq_nat @ ( plus_plus_nat @ A @ C ) @ B ) ) ) ).

% add_decreasing2
thf(fact_880_add__increasing,axiom,
    ! [A: nat,B: nat,C: nat] :
      ( ( ord_less_eq_nat @ zero_zero_nat @ A )
     => ( ( ord_less_eq_nat @ B @ C )
       => ( ord_less_eq_nat @ B @ ( plus_plus_nat @ A @ C ) ) ) ) ).

% add_increasing
thf(fact_881_add__decreasing,axiom,
    ! [A: nat,C: nat,B: nat] :
      ( ( ord_less_eq_nat @ A @ zero_zero_nat )
     => ( ( ord_less_eq_nat @ C @ B )
       => ( ord_less_eq_nat @ ( plus_plus_nat @ A @ C ) @ B ) ) ) ).

% add_decreasing
thf(fact_882_add__less__le__mono,axiom,
    ! [A: nat,B: nat,C: nat,D: nat] :
      ( ( ord_less_nat @ A @ B )
     => ( ( ord_less_eq_nat @ C @ D )
       => ( ord_less_nat @ ( plus_plus_nat @ A @ C ) @ ( plus_plus_nat @ B @ D ) ) ) ) ).

% add_less_le_mono
thf(fact_883_add__le__less__mono,axiom,
    ! [A: nat,B: nat,C: nat,D: nat] :
      ( ( ord_less_eq_nat @ A @ B )
     => ( ( ord_less_nat @ C @ D )
       => ( ord_less_nat @ ( plus_plus_nat @ A @ C ) @ ( plus_plus_nat @ B @ D ) ) ) ) ).

% add_le_less_mono
thf(fact_884_add__mono__thms__linordered__field_I3_J,axiom,
    ! [I: nat,J: nat,K2: nat,L: nat] :
      ( ( ( ord_less_nat @ I @ J )
        & ( ord_less_eq_nat @ K2 @ L ) )
     => ( ord_less_nat @ ( plus_plus_nat @ I @ K2 ) @ ( plus_plus_nat @ J @ L ) ) ) ).

% add_mono_thms_linordered_field(3)
thf(fact_885_add__mono__thms__linordered__field_I4_J,axiom,
    ! [I: nat,J: nat,K2: nat,L: nat] :
      ( ( ( ord_less_eq_nat @ I @ J )
        & ( ord_less_nat @ K2 @ L ) )
     => ( ord_less_nat @ ( plus_plus_nat @ I @ K2 ) @ ( plus_plus_nat @ J @ L ) ) ) ).

% add_mono_thms_linordered_field(4)
thf(fact_886_pos__add__strict,axiom,
    ! [A: nat,B: nat,C: nat] :
      ( ( ord_less_nat @ zero_zero_nat @ A )
     => ( ( ord_less_nat @ B @ C )
       => ( ord_less_nat @ B @ ( plus_plus_nat @ A @ C ) ) ) ) ).

% pos_add_strict
thf(fact_887_canonically__ordered__monoid__add__class_OlessE,axiom,
    ! [A: nat,B: nat] :
      ( ( ord_less_nat @ A @ B )
     => ~ ! [C4: nat] :
            ( ( B
              = ( plus_plus_nat @ A @ C4 ) )
           => ( C4 = zero_zero_nat ) ) ) ).

% canonically_ordered_monoid_add_class.lessE
thf(fact_888_add__pos__pos,axiom,
    ! [A: nat,B: nat] :
      ( ( ord_less_nat @ zero_zero_nat @ A )
     => ( ( ord_less_nat @ zero_zero_nat @ B )
       => ( ord_less_nat @ zero_zero_nat @ ( plus_plus_nat @ A @ B ) ) ) ) ).

% add_pos_pos
thf(fact_889_add__neg__neg,axiom,
    ! [A: nat,B: nat] :
      ( ( ord_less_nat @ A @ zero_zero_nat )
     => ( ( ord_less_nat @ B @ zero_zero_nat )
       => ( ord_less_nat @ ( plus_plus_nat @ A @ B ) @ zero_zero_nat ) ) ) ).

% add_neg_neg
thf(fact_890_add__le__imp__le__diff,axiom,
    ! [I: nat,K2: nat,N: nat] :
      ( ( ord_less_eq_nat @ ( plus_plus_nat @ I @ K2 ) @ N )
     => ( ord_less_eq_nat @ I @ ( minus_minus_nat @ N @ K2 ) ) ) ).

% add_le_imp_le_diff
thf(fact_891_add__le__add__imp__diff__le,axiom,
    ! [I: nat,K2: nat,N: nat,J: nat] :
      ( ( ord_less_eq_nat @ ( plus_plus_nat @ I @ K2 ) @ N )
     => ( ( ord_less_eq_nat @ N @ ( plus_plus_nat @ J @ K2 ) )
       => ( ( ord_less_eq_nat @ ( plus_plus_nat @ I @ K2 ) @ N )
         => ( ( ord_less_eq_nat @ N @ ( plus_plus_nat @ J @ K2 ) )
           => ( ord_less_eq_nat @ ( minus_minus_nat @ N @ K2 ) @ J ) ) ) ) ) ).

% add_le_add_imp_diff_le
thf(fact_892_ordered__cancel__comm__monoid__diff__class_Ole__imp__diff__is__add,axiom,
    ! [A: nat,B: nat,C: nat] :
      ( ( ord_less_eq_nat @ A @ B )
     => ( ( ord_less_eq_nat @ A @ B )
       => ( ( ( minus_minus_nat @ B @ A )
            = C )
          = ( B
            = ( plus_plus_nat @ C @ A ) ) ) ) ) ).

% ordered_cancel_comm_monoid_diff_class.le_imp_diff_is_add
thf(fact_893_ordered__cancel__comm__monoid__diff__class_Oadd__diff__inverse,axiom,
    ! [A: nat,B: nat] :
      ( ( ord_less_eq_nat @ A @ B )
     => ( ( plus_plus_nat @ A @ ( minus_minus_nat @ B @ A ) )
        = B ) ) ).

% ordered_cancel_comm_monoid_diff_class.add_diff_inverse
thf(fact_894_ordered__cancel__comm__monoid__diff__class_Odiff__diff__right,axiom,
    ! [A: nat,B: nat,C: nat] :
      ( ( ord_less_eq_nat @ A @ B )
     => ( ( minus_minus_nat @ C @ ( minus_minus_nat @ B @ A ) )
        = ( minus_minus_nat @ ( plus_plus_nat @ C @ A ) @ B ) ) ) ).

% ordered_cancel_comm_monoid_diff_class.diff_diff_right
thf(fact_895_ordered__cancel__comm__monoid__diff__class_Odiff__add__assoc2,axiom,
    ! [A: nat,B: nat,C: nat] :
      ( ( ord_less_eq_nat @ A @ B )
     => ( ( minus_minus_nat @ ( plus_plus_nat @ B @ C ) @ A )
        = ( plus_plus_nat @ ( minus_minus_nat @ B @ A ) @ C ) ) ) ).

% ordered_cancel_comm_monoid_diff_class.diff_add_assoc2
thf(fact_896_ordered__cancel__comm__monoid__diff__class_Oadd__diff__assoc2,axiom,
    ! [A: nat,B: nat,C: nat] :
      ( ( ord_less_eq_nat @ A @ B )
     => ( ( plus_plus_nat @ ( minus_minus_nat @ B @ A ) @ C )
        = ( minus_minus_nat @ ( plus_plus_nat @ B @ C ) @ A ) ) ) ).

% ordered_cancel_comm_monoid_diff_class.add_diff_assoc2
thf(fact_897_ordered__cancel__comm__monoid__diff__class_Odiff__add__assoc,axiom,
    ! [A: nat,B: nat,C: nat] :
      ( ( ord_less_eq_nat @ A @ B )
     => ( ( minus_minus_nat @ ( plus_plus_nat @ C @ B ) @ A )
        = ( plus_plus_nat @ C @ ( minus_minus_nat @ B @ A ) ) ) ) ).

% ordered_cancel_comm_monoid_diff_class.diff_add_assoc
thf(fact_898_ordered__cancel__comm__monoid__diff__class_Oadd__diff__assoc,axiom,
    ! [A: nat,B: nat,C: nat] :
      ( ( ord_less_eq_nat @ A @ B )
     => ( ( plus_plus_nat @ C @ ( minus_minus_nat @ B @ A ) )
        = ( minus_minus_nat @ ( plus_plus_nat @ C @ B ) @ A ) ) ) ).

% ordered_cancel_comm_monoid_diff_class.add_diff_assoc
thf(fact_899_ordered__cancel__comm__monoid__diff__class_Ole__diff__conv2,axiom,
    ! [A: nat,B: nat,C: nat] :
      ( ( ord_less_eq_nat @ A @ B )
     => ( ( ord_less_eq_nat @ C @ ( minus_minus_nat @ B @ A ) )
        = ( ord_less_eq_nat @ ( plus_plus_nat @ C @ A ) @ B ) ) ) ).

% ordered_cancel_comm_monoid_diff_class.le_diff_conv2
thf(fact_900_le__add__diff,axiom,
    ! [A: nat,B: nat,C: nat] :
      ( ( ord_less_eq_nat @ A @ B )
     => ( ord_less_eq_nat @ C @ ( minus_minus_nat @ ( plus_plus_nat @ B @ C ) @ A ) ) ) ).

% le_add_diff
thf(fact_901_diff__add,axiom,
    ! [A: nat,B: nat] :
      ( ( ord_less_eq_nat @ A @ B )
     => ( ( plus_plus_nat @ ( minus_minus_nat @ B @ A ) @ A )
        = B ) ) ).

% diff_add
thf(fact_902_add__mono1,axiom,
    ! [A: nat,B: nat] :
      ( ( ord_less_nat @ A @ B )
     => ( ord_less_nat @ ( plus_plus_nat @ A @ one_one_nat ) @ ( plus_plus_nat @ B @ one_one_nat ) ) ) ).

% add_mono1
thf(fact_903_less__add__one,axiom,
    ! [A: nat] : ( ord_less_nat @ A @ ( plus_plus_nat @ A @ one_one_nat ) ) ).

% less_add_one
thf(fact_904_linordered__semidom__class_Oadd__diff__inverse,axiom,
    ! [A: nat,B: nat] :
      ( ~ ( ord_less_nat @ A @ B )
     => ( ( plus_plus_nat @ B @ ( minus_minus_nat @ A @ B ) )
        = A ) ) ).

% linordered_semidom_class.add_diff_inverse
thf(fact_905_add__is__1,axiom,
    ! [M: nat,N: nat] :
      ( ( ( plus_plus_nat @ M @ N )
        = ( suc @ zero_zero_nat ) )
      = ( ( ( M
            = ( suc @ zero_zero_nat ) )
          & ( N = zero_zero_nat ) )
        | ( ( M = zero_zero_nat )
          & ( N
            = ( suc @ zero_zero_nat ) ) ) ) ) ).

% add_is_1
thf(fact_906_one__is__add,axiom,
    ! [M: nat,N: nat] :
      ( ( ( suc @ zero_zero_nat )
        = ( plus_plus_nat @ M @ N ) )
      = ( ( ( M
            = ( suc @ zero_zero_nat ) )
          & ( N = zero_zero_nat ) )
        | ( ( M = zero_zero_nat )
          & ( N
            = ( suc @ zero_zero_nat ) ) ) ) ) ).

% one_is_add
thf(fact_907_less__imp__Suc__add,axiom,
    ! [M: nat,N: nat] :
      ( ( ord_less_nat @ M @ N )
     => ? [K3: nat] :
          ( N
          = ( suc @ ( plus_plus_nat @ M @ K3 ) ) ) ) ).

% less_imp_Suc_add
thf(fact_908_less__iff__Suc__add,axiom,
    ( ord_less_nat
    = ( ^ [M5: nat,N4: nat] :
        ? [K4: nat] :
          ( N4
          = ( suc @ ( plus_plus_nat @ M5 @ K4 ) ) ) ) ) ).

% less_iff_Suc_add
thf(fact_909_less__add__Suc2,axiom,
    ! [I: nat,M: nat] : ( ord_less_nat @ I @ ( suc @ ( plus_plus_nat @ M @ I ) ) ) ).

% less_add_Suc2
thf(fact_910_less__add__Suc1,axiom,
    ! [I: nat,M: nat] : ( ord_less_nat @ I @ ( suc @ ( plus_plus_nat @ I @ M ) ) ) ).

% less_add_Suc1
thf(fact_911_less__natE,axiom,
    ! [M: nat,N: nat] :
      ( ( ord_less_nat @ M @ N )
     => ~ ! [Q4: nat] :
            ( N
           != ( suc @ ( plus_plus_nat @ M @ Q4 ) ) ) ) ).

% less_natE
thf(fact_912_less__imp__add__positive,axiom,
    ! [I: nat,J: nat] :
      ( ( ord_less_nat @ I @ J )
     => ? [K3: nat] :
          ( ( ord_less_nat @ zero_zero_nat @ K3 )
          & ( ( plus_plus_nat @ I @ K3 )
            = J ) ) ) ).

% less_imp_add_positive
thf(fact_913_mono__nat__linear__lb,axiom,
    ! [F: nat > nat,M: nat,K2: nat] :
      ( ! [M4: nat,N3: nat] :
          ( ( ord_less_nat @ M4 @ N3 )
         => ( ord_less_nat @ ( F @ M4 ) @ ( F @ N3 ) ) )
     => ( ord_less_eq_nat @ ( plus_plus_nat @ ( F @ M ) @ K2 ) @ ( F @ ( plus_plus_nat @ M @ K2 ) ) ) ) ).

% mono_nat_linear_lb
thf(fact_914_diff__add__0,axiom,
    ! [N: nat,M: nat] :
      ( ( minus_minus_nat @ N @ ( plus_plus_nat @ N @ M ) )
      = zero_zero_nat ) ).

% diff_add_0
thf(fact_915_add__diff__inverse__nat,axiom,
    ! [M: nat,N: nat] :
      ( ~ ( ord_less_nat @ M @ N )
     => ( ( plus_plus_nat @ N @ ( minus_minus_nat @ M @ N ) )
        = M ) ) ).

% add_diff_inverse_nat
thf(fact_916_less__diff__conv,axiom,
    ! [I: nat,J: nat,K2: nat] :
      ( ( ord_less_nat @ I @ ( minus_minus_nat @ J @ K2 ) )
      = ( ord_less_nat @ ( plus_plus_nat @ I @ K2 ) @ J ) ) ).

% less_diff_conv
thf(fact_917_Nat_Ole__imp__diff__is__add,axiom,
    ! [I: nat,J: nat,K2: nat] :
      ( ( ord_less_eq_nat @ I @ J )
     => ( ( ( minus_minus_nat @ J @ I )
          = K2 )
        = ( J
          = ( plus_plus_nat @ K2 @ I ) ) ) ) ).

% Nat.le_imp_diff_is_add
thf(fact_918_Nat_Odiff__add__assoc2,axiom,
    ! [K2: nat,J: nat,I: nat] :
      ( ( ord_less_eq_nat @ K2 @ J )
     => ( ( minus_minus_nat @ ( plus_plus_nat @ J @ I ) @ K2 )
        = ( plus_plus_nat @ ( minus_minus_nat @ J @ K2 ) @ I ) ) ) ).

% Nat.diff_add_assoc2
thf(fact_919_Nat_Odiff__add__assoc,axiom,
    ! [K2: nat,J: nat,I: nat] :
      ( ( ord_less_eq_nat @ K2 @ J )
     => ( ( minus_minus_nat @ ( plus_plus_nat @ I @ J ) @ K2 )
        = ( plus_plus_nat @ I @ ( minus_minus_nat @ J @ K2 ) ) ) ) ).

% Nat.diff_add_assoc
thf(fact_920_Nat_Ole__diff__conv2,axiom,
    ! [K2: nat,J: nat,I: nat] :
      ( ( ord_less_eq_nat @ K2 @ J )
     => ( ( ord_less_eq_nat @ I @ ( minus_minus_nat @ J @ K2 ) )
        = ( ord_less_eq_nat @ ( plus_plus_nat @ I @ K2 ) @ J ) ) ) ).

% Nat.le_diff_conv2
thf(fact_921_le__diff__conv,axiom,
    ! [J: nat,K2: nat,I: nat] :
      ( ( ord_less_eq_nat @ ( minus_minus_nat @ J @ K2 ) @ I )
      = ( ord_less_eq_nat @ J @ ( plus_plus_nat @ I @ K2 ) ) ) ).

% le_diff_conv
thf(fact_922_Suc__eq__plus1,axiom,
    ( suc
    = ( ^ [N4: nat] : ( plus_plus_nat @ N4 @ one_one_nat ) ) ) ).

% Suc_eq_plus1
thf(fact_923_plus__1__eq__Suc,axiom,
    ( ( plus_plus_nat @ one_one_nat )
    = suc ) ).

% plus_1_eq_Suc
thf(fact_924_Suc__eq__plus1__left,axiom,
    ( suc
    = ( plus_plus_nat @ one_one_nat ) ) ).

% Suc_eq_plus1_left
thf(fact_925_nat__minus__add__max,axiom,
    ! [N: nat,M: nat] :
      ( ( plus_plus_nat @ ( minus_minus_nat @ N @ M ) @ M )
      = ( ord_max_nat @ N @ M ) ) ).

% nat_minus_add_max
thf(fact_926_add__strict__increasing2,axiom,
    ! [A: nat,B: nat,C: nat] :
      ( ( ord_less_eq_nat @ zero_zero_nat @ A )
     => ( ( ord_less_nat @ B @ C )
       => ( ord_less_nat @ B @ ( plus_plus_nat @ A @ C ) ) ) ) ).

% add_strict_increasing2
thf(fact_927_add__strict__increasing,axiom,
    ! [A: nat,B: nat,C: nat] :
      ( ( ord_less_nat @ zero_zero_nat @ A )
     => ( ( ord_less_eq_nat @ B @ C )
       => ( ord_less_nat @ B @ ( plus_plus_nat @ A @ C ) ) ) ) ).

% add_strict_increasing
thf(fact_928_add__pos__nonneg,axiom,
    ! [A: nat,B: nat] :
      ( ( ord_less_nat @ zero_zero_nat @ A )
     => ( ( ord_less_eq_nat @ zero_zero_nat @ B )
       => ( ord_less_nat @ zero_zero_nat @ ( plus_plus_nat @ A @ B ) ) ) ) ).

% add_pos_nonneg
thf(fact_929_add__nonpos__neg,axiom,
    ! [A: nat,B: nat] :
      ( ( ord_less_eq_nat @ A @ zero_zero_nat )
     => ( ( ord_less_nat @ B @ zero_zero_nat )
       => ( ord_less_nat @ ( plus_plus_nat @ A @ B ) @ zero_zero_nat ) ) ) ).

% add_nonpos_neg
thf(fact_930_add__nonneg__pos,axiom,
    ! [A: nat,B: nat] :
      ( ( ord_less_eq_nat @ zero_zero_nat @ A )
     => ( ( ord_less_nat @ zero_zero_nat @ B )
       => ( ord_less_nat @ zero_zero_nat @ ( plus_plus_nat @ A @ B ) ) ) ) ).

% add_nonneg_pos
thf(fact_931_add__neg__nonpos,axiom,
    ! [A: nat,B: nat] :
      ( ( ord_less_nat @ A @ zero_zero_nat )
     => ( ( ord_less_eq_nat @ B @ zero_zero_nat )
       => ( ord_less_nat @ ( plus_plus_nat @ A @ B ) @ zero_zero_nat ) ) ) ).

% add_neg_nonpos
thf(fact_932_zero__less__two,axiom,
    ord_less_nat @ zero_zero_nat @ ( plus_plus_nat @ one_one_nat @ one_one_nat ) ).

% zero_less_two
thf(fact_933_nat__diff__split,axiom,
    ! [P: nat > $o,A: nat,B: nat] :
      ( ( P @ ( minus_minus_nat @ A @ B ) )
      = ( ( ( ord_less_nat @ A @ B )
         => ( P @ zero_zero_nat ) )
        & ! [D4: nat] :
            ( ( A
              = ( plus_plus_nat @ B @ D4 ) )
           => ( P @ D4 ) ) ) ) ).

% nat_diff_split
thf(fact_934_nat__diff__split__asm,axiom,
    ! [P: nat > $o,A: nat,B: nat] :
      ( ( P @ ( minus_minus_nat @ A @ B ) )
      = ( ~ ( ( ( ord_less_nat @ A @ B )
              & ~ ( P @ zero_zero_nat ) )
            | ? [D4: nat] :
                ( ( A
                  = ( plus_plus_nat @ B @ D4 ) )
                & ~ ( P @ D4 ) ) ) ) ) ).

% nat_diff_split_asm
thf(fact_935_less__diff__conv2,axiom,
    ! [K2: nat,J: nat,I: nat] :
      ( ( ord_less_eq_nat @ K2 @ J )
     => ( ( ord_less_nat @ ( minus_minus_nat @ J @ K2 ) @ I )
        = ( ord_less_nat @ J @ ( plus_plus_nat @ I @ K2 ) ) ) ) ).

% less_diff_conv2
thf(fact_936_subset__card__intvl__is__intvl,axiom,
    ! [A2: set_nat,K2: nat] :
      ( ( ord_less_eq_set_nat @ A2 @ ( set_or4665077453230672383an_nat @ K2 @ ( plus_plus_nat @ K2 @ ( finite_card_nat @ A2 ) ) ) )
     => ( A2
        = ( set_or4665077453230672383an_nat @ K2 @ ( plus_plus_nat @ K2 @ ( finite_card_nat @ A2 ) ) ) ) ) ).

% subset_card_intvl_is_intvl
thf(fact_937_add__eq__if,axiom,
    ( plus_plus_nat
    = ( ^ [M5: nat,N4: nat] : ( if_nat @ ( M5 = zero_zero_nat ) @ N4 @ ( suc @ ( plus_plus_nat @ ( minus_minus_nat @ M5 @ one_one_nat ) @ N4 ) ) ) ) ) ).

% add_eq_if
thf(fact_938_choose__reduce__nat,axiom,
    ! [N: nat,K2: nat] :
      ( ( ord_less_nat @ zero_zero_nat @ N )
     => ( ( ord_less_nat @ zero_zero_nat @ K2 )
       => ( ( binomial @ N @ K2 )
          = ( plus_plus_nat @ ( binomial @ ( minus_minus_nat @ N @ one_one_nat ) @ ( minus_minus_nat @ K2 @ one_one_nat ) ) @ ( binomial @ ( minus_minus_nat @ N @ one_one_nat ) @ K2 ) ) ) ) ) ).

% choose_reduce_nat
thf(fact_939_Euclid__induct,axiom,
    ! [P: nat > nat > $o,A: nat,B: nat] :
      ( ! [A5: nat,B4: nat] :
          ( ( P @ A5 @ B4 )
          = ( P @ B4 @ A5 ) )
     => ( ! [A5: nat] : ( P @ A5 @ zero_zero_nat )
       => ( ! [A5: nat,B4: nat] :
              ( ( P @ A5 @ B4 )
             => ( P @ A5 @ ( plus_plus_nat @ A5 @ B4 ) ) )
         => ( P @ A @ B ) ) ) ) ).

% Euclid_induct
thf(fact_940_gbinomial__1,axiom,
    ! [A: nat] :
      ( ( gbinomial_nat @ A @ one_one_nat )
      = A ) ).

% gbinomial_1
thf(fact_941_gbinomial__0_I2_J,axiom,
    ! [K2: nat] :
      ( ( gbinomial_nat @ zero_zero_nat @ ( suc @ K2 ) )
      = zero_zero_nat ) ).

% gbinomial_0(2)
thf(fact_942_gbinomial__0_I1_J,axiom,
    ! [A: nat] :
      ( ( gbinomial_nat @ A @ zero_zero_nat )
      = one_one_nat ) ).

% gbinomial_0(1)
thf(fact_943_gbinomial__Suc0,axiom,
    ! [A: nat] :
      ( ( gbinomial_nat @ A @ ( suc @ zero_zero_nat ) )
      = A ) ).

% gbinomial_Suc0
thf(fact_944_gbinomial__binomial,axiom,
    gbinomial_nat = binomial ).

% gbinomial_binomial
thf(fact_945_add__0__iff,axiom,
    ! [B: nat,A: nat] :
      ( ( B
        = ( plus_plus_nat @ B @ A ) )
      = ( A = zero_zero_nat ) ) ).

% add_0_iff
thf(fact_946_sum_Oop__ivl__Suc,axiom,
    ! [N: nat,M: nat,G: nat > nat] :
      ( ( ( ord_less_nat @ N @ M )
       => ( ( groups3542108847815614940at_nat @ G @ ( set_or4665077453230672383an_nat @ M @ ( suc @ N ) ) )
          = zero_zero_nat ) )
      & ( ~ ( ord_less_nat @ N @ M )
       => ( ( groups3542108847815614940at_nat @ G @ ( set_or4665077453230672383an_nat @ M @ ( suc @ N ) ) )
          = ( plus_plus_nat @ ( groups3542108847815614940at_nat @ G @ ( set_or4665077453230672383an_nat @ M @ N ) ) @ ( G @ N ) ) ) ) ) ).

% sum.op_ivl_Suc
thf(fact_947_card__Diff__singleton,axiom,
    ! [X4: set_nat,A2: set_set_nat] :
      ( ( member_set_nat @ X4 @ A2 )
     => ( ( finite_card_set_nat @ ( minus_2163939370556025621et_nat @ A2 @ ( insert_set_nat @ X4 @ bot_bot_set_set_nat ) ) )
        = ( minus_minus_nat @ ( finite_card_set_nat @ A2 ) @ one_one_nat ) ) ) ).

% card_Diff_singleton
thf(fact_948_card__Diff__singleton,axiom,
    ! [X4: nat,A2: set_nat] :
      ( ( member_nat @ X4 @ A2 )
     => ( ( finite_card_nat @ ( minus_minus_set_nat @ A2 @ ( insert_nat @ X4 @ bot_bot_set_nat ) ) )
        = ( minus_minus_nat @ ( finite_card_nat @ A2 ) @ one_one_nat ) ) ) ).

% card_Diff_singleton
thf(fact_949_empty__Collect__eq,axiom,
    ! [P: set_nat > $o] :
      ( ( bot_bot_set_set_nat
        = ( collect_set_nat @ P ) )
      = ( ! [X: set_nat] :
            ~ ( P @ X ) ) ) ).

% empty_Collect_eq
thf(fact_950_empty__Collect__eq,axiom,
    ! [P: nat > $o] :
      ( ( bot_bot_set_nat
        = ( collect_nat @ P ) )
      = ( ! [X: nat] :
            ~ ( P @ X ) ) ) ).

% empty_Collect_eq
thf(fact_951_Collect__empty__eq,axiom,
    ! [P: set_nat > $o] :
      ( ( ( collect_set_nat @ P )
        = bot_bot_set_set_nat )
      = ( ! [X: set_nat] :
            ~ ( P @ X ) ) ) ).

% Collect_empty_eq
thf(fact_952_Collect__empty__eq,axiom,
    ! [P: nat > $o] :
      ( ( ( collect_nat @ P )
        = bot_bot_set_nat )
      = ( ! [X: nat] :
            ~ ( P @ X ) ) ) ).

% Collect_empty_eq
thf(fact_953_all__not__in__conv,axiom,
    ! [A2: set_set_nat] :
      ( ( ! [X: set_nat] :
            ~ ( member_set_nat @ X @ A2 ) )
      = ( A2 = bot_bot_set_set_nat ) ) ).

% all_not_in_conv
thf(fact_954_all__not__in__conv,axiom,
    ! [A2: set_nat] :
      ( ( ! [X: nat] :
            ~ ( member_nat @ X @ A2 ) )
      = ( A2 = bot_bot_set_nat ) ) ).

% all_not_in_conv
thf(fact_955_empty__iff,axiom,
    ! [C: set_nat] :
      ~ ( member_set_nat @ C @ bot_bot_set_set_nat ) ).

% empty_iff
thf(fact_956_empty__iff,axiom,
    ! [C: nat] :
      ~ ( member_nat @ C @ bot_bot_set_nat ) ).

% empty_iff
thf(fact_957_subset__empty,axiom,
    ! [A2: set_nat] :
      ( ( ord_less_eq_set_nat @ A2 @ bot_bot_set_nat )
      = ( A2 = bot_bot_set_nat ) ) ).

% subset_empty
thf(fact_958_empty__subsetI,axiom,
    ! [A2: set_nat] : ( ord_less_eq_set_nat @ bot_bot_set_nat @ A2 ) ).

% empty_subsetI
thf(fact_959_singletonI,axiom,
    ! [A: set_nat] : ( member_set_nat @ A @ ( insert_set_nat @ A @ bot_bot_set_set_nat ) ) ).

% singletonI
thf(fact_960_singletonI,axiom,
    ! [A: nat] : ( member_nat @ A @ ( insert_nat @ A @ bot_bot_set_nat ) ) ).

% singletonI
thf(fact_961_Diff__empty,axiom,
    ! [A2: set_nat] :
      ( ( minus_minus_set_nat @ A2 @ bot_bot_set_nat )
      = A2 ) ).

% Diff_empty
thf(fact_962_empty__Diff,axiom,
    ! [A2: set_nat] :
      ( ( minus_minus_set_nat @ bot_bot_set_nat @ A2 )
      = bot_bot_set_nat ) ).

% empty_Diff
thf(fact_963_Diff__cancel,axiom,
    ! [A2: set_nat] :
      ( ( minus_minus_set_nat @ A2 @ A2 )
      = bot_bot_set_nat ) ).

% Diff_cancel
thf(fact_964_max__bot2,axiom,
    ! [X4: set_nat] :
      ( ( ord_max_set_nat @ X4 @ bot_bot_set_nat )
      = X4 ) ).

% max_bot2
thf(fact_965_max__bot2,axiom,
    ! [X4: nat] :
      ( ( ord_max_nat @ X4 @ bot_bot_nat )
      = X4 ) ).

% max_bot2
thf(fact_966_max__bot,axiom,
    ! [X4: set_nat] :
      ( ( ord_max_set_nat @ bot_bot_set_nat @ X4 )
      = X4 ) ).

% max_bot
thf(fact_967_max__bot,axiom,
    ! [X4: nat] :
      ( ( ord_max_nat @ bot_bot_nat @ X4 )
      = X4 ) ).

% max_bot
thf(fact_968_min__bot2,axiom,
    ! [X4: set_nat] :
      ( ( ord_min_set_nat @ X4 @ bot_bot_set_nat )
      = bot_bot_set_nat ) ).

% min_bot2
thf(fact_969_min__bot2,axiom,
    ! [X4: nat] :
      ( ( ord_min_nat @ X4 @ bot_bot_nat )
      = bot_bot_nat ) ).

% min_bot2
thf(fact_970_min__bot,axiom,
    ! [X4: set_nat] :
      ( ( ord_min_set_nat @ bot_bot_set_nat @ X4 )
      = bot_bot_set_nat ) ).

% min_bot
thf(fact_971_min__bot,axiom,
    ! [X4: nat] :
      ( ( ord_min_nat @ bot_bot_nat @ X4 )
      = bot_bot_nat ) ).

% min_bot
thf(fact_972_singleton__conv,axiom,
    ! [A: set_nat] :
      ( ( collect_set_nat
        @ ^ [X: set_nat] : ( X = A ) )
      = ( insert_set_nat @ A @ bot_bot_set_set_nat ) ) ).

% singleton_conv
thf(fact_973_singleton__conv,axiom,
    ! [A: nat] :
      ( ( collect_nat
        @ ^ [X: nat] : ( X = A ) )
      = ( insert_nat @ A @ bot_bot_set_nat ) ) ).

% singleton_conv
thf(fact_974_singleton__conv2,axiom,
    ! [A: set_nat] :
      ( ( collect_set_nat
        @ ( ^ [Y5: set_nat,Z2: set_nat] : ( Y5 = Z2 )
          @ A ) )
      = ( insert_set_nat @ A @ bot_bot_set_set_nat ) ) ).

% singleton_conv2
thf(fact_975_singleton__conv2,axiom,
    ! [A: nat] :
      ( ( collect_nat
        @ ( ^ [Y5: nat,Z2: nat] : ( Y5 = Z2 )
          @ A ) )
      = ( insert_nat @ A @ bot_bot_set_nat ) ) ).

% singleton_conv2
thf(fact_976_atLeastLessThan__empty,axiom,
    ! [B: set_nat,A: set_nat] :
      ( ( ord_less_eq_set_nat @ B @ A )
     => ( ( set_or3540276404033026485et_nat @ A @ B )
        = bot_bot_set_set_nat ) ) ).

% atLeastLessThan_empty
thf(fact_977_atLeastLessThan__empty,axiom,
    ! [B: nat,A: nat] :
      ( ( ord_less_eq_nat @ B @ A )
     => ( ( set_or4665077453230672383an_nat @ A @ B )
        = bot_bot_set_nat ) ) ).

% atLeastLessThan_empty
thf(fact_978_singleton__insert__inj__eq_H,axiom,
    ! [A: set_nat,A2: set_set_nat,B: set_nat] :
      ( ( ( insert_set_nat @ A @ A2 )
        = ( insert_set_nat @ B @ bot_bot_set_set_nat ) )
      = ( ( A = B )
        & ( ord_le6893508408891458716et_nat @ A2 @ ( insert_set_nat @ B @ bot_bot_set_set_nat ) ) ) ) ).

% singleton_insert_inj_eq'
thf(fact_979_singleton__insert__inj__eq_H,axiom,
    ! [A: nat,A2: set_nat,B: nat] :
      ( ( ( insert_nat @ A @ A2 )
        = ( insert_nat @ B @ bot_bot_set_nat ) )
      = ( ( A = B )
        & ( ord_less_eq_set_nat @ A2 @ ( insert_nat @ B @ bot_bot_set_nat ) ) ) ) ).

% singleton_insert_inj_eq'
thf(fact_980_singleton__insert__inj__eq,axiom,
    ! [B: set_nat,A: set_nat,A2: set_set_nat] :
      ( ( ( insert_set_nat @ B @ bot_bot_set_set_nat )
        = ( insert_set_nat @ A @ A2 ) )
      = ( ( A = B )
        & ( ord_le6893508408891458716et_nat @ A2 @ ( insert_set_nat @ B @ bot_bot_set_set_nat ) ) ) ) ).

% singleton_insert_inj_eq
thf(fact_981_singleton__insert__inj__eq,axiom,
    ! [B: nat,A: nat,A2: set_nat] :
      ( ( ( insert_nat @ B @ bot_bot_set_nat )
        = ( insert_nat @ A @ A2 ) )
      = ( ( A = B )
        & ( ord_less_eq_set_nat @ A2 @ ( insert_nat @ B @ bot_bot_set_nat ) ) ) ) ).

% singleton_insert_inj_eq
thf(fact_982_atLeastLessThan__empty__iff,axiom,
    ! [A: nat,B: nat] :
      ( ( ( set_or4665077453230672383an_nat @ A @ B )
        = bot_bot_set_nat )
      = ( ~ ( ord_less_nat @ A @ B ) ) ) ).

% atLeastLessThan_empty_iff
thf(fact_983_atLeastLessThan__empty__iff2,axiom,
    ! [A: nat,B: nat] :
      ( ( bot_bot_set_nat
        = ( set_or4665077453230672383an_nat @ A @ B ) )
      = ( ~ ( ord_less_nat @ A @ B ) ) ) ).

% atLeastLessThan_empty_iff2
thf(fact_984_Diff__eq__empty__iff,axiom,
    ! [A2: set_nat,B2: set_nat] :
      ( ( ( minus_minus_set_nat @ A2 @ B2 )
        = bot_bot_set_nat )
      = ( ord_less_eq_set_nat @ A2 @ B2 ) ) ).

% Diff_eq_empty_iff
thf(fact_985_card_Oempty,axiom,
    ( ( finite_card_set_nat @ bot_bot_set_set_nat )
    = zero_zero_nat ) ).

% card.empty
thf(fact_986_card_Oempty,axiom,
    ( ( finite_card_nat @ bot_bot_set_nat )
    = zero_zero_nat ) ).

% card.empty
thf(fact_987_insert__Diff__single,axiom,
    ! [A: set_nat,A2: set_set_nat] :
      ( ( insert_set_nat @ A @ ( minus_2163939370556025621et_nat @ A2 @ ( insert_set_nat @ A @ bot_bot_set_set_nat ) ) )
      = ( insert_set_nat @ A @ A2 ) ) ).

% insert_Diff_single
thf(fact_988_insert__Diff__single,axiom,
    ! [A: nat,A2: set_nat] :
      ( ( insert_nat @ A @ ( minus_minus_set_nat @ A2 @ ( insert_nat @ A @ bot_bot_set_nat ) ) )
      = ( insert_nat @ A @ A2 ) ) ).

% insert_Diff_single
thf(fact_989_atLeastLessThan__singleton,axiom,
    ! [M: nat] :
      ( ( set_or4665077453230672383an_nat @ M @ ( suc @ M ) )
      = ( insert_nat @ M @ bot_bot_set_nat ) ) ).

% atLeastLessThan_singleton
thf(fact_990_Pow__empty,axiom,
    ( ( pow_nat @ bot_bot_set_nat )
    = ( insert_set_nat @ bot_bot_set_nat @ bot_bot_set_set_nat ) ) ).

% Pow_empty
thf(fact_991_Pow__singleton__iff,axiom,
    ! [X7: set_nat,Y7: set_nat] :
      ( ( ( pow_nat @ X7 )
        = ( insert_set_nat @ Y7 @ bot_bot_set_set_nat ) )
      = ( ( X7 = bot_bot_set_nat )
        & ( Y7 = bot_bot_set_nat ) ) ) ).

% Pow_singleton_iff
thf(fact_992_Diff__insert__absorb,axiom,
    ! [X4: set_nat,A2: set_set_nat] :
      ( ~ ( member_set_nat @ X4 @ A2 )
     => ( ( minus_2163939370556025621et_nat @ ( insert_set_nat @ X4 @ A2 ) @ ( insert_set_nat @ X4 @ bot_bot_set_set_nat ) )
        = A2 ) ) ).

% Diff_insert_absorb
thf(fact_993_Diff__insert__absorb,axiom,
    ! [X4: nat,A2: set_nat] :
      ( ~ ( member_nat @ X4 @ A2 )
     => ( ( minus_minus_set_nat @ ( insert_nat @ X4 @ A2 ) @ ( insert_nat @ X4 @ bot_bot_set_nat ) )
        = A2 ) ) ).

% Diff_insert_absorb
thf(fact_994_Diff__insert2,axiom,
    ! [A2: set_set_nat,A: set_nat,B2: set_set_nat] :
      ( ( minus_2163939370556025621et_nat @ A2 @ ( insert_set_nat @ A @ B2 ) )
      = ( minus_2163939370556025621et_nat @ ( minus_2163939370556025621et_nat @ A2 @ ( insert_set_nat @ A @ bot_bot_set_set_nat ) ) @ B2 ) ) ).

% Diff_insert2
thf(fact_995_Diff__insert2,axiom,
    ! [A2: set_nat,A: nat,B2: set_nat] :
      ( ( minus_minus_set_nat @ A2 @ ( insert_nat @ A @ B2 ) )
      = ( minus_minus_set_nat @ ( minus_minus_set_nat @ A2 @ ( insert_nat @ A @ bot_bot_set_nat ) ) @ B2 ) ) ).

% Diff_insert2
thf(fact_996_insert__Diff,axiom,
    ! [A: set_nat,A2: set_set_nat] :
      ( ( member_set_nat @ A @ A2 )
     => ( ( insert_set_nat @ A @ ( minus_2163939370556025621et_nat @ A2 @ ( insert_set_nat @ A @ bot_bot_set_set_nat ) ) )
        = A2 ) ) ).

% insert_Diff
thf(fact_997_insert__Diff,axiom,
    ! [A: nat,A2: set_nat] :
      ( ( member_nat @ A @ A2 )
     => ( ( insert_nat @ A @ ( minus_minus_set_nat @ A2 @ ( insert_nat @ A @ bot_bot_set_nat ) ) )
        = A2 ) ) ).

% insert_Diff
thf(fact_998_Diff__insert,axiom,
    ! [A2: set_set_nat,A: set_nat,B2: set_set_nat] :
      ( ( minus_2163939370556025621et_nat @ A2 @ ( insert_set_nat @ A @ B2 ) )
      = ( minus_2163939370556025621et_nat @ ( minus_2163939370556025621et_nat @ A2 @ B2 ) @ ( insert_set_nat @ A @ bot_bot_set_set_nat ) ) ) ).

% Diff_insert
thf(fact_999_Diff__insert,axiom,
    ! [A2: set_nat,A: nat,B2: set_nat] :
      ( ( minus_minus_set_nat @ A2 @ ( insert_nat @ A @ B2 ) )
      = ( minus_minus_set_nat @ ( minus_minus_set_nat @ A2 @ B2 ) @ ( insert_nat @ A @ bot_bot_set_nat ) ) ) ).

% Diff_insert
thf(fact_1000_atLeastLessThan0,axiom,
    ! [M: nat] :
      ( ( set_or4665077453230672383an_nat @ M @ zero_zero_nat )
      = bot_bot_set_nat ) ).

% atLeastLessThan0
thf(fact_1001_subset__emptyI,axiom,
    ! [A2: set_set_nat] :
      ( ! [X3: set_nat] :
          ~ ( member_set_nat @ X3 @ A2 )
     => ( ord_le6893508408891458716et_nat @ A2 @ bot_bot_set_set_nat ) ) ).

% subset_emptyI
thf(fact_1002_subset__emptyI,axiom,
    ! [A2: set_nat] :
      ( ! [X3: nat] :
          ~ ( member_nat @ X3 @ A2 )
     => ( ord_less_eq_set_nat @ A2 @ bot_bot_set_nat ) ) ).

% subset_emptyI
thf(fact_1003_bot_Oextremum,axiom,
    ! [A: nat] : ( ord_less_eq_nat @ bot_bot_nat @ A ) ).

% bot.extremum
thf(fact_1004_bot_Oextremum,axiom,
    ! [A: set_nat] : ( ord_less_eq_set_nat @ bot_bot_set_nat @ A ) ).

% bot.extremum
thf(fact_1005_bot_Oextremum__unique,axiom,
    ! [A: nat] :
      ( ( ord_less_eq_nat @ A @ bot_bot_nat )
      = ( A = bot_bot_nat ) ) ).

% bot.extremum_unique
thf(fact_1006_bot_Oextremum__unique,axiom,
    ! [A: set_nat] :
      ( ( ord_less_eq_set_nat @ A @ bot_bot_set_nat )
      = ( A = bot_bot_set_nat ) ) ).

% bot.extremum_unique
thf(fact_1007_bot_Oextremum__uniqueI,axiom,
    ! [A: nat] :
      ( ( ord_less_eq_nat @ A @ bot_bot_nat )
     => ( A = bot_bot_nat ) ) ).

% bot.extremum_uniqueI
thf(fact_1008_bot_Oextremum__uniqueI,axiom,
    ! [A: set_nat] :
      ( ( ord_less_eq_set_nat @ A @ bot_bot_set_nat )
     => ( A = bot_bot_set_nat ) ) ).

% bot.extremum_uniqueI
thf(fact_1009_singletonD,axiom,
    ! [B: set_nat,A: set_nat] :
      ( ( member_set_nat @ B @ ( insert_set_nat @ A @ bot_bot_set_set_nat ) )
     => ( B = A ) ) ).

% singletonD
thf(fact_1010_singletonD,axiom,
    ! [B: nat,A: nat] :
      ( ( member_nat @ B @ ( insert_nat @ A @ bot_bot_set_nat ) )
     => ( B = A ) ) ).

% singletonD
thf(fact_1011_singleton__iff,axiom,
    ! [B: set_nat,A: set_nat] :
      ( ( member_set_nat @ B @ ( insert_set_nat @ A @ bot_bot_set_set_nat ) )
      = ( B = A ) ) ).

% singleton_iff
thf(fact_1012_singleton__iff,axiom,
    ! [B: nat,A: nat] :
      ( ( member_nat @ B @ ( insert_nat @ A @ bot_bot_set_nat ) )
      = ( B = A ) ) ).

% singleton_iff
thf(fact_1013_doubleton__eq__iff,axiom,
    ! [A: set_nat,B: set_nat,C: set_nat,D: set_nat] :
      ( ( ( insert_set_nat @ A @ ( insert_set_nat @ B @ bot_bot_set_set_nat ) )
        = ( insert_set_nat @ C @ ( insert_set_nat @ D @ bot_bot_set_set_nat ) ) )
      = ( ( ( A = C )
          & ( B = D ) )
        | ( ( A = D )
          & ( B = C ) ) ) ) ).

% doubleton_eq_iff
thf(fact_1014_doubleton__eq__iff,axiom,
    ! [A: nat,B: nat,C: nat,D: nat] :
      ( ( ( insert_nat @ A @ ( insert_nat @ B @ bot_bot_set_nat ) )
        = ( insert_nat @ C @ ( insert_nat @ D @ bot_bot_set_nat ) ) )
      = ( ( ( A = C )
          & ( B = D ) )
        | ( ( A = D )
          & ( B = C ) ) ) ) ).

% doubleton_eq_iff
thf(fact_1015_insert__not__empty,axiom,
    ! [A: set_nat,A2: set_set_nat] :
      ( ( insert_set_nat @ A @ A2 )
     != bot_bot_set_set_nat ) ).

% insert_not_empty
thf(fact_1016_insert__not__empty,axiom,
    ! [A: nat,A2: set_nat] :
      ( ( insert_nat @ A @ A2 )
     != bot_bot_set_nat ) ).

% insert_not_empty
thf(fact_1017_singleton__inject,axiom,
    ! [A: set_nat,B: set_nat] :
      ( ( ( insert_set_nat @ A @ bot_bot_set_set_nat )
        = ( insert_set_nat @ B @ bot_bot_set_set_nat ) )
     => ( A = B ) ) ).

% singleton_inject
thf(fact_1018_singleton__inject,axiom,
    ! [A: nat,B: nat] :
      ( ( ( insert_nat @ A @ bot_bot_set_nat )
        = ( insert_nat @ B @ bot_bot_set_nat ) )
     => ( A = B ) ) ).

% singleton_inject
thf(fact_1019_ex__in__conv,axiom,
    ! [A2: set_set_nat] :
      ( ( ? [X: set_nat] : ( member_set_nat @ X @ A2 ) )
      = ( A2 != bot_bot_set_set_nat ) ) ).

% ex_in_conv
thf(fact_1020_ex__in__conv,axiom,
    ! [A2: set_nat] :
      ( ( ? [X: nat] : ( member_nat @ X @ A2 ) )
      = ( A2 != bot_bot_set_nat ) ) ).

% ex_in_conv
thf(fact_1021_empty__def,axiom,
    ( bot_bot_set_set_nat
    = ( collect_set_nat
      @ ^ [X: set_nat] : $false ) ) ).

% empty_def
thf(fact_1022_empty__def,axiom,
    ( bot_bot_set_nat
    = ( collect_nat
      @ ^ [X: nat] : $false ) ) ).

% empty_def
thf(fact_1023_equals0I,axiom,
    ! [A2: set_set_nat] :
      ( ! [Y3: set_nat] :
          ~ ( member_set_nat @ Y3 @ A2 )
     => ( A2 = bot_bot_set_set_nat ) ) ).

% equals0I
thf(fact_1024_equals0I,axiom,
    ! [A2: set_nat] :
      ( ! [Y3: nat] :
          ~ ( member_nat @ Y3 @ A2 )
     => ( A2 = bot_bot_set_nat ) ) ).

% equals0I
thf(fact_1025_equals0D,axiom,
    ! [A2: set_set_nat,A: set_nat] :
      ( ( A2 = bot_bot_set_set_nat )
     => ~ ( member_set_nat @ A @ A2 ) ) ).

% equals0D
thf(fact_1026_equals0D,axiom,
    ! [A2: set_nat,A: nat] :
      ( ( A2 = bot_bot_set_nat )
     => ~ ( member_nat @ A @ A2 ) ) ).

% equals0D
thf(fact_1027_emptyE,axiom,
    ! [A: set_nat] :
      ~ ( member_set_nat @ A @ bot_bot_set_set_nat ) ).

% emptyE
thf(fact_1028_emptyE,axiom,
    ! [A: nat] :
      ~ ( member_nat @ A @ bot_bot_set_nat ) ).

% emptyE
thf(fact_1029_Pow__not__empty,axiom,
    ! [A2: set_nat] :
      ( ( pow_nat @ A2 )
     != bot_bot_set_set_nat ) ).

% Pow_not_empty
thf(fact_1030_Pow__bottom,axiom,
    ! [B2: set_nat] : ( member_set_nat @ bot_bot_set_nat @ ( pow_nat @ B2 ) ) ).

% Pow_bottom
thf(fact_1031_not__psubset__empty,axiom,
    ! [A2: set_nat] :
      ~ ( ord_less_set_nat @ A2 @ bot_bot_set_nat ) ).

% not_psubset_empty
thf(fact_1032_bot_Onot__eq__extremum,axiom,
    ! [A: set_nat] :
      ( ( A != bot_bot_set_nat )
      = ( ord_less_set_nat @ bot_bot_set_nat @ A ) ) ).

% bot.not_eq_extremum
thf(fact_1033_bot_Onot__eq__extremum,axiom,
    ! [A: nat] :
      ( ( A != bot_bot_nat )
      = ( ord_less_nat @ bot_bot_nat @ A ) ) ).

% bot.not_eq_extremum
thf(fact_1034_bot_Oextremum__strict,axiom,
    ! [A: set_nat] :
      ~ ( ord_less_set_nat @ A @ bot_bot_set_nat ) ).

% bot.extremum_strict
thf(fact_1035_bot_Oextremum__strict,axiom,
    ! [A: nat] :
      ~ ( ord_less_nat @ A @ bot_bot_nat ) ).

% bot.extremum_strict
thf(fact_1036_subset__singletonD,axiom,
    ! [A2: set_set_nat,X4: set_nat] :
      ( ( ord_le6893508408891458716et_nat @ A2 @ ( insert_set_nat @ X4 @ bot_bot_set_set_nat ) )
     => ( ( A2 = bot_bot_set_set_nat )
        | ( A2
          = ( insert_set_nat @ X4 @ bot_bot_set_set_nat ) ) ) ) ).

% subset_singletonD
thf(fact_1037_subset__singletonD,axiom,
    ! [A2: set_nat,X4: nat] :
      ( ( ord_less_eq_set_nat @ A2 @ ( insert_nat @ X4 @ bot_bot_set_nat ) )
     => ( ( A2 = bot_bot_set_nat )
        | ( A2
          = ( insert_nat @ X4 @ bot_bot_set_nat ) ) ) ) ).

% subset_singletonD
thf(fact_1038_subset__singleton__iff,axiom,
    ! [X7: set_set_nat,A: set_nat] :
      ( ( ord_le6893508408891458716et_nat @ X7 @ ( insert_set_nat @ A @ bot_bot_set_set_nat ) )
      = ( ( X7 = bot_bot_set_set_nat )
        | ( X7
          = ( insert_set_nat @ A @ bot_bot_set_set_nat ) ) ) ) ).

% subset_singleton_iff
thf(fact_1039_subset__singleton__iff,axiom,
    ! [X7: set_nat,A: nat] :
      ( ( ord_less_eq_set_nat @ X7 @ ( insert_nat @ A @ bot_bot_set_nat ) )
      = ( ( X7 = bot_bot_set_nat )
        | ( X7
          = ( insert_nat @ A @ bot_bot_set_nat ) ) ) ) ).

% subset_singleton_iff
thf(fact_1040_Collect__conv__if,axiom,
    ! [P: set_nat > $o,A: set_nat] :
      ( ( ( P @ A )
       => ( ( collect_set_nat
            @ ^ [X: set_nat] :
                ( ( X = A )
                & ( P @ X ) ) )
          = ( insert_set_nat @ A @ bot_bot_set_set_nat ) ) )
      & ( ~ ( P @ A )
       => ( ( collect_set_nat
            @ ^ [X: set_nat] :
                ( ( X = A )
                & ( P @ X ) ) )
          = bot_bot_set_set_nat ) ) ) ).

% Collect_conv_if
thf(fact_1041_Collect__conv__if,axiom,
    ! [P: nat > $o,A: nat] :
      ( ( ( P @ A )
       => ( ( collect_nat
            @ ^ [X: nat] :
                ( ( X = A )
                & ( P @ X ) ) )
          = ( insert_nat @ A @ bot_bot_set_nat ) ) )
      & ( ~ ( P @ A )
       => ( ( collect_nat
            @ ^ [X: nat] :
                ( ( X = A )
                & ( P @ X ) ) )
          = bot_bot_set_nat ) ) ) ).

% Collect_conv_if
thf(fact_1042_Collect__conv__if2,axiom,
    ! [P: set_nat > $o,A: set_nat] :
      ( ( ( P @ A )
       => ( ( collect_set_nat
            @ ^ [X: set_nat] :
                ( ( A = X )
                & ( P @ X ) ) )
          = ( insert_set_nat @ A @ bot_bot_set_set_nat ) ) )
      & ( ~ ( P @ A )
       => ( ( collect_set_nat
            @ ^ [X: set_nat] :
                ( ( A = X )
                & ( P @ X ) ) )
          = bot_bot_set_set_nat ) ) ) ).

% Collect_conv_if2
thf(fact_1043_Collect__conv__if2,axiom,
    ! [P: nat > $o,A: nat] :
      ( ( ( P @ A )
       => ( ( collect_nat
            @ ^ [X: nat] :
                ( ( A = X )
                & ( P @ X ) ) )
          = ( insert_nat @ A @ bot_bot_set_nat ) ) )
      & ( ~ ( P @ A )
       => ( ( collect_nat
            @ ^ [X: nat] :
                ( ( A = X )
                & ( P @ X ) ) )
          = bot_bot_set_nat ) ) ) ).

% Collect_conv_if2
thf(fact_1044_sum_Oshift__bounds__Suc__ivl,axiom,
    ! [G: nat > nat,M: nat,N: nat] :
      ( ( groups3542108847815614940at_nat @ G @ ( set_or4665077453230672383an_nat @ ( suc @ M ) @ ( suc @ N ) ) )
      = ( groups3542108847815614940at_nat
        @ ^ [I3: nat] : ( G @ ( suc @ I3 ) )
        @ ( set_or4665077453230672383an_nat @ M @ N ) ) ) ).

% sum.shift_bounds_Suc_ivl
thf(fact_1045_sum_Oshift__bounds__nat__ivl,axiom,
    ! [G: nat > nat,M: nat,K2: nat,N: nat] :
      ( ( groups3542108847815614940at_nat @ G @ ( set_or4665077453230672383an_nat @ ( plus_plus_nat @ M @ K2 ) @ ( plus_plus_nat @ N @ K2 ) ) )
      = ( groups3542108847815614940at_nat
        @ ^ [I3: nat] : ( G @ ( plus_plus_nat @ I3 @ K2 ) )
        @ ( set_or4665077453230672383an_nat @ M @ N ) ) ) ).

% sum.shift_bounds_nat_ivl
thf(fact_1046_sum_Oivl__cong,axiom,
    ! [A: nat,C: nat,B: nat,D: nat,G: nat > nat,H: nat > nat] :
      ( ( A = C )
     => ( ( B = D )
       => ( ! [X3: nat] :
              ( ( ord_less_eq_nat @ C @ X3 )
             => ( ( ord_less_nat @ X3 @ D )
               => ( ( G @ X3 )
                  = ( H @ X3 ) ) ) )
         => ( ( groups3542108847815614940at_nat @ G @ ( set_or4665077453230672383an_nat @ A @ B ) )
            = ( groups3542108847815614940at_nat @ H @ ( set_or4665077453230672383an_nat @ C @ D ) ) ) ) ) ) ).

% sum.ivl_cong
thf(fact_1047_sum_OatLeastLessThan__concat,axiom,
    ! [M: nat,N: nat,P5: nat,G: nat > nat] :
      ( ( ord_less_eq_nat @ M @ N )
     => ( ( ord_less_eq_nat @ N @ P5 )
       => ( ( plus_plus_nat @ ( groups3542108847815614940at_nat @ G @ ( set_or4665077453230672383an_nat @ M @ N ) ) @ ( groups3542108847815614940at_nat @ G @ ( set_or4665077453230672383an_nat @ N @ P5 ) ) )
          = ( groups3542108847815614940at_nat @ G @ ( set_or4665077453230672383an_nat @ M @ P5 ) ) ) ) ) ).

% sum.atLeastLessThan_concat
thf(fact_1048_Diff__single__insert,axiom,
    ! [A2: set_set_nat,X4: set_nat,B2: set_set_nat] :
      ( ( ord_le6893508408891458716et_nat @ ( minus_2163939370556025621et_nat @ A2 @ ( insert_set_nat @ X4 @ bot_bot_set_set_nat ) ) @ B2 )
     => ( ord_le6893508408891458716et_nat @ A2 @ ( insert_set_nat @ X4 @ B2 ) ) ) ).

% Diff_single_insert
thf(fact_1049_Diff__single__insert,axiom,
    ! [A2: set_nat,X4: nat,B2: set_nat] :
      ( ( ord_less_eq_set_nat @ ( minus_minus_set_nat @ A2 @ ( insert_nat @ X4 @ bot_bot_set_nat ) ) @ B2 )
     => ( ord_less_eq_set_nat @ A2 @ ( insert_nat @ X4 @ B2 ) ) ) ).

% Diff_single_insert
thf(fact_1050_subset__insert__iff,axiom,
    ! [A2: set_set_nat,X4: set_nat,B2: set_set_nat] :
      ( ( ord_le6893508408891458716et_nat @ A2 @ ( insert_set_nat @ X4 @ B2 ) )
      = ( ( ( member_set_nat @ X4 @ A2 )
         => ( ord_le6893508408891458716et_nat @ ( minus_2163939370556025621et_nat @ A2 @ ( insert_set_nat @ X4 @ bot_bot_set_set_nat ) ) @ B2 ) )
        & ( ~ ( member_set_nat @ X4 @ A2 )
         => ( ord_le6893508408891458716et_nat @ A2 @ B2 ) ) ) ) ).

% subset_insert_iff
thf(fact_1051_subset__insert__iff,axiom,
    ! [A2: set_nat,X4: nat,B2: set_nat] :
      ( ( ord_less_eq_set_nat @ A2 @ ( insert_nat @ X4 @ B2 ) )
      = ( ( ( member_nat @ X4 @ A2 )
         => ( ord_less_eq_set_nat @ ( minus_minus_set_nat @ A2 @ ( insert_nat @ X4 @ bot_bot_set_nat ) ) @ B2 ) )
        & ( ~ ( member_nat @ X4 @ A2 )
         => ( ord_less_eq_set_nat @ A2 @ B2 ) ) ) ) ).

% subset_insert_iff
thf(fact_1052_card__1__singletonE,axiom,
    ! [A2: set_set_nat] :
      ( ( ( finite_card_set_nat @ A2 )
        = one_one_nat )
     => ~ ! [X3: set_nat] :
            ( A2
           != ( insert_set_nat @ X3 @ bot_bot_set_set_nat ) ) ) ).

% card_1_singletonE
thf(fact_1053_card__1__singletonE,axiom,
    ! [A2: set_nat] :
      ( ( ( finite_card_nat @ A2 )
        = one_one_nat )
     => ~ ! [X3: nat] :
            ( A2
           != ( insert_nat @ X3 @ bot_bot_set_nat ) ) ) ).

% card_1_singletonE
thf(fact_1054_sum__shift__lb__Suc0__0__upt,axiom,
    ! [F: nat > nat,K2: nat] :
      ( ( ( F @ zero_zero_nat )
        = zero_zero_nat )
     => ( ( groups3542108847815614940at_nat @ F @ ( set_or4665077453230672383an_nat @ ( suc @ zero_zero_nat ) @ K2 ) )
        = ( groups3542108847815614940at_nat @ F @ ( set_or4665077453230672383an_nat @ zero_zero_nat @ K2 ) ) ) ) ).

% sum_shift_lb_Suc0_0_upt
thf(fact_1055_sum_OatLeast0__lessThan__Suc,axiom,
    ! [G: nat > nat,N: nat] :
      ( ( groups3542108847815614940at_nat @ G @ ( set_or4665077453230672383an_nat @ zero_zero_nat @ ( suc @ N ) ) )
      = ( plus_plus_nat @ ( groups3542108847815614940at_nat @ G @ ( set_or4665077453230672383an_nat @ zero_zero_nat @ N ) ) @ ( G @ N ) ) ) ).

% sum.atLeast0_lessThan_Suc
thf(fact_1056_sum_OatLeast__Suc__lessThan,axiom,
    ! [M: nat,N: nat,G: nat > nat] :
      ( ( ord_less_nat @ M @ N )
     => ( ( groups3542108847815614940at_nat @ G @ ( set_or4665077453230672383an_nat @ M @ N ) )
        = ( plus_plus_nat @ ( G @ M ) @ ( groups3542108847815614940at_nat @ G @ ( set_or4665077453230672383an_nat @ ( suc @ M ) @ N ) ) ) ) ) ).

% sum.atLeast_Suc_lessThan
thf(fact_1057_sum_OatLeastLessThan__Suc,axiom,
    ! [A: nat,B: nat,G: nat > nat] :
      ( ( ord_less_eq_nat @ A @ B )
     => ( ( groups3542108847815614940at_nat @ G @ ( set_or4665077453230672383an_nat @ A @ ( suc @ B ) ) )
        = ( plus_plus_nat @ ( groups3542108847815614940at_nat @ G @ ( set_or4665077453230672383an_nat @ A @ B ) ) @ ( G @ B ) ) ) ) ).

% sum.atLeastLessThan_Suc
thf(fact_1058_sum_OatLeastLessThan__rev,axiom,
    ! [G: nat > nat,N: nat,M: nat] :
      ( ( groups3542108847815614940at_nat @ G @ ( set_or4665077453230672383an_nat @ N @ M ) )
      = ( groups3542108847815614940at_nat
        @ ^ [I3: nat] : ( G @ ( minus_minus_nat @ ( plus_plus_nat @ M @ N ) @ ( suc @ I3 ) ) )
        @ ( set_or4665077453230672383an_nat @ N @ M ) ) ) ).

% sum.atLeastLessThan_rev
thf(fact_1059_card__1__singleton__iff,axiom,
    ! [A2: set_set_nat] :
      ( ( ( finite_card_set_nat @ A2 )
        = ( suc @ zero_zero_nat ) )
      = ( ? [X: set_nat] :
            ( A2
            = ( insert_set_nat @ X @ bot_bot_set_set_nat ) ) ) ) ).

% card_1_singleton_iff
thf(fact_1060_card__1__singleton__iff,axiom,
    ! [A2: set_nat] :
      ( ( ( finite_card_nat @ A2 )
        = ( suc @ zero_zero_nat ) )
      = ( ? [X: nat] :
            ( A2
            = ( insert_nat @ X @ bot_bot_set_nat ) ) ) ) ).

% card_1_singleton_iff
thf(fact_1061_card__eq__SucD,axiom,
    ! [A2: set_set_nat,K2: nat] :
      ( ( ( finite_card_set_nat @ A2 )
        = ( suc @ K2 ) )
     => ? [B4: set_nat,B5: set_set_nat] :
          ( ( A2
            = ( insert_set_nat @ B4 @ B5 ) )
          & ~ ( member_set_nat @ B4 @ B5 )
          & ( ( finite_card_set_nat @ B5 )
            = K2 )
          & ( ( K2 = zero_zero_nat )
           => ( B5 = bot_bot_set_set_nat ) ) ) ) ).

% card_eq_SucD
thf(fact_1062_card__eq__SucD,axiom,
    ! [A2: set_nat,K2: nat] :
      ( ( ( finite_card_nat @ A2 )
        = ( suc @ K2 ) )
     => ? [B4: nat,B5: set_nat] :
          ( ( A2
            = ( insert_nat @ B4 @ B5 ) )
          & ~ ( member_nat @ B4 @ B5 )
          & ( ( finite_card_nat @ B5 )
            = K2 )
          & ( ( K2 = zero_zero_nat )
           => ( B5 = bot_bot_set_nat ) ) ) ) ).

% card_eq_SucD
thf(fact_1063_card__Suc__eq,axiom,
    ! [A2: set_set_nat,K2: nat] :
      ( ( ( finite_card_set_nat @ A2 )
        = ( suc @ K2 ) )
      = ( ? [B6: set_nat,B3: set_set_nat] :
            ( ( A2
              = ( insert_set_nat @ B6 @ B3 ) )
            & ~ ( member_set_nat @ B6 @ B3 )
            & ( ( finite_card_set_nat @ B3 )
              = K2 )
            & ( ( K2 = zero_zero_nat )
             => ( B3 = bot_bot_set_set_nat ) ) ) ) ) ).

% card_Suc_eq
thf(fact_1064_card__Suc__eq,axiom,
    ! [A2: set_nat,K2: nat] :
      ( ( ( finite_card_nat @ A2 )
        = ( suc @ K2 ) )
      = ( ? [B6: nat,B3: set_nat] :
            ( ( A2
              = ( insert_nat @ B6 @ B3 ) )
            & ~ ( member_nat @ B6 @ B3 )
            & ( ( finite_card_nat @ B3 )
              = K2 )
            & ( ( K2 = zero_zero_nat )
             => ( B3 = bot_bot_set_nat ) ) ) ) ) ).

% card_Suc_eq
thf(fact_1065_card__sum__le__nat__sum,axiom,
    ! [S2: set_nat] :
      ( ord_less_eq_nat
      @ ( groups3542108847815614940at_nat
        @ ^ [X: nat] : X
        @ ( set_or4665077453230672383an_nat @ zero_zero_nat @ ( finite_card_nat @ S2 ) ) )
      @ ( groups3542108847815614940at_nat
        @ ^ [X: nat] : X
        @ S2 ) ) ).

% card_sum_le_nat_sum
thf(fact_1066_card__Diff1__le,axiom,
    ! [A2: set_set_nat,X4: set_nat] : ( ord_less_eq_nat @ ( finite_card_set_nat @ ( minus_2163939370556025621et_nat @ A2 @ ( insert_set_nat @ X4 @ bot_bot_set_set_nat ) ) ) @ ( finite_card_set_nat @ A2 ) ) ).

% card_Diff1_le
thf(fact_1067_card__Diff1__le,axiom,
    ! [A2: set_nat,X4: nat] : ( ord_less_eq_nat @ ( finite_card_nat @ ( minus_minus_set_nat @ A2 @ ( insert_nat @ X4 @ bot_bot_set_nat ) ) ) @ ( finite_card_nat @ A2 ) ) ).

% card_Diff1_le
thf(fact_1068_psubset__insert__iff,axiom,
    ! [A2: set_set_nat,X4: set_nat,B2: set_set_nat] :
      ( ( ord_less_set_set_nat @ A2 @ ( insert_set_nat @ X4 @ B2 ) )
      = ( ( ( member_set_nat @ X4 @ B2 )
         => ( ord_less_set_set_nat @ A2 @ B2 ) )
        & ( ~ ( member_set_nat @ X4 @ B2 )
         => ( ( ( member_set_nat @ X4 @ A2 )
             => ( ord_less_set_set_nat @ ( minus_2163939370556025621et_nat @ A2 @ ( insert_set_nat @ X4 @ bot_bot_set_set_nat ) ) @ B2 ) )
            & ( ~ ( member_set_nat @ X4 @ A2 )
             => ( ord_le6893508408891458716et_nat @ A2 @ B2 ) ) ) ) ) ) ).

% psubset_insert_iff
thf(fact_1069_psubset__insert__iff,axiom,
    ! [A2: set_nat,X4: nat,B2: set_nat] :
      ( ( ord_less_set_nat @ A2 @ ( insert_nat @ X4 @ B2 ) )
      = ( ( ( member_nat @ X4 @ B2 )
         => ( ord_less_set_nat @ A2 @ B2 ) )
        & ( ~ ( member_nat @ X4 @ B2 )
         => ( ( ( member_nat @ X4 @ A2 )
             => ( ord_less_set_nat @ ( minus_minus_set_nat @ A2 @ ( insert_nat @ X4 @ bot_bot_set_nat ) ) @ B2 ) )
            & ( ~ ( member_nat @ X4 @ A2 )
             => ( ord_less_eq_set_nat @ A2 @ B2 ) ) ) ) ) ) ).

% psubset_insert_iff
thf(fact_1070_atLeastLessThanSuc,axiom,
    ! [M: nat,N: nat] :
      ( ( ( ord_less_eq_nat @ M @ N )
       => ( ( set_or4665077453230672383an_nat @ M @ ( suc @ N ) )
          = ( insert_nat @ N @ ( set_or4665077453230672383an_nat @ M @ N ) ) ) )
      & ( ~ ( ord_less_eq_nat @ M @ N )
       => ( ( set_or4665077453230672383an_nat @ M @ ( suc @ N ) )
          = bot_bot_set_nat ) ) ) ).

% atLeastLessThanSuc
thf(fact_1071_card__Diff__singleton__if,axiom,
    ! [X4: set_nat,A2: set_set_nat] :
      ( ( ( member_set_nat @ X4 @ A2 )
       => ( ( finite_card_set_nat @ ( minus_2163939370556025621et_nat @ A2 @ ( insert_set_nat @ X4 @ bot_bot_set_set_nat ) ) )
          = ( minus_minus_nat @ ( finite_card_set_nat @ A2 ) @ one_one_nat ) ) )
      & ( ~ ( member_set_nat @ X4 @ A2 )
       => ( ( finite_card_set_nat @ ( minus_2163939370556025621et_nat @ A2 @ ( insert_set_nat @ X4 @ bot_bot_set_set_nat ) ) )
          = ( finite_card_set_nat @ A2 ) ) ) ) ).

% card_Diff_singleton_if
thf(fact_1072_card__Diff__singleton__if,axiom,
    ! [X4: nat,A2: set_nat] :
      ( ( ( member_nat @ X4 @ A2 )
       => ( ( finite_card_nat @ ( minus_minus_set_nat @ A2 @ ( insert_nat @ X4 @ bot_bot_set_nat ) ) )
          = ( minus_minus_nat @ ( finite_card_nat @ A2 ) @ one_one_nat ) ) )
      & ( ~ ( member_nat @ X4 @ A2 )
       => ( ( finite_card_nat @ ( minus_minus_set_nat @ A2 @ ( insert_nat @ X4 @ bot_bot_set_nat ) ) )
          = ( finite_card_nat @ A2 ) ) ) ) ).

% card_Diff_singleton_if
thf(fact_1073_sum_Oempty,axiom,
    ! [G: nat > nat] :
      ( ( groups3542108847815614940at_nat @ G @ bot_bot_set_nat )
      = zero_zero_nat ) ).

% sum.empty
thf(fact_1074_sum_Oneutral__const,axiom,
    ! [A2: set_nat] :
      ( ( groups3542108847815614940at_nat
        @ ^ [Uu: nat] : zero_zero_nat
        @ A2 )
      = zero_zero_nat ) ).

% sum.neutral_const
thf(fact_1075_sum__subtractf__nat,axiom,
    ! [A2: set_set_nat,G: set_nat > nat,F: set_nat > nat] :
      ( ! [X3: set_nat] :
          ( ( member_set_nat @ X3 @ A2 )
         => ( ord_less_eq_nat @ ( G @ X3 ) @ ( F @ X3 ) ) )
     => ( ( groups8294997508430121362at_nat
          @ ^ [X: set_nat] : ( minus_minus_nat @ ( F @ X ) @ ( G @ X ) )
          @ A2 )
        = ( minus_minus_nat @ ( groups8294997508430121362at_nat @ F @ A2 ) @ ( groups8294997508430121362at_nat @ G @ A2 ) ) ) ) ).

% sum_subtractf_nat
thf(fact_1076_sum__subtractf__nat,axiom,
    ! [A2: set_nat,G: nat > nat,F: nat > nat] :
      ( ! [X3: nat] :
          ( ( member_nat @ X3 @ A2 )
         => ( ord_less_eq_nat @ ( G @ X3 ) @ ( F @ X3 ) ) )
     => ( ( groups3542108847815614940at_nat
          @ ^ [X: nat] : ( minus_minus_nat @ ( F @ X ) @ ( G @ X ) )
          @ A2 )
        = ( minus_minus_nat @ ( groups3542108847815614940at_nat @ F @ A2 ) @ ( groups3542108847815614940at_nat @ G @ A2 ) ) ) ) ).

% sum_subtractf_nat
thf(fact_1077_card__eq__sum,axiom,
    ( finite_card_set_nat
    = ( groups8294997508430121362at_nat
      @ ^ [X: set_nat] : one_one_nat ) ) ).

% card_eq_sum
thf(fact_1078_card__eq__sum,axiom,
    ( finite_card_nat
    = ( groups3542108847815614940at_nat
      @ ^ [X: nat] : one_one_nat ) ) ).

% card_eq_sum
thf(fact_1079_bot__nat__def,axiom,
    bot_bot_nat = zero_zero_nat ).

% bot_nat_def
thf(fact_1080_bot__set__def,axiom,
    ( bot_bot_set_set_nat
    = ( collect_set_nat @ bot_bot_set_nat_o ) ) ).

% bot_set_def
thf(fact_1081_bot__set__def,axiom,
    ( bot_bot_set_nat
    = ( collect_nat @ bot_bot_nat_o ) ) ).

% bot_set_def
thf(fact_1082_bot__empty__eq,axiom,
    ( bot_bot_set_nat_o
    = ( ^ [X: set_nat] : ( member_set_nat @ X @ bot_bot_set_set_nat ) ) ) ).

% bot_empty_eq
thf(fact_1083_bot__empty__eq,axiom,
    ( bot_bot_nat_o
    = ( ^ [X: nat] : ( member_nat @ X @ bot_bot_set_nat ) ) ) ).

% bot_empty_eq
thf(fact_1084_sum__Suc,axiom,
    ! [F: set_nat > nat,A2: set_set_nat] :
      ( ( groups8294997508430121362at_nat
        @ ^ [X: set_nat] : ( suc @ ( F @ X ) )
        @ A2 )
      = ( plus_plus_nat @ ( groups8294997508430121362at_nat @ F @ A2 ) @ ( finite_card_set_nat @ A2 ) ) ) ).

% sum_Suc
thf(fact_1085_sum__Suc,axiom,
    ! [F: nat > nat,A2: set_nat] :
      ( ( groups3542108847815614940at_nat
        @ ^ [X: nat] : ( suc @ ( F @ X ) )
        @ A2 )
      = ( plus_plus_nat @ ( groups3542108847815614940at_nat @ F @ A2 ) @ ( finite_card_nat @ A2 ) ) ) ).

% sum_Suc
thf(fact_1086_sum__SucD,axiom,
    ! [F: nat > nat,A2: set_nat,N: nat] :
      ( ( ( groups3542108847815614940at_nat @ F @ A2 )
        = ( suc @ N ) )
     => ? [X3: nat] :
          ( ( member_nat @ X3 @ A2 )
          & ( ord_less_nat @ zero_zero_nat @ ( F @ X3 ) ) ) ) ).

% sum_SucD
thf(fact_1087_sum__diff1__nat,axiom,
    ! [A: set_nat,A2: set_set_nat,F: set_nat > nat] :
      ( ( ( member_set_nat @ A @ A2 )
       => ( ( groups8294997508430121362at_nat @ F @ ( minus_2163939370556025621et_nat @ A2 @ ( insert_set_nat @ A @ bot_bot_set_set_nat ) ) )
          = ( minus_minus_nat @ ( groups8294997508430121362at_nat @ F @ A2 ) @ ( F @ A ) ) ) )
      & ( ~ ( member_set_nat @ A @ A2 )
       => ( ( groups8294997508430121362at_nat @ F @ ( minus_2163939370556025621et_nat @ A2 @ ( insert_set_nat @ A @ bot_bot_set_set_nat ) ) )
          = ( groups8294997508430121362at_nat @ F @ A2 ) ) ) ) ).

% sum_diff1_nat
thf(fact_1088_sum__diff1__nat,axiom,
    ! [A: nat,A2: set_nat,F: nat > nat] :
      ( ( ( member_nat @ A @ A2 )
       => ( ( groups3542108847815614940at_nat @ F @ ( minus_minus_set_nat @ A2 @ ( insert_nat @ A @ bot_bot_set_nat ) ) )
          = ( minus_minus_nat @ ( groups3542108847815614940at_nat @ F @ A2 ) @ ( F @ A ) ) ) )
      & ( ~ ( member_nat @ A @ A2 )
       => ( ( groups3542108847815614940at_nat @ F @ ( minus_minus_set_nat @ A2 @ ( insert_nat @ A @ bot_bot_set_nat ) ) )
          = ( groups3542108847815614940at_nat @ F @ A2 ) ) ) ) ).

% sum_diff1_nat
thf(fact_1089_sum_Oswap,axiom,
    ! [G: nat > nat > nat,B2: set_nat,A2: set_nat] :
      ( ( groups3542108847815614940at_nat
        @ ^ [I3: nat] : ( groups3542108847815614940at_nat @ ( G @ I3 ) @ B2 )
        @ A2 )
      = ( groups3542108847815614940at_nat
        @ ^ [J3: nat] :
            ( groups3542108847815614940at_nat
            @ ^ [I3: nat] : ( G @ I3 @ J3 )
            @ A2 )
        @ B2 ) ) ).

% sum.swap
thf(fact_1090_sum_Onot__neutral__contains__not__neutral,axiom,
    ! [G: set_nat > nat,A2: set_set_nat] :
      ( ( ( groups8294997508430121362at_nat @ G @ A2 )
       != zero_zero_nat )
     => ~ ! [A5: set_nat] :
            ( ( member_set_nat @ A5 @ A2 )
           => ( ( G @ A5 )
              = zero_zero_nat ) ) ) ).

% sum.not_neutral_contains_not_neutral
thf(fact_1091_sum_Onot__neutral__contains__not__neutral,axiom,
    ! [G: nat > nat,A2: set_nat] :
      ( ( ( groups3542108847815614940at_nat @ G @ A2 )
       != zero_zero_nat )
     => ~ ! [A5: nat] :
            ( ( member_nat @ A5 @ A2 )
           => ( ( G @ A5 )
              = zero_zero_nat ) ) ) ).

% sum.not_neutral_contains_not_neutral
thf(fact_1092_sum_Oneutral,axiom,
    ! [A2: set_nat,G: nat > nat] :
      ( ! [X3: nat] :
          ( ( member_nat @ X3 @ A2 )
         => ( ( G @ X3 )
            = zero_zero_nat ) )
     => ( ( groups3542108847815614940at_nat @ G @ A2 )
        = zero_zero_nat ) ) ).

% sum.neutral
thf(fact_1093_sum__mono,axiom,
    ! [K5: set_set_nat,F: set_nat > nat,G: set_nat > nat] :
      ( ! [I2: set_nat] :
          ( ( member_set_nat @ I2 @ K5 )
         => ( ord_less_eq_nat @ ( F @ I2 ) @ ( G @ I2 ) ) )
     => ( ord_less_eq_nat @ ( groups8294997508430121362at_nat @ F @ K5 ) @ ( groups8294997508430121362at_nat @ G @ K5 ) ) ) ).

% sum_mono
thf(fact_1094_sum__mono,axiom,
    ! [K5: set_nat,F: nat > nat,G: nat > nat] :
      ( ! [I2: nat] :
          ( ( member_nat @ I2 @ K5 )
         => ( ord_less_eq_nat @ ( F @ I2 ) @ ( G @ I2 ) ) )
     => ( ord_less_eq_nat @ ( groups3542108847815614940at_nat @ F @ K5 ) @ ( groups3542108847815614940at_nat @ G @ K5 ) ) ) ).

% sum_mono
thf(fact_1095_sum_Odistrib,axiom,
    ! [G: nat > nat,H: nat > nat,A2: set_nat] :
      ( ( groups3542108847815614940at_nat
        @ ^ [X: nat] : ( plus_plus_nat @ ( G @ X ) @ ( H @ X ) )
        @ A2 )
      = ( plus_plus_nat @ ( groups3542108847815614940at_nat @ G @ A2 ) @ ( groups3542108847815614940at_nat @ H @ A2 ) ) ) ).

% sum.distrib
thf(fact_1096_sum__nonpos,axiom,
    ! [A2: set_set_nat,F: set_nat > nat] :
      ( ! [X3: set_nat] :
          ( ( member_set_nat @ X3 @ A2 )
         => ( ord_less_eq_nat @ ( F @ X3 ) @ zero_zero_nat ) )
     => ( ord_less_eq_nat @ ( groups8294997508430121362at_nat @ F @ A2 ) @ zero_zero_nat ) ) ).

% sum_nonpos
thf(fact_1097_sum__nonpos,axiom,
    ! [A2: set_nat,F: nat > nat] :
      ( ! [X3: nat] :
          ( ( member_nat @ X3 @ A2 )
         => ( ord_less_eq_nat @ ( F @ X3 ) @ zero_zero_nat ) )
     => ( ord_less_eq_nat @ ( groups3542108847815614940at_nat @ F @ A2 ) @ zero_zero_nat ) ) ).

% sum_nonpos
thf(fact_1098_sum__nonneg,axiom,
    ! [A2: set_set_nat,F: set_nat > nat] :
      ( ! [X3: set_nat] :
          ( ( member_set_nat @ X3 @ A2 )
         => ( ord_less_eq_nat @ zero_zero_nat @ ( F @ X3 ) ) )
     => ( ord_less_eq_nat @ zero_zero_nat @ ( groups8294997508430121362at_nat @ F @ A2 ) ) ) ).

% sum_nonneg
thf(fact_1099_sum__nonneg,axiom,
    ! [A2: set_nat,F: nat > nat] :
      ( ! [X3: nat] :
          ( ( member_nat @ X3 @ A2 )
         => ( ord_less_eq_nat @ zero_zero_nat @ ( F @ X3 ) ) )
     => ( ord_less_eq_nat @ zero_zero_nat @ ( groups3542108847815614940at_nat @ F @ A2 ) ) ) ).

% sum_nonneg
thf(fact_1100_sum__cong__Suc,axiom,
    ! [A2: set_nat,F: nat > nat,G: nat > nat] :
      ( ~ ( member_nat @ zero_zero_nat @ A2 )
     => ( ! [X3: nat] :
            ( ( member_nat @ ( suc @ X3 ) @ A2 )
           => ( ( F @ ( suc @ X3 ) )
              = ( G @ ( suc @ X3 ) ) ) )
       => ( ( groups3542108847815614940at_nat @ F @ A2 )
          = ( groups3542108847815614940at_nat @ G @ A2 ) ) ) ) ).

% sum_cong_Suc
thf(fact_1101_diff__shunt__var,axiom,
    ! [X4: set_nat,Y: set_nat] :
      ( ( ( minus_minus_set_nat @ X4 @ Y )
        = bot_bot_set_nat )
      = ( ord_less_eq_set_nat @ X4 @ Y ) ) ).

% diff_shunt_var
thf(fact_1102_the__elem__eq,axiom,
    ! [X4: set_nat] :
      ( ( the_elem_set_nat @ ( insert_set_nat @ X4 @ bot_bot_set_set_nat ) )
      = X4 ) ).

% the_elem_eq
thf(fact_1103_the__elem__eq,axiom,
    ! [X4: nat] :
      ( ( the_elem_nat @ ( insert_nat @ X4 @ bot_bot_set_nat ) )
      = X4 ) ).

% the_elem_eq
thf(fact_1104_is__singleton__the__elem,axiom,
    ( is_singleton_set_nat
    = ( ^ [A3: set_set_nat] :
          ( A3
          = ( insert_set_nat @ ( the_elem_set_nat @ A3 ) @ bot_bot_set_set_nat ) ) ) ) ).

% is_singleton_the_elem
thf(fact_1105_is__singleton__the__elem,axiom,
    ( is_singleton_nat
    = ( ^ [A3: set_nat] :
          ( A3
          = ( insert_nat @ ( the_elem_nat @ A3 ) @ bot_bot_set_nat ) ) ) ) ).

% is_singleton_the_elem
thf(fact_1106_sum_Ozero__middle,axiom,
    ! [P5: nat,K2: nat,G: nat > nat,H: nat > nat] :
      ( ( ord_less_eq_nat @ one_one_nat @ P5 )
     => ( ( ord_less_eq_nat @ K2 @ P5 )
       => ( ( groups3542108847815614940at_nat
            @ ^ [J3: nat] : ( if_nat @ ( ord_less_nat @ J3 @ K2 ) @ ( G @ J3 ) @ ( if_nat @ ( J3 = K2 ) @ zero_zero_nat @ ( H @ ( minus_minus_nat @ J3 @ ( suc @ zero_zero_nat ) ) ) ) )
            @ ( set_ord_atMost_nat @ P5 ) )
          = ( groups3542108847815614940at_nat
            @ ^ [J3: nat] : ( if_nat @ ( ord_less_nat @ J3 @ K2 ) @ ( G @ J3 ) @ ( H @ J3 ) )
            @ ( set_ord_atMost_nat @ ( minus_minus_nat @ P5 @ ( suc @ zero_zero_nat ) ) ) ) ) ) ) ).

% sum.zero_middle
thf(fact_1107_atMost__eq__iff,axiom,
    ! [X4: nat,Y: nat] :
      ( ( ( set_ord_atMost_nat @ X4 )
        = ( set_ord_atMost_nat @ Y ) )
      = ( X4 = Y ) ) ).

% atMost_eq_iff
thf(fact_1108_atMost__iff,axiom,
    ! [I: set_nat,K2: set_nat] :
      ( ( member_set_nat @ I @ ( set_or4236626031148496127et_nat @ K2 ) )
      = ( ord_less_eq_set_nat @ I @ K2 ) ) ).

% atMost_iff
thf(fact_1109_atMost__iff,axiom,
    ! [I: nat,K2: nat] :
      ( ( member_nat @ I @ ( set_ord_atMost_nat @ K2 ) )
      = ( ord_less_eq_nat @ I @ K2 ) ) ).

% atMost_iff
thf(fact_1110_atMost__subset__iff,axiom,
    ! [X4: set_nat,Y: set_nat] :
      ( ( ord_le6893508408891458716et_nat @ ( set_or4236626031148496127et_nat @ X4 ) @ ( set_or4236626031148496127et_nat @ Y ) )
      = ( ord_less_eq_set_nat @ X4 @ Y ) ) ).

% atMost_subset_iff
thf(fact_1111_atMost__subset__iff,axiom,
    ! [X4: nat,Y: nat] :
      ( ( ord_less_eq_set_nat @ ( set_ord_atMost_nat @ X4 ) @ ( set_ord_atMost_nat @ Y ) )
      = ( ord_less_eq_nat @ X4 @ Y ) ) ).

% atMost_subset_iff
thf(fact_1112_card__atMost,axiom,
    ! [U: nat] :
      ( ( finite_card_nat @ ( set_ord_atMost_nat @ U ) )
      = ( suc @ U ) ) ).

% card_atMost
thf(fact_1113_is__singletonI,axiom,
    ! [X4: set_nat] : ( is_singleton_set_nat @ ( insert_set_nat @ X4 @ bot_bot_set_set_nat ) ) ).

% is_singletonI
thf(fact_1114_is__singletonI,axiom,
    ! [X4: nat] : ( is_singleton_nat @ ( insert_nat @ X4 @ bot_bot_set_nat ) ) ).

% is_singletonI
thf(fact_1115_sum_OatMost__Suc,axiom,
    ! [G: nat > nat,N: nat] :
      ( ( groups3542108847815614940at_nat @ G @ ( set_ord_atMost_nat @ ( suc @ N ) ) )
      = ( plus_plus_nat @ ( groups3542108847815614940at_nat @ G @ ( set_ord_atMost_nat @ N ) ) @ ( G @ ( suc @ N ) ) ) ) ).

% sum.atMost_Suc
thf(fact_1116_atMost__0,axiom,
    ( ( set_ord_atMost_nat @ zero_zero_nat )
    = ( insert_nat @ zero_zero_nat @ bot_bot_set_nat ) ) ).

% atMost_0
thf(fact_1117_not__empty__eq__Iic__eq__empty,axiom,
    ! [H: nat] :
      ( bot_bot_set_nat
     != ( set_ord_atMost_nat @ H ) ) ).

% not_empty_eq_Iic_eq_empty
thf(fact_1118_is__singletonI_H,axiom,
    ! [A2: set_set_nat] :
      ( ( A2 != bot_bot_set_set_nat )
     => ( ! [X3: set_nat,Y3: set_nat] :
            ( ( member_set_nat @ X3 @ A2 )
           => ( ( member_set_nat @ Y3 @ A2 )
             => ( X3 = Y3 ) ) )
       => ( is_singleton_set_nat @ A2 ) ) ) ).

% is_singletonI'
thf(fact_1119_is__singletonI_H,axiom,
    ! [A2: set_nat] :
      ( ( A2 != bot_bot_set_nat )
     => ( ! [X3: nat,Y3: nat] :
            ( ( member_nat @ X3 @ A2 )
           => ( ( member_nat @ Y3 @ A2 )
             => ( X3 = Y3 ) ) )
       => ( is_singleton_nat @ A2 ) ) ) ).

% is_singletonI'
thf(fact_1120_atMost__def,axiom,
    ( set_or4236626031148496127et_nat
    = ( ^ [U2: set_nat] :
          ( collect_set_nat
          @ ^ [X: set_nat] : ( ord_less_eq_set_nat @ X @ U2 ) ) ) ) ).

% atMost_def
thf(fact_1121_atMost__def,axiom,
    ( set_ord_atMost_nat
    = ( ^ [U2: nat] :
          ( collect_nat
          @ ^ [X: nat] : ( ord_less_eq_nat @ X @ U2 ) ) ) ) ).

% atMost_def
thf(fact_1122_atMost__Suc,axiom,
    ! [K2: nat] :
      ( ( set_ord_atMost_nat @ ( suc @ K2 ) )
      = ( insert_nat @ ( suc @ K2 ) @ ( set_ord_atMost_nat @ K2 ) ) ) ).

% atMost_Suc
thf(fact_1123_sum__choose__upper,axiom,
    ! [M: nat,N: nat] :
      ( ( groups3542108847815614940at_nat
        @ ^ [K4: nat] : ( binomial @ K4 @ M )
        @ ( set_ord_atMost_nat @ N ) )
      = ( binomial @ ( suc @ N ) @ ( suc @ M ) ) ) ).

% sum_choose_upper
thf(fact_1124_sum_OatMost__Suc__shift,axiom,
    ! [G: nat > nat,N: nat] :
      ( ( groups3542108847815614940at_nat @ G @ ( set_ord_atMost_nat @ ( suc @ N ) ) )
      = ( plus_plus_nat @ ( G @ zero_zero_nat )
        @ ( groups3542108847815614940at_nat
          @ ^ [I3: nat] : ( G @ ( suc @ I3 ) )
          @ ( set_ord_atMost_nat @ N ) ) ) ) ).

% sum.atMost_Suc_shift
thf(fact_1125_sum__choose__lower,axiom,
    ! [R2: nat,N: nat] :
      ( ( groups3542108847815614940at_nat
        @ ^ [K4: nat] : ( binomial @ ( plus_plus_nat @ R2 @ K4 ) @ K4 )
        @ ( set_ord_atMost_nat @ N ) )
      = ( binomial @ ( suc @ ( plus_plus_nat @ R2 @ N ) ) @ N ) ) ).

% sum_choose_lower
thf(fact_1126_choose__rising__sum_I1_J,axiom,
    ! [N: nat,M: nat] :
      ( ( groups3542108847815614940at_nat
        @ ^ [J3: nat] : ( binomial @ ( plus_plus_nat @ N @ J3 ) @ N )
        @ ( set_ord_atMost_nat @ M ) )
      = ( binomial @ ( plus_plus_nat @ ( plus_plus_nat @ N @ M ) @ one_one_nat ) @ ( plus_plus_nat @ N @ one_one_nat ) ) ) ).

% choose_rising_sum(1)
thf(fact_1127_choose__rising__sum_I2_J,axiom,
    ! [N: nat,M: nat] :
      ( ( groups3542108847815614940at_nat
        @ ^ [J3: nat] : ( binomial @ ( plus_plus_nat @ N @ J3 ) @ N )
        @ ( set_ord_atMost_nat @ M ) )
      = ( binomial @ ( plus_plus_nat @ ( plus_plus_nat @ N @ M ) @ one_one_nat ) @ M ) ) ).

% choose_rising_sum(2)
thf(fact_1128_is__singleton__def,axiom,
    ( is_singleton_set_nat
    = ( ^ [A3: set_set_nat] :
        ? [X: set_nat] :
          ( A3
          = ( insert_set_nat @ X @ bot_bot_set_set_nat ) ) ) ) ).

% is_singleton_def
thf(fact_1129_is__singleton__def,axiom,
    ( is_singleton_nat
    = ( ^ [A3: set_nat] :
        ? [X: nat] :
          ( A3
          = ( insert_nat @ X @ bot_bot_set_nat ) ) ) ) ).

% is_singleton_def
thf(fact_1130_is__singletonE,axiom,
    ! [A2: set_set_nat] :
      ( ( is_singleton_set_nat @ A2 )
     => ~ ! [X3: set_nat] :
            ( A2
           != ( insert_set_nat @ X3 @ bot_bot_set_set_nat ) ) ) ).

% is_singletonE
thf(fact_1131_is__singletonE,axiom,
    ! [A2: set_nat] :
      ( ( is_singleton_nat @ A2 )
     => ~ ! [X3: nat] :
            ( A2
           != ( insert_nat @ X3 @ bot_bot_set_nat ) ) ) ).

% is_singletonE
thf(fact_1132_is__singleton__altdef,axiom,
    ( is_singleton_set_nat
    = ( ^ [A3: set_set_nat] :
          ( ( finite_card_set_nat @ A3 )
          = one_one_nat ) ) ) ).

% is_singleton_altdef
thf(fact_1133_is__singleton__altdef,axiom,
    ( is_singleton_nat
    = ( ^ [A3: set_nat] :
          ( ( finite_card_nat @ A3 )
          = one_one_nat ) ) ) ).

% is_singleton_altdef
thf(fact_1134_sum__choose__diagonal,axiom,
    ! [M: nat,N: nat] :
      ( ( ord_less_eq_nat @ M @ N )
     => ( ( groups3542108847815614940at_nat
          @ ^ [K4: nat] : ( binomial @ ( minus_minus_nat @ N @ K4 ) @ ( minus_minus_nat @ M @ K4 ) )
          @ ( set_ord_atMost_nat @ M ) )
        = ( binomial @ ( suc @ N ) @ M ) ) ) ).

% sum_choose_diagonal
thf(fact_1135_prod_Ozero__middle,axiom,
    ! [P5: nat,K2: nat,G: nat > nat,H: nat > nat] :
      ( ( ord_less_eq_nat @ one_one_nat @ P5 )
     => ( ( ord_less_eq_nat @ K2 @ P5 )
       => ( ( groups708209901874060359at_nat
            @ ^ [J3: nat] : ( if_nat @ ( ord_less_nat @ J3 @ K2 ) @ ( G @ J3 ) @ ( if_nat @ ( J3 = K2 ) @ one_one_nat @ ( H @ ( minus_minus_nat @ J3 @ ( suc @ zero_zero_nat ) ) ) ) )
            @ ( set_ord_atMost_nat @ P5 ) )
          = ( groups708209901874060359at_nat
            @ ^ [J3: nat] : ( if_nat @ ( ord_less_nat @ J3 @ K2 ) @ ( G @ J3 ) @ ( H @ J3 ) )
            @ ( set_ord_atMost_nat @ ( minus_minus_nat @ P5 @ ( suc @ zero_zero_nat ) ) ) ) ) ) ) ).

% prod.zero_middle
thf(fact_1136_image__minus__const__atLeastLessThan__nat,axiom,
    ! [C: nat,Y: nat,X4: nat] :
      ( ( ( ord_less_nat @ C @ Y )
       => ( ( image_nat_nat
            @ ^ [I3: nat] : ( minus_minus_nat @ I3 @ C )
            @ ( set_or4665077453230672383an_nat @ X4 @ Y ) )
          = ( set_or4665077453230672383an_nat @ ( minus_minus_nat @ X4 @ C ) @ ( minus_minus_nat @ Y @ C ) ) ) )
      & ( ~ ( ord_less_nat @ C @ Y )
       => ( ( ( ord_less_nat @ X4 @ Y )
           => ( ( image_nat_nat
                @ ^ [I3: nat] : ( minus_minus_nat @ I3 @ C )
                @ ( set_or4665077453230672383an_nat @ X4 @ Y ) )
              = ( insert_nat @ zero_zero_nat @ bot_bot_set_nat ) ) )
          & ( ~ ( ord_less_nat @ X4 @ Y )
           => ( ( image_nat_nat
                @ ^ [I3: nat] : ( minus_minus_nat @ I3 @ C )
                @ ( set_or4665077453230672383an_nat @ X4 @ Y ) )
              = bot_bot_set_nat ) ) ) ) ) ).

% image_minus_const_atLeastLessThan_nat
thf(fact_1137_image__eqI,axiom,
    ! [B: set_nat,F: set_nat > set_nat,X4: set_nat,A2: set_set_nat] :
      ( ( B
        = ( F @ X4 ) )
     => ( ( member_set_nat @ X4 @ A2 )
       => ( member_set_nat @ B @ ( image_7916887816326733075et_nat @ F @ A2 ) ) ) ) ).

% image_eqI
thf(fact_1138_image__eqI,axiom,
    ! [B: nat,F: set_nat > nat,X4: set_nat,A2: set_set_nat] :
      ( ( B
        = ( F @ X4 ) )
     => ( ( member_set_nat @ X4 @ A2 )
       => ( member_nat @ B @ ( image_set_nat_nat @ F @ A2 ) ) ) ) ).

% image_eqI
thf(fact_1139_image__eqI,axiom,
    ! [B: set_nat,F: nat > set_nat,X4: nat,A2: set_nat] :
      ( ( B
        = ( F @ X4 ) )
     => ( ( member_nat @ X4 @ A2 )
       => ( member_set_nat @ B @ ( image_nat_set_nat @ F @ A2 ) ) ) ) ).

% image_eqI
thf(fact_1140_image__eqI,axiom,
    ! [B: nat,F: nat > nat,X4: nat,A2: set_nat] :
      ( ( B
        = ( F @ X4 ) )
     => ( ( member_nat @ X4 @ A2 )
       => ( member_nat @ B @ ( image_nat_nat @ F @ A2 ) ) ) ) ).

% image_eqI
thf(fact_1141_image__ident,axiom,
    ! [Y7: set_nat] :
      ( ( image_nat_nat
        @ ^ [X: nat] : X
        @ Y7 )
      = Y7 ) ).

% image_ident
thf(fact_1142_image__empty,axiom,
    ! [F: nat > nat] :
      ( ( image_nat_nat @ F @ bot_bot_set_nat )
      = bot_bot_set_nat ) ).

% image_empty
thf(fact_1143_empty__is__image,axiom,
    ! [F: nat > nat,A2: set_nat] :
      ( ( bot_bot_set_nat
        = ( image_nat_nat @ F @ A2 ) )
      = ( A2 = bot_bot_set_nat ) ) ).

% empty_is_image
thf(fact_1144_image__is__empty,axiom,
    ! [F: nat > nat,A2: set_nat] :
      ( ( ( image_nat_nat @ F @ A2 )
        = bot_bot_set_nat )
      = ( A2 = bot_bot_set_nat ) ) ).

% image_is_empty
thf(fact_1145_insert__image,axiom,
    ! [X4: set_nat,A2: set_set_nat,F: set_nat > set_nat] :
      ( ( member_set_nat @ X4 @ A2 )
     => ( ( insert_set_nat @ ( F @ X4 ) @ ( image_7916887816326733075et_nat @ F @ A2 ) )
        = ( image_7916887816326733075et_nat @ F @ A2 ) ) ) ).

% insert_image
thf(fact_1146_insert__image,axiom,
    ! [X4: set_nat,A2: set_set_nat,F: set_nat > nat] :
      ( ( member_set_nat @ X4 @ A2 )
     => ( ( insert_nat @ ( F @ X4 ) @ ( image_set_nat_nat @ F @ A2 ) )
        = ( image_set_nat_nat @ F @ A2 ) ) ) ).

% insert_image
thf(fact_1147_insert__image,axiom,
    ! [X4: nat,A2: set_nat,F: nat > set_nat] :
      ( ( member_nat @ X4 @ A2 )
     => ( ( insert_set_nat @ ( F @ X4 ) @ ( image_nat_set_nat @ F @ A2 ) )
        = ( image_nat_set_nat @ F @ A2 ) ) ) ).

% insert_image
thf(fact_1148_insert__image,axiom,
    ! [X4: nat,A2: set_nat,F: nat > nat] :
      ( ( member_nat @ X4 @ A2 )
     => ( ( insert_nat @ ( F @ X4 ) @ ( image_nat_nat @ F @ A2 ) )
        = ( image_nat_nat @ F @ A2 ) ) ) ).

% insert_image
thf(fact_1149_image__insert,axiom,
    ! [F: set_nat > set_nat,A: set_nat,B2: set_set_nat] :
      ( ( image_7916887816326733075et_nat @ F @ ( insert_set_nat @ A @ B2 ) )
      = ( insert_set_nat @ ( F @ A ) @ ( image_7916887816326733075et_nat @ F @ B2 ) ) ) ).

% image_insert
thf(fact_1150_image__insert,axiom,
    ! [F: set_nat > nat,A: set_nat,B2: set_set_nat] :
      ( ( image_set_nat_nat @ F @ ( insert_set_nat @ A @ B2 ) )
      = ( insert_nat @ ( F @ A ) @ ( image_set_nat_nat @ F @ B2 ) ) ) ).

% image_insert
thf(fact_1151_image__insert,axiom,
    ! [F: nat > set_nat,A: nat,B2: set_nat] :
      ( ( image_nat_set_nat @ F @ ( insert_nat @ A @ B2 ) )
      = ( insert_set_nat @ ( F @ A ) @ ( image_nat_set_nat @ F @ B2 ) ) ) ).

% image_insert
thf(fact_1152_image__insert,axiom,
    ! [F: nat > nat,A: nat,B2: set_nat] :
      ( ( image_nat_nat @ F @ ( insert_nat @ A @ B2 ) )
      = ( insert_nat @ ( F @ A ) @ ( image_nat_nat @ F @ B2 ) ) ) ).

% image_insert
thf(fact_1153_image__add__0,axiom,
    ! [S2: set_nat] :
      ( ( image_nat_nat @ ( plus_plus_nat @ zero_zero_nat ) @ S2 )
      = S2 ) ).

% image_add_0
thf(fact_1154_prod_Oempty,axiom,
    ! [G: nat > nat] :
      ( ( groups708209901874060359at_nat @ G @ bot_bot_set_nat )
      = one_one_nat ) ).

% prod.empty
thf(fact_1155_image__add__atLeastLessThan,axiom,
    ! [K2: nat,I: nat,J: nat] :
      ( ( image_nat_nat @ ( plus_plus_nat @ K2 ) @ ( set_or4665077453230672383an_nat @ I @ J ) )
      = ( set_or4665077453230672383an_nat @ ( plus_plus_nat @ I @ K2 ) @ ( plus_plus_nat @ J @ K2 ) ) ) ).

% image_add_atLeastLessThan
thf(fact_1156_image__Suc__atLeastLessThan,axiom,
    ! [I: nat,J: nat] :
      ( ( image_nat_nat @ suc @ ( set_or4665077453230672383an_nat @ I @ J ) )
      = ( set_or4665077453230672383an_nat @ ( suc @ I ) @ ( suc @ J ) ) ) ).

% image_Suc_atLeastLessThan
thf(fact_1157_image__add__atLeastLessThan_H,axiom,
    ! [K2: nat,I: nat,J: nat] :
      ( ( image_nat_nat
        @ ^ [N4: nat] : ( plus_plus_nat @ N4 @ K2 )
        @ ( set_or4665077453230672383an_nat @ I @ J ) )
      = ( set_or4665077453230672383an_nat @ ( plus_plus_nat @ I @ K2 ) @ ( plus_plus_nat @ J @ K2 ) ) ) ).

% image_add_atLeastLessThan'
thf(fact_1158_prod__le__1,axiom,
    ! [A2: set_set_nat,F: set_nat > nat] :
      ( ! [X3: set_nat] :
          ( ( member_set_nat @ X3 @ A2 )
         => ( ( ord_less_eq_nat @ zero_zero_nat @ ( F @ X3 ) )
            & ( ord_less_eq_nat @ ( F @ X3 ) @ one_one_nat ) ) )
     => ( ord_less_eq_nat @ ( groups4248547760180025341at_nat @ F @ A2 ) @ one_one_nat ) ) ).

% prod_le_1
thf(fact_1159_prod__le__1,axiom,
    ! [A2: set_nat,F: nat > nat] :
      ( ! [X3: nat] :
          ( ( member_nat @ X3 @ A2 )
         => ( ( ord_less_eq_nat @ zero_zero_nat @ ( F @ X3 ) )
            & ( ord_less_eq_nat @ ( F @ X3 ) @ one_one_nat ) ) )
     => ( ord_less_eq_nat @ ( groups708209901874060359at_nat @ F @ A2 ) @ one_one_nat ) ) ).

% prod_le_1
thf(fact_1160_prod_Onot__neutral__contains__not__neutral,axiom,
    ! [G: set_nat > nat,A2: set_set_nat] :
      ( ( ( groups4248547760180025341at_nat @ G @ A2 )
       != one_one_nat )
     => ~ ! [A5: set_nat] :
            ( ( member_set_nat @ A5 @ A2 )
           => ( ( G @ A5 )
              = one_one_nat ) ) ) ).

% prod.not_neutral_contains_not_neutral
thf(fact_1161_prod_Onot__neutral__contains__not__neutral,axiom,
    ! [G: nat > nat,A2: set_nat] :
      ( ( ( groups708209901874060359at_nat @ G @ A2 )
       != one_one_nat )
     => ~ ! [A5: nat] :
            ( ( member_nat @ A5 @ A2 )
           => ( ( G @ A5 )
              = one_one_nat ) ) ) ).

% prod.not_neutral_contains_not_neutral
thf(fact_1162_prod__ge__1,axiom,
    ! [A2: set_set_nat,F: set_nat > nat] :
      ( ! [X3: set_nat] :
          ( ( member_set_nat @ X3 @ A2 )
         => ( ord_less_eq_nat @ one_one_nat @ ( F @ X3 ) ) )
     => ( ord_less_eq_nat @ one_one_nat @ ( groups4248547760180025341at_nat @ F @ A2 ) ) ) ).

% prod_ge_1
thf(fact_1163_prod__ge__1,axiom,
    ! [A2: set_nat,F: nat > nat] :
      ( ! [X3: nat] :
          ( ( member_nat @ X3 @ A2 )
         => ( ord_less_eq_nat @ one_one_nat @ ( F @ X3 ) ) )
     => ( ord_less_eq_nat @ one_one_nat @ ( groups708209901874060359at_nat @ F @ A2 ) ) ) ).

% prod_ge_1
thf(fact_1164_prod__mono,axiom,
    ! [A2: set_set_nat,F: set_nat > nat,G: set_nat > nat] :
      ( ! [I2: set_nat] :
          ( ( member_set_nat @ I2 @ A2 )
         => ( ( ord_less_eq_nat @ zero_zero_nat @ ( F @ I2 ) )
            & ( ord_less_eq_nat @ ( F @ I2 ) @ ( G @ I2 ) ) ) )
     => ( ord_less_eq_nat @ ( groups4248547760180025341at_nat @ F @ A2 ) @ ( groups4248547760180025341at_nat @ G @ A2 ) ) ) ).

% prod_mono
thf(fact_1165_prod__mono,axiom,
    ! [A2: set_nat,F: nat > nat,G: nat > nat] :
      ( ! [I2: nat] :
          ( ( member_nat @ I2 @ A2 )
         => ( ( ord_less_eq_nat @ zero_zero_nat @ ( F @ I2 ) )
            & ( ord_less_eq_nat @ ( F @ I2 ) @ ( G @ I2 ) ) ) )
     => ( ord_less_eq_nat @ ( groups708209901874060359at_nat @ F @ A2 ) @ ( groups708209901874060359at_nat @ G @ A2 ) ) ) ).

% prod_mono
thf(fact_1166_image__Pow__mono,axiom,
    ! [F: nat > nat,A2: set_nat,B2: set_nat] :
      ( ( ord_less_eq_set_nat @ ( image_nat_nat @ F @ A2 ) @ B2 )
     => ( ord_le6893508408891458716et_nat @ ( image_7916887816326733075et_nat @ ( image_nat_nat @ F ) @ ( pow_nat @ A2 ) ) @ ( pow_nat @ B2 ) ) ) ).

% image_Pow_mono
thf(fact_1167_image__Collect__subsetI,axiom,
    ! [P: set_nat > $o,F: set_nat > set_nat,B2: set_set_nat] :
      ( ! [X3: set_nat] :
          ( ( P @ X3 )
         => ( member_set_nat @ ( F @ X3 ) @ B2 ) )
     => ( ord_le6893508408891458716et_nat @ ( image_7916887816326733075et_nat @ F @ ( collect_set_nat @ P ) ) @ B2 ) ) ).

% image_Collect_subsetI
thf(fact_1168_image__Collect__subsetI,axiom,
    ! [P: nat > $o,F: nat > set_nat,B2: set_set_nat] :
      ( ! [X3: nat] :
          ( ( P @ X3 )
         => ( member_set_nat @ ( F @ X3 ) @ B2 ) )
     => ( ord_le6893508408891458716et_nat @ ( image_nat_set_nat @ F @ ( collect_nat @ P ) ) @ B2 ) ) ).

% image_Collect_subsetI
thf(fact_1169_image__Collect__subsetI,axiom,
    ! [P: set_nat > $o,F: set_nat > nat,B2: set_nat] :
      ( ! [X3: set_nat] :
          ( ( P @ X3 )
         => ( member_nat @ ( F @ X3 ) @ B2 ) )
     => ( ord_less_eq_set_nat @ ( image_set_nat_nat @ F @ ( collect_set_nat @ P ) ) @ B2 ) ) ).

% image_Collect_subsetI
thf(fact_1170_image__Collect__subsetI,axiom,
    ! [P: nat > $o,F: nat > nat,B2: set_nat] :
      ( ! [X3: nat] :
          ( ( P @ X3 )
         => ( member_nat @ ( F @ X3 ) @ B2 ) )
     => ( ord_less_eq_set_nat @ ( image_nat_nat @ F @ ( collect_nat @ P ) ) @ B2 ) ) ).

% image_Collect_subsetI
thf(fact_1171_image__mono,axiom,
    ! [A2: set_nat,B2: set_nat,F: nat > nat] :
      ( ( ord_less_eq_set_nat @ A2 @ B2 )
     => ( ord_less_eq_set_nat @ ( image_nat_nat @ F @ A2 ) @ ( image_nat_nat @ F @ B2 ) ) ) ).

% image_mono
thf(fact_1172_image__subsetI,axiom,
    ! [A2: set_set_nat,F: set_nat > set_nat,B2: set_set_nat] :
      ( ! [X3: set_nat] :
          ( ( member_set_nat @ X3 @ A2 )
         => ( member_set_nat @ ( F @ X3 ) @ B2 ) )
     => ( ord_le6893508408891458716et_nat @ ( image_7916887816326733075et_nat @ F @ A2 ) @ B2 ) ) ).

% image_subsetI
thf(fact_1173_image__subsetI,axiom,
    ! [A2: set_nat,F: nat > set_nat,B2: set_set_nat] :
      ( ! [X3: nat] :
          ( ( member_nat @ X3 @ A2 )
         => ( member_set_nat @ ( F @ X3 ) @ B2 ) )
     => ( ord_le6893508408891458716et_nat @ ( image_nat_set_nat @ F @ A2 ) @ B2 ) ) ).

% image_subsetI
thf(fact_1174_image__subsetI,axiom,
    ! [A2: set_set_nat,F: set_nat > nat,B2: set_nat] :
      ( ! [X3: set_nat] :
          ( ( member_set_nat @ X3 @ A2 )
         => ( member_nat @ ( F @ X3 ) @ B2 ) )
     => ( ord_less_eq_set_nat @ ( image_set_nat_nat @ F @ A2 ) @ B2 ) ) ).

% image_subsetI
thf(fact_1175_image__subsetI,axiom,
    ! [A2: set_nat,F: nat > nat,B2: set_nat] :
      ( ! [X3: nat] :
          ( ( member_nat @ X3 @ A2 )
         => ( member_nat @ ( F @ X3 ) @ B2 ) )
     => ( ord_less_eq_set_nat @ ( image_nat_nat @ F @ A2 ) @ B2 ) ) ).

% image_subsetI
thf(fact_1176_subset__imageE,axiom,
    ! [B2: set_nat,F: nat > nat,A2: set_nat] :
      ( ( ord_less_eq_set_nat @ B2 @ ( image_nat_nat @ F @ A2 ) )
     => ~ ! [C6: set_nat] :
            ( ( ord_less_eq_set_nat @ C6 @ A2 )
           => ( B2
             != ( image_nat_nat @ F @ C6 ) ) ) ) ).

% subset_imageE
thf(fact_1177_image__subset__iff,axiom,
    ! [F: nat > nat,A2: set_nat,B2: set_nat] :
      ( ( ord_less_eq_set_nat @ ( image_nat_nat @ F @ A2 ) @ B2 )
      = ( ! [X: nat] :
            ( ( member_nat @ X @ A2 )
           => ( member_nat @ ( F @ X ) @ B2 ) ) ) ) ).

% image_subset_iff
thf(fact_1178_subset__image__iff,axiom,
    ! [B2: set_nat,F: nat > nat,A2: set_nat] :
      ( ( ord_less_eq_set_nat @ B2 @ ( image_nat_nat @ F @ A2 ) )
      = ( ? [AA: set_nat] :
            ( ( ord_less_eq_set_nat @ AA @ A2 )
            & ( B2
              = ( image_nat_nat @ F @ AA ) ) ) ) ) ).

% subset_image_iff
thf(fact_1179_all__subset__image,axiom,
    ! [F: nat > nat,A2: set_nat,P: set_nat > $o] :
      ( ( ! [B3: set_nat] :
            ( ( ord_less_eq_set_nat @ B3 @ ( image_nat_nat @ F @ A2 ) )
           => ( P @ B3 ) ) )
      = ( ! [B3: set_nat] :
            ( ( ord_less_eq_set_nat @ B3 @ A2 )
           => ( P @ ( image_nat_nat @ F @ B3 ) ) ) ) ) ).

% all_subset_image
thf(fact_1180_Compr__image__eq,axiom,
    ! [F: set_nat > set_nat,A2: set_set_nat,P: set_nat > $o] :
      ( ( collect_set_nat
        @ ^ [X: set_nat] :
            ( ( member_set_nat @ X @ ( image_7916887816326733075et_nat @ F @ A2 ) )
            & ( P @ X ) ) )
      = ( image_7916887816326733075et_nat @ F
        @ ( collect_set_nat
          @ ^ [X: set_nat] :
              ( ( member_set_nat @ X @ A2 )
              & ( P @ ( F @ X ) ) ) ) ) ) ).

% Compr_image_eq
thf(fact_1181_Compr__image__eq,axiom,
    ! [F: nat > set_nat,A2: set_nat,P: set_nat > $o] :
      ( ( collect_set_nat
        @ ^ [X: set_nat] :
            ( ( member_set_nat @ X @ ( image_nat_set_nat @ F @ A2 ) )
            & ( P @ X ) ) )
      = ( image_nat_set_nat @ F
        @ ( collect_nat
          @ ^ [X: nat] :
              ( ( member_nat @ X @ A2 )
              & ( P @ ( F @ X ) ) ) ) ) ) ).

% Compr_image_eq
thf(fact_1182_Compr__image__eq,axiom,
    ! [F: set_nat > nat,A2: set_set_nat,P: nat > $o] :
      ( ( collect_nat
        @ ^ [X: nat] :
            ( ( member_nat @ X @ ( image_set_nat_nat @ F @ A2 ) )
            & ( P @ X ) ) )
      = ( image_set_nat_nat @ F
        @ ( collect_set_nat
          @ ^ [X: set_nat] :
              ( ( member_set_nat @ X @ A2 )
              & ( P @ ( F @ X ) ) ) ) ) ) ).

% Compr_image_eq
thf(fact_1183_Compr__image__eq,axiom,
    ! [F: nat > nat,A2: set_nat,P: nat > $o] :
      ( ( collect_nat
        @ ^ [X: nat] :
            ( ( member_nat @ X @ ( image_nat_nat @ F @ A2 ) )
            & ( P @ X ) ) )
      = ( image_nat_nat @ F
        @ ( collect_nat
          @ ^ [X: nat] :
              ( ( member_nat @ X @ A2 )
              & ( P @ ( F @ X ) ) ) ) ) ) ).

% Compr_image_eq
thf(fact_1184_rev__image__eqI,axiom,
    ! [X4: set_nat,A2: set_set_nat,B: set_nat,F: set_nat > set_nat] :
      ( ( member_set_nat @ X4 @ A2 )
     => ( ( B
          = ( F @ X4 ) )
       => ( member_set_nat @ B @ ( image_7916887816326733075et_nat @ F @ A2 ) ) ) ) ).

% rev_image_eqI
thf(fact_1185_rev__image__eqI,axiom,
    ! [X4: set_nat,A2: set_set_nat,B: nat,F: set_nat > nat] :
      ( ( member_set_nat @ X4 @ A2 )
     => ( ( B
          = ( F @ X4 ) )
       => ( member_nat @ B @ ( image_set_nat_nat @ F @ A2 ) ) ) ) ).

% rev_image_eqI
thf(fact_1186_rev__image__eqI,axiom,
    ! [X4: nat,A2: set_nat,B: set_nat,F: nat > set_nat] :
      ( ( member_nat @ X4 @ A2 )
     => ( ( B
          = ( F @ X4 ) )
       => ( member_set_nat @ B @ ( image_nat_set_nat @ F @ A2 ) ) ) ) ).

% rev_image_eqI
thf(fact_1187_rev__image__eqI,axiom,
    ! [X4: nat,A2: set_nat,B: nat,F: nat > nat] :
      ( ( member_nat @ X4 @ A2 )
     => ( ( B
          = ( F @ X4 ) )
       => ( member_nat @ B @ ( image_nat_nat @ F @ A2 ) ) ) ) ).

% rev_image_eqI
thf(fact_1188_image__image,axiom,
    ! [F: nat > nat,G: nat > nat,A2: set_nat] :
      ( ( image_nat_nat @ F @ ( image_nat_nat @ G @ A2 ) )
      = ( image_nat_nat
        @ ^ [X: nat] : ( F @ ( G @ X ) )
        @ A2 ) ) ).

% image_image
thf(fact_1189_ball__imageD,axiom,
    ! [F: nat > nat,A2: set_nat,P: nat > $o] :
      ( ! [X3: nat] :
          ( ( member_nat @ X3 @ ( image_nat_nat @ F @ A2 ) )
         => ( P @ X3 ) )
     => ! [X5: nat] :
          ( ( member_nat @ X5 @ A2 )
         => ( P @ ( F @ X5 ) ) ) ) ).

% ball_imageD
thf(fact_1190_image__cong,axiom,
    ! [M6: set_nat,N5: set_nat,F: nat > nat,G: nat > nat] :
      ( ( M6 = N5 )
     => ( ! [X3: nat] :
            ( ( member_nat @ X3 @ N5 )
           => ( ( F @ X3 )
              = ( G @ X3 ) ) )
       => ( ( image_nat_nat @ F @ M6 )
          = ( image_nat_nat @ G @ N5 ) ) ) ) ).

% image_cong
thf(fact_1191_bex__imageD,axiom,
    ! [F: nat > nat,A2: set_nat,P: nat > $o] :
      ( ? [X5: nat] :
          ( ( member_nat @ X5 @ ( image_nat_nat @ F @ A2 ) )
          & ( P @ X5 ) )
     => ? [X3: nat] :
          ( ( member_nat @ X3 @ A2 )
          & ( P @ ( F @ X3 ) ) ) ) ).

% bex_imageD
thf(fact_1192_image__iff,axiom,
    ! [Z3: nat,F: nat > nat,A2: set_nat] :
      ( ( member_nat @ Z3 @ ( image_nat_nat @ F @ A2 ) )
      = ( ? [X: nat] :
            ( ( member_nat @ X @ A2 )
            & ( Z3
              = ( F @ X ) ) ) ) ) ).

% image_iff
thf(fact_1193_imageI,axiom,
    ! [X4: set_nat,A2: set_set_nat,F: set_nat > set_nat] :
      ( ( member_set_nat @ X4 @ A2 )
     => ( member_set_nat @ ( F @ X4 ) @ ( image_7916887816326733075et_nat @ F @ A2 ) ) ) ).

% imageI
thf(fact_1194_imageI,axiom,
    ! [X4: set_nat,A2: set_set_nat,F: set_nat > nat] :
      ( ( member_set_nat @ X4 @ A2 )
     => ( member_nat @ ( F @ X4 ) @ ( image_set_nat_nat @ F @ A2 ) ) ) ).

% imageI
thf(fact_1195_imageI,axiom,
    ! [X4: nat,A2: set_nat,F: nat > set_nat] :
      ( ( member_nat @ X4 @ A2 )
     => ( member_set_nat @ ( F @ X4 ) @ ( image_nat_set_nat @ F @ A2 ) ) ) ).

% imageI
thf(fact_1196_imageI,axiom,
    ! [X4: nat,A2: set_nat,F: nat > nat] :
      ( ( member_nat @ X4 @ A2 )
     => ( member_nat @ ( F @ X4 ) @ ( image_nat_nat @ F @ A2 ) ) ) ).

% imageI
thf(fact_1197_imageE,axiom,
    ! [B: set_nat,F: set_nat > set_nat,A2: set_set_nat] :
      ( ( member_set_nat @ B @ ( image_7916887816326733075et_nat @ F @ A2 ) )
     => ~ ! [X3: set_nat] :
            ( ( B
              = ( F @ X3 ) )
           => ~ ( member_set_nat @ X3 @ A2 ) ) ) ).

% imageE
thf(fact_1198_imageE,axiom,
    ! [B: set_nat,F: nat > set_nat,A2: set_nat] :
      ( ( member_set_nat @ B @ ( image_nat_set_nat @ F @ A2 ) )
     => ~ ! [X3: nat] :
            ( ( B
              = ( F @ X3 ) )
           => ~ ( member_nat @ X3 @ A2 ) ) ) ).

% imageE
thf(fact_1199_imageE,axiom,
    ! [B: nat,F: set_nat > nat,A2: set_set_nat] :
      ( ( member_nat @ B @ ( image_set_nat_nat @ F @ A2 ) )
     => ~ ! [X3: set_nat] :
            ( ( B
              = ( F @ X3 ) )
           => ~ ( member_set_nat @ X3 @ A2 ) ) ) ).

% imageE
thf(fact_1200_imageE,axiom,
    ! [B: nat,F: nat > nat,A2: set_nat] :
      ( ( member_nat @ B @ ( image_nat_nat @ F @ A2 ) )
     => ~ ! [X3: nat] :
            ( ( B
              = ( F @ X3 ) )
           => ~ ( member_nat @ X3 @ A2 ) ) ) ).

% imageE
thf(fact_1201_image__Pow__surj,axiom,
    ! [F: nat > nat,A2: set_nat,B2: set_nat] :
      ( ( ( image_nat_nat @ F @ A2 )
        = B2 )
     => ( ( image_7916887816326733075et_nat @ ( image_nat_nat @ F ) @ ( pow_nat @ A2 ) )
        = ( pow_nat @ B2 ) ) ) ).

% image_Pow_surj
thf(fact_1202_image__diff__subset,axiom,
    ! [F: nat > nat,A2: set_nat,B2: set_nat] : ( ord_less_eq_set_nat @ ( minus_minus_set_nat @ ( image_nat_nat @ F @ A2 ) @ ( image_nat_nat @ F @ B2 ) ) @ ( image_nat_nat @ F @ ( minus_minus_set_nat @ A2 @ B2 ) ) ) ).

% image_diff_subset
thf(fact_1203_zero__notin__Suc__image,axiom,
    ! [A2: set_nat] :
      ~ ( member_nat @ zero_zero_nat @ ( image_nat_nat @ suc @ A2 ) ) ).

% zero_notin_Suc_image
thf(fact_1204_image__constant,axiom,
    ! [X4: set_nat,A2: set_set_nat,C: set_nat] :
      ( ( member_set_nat @ X4 @ A2 )
     => ( ( image_7916887816326733075et_nat
          @ ^ [X: set_nat] : C
          @ A2 )
        = ( insert_set_nat @ C @ bot_bot_set_set_nat ) ) ) ).

% image_constant
thf(fact_1205_image__constant,axiom,
    ! [X4: nat,A2: set_nat,C: set_nat] :
      ( ( member_nat @ X4 @ A2 )
     => ( ( image_nat_set_nat
          @ ^ [X: nat] : C
          @ A2 )
        = ( insert_set_nat @ C @ bot_bot_set_set_nat ) ) ) ).

% image_constant
thf(fact_1206_image__constant,axiom,
    ! [X4: set_nat,A2: set_set_nat,C: nat] :
      ( ( member_set_nat @ X4 @ A2 )
     => ( ( image_set_nat_nat
          @ ^ [X: set_nat] : C
          @ A2 )
        = ( insert_nat @ C @ bot_bot_set_nat ) ) ) ).

% image_constant
thf(fact_1207_image__constant,axiom,
    ! [X4: nat,A2: set_nat,C: nat] :
      ( ( member_nat @ X4 @ A2 )
     => ( ( image_nat_nat
          @ ^ [X: nat] : C
          @ A2 )
        = ( insert_nat @ C @ bot_bot_set_nat ) ) ) ).

% image_constant
thf(fact_1208_image__constant__conv,axiom,
    ! [A2: set_nat,C: set_nat] :
      ( ( ( A2 = bot_bot_set_nat )
       => ( ( image_nat_set_nat
            @ ^ [X: nat] : C
            @ A2 )
          = bot_bot_set_set_nat ) )
      & ( ( A2 != bot_bot_set_nat )
       => ( ( image_nat_set_nat
            @ ^ [X: nat] : C
            @ A2 )
          = ( insert_set_nat @ C @ bot_bot_set_set_nat ) ) ) ) ).

% image_constant_conv
thf(fact_1209_image__constant__conv,axiom,
    ! [A2: set_nat,C: nat] :
      ( ( ( A2 = bot_bot_set_nat )
       => ( ( image_nat_nat
            @ ^ [X: nat] : C
            @ A2 )
          = bot_bot_set_nat ) )
      & ( ( A2 != bot_bot_set_nat )
       => ( ( image_nat_nat
            @ ^ [X: nat] : C
            @ A2 )
          = ( insert_nat @ C @ bot_bot_set_nat ) ) ) ) ).

% image_constant_conv
thf(fact_1210_the__elem__image__unique,axiom,
    ! [A2: set_nat,F: nat > nat,X4: nat] :
      ( ( A2 != bot_bot_set_nat )
     => ( ! [Y3: nat] :
            ( ( member_nat @ Y3 @ A2 )
           => ( ( F @ Y3 )
              = ( F @ X4 ) ) )
       => ( ( the_elem_nat @ ( image_nat_nat @ F @ A2 ) )
          = ( F @ X4 ) ) ) ) ).

% the_elem_image_unique
thf(fact_1211_atLeast0__lessThan__Suc__eq__insert__0,axiom,
    ! [N: nat] :
      ( ( set_or4665077453230672383an_nat @ zero_zero_nat @ ( suc @ N ) )
      = ( insert_nat @ zero_zero_nat @ ( image_nat_nat @ suc @ ( set_or4665077453230672383an_nat @ zero_zero_nat @ N ) ) ) ) ).

% atLeast0_lessThan_Suc_eq_insert_0
thf(fact_1212_atMost__Suc__eq__insert__0,axiom,
    ! [N: nat] :
      ( ( set_ord_atMost_nat @ ( suc @ N ) )
      = ( insert_nat @ zero_zero_nat @ ( image_nat_nat @ suc @ ( set_ord_atMost_nat @ N ) ) ) ) ).

% atMost_Suc_eq_insert_0
thf(fact_1213_Cantors__paradox,axiom,
    ! [A2: set_nat] :
      ~ ? [F3: nat > set_nat] :
          ( ( image_nat_set_nat @ F3 @ A2 )
          = ( pow_nat @ A2 ) ) ).

% Cantors_paradox
thf(fact_1214_in__image__insert__iff,axiom,
    ! [B2: set_set_set_nat,X4: set_nat,A2: set_set_nat] :
      ( ! [C6: set_set_nat] :
          ( ( member_set_set_nat @ C6 @ B2 )
         => ~ ( member_set_nat @ X4 @ C6 ) )
     => ( ( member_set_set_nat @ A2 @ ( image_7884819252390400639et_nat @ ( insert_set_nat @ X4 ) @ B2 ) )
        = ( ( member_set_nat @ X4 @ A2 )
          & ( member_set_set_nat @ ( minus_2163939370556025621et_nat @ A2 @ ( insert_set_nat @ X4 @ bot_bot_set_set_nat ) ) @ B2 ) ) ) ) ).

% in_image_insert_iff
thf(fact_1215_in__image__insert__iff,axiom,
    ! [B2: set_set_nat,X4: nat,A2: set_nat] :
      ( ! [C6: set_nat] :
          ( ( member_set_nat @ C6 @ B2 )
         => ~ ( member_nat @ X4 @ C6 ) )
     => ( ( member_set_nat @ A2 @ ( image_7916887816326733075et_nat @ ( insert_nat @ X4 ) @ B2 ) )
        = ( ( member_nat @ X4 @ A2 )
          & ( member_set_nat @ ( minus_minus_set_nat @ A2 @ ( insert_nat @ X4 @ bot_bot_set_nat ) ) @ B2 ) ) ) ) ).

% in_image_insert_iff
thf(fact_1216_image__Fpow__mono,axiom,
    ! [F: nat > nat,A2: set_nat,B2: set_nat] :
      ( ( ord_less_eq_set_nat @ ( image_nat_nat @ F @ A2 ) @ B2 )
     => ( ord_le6893508408891458716et_nat @ ( image_7916887816326733075et_nat @ ( image_nat_nat @ F ) @ ( finite_Fpow_nat @ A2 ) ) @ ( finite_Fpow_nat @ B2 ) ) ) ).

% image_Fpow_mono
thf(fact_1217_prod_Oop__ivl__Suc,axiom,
    ! [N: nat,M: nat,G: nat > nat] :
      ( ( ( ord_less_nat @ N @ M )
       => ( ( groups708209901874060359at_nat @ G @ ( set_or4665077453230672383an_nat @ M @ ( suc @ N ) ) )
          = one_one_nat ) )
      & ( ~ ( ord_less_nat @ N @ M )
       => ( ( groups708209901874060359at_nat @ G @ ( set_or4665077453230672383an_nat @ M @ ( suc @ N ) ) )
          = ( times_times_nat @ ( groups708209901874060359at_nat @ G @ ( set_or4665077453230672383an_nat @ M @ N ) ) @ ( G @ N ) ) ) ) ) ).

% prod.op_ivl_Suc
thf(fact_1218_mult__is__0,axiom,
    ! [M: nat,N: nat] :
      ( ( ( times_times_nat @ M @ N )
        = zero_zero_nat )
      = ( ( M = zero_zero_nat )
        | ( N = zero_zero_nat ) ) ) ).

% mult_is_0
thf(fact_1219_mult__0__right,axiom,
    ! [M: nat] :
      ( ( times_times_nat @ M @ zero_zero_nat )
      = zero_zero_nat ) ).

% mult_0_right
thf(fact_1220_mult__cancel1,axiom,
    ! [K2: nat,M: nat,N: nat] :
      ( ( ( times_times_nat @ K2 @ M )
        = ( times_times_nat @ K2 @ N ) )
      = ( ( M = N )
        | ( K2 = zero_zero_nat ) ) ) ).

% mult_cancel1
thf(fact_1221_mult__cancel2,axiom,
    ! [M: nat,K2: nat,N: nat] :
      ( ( ( times_times_nat @ M @ K2 )
        = ( times_times_nat @ N @ K2 ) )
      = ( ( M = N )
        | ( K2 = zero_zero_nat ) ) ) ).

% mult_cancel2
thf(fact_1222_nat__1__eq__mult__iff,axiom,
    ! [M: nat,N: nat] :
      ( ( one_one_nat
        = ( times_times_nat @ M @ N ) )
      = ( ( M = one_one_nat )
        & ( N = one_one_nat ) ) ) ).

% nat_1_eq_mult_iff
thf(fact_1223_nat__mult__eq__1__iff,axiom,
    ! [M: nat,N: nat] :
      ( ( ( times_times_nat @ M @ N )
        = one_one_nat )
      = ( ( M = one_one_nat )
        & ( N = one_one_nat ) ) ) ).

% nat_mult_eq_1_iff
thf(fact_1224_mult__zero__left,axiom,
    ! [A: nat] :
      ( ( times_times_nat @ zero_zero_nat @ A )
      = zero_zero_nat ) ).

% mult_zero_left
thf(fact_1225_mult__zero__right,axiom,
    ! [A: nat] :
      ( ( times_times_nat @ A @ zero_zero_nat )
      = zero_zero_nat ) ).

% mult_zero_right
thf(fact_1226_mult__eq__0__iff,axiom,
    ! [A: nat,B: nat] :
      ( ( ( times_times_nat @ A @ B )
        = zero_zero_nat )
      = ( ( A = zero_zero_nat )
        | ( B = zero_zero_nat ) ) ) ).

% mult_eq_0_iff
thf(fact_1227_mult__cancel__left,axiom,
    ! [C: nat,A: nat,B: nat] :
      ( ( ( times_times_nat @ C @ A )
        = ( times_times_nat @ C @ B ) )
      = ( ( C = zero_zero_nat )
        | ( A = B ) ) ) ).

% mult_cancel_left
thf(fact_1228_mult__cancel__right,axiom,
    ! [A: nat,C: nat,B: nat] :
      ( ( ( times_times_nat @ A @ C )
        = ( times_times_nat @ B @ C ) )
      = ( ( C = zero_zero_nat )
        | ( A = B ) ) ) ).

% mult_cancel_right
thf(fact_1229_mult_Oright__neutral,axiom,
    ! [A: nat] :
      ( ( times_times_nat @ A @ one_one_nat )
      = A ) ).

% mult.right_neutral
thf(fact_1230_mult__1,axiom,
    ! [A: nat] :
      ( ( times_times_nat @ one_one_nat @ A )
      = A ) ).

% mult_1
thf(fact_1231_mult__eq__1__iff,axiom,
    ! [M: nat,N: nat] :
      ( ( ( times_times_nat @ M @ N )
        = ( suc @ zero_zero_nat ) )
      = ( ( M
          = ( suc @ zero_zero_nat ) )
        & ( N
          = ( suc @ zero_zero_nat ) ) ) ) ).

% mult_eq_1_iff
thf(fact_1232_one__eq__mult__iff,axiom,
    ! [M: nat,N: nat] :
      ( ( ( suc @ zero_zero_nat )
        = ( times_times_nat @ M @ N ) )
      = ( ( M
          = ( suc @ zero_zero_nat ) )
        & ( N
          = ( suc @ zero_zero_nat ) ) ) ) ).

% one_eq_mult_iff
thf(fact_1233_nat__0__less__mult__iff,axiom,
    ! [M: nat,N: nat] :
      ( ( ord_less_nat @ zero_zero_nat @ ( times_times_nat @ M @ N ) )
      = ( ( ord_less_nat @ zero_zero_nat @ M )
        & ( ord_less_nat @ zero_zero_nat @ N ) ) ) ).

% nat_0_less_mult_iff
thf(fact_1234_mult__less__cancel2,axiom,
    ! [M: nat,K2: nat,N: nat] :
      ( ( ord_less_nat @ ( times_times_nat @ M @ K2 ) @ ( times_times_nat @ N @ K2 ) )
      = ( ( ord_less_nat @ zero_zero_nat @ K2 )
        & ( ord_less_nat @ M @ N ) ) ) ).

% mult_less_cancel2
thf(fact_1235_mult__Suc__right,axiom,
    ! [M: nat,N: nat] :
      ( ( times_times_nat @ M @ ( suc @ N ) )
      = ( plus_plus_nat @ M @ ( times_times_nat @ M @ N ) ) ) ).

% mult_Suc_right
thf(fact_1236_one__le__mult__iff,axiom,
    ! [M: nat,N: nat] :
      ( ( ord_less_eq_nat @ ( suc @ zero_zero_nat ) @ ( times_times_nat @ M @ N ) )
      = ( ( ord_less_eq_nat @ ( suc @ zero_zero_nat ) @ M )
        & ( ord_less_eq_nat @ ( suc @ zero_zero_nat ) @ N ) ) ) ).

% one_le_mult_iff
thf(fact_1237_mult__le__cancel2,axiom,
    ! [M: nat,K2: nat,N: nat] :
      ( ( ord_less_eq_nat @ ( times_times_nat @ M @ K2 ) @ ( times_times_nat @ N @ K2 ) )
      = ( ( ord_less_nat @ zero_zero_nat @ K2 )
       => ( ord_less_eq_nat @ M @ N ) ) ) ).

% mult_le_cancel2
thf(fact_1238_prod_OatMost__Suc,axiom,
    ! [G: nat > nat,N: nat] :
      ( ( groups708209901874060359at_nat @ G @ ( set_ord_atMost_nat @ ( suc @ N ) ) )
      = ( times_times_nat @ ( groups708209901874060359at_nat @ G @ ( set_ord_atMost_nat @ N ) ) @ ( G @ ( suc @ N ) ) ) ) ).

% prod.atMost_Suc
thf(fact_1239_mult__less__le__imp__less,axiom,
    ! [A: nat,B: nat,C: nat,D: nat] :
      ( ( ord_less_nat @ A @ B )
     => ( ( ord_less_eq_nat @ C @ D )
       => ( ( ord_less_eq_nat @ zero_zero_nat @ A )
         => ( ( ord_less_nat @ zero_zero_nat @ C )
           => ( ord_less_nat @ ( times_times_nat @ A @ C ) @ ( times_times_nat @ B @ D ) ) ) ) ) ) ).

% mult_less_le_imp_less
thf(fact_1240_mult__le__less__imp__less,axiom,
    ! [A: nat,B: nat,C: nat,D: nat] :
      ( ( ord_less_eq_nat @ A @ B )
     => ( ( ord_less_nat @ C @ D )
       => ( ( ord_less_nat @ zero_zero_nat @ A )
         => ( ( ord_less_eq_nat @ zero_zero_nat @ C )
           => ( ord_less_nat @ ( times_times_nat @ A @ C ) @ ( times_times_nat @ B @ D ) ) ) ) ) ) ).

% mult_le_less_imp_less
thf(fact_1241_mult__right__le__imp__le,axiom,
    ! [A: nat,C: nat,B: nat] :
      ( ( ord_less_eq_nat @ ( times_times_nat @ A @ C ) @ ( times_times_nat @ B @ C ) )
     => ( ( ord_less_nat @ zero_zero_nat @ C )
       => ( ord_less_eq_nat @ A @ B ) ) ) ).

% mult_right_le_imp_le
thf(fact_1242_mult__left__le__imp__le,axiom,
    ! [C: nat,A: nat,B: nat] :
      ( ( ord_less_eq_nat @ ( times_times_nat @ C @ A ) @ ( times_times_nat @ C @ B ) )
     => ( ( ord_less_nat @ zero_zero_nat @ C )
       => ( ord_less_eq_nat @ A @ B ) ) ) ).

% mult_left_le_imp_le
thf(fact_1243_mult__strict__mono_H,axiom,
    ! [A: nat,B: nat,C: nat,D: nat] :
      ( ( ord_less_nat @ A @ B )
     => ( ( ord_less_nat @ C @ D )
       => ( ( ord_less_eq_nat @ zero_zero_nat @ A )
         => ( ( ord_less_eq_nat @ zero_zero_nat @ C )
           => ( ord_less_nat @ ( times_times_nat @ A @ C ) @ ( times_times_nat @ B @ D ) ) ) ) ) ) ).

% mult_strict_mono'
thf(fact_1244_mult__right__less__imp__less,axiom,
    ! [A: nat,C: nat,B: nat] :
      ( ( ord_less_nat @ ( times_times_nat @ A @ C ) @ ( times_times_nat @ B @ C ) )
     => ( ( ord_less_eq_nat @ zero_zero_nat @ C )
       => ( ord_less_nat @ A @ B ) ) ) ).

% mult_right_less_imp_less
thf(fact_1245_mult__strict__mono,axiom,
    ! [A: nat,B: nat,C: nat,D: nat] :
      ( ( ord_less_nat @ A @ B )
     => ( ( ord_less_nat @ C @ D )
       => ( ( ord_less_nat @ zero_zero_nat @ B )
         => ( ( ord_less_eq_nat @ zero_zero_nat @ C )
           => ( ord_less_nat @ ( times_times_nat @ A @ C ) @ ( times_times_nat @ B @ D ) ) ) ) ) ) ).

% mult_strict_mono
thf(fact_1246_mult__left__less__imp__less,axiom,
    ! [C: nat,A: nat,B: nat] :
      ( ( ord_less_nat @ ( times_times_nat @ C @ A ) @ ( times_times_nat @ C @ B ) )
     => ( ( ord_less_eq_nat @ zero_zero_nat @ C )
       => ( ord_less_nat @ A @ B ) ) ) ).

% mult_left_less_imp_less
thf(fact_1247_mult__le__one,axiom,
    ! [A: nat,B: nat] :
      ( ( ord_less_eq_nat @ A @ one_one_nat )
     => ( ( ord_less_eq_nat @ zero_zero_nat @ B )
       => ( ( ord_less_eq_nat @ B @ one_one_nat )
         => ( ord_less_eq_nat @ ( times_times_nat @ A @ B ) @ one_one_nat ) ) ) ) ).

% mult_le_one
thf(fact_1248_mult__left__le,axiom,
    ! [C: nat,A: nat] :
      ( ( ord_less_eq_nat @ C @ one_one_nat )
     => ( ( ord_less_eq_nat @ zero_zero_nat @ A )
       => ( ord_less_eq_nat @ ( times_times_nat @ A @ C ) @ A ) ) ) ).

% mult_left_le
thf(fact_1249_add__scale__eq__noteq,axiom,
    ! [R2: nat,A: nat,B: nat,C: nat,D: nat] :
      ( ( R2 != zero_zero_nat )
     => ( ( ( A = B )
          & ( C != D ) )
       => ( ( plus_plus_nat @ A @ ( times_times_nat @ R2 @ C ) )
         != ( plus_plus_nat @ B @ ( times_times_nat @ R2 @ D ) ) ) ) ) ).

% add_scale_eq_noteq
thf(fact_1250_choose__mult__lemma,axiom,
    ! [M: nat,R2: nat,K2: nat] :
      ( ( times_times_nat @ ( binomial @ ( plus_plus_nat @ ( plus_plus_nat @ M @ R2 ) @ K2 ) @ ( plus_plus_nat @ M @ K2 ) ) @ ( binomial @ ( plus_plus_nat @ M @ K2 ) @ K2 ) )
      = ( times_times_nat @ ( binomial @ ( plus_plus_nat @ ( plus_plus_nat @ M @ R2 ) @ K2 ) @ K2 ) @ ( binomial @ ( plus_plus_nat @ M @ R2 ) @ M ) ) ) ).

% choose_mult_lemma
thf(fact_1251_lambda__zero,axiom,
    ( ( ^ [H3: nat] : zero_zero_nat )
    = ( times_times_nat @ zero_zero_nat ) ) ).

% lambda_zero
thf(fact_1252_lambda__one,axiom,
    ( ( ^ [X: nat] : X )
    = ( times_times_nat @ one_one_nat ) ) ).

% lambda_one
thf(fact_1253_mult__not__zero,axiom,
    ! [A: nat,B: nat] :
      ( ( ( times_times_nat @ A @ B )
       != zero_zero_nat )
     => ( ( A != zero_zero_nat )
        & ( B != zero_zero_nat ) ) ) ).

% mult_not_zero
thf(fact_1254_divisors__zero,axiom,
    ! [A: nat,B: nat] :
      ( ( ( times_times_nat @ A @ B )
        = zero_zero_nat )
     => ( ( A = zero_zero_nat )
        | ( B = zero_zero_nat ) ) ) ).

% divisors_zero
thf(fact_1255_no__zero__divisors,axiom,
    ! [A: nat,B: nat] :
      ( ( A != zero_zero_nat )
     => ( ( B != zero_zero_nat )
       => ( ( times_times_nat @ A @ B )
         != zero_zero_nat ) ) ) ).

% no_zero_divisors
thf(fact_1256_mult__left__cancel,axiom,
    ! [C: nat,A: nat,B: nat] :
      ( ( C != zero_zero_nat )
     => ( ( ( times_times_nat @ C @ A )
          = ( times_times_nat @ C @ B ) )
        = ( A = B ) ) ) ).

% mult_left_cancel
thf(fact_1257_mult__right__cancel,axiom,
    ! [C: nat,A: nat,B: nat] :
      ( ( C != zero_zero_nat )
     => ( ( ( times_times_nat @ A @ C )
          = ( times_times_nat @ B @ C ) )
        = ( A = B ) ) ) ).

% mult_right_cancel
thf(fact_1258_comm__monoid__mult__class_Omult__1,axiom,
    ! [A: nat] :
      ( ( times_times_nat @ one_one_nat @ A )
      = A ) ).

% comm_monoid_mult_class.mult_1
thf(fact_1259_mult_Ocomm__neutral,axiom,
    ! [A: nat] :
      ( ( times_times_nat @ A @ one_one_nat )
      = A ) ).

% mult.comm_neutral
thf(fact_1260_left__diff__distrib_H,axiom,
    ! [B: nat,C: nat,A: nat] :
      ( ( times_times_nat @ ( minus_minus_nat @ B @ C ) @ A )
      = ( minus_minus_nat @ ( times_times_nat @ B @ A ) @ ( times_times_nat @ C @ A ) ) ) ).

% left_diff_distrib'
thf(fact_1261_right__diff__distrib_H,axiom,
    ! [A: nat,B: nat,C: nat] :
      ( ( times_times_nat @ A @ ( minus_minus_nat @ B @ C ) )
      = ( minus_minus_nat @ ( times_times_nat @ A @ B ) @ ( times_times_nat @ A @ C ) ) ) ).

% right_diff_distrib'
thf(fact_1262_Suc__mult__cancel1,axiom,
    ! [K2: nat,M: nat,N: nat] :
      ( ( ( times_times_nat @ ( suc @ K2 ) @ M )
        = ( times_times_nat @ ( suc @ K2 ) @ N ) )
      = ( M = N ) ) ).

% Suc_mult_cancel1
thf(fact_1263_mult__0,axiom,
    ! [N: nat] :
      ( ( times_times_nat @ zero_zero_nat @ N )
      = zero_zero_nat ) ).

% mult_0
thf(fact_1264_le__cube,axiom,
    ! [M: nat] : ( ord_less_eq_nat @ M @ ( times_times_nat @ M @ ( times_times_nat @ M @ M ) ) ) ).

% le_cube

% Helper facts (5)
thf(help_If_2_1_If_001t__Nat__Onat_T,axiom,
    ! [X4: nat,Y: nat] :
      ( ( if_nat @ $false @ X4 @ Y )
      = Y ) ).

thf(help_If_1_1_If_001t__Nat__Onat_T,axiom,
    ! [X4: nat,Y: nat] :
      ( ( if_nat @ $true @ X4 @ Y )
      = X4 ) ).

thf(help_If_3_1_If_001t__Set__Oset_It__Nat__Onat_J_T,axiom,
    ! [P: $o] :
      ( ( P = $true )
      | ( P = $false ) ) ).

thf(help_If_2_1_If_001t__Set__Oset_It__Nat__Onat_J_T,axiom,
    ! [X4: set_nat,Y: set_nat] :
      ( ( if_set_nat @ $false @ X4 @ Y )
      = Y ) ).

thf(help_If_1_1_If_001t__Set__Oset_It__Nat__Onat_J_T,axiom,
    ! [X4: set_nat,Y: set_nat] :
      ( ( if_set_nat @ $true @ X4 @ Y )
      = X4 ) ).

% Conjectures (1)
thf(conj_0,conjecture,
    ( ( suc
      @ ( finite_card_set_nat
        @ ( collect_set_nat
          @ ^ [K: set_nat] :
              ( ( member_set_nat @ K @ ( pow_nat @ ( set_or4665077453230672383an_nat @ zero_zero_nat @ m2 ) ) )
              & ( ( finite_card_nat @ K )
                = l ) ) ) ) )
    = ( finite_card_set_nat
      @ ( insert_set_nat @ ( insert_nat @ ( minus_minus_nat @ m @ one_one_nat ) @ ( set_or4665077453230672383an_nat @ zero_zero_nat @ ( minus_minus_nat @ l @ one_one_nat ) ) )
        @ ( collect_set_nat
          @ ^ [K: set_nat] :
              ( ( member_set_nat @ K @ ( pow_nat @ ( set_or4665077453230672383an_nat @ zero_zero_nat @ m2 ) ) )
              & ( ( finite_card_nat @ K )
                = l ) ) ) ) ) ) ).

%------------------------------------------------------------------------------