TPTP Problem File: SLH0419^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    : Equivalence_Relation_Enumeration/0007_Equivalence_Relation_Enumeration/prob_00147_005883__11804384_1 [Des23]

% Status   : Theorem
% Rating   : ? v8.2.0
% Syntax   : Number of formulae    : 1552 ( 662 unt; 260 typ;   0 def)
%            Number of atoms       : 3612 (1726 equ;   0 cnn)
%            Maximal formula atoms :   13 (   2 avg)
%            Number of connectives : 10794 ( 371   ~;  64   |; 354   &;8602   @)
%                                         (   0 <=>;1403  =>;   0  <=;   0 <~>)
%            Maximal formula depth :   20 (   6 avg)
%            Number of types       :   16 (  15 usr)
%            Number of type conns  : 1283 (1283   >;   0   *;   0   +;   0  <<)
%            Number of symbols     :  248 ( 245 usr;   9 con; 0-4 aty)
%            Number of variables   : 3794 ( 215   ^;3287   !; 292   ?;3794   :)
% SPC      : TH0_THM_EQU_NAR

% Comments : This file was generated by Isabelle (most likely Sledgehammer)
%            2023-01-19 09:13:26.419
%------------------------------------------------------------------------------
% Could-be-implicit typings (15)
thf(ty_n_t__List__Olist_It__List__Olist_It__List__Olist_It__Nat__Onat_J_J_J,type,
    list_list_list_nat: $tType ).

thf(ty_n_t__Set__Oset_It__List__Olist_It__List__Olist_It__Nat__Onat_J_J_J,type,
    set_list_list_nat: $tType ).

thf(ty_n_t__List__Olist_It__Set__Oset_It__List__Olist_It__Nat__Onat_J_J_J,type,
    list_set_list_nat: $tType ).

thf(ty_n_t__List__Olist_It__List__Olist_It__Set__Oset_It__Nat__Onat_J_J_J,type,
    list_list_set_nat: $tType ).

thf(ty_n_t__Set__Oset_It__Set__Oset_It__List__Olist_It__Nat__Onat_J_J_J,type,
    set_set_list_nat: $tType ).

thf(ty_n_t__Set__Oset_It__List__Olist_It__Set__Oset_It__Nat__Onat_J_J_J,type,
    set_list_set_nat: $tType ).

thf(ty_n_t__List__Olist_It__Set__Oset_It__Set__Oset_It__Nat__Onat_J_J_J,type,
    list_set_set_nat: $tType ).

thf(ty_n_t__Set__Oset_It__Set__Oset_It__Set__Oset_It__Nat__Onat_J_J_J,type,
    set_set_set_nat: $tType ).

thf(ty_n_t__List__Olist_It__List__Olist_It__Nat__Onat_J_J,type,
    list_list_nat: $tType ).

thf(ty_n_t__Set__Oset_It__List__Olist_It__Nat__Onat_J_J,type,
    set_list_nat: $tType ).

thf(ty_n_t__List__Olist_It__Set__Oset_It__Nat__Onat_J_J,type,
    list_set_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__List__Olist_It__Nat__Onat_J,type,
    list_nat: $tType ).

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

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

% Explicit typings (245)
thf(sy_c_BNF__Greatest__Fixpoint_OShift_001t__List__Olist_It__Nat__Onat_J,type,
    bNF_Gr9051742241863529473st_nat: set_list_list_nat > list_nat > set_list_list_nat ).

thf(sy_c_BNF__Greatest__Fixpoint_OShift_001t__Nat__Onat,type,
    bNF_Gr1872714664788909425ft_nat: set_list_nat > nat > set_list_nat ).

thf(sy_c_BNF__Greatest__Fixpoint_OShift_001t__Set__Oset_It__Nat__Onat_J,type,
    bNF_Gr2891354507007493415et_nat: set_list_set_nat > set_nat > set_list_set_nat ).

thf(sy_c_BNF__Greatest__Fixpoint_OSucc_001t__List__Olist_It__Nat__Onat_J,type,
    bNF_Gr3053708287304744325st_nat: set_list_list_nat > list_list_nat > set_list_nat ).

thf(sy_c_BNF__Greatest__Fixpoint_OSucc_001t__Nat__Onat,type,
    bNF_Gr6352880689984616693cc_nat: set_list_nat > list_nat > set_nat ).

thf(sy_c_BNF__Greatest__Fixpoint_OSucc_001t__Set__Oset_It__Nat__Onat_J,type,
    bNF_Gr3282828795834814635et_nat: set_list_set_nat > list_set_nat > set_set_nat ).

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_It__List__Olist_It__Nat__Onat_J_J,type,
    comple8404747032580312297st_nat: set_set_list_nat > set_list_nat ).

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_Equivalence__Relation__Enumeration_Orgf,type,
    equiva3371634703666331078on_rgf: list_nat > $o ).

thf(sy_c_Equivalence__Relation__Enumeration_Orgf__limit,type,
    equiva5889994315859557365_limit: list_nat > nat ).

thf(sy_c_Finite__Set_OFpow_001t__List__Olist_It__Nat__Onat_J,type,
    finite_Fpow_list_nat: set_list_nat > set_set_list_nat ).

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

thf(sy_c_Finite__Set_OFpow_001t__Set__Oset_It__Nat__Onat_J,type,
    finite_Fpow_set_nat: set_set_nat > set_set_set_nat ).

thf(sy_c_Finite__Set_Ofinite_001t__List__Olist_It__Nat__Onat_J,type,
    finite8100373058378681591st_nat: set_list_nat > $o ).

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

thf(sy_c_Fun_Oinj__on_001t__List__Olist_It__List__Olist_It__Nat__Onat_J_J_001t__List__Olist_It__List__Olist_It__Nat__Onat_J_J,type,
    inj_on2300671324199612755st_nat: ( list_list_nat > list_list_nat ) > set_list_list_nat > $o ).

thf(sy_c_Fun_Oinj__on_001t__List__Olist_It__List__Olist_It__Nat__Onat_J_J_001t__List__Olist_It__Set__Oset_It__Nat__Onat_J_J,type,
    inj_on5574061249251128057et_nat: ( list_list_nat > list_set_nat ) > set_list_list_nat > $o ).

thf(sy_c_Fun_Oinj__on_001t__List__Olist_It__Nat__Onat_J_001t__List__Olist_It__Nat__Onat_J,type,
    inj_on3049792774292151987st_nat: ( list_nat > list_nat ) > set_list_nat > $o ).

thf(sy_c_Fun_Oinj__on_001t__List__Olist_It__Nat__Onat_J_001t__Nat__Onat,type,
    inj_on_list_nat_nat: ( list_nat > nat ) > set_list_nat > $o ).

thf(sy_c_Fun_Oinj__on_001t__List__Olist_It__Nat__Onat_J_001t__Set__Oset_It__Nat__Onat_J,type,
    inj_on1816901372521670873et_nat: ( list_nat > set_nat ) > set_list_nat > $o ).

thf(sy_c_Fun_Oinj__on_001t__Nat__Onat_001t__List__Olist_It__Nat__Onat_J,type,
    inj_on_nat_list_nat: ( nat > list_nat ) > set_nat > $o ).

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_It__Nat__Onat_J,type,
    inj_on_nat_set_nat: ( nat > set_nat ) > set_nat > $o ).

thf(sy_c_Fun_Oinj__on_001t__Set__Oset_It__List__Olist_It__Nat__Onat_J_J_001t__Set__Oset_It__List__Olist_It__Nat__Onat_J_J,type,
    inj_on7727202910563240991st_nat: ( set_list_nat > set_list_nat ) > set_set_list_nat > $o ).

thf(sy_c_Fun_Oinj__on_001t__Set__Oset_It__List__Olist_It__Nat__Onat_J_J_001t__Set__Oset_It__Set__Oset_It__Nat__Onat_J_J,type,
    inj_on7179981096601383877et_nat: ( set_list_nat > set_set_nat ) > set_set_list_nat > $o ).

thf(sy_c_Fun_Oinj__on_001t__Set__Oset_It__Nat__Onat_J_001t__List__Olist_It__Nat__Onat_J,type,
    inj_on5467128325884351833st_nat: ( set_nat > list_nat ) > set_set_nat > $o ).

thf(sy_c_Fun_Oinj__on_001t__Set__Oset_It__Nat__Onat_J_001t__Nat__Onat,type,
    inj_on_set_nat_nat: ( set_nat > nat ) > set_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_Othe__inv__into_001t__List__Olist_It__Nat__Onat_J_001t__List__Olist_It__Nat__Onat_J,type,
    the_in5780431616042835445st_nat: set_list_nat > ( list_nat > list_nat ) > list_nat > list_nat ).

thf(sy_c_Fun_Othe__inv__into_001t__List__Olist_It__Nat__Onat_J_001t__Nat__Onat,type,
    the_in4930750007384740197at_nat: set_list_nat > ( list_nat > nat ) > nat > list_nat ).

thf(sy_c_Fun_Othe__inv__into_001t__List__Olist_It__Nat__Onat_J_001t__Set__Oset_It__Nat__Onat_J,type,
    the_in4244424403397503259et_nat: set_list_nat > ( list_nat > set_nat ) > set_nat > list_nat ).

thf(sy_c_Fun_Othe__inv__into_001t__Nat__Onat_001t__List__Olist_It__Nat__Onat_J,type,
    the_in2691792960222455013st_nat: set_nat > ( nat > list_nat ) > list_nat > nat ).

thf(sy_c_Fun_Othe__inv__into_001t__Nat__Onat_001t__Nat__Onat,type,
    the_inv_into_nat_nat: set_nat > ( nat > nat ) > nat > nat ).

thf(sy_c_Fun_Othe__inv__into_001t__Nat__Onat_001t__Set__Oset_It__Nat__Onat_J,type,
    the_in5057678521256355851et_nat: set_nat > ( nat > set_nat ) > set_nat > nat ).

thf(sy_c_Fun_Othe__inv__into_001t__Set__Oset_It__Nat__Onat_J_001t__List__Olist_It__Nat__Onat_J,type,
    the_in7894651356760184219st_nat: set_set_nat > ( set_nat > list_nat ) > list_nat > set_nat ).

thf(sy_c_Fun_Othe__inv__into_001t__Set__Oset_It__Nat__Onat_J_001t__Nat__Onat,type,
    the_in1492043616600986635at_nat: set_set_nat > ( set_nat > nat ) > nat > set_nat ).

thf(sy_c_Fun_Othe__inv__into_001t__Set__Oset_It__Nat__Onat_J_001t__Set__Oset_It__Nat__Onat_J,type,
    the_in3610957794094371777et_nat: set_set_nat > ( set_nat > set_nat ) > set_nat > set_nat ).

thf(sy_c_If_001_062_I_Eo_Mt__Nat__Onat_J,type,
    if_o_nat: $o > ( $o > nat ) > ( $o > nat ) > $o > nat ).

thf(sy_c_If_001t__List__Olist_It__List__Olist_It__Nat__Onat_J_J,type,
    if_list_list_nat: $o > list_list_nat > list_list_nat > list_list_nat ).

thf(sy_c_If_001t__List__Olist_It__Nat__Onat_J,type,
    if_list_nat: $o > list_nat > list_nat > list_nat ).

thf(sy_c_If_001t__List__Olist_It__Set__Oset_It__Nat__Onat_J_J,type,
    if_list_set_nat: $o > list_set_nat > list_set_nat > list_set_nat ).

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

thf(sy_c_If_001t__Set__Oset_It__List__Olist_It__Nat__Onat_J_J,type,
    if_set_list_nat: $o > set_list_nat > set_list_nat > set_list_nat ).

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

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

thf(sy_c_Lattices_Osup__class_Osup_001t__Set__Oset_It__List__Olist_It__Nat__Onat_J_J,type,
    sup_sup_set_list_nat: set_list_nat > set_list_nat > set_list_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__Big_Olinorder__class_OMin_001t__Nat__Onat,type,
    lattic8721135487736765967in_nat: set_nat > nat ).

thf(sy_c_Lattices__Big_Osemilattice__sup__class_OSup__fin_001t__Nat__Onat,type,
    lattic1093996805478795353in_nat: set_nat > nat ).

thf(sy_c_List_Oappend_001t__List__Olist_It__List__Olist_It__Nat__Onat_J_J,type,
    append_list_list_nat: list_list_list_nat > list_list_list_nat > list_list_list_nat ).

thf(sy_c_List_Oappend_001t__List__Olist_It__Nat__Onat_J,type,
    append_list_nat: list_list_nat > list_list_nat > list_list_nat ).

thf(sy_c_List_Oappend_001t__Nat__Onat,type,
    append_nat: list_nat > list_nat > list_nat ).

thf(sy_c_List_Oappend_001t__Set__Oset_It__Nat__Onat_J,type,
    append_set_nat: list_set_nat > list_set_nat > list_set_nat ).

thf(sy_c_List_Oarg__min__list_001t__List__Olist_It__Nat__Onat_J_001t__Nat__Onat,type,
    arg_mi6349021015369947606at_nat: ( list_nat > nat ) > list_list_nat > list_nat ).

thf(sy_c_List_Oarg__min__list_001t__Nat__Onat_001t__Nat__Onat,type,
    arg_min_list_nat_nat: ( nat > nat ) > list_nat > nat ).

thf(sy_c_List_Obind_001t__List__Olist_It__Nat__Onat_J_001t__List__Olist_It__Nat__Onat_J,type,
    bind_l7796378977173581257st_nat: list_list_nat > ( list_nat > list_list_nat ) > list_list_nat ).

thf(sy_c_List_Obind_001t__List__Olist_It__Nat__Onat_J_001t__Nat__Onat,type,
    bind_list_nat_nat: list_list_nat > ( list_nat > list_nat ) > list_nat ).

thf(sy_c_List_Obind_001t__Nat__Onat_001t__List__Olist_It__Nat__Onat_J,type,
    bind_nat_list_nat: list_nat > ( nat > list_list_nat ) > list_list_nat ).

thf(sy_c_List_Obind_001t__Nat__Onat_001t__Nat__Onat,type,
    bind_nat_nat: list_nat > ( nat > list_nat ) > list_nat ).

thf(sy_c_List_Obutlast_001t__List__Olist_It__Nat__Onat_J,type,
    butlast_list_nat: list_list_nat > list_list_nat ).

thf(sy_c_List_Obutlast_001t__Nat__Onat,type,
    butlast_nat: list_nat > list_nat ).

thf(sy_c_List_Obutlast_001t__Set__Oset_It__Nat__Onat_J,type,
    butlast_set_nat: list_set_nat > list_set_nat ).

thf(sy_c_List_Ocan__select_001t__List__Olist_It__Nat__Onat_J,type,
    can_select_list_nat: ( list_nat > $o ) > set_list_nat > $o ).

thf(sy_c_List_Ocan__select_001t__Nat__Onat,type,
    can_select_nat: ( nat > $o ) > set_nat > $o ).

thf(sy_c_List_Ocan__select_001t__Set__Oset_It__Nat__Onat_J,type,
    can_select_set_nat: ( set_nat > $o ) > set_set_nat > $o ).

thf(sy_c_List_Oconcat_001t__List__Olist_It__Nat__Onat_J,type,
    concat_list_nat: list_list_list_nat > list_list_nat ).

thf(sy_c_List_Oconcat_001t__Nat__Onat,type,
    concat_nat: list_list_nat > list_nat ).

thf(sy_c_List_Oconcat_001t__Set__Oset_It__Nat__Onat_J,type,
    concat_set_nat: list_list_set_nat > list_set_nat ).

thf(sy_c_List_Ocoset_001t__List__Olist_It__Nat__Onat_J,type,
    coset_list_nat: list_list_nat > set_list_nat ).

thf(sy_c_List_Ocoset_001t__Nat__Onat,type,
    coset_nat: list_nat > set_nat ).

thf(sy_c_List_Ocoset_001t__Set__Oset_It__Nat__Onat_J,type,
    coset_set_nat: list_set_nat > set_set_nat ).

thf(sy_c_List_Ocount__list_001t__List__Olist_It__Nat__Onat_J,type,
    count_list_list_nat: list_list_nat > list_nat > nat ).

thf(sy_c_List_Ocount__list_001t__Nat__Onat,type,
    count_list_nat: list_nat > nat > nat ).

thf(sy_c_List_Ocount__list_001t__Set__Oset_It__Nat__Onat_J,type,
    count_list_set_nat: list_set_nat > set_nat > nat ).

thf(sy_c_List_Odistinct_001t__List__Olist_It__Nat__Onat_J,type,
    distinct_list_nat: list_list_nat > $o ).

thf(sy_c_List_Odistinct_001t__List__Olist_It__Set__Oset_It__Nat__Onat_J_J,type,
    distin8180511776246945629et_nat: list_list_set_nat > $o ).

thf(sy_c_List_Odistinct_001t__Nat__Onat,type,
    distinct_nat: list_nat > $o ).

thf(sy_c_List_Odistinct_001t__Set__Oset_It__List__Olist_It__Nat__Onat_J_J,type,
    distin4912746231890992349st_nat: list_set_list_nat > $o ).

thf(sy_c_List_Odistinct_001t__Set__Oset_It__Nat__Onat_J,type,
    distinct_set_nat: list_set_nat > $o ).

thf(sy_c_List_Odistinct_001t__Set__Oset_It__Set__Oset_It__Nat__Onat_J_J,type,
    distinct_set_set_nat: list_set_set_nat > $o ).

thf(sy_c_List_Odistinct__adj_001t__Nat__Onat,type,
    distinct_adj_nat: list_nat > $o ).

thf(sy_c_List_Ofold_001t__List__Olist_It__List__Olist_It__Nat__Onat_J_J_001t__List__Olist_It__List__Olist_It__Nat__Onat_J_J,type,
    fold_l7530783876238848493st_nat: ( list_list_nat > list_list_nat > list_list_nat ) > list_list_list_nat > list_list_nat > list_list_nat ).

thf(sy_c_List_Ofold_001t__List__Olist_It__Nat__Onat_J_001t__List__Olist_It__List__Olist_It__Nat__Onat_J_J,type,
    fold_l4223200833498237789st_nat: ( list_nat > list_list_nat > list_list_nat ) > list_list_nat > list_list_nat > list_list_nat ).

thf(sy_c_List_Ofold_001t__List__Olist_It__Nat__Onat_J_001t__List__Olist_It__Nat__Onat_J,type,
    fold_l5850465621530151245st_nat: ( list_nat > list_nat > list_nat ) > list_list_nat > list_nat > list_nat ).

thf(sy_c_List_Ofold_001t__Nat__Onat_001t__List__Olist_It__Nat__Onat_J,type,
    fold_nat_list_nat: ( nat > list_nat > list_nat ) > list_nat > list_nat > list_nat ).

thf(sy_c_List_Ofold_001t__Nat__Onat_001t__Nat__Onat,type,
    fold_nat_nat: ( nat > nat > nat ) > list_nat > nat > nat ).

thf(sy_c_List_Ofoldr_001t__List__Olist_It__List__Olist_It__Nat__Onat_J_J_001t__List__Olist_It__List__Olist_It__Nat__Onat_J_J,type,
    foldr_7810631890432470921st_nat: ( list_list_nat > list_list_nat > list_list_nat ) > list_list_list_nat > list_list_nat > list_list_nat ).

thf(sy_c_List_Ofoldr_001t__List__Olist_It__Nat__Onat_J_001t__List__Olist_It__Nat__Onat_J,type,
    foldr_6871341030409798377st_nat: ( list_nat > list_nat > list_nat ) > list_list_nat > list_nat > list_nat ).

thf(sy_c_List_Ofoldr_001t__Nat__Onat_001t__List__Olist_It__Nat__Onat_J,type,
    foldr_nat_list_nat: ( nat > list_nat > list_nat ) > list_nat > list_nat > list_nat ).

thf(sy_c_List_Ofoldr_001t__Nat__Onat_001t__Nat__Onat,type,
    foldr_nat_nat: ( nat > nat > nat ) > list_nat > nat > nat ).

thf(sy_c_List_Oinsert_001t__List__Olist_It__Nat__Onat_J,type,
    insert_list_nat: list_nat > list_list_nat > list_list_nat ).

thf(sy_c_List_Oinsert_001t__Nat__Onat,type,
    insert_nat: nat > list_nat > list_nat ).

thf(sy_c_List_Oinsert_001t__Set__Oset_It__Nat__Onat_J,type,
    insert_set_nat: set_nat > list_set_nat > list_set_nat ).

thf(sy_c_List_Olast_001t__List__Olist_It__Nat__Onat_J,type,
    last_list_nat: list_list_nat > list_nat ).

thf(sy_c_List_Olast_001t__Nat__Onat,type,
    last_nat: list_nat > nat ).

thf(sy_c_List_Olast_001t__Set__Oset_It__Nat__Onat_J,type,
    last_set_nat: list_set_nat > set_nat ).

thf(sy_c_List_Olinorder__class_Oinsort__insert__key_001t__List__Olist_It__Nat__Onat_J_001t__Nat__Onat,type,
    linord3253225449353161780at_nat: ( list_nat > nat ) > list_nat > list_list_nat > list_list_nat ).

thf(sy_c_List_Olinorder__class_Oinsort__insert__key_001t__Nat__Onat_001t__Nat__Onat,type,
    linord1921536354676448932at_nat: ( nat > nat ) > nat > list_nat > list_nat ).

thf(sy_c_List_Olinorder__class_Oinsort__key_001t__List__Olist_It__Nat__Onat_J_001t__Nat__Onat,type,
    linord5978504541935096237at_nat: ( list_nat > nat ) > list_nat > list_list_nat > list_list_nat ).

thf(sy_c_List_Olinorder__class_Oinsort__key_001t__Nat__Onat_001t__Nat__Onat,type,
    linord8961336180081300637at_nat: ( nat > nat ) > nat > list_nat > list_nat ).

thf(sy_c_List_Olinorder__class_Osort__key_001t__Nat__Onat_001t__Nat__Onat,type,
    linord738340561235409698at_nat: ( nat > nat ) > list_nat > list_nat ).

thf(sy_c_List_Olinorder__class_Osorted__list__of__set_001t__Nat__Onat,type,
    linord2614967742042102400et_nat: set_nat > list_nat ).

thf(sy_c_List_Olist_OCons_001t__List__Olist_It__List__Olist_It__Nat__Onat_J_J,type,
    cons_list_list_nat: list_list_nat > list_list_list_nat > list_list_list_nat ).

thf(sy_c_List_Olist_OCons_001t__List__Olist_It__Nat__Onat_J,type,
    cons_list_nat: list_nat > list_list_nat > list_list_nat ).

thf(sy_c_List_Olist_OCons_001t__Nat__Onat,type,
    cons_nat: nat > list_nat > list_nat ).

thf(sy_c_List_Olist_OCons_001t__Set__Oset_It__Nat__Onat_J,type,
    cons_set_nat: set_nat > list_set_nat > list_set_nat ).

thf(sy_c_List_Olist_ONil_001t__List__Olist_It__List__Olist_It__Nat__Onat_J_J,type,
    nil_list_list_nat: list_list_list_nat ).

thf(sy_c_List_Olist_ONil_001t__List__Olist_It__Nat__Onat_J,type,
    nil_list_nat: list_list_nat ).

thf(sy_c_List_Olist_ONil_001t__Nat__Onat,type,
    nil_nat: list_nat ).

thf(sy_c_List_Olist_ONil_001t__Set__Oset_It__Nat__Onat_J,type,
    nil_set_nat: list_set_nat ).

thf(sy_c_List_Olist_Ohd_001t__List__Olist_It__Nat__Onat_J,type,
    hd_list_nat: list_list_nat > list_nat ).

thf(sy_c_List_Olist_Ohd_001t__Nat__Onat,type,
    hd_nat: list_nat > nat ).

thf(sy_c_List_Olist_Omap_001t__List__Olist_It__List__Olist_It__Nat__Onat_J_J_001t__List__Olist_It__List__Olist_It__Nat__Onat_J_J,type,
    map_li2855073862107769254st_nat: ( list_list_nat > list_list_nat ) > list_list_list_nat > list_list_list_nat ).

thf(sy_c_List_Olist_Omap_001t__List__Olist_It__List__Olist_It__Nat__Onat_J_J_001t__List__Olist_It__Set__Oset_It__Nat__Onat_J_J,type,
    map_li5623744104693966028et_nat: ( list_list_nat > list_set_nat ) > list_list_list_nat > list_list_set_nat ).

thf(sy_c_List_Olist_Omap_001t__List__Olist_It__List__Olist_It__Nat__Onat_J_J_001t__Set__Oset_It__List__Olist_It__Nat__Onat_J_J,type,
    map_li2355978560338012748st_nat: ( list_list_nat > set_list_nat ) > list_list_list_nat > list_set_list_nat ).

thf(sy_c_List_Olist_Omap_001t__List__Olist_It__Nat__Onat_J_001t__List__Olist_It__Nat__Onat_J,type,
    map_li7225945977422193158st_nat: ( list_nat > list_nat ) > list_list_nat > list_list_nat ).

thf(sy_c_List_Olist_Omap_001t__List__Olist_It__Nat__Onat_J_001t__Nat__Onat,type,
    map_list_nat_nat: ( list_nat > nat ) > list_list_nat > list_nat ).

thf(sy_c_List_Olist_Omap_001t__List__Olist_It__Nat__Onat_J_001t__Set__Oset_It__Nat__Onat_J,type,
    map_list_nat_set_nat: ( list_nat > set_nat ) > list_list_nat > list_set_nat ).

thf(sy_c_List_Olist_Omap_001t__List__Olist_It__Set__Oset_It__Nat__Onat_J_J_001t__Set__Oset_It__Set__Oset_It__Nat__Onat_J_J,type,
    map_li3330360646112351000et_nat: ( list_set_nat > set_set_nat ) > list_list_set_nat > list_set_set_nat ).

thf(sy_c_List_Olist_Omap_001t__Nat__Onat_001t__List__Olist_It__Nat__Onat_J,type,
    map_nat_list_nat: ( nat > list_nat ) > list_nat > list_list_nat ).

thf(sy_c_List_Olist_Omap_001t__Nat__Onat_001t__Nat__Onat,type,
    map_nat_nat: ( nat > nat ) > list_nat > list_nat ).

thf(sy_c_List_Olist_Omap_001t__Nat__Onat_001t__Set__Oset_It__Nat__Onat_J,type,
    map_nat_set_nat: ( nat > set_nat ) > list_nat > list_set_nat ).

thf(sy_c_List_Olist_Omap_001t__Set__Oset_It__Nat__Onat_J_001t__Nat__Onat,type,
    map_set_nat_nat: ( set_nat > nat ) > list_set_nat > list_nat ).

thf(sy_c_List_Olist_Omap_001t__Set__Oset_It__Nat__Onat_J_001t__Set__Oset_It__Nat__Onat_J,type,
    map_set_nat_set_nat: ( set_nat > set_nat ) > list_set_nat > list_set_nat ).

thf(sy_c_List_Olist_Oset_001t__List__Olist_It__List__Olist_It__Nat__Onat_J_J,type,
    set_list_list_nat2: list_list_list_nat > set_list_list_nat ).

thf(sy_c_List_Olist_Oset_001t__List__Olist_It__Nat__Onat_J,type,
    set_list_nat2: list_list_nat > set_list_nat ).

thf(sy_c_List_Olist_Oset_001t__List__Olist_It__Set__Oset_It__Nat__Onat_J_J,type,
    set_list_set_nat2: list_list_set_nat > set_list_set_nat ).

thf(sy_c_List_Olist_Oset_001t__Nat__Onat,type,
    set_nat2: list_nat > set_nat ).

thf(sy_c_List_Olist_Oset_001t__Set__Oset_It__Nat__Onat_J,type,
    set_set_nat2: list_set_nat > set_set_nat ).

thf(sy_c_List_Olist_Otl_001t__Nat__Onat,type,
    tl_nat: list_nat > list_nat ).

thf(sy_c_List_Olist__ex1_001t__List__Olist_It__Nat__Onat_J,type,
    list_ex1_list_nat: ( list_nat > $o ) > list_list_nat > $o ).

thf(sy_c_List_Olist__ex1_001t__Nat__Onat,type,
    list_ex1_nat: ( nat > $o ) > list_nat > $o ).

thf(sy_c_List_Olist__ex1_001t__Set__Oset_It__Nat__Onat_J,type,
    list_ex1_set_nat: ( set_nat > $o ) > list_set_nat > $o ).

thf(sy_c_List_Omap__tailrec_001t__List__Olist_It__Nat__Onat_J_001t__List__Olist_It__Nat__Onat_J,type,
    map_ta9145449198693458768st_nat: ( list_nat > list_nat ) > list_list_nat > list_list_nat ).

thf(sy_c_List_Omap__tailrec_001t__List__Olist_It__Nat__Onat_J_001t__Set__Oset_It__Nat__Onat_J,type,
    map_ta5245179185533627382et_nat: ( list_nat > set_nat ) > list_list_nat > list_set_nat ).

thf(sy_c_List_Omap__tailrec_001t__Nat__Onat_001t__Nat__Onat,type,
    map_tailrec_nat_nat: ( nat > nat ) > list_nat > list_nat ).

thf(sy_c_List_Omap__tailrec__rev_001t__List__Olist_It__Nat__Onat_J_001t__List__Olist_It__Nat__Onat_J,type,
    map_ta5898645294048341815st_nat: ( list_nat > list_nat ) > list_list_nat > list_list_nat > list_list_nat ).

thf(sy_c_List_Omap__tailrec__rev_001t__List__Olist_It__Nat__Onat_J_001t__Nat__Onat,type,
    map_ta3159490279798172583at_nat: ( list_nat > nat ) > list_list_nat > list_nat > list_nat ).

thf(sy_c_List_Omap__tailrec__rev_001t__List__Olist_It__Nat__Onat_J_001t__Set__Oset_It__Nat__Onat_J,type,
    map_ta4372842632731638621et_nat: ( list_nat > set_nat ) > list_list_nat > list_set_nat > list_set_nat ).

thf(sy_c_List_Omap__tailrec__rev_001t__Nat__Onat_001t__List__Olist_It__Nat__Onat_J,type,
    map_ta920533232635887399st_nat: ( nat > list_nat ) > list_nat > list_list_nat > list_list_nat ).

thf(sy_c_List_Omap__tailrec__rev_001t__Nat__Onat_001t__Nat__Onat,type,
    map_ta7164188454487880599at_nat: ( nat > nat ) > list_nat > list_nat > list_nat ).

thf(sy_c_List_Omaps_001t__List__Olist_It__Nat__Onat_J_001t__List__Olist_It__Nat__Onat_J,type,
    maps_l5785965478274863235st_nat: ( list_nat > list_list_nat ) > list_list_nat > list_list_nat ).

thf(sy_c_List_Omaps_001t__List__Olist_It__Nat__Onat_J_001t__Nat__Onat,type,
    maps_list_nat_nat: ( list_nat > list_nat ) > list_list_nat > list_nat ).

thf(sy_c_List_Omaps_001t__Nat__Onat_001t__List__Olist_It__Nat__Onat_J,type,
    maps_nat_list_nat: ( nat > list_list_nat ) > list_nat > list_list_nat ).

thf(sy_c_List_Omaps_001t__Nat__Onat_001t__Nat__Onat,type,
    maps_nat_nat: ( nat > list_nat ) > list_nat > list_nat ).

thf(sy_c_List_Omin__list_001t__Nat__Onat,type,
    min_list_nat: list_nat > nat ).

thf(sy_c_List_Oord_Olexordp__eq_001t__Nat__Onat,type,
    lexordp_eq_nat: ( nat > nat > $o ) > list_nat > list_nat > $o ).

thf(sy_c_List_Oproduct__lists_001t__List__Olist_It__Nat__Onat_J,type,
    produc6783906451316923569st_nat: list_list_list_nat > list_list_list_nat ).

thf(sy_c_List_Oproduct__lists_001t__Nat__Onat,type,
    product_lists_nat: list_list_nat > list_list_nat ).

thf(sy_c_List_Oproduct__lists_001t__Set__Oset_It__Nat__Onat_J,type,
    produc8109398739672286679et_nat: list_list_set_nat > list_list_set_nat ).

thf(sy_c_List_Oremdups__adj_001t__Nat__Onat,type,
    remdups_adj_nat: list_nat > list_nat ).

thf(sy_c_List_Oremove1_001t__Nat__Onat,type,
    remove1_nat: nat > list_nat > list_nat ).

thf(sy_c_List_Orev_001t__List__Olist_It__List__Olist_It__Nat__Onat_J_J,type,
    rev_list_list_nat: list_list_list_nat > list_list_list_nat ).

thf(sy_c_List_Orev_001t__List__Olist_It__Nat__Onat_J,type,
    rev_list_nat: list_list_nat > list_list_nat ).

thf(sy_c_List_Orev_001t__Nat__Onat,type,
    rev_nat: list_nat > list_nat ).

thf(sy_c_List_Orev_001t__Set__Oset_It__Nat__Onat_J,type,
    rev_set_nat: list_set_nat > list_set_nat ).

thf(sy_c_List_Orotate1_001t__List__Olist_It__Nat__Onat_J,type,
    rotate1_list_nat: list_list_nat > list_list_nat ).

thf(sy_c_List_Orotate1_001t__Nat__Onat,type,
    rotate1_nat: list_nat > list_nat ).

thf(sy_c_List_Orotate1_001t__Set__Oset_It__Nat__Onat_J,type,
    rotate1_set_nat: list_set_nat > list_set_nat ).

thf(sy_c_List_Oshuffles_001t__Nat__Onat,type,
    shuffles_nat: list_nat > list_nat > set_list_nat ).

thf(sy_c_List_Osorted__wrt_001t__Nat__Onat,type,
    sorted_wrt_nat: ( nat > nat > $o ) > list_nat > $o ).

thf(sy_c_List_Osubseqs_001t__List__Olist_It__Nat__Onat_J,type,
    subseqs_list_nat: list_list_nat > list_list_list_nat ).

thf(sy_c_List_Osubseqs_001t__Nat__Onat,type,
    subseqs_nat: list_nat > list_list_nat ).

thf(sy_c_List_Osubseqs_001t__Set__Oset_It__Nat__Onat_J,type,
    subseqs_set_nat: list_set_nat > list_list_set_nat ).

thf(sy_c_List_Osuccessively_001t__Nat__Onat,type,
    successively_nat: ( nat > nat > $o ) > list_nat > $o ).

thf(sy_c_List_Otranspose_001t__List__Olist_It__Nat__Onat_J,type,
    transpose_list_nat: list_list_list_nat > list_list_list_nat ).

thf(sy_c_List_Otranspose_001t__Nat__Onat,type,
    transpose_nat: list_list_nat > list_list_nat ).

thf(sy_c_List_Otranspose_001t__Set__Oset_It__Nat__Onat_J,type,
    transpose_set_nat: list_list_set_nat > list_list_set_nat ).

thf(sy_c_List_Ounion_001t__Nat__Onat,type,
    union_nat: list_nat > list_nat > list_nat ).

thf(sy_c_List_Ounion_001t__Set__Oset_It__Nat__Onat_J,type,
    union_set_nat: list_set_nat > list_set_nat > list_set_nat ).

thf(sy_c_Orderings_Oord_Omax_001t__List__Olist_It__List__Olist_It__Nat__Onat_J_J,type,
    max_list_list_nat: ( list_list_nat > list_list_nat > $o ) > list_list_nat > list_list_nat > list_list_nat ).

thf(sy_c_Orderings_Oord_Omax_001t__List__Olist_It__Nat__Onat_J,type,
    max_list_nat: ( list_nat > list_nat > $o ) > list_nat > list_nat > list_nat ).

thf(sy_c_Orderings_Oord_Omin_001t__List__Olist_It__List__Olist_It__Nat__Onat_J_J,type,
    min_list_list_nat: ( list_list_nat > list_list_nat > $o ) > list_list_nat > list_list_nat > list_list_nat ).

thf(sy_c_Orderings_Oord_Omin_001t__List__Olist_It__Nat__Onat_J,type,
    min_list_nat2: ( list_nat > list_nat > $o ) > list_nat > list_nat > list_nat ).

thf(sy_c_Orderings_Oord__class_Oless__eq_001_062_I_Eo_M_062_I_Eo_Mt__Nat__Onat_J_J,type,
    ord_less_eq_o_o_nat: ( $o > $o > nat ) > ( $o > $o > nat ) > $o ).

thf(sy_c_Orderings_Oord__class_Oless__eq_001_062_I_Eo_Mt__Nat__Onat_J,type,
    ord_less_eq_o_nat: ( $o > nat ) > ( $o > nat ) > $o ).

thf(sy_c_Orderings_Oord__class_Oless__eq_001_062_I_Eo_Mt__Set__Oset_It__List__Olist_It__Nat__Onat_J_J_J,type,
    ord_le3606317655850047935st_nat: ( $o > set_list_nat ) > ( $o > set_list_nat ) > $o ).

thf(sy_c_Orderings_Oord__class_Oless__eq_001_062_I_Eo_Mt__Set__Oset_It__Nat__Onat_J_J,type,
    ord_le7022414076629706543et_nat: ( $o > set_nat ) > ( $o > set_nat ) > $o ).

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

thf(sy_c_Orderings_Oord__class_Oless__eq_001t__Set__Oset_It__List__Olist_It__Nat__Onat_J_J,type,
    ord_le6045566169113846134st_nat: set_list_nat > set_list_nat > $o ).

thf(sy_c_Orderings_Oord__class_Oless__eq_001t__Set__Oset_It__Nat__Onat_J,type,
    ord_less_eq_set_nat: set_nat > set_nat > $o ).

thf(sy_c_Orderings_Oord__class_Oless__eq_001t__Set__Oset_It__Set__Oset_It__List__Olist_It__Nat__Onat_J_J_J,type,
    ord_le1068707526560357548st_nat: set_set_list_nat > set_set_list_nat > $o ).

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

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

thf(sy_c_Orderings_Oord__class_Omin_001_062_I_Eo_Mt__Nat__Onat_J,type,
    ord_min_o_nat: ( $o > nat ) > ( $o > nat ) > $o > nat ).

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

thf(sy_c_Orderings_Oord__class_Omin_001t__Set__Oset_It__List__Olist_It__Nat__Onat_J_J,type,
    ord_min_set_list_nat: set_list_nat > set_list_nat > set_list_nat ).

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

thf(sy_c_Orderings_Oorder__class_OGreatest_001_062_I_Eo_Mt__Nat__Onat_J,type,
    order_Greatest_o_nat: ( ( $o > nat ) > $o ) > $o > nat ).

thf(sy_c_Orderings_Oorder__class_OGreatest_001t__Nat__Onat,type,
    order_Greatest_nat: ( nat > $o ) > nat ).

thf(sy_c_Orderings_Oorder__class_OGreatest_001t__Set__Oset_It__List__Olist_It__Nat__Onat_J_J,type,
    order_3081514539752307581st_nat: ( set_list_nat > $o ) > set_list_nat ).

thf(sy_c_Orderings_Oorder__class_OGreatest_001t__Set__Oset_It__Nat__Onat_J,type,
    order_5724808138429204845et_nat: ( set_nat > $o ) > set_nat ).

thf(sy_c_Orderings_Otop__class_Otop_001t__Set__Oset_It__Nat__Onat_J,type,
    top_top_set_nat: set_nat ).

thf(sy_c_Set_OCollect_001t__List__Olist_It__Nat__Onat_J,type,
    collect_list_nat: ( list_nat > $o ) > set_list_nat ).

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

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

thf(sy_c_Set_OPow_001t__List__Olist_It__Nat__Onat_J,type,
    pow_list_nat: set_list_nat > set_set_list_nat ).

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

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

thf(sy_c_Set_Oimage_001t__List__Olist_It__List__Olist_It__Nat__Onat_J_J_001t__Set__Oset_It__List__Olist_It__Nat__Onat_J_J,type,
    image_4375647060027540749st_nat: ( list_list_nat > set_list_nat ) > set_list_list_nat > set_set_list_nat ).

thf(sy_c_Set_Oimage_001t__List__Olist_It__Nat__Onat_J_001t__List__Olist_It__Nat__Onat_J,type,
    image_7976474329151083847st_nat: ( list_nat > list_nat ) > set_list_nat > set_list_nat ).

thf(sy_c_Set_Oimage_001t__List__Olist_It__Nat__Onat_J_001t__Nat__Onat,type,
    image_list_nat_nat: ( list_nat > nat ) > set_list_nat > set_nat ).

thf(sy_c_Set_Oimage_001t__List__Olist_It__Nat__Onat_J_001t__Set__Oset_It__Nat__Onat_J,type,
    image_1775855109352712557et_nat: ( list_nat > set_nat ) > set_list_nat > set_set_nat ).

thf(sy_c_Set_Oimage_001t__Nat__Onat_001t__List__Olist_It__Nat__Onat_J,type,
    image_nat_list_nat: ( nat > list_nat ) > set_nat > set_list_nat ).

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

thf(sy_c_Set_Oimage_001t__Nat__Onat_001t__Set__Oset_It__Nat__Onat_J,type,
    image_nat_set_nat: ( nat > set_nat ) > set_nat > set_set_nat ).

thf(sy_c_Set_Oimage_001t__Set__Oset_It__List__Olist_It__Nat__Onat_J_J_001t__Set__Oset_It__List__Olist_It__Nat__Onat_J_J,type,
    image_5143090206295581363st_nat: ( set_list_nat > set_list_nat ) > set_set_list_nat > set_set_list_nat ).

thf(sy_c_Set_Oimage_001t__Set__Oset_It__List__Olist_It__Nat__Onat_J_J_001t__Set__Oset_It__Set__Oset_It__Nat__Onat_J_J,type,
    image_5197499214737593433et_nat: ( set_list_nat > set_set_nat ) > set_set_list_nat > set_set_set_nat ).

thf(sy_c_Set_Oimage_001t__Set__Oset_It__Nat__Onat_J_001t__List__Olist_It__Nat__Onat_J,type,
    image_5426082062715393517st_nat: ( set_nat > list_nat ) > set_set_nat > set_list_nat ).

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

thf(sy_c_Set_Oimage_001t__Set__Oset_It__Nat__Onat_J_001t__Set__Oset_It__List__Olist_It__Nat__Onat_J_J,type,
    image_769671623901021219st_nat: ( set_nat > set_list_nat ) > set_set_nat > set_set_list_nat ).

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

thf(sy_c_Set_Oremove_001t__List__Olist_It__Nat__Onat_J,type,
    remove_list_nat: list_nat > set_list_nat > set_list_nat ).

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

thf(sy_c_Set_Oremove_001t__Set__Oset_It__Nat__Onat_J,type,
    remove_set_nat: set_nat > set_set_nat > set_set_nat ).

thf(sy_c_Set_Othe__elem_001t__List__Olist_It__Nat__Onat_J,type,
    the_elem_list_nat: set_list_nat > list_nat ).

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

thf(sy_c_Set__Interval_Oord__class_OlessThan_001t__Nat__Onat,type,
    set_ord_lessThan_nat: nat > set_nat ).

thf(sy_c_Sublist_OLongest__common__prefix_001t__List__Olist_It__Nat__Onat_J,type,
    longes1154758050827863222st_nat: set_list_list_nat > list_list_nat ).

thf(sy_c_Sublist_OLongest__common__prefix_001t__Nat__Onat,type,
    longes514542611558403238ix_nat: set_list_nat > list_nat ).

thf(sy_c_Sublist_Olongest__common__prefix_001t__List__Olist_It__Nat__Onat_J,type,
    longes3715614165048771798st_nat: list_list_nat > list_list_nat > list_list_nat ).

thf(sy_c_Sublist_Olongest__common__prefix_001t__Nat__Onat,type,
    longes266370323089874118ix_nat: list_nat > list_nat > list_nat ).

thf(sy_c_Sublist_Oprefix_001t__List__Olist_It__Nat__Onat_J,type,
    prefix_list_nat: list_list_nat > list_list_nat > $o ).

thf(sy_c_Sublist_Oprefix_001t__Nat__Onat,type,
    prefix_nat: list_nat > list_nat > $o ).

thf(sy_c_Sublist_Oprefix_001t__Set__Oset_It__Nat__Onat_J,type,
    prefix_set_nat: list_set_nat > list_set_nat > $o ).

thf(sy_c_Sublist_Oprefixes_001t__List__Olist_It__Nat__Onat_J,type,
    prefixes_list_nat: list_list_nat > list_list_list_nat ).

thf(sy_c_Sublist_Oprefixes_001t__Nat__Onat,type,
    prefixes_nat: list_nat > list_list_nat ).

thf(sy_c_Sublist_Ostrict__prefix_001t__List__Olist_It__Nat__Onat_J,type,
    strict6380099159608944142st_nat: list_list_nat > list_list_nat > $o ).

thf(sy_c_Sublist_Ostrict__prefix_001t__Nat__Onat,type,
    strict_prefix_nat: list_nat > list_nat > $o ).

thf(sy_c_Sublist_Ostrict__suffix_001t__Nat__Onat,type,
    strict_suffix_nat: list_nat > list_nat > $o ).

thf(sy_c_Sublist_Osublist_001t__Nat__Onat,type,
    sublist_nat: list_nat > list_nat > $o ).

thf(sy_c_Sublist_Osublists_001t__List__Olist_It__Nat__Onat_J,type,
    sublists_list_nat: list_list_nat > list_list_list_nat ).

thf(sy_c_Sublist_Osublists_001t__Nat__Onat,type,
    sublists_nat: list_nat > list_list_nat ).

thf(sy_c_Sublist_Osuffix_001t__Nat__Onat,type,
    suffix_nat: list_nat > list_nat > $o ).

thf(sy_c_Sublist_Osuffixes_001t__List__Olist_It__Nat__Onat_J,type,
    suffixes_list_nat: list_list_nat > list_list_list_nat ).

thf(sy_c_Sublist_Osuffixes_001t__Nat__Onat,type,
    suffixes_nat: list_nat > list_list_nat ).

thf(sy_c_member_001t__List__Olist_It__List__Olist_It__Nat__Onat_J_J,type,
    member_list_list_nat: list_list_nat > set_list_list_nat > $o ).

thf(sy_c_member_001t__List__Olist_It__Nat__Onat_J,type,
    member_list_nat: list_nat > set_list_nat > $o ).

thf(sy_c_member_001t__List__Olist_It__Set__Oset_It__Nat__Onat_J_J,type,
    member_list_set_nat: list_set_nat > set_list_set_nat > $o ).

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

thf(sy_c_member_001t__Set__Oset_It__List__Olist_It__Nat__Onat_J_J,type,
    member_set_list_nat: set_list_nat > set_set_list_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_v_x____,type,
    x: nat ).

thf(sy_v_xsa____,type,
    xsa: list_nat ).

% Relevant facts (1276)
thf(fact_0_c,axiom,
    equiva3371634703666331078on_rgf @ xsa ).

% c
thf(fact_1_order__refl,axiom,
    ! [X: $o > nat] : ( ord_less_eq_o_nat @ X @ X ) ).

% order_refl
thf(fact_2_order__refl,axiom,
    ! [X: set_nat] : ( ord_less_eq_set_nat @ X @ X ) ).

% order_refl
thf(fact_3_order__refl,axiom,
    ! [X: set_list_nat] : ( ord_le6045566169113846134st_nat @ X @ X ) ).

% order_refl
thf(fact_4_order__refl,axiom,
    ! [X: nat] : ( ord_less_eq_nat @ X @ X ) ).

% order_refl
thf(fact_5_dual__order_Orefl,axiom,
    ! [A: $o > nat] : ( ord_less_eq_o_nat @ A @ A ) ).

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

% dual_order.refl
thf(fact_7_dual__order_Orefl,axiom,
    ! [A: set_list_nat] : ( ord_le6045566169113846134st_nat @ A @ A ) ).

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

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

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

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

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

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

% nat_le_linear
thf(fact_14_Nat_Oex__has__greatest__nat,axiom,
    ! [P: nat > $o,K: nat,B: nat] :
      ( ( P @ K )
     => ( ! [Y: nat] :
            ( ( P @ Y )
           => ( ord_less_eq_nat @ Y @ B ) )
       => ? [X2: nat] :
            ( ( P @ X2 )
            & ! [Y2: nat] :
                ( ( P @ Y2 )
               => ( ord_less_eq_nat @ Y2 @ X2 ) ) ) ) ) ).

% Nat.ex_has_greatest_nat
thf(fact_15_bounded__Max__nat,axiom,
    ! [P: nat > $o,X: nat,M2: nat] :
      ( ( P @ X )
     => ( ! [X2: nat] :
            ( ( P @ X2 )
           => ( ord_less_eq_nat @ X2 @ M2 ) )
       => ~ ! [M3: nat] :
              ( ( P @ M3 )
             => ~ ! [X3: nat] :
                    ( ( P @ X3 )
                   => ( ord_less_eq_nat @ X3 @ M3 ) ) ) ) ) ).

% bounded_Max_nat
thf(fact_16_verit__comp__simplify1_I2_J,axiom,
    ! [A: $o > nat] : ( ord_less_eq_o_nat @ A @ A ) ).

% verit_comp_simplify1(2)
thf(fact_17_verit__comp__simplify1_I2_J,axiom,
    ! [A: set_nat] : ( ord_less_eq_set_nat @ A @ A ) ).

% verit_comp_simplify1(2)
thf(fact_18_verit__comp__simplify1_I2_J,axiom,
    ! [A: set_list_nat] : ( ord_le6045566169113846134st_nat @ A @ A ) ).

% verit_comp_simplify1(2)
thf(fact_19_verit__comp__simplify1_I2_J,axiom,
    ! [A: nat] : ( ord_less_eq_nat @ A @ A ) ).

% verit_comp_simplify1(2)
thf(fact_20_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_21_order__antisym__conv,axiom,
    ! [Y3: $o > nat,X: $o > nat] :
      ( ( ord_less_eq_o_nat @ Y3 @ X )
     => ( ( ord_less_eq_o_nat @ X @ Y3 )
        = ( X = Y3 ) ) ) ).

% order_antisym_conv
thf(fact_22_order__antisym__conv,axiom,
    ! [Y3: set_nat,X: set_nat] :
      ( ( ord_less_eq_set_nat @ Y3 @ X )
     => ( ( ord_less_eq_set_nat @ X @ Y3 )
        = ( X = Y3 ) ) ) ).

% order_antisym_conv
thf(fact_23_order__antisym__conv,axiom,
    ! [Y3: set_list_nat,X: set_list_nat] :
      ( ( ord_le6045566169113846134st_nat @ Y3 @ X )
     => ( ( ord_le6045566169113846134st_nat @ X @ Y3 )
        = ( X = Y3 ) ) ) ).

% order_antisym_conv
thf(fact_24_order__antisym__conv,axiom,
    ! [Y3: nat,X: nat] :
      ( ( ord_less_eq_nat @ Y3 @ X )
     => ( ( ord_less_eq_nat @ X @ Y3 )
        = ( X = Y3 ) ) ) ).

% order_antisym_conv
thf(fact_25_linorder__le__cases,axiom,
    ! [X: nat,Y3: nat] :
      ( ~ ( ord_less_eq_nat @ X @ Y3 )
     => ( ord_less_eq_nat @ Y3 @ X ) ) ).

% linorder_le_cases
thf(fact_26_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,Y: nat] :
              ( ( ord_less_eq_nat @ X2 @ Y )
             => ( ord_less_eq_nat @ ( F @ X2 ) @ ( F @ Y ) ) )
         => ( ord_less_eq_nat @ ( F @ A ) @ C ) ) ) ) ).

% ord_le_eq_subst
thf(fact_27_ord__le__eq__subst,axiom,
    ! [A: nat,B: nat,F: nat > set_nat,C: set_nat] :
      ( ( ord_less_eq_nat @ A @ B )
     => ( ( ( F @ B )
          = C )
       => ( ! [X2: nat,Y: nat] :
              ( ( ord_less_eq_nat @ X2 @ Y )
             => ( ord_less_eq_set_nat @ ( F @ X2 ) @ ( F @ Y ) ) )
         => ( ord_less_eq_set_nat @ ( F @ A ) @ C ) ) ) ) ).

% ord_le_eq_subst
thf(fact_28_ord__le__eq__subst,axiom,
    ! [A: set_nat,B: set_nat,F: set_nat > nat,C: nat] :
      ( ( ord_less_eq_set_nat @ A @ B )
     => ( ( ( F @ B )
          = C )
       => ( ! [X2: set_nat,Y: set_nat] :
              ( ( ord_less_eq_set_nat @ X2 @ Y )
             => ( ord_less_eq_nat @ ( F @ X2 ) @ ( F @ Y ) ) )
         => ( ord_less_eq_nat @ ( F @ A ) @ C ) ) ) ) ).

% ord_le_eq_subst
thf(fact_29_ord__le__eq__subst,axiom,
    ! [A: nat,B: nat,F: nat > $o > nat,C: $o > nat] :
      ( ( ord_less_eq_nat @ A @ B )
     => ( ( ( F @ B )
          = C )
       => ( ! [X2: nat,Y: nat] :
              ( ( ord_less_eq_nat @ X2 @ Y )
             => ( ord_less_eq_o_nat @ ( F @ X2 ) @ ( F @ Y ) ) )
         => ( ord_less_eq_o_nat @ ( F @ A ) @ C ) ) ) ) ).

% ord_le_eq_subst
thf(fact_30_ord__le__eq__subst,axiom,
    ! [A: nat,B: nat,F: nat > set_list_nat,C: set_list_nat] :
      ( ( ord_less_eq_nat @ A @ B )
     => ( ( ( F @ B )
          = C )
       => ( ! [X2: nat,Y: nat] :
              ( ( ord_less_eq_nat @ X2 @ Y )
             => ( ord_le6045566169113846134st_nat @ ( F @ X2 ) @ ( F @ Y ) ) )
         => ( ord_le6045566169113846134st_nat @ ( F @ A ) @ C ) ) ) ) ).

% ord_le_eq_subst
thf(fact_31_ord__le__eq__subst,axiom,
    ! [A: $o > nat,B: $o > nat,F: ( $o > nat ) > nat,C: nat] :
      ( ( ord_less_eq_o_nat @ A @ B )
     => ( ( ( F @ B )
          = C )
       => ( ! [X2: $o > nat,Y: $o > nat] :
              ( ( ord_less_eq_o_nat @ X2 @ Y )
             => ( ord_less_eq_nat @ ( F @ X2 ) @ ( F @ Y ) ) )
         => ( ord_less_eq_nat @ ( F @ A ) @ C ) ) ) ) ).

% ord_le_eq_subst
thf(fact_32_ord__le__eq__subst,axiom,
    ! [A: set_nat,B: set_nat,F: set_nat > set_nat,C: set_nat] :
      ( ( ord_less_eq_set_nat @ A @ B )
     => ( ( ( F @ B )
          = C )
       => ( ! [X2: set_nat,Y: set_nat] :
              ( ( ord_less_eq_set_nat @ X2 @ Y )
             => ( ord_less_eq_set_nat @ ( F @ X2 ) @ ( F @ Y ) ) )
         => ( ord_less_eq_set_nat @ ( F @ A ) @ C ) ) ) ) ).

% ord_le_eq_subst
thf(fact_33_ord__le__eq__subst,axiom,
    ! [A: set_list_nat,B: set_list_nat,F: set_list_nat > nat,C: nat] :
      ( ( ord_le6045566169113846134st_nat @ A @ B )
     => ( ( ( F @ B )
          = C )
       => ( ! [X2: set_list_nat,Y: set_list_nat] :
              ( ( ord_le6045566169113846134st_nat @ X2 @ Y )
             => ( ord_less_eq_nat @ ( F @ X2 ) @ ( F @ Y ) ) )
         => ( ord_less_eq_nat @ ( F @ A ) @ C ) ) ) ) ).

% ord_le_eq_subst
thf(fact_34_ord__le__eq__subst,axiom,
    ! [A: $o > nat,B: $o > nat,F: ( $o > nat ) > set_nat,C: set_nat] :
      ( ( ord_less_eq_o_nat @ A @ B )
     => ( ( ( F @ B )
          = C )
       => ( ! [X2: $o > nat,Y: $o > nat] :
              ( ( ord_less_eq_o_nat @ X2 @ Y )
             => ( ord_less_eq_set_nat @ ( F @ X2 ) @ ( F @ Y ) ) )
         => ( ord_less_eq_set_nat @ ( F @ A ) @ C ) ) ) ) ).

% ord_le_eq_subst
thf(fact_35_ord__le__eq__subst,axiom,
    ! [A: set_nat,B: set_nat,F: set_nat > $o > nat,C: $o > nat] :
      ( ( ord_less_eq_set_nat @ A @ B )
     => ( ( ( F @ B )
          = C )
       => ( ! [X2: set_nat,Y: set_nat] :
              ( ( ord_less_eq_set_nat @ X2 @ Y )
             => ( ord_less_eq_o_nat @ ( F @ X2 ) @ ( F @ Y ) ) )
         => ( ord_less_eq_o_nat @ ( F @ A ) @ C ) ) ) ) ).

% ord_le_eq_subst
thf(fact_36_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,Y: nat] :
              ( ( ord_less_eq_nat @ X2 @ Y )
             => ( ord_less_eq_nat @ ( F @ X2 ) @ ( F @ Y ) ) )
         => ( ord_less_eq_nat @ A @ ( F @ C ) ) ) ) ) ).

% ord_eq_le_subst
thf(fact_37_ord__eq__le__subst,axiom,
    ! [A: set_nat,F: nat > set_nat,B: nat,C: nat] :
      ( ( A
        = ( F @ B ) )
     => ( ( ord_less_eq_nat @ B @ C )
       => ( ! [X2: nat,Y: nat] :
              ( ( ord_less_eq_nat @ X2 @ Y )
             => ( ord_less_eq_set_nat @ ( F @ X2 ) @ ( F @ Y ) ) )
         => ( ord_less_eq_set_nat @ A @ ( F @ C ) ) ) ) ) ).

% ord_eq_le_subst
thf(fact_38_ord__eq__le__subst,axiom,
    ! [A: nat,F: set_nat > nat,B: set_nat,C: set_nat] :
      ( ( A
        = ( F @ B ) )
     => ( ( ord_less_eq_set_nat @ B @ C )
       => ( ! [X2: set_nat,Y: set_nat] :
              ( ( ord_less_eq_set_nat @ X2 @ Y )
             => ( ord_less_eq_nat @ ( F @ X2 ) @ ( F @ Y ) ) )
         => ( ord_less_eq_nat @ A @ ( F @ C ) ) ) ) ) ).

% ord_eq_le_subst
thf(fact_39_ord__eq__le__subst,axiom,
    ! [A: $o > nat,F: nat > $o > nat,B: nat,C: nat] :
      ( ( A
        = ( F @ B ) )
     => ( ( ord_less_eq_nat @ B @ C )
       => ( ! [X2: nat,Y: nat] :
              ( ( ord_less_eq_nat @ X2 @ Y )
             => ( ord_less_eq_o_nat @ ( F @ X2 ) @ ( F @ Y ) ) )
         => ( ord_less_eq_o_nat @ A @ ( F @ C ) ) ) ) ) ).

% ord_eq_le_subst
thf(fact_40_ord__eq__le__subst,axiom,
    ! [A: set_list_nat,F: nat > set_list_nat,B: nat,C: nat] :
      ( ( A
        = ( F @ B ) )
     => ( ( ord_less_eq_nat @ B @ C )
       => ( ! [X2: nat,Y: nat] :
              ( ( ord_less_eq_nat @ X2 @ Y )
             => ( ord_le6045566169113846134st_nat @ ( F @ X2 ) @ ( F @ Y ) ) )
         => ( ord_le6045566169113846134st_nat @ A @ ( F @ C ) ) ) ) ) ).

% ord_eq_le_subst
thf(fact_41_ord__eq__le__subst,axiom,
    ! [A: nat,F: ( $o > nat ) > nat,B: $o > nat,C: $o > nat] :
      ( ( A
        = ( F @ B ) )
     => ( ( ord_less_eq_o_nat @ B @ C )
       => ( ! [X2: $o > nat,Y: $o > nat] :
              ( ( ord_less_eq_o_nat @ X2 @ Y )
             => ( ord_less_eq_nat @ ( F @ X2 ) @ ( F @ Y ) ) )
         => ( ord_less_eq_nat @ A @ ( F @ C ) ) ) ) ) ).

% ord_eq_le_subst
thf(fact_42_ord__eq__le__subst,axiom,
    ! [A: set_nat,F: set_nat > set_nat,B: set_nat,C: set_nat] :
      ( ( A
        = ( F @ B ) )
     => ( ( ord_less_eq_set_nat @ B @ C )
       => ( ! [X2: set_nat,Y: set_nat] :
              ( ( ord_less_eq_set_nat @ X2 @ Y )
             => ( ord_less_eq_set_nat @ ( F @ X2 ) @ ( F @ Y ) ) )
         => ( ord_less_eq_set_nat @ A @ ( F @ C ) ) ) ) ) ).

% ord_eq_le_subst
thf(fact_43_ord__eq__le__subst,axiom,
    ! [A: nat,F: set_list_nat > nat,B: set_list_nat,C: set_list_nat] :
      ( ( A
        = ( F @ B ) )
     => ( ( ord_le6045566169113846134st_nat @ B @ C )
       => ( ! [X2: set_list_nat,Y: set_list_nat] :
              ( ( ord_le6045566169113846134st_nat @ X2 @ Y )
             => ( ord_less_eq_nat @ ( F @ X2 ) @ ( F @ Y ) ) )
         => ( ord_less_eq_nat @ A @ ( F @ C ) ) ) ) ) ).

% ord_eq_le_subst
thf(fact_44_ord__eq__le__subst,axiom,
    ! [A: set_nat,F: ( $o > nat ) > set_nat,B: $o > nat,C: $o > nat] :
      ( ( A
        = ( F @ B ) )
     => ( ( ord_less_eq_o_nat @ B @ C )
       => ( ! [X2: $o > nat,Y: $o > nat] :
              ( ( ord_less_eq_o_nat @ X2 @ Y )
             => ( ord_less_eq_set_nat @ ( F @ X2 ) @ ( F @ Y ) ) )
         => ( ord_less_eq_set_nat @ A @ ( F @ C ) ) ) ) ) ).

% ord_eq_le_subst
thf(fact_45_ord__eq__le__subst,axiom,
    ! [A: $o > nat,F: set_nat > $o > nat,B: set_nat,C: set_nat] :
      ( ( A
        = ( F @ B ) )
     => ( ( ord_less_eq_set_nat @ B @ C )
       => ( ! [X2: set_nat,Y: set_nat] :
              ( ( ord_less_eq_set_nat @ X2 @ Y )
             => ( ord_less_eq_o_nat @ ( F @ X2 ) @ ( F @ Y ) ) )
         => ( ord_less_eq_o_nat @ A @ ( F @ C ) ) ) ) ) ).

% ord_eq_le_subst
thf(fact_46_linorder__linear,axiom,
    ! [X: nat,Y3: nat] :
      ( ( ord_less_eq_nat @ X @ Y3 )
      | ( ord_less_eq_nat @ Y3 @ X ) ) ).

% linorder_linear
thf(fact_47_verit__la__disequality,axiom,
    ! [A: nat,B: nat] :
      ( ( A = B )
      | ~ ( ord_less_eq_nat @ A @ B )
      | ~ ( ord_less_eq_nat @ B @ A ) ) ).

% verit_la_disequality
thf(fact_48_order__eq__refl,axiom,
    ! [X: $o > nat,Y3: $o > nat] :
      ( ( X = Y3 )
     => ( ord_less_eq_o_nat @ X @ Y3 ) ) ).

% order_eq_refl
thf(fact_49_order__eq__refl,axiom,
    ! [X: set_nat,Y3: set_nat] :
      ( ( X = Y3 )
     => ( ord_less_eq_set_nat @ X @ Y3 ) ) ).

% order_eq_refl
thf(fact_50_order__eq__refl,axiom,
    ! [X: set_list_nat,Y3: set_list_nat] :
      ( ( X = Y3 )
     => ( ord_le6045566169113846134st_nat @ X @ Y3 ) ) ).

% order_eq_refl
thf(fact_51_order__eq__refl,axiom,
    ! [X: nat,Y3: nat] :
      ( ( X = Y3 )
     => ( ord_less_eq_nat @ X @ Y3 ) ) ).

% order_eq_refl
thf(fact_52_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,Y: nat] :
              ( ( ord_less_eq_nat @ X2 @ Y )
             => ( ord_less_eq_nat @ ( F @ X2 ) @ ( F @ Y ) ) )
         => ( ord_less_eq_nat @ ( F @ A ) @ C ) ) ) ) ).

% order_subst2
thf(fact_53_order__subst2,axiom,
    ! [A: nat,B: nat,F: nat > set_nat,C: set_nat] :
      ( ( ord_less_eq_nat @ A @ B )
     => ( ( ord_less_eq_set_nat @ ( F @ B ) @ C )
       => ( ! [X2: nat,Y: nat] :
              ( ( ord_less_eq_nat @ X2 @ Y )
             => ( ord_less_eq_set_nat @ ( F @ X2 ) @ ( F @ Y ) ) )
         => ( ord_less_eq_set_nat @ ( F @ A ) @ C ) ) ) ) ).

% order_subst2
thf(fact_54_order__subst2,axiom,
    ! [A: set_nat,B: set_nat,F: set_nat > nat,C: nat] :
      ( ( ord_less_eq_set_nat @ A @ B )
     => ( ( ord_less_eq_nat @ ( F @ B ) @ C )
       => ( ! [X2: set_nat,Y: set_nat] :
              ( ( ord_less_eq_set_nat @ X2 @ Y )
             => ( ord_less_eq_nat @ ( F @ X2 ) @ ( F @ Y ) ) )
         => ( ord_less_eq_nat @ ( F @ A ) @ C ) ) ) ) ).

% order_subst2
thf(fact_55_order__subst2,axiom,
    ! [A: nat,B: nat,F: nat > $o > nat,C: $o > nat] :
      ( ( ord_less_eq_nat @ A @ B )
     => ( ( ord_less_eq_o_nat @ ( F @ B ) @ C )
       => ( ! [X2: nat,Y: nat] :
              ( ( ord_less_eq_nat @ X2 @ Y )
             => ( ord_less_eq_o_nat @ ( F @ X2 ) @ ( F @ Y ) ) )
         => ( ord_less_eq_o_nat @ ( F @ A ) @ C ) ) ) ) ).

% order_subst2
thf(fact_56_order__subst2,axiom,
    ! [A: nat,B: nat,F: nat > set_list_nat,C: set_list_nat] :
      ( ( ord_less_eq_nat @ A @ B )
     => ( ( ord_le6045566169113846134st_nat @ ( F @ B ) @ C )
       => ( ! [X2: nat,Y: nat] :
              ( ( ord_less_eq_nat @ X2 @ Y )
             => ( ord_le6045566169113846134st_nat @ ( F @ X2 ) @ ( F @ Y ) ) )
         => ( ord_le6045566169113846134st_nat @ ( F @ A ) @ C ) ) ) ) ).

% order_subst2
thf(fact_57_order__subst2,axiom,
    ! [A: $o > nat,B: $o > nat,F: ( $o > nat ) > nat,C: nat] :
      ( ( ord_less_eq_o_nat @ A @ B )
     => ( ( ord_less_eq_nat @ ( F @ B ) @ C )
       => ( ! [X2: $o > nat,Y: $o > nat] :
              ( ( ord_less_eq_o_nat @ X2 @ Y )
             => ( ord_less_eq_nat @ ( F @ X2 ) @ ( F @ Y ) ) )
         => ( ord_less_eq_nat @ ( F @ A ) @ C ) ) ) ) ).

% order_subst2
thf(fact_58_order__subst2,axiom,
    ! [A: set_nat,B: set_nat,F: set_nat > set_nat,C: set_nat] :
      ( ( ord_less_eq_set_nat @ A @ B )
     => ( ( ord_less_eq_set_nat @ ( F @ B ) @ C )
       => ( ! [X2: set_nat,Y: set_nat] :
              ( ( ord_less_eq_set_nat @ X2 @ Y )
             => ( ord_less_eq_set_nat @ ( F @ X2 ) @ ( F @ Y ) ) )
         => ( ord_less_eq_set_nat @ ( F @ A ) @ C ) ) ) ) ).

% order_subst2
thf(fact_59_order__subst2,axiom,
    ! [A: set_list_nat,B: set_list_nat,F: set_list_nat > nat,C: nat] :
      ( ( ord_le6045566169113846134st_nat @ A @ B )
     => ( ( ord_less_eq_nat @ ( F @ B ) @ C )
       => ( ! [X2: set_list_nat,Y: set_list_nat] :
              ( ( ord_le6045566169113846134st_nat @ X2 @ Y )
             => ( ord_less_eq_nat @ ( F @ X2 ) @ ( F @ Y ) ) )
         => ( ord_less_eq_nat @ ( F @ A ) @ C ) ) ) ) ).

% order_subst2
thf(fact_60_order__subst2,axiom,
    ! [A: $o > nat,B: $o > nat,F: ( $o > nat ) > set_nat,C: set_nat] :
      ( ( ord_less_eq_o_nat @ A @ B )
     => ( ( ord_less_eq_set_nat @ ( F @ B ) @ C )
       => ( ! [X2: $o > nat,Y: $o > nat] :
              ( ( ord_less_eq_o_nat @ X2 @ Y )
             => ( ord_less_eq_set_nat @ ( F @ X2 ) @ ( F @ Y ) ) )
         => ( ord_less_eq_set_nat @ ( F @ A ) @ C ) ) ) ) ).

% order_subst2
thf(fact_61_order__subst2,axiom,
    ! [A: set_nat,B: set_nat,F: set_nat > $o > nat,C: $o > nat] :
      ( ( ord_less_eq_set_nat @ A @ B )
     => ( ( ord_less_eq_o_nat @ ( F @ B ) @ C )
       => ( ! [X2: set_nat,Y: set_nat] :
              ( ( ord_less_eq_set_nat @ X2 @ Y )
             => ( ord_less_eq_o_nat @ ( F @ X2 ) @ ( F @ Y ) ) )
         => ( ord_less_eq_o_nat @ ( F @ A ) @ C ) ) ) ) ).

% order_subst2
thf(fact_62_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,Y: nat] :
              ( ( ord_less_eq_nat @ X2 @ Y )
             => ( ord_less_eq_nat @ ( F @ X2 ) @ ( F @ Y ) ) )
         => ( ord_less_eq_nat @ A @ ( F @ C ) ) ) ) ) ).

% order_subst1
thf(fact_63_order__subst1,axiom,
    ! [A: nat,F: set_nat > nat,B: set_nat,C: set_nat] :
      ( ( ord_less_eq_nat @ A @ ( F @ B ) )
     => ( ( ord_less_eq_set_nat @ B @ C )
       => ( ! [X2: set_nat,Y: set_nat] :
              ( ( ord_less_eq_set_nat @ X2 @ Y )
             => ( ord_less_eq_nat @ ( F @ X2 ) @ ( F @ Y ) ) )
         => ( ord_less_eq_nat @ A @ ( F @ C ) ) ) ) ) ).

% order_subst1
thf(fact_64_order__subst1,axiom,
    ! [A: set_nat,F: nat > set_nat,B: nat,C: nat] :
      ( ( ord_less_eq_set_nat @ A @ ( F @ B ) )
     => ( ( ord_less_eq_nat @ B @ C )
       => ( ! [X2: nat,Y: nat] :
              ( ( ord_less_eq_nat @ X2 @ Y )
             => ( ord_less_eq_set_nat @ ( F @ X2 ) @ ( F @ Y ) ) )
         => ( ord_less_eq_set_nat @ A @ ( F @ C ) ) ) ) ) ).

% order_subst1
thf(fact_65_order__subst1,axiom,
    ! [A: nat,F: ( $o > nat ) > nat,B: $o > nat,C: $o > nat] :
      ( ( ord_less_eq_nat @ A @ ( F @ B ) )
     => ( ( ord_less_eq_o_nat @ B @ C )
       => ( ! [X2: $o > nat,Y: $o > nat] :
              ( ( ord_less_eq_o_nat @ X2 @ Y )
             => ( ord_less_eq_nat @ ( F @ X2 ) @ ( F @ Y ) ) )
         => ( ord_less_eq_nat @ A @ ( F @ C ) ) ) ) ) ).

% order_subst1
thf(fact_66_order__subst1,axiom,
    ! [A: nat,F: set_list_nat > nat,B: set_list_nat,C: set_list_nat] :
      ( ( ord_less_eq_nat @ A @ ( F @ B ) )
     => ( ( ord_le6045566169113846134st_nat @ B @ C )
       => ( ! [X2: set_list_nat,Y: set_list_nat] :
              ( ( ord_le6045566169113846134st_nat @ X2 @ Y )
             => ( ord_less_eq_nat @ ( F @ X2 ) @ ( F @ Y ) ) )
         => ( ord_less_eq_nat @ A @ ( F @ C ) ) ) ) ) ).

% order_subst1
thf(fact_67_order__subst1,axiom,
    ! [A: $o > nat,F: nat > $o > nat,B: nat,C: nat] :
      ( ( ord_less_eq_o_nat @ A @ ( F @ B ) )
     => ( ( ord_less_eq_nat @ B @ C )
       => ( ! [X2: nat,Y: nat] :
              ( ( ord_less_eq_nat @ X2 @ Y )
             => ( ord_less_eq_o_nat @ ( F @ X2 ) @ ( F @ Y ) ) )
         => ( ord_less_eq_o_nat @ A @ ( F @ C ) ) ) ) ) ).

% order_subst1
thf(fact_68_order__subst1,axiom,
    ! [A: set_nat,F: set_nat > set_nat,B: set_nat,C: set_nat] :
      ( ( ord_less_eq_set_nat @ A @ ( F @ B ) )
     => ( ( ord_less_eq_set_nat @ B @ C )
       => ( ! [X2: set_nat,Y: set_nat] :
              ( ( ord_less_eq_set_nat @ X2 @ Y )
             => ( ord_less_eq_set_nat @ ( F @ X2 ) @ ( F @ Y ) ) )
         => ( ord_less_eq_set_nat @ A @ ( F @ C ) ) ) ) ) ).

% order_subst1
thf(fact_69_order__subst1,axiom,
    ! [A: set_list_nat,F: nat > set_list_nat,B: nat,C: nat] :
      ( ( ord_le6045566169113846134st_nat @ A @ ( F @ B ) )
     => ( ( ord_less_eq_nat @ B @ C )
       => ( ! [X2: nat,Y: nat] :
              ( ( ord_less_eq_nat @ X2 @ Y )
             => ( ord_le6045566169113846134st_nat @ ( F @ X2 ) @ ( F @ Y ) ) )
         => ( ord_le6045566169113846134st_nat @ A @ ( F @ C ) ) ) ) ) ).

% order_subst1
thf(fact_70_order__subst1,axiom,
    ! [A: $o > nat,F: set_nat > $o > nat,B: set_nat,C: set_nat] :
      ( ( ord_less_eq_o_nat @ A @ ( F @ B ) )
     => ( ( ord_less_eq_set_nat @ B @ C )
       => ( ! [X2: set_nat,Y: set_nat] :
              ( ( ord_less_eq_set_nat @ X2 @ Y )
             => ( ord_less_eq_o_nat @ ( F @ X2 ) @ ( F @ Y ) ) )
         => ( ord_less_eq_o_nat @ A @ ( F @ C ) ) ) ) ) ).

% order_subst1
thf(fact_71_order__subst1,axiom,
    ! [A: set_nat,F: ( $o > nat ) > set_nat,B: $o > nat,C: $o > nat] :
      ( ( ord_less_eq_set_nat @ A @ ( F @ B ) )
     => ( ( ord_less_eq_o_nat @ B @ C )
       => ( ! [X2: $o > nat,Y: $o > nat] :
              ( ( ord_less_eq_o_nat @ X2 @ Y )
             => ( ord_less_eq_set_nat @ ( F @ X2 ) @ ( F @ Y ) ) )
         => ( ord_less_eq_set_nat @ A @ ( F @ C ) ) ) ) ) ).

% order_subst1
thf(fact_72_Orderings_Oorder__eq__iff,axiom,
    ( ( ^ [Y4: $o > nat,Z: $o > nat] : ( Y4 = Z ) )
    = ( ^ [A2: $o > nat,B2: $o > nat] :
          ( ( ord_less_eq_o_nat @ A2 @ B2 )
          & ( ord_less_eq_o_nat @ B2 @ A2 ) ) ) ) ).

% Orderings.order_eq_iff
thf(fact_73_Orderings_Oorder__eq__iff,axiom,
    ( ( ^ [Y4: set_nat,Z: set_nat] : ( Y4 = Z ) )
    = ( ^ [A2: set_nat,B2: set_nat] :
          ( ( ord_less_eq_set_nat @ A2 @ B2 )
          & ( ord_less_eq_set_nat @ B2 @ A2 ) ) ) ) ).

% Orderings.order_eq_iff
thf(fact_74_Orderings_Oorder__eq__iff,axiom,
    ( ( ^ [Y4: set_list_nat,Z: set_list_nat] : ( Y4 = Z ) )
    = ( ^ [A2: set_list_nat,B2: set_list_nat] :
          ( ( ord_le6045566169113846134st_nat @ A2 @ B2 )
          & ( ord_le6045566169113846134st_nat @ B2 @ A2 ) ) ) ) ).

% Orderings.order_eq_iff
thf(fact_75_Orderings_Oorder__eq__iff,axiom,
    ( ( ^ [Y4: nat,Z: nat] : ( Y4 = Z ) )
    = ( ^ [A2: nat,B2: nat] :
          ( ( ord_less_eq_nat @ A2 @ B2 )
          & ( ord_less_eq_nat @ B2 @ A2 ) ) ) ) ).

% Orderings.order_eq_iff
thf(fact_76_le__fun__def,axiom,
    ( ord_less_eq_o_nat
    = ( ^ [F2: $o > nat,G: $o > nat] :
        ! [X4: $o] : ( ord_less_eq_nat @ ( F2 @ X4 ) @ ( G @ X4 ) ) ) ) ).

% le_fun_def
thf(fact_77_le__funI,axiom,
    ! [F: $o > nat,G2: $o > nat] :
      ( ! [X2: $o] : ( ord_less_eq_nat @ ( F @ X2 ) @ ( G2 @ X2 ) )
     => ( ord_less_eq_o_nat @ F @ G2 ) ) ).

% le_funI
thf(fact_78_le__funE,axiom,
    ! [F: $o > nat,G2: $o > nat,X: $o] :
      ( ( ord_less_eq_o_nat @ F @ G2 )
     => ( ord_less_eq_nat @ ( F @ X ) @ ( G2 @ X ) ) ) ).

% le_funE
thf(fact_79_le__funD,axiom,
    ! [F: $o > nat,G2: $o > nat,X: $o] :
      ( ( ord_less_eq_o_nat @ F @ G2 )
     => ( ord_less_eq_nat @ ( F @ X ) @ ( G2 @ X ) ) ) ).

% le_funD
thf(fact_80_antisym,axiom,
    ! [A: $o > nat,B: $o > nat] :
      ( ( ord_less_eq_o_nat @ A @ B )
     => ( ( ord_less_eq_o_nat @ B @ A )
       => ( A = B ) ) ) ).

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

% antisym
thf(fact_82_antisym,axiom,
    ! [A: set_list_nat,B: set_list_nat] :
      ( ( ord_le6045566169113846134st_nat @ A @ B )
     => ( ( ord_le6045566169113846134st_nat @ B @ A )
       => ( A = B ) ) ) ).

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

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

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

% dual_order.trans
thf(fact_86_dual__order_Otrans,axiom,
    ! [B: set_list_nat,A: set_list_nat,C: set_list_nat] :
      ( ( ord_le6045566169113846134st_nat @ B @ A )
     => ( ( ord_le6045566169113846134st_nat @ C @ B )
       => ( ord_le6045566169113846134st_nat @ C @ A ) ) ) ).

% dual_order.trans
thf(fact_87_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_88_dual__order_Oantisym,axiom,
    ! [B: $o > nat,A: $o > nat] :
      ( ( ord_less_eq_o_nat @ B @ A )
     => ( ( ord_less_eq_o_nat @ A @ B )
       => ( A = B ) ) ) ).

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

% dual_order.antisym
thf(fact_90_dual__order_Oantisym,axiom,
    ! [B: set_list_nat,A: set_list_nat] :
      ( ( ord_le6045566169113846134st_nat @ B @ A )
     => ( ( ord_le6045566169113846134st_nat @ A @ B )
       => ( A = B ) ) ) ).

% dual_order.antisym
thf(fact_91_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_92_dual__order_Oeq__iff,axiom,
    ( ( ^ [Y4: $o > nat,Z: $o > nat] : ( Y4 = Z ) )
    = ( ^ [A2: $o > nat,B2: $o > nat] :
          ( ( ord_less_eq_o_nat @ B2 @ A2 )
          & ( ord_less_eq_o_nat @ A2 @ B2 ) ) ) ) ).

% dual_order.eq_iff
thf(fact_93_dual__order_Oeq__iff,axiom,
    ( ( ^ [Y4: set_nat,Z: set_nat] : ( Y4 = Z ) )
    = ( ^ [A2: set_nat,B2: set_nat] :
          ( ( ord_less_eq_set_nat @ B2 @ A2 )
          & ( ord_less_eq_set_nat @ A2 @ B2 ) ) ) ) ).

% dual_order.eq_iff
thf(fact_94_dual__order_Oeq__iff,axiom,
    ( ( ^ [Y4: set_list_nat,Z: set_list_nat] : ( Y4 = Z ) )
    = ( ^ [A2: set_list_nat,B2: set_list_nat] :
          ( ( ord_le6045566169113846134st_nat @ B2 @ A2 )
          & ( ord_le6045566169113846134st_nat @ A2 @ B2 ) ) ) ) ).

% dual_order.eq_iff
thf(fact_95_dual__order_Oeq__iff,axiom,
    ( ( ^ [Y4: nat,Z: nat] : ( Y4 = Z ) )
    = ( ^ [A2: nat,B2: nat] :
          ( ( ord_less_eq_nat @ B2 @ A2 )
          & ( ord_less_eq_nat @ A2 @ B2 ) ) ) ) ).

% dual_order.eq_iff
thf(fact_96_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_97_order__trans,axiom,
    ! [X: $o > nat,Y3: $o > nat,Z2: $o > nat] :
      ( ( ord_less_eq_o_nat @ X @ Y3 )
     => ( ( ord_less_eq_o_nat @ Y3 @ Z2 )
       => ( ord_less_eq_o_nat @ X @ Z2 ) ) ) ).

% order_trans
thf(fact_98_order__trans,axiom,
    ! [X: set_nat,Y3: set_nat,Z2: set_nat] :
      ( ( ord_less_eq_set_nat @ X @ Y3 )
     => ( ( ord_less_eq_set_nat @ Y3 @ Z2 )
       => ( ord_less_eq_set_nat @ X @ Z2 ) ) ) ).

% order_trans
thf(fact_99_order__trans,axiom,
    ! [X: set_list_nat,Y3: set_list_nat,Z2: set_list_nat] :
      ( ( ord_le6045566169113846134st_nat @ X @ Y3 )
     => ( ( ord_le6045566169113846134st_nat @ Y3 @ Z2 )
       => ( ord_le6045566169113846134st_nat @ X @ Z2 ) ) ) ).

% order_trans
thf(fact_100_order__trans,axiom,
    ! [X: nat,Y3: nat,Z2: nat] :
      ( ( ord_less_eq_nat @ X @ Y3 )
     => ( ( ord_less_eq_nat @ Y3 @ Z2 )
       => ( ord_less_eq_nat @ X @ Z2 ) ) ) ).

% order_trans
thf(fact_101_order_Otrans,axiom,
    ! [A: $o > nat,B: $o > nat,C: $o > nat] :
      ( ( ord_less_eq_o_nat @ A @ B )
     => ( ( ord_less_eq_o_nat @ B @ C )
       => ( ord_less_eq_o_nat @ A @ C ) ) ) ).

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

% order.trans
thf(fact_103_order_Otrans,axiom,
    ! [A: set_list_nat,B: set_list_nat,C: set_list_nat] :
      ( ( ord_le6045566169113846134st_nat @ A @ B )
     => ( ( ord_le6045566169113846134st_nat @ B @ C )
       => ( ord_le6045566169113846134st_nat @ A @ C ) ) ) ).

% order.trans
thf(fact_104_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_105_order__antisym,axiom,
    ! [X: $o > nat,Y3: $o > nat] :
      ( ( ord_less_eq_o_nat @ X @ Y3 )
     => ( ( ord_less_eq_o_nat @ Y3 @ X )
       => ( X = Y3 ) ) ) ).

% order_antisym
thf(fact_106_order__antisym,axiom,
    ! [X: set_nat,Y3: set_nat] :
      ( ( ord_less_eq_set_nat @ X @ Y3 )
     => ( ( ord_less_eq_set_nat @ Y3 @ X )
       => ( X = Y3 ) ) ) ).

% order_antisym
thf(fact_107_order__antisym,axiom,
    ! [X: set_list_nat,Y3: set_list_nat] :
      ( ( ord_le6045566169113846134st_nat @ X @ Y3 )
     => ( ( ord_le6045566169113846134st_nat @ Y3 @ X )
       => ( X = Y3 ) ) ) ).

% order_antisym
thf(fact_108_order__antisym,axiom,
    ! [X: nat,Y3: nat] :
      ( ( ord_less_eq_nat @ X @ Y3 )
     => ( ( ord_less_eq_nat @ Y3 @ X )
       => ( X = Y3 ) ) ) ).

% order_antisym
thf(fact_109_ord__le__eq__trans,axiom,
    ! [A: $o > nat,B: $o > nat,C: $o > nat] :
      ( ( ord_less_eq_o_nat @ A @ B )
     => ( ( B = C )
       => ( ord_less_eq_o_nat @ A @ C ) ) ) ).

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

% ord_le_eq_trans
thf(fact_111_ord__le__eq__trans,axiom,
    ! [A: set_list_nat,B: set_list_nat,C: set_list_nat] :
      ( ( ord_le6045566169113846134st_nat @ A @ B )
     => ( ( B = C )
       => ( ord_le6045566169113846134st_nat @ A @ C ) ) ) ).

% ord_le_eq_trans
thf(fact_112_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_113_ord__eq__le__trans,axiom,
    ! [A: $o > nat,B: $o > nat,C: $o > nat] :
      ( ( A = B )
     => ( ( ord_less_eq_o_nat @ B @ C )
       => ( ord_less_eq_o_nat @ A @ C ) ) ) ).

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

% ord_eq_le_trans
thf(fact_115_ord__eq__le__trans,axiom,
    ! [A: set_list_nat,B: set_list_nat,C: set_list_nat] :
      ( ( A = B )
     => ( ( ord_le6045566169113846134st_nat @ B @ C )
       => ( ord_le6045566169113846134st_nat @ A @ C ) ) ) ).

% ord_eq_le_trans
thf(fact_116_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_117_order__class_Oorder__eq__iff,axiom,
    ( ( ^ [Y4: $o > nat,Z: $o > nat] : ( Y4 = Z ) )
    = ( ^ [X4: $o > nat,Y5: $o > nat] :
          ( ( ord_less_eq_o_nat @ X4 @ Y5 )
          & ( ord_less_eq_o_nat @ Y5 @ X4 ) ) ) ) ).

% order_class.order_eq_iff
thf(fact_118_order__class_Oorder__eq__iff,axiom,
    ( ( ^ [Y4: set_nat,Z: set_nat] : ( Y4 = Z ) )
    = ( ^ [X4: set_nat,Y5: set_nat] :
          ( ( ord_less_eq_set_nat @ X4 @ Y5 )
          & ( ord_less_eq_set_nat @ Y5 @ X4 ) ) ) ) ).

% order_class.order_eq_iff
thf(fact_119_order__class_Oorder__eq__iff,axiom,
    ( ( ^ [Y4: set_list_nat,Z: set_list_nat] : ( Y4 = Z ) )
    = ( ^ [X4: set_list_nat,Y5: set_list_nat] :
          ( ( ord_le6045566169113846134st_nat @ X4 @ Y5 )
          & ( ord_le6045566169113846134st_nat @ Y5 @ X4 ) ) ) ) ).

% order_class.order_eq_iff
thf(fact_120_order__class_Oorder__eq__iff,axiom,
    ( ( ^ [Y4: nat,Z: nat] : ( Y4 = Z ) )
    = ( ^ [X4: nat,Y5: nat] :
          ( ( ord_less_eq_nat @ X4 @ Y5 )
          & ( ord_less_eq_nat @ Y5 @ X4 ) ) ) ) ).

% order_class.order_eq_iff
thf(fact_121_le__cases3,axiom,
    ! [X: nat,Y3: nat,Z2: nat] :
      ( ( ( ord_less_eq_nat @ X @ Y3 )
       => ~ ( ord_less_eq_nat @ Y3 @ Z2 ) )
     => ( ( ( ord_less_eq_nat @ Y3 @ X )
         => ~ ( ord_less_eq_nat @ X @ Z2 ) )
       => ( ( ( ord_less_eq_nat @ X @ Z2 )
           => ~ ( ord_less_eq_nat @ Z2 @ Y3 ) )
         => ( ( ( ord_less_eq_nat @ Z2 @ Y3 )
             => ~ ( ord_less_eq_nat @ Y3 @ X ) )
           => ( ( ( ord_less_eq_nat @ Y3 @ Z2 )
               => ~ ( ord_less_eq_nat @ Z2 @ X ) )
             => ~ ( ( ord_less_eq_nat @ Z2 @ X )
                 => ~ ( ord_less_eq_nat @ X @ Y3 ) ) ) ) ) ) ) ).

% le_cases3
thf(fact_122_snoc_OIH,axiom,
    ( ( equiva3371634703666331078on_rgf @ xsa )
   => ( ( set_nat2 @ xsa )
      = ( set_ord_lessThan_nat @ ( equiva5889994315859557365_limit @ xsa ) ) ) ) ).

% snoc.IH
thf(fact_123_snoc_Oprems,axiom,
    equiva3371634703666331078on_rgf @ ( append_nat @ xsa @ ( cons_nat @ x @ nil_nat ) ) ).

% snoc.prems
thf(fact_124_Greatest__equality,axiom,
    ! [P: ( $o > nat ) > $o,X: $o > nat] :
      ( ( P @ X )
     => ( ! [Y: $o > nat] :
            ( ( P @ Y )
           => ( ord_less_eq_o_nat @ Y @ X ) )
       => ( ( order_Greatest_o_nat @ P )
          = X ) ) ) ).

% Greatest_equality
thf(fact_125_Greatest__equality,axiom,
    ! [P: set_nat > $o,X: set_nat] :
      ( ( P @ X )
     => ( ! [Y: set_nat] :
            ( ( P @ Y )
           => ( ord_less_eq_set_nat @ Y @ X ) )
       => ( ( order_5724808138429204845et_nat @ P )
          = X ) ) ) ).

% Greatest_equality
thf(fact_126_Greatest__equality,axiom,
    ! [P: set_list_nat > $o,X: set_list_nat] :
      ( ( P @ X )
     => ( ! [Y: set_list_nat] :
            ( ( P @ Y )
           => ( ord_le6045566169113846134st_nat @ Y @ X ) )
       => ( ( order_3081514539752307581st_nat @ P )
          = X ) ) ) ).

% Greatest_equality
thf(fact_127_Greatest__equality,axiom,
    ! [P: nat > $o,X: nat] :
      ( ( P @ X )
     => ( ! [Y: nat] :
            ( ( P @ Y )
           => ( ord_less_eq_nat @ Y @ X ) )
       => ( ( order_Greatest_nat @ P )
          = X ) ) ) ).

% Greatest_equality
thf(fact_128_GreatestI2__order,axiom,
    ! [P: ( $o > nat ) > $o,X: $o > nat,Q: ( $o > nat ) > $o] :
      ( ( P @ X )
     => ( ! [Y: $o > nat] :
            ( ( P @ Y )
           => ( ord_less_eq_o_nat @ Y @ X ) )
       => ( ! [X2: $o > nat] :
              ( ( P @ X2 )
             => ( ! [Y2: $o > nat] :
                    ( ( P @ Y2 )
                   => ( ord_less_eq_o_nat @ Y2 @ X2 ) )
               => ( Q @ X2 ) ) )
         => ( Q @ ( order_Greatest_o_nat @ P ) ) ) ) ) ).

% GreatestI2_order
thf(fact_129_GreatestI2__order,axiom,
    ! [P: set_nat > $o,X: set_nat,Q: set_nat > $o] :
      ( ( P @ X )
     => ( ! [Y: set_nat] :
            ( ( P @ Y )
           => ( ord_less_eq_set_nat @ Y @ X ) )
       => ( ! [X2: set_nat] :
              ( ( P @ X2 )
             => ( ! [Y2: set_nat] :
                    ( ( P @ Y2 )
                   => ( ord_less_eq_set_nat @ Y2 @ X2 ) )
               => ( Q @ X2 ) ) )
         => ( Q @ ( order_5724808138429204845et_nat @ P ) ) ) ) ) ).

% GreatestI2_order
thf(fact_130_GreatestI2__order,axiom,
    ! [P: set_list_nat > $o,X: set_list_nat,Q: set_list_nat > $o] :
      ( ( P @ X )
     => ( ! [Y: set_list_nat] :
            ( ( P @ Y )
           => ( ord_le6045566169113846134st_nat @ Y @ X ) )
       => ( ! [X2: set_list_nat] :
              ( ( P @ X2 )
             => ( ! [Y2: set_list_nat] :
                    ( ( P @ Y2 )
                   => ( ord_le6045566169113846134st_nat @ Y2 @ X2 ) )
               => ( Q @ X2 ) ) )
         => ( Q @ ( order_3081514539752307581st_nat @ P ) ) ) ) ) ).

% GreatestI2_order
thf(fact_131_GreatestI2__order,axiom,
    ! [P: nat > $o,X: nat,Q: nat > $o] :
      ( ( P @ X )
     => ( ! [Y: nat] :
            ( ( P @ Y )
           => ( ord_less_eq_nat @ Y @ X ) )
       => ( ! [X2: nat] :
              ( ( P @ X2 )
             => ( ! [Y2: nat] :
                    ( ( P @ Y2 )
                   => ( ord_less_eq_nat @ Y2 @ X2 ) )
               => ( Q @ X2 ) ) )
         => ( Q @ ( order_Greatest_nat @ P ) ) ) ) ) ).

% GreatestI2_order
thf(fact_132_le__rel__bool__arg__iff,axiom,
    ( ord_less_eq_o_o_nat
    = ( ^ [X5: $o > $o > nat,Y6: $o > $o > nat] :
          ( ( ord_less_eq_o_nat @ ( X5 @ $false ) @ ( Y6 @ $false ) )
          & ( ord_less_eq_o_nat @ ( X5 @ $true ) @ ( Y6 @ $true ) ) ) ) ) ).

% le_rel_bool_arg_iff
thf(fact_133_le__rel__bool__arg__iff,axiom,
    ( ord_le7022414076629706543et_nat
    = ( ^ [X5: $o > set_nat,Y6: $o > set_nat] :
          ( ( ord_less_eq_set_nat @ ( X5 @ $false ) @ ( Y6 @ $false ) )
          & ( ord_less_eq_set_nat @ ( X5 @ $true ) @ ( Y6 @ $true ) ) ) ) ) ).

% le_rel_bool_arg_iff
thf(fact_134_le__rel__bool__arg__iff,axiom,
    ( ord_le3606317655850047935st_nat
    = ( ^ [X5: $o > set_list_nat,Y6: $o > set_list_nat] :
          ( ( ord_le6045566169113846134st_nat @ ( X5 @ $false ) @ ( Y6 @ $false ) )
          & ( ord_le6045566169113846134st_nat @ ( X5 @ $true ) @ ( Y6 @ $true ) ) ) ) ) ).

% le_rel_bool_arg_iff
thf(fact_135_le__rel__bool__arg__iff,axiom,
    ( ord_less_eq_o_nat
    = ( ^ [X5: $o > nat,Y6: $o > nat] :
          ( ( ord_less_eq_nat @ ( X5 @ $false ) @ ( Y6 @ $false ) )
          & ( ord_less_eq_nat @ ( X5 @ $true ) @ ( Y6 @ $true ) ) ) ) ) ).

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

% mem_Collect_eq
thf(fact_137_mem__Collect__eq,axiom,
    ! [A: list_nat,P: list_nat > $o] :
      ( ( member_list_nat @ A @ ( collect_list_nat @ P ) )
      = ( P @ A ) ) ).

% mem_Collect_eq
thf(fact_138_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_139_Collect__mem__eq,axiom,
    ! [A4: set_nat] :
      ( ( collect_nat
        @ ^ [X4: nat] : ( member_nat @ X4 @ A4 ) )
      = A4 ) ).

% Collect_mem_eq
thf(fact_140_Collect__mem__eq,axiom,
    ! [A4: set_list_nat] :
      ( ( collect_list_nat
        @ ^ [X4: list_nat] : ( member_list_nat @ X4 @ A4 ) )
      = A4 ) ).

% Collect_mem_eq
thf(fact_141_Collect__mem__eq,axiom,
    ! [A4: set_set_nat] :
      ( ( collect_set_nat
        @ ^ [X4: set_nat] : ( member_set_nat @ X4 @ A4 ) )
      = A4 ) ).

% Collect_mem_eq
thf(fact_142_GreatestI__ex__nat,axiom,
    ! [P: nat > $o,B: nat] :
      ( ? [X_1: nat] : ( P @ X_1 )
     => ( ! [Y: nat] :
            ( ( P @ Y )
           => ( ord_less_eq_nat @ Y @ B ) )
       => ( P @ ( order_Greatest_nat @ P ) ) ) ) ).

% GreatestI_ex_nat
thf(fact_143_Greatest__le__nat,axiom,
    ! [P: nat > $o,K: nat,B: nat] :
      ( ( P @ K )
     => ( ! [Y: nat] :
            ( ( P @ Y )
           => ( ord_less_eq_nat @ Y @ B ) )
       => ( ord_less_eq_nat @ K @ ( order_Greatest_nat @ P ) ) ) ) ).

% Greatest_le_nat
thf(fact_144_GreatestI__nat,axiom,
    ! [P: nat > $o,K: nat,B: nat] :
      ( ( P @ K )
     => ( ! [Y: nat] :
            ( ( P @ Y )
           => ( ord_less_eq_nat @ Y @ B ) )
       => ( P @ ( order_Greatest_nat @ P ) ) ) ) ).

% GreatestI_nat
thf(fact_145_lessThan__eq__iff,axiom,
    ! [X: nat,Y3: nat] :
      ( ( ( set_ord_lessThan_nat @ X )
        = ( set_ord_lessThan_nat @ Y3 ) )
      = ( X = Y3 ) ) ).

% lessThan_eq_iff
thf(fact_146_a,axiom,
    ( ( set_nat2 @ xsa )
    = ( set_ord_lessThan_nat @ ( equiva5889994315859557365_limit @ xsa ) ) ) ).

% a
thf(fact_147_lessThan__subset__iff,axiom,
    ! [X: nat,Y3: nat] :
      ( ( ord_less_eq_set_nat @ ( set_ord_lessThan_nat @ X ) @ ( set_ord_lessThan_nat @ Y3 ) )
      = ( ord_less_eq_nat @ X @ Y3 ) ) ).

% lessThan_subset_iff
thf(fact_148_rgf__limit_Ocases,axiom,
    ! [X: list_nat] :
      ( ( X != nil_nat )
     => ~ ! [X2: nat,Xs: list_nat] :
            ( X
           != ( cons_nat @ X2 @ Xs ) ) ) ).

% rgf_limit.cases
thf(fact_149_append1__eq__conv,axiom,
    ! [Xs2: list_list_nat,X: list_nat,Ys: list_list_nat,Y3: list_nat] :
      ( ( ( append_list_nat @ Xs2 @ ( cons_list_nat @ X @ nil_list_nat ) )
        = ( append_list_nat @ Ys @ ( cons_list_nat @ Y3 @ nil_list_nat ) ) )
      = ( ( Xs2 = Ys )
        & ( X = Y3 ) ) ) ).

% append1_eq_conv
thf(fact_150_append1__eq__conv,axiom,
    ! [Xs2: list_nat,X: nat,Ys: list_nat,Y3: nat] :
      ( ( ( append_nat @ Xs2 @ ( cons_nat @ X @ nil_nat ) )
        = ( append_nat @ Ys @ ( cons_nat @ Y3 @ nil_nat ) ) )
      = ( ( Xs2 = Ys )
        & ( X = Y3 ) ) ) ).

% append1_eq_conv
thf(fact_151_append__is__Nil__conv,axiom,
    ! [Xs2: list_list_nat,Ys: list_list_nat] :
      ( ( ( append_list_nat @ Xs2 @ Ys )
        = nil_list_nat )
      = ( ( Xs2 = nil_list_nat )
        & ( Ys = nil_list_nat ) ) ) ).

% append_is_Nil_conv
thf(fact_152_append__is__Nil__conv,axiom,
    ! [Xs2: list_nat,Ys: list_nat] :
      ( ( ( append_nat @ Xs2 @ Ys )
        = nil_nat )
      = ( ( Xs2 = nil_nat )
        & ( Ys = nil_nat ) ) ) ).

% append_is_Nil_conv
thf(fact_153_Nil__is__append__conv,axiom,
    ! [Xs2: list_list_nat,Ys: list_list_nat] :
      ( ( nil_list_nat
        = ( append_list_nat @ Xs2 @ Ys ) )
      = ( ( Xs2 = nil_list_nat )
        & ( Ys = nil_list_nat ) ) ) ).

% Nil_is_append_conv
thf(fact_154_Nil__is__append__conv,axiom,
    ! [Xs2: list_nat,Ys: list_nat] :
      ( ( nil_nat
        = ( append_nat @ Xs2 @ Ys ) )
      = ( ( Xs2 = nil_nat )
        & ( Ys = nil_nat ) ) ) ).

% Nil_is_append_conv
thf(fact_155_self__append__conv2,axiom,
    ! [Y3: list_list_nat,Xs2: list_list_nat] :
      ( ( Y3
        = ( append_list_nat @ Xs2 @ Y3 ) )
      = ( Xs2 = nil_list_nat ) ) ).

% self_append_conv2
thf(fact_156_self__append__conv2,axiom,
    ! [Y3: list_nat,Xs2: list_nat] :
      ( ( Y3
        = ( append_nat @ Xs2 @ Y3 ) )
      = ( Xs2 = nil_nat ) ) ).

% self_append_conv2
thf(fact_157_append__self__conv2,axiom,
    ! [Xs2: list_list_nat,Ys: list_list_nat] :
      ( ( ( append_list_nat @ Xs2 @ Ys )
        = Ys )
      = ( Xs2 = nil_list_nat ) ) ).

% append_self_conv2
thf(fact_158_append__self__conv2,axiom,
    ! [Xs2: list_nat,Ys: list_nat] :
      ( ( ( append_nat @ Xs2 @ Ys )
        = Ys )
      = ( Xs2 = nil_nat ) ) ).

% append_self_conv2
thf(fact_159_self__append__conv,axiom,
    ! [Y3: list_list_nat,Ys: list_list_nat] :
      ( ( Y3
        = ( append_list_nat @ Y3 @ Ys ) )
      = ( Ys = nil_list_nat ) ) ).

% self_append_conv
thf(fact_160_self__append__conv,axiom,
    ! [Y3: list_nat,Ys: list_nat] :
      ( ( Y3
        = ( append_nat @ Y3 @ Ys ) )
      = ( Ys = nil_nat ) ) ).

% self_append_conv
thf(fact_161_append__self__conv,axiom,
    ! [Xs2: list_list_nat,Ys: list_list_nat] :
      ( ( ( append_list_nat @ Xs2 @ Ys )
        = Xs2 )
      = ( Ys = nil_list_nat ) ) ).

% append_self_conv
thf(fact_162_append__self__conv,axiom,
    ! [Xs2: list_nat,Ys: list_nat] :
      ( ( ( append_nat @ Xs2 @ Ys )
        = Xs2 )
      = ( Ys = nil_nat ) ) ).

% append_self_conv
thf(fact_163_append__Nil2,axiom,
    ! [Xs2: list_list_nat] :
      ( ( append_list_nat @ Xs2 @ nil_list_nat )
      = Xs2 ) ).

% append_Nil2
thf(fact_164_append__Nil2,axiom,
    ! [Xs2: list_nat] :
      ( ( append_nat @ Xs2 @ nil_nat )
      = Xs2 ) ).

% append_Nil2
thf(fact_165_append_Oright__neutral,axiom,
    ! [A: list_list_nat] :
      ( ( append_list_nat @ A @ nil_list_nat )
      = A ) ).

% append.right_neutral
thf(fact_166_append_Oright__neutral,axiom,
    ! [A: list_nat] :
      ( ( append_nat @ A @ nil_nat )
      = A ) ).

% append.right_neutral
thf(fact_167_split__list__first__prop__iff,axiom,
    ! [Xs2: list_list_nat,P: list_nat > $o] :
      ( ( ? [X4: list_nat] :
            ( ( member_list_nat @ X4 @ ( set_list_nat2 @ Xs2 ) )
            & ( P @ X4 ) ) )
      = ( ? [Ys2: list_list_nat,X4: list_nat] :
            ( ? [Zs: list_list_nat] :
                ( Xs2
                = ( append_list_nat @ Ys2 @ ( cons_list_nat @ X4 @ Zs ) ) )
            & ( P @ X4 )
            & ! [Y5: list_nat] :
                ( ( member_list_nat @ Y5 @ ( set_list_nat2 @ Ys2 ) )
               => ~ ( P @ Y5 ) ) ) ) ) ).

% split_list_first_prop_iff
thf(fact_168_split__list__first__prop__iff,axiom,
    ! [Xs2: list_nat,P: nat > $o] :
      ( ( ? [X4: nat] :
            ( ( member_nat @ X4 @ ( set_nat2 @ Xs2 ) )
            & ( P @ X4 ) ) )
      = ( ? [Ys2: list_nat,X4: nat] :
            ( ? [Zs: list_nat] :
                ( Xs2
                = ( append_nat @ Ys2 @ ( cons_nat @ X4 @ Zs ) ) )
            & ( P @ X4 )
            & ! [Y5: nat] :
                ( ( member_nat @ Y5 @ ( set_nat2 @ Ys2 ) )
               => ~ ( P @ Y5 ) ) ) ) ) ).

% split_list_first_prop_iff
thf(fact_169_split__list__last__prop__iff,axiom,
    ! [Xs2: list_list_nat,P: list_nat > $o] :
      ( ( ? [X4: list_nat] :
            ( ( member_list_nat @ X4 @ ( set_list_nat2 @ Xs2 ) )
            & ( P @ X4 ) ) )
      = ( ? [Ys2: list_list_nat,X4: list_nat,Zs: list_list_nat] :
            ( ( Xs2
              = ( append_list_nat @ Ys2 @ ( cons_list_nat @ X4 @ Zs ) ) )
            & ( P @ X4 )
            & ! [Y5: list_nat] :
                ( ( member_list_nat @ Y5 @ ( set_list_nat2 @ Zs ) )
               => ~ ( P @ Y5 ) ) ) ) ) ).

% split_list_last_prop_iff
thf(fact_170_split__list__last__prop__iff,axiom,
    ! [Xs2: list_nat,P: nat > $o] :
      ( ( ? [X4: nat] :
            ( ( member_nat @ X4 @ ( set_nat2 @ Xs2 ) )
            & ( P @ X4 ) ) )
      = ( ? [Ys2: list_nat,X4: nat,Zs: list_nat] :
            ( ( Xs2
              = ( append_nat @ Ys2 @ ( cons_nat @ X4 @ Zs ) ) )
            & ( P @ X4 )
            & ! [Y5: nat] :
                ( ( member_nat @ Y5 @ ( set_nat2 @ Zs ) )
               => ~ ( P @ Y5 ) ) ) ) ) ).

% split_list_last_prop_iff
thf(fact_171_list_Oinject,axiom,
    ! [X21: list_nat,X22: list_list_nat,Y21: list_nat,Y22: list_list_nat] :
      ( ( ( cons_list_nat @ X21 @ X22 )
        = ( cons_list_nat @ Y21 @ Y22 ) )
      = ( ( X21 = Y21 )
        & ( X22 = Y22 ) ) ) ).

% list.inject
thf(fact_172_list_Oinject,axiom,
    ! [X21: nat,X22: list_nat,Y21: nat,Y22: list_nat] :
      ( ( ( cons_nat @ X21 @ X22 )
        = ( cons_nat @ Y21 @ Y22 ) )
      = ( ( X21 = Y21 )
        & ( X22 = Y22 ) ) ) ).

% list.inject
thf(fact_173_append_Oassoc,axiom,
    ! [A: list_list_nat,B: list_list_nat,C: list_list_nat] :
      ( ( append_list_nat @ ( append_list_nat @ A @ B ) @ C )
      = ( append_list_nat @ A @ ( append_list_nat @ B @ C ) ) ) ).

% append.assoc
thf(fact_174_append_Oassoc,axiom,
    ! [A: list_nat,B: list_nat,C: list_nat] :
      ( ( append_nat @ ( append_nat @ A @ B ) @ C )
      = ( append_nat @ A @ ( append_nat @ B @ C ) ) ) ).

% append.assoc
thf(fact_175_append__assoc,axiom,
    ! [Xs2: list_list_nat,Ys: list_list_nat,Zs2: list_list_nat] :
      ( ( append_list_nat @ ( append_list_nat @ Xs2 @ Ys ) @ Zs2 )
      = ( append_list_nat @ Xs2 @ ( append_list_nat @ Ys @ Zs2 ) ) ) ).

% append_assoc
thf(fact_176_append__assoc,axiom,
    ! [Xs2: list_nat,Ys: list_nat,Zs2: list_nat] :
      ( ( append_nat @ ( append_nat @ Xs2 @ Ys ) @ Zs2 )
      = ( append_nat @ Xs2 @ ( append_nat @ Ys @ Zs2 ) ) ) ).

% append_assoc
thf(fact_177_append__same__eq,axiom,
    ! [Ys: list_list_nat,Xs2: list_list_nat,Zs2: list_list_nat] :
      ( ( ( append_list_nat @ Ys @ Xs2 )
        = ( append_list_nat @ Zs2 @ Xs2 ) )
      = ( Ys = Zs2 ) ) ).

% append_same_eq
thf(fact_178_append__same__eq,axiom,
    ! [Ys: list_nat,Xs2: list_nat,Zs2: list_nat] :
      ( ( ( append_nat @ Ys @ Xs2 )
        = ( append_nat @ Zs2 @ Xs2 ) )
      = ( Ys = Zs2 ) ) ).

% append_same_eq
thf(fact_179_same__append__eq,axiom,
    ! [Xs2: list_list_nat,Ys: list_list_nat,Zs2: list_list_nat] :
      ( ( ( append_list_nat @ Xs2 @ Ys )
        = ( append_list_nat @ Xs2 @ Zs2 ) )
      = ( Ys = Zs2 ) ) ).

% same_append_eq
thf(fact_180_same__append__eq,axiom,
    ! [Xs2: list_nat,Ys: list_nat,Zs2: list_nat] :
      ( ( ( append_nat @ Xs2 @ Ys )
        = ( append_nat @ Xs2 @ Zs2 ) )
      = ( Ys = Zs2 ) ) ).

% same_append_eq
thf(fact_181_not__Cons__self2,axiom,
    ! [X: list_nat,Xs2: list_list_nat] :
      ( ( cons_list_nat @ X @ Xs2 )
     != Xs2 ) ).

% not_Cons_self2
thf(fact_182_not__Cons__self2,axiom,
    ! [X: nat,Xs2: list_nat] :
      ( ( cons_nat @ X @ Xs2 )
     != Xs2 ) ).

% not_Cons_self2
thf(fact_183_subset__code_I1_J,axiom,
    ! [Xs2: list_set_nat,B4: set_set_nat] :
      ( ( ord_le6893508408891458716et_nat @ ( set_set_nat2 @ Xs2 ) @ B4 )
      = ( ! [X4: set_nat] :
            ( ( member_set_nat @ X4 @ ( set_set_nat2 @ Xs2 ) )
           => ( member_set_nat @ X4 @ B4 ) ) ) ) ).

% subset_code(1)
thf(fact_184_subset__code_I1_J,axiom,
    ! [Xs2: list_list_nat,B4: set_list_nat] :
      ( ( ord_le6045566169113846134st_nat @ ( set_list_nat2 @ Xs2 ) @ B4 )
      = ( ! [X4: list_nat] :
            ( ( member_list_nat @ X4 @ ( set_list_nat2 @ Xs2 ) )
           => ( member_list_nat @ X4 @ B4 ) ) ) ) ).

% subset_code(1)
thf(fact_185_subset__code_I1_J,axiom,
    ! [Xs2: list_nat,B4: set_nat] :
      ( ( ord_less_eq_set_nat @ ( set_nat2 @ Xs2 ) @ B4 )
      = ( ! [X4: nat] :
            ( ( member_nat @ X4 @ ( set_nat2 @ Xs2 ) )
           => ( member_nat @ X4 @ B4 ) ) ) ) ).

% subset_code(1)
thf(fact_186_append__eq__appendI,axiom,
    ! [Xs2: list_list_nat,Xs1: list_list_nat,Zs2: list_list_nat,Ys: list_list_nat,Us: list_list_nat] :
      ( ( ( append_list_nat @ Xs2 @ Xs1 )
        = Zs2 )
     => ( ( Ys
          = ( append_list_nat @ Xs1 @ Us ) )
       => ( ( append_list_nat @ Xs2 @ Ys )
          = ( append_list_nat @ Zs2 @ Us ) ) ) ) ).

% append_eq_appendI
thf(fact_187_append__eq__appendI,axiom,
    ! [Xs2: list_nat,Xs1: list_nat,Zs2: list_nat,Ys: list_nat,Us: list_nat] :
      ( ( ( append_nat @ Xs2 @ Xs1 )
        = Zs2 )
     => ( ( Ys
          = ( append_nat @ Xs1 @ Us ) )
       => ( ( append_nat @ Xs2 @ Ys )
          = ( append_nat @ Zs2 @ Us ) ) ) ) ).

% append_eq_appendI
thf(fact_188_append__eq__append__conv2,axiom,
    ! [Xs2: list_list_nat,Ys: list_list_nat,Zs2: list_list_nat,Ts: list_list_nat] :
      ( ( ( append_list_nat @ Xs2 @ Ys )
        = ( append_list_nat @ Zs2 @ Ts ) )
      = ( ? [Us2: list_list_nat] :
            ( ( ( Xs2
                = ( append_list_nat @ Zs2 @ Us2 ) )
              & ( ( append_list_nat @ Us2 @ Ys )
                = Ts ) )
            | ( ( ( append_list_nat @ Xs2 @ Us2 )
                = Zs2 )
              & ( Ys
                = ( append_list_nat @ Us2 @ Ts ) ) ) ) ) ) ).

% append_eq_append_conv2
thf(fact_189_append__eq__append__conv2,axiom,
    ! [Xs2: list_nat,Ys: list_nat,Zs2: list_nat,Ts: list_nat] :
      ( ( ( append_nat @ Xs2 @ Ys )
        = ( append_nat @ Zs2 @ Ts ) )
      = ( ? [Us2: list_nat] :
            ( ( ( Xs2
                = ( append_nat @ Zs2 @ Us2 ) )
              & ( ( append_nat @ Us2 @ Ys )
                = Ts ) )
            | ( ( ( append_nat @ Xs2 @ Us2 )
                = Zs2 )
              & ( Ys
                = ( append_nat @ Us2 @ Ts ) ) ) ) ) ) ).

% append_eq_append_conv2
thf(fact_190_list_Odistinct_I1_J,axiom,
    ! [X21: list_nat,X22: list_list_nat] :
      ( nil_list_nat
     != ( cons_list_nat @ X21 @ X22 ) ) ).

% list.distinct(1)
thf(fact_191_list_Odistinct_I1_J,axiom,
    ! [X21: nat,X22: list_nat] :
      ( nil_nat
     != ( cons_nat @ X21 @ X22 ) ) ).

% list.distinct(1)
thf(fact_192_list_OdiscI,axiom,
    ! [List: list_list_nat,X21: list_nat,X22: list_list_nat] :
      ( ( List
        = ( cons_list_nat @ X21 @ X22 ) )
     => ( List != nil_list_nat ) ) ).

% list.discI
thf(fact_193_list_OdiscI,axiom,
    ! [List: list_nat,X21: nat,X22: list_nat] :
      ( ( List
        = ( cons_nat @ X21 @ X22 ) )
     => ( List != nil_nat ) ) ).

% list.discI
thf(fact_194_list_Oexhaust,axiom,
    ! [Y3: list_list_nat] :
      ( ( Y3 != nil_list_nat )
     => ~ ! [X212: list_nat,X222: list_list_nat] :
            ( Y3
           != ( cons_list_nat @ X212 @ X222 ) ) ) ).

% list.exhaust
thf(fact_195_list_Oexhaust,axiom,
    ! [Y3: list_nat] :
      ( ( Y3 != nil_nat )
     => ~ ! [X212: nat,X222: list_nat] :
            ( Y3
           != ( cons_nat @ X212 @ X222 ) ) ) ).

% list.exhaust
thf(fact_196_min__list_Ocases,axiom,
    ! [X: list_nat] :
      ( ! [X2: nat,Xs: list_nat] :
          ( X
         != ( cons_nat @ X2 @ Xs ) )
     => ( X = nil_nat ) ) ).

% min_list.cases
thf(fact_197_transpose_Ocases,axiom,
    ! [X: list_list_list_nat] :
      ( ( X != nil_list_list_nat )
     => ( ! [Xss: list_list_list_nat] :
            ( X
           != ( cons_list_list_nat @ nil_list_nat @ Xss ) )
       => ~ ! [X2: list_nat,Xs: list_list_nat,Xss: list_list_list_nat] :
              ( X
             != ( cons_list_list_nat @ ( cons_list_nat @ X2 @ Xs ) @ Xss ) ) ) ) ).

% transpose.cases
thf(fact_198_transpose_Ocases,axiom,
    ! [X: list_list_nat] :
      ( ( X != nil_list_nat )
     => ( ! [Xss: list_list_nat] :
            ( X
           != ( cons_list_nat @ nil_nat @ Xss ) )
       => ~ ! [X2: nat,Xs: list_nat,Xss: list_list_nat] :
              ( X
             != ( cons_list_nat @ ( cons_nat @ X2 @ Xs ) @ Xss ) ) ) ) ).

% transpose.cases
thf(fact_199_remdups__adj_Ocases,axiom,
    ! [X: list_list_nat] :
      ( ( X != nil_list_nat )
     => ( ! [X2: list_nat] :
            ( X
           != ( cons_list_nat @ X2 @ nil_list_nat ) )
       => ~ ! [X2: list_nat,Y: list_nat,Xs: list_list_nat] :
              ( X
             != ( cons_list_nat @ X2 @ ( cons_list_nat @ Y @ Xs ) ) ) ) ) ).

% remdups_adj.cases
thf(fact_200_remdups__adj_Ocases,axiom,
    ! [X: list_nat] :
      ( ( X != nil_nat )
     => ( ! [X2: nat] :
            ( X
           != ( cons_nat @ X2 @ nil_nat ) )
       => ~ ! [X2: nat,Y: nat,Xs: list_nat] :
              ( X
             != ( cons_nat @ X2 @ ( cons_nat @ Y @ Xs ) ) ) ) ) ).

% remdups_adj.cases
thf(fact_201_neq__Nil__conv,axiom,
    ! [Xs2: list_list_nat] :
      ( ( Xs2 != nil_list_nat )
      = ( ? [Y5: list_nat,Ys2: list_list_nat] :
            ( Xs2
            = ( cons_list_nat @ Y5 @ Ys2 ) ) ) ) ).

% neq_Nil_conv
thf(fact_202_neq__Nil__conv,axiom,
    ! [Xs2: list_nat] :
      ( ( Xs2 != nil_nat )
      = ( ? [Y5: nat,Ys2: list_nat] :
            ( Xs2
            = ( cons_nat @ Y5 @ Ys2 ) ) ) ) ).

% neq_Nil_conv
thf(fact_203_list__induct2_H,axiom,
    ! [P: list_nat > list_list_nat > $o,Xs2: list_nat,Ys: list_list_nat] :
      ( ( P @ nil_nat @ nil_list_nat )
     => ( ! [X2: nat,Xs: list_nat] : ( P @ ( cons_nat @ X2 @ Xs ) @ nil_list_nat )
       => ( ! [Y: list_nat,Ys3: list_list_nat] : ( P @ nil_nat @ ( cons_list_nat @ Y @ Ys3 ) )
         => ( ! [X2: nat,Xs: list_nat,Y: list_nat,Ys3: list_list_nat] :
                ( ( P @ Xs @ Ys3 )
               => ( P @ ( cons_nat @ X2 @ Xs ) @ ( cons_list_nat @ Y @ Ys3 ) ) )
           => ( P @ Xs2 @ Ys ) ) ) ) ) ).

% list_induct2'
thf(fact_204_list__induct2_H,axiom,
    ! [P: list_list_nat > list_nat > $o,Xs2: list_list_nat,Ys: list_nat] :
      ( ( P @ nil_list_nat @ nil_nat )
     => ( ! [X2: list_nat,Xs: list_list_nat] : ( P @ ( cons_list_nat @ X2 @ Xs ) @ nil_nat )
       => ( ! [Y: nat,Ys3: list_nat] : ( P @ nil_list_nat @ ( cons_nat @ Y @ Ys3 ) )
         => ( ! [X2: list_nat,Xs: list_list_nat,Y: nat,Ys3: list_nat] :
                ( ( P @ Xs @ Ys3 )
               => ( P @ ( cons_list_nat @ X2 @ Xs ) @ ( cons_nat @ Y @ Ys3 ) ) )
           => ( P @ Xs2 @ Ys ) ) ) ) ) ).

% list_induct2'
thf(fact_205_list__induct2_H,axiom,
    ! [P: list_list_nat > list_list_nat > $o,Xs2: list_list_nat,Ys: list_list_nat] :
      ( ( P @ nil_list_nat @ nil_list_nat )
     => ( ! [X2: list_nat,Xs: list_list_nat] : ( P @ ( cons_list_nat @ X2 @ Xs ) @ nil_list_nat )
       => ( ! [Y: list_nat,Ys3: list_list_nat] : ( P @ nil_list_nat @ ( cons_list_nat @ Y @ Ys3 ) )
         => ( ! [X2: list_nat,Xs: list_list_nat,Y: list_nat,Ys3: list_list_nat] :
                ( ( P @ Xs @ Ys3 )
               => ( P @ ( cons_list_nat @ X2 @ Xs ) @ ( cons_list_nat @ Y @ Ys3 ) ) )
           => ( P @ Xs2 @ Ys ) ) ) ) ) ).

% list_induct2'
thf(fact_206_list__induct2_H,axiom,
    ! [P: list_nat > list_nat > $o,Xs2: list_nat,Ys: list_nat] :
      ( ( P @ nil_nat @ nil_nat )
     => ( ! [X2: nat,Xs: list_nat] : ( P @ ( cons_nat @ X2 @ Xs ) @ nil_nat )
       => ( ! [Y: nat,Ys3: list_nat] : ( P @ nil_nat @ ( cons_nat @ Y @ Ys3 ) )
         => ( ! [X2: nat,Xs: list_nat,Y: nat,Ys3: list_nat] :
                ( ( P @ Xs @ Ys3 )
               => ( P @ ( cons_nat @ X2 @ Xs ) @ ( cons_nat @ Y @ Ys3 ) ) )
           => ( P @ Xs2 @ Ys ) ) ) ) ) ).

% list_induct2'
thf(fact_207_list__nonempty__induct,axiom,
    ! [Xs2: list_list_nat,P: list_list_nat > $o] :
      ( ( Xs2 != nil_list_nat )
     => ( ! [X2: list_nat] : ( P @ ( cons_list_nat @ X2 @ nil_list_nat ) )
       => ( ! [X2: list_nat,Xs: list_list_nat] :
              ( ( Xs != nil_list_nat )
             => ( ( P @ Xs )
               => ( P @ ( cons_list_nat @ X2 @ Xs ) ) ) )
         => ( P @ Xs2 ) ) ) ) ).

% list_nonempty_induct
thf(fact_208_list__nonempty__induct,axiom,
    ! [Xs2: list_nat,P: list_nat > $o] :
      ( ( Xs2 != nil_nat )
     => ( ! [X2: nat] : ( P @ ( cons_nat @ X2 @ nil_nat ) )
       => ( ! [X2: nat,Xs: list_nat] :
              ( ( Xs != nil_nat )
             => ( ( P @ Xs )
               => ( P @ ( cons_nat @ X2 @ Xs ) ) ) )
         => ( P @ Xs2 ) ) ) ) ).

% list_nonempty_induct
thf(fact_209_list_Oset__intros_I2_J,axiom,
    ! [Y3: set_nat,X22: list_set_nat,X21: set_nat] :
      ( ( member_set_nat @ Y3 @ ( set_set_nat2 @ X22 ) )
     => ( member_set_nat @ Y3 @ ( set_set_nat2 @ ( cons_set_nat @ X21 @ X22 ) ) ) ) ).

% list.set_intros(2)
thf(fact_210_list_Oset__intros_I2_J,axiom,
    ! [Y3: list_nat,X22: list_list_nat,X21: list_nat] :
      ( ( member_list_nat @ Y3 @ ( set_list_nat2 @ X22 ) )
     => ( member_list_nat @ Y3 @ ( set_list_nat2 @ ( cons_list_nat @ X21 @ X22 ) ) ) ) ).

% list.set_intros(2)
thf(fact_211_list_Oset__intros_I2_J,axiom,
    ! [Y3: nat,X22: list_nat,X21: nat] :
      ( ( member_nat @ Y3 @ ( set_nat2 @ X22 ) )
     => ( member_nat @ Y3 @ ( set_nat2 @ ( cons_nat @ X21 @ X22 ) ) ) ) ).

% list.set_intros(2)
thf(fact_212_list_Oset__intros_I1_J,axiom,
    ! [X21: set_nat,X22: list_set_nat] : ( member_set_nat @ X21 @ ( set_set_nat2 @ ( cons_set_nat @ X21 @ X22 ) ) ) ).

% list.set_intros(1)
thf(fact_213_list_Oset__intros_I1_J,axiom,
    ! [X21: list_nat,X22: list_list_nat] : ( member_list_nat @ X21 @ ( set_list_nat2 @ ( cons_list_nat @ X21 @ X22 ) ) ) ).

% list.set_intros(1)
thf(fact_214_list_Oset__intros_I1_J,axiom,
    ! [X21: nat,X22: list_nat] : ( member_nat @ X21 @ ( set_nat2 @ ( cons_nat @ X21 @ X22 ) ) ) ).

% list.set_intros(1)
thf(fact_215_list_Oset__cases,axiom,
    ! [E: set_nat,A: list_set_nat] :
      ( ( member_set_nat @ E @ ( set_set_nat2 @ A ) )
     => ( ! [Z22: list_set_nat] :
            ( A
           != ( cons_set_nat @ E @ Z22 ) )
       => ~ ! [Z1: set_nat,Z22: list_set_nat] :
              ( ( A
                = ( cons_set_nat @ Z1 @ Z22 ) )
             => ~ ( member_set_nat @ E @ ( set_set_nat2 @ Z22 ) ) ) ) ) ).

% list.set_cases
thf(fact_216_list_Oset__cases,axiom,
    ! [E: list_nat,A: list_list_nat] :
      ( ( member_list_nat @ E @ ( set_list_nat2 @ A ) )
     => ( ! [Z22: list_list_nat] :
            ( A
           != ( cons_list_nat @ E @ Z22 ) )
       => ~ ! [Z1: list_nat,Z22: list_list_nat] :
              ( ( A
                = ( cons_list_nat @ Z1 @ Z22 ) )
             => ~ ( member_list_nat @ E @ ( set_list_nat2 @ Z22 ) ) ) ) ) ).

% list.set_cases
thf(fact_217_list_Oset__cases,axiom,
    ! [E: nat,A: list_nat] :
      ( ( member_nat @ E @ ( set_nat2 @ A ) )
     => ( ! [Z22: list_nat] :
            ( A
           != ( cons_nat @ E @ Z22 ) )
       => ~ ! [Z1: nat,Z22: list_nat] :
              ( ( A
                = ( cons_nat @ Z1 @ Z22 ) )
             => ~ ( member_nat @ E @ ( set_nat2 @ Z22 ) ) ) ) ) ).

% list.set_cases
thf(fact_218_set__ConsD,axiom,
    ! [Y3: set_nat,X: set_nat,Xs2: list_set_nat] :
      ( ( member_set_nat @ Y3 @ ( set_set_nat2 @ ( cons_set_nat @ X @ Xs2 ) ) )
     => ( ( Y3 = X )
        | ( member_set_nat @ Y3 @ ( set_set_nat2 @ Xs2 ) ) ) ) ).

% set_ConsD
thf(fact_219_set__ConsD,axiom,
    ! [Y3: list_nat,X: list_nat,Xs2: list_list_nat] :
      ( ( member_list_nat @ Y3 @ ( set_list_nat2 @ ( cons_list_nat @ X @ Xs2 ) ) )
     => ( ( Y3 = X )
        | ( member_list_nat @ Y3 @ ( set_list_nat2 @ Xs2 ) ) ) ) ).

% set_ConsD
thf(fact_220_set__ConsD,axiom,
    ! [Y3: nat,X: nat,Xs2: list_nat] :
      ( ( member_nat @ Y3 @ ( set_nat2 @ ( cons_nat @ X @ Xs2 ) ) )
     => ( ( Y3 = X )
        | ( member_nat @ Y3 @ ( set_nat2 @ Xs2 ) ) ) ) ).

% set_ConsD
thf(fact_221_set__subset__Cons,axiom,
    ! [Xs2: list_list_nat,X: list_nat] : ( ord_le6045566169113846134st_nat @ ( set_list_nat2 @ Xs2 ) @ ( set_list_nat2 @ ( cons_list_nat @ X @ Xs2 ) ) ) ).

% set_subset_Cons
thf(fact_222_set__subset__Cons,axiom,
    ! [Xs2: list_nat,X: nat] : ( ord_less_eq_set_nat @ ( set_nat2 @ Xs2 ) @ ( set_nat2 @ ( cons_nat @ X @ Xs2 ) ) ) ).

% set_subset_Cons
thf(fact_223_append__Cons,axiom,
    ! [X: list_nat,Xs2: list_list_nat,Ys: list_list_nat] :
      ( ( append_list_nat @ ( cons_list_nat @ X @ Xs2 ) @ Ys )
      = ( cons_list_nat @ X @ ( append_list_nat @ Xs2 @ Ys ) ) ) ).

% append_Cons
thf(fact_224_append__Cons,axiom,
    ! [X: nat,Xs2: list_nat,Ys: list_nat] :
      ( ( append_nat @ ( cons_nat @ X @ Xs2 ) @ Ys )
      = ( cons_nat @ X @ ( append_nat @ Xs2 @ Ys ) ) ) ).

% append_Cons
thf(fact_225_Cons__eq__appendI,axiom,
    ! [X: list_nat,Xs1: list_list_nat,Ys: list_list_nat,Xs2: list_list_nat,Zs2: list_list_nat] :
      ( ( ( cons_list_nat @ X @ Xs1 )
        = Ys )
     => ( ( Xs2
          = ( append_list_nat @ Xs1 @ Zs2 ) )
       => ( ( cons_list_nat @ X @ Xs2 )
          = ( append_list_nat @ Ys @ Zs2 ) ) ) ) ).

% Cons_eq_appendI
thf(fact_226_Cons__eq__appendI,axiom,
    ! [X: nat,Xs1: list_nat,Ys: list_nat,Xs2: list_nat,Zs2: list_nat] :
      ( ( ( cons_nat @ X @ Xs1 )
        = Ys )
     => ( ( Xs2
          = ( append_nat @ Xs1 @ Zs2 ) )
       => ( ( cons_nat @ X @ Xs2 )
          = ( append_nat @ Ys @ Zs2 ) ) ) ) ).

% Cons_eq_appendI
thf(fact_227_append__Nil,axiom,
    ! [Ys: list_list_nat] :
      ( ( append_list_nat @ nil_list_nat @ Ys )
      = Ys ) ).

% append_Nil
thf(fact_228_append__Nil,axiom,
    ! [Ys: list_nat] :
      ( ( append_nat @ nil_nat @ Ys )
      = Ys ) ).

% append_Nil
thf(fact_229_append_Oleft__neutral,axiom,
    ! [A: list_list_nat] :
      ( ( append_list_nat @ nil_list_nat @ A )
      = A ) ).

% append.left_neutral
thf(fact_230_append_Oleft__neutral,axiom,
    ! [A: list_nat] :
      ( ( append_nat @ nil_nat @ A )
      = A ) ).

% append.left_neutral
thf(fact_231_eq__Nil__appendI,axiom,
    ! [Xs2: list_list_nat,Ys: list_list_nat] :
      ( ( Xs2 = Ys )
     => ( Xs2
        = ( append_list_nat @ nil_list_nat @ Ys ) ) ) ).

% eq_Nil_appendI
thf(fact_232_eq__Nil__appendI,axiom,
    ! [Xs2: list_nat,Ys: list_nat] :
      ( ( Xs2 = Ys )
     => ( Xs2
        = ( append_nat @ nil_nat @ Ys ) ) ) ).

% eq_Nil_appendI
thf(fact_233_rev__induct,axiom,
    ! [P: list_list_nat > $o,Xs2: list_list_nat] :
      ( ( P @ nil_list_nat )
     => ( ! [X2: list_nat,Xs: list_list_nat] :
            ( ( P @ Xs )
           => ( P @ ( append_list_nat @ Xs @ ( cons_list_nat @ X2 @ nil_list_nat ) ) ) )
       => ( P @ Xs2 ) ) ) ).

% rev_induct
thf(fact_234_rev__induct,axiom,
    ! [P: list_nat > $o,Xs2: list_nat] :
      ( ( P @ nil_nat )
     => ( ! [X2: nat,Xs: list_nat] :
            ( ( P @ Xs )
           => ( P @ ( append_nat @ Xs @ ( cons_nat @ X2 @ nil_nat ) ) ) )
       => ( P @ Xs2 ) ) ) ).

% rev_induct
thf(fact_235_rev__exhaust,axiom,
    ! [Xs2: list_list_nat] :
      ( ( Xs2 != nil_list_nat )
     => ~ ! [Ys3: list_list_nat,Y: list_nat] :
            ( Xs2
           != ( append_list_nat @ Ys3 @ ( cons_list_nat @ Y @ nil_list_nat ) ) ) ) ).

% rev_exhaust
thf(fact_236_rev__exhaust,axiom,
    ! [Xs2: list_nat] :
      ( ( Xs2 != nil_nat )
     => ~ ! [Ys3: list_nat,Y: nat] :
            ( Xs2
           != ( append_nat @ Ys3 @ ( cons_nat @ Y @ nil_nat ) ) ) ) ).

% rev_exhaust
thf(fact_237_Cons__eq__append__conv,axiom,
    ! [X: list_nat,Xs2: list_list_nat,Ys: list_list_nat,Zs2: list_list_nat] :
      ( ( ( cons_list_nat @ X @ Xs2 )
        = ( append_list_nat @ Ys @ Zs2 ) )
      = ( ( ( Ys = nil_list_nat )
          & ( ( cons_list_nat @ X @ Xs2 )
            = Zs2 ) )
        | ? [Ys4: list_list_nat] :
            ( ( ( cons_list_nat @ X @ Ys4 )
              = Ys )
            & ( Xs2
              = ( append_list_nat @ Ys4 @ Zs2 ) ) ) ) ) ).

% Cons_eq_append_conv
thf(fact_238_Cons__eq__append__conv,axiom,
    ! [X: nat,Xs2: list_nat,Ys: list_nat,Zs2: list_nat] :
      ( ( ( cons_nat @ X @ Xs2 )
        = ( append_nat @ Ys @ Zs2 ) )
      = ( ( ( Ys = nil_nat )
          & ( ( cons_nat @ X @ Xs2 )
            = Zs2 ) )
        | ? [Ys4: list_nat] :
            ( ( ( cons_nat @ X @ Ys4 )
              = Ys )
            & ( Xs2
              = ( append_nat @ Ys4 @ Zs2 ) ) ) ) ) ).

% Cons_eq_append_conv
thf(fact_239_append__eq__Cons__conv,axiom,
    ! [Ys: list_list_nat,Zs2: list_list_nat,X: list_nat,Xs2: list_list_nat] :
      ( ( ( append_list_nat @ Ys @ Zs2 )
        = ( cons_list_nat @ X @ Xs2 ) )
      = ( ( ( Ys = nil_list_nat )
          & ( Zs2
            = ( cons_list_nat @ X @ Xs2 ) ) )
        | ? [Ys4: list_list_nat] :
            ( ( Ys
              = ( cons_list_nat @ X @ Ys4 ) )
            & ( ( append_list_nat @ Ys4 @ Zs2 )
              = Xs2 ) ) ) ) ).

% append_eq_Cons_conv
thf(fact_240_append__eq__Cons__conv,axiom,
    ! [Ys: list_nat,Zs2: list_nat,X: nat,Xs2: list_nat] :
      ( ( ( append_nat @ Ys @ Zs2 )
        = ( cons_nat @ X @ Xs2 ) )
      = ( ( ( Ys = nil_nat )
          & ( Zs2
            = ( cons_nat @ X @ Xs2 ) ) )
        | ? [Ys4: list_nat] :
            ( ( Ys
              = ( cons_nat @ X @ Ys4 ) )
            & ( ( append_nat @ Ys4 @ Zs2 )
              = Xs2 ) ) ) ) ).

% append_eq_Cons_conv
thf(fact_241_rev__nonempty__induct,axiom,
    ! [Xs2: list_list_nat,P: list_list_nat > $o] :
      ( ( Xs2 != nil_list_nat )
     => ( ! [X2: list_nat] : ( P @ ( cons_list_nat @ X2 @ nil_list_nat ) )
       => ( ! [X2: list_nat,Xs: list_list_nat] :
              ( ( Xs != nil_list_nat )
             => ( ( P @ Xs )
               => ( P @ ( append_list_nat @ Xs @ ( cons_list_nat @ X2 @ nil_list_nat ) ) ) ) )
         => ( P @ Xs2 ) ) ) ) ).

% rev_nonempty_induct
thf(fact_242_rev__nonempty__induct,axiom,
    ! [Xs2: list_nat,P: list_nat > $o] :
      ( ( Xs2 != nil_nat )
     => ( ! [X2: nat] : ( P @ ( cons_nat @ X2 @ nil_nat ) )
       => ( ! [X2: nat,Xs: list_nat] :
              ( ( Xs != nil_nat )
             => ( ( P @ Xs )
               => ( P @ ( append_nat @ Xs @ ( cons_nat @ X2 @ nil_nat ) ) ) ) )
         => ( P @ Xs2 ) ) ) ) ).

% rev_nonempty_induct
thf(fact_243_split__list,axiom,
    ! [X: set_nat,Xs2: list_set_nat] :
      ( ( member_set_nat @ X @ ( set_set_nat2 @ Xs2 ) )
     => ? [Ys3: list_set_nat,Zs3: list_set_nat] :
          ( Xs2
          = ( append_set_nat @ Ys3 @ ( cons_set_nat @ X @ Zs3 ) ) ) ) ).

% split_list
thf(fact_244_split__list,axiom,
    ! [X: list_nat,Xs2: list_list_nat] :
      ( ( member_list_nat @ X @ ( set_list_nat2 @ Xs2 ) )
     => ? [Ys3: list_list_nat,Zs3: list_list_nat] :
          ( Xs2
          = ( append_list_nat @ Ys3 @ ( cons_list_nat @ X @ Zs3 ) ) ) ) ).

% split_list
thf(fact_245_split__list,axiom,
    ! [X: nat,Xs2: list_nat] :
      ( ( member_nat @ X @ ( set_nat2 @ Xs2 ) )
     => ? [Ys3: list_nat,Zs3: list_nat] :
          ( Xs2
          = ( append_nat @ Ys3 @ ( cons_nat @ X @ Zs3 ) ) ) ) ).

% split_list
thf(fact_246_split__list__last,axiom,
    ! [X: set_nat,Xs2: list_set_nat] :
      ( ( member_set_nat @ X @ ( set_set_nat2 @ Xs2 ) )
     => ? [Ys3: list_set_nat,Zs3: list_set_nat] :
          ( ( Xs2
            = ( append_set_nat @ Ys3 @ ( cons_set_nat @ X @ Zs3 ) ) )
          & ~ ( member_set_nat @ X @ ( set_set_nat2 @ Zs3 ) ) ) ) ).

% split_list_last
thf(fact_247_split__list__last,axiom,
    ! [X: list_nat,Xs2: list_list_nat] :
      ( ( member_list_nat @ X @ ( set_list_nat2 @ Xs2 ) )
     => ? [Ys3: list_list_nat,Zs3: list_list_nat] :
          ( ( Xs2
            = ( append_list_nat @ Ys3 @ ( cons_list_nat @ X @ Zs3 ) ) )
          & ~ ( member_list_nat @ X @ ( set_list_nat2 @ Zs3 ) ) ) ) ).

% split_list_last
thf(fact_248_split__list__last,axiom,
    ! [X: nat,Xs2: list_nat] :
      ( ( member_nat @ X @ ( set_nat2 @ Xs2 ) )
     => ? [Ys3: list_nat,Zs3: list_nat] :
          ( ( Xs2
            = ( append_nat @ Ys3 @ ( cons_nat @ X @ Zs3 ) ) )
          & ~ ( member_nat @ X @ ( set_nat2 @ Zs3 ) ) ) ) ).

% split_list_last
thf(fact_249_split__list__prop,axiom,
    ! [Xs2: list_list_nat,P: list_nat > $o] :
      ( ? [X3: list_nat] :
          ( ( member_list_nat @ X3 @ ( set_list_nat2 @ Xs2 ) )
          & ( P @ X3 ) )
     => ? [Ys3: list_list_nat,X2: list_nat] :
          ( ? [Zs3: list_list_nat] :
              ( Xs2
              = ( append_list_nat @ Ys3 @ ( cons_list_nat @ X2 @ Zs3 ) ) )
          & ( P @ X2 ) ) ) ).

% split_list_prop
thf(fact_250_split__list__prop,axiom,
    ! [Xs2: list_nat,P: nat > $o] :
      ( ? [X3: nat] :
          ( ( member_nat @ X3 @ ( set_nat2 @ Xs2 ) )
          & ( P @ X3 ) )
     => ? [Ys3: list_nat,X2: nat] :
          ( ? [Zs3: list_nat] :
              ( Xs2
              = ( append_nat @ Ys3 @ ( cons_nat @ X2 @ Zs3 ) ) )
          & ( P @ X2 ) ) ) ).

% split_list_prop
thf(fact_251_split__list__first,axiom,
    ! [X: set_nat,Xs2: list_set_nat] :
      ( ( member_set_nat @ X @ ( set_set_nat2 @ Xs2 ) )
     => ? [Ys3: list_set_nat,Zs3: list_set_nat] :
          ( ( Xs2
            = ( append_set_nat @ Ys3 @ ( cons_set_nat @ X @ Zs3 ) ) )
          & ~ ( member_set_nat @ X @ ( set_set_nat2 @ Ys3 ) ) ) ) ).

% split_list_first
thf(fact_252_split__list__first,axiom,
    ! [X: list_nat,Xs2: list_list_nat] :
      ( ( member_list_nat @ X @ ( set_list_nat2 @ Xs2 ) )
     => ? [Ys3: list_list_nat,Zs3: list_list_nat] :
          ( ( Xs2
            = ( append_list_nat @ Ys3 @ ( cons_list_nat @ X @ Zs3 ) ) )
          & ~ ( member_list_nat @ X @ ( set_list_nat2 @ Ys3 ) ) ) ) ).

% split_list_first
thf(fact_253_split__list__first,axiom,
    ! [X: nat,Xs2: list_nat] :
      ( ( member_nat @ X @ ( set_nat2 @ Xs2 ) )
     => ? [Ys3: list_nat,Zs3: list_nat] :
          ( ( Xs2
            = ( append_nat @ Ys3 @ ( cons_nat @ X @ Zs3 ) ) )
          & ~ ( member_nat @ X @ ( set_nat2 @ Ys3 ) ) ) ) ).

% split_list_first
thf(fact_254_split__list__propE,axiom,
    ! [Xs2: list_list_nat,P: list_nat > $o] :
      ( ? [X3: list_nat] :
          ( ( member_list_nat @ X3 @ ( set_list_nat2 @ Xs2 ) )
          & ( P @ X3 ) )
     => ~ ! [Ys3: list_list_nat,X2: list_nat] :
            ( ? [Zs3: list_list_nat] :
                ( Xs2
                = ( append_list_nat @ Ys3 @ ( cons_list_nat @ X2 @ Zs3 ) ) )
           => ~ ( P @ X2 ) ) ) ).

% split_list_propE
thf(fact_255_split__list__propE,axiom,
    ! [Xs2: list_nat,P: nat > $o] :
      ( ? [X3: nat] :
          ( ( member_nat @ X3 @ ( set_nat2 @ Xs2 ) )
          & ( P @ X3 ) )
     => ~ ! [Ys3: list_nat,X2: nat] :
            ( ? [Zs3: list_nat] :
                ( Xs2
                = ( append_nat @ Ys3 @ ( cons_nat @ X2 @ Zs3 ) ) )
           => ~ ( P @ X2 ) ) ) ).

% split_list_propE
thf(fact_256_append__Cons__eq__iff,axiom,
    ! [X: set_nat,Xs2: list_set_nat,Ys: list_set_nat,Xs3: list_set_nat,Ys5: list_set_nat] :
      ( ~ ( member_set_nat @ X @ ( set_set_nat2 @ Xs2 ) )
     => ( ~ ( member_set_nat @ X @ ( set_set_nat2 @ Ys ) )
       => ( ( ( append_set_nat @ Xs2 @ ( cons_set_nat @ X @ Ys ) )
            = ( append_set_nat @ Xs3 @ ( cons_set_nat @ X @ Ys5 ) ) )
          = ( ( Xs2 = Xs3 )
            & ( Ys = Ys5 ) ) ) ) ) ).

% append_Cons_eq_iff
thf(fact_257_append__Cons__eq__iff,axiom,
    ! [X: list_nat,Xs2: list_list_nat,Ys: list_list_nat,Xs3: list_list_nat,Ys5: list_list_nat] :
      ( ~ ( member_list_nat @ X @ ( set_list_nat2 @ Xs2 ) )
     => ( ~ ( member_list_nat @ X @ ( set_list_nat2 @ Ys ) )
       => ( ( ( append_list_nat @ Xs2 @ ( cons_list_nat @ X @ Ys ) )
            = ( append_list_nat @ Xs3 @ ( cons_list_nat @ X @ Ys5 ) ) )
          = ( ( Xs2 = Xs3 )
            & ( Ys = Ys5 ) ) ) ) ) ).

% append_Cons_eq_iff
thf(fact_258_append__Cons__eq__iff,axiom,
    ! [X: nat,Xs2: list_nat,Ys: list_nat,Xs3: list_nat,Ys5: list_nat] :
      ( ~ ( member_nat @ X @ ( set_nat2 @ Xs2 ) )
     => ( ~ ( member_nat @ X @ ( set_nat2 @ Ys ) )
       => ( ( ( append_nat @ Xs2 @ ( cons_nat @ X @ Ys ) )
            = ( append_nat @ Xs3 @ ( cons_nat @ X @ Ys5 ) ) )
          = ( ( Xs2 = Xs3 )
            & ( Ys = Ys5 ) ) ) ) ) ).

% append_Cons_eq_iff
thf(fact_259_in__set__conv__decomp,axiom,
    ! [X: set_nat,Xs2: list_set_nat] :
      ( ( member_set_nat @ X @ ( set_set_nat2 @ Xs2 ) )
      = ( ? [Ys2: list_set_nat,Zs: list_set_nat] :
            ( Xs2
            = ( append_set_nat @ Ys2 @ ( cons_set_nat @ X @ Zs ) ) ) ) ) ).

% in_set_conv_decomp
thf(fact_260_in__set__conv__decomp,axiom,
    ! [X: list_nat,Xs2: list_list_nat] :
      ( ( member_list_nat @ X @ ( set_list_nat2 @ Xs2 ) )
      = ( ? [Ys2: list_list_nat,Zs: list_list_nat] :
            ( Xs2
            = ( append_list_nat @ Ys2 @ ( cons_list_nat @ X @ Zs ) ) ) ) ) ).

% in_set_conv_decomp
thf(fact_261_in__set__conv__decomp,axiom,
    ! [X: nat,Xs2: list_nat] :
      ( ( member_nat @ X @ ( set_nat2 @ Xs2 ) )
      = ( ? [Ys2: list_nat,Zs: list_nat] :
            ( Xs2
            = ( append_nat @ Ys2 @ ( cons_nat @ X @ Zs ) ) ) ) ) ).

% in_set_conv_decomp
thf(fact_262_split__list__last__prop,axiom,
    ! [Xs2: list_list_nat,P: list_nat > $o] :
      ( ? [X3: list_nat] :
          ( ( member_list_nat @ X3 @ ( set_list_nat2 @ Xs2 ) )
          & ( P @ X3 ) )
     => ? [Ys3: list_list_nat,X2: list_nat,Zs3: list_list_nat] :
          ( ( Xs2
            = ( append_list_nat @ Ys3 @ ( cons_list_nat @ X2 @ Zs3 ) ) )
          & ( P @ X2 )
          & ! [Xa: list_nat] :
              ( ( member_list_nat @ Xa @ ( set_list_nat2 @ Zs3 ) )
             => ~ ( P @ Xa ) ) ) ) ).

% split_list_last_prop
thf(fact_263_split__list__last__prop,axiom,
    ! [Xs2: list_nat,P: nat > $o] :
      ( ? [X3: nat] :
          ( ( member_nat @ X3 @ ( set_nat2 @ Xs2 ) )
          & ( P @ X3 ) )
     => ? [Ys3: list_nat,X2: nat,Zs3: list_nat] :
          ( ( Xs2
            = ( append_nat @ Ys3 @ ( cons_nat @ X2 @ Zs3 ) ) )
          & ( P @ X2 )
          & ! [Xa: nat] :
              ( ( member_nat @ Xa @ ( set_nat2 @ Zs3 ) )
             => ~ ( P @ Xa ) ) ) ) ).

% split_list_last_prop
thf(fact_264_split__list__first__prop,axiom,
    ! [Xs2: list_list_nat,P: list_nat > $o] :
      ( ? [X3: list_nat] :
          ( ( member_list_nat @ X3 @ ( set_list_nat2 @ Xs2 ) )
          & ( P @ X3 ) )
     => ? [Ys3: list_list_nat,X2: list_nat] :
          ( ? [Zs3: list_list_nat] :
              ( Xs2
              = ( append_list_nat @ Ys3 @ ( cons_list_nat @ X2 @ Zs3 ) ) )
          & ( P @ X2 )
          & ! [Xa: list_nat] :
              ( ( member_list_nat @ Xa @ ( set_list_nat2 @ Ys3 ) )
             => ~ ( P @ Xa ) ) ) ) ).

% split_list_first_prop
thf(fact_265_split__list__first__prop,axiom,
    ! [Xs2: list_nat,P: nat > $o] :
      ( ? [X3: nat] :
          ( ( member_nat @ X3 @ ( set_nat2 @ Xs2 ) )
          & ( P @ X3 ) )
     => ? [Ys3: list_nat,X2: nat] :
          ( ? [Zs3: list_nat] :
              ( Xs2
              = ( append_nat @ Ys3 @ ( cons_nat @ X2 @ Zs3 ) ) )
          & ( P @ X2 )
          & ! [Xa: nat] :
              ( ( member_nat @ Xa @ ( set_nat2 @ Ys3 ) )
             => ~ ( P @ Xa ) ) ) ) ).

% split_list_first_prop
thf(fact_266_split__list__last__propE,axiom,
    ! [Xs2: list_list_nat,P: list_nat > $o] :
      ( ? [X3: list_nat] :
          ( ( member_list_nat @ X3 @ ( set_list_nat2 @ Xs2 ) )
          & ( P @ X3 ) )
     => ~ ! [Ys3: list_list_nat,X2: list_nat,Zs3: list_list_nat] :
            ( ( Xs2
              = ( append_list_nat @ Ys3 @ ( cons_list_nat @ X2 @ Zs3 ) ) )
           => ( ( P @ X2 )
             => ~ ! [Xa: list_nat] :
                    ( ( member_list_nat @ Xa @ ( set_list_nat2 @ Zs3 ) )
                   => ~ ( P @ Xa ) ) ) ) ) ).

% split_list_last_propE
thf(fact_267_split__list__last__propE,axiom,
    ! [Xs2: list_nat,P: nat > $o] :
      ( ? [X3: nat] :
          ( ( member_nat @ X3 @ ( set_nat2 @ Xs2 ) )
          & ( P @ X3 ) )
     => ~ ! [Ys3: list_nat,X2: nat,Zs3: list_nat] :
            ( ( Xs2
              = ( append_nat @ Ys3 @ ( cons_nat @ X2 @ Zs3 ) ) )
           => ( ( P @ X2 )
             => ~ ! [Xa: nat] :
                    ( ( member_nat @ Xa @ ( set_nat2 @ Zs3 ) )
                   => ~ ( P @ Xa ) ) ) ) ) ).

% split_list_last_propE
thf(fact_268_split__list__first__propE,axiom,
    ! [Xs2: list_list_nat,P: list_nat > $o] :
      ( ? [X3: list_nat] :
          ( ( member_list_nat @ X3 @ ( set_list_nat2 @ Xs2 ) )
          & ( P @ X3 ) )
     => ~ ! [Ys3: list_list_nat,X2: list_nat] :
            ( ? [Zs3: list_list_nat] :
                ( Xs2
                = ( append_list_nat @ Ys3 @ ( cons_list_nat @ X2 @ Zs3 ) ) )
           => ( ( P @ X2 )
             => ~ ! [Xa: list_nat] :
                    ( ( member_list_nat @ Xa @ ( set_list_nat2 @ Ys3 ) )
                   => ~ ( P @ Xa ) ) ) ) ) ).

% split_list_first_propE
thf(fact_269_split__list__first__propE,axiom,
    ! [Xs2: list_nat,P: nat > $o] :
      ( ? [X3: nat] :
          ( ( member_nat @ X3 @ ( set_nat2 @ Xs2 ) )
          & ( P @ X3 ) )
     => ~ ! [Ys3: list_nat,X2: nat] :
            ( ? [Zs3: list_nat] :
                ( Xs2
                = ( append_nat @ Ys3 @ ( cons_nat @ X2 @ Zs3 ) ) )
           => ( ( P @ X2 )
             => ~ ! [Xa: nat] :
                    ( ( member_nat @ Xa @ ( set_nat2 @ Ys3 ) )
                   => ~ ( P @ Xa ) ) ) ) ) ).

% split_list_first_propE
thf(fact_270_in__set__conv__decomp__last,axiom,
    ! [X: set_nat,Xs2: list_set_nat] :
      ( ( member_set_nat @ X @ ( set_set_nat2 @ Xs2 ) )
      = ( ? [Ys2: list_set_nat,Zs: list_set_nat] :
            ( ( Xs2
              = ( append_set_nat @ Ys2 @ ( cons_set_nat @ X @ Zs ) ) )
            & ~ ( member_set_nat @ X @ ( set_set_nat2 @ Zs ) ) ) ) ) ).

% in_set_conv_decomp_last
thf(fact_271_in__set__conv__decomp__last,axiom,
    ! [X: list_nat,Xs2: list_list_nat] :
      ( ( member_list_nat @ X @ ( set_list_nat2 @ Xs2 ) )
      = ( ? [Ys2: list_list_nat,Zs: list_list_nat] :
            ( ( Xs2
              = ( append_list_nat @ Ys2 @ ( cons_list_nat @ X @ Zs ) ) )
            & ~ ( member_list_nat @ X @ ( set_list_nat2 @ Zs ) ) ) ) ) ).

% in_set_conv_decomp_last
thf(fact_272_in__set__conv__decomp__last,axiom,
    ! [X: nat,Xs2: list_nat] :
      ( ( member_nat @ X @ ( set_nat2 @ Xs2 ) )
      = ( ? [Ys2: list_nat,Zs: list_nat] :
            ( ( Xs2
              = ( append_nat @ Ys2 @ ( cons_nat @ X @ Zs ) ) )
            & ~ ( member_nat @ X @ ( set_nat2 @ Zs ) ) ) ) ) ).

% in_set_conv_decomp_last
thf(fact_273_in__set__conv__decomp__first,axiom,
    ! [X: set_nat,Xs2: list_set_nat] :
      ( ( member_set_nat @ X @ ( set_set_nat2 @ Xs2 ) )
      = ( ? [Ys2: list_set_nat,Zs: list_set_nat] :
            ( ( Xs2
              = ( append_set_nat @ Ys2 @ ( cons_set_nat @ X @ Zs ) ) )
            & ~ ( member_set_nat @ X @ ( set_set_nat2 @ Ys2 ) ) ) ) ) ).

% in_set_conv_decomp_first
thf(fact_274_in__set__conv__decomp__first,axiom,
    ! [X: list_nat,Xs2: list_list_nat] :
      ( ( member_list_nat @ X @ ( set_list_nat2 @ Xs2 ) )
      = ( ? [Ys2: list_list_nat,Zs: list_list_nat] :
            ( ( Xs2
              = ( append_list_nat @ Ys2 @ ( cons_list_nat @ X @ Zs ) ) )
            & ~ ( member_list_nat @ X @ ( set_list_nat2 @ Ys2 ) ) ) ) ) ).

% in_set_conv_decomp_first
thf(fact_275_in__set__conv__decomp__first,axiom,
    ! [X: nat,Xs2: list_nat] :
      ( ( member_nat @ X @ ( set_nat2 @ Xs2 ) )
      = ( ? [Ys2: list_nat,Zs: list_nat] :
            ( ( Xs2
              = ( append_nat @ Ys2 @ ( cons_nat @ X @ Zs ) ) )
            & ~ ( member_nat @ X @ ( set_nat2 @ Ys2 ) ) ) ) ) ).

% in_set_conv_decomp_first
thf(fact_276_subsetI,axiom,
    ! [A4: set_set_nat,B4: set_set_nat] :
      ( ! [X2: set_nat] :
          ( ( member_set_nat @ X2 @ A4 )
         => ( member_set_nat @ X2 @ B4 ) )
     => ( ord_le6893508408891458716et_nat @ A4 @ B4 ) ) ).

% subsetI
thf(fact_277_subsetI,axiom,
    ! [A4: set_nat,B4: set_nat] :
      ( ! [X2: nat] :
          ( ( member_nat @ X2 @ A4 )
         => ( member_nat @ X2 @ B4 ) )
     => ( ord_less_eq_set_nat @ A4 @ B4 ) ) ).

% subsetI
thf(fact_278_subsetI,axiom,
    ! [A4: set_list_nat,B4: set_list_nat] :
      ( ! [X2: list_nat] :
          ( ( member_list_nat @ X2 @ A4 )
         => ( member_list_nat @ X2 @ B4 ) )
     => ( ord_le6045566169113846134st_nat @ A4 @ B4 ) ) ).

% subsetI
thf(fact_279_subset__antisym,axiom,
    ! [A4: set_nat,B4: set_nat] :
      ( ( ord_less_eq_set_nat @ A4 @ B4 )
     => ( ( ord_less_eq_set_nat @ B4 @ A4 )
       => ( A4 = B4 ) ) ) ).

% subset_antisym
thf(fact_280_subset__antisym,axiom,
    ! [A4: set_list_nat,B4: set_list_nat] :
      ( ( ord_le6045566169113846134st_nat @ A4 @ B4 )
     => ( ( ord_le6045566169113846134st_nat @ B4 @ A4 )
       => ( A4 = B4 ) ) ) ).

% subset_antisym
thf(fact_281_rgf__def,axiom,
    ( equiva3371634703666331078on_rgf
    = ( ^ [X4: list_nat] :
        ! [Ys2: list_nat,Y5: nat] :
          ( ( prefix_nat @ ( append_nat @ Ys2 @ ( cons_nat @ Y5 @ nil_nat ) ) @ X4 )
         => ( ord_less_eq_nat @ Y5 @ ( equiva5889994315859557365_limit @ Ys2 ) ) ) ) ) ).

% rgf_def
thf(fact_282_the__elem__set,axiom,
    ! [X: list_nat] :
      ( ( the_elem_list_nat @ ( set_list_nat2 @ ( cons_list_nat @ X @ nil_list_nat ) ) )
      = X ) ).

% the_elem_set
thf(fact_283_the__elem__set,axiom,
    ! [X: nat] :
      ( ( the_elem_nat @ ( set_nat2 @ ( cons_nat @ X @ nil_nat ) ) )
      = X ) ).

% the_elem_set
thf(fact_284_bind__simps_I2_J,axiom,
    ! [X: nat,Xs2: list_nat,F: nat > list_list_nat] :
      ( ( bind_nat_list_nat @ ( cons_nat @ X @ Xs2 ) @ F )
      = ( append_list_nat @ ( F @ X ) @ ( bind_nat_list_nat @ Xs2 @ F ) ) ) ).

% bind_simps(2)
thf(fact_285_bind__simps_I2_J,axiom,
    ! [X: list_nat,Xs2: list_list_nat,F: list_nat > list_nat] :
      ( ( bind_list_nat_nat @ ( cons_list_nat @ X @ Xs2 ) @ F )
      = ( append_nat @ ( F @ X ) @ ( bind_list_nat_nat @ Xs2 @ F ) ) ) ).

% bind_simps(2)
thf(fact_286_bind__simps_I2_J,axiom,
    ! [X: list_nat,Xs2: list_list_nat,F: list_nat > list_list_nat] :
      ( ( bind_l7796378977173581257st_nat @ ( cons_list_nat @ X @ Xs2 ) @ F )
      = ( append_list_nat @ ( F @ X ) @ ( bind_l7796378977173581257st_nat @ Xs2 @ F ) ) ) ).

% bind_simps(2)
thf(fact_287_bind__simps_I2_J,axiom,
    ! [X: nat,Xs2: list_nat,F: nat > list_nat] :
      ( ( bind_nat_nat @ ( cons_nat @ X @ Xs2 ) @ F )
      = ( append_nat @ ( F @ X ) @ ( bind_nat_nat @ Xs2 @ F ) ) ) ).

% bind_simps(2)
thf(fact_288_subset__code_I3_J,axiom,
    ~ ( ord_le6045566169113846134st_nat @ ( coset_list_nat @ nil_list_nat ) @ ( set_list_nat2 @ nil_list_nat ) ) ).

% subset_code(3)
thf(fact_289_subset__code_I3_J,axiom,
    ~ ( ord_less_eq_set_nat @ ( coset_nat @ nil_nat ) @ ( set_nat2 @ nil_nat ) ) ).

% subset_code(3)
thf(fact_290_maps__simps_I1_J,axiom,
    ! [F: nat > list_list_nat,X: nat,Xs2: list_nat] :
      ( ( maps_nat_list_nat @ F @ ( cons_nat @ X @ Xs2 ) )
      = ( append_list_nat @ ( F @ X ) @ ( maps_nat_list_nat @ F @ Xs2 ) ) ) ).

% maps_simps(1)
thf(fact_291_maps__simps_I1_J,axiom,
    ! [F: list_nat > list_nat,X: list_nat,Xs2: list_list_nat] :
      ( ( maps_list_nat_nat @ F @ ( cons_list_nat @ X @ Xs2 ) )
      = ( append_nat @ ( F @ X ) @ ( maps_list_nat_nat @ F @ Xs2 ) ) ) ).

% maps_simps(1)
thf(fact_292_maps__simps_I1_J,axiom,
    ! [F: list_nat > list_list_nat,X: list_nat,Xs2: list_list_nat] :
      ( ( maps_l5785965478274863235st_nat @ F @ ( cons_list_nat @ X @ Xs2 ) )
      = ( append_list_nat @ ( F @ X ) @ ( maps_l5785965478274863235st_nat @ F @ Xs2 ) ) ) ).

% maps_simps(1)
thf(fact_293_maps__simps_I1_J,axiom,
    ! [F: nat > list_nat,X: nat,Xs2: list_nat] :
      ( ( maps_nat_nat @ F @ ( cons_nat @ X @ Xs2 ) )
      = ( append_nat @ ( F @ X ) @ ( maps_nat_nat @ F @ Xs2 ) ) ) ).

% maps_simps(1)
thf(fact_294_not__in__set__insert,axiom,
    ! [X: set_nat,Xs2: list_set_nat] :
      ( ~ ( member_set_nat @ X @ ( set_set_nat2 @ Xs2 ) )
     => ( ( insert_set_nat @ X @ Xs2 )
        = ( cons_set_nat @ X @ Xs2 ) ) ) ).

% not_in_set_insert
thf(fact_295_not__in__set__insert,axiom,
    ! [X: list_nat,Xs2: list_list_nat] :
      ( ~ ( member_list_nat @ X @ ( set_list_nat2 @ Xs2 ) )
     => ( ( insert_list_nat @ X @ Xs2 )
        = ( cons_list_nat @ X @ Xs2 ) ) ) ).

% not_in_set_insert
thf(fact_296_not__in__set__insert,axiom,
    ! [X: nat,Xs2: list_nat] :
      ( ~ ( member_nat @ X @ ( set_nat2 @ Xs2 ) )
     => ( ( insert_nat @ X @ Xs2 )
        = ( cons_nat @ X @ Xs2 ) ) ) ).

% not_in_set_insert
thf(fact_297_insert__Nil,axiom,
    ! [X: list_nat] :
      ( ( insert_list_nat @ X @ nil_list_nat )
      = ( cons_list_nat @ X @ nil_list_nat ) ) ).

% insert_Nil
thf(fact_298_insert__Nil,axiom,
    ! [X: nat] :
      ( ( insert_nat @ X @ nil_nat )
      = ( cons_nat @ X @ nil_nat ) ) ).

% insert_Nil
thf(fact_299_prefix__order_Odual__order_Orefl,axiom,
    ! [A: list_nat] : ( prefix_nat @ A @ A ) ).

% prefix_order.dual_order.refl
thf(fact_300_prefix__order_Oorder__refl,axiom,
    ! [X: list_nat] : ( prefix_nat @ X @ X ) ).

% prefix_order.order_refl
thf(fact_301_Cons__prefix__Cons,axiom,
    ! [X: list_nat,Xs2: list_list_nat,Y3: list_nat,Ys: list_list_nat] :
      ( ( prefix_list_nat @ ( cons_list_nat @ X @ Xs2 ) @ ( cons_list_nat @ Y3 @ Ys ) )
      = ( ( X = Y3 )
        & ( prefix_list_nat @ Xs2 @ Ys ) ) ) ).

% Cons_prefix_Cons
thf(fact_302_Cons__prefix__Cons,axiom,
    ! [X: nat,Xs2: list_nat,Y3: nat,Ys: list_nat] :
      ( ( prefix_nat @ ( cons_nat @ X @ Xs2 ) @ ( cons_nat @ Y3 @ Ys ) )
      = ( ( X = Y3 )
        & ( prefix_nat @ Xs2 @ Ys ) ) ) ).

% Cons_prefix_Cons
thf(fact_303_prefix__Nil,axiom,
    ! [Xs2: list_list_nat] :
      ( ( prefix_list_nat @ Xs2 @ nil_list_nat )
      = ( Xs2 = nil_list_nat ) ) ).

% prefix_Nil
thf(fact_304_prefix__Nil,axiom,
    ! [Xs2: list_nat] :
      ( ( prefix_nat @ Xs2 @ nil_nat )
      = ( Xs2 = nil_nat ) ) ).

% prefix_Nil
thf(fact_305_prefix__bot_Oextremum__unique,axiom,
    ! [A: list_list_nat] :
      ( ( prefix_list_nat @ A @ nil_list_nat )
      = ( A = nil_list_nat ) ) ).

% prefix_bot.extremum_unique
thf(fact_306_prefix__bot_Oextremum__unique,axiom,
    ! [A: list_nat] :
      ( ( prefix_nat @ A @ nil_nat )
      = ( A = nil_nat ) ) ).

% prefix_bot.extremum_unique
thf(fact_307_prefix__code_I1_J,axiom,
    ! [Xs2: list_list_nat] : ( prefix_list_nat @ nil_list_nat @ Xs2 ) ).

% prefix_code(1)
thf(fact_308_prefix__code_I1_J,axiom,
    ! [Xs2: list_nat] : ( prefix_nat @ nil_nat @ Xs2 ) ).

% prefix_code(1)
thf(fact_309_same__prefix__prefix,axiom,
    ! [Xs2: list_list_nat,Ys: list_list_nat,Zs2: list_list_nat] :
      ( ( prefix_list_nat @ ( append_list_nat @ Xs2 @ Ys ) @ ( append_list_nat @ Xs2 @ Zs2 ) )
      = ( prefix_list_nat @ Ys @ Zs2 ) ) ).

% same_prefix_prefix
thf(fact_310_same__prefix__prefix,axiom,
    ! [Xs2: list_nat,Ys: list_nat,Zs2: list_nat] :
      ( ( prefix_nat @ ( append_nat @ Xs2 @ Ys ) @ ( append_nat @ Xs2 @ Zs2 ) )
      = ( prefix_nat @ Ys @ Zs2 ) ) ).

% same_prefix_prefix
thf(fact_311_in__set__insert,axiom,
    ! [X: set_nat,Xs2: list_set_nat] :
      ( ( member_set_nat @ X @ ( set_set_nat2 @ Xs2 ) )
     => ( ( insert_set_nat @ X @ Xs2 )
        = Xs2 ) ) ).

% in_set_insert
thf(fact_312_in__set__insert,axiom,
    ! [X: list_nat,Xs2: list_list_nat] :
      ( ( member_list_nat @ X @ ( set_list_nat2 @ Xs2 ) )
     => ( ( insert_list_nat @ X @ Xs2 )
        = Xs2 ) ) ).

% in_set_insert
thf(fact_313_in__set__insert,axiom,
    ! [X: nat,Xs2: list_nat] :
      ( ( member_nat @ X @ ( set_nat2 @ Xs2 ) )
     => ( ( insert_nat @ X @ Xs2 )
        = Xs2 ) ) ).

% in_set_insert
thf(fact_314_bind__simps_I1_J,axiom,
    ! [F: nat > list_list_nat] :
      ( ( bind_nat_list_nat @ nil_nat @ F )
      = nil_list_nat ) ).

% bind_simps(1)
thf(fact_315_bind__simps_I1_J,axiom,
    ! [F: list_nat > list_nat] :
      ( ( bind_list_nat_nat @ nil_list_nat @ F )
      = nil_nat ) ).

% bind_simps(1)
thf(fact_316_bind__simps_I1_J,axiom,
    ! [F: list_nat > list_list_nat] :
      ( ( bind_l7796378977173581257st_nat @ nil_list_nat @ F )
      = nil_list_nat ) ).

% bind_simps(1)
thf(fact_317_bind__simps_I1_J,axiom,
    ! [F: nat > list_nat] :
      ( ( bind_nat_nat @ nil_nat @ F )
      = nil_nat ) ).

% bind_simps(1)
thf(fact_318_same__prefix__nil,axiom,
    ! [Xs2: list_list_nat,Ys: list_list_nat] :
      ( ( prefix_list_nat @ ( append_list_nat @ Xs2 @ Ys ) @ Xs2 )
      = ( Ys = nil_list_nat ) ) ).

% same_prefix_nil
thf(fact_319_same__prefix__nil,axiom,
    ! [Xs2: list_nat,Ys: list_nat] :
      ( ( prefix_nat @ ( append_nat @ Xs2 @ Ys ) @ Xs2 )
      = ( Ys = nil_nat ) ) ).

% same_prefix_nil
thf(fact_320_prefix__snoc,axiom,
    ! [Xs2: list_list_nat,Ys: list_list_nat,Y3: list_nat] :
      ( ( prefix_list_nat @ Xs2 @ ( append_list_nat @ Ys @ ( cons_list_nat @ Y3 @ nil_list_nat ) ) )
      = ( ( Xs2
          = ( append_list_nat @ Ys @ ( cons_list_nat @ Y3 @ nil_list_nat ) ) )
        | ( prefix_list_nat @ Xs2 @ Ys ) ) ) ).

% prefix_snoc
thf(fact_321_prefix__snoc,axiom,
    ! [Xs2: list_nat,Ys: list_nat,Y3: nat] :
      ( ( prefix_nat @ Xs2 @ ( append_nat @ Ys @ ( cons_nat @ Y3 @ nil_nat ) ) )
      = ( ( Xs2
          = ( append_nat @ Ys @ ( cons_nat @ Y3 @ nil_nat ) ) )
        | ( prefix_nat @ Xs2 @ Ys ) ) ) ).

% prefix_snoc
thf(fact_322_prefix__same__cases,axiom,
    ! [Xs_1: list_nat,Ys: list_nat,Xs_2: list_nat] :
      ( ( prefix_nat @ Xs_1 @ Ys )
     => ( ( prefix_nat @ Xs_2 @ Ys )
       => ( ( prefix_nat @ Xs_1 @ Xs_2 )
          | ( prefix_nat @ Xs_2 @ Xs_1 ) ) ) ) ).

% prefix_same_cases
thf(fact_323_prefix__order_Odual__order_Oantisym,axiom,
    ! [B: list_nat,A: list_nat] :
      ( ( prefix_nat @ B @ A )
     => ( ( prefix_nat @ A @ B )
       => ( A = B ) ) ) ).

% prefix_order.dual_order.antisym
thf(fact_324_prefix__order_Odual__order_Oeq__iff,axiom,
    ( ( ^ [Y4: list_nat,Z: list_nat] : ( Y4 = Z ) )
    = ( ^ [A2: list_nat,B2: list_nat] :
          ( ( prefix_nat @ B2 @ A2 )
          & ( prefix_nat @ A2 @ B2 ) ) ) ) ).

% prefix_order.dual_order.eq_iff
thf(fact_325_prefix__order_Odual__order_Otrans,axiom,
    ! [B: list_nat,A: list_nat,C: list_nat] :
      ( ( prefix_nat @ B @ A )
     => ( ( prefix_nat @ C @ B )
       => ( prefix_nat @ C @ A ) ) ) ).

% prefix_order.dual_order.trans
thf(fact_326_prefix__order_Oord__le__eq__trans,axiom,
    ! [A: list_nat,B: list_nat,C: list_nat] :
      ( ( prefix_nat @ A @ B )
     => ( ( B = C )
       => ( prefix_nat @ A @ C ) ) ) ).

% prefix_order.ord_le_eq_trans
thf(fact_327_prefix__order_Oord__eq__le__trans,axiom,
    ! [A: list_nat,B: list_nat,C: list_nat] :
      ( ( A = B )
     => ( ( prefix_nat @ B @ C )
       => ( prefix_nat @ A @ C ) ) ) ).

% prefix_order.ord_eq_le_trans
thf(fact_328_prefix__order_Oorder__antisym,axiom,
    ! [X: list_nat,Y3: list_nat] :
      ( ( prefix_nat @ X @ Y3 )
     => ( ( prefix_nat @ Y3 @ X )
       => ( X = Y3 ) ) ) ).

% prefix_order.order_antisym
thf(fact_329_prefix__order_Oorder__eq__iff,axiom,
    ( ( ^ [Y4: list_nat,Z: list_nat] : ( Y4 = Z ) )
    = ( ^ [X4: list_nat,Y5: list_nat] :
          ( ( prefix_nat @ X4 @ Y5 )
          & ( prefix_nat @ Y5 @ X4 ) ) ) ) ).

% prefix_order.order_eq_iff
thf(fact_330_prefix__order_Oantisym__conv,axiom,
    ! [Y3: list_nat,X: list_nat] :
      ( ( prefix_nat @ Y3 @ X )
     => ( ( prefix_nat @ X @ Y3 )
        = ( X = Y3 ) ) ) ).

% prefix_order.antisym_conv
thf(fact_331_prefix__order_Oorder__trans,axiom,
    ! [X: list_nat,Y3: list_nat,Z2: list_nat] :
      ( ( prefix_nat @ X @ Y3 )
     => ( ( prefix_nat @ Y3 @ Z2 )
       => ( prefix_nat @ X @ Z2 ) ) ) ).

% prefix_order.order_trans
thf(fact_332_prefix__order_Oeq__refl,axiom,
    ! [X: list_nat,Y3: list_nat] :
      ( ( X = Y3 )
     => ( prefix_nat @ X @ Y3 ) ) ).

% prefix_order.eq_refl
thf(fact_333_prefix__order_Oantisym,axiom,
    ! [A: list_nat,B: list_nat] :
      ( ( prefix_nat @ A @ B )
     => ( ( prefix_nat @ B @ A )
       => ( A = B ) ) ) ).

% prefix_order.antisym
thf(fact_334_prefix__order_Oeq__iff,axiom,
    ( ( ^ [Y4: list_nat,Z: list_nat] : ( Y4 = Z ) )
    = ( ^ [A2: list_nat,B2: list_nat] :
          ( ( prefix_nat @ A2 @ B2 )
          & ( prefix_nat @ B2 @ A2 ) ) ) ) ).

% prefix_order.eq_iff
thf(fact_335_prefix__order_Otrans,axiom,
    ! [A: list_nat,B: list_nat,C: list_nat] :
      ( ( prefix_nat @ A @ B )
     => ( ( prefix_nat @ B @ C )
       => ( prefix_nat @ A @ C ) ) ) ).

% prefix_order.trans
thf(fact_336_Nil__prefix,axiom,
    ! [Xs2: list_list_nat] : ( prefix_list_nat @ nil_list_nat @ Xs2 ) ).

% Nil_prefix
thf(fact_337_Nil__prefix,axiom,
    ! [Xs2: list_nat] : ( prefix_nat @ nil_nat @ Xs2 ) ).

% Nil_prefix
thf(fact_338_prefix__bot_Oextremum__uniqueI,axiom,
    ! [A: list_list_nat] :
      ( ( prefix_list_nat @ A @ nil_list_nat )
     => ( A = nil_list_nat ) ) ).

% prefix_bot.extremum_uniqueI
thf(fact_339_prefix__bot_Oextremum__uniqueI,axiom,
    ! [A: list_nat] :
      ( ( prefix_nat @ A @ nil_nat )
     => ( A = nil_nat ) ) ).

% prefix_bot.extremum_uniqueI
thf(fact_340_prefix__bot_Obot__least,axiom,
    ! [A: list_list_nat] : ( prefix_list_nat @ nil_list_nat @ A ) ).

% prefix_bot.bot_least
thf(fact_341_prefix__bot_Obot__least,axiom,
    ! [A: list_nat] : ( prefix_nat @ nil_nat @ A ) ).

% prefix_bot.bot_least
thf(fact_342_append__prefixD,axiom,
    ! [Xs2: list_list_nat,Ys: list_list_nat,Zs2: list_list_nat] :
      ( ( prefix_list_nat @ ( append_list_nat @ Xs2 @ Ys ) @ Zs2 )
     => ( prefix_list_nat @ Xs2 @ Zs2 ) ) ).

% append_prefixD
thf(fact_343_append__prefixD,axiom,
    ! [Xs2: list_nat,Ys: list_nat,Zs2: list_nat] :
      ( ( prefix_nat @ ( append_nat @ Xs2 @ Ys ) @ Zs2 )
     => ( prefix_nat @ Xs2 @ Zs2 ) ) ).

% append_prefixD
thf(fact_344_prefix__prefix,axiom,
    ! [Xs2: list_list_nat,Ys: list_list_nat,Zs2: list_list_nat] :
      ( ( prefix_list_nat @ Xs2 @ Ys )
     => ( prefix_list_nat @ Xs2 @ ( append_list_nat @ Ys @ Zs2 ) ) ) ).

% prefix_prefix
thf(fact_345_prefix__prefix,axiom,
    ! [Xs2: list_nat,Ys: list_nat,Zs2: list_nat] :
      ( ( prefix_nat @ Xs2 @ Ys )
     => ( prefix_nat @ Xs2 @ ( append_nat @ Ys @ Zs2 ) ) ) ).

% prefix_prefix
thf(fact_346_prefix__append,axiom,
    ! [Xs2: list_list_nat,Ys: list_list_nat,Zs2: list_list_nat] :
      ( ( prefix_list_nat @ Xs2 @ ( append_list_nat @ Ys @ Zs2 ) )
      = ( ( prefix_list_nat @ Xs2 @ Ys )
        | ? [Us2: list_list_nat] :
            ( ( Xs2
              = ( append_list_nat @ Ys @ Us2 ) )
            & ( prefix_list_nat @ Us2 @ Zs2 ) ) ) ) ).

% prefix_append
thf(fact_347_prefix__append,axiom,
    ! [Xs2: list_nat,Ys: list_nat,Zs2: list_nat] :
      ( ( prefix_nat @ Xs2 @ ( append_nat @ Ys @ Zs2 ) )
      = ( ( prefix_nat @ Xs2 @ Ys )
        | ? [Us2: list_nat] :
            ( ( Xs2
              = ( append_nat @ Ys @ Us2 ) )
            & ( prefix_nat @ Us2 @ Zs2 ) ) ) ) ).

% prefix_append
thf(fact_348_prefix__def,axiom,
    ( prefix_list_nat
    = ( ^ [Xs4: list_list_nat,Ys2: list_list_nat] :
        ? [Zs: list_list_nat] :
          ( Ys2
          = ( append_list_nat @ Xs4 @ Zs ) ) ) ) ).

% prefix_def
thf(fact_349_prefix__def,axiom,
    ( prefix_nat
    = ( ^ [Xs4: list_nat,Ys2: list_nat] :
        ? [Zs: list_nat] :
          ( Ys2
          = ( append_nat @ Xs4 @ Zs ) ) ) ) ).

% prefix_def
thf(fact_350_prefixI,axiom,
    ! [Ys: list_list_nat,Xs2: list_list_nat,Zs2: list_list_nat] :
      ( ( Ys
        = ( append_list_nat @ Xs2 @ Zs2 ) )
     => ( prefix_list_nat @ Xs2 @ Ys ) ) ).

% prefixI
thf(fact_351_prefixI,axiom,
    ! [Ys: list_nat,Xs2: list_nat,Zs2: list_nat] :
      ( ( Ys
        = ( append_nat @ Xs2 @ Zs2 ) )
     => ( prefix_nat @ Xs2 @ Ys ) ) ).

% prefixI
thf(fact_352_prefixE,axiom,
    ! [Xs2: list_list_nat,Ys: list_list_nat] :
      ( ( prefix_list_nat @ Xs2 @ Ys )
     => ~ ! [Zs3: list_list_nat] :
            ( Ys
           != ( append_list_nat @ Xs2 @ Zs3 ) ) ) ).

% prefixE
thf(fact_353_prefixE,axiom,
    ! [Xs2: list_nat,Ys: list_nat] :
      ( ( prefix_nat @ Xs2 @ Ys )
     => ~ ! [Zs3: list_nat] :
            ( Ys
           != ( append_nat @ Xs2 @ Zs3 ) ) ) ).

% prefixE
thf(fact_354_not__prefix__induct,axiom,
    ! [Ps: list_list_nat,Ls: list_list_nat,P: list_list_nat > list_list_nat > $o] :
      ( ~ ( prefix_list_nat @ Ps @ Ls )
     => ( ! [X2: list_nat,Xs: list_list_nat] : ( P @ ( cons_list_nat @ X2 @ Xs ) @ nil_list_nat )
       => ( ! [X2: list_nat,Xs: list_list_nat,Y: list_nat,Ys3: list_list_nat] :
              ( ( X2 != Y )
             => ( P @ ( cons_list_nat @ X2 @ Xs ) @ ( cons_list_nat @ Y @ Ys3 ) ) )
         => ( ! [X2: list_nat,Xs: list_list_nat,Y: list_nat,Ys3: list_list_nat] :
                ( ( X2 = Y )
               => ( ~ ( prefix_list_nat @ Xs @ Ys3 )
                 => ( ( P @ Xs @ Ys3 )
                   => ( P @ ( cons_list_nat @ X2 @ Xs ) @ ( cons_list_nat @ Y @ Ys3 ) ) ) ) )
           => ( P @ Ps @ Ls ) ) ) ) ) ).

% not_prefix_induct
thf(fact_355_not__prefix__induct,axiom,
    ! [Ps: list_nat,Ls: list_nat,P: list_nat > list_nat > $o] :
      ( ~ ( prefix_nat @ Ps @ Ls )
     => ( ! [X2: nat,Xs: list_nat] : ( P @ ( cons_nat @ X2 @ Xs ) @ nil_nat )
       => ( ! [X2: nat,Xs: list_nat,Y: nat,Ys3: list_nat] :
              ( ( X2 != Y )
             => ( P @ ( cons_nat @ X2 @ Xs ) @ ( cons_nat @ Y @ Ys3 ) ) )
         => ( ! [X2: nat,Xs: list_nat,Y: nat,Ys3: list_nat] :
                ( ( X2 = Y )
               => ( ~ ( prefix_nat @ Xs @ Ys3 )
                 => ( ( P @ Xs @ Ys3 )
                   => ( P @ ( cons_nat @ X2 @ Xs ) @ ( cons_nat @ Y @ Ys3 ) ) ) ) )
           => ( P @ Ps @ Ls ) ) ) ) ) ).

% not_prefix_induct
thf(fact_356_not__prefix__cases,axiom,
    ! [Ps: list_list_nat,Ls: list_list_nat] :
      ( ~ ( prefix_list_nat @ Ps @ Ls )
     => ( ( ( Ps != nil_list_nat )
         => ( Ls != nil_list_nat ) )
       => ( ! [A3: list_nat,As: list_list_nat] :
              ( ( Ps
                = ( cons_list_nat @ A3 @ As ) )
             => ! [X2: list_nat,Xs: list_list_nat] :
                  ( ( Ls
                    = ( cons_list_nat @ X2 @ Xs ) )
                 => ( ( X2 = A3 )
                   => ( prefix_list_nat @ As @ Xs ) ) ) )
         => ~ ! [A3: list_nat] :
                ( ? [As: list_list_nat] :
                    ( Ps
                    = ( cons_list_nat @ A3 @ As ) )
               => ! [X2: list_nat] :
                    ( ? [Xs: list_list_nat] :
                        ( Ls
                        = ( cons_list_nat @ X2 @ Xs ) )
                   => ( X2 = A3 ) ) ) ) ) ) ).

% not_prefix_cases
thf(fact_357_not__prefix__cases,axiom,
    ! [Ps: list_nat,Ls: list_nat] :
      ( ~ ( prefix_nat @ Ps @ Ls )
     => ( ( ( Ps != nil_nat )
         => ( Ls != nil_nat ) )
       => ( ! [A3: nat,As: list_nat] :
              ( ( Ps
                = ( cons_nat @ A3 @ As ) )
             => ! [X2: nat,Xs: list_nat] :
                  ( ( Ls
                    = ( cons_nat @ X2 @ Xs ) )
                 => ( ( X2 = A3 )
                   => ( prefix_nat @ As @ Xs ) ) ) )
         => ~ ! [A3: nat] :
                ( ? [As: list_nat] :
                    ( Ps
                    = ( cons_nat @ A3 @ As ) )
               => ! [X2: nat] :
                    ( ? [Xs: list_nat] :
                        ( Ls
                        = ( cons_nat @ X2 @ Xs ) )
                   => ( X2 = A3 ) ) ) ) ) ) ).

% not_prefix_cases
thf(fact_358_prefix__Cons,axiom,
    ! [Xs2: list_list_nat,Y3: list_nat,Ys: list_list_nat] :
      ( ( prefix_list_nat @ Xs2 @ ( cons_list_nat @ Y3 @ Ys ) )
      = ( ( Xs2 = nil_list_nat )
        | ? [Zs: list_list_nat] :
            ( ( Xs2
              = ( cons_list_nat @ Y3 @ Zs ) )
            & ( prefix_list_nat @ Zs @ Ys ) ) ) ) ).

% prefix_Cons
thf(fact_359_prefix__Cons,axiom,
    ! [Xs2: list_nat,Y3: nat,Ys: list_nat] :
      ( ( prefix_nat @ Xs2 @ ( cons_nat @ Y3 @ Ys ) )
      = ( ( Xs2 = nil_nat )
        | ? [Zs: list_nat] :
            ( ( Xs2
              = ( cons_nat @ Y3 @ Zs ) )
            & ( prefix_nat @ Zs @ Ys ) ) ) ) ).

% prefix_Cons
thf(fact_360_prefix__code_I2_J,axiom,
    ! [X: list_nat,Xs2: list_list_nat] :
      ~ ( prefix_list_nat @ ( cons_list_nat @ X @ Xs2 ) @ nil_list_nat ) ).

% prefix_code(2)
thf(fact_361_prefix__code_I2_J,axiom,
    ! [X: nat,Xs2: list_nat] :
      ~ ( prefix_nat @ ( cons_nat @ X @ Xs2 ) @ nil_nat ) ).

% prefix_code(2)
thf(fact_362_set__mono__prefix,axiom,
    ! [Xs2: list_list_nat,Ys: list_list_nat] :
      ( ( prefix_list_nat @ Xs2 @ Ys )
     => ( ord_le6045566169113846134st_nat @ ( set_list_nat2 @ Xs2 ) @ ( set_list_nat2 @ Ys ) ) ) ).

% set_mono_prefix
thf(fact_363_set__mono__prefix,axiom,
    ! [Xs2: list_nat,Ys: list_nat] :
      ( ( prefix_nat @ Xs2 @ Ys )
     => ( ord_less_eq_set_nat @ ( set_nat2 @ Xs2 ) @ ( set_nat2 @ Ys ) ) ) ).

% set_mono_prefix
thf(fact_364_list__bind__cong,axiom,
    ! [Xs2: list_nat,Ys: list_nat,F: nat > list_nat,G2: nat > list_nat] :
      ( ( Xs2 = Ys )
     => ( ! [X2: nat] :
            ( ( member_nat @ X2 @ ( set_nat2 @ Xs2 ) )
           => ( ( F @ X2 )
              = ( G2 @ X2 ) ) )
       => ( ( bind_nat_nat @ Xs2 @ F )
          = ( bind_nat_nat @ Ys @ G2 ) ) ) ) ).

% list_bind_cong
thf(fact_365_maps__simps_I2_J,axiom,
    ! [F: nat > list_list_nat] :
      ( ( maps_nat_list_nat @ F @ nil_nat )
      = nil_list_nat ) ).

% maps_simps(2)
thf(fact_366_maps__simps_I2_J,axiom,
    ! [F: list_nat > list_nat] :
      ( ( maps_list_nat_nat @ F @ nil_list_nat )
      = nil_nat ) ).

% maps_simps(2)
thf(fact_367_maps__simps_I2_J,axiom,
    ! [F: list_nat > list_list_nat] :
      ( ( maps_l5785965478274863235st_nat @ F @ nil_list_nat )
      = nil_list_nat ) ).

% maps_simps(2)
thf(fact_368_maps__simps_I2_J,axiom,
    ! [F: nat > list_nat] :
      ( ( maps_nat_nat @ F @ nil_nat )
      = nil_nat ) ).

% maps_simps(2)
thf(fact_369_Collect__mono__iff,axiom,
    ! [P: nat > $o,Q: nat > $o] :
      ( ( ord_less_eq_set_nat @ ( collect_nat @ P ) @ ( collect_nat @ Q ) )
      = ( ! [X4: nat] :
            ( ( P @ X4 )
           => ( Q @ X4 ) ) ) ) ).

% Collect_mono_iff
thf(fact_370_Collect__mono__iff,axiom,
    ! [P: list_nat > $o,Q: list_nat > $o] :
      ( ( ord_le6045566169113846134st_nat @ ( collect_list_nat @ P ) @ ( collect_list_nat @ Q ) )
      = ( ! [X4: list_nat] :
            ( ( P @ X4 )
           => ( Q @ X4 ) ) ) ) ).

% Collect_mono_iff
thf(fact_371_set__eq__subset,axiom,
    ( ( ^ [Y4: set_nat,Z: set_nat] : ( Y4 = Z ) )
    = ( ^ [A5: set_nat,B5: set_nat] :
          ( ( ord_less_eq_set_nat @ A5 @ B5 )
          & ( ord_less_eq_set_nat @ B5 @ A5 ) ) ) ) ).

% set_eq_subset
thf(fact_372_set__eq__subset,axiom,
    ( ( ^ [Y4: set_list_nat,Z: set_list_nat] : ( Y4 = Z ) )
    = ( ^ [A5: set_list_nat,B5: set_list_nat] :
          ( ( ord_le6045566169113846134st_nat @ A5 @ B5 )
          & ( ord_le6045566169113846134st_nat @ B5 @ A5 ) ) ) ) ).

% set_eq_subset
thf(fact_373_subset__trans,axiom,
    ! [A4: set_nat,B4: set_nat,C2: set_nat] :
      ( ( ord_less_eq_set_nat @ A4 @ B4 )
     => ( ( ord_less_eq_set_nat @ B4 @ C2 )
       => ( ord_less_eq_set_nat @ A4 @ C2 ) ) ) ).

% subset_trans
thf(fact_374_subset__trans,axiom,
    ! [A4: set_list_nat,B4: set_list_nat,C2: set_list_nat] :
      ( ( ord_le6045566169113846134st_nat @ A4 @ B4 )
     => ( ( ord_le6045566169113846134st_nat @ B4 @ C2 )
       => ( ord_le6045566169113846134st_nat @ A4 @ C2 ) ) ) ).

% subset_trans
thf(fact_375_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_376_Collect__mono,axiom,
    ! [P: list_nat > $o,Q: list_nat > $o] :
      ( ! [X2: list_nat] :
          ( ( P @ X2 )
         => ( Q @ X2 ) )
     => ( ord_le6045566169113846134st_nat @ ( collect_list_nat @ P ) @ ( collect_list_nat @ Q ) ) ) ).

% Collect_mono
thf(fact_377_subset__refl,axiom,
    ! [A4: set_nat] : ( ord_less_eq_set_nat @ A4 @ A4 ) ).

% subset_refl
thf(fact_378_subset__refl,axiom,
    ! [A4: set_list_nat] : ( ord_le6045566169113846134st_nat @ A4 @ A4 ) ).

% subset_refl
thf(fact_379_subset__iff,axiom,
    ( ord_le6893508408891458716et_nat
    = ( ^ [A5: set_set_nat,B5: set_set_nat] :
        ! [T: set_nat] :
          ( ( member_set_nat @ T @ A5 )
         => ( member_set_nat @ T @ B5 ) ) ) ) ).

% subset_iff
thf(fact_380_subset__iff,axiom,
    ( ord_less_eq_set_nat
    = ( ^ [A5: set_nat,B5: set_nat] :
        ! [T: nat] :
          ( ( member_nat @ T @ A5 )
         => ( member_nat @ T @ B5 ) ) ) ) ).

% subset_iff
thf(fact_381_subset__iff,axiom,
    ( ord_le6045566169113846134st_nat
    = ( ^ [A5: set_list_nat,B5: set_list_nat] :
        ! [T: list_nat] :
          ( ( member_list_nat @ T @ A5 )
         => ( member_list_nat @ T @ B5 ) ) ) ) ).

% subset_iff
thf(fact_382_equalityD2,axiom,
    ! [A4: set_nat,B4: set_nat] :
      ( ( A4 = B4 )
     => ( ord_less_eq_set_nat @ B4 @ A4 ) ) ).

% equalityD2
thf(fact_383_equalityD2,axiom,
    ! [A4: set_list_nat,B4: set_list_nat] :
      ( ( A4 = B4 )
     => ( ord_le6045566169113846134st_nat @ B4 @ A4 ) ) ).

% equalityD2
thf(fact_384_equalityD1,axiom,
    ! [A4: set_nat,B4: set_nat] :
      ( ( A4 = B4 )
     => ( ord_less_eq_set_nat @ A4 @ B4 ) ) ).

% equalityD1
thf(fact_385_equalityD1,axiom,
    ! [A4: set_list_nat,B4: set_list_nat] :
      ( ( A4 = B4 )
     => ( ord_le6045566169113846134st_nat @ A4 @ B4 ) ) ).

% equalityD1
thf(fact_386_subset__eq,axiom,
    ( ord_le6893508408891458716et_nat
    = ( ^ [A5: set_set_nat,B5: set_set_nat] :
        ! [X4: set_nat] :
          ( ( member_set_nat @ X4 @ A5 )
         => ( member_set_nat @ X4 @ B5 ) ) ) ) ).

% subset_eq
thf(fact_387_subset__eq,axiom,
    ( ord_less_eq_set_nat
    = ( ^ [A5: set_nat,B5: set_nat] :
        ! [X4: nat] :
          ( ( member_nat @ X4 @ A5 )
         => ( member_nat @ X4 @ B5 ) ) ) ) ).

% subset_eq
thf(fact_388_subset__eq,axiom,
    ( ord_le6045566169113846134st_nat
    = ( ^ [A5: set_list_nat,B5: set_list_nat] :
        ! [X4: list_nat] :
          ( ( member_list_nat @ X4 @ A5 )
         => ( member_list_nat @ X4 @ B5 ) ) ) ) ).

% subset_eq
thf(fact_389_equalityE,axiom,
    ! [A4: set_nat,B4: set_nat] :
      ( ( A4 = B4 )
     => ~ ( ( ord_less_eq_set_nat @ A4 @ B4 )
         => ~ ( ord_less_eq_set_nat @ B4 @ A4 ) ) ) ).

% equalityE
thf(fact_390_equalityE,axiom,
    ! [A4: set_list_nat,B4: set_list_nat] :
      ( ( A4 = B4 )
     => ~ ( ( ord_le6045566169113846134st_nat @ A4 @ B4 )
         => ~ ( ord_le6045566169113846134st_nat @ B4 @ A4 ) ) ) ).

% equalityE
thf(fact_391_subsetD,axiom,
    ! [A4: set_set_nat,B4: set_set_nat,C: set_nat] :
      ( ( ord_le6893508408891458716et_nat @ A4 @ B4 )
     => ( ( member_set_nat @ C @ A4 )
       => ( member_set_nat @ C @ B4 ) ) ) ).

% subsetD
thf(fact_392_subsetD,axiom,
    ! [A4: set_nat,B4: set_nat,C: nat] :
      ( ( ord_less_eq_set_nat @ A4 @ B4 )
     => ( ( member_nat @ C @ A4 )
       => ( member_nat @ C @ B4 ) ) ) ).

% subsetD
thf(fact_393_subsetD,axiom,
    ! [A4: set_list_nat,B4: set_list_nat,C: list_nat] :
      ( ( ord_le6045566169113846134st_nat @ A4 @ B4 )
     => ( ( member_list_nat @ C @ A4 )
       => ( member_list_nat @ C @ B4 ) ) ) ).

% subsetD
thf(fact_394_in__mono,axiom,
    ! [A4: set_set_nat,B4: set_set_nat,X: set_nat] :
      ( ( ord_le6893508408891458716et_nat @ A4 @ B4 )
     => ( ( member_set_nat @ X @ A4 )
       => ( member_set_nat @ X @ B4 ) ) ) ).

% in_mono
thf(fact_395_in__mono,axiom,
    ! [A4: set_nat,B4: set_nat,X: nat] :
      ( ( ord_less_eq_set_nat @ A4 @ B4 )
     => ( ( member_nat @ X @ A4 )
       => ( member_nat @ X @ B4 ) ) ) ).

% in_mono
thf(fact_396_in__mono,axiom,
    ! [A4: set_list_nat,B4: set_list_nat,X: list_nat] :
      ( ( ord_le6045566169113846134st_nat @ A4 @ B4 )
     => ( ( member_list_nat @ X @ A4 )
       => ( member_list_nat @ X @ B4 ) ) ) ).

% in_mono
thf(fact_397_subset__code_I2_J,axiom,
    ! [A4: set_set_nat,Ys: list_set_nat] :
      ( ( ord_le6893508408891458716et_nat @ A4 @ ( coset_set_nat @ Ys ) )
      = ( ! [X4: set_nat] :
            ( ( member_set_nat @ X4 @ ( set_set_nat2 @ Ys ) )
           => ~ ( member_set_nat @ X4 @ A4 ) ) ) ) ).

% subset_code(2)
thf(fact_398_subset__code_I2_J,axiom,
    ! [A4: set_list_nat,Ys: list_list_nat] :
      ( ( ord_le6045566169113846134st_nat @ A4 @ ( coset_list_nat @ Ys ) )
      = ( ! [X4: list_nat] :
            ( ( member_list_nat @ X4 @ ( set_list_nat2 @ Ys ) )
           => ~ ( member_list_nat @ X4 @ A4 ) ) ) ) ).

% subset_code(2)
thf(fact_399_subset__code_I2_J,axiom,
    ! [A4: set_nat,Ys: list_nat] :
      ( ( ord_less_eq_set_nat @ A4 @ ( coset_nat @ Ys ) )
      = ( ! [X4: nat] :
            ( ( member_nat @ X4 @ ( set_nat2 @ Ys ) )
           => ~ ( member_nat @ X4 @ A4 ) ) ) ) ).

% subset_code(2)
thf(fact_400_List_Oinsert__def,axiom,
    ( insert_set_nat
    = ( ^ [X4: set_nat,Xs4: list_set_nat] : ( if_list_set_nat @ ( member_set_nat @ X4 @ ( set_set_nat2 @ Xs4 ) ) @ Xs4 @ ( cons_set_nat @ X4 @ Xs4 ) ) ) ) ).

% List.insert_def
thf(fact_401_List_Oinsert__def,axiom,
    ( insert_list_nat
    = ( ^ [X4: list_nat,Xs4: list_list_nat] : ( if_list_list_nat @ ( member_list_nat @ X4 @ ( set_list_nat2 @ Xs4 ) ) @ Xs4 @ ( cons_list_nat @ X4 @ Xs4 ) ) ) ) ).

% List.insert_def
thf(fact_402_List_Oinsert__def,axiom,
    ( insert_nat
    = ( ^ [X4: nat,Xs4: list_nat] : ( if_list_nat @ ( member_nat @ X4 @ ( set_nat2 @ Xs4 ) ) @ Xs4 @ ( cons_nat @ X4 @ Xs4 ) ) ) ) ).

% List.insert_def
thf(fact_403_prefixes__snoc,axiom,
    ! [Xs2: list_list_nat,X: list_nat] :
      ( ( prefixes_list_nat @ ( append_list_nat @ Xs2 @ ( cons_list_nat @ X @ nil_list_nat ) ) )
      = ( append_list_list_nat @ ( prefixes_list_nat @ Xs2 ) @ ( cons_list_list_nat @ ( append_list_nat @ Xs2 @ ( cons_list_nat @ X @ nil_list_nat ) ) @ nil_list_list_nat ) ) ) ).

% prefixes_snoc
thf(fact_404_prefixes__snoc,axiom,
    ! [Xs2: list_nat,X: nat] :
      ( ( prefixes_nat @ ( append_nat @ Xs2 @ ( cons_nat @ X @ nil_nat ) ) )
      = ( append_list_nat @ ( prefixes_nat @ Xs2 ) @ ( cons_list_nat @ ( append_nat @ Xs2 @ ( cons_nat @ X @ nil_nat ) ) @ nil_list_nat ) ) ) ).

% prefixes_snoc
thf(fact_405_prefixes__eq__snoc,axiom,
    ! [Ys: list_list_nat,Xs2: list_list_list_nat,X: list_list_nat] :
      ( ( ( prefixes_list_nat @ Ys )
        = ( append_list_list_nat @ Xs2 @ ( cons_list_list_nat @ X @ nil_list_list_nat ) ) )
      = ( ( ( ( Ys = nil_list_nat )
            & ( Xs2 = nil_list_list_nat ) )
          | ? [Z3: list_nat,Zs: list_list_nat] :
              ( ( Ys
                = ( append_list_nat @ Zs @ ( cons_list_nat @ Z3 @ nil_list_nat ) ) )
              & ( Xs2
                = ( prefixes_list_nat @ Zs ) ) ) )
        & ( X = Ys ) ) ) ).

% prefixes_eq_snoc
thf(fact_406_prefixes__eq__snoc,axiom,
    ! [Ys: list_nat,Xs2: list_list_nat,X: list_nat] :
      ( ( ( prefixes_nat @ Ys )
        = ( append_list_nat @ Xs2 @ ( cons_list_nat @ X @ nil_list_nat ) ) )
      = ( ( ( ( Ys = nil_nat )
            & ( Xs2 = nil_list_nat ) )
          | ? [Z3: nat,Zs: list_nat] :
              ( ( Ys
                = ( append_nat @ Zs @ ( cons_nat @ Z3 @ nil_nat ) ) )
              & ( Xs2
                = ( prefixes_nat @ Zs ) ) ) )
        & ( X = Ys ) ) ) ).

% prefixes_eq_snoc
thf(fact_407_sublists_Osimps_I1_J,axiom,
    ( ( sublists_list_nat @ nil_list_nat )
    = ( cons_list_list_nat @ nil_list_nat @ nil_list_list_nat ) ) ).

% sublists.simps(1)
thf(fact_408_sublists_Osimps_I1_J,axiom,
    ( ( sublists_nat @ nil_nat )
    = ( cons_list_nat @ nil_nat @ nil_list_nat ) ) ).

% sublists.simps(1)
thf(fact_409_product__lists_Osimps_I1_J,axiom,
    ( ( produc6783906451316923569st_nat @ nil_list_list_nat )
    = ( cons_list_list_nat @ nil_list_nat @ nil_list_list_nat ) ) ).

% product_lists.simps(1)
thf(fact_410_product__lists_Osimps_I1_J,axiom,
    ( ( product_lists_nat @ nil_list_nat )
    = ( cons_list_nat @ nil_nat @ nil_list_nat ) ) ).

% product_lists.simps(1)
thf(fact_411_remove__code_I2_J,axiom,
    ! [X: nat,Xs2: list_nat] :
      ( ( remove_nat @ X @ ( coset_nat @ Xs2 ) )
      = ( coset_nat @ ( insert_nat @ X @ Xs2 ) ) ) ).

% remove_code(2)
thf(fact_412_suffixes__eq__snoc,axiom,
    ! [Ys: list_list_nat,Xs2: list_list_list_nat,X: list_list_nat] :
      ( ( ( suffixes_list_nat @ Ys )
        = ( append_list_list_nat @ Xs2 @ ( cons_list_list_nat @ X @ nil_list_list_nat ) ) )
      = ( ( ( ( Ys = nil_list_nat )
            & ( Xs2 = nil_list_list_nat ) )
          | ? [Z3: list_nat,Zs: list_list_nat] :
              ( ( Ys
                = ( cons_list_nat @ Z3 @ Zs ) )
              & ( Xs2
                = ( suffixes_list_nat @ Zs ) ) ) )
        & ( X = Ys ) ) ) ).

% suffixes_eq_snoc
thf(fact_413_suffixes__eq__snoc,axiom,
    ! [Ys: list_nat,Xs2: list_list_nat,X: list_nat] :
      ( ( ( suffixes_nat @ Ys )
        = ( append_list_nat @ Xs2 @ ( cons_list_nat @ X @ nil_list_nat ) ) )
      = ( ( ( ( Ys = nil_nat )
            & ( Xs2 = nil_list_nat ) )
          | ? [Z3: nat,Zs: list_nat] :
              ( ( Ys
                = ( cons_nat @ Z3 @ Zs ) )
              & ( Xs2
                = ( suffixes_nat @ Zs ) ) ) )
        & ( X = Ys ) ) ) ).

% suffixes_eq_snoc
thf(fact_414_subseqs_Osimps_I1_J,axiom,
    ( ( subseqs_list_nat @ nil_list_nat )
    = ( cons_list_list_nat @ nil_list_nat @ nil_list_list_nat ) ) ).

% subseqs.simps(1)
thf(fact_415_subseqs_Osimps_I1_J,axiom,
    ( ( subseqs_nat @ nil_nat )
    = ( cons_list_nat @ nil_nat @ nil_list_nat ) ) ).

% subseqs.simps(1)
thf(fact_416_prefix__bot_Omin__bot2,axiom,
    ! [X: list_list_nat] :
      ( ( min_list_list_nat @ prefix_list_nat @ X @ nil_list_nat )
      = nil_list_nat ) ).

% prefix_bot.min_bot2
thf(fact_417_prefix__bot_Omin__bot2,axiom,
    ! [X: list_nat] :
      ( ( min_list_nat2 @ prefix_nat @ X @ nil_nat )
      = nil_nat ) ).

% prefix_bot.min_bot2
thf(fact_418_prefix__bot_Omax__bot2,axiom,
    ! [X: list_list_nat] :
      ( ( max_list_list_nat @ prefix_list_nat @ X @ nil_list_nat )
      = X ) ).

% prefix_bot.max_bot2
thf(fact_419_prefix__bot_Omax__bot2,axiom,
    ! [X: list_nat] :
      ( ( max_list_nat @ prefix_nat @ X @ nil_nat )
      = X ) ).

% prefix_bot.max_bot2
thf(fact_420_member__remove,axiom,
    ! [X: nat,Y3: nat,A4: set_nat] :
      ( ( member_nat @ X @ ( remove_nat @ Y3 @ A4 ) )
      = ( ( member_nat @ X @ A4 )
        & ( X != Y3 ) ) ) ).

% member_remove
thf(fact_421_member__remove,axiom,
    ! [X: list_nat,Y3: list_nat,A4: set_list_nat] :
      ( ( member_list_nat @ X @ ( remove_list_nat @ Y3 @ A4 ) )
      = ( ( member_list_nat @ X @ A4 )
        & ( X != Y3 ) ) ) ).

% member_remove
thf(fact_422_member__remove,axiom,
    ! [X: set_nat,Y3: set_nat,A4: set_set_nat] :
      ( ( member_set_nat @ X @ ( remove_set_nat @ Y3 @ A4 ) )
      = ( ( member_set_nat @ X @ A4 )
        & ( X != Y3 ) ) ) ).

% member_remove
thf(fact_423_in__set__prefixes,axiom,
    ! [Xs2: list_nat,Ys: list_nat] :
      ( ( member_list_nat @ Xs2 @ ( set_list_nat2 @ ( prefixes_nat @ Ys ) ) )
      = ( prefix_nat @ Xs2 @ Ys ) ) ).

% in_set_prefixes
thf(fact_424_prefix__bot_Omax__bot,axiom,
    ! [X: list_list_nat] :
      ( ( max_list_list_nat @ prefix_list_nat @ nil_list_nat @ X )
      = X ) ).

% prefix_bot.max_bot
thf(fact_425_prefix__bot_Omax__bot,axiom,
    ! [X: list_nat] :
      ( ( max_list_nat @ prefix_nat @ nil_nat @ X )
      = X ) ).

% prefix_bot.max_bot
thf(fact_426_prefix__bot_Omin__bot,axiom,
    ! [X: list_list_nat] :
      ( ( min_list_list_nat @ prefix_list_nat @ nil_list_nat @ X )
      = nil_list_nat ) ).

% prefix_bot.min_bot
thf(fact_427_prefix__bot_Omin__bot,axiom,
    ! [X: list_nat] :
      ( ( min_list_nat2 @ prefix_nat @ nil_nat @ X )
      = nil_nat ) ).

% prefix_bot.min_bot
thf(fact_428_subseqs__refl,axiom,
    ! [Xs2: list_nat] : ( member_list_nat @ Xs2 @ ( set_list_nat2 @ ( subseqs_nat @ Xs2 ) ) ) ).

% subseqs_refl
thf(fact_429_ord_Omax__def,axiom,
    ( max_list_nat
    = ( ^ [Less_eq: list_nat > list_nat > $o,A2: list_nat,B2: list_nat] : ( if_list_nat @ ( Less_eq @ A2 @ B2 ) @ B2 @ A2 ) ) ) ).

% ord.max_def
thf(fact_430_ord_Omin__def,axiom,
    ( min_list_nat2
    = ( ^ [Less_eq: list_nat > list_nat > $o,A2: list_nat,B2: list_nat] : ( if_list_nat @ ( Less_eq @ A2 @ B2 ) @ A2 @ B2 ) ) ) ).

% ord.min_def
thf(fact_431_ord_Omax_Ocong,axiom,
    max_list_nat = max_list_nat ).

% ord.max.cong
thf(fact_432_ord_Omin_Ocong,axiom,
    min_list_nat2 = min_list_nat2 ).

% ord.min.cong
thf(fact_433_prefixes__not__Nil,axiom,
    ! [Xs2: list_nat] :
      ( ( prefixes_nat @ Xs2 )
     != nil_list_nat ) ).

% prefixes_not_Nil
thf(fact_434_suffixes__not__Nil,axiom,
    ! [Xs2: list_nat] :
      ( ( suffixes_nat @ Xs2 )
     != nil_list_nat ) ).

% suffixes_not_Nil
thf(fact_435_Cons__in__subseqsD,axiom,
    ! [Y3: list_nat,Ys: list_list_nat,Xs2: list_list_nat] :
      ( ( member_list_list_nat @ ( cons_list_nat @ Y3 @ Ys ) @ ( set_list_list_nat2 @ ( subseqs_list_nat @ Xs2 ) ) )
     => ( member_list_list_nat @ Ys @ ( set_list_list_nat2 @ ( subseqs_list_nat @ Xs2 ) ) ) ) ).

% Cons_in_subseqsD
thf(fact_436_Cons__in__subseqsD,axiom,
    ! [Y3: nat,Ys: list_nat,Xs2: list_nat] :
      ( ( member_list_nat @ ( cons_nat @ Y3 @ Ys ) @ ( set_list_nat2 @ ( subseqs_nat @ Xs2 ) ) )
     => ( member_list_nat @ Ys @ ( set_list_nat2 @ ( subseqs_nat @ Xs2 ) ) ) ) ).

% Cons_in_subseqsD
thf(fact_437_prefix__order_Omax__def,axiom,
    ! [A: list_nat,B: list_nat] :
      ( ( ( prefix_nat @ A @ B )
       => ( ( max_list_nat @ prefix_nat @ A @ B )
          = B ) )
      & ( ~ ( prefix_nat @ A @ B )
       => ( ( max_list_nat @ prefix_nat @ A @ B )
          = A ) ) ) ).

% prefix_order.max_def
thf(fact_438_prefix__order_Omin__def,axiom,
    ! [A: list_nat,B: list_nat] :
      ( ( ( prefix_nat @ A @ B )
       => ( ( min_list_nat2 @ prefix_nat @ A @ B )
          = A ) )
      & ( ~ ( prefix_nat @ A @ B )
       => ( ( min_list_nat2 @ prefix_nat @ A @ B )
          = B ) ) ) ).

% prefix_order.min_def
thf(fact_439_prefixes_Osimps_I1_J,axiom,
    ( ( prefixes_list_nat @ nil_list_nat )
    = ( cons_list_list_nat @ nil_list_nat @ nil_list_list_nat ) ) ).

% prefixes.simps(1)
thf(fact_440_prefixes_Osimps_I1_J,axiom,
    ( ( prefixes_nat @ nil_nat )
    = ( cons_list_nat @ nil_nat @ nil_list_nat ) ) ).

% prefixes.simps(1)
thf(fact_441_suffixes_Osimps_I2_J,axiom,
    ! [X: list_nat,Xs2: list_list_nat] :
      ( ( suffixes_list_nat @ ( cons_list_nat @ X @ Xs2 ) )
      = ( append_list_list_nat @ ( suffixes_list_nat @ Xs2 ) @ ( cons_list_list_nat @ ( cons_list_nat @ X @ Xs2 ) @ nil_list_list_nat ) ) ) ).

% suffixes.simps(2)
thf(fact_442_suffixes_Osimps_I2_J,axiom,
    ! [X: nat,Xs2: list_nat] :
      ( ( suffixes_nat @ ( cons_nat @ X @ Xs2 ) )
      = ( append_list_nat @ ( suffixes_nat @ Xs2 ) @ ( cons_list_nat @ ( cons_nat @ X @ Xs2 ) @ nil_list_nat ) ) ) ).

% suffixes.simps(2)
thf(fact_443_suffixes_Osimps_I1_J,axiom,
    ( ( suffixes_list_nat @ nil_list_nat )
    = ( cons_list_list_nat @ nil_list_nat @ nil_list_list_nat ) ) ).

% suffixes.simps(1)
thf(fact_444_suffixes_Osimps_I1_J,axiom,
    ( ( suffixes_nat @ nil_nat )
    = ( cons_list_nat @ nil_nat @ nil_list_nat ) ) ).

% suffixes.simps(1)
thf(fact_445_concat__eq__append__conv,axiom,
    ! [Xss2: list_list_list_nat,Ys: list_list_nat,Zs2: list_list_nat] :
      ( ( ( concat_list_nat @ Xss2 )
        = ( append_list_nat @ Ys @ Zs2 ) )
      = ( ( ( Xss2 = nil_list_list_nat )
         => ( ( Ys = nil_list_nat )
            & ( Zs2 = nil_list_nat ) ) )
        & ( ( Xss2 != nil_list_list_nat )
         => ? [Xss1: list_list_list_nat,Xs4: list_list_nat,Xs5: list_list_nat,Xss22: list_list_list_nat] :
              ( ( Xss2
                = ( append_list_list_nat @ Xss1 @ ( cons_list_list_nat @ ( append_list_nat @ Xs4 @ Xs5 ) @ Xss22 ) ) )
              & ( Ys
                = ( append_list_nat @ ( concat_list_nat @ Xss1 ) @ Xs4 ) )
              & ( Zs2
                = ( append_list_nat @ Xs5 @ ( concat_list_nat @ Xss22 ) ) ) ) ) ) ) ).

% concat_eq_append_conv
thf(fact_446_concat__eq__append__conv,axiom,
    ! [Xss2: list_list_nat,Ys: list_nat,Zs2: list_nat] :
      ( ( ( concat_nat @ Xss2 )
        = ( append_nat @ Ys @ Zs2 ) )
      = ( ( ( Xss2 = nil_list_nat )
         => ( ( Ys = nil_nat )
            & ( Zs2 = nil_nat ) ) )
        & ( ( Xss2 != nil_list_nat )
         => ? [Xss1: list_list_nat,Xs4: list_nat,Xs5: list_nat,Xss22: list_list_nat] :
              ( ( Xss2
                = ( append_list_nat @ Xss1 @ ( cons_list_nat @ ( append_nat @ Xs4 @ Xs5 ) @ Xss22 ) ) )
              & ( Ys
                = ( append_nat @ ( concat_nat @ Xss1 ) @ Xs4 ) )
              & ( Zs2
                = ( append_nat @ Xs5 @ ( concat_nat @ Xss22 ) ) ) ) ) ) ) ).

% concat_eq_append_conv
thf(fact_447_concat__eq__appendD,axiom,
    ! [Xss2: list_list_list_nat,Ys: list_list_nat,Zs2: list_list_nat] :
      ( ( ( concat_list_nat @ Xss2 )
        = ( append_list_nat @ Ys @ Zs2 ) )
     => ( ( Xss2 != nil_list_list_nat )
       => ? [Xss12: list_list_list_nat,Xs: list_list_nat,Xs6: list_list_nat,Xss23: list_list_list_nat] :
            ( ( Xss2
              = ( append_list_list_nat @ Xss12 @ ( cons_list_list_nat @ ( append_list_nat @ Xs @ Xs6 ) @ Xss23 ) ) )
            & ( Ys
              = ( append_list_nat @ ( concat_list_nat @ Xss12 ) @ Xs ) )
            & ( Zs2
              = ( append_list_nat @ Xs6 @ ( concat_list_nat @ Xss23 ) ) ) ) ) ) ).

% concat_eq_appendD
thf(fact_448_concat__eq__appendD,axiom,
    ! [Xss2: list_list_nat,Ys: list_nat,Zs2: list_nat] :
      ( ( ( concat_nat @ Xss2 )
        = ( append_nat @ Ys @ Zs2 ) )
     => ( ( Xss2 != nil_list_nat )
       => ? [Xss12: list_list_nat,Xs: list_nat,Xs6: list_nat,Xss23: list_list_nat] :
            ( ( Xss2
              = ( append_list_nat @ Xss12 @ ( cons_list_nat @ ( append_nat @ Xs @ Xs6 ) @ Xss23 ) ) )
            & ( Ys
              = ( append_nat @ ( concat_nat @ Xss12 ) @ Xs ) )
            & ( Zs2
              = ( append_nat @ Xs6 @ ( concat_nat @ Xss23 ) ) ) ) ) ) ).

% concat_eq_appendD
thf(fact_449_list__ex1__simps_I1_J,axiom,
    ! [P: list_nat > $o] :
      ~ ( list_ex1_list_nat @ P @ nil_list_nat ) ).

% list_ex1_simps(1)
thf(fact_450_list__ex1__simps_I1_J,axiom,
    ! [P: nat > $o] :
      ~ ( list_ex1_nat @ P @ nil_nat ) ).

% list_ex1_simps(1)
thf(fact_451_butlast__snoc,axiom,
    ! [Xs2: list_list_nat,X: list_nat] :
      ( ( butlast_list_nat @ ( append_list_nat @ Xs2 @ ( cons_list_nat @ X @ nil_list_nat ) ) )
      = Xs2 ) ).

% butlast_snoc
thf(fact_452_butlast__snoc,axiom,
    ! [Xs2: list_nat,X: nat] :
      ( ( butlast_nat @ ( append_nat @ Xs2 @ ( cons_nat @ X @ nil_nat ) ) )
      = Xs2 ) ).

% butlast_snoc
thf(fact_453_sublists_Osimps_I2_J,axiom,
    ! [X: list_nat,Xs2: list_list_nat] :
      ( ( sublists_list_nat @ ( cons_list_nat @ X @ Xs2 ) )
      = ( append_list_list_nat @ ( sublists_list_nat @ Xs2 ) @ ( map_li2855073862107769254st_nat @ ( cons_list_nat @ X ) @ ( prefixes_list_nat @ Xs2 ) ) ) ) ).

% sublists.simps(2)
thf(fact_454_sublists_Osimps_I2_J,axiom,
    ! [X: nat,Xs2: list_nat] :
      ( ( sublists_nat @ ( cons_nat @ X @ Xs2 ) )
      = ( append_list_nat @ ( sublists_nat @ Xs2 ) @ ( map_li7225945977422193158st_nat @ ( cons_nat @ X ) @ ( prefixes_nat @ Xs2 ) ) ) ) ).

% sublists.simps(2)
thf(fact_455_last__snoc,axiom,
    ! [Xs2: list_list_nat,X: list_nat] :
      ( ( last_list_nat @ ( append_list_nat @ Xs2 @ ( cons_list_nat @ X @ nil_list_nat ) ) )
      = X ) ).

% last_snoc
thf(fact_456_last__snoc,axiom,
    ! [Xs2: list_nat,X: nat] :
      ( ( last_nat @ ( append_nat @ Xs2 @ ( cons_nat @ X @ nil_nat ) ) )
      = X ) ).

% last_snoc
thf(fact_457_rotate1_Osimps_I2_J,axiom,
    ! [X: list_nat,Xs2: list_list_nat] :
      ( ( rotate1_list_nat @ ( cons_list_nat @ X @ Xs2 ) )
      = ( append_list_nat @ Xs2 @ ( cons_list_nat @ X @ nil_list_nat ) ) ) ).

% rotate1.simps(2)
thf(fact_458_rotate1_Osimps_I2_J,axiom,
    ! [X: nat,Xs2: list_nat] :
      ( ( rotate1_nat @ ( cons_nat @ X @ Xs2 ) )
      = ( append_nat @ Xs2 @ ( cons_nat @ X @ nil_nat ) ) ) ).

% rotate1.simps(2)
thf(fact_459_prefixes_Osimps_I2_J,axiom,
    ! [X: list_nat,Xs2: list_list_nat] :
      ( ( prefixes_list_nat @ ( cons_list_nat @ X @ Xs2 ) )
      = ( cons_list_list_nat @ nil_list_nat @ ( map_li2855073862107769254st_nat @ ( cons_list_nat @ X ) @ ( prefixes_list_nat @ Xs2 ) ) ) ) ).

% prefixes.simps(2)
thf(fact_460_prefixes_Osimps_I2_J,axiom,
    ! [X: nat,Xs2: list_nat] :
      ( ( prefixes_nat @ ( cons_nat @ X @ Xs2 ) )
      = ( cons_list_nat @ nil_nat @ ( map_li7225945977422193158st_nat @ ( cons_nat @ X ) @ ( prefixes_nat @ Xs2 ) ) ) ) ).

% prefixes.simps(2)
thf(fact_461_last__prefixes,axiom,
    ! [Xs2: list_nat] :
      ( ( last_list_nat @ ( prefixes_nat @ Xs2 ) )
      = Xs2 ) ).

% last_prefixes
thf(fact_462_last__suffixes,axiom,
    ! [Xs2: list_nat] :
      ( ( last_list_nat @ ( suffixes_nat @ Xs2 ) )
      = Xs2 ) ).

% last_suffixes
thf(fact_463_map__is__Nil__conv,axiom,
    ! [F: list_nat > nat,Xs2: list_list_nat] :
      ( ( ( map_list_nat_nat @ F @ Xs2 )
        = nil_nat )
      = ( Xs2 = nil_list_nat ) ) ).

% map_is_Nil_conv
thf(fact_464_map__is__Nil__conv,axiom,
    ! [F: nat > list_nat,Xs2: list_nat] :
      ( ( ( map_nat_list_nat @ F @ Xs2 )
        = nil_list_nat )
      = ( Xs2 = nil_nat ) ) ).

% map_is_Nil_conv
thf(fact_465_map__is__Nil__conv,axiom,
    ! [F: list_nat > list_nat,Xs2: list_list_nat] :
      ( ( ( map_li7225945977422193158st_nat @ F @ Xs2 )
        = nil_list_nat )
      = ( Xs2 = nil_list_nat ) ) ).

% map_is_Nil_conv
thf(fact_466_map__is__Nil__conv,axiom,
    ! [F: list_nat > set_nat,Xs2: list_list_nat] :
      ( ( ( map_list_nat_set_nat @ F @ Xs2 )
        = nil_set_nat )
      = ( Xs2 = nil_list_nat ) ) ).

% map_is_Nil_conv
thf(fact_467_map__is__Nil__conv,axiom,
    ! [F: nat > nat,Xs2: list_nat] :
      ( ( ( map_nat_nat @ F @ Xs2 )
        = nil_nat )
      = ( Xs2 = nil_nat ) ) ).

% map_is_Nil_conv
thf(fact_468_Nil__is__map__conv,axiom,
    ! [F: list_nat > nat,Xs2: list_list_nat] :
      ( ( nil_nat
        = ( map_list_nat_nat @ F @ Xs2 ) )
      = ( Xs2 = nil_list_nat ) ) ).

% Nil_is_map_conv
thf(fact_469_Nil__is__map__conv,axiom,
    ! [F: nat > list_nat,Xs2: list_nat] :
      ( ( nil_list_nat
        = ( map_nat_list_nat @ F @ Xs2 ) )
      = ( Xs2 = nil_nat ) ) ).

% Nil_is_map_conv
thf(fact_470_Nil__is__map__conv,axiom,
    ! [F: list_nat > list_nat,Xs2: list_list_nat] :
      ( ( nil_list_nat
        = ( map_li7225945977422193158st_nat @ F @ Xs2 ) )
      = ( Xs2 = nil_list_nat ) ) ).

% Nil_is_map_conv
thf(fact_471_Nil__is__map__conv,axiom,
    ! [F: list_nat > set_nat,Xs2: list_list_nat] :
      ( ( nil_set_nat
        = ( map_list_nat_set_nat @ F @ Xs2 ) )
      = ( Xs2 = nil_list_nat ) ) ).

% Nil_is_map_conv
thf(fact_472_Nil__is__map__conv,axiom,
    ! [F: nat > nat,Xs2: list_nat] :
      ( ( nil_nat
        = ( map_nat_nat @ F @ Xs2 ) )
      = ( Xs2 = nil_nat ) ) ).

% Nil_is_map_conv
thf(fact_473_list_Omap__disc__iff,axiom,
    ! [F: list_nat > nat,A: list_list_nat] :
      ( ( ( map_list_nat_nat @ F @ A )
        = nil_nat )
      = ( A = nil_list_nat ) ) ).

% list.map_disc_iff
thf(fact_474_list_Omap__disc__iff,axiom,
    ! [F: nat > list_nat,A: list_nat] :
      ( ( ( map_nat_list_nat @ F @ A )
        = nil_list_nat )
      = ( A = nil_nat ) ) ).

% list.map_disc_iff
thf(fact_475_list_Omap__disc__iff,axiom,
    ! [F: list_nat > list_nat,A: list_list_nat] :
      ( ( ( map_li7225945977422193158st_nat @ F @ A )
        = nil_list_nat )
      = ( A = nil_list_nat ) ) ).

% list.map_disc_iff
thf(fact_476_list_Omap__disc__iff,axiom,
    ! [F: list_nat > set_nat,A: list_list_nat] :
      ( ( ( map_list_nat_set_nat @ F @ A )
        = nil_set_nat )
      = ( A = nil_list_nat ) ) ).

% list.map_disc_iff
thf(fact_477_list_Omap__disc__iff,axiom,
    ! [F: nat > nat,A: list_nat] :
      ( ( ( map_nat_nat @ F @ A )
        = nil_nat )
      = ( A = nil_nat ) ) ).

% list.map_disc_iff
thf(fact_478_map__eq__conv,axiom,
    ! [F: nat > nat,Xs2: list_nat,G2: nat > nat] :
      ( ( ( map_nat_nat @ F @ Xs2 )
        = ( map_nat_nat @ G2 @ Xs2 ) )
      = ( ! [X4: nat] :
            ( ( member_nat @ X4 @ ( set_nat2 @ Xs2 ) )
           => ( ( F @ X4 )
              = ( G2 @ X4 ) ) ) ) ) ).

% map_eq_conv
thf(fact_479_map__eq__conv,axiom,
    ! [F: list_nat > list_nat,Xs2: list_list_nat,G2: list_nat > list_nat] :
      ( ( ( map_li7225945977422193158st_nat @ F @ Xs2 )
        = ( map_li7225945977422193158st_nat @ G2 @ Xs2 ) )
      = ( ! [X4: list_nat] :
            ( ( member_list_nat @ X4 @ ( set_list_nat2 @ Xs2 ) )
           => ( ( F @ X4 )
              = ( G2 @ X4 ) ) ) ) ) ).

% map_eq_conv
thf(fact_480_map__eq__conv,axiom,
    ! [F: list_nat > set_nat,Xs2: list_list_nat,G2: list_nat > set_nat] :
      ( ( ( map_list_nat_set_nat @ F @ Xs2 )
        = ( map_list_nat_set_nat @ G2 @ Xs2 ) )
      = ( ! [X4: list_nat] :
            ( ( member_list_nat @ X4 @ ( set_list_nat2 @ Xs2 ) )
           => ( ( F @ X4 )
              = ( G2 @ X4 ) ) ) ) ) ).

% map_eq_conv
thf(fact_481_map__append,axiom,
    ! [F: nat > list_nat,Xs2: list_nat,Ys: list_nat] :
      ( ( map_nat_list_nat @ F @ ( append_nat @ Xs2 @ Ys ) )
      = ( append_list_nat @ ( map_nat_list_nat @ F @ Xs2 ) @ ( map_nat_list_nat @ F @ Ys ) ) ) ).

% map_append
thf(fact_482_map__append,axiom,
    ! [F: list_nat > nat,Xs2: list_list_nat,Ys: list_list_nat] :
      ( ( map_list_nat_nat @ F @ ( append_list_nat @ Xs2 @ Ys ) )
      = ( append_nat @ ( map_list_nat_nat @ F @ Xs2 ) @ ( map_list_nat_nat @ F @ Ys ) ) ) ).

% map_append
thf(fact_483_map__append,axiom,
    ! [F: list_nat > list_nat,Xs2: list_list_nat,Ys: list_list_nat] :
      ( ( map_li7225945977422193158st_nat @ F @ ( append_list_nat @ Xs2 @ Ys ) )
      = ( append_list_nat @ ( map_li7225945977422193158st_nat @ F @ Xs2 ) @ ( map_li7225945977422193158st_nat @ F @ Ys ) ) ) ).

% map_append
thf(fact_484_map__append,axiom,
    ! [F: list_nat > set_nat,Xs2: list_list_nat,Ys: list_list_nat] :
      ( ( map_list_nat_set_nat @ F @ ( append_list_nat @ Xs2 @ Ys ) )
      = ( append_set_nat @ ( map_list_nat_set_nat @ F @ Xs2 ) @ ( map_list_nat_set_nat @ F @ Ys ) ) ) ).

% map_append
thf(fact_485_map__append,axiom,
    ! [F: nat > nat,Xs2: list_nat,Ys: list_nat] :
      ( ( map_nat_nat @ F @ ( append_nat @ Xs2 @ Ys ) )
      = ( append_nat @ ( map_nat_nat @ F @ Xs2 ) @ ( map_nat_nat @ F @ Ys ) ) ) ).

% map_append
thf(fact_486_rotate1__is__Nil__conv,axiom,
    ! [Xs2: list_list_nat] :
      ( ( ( rotate1_list_nat @ Xs2 )
        = nil_list_nat )
      = ( Xs2 = nil_list_nat ) ) ).

% rotate1_is_Nil_conv
thf(fact_487_rotate1__is__Nil__conv,axiom,
    ! [Xs2: list_nat] :
      ( ( ( rotate1_nat @ Xs2 )
        = nil_nat )
      = ( Xs2 = nil_nat ) ) ).

% rotate1_is_Nil_conv
thf(fact_488_set__rotate1,axiom,
    ! [Xs2: list_list_nat] :
      ( ( set_list_nat2 @ ( rotate1_list_nat @ Xs2 ) )
      = ( set_list_nat2 @ Xs2 ) ) ).

% set_rotate1
thf(fact_489_set__rotate1,axiom,
    ! [Xs2: list_nat] :
      ( ( set_nat2 @ ( rotate1_nat @ Xs2 ) )
      = ( set_nat2 @ Xs2 ) ) ).

% set_rotate1
thf(fact_490_last__appendR,axiom,
    ! [Ys: list_list_nat,Xs2: list_list_nat] :
      ( ( Ys != nil_list_nat )
     => ( ( last_list_nat @ ( append_list_nat @ Xs2 @ Ys ) )
        = ( last_list_nat @ Ys ) ) ) ).

% last_appendR
thf(fact_491_last__appendR,axiom,
    ! [Ys: list_nat,Xs2: list_nat] :
      ( ( Ys != nil_nat )
     => ( ( last_nat @ ( append_nat @ Xs2 @ Ys ) )
        = ( last_nat @ Ys ) ) ) ).

% last_appendR
thf(fact_492_last__appendL,axiom,
    ! [Ys: list_list_nat,Xs2: list_list_nat] :
      ( ( Ys = nil_list_nat )
     => ( ( last_list_nat @ ( append_list_nat @ Xs2 @ Ys ) )
        = ( last_list_nat @ Xs2 ) ) ) ).

% last_appendL
thf(fact_493_last__appendL,axiom,
    ! [Ys: list_nat,Xs2: list_nat] :
      ( ( Ys = nil_nat )
     => ( ( last_nat @ ( append_nat @ Xs2 @ Ys ) )
        = ( last_nat @ Xs2 ) ) ) ).

% last_appendL
thf(fact_494_Nil__eq__concat__conv,axiom,
    ! [Xss2: list_list_list_nat] :
      ( ( nil_list_nat
        = ( concat_list_nat @ Xss2 ) )
      = ( ! [X4: list_list_nat] :
            ( ( member_list_list_nat @ X4 @ ( set_list_list_nat2 @ Xss2 ) )
           => ( X4 = nil_list_nat ) ) ) ) ).

% Nil_eq_concat_conv
thf(fact_495_Nil__eq__concat__conv,axiom,
    ! [Xss2: list_list_nat] :
      ( ( nil_nat
        = ( concat_nat @ Xss2 ) )
      = ( ! [X4: list_nat] :
            ( ( member_list_nat @ X4 @ ( set_list_nat2 @ Xss2 ) )
           => ( X4 = nil_nat ) ) ) ) ).

% Nil_eq_concat_conv
thf(fact_496_concat__eq__Nil__conv,axiom,
    ! [Xss2: list_list_list_nat] :
      ( ( ( concat_list_nat @ Xss2 )
        = nil_list_nat )
      = ( ! [X4: list_list_nat] :
            ( ( member_list_list_nat @ X4 @ ( set_list_list_nat2 @ Xss2 ) )
           => ( X4 = nil_list_nat ) ) ) ) ).

% concat_eq_Nil_conv
thf(fact_497_concat__eq__Nil__conv,axiom,
    ! [Xss2: list_list_nat] :
      ( ( ( concat_nat @ Xss2 )
        = nil_nat )
      = ( ! [X4: list_nat] :
            ( ( member_list_nat @ X4 @ ( set_list_nat2 @ Xss2 ) )
           => ( X4 = nil_nat ) ) ) ) ).

% concat_eq_Nil_conv
thf(fact_498_concat__append,axiom,
    ! [Xs2: list_list_list_nat,Ys: list_list_list_nat] :
      ( ( concat_list_nat @ ( append_list_list_nat @ Xs2 @ Ys ) )
      = ( append_list_nat @ ( concat_list_nat @ Xs2 ) @ ( concat_list_nat @ Ys ) ) ) ).

% concat_append
thf(fact_499_concat__append,axiom,
    ! [Xs2: list_list_nat,Ys: list_list_nat] :
      ( ( concat_nat @ ( append_list_nat @ Xs2 @ Ys ) )
      = ( append_nat @ ( concat_nat @ Xs2 ) @ ( concat_nat @ Ys ) ) ) ).

% concat_append
thf(fact_500_append__butlast__last__id,axiom,
    ! [Xs2: list_list_nat] :
      ( ( Xs2 != nil_list_nat )
     => ( ( append_list_nat @ ( butlast_list_nat @ Xs2 ) @ ( cons_list_nat @ ( last_list_nat @ Xs2 ) @ nil_list_nat ) )
        = Xs2 ) ) ).

% append_butlast_last_id
thf(fact_501_append__butlast__last__id,axiom,
    ! [Xs2: list_nat] :
      ( ( Xs2 != nil_nat )
     => ( ( append_nat @ ( butlast_nat @ Xs2 ) @ ( cons_nat @ ( last_nat @ Xs2 ) @ nil_nat ) )
        = Xs2 ) ) ).

% append_butlast_last_id
thf(fact_502_List_Obind__def,axiom,
    ( bind_nat_nat
    = ( ^ [Xs4: list_nat,F2: nat > list_nat] : ( concat_nat @ ( map_nat_list_nat @ F2 @ Xs4 ) ) ) ) ).

% List.bind_def
thf(fact_503_List_Obind__def,axiom,
    ( bind_list_nat_nat
    = ( ^ [Xs4: list_list_nat,F2: list_nat > list_nat] : ( concat_nat @ ( map_li7225945977422193158st_nat @ F2 @ Xs4 ) ) ) ) ).

% List.bind_def
thf(fact_504_map__concat,axiom,
    ! [F: list_nat > list_nat,Xs2: list_list_list_nat] :
      ( ( map_li7225945977422193158st_nat @ F @ ( concat_list_nat @ Xs2 ) )
      = ( concat_list_nat @ ( map_li2855073862107769254st_nat @ ( map_li7225945977422193158st_nat @ F ) @ Xs2 ) ) ) ).

% map_concat
thf(fact_505_map__concat,axiom,
    ! [F: nat > nat,Xs2: list_list_nat] :
      ( ( map_nat_nat @ F @ ( concat_nat @ Xs2 ) )
      = ( concat_nat @ ( map_li7225945977422193158st_nat @ ( map_nat_nat @ F ) @ Xs2 ) ) ) ).

% map_concat
thf(fact_506_map__concat,axiom,
    ! [F: list_nat > set_nat,Xs2: list_list_list_nat] :
      ( ( map_list_nat_set_nat @ F @ ( concat_list_nat @ Xs2 ) )
      = ( concat_set_nat @ ( map_li5623744104693966028et_nat @ ( map_list_nat_set_nat @ F ) @ Xs2 ) ) ) ).

% map_concat
thf(fact_507_map__butlast,axiom,
    ! [F: list_nat > list_nat,Xs2: list_list_nat] :
      ( ( map_li7225945977422193158st_nat @ F @ ( butlast_list_nat @ Xs2 ) )
      = ( butlast_list_nat @ ( map_li7225945977422193158st_nat @ F @ Xs2 ) ) ) ).

% map_butlast
thf(fact_508_map__butlast,axiom,
    ! [F: nat > nat,Xs2: list_nat] :
      ( ( map_nat_nat @ F @ ( butlast_nat @ Xs2 ) )
      = ( butlast_nat @ ( map_nat_nat @ F @ Xs2 ) ) ) ).

% map_butlast
thf(fact_509_map__butlast,axiom,
    ! [F: list_nat > set_nat,Xs2: list_list_nat] :
      ( ( map_list_nat_set_nat @ F @ ( butlast_list_nat @ Xs2 ) )
      = ( butlast_set_nat @ ( map_list_nat_set_nat @ F @ Xs2 ) ) ) ).

% map_butlast
thf(fact_510_rotate1__map,axiom,
    ! [F: list_nat > list_nat,Xs2: list_list_nat] :
      ( ( rotate1_list_nat @ ( map_li7225945977422193158st_nat @ F @ Xs2 ) )
      = ( map_li7225945977422193158st_nat @ F @ ( rotate1_list_nat @ Xs2 ) ) ) ).

% rotate1_map
thf(fact_511_rotate1__map,axiom,
    ! [F: nat > nat,Xs2: list_nat] :
      ( ( rotate1_nat @ ( map_nat_nat @ F @ Xs2 ) )
      = ( map_nat_nat @ F @ ( rotate1_nat @ Xs2 ) ) ) ).

% rotate1_map
thf(fact_512_rotate1__map,axiom,
    ! [F: list_nat > set_nat,Xs2: list_list_nat] :
      ( ( rotate1_set_nat @ ( map_list_nat_set_nat @ F @ Xs2 ) )
      = ( map_list_nat_set_nat @ F @ ( rotate1_list_nat @ Xs2 ) ) ) ).

% rotate1_map
thf(fact_513_last__map,axiom,
    ! [Xs2: list_list_nat,F: list_nat > nat] :
      ( ( Xs2 != nil_list_nat )
     => ( ( last_nat @ ( map_list_nat_nat @ F @ Xs2 ) )
        = ( F @ ( last_list_nat @ Xs2 ) ) ) ) ).

% last_map
thf(fact_514_last__map,axiom,
    ! [Xs2: list_list_nat,F: list_nat > list_nat] :
      ( ( Xs2 != nil_list_nat )
     => ( ( last_list_nat @ ( map_li7225945977422193158st_nat @ F @ Xs2 ) )
        = ( F @ ( last_list_nat @ Xs2 ) ) ) ) ).

% last_map
thf(fact_515_last__map,axiom,
    ! [Xs2: list_nat,F: nat > nat] :
      ( ( Xs2 != nil_nat )
     => ( ( last_nat @ ( map_nat_nat @ F @ Xs2 ) )
        = ( F @ ( last_nat @ Xs2 ) ) ) ) ).

% last_map
thf(fact_516_last__map,axiom,
    ! [Xs2: list_list_nat,F: list_nat > set_nat] :
      ( ( Xs2 != nil_list_nat )
     => ( ( last_set_nat @ ( map_list_nat_set_nat @ F @ Xs2 ) )
        = ( F @ ( last_list_nat @ Xs2 ) ) ) ) ).

% last_map
thf(fact_517_maps__def,axiom,
    ( maps_nat_nat
    = ( ^ [F2: nat > list_nat,Xs4: list_nat] : ( concat_nat @ ( map_nat_list_nat @ F2 @ Xs4 ) ) ) ) ).

% maps_def
thf(fact_518_maps__def,axiom,
    ( maps_list_nat_nat
    = ( ^ [F2: list_nat > list_nat,Xs4: list_list_nat] : ( concat_nat @ ( map_li7225945977422193158st_nat @ F2 @ Xs4 ) ) ) ) ).

% maps_def
thf(fact_519_concat__map__maps,axiom,
    ! [F: nat > list_nat,Xs2: list_nat] :
      ( ( concat_nat @ ( map_nat_list_nat @ F @ Xs2 ) )
      = ( maps_nat_nat @ F @ Xs2 ) ) ).

% concat_map_maps
thf(fact_520_concat__map__maps,axiom,
    ! [F: list_nat > list_nat,Xs2: list_list_nat] :
      ( ( concat_nat @ ( map_li7225945977422193158st_nat @ F @ Xs2 ) )
      = ( maps_list_nat_nat @ F @ Xs2 ) ) ).

% concat_map_maps
thf(fact_521_map__eq__Cons__conv,axiom,
    ! [F: list_nat > set_nat,Xs2: list_list_nat,Y3: set_nat,Ys: list_set_nat] :
      ( ( ( map_list_nat_set_nat @ F @ Xs2 )
        = ( cons_set_nat @ Y3 @ Ys ) )
      = ( ? [Z3: list_nat,Zs: list_list_nat] :
            ( ( Xs2
              = ( cons_list_nat @ Z3 @ Zs ) )
            & ( ( F @ Z3 )
              = Y3 )
            & ( ( map_list_nat_set_nat @ F @ Zs )
              = Ys ) ) ) ) ).

% map_eq_Cons_conv
thf(fact_522_map__eq__Cons__conv,axiom,
    ! [F: list_nat > nat,Xs2: list_list_nat,Y3: nat,Ys: list_nat] :
      ( ( ( map_list_nat_nat @ F @ Xs2 )
        = ( cons_nat @ Y3 @ Ys ) )
      = ( ? [Z3: list_nat,Zs: list_list_nat] :
            ( ( Xs2
              = ( cons_list_nat @ Z3 @ Zs ) )
            & ( ( F @ Z3 )
              = Y3 )
            & ( ( map_list_nat_nat @ F @ Zs )
              = Ys ) ) ) ) ).

% map_eq_Cons_conv
thf(fact_523_map__eq__Cons__conv,axiom,
    ! [F: nat > list_nat,Xs2: list_nat,Y3: list_nat,Ys: list_list_nat] :
      ( ( ( map_nat_list_nat @ F @ Xs2 )
        = ( cons_list_nat @ Y3 @ Ys ) )
      = ( ? [Z3: nat,Zs: list_nat] :
            ( ( Xs2
              = ( cons_nat @ Z3 @ Zs ) )
            & ( ( F @ Z3 )
              = Y3 )
            & ( ( map_nat_list_nat @ F @ Zs )
              = Ys ) ) ) ) ).

% map_eq_Cons_conv
thf(fact_524_map__eq__Cons__conv,axiom,
    ! [F: list_nat > list_nat,Xs2: list_list_nat,Y3: list_nat,Ys: list_list_nat] :
      ( ( ( map_li7225945977422193158st_nat @ F @ Xs2 )
        = ( cons_list_nat @ Y3 @ Ys ) )
      = ( ? [Z3: list_nat,Zs: list_list_nat] :
            ( ( Xs2
              = ( cons_list_nat @ Z3 @ Zs ) )
            & ( ( F @ Z3 )
              = Y3 )
            & ( ( map_li7225945977422193158st_nat @ F @ Zs )
              = Ys ) ) ) ) ).

% map_eq_Cons_conv
thf(fact_525_map__eq__Cons__conv,axiom,
    ! [F: nat > nat,Xs2: list_nat,Y3: nat,Ys: list_nat] :
      ( ( ( map_nat_nat @ F @ Xs2 )
        = ( cons_nat @ Y3 @ Ys ) )
      = ( ? [Z3: nat,Zs: list_nat] :
            ( ( Xs2
              = ( cons_nat @ Z3 @ Zs ) )
            & ( ( F @ Z3 )
              = Y3 )
            & ( ( map_nat_nat @ F @ Zs )
              = Ys ) ) ) ) ).

% map_eq_Cons_conv
thf(fact_526_Cons__eq__map__conv,axiom,
    ! [X: set_nat,Xs2: list_set_nat,F: list_nat > set_nat,Ys: list_list_nat] :
      ( ( ( cons_set_nat @ X @ Xs2 )
        = ( map_list_nat_set_nat @ F @ Ys ) )
      = ( ? [Z3: list_nat,Zs: list_list_nat] :
            ( ( Ys
              = ( cons_list_nat @ Z3 @ Zs ) )
            & ( X
              = ( F @ Z3 ) )
            & ( Xs2
              = ( map_list_nat_set_nat @ F @ Zs ) ) ) ) ) ).

% Cons_eq_map_conv
thf(fact_527_Cons__eq__map__conv,axiom,
    ! [X: nat,Xs2: list_nat,F: list_nat > nat,Ys: list_list_nat] :
      ( ( ( cons_nat @ X @ Xs2 )
        = ( map_list_nat_nat @ F @ Ys ) )
      = ( ? [Z3: list_nat,Zs: list_list_nat] :
            ( ( Ys
              = ( cons_list_nat @ Z3 @ Zs ) )
            & ( X
              = ( F @ Z3 ) )
            & ( Xs2
              = ( map_list_nat_nat @ F @ Zs ) ) ) ) ) ).

% Cons_eq_map_conv
thf(fact_528_Cons__eq__map__conv,axiom,
    ! [X: list_nat,Xs2: list_list_nat,F: nat > list_nat,Ys: list_nat] :
      ( ( ( cons_list_nat @ X @ Xs2 )
        = ( map_nat_list_nat @ F @ Ys ) )
      = ( ? [Z3: nat,Zs: list_nat] :
            ( ( Ys
              = ( cons_nat @ Z3 @ Zs ) )
            & ( X
              = ( F @ Z3 ) )
            & ( Xs2
              = ( map_nat_list_nat @ F @ Zs ) ) ) ) ) ).

% Cons_eq_map_conv
thf(fact_529_Cons__eq__map__conv,axiom,
    ! [X: list_nat,Xs2: list_list_nat,F: list_nat > list_nat,Ys: list_list_nat] :
      ( ( ( cons_list_nat @ X @ Xs2 )
        = ( map_li7225945977422193158st_nat @ F @ Ys ) )
      = ( ? [Z3: list_nat,Zs: list_list_nat] :
            ( ( Ys
              = ( cons_list_nat @ Z3 @ Zs ) )
            & ( X
              = ( F @ Z3 ) )
            & ( Xs2
              = ( map_li7225945977422193158st_nat @ F @ Zs ) ) ) ) ) ).

% Cons_eq_map_conv
thf(fact_530_Cons__eq__map__conv,axiom,
    ! [X: nat,Xs2: list_nat,F: nat > nat,Ys: list_nat] :
      ( ( ( cons_nat @ X @ Xs2 )
        = ( map_nat_nat @ F @ Ys ) )
      = ( ? [Z3: nat,Zs: list_nat] :
            ( ( Ys
              = ( cons_nat @ Z3 @ Zs ) )
            & ( X
              = ( F @ Z3 ) )
            & ( Xs2
              = ( map_nat_nat @ F @ Zs ) ) ) ) ) ).

% Cons_eq_map_conv
thf(fact_531_map__eq__Cons__D,axiom,
    ! [F: list_nat > set_nat,Xs2: list_list_nat,Y3: set_nat,Ys: list_set_nat] :
      ( ( ( map_list_nat_set_nat @ F @ Xs2 )
        = ( cons_set_nat @ Y3 @ Ys ) )
     => ? [Z4: list_nat,Zs3: list_list_nat] :
          ( ( Xs2
            = ( cons_list_nat @ Z4 @ Zs3 ) )
          & ( ( F @ Z4 )
            = Y3 )
          & ( ( map_list_nat_set_nat @ F @ Zs3 )
            = Ys ) ) ) ).

% map_eq_Cons_D
thf(fact_532_map__eq__Cons__D,axiom,
    ! [F: list_nat > nat,Xs2: list_list_nat,Y3: nat,Ys: list_nat] :
      ( ( ( map_list_nat_nat @ F @ Xs2 )
        = ( cons_nat @ Y3 @ Ys ) )
     => ? [Z4: list_nat,Zs3: list_list_nat] :
          ( ( Xs2
            = ( cons_list_nat @ Z4 @ Zs3 ) )
          & ( ( F @ Z4 )
            = Y3 )
          & ( ( map_list_nat_nat @ F @ Zs3 )
            = Ys ) ) ) ).

% map_eq_Cons_D
thf(fact_533_map__eq__Cons__D,axiom,
    ! [F: nat > list_nat,Xs2: list_nat,Y3: list_nat,Ys: list_list_nat] :
      ( ( ( map_nat_list_nat @ F @ Xs2 )
        = ( cons_list_nat @ Y3 @ Ys ) )
     => ? [Z4: nat,Zs3: list_nat] :
          ( ( Xs2
            = ( cons_nat @ Z4 @ Zs3 ) )
          & ( ( F @ Z4 )
            = Y3 )
          & ( ( map_nat_list_nat @ F @ Zs3 )
            = Ys ) ) ) ).

% map_eq_Cons_D
thf(fact_534_map__eq__Cons__D,axiom,
    ! [F: list_nat > list_nat,Xs2: list_list_nat,Y3: list_nat,Ys: list_list_nat] :
      ( ( ( map_li7225945977422193158st_nat @ F @ Xs2 )
        = ( cons_list_nat @ Y3 @ Ys ) )
     => ? [Z4: list_nat,Zs3: list_list_nat] :
          ( ( Xs2
            = ( cons_list_nat @ Z4 @ Zs3 ) )
          & ( ( F @ Z4 )
            = Y3 )
          & ( ( map_li7225945977422193158st_nat @ F @ Zs3 )
            = Ys ) ) ) ).

% map_eq_Cons_D
thf(fact_535_map__eq__Cons__D,axiom,
    ! [F: nat > nat,Xs2: list_nat,Y3: nat,Ys: list_nat] :
      ( ( ( map_nat_nat @ F @ Xs2 )
        = ( cons_nat @ Y3 @ Ys ) )
     => ? [Z4: nat,Zs3: list_nat] :
          ( ( Xs2
            = ( cons_nat @ Z4 @ Zs3 ) )
          & ( ( F @ Z4 )
            = Y3 )
          & ( ( map_nat_nat @ F @ Zs3 )
            = Ys ) ) ) ).

% map_eq_Cons_D
thf(fact_536_Cons__eq__map__D,axiom,
    ! [X: set_nat,Xs2: list_set_nat,F: list_nat > set_nat,Ys: list_list_nat] :
      ( ( ( cons_set_nat @ X @ Xs2 )
        = ( map_list_nat_set_nat @ F @ Ys ) )
     => ? [Z4: list_nat,Zs3: list_list_nat] :
          ( ( Ys
            = ( cons_list_nat @ Z4 @ Zs3 ) )
          & ( X
            = ( F @ Z4 ) )
          & ( Xs2
            = ( map_list_nat_set_nat @ F @ Zs3 ) ) ) ) ).

% Cons_eq_map_D
thf(fact_537_Cons__eq__map__D,axiom,
    ! [X: nat,Xs2: list_nat,F: list_nat > nat,Ys: list_list_nat] :
      ( ( ( cons_nat @ X @ Xs2 )
        = ( map_list_nat_nat @ F @ Ys ) )
     => ? [Z4: list_nat,Zs3: list_list_nat] :
          ( ( Ys
            = ( cons_list_nat @ Z4 @ Zs3 ) )
          & ( X
            = ( F @ Z4 ) )
          & ( Xs2
            = ( map_list_nat_nat @ F @ Zs3 ) ) ) ) ).

% Cons_eq_map_D
thf(fact_538_Cons__eq__map__D,axiom,
    ! [X: list_nat,Xs2: list_list_nat,F: nat > list_nat,Ys: list_nat] :
      ( ( ( cons_list_nat @ X @ Xs2 )
        = ( map_nat_list_nat @ F @ Ys ) )
     => ? [Z4: nat,Zs3: list_nat] :
          ( ( Ys
            = ( cons_nat @ Z4 @ Zs3 ) )
          & ( X
            = ( F @ Z4 ) )
          & ( Xs2
            = ( map_nat_list_nat @ F @ Zs3 ) ) ) ) ).

% Cons_eq_map_D
thf(fact_539_Cons__eq__map__D,axiom,
    ! [X: list_nat,Xs2: list_list_nat,F: list_nat > list_nat,Ys: list_list_nat] :
      ( ( ( cons_list_nat @ X @ Xs2 )
        = ( map_li7225945977422193158st_nat @ F @ Ys ) )
     => ? [Z4: list_nat,Zs3: list_list_nat] :
          ( ( Ys
            = ( cons_list_nat @ Z4 @ Zs3 ) )
          & ( X
            = ( F @ Z4 ) )
          & ( Xs2
            = ( map_li7225945977422193158st_nat @ F @ Zs3 ) ) ) ) ).

% Cons_eq_map_D
thf(fact_540_Cons__eq__map__D,axiom,
    ! [X: nat,Xs2: list_nat,F: nat > nat,Ys: list_nat] :
      ( ( ( cons_nat @ X @ Xs2 )
        = ( map_nat_nat @ F @ Ys ) )
     => ? [Z4: nat,Zs3: list_nat] :
          ( ( Ys
            = ( cons_nat @ Z4 @ Zs3 ) )
          & ( X
            = ( F @ Z4 ) )
          & ( Xs2
            = ( map_nat_nat @ F @ Zs3 ) ) ) ) ).

% Cons_eq_map_D
thf(fact_541_list_Osimps_I9_J,axiom,
    ! [F: nat > list_nat,X21: nat,X22: list_nat] :
      ( ( map_nat_list_nat @ F @ ( cons_nat @ X21 @ X22 ) )
      = ( cons_list_nat @ ( F @ X21 ) @ ( map_nat_list_nat @ F @ X22 ) ) ) ).

% list.simps(9)
thf(fact_542_list_Osimps_I9_J,axiom,
    ! [F: list_nat > set_nat,X21: list_nat,X22: list_list_nat] :
      ( ( map_list_nat_set_nat @ F @ ( cons_list_nat @ X21 @ X22 ) )
      = ( cons_set_nat @ ( F @ X21 ) @ ( map_list_nat_set_nat @ F @ X22 ) ) ) ).

% list.simps(9)
thf(fact_543_list_Osimps_I9_J,axiom,
    ! [F: list_nat > nat,X21: list_nat,X22: list_list_nat] :
      ( ( map_list_nat_nat @ F @ ( cons_list_nat @ X21 @ X22 ) )
      = ( cons_nat @ ( F @ X21 ) @ ( map_list_nat_nat @ F @ X22 ) ) ) ).

% list.simps(9)
thf(fact_544_list_Osimps_I9_J,axiom,
    ! [F: list_nat > list_nat,X21: list_nat,X22: list_list_nat] :
      ( ( map_li7225945977422193158st_nat @ F @ ( cons_list_nat @ X21 @ X22 ) )
      = ( cons_list_nat @ ( F @ X21 ) @ ( map_li7225945977422193158st_nat @ F @ X22 ) ) ) ).

% list.simps(9)
thf(fact_545_list_Osimps_I9_J,axiom,
    ! [F: nat > nat,X21: nat,X22: list_nat] :
      ( ( map_nat_nat @ F @ ( cons_nat @ X21 @ X22 ) )
      = ( cons_nat @ ( F @ X21 ) @ ( map_nat_nat @ F @ X22 ) ) ) ).

% list.simps(9)
thf(fact_546_list_Osimps_I8_J,axiom,
    ! [F: nat > list_nat] :
      ( ( map_nat_list_nat @ F @ nil_nat )
      = nil_list_nat ) ).

% list.simps(8)
thf(fact_547_list_Osimps_I8_J,axiom,
    ! [F: list_nat > nat] :
      ( ( map_list_nat_nat @ F @ nil_list_nat )
      = nil_nat ) ).

% list.simps(8)
thf(fact_548_list_Osimps_I8_J,axiom,
    ! [F: list_nat > list_nat] :
      ( ( map_li7225945977422193158st_nat @ F @ nil_list_nat )
      = nil_list_nat ) ).

% list.simps(8)
thf(fact_549_list_Osimps_I8_J,axiom,
    ! [F: list_nat > set_nat] :
      ( ( map_list_nat_set_nat @ F @ nil_list_nat )
      = nil_set_nat ) ).

% list.simps(8)
thf(fact_550_list_Osimps_I8_J,axiom,
    ! [F: nat > nat] :
      ( ( map_nat_nat @ F @ nil_nat )
      = nil_nat ) ).

% list.simps(8)
thf(fact_551_ex__map__conv,axiom,
    ! [Ys: list_set_nat,F: list_nat > set_nat] :
      ( ( ? [Xs4: list_list_nat] :
            ( Ys
            = ( map_list_nat_set_nat @ F @ Xs4 ) ) )
      = ( ! [X4: set_nat] :
            ( ( member_set_nat @ X4 @ ( set_set_nat2 @ Ys ) )
           => ? [Y5: list_nat] :
                ( X4
                = ( F @ Y5 ) ) ) ) ) ).

% ex_map_conv
thf(fact_552_ex__map__conv,axiom,
    ! [Ys: list_nat,F: nat > nat] :
      ( ( ? [Xs4: list_nat] :
            ( Ys
            = ( map_nat_nat @ F @ Xs4 ) ) )
      = ( ! [X4: nat] :
            ( ( member_nat @ X4 @ ( set_nat2 @ Ys ) )
           => ? [Y5: nat] :
                ( X4
                = ( F @ Y5 ) ) ) ) ) ).

% ex_map_conv
thf(fact_553_ex__map__conv,axiom,
    ! [Ys: list_list_nat,F: list_nat > list_nat] :
      ( ( ? [Xs4: list_list_nat] :
            ( Ys
            = ( map_li7225945977422193158st_nat @ F @ Xs4 ) ) )
      = ( ! [X4: list_nat] :
            ( ( member_list_nat @ X4 @ ( set_list_nat2 @ Ys ) )
           => ? [Y5: list_nat] :
                ( X4
                = ( F @ Y5 ) ) ) ) ) ).

% ex_map_conv
thf(fact_554_map__cong,axiom,
    ! [Xs2: list_nat,Ys: list_nat,F: nat > nat,G2: nat > nat] :
      ( ( Xs2 = Ys )
     => ( ! [X2: nat] :
            ( ( member_nat @ X2 @ ( set_nat2 @ Ys ) )
           => ( ( F @ X2 )
              = ( G2 @ X2 ) ) )
       => ( ( map_nat_nat @ F @ Xs2 )
          = ( map_nat_nat @ G2 @ Ys ) ) ) ) ).

% map_cong
thf(fact_555_map__cong,axiom,
    ! [Xs2: list_list_nat,Ys: list_list_nat,F: list_nat > list_nat,G2: list_nat > list_nat] :
      ( ( Xs2 = Ys )
     => ( ! [X2: list_nat] :
            ( ( member_list_nat @ X2 @ ( set_list_nat2 @ Ys ) )
           => ( ( F @ X2 )
              = ( G2 @ X2 ) ) )
       => ( ( map_li7225945977422193158st_nat @ F @ Xs2 )
          = ( map_li7225945977422193158st_nat @ G2 @ Ys ) ) ) ) ).

% map_cong
thf(fact_556_map__cong,axiom,
    ! [Xs2: list_list_nat,Ys: list_list_nat,F: list_nat > set_nat,G2: list_nat > set_nat] :
      ( ( Xs2 = Ys )
     => ( ! [X2: list_nat] :
            ( ( member_list_nat @ X2 @ ( set_list_nat2 @ Ys ) )
           => ( ( F @ X2 )
              = ( G2 @ X2 ) ) )
       => ( ( map_list_nat_set_nat @ F @ Xs2 )
          = ( map_list_nat_set_nat @ G2 @ Ys ) ) ) ) ).

% map_cong
thf(fact_557_map__idI,axiom,
    ! [Xs2: list_set_nat,F: set_nat > set_nat] :
      ( ! [X2: set_nat] :
          ( ( member_set_nat @ X2 @ ( set_set_nat2 @ Xs2 ) )
         => ( ( F @ X2 )
            = X2 ) )
     => ( ( map_set_nat_set_nat @ F @ Xs2 )
        = Xs2 ) ) ).

% map_idI
thf(fact_558_map__idI,axiom,
    ! [Xs2: list_list_nat,F: list_nat > list_nat] :
      ( ! [X2: list_nat] :
          ( ( member_list_nat @ X2 @ ( set_list_nat2 @ Xs2 ) )
         => ( ( F @ X2 )
            = X2 ) )
     => ( ( map_li7225945977422193158st_nat @ F @ Xs2 )
        = Xs2 ) ) ).

% map_idI
thf(fact_559_map__idI,axiom,
    ! [Xs2: list_nat,F: nat > nat] :
      ( ! [X2: nat] :
          ( ( member_nat @ X2 @ ( set_nat2 @ Xs2 ) )
         => ( ( F @ X2 )
            = X2 ) )
     => ( ( map_nat_nat @ F @ Xs2 )
        = Xs2 ) ) ).

% map_idI
thf(fact_560_map__ext,axiom,
    ! [Xs2: list_nat,F: nat > nat,G2: nat > nat] :
      ( ! [X2: nat] :
          ( ( member_nat @ X2 @ ( set_nat2 @ Xs2 ) )
         => ( ( F @ X2 )
            = ( G2 @ X2 ) ) )
     => ( ( map_nat_nat @ F @ Xs2 )
        = ( map_nat_nat @ G2 @ Xs2 ) ) ) ).

% map_ext
thf(fact_561_map__ext,axiom,
    ! [Xs2: list_list_nat,F: list_nat > list_nat,G2: list_nat > list_nat] :
      ( ! [X2: list_nat] :
          ( ( member_list_nat @ X2 @ ( set_list_nat2 @ Xs2 ) )
         => ( ( F @ X2 )
            = ( G2 @ X2 ) ) )
     => ( ( map_li7225945977422193158st_nat @ F @ Xs2 )
        = ( map_li7225945977422193158st_nat @ G2 @ Xs2 ) ) ) ).

% map_ext
thf(fact_562_map__ext,axiom,
    ! [Xs2: list_list_nat,F: list_nat > set_nat,G2: list_nat > set_nat] :
      ( ! [X2: list_nat] :
          ( ( member_list_nat @ X2 @ ( set_list_nat2 @ Xs2 ) )
         => ( ( F @ X2 )
            = ( G2 @ X2 ) ) )
     => ( ( map_list_nat_set_nat @ F @ Xs2 )
        = ( map_list_nat_set_nat @ G2 @ Xs2 ) ) ) ).

% map_ext
thf(fact_563_list_Omap__ident__strong,axiom,
    ! [T2: list_set_nat,F: set_nat > set_nat] :
      ( ! [Z4: set_nat] :
          ( ( member_set_nat @ Z4 @ ( set_set_nat2 @ T2 ) )
         => ( ( F @ Z4 )
            = Z4 ) )
     => ( ( map_set_nat_set_nat @ F @ T2 )
        = T2 ) ) ).

% list.map_ident_strong
thf(fact_564_list_Omap__ident__strong,axiom,
    ! [T2: list_list_nat,F: list_nat > list_nat] :
      ( ! [Z4: list_nat] :
          ( ( member_list_nat @ Z4 @ ( set_list_nat2 @ T2 ) )
         => ( ( F @ Z4 )
            = Z4 ) )
     => ( ( map_li7225945977422193158st_nat @ F @ T2 )
        = T2 ) ) ).

% list.map_ident_strong
thf(fact_565_list_Omap__ident__strong,axiom,
    ! [T2: list_nat,F: nat > nat] :
      ( ! [Z4: nat] :
          ( ( member_nat @ Z4 @ ( set_nat2 @ T2 ) )
         => ( ( F @ Z4 )
            = Z4 ) )
     => ( ( map_nat_nat @ F @ T2 )
        = T2 ) ) ).

% list.map_ident_strong
thf(fact_566_list_Oinj__map__strong,axiom,
    ! [X: list_nat,Xa2: list_nat,F: nat > nat,Fa: nat > nat] :
      ( ! [Z4: nat,Za: nat] :
          ( ( member_nat @ Z4 @ ( set_nat2 @ X ) )
         => ( ( member_nat @ Za @ ( set_nat2 @ Xa2 ) )
           => ( ( ( F @ Z4 )
                = ( Fa @ Za ) )
             => ( Z4 = Za ) ) ) )
     => ( ( ( map_nat_nat @ F @ X )
          = ( map_nat_nat @ Fa @ Xa2 ) )
       => ( X = Xa2 ) ) ) ).

% list.inj_map_strong
thf(fact_567_list_Oinj__map__strong,axiom,
    ! [X: list_list_nat,Xa2: list_list_nat,F: list_nat > list_nat,Fa: list_nat > list_nat] :
      ( ! [Z4: list_nat,Za: list_nat] :
          ( ( member_list_nat @ Z4 @ ( set_list_nat2 @ X ) )
         => ( ( member_list_nat @ Za @ ( set_list_nat2 @ Xa2 ) )
           => ( ( ( F @ Z4 )
                = ( Fa @ Za ) )
             => ( Z4 = Za ) ) ) )
     => ( ( ( map_li7225945977422193158st_nat @ F @ X )
          = ( map_li7225945977422193158st_nat @ Fa @ Xa2 ) )
       => ( X = Xa2 ) ) ) ).

% list.inj_map_strong
thf(fact_568_list_Oinj__map__strong,axiom,
    ! [X: list_list_nat,Xa2: list_list_nat,F: list_nat > set_nat,Fa: list_nat > set_nat] :
      ( ! [Z4: list_nat,Za: list_nat] :
          ( ( member_list_nat @ Z4 @ ( set_list_nat2 @ X ) )
         => ( ( member_list_nat @ Za @ ( set_list_nat2 @ Xa2 ) )
           => ( ( ( F @ Z4 )
                = ( Fa @ Za ) )
             => ( Z4 = Za ) ) ) )
     => ( ( ( map_list_nat_set_nat @ F @ X )
          = ( map_list_nat_set_nat @ Fa @ Xa2 ) )
       => ( X = Xa2 ) ) ) ).

% list.inj_map_strong
thf(fact_569_list_Omap__cong0,axiom,
    ! [X: list_nat,F: nat > nat,G2: nat > nat] :
      ( ! [Z4: nat] :
          ( ( member_nat @ Z4 @ ( set_nat2 @ X ) )
         => ( ( F @ Z4 )
            = ( G2 @ Z4 ) ) )
     => ( ( map_nat_nat @ F @ X )
        = ( map_nat_nat @ G2 @ X ) ) ) ).

% list.map_cong0
thf(fact_570_list_Omap__cong0,axiom,
    ! [X: list_list_nat,F: list_nat > list_nat,G2: list_nat > list_nat] :
      ( ! [Z4: list_nat] :
          ( ( member_list_nat @ Z4 @ ( set_list_nat2 @ X ) )
         => ( ( F @ Z4 )
            = ( G2 @ Z4 ) ) )
     => ( ( map_li7225945977422193158st_nat @ F @ X )
        = ( map_li7225945977422193158st_nat @ G2 @ X ) ) ) ).

% list.map_cong0
thf(fact_571_list_Omap__cong0,axiom,
    ! [X: list_list_nat,F: list_nat > set_nat,G2: list_nat > set_nat] :
      ( ! [Z4: list_nat] :
          ( ( member_list_nat @ Z4 @ ( set_list_nat2 @ X ) )
         => ( ( F @ Z4 )
            = ( G2 @ Z4 ) ) )
     => ( ( map_list_nat_set_nat @ F @ X )
        = ( map_list_nat_set_nat @ G2 @ X ) ) ) ).

% list.map_cong0
thf(fact_572_list_Omap__cong,axiom,
    ! [X: list_nat,Ya: list_nat,F: nat > nat,G2: nat > nat] :
      ( ( X = Ya )
     => ( ! [Z4: nat] :
            ( ( member_nat @ Z4 @ ( set_nat2 @ Ya ) )
           => ( ( F @ Z4 )
              = ( G2 @ Z4 ) ) )
       => ( ( map_nat_nat @ F @ X )
          = ( map_nat_nat @ G2 @ Ya ) ) ) ) ).

% list.map_cong
thf(fact_573_list_Omap__cong,axiom,
    ! [X: list_list_nat,Ya: list_list_nat,F: list_nat > list_nat,G2: list_nat > list_nat] :
      ( ( X = Ya )
     => ( ! [Z4: list_nat] :
            ( ( member_list_nat @ Z4 @ ( set_list_nat2 @ Ya ) )
           => ( ( F @ Z4 )
              = ( G2 @ Z4 ) ) )
       => ( ( map_li7225945977422193158st_nat @ F @ X )
          = ( map_li7225945977422193158st_nat @ G2 @ Ya ) ) ) ) ).

% list.map_cong
thf(fact_574_list_Omap__cong,axiom,
    ! [X: list_list_nat,Ya: list_list_nat,F: list_nat > set_nat,G2: list_nat > set_nat] :
      ( ( X = Ya )
     => ( ! [Z4: list_nat] :
            ( ( member_list_nat @ Z4 @ ( set_list_nat2 @ Ya ) )
           => ( ( F @ Z4 )
              = ( G2 @ Z4 ) ) )
       => ( ( map_list_nat_set_nat @ F @ X )
          = ( map_list_nat_set_nat @ G2 @ Ya ) ) ) ) ).

% list.map_cong
thf(fact_575_map__eq__append__conv,axiom,
    ! [F: list_nat > nat,Xs2: list_list_nat,Ys: list_nat,Zs2: list_nat] :
      ( ( ( map_list_nat_nat @ F @ Xs2 )
        = ( append_nat @ Ys @ Zs2 ) )
      = ( ? [Us2: list_list_nat,Vs: list_list_nat] :
            ( ( Xs2
              = ( append_list_nat @ Us2 @ Vs ) )
            & ( Ys
              = ( map_list_nat_nat @ F @ Us2 ) )
            & ( Zs2
              = ( map_list_nat_nat @ F @ Vs ) ) ) ) ) ).

% map_eq_append_conv
thf(fact_576_map__eq__append__conv,axiom,
    ! [F: nat > list_nat,Xs2: list_nat,Ys: list_list_nat,Zs2: list_list_nat] :
      ( ( ( map_nat_list_nat @ F @ Xs2 )
        = ( append_list_nat @ Ys @ Zs2 ) )
      = ( ? [Us2: list_nat,Vs: list_nat] :
            ( ( Xs2
              = ( append_nat @ Us2 @ Vs ) )
            & ( Ys
              = ( map_nat_list_nat @ F @ Us2 ) )
            & ( Zs2
              = ( map_nat_list_nat @ F @ Vs ) ) ) ) ) ).

% map_eq_append_conv
thf(fact_577_map__eq__append__conv,axiom,
    ! [F: list_nat > list_nat,Xs2: list_list_nat,Ys: list_list_nat,Zs2: list_list_nat] :
      ( ( ( map_li7225945977422193158st_nat @ F @ Xs2 )
        = ( append_list_nat @ Ys @ Zs2 ) )
      = ( ? [Us2: list_list_nat,Vs: list_list_nat] :
            ( ( Xs2
              = ( append_list_nat @ Us2 @ Vs ) )
            & ( Ys
              = ( map_li7225945977422193158st_nat @ F @ Us2 ) )
            & ( Zs2
              = ( map_li7225945977422193158st_nat @ F @ Vs ) ) ) ) ) ).

% map_eq_append_conv
thf(fact_578_map__eq__append__conv,axiom,
    ! [F: list_nat > set_nat,Xs2: list_list_nat,Ys: list_set_nat,Zs2: list_set_nat] :
      ( ( ( map_list_nat_set_nat @ F @ Xs2 )
        = ( append_set_nat @ Ys @ Zs2 ) )
      = ( ? [Us2: list_list_nat,Vs: list_list_nat] :
            ( ( Xs2
              = ( append_list_nat @ Us2 @ Vs ) )
            & ( Ys
              = ( map_list_nat_set_nat @ F @ Us2 ) )
            & ( Zs2
              = ( map_list_nat_set_nat @ F @ Vs ) ) ) ) ) ).

% map_eq_append_conv
thf(fact_579_map__eq__append__conv,axiom,
    ! [F: nat > nat,Xs2: list_nat,Ys: list_nat,Zs2: list_nat] :
      ( ( ( map_nat_nat @ F @ Xs2 )
        = ( append_nat @ Ys @ Zs2 ) )
      = ( ? [Us2: list_nat,Vs: list_nat] :
            ( ( Xs2
              = ( append_nat @ Us2 @ Vs ) )
            & ( Ys
              = ( map_nat_nat @ F @ Us2 ) )
            & ( Zs2
              = ( map_nat_nat @ F @ Vs ) ) ) ) ) ).

% map_eq_append_conv
thf(fact_580_append__eq__map__conv,axiom,
    ! [Ys: list_nat,Zs2: list_nat,F: list_nat > nat,Xs2: list_list_nat] :
      ( ( ( append_nat @ Ys @ Zs2 )
        = ( map_list_nat_nat @ F @ Xs2 ) )
      = ( ? [Us2: list_list_nat,Vs: list_list_nat] :
            ( ( Xs2
              = ( append_list_nat @ Us2 @ Vs ) )
            & ( Ys
              = ( map_list_nat_nat @ F @ Us2 ) )
            & ( Zs2
              = ( map_list_nat_nat @ F @ Vs ) ) ) ) ) ).

% append_eq_map_conv
thf(fact_581_append__eq__map__conv,axiom,
    ! [Ys: list_list_nat,Zs2: list_list_nat,F: nat > list_nat,Xs2: list_nat] :
      ( ( ( append_list_nat @ Ys @ Zs2 )
        = ( map_nat_list_nat @ F @ Xs2 ) )
      = ( ? [Us2: list_nat,Vs: list_nat] :
            ( ( Xs2
              = ( append_nat @ Us2 @ Vs ) )
            & ( Ys
              = ( map_nat_list_nat @ F @ Us2 ) )
            & ( Zs2
              = ( map_nat_list_nat @ F @ Vs ) ) ) ) ) ).

% append_eq_map_conv
thf(fact_582_append__eq__map__conv,axiom,
    ! [Ys: list_list_nat,Zs2: list_list_nat,F: list_nat > list_nat,Xs2: list_list_nat] :
      ( ( ( append_list_nat @ Ys @ Zs2 )
        = ( map_li7225945977422193158st_nat @ F @ Xs2 ) )
      = ( ? [Us2: list_list_nat,Vs: list_list_nat] :
            ( ( Xs2
              = ( append_list_nat @ Us2 @ Vs ) )
            & ( Ys
              = ( map_li7225945977422193158st_nat @ F @ Us2 ) )
            & ( Zs2
              = ( map_li7225945977422193158st_nat @ F @ Vs ) ) ) ) ) ).

% append_eq_map_conv
thf(fact_583_append__eq__map__conv,axiom,
    ! [Ys: list_set_nat,Zs2: list_set_nat,F: list_nat > set_nat,Xs2: list_list_nat] :
      ( ( ( append_set_nat @ Ys @ Zs2 )
        = ( map_list_nat_set_nat @ F @ Xs2 ) )
      = ( ? [Us2: list_list_nat,Vs: list_list_nat] :
            ( ( Xs2
              = ( append_list_nat @ Us2 @ Vs ) )
            & ( Ys
              = ( map_list_nat_set_nat @ F @ Us2 ) )
            & ( Zs2
              = ( map_list_nat_set_nat @ F @ Vs ) ) ) ) ) ).

% append_eq_map_conv
thf(fact_584_append__eq__map__conv,axiom,
    ! [Ys: list_nat,Zs2: list_nat,F: nat > nat,Xs2: list_nat] :
      ( ( ( append_nat @ Ys @ Zs2 )
        = ( map_nat_nat @ F @ Xs2 ) )
      = ( ? [Us2: list_nat,Vs: list_nat] :
            ( ( Xs2
              = ( append_nat @ Us2 @ Vs ) )
            & ( Ys
              = ( map_nat_nat @ F @ Us2 ) )
            & ( Zs2
              = ( map_nat_nat @ F @ Vs ) ) ) ) ) ).

% append_eq_map_conv
thf(fact_585_prefix__map__rightE,axiom,
    ! [Xs2: list_list_nat,F: list_nat > list_nat,Ys: list_list_nat] :
      ( ( prefix_list_nat @ Xs2 @ ( map_li7225945977422193158st_nat @ F @ Ys ) )
     => ? [Xs6: list_list_nat] :
          ( ( prefix_list_nat @ Xs6 @ Ys )
          & ( Xs2
            = ( map_li7225945977422193158st_nat @ F @ Xs6 ) ) ) ) ).

% prefix_map_rightE
thf(fact_586_prefix__map__rightE,axiom,
    ! [Xs2: list_set_nat,F: list_nat > set_nat,Ys: list_list_nat] :
      ( ( prefix_set_nat @ Xs2 @ ( map_list_nat_set_nat @ F @ Ys ) )
     => ? [Xs6: list_list_nat] :
          ( ( prefix_list_nat @ Xs6 @ Ys )
          & ( Xs2
            = ( map_list_nat_set_nat @ F @ Xs6 ) ) ) ) ).

% prefix_map_rightE
thf(fact_587_prefix__map__rightE,axiom,
    ! [Xs2: list_nat,F: nat > nat,Ys: list_nat] :
      ( ( prefix_nat @ Xs2 @ ( map_nat_nat @ F @ Ys ) )
     => ? [Xs6: list_nat] :
          ( ( prefix_nat @ Xs6 @ Ys )
          & ( Xs2
            = ( map_nat_nat @ F @ Xs6 ) ) ) ) ).

% prefix_map_rightE
thf(fact_588_map__mono__prefix,axiom,
    ! [Xs2: list_list_nat,Ys: list_list_nat,F: list_nat > list_nat] :
      ( ( prefix_list_nat @ Xs2 @ Ys )
     => ( prefix_list_nat @ ( map_li7225945977422193158st_nat @ F @ Xs2 ) @ ( map_li7225945977422193158st_nat @ F @ Ys ) ) ) ).

% map_mono_prefix
thf(fact_589_map__mono__prefix,axiom,
    ! [Xs2: list_list_nat,Ys: list_list_nat,F: list_nat > set_nat] :
      ( ( prefix_list_nat @ Xs2 @ Ys )
     => ( prefix_set_nat @ ( map_list_nat_set_nat @ F @ Xs2 ) @ ( map_list_nat_set_nat @ F @ Ys ) ) ) ).

% map_mono_prefix
thf(fact_590_map__mono__prefix,axiom,
    ! [Xs2: list_nat,Ys: list_nat,F: nat > nat] :
      ( ( prefix_nat @ Xs2 @ Ys )
     => ( prefix_nat @ ( map_nat_nat @ F @ Xs2 ) @ ( map_nat_nat @ F @ Ys ) ) ) ).

% map_mono_prefix
thf(fact_591_butlast_Osimps_I1_J,axiom,
    ( ( butlast_list_nat @ nil_list_nat )
    = nil_list_nat ) ).

% butlast.simps(1)
thf(fact_592_butlast_Osimps_I1_J,axiom,
    ( ( butlast_nat @ nil_nat )
    = nil_nat ) ).

% butlast.simps(1)
thf(fact_593_in__set__butlastD,axiom,
    ! [X: set_nat,Xs2: list_set_nat] :
      ( ( member_set_nat @ X @ ( set_set_nat2 @ ( butlast_set_nat @ Xs2 ) ) )
     => ( member_set_nat @ X @ ( set_set_nat2 @ Xs2 ) ) ) ).

% in_set_butlastD
thf(fact_594_in__set__butlastD,axiom,
    ! [X: list_nat,Xs2: list_list_nat] :
      ( ( member_list_nat @ X @ ( set_list_nat2 @ ( butlast_list_nat @ Xs2 ) ) )
     => ( member_list_nat @ X @ ( set_list_nat2 @ Xs2 ) ) ) ).

% in_set_butlastD
thf(fact_595_in__set__butlastD,axiom,
    ! [X: nat,Xs2: list_nat] :
      ( ( member_nat @ X @ ( set_nat2 @ ( butlast_nat @ Xs2 ) ) )
     => ( member_nat @ X @ ( set_nat2 @ Xs2 ) ) ) ).

% in_set_butlastD
thf(fact_596_prefixeq__butlast,axiom,
    ! [Xs2: list_nat] : ( prefix_nat @ ( butlast_nat @ Xs2 ) @ Xs2 ) ).

% prefixeq_butlast
thf(fact_597_rotate1_Osimps_I1_J,axiom,
    ( ( rotate1_list_nat @ nil_list_nat )
    = nil_list_nat ) ).

% rotate1.simps(1)
thf(fact_598_rotate1_Osimps_I1_J,axiom,
    ( ( rotate1_nat @ nil_nat )
    = nil_nat ) ).

% rotate1.simps(1)
thf(fact_599_snoc__eq__iff__butlast,axiom,
    ! [Xs2: list_list_nat,X: list_nat,Ys: list_list_nat] :
      ( ( ( append_list_nat @ Xs2 @ ( cons_list_nat @ X @ nil_list_nat ) )
        = Ys )
      = ( ( Ys != nil_list_nat )
        & ( ( butlast_list_nat @ Ys )
          = Xs2 )
        & ( ( last_list_nat @ Ys )
          = X ) ) ) ).

% snoc_eq_iff_butlast
thf(fact_600_snoc__eq__iff__butlast,axiom,
    ! [Xs2: list_nat,X: nat,Ys: list_nat] :
      ( ( ( append_nat @ Xs2 @ ( cons_nat @ X @ nil_nat ) )
        = Ys )
      = ( ( Ys != nil_nat )
        & ( ( butlast_nat @ Ys )
          = Xs2 )
        & ( ( last_nat @ Ys )
          = X ) ) ) ).

% snoc_eq_iff_butlast
thf(fact_601_concat_Osimps_I2_J,axiom,
    ! [X: list_list_nat,Xs2: list_list_list_nat] :
      ( ( concat_list_nat @ ( cons_list_list_nat @ X @ Xs2 ) )
      = ( append_list_nat @ X @ ( concat_list_nat @ Xs2 ) ) ) ).

% concat.simps(2)
thf(fact_602_concat_Osimps_I2_J,axiom,
    ! [X: list_nat,Xs2: list_list_nat] :
      ( ( concat_nat @ ( cons_list_nat @ X @ Xs2 ) )
      = ( append_nat @ X @ ( concat_nat @ Xs2 ) ) ) ).

% concat.simps(2)
thf(fact_603_last__ConsR,axiom,
    ! [Xs2: list_list_nat,X: list_nat] :
      ( ( Xs2 != nil_list_nat )
     => ( ( last_list_nat @ ( cons_list_nat @ X @ Xs2 ) )
        = ( last_list_nat @ Xs2 ) ) ) ).

% last_ConsR
thf(fact_604_last__ConsR,axiom,
    ! [Xs2: list_nat,X: nat] :
      ( ( Xs2 != nil_nat )
     => ( ( last_nat @ ( cons_nat @ X @ Xs2 ) )
        = ( last_nat @ Xs2 ) ) ) ).

% last_ConsR
thf(fact_605_last__ConsL,axiom,
    ! [Xs2: list_list_nat,X: list_nat] :
      ( ( Xs2 = nil_list_nat )
     => ( ( last_list_nat @ ( cons_list_nat @ X @ Xs2 ) )
        = X ) ) ).

% last_ConsL
thf(fact_606_last__ConsL,axiom,
    ! [Xs2: list_nat,X: nat] :
      ( ( Xs2 = nil_nat )
     => ( ( last_nat @ ( cons_nat @ X @ Xs2 ) )
        = X ) ) ).

% last_ConsL
thf(fact_607_last_Osimps,axiom,
    ! [Xs2: list_list_nat,X: list_nat] :
      ( ( ( Xs2 = nil_list_nat )
       => ( ( last_list_nat @ ( cons_list_nat @ X @ Xs2 ) )
          = X ) )
      & ( ( Xs2 != nil_list_nat )
       => ( ( last_list_nat @ ( cons_list_nat @ X @ Xs2 ) )
          = ( last_list_nat @ Xs2 ) ) ) ) ).

% last.simps
thf(fact_608_last_Osimps,axiom,
    ! [Xs2: list_nat,X: nat] :
      ( ( ( Xs2 = nil_nat )
       => ( ( last_nat @ ( cons_nat @ X @ Xs2 ) )
          = X ) )
      & ( ( Xs2 != nil_nat )
       => ( ( last_nat @ ( cons_nat @ X @ Xs2 ) )
          = ( last_nat @ Xs2 ) ) ) ) ).

% last.simps
thf(fact_609_concat_Osimps_I1_J,axiom,
    ( ( concat_list_nat @ nil_list_list_nat )
    = nil_list_nat ) ).

% concat.simps(1)
thf(fact_610_concat_Osimps_I1_J,axiom,
    ( ( concat_nat @ nil_list_nat )
    = nil_nat ) ).

% concat.simps(1)
thf(fact_611_last__in__set,axiom,
    ! [As2: list_set_nat] :
      ( ( As2 != nil_set_nat )
     => ( member_set_nat @ ( last_set_nat @ As2 ) @ ( set_set_nat2 @ As2 ) ) ) ).

% last_in_set
thf(fact_612_last__in__set,axiom,
    ! [As2: list_list_nat] :
      ( ( As2 != nil_list_nat )
     => ( member_list_nat @ ( last_list_nat @ As2 ) @ ( set_list_nat2 @ As2 ) ) ) ).

% last_in_set
thf(fact_613_last__in__set,axiom,
    ! [As2: list_nat] :
      ( ( As2 != nil_nat )
     => ( member_nat @ ( last_nat @ As2 ) @ ( set_nat2 @ As2 ) ) ) ).

% last_in_set
thf(fact_614_longest__common__suffix,axiom,
    ! [Xs2: list_list_nat,Ys: list_list_nat] :
    ? [Ss: list_list_nat,Xs6: list_list_nat,Ys6: list_list_nat] :
      ( ( Xs2
        = ( append_list_nat @ Xs6 @ Ss ) )
      & ( Ys
        = ( append_list_nat @ Ys6 @ Ss ) )
      & ( ( Xs6 = nil_list_nat )
        | ( Ys6 = nil_list_nat )
        | ( ( last_list_nat @ Xs6 )
         != ( last_list_nat @ Ys6 ) ) ) ) ).

% longest_common_suffix
thf(fact_615_longest__common__suffix,axiom,
    ! [Xs2: list_nat,Ys: list_nat] :
    ? [Ss: list_nat,Xs6: list_nat,Ys6: list_nat] :
      ( ( Xs2
        = ( append_nat @ Xs6 @ Ss ) )
      & ( Ys
        = ( append_nat @ Ys6 @ Ss ) )
      & ( ( Xs6 = nil_nat )
        | ( Ys6 = nil_nat )
        | ( ( last_nat @ Xs6 )
         != ( last_nat @ Ys6 ) ) ) ) ).

% longest_common_suffix
thf(fact_616_last__append,axiom,
    ! [Ys: list_list_nat,Xs2: list_list_nat] :
      ( ( ( Ys = nil_list_nat )
       => ( ( last_list_nat @ ( append_list_nat @ Xs2 @ Ys ) )
          = ( last_list_nat @ Xs2 ) ) )
      & ( ( Ys != nil_list_nat )
       => ( ( last_list_nat @ ( append_list_nat @ Xs2 @ Ys ) )
          = ( last_list_nat @ Ys ) ) ) ) ).

% last_append
thf(fact_617_last__append,axiom,
    ! [Ys: list_nat,Xs2: list_nat] :
      ( ( ( Ys = nil_nat )
       => ( ( last_nat @ ( append_nat @ Xs2 @ Ys ) )
          = ( last_nat @ Xs2 ) ) )
      & ( ( Ys != nil_nat )
       => ( ( last_nat @ ( append_nat @ Xs2 @ Ys ) )
          = ( last_nat @ Ys ) ) ) ) ).

% last_append
thf(fact_618_butlast_Osimps_I2_J,axiom,
    ! [Xs2: list_list_nat,X: list_nat] :
      ( ( ( Xs2 = nil_list_nat )
       => ( ( butlast_list_nat @ ( cons_list_nat @ X @ Xs2 ) )
          = nil_list_nat ) )
      & ( ( Xs2 != nil_list_nat )
       => ( ( butlast_list_nat @ ( cons_list_nat @ X @ Xs2 ) )
          = ( cons_list_nat @ X @ ( butlast_list_nat @ Xs2 ) ) ) ) ) ).

% butlast.simps(2)
thf(fact_619_butlast_Osimps_I2_J,axiom,
    ! [Xs2: list_nat,X: nat] :
      ( ( ( Xs2 = nil_nat )
       => ( ( butlast_nat @ ( cons_nat @ X @ Xs2 ) )
          = nil_nat ) )
      & ( ( Xs2 != nil_nat )
       => ( ( butlast_nat @ ( cons_nat @ X @ Xs2 ) )
          = ( cons_nat @ X @ ( butlast_nat @ Xs2 ) ) ) ) ) ).

% butlast.simps(2)
thf(fact_620_butlast__append,axiom,
    ! [Ys: list_list_nat,Xs2: list_list_nat] :
      ( ( ( Ys = nil_list_nat )
       => ( ( butlast_list_nat @ ( append_list_nat @ Xs2 @ Ys ) )
          = ( butlast_list_nat @ Xs2 ) ) )
      & ( ( Ys != nil_list_nat )
       => ( ( butlast_list_nat @ ( append_list_nat @ Xs2 @ Ys ) )
          = ( append_list_nat @ Xs2 @ ( butlast_list_nat @ Ys ) ) ) ) ) ).

% butlast_append
thf(fact_621_butlast__append,axiom,
    ! [Ys: list_nat,Xs2: list_nat] :
      ( ( ( Ys = nil_nat )
       => ( ( butlast_nat @ ( append_nat @ Xs2 @ Ys ) )
          = ( butlast_nat @ Xs2 ) ) )
      & ( ( Ys != nil_nat )
       => ( ( butlast_nat @ ( append_nat @ Xs2 @ Ys ) )
          = ( append_nat @ Xs2 @ ( butlast_nat @ Ys ) ) ) ) ) ).

% butlast_append
thf(fact_622_in__set__butlast__appendI,axiom,
    ! [X: set_nat,Xs2: list_set_nat,Ys: list_set_nat] :
      ( ( ( member_set_nat @ X @ ( set_set_nat2 @ ( butlast_set_nat @ Xs2 ) ) )
        | ( member_set_nat @ X @ ( set_set_nat2 @ ( butlast_set_nat @ Ys ) ) ) )
     => ( member_set_nat @ X @ ( set_set_nat2 @ ( butlast_set_nat @ ( append_set_nat @ Xs2 @ Ys ) ) ) ) ) ).

% in_set_butlast_appendI
thf(fact_623_in__set__butlast__appendI,axiom,
    ! [X: list_nat,Xs2: list_list_nat,Ys: list_list_nat] :
      ( ( ( member_list_nat @ X @ ( set_list_nat2 @ ( butlast_list_nat @ Xs2 ) ) )
        | ( member_list_nat @ X @ ( set_list_nat2 @ ( butlast_list_nat @ Ys ) ) ) )
     => ( member_list_nat @ X @ ( set_list_nat2 @ ( butlast_list_nat @ ( append_list_nat @ Xs2 @ Ys ) ) ) ) ) ).

% in_set_butlast_appendI
thf(fact_624_in__set__butlast__appendI,axiom,
    ! [X: nat,Xs2: list_nat,Ys: list_nat] :
      ( ( ( member_nat @ X @ ( set_nat2 @ ( butlast_nat @ Xs2 ) ) )
        | ( member_nat @ X @ ( set_nat2 @ ( butlast_nat @ Ys ) ) ) )
     => ( member_nat @ X @ ( set_nat2 @ ( butlast_nat @ ( append_nat @ Xs2 @ Ys ) ) ) ) ) ).

% in_set_butlast_appendI
thf(fact_625_list__ex1__iff,axiom,
    ( list_ex1_set_nat
    = ( ^ [P2: set_nat > $o,Xs4: list_set_nat] :
        ? [X4: set_nat] :
          ( ( member_set_nat @ X4 @ ( set_set_nat2 @ Xs4 ) )
          & ( P2 @ X4 )
          & ! [Y5: set_nat] :
              ( ( ( member_set_nat @ Y5 @ ( set_set_nat2 @ Xs4 ) )
                & ( P2 @ Y5 ) )
             => ( Y5 = X4 ) ) ) ) ) ).

% list_ex1_iff
thf(fact_626_list__ex1__iff,axiom,
    ( list_ex1_list_nat
    = ( ^ [P2: list_nat > $o,Xs4: list_list_nat] :
        ? [X4: list_nat] :
          ( ( member_list_nat @ X4 @ ( set_list_nat2 @ Xs4 ) )
          & ( P2 @ X4 )
          & ! [Y5: list_nat] :
              ( ( ( member_list_nat @ Y5 @ ( set_list_nat2 @ Xs4 ) )
                & ( P2 @ Y5 ) )
             => ( Y5 = X4 ) ) ) ) ) ).

% list_ex1_iff
thf(fact_627_list__ex1__iff,axiom,
    ( list_ex1_nat
    = ( ^ [P2: nat > $o,Xs4: list_nat] :
        ? [X4: nat] :
          ( ( member_nat @ X4 @ ( set_nat2 @ Xs4 ) )
          & ( P2 @ X4 )
          & ! [Y5: nat] :
              ( ( ( member_nat @ Y5 @ ( set_nat2 @ Xs4 ) )
                & ( P2 @ Y5 ) )
             => ( Y5 = X4 ) ) ) ) ) ).

% list_ex1_iff
thf(fact_628_can__select__set__list__ex1,axiom,
    ! [P: list_nat > $o,A4: list_list_nat] :
      ( ( can_select_list_nat @ P @ ( set_list_nat2 @ A4 ) )
      = ( list_ex1_list_nat @ P @ A4 ) ) ).

% can_select_set_list_ex1
thf(fact_629_can__select__set__list__ex1,axiom,
    ! [P: nat > $o,A4: list_nat] :
      ( ( can_select_nat @ P @ ( set_nat2 @ A4 ) )
      = ( list_ex1_nat @ P @ A4 ) ) ).

% can_select_set_list_ex1
thf(fact_630_map__eq__map__tailrec,axiom,
    map_li7225945977422193158st_nat = map_ta9145449198693458768st_nat ).

% map_eq_map_tailrec
thf(fact_631_map__eq__map__tailrec,axiom,
    map_nat_nat = map_tailrec_nat_nat ).

% map_eq_map_tailrec
thf(fact_632_map__eq__map__tailrec,axiom,
    map_list_nat_set_nat = map_ta5245179185533627382et_nat ).

% map_eq_map_tailrec
thf(fact_633_subset__subseqs,axiom,
    ! [X6: set_list_nat,Xs2: list_list_nat] :
      ( ( ord_le6045566169113846134st_nat @ X6 @ ( set_list_nat2 @ Xs2 ) )
     => ( member_set_list_nat @ X6 @ ( image_4375647060027540749st_nat @ set_list_nat2 @ ( set_list_list_nat2 @ ( subseqs_list_nat @ Xs2 ) ) ) ) ) ).

% subset_subseqs
thf(fact_634_subset__subseqs,axiom,
    ! [X6: set_nat,Xs2: list_nat] :
      ( ( ord_less_eq_set_nat @ X6 @ ( set_nat2 @ Xs2 ) )
     => ( member_set_nat @ X6 @ ( image_1775855109352712557et_nat @ set_nat2 @ ( set_list_nat2 @ ( subseqs_nat @ Xs2 ) ) ) ) ) ).

% subset_subseqs
thf(fact_635_transpose__empty,axiom,
    ! [Xs2: list_list_list_nat] :
      ( ( ( transpose_list_nat @ Xs2 )
        = nil_list_list_nat )
      = ( ! [X4: list_list_nat] :
            ( ( member_list_list_nat @ X4 @ ( set_list_list_nat2 @ Xs2 ) )
           => ( X4 = nil_list_nat ) ) ) ) ).

% transpose_empty
thf(fact_636_transpose__empty,axiom,
    ! [Xs2: list_list_nat] :
      ( ( ( transpose_nat @ Xs2 )
        = nil_list_nat )
      = ( ! [X4: list_nat] :
            ( ( member_list_nat @ X4 @ ( set_list_nat2 @ Xs2 ) )
           => ( X4 = nil_nat ) ) ) ) ).

% transpose_empty
thf(fact_637_concat__conv__foldr,axiom,
    ( concat_list_nat
    = ( ^ [Xss3: list_list_list_nat] : ( foldr_7810631890432470921st_nat @ append_list_nat @ Xss3 @ nil_list_nat ) ) ) ).

% concat_conv_foldr
thf(fact_638_concat__conv__foldr,axiom,
    ( concat_nat
    = ( ^ [Xss3: list_list_nat] : ( foldr_6871341030409798377st_nat @ append_nat @ Xss3 @ nil_nat ) ) ) ).

% concat_conv_foldr
thf(fact_639_prefix__snocD,axiom,
    ! [Xs2: list_list_nat,X: list_nat,Ys: list_list_nat] :
      ( ( prefix_list_nat @ ( append_list_nat @ Xs2 @ ( cons_list_nat @ X @ nil_list_nat ) ) @ Ys )
     => ( strict6380099159608944142st_nat @ Xs2 @ Ys ) ) ).

% prefix_snocD
thf(fact_640_prefix__snocD,axiom,
    ! [Xs2: list_nat,X: nat,Ys: list_nat] :
      ( ( prefix_nat @ ( append_nat @ Xs2 @ ( cons_nat @ X @ nil_nat ) ) @ Ys )
     => ( strict_prefix_nat @ Xs2 @ Ys ) ) ).

% prefix_snocD
thf(fact_641_image__eqI,axiom,
    ! [B: nat,F: nat > nat,X: nat,A4: set_nat] :
      ( ( B
        = ( F @ X ) )
     => ( ( member_nat @ X @ A4 )
       => ( member_nat @ B @ ( image_nat_nat @ F @ A4 ) ) ) ) ).

% image_eqI
thf(fact_642_image__eqI,axiom,
    ! [B: list_nat,F: nat > list_nat,X: nat,A4: set_nat] :
      ( ( B
        = ( F @ X ) )
     => ( ( member_nat @ X @ A4 )
       => ( member_list_nat @ B @ ( image_nat_list_nat @ F @ A4 ) ) ) ) ).

% image_eqI
thf(fact_643_image__eqI,axiom,
    ! [B: set_nat,F: nat > set_nat,X: nat,A4: set_nat] :
      ( ( B
        = ( F @ X ) )
     => ( ( member_nat @ X @ A4 )
       => ( member_set_nat @ B @ ( image_nat_set_nat @ F @ A4 ) ) ) ) ).

% image_eqI
thf(fact_644_image__eqI,axiom,
    ! [B: nat,F: list_nat > nat,X: list_nat,A4: set_list_nat] :
      ( ( B
        = ( F @ X ) )
     => ( ( member_list_nat @ X @ A4 )
       => ( member_nat @ B @ ( image_list_nat_nat @ F @ A4 ) ) ) ) ).

% image_eqI
thf(fact_645_image__eqI,axiom,
    ! [B: list_nat,F: list_nat > list_nat,X: list_nat,A4: set_list_nat] :
      ( ( B
        = ( F @ X ) )
     => ( ( member_list_nat @ X @ A4 )
       => ( member_list_nat @ B @ ( image_7976474329151083847st_nat @ F @ A4 ) ) ) ) ).

% image_eqI
thf(fact_646_image__eqI,axiom,
    ! [B: set_nat,F: list_nat > set_nat,X: list_nat,A4: set_list_nat] :
      ( ( B
        = ( F @ X ) )
     => ( ( member_list_nat @ X @ A4 )
       => ( member_set_nat @ B @ ( image_1775855109352712557et_nat @ F @ A4 ) ) ) ) ).

% image_eqI
thf(fact_647_image__eqI,axiom,
    ! [B: nat,F: set_nat > nat,X: set_nat,A4: set_set_nat] :
      ( ( B
        = ( F @ X ) )
     => ( ( member_set_nat @ X @ A4 )
       => ( member_nat @ B @ ( image_set_nat_nat @ F @ A4 ) ) ) ) ).

% image_eqI
thf(fact_648_image__eqI,axiom,
    ! [B: list_nat,F: set_nat > list_nat,X: set_nat,A4: set_set_nat] :
      ( ( B
        = ( F @ X ) )
     => ( ( member_set_nat @ X @ A4 )
       => ( member_list_nat @ B @ ( image_5426082062715393517st_nat @ F @ A4 ) ) ) ) ).

% image_eqI
thf(fact_649_image__eqI,axiom,
    ! [B: set_nat,F: set_nat > set_nat,X: set_nat,A4: set_set_nat] :
      ( ( B
        = ( F @ X ) )
     => ( ( member_set_nat @ X @ A4 )
       => ( member_set_nat @ B @ ( image_7916887816326733075et_nat @ F @ A4 ) ) ) ) ).

% image_eqI
thf(fact_650_strict__prefix__simps_I3_J,axiom,
    ! [X: list_nat,Xs2: list_list_nat,Y3: list_nat,Ys: list_list_nat] :
      ( ( strict6380099159608944142st_nat @ ( cons_list_nat @ X @ Xs2 ) @ ( cons_list_nat @ Y3 @ Ys ) )
      = ( ( X = Y3 )
        & ( strict6380099159608944142st_nat @ Xs2 @ Ys ) ) ) ).

% strict_prefix_simps(3)
thf(fact_651_strict__prefix__simps_I3_J,axiom,
    ! [X: nat,Xs2: list_nat,Y3: nat,Ys: list_nat] :
      ( ( strict_prefix_nat @ ( cons_nat @ X @ Xs2 ) @ ( cons_nat @ Y3 @ Ys ) )
      = ( ( X = Y3 )
        & ( strict_prefix_nat @ Xs2 @ Ys ) ) ) ).

% strict_prefix_simps(3)
thf(fact_652_strict__prefix__simps_I1_J,axiom,
    ! [Xs2: list_list_nat] :
      ~ ( strict6380099159608944142st_nat @ Xs2 @ nil_list_nat ) ).

% strict_prefix_simps(1)
thf(fact_653_strict__prefix__simps_I1_J,axiom,
    ! [Xs2: list_nat] :
      ~ ( strict_prefix_nat @ Xs2 @ nil_nat ) ).

% strict_prefix_simps(1)
thf(fact_654_foldr__append,axiom,
    ! [F: list_nat > list_nat > list_nat,Xs2: list_list_nat,Ys: list_list_nat,A: list_nat] :
      ( ( foldr_6871341030409798377st_nat @ F @ ( append_list_nat @ Xs2 @ Ys ) @ A )
      = ( foldr_6871341030409798377st_nat @ F @ Xs2 @ ( foldr_6871341030409798377st_nat @ F @ Ys @ A ) ) ) ).

% foldr_append
thf(fact_655_list_Oset__map,axiom,
    ! [F: list_nat > set_nat,V: list_list_nat] :
      ( ( set_set_nat2 @ ( map_list_nat_set_nat @ F @ V ) )
      = ( image_1775855109352712557et_nat @ F @ ( set_list_nat2 @ V ) ) ) ).

% list.set_map
thf(fact_656_list_Oset__map,axiom,
    ! [F: list_nat > nat,V: list_list_nat] :
      ( ( set_nat2 @ ( map_list_nat_nat @ F @ V ) )
      = ( image_list_nat_nat @ F @ ( set_list_nat2 @ V ) ) ) ).

% list.set_map
thf(fact_657_list_Oset__map,axiom,
    ! [F: nat > list_nat,V: list_nat] :
      ( ( set_list_nat2 @ ( map_nat_list_nat @ F @ V ) )
      = ( image_nat_list_nat @ F @ ( set_nat2 @ V ) ) ) ).

% list.set_map
thf(fact_658_list_Oset__map,axiom,
    ! [F: list_nat > list_nat,V: list_list_nat] :
      ( ( set_list_nat2 @ ( map_li7225945977422193158st_nat @ F @ V ) )
      = ( image_7976474329151083847st_nat @ F @ ( set_list_nat2 @ V ) ) ) ).

% list.set_map
thf(fact_659_list_Oset__map,axiom,
    ! [F: nat > nat,V: list_nat] :
      ( ( set_nat2 @ ( map_nat_nat @ F @ V ) )
      = ( image_nat_nat @ F @ ( set_nat2 @ V ) ) ) ).

% list.set_map
thf(fact_660_strict__prefix__simps_I2_J,axiom,
    ! [X: list_nat,Xs2: list_list_nat] : ( strict6380099159608944142st_nat @ nil_list_nat @ ( cons_list_nat @ X @ Xs2 ) ) ).

% strict_prefix_simps(2)
thf(fact_661_strict__prefix__simps_I2_J,axiom,
    ! [X: nat,Xs2: list_nat] : ( strict_prefix_nat @ nil_nat @ ( cons_nat @ X @ Xs2 ) ) ).

% strict_prefix_simps(2)
thf(fact_662_rev__image__eqI,axiom,
    ! [X: nat,A4: set_nat,B: nat,F: nat > nat] :
      ( ( member_nat @ X @ A4 )
     => ( ( B
          = ( F @ X ) )
       => ( member_nat @ B @ ( image_nat_nat @ F @ A4 ) ) ) ) ).

% rev_image_eqI
thf(fact_663_rev__image__eqI,axiom,
    ! [X: nat,A4: set_nat,B: list_nat,F: nat > list_nat] :
      ( ( member_nat @ X @ A4 )
     => ( ( B
          = ( F @ X ) )
       => ( member_list_nat @ B @ ( image_nat_list_nat @ F @ A4 ) ) ) ) ).

% rev_image_eqI
thf(fact_664_rev__image__eqI,axiom,
    ! [X: nat,A4: set_nat,B: set_nat,F: nat > set_nat] :
      ( ( member_nat @ X @ A4 )
     => ( ( B
          = ( F @ X ) )
       => ( member_set_nat @ B @ ( image_nat_set_nat @ F @ A4 ) ) ) ) ).

% rev_image_eqI
thf(fact_665_rev__image__eqI,axiom,
    ! [X: list_nat,A4: set_list_nat,B: nat,F: list_nat > nat] :
      ( ( member_list_nat @ X @ A4 )
     => ( ( B
          = ( F @ X ) )
       => ( member_nat @ B @ ( image_list_nat_nat @ F @ A4 ) ) ) ) ).

% rev_image_eqI
thf(fact_666_rev__image__eqI,axiom,
    ! [X: list_nat,A4: set_list_nat,B: list_nat,F: list_nat > list_nat] :
      ( ( member_list_nat @ X @ A4 )
     => ( ( B
          = ( F @ X ) )
       => ( member_list_nat @ B @ ( image_7976474329151083847st_nat @ F @ A4 ) ) ) ) ).

% rev_image_eqI
thf(fact_667_rev__image__eqI,axiom,
    ! [X: list_nat,A4: set_list_nat,B: set_nat,F: list_nat > set_nat] :
      ( ( member_list_nat @ X @ A4 )
     => ( ( B
          = ( F @ X ) )
       => ( member_set_nat @ B @ ( image_1775855109352712557et_nat @ F @ A4 ) ) ) ) ).

% rev_image_eqI
thf(fact_668_rev__image__eqI,axiom,
    ! [X: set_nat,A4: set_set_nat,B: nat,F: set_nat > nat] :
      ( ( member_set_nat @ X @ A4 )
     => ( ( B
          = ( F @ X ) )
       => ( member_nat @ B @ ( image_set_nat_nat @ F @ A4 ) ) ) ) ).

% rev_image_eqI
thf(fact_669_rev__image__eqI,axiom,
    ! [X: set_nat,A4: set_set_nat,B: list_nat,F: set_nat > list_nat] :
      ( ( member_set_nat @ X @ A4 )
     => ( ( B
          = ( F @ X ) )
       => ( member_list_nat @ B @ ( image_5426082062715393517st_nat @ F @ A4 ) ) ) ) ).

% rev_image_eqI
thf(fact_670_rev__image__eqI,axiom,
    ! [X: set_nat,A4: set_set_nat,B: set_nat,F: set_nat > set_nat] :
      ( ( member_set_nat @ X @ A4 )
     => ( ( B
          = ( F @ X ) )
       => ( member_set_nat @ B @ ( image_7916887816326733075et_nat @ F @ A4 ) ) ) ) ).

% rev_image_eqI
thf(fact_671_ball__imageD,axiom,
    ! [F: list_nat > set_nat,A4: set_list_nat,P: set_nat > $o] :
      ( ! [X2: set_nat] :
          ( ( member_set_nat @ X2 @ ( image_1775855109352712557et_nat @ F @ A4 ) )
         => ( P @ X2 ) )
     => ! [X3: list_nat] :
          ( ( member_list_nat @ X3 @ A4 )
         => ( P @ ( F @ X3 ) ) ) ) ).

% ball_imageD
thf(fact_672_ball__imageD,axiom,
    ! [F: nat > nat,A4: set_nat,P: nat > $o] :
      ( ! [X2: nat] :
          ( ( member_nat @ X2 @ ( image_nat_nat @ F @ A4 ) )
         => ( P @ X2 ) )
     => ! [X3: nat] :
          ( ( member_nat @ X3 @ A4 )
         => ( P @ ( F @ X3 ) ) ) ) ).

% ball_imageD
thf(fact_673_ball__imageD,axiom,
    ! [F: list_nat > list_nat,A4: set_list_nat,P: list_nat > $o] :
      ( ! [X2: list_nat] :
          ( ( member_list_nat @ X2 @ ( image_7976474329151083847st_nat @ F @ A4 ) )
         => ( P @ X2 ) )
     => ! [X3: list_nat] :
          ( ( member_list_nat @ X3 @ A4 )
         => ( P @ ( F @ X3 ) ) ) ) ).

% ball_imageD
thf(fact_674_image__cong,axiom,
    ! [M2: set_nat,N2: set_nat,F: nat > nat,G2: nat > nat] :
      ( ( M2 = N2 )
     => ( ! [X2: nat] :
            ( ( member_nat @ X2 @ N2 )
           => ( ( F @ X2 )
              = ( G2 @ X2 ) ) )
       => ( ( image_nat_nat @ F @ M2 )
          = ( image_nat_nat @ G2 @ N2 ) ) ) ) ).

% image_cong
thf(fact_675_image__cong,axiom,
    ! [M2: set_list_nat,N2: set_list_nat,F: list_nat > set_nat,G2: list_nat > set_nat] :
      ( ( M2 = N2 )
     => ( ! [X2: list_nat] :
            ( ( member_list_nat @ X2 @ N2 )
           => ( ( F @ X2 )
              = ( G2 @ X2 ) ) )
       => ( ( image_1775855109352712557et_nat @ F @ M2 )
          = ( image_1775855109352712557et_nat @ G2 @ N2 ) ) ) ) ).

% image_cong
thf(fact_676_image__cong,axiom,
    ! [M2: set_list_nat,N2: set_list_nat,F: list_nat > list_nat,G2: list_nat > list_nat] :
      ( ( M2 = N2 )
     => ( ! [X2: list_nat] :
            ( ( member_list_nat @ X2 @ N2 )
           => ( ( F @ X2 )
              = ( G2 @ X2 ) ) )
       => ( ( image_7976474329151083847st_nat @ F @ M2 )
          = ( image_7976474329151083847st_nat @ G2 @ N2 ) ) ) ) ).

% image_cong
thf(fact_677_bex__imageD,axiom,
    ! [F: list_nat > set_nat,A4: set_list_nat,P: set_nat > $o] :
      ( ? [X3: set_nat] :
          ( ( member_set_nat @ X3 @ ( image_1775855109352712557et_nat @ F @ A4 ) )
          & ( P @ X3 ) )
     => ? [X2: list_nat] :
          ( ( member_list_nat @ X2 @ A4 )
          & ( P @ ( F @ X2 ) ) ) ) ).

% bex_imageD
thf(fact_678_bex__imageD,axiom,
    ! [F: nat > nat,A4: set_nat,P: nat > $o] :
      ( ? [X3: nat] :
          ( ( member_nat @ X3 @ ( image_nat_nat @ F @ A4 ) )
          & ( P @ X3 ) )
     => ? [X2: nat] :
          ( ( member_nat @ X2 @ A4 )
          & ( P @ ( F @ X2 ) ) ) ) ).

% bex_imageD
thf(fact_679_bex__imageD,axiom,
    ! [F: list_nat > list_nat,A4: set_list_nat,P: list_nat > $o] :
      ( ? [X3: list_nat] :
          ( ( member_list_nat @ X3 @ ( image_7976474329151083847st_nat @ F @ A4 ) )
          & ( P @ X3 ) )
     => ? [X2: list_nat] :
          ( ( member_list_nat @ X2 @ A4 )
          & ( P @ ( F @ X2 ) ) ) ) ).

% bex_imageD
thf(fact_680_image__iff,axiom,
    ! [Z2: nat,F: nat > nat,A4: set_nat] :
      ( ( member_nat @ Z2 @ ( image_nat_nat @ F @ A4 ) )
      = ( ? [X4: nat] :
            ( ( member_nat @ X4 @ A4 )
            & ( Z2
              = ( F @ X4 ) ) ) ) ) ).

% image_iff
thf(fact_681_image__iff,axiom,
    ! [Z2: list_nat,F: list_nat > list_nat,A4: set_list_nat] :
      ( ( member_list_nat @ Z2 @ ( image_7976474329151083847st_nat @ F @ A4 ) )
      = ( ? [X4: list_nat] :
            ( ( member_list_nat @ X4 @ A4 )
            & ( Z2
              = ( F @ X4 ) ) ) ) ) ).

% image_iff
thf(fact_682_image__iff,axiom,
    ! [Z2: set_nat,F: list_nat > set_nat,A4: set_list_nat] :
      ( ( member_set_nat @ Z2 @ ( image_1775855109352712557et_nat @ F @ A4 ) )
      = ( ? [X4: list_nat] :
            ( ( member_list_nat @ X4 @ A4 )
            & ( Z2
              = ( F @ X4 ) ) ) ) ) ).

% image_iff
thf(fact_683_imageI,axiom,
    ! [X: nat,A4: set_nat,F: nat > nat] :
      ( ( member_nat @ X @ A4 )
     => ( member_nat @ ( F @ X ) @ ( image_nat_nat @ F @ A4 ) ) ) ).

% imageI
thf(fact_684_imageI,axiom,
    ! [X: nat,A4: set_nat,F: nat > list_nat] :
      ( ( member_nat @ X @ A4 )
     => ( member_list_nat @ ( F @ X ) @ ( image_nat_list_nat @ F @ A4 ) ) ) ).

% imageI
thf(fact_685_imageI,axiom,
    ! [X: nat,A4: set_nat,F: nat > set_nat] :
      ( ( member_nat @ X @ A4 )
     => ( member_set_nat @ ( F @ X ) @ ( image_nat_set_nat @ F @ A4 ) ) ) ).

% imageI
thf(fact_686_imageI,axiom,
    ! [X: list_nat,A4: set_list_nat,F: list_nat > nat] :
      ( ( member_list_nat @ X @ A4 )
     => ( member_nat @ ( F @ X ) @ ( image_list_nat_nat @ F @ A4 ) ) ) ).

% imageI
thf(fact_687_imageI,axiom,
    ! [X: list_nat,A4: set_list_nat,F: list_nat > list_nat] :
      ( ( member_list_nat @ X @ A4 )
     => ( member_list_nat @ ( F @ X ) @ ( image_7976474329151083847st_nat @ F @ A4 ) ) ) ).

% imageI
thf(fact_688_imageI,axiom,
    ! [X: list_nat,A4: set_list_nat,F: list_nat > set_nat] :
      ( ( member_list_nat @ X @ A4 )
     => ( member_set_nat @ ( F @ X ) @ ( image_1775855109352712557et_nat @ F @ A4 ) ) ) ).

% imageI
thf(fact_689_imageI,axiom,
    ! [X: set_nat,A4: set_set_nat,F: set_nat > nat] :
      ( ( member_set_nat @ X @ A4 )
     => ( member_nat @ ( F @ X ) @ ( image_set_nat_nat @ F @ A4 ) ) ) ).

% imageI
thf(fact_690_imageI,axiom,
    ! [X: set_nat,A4: set_set_nat,F: set_nat > list_nat] :
      ( ( member_set_nat @ X @ A4 )
     => ( member_list_nat @ ( F @ X ) @ ( image_5426082062715393517st_nat @ F @ A4 ) ) ) ).

% imageI
thf(fact_691_imageI,axiom,
    ! [X: set_nat,A4: set_set_nat,F: set_nat > set_nat] :
      ( ( member_set_nat @ X @ A4 )
     => ( member_set_nat @ ( F @ X ) @ ( image_7916887816326733075et_nat @ F @ A4 ) ) ) ).

% imageI
thf(fact_692_prefix__order_Odual__order_Ostrict__implies__not__eq,axiom,
    ! [B: list_nat,A: list_nat] :
      ( ( strict_prefix_nat @ B @ A )
     => ( A != B ) ) ).

% prefix_order.dual_order.strict_implies_not_eq
thf(fact_693_prefix__order_Odual__order_Ostrict__trans,axiom,
    ! [B: list_nat,A: list_nat,C: list_nat] :
      ( ( strict_prefix_nat @ B @ A )
     => ( ( strict_prefix_nat @ C @ B )
       => ( strict_prefix_nat @ C @ A ) ) ) ).

% prefix_order.dual_order.strict_trans
thf(fact_694_prefix__order_Ostrict__implies__not__eq,axiom,
    ! [A: list_nat,B: list_nat] :
      ( ( strict_prefix_nat @ A @ B )
     => ( A != B ) ) ).

% prefix_order.strict_implies_not_eq
thf(fact_695_prefix__order_Oord__less__eq__trans,axiom,
    ! [A: list_nat,B: list_nat,C: list_nat] :
      ( ( strict_prefix_nat @ A @ B )
     => ( ( B = C )
       => ( strict_prefix_nat @ A @ C ) ) ) ).

% prefix_order.ord_less_eq_trans
thf(fact_696_prefix__order_Oord__eq__less__trans,axiom,
    ! [A: list_nat,B: list_nat,C: list_nat] :
      ( ( A = B )
     => ( ( strict_prefix_nat @ B @ C )
       => ( strict_prefix_nat @ A @ C ) ) ) ).

% prefix_order.ord_eq_less_trans
thf(fact_697_prefix__order_Oless__imp__not__less,axiom,
    ! [X: list_nat,Y3: list_nat] :
      ( ( strict_prefix_nat @ X @ Y3 )
     => ~ ( strict_prefix_nat @ Y3 @ X ) ) ).

% prefix_order.less_imp_not_less
thf(fact_698_prefix__order_Odual__order_Oirrefl,axiom,
    ! [A: list_nat] :
      ~ ( strict_prefix_nat @ A @ A ) ).

% prefix_order.dual_order.irrefl
thf(fact_699_prefix__order_Oless__imp__not__eq2,axiom,
    ! [X: list_nat,Y3: list_nat] :
      ( ( strict_prefix_nat @ X @ Y3 )
     => ( Y3 != X ) ) ).

% prefix_order.less_imp_not_eq2
thf(fact_700_prefix__order_Oless__imp__not__eq,axiom,
    ! [X: list_nat,Y3: list_nat] :
      ( ( strict_prefix_nat @ X @ Y3 )
     => ( X != Y3 ) ) ).

% prefix_order.less_imp_not_eq
thf(fact_701_prefix__order_Odual__order_Oasym,axiom,
    ! [B: list_nat,A: list_nat] :
      ( ( strict_prefix_nat @ B @ A )
     => ~ ( strict_prefix_nat @ A @ B ) ) ).

% prefix_order.dual_order.asym
thf(fact_702_prefix__order_Oless__imp__triv,axiom,
    ! [X: list_nat,Y3: list_nat,P: $o] :
      ( ( strict_prefix_nat @ X @ Y3 )
     => ( ( strict_prefix_nat @ Y3 @ X )
       => P ) ) ).

% prefix_order.less_imp_triv
thf(fact_703_prefix__order_Ostrict__trans,axiom,
    ! [A: list_nat,B: list_nat,C: list_nat] :
      ( ( strict_prefix_nat @ A @ B )
     => ( ( strict_prefix_nat @ B @ C )
       => ( strict_prefix_nat @ A @ C ) ) ) ).

% prefix_order.strict_trans
thf(fact_704_prefix__order_Oless__not__sym,axiom,
    ! [X: list_nat,Y3: list_nat] :
      ( ( strict_prefix_nat @ X @ Y3 )
     => ~ ( strict_prefix_nat @ Y3 @ X ) ) ).

% prefix_order.less_not_sym
thf(fact_705_prefix__order_Oless__imp__neq,axiom,
    ! [X: list_nat,Y3: list_nat] :
      ( ( strict_prefix_nat @ X @ Y3 )
     => ( X != Y3 ) ) ).

% prefix_order.less_imp_neq
thf(fact_706_prefix__order_Oless__irrefl,axiom,
    ! [X: list_nat] :
      ~ ( strict_prefix_nat @ X @ X ) ).

% prefix_order.less_irrefl
thf(fact_707_prefix__order_Oless__trans,axiom,
    ! [X: list_nat,Y3: list_nat,Z2: list_nat] :
      ( ( strict_prefix_nat @ X @ Y3 )
     => ( ( strict_prefix_nat @ Y3 @ Z2 )
       => ( strict_prefix_nat @ X @ Z2 ) ) ) ).

% prefix_order.less_trans
thf(fact_708_prefix__order_Oless__asym_H,axiom,
    ! [A: list_nat,B: list_nat] :
      ( ( strict_prefix_nat @ A @ B )
     => ~ ( strict_prefix_nat @ B @ A ) ) ).

% prefix_order.less_asym'
thf(fact_709_prefix__order_Oless__asym,axiom,
    ! [X: list_nat,Y3: list_nat] :
      ( ( strict_prefix_nat @ X @ Y3 )
     => ~ ( strict_prefix_nat @ Y3 @ X ) ) ).

% prefix_order.less_asym
thf(fact_710_prefix__order_Oasym,axiom,
    ! [A: list_nat,B: list_nat] :
      ( ( strict_prefix_nat @ A @ B )
     => ~ ( strict_prefix_nat @ B @ A ) ) ).

% prefix_order.asym
thf(fact_711_image__mono,axiom,
    ! [A4: set_nat,B4: set_nat,F: nat > nat] :
      ( ( ord_less_eq_set_nat @ A4 @ B4 )
     => ( ord_less_eq_set_nat @ ( image_nat_nat @ F @ A4 ) @ ( image_nat_nat @ F @ B4 ) ) ) ).

% image_mono
thf(fact_712_image__mono,axiom,
    ! [A4: set_nat,B4: set_nat,F: nat > list_nat] :
      ( ( ord_less_eq_set_nat @ A4 @ B4 )
     => ( ord_le6045566169113846134st_nat @ ( image_nat_list_nat @ F @ A4 ) @ ( image_nat_list_nat @ F @ B4 ) ) ) ).

% image_mono
thf(fact_713_image__mono,axiom,
    ! [A4: set_list_nat,B4: set_list_nat,F: list_nat > set_nat] :
      ( ( ord_le6045566169113846134st_nat @ A4 @ B4 )
     => ( ord_le6893508408891458716et_nat @ ( image_1775855109352712557et_nat @ F @ A4 ) @ ( image_1775855109352712557et_nat @ F @ B4 ) ) ) ).

% image_mono
thf(fact_714_image__mono,axiom,
    ! [A4: set_list_nat,B4: set_list_nat,F: list_nat > nat] :
      ( ( ord_le6045566169113846134st_nat @ A4 @ B4 )
     => ( ord_less_eq_set_nat @ ( image_list_nat_nat @ F @ A4 ) @ ( image_list_nat_nat @ F @ B4 ) ) ) ).

% image_mono
thf(fact_715_image__mono,axiom,
    ! [A4: set_list_nat,B4: set_list_nat,F: list_nat > list_nat] :
      ( ( ord_le6045566169113846134st_nat @ A4 @ B4 )
     => ( ord_le6045566169113846134st_nat @ ( image_7976474329151083847st_nat @ F @ A4 ) @ ( image_7976474329151083847st_nat @ F @ B4 ) ) ) ).

% image_mono
thf(fact_716_image__subsetI,axiom,
    ! [A4: set_nat,F: nat > set_nat,B4: set_set_nat] :
      ( ! [X2: nat] :
          ( ( member_nat @ X2 @ A4 )
         => ( member_set_nat @ ( F @ X2 ) @ B4 ) )
     => ( ord_le6893508408891458716et_nat @ ( image_nat_set_nat @ F @ A4 ) @ B4 ) ) ).

% image_subsetI
thf(fact_717_image__subsetI,axiom,
    ! [A4: set_list_nat,F: list_nat > set_nat,B4: set_set_nat] :
      ( ! [X2: list_nat] :
          ( ( member_list_nat @ X2 @ A4 )
         => ( member_set_nat @ ( F @ X2 ) @ B4 ) )
     => ( ord_le6893508408891458716et_nat @ ( image_1775855109352712557et_nat @ F @ A4 ) @ B4 ) ) ).

% image_subsetI
thf(fact_718_image__subsetI,axiom,
    ! [A4: set_set_nat,F: set_nat > set_nat,B4: set_set_nat] :
      ( ! [X2: set_nat] :
          ( ( member_set_nat @ X2 @ A4 )
         => ( member_set_nat @ ( F @ X2 ) @ B4 ) )
     => ( ord_le6893508408891458716et_nat @ ( image_7916887816326733075et_nat @ F @ A4 ) @ B4 ) ) ).

% image_subsetI
thf(fact_719_image__subsetI,axiom,
    ! [A4: set_nat,F: nat > nat,B4: set_nat] :
      ( ! [X2: nat] :
          ( ( member_nat @ X2 @ A4 )
         => ( member_nat @ ( F @ X2 ) @ B4 ) )
     => ( ord_less_eq_set_nat @ ( image_nat_nat @ F @ A4 ) @ B4 ) ) ).

% image_subsetI
thf(fact_720_image__subsetI,axiom,
    ! [A4: set_list_nat,F: list_nat > nat,B4: set_nat] :
      ( ! [X2: list_nat] :
          ( ( member_list_nat @ X2 @ A4 )
         => ( member_nat @ ( F @ X2 ) @ B4 ) )
     => ( ord_less_eq_set_nat @ ( image_list_nat_nat @ F @ A4 ) @ B4 ) ) ).

% image_subsetI
thf(fact_721_image__subsetI,axiom,
    ! [A4: set_set_nat,F: set_nat > nat,B4: set_nat] :
      ( ! [X2: set_nat] :
          ( ( member_set_nat @ X2 @ A4 )
         => ( member_nat @ ( F @ X2 ) @ B4 ) )
     => ( ord_less_eq_set_nat @ ( image_set_nat_nat @ F @ A4 ) @ B4 ) ) ).

% image_subsetI
thf(fact_722_image__subsetI,axiom,
    ! [A4: set_nat,F: nat > list_nat,B4: set_list_nat] :
      ( ! [X2: nat] :
          ( ( member_nat @ X2 @ A4 )
         => ( member_list_nat @ ( F @ X2 ) @ B4 ) )
     => ( ord_le6045566169113846134st_nat @ ( image_nat_list_nat @ F @ A4 ) @ B4 ) ) ).

% image_subsetI
thf(fact_723_image__subsetI,axiom,
    ! [A4: set_list_nat,F: list_nat > list_nat,B4: set_list_nat] :
      ( ! [X2: list_nat] :
          ( ( member_list_nat @ X2 @ A4 )
         => ( member_list_nat @ ( F @ X2 ) @ B4 ) )
     => ( ord_le6045566169113846134st_nat @ ( image_7976474329151083847st_nat @ F @ A4 ) @ B4 ) ) ).

% image_subsetI
thf(fact_724_image__subsetI,axiom,
    ! [A4: set_set_nat,F: set_nat > list_nat,B4: set_list_nat] :
      ( ! [X2: set_nat] :
          ( ( member_set_nat @ X2 @ A4 )
         => ( member_list_nat @ ( F @ X2 ) @ B4 ) )
     => ( ord_le6045566169113846134st_nat @ ( image_5426082062715393517st_nat @ F @ A4 ) @ B4 ) ) ).

% image_subsetI
thf(fact_725_subset__imageE,axiom,
    ! [B4: set_set_nat,F: list_nat > set_nat,A4: set_list_nat] :
      ( ( ord_le6893508408891458716et_nat @ B4 @ ( image_1775855109352712557et_nat @ F @ A4 ) )
     => ~ ! [C3: set_list_nat] :
            ( ( ord_le6045566169113846134st_nat @ C3 @ A4 )
           => ( B4
             != ( image_1775855109352712557et_nat @ F @ C3 ) ) ) ) ).

% subset_imageE
thf(fact_726_subset__imageE,axiom,
    ! [B4: set_nat,F: nat > nat,A4: set_nat] :
      ( ( ord_less_eq_set_nat @ B4 @ ( image_nat_nat @ F @ A4 ) )
     => ~ ! [C3: set_nat] :
            ( ( ord_less_eq_set_nat @ C3 @ A4 )
           => ( B4
             != ( image_nat_nat @ F @ C3 ) ) ) ) ).

% subset_imageE
thf(fact_727_subset__imageE,axiom,
    ! [B4: set_nat,F: list_nat > nat,A4: set_list_nat] :
      ( ( ord_less_eq_set_nat @ B4 @ ( image_list_nat_nat @ F @ A4 ) )
     => ~ ! [C3: set_list_nat] :
            ( ( ord_le6045566169113846134st_nat @ C3 @ A4 )
           => ( B4
             != ( image_list_nat_nat @ F @ C3 ) ) ) ) ).

% subset_imageE
thf(fact_728_subset__imageE,axiom,
    ! [B4: set_list_nat,F: nat > list_nat,A4: set_nat] :
      ( ( ord_le6045566169113846134st_nat @ B4 @ ( image_nat_list_nat @ F @ A4 ) )
     => ~ ! [C3: set_nat] :
            ( ( ord_less_eq_set_nat @ C3 @ A4 )
           => ( B4
             != ( image_nat_list_nat @ F @ C3 ) ) ) ) ).

% subset_imageE
thf(fact_729_subset__imageE,axiom,
    ! [B4: set_list_nat,F: list_nat > list_nat,A4: set_list_nat] :
      ( ( ord_le6045566169113846134st_nat @ B4 @ ( image_7976474329151083847st_nat @ F @ A4 ) )
     => ~ ! [C3: set_list_nat] :
            ( ( ord_le6045566169113846134st_nat @ C3 @ A4 )
           => ( B4
             != ( image_7976474329151083847st_nat @ F @ C3 ) ) ) ) ).

% subset_imageE
thf(fact_730_image__subset__iff,axiom,
    ! [F: list_nat > set_nat,A4: set_list_nat,B4: set_set_nat] :
      ( ( ord_le6893508408891458716et_nat @ ( image_1775855109352712557et_nat @ F @ A4 ) @ B4 )
      = ( ! [X4: list_nat] :
            ( ( member_list_nat @ X4 @ A4 )
           => ( member_set_nat @ ( F @ X4 ) @ B4 ) ) ) ) ).

% image_subset_iff
thf(fact_731_image__subset__iff,axiom,
    ! [F: nat > nat,A4: set_nat,B4: set_nat] :
      ( ( ord_less_eq_set_nat @ ( image_nat_nat @ F @ A4 ) @ B4 )
      = ( ! [X4: nat] :
            ( ( member_nat @ X4 @ A4 )
           => ( member_nat @ ( F @ X4 ) @ B4 ) ) ) ) ).

% image_subset_iff
thf(fact_732_image__subset__iff,axiom,
    ! [F: list_nat > list_nat,A4: set_list_nat,B4: set_list_nat] :
      ( ( ord_le6045566169113846134st_nat @ ( image_7976474329151083847st_nat @ F @ A4 ) @ B4 )
      = ( ! [X4: list_nat] :
            ( ( member_list_nat @ X4 @ A4 )
           => ( member_list_nat @ ( F @ X4 ) @ B4 ) ) ) ) ).

% image_subset_iff
thf(fact_733_subset__image__iff,axiom,
    ! [B4: set_set_nat,F: list_nat > set_nat,A4: set_list_nat] :
      ( ( ord_le6893508408891458716et_nat @ B4 @ ( image_1775855109352712557et_nat @ F @ A4 ) )
      = ( ? [AA: set_list_nat] :
            ( ( ord_le6045566169113846134st_nat @ AA @ A4 )
            & ( B4
              = ( image_1775855109352712557et_nat @ F @ AA ) ) ) ) ) ).

% subset_image_iff
thf(fact_734_subset__image__iff,axiom,
    ! [B4: set_nat,F: nat > nat,A4: set_nat] :
      ( ( ord_less_eq_set_nat @ B4 @ ( image_nat_nat @ F @ A4 ) )
      = ( ? [AA: set_nat] :
            ( ( ord_less_eq_set_nat @ AA @ A4 )
            & ( B4
              = ( image_nat_nat @ F @ AA ) ) ) ) ) ).

% subset_image_iff
thf(fact_735_subset__image__iff,axiom,
    ! [B4: set_nat,F: list_nat > nat,A4: set_list_nat] :
      ( ( ord_less_eq_set_nat @ B4 @ ( image_list_nat_nat @ F @ A4 ) )
      = ( ? [AA: set_list_nat] :
            ( ( ord_le6045566169113846134st_nat @ AA @ A4 )
            & ( B4
              = ( image_list_nat_nat @ F @ AA ) ) ) ) ) ).

% subset_image_iff
thf(fact_736_subset__image__iff,axiom,
    ! [B4: set_list_nat,F: nat > list_nat,A4: set_nat] :
      ( ( ord_le6045566169113846134st_nat @ B4 @ ( image_nat_list_nat @ F @ A4 ) )
      = ( ? [AA: set_nat] :
            ( ( ord_less_eq_set_nat @ AA @ A4 )
            & ( B4
              = ( image_nat_list_nat @ F @ AA ) ) ) ) ) ).

% subset_image_iff
thf(fact_737_subset__image__iff,axiom,
    ! [B4: set_list_nat,F: list_nat > list_nat,A4: set_list_nat] :
      ( ( ord_le6045566169113846134st_nat @ B4 @ ( image_7976474329151083847st_nat @ F @ A4 ) )
      = ( ? [AA: set_list_nat] :
            ( ( ord_le6045566169113846134st_nat @ AA @ A4 )
            & ( B4
              = ( image_7976474329151083847st_nat @ F @ AA ) ) ) ) ) ).

% subset_image_iff
thf(fact_738_prefix__bot_Oextremum__strict,axiom,
    ! [A: list_list_nat] :
      ~ ( strict6380099159608944142st_nat @ A @ nil_list_nat ) ).

% prefix_bot.extremum_strict
thf(fact_739_prefix__bot_Oextremum__strict,axiom,
    ! [A: list_nat] :
      ~ ( strict_prefix_nat @ A @ nil_nat ) ).

% prefix_bot.extremum_strict
thf(fact_740_prefix__bot_Onot__eq__extremum,axiom,
    ! [A: list_list_nat] :
      ( ( A != nil_list_nat )
      = ( strict6380099159608944142st_nat @ nil_list_nat @ A ) ) ).

% prefix_bot.not_eq_extremum
thf(fact_741_prefix__bot_Onot__eq__extremum,axiom,
    ! [A: list_nat] :
      ( ( A != nil_nat )
      = ( strict_prefix_nat @ nil_nat @ A ) ) ).

% prefix_bot.not_eq_extremum
thf(fact_742_prefix__order_OleD,axiom,
    ! [Y3: list_nat,X: list_nat] :
      ( ( prefix_nat @ Y3 @ X )
     => ~ ( strict_prefix_nat @ X @ Y3 ) ) ).

% prefix_order.leD
thf(fact_743_prefix__order_Ole__less,axiom,
    ( prefix_nat
    = ( ^ [X4: list_nat,Y5: list_nat] :
          ( ( strict_prefix_nat @ X4 @ Y5 )
          | ( X4 = Y5 ) ) ) ) ).

% prefix_order.le_less
thf(fact_744_prefix__order_Oless__le,axiom,
    ( strict_prefix_nat
    = ( ^ [X4: list_nat,Y5: list_nat] :
          ( ( prefix_nat @ X4 @ Y5 )
          & ( X4 != Y5 ) ) ) ) ).

% prefix_order.less_le
thf(fact_745_prefix__order_Onless__le,axiom,
    ! [A: list_nat,B: list_nat] :
      ( ( ~ ( strict_prefix_nat @ A @ B ) )
      = ( ~ ( prefix_nat @ A @ B )
        | ( A = B ) ) ) ).

% prefix_order.nless_le
thf(fact_746_prefix__order_Oless__imp__le,axiom,
    ! [X: list_nat,Y3: list_nat] :
      ( ( strict_prefix_nat @ X @ Y3 )
     => ( prefix_nat @ X @ Y3 ) ) ).

% prefix_order.less_imp_le
thf(fact_747_prefix__order_Ole__neq__trans,axiom,
    ! [A: list_nat,B: list_nat] :
      ( ( prefix_nat @ A @ B )
     => ( ( A != B )
       => ( strict_prefix_nat @ A @ B ) ) ) ).

% prefix_order.le_neq_trans
thf(fact_748_prefix__order_Oantisym__conv1,axiom,
    ! [X: list_nat,Y3: list_nat] :
      ( ~ ( strict_prefix_nat @ X @ Y3 )
     => ( ( prefix_nat @ X @ Y3 )
        = ( X = Y3 ) ) ) ).

% prefix_order.antisym_conv1
thf(fact_749_prefix__order_Oantisym__conv2,axiom,
    ! [X: list_nat,Y3: list_nat] :
      ( ( prefix_nat @ X @ Y3 )
     => ( ( ~ ( strict_prefix_nat @ X @ Y3 ) )
        = ( X = Y3 ) ) ) ).

% prefix_order.antisym_conv2
thf(fact_750_prefix__order_Ole__less__trans,axiom,
    ! [X: list_nat,Y3: list_nat,Z2: list_nat] :
      ( ( prefix_nat @ X @ Y3 )
     => ( ( strict_prefix_nat @ Y3 @ Z2 )
       => ( strict_prefix_nat @ X @ Z2 ) ) ) ).

% prefix_order.le_less_trans
thf(fact_751_prefix__order_Oless__le__trans,axiom,
    ! [X: list_nat,Y3: list_nat,Z2: list_nat] :
      ( ( strict_prefix_nat @ X @ Y3 )
     => ( ( prefix_nat @ Y3 @ Z2 )
       => ( strict_prefix_nat @ X @ Z2 ) ) ) ).

% prefix_order.less_le_trans
thf(fact_752_prefix__order_Ostrict__trans1,axiom,
    ! [A: list_nat,B: list_nat,C: list_nat] :
      ( ( prefix_nat @ A @ B )
     => ( ( strict_prefix_nat @ B @ C )
       => ( strict_prefix_nat @ A @ C ) ) ) ).

% prefix_order.strict_trans1
thf(fact_753_prefix__order_Ostrict__trans2,axiom,
    ! [A: list_nat,B: list_nat,C: list_nat] :
      ( ( strict_prefix_nat @ A @ B )
     => ( ( prefix_nat @ B @ C )
       => ( strict_prefix_nat @ A @ C ) ) ) ).

% prefix_order.strict_trans2
thf(fact_754_prefix__order_Oless__le__not__le,axiom,
    ( strict_prefix_nat
    = ( ^ [X4: list_nat,Y5: list_nat] :
          ( ( prefix_nat @ X4 @ Y5 )
          & ~ ( prefix_nat @ Y5 @ X4 ) ) ) ) ).

% prefix_order.less_le_not_le
thf(fact_755_prefix__order_Ostrict__iff__not,axiom,
    ( strict_prefix_nat
    = ( ^ [A2: list_nat,B2: list_nat] :
          ( ( prefix_nat @ A2 @ B2 )
          & ~ ( prefix_nat @ B2 @ A2 ) ) ) ) ).

% prefix_order.strict_iff_not
thf(fact_756_prefix__order_Oorder__iff__strict,axiom,
    ( prefix_nat
    = ( ^ [A2: list_nat,B2: list_nat] :
          ( ( strict_prefix_nat @ A2 @ B2 )
          | ( A2 = B2 ) ) ) ) ).

% prefix_order.order_iff_strict
thf(fact_757_prefix__order_Ostrict__iff__order,axiom,
    ( strict_prefix_nat
    = ( ^ [A2: list_nat,B2: list_nat] :
          ( ( prefix_nat @ A2 @ B2 )
          & ( A2 != B2 ) ) ) ) ).

% prefix_order.strict_iff_order
thf(fact_758_prefix__order_Ole__imp__less__or__eq,axiom,
    ! [X: list_nat,Y3: list_nat] :
      ( ( prefix_nat @ X @ Y3 )
     => ( ( strict_prefix_nat @ X @ Y3 )
        | ( X = Y3 ) ) ) ).

% prefix_order.le_imp_less_or_eq
thf(fact_759_prefix__order_Ostrict__implies__order,axiom,
    ! [A: list_nat,B: list_nat] :
      ( ( strict_prefix_nat @ A @ B )
     => ( prefix_nat @ A @ B ) ) ).

% prefix_order.strict_implies_order
thf(fact_760_prefix__order_Odual__order_Ostrict__trans1,axiom,
    ! [B: list_nat,A: list_nat,C: list_nat] :
      ( ( prefix_nat @ B @ A )
     => ( ( strict_prefix_nat @ C @ B )
       => ( strict_prefix_nat @ C @ A ) ) ) ).

% prefix_order.dual_order.strict_trans1
thf(fact_761_prefix__order_Odual__order_Ostrict__trans2,axiom,
    ! [B: list_nat,A: list_nat,C: list_nat] :
      ( ( strict_prefix_nat @ B @ A )
     => ( ( prefix_nat @ C @ B )
       => ( strict_prefix_nat @ C @ A ) ) ) ).

% prefix_order.dual_order.strict_trans2
thf(fact_762_prefix__order_Odual__order_Ostrict__iff__not,axiom,
    ( strict_prefix_nat
    = ( ^ [B2: list_nat,A2: list_nat] :
          ( ( prefix_nat @ B2 @ A2 )
          & ~ ( prefix_nat @ A2 @ B2 ) ) ) ) ).

% prefix_order.dual_order.strict_iff_not
thf(fact_763_prefix__order_Odual__order_Oorder__iff__strict,axiom,
    ( prefix_nat
    = ( ^ [B2: list_nat,A2: list_nat] :
          ( ( strict_prefix_nat @ B2 @ A2 )
          | ( A2 = B2 ) ) ) ) ).

% prefix_order.dual_order.order_iff_strict
thf(fact_764_prefix__order_Odual__order_Ostrict__iff__order,axiom,
    ( strict_prefix_nat
    = ( ^ [B2: list_nat,A2: list_nat] :
          ( ( prefix_nat @ B2 @ A2 )
          & ( A2 != B2 ) ) ) ) ).

% prefix_order.dual_order.strict_iff_order
thf(fact_765_prefix__order_Onot__eq__order__implies__strict,axiom,
    ! [A: list_nat,B: list_nat] :
      ( ( A != B )
     => ( ( prefix_nat @ A @ B )
       => ( strict_prefix_nat @ A @ B ) ) ) ).

% prefix_order.not_eq_order_implies_strict
thf(fact_766_prefix__order_Odual__order_Ostrict__implies__order,axiom,
    ! [B: list_nat,A: list_nat] :
      ( ( strict_prefix_nat @ B @ A )
     => ( prefix_nat @ B @ A ) ) ).

% prefix_order.dual_order.strict_implies_order
thf(fact_767_prefix__order_Odual__order_Onot__eq__order__implies__strict,axiom,
    ! [A: list_nat,B: list_nat] :
      ( ( A != B )
     => ( ( prefix_nat @ B @ A )
       => ( strict_prefix_nat @ B @ A ) ) ) ).

% prefix_order.dual_order.not_eq_order_implies_strict
thf(fact_768_strict__prefixE,axiom,
    ! [Xs2: list_nat,Ys: list_nat] :
      ( ( strict_prefix_nat @ Xs2 @ Ys )
     => ~ ( ( prefix_nat @ Xs2 @ Ys )
         => ( Xs2 = Ys ) ) ) ).

% strict_prefixE
thf(fact_769_strict__prefixI,axiom,
    ! [Xs2: list_nat,Ys: list_nat] :
      ( ( prefix_nat @ Xs2 @ Ys )
     => ( ( Xs2 != Ys )
       => ( strict_prefix_nat @ Xs2 @ Ys ) ) ) ).

% strict_prefixI
thf(fact_770_strict__prefix__def,axiom,
    ( strict_prefix_nat
    = ( ^ [Xs4: list_nat,Ys2: list_nat] :
          ( ( prefix_nat @ Xs4 @ Ys2 )
          & ( Xs4 != Ys2 ) ) ) ) ).

% strict_prefix_def
thf(fact_771_can__select__def,axiom,
    ( can_select_list_nat
    = ( ^ [P2: list_nat > $o,A5: set_list_nat] :
        ? [X4: list_nat] :
          ( ( member_list_nat @ X4 @ A5 )
          & ( P2 @ X4 )
          & ! [Y5: list_nat] :
              ( ( ( member_list_nat @ Y5 @ A5 )
                & ( P2 @ Y5 ) )
             => ( Y5 = X4 ) ) ) ) ) ).

% can_select_def
thf(fact_772_can__select__def,axiom,
    ( can_select_set_nat
    = ( ^ [P2: set_nat > $o,A5: set_set_nat] :
        ? [X4: set_nat] :
          ( ( member_set_nat @ X4 @ A5 )
          & ( P2 @ X4 )
          & ! [Y5: set_nat] :
              ( ( ( member_set_nat @ Y5 @ A5 )
                & ( P2 @ Y5 ) )
             => ( Y5 = X4 ) ) ) ) ) ).

% can_select_def
thf(fact_773_can__select__def,axiom,
    ( can_select_nat
    = ( ^ [P2: nat > $o,A5: set_nat] :
        ? [X4: nat] :
          ( ( member_nat @ X4 @ A5 )
          & ( P2 @ X4 )
          & ! [Y5: nat] :
              ( ( ( member_nat @ Y5 @ A5 )
                & ( P2 @ Y5 ) )
             => ( Y5 = X4 ) ) ) ) ) ).

% can_select_def
thf(fact_774_foldr__cong,axiom,
    ! [A: list_nat,B: list_nat,L: list_list_nat,K: list_list_nat,F: list_nat > list_nat > list_nat,G2: list_nat > list_nat > list_nat] :
      ( ( A = B )
     => ( ( L = K )
       => ( ! [A3: list_nat,X2: list_nat] :
              ( ( member_list_nat @ X2 @ ( set_list_nat2 @ L ) )
             => ( ( F @ X2 @ A3 )
                = ( G2 @ X2 @ A3 ) ) )
         => ( ( foldr_6871341030409798377st_nat @ F @ L @ A )
            = ( foldr_6871341030409798377st_nat @ G2 @ K @ B ) ) ) ) ) ).

% foldr_cong
thf(fact_775_transpose_Osimps_I1_J,axiom,
    ( ( transpose_nat @ nil_list_nat )
    = nil_list_nat ) ).

% transpose.simps(1)
thf(fact_776_strict__prefixE_H,axiom,
    ! [Xs2: list_list_nat,Ys: list_list_nat] :
      ( ( strict6380099159608944142st_nat @ Xs2 @ Ys )
     => ~ ! [Z4: list_nat,Zs3: list_list_nat] :
            ( Ys
           != ( append_list_nat @ Xs2 @ ( cons_list_nat @ Z4 @ Zs3 ) ) ) ) ).

% strict_prefixE'
thf(fact_777_strict__prefixE_H,axiom,
    ! [Xs2: list_nat,Ys: list_nat] :
      ( ( strict_prefix_nat @ Xs2 @ Ys )
     => ~ ! [Z4: nat,Zs3: list_nat] :
            ( Ys
           != ( append_nat @ Xs2 @ ( cons_nat @ Z4 @ Zs3 ) ) ) ) ).

% strict_prefixE'
thf(fact_778_strict__prefixI_H,axiom,
    ! [Ys: list_list_nat,Xs2: list_list_nat,Z2: list_nat,Zs2: list_list_nat] :
      ( ( Ys
        = ( append_list_nat @ Xs2 @ ( cons_list_nat @ Z2 @ Zs2 ) ) )
     => ( strict6380099159608944142st_nat @ Xs2 @ Ys ) ) ).

% strict_prefixI'
thf(fact_779_strict__prefixI_H,axiom,
    ! [Ys: list_nat,Xs2: list_nat,Z2: nat,Zs2: list_nat] :
      ( ( Ys
        = ( append_nat @ Xs2 @ ( cons_nat @ Z2 @ Zs2 ) ) )
     => ( strict_prefix_nat @ Xs2 @ Ys ) ) ).

% strict_prefixI'
thf(fact_780_image__set,axiom,
    ! [F: nat > list_nat,Xs2: list_nat] :
      ( ( image_nat_list_nat @ F @ ( set_nat2 @ Xs2 ) )
      = ( set_list_nat2 @ ( map_nat_list_nat @ F @ Xs2 ) ) ) ).

% image_set
thf(fact_781_image__set,axiom,
    ! [F: list_nat > set_nat,Xs2: list_list_nat] :
      ( ( image_1775855109352712557et_nat @ F @ ( set_list_nat2 @ Xs2 ) )
      = ( set_set_nat2 @ ( map_list_nat_set_nat @ F @ Xs2 ) ) ) ).

% image_set
thf(fact_782_image__set,axiom,
    ! [F: list_nat > nat,Xs2: list_list_nat] :
      ( ( image_list_nat_nat @ F @ ( set_list_nat2 @ Xs2 ) )
      = ( set_nat2 @ ( map_list_nat_nat @ F @ Xs2 ) ) ) ).

% image_set
thf(fact_783_image__set,axiom,
    ! [F: list_nat > list_nat,Xs2: list_list_nat] :
      ( ( image_7976474329151083847st_nat @ F @ ( set_list_nat2 @ Xs2 ) )
      = ( set_list_nat2 @ ( map_li7225945977422193158st_nat @ F @ Xs2 ) ) ) ).

% image_set
thf(fact_784_image__set,axiom,
    ! [F: nat > nat,Xs2: list_nat] :
      ( ( image_nat_nat @ F @ ( set_nat2 @ Xs2 ) )
      = ( set_nat2 @ ( map_nat_nat @ F @ Xs2 ) ) ) ).

% image_set
thf(fact_785_transpose_Osimps_I2_J,axiom,
    ! [Xss2: list_list_list_nat] :
      ( ( transpose_list_nat @ ( cons_list_list_nat @ nil_list_nat @ Xss2 ) )
      = ( transpose_list_nat @ Xss2 ) ) ).

% transpose.simps(2)
thf(fact_786_transpose_Osimps_I2_J,axiom,
    ! [Xss2: list_list_nat] :
      ( ( transpose_nat @ ( cons_list_nat @ nil_nat @ Xss2 ) )
      = ( transpose_nat @ Xss2 ) ) ).

% transpose.simps(2)
thf(fact_787_transpose__map__map,axiom,
    ! [F: list_nat > list_nat,Xs2: list_list_list_nat] :
      ( ( transpose_list_nat @ ( map_li2855073862107769254st_nat @ ( map_li7225945977422193158st_nat @ F ) @ Xs2 ) )
      = ( map_li2855073862107769254st_nat @ ( map_li7225945977422193158st_nat @ F ) @ ( transpose_list_nat @ Xs2 ) ) ) ).

% transpose_map_map
thf(fact_788_transpose__map__map,axiom,
    ! [F: list_nat > set_nat,Xs2: list_list_list_nat] :
      ( ( transpose_set_nat @ ( map_li5623744104693966028et_nat @ ( map_list_nat_set_nat @ F ) @ Xs2 ) )
      = ( map_li5623744104693966028et_nat @ ( map_list_nat_set_nat @ F ) @ ( transpose_list_nat @ Xs2 ) ) ) ).

% transpose_map_map
thf(fact_789_transpose__map__map,axiom,
    ! [F: nat > nat,Xs2: list_list_nat] :
      ( ( transpose_nat @ ( map_li7225945977422193158st_nat @ ( map_nat_nat @ F ) @ Xs2 ) )
      = ( map_li7225945977422193158st_nat @ ( map_nat_nat @ F ) @ ( transpose_nat @ Xs2 ) ) ) ).

% transpose_map_map
thf(fact_790_all__subset__image,axiom,
    ! [F: list_nat > set_nat,A4: set_list_nat,P: set_set_nat > $o] :
      ( ( ! [B5: set_set_nat] :
            ( ( ord_le6893508408891458716et_nat @ B5 @ ( image_1775855109352712557et_nat @ F @ A4 ) )
           => ( P @ B5 ) ) )
      = ( ! [B5: set_list_nat] :
            ( ( ord_le6045566169113846134st_nat @ B5 @ A4 )
           => ( P @ ( image_1775855109352712557et_nat @ F @ B5 ) ) ) ) ) ).

% all_subset_image
thf(fact_791_all__subset__image,axiom,
    ! [F: nat > nat,A4: set_nat,P: set_nat > $o] :
      ( ( ! [B5: set_nat] :
            ( ( ord_less_eq_set_nat @ B5 @ ( image_nat_nat @ F @ A4 ) )
           => ( P @ B5 ) ) )
      = ( ! [B5: set_nat] :
            ( ( ord_less_eq_set_nat @ B5 @ A4 )
           => ( P @ ( image_nat_nat @ F @ B5 ) ) ) ) ) ).

% all_subset_image
thf(fact_792_all__subset__image,axiom,
    ! [F: list_nat > nat,A4: set_list_nat,P: set_nat > $o] :
      ( ( ! [B5: set_nat] :
            ( ( ord_less_eq_set_nat @ B5 @ ( image_list_nat_nat @ F @ A4 ) )
           => ( P @ B5 ) ) )
      = ( ! [B5: set_list_nat] :
            ( ( ord_le6045566169113846134st_nat @ B5 @ A4 )
           => ( P @ ( image_list_nat_nat @ F @ B5 ) ) ) ) ) ).

% all_subset_image
thf(fact_793_all__subset__image,axiom,
    ! [F: nat > list_nat,A4: set_nat,P: set_list_nat > $o] :
      ( ( ! [B5: set_list_nat] :
            ( ( ord_le6045566169113846134st_nat @ B5 @ ( image_nat_list_nat @ F @ A4 ) )
           => ( P @ B5 ) ) )
      = ( ! [B5: set_nat] :
            ( ( ord_less_eq_set_nat @ B5 @ A4 )
           => ( P @ ( image_nat_list_nat @ F @ B5 ) ) ) ) ) ).

% all_subset_image
thf(fact_794_all__subset__image,axiom,
    ! [F: list_nat > list_nat,A4: set_list_nat,P: set_list_nat > $o] :
      ( ( ! [B5: set_list_nat] :
            ( ( ord_le6045566169113846134st_nat @ B5 @ ( image_7976474329151083847st_nat @ F @ A4 ) )
           => ( P @ B5 ) ) )
      = ( ! [B5: set_list_nat] :
            ( ( ord_le6045566169113846134st_nat @ B5 @ A4 )
           => ( P @ ( image_7976474329151083847st_nat @ F @ B5 ) ) ) ) ) ).

% all_subset_image
thf(fact_795_subseqs__powset,axiom,
    ! [Xs2: list_list_nat] :
      ( ( image_4375647060027540749st_nat @ set_list_nat2 @ ( set_list_list_nat2 @ ( subseqs_list_nat @ Xs2 ) ) )
      = ( pow_list_nat @ ( set_list_nat2 @ Xs2 ) ) ) ).

% subseqs_powset
thf(fact_796_subseqs__powset,axiom,
    ! [Xs2: list_nat] :
      ( ( image_1775855109352712557et_nat @ set_nat2 @ ( set_list_nat2 @ ( subseqs_nat @ Xs2 ) ) )
      = ( pow_nat @ ( set_nat2 @ Xs2 ) ) ) ).

% subseqs_powset
thf(fact_797_f__arg__min__list__f,axiom,
    ! [Xs2: list_nat,F: nat > nat] :
      ( ( Xs2 != nil_nat )
     => ( ( F @ ( arg_min_list_nat_nat @ F @ Xs2 ) )
        = ( lattic8721135487736765967in_nat @ ( image_nat_nat @ F @ ( set_nat2 @ Xs2 ) ) ) ) ) ).

% f_arg_min_list_f
thf(fact_798_f__arg__min__list__f,axiom,
    ! [Xs2: list_list_nat,F: list_nat > nat] :
      ( ( Xs2 != nil_list_nat )
     => ( ( F @ ( arg_mi6349021015369947606at_nat @ F @ Xs2 ) )
        = ( lattic8721135487736765967in_nat @ ( image_list_nat_nat @ F @ ( set_list_nat2 @ Xs2 ) ) ) ) ) ).

% f_arg_min_list_f
thf(fact_799_insort__insert__key__triv,axiom,
    ! [F: nat > nat,X: nat,Xs2: list_nat] :
      ( ( member_nat @ ( F @ X ) @ ( image_nat_nat @ F @ ( set_nat2 @ Xs2 ) ) )
     => ( ( linord1921536354676448932at_nat @ F @ X @ Xs2 )
        = Xs2 ) ) ).

% insort_insert_key_triv
thf(fact_800_insort__insert__key__triv,axiom,
    ! [F: list_nat > nat,X: list_nat,Xs2: list_list_nat] :
      ( ( member_nat @ ( F @ X ) @ ( image_list_nat_nat @ F @ ( set_list_nat2 @ Xs2 ) ) )
     => ( ( linord3253225449353161780at_nat @ F @ X @ Xs2 )
        = Xs2 ) ) ).

% insort_insert_key_triv
thf(fact_801_map__tailrec__rev_Oelims,axiom,
    ! [X: nat > list_nat,Xa2: list_nat,Xb: list_list_nat,Y3: list_list_nat] :
      ( ( ( map_ta920533232635887399st_nat @ X @ Xa2 @ Xb )
        = Y3 )
     => ( ( ( Xa2 = nil_nat )
         => ( Y3 != Xb ) )
       => ~ ! [A3: nat,As: list_nat] :
              ( ( Xa2
                = ( cons_nat @ A3 @ As ) )
             => ( Y3
               != ( map_ta920533232635887399st_nat @ X @ As @ ( cons_list_nat @ ( X @ A3 ) @ Xb ) ) ) ) ) ) ).

% map_tailrec_rev.elims
thf(fact_802_map__tailrec__rev_Oelims,axiom,
    ! [X: list_nat > nat,Xa2: list_list_nat,Xb: list_nat,Y3: list_nat] :
      ( ( ( map_ta3159490279798172583at_nat @ X @ Xa2 @ Xb )
        = Y3 )
     => ( ( ( Xa2 = nil_list_nat )
         => ( Y3 != Xb ) )
       => ~ ! [A3: list_nat,As: list_list_nat] :
              ( ( Xa2
                = ( cons_list_nat @ A3 @ As ) )
             => ( Y3
               != ( map_ta3159490279798172583at_nat @ X @ As @ ( cons_nat @ ( X @ A3 ) @ Xb ) ) ) ) ) ) ).

% map_tailrec_rev.elims
thf(fact_803_map__tailrec__rev_Oelims,axiom,
    ! [X: list_nat > list_nat,Xa2: list_list_nat,Xb: list_list_nat,Y3: list_list_nat] :
      ( ( ( map_ta5898645294048341815st_nat @ X @ Xa2 @ Xb )
        = Y3 )
     => ( ( ( Xa2 = nil_list_nat )
         => ( Y3 != Xb ) )
       => ~ ! [A3: list_nat,As: list_list_nat] :
              ( ( Xa2
                = ( cons_list_nat @ A3 @ As ) )
             => ( Y3
               != ( map_ta5898645294048341815st_nat @ X @ As @ ( cons_list_nat @ ( X @ A3 ) @ Xb ) ) ) ) ) ) ).

% map_tailrec_rev.elims
thf(fact_804_map__tailrec__rev_Oelims,axiom,
    ! [X: nat > nat,Xa2: list_nat,Xb: list_nat,Y3: list_nat] :
      ( ( ( map_ta7164188454487880599at_nat @ X @ Xa2 @ Xb )
        = Y3 )
     => ( ( ( Xa2 = nil_nat )
         => ( Y3 != Xb ) )
       => ~ ! [A3: nat,As: list_nat] :
              ( ( Xa2
                = ( cons_nat @ A3 @ As ) )
             => ( Y3
               != ( map_ta7164188454487880599at_nat @ X @ As @ ( cons_nat @ ( X @ A3 ) @ Xb ) ) ) ) ) ) ).

% map_tailrec_rev.elims
thf(fact_805_SuccD,axiom,
    ! [K: set_nat,Kl: set_list_set_nat,Kl2: list_set_nat] :
      ( ( member_set_nat @ K @ ( bNF_Gr3282828795834814635et_nat @ Kl @ Kl2 ) )
     => ( member_list_set_nat @ ( append_set_nat @ Kl2 @ ( cons_set_nat @ K @ nil_set_nat ) ) @ Kl ) ) ).

% SuccD
thf(fact_806_SuccD,axiom,
    ! [K: list_nat,Kl: set_list_list_nat,Kl2: list_list_nat] :
      ( ( member_list_nat @ K @ ( bNF_Gr3053708287304744325st_nat @ Kl @ Kl2 ) )
     => ( member_list_list_nat @ ( append_list_nat @ Kl2 @ ( cons_list_nat @ K @ nil_list_nat ) ) @ Kl ) ) ).

% SuccD
thf(fact_807_SuccD,axiom,
    ! [K: nat,Kl: set_list_nat,Kl2: list_nat] :
      ( ( member_nat @ K @ ( bNF_Gr6352880689984616693cc_nat @ Kl @ Kl2 ) )
     => ( member_list_nat @ ( append_nat @ Kl2 @ ( cons_nat @ K @ nil_nat ) ) @ Kl ) ) ).

% SuccD
thf(fact_808_Pow__iff,axiom,
    ! [A4: set_nat,B4: set_nat] :
      ( ( member_set_nat @ A4 @ ( pow_nat @ B4 ) )
      = ( ord_less_eq_set_nat @ A4 @ B4 ) ) ).

% Pow_iff
thf(fact_809_Pow__iff,axiom,
    ! [A4: set_list_nat,B4: set_list_nat] :
      ( ( member_set_list_nat @ A4 @ ( pow_list_nat @ B4 ) )
      = ( ord_le6045566169113846134st_nat @ A4 @ B4 ) ) ).

% Pow_iff
thf(fact_810_PowI,axiom,
    ! [A4: set_nat,B4: set_nat] :
      ( ( ord_less_eq_set_nat @ A4 @ B4 )
     => ( member_set_nat @ A4 @ ( pow_nat @ B4 ) ) ) ).

% PowI
thf(fact_811_PowI,axiom,
    ! [A4: set_list_nat,B4: set_list_nat] :
      ( ( ord_le6045566169113846134st_nat @ A4 @ B4 )
     => ( member_set_list_nat @ A4 @ ( pow_list_nat @ B4 ) ) ) ).

% PowI
thf(fact_812_Pow__top,axiom,
    ! [A4: set_nat] : ( member_set_nat @ A4 @ ( pow_nat @ A4 ) ) ).

% Pow_top
thf(fact_813_image__Pow__surj,axiom,
    ! [F: list_nat > set_nat,A4: set_list_nat,B4: set_set_nat] :
      ( ( ( image_1775855109352712557et_nat @ F @ A4 )
        = B4 )
     => ( ( image_5197499214737593433et_nat @ ( image_1775855109352712557et_nat @ F ) @ ( pow_list_nat @ A4 ) )
        = ( pow_set_nat @ B4 ) ) ) ).

% image_Pow_surj
thf(fact_814_image__Pow__surj,axiom,
    ! [F: nat > nat,A4: set_nat,B4: set_nat] :
      ( ( ( image_nat_nat @ F @ A4 )
        = B4 )
     => ( ( image_7916887816326733075et_nat @ ( image_nat_nat @ F ) @ ( pow_nat @ A4 ) )
        = ( pow_nat @ B4 ) ) ) ).

% image_Pow_surj
thf(fact_815_image__Pow__surj,axiom,
    ! [F: list_nat > list_nat,A4: set_list_nat,B4: set_list_nat] :
      ( ( ( image_7976474329151083847st_nat @ F @ A4 )
        = B4 )
     => ( ( image_5143090206295581363st_nat @ ( image_7976474329151083847st_nat @ F ) @ ( pow_list_nat @ A4 ) )
        = ( pow_list_nat @ B4 ) ) ) ).

% image_Pow_surj
thf(fact_816_Pow__mono,axiom,
    ! [A4: set_nat,B4: set_nat] :
      ( ( ord_less_eq_set_nat @ A4 @ B4 )
     => ( ord_le6893508408891458716et_nat @ ( pow_nat @ A4 ) @ ( pow_nat @ B4 ) ) ) ).

% Pow_mono
thf(fact_817_Pow__mono,axiom,
    ! [A4: set_list_nat,B4: set_list_nat] :
      ( ( ord_le6045566169113846134st_nat @ A4 @ B4 )
     => ( ord_le1068707526560357548st_nat @ ( pow_list_nat @ A4 ) @ ( pow_list_nat @ B4 ) ) ) ).

% Pow_mono
thf(fact_818_PowD,axiom,
    ! [A4: set_nat,B4: set_nat] :
      ( ( member_set_nat @ A4 @ ( pow_nat @ B4 ) )
     => ( ord_less_eq_set_nat @ A4 @ B4 ) ) ).

% PowD
thf(fact_819_PowD,axiom,
    ! [A4: set_list_nat,B4: set_list_nat] :
      ( ( member_set_list_nat @ A4 @ ( pow_list_nat @ B4 ) )
     => ( ord_le6045566169113846134st_nat @ A4 @ B4 ) ) ).

% PowD
thf(fact_820_Cantors__paradox,axiom,
    ! [A4: set_nat] :
      ~ ? [F3: nat > set_nat] :
          ( ( image_nat_set_nat @ F3 @ A4 )
          = ( pow_nat @ A4 ) ) ).

% Cantors_paradox
thf(fact_821_map__tailrec__rev_Osimps_I2_J,axiom,
    ! [F: nat > list_nat,A: nat,As2: list_nat,Bs: list_list_nat] :
      ( ( map_ta920533232635887399st_nat @ F @ ( cons_nat @ A @ As2 ) @ Bs )
      = ( map_ta920533232635887399st_nat @ F @ As2 @ ( cons_list_nat @ ( F @ A ) @ Bs ) ) ) ).

% map_tailrec_rev.simps(2)
thf(fact_822_map__tailrec__rev_Osimps_I2_J,axiom,
    ! [F: list_nat > nat,A: list_nat,As2: list_list_nat,Bs: list_nat] :
      ( ( map_ta3159490279798172583at_nat @ F @ ( cons_list_nat @ A @ As2 ) @ Bs )
      = ( map_ta3159490279798172583at_nat @ F @ As2 @ ( cons_nat @ ( F @ A ) @ Bs ) ) ) ).

% map_tailrec_rev.simps(2)
thf(fact_823_map__tailrec__rev_Osimps_I2_J,axiom,
    ! [F: list_nat > list_nat,A: list_nat,As2: list_list_nat,Bs: list_list_nat] :
      ( ( map_ta5898645294048341815st_nat @ F @ ( cons_list_nat @ A @ As2 ) @ Bs )
      = ( map_ta5898645294048341815st_nat @ F @ As2 @ ( cons_list_nat @ ( F @ A ) @ Bs ) ) ) ).

% map_tailrec_rev.simps(2)
thf(fact_824_map__tailrec__rev_Osimps_I2_J,axiom,
    ! [F: nat > nat,A: nat,As2: list_nat,Bs: list_nat] :
      ( ( map_ta7164188454487880599at_nat @ F @ ( cons_nat @ A @ As2 ) @ Bs )
      = ( map_ta7164188454487880599at_nat @ F @ As2 @ ( cons_nat @ ( F @ A ) @ Bs ) ) ) ).

% map_tailrec_rev.simps(2)
thf(fact_825_map__tailrec__rev_Osimps_I1_J,axiom,
    ! [F: nat > nat,Bs: list_nat] :
      ( ( map_ta7164188454487880599at_nat @ F @ nil_nat @ Bs )
      = Bs ) ).

% map_tailrec_rev.simps(1)
thf(fact_826_image__Pow__mono,axiom,
    ! [F: list_nat > set_nat,A4: set_list_nat,B4: set_set_nat] :
      ( ( ord_le6893508408891458716et_nat @ ( image_1775855109352712557et_nat @ F @ A4 ) @ B4 )
     => ( ord_le9131159989063066194et_nat @ ( image_5197499214737593433et_nat @ ( image_1775855109352712557et_nat @ F ) @ ( pow_list_nat @ A4 ) ) @ ( pow_set_nat @ B4 ) ) ) ).

% image_Pow_mono
thf(fact_827_image__Pow__mono,axiom,
    ! [F: nat > nat,A4: set_nat,B4: set_nat] :
      ( ( ord_less_eq_set_nat @ ( image_nat_nat @ F @ A4 ) @ B4 )
     => ( ord_le6893508408891458716et_nat @ ( image_7916887816326733075et_nat @ ( image_nat_nat @ F ) @ ( pow_nat @ A4 ) ) @ ( pow_nat @ B4 ) ) ) ).

% image_Pow_mono
thf(fact_828_image__Pow__mono,axiom,
    ! [F: nat > list_nat,A4: set_nat,B4: set_list_nat] :
      ( ( ord_le6045566169113846134st_nat @ ( image_nat_list_nat @ F @ A4 ) @ B4 )
     => ( ord_le1068707526560357548st_nat @ ( image_769671623901021219st_nat @ ( image_nat_list_nat @ F ) @ ( pow_nat @ A4 ) ) @ ( pow_list_nat @ B4 ) ) ) ).

% image_Pow_mono
thf(fact_829_image__Pow__mono,axiom,
    ! [F: list_nat > list_nat,A4: set_list_nat,B4: set_list_nat] :
      ( ( ord_le6045566169113846134st_nat @ ( image_7976474329151083847st_nat @ F @ A4 ) @ B4 )
     => ( ord_le1068707526560357548st_nat @ ( image_5143090206295581363st_nat @ ( image_7976474329151083847st_nat @ F ) @ ( pow_list_nat @ A4 ) ) @ ( pow_list_nat @ B4 ) ) ) ).

% image_Pow_mono
thf(fact_830_SuccI,axiom,
    ! [Kl2: list_set_nat,K: set_nat,Kl: set_list_set_nat] :
      ( ( member_list_set_nat @ ( append_set_nat @ Kl2 @ ( cons_set_nat @ K @ nil_set_nat ) ) @ Kl )
     => ( member_set_nat @ K @ ( bNF_Gr3282828795834814635et_nat @ Kl @ Kl2 ) ) ) ).

% SuccI
thf(fact_831_SuccI,axiom,
    ! [Kl2: list_list_nat,K: list_nat,Kl: set_list_list_nat] :
      ( ( member_list_list_nat @ ( append_list_nat @ Kl2 @ ( cons_list_nat @ K @ nil_list_nat ) ) @ Kl )
     => ( member_list_nat @ K @ ( bNF_Gr3053708287304744325st_nat @ Kl @ Kl2 ) ) ) ).

% SuccI
thf(fact_832_SuccI,axiom,
    ! [Kl2: list_nat,K: nat,Kl: set_list_nat] :
      ( ( member_list_nat @ ( append_nat @ Kl2 @ ( cons_nat @ K @ nil_nat ) ) @ Kl )
     => ( member_nat @ K @ ( bNF_Gr6352880689984616693cc_nat @ Kl @ Kl2 ) ) ) ).

% SuccI
thf(fact_833_empty__Shift,axiom,
    ! [Kl: set_list_set_nat,K: set_nat] :
      ( ( member_list_set_nat @ nil_set_nat @ Kl )
     => ( ( member_set_nat @ K @ ( bNF_Gr3282828795834814635et_nat @ Kl @ nil_set_nat ) )
       => ( member_list_set_nat @ nil_set_nat @ ( bNF_Gr2891354507007493415et_nat @ Kl @ K ) ) ) ) ).

% empty_Shift
thf(fact_834_empty__Shift,axiom,
    ! [Kl: set_list_list_nat,K: list_nat] :
      ( ( member_list_list_nat @ nil_list_nat @ Kl )
     => ( ( member_list_nat @ K @ ( bNF_Gr3053708287304744325st_nat @ Kl @ nil_list_nat ) )
       => ( member_list_list_nat @ nil_list_nat @ ( bNF_Gr9051742241863529473st_nat @ Kl @ K ) ) ) ) ).

% empty_Shift
thf(fact_835_empty__Shift,axiom,
    ! [Kl: set_list_nat,K: nat] :
      ( ( member_list_nat @ nil_nat @ Kl )
     => ( ( member_nat @ K @ ( bNF_Gr6352880689984616693cc_nat @ Kl @ nil_nat ) )
       => ( member_list_nat @ nil_nat @ ( bNF_Gr1872714664788909425ft_nat @ Kl @ K ) ) ) ) ).

% empty_Shift
thf(fact_836_Succ__Shift,axiom,
    ! [Kl: set_list_list_nat,K: list_nat,Kl2: list_list_nat] :
      ( ( bNF_Gr3053708287304744325st_nat @ ( bNF_Gr9051742241863529473st_nat @ Kl @ K ) @ Kl2 )
      = ( bNF_Gr3053708287304744325st_nat @ Kl @ ( cons_list_nat @ K @ Kl2 ) ) ) ).

% Succ_Shift
thf(fact_837_Succ__Shift,axiom,
    ! [Kl: set_list_nat,K: nat,Kl2: list_nat] :
      ( ( bNF_Gr6352880689984616693cc_nat @ ( bNF_Gr1872714664788909425ft_nat @ Kl @ K ) @ Kl2 )
      = ( bNF_Gr6352880689984616693cc_nat @ Kl @ ( cons_nat @ K @ Kl2 ) ) ) ).

% Succ_Shift
thf(fact_838_min__list__Min,axiom,
    ! [Xs2: list_nat] :
      ( ( Xs2 != nil_nat )
     => ( ( min_list_nat @ Xs2 )
        = ( lattic8721135487736765967in_nat @ ( set_nat2 @ Xs2 ) ) ) ) ).

% min_list_Min
thf(fact_839_map__tailrec__def,axiom,
    ( map_tailrec_nat_nat
    = ( ^ [F2: nat > nat,As3: list_nat] : ( rev_nat @ ( map_ta7164188454487880599at_nat @ F2 @ As3 @ nil_nat ) ) ) ) ).

% map_tailrec_def
thf(fact_840_rev__is__rev__conv,axiom,
    ! [Xs2: list_nat,Ys: list_nat] :
      ( ( ( rev_nat @ Xs2 )
        = ( rev_nat @ Ys ) )
      = ( Xs2 = Ys ) ) ).

% rev_is_rev_conv
thf(fact_841_rev__is__rev__conv,axiom,
    ! [Xs2: list_list_nat,Ys: list_list_nat] :
      ( ( ( rev_list_nat @ Xs2 )
        = ( rev_list_nat @ Ys ) )
      = ( Xs2 = Ys ) ) ).

% rev_is_rev_conv
thf(fact_842_rev__rev__ident,axiom,
    ! [Xs2: list_nat] :
      ( ( rev_nat @ ( rev_nat @ Xs2 ) )
      = Xs2 ) ).

% rev_rev_ident
thf(fact_843_rev__rev__ident,axiom,
    ! [Xs2: list_list_nat] :
      ( ( rev_list_nat @ ( rev_list_nat @ Xs2 ) )
      = Xs2 ) ).

% rev_rev_ident
thf(fact_844_Nil__is__rev__conv,axiom,
    ! [Xs2: list_list_nat] :
      ( ( nil_list_nat
        = ( rev_list_nat @ Xs2 ) )
      = ( Xs2 = nil_list_nat ) ) ).

% Nil_is_rev_conv
thf(fact_845_Nil__is__rev__conv,axiom,
    ! [Xs2: list_nat] :
      ( ( nil_nat
        = ( rev_nat @ Xs2 ) )
      = ( Xs2 = nil_nat ) ) ).

% Nil_is_rev_conv
thf(fact_846_rev__is__Nil__conv,axiom,
    ! [Xs2: list_list_nat] :
      ( ( ( rev_list_nat @ Xs2 )
        = nil_list_nat )
      = ( Xs2 = nil_list_nat ) ) ).

% rev_is_Nil_conv
thf(fact_847_rev__is__Nil__conv,axiom,
    ! [Xs2: list_nat] :
      ( ( ( rev_nat @ Xs2 )
        = nil_nat )
      = ( Xs2 = nil_nat ) ) ).

% rev_is_Nil_conv
thf(fact_848_set__rev,axiom,
    ! [Xs2: list_list_nat] :
      ( ( set_list_nat2 @ ( rev_list_nat @ Xs2 ) )
      = ( set_list_nat2 @ Xs2 ) ) ).

% set_rev
thf(fact_849_set__rev,axiom,
    ! [Xs2: list_nat] :
      ( ( set_nat2 @ ( rev_nat @ Xs2 ) )
      = ( set_nat2 @ Xs2 ) ) ).

% set_rev
thf(fact_850_rev__append,axiom,
    ! [Xs2: list_list_nat,Ys: list_list_nat] :
      ( ( rev_list_nat @ ( append_list_nat @ Xs2 @ Ys ) )
      = ( append_list_nat @ ( rev_list_nat @ Ys ) @ ( rev_list_nat @ Xs2 ) ) ) ).

% rev_append
thf(fact_851_rev__append,axiom,
    ! [Xs2: list_nat,Ys: list_nat] :
      ( ( rev_nat @ ( append_nat @ Xs2 @ Ys ) )
      = ( append_nat @ ( rev_nat @ Ys ) @ ( rev_nat @ Xs2 ) ) ) ).

% rev_append
thf(fact_852_rev__singleton__conv,axiom,
    ! [Xs2: list_list_nat,X: list_nat] :
      ( ( ( rev_list_nat @ Xs2 )
        = ( cons_list_nat @ X @ nil_list_nat ) )
      = ( Xs2
        = ( cons_list_nat @ X @ nil_list_nat ) ) ) ).

% rev_singleton_conv
thf(fact_853_rev__singleton__conv,axiom,
    ! [Xs2: list_nat,X: nat] :
      ( ( ( rev_nat @ Xs2 )
        = ( cons_nat @ X @ nil_nat ) )
      = ( Xs2
        = ( cons_nat @ X @ nil_nat ) ) ) ).

% rev_singleton_conv
thf(fact_854_singleton__rev__conv,axiom,
    ! [X: list_nat,Xs2: list_list_nat] :
      ( ( ( cons_list_nat @ X @ nil_list_nat )
        = ( rev_list_nat @ Xs2 ) )
      = ( ( cons_list_nat @ X @ nil_list_nat )
        = Xs2 ) ) ).

% singleton_rev_conv
thf(fact_855_singleton__rev__conv,axiom,
    ! [X: nat,Xs2: list_nat] :
      ( ( ( cons_nat @ X @ nil_nat )
        = ( rev_nat @ Xs2 ) )
      = ( ( cons_nat @ X @ nil_nat )
        = Xs2 ) ) ).

% singleton_rev_conv
thf(fact_856_rev__eq__Cons__iff,axiom,
    ! [Xs2: list_list_nat,Y3: list_nat,Ys: list_list_nat] :
      ( ( ( rev_list_nat @ Xs2 )
        = ( cons_list_nat @ Y3 @ Ys ) )
      = ( Xs2
        = ( append_list_nat @ ( rev_list_nat @ Ys ) @ ( cons_list_nat @ Y3 @ nil_list_nat ) ) ) ) ).

% rev_eq_Cons_iff
thf(fact_857_rev__eq__Cons__iff,axiom,
    ! [Xs2: list_nat,Y3: nat,Ys: list_nat] :
      ( ( ( rev_nat @ Xs2 )
        = ( cons_nat @ Y3 @ Ys ) )
      = ( Xs2
        = ( append_nat @ ( rev_nat @ Ys ) @ ( cons_nat @ Y3 @ nil_nat ) ) ) ) ).

% rev_eq_Cons_iff
thf(fact_858_rev__concat,axiom,
    ! [Xs2: list_list_list_nat] :
      ( ( rev_list_nat @ ( concat_list_nat @ Xs2 ) )
      = ( concat_list_nat @ ( map_li2855073862107769254st_nat @ rev_list_nat @ ( rev_list_list_nat @ Xs2 ) ) ) ) ).

% rev_concat
thf(fact_859_rev__concat,axiom,
    ! [Xs2: list_list_nat] :
      ( ( rev_nat @ ( concat_nat @ Xs2 ) )
      = ( concat_nat @ ( map_li7225945977422193158st_nat @ rev_nat @ ( rev_list_nat @ Xs2 ) ) ) ) ).

% rev_concat
thf(fact_860_rev_Osimps_I1_J,axiom,
    ( ( rev_list_nat @ nil_list_nat )
    = nil_list_nat ) ).

% rev.simps(1)
thf(fact_861_rev_Osimps_I1_J,axiom,
    ( ( rev_nat @ nil_nat )
    = nil_nat ) ).

% rev.simps(1)
thf(fact_862_rev__map,axiom,
    ! [F: list_nat > nat,Xs2: list_list_nat] :
      ( ( rev_nat @ ( map_list_nat_nat @ F @ Xs2 ) )
      = ( map_list_nat_nat @ F @ ( rev_list_nat @ Xs2 ) ) ) ).

% rev_map
thf(fact_863_rev__map,axiom,
    ! [F: nat > list_nat,Xs2: list_nat] :
      ( ( rev_list_nat @ ( map_nat_list_nat @ F @ Xs2 ) )
      = ( map_nat_list_nat @ F @ ( rev_nat @ Xs2 ) ) ) ).

% rev_map
thf(fact_864_rev__map,axiom,
    ! [F: list_nat > list_nat,Xs2: list_list_nat] :
      ( ( rev_list_nat @ ( map_li7225945977422193158st_nat @ F @ Xs2 ) )
      = ( map_li7225945977422193158st_nat @ F @ ( rev_list_nat @ Xs2 ) ) ) ).

% rev_map
thf(fact_865_rev__map,axiom,
    ! [F: nat > nat,Xs2: list_nat] :
      ( ( rev_nat @ ( map_nat_nat @ F @ Xs2 ) )
      = ( map_nat_nat @ F @ ( rev_nat @ Xs2 ) ) ) ).

% rev_map
thf(fact_866_rev__map,axiom,
    ! [F: list_nat > set_nat,Xs2: list_list_nat] :
      ( ( rev_set_nat @ ( map_list_nat_set_nat @ F @ Xs2 ) )
      = ( map_list_nat_set_nat @ F @ ( rev_list_nat @ Xs2 ) ) ) ).

% rev_map
thf(fact_867_rev__swap,axiom,
    ! [Xs2: list_nat,Ys: list_nat] :
      ( ( ( rev_nat @ Xs2 )
        = Ys )
      = ( Xs2
        = ( rev_nat @ Ys ) ) ) ).

% rev_swap
thf(fact_868_rev__swap,axiom,
    ! [Xs2: list_list_nat,Ys: list_list_nat] :
      ( ( ( rev_list_nat @ Xs2 )
        = Ys )
      = ( Xs2
        = ( rev_list_nat @ Ys ) ) ) ).

% rev_swap
thf(fact_869_rev_Osimps_I2_J,axiom,
    ! [X: list_nat,Xs2: list_list_nat] :
      ( ( rev_list_nat @ ( cons_list_nat @ X @ Xs2 ) )
      = ( append_list_nat @ ( rev_list_nat @ Xs2 ) @ ( cons_list_nat @ X @ nil_list_nat ) ) ) ).

% rev.simps(2)
thf(fact_870_rev_Osimps_I2_J,axiom,
    ! [X: nat,Xs2: list_nat] :
      ( ( rev_nat @ ( cons_nat @ X @ Xs2 ) )
      = ( append_nat @ ( rev_nat @ Xs2 ) @ ( cons_nat @ X @ nil_nat ) ) ) ).

% rev.simps(2)
thf(fact_871_map__tailrec__rev,axiom,
    ( map_ta5898645294048341815st_nat
    = ( ^ [F2: list_nat > list_nat,As3: list_list_nat] : ( append_list_nat @ ( rev_list_nat @ ( map_li7225945977422193158st_nat @ F2 @ As3 ) ) ) ) ) ).

% map_tailrec_rev
thf(fact_872_map__tailrec__rev,axiom,
    ( map_ta4372842632731638621et_nat
    = ( ^ [F2: list_nat > set_nat,As3: list_list_nat] : ( append_set_nat @ ( rev_set_nat @ ( map_list_nat_set_nat @ F2 @ As3 ) ) ) ) ) ).

% map_tailrec_rev
thf(fact_873_map__tailrec__rev,axiom,
    ( map_ta7164188454487880599at_nat
    = ( ^ [F2: nat > nat,As3: list_nat] : ( append_nat @ ( rev_nat @ ( map_nat_nat @ F2 @ As3 ) ) ) ) ) ).

% map_tailrec_rev
thf(fact_874_ShiftD,axiom,
    ! [Kl2: list_list_nat,Kl: set_list_list_nat,K: list_nat] :
      ( ( member_list_list_nat @ Kl2 @ ( bNF_Gr9051742241863529473st_nat @ Kl @ K ) )
     => ( member_list_list_nat @ ( cons_list_nat @ K @ Kl2 ) @ Kl ) ) ).

% ShiftD
thf(fact_875_ShiftD,axiom,
    ! [Kl2: list_nat,Kl: set_list_nat,K: nat] :
      ( ( member_list_nat @ Kl2 @ ( bNF_Gr1872714664788909425ft_nat @ Kl @ K ) )
     => ( member_list_nat @ ( cons_nat @ K @ Kl2 ) @ Kl ) ) ).

% ShiftD
thf(fact_876_suffixes__conv__prefixes,axiom,
    ( suffixes_list_nat
    = ( ^ [Xs4: list_list_nat] : ( map_li2855073862107769254st_nat @ rev_list_nat @ ( prefixes_list_nat @ ( rev_list_nat @ Xs4 ) ) ) ) ) ).

% suffixes_conv_prefixes
thf(fact_877_suffixes__conv__prefixes,axiom,
    ( suffixes_nat
    = ( ^ [Xs4: list_nat] : ( map_li7225945977422193158st_nat @ rev_nat @ ( prefixes_nat @ ( rev_nat @ Xs4 ) ) ) ) ) ).

% suffixes_conv_prefixes
thf(fact_878_prefixes__conv__suffixes,axiom,
    ( prefixes_list_nat
    = ( ^ [Xs4: list_list_nat] : ( map_li2855073862107769254st_nat @ rev_list_nat @ ( suffixes_list_nat @ ( rev_list_nat @ Xs4 ) ) ) ) ) ).

% prefixes_conv_suffixes
thf(fact_879_prefixes__conv__suffixes,axiom,
    ( prefixes_nat
    = ( ^ [Xs4: list_nat] : ( map_li7225945977422193158st_nat @ rev_nat @ ( suffixes_nat @ ( rev_nat @ Xs4 ) ) ) ) ) ).

% prefixes_conv_suffixes
thf(fact_880_suffixes__rev,axiom,
    ! [Xs2: list_list_nat] :
      ( ( suffixes_list_nat @ ( rev_list_nat @ Xs2 ) )
      = ( map_li2855073862107769254st_nat @ rev_list_nat @ ( prefixes_list_nat @ Xs2 ) ) ) ).

% suffixes_rev
thf(fact_881_suffixes__rev,axiom,
    ! [Xs2: list_nat] :
      ( ( suffixes_nat @ ( rev_nat @ Xs2 ) )
      = ( map_li7225945977422193158st_nat @ rev_nat @ ( prefixes_nat @ Xs2 ) ) ) ).

% suffixes_rev
thf(fact_882_prefixes__rev,axiom,
    ! [Xs2: list_list_nat] :
      ( ( prefixes_list_nat @ ( rev_list_nat @ Xs2 ) )
      = ( map_li2855073862107769254st_nat @ rev_list_nat @ ( suffixes_list_nat @ Xs2 ) ) ) ).

% prefixes_rev
thf(fact_883_prefixes__rev,axiom,
    ! [Xs2: list_nat] :
      ( ( prefixes_nat @ ( rev_nat @ Xs2 ) )
      = ( map_li7225945977422193158st_nat @ rev_nat @ ( suffixes_nat @ Xs2 ) ) ) ).

% prefixes_rev
thf(fact_884_image__Fpow__mono,axiom,
    ! [F: list_nat > set_nat,A4: set_list_nat,B4: set_set_nat] :
      ( ( ord_le6893508408891458716et_nat @ ( image_1775855109352712557et_nat @ F @ A4 ) @ B4 )
     => ( ord_le9131159989063066194et_nat @ ( image_5197499214737593433et_nat @ ( image_1775855109352712557et_nat @ F ) @ ( finite_Fpow_list_nat @ A4 ) ) @ ( finite_Fpow_set_nat @ B4 ) ) ) ).

% image_Fpow_mono
thf(fact_885_image__Fpow__mono,axiom,
    ! [F: nat > nat,A4: set_nat,B4: set_nat] :
      ( ( ord_less_eq_set_nat @ ( image_nat_nat @ F @ A4 ) @ B4 )
     => ( ord_le6893508408891458716et_nat @ ( image_7916887816326733075et_nat @ ( image_nat_nat @ F ) @ ( finite_Fpow_nat @ A4 ) ) @ ( finite_Fpow_nat @ B4 ) ) ) ).

% image_Fpow_mono
thf(fact_886_image__Fpow__mono,axiom,
    ! [F: list_nat > list_nat,A4: set_list_nat,B4: set_list_nat] :
      ( ( ord_le6045566169113846134st_nat @ ( image_7976474329151083847st_nat @ F @ A4 ) @ B4 )
     => ( ord_le1068707526560357548st_nat @ ( image_5143090206295581363st_nat @ ( image_7976474329151083847st_nat @ F ) @ ( finite_Fpow_list_nat @ A4 ) ) @ ( finite_Fpow_list_nat @ B4 ) ) ) ).

% image_Fpow_mono
thf(fact_887_Fpow__mono,axiom,
    ! [A4: set_nat,B4: set_nat] :
      ( ( ord_less_eq_set_nat @ A4 @ B4 )
     => ( ord_le6893508408891458716et_nat @ ( finite_Fpow_nat @ A4 ) @ ( finite_Fpow_nat @ B4 ) ) ) ).

% Fpow_mono
thf(fact_888_Fpow__mono,axiom,
    ! [A4: set_list_nat,B4: set_list_nat] :
      ( ( ord_le6045566169113846134st_nat @ A4 @ B4 )
     => ( ord_le1068707526560357548st_nat @ ( finite_Fpow_list_nat @ A4 ) @ ( finite_Fpow_list_nat @ B4 ) ) ) ).

% Fpow_mono
thf(fact_889_insort__insert__insort__key,axiom,
    ! [F: list_nat > nat,X: list_nat,Xs2: list_list_nat] :
      ( ~ ( member_nat @ ( F @ X ) @ ( image_list_nat_nat @ F @ ( set_list_nat2 @ Xs2 ) ) )
     => ( ( linord3253225449353161780at_nat @ F @ X @ Xs2 )
        = ( linord5978504541935096237at_nat @ F @ X @ Xs2 ) ) ) ).

% insort_insert_insort_key
thf(fact_890_insort__insert__insort__key,axiom,
    ! [F: nat > nat,X: nat,Xs2: list_nat] :
      ( ~ ( member_nat @ ( F @ X ) @ ( image_nat_nat @ F @ ( set_nat2 @ Xs2 ) ) )
     => ( ( linord1921536354676448932at_nat @ F @ X @ Xs2 )
        = ( linord8961336180081300637at_nat @ F @ X @ Xs2 ) ) ) ).

% insort_insert_insort_key
thf(fact_891_insort__insert__key__def,axiom,
    ( linord3253225449353161780at_nat
    = ( ^ [F2: list_nat > nat,X4: list_nat,Xs4: list_list_nat] : ( if_list_list_nat @ ( member_nat @ ( F2 @ X4 ) @ ( image_list_nat_nat @ F2 @ ( set_list_nat2 @ Xs4 ) ) ) @ Xs4 @ ( linord5978504541935096237at_nat @ F2 @ X4 @ Xs4 ) ) ) ) ).

% insort_insert_key_def
thf(fact_892_insort__insert__key__def,axiom,
    ( linord1921536354676448932at_nat
    = ( ^ [F2: nat > nat,X4: nat,Xs4: list_nat] : ( if_list_nat @ ( member_nat @ ( F2 @ X4 ) @ ( image_nat_nat @ F2 @ ( set_nat2 @ Xs4 ) ) ) @ Xs4 @ ( linord8961336180081300637at_nat @ F2 @ X4 @ Xs4 ) ) ) ) ).

% insort_insert_key_def
thf(fact_893_longest__common__prefix_Osimps_I1_J,axiom,
    ! [X: list_nat,Y3: list_nat,Xs2: list_list_nat,Ys: list_list_nat] :
      ( ( ( X = Y3 )
       => ( ( longes3715614165048771798st_nat @ ( cons_list_nat @ X @ Xs2 ) @ ( cons_list_nat @ Y3 @ Ys ) )
          = ( cons_list_nat @ X @ ( longes3715614165048771798st_nat @ Xs2 @ Ys ) ) ) )
      & ( ( X != Y3 )
       => ( ( longes3715614165048771798st_nat @ ( cons_list_nat @ X @ Xs2 ) @ ( cons_list_nat @ Y3 @ Ys ) )
          = nil_list_nat ) ) ) ).

% longest_common_prefix.simps(1)
thf(fact_894_longest__common__prefix_Osimps_I1_J,axiom,
    ! [X: nat,Y3: nat,Xs2: list_nat,Ys: list_nat] :
      ( ( ( X = Y3 )
       => ( ( longes266370323089874118ix_nat @ ( cons_nat @ X @ Xs2 ) @ ( cons_nat @ Y3 @ Ys ) )
          = ( cons_nat @ X @ ( longes266370323089874118ix_nat @ Xs2 @ Ys ) ) ) )
      & ( ( X != Y3 )
       => ( ( longes266370323089874118ix_nat @ ( cons_nat @ X @ Xs2 ) @ ( cons_nat @ Y3 @ Ys ) )
          = nil_nat ) ) ) ).

% longest_common_prefix.simps(1)
thf(fact_895_insort__key__left__comm,axiom,
    ! [F: nat > nat,X: nat,Y3: nat,Xs2: list_nat] :
      ( ( ( F @ X )
       != ( F @ Y3 ) )
     => ( ( linord8961336180081300637at_nat @ F @ Y3 @ ( linord8961336180081300637at_nat @ F @ X @ Xs2 ) )
        = ( linord8961336180081300637at_nat @ F @ X @ ( linord8961336180081300637at_nat @ F @ Y3 @ Xs2 ) ) ) ) ).

% insort_key_left_comm
thf(fact_896_insort__not__Nil,axiom,
    ! [F: nat > nat,A: nat,Xs2: list_nat] :
      ( ( linord8961336180081300637at_nat @ F @ A @ Xs2 )
     != nil_nat ) ).

% insort_not_Nil
thf(fact_897_longest__common__prefix_Osimps_I2_J,axiom,
    ! [Uv: list_list_nat] :
      ( ( longes3715614165048771798st_nat @ nil_list_nat @ Uv )
      = nil_list_nat ) ).

% longest_common_prefix.simps(2)
thf(fact_898_longest__common__prefix_Osimps_I2_J,axiom,
    ! [Uv: list_nat] :
      ( ( longes266370323089874118ix_nat @ nil_nat @ Uv )
      = nil_nat ) ).

% longest_common_prefix.simps(2)
thf(fact_899_longest__common__prefix_Osimps_I3_J,axiom,
    ! [Uu: list_list_nat] :
      ( ( longes3715614165048771798st_nat @ Uu @ nil_list_nat )
      = nil_list_nat ) ).

% longest_common_prefix.simps(3)
thf(fact_900_longest__common__prefix_Osimps_I3_J,axiom,
    ! [Uu: list_nat] :
      ( ( longes266370323089874118ix_nat @ Uu @ nil_nat )
      = nil_nat ) ).

% longest_common_prefix.simps(3)
thf(fact_901_longest__common__prefix__max__prefix,axiom,
    ! [Ps: list_nat,Xs2: list_nat,Ys: list_nat] :
      ( ( prefix_nat @ Ps @ Xs2 )
     => ( ( prefix_nat @ Ps @ Ys )
       => ( prefix_nat @ Ps @ ( longes266370323089874118ix_nat @ Xs2 @ Ys ) ) ) ) ).

% longest_common_prefix_max_prefix
thf(fact_902_longest__common__prefix__prefix2,axiom,
    ! [Xs2: list_nat,Ys: list_nat] : ( prefix_nat @ ( longes266370323089874118ix_nat @ Xs2 @ Ys ) @ Ys ) ).

% longest_common_prefix_prefix2
thf(fact_903_longest__common__prefix__prefix1,axiom,
    ! [Xs2: list_nat,Ys: list_nat] : ( prefix_nat @ ( longes266370323089874118ix_nat @ Xs2 @ Ys ) @ Xs2 ) ).

% longest_common_prefix_prefix1
thf(fact_904_insort__key_Osimps_I2_J,axiom,
    ! [F: list_nat > nat,X: list_nat,Y3: list_nat,Ys: list_list_nat] :
      ( ( ( ord_less_eq_nat @ ( F @ X ) @ ( F @ Y3 ) )
       => ( ( linord5978504541935096237at_nat @ F @ X @ ( cons_list_nat @ Y3 @ Ys ) )
          = ( cons_list_nat @ X @ ( cons_list_nat @ Y3 @ Ys ) ) ) )
      & ( ~ ( ord_less_eq_nat @ ( F @ X ) @ ( F @ Y3 ) )
       => ( ( linord5978504541935096237at_nat @ F @ X @ ( cons_list_nat @ Y3 @ Ys ) )
          = ( cons_list_nat @ Y3 @ ( linord5978504541935096237at_nat @ F @ X @ Ys ) ) ) ) ) ).

% insort_key.simps(2)
thf(fact_905_insort__key_Osimps_I2_J,axiom,
    ! [F: nat > nat,X: nat,Y3: nat,Ys: list_nat] :
      ( ( ( ord_less_eq_nat @ ( F @ X ) @ ( F @ Y3 ) )
       => ( ( linord8961336180081300637at_nat @ F @ X @ ( cons_nat @ Y3 @ Ys ) )
          = ( cons_nat @ X @ ( cons_nat @ Y3 @ Ys ) ) ) )
      & ( ~ ( ord_less_eq_nat @ ( F @ X ) @ ( F @ Y3 ) )
       => ( ( linord8961336180081300637at_nat @ F @ X @ ( cons_nat @ Y3 @ Ys ) )
          = ( cons_nat @ Y3 @ ( linord8961336180081300637at_nat @ F @ X @ Ys ) ) ) ) ) ).

% insort_key.simps(2)
thf(fact_906_insort__key_Osimps_I1_J,axiom,
    ! [F: nat > nat,X: nat] :
      ( ( linord8961336180081300637at_nat @ F @ X @ nil_nat )
      = ( cons_nat @ X @ nil_nat ) ) ).

% insort_key.simps(1)
thf(fact_907_insort__is__Cons,axiom,
    ! [Xs2: list_list_nat,F: list_nat > nat,A: list_nat] :
      ( ! [X2: list_nat] :
          ( ( member_list_nat @ X2 @ ( set_list_nat2 @ Xs2 ) )
         => ( ord_less_eq_nat @ ( F @ A ) @ ( F @ X2 ) ) )
     => ( ( linord5978504541935096237at_nat @ F @ A @ Xs2 )
        = ( cons_list_nat @ A @ Xs2 ) ) ) ).

% insort_is_Cons
thf(fact_908_insort__is__Cons,axiom,
    ! [Xs2: list_nat,F: nat > nat,A: nat] :
      ( ! [X2: nat] :
          ( ( member_nat @ X2 @ ( set_nat2 @ Xs2 ) )
         => ( ord_less_eq_nat @ ( F @ A ) @ ( F @ X2 ) ) )
     => ( ( linord8961336180081300637at_nat @ F @ A @ Xs2 )
        = ( cons_nat @ A @ Xs2 ) ) ) ).

% insort_is_Cons
thf(fact_909_longest__common__prefix_Oelims,axiom,
    ! [X: list_list_nat,Xa2: list_list_nat,Y3: list_list_nat] :
      ( ( ( longes3715614165048771798st_nat @ X @ Xa2 )
        = Y3 )
     => ( ! [X2: list_nat,Xs: list_list_nat] :
            ( ( X
              = ( cons_list_nat @ X2 @ Xs ) )
           => ! [Y: list_nat,Ys3: list_list_nat] :
                ( ( Xa2
                  = ( cons_list_nat @ Y @ Ys3 ) )
               => ~ ( ( ( X2 = Y )
                     => ( Y3
                        = ( cons_list_nat @ X2 @ ( longes3715614165048771798st_nat @ Xs @ Ys3 ) ) ) )
                    & ( ( X2 != Y )
                     => ( Y3 = nil_list_nat ) ) ) ) )
       => ( ( ( X = nil_list_nat )
           => ( Y3 != nil_list_nat ) )
         => ~ ( ( Xa2 = nil_list_nat )
             => ( Y3 != nil_list_nat ) ) ) ) ) ).

% longest_common_prefix.elims
thf(fact_910_longest__common__prefix_Oelims,axiom,
    ! [X: list_nat,Xa2: list_nat,Y3: list_nat] :
      ( ( ( longes266370323089874118ix_nat @ X @ Xa2 )
        = Y3 )
     => ( ! [X2: nat,Xs: list_nat] :
            ( ( X
              = ( cons_nat @ X2 @ Xs ) )
           => ! [Y: nat,Ys3: list_nat] :
                ( ( Xa2
                  = ( cons_nat @ Y @ Ys3 ) )
               => ~ ( ( ( X2 = Y )
                     => ( Y3
                        = ( cons_nat @ X2 @ ( longes266370323089874118ix_nat @ Xs @ Ys3 ) ) ) )
                    & ( ( X2 != Y )
                     => ( Y3 = nil_nat ) ) ) ) )
       => ( ( ( X = nil_nat )
           => ( Y3 != nil_nat ) )
         => ~ ( ( Xa2 = nil_nat )
             => ( Y3 != nil_nat ) ) ) ) ) ).

% longest_common_prefix.elims
thf(fact_911_sort__key__def,axiom,
    ( linord738340561235409698at_nat
    = ( ^ [F2: nat > nat,Xs4: list_nat] : ( foldr_nat_list_nat @ ( linord8961336180081300637at_nat @ F2 ) @ Xs4 @ nil_nat ) ) ) ).

% sort_key_def
thf(fact_912_sort__key__simps_I2_J,axiom,
    ! [F: nat > nat,X: nat,Xs2: list_nat] :
      ( ( linord738340561235409698at_nat @ F @ ( cons_nat @ X @ Xs2 ) )
      = ( linord8961336180081300637at_nat @ F @ X @ ( linord738340561235409698at_nat @ F @ Xs2 ) ) ) ).

% sort_key_simps(2)
thf(fact_913_distinct__insort__key,axiom,
    ! [F: list_nat > nat,X: list_nat,Xs2: list_list_nat] :
      ( ( distinct_nat @ ( map_list_nat_nat @ F @ ( linord5978504541935096237at_nat @ F @ X @ Xs2 ) ) )
      = ( ~ ( member_nat @ ( F @ X ) @ ( image_list_nat_nat @ F @ ( set_list_nat2 @ Xs2 ) ) )
        & ( distinct_nat @ ( map_list_nat_nat @ F @ Xs2 ) ) ) ) ).

% distinct_insort_key
thf(fact_914_distinct__insort__key,axiom,
    ! [F: nat > nat,X: nat,Xs2: list_nat] :
      ( ( distinct_nat @ ( map_nat_nat @ F @ ( linord8961336180081300637at_nat @ F @ X @ Xs2 ) ) )
      = ( ~ ( member_nat @ ( F @ X ) @ ( image_nat_nat @ F @ ( set_nat2 @ Xs2 ) ) )
        & ( distinct_nat @ ( map_nat_nat @ F @ Xs2 ) ) ) ) ).

% distinct_insort_key
thf(fact_915_fold__append__concat__rev,axiom,
    ! [Xss2: list_list_list_nat] :
      ( ( fold_l7530783876238848493st_nat @ append_list_nat @ Xss2 )
      = ( append_list_nat @ ( concat_list_nat @ ( rev_list_list_nat @ Xss2 ) ) ) ) ).

% fold_append_concat_rev
thf(fact_916_fold__append__concat__rev,axiom,
    ! [Xss2: list_list_nat] :
      ( ( fold_l5850465621530151245st_nat @ append_nat @ Xss2 )
      = ( append_nat @ ( concat_nat @ ( rev_list_nat @ Xss2 ) ) ) ) ).

% fold_append_concat_rev
thf(fact_917_Longest__common__prefix__eq__Nil,axiom,
    ! [X: list_nat,Ys: list_list_nat,L2: set_list_list_nat,Y3: list_nat,Zs2: list_list_nat] :
      ( ( member_list_list_nat @ ( cons_list_nat @ X @ Ys ) @ L2 )
     => ( ( member_list_list_nat @ ( cons_list_nat @ Y3 @ Zs2 ) @ L2 )
       => ( ( X != Y3 )
         => ( ( longes1154758050827863222st_nat @ L2 )
            = nil_list_nat ) ) ) ) ).

% Longest_common_prefix_eq_Nil
thf(fact_918_Longest__common__prefix__eq__Nil,axiom,
    ! [X: nat,Ys: list_nat,L2: set_list_nat,Y3: nat,Zs2: list_nat] :
      ( ( member_list_nat @ ( cons_nat @ X @ Ys ) @ L2 )
     => ( ( member_list_nat @ ( cons_nat @ Y3 @ Zs2 ) @ L2 )
       => ( ( X != Y3 )
         => ( ( longes514542611558403238ix_nat @ L2 )
            = nil_nat ) ) ) ) ).

% Longest_common_prefix_eq_Nil
thf(fact_919_distinct__prefixes,axiom,
    ! [Xs2: list_nat] : ( distinct_list_nat @ ( prefixes_nat @ Xs2 ) ) ).

% distinct_prefixes
thf(fact_920_distinct__suffixes,axiom,
    ! [Xs2: list_nat] : ( distinct_list_nat @ ( suffixes_nat @ Xs2 ) ) ).

% distinct_suffixes
thf(fact_921_distinct__rev,axiom,
    ! [Xs2: list_list_nat] :
      ( ( distinct_list_nat @ ( rev_list_nat @ Xs2 ) )
      = ( distinct_list_nat @ Xs2 ) ) ).

% distinct_rev
thf(fact_922_distinct__rev,axiom,
    ! [Xs2: list_nat] :
      ( ( distinct_nat @ ( rev_nat @ Xs2 ) )
      = ( distinct_nat @ Xs2 ) ) ).

% distinct_rev
thf(fact_923_distinct__rev,axiom,
    ! [Xs2: list_set_nat] :
      ( ( distinct_set_nat @ ( rev_set_nat @ Xs2 ) )
      = ( distinct_set_nat @ Xs2 ) ) ).

% distinct_rev
thf(fact_924_distinct1__rotate,axiom,
    ! [Xs2: list_nat] :
      ( ( distinct_nat @ ( rotate1_nat @ Xs2 ) )
      = ( distinct_nat @ Xs2 ) ) ).

% distinct1_rotate
thf(fact_925_distinct1__rotate,axiom,
    ! [Xs2: list_set_nat] :
      ( ( distinct_set_nat @ ( rotate1_set_nat @ Xs2 ) )
      = ( distinct_set_nat @ Xs2 ) ) ).

% distinct1_rotate
thf(fact_926_distinct__insert,axiom,
    ! [X: nat,Xs2: list_nat] :
      ( ( distinct_nat @ ( insert_nat @ X @ Xs2 ) )
      = ( distinct_nat @ Xs2 ) ) ).

% distinct_insert
thf(fact_927_distinct__insert,axiom,
    ! [X: set_nat,Xs2: list_set_nat] :
      ( ( distinct_set_nat @ ( insert_set_nat @ X @ Xs2 ) )
      = ( distinct_set_nat @ Xs2 ) ) ).

% distinct_insert
thf(fact_928_distinct__product__lists,axiom,
    ! [Xss2: list_list_set_nat] :
      ( ! [X2: list_set_nat] :
          ( ( member_list_set_nat @ X2 @ ( set_list_set_nat2 @ Xss2 ) )
         => ( distinct_set_nat @ X2 ) )
     => ( distin8180511776246945629et_nat @ ( produc8109398739672286679et_nat @ Xss2 ) ) ) ).

% distinct_product_lists
thf(fact_929_distinct__product__lists,axiom,
    ! [Xss2: list_list_nat] :
      ( ! [X2: list_nat] :
          ( ( member_list_nat @ X2 @ ( set_list_nat2 @ Xss2 ) )
         => ( distinct_nat @ X2 ) )
     => ( distinct_list_nat @ ( product_lists_nat @ Xss2 ) ) ) ).

% distinct_product_lists
thf(fact_930_fold__simps_I2_J,axiom,
    ! [F: nat > list_nat > list_nat,X: nat,Xs2: list_nat,S: list_nat] :
      ( ( fold_nat_list_nat @ F @ ( cons_nat @ X @ Xs2 ) @ S )
      = ( fold_nat_list_nat @ F @ Xs2 @ ( F @ X @ S ) ) ) ).

% fold_simps(2)
thf(fact_931_fold__simps_I2_J,axiom,
    ! [F: nat > nat > nat,X: nat,Xs2: list_nat,S: nat] :
      ( ( fold_nat_nat @ F @ ( cons_nat @ X @ Xs2 ) @ S )
      = ( fold_nat_nat @ F @ Xs2 @ ( F @ X @ S ) ) ) ).

% fold_simps(2)
thf(fact_932_fold__simps_I2_J,axiom,
    ! [F: list_nat > list_nat > list_nat,X: list_nat,Xs2: list_list_nat,S: list_nat] :
      ( ( fold_l5850465621530151245st_nat @ F @ ( cons_list_nat @ X @ Xs2 ) @ S )
      = ( fold_l5850465621530151245st_nat @ F @ Xs2 @ ( F @ X @ S ) ) ) ).

% fold_simps(2)
thf(fact_933_fold__simps_I1_J,axiom,
    ! [F: nat > list_nat > list_nat,S: list_nat] :
      ( ( fold_nat_list_nat @ F @ nil_nat @ S )
      = S ) ).

% fold_simps(1)
thf(fact_934_fold__simps_I1_J,axiom,
    ! [F: nat > nat > nat,S: nat] :
      ( ( fold_nat_nat @ F @ nil_nat @ S )
      = S ) ).

% fold_simps(1)
thf(fact_935_fold__simps_I1_J,axiom,
    ! [F: list_nat > list_nat > list_nat,S: list_nat] :
      ( ( fold_l5850465621530151245st_nat @ F @ nil_list_nat @ S )
      = S ) ).

% fold_simps(1)
thf(fact_936_fold__invariant,axiom,
    ! [Xs2: list_nat,Q: nat > $o,P: list_nat > $o,S: list_nat,F: nat > list_nat > list_nat] :
      ( ! [X2: nat] :
          ( ( member_nat @ X2 @ ( set_nat2 @ Xs2 ) )
         => ( Q @ X2 ) )
     => ( ( P @ S )
       => ( ! [X2: nat,S2: list_nat] :
              ( ( Q @ X2 )
             => ( ( P @ S2 )
               => ( P @ ( F @ X2 @ S2 ) ) ) )
         => ( P @ ( fold_nat_list_nat @ F @ Xs2 @ S ) ) ) ) ) ).

% fold_invariant
thf(fact_937_fold__invariant,axiom,
    ! [Xs2: list_nat,Q: nat > $o,P: nat > $o,S: nat,F: nat > nat > nat] :
      ( ! [X2: nat] :
          ( ( member_nat @ X2 @ ( set_nat2 @ Xs2 ) )
         => ( Q @ X2 ) )
     => ( ( P @ S )
       => ( ! [X2: nat,S2: nat] :
              ( ( Q @ X2 )
             => ( ( P @ S2 )
               => ( P @ ( F @ X2 @ S2 ) ) ) )
         => ( P @ ( fold_nat_nat @ F @ Xs2 @ S ) ) ) ) ) ).

% fold_invariant
thf(fact_938_fold__invariant,axiom,
    ! [Xs2: list_list_nat,Q: list_nat > $o,P: list_nat > $o,S: list_nat,F: list_nat > list_nat > list_nat] :
      ( ! [X2: list_nat] :
          ( ( member_list_nat @ X2 @ ( set_list_nat2 @ Xs2 ) )
         => ( Q @ X2 ) )
     => ( ( P @ S )
       => ( ! [X2: list_nat,S2: list_nat] :
              ( ( Q @ X2 )
             => ( ( P @ S2 )
               => ( P @ ( F @ X2 @ S2 ) ) ) )
         => ( P @ ( fold_l5850465621530151245st_nat @ F @ Xs2 @ S ) ) ) ) ) ).

% fold_invariant
thf(fact_939_List_Ofold__cong,axiom,
    ! [A: list_nat,B: list_nat,Xs2: list_nat,Ys: list_nat,F: nat > list_nat > list_nat,G2: nat > list_nat > list_nat] :
      ( ( A = B )
     => ( ( Xs2 = Ys )
       => ( ! [X2: nat] :
              ( ( member_nat @ X2 @ ( set_nat2 @ Xs2 ) )
             => ( ( F @ X2 )
                = ( G2 @ X2 ) ) )
         => ( ( fold_nat_list_nat @ F @ Xs2 @ A )
            = ( fold_nat_list_nat @ G2 @ Ys @ B ) ) ) ) ) ).

% List.fold_cong
thf(fact_940_List_Ofold__cong,axiom,
    ! [A: nat,B: nat,Xs2: list_nat,Ys: list_nat,F: nat > nat > nat,G2: nat > nat > nat] :
      ( ( A = B )
     => ( ( Xs2 = Ys )
       => ( ! [X2: nat] :
              ( ( member_nat @ X2 @ ( set_nat2 @ Xs2 ) )
             => ( ( F @ X2 )
                = ( G2 @ X2 ) ) )
         => ( ( fold_nat_nat @ F @ Xs2 @ A )
            = ( fold_nat_nat @ G2 @ Ys @ B ) ) ) ) ) ).

% List.fold_cong
thf(fact_941_List_Ofold__cong,axiom,
    ! [A: list_nat,B: list_nat,Xs2: list_list_nat,Ys: list_list_nat,F: list_nat > list_nat > list_nat,G2: list_nat > list_nat > list_nat] :
      ( ( A = B )
     => ( ( Xs2 = Ys )
       => ( ! [X2: list_nat] :
              ( ( member_list_nat @ X2 @ ( set_list_nat2 @ Xs2 ) )
             => ( ( F @ X2 )
                = ( G2 @ X2 ) ) )
         => ( ( fold_l5850465621530151245st_nat @ F @ Xs2 @ A )
            = ( fold_l5850465621530151245st_nat @ G2 @ Ys @ B ) ) ) ) ) ).

% List.fold_cong
thf(fact_942_distinct__set__subseqs,axiom,
    ! [Xs2: list_set_nat] :
      ( ( distinct_set_nat @ Xs2 )
     => ( distinct_set_set_nat @ ( map_li3330360646112351000et_nat @ set_set_nat2 @ ( subseqs_set_nat @ Xs2 ) ) ) ) ).

% distinct_set_subseqs
thf(fact_943_distinct__set__subseqs,axiom,
    ! [Xs2: list_list_nat] :
      ( ( distinct_list_nat @ Xs2 )
     => ( distin4912746231890992349st_nat @ ( map_li2355978560338012748st_nat @ set_list_nat2 @ ( subseqs_list_nat @ Xs2 ) ) ) ) ).

% distinct_set_subseqs
thf(fact_944_distinct__set__subseqs,axiom,
    ! [Xs2: list_nat] :
      ( ( distinct_nat @ Xs2 )
     => ( distinct_set_nat @ ( map_list_nat_set_nat @ set_nat2 @ ( subseqs_nat @ Xs2 ) ) ) ) ).

% distinct_set_subseqs
thf(fact_945_distinct__length__2__or__more,axiom,
    ! [A: set_nat,B: set_nat,Xs2: list_set_nat] :
      ( ( distinct_set_nat @ ( cons_set_nat @ A @ ( cons_set_nat @ B @ Xs2 ) ) )
      = ( ( A != B )
        & ( distinct_set_nat @ ( cons_set_nat @ A @ Xs2 ) )
        & ( distinct_set_nat @ ( cons_set_nat @ B @ Xs2 ) ) ) ) ).

% distinct_length_2_or_more
thf(fact_946_distinct__length__2__or__more,axiom,
    ! [A: list_nat,B: list_nat,Xs2: list_list_nat] :
      ( ( distinct_list_nat @ ( cons_list_nat @ A @ ( cons_list_nat @ B @ Xs2 ) ) )
      = ( ( A != B )
        & ( distinct_list_nat @ ( cons_list_nat @ A @ Xs2 ) )
        & ( distinct_list_nat @ ( cons_list_nat @ B @ Xs2 ) ) ) ) ).

% distinct_length_2_or_more
thf(fact_947_distinct__length__2__or__more,axiom,
    ! [A: nat,B: nat,Xs2: list_nat] :
      ( ( distinct_nat @ ( cons_nat @ A @ ( cons_nat @ B @ Xs2 ) ) )
      = ( ( A != B )
        & ( distinct_nat @ ( cons_nat @ A @ Xs2 ) )
        & ( distinct_nat @ ( cons_nat @ B @ Xs2 ) ) ) ) ).

% distinct_length_2_or_more
thf(fact_948_distinct_Osimps_I1_J,axiom,
    distinct_set_nat @ nil_set_nat ).

% distinct.simps(1)
thf(fact_949_distinct_Osimps_I1_J,axiom,
    distinct_list_nat @ nil_list_nat ).

% distinct.simps(1)
thf(fact_950_distinct_Osimps_I1_J,axiom,
    distinct_nat @ nil_nat ).

% distinct.simps(1)
thf(fact_951_sorted__list__of__set_Odistinct__if__distinct__map,axiom,
    ! [Xs2: list_nat] :
      ( ( distinct_nat @ Xs2 )
     => ( distinct_nat @ Xs2 ) ) ).

% sorted_list_of_set.distinct_if_distinct_map
thf(fact_952_distinct__butlast,axiom,
    ! [Xs2: list_nat] :
      ( ( distinct_nat @ Xs2 )
     => ( distinct_nat @ ( butlast_nat @ Xs2 ) ) ) ).

% distinct_butlast
thf(fact_953_distinct__butlast,axiom,
    ! [Xs2: list_set_nat] :
      ( ( distinct_set_nat @ Xs2 )
     => ( distinct_set_nat @ ( butlast_set_nat @ Xs2 ) ) ) ).

% distinct_butlast
thf(fact_954_distinct__singleton,axiom,
    ! [X: set_nat] : ( distinct_set_nat @ ( cons_set_nat @ X @ nil_set_nat ) ) ).

% distinct_singleton
thf(fact_955_distinct__singleton,axiom,
    ! [X: list_nat] : ( distinct_list_nat @ ( cons_list_nat @ X @ nil_list_nat ) ) ).

% distinct_singleton
thf(fact_956_distinct__singleton,axiom,
    ! [X: nat] : ( distinct_nat @ ( cons_nat @ X @ nil_nat ) ) ).

% distinct_singleton
thf(fact_957_distinct_Osimps_I2_J,axiom,
    ! [X: set_nat,Xs2: list_set_nat] :
      ( ( distinct_set_nat @ ( cons_set_nat @ X @ Xs2 ) )
      = ( ~ ( member_set_nat @ X @ ( set_set_nat2 @ Xs2 ) )
        & ( distinct_set_nat @ Xs2 ) ) ) ).

% distinct.simps(2)
thf(fact_958_distinct_Osimps_I2_J,axiom,
    ! [X: list_nat,Xs2: list_list_nat] :
      ( ( distinct_list_nat @ ( cons_list_nat @ X @ Xs2 ) )
      = ( ~ ( member_list_nat @ X @ ( set_list_nat2 @ Xs2 ) )
        & ( distinct_list_nat @ Xs2 ) ) ) ).

% distinct.simps(2)
thf(fact_959_distinct_Osimps_I2_J,axiom,
    ! [X: nat,Xs2: list_nat] :
      ( ( distinct_nat @ ( cons_nat @ X @ Xs2 ) )
      = ( ~ ( member_nat @ X @ ( set_nat2 @ Xs2 ) )
        & ( distinct_nat @ Xs2 ) ) ) ).

% distinct.simps(2)
thf(fact_960_Longest__common__prefix__Nil,axiom,
    ! [L2: set_list_list_nat] :
      ( ( member_list_list_nat @ nil_list_nat @ L2 )
     => ( ( longes1154758050827863222st_nat @ L2 )
        = nil_list_nat ) ) ).

% Longest_common_prefix_Nil
thf(fact_961_Longest__common__prefix__Nil,axiom,
    ! [L2: set_list_nat] :
      ( ( member_list_nat @ nil_nat @ L2 )
     => ( ( longes514542611558403238ix_nat @ L2 )
        = nil_nat ) ) ).

% Longest_common_prefix_Nil
thf(fact_962_distinct__insort,axiom,
    ! [F: nat > nat,X: nat,Xs2: list_nat] :
      ( ( distinct_nat @ ( linord8961336180081300637at_nat @ F @ X @ Xs2 ) )
      = ( ~ ( member_nat @ X @ ( set_nat2 @ Xs2 ) )
        & ( distinct_nat @ Xs2 ) ) ) ).

% distinct_insort
thf(fact_963_Longest__common__prefix__prefix,axiom,
    ! [Xs2: list_nat,L2: set_list_nat] :
      ( ( member_list_nat @ Xs2 @ L2 )
     => ( prefix_nat @ ( longes514542611558403238ix_nat @ L2 ) @ Xs2 ) ) ).

% Longest_common_prefix_prefix
thf(fact_964_subseqs__distinctD,axiom,
    ! [Ys: list_set_nat,Xs2: list_set_nat] :
      ( ( member_list_set_nat @ Ys @ ( set_list_set_nat2 @ ( subseqs_set_nat @ Xs2 ) ) )
     => ( ( distinct_set_nat @ Xs2 )
       => ( distinct_set_nat @ Ys ) ) ) ).

% subseqs_distinctD
thf(fact_965_subseqs__distinctD,axiom,
    ! [Ys: list_nat,Xs2: list_nat] :
      ( ( member_list_nat @ Ys @ ( set_list_nat2 @ ( subseqs_nat @ Xs2 ) ) )
     => ( ( distinct_nat @ Xs2 )
       => ( distinct_nat @ Ys ) ) ) ).

% subseqs_distinctD
thf(fact_966_foldr__conv__fold,axiom,
    ( foldr_nat_list_nat
    = ( ^ [F2: nat > list_nat > list_nat,Xs4: list_nat] : ( fold_nat_list_nat @ F2 @ ( rev_nat @ Xs4 ) ) ) ) ).

% foldr_conv_fold
thf(fact_967_foldr__conv__fold,axiom,
    ( foldr_nat_nat
    = ( ^ [F2: nat > nat > nat,Xs4: list_nat] : ( fold_nat_nat @ F2 @ ( rev_nat @ Xs4 ) ) ) ) ).

% foldr_conv_fold
thf(fact_968_foldr__conv__fold,axiom,
    ( foldr_6871341030409798377st_nat
    = ( ^ [F2: list_nat > list_nat > list_nat,Xs4: list_list_nat] : ( fold_l5850465621530151245st_nat @ F2 @ ( rev_list_nat @ Xs4 ) ) ) ) ).

% foldr_conv_fold
thf(fact_969_not__distinct__decomp,axiom,
    ! [Ws: list_set_nat] :
      ( ~ ( distinct_set_nat @ Ws )
     => ? [Xs: list_set_nat,Ys3: list_set_nat,Zs3: list_set_nat,Y: set_nat] :
          ( Ws
          = ( append_set_nat @ Xs @ ( append_set_nat @ ( cons_set_nat @ Y @ nil_set_nat ) @ ( append_set_nat @ Ys3 @ ( append_set_nat @ ( cons_set_nat @ Y @ nil_set_nat ) @ Zs3 ) ) ) ) ) ) ).

% not_distinct_decomp
thf(fact_970_not__distinct__decomp,axiom,
    ! [Ws: list_list_nat] :
      ( ~ ( distinct_list_nat @ Ws )
     => ? [Xs: list_list_nat,Ys3: list_list_nat,Zs3: list_list_nat,Y: list_nat] :
          ( Ws
          = ( append_list_nat @ Xs @ ( append_list_nat @ ( cons_list_nat @ Y @ nil_list_nat ) @ ( append_list_nat @ Ys3 @ ( append_list_nat @ ( cons_list_nat @ Y @ nil_list_nat ) @ Zs3 ) ) ) ) ) ) ).

% not_distinct_decomp
thf(fact_971_not__distinct__decomp,axiom,
    ! [Ws: list_nat] :
      ( ~ ( distinct_nat @ Ws )
     => ? [Xs: list_nat,Ys3: list_nat,Zs3: list_nat,Y: nat] :
          ( Ws
          = ( append_nat @ Xs @ ( append_nat @ ( cons_nat @ Y @ nil_nat ) @ ( append_nat @ Ys3 @ ( append_nat @ ( cons_nat @ Y @ nil_nat ) @ Zs3 ) ) ) ) ) ) ).

% not_distinct_decomp
thf(fact_972_not__distinct__conv__prefix,axiom,
    ! [As2: list_set_nat] :
      ( ( ~ ( distinct_set_nat @ As2 ) )
      = ( ? [Xs4: list_set_nat,Y5: set_nat,Ys2: list_set_nat] :
            ( ( member_set_nat @ Y5 @ ( set_set_nat2 @ Xs4 ) )
            & ( distinct_set_nat @ Xs4 )
            & ( As2
              = ( append_set_nat @ Xs4 @ ( cons_set_nat @ Y5 @ Ys2 ) ) ) ) ) ) ).

% not_distinct_conv_prefix
thf(fact_973_not__distinct__conv__prefix,axiom,
    ! [As2: list_list_nat] :
      ( ( ~ ( distinct_list_nat @ As2 ) )
      = ( ? [Xs4: list_list_nat,Y5: list_nat,Ys2: list_list_nat] :
            ( ( member_list_nat @ Y5 @ ( set_list_nat2 @ Xs4 ) )
            & ( distinct_list_nat @ Xs4 )
            & ( As2
              = ( append_list_nat @ Xs4 @ ( cons_list_nat @ Y5 @ Ys2 ) ) ) ) ) ) ).

% not_distinct_conv_prefix
thf(fact_974_not__distinct__conv__prefix,axiom,
    ! [As2: list_nat] :
      ( ( ~ ( distinct_nat @ As2 ) )
      = ( ? [Xs4: list_nat,Y5: nat,Ys2: list_nat] :
            ( ( member_nat @ Y5 @ ( set_nat2 @ Xs4 ) )
            & ( distinct_nat @ Xs4 )
            & ( As2
              = ( append_nat @ Xs4 @ ( cons_nat @ Y5 @ Ys2 ) ) ) ) ) ) ).

% not_distinct_conv_prefix
thf(fact_975_rev__conv__fold,axiom,
    ( rev_list_nat
    = ( ^ [Xs4: list_list_nat] : ( fold_l4223200833498237789st_nat @ cons_list_nat @ Xs4 @ nil_list_nat ) ) ) ).

% rev_conv_fold
thf(fact_976_rev__conv__fold,axiom,
    ( rev_nat
    = ( ^ [Xs4: list_nat] : ( fold_nat_list_nat @ cons_nat @ Xs4 @ nil_nat ) ) ) ).

% rev_conv_fold
thf(fact_977_fold__Cons__rev,axiom,
    ! [Xs2: list_list_nat] :
      ( ( fold_l4223200833498237789st_nat @ cons_list_nat @ Xs2 )
      = ( append_list_nat @ ( rev_list_nat @ Xs2 ) ) ) ).

% fold_Cons_rev
thf(fact_978_fold__Cons__rev,axiom,
    ! [Xs2: list_nat] :
      ( ( fold_nat_list_nat @ cons_nat @ Xs2 )
      = ( append_nat @ ( rev_nat @ Xs2 ) ) ) ).

% fold_Cons_rev
thf(fact_979_List_Ounion__def,axiom,
    ( union_nat
    = ( fold_nat_list_nat @ insert_nat ) ) ).

% List.union_def
thf(fact_980_distinct__union,axiom,
    ! [Xs2: list_nat,Ys: list_nat] :
      ( ( distinct_nat @ ( union_nat @ Xs2 @ Ys ) )
      = ( distinct_nat @ Ys ) ) ).

% distinct_union
thf(fact_981_distinct__union,axiom,
    ! [Xs2: list_set_nat,Ys: list_set_nat] :
      ( ( distinct_set_nat @ ( union_set_nat @ Xs2 @ Ys ) )
      = ( distinct_set_nat @ Ys ) ) ).

% distinct_union
thf(fact_982_sort__key__conv__fold,axiom,
    ! [F: nat > nat,Xs2: list_nat] :
      ( ( inj_on_nat_nat @ F @ ( set_nat2 @ Xs2 ) )
     => ( ( linord738340561235409698at_nat @ F @ Xs2 )
        = ( fold_nat_list_nat @ ( linord8961336180081300637at_nat @ F ) @ Xs2 @ nil_nat ) ) ) ).

% sort_key_conv_fold
thf(fact_983_Min_Oset__eq__fold,axiom,
    ! [X: nat,Xs2: list_nat] :
      ( ( lattic8721135487736765967in_nat @ ( set_nat2 @ ( cons_nat @ X @ Xs2 ) ) )
      = ( fold_nat_nat @ ord_min_nat @ Xs2 @ X ) ) ).

% Min.set_eq_fold
thf(fact_984_inj__on__rev,axiom,
    ! [A4: set_list_list_nat] : ( inj_on2300671324199612755st_nat @ rev_list_nat @ A4 ) ).

% inj_on_rev
thf(fact_985_inj__on__rev,axiom,
    ! [A4: set_list_nat] : ( inj_on3049792774292151987st_nat @ rev_nat @ A4 ) ).

% inj_on_rev
thf(fact_986_min__def,axiom,
    ( ord_min_o_nat
    = ( ^ [A2: $o > nat,B2: $o > nat] : ( if_o_nat @ ( ord_less_eq_o_nat @ A2 @ B2 ) @ A2 @ B2 ) ) ) ).

% min_def
thf(fact_987_min__def,axiom,
    ( ord_min_set_nat
    = ( ^ [A2: set_nat,B2: set_nat] : ( if_set_nat @ ( ord_less_eq_set_nat @ A2 @ B2 ) @ A2 @ B2 ) ) ) ).

% min_def
thf(fact_988_min__def,axiom,
    ( ord_min_set_list_nat
    = ( ^ [A2: set_list_nat,B2: set_list_nat] : ( if_set_list_nat @ ( ord_le6045566169113846134st_nat @ A2 @ B2 ) @ A2 @ B2 ) ) ) ).

% min_def
thf(fact_989_min__def,axiom,
    ( ord_min_nat
    = ( ^ [A2: nat,B2: nat] : ( if_nat @ ( ord_less_eq_nat @ A2 @ B2 ) @ A2 @ B2 ) ) ) ).

% min_def
thf(fact_990_min__absorb1,axiom,
    ! [X: $o > nat,Y3: $o > nat] :
      ( ( ord_less_eq_o_nat @ X @ Y3 )
     => ( ( ord_min_o_nat @ X @ Y3 )
        = X ) ) ).

% min_absorb1
thf(fact_991_min__absorb1,axiom,
    ! [X: set_nat,Y3: set_nat] :
      ( ( ord_less_eq_set_nat @ X @ Y3 )
     => ( ( ord_min_set_nat @ X @ Y3 )
        = X ) ) ).

% min_absorb1
thf(fact_992_min__absorb1,axiom,
    ! [X: set_list_nat,Y3: set_list_nat] :
      ( ( ord_le6045566169113846134st_nat @ X @ Y3 )
     => ( ( ord_min_set_list_nat @ X @ Y3 )
        = X ) ) ).

% min_absorb1
thf(fact_993_min__absorb1,axiom,
    ! [X: nat,Y3: nat] :
      ( ( ord_less_eq_nat @ X @ Y3 )
     => ( ( ord_min_nat @ X @ Y3 )
        = X ) ) ).

% min_absorb1
thf(fact_994_min__absorb2,axiom,
    ! [Y3: $o > nat,X: $o > nat] :
      ( ( ord_less_eq_o_nat @ Y3 @ X )
     => ( ( ord_min_o_nat @ X @ Y3 )
        = Y3 ) ) ).

% min_absorb2
thf(fact_995_min__absorb2,axiom,
    ! [Y3: set_nat,X: set_nat] :
      ( ( ord_less_eq_set_nat @ Y3 @ X )
     => ( ( ord_min_set_nat @ X @ Y3 )
        = Y3 ) ) ).

% min_absorb2
thf(fact_996_min__absorb2,axiom,
    ! [Y3: set_list_nat,X: set_list_nat] :
      ( ( ord_le6045566169113846134st_nat @ Y3 @ X )
     => ( ( ord_min_set_list_nat @ X @ Y3 )
        = Y3 ) ) ).

% min_absorb2
thf(fact_997_min__absorb2,axiom,
    ! [Y3: nat,X: nat] :
      ( ( ord_less_eq_nat @ Y3 @ X )
     => ( ( ord_min_nat @ X @ Y3 )
        = Y3 ) ) ).

% min_absorb2
thf(fact_998_inj__on__Cons1,axiom,
    ! [X: list_nat,A4: set_list_list_nat] : ( inj_on2300671324199612755st_nat @ ( cons_list_nat @ X ) @ A4 ) ).

% inj_on_Cons1
thf(fact_999_inj__on__Cons1,axiom,
    ! [X: nat,A4: set_list_nat] : ( inj_on3049792774292151987st_nat @ ( cons_nat @ X ) @ A4 ) ).

% inj_on_Cons1
thf(fact_1000_distinct__map,axiom,
    ! [F: set_nat > nat,Xs2: list_set_nat] :
      ( ( distinct_nat @ ( map_set_nat_nat @ F @ Xs2 ) )
      = ( ( distinct_set_nat @ Xs2 )
        & ( inj_on_set_nat_nat @ F @ ( set_set_nat2 @ Xs2 ) ) ) ) ).

% distinct_map
thf(fact_1001_distinct__map,axiom,
    ! [F: set_nat > set_nat,Xs2: list_set_nat] :
      ( ( distinct_set_nat @ ( map_set_nat_set_nat @ F @ Xs2 ) )
      = ( ( distinct_set_nat @ Xs2 )
        & ( inj_on4604407203859583615et_nat @ F @ ( set_set_nat2 @ Xs2 ) ) ) ) ).

% distinct_map
thf(fact_1002_distinct__map,axiom,
    ! [F: nat > set_nat,Xs2: list_nat] :
      ( ( distinct_set_nat @ ( map_nat_set_nat @ F @ Xs2 ) )
      = ( ( distinct_nat @ Xs2 )
        & ( inj_on_nat_set_nat @ F @ ( set_nat2 @ Xs2 ) ) ) ) ).

% distinct_map
thf(fact_1003_distinct__map,axiom,
    ! [F: nat > nat,Xs2: list_nat] :
      ( ( distinct_nat @ ( map_nat_nat @ F @ Xs2 ) )
      = ( ( distinct_nat @ Xs2 )
        & ( inj_on_nat_nat @ F @ ( set_nat2 @ Xs2 ) ) ) ) ).

% distinct_map
thf(fact_1004_distinct__map,axiom,
    ! [F: list_nat > nat,Xs2: list_list_nat] :
      ( ( distinct_nat @ ( map_list_nat_nat @ F @ Xs2 ) )
      = ( ( distinct_list_nat @ Xs2 )
        & ( inj_on_list_nat_nat @ F @ ( set_list_nat2 @ Xs2 ) ) ) ) ).

% distinct_map
thf(fact_1005_distinct__map,axiom,
    ! [F: list_nat > list_nat,Xs2: list_list_nat] :
      ( ( distinct_list_nat @ ( map_li7225945977422193158st_nat @ F @ Xs2 ) )
      = ( ( distinct_list_nat @ Xs2 )
        & ( inj_on3049792774292151987st_nat @ F @ ( set_list_nat2 @ Xs2 ) ) ) ) ).

% distinct_map
thf(fact_1006_distinct__map,axiom,
    ! [F: list_nat > set_nat,Xs2: list_list_nat] :
      ( ( distinct_set_nat @ ( map_list_nat_set_nat @ F @ Xs2 ) )
      = ( ( distinct_list_nat @ Xs2 )
        & ( inj_on1816901372521670873et_nat @ F @ ( set_list_nat2 @ Xs2 ) ) ) ) ).

% distinct_map
thf(fact_1007_min_Oabsorb1,axiom,
    ! [A: nat,B: nat] :
      ( ( ord_less_eq_nat @ A @ B )
     => ( ( ord_min_nat @ A @ B )
        = A ) ) ).

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

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

% min.bounded_iff
thf(fact_1010_subset__image__inj,axiom,
    ! [S3: set_set_nat,F: list_nat > set_nat,T3: set_list_nat] :
      ( ( ord_le6893508408891458716et_nat @ S3 @ ( image_1775855109352712557et_nat @ F @ T3 ) )
      = ( ? [U: set_list_nat] :
            ( ( ord_le6045566169113846134st_nat @ U @ T3 )
            & ( inj_on1816901372521670873et_nat @ F @ U )
            & ( S3
              = ( image_1775855109352712557et_nat @ F @ U ) ) ) ) ) ).

% subset_image_inj
thf(fact_1011_subset__image__inj,axiom,
    ! [S3: set_nat,F: nat > nat,T3: set_nat] :
      ( ( ord_less_eq_set_nat @ S3 @ ( image_nat_nat @ F @ T3 ) )
      = ( ? [U: set_nat] :
            ( ( ord_less_eq_set_nat @ U @ T3 )
            & ( inj_on_nat_nat @ F @ U )
            & ( S3
              = ( image_nat_nat @ F @ U ) ) ) ) ) ).

% subset_image_inj
thf(fact_1012_subset__image__inj,axiom,
    ! [S3: set_nat,F: list_nat > nat,T3: set_list_nat] :
      ( ( ord_less_eq_set_nat @ S3 @ ( image_list_nat_nat @ F @ T3 ) )
      = ( ? [U: set_list_nat] :
            ( ( ord_le6045566169113846134st_nat @ U @ T3 )
            & ( inj_on_list_nat_nat @ F @ U )
            & ( S3
              = ( image_list_nat_nat @ F @ U ) ) ) ) ) ).

% subset_image_inj
thf(fact_1013_subset__image__inj,axiom,
    ! [S3: set_list_nat,F: nat > list_nat,T3: set_nat] :
      ( ( ord_le6045566169113846134st_nat @ S3 @ ( image_nat_list_nat @ F @ T3 ) )
      = ( ? [U: set_nat] :
            ( ( ord_less_eq_set_nat @ U @ T3 )
            & ( inj_on_nat_list_nat @ F @ U )
            & ( S3
              = ( image_nat_list_nat @ F @ U ) ) ) ) ) ).

% subset_image_inj
thf(fact_1014_subset__image__inj,axiom,
    ! [S3: set_list_nat,F: list_nat > list_nat,T3: set_list_nat] :
      ( ( ord_le6045566169113846134st_nat @ S3 @ ( image_7976474329151083847st_nat @ F @ T3 ) )
      = ( ? [U: set_list_nat] :
            ( ( ord_le6045566169113846134st_nat @ U @ T3 )
            & ( inj_on3049792774292151987st_nat @ F @ U )
            & ( S3
              = ( image_7976474329151083847st_nat @ F @ U ) ) ) ) ) ).

% subset_image_inj
thf(fact_1015_min__le__iff__disj,axiom,
    ! [X: nat,Y3: nat,Z2: nat] :
      ( ( ord_less_eq_nat @ ( ord_min_nat @ X @ Y3 ) @ Z2 )
      = ( ( ord_less_eq_nat @ X @ Z2 )
        | ( ord_less_eq_nat @ Y3 @ Z2 ) ) ) ).

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

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

% min.coboundedI1
thf(fact_1018_min_Oabsorb__iff2,axiom,
    ( ord_less_eq_nat
    = ( ^ [B2: nat,A2: nat] :
          ( ( ord_min_nat @ A2 @ B2 )
          = B2 ) ) ) ).

% min.absorb_iff2
thf(fact_1019_min_Oabsorb__iff1,axiom,
    ( ord_less_eq_nat
    = ( ^ [A2: nat,B2: nat] :
          ( ( ord_min_nat @ A2 @ B2 )
          = A2 ) ) ) ).

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

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

% min.cobounded1
thf(fact_1022_min_Oorder__iff,axiom,
    ( ord_less_eq_nat
    = ( ^ [A2: nat,B2: nat] :
          ( A2
          = ( ord_min_nat @ A2 @ B2 ) ) ) ) ).

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

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

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

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

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

% min.mono
thf(fact_1028_inj__on__impl__inj__on__image,axiom,
    ! [F: nat > nat,A4: set_nat,X6: set_set_nat] :
      ( ( inj_on_nat_nat @ F @ A4 )
     => ( ! [X2: set_nat] :
            ( ( member_set_nat @ X2 @ X6 )
           => ( ord_less_eq_set_nat @ X2 @ A4 ) )
       => ( inj_on4604407203859583615et_nat @ ( image_nat_nat @ F ) @ X6 ) ) ) ).

% inj_on_impl_inj_on_image
thf(fact_1029_inj__on__impl__inj__on__image,axiom,
    ! [F: list_nat > set_nat,A4: set_list_nat,X6: set_set_list_nat] :
      ( ( inj_on1816901372521670873et_nat @ F @ A4 )
     => ( ! [X2: set_list_nat] :
            ( ( member_set_list_nat @ X2 @ X6 )
           => ( ord_le6045566169113846134st_nat @ X2 @ A4 ) )
       => ( inj_on7179981096601383877et_nat @ ( image_1775855109352712557et_nat @ F ) @ X6 ) ) ) ).

% inj_on_impl_inj_on_image
thf(fact_1030_inj__on__impl__inj__on__image,axiom,
    ! [F: list_nat > list_nat,A4: set_list_nat,X6: set_set_list_nat] :
      ( ( inj_on3049792774292151987st_nat @ F @ A4 )
     => ( ! [X2: set_list_nat] :
            ( ( member_set_list_nat @ X2 @ X6 )
           => ( ord_le6045566169113846134st_nat @ X2 @ A4 ) )
       => ( inj_on7727202910563240991st_nat @ ( image_7976474329151083847st_nat @ F ) @ X6 ) ) ) ).

% inj_on_impl_inj_on_image
thf(fact_1031_inj__on__image__eq__iff,axiom,
    ! [F: nat > nat,C2: set_nat,A4: set_nat,B4: set_nat] :
      ( ( inj_on_nat_nat @ F @ C2 )
     => ( ( ord_less_eq_set_nat @ A4 @ C2 )
       => ( ( ord_less_eq_set_nat @ B4 @ C2 )
         => ( ( ( image_nat_nat @ F @ A4 )
              = ( image_nat_nat @ F @ B4 ) )
            = ( A4 = B4 ) ) ) ) ) ).

% inj_on_image_eq_iff
thf(fact_1032_inj__on__image__eq__iff,axiom,
    ! [F: list_nat > set_nat,C2: set_list_nat,A4: set_list_nat,B4: set_list_nat] :
      ( ( inj_on1816901372521670873et_nat @ F @ C2 )
     => ( ( ord_le6045566169113846134st_nat @ A4 @ C2 )
       => ( ( ord_le6045566169113846134st_nat @ B4 @ C2 )
         => ( ( ( image_1775855109352712557et_nat @ F @ A4 )
              = ( image_1775855109352712557et_nat @ F @ B4 ) )
            = ( A4 = B4 ) ) ) ) ) ).

% inj_on_image_eq_iff
thf(fact_1033_inj__on__image__eq__iff,axiom,
    ! [F: list_nat > list_nat,C2: set_list_nat,A4: set_list_nat,B4: set_list_nat] :
      ( ( inj_on3049792774292151987st_nat @ F @ C2 )
     => ( ( ord_le6045566169113846134st_nat @ A4 @ C2 )
       => ( ( ord_le6045566169113846134st_nat @ B4 @ C2 )
         => ( ( ( image_7976474329151083847st_nat @ F @ A4 )
              = ( image_7976474329151083847st_nat @ F @ B4 ) )
            = ( A4 = B4 ) ) ) ) ) ).

% inj_on_image_eq_iff
thf(fact_1034_inj__on__image__mem__iff,axiom,
    ! [F: set_nat > nat,B4: set_set_nat,A: set_nat,A4: set_set_nat] :
      ( ( inj_on_set_nat_nat @ F @ B4 )
     => ( ( member_set_nat @ A @ B4 )
       => ( ( ord_le6893508408891458716et_nat @ A4 @ B4 )
         => ( ( member_nat @ ( F @ A ) @ ( image_set_nat_nat @ F @ A4 ) )
            = ( member_set_nat @ A @ A4 ) ) ) ) ) ).

% inj_on_image_mem_iff
thf(fact_1035_inj__on__image__mem__iff,axiom,
    ! [F: set_nat > list_nat,B4: set_set_nat,A: set_nat,A4: set_set_nat] :
      ( ( inj_on5467128325884351833st_nat @ F @ B4 )
     => ( ( member_set_nat @ A @ B4 )
       => ( ( ord_le6893508408891458716et_nat @ A4 @ B4 )
         => ( ( member_list_nat @ ( F @ A ) @ ( image_5426082062715393517st_nat @ F @ A4 ) )
            = ( member_set_nat @ A @ A4 ) ) ) ) ) ).

% inj_on_image_mem_iff
thf(fact_1036_inj__on__image__mem__iff,axiom,
    ! [F: set_nat > set_nat,B4: set_set_nat,A: set_nat,A4: set_set_nat] :
      ( ( inj_on4604407203859583615et_nat @ F @ B4 )
     => ( ( member_set_nat @ A @ B4 )
       => ( ( ord_le6893508408891458716et_nat @ A4 @ B4 )
         => ( ( member_set_nat @ ( F @ A ) @ ( image_7916887816326733075et_nat @ F @ A4 ) )
            = ( member_set_nat @ A @ A4 ) ) ) ) ) ).

% inj_on_image_mem_iff
thf(fact_1037_inj__on__image__mem__iff,axiom,
    ! [F: nat > nat,B4: set_nat,A: nat,A4: set_nat] :
      ( ( inj_on_nat_nat @ F @ B4 )
     => ( ( member_nat @ A @ B4 )
       => ( ( ord_less_eq_set_nat @ A4 @ B4 )
         => ( ( member_nat @ ( F @ A ) @ ( image_nat_nat @ F @ A4 ) )
            = ( member_nat @ A @ A4 ) ) ) ) ) ).

% inj_on_image_mem_iff
thf(fact_1038_inj__on__image__mem__iff,axiom,
    ! [F: nat > list_nat,B4: set_nat,A: nat,A4: set_nat] :
      ( ( inj_on_nat_list_nat @ F @ B4 )
     => ( ( member_nat @ A @ B4 )
       => ( ( ord_less_eq_set_nat @ A4 @ B4 )
         => ( ( member_list_nat @ ( F @ A ) @ ( image_nat_list_nat @ F @ A4 ) )
            = ( member_nat @ A @ A4 ) ) ) ) ) ).

% inj_on_image_mem_iff
thf(fact_1039_inj__on__image__mem__iff,axiom,
    ! [F: nat > set_nat,B4: set_nat,A: nat,A4: set_nat] :
      ( ( inj_on_nat_set_nat @ F @ B4 )
     => ( ( member_nat @ A @ B4 )
       => ( ( ord_less_eq_set_nat @ A4 @ B4 )
         => ( ( member_set_nat @ ( F @ A ) @ ( image_nat_set_nat @ F @ A4 ) )
            = ( member_nat @ A @ A4 ) ) ) ) ) ).

% inj_on_image_mem_iff
thf(fact_1040_inj__on__image__mem__iff,axiom,
    ! [F: list_nat > nat,B4: set_list_nat,A: list_nat,A4: set_list_nat] :
      ( ( inj_on_list_nat_nat @ F @ B4 )
     => ( ( member_list_nat @ A @ B4 )
       => ( ( ord_le6045566169113846134st_nat @ A4 @ B4 )
         => ( ( member_nat @ ( F @ A ) @ ( image_list_nat_nat @ F @ A4 ) )
            = ( member_list_nat @ A @ A4 ) ) ) ) ) ).

% inj_on_image_mem_iff
thf(fact_1041_inj__on__image__mem__iff,axiom,
    ! [F: list_nat > list_nat,B4: set_list_nat,A: list_nat,A4: set_list_nat] :
      ( ( inj_on3049792774292151987st_nat @ F @ B4 )
     => ( ( member_list_nat @ A @ B4 )
       => ( ( ord_le6045566169113846134st_nat @ A4 @ B4 )
         => ( ( member_list_nat @ ( F @ A ) @ ( image_7976474329151083847st_nat @ F @ A4 ) )
            = ( member_list_nat @ A @ A4 ) ) ) ) ) ).

% inj_on_image_mem_iff
thf(fact_1042_inj__on__image__mem__iff,axiom,
    ! [F: list_nat > set_nat,B4: set_list_nat,A: list_nat,A4: set_list_nat] :
      ( ( inj_on1816901372521670873et_nat @ F @ B4 )
     => ( ( member_list_nat @ A @ B4 )
       => ( ( ord_le6045566169113846134st_nat @ A4 @ B4 )
         => ( ( member_set_nat @ ( F @ A ) @ ( image_1775855109352712557et_nat @ F @ A4 ) )
            = ( member_list_nat @ A @ A4 ) ) ) ) ) ).

% inj_on_image_mem_iff
thf(fact_1043_inj__on__subset,axiom,
    ! [F: nat > nat,A4: set_nat,B4: set_nat] :
      ( ( inj_on_nat_nat @ F @ A4 )
     => ( ( ord_less_eq_set_nat @ B4 @ A4 )
       => ( inj_on_nat_nat @ F @ B4 ) ) ) ).

% inj_on_subset
thf(fact_1044_inj__on__subset,axiom,
    ! [F: list_nat > list_nat,A4: set_list_nat,B4: set_list_nat] :
      ( ( inj_on3049792774292151987st_nat @ F @ A4 )
     => ( ( ord_le6045566169113846134st_nat @ B4 @ A4 )
       => ( inj_on3049792774292151987st_nat @ F @ B4 ) ) ) ).

% inj_on_subset
thf(fact_1045_subset__inj__on,axiom,
    ! [F: nat > nat,B4: set_nat,A4: set_nat] :
      ( ( inj_on_nat_nat @ F @ B4 )
     => ( ( ord_less_eq_set_nat @ A4 @ B4 )
       => ( inj_on_nat_nat @ F @ A4 ) ) ) ).

% subset_inj_on
thf(fact_1046_subset__inj__on,axiom,
    ! [F: list_nat > list_nat,B4: set_list_nat,A4: set_list_nat] :
      ( ( inj_on3049792774292151987st_nat @ F @ B4 )
     => ( ( ord_le6045566169113846134st_nat @ A4 @ B4 )
       => ( inj_on3049792774292151987st_nat @ F @ A4 ) ) ) ).

% subset_inj_on
thf(fact_1047_inj__on__mapI,axiom,
    ! [F: nat > nat,A4: set_list_nat] :
      ( ( inj_on_nat_nat @ F @ ( comple7399068483239264473et_nat @ ( image_1775855109352712557et_nat @ set_nat2 @ A4 ) ) )
     => ( inj_on3049792774292151987st_nat @ ( map_nat_nat @ F ) @ A4 ) ) ).

% inj_on_mapI
thf(fact_1048_inj__on__mapI,axiom,
    ! [F: list_nat > list_nat,A4: set_list_list_nat] :
      ( ( inj_on3049792774292151987st_nat @ F @ ( comple8404747032580312297st_nat @ ( image_4375647060027540749st_nat @ set_list_nat2 @ A4 ) ) )
     => ( inj_on2300671324199612755st_nat @ ( map_li7225945977422193158st_nat @ F ) @ A4 ) ) ).

% inj_on_mapI
thf(fact_1049_inj__on__mapI,axiom,
    ! [F: list_nat > set_nat,A4: set_list_list_nat] :
      ( ( inj_on1816901372521670873et_nat @ F @ ( comple8404747032580312297st_nat @ ( image_4375647060027540749st_nat @ set_list_nat2 @ A4 ) ) )
     => ( inj_on5574061249251128057et_nat @ ( map_list_nat_set_nat @ F ) @ A4 ) ) ).

% inj_on_mapI
thf(fact_1050_the__inv__into__into,axiom,
    ! [F: set_nat > nat,A4: set_set_nat,X: nat,B4: set_set_nat] :
      ( ( inj_on_set_nat_nat @ F @ A4 )
     => ( ( member_nat @ X @ ( image_set_nat_nat @ F @ A4 ) )
       => ( ( ord_le6893508408891458716et_nat @ A4 @ B4 )
         => ( member_set_nat @ ( the_in1492043616600986635at_nat @ A4 @ F @ X ) @ B4 ) ) ) ) ).

% the_inv_into_into
thf(fact_1051_the__inv__into__into,axiom,
    ! [F: set_nat > list_nat,A4: set_set_nat,X: list_nat,B4: set_set_nat] :
      ( ( inj_on5467128325884351833st_nat @ F @ A4 )
     => ( ( member_list_nat @ X @ ( image_5426082062715393517st_nat @ F @ A4 ) )
       => ( ( ord_le6893508408891458716et_nat @ A4 @ B4 )
         => ( member_set_nat @ ( the_in7894651356760184219st_nat @ A4 @ F @ X ) @ B4 ) ) ) ) ).

% the_inv_into_into
thf(fact_1052_the__inv__into__into,axiom,
    ! [F: set_nat > set_nat,A4: set_set_nat,X: set_nat,B4: set_set_nat] :
      ( ( inj_on4604407203859583615et_nat @ F @ A4 )
     => ( ( member_set_nat @ X @ ( image_7916887816326733075et_nat @ F @ A4 ) )
       => ( ( ord_le6893508408891458716et_nat @ A4 @ B4 )
         => ( member_set_nat @ ( the_in3610957794094371777et_nat @ A4 @ F @ X ) @ B4 ) ) ) ) ).

% the_inv_into_into
thf(fact_1053_the__inv__into__into,axiom,
    ! [F: nat > nat,A4: set_nat,X: nat,B4: set_nat] :
      ( ( inj_on_nat_nat @ F @ A4 )
     => ( ( member_nat @ X @ ( image_nat_nat @ F @ A4 ) )
       => ( ( ord_less_eq_set_nat @ A4 @ B4 )
         => ( member_nat @ ( the_inv_into_nat_nat @ A4 @ F @ X ) @ B4 ) ) ) ) ).

% the_inv_into_into
thf(fact_1054_the__inv__into__into,axiom,
    ! [F: nat > list_nat,A4: set_nat,X: list_nat,B4: set_nat] :
      ( ( inj_on_nat_list_nat @ F @ A4 )
     => ( ( member_list_nat @ X @ ( image_nat_list_nat @ F @ A4 ) )
       => ( ( ord_less_eq_set_nat @ A4 @ B4 )
         => ( member_nat @ ( the_in2691792960222455013st_nat @ A4 @ F @ X ) @ B4 ) ) ) ) ).

% the_inv_into_into
thf(fact_1055_the__inv__into__into,axiom,
    ! [F: nat > set_nat,A4: set_nat,X: set_nat,B4: set_nat] :
      ( ( inj_on_nat_set_nat @ F @ A4 )
     => ( ( member_set_nat @ X @ ( image_nat_set_nat @ F @ A4 ) )
       => ( ( ord_less_eq_set_nat @ A4 @ B4 )
         => ( member_nat @ ( the_in5057678521256355851et_nat @ A4 @ F @ X ) @ B4 ) ) ) ) ).

% the_inv_into_into
thf(fact_1056_the__inv__into__into,axiom,
    ! [F: list_nat > nat,A4: set_list_nat,X: nat,B4: set_list_nat] :
      ( ( inj_on_list_nat_nat @ F @ A4 )
     => ( ( member_nat @ X @ ( image_list_nat_nat @ F @ A4 ) )
       => ( ( ord_le6045566169113846134st_nat @ A4 @ B4 )
         => ( member_list_nat @ ( the_in4930750007384740197at_nat @ A4 @ F @ X ) @ B4 ) ) ) ) ).

% the_inv_into_into
thf(fact_1057_the__inv__into__into,axiom,
    ! [F: list_nat > list_nat,A4: set_list_nat,X: list_nat,B4: set_list_nat] :
      ( ( inj_on3049792774292151987st_nat @ F @ A4 )
     => ( ( member_list_nat @ X @ ( image_7976474329151083847st_nat @ F @ A4 ) )
       => ( ( ord_le6045566169113846134st_nat @ A4 @ B4 )
         => ( member_list_nat @ ( the_in5780431616042835445st_nat @ A4 @ F @ X ) @ B4 ) ) ) ) ).

% the_inv_into_into
thf(fact_1058_the__inv__into__into,axiom,
    ! [F: list_nat > set_nat,A4: set_list_nat,X: set_nat,B4: set_list_nat] :
      ( ( inj_on1816901372521670873et_nat @ F @ A4 )
     => ( ( member_set_nat @ X @ ( image_1775855109352712557et_nat @ F @ A4 ) )
       => ( ( ord_le6045566169113846134st_nat @ A4 @ B4 )
         => ( member_list_nat @ ( the_in4244424403397503259et_nat @ A4 @ F @ X ) @ B4 ) ) ) ) ).

% the_inv_into_into
thf(fact_1059_List_Ocount__list__inj__map,axiom,
    ! [F: nat > nat,Xs2: list_nat,X: nat] :
      ( ( inj_on_nat_nat @ F @ ( set_nat2 @ Xs2 ) )
     => ( ( member_nat @ X @ ( set_nat2 @ Xs2 ) )
       => ( ( count_list_nat @ ( map_nat_nat @ F @ Xs2 ) @ ( F @ X ) )
          = ( count_list_nat @ Xs2 @ X ) ) ) ) ).

% List.count_list_inj_map
thf(fact_1060_List_Ocount__list__inj__map,axiom,
    ! [F: list_nat > list_nat,Xs2: list_list_nat,X: list_nat] :
      ( ( inj_on3049792774292151987st_nat @ F @ ( set_list_nat2 @ Xs2 ) )
     => ( ( member_list_nat @ X @ ( set_list_nat2 @ Xs2 ) )
       => ( ( count_list_list_nat @ ( map_li7225945977422193158st_nat @ F @ Xs2 ) @ ( F @ X ) )
          = ( count_list_list_nat @ Xs2 @ X ) ) ) ) ).

% List.count_list_inj_map
thf(fact_1061_List_Ocount__list__inj__map,axiom,
    ! [F: list_nat > set_nat,Xs2: list_list_nat,X: list_nat] :
      ( ( inj_on1816901372521670873et_nat @ F @ ( set_list_nat2 @ Xs2 ) )
     => ( ( member_list_nat @ X @ ( set_list_nat2 @ Xs2 ) )
       => ( ( count_list_set_nat @ ( map_list_nat_set_nat @ F @ Xs2 ) @ ( F @ X ) )
          = ( count_list_list_nat @ Xs2 @ X ) ) ) ) ).

% List.count_list_inj_map
thf(fact_1062_Equivalence__Relation__Enumeration_Ocount__list__inj__map,axiom,
    ! [F: nat > nat,X: list_nat,Y3: nat] :
      ( ( inj_on_nat_nat @ F @ ( set_nat2 @ X ) )
     => ( ( member_nat @ Y3 @ ( set_nat2 @ X ) )
       => ( ( count_list_nat @ ( map_nat_nat @ F @ X ) @ ( F @ Y3 ) )
          = ( count_list_nat @ X @ Y3 ) ) ) ) ).

% Equivalence_Relation_Enumeration.count_list_inj_map
thf(fact_1063_Equivalence__Relation__Enumeration_Ocount__list__inj__map,axiom,
    ! [F: list_nat > list_nat,X: list_list_nat,Y3: list_nat] :
      ( ( inj_on3049792774292151987st_nat @ F @ ( set_list_nat2 @ X ) )
     => ( ( member_list_nat @ Y3 @ ( set_list_nat2 @ X ) )
       => ( ( count_list_list_nat @ ( map_li7225945977422193158st_nat @ F @ X ) @ ( F @ Y3 ) )
          = ( count_list_list_nat @ X @ Y3 ) ) ) ) ).

% Equivalence_Relation_Enumeration.count_list_inj_map
thf(fact_1064_Equivalence__Relation__Enumeration_Ocount__list__inj__map,axiom,
    ! [F: list_nat > set_nat,X: list_list_nat,Y3: list_nat] :
      ( ( inj_on1816901372521670873et_nat @ F @ ( set_list_nat2 @ X ) )
     => ( ( member_list_nat @ Y3 @ ( set_list_nat2 @ X ) )
       => ( ( count_list_set_nat @ ( map_list_nat_set_nat @ F @ X ) @ ( F @ Y3 ) )
          = ( count_list_list_nat @ X @ Y3 ) ) ) ) ).

% Equivalence_Relation_Enumeration.count_list_inj_map
thf(fact_1065_count__list__rev,axiom,
    ! [Xs2: list_list_nat,X: list_nat] :
      ( ( count_list_list_nat @ ( rev_list_nat @ Xs2 ) @ X )
      = ( count_list_list_nat @ Xs2 @ X ) ) ).

% count_list_rev
thf(fact_1066_cSup__eq__maximum,axiom,
    ! [Z2: nat,X6: set_nat] :
      ( ( member_nat @ Z2 @ X6 )
     => ( ! [X2: nat] :
            ( ( member_nat @ X2 @ X6 )
           => ( ord_less_eq_nat @ X2 @ Z2 ) )
       => ( ( complete_Sup_Sup_nat @ X6 )
          = Z2 ) ) ) ).

% cSup_eq_maximum
thf(fact_1067_distinct__adj__Cons__Cons,axiom,
    ! [X: nat,Y3: nat,Xs2: list_nat] :
      ( ( distinct_adj_nat @ ( cons_nat @ X @ ( cons_nat @ Y3 @ Xs2 ) ) )
      = ( ( X != Y3 )
        & ( distinct_adj_nat @ ( cons_nat @ Y3 @ Xs2 ) ) ) ) ).

% distinct_adj_Cons_Cons
thf(fact_1068_distinct__adj__ConsD,axiom,
    ! [X: nat,Xs2: list_nat] :
      ( ( distinct_adj_nat @ ( cons_nat @ X @ Xs2 ) )
     => ( distinct_adj_nat @ Xs2 ) ) ).

% distinct_adj_ConsD
thf(fact_1069_distinct__adj__Nil,axiom,
    distinct_adj_nat @ nil_nat ).

% distinct_adj_Nil
thf(fact_1070_distinct__adj__appendD1,axiom,
    ! [Xs2: list_nat,Ys: list_nat] :
      ( ( distinct_adj_nat @ ( append_nat @ Xs2 @ Ys ) )
     => ( distinct_adj_nat @ Xs2 ) ) ).

% distinct_adj_appendD1
thf(fact_1071_distinct__adj__appendD2,axiom,
    ! [Xs2: list_nat,Ys: list_nat] :
      ( ( distinct_adj_nat @ ( append_nat @ Xs2 @ Ys ) )
     => ( distinct_adj_nat @ Ys ) ) ).

% distinct_adj_appendD2
thf(fact_1072_distinct__adj__singleton,axiom,
    ! [X: nat] : ( distinct_adj_nat @ ( cons_nat @ X @ nil_nat ) ) ).

% distinct_adj_singleton
thf(fact_1073_distinct__adj__append__iff,axiom,
    ! [Xs2: list_nat,Ys: list_nat] :
      ( ( distinct_adj_nat @ ( append_nat @ Xs2 @ Ys ) )
      = ( ( distinct_adj_nat @ Xs2 )
        & ( distinct_adj_nat @ Ys )
        & ( ( Xs2 = nil_nat )
          | ( Ys = nil_nat )
          | ( ( last_nat @ Xs2 )
           != ( hd_nat @ Ys ) ) ) ) ) ).

% distinct_adj_append_iff
thf(fact_1074_remove1__split,axiom,
    ! [A: nat,Xs2: list_nat,Ys: list_nat] :
      ( ( member_nat @ A @ ( set_nat2 @ Xs2 ) )
     => ( ( ( remove1_nat @ A @ Xs2 )
          = Ys )
        = ( ? [Ls2: list_nat,Rs: list_nat] :
              ( ( Xs2
                = ( append_nat @ Ls2 @ ( cons_nat @ A @ Rs ) ) )
              & ~ ( member_nat @ A @ ( set_nat2 @ Ls2 ) )
              & ( Ys
                = ( append_nat @ Ls2 @ Rs ) ) ) ) ) ) ).

% remove1_split
thf(fact_1075_ord_Olexordp__eq__simps_I3_J,axiom,
    ! [Less: nat > nat > $o,X: nat,Xs2: list_nat] :
      ~ ( lexordp_eq_nat @ Less @ ( cons_nat @ X @ Xs2 ) @ nil_nat ) ).

% ord.lexordp_eq_simps(3)
thf(fact_1076_suffix__snoc,axiom,
    ! [Xs2: list_nat,Ys: list_nat,Y3: nat] :
      ( ( suffix_nat @ Xs2 @ ( append_nat @ Ys @ ( cons_nat @ Y3 @ nil_nat ) ) )
      = ( ( Xs2 = nil_nat )
        | ? [Zs: list_nat] :
            ( ( Xs2
              = ( append_nat @ Zs @ ( cons_nat @ Y3 @ nil_nat ) ) )
            & ( suffix_nat @ Zs @ Ys ) ) ) ) ).

% suffix_snoc
thf(fact_1077_suffix__bot_Oextremum__unique,axiom,
    ! [A: list_nat] :
      ( ( suffix_nat @ A @ nil_nat )
      = ( A = nil_nat ) ) ).

% suffix_bot.extremum_unique
thf(fact_1078_suffix__Nil,axiom,
    ! [Xs2: list_nat] :
      ( ( suffix_nat @ Xs2 @ nil_nat )
      = ( Xs2 = nil_nat ) ) ).

% suffix_Nil
thf(fact_1079_same__suffix__suffix,axiom,
    ! [Ys: list_nat,Xs2: list_nat,Zs2: list_nat] :
      ( ( suffix_nat @ ( append_nat @ Ys @ Xs2 ) @ ( append_nat @ Zs2 @ Xs2 ) )
      = ( suffix_nat @ Ys @ Zs2 ) ) ).

% same_suffix_suffix
thf(fact_1080_ord_Olexordp__eq__simps_I4_J,axiom,
    ! [Less: nat > nat > $o,X: nat,Xs2: list_nat,Y3: nat,Ys: list_nat] :
      ( ( lexordp_eq_nat @ Less @ ( cons_nat @ X @ Xs2 ) @ ( cons_nat @ Y3 @ Ys ) )
      = ( ( Less @ X @ Y3 )
        | ( ~ ( Less @ Y3 @ X )
          & ( lexordp_eq_nat @ Less @ Xs2 @ Ys ) ) ) ) ).

% ord.lexordp_eq_simps(4)
thf(fact_1081_ord_Olexordp__eq__simps_I1_J,axiom,
    ! [Less: nat > nat > $o,Ys: list_nat] : ( lexordp_eq_nat @ Less @ nil_nat @ Ys ) ).

% ord.lexordp_eq_simps(1)
thf(fact_1082_ord_Olexordp__eq__simps_I2_J,axiom,
    ! [Less: nat > nat > $o,Xs2: list_nat] :
      ( ( lexordp_eq_nat @ Less @ Xs2 @ nil_nat )
      = ( Xs2 = nil_nat ) ) ).

% ord.lexordp_eq_simps(2)
thf(fact_1083_in__set__remove1,axiom,
    ! [A: nat,B: nat,Xs2: list_nat] :
      ( ( A != B )
     => ( ( member_nat @ A @ ( set_nat2 @ ( remove1_nat @ B @ Xs2 ) ) )
        = ( member_nat @ A @ ( set_nat2 @ Xs2 ) ) ) ) ).

% in_set_remove1
thf(fact_1084_hd__prefixes,axiom,
    ! [Xs2: list_nat] :
      ( ( hd_list_nat @ ( prefixes_nat @ Xs2 ) )
      = nil_nat ) ).

% hd_prefixes
thf(fact_1085_hd__suffixes,axiom,
    ! [Xs2: list_nat] :
      ( ( hd_list_nat @ ( suffixes_nat @ Xs2 ) )
      = nil_nat ) ).

% hd_suffixes
thf(fact_1086_same__suffix__nil,axiom,
    ! [Ys: list_nat,Xs2: list_nat] :
      ( ( suffix_nat @ ( append_nat @ Ys @ Xs2 ) @ Xs2 )
      = ( Ys = nil_nat ) ) ).

% same_suffix_nil
thf(fact_1087_hd__append2,axiom,
    ! [Xs2: list_nat,Ys: list_nat] :
      ( ( Xs2 != nil_nat )
     => ( ( hd_nat @ ( append_nat @ Xs2 @ Ys ) )
        = ( hd_nat @ Xs2 ) ) ) ).

% hd_append2
thf(fact_1088_suffix__bot_Omin__bot2,axiom,
    ! [X: list_nat] :
      ( ( min_list_nat2 @ suffix_nat @ X @ nil_nat )
      = nil_nat ) ).

% suffix_bot.min_bot2
thf(fact_1089_suffix__bot_Omax__bot2,axiom,
    ! [X: list_nat] :
      ( ( max_list_nat @ suffix_nat @ X @ nil_nat )
      = X ) ).

% suffix_bot.max_bot2
thf(fact_1090_suffix__bot_Omin__bot,axiom,
    ! [X: list_nat] :
      ( ( min_list_nat2 @ suffix_nat @ nil_nat @ X )
      = nil_nat ) ).

% suffix_bot.min_bot
thf(fact_1091_suffix__bot_Omax__bot,axiom,
    ! [X: list_nat] :
      ( ( max_list_nat @ suffix_nat @ nil_nat @ X )
      = X ) ).

% suffix_bot.max_bot
thf(fact_1092_snoc__suffix__snoc,axiom,
    ! [Xs2: list_nat,X: nat,Ys: list_nat,Y3: nat] :
      ( ( suffix_nat @ ( append_nat @ Xs2 @ ( cons_nat @ X @ nil_nat ) ) @ ( append_nat @ Ys @ ( cons_nat @ Y3 @ nil_nat ) ) )
      = ( ( X = Y3 )
        & ( suffix_nat @ Xs2 @ Ys ) ) ) ).

% snoc_suffix_snoc
thf(fact_1093_remove1_Osimps_I2_J,axiom,
    ! [X: nat,Y3: nat,Xs2: list_nat] :
      ( ( ( X = Y3 )
       => ( ( remove1_nat @ X @ ( cons_nat @ Y3 @ Xs2 ) )
          = Xs2 ) )
      & ( ( X != Y3 )
       => ( ( remove1_nat @ X @ ( cons_nat @ Y3 @ Xs2 ) )
          = ( cons_nat @ Y3 @ ( remove1_nat @ X @ Xs2 ) ) ) ) ) ).

% remove1.simps(2)
thf(fact_1094_suffix__Cons,axiom,
    ! [Xs2: list_nat,Y3: nat,Ys: list_nat] :
      ( ( suffix_nat @ Xs2 @ ( cons_nat @ Y3 @ Ys ) )
      = ( ( Xs2
          = ( cons_nat @ Y3 @ Ys ) )
        | ( suffix_nat @ Xs2 @ Ys ) ) ) ).

% suffix_Cons
thf(fact_1095_suffix__ConsD,axiom,
    ! [X: nat,Xs2: list_nat,Ys: list_nat] :
      ( ( suffix_nat @ ( cons_nat @ X @ Xs2 ) @ Ys )
     => ( suffix_nat @ Xs2 @ Ys ) ) ).

% suffix_ConsD
thf(fact_1096_suffix__ConsI,axiom,
    ! [Xs2: list_nat,Ys: list_nat,Y3: nat] :
      ( ( suffix_nat @ Xs2 @ Ys )
     => ( suffix_nat @ Xs2 @ ( cons_nat @ Y3 @ Ys ) ) ) ).

% suffix_ConsI
thf(fact_1097_suffix__ConsD2,axiom,
    ! [X: nat,Xs2: list_nat,Y3: nat,Ys: list_nat] :
      ( ( suffix_nat @ ( cons_nat @ X @ Xs2 ) @ ( cons_nat @ Y3 @ Ys ) )
     => ( suffix_nat @ Xs2 @ Ys ) ) ).

% suffix_ConsD2
thf(fact_1098_suffix__bot_Obot__least,axiom,
    ! [A: list_nat] : ( suffix_nat @ nil_nat @ A ) ).

% suffix_bot.bot_least
thf(fact_1099_suffix__bot_Oextremum__uniqueI,axiom,
    ! [A: list_nat] :
      ( ( suffix_nat @ A @ nil_nat )
     => ( A = nil_nat ) ) ).

% suffix_bot.extremum_uniqueI
thf(fact_1100_Nil__suffix,axiom,
    ! [Xs2: list_nat] : ( suffix_nat @ nil_nat @ Xs2 ) ).

% Nil_suffix
thf(fact_1101_suffixE,axiom,
    ! [Xs2: list_nat,Ys: list_nat] :
      ( ( suffix_nat @ Xs2 @ Ys )
     => ~ ! [Zs3: list_nat] :
            ( Ys
           != ( append_nat @ Zs3 @ Xs2 ) ) ) ).

% suffixE
thf(fact_1102_suffixI,axiom,
    ! [Ys: list_nat,Zs2: list_nat,Xs2: list_nat] :
      ( ( Ys
        = ( append_nat @ Zs2 @ Xs2 ) )
     => ( suffix_nat @ Xs2 @ Ys ) ) ).

% suffixI
thf(fact_1103_suffix__def,axiom,
    ( suffix_nat
    = ( ^ [Xs4: list_nat,Ys2: list_nat] :
        ? [Zs: list_nat] :
          ( Ys2
          = ( append_nat @ Zs @ Xs4 ) ) ) ) ).

% suffix_def
thf(fact_1104_suffix__append,axiom,
    ! [Xs2: list_nat,Ys: list_nat,Zs2: list_nat] :
      ( ( suffix_nat @ Xs2 @ ( append_nat @ Ys @ Zs2 ) )
      = ( ( suffix_nat @ Xs2 @ Zs2 )
        | ? [Xs5: list_nat] :
            ( ( Xs2
              = ( append_nat @ Xs5 @ Zs2 ) )
            & ( suffix_nat @ Xs5 @ Ys ) ) ) ) ).

% suffix_append
thf(fact_1105_suffix__appendD,axiom,
    ! [Zs2: list_nat,Xs2: list_nat,Ys: list_nat] :
      ( ( suffix_nat @ ( append_nat @ Zs2 @ Xs2 ) @ Ys )
     => ( suffix_nat @ Xs2 @ Ys ) ) ).

% suffix_appendD
thf(fact_1106_suffix__appendI,axiom,
    ! [Xs2: list_nat,Ys: list_nat,Zs2: list_nat] :
      ( ( suffix_nat @ Xs2 @ Ys )
     => ( suffix_nat @ Xs2 @ ( append_nat @ Zs2 @ Ys ) ) ) ).

% suffix_appendI
thf(fact_1107_list_Osel_I1_J,axiom,
    ! [X21: nat,X22: list_nat] :
      ( ( hd_nat @ ( cons_nat @ X21 @ X22 ) )
      = X21 ) ).

% list.sel(1)
thf(fact_1108_remove1__idem,axiom,
    ! [X: nat,Xs2: list_nat] :
      ( ~ ( member_nat @ X @ ( set_nat2 @ Xs2 ) )
     => ( ( remove1_nat @ X @ Xs2 )
        = Xs2 ) ) ).

% remove1_idem
thf(fact_1109_notin__set__remove1,axiom,
    ! [X: nat,Xs2: list_nat,Y3: nat] :
      ( ~ ( member_nat @ X @ ( set_nat2 @ Xs2 ) )
     => ~ ( member_nat @ X @ ( set_nat2 @ ( remove1_nat @ Y3 @ Xs2 ) ) ) ) ).

% notin_set_remove1
thf(fact_1110_remove1_Osimps_I1_J,axiom,
    ! [X: nat] :
      ( ( remove1_nat @ X @ nil_nat )
      = nil_nat ) ).

% remove1.simps(1)
thf(fact_1111_ord_Olexordp__eq_OCons__eq,axiom,
    ! [Less: nat > nat > $o,X: nat,Y3: nat,Xs2: list_nat,Ys: list_nat] :
      ( ~ ( Less @ X @ Y3 )
     => ( ~ ( Less @ Y3 @ X )
       => ( ( lexordp_eq_nat @ Less @ Xs2 @ Ys )
         => ( lexordp_eq_nat @ Less @ ( cons_nat @ X @ Xs2 ) @ ( cons_nat @ Y3 @ Ys ) ) ) ) ) ).

% ord.lexordp_eq.Cons_eq
thf(fact_1112_ord_Olexordp__eq_OCons,axiom,
    ! [Less: nat > nat > $o,X: nat,Y3: nat,Xs2: list_nat,Ys: list_nat] :
      ( ( Less @ X @ Y3 )
     => ( lexordp_eq_nat @ Less @ ( cons_nat @ X @ Xs2 ) @ ( cons_nat @ Y3 @ Ys ) ) ) ).

% ord.lexordp_eq.Cons
thf(fact_1113_ord_Olexordp__eq_ONil,axiom,
    ! [Less: nat > nat > $o,Ys: list_nat] : ( lexordp_eq_nat @ Less @ nil_nat @ Ys ) ).

% ord.lexordp_eq.Nil
thf(fact_1114_hd__concat,axiom,
    ! [Xs2: list_list_nat] :
      ( ( Xs2 != nil_list_nat )
     => ( ( ( hd_list_nat @ Xs2 )
         != nil_nat )
       => ( ( hd_nat @ ( concat_nat @ Xs2 ) )
          = ( hd_nat @ ( hd_list_nat @ Xs2 ) ) ) ) ) ).

% hd_concat
thf(fact_1115_ord_Olexordp__eq__pref,axiom,
    ! [Less: nat > nat > $o,U2: list_nat,V: list_nat] : ( lexordp_eq_nat @ Less @ U2 @ ( append_nat @ U2 @ V ) ) ).

% ord.lexordp_eq_pref
thf(fact_1116_set__mono__suffix,axiom,
    ! [Xs2: list_nat,Ys: list_nat] :
      ( ( suffix_nat @ Xs2 @ Ys )
     => ( ord_less_eq_set_nat @ ( set_nat2 @ Xs2 ) @ ( set_nat2 @ Ys ) ) ) ).

% set_mono_suffix
thf(fact_1117_hd__in__set,axiom,
    ! [Xs2: list_nat] :
      ( ( Xs2 != nil_nat )
     => ( member_nat @ ( hd_nat @ Xs2 ) @ ( set_nat2 @ Xs2 ) ) ) ).

% hd_in_set
thf(fact_1118_list_Oset__sel_I1_J,axiom,
    ! [A: list_nat] :
      ( ( A != nil_nat )
     => ( member_nat @ ( hd_nat @ A ) @ ( set_nat2 @ A ) ) ) ).

% list.set_sel(1)
thf(fact_1119_longest__common__prefix,axiom,
    ! [Xs2: list_nat,Ys: list_nat] :
    ? [Ps2: list_nat,Xs6: list_nat,Ys6: list_nat] :
      ( ( Xs2
        = ( append_nat @ Ps2 @ Xs6 ) )
      & ( Ys
        = ( append_nat @ Ps2 @ Ys6 ) )
      & ( ( Xs6 = nil_nat )
        | ( Ys6 = nil_nat )
        | ( ( hd_nat @ Xs6 )
         != ( hd_nat @ Ys6 ) ) ) ) ).

% longest_common_prefix
thf(fact_1120_hd__append,axiom,
    ! [Xs2: list_nat,Ys: list_nat] :
      ( ( ( Xs2 = nil_nat )
       => ( ( hd_nat @ ( append_nat @ Xs2 @ Ys ) )
          = ( hd_nat @ Ys ) ) )
      & ( ( Xs2 != nil_nat )
       => ( ( hd_nat @ ( append_nat @ Xs2 @ Ys ) )
          = ( hd_nat @ Xs2 ) ) ) ) ).

% hd_append
thf(fact_1121_suffix__to__prefix,axiom,
    ( suffix_nat
    = ( ^ [Xs4: list_nat,Ys2: list_nat] : ( prefix_nat @ ( rev_nat @ Xs4 ) @ ( rev_nat @ Ys2 ) ) ) ) ).

% suffix_to_prefix
thf(fact_1122_hd__Nil__eq__last,axiom,
    ( ( hd_nat @ nil_nat )
    = ( last_nat @ nil_nat ) ) ).

% hd_Nil_eq_last
thf(fact_1123_set__remove1__subset,axiom,
    ! [X: nat,Xs2: list_nat] : ( ord_less_eq_set_nat @ ( set_nat2 @ ( remove1_nat @ X @ Xs2 ) ) @ ( set_nat2 @ Xs2 ) ) ).

% set_remove1_subset
thf(fact_1124_remove1__append,axiom,
    ! [X: nat,Xs2: list_nat,Ys: list_nat] :
      ( ( ( member_nat @ X @ ( set_nat2 @ Xs2 ) )
       => ( ( remove1_nat @ X @ ( append_nat @ Xs2 @ Ys ) )
          = ( append_nat @ ( remove1_nat @ X @ Xs2 ) @ Ys ) ) )
      & ( ~ ( member_nat @ X @ ( set_nat2 @ Xs2 ) )
       => ( ( remove1_nat @ X @ ( append_nat @ Xs2 @ Ys ) )
          = ( append_nat @ Xs2 @ ( remove1_nat @ X @ Ys ) ) ) ) ) ).

% remove1_append
thf(fact_1125_ord_Olexordp__eq_Osimps,axiom,
    ( lexordp_eq_nat
    = ( ^ [Less2: nat > nat > $o,A1: list_nat,A22: list_nat] :
          ( ? [Ys2: list_nat] :
              ( ( A1 = nil_nat )
              & ( A22 = Ys2 ) )
          | ? [X4: nat,Y5: nat,Xs4: list_nat,Ys2: list_nat] :
              ( ( A1
                = ( cons_nat @ X4 @ Xs4 ) )
              & ( A22
                = ( cons_nat @ Y5 @ Ys2 ) )
              & ( Less2 @ X4 @ Y5 ) )
          | ? [X4: nat,Y5: nat,Xs4: list_nat,Ys2: list_nat] :
              ( ( A1
                = ( cons_nat @ X4 @ Xs4 ) )
              & ( A22
                = ( cons_nat @ Y5 @ Ys2 ) )
              & ~ ( Less2 @ X4 @ Y5 )
              & ~ ( Less2 @ Y5 @ X4 )
              & ( lexordp_eq_nat @ Less2 @ Xs4 @ Ys2 ) ) ) ) ) ).

% ord.lexordp_eq.simps
thf(fact_1126_ord_Olexordp__eq_Ocases,axiom,
    ! [Less: nat > nat > $o,A12: list_nat,A23: list_nat] :
      ( ( lexordp_eq_nat @ Less @ A12 @ A23 )
     => ( ( A12 != nil_nat )
       => ( ! [X2: nat] :
              ( ? [Xs: list_nat] :
                  ( A12
                  = ( cons_nat @ X2 @ Xs ) )
             => ! [Y: nat] :
                  ( ? [Ys3: list_nat] :
                      ( A23
                      = ( cons_nat @ Y @ Ys3 ) )
                 => ~ ( Less @ X2 @ Y ) ) )
         => ~ ! [X2: nat,Y: nat,Xs: list_nat] :
                ( ( A12
                  = ( cons_nat @ X2 @ Xs ) )
               => ! [Ys3: list_nat] :
                    ( ( A23
                      = ( cons_nat @ Y @ Ys3 ) )
                   => ( ~ ( Less @ X2 @ Y )
                     => ( ~ ( Less @ Y @ X2 )
                       => ~ ( lexordp_eq_nat @ Less @ Xs @ Ys3 ) ) ) ) ) ) ) ) ).

% ord.lexordp_eq.cases
thf(fact_1127_not__suffix__induct,axiom,
    ! [Ps: list_nat,Ls: list_nat,P: list_nat > list_nat > $o] :
      ( ~ ( suffix_nat @ Ps @ Ls )
     => ( ! [X2: nat,Xs: list_nat] : ( P @ ( append_nat @ Xs @ ( cons_nat @ X2 @ nil_nat ) ) @ nil_nat )
       => ( ! [X2: nat,Xs: list_nat,Y: nat,Ys3: list_nat] :
              ( ( X2 != Y )
             => ( P @ ( append_nat @ Xs @ ( cons_nat @ X2 @ nil_nat ) ) @ ( append_nat @ Ys3 @ ( cons_nat @ Y @ nil_nat ) ) ) )
         => ( ! [X2: nat,Xs: list_nat,Y: nat,Ys3: list_nat] :
                ( ( X2 = Y )
               => ( ~ ( suffix_nat @ Xs @ Ys3 )
                 => ( ( P @ Xs @ Ys3 )
                   => ( P @ ( append_nat @ Xs @ ( cons_nat @ X2 @ nil_nat ) ) @ ( append_nat @ Ys3 @ ( cons_nat @ Y @ nil_nat ) ) ) ) ) )
           => ( P @ Ps @ Ls ) ) ) ) ) ).

% not_suffix_induct
thf(fact_1128_not__suffix__cases,axiom,
    ! [Ps: list_nat,Ls: list_nat] :
      ( ~ ( suffix_nat @ Ps @ Ls )
     => ( ( ( Ps != nil_nat )
         => ( Ls != nil_nat ) )
       => ( ! [A3: nat,As: list_nat] :
              ( ( Ps
                = ( append_nat @ As @ ( cons_nat @ A3 @ nil_nat ) ) )
             => ! [X2: nat,Xs: list_nat] :
                  ( ( Ls
                    = ( append_nat @ Xs @ ( cons_nat @ X2 @ nil_nat ) ) )
                 => ( ( X2 = A3 )
                   => ( suffix_nat @ As @ Xs ) ) ) )
         => ~ ! [A3: nat] :
                ( ? [As: list_nat] :
                    ( Ps
                    = ( append_nat @ As @ ( cons_nat @ A3 @ nil_nat ) ) )
               => ! [X2: nat] :
                    ( ? [Xs: list_nat] :
                        ( Ls
                        = ( append_nat @ Xs @ ( cons_nat @ X2 @ nil_nat ) ) )
                   => ( X2 = A3 ) ) ) ) ) ) ).

% not_suffix_cases
thf(fact_1129_distinct__adj__Cons,axiom,
    ! [X: nat,Xs2: list_nat] :
      ( ( distinct_adj_nat @ ( cons_nat @ X @ Xs2 ) )
      = ( ( Xs2 = nil_nat )
        | ( ( X
           != ( hd_nat @ Xs2 ) )
          & ( distinct_adj_nat @ Xs2 ) ) ) ) ).

% distinct_adj_Cons
thf(fact_1130_rotate1__hd__tl,axiom,
    ! [Xs2: list_nat] :
      ( ( Xs2 != nil_nat )
     => ( ( rotate1_nat @ Xs2 )
        = ( append_nat @ ( tl_nat @ Xs2 ) @ ( cons_nat @ ( hd_nat @ Xs2 ) @ nil_nat ) ) ) ) ).

% rotate1_hd_tl
thf(fact_1131_successively__append__iff,axiom,
    ! [P: nat > nat > $o,Xs2: list_nat,Ys: list_nat] :
      ( ( successively_nat @ P @ ( append_nat @ Xs2 @ Ys ) )
      = ( ( successively_nat @ P @ Xs2 )
        & ( successively_nat @ P @ Ys )
        & ( ( Xs2 = nil_nat )
          | ( Ys = nil_nat )
          | ( P @ ( last_nat @ Xs2 ) @ ( hd_nat @ Ys ) ) ) ) ) ).

% successively_append_iff
thf(fact_1132_remdups__adj__append_H,axiom,
    ! [Xs2: list_nat,Ys: list_nat] :
      ( ( ( Xs2 = nil_nat )
        | ( Ys = nil_nat )
        | ( ( last_nat @ Xs2 )
         != ( hd_nat @ Ys ) ) )
     => ( ( remdups_adj_nat @ ( append_nat @ Xs2 @ Ys ) )
        = ( append_nat @ ( remdups_adj_nat @ Xs2 ) @ ( remdups_adj_nat @ Ys ) ) ) ) ).

% remdups_adj_append'
thf(fact_1133_sublist__snoc,axiom,
    ! [Xs2: list_nat,Ys: list_nat,Y3: nat] :
      ( ( sublist_nat @ Xs2 @ ( append_nat @ Ys @ ( cons_nat @ Y3 @ nil_nat ) ) )
      = ( ( suffix_nat @ Xs2 @ ( append_nat @ Ys @ ( cons_nat @ Y3 @ nil_nat ) ) )
        | ( sublist_nat @ Xs2 @ Ys ) ) ) ).

% sublist_snoc
thf(fact_1134_sublist__Nil__right,axiom,
    ! [Xs2: list_nat] :
      ( ( sublist_nat @ Xs2 @ nil_nat )
      = ( Xs2 = nil_nat ) ) ).

% sublist_Nil_right
thf(fact_1135_sublist__Nil__left,axiom,
    ! [Ys: list_nat] : ( sublist_nat @ nil_nat @ Ys ) ).

% sublist_Nil_left
thf(fact_1136_sublist__code_I1_J,axiom,
    ! [Ys: list_nat] : ( sublist_nat @ nil_nat @ Ys ) ).

% sublist_code(1)
thf(fact_1137_sublist__append__rightI,axiom,
    ! [Xs2: list_nat,Ss2: list_nat] : ( sublist_nat @ Xs2 @ ( append_nat @ Xs2 @ Ss2 ) ) ).

% sublist_append_rightI
thf(fact_1138_sublist__append__leftI,axiom,
    ! [Xs2: list_nat,Ps: list_nat] : ( sublist_nat @ Xs2 @ ( append_nat @ Ps @ Xs2 ) ) ).

% sublist_append_leftI
thf(fact_1139_sublist__appendI,axiom,
    ! [Xs2: list_nat,Ps: list_nat,Ss2: list_nat] : ( sublist_nat @ Xs2 @ ( append_nat @ Ps @ ( append_nat @ Xs2 @ Ss2 ) ) ) ).

% sublist_appendI
thf(fact_1140_prefix__imp__sublist,axiom,
    ! [Xs2: list_nat,Ys: list_nat] :
      ( ( prefix_nat @ Xs2 @ Ys )
     => ( sublist_nat @ Xs2 @ Ys ) ) ).

% prefix_imp_sublist
thf(fact_1141_remdups__adj__Nil__iff,axiom,
    ! [Xs2: list_nat] :
      ( ( ( remdups_adj_nat @ Xs2 )
        = nil_nat )
      = ( Xs2 = nil_nat ) ) ).

% remdups_adj_Nil_iff
thf(fact_1142_remdups__adj__set,axiom,
    ! [Xs2: list_nat] :
      ( ( set_nat2 @ ( remdups_adj_nat @ Xs2 ) )
      = ( set_nat2 @ Xs2 ) ) ).

% remdups_adj_set
thf(fact_1143_sublist__code_I2_J,axiom,
    ! [X: nat,Xs2: list_nat] :
      ~ ( sublist_nat @ ( cons_nat @ X @ Xs2 ) @ nil_nat ) ).

% sublist_code(2)
thf(fact_1144_tl__append2,axiom,
    ! [Xs2: list_nat,Ys: list_nat] :
      ( ( Xs2 != nil_nat )
     => ( ( tl_nat @ ( append_nat @ Xs2 @ Ys ) )
        = ( append_nat @ ( tl_nat @ Xs2 ) @ Ys ) ) ) ).

% tl_append2
thf(fact_1145_remdups__adj__Cons__alt,axiom,
    ! [X: nat,Xs2: list_nat] :
      ( ( cons_nat @ X @ ( tl_nat @ ( remdups_adj_nat @ ( cons_nat @ X @ Xs2 ) ) ) )
      = ( remdups_adj_nat @ ( cons_nat @ X @ Xs2 ) ) ) ).

% remdups_adj_Cons_alt
thf(fact_1146_hd__Cons__tl,axiom,
    ! [Xs2: list_nat] :
      ( ( Xs2 != nil_nat )
     => ( ( cons_nat @ ( hd_nat @ Xs2 ) @ ( tl_nat @ Xs2 ) )
        = Xs2 ) ) ).

% hd_Cons_tl
thf(fact_1147_list_Ocollapse,axiom,
    ! [List: list_nat] :
      ( ( List != nil_nat )
     => ( ( cons_nat @ ( hd_nat @ List ) @ ( tl_nat @ List ) )
        = List ) ) ).

% list.collapse
thf(fact_1148_successively_Osimps_I1_J,axiom,
    ! [P: nat > nat > $o] : ( successively_nat @ P @ nil_nat ) ).

% successively.simps(1)
thf(fact_1149_successively__mono,axiom,
    ! [P: nat > nat > $o,Xs2: list_nat,Q: nat > nat > $o] :
      ( ( successively_nat @ P @ Xs2 )
     => ( ! [X2: nat,Y: nat] :
            ( ( member_nat @ X2 @ ( set_nat2 @ Xs2 ) )
           => ( ( member_nat @ Y @ ( set_nat2 @ Xs2 ) )
             => ( ( P @ X2 @ Y )
               => ( Q @ X2 @ Y ) ) ) )
       => ( successively_nat @ Q @ Xs2 ) ) ) ).

% successively_mono
thf(fact_1150_successively__cong,axiom,
    ! [Xs2: list_nat,P: nat > nat > $o,Q: nat > nat > $o,Ys: list_nat] :
      ( ! [X2: nat,Y: nat] :
          ( ( member_nat @ X2 @ ( set_nat2 @ Xs2 ) )
         => ( ( member_nat @ Y @ ( set_nat2 @ Xs2 ) )
           => ( ( P @ X2 @ Y )
              = ( Q @ X2 @ Y ) ) ) )
     => ( ( Xs2 = Ys )
       => ( ( successively_nat @ P @ Xs2 )
          = ( successively_nat @ Q @ Ys ) ) ) ) ).

% successively_cong
thf(fact_1151_remdups__adj_Osimps_I3_J,axiom,
    ! [X: nat,Y3: nat,Xs2: list_nat] :
      ( ( ( X = Y3 )
       => ( ( remdups_adj_nat @ ( cons_nat @ X @ ( cons_nat @ Y3 @ Xs2 ) ) )
          = ( remdups_adj_nat @ ( cons_nat @ X @ Xs2 ) ) ) )
      & ( ( X != Y3 )
       => ( ( remdups_adj_nat @ ( cons_nat @ X @ ( cons_nat @ Y3 @ Xs2 ) ) )
          = ( cons_nat @ X @ ( remdups_adj_nat @ ( cons_nat @ Y3 @ Xs2 ) ) ) ) ) ) ).

% remdups_adj.simps(3)
thf(fact_1152_list_Osel_I3_J,axiom,
    ! [X21: nat,X22: list_nat] :
      ( ( tl_nat @ ( cons_nat @ X21 @ X22 ) )
      = X22 ) ).

% list.sel(3)
thf(fact_1153_remdups__adj_Osimps_I1_J,axiom,
    ( ( remdups_adj_nat @ nil_nat )
    = nil_nat ) ).

% remdups_adj.simps(1)
thf(fact_1154_list_Osel_I2_J,axiom,
    ( ( tl_nat @ nil_nat )
    = nil_nat ) ).

% list.sel(2)
thf(fact_1155_prefix__remdups__adj,axiom,
    ! [Xs2: list_nat,Ys: list_nat] :
      ( ( prefix_nat @ Xs2 @ Ys )
     => ( prefix_nat @ ( remdups_adj_nat @ Xs2 ) @ ( remdups_adj_nat @ Ys ) ) ) ).

% prefix_remdups_adj
thf(fact_1156_successively__remdups__adj__iff,axiom,
    ! [Xs2: list_nat,P: nat > nat > $o] :
      ( ! [X2: nat] :
          ( ( member_nat @ X2 @ ( set_nat2 @ Xs2 ) )
         => ( P @ X2 @ X2 ) )
     => ( ( successively_nat @ P @ ( remdups_adj_nat @ Xs2 ) )
        = ( successively_nat @ P @ Xs2 ) ) ) ).

% successively_remdups_adj_iff
thf(fact_1157_sublist__def,axiom,
    ( sublist_nat
    = ( ^ [Xs4: list_nat,Ys2: list_nat] :
        ? [Ps3: list_nat,Ss3: list_nat] :
          ( Ys2
          = ( append_nat @ Ps3 @ ( append_nat @ Xs4 @ Ss3 ) ) ) ) ) ).

% sublist_def
thf(fact_1158_successively_Osimps_I3_J,axiom,
    ! [P: nat > nat > $o,X: nat,Y3: nat,Xs2: list_nat] :
      ( ( successively_nat @ P @ ( cons_nat @ X @ ( cons_nat @ Y3 @ Xs2 ) ) )
      = ( ( P @ X @ Y3 )
        & ( successively_nat @ P @ ( cons_nat @ Y3 @ Xs2 ) ) ) ) ).

% successively.simps(3)
thf(fact_1159_successively_Oelims_I3_J,axiom,
    ! [X: nat > nat > $o,Xa2: list_nat] :
      ( ~ ( successively_nat @ X @ Xa2 )
     => ~ ! [X2: nat,Y: nat,Xs: list_nat] :
            ( ( Xa2
              = ( cons_nat @ X2 @ ( cons_nat @ Y @ Xs ) ) )
           => ( ( X @ X2 @ Y )
              & ( successively_nat @ X @ ( cons_nat @ Y @ Xs ) ) ) ) ) ).

% successively.elims(3)
thf(fact_1160_remdups__adj__append,axiom,
    ! [Xs_1: list_nat,X: nat,Xs_2: list_nat] :
      ( ( remdups_adj_nat @ ( append_nat @ Xs_1 @ ( cons_nat @ X @ Xs_2 ) ) )
      = ( append_nat @ ( remdups_adj_nat @ ( append_nat @ Xs_1 @ ( cons_nat @ X @ nil_nat ) ) ) @ ( tl_nat @ ( remdups_adj_nat @ ( cons_nat @ X @ Xs_2 ) ) ) ) ) ).

% remdups_adj_append
thf(fact_1161_sublist__Cons__Nil,axiom,
    ! [X: nat,Xs2: list_nat] :
      ~ ( sublist_nat @ ( cons_nat @ X @ Xs2 ) @ nil_nat ) ).

% sublist_Cons_Nil
thf(fact_1162_set__mono__sublist,axiom,
    ! [Xs2: list_nat,Ys: list_nat] :
      ( ( sublist_nat @ Xs2 @ Ys )
     => ( ord_less_eq_set_nat @ ( set_nat2 @ Xs2 ) @ ( set_nat2 @ Ys ) ) ) ).

% set_mono_sublist
thf(fact_1163_sublist__code_I3_J,axiom,
    ! [X: nat,Xs2: list_nat,Y3: nat,Ys: list_nat] :
      ( ( sublist_nat @ ( cons_nat @ X @ Xs2 ) @ ( cons_nat @ Y3 @ Ys ) )
      = ( ( prefix_nat @ ( cons_nat @ X @ Xs2 ) @ ( cons_nat @ Y3 @ Ys ) )
        | ( sublist_nat @ ( cons_nat @ X @ Xs2 ) @ Ys ) ) ) ).

% sublist_code(3)
thf(fact_1164_sublist__Cons__right,axiom,
    ! [Xs2: list_nat,Y3: nat,Ys: list_nat] :
      ( ( sublist_nat @ Xs2 @ ( cons_nat @ Y3 @ Ys ) )
      = ( ( prefix_nat @ Xs2 @ ( cons_nat @ Y3 @ Ys ) )
        | ( sublist_nat @ Xs2 @ Ys ) ) ) ).

% sublist_Cons_right
thf(fact_1165_sublist__altdef,axiom,
    ( sublist_nat
    = ( ^ [Xs4: list_nat,Ys2: list_nat] :
        ? [Ys4: list_nat] :
          ( ( prefix_nat @ Ys4 @ Ys2 )
          & ( suffix_nat @ Xs4 @ Ys4 ) ) ) ) ).

% sublist_altdef
thf(fact_1166_sublist__altdef_H,axiom,
    ( sublist_nat
    = ( ^ [Xs4: list_nat,Ys2: list_nat] :
        ? [Ys4: list_nat] :
          ( ( suffix_nat @ Ys4 @ Ys2 )
          & ( prefix_nat @ Xs4 @ Ys4 ) ) ) ) ).

% sublist_altdef'
thf(fact_1167_remdups__adj_Osimps_I2_J,axiom,
    ! [X: nat] :
      ( ( remdups_adj_nat @ ( cons_nat @ X @ nil_nat ) )
      = ( cons_nat @ X @ nil_nat ) ) ).

% remdups_adj.simps(2)
thf(fact_1168_remdups__adj_Oelims,axiom,
    ! [X: list_nat,Y3: list_nat] :
      ( ( ( remdups_adj_nat @ X )
        = Y3 )
     => ( ( ( X = nil_nat )
         => ( Y3 != nil_nat ) )
       => ( ! [X2: nat] :
              ( ( X
                = ( cons_nat @ X2 @ nil_nat ) )
             => ( Y3
               != ( cons_nat @ X2 @ nil_nat ) ) )
         => ~ ! [X2: nat,Y: nat,Xs: list_nat] :
                ( ( X
                  = ( cons_nat @ X2 @ ( cons_nat @ Y @ Xs ) ) )
               => ~ ( ( ( X2 = Y )
                     => ( Y3
                        = ( remdups_adj_nat @ ( cons_nat @ X2 @ Xs ) ) ) )
                    & ( ( X2 != Y )
                     => ( Y3
                        = ( cons_nat @ X2 @ ( remdups_adj_nat @ ( cons_nat @ Y @ Xs ) ) ) ) ) ) ) ) ) ) ).

% remdups_adj.elims
thf(fact_1169_Nil__tl,axiom,
    ! [Xs2: list_nat] :
      ( ( nil_nat
        = ( tl_nat @ Xs2 ) )
      = ( ( Xs2 = nil_nat )
        | ? [X4: nat] :
            ( Xs2
            = ( cons_nat @ X4 @ nil_nat ) ) ) ) ).

% Nil_tl
thf(fact_1170_tl__Nil,axiom,
    ! [Xs2: list_nat] :
      ( ( ( tl_nat @ Xs2 )
        = nil_nat )
      = ( ( Xs2 = nil_nat )
        | ? [X4: nat] :
            ( Xs2
            = ( cons_nat @ X4 @ nil_nat ) ) ) ) ).

% tl_Nil
thf(fact_1171_list_Oset__sel_I2_J,axiom,
    ! [A: list_nat,X: nat] :
      ( ( A != nil_nat )
     => ( ( member_nat @ X @ ( set_nat2 @ ( tl_nat @ A ) ) )
       => ( member_nat @ X @ ( set_nat2 @ A ) ) ) ) ).

% list.set_sel(2)
thf(fact_1172_tl__append__if,axiom,
    ! [Xs2: list_nat,Ys: list_nat] :
      ( ( ( Xs2 = nil_nat )
       => ( ( tl_nat @ ( append_nat @ Xs2 @ Ys ) )
          = ( tl_nat @ Ys ) ) )
      & ( ( Xs2 != nil_nat )
       => ( ( tl_nat @ ( append_nat @ Xs2 @ Ys ) )
          = ( append_nat @ ( tl_nat @ Xs2 ) @ Ys ) ) ) ) ).

% tl_append_if
thf(fact_1173_list_Oexpand,axiom,
    ! [List: list_nat,List2: list_nat] :
      ( ( ( List = nil_nat )
        = ( List2 = nil_nat ) )
     => ( ( ( List != nil_nat )
         => ( ( List2 != nil_nat )
           => ( ( ( hd_nat @ List )
                = ( hd_nat @ List2 ) )
              & ( ( tl_nat @ List )
                = ( tl_nat @ List2 ) ) ) ) )
       => ( List = List2 ) ) ) ).

% list.expand
thf(fact_1174_successively_Oelims_I2_J,axiom,
    ! [X: nat > nat > $o,Xa2: list_nat] :
      ( ( successively_nat @ X @ Xa2 )
     => ( ( Xa2 != nil_nat )
       => ( ! [X2: nat] :
              ( Xa2
             != ( cons_nat @ X2 @ nil_nat ) )
         => ~ ! [X2: nat,Y: nat,Xs: list_nat] :
                ( ( Xa2
                  = ( cons_nat @ X2 @ ( cons_nat @ Y @ Xs ) ) )
               => ~ ( ( X @ X2 @ Y )
                    & ( successively_nat @ X @ ( cons_nat @ Y @ Xs ) ) ) ) ) ) ) ).

% successively.elims(2)
thf(fact_1175_successively_Oelims_I1_J,axiom,
    ! [X: nat > nat > $o,Xa2: list_nat,Y3: $o] :
      ( ( ( successively_nat @ X @ Xa2 )
        = Y3 )
     => ( ( ( Xa2 = nil_nat )
         => ~ Y3 )
       => ( ( ? [X2: nat] :
                ( Xa2
                = ( cons_nat @ X2 @ nil_nat ) )
           => ~ Y3 )
         => ~ ! [X2: nat,Y: nat,Xs: list_nat] :
                ( ( Xa2
                  = ( cons_nat @ X2 @ ( cons_nat @ Y @ Xs ) ) )
               => ( Y3
                  = ( ~ ( ( X @ X2 @ Y )
                        & ( successively_nat @ X @ ( cons_nat @ Y @ Xs ) ) ) ) ) ) ) ) ) ).

% successively.elims(1)
thf(fact_1176_successively_Osimps_I2_J,axiom,
    ! [P: nat > nat > $o,X: nat] : ( successively_nat @ P @ ( cons_nat @ X @ nil_nat ) ) ).

% successively.simps(2)
thf(fact_1177_last__tl,axiom,
    ! [Xs2: list_nat] :
      ( ( ( Xs2 = nil_nat )
        | ( ( tl_nat @ Xs2 )
         != nil_nat ) )
     => ( ( last_nat @ ( tl_nat @ Xs2 ) )
        = ( last_nat @ Xs2 ) ) ) ).

% last_tl
thf(fact_1178_sublist__append,axiom,
    ! [Xs2: list_nat,Ys: list_nat,Zs2: list_nat] :
      ( ( sublist_nat @ Xs2 @ ( append_nat @ Ys @ Zs2 ) )
      = ( ( sublist_nat @ Xs2 @ Ys )
        | ( sublist_nat @ Xs2 @ Zs2 )
        | ? [Xs12: list_nat,Xs22: list_nat] :
            ( ( Xs2
              = ( append_nat @ Xs12 @ Xs22 ) )
            & ( suffix_nat @ Xs12 @ Ys )
            & ( prefix_nat @ Xs22 @ Zs2 ) ) ) ) ).

% sublist_append
thf(fact_1179_remdups__adj__append__two,axiom,
    ! [Xs2: list_nat,X: nat,Y3: nat] :
      ( ( remdups_adj_nat @ ( append_nat @ Xs2 @ ( cons_nat @ X @ ( cons_nat @ Y3 @ nil_nat ) ) ) )
      = ( append_nat @ ( remdups_adj_nat @ ( append_nat @ Xs2 @ ( cons_nat @ X @ nil_nat ) ) ) @ ( if_list_nat @ ( X = Y3 ) @ nil_nat @ ( cons_nat @ Y3 @ nil_nat ) ) ) ) ).

% remdups_adj_append_two
thf(fact_1180_list_Oexhaust__sel,axiom,
    ! [List: list_nat] :
      ( ( List != nil_nat )
     => ( List
        = ( cons_nat @ ( hd_nat @ List ) @ ( tl_nat @ List ) ) ) ) ).

% list.exhaust_sel
thf(fact_1181_successively__Cons,axiom,
    ! [P: nat > nat > $o,X: nat,Xs2: list_nat] :
      ( ( successively_nat @ P @ ( cons_nat @ X @ Xs2 ) )
      = ( ( Xs2 = nil_nat )
        | ( ( P @ X @ ( hd_nat @ Xs2 ) )
          & ( successively_nat @ P @ Xs2 ) ) ) ) ).

% successively_Cons
thf(fact_1182_snoc__sublist__snoc,axiom,
    ! [Xs2: list_nat,X: nat,Ys: list_nat,Y3: nat] :
      ( ( sublist_nat @ ( append_nat @ Xs2 @ ( cons_nat @ X @ nil_nat ) ) @ ( append_nat @ Ys @ ( cons_nat @ Y3 @ nil_nat ) ) )
      = ( ( ( X = Y3 )
          & ( suffix_nat @ Xs2 @ Ys ) )
        | ( sublist_nat @ ( append_nat @ Xs2 @ ( cons_nat @ X @ nil_nat ) ) @ Ys ) ) ) ).

% snoc_sublist_snoc
thf(fact_1183_Cons__in__shuffles__iff,axiom,
    ! [Z2: nat,Zs2: list_nat,Xs2: list_nat,Ys: list_nat] :
      ( ( member_list_nat @ ( cons_nat @ Z2 @ Zs2 ) @ ( shuffles_nat @ Xs2 @ Ys ) )
      = ( ( ( Xs2 != nil_nat )
          & ( ( hd_nat @ Xs2 )
            = Z2 )
          & ( member_list_nat @ Zs2 @ ( shuffles_nat @ ( tl_nat @ Xs2 ) @ Ys ) ) )
        | ( ( Ys != nil_nat )
          & ( ( hd_nat @ Ys )
            = Z2 )
          & ( member_list_nat @ Zs2 @ ( shuffles_nat @ Xs2 @ ( tl_nat @ Ys ) ) ) ) ) ) ).

% Cons_in_shuffles_iff
thf(fact_1184_Nil__in__shuffles,axiom,
    ! [Xs2: list_nat,Ys: list_nat] :
      ( ( member_list_nat @ nil_nat @ ( shuffles_nat @ Xs2 @ Ys ) )
      = ( ( Xs2 = nil_nat )
        & ( Ys = nil_nat ) ) ) ).

% Nil_in_shuffles
thf(fact_1185_strict__suffix__set__subset,axiom,
    ! [Xs2: list_nat,Ys: list_nat] :
      ( ( strict_suffix_nat @ Xs2 @ Ys )
     => ( ord_less_eq_set_nat @ ( set_nat2 @ Xs2 ) @ ( set_nat2 @ Ys ) ) ) ).

% strict_suffix_set_subset
thf(fact_1186_suffix__ConsD_H,axiom,
    ! [X: nat,Xs2: list_nat,Ys: list_nat] :
      ( ( suffix_nat @ ( cons_nat @ X @ Xs2 ) @ Ys )
     => ( strict_suffix_nat @ Xs2 @ Ys ) ) ).

% suffix_ConsD'
thf(fact_1187_strict__suffix__tl,axiom,
    ! [Xs2: list_nat] :
      ( ( Xs2 != nil_nat )
     => ( strict_suffix_nat @ ( tl_nat @ Xs2 ) @ Xs2 ) ) ).

% strict_suffix_tl
thf(fact_1188_suffix__bot_Onot__eq__extremum,axiom,
    ! [A: list_nat] :
      ( ( A != nil_nat )
      = ( strict_suffix_nat @ nil_nat @ A ) ) ).

% suffix_bot.not_eq_extremum
thf(fact_1189_suffix__bot_Oextremum__strict,axiom,
    ! [A: list_nat] :
      ~ ( strict_suffix_nat @ A @ nil_nat ) ).

% suffix_bot.extremum_strict
thf(fact_1190_Nil__in__shufflesI,axiom,
    ! [Xs2: list_nat,Ys: list_nat] :
      ( ( Xs2 = nil_nat )
     => ( ( Ys = nil_nat )
       => ( member_list_nat @ nil_nat @ ( shuffles_nat @ Xs2 @ Ys ) ) ) ) ).

% Nil_in_shufflesI
thf(fact_1191_Cons__shuffles__subset2,axiom,
    ! [Y3: nat,Xs2: list_nat,Ys: list_nat] : ( ord_le6045566169113846134st_nat @ ( image_7976474329151083847st_nat @ ( cons_nat @ Y3 ) @ ( shuffles_nat @ Xs2 @ Ys ) ) @ ( shuffles_nat @ Xs2 @ ( cons_nat @ Y3 @ Ys ) ) ) ).

% Cons_shuffles_subset2
thf(fact_1192_Cons__shuffles__subset1,axiom,
    ! [X: nat,Xs2: list_nat,Ys: list_nat] : ( ord_le6045566169113846134st_nat @ ( image_7976474329151083847st_nat @ ( cons_nat @ X ) @ ( shuffles_nat @ Xs2 @ Ys ) ) @ ( shuffles_nat @ ( cons_nat @ X @ Xs2 ) @ Ys ) ) ).

% Cons_shuffles_subset1
thf(fact_1193_Cons__in__shuffles__rightI,axiom,
    ! [Zs2: list_nat,Xs2: list_nat,Ys: list_nat,Z2: nat] :
      ( ( member_list_nat @ Zs2 @ ( shuffles_nat @ Xs2 @ Ys ) )
     => ( member_list_nat @ ( cons_nat @ Z2 @ Zs2 ) @ ( shuffles_nat @ Xs2 @ ( cons_nat @ Z2 @ Ys ) ) ) ) ).

% Cons_in_shuffles_rightI
thf(fact_1194_Cons__in__shuffles__leftI,axiom,
    ! [Zs2: list_nat,Xs2: list_nat,Ys: list_nat,Z2: nat] :
      ( ( member_list_nat @ Zs2 @ ( shuffles_nat @ Xs2 @ Ys ) )
     => ( member_list_nat @ ( cons_nat @ Z2 @ Zs2 ) @ ( shuffles_nat @ ( cons_nat @ Z2 @ Xs2 ) @ Ys ) ) ) ).

% Cons_in_shuffles_leftI
thf(fact_1195_shufflesE,axiom,
    ! [Zs2: list_nat,Xs2: list_nat,Ys: list_nat] :
      ( ( member_list_nat @ Zs2 @ ( shuffles_nat @ Xs2 @ Ys ) )
     => ( ( ( Zs2 = Xs2 )
         => ( Ys != nil_nat ) )
       => ( ( ( Zs2 = Ys )
           => ( Xs2 != nil_nat ) )
         => ( ! [X2: nat,Xs6: list_nat] :
                ( ( Xs2
                  = ( cons_nat @ X2 @ Xs6 ) )
               => ! [Z4: nat,Zs4: list_nat] :
                    ( ( Zs2
                      = ( cons_nat @ Z4 @ Zs4 ) )
                   => ( ( X2 = Z4 )
                     => ~ ( member_list_nat @ Zs4 @ ( shuffles_nat @ Xs6 @ Ys ) ) ) ) )
           => ~ ! [Y: nat,Ys6: list_nat] :
                  ( ( Ys
                    = ( cons_nat @ Y @ Ys6 ) )
                 => ! [Z4: nat,Zs4: list_nat] :
                      ( ( Zs2
                        = ( cons_nat @ Z4 @ Zs4 ) )
                     => ( ( Y = Z4 )
                       => ~ ( member_list_nat @ Zs4 @ ( shuffles_nat @ Xs2 @ Ys6 ) ) ) ) ) ) ) ) ) ).

% shufflesE
thf(fact_1196_set__union,axiom,
    ! [Xs2: list_nat,Ys: list_nat] :
      ( ( set_nat2 @ ( union_nat @ Xs2 @ Ys ) )
      = ( sup_sup_set_nat @ ( set_nat2 @ Xs2 ) @ ( set_nat2 @ Ys ) ) ) ).

% set_union
thf(fact_1197_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_1198_le__sup__iff,axiom,
    ! [X: nat,Y3: nat,Z2: nat] :
      ( ( ord_less_eq_nat @ ( sup_sup_nat @ X @ Y3 ) @ Z2 )
      = ( ( ord_less_eq_nat @ X @ Z2 )
        & ( ord_less_eq_nat @ Y3 @ Z2 ) ) ) ).

% le_sup_iff
thf(fact_1199_set__append,axiom,
    ! [Xs2: list_nat,Ys: list_nat] :
      ( ( set_nat2 @ ( append_nat @ Xs2 @ Ys ) )
      = ( sup_sup_set_nat @ ( set_nat2 @ Xs2 ) @ ( set_nat2 @ Ys ) ) ) ).

% set_append
thf(fact_1200_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_1201_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_1202_sup_Oabsorb__iff2,axiom,
    ( ord_less_eq_nat
    = ( ^ [A2: nat,B2: nat] :
          ( ( sup_sup_nat @ A2 @ B2 )
          = B2 ) ) ) ).

% sup.absorb_iff2
thf(fact_1203_sup_Oabsorb__iff1,axiom,
    ( ord_less_eq_nat
    = ( ^ [B2: nat,A2: nat] :
          ( ( sup_sup_nat @ A2 @ B2 )
          = A2 ) ) ) ).

% sup.absorb_iff1
thf(fact_1204_sup_Ocobounded2,axiom,
    ! [B: nat,A: nat] : ( ord_less_eq_nat @ B @ ( sup_sup_nat @ A @ B ) ) ).

% sup.cobounded2
thf(fact_1205_sup_Ocobounded1,axiom,
    ! [A: nat,B: nat] : ( ord_less_eq_nat @ A @ ( sup_sup_nat @ A @ B ) ) ).

% sup.cobounded1
thf(fact_1206_sup_Oorder__iff,axiom,
    ( ord_less_eq_nat
    = ( ^ [B2: nat,A2: nat] :
          ( A2
          = ( sup_sup_nat @ A2 @ B2 ) ) ) ) ).

% sup.order_iff
thf(fact_1207_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_1208_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_1209_sup__absorb2,axiom,
    ! [X: nat,Y3: nat] :
      ( ( ord_less_eq_nat @ X @ Y3 )
     => ( ( sup_sup_nat @ X @ Y3 )
        = Y3 ) ) ).

% sup_absorb2
thf(fact_1210_sup__absorb1,axiom,
    ! [Y3: nat,X: nat] :
      ( ( ord_less_eq_nat @ Y3 @ X )
     => ( ( sup_sup_nat @ X @ Y3 )
        = X ) ) ).

% sup_absorb1
thf(fact_1211_sup_Oabsorb2,axiom,
    ! [A: nat,B: nat] :
      ( ( ord_less_eq_nat @ A @ B )
     => ( ( sup_sup_nat @ A @ B )
        = B ) ) ).

% sup.absorb2
thf(fact_1212_sup_Oabsorb1,axiom,
    ! [B: nat,A: nat] :
      ( ( ord_less_eq_nat @ B @ A )
     => ( ( sup_sup_nat @ A @ B )
        = A ) ) ).

% sup.absorb1
thf(fact_1213_sup__unique,axiom,
    ! [F: nat > nat > nat,X: nat,Y3: nat] :
      ( ! [X2: nat,Y: nat] : ( ord_less_eq_nat @ X2 @ ( F @ X2 @ Y ) )
     => ( ! [X2: nat,Y: nat] : ( ord_less_eq_nat @ Y @ ( F @ X2 @ Y ) )
       => ( ! [X2: nat,Y: nat,Z4: nat] :
              ( ( ord_less_eq_nat @ Y @ X2 )
             => ( ( ord_less_eq_nat @ Z4 @ X2 )
               => ( ord_less_eq_nat @ ( F @ Y @ Z4 ) @ X2 ) ) )
         => ( ( sup_sup_nat @ X @ Y3 )
            = ( F @ X @ Y3 ) ) ) ) ) ).

% sup_unique
thf(fact_1214_sup_OorderI,axiom,
    ! [A: nat,B: nat] :
      ( ( A
        = ( sup_sup_nat @ A @ B ) )
     => ( ord_less_eq_nat @ B @ A ) ) ).

% sup.orderI
thf(fact_1215_sup_OorderE,axiom,
    ! [B: nat,A: nat] :
      ( ( ord_less_eq_nat @ B @ A )
     => ( A
        = ( sup_sup_nat @ A @ B ) ) ) ).

% sup.orderE
thf(fact_1216_le__iff__sup,axiom,
    ( ord_less_eq_nat
    = ( ^ [X4: nat,Y5: nat] :
          ( ( sup_sup_nat @ X4 @ Y5 )
          = Y5 ) ) ) ).

% le_iff_sup
thf(fact_1217_sup__least,axiom,
    ! [Y3: nat,X: nat,Z2: nat] :
      ( ( ord_less_eq_nat @ Y3 @ X )
     => ( ( ord_less_eq_nat @ Z2 @ X )
       => ( ord_less_eq_nat @ ( sup_sup_nat @ Y3 @ Z2 ) @ X ) ) ) ).

% sup_least
thf(fact_1218_sup__mono,axiom,
    ! [A: nat,C: nat,B: nat,D: nat] :
      ( ( ord_less_eq_nat @ A @ C )
     => ( ( ord_less_eq_nat @ B @ D )
       => ( ord_less_eq_nat @ ( sup_sup_nat @ A @ B ) @ ( sup_sup_nat @ C @ D ) ) ) ) ).

% sup_mono
thf(fact_1219_sup_Omono,axiom,
    ! [C: nat,A: nat,D: nat,B: nat] :
      ( ( ord_less_eq_nat @ C @ A )
     => ( ( ord_less_eq_nat @ D @ B )
       => ( ord_less_eq_nat @ ( sup_sup_nat @ C @ D ) @ ( sup_sup_nat @ A @ B ) ) ) ) ).

% sup.mono
thf(fact_1220_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_1221_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_1222_sup__ge2,axiom,
    ! [Y3: nat,X: nat] : ( ord_less_eq_nat @ Y3 @ ( sup_sup_nat @ X @ Y3 ) ) ).

% sup_ge2
thf(fact_1223_sup__ge1,axiom,
    ! [X: nat,Y3: nat] : ( ord_less_eq_nat @ X @ ( sup_sup_nat @ X @ Y3 ) ) ).

% sup_ge1
thf(fact_1224_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_1225_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_1226_inf__sup__ord_I3_J,axiom,
    ! [X: nat,Y3: nat] : ( ord_less_eq_nat @ X @ ( sup_sup_nat @ X @ Y3 ) ) ).

% inf_sup_ord(3)
thf(fact_1227_inf__sup__ord_I4_J,axiom,
    ! [Y3: nat,X: nat] : ( ord_less_eq_nat @ Y3 @ ( sup_sup_nat @ X @ Y3 ) ) ).

% inf_sup_ord(4)
thf(fact_1228_shuffles_Osimps_I3_J,axiom,
    ! [X: nat,Xs2: list_nat,Y3: nat,Ys: list_nat] :
      ( ( shuffles_nat @ ( cons_nat @ X @ Xs2 ) @ ( cons_nat @ Y3 @ Ys ) )
      = ( sup_sup_set_list_nat @ ( image_7976474329151083847st_nat @ ( cons_nat @ X ) @ ( shuffles_nat @ Xs2 @ ( cons_nat @ Y3 @ Ys ) ) ) @ ( image_7976474329151083847st_nat @ ( cons_nat @ Y3 ) @ ( shuffles_nat @ ( cons_nat @ X @ Xs2 ) @ Ys ) ) ) ) ).

% shuffles.simps(3)
thf(fact_1229_set__shuffles,axiom,
    ! [Zs2: list_nat,Xs2: list_nat,Ys: list_nat] :
      ( ( member_list_nat @ Zs2 @ ( shuffles_nat @ Xs2 @ Ys ) )
     => ( ( set_nat2 @ Zs2 )
        = ( sup_sup_set_nat @ ( set_nat2 @ Xs2 ) @ ( set_nat2 @ Ys ) ) ) ) ).

% set_shuffles
thf(fact_1230_UNIV__coset,axiom,
    ( top_top_set_nat
    = ( coset_nat @ nil_nat ) ) ).

% UNIV_coset
thf(fact_1231_map__sorted__distinct__set__unique,axiom,
    ! [F: nat > nat,Xs2: list_nat,Ys: list_nat] :
      ( ( inj_on_nat_nat @ F @ ( sup_sup_set_nat @ ( set_nat2 @ Xs2 ) @ ( set_nat2 @ Ys ) ) )
     => ( ( sorted_wrt_nat @ ord_less_eq_nat @ ( map_nat_nat @ F @ Xs2 ) )
       => ( ( distinct_nat @ ( map_nat_nat @ F @ Xs2 ) )
         => ( ( sorted_wrt_nat @ ord_less_eq_nat @ ( map_nat_nat @ F @ Ys ) )
           => ( ( distinct_nat @ ( map_nat_nat @ F @ Ys ) )
             => ( ( ( set_nat2 @ Xs2 )
                  = ( set_nat2 @ Ys ) )
               => ( Xs2 = Ys ) ) ) ) ) ) ) ).

% map_sorted_distinct_set_unique
thf(fact_1232_Sup__fin_Oset__eq__fold,axiom,
    ! [X: nat,Xs2: list_nat] :
      ( ( lattic1093996805478795353in_nat @ ( set_nat2 @ ( cons_nat @ X @ Xs2 ) ) )
      = ( fold_nat_nat @ sup_sup_nat @ Xs2 @ X ) ) ).

% Sup_fin.set_eq_fold
thf(fact_1233_sorted2,axiom,
    ! [X: nat,Y3: nat,Zs2: list_nat] :
      ( ( sorted_wrt_nat @ ord_less_eq_nat @ ( cons_nat @ X @ ( cons_nat @ Y3 @ Zs2 ) ) )
      = ( ( ord_less_eq_nat @ X @ Y3 )
        & ( sorted_wrt_nat @ ord_less_eq_nat @ ( cons_nat @ Y3 @ Zs2 ) ) ) ) ).

% sorted2
thf(fact_1234_sorted0,axiom,
    sorted_wrt_nat @ ord_less_eq_nat @ nil_nat ).

% sorted0
thf(fact_1235_sorted__antimono__prefix,axiom,
    ! [Xs2: list_nat,Ys: list_nat] :
      ( ( prefix_nat @ Xs2 @ Ys )
     => ( ( sorted_wrt_nat @ ord_less_eq_nat @ Ys )
       => ( sorted_wrt_nat @ ord_less_eq_nat @ Xs2 ) ) ) ).

% sorted_antimono_prefix
thf(fact_1236_sorted__antimono__suffix,axiom,
    ! [Xs2: list_nat,Ys: list_nat] :
      ( ( suffix_nat @ Xs2 @ Ys )
     => ( ( sorted_wrt_nat @ ord_less_eq_nat @ Ys )
       => ( sorted_wrt_nat @ ord_less_eq_nat @ Xs2 ) ) ) ).

% sorted_antimono_suffix
thf(fact_1237_sorted__remove1,axiom,
    ! [Xs2: list_nat,A: nat] :
      ( ( sorted_wrt_nat @ ord_less_eq_nat @ Xs2 )
     => ( sorted_wrt_nat @ ord_less_eq_nat @ ( remove1_nat @ A @ Xs2 ) ) ) ).

% sorted_remove1
thf(fact_1238_sorted__remdups__adj,axiom,
    ! [Xs2: list_nat] :
      ( ( sorted_wrt_nat @ ord_less_eq_nat @ Xs2 )
     => ( sorted_wrt_nat @ ord_less_eq_nat @ ( remdups_adj_nat @ Xs2 ) ) ) ).

% sorted_remdups_adj
thf(fact_1239_sorted__tl,axiom,
    ! [Xs2: list_nat] :
      ( ( sorted_wrt_nat @ ord_less_eq_nat @ Xs2 )
     => ( sorted_wrt_nat @ ord_less_eq_nat @ ( tl_nat @ Xs2 ) ) ) ).

% sorted_tl
thf(fact_1240_sorted__wrt__append,axiom,
    ! [P: nat > nat > $o,Xs2: list_nat,Ys: list_nat] :
      ( ( sorted_wrt_nat @ P @ ( append_nat @ Xs2 @ Ys ) )
      = ( ( sorted_wrt_nat @ P @ Xs2 )
        & ( sorted_wrt_nat @ P @ Ys )
        & ! [X4: nat] :
            ( ( member_nat @ X4 @ ( set_nat2 @ Xs2 ) )
           => ! [Y5: nat] :
                ( ( member_nat @ Y5 @ ( set_nat2 @ Ys ) )
               => ( P @ X4 @ Y5 ) ) ) ) ) ).

% sorted_wrt_append
thf(fact_1241_successively__iff__sorted__wrt__strong,axiom,
    ! [Xs2: list_nat,P: nat > nat > $o] :
      ( ! [X2: nat,Y: nat,Z4: nat] :
          ( ( member_nat @ X2 @ ( set_nat2 @ Xs2 ) )
         => ( ( member_nat @ Y @ ( set_nat2 @ Xs2 ) )
           => ( ( member_nat @ Z4 @ ( set_nat2 @ Xs2 ) )
             => ( ( P @ X2 @ Y )
               => ( ( P @ Y @ Z4 )
                 => ( P @ X2 @ Z4 ) ) ) ) ) )
     => ( ( successively_nat @ P @ Xs2 )
        = ( sorted_wrt_nat @ P @ Xs2 ) ) ) ).

% successively_iff_sorted_wrt_strong
thf(fact_1242_sorted__wrt_Osimps_I1_J,axiom,
    ! [P: nat > nat > $o] : ( sorted_wrt_nat @ P @ nil_nat ) ).

% sorted_wrt.simps(1)
thf(fact_1243_sorted__wrt__mono__rel,axiom,
    ! [Xs2: list_nat,P: nat > nat > $o,Q: nat > nat > $o] :
      ( ! [X2: nat,Y: nat] :
          ( ( member_nat @ X2 @ ( set_nat2 @ Xs2 ) )
         => ( ( member_nat @ Y @ ( set_nat2 @ Xs2 ) )
           => ( ( P @ X2 @ Y )
             => ( Q @ X2 @ Y ) ) ) )
     => ( ( sorted_wrt_nat @ P @ Xs2 )
       => ( sorted_wrt_nat @ Q @ Xs2 ) ) ) ).

% sorted_wrt_mono_rel
thf(fact_1244_sorted__wrt1,axiom,
    ! [P: nat > nat > $o,X: nat] : ( sorted_wrt_nat @ P @ ( cons_nat @ X @ nil_nat ) ) ).

% sorted_wrt1
thf(fact_1245_sorted1,axiom,
    ! [X: nat] : ( sorted_wrt_nat @ ord_less_eq_nat @ ( cons_nat @ X @ nil_nat ) ) ).

% sorted1
thf(fact_1246_sorted__simps_I2_J,axiom,
    ! [X: nat,Ys: list_nat] :
      ( ( sorted_wrt_nat @ ord_less_eq_nat @ ( cons_nat @ X @ Ys ) )
      = ( ! [X4: nat] :
            ( ( member_nat @ X4 @ ( set_nat2 @ Ys ) )
           => ( ord_less_eq_nat @ X @ X4 ) )
        & ( sorted_wrt_nat @ ord_less_eq_nat @ Ys ) ) ) ).

% sorted_simps(2)
thf(fact_1247_sorted__append,axiom,
    ! [Xs2: list_nat,Ys: list_nat] :
      ( ( sorted_wrt_nat @ ord_less_eq_nat @ ( append_nat @ Xs2 @ Ys ) )
      = ( ( sorted_wrt_nat @ ord_less_eq_nat @ Xs2 )
        & ( sorted_wrt_nat @ ord_less_eq_nat @ Ys )
        & ! [X4: nat] :
            ( ( member_nat @ X4 @ ( set_nat2 @ Xs2 ) )
           => ! [Y5: nat] :
                ( ( member_nat @ Y5 @ ( set_nat2 @ Ys ) )
               => ( ord_less_eq_nat @ X4 @ Y5 ) ) ) ) ) ).

% sorted_append
thf(fact_1248_sorted__distinct__set__unique,axiom,
    ! [Xs2: list_nat,Ys: list_nat] :
      ( ( sorted_wrt_nat @ ord_less_eq_nat @ Xs2 )
     => ( ( distinct_nat @ Xs2 )
       => ( ( sorted_wrt_nat @ ord_less_eq_nat @ Ys )
         => ( ( distinct_nat @ Ys )
           => ( ( ( set_nat2 @ Xs2 )
                = ( set_nat2 @ Ys ) )
             => ( Xs2 = Ys ) ) ) ) ) ) ).

% sorted_distinct_set_unique
thf(fact_1249_sorted__butlast,axiom,
    ! [Xs2: list_nat] :
      ( ( Xs2 != nil_nat )
     => ( ( sorted_wrt_nat @ ord_less_eq_nat @ Xs2 )
       => ( sorted_wrt_nat @ ord_less_eq_nat @ ( butlast_nat @ Xs2 ) ) ) ) ).

% sorted_butlast
thf(fact_1250_sorted__list__of__set_Oidem__if__sorted__distinct,axiom,
    ! [Xs2: list_nat] :
      ( ( sorted_wrt_nat @ ord_less_eq_nat @ Xs2 )
     => ( ( distinct_nat @ Xs2 )
       => ( ( linord2614967742042102400et_nat @ ( set_nat2 @ Xs2 ) )
          = Xs2 ) ) ) ).

% sorted_list_of_set.idem_if_sorted_distinct
thf(fact_1251_finite__sorted__distinct__unique,axiom,
    ! [A4: set_nat] :
      ( ( finite_finite_nat @ A4 )
     => ? [X2: list_nat] :
          ( ( ( set_nat2 @ X2 )
            = A4 )
          & ( sorted_wrt_nat @ ord_less_eq_nat @ X2 )
          & ( distinct_nat @ X2 )
          & ! [Y2: list_nat] :
              ( ( ( ( set_nat2 @ Y2 )
                  = A4 )
                & ( sorted_wrt_nat @ ord_less_eq_nat @ Y2 )
                & ( distinct_nat @ Y2 ) )
             => ( Y2 = X2 ) ) ) ) ).

% finite_sorted_distinct_unique
thf(fact_1252_finite__lessThan,axiom,
    ! [K: nat] : ( finite_finite_nat @ ( set_ord_lessThan_nat @ K ) ) ).

% finite_lessThan
thf(fact_1253_List_Ofinite__set,axiom,
    ! [Xs2: list_nat] : ( finite_finite_nat @ ( set_nat2 @ Xs2 ) ) ).

% List.finite_set
thf(fact_1254_sorted__list__of__set_Ofold__insort__key_Oinfinite,axiom,
    ! [A4: set_nat] :
      ( ~ ( finite_finite_nat @ A4 )
     => ( ( linord2614967742042102400et_nat @ A4 )
        = nil_nat ) ) ).

% sorted_list_of_set.fold_insort_key.infinite
thf(fact_1255_sorted__list__of__set_Oset__sorted__key__list__of__set,axiom,
    ! [A4: set_nat] :
      ( ( finite_finite_nat @ A4 )
     => ( ( set_nat2 @ ( linord2614967742042102400et_nat @ A4 ) )
        = A4 ) ) ).

% sorted_list_of_set.set_sorted_key_list_of_set
thf(fact_1256_sorted__list__of__set_Osorted__sorted__key__list__of__set,axiom,
    ! [A4: set_nat] : ( sorted_wrt_nat @ ord_less_eq_nat @ ( linord2614967742042102400et_nat @ A4 ) ) ).

% sorted_list_of_set.sorted_sorted_key_list_of_set
thf(fact_1257_Sup__fin_OcoboundedI,axiom,
    ! [A4: set_nat,A: nat] :
      ( ( finite_finite_nat @ A4 )
     => ( ( member_nat @ A @ A4 )
       => ( ord_less_eq_nat @ A @ ( lattic1093996805478795353in_nat @ A4 ) ) ) ) ).

% Sup_fin.coboundedI
thf(fact_1258_Sup__fin_Oin__idem,axiom,
    ! [A4: set_nat,X: nat] :
      ( ( finite_finite_nat @ A4 )
     => ( ( member_nat @ X @ A4 )
       => ( ( sup_sup_nat @ X @ ( lattic1093996805478795353in_nat @ A4 ) )
          = ( lattic1093996805478795353in_nat @ A4 ) ) ) ) ).

% Sup_fin.in_idem
thf(fact_1259_infinite__countable__subset,axiom,
    ! [S3: set_nat] :
      ( ~ ( finite_finite_nat @ S3 )
     => ? [F4: nat > nat] :
          ( ( inj_on_nat_nat @ F4 @ top_top_set_nat )
          & ( ord_less_eq_set_nat @ ( image_nat_nat @ F4 @ top_top_set_nat ) @ S3 ) ) ) ).

% infinite_countable_subset
thf(fact_1260_infinite__iff__countable__subset,axiom,
    ! [S3: set_nat] :
      ( ( ~ ( finite_finite_nat @ S3 ) )
      = ( ? [F2: nat > nat] :
            ( ( inj_on_nat_nat @ F2 @ top_top_set_nat )
            & ( ord_less_eq_set_nat @ ( image_nat_nat @ F2 @ top_top_set_nat ) @ S3 ) ) ) ) ).

% infinite_iff_countable_subset
thf(fact_1261_endo__inj__surj,axiom,
    ! [A4: set_nat,F: nat > nat] :
      ( ( finite_finite_nat @ A4 )
     => ( ( ord_less_eq_set_nat @ ( image_nat_nat @ F @ A4 ) @ A4 )
       => ( ( inj_on_nat_nat @ F @ A4 )
         => ( ( image_nat_nat @ F @ A4 )
            = A4 ) ) ) ) ).

% endo_inj_surj
thf(fact_1262_inj__on__finite,axiom,
    ! [F: nat > nat,A4: set_nat,B4: set_nat] :
      ( ( inj_on_nat_nat @ F @ A4 )
     => ( ( ord_less_eq_set_nat @ ( image_nat_nat @ F @ A4 ) @ B4 )
       => ( ( finite_finite_nat @ B4 )
         => ( finite_finite_nat @ A4 ) ) ) ) ).

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

% finite_surj_inj
thf(fact_1264_sorted__list__of__set_Osorted__key__list__of__set__inject,axiom,
    ! [A4: set_nat,B4: set_nat] :
      ( ( ( linord2614967742042102400et_nat @ A4 )
        = ( linord2614967742042102400et_nat @ B4 ) )
     => ( ( finite_finite_nat @ A4 )
       => ( ( finite_finite_nat @ B4 )
         => ( A4 = B4 ) ) ) ) ).

% sorted_list_of_set.sorted_key_list_of_set_inject
thf(fact_1265_prefix__order_Ofinite__has__maximal2,axiom,
    ! [A4: set_list_nat,A: list_nat] :
      ( ( finite8100373058378681591st_nat @ A4 )
     => ( ( member_list_nat @ A @ A4 )
       => ? [X2: list_nat] :
            ( ( member_list_nat @ X2 @ A4 )
            & ( prefix_nat @ A @ X2 )
            & ! [Xa: list_nat] :
                ( ( member_list_nat @ Xa @ A4 )
               => ( ( prefix_nat @ X2 @ Xa )
                 => ( X2 = Xa ) ) ) ) ) ) ).

% prefix_order.finite_has_maximal2
thf(fact_1266_prefix__order_Ofinite__has__minimal2,axiom,
    ! [A4: set_list_nat,A: list_nat] :
      ( ( finite8100373058378681591st_nat @ A4 )
     => ( ( member_list_nat @ A @ A4 )
       => ? [X2: list_nat] :
            ( ( member_list_nat @ X2 @ A4 )
            & ( prefix_nat @ X2 @ A )
            & ! [Xa: list_nat] :
                ( ( member_list_nat @ Xa @ A4 )
               => ( ( prefix_nat @ Xa @ X2 )
                 => ( X2 = Xa ) ) ) ) ) ) ).

% prefix_order.finite_has_minimal2
thf(fact_1267_finite__list,axiom,
    ! [A4: set_nat] :
      ( ( finite_finite_nat @ A4 )
     => ? [Xs: list_nat] :
          ( ( set_nat2 @ Xs )
          = A4 ) ) ).

% finite_list
thf(fact_1268_Min_Oin__idem,axiom,
    ! [A4: set_nat,X: nat] :
      ( ( finite_finite_nat @ A4 )
     => ( ( member_nat @ X @ A4 )
       => ( ( ord_min_nat @ X @ ( lattic8721135487736765967in_nat @ A4 ) )
          = ( lattic8721135487736765967in_nat @ A4 ) ) ) ) ).

% Min.in_idem
thf(fact_1269_Min_OcoboundedI,axiom,
    ! [A4: set_nat,A: nat] :
      ( ( finite_finite_nat @ A4 )
     => ( ( member_nat @ A @ A4 )
       => ( ord_less_eq_nat @ ( lattic8721135487736765967in_nat @ A4 ) @ A ) ) ) ).

% Min.coboundedI
thf(fact_1270_Min__eqI,axiom,
    ! [A4: set_nat,X: nat] :
      ( ( finite_finite_nat @ A4 )
     => ( ! [Y: nat] :
            ( ( member_nat @ Y @ A4 )
           => ( ord_less_eq_nat @ X @ Y ) )
       => ( ( member_nat @ X @ A4 )
         => ( ( lattic8721135487736765967in_nat @ A4 )
            = X ) ) ) ) ).

% Min_eqI
thf(fact_1271_Min__le,axiom,
    ! [A4: set_nat,X: nat] :
      ( ( finite_finite_nat @ A4 )
     => ( ( member_nat @ X @ A4 )
       => ( ord_less_eq_nat @ ( lattic8721135487736765967in_nat @ A4 ) @ X ) ) ) ).

% Min_le
thf(fact_1272_finite__distinct__list,axiom,
    ! [A4: set_nat] :
      ( ( finite_finite_nat @ A4 )
     => ? [Xs: list_nat] :
          ( ( ( set_nat2 @ Xs )
            = A4 )
          & ( distinct_nat @ Xs ) ) ) ).

% finite_distinct_list
thf(fact_1273_le__cSup__finite,axiom,
    ! [X6: set_nat,X: nat] :
      ( ( finite_finite_nat @ X6 )
     => ( ( member_nat @ X @ X6 )
       => ( ord_less_eq_nat @ X @ ( complete_Sup_Sup_nat @ X6 ) ) ) ) ).

% le_cSup_finite
thf(fact_1274_finite__surj,axiom,
    ! [A4: set_nat,B4: set_nat,F: nat > nat] :
      ( ( finite_finite_nat @ A4 )
     => ( ( ord_less_eq_set_nat @ B4 @ ( image_nat_nat @ F @ A4 ) )
       => ( finite_finite_nat @ B4 ) ) ) ).

% finite_surj
thf(fact_1275_finite__subset__image,axiom,
    ! [B4: set_nat,F: nat > nat,A4: set_nat] :
      ( ( finite_finite_nat @ B4 )
     => ( ( ord_less_eq_set_nat @ B4 @ ( image_nat_nat @ F @ A4 ) )
       => ? [C3: set_nat] :
            ( ( ord_less_eq_set_nat @ C3 @ A4 )
            & ( finite_finite_nat @ C3 )
            & ( B4
              = ( image_nat_nat @ F @ C3 ) ) ) ) ) ).

% finite_subset_image

% Helper facts (15)
thf(help_If_2_1_If_001t__Nat__Onat_T,axiom,
    ! [X: nat,Y3: nat] :
      ( ( if_nat @ $false @ X @ Y3 )
      = Y3 ) ).

thf(help_If_1_1_If_001t__Nat__Onat_T,axiom,
    ! [X: nat,Y3: nat] :
      ( ( if_nat @ $true @ X @ Y3 )
      = X ) ).

thf(help_If_2_1_If_001_062_I_Eo_Mt__Nat__Onat_J_T,axiom,
    ! [X: $o > nat,Y3: $o > nat] :
      ( ( if_o_nat @ $false @ X @ Y3 )
      = Y3 ) ).

thf(help_If_1_1_If_001_062_I_Eo_Mt__Nat__Onat_J_T,axiom,
    ! [X: $o > nat,Y3: $o > nat] :
      ( ( if_o_nat @ $true @ X @ Y3 )
      = X ) ).

thf(help_If_2_1_If_001t__Set__Oset_It__Nat__Onat_J_T,axiom,
    ! [X: set_nat,Y3: set_nat] :
      ( ( if_set_nat @ $false @ X @ Y3 )
      = Y3 ) ).

thf(help_If_1_1_If_001t__Set__Oset_It__Nat__Onat_J_T,axiom,
    ! [X: set_nat,Y3: set_nat] :
      ( ( if_set_nat @ $true @ X @ Y3 )
      = X ) ).

thf(help_If_2_1_If_001t__List__Olist_It__Nat__Onat_J_T,axiom,
    ! [X: list_nat,Y3: list_nat] :
      ( ( if_list_nat @ $false @ X @ Y3 )
      = Y3 ) ).

thf(help_If_1_1_If_001t__List__Olist_It__Nat__Onat_J_T,axiom,
    ! [X: list_nat,Y3: list_nat] :
      ( ( if_list_nat @ $true @ X @ Y3 )
      = X ) ).

thf(help_If_2_1_If_001t__List__Olist_It__Set__Oset_It__Nat__Onat_J_J_T,axiom,
    ! [X: list_set_nat,Y3: list_set_nat] :
      ( ( if_list_set_nat @ $false @ X @ Y3 )
      = Y3 ) ).

thf(help_If_1_1_If_001t__List__Olist_It__Set__Oset_It__Nat__Onat_J_J_T,axiom,
    ! [X: list_set_nat,Y3: list_set_nat] :
      ( ( if_list_set_nat @ $true @ X @ Y3 )
      = X ) ).

thf(help_If_2_1_If_001t__Set__Oset_It__List__Olist_It__Nat__Onat_J_J_T,axiom,
    ! [X: set_list_nat,Y3: set_list_nat] :
      ( ( if_set_list_nat @ $false @ X @ Y3 )
      = Y3 ) ).

thf(help_If_1_1_If_001t__Set__Oset_It__List__Olist_It__Nat__Onat_J_J_T,axiom,
    ! [X: set_list_nat,Y3: set_list_nat] :
      ( ( if_set_list_nat @ $true @ X @ Y3 )
      = X ) ).

thf(help_If_3_1_If_001t__List__Olist_It__List__Olist_It__Nat__Onat_J_J_T,axiom,
    ! [P: $o] :
      ( ( P = $true )
      | ( P = $false ) ) ).

thf(help_If_2_1_If_001t__List__Olist_It__List__Olist_It__Nat__Onat_J_J_T,axiom,
    ! [X: list_list_nat,Y3: list_list_nat] :
      ( ( if_list_list_nat @ $false @ X @ Y3 )
      = Y3 ) ).

thf(help_If_1_1_If_001t__List__Olist_It__List__Olist_It__Nat__Onat_J_J_T,axiom,
    ! [X: list_list_nat,Y3: list_list_nat] :
      ( ( if_list_list_nat @ $true @ X @ Y3 )
      = X ) ).

% Conjectures (1)
thf(conj_0,conjecture,
    ord_less_eq_nat @ x @ ( equiva5889994315859557365_limit @ xsa ) ).

%------------------------------------------------------------------------------