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 ) ).
%------------------------------------------------------------------------------