TPTP Problem File: SLH0560^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    : Khovanskii_Theorem/0004_FiniteProduct/prob_00318_010341__13375032_1 [Des23]

% Status   : Theorem
% Rating   : ? v8.2.0
% Syntax   : Number of formulae    : 1529 ( 359 unt; 243 typ;   0 def)
%            Number of atoms       : 4603 (1224 equ;   0 cnn)
%            Maximal formula atoms :   13 (   3 avg)
%            Number of connectives : 16099 ( 373   ~;  30   |; 305   &;12822   @)
%                                         (   0 <=>;2569  =>;   0  <=;   0 <~>)
%            Maximal formula depth :   19 (   8 avg)
%            Number of types       :   21 (  20 usr)
%            Number of type conns  : 1979 (1979   >;   0   *;   0   +;   0  <<)
%            Number of symbols     :  226 ( 223 usr;  14 con; 0-5 aty)
%            Number of variables   : 4584 ( 552   ^;3936   !;  96   ?;4584   :)
% SPC      : TH0_THM_EQU_NAR

% Comments : This file was generated by Isabelle (most likely Sledgehammer)
%            2023-01-18 16:13:39.446
%------------------------------------------------------------------------------
% Could-be-implicit typings (20)
thf(ty_n_t__Set__Oset_I_062_I_062_It__Nat__Onat_Mt__Nat__Onat_J_Mtf__a_J_J,type,
    set_nat_nat_a: $tType ).

thf(ty_n_t__Set__Oset_I_062_It__Set__Oset_It__Nat__Onat_J_Mtf__a_J_J,type,
    set_set_nat_a: $tType ).

thf(ty_n_t__Set__Oset_I_062_I_062_Itf__a_Mt__Nat__Onat_J_Mtf__a_J_J,type,
    set_a_nat_a: $tType ).

thf(ty_n_t__Set__Oset_I_062_I_062_It__Nat__Onat_Mtf__a_J_Mtf__a_J_J,type,
    set_nat_a_a: $tType ).

thf(ty_n_t__Set__Oset_It__Set__Oset_I_062_Itf__a_Mtf__a_J_J_J,type,
    set_set_a_a: $tType ).

thf(ty_n_t__Set__Oset_I_062_It__Set__Oset_Itf__a_J_Mtf__a_J_J,type,
    set_set_a_a2: $tType ).

thf(ty_n_t__Set__Oset_I_062_I_062_Itf__a_Mtf__a_J_Mtf__a_J_J,type,
    set_a_a_a: $tType ).

thf(ty_n_t__Set__Oset_I_062_It__Nat__Onat_Mt__Nat__Onat_J_J,type,
    set_nat_nat: $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_Itf__a_Mt__Nat__Onat_J_J,type,
    set_a_nat: $tType ).

thf(ty_n_t__Set__Oset_I_062_It__Nat__Onat_Mtf__a_J_J,type,
    set_nat_a: $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__Set__Oset_Itf__a_J_J,type,
    set_set_a: $tType ).

thf(ty_n_t__Set__Oset_I_062_Itf__a_Mtf__a_J_J,type,
    set_a_a: $tType ).

thf(ty_n_t__Set__Oset_I_062_Itf__a_M_Eo_J_J,type,
    set_a_o: $tType ).

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

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

thf(ty_n_t__Set__Oset_I_Eo_J,type,
    set_o: $tType ).

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

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

% Explicit typings (223)
thf(sy_c_Complete__Lattices_OSup__class_OSup_001_062_It__Nat__Onat_M_Eo_J,type,
    comple8317665133742190828_nat_o: set_nat_o > nat > $o ).

thf(sy_c_Complete__Lattices_OSup__class_OSup_001_062_Itf__a_M_Eo_J,type,
    complete_Sup_Sup_a_o: set_a_o > a > $o ).

thf(sy_c_Complete__Lattices_OSup__class_OSup_001_Eo,type,
    complete_Sup_Sup_o: set_o > $o ).

thf(sy_c_Complete__Lattices_OSup__class_OSup_001t__Nat__Onat,type,
    complete_Sup_Sup_nat: set_nat > nat ).

thf(sy_c_Complete__Lattices_OSup__class_OSup_001t__Set__Oset_I_062_Itf__a_Mtf__a_J_J,type,
    comple6518619711525350638et_a_a: set_set_a_a > set_a_a ).

thf(sy_c_Complete__Lattices_OSup__class_OSup_001t__Set__Oset_It__Nat__Onat_J,type,
    comple7399068483239264473et_nat: set_set_nat > set_nat ).

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

thf(sy_c_FiniteProduct_Ocommutative__monoid_OM__ify_001_062_It__Nat__Onat_Mt__Nat__Onat_J,type,
    commut2887331883675347043at_nat: set_nat_nat > ( nat > nat ) > ( nat > nat ) > nat > nat ).

thf(sy_c_FiniteProduct_Ocommutative__monoid_OM__ify_001_062_It__Nat__Onat_Mtf__a_J,type,
    commut2316704705022288065_nat_a: set_nat_a > ( nat > a ) > ( nat > a ) > nat > a ).

thf(sy_c_FiniteProduct_Ocommutative__monoid_OM__ify_001_062_Itf__a_Mt__Nat__Onat_J,type,
    commut8301913278153386907_a_nat: set_a_nat > ( a > nat ) > ( a > nat ) > a > nat ).

thf(sy_c_FiniteProduct_Ocommutative__monoid_OM__ify_001_062_Itf__a_Mtf__a_J,type,
    commut6112553959220001673fy_a_a: set_a_a > ( a > a ) > ( a > a ) > a > a ).

thf(sy_c_FiniteProduct_Ocommutative__monoid_OM__ify_001t__Nat__Onat,type,
    commut810702690453168372fy_nat: set_nat > nat > nat > nat ).

thf(sy_c_FiniteProduct_Ocommutative__monoid_OM__ify_001t__Set__Oset_Itf__a_J,type,
    commut6650749092844687418_set_a: set_set_a > set_a > set_a > set_a ).

thf(sy_c_FiniteProduct_Ocommutative__monoid_OM__ify_001tf__a,type,
    commutative_M_ify_a: set_a > a > a > a ).

thf(sy_c_FiniteProduct_Ocommutative__monoid_Ofincomp_001t__Nat__Onat_001t__Nat__Onat,type,
    commut1028764413824576968at_nat: set_nat > ( nat > nat > nat ) > nat > ( nat > nat ) > set_nat > nat ).

thf(sy_c_FiniteProduct_Ocommutative__monoid_Ofincomp_001t__Nat__Onat_001tf__a,type,
    commut1549887680474846982_nat_a: set_nat > ( nat > nat > nat ) > nat > ( a > nat ) > set_a > nat ).

thf(sy_c_FiniteProduct_Ocommutative__monoid_Ofincomp_001tf__a_001_062_It__Nat__Onat_Mt__Nat__Onat_J,type,
    commut7932270843475808023at_nat: set_a > ( a > a > a ) > a > ( ( nat > nat ) > a ) > set_nat_nat > a ).

thf(sy_c_FiniteProduct_Ocommutative__monoid_Ofincomp_001tf__a_001_062_It__Nat__Onat_Mtf__a_J,type,
    commut5242989786243415821_nat_a: set_a > ( a > a > a ) > a > ( ( nat > a ) > a ) > set_nat_a > a ).

thf(sy_c_FiniteProduct_Ocommutative__monoid_Ofincomp_001tf__a_001_062_Itf__a_Mt__Nat__Onat_J,type,
    commut2004826322519738855_a_nat: set_a > ( a > a > a ) > a > ( ( a > nat ) > a ) > set_a_nat > a ).

thf(sy_c_FiniteProduct_Ocommutative__monoid_Ofincomp_001tf__a_001_062_Itf__a_Mtf__a_J,type,
    commut6344323929752164413_a_a_a: set_a > ( a > a > a ) > a > ( ( a > a ) > a ) > set_a_a > a ).

thf(sy_c_FiniteProduct_Ocommutative__monoid_Ofincomp_001tf__a_001t__Nat__Onat,type,
    commut6741328216151336360_a_nat: set_a > ( a > a > a ) > a > ( nat > a ) > set_nat > a ).

thf(sy_c_FiniteProduct_Ocommutative__monoid_Ofincomp_001tf__a_001t__Set__Oset_It__Nat__Onat_J,type,
    commut7753019222993662302et_nat: set_a > ( a > a > a ) > a > ( set_nat > a ) > set_set_nat > a ).

thf(sy_c_FiniteProduct_Ocommutative__monoid_Ofincomp_001tf__a_001t__Set__Oset_Itf__a_J,type,
    commut1188557258662961286_set_a: set_a > ( a > a > a ) > a > ( set_a > a ) > set_set_a > a ).

thf(sy_c_FiniteProduct_Ocommutative__monoid_Ofincomp_001tf__a_001tf__a,type,
    commut5005951359559292710mp_a_a: set_a > ( a > a > a ) > a > ( a > a ) > set_a > a ).

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

thf(sy_c_Finite__Set_OFpow_001tf__a,type,
    finite_Fpow_a: set_a > set_set_a ).

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

thf(sy_c_Finite__Set_Ocard_001tf__a,type,
    finite_card_a: set_a > nat ).

thf(sy_c_Finite__Set_Ofinite_001_062_It__Nat__Onat_Mt__Nat__Onat_J,type,
    finite2115694454571419734at_nat: set_nat_nat > $o ).

thf(sy_c_Finite__Set_Ofinite_001_062_It__Nat__Onat_Mtf__a_J,type,
    finite_finite_nat_a: set_nat_a > $o ).

thf(sy_c_Finite__Set_Ofinite_001_062_Itf__a_Mt__Nat__Onat_J,type,
    finite_finite_a_nat: set_a_nat > $o ).

thf(sy_c_Finite__Set_Ofinite_001_062_Itf__a_Mtf__a_J,type,
    finite_finite_a_a: set_a_a > $o ).

thf(sy_c_Finite__Set_Ofinite_001t__Nat__Onat,type,
    finite_finite_nat: set_nat > $o ).

thf(sy_c_Finite__Set_Ofinite_001t__Set__Oset_It__Nat__Onat_J,type,
    finite1152437895449049373et_nat: set_set_nat > $o ).

thf(sy_c_Finite__Set_Ofinite_001t__Set__Oset_Itf__a_J,type,
    finite_finite_set_a: set_set_a > $o ).

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

thf(sy_c_Finite__Set_Ofold_001t__Nat__Onat_001t__Nat__Onat,type,
    finite_fold_nat_nat: ( nat > nat > nat ) > nat > set_nat > nat ).

thf(sy_c_Finite__Set_Ofold_001t__Nat__Onat_001t__Set__Oset_It__Nat__Onat_J,type,
    finite5529483035118572448et_nat: ( nat > set_nat > set_nat ) > set_nat > set_nat > set_nat ).

thf(sy_c_Finite__Set_Ofold_001t__Nat__Onat_001t__Set__Oset_It__Set__Oset_It__Nat__Onat_J_J,type,
    finite4178521680790401110et_nat: ( nat > set_set_nat > set_set_nat ) > set_set_nat > set_nat > set_set_nat ).

thf(sy_c_Finite__Set_Ofold_001t__Nat__Onat_001tf__a,type,
    finite_fold_nat_a: ( nat > a > a ) > a > set_nat > a ).

thf(sy_c_Finite__Set_Ofold_001tf__a_001t__Nat__Onat,type,
    finite_fold_a_nat: ( a > nat > nat ) > nat > set_a > nat ).

thf(sy_c_Finite__Set_Ofold_001tf__a_001t__Set__Oset_It__Set__Oset_Itf__a_J_J,type,
    finite9006272623207878408_set_a: ( a > set_set_a > set_set_a ) > set_set_a > set_a > set_set_a ).

thf(sy_c_Finite__Set_Ofold_001tf__a_001t__Set__Oset_Itf__a_J,type,
    finite_fold_a_set_a: ( a > set_a > set_a ) > set_a > set_a > set_a ).

thf(sy_c_Finite__Set_Ofold_001tf__a_001tf__a,type,
    finite_fold_a_a: ( a > a > a ) > a > set_a > a ).

thf(sy_c_Finite__Set_Ofold__graph_001t__Nat__Onat_001t__Nat__Onat,type,
    finite1441398328259824232at_nat: ( nat > nat > nat ) > nat > set_nat > nat > $o ).

thf(sy_c_Finite__Set_Ofold__graph_001t__Nat__Onat_001tf__a,type,
    finite9142365241556460134_nat_a: ( nat > a > a ) > a > set_nat > a > $o ).

thf(sy_c_Finite__Set_Ofold__graph_001tf__a_001t__Nat__Onat,type,
    finite5110433740378173704_a_nat: ( a > nat > nat ) > nat > set_a > nat > $o ).

thf(sy_c_Finite__Set_Ofold__graph_001tf__a_001tf__a,type,
    finite7874008084079289286ph_a_a: ( a > a > a ) > a > set_a > a > $o ).

thf(sy_c_Fun_Ofun__upd_001t__Nat__Onat_001t__Nat__Onat,type,
    fun_upd_nat_nat: ( nat > nat ) > nat > nat > nat > nat ).

thf(sy_c_Fun_Ofun__upd_001t__Nat__Onat_001t__Set__Oset_It__Nat__Onat_J,type,
    fun_upd_nat_set_nat: ( nat > set_nat ) > nat > set_nat > nat > set_nat ).

thf(sy_c_Fun_Ofun__upd_001t__Nat__Onat_001t__Set__Oset_Itf__a_J,type,
    fun_upd_nat_set_a: ( nat > set_a ) > nat > set_a > nat > set_a ).

thf(sy_c_Fun_Ofun__upd_001t__Nat__Onat_001tf__a,type,
    fun_upd_nat_a: ( nat > a ) > nat > a > nat > a ).

thf(sy_c_Fun_Ofun__upd_001tf__a_001t__Set__Oset_It__Nat__Onat_J,type,
    fun_upd_a_set_nat: ( a > set_nat ) > a > set_nat > a > set_nat ).

thf(sy_c_Fun_Ofun__upd_001tf__a_001t__Set__Oset_Itf__a_J,type,
    fun_upd_a_set_a: ( a > set_a ) > a > set_a > a > set_a ).

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

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

thf(sy_c_Fun_Oinj__on_001t__Nat__Onat_001t__Set__Oset_Itf__a_J,type,
    inj_on_nat_set_a: ( nat > set_a ) > set_nat > $o ).

thf(sy_c_Fun_Oinj__on_001t__Nat__Onat_001tf__a,type,
    inj_on_nat_a: ( nat > a ) > set_nat > $o ).

thf(sy_c_Fun_Oinj__on_001t__Set__Oset_It__Nat__Onat_J_001t__Set__Oset_It__Nat__Onat_J,type,
    inj_on4604407203859583615et_nat: ( set_nat > set_nat ) > set_set_nat > $o ).

thf(sy_c_Fun_Oinj__on_001t__Set__Oset_Itf__a_J_001t__Set__Oset_Itf__a_J,type,
    inj_on_set_a_set_a: ( set_a > set_a ) > set_set_a > $o ).

thf(sy_c_Fun_Oinj__on_001tf__a_001t__Nat__Onat,type,
    inj_on_a_nat: ( a > nat ) > set_a > $o ).

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

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

thf(sy_c_FuncSet_OPiE_001t__Nat__Onat_001t__Nat__Onat,type,
    piE_nat_nat: set_nat > ( nat > set_nat ) > set_nat_nat ).

thf(sy_c_FuncSet_OPiE_001t__Nat__Onat_001tf__a,type,
    piE_nat_a: set_nat > ( nat > set_a ) > set_nat_a ).

thf(sy_c_FuncSet_OPiE_001tf__a_001t__Nat__Onat,type,
    piE_a_nat: set_a > ( a > set_nat ) > set_a_nat ).

thf(sy_c_FuncSet_OPiE_001tf__a_001tf__a,type,
    piE_a_a: set_a > ( a > set_a ) > set_a_a ).

thf(sy_c_FuncSet_OPi_001_062_It__Nat__Onat_Mt__Nat__Onat_J_001tf__a,type,
    pi_nat_nat_a: set_nat_nat > ( ( nat > nat ) > set_a ) > set_nat_nat_a ).

thf(sy_c_FuncSet_OPi_001_062_It__Nat__Onat_Mtf__a_J_001tf__a,type,
    pi_nat_a_a: set_nat_a > ( ( nat > a ) > set_a ) > set_nat_a_a ).

thf(sy_c_FuncSet_OPi_001_062_Itf__a_Mt__Nat__Onat_J_001tf__a,type,
    pi_a_nat_a: set_a_nat > ( ( a > nat ) > set_a ) > set_a_nat_a ).

thf(sy_c_FuncSet_OPi_001_062_Itf__a_Mtf__a_J_001tf__a,type,
    pi_a_a_a: set_a_a > ( ( a > a ) > set_a ) > set_a_a_a ).

thf(sy_c_FuncSet_OPi_001t__Nat__Onat_001t__Nat__Onat,type,
    pi_nat_nat: set_nat > ( nat > set_nat ) > set_nat_nat ).

thf(sy_c_FuncSet_OPi_001t__Nat__Onat_001tf__a,type,
    pi_nat_a: set_nat > ( nat > set_a ) > set_nat_a ).

thf(sy_c_FuncSet_OPi_001t__Set__Oset_It__Nat__Onat_J_001tf__a,type,
    pi_set_nat_a: set_set_nat > ( set_nat > set_a ) > set_set_nat_a ).

thf(sy_c_FuncSet_OPi_001t__Set__Oset_Itf__a_J_001tf__a,type,
    pi_set_a_a: set_set_a > ( set_a > set_a ) > set_set_a_a2 ).

thf(sy_c_FuncSet_OPi_001tf__a_001t__Nat__Onat,type,
    pi_a_nat: set_a > ( a > set_nat ) > set_a_nat ).

thf(sy_c_FuncSet_OPi_001tf__a_001tf__a,type,
    pi_a_a: set_a > ( a > set_a ) > set_a_a ).

thf(sy_c_FuncSet_Oextensional_001t__Nat__Onat_001tf__a,type,
    extensional_nat_a: set_nat > set_nat_a ).

thf(sy_c_FuncSet_Oextensional_001tf__a_001tf__a,type,
    extensional_a_a: set_a > set_a_a ).

thf(sy_c_FuncSet_Orestrict_001t__Nat__Onat_001t__Nat__Onat,type,
    restrict_nat_nat: ( nat > nat ) > set_nat > nat > nat ).

thf(sy_c_FuncSet_Orestrict_001t__Nat__Onat_001tf__a,type,
    restrict_nat_a: ( nat > a ) > set_nat > nat > a ).

thf(sy_c_FuncSet_Orestrict_001tf__a_001t__Nat__Onat,type,
    restrict_a_nat: ( a > nat ) > set_a > a > nat ).

thf(sy_c_FuncSet_Orestrict_001tf__a_001tf__a,type,
    restrict_a_a: ( a > a ) > set_a > a > a ).

thf(sy_c_Group__Theory_Oabelian__group_001tf__a,type,
    group_201663378560352916roup_a: set_a > ( a > a > a ) > a > $o ).

thf(sy_c_Group__Theory_Ocommutative__monoid_001_062_It__Nat__Onat_Mt__Nat__Onat_J,type,
    group_2032089464332506688at_nat: set_nat_nat > ( ( nat > nat ) > ( nat > nat ) > nat > nat ) > ( nat > nat ) > $o ).

thf(sy_c_Group__Theory_Ocommutative__monoid_001_062_It__Nat__Onat_Mtf__a_J,type,
    group_3093379471365697572_nat_a: set_nat_a > ( ( nat > a ) > ( nat > a ) > nat > a ) > ( nat > a ) > $o ).

thf(sy_c_Group__Theory_Ocommutative__monoid_001_062_Itf__a_Mt__Nat__Onat_J,type,
    group_9078588044496796414_a_nat: set_a_nat > ( ( a > nat ) > ( a > nat ) > a > nat ) > ( a > nat ) > $o ).

thf(sy_c_Group__Theory_Ocommutative__monoid_001_062_Itf__a_Mtf__a_J,type,
    group_6976245611985207014id_a_a: set_a_a > ( ( a > a ) > ( a > a ) > a > a ) > ( a > a ) > $o ).

thf(sy_c_Group__Theory_Ocommutative__monoid_001t__Nat__Onat,type,
    group_6791354081887936081id_nat: set_nat > ( nat > nat > nat ) > nat > $o ).

thf(sy_c_Group__Theory_Ocommutative__monoid_001t__Set__Oset_Itf__a_J,type,
    group_4785056438662063133_set_a: set_set_a > ( set_a > set_a > set_a ) > set_a > $o ).

thf(sy_c_Group__Theory_Ocommutative__monoid_001tf__a,type,
    group_4866109990395492029noid_a: set_a > ( a > a > a ) > a > $o ).

thf(sy_c_Group__Theory_Ogroup_001t__Nat__Onat,type,
    group_group_nat: set_nat > ( nat > nat > nat ) > nat > $o ).

thf(sy_c_Group__Theory_Ogroup_001tf__a,type,
    group_group_a: set_a > ( a > a > a ) > a > $o ).

thf(sy_c_Group__Theory_Omonoid_001t__Nat__Onat,type,
    group_monoid_nat: set_nat > ( nat > nat > nat ) > nat > $o ).

thf(sy_c_Group__Theory_Omonoid_001tf__a,type,
    group_monoid_a: set_a > ( a > a > a ) > a > $o ).

thf(sy_c_Group__Theory_Omonoid_OUnits_001t__Nat__Onat,type,
    group_Units_nat: set_nat > ( nat > nat > nat ) > nat > set_nat ).

thf(sy_c_Group__Theory_Omonoid_OUnits_001tf__a,type,
    group_Units_a: set_a > ( a > a > a ) > a > set_a ).

thf(sy_c_Group__Theory_Omonoid_Oinverse_001t__Nat__Onat,type,
    group_inverse_nat: set_nat > ( nat > nat > nat ) > nat > nat > nat ).

thf(sy_c_Group__Theory_Omonoid_Oinverse_001tf__a,type,
    group_inverse_a: set_a > ( a > a > a ) > a > a > a ).

thf(sy_c_Group__Theory_Omonoid_Oinvertible_001t__Nat__Onat,type,
    group_invertible_nat: set_nat > ( nat > nat > nat ) > nat > nat > $o ).

thf(sy_c_Group__Theory_Omonoid_Oinvertible_001tf__a,type,
    group_invertible_a: set_a > ( a > a > a ) > a > a > $o ).

thf(sy_c_Group__Theory_Osubgroup_001t__Nat__Onat,type,
    group_subgroup_nat: set_nat > set_nat > ( nat > nat > nat ) > nat > $o ).

thf(sy_c_Group__Theory_Osubgroup_001tf__a,type,
    group_subgroup_a: set_a > set_a > ( a > a > a ) > a > $o ).

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_Itf__a_M_Eo_J,type,
    minus_minus_a_o: ( a > $o ) > ( a > $o ) > a > $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_Itf__a_J,type,
    minus_minus_set_a: set_a > set_a > set_a ).

thf(sy_c_HOL_OThe_001t__Nat__Onat,type,
    the_nat: ( nat > $o ) > nat ).

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

thf(sy_c_HOL_Oundefined_001t__Nat__Onat,type,
    undefined_nat: nat ).

thf(sy_c_HOL_Oundefined_001tf__a,type,
    undefined_a: a ).

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_If_001t__Set__Oset_Itf__a_J,type,
    if_set_a: $o > set_a > set_a > set_a ).

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

thf(sy_c_Lattices_Oinf__class_Oinf_001_062_It__Nat__Onat_M_Eo_J,type,
    inf_inf_nat_o: ( nat > $o ) > ( nat > $o ) > nat > $o ).

thf(sy_c_Lattices_Oinf__class_Oinf_001_062_Itf__a_M_Eo_J,type,
    inf_inf_a_o: ( a > $o ) > ( a > $o ) > a > $o ).

thf(sy_c_Lattices_Oinf__class_Oinf_001t__Nat__Onat,type,
    inf_inf_nat: nat > nat > nat ).

thf(sy_c_Lattices_Oinf__class_Oinf_001t__Set__Oset_It__Nat__Onat_J,type,
    inf_inf_set_nat: set_nat > set_nat > set_nat ).

thf(sy_c_Lattices_Oinf__class_Oinf_001t__Set__Oset_It__Set__Oset_It__Nat__Onat_J_J,type,
    inf_inf_set_set_nat: set_set_nat > set_set_nat > set_set_nat ).

thf(sy_c_Lattices_Oinf__class_Oinf_001t__Set__Oset_It__Set__Oset_Itf__a_J_J,type,
    inf_inf_set_set_a: set_set_a > set_set_a > set_set_a ).

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

thf(sy_c_Lattices_Osup__class_Osup_001_062_It__Nat__Onat_M_Eo_J,type,
    sup_sup_nat_o: ( nat > $o ) > ( nat > $o ) > nat > $o ).

thf(sy_c_Lattices_Osup__class_Osup_001_062_Itf__a_M_Eo_J,type,
    sup_sup_a_o: ( a > $o ) > ( a > $o ) > a > $o ).

thf(sy_c_Lattices_Osup__class_Osup_001t__Nat__Onat,type,
    sup_sup_nat: nat > nat > nat ).

thf(sy_c_Lattices_Osup__class_Osup_001t__Set__Oset_It__Nat__Onat_J,type,
    sup_sup_set_nat: set_nat > set_nat > set_nat ).

thf(sy_c_Lattices_Osup__class_Osup_001t__Set__Oset_It__Set__Oset_It__Nat__Onat_J_J,type,
    sup_sup_set_set_nat: set_set_nat > set_set_nat > set_set_nat ).

thf(sy_c_Lattices_Osup__class_Osup_001t__Set__Oset_It__Set__Oset_Itf__a_J_J,type,
    sup_sup_set_set_a: set_set_a > set_set_a > set_set_a ).

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

thf(sy_c_Lattices__Big_Oord__class_Oarg__min_001t__Nat__Onat_001t__Nat__Onat,type,
    lattic8739620818006775868at_nat: ( nat > nat ) > ( nat > $o ) > nat ).

thf(sy_c_Lattices__Big_Oord__class_Oarg__min_001t__Nat__Onat_001t__Set__Oset_Itf__a_J,type,
    lattic4259886613013183218_set_a: ( nat > set_a ) > ( nat > $o ) > nat ).

thf(sy_c_Lattices__Big_Oord__class_Oarg__min_001tf__a_001t__Nat__Onat,type,
    lattic1189635703294652468_a_nat: ( a > nat ) > ( a > $o ) > a ).

thf(sy_c_Lattices__Big_Oord__class_Oarg__min_001tf__a_001t__Set__Oset_Itf__a_J,type,
    lattic7984020741579264250_set_a: ( a > set_a ) > ( a > $o ) > a ).

thf(sy_c_Lattices__Big_Oord__class_Oarg__min__on_001t__Nat__Onat_001t__Nat__Onat,type,
    lattic7446932960582359483at_nat: ( nat > nat ) > set_nat > nat ).

thf(sy_c_Lattices__Big_Oord__class_Oarg__min__on_001tf__a_001t__Nat__Onat,type,
    lattic6340287419671400565_a_nat: ( a > nat ) > set_a > a ).

thf(sy_c_Nat_Oold_Onat_Orec__nat_001t__Nat__Onat,type,
    rec_nat_nat: nat > ( nat > nat > nat ) > nat > nat ).

thf(sy_c_Nat_Oold_Onat_Orec__nat_001tf__a,type,
    rec_nat_a: a > ( nat > a > a ) > nat > a ).

thf(sy_c_Nat_Oold_Onat_Orec__set__nat_001tf__a,type,
    rec_set_nat_a: a > ( nat > a > a ) > nat > a > $o ).

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_Itf__a_M_Eo_J,type,
    bot_bot_a_o: a > $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_I_062_It__Nat__Onat_Mtf__a_J_J,type,
    bot_bot_set_nat_a: set_nat_a ).

thf(sy_c_Orderings_Obot__class_Obot_001t__Set__Oset_I_062_Itf__a_Mtf__a_J_J,type,
    bot_bot_set_a_a: set_a_a ).

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_Obot__class_Obot_001t__Set__Oset_It__Set__Oset_Itf__a_J_J,type,
    bot_bot_set_set_a: set_set_a ).

thf(sy_c_Orderings_Obot__class_Obot_001t__Set__Oset_Itf__a_J,type,
    bot_bot_set_a: set_a ).

thf(sy_c_Orderings_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_Itf__a_M_Eo_J,type,
    ord_less_eq_a_o: ( a > $o ) > ( a > $o ) > $o ).

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

thf(sy_c_Orderings_Oord__class_Oless__eq_001t__Set__Oset_I_062_It__Nat__Onat_Mtf__a_J_J,type,
    ord_le871467723717165285_nat_a: set_nat_a > set_nat_a > $o ).

thf(sy_c_Orderings_Oord__class_Oless__eq_001t__Set__Oset_I_062_Itf__a_Mtf__a_J_J,type,
    ord_less_eq_set_a_a: set_a_a > set_a_a > $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_Itf__a_J_J,type,
    ord_le3724670747650509150_set_a: set_set_a > set_set_a > $o ).

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

thf(sy_c_Set_OCollect_001_062_It__Nat__Onat_Mt__Nat__Onat_J,type,
    collect_nat_nat: ( ( nat > nat ) > $o ) > set_nat_nat ).

thf(sy_c_Set_OCollect_001_062_It__Nat__Onat_Mtf__a_J,type,
    collect_nat_a: ( ( nat > a ) > $o ) > set_nat_a ).

thf(sy_c_Set_OCollect_001_062_Itf__a_Mt__Nat__Onat_J,type,
    collect_a_nat: ( ( a > nat ) > $o ) > set_a_nat ).

thf(sy_c_Set_OCollect_001_062_Itf__a_Mtf__a_J,type,
    collect_a_a: ( ( a > a ) > $o ) > set_a_a ).

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_Itf__a_J,type,
    collect_set_a: ( set_a > $o ) > set_set_a ).

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

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

thf(sy_c_Set_OPow_001tf__a,type,
    pow_a: set_a > set_set_a ).

thf(sy_c_Set_Odisjnt_001t__Nat__Onat,type,
    disjnt_nat: set_nat > set_nat > $o ).

thf(sy_c_Set_Odisjnt_001tf__a,type,
    disjnt_a: set_a > set_a > $o ).

thf(sy_c_Set_Ofilter_001t__Nat__Onat,type,
    filter_nat: ( nat > $o ) > set_nat > set_nat ).

thf(sy_c_Set_Ofilter_001tf__a,type,
    filter_a: ( a > $o ) > set_a > set_a ).

thf(sy_c_Set_Oimage_001_062_It__Nat__Onat_Mtf__a_J_001tf__a,type,
    image_nat_a_a: ( ( nat > a ) > a ) > set_nat_a > set_a ).

thf(sy_c_Set_Oimage_001_062_Itf__a_Mtf__a_J_001tf__a,type,
    image_a_a_a: ( ( a > a ) > a ) > set_a_a > set_a ).

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__Nat__Onat_001t__Set__Oset_Itf__a_J,type,
    image_nat_set_a: ( nat > set_a ) > set_nat > set_set_a ).

thf(sy_c_Set_Oimage_001t__Nat__Onat_001tf__a,type,
    image_nat_a: ( nat > a ) > set_nat > set_a ).

thf(sy_c_Set_Oimage_001t__Set__Oset_It__Nat__Onat_J_001_062_It__Nat__Onat_M_Eo_J,type,
    image_set_nat_nat_o: ( set_nat > nat > $o ) > set_set_nat > set_nat_o ).

thf(sy_c_Set_Oimage_001t__Set__Oset_It__Nat__Onat_J_001_Eo,type,
    image_set_nat_o: ( set_nat > $o ) > set_set_nat > set_o ).

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_Itf__a_J_001_062_Itf__a_M_Eo_J,type,
    image_set_a_a_o: ( set_a > a > $o ) > set_set_a > set_a_o ).

thf(sy_c_Set_Oimage_001t__Set__Oset_Itf__a_J_001_Eo,type,
    image_set_a_o: ( set_a > $o ) > set_set_a > set_o ).

thf(sy_c_Set_Oimage_001t__Set__Oset_Itf__a_J_001t__Nat__Onat,type,
    image_set_a_nat: ( set_a > nat ) > set_set_a > set_nat ).

thf(sy_c_Set_Oimage_001t__Set__Oset_Itf__a_J_001t__Set__Oset_Itf__a_J,type,
    image_set_a_set_a: ( set_a > set_a ) > set_set_a > set_set_a ).

thf(sy_c_Set_Oimage_001t__Set__Oset_Itf__a_J_001tf__a,type,
    image_set_a_a: ( set_a > a ) > set_set_a > set_a ).

thf(sy_c_Set_Oimage_001tf__a_001_062_It__Nat__Onat_Mt__Nat__Onat_J,type,
    image_a_nat_nat: ( a > nat > nat ) > set_a > set_nat_nat ).

thf(sy_c_Set_Oimage_001tf__a_001t__Nat__Onat,type,
    image_a_nat: ( a > nat ) > set_a > set_nat ).

thf(sy_c_Set_Oimage_001tf__a_001t__Set__Oset_I_062_Itf__a_Mtf__a_J_J,type,
    image_a_set_a_a: ( a > set_a_a ) > set_a > set_set_a_a ).

thf(sy_c_Set_Oimage_001tf__a_001t__Set__Oset_It__Nat__Onat_J,type,
    image_a_set_nat: ( a > set_nat ) > set_a > set_set_nat ).

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

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

thf(sy_c_Set_Oinsert_001_062_Itf__a_Mtf__a_J,type,
    insert_a_a: ( a > a ) > set_a_a > set_a_a ).

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_Itf__a_J,type,
    insert_set_a: set_a > set_set_a > set_set_a ).

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

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

thf(sy_c_Set_Ois__singleton_001tf__a,type,
    is_singleton_a: set_a > $o ).

thf(sy_c_Set_Opairwise_001t__Nat__Onat,type,
    pairwise_nat: ( nat > nat > $o ) > set_nat > $o ).

thf(sy_c_Set_Opairwise_001t__Set__Oset_It__Nat__Onat_J,type,
    pairwise_set_nat: ( set_nat > set_nat > $o ) > set_set_nat > $o ).

thf(sy_c_Set_Opairwise_001t__Set__Oset_Itf__a_J,type,
    pairwise_set_a: ( set_a > set_a > $o ) > set_set_a > $o ).

thf(sy_c_Set_Opairwise_001tf__a,type,
    pairwise_a: ( a > a > $o ) > set_a > $o ).

thf(sy_c_Set_Oremove_001t__Nat__Onat,type,
    remove_nat: nat > set_nat > set_nat ).

thf(sy_c_Set_Oremove_001tf__a,type,
    remove_a: a > set_a > set_a ).

thf(sy_c_Set_Othe__elem_001tf__a,type,
    the_elem_a: set_a > a ).

thf(sy_c_member_001_062_I_062_It__Nat__Onat_Mt__Nat__Onat_J_Mtf__a_J,type,
    member_nat_nat_a: ( ( nat > nat ) > a ) > set_nat_nat_a > $o ).

thf(sy_c_member_001_062_I_062_It__Nat__Onat_Mtf__a_J_Mtf__a_J,type,
    member_nat_a_a: ( ( nat > a ) > a ) > set_nat_a_a > $o ).

thf(sy_c_member_001_062_I_062_Itf__a_Mt__Nat__Onat_J_Mtf__a_J,type,
    member_a_nat_a: ( ( a > nat ) > a ) > set_a_nat_a > $o ).

thf(sy_c_member_001_062_I_062_Itf__a_Mtf__a_J_Mtf__a_J,type,
    member_a_a_a: ( ( a > a ) > a ) > set_a_a_a > $o ).

thf(sy_c_member_001_062_It__Nat__Onat_Mt__Nat__Onat_J,type,
    member_nat_nat: ( nat > nat ) > set_nat_nat > $o ).

thf(sy_c_member_001_062_It__Nat__Onat_Mtf__a_J,type,
    member_nat_a: ( nat > a ) > set_nat_a > $o ).

thf(sy_c_member_001_062_It__Set__Oset_It__Nat__Onat_J_Mtf__a_J,type,
    member_set_nat_a: ( set_nat > a ) > set_set_nat_a > $o ).

thf(sy_c_member_001_062_It__Set__Oset_Itf__a_J_Mtf__a_J,type,
    member_set_a_a: ( set_a > a ) > set_set_a_a2 > $o ).

thf(sy_c_member_001_062_Itf__a_Mt__Nat__Onat_J,type,
    member_a_nat: ( a > nat ) > set_a_nat > $o ).

thf(sy_c_member_001_062_Itf__a_Mtf__a_J,type,
    member_a_a: ( a > a ) > set_a_a > $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_Itf__a_J,type,
    member_set_a: set_a > set_set_a > $o ).

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

thf(sy_v_G,type,
    g: set_a ).

thf(sy_v_a,type,
    a2: a ).

thf(sy_v_composition,type,
    composition: a > a > a ).

thf(sy_v_unit,type,
    unit: a ).

% Relevant facts (1276)
thf(fact_0_a,axiom,
    member_a @ a2 @ g ).

% a
thf(fact_1_commutative,axiom,
    ! [X: a,Y: a] :
      ( ( member_a @ X @ g )
     => ( ( member_a @ Y @ g )
       => ( ( composition @ X @ Y )
          = ( composition @ Y @ X ) ) ) ) ).

% commutative
thf(fact_2_left__commute,axiom,
    ! [A: a,B: a,C: a] :
      ( ( member_a @ A @ g )
     => ( ( member_a @ B @ g )
       => ( ( member_a @ C @ g )
         => ( ( composition @ B @ ( composition @ A @ C ) )
            = ( composition @ A @ ( composition @ B @ C ) ) ) ) ) ) ).

% left_commute
thf(fact_3_local_Oinverse__unique,axiom,
    ! [U: a,V: a,V2: a] :
      ( ( ( composition @ U @ V )
        = unit )
     => ( ( ( composition @ V2 @ U )
          = unit )
       => ( ( member_a @ U @ g )
         => ( ( member_a @ V2 @ g )
           => ( ( member_a @ V @ g )
             => ( V2 = V ) ) ) ) ) ) ).

% local.inverse_unique
thf(fact_4_abelian__group__axioms,axiom,
    group_201663378560352916roup_a @ g @ composition @ unit ).

% abelian_group_axioms
thf(fact_5_fincomp__unit__eqI,axiom,
    ! [A2: set_nat_nat,F: ( nat > nat ) > a] :
      ( ! [X2: nat > nat] :
          ( ( member_nat_nat @ X2 @ A2 )
         => ( ( F @ X2 )
            = unit ) )
     => ( ( commut7932270843475808023at_nat @ g @ composition @ unit @ F @ A2 )
        = unit ) ) ).

% fincomp_unit_eqI
thf(fact_6_fincomp__unit__eqI,axiom,
    ! [A2: set_nat_a,F: ( nat > a ) > a] :
      ( ! [X2: nat > a] :
          ( ( member_nat_a @ X2 @ A2 )
         => ( ( F @ X2 )
            = unit ) )
     => ( ( commut5242989786243415821_nat_a @ g @ composition @ unit @ F @ A2 )
        = unit ) ) ).

% fincomp_unit_eqI
thf(fact_7_fincomp__unit__eqI,axiom,
    ! [A2: set_a_nat,F: ( a > nat ) > a] :
      ( ! [X2: a > nat] :
          ( ( member_a_nat @ X2 @ A2 )
         => ( ( F @ X2 )
            = unit ) )
     => ( ( commut2004826322519738855_a_nat @ g @ composition @ unit @ F @ A2 )
        = unit ) ) ).

% fincomp_unit_eqI
thf(fact_8_fincomp__unit__eqI,axiom,
    ! [A2: set_a_a,F: ( a > a ) > a] :
      ( ! [X2: a > a] :
          ( ( member_a_a @ X2 @ A2 )
         => ( ( F @ X2 )
            = unit ) )
     => ( ( commut6344323929752164413_a_a_a @ g @ composition @ unit @ F @ A2 )
        = unit ) ) ).

% fincomp_unit_eqI
thf(fact_9_fincomp__unit__eqI,axiom,
    ! [A2: set_set_nat,F: set_nat > a] :
      ( ! [X2: set_nat] :
          ( ( member_set_nat @ X2 @ A2 )
         => ( ( F @ X2 )
            = unit ) )
     => ( ( commut7753019222993662302et_nat @ g @ composition @ unit @ F @ A2 )
        = unit ) ) ).

% fincomp_unit_eqI
thf(fact_10_fincomp__unit__eqI,axiom,
    ! [A2: set_set_a,F: set_a > a] :
      ( ! [X2: set_a] :
          ( ( member_set_a @ X2 @ A2 )
         => ( ( F @ X2 )
            = unit ) )
     => ( ( commut1188557258662961286_set_a @ g @ composition @ unit @ F @ A2 )
        = unit ) ) ).

% fincomp_unit_eqI
thf(fact_11_fincomp__unit__eqI,axiom,
    ! [A2: set_nat,F: nat > a] :
      ( ! [X2: nat] :
          ( ( member_nat @ X2 @ A2 )
         => ( ( F @ X2 )
            = unit ) )
     => ( ( commut6741328216151336360_a_nat @ g @ composition @ unit @ F @ A2 )
        = unit ) ) ).

% fincomp_unit_eqI
thf(fact_12_fincomp__unit__eqI,axiom,
    ! [A2: set_a,F: a > a] :
      ( ! [X2: a] :
          ( ( member_a @ X2 @ A2 )
         => ( ( F @ X2 )
            = unit ) )
     => ( ( commut5005951359559292710mp_a_a @ g @ composition @ unit @ F @ A2 )
        = unit ) ) ).

% fincomp_unit_eqI
thf(fact_13_fin,axiom,
    finite_finite_a @ g ).

% fin
thf(fact_14__092_060open_062_I_092_060cdot_062_J_Aa_A_096_AG_A_061_AG_092_060close_062,axiom,
    ( ( image_a_a @ ( composition @ a2 ) @ g )
    = g ) ).

% \<open>(\<cdot>) a ` G = G\<close>
thf(fact_15__092_060open_062_092_060And_062x_O_Ax_A_092_060in_062_AG_A_092_060Longrightarrow_062_Ax_A_092_060in_062_A_I_092_060cdot_062_J_Aa_A_096_AG_092_060close_062,axiom,
    ! [X: a] :
      ( ( member_a @ X @ g )
     => ( member_a @ X @ ( image_a_a @ ( composition @ a2 ) @ g ) ) ) ).

% \<open>\<And>x. x \<in> G \<Longrightarrow> x \<in> (\<cdot>) a ` G\<close>
thf(fact_16_calculation,axiom,
    ( ( composition @ unit
      @ ( commut5005951359559292710mp_a_a @ g @ composition @ unit
        @ ^ [X3: a] : X3
        @ g ) )
    = ( commut5005951359559292710mp_a_a @ g @ composition @ unit
      @ ^ [X3: a] : X3
      @ ( image_a_a @ ( composition @ a2 ) @ g ) ) ) ).

% calculation
thf(fact_17_associative,axiom,
    ! [A: a,B: a,C: a] :
      ( ( member_a @ A @ g )
     => ( ( member_a @ B @ g )
       => ( ( member_a @ C @ g )
         => ( ( composition @ ( composition @ A @ B ) @ C )
            = ( composition @ A @ ( composition @ B @ C ) ) ) ) ) ) ).

% associative
thf(fact_18_composition__closed,axiom,
    ! [A: a,B: a] :
      ( ( member_a @ A @ g )
     => ( ( member_a @ B @ g )
       => ( member_a @ ( composition @ A @ B ) @ g ) ) ) ).

% composition_closed
thf(fact_19_unit__closed,axiom,
    member_a @ unit @ g ).

% unit_closed
thf(fact_20_left__unit,axiom,
    ! [A: a] :
      ( ( member_a @ A @ g )
     => ( ( composition @ unit @ A )
        = A ) ) ).

% left_unit
thf(fact_21_right__unit,axiom,
    ! [A: a] :
      ( ( member_a @ A @ g )
     => ( ( composition @ A @ unit )
        = A ) ) ).

% right_unit
thf(fact_22_fincomp__unit,axiom,
    ! [A2: set_set_nat] :
      ( ( commut7753019222993662302et_nat @ g @ composition @ unit
        @ ^ [I: set_nat] : unit
        @ A2 )
      = unit ) ).

% fincomp_unit
thf(fact_23_fincomp__unit,axiom,
    ! [A2: set_set_a] :
      ( ( commut1188557258662961286_set_a @ g @ composition @ unit
        @ ^ [I: set_a] : unit
        @ A2 )
      = unit ) ).

% fincomp_unit
thf(fact_24_fincomp__unit,axiom,
    ! [A2: set_a] :
      ( ( commut5005951359559292710mp_a_a @ g @ composition @ unit
        @ ^ [I: a] : unit
        @ A2 )
      = unit ) ).

% fincomp_unit
thf(fact_25_fincomp__unit,axiom,
    ! [A2: set_nat] :
      ( ( commut6741328216151336360_a_nat @ g @ composition @ unit
        @ ^ [I: nat] : unit
        @ A2 )
      = unit ) ).

% fincomp_unit
thf(fact_26_M__ify__def,axiom,
    ! [X: a] :
      ( ( ( member_a @ X @ g )
       => ( ( commutative_M_ify_a @ g @ unit @ X )
          = X ) )
      & ( ~ ( member_a @ X @ g )
       => ( ( commutative_M_ify_a @ g @ unit @ X )
          = unit ) ) ) ).

% M_ify_def
thf(fact_27_commutative__monoid_Ofincomp_Ocong,axiom,
    commut1549887680474846982_nat_a = commut1549887680474846982_nat_a ).

% commutative_monoid.fincomp.cong
thf(fact_28_commutative__monoid_Ofincomp_Ocong,axiom,
    commut1028764413824576968at_nat = commut1028764413824576968at_nat ).

% commutative_monoid.fincomp.cong
thf(fact_29_commutative__monoid_Ofincomp_Ocong,axiom,
    commut7753019222993662302et_nat = commut7753019222993662302et_nat ).

% commutative_monoid.fincomp.cong
thf(fact_30_commutative__monoid_Ofincomp_Ocong,axiom,
    commut1188557258662961286_set_a = commut1188557258662961286_set_a ).

% commutative_monoid.fincomp.cong
thf(fact_31_commutative__monoid_Ofincomp_Ocong,axiom,
    commut5005951359559292710mp_a_a = commut5005951359559292710mp_a_a ).

% commutative_monoid.fincomp.cong
thf(fact_32_commutative__monoid_Ofincomp_Ocong,axiom,
    commut6741328216151336360_a_nat = commut6741328216151336360_a_nat ).

% commutative_monoid.fincomp.cong
thf(fact_33_group__axioms,axiom,
    group_group_a @ g @ composition @ unit ).

% group_axioms
thf(fact_34_commutative__monoid__axioms,axiom,
    group_4866109990395492029noid_a @ g @ composition @ unit ).

% commutative_monoid_axioms
thf(fact_35_image__ident,axiom,
    ! [Y2: set_a] :
      ( ( image_a_a
        @ ^ [X3: a] : X3
        @ Y2 )
      = Y2 ) ).

% image_ident
thf(fact_36_fincomp__closed,axiom,
    ! [F: set_nat > a,F2: set_set_nat] :
      ( ( member_set_nat_a @ F
        @ ( pi_set_nat_a @ F2
          @ ^ [Uu: set_nat] : g ) )
     => ( member_a @ ( commut7753019222993662302et_nat @ g @ composition @ unit @ F @ F2 ) @ g ) ) ).

% fincomp_closed
thf(fact_37_fincomp__closed,axiom,
    ! [F: set_a > a,F2: set_set_a] :
      ( ( member_set_a_a @ F
        @ ( pi_set_a_a @ F2
          @ ^ [Uu: set_a] : g ) )
     => ( member_a @ ( commut1188557258662961286_set_a @ g @ composition @ unit @ F @ F2 ) @ g ) ) ).

% fincomp_closed
thf(fact_38_fincomp__closed,axiom,
    ! [F: a > a,F2: set_a] :
      ( ( member_a_a @ F
        @ ( pi_a_a @ F2
          @ ^ [Uu: a] : g ) )
     => ( member_a @ ( commut5005951359559292710mp_a_a @ g @ composition @ unit @ F @ F2 ) @ g ) ) ).

% fincomp_closed
thf(fact_39_fincomp__closed,axiom,
    ! [F: nat > a,F2: set_nat] :
      ( ( member_nat_a @ F
        @ ( pi_nat_a @ F2
          @ ^ [Uu: nat] : g ) )
     => ( member_a @ ( commut6741328216151336360_a_nat @ g @ composition @ unit @ F @ F2 ) @ g ) ) ).

% fincomp_closed
thf(fact_40_fincomp__comp,axiom,
    ! [F: set_nat > a,A2: set_set_nat,G: set_nat > a] :
      ( ( member_set_nat_a @ F
        @ ( pi_set_nat_a @ A2
          @ ^ [Uu: set_nat] : g ) )
     => ( ( member_set_nat_a @ G
          @ ( pi_set_nat_a @ A2
            @ ^ [Uu: set_nat] : g ) )
       => ( ( commut7753019222993662302et_nat @ g @ composition @ unit
            @ ^ [X3: set_nat] : ( composition @ ( F @ X3 ) @ ( G @ X3 ) )
            @ A2 )
          = ( composition @ ( commut7753019222993662302et_nat @ g @ composition @ unit @ F @ A2 ) @ ( commut7753019222993662302et_nat @ g @ composition @ unit @ G @ A2 ) ) ) ) ) ).

% fincomp_comp
thf(fact_41_fincomp__comp,axiom,
    ! [F: set_a > a,A2: set_set_a,G: set_a > a] :
      ( ( member_set_a_a @ F
        @ ( pi_set_a_a @ A2
          @ ^ [Uu: set_a] : g ) )
     => ( ( member_set_a_a @ G
          @ ( pi_set_a_a @ A2
            @ ^ [Uu: set_a] : g ) )
       => ( ( commut1188557258662961286_set_a @ g @ composition @ unit
            @ ^ [X3: set_a] : ( composition @ ( F @ X3 ) @ ( G @ X3 ) )
            @ A2 )
          = ( composition @ ( commut1188557258662961286_set_a @ g @ composition @ unit @ F @ A2 ) @ ( commut1188557258662961286_set_a @ g @ composition @ unit @ G @ A2 ) ) ) ) ) ).

% fincomp_comp
thf(fact_42_fincomp__comp,axiom,
    ! [F: a > a,A2: set_a,G: a > a] :
      ( ( member_a_a @ F
        @ ( pi_a_a @ A2
          @ ^ [Uu: a] : g ) )
     => ( ( member_a_a @ G
          @ ( pi_a_a @ A2
            @ ^ [Uu: a] : g ) )
       => ( ( commut5005951359559292710mp_a_a @ g @ composition @ unit
            @ ^ [X3: a] : ( composition @ ( F @ X3 ) @ ( G @ X3 ) )
            @ A2 )
          = ( composition @ ( commut5005951359559292710mp_a_a @ g @ composition @ unit @ F @ A2 ) @ ( commut5005951359559292710mp_a_a @ g @ composition @ unit @ G @ A2 ) ) ) ) ) ).

% fincomp_comp
thf(fact_43_fincomp__comp,axiom,
    ! [F: nat > a,A2: set_nat,G: nat > a] :
      ( ( member_nat_a @ F
        @ ( pi_nat_a @ A2
          @ ^ [Uu: nat] : g ) )
     => ( ( member_nat_a @ G
          @ ( pi_nat_a @ A2
            @ ^ [Uu: nat] : g ) )
       => ( ( commut6741328216151336360_a_nat @ g @ composition @ unit
            @ ^ [X3: nat] : ( composition @ ( F @ X3 ) @ ( G @ X3 ) )
            @ A2 )
          = ( composition @ ( commut6741328216151336360_a_nat @ g @ composition @ unit @ F @ A2 ) @ ( commut6741328216151336360_a_nat @ g @ composition @ unit @ G @ A2 ) ) ) ) ) ).

% fincomp_comp
thf(fact_44_fincomp__cong_H,axiom,
    ! [A2: set_nat_nat,B2: set_nat_nat,G: ( nat > nat ) > a,F: ( nat > nat ) > a] :
      ( ( A2 = B2 )
     => ( ( member_nat_nat_a @ G
          @ ( pi_nat_nat_a @ B2
            @ ^ [Uu: nat > nat] : g ) )
       => ( ! [I2: nat > nat] :
              ( ( member_nat_nat @ I2 @ B2 )
             => ( ( F @ I2 )
                = ( G @ I2 ) ) )
         => ( ( commut7932270843475808023at_nat @ g @ composition @ unit @ F @ A2 )
            = ( commut7932270843475808023at_nat @ g @ composition @ unit @ G @ B2 ) ) ) ) ) ).

% fincomp_cong'
thf(fact_45_fincomp__cong_H,axiom,
    ! [A2: set_nat_a,B2: set_nat_a,G: ( nat > a ) > a,F: ( nat > a ) > a] :
      ( ( A2 = B2 )
     => ( ( member_nat_a_a @ G
          @ ( pi_nat_a_a @ B2
            @ ^ [Uu: nat > a] : g ) )
       => ( ! [I2: nat > a] :
              ( ( member_nat_a @ I2 @ B2 )
             => ( ( F @ I2 )
                = ( G @ I2 ) ) )
         => ( ( commut5242989786243415821_nat_a @ g @ composition @ unit @ F @ A2 )
            = ( commut5242989786243415821_nat_a @ g @ composition @ unit @ G @ B2 ) ) ) ) ) ).

% fincomp_cong'
thf(fact_46_fincomp__cong_H,axiom,
    ! [A2: set_a_nat,B2: set_a_nat,G: ( a > nat ) > a,F: ( a > nat ) > a] :
      ( ( A2 = B2 )
     => ( ( member_a_nat_a @ G
          @ ( pi_a_nat_a @ B2
            @ ^ [Uu: a > nat] : g ) )
       => ( ! [I2: a > nat] :
              ( ( member_a_nat @ I2 @ B2 )
             => ( ( F @ I2 )
                = ( G @ I2 ) ) )
         => ( ( commut2004826322519738855_a_nat @ g @ composition @ unit @ F @ A2 )
            = ( commut2004826322519738855_a_nat @ g @ composition @ unit @ G @ B2 ) ) ) ) ) ).

% fincomp_cong'
thf(fact_47_fincomp__cong_H,axiom,
    ! [A2: set_a_a,B2: set_a_a,G: ( a > a ) > a,F: ( a > a ) > a] :
      ( ( A2 = B2 )
     => ( ( member_a_a_a @ G
          @ ( pi_a_a_a @ B2
            @ ^ [Uu: a > a] : g ) )
       => ( ! [I2: a > a] :
              ( ( member_a_a @ I2 @ B2 )
             => ( ( F @ I2 )
                = ( G @ I2 ) ) )
         => ( ( commut6344323929752164413_a_a_a @ g @ composition @ unit @ F @ A2 )
            = ( commut6344323929752164413_a_a_a @ g @ composition @ unit @ G @ B2 ) ) ) ) ) ).

% fincomp_cong'
thf(fact_48_fincomp__cong_H,axiom,
    ! [A2: set_set_nat,B2: set_set_nat,G: set_nat > a,F: set_nat > a] :
      ( ( A2 = B2 )
     => ( ( member_set_nat_a @ G
          @ ( pi_set_nat_a @ B2
            @ ^ [Uu: set_nat] : g ) )
       => ( ! [I2: set_nat] :
              ( ( member_set_nat @ I2 @ B2 )
             => ( ( F @ I2 )
                = ( G @ I2 ) ) )
         => ( ( commut7753019222993662302et_nat @ g @ composition @ unit @ F @ A2 )
            = ( commut7753019222993662302et_nat @ g @ composition @ unit @ G @ B2 ) ) ) ) ) ).

% fincomp_cong'
thf(fact_49_fincomp__cong_H,axiom,
    ! [A2: set_set_a,B2: set_set_a,G: set_a > a,F: set_a > a] :
      ( ( A2 = B2 )
     => ( ( member_set_a_a @ G
          @ ( pi_set_a_a @ B2
            @ ^ [Uu: set_a] : g ) )
       => ( ! [I2: set_a] :
              ( ( member_set_a @ I2 @ B2 )
             => ( ( F @ I2 )
                = ( G @ I2 ) ) )
         => ( ( commut1188557258662961286_set_a @ g @ composition @ unit @ F @ A2 )
            = ( commut1188557258662961286_set_a @ g @ composition @ unit @ G @ B2 ) ) ) ) ) ).

% fincomp_cong'
thf(fact_50_fincomp__cong_H,axiom,
    ! [A2: set_a,B2: set_a,G: a > a,F: a > a] :
      ( ( A2 = B2 )
     => ( ( member_a_a @ G
          @ ( pi_a_a @ B2
            @ ^ [Uu: a] : g ) )
       => ( ! [I2: a] :
              ( ( member_a @ I2 @ B2 )
             => ( ( F @ I2 )
                = ( G @ I2 ) ) )
         => ( ( commut5005951359559292710mp_a_a @ g @ composition @ unit @ F @ A2 )
            = ( commut5005951359559292710mp_a_a @ g @ composition @ unit @ G @ B2 ) ) ) ) ) ).

% fincomp_cong'
thf(fact_51_fincomp__cong_H,axiom,
    ! [A2: set_nat,B2: set_nat,G: nat > a,F: nat > a] :
      ( ( A2 = B2 )
     => ( ( member_nat_a @ G
          @ ( pi_nat_a @ B2
            @ ^ [Uu: nat] : g ) )
       => ( ! [I2: nat] :
              ( ( member_nat @ I2 @ B2 )
             => ( ( F @ I2 )
                = ( G @ I2 ) ) )
         => ( ( commut6741328216151336360_a_nat @ g @ composition @ unit @ F @ A2 )
            = ( commut6741328216151336360_a_nat @ g @ composition @ unit @ G @ B2 ) ) ) ) ) ).

% fincomp_cong'
thf(fact_52_inverse__equality,axiom,
    ! [U: a,V2: a] :
      ( ( ( composition @ U @ V2 )
        = unit )
     => ( ( ( composition @ V2 @ U )
          = unit )
       => ( ( member_a @ U @ g )
         => ( ( member_a @ V2 @ g )
           => ( ( group_inverse_a @ g @ composition @ unit @ U )
              = V2 ) ) ) ) ) ).

% inverse_equality
thf(fact_53_invertibleE,axiom,
    ! [U: a] :
      ( ( group_invertible_a @ g @ composition @ unit @ U )
     => ( ! [V3: a] :
            ( ( ( ( composition @ U @ V3 )
                = unit )
              & ( ( composition @ V3 @ U )
                = unit ) )
           => ~ ( member_a @ V3 @ g ) )
       => ~ ( member_a @ U @ g ) ) ) ).

% invertibleE
thf(fact_54_invertible__def,axiom,
    ! [U: a] :
      ( ( member_a @ U @ g )
     => ( ( group_invertible_a @ g @ composition @ unit @ U )
        = ( ? [X3: a] :
              ( ( member_a @ X3 @ g )
              & ( ( composition @ U @ X3 )
                = unit )
              & ( ( composition @ X3 @ U )
                = unit ) ) ) ) ) ).

% invertible_def
thf(fact_55_unit__invertible,axiom,
    group_invertible_a @ g @ composition @ unit @ unit ).

% unit_invertible
thf(fact_56_monoid__axioms,axiom,
    group_monoid_a @ g @ composition @ unit ).

% monoid_axioms
thf(fact_57_image__eqI,axiom,
    ! [B: a,F: a > a,X: a,A2: set_a] :
      ( ( B
        = ( F @ X ) )
     => ( ( member_a @ X @ A2 )
       => ( member_a @ B @ ( image_a_a @ F @ A2 ) ) ) ) ).

% image_eqI
thf(fact_58_image__eqI,axiom,
    ! [B: nat,F: a > nat,X: a,A2: set_a] :
      ( ( B
        = ( F @ X ) )
     => ( ( member_a @ X @ A2 )
       => ( member_nat @ B @ ( image_a_nat @ F @ A2 ) ) ) ) ).

% image_eqI
thf(fact_59_image__eqI,axiom,
    ! [B: a,F: nat > a,X: nat,A2: set_nat] :
      ( ( B
        = ( F @ X ) )
     => ( ( member_nat @ X @ A2 )
       => ( member_a @ B @ ( image_nat_a @ F @ A2 ) ) ) ) ).

% image_eqI
thf(fact_60_image__eqI,axiom,
    ! [B: nat,F: nat > nat,X: nat,A2: set_nat] :
      ( ( B
        = ( F @ X ) )
     => ( ( member_nat @ X @ A2 )
       => ( member_nat @ B @ ( image_nat_nat @ F @ A2 ) ) ) ) ).

% image_eqI
thf(fact_61_image__eqI,axiom,
    ! [B: set_nat,F: a > set_nat,X: a,A2: set_a] :
      ( ( B
        = ( F @ X ) )
     => ( ( member_a @ X @ A2 )
       => ( member_set_nat @ B @ ( image_a_set_nat @ F @ A2 ) ) ) ) ).

% image_eqI
thf(fact_62_image__eqI,axiom,
    ! [B: set_a,F: a > set_a,X: a,A2: set_a] :
      ( ( B
        = ( F @ X ) )
     => ( ( member_a @ X @ A2 )
       => ( member_set_a @ B @ ( image_a_set_a @ F @ A2 ) ) ) ) ).

% image_eqI
thf(fact_63_image__eqI,axiom,
    ! [B: set_a,F: nat > set_a,X: nat,A2: set_nat] :
      ( ( B
        = ( F @ X ) )
     => ( ( member_nat @ X @ A2 )
       => ( member_set_a @ B @ ( image_nat_set_a @ F @ A2 ) ) ) ) ).

% image_eqI
thf(fact_64_image__eqI,axiom,
    ! [B: a,F: set_a > a,X: set_a,A2: set_set_a] :
      ( ( B
        = ( F @ X ) )
     => ( ( member_set_a @ X @ A2 )
       => ( member_a @ B @ ( image_set_a_a @ F @ A2 ) ) ) ) ).

% image_eqI
thf(fact_65_image__eqI,axiom,
    ! [B: nat,F: set_a > nat,X: set_a,A2: set_set_a] :
      ( ( B
        = ( F @ X ) )
     => ( ( member_set_a @ X @ A2 )
       => ( member_nat @ B @ ( image_set_a_nat @ F @ A2 ) ) ) ) ).

% image_eqI
thf(fact_66_image__eqI,axiom,
    ! [B: nat > nat,F: a > nat > nat,X: a,A2: set_a] :
      ( ( B
        = ( F @ X ) )
     => ( ( member_a @ X @ A2 )
       => ( member_nat_nat @ B @ ( image_a_nat_nat @ F @ A2 ) ) ) ) ).

% image_eqI
thf(fact_67_invertible__right__inverse2,axiom,
    ! [U: a,V2: a] :
      ( ( group_invertible_a @ g @ composition @ unit @ U )
     => ( ( member_a @ U @ g )
       => ( ( member_a @ V2 @ g )
         => ( ( composition @ U @ ( composition @ ( group_inverse_a @ g @ composition @ unit @ U ) @ V2 ) )
            = V2 ) ) ) ) ).

% invertible_right_inverse2
thf(fact_68_invertible__left__inverse2,axiom,
    ! [U: a,V2: a] :
      ( ( group_invertible_a @ g @ composition @ unit @ U )
     => ( ( member_a @ U @ g )
       => ( ( member_a @ V2 @ g )
         => ( ( composition @ ( group_inverse_a @ g @ composition @ unit @ U ) @ ( composition @ U @ V2 ) )
            = V2 ) ) ) ) ).

% invertible_left_inverse2
thf(fact_69_inverse__composition__commute,axiom,
    ! [X: a,Y: a] :
      ( ( group_invertible_a @ g @ composition @ unit @ X )
     => ( ( group_invertible_a @ g @ composition @ unit @ Y )
       => ( ( member_a @ X @ g )
         => ( ( member_a @ Y @ g )
           => ( ( group_inverse_a @ g @ composition @ unit @ ( composition @ X @ Y ) )
              = ( composition @ ( group_inverse_a @ g @ composition @ unit @ Y ) @ ( group_inverse_a @ g @ composition @ unit @ X ) ) ) ) ) ) ) ).

% inverse_composition_commute
thf(fact_70_fincomp__singleton__swap,axiom,
    ! [I3: nat > nat,A2: set_nat_nat,F: ( nat > nat ) > a] :
      ( ( member_nat_nat @ I3 @ A2 )
     => ( ( finite2115694454571419734at_nat @ A2 )
       => ( ( member_nat_nat_a @ F
            @ ( pi_nat_nat_a @ A2
              @ ^ [Uu: nat > nat] : g ) )
         => ( ( commut7932270843475808023at_nat @ g @ composition @ unit
              @ ^ [J: nat > nat] : ( if_a @ ( J = I3 ) @ ( F @ J ) @ unit )
              @ A2 )
            = ( F @ I3 ) ) ) ) ) ).

% fincomp_singleton_swap
thf(fact_71_fincomp__singleton__swap,axiom,
    ! [I3: nat > a,A2: set_nat_a,F: ( nat > a ) > a] :
      ( ( member_nat_a @ I3 @ A2 )
     => ( ( finite_finite_nat_a @ A2 )
       => ( ( member_nat_a_a @ F
            @ ( pi_nat_a_a @ A2
              @ ^ [Uu: nat > a] : g ) )
         => ( ( commut5242989786243415821_nat_a @ g @ composition @ unit
              @ ^ [J: nat > a] : ( if_a @ ( J = I3 ) @ ( F @ J ) @ unit )
              @ A2 )
            = ( F @ I3 ) ) ) ) ) ).

% fincomp_singleton_swap
thf(fact_72_fincomp__singleton__swap,axiom,
    ! [I3: a > nat,A2: set_a_nat,F: ( a > nat ) > a] :
      ( ( member_a_nat @ I3 @ A2 )
     => ( ( finite_finite_a_nat @ A2 )
       => ( ( member_a_nat_a @ F
            @ ( pi_a_nat_a @ A2
              @ ^ [Uu: a > nat] : g ) )
         => ( ( commut2004826322519738855_a_nat @ g @ composition @ unit
              @ ^ [J: a > nat] : ( if_a @ ( J = I3 ) @ ( F @ J ) @ unit )
              @ A2 )
            = ( F @ I3 ) ) ) ) ) ).

% fincomp_singleton_swap
thf(fact_73_fincomp__singleton__swap,axiom,
    ! [I3: a > a,A2: set_a_a,F: ( a > a ) > a] :
      ( ( member_a_a @ I3 @ A2 )
     => ( ( finite_finite_a_a @ A2 )
       => ( ( member_a_a_a @ F
            @ ( pi_a_a_a @ A2
              @ ^ [Uu: a > a] : g ) )
         => ( ( commut6344323929752164413_a_a_a @ g @ composition @ unit
              @ ^ [J: a > a] : ( if_a @ ( J = I3 ) @ ( F @ J ) @ unit )
              @ A2 )
            = ( F @ I3 ) ) ) ) ) ).

% fincomp_singleton_swap
thf(fact_74_fincomp__singleton__swap,axiom,
    ! [I3: set_nat,A2: set_set_nat,F: set_nat > a] :
      ( ( member_set_nat @ I3 @ A2 )
     => ( ( finite1152437895449049373et_nat @ A2 )
       => ( ( member_set_nat_a @ F
            @ ( pi_set_nat_a @ A2
              @ ^ [Uu: set_nat] : g ) )
         => ( ( commut7753019222993662302et_nat @ g @ composition @ unit
              @ ^ [J: set_nat] : ( if_a @ ( J = I3 ) @ ( F @ J ) @ unit )
              @ A2 )
            = ( F @ I3 ) ) ) ) ) ).

% fincomp_singleton_swap
thf(fact_75_fincomp__singleton__swap,axiom,
    ! [I3: set_a,A2: set_set_a,F: set_a > a] :
      ( ( member_set_a @ I3 @ A2 )
     => ( ( finite_finite_set_a @ A2 )
       => ( ( member_set_a_a @ F
            @ ( pi_set_a_a @ A2
              @ ^ [Uu: set_a] : g ) )
         => ( ( commut1188557258662961286_set_a @ g @ composition @ unit
              @ ^ [J: set_a] : ( if_a @ ( J = I3 ) @ ( F @ J ) @ unit )
              @ A2 )
            = ( F @ I3 ) ) ) ) ) ).

% fincomp_singleton_swap
thf(fact_76_fincomp__singleton__swap,axiom,
    ! [I3: a,A2: set_a,F: a > a] :
      ( ( member_a @ I3 @ A2 )
     => ( ( finite_finite_a @ A2 )
       => ( ( member_a_a @ F
            @ ( pi_a_a @ A2
              @ ^ [Uu: a] : g ) )
         => ( ( commut5005951359559292710mp_a_a @ g @ composition @ unit
              @ ^ [J: a] : ( if_a @ ( J = I3 ) @ ( F @ J ) @ unit )
              @ A2 )
            = ( F @ I3 ) ) ) ) ) ).

% fincomp_singleton_swap
thf(fact_77_fincomp__singleton__swap,axiom,
    ! [I3: nat,A2: set_nat,F: nat > a] :
      ( ( member_nat @ I3 @ A2 )
     => ( ( finite_finite_nat @ A2 )
       => ( ( member_nat_a @ F
            @ ( pi_nat_a @ A2
              @ ^ [Uu: nat] : g ) )
         => ( ( commut6741328216151336360_a_nat @ g @ composition @ unit
              @ ^ [J: nat] : ( if_a @ ( J = I3 ) @ ( F @ J ) @ unit )
              @ A2 )
            = ( F @ I3 ) ) ) ) ) ).

% fincomp_singleton_swap
thf(fact_78_fincomp__singleton,axiom,
    ! [I3: nat > nat,A2: set_nat_nat,F: ( nat > nat ) > a] :
      ( ( member_nat_nat @ I3 @ A2 )
     => ( ( finite2115694454571419734at_nat @ A2 )
       => ( ( member_nat_nat_a @ F
            @ ( pi_nat_nat_a @ A2
              @ ^ [Uu: nat > nat] : g ) )
         => ( ( commut7932270843475808023at_nat @ g @ composition @ unit
              @ ^ [J: nat > nat] : ( if_a @ ( I3 = J ) @ ( F @ J ) @ unit )
              @ A2 )
            = ( F @ I3 ) ) ) ) ) ).

% fincomp_singleton
thf(fact_79_fincomp__singleton,axiom,
    ! [I3: nat > a,A2: set_nat_a,F: ( nat > a ) > a] :
      ( ( member_nat_a @ I3 @ A2 )
     => ( ( finite_finite_nat_a @ A2 )
       => ( ( member_nat_a_a @ F
            @ ( pi_nat_a_a @ A2
              @ ^ [Uu: nat > a] : g ) )
         => ( ( commut5242989786243415821_nat_a @ g @ composition @ unit
              @ ^ [J: nat > a] : ( if_a @ ( I3 = J ) @ ( F @ J ) @ unit )
              @ A2 )
            = ( F @ I3 ) ) ) ) ) ).

% fincomp_singleton
thf(fact_80_fincomp__singleton,axiom,
    ! [I3: a > nat,A2: set_a_nat,F: ( a > nat ) > a] :
      ( ( member_a_nat @ I3 @ A2 )
     => ( ( finite_finite_a_nat @ A2 )
       => ( ( member_a_nat_a @ F
            @ ( pi_a_nat_a @ A2
              @ ^ [Uu: a > nat] : g ) )
         => ( ( commut2004826322519738855_a_nat @ g @ composition @ unit
              @ ^ [J: a > nat] : ( if_a @ ( I3 = J ) @ ( F @ J ) @ unit )
              @ A2 )
            = ( F @ I3 ) ) ) ) ) ).

% fincomp_singleton
thf(fact_81_fincomp__singleton,axiom,
    ! [I3: a > a,A2: set_a_a,F: ( a > a ) > a] :
      ( ( member_a_a @ I3 @ A2 )
     => ( ( finite_finite_a_a @ A2 )
       => ( ( member_a_a_a @ F
            @ ( pi_a_a_a @ A2
              @ ^ [Uu: a > a] : g ) )
         => ( ( commut6344323929752164413_a_a_a @ g @ composition @ unit
              @ ^ [J: a > a] : ( if_a @ ( I3 = J ) @ ( F @ J ) @ unit )
              @ A2 )
            = ( F @ I3 ) ) ) ) ) ).

% fincomp_singleton
thf(fact_82_fincomp__singleton,axiom,
    ! [I3: set_nat,A2: set_set_nat,F: set_nat > a] :
      ( ( member_set_nat @ I3 @ A2 )
     => ( ( finite1152437895449049373et_nat @ A2 )
       => ( ( member_set_nat_a @ F
            @ ( pi_set_nat_a @ A2
              @ ^ [Uu: set_nat] : g ) )
         => ( ( commut7753019222993662302et_nat @ g @ composition @ unit
              @ ^ [J: set_nat] : ( if_a @ ( I3 = J ) @ ( F @ J ) @ unit )
              @ A2 )
            = ( F @ I3 ) ) ) ) ) ).

% fincomp_singleton
thf(fact_83_fincomp__singleton,axiom,
    ! [I3: set_a,A2: set_set_a,F: set_a > a] :
      ( ( member_set_a @ I3 @ A2 )
     => ( ( finite_finite_set_a @ A2 )
       => ( ( member_set_a_a @ F
            @ ( pi_set_a_a @ A2
              @ ^ [Uu: set_a] : g ) )
         => ( ( commut1188557258662961286_set_a @ g @ composition @ unit
              @ ^ [J: set_a] : ( if_a @ ( I3 = J ) @ ( F @ J ) @ unit )
              @ A2 )
            = ( F @ I3 ) ) ) ) ) ).

% fincomp_singleton
thf(fact_84_fincomp__singleton,axiom,
    ! [I3: a,A2: set_a,F: a > a] :
      ( ( member_a @ I3 @ A2 )
     => ( ( finite_finite_a @ A2 )
       => ( ( member_a_a @ F
            @ ( pi_a_a @ A2
              @ ^ [Uu: a] : g ) )
         => ( ( commut5005951359559292710mp_a_a @ g @ composition @ unit
              @ ^ [J: a] : ( if_a @ ( I3 = J ) @ ( F @ J ) @ unit )
              @ A2 )
            = ( F @ I3 ) ) ) ) ) ).

% fincomp_singleton
thf(fact_85_fincomp__singleton,axiom,
    ! [I3: nat,A2: set_nat,F: nat > a] :
      ( ( member_nat @ I3 @ A2 )
     => ( ( finite_finite_nat @ A2 )
       => ( ( member_nat_a @ F
            @ ( pi_nat_a @ A2
              @ ^ [Uu: nat] : g ) )
         => ( ( commut6741328216151336360_a_nat @ g @ composition @ unit
              @ ^ [J: nat] : ( if_a @ ( I3 = J ) @ ( F @ J ) @ unit )
              @ A2 )
            = ( F @ I3 ) ) ) ) ) ).

% fincomp_singleton
thf(fact_86_fincomp__inverse,axiom,
    ! [F: set_nat > a,A2: set_set_nat] :
      ( ( member_set_nat_a @ F
        @ ( pi_set_nat_a @ A2
          @ ^ [Uu: set_nat] : g ) )
     => ( ( commut7753019222993662302et_nat @ g @ composition @ unit
          @ ^ [X3: set_nat] : ( group_inverse_a @ g @ composition @ unit @ ( F @ X3 ) )
          @ A2 )
        = ( group_inverse_a @ g @ composition @ unit @ ( commut7753019222993662302et_nat @ g @ composition @ unit @ F @ A2 ) ) ) ) ).

% fincomp_inverse
thf(fact_87_fincomp__inverse,axiom,
    ! [F: set_a > a,A2: set_set_a] :
      ( ( member_set_a_a @ F
        @ ( pi_set_a_a @ A2
          @ ^ [Uu: set_a] : g ) )
     => ( ( commut1188557258662961286_set_a @ g @ composition @ unit
          @ ^ [X3: set_a] : ( group_inverse_a @ g @ composition @ unit @ ( F @ X3 ) )
          @ A2 )
        = ( group_inverse_a @ g @ composition @ unit @ ( commut1188557258662961286_set_a @ g @ composition @ unit @ F @ A2 ) ) ) ) ).

% fincomp_inverse
thf(fact_88_fincomp__inverse,axiom,
    ! [F: a > a,A2: set_a] :
      ( ( member_a_a @ F
        @ ( pi_a_a @ A2
          @ ^ [Uu: a] : g ) )
     => ( ( commut5005951359559292710mp_a_a @ g @ composition @ unit
          @ ^ [X3: a] : ( group_inverse_a @ g @ composition @ unit @ ( F @ X3 ) )
          @ A2 )
        = ( group_inverse_a @ g @ composition @ unit @ ( commut5005951359559292710mp_a_a @ g @ composition @ unit @ F @ A2 ) ) ) ) ).

% fincomp_inverse
thf(fact_89_fincomp__inverse,axiom,
    ! [F: nat > a,A2: set_nat] :
      ( ( member_nat_a @ F
        @ ( pi_nat_a @ A2
          @ ^ [Uu: nat] : g ) )
     => ( ( commut6741328216151336360_a_nat @ g @ composition @ unit
          @ ^ [X3: nat] : ( group_inverse_a @ g @ composition @ unit @ ( F @ X3 ) )
          @ A2 )
        = ( group_inverse_a @ g @ composition @ unit @ ( commut6741328216151336360_a_nat @ g @ composition @ unit @ F @ A2 ) ) ) ) ).

% fincomp_inverse
thf(fact_90_invertible__right__cancel,axiom,
    ! [X: a,Y: a,Z: a] :
      ( ( group_invertible_a @ g @ composition @ unit @ X )
     => ( ( member_a @ X @ g )
       => ( ( member_a @ Y @ g )
         => ( ( member_a @ Z @ g )
           => ( ( ( composition @ Y @ X )
                = ( composition @ Z @ X ) )
              = ( Y = Z ) ) ) ) ) ) ).

% invertible_right_cancel
thf(fact_91_invertible__left__cancel,axiom,
    ! [X: a,Y: a,Z: a] :
      ( ( group_invertible_a @ g @ composition @ unit @ X )
     => ( ( member_a @ X @ g )
       => ( ( member_a @ Y @ g )
         => ( ( member_a @ Z @ g )
           => ( ( ( composition @ X @ Y )
                = ( composition @ X @ Z ) )
              = ( Y = Z ) ) ) ) ) ) ).

% invertible_left_cancel
thf(fact_92_invertibleI,axiom,
    ! [U: a,V2: a] :
      ( ( ( composition @ U @ V2 )
        = unit )
     => ( ( ( composition @ V2 @ U )
          = unit )
       => ( ( member_a @ U @ g )
         => ( ( member_a @ V2 @ g )
           => ( group_invertible_a @ g @ composition @ unit @ U ) ) ) ) ) ).

% invertibleI
thf(fact_93_invertible,axiom,
    ! [U: a] :
      ( ( member_a @ U @ g )
     => ( group_invertible_a @ g @ composition @ unit @ U ) ) ).

% invertible
thf(fact_94_composition__invertible,axiom,
    ! [X: a,Y: a] :
      ( ( group_invertible_a @ g @ composition @ unit @ X )
     => ( ( group_invertible_a @ g @ composition @ unit @ Y )
       => ( ( member_a @ X @ g )
         => ( ( member_a @ Y @ g )
           => ( group_invertible_a @ g @ composition @ unit @ ( composition @ X @ Y ) ) ) ) ) ) ).

% composition_invertible
thf(fact_95_inverse__unit,axiom,
    ( ( group_inverse_a @ g @ composition @ unit @ unit )
    = unit ) ).

% inverse_unit
thf(fact_96_fincomp__infinite,axiom,
    ! [A2: set_nat_nat,F: ( nat > nat ) > a] :
      ( ~ ( finite2115694454571419734at_nat @ A2 )
     => ( ( commut7932270843475808023at_nat @ g @ composition @ unit @ F @ A2 )
        = unit ) ) ).

% fincomp_infinite
thf(fact_97_fincomp__infinite,axiom,
    ! [A2: set_nat_a,F: ( nat > a ) > a] :
      ( ~ ( finite_finite_nat_a @ A2 )
     => ( ( commut5242989786243415821_nat_a @ g @ composition @ unit @ F @ A2 )
        = unit ) ) ).

% fincomp_infinite
thf(fact_98_fincomp__infinite,axiom,
    ! [A2: set_a_nat,F: ( a > nat ) > a] :
      ( ~ ( finite_finite_a_nat @ A2 )
     => ( ( commut2004826322519738855_a_nat @ g @ composition @ unit @ F @ A2 )
        = unit ) ) ).

% fincomp_infinite
thf(fact_99_fincomp__infinite,axiom,
    ! [A2: set_a_a,F: ( a > a ) > a] :
      ( ~ ( finite_finite_a_a @ A2 )
     => ( ( commut6344323929752164413_a_a_a @ g @ composition @ unit @ F @ A2 )
        = unit ) ) ).

% fincomp_infinite
thf(fact_100_fincomp__infinite,axiom,
    ! [A2: set_set_nat,F: set_nat > a] :
      ( ~ ( finite1152437895449049373et_nat @ A2 )
     => ( ( commut7753019222993662302et_nat @ g @ composition @ unit @ F @ A2 )
        = unit ) ) ).

% fincomp_infinite
thf(fact_101_fincomp__infinite,axiom,
    ! [A2: set_set_a,F: set_a > a] :
      ( ~ ( finite_finite_set_a @ A2 )
     => ( ( commut1188557258662961286_set_a @ g @ composition @ unit @ F @ A2 )
        = unit ) ) ).

% fincomp_infinite
thf(fact_102_fincomp__infinite,axiom,
    ! [A2: set_a,F: a > a] :
      ( ~ ( finite_finite_a @ A2 )
     => ( ( commut5005951359559292710mp_a_a @ g @ composition @ unit @ F @ A2 )
        = unit ) ) ).

% fincomp_infinite
thf(fact_103_fincomp__infinite,axiom,
    ! [A2: set_nat,F: nat > a] :
      ( ~ ( finite_finite_nat @ A2 )
     => ( ( commut6741328216151336360_a_nat @ g @ composition @ unit @ F @ A2 )
        = unit ) ) ).

% fincomp_infinite
thf(fact_104_invertible__right__inverse,axiom,
    ! [U: a] :
      ( ( group_invertible_a @ g @ composition @ unit @ U )
     => ( ( member_a @ U @ g )
       => ( ( composition @ U @ ( group_inverse_a @ g @ composition @ unit @ U ) )
          = unit ) ) ) ).

% invertible_right_inverse
thf(fact_105_invertible__left__inverse,axiom,
    ! [U: a] :
      ( ( group_invertible_a @ g @ composition @ unit @ U )
     => ( ( member_a @ U @ g )
       => ( ( composition @ ( group_inverse_a @ g @ composition @ unit @ U ) @ U )
          = unit ) ) ) ).

% invertible_left_inverse
thf(fact_106_mem__Collect__eq,axiom,
    ! [A: nat > nat,P: ( nat > nat ) > $o] :
      ( ( member_nat_nat @ A @ ( collect_nat_nat @ P ) )
      = ( P @ A ) ) ).

% mem_Collect_eq
thf(fact_107_mem__Collect__eq,axiom,
    ! [A: nat > a,P: ( nat > a ) > $o] :
      ( ( member_nat_a @ A @ ( collect_nat_a @ P ) )
      = ( P @ A ) ) ).

% mem_Collect_eq
thf(fact_108_mem__Collect__eq,axiom,
    ! [A: a > nat,P: ( a > nat ) > $o] :
      ( ( member_a_nat @ A @ ( collect_a_nat @ P ) )
      = ( P @ A ) ) ).

% mem_Collect_eq
thf(fact_109_mem__Collect__eq,axiom,
    ! [A: a > a,P: ( a > a ) > $o] :
      ( ( member_a_a @ A @ ( collect_a_a @ P ) )
      = ( P @ A ) ) ).

% mem_Collect_eq
thf(fact_110_mem__Collect__eq,axiom,
    ! [A: set_a,P: set_a > $o] :
      ( ( member_set_a @ A @ ( collect_set_a @ P ) )
      = ( P @ A ) ) ).

% mem_Collect_eq
thf(fact_111_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_112_mem__Collect__eq,axiom,
    ! [A: a,P: a > $o] :
      ( ( member_a @ A @ ( collect_a @ P ) )
      = ( P @ A ) ) ).

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

% mem_Collect_eq
thf(fact_114_Collect__mem__eq,axiom,
    ! [A2: set_nat_nat] :
      ( ( collect_nat_nat
        @ ^ [X3: nat > nat] : ( member_nat_nat @ X3 @ A2 ) )
      = A2 ) ).

% Collect_mem_eq
thf(fact_115_Collect__mem__eq,axiom,
    ! [A2: set_nat_a] :
      ( ( collect_nat_a
        @ ^ [X3: nat > a] : ( member_nat_a @ X3 @ A2 ) )
      = A2 ) ).

% Collect_mem_eq
thf(fact_116_Collect__mem__eq,axiom,
    ! [A2: set_a_nat] :
      ( ( collect_a_nat
        @ ^ [X3: a > nat] : ( member_a_nat @ X3 @ A2 ) )
      = A2 ) ).

% Collect_mem_eq
thf(fact_117_Collect__mem__eq,axiom,
    ! [A2: set_a_a] :
      ( ( collect_a_a
        @ ^ [X3: a > a] : ( member_a_a @ X3 @ A2 ) )
      = A2 ) ).

% Collect_mem_eq
thf(fact_118_Collect__mem__eq,axiom,
    ! [A2: set_set_a] :
      ( ( collect_set_a
        @ ^ [X3: set_a] : ( member_set_a @ X3 @ A2 ) )
      = A2 ) ).

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

% Collect_mem_eq
thf(fact_120_Collect__mem__eq,axiom,
    ! [A2: set_a] :
      ( ( collect_a
        @ ^ [X3: a] : ( member_a @ X3 @ A2 ) )
      = A2 ) ).

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

% Collect_mem_eq
thf(fact_122_Collect__cong,axiom,
    ! [P: set_a > $o,Q: set_a > $o] :
      ( ! [X2: set_a] :
          ( ( P @ X2 )
          = ( Q @ X2 ) )
     => ( ( collect_set_a @ P )
        = ( collect_set_a @ Q ) ) ) ).

% Collect_cong
thf(fact_123_Collect__cong,axiom,
    ! [P: set_nat > $o,Q: set_nat > $o] :
      ( ! [X2: set_nat] :
          ( ( P @ X2 )
          = ( Q @ X2 ) )
     => ( ( collect_set_nat @ P )
        = ( collect_set_nat @ Q ) ) ) ).

% Collect_cong
thf(fact_124_Collect__cong,axiom,
    ! [P: a > $o,Q: a > $o] :
      ( ! [X2: a] :
          ( ( P @ X2 )
          = ( Q @ X2 ) )
     => ( ( collect_a @ P )
        = ( collect_a @ Q ) ) ) ).

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

% Collect_cong
thf(fact_126_invertible__inverse__invertible,axiom,
    ! [U: a] :
      ( ( group_invertible_a @ g @ composition @ unit @ U )
     => ( ( member_a @ U @ g )
       => ( group_invertible_a @ g @ composition @ unit @ ( group_inverse_a @ g @ composition @ unit @ U ) ) ) ) ).

% invertible_inverse_invertible
thf(fact_127_invertible__inverse__inverse,axiom,
    ! [U: a] :
      ( ( group_invertible_a @ g @ composition @ unit @ U )
     => ( ( member_a @ U @ g )
       => ( ( group_inverse_a @ g @ composition @ unit @ ( group_inverse_a @ g @ composition @ unit @ U ) )
          = U ) ) ) ).

% invertible_inverse_inverse
thf(fact_128_invertible__inverse__closed,axiom,
    ! [U: a] :
      ( ( group_invertible_a @ g @ composition @ unit @ U )
     => ( ( member_a @ U @ g )
       => ( member_a @ ( group_inverse_a @ g @ composition @ unit @ U ) @ g ) ) ) ).

% invertible_inverse_closed
thf(fact_129_commutative__monoid_OM__ify__def,axiom,
    ! [M: set_set_a,Composition: set_a > set_a > set_a,Unit: set_a,X: set_a] :
      ( ( group_4785056438662063133_set_a @ M @ Composition @ Unit )
     => ( ( ( member_set_a @ X @ M )
         => ( ( commut6650749092844687418_set_a @ M @ Unit @ X )
            = X ) )
        & ( ~ ( member_set_a @ X @ M )
         => ( ( commut6650749092844687418_set_a @ M @ Unit @ X )
            = Unit ) ) ) ) ).

% commutative_monoid.M_ify_def
thf(fact_130_commutative__monoid_OM__ify__def,axiom,
    ! [M: set_nat_nat,Composition: ( nat > nat ) > ( nat > nat ) > nat > nat,Unit: nat > nat,X: nat > nat] :
      ( ( group_2032089464332506688at_nat @ M @ Composition @ Unit )
     => ( ( ( member_nat_nat @ X @ M )
         => ( ( commut2887331883675347043at_nat @ M @ Unit @ X )
            = X ) )
        & ( ~ ( member_nat_nat @ X @ M )
         => ( ( commut2887331883675347043at_nat @ M @ Unit @ X )
            = Unit ) ) ) ) ).

% commutative_monoid.M_ify_def
thf(fact_131_commutative__monoid_OM__ify__def,axiom,
    ! [M: set_nat_a,Composition: ( nat > a ) > ( nat > a ) > nat > a,Unit: nat > a,X: nat > a] :
      ( ( group_3093379471365697572_nat_a @ M @ Composition @ Unit )
     => ( ( ( member_nat_a @ X @ M )
         => ( ( commut2316704705022288065_nat_a @ M @ Unit @ X )
            = X ) )
        & ( ~ ( member_nat_a @ X @ M )
         => ( ( commut2316704705022288065_nat_a @ M @ Unit @ X )
            = Unit ) ) ) ) ).

% commutative_monoid.M_ify_def
thf(fact_132_commutative__monoid_OM__ify__def,axiom,
    ! [M: set_a_nat,Composition: ( a > nat ) > ( a > nat ) > a > nat,Unit: a > nat,X: a > nat] :
      ( ( group_9078588044496796414_a_nat @ M @ Composition @ Unit )
     => ( ( ( member_a_nat @ X @ M )
         => ( ( commut8301913278153386907_a_nat @ M @ Unit @ X )
            = X ) )
        & ( ~ ( member_a_nat @ X @ M )
         => ( ( commut8301913278153386907_a_nat @ M @ Unit @ X )
            = Unit ) ) ) ) ).

% commutative_monoid.M_ify_def
thf(fact_133_commutative__monoid_OM__ify__def,axiom,
    ! [M: set_a_a,Composition: ( a > a ) > ( a > a ) > a > a,Unit: a > a,X: a > a] :
      ( ( group_6976245611985207014id_a_a @ M @ Composition @ Unit )
     => ( ( ( member_a_a @ X @ M )
         => ( ( commut6112553959220001673fy_a_a @ M @ Unit @ X )
            = X ) )
        & ( ~ ( member_a_a @ X @ M )
         => ( ( commut6112553959220001673fy_a_a @ M @ Unit @ X )
            = Unit ) ) ) ) ).

% commutative_monoid.M_ify_def
thf(fact_134_commutative__monoid_OM__ify__def,axiom,
    ! [M: set_nat,Composition: nat > nat > nat,Unit: nat,X: nat] :
      ( ( group_6791354081887936081id_nat @ M @ Composition @ Unit )
     => ( ( ( member_nat @ X @ M )
         => ( ( commut810702690453168372fy_nat @ M @ Unit @ X )
            = X ) )
        & ( ~ ( member_nat @ X @ M )
         => ( ( commut810702690453168372fy_nat @ M @ Unit @ X )
            = Unit ) ) ) ) ).

% commutative_monoid.M_ify_def
thf(fact_135_commutative__monoid_OM__ify__def,axiom,
    ! [M: set_a,Composition: a > a > a,Unit: a,X: a] :
      ( ( group_4866109990395492029noid_a @ M @ Composition @ Unit )
     => ( ( ( member_a @ X @ M )
         => ( ( commutative_M_ify_a @ M @ Unit @ X )
            = X ) )
        & ( ~ ( member_a @ X @ M )
         => ( ( commutative_M_ify_a @ M @ Unit @ X )
            = Unit ) ) ) ) ).

% commutative_monoid.M_ify_def
thf(fact_136_commutative__monoid_Oleft__commute,axiom,
    ! [M: set_a_nat,Composition: ( a > nat ) > ( a > nat ) > a > nat,Unit: a > nat,A: a > nat,B: a > nat,C: a > nat] :
      ( ( group_9078588044496796414_a_nat @ M @ Composition @ Unit )
     => ( ( member_a_nat @ A @ M )
       => ( ( member_a_nat @ B @ M )
         => ( ( member_a_nat @ C @ M )
           => ( ( Composition @ B @ ( Composition @ A @ C ) )
              = ( Composition @ A @ ( Composition @ B @ C ) ) ) ) ) ) ) ).

% commutative_monoid.left_commute
thf(fact_137_commutative__monoid_Oleft__commute,axiom,
    ! [M: set_a_a,Composition: ( a > a ) > ( a > a ) > a > a,Unit: a > a,A: a > a,B: a > a,C: a > a] :
      ( ( group_6976245611985207014id_a_a @ M @ Composition @ Unit )
     => ( ( member_a_a @ A @ M )
       => ( ( member_a_a @ B @ M )
         => ( ( member_a_a @ C @ M )
           => ( ( Composition @ B @ ( Composition @ A @ C ) )
              = ( Composition @ A @ ( Composition @ B @ C ) ) ) ) ) ) ) ).

% commutative_monoid.left_commute
thf(fact_138_commutative__monoid_Oleft__commute,axiom,
    ! [M: set_nat,Composition: nat > nat > nat,Unit: nat,A: nat,B: nat,C: nat] :
      ( ( group_6791354081887936081id_nat @ M @ Composition @ Unit )
     => ( ( member_nat @ A @ M )
       => ( ( member_nat @ B @ M )
         => ( ( member_nat @ C @ M )
           => ( ( Composition @ B @ ( Composition @ A @ C ) )
              = ( Composition @ A @ ( Composition @ B @ C ) ) ) ) ) ) ) ).

% commutative_monoid.left_commute
thf(fact_139_commutative__monoid_Oleft__commute,axiom,
    ! [M: set_a,Composition: a > a > a,Unit: a,A: a,B: a,C: a] :
      ( ( group_4866109990395492029noid_a @ M @ Composition @ Unit )
     => ( ( member_a @ A @ M )
       => ( ( member_a @ B @ M )
         => ( ( member_a @ C @ M )
           => ( ( Composition @ B @ ( Composition @ A @ C ) )
              = ( Composition @ A @ ( Composition @ B @ C ) ) ) ) ) ) ) ).

% commutative_monoid.left_commute
thf(fact_140_commutative__monoid_Ofincomp__singleton__swap,axiom,
    ! [M: set_a,Composition: a > a > a,Unit: a,I3: a,A2: set_a,F: a > a] :
      ( ( group_4866109990395492029noid_a @ M @ Composition @ Unit )
     => ( ( member_a @ I3 @ A2 )
       => ( ( finite_finite_a @ A2 )
         => ( ( member_a_a @ F
              @ ( pi_a_a @ A2
                @ ^ [Uu: a] : M ) )
           => ( ( commut5005951359559292710mp_a_a @ M @ Composition @ Unit
                @ ^ [J: a] : ( if_a @ ( J = I3 ) @ ( F @ J ) @ Unit )
                @ A2 )
              = ( F @ I3 ) ) ) ) ) ) ).

% commutative_monoid.fincomp_singleton_swap
thf(fact_141_commutative__monoid_Ofincomp__singleton__swap,axiom,
    ! [M: set_a,Composition: a > a > a,Unit: a,I3: nat,A2: set_nat,F: nat > a] :
      ( ( group_4866109990395492029noid_a @ M @ Composition @ Unit )
     => ( ( member_nat @ I3 @ A2 )
       => ( ( finite_finite_nat @ A2 )
         => ( ( member_nat_a @ F
              @ ( pi_nat_a @ A2
                @ ^ [Uu: nat] : M ) )
           => ( ( commut6741328216151336360_a_nat @ M @ Composition @ Unit
                @ ^ [J: nat] : ( if_a @ ( J = I3 ) @ ( F @ J ) @ Unit )
                @ A2 )
              = ( F @ I3 ) ) ) ) ) ) ).

% commutative_monoid.fincomp_singleton_swap
thf(fact_142_commutative__monoid_Ofincomp__singleton,axiom,
    ! [M: set_a,Composition: a > a > a,Unit: a,I3: a,A2: set_a,F: a > a] :
      ( ( group_4866109990395492029noid_a @ M @ Composition @ Unit )
     => ( ( member_a @ I3 @ A2 )
       => ( ( finite_finite_a @ A2 )
         => ( ( member_a_a @ F
              @ ( pi_a_a @ A2
                @ ^ [Uu: a] : M ) )
           => ( ( commut5005951359559292710mp_a_a @ M @ Composition @ Unit
                @ ^ [J: a] : ( if_a @ ( I3 = J ) @ ( F @ J ) @ Unit )
                @ A2 )
              = ( F @ I3 ) ) ) ) ) ) ).

% commutative_monoid.fincomp_singleton
thf(fact_143_commutative__monoid_Ofincomp__singleton,axiom,
    ! [M: set_a,Composition: a > a > a,Unit: a,I3: nat,A2: set_nat,F: nat > a] :
      ( ( group_4866109990395492029noid_a @ M @ Composition @ Unit )
     => ( ( member_nat @ I3 @ A2 )
       => ( ( finite_finite_nat @ A2 )
         => ( ( member_nat_a @ F
              @ ( pi_nat_a @ A2
                @ ^ [Uu: nat] : M ) )
           => ( ( commut6741328216151336360_a_nat @ M @ Composition @ Unit
                @ ^ [J: nat] : ( if_a @ ( I3 = J ) @ ( F @ J ) @ Unit )
                @ A2 )
              = ( F @ I3 ) ) ) ) ) ) ).

% commutative_monoid.fincomp_singleton
thf(fact_144_abelian__group_Ofincomp__inverse,axiom,
    ! [G2: set_a,Composition: a > a > a,Unit: a,F: a > a,A2: set_a] :
      ( ( group_201663378560352916roup_a @ G2 @ Composition @ Unit )
     => ( ( member_a_a @ F
          @ ( pi_a_a @ A2
            @ ^ [Uu: a] : G2 ) )
       => ( ( commut5005951359559292710mp_a_a @ G2 @ Composition @ Unit
            @ ^ [X3: a] : ( group_inverse_a @ G2 @ Composition @ Unit @ ( F @ X3 ) )
            @ A2 )
          = ( group_inverse_a @ G2 @ Composition @ Unit @ ( commut5005951359559292710mp_a_a @ G2 @ Composition @ Unit @ F @ A2 ) ) ) ) ) ).

% abelian_group.fincomp_inverse
thf(fact_145_abelian__group_Ofincomp__inverse,axiom,
    ! [G2: set_a,Composition: a > a > a,Unit: a,F: nat > a,A2: set_nat] :
      ( ( group_201663378560352916roup_a @ G2 @ Composition @ Unit )
     => ( ( member_nat_a @ F
          @ ( pi_nat_a @ A2
            @ ^ [Uu: nat] : G2 ) )
       => ( ( commut6741328216151336360_a_nat @ G2 @ Composition @ Unit
            @ ^ [X3: nat] : ( group_inverse_a @ G2 @ Composition @ Unit @ ( F @ X3 ) )
            @ A2 )
          = ( group_inverse_a @ G2 @ Composition @ Unit @ ( commut6741328216151336360_a_nat @ G2 @ Composition @ Unit @ F @ A2 ) ) ) ) ) ).

% abelian_group.fincomp_inverse
thf(fact_146_commutative__monoid_Ofincomp__infinite,axiom,
    ! [M: set_a,Composition: a > a > a,Unit: a,A2: set_a,F: a > a] :
      ( ( group_4866109990395492029noid_a @ M @ Composition @ Unit )
     => ( ~ ( finite_finite_a @ A2 )
       => ( ( commut5005951359559292710mp_a_a @ M @ Composition @ Unit @ F @ A2 )
          = Unit ) ) ) ).

% commutative_monoid.fincomp_infinite
thf(fact_147_commutative__monoid_Ofincomp__infinite,axiom,
    ! [M: set_a,Composition: a > a > a,Unit: a,A2: set_nat,F: nat > a] :
      ( ( group_4866109990395492029noid_a @ M @ Composition @ Unit )
     => ( ~ ( finite_finite_nat @ A2 )
       => ( ( commut6741328216151336360_a_nat @ M @ Composition @ Unit @ F @ A2 )
          = Unit ) ) ) ).

% commutative_monoid.fincomp_infinite
thf(fact_148_commutative__monoid_OM__ify_Ocong,axiom,
    commutative_M_ify_a = commutative_M_ify_a ).

% commutative_monoid.M_ify.cong
thf(fact_149_commutative__monoid_Ofincomp__closed,axiom,
    ! [M: set_a,Composition: a > a > a,Unit: a,F: a > a,F2: set_a] :
      ( ( group_4866109990395492029noid_a @ M @ Composition @ Unit )
     => ( ( member_a_a @ F
          @ ( pi_a_a @ F2
            @ ^ [Uu: a] : M ) )
       => ( member_a @ ( commut5005951359559292710mp_a_a @ M @ Composition @ Unit @ F @ F2 ) @ M ) ) ) ).

% commutative_monoid.fincomp_closed
thf(fact_150_commutative__monoid_Ofincomp__closed,axiom,
    ! [M: set_a,Composition: a > a > a,Unit: a,F: nat > a,F2: set_nat] :
      ( ( group_4866109990395492029noid_a @ M @ Composition @ Unit )
     => ( ( member_nat_a @ F
          @ ( pi_nat_a @ F2
            @ ^ [Uu: nat] : M ) )
       => ( member_a @ ( commut6741328216151336360_a_nat @ M @ Composition @ Unit @ F @ F2 ) @ M ) ) ) ).

% commutative_monoid.fincomp_closed
thf(fact_151_commutative__monoid_Ofincomp__cong_H,axiom,
    ! [M: set_a,Composition: a > a > a,Unit: a,A2: set_a,B2: set_a,G: a > a,F: a > a] :
      ( ( group_4866109990395492029noid_a @ M @ Composition @ Unit )
     => ( ( A2 = B2 )
       => ( ( member_a_a @ G
            @ ( pi_a_a @ B2
              @ ^ [Uu: a] : M ) )
         => ( ! [I2: a] :
                ( ( member_a @ I2 @ B2 )
               => ( ( F @ I2 )
                  = ( G @ I2 ) ) )
           => ( ( commut5005951359559292710mp_a_a @ M @ Composition @ Unit @ F @ A2 )
              = ( commut5005951359559292710mp_a_a @ M @ Composition @ Unit @ G @ B2 ) ) ) ) ) ) ).

% commutative_monoid.fincomp_cong'
thf(fact_152_commutative__monoid_Ofincomp__cong_H,axiom,
    ! [M: set_a,Composition: a > a > a,Unit: a,A2: set_nat,B2: set_nat,G: nat > a,F: nat > a] :
      ( ( group_4866109990395492029noid_a @ M @ Composition @ Unit )
     => ( ( A2 = B2 )
       => ( ( member_nat_a @ G
            @ ( pi_nat_a @ B2
              @ ^ [Uu: nat] : M ) )
         => ( ! [I2: nat] :
                ( ( member_nat @ I2 @ B2 )
               => ( ( F @ I2 )
                  = ( G @ I2 ) ) )
           => ( ( commut6741328216151336360_a_nat @ M @ Composition @ Unit @ F @ A2 )
              = ( commut6741328216151336360_a_nat @ M @ Composition @ Unit @ G @ B2 ) ) ) ) ) ) ).

% commutative_monoid.fincomp_cong'
thf(fact_153_commutative__monoid_Ofincomp__comp,axiom,
    ! [M: set_a,Composition: a > a > a,Unit: a,F: a > a,A2: set_a,G: a > a] :
      ( ( group_4866109990395492029noid_a @ M @ Composition @ Unit )
     => ( ( member_a_a @ F
          @ ( pi_a_a @ A2
            @ ^ [Uu: a] : M ) )
       => ( ( member_a_a @ G
            @ ( pi_a_a @ A2
              @ ^ [Uu: a] : M ) )
         => ( ( commut5005951359559292710mp_a_a @ M @ Composition @ Unit
              @ ^ [X3: a] : ( Composition @ ( F @ X3 ) @ ( G @ X3 ) )
              @ A2 )
            = ( Composition @ ( commut5005951359559292710mp_a_a @ M @ Composition @ Unit @ F @ A2 ) @ ( commut5005951359559292710mp_a_a @ M @ Composition @ Unit @ G @ A2 ) ) ) ) ) ) ).

% commutative_monoid.fincomp_comp
thf(fact_154_commutative__monoid_Ofincomp__comp,axiom,
    ! [M: set_a,Composition: a > a > a,Unit: a,F: nat > a,A2: set_nat,G: nat > a] :
      ( ( group_4866109990395492029noid_a @ M @ Composition @ Unit )
     => ( ( member_nat_a @ F
          @ ( pi_nat_a @ A2
            @ ^ [Uu: nat] : M ) )
       => ( ( member_nat_a @ G
            @ ( pi_nat_a @ A2
              @ ^ [Uu: nat] : M ) )
         => ( ( commut6741328216151336360_a_nat @ M @ Composition @ Unit
              @ ^ [X3: nat] : ( Composition @ ( F @ X3 ) @ ( G @ X3 ) )
              @ A2 )
            = ( Composition @ ( commut6741328216151336360_a_nat @ M @ Composition @ Unit @ F @ A2 ) @ ( commut6741328216151336360_a_nat @ M @ Composition @ Unit @ G @ A2 ) ) ) ) ) ) ).

% commutative_monoid.fincomp_comp
thf(fact_155_commutative__monoid_Ofincomp__unit__eqI,axiom,
    ! [M: set_a,Composition: a > a > a,Unit: a,A2: set_a,F: a > a] :
      ( ( group_4866109990395492029noid_a @ M @ Composition @ Unit )
     => ( ! [X2: a] :
            ( ( member_a @ X2 @ A2 )
           => ( ( F @ X2 )
              = Unit ) )
       => ( ( commut5005951359559292710mp_a_a @ M @ Composition @ Unit @ F @ A2 )
          = Unit ) ) ) ).

% commutative_monoid.fincomp_unit_eqI
thf(fact_156_commutative__monoid_Ofincomp__unit__eqI,axiom,
    ! [M: set_a,Composition: a > a > a,Unit: a,A2: set_nat,F: nat > a] :
      ( ( group_4866109990395492029noid_a @ M @ Composition @ Unit )
     => ( ! [X2: nat] :
            ( ( member_nat @ X2 @ A2 )
           => ( ( F @ X2 )
              = Unit ) )
       => ( ( commut6741328216151336360_a_nat @ M @ Composition @ Unit @ F @ A2 )
          = Unit ) ) ) ).

% commutative_monoid.fincomp_unit_eqI
thf(fact_157_commutative__monoid_Ofincomp__unit,axiom,
    ! [M: set_a,Composition: a > a > a,Unit: a,A2: set_a] :
      ( ( group_4866109990395492029noid_a @ M @ Composition @ Unit )
     => ( ( commut5005951359559292710mp_a_a @ M @ Composition @ Unit
          @ ^ [I: a] : Unit
          @ A2 )
        = Unit ) ) ).

% commutative_monoid.fincomp_unit
thf(fact_158_commutative__monoid_Ofincomp__unit,axiom,
    ! [M: set_a,Composition: a > a > a,Unit: a,A2: set_nat] :
      ( ( group_4866109990395492029noid_a @ M @ Composition @ Unit )
     => ( ( commut6741328216151336360_a_nat @ M @ Composition @ Unit
          @ ^ [I: nat] : Unit
          @ A2 )
        = Unit ) ) ).

% commutative_monoid.fincomp_unit
thf(fact_159_rev__image__eqI,axiom,
    ! [X: a,A2: set_a,B: a,F: a > a] :
      ( ( member_a @ X @ A2 )
     => ( ( B
          = ( F @ X ) )
       => ( member_a @ B @ ( image_a_a @ F @ A2 ) ) ) ) ).

% rev_image_eqI
thf(fact_160_rev__image__eqI,axiom,
    ! [X: a,A2: set_a,B: nat,F: a > nat] :
      ( ( member_a @ X @ A2 )
     => ( ( B
          = ( F @ X ) )
       => ( member_nat @ B @ ( image_a_nat @ F @ A2 ) ) ) ) ).

% rev_image_eqI
thf(fact_161_rev__image__eqI,axiom,
    ! [X: nat,A2: set_nat,B: a,F: nat > a] :
      ( ( member_nat @ X @ A2 )
     => ( ( B
          = ( F @ X ) )
       => ( member_a @ B @ ( image_nat_a @ F @ A2 ) ) ) ) ).

% rev_image_eqI
thf(fact_162_rev__image__eqI,axiom,
    ! [X: nat,A2: set_nat,B: nat,F: nat > nat] :
      ( ( member_nat @ X @ A2 )
     => ( ( B
          = ( F @ X ) )
       => ( member_nat @ B @ ( image_nat_nat @ F @ A2 ) ) ) ) ).

% rev_image_eqI
thf(fact_163_ball__imageD,axiom,
    ! [F: a > a,A2: set_a,P: a > $o] :
      ( ! [X2: a] :
          ( ( member_a @ X2 @ ( image_a_a @ F @ A2 ) )
         => ( P @ X2 ) )
     => ! [X4: a] :
          ( ( member_a @ X4 @ A2 )
         => ( P @ ( F @ X4 ) ) ) ) ).

% ball_imageD
thf(fact_164_image__cong,axiom,
    ! [M: set_a,N: set_a,F: a > a,G: a > a] :
      ( ( M = N )
     => ( ! [X2: a] :
            ( ( member_a @ X2 @ N )
           => ( ( F @ X2 )
              = ( G @ X2 ) ) )
       => ( ( image_a_a @ F @ M )
          = ( image_a_a @ G @ N ) ) ) ) ).

% image_cong
thf(fact_165_bex__imageD,axiom,
    ! [F: a > a,A2: set_a,P: a > $o] :
      ( ? [X4: a] :
          ( ( member_a @ X4 @ ( image_a_a @ F @ A2 ) )
          & ( P @ X4 ) )
     => ? [X2: a] :
          ( ( member_a @ X2 @ A2 )
          & ( P @ ( F @ X2 ) ) ) ) ).

% bex_imageD
thf(fact_166_image__iff,axiom,
    ! [Z: a,F: a > a,A2: set_a] :
      ( ( member_a @ Z @ ( image_a_a @ F @ A2 ) )
      = ( ? [X3: a] :
            ( ( member_a @ X3 @ A2 )
            & ( Z
              = ( F @ X3 ) ) ) ) ) ).

% image_iff
thf(fact_167_imageI,axiom,
    ! [X: a,A2: set_a,F: a > a] :
      ( ( member_a @ X @ A2 )
     => ( member_a @ ( F @ X ) @ ( image_a_a @ F @ A2 ) ) ) ).

% imageI
thf(fact_168_imageI,axiom,
    ! [X: a,A2: set_a,F: a > nat] :
      ( ( member_a @ X @ A2 )
     => ( member_nat @ ( F @ X ) @ ( image_a_nat @ F @ A2 ) ) ) ).

% imageI
thf(fact_169_imageI,axiom,
    ! [X: nat,A2: set_nat,F: nat > a] :
      ( ( member_nat @ X @ A2 )
     => ( member_a @ ( F @ X ) @ ( image_nat_a @ F @ A2 ) ) ) ).

% imageI
thf(fact_170_imageI,axiom,
    ! [X: nat,A2: set_nat,F: nat > nat] :
      ( ( member_nat @ X @ A2 )
     => ( member_nat @ ( F @ X ) @ ( image_nat_nat @ F @ A2 ) ) ) ).

% imageI
thf(fact_171_Compr__image__eq,axiom,
    ! [F: a > a,A2: set_a,P: a > $o] :
      ( ( collect_a
        @ ^ [X3: a] :
            ( ( member_a @ X3 @ ( image_a_a @ F @ A2 ) )
            & ( P @ X3 ) ) )
      = ( image_a_a @ F
        @ ( collect_a
          @ ^ [X3: a] :
              ( ( member_a @ X3 @ A2 )
              & ( P @ ( F @ X3 ) ) ) ) ) ) ).

% Compr_image_eq
thf(fact_172_Compr__image__eq,axiom,
    ! [F: nat > a,A2: set_nat,P: a > $o] :
      ( ( collect_a
        @ ^ [X3: a] :
            ( ( member_a @ X3 @ ( image_nat_a @ F @ A2 ) )
            & ( P @ X3 ) ) )
      = ( image_nat_a @ F
        @ ( collect_nat
          @ ^ [X3: nat] :
              ( ( member_nat @ X3 @ A2 )
              & ( P @ ( F @ X3 ) ) ) ) ) ) ).

% Compr_image_eq
thf(fact_173_Compr__image__eq,axiom,
    ! [F: a > nat,A2: set_a,P: nat > $o] :
      ( ( collect_nat
        @ ^ [X3: nat] :
            ( ( member_nat @ X3 @ ( image_a_nat @ F @ A2 ) )
            & ( P @ X3 ) ) )
      = ( image_a_nat @ F
        @ ( collect_a
          @ ^ [X3: a] :
              ( ( member_a @ X3 @ A2 )
              & ( P @ ( F @ X3 ) ) ) ) ) ) ).

% Compr_image_eq
thf(fact_174_Compr__image__eq,axiom,
    ! [F: nat > nat,A2: set_nat,P: nat > $o] :
      ( ( collect_nat
        @ ^ [X3: nat] :
            ( ( member_nat @ X3 @ ( image_nat_nat @ F @ A2 ) )
            & ( P @ X3 ) ) )
      = ( image_nat_nat @ F
        @ ( collect_nat
          @ ^ [X3: nat] :
              ( ( member_nat @ X3 @ A2 )
              & ( P @ ( F @ X3 ) ) ) ) ) ) ).

% Compr_image_eq
thf(fact_175_image__image,axiom,
    ! [F: a > a,G: a > a,A2: set_a] :
      ( ( image_a_a @ F @ ( image_a_a @ G @ A2 ) )
      = ( image_a_a
        @ ^ [X3: a] : ( F @ ( G @ X3 ) )
        @ A2 ) ) ).

% image_image
thf(fact_176_imageE,axiom,
    ! [B: a,F: a > a,A2: set_a] :
      ( ( member_a @ B @ ( image_a_a @ F @ A2 ) )
     => ~ ! [X2: a] :
            ( ( B
              = ( F @ X2 ) )
           => ~ ( member_a @ X2 @ A2 ) ) ) ).

% imageE
thf(fact_177_imageE,axiom,
    ! [B: a,F: nat > a,A2: set_nat] :
      ( ( member_a @ B @ ( image_nat_a @ F @ A2 ) )
     => ~ ! [X2: nat] :
            ( ( B
              = ( F @ X2 ) )
           => ~ ( member_nat @ X2 @ A2 ) ) ) ).

% imageE
thf(fact_178_imageE,axiom,
    ! [B: nat,F: a > nat,A2: set_a] :
      ( ( member_nat @ B @ ( image_a_nat @ F @ A2 ) )
     => ~ ! [X2: a] :
            ( ( B
              = ( F @ X2 ) )
           => ~ ( member_a @ X2 @ A2 ) ) ) ).

% imageE
thf(fact_179_imageE,axiom,
    ! [B: nat,F: nat > nat,A2: set_nat] :
      ( ( member_nat @ B @ ( image_nat_nat @ F @ A2 ) )
     => ~ ! [X2: nat] :
            ( ( B
              = ( F @ X2 ) )
           => ~ ( member_nat @ X2 @ A2 ) ) ) ).

% imageE
thf(fact_180_Units__def,axiom,
    ( ( group_Units_a @ g @ composition @ unit )
    = ( collect_a
      @ ^ [U2: a] :
          ( ( member_a @ U2 @ g )
          & ( group_invertible_a @ g @ composition @ unit @ U2 ) ) ) ) ).

% Units_def
thf(fact_181_mem__UnitsI,axiom,
    ! [U: a] :
      ( ( group_invertible_a @ g @ composition @ unit @ U )
     => ( ( member_a @ U @ g )
       => ( member_a @ U @ ( group_Units_a @ g @ composition @ unit ) ) ) ) ).

% mem_UnitsI
thf(fact_182_mem__UnitsD,axiom,
    ! [U: a] :
      ( ( member_a @ U @ ( group_Units_a @ g @ composition @ unit ) )
     => ( ( group_invertible_a @ g @ composition @ unit @ U )
        & ( member_a @ U @ g ) ) ) ).

% mem_UnitsD
thf(fact_183_inverse__subgroupI,axiom,
    ! [H: set_a] :
      ( ( group_subgroup_a @ H @ g @ composition @ unit )
     => ( group_subgroup_a @ ( image_a_a @ ( group_inverse_a @ g @ composition @ unit ) @ H ) @ g @ composition @ unit ) ) ).

% inverse_subgroupI
thf(fact_184_fincomp__def,axiom,
    ! [A2: set_a,F: a > a] :
      ( ( ( finite_finite_a @ A2 )
       => ( ( commut5005951359559292710mp_a_a @ g @ composition @ unit @ F @ A2 )
          = ( finite_fold_a_a
            @ ^ [X3: a,Y3: a] : ( composition @ ( F @ X3 ) @ ( commutative_M_ify_a @ g @ unit @ Y3 ) )
            @ unit
            @ A2 ) ) )
      & ( ~ ( finite_finite_a @ A2 )
       => ( ( commut5005951359559292710mp_a_a @ g @ composition @ unit @ F @ A2 )
          = unit ) ) ) ).

% fincomp_def
thf(fact_185_fincomp__def,axiom,
    ! [A2: set_nat,F: nat > a] :
      ( ( ( finite_finite_nat @ A2 )
       => ( ( commut6741328216151336360_a_nat @ g @ composition @ unit @ F @ A2 )
          = ( finite_fold_nat_a
            @ ^ [X3: nat,Y3: a] : ( composition @ ( F @ X3 ) @ ( commutative_M_ify_a @ g @ unit @ Y3 ) )
            @ unit
            @ A2 ) ) )
      & ( ~ ( finite_finite_nat @ A2 )
       => ( ( commut6741328216151336360_a_nat @ g @ composition @ unit @ F @ A2 )
          = unit ) ) ) ).

% fincomp_def
thf(fact_186_fincomp__reindex,axiom,
    ! [F: a > a,H2: a > a,A2: set_a] :
      ( ( member_a_a @ F
        @ ( pi_a_a @ ( image_a_a @ H2 @ A2 )
          @ ^ [Uu: a] : g ) )
     => ( ( inj_on_a_a @ H2 @ A2 )
       => ( ( commut5005951359559292710mp_a_a @ g @ composition @ unit @ F @ ( image_a_a @ H2 @ A2 ) )
          = ( commut5005951359559292710mp_a_a @ g @ composition @ unit
            @ ^ [X3: a] : ( F @ ( H2 @ X3 ) )
            @ A2 ) ) ) ) ).

% fincomp_reindex
thf(fact_187_fincomp__reindex,axiom,
    ! [F: a > a,H2: nat > a,A2: set_nat] :
      ( ( member_a_a @ F
        @ ( pi_a_a @ ( image_nat_a @ H2 @ A2 )
          @ ^ [Uu: a] : g ) )
     => ( ( inj_on_nat_a @ H2 @ A2 )
       => ( ( commut5005951359559292710mp_a_a @ g @ composition @ unit @ F @ ( image_nat_a @ H2 @ A2 ) )
          = ( commut6741328216151336360_a_nat @ g @ composition @ unit
            @ ^ [X3: nat] : ( F @ ( H2 @ X3 ) )
            @ A2 ) ) ) ) ).

% fincomp_reindex
thf(fact_188_fincomp__reindex,axiom,
    ! [F: nat > a,H2: a > nat,A2: set_a] :
      ( ( member_nat_a @ F
        @ ( pi_nat_a @ ( image_a_nat @ H2 @ A2 )
          @ ^ [Uu: nat] : g ) )
     => ( ( inj_on_a_nat @ H2 @ A2 )
       => ( ( commut6741328216151336360_a_nat @ g @ composition @ unit @ F @ ( image_a_nat @ H2 @ A2 ) )
          = ( commut5005951359559292710mp_a_a @ g @ composition @ unit
            @ ^ [X3: a] : ( F @ ( H2 @ X3 ) )
            @ A2 ) ) ) ) ).

% fincomp_reindex
thf(fact_189_fincomp__reindex,axiom,
    ! [F: nat > a,H2: nat > nat,A2: set_nat] :
      ( ( member_nat_a @ F
        @ ( pi_nat_a @ ( image_nat_nat @ H2 @ A2 )
          @ ^ [Uu: nat] : g ) )
     => ( ( inj_on_nat_nat @ H2 @ A2 )
       => ( ( commut6741328216151336360_a_nat @ g @ composition @ unit @ F @ ( image_nat_nat @ H2 @ A2 ) )
          = ( commut6741328216151336360_a_nat @ g @ composition @ unit
            @ ^ [X3: nat] : ( F @ ( H2 @ X3 ) )
            @ A2 ) ) ) ) ).

% fincomp_reindex
thf(fact_190_finite__imageI,axiom,
    ! [F2: set_a,H2: a > a] :
      ( ( finite_finite_a @ F2 )
     => ( finite_finite_a @ ( image_a_a @ H2 @ F2 ) ) ) ).

% finite_imageI
thf(fact_191_finite__imageI,axiom,
    ! [F2: set_a,H2: a > nat] :
      ( ( finite_finite_a @ F2 )
     => ( finite_finite_nat @ ( image_a_nat @ H2 @ F2 ) ) ) ).

% finite_imageI
thf(fact_192_finite__imageI,axiom,
    ! [F2: set_nat,H2: nat > a] :
      ( ( finite_finite_nat @ F2 )
     => ( finite_finite_a @ ( image_nat_a @ H2 @ F2 ) ) ) ).

% finite_imageI
thf(fact_193_finite__imageI,axiom,
    ! [F2: set_nat,H2: nat > nat] :
      ( ( finite_finite_nat @ F2 )
     => ( finite_finite_nat @ ( image_nat_nat @ H2 @ F2 ) ) ) ).

% finite_imageI
thf(fact_194_group__of__Units,axiom,
    group_group_a @ ( group_Units_a @ g @ composition @ unit ) @ composition @ unit ).

% group_of_Units
thf(fact_195_abelian__group_Ointro,axiom,
    ! [G2: set_a,Composition: a > a > a,Unit: a] :
      ( ( group_group_a @ G2 @ Composition @ Unit )
     => ( ( group_4866109990395492029noid_a @ G2 @ Composition @ Unit )
       => ( group_201663378560352916roup_a @ G2 @ Composition @ Unit ) ) ) ).

% abelian_group.intro
thf(fact_196_abelian__group__def,axiom,
    ( group_201663378560352916roup_a
    = ( ^ [G3: set_a,Composition2: a > a > a,Unit2: a] :
          ( ( group_group_a @ G3 @ Composition2 @ Unit2 )
          & ( group_4866109990395492029noid_a @ G3 @ Composition2 @ Unit2 ) ) ) ) ).

% abelian_group_def
thf(fact_197_finite__Collect__disjI,axiom,
    ! [P: a > $o,Q: a > $o] :
      ( ( finite_finite_a
        @ ( collect_a
          @ ^ [X3: a] :
              ( ( P @ X3 )
              | ( Q @ X3 ) ) ) )
      = ( ( finite_finite_a @ ( collect_a @ P ) )
        & ( finite_finite_a @ ( collect_a @ Q ) ) ) ) ).

% finite_Collect_disjI
thf(fact_198_finite__Collect__disjI,axiom,
    ! [P: nat > $o,Q: nat > $o] :
      ( ( finite_finite_nat
        @ ( collect_nat
          @ ^ [X3: nat] :
              ( ( P @ X3 )
              | ( Q @ X3 ) ) ) )
      = ( ( finite_finite_nat @ ( collect_nat @ P ) )
        & ( finite_finite_nat @ ( collect_nat @ Q ) ) ) ) ).

% finite_Collect_disjI
thf(fact_199_finite__Collect__conjI,axiom,
    ! [P: a > $o,Q: a > $o] :
      ( ( ( finite_finite_a @ ( collect_a @ P ) )
        | ( finite_finite_a @ ( collect_a @ Q ) ) )
     => ( finite_finite_a
        @ ( collect_a
          @ ^ [X3: a] :
              ( ( P @ X3 )
              & ( Q @ X3 ) ) ) ) ) ).

% finite_Collect_conjI
thf(fact_200_finite__Collect__conjI,axiom,
    ! [P: nat > $o,Q: nat > $o] :
      ( ( ( finite_finite_nat @ ( collect_nat @ P ) )
        | ( finite_finite_nat @ ( collect_nat @ Q ) ) )
     => ( finite_finite_nat
        @ ( collect_nat
          @ ^ [X3: nat] :
              ( ( P @ X3 )
              & ( Q @ X3 ) ) ) ) ) ).

% finite_Collect_conjI
thf(fact_201_subgroup__transitive,axiom,
    ! [K: set_a,H: set_a,Composition: a > a > a,Unit: a,G2: set_a] :
      ( ( group_subgroup_a @ K @ H @ Composition @ Unit )
     => ( ( group_subgroup_a @ H @ G2 @ Composition @ Unit )
       => ( group_subgroup_a @ K @ G2 @ Composition @ Unit ) ) ) ).

% subgroup_transitive
thf(fact_202_fold__closed__eq,axiom,
    ! [A2: set_a,B2: set_a,F: a > a > a,G: a > a > a,Z: a] :
      ( ! [A3: a,B3: a] :
          ( ( member_a @ A3 @ A2 )
         => ( ( member_a @ B3 @ B2 )
           => ( ( F @ A3 @ B3 )
              = ( G @ A3 @ B3 ) ) ) )
     => ( ! [A3: a,B3: a] :
            ( ( member_a @ A3 @ A2 )
           => ( ( member_a @ B3 @ B2 )
             => ( member_a @ ( G @ A3 @ B3 ) @ B2 ) ) )
       => ( ( member_a @ Z @ B2 )
         => ( ( finite_fold_a_a @ F @ Z @ A2 )
            = ( finite_fold_a_a @ G @ Z @ A2 ) ) ) ) ) ).

% fold_closed_eq
thf(fact_203_fold__closed__eq,axiom,
    ! [A2: set_a,B2: set_nat,F: a > nat > nat,G: a > nat > nat,Z: nat] :
      ( ! [A3: a,B3: nat] :
          ( ( member_a @ A3 @ A2 )
         => ( ( member_nat @ B3 @ B2 )
           => ( ( F @ A3 @ B3 )
              = ( G @ A3 @ B3 ) ) ) )
     => ( ! [A3: a,B3: nat] :
            ( ( member_a @ A3 @ A2 )
           => ( ( member_nat @ B3 @ B2 )
             => ( member_nat @ ( G @ A3 @ B3 ) @ B2 ) ) )
       => ( ( member_nat @ Z @ B2 )
         => ( ( finite_fold_a_nat @ F @ Z @ A2 )
            = ( finite_fold_a_nat @ G @ Z @ A2 ) ) ) ) ) ).

% fold_closed_eq
thf(fact_204_fold__closed__eq,axiom,
    ! [A2: set_nat,B2: set_a,F: nat > a > a,G: nat > a > a,Z: a] :
      ( ! [A3: nat,B3: a] :
          ( ( member_nat @ A3 @ A2 )
         => ( ( member_a @ B3 @ B2 )
           => ( ( F @ A3 @ B3 )
              = ( G @ A3 @ B3 ) ) ) )
     => ( ! [A3: nat,B3: a] :
            ( ( member_nat @ A3 @ A2 )
           => ( ( member_a @ B3 @ B2 )
             => ( member_a @ ( G @ A3 @ B3 ) @ B2 ) ) )
       => ( ( member_a @ Z @ B2 )
         => ( ( finite_fold_nat_a @ F @ Z @ A2 )
            = ( finite_fold_nat_a @ G @ Z @ A2 ) ) ) ) ) ).

% fold_closed_eq
thf(fact_205_fold__closed__eq,axiom,
    ! [A2: set_nat,B2: set_nat,F: nat > nat > nat,G: nat > nat > nat,Z: nat] :
      ( ! [A3: nat,B3: nat] :
          ( ( member_nat @ A3 @ A2 )
         => ( ( member_nat @ B3 @ B2 )
           => ( ( F @ A3 @ B3 )
              = ( G @ A3 @ B3 ) ) ) )
     => ( ! [A3: nat,B3: nat] :
            ( ( member_nat @ A3 @ A2 )
           => ( ( member_nat @ B3 @ B2 )
             => ( member_nat @ ( G @ A3 @ B3 ) @ B2 ) ) )
       => ( ( member_nat @ Z @ B2 )
         => ( ( finite_fold_nat_nat @ F @ Z @ A2 )
            = ( finite_fold_nat_nat @ G @ Z @ A2 ) ) ) ) ) ).

% fold_closed_eq
thf(fact_206_monoid_OUnits_Ocong,axiom,
    group_Units_a = group_Units_a ).

% monoid.Units.cong
thf(fact_207_finite__inverse__image__gen,axiom,
    ! [A2: set_a,F: a > a,D: set_a] :
      ( ( finite_finite_a @ A2 )
     => ( ( inj_on_a_a @ F @ D )
       => ( finite_finite_a
          @ ( collect_a
            @ ^ [J: a] :
                ( ( member_a @ J @ D )
                & ( member_a @ ( F @ J ) @ A2 ) ) ) ) ) ) ).

% finite_inverse_image_gen
thf(fact_208_finite__inverse__image__gen,axiom,
    ! [A2: set_a,F: nat > a,D: set_nat] :
      ( ( finite_finite_a @ A2 )
     => ( ( inj_on_nat_a @ F @ D )
       => ( finite_finite_nat
          @ ( collect_nat
            @ ^ [J: nat] :
                ( ( member_nat @ J @ D )
                & ( member_a @ ( F @ J ) @ A2 ) ) ) ) ) ) ).

% finite_inverse_image_gen
thf(fact_209_finite__inverse__image__gen,axiom,
    ! [A2: set_nat,F: a > nat,D: set_a] :
      ( ( finite_finite_nat @ A2 )
     => ( ( inj_on_a_nat @ F @ D )
       => ( finite_finite_a
          @ ( collect_a
            @ ^ [J: a] :
                ( ( member_a @ J @ D )
                & ( member_nat @ ( F @ J ) @ A2 ) ) ) ) ) ) ).

% finite_inverse_image_gen
thf(fact_210_finite__inverse__image__gen,axiom,
    ! [A2: set_nat,F: nat > nat,D: set_nat] :
      ( ( finite_finite_nat @ A2 )
     => ( ( inj_on_nat_nat @ F @ D )
       => ( finite_finite_nat
          @ ( collect_nat
            @ ^ [J: nat] :
                ( ( member_nat @ J @ D )
                & ( member_nat @ ( F @ J ) @ A2 ) ) ) ) ) ) ).

% finite_inverse_image_gen
thf(fact_211_subgroup_Osubgroup__inverse__equality,axiom,
    ! [G2: set_nat,M: set_nat,Composition: nat > nat > nat,Unit: nat,U: nat] :
      ( ( group_subgroup_nat @ G2 @ M @ Composition @ Unit )
     => ( ( member_nat @ U @ G2 )
       => ( ( group_inverse_nat @ M @ Composition @ Unit @ U )
          = ( group_inverse_nat @ G2 @ Composition @ Unit @ U ) ) ) ) ).

% subgroup.subgroup_inverse_equality
thf(fact_212_subgroup_Osubgroup__inverse__equality,axiom,
    ! [G2: set_a,M: set_a,Composition: a > a > a,Unit: a,U: a] :
      ( ( group_subgroup_a @ G2 @ M @ Composition @ Unit )
     => ( ( member_a @ U @ G2 )
       => ( ( group_inverse_a @ M @ Composition @ Unit @ U )
          = ( group_inverse_a @ G2 @ Composition @ Unit @ U ) ) ) ) ).

% subgroup.subgroup_inverse_equality
thf(fact_213_subgroup_Oaxioms_I2_J,axiom,
    ! [G2: set_a,M: set_a,Composition: a > a > a,Unit: a] :
      ( ( group_subgroup_a @ G2 @ M @ Composition @ Unit )
     => ( group_group_a @ G2 @ Composition @ Unit ) ) ).

% subgroup.axioms(2)
thf(fact_214_finite__image__iff,axiom,
    ! [F: a > a,A2: set_a] :
      ( ( inj_on_a_a @ F @ A2 )
     => ( ( finite_finite_a @ ( image_a_a @ F @ A2 ) )
        = ( finite_finite_a @ A2 ) ) ) ).

% finite_image_iff
thf(fact_215_finite__image__iff,axiom,
    ! [F: nat > a,A2: set_nat] :
      ( ( inj_on_nat_a @ F @ A2 )
     => ( ( finite_finite_a @ ( image_nat_a @ F @ A2 ) )
        = ( finite_finite_nat @ A2 ) ) ) ).

% finite_image_iff
thf(fact_216_finite__image__iff,axiom,
    ! [F: a > nat,A2: set_a] :
      ( ( inj_on_a_nat @ F @ A2 )
     => ( ( finite_finite_nat @ ( image_a_nat @ F @ A2 ) )
        = ( finite_finite_a @ A2 ) ) ) ).

% finite_image_iff
thf(fact_217_finite__image__iff,axiom,
    ! [F: nat > nat,A2: set_nat] :
      ( ( inj_on_nat_nat @ F @ A2 )
     => ( ( finite_finite_nat @ ( image_nat_nat @ F @ A2 ) )
        = ( finite_finite_nat @ A2 ) ) ) ).

% finite_image_iff
thf(fact_218_finite__imageD,axiom,
    ! [F: a > a,A2: set_a] :
      ( ( finite_finite_a @ ( image_a_a @ F @ A2 ) )
     => ( ( inj_on_a_a @ F @ A2 )
       => ( finite_finite_a @ A2 ) ) ) ).

% finite_imageD
thf(fact_219_finite__imageD,axiom,
    ! [F: nat > a,A2: set_nat] :
      ( ( finite_finite_a @ ( image_nat_a @ F @ A2 ) )
     => ( ( inj_on_nat_a @ F @ A2 )
       => ( finite_finite_nat @ A2 ) ) ) ).

% finite_imageD
thf(fact_220_finite__imageD,axiom,
    ! [F: a > nat,A2: set_a] :
      ( ( finite_finite_nat @ ( image_a_nat @ F @ A2 ) )
     => ( ( inj_on_a_nat @ F @ A2 )
       => ( finite_finite_a @ A2 ) ) ) ).

% finite_imageD
thf(fact_221_finite__imageD,axiom,
    ! [F: nat > nat,A2: set_nat] :
      ( ( finite_finite_nat @ ( image_nat_nat @ F @ A2 ) )
     => ( ( inj_on_nat_nat @ F @ A2 )
       => ( finite_finite_nat @ A2 ) ) ) ).

% finite_imageD
thf(fact_222_subgroup_Oimage__of__inverse,axiom,
    ! [G2: set_nat,M: set_nat,Composition: nat > nat > nat,Unit: nat,X: nat] :
      ( ( group_subgroup_nat @ G2 @ M @ Composition @ Unit )
     => ( ( member_nat @ X @ G2 )
       => ( member_nat @ X @ ( image_nat_nat @ ( group_inverse_nat @ M @ Composition @ Unit ) @ G2 ) ) ) ) ).

% subgroup.image_of_inverse
thf(fact_223_subgroup_Oimage__of__inverse,axiom,
    ! [G2: set_a,M: set_a,Composition: a > a > a,Unit: a,X: a] :
      ( ( group_subgroup_a @ G2 @ M @ Composition @ Unit )
     => ( ( member_a @ X @ G2 )
       => ( member_a @ X @ ( image_a_a @ ( group_inverse_a @ M @ Composition @ Unit ) @ G2 ) ) ) ) ).

% subgroup.image_of_inverse
thf(fact_224_subgroup_Osubgroup__inverse__iff,axiom,
    ! [G2: set_nat,M: set_nat,Composition: nat > nat > nat,Unit: nat,X: nat] :
      ( ( group_subgroup_nat @ G2 @ M @ Composition @ Unit )
     => ( ( group_invertible_nat @ M @ Composition @ Unit @ X )
       => ( ( member_nat @ X @ M )
         => ( ( member_nat @ ( group_inverse_nat @ M @ Composition @ Unit @ X ) @ G2 )
            = ( member_nat @ X @ G2 ) ) ) ) ) ).

% subgroup.subgroup_inverse_iff
thf(fact_225_subgroup_Osubgroup__inverse__iff,axiom,
    ! [G2: set_a,M: set_a,Composition: a > a > a,Unit: a,X: a] :
      ( ( group_subgroup_a @ G2 @ M @ Composition @ Unit )
     => ( ( group_invertible_a @ M @ Composition @ Unit @ X )
       => ( ( member_a @ X @ M )
         => ( ( member_a @ ( group_inverse_a @ M @ Composition @ Unit @ X ) @ G2 )
            = ( member_a @ X @ G2 ) ) ) ) ) ).

% subgroup.subgroup_inverse_iff
thf(fact_226_monoid_Omem__UnitsI,axiom,
    ! [M: set_nat,Composition: nat > nat > nat,Unit: nat,U: nat] :
      ( ( group_monoid_nat @ M @ Composition @ Unit )
     => ( ( group_invertible_nat @ M @ Composition @ Unit @ U )
       => ( ( member_nat @ U @ M )
         => ( member_nat @ U @ ( group_Units_nat @ M @ Composition @ Unit ) ) ) ) ) ).

% monoid.mem_UnitsI
thf(fact_227_monoid_Omem__UnitsI,axiom,
    ! [M: set_a,Composition: a > a > a,Unit: a,U: a] :
      ( ( group_monoid_a @ M @ Composition @ Unit )
     => ( ( group_invertible_a @ M @ Composition @ Unit @ U )
       => ( ( member_a @ U @ M )
         => ( member_a @ U @ ( group_Units_a @ M @ Composition @ Unit ) ) ) ) ) ).

% monoid.mem_UnitsI
thf(fact_228_monoid_Omem__UnitsD,axiom,
    ! [M: set_nat,Composition: nat > nat > nat,Unit: nat,U: nat] :
      ( ( group_monoid_nat @ M @ Composition @ Unit )
     => ( ( member_nat @ U @ ( group_Units_nat @ M @ Composition @ Unit ) )
       => ( ( group_invertible_nat @ M @ Composition @ Unit @ U )
          & ( member_nat @ U @ M ) ) ) ) ).

% monoid.mem_UnitsD
thf(fact_229_monoid_Omem__UnitsD,axiom,
    ! [M: set_a,Composition: a > a > a,Unit: a,U: a] :
      ( ( group_monoid_a @ M @ Composition @ Unit )
     => ( ( member_a @ U @ ( group_Units_a @ M @ Composition @ Unit ) )
       => ( ( group_invertible_a @ M @ Composition @ Unit @ U )
          & ( member_a @ U @ M ) ) ) ) ).

% monoid.mem_UnitsD
thf(fact_230_monoid_Ogroup__of__Units,axiom,
    ! [M: set_a,Composition: a > a > a,Unit: a] :
      ( ( group_monoid_a @ M @ Composition @ Unit )
     => ( group_group_a @ ( group_Units_a @ M @ Composition @ Unit ) @ Composition @ Unit ) ) ).

% monoid.group_of_Units
thf(fact_231_group_Oinverse__subgroupI,axiom,
    ! [G2: set_a,Composition: a > a > a,Unit: a,H: set_a] :
      ( ( group_group_a @ G2 @ Composition @ Unit )
     => ( ( group_subgroup_a @ H @ G2 @ Composition @ Unit )
       => ( group_subgroup_a @ ( image_a_a @ ( group_inverse_a @ G2 @ Composition @ Unit ) @ H ) @ G2 @ Composition @ Unit ) ) ) ).

% group.inverse_subgroupI
thf(fact_232_monoid_OUnits__def,axiom,
    ! [M: set_nat,Composition: nat > nat > nat,Unit: nat] :
      ( ( group_monoid_nat @ M @ Composition @ Unit )
     => ( ( group_Units_nat @ M @ Composition @ Unit )
        = ( collect_nat
          @ ^ [U2: nat] :
              ( ( member_nat @ U2 @ M )
              & ( group_invertible_nat @ M @ Composition @ Unit @ U2 ) ) ) ) ) ).

% monoid.Units_def
thf(fact_233_monoid_OUnits__def,axiom,
    ! [M: set_a,Composition: a > a > a,Unit: a] :
      ( ( group_monoid_a @ M @ Composition @ Unit )
     => ( ( group_Units_a @ M @ Composition @ Unit )
        = ( collect_a
          @ ^ [U2: a] :
              ( ( member_a @ U2 @ M )
              & ( group_invertible_a @ M @ Composition @ Unit @ U2 ) ) ) ) ) ).

% monoid.Units_def
thf(fact_234_Group__Theory_Omonoid__def,axiom,
    ( group_monoid_nat
    = ( ^ [M2: set_nat,Composition2: nat > nat > nat,Unit2: nat] :
          ( ! [A4: nat,B4: nat] :
              ( ( member_nat @ A4 @ M2 )
             => ( ( member_nat @ B4 @ M2 )
               => ( member_nat @ ( Composition2 @ A4 @ B4 ) @ M2 ) ) )
          & ( member_nat @ Unit2 @ M2 )
          & ! [A4: nat,B4: nat,C2: nat] :
              ( ( member_nat @ A4 @ M2 )
             => ( ( member_nat @ B4 @ M2 )
               => ( ( member_nat @ C2 @ M2 )
                 => ( ( Composition2 @ ( Composition2 @ A4 @ B4 ) @ C2 )
                    = ( Composition2 @ A4 @ ( Composition2 @ B4 @ C2 ) ) ) ) ) )
          & ! [A4: nat] :
              ( ( member_nat @ A4 @ M2 )
             => ( ( Composition2 @ Unit2 @ A4 )
                = A4 ) )
          & ! [A4: nat] :
              ( ( member_nat @ A4 @ M2 )
             => ( ( Composition2 @ A4 @ Unit2 )
                = A4 ) ) ) ) ) ).

% Group_Theory.monoid_def
thf(fact_235_Group__Theory_Omonoid__def,axiom,
    ( group_monoid_a
    = ( ^ [M2: set_a,Composition2: a > a > a,Unit2: a] :
          ( ! [A4: a,B4: a] :
              ( ( member_a @ A4 @ M2 )
             => ( ( member_a @ B4 @ M2 )
               => ( member_a @ ( Composition2 @ A4 @ B4 ) @ M2 ) ) )
          & ( member_a @ Unit2 @ M2 )
          & ! [A4: a,B4: a,C2: a] :
              ( ( member_a @ A4 @ M2 )
             => ( ( member_a @ B4 @ M2 )
               => ( ( member_a @ C2 @ M2 )
                 => ( ( Composition2 @ ( Composition2 @ A4 @ B4 ) @ C2 )
                    = ( Composition2 @ A4 @ ( Composition2 @ B4 @ C2 ) ) ) ) ) )
          & ! [A4: a] :
              ( ( member_a @ A4 @ M2 )
             => ( ( Composition2 @ Unit2 @ A4 )
                = A4 ) )
          & ! [A4: a] :
              ( ( member_a @ A4 @ M2 )
             => ( ( Composition2 @ A4 @ Unit2 )
                = A4 ) ) ) ) ) ).

% Group_Theory.monoid_def
thf(fact_236_monoid_Ocomposition__closed,axiom,
    ! [M: set_nat,Composition: nat > nat > nat,Unit: nat,A: nat,B: nat] :
      ( ( group_monoid_nat @ M @ Composition @ Unit )
     => ( ( member_nat @ A @ M )
       => ( ( member_nat @ B @ M )
         => ( member_nat @ ( Composition @ A @ B ) @ M ) ) ) ) ).

% monoid.composition_closed
thf(fact_237_monoid_Ocomposition__closed,axiom,
    ! [M: set_a,Composition: a > a > a,Unit: a,A: a,B: a] :
      ( ( group_monoid_a @ M @ Composition @ Unit )
     => ( ( member_a @ A @ M )
       => ( ( member_a @ B @ M )
         => ( member_a @ ( Composition @ A @ B ) @ M ) ) ) ) ).

% monoid.composition_closed
thf(fact_238_monoid_Oinverse__unique,axiom,
    ! [M: set_nat,Composition: nat > nat > nat,Unit: nat,U: nat,V: nat,V2: nat] :
      ( ( group_monoid_nat @ M @ Composition @ Unit )
     => ( ( ( Composition @ U @ V )
          = Unit )
       => ( ( ( Composition @ V2 @ U )
            = Unit )
         => ( ( member_nat @ U @ M )
           => ( ( member_nat @ V2 @ M )
             => ( ( member_nat @ V @ M )
               => ( V2 = V ) ) ) ) ) ) ) ).

% monoid.inverse_unique
thf(fact_239_monoid_Oinverse__unique,axiom,
    ! [M: set_a,Composition: a > a > a,Unit: a,U: a,V: a,V2: a] :
      ( ( group_monoid_a @ M @ Composition @ Unit )
     => ( ( ( Composition @ U @ V )
          = Unit )
       => ( ( ( Composition @ V2 @ U )
            = Unit )
         => ( ( member_a @ U @ M )
           => ( ( member_a @ V2 @ M )
             => ( ( member_a @ V @ M )
               => ( V2 = V ) ) ) ) ) ) ) ).

% monoid.inverse_unique
thf(fact_240_monoid_Ounit__closed,axiom,
    ! [M: set_nat,Composition: nat > nat > nat,Unit: nat] :
      ( ( group_monoid_nat @ M @ Composition @ Unit )
     => ( member_nat @ Unit @ M ) ) ).

% monoid.unit_closed
thf(fact_241_monoid_Ounit__closed,axiom,
    ! [M: set_a,Composition: a > a > a,Unit: a] :
      ( ( group_monoid_a @ M @ Composition @ Unit )
     => ( member_a @ Unit @ M ) ) ).

% monoid.unit_closed
thf(fact_242_monoid_Oassociative,axiom,
    ! [M: set_nat,Composition: nat > nat > nat,Unit: nat,A: nat,B: nat,C: nat] :
      ( ( group_monoid_nat @ M @ Composition @ Unit )
     => ( ( member_nat @ A @ M )
       => ( ( member_nat @ B @ M )
         => ( ( member_nat @ C @ M )
           => ( ( Composition @ ( Composition @ A @ B ) @ C )
              = ( Composition @ A @ ( Composition @ B @ C ) ) ) ) ) ) ) ).

% monoid.associative
thf(fact_243_monoid_Oassociative,axiom,
    ! [M: set_a,Composition: a > a > a,Unit: a,A: a,B: a,C: a] :
      ( ( group_monoid_a @ M @ Composition @ Unit )
     => ( ( member_a @ A @ M )
       => ( ( member_a @ B @ M )
         => ( ( member_a @ C @ M )
           => ( ( Composition @ ( Composition @ A @ B ) @ C )
              = ( Composition @ A @ ( Composition @ B @ C ) ) ) ) ) ) ) ).

% monoid.associative
thf(fact_244_monoid_Oright__unit,axiom,
    ! [M: set_nat,Composition: nat > nat > nat,Unit: nat,A: nat] :
      ( ( group_monoid_nat @ M @ Composition @ Unit )
     => ( ( member_nat @ A @ M )
       => ( ( Composition @ A @ Unit )
          = A ) ) ) ).

% monoid.right_unit
thf(fact_245_monoid_Oright__unit,axiom,
    ! [M: set_a,Composition: a > a > a,Unit: a,A: a] :
      ( ( group_monoid_a @ M @ Composition @ Unit )
     => ( ( member_a @ A @ M )
       => ( ( Composition @ A @ Unit )
          = A ) ) ) ).

% monoid.right_unit
thf(fact_246_monoid_Oleft__unit,axiom,
    ! [M: set_nat,Composition: nat > nat > nat,Unit: nat,A: nat] :
      ( ( group_monoid_nat @ M @ Composition @ Unit )
     => ( ( member_nat @ A @ M )
       => ( ( Composition @ Unit @ A )
          = A ) ) ) ).

% monoid.left_unit
thf(fact_247_monoid_Oleft__unit,axiom,
    ! [M: set_a,Composition: a > a > a,Unit: a,A: a] :
      ( ( group_monoid_a @ M @ Composition @ Unit )
     => ( ( member_a @ A @ M )
       => ( ( Composition @ Unit @ A )
          = A ) ) ) ).

% monoid.left_unit
thf(fact_248_Group__Theory_Omonoid_Ointro,axiom,
    ! [M: set_nat,Composition: nat > nat > nat,Unit: nat] :
      ( ! [A3: nat,B3: nat] :
          ( ( member_nat @ A3 @ M )
         => ( ( member_nat @ B3 @ M )
           => ( member_nat @ ( Composition @ A3 @ B3 ) @ M ) ) )
     => ( ( member_nat @ Unit @ M )
       => ( ! [A3: nat,B3: nat,C3: nat] :
              ( ( member_nat @ A3 @ M )
             => ( ( member_nat @ B3 @ M )
               => ( ( member_nat @ C3 @ M )
                 => ( ( Composition @ ( Composition @ A3 @ B3 ) @ C3 )
                    = ( Composition @ A3 @ ( Composition @ B3 @ C3 ) ) ) ) ) )
         => ( ! [A3: nat] :
                ( ( member_nat @ A3 @ M )
               => ( ( Composition @ Unit @ A3 )
                  = A3 ) )
           => ( ! [A3: nat] :
                  ( ( member_nat @ A3 @ M )
                 => ( ( Composition @ A3 @ Unit )
                    = A3 ) )
             => ( group_monoid_nat @ M @ Composition @ Unit ) ) ) ) ) ) ).

% Group_Theory.monoid.intro
thf(fact_249_Group__Theory_Omonoid_Ointro,axiom,
    ! [M: set_a,Composition: a > a > a,Unit: a] :
      ( ! [A3: a,B3: a] :
          ( ( member_a @ A3 @ M )
         => ( ( member_a @ B3 @ M )
           => ( member_a @ ( Composition @ A3 @ B3 ) @ M ) ) )
     => ( ( member_a @ Unit @ M )
       => ( ! [A3: a,B3: a,C3: a] :
              ( ( member_a @ A3 @ M )
             => ( ( member_a @ B3 @ M )
               => ( ( member_a @ C3 @ M )
                 => ( ( Composition @ ( Composition @ A3 @ B3 ) @ C3 )
                    = ( Composition @ A3 @ ( Composition @ B3 @ C3 ) ) ) ) ) )
         => ( ! [A3: a] :
                ( ( member_a @ A3 @ M )
               => ( ( Composition @ Unit @ A3 )
                  = A3 ) )
           => ( ! [A3: a] :
                  ( ( member_a @ A3 @ M )
                 => ( ( Composition @ A3 @ Unit )
                    = A3 ) )
             => ( group_monoid_a @ M @ Composition @ Unit ) ) ) ) ) ) ).

% Group_Theory.monoid.intro
thf(fact_250_monoid_Oinvertible_Ocong,axiom,
    group_invertible_a = group_invertible_a ).

% monoid.invertible.cong
thf(fact_251_monoid_Oinverse_Ocong,axiom,
    group_inverse_a = group_inverse_a ).

% monoid.inverse.cong
thf(fact_252_commutative__monoid_Ocommutative,axiom,
    ! [M: set_nat,Composition: nat > nat > nat,Unit: nat,X: nat,Y: nat] :
      ( ( group_6791354081887936081id_nat @ M @ Composition @ Unit )
     => ( ( member_nat @ X @ M )
       => ( ( member_nat @ Y @ M )
         => ( ( Composition @ X @ Y )
            = ( Composition @ Y @ X ) ) ) ) ) ).

% commutative_monoid.commutative
thf(fact_253_commutative__monoid_Ocommutative,axiom,
    ! [M: set_a,Composition: a > a > a,Unit: a,X: a,Y: a] :
      ( ( group_4866109990395492029noid_a @ M @ Composition @ Unit )
     => ( ( member_a @ X @ M )
       => ( ( member_a @ Y @ M )
         => ( ( Composition @ X @ Y )
            = ( Composition @ Y @ X ) ) ) ) ) ).

% commutative_monoid.commutative
thf(fact_254_commutative__monoid_Ofincomp__reindex,axiom,
    ! [M: set_a,Composition: a > a > a,Unit: a,F: a > a,H2: a > a,A2: set_a] :
      ( ( group_4866109990395492029noid_a @ M @ Composition @ Unit )
     => ( ( member_a_a @ F
          @ ( pi_a_a @ ( image_a_a @ H2 @ A2 )
            @ ^ [Uu: a] : M ) )
       => ( ( inj_on_a_a @ H2 @ A2 )
         => ( ( commut5005951359559292710mp_a_a @ M @ Composition @ Unit @ F @ ( image_a_a @ H2 @ A2 ) )
            = ( commut5005951359559292710mp_a_a @ M @ Composition @ Unit
              @ ^ [X3: a] : ( F @ ( H2 @ X3 ) )
              @ A2 ) ) ) ) ) ).

% commutative_monoid.fincomp_reindex
thf(fact_255_commutative__monoid_Ofincomp__reindex,axiom,
    ! [M: set_a,Composition: a > a > a,Unit: a,F: a > a,H2: nat > a,A2: set_nat] :
      ( ( group_4866109990395492029noid_a @ M @ Composition @ Unit )
     => ( ( member_a_a @ F
          @ ( pi_a_a @ ( image_nat_a @ H2 @ A2 )
            @ ^ [Uu: a] : M ) )
       => ( ( inj_on_nat_a @ H2 @ A2 )
         => ( ( commut5005951359559292710mp_a_a @ M @ Composition @ Unit @ F @ ( image_nat_a @ H2 @ A2 ) )
            = ( commut6741328216151336360_a_nat @ M @ Composition @ Unit
              @ ^ [X3: nat] : ( F @ ( H2 @ X3 ) )
              @ A2 ) ) ) ) ) ).

% commutative_monoid.fincomp_reindex
thf(fact_256_commutative__monoid_Ofincomp__reindex,axiom,
    ! [M: set_a,Composition: a > a > a,Unit: a,F: nat > a,H2: a > nat,A2: set_a] :
      ( ( group_4866109990395492029noid_a @ M @ Composition @ Unit )
     => ( ( member_nat_a @ F
          @ ( pi_nat_a @ ( image_a_nat @ H2 @ A2 )
            @ ^ [Uu: nat] : M ) )
       => ( ( inj_on_a_nat @ H2 @ A2 )
         => ( ( commut6741328216151336360_a_nat @ M @ Composition @ Unit @ F @ ( image_a_nat @ H2 @ A2 ) )
            = ( commut5005951359559292710mp_a_a @ M @ Composition @ Unit
              @ ^ [X3: a] : ( F @ ( H2 @ X3 ) )
              @ A2 ) ) ) ) ) ).

% commutative_monoid.fincomp_reindex
thf(fact_257_commutative__monoid_Ofincomp__reindex,axiom,
    ! [M: set_a,Composition: a > a > a,Unit: a,F: nat > a,H2: nat > nat,A2: set_nat] :
      ( ( group_4866109990395492029noid_a @ M @ Composition @ Unit )
     => ( ( member_nat_a @ F
          @ ( pi_nat_a @ ( image_nat_nat @ H2 @ A2 )
            @ ^ [Uu: nat] : M ) )
       => ( ( inj_on_nat_nat @ H2 @ A2 )
         => ( ( commut6741328216151336360_a_nat @ M @ Composition @ Unit @ F @ ( image_nat_nat @ H2 @ A2 ) )
            = ( commut6741328216151336360_a_nat @ M @ Composition @ Unit
              @ ^ [X3: nat] : ( F @ ( H2 @ X3 ) )
              @ A2 ) ) ) ) ) ).

% commutative_monoid.fincomp_reindex
thf(fact_258_pigeonhole__infinite__rel,axiom,
    ! [A2: set_a,B2: set_a,R: a > a > $o] :
      ( ~ ( finite_finite_a @ A2 )
     => ( ( finite_finite_a @ B2 )
       => ( ! [X2: a] :
              ( ( member_a @ X2 @ A2 )
             => ? [Xa: a] :
                  ( ( member_a @ Xa @ B2 )
                  & ( R @ X2 @ Xa ) ) )
         => ? [X2: a] :
              ( ( member_a @ X2 @ B2 )
              & ~ ( finite_finite_a
                  @ ( collect_a
                    @ ^ [A4: a] :
                        ( ( member_a @ A4 @ A2 )
                        & ( R @ A4 @ X2 ) ) ) ) ) ) ) ) ).

% pigeonhole_infinite_rel
thf(fact_259_pigeonhole__infinite__rel,axiom,
    ! [A2: set_a,B2: set_nat,R: a > nat > $o] :
      ( ~ ( finite_finite_a @ A2 )
     => ( ( finite_finite_nat @ B2 )
       => ( ! [X2: a] :
              ( ( member_a @ X2 @ A2 )
             => ? [Xa: nat] :
                  ( ( member_nat @ Xa @ B2 )
                  & ( R @ X2 @ Xa ) ) )
         => ? [X2: nat] :
              ( ( member_nat @ X2 @ B2 )
              & ~ ( finite_finite_a
                  @ ( collect_a
                    @ ^ [A4: a] :
                        ( ( member_a @ A4 @ A2 )
                        & ( R @ A4 @ X2 ) ) ) ) ) ) ) ) ).

% pigeonhole_infinite_rel
thf(fact_260_pigeonhole__infinite__rel,axiom,
    ! [A2: set_nat,B2: set_a,R: nat > a > $o] :
      ( ~ ( finite_finite_nat @ A2 )
     => ( ( finite_finite_a @ B2 )
       => ( ! [X2: nat] :
              ( ( member_nat @ X2 @ A2 )
             => ? [Xa: a] :
                  ( ( member_a @ Xa @ B2 )
                  & ( R @ X2 @ Xa ) ) )
         => ? [X2: a] :
              ( ( member_a @ X2 @ B2 )
              & ~ ( finite_finite_nat
                  @ ( collect_nat
                    @ ^ [A4: nat] :
                        ( ( member_nat @ A4 @ A2 )
                        & ( R @ A4 @ X2 ) ) ) ) ) ) ) ) ).

% pigeonhole_infinite_rel
thf(fact_261_pigeonhole__infinite__rel,axiom,
    ! [A2: set_nat,B2: set_nat,R: nat > nat > $o] :
      ( ~ ( finite_finite_nat @ A2 )
     => ( ( finite_finite_nat @ B2 )
       => ( ! [X2: nat] :
              ( ( member_nat @ X2 @ A2 )
             => ? [Xa: nat] :
                  ( ( member_nat @ Xa @ B2 )
                  & ( R @ X2 @ Xa ) ) )
         => ? [X2: nat] :
              ( ( member_nat @ X2 @ B2 )
              & ~ ( finite_finite_nat
                  @ ( collect_nat
                    @ ^ [A4: nat] :
                        ( ( member_nat @ A4 @ A2 )
                        & ( R @ A4 @ X2 ) ) ) ) ) ) ) ) ).

% pigeonhole_infinite_rel
thf(fact_262_not__finite__existsD,axiom,
    ! [P: a > $o] :
      ( ~ ( finite_finite_a @ ( collect_a @ P ) )
     => ? [X_1: a] : ( P @ X_1 ) ) ).

% not_finite_existsD
thf(fact_263_not__finite__existsD,axiom,
    ! [P: nat > $o] :
      ( ~ ( finite_finite_nat @ ( collect_nat @ P ) )
     => ? [X_1: nat] : ( P @ X_1 ) ) ).

% not_finite_existsD
thf(fact_264_commutative__monoid_Ofincomp__def,axiom,
    ! [M: set_a,Composition: a > a > a,Unit: a,A2: set_a,F: a > a] :
      ( ( group_4866109990395492029noid_a @ M @ Composition @ Unit )
     => ( ( ( finite_finite_a @ A2 )
         => ( ( commut5005951359559292710mp_a_a @ M @ Composition @ Unit @ F @ A2 )
            = ( finite_fold_a_a
              @ ^ [X3: a,Y3: a] : ( Composition @ ( F @ X3 ) @ ( commutative_M_ify_a @ M @ Unit @ Y3 ) )
              @ Unit
              @ A2 ) ) )
        & ( ~ ( finite_finite_a @ A2 )
         => ( ( commut5005951359559292710mp_a_a @ M @ Composition @ Unit @ F @ A2 )
            = Unit ) ) ) ) ).

% commutative_monoid.fincomp_def
thf(fact_265_commutative__monoid_Ofincomp__def,axiom,
    ! [M: set_a,Composition: a > a > a,Unit: a,A2: set_nat,F: nat > a] :
      ( ( group_4866109990395492029noid_a @ M @ Composition @ Unit )
     => ( ( ( finite_finite_nat @ A2 )
         => ( ( commut6741328216151336360_a_nat @ M @ Composition @ Unit @ F @ A2 )
            = ( finite_fold_nat_a
              @ ^ [X3: nat,Y3: a] : ( Composition @ ( F @ X3 ) @ ( commutative_M_ify_a @ M @ Unit @ Y3 ) )
              @ Unit
              @ A2 ) ) )
        & ( ~ ( finite_finite_nat @ A2 )
         => ( ( commut6741328216151336360_a_nat @ M @ Composition @ Unit @ F @ A2 )
            = Unit ) ) ) ) ).

% commutative_monoid.fincomp_def
thf(fact_266_monoid_Oinvertible__right__cancel,axiom,
    ! [M: set_nat,Composition: nat > nat > nat,Unit: nat,X: nat,Y: nat,Z: nat] :
      ( ( group_monoid_nat @ M @ Composition @ Unit )
     => ( ( group_invertible_nat @ M @ Composition @ Unit @ X )
       => ( ( member_nat @ X @ M )
         => ( ( member_nat @ Y @ M )
           => ( ( member_nat @ Z @ M )
             => ( ( ( Composition @ Y @ X )
                  = ( Composition @ Z @ X ) )
                = ( Y = Z ) ) ) ) ) ) ) ).

% monoid.invertible_right_cancel
thf(fact_267_monoid_Oinvertible__right__cancel,axiom,
    ! [M: set_a,Composition: a > a > a,Unit: a,X: a,Y: a,Z: a] :
      ( ( group_monoid_a @ M @ Composition @ Unit )
     => ( ( group_invertible_a @ M @ Composition @ Unit @ X )
       => ( ( member_a @ X @ M )
         => ( ( member_a @ Y @ M )
           => ( ( member_a @ Z @ M )
             => ( ( ( Composition @ Y @ X )
                  = ( Composition @ Z @ X ) )
                = ( Y = Z ) ) ) ) ) ) ) ).

% monoid.invertible_right_cancel
thf(fact_268_monoid_Oinvertible__left__cancel,axiom,
    ! [M: set_nat,Composition: nat > nat > nat,Unit: nat,X: nat,Y: nat,Z: nat] :
      ( ( group_monoid_nat @ M @ Composition @ Unit )
     => ( ( group_invertible_nat @ M @ Composition @ Unit @ X )
       => ( ( member_nat @ X @ M )
         => ( ( member_nat @ Y @ M )
           => ( ( member_nat @ Z @ M )
             => ( ( ( Composition @ X @ Y )
                  = ( Composition @ X @ Z ) )
                = ( Y = Z ) ) ) ) ) ) ) ).

% monoid.invertible_left_cancel
thf(fact_269_monoid_Oinvertible__left__cancel,axiom,
    ! [M: set_a,Composition: a > a > a,Unit: a,X: a,Y: a,Z: a] :
      ( ( group_monoid_a @ M @ Composition @ Unit )
     => ( ( group_invertible_a @ M @ Composition @ Unit @ X )
       => ( ( member_a @ X @ M )
         => ( ( member_a @ Y @ M )
           => ( ( member_a @ Z @ M )
             => ( ( ( Composition @ X @ Y )
                  = ( Composition @ X @ Z ) )
                = ( Y = Z ) ) ) ) ) ) ) ).

% monoid.invertible_left_cancel
thf(fact_270_monoid_Ocomposition__invertible,axiom,
    ! [M: set_nat,Composition: nat > nat > nat,Unit: nat,X: nat,Y: nat] :
      ( ( group_monoid_nat @ M @ Composition @ Unit )
     => ( ( group_invertible_nat @ M @ Composition @ Unit @ X )
       => ( ( group_invertible_nat @ M @ Composition @ Unit @ Y )
         => ( ( member_nat @ X @ M )
           => ( ( member_nat @ Y @ M )
             => ( group_invertible_nat @ M @ Composition @ Unit @ ( Composition @ X @ Y ) ) ) ) ) ) ) ).

% monoid.composition_invertible
thf(fact_271_monoid_Ocomposition__invertible,axiom,
    ! [M: set_a,Composition: a > a > a,Unit: a,X: a,Y: a] :
      ( ( group_monoid_a @ M @ Composition @ Unit )
     => ( ( group_invertible_a @ M @ Composition @ Unit @ X )
       => ( ( group_invertible_a @ M @ Composition @ Unit @ Y )
         => ( ( member_a @ X @ M )
           => ( ( member_a @ Y @ M )
             => ( group_invertible_a @ M @ Composition @ Unit @ ( Composition @ X @ Y ) ) ) ) ) ) ) ).

% monoid.composition_invertible
thf(fact_272_monoid_Oinverse__equality,axiom,
    ! [M: set_nat,Composition: nat > nat > nat,Unit: nat,U: nat,V2: nat] :
      ( ( group_monoid_nat @ M @ Composition @ Unit )
     => ( ( ( Composition @ U @ V2 )
          = Unit )
       => ( ( ( Composition @ V2 @ U )
            = Unit )
         => ( ( member_nat @ U @ M )
           => ( ( member_nat @ V2 @ M )
             => ( ( group_inverse_nat @ M @ Composition @ Unit @ U )
                = V2 ) ) ) ) ) ) ).

% monoid.inverse_equality
thf(fact_273_monoid_Oinverse__equality,axiom,
    ! [M: set_a,Composition: a > a > a,Unit: a,U: a,V2: a] :
      ( ( group_monoid_a @ M @ Composition @ Unit )
     => ( ( ( Composition @ U @ V2 )
          = Unit )
       => ( ( ( Composition @ V2 @ U )
            = Unit )
         => ( ( member_a @ U @ M )
           => ( ( member_a @ V2 @ M )
             => ( ( group_inverse_a @ M @ Composition @ Unit @ U )
                = V2 ) ) ) ) ) ) ).

% monoid.inverse_equality
thf(fact_274_monoid_Ounit__invertible,axiom,
    ! [M: set_a,Composition: a > a > a,Unit: a] :
      ( ( group_monoid_a @ M @ Composition @ Unit )
     => ( group_invertible_a @ M @ Composition @ Unit @ Unit ) ) ).

% monoid.unit_invertible
thf(fact_275_monoid_Oinvertible__def,axiom,
    ! [M: set_nat,Composition: nat > nat > nat,Unit: nat,U: nat] :
      ( ( group_monoid_nat @ M @ Composition @ Unit )
     => ( ( member_nat @ U @ M )
       => ( ( group_invertible_nat @ M @ Composition @ Unit @ U )
          = ( ? [X3: nat] :
                ( ( member_nat @ X3 @ M )
                & ( ( Composition @ U @ X3 )
                  = Unit )
                & ( ( Composition @ X3 @ U )
                  = Unit ) ) ) ) ) ) ).

% monoid.invertible_def
thf(fact_276_monoid_Oinvertible__def,axiom,
    ! [M: set_a,Composition: a > a > a,Unit: a,U: a] :
      ( ( group_monoid_a @ M @ Composition @ Unit )
     => ( ( member_a @ U @ M )
       => ( ( group_invertible_a @ M @ Composition @ Unit @ U )
          = ( ? [X3: a] :
                ( ( member_a @ X3 @ M )
                & ( ( Composition @ U @ X3 )
                  = Unit )
                & ( ( Composition @ X3 @ U )
                  = Unit ) ) ) ) ) ) ).

% monoid.invertible_def
thf(fact_277_monoid_Oinverse__unit,axiom,
    ! [M: set_a,Composition: a > a > a,Unit: a] :
      ( ( group_monoid_a @ M @ Composition @ Unit )
     => ( ( group_inverse_a @ M @ Composition @ Unit @ Unit )
        = Unit ) ) ).

% monoid.inverse_unit
thf(fact_278_monoid_OinvertibleI,axiom,
    ! [M: set_nat,Composition: nat > nat > nat,Unit: nat,U: nat,V2: nat] :
      ( ( group_monoid_nat @ M @ Composition @ Unit )
     => ( ( ( Composition @ U @ V2 )
          = Unit )
       => ( ( ( Composition @ V2 @ U )
            = Unit )
         => ( ( member_nat @ U @ M )
           => ( ( member_nat @ V2 @ M )
             => ( group_invertible_nat @ M @ Composition @ Unit @ U ) ) ) ) ) ) ).

% monoid.invertibleI
thf(fact_279_monoid_OinvertibleI,axiom,
    ! [M: set_a,Composition: a > a > a,Unit: a,U: a,V2: a] :
      ( ( group_monoid_a @ M @ Composition @ Unit )
     => ( ( ( Composition @ U @ V2 )
          = Unit )
       => ( ( ( Composition @ V2 @ U )
            = Unit )
         => ( ( member_a @ U @ M )
           => ( ( member_a @ V2 @ M )
             => ( group_invertible_a @ M @ Composition @ Unit @ U ) ) ) ) ) ) ).

% monoid.invertibleI
thf(fact_280_monoid_OinvertibleE,axiom,
    ! [M: set_nat,Composition: nat > nat > nat,Unit: nat,U: nat] :
      ( ( group_monoid_nat @ M @ Composition @ Unit )
     => ( ( group_invertible_nat @ M @ Composition @ Unit @ U )
       => ( ! [V3: nat] :
              ( ( ( ( Composition @ U @ V3 )
                  = Unit )
                & ( ( Composition @ V3 @ U )
                  = Unit ) )
             => ~ ( member_nat @ V3 @ M ) )
         => ~ ( member_nat @ U @ M ) ) ) ) ).

% monoid.invertibleE
thf(fact_281_monoid_OinvertibleE,axiom,
    ! [M: set_a,Composition: a > a > a,Unit: a,U: a] :
      ( ( group_monoid_a @ M @ Composition @ Unit )
     => ( ( group_invertible_a @ M @ Composition @ Unit @ U )
       => ( ! [V3: a] :
              ( ( ( ( Composition @ U @ V3 )
                  = Unit )
                & ( ( Composition @ V3 @ U )
                  = Unit ) )
             => ~ ( member_a @ V3 @ M ) )
         => ~ ( member_a @ U @ M ) ) ) ) ).

% monoid.invertibleE
thf(fact_282_commutative__monoid_Oaxioms_I1_J,axiom,
    ! [M: set_a,Composition: a > a > a,Unit: a] :
      ( ( group_4866109990395492029noid_a @ M @ Composition @ Unit )
     => ( group_monoid_a @ M @ Composition @ Unit ) ) ).

% commutative_monoid.axioms(1)
thf(fact_283_Group__Theory_Ogroup_Oaxioms_I1_J,axiom,
    ! [G2: set_a,Composition: a > a > a,Unit: a] :
      ( ( group_group_a @ G2 @ Composition @ Unit )
     => ( group_monoid_a @ G2 @ Composition @ Unit ) ) ).

% Group_Theory.group.axioms(1)
thf(fact_284_group_Oinvertible,axiom,
    ! [G2: set_nat,Composition: nat > nat > nat,Unit: nat,U: nat] :
      ( ( group_group_nat @ G2 @ Composition @ Unit )
     => ( ( member_nat @ U @ G2 )
       => ( group_invertible_nat @ G2 @ Composition @ Unit @ U ) ) ) ).

% group.invertible
thf(fact_285_group_Oinvertible,axiom,
    ! [G2: set_a,Composition: a > a > a,Unit: a,U: a] :
      ( ( group_group_a @ G2 @ Composition @ Unit )
     => ( ( member_a @ U @ G2 )
       => ( group_invertible_a @ G2 @ Composition @ Unit @ U ) ) ) ).

% group.invertible
thf(fact_286_pigeonhole__infinite,axiom,
    ! [A2: set_a,F: a > a] :
      ( ~ ( finite_finite_a @ A2 )
     => ( ( finite_finite_a @ ( image_a_a @ F @ A2 ) )
       => ? [X2: a] :
            ( ( member_a @ X2 @ A2 )
            & ~ ( finite_finite_a
                @ ( collect_a
                  @ ^ [A4: a] :
                      ( ( member_a @ A4 @ A2 )
                      & ( ( F @ A4 )
                        = ( F @ X2 ) ) ) ) ) ) ) ) ).

% pigeonhole_infinite
thf(fact_287_pigeonhole__infinite,axiom,
    ! [A2: set_a,F: a > nat] :
      ( ~ ( finite_finite_a @ A2 )
     => ( ( finite_finite_nat @ ( image_a_nat @ F @ A2 ) )
       => ? [X2: a] :
            ( ( member_a @ X2 @ A2 )
            & ~ ( finite_finite_a
                @ ( collect_a
                  @ ^ [A4: a] :
                      ( ( member_a @ A4 @ A2 )
                      & ( ( F @ A4 )
                        = ( F @ X2 ) ) ) ) ) ) ) ) ).

% pigeonhole_infinite
thf(fact_288_pigeonhole__infinite,axiom,
    ! [A2: set_nat,F: nat > a] :
      ( ~ ( finite_finite_nat @ A2 )
     => ( ( finite_finite_a @ ( image_nat_a @ F @ A2 ) )
       => ? [X2: nat] :
            ( ( member_nat @ X2 @ A2 )
            & ~ ( finite_finite_nat
                @ ( collect_nat
                  @ ^ [A4: nat] :
                      ( ( member_nat @ A4 @ A2 )
                      & ( ( F @ A4 )
                        = ( F @ X2 ) ) ) ) ) ) ) ) ).

% pigeonhole_infinite
thf(fact_289_pigeonhole__infinite,axiom,
    ! [A2: set_nat,F: nat > nat] :
      ( ~ ( finite_finite_nat @ A2 )
     => ( ( finite_finite_nat @ ( image_nat_nat @ F @ A2 ) )
       => ? [X2: nat] :
            ( ( member_nat @ X2 @ A2 )
            & ~ ( finite_finite_nat
                @ ( collect_nat
                  @ ^ [A4: nat] :
                      ( ( member_nat @ A4 @ A2 )
                      & ( ( F @ A4 )
                        = ( F @ X2 ) ) ) ) ) ) ) ) ).

% pigeonhole_infinite
thf(fact_290_abelian__group_Oaxioms_I2_J,axiom,
    ! [G2: set_a,Composition: a > a > a,Unit: a] :
      ( ( group_201663378560352916roup_a @ G2 @ Composition @ Unit )
     => ( group_4866109990395492029noid_a @ G2 @ Composition @ Unit ) ) ).

% abelian_group.axioms(2)
thf(fact_291_abelian__group_Oaxioms_I1_J,axiom,
    ! [G2: set_a,Composition: a > a > a,Unit: a] :
      ( ( group_201663378560352916roup_a @ G2 @ Composition @ Unit )
     => ( group_group_a @ G2 @ Composition @ Unit ) ) ).

% abelian_group.axioms(1)
thf(fact_292_monoid_Oinvertible__inverse__invertible,axiom,
    ! [M: set_nat,Composition: nat > nat > nat,Unit: nat,U: nat] :
      ( ( group_monoid_nat @ M @ Composition @ Unit )
     => ( ( group_invertible_nat @ M @ Composition @ Unit @ U )
       => ( ( member_nat @ U @ M )
         => ( group_invertible_nat @ M @ Composition @ Unit @ ( group_inverse_nat @ M @ Composition @ Unit @ U ) ) ) ) ) ).

% monoid.invertible_inverse_invertible
thf(fact_293_monoid_Oinvertible__inverse__invertible,axiom,
    ! [M: set_a,Composition: a > a > a,Unit: a,U: a] :
      ( ( group_monoid_a @ M @ Composition @ Unit )
     => ( ( group_invertible_a @ M @ Composition @ Unit @ U )
       => ( ( member_a @ U @ M )
         => ( group_invertible_a @ M @ Composition @ Unit @ ( group_inverse_a @ M @ Composition @ Unit @ U ) ) ) ) ) ).

% monoid.invertible_inverse_invertible
thf(fact_294_monoid_Oinverse__composition__commute,axiom,
    ! [M: set_nat,Composition: nat > nat > nat,Unit: nat,X: nat,Y: nat] :
      ( ( group_monoid_nat @ M @ Composition @ Unit )
     => ( ( group_invertible_nat @ M @ Composition @ Unit @ X )
       => ( ( group_invertible_nat @ M @ Composition @ Unit @ Y )
         => ( ( member_nat @ X @ M )
           => ( ( member_nat @ Y @ M )
             => ( ( group_inverse_nat @ M @ Composition @ Unit @ ( Composition @ X @ Y ) )
                = ( Composition @ ( group_inverse_nat @ M @ Composition @ Unit @ Y ) @ ( group_inverse_nat @ M @ Composition @ Unit @ X ) ) ) ) ) ) ) ) ).

% monoid.inverse_composition_commute
thf(fact_295_monoid_Oinverse__composition__commute,axiom,
    ! [M: set_a,Composition: a > a > a,Unit: a,X: a,Y: a] :
      ( ( group_monoid_a @ M @ Composition @ Unit )
     => ( ( group_invertible_a @ M @ Composition @ Unit @ X )
       => ( ( group_invertible_a @ M @ Composition @ Unit @ Y )
         => ( ( member_a @ X @ M )
           => ( ( member_a @ Y @ M )
             => ( ( group_inverse_a @ M @ Composition @ Unit @ ( Composition @ X @ Y ) )
                = ( Composition @ ( group_inverse_a @ M @ Composition @ Unit @ Y ) @ ( group_inverse_a @ M @ Composition @ Unit @ X ) ) ) ) ) ) ) ) ).

% monoid.inverse_composition_commute
thf(fact_296_monoid_Oinvertible__inverse__inverse,axiom,
    ! [M: set_nat,Composition: nat > nat > nat,Unit: nat,U: nat] :
      ( ( group_monoid_nat @ M @ Composition @ Unit )
     => ( ( group_invertible_nat @ M @ Composition @ Unit @ U )
       => ( ( member_nat @ U @ M )
         => ( ( group_inverse_nat @ M @ Composition @ Unit @ ( group_inverse_nat @ M @ Composition @ Unit @ U ) )
            = U ) ) ) ) ).

% monoid.invertible_inverse_inverse
thf(fact_297_monoid_Oinvertible__inverse__inverse,axiom,
    ! [M: set_a,Composition: a > a > a,Unit: a,U: a] :
      ( ( group_monoid_a @ M @ Composition @ Unit )
     => ( ( group_invertible_a @ M @ Composition @ Unit @ U )
       => ( ( member_a @ U @ M )
         => ( ( group_inverse_a @ M @ Composition @ Unit @ ( group_inverse_a @ M @ Composition @ Unit @ U ) )
            = U ) ) ) ) ).

% monoid.invertible_inverse_inverse
thf(fact_298_monoid_Oinvertible__right__inverse2,axiom,
    ! [M: set_nat,Composition: nat > nat > nat,Unit: nat,U: nat,V2: nat] :
      ( ( group_monoid_nat @ M @ Composition @ Unit )
     => ( ( group_invertible_nat @ M @ Composition @ Unit @ U )
       => ( ( member_nat @ U @ M )
         => ( ( member_nat @ V2 @ M )
           => ( ( Composition @ U @ ( Composition @ ( group_inverse_nat @ M @ Composition @ Unit @ U ) @ V2 ) )
              = V2 ) ) ) ) ) ).

% monoid.invertible_right_inverse2
thf(fact_299_monoid_Oinvertible__right__inverse2,axiom,
    ! [M: set_a,Composition: a > a > a,Unit: a,U: a,V2: a] :
      ( ( group_monoid_a @ M @ Composition @ Unit )
     => ( ( group_invertible_a @ M @ Composition @ Unit @ U )
       => ( ( member_a @ U @ M )
         => ( ( member_a @ V2 @ M )
           => ( ( Composition @ U @ ( Composition @ ( group_inverse_a @ M @ Composition @ Unit @ U ) @ V2 ) )
              = V2 ) ) ) ) ) ).

% monoid.invertible_right_inverse2
thf(fact_300_monoid_Oinvertible__inverse__closed,axiom,
    ! [M: set_nat,Composition: nat > nat > nat,Unit: nat,U: nat] :
      ( ( group_monoid_nat @ M @ Composition @ Unit )
     => ( ( group_invertible_nat @ M @ Composition @ Unit @ U )
       => ( ( member_nat @ U @ M )
         => ( member_nat @ ( group_inverse_nat @ M @ Composition @ Unit @ U ) @ M ) ) ) ) ).

% monoid.invertible_inverse_closed
thf(fact_301_monoid_Oinvertible__inverse__closed,axiom,
    ! [M: set_a,Composition: a > a > a,Unit: a,U: a] :
      ( ( group_monoid_a @ M @ Composition @ Unit )
     => ( ( group_invertible_a @ M @ Composition @ Unit @ U )
       => ( ( member_a @ U @ M )
         => ( member_a @ ( group_inverse_a @ M @ Composition @ Unit @ U ) @ M ) ) ) ) ).

% monoid.invertible_inverse_closed
thf(fact_302_monoid_Oinvertible__right__inverse,axiom,
    ! [M: set_nat,Composition: nat > nat > nat,Unit: nat,U: nat] :
      ( ( group_monoid_nat @ M @ Composition @ Unit )
     => ( ( group_invertible_nat @ M @ Composition @ Unit @ U )
       => ( ( member_nat @ U @ M )
         => ( ( Composition @ U @ ( group_inverse_nat @ M @ Composition @ Unit @ U ) )
            = Unit ) ) ) ) ).

% monoid.invertible_right_inverse
thf(fact_303_monoid_Oinvertible__right__inverse,axiom,
    ! [M: set_a,Composition: a > a > a,Unit: a,U: a] :
      ( ( group_monoid_a @ M @ Composition @ Unit )
     => ( ( group_invertible_a @ M @ Composition @ Unit @ U )
       => ( ( member_a @ U @ M )
         => ( ( Composition @ U @ ( group_inverse_a @ M @ Composition @ Unit @ U ) )
            = Unit ) ) ) ) ).

% monoid.invertible_right_inverse
thf(fact_304_monoid_Oinvertible__left__inverse2,axiom,
    ! [M: set_nat,Composition: nat > nat > nat,Unit: nat,U: nat,V2: nat] :
      ( ( group_monoid_nat @ M @ Composition @ Unit )
     => ( ( group_invertible_nat @ M @ Composition @ Unit @ U )
       => ( ( member_nat @ U @ M )
         => ( ( member_nat @ V2 @ M )
           => ( ( Composition @ ( group_inverse_nat @ M @ Composition @ Unit @ U ) @ ( Composition @ U @ V2 ) )
              = V2 ) ) ) ) ) ).

% monoid.invertible_left_inverse2
thf(fact_305_monoid_Oinvertible__left__inverse2,axiom,
    ! [M: set_a,Composition: a > a > a,Unit: a,U: a,V2: a] :
      ( ( group_monoid_a @ M @ Composition @ Unit )
     => ( ( group_invertible_a @ M @ Composition @ Unit @ U )
       => ( ( member_a @ U @ M )
         => ( ( member_a @ V2 @ M )
           => ( ( Composition @ ( group_inverse_a @ M @ Composition @ Unit @ U ) @ ( Composition @ U @ V2 ) )
              = V2 ) ) ) ) ) ).

% monoid.invertible_left_inverse2
thf(fact_306_monoid_Oinvertible__left__inverse,axiom,
    ! [M: set_nat,Composition: nat > nat > nat,Unit: nat,U: nat] :
      ( ( group_monoid_nat @ M @ Composition @ Unit )
     => ( ( group_invertible_nat @ M @ Composition @ Unit @ U )
       => ( ( member_nat @ U @ M )
         => ( ( Composition @ ( group_inverse_nat @ M @ Composition @ Unit @ U ) @ U )
            = Unit ) ) ) ) ).

% monoid.invertible_left_inverse
thf(fact_307_monoid_Oinvertible__left__inverse,axiom,
    ! [M: set_a,Composition: a > a > a,Unit: a,U: a] :
      ( ( group_monoid_a @ M @ Composition @ Unit )
     => ( ( group_invertible_a @ M @ Composition @ Unit @ U )
       => ( ( member_a @ U @ M )
         => ( ( Composition @ ( group_inverse_a @ M @ Composition @ Unit @ U ) @ U )
            = Unit ) ) ) ) ).

% monoid.invertible_left_inverse
thf(fact_308_inverse__subgroupD,axiom,
    ! [H: set_a] :
      ( ( group_subgroup_a @ ( image_a_a @ ( group_inverse_a @ g @ composition @ unit ) @ H ) @ g @ composition @ unit )
     => ( ( ord_less_eq_set_a @ H @ ( group_Units_a @ g @ composition @ unit ) )
       => ( group_subgroup_a @ H @ g @ composition @ unit ) ) ) ).

% inverse_subgroupD
thf(fact_309_subgroupI,axiom,
    ! [G2: set_a] :
      ( ( ord_less_eq_set_a @ G2 @ g )
     => ( ( member_a @ unit @ G2 )
       => ( ! [G4: a,H3: a] :
              ( ( member_a @ G4 @ G2 )
             => ( ( member_a @ H3 @ G2 )
               => ( member_a @ ( composition @ G4 @ H3 ) @ G2 ) ) )
         => ( ! [G4: a] :
                ( ( member_a @ G4 @ G2 )
               => ( group_invertible_a @ g @ composition @ unit @ G4 ) )
           => ( ! [G4: a] :
                  ( ( member_a @ G4 @ G2 )
                 => ( member_a @ ( group_inverse_a @ g @ composition @ unit @ G4 ) @ G2 ) )
             => ( group_subgroup_a @ G2 @ g @ composition @ unit ) ) ) ) ) ) ).

% subgroupI
thf(fact_310_fincomp__insert,axiom,
    ! [F2: set_a,A: a,F: a > a] :
      ( ( finite_finite_a @ F2 )
     => ( ~ ( member_a @ A @ F2 )
       => ( ( member_a_a @ F
            @ ( pi_a_a @ F2
              @ ^ [Uu: a] : g ) )
         => ( ( member_a @ ( F @ A ) @ g )
           => ( ( commut5005951359559292710mp_a_a @ g @ composition @ unit @ F @ ( insert_a @ A @ F2 ) )
              = ( composition @ ( F @ A ) @ ( commut5005951359559292710mp_a_a @ g @ composition @ unit @ F @ F2 ) ) ) ) ) ) ) ).

% fincomp_insert
thf(fact_311_fincomp__insert,axiom,
    ! [F2: set_nat,A: nat,F: nat > a] :
      ( ( finite_finite_nat @ F2 )
     => ( ~ ( member_nat @ A @ F2 )
       => ( ( member_nat_a @ F
            @ ( pi_nat_a @ F2
              @ ^ [Uu: nat] : g ) )
         => ( ( member_a @ ( F @ A ) @ g )
           => ( ( commut6741328216151336360_a_nat @ g @ composition @ unit @ F @ ( insert_nat @ A @ F2 ) )
              = ( composition @ ( F @ A ) @ ( commut6741328216151336360_a_nat @ g @ composition @ unit @ F @ F2 ) ) ) ) ) ) ) ).

% fincomp_insert
thf(fact_312_Pi__I,axiom,
    ! [A2: set_a,F: a > a,B2: a > set_a] :
      ( ! [X2: a] :
          ( ( member_a @ X2 @ A2 )
         => ( member_a @ ( F @ X2 ) @ ( B2 @ X2 ) ) )
     => ( member_a_a @ F @ ( pi_a_a @ A2 @ B2 ) ) ) ).

% Pi_I
thf(fact_313_Pi__I,axiom,
    ! [A2: set_a,F: a > nat,B2: a > set_nat] :
      ( ! [X2: a] :
          ( ( member_a @ X2 @ A2 )
         => ( member_nat @ ( F @ X2 ) @ ( B2 @ X2 ) ) )
     => ( member_a_nat @ F @ ( pi_a_nat @ A2 @ B2 ) ) ) ).

% Pi_I
thf(fact_314_Pi__I,axiom,
    ! [A2: set_nat,F: nat > a,B2: nat > set_a] :
      ( ! [X2: nat] :
          ( ( member_nat @ X2 @ A2 )
         => ( member_a @ ( F @ X2 ) @ ( B2 @ X2 ) ) )
     => ( member_nat_a @ F @ ( pi_nat_a @ A2 @ B2 ) ) ) ).

% Pi_I
thf(fact_315_Pi__I,axiom,
    ! [A2: set_nat,F: nat > nat,B2: nat > set_nat] :
      ( ! [X2: nat] :
          ( ( member_nat @ X2 @ A2 )
         => ( member_nat @ ( F @ X2 ) @ ( B2 @ X2 ) ) )
     => ( member_nat_nat @ F @ ( pi_nat_nat @ A2 @ B2 ) ) ) ).

% Pi_I
thf(fact_316_inverse__undefined,axiom,
    ! [U: a] :
      ( ~ ( member_a @ U @ g )
     => ( ( group_inverse_a @ g @ composition @ unit @ U )
        = undefined_a ) ) ).

% inverse_undefined
thf(fact_317_fincomp__empty,axiom,
    ! [F: a > a] :
      ( ( commut5005951359559292710mp_a_a @ g @ composition @ unit @ F @ bot_bot_set_a )
      = unit ) ).

% fincomp_empty
thf(fact_318_fincomp__empty,axiom,
    ! [F: nat > a] :
      ( ( commut6741328216151336360_a_nat @ g @ composition @ unit @ F @ bot_bot_set_nat )
      = unit ) ).

% fincomp_empty
thf(fact_319_inj__on__image__iff,axiom,
    ! [A2: set_nat,G: nat > nat,F: nat > nat] :
      ( ! [X2: nat] :
          ( ( member_nat @ X2 @ A2 )
         => ! [Xa2: nat] :
              ( ( member_nat @ Xa2 @ A2 )
             => ( ( ( G @ ( F @ X2 ) )
                  = ( G @ ( F @ Xa2 ) ) )
                = ( ( G @ X2 )
                  = ( G @ Xa2 ) ) ) ) )
     => ( ( inj_on_nat_nat @ F @ A2 )
       => ( ( inj_on_nat_nat @ G @ ( image_nat_nat @ F @ A2 ) )
          = ( inj_on_nat_nat @ G @ A2 ) ) ) ) ).

% inj_on_image_iff
thf(fact_320_rec__G,axiom,
    ( member_a
    @ ( rec_nat_a @ unit
      @ ^ [U2: nat] : ( composition @ a2 )
      @ ( finite_card_a @ g ) )
    @ g ) ).

% rec_G
thf(fact_321_fincomp__mono__neutral__cong__left,axiom,
    ! [B2: set_a,A2: set_a,H2: a > a,G: a > a] :
      ( ( finite_finite_a @ B2 )
     => ( ( ord_less_eq_set_a @ A2 @ B2 )
       => ( ! [I2: a] :
              ( ( member_a @ I2 @ ( minus_minus_set_a @ B2 @ A2 ) )
             => ( ( H2 @ I2 )
                = unit ) )
         => ( ! [X2: a] :
                ( ( member_a @ X2 @ A2 )
               => ( ( G @ X2 )
                  = ( H2 @ X2 ) ) )
           => ( ( member_a_a @ H2
                @ ( pi_a_a @ B2
                  @ ^ [Uu: a] : g ) )
             => ( ( commut5005951359559292710mp_a_a @ g @ composition @ unit @ G @ A2 )
                = ( commut5005951359559292710mp_a_a @ g @ composition @ unit @ H2 @ B2 ) ) ) ) ) ) ) ).

% fincomp_mono_neutral_cong_left
thf(fact_322_fincomp__mono__neutral__cong__left,axiom,
    ! [B2: set_nat,A2: set_nat,H2: nat > a,G: nat > a] :
      ( ( finite_finite_nat @ B2 )
     => ( ( ord_less_eq_set_nat @ A2 @ B2 )
       => ( ! [I2: nat] :
              ( ( member_nat @ I2 @ ( minus_minus_set_nat @ B2 @ A2 ) )
             => ( ( H2 @ I2 )
                = unit ) )
         => ( ! [X2: nat] :
                ( ( member_nat @ X2 @ A2 )
               => ( ( G @ X2 )
                  = ( H2 @ X2 ) ) )
           => ( ( member_nat_a @ H2
                @ ( pi_nat_a @ B2
                  @ ^ [Uu: nat] : g ) )
             => ( ( commut6741328216151336360_a_nat @ g @ composition @ unit @ G @ A2 )
                = ( commut6741328216151336360_a_nat @ g @ composition @ unit @ H2 @ B2 ) ) ) ) ) ) ) ).

% fincomp_mono_neutral_cong_left
thf(fact_323_fincomp__mono__neutral__cong__right,axiom,
    ! [B2: set_a,A2: set_a,G: a > a,H2: a > a] :
      ( ( finite_finite_a @ B2 )
     => ( ( ord_less_eq_set_a @ A2 @ B2 )
       => ( ! [I2: a] :
              ( ( member_a @ I2 @ ( minus_minus_set_a @ B2 @ A2 ) )
             => ( ( G @ I2 )
                = unit ) )
         => ( ! [X2: a] :
                ( ( member_a @ X2 @ A2 )
               => ( ( G @ X2 )
                  = ( H2 @ X2 ) ) )
           => ( ( member_a_a @ G
                @ ( pi_a_a @ B2
                  @ ^ [Uu: a] : g ) )
             => ( ( commut5005951359559292710mp_a_a @ g @ composition @ unit @ G @ B2 )
                = ( commut5005951359559292710mp_a_a @ g @ composition @ unit @ H2 @ A2 ) ) ) ) ) ) ) ).

% fincomp_mono_neutral_cong_right
thf(fact_324_fincomp__mono__neutral__cong__right,axiom,
    ! [B2: set_nat,A2: set_nat,G: nat > a,H2: nat > a] :
      ( ( finite_finite_nat @ B2 )
     => ( ( ord_less_eq_set_nat @ A2 @ B2 )
       => ( ! [I2: nat] :
              ( ( member_nat @ I2 @ ( minus_minus_set_nat @ B2 @ A2 ) )
             => ( ( G @ I2 )
                = unit ) )
         => ( ! [X2: nat] :
                ( ( member_nat @ X2 @ A2 )
               => ( ( G @ X2 )
                  = ( H2 @ X2 ) ) )
           => ( ( member_nat_a @ G
                @ ( pi_nat_a @ B2
                  @ ^ [Uu: nat] : g ) )
             => ( ( commut6741328216151336360_a_nat @ g @ composition @ unit @ G @ B2 )
                = ( commut6741328216151336360_a_nat @ g @ composition @ unit @ H2 @ A2 ) ) ) ) ) ) ) ).

% fincomp_mono_neutral_cong_right
thf(fact_325_empty__Collect__eq,axiom,
    ! [P: a > $o] :
      ( ( bot_bot_set_a
        = ( collect_a @ P ) )
      = ( ! [X3: a] :
            ~ ( P @ X3 ) ) ) ).

% empty_Collect_eq
thf(fact_326_empty__Collect__eq,axiom,
    ! [P: nat > $o] :
      ( ( bot_bot_set_nat
        = ( collect_nat @ P ) )
      = ( ! [X3: nat] :
            ~ ( P @ X3 ) ) ) ).

% empty_Collect_eq
thf(fact_327_Collect__empty__eq,axiom,
    ! [P: a > $o] :
      ( ( ( collect_a @ P )
        = bot_bot_set_a )
      = ( ! [X3: a] :
            ~ ( P @ X3 ) ) ) ).

% Collect_empty_eq
thf(fact_328_Collect__empty__eq,axiom,
    ! [P: nat > $o] :
      ( ( ( collect_nat @ P )
        = bot_bot_set_nat )
      = ( ! [X3: nat] :
            ~ ( P @ X3 ) ) ) ).

% Collect_empty_eq
thf(fact_329_all__not__in__conv,axiom,
    ! [A2: set_a] :
      ( ( ! [X3: a] :
            ~ ( member_a @ X3 @ A2 ) )
      = ( A2 = bot_bot_set_a ) ) ).

% all_not_in_conv
thf(fact_330_all__not__in__conv,axiom,
    ! [A2: set_nat] :
      ( ( ! [X3: nat] :
            ~ ( member_nat @ X3 @ A2 ) )
      = ( A2 = bot_bot_set_nat ) ) ).

% all_not_in_conv
thf(fact_331_empty__iff,axiom,
    ! [C: a] :
      ~ ( member_a @ C @ bot_bot_set_a ) ).

% empty_iff
thf(fact_332_empty__iff,axiom,
    ! [C: nat] :
      ~ ( member_nat @ C @ bot_bot_set_nat ) ).

% empty_iff
thf(fact_333_subset__antisym,axiom,
    ! [A2: set_a,B2: set_a] :
      ( ( ord_less_eq_set_a @ A2 @ B2 )
     => ( ( ord_less_eq_set_a @ B2 @ A2 )
       => ( A2 = B2 ) ) ) ).

% subset_antisym
thf(fact_334_subsetI,axiom,
    ! [A2: set_nat,B2: set_nat] :
      ( ! [X2: nat] :
          ( ( member_nat @ X2 @ A2 )
         => ( member_nat @ X2 @ B2 ) )
     => ( ord_less_eq_set_nat @ A2 @ B2 ) ) ).

% subsetI
thf(fact_335_subsetI,axiom,
    ! [A2: set_a,B2: set_a] :
      ( ! [X2: a] :
          ( ( member_a @ X2 @ A2 )
         => ( member_a @ X2 @ B2 ) )
     => ( ord_less_eq_set_a @ A2 @ B2 ) ) ).

% subsetI
thf(fact_336_insert__iff,axiom,
    ! [A: a,B: a,A2: set_a] :
      ( ( member_a @ A @ ( insert_a @ B @ A2 ) )
      = ( ( A = B )
        | ( member_a @ A @ A2 ) ) ) ).

% insert_iff
thf(fact_337_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_338_insertCI,axiom,
    ! [A: a,B2: set_a,B: a] :
      ( ( ~ ( member_a @ A @ B2 )
       => ( A = B ) )
     => ( member_a @ A @ ( insert_a @ B @ B2 ) ) ) ).

% insertCI
thf(fact_339_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_340_Diff__iff,axiom,
    ! [C: a,A2: set_a,B2: set_a] :
      ( ( member_a @ C @ ( minus_minus_set_a @ A2 @ B2 ) )
      = ( ( member_a @ C @ A2 )
        & ~ ( member_a @ C @ B2 ) ) ) ).

% Diff_iff
thf(fact_341_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_342_DiffI,axiom,
    ! [C: a,A2: set_a,B2: set_a] :
      ( ( member_a @ C @ A2 )
     => ( ~ ( member_a @ C @ B2 )
       => ( member_a @ C @ ( minus_minus_set_a @ A2 @ B2 ) ) ) ) ).

% DiffI
thf(fact_343_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_344_image__is__empty,axiom,
    ! [F: a > a,A2: set_a] :
      ( ( ( image_a_a @ F @ A2 )
        = bot_bot_set_a )
      = ( A2 = bot_bot_set_a ) ) ).

% image_is_empty
thf(fact_345_empty__is__image,axiom,
    ! [F: a > a,A2: set_a] :
      ( ( bot_bot_set_a
        = ( image_a_a @ F @ A2 ) )
      = ( A2 = bot_bot_set_a ) ) ).

% empty_is_image
thf(fact_346_image__empty,axiom,
    ! [F: a > a] :
      ( ( image_a_a @ F @ bot_bot_set_a )
      = bot_bot_set_a ) ).

% image_empty
thf(fact_347_empty__subsetI,axiom,
    ! [A2: set_a] : ( ord_less_eq_set_a @ bot_bot_set_a @ A2 ) ).

% empty_subsetI
thf(fact_348_subset__empty,axiom,
    ! [A2: set_a] :
      ( ( ord_less_eq_set_a @ A2 @ bot_bot_set_a )
      = ( A2 = bot_bot_set_a ) ) ).

% subset_empty
thf(fact_349_insert__image,axiom,
    ! [X: a,A2: set_a,F: a > a] :
      ( ( member_a @ X @ A2 )
     => ( ( insert_a @ ( F @ X ) @ ( image_a_a @ F @ A2 ) )
        = ( image_a_a @ F @ A2 ) ) ) ).

% insert_image
thf(fact_350_image__insert,axiom,
    ! [F: a > a,A: a,B2: set_a] :
      ( ( image_a_a @ F @ ( insert_a @ A @ B2 ) )
      = ( insert_a @ ( F @ A ) @ ( image_a_a @ F @ B2 ) ) ) ).

% image_insert
thf(fact_351_singletonI,axiom,
    ! [A: a] : ( member_a @ A @ ( insert_a @ A @ bot_bot_set_a ) ) ).

% singletonI
thf(fact_352_singletonI,axiom,
    ! [A: nat] : ( member_nat @ A @ ( insert_nat @ A @ bot_bot_set_nat ) ) ).

% singletonI
thf(fact_353_finite__insert,axiom,
    ! [A: a,A2: set_a] :
      ( ( finite_finite_a @ ( insert_a @ A @ A2 ) )
      = ( finite_finite_a @ A2 ) ) ).

% finite_insert
thf(fact_354_finite__insert,axiom,
    ! [A: nat,A2: set_nat] :
      ( ( finite_finite_nat @ ( insert_nat @ A @ A2 ) )
      = ( finite_finite_nat @ A2 ) ) ).

% finite_insert
thf(fact_355_insert__subset,axiom,
    ! [X: nat,A2: set_nat,B2: set_nat] :
      ( ( ord_less_eq_set_nat @ ( insert_nat @ X @ A2 ) @ B2 )
      = ( ( member_nat @ X @ B2 )
        & ( ord_less_eq_set_nat @ A2 @ B2 ) ) ) ).

% insert_subset
thf(fact_356_insert__subset,axiom,
    ! [X: a,A2: set_a,B2: set_a] :
      ( ( ord_less_eq_set_a @ ( insert_a @ X @ A2 ) @ B2 )
      = ( ( member_a @ X @ B2 )
        & ( ord_less_eq_set_a @ A2 @ B2 ) ) ) ).

% insert_subset
thf(fact_357_finite__Diff,axiom,
    ! [A2: set_a,B2: set_a] :
      ( ( finite_finite_a @ A2 )
     => ( finite_finite_a @ ( minus_minus_set_a @ A2 @ B2 ) ) ) ).

% finite_Diff
thf(fact_358_finite__Diff,axiom,
    ! [A2: set_nat,B2: set_nat] :
      ( ( finite_finite_nat @ A2 )
     => ( finite_finite_nat @ ( minus_minus_set_nat @ A2 @ B2 ) ) ) ).

% finite_Diff
thf(fact_359_finite__Diff2,axiom,
    ! [B2: set_a,A2: set_a] :
      ( ( finite_finite_a @ B2 )
     => ( ( finite_finite_a @ ( minus_minus_set_a @ A2 @ B2 ) )
        = ( finite_finite_a @ A2 ) ) ) ).

% finite_Diff2
thf(fact_360_finite__Diff2,axiom,
    ! [B2: set_nat,A2: set_nat] :
      ( ( finite_finite_nat @ B2 )
     => ( ( finite_finite_nat @ ( minus_minus_set_nat @ A2 @ B2 ) )
        = ( finite_finite_nat @ A2 ) ) ) ).

% finite_Diff2
thf(fact_361_inj__on__empty,axiom,
    ! [F: nat > nat] : ( inj_on_nat_nat @ F @ bot_bot_set_nat ) ).

% inj_on_empty
thf(fact_362_insert__Diff1,axiom,
    ! [X: a,B2: set_a,A2: set_a] :
      ( ( member_a @ X @ B2 )
     => ( ( minus_minus_set_a @ ( insert_a @ X @ A2 ) @ B2 )
        = ( minus_minus_set_a @ A2 @ B2 ) ) ) ).

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

% insert_Diff1
thf(fact_364_Diff__insert0,axiom,
    ! [X: a,A2: set_a,B2: set_a] :
      ( ~ ( member_a @ X @ A2 )
     => ( ( minus_minus_set_a @ A2 @ ( insert_a @ X @ B2 ) )
        = ( minus_minus_set_a @ A2 @ B2 ) ) ) ).

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

% Diff_insert0
thf(fact_366_fincomp__const,axiom,
    ! [A: a,A2: set_a] :
      ( ( member_a @ A @ g )
     => ( ( commut5005951359559292710mp_a_a @ g @ composition @ unit
          @ ^ [X3: a] : A
          @ A2 )
        = ( rec_nat_a @ unit
          @ ^ [U2: nat] : ( composition @ A )
          @ ( finite_card_a @ A2 ) ) ) ) ).

% fincomp_const
thf(fact_367_fincomp__const,axiom,
    ! [A: a,A2: set_nat] :
      ( ( member_a @ A @ g )
     => ( ( commut6741328216151336360_a_nat @ g @ composition @ unit
          @ ^ [X3: nat] : A
          @ A2 )
        = ( rec_nat_a @ unit
          @ ^ [U2: nat] : ( composition @ A )
          @ ( finite_card_nat @ A2 ) ) ) ) ).

% fincomp_const
thf(fact_368_finite__Collect__subsets,axiom,
    ! [A2: set_nat] :
      ( ( finite_finite_nat @ A2 )
     => ( finite1152437895449049373et_nat
        @ ( collect_set_nat
          @ ^ [B5: set_nat] : ( ord_less_eq_set_nat @ B5 @ A2 ) ) ) ) ).

% finite_Collect_subsets
thf(fact_369_finite__Collect__subsets,axiom,
    ! [A2: set_a] :
      ( ( finite_finite_a @ A2 )
     => ( finite_finite_set_a
        @ ( collect_set_a
          @ ^ [B5: set_a] : ( ord_less_eq_set_a @ B5 @ A2 ) ) ) ) ).

% finite_Collect_subsets
thf(fact_370_singleton__conv2,axiom,
    ! [A: a] :
      ( ( collect_a
        @ ( ^ [Y4: a,Z2: a] : ( Y4 = Z2 )
          @ A ) )
      = ( insert_a @ A @ bot_bot_set_a ) ) ).

% singleton_conv2
thf(fact_371_singleton__conv2,axiom,
    ! [A: nat] :
      ( ( collect_nat
        @ ( ^ [Y4: nat,Z2: nat] : ( Y4 = Z2 )
          @ A ) )
      = ( insert_nat @ A @ bot_bot_set_nat ) ) ).

% singleton_conv2
thf(fact_372_singleton__conv,axiom,
    ! [A: a] :
      ( ( collect_a
        @ ^ [X3: a] : ( X3 = A ) )
      = ( insert_a @ A @ bot_bot_set_a ) ) ).

% singleton_conv
thf(fact_373_singleton__conv,axiom,
    ! [A: nat] :
      ( ( collect_nat
        @ ^ [X3: nat] : ( X3 = A ) )
      = ( insert_nat @ A @ bot_bot_set_nat ) ) ).

% singleton_conv
thf(fact_374_singleton__insert__inj__eq_H,axiom,
    ! [A: a,A2: set_a,B: a] :
      ( ( ( insert_a @ A @ A2 )
        = ( insert_a @ B @ bot_bot_set_a ) )
      = ( ( A = B )
        & ( ord_less_eq_set_a @ A2 @ ( insert_a @ B @ bot_bot_set_a ) ) ) ) ).

% singleton_insert_inj_eq'
thf(fact_375_singleton__insert__inj__eq,axiom,
    ! [B: a,A: a,A2: set_a] :
      ( ( ( insert_a @ B @ bot_bot_set_a )
        = ( insert_a @ A @ A2 ) )
      = ( ( A = B )
        & ( ord_less_eq_set_a @ A2 @ ( insert_a @ B @ bot_bot_set_a ) ) ) ) ).

% singleton_insert_inj_eq
thf(fact_376_Diff__eq__empty__iff,axiom,
    ! [A2: set_a,B2: set_a] :
      ( ( ( minus_minus_set_a @ A2 @ B2 )
        = bot_bot_set_a )
      = ( ord_less_eq_set_a @ A2 @ B2 ) ) ).

% Diff_eq_empty_iff
thf(fact_377_finite__Diff__insert,axiom,
    ! [A2: set_a,A: a,B2: set_a] :
      ( ( finite_finite_a @ ( minus_minus_set_a @ A2 @ ( insert_a @ A @ B2 ) ) )
      = ( finite_finite_a @ ( minus_minus_set_a @ A2 @ B2 ) ) ) ).

% finite_Diff_insert
thf(fact_378_finite__Diff__insert,axiom,
    ! [A2: set_nat,A: nat,B2: set_nat] :
      ( ( finite_finite_nat @ ( minus_minus_set_nat @ A2 @ ( insert_nat @ A @ B2 ) ) )
      = ( finite_finite_nat @ ( minus_minus_set_nat @ A2 @ B2 ) ) ) ).

% finite_Diff_insert
thf(fact_379_inj__on__insert,axiom,
    ! [F: a > a,A: a,A2: set_a] :
      ( ( inj_on_a_a @ F @ ( insert_a @ A @ A2 ) )
      = ( ( inj_on_a_a @ F @ A2 )
        & ~ ( member_a @ ( F @ A ) @ ( image_a_a @ F @ ( minus_minus_set_a @ A2 @ ( insert_a @ A @ bot_bot_set_a ) ) ) ) ) ) ).

% inj_on_insert
thf(fact_380_inj__on__insert,axiom,
    ! [F: nat > nat,A: nat,A2: set_nat] :
      ( ( inj_on_nat_nat @ F @ ( insert_nat @ A @ A2 ) )
      = ( ( inj_on_nat_nat @ F @ A2 )
        & ~ ( member_nat @ ( F @ A ) @ ( image_nat_nat @ F @ ( minus_minus_set_nat @ A2 @ ( insert_nat @ A @ bot_bot_set_nat ) ) ) ) ) ) ).

% inj_on_insert
thf(fact_381_Pi__mono,axiom,
    ! [A2: set_a,B2: a > set_a,C4: a > set_a] :
      ( ! [X2: a] :
          ( ( member_a @ X2 @ A2 )
         => ( ord_less_eq_set_a @ ( B2 @ X2 ) @ ( C4 @ X2 ) ) )
     => ( ord_less_eq_set_a_a @ ( pi_a_a @ A2 @ B2 ) @ ( pi_a_a @ A2 @ C4 ) ) ) ).

% Pi_mono
thf(fact_382_Pi__mono,axiom,
    ! [A2: set_nat,B2: nat > set_a,C4: nat > set_a] :
      ( ! [X2: nat] :
          ( ( member_nat @ X2 @ A2 )
         => ( ord_less_eq_set_a @ ( B2 @ X2 ) @ ( C4 @ X2 ) ) )
     => ( ord_le871467723717165285_nat_a @ ( pi_nat_a @ A2 @ B2 ) @ ( pi_nat_a @ A2 @ C4 ) ) ) ).

% Pi_mono
thf(fact_383_remove__induct,axiom,
    ! [P: set_nat > $o,B2: set_nat] :
      ( ( P @ bot_bot_set_nat )
     => ( ( ~ ( finite_finite_nat @ B2 )
         => ( P @ B2 ) )
       => ( ! [A5: set_nat] :
              ( ( finite_finite_nat @ A5 )
             => ( ( A5 != bot_bot_set_nat )
               => ( ( ord_less_eq_set_nat @ A5 @ B2 )
                 => ( ! [X4: nat] :
                        ( ( member_nat @ X4 @ A5 )
                       => ( P @ ( minus_minus_set_nat @ A5 @ ( insert_nat @ X4 @ bot_bot_set_nat ) ) ) )
                   => ( P @ A5 ) ) ) ) )
         => ( P @ B2 ) ) ) ) ).

% remove_induct
thf(fact_384_remove__induct,axiom,
    ! [P: set_a > $o,B2: set_a] :
      ( ( P @ bot_bot_set_a )
     => ( ( ~ ( finite_finite_a @ B2 )
         => ( P @ B2 ) )
       => ( ! [A5: set_a] :
              ( ( finite_finite_a @ A5 )
             => ( ( A5 != bot_bot_set_a )
               => ( ( ord_less_eq_set_a @ A5 @ B2 )
                 => ( ! [X4: a] :
                        ( ( member_a @ X4 @ A5 )
                       => ( P @ ( minus_minus_set_a @ A5 @ ( insert_a @ X4 @ bot_bot_set_a ) ) ) )
                   => ( P @ A5 ) ) ) ) )
         => ( P @ B2 ) ) ) ) ).

% remove_induct
thf(fact_385_card__subset__eq,axiom,
    ! [B2: set_nat,A2: set_nat] :
      ( ( finite_finite_nat @ B2 )
     => ( ( ord_less_eq_set_nat @ A2 @ B2 )
       => ( ( ( finite_card_nat @ A2 )
            = ( finite_card_nat @ B2 ) )
         => ( A2 = B2 ) ) ) ) ).

% card_subset_eq
thf(fact_386_card__subset__eq,axiom,
    ! [B2: set_a,A2: set_a] :
      ( ( finite_finite_a @ B2 )
     => ( ( ord_less_eq_set_a @ A2 @ B2 )
       => ( ( ( finite_card_a @ A2 )
            = ( finite_card_a @ B2 ) )
         => ( A2 = B2 ) ) ) ) ).

% card_subset_eq
thf(fact_387_infinite__remove,axiom,
    ! [S: set_a,A: a] :
      ( ~ ( finite_finite_a @ S )
     => ~ ( finite_finite_a @ ( minus_minus_set_a @ S @ ( insert_a @ A @ bot_bot_set_a ) ) ) ) ).

% infinite_remove
thf(fact_388_infinite__remove,axiom,
    ! [S: set_nat,A: nat] :
      ( ~ ( finite_finite_nat @ S )
     => ~ ( finite_finite_nat @ ( minus_minus_set_nat @ S @ ( insert_nat @ A @ bot_bot_set_nat ) ) ) ) ).

% infinite_remove
thf(fact_389_infinite__coinduct,axiom,
    ! [X5: set_a > $o,A2: set_a] :
      ( ( X5 @ A2 )
     => ( ! [A5: set_a] :
            ( ( X5 @ A5 )
           => ? [X4: a] :
                ( ( member_a @ X4 @ A5 )
                & ( ( X5 @ ( minus_minus_set_a @ A5 @ ( insert_a @ X4 @ bot_bot_set_a ) ) )
                  | ~ ( finite_finite_a @ ( minus_minus_set_a @ A5 @ ( insert_a @ X4 @ bot_bot_set_a ) ) ) ) ) )
       => ~ ( finite_finite_a @ A2 ) ) ) ).

% infinite_coinduct
thf(fact_390_infinite__coinduct,axiom,
    ! [X5: set_nat > $o,A2: set_nat] :
      ( ( X5 @ A2 )
     => ( ! [A5: set_nat] :
            ( ( X5 @ A5 )
           => ? [X4: nat] :
                ( ( member_nat @ X4 @ A5 )
                & ( ( X5 @ ( minus_minus_set_nat @ A5 @ ( insert_nat @ X4 @ bot_bot_set_nat ) ) )
                  | ~ ( finite_finite_nat @ ( minus_minus_set_nat @ A5 @ ( insert_nat @ X4 @ bot_bot_set_nat ) ) ) ) ) )
       => ~ ( finite_finite_nat @ A2 ) ) ) ).

% infinite_coinduct
thf(fact_391_finite__empty__induct,axiom,
    ! [A2: set_a,P: set_a > $o] :
      ( ( finite_finite_a @ A2 )
     => ( ( P @ A2 )
       => ( ! [A3: a,A5: set_a] :
              ( ( finite_finite_a @ A5 )
             => ( ( member_a @ A3 @ A5 )
               => ( ( P @ A5 )
                 => ( P @ ( minus_minus_set_a @ A5 @ ( insert_a @ A3 @ bot_bot_set_a ) ) ) ) ) )
         => ( P @ bot_bot_set_a ) ) ) ) ).

% finite_empty_induct
thf(fact_392_finite__empty__induct,axiom,
    ! [A2: set_nat,P: set_nat > $o] :
      ( ( finite_finite_nat @ A2 )
     => ( ( P @ A2 )
       => ( ! [A3: nat,A5: set_nat] :
              ( ( finite_finite_nat @ A5 )
             => ( ( member_nat @ A3 @ A5 )
               => ( ( P @ A5 )
                 => ( P @ ( minus_minus_set_nat @ A5 @ ( insert_nat @ A3 @ bot_bot_set_nat ) ) ) ) ) )
         => ( P @ bot_bot_set_nat ) ) ) ) ).

% finite_empty_induct
thf(fact_393_finite__remove__induct,axiom,
    ! [B2: set_nat,P: set_nat > $o] :
      ( ( finite_finite_nat @ B2 )
     => ( ( P @ bot_bot_set_nat )
       => ( ! [A5: set_nat] :
              ( ( finite_finite_nat @ A5 )
             => ( ( A5 != bot_bot_set_nat )
               => ( ( ord_less_eq_set_nat @ A5 @ B2 )
                 => ( ! [X4: nat] :
                        ( ( member_nat @ X4 @ A5 )
                       => ( P @ ( minus_minus_set_nat @ A5 @ ( insert_nat @ X4 @ bot_bot_set_nat ) ) ) )
                   => ( P @ A5 ) ) ) ) )
         => ( P @ B2 ) ) ) ) ).

% finite_remove_induct
thf(fact_394_finite__remove__induct,axiom,
    ! [B2: set_a,P: set_a > $o] :
      ( ( finite_finite_a @ B2 )
     => ( ( P @ bot_bot_set_a )
       => ( ! [A5: set_a] :
              ( ( finite_finite_a @ A5 )
             => ( ( A5 != bot_bot_set_a )
               => ( ( ord_less_eq_set_a @ A5 @ B2 )
                 => ( ! [X4: a] :
                        ( ( member_a @ X4 @ A5 )
                       => ( P @ ( minus_minus_set_a @ A5 @ ( insert_a @ X4 @ bot_bot_set_a ) ) ) )
                   => ( P @ A5 ) ) ) ) )
         => ( P @ B2 ) ) ) ) ).

% finite_remove_induct
thf(fact_395_finite__subset__induct,axiom,
    ! [F2: set_nat,A2: set_nat,P: set_nat > $o] :
      ( ( finite_finite_nat @ F2 )
     => ( ( ord_less_eq_set_nat @ F2 @ A2 )
       => ( ( P @ bot_bot_set_nat )
         => ( ! [A3: nat,F3: set_nat] :
                ( ( finite_finite_nat @ F3 )
               => ( ( member_nat @ A3 @ A2 )
                 => ( ~ ( member_nat @ A3 @ F3 )
                   => ( ( P @ F3 )
                     => ( P @ ( insert_nat @ A3 @ F3 ) ) ) ) ) )
           => ( P @ F2 ) ) ) ) ) ).

% finite_subset_induct
thf(fact_396_finite__subset__induct,axiom,
    ! [F2: set_a,A2: set_a,P: set_a > $o] :
      ( ( finite_finite_a @ F2 )
     => ( ( ord_less_eq_set_a @ F2 @ A2 )
       => ( ( P @ bot_bot_set_a )
         => ( ! [A3: a,F3: set_a] :
                ( ( finite_finite_a @ F3 )
               => ( ( member_a @ A3 @ A2 )
                 => ( ~ ( member_a @ A3 @ F3 )
                   => ( ( P @ F3 )
                     => ( P @ ( insert_a @ A3 @ F3 ) ) ) ) ) )
           => ( P @ F2 ) ) ) ) ) ).

% finite_subset_induct
thf(fact_397_finite__subset__induct_H,axiom,
    ! [F2: set_nat,A2: set_nat,P: set_nat > $o] :
      ( ( finite_finite_nat @ F2 )
     => ( ( ord_less_eq_set_nat @ F2 @ A2 )
       => ( ( P @ bot_bot_set_nat )
         => ( ! [A3: nat,F3: set_nat] :
                ( ( finite_finite_nat @ F3 )
               => ( ( member_nat @ A3 @ A2 )
                 => ( ( ord_less_eq_set_nat @ F3 @ A2 )
                   => ( ~ ( member_nat @ A3 @ F3 )
                     => ( ( P @ F3 )
                       => ( P @ ( insert_nat @ A3 @ F3 ) ) ) ) ) ) )
           => ( P @ F2 ) ) ) ) ) ).

% finite_subset_induct'
thf(fact_398_finite__subset__induct_H,axiom,
    ! [F2: set_a,A2: set_a,P: set_a > $o] :
      ( ( finite_finite_a @ F2 )
     => ( ( ord_less_eq_set_a @ F2 @ A2 )
       => ( ( P @ bot_bot_set_a )
         => ( ! [A3: a,F3: set_a] :
                ( ( finite_finite_a @ F3 )
               => ( ( member_a @ A3 @ A2 )
                 => ( ( ord_less_eq_set_a @ F3 @ A2 )
                   => ( ~ ( member_a @ A3 @ F3 )
                     => ( ( P @ F3 )
                       => ( P @ ( insert_a @ A3 @ F3 ) ) ) ) ) ) )
           => ( P @ F2 ) ) ) ) ) ).

% finite_subset_induct'
thf(fact_399_infinite__arbitrarily__large,axiom,
    ! [A2: set_nat,N2: nat] :
      ( ~ ( finite_finite_nat @ A2 )
     => ? [B6: set_nat] :
          ( ( finite_finite_nat @ B6 )
          & ( ( finite_card_nat @ B6 )
            = N2 )
          & ( ord_less_eq_set_nat @ B6 @ A2 ) ) ) ).

% infinite_arbitrarily_large
thf(fact_400_infinite__arbitrarily__large,axiom,
    ! [A2: set_a,N2: nat] :
      ( ~ ( finite_finite_a @ A2 )
     => ? [B6: set_a] :
          ( ( finite_finite_a @ B6 )
          & ( ( finite_card_a @ B6 )
            = N2 )
          & ( ord_less_eq_set_a @ B6 @ A2 ) ) ) ).

% infinite_arbitrarily_large
thf(fact_401_image__diff__subset,axiom,
    ! [F: a > a,A2: set_a,B2: set_a] : ( ord_less_eq_set_a @ ( minus_minus_set_a @ ( image_a_a @ F @ A2 ) @ ( image_a_a @ F @ B2 ) ) @ ( image_a_a @ F @ ( minus_minus_set_a @ A2 @ B2 ) ) ) ).

% image_diff_subset
thf(fact_402_subset__singleton__iff,axiom,
    ! [X5: set_a,A: a] :
      ( ( ord_less_eq_set_a @ X5 @ ( insert_a @ A @ bot_bot_set_a ) )
      = ( ( X5 = bot_bot_set_a )
        | ( X5
          = ( insert_a @ A @ bot_bot_set_a ) ) ) ) ).

% subset_singleton_iff
thf(fact_403_in__image__insert__iff,axiom,
    ! [B2: set_set_a,X: a,A2: set_a] :
      ( ! [C5: set_a] :
          ( ( member_set_a @ C5 @ B2 )
         => ~ ( member_a @ X @ C5 ) )
     => ( ( member_set_a @ A2 @ ( image_set_a_set_a @ ( insert_a @ X ) @ B2 ) )
        = ( ( member_a @ X @ A2 )
          & ( member_set_a @ ( minus_minus_set_a @ A2 @ ( insert_a @ X @ bot_bot_set_a ) ) @ B2 ) ) ) ) ).

% in_image_insert_iff
thf(fact_404_in__image__insert__iff,axiom,
    ! [B2: set_set_nat,X: nat,A2: set_nat] :
      ( ! [C5: set_nat] :
          ( ( member_set_nat @ C5 @ B2 )
         => ~ ( member_nat @ X @ C5 ) )
     => ( ( member_set_nat @ A2 @ ( image_7916887816326733075et_nat @ ( insert_nat @ X ) @ B2 ) )
        = ( ( member_nat @ X @ A2 )
          & ( member_set_nat @ ( minus_minus_set_nat @ A2 @ ( insert_nat @ X @ bot_bot_set_nat ) ) @ B2 ) ) ) ) ).

% in_image_insert_iff
thf(fact_405_subset__Diff__insert,axiom,
    ! [A2: set_nat,B2: set_nat,X: nat,C4: set_nat] :
      ( ( ord_less_eq_set_nat @ A2 @ ( minus_minus_set_nat @ B2 @ ( insert_nat @ X @ C4 ) ) )
      = ( ( ord_less_eq_set_nat @ A2 @ ( minus_minus_set_nat @ B2 @ C4 ) )
        & ~ ( member_nat @ X @ A2 ) ) ) ).

% subset_Diff_insert
thf(fact_406_subset__Diff__insert,axiom,
    ! [A2: set_a,B2: set_a,X: a,C4: set_a] :
      ( ( ord_less_eq_set_a @ A2 @ ( minus_minus_set_a @ B2 @ ( insert_a @ X @ C4 ) ) )
      = ( ( ord_less_eq_set_a @ A2 @ ( minus_minus_set_a @ B2 @ C4 ) )
        & ~ ( member_a @ X @ A2 ) ) ) ).

% subset_Diff_insert
thf(fact_407_mk__disjoint__insert,axiom,
    ! [A: a,A2: set_a] :
      ( ( member_a @ A @ A2 )
     => ? [B6: set_a] :
          ( ( A2
            = ( insert_a @ A @ B6 ) )
          & ~ ( member_a @ A @ B6 ) ) ) ).

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

% mk_disjoint_insert
thf(fact_409_Diff__single__insert,axiom,
    ! [A2: set_a,X: a,B2: set_a] :
      ( ( ord_less_eq_set_a @ ( minus_minus_set_a @ A2 @ ( insert_a @ X @ bot_bot_set_a ) ) @ B2 )
     => ( ord_less_eq_set_a @ A2 @ ( insert_a @ X @ B2 ) ) ) ).

% Diff_single_insert
thf(fact_410_Diff__insert__absorb,axiom,
    ! [X: a,A2: set_a] :
      ( ~ ( member_a @ X @ A2 )
     => ( ( minus_minus_set_a @ ( insert_a @ X @ A2 ) @ ( insert_a @ X @ bot_bot_set_a ) )
        = A2 ) ) ).

% Diff_insert_absorb
thf(fact_411_Diff__insert__absorb,axiom,
    ! [X: nat,A2: set_nat] :
      ( ~ ( member_nat @ X @ A2 )
     => ( ( minus_minus_set_nat @ ( insert_nat @ X @ A2 ) @ ( insert_nat @ X @ bot_bot_set_nat ) )
        = A2 ) ) ).

% Diff_insert_absorb
thf(fact_412_subset__singletonD,axiom,
    ! [A2: set_a,X: a] :
      ( ( ord_less_eq_set_a @ A2 @ ( insert_a @ X @ bot_bot_set_a ) )
     => ( ( A2 = bot_bot_set_a )
        | ( A2
          = ( insert_a @ X @ bot_bot_set_a ) ) ) ) ).

% subset_singletonD
thf(fact_413_subset__insert__iff,axiom,
    ! [A2: set_nat,X: nat,B2: set_nat] :
      ( ( ord_less_eq_set_nat @ A2 @ ( insert_nat @ X @ B2 ) )
      = ( ( ( member_nat @ X @ A2 )
         => ( ord_less_eq_set_nat @ ( minus_minus_set_nat @ A2 @ ( insert_nat @ X @ bot_bot_set_nat ) ) @ B2 ) )
        & ( ~ ( member_nat @ X @ A2 )
         => ( ord_less_eq_set_nat @ A2 @ B2 ) ) ) ) ).

% subset_insert_iff
thf(fact_414_subset__insert__iff,axiom,
    ! [A2: set_a,X: a,B2: set_a] :
      ( ( ord_less_eq_set_a @ A2 @ ( insert_a @ X @ B2 ) )
      = ( ( ( member_a @ X @ A2 )
         => ( ord_less_eq_set_a @ ( minus_minus_set_a @ A2 @ ( insert_a @ X @ bot_bot_set_a ) ) @ B2 ) )
        & ( ~ ( member_a @ X @ A2 )
         => ( ord_less_eq_set_a @ A2 @ B2 ) ) ) ) ).

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

% Collect_mono_iff
thf(fact_416_Collect__mono__iff,axiom,
    ! [P: a > $o,Q: a > $o] :
      ( ( ord_less_eq_set_a @ ( collect_a @ P ) @ ( collect_a @ Q ) )
      = ( ! [X3: a] :
            ( ( P @ X3 )
           => ( Q @ X3 ) ) ) ) ).

% Collect_mono_iff
thf(fact_417_Collect__conv__if2,axiom,
    ! [P: a > $o,A: a] :
      ( ( ( P @ A )
       => ( ( collect_a
            @ ^ [X3: a] :
                ( ( A = X3 )
                & ( P @ X3 ) ) )
          = ( insert_a @ A @ bot_bot_set_a ) ) )
      & ( ~ ( P @ A )
       => ( ( collect_a
            @ ^ [X3: a] :
                ( ( A = X3 )
                & ( P @ X3 ) ) )
          = bot_bot_set_a ) ) ) ).

% Collect_conv_if2
thf(fact_418_Collect__conv__if2,axiom,
    ! [P: nat > $o,A: nat] :
      ( ( ( P @ A )
       => ( ( collect_nat
            @ ^ [X3: nat] :
                ( ( A = X3 )
                & ( P @ X3 ) ) )
          = ( insert_nat @ A @ bot_bot_set_nat ) ) )
      & ( ~ ( P @ A )
       => ( ( collect_nat
            @ ^ [X3: nat] :
                ( ( A = X3 )
                & ( P @ X3 ) ) )
          = bot_bot_set_nat ) ) ) ).

% Collect_conv_if2
thf(fact_419_subset__insertI2,axiom,
    ! [A2: set_a,B2: set_a,B: a] :
      ( ( ord_less_eq_set_a @ A2 @ B2 )
     => ( ord_less_eq_set_a @ A2 @ ( insert_a @ B @ B2 ) ) ) ).

% subset_insertI2
thf(fact_420_Collect__conv__if,axiom,
    ! [P: a > $o,A: a] :
      ( ( ( P @ A )
       => ( ( collect_a
            @ ^ [X3: a] :
                ( ( X3 = A )
                & ( P @ X3 ) ) )
          = ( insert_a @ A @ bot_bot_set_a ) ) )
      & ( ~ ( P @ A )
       => ( ( collect_a
            @ ^ [X3: a] :
                ( ( X3 = A )
                & ( P @ X3 ) ) )
          = bot_bot_set_a ) ) ) ).

% Collect_conv_if
thf(fact_421_Collect__conv__if,axiom,
    ! [P: nat > $o,A: nat] :
      ( ( ( P @ A )
       => ( ( collect_nat
            @ ^ [X3: nat] :
                ( ( X3 = A )
                & ( P @ X3 ) ) )
          = ( insert_nat @ A @ bot_bot_set_nat ) ) )
      & ( ~ ( P @ A )
       => ( ( collect_nat
            @ ^ [X3: nat] :
                ( ( X3 = A )
                & ( P @ X3 ) ) )
          = bot_bot_set_nat ) ) ) ).

% Collect_conv_if
thf(fact_422_subset__insertI,axiom,
    ! [B2: set_a,A: a] : ( ord_less_eq_set_a @ B2 @ ( insert_a @ A @ B2 ) ) ).

% subset_insertI
thf(fact_423_insert__Diff__if,axiom,
    ! [X: a,B2: set_a,A2: set_a] :
      ( ( ( member_a @ X @ B2 )
       => ( ( minus_minus_set_a @ ( insert_a @ X @ A2 ) @ B2 )
          = ( minus_minus_set_a @ A2 @ B2 ) ) )
      & ( ~ ( member_a @ X @ B2 )
       => ( ( minus_minus_set_a @ ( insert_a @ X @ A2 ) @ B2 )
          = ( insert_a @ X @ ( minus_minus_set_a @ A2 @ B2 ) ) ) ) ) ).

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

% insert_Diff_if
thf(fact_425_subset__insert,axiom,
    ! [X: nat,A2: set_nat,B2: set_nat] :
      ( ~ ( member_nat @ X @ A2 )
     => ( ( ord_less_eq_set_nat @ A2 @ ( insert_nat @ X @ B2 ) )
        = ( ord_less_eq_set_nat @ A2 @ B2 ) ) ) ).

% subset_insert
thf(fact_426_subset__insert,axiom,
    ! [X: a,A2: set_a,B2: set_a] :
      ( ~ ( member_a @ X @ A2 )
     => ( ( ord_less_eq_set_a @ A2 @ ( insert_a @ X @ B2 ) )
        = ( ord_less_eq_set_a @ A2 @ B2 ) ) ) ).

% subset_insert
thf(fact_427_singleton__iff,axiom,
    ! [B: a,A: a] :
      ( ( member_a @ B @ ( insert_a @ A @ bot_bot_set_a ) )
      = ( B = A ) ) ).

% singleton_iff
thf(fact_428_singleton__iff,axiom,
    ! [B: nat,A: nat] :
      ( ( member_nat @ B @ ( insert_nat @ A @ bot_bot_set_nat ) )
      = ( B = A ) ) ).

% singleton_iff
thf(fact_429_set__eq__subset,axiom,
    ( ( ^ [Y4: set_a,Z2: set_a] : ( Y4 = Z2 ) )
    = ( ^ [A6: set_a,B5: set_a] :
          ( ( ord_less_eq_set_a @ A6 @ B5 )
          & ( ord_less_eq_set_a @ B5 @ A6 ) ) ) ) ).

% set_eq_subset
thf(fact_430_insert__eq__iff,axiom,
    ! [A: a,A2: set_a,B: a,B2: set_a] :
      ( ~ ( member_a @ A @ A2 )
     => ( ~ ( member_a @ B @ B2 )
       => ( ( ( insert_a @ A @ A2 )
            = ( insert_a @ B @ B2 ) )
          = ( ( ( A = B )
             => ( A2 = B2 ) )
            & ( ( A != B )
             => ? [C6: set_a] :
                  ( ( A2
                    = ( insert_a @ B @ C6 ) )
                  & ~ ( member_a @ B @ C6 )
                  & ( B2
                    = ( insert_a @ A @ C6 ) )
                  & ~ ( member_a @ A @ C6 ) ) ) ) ) ) ) ).

% insert_eq_iff
thf(fact_431_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 )
             => ? [C6: set_nat] :
                  ( ( A2
                    = ( insert_nat @ B @ C6 ) )
                  & ~ ( member_nat @ B @ C6 )
                  & ( B2
                    = ( insert_nat @ A @ C6 ) )
                  & ~ ( member_nat @ A @ C6 ) ) ) ) ) ) ) ).

% insert_eq_iff
thf(fact_432_insert__absorb,axiom,
    ! [A: a,A2: set_a] :
      ( ( member_a @ A @ A2 )
     => ( ( insert_a @ A @ A2 )
        = A2 ) ) ).

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

% insert_absorb
thf(fact_434_subset__trans,axiom,
    ! [A2: set_a,B2: set_a,C4: set_a] :
      ( ( ord_less_eq_set_a @ A2 @ B2 )
     => ( ( ord_less_eq_set_a @ B2 @ C4 )
       => ( ord_less_eq_set_a @ A2 @ C4 ) ) ) ).

% subset_trans
thf(fact_435_insert__ident,axiom,
    ! [X: a,A2: set_a,B2: set_a] :
      ( ~ ( member_a @ X @ A2 )
     => ( ~ ( member_a @ X @ B2 )
       => ( ( ( insert_a @ X @ A2 )
            = ( insert_a @ X @ B2 ) )
          = ( A2 = B2 ) ) ) ) ).

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

% insert_ident
thf(fact_437_Collect__mono,axiom,
    ! [P: nat > $o,Q: nat > $o] :
      ( ! [X2: nat] :
          ( ( P @ X2 )
         => ( Q @ X2 ) )
     => ( ord_less_eq_set_nat @ ( collect_nat @ P ) @ ( collect_nat @ Q ) ) ) ).

% Collect_mono
thf(fact_438_Collect__mono,axiom,
    ! [P: a > $o,Q: a > $o] :
      ( ! [X2: a] :
          ( ( P @ X2 )
         => ( Q @ X2 ) )
     => ( ord_less_eq_set_a @ ( collect_a @ P ) @ ( collect_a @ Q ) ) ) ).

% Collect_mono
thf(fact_439_subset__refl,axiom,
    ! [A2: set_a] : ( ord_less_eq_set_a @ A2 @ A2 ) ).

% subset_refl
thf(fact_440_insert__mono,axiom,
    ! [C4: set_a,D: set_a,A: a] :
      ( ( ord_less_eq_set_a @ C4 @ D )
     => ( ord_less_eq_set_a @ ( insert_a @ A @ C4 ) @ ( insert_a @ A @ D ) ) ) ).

% insert_mono
thf(fact_441_insert__Diff,axiom,
    ! [A: a,A2: set_a] :
      ( ( member_a @ A @ A2 )
     => ( ( insert_a @ A @ ( minus_minus_set_a @ A2 @ ( insert_a @ A @ bot_bot_set_a ) ) )
        = A2 ) ) ).

% insert_Diff
thf(fact_442_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_443_double__diff,axiom,
    ! [A2: set_a,B2: set_a,C4: set_a] :
      ( ( ord_less_eq_set_a @ A2 @ B2 )
     => ( ( ord_less_eq_set_a @ B2 @ C4 )
       => ( ( minus_minus_set_a @ B2 @ ( minus_minus_set_a @ C4 @ A2 ) )
          = A2 ) ) ) ).

% double_diff
thf(fact_444_Diff__subset,axiom,
    ! [A2: set_a,B2: set_a] : ( ord_less_eq_set_a @ ( minus_minus_set_a @ A2 @ B2 ) @ A2 ) ).

% Diff_subset
thf(fact_445_subset__iff,axiom,
    ( ord_less_eq_set_nat
    = ( ^ [A6: set_nat,B5: set_nat] :
        ! [T: nat] :
          ( ( member_nat @ T @ A6 )
         => ( member_nat @ T @ B5 ) ) ) ) ).

% subset_iff
thf(fact_446_subset__iff,axiom,
    ( ord_less_eq_set_a
    = ( ^ [A6: set_a,B5: set_a] :
        ! [T: a] :
          ( ( member_a @ T @ A6 )
         => ( member_a @ T @ B5 ) ) ) ) ).

% subset_iff
thf(fact_447_singletonD,axiom,
    ! [B: a,A: a] :
      ( ( member_a @ B @ ( insert_a @ A @ bot_bot_set_a ) )
     => ( B = A ) ) ).

% singletonD
thf(fact_448_singletonD,axiom,
    ! [B: nat,A: nat] :
      ( ( member_nat @ B @ ( insert_nat @ A @ bot_bot_set_nat ) )
     => ( B = A ) ) ).

% singletonD
thf(fact_449_Set_Oset__insert,axiom,
    ! [X: a,A2: set_a] :
      ( ( member_a @ X @ A2 )
     => ~ ! [B6: set_a] :
            ( ( A2
              = ( insert_a @ X @ B6 ) )
           => ( member_a @ X @ B6 ) ) ) ).

% Set.set_insert
thf(fact_450_Set_Oset__insert,axiom,
    ! [X: nat,A2: set_nat] :
      ( ( member_nat @ X @ A2 )
     => ~ ! [B6: set_nat] :
            ( ( A2
              = ( insert_nat @ X @ B6 ) )
           => ( member_nat @ X @ B6 ) ) ) ).

% Set.set_insert
thf(fact_451_ex__in__conv,axiom,
    ! [A2: set_a] :
      ( ( ? [X3: a] : ( member_a @ X3 @ A2 ) )
      = ( A2 != bot_bot_set_a ) ) ).

% ex_in_conv
thf(fact_452_ex__in__conv,axiom,
    ! [A2: set_nat] :
      ( ( ? [X3: nat] : ( member_nat @ X3 @ A2 ) )
      = ( A2 != bot_bot_set_nat ) ) ).

% ex_in_conv
thf(fact_453_equalityD2,axiom,
    ! [A2: set_a,B2: set_a] :
      ( ( A2 = B2 )
     => ( ord_less_eq_set_a @ B2 @ A2 ) ) ).

% equalityD2
thf(fact_454_equalityD1,axiom,
    ! [A2: set_a,B2: set_a] :
      ( ( A2 = B2 )
     => ( ord_less_eq_set_a @ A2 @ B2 ) ) ).

% equalityD1
thf(fact_455_subset__eq,axiom,
    ( ord_less_eq_set_nat
    = ( ^ [A6: set_nat,B5: set_nat] :
        ! [X3: nat] :
          ( ( member_nat @ X3 @ A6 )
         => ( member_nat @ X3 @ B5 ) ) ) ) ).

% subset_eq
thf(fact_456_subset__eq,axiom,
    ( ord_less_eq_set_a
    = ( ^ [A6: set_a,B5: set_a] :
        ! [X3: a] :
          ( ( member_a @ X3 @ A6 )
         => ( member_a @ X3 @ B5 ) ) ) ) ).

% subset_eq
thf(fact_457_equalityE,axiom,
    ! [A2: set_a,B2: set_a] :
      ( ( A2 = B2 )
     => ~ ( ( ord_less_eq_set_a @ A2 @ B2 )
         => ~ ( ord_less_eq_set_a @ B2 @ A2 ) ) ) ).

% equalityE
thf(fact_458_Diff__mono,axiom,
    ! [A2: set_a,C4: set_a,D: set_a,B2: set_a] :
      ( ( ord_less_eq_set_a @ A2 @ C4 )
     => ( ( ord_less_eq_set_a @ D @ B2 )
       => ( ord_less_eq_set_a @ ( minus_minus_set_a @ A2 @ B2 ) @ ( minus_minus_set_a @ C4 @ D ) ) ) ) ).

% Diff_mono
thf(fact_459_insertI2,axiom,
    ! [A: a,B2: set_a,B: a] :
      ( ( member_a @ A @ B2 )
     => ( member_a @ A @ ( insert_a @ B @ B2 ) ) ) ).

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

% insertI2
thf(fact_461_insertI1,axiom,
    ! [A: a,B2: set_a] : ( member_a @ A @ ( insert_a @ A @ B2 ) ) ).

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

% insertI1
thf(fact_463_equals0I,axiom,
    ! [A2: set_a] :
      ( ! [Y5: a] :
          ~ ( member_a @ Y5 @ A2 )
     => ( A2 = bot_bot_set_a ) ) ).

% equals0I
thf(fact_464_equals0I,axiom,
    ! [A2: set_nat] :
      ( ! [Y5: nat] :
          ~ ( member_nat @ Y5 @ A2 )
     => ( A2 = bot_bot_set_nat ) ) ).

% equals0I
thf(fact_465_equals0D,axiom,
    ! [A2: set_a,A: a] :
      ( ( A2 = bot_bot_set_a )
     => ~ ( member_a @ A @ A2 ) ) ).

% equals0D
thf(fact_466_equals0D,axiom,
    ! [A2: set_nat,A: nat] :
      ( ( A2 = bot_bot_set_nat )
     => ~ ( member_nat @ A @ A2 ) ) ).

% equals0D
thf(fact_467_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_468_subsetD,axiom,
    ! [A2: set_a,B2: set_a,C: a] :
      ( ( ord_less_eq_set_a @ A2 @ B2 )
     => ( ( member_a @ C @ A2 )
       => ( member_a @ C @ B2 ) ) ) ).

% subsetD
thf(fact_469_insertE,axiom,
    ! [A: a,B: a,A2: set_a] :
      ( ( member_a @ A @ ( insert_a @ B @ A2 ) )
     => ( ( A != B )
       => ( member_a @ A @ A2 ) ) ) ).

% insertE
thf(fact_470_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_471_in__mono,axiom,
    ! [A2: set_nat,B2: set_nat,X: nat] :
      ( ( ord_less_eq_set_nat @ A2 @ B2 )
     => ( ( member_nat @ X @ A2 )
       => ( member_nat @ X @ B2 ) ) ) ).

% in_mono
thf(fact_472_in__mono,axiom,
    ! [A2: set_a,B2: set_a,X: a] :
      ( ( ord_less_eq_set_a @ A2 @ B2 )
     => ( ( member_a @ X @ A2 )
       => ( member_a @ X @ B2 ) ) ) ).

% in_mono
thf(fact_473_emptyE,axiom,
    ! [A: a] :
      ~ ( member_a @ A @ bot_bot_set_a ) ).

% emptyE
thf(fact_474_emptyE,axiom,
    ! [A: nat] :
      ~ ( member_nat @ A @ bot_bot_set_nat ) ).

% emptyE
thf(fact_475_DiffD2,axiom,
    ! [C: a,A2: set_a,B2: set_a] :
      ( ( member_a @ C @ ( minus_minus_set_a @ A2 @ B2 ) )
     => ~ ( member_a @ C @ B2 ) ) ).

% DiffD2
thf(fact_476_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_477_DiffD1,axiom,
    ! [C: a,A2: set_a,B2: set_a] :
      ( ( member_a @ C @ ( minus_minus_set_a @ A2 @ B2 ) )
     => ( member_a @ C @ A2 ) ) ).

% DiffD1
thf(fact_478_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_479_DiffE,axiom,
    ! [C: a,A2: set_a,B2: set_a] :
      ( ( member_a @ C @ ( minus_minus_set_a @ A2 @ B2 ) )
     => ~ ( ( member_a @ C @ A2 )
         => ( member_a @ C @ B2 ) ) ) ).

% DiffE
thf(fact_480_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_481_infinite__finite__induct,axiom,
    ! [P: set_a > $o,A2: set_a] :
      ( ! [A5: set_a] :
          ( ~ ( finite_finite_a @ A5 )
         => ( P @ A5 ) )
     => ( ( P @ bot_bot_set_a )
       => ( ! [X2: a,F3: set_a] :
              ( ( finite_finite_a @ F3 )
             => ( ~ ( member_a @ X2 @ F3 )
               => ( ( P @ F3 )
                 => ( P @ ( insert_a @ X2 @ F3 ) ) ) ) )
         => ( P @ A2 ) ) ) ) ).

% infinite_finite_induct
thf(fact_482_infinite__finite__induct,axiom,
    ! [P: set_nat > $o,A2: set_nat] :
      ( ! [A5: set_nat] :
          ( ~ ( finite_finite_nat @ A5 )
         => ( P @ A5 ) )
     => ( ( P @ bot_bot_set_nat )
       => ( ! [X2: nat,F3: set_nat] :
              ( ( finite_finite_nat @ F3 )
             => ( ~ ( member_nat @ X2 @ F3 )
               => ( ( P @ F3 )
                 => ( P @ ( insert_nat @ X2 @ F3 ) ) ) ) )
         => ( P @ A2 ) ) ) ) ).

% infinite_finite_induct
thf(fact_483_finite__ne__induct,axiom,
    ! [F2: set_a,P: set_a > $o] :
      ( ( finite_finite_a @ F2 )
     => ( ( F2 != bot_bot_set_a )
       => ( ! [X2: a] : ( P @ ( insert_a @ X2 @ bot_bot_set_a ) )
         => ( ! [X2: a,F3: set_a] :
                ( ( finite_finite_a @ F3 )
               => ( ( F3 != bot_bot_set_a )
                 => ( ~ ( member_a @ X2 @ F3 )
                   => ( ( P @ F3 )
                     => ( P @ ( insert_a @ X2 @ F3 ) ) ) ) ) )
           => ( P @ F2 ) ) ) ) ) ).

% finite_ne_induct
thf(fact_484_finite__ne__induct,axiom,
    ! [F2: set_nat,P: set_nat > $o] :
      ( ( finite_finite_nat @ F2 )
     => ( ( F2 != bot_bot_set_nat )
       => ( ! [X2: nat] : ( P @ ( insert_nat @ X2 @ bot_bot_set_nat ) )
         => ( ! [X2: nat,F3: set_nat] :
                ( ( finite_finite_nat @ F3 )
               => ( ( F3 != bot_bot_set_nat )
                 => ( ~ ( member_nat @ X2 @ F3 )
                   => ( ( P @ F3 )
                     => ( P @ ( insert_nat @ X2 @ F3 ) ) ) ) ) )
           => ( P @ F2 ) ) ) ) ) ).

% finite_ne_induct
thf(fact_485_finite__induct,axiom,
    ! [F2: set_a,P: set_a > $o] :
      ( ( finite_finite_a @ F2 )
     => ( ( P @ bot_bot_set_a )
       => ( ! [X2: a,F3: set_a] :
              ( ( finite_finite_a @ F3 )
             => ( ~ ( member_a @ X2 @ F3 )
               => ( ( P @ F3 )
                 => ( P @ ( insert_a @ X2 @ F3 ) ) ) ) )
         => ( P @ F2 ) ) ) ) ).

% finite_induct
thf(fact_486_finite__induct,axiom,
    ! [F2: set_nat,P: set_nat > $o] :
      ( ( finite_finite_nat @ F2 )
     => ( ( P @ bot_bot_set_nat )
       => ( ! [X2: nat,F3: set_nat] :
              ( ( finite_finite_nat @ F3 )
             => ( ~ ( member_nat @ X2 @ F3 )
               => ( ( P @ F3 )
                 => ( P @ ( insert_nat @ X2 @ F3 ) ) ) ) )
         => ( P @ F2 ) ) ) ) ).

% finite_induct
thf(fact_487_finite_Osimps,axiom,
    ( finite_finite_a
    = ( ^ [A4: set_a] :
          ( ( A4 = bot_bot_set_a )
          | ? [A6: set_a,B4: a] :
              ( ( A4
                = ( insert_a @ B4 @ A6 ) )
              & ( finite_finite_a @ A6 ) ) ) ) ) ).

% finite.simps
thf(fact_488_finite_Osimps,axiom,
    ( finite_finite_nat
    = ( ^ [A4: set_nat] :
          ( ( A4 = bot_bot_set_nat )
          | ? [A6: set_nat,B4: nat] :
              ( ( A4
                = ( insert_nat @ B4 @ A6 ) )
              & ( finite_finite_nat @ A6 ) ) ) ) ) ).

% finite.simps
thf(fact_489_finite_Ocases,axiom,
    ! [A: set_a] :
      ( ( finite_finite_a @ A )
     => ( ( A != bot_bot_set_a )
       => ~ ! [A5: set_a] :
              ( ? [A3: a] :
                  ( A
                  = ( insert_a @ A3 @ A5 ) )
             => ~ ( finite_finite_a @ A5 ) ) ) ) ).

% finite.cases
thf(fact_490_finite_Ocases,axiom,
    ! [A: set_nat] :
      ( ( finite_finite_nat @ A )
     => ( ( A != bot_bot_set_nat )
       => ~ ! [A5: set_nat] :
              ( ? [A3: nat] :
                  ( A
                  = ( insert_nat @ A3 @ A5 ) )
             => ~ ( finite_finite_nat @ A5 ) ) ) ) ).

% finite.cases
thf(fact_491_finite__has__minimal,axiom,
    ! [A2: set_set_a] :
      ( ( finite_finite_set_a @ A2 )
     => ( ( A2 != bot_bot_set_set_a )
       => ? [X2: set_a] :
            ( ( member_set_a @ X2 @ A2 )
            & ! [Xa: set_a] :
                ( ( member_set_a @ Xa @ A2 )
               => ( ( ord_less_eq_set_a @ Xa @ X2 )
                 => ( X2 = Xa ) ) ) ) ) ) ).

% finite_has_minimal
thf(fact_492_finite__has__minimal,axiom,
    ! [A2: set_nat] :
      ( ( finite_finite_nat @ A2 )
     => ( ( A2 != bot_bot_set_nat )
       => ? [X2: nat] :
            ( ( member_nat @ X2 @ A2 )
            & ! [Xa: nat] :
                ( ( member_nat @ Xa @ A2 )
               => ( ( ord_less_eq_nat @ Xa @ X2 )
                 => ( X2 = Xa ) ) ) ) ) ) ).

% finite_has_minimal
thf(fact_493_finite__has__maximal,axiom,
    ! [A2: set_set_a] :
      ( ( finite_finite_set_a @ A2 )
     => ( ( A2 != bot_bot_set_set_a )
       => ? [X2: set_a] :
            ( ( member_set_a @ X2 @ A2 )
            & ! [Xa: set_a] :
                ( ( member_set_a @ Xa @ A2 )
               => ( ( ord_less_eq_set_a @ X2 @ Xa )
                 => ( X2 = Xa ) ) ) ) ) ) ).

% finite_has_maximal
thf(fact_494_finite__has__maximal,axiom,
    ! [A2: set_nat] :
      ( ( finite_finite_nat @ A2 )
     => ( ( A2 != bot_bot_set_nat )
       => ? [X2: nat] :
            ( ( member_nat @ X2 @ A2 )
            & ! [Xa: nat] :
                ( ( member_nat @ Xa @ A2 )
               => ( ( ord_less_eq_nat @ X2 @ Xa )
                 => ( X2 = Xa ) ) ) ) ) ) ).

% finite_has_maximal
thf(fact_495_insert__compr,axiom,
    ( insert_a
    = ( ^ [A4: a,B5: set_a] :
          ( collect_a
          @ ^ [X3: a] :
              ( ( X3 = A4 )
              | ( member_a @ X3 @ B5 ) ) ) ) ) ).

% insert_compr
thf(fact_496_insert__compr,axiom,
    ( insert_nat
    = ( ^ [A4: nat,B5: set_nat] :
          ( collect_nat
          @ ^ [X3: nat] :
              ( ( X3 = A4 )
              | ( member_nat @ X3 @ B5 ) ) ) ) ) ).

% insert_compr
thf(fact_497_insert__Collect,axiom,
    ! [A: a,P: a > $o] :
      ( ( insert_a @ A @ ( collect_a @ P ) )
      = ( collect_a
        @ ^ [U2: a] :
            ( ( U2 != A )
           => ( P @ U2 ) ) ) ) ).

% insert_Collect
thf(fact_498_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_499_set__diff__eq,axiom,
    ( minus_minus_set_a
    = ( ^ [A6: set_a,B5: set_a] :
          ( collect_a
          @ ^ [X3: a] :
              ( ( member_a @ X3 @ A6 )
              & ~ ( member_a @ X3 @ B5 ) ) ) ) ) ).

% set_diff_eq
thf(fact_500_set__diff__eq,axiom,
    ( minus_minus_set_nat
    = ( ^ [A6: set_nat,B5: set_nat] :
          ( collect_nat
          @ ^ [X3: nat] :
              ( ( member_nat @ X3 @ A6 )
              & ~ ( member_nat @ X3 @ B5 ) ) ) ) ) ).

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

% Collect_subset
thf(fact_502_Collect__subset,axiom,
    ! [A2: set_a,P: a > $o] :
      ( ord_less_eq_set_a
      @ ( collect_a
        @ ^ [X3: a] :
            ( ( member_a @ X3 @ A2 )
            & ( P @ X3 ) ) )
      @ A2 ) ).

% Collect_subset
thf(fact_503_inj__on__diff,axiom,
    ! [F: nat > nat,A2: set_nat,B2: set_nat] :
      ( ( inj_on_nat_nat @ F @ A2 )
     => ( inj_on_nat_nat @ F @ ( minus_minus_set_nat @ A2 @ B2 ) ) ) ).

% inj_on_diff
thf(fact_504_empty__def,axiom,
    ( bot_bot_set_a
    = ( collect_a
      @ ^ [X3: a] : $false ) ) ).

% empty_def
thf(fact_505_empty__def,axiom,
    ( bot_bot_set_nat
    = ( collect_nat
      @ ^ [X3: nat] : $false ) ) ).

% empty_def
thf(fact_506_inj__on__subset,axiom,
    ! [F: nat > nat,A2: set_nat,B2: set_nat] :
      ( ( inj_on_nat_nat @ F @ A2 )
     => ( ( ord_less_eq_set_nat @ B2 @ A2 )
       => ( inj_on_nat_nat @ F @ B2 ) ) ) ).

% inj_on_subset
thf(fact_507_subset__inj__on,axiom,
    ! [F: nat > nat,B2: set_nat,A2: set_nat] :
      ( ( inj_on_nat_nat @ F @ B2 )
     => ( ( ord_less_eq_set_nat @ A2 @ B2 )
       => ( inj_on_nat_nat @ F @ A2 ) ) ) ).

% subset_inj_on
thf(fact_508_image__constant__conv,axiom,
    ! [A2: set_a,C: a] :
      ( ( ( A2 = bot_bot_set_a )
       => ( ( image_a_a
            @ ^ [X3: a] : C
            @ A2 )
          = bot_bot_set_a ) )
      & ( ( A2 != bot_bot_set_a )
       => ( ( image_a_a
            @ ^ [X3: a] : C
            @ A2 )
          = ( insert_a @ C @ bot_bot_set_a ) ) ) ) ).

% image_constant_conv
thf(fact_509_image__constant,axiom,
    ! [X: a,A2: set_a,C: a] :
      ( ( member_a @ X @ A2 )
     => ( ( image_a_a
          @ ^ [X3: a] : C
          @ A2 )
        = ( insert_a @ C @ bot_bot_set_a ) ) ) ).

% image_constant
thf(fact_510_inj__on__image__set__diff,axiom,
    ! [F: nat > nat,C4: set_nat,A2: set_nat,B2: set_nat] :
      ( ( inj_on_nat_nat @ F @ C4 )
     => ( ( ord_less_eq_set_nat @ ( minus_minus_set_nat @ A2 @ B2 ) @ C4 )
       => ( ( ord_less_eq_set_nat @ B2 @ C4 )
         => ( ( image_nat_nat @ F @ ( minus_minus_set_nat @ A2 @ B2 ) )
            = ( minus_minus_set_nat @ ( image_nat_nat @ F @ A2 ) @ ( image_nat_nat @ F @ B2 ) ) ) ) ) ) ).

% inj_on_image_set_diff
thf(fact_511_inj__on__image__set__diff,axiom,
    ! [F: a > a,C4: set_a,A2: set_a,B2: set_a] :
      ( ( inj_on_a_a @ F @ C4 )
     => ( ( ord_less_eq_set_a @ ( minus_minus_set_a @ A2 @ B2 ) @ C4 )
       => ( ( ord_less_eq_set_a @ B2 @ C4 )
         => ( ( image_a_a @ F @ ( minus_minus_set_a @ A2 @ B2 ) )
            = ( minus_minus_set_a @ ( image_a_a @ F @ A2 ) @ ( image_a_a @ F @ B2 ) ) ) ) ) ) ).

% inj_on_image_set_diff
thf(fact_512_image__fold__insert,axiom,
    ! [A2: set_a,F: a > a] :
      ( ( finite_finite_a @ A2 )
     => ( ( image_a_a @ F @ A2 )
        = ( finite_fold_a_set_a
          @ ^ [K2: a] : ( insert_a @ ( F @ K2 ) )
          @ bot_bot_set_a
          @ A2 ) ) ) ).

% image_fold_insert
thf(fact_513_finite_OinsertI,axiom,
    ! [A2: set_a,A: a] :
      ( ( finite_finite_a @ A2 )
     => ( finite_finite_a @ ( insert_a @ A @ A2 ) ) ) ).

% finite.insertI
thf(fact_514_finite_OinsertI,axiom,
    ! [A2: set_nat,A: nat] :
      ( ( finite_finite_nat @ A2 )
     => ( finite_finite_nat @ ( insert_nat @ A @ A2 ) ) ) ).

% finite.insertI
thf(fact_515_Diff__infinite__finite,axiom,
    ! [T2: set_a,S: set_a] :
      ( ( finite_finite_a @ T2 )
     => ( ~ ( finite_finite_a @ S )
       => ~ ( finite_finite_a @ ( minus_minus_set_a @ S @ T2 ) ) ) ) ).

% Diff_infinite_finite
thf(fact_516_Diff__infinite__finite,axiom,
    ! [T2: set_nat,S: set_nat] :
      ( ( finite_finite_nat @ T2 )
     => ( ~ ( finite_finite_nat @ S )
       => ~ ( finite_finite_nat @ ( minus_minus_set_nat @ S @ T2 ) ) ) ) ).

% Diff_infinite_finite
thf(fact_517_finite__has__maximal2,axiom,
    ! [A2: set_set_a,A: set_a] :
      ( ( finite_finite_set_a @ A2 )
     => ( ( member_set_a @ A @ A2 )
       => ? [X2: set_a] :
            ( ( member_set_a @ X2 @ A2 )
            & ( ord_less_eq_set_a @ A @ X2 )
            & ! [Xa: set_a] :
                ( ( member_set_a @ Xa @ A2 )
               => ( ( ord_less_eq_set_a @ X2 @ Xa )
                 => ( X2 = Xa ) ) ) ) ) ) ).

% finite_has_maximal2
thf(fact_518_finite__has__maximal2,axiom,
    ! [A2: set_nat,A: nat] :
      ( ( finite_finite_nat @ A2 )
     => ( ( member_nat @ A @ A2 )
       => ? [X2: nat] :
            ( ( member_nat @ X2 @ A2 )
            & ( ord_less_eq_nat @ A @ X2 )
            & ! [Xa: nat] :
                ( ( member_nat @ Xa @ A2 )
               => ( ( ord_less_eq_nat @ X2 @ Xa )
                 => ( X2 = Xa ) ) ) ) ) ) ).

% finite_has_maximal2
thf(fact_519_finite__has__minimal2,axiom,
    ! [A2: set_set_a,A: set_a] :
      ( ( finite_finite_set_a @ A2 )
     => ( ( member_set_a @ A @ A2 )
       => ? [X2: set_a] :
            ( ( member_set_a @ X2 @ A2 )
            & ( ord_less_eq_set_a @ X2 @ A )
            & ! [Xa: set_a] :
                ( ( member_set_a @ Xa @ A2 )
               => ( ( ord_less_eq_set_a @ Xa @ X2 )
                 => ( X2 = Xa ) ) ) ) ) ) ).

% finite_has_minimal2
thf(fact_520_finite__has__minimal2,axiom,
    ! [A2: set_nat,A: nat] :
      ( ( finite_finite_nat @ A2 )
     => ( ( member_nat @ A @ A2 )
       => ? [X2: nat] :
            ( ( member_nat @ X2 @ A2 )
            & ( ord_less_eq_nat @ X2 @ A )
            & ! [Xa: nat] :
                ( ( member_nat @ Xa @ A2 )
               => ( ( ord_less_eq_nat @ Xa @ X2 )
                 => ( X2 = Xa ) ) ) ) ) ) ).

% finite_has_minimal2
thf(fact_521_subset__image__iff,axiom,
    ! [B2: set_a,F: a > a,A2: set_a] :
      ( ( ord_less_eq_set_a @ B2 @ ( image_a_a @ F @ A2 ) )
      = ( ? [AA: set_a] :
            ( ( ord_less_eq_set_a @ AA @ A2 )
            & ( B2
              = ( image_a_a @ F @ AA ) ) ) ) ) ).

% subset_image_iff
thf(fact_522_image__subset__iff,axiom,
    ! [F: a > a,A2: set_a,B2: set_a] :
      ( ( ord_less_eq_set_a @ ( image_a_a @ F @ A2 ) @ B2 )
      = ( ! [X3: a] :
            ( ( member_a @ X3 @ A2 )
           => ( member_a @ ( F @ X3 ) @ B2 ) ) ) ) ).

% image_subset_iff
thf(fact_523_subset__imageE,axiom,
    ! [B2: set_a,F: a > a,A2: set_a] :
      ( ( ord_less_eq_set_a @ B2 @ ( image_a_a @ F @ A2 ) )
     => ~ ! [C5: set_a] :
            ( ( ord_less_eq_set_a @ C5 @ A2 )
           => ( B2
             != ( image_a_a @ F @ C5 ) ) ) ) ).

% subset_imageE
thf(fact_524_image__subsetI,axiom,
    ! [A2: set_a,F: a > nat,B2: set_nat] :
      ( ! [X2: a] :
          ( ( member_a @ X2 @ A2 )
         => ( member_nat @ ( F @ X2 ) @ B2 ) )
     => ( ord_less_eq_set_nat @ ( image_a_nat @ F @ A2 ) @ B2 ) ) ).

% image_subsetI
thf(fact_525_image__subsetI,axiom,
    ! [A2: set_nat,F: nat > nat,B2: set_nat] :
      ( ! [X2: nat] :
          ( ( member_nat @ X2 @ A2 )
         => ( member_nat @ ( F @ X2 ) @ B2 ) )
     => ( ord_less_eq_set_nat @ ( image_nat_nat @ F @ A2 ) @ B2 ) ) ).

% image_subsetI
thf(fact_526_image__subsetI,axiom,
    ! [A2: set_a,F: a > a,B2: set_a] :
      ( ! [X2: a] :
          ( ( member_a @ X2 @ A2 )
         => ( member_a @ ( F @ X2 ) @ B2 ) )
     => ( ord_less_eq_set_a @ ( image_a_a @ F @ A2 ) @ B2 ) ) ).

% image_subsetI
thf(fact_527_image__subsetI,axiom,
    ! [A2: set_nat,F: nat > a,B2: set_a] :
      ( ! [X2: nat] :
          ( ( member_nat @ X2 @ A2 )
         => ( member_a @ ( F @ X2 ) @ B2 ) )
     => ( ord_less_eq_set_a @ ( image_nat_a @ F @ A2 ) @ B2 ) ) ).

% image_subsetI
thf(fact_528_image__mono,axiom,
    ! [A2: set_a,B2: set_a,F: a > a] :
      ( ( ord_less_eq_set_a @ A2 @ B2 )
     => ( ord_less_eq_set_a @ ( image_a_a @ F @ A2 ) @ ( image_a_a @ F @ B2 ) ) ) ).

% image_mono
thf(fact_529_all__subset__image,axiom,
    ! [F: a > a,A2: set_a,P: set_a > $o] :
      ( ( ! [B5: set_a] :
            ( ( ord_less_eq_set_a @ B5 @ ( image_a_a @ F @ A2 ) )
           => ( P @ B5 ) ) )
      = ( ! [B5: set_a] :
            ( ( ord_less_eq_set_a @ B5 @ A2 )
           => ( P @ ( image_a_a @ F @ B5 ) ) ) ) ) ).

% all_subset_image
thf(fact_530_finite__subset,axiom,
    ! [A2: set_nat,B2: set_nat] :
      ( ( ord_less_eq_set_nat @ A2 @ B2 )
     => ( ( finite_finite_nat @ B2 )
       => ( finite_finite_nat @ A2 ) ) ) ).

% finite_subset
thf(fact_531_finite__subset,axiom,
    ! [A2: set_a,B2: set_a] :
      ( ( ord_less_eq_set_a @ A2 @ B2 )
     => ( ( finite_finite_a @ B2 )
       => ( finite_finite_a @ A2 ) ) ) ).

% finite_subset
thf(fact_532_infinite__super,axiom,
    ! [S: set_nat,T2: set_nat] :
      ( ( ord_less_eq_set_nat @ S @ T2 )
     => ( ~ ( finite_finite_nat @ S )
       => ~ ( finite_finite_nat @ T2 ) ) ) ).

% infinite_super
thf(fact_533_infinite__super,axiom,
    ! [S: set_a,T2: set_a] :
      ( ( ord_less_eq_set_a @ S @ T2 )
     => ( ~ ( finite_finite_a @ S )
       => ~ ( finite_finite_a @ T2 ) ) ) ).

% infinite_super
thf(fact_534_rev__finite__subset,axiom,
    ! [B2: set_nat,A2: set_nat] :
      ( ( finite_finite_nat @ B2 )
     => ( ( ord_less_eq_set_nat @ A2 @ B2 )
       => ( finite_finite_nat @ A2 ) ) ) ).

% rev_finite_subset
thf(fact_535_rev__finite__subset,axiom,
    ! [B2: set_a,A2: set_a] :
      ( ( finite_finite_a @ B2 )
     => ( ( ord_less_eq_set_a @ A2 @ B2 )
       => ( finite_finite_a @ A2 ) ) ) ).

% rev_finite_subset
thf(fact_536_finite_OemptyI,axiom,
    finite_finite_a @ bot_bot_set_a ).

% finite.emptyI
thf(fact_537_finite_OemptyI,axiom,
    finite_finite_nat @ bot_bot_set_nat ).

% finite.emptyI
thf(fact_538_infinite__imp__nonempty,axiom,
    ! [S: set_a] :
      ( ~ ( finite_finite_a @ S )
     => ( S != bot_bot_set_a ) ) ).

% infinite_imp_nonempty
thf(fact_539_infinite__imp__nonempty,axiom,
    ! [S: set_nat] :
      ( ~ ( finite_finite_nat @ S )
     => ( S != bot_bot_set_nat ) ) ).

% infinite_imp_nonempty
thf(fact_540_inj__img__insertE,axiom,
    ! [F: a > a,A2: set_a,X: a,B2: set_a] :
      ( ( inj_on_a_a @ F @ A2 )
     => ( ~ ( member_a @ X @ B2 )
       => ( ( ( insert_a @ X @ B2 )
            = ( image_a_a @ F @ A2 ) )
         => ~ ! [X6: a,A7: set_a] :
                ( ~ ( member_a @ X6 @ A7 )
               => ( ( A2
                    = ( insert_a @ X6 @ A7 ) )
                 => ( ( X
                      = ( F @ X6 ) )
                   => ( B2
                     != ( image_a_a @ F @ A7 ) ) ) ) ) ) ) ) ).

% inj_img_insertE
thf(fact_541_inj__img__insertE,axiom,
    ! [F: nat > a,A2: set_nat,X: a,B2: set_a] :
      ( ( inj_on_nat_a @ F @ A2 )
     => ( ~ ( member_a @ X @ B2 )
       => ( ( ( insert_a @ X @ B2 )
            = ( image_nat_a @ F @ A2 ) )
         => ~ ! [X6: nat,A7: set_nat] :
                ( ~ ( member_nat @ X6 @ A7 )
               => ( ( A2
                    = ( insert_nat @ X6 @ A7 ) )
                 => ( ( X
                      = ( F @ X6 ) )
                   => ( B2
                     != ( image_nat_a @ F @ A7 ) ) ) ) ) ) ) ) ).

% inj_img_insertE
thf(fact_542_inj__img__insertE,axiom,
    ! [F: a > nat,A2: set_a,X: nat,B2: set_nat] :
      ( ( inj_on_a_nat @ F @ A2 )
     => ( ~ ( member_nat @ X @ B2 )
       => ( ( ( insert_nat @ X @ B2 )
            = ( image_a_nat @ F @ A2 ) )
         => ~ ! [X6: a,A7: set_a] :
                ( ~ ( member_a @ X6 @ A7 )
               => ( ( A2
                    = ( insert_a @ X6 @ A7 ) )
                 => ( ( X
                      = ( F @ X6 ) )
                   => ( B2
                     != ( image_a_nat @ F @ A7 ) ) ) ) ) ) ) ) ).

% inj_img_insertE
thf(fact_543_inj__img__insertE,axiom,
    ! [F: nat > nat,A2: set_nat,X: nat,B2: set_nat] :
      ( ( inj_on_nat_nat @ F @ A2 )
     => ( ~ ( member_nat @ X @ B2 )
       => ( ( ( insert_nat @ X @ B2 )
            = ( image_nat_nat @ F @ A2 ) )
         => ~ ! [X6: nat,A7: set_nat] :
                ( ~ ( member_nat @ X6 @ A7 )
               => ( ( A2
                    = ( insert_nat @ X6 @ A7 ) )
                 => ( ( X
                      = ( F @ X6 ) )
                   => ( B2
                     != ( image_nat_nat @ F @ A7 ) ) ) ) ) ) ) ) ).

% inj_img_insertE
thf(fact_544_inj__on__image__mem__iff,axiom,
    ! [F: nat > a,B2: set_nat,A: nat,A2: set_nat] :
      ( ( inj_on_nat_a @ F @ B2 )
     => ( ( member_nat @ A @ B2 )
       => ( ( ord_less_eq_set_nat @ A2 @ B2 )
         => ( ( member_a @ ( F @ A ) @ ( image_nat_a @ F @ A2 ) )
            = ( member_nat @ A @ A2 ) ) ) ) ) ).

% inj_on_image_mem_iff
thf(fact_545_inj__on__image__mem__iff,axiom,
    ! [F: nat > nat,B2: set_nat,A: nat,A2: set_nat] :
      ( ( inj_on_nat_nat @ F @ B2 )
     => ( ( member_nat @ A @ B2 )
       => ( ( ord_less_eq_set_nat @ A2 @ B2 )
         => ( ( member_nat @ ( F @ A ) @ ( image_nat_nat @ F @ A2 ) )
            = ( member_nat @ A @ A2 ) ) ) ) ) ).

% inj_on_image_mem_iff
thf(fact_546_inj__on__image__mem__iff,axiom,
    ! [F: a > a,B2: set_a,A: a,A2: set_a] :
      ( ( inj_on_a_a @ F @ B2 )
     => ( ( member_a @ A @ B2 )
       => ( ( ord_less_eq_set_a @ A2 @ B2 )
         => ( ( member_a @ ( F @ A ) @ ( image_a_a @ F @ A2 ) )
            = ( member_a @ A @ A2 ) ) ) ) ) ).

% inj_on_image_mem_iff
thf(fact_547_inj__on__image__mem__iff,axiom,
    ! [F: a > nat,B2: set_a,A: a,A2: set_a] :
      ( ( inj_on_a_nat @ F @ B2 )
     => ( ( member_a @ A @ B2 )
       => ( ( ord_less_eq_set_a @ A2 @ B2 )
         => ( ( member_nat @ ( F @ A ) @ ( image_a_nat @ F @ A2 ) )
            = ( member_a @ A @ A2 ) ) ) ) ) ).

% inj_on_image_mem_iff
thf(fact_548_inj__on__image__eq__iff,axiom,
    ! [F: nat > nat,C4: set_nat,A2: set_nat,B2: set_nat] :
      ( ( inj_on_nat_nat @ F @ C4 )
     => ( ( ord_less_eq_set_nat @ A2 @ C4 )
       => ( ( ord_less_eq_set_nat @ B2 @ C4 )
         => ( ( ( image_nat_nat @ F @ A2 )
              = ( image_nat_nat @ F @ B2 ) )
            = ( A2 = B2 ) ) ) ) ) ).

% inj_on_image_eq_iff
thf(fact_549_inj__on__image__eq__iff,axiom,
    ! [F: a > a,C4: set_a,A2: set_a,B2: set_a] :
      ( ( inj_on_a_a @ F @ C4 )
     => ( ( ord_less_eq_set_a @ A2 @ C4 )
       => ( ( ord_less_eq_set_a @ B2 @ C4 )
         => ( ( ( image_a_a @ F @ A2 )
              = ( image_a_a @ F @ B2 ) )
            = ( A2 = B2 ) ) ) ) ) ).

% inj_on_image_eq_iff
thf(fact_550_surjective__iff__injective__gen,axiom,
    ! [S: set_a,T2: set_nat,F: a > nat] :
      ( ( finite_finite_a @ S )
     => ( ( finite_finite_nat @ T2 )
       => ( ( ( finite_card_a @ S )
            = ( finite_card_nat @ T2 ) )
         => ( ( ord_less_eq_set_nat @ ( image_a_nat @ F @ S ) @ T2 )
           => ( ( ! [X3: nat] :
                    ( ( member_nat @ X3 @ T2 )
                   => ? [Y3: a] :
                        ( ( member_a @ Y3 @ S )
                        & ( ( F @ Y3 )
                          = X3 ) ) ) )
              = ( inj_on_a_nat @ F @ S ) ) ) ) ) ) ).

% surjective_iff_injective_gen
thf(fact_551_surjective__iff__injective__gen,axiom,
    ! [S: set_nat,T2: set_nat,F: nat > nat] :
      ( ( finite_finite_nat @ S )
     => ( ( finite_finite_nat @ T2 )
       => ( ( ( finite_card_nat @ S )
            = ( finite_card_nat @ T2 ) )
         => ( ( ord_less_eq_set_nat @ ( image_nat_nat @ F @ S ) @ T2 )
           => ( ( ! [X3: nat] :
                    ( ( member_nat @ X3 @ T2 )
                   => ? [Y3: nat] :
                        ( ( member_nat @ Y3 @ S )
                        & ( ( F @ Y3 )
                          = X3 ) ) ) )
              = ( inj_on_nat_nat @ F @ S ) ) ) ) ) ) ).

% surjective_iff_injective_gen
thf(fact_552_surjective__iff__injective__gen,axiom,
    ! [S: set_a,T2: set_a,F: a > a] :
      ( ( finite_finite_a @ S )
     => ( ( finite_finite_a @ T2 )
       => ( ( ( finite_card_a @ S )
            = ( finite_card_a @ T2 ) )
         => ( ( ord_less_eq_set_a @ ( image_a_a @ F @ S ) @ T2 )
           => ( ( ! [X3: a] :
                    ( ( member_a @ X3 @ T2 )
                   => ? [Y3: a] :
                        ( ( member_a @ Y3 @ S )
                        & ( ( F @ Y3 )
                          = X3 ) ) ) )
              = ( inj_on_a_a @ F @ S ) ) ) ) ) ) ).

% surjective_iff_injective_gen
thf(fact_553_surjective__iff__injective__gen,axiom,
    ! [S: set_nat,T2: set_a,F: nat > a] :
      ( ( finite_finite_nat @ S )
     => ( ( finite_finite_a @ T2 )
       => ( ( ( finite_card_nat @ S )
            = ( finite_card_a @ T2 ) )
         => ( ( ord_less_eq_set_a @ ( image_nat_a @ F @ S ) @ T2 )
           => ( ( ! [X3: a] :
                    ( ( member_a @ X3 @ T2 )
                   => ? [Y3: nat] :
                        ( ( member_nat @ Y3 @ S )
                        & ( ( F @ Y3 )
                          = X3 ) ) ) )
              = ( inj_on_nat_a @ F @ S ) ) ) ) ) ) ).

% surjective_iff_injective_gen
thf(fact_554_card__bij__eq,axiom,
    ! [F: nat > nat,A2: set_nat,B2: set_nat,G: nat > nat] :
      ( ( inj_on_nat_nat @ F @ A2 )
     => ( ( ord_less_eq_set_nat @ ( image_nat_nat @ F @ A2 ) @ B2 )
       => ( ( inj_on_nat_nat @ G @ B2 )
         => ( ( ord_less_eq_set_nat @ ( image_nat_nat @ G @ B2 ) @ A2 )
           => ( ( finite_finite_nat @ A2 )
             => ( ( finite_finite_nat @ B2 )
               => ( ( finite_card_nat @ A2 )
                  = ( finite_card_nat @ B2 ) ) ) ) ) ) ) ) ).

% card_bij_eq
thf(fact_555_card__bij__eq,axiom,
    ! [F: a > nat,A2: set_a,B2: set_nat,G: nat > a] :
      ( ( inj_on_a_nat @ F @ A2 )
     => ( ( ord_less_eq_set_nat @ ( image_a_nat @ F @ A2 ) @ B2 )
       => ( ( inj_on_nat_a @ G @ B2 )
         => ( ( ord_less_eq_set_a @ ( image_nat_a @ G @ B2 ) @ A2 )
           => ( ( finite_finite_a @ A2 )
             => ( ( finite_finite_nat @ B2 )
               => ( ( finite_card_a @ A2 )
                  = ( finite_card_nat @ B2 ) ) ) ) ) ) ) ) ).

% card_bij_eq
thf(fact_556_card__bij__eq,axiom,
    ! [F: nat > a,A2: set_nat,B2: set_a,G: a > nat] :
      ( ( inj_on_nat_a @ F @ A2 )
     => ( ( ord_less_eq_set_a @ ( image_nat_a @ F @ A2 ) @ B2 )
       => ( ( inj_on_a_nat @ G @ B2 )
         => ( ( ord_less_eq_set_nat @ ( image_a_nat @ G @ B2 ) @ A2 )
           => ( ( finite_finite_nat @ A2 )
             => ( ( finite_finite_a @ B2 )
               => ( ( finite_card_nat @ A2 )
                  = ( finite_card_a @ B2 ) ) ) ) ) ) ) ) ).

% card_bij_eq
thf(fact_557_card__bij__eq,axiom,
    ! [F: a > a,A2: set_a,B2: set_a,G: a > a] :
      ( ( inj_on_a_a @ F @ A2 )
     => ( ( ord_less_eq_set_a @ ( image_a_a @ F @ A2 ) @ B2 )
       => ( ( inj_on_a_a @ G @ B2 )
         => ( ( ord_less_eq_set_a @ ( image_a_a @ G @ B2 ) @ A2 )
           => ( ( finite_finite_a @ A2 )
             => ( ( finite_finite_a @ B2 )
               => ( ( finite_card_a @ A2 )
                  = ( finite_card_a @ B2 ) ) ) ) ) ) ) ) ).

% card_bij_eq
thf(fact_558_commutative__monoid_Ofincomp__const,axiom,
    ! [M: set_nat,Composition: nat > nat > nat,Unit: nat,A: nat,A2: set_a] :
      ( ( group_6791354081887936081id_nat @ M @ Composition @ Unit )
     => ( ( member_nat @ A @ M )
       => ( ( commut1549887680474846982_nat_a @ M @ Composition @ Unit
            @ ^ [X3: a] : A
            @ A2 )
          = ( rec_nat_nat @ Unit
            @ ^ [U2: nat] : ( Composition @ A )
            @ ( finite_card_a @ A2 ) ) ) ) ) ).

% commutative_monoid.fincomp_const
thf(fact_559_commutative__monoid_Ofincomp__const,axiom,
    ! [M: set_a,Composition: a > a > a,Unit: a,A: a,A2: set_a] :
      ( ( group_4866109990395492029noid_a @ M @ Composition @ Unit )
     => ( ( member_a @ A @ M )
       => ( ( commut5005951359559292710mp_a_a @ M @ Composition @ Unit
            @ ^ [X3: a] : A
            @ A2 )
          = ( rec_nat_a @ Unit
            @ ^ [U2: nat] : ( Composition @ A )
            @ ( finite_card_a @ A2 ) ) ) ) ) ).

% commutative_monoid.fincomp_const
thf(fact_560_commutative__monoid_Ofincomp__const,axiom,
    ! [M: set_a,Composition: a > a > a,Unit: a,A: a,A2: set_nat] :
      ( ( group_4866109990395492029noid_a @ M @ Composition @ Unit )
     => ( ( member_a @ A @ M )
       => ( ( commut6741328216151336360_a_nat @ M @ Composition @ Unit
            @ ^ [X3: nat] : A
            @ A2 )
          = ( rec_nat_a @ Unit
            @ ^ [U2: nat] : ( Composition @ A )
            @ ( finite_card_nat @ A2 ) ) ) ) ) ).

% commutative_monoid.fincomp_const
thf(fact_561_image__subset__iff__funcset,axiom,
    ! [F2: a > a,A2: set_a,B2: set_a] :
      ( ( ord_less_eq_set_a @ ( image_a_a @ F2 @ A2 ) @ B2 )
      = ( member_a_a @ F2
        @ ( pi_a_a @ A2
          @ ^ [Uu: a] : B2 ) ) ) ).

% image_subset_iff_funcset
thf(fact_562_funcset__image,axiom,
    ! [F: a > a,A2: set_a,B2: set_a] :
      ( ( member_a_a @ F
        @ ( pi_a_a @ A2
          @ ^ [Uu: a] : B2 ) )
     => ( ord_less_eq_set_a @ ( image_a_a @ F @ A2 ) @ B2 ) ) ).

% funcset_image
thf(fact_563_card__image,axiom,
    ! [F: nat > nat,A2: set_nat] :
      ( ( inj_on_nat_nat @ F @ A2 )
     => ( ( finite_card_nat @ ( image_nat_nat @ F @ A2 ) )
        = ( finite_card_nat @ A2 ) ) ) ).

% card_image
thf(fact_564_card__image,axiom,
    ! [F: a > a,A2: set_a] :
      ( ( inj_on_a_a @ F @ A2 )
     => ( ( finite_card_a @ ( image_a_a @ F @ A2 ) )
        = ( finite_card_a @ A2 ) ) ) ).

% card_image
thf(fact_565_finite__surj,axiom,
    ! [A2: set_a,B2: set_nat,F: a > nat] :
      ( ( finite_finite_a @ A2 )
     => ( ( ord_less_eq_set_nat @ B2 @ ( image_a_nat @ F @ A2 ) )
       => ( finite_finite_nat @ B2 ) ) ) ).

% finite_surj
thf(fact_566_finite__surj,axiom,
    ! [A2: set_nat,B2: set_nat,F: nat > nat] :
      ( ( finite_finite_nat @ A2 )
     => ( ( ord_less_eq_set_nat @ B2 @ ( image_nat_nat @ F @ A2 ) )
       => ( finite_finite_nat @ B2 ) ) ) ).

% finite_surj
thf(fact_567_finite__surj,axiom,
    ! [A2: set_a,B2: set_a,F: a > a] :
      ( ( finite_finite_a @ A2 )
     => ( ( ord_less_eq_set_a @ B2 @ ( image_a_a @ F @ A2 ) )
       => ( finite_finite_a @ B2 ) ) ) ).

% finite_surj
thf(fact_568_finite__surj,axiom,
    ! [A2: set_nat,B2: set_a,F: nat > a] :
      ( ( finite_finite_nat @ A2 )
     => ( ( ord_less_eq_set_a @ B2 @ ( image_nat_a @ F @ A2 ) )
       => ( finite_finite_a @ B2 ) ) ) ).

% finite_surj
thf(fact_569_finite__subset__image,axiom,
    ! [B2: set_nat,F: nat > nat,A2: set_nat] :
      ( ( finite_finite_nat @ B2 )
     => ( ( ord_less_eq_set_nat @ B2 @ ( image_nat_nat @ F @ A2 ) )
       => ? [C5: set_nat] :
            ( ( ord_less_eq_set_nat @ C5 @ A2 )
            & ( finite_finite_nat @ C5 )
            & ( B2
              = ( image_nat_nat @ F @ C5 ) ) ) ) ) ).

% finite_subset_image
thf(fact_570_finite__subset__image,axiom,
    ! [B2: set_nat,F: a > nat,A2: set_a] :
      ( ( finite_finite_nat @ B2 )
     => ( ( ord_less_eq_set_nat @ B2 @ ( image_a_nat @ F @ A2 ) )
       => ? [C5: set_a] :
            ( ( ord_less_eq_set_a @ C5 @ A2 )
            & ( finite_finite_a @ C5 )
            & ( B2
              = ( image_a_nat @ F @ C5 ) ) ) ) ) ).

% finite_subset_image
thf(fact_571_finite__subset__image,axiom,
    ! [B2: set_a,F: nat > a,A2: set_nat] :
      ( ( finite_finite_a @ B2 )
     => ( ( ord_less_eq_set_a @ B2 @ ( image_nat_a @ F @ A2 ) )
       => ? [C5: set_nat] :
            ( ( ord_less_eq_set_nat @ C5 @ A2 )
            & ( finite_finite_nat @ C5 )
            & ( B2
              = ( image_nat_a @ F @ C5 ) ) ) ) ) ).

% finite_subset_image
thf(fact_572_finite__subset__image,axiom,
    ! [B2: set_a,F: a > a,A2: set_a] :
      ( ( finite_finite_a @ B2 )
     => ( ( ord_less_eq_set_a @ B2 @ ( image_a_a @ F @ A2 ) )
       => ? [C5: set_a] :
            ( ( ord_less_eq_set_a @ C5 @ A2 )
            & ( finite_finite_a @ C5 )
            & ( B2
              = ( image_a_a @ F @ C5 ) ) ) ) ) ).

% finite_subset_image
thf(fact_573_ex__finite__subset__image,axiom,
    ! [F: nat > nat,A2: set_nat,P: set_nat > $o] :
      ( ( ? [B5: set_nat] :
            ( ( finite_finite_nat @ B5 )
            & ( ord_less_eq_set_nat @ B5 @ ( image_nat_nat @ F @ A2 ) )
            & ( P @ B5 ) ) )
      = ( ? [B5: set_nat] :
            ( ( finite_finite_nat @ B5 )
            & ( ord_less_eq_set_nat @ B5 @ A2 )
            & ( P @ ( image_nat_nat @ F @ B5 ) ) ) ) ) ).

% ex_finite_subset_image
thf(fact_574_ex__finite__subset__image,axiom,
    ! [F: a > nat,A2: set_a,P: set_nat > $o] :
      ( ( ? [B5: set_nat] :
            ( ( finite_finite_nat @ B5 )
            & ( ord_less_eq_set_nat @ B5 @ ( image_a_nat @ F @ A2 ) )
            & ( P @ B5 ) ) )
      = ( ? [B5: set_a] :
            ( ( finite_finite_a @ B5 )
            & ( ord_less_eq_set_a @ B5 @ A2 )
            & ( P @ ( image_a_nat @ F @ B5 ) ) ) ) ) ).

% ex_finite_subset_image
thf(fact_575_ex__finite__subset__image,axiom,
    ! [F: nat > a,A2: set_nat,P: set_a > $o] :
      ( ( ? [B5: set_a] :
            ( ( finite_finite_a @ B5 )
            & ( ord_less_eq_set_a @ B5 @ ( image_nat_a @ F @ A2 ) )
            & ( P @ B5 ) ) )
      = ( ? [B5: set_nat] :
            ( ( finite_finite_nat @ B5 )
            & ( ord_less_eq_set_nat @ B5 @ A2 )
            & ( P @ ( image_nat_a @ F @ B5 ) ) ) ) ) ).

% ex_finite_subset_image
thf(fact_576_ex__finite__subset__image,axiom,
    ! [F: a > a,A2: set_a,P: set_a > $o] :
      ( ( ? [B5: set_a] :
            ( ( finite_finite_a @ B5 )
            & ( ord_less_eq_set_a @ B5 @ ( image_a_a @ F @ A2 ) )
            & ( P @ B5 ) ) )
      = ( ? [B5: set_a] :
            ( ( finite_finite_a @ B5 )
            & ( ord_less_eq_set_a @ B5 @ A2 )
            & ( P @ ( image_a_a @ F @ B5 ) ) ) ) ) ).

% ex_finite_subset_image
thf(fact_577_all__finite__subset__image,axiom,
    ! [F: nat > nat,A2: set_nat,P: set_nat > $o] :
      ( ( ! [B5: set_nat] :
            ( ( ( finite_finite_nat @ B5 )
              & ( ord_less_eq_set_nat @ B5 @ ( image_nat_nat @ F @ A2 ) ) )
           => ( P @ B5 ) ) )
      = ( ! [B5: set_nat] :
            ( ( ( finite_finite_nat @ B5 )
              & ( ord_less_eq_set_nat @ B5 @ A2 ) )
           => ( P @ ( image_nat_nat @ F @ B5 ) ) ) ) ) ).

% all_finite_subset_image
thf(fact_578_all__finite__subset__image,axiom,
    ! [F: a > nat,A2: set_a,P: set_nat > $o] :
      ( ( ! [B5: set_nat] :
            ( ( ( finite_finite_nat @ B5 )
              & ( ord_less_eq_set_nat @ B5 @ ( image_a_nat @ F @ A2 ) ) )
           => ( P @ B5 ) ) )
      = ( ! [B5: set_a] :
            ( ( ( finite_finite_a @ B5 )
              & ( ord_less_eq_set_a @ B5 @ A2 ) )
           => ( P @ ( image_a_nat @ F @ B5 ) ) ) ) ) ).

% all_finite_subset_image
thf(fact_579_all__finite__subset__image,axiom,
    ! [F: nat > a,A2: set_nat,P: set_a > $o] :
      ( ( ! [B5: set_a] :
            ( ( ( finite_finite_a @ B5 )
              & ( ord_less_eq_set_a @ B5 @ ( image_nat_a @ F @ A2 ) ) )
           => ( P @ B5 ) ) )
      = ( ! [B5: set_nat] :
            ( ( ( finite_finite_nat @ B5 )
              & ( ord_less_eq_set_nat @ B5 @ A2 ) )
           => ( P @ ( image_nat_a @ F @ B5 ) ) ) ) ) ).

% all_finite_subset_image
thf(fact_580_all__finite__subset__image,axiom,
    ! [F: a > a,A2: set_a,P: set_a > $o] :
      ( ( ! [B5: set_a] :
            ( ( ( finite_finite_a @ B5 )
              & ( ord_less_eq_set_a @ B5 @ ( image_a_a @ F @ A2 ) ) )
           => ( P @ B5 ) ) )
      = ( ! [B5: set_a] :
            ( ( ( finite_finite_a @ B5 )
              & ( ord_less_eq_set_a @ B5 @ A2 ) )
           => ( P @ ( image_a_a @ F @ B5 ) ) ) ) ) ).

% all_finite_subset_image
thf(fact_581_commutative__monoid_Ofincomp__mono__neutral__cong__left,axiom,
    ! [M: set_a,Composition: a > a > a,Unit: a,B2: set_a,A2: set_a,H2: a > a,G: a > a] :
      ( ( group_4866109990395492029noid_a @ M @ Composition @ Unit )
     => ( ( finite_finite_a @ B2 )
       => ( ( ord_less_eq_set_a @ A2 @ B2 )
         => ( ! [I2: a] :
                ( ( member_a @ I2 @ ( minus_minus_set_a @ B2 @ A2 ) )
               => ( ( H2 @ I2 )
                  = Unit ) )
           => ( ! [X2: a] :
                  ( ( member_a @ X2 @ A2 )
                 => ( ( G @ X2 )
                    = ( H2 @ X2 ) ) )
             => ( ( member_a_a @ H2
                  @ ( pi_a_a @ B2
                    @ ^ [Uu: a] : M ) )
               => ( ( commut5005951359559292710mp_a_a @ M @ Composition @ Unit @ G @ A2 )
                  = ( commut5005951359559292710mp_a_a @ M @ Composition @ Unit @ H2 @ B2 ) ) ) ) ) ) ) ) ).

% commutative_monoid.fincomp_mono_neutral_cong_left
thf(fact_582_commutative__monoid_Ofincomp__mono__neutral__cong__left,axiom,
    ! [M: set_a,Composition: a > a > a,Unit: a,B2: set_nat,A2: set_nat,H2: nat > a,G: nat > a] :
      ( ( group_4866109990395492029noid_a @ M @ Composition @ Unit )
     => ( ( finite_finite_nat @ B2 )
       => ( ( ord_less_eq_set_nat @ A2 @ B2 )
         => ( ! [I2: nat] :
                ( ( member_nat @ I2 @ ( minus_minus_set_nat @ B2 @ A2 ) )
               => ( ( H2 @ I2 )
                  = Unit ) )
           => ( ! [X2: nat] :
                  ( ( member_nat @ X2 @ A2 )
                 => ( ( G @ X2 )
                    = ( H2 @ X2 ) ) )
             => ( ( member_nat_a @ H2
                  @ ( pi_nat_a @ B2
                    @ ^ [Uu: nat] : M ) )
               => ( ( commut6741328216151336360_a_nat @ M @ Composition @ Unit @ G @ A2 )
                  = ( commut6741328216151336360_a_nat @ M @ Composition @ Unit @ H2 @ B2 ) ) ) ) ) ) ) ) ).

% commutative_monoid.fincomp_mono_neutral_cong_left
thf(fact_583_commutative__monoid_Ofincomp__mono__neutral__cong__right,axiom,
    ! [M: set_a,Composition: a > a > a,Unit: a,B2: set_a,A2: set_a,G: a > a,H2: a > a] :
      ( ( group_4866109990395492029noid_a @ M @ Composition @ Unit )
     => ( ( finite_finite_a @ B2 )
       => ( ( ord_less_eq_set_a @ A2 @ B2 )
         => ( ! [I2: a] :
                ( ( member_a @ I2 @ ( minus_minus_set_a @ B2 @ A2 ) )
               => ( ( G @ I2 )
                  = Unit ) )
           => ( ! [X2: a] :
                  ( ( member_a @ X2 @ A2 )
                 => ( ( G @ X2 )
                    = ( H2 @ X2 ) ) )
             => ( ( member_a_a @ G
                  @ ( pi_a_a @ B2
                    @ ^ [Uu: a] : M ) )
               => ( ( commut5005951359559292710mp_a_a @ M @ Composition @ Unit @ G @ B2 )
                  = ( commut5005951359559292710mp_a_a @ M @ Composition @ Unit @ H2 @ A2 ) ) ) ) ) ) ) ) ).

% commutative_monoid.fincomp_mono_neutral_cong_right
thf(fact_584_commutative__monoid_Ofincomp__mono__neutral__cong__right,axiom,
    ! [M: set_a,Composition: a > a > a,Unit: a,B2: set_nat,A2: set_nat,G: nat > a,H2: nat > a] :
      ( ( group_4866109990395492029noid_a @ M @ Composition @ Unit )
     => ( ( finite_finite_nat @ B2 )
       => ( ( ord_less_eq_set_nat @ A2 @ B2 )
         => ( ! [I2: nat] :
                ( ( member_nat @ I2 @ ( minus_minus_set_nat @ B2 @ A2 ) )
               => ( ( G @ I2 )
                  = Unit ) )
           => ( ! [X2: nat] :
                  ( ( member_nat @ X2 @ A2 )
                 => ( ( G @ X2 )
                    = ( H2 @ X2 ) ) )
             => ( ( member_nat_a @ G
                  @ ( pi_nat_a @ B2
                    @ ^ [Uu: nat] : M ) )
               => ( ( commut6741328216151336360_a_nat @ M @ Composition @ Unit @ G @ B2 )
                  = ( commut6741328216151336360_a_nat @ M @ Composition @ Unit @ H2 @ A2 ) ) ) ) ) ) ) ) ).

% commutative_monoid.fincomp_mono_neutral_cong_right
thf(fact_585_card__bij,axiom,
    ! [F: a > a,A2: set_a,B2: set_a,G: a > a] :
      ( ( member_a_a @ F
        @ ( pi_a_a @ A2
          @ ^ [Uu: a] : B2 ) )
     => ( ( inj_on_a_a @ F @ A2 )
       => ( ( member_a_a @ G
            @ ( pi_a_a @ B2
              @ ^ [Uu: a] : A2 ) )
         => ( ( inj_on_a_a @ G @ B2 )
           => ( ( finite_finite_a @ A2 )
             => ( ( finite_finite_a @ B2 )
               => ( ( finite_card_a @ A2 )
                  = ( finite_card_a @ B2 ) ) ) ) ) ) ) ) ).

% card_bij
thf(fact_586_card__bij,axiom,
    ! [F: a > nat,A2: set_a,B2: set_nat,G: nat > a] :
      ( ( member_a_nat @ F
        @ ( pi_a_nat @ A2
          @ ^ [Uu: a] : B2 ) )
     => ( ( inj_on_a_nat @ F @ A2 )
       => ( ( member_nat_a @ G
            @ ( pi_nat_a @ B2
              @ ^ [Uu: nat] : A2 ) )
         => ( ( inj_on_nat_a @ G @ B2 )
           => ( ( finite_finite_a @ A2 )
             => ( ( finite_finite_nat @ B2 )
               => ( ( finite_card_a @ A2 )
                  = ( finite_card_nat @ B2 ) ) ) ) ) ) ) ) ).

% card_bij
thf(fact_587_card__bij,axiom,
    ! [F: nat > a,A2: set_nat,B2: set_a,G: a > nat] :
      ( ( member_nat_a @ F
        @ ( pi_nat_a @ A2
          @ ^ [Uu: nat] : B2 ) )
     => ( ( inj_on_nat_a @ F @ A2 )
       => ( ( member_a_nat @ G
            @ ( pi_a_nat @ B2
              @ ^ [Uu: a] : A2 ) )
         => ( ( inj_on_a_nat @ G @ B2 )
           => ( ( finite_finite_nat @ A2 )
             => ( ( finite_finite_a @ B2 )
               => ( ( finite_card_nat @ A2 )
                  = ( finite_card_a @ B2 ) ) ) ) ) ) ) ) ).

% card_bij
thf(fact_588_card__bij,axiom,
    ! [F: nat > nat,A2: set_nat,B2: set_nat,G: nat > nat] :
      ( ( member_nat_nat @ F
        @ ( pi_nat_nat @ A2
          @ ^ [Uu: nat] : B2 ) )
     => ( ( inj_on_nat_nat @ F @ A2 )
       => ( ( member_nat_nat @ G
            @ ( pi_nat_nat @ B2
              @ ^ [Uu: nat] : A2 ) )
         => ( ( inj_on_nat_nat @ G @ B2 )
           => ( ( finite_finite_nat @ A2 )
             => ( ( finite_finite_nat @ B2 )
               => ( ( finite_card_nat @ A2 )
                  = ( finite_card_nat @ B2 ) ) ) ) ) ) ) ) ).

% card_bij
thf(fact_589_monoid_Oinverse__undefined,axiom,
    ! [M: set_nat,Composition: nat > nat > nat,Unit: nat,U: nat] :
      ( ( group_monoid_nat @ M @ Composition @ Unit )
     => ( ~ ( member_nat @ U @ M )
       => ( ( group_inverse_nat @ M @ Composition @ Unit @ U )
          = undefined_nat ) ) ) ).

% monoid.inverse_undefined
thf(fact_590_monoid_Oinverse__undefined,axiom,
    ! [M: set_a,Composition: a > a > a,Unit: a,U: a] :
      ( ( group_monoid_a @ M @ Composition @ Unit )
     => ( ~ ( member_a @ U @ M )
       => ( ( group_inverse_a @ M @ Composition @ Unit @ U )
          = undefined_a ) ) ) ).

% monoid.inverse_undefined
thf(fact_591_commutative__monoid_Ofincomp__empty,axiom,
    ! [M: set_a,Composition: a > a > a,Unit: a,F: a > a] :
      ( ( group_4866109990395492029noid_a @ M @ Composition @ Unit )
     => ( ( commut5005951359559292710mp_a_a @ M @ Composition @ Unit @ F @ bot_bot_set_a )
        = Unit ) ) ).

% commutative_monoid.fincomp_empty
thf(fact_592_commutative__monoid_Ofincomp__empty,axiom,
    ! [M: set_a,Composition: a > a > a,Unit: a,F: nat > a] :
      ( ( group_4866109990395492029noid_a @ M @ Composition @ Unit )
     => ( ( commut6741328216151336360_a_nat @ M @ Composition @ Unit @ F @ bot_bot_set_nat )
        = Unit ) ) ).

% commutative_monoid.fincomp_empty
thf(fact_593_eq__card__imp__inj__on,axiom,
    ! [A2: set_a,F: a > a] :
      ( ( finite_finite_a @ A2 )
     => ( ( ( finite_card_a @ ( image_a_a @ F @ A2 ) )
          = ( finite_card_a @ A2 ) )
       => ( inj_on_a_a @ F @ A2 ) ) ) ).

% eq_card_imp_inj_on
thf(fact_594_eq__card__imp__inj__on,axiom,
    ! [A2: set_nat,F: nat > nat] :
      ( ( finite_finite_nat @ A2 )
     => ( ( ( finite_card_nat @ ( image_nat_nat @ F @ A2 ) )
          = ( finite_card_nat @ A2 ) )
       => ( inj_on_nat_nat @ F @ A2 ) ) ) ).

% eq_card_imp_inj_on
thf(fact_595_eq__card__imp__inj__on,axiom,
    ! [A2: set_nat,F: nat > a] :
      ( ( finite_finite_nat @ A2 )
     => ( ( ( finite_card_a @ ( image_nat_a @ F @ A2 ) )
          = ( finite_card_nat @ A2 ) )
       => ( inj_on_nat_a @ F @ A2 ) ) ) ).

% eq_card_imp_inj_on
thf(fact_596_inj__on__iff__eq__card,axiom,
    ! [A2: set_a,F: a > a] :
      ( ( finite_finite_a @ A2 )
     => ( ( inj_on_a_a @ F @ A2 )
        = ( ( finite_card_a @ ( image_a_a @ F @ A2 ) )
          = ( finite_card_a @ A2 ) ) ) ) ).

% inj_on_iff_eq_card
thf(fact_597_inj__on__iff__eq__card,axiom,
    ! [A2: set_nat,F: nat > nat] :
      ( ( finite_finite_nat @ A2 )
     => ( ( inj_on_nat_nat @ F @ A2 )
        = ( ( finite_card_nat @ ( image_nat_nat @ F @ A2 ) )
          = ( finite_card_nat @ A2 ) ) ) ) ).

% inj_on_iff_eq_card
thf(fact_598_inj__on__iff__eq__card,axiom,
    ! [A2: set_nat,F: nat > a] :
      ( ( finite_finite_nat @ A2 )
     => ( ( inj_on_nat_a @ F @ A2 )
        = ( ( finite_card_a @ ( image_nat_a @ F @ A2 ) )
          = ( finite_card_nat @ A2 ) ) ) ) ).

% inj_on_iff_eq_card
thf(fact_599_endo__inj__surj,axiom,
    ! [A2: set_nat,F: nat > nat] :
      ( ( finite_finite_nat @ A2 )
     => ( ( ord_less_eq_set_nat @ ( image_nat_nat @ F @ A2 ) @ A2 )
       => ( ( inj_on_nat_nat @ F @ A2 )
         => ( ( image_nat_nat @ F @ A2 )
            = A2 ) ) ) ) ).

% endo_inj_surj
thf(fact_600_endo__inj__surj,axiom,
    ! [A2: set_a,F: a > a] :
      ( ( finite_finite_a @ A2 )
     => ( ( ord_less_eq_set_a @ ( image_a_a @ F @ A2 ) @ A2 )
       => ( ( inj_on_a_a @ F @ A2 )
         => ( ( image_a_a @ F @ A2 )
            = A2 ) ) ) ) ).

% endo_inj_surj
thf(fact_601_inj__on__finite,axiom,
    ! [F: a > nat,A2: set_a,B2: set_nat] :
      ( ( inj_on_a_nat @ F @ A2 )
     => ( ( ord_less_eq_set_nat @ ( image_a_nat @ F @ A2 ) @ B2 )
       => ( ( finite_finite_nat @ B2 )
         => ( finite_finite_a @ A2 ) ) ) ) ).

% inj_on_finite
thf(fact_602_inj__on__finite,axiom,
    ! [F: nat > nat,A2: set_nat,B2: set_nat] :
      ( ( inj_on_nat_nat @ F @ A2 )
     => ( ( ord_less_eq_set_nat @ ( image_nat_nat @ F @ A2 ) @ B2 )
       => ( ( finite_finite_nat @ B2 )
         => ( finite_finite_nat @ A2 ) ) ) ) ).

% inj_on_finite
thf(fact_603_inj__on__finite,axiom,
    ! [F: a > a,A2: set_a,B2: set_a] :
      ( ( inj_on_a_a @ F @ A2 )
     => ( ( ord_less_eq_set_a @ ( image_a_a @ F @ A2 ) @ B2 )
       => ( ( finite_finite_a @ B2 )
         => ( finite_finite_a @ A2 ) ) ) ) ).

% inj_on_finite
thf(fact_604_inj__on__finite,axiom,
    ! [F: nat > a,A2: set_nat,B2: set_a] :
      ( ( inj_on_nat_a @ F @ A2 )
     => ( ( ord_less_eq_set_a @ ( image_nat_a @ F @ A2 ) @ B2 )
       => ( ( finite_finite_a @ B2 )
         => ( finite_finite_nat @ A2 ) ) ) ) ).

% inj_on_finite
thf(fact_605_finite__surj__inj,axiom,
    ! [A2: set_nat,F: nat > nat] :
      ( ( finite_finite_nat @ A2 )
     => ( ( ord_less_eq_set_nat @ A2 @ ( image_nat_nat @ F @ A2 ) )
       => ( inj_on_nat_nat @ F @ A2 ) ) ) ).

% finite_surj_inj
thf(fact_606_finite__surj__inj,axiom,
    ! [A2: set_a,F: a > a] :
      ( ( finite_finite_a @ A2 )
     => ( ( ord_less_eq_set_a @ A2 @ ( image_a_a @ F @ A2 ) )
       => ( inj_on_a_a @ F @ A2 ) ) ) ).

% finite_surj_inj
thf(fact_607_inj__onD,axiom,
    ! [F: nat > nat,A2: set_nat,X: nat,Y: nat] :
      ( ( inj_on_nat_nat @ F @ A2 )
     => ( ( ( F @ X )
          = ( F @ Y ) )
       => ( ( member_nat @ X @ A2 )
         => ( ( member_nat @ Y @ A2 )
           => ( X = Y ) ) ) ) ) ).

% inj_onD
thf(fact_608_inj__onI,axiom,
    ! [A2: set_nat,F: nat > nat] :
      ( ! [X2: nat,Y5: nat] :
          ( ( member_nat @ X2 @ A2 )
         => ( ( member_nat @ Y5 @ A2 )
           => ( ( ( F @ X2 )
                = ( F @ Y5 ) )
             => ( X2 = Y5 ) ) ) )
     => ( inj_on_nat_nat @ F @ A2 ) ) ).

% inj_onI
thf(fact_609_inj__on__def,axiom,
    ( inj_on_nat_nat
    = ( ^ [F4: nat > nat,A6: set_nat] :
        ! [X3: nat] :
          ( ( member_nat @ X3 @ A6 )
         => ! [Y3: nat] :
              ( ( member_nat @ Y3 @ A6 )
             => ( ( ( F4 @ X3 )
                  = ( F4 @ Y3 ) )
               => ( X3 = Y3 ) ) ) ) ) ) ).

% inj_on_def
thf(fact_610_inj__on__cong,axiom,
    ! [A2: set_nat,F: nat > nat,G: nat > nat] :
      ( ! [A3: nat] :
          ( ( member_nat @ A3 @ A2 )
         => ( ( F @ A3 )
            = ( G @ A3 ) ) )
     => ( ( inj_on_nat_nat @ F @ A2 )
        = ( inj_on_nat_nat @ G @ A2 ) ) ) ).

% inj_on_cong
thf(fact_611_inj__on__eq__iff,axiom,
    ! [F: nat > nat,A2: set_nat,X: nat,Y: nat] :
      ( ( inj_on_nat_nat @ F @ A2 )
     => ( ( member_nat @ X @ A2 )
       => ( ( member_nat @ Y @ A2 )
         => ( ( ( F @ X )
              = ( F @ Y ) )
            = ( X = Y ) ) ) ) ) ).

% inj_on_eq_iff
thf(fact_612_inj__on__contraD,axiom,
    ! [F: nat > nat,A2: set_nat,X: nat,Y: nat] :
      ( ( inj_on_nat_nat @ F @ A2 )
     => ( ( X != Y )
       => ( ( member_nat @ X @ A2 )
         => ( ( member_nat @ Y @ A2 )
           => ( ( F @ X )
             != ( F @ Y ) ) ) ) ) ) ).

% inj_on_contraD
thf(fact_613_inj__on__inverseI,axiom,
    ! [A2: set_nat,G: nat > nat,F: nat > nat] :
      ( ! [X2: nat] :
          ( ( member_nat @ X2 @ A2 )
         => ( ( G @ ( F @ X2 ) )
            = X2 ) )
     => ( inj_on_nat_nat @ F @ A2 ) ) ).

% inj_on_inverseI
thf(fact_614_PiE,axiom,
    ! [F: a > a,A2: set_a,B2: a > set_a,X: a] :
      ( ( member_a_a @ F @ ( pi_a_a @ A2 @ B2 ) )
     => ( ~ ( member_a @ ( F @ X ) @ ( B2 @ X ) )
       => ~ ( member_a @ X @ A2 ) ) ) ).

% PiE
thf(fact_615_PiE,axiom,
    ! [F: nat > a,A2: set_nat,B2: nat > set_a,X: nat] :
      ( ( member_nat_a @ F @ ( pi_nat_a @ A2 @ B2 ) )
     => ( ~ ( member_a @ ( F @ X ) @ ( B2 @ X ) )
       => ~ ( member_nat @ X @ A2 ) ) ) ).

% PiE
thf(fact_616_PiE,axiom,
    ! [F: a > nat,A2: set_a,B2: a > set_nat,X: a] :
      ( ( member_a_nat @ F @ ( pi_a_nat @ A2 @ B2 ) )
     => ( ~ ( member_nat @ ( F @ X ) @ ( B2 @ X ) )
       => ~ ( member_a @ X @ A2 ) ) ) ).

% PiE
thf(fact_617_PiE,axiom,
    ! [F: nat > nat,A2: set_nat,B2: nat > set_nat,X: nat] :
      ( ( member_nat_nat @ F @ ( pi_nat_nat @ A2 @ B2 ) )
     => ( ~ ( member_nat @ ( F @ X ) @ ( B2 @ X ) )
       => ~ ( member_nat @ X @ A2 ) ) ) ).

% PiE
thf(fact_618_Pi__I_H,axiom,
    ! [A2: set_a,F: a > a,B2: a > set_a] :
      ( ! [X2: a] :
          ( ( member_a @ X2 @ A2 )
         => ( member_a @ ( F @ X2 ) @ ( B2 @ X2 ) ) )
     => ( member_a_a @ F @ ( pi_a_a @ A2 @ B2 ) ) ) ).

% Pi_I'
thf(fact_619_Pi__I_H,axiom,
    ! [A2: set_a,F: a > nat,B2: a > set_nat] :
      ( ! [X2: a] :
          ( ( member_a @ X2 @ A2 )
         => ( member_nat @ ( F @ X2 ) @ ( B2 @ X2 ) ) )
     => ( member_a_nat @ F @ ( pi_a_nat @ A2 @ B2 ) ) ) ).

% Pi_I'
thf(fact_620_Pi__I_H,axiom,
    ! [A2: set_nat,F: nat > a,B2: nat > set_a] :
      ( ! [X2: nat] :
          ( ( member_nat @ X2 @ A2 )
         => ( member_a @ ( F @ X2 ) @ ( B2 @ X2 ) ) )
     => ( member_nat_a @ F @ ( pi_nat_a @ A2 @ B2 ) ) ) ).

% Pi_I'
thf(fact_621_Pi__I_H,axiom,
    ! [A2: set_nat,F: nat > nat,B2: nat > set_nat] :
      ( ! [X2: nat] :
          ( ( member_nat @ X2 @ A2 )
         => ( member_nat @ ( F @ X2 ) @ ( B2 @ X2 ) ) )
     => ( member_nat_nat @ F @ ( pi_nat_nat @ A2 @ B2 ) ) ) ).

% Pi_I'
thf(fact_622_Pi__mem,axiom,
    ! [F: a > a,A2: set_a,B2: a > set_a,X: a] :
      ( ( member_a_a @ F @ ( pi_a_a @ A2 @ B2 ) )
     => ( ( member_a @ X @ A2 )
       => ( member_a @ ( F @ X ) @ ( B2 @ X ) ) ) ) ).

% Pi_mem
thf(fact_623_Pi__mem,axiom,
    ! [F: a > nat,A2: set_a,B2: a > set_nat,X: a] :
      ( ( member_a_nat @ F @ ( pi_a_nat @ A2 @ B2 ) )
     => ( ( member_a @ X @ A2 )
       => ( member_nat @ ( F @ X ) @ ( B2 @ X ) ) ) ) ).

% Pi_mem
thf(fact_624_Pi__mem,axiom,
    ! [F: nat > a,A2: set_nat,B2: nat > set_a,X: nat] :
      ( ( member_nat_a @ F @ ( pi_nat_a @ A2 @ B2 ) )
     => ( ( member_nat @ X @ A2 )
       => ( member_a @ ( F @ X ) @ ( B2 @ X ) ) ) ) ).

% Pi_mem
thf(fact_625_Pi__mem,axiom,
    ! [F: nat > nat,A2: set_nat,B2: nat > set_nat,X: nat] :
      ( ( member_nat_nat @ F @ ( pi_nat_nat @ A2 @ B2 ) )
     => ( ( member_nat @ X @ A2 )
       => ( member_nat @ ( F @ X ) @ ( B2 @ X ) ) ) ) ).

% Pi_mem
thf(fact_626_commutative__monoid_Ofincomp__insert,axiom,
    ! [M: set_nat,Composition: nat > nat > nat,Unit: nat,F2: set_a,A: a,F: a > nat] :
      ( ( group_6791354081887936081id_nat @ M @ Composition @ Unit )
     => ( ( finite_finite_a @ F2 )
       => ( ~ ( member_a @ A @ F2 )
         => ( ( member_a_nat @ F
              @ ( pi_a_nat @ F2
                @ ^ [Uu: a] : M ) )
           => ( ( member_nat @ ( F @ A ) @ M )
             => ( ( commut1549887680474846982_nat_a @ M @ Composition @ Unit @ F @ ( insert_a @ A @ F2 ) )
                = ( Composition @ ( F @ A ) @ ( commut1549887680474846982_nat_a @ M @ Composition @ Unit @ F @ F2 ) ) ) ) ) ) ) ) ).

% commutative_monoid.fincomp_insert
thf(fact_627_commutative__monoid_Ofincomp__insert,axiom,
    ! [M: set_nat,Composition: nat > nat > nat,Unit: nat,F2: set_nat,A: nat,F: nat > nat] :
      ( ( group_6791354081887936081id_nat @ M @ Composition @ Unit )
     => ( ( finite_finite_nat @ F2 )
       => ( ~ ( member_nat @ A @ F2 )
         => ( ( member_nat_nat @ F
              @ ( pi_nat_nat @ F2
                @ ^ [Uu: nat] : M ) )
           => ( ( member_nat @ ( F @ A ) @ M )
             => ( ( commut1028764413824576968at_nat @ M @ Composition @ Unit @ F @ ( insert_nat @ A @ F2 ) )
                = ( Composition @ ( F @ A ) @ ( commut1028764413824576968at_nat @ M @ Composition @ Unit @ F @ F2 ) ) ) ) ) ) ) ) ).

% commutative_monoid.fincomp_insert
thf(fact_628_commutative__monoid_Ofincomp__insert,axiom,
    ! [M: set_a,Composition: a > a > a,Unit: a,F2: set_a,A: a,F: a > a] :
      ( ( group_4866109990395492029noid_a @ M @ Composition @ Unit )
     => ( ( finite_finite_a @ F2 )
       => ( ~ ( member_a @ A @ F2 )
         => ( ( member_a_a @ F
              @ ( pi_a_a @ F2
                @ ^ [Uu: a] : M ) )
           => ( ( member_a @ ( F @ A ) @ M )
             => ( ( commut5005951359559292710mp_a_a @ M @ Composition @ Unit @ F @ ( insert_a @ A @ F2 ) )
                = ( Composition @ ( F @ A ) @ ( commut5005951359559292710mp_a_a @ M @ Composition @ Unit @ F @ F2 ) ) ) ) ) ) ) ) ).

% commutative_monoid.fincomp_insert
thf(fact_629_commutative__monoid_Ofincomp__insert,axiom,
    ! [M: set_a,Composition: a > a > a,Unit: a,F2: set_nat,A: nat,F: nat > a] :
      ( ( group_4866109990395492029noid_a @ M @ Composition @ Unit )
     => ( ( finite_finite_nat @ F2 )
       => ( ~ ( member_nat @ A @ F2 )
         => ( ( member_nat_a @ F
              @ ( pi_nat_a @ F2
                @ ^ [Uu: nat] : M ) )
           => ( ( member_a @ ( F @ A ) @ M )
             => ( ( commut6741328216151336360_a_nat @ M @ Composition @ Unit @ F @ ( insert_nat @ A @ F2 ) )
                = ( Composition @ ( F @ A ) @ ( commut6741328216151336360_a_nat @ M @ Composition @ Unit @ F @ F2 ) ) ) ) ) ) ) ) ).

% commutative_monoid.fincomp_insert
thf(fact_630_inj__on__id2,axiom,
    ! [A2: set_nat] :
      ( inj_on_nat_nat
      @ ^ [X3: nat] : X3
      @ A2 ) ).

% inj_on_id2
thf(fact_631_monoid_OsubgroupI,axiom,
    ! [M: set_nat,Composition: nat > nat > nat,Unit: nat,G2: set_nat] :
      ( ( group_monoid_nat @ M @ Composition @ Unit )
     => ( ( ord_less_eq_set_nat @ G2 @ M )
       => ( ( member_nat @ Unit @ G2 )
         => ( ! [G4: nat,H3: nat] :
                ( ( member_nat @ G4 @ G2 )
               => ( ( member_nat @ H3 @ G2 )
                 => ( member_nat @ ( Composition @ G4 @ H3 ) @ G2 ) ) )
           => ( ! [G4: nat] :
                  ( ( member_nat @ G4 @ G2 )
                 => ( group_invertible_nat @ M @ Composition @ Unit @ G4 ) )
             => ( ! [G4: nat] :
                    ( ( member_nat @ G4 @ G2 )
                   => ( member_nat @ ( group_inverse_nat @ M @ Composition @ Unit @ G4 ) @ G2 ) )
               => ( group_subgroup_nat @ G2 @ M @ Composition @ Unit ) ) ) ) ) ) ) ).

% monoid.subgroupI
thf(fact_632_monoid_OsubgroupI,axiom,
    ! [M: set_a,Composition: a > a > a,Unit: a,G2: set_a] :
      ( ( group_monoid_a @ M @ Composition @ Unit )
     => ( ( ord_less_eq_set_a @ G2 @ M )
       => ( ( member_a @ Unit @ G2 )
         => ( ! [G4: a,H3: a] :
                ( ( member_a @ G4 @ G2 )
               => ( ( member_a @ H3 @ G2 )
                 => ( member_a @ ( Composition @ G4 @ H3 ) @ G2 ) ) )
           => ( ! [G4: a] :
                  ( ( member_a @ G4 @ G2 )
                 => ( group_invertible_a @ M @ Composition @ Unit @ G4 ) )
             => ( ! [G4: a] :
                    ( ( member_a @ G4 @ G2 )
                   => ( member_a @ ( group_inverse_a @ M @ Composition @ Unit @ G4 ) @ G2 ) )
               => ( group_subgroup_a @ G2 @ M @ Composition @ Unit ) ) ) ) ) ) ) ).

% monoid.subgroupI
thf(fact_633_funcsetI,axiom,
    ! [A2: set_a,F: a > a,B2: set_a] :
      ( ! [X2: a] :
          ( ( member_a @ X2 @ A2 )
         => ( member_a @ ( F @ X2 ) @ B2 ) )
     => ( member_a_a @ F
        @ ( pi_a_a @ A2
          @ ^ [Uu: a] : B2 ) ) ) ).

% funcsetI
thf(fact_634_funcsetI,axiom,
    ! [A2: set_a,F: a > nat,B2: set_nat] :
      ( ! [X2: a] :
          ( ( member_a @ X2 @ A2 )
         => ( member_nat @ ( F @ X2 ) @ B2 ) )
     => ( member_a_nat @ F
        @ ( pi_a_nat @ A2
          @ ^ [Uu: a] : B2 ) ) ) ).

% funcsetI
thf(fact_635_funcsetI,axiom,
    ! [A2: set_nat,F: nat > a,B2: set_a] :
      ( ! [X2: nat] :
          ( ( member_nat @ X2 @ A2 )
         => ( member_a @ ( F @ X2 ) @ B2 ) )
     => ( member_nat_a @ F
        @ ( pi_nat_a @ A2
          @ ^ [Uu: nat] : B2 ) ) ) ).

% funcsetI
thf(fact_636_funcsetI,axiom,
    ! [A2: set_nat,F: nat > nat,B2: set_nat] :
      ( ! [X2: nat] :
          ( ( member_nat @ X2 @ A2 )
         => ( member_nat @ ( F @ X2 ) @ B2 ) )
     => ( member_nat_nat @ F
        @ ( pi_nat_nat @ A2
          @ ^ [Uu: nat] : B2 ) ) ) ).

% funcsetI
thf(fact_637_funcset__mem,axiom,
    ! [F: a > a,A2: set_a,B2: set_a,X: a] :
      ( ( member_a_a @ F
        @ ( pi_a_a @ A2
          @ ^ [Uu: a] : B2 ) )
     => ( ( member_a @ X @ A2 )
       => ( member_a @ ( F @ X ) @ B2 ) ) ) ).

% funcset_mem
thf(fact_638_funcset__mem,axiom,
    ! [F: a > nat,A2: set_a,B2: set_nat,X: a] :
      ( ( member_a_nat @ F
        @ ( pi_a_nat @ A2
          @ ^ [Uu: a] : B2 ) )
     => ( ( member_a @ X @ A2 )
       => ( member_nat @ ( F @ X ) @ B2 ) ) ) ).

% funcset_mem
thf(fact_639_funcset__mem,axiom,
    ! [F: nat > a,A2: set_nat,B2: set_a,X: nat] :
      ( ( member_nat_a @ F
        @ ( pi_nat_a @ A2
          @ ^ [Uu: nat] : B2 ) )
     => ( ( member_nat @ X @ A2 )
       => ( member_a @ ( F @ X ) @ B2 ) ) ) ).

% funcset_mem
thf(fact_640_funcset__mem,axiom,
    ! [F: nat > nat,A2: set_nat,B2: set_nat,X: nat] :
      ( ( member_nat_nat @ F
        @ ( pi_nat_nat @ A2
          @ ^ [Uu: nat] : B2 ) )
     => ( ( member_nat @ X @ A2 )
       => ( member_nat @ ( F @ X ) @ B2 ) ) ) ).

% funcset_mem
thf(fact_641_group_Oinverse__subgroupD,axiom,
    ! [G2: set_a,Composition: a > a > a,Unit: a,H: set_a] :
      ( ( group_group_a @ G2 @ Composition @ Unit )
     => ( ( group_subgroup_a @ ( image_a_a @ ( group_inverse_a @ G2 @ Composition @ Unit ) @ H ) @ G2 @ Composition @ Unit )
       => ( ( ord_less_eq_set_a @ H @ ( group_Units_a @ G2 @ Composition @ Unit ) )
         => ( group_subgroup_a @ H @ G2 @ Composition @ Unit ) ) ) ) ).

% group.inverse_subgroupD
thf(fact_642_fincomp__mono__neutral__cong,axiom,
    ! [B2: set_a,A2: set_a,H2: a > a,G: a > a] :
      ( ( finite_finite_a @ B2 )
     => ( ( finite_finite_a @ A2 )
       => ( ! [I2: a] :
              ( ( member_a @ I2 @ ( minus_minus_set_a @ B2 @ A2 ) )
             => ( ( H2 @ I2 )
                = unit ) )
         => ( ! [I2: a] :
                ( ( member_a @ I2 @ ( minus_minus_set_a @ A2 @ B2 ) )
               => ( ( G @ I2 )
                  = unit ) )
           => ( ! [X2: a] :
                  ( ( member_a @ X2 @ ( inf_inf_set_a @ A2 @ B2 ) )
                 => ( ( G @ X2 )
                    = ( H2 @ X2 ) ) )
             => ( ( member_a_a @ G
                  @ ( pi_a_a @ A2
                    @ ^ [Uu: a] : g ) )
               => ( ( member_a_a @ H2
                    @ ( pi_a_a @ B2
                      @ ^ [Uu: a] : g ) )
                 => ( ( commut5005951359559292710mp_a_a @ g @ composition @ unit @ G @ A2 )
                    = ( commut5005951359559292710mp_a_a @ g @ composition @ unit @ H2 @ B2 ) ) ) ) ) ) ) ) ) ).

% fincomp_mono_neutral_cong
thf(fact_643_fincomp__mono__neutral__cong,axiom,
    ! [B2: set_nat,A2: set_nat,H2: nat > a,G: nat > a] :
      ( ( finite_finite_nat @ B2 )
     => ( ( finite_finite_nat @ A2 )
       => ( ! [I2: nat] :
              ( ( member_nat @ I2 @ ( minus_minus_set_nat @ B2 @ A2 ) )
             => ( ( H2 @ I2 )
                = unit ) )
         => ( ! [I2: nat] :
                ( ( member_nat @ I2 @ ( minus_minus_set_nat @ A2 @ B2 ) )
               => ( ( G @ I2 )
                  = unit ) )
           => ( ! [X2: nat] :
                  ( ( member_nat @ X2 @ ( inf_inf_set_nat @ A2 @ B2 ) )
                 => ( ( G @ X2 )
                    = ( H2 @ X2 ) ) )
             => ( ( member_nat_a @ G
                  @ ( pi_nat_a @ A2
                    @ ^ [Uu: nat] : g ) )
               => ( ( member_nat_a @ H2
                    @ ( pi_nat_a @ B2
                      @ ^ [Uu: nat] : g ) )
                 => ( ( commut6741328216151336360_a_nat @ g @ composition @ unit @ G @ A2 )
                    = ( commut6741328216151336360_a_nat @ g @ composition @ unit @ H2 @ B2 ) ) ) ) ) ) ) ) ) ).

% fincomp_mono_neutral_cong
thf(fact_644_inj__on__iff__surj,axiom,
    ! [A2: set_nat,A8: set_nat] :
      ( ( A2 != bot_bot_set_nat )
     => ( ( ? [F4: nat > nat] :
              ( ( inj_on_nat_nat @ F4 @ A2 )
              & ( ord_less_eq_set_nat @ ( image_nat_nat @ F4 @ A2 ) @ A8 ) ) )
        = ( ? [G5: nat > nat] :
              ( ( image_nat_nat @ G5 @ A8 )
              = A2 ) ) ) ) ).

% inj_on_iff_surj
thf(fact_645_inj__on__iff__surj,axiom,
    ! [A2: set_a,A8: set_a] :
      ( ( A2 != bot_bot_set_a )
     => ( ( ? [F4: a > a] :
              ( ( inj_on_a_a @ F4 @ A2 )
              & ( ord_less_eq_set_a @ ( image_a_a @ F4 @ A2 ) @ A8 ) ) )
        = ( ? [G5: a > a] :
              ( ( image_a_a @ G5 @ A8 )
              = A2 ) ) ) ) ).

% inj_on_iff_surj
thf(fact_646_finite__ranking__induct,axiom,
    ! [S: set_a,P: set_a > $o,F: a > nat] :
      ( ( finite_finite_a @ S )
     => ( ( P @ bot_bot_set_a )
       => ( ! [X2: a,S2: set_a] :
              ( ( finite_finite_a @ S2 )
             => ( ! [Y6: a] :
                    ( ( member_a @ Y6 @ S2 )
                   => ( ord_less_eq_nat @ ( F @ Y6 ) @ ( F @ X2 ) ) )
               => ( ( P @ S2 )
                 => ( P @ ( insert_a @ X2 @ S2 ) ) ) ) )
         => ( P @ S ) ) ) ) ).

% finite_ranking_induct
thf(fact_647_finite__ranking__induct,axiom,
    ! [S: set_nat,P: set_nat > $o,F: nat > nat] :
      ( ( finite_finite_nat @ S )
     => ( ( P @ bot_bot_set_nat )
       => ( ! [X2: nat,S2: set_nat] :
              ( ( finite_finite_nat @ S2 )
             => ( ! [Y6: nat] :
                    ( ( member_nat @ Y6 @ S2 )
                   => ( ord_less_eq_nat @ ( F @ Y6 ) @ ( F @ X2 ) ) )
               => ( ( P @ S2 )
                 => ( P @ ( insert_nat @ X2 @ S2 ) ) ) ) )
         => ( P @ S ) ) ) ) ).

% finite_ranking_induct
thf(fact_648_subset__image__inj,axiom,
    ! [S: set_nat,F: nat > nat,T2: set_nat] :
      ( ( ord_less_eq_set_nat @ S @ ( image_nat_nat @ F @ T2 ) )
      = ( ? [U3: set_nat] :
            ( ( ord_less_eq_set_nat @ U3 @ T2 )
            & ( inj_on_nat_nat @ F @ U3 )
            & ( S
              = ( image_nat_nat @ F @ U3 ) ) ) ) ) ).

% subset_image_inj
thf(fact_649_subset__image__inj,axiom,
    ! [S: set_a,F: a > a,T2: set_a] :
      ( ( ord_less_eq_set_a @ S @ ( image_a_a @ F @ T2 ) )
      = ( ? [U3: set_a] :
            ( ( ord_less_eq_set_a @ U3 @ T2 )
            & ( inj_on_a_a @ F @ U3 )
            & ( S
              = ( image_a_a @ F @ U3 ) ) ) ) ) ).

% subset_image_inj
thf(fact_650_diff__shunt__var,axiom,
    ! [X: set_a,Y: set_a] :
      ( ( ( minus_minus_set_a @ X @ Y )
        = bot_bot_set_a )
      = ( ord_less_eq_set_a @ X @ Y ) ) ).

% diff_shunt_var
thf(fact_651_order__refl,axiom,
    ! [X: set_a] : ( ord_less_eq_set_a @ X @ X ) ).

% order_refl
thf(fact_652_order__refl,axiom,
    ! [X: nat] : ( ord_less_eq_nat @ X @ X ) ).

% order_refl
thf(fact_653_dual__order_Orefl,axiom,
    ! [A: set_a] : ( ord_less_eq_set_a @ A @ A ) ).

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

% dual_order.refl
thf(fact_655_IntI,axiom,
    ! [C: a,A2: set_a,B2: set_a] :
      ( ( member_a @ C @ A2 )
     => ( ( member_a @ C @ B2 )
       => ( member_a @ C @ ( inf_inf_set_a @ A2 @ B2 ) ) ) ) ).

% IntI
thf(fact_656_IntI,axiom,
    ! [C: nat,A2: set_nat,B2: set_nat] :
      ( ( member_nat @ C @ A2 )
     => ( ( member_nat @ C @ B2 )
       => ( member_nat @ C @ ( inf_inf_set_nat @ A2 @ B2 ) ) ) ) ).

% IntI
thf(fact_657_Int__iff,axiom,
    ! [C: a,A2: set_a,B2: set_a] :
      ( ( member_a @ C @ ( inf_inf_set_a @ A2 @ B2 ) )
      = ( ( member_a @ C @ A2 )
        & ( member_a @ C @ B2 ) ) ) ).

% Int_iff
thf(fact_658_Int__iff,axiom,
    ! [C: nat,A2: set_nat,B2: set_nat] :
      ( ( member_nat @ C @ ( inf_inf_set_nat @ A2 @ B2 ) )
      = ( ( member_nat @ C @ A2 )
        & ( member_nat @ C @ B2 ) ) ) ).

% Int_iff
thf(fact_659_le__inf__iff,axiom,
    ! [X: set_a,Y: set_a,Z: set_a] :
      ( ( ord_less_eq_set_a @ X @ ( inf_inf_set_a @ Y @ Z ) )
      = ( ( ord_less_eq_set_a @ X @ Y )
        & ( ord_less_eq_set_a @ X @ Z ) ) ) ).

% le_inf_iff
thf(fact_660_le__inf__iff,axiom,
    ! [X: nat,Y: nat,Z: nat] :
      ( ( ord_less_eq_nat @ X @ ( inf_inf_nat @ Y @ Z ) )
      = ( ( ord_less_eq_nat @ X @ Y )
        & ( ord_less_eq_nat @ X @ Z ) ) ) ).

% le_inf_iff
thf(fact_661_inf_Obounded__iff,axiom,
    ! [A: set_a,B: set_a,C: set_a] :
      ( ( ord_less_eq_set_a @ A @ ( inf_inf_set_a @ B @ C ) )
      = ( ( ord_less_eq_set_a @ A @ B )
        & ( ord_less_eq_set_a @ A @ C ) ) ) ).

% inf.bounded_iff
thf(fact_662_inf_Obounded__iff,axiom,
    ! [A: nat,B: nat,C: nat] :
      ( ( ord_less_eq_nat @ A @ ( inf_inf_nat @ B @ C ) )
      = ( ( ord_less_eq_nat @ A @ B )
        & ( ord_less_eq_nat @ A @ C ) ) ) ).

% inf.bounded_iff
thf(fact_663_finite__Int,axiom,
    ! [F2: set_a,G2: set_a] :
      ( ( ( finite_finite_a @ F2 )
        | ( finite_finite_a @ G2 ) )
     => ( finite_finite_a @ ( inf_inf_set_a @ F2 @ G2 ) ) ) ).

% finite_Int
thf(fact_664_finite__Int,axiom,
    ! [F2: set_nat,G2: set_nat] :
      ( ( ( finite_finite_nat @ F2 )
        | ( finite_finite_nat @ G2 ) )
     => ( finite_finite_nat @ ( inf_inf_set_nat @ F2 @ G2 ) ) ) ).

% finite_Int
thf(fact_665_Int__subset__iff,axiom,
    ! [C4: set_a,A2: set_a,B2: set_a] :
      ( ( ord_less_eq_set_a @ C4 @ ( inf_inf_set_a @ A2 @ B2 ) )
      = ( ( ord_less_eq_set_a @ C4 @ A2 )
        & ( ord_less_eq_set_a @ C4 @ B2 ) ) ) ).

% Int_subset_iff
thf(fact_666_Int__insert__left__if0,axiom,
    ! [A: a,C4: set_a,B2: set_a] :
      ( ~ ( member_a @ A @ C4 )
     => ( ( inf_inf_set_a @ ( insert_a @ A @ B2 ) @ C4 )
        = ( inf_inf_set_a @ B2 @ C4 ) ) ) ).

% Int_insert_left_if0
thf(fact_667_Int__insert__left__if0,axiom,
    ! [A: nat,C4: set_nat,B2: set_nat] :
      ( ~ ( member_nat @ A @ C4 )
     => ( ( inf_inf_set_nat @ ( insert_nat @ A @ B2 ) @ C4 )
        = ( inf_inf_set_nat @ B2 @ C4 ) ) ) ).

% Int_insert_left_if0
thf(fact_668_Int__insert__left__if1,axiom,
    ! [A: a,C4: set_a,B2: set_a] :
      ( ( member_a @ A @ C4 )
     => ( ( inf_inf_set_a @ ( insert_a @ A @ B2 ) @ C4 )
        = ( insert_a @ A @ ( inf_inf_set_a @ B2 @ C4 ) ) ) ) ).

% Int_insert_left_if1
thf(fact_669_Int__insert__left__if1,axiom,
    ! [A: nat,C4: set_nat,B2: set_nat] :
      ( ( member_nat @ A @ C4 )
     => ( ( inf_inf_set_nat @ ( insert_nat @ A @ B2 ) @ C4 )
        = ( insert_nat @ A @ ( inf_inf_set_nat @ B2 @ C4 ) ) ) ) ).

% Int_insert_left_if1
thf(fact_670_Int__insert__right__if0,axiom,
    ! [A: a,A2: set_a,B2: set_a] :
      ( ~ ( member_a @ A @ A2 )
     => ( ( inf_inf_set_a @ A2 @ ( insert_a @ A @ B2 ) )
        = ( inf_inf_set_a @ A2 @ B2 ) ) ) ).

% Int_insert_right_if0
thf(fact_671_Int__insert__right__if0,axiom,
    ! [A: nat,A2: set_nat,B2: set_nat] :
      ( ~ ( member_nat @ A @ A2 )
     => ( ( inf_inf_set_nat @ A2 @ ( insert_nat @ A @ B2 ) )
        = ( inf_inf_set_nat @ A2 @ B2 ) ) ) ).

% Int_insert_right_if0
thf(fact_672_Int__insert__right__if1,axiom,
    ! [A: a,A2: set_a,B2: set_a] :
      ( ( member_a @ A @ A2 )
     => ( ( inf_inf_set_a @ A2 @ ( insert_a @ A @ B2 ) )
        = ( insert_a @ A @ ( inf_inf_set_a @ A2 @ B2 ) ) ) ) ).

% Int_insert_right_if1
thf(fact_673_Int__insert__right__if1,axiom,
    ! [A: nat,A2: set_nat,B2: set_nat] :
      ( ( member_nat @ A @ A2 )
     => ( ( inf_inf_set_nat @ A2 @ ( insert_nat @ A @ B2 ) )
        = ( insert_nat @ A @ ( inf_inf_set_nat @ A2 @ B2 ) ) ) ) ).

% Int_insert_right_if1
thf(fact_674_disjoint__insert_I2_J,axiom,
    ! [A2: set_a,B: a,B2: set_a] :
      ( ( bot_bot_set_a
        = ( inf_inf_set_a @ A2 @ ( insert_a @ B @ B2 ) ) )
      = ( ~ ( member_a @ B @ A2 )
        & ( bot_bot_set_a
          = ( inf_inf_set_a @ A2 @ B2 ) ) ) ) ).

% disjoint_insert(2)
thf(fact_675_disjoint__insert_I2_J,axiom,
    ! [A2: set_nat,B: nat,B2: set_nat] :
      ( ( bot_bot_set_nat
        = ( inf_inf_set_nat @ A2 @ ( insert_nat @ B @ B2 ) ) )
      = ( ~ ( member_nat @ B @ A2 )
        & ( bot_bot_set_nat
          = ( inf_inf_set_nat @ A2 @ B2 ) ) ) ) ).

% disjoint_insert(2)
thf(fact_676_disjoint__insert_I1_J,axiom,
    ! [B2: set_a,A: a,A2: set_a] :
      ( ( ( inf_inf_set_a @ B2 @ ( insert_a @ A @ A2 ) )
        = bot_bot_set_a )
      = ( ~ ( member_a @ A @ B2 )
        & ( ( inf_inf_set_a @ B2 @ A2 )
          = bot_bot_set_a ) ) ) ).

% disjoint_insert(1)
thf(fact_677_disjoint__insert_I1_J,axiom,
    ! [B2: set_nat,A: nat,A2: set_nat] :
      ( ( ( inf_inf_set_nat @ B2 @ ( insert_nat @ A @ A2 ) )
        = bot_bot_set_nat )
      = ( ~ ( member_nat @ A @ B2 )
        & ( ( inf_inf_set_nat @ B2 @ A2 )
          = bot_bot_set_nat ) ) ) ).

% disjoint_insert(1)
thf(fact_678_insert__disjoint_I2_J,axiom,
    ! [A: a,A2: set_a,B2: set_a] :
      ( ( bot_bot_set_a
        = ( inf_inf_set_a @ ( insert_a @ A @ A2 ) @ B2 ) )
      = ( ~ ( member_a @ A @ B2 )
        & ( bot_bot_set_a
          = ( inf_inf_set_a @ A2 @ B2 ) ) ) ) ).

% insert_disjoint(2)
thf(fact_679_insert__disjoint_I2_J,axiom,
    ! [A: nat,A2: set_nat,B2: set_nat] :
      ( ( bot_bot_set_nat
        = ( inf_inf_set_nat @ ( insert_nat @ A @ A2 ) @ B2 ) )
      = ( ~ ( member_nat @ A @ B2 )
        & ( bot_bot_set_nat
          = ( inf_inf_set_nat @ A2 @ B2 ) ) ) ) ).

% insert_disjoint(2)
thf(fact_680_insert__disjoint_I1_J,axiom,
    ! [A: a,A2: set_a,B2: set_a] :
      ( ( ( inf_inf_set_a @ ( insert_a @ A @ A2 ) @ B2 )
        = bot_bot_set_a )
      = ( ~ ( member_a @ A @ B2 )
        & ( ( inf_inf_set_a @ A2 @ B2 )
          = bot_bot_set_a ) ) ) ).

% insert_disjoint(1)
thf(fact_681_insert__disjoint_I1_J,axiom,
    ! [A: nat,A2: set_nat,B2: set_nat] :
      ( ( ( inf_inf_set_nat @ ( insert_nat @ A @ A2 ) @ B2 )
        = bot_bot_set_nat )
      = ( ~ ( member_nat @ A @ B2 )
        & ( ( inf_inf_set_nat @ A2 @ B2 )
          = bot_bot_set_nat ) ) ) ).

% insert_disjoint(1)
thf(fact_682_inf__sup__ord_I2_J,axiom,
    ! [X: set_a,Y: set_a] : ( ord_less_eq_set_a @ ( inf_inf_set_a @ X @ Y ) @ Y ) ).

% inf_sup_ord(2)
thf(fact_683_inf__sup__ord_I2_J,axiom,
    ! [X: nat,Y: nat] : ( ord_less_eq_nat @ ( inf_inf_nat @ X @ Y ) @ Y ) ).

% inf_sup_ord(2)
thf(fact_684_inf__sup__ord_I1_J,axiom,
    ! [X: set_a,Y: set_a] : ( ord_less_eq_set_a @ ( inf_inf_set_a @ X @ Y ) @ X ) ).

% inf_sup_ord(1)
thf(fact_685_inf__sup__ord_I1_J,axiom,
    ! [X: nat,Y: nat] : ( ord_less_eq_nat @ ( inf_inf_nat @ X @ Y ) @ X ) ).

% inf_sup_ord(1)
thf(fact_686_inf__le1,axiom,
    ! [X: set_a,Y: set_a] : ( ord_less_eq_set_a @ ( inf_inf_set_a @ X @ Y ) @ X ) ).

% inf_le1
thf(fact_687_inf__le1,axiom,
    ! [X: nat,Y: nat] : ( ord_less_eq_nat @ ( inf_inf_nat @ X @ Y ) @ X ) ).

% inf_le1
thf(fact_688_inf__le2,axiom,
    ! [X: set_a,Y: set_a] : ( ord_less_eq_set_a @ ( inf_inf_set_a @ X @ Y ) @ Y ) ).

% inf_le2
thf(fact_689_inf__le2,axiom,
    ! [X: nat,Y: nat] : ( ord_less_eq_nat @ ( inf_inf_nat @ X @ Y ) @ Y ) ).

% inf_le2
thf(fact_690_le__infE,axiom,
    ! [X: set_a,A: set_a,B: set_a] :
      ( ( ord_less_eq_set_a @ X @ ( inf_inf_set_a @ A @ B ) )
     => ~ ( ( ord_less_eq_set_a @ X @ A )
         => ~ ( ord_less_eq_set_a @ X @ B ) ) ) ).

% le_infE
thf(fact_691_le__infE,axiom,
    ! [X: nat,A: nat,B: nat] :
      ( ( ord_less_eq_nat @ X @ ( inf_inf_nat @ A @ B ) )
     => ~ ( ( ord_less_eq_nat @ X @ A )
         => ~ ( ord_less_eq_nat @ X @ B ) ) ) ).

% le_infE
thf(fact_692_le__infI,axiom,
    ! [X: set_a,A: set_a,B: set_a] :
      ( ( ord_less_eq_set_a @ X @ A )
     => ( ( ord_less_eq_set_a @ X @ B )
       => ( ord_less_eq_set_a @ X @ ( inf_inf_set_a @ A @ B ) ) ) ) ).

% le_infI
thf(fact_693_le__infI,axiom,
    ! [X: nat,A: nat,B: nat] :
      ( ( ord_less_eq_nat @ X @ A )
     => ( ( ord_less_eq_nat @ X @ B )
       => ( ord_less_eq_nat @ X @ ( inf_inf_nat @ A @ B ) ) ) ) ).

% le_infI
thf(fact_694_inf__mono,axiom,
    ! [A: set_a,C: set_a,B: set_a,D2: set_a] :
      ( ( ord_less_eq_set_a @ A @ C )
     => ( ( ord_less_eq_set_a @ B @ D2 )
       => ( ord_less_eq_set_a @ ( inf_inf_set_a @ A @ B ) @ ( inf_inf_set_a @ C @ D2 ) ) ) ) ).

% inf_mono
thf(fact_695_inf__mono,axiom,
    ! [A: nat,C: nat,B: nat,D2: nat] :
      ( ( ord_less_eq_nat @ A @ C )
     => ( ( ord_less_eq_nat @ B @ D2 )
       => ( ord_less_eq_nat @ ( inf_inf_nat @ A @ B ) @ ( inf_inf_nat @ C @ D2 ) ) ) ) ).

% inf_mono
thf(fact_696_le__infI1,axiom,
    ! [A: set_a,X: set_a,B: set_a] :
      ( ( ord_less_eq_set_a @ A @ X )
     => ( ord_less_eq_set_a @ ( inf_inf_set_a @ A @ B ) @ X ) ) ).

% le_infI1
thf(fact_697_le__infI1,axiom,
    ! [A: nat,X: nat,B: nat] :
      ( ( ord_less_eq_nat @ A @ X )
     => ( ord_less_eq_nat @ ( inf_inf_nat @ A @ B ) @ X ) ) ).

% le_infI1
thf(fact_698_le__infI2,axiom,
    ! [B: set_a,X: set_a,A: set_a] :
      ( ( ord_less_eq_set_a @ B @ X )
     => ( ord_less_eq_set_a @ ( inf_inf_set_a @ A @ B ) @ X ) ) ).

% le_infI2
thf(fact_699_le__infI2,axiom,
    ! [B: nat,X: nat,A: nat] :
      ( ( ord_less_eq_nat @ B @ X )
     => ( ord_less_eq_nat @ ( inf_inf_nat @ A @ B ) @ X ) ) ).

% le_infI2
thf(fact_700_inf_OorderE,axiom,
    ! [A: set_a,B: set_a] :
      ( ( ord_less_eq_set_a @ A @ B )
     => ( A
        = ( inf_inf_set_a @ A @ B ) ) ) ).

% inf.orderE
thf(fact_701_inf_OorderE,axiom,
    ! [A: nat,B: nat] :
      ( ( ord_less_eq_nat @ A @ B )
     => ( A
        = ( inf_inf_nat @ A @ B ) ) ) ).

% inf.orderE
thf(fact_702_inf_OorderI,axiom,
    ! [A: set_a,B: set_a] :
      ( ( A
        = ( inf_inf_set_a @ A @ B ) )
     => ( ord_less_eq_set_a @ A @ B ) ) ).

% inf.orderI
thf(fact_703_inf_OorderI,axiom,
    ! [A: nat,B: nat] :
      ( ( A
        = ( inf_inf_nat @ A @ B ) )
     => ( ord_less_eq_nat @ A @ B ) ) ).

% inf.orderI
thf(fact_704_inf__unique,axiom,
    ! [F: set_a > set_a > set_a,X: set_a,Y: set_a] :
      ( ! [X2: set_a,Y5: set_a] : ( ord_less_eq_set_a @ ( F @ X2 @ Y5 ) @ X2 )
     => ( ! [X2: set_a,Y5: set_a] : ( ord_less_eq_set_a @ ( F @ X2 @ Y5 ) @ Y5 )
       => ( ! [X2: set_a,Y5: set_a,Z3: set_a] :
              ( ( ord_less_eq_set_a @ X2 @ Y5 )
             => ( ( ord_less_eq_set_a @ X2 @ Z3 )
               => ( ord_less_eq_set_a @ X2 @ ( F @ Y5 @ Z3 ) ) ) )
         => ( ( inf_inf_set_a @ X @ Y )
            = ( F @ X @ Y ) ) ) ) ) ).

% inf_unique
thf(fact_705_inf__unique,axiom,
    ! [F: nat > nat > nat,X: nat,Y: nat] :
      ( ! [X2: nat,Y5: nat] : ( ord_less_eq_nat @ ( F @ X2 @ Y5 ) @ X2 )
     => ( ! [X2: nat,Y5: nat] : ( ord_less_eq_nat @ ( F @ X2 @ Y5 ) @ Y5 )
       => ( ! [X2: nat,Y5: nat,Z3: nat] :
              ( ( ord_less_eq_nat @ X2 @ Y5 )
             => ( ( ord_less_eq_nat @ X2 @ Z3 )
               => ( ord_less_eq_nat @ X2 @ ( F @ Y5 @ Z3 ) ) ) )
         => ( ( inf_inf_nat @ X @ Y )
            = ( F @ X @ Y ) ) ) ) ) ).

% inf_unique
thf(fact_706_le__iff__inf,axiom,
    ( ord_less_eq_set_a
    = ( ^ [X3: set_a,Y3: set_a] :
          ( ( inf_inf_set_a @ X3 @ Y3 )
          = X3 ) ) ) ).

% le_iff_inf
thf(fact_707_le__iff__inf,axiom,
    ( ord_less_eq_nat
    = ( ^ [X3: nat,Y3: nat] :
          ( ( inf_inf_nat @ X3 @ Y3 )
          = X3 ) ) ) ).

% le_iff_inf
thf(fact_708_inf_Oabsorb1,axiom,
    ! [A: set_a,B: set_a] :
      ( ( ord_less_eq_set_a @ A @ B )
     => ( ( inf_inf_set_a @ A @ B )
        = A ) ) ).

% inf.absorb1
thf(fact_709_inf_Oabsorb1,axiom,
    ! [A: nat,B: nat] :
      ( ( ord_less_eq_nat @ A @ B )
     => ( ( inf_inf_nat @ A @ B )
        = A ) ) ).

% inf.absorb1
thf(fact_710_inf_Oabsorb2,axiom,
    ! [B: set_a,A: set_a] :
      ( ( ord_less_eq_set_a @ B @ A )
     => ( ( inf_inf_set_a @ A @ B )
        = B ) ) ).

% inf.absorb2
thf(fact_711_inf_Oabsorb2,axiom,
    ! [B: nat,A: nat] :
      ( ( ord_less_eq_nat @ B @ A )
     => ( ( inf_inf_nat @ A @ B )
        = B ) ) ).

% inf.absorb2
thf(fact_712_inf__absorb1,axiom,
    ! [X: set_a,Y: set_a] :
      ( ( ord_less_eq_set_a @ X @ Y )
     => ( ( inf_inf_set_a @ X @ Y )
        = X ) ) ).

% inf_absorb1
thf(fact_713_inf__absorb1,axiom,
    ! [X: nat,Y: nat] :
      ( ( ord_less_eq_nat @ X @ Y )
     => ( ( inf_inf_nat @ X @ Y )
        = X ) ) ).

% inf_absorb1
thf(fact_714_inf__absorb2,axiom,
    ! [Y: set_a,X: set_a] :
      ( ( ord_less_eq_set_a @ Y @ X )
     => ( ( inf_inf_set_a @ X @ Y )
        = Y ) ) ).

% inf_absorb2
thf(fact_715_inf__absorb2,axiom,
    ! [Y: nat,X: nat] :
      ( ( ord_less_eq_nat @ Y @ X )
     => ( ( inf_inf_nat @ X @ Y )
        = Y ) ) ).

% inf_absorb2
thf(fact_716_inf_OboundedE,axiom,
    ! [A: set_a,B: set_a,C: set_a] :
      ( ( ord_less_eq_set_a @ A @ ( inf_inf_set_a @ B @ C ) )
     => ~ ( ( ord_less_eq_set_a @ A @ B )
         => ~ ( ord_less_eq_set_a @ A @ C ) ) ) ).

% inf.boundedE
thf(fact_717_inf_OboundedE,axiom,
    ! [A: nat,B: nat,C: nat] :
      ( ( ord_less_eq_nat @ A @ ( inf_inf_nat @ B @ C ) )
     => ~ ( ( ord_less_eq_nat @ A @ B )
         => ~ ( ord_less_eq_nat @ A @ C ) ) ) ).

% inf.boundedE
thf(fact_718_inf_OboundedI,axiom,
    ! [A: set_a,B: set_a,C: set_a] :
      ( ( ord_less_eq_set_a @ A @ B )
     => ( ( ord_less_eq_set_a @ A @ C )
       => ( ord_less_eq_set_a @ A @ ( inf_inf_set_a @ B @ C ) ) ) ) ).

% inf.boundedI
thf(fact_719_inf_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 @ ( inf_inf_nat @ B @ C ) ) ) ) ).

% inf.boundedI
thf(fact_720_inf__greatest,axiom,
    ! [X: set_a,Y: set_a,Z: set_a] :
      ( ( ord_less_eq_set_a @ X @ Y )
     => ( ( ord_less_eq_set_a @ X @ Z )
       => ( ord_less_eq_set_a @ X @ ( inf_inf_set_a @ Y @ Z ) ) ) ) ).

% inf_greatest
thf(fact_721_inf__greatest,axiom,
    ! [X: nat,Y: nat,Z: nat] :
      ( ( ord_less_eq_nat @ X @ Y )
     => ( ( ord_less_eq_nat @ X @ Z )
       => ( ord_less_eq_nat @ X @ ( inf_inf_nat @ Y @ Z ) ) ) ) ).

% inf_greatest
thf(fact_722_inf_Oorder__iff,axiom,
    ( ord_less_eq_set_a
    = ( ^ [A4: set_a,B4: set_a] :
          ( A4
          = ( inf_inf_set_a @ A4 @ B4 ) ) ) ) ).

% inf.order_iff
thf(fact_723_inf_Oorder__iff,axiom,
    ( ord_less_eq_nat
    = ( ^ [A4: nat,B4: nat] :
          ( A4
          = ( inf_inf_nat @ A4 @ B4 ) ) ) ) ).

% inf.order_iff
thf(fact_724_inf_Ocobounded1,axiom,
    ! [A: set_a,B: set_a] : ( ord_less_eq_set_a @ ( inf_inf_set_a @ A @ B ) @ A ) ).

% inf.cobounded1
thf(fact_725_inf_Ocobounded1,axiom,
    ! [A: nat,B: nat] : ( ord_less_eq_nat @ ( inf_inf_nat @ A @ B ) @ A ) ).

% inf.cobounded1
thf(fact_726_inf_Ocobounded2,axiom,
    ! [A: set_a,B: set_a] : ( ord_less_eq_set_a @ ( inf_inf_set_a @ A @ B ) @ B ) ).

% inf.cobounded2
thf(fact_727_inf_Ocobounded2,axiom,
    ! [A: nat,B: nat] : ( ord_less_eq_nat @ ( inf_inf_nat @ A @ B ) @ B ) ).

% inf.cobounded2
thf(fact_728_inf_Oabsorb__iff1,axiom,
    ( ord_less_eq_set_a
    = ( ^ [A4: set_a,B4: set_a] :
          ( ( inf_inf_set_a @ A4 @ B4 )
          = A4 ) ) ) ).

% inf.absorb_iff1
thf(fact_729_inf_Oabsorb__iff1,axiom,
    ( ord_less_eq_nat
    = ( ^ [A4: nat,B4: nat] :
          ( ( inf_inf_nat @ A4 @ B4 )
          = A4 ) ) ) ).

% inf.absorb_iff1
thf(fact_730_inf_Oabsorb__iff2,axiom,
    ( ord_less_eq_set_a
    = ( ^ [B4: set_a,A4: set_a] :
          ( ( inf_inf_set_a @ A4 @ B4 )
          = B4 ) ) ) ).

% inf.absorb_iff2
thf(fact_731_inf_Oabsorb__iff2,axiom,
    ( ord_less_eq_nat
    = ( ^ [B4: nat,A4: nat] :
          ( ( inf_inf_nat @ A4 @ B4 )
          = B4 ) ) ) ).

% inf.absorb_iff2
thf(fact_732_inf_OcoboundedI1,axiom,
    ! [A: set_a,C: set_a,B: set_a] :
      ( ( ord_less_eq_set_a @ A @ C )
     => ( ord_less_eq_set_a @ ( inf_inf_set_a @ A @ B ) @ C ) ) ).

% inf.coboundedI1
thf(fact_733_inf_OcoboundedI1,axiom,
    ! [A: nat,C: nat,B: nat] :
      ( ( ord_less_eq_nat @ A @ C )
     => ( ord_less_eq_nat @ ( inf_inf_nat @ A @ B ) @ C ) ) ).

% inf.coboundedI1
thf(fact_734_inf_OcoboundedI2,axiom,
    ! [B: set_a,C: set_a,A: set_a] :
      ( ( ord_less_eq_set_a @ B @ C )
     => ( ord_less_eq_set_a @ ( inf_inf_set_a @ A @ B ) @ C ) ) ).

% inf.coboundedI2
thf(fact_735_inf_OcoboundedI2,axiom,
    ! [B: nat,C: nat,A: nat] :
      ( ( ord_less_eq_nat @ B @ C )
     => ( ord_less_eq_nat @ ( inf_inf_nat @ A @ B ) @ C ) ) ).

% inf.coboundedI2
thf(fact_736_Int__def,axiom,
    ( inf_inf_set_a
    = ( ^ [A6: set_a,B5: set_a] :
          ( collect_a
          @ ^ [X3: a] :
              ( ( member_a @ X3 @ A6 )
              & ( member_a @ X3 @ B5 ) ) ) ) ) ).

% Int_def
thf(fact_737_Int__def,axiom,
    ( inf_inf_set_nat
    = ( ^ [A6: set_nat,B5: set_nat] :
          ( collect_nat
          @ ^ [X3: nat] :
              ( ( member_nat @ X3 @ A6 )
              & ( member_nat @ X3 @ B5 ) ) ) ) ) ).

% Int_def
thf(fact_738_Int__Collect,axiom,
    ! [X: a,A2: set_a,P: a > $o] :
      ( ( member_a @ X @ ( inf_inf_set_a @ A2 @ ( collect_a @ P ) ) )
      = ( ( member_a @ X @ A2 )
        & ( P @ X ) ) ) ).

% Int_Collect
thf(fact_739_Int__Collect,axiom,
    ! [X: nat,A2: set_nat,P: nat > $o] :
      ( ( member_nat @ X @ ( inf_inf_set_nat @ A2 @ ( collect_nat @ P ) ) )
      = ( ( member_nat @ X @ A2 )
        & ( P @ X ) ) ) ).

% Int_Collect
thf(fact_740_Collect__conj__eq,axiom,
    ! [P: a > $o,Q: a > $o] :
      ( ( collect_a
        @ ^ [X3: a] :
            ( ( P @ X3 )
            & ( Q @ X3 ) ) )
      = ( inf_inf_set_a @ ( collect_a @ P ) @ ( collect_a @ Q ) ) ) ).

% Collect_conj_eq
thf(fact_741_Collect__conj__eq,axiom,
    ! [P: nat > $o,Q: nat > $o] :
      ( ( collect_nat
        @ ^ [X3: nat] :
            ( ( P @ X3 )
            & ( Q @ X3 ) ) )
      = ( inf_inf_set_nat @ ( collect_nat @ P ) @ ( collect_nat @ Q ) ) ) ).

% Collect_conj_eq
thf(fact_742_IntE,axiom,
    ! [C: a,A2: set_a,B2: set_a] :
      ( ( member_a @ C @ ( inf_inf_set_a @ A2 @ B2 ) )
     => ~ ( ( member_a @ C @ A2 )
         => ~ ( member_a @ C @ B2 ) ) ) ).

% IntE
thf(fact_743_IntE,axiom,
    ! [C: nat,A2: set_nat,B2: set_nat] :
      ( ( member_nat @ C @ ( inf_inf_set_nat @ A2 @ B2 ) )
     => ~ ( ( member_nat @ C @ A2 )
         => ~ ( member_nat @ C @ B2 ) ) ) ).

% IntE
thf(fact_744_IntD1,axiom,
    ! [C: a,A2: set_a,B2: set_a] :
      ( ( member_a @ C @ ( inf_inf_set_a @ A2 @ B2 ) )
     => ( member_a @ C @ A2 ) ) ).

% IntD1
thf(fact_745_IntD1,axiom,
    ! [C: nat,A2: set_nat,B2: set_nat] :
      ( ( member_nat @ C @ ( inf_inf_set_nat @ A2 @ B2 ) )
     => ( member_nat @ C @ A2 ) ) ).

% IntD1
thf(fact_746_IntD2,axiom,
    ! [C: a,A2: set_a,B2: set_a] :
      ( ( member_a @ C @ ( inf_inf_set_a @ A2 @ B2 ) )
     => ( member_a @ C @ B2 ) ) ).

% IntD2
thf(fact_747_IntD2,axiom,
    ! [C: nat,A2: set_nat,B2: set_nat] :
      ( ( member_nat @ C @ ( inf_inf_set_nat @ A2 @ B2 ) )
     => ( member_nat @ C @ B2 ) ) ).

% IntD2
thf(fact_748_bot__set__def,axiom,
    ( bot_bot_set_a
    = ( collect_a @ bot_bot_a_o ) ) ).

% bot_set_def
thf(fact_749_bot__set__def,axiom,
    ( bot_bot_set_nat
    = ( collect_nat @ bot_bot_nat_o ) ) ).

% bot_set_def
thf(fact_750_Int__emptyI,axiom,
    ! [A2: set_a,B2: set_a] :
      ( ! [X2: a] :
          ( ( member_a @ X2 @ A2 )
         => ~ ( member_a @ X2 @ B2 ) )
     => ( ( inf_inf_set_a @ A2 @ B2 )
        = bot_bot_set_a ) ) ).

% Int_emptyI
thf(fact_751_Int__emptyI,axiom,
    ! [A2: set_nat,B2: set_nat] :
      ( ! [X2: nat] :
          ( ( member_nat @ X2 @ A2 )
         => ~ ( member_nat @ X2 @ B2 ) )
     => ( ( inf_inf_set_nat @ A2 @ B2 )
        = bot_bot_set_nat ) ) ).

% Int_emptyI
thf(fact_752_disjoint__iff,axiom,
    ! [A2: set_a,B2: set_a] :
      ( ( ( inf_inf_set_a @ A2 @ B2 )
        = bot_bot_set_a )
      = ( ! [X3: a] :
            ( ( member_a @ X3 @ A2 )
           => ~ ( member_a @ X3 @ B2 ) ) ) ) ).

% disjoint_iff
thf(fact_753_disjoint__iff,axiom,
    ! [A2: set_nat,B2: set_nat] :
      ( ( ( inf_inf_set_nat @ A2 @ B2 )
        = bot_bot_set_nat )
      = ( ! [X3: nat] :
            ( ( member_nat @ X3 @ A2 )
           => ~ ( member_nat @ X3 @ B2 ) ) ) ) ).

% disjoint_iff
thf(fact_754_Int__mono,axiom,
    ! [A2: set_a,C4: set_a,B2: set_a,D: set_a] :
      ( ( ord_less_eq_set_a @ A2 @ C4 )
     => ( ( ord_less_eq_set_a @ B2 @ D )
       => ( ord_less_eq_set_a @ ( inf_inf_set_a @ A2 @ B2 ) @ ( inf_inf_set_a @ C4 @ D ) ) ) ) ).

% Int_mono
thf(fact_755_Int__lower1,axiom,
    ! [A2: set_a,B2: set_a] : ( ord_less_eq_set_a @ ( inf_inf_set_a @ A2 @ B2 ) @ A2 ) ).

% Int_lower1
thf(fact_756_Int__lower2,axiom,
    ! [A2: set_a,B2: set_a] : ( ord_less_eq_set_a @ ( inf_inf_set_a @ A2 @ B2 ) @ B2 ) ).

% Int_lower2
thf(fact_757_Int__absorb1,axiom,
    ! [B2: set_a,A2: set_a] :
      ( ( ord_less_eq_set_a @ B2 @ A2 )
     => ( ( inf_inf_set_a @ A2 @ B2 )
        = B2 ) ) ).

% Int_absorb1
thf(fact_758_Int__absorb2,axiom,
    ! [A2: set_a,B2: set_a] :
      ( ( ord_less_eq_set_a @ A2 @ B2 )
     => ( ( inf_inf_set_a @ A2 @ B2 )
        = A2 ) ) ).

% Int_absorb2
thf(fact_759_Int__greatest,axiom,
    ! [C4: set_a,A2: set_a,B2: set_a] :
      ( ( ord_less_eq_set_a @ C4 @ A2 )
     => ( ( ord_less_eq_set_a @ C4 @ B2 )
       => ( ord_less_eq_set_a @ C4 @ ( inf_inf_set_a @ A2 @ B2 ) ) ) ) ).

% Int_greatest
thf(fact_760_Int__Collect__mono,axiom,
    ! [A2: set_nat,B2: set_nat,P: nat > $o,Q: nat > $o] :
      ( ( ord_less_eq_set_nat @ A2 @ B2 )
     => ( ! [X2: nat] :
            ( ( member_nat @ X2 @ A2 )
           => ( ( P @ X2 )
             => ( Q @ X2 ) ) )
       => ( ord_less_eq_set_nat @ ( inf_inf_set_nat @ A2 @ ( collect_nat @ P ) ) @ ( inf_inf_set_nat @ B2 @ ( collect_nat @ Q ) ) ) ) ) ).

% Int_Collect_mono
thf(fact_761_Int__Collect__mono,axiom,
    ! [A2: set_a,B2: set_a,P: a > $o,Q: a > $o] :
      ( ( ord_less_eq_set_a @ A2 @ B2 )
     => ( ! [X2: a] :
            ( ( member_a @ X2 @ A2 )
           => ( ( P @ X2 )
             => ( Q @ X2 ) ) )
       => ( ord_less_eq_set_a @ ( inf_inf_set_a @ A2 @ ( collect_a @ P ) ) @ ( inf_inf_set_a @ B2 @ ( collect_a @ Q ) ) ) ) ) ).

% Int_Collect_mono
thf(fact_762_Int__insert__left,axiom,
    ! [A: a,C4: set_a,B2: set_a] :
      ( ( ( member_a @ A @ C4 )
       => ( ( inf_inf_set_a @ ( insert_a @ A @ B2 ) @ C4 )
          = ( insert_a @ A @ ( inf_inf_set_a @ B2 @ C4 ) ) ) )
      & ( ~ ( member_a @ A @ C4 )
       => ( ( inf_inf_set_a @ ( insert_a @ A @ B2 ) @ C4 )
          = ( inf_inf_set_a @ B2 @ C4 ) ) ) ) ).

% Int_insert_left
thf(fact_763_Int__insert__left,axiom,
    ! [A: nat,C4: set_nat,B2: set_nat] :
      ( ( ( member_nat @ A @ C4 )
       => ( ( inf_inf_set_nat @ ( insert_nat @ A @ B2 ) @ C4 )
          = ( insert_nat @ A @ ( inf_inf_set_nat @ B2 @ C4 ) ) ) )
      & ( ~ ( member_nat @ A @ C4 )
       => ( ( inf_inf_set_nat @ ( insert_nat @ A @ B2 ) @ C4 )
          = ( inf_inf_set_nat @ B2 @ C4 ) ) ) ) ).

% Int_insert_left
thf(fact_764_Int__insert__right,axiom,
    ! [A: a,A2: set_a,B2: set_a] :
      ( ( ( member_a @ A @ A2 )
       => ( ( inf_inf_set_a @ A2 @ ( insert_a @ A @ B2 ) )
          = ( insert_a @ A @ ( inf_inf_set_a @ A2 @ B2 ) ) ) )
      & ( ~ ( member_a @ A @ A2 )
       => ( ( inf_inf_set_a @ A2 @ ( insert_a @ A @ B2 ) )
          = ( inf_inf_set_a @ A2 @ B2 ) ) ) ) ).

% Int_insert_right
thf(fact_765_Int__insert__right,axiom,
    ! [A: nat,A2: set_nat,B2: set_nat] :
      ( ( ( member_nat @ A @ A2 )
       => ( ( inf_inf_set_nat @ A2 @ ( insert_nat @ A @ B2 ) )
          = ( insert_nat @ A @ ( inf_inf_set_nat @ A2 @ B2 ) ) ) )
      & ( ~ ( member_nat @ A @ A2 )
       => ( ( inf_inf_set_nat @ A2 @ ( insert_nat @ A @ B2 ) )
          = ( inf_inf_set_nat @ A2 @ B2 ) ) ) ) ).

% Int_insert_right
thf(fact_766_inj__on__Int,axiom,
    ! [F: nat > nat,A2: set_nat,B2: set_nat] :
      ( ( ( inj_on_nat_nat @ F @ A2 )
        | ( inj_on_nat_nat @ F @ B2 ) )
     => ( inj_on_nat_nat @ F @ ( inf_inf_set_nat @ A2 @ B2 ) ) ) ).

% inj_on_Int
thf(fact_767_minus__set__def,axiom,
    ( minus_minus_set_a
    = ( ^ [A6: set_a,B5: set_a] :
          ( collect_a
          @ ( minus_minus_a_o
            @ ^ [X3: a] : ( member_a @ X3 @ A6 )
            @ ^ [X3: a] : ( member_a @ X3 @ B5 ) ) ) ) ) ).

% minus_set_def
thf(fact_768_minus__set__def,axiom,
    ( minus_minus_set_nat
    = ( ^ [A6: set_nat,B5: set_nat] :
          ( collect_nat
          @ ( minus_minus_nat_o
            @ ^ [X3: nat] : ( member_nat @ X3 @ A6 )
            @ ^ [X3: nat] : ( member_nat @ X3 @ B5 ) ) ) ) ) ).

% minus_set_def
thf(fact_769_card__Diff__subset__Int,axiom,
    ! [A2: set_a,B2: set_a] :
      ( ( finite_finite_a @ ( inf_inf_set_a @ A2 @ B2 ) )
     => ( ( finite_card_a @ ( minus_minus_set_a @ A2 @ B2 ) )
        = ( minus_minus_nat @ ( finite_card_a @ A2 ) @ ( finite_card_a @ ( inf_inf_set_a @ A2 @ B2 ) ) ) ) ) ).

% card_Diff_subset_Int
thf(fact_770_card__Diff__subset__Int,axiom,
    ! [A2: set_nat,B2: set_nat] :
      ( ( finite_finite_nat @ ( inf_inf_set_nat @ A2 @ B2 ) )
     => ( ( finite_card_nat @ ( minus_minus_set_nat @ A2 @ B2 ) )
        = ( minus_minus_nat @ ( finite_card_nat @ A2 ) @ ( finite_card_nat @ ( inf_inf_set_nat @ A2 @ B2 ) ) ) ) ) ).

% card_Diff_subset_Int
thf(fact_771_less__eq__set__def,axiom,
    ( ord_less_eq_set_nat
    = ( ^ [A6: set_nat,B5: set_nat] :
          ( ord_less_eq_nat_o
          @ ^ [X3: nat] : ( member_nat @ X3 @ A6 )
          @ ^ [X3: nat] : ( member_nat @ X3 @ B5 ) ) ) ) ).

% less_eq_set_def
thf(fact_772_less__eq__set__def,axiom,
    ( ord_less_eq_set_a
    = ( ^ [A6: set_a,B5: set_a] :
          ( ord_less_eq_a_o
          @ ^ [X3: a] : ( member_a @ X3 @ A6 )
          @ ^ [X3: a] : ( member_a @ X3 @ B5 ) ) ) ) ).

% less_eq_set_def
thf(fact_773_diff__card__le__card__Diff,axiom,
    ! [B2: set_a,A2: set_a] :
      ( ( finite_finite_a @ B2 )
     => ( ord_less_eq_nat @ ( minus_minus_nat @ ( finite_card_a @ A2 ) @ ( finite_card_a @ B2 ) ) @ ( finite_card_a @ ( minus_minus_set_a @ A2 @ B2 ) ) ) ) ).

% diff_card_le_card_Diff
thf(fact_774_diff__card__le__card__Diff,axiom,
    ! [B2: set_nat,A2: set_nat] :
      ( ( finite_finite_nat @ B2 )
     => ( ord_less_eq_nat @ ( minus_minus_nat @ ( finite_card_nat @ A2 ) @ ( finite_card_nat @ B2 ) ) @ ( finite_card_nat @ ( minus_minus_set_nat @ A2 @ B2 ) ) ) ) ).

% diff_card_le_card_Diff
thf(fact_775_image__Int__subset,axiom,
    ! [F: a > a,A2: set_a,B2: set_a] : ( ord_less_eq_set_a @ ( image_a_a @ F @ ( inf_inf_set_a @ A2 @ B2 ) ) @ ( inf_inf_set_a @ ( image_a_a @ F @ A2 ) @ ( image_a_a @ F @ B2 ) ) ) ).

% image_Int_subset
thf(fact_776_card__insert__le,axiom,
    ! [A2: set_a,X: a] : ( ord_less_eq_nat @ ( finite_card_a @ A2 ) @ ( finite_card_a @ ( insert_a @ X @ A2 ) ) ) ).

% card_insert_le
thf(fact_777_inj__on__image__Int,axiom,
    ! [F: nat > nat,C4: set_nat,A2: set_nat,B2: set_nat] :
      ( ( inj_on_nat_nat @ F @ C4 )
     => ( ( ord_less_eq_set_nat @ A2 @ C4 )
       => ( ( ord_less_eq_set_nat @ B2 @ C4 )
         => ( ( image_nat_nat @ F @ ( inf_inf_set_nat @ A2 @ B2 ) )
            = ( inf_inf_set_nat @ ( image_nat_nat @ F @ A2 ) @ ( image_nat_nat @ F @ B2 ) ) ) ) ) ) ).

% inj_on_image_Int
thf(fact_778_inj__on__image__Int,axiom,
    ! [F: a > a,C4: set_a,A2: set_a,B2: set_a] :
      ( ( inj_on_a_a @ F @ C4 )
     => ( ( ord_less_eq_set_a @ A2 @ C4 )
       => ( ( ord_less_eq_set_a @ B2 @ C4 )
         => ( ( image_a_a @ F @ ( inf_inf_set_a @ A2 @ B2 ) )
            = ( inf_inf_set_a @ ( image_a_a @ F @ A2 ) @ ( image_a_a @ F @ B2 ) ) ) ) ) ) ).

% inj_on_image_Int
thf(fact_779_order__antisym__conv,axiom,
    ! [Y: set_a,X: set_a] :
      ( ( ord_less_eq_set_a @ Y @ X )
     => ( ( ord_less_eq_set_a @ X @ Y )
        = ( X = Y ) ) ) ).

% order_antisym_conv
thf(fact_780_order__antisym__conv,axiom,
    ! [Y: nat,X: nat] :
      ( ( ord_less_eq_nat @ Y @ X )
     => ( ( ord_less_eq_nat @ X @ Y )
        = ( X = Y ) ) ) ).

% order_antisym_conv
thf(fact_781_linorder__le__cases,axiom,
    ! [X: nat,Y: nat] :
      ( ~ ( ord_less_eq_nat @ X @ Y )
     => ( ord_less_eq_nat @ Y @ X ) ) ).

% linorder_le_cases
thf(fact_782_ord__le__eq__subst,axiom,
    ! [A: set_a,B: set_a,F: set_a > set_a,C: set_a] :
      ( ( ord_less_eq_set_a @ A @ B )
     => ( ( ( F @ B )
          = C )
       => ( ! [X2: set_a,Y5: set_a] :
              ( ( ord_less_eq_set_a @ X2 @ Y5 )
             => ( ord_less_eq_set_a @ ( F @ X2 ) @ ( F @ Y5 ) ) )
         => ( ord_less_eq_set_a @ ( F @ A ) @ C ) ) ) ) ).

% ord_le_eq_subst
thf(fact_783_ord__le__eq__subst,axiom,
    ! [A: set_a,B: set_a,F: set_a > nat,C: nat] :
      ( ( ord_less_eq_set_a @ A @ B )
     => ( ( ( F @ B )
          = C )
       => ( ! [X2: set_a,Y5: set_a] :
              ( ( ord_less_eq_set_a @ X2 @ Y5 )
             => ( ord_less_eq_nat @ ( F @ X2 ) @ ( F @ Y5 ) ) )
         => ( ord_less_eq_nat @ ( F @ A ) @ C ) ) ) ) ).

% ord_le_eq_subst
thf(fact_784_ord__le__eq__subst,axiom,
    ! [A: nat,B: nat,F: nat > set_a,C: set_a] :
      ( ( ord_less_eq_nat @ A @ B )
     => ( ( ( F @ B )
          = C )
       => ( ! [X2: nat,Y5: nat] :
              ( ( ord_less_eq_nat @ X2 @ Y5 )
             => ( ord_less_eq_set_a @ ( F @ X2 ) @ ( F @ Y5 ) ) )
         => ( ord_less_eq_set_a @ ( F @ A ) @ C ) ) ) ) ).

% ord_le_eq_subst
thf(fact_785_ord__le__eq__subst,axiom,
    ! [A: nat,B: nat,F: nat > nat,C: nat] :
      ( ( ord_less_eq_nat @ A @ B )
     => ( ( ( F @ B )
          = C )
       => ( ! [X2: nat,Y5: nat] :
              ( ( ord_less_eq_nat @ X2 @ Y5 )
             => ( ord_less_eq_nat @ ( F @ X2 ) @ ( F @ Y5 ) ) )
         => ( ord_less_eq_nat @ ( F @ A ) @ C ) ) ) ) ).

% ord_le_eq_subst
thf(fact_786_ord__eq__le__subst,axiom,
    ! [A: set_a,F: set_a > set_a,B: set_a,C: set_a] :
      ( ( A
        = ( F @ B ) )
     => ( ( ord_less_eq_set_a @ B @ C )
       => ( ! [X2: set_a,Y5: set_a] :
              ( ( ord_less_eq_set_a @ X2 @ Y5 )
             => ( ord_less_eq_set_a @ ( F @ X2 ) @ ( F @ Y5 ) ) )
         => ( ord_less_eq_set_a @ A @ ( F @ C ) ) ) ) ) ).

% ord_eq_le_subst
thf(fact_787_ord__eq__le__subst,axiom,
    ! [A: nat,F: set_a > nat,B: set_a,C: set_a] :
      ( ( A
        = ( F @ B ) )
     => ( ( ord_less_eq_set_a @ B @ C )
       => ( ! [X2: set_a,Y5: set_a] :
              ( ( ord_less_eq_set_a @ X2 @ Y5 )
             => ( ord_less_eq_nat @ ( F @ X2 ) @ ( F @ Y5 ) ) )
         => ( ord_less_eq_nat @ A @ ( F @ C ) ) ) ) ) ).

% ord_eq_le_subst
thf(fact_788_ord__eq__le__subst,axiom,
    ! [A: set_a,F: nat > set_a,B: nat,C: nat] :
      ( ( A
        = ( F @ B ) )
     => ( ( ord_less_eq_nat @ B @ C )
       => ( ! [X2: nat,Y5: nat] :
              ( ( ord_less_eq_nat @ X2 @ Y5 )
             => ( ord_less_eq_set_a @ ( F @ X2 ) @ ( F @ Y5 ) ) )
         => ( ord_less_eq_set_a @ A @ ( F @ C ) ) ) ) ) ).

% ord_eq_le_subst
thf(fact_789_ord__eq__le__subst,axiom,
    ! [A: nat,F: nat > nat,B: nat,C: nat] :
      ( ( A
        = ( F @ B ) )
     => ( ( ord_less_eq_nat @ B @ C )
       => ( ! [X2: nat,Y5: nat] :
              ( ( ord_less_eq_nat @ X2 @ Y5 )
             => ( ord_less_eq_nat @ ( F @ X2 ) @ ( F @ Y5 ) ) )
         => ( ord_less_eq_nat @ A @ ( F @ C ) ) ) ) ) ).

% ord_eq_le_subst
thf(fact_790_linorder__linear,axiom,
    ! [X: nat,Y: nat] :
      ( ( ord_less_eq_nat @ X @ Y )
      | ( ord_less_eq_nat @ Y @ X ) ) ).

% linorder_linear
thf(fact_791_order__eq__refl,axiom,
    ! [X: set_a,Y: set_a] :
      ( ( X = Y )
     => ( ord_less_eq_set_a @ X @ Y ) ) ).

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

% order_eq_refl
thf(fact_793_order__subst2,axiom,
    ! [A: set_a,B: set_a,F: set_a > set_a,C: set_a] :
      ( ( ord_less_eq_set_a @ A @ B )
     => ( ( ord_less_eq_set_a @ ( F @ B ) @ C )
       => ( ! [X2: set_a,Y5: set_a] :
              ( ( ord_less_eq_set_a @ X2 @ Y5 )
             => ( ord_less_eq_set_a @ ( F @ X2 ) @ ( F @ Y5 ) ) )
         => ( ord_less_eq_set_a @ ( F @ A ) @ C ) ) ) ) ).

% order_subst2
thf(fact_794_order__subst2,axiom,
    ! [A: set_a,B: set_a,F: set_a > nat,C: nat] :
      ( ( ord_less_eq_set_a @ A @ B )
     => ( ( ord_less_eq_nat @ ( F @ B ) @ C )
       => ( ! [X2: set_a,Y5: set_a] :
              ( ( ord_less_eq_set_a @ X2 @ Y5 )
             => ( ord_less_eq_nat @ ( F @ X2 ) @ ( F @ Y5 ) ) )
         => ( ord_less_eq_nat @ ( F @ A ) @ C ) ) ) ) ).

% order_subst2
thf(fact_795_order__subst2,axiom,
    ! [A: nat,B: nat,F: nat > set_a,C: set_a] :
      ( ( ord_less_eq_nat @ A @ B )
     => ( ( ord_less_eq_set_a @ ( F @ B ) @ C )
       => ( ! [X2: nat,Y5: nat] :
              ( ( ord_less_eq_nat @ X2 @ Y5 )
             => ( ord_less_eq_set_a @ ( F @ X2 ) @ ( F @ Y5 ) ) )
         => ( ord_less_eq_set_a @ ( F @ A ) @ C ) ) ) ) ).

% order_subst2
thf(fact_796_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 )
       => ( ! [X2: nat,Y5: nat] :
              ( ( ord_less_eq_nat @ X2 @ Y5 )
             => ( ord_less_eq_nat @ ( F @ X2 ) @ ( F @ Y5 ) ) )
         => ( ord_less_eq_nat @ ( F @ A ) @ C ) ) ) ) ).

% order_subst2
thf(fact_797_order__subst1,axiom,
    ! [A: set_a,F: set_a > set_a,B: set_a,C: set_a] :
      ( ( ord_less_eq_set_a @ A @ ( F @ B ) )
     => ( ( ord_less_eq_set_a @ B @ C )
       => ( ! [X2: set_a,Y5: set_a] :
              ( ( ord_less_eq_set_a @ X2 @ Y5 )
             => ( ord_less_eq_set_a @ ( F @ X2 ) @ ( F @ Y5 ) ) )
         => ( ord_less_eq_set_a @ A @ ( F @ C ) ) ) ) ) ).

% order_subst1
thf(fact_798_order__subst1,axiom,
    ! [A: set_a,F: nat > set_a,B: nat,C: nat] :
      ( ( ord_less_eq_set_a @ A @ ( F @ B ) )
     => ( ( ord_less_eq_nat @ B @ C )
       => ( ! [X2: nat,Y5: nat] :
              ( ( ord_less_eq_nat @ X2 @ Y5 )
             => ( ord_less_eq_set_a @ ( F @ X2 ) @ ( F @ Y5 ) ) )
         => ( ord_less_eq_set_a @ A @ ( F @ C ) ) ) ) ) ).

% order_subst1
thf(fact_799_order__subst1,axiom,
    ! [A: nat,F: set_a > nat,B: set_a,C: set_a] :
      ( ( ord_less_eq_nat @ A @ ( F @ B ) )
     => ( ( ord_less_eq_set_a @ B @ C )
       => ( ! [X2: set_a,Y5: set_a] :
              ( ( ord_less_eq_set_a @ X2 @ Y5 )
             => ( ord_less_eq_nat @ ( F @ X2 ) @ ( F @ Y5 ) ) )
         => ( ord_less_eq_nat @ A @ ( F @ C ) ) ) ) ) ).

% order_subst1
thf(fact_800_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 )
       => ( ! [X2: nat,Y5: nat] :
              ( ( ord_less_eq_nat @ X2 @ Y5 )
             => ( ord_less_eq_nat @ ( F @ X2 ) @ ( F @ Y5 ) ) )
         => ( ord_less_eq_nat @ A @ ( F @ C ) ) ) ) ) ).

% order_subst1
thf(fact_801_Orderings_Oorder__eq__iff,axiom,
    ( ( ^ [Y4: set_a,Z2: set_a] : ( Y4 = Z2 ) )
    = ( ^ [A4: set_a,B4: set_a] :
          ( ( ord_less_eq_set_a @ A4 @ B4 )
          & ( ord_less_eq_set_a @ B4 @ A4 ) ) ) ) ).

% Orderings.order_eq_iff
thf(fact_802_Orderings_Oorder__eq__iff,axiom,
    ( ( ^ [Y4: nat,Z2: nat] : ( Y4 = Z2 ) )
    = ( ^ [A4: nat,B4: nat] :
          ( ( ord_less_eq_nat @ A4 @ B4 )
          & ( ord_less_eq_nat @ B4 @ A4 ) ) ) ) ).

% Orderings.order_eq_iff
thf(fact_803_antisym,axiom,
    ! [A: set_a,B: set_a] :
      ( ( ord_less_eq_set_a @ A @ B )
     => ( ( ord_less_eq_set_a @ B @ A )
       => ( A = B ) ) ) ).

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

% antisym
thf(fact_805_dual__order_Otrans,axiom,
    ! [B: set_a,A: set_a,C: set_a] :
      ( ( ord_less_eq_set_a @ B @ A )
     => ( ( ord_less_eq_set_a @ C @ B )
       => ( ord_less_eq_set_a @ C @ A ) ) ) ).

% dual_order.trans
thf(fact_806_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_807_dual__order_Oantisym,axiom,
    ! [B: set_a,A: set_a] :
      ( ( ord_less_eq_set_a @ B @ A )
     => ( ( ord_less_eq_set_a @ A @ B )
       => ( A = B ) ) ) ).

% dual_order.antisym
thf(fact_808_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_809_dual__order_Oeq__iff,axiom,
    ( ( ^ [Y4: set_a,Z2: set_a] : ( Y4 = Z2 ) )
    = ( ^ [A4: set_a,B4: set_a] :
          ( ( ord_less_eq_set_a @ B4 @ A4 )
          & ( ord_less_eq_set_a @ A4 @ B4 ) ) ) ) ).

% dual_order.eq_iff
thf(fact_810_dual__order_Oeq__iff,axiom,
    ( ( ^ [Y4: nat,Z2: nat] : ( Y4 = Z2 ) )
    = ( ^ [A4: nat,B4: nat] :
          ( ( ord_less_eq_nat @ B4 @ A4 )
          & ( ord_less_eq_nat @ A4 @ B4 ) ) ) ) ).

% dual_order.eq_iff
thf(fact_811_linorder__wlog,axiom,
    ! [P: nat > nat > $o,A: nat,B: nat] :
      ( ! [A3: nat,B3: nat] :
          ( ( ord_less_eq_nat @ A3 @ B3 )
         => ( P @ A3 @ B3 ) )
     => ( ! [A3: nat,B3: nat] :
            ( ( P @ B3 @ A3 )
           => ( P @ A3 @ B3 ) )
       => ( P @ A @ B ) ) ) ).

% linorder_wlog
thf(fact_812_order__trans,axiom,
    ! [X: set_a,Y: set_a,Z: set_a] :
      ( ( ord_less_eq_set_a @ X @ Y )
     => ( ( ord_less_eq_set_a @ Y @ Z )
       => ( ord_less_eq_set_a @ X @ Z ) ) ) ).

% order_trans
thf(fact_813_order__trans,axiom,
    ! [X: nat,Y: nat,Z: nat] :
      ( ( ord_less_eq_nat @ X @ Y )
     => ( ( ord_less_eq_nat @ Y @ Z )
       => ( ord_less_eq_nat @ X @ Z ) ) ) ).

% order_trans
thf(fact_814_order_Otrans,axiom,
    ! [A: set_a,B: set_a,C: set_a] :
      ( ( ord_less_eq_set_a @ A @ B )
     => ( ( ord_less_eq_set_a @ B @ C )
       => ( ord_less_eq_set_a @ A @ C ) ) ) ).

% order.trans
thf(fact_815_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_816_order__antisym,axiom,
    ! [X: set_a,Y: set_a] :
      ( ( ord_less_eq_set_a @ X @ Y )
     => ( ( ord_less_eq_set_a @ Y @ X )
       => ( X = Y ) ) ) ).

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

% order_antisym
thf(fact_818_ord__le__eq__trans,axiom,
    ! [A: set_a,B: set_a,C: set_a] :
      ( ( ord_less_eq_set_a @ A @ B )
     => ( ( B = C )
       => ( ord_less_eq_set_a @ A @ C ) ) ) ).

% ord_le_eq_trans
thf(fact_819_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_820_ord__eq__le__trans,axiom,
    ! [A: set_a,B: set_a,C: set_a] :
      ( ( A = B )
     => ( ( ord_less_eq_set_a @ B @ C )
       => ( ord_less_eq_set_a @ A @ C ) ) ) ).

% ord_eq_le_trans
thf(fact_821_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_822_order__class_Oorder__eq__iff,axiom,
    ( ( ^ [Y4: set_a,Z2: set_a] : ( Y4 = Z2 ) )
    = ( ^ [X3: set_a,Y3: set_a] :
          ( ( ord_less_eq_set_a @ X3 @ Y3 )
          & ( ord_less_eq_set_a @ Y3 @ X3 ) ) ) ) ).

% order_class.order_eq_iff
thf(fact_823_order__class_Oorder__eq__iff,axiom,
    ( ( ^ [Y4: nat,Z2: nat] : ( Y4 = Z2 ) )
    = ( ^ [X3: nat,Y3: nat] :
          ( ( ord_less_eq_nat @ X3 @ Y3 )
          & ( ord_less_eq_nat @ Y3 @ X3 ) ) ) ) ).

% order_class.order_eq_iff
thf(fact_824_le__cases3,axiom,
    ! [X: nat,Y: nat,Z: nat] :
      ( ( ( ord_less_eq_nat @ X @ Y )
       => ~ ( ord_less_eq_nat @ Y @ Z ) )
     => ( ( ( ord_less_eq_nat @ Y @ X )
         => ~ ( ord_less_eq_nat @ X @ Z ) )
       => ( ( ( ord_less_eq_nat @ X @ Z )
           => ~ ( ord_less_eq_nat @ Z @ Y ) )
         => ( ( ( ord_less_eq_nat @ Z @ Y )
             => ~ ( ord_less_eq_nat @ Y @ X ) )
           => ( ( ( ord_less_eq_nat @ Y @ Z )
               => ~ ( ord_less_eq_nat @ Z @ X ) )
             => ~ ( ( ord_less_eq_nat @ Z @ X )
                 => ~ ( ord_less_eq_nat @ X @ Y ) ) ) ) ) ) ) ).

% le_cases3
thf(fact_825_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_826_card__image__le,axiom,
    ! [A2: set_a,F: a > a] :
      ( ( finite_finite_a @ A2 )
     => ( ord_less_eq_nat @ ( finite_card_a @ ( image_a_a @ F @ A2 ) ) @ ( finite_card_a @ A2 ) ) ) ).

% card_image_le
thf(fact_827_card__image__le,axiom,
    ! [A2: set_nat,F: nat > a] :
      ( ( finite_finite_nat @ A2 )
     => ( ord_less_eq_nat @ ( finite_card_a @ ( image_nat_a @ F @ A2 ) ) @ ( finite_card_nat @ A2 ) ) ) ).

% card_image_le
thf(fact_828_finite__if__finite__subsets__card__bdd,axiom,
    ! [F2: set_nat,C4: nat] :
      ( ! [G6: set_nat] :
          ( ( ord_less_eq_set_nat @ G6 @ F2 )
         => ( ( finite_finite_nat @ G6 )
           => ( ord_less_eq_nat @ ( finite_card_nat @ G6 ) @ C4 ) ) )
     => ( ( finite_finite_nat @ F2 )
        & ( ord_less_eq_nat @ ( finite_card_nat @ F2 ) @ C4 ) ) ) ).

% finite_if_finite_subsets_card_bdd
thf(fact_829_finite__if__finite__subsets__card__bdd,axiom,
    ! [F2: set_a,C4: nat] :
      ( ! [G6: set_a] :
          ( ( ord_less_eq_set_a @ G6 @ F2 )
         => ( ( finite_finite_a @ G6 )
           => ( ord_less_eq_nat @ ( finite_card_a @ G6 ) @ C4 ) ) )
     => ( ( finite_finite_a @ F2 )
        & ( ord_less_eq_nat @ ( finite_card_a @ F2 ) @ C4 ) ) ) ).

% finite_if_finite_subsets_card_bdd
thf(fact_830_obtain__subset__with__card__n,axiom,
    ! [N2: nat,S: set_nat] :
      ( ( ord_less_eq_nat @ N2 @ ( finite_card_nat @ S ) )
     => ~ ! [T3: set_nat] :
            ( ( ord_less_eq_set_nat @ T3 @ S )
           => ( ( ( finite_card_nat @ T3 )
                = N2 )
             => ~ ( finite_finite_nat @ T3 ) ) ) ) ).

% obtain_subset_with_card_n
thf(fact_831_obtain__subset__with__card__n,axiom,
    ! [N2: nat,S: set_a] :
      ( ( ord_less_eq_nat @ N2 @ ( finite_card_a @ S ) )
     => ~ ! [T3: set_a] :
            ( ( ord_less_eq_set_a @ T3 @ S )
           => ( ( ( finite_card_a @ T3 )
                = N2 )
             => ~ ( finite_finite_a @ T3 ) ) ) ) ).

% obtain_subset_with_card_n
thf(fact_832_exists__subset__between,axiom,
    ! [A2: set_nat,N2: nat,C4: set_nat] :
      ( ( ord_less_eq_nat @ ( finite_card_nat @ A2 ) @ N2 )
     => ( ( ord_less_eq_nat @ N2 @ ( finite_card_nat @ C4 ) )
       => ( ( ord_less_eq_set_nat @ A2 @ C4 )
         => ( ( finite_finite_nat @ C4 )
           => ? [B6: set_nat] :
                ( ( ord_less_eq_set_nat @ A2 @ B6 )
                & ( ord_less_eq_set_nat @ B6 @ C4 )
                & ( ( finite_card_nat @ B6 )
                  = N2 ) ) ) ) ) ) ).

% exists_subset_between
thf(fact_833_exists__subset__between,axiom,
    ! [A2: set_a,N2: nat,C4: set_a] :
      ( ( ord_less_eq_nat @ ( finite_card_a @ A2 ) @ N2 )
     => ( ( ord_less_eq_nat @ N2 @ ( finite_card_a @ C4 ) )
       => ( ( ord_less_eq_set_a @ A2 @ C4 )
         => ( ( finite_finite_a @ C4 )
           => ? [B6: set_a] :
                ( ( ord_less_eq_set_a @ A2 @ B6 )
                & ( ord_less_eq_set_a @ B6 @ C4 )
                & ( ( finite_card_a @ B6 )
                  = N2 ) ) ) ) ) ) ).

% exists_subset_between
thf(fact_834_card__seteq,axiom,
    ! [B2: set_nat,A2: set_nat] :
      ( ( finite_finite_nat @ B2 )
     => ( ( ord_less_eq_set_nat @ A2 @ B2 )
       => ( ( ord_less_eq_nat @ ( finite_card_nat @ B2 ) @ ( finite_card_nat @ A2 ) )
         => ( A2 = B2 ) ) ) ) ).

% card_seteq
thf(fact_835_card__seteq,axiom,
    ! [B2: set_a,A2: set_a] :
      ( ( finite_finite_a @ B2 )
     => ( ( ord_less_eq_set_a @ A2 @ B2 )
       => ( ( ord_less_eq_nat @ ( finite_card_a @ B2 ) @ ( finite_card_a @ A2 ) )
         => ( A2 = B2 ) ) ) ) ).

% card_seteq
thf(fact_836_card__mono,axiom,
    ! [B2: set_nat,A2: set_nat] :
      ( ( finite_finite_nat @ B2 )
     => ( ( ord_less_eq_set_nat @ A2 @ B2 )
       => ( ord_less_eq_nat @ ( finite_card_nat @ A2 ) @ ( finite_card_nat @ B2 ) ) ) ) ).

% card_mono
thf(fact_837_card__mono,axiom,
    ! [B2: set_a,A2: set_a] :
      ( ( finite_finite_a @ B2 )
     => ( ( ord_less_eq_set_a @ A2 @ B2 )
       => ( ord_less_eq_nat @ ( finite_card_a @ A2 ) @ ( finite_card_a @ B2 ) ) ) ) ).

% card_mono
thf(fact_838_card__le__sym__Diff,axiom,
    ! [A2: set_a,B2: set_a] :
      ( ( finite_finite_a @ A2 )
     => ( ( finite_finite_a @ B2 )
       => ( ( ord_less_eq_nat @ ( finite_card_a @ A2 ) @ ( finite_card_a @ B2 ) )
         => ( ord_less_eq_nat @ ( finite_card_a @ ( minus_minus_set_a @ A2 @ B2 ) ) @ ( finite_card_a @ ( minus_minus_set_a @ B2 @ A2 ) ) ) ) ) ) ).

% card_le_sym_Diff
thf(fact_839_card__le__sym__Diff,axiom,
    ! [A2: set_nat,B2: set_nat] :
      ( ( finite_finite_nat @ A2 )
     => ( ( finite_finite_nat @ B2 )
       => ( ( ord_less_eq_nat @ ( finite_card_nat @ A2 ) @ ( finite_card_nat @ B2 ) )
         => ( ord_less_eq_nat @ ( finite_card_nat @ ( minus_minus_set_nat @ A2 @ B2 ) ) @ ( finite_card_nat @ ( minus_minus_set_nat @ B2 @ A2 ) ) ) ) ) ) ).

% card_le_sym_Diff
thf(fact_840_card__Diff__subset,axiom,
    ! [B2: set_nat,A2: set_nat] :
      ( ( finite_finite_nat @ B2 )
     => ( ( ord_less_eq_set_nat @ B2 @ A2 )
       => ( ( finite_card_nat @ ( minus_minus_set_nat @ A2 @ B2 ) )
          = ( minus_minus_nat @ ( finite_card_nat @ A2 ) @ ( finite_card_nat @ B2 ) ) ) ) ) ).

% card_Diff_subset
thf(fact_841_card__Diff__subset,axiom,
    ! [B2: set_a,A2: set_a] :
      ( ( finite_finite_a @ B2 )
     => ( ( ord_less_eq_set_a @ B2 @ A2 )
       => ( ( finite_card_a @ ( minus_minus_set_a @ A2 @ B2 ) )
          = ( minus_minus_nat @ ( finite_card_a @ A2 ) @ ( finite_card_a @ B2 ) ) ) ) ) ).

% card_Diff_subset
thf(fact_842_surj__card__le,axiom,
    ! [A2: set_a,B2: set_a,F: a > a] :
      ( ( finite_finite_a @ A2 )
     => ( ( ord_less_eq_set_a @ B2 @ ( image_a_a @ F @ A2 ) )
       => ( ord_less_eq_nat @ ( finite_card_a @ B2 ) @ ( finite_card_a @ A2 ) ) ) ) ).

% surj_card_le
thf(fact_843_surj__card__le,axiom,
    ! [A2: set_nat,B2: set_a,F: nat > a] :
      ( ( finite_finite_nat @ A2 )
     => ( ( ord_less_eq_set_a @ B2 @ ( image_nat_a @ F @ A2 ) )
       => ( ord_less_eq_nat @ ( finite_card_a @ B2 ) @ ( finite_card_nat @ A2 ) ) ) ) ).

% surj_card_le
thf(fact_844_card__Diff1__le,axiom,
    ! [A2: set_a,X: a] : ( ord_less_eq_nat @ ( finite_card_a @ ( minus_minus_set_a @ A2 @ ( insert_a @ X @ bot_bot_set_a ) ) ) @ ( finite_card_a @ A2 ) ) ).

% card_Diff1_le
thf(fact_845_card__inj,axiom,
    ! [F: a > a,A2: set_a,B2: set_a] :
      ( ( member_a_a @ F
        @ ( pi_a_a @ A2
          @ ^ [Uu: a] : B2 ) )
     => ( ( inj_on_a_a @ F @ A2 )
       => ( ( finite_finite_a @ B2 )
         => ( ord_less_eq_nat @ ( finite_card_a @ A2 ) @ ( finite_card_a @ B2 ) ) ) ) ) ).

% card_inj
thf(fact_846_card__inj,axiom,
    ! [F: nat > nat,A2: set_nat,B2: set_nat] :
      ( ( member_nat_nat @ F
        @ ( pi_nat_nat @ A2
          @ ^ [Uu: nat] : B2 ) )
     => ( ( inj_on_nat_nat @ F @ A2 )
       => ( ( finite_finite_nat @ B2 )
         => ( ord_less_eq_nat @ ( finite_card_nat @ A2 ) @ ( finite_card_nat @ B2 ) ) ) ) ) ).

% card_inj
thf(fact_847_card__inj,axiom,
    ! [F: a > nat,A2: set_a,B2: set_nat] :
      ( ( member_a_nat @ F
        @ ( pi_a_nat @ A2
          @ ^ [Uu: a] : B2 ) )
     => ( ( inj_on_a_nat @ F @ A2 )
       => ( ( finite_finite_nat @ B2 )
         => ( ord_less_eq_nat @ ( finite_card_a @ A2 ) @ ( finite_card_nat @ B2 ) ) ) ) ) ).

% card_inj
thf(fact_848_the__elem__image__unique,axiom,
    ! [A2: set_a,F: a > a,X: a] :
      ( ( A2 != bot_bot_set_a )
     => ( ! [Y5: a] :
            ( ( member_a @ Y5 @ A2 )
           => ( ( F @ Y5 )
              = ( F @ X ) ) )
       => ( ( the_elem_a @ ( image_a_a @ F @ A2 ) )
          = ( F @ X ) ) ) ) ).

% the_elem_image_unique
thf(fact_849_card__le__inj,axiom,
    ! [A2: set_a,B2: set_nat] :
      ( ( finite_finite_a @ A2 )
     => ( ( finite_finite_nat @ B2 )
       => ( ( ord_less_eq_nat @ ( finite_card_a @ A2 ) @ ( finite_card_nat @ B2 ) )
         => ? [F5: a > nat] :
              ( ( ord_less_eq_set_nat @ ( image_a_nat @ F5 @ A2 ) @ B2 )
              & ( inj_on_a_nat @ F5 @ A2 ) ) ) ) ) ).

% card_le_inj
thf(fact_850_card__le__inj,axiom,
    ! [A2: set_nat,B2: set_nat] :
      ( ( finite_finite_nat @ A2 )
     => ( ( finite_finite_nat @ B2 )
       => ( ( ord_less_eq_nat @ ( finite_card_nat @ A2 ) @ ( finite_card_nat @ B2 ) )
         => ? [F5: nat > nat] :
              ( ( ord_less_eq_set_nat @ ( image_nat_nat @ F5 @ A2 ) @ B2 )
              & ( inj_on_nat_nat @ F5 @ A2 ) ) ) ) ) ).

% card_le_inj
thf(fact_851_card__le__inj,axiom,
    ! [A2: set_a,B2: set_a] :
      ( ( finite_finite_a @ A2 )
     => ( ( finite_finite_a @ B2 )
       => ( ( ord_less_eq_nat @ ( finite_card_a @ A2 ) @ ( finite_card_a @ B2 ) )
         => ? [F5: a > a] :
              ( ( ord_less_eq_set_a @ ( image_a_a @ F5 @ A2 ) @ B2 )
              & ( inj_on_a_a @ F5 @ A2 ) ) ) ) ) ).

% card_le_inj
thf(fact_852_card__le__inj,axiom,
    ! [A2: set_nat,B2: set_a] :
      ( ( finite_finite_nat @ A2 )
     => ( ( finite_finite_a @ B2 )
       => ( ( ord_less_eq_nat @ ( finite_card_nat @ A2 ) @ ( finite_card_a @ B2 ) )
         => ? [F5: nat > a] :
              ( ( ord_less_eq_set_a @ ( image_nat_a @ F5 @ A2 ) @ B2 )
              & ( inj_on_nat_a @ F5 @ A2 ) ) ) ) ) ).

% card_le_inj
thf(fact_853_card__inj__on__le,axiom,
    ! [F: nat > nat,A2: set_nat,B2: set_nat] :
      ( ( inj_on_nat_nat @ F @ A2 )
     => ( ( ord_less_eq_set_nat @ ( image_nat_nat @ F @ A2 ) @ B2 )
       => ( ( finite_finite_nat @ B2 )
         => ( ord_less_eq_nat @ ( finite_card_nat @ A2 ) @ ( finite_card_nat @ B2 ) ) ) ) ) ).

% card_inj_on_le
thf(fact_854_card__inj__on__le,axiom,
    ! [F: a > nat,A2: set_a,B2: set_nat] :
      ( ( inj_on_a_nat @ F @ A2 )
     => ( ( ord_less_eq_set_nat @ ( image_a_nat @ F @ A2 ) @ B2 )
       => ( ( finite_finite_nat @ B2 )
         => ( ord_less_eq_nat @ ( finite_card_a @ A2 ) @ ( finite_card_nat @ B2 ) ) ) ) ) ).

% card_inj_on_le
thf(fact_855_card__inj__on__le,axiom,
    ! [F: a > a,A2: set_a,B2: set_a] :
      ( ( inj_on_a_a @ F @ A2 )
     => ( ( ord_less_eq_set_a @ ( image_a_a @ F @ A2 ) @ B2 )
       => ( ( finite_finite_a @ B2 )
         => ( ord_less_eq_nat @ ( finite_card_a @ A2 ) @ ( finite_card_a @ B2 ) ) ) ) ) ).

% card_inj_on_le
thf(fact_856_inj__on__iff__card__le,axiom,
    ! [A2: set_a,B2: set_nat] :
      ( ( finite_finite_a @ A2 )
     => ( ( finite_finite_nat @ B2 )
       => ( ( ? [F4: a > nat] :
                ( ( inj_on_a_nat @ F4 @ A2 )
                & ( ord_less_eq_set_nat @ ( image_a_nat @ F4 @ A2 ) @ B2 ) ) )
          = ( ord_less_eq_nat @ ( finite_card_a @ A2 ) @ ( finite_card_nat @ B2 ) ) ) ) ) ).

% inj_on_iff_card_le
thf(fact_857_inj__on__iff__card__le,axiom,
    ! [A2: set_nat,B2: set_nat] :
      ( ( finite_finite_nat @ A2 )
     => ( ( finite_finite_nat @ B2 )
       => ( ( ? [F4: nat > nat] :
                ( ( inj_on_nat_nat @ F4 @ A2 )
                & ( ord_less_eq_set_nat @ ( image_nat_nat @ F4 @ A2 ) @ B2 ) ) )
          = ( ord_less_eq_nat @ ( finite_card_nat @ A2 ) @ ( finite_card_nat @ B2 ) ) ) ) ) ).

% inj_on_iff_card_le
thf(fact_858_inj__on__iff__card__le,axiom,
    ! [A2: set_a,B2: set_a] :
      ( ( finite_finite_a @ A2 )
     => ( ( finite_finite_a @ B2 )
       => ( ( ? [F4: a > a] :
                ( ( inj_on_a_a @ F4 @ A2 )
                & ( ord_less_eq_set_a @ ( image_a_a @ F4 @ A2 ) @ B2 ) ) )
          = ( ord_less_eq_nat @ ( finite_card_a @ A2 ) @ ( finite_card_a @ B2 ) ) ) ) ) ).

% inj_on_iff_card_le
thf(fact_859_inj__on__iff__card__le,axiom,
    ! [A2: set_nat,B2: set_a] :
      ( ( finite_finite_nat @ A2 )
     => ( ( finite_finite_a @ B2 )
       => ( ( ? [F4: nat > a] :
                ( ( inj_on_nat_a @ F4 @ A2 )
                & ( ord_less_eq_set_a @ ( image_nat_a @ F4 @ A2 ) @ B2 ) ) )
          = ( ord_less_eq_nat @ ( finite_card_nat @ A2 ) @ ( finite_card_a @ B2 ) ) ) ) ) ).

% inj_on_iff_card_le
thf(fact_860_commutative__monoid_Ofincomp__mono__neutral__cong,axiom,
    ! [M: set_a,Composition: a > a > a,Unit: a,B2: set_a,A2: set_a,H2: a > a,G: a > a] :
      ( ( group_4866109990395492029noid_a @ M @ Composition @ Unit )
     => ( ( finite_finite_a @ B2 )
       => ( ( finite_finite_a @ A2 )
         => ( ! [I2: a] :
                ( ( member_a @ I2 @ ( minus_minus_set_a @ B2 @ A2 ) )
               => ( ( H2 @ I2 )
                  = Unit ) )
           => ( ! [I2: a] :
                  ( ( member_a @ I2 @ ( minus_minus_set_a @ A2 @ B2 ) )
                 => ( ( G @ I2 )
                    = Unit ) )
             => ( ! [X2: a] :
                    ( ( member_a @ X2 @ ( inf_inf_set_a @ A2 @ B2 ) )
                   => ( ( G @ X2 )
                      = ( H2 @ X2 ) ) )
               => ( ( member_a_a @ G
                    @ ( pi_a_a @ A2
                      @ ^ [Uu: a] : M ) )
                 => ( ( member_a_a @ H2
                      @ ( pi_a_a @ B2
                        @ ^ [Uu: a] : M ) )
                   => ( ( commut5005951359559292710mp_a_a @ M @ Composition @ Unit @ G @ A2 )
                      = ( commut5005951359559292710mp_a_a @ M @ Composition @ Unit @ H2 @ B2 ) ) ) ) ) ) ) ) ) ) ).

% commutative_monoid.fincomp_mono_neutral_cong
thf(fact_861_commutative__monoid_Ofincomp__mono__neutral__cong,axiom,
    ! [M: set_a,Composition: a > a > a,Unit: a,B2: set_nat,A2: set_nat,H2: nat > a,G: nat > a] :
      ( ( group_4866109990395492029noid_a @ M @ Composition @ Unit )
     => ( ( finite_finite_nat @ B2 )
       => ( ( finite_finite_nat @ A2 )
         => ( ! [I2: nat] :
                ( ( member_nat @ I2 @ ( minus_minus_set_nat @ B2 @ A2 ) )
               => ( ( H2 @ I2 )
                  = Unit ) )
           => ( ! [I2: nat] :
                  ( ( member_nat @ I2 @ ( minus_minus_set_nat @ A2 @ B2 ) )
                 => ( ( G @ I2 )
                    = Unit ) )
             => ( ! [X2: nat] :
                    ( ( member_nat @ X2 @ ( inf_inf_set_nat @ A2 @ B2 ) )
                   => ( ( G @ X2 )
                      = ( H2 @ X2 ) ) )
               => ( ( member_nat_a @ G
                    @ ( pi_nat_a @ A2
                      @ ^ [Uu: nat] : M ) )
                 => ( ( member_nat_a @ H2
                      @ ( pi_nat_a @ B2
                        @ ^ [Uu: nat] : M ) )
                   => ( ( commut6741328216151336360_a_nat @ M @ Composition @ Unit @ G @ A2 )
                      = ( commut6741328216151336360_a_nat @ M @ Composition @ Unit @ H2 @ B2 ) ) ) ) ) ) ) ) ) ) ).

% commutative_monoid.fincomp_mono_neutral_cong
thf(fact_862_bot_Oextremum__uniqueI,axiom,
    ! [A: set_a] :
      ( ( ord_less_eq_set_a @ A @ bot_bot_set_a )
     => ( A = bot_bot_set_a ) ) ).

% bot.extremum_uniqueI
thf(fact_863_bot_Oextremum__uniqueI,axiom,
    ! [A: nat] :
      ( ( ord_less_eq_nat @ A @ bot_bot_nat )
     => ( A = bot_bot_nat ) ) ).

% bot.extremum_uniqueI
thf(fact_864_bot_Oextremum__unique,axiom,
    ! [A: set_a] :
      ( ( ord_less_eq_set_a @ A @ bot_bot_set_a )
      = ( A = bot_bot_set_a ) ) ).

% bot.extremum_unique
thf(fact_865_bot_Oextremum__unique,axiom,
    ! [A: nat] :
      ( ( ord_less_eq_nat @ A @ bot_bot_nat )
      = ( A = bot_bot_nat ) ) ).

% bot.extremum_unique
thf(fact_866_bot_Oextremum,axiom,
    ! [A: set_a] : ( ord_less_eq_set_a @ bot_bot_set_a @ A ) ).

% bot.extremum
thf(fact_867_bot_Oextremum,axiom,
    ! [A: nat] : ( ord_less_eq_nat @ bot_bot_nat @ A ) ).

% bot.extremum
thf(fact_868_fincomp__Un__disjoint,axiom,
    ! [A2: set_a,B2: set_a,G: a > a] :
      ( ( finite_finite_a @ A2 )
     => ( ( finite_finite_a @ B2 )
       => ( ( ( inf_inf_set_a @ A2 @ B2 )
            = bot_bot_set_a )
         => ( ( member_a_a @ G
              @ ( pi_a_a @ A2
                @ ^ [Uu: a] : g ) )
           => ( ( member_a_a @ G
                @ ( pi_a_a @ B2
                  @ ^ [Uu: a] : g ) )
             => ( ( commut5005951359559292710mp_a_a @ g @ composition @ unit @ G @ ( sup_sup_set_a @ A2 @ B2 ) )
                = ( composition @ ( commut5005951359559292710mp_a_a @ g @ composition @ unit @ G @ A2 ) @ ( commut5005951359559292710mp_a_a @ g @ composition @ unit @ G @ B2 ) ) ) ) ) ) ) ) ).

% fincomp_Un_disjoint
thf(fact_869_fincomp__Un__disjoint,axiom,
    ! [A2: set_nat,B2: set_nat,G: nat > a] :
      ( ( finite_finite_nat @ A2 )
     => ( ( finite_finite_nat @ B2 )
       => ( ( ( inf_inf_set_nat @ A2 @ B2 )
            = bot_bot_set_nat )
         => ( ( member_nat_a @ G
              @ ( pi_nat_a @ A2
                @ ^ [Uu: nat] : g ) )
           => ( ( member_nat_a @ G
                @ ( pi_nat_a @ B2
                  @ ^ [Uu: nat] : g ) )
             => ( ( commut6741328216151336360_a_nat @ g @ composition @ unit @ G @ ( sup_sup_set_nat @ A2 @ B2 ) )
                = ( composition @ ( commut6741328216151336360_a_nat @ g @ composition @ unit @ G @ A2 ) @ ( commut6741328216151336360_a_nat @ g @ composition @ unit @ G @ B2 ) ) ) ) ) ) ) ) ).

% fincomp_Un_disjoint
thf(fact_870_fincomp__Un__Int,axiom,
    ! [A2: set_a,B2: set_a,G: a > a] :
      ( ( finite_finite_a @ A2 )
     => ( ( finite_finite_a @ B2 )
       => ( ( member_a_a @ G
            @ ( pi_a_a @ A2
              @ ^ [Uu: a] : g ) )
         => ( ( member_a_a @ G
              @ ( pi_a_a @ B2
                @ ^ [Uu: a] : g ) )
           => ( ( composition @ ( commut5005951359559292710mp_a_a @ g @ composition @ unit @ G @ ( sup_sup_set_a @ A2 @ B2 ) ) @ ( commut5005951359559292710mp_a_a @ g @ composition @ unit @ G @ ( inf_inf_set_a @ A2 @ B2 ) ) )
              = ( composition @ ( commut5005951359559292710mp_a_a @ g @ composition @ unit @ G @ A2 ) @ ( commut5005951359559292710mp_a_a @ g @ composition @ unit @ G @ B2 ) ) ) ) ) ) ) ).

% fincomp_Un_Int
thf(fact_871_fincomp__Un__Int,axiom,
    ! [A2: set_nat,B2: set_nat,G: nat > a] :
      ( ( finite_finite_nat @ A2 )
     => ( ( finite_finite_nat @ B2 )
       => ( ( member_nat_a @ G
            @ ( pi_nat_a @ A2
              @ ^ [Uu: nat] : g ) )
         => ( ( member_nat_a @ G
              @ ( pi_nat_a @ B2
                @ ^ [Uu: nat] : g ) )
           => ( ( composition @ ( commut6741328216151336360_a_nat @ g @ composition @ unit @ G @ ( sup_sup_set_nat @ A2 @ B2 ) ) @ ( commut6741328216151336360_a_nat @ g @ composition @ unit @ G @ ( inf_inf_set_nat @ A2 @ B2 ) ) )
              = ( composition @ ( commut6741328216151336360_a_nat @ g @ composition @ unit @ G @ A2 ) @ ( commut6741328216151336360_a_nat @ g @ composition @ unit @ G @ B2 ) ) ) ) ) ) ) ).

% fincomp_Un_Int
thf(fact_872_Set__filter__fold,axiom,
    ! [A2: set_a,P: a > $o] :
      ( ( finite_finite_a @ A2 )
     => ( ( filter_a @ P @ A2 )
        = ( finite_fold_a_set_a
          @ ^ [X3: a,A9: set_a] : ( if_set_a @ ( P @ X3 ) @ ( insert_a @ X3 @ A9 ) @ A9 )
          @ bot_bot_set_a
          @ A2 ) ) ) ).

% Set_filter_fold
thf(fact_873_Set__filter__fold,axiom,
    ! [A2: set_nat,P: nat > $o] :
      ( ( finite_finite_nat @ A2 )
     => ( ( filter_nat @ P @ A2 )
        = ( finite5529483035118572448et_nat
          @ ^ [X3: nat,A9: set_nat] : ( if_set_nat @ ( P @ X3 ) @ ( insert_nat @ X3 @ A9 ) @ A9 )
          @ bot_bot_set_nat
          @ A2 ) ) ) ).

% Set_filter_fold
thf(fact_874_image__Collect__subsetI,axiom,
    ! [P: a > $o,F: a > nat,B2: set_nat] :
      ( ! [X2: a] :
          ( ( P @ X2 )
         => ( member_nat @ ( F @ X2 ) @ B2 ) )
     => ( ord_less_eq_set_nat @ ( image_a_nat @ F @ ( collect_a @ P ) ) @ B2 ) ) ).

% image_Collect_subsetI
thf(fact_875_image__Collect__subsetI,axiom,
    ! [P: nat > $o,F: nat > nat,B2: set_nat] :
      ( ! [X2: nat] :
          ( ( P @ X2 )
         => ( member_nat @ ( F @ X2 ) @ B2 ) )
     => ( ord_less_eq_set_nat @ ( image_nat_nat @ F @ ( collect_nat @ P ) ) @ B2 ) ) ).

% image_Collect_subsetI
thf(fact_876_image__Collect__subsetI,axiom,
    ! [P: a > $o,F: a > a,B2: set_a] :
      ( ! [X2: a] :
          ( ( P @ X2 )
         => ( member_a @ ( F @ X2 ) @ B2 ) )
     => ( ord_less_eq_set_a @ ( image_a_a @ F @ ( collect_a @ P ) ) @ B2 ) ) ).

% image_Collect_subsetI
thf(fact_877_image__Collect__subsetI,axiom,
    ! [P: nat > $o,F: nat > a,B2: set_a] :
      ( ! [X2: nat] :
          ( ( P @ X2 )
         => ( member_a @ ( F @ X2 ) @ B2 ) )
     => ( ord_less_eq_set_a @ ( image_nat_a @ F @ ( collect_nat @ P ) ) @ B2 ) ) ).

% image_Collect_subsetI
thf(fact_878_Un__iff,axiom,
    ! [C: a,A2: set_a,B2: set_a] :
      ( ( member_a @ C @ ( sup_sup_set_a @ A2 @ B2 ) )
      = ( ( member_a @ C @ A2 )
        | ( member_a @ C @ B2 ) ) ) ).

% Un_iff
thf(fact_879_Un__iff,axiom,
    ! [C: nat,A2: set_nat,B2: set_nat] :
      ( ( member_nat @ C @ ( sup_sup_set_nat @ A2 @ B2 ) )
      = ( ( member_nat @ C @ A2 )
        | ( member_nat @ C @ B2 ) ) ) ).

% Un_iff
thf(fact_880_UnCI,axiom,
    ! [C: a,B2: set_a,A2: set_a] :
      ( ( ~ ( member_a @ C @ B2 )
       => ( member_a @ C @ A2 ) )
     => ( member_a @ C @ ( sup_sup_set_a @ A2 @ B2 ) ) ) ).

% UnCI
thf(fact_881_UnCI,axiom,
    ! [C: nat,B2: set_nat,A2: set_nat] :
      ( ( ~ ( member_nat @ C @ B2 )
       => ( member_nat @ C @ A2 ) )
     => ( member_nat @ C @ ( sup_sup_set_nat @ A2 @ B2 ) ) ) ).

% UnCI
thf(fact_882_finite__Collect__le__nat,axiom,
    ! [K3: nat] :
      ( finite_finite_nat
      @ ( collect_nat
        @ ^ [N3: nat] : ( ord_less_eq_nat @ N3 @ K3 ) ) ) ).

% finite_Collect_le_nat
thf(fact_883_member__filter,axiom,
    ! [X: a,P: a > $o,A2: set_a] :
      ( ( member_a @ X @ ( filter_a @ P @ A2 ) )
      = ( ( member_a @ X @ A2 )
        & ( P @ X ) ) ) ).

% member_filter
thf(fact_884_member__filter,axiom,
    ! [X: nat,P: nat > $o,A2: set_nat] :
      ( ( member_nat @ X @ ( filter_nat @ P @ A2 ) )
      = ( ( member_nat @ X @ A2 )
        & ( P @ X ) ) ) ).

% member_filter
thf(fact_885_sup_Obounded__iff,axiom,
    ! [B: set_a,C: set_a,A: set_a] :
      ( ( ord_less_eq_set_a @ ( sup_sup_set_a @ B @ C ) @ A )
      = ( ( ord_less_eq_set_a @ B @ A )
        & ( ord_less_eq_set_a @ C @ A ) ) ) ).

% sup.bounded_iff
thf(fact_886_sup_Obounded__iff,axiom,
    ! [B: nat,C: nat,A: nat] :
      ( ( ord_less_eq_nat @ ( sup_sup_nat @ B @ C ) @ A )
      = ( ( ord_less_eq_nat @ B @ A )
        & ( ord_less_eq_nat @ C @ A ) ) ) ).

% sup.bounded_iff
thf(fact_887_le__sup__iff,axiom,
    ! [X: set_a,Y: set_a,Z: set_a] :
      ( ( ord_less_eq_set_a @ ( sup_sup_set_a @ X @ Y ) @ Z )
      = ( ( ord_less_eq_set_a @ X @ Z )
        & ( ord_less_eq_set_a @ Y @ Z ) ) ) ).

% le_sup_iff
thf(fact_888_le__sup__iff,axiom,
    ! [X: nat,Y: nat,Z: nat] :
      ( ( ord_less_eq_nat @ ( sup_sup_nat @ X @ Y ) @ Z )
      = ( ( ord_less_eq_nat @ X @ Z )
        & ( ord_less_eq_nat @ Y @ Z ) ) ) ).

% le_sup_iff
thf(fact_889_finite__Un,axiom,
    ! [F2: set_a,G2: set_a] :
      ( ( finite_finite_a @ ( sup_sup_set_a @ F2 @ G2 ) )
      = ( ( finite_finite_a @ F2 )
        & ( finite_finite_a @ G2 ) ) ) ).

% finite_Un
thf(fact_890_finite__Un,axiom,
    ! [F2: set_nat,G2: set_nat] :
      ( ( finite_finite_nat @ ( sup_sup_set_nat @ F2 @ G2 ) )
      = ( ( finite_finite_nat @ F2 )
        & ( finite_finite_nat @ G2 ) ) ) ).

% finite_Un
thf(fact_891_Un__subset__iff,axiom,
    ! [A2: set_a,B2: set_a,C4: set_a] :
      ( ( ord_less_eq_set_a @ ( sup_sup_set_a @ A2 @ B2 ) @ C4 )
      = ( ( ord_less_eq_set_a @ A2 @ C4 )
        & ( ord_less_eq_set_a @ B2 @ C4 ) ) ) ).

% Un_subset_iff
thf(fact_892_if__image__distrib,axiom,
    ! [P: a > $o,F: a > a,G: a > a,S: set_a] :
      ( ( image_a_a
        @ ^ [X3: a] : ( if_a @ ( P @ X3 ) @ ( F @ X3 ) @ ( G @ X3 ) )
        @ S )
      = ( sup_sup_set_a @ ( image_a_a @ F @ ( inf_inf_set_a @ S @ ( collect_a @ P ) ) )
        @ ( image_a_a @ G
          @ ( inf_inf_set_a @ S
            @ ( collect_a
              @ ^ [X3: a] :
                  ~ ( P @ X3 ) ) ) ) ) ) ).

% if_image_distrib
thf(fact_893_UnI2,axiom,
    ! [C: a,B2: set_a,A2: set_a] :
      ( ( member_a @ C @ B2 )
     => ( member_a @ C @ ( sup_sup_set_a @ A2 @ B2 ) ) ) ).

% UnI2
thf(fact_894_UnI2,axiom,
    ! [C: nat,B2: set_nat,A2: set_nat] :
      ( ( member_nat @ C @ B2 )
     => ( member_nat @ C @ ( sup_sup_set_nat @ A2 @ B2 ) ) ) ).

% UnI2
thf(fact_895_UnI1,axiom,
    ! [C: a,A2: set_a,B2: set_a] :
      ( ( member_a @ C @ A2 )
     => ( member_a @ C @ ( sup_sup_set_a @ A2 @ B2 ) ) ) ).

% UnI1
thf(fact_896_UnI1,axiom,
    ! [C: nat,A2: set_nat,B2: set_nat] :
      ( ( member_nat @ C @ A2 )
     => ( member_nat @ C @ ( sup_sup_set_nat @ A2 @ B2 ) ) ) ).

% UnI1
thf(fact_897_UnE,axiom,
    ! [C: a,A2: set_a,B2: set_a] :
      ( ( member_a @ C @ ( sup_sup_set_a @ A2 @ B2 ) )
     => ( ~ ( member_a @ C @ A2 )
       => ( member_a @ C @ B2 ) ) ) ).

% UnE
thf(fact_898_UnE,axiom,
    ! [C: nat,A2: set_nat,B2: set_nat] :
      ( ( member_nat @ C @ ( sup_sup_set_nat @ A2 @ B2 ) )
     => ( ~ ( member_nat @ C @ A2 )
       => ( member_nat @ C @ B2 ) ) ) ).

% UnE
thf(fact_899_Collect__disj__eq,axiom,
    ! [P: a > $o,Q: a > $o] :
      ( ( collect_a
        @ ^ [X3: a] :
            ( ( P @ X3 )
            | ( Q @ X3 ) ) )
      = ( sup_sup_set_a @ ( collect_a @ P ) @ ( collect_a @ Q ) ) ) ).

% Collect_disj_eq
thf(fact_900_Collect__disj__eq,axiom,
    ! [P: nat > $o,Q: nat > $o] :
      ( ( collect_nat
        @ ^ [X3: nat] :
            ( ( P @ X3 )
            | ( Q @ X3 ) ) )
      = ( sup_sup_set_nat @ ( collect_nat @ P ) @ ( collect_nat @ Q ) ) ) ).

% Collect_disj_eq
thf(fact_901_Un__def,axiom,
    ( sup_sup_set_a
    = ( ^ [A6: set_a,B5: set_a] :
          ( collect_a
          @ ^ [X3: a] :
              ( ( member_a @ X3 @ A6 )
              | ( member_a @ X3 @ B5 ) ) ) ) ) ).

% Un_def
thf(fact_902_Un__def,axiom,
    ( sup_sup_set_nat
    = ( ^ [A6: set_nat,B5: set_nat] :
          ( collect_nat
          @ ^ [X3: nat] :
              ( ( member_nat @ X3 @ A6 )
              | ( member_nat @ X3 @ B5 ) ) ) ) ) ).

% Un_def
thf(fact_903_sup_OcoboundedI2,axiom,
    ! [C: set_a,B: set_a,A: set_a] :
      ( ( ord_less_eq_set_a @ C @ B )
     => ( ord_less_eq_set_a @ C @ ( sup_sup_set_a @ A @ B ) ) ) ).

% sup.coboundedI2
thf(fact_904_sup_OcoboundedI2,axiom,
    ! [C: nat,B: nat,A: nat] :
      ( ( ord_less_eq_nat @ C @ B )
     => ( ord_less_eq_nat @ C @ ( sup_sup_nat @ A @ B ) ) ) ).

% sup.coboundedI2
thf(fact_905_sup_OcoboundedI1,axiom,
    ! [C: set_a,A: set_a,B: set_a] :
      ( ( ord_less_eq_set_a @ C @ A )
     => ( ord_less_eq_set_a @ C @ ( sup_sup_set_a @ A @ B ) ) ) ).

% sup.coboundedI1
thf(fact_906_sup_OcoboundedI1,axiom,
    ! [C: nat,A: nat,B: nat] :
      ( ( ord_less_eq_nat @ C @ A )
     => ( ord_less_eq_nat @ C @ ( sup_sup_nat @ A @ B ) ) ) ).

% sup.coboundedI1
thf(fact_907_sup_Oabsorb__iff2,axiom,
    ( ord_less_eq_set_a
    = ( ^ [A4: set_a,B4: set_a] :
          ( ( sup_sup_set_a @ A4 @ B4 )
          = B4 ) ) ) ).

% sup.absorb_iff2
thf(fact_908_sup_Oabsorb__iff2,axiom,
    ( ord_less_eq_nat
    = ( ^ [A4: nat,B4: nat] :
          ( ( sup_sup_nat @ A4 @ B4 )
          = B4 ) ) ) ).

% sup.absorb_iff2
thf(fact_909_sup_Oabsorb__iff1,axiom,
    ( ord_less_eq_set_a
    = ( ^ [B4: set_a,A4: set_a] :
          ( ( sup_sup_set_a @ A4 @ B4 )
          = A4 ) ) ) ).

% sup.absorb_iff1
thf(fact_910_sup_Oabsorb__iff1,axiom,
    ( ord_less_eq_nat
    = ( ^ [B4: nat,A4: nat] :
          ( ( sup_sup_nat @ A4 @ B4 )
          = A4 ) ) ) ).

% sup.absorb_iff1
thf(fact_911_sup_Ocobounded2,axiom,
    ! [B: set_a,A: set_a] : ( ord_less_eq_set_a @ B @ ( sup_sup_set_a @ A @ B ) ) ).

% sup.cobounded2
thf(fact_912_sup_Ocobounded2,axiom,
    ! [B: nat,A: nat] : ( ord_less_eq_nat @ B @ ( sup_sup_nat @ A @ B ) ) ).

% sup.cobounded2
thf(fact_913_sup_Ocobounded1,axiom,
    ! [A: set_a,B: set_a] : ( ord_less_eq_set_a @ A @ ( sup_sup_set_a @ A @ B ) ) ).

% sup.cobounded1
thf(fact_914_sup_Ocobounded1,axiom,
    ! [A: nat,B: nat] : ( ord_less_eq_nat @ A @ ( sup_sup_nat @ A @ B ) ) ).

% sup.cobounded1
thf(fact_915_sup_Oorder__iff,axiom,
    ( ord_less_eq_set_a
    = ( ^ [B4: set_a,A4: set_a] :
          ( A4
          = ( sup_sup_set_a @ A4 @ B4 ) ) ) ) ).

% sup.order_iff
thf(fact_916_sup_Oorder__iff,axiom,
    ( ord_less_eq_nat
    = ( ^ [B4: nat,A4: nat] :
          ( A4
          = ( sup_sup_nat @ A4 @ B4 ) ) ) ) ).

% sup.order_iff
thf(fact_917_sup_OboundedI,axiom,
    ! [B: set_a,A: set_a,C: set_a] :
      ( ( ord_less_eq_set_a @ B @ A )
     => ( ( ord_less_eq_set_a @ C @ A )
       => ( ord_less_eq_set_a @ ( sup_sup_set_a @ B @ C ) @ A ) ) ) ).

% sup.boundedI
thf(fact_918_sup_OboundedI,axiom,
    ! [B: nat,A: nat,C: nat] :
      ( ( ord_less_eq_nat @ B @ A )
     => ( ( ord_less_eq_nat @ C @ A )
       => ( ord_less_eq_nat @ ( sup_sup_nat @ B @ C ) @ A ) ) ) ).

% sup.boundedI
thf(fact_919_sup_OboundedE,axiom,
    ! [B: set_a,C: set_a,A: set_a] :
      ( ( ord_less_eq_set_a @ ( sup_sup_set_a @ B @ C ) @ A )
     => ~ ( ( ord_less_eq_set_a @ B @ A )
         => ~ ( ord_less_eq_set_a @ C @ A ) ) ) ).

% sup.boundedE
thf(fact_920_sup_OboundedE,axiom,
    ! [B: nat,C: nat,A: nat] :
      ( ( ord_less_eq_nat @ ( sup_sup_nat @ B @ C ) @ A )
     => ~ ( ( ord_less_eq_nat @ B @ A )
         => ~ ( ord_less_eq_nat @ C @ A ) ) ) ).

% sup.boundedE
thf(fact_921_sup__absorb2,axiom,
    ! [X: set_a,Y: set_a] :
      ( ( ord_less_eq_set_a @ X @ Y )
     => ( ( sup_sup_set_a @ X @ Y )
        = Y ) ) ).

% sup_absorb2
thf(fact_922_sup__absorb2,axiom,
    ! [X: nat,Y: nat] :
      ( ( ord_less_eq_nat @ X @ Y )
     => ( ( sup_sup_nat @ X @ Y )
        = Y ) ) ).

% sup_absorb2
thf(fact_923_sup__absorb1,axiom,
    ! [Y: set_a,X: set_a] :
      ( ( ord_less_eq_set_a @ Y @ X )
     => ( ( sup_sup_set_a @ X @ Y )
        = X ) ) ).

% sup_absorb1
thf(fact_924_sup__absorb1,axiom,
    ! [Y: nat,X: nat] :
      ( ( ord_less_eq_nat @ Y @ X )
     => ( ( sup_sup_nat @ X @ Y )
        = X ) ) ).

% sup_absorb1
thf(fact_925_sup_Oabsorb2,axiom,
    ! [A: set_a,B: set_a] :
      ( ( ord_less_eq_set_a @ A @ B )
     => ( ( sup_sup_set_a @ A @ B )
        = B ) ) ).

% sup.absorb2
thf(fact_926_sup_Oabsorb2,axiom,
    ! [A: nat,B: nat] :
      ( ( ord_less_eq_nat @ A @ B )
     => ( ( sup_sup_nat @ A @ B )
        = B ) ) ).

% sup.absorb2
thf(fact_927_sup_Oabsorb1,axiom,
    ! [B: set_a,A: set_a] :
      ( ( ord_less_eq_set_a @ B @ A )
     => ( ( sup_sup_set_a @ A @ B )
        = A ) ) ).

% sup.absorb1
thf(fact_928_sup_Oabsorb1,axiom,
    ! [B: nat,A: nat] :
      ( ( ord_less_eq_nat @ B @ A )
     => ( ( sup_sup_nat @ A @ B )
        = A ) ) ).

% sup.absorb1
thf(fact_929_sup__unique,axiom,
    ! [F: set_a > set_a > set_a,X: set_a,Y: set_a] :
      ( ! [X2: set_a,Y5: set_a] : ( ord_less_eq_set_a @ X2 @ ( F @ X2 @ Y5 ) )
     => ( ! [X2: set_a,Y5: set_a] : ( ord_less_eq_set_a @ Y5 @ ( F @ X2 @ Y5 ) )
       => ( ! [X2: set_a,Y5: set_a,Z3: set_a] :
              ( ( ord_less_eq_set_a @ Y5 @ X2 )
             => ( ( ord_less_eq_set_a @ Z3 @ X2 )
               => ( ord_less_eq_set_a @ ( F @ Y5 @ Z3 ) @ X2 ) ) )
         => ( ( sup_sup_set_a @ X @ Y )
            = ( F @ X @ Y ) ) ) ) ) ).

% sup_unique
thf(fact_930_sup__unique,axiom,
    ! [F: nat > nat > nat,X: nat,Y: nat] :
      ( ! [X2: nat,Y5: nat] : ( ord_less_eq_nat @ X2 @ ( F @ X2 @ Y5 ) )
     => ( ! [X2: nat,Y5: nat] : ( ord_less_eq_nat @ Y5 @ ( F @ X2 @ Y5 ) )
       => ( ! [X2: nat,Y5: nat,Z3: nat] :
              ( ( ord_less_eq_nat @ Y5 @ X2 )
             => ( ( ord_less_eq_nat @ Z3 @ X2 )
               => ( ord_less_eq_nat @ ( F @ Y5 @ Z3 ) @ X2 ) ) )
         => ( ( sup_sup_nat @ X @ Y )
            = ( F @ X @ Y ) ) ) ) ) ).

% sup_unique
thf(fact_931_sup_OorderI,axiom,
    ! [A: set_a,B: set_a] :
      ( ( A
        = ( sup_sup_set_a @ A @ B ) )
     => ( ord_less_eq_set_a @ B @ A ) ) ).

% sup.orderI
thf(fact_932_sup_OorderI,axiom,
    ! [A: nat,B: nat] :
      ( ( A
        = ( sup_sup_nat @ A @ B ) )
     => ( ord_less_eq_nat @ B @ A ) ) ).

% sup.orderI
thf(fact_933_sup_OorderE,axiom,
    ! [B: set_a,A: set_a] :
      ( ( ord_less_eq_set_a @ B @ A )
     => ( A
        = ( sup_sup_set_a @ A @ B ) ) ) ).

% sup.orderE
thf(fact_934_sup_OorderE,axiom,
    ! [B: nat,A: nat] :
      ( ( ord_less_eq_nat @ B @ A )
     => ( A
        = ( sup_sup_nat @ A @ B ) ) ) ).

% sup.orderE
thf(fact_935_le__iff__sup,axiom,
    ( ord_less_eq_set_a
    = ( ^ [X3: set_a,Y3: set_a] :
          ( ( sup_sup_set_a @ X3 @ Y3 )
          = Y3 ) ) ) ).

% le_iff_sup
thf(fact_936_le__iff__sup,axiom,
    ( ord_less_eq_nat
    = ( ^ [X3: nat,Y3: nat] :
          ( ( sup_sup_nat @ X3 @ Y3 )
          = Y3 ) ) ) ).

% le_iff_sup
thf(fact_937_sup__least,axiom,
    ! [Y: set_a,X: set_a,Z: set_a] :
      ( ( ord_less_eq_set_a @ Y @ X )
     => ( ( ord_less_eq_set_a @ Z @ X )
       => ( ord_less_eq_set_a @ ( sup_sup_set_a @ Y @ Z ) @ X ) ) ) ).

% sup_least
thf(fact_938_sup__least,axiom,
    ! [Y: nat,X: nat,Z: nat] :
      ( ( ord_less_eq_nat @ Y @ X )
     => ( ( ord_less_eq_nat @ Z @ X )
       => ( ord_less_eq_nat @ ( sup_sup_nat @ Y @ Z ) @ X ) ) ) ).

% sup_least
thf(fact_939_sup__mono,axiom,
    ! [A: set_a,C: set_a,B: set_a,D2: set_a] :
      ( ( ord_less_eq_set_a @ A @ C )
     => ( ( ord_less_eq_set_a @ B @ D2 )
       => ( ord_less_eq_set_a @ ( sup_sup_set_a @ A @ B ) @ ( sup_sup_set_a @ C @ D2 ) ) ) ) ).

% sup_mono
thf(fact_940_sup__mono,axiom,
    ! [A: nat,C: nat,B: nat,D2: nat] :
      ( ( ord_less_eq_nat @ A @ C )
     => ( ( ord_less_eq_nat @ B @ D2 )
       => ( ord_less_eq_nat @ ( sup_sup_nat @ A @ B ) @ ( sup_sup_nat @ C @ D2 ) ) ) ) ).

% sup_mono
thf(fact_941_sup_Omono,axiom,
    ! [C: set_a,A: set_a,D2: set_a,B: set_a] :
      ( ( ord_less_eq_set_a @ C @ A )
     => ( ( ord_less_eq_set_a @ D2 @ B )
       => ( ord_less_eq_set_a @ ( sup_sup_set_a @ C @ D2 ) @ ( sup_sup_set_a @ A @ B ) ) ) ) ).

% sup.mono
thf(fact_942_sup_Omono,axiom,
    ! [C: nat,A: nat,D2: nat,B: nat] :
      ( ( ord_less_eq_nat @ C @ A )
     => ( ( ord_less_eq_nat @ D2 @ B )
       => ( ord_less_eq_nat @ ( sup_sup_nat @ C @ D2 ) @ ( sup_sup_nat @ A @ B ) ) ) ) ).

% sup.mono
thf(fact_943_le__supI2,axiom,
    ! [X: set_a,B: set_a,A: set_a] :
      ( ( ord_less_eq_set_a @ X @ B )
     => ( ord_less_eq_set_a @ X @ ( sup_sup_set_a @ A @ B ) ) ) ).

% le_supI2
thf(fact_944_le__supI2,axiom,
    ! [X: nat,B: nat,A: nat] :
      ( ( ord_less_eq_nat @ X @ B )
     => ( ord_less_eq_nat @ X @ ( sup_sup_nat @ A @ B ) ) ) ).

% le_supI2
thf(fact_945_le__supI1,axiom,
    ! [X: set_a,A: set_a,B: set_a] :
      ( ( ord_less_eq_set_a @ X @ A )
     => ( ord_less_eq_set_a @ X @ ( sup_sup_set_a @ A @ B ) ) ) ).

% le_supI1
thf(fact_946_le__supI1,axiom,
    ! [X: nat,A: nat,B: nat] :
      ( ( ord_less_eq_nat @ X @ A )
     => ( ord_less_eq_nat @ X @ ( sup_sup_nat @ A @ B ) ) ) ).

% le_supI1
thf(fact_947_sup__ge2,axiom,
    ! [Y: set_a,X: set_a] : ( ord_less_eq_set_a @ Y @ ( sup_sup_set_a @ X @ Y ) ) ).

% sup_ge2
thf(fact_948_sup__ge2,axiom,
    ! [Y: nat,X: nat] : ( ord_less_eq_nat @ Y @ ( sup_sup_nat @ X @ Y ) ) ).

% sup_ge2
thf(fact_949_sup__ge1,axiom,
    ! [X: set_a,Y: set_a] : ( ord_less_eq_set_a @ X @ ( sup_sup_set_a @ X @ Y ) ) ).

% sup_ge1
thf(fact_950_sup__ge1,axiom,
    ! [X: nat,Y: nat] : ( ord_less_eq_nat @ X @ ( sup_sup_nat @ X @ Y ) ) ).

% sup_ge1
thf(fact_951_le__supI,axiom,
    ! [A: set_a,X: set_a,B: set_a] :
      ( ( ord_less_eq_set_a @ A @ X )
     => ( ( ord_less_eq_set_a @ B @ X )
       => ( ord_less_eq_set_a @ ( sup_sup_set_a @ A @ B ) @ X ) ) ) ).

% le_supI
thf(fact_952_le__supI,axiom,
    ! [A: nat,X: nat,B: nat] :
      ( ( ord_less_eq_nat @ A @ X )
     => ( ( ord_less_eq_nat @ B @ X )
       => ( ord_less_eq_nat @ ( sup_sup_nat @ A @ B ) @ X ) ) ) ).

% le_supI
thf(fact_953_le__supE,axiom,
    ! [A: set_a,B: set_a,X: set_a] :
      ( ( ord_less_eq_set_a @ ( sup_sup_set_a @ A @ B ) @ X )
     => ~ ( ( ord_less_eq_set_a @ A @ X )
         => ~ ( ord_less_eq_set_a @ B @ X ) ) ) ).

% le_supE
thf(fact_954_le__supE,axiom,
    ! [A: nat,B: nat,X: nat] :
      ( ( ord_less_eq_nat @ ( sup_sup_nat @ A @ B ) @ X )
     => ~ ( ( ord_less_eq_nat @ A @ X )
         => ~ ( ord_less_eq_nat @ B @ X ) ) ) ).

% le_supE
thf(fact_955_inf__sup__ord_I3_J,axiom,
    ! [X: set_a,Y: set_a] : ( ord_less_eq_set_a @ X @ ( sup_sup_set_a @ X @ Y ) ) ).

% inf_sup_ord(3)
thf(fact_956_inf__sup__ord_I3_J,axiom,
    ! [X: nat,Y: nat] : ( ord_less_eq_nat @ X @ ( sup_sup_nat @ X @ Y ) ) ).

% inf_sup_ord(3)
thf(fact_957_inf__sup__ord_I4_J,axiom,
    ! [Y: set_a,X: set_a] : ( ord_less_eq_set_a @ Y @ ( sup_sup_set_a @ X @ Y ) ) ).

% inf_sup_ord(4)
thf(fact_958_inf__sup__ord_I4_J,axiom,
    ! [Y: nat,X: nat] : ( ord_less_eq_nat @ Y @ ( sup_sup_nat @ X @ Y ) ) ).

% inf_sup_ord(4)
thf(fact_959_image__Un,axiom,
    ! [F: a > a,A2: set_a,B2: set_a] :
      ( ( image_a_a @ F @ ( sup_sup_set_a @ A2 @ B2 ) )
      = ( sup_sup_set_a @ ( image_a_a @ F @ A2 ) @ ( image_a_a @ F @ B2 ) ) ) ).

% image_Un
thf(fact_960_finite__UnI,axiom,
    ! [F2: set_a,G2: set_a] :
      ( ( finite_finite_a @ F2 )
     => ( ( finite_finite_a @ G2 )
       => ( finite_finite_a @ ( sup_sup_set_a @ F2 @ G2 ) ) ) ) ).

% finite_UnI
thf(fact_961_finite__UnI,axiom,
    ! [F2: set_nat,G2: set_nat] :
      ( ( finite_finite_nat @ F2 )
     => ( ( finite_finite_nat @ G2 )
       => ( finite_finite_nat @ ( sup_sup_set_nat @ F2 @ G2 ) ) ) ) ).

% finite_UnI
thf(fact_962_Un__infinite,axiom,
    ! [S: set_a,T2: set_a] :
      ( ~ ( finite_finite_a @ S )
     => ~ ( finite_finite_a @ ( sup_sup_set_a @ S @ T2 ) ) ) ).

% Un_infinite
thf(fact_963_Un__infinite,axiom,
    ! [S: set_nat,T2: set_nat] :
      ( ~ ( finite_finite_nat @ S )
     => ~ ( finite_finite_nat @ ( sup_sup_set_nat @ S @ T2 ) ) ) ).

% Un_infinite
thf(fact_964_infinite__Un,axiom,
    ! [S: set_a,T2: set_a] :
      ( ( ~ ( finite_finite_a @ ( sup_sup_set_a @ S @ T2 ) ) )
      = ( ~ ( finite_finite_a @ S )
        | ~ ( finite_finite_a @ T2 ) ) ) ).

% infinite_Un
thf(fact_965_infinite__Un,axiom,
    ! [S: set_nat,T2: set_nat] :
      ( ( ~ ( finite_finite_nat @ ( sup_sup_set_nat @ S @ T2 ) ) )
      = ( ~ ( finite_finite_nat @ S )
        | ~ ( finite_finite_nat @ T2 ) ) ) ).

% infinite_Un
thf(fact_966_subset__Un__eq,axiom,
    ( ord_less_eq_set_a
    = ( ^ [A6: set_a,B5: set_a] :
          ( ( sup_sup_set_a @ A6 @ B5 )
          = B5 ) ) ) ).

% subset_Un_eq
thf(fact_967_subset__UnE,axiom,
    ! [C4: set_a,A2: set_a,B2: set_a] :
      ( ( ord_less_eq_set_a @ C4 @ ( sup_sup_set_a @ A2 @ B2 ) )
     => ~ ! [A7: set_a] :
            ( ( ord_less_eq_set_a @ A7 @ A2 )
           => ! [B7: set_a] :
                ( ( ord_less_eq_set_a @ B7 @ B2 )
               => ( C4
                 != ( sup_sup_set_a @ A7 @ B7 ) ) ) ) ) ).

% subset_UnE
thf(fact_968_Un__absorb2,axiom,
    ! [B2: set_a,A2: set_a] :
      ( ( ord_less_eq_set_a @ B2 @ A2 )
     => ( ( sup_sup_set_a @ A2 @ B2 )
        = A2 ) ) ).

% Un_absorb2
thf(fact_969_Un__absorb1,axiom,
    ! [A2: set_a,B2: set_a] :
      ( ( ord_less_eq_set_a @ A2 @ B2 )
     => ( ( sup_sup_set_a @ A2 @ B2 )
        = B2 ) ) ).

% Un_absorb1
thf(fact_970_Un__upper2,axiom,
    ! [B2: set_a,A2: set_a] : ( ord_less_eq_set_a @ B2 @ ( sup_sup_set_a @ A2 @ B2 ) ) ).

% Un_upper2
thf(fact_971_Un__upper1,axiom,
    ! [A2: set_a,B2: set_a] : ( ord_less_eq_set_a @ A2 @ ( sup_sup_set_a @ A2 @ B2 ) ) ).

% Un_upper1
thf(fact_972_Un__least,axiom,
    ! [A2: set_a,C4: set_a,B2: set_a] :
      ( ( ord_less_eq_set_a @ A2 @ C4 )
     => ( ( ord_less_eq_set_a @ B2 @ C4 )
       => ( ord_less_eq_set_a @ ( sup_sup_set_a @ A2 @ B2 ) @ C4 ) ) ) ).

% Un_least
thf(fact_973_Un__mono,axiom,
    ! [A2: set_a,C4: set_a,B2: set_a,D: set_a] :
      ( ( ord_less_eq_set_a @ A2 @ C4 )
     => ( ( ord_less_eq_set_a @ B2 @ D )
       => ( ord_less_eq_set_a @ ( sup_sup_set_a @ A2 @ B2 ) @ ( sup_sup_set_a @ C4 @ D ) ) ) ) ).

% Un_mono
thf(fact_974_Set_Ofilter__def,axiom,
    ( filter_a
    = ( ^ [P2: a > $o,A6: set_a] :
          ( collect_a
          @ ^ [A4: a] :
              ( ( member_a @ A4 @ A6 )
              & ( P2 @ A4 ) ) ) ) ) ).

% Set.filter_def
thf(fact_975_Set_Ofilter__def,axiom,
    ( filter_nat
    = ( ^ [P2: nat > $o,A6: set_nat] :
          ( collect_nat
          @ ^ [A4: nat] :
              ( ( member_nat @ A4 @ A6 )
              & ( P2 @ A4 ) ) ) ) ) ).

% Set.filter_def
thf(fact_976_inf__set__def,axiom,
    ( inf_inf_set_a
    = ( ^ [A6: set_a,B5: set_a] :
          ( collect_a
          @ ( inf_inf_a_o
            @ ^ [X3: a] : ( member_a @ X3 @ A6 )
            @ ^ [X3: a] : ( member_a @ X3 @ B5 ) ) ) ) ) ).

% inf_set_def
thf(fact_977_inf__set__def,axiom,
    ( inf_inf_set_nat
    = ( ^ [A6: set_nat,B5: set_nat] :
          ( collect_nat
          @ ( inf_inf_nat_o
            @ ^ [X3: nat] : ( member_nat @ X3 @ A6 )
            @ ^ [X3: nat] : ( member_nat @ X3 @ B5 ) ) ) ) ) ).

% inf_set_def
thf(fact_978_insert__def,axiom,
    ( insert_a
    = ( ^ [A4: a] :
          ( sup_sup_set_a
          @ ( collect_a
            @ ^ [X3: a] : ( X3 = A4 ) ) ) ) ) ).

% insert_def
thf(fact_979_insert__def,axiom,
    ( insert_nat
    = ( ^ [A4: nat] :
          ( sup_sup_set_nat
          @ ( collect_nat
            @ ^ [X3: nat] : ( X3 = A4 ) ) ) ) ) ).

% insert_def
thf(fact_980_distrib__sup__le,axiom,
    ! [X: set_a,Y: set_a,Z: set_a] : ( ord_less_eq_set_a @ ( sup_sup_set_a @ X @ ( inf_inf_set_a @ Y @ Z ) ) @ ( inf_inf_set_a @ ( sup_sup_set_a @ X @ Y ) @ ( sup_sup_set_a @ X @ Z ) ) ) ).

% distrib_sup_le
thf(fact_981_distrib__sup__le,axiom,
    ! [X: nat,Y: nat,Z: nat] : ( ord_less_eq_nat @ ( sup_sup_nat @ X @ ( inf_inf_nat @ Y @ Z ) ) @ ( inf_inf_nat @ ( sup_sup_nat @ X @ Y ) @ ( sup_sup_nat @ X @ Z ) ) ) ).

% distrib_sup_le
thf(fact_982_distrib__inf__le,axiom,
    ! [X: set_a,Y: set_a,Z: set_a] : ( ord_less_eq_set_a @ ( sup_sup_set_a @ ( inf_inf_set_a @ X @ Y ) @ ( inf_inf_set_a @ X @ Z ) ) @ ( inf_inf_set_a @ X @ ( sup_sup_set_a @ Y @ Z ) ) ) ).

% distrib_inf_le
thf(fact_983_distrib__inf__le,axiom,
    ! [X: nat,Y: nat,Z: nat] : ( ord_less_eq_nat @ ( sup_sup_nat @ ( inf_inf_nat @ X @ Y ) @ ( inf_inf_nat @ X @ Z ) ) @ ( inf_inf_nat @ X @ ( sup_sup_nat @ Y @ Z ) ) ) ).

% distrib_inf_le
thf(fact_984_Un__Int__assoc__eq,axiom,
    ! [A2: set_a,B2: set_a,C4: set_a] :
      ( ( ( sup_sup_set_a @ ( inf_inf_set_a @ A2 @ B2 ) @ C4 )
        = ( inf_inf_set_a @ A2 @ ( sup_sup_set_a @ B2 @ C4 ) ) )
      = ( ord_less_eq_set_a @ C4 @ A2 ) ) ).

% Un_Int_assoc_eq
thf(fact_985_inj__on__Un__image__eq__iff,axiom,
    ! [F: a > a,A2: set_a,B2: set_a] :
      ( ( inj_on_a_a @ F @ ( sup_sup_set_a @ A2 @ B2 ) )
     => ( ( ( image_a_a @ F @ A2 )
          = ( image_a_a @ F @ B2 ) )
        = ( A2 = B2 ) ) ) ).

% inj_on_Un_image_eq_iff
thf(fact_986_inj__on__Un__image__eq__iff,axiom,
    ! [F: nat > nat,A2: set_nat,B2: set_nat] :
      ( ( inj_on_nat_nat @ F @ ( sup_sup_set_nat @ A2 @ B2 ) )
     => ( ( ( image_nat_nat @ F @ A2 )
          = ( image_nat_nat @ F @ B2 ) )
        = ( A2 = B2 ) ) ) ).

% inj_on_Un_image_eq_iff
thf(fact_987_Diff__subset__conv,axiom,
    ! [A2: set_a,B2: set_a,C4: set_a] :
      ( ( ord_less_eq_set_a @ ( minus_minus_set_a @ A2 @ B2 ) @ C4 )
      = ( ord_less_eq_set_a @ A2 @ ( sup_sup_set_a @ B2 @ C4 ) ) ) ).

% Diff_subset_conv
thf(fact_988_Diff__partition,axiom,
    ! [A2: set_a,B2: set_a] :
      ( ( ord_less_eq_set_a @ A2 @ B2 )
     => ( ( sup_sup_set_a @ A2 @ ( minus_minus_set_a @ B2 @ A2 ) )
        = B2 ) ) ).

% Diff_partition
thf(fact_989_finite__filter,axiom,
    ! [S: set_a,P: a > $o] :
      ( ( finite_finite_a @ S )
     => ( finite_finite_a @ ( filter_a @ P @ S ) ) ) ).

% finite_filter
thf(fact_990_finite__filter,axiom,
    ! [S: set_nat,P: nat > $o] :
      ( ( finite_finite_nat @ S )
     => ( finite_finite_nat @ ( filter_nat @ P @ S ) ) ) ).

% finite_filter
thf(fact_991_is__singletonI_H,axiom,
    ! [A2: set_a] :
      ( ( A2 != bot_bot_set_a )
     => ( ! [X2: a,Y5: a] :
            ( ( member_a @ X2 @ A2 )
           => ( ( member_a @ Y5 @ A2 )
             => ( X2 = Y5 ) ) )
       => ( is_singleton_a @ A2 ) ) ) ).

% is_singletonI'
thf(fact_992_is__singletonI_H,axiom,
    ! [A2: set_nat] :
      ( ( A2 != bot_bot_set_nat )
     => ( ! [X2: nat,Y5: nat] :
            ( ( member_nat @ X2 @ A2 )
           => ( ( member_nat @ Y5 @ A2 )
             => ( X2 = Y5 ) ) )
       => ( is_singleton_nat @ A2 ) ) ) ).

% is_singletonI'
thf(fact_993_union__fold__insert,axiom,
    ! [A2: set_a,B2: set_a] :
      ( ( finite_finite_a @ A2 )
     => ( ( sup_sup_set_a @ A2 @ B2 )
        = ( finite_fold_a_set_a @ insert_a @ B2 @ A2 ) ) ) ).

% union_fold_insert
thf(fact_994_union__fold__insert,axiom,
    ! [A2: set_nat,B2: set_nat] :
      ( ( finite_finite_nat @ A2 )
     => ( ( sup_sup_set_nat @ A2 @ B2 )
        = ( finite5529483035118572448et_nat @ insert_nat @ B2 @ A2 ) ) ) ).

% union_fold_insert
thf(fact_995_inj__on__disjoint__Un,axiom,
    ! [F: a > a,A2: set_a,G: a > a,B2: set_a] :
      ( ( inj_on_a_a @ F @ A2 )
     => ( ( inj_on_a_a @ G @ B2 )
       => ( ( ( inf_inf_set_a @ ( image_a_a @ F @ A2 ) @ ( image_a_a @ G @ B2 ) )
            = bot_bot_set_a )
         => ( inj_on_a_a
            @ ^ [X3: a] : ( if_a @ ( member_a @ X3 @ A2 ) @ ( F @ X3 ) @ ( G @ X3 ) )
            @ ( sup_sup_set_a @ A2 @ B2 ) ) ) ) ) ).

% inj_on_disjoint_Un
thf(fact_996_inj__on__disjoint__Un,axiom,
    ! [F: nat > nat,A2: set_nat,G: nat > nat,B2: set_nat] :
      ( ( inj_on_nat_nat @ F @ A2 )
     => ( ( inj_on_nat_nat @ G @ B2 )
       => ( ( ( inf_inf_set_nat @ ( image_nat_nat @ F @ A2 ) @ ( image_nat_nat @ G @ B2 ) )
            = bot_bot_set_nat )
         => ( inj_on_nat_nat
            @ ^ [X3: nat] : ( if_nat @ ( member_nat @ X3 @ A2 ) @ ( F @ X3 ) @ ( G @ X3 ) )
            @ ( sup_sup_set_nat @ A2 @ B2 ) ) ) ) ) ).

% inj_on_disjoint_Un
thf(fact_997_prop__restrict,axiom,
    ! [X: nat,Z4: set_nat,X5: set_nat,P: nat > $o] :
      ( ( member_nat @ X @ Z4 )
     => ( ( ord_less_eq_set_nat @ Z4
          @ ( collect_nat
            @ ^ [X3: nat] :
                ( ( member_nat @ X3 @ X5 )
                & ( P @ X3 ) ) ) )
       => ( P @ X ) ) ) ).

% prop_restrict
thf(fact_998_prop__restrict,axiom,
    ! [X: a,Z4: set_a,X5: set_a,P: a > $o] :
      ( ( member_a @ X @ Z4 )
     => ( ( ord_less_eq_set_a @ Z4
          @ ( collect_a
            @ ^ [X3: a] :
                ( ( member_a @ X3 @ X5 )
                & ( P @ X3 ) ) ) )
       => ( P @ X ) ) ) ).

% prop_restrict
thf(fact_999_Collect__restrict,axiom,
    ! [X5: set_nat,P: nat > $o] :
      ( ord_less_eq_set_nat
      @ ( collect_nat
        @ ^ [X3: nat] :
            ( ( member_nat @ X3 @ X5 )
            & ( P @ X3 ) ) )
      @ X5 ) ).

% Collect_restrict
thf(fact_1000_Collect__restrict,axiom,
    ! [X5: set_a,P: a > $o] :
      ( ord_less_eq_set_a
      @ ( collect_a
        @ ^ [X3: a] :
            ( ( member_a @ X3 @ X5 )
            & ( P @ X3 ) ) )
      @ X5 ) ).

% Collect_restrict
thf(fact_1001_inter__Set__filter,axiom,
    ! [B2: set_a,A2: set_a] :
      ( ( finite_finite_a @ B2 )
     => ( ( inf_inf_set_a @ A2 @ B2 )
        = ( filter_a
          @ ^ [X3: a] : ( member_a @ X3 @ A2 )
          @ B2 ) ) ) ).

% inter_Set_filter
thf(fact_1002_inter__Set__filter,axiom,
    ! [B2: set_nat,A2: set_nat] :
      ( ( finite_finite_nat @ B2 )
     => ( ( inf_inf_set_nat @ A2 @ B2 )
        = ( filter_nat
          @ ^ [X3: nat] : ( member_nat @ X3 @ A2 )
          @ B2 ) ) ) ).

% inter_Set_filter
thf(fact_1003_inj__on__Un,axiom,
    ! [F: a > a,A2: set_a,B2: set_a] :
      ( ( inj_on_a_a @ F @ ( sup_sup_set_a @ A2 @ B2 ) )
      = ( ( inj_on_a_a @ F @ A2 )
        & ( inj_on_a_a @ F @ B2 )
        & ( ( inf_inf_set_a @ ( image_a_a @ F @ ( minus_minus_set_a @ A2 @ B2 ) ) @ ( image_a_a @ F @ ( minus_minus_set_a @ B2 @ A2 ) ) )
          = bot_bot_set_a ) ) ) ).

% inj_on_Un
thf(fact_1004_inj__on__Un,axiom,
    ! [F: nat > nat,A2: set_nat,B2: set_nat] :
      ( ( inj_on_nat_nat @ F @ ( sup_sup_set_nat @ A2 @ B2 ) )
      = ( ( inj_on_nat_nat @ F @ A2 )
        & ( inj_on_nat_nat @ F @ B2 )
        & ( ( inf_inf_set_nat @ ( image_nat_nat @ F @ ( minus_minus_set_nat @ A2 @ B2 ) ) @ ( image_nat_nat @ F @ ( minus_minus_set_nat @ B2 @ A2 ) ) )
          = bot_bot_set_nat ) ) ) ).

% inj_on_Un
thf(fact_1005_commutative__monoid_Ofincomp__Un__Int,axiom,
    ! [M: set_a,Composition: a > a > a,Unit: a,A2: set_a,B2: set_a,G: a > a] :
      ( ( group_4866109990395492029noid_a @ M @ Composition @ Unit )
     => ( ( finite_finite_a @ A2 )
       => ( ( finite_finite_a @ B2 )
         => ( ( member_a_a @ G
              @ ( pi_a_a @ A2
                @ ^ [Uu: a] : M ) )
           => ( ( member_a_a @ G
                @ ( pi_a_a @ B2
                  @ ^ [Uu: a] : M ) )
             => ( ( Composition @ ( commut5005951359559292710mp_a_a @ M @ Composition @ Unit @ G @ ( sup_sup_set_a @ A2 @ B2 ) ) @ ( commut5005951359559292710mp_a_a @ M @ Composition @ Unit @ G @ ( inf_inf_set_a @ A2 @ B2 ) ) )
                = ( Composition @ ( commut5005951359559292710mp_a_a @ M @ Composition @ Unit @ G @ A2 ) @ ( commut5005951359559292710mp_a_a @ M @ Composition @ Unit @ G @ B2 ) ) ) ) ) ) ) ) ).

% commutative_monoid.fincomp_Un_Int
thf(fact_1006_commutative__monoid_Ofincomp__Un__Int,axiom,
    ! [M: set_a,Composition: a > a > a,Unit: a,A2: set_nat,B2: set_nat,G: nat > a] :
      ( ( group_4866109990395492029noid_a @ M @ Composition @ Unit )
     => ( ( finite_finite_nat @ A2 )
       => ( ( finite_finite_nat @ B2 )
         => ( ( member_nat_a @ G
              @ ( pi_nat_a @ A2
                @ ^ [Uu: nat] : M ) )
           => ( ( member_nat_a @ G
                @ ( pi_nat_a @ B2
                  @ ^ [Uu: nat] : M ) )
             => ( ( Composition @ ( commut6741328216151336360_a_nat @ M @ Composition @ Unit @ G @ ( sup_sup_set_nat @ A2 @ B2 ) ) @ ( commut6741328216151336360_a_nat @ M @ Composition @ Unit @ G @ ( inf_inf_set_nat @ A2 @ B2 ) ) )
                = ( Composition @ ( commut6741328216151336360_a_nat @ M @ Composition @ Unit @ G @ A2 ) @ ( commut6741328216151336360_a_nat @ M @ Composition @ Unit @ G @ B2 ) ) ) ) ) ) ) ) ).

% commutative_monoid.fincomp_Un_Int
thf(fact_1007_commutative__monoid_Ofincomp__Un__disjoint,axiom,
    ! [M: set_a,Composition: a > a > a,Unit: a,A2: set_a,B2: set_a,G: a > a] :
      ( ( group_4866109990395492029noid_a @ M @ Composition @ Unit )
     => ( ( finite_finite_a @ A2 )
       => ( ( finite_finite_a @ B2 )
         => ( ( ( inf_inf_set_a @ A2 @ B2 )
              = bot_bot_set_a )
           => ( ( member_a_a @ G
                @ ( pi_a_a @ A2
                  @ ^ [Uu: a] : M ) )
             => ( ( member_a_a @ G
                  @ ( pi_a_a @ B2
                    @ ^ [Uu: a] : M ) )
               => ( ( commut5005951359559292710mp_a_a @ M @ Composition @ Unit @ G @ ( sup_sup_set_a @ A2 @ B2 ) )
                  = ( Composition @ ( commut5005951359559292710mp_a_a @ M @ Composition @ Unit @ G @ A2 ) @ ( commut5005951359559292710mp_a_a @ M @ Composition @ Unit @ G @ B2 ) ) ) ) ) ) ) ) ) ).

% commutative_monoid.fincomp_Un_disjoint
thf(fact_1008_commutative__monoid_Ofincomp__Un__disjoint,axiom,
    ! [M: set_a,Composition: a > a > a,Unit: a,A2: set_nat,B2: set_nat,G: nat > a] :
      ( ( group_4866109990395492029noid_a @ M @ Composition @ Unit )
     => ( ( finite_finite_nat @ A2 )
       => ( ( finite_finite_nat @ B2 )
         => ( ( ( inf_inf_set_nat @ A2 @ B2 )
              = bot_bot_set_nat )
           => ( ( member_nat_a @ G
                @ ( pi_nat_a @ A2
                  @ ^ [Uu: nat] : M ) )
             => ( ( member_nat_a @ G
                  @ ( pi_nat_a @ B2
                    @ ^ [Uu: nat] : M ) )
               => ( ( commut6741328216151336360_a_nat @ M @ Composition @ Unit @ G @ ( sup_sup_set_nat @ A2 @ B2 ) )
                  = ( Composition @ ( commut6741328216151336360_a_nat @ M @ Composition @ Unit @ G @ A2 ) @ ( commut6741328216151336360_a_nat @ M @ Composition @ Unit @ G @ B2 ) ) ) ) ) ) ) ) ) ).

% commutative_monoid.fincomp_Un_disjoint
thf(fact_1009_subset__emptyI,axiom,
    ! [A2: set_nat] :
      ( ! [X2: nat] :
          ~ ( member_nat @ X2 @ A2 )
     => ( ord_less_eq_set_nat @ A2 @ bot_bot_set_nat ) ) ).

% subset_emptyI
thf(fact_1010_subset__emptyI,axiom,
    ! [A2: set_a] :
      ( ! [X2: a] :
          ~ ( member_a @ X2 @ A2 )
     => ( ord_less_eq_set_a @ A2 @ bot_bot_set_a ) ) ).

% subset_emptyI
thf(fact_1011_insert__subsetI,axiom,
    ! [X: nat,A2: set_nat,X5: set_nat] :
      ( ( member_nat @ X @ A2 )
     => ( ( ord_less_eq_set_nat @ X5 @ A2 )
       => ( ord_less_eq_set_nat @ ( insert_nat @ X @ X5 ) @ A2 ) ) ) ).

% insert_subsetI
thf(fact_1012_insert__subsetI,axiom,
    ! [X: a,A2: set_a,X5: set_a] :
      ( ( member_a @ X @ A2 )
     => ( ( ord_less_eq_set_a @ X5 @ A2 )
       => ( ord_less_eq_set_a @ ( insert_a @ X @ X5 ) @ A2 ) ) ) ).

% insert_subsetI
thf(fact_1013_diff__diff__cancel,axiom,
    ! [I3: nat,N2: nat] :
      ( ( ord_less_eq_nat @ I3 @ N2 )
     => ( ( minus_minus_nat @ N2 @ ( minus_minus_nat @ N2 @ I3 ) )
        = I3 ) ) ).

% diff_diff_cancel
thf(fact_1014_card__le__if__inj__on__rel,axiom,
    ! [B2: set_a,A2: set_nat,R2: nat > a > $o] :
      ( ( finite_finite_a @ B2 )
     => ( ! [A3: nat] :
            ( ( member_nat @ A3 @ A2 )
           => ? [B8: a] :
                ( ( member_a @ B8 @ B2 )
                & ( R2 @ A3 @ B8 ) ) )
       => ( ! [A1: nat,A22: nat,B3: a] :
              ( ( member_nat @ A1 @ A2 )
             => ( ( member_nat @ A22 @ A2 )
               => ( ( member_a @ B3 @ B2 )
                 => ( ( R2 @ A1 @ B3 )
                   => ( ( R2 @ A22 @ B3 )
                     => ( A1 = A22 ) ) ) ) ) )
         => ( ord_less_eq_nat @ ( finite_card_nat @ A2 ) @ ( finite_card_a @ B2 ) ) ) ) ) ).

% card_le_if_inj_on_rel
thf(fact_1015_card__le__if__inj__on__rel,axiom,
    ! [B2: set_a,A2: set_a,R2: a > a > $o] :
      ( ( finite_finite_a @ B2 )
     => ( ! [A3: a] :
            ( ( member_a @ A3 @ A2 )
           => ? [B8: a] :
                ( ( member_a @ B8 @ B2 )
                & ( R2 @ A3 @ B8 ) ) )
       => ( ! [A1: a,A22: a,B3: a] :
              ( ( member_a @ A1 @ A2 )
             => ( ( member_a @ A22 @ A2 )
               => ( ( member_a @ B3 @ B2 )
                 => ( ( R2 @ A1 @ B3 )
                   => ( ( R2 @ A22 @ B3 )
                     => ( A1 = A22 ) ) ) ) ) )
         => ( ord_less_eq_nat @ ( finite_card_a @ A2 ) @ ( finite_card_a @ B2 ) ) ) ) ) ).

% card_le_if_inj_on_rel
thf(fact_1016_card__le__if__inj__on__rel,axiom,
    ! [B2: set_nat,A2: set_nat,R2: nat > nat > $o] :
      ( ( finite_finite_nat @ B2 )
     => ( ! [A3: nat] :
            ( ( member_nat @ A3 @ A2 )
           => ? [B8: nat] :
                ( ( member_nat @ B8 @ B2 )
                & ( R2 @ A3 @ B8 ) ) )
       => ( ! [A1: nat,A22: nat,B3: nat] :
              ( ( member_nat @ A1 @ A2 )
             => ( ( member_nat @ A22 @ A2 )
               => ( ( member_nat @ B3 @ B2 )
                 => ( ( R2 @ A1 @ B3 )
                   => ( ( R2 @ A22 @ B3 )
                     => ( A1 = A22 ) ) ) ) ) )
         => ( ord_less_eq_nat @ ( finite_card_nat @ A2 ) @ ( finite_card_nat @ B2 ) ) ) ) ) ).

% card_le_if_inj_on_rel
thf(fact_1017_card__le__if__inj__on__rel,axiom,
    ! [B2: set_nat,A2: set_a,R2: a > nat > $o] :
      ( ( finite_finite_nat @ B2 )
     => ( ! [A3: a] :
            ( ( member_a @ A3 @ A2 )
           => ? [B8: nat] :
                ( ( member_nat @ B8 @ B2 )
                & ( R2 @ A3 @ B8 ) ) )
       => ( ! [A1: a,A22: a,B3: nat] :
              ( ( member_a @ A1 @ A2 )
             => ( ( member_a @ A22 @ A2 )
               => ( ( member_nat @ B3 @ B2 )
                 => ( ( R2 @ A1 @ B3 )
                   => ( ( R2 @ A22 @ B3 )
                     => ( A1 = A22 ) ) ) ) ) )
         => ( ord_less_eq_nat @ ( finite_card_a @ A2 ) @ ( finite_card_nat @ B2 ) ) ) ) ) ).

% card_le_if_inj_on_rel
thf(fact_1018_pred__subset__eq,axiom,
    ! [R: set_nat,S: set_nat] :
      ( ( ord_less_eq_nat_o
        @ ^ [X3: nat] : ( member_nat @ X3 @ R )
        @ ^ [X3: nat] : ( member_nat @ X3 @ S ) )
      = ( ord_less_eq_set_nat @ R @ S ) ) ).

% pred_subset_eq
thf(fact_1019_pred__subset__eq,axiom,
    ! [R: set_a,S: set_a] :
      ( ( ord_less_eq_a_o
        @ ^ [X3: a] : ( member_a @ X3 @ R )
        @ ^ [X3: a] : ( member_a @ X3 @ S ) )
      = ( ord_less_eq_set_a @ R @ S ) ) ).

% pred_subset_eq
thf(fact_1020_inj__on__diff__nat,axiom,
    ! [N: set_nat,K3: nat] :
      ( ! [N4: nat] :
          ( ( member_nat @ N4 @ N )
         => ( ord_less_eq_nat @ K3 @ N4 ) )
     => ( inj_on_nat_nat
        @ ^ [N3: nat] : ( minus_minus_nat @ N3 @ K3 )
        @ N ) ) ).

% inj_on_diff_nat
thf(fact_1021_sup__Un__eq,axiom,
    ! [R: set_a,S: set_a] :
      ( ( sup_sup_a_o
        @ ^ [X3: a] : ( member_a @ X3 @ R )
        @ ^ [X3: a] : ( member_a @ X3 @ S ) )
      = ( ^ [X3: a] : ( member_a @ X3 @ ( sup_sup_set_a @ R @ S ) ) ) ) ).

% sup_Un_eq
thf(fact_1022_sup__Un__eq,axiom,
    ! [R: set_nat,S: set_nat] :
      ( ( sup_sup_nat_o
        @ ^ [X3: nat] : ( member_nat @ X3 @ R )
        @ ^ [X3: nat] : ( member_nat @ X3 @ S ) )
      = ( ^ [X3: nat] : ( member_nat @ X3 @ ( sup_sup_set_nat @ R @ S ) ) ) ) ).

% sup_Un_eq
thf(fact_1023_sup__set__def,axiom,
    ( sup_sup_set_a
    = ( ^ [A6: set_a,B5: set_a] :
          ( collect_a
          @ ( sup_sup_a_o
            @ ^ [X3: a] : ( member_a @ X3 @ A6 )
            @ ^ [X3: a] : ( member_a @ X3 @ B5 ) ) ) ) ) ).

% sup_set_def
thf(fact_1024_sup__set__def,axiom,
    ( sup_sup_set_nat
    = ( ^ [A6: set_nat,B5: set_nat] :
          ( collect_nat
          @ ( sup_sup_nat_o
            @ ^ [X3: nat] : ( member_nat @ X3 @ A6 )
            @ ^ [X3: nat] : ( member_nat @ X3 @ B5 ) ) ) ) ) ).

% sup_set_def
thf(fact_1025_bounded__Max__nat,axiom,
    ! [P: nat > $o,X: nat,M: nat] :
      ( ( P @ X )
     => ( ! [X2: nat] :
            ( ( P @ X2 )
           => ( ord_less_eq_nat @ X2 @ M ) )
       => ~ ! [M3: nat] :
              ( ( P @ M3 )
             => ~ ! [X4: nat] :
                    ( ( P @ X4 )
                   => ( ord_less_eq_nat @ X4 @ M3 ) ) ) ) ) ).

% bounded_Max_nat
thf(fact_1026_Nat_Oex__has__greatest__nat,axiom,
    ! [P: nat > $o,K3: nat,B: nat] :
      ( ( P @ K3 )
     => ( ! [Y5: nat] :
            ( ( P @ Y5 )
           => ( ord_less_eq_nat @ Y5 @ B ) )
       => ? [X2: nat] :
            ( ( P @ X2 )
            & ! [Y6: nat] :
                ( ( P @ Y6 )
               => ( ord_less_eq_nat @ Y6 @ X2 ) ) ) ) ) ).

% Nat.ex_has_greatest_nat
thf(fact_1027_nat__le__linear,axiom,
    ! [M4: nat,N2: nat] :
      ( ( ord_less_eq_nat @ M4 @ N2 )
      | ( ord_less_eq_nat @ N2 @ M4 ) ) ).

% nat_le_linear
thf(fact_1028_le__antisym,axiom,
    ! [M4: nat,N2: nat] :
      ( ( ord_less_eq_nat @ M4 @ N2 )
     => ( ( ord_less_eq_nat @ N2 @ M4 )
       => ( M4 = N2 ) ) ) ).

% le_antisym
thf(fact_1029_eq__imp__le,axiom,
    ! [M4: nat,N2: nat] :
      ( ( M4 = N2 )
     => ( ord_less_eq_nat @ M4 @ N2 ) ) ).

% eq_imp_le
thf(fact_1030_le__trans,axiom,
    ! [I3: nat,J2: nat,K3: nat] :
      ( ( ord_less_eq_nat @ I3 @ J2 )
     => ( ( ord_less_eq_nat @ J2 @ K3 )
       => ( ord_less_eq_nat @ I3 @ K3 ) ) ) ).

% le_trans
thf(fact_1031_le__refl,axiom,
    ! [N2: nat] : ( ord_less_eq_nat @ N2 @ N2 ) ).

% le_refl
thf(fact_1032_finite__nat__set__iff__bounded__le,axiom,
    ( finite_finite_nat
    = ( ^ [N5: set_nat] :
        ? [M5: nat] :
        ! [X3: nat] :
          ( ( member_nat @ X3 @ N5 )
         => ( ord_less_eq_nat @ X3 @ M5 ) ) ) ) ).

% finite_nat_set_iff_bounded_le
thf(fact_1033_diff__commute,axiom,
    ! [I3: nat,J2: nat,K3: nat] :
      ( ( minus_minus_nat @ ( minus_minus_nat @ I3 @ J2 ) @ K3 )
      = ( minus_minus_nat @ ( minus_minus_nat @ I3 @ K3 ) @ J2 ) ) ).

% diff_commute
thf(fact_1034_finite__less__ub,axiom,
    ! [F: nat > nat,U: nat] :
      ( ! [N4: nat] : ( ord_less_eq_nat @ N4 @ ( F @ N4 ) )
     => ( finite_finite_nat
        @ ( collect_nat
          @ ^ [N3: nat] : ( ord_less_eq_nat @ ( F @ N3 ) @ U ) ) ) ) ).

% finite_less_ub
thf(fact_1035_inf__Int__eq,axiom,
    ! [R: set_a,S: set_a] :
      ( ( inf_inf_a_o
        @ ^ [X3: a] : ( member_a @ X3 @ R )
        @ ^ [X3: a] : ( member_a @ X3 @ S ) )
      = ( ^ [X3: a] : ( member_a @ X3 @ ( inf_inf_set_a @ R @ S ) ) ) ) ).

% inf_Int_eq
thf(fact_1036_inf__Int__eq,axiom,
    ! [R: set_nat,S: set_nat] :
      ( ( inf_inf_nat_o
        @ ^ [X3: nat] : ( member_nat @ X3 @ R )
        @ ^ [X3: nat] : ( member_nat @ X3 @ S ) )
      = ( ^ [X3: nat] : ( member_nat @ X3 @ ( inf_inf_set_nat @ R @ S ) ) ) ) ).

% inf_Int_eq
thf(fact_1037_diff__le__mono2,axiom,
    ! [M4: nat,N2: nat,L: nat] :
      ( ( ord_less_eq_nat @ M4 @ N2 )
     => ( ord_less_eq_nat @ ( minus_minus_nat @ L @ N2 ) @ ( minus_minus_nat @ L @ M4 ) ) ) ).

% diff_le_mono2
thf(fact_1038_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_1039_diff__le__self,axiom,
    ! [M4: nat,N2: nat] : ( ord_less_eq_nat @ ( minus_minus_nat @ M4 @ N2 ) @ M4 ) ).

% diff_le_self
thf(fact_1040_diff__le__mono,axiom,
    ! [M4: nat,N2: nat,L: nat] :
      ( ( ord_less_eq_nat @ M4 @ N2 )
     => ( ord_less_eq_nat @ ( minus_minus_nat @ M4 @ L ) @ ( minus_minus_nat @ N2 @ L ) ) ) ).

% diff_le_mono
thf(fact_1041_Nat_Odiff__diff__eq,axiom,
    ! [K3: nat,M4: nat,N2: nat] :
      ( ( ord_less_eq_nat @ K3 @ M4 )
     => ( ( ord_less_eq_nat @ K3 @ N2 )
       => ( ( minus_minus_nat @ ( minus_minus_nat @ M4 @ K3 ) @ ( minus_minus_nat @ N2 @ K3 ) )
          = ( minus_minus_nat @ M4 @ N2 ) ) ) ) ).

% Nat.diff_diff_eq
thf(fact_1042_le__diff__iff,axiom,
    ! [K3: nat,M4: nat,N2: nat] :
      ( ( ord_less_eq_nat @ K3 @ M4 )
     => ( ( ord_less_eq_nat @ K3 @ N2 )
       => ( ( ord_less_eq_nat @ ( minus_minus_nat @ M4 @ K3 ) @ ( minus_minus_nat @ N2 @ K3 ) )
          = ( ord_less_eq_nat @ M4 @ N2 ) ) ) ) ).

% le_diff_iff
thf(fact_1043_eq__diff__iff,axiom,
    ! [K3: nat,M4: nat,N2: nat] :
      ( ( ord_less_eq_nat @ K3 @ M4 )
     => ( ( ord_less_eq_nat @ K3 @ N2 )
       => ( ( ( minus_minus_nat @ M4 @ K3 )
            = ( minus_minus_nat @ N2 @ K3 ) )
          = ( M4 = N2 ) ) ) ) ).

% eq_diff_iff
thf(fact_1044_bot__empty__eq,axiom,
    ( bot_bot_a_o
    = ( ^ [X3: a] : ( member_a @ X3 @ bot_bot_set_a ) ) ) ).

% bot_empty_eq
thf(fact_1045_bot__empty__eq,axiom,
    ( bot_bot_nat_o
    = ( ^ [X3: nat] : ( member_nat @ X3 @ bot_bot_set_nat ) ) ) ).

% bot_empty_eq
thf(fact_1046_Collect__empty__eq__bot,axiom,
    ! [P: a > $o] :
      ( ( ( collect_a @ P )
        = bot_bot_set_a )
      = ( P = bot_bot_a_o ) ) ).

% Collect_empty_eq_bot
thf(fact_1047_Collect__empty__eq__bot,axiom,
    ! [P: nat > $o] :
      ( ( ( collect_nat @ P )
        = bot_bot_set_nat )
      = ( P = bot_bot_nat_o ) ) ).

% Collect_empty_eq_bot
thf(fact_1048_arg__min__least,axiom,
    ! [S: set_a,Y: a,F: a > nat] :
      ( ( finite_finite_a @ S )
     => ( ( S != bot_bot_set_a )
       => ( ( member_a @ Y @ S )
         => ( ord_less_eq_nat @ ( F @ ( lattic6340287419671400565_a_nat @ F @ S ) ) @ ( F @ Y ) ) ) ) ) ).

% arg_min_least
thf(fact_1049_arg__min__least,axiom,
    ! [S: set_nat,Y: nat,F: nat > nat] :
      ( ( finite_finite_nat @ S )
     => ( ( S != bot_bot_set_nat )
       => ( ( member_nat @ Y @ S )
         => ( ord_less_eq_nat @ ( F @ ( lattic7446932960582359483at_nat @ F @ S ) ) @ ( F @ Y ) ) ) ) ) ).

% arg_min_least
thf(fact_1050_minus__fold__remove,axiom,
    ! [A2: set_a,B2: set_a] :
      ( ( finite_finite_a @ A2 )
     => ( ( minus_minus_set_a @ B2 @ A2 )
        = ( finite_fold_a_set_a @ remove_a @ B2 @ A2 ) ) ) ).

% minus_fold_remove
thf(fact_1051_minus__fold__remove,axiom,
    ! [A2: set_nat,B2: set_nat] :
      ( ( finite_finite_nat @ A2 )
     => ( ( minus_minus_set_nat @ B2 @ A2 )
        = ( finite5529483035118572448et_nat @ remove_nat @ B2 @ A2 ) ) ) ).

% minus_fold_remove
thf(fact_1052_member__remove,axiom,
    ! [X: a,Y: a,A2: set_a] :
      ( ( member_a @ X @ ( remove_a @ Y @ A2 ) )
      = ( ( member_a @ X @ A2 )
        & ( X != Y ) ) ) ).

% member_remove
thf(fact_1053_member__remove,axiom,
    ! [X: nat,Y: nat,A2: set_nat] :
      ( ( member_nat @ X @ ( remove_nat @ Y @ A2 ) )
      = ( ( member_nat @ X @ A2 )
        & ( X != Y ) ) ) ).

% member_remove
thf(fact_1054_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_1055_extensional__arb,axiom,
    ! [F: a > a,A2: set_a,X: a] :
      ( ( member_a_a @ F @ ( extensional_a_a @ A2 ) )
     => ( ~ ( member_a @ X @ A2 )
       => ( ( F @ X )
          = undefined_a ) ) ) ).

% extensional_arb
thf(fact_1056_extensional__arb,axiom,
    ! [F: nat > a,A2: set_nat,X: nat] :
      ( ( member_nat_a @ F @ ( extensional_nat_a @ A2 ) )
     => ( ~ ( member_nat @ X @ A2 )
       => ( ( F @ X )
          = undefined_a ) ) ) ).

% extensional_arb
thf(fact_1057_fold__graph__closed__eq,axiom,
    ! [A2: set_a,B2: set_a,F: a > a > a,G: a > a > a,Z: a] :
      ( ! [A3: a,B3: a] :
          ( ( member_a @ A3 @ A2 )
         => ( ( member_a @ B3 @ B2 )
           => ( ( F @ A3 @ B3 )
              = ( G @ A3 @ B3 ) ) ) )
     => ( ! [A3: a,B3: a] :
            ( ( member_a @ A3 @ A2 )
           => ( ( member_a @ B3 @ B2 )
             => ( member_a @ ( G @ A3 @ B3 ) @ B2 ) ) )
       => ( ( member_a @ Z @ B2 )
         => ( ( finite7874008084079289286ph_a_a @ F @ Z @ A2 )
            = ( finite7874008084079289286ph_a_a @ G @ Z @ A2 ) ) ) ) ) ).

% fold_graph_closed_eq
thf(fact_1058_fold__graph__closed__eq,axiom,
    ! [A2: set_a,B2: set_nat,F: a > nat > nat,G: a > nat > nat,Z: nat] :
      ( ! [A3: a,B3: nat] :
          ( ( member_a @ A3 @ A2 )
         => ( ( member_nat @ B3 @ B2 )
           => ( ( F @ A3 @ B3 )
              = ( G @ A3 @ B3 ) ) ) )
     => ( ! [A3: a,B3: nat] :
            ( ( member_a @ A3 @ A2 )
           => ( ( member_nat @ B3 @ B2 )
             => ( member_nat @ ( G @ A3 @ B3 ) @ B2 ) ) )
       => ( ( member_nat @ Z @ B2 )
         => ( ( finite5110433740378173704_a_nat @ F @ Z @ A2 )
            = ( finite5110433740378173704_a_nat @ G @ Z @ A2 ) ) ) ) ) ).

% fold_graph_closed_eq
thf(fact_1059_fold__graph__closed__eq,axiom,
    ! [A2: set_nat,B2: set_a,F: nat > a > a,G: nat > a > a,Z: a] :
      ( ! [A3: nat,B3: a] :
          ( ( member_nat @ A3 @ A2 )
         => ( ( member_a @ B3 @ B2 )
           => ( ( F @ A3 @ B3 )
              = ( G @ A3 @ B3 ) ) ) )
     => ( ! [A3: nat,B3: a] :
            ( ( member_nat @ A3 @ A2 )
           => ( ( member_a @ B3 @ B2 )
             => ( member_a @ ( G @ A3 @ B3 ) @ B2 ) ) )
       => ( ( member_a @ Z @ B2 )
         => ( ( finite9142365241556460134_nat_a @ F @ Z @ A2 )
            = ( finite9142365241556460134_nat_a @ G @ Z @ A2 ) ) ) ) ) ).

% fold_graph_closed_eq
thf(fact_1060_fold__graph__closed__eq,axiom,
    ! [A2: set_nat,B2: set_nat,F: nat > nat > nat,G: nat > nat > nat,Z: nat] :
      ( ! [A3: nat,B3: nat] :
          ( ( member_nat @ A3 @ A2 )
         => ( ( member_nat @ B3 @ B2 )
           => ( ( F @ A3 @ B3 )
              = ( G @ A3 @ B3 ) ) ) )
     => ( ! [A3: nat,B3: nat] :
            ( ( member_nat @ A3 @ A2 )
           => ( ( member_nat @ B3 @ B2 )
             => ( member_nat @ ( G @ A3 @ B3 ) @ B2 ) ) )
       => ( ( member_nat @ Z @ B2 )
         => ( ( finite1441398328259824232at_nat @ F @ Z @ A2 )
            = ( finite1441398328259824232at_nat @ G @ Z @ A2 ) ) ) ) ) ).

% fold_graph_closed_eq
thf(fact_1061_fold__graph__closed__lemma,axiom,
    ! [G: a > a > a,Z: a,A2: set_a,X: a,B2: set_a,F: a > a > a] :
      ( ( finite7874008084079289286ph_a_a @ G @ Z @ A2 @ X )
     => ( ! [A3: a,B3: a] :
            ( ( member_a @ A3 @ A2 )
           => ( ( member_a @ B3 @ B2 )
             => ( ( F @ A3 @ B3 )
                = ( G @ A3 @ B3 ) ) ) )
       => ( ! [A3: a,B3: a] :
              ( ( member_a @ A3 @ A2 )
             => ( ( member_a @ B3 @ B2 )
               => ( member_a @ ( G @ A3 @ B3 ) @ B2 ) ) )
         => ( ( member_a @ Z @ B2 )
           => ( ( finite7874008084079289286ph_a_a @ F @ Z @ A2 @ X )
              & ( member_a @ X @ B2 ) ) ) ) ) ) ).

% fold_graph_closed_lemma
thf(fact_1062_fold__graph__closed__lemma,axiom,
    ! [G: a > nat > nat,Z: nat,A2: set_a,X: nat,B2: set_nat,F: a > nat > nat] :
      ( ( finite5110433740378173704_a_nat @ G @ Z @ A2 @ X )
     => ( ! [A3: a,B3: nat] :
            ( ( member_a @ A3 @ A2 )
           => ( ( member_nat @ B3 @ B2 )
             => ( ( F @ A3 @ B3 )
                = ( G @ A3 @ B3 ) ) ) )
       => ( ! [A3: a,B3: nat] :
              ( ( member_a @ A3 @ A2 )
             => ( ( member_nat @ B3 @ B2 )
               => ( member_nat @ ( G @ A3 @ B3 ) @ B2 ) ) )
         => ( ( member_nat @ Z @ B2 )
           => ( ( finite5110433740378173704_a_nat @ F @ Z @ A2 @ X )
              & ( member_nat @ X @ B2 ) ) ) ) ) ) ).

% fold_graph_closed_lemma
thf(fact_1063_fold__graph__closed__lemma,axiom,
    ! [G: nat > a > a,Z: a,A2: set_nat,X: a,B2: set_a,F: nat > a > a] :
      ( ( finite9142365241556460134_nat_a @ G @ Z @ A2 @ X )
     => ( ! [A3: nat,B3: a] :
            ( ( member_nat @ A3 @ A2 )
           => ( ( member_a @ B3 @ B2 )
             => ( ( F @ A3 @ B3 )
                = ( G @ A3 @ B3 ) ) ) )
       => ( ! [A3: nat,B3: a] :
              ( ( member_nat @ A3 @ A2 )
             => ( ( member_a @ B3 @ B2 )
               => ( member_a @ ( G @ A3 @ B3 ) @ B2 ) ) )
         => ( ( member_a @ Z @ B2 )
           => ( ( finite9142365241556460134_nat_a @ F @ Z @ A2 @ X )
              & ( member_a @ X @ B2 ) ) ) ) ) ) ).

% fold_graph_closed_lemma
thf(fact_1064_fold__graph__closed__lemma,axiom,
    ! [G: nat > nat > nat,Z: nat,A2: set_nat,X: nat,B2: set_nat,F: nat > nat > nat] :
      ( ( finite1441398328259824232at_nat @ G @ Z @ A2 @ X )
     => ( ! [A3: nat,B3: nat] :
            ( ( member_nat @ A3 @ A2 )
           => ( ( member_nat @ B3 @ B2 )
             => ( ( F @ A3 @ B3 )
                = ( G @ A3 @ B3 ) ) ) )
       => ( ! [A3: nat,B3: nat] :
              ( ( member_nat @ A3 @ A2 )
             => ( ( member_nat @ B3 @ B2 )
               => ( member_nat @ ( G @ A3 @ B3 ) @ B2 ) ) )
         => ( ( member_nat @ Z @ B2 )
           => ( ( finite1441398328259824232at_nat @ F @ Z @ A2 @ X )
              & ( member_nat @ X @ B2 ) ) ) ) ) ) ).

% fold_graph_closed_lemma
thf(fact_1065_image__Fpow__mono,axiom,
    ! [F: a > a,A2: set_a,B2: set_a] :
      ( ( ord_less_eq_set_a @ ( image_a_a @ F @ A2 ) @ B2 )
     => ( ord_le3724670747650509150_set_a @ ( image_set_a_set_a @ ( image_a_a @ F ) @ ( finite_Fpow_a @ A2 ) ) @ ( finite_Fpow_a @ B2 ) ) ) ).

% image_Fpow_mono
thf(fact_1066_arg__min__inj__eq,axiom,
    ! [F: a > set_a,P: a > $o,A: a] :
      ( ( inj_on_a_set_a @ F @ ( collect_a @ P ) )
     => ( ( P @ A )
       => ( ! [Y5: a] :
              ( ( P @ Y5 )
             => ( ord_less_eq_set_a @ ( F @ A ) @ ( F @ Y5 ) ) )
         => ( ( lattic7984020741579264250_set_a @ F @ P )
            = A ) ) ) ) ).

% arg_min_inj_eq
thf(fact_1067_arg__min__inj__eq,axiom,
    ! [F: nat > set_a,P: nat > $o,A: nat] :
      ( ( inj_on_nat_set_a @ F @ ( collect_nat @ P ) )
     => ( ( P @ A )
       => ( ! [Y5: nat] :
              ( ( P @ Y5 )
             => ( ord_less_eq_set_a @ ( F @ A ) @ ( F @ Y5 ) ) )
         => ( ( lattic4259886613013183218_set_a @ F @ P )
            = A ) ) ) ) ).

% arg_min_inj_eq
thf(fact_1068_arg__min__inj__eq,axiom,
    ! [F: a > nat,P: a > $o,A: a] :
      ( ( inj_on_a_nat @ F @ ( collect_a @ P ) )
     => ( ( P @ A )
       => ( ! [Y5: a] :
              ( ( P @ Y5 )
             => ( ord_less_eq_nat @ ( F @ A ) @ ( F @ Y5 ) ) )
         => ( ( lattic1189635703294652468_a_nat @ F @ P )
            = A ) ) ) ) ).

% arg_min_inj_eq
thf(fact_1069_arg__min__inj__eq,axiom,
    ! [F: nat > nat,P: nat > $o,A: nat] :
      ( ( inj_on_nat_nat @ F @ ( collect_nat @ P ) )
     => ( ( P @ A )
       => ( ! [Y5: nat] :
              ( ( P @ Y5 )
             => ( ord_less_eq_nat @ ( F @ A ) @ ( F @ Y5 ) ) )
         => ( ( lattic8739620818006775868at_nat @ F @ P )
            = A ) ) ) ) ).

% arg_min_inj_eq
thf(fact_1070_PiE__I,axiom,
    ! [A2: set_a,F: a > nat,B2: a > set_nat] :
      ( ! [X2: a] :
          ( ( member_a @ X2 @ A2 )
         => ( member_nat @ ( F @ X2 ) @ ( B2 @ X2 ) ) )
     => ( ! [X2: a] :
            ( ~ ( member_a @ X2 @ A2 )
           => ( ( F @ X2 )
              = undefined_nat ) )
       => ( member_a_nat @ F @ ( piE_a_nat @ A2 @ B2 ) ) ) ) ).

% PiE_I
thf(fact_1071_PiE__I,axiom,
    ! [A2: set_nat,F: nat > nat,B2: nat > set_nat] :
      ( ! [X2: nat] :
          ( ( member_nat @ X2 @ A2 )
         => ( member_nat @ ( F @ X2 ) @ ( B2 @ X2 ) ) )
     => ( ! [X2: nat] :
            ( ~ ( member_nat @ X2 @ A2 )
           => ( ( F @ X2 )
              = undefined_nat ) )
       => ( member_nat_nat @ F @ ( piE_nat_nat @ A2 @ B2 ) ) ) ) ).

% PiE_I
thf(fact_1072_PiE__I,axiom,
    ! [A2: set_a,F: a > a,B2: a > set_a] :
      ( ! [X2: a] :
          ( ( member_a @ X2 @ A2 )
         => ( member_a @ ( F @ X2 ) @ ( B2 @ X2 ) ) )
     => ( ! [X2: a] :
            ( ~ ( member_a @ X2 @ A2 )
           => ( ( F @ X2 )
              = undefined_a ) )
       => ( member_a_a @ F @ ( piE_a_a @ A2 @ B2 ) ) ) ) ).

% PiE_I
thf(fact_1073_PiE__I,axiom,
    ! [A2: set_nat,F: nat > a,B2: nat > set_a] :
      ( ! [X2: nat] :
          ( ( member_nat @ X2 @ A2 )
         => ( member_a @ ( F @ X2 ) @ ( B2 @ X2 ) ) )
     => ( ! [X2: nat] :
            ( ~ ( member_nat @ X2 @ A2 )
           => ( ( F @ X2 )
              = undefined_a ) )
       => ( member_nat_a @ F @ ( piE_nat_a @ A2 @ B2 ) ) ) ) ).

% PiE_I
thf(fact_1074_Fpow__mono,axiom,
    ! [A2: set_a,B2: set_a] :
      ( ( ord_less_eq_set_a @ A2 @ B2 )
     => ( ord_le3724670747650509150_set_a @ ( finite_Fpow_a @ A2 ) @ ( finite_Fpow_a @ B2 ) ) ) ).

% Fpow_mono
thf(fact_1075_finite__PiE,axiom,
    ! [S: set_a,T2: a > set_a] :
      ( ( finite_finite_a @ S )
     => ( ! [I2: a] :
            ( ( member_a @ I2 @ S )
           => ( finite_finite_a @ ( T2 @ I2 ) ) )
       => ( finite_finite_a_a @ ( piE_a_a @ S @ T2 ) ) ) ) ).

% finite_PiE
thf(fact_1076_finite__PiE,axiom,
    ! [S: set_a,T2: a > set_nat] :
      ( ( finite_finite_a @ S )
     => ( ! [I2: a] :
            ( ( member_a @ I2 @ S )
           => ( finite_finite_nat @ ( T2 @ I2 ) ) )
       => ( finite_finite_a_nat @ ( piE_a_nat @ S @ T2 ) ) ) ) ).

% finite_PiE
thf(fact_1077_finite__PiE,axiom,
    ! [S: set_nat,T2: nat > set_a] :
      ( ( finite_finite_nat @ S )
     => ( ! [I2: nat] :
            ( ( member_nat @ I2 @ S )
           => ( finite_finite_a @ ( T2 @ I2 ) ) )
       => ( finite_finite_nat_a @ ( piE_nat_a @ S @ T2 ) ) ) ) ).

% finite_PiE
thf(fact_1078_finite__PiE,axiom,
    ! [S: set_nat,T2: nat > set_nat] :
      ( ( finite_finite_nat @ S )
     => ( ! [I2: nat] :
            ( ( member_nat @ I2 @ S )
           => ( finite_finite_nat @ ( T2 @ I2 ) ) )
       => ( finite2115694454571419734at_nat @ ( piE_nat_nat @ S @ T2 ) ) ) ) ).

% finite_PiE
thf(fact_1079_PiE__eq__subset,axiom,
    ! [I4: set_a,F2: a > set_a,F6: a > set_a,I3: a] :
      ( ! [I2: a] :
          ( ( member_a @ I2 @ I4 )
         => ( ( F2 @ I2 )
           != bot_bot_set_a ) )
     => ( ! [I2: a] :
            ( ( member_a @ I2 @ I4 )
           => ( ( F6 @ I2 )
             != bot_bot_set_a ) )
       => ( ( ( piE_a_a @ I4 @ F2 )
            = ( piE_a_a @ I4 @ F6 ) )
         => ( ( member_a @ I3 @ I4 )
           => ( ord_less_eq_set_a @ ( F2 @ I3 ) @ ( F6 @ I3 ) ) ) ) ) ) ).

% PiE_eq_subset
thf(fact_1080_PiE__eq__subset,axiom,
    ! [I4: set_nat,F2: nat > set_a,F6: nat > set_a,I3: nat] :
      ( ! [I2: nat] :
          ( ( member_nat @ I2 @ I4 )
         => ( ( F2 @ I2 )
           != bot_bot_set_a ) )
     => ( ! [I2: nat] :
            ( ( member_nat @ I2 @ I4 )
           => ( ( F6 @ I2 )
             != bot_bot_set_a ) )
       => ( ( ( piE_nat_a @ I4 @ F2 )
            = ( piE_nat_a @ I4 @ F6 ) )
         => ( ( member_nat @ I3 @ I4 )
           => ( ord_less_eq_set_a @ ( F2 @ I3 ) @ ( F6 @ I3 ) ) ) ) ) ) ).

% PiE_eq_subset
thf(fact_1081_PiE__mem,axiom,
    ! [F: a > a,S: set_a,T2: a > set_a,X: a] :
      ( ( member_a_a @ F @ ( piE_a_a @ S @ T2 ) )
     => ( ( member_a @ X @ S )
       => ( member_a @ ( F @ X ) @ ( T2 @ X ) ) ) ) ).

% PiE_mem
thf(fact_1082_PiE__mem,axiom,
    ! [F: a > nat,S: set_a,T2: a > set_nat,X: a] :
      ( ( member_a_nat @ F @ ( piE_a_nat @ S @ T2 ) )
     => ( ( member_a @ X @ S )
       => ( member_nat @ ( F @ X ) @ ( T2 @ X ) ) ) ) ).

% PiE_mem
thf(fact_1083_PiE__mem,axiom,
    ! [F: nat > a,S: set_nat,T2: nat > set_a,X: nat] :
      ( ( member_nat_a @ F @ ( piE_nat_a @ S @ T2 ) )
     => ( ( member_nat @ X @ S )
       => ( member_a @ ( F @ X ) @ ( T2 @ X ) ) ) ) ).

% PiE_mem
thf(fact_1084_PiE__mem,axiom,
    ! [F: nat > nat,S: set_nat,T2: nat > set_nat,X: nat] :
      ( ( member_nat_nat @ F @ ( piE_nat_nat @ S @ T2 ) )
     => ( ( member_nat @ X @ S )
       => ( member_nat @ ( F @ X ) @ ( T2 @ X ) ) ) ) ).

% PiE_mem
thf(fact_1085_PiE__arb,axiom,
    ! [F: a > a,S: set_a,T2: a > set_a,X: a] :
      ( ( member_a_a @ F @ ( piE_a_a @ S @ T2 ) )
     => ( ~ ( member_a @ X @ S )
       => ( ( F @ X )
          = undefined_a ) ) ) ).

% PiE_arb
thf(fact_1086_PiE__arb,axiom,
    ! [F: nat > a,S: set_nat,T2: nat > set_a,X: nat] :
      ( ( member_nat_a @ F @ ( piE_nat_a @ S @ T2 ) )
     => ( ~ ( member_nat @ X @ S )
       => ( ( F @ X )
          = undefined_a ) ) ) ).

% PiE_arb
thf(fact_1087_PiE__E,axiom,
    ! [F: a > nat,A2: set_a,B2: a > set_nat,X: a] :
      ( ( member_a_nat @ F @ ( piE_a_nat @ A2 @ B2 ) )
     => ( ( ( member_a @ X @ A2 )
         => ~ ( member_nat @ ( F @ X ) @ ( B2 @ X ) ) )
       => ~ ( ~ ( member_a @ X @ A2 )
           => ( ( F @ X )
             != undefined_nat ) ) ) ) ).

% PiE_E
thf(fact_1088_PiE__E,axiom,
    ! [F: nat > nat,A2: set_nat,B2: nat > set_nat,X: nat] :
      ( ( member_nat_nat @ F @ ( piE_nat_nat @ A2 @ B2 ) )
     => ( ( ( member_nat @ X @ A2 )
         => ~ ( member_nat @ ( F @ X ) @ ( B2 @ X ) ) )
       => ~ ( ~ ( member_nat @ X @ A2 )
           => ( ( F @ X )
             != undefined_nat ) ) ) ) ).

% PiE_E
thf(fact_1089_PiE__E,axiom,
    ! [F: a > a,A2: set_a,B2: a > set_a,X: a] :
      ( ( member_a_a @ F @ ( piE_a_a @ A2 @ B2 ) )
     => ( ( ( member_a @ X @ A2 )
         => ~ ( member_a @ ( F @ X ) @ ( B2 @ X ) ) )
       => ~ ( ~ ( member_a @ X @ A2 )
           => ( ( F @ X )
             != undefined_a ) ) ) ) ).

% PiE_E
thf(fact_1090_PiE__E,axiom,
    ! [F: nat > a,A2: set_nat,B2: nat > set_a,X: nat] :
      ( ( member_nat_a @ F @ ( piE_nat_a @ A2 @ B2 ) )
     => ( ( ( member_nat @ X @ A2 )
         => ~ ( member_a @ ( F @ X ) @ ( B2 @ X ) ) )
       => ~ ( ~ ( member_nat @ X @ A2 )
           => ( ( F @ X )
             != undefined_a ) ) ) ) ).

% PiE_E
thf(fact_1091_PiE__mono,axiom,
    ! [A2: set_a,B2: a > set_a,C4: a > set_a] :
      ( ! [X2: a] :
          ( ( member_a @ X2 @ A2 )
         => ( ord_less_eq_set_a @ ( B2 @ X2 ) @ ( C4 @ X2 ) ) )
     => ( ord_less_eq_set_a_a @ ( piE_a_a @ A2 @ B2 ) @ ( piE_a_a @ A2 @ C4 ) ) ) ).

% PiE_mono
thf(fact_1092_PiE__mono,axiom,
    ! [A2: set_nat,B2: nat > set_a,C4: nat > set_a] :
      ( ! [X2: nat] :
          ( ( member_nat @ X2 @ A2 )
         => ( ord_less_eq_set_a @ ( B2 @ X2 ) @ ( C4 @ X2 ) ) )
     => ( ord_le871467723717165285_nat_a @ ( piE_nat_a @ A2 @ B2 ) @ ( piE_nat_a @ A2 @ C4 ) ) ) ).

% PiE_mono
thf(fact_1093_inj__on__image__Fpow,axiom,
    ! [F: a > a,A2: set_a] :
      ( ( inj_on_a_a @ F @ A2 )
     => ( inj_on_set_a_set_a @ ( image_a_a @ F ) @ ( finite_Fpow_a @ A2 ) ) ) ).

% inj_on_image_Fpow
thf(fact_1094_inj__on__image__Fpow,axiom,
    ! [F: nat > nat,A2: set_nat] :
      ( ( inj_on_nat_nat @ F @ A2 )
     => ( inj_on4604407203859583615et_nat @ ( image_nat_nat @ F ) @ ( finite_Fpow_nat @ A2 ) ) ) ).

% inj_on_image_Fpow
thf(fact_1095_image__projection__PiE,axiom,
    ! [I4: set_a,S: a > set_a,I3: a] :
      ( ( ( ( piE_a_a @ I4 @ S )
          = bot_bot_set_a_a )
       => ( ( image_a_a_a
            @ ^ [F4: a > a] : ( F4 @ I3 )
            @ ( piE_a_a @ I4 @ S ) )
          = bot_bot_set_a ) )
      & ( ( ( piE_a_a @ I4 @ S )
         != bot_bot_set_a_a )
       => ( ( ( member_a @ I3 @ I4 )
           => ( ( image_a_a_a
                @ ^ [F4: a > a] : ( F4 @ I3 )
                @ ( piE_a_a @ I4 @ S ) )
              = ( S @ I3 ) ) )
          & ( ~ ( member_a @ I3 @ I4 )
           => ( ( image_a_a_a
                @ ^ [F4: a > a] : ( F4 @ I3 )
                @ ( piE_a_a @ I4 @ S ) )
              = ( insert_a @ undefined_a @ bot_bot_set_a ) ) ) ) ) ) ).

% image_projection_PiE
thf(fact_1096_image__projection__PiE,axiom,
    ! [I4: set_nat,S: nat > set_a,I3: nat] :
      ( ( ( ( piE_nat_a @ I4 @ S )
          = bot_bot_set_nat_a )
       => ( ( image_nat_a_a
            @ ^ [F4: nat > a] : ( F4 @ I3 )
            @ ( piE_nat_a @ I4 @ S ) )
          = bot_bot_set_a ) )
      & ( ( ( piE_nat_a @ I4 @ S )
         != bot_bot_set_nat_a )
       => ( ( ( member_nat @ I3 @ I4 )
           => ( ( image_nat_a_a
                @ ^ [F4: nat > a] : ( F4 @ I3 )
                @ ( piE_nat_a @ I4 @ S ) )
              = ( S @ I3 ) ) )
          & ( ~ ( member_nat @ I3 @ I4 )
           => ( ( image_nat_a_a
                @ ^ [F4: nat > a] : ( F4 @ I3 )
                @ ( piE_nat_a @ I4 @ S ) )
              = ( insert_a @ undefined_a @ bot_bot_set_a ) ) ) ) ) ) ).

% image_projection_PiE
thf(fact_1097_Fpow__def,axiom,
    ( finite_Fpow_nat
    = ( ^ [A6: set_nat] :
          ( collect_set_nat
          @ ^ [X7: set_nat] :
              ( ( ord_less_eq_set_nat @ X7 @ A6 )
              & ( finite_finite_nat @ X7 ) ) ) ) ) ).

% Fpow_def
thf(fact_1098_Fpow__def,axiom,
    ( finite_Fpow_a
    = ( ^ [A6: set_a] :
          ( collect_set_a
          @ ^ [X7: set_a] :
              ( ( ord_less_eq_set_a @ X7 @ A6 )
              & ( finite_finite_a @ X7 ) ) ) ) ) ).

% Fpow_def
thf(fact_1099_ext__funcset__to__sing__iff,axiom,
    ! [A2: set_a,A: a] :
      ( ( piE_a_a @ A2
        @ ^ [I: a] : ( insert_a @ A @ bot_bot_set_a ) )
      = ( insert_a_a
        @ ( restrict_a_a
          @ ^ [X3: a] : A
          @ A2 )
        @ bot_bot_set_a_a ) ) ).

% ext_funcset_to_sing_iff
thf(fact_1100_image__restrict__eq,axiom,
    ! [F: a > a,A2: set_a] :
      ( ( image_a_a @ ( restrict_a_a @ F @ A2 ) @ A2 )
      = ( image_a_a @ F @ A2 ) ) ).

% image_restrict_eq
thf(fact_1101_FuncSet_Orestrict__restrict,axiom,
    ! [F: a > a,A2: set_a,B2: set_a] :
      ( ( restrict_a_a @ ( restrict_a_a @ F @ A2 ) @ B2 )
      = ( restrict_a_a @ F @ ( inf_inf_set_a @ A2 @ B2 ) ) ) ).

% FuncSet.restrict_restrict
thf(fact_1102_inj__on__restrict__eq,axiom,
    ! [F: nat > nat,A2: set_nat] :
      ( ( inj_on_nat_nat @ ( restrict_nat_nat @ F @ A2 ) @ A2 )
      = ( inj_on_nat_nat @ F @ A2 ) ) ).

% inj_on_restrict_eq
thf(fact_1103_inj__on__restrict__eq,axiom,
    ! [F: a > a,A2: set_a] :
      ( ( inj_on_a_a @ ( restrict_a_a @ F @ A2 ) @ A2 )
      = ( inj_on_a_a @ F @ A2 ) ) ).

% inj_on_restrict_eq
thf(fact_1104_restrict__fupd,axiom,
    ! [I3: a,I4: set_a,F: a > a,X: a] :
      ( ~ ( member_a @ I3 @ I4 )
     => ( ( restrict_a_a @ ( fun_upd_a_a @ F @ I3 @ X ) @ I4 )
        = ( restrict_a_a @ F @ I4 ) ) ) ).

% restrict_fupd
thf(fact_1105_PiE__restrict,axiom,
    ! [F: a > a,A2: set_a,B2: a > set_a] :
      ( ( member_a_a @ F @ ( piE_a_a @ A2 @ B2 ) )
     => ( ( restrict_a_a @ F @ A2 )
        = F ) ) ).

% PiE_restrict
thf(fact_1106_restrictI,axiom,
    ! [A2: set_a,F: a > nat,B2: a > set_nat] :
      ( ! [X2: a] :
          ( ( member_a @ X2 @ A2 )
         => ( member_nat @ ( F @ X2 ) @ ( B2 @ X2 ) ) )
     => ( member_a_nat @ ( restrict_a_nat @ F @ A2 ) @ ( pi_a_nat @ A2 @ B2 ) ) ) ).

% restrictI
thf(fact_1107_restrictI,axiom,
    ! [A2: set_nat,F: nat > a,B2: nat > set_a] :
      ( ! [X2: nat] :
          ( ( member_nat @ X2 @ A2 )
         => ( member_a @ ( F @ X2 ) @ ( B2 @ X2 ) ) )
     => ( member_nat_a @ ( restrict_nat_a @ F @ A2 ) @ ( pi_nat_a @ A2 @ B2 ) ) ) ).

% restrictI
thf(fact_1108_restrictI,axiom,
    ! [A2: set_nat,F: nat > nat,B2: nat > set_nat] :
      ( ! [X2: nat] :
          ( ( member_nat @ X2 @ A2 )
         => ( member_nat @ ( F @ X2 ) @ ( B2 @ X2 ) ) )
     => ( member_nat_nat @ ( restrict_nat_nat @ F @ A2 ) @ ( pi_nat_nat @ A2 @ B2 ) ) ) ).

% restrictI
thf(fact_1109_restrictI,axiom,
    ! [A2: set_a,F: a > a,B2: a > set_a] :
      ( ! [X2: a] :
          ( ( member_a @ X2 @ A2 )
         => ( member_a @ ( F @ X2 ) @ ( B2 @ X2 ) ) )
     => ( member_a_a @ ( restrict_a_a @ F @ A2 ) @ ( pi_a_a @ A2 @ B2 ) ) ) ).

% restrictI
thf(fact_1110_restrict__apply,axiom,
    ( restrict_nat_a
    = ( ^ [F4: nat > a,A6: set_nat,X3: nat] : ( if_a @ ( member_nat @ X3 @ A6 ) @ ( F4 @ X3 ) @ undefined_a ) ) ) ).

% restrict_apply
thf(fact_1111_restrict__apply,axiom,
    ( restrict_a_a
    = ( ^ [F4: a > a,A6: set_a,X3: a] : ( if_a @ ( member_a @ X3 @ A6 ) @ ( F4 @ X3 ) @ undefined_a ) ) ) ).

% restrict_apply
thf(fact_1112_restrict__upd,axiom,
    ! [I3: a,I4: set_a,F: a > a,Y: a] :
      ( ~ ( member_a @ I3 @ I4 )
     => ( ( fun_upd_a_a @ ( restrict_a_a @ F @ I4 ) @ I3 @ Y )
        = ( restrict_a_a @ ( fun_upd_a_a @ F @ I3 @ Y ) @ ( insert_a @ I3 @ I4 ) ) ) ) ).

% restrict_upd
thf(fact_1113_restrict__PiE,axiom,
    ! [F: a > a,I4: set_a,S: a > set_a] :
      ( ( member_a_a @ ( restrict_a_a @ F @ I4 ) @ ( piE_a_a @ I4 @ S ) )
      = ( member_a_a @ F @ ( pi_a_a @ I4 @ S ) ) ) ).

% restrict_PiE
thf(fact_1114_restrict__extensional__sub,axiom,
    ! [A2: set_a,B2: set_a,F: a > a] :
      ( ( ord_less_eq_set_a @ A2 @ B2 )
     => ( member_a_a @ ( restrict_a_a @ F @ A2 ) @ ( extensional_a_a @ B2 ) ) ) ).

% restrict_extensional_sub
thf(fact_1115_inj__on__restrict__iff,axiom,
    ! [A2: set_nat,B2: set_nat,F: nat > nat] :
      ( ( ord_less_eq_set_nat @ A2 @ B2 )
     => ( ( inj_on_nat_nat @ ( restrict_nat_nat @ F @ B2 ) @ A2 )
        = ( inj_on_nat_nat @ F @ A2 ) ) ) ).

% inj_on_restrict_iff
thf(fact_1116_inj__on__restrict__iff,axiom,
    ! [A2: set_a,B2: set_a,F: a > a] :
      ( ( ord_less_eq_set_a @ A2 @ B2 )
     => ( ( inj_on_a_a @ ( restrict_a_a @ F @ B2 ) @ A2 )
        = ( inj_on_a_a @ F @ A2 ) ) ) ).

% inj_on_restrict_iff
thf(fact_1117_restrict__PiE__iff,axiom,
    ! [F: a > a,I4: set_a,X5: a > set_a] :
      ( ( member_a_a @ ( restrict_a_a @ F @ I4 ) @ ( piE_a_a @ I4 @ X5 ) )
      = ( ! [X3: a] :
            ( ( member_a @ X3 @ I4 )
           => ( member_a @ ( F @ X3 ) @ ( X5 @ X3 ) ) ) ) ) ).

% restrict_PiE_iff
thf(fact_1118_inj__on__fun__updI,axiom,
    ! [F: a > a,A2: set_a,Y: a,X: a] :
      ( ( inj_on_a_a @ F @ A2 )
     => ( ~ ( member_a @ Y @ ( image_a_a @ F @ A2 ) )
       => ( inj_on_a_a @ ( fun_upd_a_a @ F @ X @ Y ) @ A2 ) ) ) ).

% inj_on_fun_updI
thf(fact_1119_inj__on__fun__updI,axiom,
    ! [F: nat > nat,A2: set_nat,Y: nat,X: nat] :
      ( ( inj_on_nat_nat @ F @ A2 )
     => ( ~ ( member_nat @ Y @ ( image_nat_nat @ F @ A2 ) )
       => ( inj_on_nat_nat @ ( fun_upd_nat_nat @ F @ X @ Y ) @ A2 ) ) ) ).

% inj_on_fun_updI
thf(fact_1120_restrict__extensional,axiom,
    ! [F: a > a,A2: set_a] : ( member_a_a @ ( restrict_a_a @ F @ A2 ) @ ( extensional_a_a @ A2 ) ) ).

% restrict_extensional
thf(fact_1121_extensional__restrict,axiom,
    ! [F: a > a,A2: set_a] :
      ( ( member_a_a @ F @ ( extensional_a_a @ A2 ) )
     => ( ( restrict_a_a @ F @ A2 )
        = F ) ) ).

% extensional_restrict
thf(fact_1122_restrict__Pi__cancel,axiom,
    ! [X: a > a,I4: set_a,A2: a > set_a] :
      ( ( member_a_a @ ( restrict_a_a @ X @ I4 ) @ ( pi_a_a @ I4 @ A2 ) )
      = ( member_a_a @ X @ ( pi_a_a @ I4 @ A2 ) ) ) ).

% restrict_Pi_cancel
thf(fact_1123_restrict__def,axiom,
    ( restrict_nat_a
    = ( ^ [F4: nat > a,A6: set_nat,X3: nat] : ( if_a @ ( member_nat @ X3 @ A6 ) @ ( F4 @ X3 ) @ undefined_a ) ) ) ).

% restrict_def
thf(fact_1124_restrict__def,axiom,
    ( restrict_a_a
    = ( ^ [F4: a > a,A6: set_a,X3: a] : ( if_a @ ( member_a @ X3 @ A6 ) @ ( F4 @ X3 ) @ undefined_a ) ) ) ).

% restrict_def
thf(fact_1125_restrict__ext,axiom,
    ! [A2: set_a,F: a > a,G: a > a] :
      ( ! [X2: a] :
          ( ( member_a @ X2 @ A2 )
         => ( ( F @ X2 )
            = ( G @ X2 ) ) )
     => ( ( restrict_a_a @ F @ A2 )
        = ( restrict_a_a @ G @ A2 ) ) ) ).

% restrict_ext
thf(fact_1126_restrict__apply_H,axiom,
    ! [X: a,A2: set_a,F: a > a] :
      ( ( member_a @ X @ A2 )
     => ( ( restrict_a_a @ F @ A2 @ X )
        = ( F @ X ) ) ) ).

% restrict_apply'
thf(fact_1127_fun__upd__in__PiE,axiom,
    ! [X: a,S: set_a,F: a > a,T2: a > set_a] :
      ( ~ ( member_a @ X @ S )
     => ( ( member_a_a @ F @ ( piE_a_a @ ( insert_a @ X @ S ) @ T2 ) )
       => ( member_a_a @ ( fun_upd_a_a @ F @ X @ undefined_a ) @ ( piE_a_a @ S @ T2 ) ) ) ) ).

% fun_upd_in_PiE
thf(fact_1128_fun__upd__in__PiE,axiom,
    ! [X: nat,S: set_nat,F: nat > a,T2: nat > set_a] :
      ( ~ ( member_nat @ X @ S )
     => ( ( member_nat_a @ F @ ( piE_nat_a @ ( insert_nat @ X @ S ) @ T2 ) )
       => ( member_nat_a @ ( fun_upd_nat_a @ F @ X @ undefined_a ) @ ( piE_nat_a @ S @ T2 ) ) ) ) ).

% fun_upd_in_PiE
thf(fact_1129_fun__upd__image,axiom,
    ! [X: a,A2: set_a,F: a > a,Y: a] :
      ( ( ( member_a @ X @ A2 )
       => ( ( image_a_a @ ( fun_upd_a_a @ F @ X @ Y ) @ A2 )
          = ( insert_a @ Y @ ( image_a_a @ F @ ( minus_minus_set_a @ A2 @ ( insert_a @ X @ bot_bot_set_a ) ) ) ) ) )
      & ( ~ ( member_a @ X @ A2 )
       => ( ( image_a_a @ ( fun_upd_a_a @ F @ X @ Y ) @ A2 )
          = ( image_a_a @ F @ A2 ) ) ) ) ).

% fun_upd_image
thf(fact_1130_Pi__fupd__iff,axiom,
    ! [I3: a,I4: set_a,F: a > a,B2: a > set_a,A2: set_a] :
      ( ( member_a @ I3 @ I4 )
     => ( ( member_a_a @ F @ ( pi_a_a @ I4 @ ( fun_upd_a_set_a @ B2 @ I3 @ A2 ) ) )
        = ( ( member_a_a @ F @ ( pi_a_a @ ( minus_minus_set_a @ I4 @ ( insert_a @ I3 @ bot_bot_set_a ) ) @ B2 ) )
          & ( member_a @ ( F @ I3 ) @ A2 ) ) ) ) ).

% Pi_fupd_iff
thf(fact_1131_Pi__fupd__iff,axiom,
    ! [I3: a,I4: set_a,F: a > nat,B2: a > set_nat,A2: set_nat] :
      ( ( member_a @ I3 @ I4 )
     => ( ( member_a_nat @ F @ ( pi_a_nat @ I4 @ ( fun_upd_a_set_nat @ B2 @ I3 @ A2 ) ) )
        = ( ( member_a_nat @ F @ ( pi_a_nat @ ( minus_minus_set_a @ I4 @ ( insert_a @ I3 @ bot_bot_set_a ) ) @ B2 ) )
          & ( member_nat @ ( F @ I3 ) @ A2 ) ) ) ) ).

% Pi_fupd_iff
thf(fact_1132_Pi__fupd__iff,axiom,
    ! [I3: nat,I4: set_nat,F: nat > a,B2: nat > set_a,A2: set_a] :
      ( ( member_nat @ I3 @ I4 )
     => ( ( member_nat_a @ F @ ( pi_nat_a @ I4 @ ( fun_upd_nat_set_a @ B2 @ I3 @ A2 ) ) )
        = ( ( member_nat_a @ F @ ( pi_nat_a @ ( minus_minus_set_nat @ I4 @ ( insert_nat @ I3 @ bot_bot_set_nat ) ) @ B2 ) )
          & ( member_a @ ( F @ I3 ) @ A2 ) ) ) ) ).

% Pi_fupd_iff
thf(fact_1133_Pi__fupd__iff,axiom,
    ! [I3: nat,I4: set_nat,F: nat > nat,B2: nat > set_nat,A2: set_nat] :
      ( ( member_nat @ I3 @ I4 )
     => ( ( member_nat_nat @ F @ ( pi_nat_nat @ I4 @ ( fun_upd_nat_set_nat @ B2 @ I3 @ A2 ) ) )
        = ( ( member_nat_nat @ F @ ( pi_nat_nat @ ( minus_minus_set_nat @ I4 @ ( insert_nat @ I3 @ bot_bot_set_nat ) ) @ B2 ) )
          & ( member_nat @ ( F @ I3 ) @ A2 ) ) ) ) ).

% Pi_fupd_iff
thf(fact_1134_PiE__eq__singleton,axiom,
    ! [I4: set_a,S: a > set_a,F: a > a] :
      ( ( ( piE_a_a @ I4 @ S )
        = ( insert_a_a @ ( restrict_a_a @ F @ I4 ) @ bot_bot_set_a_a ) )
      = ( ! [X3: a] :
            ( ( member_a @ X3 @ I4 )
           => ( ( S @ X3 )
              = ( insert_a @ ( F @ X3 ) @ bot_bot_set_a ) ) ) ) ) ).

% PiE_eq_singleton
thf(fact_1135_extensional__funcset__fun__upd__inj__onI,axiom,
    ! [F: nat > nat,S: set_nat,T2: set_nat,A: nat,X: nat] :
      ( ( member_nat_nat @ F
        @ ( piE_nat_nat @ S
          @ ^ [I: nat] : ( minus_minus_set_nat @ T2 @ ( insert_nat @ A @ bot_bot_set_nat ) ) ) )
     => ( ( inj_on_nat_nat @ F @ S )
       => ( inj_on_nat_nat @ ( fun_upd_nat_nat @ F @ X @ A ) @ S ) ) ) ).

% extensional_funcset_fun_upd_inj_onI
thf(fact_1136_inverse__def,axiom,
    ( ( group_inverse_a @ g @ composition @ unit )
    = ( restrict_a_a
      @ ^ [U2: a] :
          ( the_a
          @ ^ [V4: a] :
              ( ( member_a @ V4 @ g )
              & ( ( composition @ U2 @ V4 )
                = unit )
              & ( ( composition @ V4 @ U2 )
                = unit ) ) )
      @ g ) ) ).

% inverse_def
thf(fact_1137_PiE__over__singleton__iff,axiom,
    ! [A: a,B2: a > set_a] :
      ( ( piE_a_a @ ( insert_a @ A @ bot_bot_set_a ) @ B2 )
      = ( comple6518619711525350638et_a_a
        @ ( image_a_set_a_a
          @ ^ [B4: a] :
              ( insert_a_a
              @ ( restrict_a_a
                @ ^ [X3: a] : B4
                @ ( insert_a @ A @ bot_bot_set_a ) )
              @ bot_bot_set_a_a )
          @ ( B2 @ A ) ) ) ) ).

% PiE_over_singleton_iff
thf(fact_1138_finite__UN,axiom,
    ! [A2: set_a,B2: a > set_a] :
      ( ( finite_finite_a @ A2 )
     => ( ( finite_finite_a @ ( comple2307003609928055243_set_a @ ( image_a_set_a @ B2 @ A2 ) ) )
        = ( ! [X3: a] :
              ( ( member_a @ X3 @ A2 )
             => ( finite_finite_a @ ( B2 @ X3 ) ) ) ) ) ) ).

% finite_UN
thf(fact_1139_finite__UN,axiom,
    ! [A2: set_a,B2: a > set_nat] :
      ( ( finite_finite_a @ A2 )
     => ( ( finite_finite_nat @ ( comple7399068483239264473et_nat @ ( image_a_set_nat @ B2 @ A2 ) ) )
        = ( ! [X3: a] :
              ( ( member_a @ X3 @ A2 )
             => ( finite_finite_nat @ ( B2 @ X3 ) ) ) ) ) ) ).

% finite_UN
thf(fact_1140_finite__UN,axiom,
    ! [A2: set_nat,B2: nat > set_a] :
      ( ( finite_finite_nat @ A2 )
     => ( ( finite_finite_a @ ( comple2307003609928055243_set_a @ ( image_nat_set_a @ B2 @ A2 ) ) )
        = ( ! [X3: nat] :
              ( ( member_nat @ X3 @ A2 )
             => ( finite_finite_a @ ( B2 @ X3 ) ) ) ) ) ) ).

% finite_UN
thf(fact_1141_finite__UN,axiom,
    ! [A2: set_nat,B2: nat > set_nat] :
      ( ( finite_finite_nat @ A2 )
     => ( ( finite_finite_nat @ ( comple7399068483239264473et_nat @ ( image_nat_set_nat @ B2 @ A2 ) ) )
        = ( ! [X3: nat] :
              ( ( member_nat @ X3 @ A2 )
             => ( finite_finite_nat @ ( B2 @ X3 ) ) ) ) ) ) ).

% finite_UN
thf(fact_1142_finite__Union,axiom,
    ! [A2: set_set_a] :
      ( ( finite_finite_set_a @ A2 )
     => ( ! [M6: set_a] :
            ( ( member_set_a @ M6 @ A2 )
           => ( finite_finite_a @ M6 ) )
       => ( finite_finite_a @ ( comple2307003609928055243_set_a @ A2 ) ) ) ) ).

% finite_Union
thf(fact_1143_finite__Union,axiom,
    ! [A2: set_set_nat] :
      ( ( finite1152437895449049373et_nat @ A2 )
     => ( ! [M6: set_nat] :
            ( ( member_set_nat @ M6 @ A2 )
           => ( finite_finite_nat @ M6 ) )
       => ( finite_finite_nat @ ( comple7399068483239264473et_nat @ A2 ) ) ) ) ).

% finite_Union
thf(fact_1144_finite__UN__I,axiom,
    ! [A2: set_a,B2: a > set_a] :
      ( ( finite_finite_a @ A2 )
     => ( ! [A3: a] :
            ( ( member_a @ A3 @ A2 )
           => ( finite_finite_a @ ( B2 @ A3 ) ) )
       => ( finite_finite_a @ ( comple2307003609928055243_set_a @ ( image_a_set_a @ B2 @ A2 ) ) ) ) ) ).

% finite_UN_I
thf(fact_1145_finite__UN__I,axiom,
    ! [A2: set_a,B2: a > set_nat] :
      ( ( finite_finite_a @ A2 )
     => ( ! [A3: a] :
            ( ( member_a @ A3 @ A2 )
           => ( finite_finite_nat @ ( B2 @ A3 ) ) )
       => ( finite_finite_nat @ ( comple7399068483239264473et_nat @ ( image_a_set_nat @ B2 @ A2 ) ) ) ) ) ).

% finite_UN_I
thf(fact_1146_finite__UN__I,axiom,
    ! [A2: set_nat,B2: nat > set_a] :
      ( ( finite_finite_nat @ A2 )
     => ( ! [A3: nat] :
            ( ( member_nat @ A3 @ A2 )
           => ( finite_finite_a @ ( B2 @ A3 ) ) )
       => ( finite_finite_a @ ( comple2307003609928055243_set_a @ ( image_nat_set_a @ B2 @ A2 ) ) ) ) ) ).

% finite_UN_I
thf(fact_1147_finite__UN__I,axiom,
    ! [A2: set_nat,B2: nat > set_nat] :
      ( ( finite_finite_nat @ A2 )
     => ( ! [A3: nat] :
            ( ( member_nat @ A3 @ A2 )
           => ( finite_finite_nat @ ( B2 @ A3 ) ) )
       => ( finite_finite_nat @ ( comple7399068483239264473et_nat @ ( image_nat_set_nat @ B2 @ A2 ) ) ) ) ) ).

% finite_UN_I
thf(fact_1148_finite__UnionD,axiom,
    ! [A2: set_set_a] :
      ( ( finite_finite_a @ ( comple2307003609928055243_set_a @ A2 ) )
     => ( finite_finite_set_a @ A2 ) ) ).

% finite_UnionD
thf(fact_1149_finite__UnionD,axiom,
    ! [A2: set_set_nat] :
      ( ( finite_finite_nat @ ( comple7399068483239264473et_nat @ A2 ) )
     => ( finite1152437895449049373et_nat @ A2 ) ) ).

% finite_UnionD
thf(fact_1150_Finite__Set_Ofold__def,axiom,
    ( finite_fold_a_a
    = ( ^ [F4: a > a > a,Z5: a,A6: set_a] : ( if_a @ ( finite_finite_a @ A6 ) @ ( the_a @ ( finite7874008084079289286ph_a_a @ F4 @ Z5 @ A6 ) ) @ Z5 ) ) ) ).

% Finite_Set.fold_def
thf(fact_1151_Finite__Set_Ofold__def,axiom,
    ( finite_fold_nat_a
    = ( ^ [F4: nat > a > a,Z5: a,A6: set_nat] : ( if_a @ ( finite_finite_nat @ A6 ) @ ( the_a @ ( finite9142365241556460134_nat_a @ F4 @ Z5 @ A6 ) ) @ Z5 ) ) ) ).

% Finite_Set.fold_def
thf(fact_1152_monoid_Oinverse__def,axiom,
    ! [M: set_nat,Composition: nat > nat > nat,Unit: nat] :
      ( ( group_monoid_nat @ M @ Composition @ Unit )
     => ( ( group_inverse_nat @ M @ Composition @ Unit )
        = ( restrict_nat_nat
          @ ^ [U2: nat] :
              ( the_nat
              @ ^ [V4: nat] :
                  ( ( member_nat @ V4 @ M )
                  & ( ( Composition @ U2 @ V4 )
                    = Unit )
                  & ( ( Composition @ V4 @ U2 )
                    = Unit ) ) )
          @ M ) ) ) ).

% monoid.inverse_def
thf(fact_1153_monoid_Oinverse__def,axiom,
    ! [M: set_a,Composition: a > a > a,Unit: a] :
      ( ( group_monoid_a @ M @ Composition @ Unit )
     => ( ( group_inverse_a @ M @ Composition @ Unit )
        = ( restrict_a_a
          @ ^ [U2: a] :
              ( the_a
              @ ^ [V4: a] :
                  ( ( member_a @ V4 @ M )
                  & ( ( Composition @ U2 @ V4 )
                    = Unit )
                  & ( ( Composition @ V4 @ U2 )
                    = Unit ) ) )
          @ M ) ) ) ).

% monoid.inverse_def
thf(fact_1154_finite__subset__Union,axiom,
    ! [A2: set_nat,B9: set_set_nat] :
      ( ( finite_finite_nat @ A2 )
     => ( ( ord_less_eq_set_nat @ A2 @ ( comple7399068483239264473et_nat @ B9 ) )
       => ~ ! [F7: set_set_nat] :
              ( ( finite1152437895449049373et_nat @ F7 )
             => ( ( ord_le6893508408891458716et_nat @ F7 @ B9 )
               => ~ ( ord_less_eq_set_nat @ A2 @ ( comple7399068483239264473et_nat @ F7 ) ) ) ) ) ) ).

% finite_subset_Union
thf(fact_1155_finite__subset__Union,axiom,
    ! [A2: set_a,B9: set_set_a] :
      ( ( finite_finite_a @ A2 )
     => ( ( ord_less_eq_set_a @ A2 @ ( comple2307003609928055243_set_a @ B9 ) )
       => ~ ! [F7: set_set_a] :
              ( ( finite_finite_set_a @ F7 )
             => ( ( ord_le3724670747650509150_set_a @ F7 @ B9 )
               => ~ ( ord_less_eq_set_a @ A2 @ ( comple2307003609928055243_set_a @ F7 ) ) ) ) ) ) ).

% finite_subset_Union
thf(fact_1156_the__elem__def,axiom,
    ( the_elem_a
    = ( ^ [X7: set_a] :
          ( the_a
          @ ^ [X3: a] :
              ( X7
              = ( insert_a @ X3 @ bot_bot_set_a ) ) ) ) ) ).

% the_elem_def
thf(fact_1157_UN__I,axiom,
    ! [A: a,A2: set_a,B: a,B2: a > set_a] :
      ( ( member_a @ A @ A2 )
     => ( ( member_a @ B @ ( B2 @ A ) )
       => ( member_a @ B @ ( comple2307003609928055243_set_a @ ( image_a_set_a @ B2 @ A2 ) ) ) ) ) ).

% UN_I
thf(fact_1158_UN__I,axiom,
    ! [A: a,A2: set_a,B: nat,B2: a > set_nat] :
      ( ( member_a @ A @ A2 )
     => ( ( member_nat @ B @ ( B2 @ A ) )
       => ( member_nat @ B @ ( comple7399068483239264473et_nat @ ( image_a_set_nat @ B2 @ A2 ) ) ) ) ) ).

% UN_I
thf(fact_1159_UN__I,axiom,
    ! [A: nat,A2: set_nat,B: a,B2: nat > set_a] :
      ( ( member_nat @ A @ A2 )
     => ( ( member_a @ B @ ( B2 @ A ) )
       => ( member_a @ B @ ( comple2307003609928055243_set_a @ ( image_nat_set_a @ B2 @ A2 ) ) ) ) ) ).

% UN_I
thf(fact_1160_UN__I,axiom,
    ! [A: nat,A2: set_nat,B: nat,B2: nat > set_nat] :
      ( ( member_nat @ A @ A2 )
     => ( ( member_nat @ B @ ( B2 @ A ) )
       => ( member_nat @ B @ ( comple7399068483239264473et_nat @ ( image_nat_set_nat @ B2 @ A2 ) ) ) ) ) ).

% UN_I
thf(fact_1161_Sup__set__def,axiom,
    ( comple2307003609928055243_set_a
    = ( ^ [A6: set_set_a] :
          ( collect_a
          @ ^ [X3: a] : ( complete_Sup_Sup_o @ ( image_set_a_o @ ( member_a @ X3 ) @ A6 ) ) ) ) ) ).

% Sup_set_def
thf(fact_1162_Sup__set__def,axiom,
    ( comple7399068483239264473et_nat
    = ( ^ [A6: set_set_nat] :
          ( collect_nat
          @ ^ [X3: nat] : ( complete_Sup_Sup_o @ ( image_set_nat_o @ ( member_nat @ X3 ) @ A6 ) ) ) ) ) ).

% Sup_set_def
thf(fact_1163_SUP__Sup__eq,axiom,
    ! [S: set_set_a] :
      ( ( complete_Sup_Sup_a_o
        @ ( image_set_a_a_o
          @ ^ [I: set_a,X3: a] : ( member_a @ X3 @ I )
          @ S ) )
      = ( ^ [X3: a] : ( member_a @ X3 @ ( comple2307003609928055243_set_a @ S ) ) ) ) ).

% SUP_Sup_eq
thf(fact_1164_SUP__Sup__eq,axiom,
    ! [S: set_set_nat] :
      ( ( comple8317665133742190828_nat_o
        @ ( image_set_nat_nat_o
          @ ^ [I: set_nat,X3: nat] : ( member_nat @ X3 @ I )
          @ S ) )
      = ( ^ [X3: nat] : ( member_nat @ X3 @ ( comple7399068483239264473et_nat @ S ) ) ) ) ).

% SUP_Sup_eq
thf(fact_1165_Inf_OINF__cong,axiom,
    ! [A2: set_a,B2: set_a,C4: a > a,D: a > a,Inf: set_a > a] :
      ( ( A2 = B2 )
     => ( ! [X2: a] :
            ( ( member_a @ X2 @ B2 )
           => ( ( C4 @ X2 )
              = ( D @ X2 ) ) )
       => ( ( Inf @ ( image_a_a @ C4 @ A2 ) )
          = ( Inf @ ( image_a_a @ D @ B2 ) ) ) ) ) ).

% Inf.INF_cong
thf(fact_1166_Sup_OSUP__cong,axiom,
    ! [A2: set_a,B2: set_a,C4: a > a,D: a > a,Sup: set_a > a] :
      ( ( A2 = B2 )
     => ( ! [X2: a] :
            ( ( member_a @ X2 @ B2 )
           => ( ( C4 @ X2 )
              = ( D @ X2 ) ) )
       => ( ( Sup @ ( image_a_a @ C4 @ A2 ) )
          = ( Sup @ ( image_a_a @ D @ B2 ) ) ) ) ) ).

% Sup.SUP_cong
thf(fact_1167_Inf_OINF__identity__eq,axiom,
    ! [Inf: set_a > a,A2: set_a] :
      ( ( Inf
        @ ( image_a_a
          @ ^ [X3: a] : X3
          @ A2 ) )
      = ( Inf @ A2 ) ) ).

% Inf.INF_identity_eq
thf(fact_1168_Sup_OSUP__identity__eq,axiom,
    ! [Sup: set_a > a,A2: set_a] :
      ( ( Sup
        @ ( image_a_a
          @ ^ [X3: a] : X3
          @ A2 ) )
      = ( Sup @ A2 ) ) ).

% Sup.SUP_identity_eq
thf(fact_1169_Sup__upper2,axiom,
    ! [U: set_a,A2: set_set_a,V2: set_a] :
      ( ( member_set_a @ U @ A2 )
     => ( ( ord_less_eq_set_a @ V2 @ U )
       => ( ord_less_eq_set_a @ V2 @ ( comple2307003609928055243_set_a @ A2 ) ) ) ) ).

% Sup_upper2
thf(fact_1170_Sup__le__iff,axiom,
    ! [A2: set_set_a,B: set_a] :
      ( ( ord_less_eq_set_a @ ( comple2307003609928055243_set_a @ A2 ) @ B )
      = ( ! [X3: set_a] :
            ( ( member_set_a @ X3 @ A2 )
           => ( ord_less_eq_set_a @ X3 @ B ) ) ) ) ).

% Sup_le_iff
thf(fact_1171_Sup__upper,axiom,
    ! [X: set_a,A2: set_set_a] :
      ( ( member_set_a @ X @ A2 )
     => ( ord_less_eq_set_a @ X @ ( comple2307003609928055243_set_a @ A2 ) ) ) ).

% Sup_upper
thf(fact_1172_Sup__least,axiom,
    ! [A2: set_set_a,Z: set_a] :
      ( ! [X2: set_a] :
          ( ( member_set_a @ X2 @ A2 )
         => ( ord_less_eq_set_a @ X2 @ Z ) )
     => ( ord_less_eq_set_a @ ( comple2307003609928055243_set_a @ A2 ) @ Z ) ) ).

% Sup_least
thf(fact_1173_Sup__mono,axiom,
    ! [A2: set_set_a,B2: set_set_a] :
      ( ! [A3: set_a] :
          ( ( member_set_a @ A3 @ A2 )
         => ? [X4: set_a] :
              ( ( member_set_a @ X4 @ B2 )
              & ( ord_less_eq_set_a @ A3 @ X4 ) ) )
     => ( ord_less_eq_set_a @ ( comple2307003609928055243_set_a @ A2 ) @ ( comple2307003609928055243_set_a @ B2 ) ) ) ).

% Sup_mono
thf(fact_1174_Sup__eqI,axiom,
    ! [A2: set_set_a,X: set_a] :
      ( ! [Y5: set_a] :
          ( ( member_set_a @ Y5 @ A2 )
         => ( ord_less_eq_set_a @ Y5 @ X ) )
     => ( ! [Y5: set_a] :
            ( ! [Z6: set_a] :
                ( ( member_set_a @ Z6 @ A2 )
               => ( ord_less_eq_set_a @ Z6 @ Y5 ) )
           => ( ord_less_eq_set_a @ X @ Y5 ) )
       => ( ( comple2307003609928055243_set_a @ A2 )
          = X ) ) ) ).

% Sup_eqI
thf(fact_1175_Union__subsetI,axiom,
    ! [A2: set_set_a,B2: set_set_a] :
      ( ! [X2: set_a] :
          ( ( member_set_a @ X2 @ A2 )
         => ? [Y6: set_a] :
              ( ( member_set_a @ Y6 @ B2 )
              & ( ord_less_eq_set_a @ X2 @ Y6 ) ) )
     => ( ord_less_eq_set_a @ ( comple2307003609928055243_set_a @ A2 ) @ ( comple2307003609928055243_set_a @ B2 ) ) ) ).

% Union_subsetI
thf(fact_1176_Union__upper,axiom,
    ! [B2: set_a,A2: set_set_a] :
      ( ( member_set_a @ B2 @ A2 )
     => ( ord_less_eq_set_a @ B2 @ ( comple2307003609928055243_set_a @ A2 ) ) ) ).

% Union_upper
thf(fact_1177_Union__least,axiom,
    ! [A2: set_set_a,C4: set_a] :
      ( ! [X8: set_a] :
          ( ( member_set_a @ X8 @ A2 )
         => ( ord_less_eq_set_a @ X8 @ C4 ) )
     => ( ord_less_eq_set_a @ ( comple2307003609928055243_set_a @ A2 ) @ C4 ) ) ).

% Union_least
thf(fact_1178_UN__E,axiom,
    ! [B: a,B2: a > set_a,A2: set_a] :
      ( ( member_a @ B @ ( comple2307003609928055243_set_a @ ( image_a_set_a @ B2 @ A2 ) ) )
     => ~ ! [X2: a] :
            ( ( member_a @ X2 @ A2 )
           => ~ ( member_a @ B @ ( B2 @ X2 ) ) ) ) ).

% UN_E
thf(fact_1179_UN__E,axiom,
    ! [B: a,B2: nat > set_a,A2: set_nat] :
      ( ( member_a @ B @ ( comple2307003609928055243_set_a @ ( image_nat_set_a @ B2 @ A2 ) ) )
     => ~ ! [X2: nat] :
            ( ( member_nat @ X2 @ A2 )
           => ~ ( member_a @ B @ ( B2 @ X2 ) ) ) ) ).

% UN_E
thf(fact_1180_UN__E,axiom,
    ! [B: nat,B2: a > set_nat,A2: set_a] :
      ( ( member_nat @ B @ ( comple7399068483239264473et_nat @ ( image_a_set_nat @ B2 @ A2 ) ) )
     => ~ ! [X2: a] :
            ( ( member_a @ X2 @ A2 )
           => ~ ( member_nat @ B @ ( B2 @ X2 ) ) ) ) ).

% UN_E
thf(fact_1181_UN__E,axiom,
    ! [B: nat,B2: nat > set_nat,A2: set_nat] :
      ( ( member_nat @ B @ ( comple7399068483239264473et_nat @ ( image_nat_set_nat @ B2 @ A2 ) ) )
     => ~ ! [X2: nat] :
            ( ( member_nat @ X2 @ A2 )
           => ~ ( member_nat @ B @ ( B2 @ X2 ) ) ) ) ).

% UN_E
thf(fact_1182_SUP__eq,axiom,
    ! [A2: set_a,B2: set_a,F: a > set_a,G: a > set_a] :
      ( ! [I2: a] :
          ( ( member_a @ I2 @ A2 )
         => ? [X4: a] :
              ( ( member_a @ X4 @ B2 )
              & ( ord_less_eq_set_a @ ( F @ I2 ) @ ( G @ X4 ) ) ) )
     => ( ! [J3: a] :
            ( ( member_a @ J3 @ B2 )
           => ? [X4: a] :
                ( ( member_a @ X4 @ A2 )
                & ( ord_less_eq_set_a @ ( G @ J3 ) @ ( F @ X4 ) ) ) )
       => ( ( comple2307003609928055243_set_a @ ( image_a_set_a @ F @ A2 ) )
          = ( comple2307003609928055243_set_a @ ( image_a_set_a @ G @ B2 ) ) ) ) ) ).

% SUP_eq
thf(fact_1183_SUP__eq,axiom,
    ! [A2: set_a,B2: set_nat,F: a > set_a,G: nat > set_a] :
      ( ! [I2: a] :
          ( ( member_a @ I2 @ A2 )
         => ? [X4: nat] :
              ( ( member_nat @ X4 @ B2 )
              & ( ord_less_eq_set_a @ ( F @ I2 ) @ ( G @ X4 ) ) ) )
     => ( ! [J3: nat] :
            ( ( member_nat @ J3 @ B2 )
           => ? [X4: a] :
                ( ( member_a @ X4 @ A2 )
                & ( ord_less_eq_set_a @ ( G @ J3 ) @ ( F @ X4 ) ) ) )
       => ( ( comple2307003609928055243_set_a @ ( image_a_set_a @ F @ A2 ) )
          = ( comple2307003609928055243_set_a @ ( image_nat_set_a @ G @ B2 ) ) ) ) ) ).

% SUP_eq
thf(fact_1184_SUP__eq,axiom,
    ! [A2: set_nat,B2: set_a,F: nat > set_a,G: a > set_a] :
      ( ! [I2: nat] :
          ( ( member_nat @ I2 @ A2 )
         => ? [X4: a] :
              ( ( member_a @ X4 @ B2 )
              & ( ord_less_eq_set_a @ ( F @ I2 ) @ ( G @ X4 ) ) ) )
     => ( ! [J3: a] :
            ( ( member_a @ J3 @ B2 )
           => ? [X4: nat] :
                ( ( member_nat @ X4 @ A2 )
                & ( ord_less_eq_set_a @ ( G @ J3 ) @ ( F @ X4 ) ) ) )
       => ( ( comple2307003609928055243_set_a @ ( image_nat_set_a @ F @ A2 ) )
          = ( comple2307003609928055243_set_a @ ( image_a_set_a @ G @ B2 ) ) ) ) ) ).

% SUP_eq
thf(fact_1185_SUP__eq,axiom,
    ! [A2: set_nat,B2: set_nat,F: nat > set_a,G: nat > set_a] :
      ( ! [I2: nat] :
          ( ( member_nat @ I2 @ A2 )
         => ? [X4: nat] :
              ( ( member_nat @ X4 @ B2 )
              & ( ord_less_eq_set_a @ ( F @ I2 ) @ ( G @ X4 ) ) ) )
     => ( ! [J3: nat] :
            ( ( member_nat @ J3 @ B2 )
           => ? [X4: nat] :
                ( ( member_nat @ X4 @ A2 )
                & ( ord_less_eq_set_a @ ( G @ J3 ) @ ( F @ X4 ) ) ) )
       => ( ( comple2307003609928055243_set_a @ ( image_nat_set_a @ F @ A2 ) )
          = ( comple2307003609928055243_set_a @ ( image_nat_set_a @ G @ B2 ) ) ) ) ) ).

% SUP_eq
thf(fact_1186_less__eq__Sup,axiom,
    ! [A2: set_set_a,U: set_a] :
      ( ! [V3: set_a] :
          ( ( member_set_a @ V3 @ A2 )
         => ( ord_less_eq_set_a @ U @ V3 ) )
     => ( ( A2 != bot_bot_set_set_a )
       => ( ord_less_eq_set_a @ U @ ( comple2307003609928055243_set_a @ A2 ) ) ) ) ).

% less_eq_Sup
thf(fact_1187_Sup__subset__mono,axiom,
    ! [A2: set_set_a,B2: set_set_a] :
      ( ( ord_le3724670747650509150_set_a @ A2 @ B2 )
     => ( ord_less_eq_set_a @ ( comple2307003609928055243_set_a @ A2 ) @ ( comple2307003609928055243_set_a @ B2 ) ) ) ).

% Sup_subset_mono
thf(fact_1188_Union__Int__subset,axiom,
    ! [A2: set_set_a,B2: set_set_a] : ( ord_less_eq_set_a @ ( comple2307003609928055243_set_a @ ( inf_inf_set_set_a @ A2 @ B2 ) ) @ ( inf_inf_set_a @ ( comple2307003609928055243_set_a @ A2 ) @ ( comple2307003609928055243_set_a @ B2 ) ) ) ).

% Union_Int_subset
thf(fact_1189_Union__mono,axiom,
    ! [A2: set_set_a,B2: set_set_a] :
      ( ( ord_le3724670747650509150_set_a @ A2 @ B2 )
     => ( ord_less_eq_set_a @ ( comple2307003609928055243_set_a @ A2 ) @ ( comple2307003609928055243_set_a @ B2 ) ) ) ).

% Union_mono
thf(fact_1190_SUP__eqI,axiom,
    ! [A2: set_a,F: a > set_a,X: set_a] :
      ( ! [I2: a] :
          ( ( member_a @ I2 @ A2 )
         => ( ord_less_eq_set_a @ ( F @ I2 ) @ X ) )
     => ( ! [Y5: set_a] :
            ( ! [I5: a] :
                ( ( member_a @ I5 @ A2 )
               => ( ord_less_eq_set_a @ ( F @ I5 ) @ Y5 ) )
           => ( ord_less_eq_set_a @ X @ Y5 ) )
       => ( ( comple2307003609928055243_set_a @ ( image_a_set_a @ F @ A2 ) )
          = X ) ) ) ).

% SUP_eqI
thf(fact_1191_SUP__eqI,axiom,
    ! [A2: set_nat,F: nat > set_a,X: set_a] :
      ( ! [I2: nat] :
          ( ( member_nat @ I2 @ A2 )
         => ( ord_less_eq_set_a @ ( F @ I2 ) @ X ) )
     => ( ! [Y5: set_a] :
            ( ! [I5: nat] :
                ( ( member_nat @ I5 @ A2 )
               => ( ord_less_eq_set_a @ ( F @ I5 ) @ Y5 ) )
           => ( ord_less_eq_set_a @ X @ Y5 ) )
       => ( ( comple2307003609928055243_set_a @ ( image_nat_set_a @ F @ A2 ) )
          = X ) ) ) ).

% SUP_eqI
thf(fact_1192_SUP__least,axiom,
    ! [A2: set_a,F: a > set_a,U: set_a] :
      ( ! [I2: a] :
          ( ( member_a @ I2 @ A2 )
         => ( ord_less_eq_set_a @ ( F @ I2 ) @ U ) )
     => ( ord_less_eq_set_a @ ( comple2307003609928055243_set_a @ ( image_a_set_a @ F @ A2 ) ) @ U ) ) ).

% SUP_least
thf(fact_1193_SUP__least,axiom,
    ! [A2: set_nat,F: nat > set_a,U: set_a] :
      ( ! [I2: nat] :
          ( ( member_nat @ I2 @ A2 )
         => ( ord_less_eq_set_a @ ( F @ I2 ) @ U ) )
     => ( ord_less_eq_set_a @ ( comple2307003609928055243_set_a @ ( image_nat_set_a @ F @ A2 ) ) @ U ) ) ).

% SUP_least
thf(fact_1194_SUP__upper,axiom,
    ! [I3: a,A2: set_a,F: a > set_a] :
      ( ( member_a @ I3 @ A2 )
     => ( ord_less_eq_set_a @ ( F @ I3 ) @ ( comple2307003609928055243_set_a @ ( image_a_set_a @ F @ A2 ) ) ) ) ).

% SUP_upper
thf(fact_1195_SUP__upper,axiom,
    ! [I3: nat,A2: set_nat,F: nat > set_a] :
      ( ( member_nat @ I3 @ A2 )
     => ( ord_less_eq_set_a @ ( F @ I3 ) @ ( comple2307003609928055243_set_a @ ( image_nat_set_a @ F @ A2 ) ) ) ) ).

% SUP_upper
thf(fact_1196_SUP__upper2,axiom,
    ! [I3: a,A2: set_a,U: set_a,F: a > set_a] :
      ( ( member_a @ I3 @ A2 )
     => ( ( ord_less_eq_set_a @ U @ ( F @ I3 ) )
       => ( ord_less_eq_set_a @ U @ ( comple2307003609928055243_set_a @ ( image_a_set_a @ F @ A2 ) ) ) ) ) ).

% SUP_upper2
thf(fact_1197_SUP__upper2,axiom,
    ! [I3: nat,A2: set_nat,U: set_a,F: nat > set_a] :
      ( ( member_nat @ I3 @ A2 )
     => ( ( ord_less_eq_set_a @ U @ ( F @ I3 ) )
       => ( ord_less_eq_set_a @ U @ ( comple2307003609928055243_set_a @ ( image_nat_set_a @ F @ A2 ) ) ) ) ) ).

% SUP_upper2
thf(fact_1198_UN__upper,axiom,
    ! [A: a,A2: set_a,B2: a > set_a] :
      ( ( member_a @ A @ A2 )
     => ( ord_less_eq_set_a @ ( B2 @ A ) @ ( comple2307003609928055243_set_a @ ( image_a_set_a @ B2 @ A2 ) ) ) ) ).

% UN_upper
thf(fact_1199_UN__upper,axiom,
    ! [A: nat,A2: set_nat,B2: nat > set_a] :
      ( ( member_nat @ A @ A2 )
     => ( ord_less_eq_set_a @ ( B2 @ A ) @ ( comple2307003609928055243_set_a @ ( image_nat_set_a @ B2 @ A2 ) ) ) ) ).

% UN_upper
thf(fact_1200_UN__least,axiom,
    ! [A2: set_a,B2: a > set_a,C4: set_a] :
      ( ! [X2: a] :
          ( ( member_a @ X2 @ A2 )
         => ( ord_less_eq_set_a @ ( B2 @ X2 ) @ C4 ) )
     => ( ord_less_eq_set_a @ ( comple2307003609928055243_set_a @ ( image_a_set_a @ B2 @ A2 ) ) @ C4 ) ) ).

% UN_least
thf(fact_1201_UN__least,axiom,
    ! [A2: set_nat,B2: nat > set_a,C4: set_a] :
      ( ! [X2: nat] :
          ( ( member_nat @ X2 @ A2 )
         => ( ord_less_eq_set_a @ ( B2 @ X2 ) @ C4 ) )
     => ( ord_less_eq_set_a @ ( comple2307003609928055243_set_a @ ( image_nat_set_a @ B2 @ A2 ) ) @ C4 ) ) ).

% UN_least
thf(fact_1202_UN__mono,axiom,
    ! [A2: set_nat,B2: set_nat,F: nat > set_a,G: nat > set_a] :
      ( ( ord_less_eq_set_nat @ A2 @ B2 )
     => ( ! [X2: nat] :
            ( ( member_nat @ X2 @ A2 )
           => ( ord_less_eq_set_a @ ( F @ X2 ) @ ( G @ X2 ) ) )
       => ( ord_less_eq_set_a @ ( comple2307003609928055243_set_a @ ( image_nat_set_a @ F @ A2 ) ) @ ( comple2307003609928055243_set_a @ ( image_nat_set_a @ G @ B2 ) ) ) ) ) ).

% UN_mono
thf(fact_1203_UN__mono,axiom,
    ! [A2: set_a,B2: set_a,F: a > set_a,G: a > set_a] :
      ( ( ord_less_eq_set_a @ A2 @ B2 )
     => ( ! [X2: a] :
            ( ( member_a @ X2 @ A2 )
           => ( ord_less_eq_set_a @ ( F @ X2 ) @ ( G @ X2 ) ) )
       => ( ord_less_eq_set_a @ ( comple2307003609928055243_set_a @ ( image_a_set_a @ F @ A2 ) ) @ ( comple2307003609928055243_set_a @ ( image_a_set_a @ G @ B2 ) ) ) ) ) ).

% UN_mono
thf(fact_1204_image__Union,axiom,
    ! [F: a > a,S: set_set_a] :
      ( ( image_a_a @ F @ ( comple2307003609928055243_set_a @ S ) )
      = ( comple2307003609928055243_set_a @ ( image_set_a_set_a @ ( image_a_a @ F ) @ S ) ) ) ).

% image_Union
thf(fact_1205_SUP__eq__iff,axiom,
    ! [I4: set_a,C: set_a,F: a > set_a] :
      ( ( I4 != bot_bot_set_a )
     => ( ! [I2: a] :
            ( ( member_a @ I2 @ I4 )
           => ( ord_less_eq_set_a @ C @ ( F @ I2 ) ) )
       => ( ( ( comple2307003609928055243_set_a @ ( image_a_set_a @ F @ I4 ) )
            = C )
          = ( ! [X3: a] :
                ( ( member_a @ X3 @ I4 )
               => ( ( F @ X3 )
                  = C ) ) ) ) ) ) ).

% SUP_eq_iff
thf(fact_1206_SUP__eq__iff,axiom,
    ! [I4: set_nat,C: set_a,F: nat > set_a] :
      ( ( I4 != bot_bot_set_nat )
     => ( ! [I2: nat] :
            ( ( member_nat @ I2 @ I4 )
           => ( ord_less_eq_set_a @ C @ ( F @ I2 ) ) )
       => ( ( ( comple2307003609928055243_set_a @ ( image_nat_set_a @ F @ I4 ) )
            = C )
          = ( ! [X3: nat] :
                ( ( member_nat @ X3 @ I4 )
               => ( ( F @ X3 )
                  = C ) ) ) ) ) ) ).

% SUP_eq_iff
thf(fact_1207_Sup__inter__less__eq,axiom,
    ! [A2: set_set_a,B2: set_set_a] : ( ord_less_eq_set_a @ ( comple2307003609928055243_set_a @ ( inf_inf_set_set_a @ A2 @ B2 ) ) @ ( inf_inf_set_a @ ( comple2307003609928055243_set_a @ A2 ) @ ( comple2307003609928055243_set_a @ B2 ) ) ) ).

% Sup_inter_less_eq
thf(fact_1208_SUP__subset__mono,axiom,
    ! [A2: set_nat,B2: set_nat,F: nat > set_a,G: nat > set_a] :
      ( ( ord_less_eq_set_nat @ A2 @ B2 )
     => ( ! [X2: nat] :
            ( ( member_nat @ X2 @ A2 )
           => ( ord_less_eq_set_a @ ( F @ X2 ) @ ( G @ X2 ) ) )
       => ( ord_less_eq_set_a @ ( comple2307003609928055243_set_a @ ( image_nat_set_a @ F @ A2 ) ) @ ( comple2307003609928055243_set_a @ ( image_nat_set_a @ G @ B2 ) ) ) ) ) ).

% SUP_subset_mono
thf(fact_1209_SUP__subset__mono,axiom,
    ! [A2: set_a,B2: set_a,F: a > set_a,G: a > set_a] :
      ( ( ord_less_eq_set_a @ A2 @ B2 )
     => ( ! [X2: a] :
            ( ( member_a @ X2 @ A2 )
           => ( ord_less_eq_set_a @ ( F @ X2 ) @ ( G @ X2 ) ) )
       => ( ord_less_eq_set_a @ ( comple2307003609928055243_set_a @ ( image_a_set_a @ F @ A2 ) ) @ ( comple2307003609928055243_set_a @ ( image_a_set_a @ G @ B2 ) ) ) ) ) ).

% SUP_subset_mono
thf(fact_1210_inj__on__UNION__chain,axiom,
    ! [I4: set_a,A2: a > set_nat,F: nat > nat] :
      ( ! [I2: a,J3: a] :
          ( ( member_a @ I2 @ I4 )
         => ( ( member_a @ J3 @ I4 )
           => ( ( ord_less_eq_set_nat @ ( A2 @ I2 ) @ ( A2 @ J3 ) )
              | ( ord_less_eq_set_nat @ ( A2 @ J3 ) @ ( A2 @ I2 ) ) ) ) )
     => ( ! [I2: a] :
            ( ( member_a @ I2 @ I4 )
           => ( inj_on_nat_nat @ F @ ( A2 @ I2 ) ) )
       => ( inj_on_nat_nat @ F @ ( comple7399068483239264473et_nat @ ( image_a_set_nat @ A2 @ I4 ) ) ) ) ) ).

% inj_on_UNION_chain
thf(fact_1211_inj__on__UNION__chain,axiom,
    ! [I4: set_nat,A2: nat > set_nat,F: nat > nat] :
      ( ! [I2: nat,J3: nat] :
          ( ( member_nat @ I2 @ I4 )
         => ( ( member_nat @ J3 @ I4 )
           => ( ( ord_less_eq_set_nat @ ( A2 @ I2 ) @ ( A2 @ J3 ) )
              | ( ord_less_eq_set_nat @ ( A2 @ J3 ) @ ( A2 @ I2 ) ) ) ) )
     => ( ! [I2: nat] :
            ( ( member_nat @ I2 @ I4 )
           => ( inj_on_nat_nat @ F @ ( A2 @ I2 ) ) )
       => ( inj_on_nat_nat @ F @ ( comple7399068483239264473et_nat @ ( image_nat_set_nat @ A2 @ I4 ) ) ) ) ) ).

% inj_on_UNION_chain
thf(fact_1212_inj__on__image,axiom,
    ! [F: a > a,A2: set_set_a] :
      ( ( inj_on_a_a @ F @ ( comple2307003609928055243_set_a @ A2 ) )
     => ( inj_on_set_a_set_a @ ( image_a_a @ F ) @ A2 ) ) ).

% inj_on_image
thf(fact_1213_inj__on__image,axiom,
    ! [F: nat > nat,A2: set_set_nat] :
      ( ( inj_on_nat_nat @ F @ ( comple7399068483239264473et_nat @ A2 ) )
     => ( inj_on4604407203859583615et_nat @ ( image_nat_nat @ F ) @ A2 ) ) ).

% inj_on_image
thf(fact_1214_UNION__singleton__eq__range,axiom,
    ! [F: a > a,A2: set_a] :
      ( ( comple2307003609928055243_set_a
        @ ( image_a_set_a
          @ ^ [X3: a] : ( insert_a @ ( F @ X3 ) @ bot_bot_set_a )
          @ A2 ) )
      = ( image_a_a @ F @ A2 ) ) ).

% UNION_singleton_eq_range
thf(fact_1215_cSup__eq__maximum,axiom,
    ! [Z: set_a,X5: set_set_a] :
      ( ( member_set_a @ Z @ X5 )
     => ( ! [X2: set_a] :
            ( ( member_set_a @ X2 @ X5 )
           => ( ord_less_eq_set_a @ X2 @ Z ) )
       => ( ( comple2307003609928055243_set_a @ X5 )
          = Z ) ) ) ).

% cSup_eq_maximum
thf(fact_1216_cSup__eq__maximum,axiom,
    ! [Z: nat,X5: set_nat] :
      ( ( member_nat @ Z @ X5 )
     => ( ! [X2: nat] :
            ( ( member_nat @ X2 @ X5 )
           => ( ord_less_eq_nat @ X2 @ Z ) )
       => ( ( complete_Sup_Sup_nat @ X5 )
          = Z ) ) ) ).

% cSup_eq_maximum
thf(fact_1217_cSup__eq__non__empty,axiom,
    ! [X5: set_set_a,A: set_a] :
      ( ( X5 != bot_bot_set_set_a )
     => ( ! [X2: set_a] :
            ( ( member_set_a @ X2 @ X5 )
           => ( ord_less_eq_set_a @ X2 @ A ) )
       => ( ! [Y5: set_a] :
              ( ! [X4: set_a] :
                  ( ( member_set_a @ X4 @ X5 )
                 => ( ord_less_eq_set_a @ X4 @ Y5 ) )
             => ( ord_less_eq_set_a @ A @ Y5 ) )
         => ( ( comple2307003609928055243_set_a @ X5 )
            = A ) ) ) ) ).

% cSup_eq_non_empty
thf(fact_1218_cSup__eq__non__empty,axiom,
    ! [X5: set_nat,A: nat] :
      ( ( X5 != bot_bot_set_nat )
     => ( ! [X2: nat] :
            ( ( member_nat @ X2 @ X5 )
           => ( ord_less_eq_nat @ X2 @ A ) )
       => ( ! [Y5: nat] :
              ( ! [X4: nat] :
                  ( ( member_nat @ X4 @ X5 )
                 => ( ord_less_eq_nat @ X4 @ Y5 ) )
             => ( ord_less_eq_nat @ A @ Y5 ) )
         => ( ( complete_Sup_Sup_nat @ X5 )
            = A ) ) ) ) ).

% cSup_eq_non_empty
thf(fact_1219_cSup__least,axiom,
    ! [X5: set_set_a,Z: set_a] :
      ( ( X5 != bot_bot_set_set_a )
     => ( ! [X2: set_a] :
            ( ( member_set_a @ X2 @ X5 )
           => ( ord_less_eq_set_a @ X2 @ Z ) )
       => ( ord_less_eq_set_a @ ( comple2307003609928055243_set_a @ X5 ) @ Z ) ) ) ).

% cSup_least
thf(fact_1220_cSup__least,axiom,
    ! [X5: set_nat,Z: nat] :
      ( ( X5 != bot_bot_set_nat )
     => ( ! [X2: nat] :
            ( ( member_nat @ X2 @ X5 )
           => ( ord_less_eq_nat @ X2 @ Z ) )
       => ( ord_less_eq_nat @ ( complete_Sup_Sup_nat @ X5 ) @ Z ) ) ) ).

% cSup_least
thf(fact_1221_le__cSup__finite,axiom,
    ! [X5: set_set_a,X: set_a] :
      ( ( finite_finite_set_a @ X5 )
     => ( ( member_set_a @ X @ X5 )
       => ( ord_less_eq_set_a @ X @ ( comple2307003609928055243_set_a @ X5 ) ) ) ) ).

% le_cSup_finite
thf(fact_1222_le__cSup__finite,axiom,
    ! [X5: set_nat,X: nat] :
      ( ( finite_finite_nat @ X5 )
     => ( ( member_nat @ X @ X5 )
       => ( ord_less_eq_nat @ X @ ( complete_Sup_Sup_nat @ X5 ) ) ) ) ).

% le_cSup_finite
thf(fact_1223_cSUP__least,axiom,
    ! [A2: set_a,F: a > set_a,M: set_a] :
      ( ( A2 != bot_bot_set_a )
     => ( ! [X2: a] :
            ( ( member_a @ X2 @ A2 )
           => ( ord_less_eq_set_a @ ( F @ X2 ) @ M ) )
       => ( ord_less_eq_set_a @ ( comple2307003609928055243_set_a @ ( image_a_set_a @ F @ A2 ) ) @ M ) ) ) ).

% cSUP_least
thf(fact_1224_cSUP__least,axiom,
    ! [A2: set_nat,F: nat > set_a,M: set_a] :
      ( ( A2 != bot_bot_set_nat )
     => ( ! [X2: nat] :
            ( ( member_nat @ X2 @ A2 )
           => ( ord_less_eq_set_a @ ( F @ X2 ) @ M ) )
       => ( ord_less_eq_set_a @ ( comple2307003609928055243_set_a @ ( image_nat_set_a @ F @ A2 ) ) @ M ) ) ) ).

% cSUP_least
thf(fact_1225_cSUP__least,axiom,
    ! [A2: set_a,F: a > nat,M: nat] :
      ( ( A2 != bot_bot_set_a )
     => ( ! [X2: a] :
            ( ( member_a @ X2 @ A2 )
           => ( ord_less_eq_nat @ ( F @ X2 ) @ M ) )
       => ( ord_less_eq_nat @ ( complete_Sup_Sup_nat @ ( image_a_nat @ F @ A2 ) ) @ M ) ) ) ).

% cSUP_least
thf(fact_1226_cSUP__least,axiom,
    ! [A2: set_nat,F: nat > nat,M: nat] :
      ( ( A2 != bot_bot_set_nat )
     => ( ! [X2: nat] :
            ( ( member_nat @ X2 @ A2 )
           => ( ord_less_eq_nat @ ( F @ X2 ) @ M ) )
       => ( ord_less_eq_nat @ ( complete_Sup_Sup_nat @ ( image_nat_nat @ F @ A2 ) ) @ M ) ) ) ).

% cSUP_least
thf(fact_1227_old_Orec__nat__def,axiom,
    ( rec_nat_a
    = ( ^ [F1: a,F22: nat > a > a,X3: nat] : ( the_a @ ( rec_set_nat_a @ F1 @ F22 @ X3 ) ) ) ) ).

% old.rec_nat_def
thf(fact_1228_conj__subset__def,axiom,
    ! [A2: set_nat,P: nat > $o,Q: nat > $o] :
      ( ( ord_less_eq_set_nat @ A2
        @ ( collect_nat
          @ ^ [X3: nat] :
              ( ( P @ X3 )
              & ( Q @ X3 ) ) ) )
      = ( ( ord_less_eq_set_nat @ A2 @ ( collect_nat @ P ) )
        & ( ord_less_eq_set_nat @ A2 @ ( collect_nat @ Q ) ) ) ) ).

% conj_subset_def
thf(fact_1229_conj__subset__def,axiom,
    ! [A2: set_a,P: a > $o,Q: a > $o] :
      ( ( ord_less_eq_set_a @ A2
        @ ( collect_a
          @ ^ [X3: a] :
              ( ( P @ X3 )
              & ( Q @ X3 ) ) ) )
      = ( ( ord_less_eq_set_a @ A2 @ ( collect_a @ P ) )
        & ( ord_less_eq_set_a @ A2 @ ( collect_a @ Q ) ) ) ) ).

% conj_subset_def
thf(fact_1230_the__equality,axiom,
    ! [P: a > $o,A: a] :
      ( ( P @ A )
     => ( ! [X2: a] :
            ( ( P @ X2 )
           => ( X2 = A ) )
       => ( ( the_a @ P )
          = A ) ) ) ).

% the_equality
thf(fact_1231_the__eq__trivial,axiom,
    ! [A: a] :
      ( ( the_a
        @ ^ [X3: a] : ( X3 = A ) )
      = A ) ).

% the_eq_trivial
thf(fact_1232_the__sym__eq__trivial,axiom,
    ! [X: a] :
      ( ( the_a
        @ ( ^ [Y4: a,Z2: a] : ( Y4 = Z2 )
          @ X ) )
      = X ) ).

% the_sym_eq_trivial
thf(fact_1233_the1__equality,axiom,
    ! [P: a > $o,A: a] :
      ( ? [X4: a] :
          ( ( P @ X4 )
          & ! [Y5: a] :
              ( ( P @ Y5 )
             => ( Y5 = X4 ) ) )
     => ( ( P @ A )
       => ( ( the_a @ P )
          = A ) ) ) ).

% the1_equality
thf(fact_1234_the1I2,axiom,
    ! [P: a > $o,Q: a > $o] :
      ( ? [X4: a] :
          ( ( P @ X4 )
          & ! [Y5: a] :
              ( ( P @ Y5 )
             => ( Y5 = X4 ) ) )
     => ( ! [X2: a] :
            ( ( P @ X2 )
           => ( Q @ X2 ) )
       => ( Q @ ( the_a @ P ) ) ) ) ).

% the1I2
thf(fact_1235_If__def,axiom,
    ( if_a
    = ( ^ [P2: $o,X3: a,Y3: a] :
          ( the_a
          @ ^ [Z5: a] :
              ( ( P2
               => ( Z5 = X3 ) )
              & ( ~ P2
               => ( Z5 = Y3 ) ) ) ) ) ) ).

% If_def
thf(fact_1236_theI2,axiom,
    ! [P: a > $o,A: a,Q: a > $o] :
      ( ( P @ A )
     => ( ! [X2: a] :
            ( ( P @ X2 )
           => ( X2 = A ) )
       => ( ! [X2: a] :
              ( ( P @ X2 )
             => ( Q @ X2 ) )
         => ( Q @ ( the_a @ P ) ) ) ) ) ).

% theI2
thf(fact_1237_theI_H,axiom,
    ! [P: a > $o] :
      ( ? [X4: a] :
          ( ( P @ X4 )
          & ! [Y5: a] :
              ( ( P @ Y5 )
             => ( Y5 = X4 ) ) )
     => ( P @ ( the_a @ P ) ) ) ).

% theI'
thf(fact_1238_theI,axiom,
    ! [P: a > $o,A: a] :
      ( ( P @ A )
     => ( ! [X2: a] :
            ( ( P @ X2 )
           => ( X2 = A ) )
       => ( P @ ( the_a @ P ) ) ) ) ).

% theI
thf(fact_1239_Pow__fold,axiom,
    ! [A2: set_a] :
      ( ( finite_finite_a @ A2 )
     => ( ( pow_a @ A2 )
        = ( finite9006272623207878408_set_a
          @ ^ [X3: a,A6: set_set_a] : ( sup_sup_set_set_a @ A6 @ ( image_set_a_set_a @ ( insert_a @ X3 ) @ A6 ) )
          @ ( insert_set_a @ bot_bot_set_a @ bot_bot_set_set_a )
          @ A2 ) ) ) ).

% Pow_fold
thf(fact_1240_Pow__fold,axiom,
    ! [A2: set_nat] :
      ( ( finite_finite_nat @ A2 )
     => ( ( pow_nat @ A2 )
        = ( finite4178521680790401110et_nat
          @ ^ [X3: nat,A6: set_set_nat] : ( sup_sup_set_set_nat @ A6 @ ( image_7916887816326733075et_nat @ ( insert_nat @ X3 ) @ A6 ) )
          @ ( insert_set_nat @ bot_bot_set_nat @ bot_bot_set_set_nat )
          @ A2 ) ) ) ).

% Pow_fold
thf(fact_1241_PowI,axiom,
    ! [A2: set_a,B2: set_a] :
      ( ( ord_less_eq_set_a @ A2 @ B2 )
     => ( member_set_a @ A2 @ ( pow_a @ B2 ) ) ) ).

% PowI
thf(fact_1242_Pow__iff,axiom,
    ! [A2: set_a,B2: set_a] :
      ( ( member_set_a @ A2 @ ( pow_a @ B2 ) )
      = ( ord_less_eq_set_a @ A2 @ B2 ) ) ).

% Pow_iff
thf(fact_1243_finite__Pow__iff,axiom,
    ! [A2: set_a] :
      ( ( finite_finite_set_a @ ( pow_a @ A2 ) )
      = ( finite_finite_a @ A2 ) ) ).

% finite_Pow_iff
thf(fact_1244_finite__Pow__iff,axiom,
    ! [A2: set_nat] :
      ( ( finite1152437895449049373et_nat @ ( pow_nat @ A2 ) )
      = ( finite_finite_nat @ A2 ) ) ).

% finite_Pow_iff
thf(fact_1245_image__Pow__surj,axiom,
    ! [F: a > a,A2: set_a,B2: set_a] :
      ( ( ( image_a_a @ F @ A2 )
        = B2 )
     => ( ( image_set_a_set_a @ ( image_a_a @ F ) @ ( pow_a @ A2 ) )
        = ( pow_a @ B2 ) ) ) ).

% image_Pow_surj
thf(fact_1246_PowD,axiom,
    ! [A2: set_a,B2: set_a] :
      ( ( member_set_a @ A2 @ ( pow_a @ B2 ) )
     => ( ord_less_eq_set_a @ A2 @ B2 ) ) ).

% PowD
thf(fact_1247_Pow__mono,axiom,
    ! [A2: set_a,B2: set_a] :
      ( ( ord_less_eq_set_a @ A2 @ B2 )
     => ( ord_le3724670747650509150_set_a @ ( pow_a @ A2 ) @ ( pow_a @ B2 ) ) ) ).

% Pow_mono
thf(fact_1248_Pow__def,axiom,
    ( pow_a
    = ( ^ [A6: set_a] :
          ( collect_set_a
          @ ^ [B5: set_a] : ( ord_less_eq_set_a @ B5 @ A6 ) ) ) ) ).

% Pow_def
thf(fact_1249_inj__on__image__Pow,axiom,
    ! [F: a > a,A2: set_a] :
      ( ( inj_on_a_a @ F @ A2 )
     => ( inj_on_set_a_set_a @ ( image_a_a @ F ) @ ( pow_a @ A2 ) ) ) ).

% inj_on_image_Pow
thf(fact_1250_inj__on__image__Pow,axiom,
    ! [F: nat > nat,A2: set_nat] :
      ( ( inj_on_nat_nat @ F @ A2 )
     => ( inj_on4604407203859583615et_nat @ ( image_nat_nat @ F ) @ ( pow_nat @ A2 ) ) ) ).

% inj_on_image_Pow
thf(fact_1251_Fpow__Pow__finite,axiom,
    ( finite_Fpow_a
    = ( ^ [A6: set_a] : ( inf_inf_set_set_a @ ( pow_a @ A6 ) @ ( collect_set_a @ finite_finite_a ) ) ) ) ).

% Fpow_Pow_finite
thf(fact_1252_Fpow__Pow__finite,axiom,
    ( finite_Fpow_nat
    = ( ^ [A6: set_nat] : ( inf_inf_set_set_nat @ ( pow_nat @ A6 ) @ ( collect_set_nat @ finite_finite_nat ) ) ) ) ).

% Fpow_Pow_finite
thf(fact_1253_image__Pow__mono,axiom,
    ! [F: a > a,A2: set_a,B2: set_a] :
      ( ( ord_less_eq_set_a @ ( image_a_a @ F @ A2 ) @ B2 )
     => ( ord_le3724670747650509150_set_a @ ( image_set_a_set_a @ ( image_a_a @ F ) @ ( pow_a @ A2 ) ) @ ( pow_a @ B2 ) ) ) ).

% image_Pow_mono
thf(fact_1254_fincomp__UN__disjoint,axiom,
    ! [I4: set_a,A2: a > set_a,G: a > a] :
      ( ( finite_finite_a @ I4 )
     => ( ! [I2: a] :
            ( ( member_a @ I2 @ I4 )
           => ( finite_finite_a @ ( A2 @ I2 ) ) )
       => ( ( pairwise_a
            @ ^ [I: a,J: a] : ( disjnt_a @ ( A2 @ I ) @ ( A2 @ J ) )
            @ I4 )
         => ( ! [I2: a,X2: a] :
                ( ( member_a @ I2 @ I4 )
               => ( ( member_a @ X2 @ ( A2 @ I2 ) )
                 => ( member_a @ ( G @ X2 ) @ g ) ) )
           => ( ( commut5005951359559292710mp_a_a @ g @ composition @ unit @ G @ ( comple2307003609928055243_set_a @ ( image_a_set_a @ A2 @ I4 ) ) )
              = ( commut5005951359559292710mp_a_a @ g @ composition @ unit
                @ ^ [I: a] : ( commut5005951359559292710mp_a_a @ g @ composition @ unit @ G @ ( A2 @ I ) )
                @ I4 ) ) ) ) ) ) ).

% fincomp_UN_disjoint
thf(fact_1255_fincomp__UN__disjoint,axiom,
    ! [I4: set_nat,A2: nat > set_a,G: a > a] :
      ( ( finite_finite_nat @ I4 )
     => ( ! [I2: nat] :
            ( ( member_nat @ I2 @ I4 )
           => ( finite_finite_a @ ( A2 @ I2 ) ) )
       => ( ( pairwise_nat
            @ ^ [I: nat,J: nat] : ( disjnt_a @ ( A2 @ I ) @ ( A2 @ J ) )
            @ I4 )
         => ( ! [I2: nat,X2: a] :
                ( ( member_nat @ I2 @ I4 )
               => ( ( member_a @ X2 @ ( A2 @ I2 ) )
                 => ( member_a @ ( G @ X2 ) @ g ) ) )
           => ( ( commut5005951359559292710mp_a_a @ g @ composition @ unit @ G @ ( comple2307003609928055243_set_a @ ( image_nat_set_a @ A2 @ I4 ) ) )
              = ( commut6741328216151336360_a_nat @ g @ composition @ unit
                @ ^ [I: nat] : ( commut5005951359559292710mp_a_a @ g @ composition @ unit @ G @ ( A2 @ I ) )
                @ I4 ) ) ) ) ) ) ).

% fincomp_UN_disjoint
thf(fact_1256_fincomp__UN__disjoint,axiom,
    ! [I4: set_a,A2: a > set_nat,G: nat > a] :
      ( ( finite_finite_a @ I4 )
     => ( ! [I2: a] :
            ( ( member_a @ I2 @ I4 )
           => ( finite_finite_nat @ ( A2 @ I2 ) ) )
       => ( ( pairwise_a
            @ ^ [I: a,J: a] : ( disjnt_nat @ ( A2 @ I ) @ ( A2 @ J ) )
            @ I4 )
         => ( ! [I2: a,X2: nat] :
                ( ( member_a @ I2 @ I4 )
               => ( ( member_nat @ X2 @ ( A2 @ I2 ) )
                 => ( member_a @ ( G @ X2 ) @ g ) ) )
           => ( ( commut6741328216151336360_a_nat @ g @ composition @ unit @ G @ ( comple7399068483239264473et_nat @ ( image_a_set_nat @ A2 @ I4 ) ) )
              = ( commut5005951359559292710mp_a_a @ g @ composition @ unit
                @ ^ [I: a] : ( commut6741328216151336360_a_nat @ g @ composition @ unit @ G @ ( A2 @ I ) )
                @ I4 ) ) ) ) ) ) ).

% fincomp_UN_disjoint
thf(fact_1257_fincomp__UN__disjoint,axiom,
    ! [I4: set_nat,A2: nat > set_nat,G: nat > a] :
      ( ( finite_finite_nat @ I4 )
     => ( ! [I2: nat] :
            ( ( member_nat @ I2 @ I4 )
           => ( finite_finite_nat @ ( A2 @ I2 ) ) )
       => ( ( pairwise_nat
            @ ^ [I: nat,J: nat] : ( disjnt_nat @ ( A2 @ I ) @ ( A2 @ J ) )
            @ I4 )
         => ( ! [I2: nat,X2: nat] :
                ( ( member_nat @ I2 @ I4 )
               => ( ( member_nat @ X2 @ ( A2 @ I2 ) )
                 => ( member_a @ ( G @ X2 ) @ g ) ) )
           => ( ( commut6741328216151336360_a_nat @ g @ composition @ unit @ G @ ( comple7399068483239264473et_nat @ ( image_nat_set_nat @ A2 @ I4 ) ) )
              = ( commut6741328216151336360_a_nat @ g @ composition @ unit
                @ ^ [I: nat] : ( commut6741328216151336360_a_nat @ g @ composition @ unit @ G @ ( A2 @ I ) )
                @ I4 ) ) ) ) ) ) ).

% fincomp_UN_disjoint
thf(fact_1258_disjnt__insert1,axiom,
    ! [A: a,X5: set_a,Y2: set_a] :
      ( ( disjnt_a @ ( insert_a @ A @ X5 ) @ Y2 )
      = ( ~ ( member_a @ A @ Y2 )
        & ( disjnt_a @ X5 @ Y2 ) ) ) ).

% disjnt_insert1
thf(fact_1259_disjnt__insert1,axiom,
    ! [A: nat,X5: set_nat,Y2: set_nat] :
      ( ( disjnt_nat @ ( insert_nat @ A @ X5 ) @ Y2 )
      = ( ~ ( member_nat @ A @ Y2 )
        & ( disjnt_nat @ X5 @ Y2 ) ) ) ).

% disjnt_insert1
thf(fact_1260_disjnt__insert2,axiom,
    ! [Y2: set_a,A: a,X5: set_a] :
      ( ( disjnt_a @ Y2 @ ( insert_a @ A @ X5 ) )
      = ( ~ ( member_a @ A @ Y2 )
        & ( disjnt_a @ Y2 @ X5 ) ) ) ).

% disjnt_insert2
thf(fact_1261_disjnt__insert2,axiom,
    ! [Y2: set_nat,A: nat,X5: set_nat] :
      ( ( disjnt_nat @ Y2 @ ( insert_nat @ A @ X5 ) )
      = ( ~ ( member_nat @ A @ Y2 )
        & ( disjnt_nat @ Y2 @ X5 ) ) ) ).

% disjnt_insert2
thf(fact_1262_fincomp__Union__disjoint,axiom,
    ! [C4: set_set_a,F: a > a] :
      ( ( finite_finite_set_a @ C4 )
     => ( ! [A5: set_a] :
            ( ( member_set_a @ A5 @ C4 )
           => ( ( finite_finite_a @ A5 )
              & ! [X2: a] :
                  ( ( member_a @ X2 @ A5 )
                 => ( member_a @ ( F @ X2 ) @ g ) ) ) )
       => ( ( pairwise_set_a @ disjnt_a @ C4 )
         => ( ( commut5005951359559292710mp_a_a @ g @ composition @ unit @ F @ ( comple2307003609928055243_set_a @ C4 ) )
            = ( commut1188557258662961286_set_a @ g @ composition @ unit @ ( commut5005951359559292710mp_a_a @ g @ composition @ unit @ F ) @ C4 ) ) ) ) ) ).

% fincomp_Union_disjoint
thf(fact_1263_fincomp__Union__disjoint,axiom,
    ! [C4: set_set_nat,F: nat > a] :
      ( ( finite1152437895449049373et_nat @ C4 )
     => ( ! [A5: set_nat] :
            ( ( member_set_nat @ A5 @ C4 )
           => ( ( finite_finite_nat @ A5 )
              & ! [X2: nat] :
                  ( ( member_nat @ X2 @ A5 )
                 => ( member_a @ ( F @ X2 ) @ g ) ) ) )
       => ( ( pairwise_set_nat @ disjnt_nat @ C4 )
         => ( ( commut6741328216151336360_a_nat @ g @ composition @ unit @ F @ ( comple7399068483239264473et_nat @ C4 ) )
            = ( commut7753019222993662302et_nat @ g @ composition @ unit @ ( commut6741328216151336360_a_nat @ g @ composition @ unit @ F ) @ C4 ) ) ) ) ) ).

% fincomp_Union_disjoint
thf(fact_1264_commutative__monoid_Ofincomp__UN__disjoint,axiom,
    ! [M: set_nat,Composition: nat > nat > nat,Unit: nat,I4: set_a,A2: a > set_a,G: a > nat] :
      ( ( group_6791354081887936081id_nat @ M @ Composition @ Unit )
     => ( ( finite_finite_a @ I4 )
       => ( ! [I2: a] :
              ( ( member_a @ I2 @ I4 )
             => ( finite_finite_a @ ( A2 @ I2 ) ) )
         => ( ( pairwise_a
              @ ^ [I: a,J: a] : ( disjnt_a @ ( A2 @ I ) @ ( A2 @ J ) )
              @ I4 )
           => ( ! [I2: a,X2: a] :
                  ( ( member_a @ I2 @ I4 )
                 => ( ( member_a @ X2 @ ( A2 @ I2 ) )
                   => ( member_nat @ ( G @ X2 ) @ M ) ) )
             => ( ( commut1549887680474846982_nat_a @ M @ Composition @ Unit @ G @ ( comple2307003609928055243_set_a @ ( image_a_set_a @ A2 @ I4 ) ) )
                = ( commut1549887680474846982_nat_a @ M @ Composition @ Unit
                  @ ^ [I: a] : ( commut1549887680474846982_nat_a @ M @ Composition @ Unit @ G @ ( A2 @ I ) )
                  @ I4 ) ) ) ) ) ) ) ).

% commutative_monoid.fincomp_UN_disjoint
thf(fact_1265_commutative__monoid_Ofincomp__UN__disjoint,axiom,
    ! [M: set_nat,Composition: nat > nat > nat,Unit: nat,I4: set_a,A2: a > set_nat,G: nat > nat] :
      ( ( group_6791354081887936081id_nat @ M @ Composition @ Unit )
     => ( ( finite_finite_a @ I4 )
       => ( ! [I2: a] :
              ( ( member_a @ I2 @ I4 )
             => ( finite_finite_nat @ ( A2 @ I2 ) ) )
         => ( ( pairwise_a
              @ ^ [I: a,J: a] : ( disjnt_nat @ ( A2 @ I ) @ ( A2 @ J ) )
              @ I4 )
           => ( ! [I2: a,X2: nat] :
                  ( ( member_a @ I2 @ I4 )
                 => ( ( member_nat @ X2 @ ( A2 @ I2 ) )
                   => ( member_nat @ ( G @ X2 ) @ M ) ) )
             => ( ( commut1028764413824576968at_nat @ M @ Composition @ Unit @ G @ ( comple7399068483239264473et_nat @ ( image_a_set_nat @ A2 @ I4 ) ) )
                = ( commut1549887680474846982_nat_a @ M @ Composition @ Unit
                  @ ^ [I: a] : ( commut1028764413824576968at_nat @ M @ Composition @ Unit @ G @ ( A2 @ I ) )
                  @ I4 ) ) ) ) ) ) ) ).

% commutative_monoid.fincomp_UN_disjoint
thf(fact_1266_commutative__monoid_Ofincomp__UN__disjoint,axiom,
    ! [M: set_nat,Composition: nat > nat > nat,Unit: nat,I4: set_nat,A2: nat > set_a,G: a > nat] :
      ( ( group_6791354081887936081id_nat @ M @ Composition @ Unit )
     => ( ( finite_finite_nat @ I4 )
       => ( ! [I2: nat] :
              ( ( member_nat @ I2 @ I4 )
             => ( finite_finite_a @ ( A2 @ I2 ) ) )
         => ( ( pairwise_nat
              @ ^ [I: nat,J: nat] : ( disjnt_a @ ( A2 @ I ) @ ( A2 @ J ) )
              @ I4 )
           => ( ! [I2: nat,X2: a] :
                  ( ( member_nat @ I2 @ I4 )
                 => ( ( member_a @ X2 @ ( A2 @ I2 ) )
                   => ( member_nat @ ( G @ X2 ) @ M ) ) )
             => ( ( commut1549887680474846982_nat_a @ M @ Composition @ Unit @ G @ ( comple2307003609928055243_set_a @ ( image_nat_set_a @ A2 @ I4 ) ) )
                = ( commut1028764413824576968at_nat @ M @ Composition @ Unit
                  @ ^ [I: nat] : ( commut1549887680474846982_nat_a @ M @ Composition @ Unit @ G @ ( A2 @ I ) )
                  @ I4 ) ) ) ) ) ) ) ).

% commutative_monoid.fincomp_UN_disjoint
thf(fact_1267_commutative__monoid_Ofincomp__UN__disjoint,axiom,
    ! [M: set_nat,Composition: nat > nat > nat,Unit: nat,I4: set_nat,A2: nat > set_nat,G: nat > nat] :
      ( ( group_6791354081887936081id_nat @ M @ Composition @ Unit )
     => ( ( finite_finite_nat @ I4 )
       => ( ! [I2: nat] :
              ( ( member_nat @ I2 @ I4 )
             => ( finite_finite_nat @ ( A2 @ I2 ) ) )
         => ( ( pairwise_nat
              @ ^ [I: nat,J: nat] : ( disjnt_nat @ ( A2 @ I ) @ ( A2 @ J ) )
              @ I4 )
           => ( ! [I2: nat,X2: nat] :
                  ( ( member_nat @ I2 @ I4 )
                 => ( ( member_nat @ X2 @ ( A2 @ I2 ) )
                   => ( member_nat @ ( G @ X2 ) @ M ) ) )
             => ( ( commut1028764413824576968at_nat @ M @ Composition @ Unit @ G @ ( comple7399068483239264473et_nat @ ( image_nat_set_nat @ A2 @ I4 ) ) )
                = ( commut1028764413824576968at_nat @ M @ Composition @ Unit
                  @ ^ [I: nat] : ( commut1028764413824576968at_nat @ M @ Composition @ Unit @ G @ ( A2 @ I ) )
                  @ I4 ) ) ) ) ) ) ) ).

% commutative_monoid.fincomp_UN_disjoint
thf(fact_1268_commutative__monoid_Ofincomp__UN__disjoint,axiom,
    ! [M: set_a,Composition: a > a > a,Unit: a,I4: set_a,A2: a > set_a,G: a > a] :
      ( ( group_4866109990395492029noid_a @ M @ Composition @ Unit )
     => ( ( finite_finite_a @ I4 )
       => ( ! [I2: a] :
              ( ( member_a @ I2 @ I4 )
             => ( finite_finite_a @ ( A2 @ I2 ) ) )
         => ( ( pairwise_a
              @ ^ [I: a,J: a] : ( disjnt_a @ ( A2 @ I ) @ ( A2 @ J ) )
              @ I4 )
           => ( ! [I2: a,X2: a] :
                  ( ( member_a @ I2 @ I4 )
                 => ( ( member_a @ X2 @ ( A2 @ I2 ) )
                   => ( member_a @ ( G @ X2 ) @ M ) ) )
             => ( ( commut5005951359559292710mp_a_a @ M @ Composition @ Unit @ G @ ( comple2307003609928055243_set_a @ ( image_a_set_a @ A2 @ I4 ) ) )
                = ( commut5005951359559292710mp_a_a @ M @ Composition @ Unit
                  @ ^ [I: a] : ( commut5005951359559292710mp_a_a @ M @ Composition @ Unit @ G @ ( A2 @ I ) )
                  @ I4 ) ) ) ) ) ) ) ).

% commutative_monoid.fincomp_UN_disjoint
thf(fact_1269_commutative__monoid_Ofincomp__UN__disjoint,axiom,
    ! [M: set_a,Composition: a > a > a,Unit: a,I4: set_nat,A2: nat > set_a,G: a > a] :
      ( ( group_4866109990395492029noid_a @ M @ Composition @ Unit )
     => ( ( finite_finite_nat @ I4 )
       => ( ! [I2: nat] :
              ( ( member_nat @ I2 @ I4 )
             => ( finite_finite_a @ ( A2 @ I2 ) ) )
         => ( ( pairwise_nat
              @ ^ [I: nat,J: nat] : ( disjnt_a @ ( A2 @ I ) @ ( A2 @ J ) )
              @ I4 )
           => ( ! [I2: nat,X2: a] :
                  ( ( member_nat @ I2 @ I4 )
                 => ( ( member_a @ X2 @ ( A2 @ I2 ) )
                   => ( member_a @ ( G @ X2 ) @ M ) ) )
             => ( ( commut5005951359559292710mp_a_a @ M @ Composition @ Unit @ G @ ( comple2307003609928055243_set_a @ ( image_nat_set_a @ A2 @ I4 ) ) )
                = ( commut6741328216151336360_a_nat @ M @ Composition @ Unit
                  @ ^ [I: nat] : ( commut5005951359559292710mp_a_a @ M @ Composition @ Unit @ G @ ( A2 @ I ) )
                  @ I4 ) ) ) ) ) ) ) ).

% commutative_monoid.fincomp_UN_disjoint
thf(fact_1270_commutative__monoid_Ofincomp__UN__disjoint,axiom,
    ! [M: set_a,Composition: a > a > a,Unit: a,I4: set_a,A2: a > set_nat,G: nat > a] :
      ( ( group_4866109990395492029noid_a @ M @ Composition @ Unit )
     => ( ( finite_finite_a @ I4 )
       => ( ! [I2: a] :
              ( ( member_a @ I2 @ I4 )
             => ( finite_finite_nat @ ( A2 @ I2 ) ) )
         => ( ( pairwise_a
              @ ^ [I: a,J: a] : ( disjnt_nat @ ( A2 @ I ) @ ( A2 @ J ) )
              @ I4 )
           => ( ! [I2: a,X2: nat] :
                  ( ( member_a @ I2 @ I4 )
                 => ( ( member_nat @ X2 @ ( A2 @ I2 ) )
                   => ( member_a @ ( G @ X2 ) @ M ) ) )
             => ( ( commut6741328216151336360_a_nat @ M @ Composition @ Unit @ G @ ( comple7399068483239264473et_nat @ ( image_a_set_nat @ A2 @ I4 ) ) )
                = ( commut5005951359559292710mp_a_a @ M @ Composition @ Unit
                  @ ^ [I: a] : ( commut6741328216151336360_a_nat @ M @ Composition @ Unit @ G @ ( A2 @ I ) )
                  @ I4 ) ) ) ) ) ) ) ).

% commutative_monoid.fincomp_UN_disjoint
thf(fact_1271_commutative__monoid_Ofincomp__UN__disjoint,axiom,
    ! [M: set_a,Composition: a > a > a,Unit: a,I4: set_nat,A2: nat > set_nat,G: nat > a] :
      ( ( group_4866109990395492029noid_a @ M @ Composition @ Unit )
     => ( ( finite_finite_nat @ I4 )
       => ( ! [I2: nat] :
              ( ( member_nat @ I2 @ I4 )
             => ( finite_finite_nat @ ( A2 @ I2 ) ) )
         => ( ( pairwise_nat
              @ ^ [I: nat,J: nat] : ( disjnt_nat @ ( A2 @ I ) @ ( A2 @ J ) )
              @ I4 )
           => ( ! [I2: nat,X2: nat] :
                  ( ( member_nat @ I2 @ I4 )
                 => ( ( member_nat @ X2 @ ( A2 @ I2 ) )
                   => ( member_a @ ( G @ X2 ) @ M ) ) )
             => ( ( commut6741328216151336360_a_nat @ M @ Composition @ Unit @ G @ ( comple7399068483239264473et_nat @ ( image_nat_set_nat @ A2 @ I4 ) ) )
                = ( commut6741328216151336360_a_nat @ M @ Composition @ Unit
                  @ ^ [I: nat] : ( commut6741328216151336360_a_nat @ M @ Composition @ Unit @ G @ ( A2 @ I ) )
                  @ I4 ) ) ) ) ) ) ) ).

% commutative_monoid.fincomp_UN_disjoint
thf(fact_1272_pairwise__insert,axiom,
    ! [R2: a > a > $o,X: a,S3: set_a] :
      ( ( pairwise_a @ R2 @ ( insert_a @ X @ S3 ) )
      = ( ! [Y3: a] :
            ( ( ( member_a @ Y3 @ S3 )
              & ( Y3 != X ) )
           => ( ( R2 @ X @ Y3 )
              & ( R2 @ Y3 @ X ) ) )
        & ( pairwise_a @ R2 @ S3 ) ) ) ).

% pairwise_insert
thf(fact_1273_pairwise__insert,axiom,
    ! [R2: nat > nat > $o,X: nat,S3: set_nat] :
      ( ( pairwise_nat @ R2 @ ( insert_nat @ X @ S3 ) )
      = ( ! [Y3: nat] :
            ( ( ( member_nat @ Y3 @ S3 )
              & ( Y3 != X ) )
           => ( ( R2 @ X @ Y3 )
              & ( R2 @ Y3 @ X ) ) )
        & ( pairwise_nat @ R2 @ S3 ) ) ) ).

% pairwise_insert
thf(fact_1274_disjnt__insert,axiom,
    ! [X: a,N: set_a,M: set_a] :
      ( ~ ( member_a @ X @ N )
     => ( ( disjnt_a @ M @ N )
       => ( disjnt_a @ ( insert_a @ X @ M ) @ N ) ) ) ).

% disjnt_insert
thf(fact_1275_disjnt__insert,axiom,
    ! [X: nat,N: set_nat,M: set_nat] :
      ( ~ ( member_nat @ X @ N )
     => ( ( disjnt_nat @ M @ N )
       => ( disjnt_nat @ ( insert_nat @ X @ M ) @ N ) ) ) ).

% disjnt_insert

% Helper facts (9)
thf(help_If_2_1_If_001tf__a_T,axiom,
    ! [X: a,Y: a] :
      ( ( if_a @ $false @ X @ Y )
      = Y ) ).

thf(help_If_1_1_If_001tf__a_T,axiom,
    ! [X: a,Y: a] :
      ( ( if_a @ $true @ X @ Y )
      = X ) ).

thf(help_If_2_1_If_001t__Nat__Onat_T,axiom,
    ! [X: nat,Y: nat] :
      ( ( if_nat @ $false @ X @ Y )
      = Y ) ).

thf(help_If_1_1_If_001t__Nat__Onat_T,axiom,
    ! [X: nat,Y: nat] :
      ( ( if_nat @ $true @ X @ Y )
      = X ) ).

thf(help_If_2_1_If_001t__Set__Oset_Itf__a_J_T,axiom,
    ! [X: set_a,Y: set_a] :
      ( ( if_set_a @ $false @ X @ Y )
      = Y ) ).

thf(help_If_1_1_If_001t__Set__Oset_Itf__a_J_T,axiom,
    ! [X: set_a,Y: set_a] :
      ( ( if_set_a @ $true @ X @ Y )
      = X ) ).

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,
    ! [X: set_nat,Y: set_nat] :
      ( ( if_set_nat @ $false @ X @ Y )
      = Y ) ).

thf(help_If_1_1_If_001t__Set__Oset_It__Nat__Onat_J_T,axiom,
    ! [X: set_nat,Y: set_nat] :
      ( ( if_set_nat @ $true @ X @ Y )
      = X ) ).

% Conjectures (1)
thf(conj_0,conjecture,
    ( ( commut5005951359559292710mp_a_a @ g @ composition @ unit
      @ ^ [X3: a] : X3
      @ ( image_a_a @ ( composition @ a2 ) @ g ) )
    = ( commut5005951359559292710mp_a_a @ g @ composition @ unit @ ( composition @ a2 ) @ g ) ) ).

%------------------------------------------------------------------------------