TPTP Problem File: SLH0411^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 : FOL_Seq_Calc2/0004_Usemantics/prob_00055_002877__12693938_1 [Des23]
% Status : Theorem
% Rating : ? v8.2.0
% Syntax : Number of formulae : 1712 ( 782 unt; 416 typ; 0 def)
% Number of atoms : 3636 (2407 equ; 0 cnn)
% Maximal formula atoms : 18 ( 2 avg)
% Number of connectives : 12620 ( 637 ~; 85 |; 450 &;10040 @)
% ( 0 <=>;1408 =>; 0 <=; 0 <~>)
% Maximal formula depth : 23 ( 6 avg)
% Number of types : 28 ( 27 usr)
% Number of type conns : 1927 (1927 >; 0 *; 0 +; 0 <<)
% Number of symbols : 392 ( 389 usr; 18 con; 0-5 aty)
% Number of variables : 4141 ( 392 ^;3434 !; 315 ?;4141 :)
% SPC : TH0_THM_EQU_NAR
% Comments : This file was generated by Isabelle (most likely Sledgehammer)
% 2023-01-19 08:44:18.132
%------------------------------------------------------------------------------
% Could-be-implicit typings (27)
thf(ty_n_t__List__Olist_It__List__Olist_It__List__Olist_It__SeCaV__Otm_J_J_J,type,
list_list_list_tm: $tType ).
thf(ty_n_t__List__Olist_It__List__Olist_It__List__Olist_It__SeCaV__Ofm_J_J_J,type,
list_list_list_fm: $tType ).
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__List__Olist_I_062_It__List__Olist_Itf__a_J_Mtf__a_J_J,type,
list_list_a_a: $tType ).
thf(ty_n_t__List__Olist_It__List__Olist_It__SeCaV__Otm_J_J,type,
list_list_tm: $tType ).
thf(ty_n_t__List__Olist_It__List__Olist_It__SeCaV__Ofm_J_J,type,
list_list_fm: $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__SeCaV__Otm_J_J,type,
set_list_tm: $tType ).
thf(ty_n_t__Set__Oset_It__List__Olist_It__SeCaV__Ofm_J_J,type,
set_list_fm: $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__List__Olist_Itf__a_J_J,type,
list_list_a: $tType ).
thf(ty_n_t__Set__Oset_It__List__Olist_Itf__a_J_J,type,
set_list_a: $tType ).
thf(ty_n_t__List__Olist_It__SeCaV__Otm_J,type,
list_tm: $tType ).
thf(ty_n_t__List__Olist_It__SeCaV__Ofm_J,type,
list_fm: $tType ).
thf(ty_n_t__List__Olist_It__Nat__Onat_J,type,
list_nat: $tType ).
thf(ty_n_t__Set__Oset_It__SeCaV__Otm_J,type,
set_tm: $tType ).
thf(ty_n_t__Set__Oset_It__SeCaV__Ofm_J,type,
set_fm: $tType ).
thf(ty_n_t__Set__Oset_It__Nat__Onat_J,type,
set_nat: $tType ).
thf(ty_n_t__List__Olist_Itf__a_J,type,
list_a: $tType ).
thf(ty_n_t__Set__Oset_Itf__a_J,type,
set_a: $tType ).
thf(ty_n_t__SeCaV__Otm,type,
tm: $tType ).
thf(ty_n_t__SeCaV__Ofm,type,
fm: $tType ).
thf(ty_n_t__Num__Onum,type,
num: $tType ).
thf(ty_n_t__Nat__Onat,type,
nat: $tType ).
thf(ty_n_tf__a,type,
a: $tType ).
% Explicit typings (389)
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__SeCaV__Ofm,type,
bNF_Gr6607445516916672786ift_fm: set_list_fm > fm > set_list_fm ).
thf(sy_c_BNF__Greatest__Fixpoint_OShift_001t__SeCaV__Otm,type,
bNF_Gr6607445516917591172ift_tm: set_list_tm > tm > set_list_tm ).
thf(sy_c_BNF__Greatest__Fixpoint_OShift_001tf__a,type,
bNF_Greatest_Shift_a: set_list_a > a > set_list_a ).
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__SeCaV__Ofm,type,
bNF_Greatest_Succ_fm: set_list_fm > list_fm > set_fm ).
thf(sy_c_BNF__Greatest__Fixpoint_OSucc_001t__SeCaV__Otm,type,
bNF_Greatest_Succ_tm: set_list_tm > list_tm > set_tm ).
thf(sy_c_BNF__Greatest__Fixpoint_OSucc_001tf__a,type,
bNF_Greatest_Succ_a: set_list_a > list_a > set_a ).
thf(sy_c_Finite__Set_Ocard_001t__Nat__Onat,type,
finite_card_nat: set_nat > nat ).
thf(sy_c_Finite__Set_Ocard_001t__SeCaV__Ofm,type,
finite_card_fm: set_fm > nat ).
thf(sy_c_Finite__Set_Ocard_001t__SeCaV__Otm,type,
finite_card_tm: set_tm > nat ).
thf(sy_c_Fun_Ofun__upd_001t__Nat__Onat_001_062_It__List__Olist_Itf__a_J_Mtf__a_J,type,
fun_upd_nat_list_a_a: ( nat > list_a > a ) > nat > ( list_a > a ) > nat > list_a > a ).
thf(sy_c_Fun_Ofun__upd_001t__Nat__Onat_001t__Nat__Onat,type,
fun_upd_nat_nat: ( nat > nat ) > nat > nat > nat > nat ).
thf(sy_c_Fun_Oinj__on_001t__Nat__Onat_001t__Nat__Onat,type,
inj_on_nat_nat: ( nat > nat ) > set_nat > $o ).
thf(sy_c_Groups_Ominus__class_Ominus_001_062_It__Nat__Onat_M_Eo_J,type,
minus_minus_nat_o: ( nat > $o ) > ( nat > $o ) > nat > $o ).
thf(sy_c_Groups_Ominus__class_Ominus_001_062_It__SeCaV__Ofm_M_Eo_J,type,
minus_minus_fm_o: ( fm > $o ) > ( fm > $o ) > fm > $o ).
thf(sy_c_Groups_Ominus__class_Ominus_001_062_Itf__a_M_Eo_J,type,
minus_minus_a_o: ( a > $o ) > ( a > $o ) > a > $o ).
thf(sy_c_Groups_Ominus__class_Ominus_001t__Nat__Onat,type,
minus_minus_nat: nat > nat > nat ).
thf(sy_c_Groups_Ominus__class_Ominus_001t__Set__Oset_It__Nat__Onat_J,type,
minus_minus_set_nat: set_nat > set_nat > set_nat ).
thf(sy_c_Groups_Ominus__class_Ominus_001t__Set__Oset_It__SeCaV__Ofm_J,type,
minus_minus_set_fm: set_fm > set_fm > set_fm ).
thf(sy_c_Groups_Ominus__class_Ominus_001t__Set__Oset_Itf__a_J,type,
minus_minus_set_a: set_a > set_a > set_a ).
thf(sy_c_Groups_Oone__class_Oone_001t__Nat__Onat,type,
one_one_nat: nat ).
thf(sy_c_Groups_Oplus__class_Oplus_001t__Nat__Onat,type,
plus_plus_nat: nat > nat > nat ).
thf(sy_c_Groups_Ozero__class_Ozero_001t__Nat__Onat,type,
zero_zero_nat: nat ).
thf(sy_c_HOL_Oundefined_001t__Nat__Onat,type,
undefined_nat: nat ).
thf(sy_c_HOL_Oundefined_001t__SeCaV__Ofm,type,
undefined_fm: fm ).
thf(sy_c_HOL_Oundefined_001t__SeCaV__Otm,type,
undefined_tm: tm ).
thf(sy_c_If_001_062_It__List__Olist_Itf__a_J_Mtf__a_J,type,
if_list_a_a: $o > ( list_a > a ) > ( list_a > a ) > list_a > a ).
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__SeCaV__Ofm_J,type,
if_list_fm: $o > list_fm > list_fm > list_fm ).
thf(sy_c_If_001t__List__Olist_It__SeCaV__Otm_J,type,
if_list_tm: $o > list_tm > list_tm > list_tm ).
thf(sy_c_If_001t__List__Olist_Itf__a_J,type,
if_list_a: $o > list_a > list_a > list_a ).
thf(sy_c_If_001t__Nat__Onat,type,
if_nat: $o > nat > nat > nat ).
thf(sy_c_If_001t__SeCaV__Ofm,type,
if_fm: $o > fm > fm > fm ).
thf(sy_c_If_001t__SeCaV__Otm,type,
if_tm: $o > tm > tm > tm ).
thf(sy_c_Lattices_Osup__class_Osup_001_062_It__Nat__Onat_M_Eo_J,type,
sup_sup_nat_o: ( nat > $o ) > ( nat > $o ) > nat > $o ).
thf(sy_c_Lattices_Osup__class_Osup_001_062_It__SeCaV__Ofm_M_Eo_J,type,
sup_sup_fm_o: ( fm > $o ) > ( fm > $o ) > fm > $o ).
thf(sy_c_Lattices_Osup__class_Osup_001_062_Itf__a_M_Eo_J,type,
sup_sup_a_o: ( a > $o ) > ( a > $o ) > a > $o ).
thf(sy_c_Lattices_Osup__class_Osup_001t__Nat__Onat,type,
sup_sup_nat: nat > nat > nat ).
thf(sy_c_Lattices_Osup__class_Osup_001t__Set__Oset_It__Nat__Onat_J,type,
sup_sup_set_nat: set_nat > set_nat > set_nat ).
thf(sy_c_Lattices_Osup__class_Osup_001t__Set__Oset_It__SeCaV__Ofm_J,type,
sup_sup_set_fm: set_fm > set_fm > set_fm ).
thf(sy_c_Lattices_Osup__class_Osup_001t__Set__Oset_Itf__a_J,type,
sup_sup_set_a: set_a > set_a > set_a ).
thf(sy_c_Lattices__Big_Osemilattice__sup__class_OSup__fin_001t__Nat__Onat,type,
lattic1093996805478795353in_nat: set_nat > nat ).
thf(sy_c_Lattices__Big_Osemilattice__sup__class_OSup__fin_001t__Set__Oset_It__Nat__Onat_J,type,
lattic3835124923745554447et_nat: set_set_nat > set_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__List__Olist_It__SeCaV__Ofm_J,type,
append_list_fm: list_list_fm > list_list_fm > list_list_fm ).
thf(sy_c_List_Oappend_001t__List__Olist_It__SeCaV__Otm_J,type,
append_list_tm: list_list_tm > list_list_tm > list_list_tm ).
thf(sy_c_List_Oappend_001t__Nat__Onat,type,
append_nat: list_nat > list_nat > list_nat ).
thf(sy_c_List_Oappend_001t__SeCaV__Ofm,type,
append_fm: list_fm > list_fm > list_fm ).
thf(sy_c_List_Oappend_001t__SeCaV__Otm,type,
append_tm: list_tm > list_tm > list_tm ).
thf(sy_c_List_Oappend_001tf__a,type,
append_a: list_a > list_a > list_a ).
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_Oarg__min__list_001t__SeCaV__Ofm_001t__Nat__Onat,type,
arg_min_list_fm_nat: ( fm > nat ) > list_fm > fm ).
thf(sy_c_List_Oarg__min__list_001t__SeCaV__Otm_001t__Nat__Onat,type,
arg_min_list_tm_nat: ( tm > nat ) > list_tm > tm ).
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_Obind_001t__Nat__Onat_001t__SeCaV__Ofm,type,
bind_nat_fm: list_nat > ( nat > list_fm ) > list_fm ).
thf(sy_c_List_Obind_001t__Nat__Onat_001t__SeCaV__Otm,type,
bind_nat_tm: list_nat > ( nat > list_tm ) > list_tm ).
thf(sy_c_List_Obind_001t__SeCaV__Ofm_001t__Nat__Onat,type,
bind_fm_nat: list_fm > ( fm > list_nat ) > list_nat ).
thf(sy_c_List_Obind_001t__SeCaV__Ofm_001t__SeCaV__Ofm,type,
bind_fm_fm: list_fm > ( fm > list_fm ) > list_fm ).
thf(sy_c_List_Obind_001t__SeCaV__Ofm_001t__SeCaV__Otm,type,
bind_fm_tm: list_fm > ( fm > list_tm ) > list_tm ).
thf(sy_c_List_Obind_001t__SeCaV__Otm_001t__Nat__Onat,type,
bind_tm_nat: list_tm > ( tm > list_nat ) > list_nat ).
thf(sy_c_List_Obind_001t__SeCaV__Otm_001t__SeCaV__Ofm,type,
bind_tm_fm: list_tm > ( tm > list_fm ) > list_fm ).
thf(sy_c_List_Obind_001t__SeCaV__Otm_001t__SeCaV__Otm,type,
bind_tm_tm: list_tm > ( tm > list_tm ) > list_tm ).
thf(sy_c_List_Obutlast_001t__Nat__Onat,type,
butlast_nat: list_nat > list_nat ).
thf(sy_c_List_Obutlast_001t__SeCaV__Ofm,type,
butlast_fm: list_fm > list_fm ).
thf(sy_c_List_Obutlast_001t__SeCaV__Otm,type,
butlast_tm: list_tm > list_tm ).
thf(sy_c_List_Obutlast_001tf__a,type,
butlast_a: list_a > list_a ).
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__SeCaV__Ofm,type,
can_select_fm: ( fm > $o ) > set_fm > $o ).
thf(sy_c_List_Ocan__select_001tf__a,type,
can_select_a: ( a > $o ) > set_a > $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__List__Olist_It__SeCaV__Ofm_J,type,
concat_list_fm: list_list_list_fm > list_list_fm ).
thf(sy_c_List_Oconcat_001t__List__Olist_It__SeCaV__Otm_J,type,
concat_list_tm: list_list_list_tm > list_list_tm ).
thf(sy_c_List_Oconcat_001t__Nat__Onat,type,
concat_nat: list_list_nat > list_nat ).
thf(sy_c_List_Oconcat_001t__SeCaV__Ofm,type,
concat_fm: list_list_fm > list_fm ).
thf(sy_c_List_Oconcat_001t__SeCaV__Otm,type,
concat_tm: list_list_tm > list_tm ).
thf(sy_c_List_Ocoset_001t__Nat__Onat,type,
coset_nat: list_nat > set_nat ).
thf(sy_c_List_Ocoset_001t__SeCaV__Ofm,type,
coset_fm: list_fm > set_fm ).
thf(sy_c_List_Ocoset_001t__SeCaV__Otm,type,
coset_tm: list_tm > set_tm ).
thf(sy_c_List_Ocoset_001tf__a,type,
coset_a: list_a > set_a ).
thf(sy_c_List_Odistinct_001t__Nat__Onat,type,
distinct_nat: list_nat > $o ).
thf(sy_c_List_Odistinct__adj_001t__Nat__Onat,type,
distinct_adj_nat: list_nat > $o ).
thf(sy_c_List_Odistinct__adj_001t__SeCaV__Ofm,type,
distinct_adj_fm: list_fm > $o ).
thf(sy_c_List_Odistinct__adj_001t__SeCaV__Otm,type,
distinct_adj_tm: list_tm > $o ).
thf(sy_c_List_OdropWhile_001t__Nat__Onat,type,
dropWhile_nat: ( nat > $o ) > list_nat > list_nat ).
thf(sy_c_List_OdropWhile_001t__SeCaV__Ofm,type,
dropWhile_fm: ( fm > $o ) > list_fm > list_fm ).
thf(sy_c_List_OdropWhile_001t__SeCaV__Otm,type,
dropWhile_tm: ( tm > $o ) > list_tm > list_tm ).
thf(sy_c_List_OdropWhile_001tf__a,type,
dropWhile_a: ( a > $o ) > list_a > list_a ).
thf(sy_c_List_Odrop_001t__Nat__Onat,type,
drop_nat: nat > list_nat > list_nat ).
thf(sy_c_List_Ofilter_001t__List__Olist_It__Nat__Onat_J,type,
filter_list_nat: ( list_nat > $o ) > list_list_nat > list_list_nat ).
thf(sy_c_List_Ofilter_001t__List__Olist_It__SeCaV__Ofm_J,type,
filter_list_fm: ( list_fm > $o ) > list_list_fm > list_list_fm ).
thf(sy_c_List_Ofilter_001t__List__Olist_It__SeCaV__Otm_J,type,
filter_list_tm: ( list_tm > $o ) > list_list_tm > list_list_tm ).
thf(sy_c_List_Ofilter_001t__Nat__Onat,type,
filter_nat: ( nat > $o ) > list_nat > list_nat ).
thf(sy_c_List_Ofilter_001t__SeCaV__Ofm,type,
filter_fm: ( fm > $o ) > list_fm > list_fm ).
thf(sy_c_List_Ofilter_001t__SeCaV__Otm,type,
filter_tm: ( tm > $o ) > list_tm > list_tm ).
thf(sy_c_List_Ofilter_001tf__a,type,
filter_a: ( a > $o ) > list_a > list_a ).
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_Ofold_001t__SeCaV__Ofm_001t__List__Olist_It__SeCaV__Ofm_J,type,
fold_fm_list_fm: ( fm > list_fm > list_fm ) > list_fm > list_fm > list_fm ).
thf(sy_c_List_Ofold_001t__SeCaV__Otm_001t__List__Olist_It__SeCaV__Otm_J,type,
fold_tm_list_tm: ( tm > list_tm > list_tm ) > list_tm > list_tm > list_tm ).
thf(sy_c_List_Ofold_001t__Set__Oset_It__Nat__Onat_J_001t__Set__Oset_It__Nat__Onat_J,type,
fold_set_nat_set_nat: ( set_nat > set_nat > set_nat ) > list_set_nat > set_nat > set_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__List__Olist_It__Nat__Onat_J_001t__Nat__Onat,type,
foldr_list_nat_nat: ( list_nat > nat > nat ) > list_list_nat > nat > nat ).
thf(sy_c_List_Ofoldr_001t__List__Olist_It__SeCaV__Ofm_J_001t__List__Olist_It__SeCaV__Ofm_J,type,
foldr_8313202652749265895ist_fm: ( list_fm > list_fm > list_fm ) > list_list_fm > list_fm > list_fm ).
thf(sy_c_List_Ofoldr_001t__List__Olist_It__SeCaV__Ofm_J_001t__Nat__Onat,type,
foldr_list_fm_nat: ( list_fm > nat > nat ) > list_list_fm > nat > nat ).
thf(sy_c_List_Ofoldr_001t__List__Olist_It__SeCaV__Otm_J_001t__List__Olist_It__SeCaV__Otm_J,type,
foldr_1867511026292261223ist_tm: ( list_tm > list_tm > list_tm ) > list_list_tm > list_tm > list_tm ).
thf(sy_c_List_Ofoldr_001t__List__Olist_It__SeCaV__Otm_J_001t__Nat__Onat,type,
foldr_list_tm_nat: ( list_tm > nat > nat ) > list_list_tm > nat > nat ).
thf(sy_c_List_Ogen__length_001t__Nat__Onat,type,
gen_length_nat: nat > list_nat > nat ).
thf(sy_c_List_Ogen__length_001t__SeCaV__Ofm,type,
gen_length_fm: nat > list_fm > nat ).
thf(sy_c_List_Ogen__length_001t__SeCaV__Otm,type,
gen_length_tm: nat > list_tm > nat ).
thf(sy_c_List_Oinsert_001t__Nat__Onat,type,
insert_nat: nat > list_nat > list_nat ).
thf(sy_c_List_Oinsert_001t__SeCaV__Ofm,type,
insert_fm: fm > list_fm > list_fm ).
thf(sy_c_List_Oinsert_001t__SeCaV__Otm,type,
insert_tm: tm > list_tm > list_tm ).
thf(sy_c_List_Oinsert_001tf__a,type,
insert_a: a > list_a > list_a ).
thf(sy_c_List_Olast_001t__Nat__Onat,type,
last_nat: list_nat > nat ).
thf(sy_c_List_Olast_001t__SeCaV__Ofm,type,
last_fm: list_fm > fm ).
thf(sy_c_List_Olast_001t__SeCaV__Otm,type,
last_tm: list_tm > tm ).
thf(sy_c_List_Olast_001tf__a,type,
last_a: list_a > a ).
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_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__List__Olist_It__SeCaV__Ofm_J,type,
cons_list_fm: list_fm > list_list_fm > list_list_fm ).
thf(sy_c_List_Olist_OCons_001t__List__Olist_It__SeCaV__Otm_J,type,
cons_list_tm: list_tm > list_list_tm > list_list_tm ).
thf(sy_c_List_Olist_OCons_001t__Nat__Onat,type,
cons_nat: nat > list_nat > list_nat ).
thf(sy_c_List_Olist_OCons_001t__SeCaV__Ofm,type,
cons_fm: fm > list_fm > list_fm ).
thf(sy_c_List_Olist_OCons_001t__SeCaV__Otm,type,
cons_tm: tm > list_tm > list_tm ).
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_OCons_001tf__a,type,
cons_a: a > list_a > list_a ).
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__List__Olist_It__SeCaV__Ofm_J,type,
nil_list_fm: list_list_fm ).
thf(sy_c_List_Olist_ONil_001t__List__Olist_It__SeCaV__Otm_J,type,
nil_list_tm: list_list_tm ).
thf(sy_c_List_Olist_ONil_001t__Nat__Onat,type,
nil_nat: list_nat ).
thf(sy_c_List_Olist_ONil_001t__SeCaV__Ofm,type,
nil_fm: list_fm ).
thf(sy_c_List_Olist_ONil_001t__SeCaV__Otm,type,
nil_tm: list_tm ).
thf(sy_c_List_Olist_ONil_001tf__a,type,
nil_a: list_a ).
thf(sy_c_List_Olist_Ocase__list_001_Eo_001t__Nat__Onat,type,
case_list_o_nat: $o > ( nat > list_nat > $o ) > list_nat > $o ).
thf(sy_c_List_Olist_Ocase__list_001_Eo_001t__SeCaV__Ofm,type,
case_list_o_fm: $o > ( fm > list_fm > $o ) > list_fm > $o ).
thf(sy_c_List_Olist_Ocase__list_001_Eo_001t__SeCaV__Otm,type,
case_list_o_tm: $o > ( tm > list_tm > $o ) > list_tm > $o ).
thf(sy_c_List_Olist_Ocase__list_001t__List__Olist_It__List__Olist_It__Nat__Onat_J_J_001t__Nat__Onat,type,
case_l3331202209248957608at_nat: list_list_nat > ( nat > list_nat > list_list_nat ) > list_nat > list_list_nat ).
thf(sy_c_List_Olist_Ocase__list_001t__List__Olist_It__List__Olist_It__SeCaV__Ofm_J_J_001t__SeCaV__Ofm,type,
case_l1147175924207067418_fm_fm: list_list_fm > ( fm > list_fm > list_list_fm ) > list_fm > list_list_fm ).
thf(sy_c_List_Olist_Ocase__list_001t__List__Olist_It__List__Olist_It__SeCaV__Otm_J_J_001t__SeCaV__Otm,type,
case_l799553655970854810_tm_tm: list_list_tm > ( tm > list_tm > list_list_tm ) > list_tm > list_list_tm ).
thf(sy_c_List_Olist_Ocase__list_001t__List__Olist_It__Nat__Onat_J_001t__Nat__Onat,type,
case_l2340614614379431832at_nat: list_nat > ( nat > list_nat > list_nat ) > list_nat > list_nat ).
thf(sy_c_List_Olist_Ocase__list_001t__List__Olist_It__SeCaV__Ofm_J_001t__SeCaV__Ofm,type,
case_list_list_fm_fm: list_fm > ( fm > list_fm > list_fm ) > list_fm > list_fm ).
thf(sy_c_List_Olist_Ocase__list_001t__List__Olist_It__SeCaV__Otm_J_001t__SeCaV__Otm,type,
case_list_list_tm_tm: list_tm > ( tm > list_tm > list_tm ) > list_tm > list_tm ).
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__List__Olist_It__SeCaV__Ofm_J,type,
hd_list_fm: list_list_fm > list_fm ).
thf(sy_c_List_Olist_Ohd_001t__List__Olist_It__SeCaV__Otm_J,type,
hd_list_tm: list_list_tm > list_tm ).
thf(sy_c_List_Olist_Ohd_001t__Nat__Onat,type,
hd_nat: list_nat > nat ).
thf(sy_c_List_Olist_Ohd_001t__SeCaV__Ofm,type,
hd_fm: list_fm > fm ).
thf(sy_c_List_Olist_Ohd_001t__SeCaV__Otm,type,
hd_tm: list_tm > tm ).
thf(sy_c_List_Olist_Ohd_001tf__a,type,
hd_a: list_a > a ).
thf(sy_c_List_Olist_Olist__all2_001t__Nat__Onat_001t__List__Olist_It__Nat__Onat_J,type,
list_a5155878676884504761st_nat: ( nat > list_nat > $o ) > list_nat > list_list_nat > $o ).
thf(sy_c_List_Olist_Olist__all2_001t__Nat__Onat_001t__Nat__Onat,type,
list_all2_nat_nat: ( nat > nat > $o ) > list_nat > list_nat > $o ).
thf(sy_c_List_Olist_Olist__all2_001t__Nat__Onat_001t__SeCaV__Ofm,type,
list_all2_nat_fm: ( nat > fm > $o ) > list_nat > list_fm > $o ).
thf(sy_c_List_Olist_Olist__all2_001t__Nat__Onat_001t__SeCaV__Otm,type,
list_all2_nat_tm: ( nat > tm > $o ) > list_nat > list_tm > $o ).
thf(sy_c_List_Olist_Olist__all2_001t__Nat__Onat_001tf__a,type,
list_all2_nat_a: ( nat > a > $o ) > list_nat > list_a > $o ).
thf(sy_c_List_Olist_Olist__all2_001t__SeCaV__Ofm_001t__List__Olist_It__SeCaV__Ofm_J,type,
list_all2_fm_list_fm: ( fm > list_fm > $o ) > list_fm > list_list_fm > $o ).
thf(sy_c_List_Olist_Olist__all2_001t__SeCaV__Ofm_001t__Nat__Onat,type,
list_all2_fm_nat: ( fm > nat > $o ) > list_fm > list_nat > $o ).
thf(sy_c_List_Olist_Olist__all2_001t__SeCaV__Ofm_001t__SeCaV__Ofm,type,
list_all2_fm_fm: ( fm > fm > $o ) > list_fm > list_fm > $o ).
thf(sy_c_List_Olist_Olist__all2_001t__SeCaV__Ofm_001t__SeCaV__Otm,type,
list_all2_fm_tm: ( fm > tm > $o ) > list_fm > list_tm > $o ).
thf(sy_c_List_Olist_Olist__all2_001t__SeCaV__Ofm_001tf__a,type,
list_all2_fm_a: ( fm > a > $o ) > list_fm > list_a > $o ).
thf(sy_c_List_Olist_Olist__all2_001t__SeCaV__Otm_001t__Nat__Onat,type,
list_all2_tm_nat: ( tm > nat > $o ) > list_tm > list_nat > $o ).
thf(sy_c_List_Olist_Olist__all2_001t__SeCaV__Otm_001t__SeCaV__Ofm,type,
list_all2_tm_fm: ( tm > fm > $o ) > list_tm > list_fm > $o ).
thf(sy_c_List_Olist_Olist__all2_001t__SeCaV__Otm_001t__SeCaV__Otm,type,
list_all2_tm_tm: ( tm > tm > $o ) > list_tm > list_tm > $o ).
thf(sy_c_List_Olist_Olist__all2_001tf__a_001t__List__Olist_Itf__a_J,type,
list_all2_a_list_a: ( a > list_a > $o ) > list_a > list_list_a > $o ).
thf(sy_c_List_Olist_Olist__all2_001tf__a_001t__Nat__Onat,type,
list_all2_a_nat: ( a > nat > $o ) > list_a > list_nat > $o ).
thf(sy_c_List_Olist_Olist__all2_001tf__a_001t__SeCaV__Ofm,type,
list_all2_a_fm: ( a > fm > $o ) > list_a > list_fm > $o ).
thf(sy_c_List_Olist_Olist__all2_001tf__a_001tf__a,type,
list_all2_a_a: ( a > a > $o ) > list_a > list_a > $o ).
thf(sy_c_List_Olist_Olist__all_001t__Nat__Onat,type,
list_all_nat: ( nat > $o ) > list_nat > $o ).
thf(sy_c_List_Olist_Olist__all_001t__SeCaV__Ofm,type,
list_all_fm: ( fm > $o ) > list_fm > $o ).
thf(sy_c_List_Olist_Olist__all_001t__SeCaV__Otm,type,
list_all_tm: ( tm > $o ) > list_tm > $o ).
thf(sy_c_List_Olist_Olist__all_001tf__a,type,
list_all_a: ( a > $o ) > list_a > $o ).
thf(sy_c_List_Olist_Omap_001t__List__Olist_It__Nat__Onat_J_001t__List__Olist_It__List__Olist_It__Nat__Onat_J_J,type,
map_li960784813134754710st_nat: ( list_nat > list_list_nat ) > list_list_nat > list_list_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__SeCaV__Ofm_J_001t__List__Olist_It__List__Olist_It__SeCaV__Ofm_J_J,type,
map_li1351512418201717386ist_fm: ( list_fm > list_list_fm ) > list_list_fm > list_list_list_fm ).
thf(sy_c_List_Olist_Omap_001t__List__Olist_It__SeCaV__Ofm_J_001t__List__Olist_It__SeCaV__Ofm_J,type,
map_list_fm_list_fm: ( list_fm > list_fm ) > list_list_fm > list_list_fm ).
thf(sy_c_List_Olist_Omap_001t__List__Olist_It__SeCaV__Ofm_J_001t__SeCaV__Ofm,type,
map_list_fm_fm: ( list_fm > fm ) > list_list_fm > list_fm ).
thf(sy_c_List_Olist_Omap_001t__List__Olist_It__SeCaV__Otm_J_001t__List__Olist_It__List__Olist_It__SeCaV__Otm_J_J,type,
map_li6264597563971819530ist_tm: ( list_tm > list_list_tm ) > list_list_tm > list_list_list_tm ).
thf(sy_c_List_Olist_Omap_001t__List__Olist_It__SeCaV__Otm_J_001t__List__Olist_It__SeCaV__Otm_J,type,
map_list_tm_list_tm: ( list_tm > list_tm ) > list_list_tm > list_list_tm ).
thf(sy_c_List_Olist_Omap_001t__List__Olist_It__SeCaV__Otm_J_001t__SeCaV__Otm,type,
map_list_tm_tm: ( list_tm > tm ) > list_list_tm > list_tm ).
thf(sy_c_List_Olist_Omap_001t__Nat__Onat_001_062_It__List__Olist_Itf__a_J_Mtf__a_J,type,
map_nat_list_a_a: ( nat > list_a > a ) > list_nat > list_list_a_a ).
thf(sy_c_List_Olist_Omap_001t__Nat__Onat_001t__List__Olist_It__List__Olist_It__Nat__Onat_J_J,type,
map_na6205611841492582150st_nat: ( nat > list_list_nat ) > list_nat > list_list_list_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__SeCaV__Ofm,type,
map_nat_fm: ( nat > fm ) > list_nat > list_fm ).
thf(sy_c_List_Olist_Omap_001t__Nat__Onat_001t__SeCaV__Otm,type,
map_nat_tm: ( nat > tm ) > list_nat > list_tm ).
thf(sy_c_List_Olist_Omap_001t__SeCaV__Ofm_001t__Nat__Onat,type,
map_fm_nat: ( fm > nat ) > list_fm > list_nat ).
thf(sy_c_List_Olist_Omap_001t__SeCaV__Ofm_001t__SeCaV__Ofm,type,
map_fm_fm: ( fm > fm ) > list_fm > list_fm ).
thf(sy_c_List_Olist_Omap_001t__SeCaV__Ofm_001t__SeCaV__Otm,type,
map_fm_tm: ( fm > tm ) > list_fm > list_tm ).
thf(sy_c_List_Olist_Omap_001t__SeCaV__Otm_001t__List__Olist_It__List__Olist_It__SeCaV__Otm_J_J,type,
map_tm_list_list_tm: ( tm > list_list_tm ) > list_tm > list_list_list_tm ).
thf(sy_c_List_Olist_Omap_001t__SeCaV__Otm_001t__List__Olist_It__SeCaV__Otm_J,type,
map_tm_list_tm: ( tm > list_tm ) > list_tm > list_list_tm ).
thf(sy_c_List_Olist_Omap_001t__SeCaV__Otm_001t__Nat__Onat,type,
map_tm_nat: ( tm > nat ) > list_tm > list_nat ).
thf(sy_c_List_Olist_Omap_001t__SeCaV__Otm_001t__SeCaV__Ofm,type,
map_tm_fm: ( tm > fm ) > list_tm > list_fm ).
thf(sy_c_List_Olist_Omap_001t__SeCaV__Otm_001t__SeCaV__Otm,type,
map_tm_tm: ( tm > tm ) > list_tm > list_tm ).
thf(sy_c_List_Olist_Omap_001tf__a_001tf__a,type,
map_a_a: ( a > a ) > list_a > list_a ).
thf(sy_c_List_Olist_Orec__list_001t__List__Olist_It__Nat__Onat_J_001t__Nat__Onat,type,
rec_li7516600145284979816at_nat: list_nat > ( nat > list_nat > list_nat > list_nat ) > list_nat > 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__SeCaV__Ofm_J,type,
set_list_fm2: list_list_fm > set_list_fm ).
thf(sy_c_List_Olist_Oset_001t__List__Olist_It__SeCaV__Otm_J,type,
set_list_tm2: list_list_tm > set_list_tm ).
thf(sy_c_List_Olist_Oset_001t__List__Olist_Itf__a_J,type,
set_list_a2: list_list_a > set_list_a ).
thf(sy_c_List_Olist_Oset_001t__Nat__Onat,type,
set_nat2: list_nat > set_nat ).
thf(sy_c_List_Olist_Oset_001t__SeCaV__Ofm,type,
set_fm2: list_fm > set_fm ).
thf(sy_c_List_Olist_Oset_001t__SeCaV__Otm,type,
set_tm2: list_tm > set_tm ).
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_Oset_001tf__a,type,
set_a2: list_a > set_a ).
thf(sy_c_List_Olist_Osize__list_001t__SeCaV__Otm,type,
size_list_tm: ( tm > nat ) > list_tm > nat ).
thf(sy_c_List_Olist_Otl_001t__Nat__Onat,type,
tl_nat: list_nat > list_nat ).
thf(sy_c_List_Olist_Otl_001t__SeCaV__Ofm,type,
tl_fm: list_fm > list_fm ).
thf(sy_c_List_Olist_Otl_001t__SeCaV__Otm,type,
tl_tm: list_tm > list_tm ).
thf(sy_c_List_Olist_Otl_001tf__a,type,
tl_a: list_a > list_a ).
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__SeCaV__Ofm,type,
list_ex1_fm: ( fm > $o ) > list_fm > $o ).
thf(sy_c_List_Olist__ex1_001t__SeCaV__Otm,type,
list_ex1_tm: ( tm > $o ) > list_tm > $o ).
thf(sy_c_List_Olist__ex1_001tf__a,type,
list_ex1_a: ( a > $o ) > list_a > $o ).
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__Nat__Onat_001t__Nat__Onat,type,
map_ta7164188454487880599at_nat: ( nat > nat ) > list_nat > list_nat > list_nat ).
thf(sy_c_List_Omap__tailrec__rev_001t__Nat__Onat_001t__SeCaV__Otm,type,
map_ta389968950240100318nat_tm: ( nat > tm ) > list_nat > list_tm > list_tm ).
thf(sy_c_List_Omap__tailrec__rev_001t__SeCaV__Ofm_001t__Nat__Onat,type,
map_ta6142991304421856526fm_nat: ( fm > nat ) > list_fm > list_nat > list_nat ).
thf(sy_c_List_Omap__tailrec__rev_001t__SeCaV__Ofm_001t__SeCaV__Otm,type,
map_ta229225445363629095_fm_tm: ( fm > tm ) > list_fm > list_tm > list_tm ).
thf(sy_c_List_Omap__tailrec__rev_001t__SeCaV__Otm_001t__Nat__Onat,type,
map_ta7807370561492357248tm_nat: ( tm > nat ) > list_tm > list_nat > list_nat ).
thf(sy_c_List_Omap__tailrec__rev_001t__SeCaV__Otm_001t__SeCaV__Otm,type,
map_ta4789309763159252277_tm_tm: ( tm > tm ) > list_tm > list_tm > list_tm ).
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_Omaps_001t__Nat__Onat_001t__SeCaV__Ofm,type,
maps_nat_fm: ( nat > list_fm ) > list_nat > list_fm ).
thf(sy_c_List_Omaps_001t__Nat__Onat_001t__SeCaV__Otm,type,
maps_nat_tm: ( nat > list_tm ) > list_nat > list_tm ).
thf(sy_c_List_Omaps_001t__SeCaV__Ofm_001t__Nat__Onat,type,
maps_fm_nat: ( fm > list_nat ) > list_fm > list_nat ).
thf(sy_c_List_Omaps_001t__SeCaV__Ofm_001t__SeCaV__Ofm,type,
maps_fm_fm: ( fm > list_fm ) > list_fm > list_fm ).
thf(sy_c_List_Omaps_001t__SeCaV__Ofm_001t__SeCaV__Otm,type,
maps_fm_tm: ( fm > list_tm ) > list_fm > list_tm ).
thf(sy_c_List_Omaps_001t__SeCaV__Otm_001t__Nat__Onat,type,
maps_tm_nat: ( tm > list_nat ) > list_tm > list_nat ).
thf(sy_c_List_Omaps_001t__SeCaV__Otm_001t__SeCaV__Ofm,type,
maps_tm_fm: ( tm > list_fm ) > list_tm > list_fm ).
thf(sy_c_List_Omaps_001t__SeCaV__Otm_001t__SeCaV__Otm,type,
maps_tm_tm: ( tm > list_tm ) > list_tm > list_tm ).
thf(sy_c_List_On__lists_001t__Nat__Onat,type,
n_lists_nat: nat > list_nat > list_list_nat ).
thf(sy_c_List_On__lists_001t__SeCaV__Ofm,type,
n_lists_fm: nat > list_fm > list_list_fm ).
thf(sy_c_List_On__lists_001t__SeCaV__Otm,type,
n_lists_tm: nat > list_tm > list_list_tm ).
thf(sy_c_List_Onth_001t__Nat__Onat,type,
nth_nat: list_nat > nat > nat ).
thf(sy_c_List_Onths_001t__Nat__Onat,type,
nths_nat: list_nat > set_nat > list_nat ).
thf(sy_c_List_Onths_001t__SeCaV__Ofm,type,
nths_fm: list_fm > set_nat > list_fm ).
thf(sy_c_List_Onths_001t__SeCaV__Otm,type,
nths_tm: list_tm > set_nat > list_tm ).
thf(sy_c_List_Onths_001tf__a,type,
nths_a: list_a > set_nat > list_a ).
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_Oord_Olexordp__eq_001t__SeCaV__Ofm,type,
lexordp_eq_fm: ( fm > fm > $o ) > list_fm > list_fm > $o ).
thf(sy_c_List_Oord_Olexordp__eq_001t__SeCaV__Otm,type,
lexordp_eq_tm: ( tm > tm > $o ) > list_tm > list_tm > $o ).
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__SeCaV__Ofm,type,
product_lists_fm: list_list_fm > list_list_fm ).
thf(sy_c_List_Oproduct__lists_001t__SeCaV__Otm,type,
product_lists_tm: list_list_tm > list_list_tm ).
thf(sy_c_List_Oproduct__lists_001tf__a,type,
product_lists_a: list_list_a > list_list_a ).
thf(sy_c_List_Oremdups__adj_001t__Nat__Onat,type,
remdups_adj_nat: list_nat > list_nat ).
thf(sy_c_List_Oremdups__adj_001t__SeCaV__Ofm,type,
remdups_adj_fm: list_fm > list_fm ).
thf(sy_c_List_Oremdups__adj_001t__SeCaV__Otm,type,
remdups_adj_tm: list_tm > list_tm ).
thf(sy_c_List_Oremdups__adj_001tf__a,type,
remdups_adj_a: list_a > list_a ).
thf(sy_c_List_Oremdups__adj__rel_001t__Nat__Onat,type,
remdups_adj_rel_nat: list_nat > list_nat > $o ).
thf(sy_c_List_Oremdups__adj__rel_001t__SeCaV__Ofm,type,
remdups_adj_rel_fm: list_fm > list_fm > $o ).
thf(sy_c_List_Oremdups__adj__rel_001t__SeCaV__Otm,type,
remdups_adj_rel_tm: list_tm > list_tm > $o ).
thf(sy_c_List_Oremove1_001t__Nat__Onat,type,
remove1_nat: nat > list_nat > list_nat ).
thf(sy_c_List_Oremove1_001t__SeCaV__Ofm,type,
remove1_fm: fm > list_fm > list_fm ).
thf(sy_c_List_Oremove1_001t__SeCaV__Otm,type,
remove1_tm: tm > list_tm > list_tm ).
thf(sy_c_List_Oremove1_001tf__a,type,
remove1_a: a > list_a > list_a ).
thf(sy_c_List_Oreplicate_001t__List__Olist_It__Nat__Onat_J,type,
replicate_list_nat: nat > list_nat > list_list_nat ).
thf(sy_c_List_Oreplicate_001t__List__Olist_It__SeCaV__Ofm_J,type,
replicate_list_fm: nat > list_fm > list_list_fm ).
thf(sy_c_List_Oreplicate_001t__List__Olist_It__SeCaV__Otm_J,type,
replicate_list_tm: nat > list_tm > list_list_tm ).
thf(sy_c_List_Oreplicate_001t__Nat__Onat,type,
replicate_nat: nat > nat > list_nat ).
thf(sy_c_List_Oreplicate_001t__SeCaV__Ofm,type,
replicate_fm: nat > fm > list_fm ).
thf(sy_c_List_Oreplicate_001t__SeCaV__Otm,type,
replicate_tm: nat > tm > list_tm ).
thf(sy_c_List_Oreplicate_001tf__a,type,
replicate_a: nat > a > list_a ).
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__SeCaV__Ofm,type,
rev_fm: list_fm > list_fm ).
thf(sy_c_List_Orev_001t__SeCaV__Otm,type,
rev_tm: list_tm > list_tm ).
thf(sy_c_List_Orev_001tf__a,type,
rev_a: list_a > list_a ).
thf(sy_c_List_Orotate1_001t__Nat__Onat,type,
rotate1_nat: list_nat > list_nat ).
thf(sy_c_List_Orotate1_001t__SeCaV__Ofm,type,
rotate1_fm: list_fm > list_fm ).
thf(sy_c_List_Orotate1_001t__SeCaV__Otm,type,
rotate1_tm: list_tm > list_tm ).
thf(sy_c_List_Oshuffles_001t__Nat__Onat,type,
shuffles_nat: list_nat > list_nat > set_list_nat ).
thf(sy_c_List_Oshuffles_001t__SeCaV__Ofm,type,
shuffles_fm: list_fm > list_fm > set_list_fm ).
thf(sy_c_List_Oshuffles_001t__SeCaV__Otm,type,
shuffles_tm: list_tm > list_tm > set_list_tm ).
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__Nat__Onat,type,
subseqs_nat: list_nat > list_list_nat ).
thf(sy_c_List_Osubseqs_001t__SeCaV__Ofm,type,
subseqs_fm: list_fm > list_list_fm ).
thf(sy_c_List_Osubseqs_001t__SeCaV__Otm,type,
subseqs_tm: list_tm > list_list_tm ).
thf(sy_c_List_Osuccessively_001t__Nat__Onat,type,
successively_nat: ( nat > nat > $o ) > list_nat > $o ).
thf(sy_c_List_Osuccessively_001t__SeCaV__Ofm,type,
successively_fm: ( fm > fm > $o ) > list_fm > $o ).
thf(sy_c_List_Osuccessively_001t__SeCaV__Otm,type,
successively_tm: ( tm > tm > $o ) > list_tm > $o ).
thf(sy_c_List_Osuccessively_001tf__a,type,
successively_a: ( a > a > $o ) > list_a > $o ).
thf(sy_c_List_Otake_001t__Nat__Onat,type,
take_nat: nat > list_nat > 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__SeCaV__Ofm,type,
transpose_fm: list_list_fm > list_list_fm ).
thf(sy_c_List_Otranspose_001t__SeCaV__Otm,type,
transpose_tm: list_list_tm > list_list_tm ).
thf(sy_c_List_Otranspose__rel_001t__Nat__Onat,type,
transpose_rel_nat: list_list_nat > list_list_nat > $o ).
thf(sy_c_List_Otranspose__rel_001t__SeCaV__Ofm,type,
transpose_rel_fm: list_list_fm > list_list_fm > $o ).
thf(sy_c_List_Otranspose__rel_001t__SeCaV__Otm,type,
transpose_rel_tm: list_list_tm > list_list_tm > $o ).
thf(sy_c_List_Ounion_001t__Nat__Onat,type,
union_nat: list_nat > list_nat > list_nat ).
thf(sy_c_List_Oupt,type,
upt: nat > nat > list_nat ).
thf(sy_c_Nat_OSuc,type,
suc: nat > nat ).
thf(sy_c_Nat_Osize__class_Osize_001t__List__Olist_It__List__Olist_It__Nat__Onat_J_J,type,
size_s3023201423986296836st_nat: list_list_nat > nat ).
thf(sy_c_Nat_Osize__class_Osize_001t__List__Olist_It__List__Olist_It__SeCaV__Ofm_J_J,type,
size_s115229985653309035ist_fm: list_list_fm > nat ).
thf(sy_c_Nat_Osize__class_Osize_001t__List__Olist_It__List__Olist_It__SeCaV__Otm_J_J,type,
size_s9096087352182575069ist_tm: list_list_tm > nat ).
thf(sy_c_Nat_Osize__class_Osize_001t__List__Olist_It__Nat__Onat_J,type,
size_size_list_nat: list_nat > nat ).
thf(sy_c_Nat_Osize__class_Osize_001t__List__Olist_It__SeCaV__Ofm_J,type,
size_size_list_fm: list_fm > nat ).
thf(sy_c_Nat_Osize__class_Osize_001t__List__Olist_It__SeCaV__Otm_J,type,
size_size_list_tm: list_tm > nat ).
thf(sy_c_Nat_Osize__class_Osize_001t__List__Olist_Itf__a_J,type,
size_size_list_a: list_a > nat ).
thf(sy_c_Nat_Osize__class_Osize_001t__SeCaV__Otm,type,
size_size_tm: tm > nat ).
thf(sy_c_Num_Onumeral__class_Onumeral_001t__Nat__Onat,type,
numeral_numeral_nat: num > nat ).
thf(sy_c_Orderings_Obot__class_Obot_001t__Set__Oset_It__Nat__Onat_J,type,
bot_bot_set_nat: set_nat ).
thf(sy_c_Orderings_Oord__class_Oless_001t__Nat__Onat,type,
ord_less_nat: nat > nat > $o ).
thf(sy_c_Orderings_Oord__class_Oless__eq_001_062_It__List__Olist_It__Nat__Onat_J_M_Eo_J,type,
ord_le1520216061033275535_nat_o: ( list_nat > $o ) > ( list_nat > $o ) > $o ).
thf(sy_c_Orderings_Oord__class_Oless__eq_001_062_It__List__Olist_It__SeCaV__Ofm_J_M_Eo_J,type,
ord_le6518561683347902116t_fm_o: ( list_fm > $o ) > ( list_fm > $o ) > $o ).
thf(sy_c_Orderings_Oord__class_Oless__eq_001_062_It__Nat__Onat_M_Eo_J,type,
ord_less_eq_nat_o: ( nat > $o ) > ( nat > $o ) > $o ).
thf(sy_c_Orderings_Oord__class_Oless__eq_001_062_It__SeCaV__Ofm_M_Eo_J,type,
ord_less_eq_fm_o: ( fm > $o ) > ( fm > $o ) > $o ).
thf(sy_c_Orderings_Oord__class_Oless__eq_001_062_Itf__a_M_Eo_J,type,
ord_less_eq_a_o: ( a > $o ) > ( a > $o ) > $o ).
thf(sy_c_Orderings_Oord__class_Oless__eq_001t__Nat__Onat,type,
ord_less_eq_nat: nat > nat > $o ).
thf(sy_c_Orderings_Oord__class_Oless__eq_001t__Set__Oset_It__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__SeCaV__Ofm_J,type,
ord_less_eq_set_fm: set_fm > set_fm > $o ).
thf(sy_c_Orderings_Oord__class_Oless__eq_001t__Set__Oset_It__SeCaV__Otm_J,type,
ord_less_eq_set_tm: set_tm > set_tm > $o ).
thf(sy_c_Orderings_Oord__class_Oless__eq_001t__Set__Oset_Itf__a_J,type,
ord_less_eq_set_a: set_a > set_a > $o ).
thf(sy_c_Orderings_Oord__class_Omax_001t__Nat__Onat,type,
ord_max_nat: nat > nat > nat ).
thf(sy_c_SeCaV_Oext_001t__Nat__Onat,type,
ext_nat: list_nat > list_nat > $o ).
thf(sy_c_SeCaV_Oext_001t__SeCaV__Ofm,type,
ext_fm: list_fm > list_fm > $o ).
thf(sy_c_SeCaV_Oext_001t__SeCaV__Otm,type,
ext_tm: list_tm > list_tm > $o ).
thf(sy_c_SeCaV_Oinc__list,type,
inc_list: list_tm > list_tm ).
thf(sy_c_SeCaV_Oinc__term,type,
inc_term: tm > tm ).
thf(sy_c_SeCaV_Oliftt,type,
liftt: tm > tm ).
thf(sy_c_SeCaV_Oliftts,type,
liftts: list_tm > list_tm ).
thf(sy_c_SeCaV_Omember_001t__Nat__Onat,type,
member_nat: nat > list_nat > $o ).
thf(sy_c_SeCaV_Omember_001t__SeCaV__Ofm,type,
member_fm: fm > list_fm > $o ).
thf(sy_c_SeCaV_Omember_001t__SeCaV__Otm,type,
member_tm: tm > list_tm > $o ).
thf(sy_c_SeCaV_Omember_001tf__a,type,
member_a: a > list_a > $o ).
thf(sy_c_SeCaV_Onew__list,type,
new_list: nat > list_tm > $o ).
thf(sy_c_SeCaV_Onew__term,type,
new_term: nat > tm > $o ).
thf(sy_c_SeCaV_Onews,type,
news: nat > list_fm > $o ).
thf(sy_c_SeCaV_Oparams,type,
params: fm > set_nat ).
thf(sy_c_SeCaV_Oparamst,type,
paramst: tm > set_nat ).
thf(sy_c_SeCaV_Oparamst_H,type,
paramst2: tm > set_nat ).
thf(sy_c_SeCaV_Oparamst_H_H,type,
paramst3: tm > set_nat ).
thf(sy_c_SeCaV_Oparamsts,type,
paramsts: list_tm > set_nat ).
thf(sy_c_SeCaV_Osemantics_001tf__a,type,
semantics_a: ( nat > a ) > ( nat > list_a > a ) > ( nat > list_a > $o ) > fm > $o ).
thf(sy_c_SeCaV_Osemantics__list_001t__Nat__Onat,type,
semantics_list_nat: ( nat > nat ) > ( nat > list_nat > nat ) > list_tm > list_nat ).
thf(sy_c_SeCaV_Osemantics__list_001t__SeCaV__Ofm,type,
semantics_list_fm: ( nat > fm ) > ( nat > list_fm > fm ) > list_tm > list_fm ).
thf(sy_c_SeCaV_Osemantics__list_001t__SeCaV__Otm,type,
semantics_list_tm: ( nat > tm ) > ( nat > list_tm > tm ) > list_tm > list_tm ).
thf(sy_c_SeCaV_Osemantics__list_001tf__a,type,
semantics_list_a: ( nat > a ) > ( nat > list_a > a ) > list_tm > list_a ).
thf(sy_c_SeCaV_Osemantics__term_001t__Nat__Onat,type,
semantics_term_nat: ( nat > nat ) > ( nat > list_nat > nat ) > tm > nat ).
thf(sy_c_SeCaV_Osemantics__term_001t__SeCaV__Ofm,type,
semantics_term_fm: ( nat > fm ) > ( nat > list_fm > fm ) > tm > fm ).
thf(sy_c_SeCaV_Osemantics__term_001t__SeCaV__Otm,type,
semantics_term_tm: ( nat > tm ) > ( nat > list_tm > tm ) > tm > tm ).
thf(sy_c_SeCaV_Osemantics__term_001tf__a,type,
semantics_term_a: ( nat > a ) > ( nat > list_a > a ) > tm > a ).
thf(sy_c_SeCaV_Osub__list,type,
sub_list: nat > tm > list_tm > list_tm ).
thf(sy_c_SeCaV_Osub__term,type,
sub_term: nat > tm > tm > tm ).
thf(sy_c_SeCaV_Osubstt,type,
substt: tm > tm > nat > tm ).
thf(sy_c_SeCaV_Osubstts,type,
substts: list_tm > tm > nat > list_tm ).
thf(sy_c_SeCaV_Otm_OFun,type,
fun: nat > list_tm > tm ).
thf(sy_c_SeCaV_Otm_OVar,type,
var: nat > tm ).
thf(sy_c_SeCaV_Otm_Osize__tm,type,
size_tm: tm > 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__List__Olist_It__SeCaV__Ofm_J,type,
collect_list_fm: ( list_fm > $o ) > set_list_fm ).
thf(sy_c_Set_OCollect_001t__List__Olist_It__SeCaV__Otm_J,type,
collect_list_tm: ( list_tm > $o ) > set_list_tm ).
thf(sy_c_Set_OCollect_001t__List__Olist_Itf__a_J,type,
collect_list_a: ( list_a > $o ) > set_list_a ).
thf(sy_c_Set_OCollect_001t__Nat__Onat,type,
collect_nat: ( nat > $o ) > set_nat ).
thf(sy_c_Set_OCollect_001t__SeCaV__Ofm,type,
collect_fm: ( fm > $o ) > set_fm ).
thf(sy_c_Set_OCollect_001t__SeCaV__Otm,type,
collect_tm: ( tm > $o ) > set_tm ).
thf(sy_c_Set_OCollect_001tf__a,type,
collect_a: ( a > $o ) > set_a ).
thf(sy_c_Set_Ofilter_001t__Nat__Onat,type,
filter_nat2: ( nat > $o ) > set_nat > set_nat ).
thf(sy_c_Set_Ofilter_001t__SeCaV__Ofm,type,
filter_fm2: ( fm > $o ) > set_fm > set_fm ).
thf(sy_c_Set_Ofilter_001tf__a,type,
filter_a2: ( a > $o ) > set_a > set_a ).
thf(sy_c_Set_Othe__elem_001t__Nat__Onat,type,
the_elem_nat: set_nat > nat ).
thf(sy_c_Set_Othe__elem_001t__SeCaV__Ofm,type,
the_elem_fm: set_fm > fm ).
thf(sy_c_Set_Othe__elem_001t__SeCaV__Otm,type,
the_elem_tm: set_tm > tm ).
thf(sy_c_Usemantics_Ois__env_001t__Nat__Onat,type,
is_env_nat: set_nat > ( nat > nat ) > $o ).
thf(sy_c_Usemantics_Ois__env_001t__SeCaV__Ofm,type,
is_env_fm: set_fm > ( nat > fm ) > $o ).
thf(sy_c_Usemantics_Ois__env_001tf__a,type,
is_env_a: set_a > ( nat > a ) > $o ).
thf(sy_c_Usemantics_Ois__fdenot_001t__Nat__Onat,type,
is_fdenot_nat: set_nat > ( nat > list_nat > nat ) > $o ).
thf(sy_c_Usemantics_Ois__fdenot_001t__SeCaV__Ofm,type,
is_fdenot_fm: set_fm > ( nat > list_fm > fm ) > $o ).
thf(sy_c_Usemantics_Ois__fdenot_001tf__a,type,
is_fdenot_a: set_a > ( nat > list_a > a ) > $o ).
thf(sy_c_Usemantics_Ousemantics_001tf__a,type,
usemantics_a: set_a > ( nat > a ) > ( nat > list_a > a ) > ( nat > list_a > $o ) > fm > $o ).
thf(sy_c_Wellfounded_Oaccp_001t__List__Olist_It__List__Olist_It__Nat__Onat_J_J,type,
accp_list_list_nat: ( list_list_nat > list_list_nat > $o ) > list_list_nat > $o ).
thf(sy_c_Wellfounded_Oaccp_001t__List__Olist_It__List__Olist_It__SeCaV__Ofm_J_J,type,
accp_list_list_fm: ( list_list_fm > list_list_fm > $o ) > list_list_fm > $o ).
thf(sy_c_Wellfounded_Oaccp_001t__List__Olist_It__List__Olist_It__SeCaV__Otm_J_J,type,
accp_list_list_tm: ( list_list_tm > list_list_tm > $o ) > list_list_tm > $o ).
thf(sy_c_Wellfounded_Oaccp_001t__List__Olist_It__Nat__Onat_J,type,
accp_list_nat: ( list_nat > list_nat > $o ) > list_nat > $o ).
thf(sy_c_Wellfounded_Oaccp_001t__List__Olist_It__SeCaV__Ofm_J,type,
accp_list_fm: ( list_fm > list_fm > $o ) > list_fm > $o ).
thf(sy_c_Wellfounded_Oaccp_001t__List__Olist_It__SeCaV__Otm_J,type,
accp_list_tm: ( list_tm > list_tm > $o ) > list_tm > $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__SeCaV__Ofm_J,type,
member_list_fm: list_fm > set_list_fm > $o ).
thf(sy_c_member_001t__List__Olist_It__SeCaV__Otm_J,type,
member_list_tm: list_tm > set_list_tm > $o ).
thf(sy_c_member_001t__List__Olist_Itf__a_J,type,
member_list_a: list_a > set_list_a > $o ).
thf(sy_c_member_001t__Nat__Onat,type,
member_nat2: nat > set_nat > $o ).
thf(sy_c_member_001t__SeCaV__Ofm,type,
member_fm2: fm > set_fm > $o ).
thf(sy_c_member_001t__SeCaV__Otm,type,
member_tm2: tm > set_tm > $o ).
thf(sy_c_member_001tf__a,type,
member_a2: a > set_a > $o ).
thf(sy_v_f,type,
f: nat > list_a > a ).
thf(sy_v_i,type,
i: nat ).
thf(sy_v_u,type,
u: set_a ).
thf(sy_v_x,type,
x: a ).
% Relevant facts (1276)
thf(fact_0_fun__upd__upd,axiom,
! [F: nat > list_a > a,X: nat,Y: list_a > a,Z: list_a > a] :
( ( fun_upd_nat_list_a_a @ ( fun_upd_nat_list_a_a @ F @ X @ Y ) @ X @ Z )
= ( fun_upd_nat_list_a_a @ F @ X @ Z ) ) ).
% fun_upd_upd
thf(fact_1_fun__upd__triv,axiom,
! [F: nat > list_a > a,X: nat] :
( ( fun_upd_nat_list_a_a @ F @ X @ ( F @ X ) )
= F ) ).
% fun_upd_triv
thf(fact_2_fun__upd__apply,axiom,
( fun_upd_nat_list_a_a
= ( ^ [F2: nat > list_a > a,X2: nat,Y2: list_a > a,Z2: nat] : ( if_list_a_a @ ( Z2 = X2 ) @ Y2 @ ( F2 @ Z2 ) ) ) ) ).
% fun_upd_apply
thf(fact_3_list_Opred__True,axiom,
( ( list_all_nat
@ ^ [Uu: nat] : $true )
= ( ^ [Uu: list_nat] : $true ) ) ).
% list.pred_True
thf(fact_4_list_Opred__True,axiom,
( ( list_all_a
@ ^ [Uu: a] : $true )
= ( ^ [Uu: list_a] : $true ) ) ).
% list.pred_True
thf(fact_5_list_Opred__True,axiom,
( ( list_all_fm
@ ^ [Uu: fm] : $true )
= ( ^ [Uu: list_fm] : $true ) ) ).
% list.pred_True
thf(fact_6_is__fdenot__def,axiom,
( is_fdenot_nat
= ( ^ [U: set_nat,F2: nat > list_nat > nat] :
! [I: nat,L: list_nat] :
( ( list_all_nat
@ ^ [X2: nat] : ( member_nat2 @ X2 @ U )
@ L )
=> ( member_nat2 @ ( F2 @ I @ L ) @ U ) ) ) ) ).
% is_fdenot_def
thf(fact_7_is__fdenot__def,axiom,
( is_fdenot_a
= ( ^ [U: set_a,F2: nat > list_a > a] :
! [I: nat,L: list_a] :
( ( list_all_a
@ ^ [X2: a] : ( member_a2 @ X2 @ U )
@ L )
=> ( member_a2 @ ( F2 @ I @ L ) @ U ) ) ) ) ).
% is_fdenot_def
thf(fact_8_is__fdenot__def,axiom,
( is_fdenot_fm
= ( ^ [U: set_fm,F2: nat > list_fm > fm] :
! [I: nat,L: list_fm] :
( ( list_all_fm
@ ^ [X2: fm] : ( member_fm2 @ X2 @ U )
@ L )
=> ( member_fm2 @ ( F2 @ I @ L ) @ U ) ) ) ) ).
% is_fdenot_def
thf(fact_9_fun__upd__def,axiom,
( fun_upd_nat_list_a_a
= ( ^ [F2: nat > list_a > a,A: nat,B: list_a > a,X2: nat] : ( if_list_a_a @ ( X2 = A ) @ B @ ( F2 @ X2 ) ) ) ) ).
% fun_upd_def
thf(fact_10_fun__upd__eqD,axiom,
! [F: nat > list_a > a,X: nat,Y: list_a > a,G: nat > list_a > a,Z: list_a > a] :
( ( ( fun_upd_nat_list_a_a @ F @ X @ Y )
= ( fun_upd_nat_list_a_a @ G @ X @ Z ) )
=> ( Y = Z ) ) ).
% fun_upd_eqD
thf(fact_11_fun__upd__idem,axiom,
! [F: nat > list_a > a,X: nat,Y: list_a > a] :
( ( ( F @ X )
= Y )
=> ( ( fun_upd_nat_list_a_a @ F @ X @ Y )
= F ) ) ).
% fun_upd_idem
thf(fact_12_fun__upd__same,axiom,
! [F: nat > list_a > a,X: nat,Y: list_a > a] :
( ( fun_upd_nat_list_a_a @ F @ X @ Y @ X )
= Y ) ).
% fun_upd_same
thf(fact_13_fun__upd__other,axiom,
! [Z: nat,X: nat,F: nat > list_a > a,Y: list_a > a] :
( ( Z != X )
=> ( ( fun_upd_nat_list_a_a @ F @ X @ Y @ Z )
= ( F @ Z ) ) ) ).
% fun_upd_other
thf(fact_14_fun__upd__twist,axiom,
! [A2: nat,C: nat,M: nat > list_a > a,B2: list_a > a,D: list_a > a] :
( ( A2 != C )
=> ( ( fun_upd_nat_list_a_a @ ( fun_upd_nat_list_a_a @ M @ A2 @ B2 ) @ C @ D )
= ( fun_upd_nat_list_a_a @ ( fun_upd_nat_list_a_a @ M @ C @ D ) @ A2 @ B2 ) ) ) ).
% fun_upd_twist
thf(fact_15_fun__upd__idem__iff,axiom,
! [F: nat > list_a > a,X: nat,Y: list_a > a] :
( ( ( fun_upd_nat_list_a_a @ F @ X @ Y )
= F )
= ( ( F @ X )
= Y ) ) ).
% fun_upd_idem_iff
thf(fact_16_usemantics__term_I2_J,axiom,
! [U2: set_fm,E: nat > fm,F: nat > list_fm > fm,Ts: list_tm] :
( ( is_env_fm @ U2 @ E )
=> ( ( is_fdenot_fm @ U2 @ F )
=> ( list_all_fm
@ ^ [X2: fm] : ( member_fm2 @ X2 @ U2 )
@ ( semantics_list_fm @ E @ F @ Ts ) ) ) ) ).
% usemantics_term(2)
thf(fact_17_usemantics__term_I2_J,axiom,
! [U2: set_a,E: nat > a,F: nat > list_a > a,Ts: list_tm] :
( ( is_env_a @ U2 @ E )
=> ( ( is_fdenot_a @ U2 @ F )
=> ( list_all_a
@ ^ [X2: a] : ( member_a2 @ X2 @ U2 )
@ ( semantics_list_a @ E @ F @ Ts ) ) ) ) ).
% usemantics_term(2)
thf(fact_18_usemantics__term_I2_J,axiom,
! [U2: set_nat,E: nat > nat,F: nat > list_nat > nat,Ts: list_tm] :
( ( is_env_nat @ U2 @ E )
=> ( ( is_fdenot_nat @ U2 @ F )
=> ( list_all_nat
@ ^ [X2: nat] : ( member_nat2 @ X2 @ U2 )
@ ( semantics_list_nat @ E @ F @ Ts ) ) ) ) ).
% usemantics_term(2)
thf(fact_19_usemantics__term_I1_J,axiom,
! [U2: set_fm,E: nat > fm,F: nat > list_fm > fm,T: tm] :
( ( is_env_fm @ U2 @ E )
=> ( ( is_fdenot_fm @ U2 @ F )
=> ( member_fm2 @ ( semantics_term_fm @ E @ F @ T ) @ U2 ) ) ) ).
% usemantics_term(1)
thf(fact_20_usemantics__term_I1_J,axiom,
! [U2: set_a,E: nat > a,F: nat > list_a > a,T: tm] :
( ( is_env_a @ U2 @ E )
=> ( ( is_fdenot_a @ U2 @ F )
=> ( member_a2 @ ( semantics_term_a @ E @ F @ T ) @ U2 ) ) ) ).
% usemantics_term(1)
thf(fact_21_usemantics__term_I1_J,axiom,
! [U2: set_nat,E: nat > nat,F: nat > list_nat > nat,T: tm] :
( ( is_env_nat @ U2 @ E )
=> ( ( is_fdenot_nat @ U2 @ F )
=> ( member_nat2 @ ( semantics_term_nat @ E @ F @ T ) @ U2 ) ) ) ).
% usemantics_term(1)
thf(fact_22_list__all__simps_I2_J,axiom,
! [P: tm > $o] : ( list_all_tm @ P @ nil_tm ) ).
% list_all_simps(2)
thf(fact_23_list__all__simps_I2_J,axiom,
! [P: a > $o] : ( list_all_a @ P @ nil_a ) ).
% list_all_simps(2)
thf(fact_24_list__all__simps_I2_J,axiom,
! [P: fm > $o] : ( list_all_fm @ P @ nil_fm ) ).
% list_all_simps(2)
thf(fact_25_list__all__simps_I2_J,axiom,
! [P: nat > $o] : ( list_all_nat @ P @ nil_nat ) ).
% list_all_simps(2)
thf(fact_26_list_Opred__inject_I2_J,axiom,
! [P: tm > $o,A2: tm,Aa: list_tm] :
( ( list_all_tm @ P @ ( cons_tm @ A2 @ Aa ) )
= ( ( P @ A2 )
& ( list_all_tm @ P @ Aa ) ) ) ).
% list.pred_inject(2)
thf(fact_27_list_Opred__inject_I2_J,axiom,
! [P: a > $o,A2: a,Aa: list_a] :
( ( list_all_a @ P @ ( cons_a @ A2 @ Aa ) )
= ( ( P @ A2 )
& ( list_all_a @ P @ Aa ) ) ) ).
% list.pred_inject(2)
thf(fact_28_list_Opred__inject_I2_J,axiom,
! [P: fm > $o,A2: fm,Aa: list_fm] :
( ( list_all_fm @ P @ ( cons_fm @ A2 @ Aa ) )
= ( ( P @ A2 )
& ( list_all_fm @ P @ Aa ) ) ) ).
% list.pred_inject(2)
thf(fact_29_list_Opred__inject_I2_J,axiom,
! [P: nat > $o,A2: nat,Aa: list_nat] :
( ( list_all_nat @ P @ ( cons_nat @ A2 @ Aa ) )
= ( ( P @ A2 )
& ( list_all_nat @ P @ Aa ) ) ) ).
% list.pred_inject(2)
thf(fact_30_list__all__simps_I1_J,axiom,
! [P: tm > $o,X: tm,Xs: list_tm] :
( ( list_all_tm @ P @ ( cons_tm @ X @ Xs ) )
= ( ( P @ X )
& ( list_all_tm @ P @ Xs ) ) ) ).
% list_all_simps(1)
thf(fact_31_list__all__simps_I1_J,axiom,
! [P: a > $o,X: a,Xs: list_a] :
( ( list_all_a @ P @ ( cons_a @ X @ Xs ) )
= ( ( P @ X )
& ( list_all_a @ P @ Xs ) ) ) ).
% list_all_simps(1)
thf(fact_32_list__all__simps_I1_J,axiom,
! [P: fm > $o,X: fm,Xs: list_fm] :
( ( list_all_fm @ P @ ( cons_fm @ X @ Xs ) )
= ( ( P @ X )
& ( list_all_fm @ P @ Xs ) ) ) ).
% list_all_simps(1)
thf(fact_33_list__all__simps_I1_J,axiom,
! [P: nat > $o,X: nat,Xs: list_nat] :
( ( list_all_nat @ P @ ( cons_nat @ X @ Xs ) )
= ( ( P @ X )
& ( list_all_nat @ P @ Xs ) ) ) ).
% list_all_simps(1)
thf(fact_34_list__all__append,axiom,
! [P: a > $o,Xs: list_a,Ys: list_a] :
( ( list_all_a @ P @ ( append_a @ Xs @ Ys ) )
= ( ( list_all_a @ P @ Xs )
& ( list_all_a @ P @ Ys ) ) ) ).
% list_all_append
thf(fact_35_list__all__append,axiom,
! [P: fm > $o,Xs: list_fm,Ys: list_fm] :
( ( list_all_fm @ P @ ( append_fm @ Xs @ Ys ) )
= ( ( list_all_fm @ P @ Xs )
& ( list_all_fm @ P @ Ys ) ) ) ).
% list_all_append
thf(fact_36_list__all__append,axiom,
! [P: nat > $o,Xs: list_nat,Ys: list_nat] :
( ( list_all_nat @ P @ ( append_nat @ Xs @ Ys ) )
= ( ( list_all_nat @ P @ Xs )
& ( list_all_nat @ P @ Ys ) ) ) ).
% list_all_append
thf(fact_37_list_Omap__cong__pred,axiom,
! [X: list_nat,Ya: list_nat,F: nat > nat,G: nat > nat] :
( ( X = Ya )
=> ( ( list_all_nat
@ ^ [Z2: nat] :
( ( F @ Z2 )
= ( G @ Z2 ) )
@ Ya )
=> ( ( map_nat_nat @ F @ X )
= ( map_nat_nat @ G @ Ya ) ) ) ) ).
% list.map_cong_pred
thf(fact_38_list__all__rev,axiom,
! [P: a > $o,Xs: list_a] :
( ( list_all_a @ P @ ( rev_a @ Xs ) )
= ( list_all_a @ P @ Xs ) ) ).
% list_all_rev
thf(fact_39_list__all__rev,axiom,
! [P: fm > $o,Xs: list_fm] :
( ( list_all_fm @ P @ ( rev_fm @ Xs ) )
= ( list_all_fm @ P @ Xs ) ) ).
% list_all_rev
thf(fact_40_list__all__rev,axiom,
! [P: nat > $o,Xs: list_nat] :
( ( list_all_nat @ P @ ( rev_nat @ Xs ) )
= ( list_all_nat @ P @ Xs ) ) ).
% list_all_rev
thf(fact_41_list_Opred__inject_I1_J,axiom,
! [P: tm > $o] : ( list_all_tm @ P @ nil_tm ) ).
% list.pred_inject(1)
thf(fact_42_list_Opred__inject_I1_J,axiom,
! [P: a > $o] : ( list_all_a @ P @ nil_a ) ).
% list.pred_inject(1)
thf(fact_43_list_Opred__inject_I1_J,axiom,
! [P: fm > $o] : ( list_all_fm @ P @ nil_fm ) ).
% list.pred_inject(1)
thf(fact_44_list_Opred__inject_I1_J,axiom,
! [P: nat > $o] : ( list_all_nat @ P @ nil_nat ) ).
% list.pred_inject(1)
thf(fact_45_uupd__lemma,axiom,
! [N: nat,P2: fm,U2: set_a,E: nat > a,F: nat > list_a > a,X: list_a > a,G: nat > list_a > $o] :
( ~ ( member_nat2 @ N @ ( params @ P2 ) )
=> ( ( usemantics_a @ U2 @ E @ ( fun_upd_nat_list_a_a @ F @ N @ X ) @ G @ P2 )
= ( usemantics_a @ U2 @ E @ F @ G @ P2 ) ) ) ).
% uupd_lemma
thf(fact_46_list__all__cong,axiom,
! [X: list_a,Ya: list_a,P: a > $o,Pa: a > $o] :
( ( X = Ya )
=> ( ! [Z3: a] :
( ( member_a2 @ Z3 @ ( set_a2 @ Ya ) )
=> ( ( P @ Z3 )
= ( Pa @ Z3 ) ) )
=> ( ( list_all_a @ P @ X )
= ( list_all_a @ Pa @ Ya ) ) ) ) ).
% list_all_cong
thf(fact_47_list__all__cong,axiom,
! [X: list_fm,Ya: list_fm,P: fm > $o,Pa: fm > $o] :
( ( X = Ya )
=> ( ! [Z3: fm] :
( ( member_fm2 @ Z3 @ ( set_fm2 @ Ya ) )
=> ( ( P @ Z3 )
= ( Pa @ Z3 ) ) )
=> ( ( list_all_fm @ P @ X )
= ( list_all_fm @ Pa @ Ya ) ) ) ) ).
% list_all_cong
thf(fact_48_list__all__cong,axiom,
! [X: list_nat,Ya: list_nat,P: nat > $o,Pa: nat > $o] :
( ( X = Ya )
=> ( ! [Z3: nat] :
( ( member_nat2 @ Z3 @ ( set_nat2 @ Ya ) )
=> ( ( P @ Z3 )
= ( Pa @ Z3 ) ) )
=> ( ( list_all_nat @ P @ X )
= ( list_all_nat @ Pa @ Ya ) ) ) ) ).
% list_all_cong
thf(fact_49_list_Opred__mono__strong,axiom,
! [P: a > $o,X: list_a,Pa: a > $o] :
( ( list_all_a @ P @ X )
=> ( ! [Z3: a] :
( ( member_a2 @ Z3 @ ( set_a2 @ X ) )
=> ( ( P @ Z3 )
=> ( Pa @ Z3 ) ) )
=> ( list_all_a @ Pa @ X ) ) ) ).
% list.pred_mono_strong
thf(fact_50_list_Opred__mono__strong,axiom,
! [P: fm > $o,X: list_fm,Pa: fm > $o] :
( ( list_all_fm @ P @ X )
=> ( ! [Z3: fm] :
( ( member_fm2 @ Z3 @ ( set_fm2 @ X ) )
=> ( ( P @ Z3 )
=> ( Pa @ Z3 ) ) )
=> ( list_all_fm @ Pa @ X ) ) ) ).
% list.pred_mono_strong
thf(fact_51_list_Opred__mono__strong,axiom,
! [P: nat > $o,X: list_nat,Pa: nat > $o] :
( ( list_all_nat @ P @ X )
=> ( ! [Z3: nat] :
( ( member_nat2 @ Z3 @ ( set_nat2 @ X ) )
=> ( ( P @ Z3 )
=> ( Pa @ Z3 ) ) )
=> ( list_all_nat @ Pa @ X ) ) ) ).
% list.pred_mono_strong
thf(fact_52_list_Oinject,axiom,
! [X21: tm,X22: list_tm,Y21: tm,Y22: list_tm] :
( ( ( cons_tm @ X21 @ X22 )
= ( cons_tm @ Y21 @ Y22 ) )
= ( ( X21 = Y21 )
& ( X22 = Y22 ) ) ) ).
% list.inject
thf(fact_53_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_54_append_Oassoc,axiom,
! [A2: list_nat,B2: list_nat,C: list_nat] :
( ( append_nat @ ( append_nat @ A2 @ B2 ) @ C )
= ( append_nat @ A2 @ ( append_nat @ B2 @ C ) ) ) ).
% append.assoc
thf(fact_55_append__assoc,axiom,
! [Xs: list_nat,Ys: list_nat,Zs: list_nat] :
( ( append_nat @ ( append_nat @ Xs @ Ys ) @ Zs )
= ( append_nat @ Xs @ ( append_nat @ Ys @ Zs ) ) ) ).
% append_assoc
thf(fact_56_append__same__eq,axiom,
! [Ys: list_nat,Xs: list_nat,Zs: list_nat] :
( ( ( append_nat @ Ys @ Xs )
= ( append_nat @ Zs @ Xs ) )
= ( Ys = Zs ) ) ).
% append_same_eq
thf(fact_57_same__append__eq,axiom,
! [Xs: list_nat,Ys: list_nat,Zs: list_nat] :
( ( ( append_nat @ Xs @ Ys )
= ( append_nat @ Xs @ Zs ) )
= ( Ys = Zs ) ) ).
% same_append_eq
thf(fact_58_map__ident,axiom,
( ( map_nat_nat
@ ^ [X2: nat] : X2 )
= ( ^ [Xs2: list_nat] : Xs2 ) ) ).
% map_ident
thf(fact_59_list_Omap__disc__iff,axiom,
! [F: fm > fm,A2: list_fm] :
( ( ( map_fm_fm @ F @ A2 )
= nil_fm )
= ( A2 = nil_fm ) ) ).
% list.map_disc_iff
thf(fact_60_list_Omap__disc__iff,axiom,
! [F: tm > fm,A2: list_tm] :
( ( ( map_tm_fm @ F @ A2 )
= nil_fm )
= ( A2 = nil_tm ) ) ).
% list.map_disc_iff
thf(fact_61_list_Omap__disc__iff,axiom,
! [F: nat > fm,A2: list_nat] :
( ( ( map_nat_fm @ F @ A2 )
= nil_fm )
= ( A2 = nil_nat ) ) ).
% list.map_disc_iff
thf(fact_62_list_Omap__disc__iff,axiom,
! [F: fm > tm,A2: list_fm] :
( ( ( map_fm_tm @ F @ A2 )
= nil_tm )
= ( A2 = nil_fm ) ) ).
% list.map_disc_iff
thf(fact_63_list_Omap__disc__iff,axiom,
! [F: tm > tm,A2: list_tm] :
( ( ( map_tm_tm @ F @ A2 )
= nil_tm )
= ( A2 = nil_tm ) ) ).
% list.map_disc_iff
thf(fact_64_list_Omap__disc__iff,axiom,
! [F: nat > tm,A2: list_nat] :
( ( ( map_nat_tm @ F @ A2 )
= nil_tm )
= ( A2 = nil_nat ) ) ).
% list.map_disc_iff
thf(fact_65_list_Omap__disc__iff,axiom,
! [F: fm > nat,A2: list_fm] :
( ( ( map_fm_nat @ F @ A2 )
= nil_nat )
= ( A2 = nil_fm ) ) ).
% list.map_disc_iff
thf(fact_66_list_Omap__disc__iff,axiom,
! [F: tm > nat,A2: list_tm] :
( ( ( map_tm_nat @ F @ A2 )
= nil_nat )
= ( A2 = nil_tm ) ) ).
% list.map_disc_iff
thf(fact_67_list_Omap__disc__iff,axiom,
! [F: nat > nat,A2: list_nat] :
( ( ( map_nat_nat @ F @ A2 )
= nil_nat )
= ( A2 = nil_nat ) ) ).
% list.map_disc_iff
thf(fact_68_Nil__is__map__conv,axiom,
! [F: fm > fm,Xs: list_fm] :
( ( nil_fm
= ( map_fm_fm @ F @ Xs ) )
= ( Xs = nil_fm ) ) ).
% Nil_is_map_conv
thf(fact_69_Nil__is__map__conv,axiom,
! [F: tm > fm,Xs: list_tm] :
( ( nil_fm
= ( map_tm_fm @ F @ Xs ) )
= ( Xs = nil_tm ) ) ).
% Nil_is_map_conv
thf(fact_70_Nil__is__map__conv,axiom,
! [F: nat > fm,Xs: list_nat] :
( ( nil_fm
= ( map_nat_fm @ F @ Xs ) )
= ( Xs = nil_nat ) ) ).
% Nil_is_map_conv
thf(fact_71_Nil__is__map__conv,axiom,
! [F: fm > tm,Xs: list_fm] :
( ( nil_tm
= ( map_fm_tm @ F @ Xs ) )
= ( Xs = nil_fm ) ) ).
% Nil_is_map_conv
thf(fact_72_Nil__is__map__conv,axiom,
! [F: tm > tm,Xs: list_tm] :
( ( nil_tm
= ( map_tm_tm @ F @ Xs ) )
= ( Xs = nil_tm ) ) ).
% Nil_is_map_conv
thf(fact_73_Nil__is__map__conv,axiom,
! [F: nat > tm,Xs: list_nat] :
( ( nil_tm
= ( map_nat_tm @ F @ Xs ) )
= ( Xs = nil_nat ) ) ).
% Nil_is_map_conv
thf(fact_74_Nil__is__map__conv,axiom,
! [F: fm > nat,Xs: list_fm] :
( ( nil_nat
= ( map_fm_nat @ F @ Xs ) )
= ( Xs = nil_fm ) ) ).
% Nil_is_map_conv
thf(fact_75_Nil__is__map__conv,axiom,
! [F: tm > nat,Xs: list_tm] :
( ( nil_nat
= ( map_tm_nat @ F @ Xs ) )
= ( Xs = nil_tm ) ) ).
% Nil_is_map_conv
thf(fact_76_Nil__is__map__conv,axiom,
! [F: nat > nat,Xs: list_nat] :
( ( nil_nat
= ( map_nat_nat @ F @ Xs ) )
= ( Xs = nil_nat ) ) ).
% Nil_is_map_conv
thf(fact_77_map__is__Nil__conv,axiom,
! [F: fm > fm,Xs: list_fm] :
( ( ( map_fm_fm @ F @ Xs )
= nil_fm )
= ( Xs = nil_fm ) ) ).
% map_is_Nil_conv
thf(fact_78_map__is__Nil__conv,axiom,
! [F: tm > fm,Xs: list_tm] :
( ( ( map_tm_fm @ F @ Xs )
= nil_fm )
= ( Xs = nil_tm ) ) ).
% map_is_Nil_conv
thf(fact_79_map__is__Nil__conv,axiom,
! [F: nat > fm,Xs: list_nat] :
( ( ( map_nat_fm @ F @ Xs )
= nil_fm )
= ( Xs = nil_nat ) ) ).
% map_is_Nil_conv
thf(fact_80_map__is__Nil__conv,axiom,
! [F: fm > tm,Xs: list_fm] :
( ( ( map_fm_tm @ F @ Xs )
= nil_tm )
= ( Xs = nil_fm ) ) ).
% map_is_Nil_conv
thf(fact_81_map__is__Nil__conv,axiom,
! [F: tm > tm,Xs: list_tm] :
( ( ( map_tm_tm @ F @ Xs )
= nil_tm )
= ( Xs = nil_tm ) ) ).
% map_is_Nil_conv
thf(fact_82_map__is__Nil__conv,axiom,
! [F: nat > tm,Xs: list_nat] :
( ( ( map_nat_tm @ F @ Xs )
= nil_tm )
= ( Xs = nil_nat ) ) ).
% map_is_Nil_conv
thf(fact_83_map__is__Nil__conv,axiom,
! [F: fm > nat,Xs: list_fm] :
( ( ( map_fm_nat @ F @ Xs )
= nil_nat )
= ( Xs = nil_fm ) ) ).
% map_is_Nil_conv
thf(fact_84_map__is__Nil__conv,axiom,
! [F: tm > nat,Xs: list_tm] :
( ( ( map_tm_nat @ F @ Xs )
= nil_nat )
= ( Xs = nil_tm ) ) ).
% map_is_Nil_conv
thf(fact_85_map__is__Nil__conv,axiom,
! [F: nat > nat,Xs: list_nat] :
( ( ( map_nat_nat @ F @ Xs )
= nil_nat )
= ( Xs = nil_nat ) ) ).
% map_is_Nil_conv
thf(fact_86_map__eq__conv,axiom,
! [F: nat > nat,Xs: list_nat,G: nat > nat] :
( ( ( map_nat_nat @ F @ Xs )
= ( map_nat_nat @ G @ Xs ) )
= ( ! [X2: nat] :
( ( member_nat2 @ X2 @ ( set_nat2 @ Xs ) )
=> ( ( F @ X2 )
= ( G @ X2 ) ) ) ) ) ).
% map_eq_conv
thf(fact_87_append_Oright__neutral,axiom,
! [A2: list_fm] :
( ( append_fm @ A2 @ nil_fm )
= A2 ) ).
% append.right_neutral
thf(fact_88_append_Oright__neutral,axiom,
! [A2: list_tm] :
( ( append_tm @ A2 @ nil_tm )
= A2 ) ).
% append.right_neutral
thf(fact_89_append_Oright__neutral,axiom,
! [A2: list_nat] :
( ( append_nat @ A2 @ nil_nat )
= A2 ) ).
% append.right_neutral
thf(fact_90_append__Nil2,axiom,
! [Xs: list_fm] :
( ( append_fm @ Xs @ nil_fm )
= Xs ) ).
% append_Nil2
thf(fact_91_append__Nil2,axiom,
! [Xs: list_tm] :
( ( append_tm @ Xs @ nil_tm )
= Xs ) ).
% append_Nil2
thf(fact_92_append__Nil2,axiom,
! [Xs: list_nat] :
( ( append_nat @ Xs @ nil_nat )
= Xs ) ).
% append_Nil2
thf(fact_93_append__self__conv,axiom,
! [Xs: list_fm,Ys: list_fm] :
( ( ( append_fm @ Xs @ Ys )
= Xs )
= ( Ys = nil_fm ) ) ).
% append_self_conv
thf(fact_94_append__self__conv,axiom,
! [Xs: list_tm,Ys: list_tm] :
( ( ( append_tm @ Xs @ Ys )
= Xs )
= ( Ys = nil_tm ) ) ).
% append_self_conv
thf(fact_95_append__self__conv,axiom,
! [Xs: list_nat,Ys: list_nat] :
( ( ( append_nat @ Xs @ Ys )
= Xs )
= ( Ys = nil_nat ) ) ).
% append_self_conv
thf(fact_96_self__append__conv,axiom,
! [Y: list_fm,Ys: list_fm] :
( ( Y
= ( append_fm @ Y @ Ys ) )
= ( Ys = nil_fm ) ) ).
% self_append_conv
thf(fact_97_self__append__conv,axiom,
! [Y: list_tm,Ys: list_tm] :
( ( Y
= ( append_tm @ Y @ Ys ) )
= ( Ys = nil_tm ) ) ).
% self_append_conv
thf(fact_98_self__append__conv,axiom,
! [Y: list_nat,Ys: list_nat] :
( ( Y
= ( append_nat @ Y @ Ys ) )
= ( Ys = nil_nat ) ) ).
% self_append_conv
thf(fact_99_append__self__conv2,axiom,
! [Xs: list_fm,Ys: list_fm] :
( ( ( append_fm @ Xs @ Ys )
= Ys )
= ( Xs = nil_fm ) ) ).
% append_self_conv2
thf(fact_100_append__self__conv2,axiom,
! [Xs: list_tm,Ys: list_tm] :
( ( ( append_tm @ Xs @ Ys )
= Ys )
= ( Xs = nil_tm ) ) ).
% append_self_conv2
thf(fact_101_append__self__conv2,axiom,
! [Xs: list_nat,Ys: list_nat] :
( ( ( append_nat @ Xs @ Ys )
= Ys )
= ( Xs = nil_nat ) ) ).
% append_self_conv2
thf(fact_102_self__append__conv2,axiom,
! [Y: list_fm,Xs: list_fm] :
( ( Y
= ( append_fm @ Xs @ Y ) )
= ( Xs = nil_fm ) ) ).
% self_append_conv2
thf(fact_103_self__append__conv2,axiom,
! [Y: list_tm,Xs: list_tm] :
( ( Y
= ( append_tm @ Xs @ Y ) )
= ( Xs = nil_tm ) ) ).
% self_append_conv2
thf(fact_104_self__append__conv2,axiom,
! [Y: list_nat,Xs: list_nat] :
( ( Y
= ( append_nat @ Xs @ Y ) )
= ( Xs = nil_nat ) ) ).
% self_append_conv2
thf(fact_105_Nil__is__append__conv,axiom,
! [Xs: list_fm,Ys: list_fm] :
( ( nil_fm
= ( append_fm @ Xs @ Ys ) )
= ( ( Xs = nil_fm )
& ( Ys = nil_fm ) ) ) ).
% Nil_is_append_conv
thf(fact_106_Nil__is__append__conv,axiom,
! [Xs: list_tm,Ys: list_tm] :
( ( nil_tm
= ( append_tm @ Xs @ Ys ) )
= ( ( Xs = nil_tm )
& ( Ys = nil_tm ) ) ) ).
% Nil_is_append_conv
thf(fact_107_Nil__is__append__conv,axiom,
! [Xs: list_nat,Ys: list_nat] :
( ( nil_nat
= ( append_nat @ Xs @ Ys ) )
= ( ( Xs = nil_nat )
& ( Ys = nil_nat ) ) ) ).
% Nil_is_append_conv
thf(fact_108_append__is__Nil__conv,axiom,
! [Xs: list_fm,Ys: list_fm] :
( ( ( append_fm @ Xs @ Ys )
= nil_fm )
= ( ( Xs = nil_fm )
& ( Ys = nil_fm ) ) ) ).
% append_is_Nil_conv
thf(fact_109_append__is__Nil__conv,axiom,
! [Xs: list_tm,Ys: list_tm] :
( ( ( append_tm @ Xs @ Ys )
= nil_tm )
= ( ( Xs = nil_tm )
& ( Ys = nil_tm ) ) ) ).
% append_is_Nil_conv
thf(fact_110_append__is__Nil__conv,axiom,
! [Xs: list_nat,Ys: list_nat] :
( ( ( append_nat @ Xs @ Ys )
= nil_nat )
= ( ( Xs = nil_nat )
& ( Ys = nil_nat ) ) ) ).
% append_is_Nil_conv
thf(fact_111_map__append,axiom,
! [F: nat > nat,Xs: list_nat,Ys: list_nat] :
( ( map_nat_nat @ F @ ( append_nat @ Xs @ Ys ) )
= ( append_nat @ ( map_nat_nat @ F @ Xs ) @ ( map_nat_nat @ F @ Ys ) ) ) ).
% map_append
thf(fact_112_mem__Collect__eq,axiom,
! [A2: a,P: a > $o] :
( ( member_a2 @ A2 @ ( collect_a @ P ) )
= ( P @ A2 ) ) ).
% mem_Collect_eq
thf(fact_113_mem__Collect__eq,axiom,
! [A2: fm,P: fm > $o] :
( ( member_fm2 @ A2 @ ( collect_fm @ P ) )
= ( P @ A2 ) ) ).
% mem_Collect_eq
thf(fact_114_mem__Collect__eq,axiom,
! [A2: nat,P: nat > $o] :
( ( member_nat2 @ A2 @ ( collect_nat @ P ) )
= ( P @ A2 ) ) ).
% mem_Collect_eq
thf(fact_115_Collect__mem__eq,axiom,
! [A3: set_a] :
( ( collect_a
@ ^ [X2: a] : ( member_a2 @ X2 @ A3 ) )
= A3 ) ).
% Collect_mem_eq
thf(fact_116_Collect__mem__eq,axiom,
! [A3: set_fm] :
( ( collect_fm
@ ^ [X2: fm] : ( member_fm2 @ X2 @ A3 ) )
= A3 ) ).
% Collect_mem_eq
thf(fact_117_Collect__mem__eq,axiom,
! [A3: set_nat] :
( ( collect_nat
@ ^ [X2: nat] : ( member_nat2 @ X2 @ A3 ) )
= A3 ) ).
% Collect_mem_eq
thf(fact_118_Collect__cong,axiom,
! [P: nat > $o,Q: nat > $o] :
( ! [X3: nat] :
( ( P @ X3 )
= ( Q @ X3 ) )
=> ( ( collect_nat @ P )
= ( collect_nat @ Q ) ) ) ).
% Collect_cong
thf(fact_119_Nil__is__rev__conv,axiom,
! [Xs: list_fm] :
( ( nil_fm
= ( rev_fm @ Xs ) )
= ( Xs = nil_fm ) ) ).
% Nil_is_rev_conv
thf(fact_120_Nil__is__rev__conv,axiom,
! [Xs: list_tm] :
( ( nil_tm
= ( rev_tm @ Xs ) )
= ( Xs = nil_tm ) ) ).
% Nil_is_rev_conv
thf(fact_121_Nil__is__rev__conv,axiom,
! [Xs: list_nat] :
( ( nil_nat
= ( rev_nat @ Xs ) )
= ( Xs = nil_nat ) ) ).
% Nil_is_rev_conv
thf(fact_122_rev__is__Nil__conv,axiom,
! [Xs: list_fm] :
( ( ( rev_fm @ Xs )
= nil_fm )
= ( Xs = nil_fm ) ) ).
% rev_is_Nil_conv
thf(fact_123_rev__is__Nil__conv,axiom,
! [Xs: list_tm] :
( ( ( rev_tm @ Xs )
= nil_tm )
= ( Xs = nil_tm ) ) ).
% rev_is_Nil_conv
thf(fact_124_rev__is__Nil__conv,axiom,
! [Xs: list_nat] :
( ( ( rev_nat @ Xs )
= nil_nat )
= ( Xs = nil_nat ) ) ).
% rev_is_Nil_conv
thf(fact_125_rev__append,axiom,
! [Xs: list_nat,Ys: list_nat] :
( ( rev_nat @ ( append_nat @ Xs @ Ys ) )
= ( append_nat @ ( rev_nat @ Ys ) @ ( rev_nat @ Xs ) ) ) ).
% rev_append
thf(fact_126_append1__eq__conv,axiom,
! [Xs: list_fm,X: fm,Ys: list_fm,Y: fm] :
( ( ( append_fm @ Xs @ ( cons_fm @ X @ nil_fm ) )
= ( append_fm @ Ys @ ( cons_fm @ Y @ nil_fm ) ) )
= ( ( Xs = Ys )
& ( X = Y ) ) ) ).
% append1_eq_conv
thf(fact_127_append1__eq__conv,axiom,
! [Xs: list_tm,X: tm,Ys: list_tm,Y: tm] :
( ( ( append_tm @ Xs @ ( cons_tm @ X @ nil_tm ) )
= ( append_tm @ Ys @ ( cons_tm @ Y @ nil_tm ) ) )
= ( ( Xs = Ys )
& ( X = Y ) ) ) ).
% append1_eq_conv
thf(fact_128_append1__eq__conv,axiom,
! [Xs: list_nat,X: nat,Ys: list_nat,Y: nat] :
( ( ( append_nat @ Xs @ ( cons_nat @ X @ nil_nat ) )
= ( append_nat @ Ys @ ( cons_nat @ Y @ nil_nat ) ) )
= ( ( Xs = Ys )
& ( X = Y ) ) ) ).
% append1_eq_conv
thf(fact_129_rev__singleton__conv,axiom,
! [Xs: list_fm,X: fm] :
( ( ( rev_fm @ Xs )
= ( cons_fm @ X @ nil_fm ) )
= ( Xs
= ( cons_fm @ X @ nil_fm ) ) ) ).
% rev_singleton_conv
thf(fact_130_rev__singleton__conv,axiom,
! [Xs: list_tm,X: tm] :
( ( ( rev_tm @ Xs )
= ( cons_tm @ X @ nil_tm ) )
= ( Xs
= ( cons_tm @ X @ nil_tm ) ) ) ).
% rev_singleton_conv
thf(fact_131_rev__singleton__conv,axiom,
! [Xs: list_nat,X: nat] :
( ( ( rev_nat @ Xs )
= ( cons_nat @ X @ nil_nat ) )
= ( Xs
= ( cons_nat @ X @ nil_nat ) ) ) ).
% rev_singleton_conv
thf(fact_132_singleton__rev__conv,axiom,
! [X: fm,Xs: list_fm] :
( ( ( cons_fm @ X @ nil_fm )
= ( rev_fm @ Xs ) )
= ( ( cons_fm @ X @ nil_fm )
= Xs ) ) ).
% singleton_rev_conv
thf(fact_133_singleton__rev__conv,axiom,
! [X: tm,Xs: list_tm] :
( ( ( cons_tm @ X @ nil_tm )
= ( rev_tm @ Xs ) )
= ( ( cons_tm @ X @ nil_tm )
= Xs ) ) ).
% singleton_rev_conv
thf(fact_134_singleton__rev__conv,axiom,
! [X: nat,Xs: list_nat] :
( ( ( cons_nat @ X @ nil_nat )
= ( rev_nat @ Xs ) )
= ( ( cons_nat @ X @ nil_nat )
= Xs ) ) ).
% singleton_rev_conv
thf(fact_135_map__fun__upd,axiom,
! [Y: nat,Xs: list_nat,F: nat > list_a > a,V: list_a > a] :
( ~ ( member_nat2 @ Y @ ( set_nat2 @ Xs ) )
=> ( ( map_nat_list_a_a @ ( fun_upd_nat_list_a_a @ F @ Y @ V ) @ Xs )
= ( map_nat_list_a_a @ F @ Xs ) ) ) ).
% map_fun_upd
thf(fact_136_map__fun__upd,axiom,
! [Y: nat,Xs: list_nat,F: nat > nat,V: nat] :
( ~ ( member_nat2 @ Y @ ( set_nat2 @ Xs ) )
=> ( ( map_nat_nat @ ( fun_upd_nat_nat @ F @ Y @ V ) @ Xs )
= ( map_nat_nat @ F @ Xs ) ) ) ).
% map_fun_upd
thf(fact_137_rev__eq__Cons__iff,axiom,
! [Xs: list_fm,Y: fm,Ys: list_fm] :
( ( ( rev_fm @ Xs )
= ( cons_fm @ Y @ Ys ) )
= ( Xs
= ( append_fm @ ( rev_fm @ Ys ) @ ( cons_fm @ Y @ nil_fm ) ) ) ) ).
% rev_eq_Cons_iff
thf(fact_138_rev__eq__Cons__iff,axiom,
! [Xs: list_tm,Y: tm,Ys: list_tm] :
( ( ( rev_tm @ Xs )
= ( cons_tm @ Y @ Ys ) )
= ( Xs
= ( append_tm @ ( rev_tm @ Ys ) @ ( cons_tm @ Y @ nil_tm ) ) ) ) ).
% rev_eq_Cons_iff
thf(fact_139_rev__eq__Cons__iff,axiom,
! [Xs: list_nat,Y: nat,Ys: list_nat] :
( ( ( rev_nat @ Xs )
= ( cons_nat @ Y @ Ys ) )
= ( Xs
= ( append_nat @ ( rev_nat @ Ys ) @ ( cons_nat @ Y @ nil_nat ) ) ) ) ).
% rev_eq_Cons_iff
thf(fact_140_rev_Osimps_I2_J,axiom,
! [X: fm,Xs: list_fm] :
( ( rev_fm @ ( cons_fm @ X @ Xs ) )
= ( append_fm @ ( rev_fm @ Xs ) @ ( cons_fm @ X @ nil_fm ) ) ) ).
% rev.simps(2)
thf(fact_141_rev_Osimps_I2_J,axiom,
! [X: tm,Xs: list_tm] :
( ( rev_tm @ ( cons_tm @ X @ Xs ) )
= ( append_tm @ ( rev_tm @ Xs ) @ ( cons_tm @ X @ nil_tm ) ) ) ).
% rev.simps(2)
thf(fact_142_rev_Osimps_I2_J,axiom,
! [X: nat,Xs: list_nat] :
( ( rev_nat @ ( cons_nat @ X @ Xs ) )
= ( append_nat @ ( rev_nat @ Xs ) @ ( cons_nat @ X @ nil_nat ) ) ) ).
% rev.simps(2)
thf(fact_143_rev_Osimps_I1_J,axiom,
( ( rev_fm @ nil_fm )
= nil_fm ) ).
% rev.simps(1)
thf(fact_144_rev_Osimps_I1_J,axiom,
( ( rev_tm @ nil_tm )
= nil_tm ) ).
% rev.simps(1)
thf(fact_145_rev_Osimps_I1_J,axiom,
( ( rev_nat @ nil_nat )
= nil_nat ) ).
% rev.simps(1)
thf(fact_146_list_Osimps_I9_J,axiom,
! [F: tm > tm,X21: tm,X22: list_tm] :
( ( map_tm_tm @ F @ ( cons_tm @ X21 @ X22 ) )
= ( cons_tm @ ( F @ X21 ) @ ( map_tm_tm @ F @ X22 ) ) ) ).
% list.simps(9)
thf(fact_147_list_Osimps_I9_J,axiom,
! [F: tm > nat,X21: tm,X22: list_tm] :
( ( map_tm_nat @ F @ ( cons_tm @ X21 @ X22 ) )
= ( cons_nat @ ( F @ X21 ) @ ( map_tm_nat @ F @ X22 ) ) ) ).
% list.simps(9)
thf(fact_148_list_Osimps_I9_J,axiom,
! [F: nat > tm,X21: nat,X22: list_nat] :
( ( map_nat_tm @ F @ ( cons_nat @ X21 @ X22 ) )
= ( cons_tm @ ( F @ X21 ) @ ( map_nat_tm @ F @ X22 ) ) ) ).
% list.simps(9)
thf(fact_149_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_150_list_Osimps_I8_J,axiom,
! [F: fm > fm] :
( ( map_fm_fm @ F @ nil_fm )
= nil_fm ) ).
% list.simps(8)
thf(fact_151_list_Osimps_I8_J,axiom,
! [F: fm > tm] :
( ( map_fm_tm @ F @ nil_fm )
= nil_tm ) ).
% list.simps(8)
thf(fact_152_list_Osimps_I8_J,axiom,
! [F: fm > nat] :
( ( map_fm_nat @ F @ nil_fm )
= nil_nat ) ).
% list.simps(8)
thf(fact_153_list_Osimps_I8_J,axiom,
! [F: tm > fm] :
( ( map_tm_fm @ F @ nil_tm )
= nil_fm ) ).
% list.simps(8)
thf(fact_154_list_Osimps_I8_J,axiom,
! [F: tm > tm] :
( ( map_tm_tm @ F @ nil_tm )
= nil_tm ) ).
% list.simps(8)
thf(fact_155_list_Osimps_I8_J,axiom,
! [F: tm > nat] :
( ( map_tm_nat @ F @ nil_tm )
= nil_nat ) ).
% list.simps(8)
thf(fact_156_list_Osimps_I8_J,axiom,
! [F: nat > fm] :
( ( map_nat_fm @ F @ nil_nat )
= nil_fm ) ).
% list.simps(8)
thf(fact_157_list_Osimps_I8_J,axiom,
! [F: nat > tm] :
( ( map_nat_tm @ F @ nil_nat )
= nil_tm ) ).
% list.simps(8)
thf(fact_158_list_Osimps_I8_J,axiom,
! [F: nat > nat] :
( ( map_nat_nat @ F @ nil_nat )
= nil_nat ) ).
% list.simps(8)
thf(fact_159_list_Odistinct_I1_J,axiom,
! [X21: fm,X22: list_fm] :
( nil_fm
!= ( cons_fm @ X21 @ X22 ) ) ).
% list.distinct(1)
thf(fact_160_list_Odistinct_I1_J,axiom,
! [X21: tm,X22: list_tm] :
( nil_tm
!= ( cons_tm @ X21 @ X22 ) ) ).
% list.distinct(1)
thf(fact_161_list_Odistinct_I1_J,axiom,
! [X21: nat,X22: list_nat] :
( nil_nat
!= ( cons_nat @ X21 @ X22 ) ) ).
% list.distinct(1)
thf(fact_162_list_Oset__intros_I2_J,axiom,
! [Y: a,X22: list_a,X21: a] :
( ( member_a2 @ Y @ ( set_a2 @ X22 ) )
=> ( member_a2 @ Y @ ( set_a2 @ ( cons_a @ X21 @ X22 ) ) ) ) ).
% list.set_intros(2)
thf(fact_163_list_Oset__intros_I2_J,axiom,
! [Y: fm,X22: list_fm,X21: fm] :
( ( member_fm2 @ Y @ ( set_fm2 @ X22 ) )
=> ( member_fm2 @ Y @ ( set_fm2 @ ( cons_fm @ X21 @ X22 ) ) ) ) ).
% list.set_intros(2)
thf(fact_164_list_Oset__intros_I2_J,axiom,
! [Y: tm,X22: list_tm,X21: tm] :
( ( member_tm2 @ Y @ ( set_tm2 @ X22 ) )
=> ( member_tm2 @ Y @ ( set_tm2 @ ( cons_tm @ X21 @ X22 ) ) ) ) ).
% list.set_intros(2)
thf(fact_165_list_Oset__intros_I2_J,axiom,
! [Y: nat,X22: list_nat,X21: nat] :
( ( member_nat2 @ Y @ ( set_nat2 @ X22 ) )
=> ( member_nat2 @ Y @ ( set_nat2 @ ( cons_nat @ X21 @ X22 ) ) ) ) ).
% list.set_intros(2)
thf(fact_166_list_Oset__intros_I1_J,axiom,
! [X21: a,X22: list_a] : ( member_a2 @ X21 @ ( set_a2 @ ( cons_a @ X21 @ X22 ) ) ) ).
% list.set_intros(1)
thf(fact_167_list_Oset__intros_I1_J,axiom,
! [X21: fm,X22: list_fm] : ( member_fm2 @ X21 @ ( set_fm2 @ ( cons_fm @ X21 @ X22 ) ) ) ).
% list.set_intros(1)
thf(fact_168_list_Oset__intros_I1_J,axiom,
! [X21: tm,X22: list_tm] : ( member_tm2 @ X21 @ ( set_tm2 @ ( cons_tm @ X21 @ X22 ) ) ) ).
% list.set_intros(1)
thf(fact_169_list_Oset__intros_I1_J,axiom,
! [X21: nat,X22: list_nat] : ( member_nat2 @ X21 @ ( set_nat2 @ ( cons_nat @ X21 @ X22 ) ) ) ).
% list.set_intros(1)
thf(fact_170_list_OdiscI,axiom,
! [List: list_fm,X21: fm,X22: list_fm] :
( ( List
= ( cons_fm @ X21 @ X22 ) )
=> ( List != nil_fm ) ) ).
% list.discI
thf(fact_171_list_OdiscI,axiom,
! [List: list_tm,X21: tm,X22: list_tm] :
( ( List
= ( cons_tm @ X21 @ X22 ) )
=> ( List != nil_tm ) ) ).
% list.discI
thf(fact_172_list_OdiscI,axiom,
! [List: list_nat,X21: nat,X22: list_nat] :
( ( List
= ( cons_nat @ X21 @ X22 ) )
=> ( List != nil_nat ) ) ).
% list.discI
thf(fact_173_list_Oexhaust,axiom,
! [Y: list_fm] :
( ( Y != nil_fm )
=> ~ ! [X212: fm,X222: list_fm] :
( Y
!= ( cons_fm @ X212 @ X222 ) ) ) ).
% list.exhaust
thf(fact_174_list_Oexhaust,axiom,
! [Y: list_tm] :
( ( Y != nil_tm )
=> ~ ! [X212: tm,X222: list_tm] :
( Y
!= ( cons_tm @ X212 @ X222 ) ) ) ).
% list.exhaust
thf(fact_175_list_Oexhaust,axiom,
! [Y: list_nat] :
( ( Y != nil_nat )
=> ~ ! [X212: nat,X222: list_nat] :
( Y
!= ( cons_nat @ X212 @ X222 ) ) ) ).
% list.exhaust
thf(fact_176_list_Oset__cases,axiom,
! [E: a,A2: list_a] :
( ( member_a2 @ E @ ( set_a2 @ A2 ) )
=> ( ! [Z22: list_a] :
( A2
!= ( cons_a @ E @ Z22 ) )
=> ~ ! [Z1: a,Z22: list_a] :
( ( A2
= ( cons_a @ Z1 @ Z22 ) )
=> ~ ( member_a2 @ E @ ( set_a2 @ Z22 ) ) ) ) ) ).
% list.set_cases
thf(fact_177_list_Oset__cases,axiom,
! [E: fm,A2: list_fm] :
( ( member_fm2 @ E @ ( set_fm2 @ A2 ) )
=> ( ! [Z22: list_fm] :
( A2
!= ( cons_fm @ E @ Z22 ) )
=> ~ ! [Z1: fm,Z22: list_fm] :
( ( A2
= ( cons_fm @ Z1 @ Z22 ) )
=> ~ ( member_fm2 @ E @ ( set_fm2 @ Z22 ) ) ) ) ) ).
% list.set_cases
thf(fact_178_list_Oset__cases,axiom,
! [E: tm,A2: list_tm] :
( ( member_tm2 @ E @ ( set_tm2 @ A2 ) )
=> ( ! [Z22: list_tm] :
( A2
!= ( cons_tm @ E @ Z22 ) )
=> ~ ! [Z1: tm,Z22: list_tm] :
( ( A2
= ( cons_tm @ Z1 @ Z22 ) )
=> ~ ( member_tm2 @ E @ ( set_tm2 @ Z22 ) ) ) ) ) ).
% list.set_cases
thf(fact_179_list_Oset__cases,axiom,
! [E: nat,A2: list_nat] :
( ( member_nat2 @ E @ ( set_nat2 @ A2 ) )
=> ( ! [Z22: list_nat] :
( A2
!= ( cons_nat @ E @ Z22 ) )
=> ~ ! [Z1: nat,Z22: list_nat] :
( ( A2
= ( cons_nat @ Z1 @ Z22 ) )
=> ~ ( member_nat2 @ E @ ( set_nat2 @ Z22 ) ) ) ) ) ).
% list.set_cases
thf(fact_180_min__list_Ocases,axiom,
! [X: list_nat] :
( ! [X3: nat,Xs3: list_nat] :
( X
!= ( cons_nat @ X3 @ Xs3 ) )
=> ( X = nil_nat ) ) ).
% min_list.cases
thf(fact_181_transpose_Ocases,axiom,
! [X: list_list_fm] :
( ( X != nil_list_fm )
=> ( ! [Xss: list_list_fm] :
( X
!= ( cons_list_fm @ nil_fm @ Xss ) )
=> ~ ! [X3: fm,Xs3: list_fm,Xss: list_list_fm] :
( X
!= ( cons_list_fm @ ( cons_fm @ X3 @ Xs3 ) @ Xss ) ) ) ) ).
% transpose.cases
thf(fact_182_transpose_Ocases,axiom,
! [X: list_list_tm] :
( ( X != nil_list_tm )
=> ( ! [Xss: list_list_tm] :
( X
!= ( cons_list_tm @ nil_tm @ Xss ) )
=> ~ ! [X3: tm,Xs3: list_tm,Xss: list_list_tm] :
( X
!= ( cons_list_tm @ ( cons_tm @ X3 @ Xs3 ) @ Xss ) ) ) ) ).
% transpose.cases
thf(fact_183_transpose_Ocases,axiom,
! [X: list_list_nat] :
( ( X != nil_list_nat )
=> ( ! [Xss: list_list_nat] :
( X
!= ( cons_list_nat @ nil_nat @ Xss ) )
=> ~ ! [X3: nat,Xs3: list_nat,Xss: list_list_nat] :
( X
!= ( cons_list_nat @ ( cons_nat @ X3 @ Xs3 ) @ Xss ) ) ) ) ).
% transpose.cases
thf(fact_184_append__Nil,axiom,
! [Ys: list_fm] :
( ( append_fm @ nil_fm @ Ys )
= Ys ) ).
% append_Nil
thf(fact_185_append__Nil,axiom,
! [Ys: list_tm] :
( ( append_tm @ nil_tm @ Ys )
= Ys ) ).
% append_Nil
thf(fact_186_append__Nil,axiom,
! [Ys: list_nat] :
( ( append_nat @ nil_nat @ Ys )
= Ys ) ).
% append_Nil
thf(fact_187_remdups__adj_Ocases,axiom,
! [X: list_fm] :
( ( X != nil_fm )
=> ( ! [X3: fm] :
( X
!= ( cons_fm @ X3 @ nil_fm ) )
=> ~ ! [X3: fm,Y3: fm,Xs3: list_fm] :
( X
!= ( cons_fm @ X3 @ ( cons_fm @ Y3 @ Xs3 ) ) ) ) ) ).
% remdups_adj.cases
thf(fact_188_remdups__adj_Ocases,axiom,
! [X: list_tm] :
( ( X != nil_tm )
=> ( ! [X3: tm] :
( X
!= ( cons_tm @ X3 @ nil_tm ) )
=> ~ ! [X3: tm,Y3: tm,Xs3: list_tm] :
( X
!= ( cons_tm @ X3 @ ( cons_tm @ Y3 @ Xs3 ) ) ) ) ) ).
% remdups_adj.cases
thf(fact_189_remdups__adj_Ocases,axiom,
! [X: list_nat] :
( ( X != nil_nat )
=> ( ! [X3: nat] :
( X
!= ( cons_nat @ X3 @ nil_nat ) )
=> ~ ! [X3: nat,Y3: nat,Xs3: list_nat] :
( X
!= ( cons_nat @ X3 @ ( cons_nat @ Y3 @ Xs3 ) ) ) ) ) ).
% remdups_adj.cases
thf(fact_190_list_Omap__cong,axiom,
! [X: list_nat,Ya: list_nat,F: nat > nat,G: nat > nat] :
( ( X = Ya )
=> ( ! [Z3: nat] :
( ( member_nat2 @ Z3 @ ( set_nat2 @ Ya ) )
=> ( ( F @ Z3 )
= ( G @ Z3 ) ) )
=> ( ( map_nat_nat @ F @ X )
= ( map_nat_nat @ G @ Ya ) ) ) ) ).
% list.map_cong
thf(fact_191_append__Cons,axiom,
! [X: tm,Xs: list_tm,Ys: list_tm] :
( ( append_tm @ ( cons_tm @ X @ Xs ) @ Ys )
= ( cons_tm @ X @ ( append_tm @ Xs @ Ys ) ) ) ).
% append_Cons
thf(fact_192_append__Cons,axiom,
! [X: nat,Xs: list_nat,Ys: list_nat] :
( ( append_nat @ ( cons_nat @ X @ Xs ) @ Ys )
= ( cons_nat @ X @ ( append_nat @ Xs @ Ys ) ) ) ).
% append_Cons
thf(fact_193_list_Omap__cong0,axiom,
! [X: list_nat,F: nat > nat,G: nat > nat] :
( ! [Z3: nat] :
( ( member_nat2 @ Z3 @ ( set_nat2 @ X ) )
=> ( ( F @ Z3 )
= ( G @ Z3 ) ) )
=> ( ( map_nat_nat @ F @ X )
= ( map_nat_nat @ G @ X ) ) ) ).
% list.map_cong0
thf(fact_194_append_Oleft__neutral,axiom,
! [A2: list_fm] :
( ( append_fm @ nil_fm @ A2 )
= A2 ) ).
% append.left_neutral
thf(fact_195_append_Oleft__neutral,axiom,
! [A2: list_tm] :
( ( append_tm @ nil_tm @ A2 )
= A2 ) ).
% append.left_neutral
thf(fact_196_append_Oleft__neutral,axiom,
! [A2: list_nat] :
( ( append_nat @ nil_nat @ A2 )
= A2 ) ).
% append.left_neutral
thf(fact_197_list_Oinj__map__strong,axiom,
! [X: list_nat,Xa: list_nat,F: nat > nat,Fa: nat > nat] :
( ! [Z3: nat,Za: nat] :
( ( member_nat2 @ Z3 @ ( set_nat2 @ X ) )
=> ( ( member_nat2 @ Za @ ( set_nat2 @ Xa ) )
=> ( ( ( F @ Z3 )
= ( Fa @ Za ) )
=> ( Z3 = Za ) ) ) )
=> ( ( ( map_nat_nat @ F @ X )
= ( map_nat_nat @ Fa @ Xa ) )
=> ( X = Xa ) ) ) ).
% list.inj_map_strong
thf(fact_198_list_Omap__ident__strong,axiom,
! [T: list_a,F: a > a] :
( ! [Z3: a] :
( ( member_a2 @ Z3 @ ( set_a2 @ T ) )
=> ( ( F @ Z3 )
= Z3 ) )
=> ( ( map_a_a @ F @ T )
= T ) ) ).
% list.map_ident_strong
thf(fact_199_list_Omap__ident__strong,axiom,
! [T: list_fm,F: fm > fm] :
( ! [Z3: fm] :
( ( member_fm2 @ Z3 @ ( set_fm2 @ T ) )
=> ( ( F @ Z3 )
= Z3 ) )
=> ( ( map_fm_fm @ F @ T )
= T ) ) ).
% list.map_ident_strong
thf(fact_200_list_Omap__ident__strong,axiom,
! [T: list_nat,F: nat > nat] :
( ! [Z3: nat] :
( ( member_nat2 @ Z3 @ ( set_nat2 @ T ) )
=> ( ( F @ Z3 )
= Z3 ) )
=> ( ( map_nat_nat @ F @ T )
= T ) ) ).
% list.map_ident_strong
thf(fact_201_map__ext,axiom,
! [Xs: list_nat,F: nat > nat,G: nat > nat] :
( ! [X3: nat] :
( ( member_nat2 @ X3 @ ( set_nat2 @ Xs ) )
=> ( ( F @ X3 )
= ( G @ X3 ) ) )
=> ( ( map_nat_nat @ F @ Xs )
= ( map_nat_nat @ G @ Xs ) ) ) ).
% map_ext
thf(fact_202_map__idI,axiom,
! [Xs: list_a,F: a > a] :
( ! [X3: a] :
( ( member_a2 @ X3 @ ( set_a2 @ Xs ) )
=> ( ( F @ X3 )
= X3 ) )
=> ( ( map_a_a @ F @ Xs )
= Xs ) ) ).
% map_idI
thf(fact_203_map__idI,axiom,
! [Xs: list_fm,F: fm > fm] :
( ! [X3: fm] :
( ( member_fm2 @ X3 @ ( set_fm2 @ Xs ) )
=> ( ( F @ X3 )
= X3 ) )
=> ( ( map_fm_fm @ F @ Xs )
= Xs ) ) ).
% map_idI
thf(fact_204_map__idI,axiom,
! [Xs: list_nat,F: nat > nat] :
( ! [X3: nat] :
( ( member_nat2 @ X3 @ ( set_nat2 @ Xs ) )
=> ( ( F @ X3 )
= X3 ) )
=> ( ( map_nat_nat @ F @ Xs )
= Xs ) ) ).
% map_idI
thf(fact_205_rev__map,axiom,
! [F: nat > nat,Xs: list_nat] :
( ( rev_nat @ ( map_nat_nat @ F @ Xs ) )
= ( map_nat_nat @ F @ ( rev_nat @ Xs ) ) ) ).
% rev_map
thf(fact_206_map__cong,axiom,
! [Xs: list_nat,Ys: list_nat,F: nat > nat,G: nat > nat] :
( ( Xs = Ys )
=> ( ! [X3: nat] :
( ( member_nat2 @ X3 @ ( set_nat2 @ Ys ) )
=> ( ( F @ X3 )
= ( G @ X3 ) ) )
=> ( ( map_nat_nat @ F @ Xs )
= ( map_nat_nat @ G @ Ys ) ) ) ) ).
% map_cong
thf(fact_207_set__ConsD,axiom,
! [Y: a,X: a,Xs: list_a] :
( ( member_a2 @ Y @ ( set_a2 @ ( cons_a @ X @ Xs ) ) )
=> ( ( Y = X )
| ( member_a2 @ Y @ ( set_a2 @ Xs ) ) ) ) ).
% set_ConsD
thf(fact_208_set__ConsD,axiom,
! [Y: fm,X: fm,Xs: list_fm] :
( ( member_fm2 @ Y @ ( set_fm2 @ ( cons_fm @ X @ Xs ) ) )
=> ( ( Y = X )
| ( member_fm2 @ Y @ ( set_fm2 @ Xs ) ) ) ) ).
% set_ConsD
thf(fact_209_set__ConsD,axiom,
! [Y: tm,X: tm,Xs: list_tm] :
( ( member_tm2 @ Y @ ( set_tm2 @ ( cons_tm @ X @ Xs ) ) )
=> ( ( Y = X )
| ( member_tm2 @ Y @ ( set_tm2 @ Xs ) ) ) ) ).
% set_ConsD
thf(fact_210_set__ConsD,axiom,
! [Y: nat,X: nat,Xs: list_nat] :
( ( member_nat2 @ Y @ ( set_nat2 @ ( cons_nat @ X @ Xs ) ) )
=> ( ( Y = X )
| ( member_nat2 @ Y @ ( set_nat2 @ Xs ) ) ) ) ).
% set_ConsD
thf(fact_211_rev__induct,axiom,
! [P: list_fm > $o,Xs: list_fm] :
( ( P @ nil_fm )
=> ( ! [X3: fm,Xs3: list_fm] :
( ( P @ Xs3 )
=> ( P @ ( append_fm @ Xs3 @ ( cons_fm @ X3 @ nil_fm ) ) ) )
=> ( P @ Xs ) ) ) ).
% rev_induct
thf(fact_212_rev__induct,axiom,
! [P: list_tm > $o,Xs: list_tm] :
( ( P @ nil_tm )
=> ( ! [X3: tm,Xs3: list_tm] :
( ( P @ Xs3 )
=> ( P @ ( append_tm @ Xs3 @ ( cons_tm @ X3 @ nil_tm ) ) ) )
=> ( P @ Xs ) ) ) ).
% rev_induct
thf(fact_213_rev__induct,axiom,
! [P: list_nat > $o,Xs: list_nat] :
( ( P @ nil_nat )
=> ( ! [X3: nat,Xs3: list_nat] :
( ( P @ Xs3 )
=> ( P @ ( append_nat @ Xs3 @ ( cons_nat @ X3 @ nil_nat ) ) ) )
=> ( P @ Xs ) ) ) ).
% rev_induct
thf(fact_214_split__list,axiom,
! [X: a,Xs: list_a] :
( ( member_a2 @ X @ ( set_a2 @ Xs ) )
=> ? [Ys2: list_a,Zs2: list_a] :
( Xs
= ( append_a @ Ys2 @ ( cons_a @ X @ Zs2 ) ) ) ) ).
% split_list
thf(fact_215_split__list,axiom,
! [X: fm,Xs: list_fm] :
( ( member_fm2 @ X @ ( set_fm2 @ Xs ) )
=> ? [Ys2: list_fm,Zs2: list_fm] :
( Xs
= ( append_fm @ Ys2 @ ( cons_fm @ X @ Zs2 ) ) ) ) ).
% split_list
thf(fact_216_split__list,axiom,
! [X: tm,Xs: list_tm] :
( ( member_tm2 @ X @ ( set_tm2 @ Xs ) )
=> ? [Ys2: list_tm,Zs2: list_tm] :
( Xs
= ( append_tm @ Ys2 @ ( cons_tm @ X @ Zs2 ) ) ) ) ).
% split_list
thf(fact_217_split__list,axiom,
! [X: nat,Xs: list_nat] :
( ( member_nat2 @ X @ ( set_nat2 @ Xs ) )
=> ? [Ys2: list_nat,Zs2: list_nat] :
( Xs
= ( append_nat @ Ys2 @ ( cons_nat @ X @ Zs2 ) ) ) ) ).
% split_list
thf(fact_218_ex__map__conv,axiom,
! [Ys: list_nat,F: nat > nat] :
( ( ? [Xs2: list_nat] :
( Ys
= ( map_nat_nat @ F @ Xs2 ) ) )
= ( ! [X2: nat] :
( ( member_nat2 @ X2 @ ( set_nat2 @ Ys ) )
=> ? [Y2: nat] :
( X2
= ( F @ Y2 ) ) ) ) ) ).
% ex_map_conv
thf(fact_219_rev__exhaust,axiom,
! [Xs: list_fm] :
( ( Xs != nil_fm )
=> ~ ! [Ys2: list_fm,Y3: fm] :
( Xs
!= ( append_fm @ Ys2 @ ( cons_fm @ Y3 @ nil_fm ) ) ) ) ).
% rev_exhaust
thf(fact_220_rev__exhaust,axiom,
! [Xs: list_tm] :
( ( Xs != nil_tm )
=> ~ ! [Ys2: list_tm,Y3: tm] :
( Xs
!= ( append_tm @ Ys2 @ ( cons_tm @ Y3 @ nil_tm ) ) ) ) ).
% rev_exhaust
thf(fact_221_rev__exhaust,axiom,
! [Xs: list_nat] :
( ( Xs != nil_nat )
=> ~ ! [Ys2: list_nat,Y3: nat] :
( Xs
!= ( append_nat @ Ys2 @ ( cons_nat @ Y3 @ nil_nat ) ) ) ) ).
% rev_exhaust
thf(fact_222_neq__Nil__conv,axiom,
! [Xs: list_fm] :
( ( Xs != nil_fm )
= ( ? [Y2: fm,Ys3: list_fm] :
( Xs
= ( cons_fm @ Y2 @ Ys3 ) ) ) ) ).
% neq_Nil_conv
thf(fact_223_neq__Nil__conv,axiom,
! [Xs: list_tm] :
( ( Xs != nil_tm )
= ( ? [Y2: tm,Ys3: list_tm] :
( Xs
= ( cons_tm @ Y2 @ Ys3 ) ) ) ) ).
% neq_Nil_conv
thf(fact_224_neq__Nil__conv,axiom,
! [Xs: list_nat] :
( ( Xs != nil_nat )
= ( ? [Y2: nat,Ys3: list_nat] :
( Xs
= ( cons_nat @ Y2 @ Ys3 ) ) ) ) ).
% neq_Nil_conv
thf(fact_225_Cons__eq__map__D,axiom,
! [X: tm,Xs: list_tm,F: tm > tm,Ys: list_tm] :
( ( ( cons_tm @ X @ Xs )
= ( map_tm_tm @ F @ Ys ) )
=> ? [Z3: tm,Zs2: list_tm] :
( ( Ys
= ( cons_tm @ Z3 @ Zs2 ) )
& ( X
= ( F @ Z3 ) )
& ( Xs
= ( map_tm_tm @ F @ Zs2 ) ) ) ) ).
% Cons_eq_map_D
thf(fact_226_Cons__eq__map__D,axiom,
! [X: tm,Xs: list_tm,F: nat > tm,Ys: list_nat] :
( ( ( cons_tm @ X @ Xs )
= ( map_nat_tm @ F @ Ys ) )
=> ? [Z3: nat,Zs2: list_nat] :
( ( Ys
= ( cons_nat @ Z3 @ Zs2 ) )
& ( X
= ( F @ Z3 ) )
& ( Xs
= ( map_nat_tm @ F @ Zs2 ) ) ) ) ).
% Cons_eq_map_D
thf(fact_227_Cons__eq__map__D,axiom,
! [X: nat,Xs: list_nat,F: tm > nat,Ys: list_tm] :
( ( ( cons_nat @ X @ Xs )
= ( map_tm_nat @ F @ Ys ) )
=> ? [Z3: tm,Zs2: list_tm] :
( ( Ys
= ( cons_tm @ Z3 @ Zs2 ) )
& ( X
= ( F @ Z3 ) )
& ( Xs
= ( map_tm_nat @ F @ Zs2 ) ) ) ) ).
% Cons_eq_map_D
thf(fact_228_Cons__eq__map__D,axiom,
! [X: nat,Xs: list_nat,F: nat > nat,Ys: list_nat] :
( ( ( cons_nat @ X @ Xs )
= ( map_nat_nat @ F @ Ys ) )
=> ? [Z3: nat,Zs2: list_nat] :
( ( Ys
= ( cons_nat @ Z3 @ Zs2 ) )
& ( X
= ( F @ Z3 ) )
& ( Xs
= ( map_nat_nat @ F @ Zs2 ) ) ) ) ).
% Cons_eq_map_D
thf(fact_229_list__induct2_H,axiom,
! [P: list_fm > list_fm > $o,Xs: list_fm,Ys: list_fm] :
( ( P @ nil_fm @ nil_fm )
=> ( ! [X3: fm,Xs3: list_fm] : ( P @ ( cons_fm @ X3 @ Xs3 ) @ nil_fm )
=> ( ! [Y3: fm,Ys2: list_fm] : ( P @ nil_fm @ ( cons_fm @ Y3 @ Ys2 ) )
=> ( ! [X3: fm,Xs3: list_fm,Y3: fm,Ys2: list_fm] :
( ( P @ Xs3 @ Ys2 )
=> ( P @ ( cons_fm @ X3 @ Xs3 ) @ ( cons_fm @ Y3 @ Ys2 ) ) )
=> ( P @ Xs @ Ys ) ) ) ) ) ).
% list_induct2'
thf(fact_230_list__induct2_H,axiom,
! [P: list_fm > list_tm > $o,Xs: list_fm,Ys: list_tm] :
( ( P @ nil_fm @ nil_tm )
=> ( ! [X3: fm,Xs3: list_fm] : ( P @ ( cons_fm @ X3 @ Xs3 ) @ nil_tm )
=> ( ! [Y3: tm,Ys2: list_tm] : ( P @ nil_fm @ ( cons_tm @ Y3 @ Ys2 ) )
=> ( ! [X3: fm,Xs3: list_fm,Y3: tm,Ys2: list_tm] :
( ( P @ Xs3 @ Ys2 )
=> ( P @ ( cons_fm @ X3 @ Xs3 ) @ ( cons_tm @ Y3 @ Ys2 ) ) )
=> ( P @ Xs @ Ys ) ) ) ) ) ).
% list_induct2'
thf(fact_231_list__induct2_H,axiom,
! [P: list_fm > list_nat > $o,Xs: list_fm,Ys: list_nat] :
( ( P @ nil_fm @ nil_nat )
=> ( ! [X3: fm,Xs3: list_fm] : ( P @ ( cons_fm @ X3 @ Xs3 ) @ nil_nat )
=> ( ! [Y3: nat,Ys2: list_nat] : ( P @ nil_fm @ ( cons_nat @ Y3 @ Ys2 ) )
=> ( ! [X3: fm,Xs3: list_fm,Y3: nat,Ys2: list_nat] :
( ( P @ Xs3 @ Ys2 )
=> ( P @ ( cons_fm @ X3 @ Xs3 ) @ ( cons_nat @ Y3 @ Ys2 ) ) )
=> ( P @ Xs @ Ys ) ) ) ) ) ).
% list_induct2'
thf(fact_232_list__induct2_H,axiom,
! [P: list_tm > list_fm > $o,Xs: list_tm,Ys: list_fm] :
( ( P @ nil_tm @ nil_fm )
=> ( ! [X3: tm,Xs3: list_tm] : ( P @ ( cons_tm @ X3 @ Xs3 ) @ nil_fm )
=> ( ! [Y3: fm,Ys2: list_fm] : ( P @ nil_tm @ ( cons_fm @ Y3 @ Ys2 ) )
=> ( ! [X3: tm,Xs3: list_tm,Y3: fm,Ys2: list_fm] :
( ( P @ Xs3 @ Ys2 )
=> ( P @ ( cons_tm @ X3 @ Xs3 ) @ ( cons_fm @ Y3 @ Ys2 ) ) )
=> ( P @ Xs @ Ys ) ) ) ) ) ).
% list_induct2'
thf(fact_233_list__induct2_H,axiom,
! [P: list_tm > list_tm > $o,Xs: list_tm,Ys: list_tm] :
( ( P @ nil_tm @ nil_tm )
=> ( ! [X3: tm,Xs3: list_tm] : ( P @ ( cons_tm @ X3 @ Xs3 ) @ nil_tm )
=> ( ! [Y3: tm,Ys2: list_tm] : ( P @ nil_tm @ ( cons_tm @ Y3 @ Ys2 ) )
=> ( ! [X3: tm,Xs3: list_tm,Y3: tm,Ys2: list_tm] :
( ( P @ Xs3 @ Ys2 )
=> ( P @ ( cons_tm @ X3 @ Xs3 ) @ ( cons_tm @ Y3 @ Ys2 ) ) )
=> ( P @ Xs @ Ys ) ) ) ) ) ).
% list_induct2'
thf(fact_234_list__induct2_H,axiom,
! [P: list_tm > list_nat > $o,Xs: list_tm,Ys: list_nat] :
( ( P @ nil_tm @ nil_nat )
=> ( ! [X3: tm,Xs3: list_tm] : ( P @ ( cons_tm @ X3 @ Xs3 ) @ nil_nat )
=> ( ! [Y3: nat,Ys2: list_nat] : ( P @ nil_tm @ ( cons_nat @ Y3 @ Ys2 ) )
=> ( ! [X3: tm,Xs3: list_tm,Y3: nat,Ys2: list_nat] :
( ( P @ Xs3 @ Ys2 )
=> ( P @ ( cons_tm @ X3 @ Xs3 ) @ ( cons_nat @ Y3 @ Ys2 ) ) )
=> ( P @ Xs @ Ys ) ) ) ) ) ).
% list_induct2'
thf(fact_235_list__induct2_H,axiom,
! [P: list_nat > list_fm > $o,Xs: list_nat,Ys: list_fm] :
( ( P @ nil_nat @ nil_fm )
=> ( ! [X3: nat,Xs3: list_nat] : ( P @ ( cons_nat @ X3 @ Xs3 ) @ nil_fm )
=> ( ! [Y3: fm,Ys2: list_fm] : ( P @ nil_nat @ ( cons_fm @ Y3 @ Ys2 ) )
=> ( ! [X3: nat,Xs3: list_nat,Y3: fm,Ys2: list_fm] :
( ( P @ Xs3 @ Ys2 )
=> ( P @ ( cons_nat @ X3 @ Xs3 ) @ ( cons_fm @ Y3 @ Ys2 ) ) )
=> ( P @ Xs @ Ys ) ) ) ) ) ).
% list_induct2'
thf(fact_236_list__induct2_H,axiom,
! [P: list_nat > list_tm > $o,Xs: list_nat,Ys: list_tm] :
( ( P @ nil_nat @ nil_tm )
=> ( ! [X3: nat,Xs3: list_nat] : ( P @ ( cons_nat @ X3 @ Xs3 ) @ nil_tm )
=> ( ! [Y3: tm,Ys2: list_tm] : ( P @ nil_nat @ ( cons_tm @ Y3 @ Ys2 ) )
=> ( ! [X3: nat,Xs3: list_nat,Y3: tm,Ys2: list_tm] :
( ( P @ Xs3 @ Ys2 )
=> ( P @ ( cons_nat @ X3 @ Xs3 ) @ ( cons_tm @ Y3 @ Ys2 ) ) )
=> ( P @ Xs @ Ys ) ) ) ) ) ).
% list_induct2'
thf(fact_237_list__induct2_H,axiom,
! [P: list_nat > list_nat > $o,Xs: list_nat,Ys: list_nat] :
( ( P @ nil_nat @ nil_nat )
=> ( ! [X3: nat,Xs3: list_nat] : ( P @ ( cons_nat @ X3 @ Xs3 ) @ nil_nat )
=> ( ! [Y3: nat,Ys2: list_nat] : ( P @ nil_nat @ ( cons_nat @ Y3 @ Ys2 ) )
=> ( ! [X3: nat,Xs3: list_nat,Y3: nat,Ys2: list_nat] :
( ( P @ Xs3 @ Ys2 )
=> ( P @ ( cons_nat @ X3 @ Xs3 ) @ ( cons_nat @ Y3 @ Ys2 ) ) )
=> ( P @ Xs @ Ys ) ) ) ) ) ).
% list_induct2'
thf(fact_238_map__eq__Cons__D,axiom,
! [F: tm > tm,Xs: list_tm,Y: tm,Ys: list_tm] :
( ( ( map_tm_tm @ F @ Xs )
= ( cons_tm @ Y @ Ys ) )
=> ? [Z3: tm,Zs2: list_tm] :
( ( Xs
= ( cons_tm @ Z3 @ Zs2 ) )
& ( ( F @ Z3 )
= Y )
& ( ( map_tm_tm @ F @ Zs2 )
= Ys ) ) ) ).
% map_eq_Cons_D
thf(fact_239_map__eq__Cons__D,axiom,
! [F: nat > tm,Xs: list_nat,Y: tm,Ys: list_tm] :
( ( ( map_nat_tm @ F @ Xs )
= ( cons_tm @ Y @ Ys ) )
=> ? [Z3: nat,Zs2: list_nat] :
( ( Xs
= ( cons_nat @ Z3 @ Zs2 ) )
& ( ( F @ Z3 )
= Y )
& ( ( map_nat_tm @ F @ Zs2 )
= Ys ) ) ) ).
% map_eq_Cons_D
thf(fact_240_map__eq__Cons__D,axiom,
! [F: tm > nat,Xs: list_tm,Y: nat,Ys: list_nat] :
( ( ( map_tm_nat @ F @ Xs )
= ( cons_nat @ Y @ Ys ) )
=> ? [Z3: tm,Zs2: list_tm] :
( ( Xs
= ( cons_tm @ Z3 @ Zs2 ) )
& ( ( F @ Z3 )
= Y )
& ( ( map_tm_nat @ F @ Zs2 )
= Ys ) ) ) ).
% map_eq_Cons_D
thf(fact_241_map__eq__Cons__D,axiom,
! [F: nat > nat,Xs: list_nat,Y: nat,Ys: list_nat] :
( ( ( map_nat_nat @ F @ Xs )
= ( cons_nat @ Y @ Ys ) )
=> ? [Z3: nat,Zs2: list_nat] :
( ( Xs
= ( cons_nat @ Z3 @ Zs2 ) )
& ( ( F @ Z3 )
= Y )
& ( ( map_nat_nat @ F @ Zs2 )
= Ys ) ) ) ).
% map_eq_Cons_D
thf(fact_242_eq__Nil__appendI,axiom,
! [Xs: list_fm,Ys: list_fm] :
( ( Xs = Ys )
=> ( Xs
= ( append_fm @ nil_fm @ Ys ) ) ) ).
% eq_Nil_appendI
thf(fact_243_eq__Nil__appendI,axiom,
! [Xs: list_tm,Ys: list_tm] :
( ( Xs = Ys )
=> ( Xs
= ( append_tm @ nil_tm @ Ys ) ) ) ).
% eq_Nil_appendI
thf(fact_244_eq__Nil__appendI,axiom,
! [Xs: list_nat,Ys: list_nat] :
( ( Xs = Ys )
=> ( Xs
= ( append_nat @ nil_nat @ Ys ) ) ) ).
% eq_Nil_appendI
thf(fact_245_not__Cons__self2,axiom,
! [X: tm,Xs: list_tm] :
( ( cons_tm @ X @ Xs )
!= Xs ) ).
% not_Cons_self2
thf(fact_246_not__Cons__self2,axiom,
! [X: nat,Xs: list_nat] :
( ( cons_nat @ X @ Xs )
!= Xs ) ).
% not_Cons_self2
thf(fact_247_Cons__eq__appendI,axiom,
! [X: tm,Xs1: list_tm,Ys: list_tm,Xs: list_tm,Zs: list_tm] :
( ( ( cons_tm @ X @ Xs1 )
= Ys )
=> ( ( Xs
= ( append_tm @ Xs1 @ Zs ) )
=> ( ( cons_tm @ X @ Xs )
= ( append_tm @ Ys @ Zs ) ) ) ) ).
% Cons_eq_appendI
thf(fact_248_Cons__eq__appendI,axiom,
! [X: nat,Xs1: list_nat,Ys: list_nat,Xs: list_nat,Zs: list_nat] :
( ( ( cons_nat @ X @ Xs1 )
= Ys )
=> ( ( Xs
= ( append_nat @ Xs1 @ Zs ) )
=> ( ( cons_nat @ X @ Xs )
= ( append_nat @ Ys @ Zs ) ) ) ) ).
% Cons_eq_appendI
thf(fact_249_split__list__last,axiom,
! [X: a,Xs: list_a] :
( ( member_a2 @ X @ ( set_a2 @ Xs ) )
=> ? [Ys2: list_a,Zs2: list_a] :
( ( Xs
= ( append_a @ Ys2 @ ( cons_a @ X @ Zs2 ) ) )
& ~ ( member_a2 @ X @ ( set_a2 @ Zs2 ) ) ) ) ).
% split_list_last
thf(fact_250_split__list__last,axiom,
! [X: fm,Xs: list_fm] :
( ( member_fm2 @ X @ ( set_fm2 @ Xs ) )
=> ? [Ys2: list_fm,Zs2: list_fm] :
( ( Xs
= ( append_fm @ Ys2 @ ( cons_fm @ X @ Zs2 ) ) )
& ~ ( member_fm2 @ X @ ( set_fm2 @ Zs2 ) ) ) ) ).
% split_list_last
thf(fact_251_split__list__last,axiom,
! [X: tm,Xs: list_tm] :
( ( member_tm2 @ X @ ( set_tm2 @ Xs ) )
=> ? [Ys2: list_tm,Zs2: list_tm] :
( ( Xs
= ( append_tm @ Ys2 @ ( cons_tm @ X @ Zs2 ) ) )
& ~ ( member_tm2 @ X @ ( set_tm2 @ Zs2 ) ) ) ) ).
% split_list_last
thf(fact_252_split__list__last,axiom,
! [X: nat,Xs: list_nat] :
( ( member_nat2 @ X @ ( set_nat2 @ Xs ) )
=> ? [Ys2: list_nat,Zs2: list_nat] :
( ( Xs
= ( append_nat @ Ys2 @ ( cons_nat @ X @ Zs2 ) ) )
& ~ ( member_nat2 @ X @ ( set_nat2 @ Zs2 ) ) ) ) ).
% split_list_last
thf(fact_253_split__list__prop,axiom,
! [Xs: list_tm,P: tm > $o] :
( ? [X4: tm] :
( ( member_tm2 @ X4 @ ( set_tm2 @ Xs ) )
& ( P @ X4 ) )
=> ? [Ys2: list_tm,X3: tm] :
( ? [Zs2: list_tm] :
( Xs
= ( append_tm @ Ys2 @ ( cons_tm @ X3 @ Zs2 ) ) )
& ( P @ X3 ) ) ) ).
% split_list_prop
thf(fact_254_split__list__prop,axiom,
! [Xs: list_nat,P: nat > $o] :
( ? [X4: nat] :
( ( member_nat2 @ X4 @ ( set_nat2 @ Xs ) )
& ( P @ X4 ) )
=> ? [Ys2: list_nat,X3: nat] :
( ? [Zs2: list_nat] :
( Xs
= ( append_nat @ Ys2 @ ( cons_nat @ X3 @ Zs2 ) ) )
& ( P @ X3 ) ) ) ).
% split_list_prop
thf(fact_255_Cons__eq__map__conv,axiom,
! [X: tm,Xs: list_tm,F: tm > tm,Ys: list_tm] :
( ( ( cons_tm @ X @ Xs )
= ( map_tm_tm @ F @ Ys ) )
= ( ? [Z2: tm,Zs3: list_tm] :
( ( Ys
= ( cons_tm @ Z2 @ Zs3 ) )
& ( X
= ( F @ Z2 ) )
& ( Xs
= ( map_tm_tm @ F @ Zs3 ) ) ) ) ) ).
% Cons_eq_map_conv
thf(fact_256_Cons__eq__map__conv,axiom,
! [X: tm,Xs: list_tm,F: nat > tm,Ys: list_nat] :
( ( ( cons_tm @ X @ Xs )
= ( map_nat_tm @ F @ Ys ) )
= ( ? [Z2: nat,Zs3: list_nat] :
( ( Ys
= ( cons_nat @ Z2 @ Zs3 ) )
& ( X
= ( F @ Z2 ) )
& ( Xs
= ( map_nat_tm @ F @ Zs3 ) ) ) ) ) ).
% Cons_eq_map_conv
thf(fact_257_Cons__eq__map__conv,axiom,
! [X: nat,Xs: list_nat,F: tm > nat,Ys: list_tm] :
( ( ( cons_nat @ X @ Xs )
= ( map_tm_nat @ F @ Ys ) )
= ( ? [Z2: tm,Zs3: list_tm] :
( ( Ys
= ( cons_tm @ Z2 @ Zs3 ) )
& ( X
= ( F @ Z2 ) )
& ( Xs
= ( map_tm_nat @ F @ Zs3 ) ) ) ) ) ).
% Cons_eq_map_conv
thf(fact_258_Cons__eq__map__conv,axiom,
! [X: nat,Xs: list_nat,F: nat > nat,Ys: list_nat] :
( ( ( cons_nat @ X @ Xs )
= ( map_nat_nat @ F @ Ys ) )
= ( ? [Z2: nat,Zs3: list_nat] :
( ( Ys
= ( cons_nat @ Z2 @ Zs3 ) )
& ( X
= ( F @ Z2 ) )
& ( Xs
= ( map_nat_nat @ F @ Zs3 ) ) ) ) ) ).
% Cons_eq_map_conv
thf(fact_259_map__eq__Cons__conv,axiom,
! [F: tm > tm,Xs: list_tm,Y: tm,Ys: list_tm] :
( ( ( map_tm_tm @ F @ Xs )
= ( cons_tm @ Y @ Ys ) )
= ( ? [Z2: tm,Zs3: list_tm] :
( ( Xs
= ( cons_tm @ Z2 @ Zs3 ) )
& ( ( F @ Z2 )
= Y )
& ( ( map_tm_tm @ F @ Zs3 )
= Ys ) ) ) ) ).
% map_eq_Cons_conv
thf(fact_260_map__eq__Cons__conv,axiom,
! [F: nat > tm,Xs: list_nat,Y: tm,Ys: list_tm] :
( ( ( map_nat_tm @ F @ Xs )
= ( cons_tm @ Y @ Ys ) )
= ( ? [Z2: nat,Zs3: list_nat] :
( ( Xs
= ( cons_nat @ Z2 @ Zs3 ) )
& ( ( F @ Z2 )
= Y )
& ( ( map_nat_tm @ F @ Zs3 )
= Ys ) ) ) ) ).
% map_eq_Cons_conv
thf(fact_261_map__eq__Cons__conv,axiom,
! [F: tm > nat,Xs: list_tm,Y: nat,Ys: list_nat] :
( ( ( map_tm_nat @ F @ Xs )
= ( cons_nat @ Y @ Ys ) )
= ( ? [Z2: tm,Zs3: list_tm] :
( ( Xs
= ( cons_tm @ Z2 @ Zs3 ) )
& ( ( F @ Z2 )
= Y )
& ( ( map_tm_nat @ F @ Zs3 )
= Ys ) ) ) ) ).
% map_eq_Cons_conv
thf(fact_262_map__eq__Cons__conv,axiom,
! [F: nat > nat,Xs: list_nat,Y: nat,Ys: list_nat] :
( ( ( map_nat_nat @ F @ Xs )
= ( cons_nat @ Y @ Ys ) )
= ( ? [Z2: nat,Zs3: list_nat] :
( ( Xs
= ( cons_nat @ Z2 @ Zs3 ) )
& ( ( F @ Z2 )
= Y )
& ( ( map_nat_nat @ F @ Zs3 )
= Ys ) ) ) ) ).
% map_eq_Cons_conv
thf(fact_263_split__list__first,axiom,
! [X: a,Xs: list_a] :
( ( member_a2 @ X @ ( set_a2 @ Xs ) )
=> ? [Ys2: list_a,Zs2: list_a] :
( ( Xs
= ( append_a @ Ys2 @ ( cons_a @ X @ Zs2 ) ) )
& ~ ( member_a2 @ X @ ( set_a2 @ Ys2 ) ) ) ) ).
% split_list_first
thf(fact_264_split__list__first,axiom,
! [X: fm,Xs: list_fm] :
( ( member_fm2 @ X @ ( set_fm2 @ Xs ) )
=> ? [Ys2: list_fm,Zs2: list_fm] :
( ( Xs
= ( append_fm @ Ys2 @ ( cons_fm @ X @ Zs2 ) ) )
& ~ ( member_fm2 @ X @ ( set_fm2 @ Ys2 ) ) ) ) ).
% split_list_first
thf(fact_265_split__list__first,axiom,
! [X: tm,Xs: list_tm] :
( ( member_tm2 @ X @ ( set_tm2 @ Xs ) )
=> ? [Ys2: list_tm,Zs2: list_tm] :
( ( Xs
= ( append_tm @ Ys2 @ ( cons_tm @ X @ Zs2 ) ) )
& ~ ( member_tm2 @ X @ ( set_tm2 @ Ys2 ) ) ) ) ).
% split_list_first
thf(fact_266_split__list__first,axiom,
! [X: nat,Xs: list_nat] :
( ( member_nat2 @ X @ ( set_nat2 @ Xs ) )
=> ? [Ys2: list_nat,Zs2: list_nat] :
( ( Xs
= ( append_nat @ Ys2 @ ( cons_nat @ X @ Zs2 ) ) )
& ~ ( member_nat2 @ X @ ( set_nat2 @ Ys2 ) ) ) ) ).
% split_list_first
thf(fact_267_split__list__propE,axiom,
! [Xs: list_tm,P: tm > $o] :
( ? [X4: tm] :
( ( member_tm2 @ X4 @ ( set_tm2 @ Xs ) )
& ( P @ X4 ) )
=> ~ ! [Ys2: list_tm,X3: tm] :
( ? [Zs2: list_tm] :
( Xs
= ( append_tm @ Ys2 @ ( cons_tm @ X3 @ Zs2 ) ) )
=> ~ ( P @ X3 ) ) ) ).
% split_list_propE
thf(fact_268_split__list__propE,axiom,
! [Xs: list_nat,P: nat > $o] :
( ? [X4: nat] :
( ( member_nat2 @ X4 @ ( set_nat2 @ Xs ) )
& ( P @ X4 ) )
=> ~ ! [Ys2: list_nat,X3: nat] :
( ? [Zs2: list_nat] :
( Xs
= ( append_nat @ Ys2 @ ( cons_nat @ X3 @ Zs2 ) ) )
=> ~ ( P @ X3 ) ) ) ).
% split_list_propE
thf(fact_269_append__eq__appendI,axiom,
! [Xs: list_nat,Xs1: list_nat,Zs: list_nat,Ys: list_nat,Us: list_nat] :
( ( ( append_nat @ Xs @ Xs1 )
= Zs )
=> ( ( Ys
= ( append_nat @ Xs1 @ Us ) )
=> ( ( append_nat @ Xs @ Ys )
= ( append_nat @ Zs @ Us ) ) ) ) ).
% append_eq_appendI
thf(fact_270_append__Cons__eq__iff,axiom,
! [X: a,Xs: list_a,Ys: list_a,Xs4: list_a,Ys4: list_a] :
( ~ ( member_a2 @ X @ ( set_a2 @ Xs ) )
=> ( ~ ( member_a2 @ X @ ( set_a2 @ Ys ) )
=> ( ( ( append_a @ Xs @ ( cons_a @ X @ Ys ) )
= ( append_a @ Xs4 @ ( cons_a @ X @ Ys4 ) ) )
= ( ( Xs = Xs4 )
& ( Ys = Ys4 ) ) ) ) ) ).
% append_Cons_eq_iff
thf(fact_271_append__Cons__eq__iff,axiom,
! [X: fm,Xs: list_fm,Ys: list_fm,Xs4: list_fm,Ys4: list_fm] :
( ~ ( member_fm2 @ X @ ( set_fm2 @ Xs ) )
=> ( ~ ( member_fm2 @ X @ ( set_fm2 @ Ys ) )
=> ( ( ( append_fm @ Xs @ ( cons_fm @ X @ Ys ) )
= ( append_fm @ Xs4 @ ( cons_fm @ X @ Ys4 ) ) )
= ( ( Xs = Xs4 )
& ( Ys = Ys4 ) ) ) ) ) ).
% append_Cons_eq_iff
thf(fact_272_append__Cons__eq__iff,axiom,
! [X: tm,Xs: list_tm,Ys: list_tm,Xs4: list_tm,Ys4: list_tm] :
( ~ ( member_tm2 @ X @ ( set_tm2 @ Xs ) )
=> ( ~ ( member_tm2 @ X @ ( set_tm2 @ Ys ) )
=> ( ( ( append_tm @ Xs @ ( cons_tm @ X @ Ys ) )
= ( append_tm @ Xs4 @ ( cons_tm @ X @ Ys4 ) ) )
= ( ( Xs = Xs4 )
& ( Ys = Ys4 ) ) ) ) ) ).
% append_Cons_eq_iff
thf(fact_273_append__Cons__eq__iff,axiom,
! [X: nat,Xs: list_nat,Ys: list_nat,Xs4: list_nat,Ys4: list_nat] :
( ~ ( member_nat2 @ X @ ( set_nat2 @ Xs ) )
=> ( ~ ( member_nat2 @ X @ ( set_nat2 @ Ys ) )
=> ( ( ( append_nat @ Xs @ ( cons_nat @ X @ Ys ) )
= ( append_nat @ Xs4 @ ( cons_nat @ X @ Ys4 ) ) )
= ( ( Xs = Xs4 )
& ( Ys = Ys4 ) ) ) ) ) ).
% append_Cons_eq_iff
thf(fact_274_append__eq__map__conv,axiom,
! [Ys: list_nat,Zs: list_nat,F: nat > nat,Xs: list_nat] :
( ( ( append_nat @ Ys @ Zs )
= ( map_nat_nat @ F @ Xs ) )
= ( ? [Us2: list_nat,Vs: list_nat] :
( ( Xs
= ( append_nat @ Us2 @ Vs ) )
& ( Ys
= ( map_nat_nat @ F @ Us2 ) )
& ( Zs
= ( map_nat_nat @ F @ Vs ) ) ) ) ) ).
% append_eq_map_conv
thf(fact_275_in__set__conv__decomp,axiom,
! [X: a,Xs: list_a] :
( ( member_a2 @ X @ ( set_a2 @ Xs ) )
= ( ? [Ys3: list_a,Zs3: list_a] :
( Xs
= ( append_a @ Ys3 @ ( cons_a @ X @ Zs3 ) ) ) ) ) ).
% in_set_conv_decomp
thf(fact_276_in__set__conv__decomp,axiom,
! [X: fm,Xs: list_fm] :
( ( member_fm2 @ X @ ( set_fm2 @ Xs ) )
= ( ? [Ys3: list_fm,Zs3: list_fm] :
( Xs
= ( append_fm @ Ys3 @ ( cons_fm @ X @ Zs3 ) ) ) ) ) ).
% in_set_conv_decomp
thf(fact_277_in__set__conv__decomp,axiom,
! [X: tm,Xs: list_tm] :
( ( member_tm2 @ X @ ( set_tm2 @ Xs ) )
= ( ? [Ys3: list_tm,Zs3: list_tm] :
( Xs
= ( append_tm @ Ys3 @ ( cons_tm @ X @ Zs3 ) ) ) ) ) ).
% in_set_conv_decomp
thf(fact_278_in__set__conv__decomp,axiom,
! [X: nat,Xs: list_nat] :
( ( member_nat2 @ X @ ( set_nat2 @ Xs ) )
= ( ? [Ys3: list_nat,Zs3: list_nat] :
( Xs
= ( append_nat @ Ys3 @ ( cons_nat @ X @ Zs3 ) ) ) ) ) ).
% in_set_conv_decomp
thf(fact_279_map__eq__append__conv,axiom,
! [F: nat > nat,Xs: list_nat,Ys: list_nat,Zs: list_nat] :
( ( ( map_nat_nat @ F @ Xs )
= ( append_nat @ Ys @ Zs ) )
= ( ? [Us2: list_nat,Vs: list_nat] :
( ( Xs
= ( append_nat @ Us2 @ Vs ) )
& ( Ys
= ( map_nat_nat @ F @ Us2 ) )
& ( Zs
= ( map_nat_nat @ F @ Vs ) ) ) ) ) ).
% map_eq_append_conv
thf(fact_280_Cons__eq__append__conv,axiom,
! [X: fm,Xs: list_fm,Ys: list_fm,Zs: list_fm] :
( ( ( cons_fm @ X @ Xs )
= ( append_fm @ Ys @ Zs ) )
= ( ( ( Ys = nil_fm )
& ( ( cons_fm @ X @ Xs )
= Zs ) )
| ? [Ys5: list_fm] :
( ( ( cons_fm @ X @ Ys5 )
= Ys )
& ( Xs
= ( append_fm @ Ys5 @ Zs ) ) ) ) ) ).
% Cons_eq_append_conv
thf(fact_281_Cons__eq__append__conv,axiom,
! [X: tm,Xs: list_tm,Ys: list_tm,Zs: list_tm] :
( ( ( cons_tm @ X @ Xs )
= ( append_tm @ Ys @ Zs ) )
= ( ( ( Ys = nil_tm )
& ( ( cons_tm @ X @ Xs )
= Zs ) )
| ? [Ys5: list_tm] :
( ( ( cons_tm @ X @ Ys5 )
= Ys )
& ( Xs
= ( append_tm @ Ys5 @ Zs ) ) ) ) ) ).
% Cons_eq_append_conv
thf(fact_282_Cons__eq__append__conv,axiom,
! [X: nat,Xs: list_nat,Ys: list_nat,Zs: list_nat] :
( ( ( cons_nat @ X @ Xs )
= ( append_nat @ Ys @ Zs ) )
= ( ( ( Ys = nil_nat )
& ( ( cons_nat @ X @ Xs )
= Zs ) )
| ? [Ys5: list_nat] :
( ( ( cons_nat @ X @ Ys5 )
= Ys )
& ( Xs
= ( append_nat @ Ys5 @ Zs ) ) ) ) ) ).
% Cons_eq_append_conv
thf(fact_283_append__eq__Cons__conv,axiom,
! [Ys: list_fm,Zs: list_fm,X: fm,Xs: list_fm] :
( ( ( append_fm @ Ys @ Zs )
= ( cons_fm @ X @ Xs ) )
= ( ( ( Ys = nil_fm )
& ( Zs
= ( cons_fm @ X @ Xs ) ) )
| ? [Ys5: list_fm] :
( ( Ys
= ( cons_fm @ X @ Ys5 ) )
& ( ( append_fm @ Ys5 @ Zs )
= Xs ) ) ) ) ).
% append_eq_Cons_conv
thf(fact_284_append__eq__Cons__conv,axiom,
! [Ys: list_tm,Zs: list_tm,X: tm,Xs: list_tm] :
( ( ( append_tm @ Ys @ Zs )
= ( cons_tm @ X @ Xs ) )
= ( ( ( Ys = nil_tm )
& ( Zs
= ( cons_tm @ X @ Xs ) ) )
| ? [Ys5: list_tm] :
( ( Ys
= ( cons_tm @ X @ Ys5 ) )
& ( ( append_tm @ Ys5 @ Zs )
= Xs ) ) ) ) ).
% append_eq_Cons_conv
thf(fact_285_append__eq__Cons__conv,axiom,
! [Ys: list_nat,Zs: list_nat,X: nat,Xs: list_nat] :
( ( ( append_nat @ Ys @ Zs )
= ( cons_nat @ X @ Xs ) )
= ( ( ( Ys = nil_nat )
& ( Zs
= ( cons_nat @ X @ Xs ) ) )
| ? [Ys5: list_nat] :
( ( Ys
= ( cons_nat @ X @ Ys5 ) )
& ( ( append_nat @ Ys5 @ Zs )
= Xs ) ) ) ) ).
% append_eq_Cons_conv
thf(fact_286_rev__nonempty__induct,axiom,
! [Xs: list_fm,P: list_fm > $o] :
( ( Xs != nil_fm )
=> ( ! [X3: fm] : ( P @ ( cons_fm @ X3 @ nil_fm ) )
=> ( ! [X3: fm,Xs3: list_fm] :
( ( Xs3 != nil_fm )
=> ( ( P @ Xs3 )
=> ( P @ ( append_fm @ Xs3 @ ( cons_fm @ X3 @ nil_fm ) ) ) ) )
=> ( P @ Xs ) ) ) ) ).
% rev_nonempty_induct
thf(fact_287_rev__nonempty__induct,axiom,
! [Xs: list_tm,P: list_tm > $o] :
( ( Xs != nil_tm )
=> ( ! [X3: tm] : ( P @ ( cons_tm @ X3 @ nil_tm ) )
=> ( ! [X3: tm,Xs3: list_tm] :
( ( Xs3 != nil_tm )
=> ( ( P @ Xs3 )
=> ( P @ ( append_tm @ Xs3 @ ( cons_tm @ X3 @ nil_tm ) ) ) ) )
=> ( P @ Xs ) ) ) ) ).
% rev_nonempty_induct
thf(fact_288_rev__nonempty__induct,axiom,
! [Xs: list_nat,P: list_nat > $o] :
( ( Xs != nil_nat )
=> ( ! [X3: nat] : ( P @ ( cons_nat @ X3 @ nil_nat ) )
=> ( ! [X3: nat,Xs3: list_nat] :
( ( Xs3 != nil_nat )
=> ( ( P @ Xs3 )
=> ( P @ ( append_nat @ Xs3 @ ( cons_nat @ X3 @ nil_nat ) ) ) ) )
=> ( P @ Xs ) ) ) ) ).
% rev_nonempty_induct
thf(fact_289_list__nonempty__induct,axiom,
! [Xs: list_fm,P: list_fm > $o] :
( ( Xs != nil_fm )
=> ( ! [X3: fm] : ( P @ ( cons_fm @ X3 @ nil_fm ) )
=> ( ! [X3: fm,Xs3: list_fm] :
( ( Xs3 != nil_fm )
=> ( ( P @ Xs3 )
=> ( P @ ( cons_fm @ X3 @ Xs3 ) ) ) )
=> ( P @ Xs ) ) ) ) ).
% list_nonempty_induct
thf(fact_290_list__nonempty__induct,axiom,
! [Xs: list_tm,P: list_tm > $o] :
( ( Xs != nil_tm )
=> ( ! [X3: tm] : ( P @ ( cons_tm @ X3 @ nil_tm ) )
=> ( ! [X3: tm,Xs3: list_tm] :
( ( Xs3 != nil_tm )
=> ( ( P @ Xs3 )
=> ( P @ ( cons_tm @ X3 @ Xs3 ) ) ) )
=> ( P @ Xs ) ) ) ) ).
% list_nonempty_induct
thf(fact_291_list__nonempty__induct,axiom,
! [Xs: list_nat,P: list_nat > $o] :
( ( Xs != nil_nat )
=> ( ! [X3: nat] : ( P @ ( cons_nat @ X3 @ nil_nat ) )
=> ( ! [X3: nat,Xs3: list_nat] :
( ( Xs3 != nil_nat )
=> ( ( P @ Xs3 )
=> ( P @ ( cons_nat @ X3 @ Xs3 ) ) ) )
=> ( P @ Xs ) ) ) ) ).
% list_nonempty_induct
thf(fact_292_split__list__last__prop,axiom,
! [Xs: list_tm,P: tm > $o] :
( ? [X4: tm] :
( ( member_tm2 @ X4 @ ( set_tm2 @ Xs ) )
& ( P @ X4 ) )
=> ? [Ys2: list_tm,X3: tm,Zs2: list_tm] :
( ( Xs
= ( append_tm @ Ys2 @ ( cons_tm @ X3 @ Zs2 ) ) )
& ( P @ X3 )
& ! [Xa2: tm] :
( ( member_tm2 @ Xa2 @ ( set_tm2 @ Zs2 ) )
=> ~ ( P @ Xa2 ) ) ) ) ).
% split_list_last_prop
thf(fact_293_split__list__last__prop,axiom,
! [Xs: list_nat,P: nat > $o] :
( ? [X4: nat] :
( ( member_nat2 @ X4 @ ( set_nat2 @ Xs ) )
& ( P @ X4 ) )
=> ? [Ys2: list_nat,X3: nat,Zs2: list_nat] :
( ( Xs
= ( append_nat @ Ys2 @ ( cons_nat @ X3 @ Zs2 ) ) )
& ( P @ X3 )
& ! [Xa2: nat] :
( ( member_nat2 @ Xa2 @ ( set_nat2 @ Zs2 ) )
=> ~ ( P @ Xa2 ) ) ) ) ).
% split_list_last_prop
thf(fact_294_split__list__first__prop,axiom,
! [Xs: list_tm,P: tm > $o] :
( ? [X4: tm] :
( ( member_tm2 @ X4 @ ( set_tm2 @ Xs ) )
& ( P @ X4 ) )
=> ? [Ys2: list_tm,X3: tm] :
( ? [Zs2: list_tm] :
( Xs
= ( append_tm @ Ys2 @ ( cons_tm @ X3 @ Zs2 ) ) )
& ( P @ X3 )
& ! [Xa2: tm] :
( ( member_tm2 @ Xa2 @ ( set_tm2 @ Ys2 ) )
=> ~ ( P @ Xa2 ) ) ) ) ).
% split_list_first_prop
thf(fact_295_split__list__first__prop,axiom,
! [Xs: list_nat,P: nat > $o] :
( ? [X4: nat] :
( ( member_nat2 @ X4 @ ( set_nat2 @ Xs ) )
& ( P @ X4 ) )
=> ? [Ys2: list_nat,X3: nat] :
( ? [Zs2: list_nat] :
( Xs
= ( append_nat @ Ys2 @ ( cons_nat @ X3 @ Zs2 ) ) )
& ( P @ X3 )
& ! [Xa2: nat] :
( ( member_nat2 @ Xa2 @ ( set_nat2 @ Ys2 ) )
=> ~ ( P @ Xa2 ) ) ) ) ).
% split_list_first_prop
thf(fact_296_split__list__last__propE,axiom,
! [Xs: list_tm,P: tm > $o] :
( ? [X4: tm] :
( ( member_tm2 @ X4 @ ( set_tm2 @ Xs ) )
& ( P @ X4 ) )
=> ~ ! [Ys2: list_tm,X3: tm,Zs2: list_tm] :
( ( Xs
= ( append_tm @ Ys2 @ ( cons_tm @ X3 @ Zs2 ) ) )
=> ( ( P @ X3 )
=> ~ ! [Xa2: tm] :
( ( member_tm2 @ Xa2 @ ( set_tm2 @ Zs2 ) )
=> ~ ( P @ Xa2 ) ) ) ) ) ).
% split_list_last_propE
thf(fact_297_split__list__last__propE,axiom,
! [Xs: list_nat,P: nat > $o] :
( ? [X4: nat] :
( ( member_nat2 @ X4 @ ( set_nat2 @ Xs ) )
& ( P @ X4 ) )
=> ~ ! [Ys2: list_nat,X3: nat,Zs2: list_nat] :
( ( Xs
= ( append_nat @ Ys2 @ ( cons_nat @ X3 @ Zs2 ) ) )
=> ( ( P @ X3 )
=> ~ ! [Xa2: nat] :
( ( member_nat2 @ Xa2 @ ( set_nat2 @ Zs2 ) )
=> ~ ( P @ Xa2 ) ) ) ) ) ).
% split_list_last_propE
thf(fact_298_append__eq__append__conv2,axiom,
! [Xs: list_nat,Ys: list_nat,Zs: list_nat,Ts: list_nat] :
( ( ( append_nat @ Xs @ Ys )
= ( append_nat @ Zs @ Ts ) )
= ( ? [Us2: list_nat] :
( ( ( Xs
= ( append_nat @ Zs @ Us2 ) )
& ( ( append_nat @ Us2 @ Ys )
= Ts ) )
| ( ( ( append_nat @ Xs @ Us2 )
= Zs )
& ( Ys
= ( append_nat @ Us2 @ Ts ) ) ) ) ) ) ).
% append_eq_append_conv2
thf(fact_299_split__list__first__propE,axiom,
! [Xs: list_tm,P: tm > $o] :
( ? [X4: tm] :
( ( member_tm2 @ X4 @ ( set_tm2 @ Xs ) )
& ( P @ X4 ) )
=> ~ ! [Ys2: list_tm,X3: tm] :
( ? [Zs2: list_tm] :
( Xs
= ( append_tm @ Ys2 @ ( cons_tm @ X3 @ Zs2 ) ) )
=> ( ( P @ X3 )
=> ~ ! [Xa2: tm] :
( ( member_tm2 @ Xa2 @ ( set_tm2 @ Ys2 ) )
=> ~ ( P @ Xa2 ) ) ) ) ) ).
% split_list_first_propE
thf(fact_300_split__list__first__propE,axiom,
! [Xs: list_nat,P: nat > $o] :
( ? [X4: nat] :
( ( member_nat2 @ X4 @ ( set_nat2 @ Xs ) )
& ( P @ X4 ) )
=> ~ ! [Ys2: list_nat,X3: nat] :
( ? [Zs2: list_nat] :
( Xs
= ( append_nat @ Ys2 @ ( cons_nat @ X3 @ Zs2 ) ) )
=> ( ( P @ X3 )
=> ~ ! [Xa2: nat] :
( ( member_nat2 @ Xa2 @ ( set_nat2 @ Ys2 ) )
=> ~ ( P @ Xa2 ) ) ) ) ) ).
% split_list_first_propE
thf(fact_301_in__set__conv__decomp__last,axiom,
! [X: a,Xs: list_a] :
( ( member_a2 @ X @ ( set_a2 @ Xs ) )
= ( ? [Ys3: list_a,Zs3: list_a] :
( ( Xs
= ( append_a @ Ys3 @ ( cons_a @ X @ Zs3 ) ) )
& ~ ( member_a2 @ X @ ( set_a2 @ Zs3 ) ) ) ) ) ).
% in_set_conv_decomp_last
thf(fact_302_in__set__conv__decomp__last,axiom,
! [X: fm,Xs: list_fm] :
( ( member_fm2 @ X @ ( set_fm2 @ Xs ) )
= ( ? [Ys3: list_fm,Zs3: list_fm] :
( ( Xs
= ( append_fm @ Ys3 @ ( cons_fm @ X @ Zs3 ) ) )
& ~ ( member_fm2 @ X @ ( set_fm2 @ Zs3 ) ) ) ) ) ).
% in_set_conv_decomp_last
thf(fact_303_in__set__conv__decomp__last,axiom,
! [X: tm,Xs: list_tm] :
( ( member_tm2 @ X @ ( set_tm2 @ Xs ) )
= ( ? [Ys3: list_tm,Zs3: list_tm] :
( ( Xs
= ( append_tm @ Ys3 @ ( cons_tm @ X @ Zs3 ) ) )
& ~ ( member_tm2 @ X @ ( set_tm2 @ Zs3 ) ) ) ) ) ).
% in_set_conv_decomp_last
thf(fact_304_in__set__conv__decomp__last,axiom,
! [X: nat,Xs: list_nat] :
( ( member_nat2 @ X @ ( set_nat2 @ Xs ) )
= ( ? [Ys3: list_nat,Zs3: list_nat] :
( ( Xs
= ( append_nat @ Ys3 @ ( cons_nat @ X @ Zs3 ) ) )
& ~ ( member_nat2 @ X @ ( set_nat2 @ Zs3 ) ) ) ) ) ).
% in_set_conv_decomp_last
thf(fact_305_in__set__conv__decomp__first,axiom,
! [X: a,Xs: list_a] :
( ( member_a2 @ X @ ( set_a2 @ Xs ) )
= ( ? [Ys3: list_a,Zs3: list_a] :
( ( Xs
= ( append_a @ Ys3 @ ( cons_a @ X @ Zs3 ) ) )
& ~ ( member_a2 @ X @ ( set_a2 @ Ys3 ) ) ) ) ) ).
% in_set_conv_decomp_first
thf(fact_306_in__set__conv__decomp__first,axiom,
! [X: fm,Xs: list_fm] :
( ( member_fm2 @ X @ ( set_fm2 @ Xs ) )
= ( ? [Ys3: list_fm,Zs3: list_fm] :
( ( Xs
= ( append_fm @ Ys3 @ ( cons_fm @ X @ Zs3 ) ) )
& ~ ( member_fm2 @ X @ ( set_fm2 @ Ys3 ) ) ) ) ) ).
% in_set_conv_decomp_first
thf(fact_307_in__set__conv__decomp__first,axiom,
! [X: tm,Xs: list_tm] :
( ( member_tm2 @ X @ ( set_tm2 @ Xs ) )
= ( ? [Ys3: list_tm,Zs3: list_tm] :
( ( Xs
= ( append_tm @ Ys3 @ ( cons_tm @ X @ Zs3 ) ) )
& ~ ( member_tm2 @ X @ ( set_tm2 @ Ys3 ) ) ) ) ) ).
% in_set_conv_decomp_first
thf(fact_308_in__set__conv__decomp__first,axiom,
! [X: nat,Xs: list_nat] :
( ( member_nat2 @ X @ ( set_nat2 @ Xs ) )
= ( ? [Ys3: list_nat,Zs3: list_nat] :
( ( Xs
= ( append_nat @ Ys3 @ ( cons_nat @ X @ Zs3 ) ) )
& ~ ( member_nat2 @ X @ ( set_nat2 @ Ys3 ) ) ) ) ) ).
% in_set_conv_decomp_first
thf(fact_309_split__list__last__prop__iff,axiom,
! [Xs: list_tm,P: tm > $o] :
( ( ? [X2: tm] :
( ( member_tm2 @ X2 @ ( set_tm2 @ Xs ) )
& ( P @ X2 ) ) )
= ( ? [Ys3: list_tm,X2: tm,Zs3: list_tm] :
( ( Xs
= ( append_tm @ Ys3 @ ( cons_tm @ X2 @ Zs3 ) ) )
& ( P @ X2 )
& ! [Y2: tm] :
( ( member_tm2 @ Y2 @ ( set_tm2 @ Zs3 ) )
=> ~ ( P @ Y2 ) ) ) ) ) ).
% split_list_last_prop_iff
thf(fact_310_split__list__last__prop__iff,axiom,
! [Xs: list_nat,P: nat > $o] :
( ( ? [X2: nat] :
( ( member_nat2 @ X2 @ ( set_nat2 @ Xs ) )
& ( P @ X2 ) ) )
= ( ? [Ys3: list_nat,X2: nat,Zs3: list_nat] :
( ( Xs
= ( append_nat @ Ys3 @ ( cons_nat @ X2 @ Zs3 ) ) )
& ( P @ X2 )
& ! [Y2: nat] :
( ( member_nat2 @ Y2 @ ( set_nat2 @ Zs3 ) )
=> ~ ( P @ Y2 ) ) ) ) ) ).
% split_list_last_prop_iff
thf(fact_311_split__list__first__prop__iff,axiom,
! [Xs: list_tm,P: tm > $o] :
( ( ? [X2: tm] :
( ( member_tm2 @ X2 @ ( set_tm2 @ Xs ) )
& ( P @ X2 ) ) )
= ( ? [Ys3: list_tm,X2: tm] :
( ? [Zs3: list_tm] :
( Xs
= ( append_tm @ Ys3 @ ( cons_tm @ X2 @ Zs3 ) ) )
& ( P @ X2 )
& ! [Y2: tm] :
( ( member_tm2 @ Y2 @ ( set_tm2 @ Ys3 ) )
=> ~ ( P @ Y2 ) ) ) ) ) ).
% split_list_first_prop_iff
thf(fact_312_split__list__first__prop__iff,axiom,
! [Xs: list_nat,P: nat > $o] :
( ( ? [X2: nat] :
( ( member_nat2 @ X2 @ ( set_nat2 @ Xs ) )
& ( P @ X2 ) ) )
= ( ? [Ys3: list_nat,X2: nat] :
( ? [Zs3: list_nat] :
( Xs
= ( append_nat @ Ys3 @ ( cons_nat @ X2 @ Zs3 ) ) )
& ( P @ X2 )
& ! [Y2: nat] :
( ( member_nat2 @ Y2 @ ( set_nat2 @ Ys3 ) )
=> ~ ( P @ Y2 ) ) ) ) ) ).
% split_list_first_prop_iff
thf(fact_313_list_Omap__ident,axiom,
! [T: list_nat] :
( ( map_nat_nat
@ ^ [X2: nat] : X2
@ T )
= T ) ).
% list.map_ident
thf(fact_314_is__env__def,axiom,
( is_env_a
= ( ^ [U: set_a,E2: nat > a] :
! [N2: nat] : ( member_a2 @ ( E2 @ N2 ) @ U ) ) ) ).
% is_env_def
thf(fact_315_is__env__def,axiom,
( is_env_nat
= ( ^ [U: set_nat,E2: nat > nat] :
! [N2: nat] : ( member_nat2 @ ( E2 @ N2 ) @ U ) ) ) ).
% is_env_def
thf(fact_316_is__env__def,axiom,
( is_env_fm
= ( ^ [U: set_fm,E2: nat > fm] :
! [N2: nat] : ( member_fm2 @ ( E2 @ N2 ) @ U ) ) ) ).
% is_env_def
thf(fact_317_semantics__list_Osimps_I2_J,axiom,
! [E: nat > tm,F: nat > list_tm > tm,T: tm,L2: list_tm] :
( ( semantics_list_tm @ E @ F @ ( cons_tm @ T @ L2 ) )
= ( cons_tm @ ( semantics_term_tm @ E @ F @ T ) @ ( semantics_list_tm @ E @ F @ L2 ) ) ) ).
% semantics_list.simps(2)
thf(fact_318_semantics__list_Osimps_I2_J,axiom,
! [E: nat > nat,F: nat > list_nat > nat,T: tm,L2: list_tm] :
( ( semantics_list_nat @ E @ F @ ( cons_tm @ T @ L2 ) )
= ( cons_nat @ ( semantics_term_nat @ E @ F @ T ) @ ( semantics_list_nat @ E @ F @ L2 ) ) ) ).
% semantics_list.simps(2)
thf(fact_319_list__ex1__simps_I2_J,axiom,
! [P: tm > $o,X: tm,Xs: list_tm] :
( ( list_ex1_tm @ P @ ( cons_tm @ X @ Xs ) )
= ( ( ( P @ X )
=> ( list_all_tm
@ ^ [Y2: tm] :
( ~ ( P @ Y2 )
| ( X = Y2 ) )
@ Xs ) )
& ( ~ ( P @ X )
=> ( list_ex1_tm @ P @ Xs ) ) ) ) ).
% list_ex1_simps(2)
thf(fact_320_list__ex1__simps_I2_J,axiom,
! [P: a > $o,X: a,Xs: list_a] :
( ( list_ex1_a @ P @ ( cons_a @ X @ Xs ) )
= ( ( ( P @ X )
=> ( list_all_a
@ ^ [Y2: a] :
( ~ ( P @ Y2 )
| ( X = Y2 ) )
@ Xs ) )
& ( ~ ( P @ X )
=> ( list_ex1_a @ P @ Xs ) ) ) ) ).
% list_ex1_simps(2)
thf(fact_321_list__ex1__simps_I2_J,axiom,
! [P: fm > $o,X: fm,Xs: list_fm] :
( ( list_ex1_fm @ P @ ( cons_fm @ X @ Xs ) )
= ( ( ( P @ X )
=> ( list_all_fm
@ ^ [Y2: fm] :
( ~ ( P @ Y2 )
| ( X = Y2 ) )
@ Xs ) )
& ( ~ ( P @ X )
=> ( list_ex1_fm @ P @ Xs ) ) ) ) ).
% list_ex1_simps(2)
thf(fact_322_list__ex1__simps_I2_J,axiom,
! [P: nat > $o,X: nat,Xs: list_nat] :
( ( list_ex1_nat @ P @ ( cons_nat @ X @ Xs ) )
= ( ( ( P @ X )
=> ( list_all_nat
@ ^ [Y2: nat] :
( ~ ( P @ Y2 )
| ( X = Y2 ) )
@ Xs ) )
& ( ~ ( P @ X )
=> ( list_ex1_nat @ P @ Xs ) ) ) ) ).
% list_ex1_simps(2)
thf(fact_323_semantics__list_Osimps_I1_J,axiom,
! [E: nat > fm,F: nat > list_fm > fm] :
( ( semantics_list_fm @ E @ F @ nil_tm )
= nil_fm ) ).
% semantics_list.simps(1)
thf(fact_324_semantics__list_Osimps_I1_J,axiom,
! [E: nat > tm,F: nat > list_tm > tm] :
( ( semantics_list_tm @ E @ F @ nil_tm )
= nil_tm ) ).
% semantics_list.simps(1)
thf(fact_325_semantics__list_Osimps_I1_J,axiom,
! [E: nat > nat,F: nat > list_nat > nat] :
( ( semantics_list_nat @ E @ F @ nil_tm )
= nil_nat ) ).
% semantics_list.simps(1)
thf(fact_326_the__elem__set,axiom,
! [X: fm] :
( ( the_elem_fm @ ( set_fm2 @ ( cons_fm @ X @ nil_fm ) ) )
= X ) ).
% the_elem_set
thf(fact_327_the__elem__set,axiom,
! [X: tm] :
( ( the_elem_tm @ ( set_tm2 @ ( cons_tm @ X @ nil_tm ) ) )
= X ) ).
% the_elem_set
thf(fact_328_the__elem__set,axiom,
! [X: nat] :
( ( the_elem_nat @ ( set_nat2 @ ( cons_nat @ X @ nil_nat ) ) )
= X ) ).
% the_elem_set
thf(fact_329_bind__simps_I2_J,axiom,
! [X: tm,Xs: list_tm,F: tm > list_nat] :
( ( bind_tm_nat @ ( cons_tm @ X @ Xs ) @ F )
= ( append_nat @ ( F @ X ) @ ( bind_tm_nat @ Xs @ F ) ) ) ).
% bind_simps(2)
thf(fact_330_bind__simps_I2_J,axiom,
! [X: nat,Xs: list_nat,F: nat > list_nat] :
( ( bind_nat_nat @ ( cons_nat @ X @ Xs ) @ F )
= ( append_nat @ ( F @ X ) @ ( bind_nat_nat @ Xs @ F ) ) ) ).
% bind_simps(2)
thf(fact_331_map__rec,axiom,
( map_nat_nat
= ( ^ [F2: nat > nat] :
( rec_li7516600145284979816at_nat @ nil_nat
@ ^ [X2: nat,Uu: list_nat] : ( cons_nat @ ( F2 @ X2 ) ) ) ) ) ).
% map_rec
thf(fact_332_map__tailrec__rev,axiom,
( map_ta7164188454487880599at_nat
= ( ^ [F2: nat > nat,As: list_nat] : ( append_nat @ ( rev_nat @ ( map_nat_nat @ F2 @ As ) ) ) ) ) ).
% map_tailrec_rev
thf(fact_333_maps__simps_I1_J,axiom,
! [F: tm > list_nat,X: tm,Xs: list_tm] :
( ( maps_tm_nat @ F @ ( cons_tm @ X @ Xs ) )
= ( append_nat @ ( F @ X ) @ ( maps_tm_nat @ F @ Xs ) ) ) ).
% maps_simps(1)
thf(fact_334_maps__simps_I1_J,axiom,
! [F: nat > list_nat,X: nat,Xs: list_nat] :
( ( maps_nat_nat @ F @ ( cons_nat @ X @ Xs ) )
= ( append_nat @ ( F @ X ) @ ( maps_nat_nat @ F @ Xs ) ) ) ).
% maps_simps(1)
thf(fact_335_not__in__set__insert,axiom,
! [X: a,Xs: list_a] :
( ~ ( member_a2 @ X @ ( set_a2 @ Xs ) )
=> ( ( insert_a @ X @ Xs )
= ( cons_a @ X @ Xs ) ) ) ).
% not_in_set_insert
thf(fact_336_not__in__set__insert,axiom,
! [X: fm,Xs: list_fm] :
( ~ ( member_fm2 @ X @ ( set_fm2 @ Xs ) )
=> ( ( insert_fm @ X @ Xs )
= ( cons_fm @ X @ Xs ) ) ) ).
% not_in_set_insert
thf(fact_337_not__in__set__insert,axiom,
! [X: tm,Xs: list_tm] :
( ~ ( member_tm2 @ X @ ( set_tm2 @ Xs ) )
=> ( ( insert_tm @ X @ Xs )
= ( cons_tm @ X @ Xs ) ) ) ).
% not_in_set_insert
thf(fact_338_not__in__set__insert,axiom,
! [X: nat,Xs: list_nat] :
( ~ ( member_nat2 @ X @ ( set_nat2 @ Xs ) )
=> ( ( insert_nat @ X @ Xs )
= ( cons_nat @ X @ Xs ) ) ) ).
% not_in_set_insert
thf(fact_339_insert__Nil,axiom,
! [X: fm] :
( ( insert_fm @ X @ nil_fm )
= ( cons_fm @ X @ nil_fm ) ) ).
% insert_Nil
thf(fact_340_insert__Nil,axiom,
! [X: tm] :
( ( insert_tm @ X @ nil_tm )
= ( cons_tm @ X @ nil_tm ) ) ).
% insert_Nil
thf(fact_341_insert__Nil,axiom,
! [X: nat] :
( ( insert_nat @ X @ nil_nat )
= ( cons_nat @ X @ nil_nat ) ) ).
% insert_Nil
thf(fact_342_map__eq__map__tailrec,axiom,
map_nat_nat = map_tailrec_nat_nat ).
% map_eq_map_tailrec
thf(fact_343_in__set__insert,axiom,
! [X: a,Xs: list_a] :
( ( member_a2 @ X @ ( set_a2 @ Xs ) )
=> ( ( insert_a @ X @ Xs )
= Xs ) ) ).
% in_set_insert
thf(fact_344_in__set__insert,axiom,
! [X: nat,Xs: list_nat] :
( ( member_nat2 @ X @ ( set_nat2 @ Xs ) )
=> ( ( insert_nat @ X @ Xs )
= Xs ) ) ).
% in_set_insert
thf(fact_345_in__set__insert,axiom,
! [X: fm,Xs: list_fm] :
( ( member_fm2 @ X @ ( set_fm2 @ Xs ) )
=> ( ( insert_fm @ X @ Xs )
= Xs ) ) ).
% in_set_insert
thf(fact_346_bind__simps_I1_J,axiom,
! [F: fm > list_fm] :
( ( bind_fm_fm @ nil_fm @ F )
= nil_fm ) ).
% bind_simps(1)
thf(fact_347_bind__simps_I1_J,axiom,
! [F: fm > list_tm] :
( ( bind_fm_tm @ nil_fm @ F )
= nil_tm ) ).
% bind_simps(1)
thf(fact_348_bind__simps_I1_J,axiom,
! [F: fm > list_nat] :
( ( bind_fm_nat @ nil_fm @ F )
= nil_nat ) ).
% bind_simps(1)
thf(fact_349_bind__simps_I1_J,axiom,
! [F: tm > list_fm] :
( ( bind_tm_fm @ nil_tm @ F )
= nil_fm ) ).
% bind_simps(1)
thf(fact_350_bind__simps_I1_J,axiom,
! [F: tm > list_tm] :
( ( bind_tm_tm @ nil_tm @ F )
= nil_tm ) ).
% bind_simps(1)
thf(fact_351_bind__simps_I1_J,axiom,
! [F: tm > list_nat] :
( ( bind_tm_nat @ nil_tm @ F )
= nil_nat ) ).
% bind_simps(1)
thf(fact_352_bind__simps_I1_J,axiom,
! [F: nat > list_fm] :
( ( bind_nat_fm @ nil_nat @ F )
= nil_fm ) ).
% bind_simps(1)
thf(fact_353_bind__simps_I1_J,axiom,
! [F: nat > list_tm] :
( ( bind_nat_tm @ nil_nat @ F )
= nil_tm ) ).
% bind_simps(1)
thf(fact_354_bind__simps_I1_J,axiom,
! [F: nat > list_nat] :
( ( bind_nat_nat @ nil_nat @ F )
= nil_nat ) ).
% bind_simps(1)
thf(fact_355_list__ex1__simps_I1_J,axiom,
! [P: fm > $o] :
~ ( list_ex1_fm @ P @ nil_fm ) ).
% list_ex1_simps(1)
thf(fact_356_list__ex1__simps_I1_J,axiom,
! [P: tm > $o] :
~ ( list_ex1_tm @ P @ nil_tm ) ).
% list_ex1_simps(1)
thf(fact_357_list__ex1__simps_I1_J,axiom,
! [P: nat > $o] :
~ ( list_ex1_nat @ P @ nil_nat ) ).
% list_ex1_simps(1)
thf(fact_358_map__tailrec__rev_Osimps_I2_J,axiom,
! [F: tm > tm,A2: tm,As2: list_tm,Bs: list_tm] :
( ( map_ta4789309763159252277_tm_tm @ F @ ( cons_tm @ A2 @ As2 ) @ Bs )
= ( map_ta4789309763159252277_tm_tm @ F @ As2 @ ( cons_tm @ ( F @ A2 ) @ Bs ) ) ) ).
% map_tailrec_rev.simps(2)
thf(fact_359_map__tailrec__rev_Osimps_I2_J,axiom,
! [F: tm > nat,A2: tm,As2: list_tm,Bs: list_nat] :
( ( map_ta7807370561492357248tm_nat @ F @ ( cons_tm @ A2 @ As2 ) @ Bs )
= ( map_ta7807370561492357248tm_nat @ F @ As2 @ ( cons_nat @ ( F @ A2 ) @ Bs ) ) ) ).
% map_tailrec_rev.simps(2)
thf(fact_360_map__tailrec__rev_Osimps_I2_J,axiom,
! [F: nat > tm,A2: nat,As2: list_nat,Bs: list_tm] :
( ( map_ta389968950240100318nat_tm @ F @ ( cons_nat @ A2 @ As2 ) @ Bs )
= ( map_ta389968950240100318nat_tm @ F @ As2 @ ( cons_tm @ ( F @ A2 ) @ Bs ) ) ) ).
% map_tailrec_rev.simps(2)
thf(fact_361_map__tailrec__rev_Osimps_I2_J,axiom,
! [F: nat > nat,A2: nat,As2: list_nat,Bs: list_nat] :
( ( map_ta7164188454487880599at_nat @ F @ ( cons_nat @ A2 @ As2 ) @ Bs )
= ( map_ta7164188454487880599at_nat @ F @ As2 @ ( cons_nat @ ( F @ A2 ) @ Bs ) ) ) ).
% map_tailrec_rev.simps(2)
thf(fact_362_maps__simps_I2_J,axiom,
! [F: fm > list_fm] :
( ( maps_fm_fm @ F @ nil_fm )
= nil_fm ) ).
% maps_simps(2)
thf(fact_363_maps__simps_I2_J,axiom,
! [F: fm > list_tm] :
( ( maps_fm_tm @ F @ nil_fm )
= nil_tm ) ).
% maps_simps(2)
thf(fact_364_maps__simps_I2_J,axiom,
! [F: fm > list_nat] :
( ( maps_fm_nat @ F @ nil_fm )
= nil_nat ) ).
% maps_simps(2)
thf(fact_365_maps__simps_I2_J,axiom,
! [F: tm > list_fm] :
( ( maps_tm_fm @ F @ nil_tm )
= nil_fm ) ).
% maps_simps(2)
thf(fact_366_maps__simps_I2_J,axiom,
! [F: tm > list_tm] :
( ( maps_tm_tm @ F @ nil_tm )
= nil_tm ) ).
% maps_simps(2)
thf(fact_367_maps__simps_I2_J,axiom,
! [F: tm > list_nat] :
( ( maps_tm_nat @ F @ nil_tm )
= nil_nat ) ).
% maps_simps(2)
thf(fact_368_maps__simps_I2_J,axiom,
! [F: nat > list_fm] :
( ( maps_nat_fm @ F @ nil_nat )
= nil_fm ) ).
% maps_simps(2)
thf(fact_369_maps__simps_I2_J,axiom,
! [F: nat > list_tm] :
( ( maps_nat_tm @ F @ nil_nat )
= nil_tm ) ).
% maps_simps(2)
thf(fact_370_maps__simps_I2_J,axiom,
! [F: nat > list_nat] :
( ( maps_nat_nat @ F @ nil_nat )
= nil_nat ) ).
% maps_simps(2)
thf(fact_371_list__ex1__iff,axiom,
( list_ex1_a
= ( ^ [P3: a > $o,Xs2: list_a] :
? [X2: a] :
( ( member_a2 @ X2 @ ( set_a2 @ Xs2 ) )
& ( P3 @ X2 )
& ! [Y2: a] :
( ( ( member_a2 @ Y2 @ ( set_a2 @ Xs2 ) )
& ( P3 @ Y2 ) )
=> ( Y2 = X2 ) ) ) ) ) ).
% list_ex1_iff
thf(fact_372_list__ex1__iff,axiom,
( list_ex1_nat
= ( ^ [P3: nat > $o,Xs2: list_nat] :
? [X2: nat] :
( ( member_nat2 @ X2 @ ( set_nat2 @ Xs2 ) )
& ( P3 @ X2 )
& ! [Y2: nat] :
( ( ( member_nat2 @ Y2 @ ( set_nat2 @ Xs2 ) )
& ( P3 @ Y2 ) )
=> ( Y2 = X2 ) ) ) ) ) ).
% list_ex1_iff
thf(fact_373_list__ex1__iff,axiom,
( list_ex1_fm
= ( ^ [P3: fm > $o,Xs2: list_fm] :
? [X2: fm] :
( ( member_fm2 @ X2 @ ( set_fm2 @ Xs2 ) )
& ( P3 @ X2 )
& ! [Y2: fm] :
( ( ( member_fm2 @ Y2 @ ( set_fm2 @ Xs2 ) )
& ( P3 @ Y2 ) )
=> ( Y2 = X2 ) ) ) ) ) ).
% list_ex1_iff
thf(fact_374_List_Oinsert__def,axiom,
( insert_a
= ( ^ [X2: a,Xs2: list_a] : ( if_list_a @ ( member_a2 @ X2 @ ( set_a2 @ Xs2 ) ) @ Xs2 @ ( cons_a @ X2 @ Xs2 ) ) ) ) ).
% List.insert_def
thf(fact_375_List_Oinsert__def,axiom,
( insert_fm
= ( ^ [X2: fm,Xs2: list_fm] : ( if_list_fm @ ( member_fm2 @ X2 @ ( set_fm2 @ Xs2 ) ) @ Xs2 @ ( cons_fm @ X2 @ Xs2 ) ) ) ) ).
% List.insert_def
thf(fact_376_List_Oinsert__def,axiom,
( insert_tm
= ( ^ [X2: tm,Xs2: list_tm] : ( if_list_tm @ ( member_tm2 @ X2 @ ( set_tm2 @ Xs2 ) ) @ Xs2 @ ( cons_tm @ X2 @ Xs2 ) ) ) ) ).
% List.insert_def
thf(fact_377_List_Oinsert__def,axiom,
( insert_nat
= ( ^ [X2: nat,Xs2: list_nat] : ( if_list_nat @ ( member_nat2 @ X2 @ ( set_nat2 @ Xs2 ) ) @ Xs2 @ ( cons_nat @ X2 @ Xs2 ) ) ) ) ).
% List.insert_def
thf(fact_378_map__tailrec__rev_Oelims,axiom,
! [X: fm > tm,Xa: list_fm,Xb: list_tm,Y: list_tm] :
( ( ( map_ta229225445363629095_fm_tm @ X @ Xa @ Xb )
= Y )
=> ( ( ( Xa = nil_fm )
=> ( Y != Xb ) )
=> ~ ! [A4: fm,As3: list_fm] :
( ( Xa
= ( cons_fm @ A4 @ As3 ) )
=> ( Y
!= ( map_ta229225445363629095_fm_tm @ X @ As3 @ ( cons_tm @ ( X @ A4 ) @ Xb ) ) ) ) ) ) ).
% map_tailrec_rev.elims
thf(fact_379_map__tailrec__rev_Oelims,axiom,
! [X: fm > nat,Xa: list_fm,Xb: list_nat,Y: list_nat] :
( ( ( map_ta6142991304421856526fm_nat @ X @ Xa @ Xb )
= Y )
=> ( ( ( Xa = nil_fm )
=> ( Y != Xb ) )
=> ~ ! [A4: fm,As3: list_fm] :
( ( Xa
= ( cons_fm @ A4 @ As3 ) )
=> ( Y
!= ( map_ta6142991304421856526fm_nat @ X @ As3 @ ( cons_nat @ ( X @ A4 ) @ Xb ) ) ) ) ) ) ).
% map_tailrec_rev.elims
thf(fact_380_map__tailrec__rev_Oelims,axiom,
! [X: tm > tm,Xa: list_tm,Xb: list_tm,Y: list_tm] :
( ( ( map_ta4789309763159252277_tm_tm @ X @ Xa @ Xb )
= Y )
=> ( ( ( Xa = nil_tm )
=> ( Y != Xb ) )
=> ~ ! [A4: tm,As3: list_tm] :
( ( Xa
= ( cons_tm @ A4 @ As3 ) )
=> ( Y
!= ( map_ta4789309763159252277_tm_tm @ X @ As3 @ ( cons_tm @ ( X @ A4 ) @ Xb ) ) ) ) ) ) ).
% map_tailrec_rev.elims
thf(fact_381_map__tailrec__rev_Oelims,axiom,
! [X: tm > nat,Xa: list_tm,Xb: list_nat,Y: list_nat] :
( ( ( map_ta7807370561492357248tm_nat @ X @ Xa @ Xb )
= Y )
=> ( ( ( Xa = nil_tm )
=> ( Y != Xb ) )
=> ~ ! [A4: tm,As3: list_tm] :
( ( Xa
= ( cons_tm @ A4 @ As3 ) )
=> ( Y
!= ( map_ta7807370561492357248tm_nat @ X @ As3 @ ( cons_nat @ ( X @ A4 ) @ Xb ) ) ) ) ) ) ).
% map_tailrec_rev.elims
thf(fact_382_map__tailrec__rev_Oelims,axiom,
! [X: nat > tm,Xa: list_nat,Xb: list_tm,Y: list_tm] :
( ( ( map_ta389968950240100318nat_tm @ X @ Xa @ Xb )
= Y )
=> ( ( ( Xa = nil_nat )
=> ( Y != Xb ) )
=> ~ ! [A4: nat,As3: list_nat] :
( ( Xa
= ( cons_nat @ A4 @ As3 ) )
=> ( Y
!= ( map_ta389968950240100318nat_tm @ X @ As3 @ ( cons_tm @ ( X @ A4 ) @ Xb ) ) ) ) ) ) ).
% map_tailrec_rev.elims
thf(fact_383_map__tailrec__rev_Oelims,axiom,
! [X: nat > nat,Xa: list_nat,Xb: list_nat,Y: list_nat] :
( ( ( map_ta7164188454487880599at_nat @ X @ Xa @ Xb )
= Y )
=> ( ( ( Xa = nil_nat )
=> ( Y != Xb ) )
=> ~ ! [A4: nat,As3: list_nat] :
( ( Xa
= ( cons_nat @ A4 @ As3 ) )
=> ( Y
!= ( map_ta7164188454487880599at_nat @ X @ As3 @ ( cons_nat @ ( X @ A4 ) @ Xb ) ) ) ) ) ) ).
% map_tailrec_rev.elims
thf(fact_384_upd__lemma_H_I2_J,axiom,
! [N: nat,Ts: list_tm,E: nat > a,F: nat > list_a > a,Z: list_a > a] :
( ~ ( member_nat2 @ N @ ( paramsts @ Ts ) )
=> ( ( semantics_list_a @ E @ ( fun_upd_nat_list_a_a @ F @ N @ Z ) @ Ts )
= ( semantics_list_a @ E @ F @ Ts ) ) ) ).
% upd_lemma'(2)
thf(fact_385_upd__lemma_H_I1_J,axiom,
! [N: nat,T: tm,E: nat > a,F: nat > list_a > a,Z: list_a > a] :
( ~ ( member_nat2 @ N @ ( paramst @ T ) )
=> ( ( semantics_term_a @ E @ ( fun_upd_nat_list_a_a @ F @ N @ Z ) @ T )
= ( semantics_term_a @ E @ F @ T ) ) ) ).
% upd_lemma'(1)
thf(fact_386_product__lists_Osimps_I1_J,axiom,
( ( product_lists_fm @ nil_list_fm )
= ( cons_list_fm @ nil_fm @ nil_list_fm ) ) ).
% product_lists.simps(1)
thf(fact_387_product__lists_Osimps_I1_J,axiom,
( ( product_lists_tm @ nil_list_tm )
= ( cons_list_tm @ nil_tm @ nil_list_tm ) ) ).
% product_lists.simps(1)
thf(fact_388_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_389_s3,axiom,
( news
= ( ^ [C2: nat] :
( list_all_fm
@ ^ [P4: fm] :
~ ( member_nat2 @ C2 @ ( params @ P4 ) ) ) ) ) ).
% s3
thf(fact_390_subseqs_Osimps_I1_J,axiom,
( ( subseqs_fm @ nil_fm )
= ( cons_list_fm @ nil_fm @ nil_list_fm ) ) ).
% subseqs.simps(1)
thf(fact_391_subseqs_Osimps_I1_J,axiom,
( ( subseqs_tm @ nil_tm )
= ( cons_list_tm @ nil_tm @ nil_list_tm ) ) ).
% subseqs.simps(1)
thf(fact_392_subseqs_Osimps_I1_J,axiom,
( ( subseqs_nat @ nil_nat )
= ( cons_list_nat @ nil_nat @ nil_list_nat ) ) ).
% subseqs.simps(1)
thf(fact_393_upd__lemma,axiom,
! [N: nat,P2: fm,E: nat > a,F: nat > list_a > a,Z: list_a > a,G: nat > list_a > $o] :
( ~ ( member_nat2 @ N @ ( params @ P2 ) )
=> ( ( semantics_a @ E @ ( fun_upd_nat_list_a_a @ F @ N @ Z ) @ G @ P2 )
= ( semantics_a @ E @ F @ G @ P2 ) ) ) ).
% upd_lemma
thf(fact_394_news_Osimps_I1_J,axiom,
! [C: nat] : ( news @ C @ nil_fm ) ).
% news.simps(1)
thf(fact_395_can__select__def,axiom,
( can_select_a
= ( ^ [P3: a > $o,A5: set_a] :
? [X2: a] :
( ( member_a2 @ X2 @ A5 )
& ( P3 @ X2 )
& ! [Y2: a] :
( ( ( member_a2 @ Y2 @ A5 )
& ( P3 @ Y2 ) )
=> ( Y2 = X2 ) ) ) ) ) ).
% can_select_def
thf(fact_396_can__select__def,axiom,
( can_select_nat
= ( ^ [P3: nat > $o,A5: set_nat] :
? [X2: nat] :
( ( member_nat2 @ X2 @ A5 )
& ( P3 @ X2 )
& ! [Y2: nat] :
( ( ( member_nat2 @ Y2 @ A5 )
& ( P3 @ Y2 ) )
=> ( Y2 = X2 ) ) ) ) ) ).
% can_select_def
thf(fact_397_can__select__def,axiom,
( can_select_fm
= ( ^ [P3: fm > $o,A5: set_fm] :
? [X2: fm] :
( ( member_fm2 @ X2 @ A5 )
& ( P3 @ X2 )
& ! [Y2: fm] :
( ( ( member_fm2 @ Y2 @ A5 )
& ( P3 @ Y2 ) )
=> ( Y2 = X2 ) ) ) ) ) ).
% can_select_def
thf(fact_398_Cons__in__subseqsD,axiom,
! [Y: tm,Ys: list_tm,Xs: list_tm] :
( ( member_list_tm @ ( cons_tm @ Y @ Ys ) @ ( set_list_tm2 @ ( subseqs_tm @ Xs ) ) )
=> ( member_list_tm @ Ys @ ( set_list_tm2 @ ( subseqs_tm @ Xs ) ) ) ) ).
% Cons_in_subseqsD
thf(fact_399_Cons__in__subseqsD,axiom,
! [Y: nat,Ys: list_nat,Xs: list_nat] :
( ( member_list_nat @ ( cons_nat @ Y @ Ys ) @ ( set_list_nat2 @ ( subseqs_nat @ Xs ) ) )
=> ( member_list_nat @ Ys @ ( set_list_nat2 @ ( subseqs_nat @ Xs ) ) ) ) ).
% Cons_in_subseqsD
thf(fact_400_subseqs_Osimps_I2_J,axiom,
! [X: tm,Xs: list_tm] :
( ( subseqs_tm @ ( cons_tm @ X @ Xs ) )
= ( append_list_tm @ ( map_list_tm_list_tm @ ( cons_tm @ X ) @ ( subseqs_tm @ Xs ) ) @ ( subseqs_tm @ Xs ) ) ) ).
% subseqs.simps(2)
thf(fact_401_subseqs_Osimps_I2_J,axiom,
! [X: nat,Xs: list_nat] :
( ( subseqs_nat @ ( cons_nat @ X @ Xs ) )
= ( append_list_nat @ ( map_li7225945977422193158st_nat @ ( cons_nat @ X ) @ ( subseqs_nat @ Xs ) ) @ ( subseqs_nat @ Xs ) ) ) ).
% subseqs.simps(2)
thf(fact_402_s1_I1_J,axiom,
( new_term
= ( ^ [C2: nat,T2: tm] :
~ ( member_nat2 @ C2 @ ( paramst @ T2 ) ) ) ) ).
% s1(1)
thf(fact_403_Succ__def,axiom,
( bNF_Greatest_Succ_fm
= ( ^ [Kl: set_list_fm,Kl2: list_fm] :
( collect_fm
@ ^ [K: fm] : ( member_list_fm @ ( append_fm @ Kl2 @ ( cons_fm @ K @ nil_fm ) ) @ Kl ) ) ) ) ).
% Succ_def
thf(fact_404_Succ__def,axiom,
( bNF_Greatest_Succ_tm
= ( ^ [Kl: set_list_tm,Kl2: list_tm] :
( collect_tm
@ ^ [K: tm] : ( member_list_tm @ ( append_tm @ Kl2 @ ( cons_tm @ K @ nil_tm ) ) @ Kl ) ) ) ) ).
% Succ_def
thf(fact_405_Succ__def,axiom,
( bNF_Gr6352880689984616693cc_nat
= ( ^ [Kl: set_list_nat,Kl2: list_nat] :
( collect_nat
@ ^ [K: nat] : ( member_list_nat @ ( append_nat @ Kl2 @ ( cons_nat @ K @ nil_nat ) ) @ Kl ) ) ) ) ).
% Succ_def
thf(fact_406_SuccI,axiom,
! [Kl3: list_a,K2: a,Kl4: set_list_a] :
( ( member_list_a @ ( append_a @ Kl3 @ ( cons_a @ K2 @ nil_a ) ) @ Kl4 )
=> ( member_a2 @ K2 @ ( bNF_Greatest_Succ_a @ Kl4 @ Kl3 ) ) ) ).
% SuccI
thf(fact_407_SuccI,axiom,
! [Kl3: list_fm,K2: fm,Kl4: set_list_fm] :
( ( member_list_fm @ ( append_fm @ Kl3 @ ( cons_fm @ K2 @ nil_fm ) ) @ Kl4 )
=> ( member_fm2 @ K2 @ ( bNF_Greatest_Succ_fm @ Kl4 @ Kl3 ) ) ) ).
% SuccI
thf(fact_408_SuccI,axiom,
! [Kl3: list_tm,K2: tm,Kl4: set_list_tm] :
( ( member_list_tm @ ( append_tm @ Kl3 @ ( cons_tm @ K2 @ nil_tm ) ) @ Kl4 )
=> ( member_tm2 @ K2 @ ( bNF_Greatest_Succ_tm @ Kl4 @ Kl3 ) ) ) ).
% SuccI
thf(fact_409_SuccI,axiom,
! [Kl3: list_nat,K2: nat,Kl4: set_list_nat] :
( ( member_list_nat @ ( append_nat @ Kl3 @ ( cons_nat @ K2 @ nil_nat ) ) @ Kl4 )
=> ( member_nat2 @ K2 @ ( bNF_Gr6352880689984616693cc_nat @ Kl4 @ Kl3 ) ) ) ).
% SuccI
thf(fact_410_SuccD,axiom,
! [K2: a,Kl4: set_list_a,Kl3: list_a] :
( ( member_a2 @ K2 @ ( bNF_Greatest_Succ_a @ Kl4 @ Kl3 ) )
=> ( member_list_a @ ( append_a @ Kl3 @ ( cons_a @ K2 @ nil_a ) ) @ Kl4 ) ) ).
% SuccD
thf(fact_411_SuccD,axiom,
! [K2: fm,Kl4: set_list_fm,Kl3: list_fm] :
( ( member_fm2 @ K2 @ ( bNF_Greatest_Succ_fm @ Kl4 @ Kl3 ) )
=> ( member_list_fm @ ( append_fm @ Kl3 @ ( cons_fm @ K2 @ nil_fm ) ) @ Kl4 ) ) ).
% SuccD
thf(fact_412_SuccD,axiom,
! [K2: tm,Kl4: set_list_tm,Kl3: list_tm] :
( ( member_tm2 @ K2 @ ( bNF_Greatest_Succ_tm @ Kl4 @ Kl3 ) )
=> ( member_list_tm @ ( append_tm @ Kl3 @ ( cons_tm @ K2 @ nil_tm ) ) @ Kl4 ) ) ).
% SuccD
thf(fact_413_SuccD,axiom,
! [K2: nat,Kl4: set_list_nat,Kl3: list_nat] :
( ( member_nat2 @ K2 @ ( bNF_Gr6352880689984616693cc_nat @ Kl4 @ Kl3 ) )
=> ( member_list_nat @ ( append_nat @ Kl3 @ ( cons_nat @ K2 @ nil_nat ) ) @ Kl4 ) ) ).
% SuccD
thf(fact_414_p1,axiom,
paramst2 = paramst ).
% p1
thf(fact_415_s1_I2_J,axiom,
( new_list
= ( ^ [C2: nat,L: list_tm] :
~ ( member_nat2 @ C2 @ ( paramsts @ L ) ) ) ) ).
% s1(2)
thf(fact_416_member,axiom,
( member_a
= ( ^ [P4: a,Z2: list_a] : ( member_a2 @ P4 @ ( set_a2 @ Z2 ) ) ) ) ).
% member
thf(fact_417_member,axiom,
( member_nat
= ( ^ [P4: nat,Z2: list_nat] : ( member_nat2 @ P4 @ ( set_nat2 @ Z2 ) ) ) ) ).
% member
thf(fact_418_member,axiom,
( member_fm
= ( ^ [P4: fm,Z2: list_fm] : ( member_fm2 @ P4 @ ( set_fm2 @ Z2 ) ) ) ) ).
% member
thf(fact_419_new__list_Osimps_I2_J,axiom,
! [C: nat,T: tm,L2: list_tm] :
( ( new_list @ C @ ( cons_tm @ T @ L2 ) )
= ( ( ( new_term @ C @ T )
=> ( new_list @ C @ L2 ) )
& ( new_term @ C @ T ) ) ) ).
% new_list.simps(2)
thf(fact_420_SeCaV_Omember_Osimps_I2_J,axiom,
! [P2: tm,Q2: tm,Z: list_tm] :
( ( member_tm @ P2 @ ( cons_tm @ Q2 @ Z ) )
= ( ( P2 != Q2 )
=> ( member_tm @ P2 @ Z ) ) ) ).
% SeCaV.member.simps(2)
thf(fact_421_SeCaV_Omember_Osimps_I2_J,axiom,
! [P2: nat,Q2: nat,Z: list_nat] :
( ( member_nat @ P2 @ ( cons_nat @ Q2 @ Z ) )
= ( ( P2 != Q2 )
=> ( member_nat @ P2 @ Z ) ) ) ).
% SeCaV.member.simps(2)
thf(fact_422_SeCaV_Omember_Osimps_I1_J,axiom,
! [P2: fm] :
~ ( member_fm @ P2 @ nil_fm ) ).
% SeCaV.member.simps(1)
thf(fact_423_SeCaV_Omember_Osimps_I1_J,axiom,
! [P2: tm] :
~ ( member_tm @ P2 @ nil_tm ) ).
% SeCaV.member.simps(1)
thf(fact_424_SeCaV_Omember_Osimps_I1_J,axiom,
! [P2: nat] :
~ ( member_nat @ P2 @ nil_nat ) ).
% SeCaV.member.simps(1)
thf(fact_425_new__list_Osimps_I1_J,axiom,
! [C: nat] : ( new_list @ C @ nil_tm ) ).
% new_list.simps(1)
thf(fact_426_empty__Shift,axiom,
! [Kl4: set_list_a,K2: a] :
( ( member_list_a @ nil_a @ Kl4 )
=> ( ( member_a2 @ K2 @ ( bNF_Greatest_Succ_a @ Kl4 @ nil_a ) )
=> ( member_list_a @ nil_a @ ( bNF_Greatest_Shift_a @ Kl4 @ K2 ) ) ) ) ).
% empty_Shift
thf(fact_427_empty__Shift,axiom,
! [Kl4: set_list_fm,K2: fm] :
( ( member_list_fm @ nil_fm @ Kl4 )
=> ( ( member_fm2 @ K2 @ ( bNF_Greatest_Succ_fm @ Kl4 @ nil_fm ) )
=> ( member_list_fm @ nil_fm @ ( bNF_Gr6607445516916672786ift_fm @ Kl4 @ K2 ) ) ) ) ).
% empty_Shift
thf(fact_428_empty__Shift,axiom,
! [Kl4: set_list_tm,K2: tm] :
( ( member_list_tm @ nil_tm @ Kl4 )
=> ( ( member_tm2 @ K2 @ ( bNF_Greatest_Succ_tm @ Kl4 @ nil_tm ) )
=> ( member_list_tm @ nil_tm @ ( bNF_Gr6607445516917591172ift_tm @ Kl4 @ K2 ) ) ) ) ).
% empty_Shift
thf(fact_429_empty__Shift,axiom,
! [Kl4: set_list_nat,K2: nat] :
( ( member_list_nat @ nil_nat @ Kl4 )
=> ( ( member_nat2 @ K2 @ ( bNF_Gr6352880689984616693cc_nat @ Kl4 @ nil_nat ) )
=> ( member_list_nat @ nil_nat @ ( bNF_Gr1872714664788909425ft_nat @ Kl4 @ K2 ) ) ) ) ).
% empty_Shift
thf(fact_430_Succ__Shift,axiom,
! [Kl4: set_list_tm,K2: tm,Kl3: list_tm] :
( ( bNF_Greatest_Succ_tm @ ( bNF_Gr6607445516917591172ift_tm @ Kl4 @ K2 ) @ Kl3 )
= ( bNF_Greatest_Succ_tm @ Kl4 @ ( cons_tm @ K2 @ Kl3 ) ) ) ).
% Succ_Shift
thf(fact_431_Succ__Shift,axiom,
! [Kl4: set_list_nat,K2: nat,Kl3: list_nat] :
( ( bNF_Gr6352880689984616693cc_nat @ ( bNF_Gr1872714664788909425ft_nat @ Kl4 @ K2 ) @ Kl3 )
= ( bNF_Gr6352880689984616693cc_nat @ Kl4 @ ( cons_nat @ K2 @ Kl3 ) ) ) ).
% Succ_Shift
thf(fact_432_ext_Osimps_I2_J,axiom,
! [Y: list_tm,P2: tm,Z: list_tm] :
( ( ext_tm @ Y @ ( cons_tm @ P2 @ Z ) )
= ( ( ( member_tm @ P2 @ Y )
=> ( ext_tm @ Y @ Z ) )
& ( member_tm @ P2 @ Y ) ) ) ).
% ext.simps(2)
thf(fact_433_ext_Osimps_I2_J,axiom,
! [Y: list_nat,P2: nat,Z: list_nat] :
( ( ext_nat @ Y @ ( cons_nat @ P2 @ Z ) )
= ( ( ( member_nat @ P2 @ Y )
=> ( ext_nat @ Y @ Z ) )
& ( member_nat @ P2 @ Y ) ) ) ).
% ext.simps(2)
thf(fact_434_concat__eq__append__conv,axiom,
! [Xss2: list_list_fm,Ys: list_fm,Zs: list_fm] :
( ( ( concat_fm @ Xss2 )
= ( append_fm @ Ys @ Zs ) )
= ( ( ( Xss2 = nil_list_fm )
=> ( ( Ys = nil_fm )
& ( Zs = nil_fm ) ) )
& ( ( Xss2 != nil_list_fm )
=> ? [Xss1: list_list_fm,Xs2: list_fm,Xs5: list_fm,Xss22: list_list_fm] :
( ( Xss2
= ( append_list_fm @ Xss1 @ ( cons_list_fm @ ( append_fm @ Xs2 @ Xs5 ) @ Xss22 ) ) )
& ( Ys
= ( append_fm @ ( concat_fm @ Xss1 ) @ Xs2 ) )
& ( Zs
= ( append_fm @ Xs5 @ ( concat_fm @ Xss22 ) ) ) ) ) ) ) ).
% concat_eq_append_conv
thf(fact_435_concat__eq__append__conv,axiom,
! [Xss2: list_list_tm,Ys: list_tm,Zs: list_tm] :
( ( ( concat_tm @ Xss2 )
= ( append_tm @ Ys @ Zs ) )
= ( ( ( Xss2 = nil_list_tm )
=> ( ( Ys = nil_tm )
& ( Zs = nil_tm ) ) )
& ( ( Xss2 != nil_list_tm )
=> ? [Xss1: list_list_tm,Xs2: list_tm,Xs5: list_tm,Xss22: list_list_tm] :
( ( Xss2
= ( append_list_tm @ Xss1 @ ( cons_list_tm @ ( append_tm @ Xs2 @ Xs5 ) @ Xss22 ) ) )
& ( Ys
= ( append_tm @ ( concat_tm @ Xss1 ) @ Xs2 ) )
& ( Zs
= ( append_tm @ Xs5 @ ( concat_tm @ Xss22 ) ) ) ) ) ) ) ).
% concat_eq_append_conv
thf(fact_436_concat__eq__append__conv,axiom,
! [Xss2: list_list_nat,Ys: list_nat,Zs: list_nat] :
( ( ( concat_nat @ Xss2 )
= ( append_nat @ Ys @ Zs ) )
= ( ( ( Xss2 = nil_list_nat )
=> ( ( Ys = nil_nat )
& ( Zs = nil_nat ) ) )
& ( ( Xss2 != nil_list_nat )
=> ? [Xss1: list_list_nat,Xs2: list_nat,Xs5: list_nat,Xss22: list_list_nat] :
( ( Xss2
= ( append_list_nat @ Xss1 @ ( cons_list_nat @ ( append_nat @ Xs2 @ Xs5 ) @ Xss22 ) ) )
& ( Ys
= ( append_nat @ ( concat_nat @ Xss1 ) @ Xs2 ) )
& ( Zs
= ( append_nat @ Xs5 @ ( concat_nat @ Xss22 ) ) ) ) ) ) ) ).
% concat_eq_append_conv
thf(fact_437_concat__map__singleton,axiom,
! [F: nat > nat,Xs: list_nat] :
( ( concat_nat
@ ( map_nat_list_nat
@ ^ [X2: nat] : ( cons_nat @ ( F @ X2 ) @ nil_nat )
@ Xs ) )
= ( map_nat_nat @ F @ Xs ) ) ).
% concat_map_singleton
thf(fact_438_concat__eq__appendD,axiom,
! [Xss2: list_list_nat,Ys: list_nat,Zs: list_nat] :
( ( ( concat_nat @ Xss2 )
= ( append_nat @ Ys @ Zs ) )
=> ( ( Xss2 != nil_list_nat )
=> ? [Xss12: list_list_nat,Xs3: list_nat,Xs6: list_nat,Xss23: list_list_nat] :
( ( Xss2
= ( append_list_nat @ Xss12 @ ( cons_list_nat @ ( append_nat @ Xs3 @ Xs6 ) @ Xss23 ) ) )
& ( Ys
= ( append_nat @ ( concat_nat @ Xss12 ) @ Xs3 ) )
& ( Zs
= ( append_nat @ Xs6 @ ( concat_nat @ Xss23 ) ) ) ) ) ) ).
% concat_eq_appendD
thf(fact_439_product__lists_Osimps_I2_J,axiom,
! [Xs: list_tm,Xss2: list_list_tm] :
( ( product_lists_tm @ ( cons_list_tm @ Xs @ Xss2 ) )
= ( concat_list_tm
@ ( map_tm_list_list_tm
@ ^ [X2: tm] : ( map_list_tm_list_tm @ ( cons_tm @ X2 ) @ ( product_lists_tm @ Xss2 ) )
@ Xs ) ) ) ).
% product_lists.simps(2)
thf(fact_440_product__lists_Osimps_I2_J,axiom,
! [Xs: list_nat,Xss2: list_list_nat] :
( ( product_lists_nat @ ( cons_list_nat @ Xs @ Xss2 ) )
= ( concat_list_nat
@ ( map_na6205611841492582150st_nat
@ ^ [X2: nat] : ( map_li7225945977422193158st_nat @ ( cons_nat @ X2 ) @ ( product_lists_nat @ Xss2 ) )
@ Xs ) ) ) ).
% product_lists.simps(2)
thf(fact_441_butlast__snoc,axiom,
! [Xs: list_fm,X: fm] :
( ( butlast_fm @ ( append_fm @ Xs @ ( cons_fm @ X @ nil_fm ) ) )
= Xs ) ).
% butlast_snoc
thf(fact_442_butlast__snoc,axiom,
! [Xs: list_tm,X: tm] :
( ( butlast_tm @ ( append_tm @ Xs @ ( cons_tm @ X @ nil_tm ) ) )
= Xs ) ).
% butlast_snoc
thf(fact_443_butlast__snoc,axiom,
! [Xs: list_nat,X: nat] :
( ( butlast_nat @ ( append_nat @ Xs @ ( cons_nat @ X @ nil_nat ) ) )
= Xs ) ).
% butlast_snoc
thf(fact_444_Nil__eq__concat__conv,axiom,
! [Xss2: list_list_fm] :
( ( nil_fm
= ( concat_fm @ Xss2 ) )
= ( ! [X2: list_fm] :
( ( member_list_fm @ X2 @ ( set_list_fm2 @ Xss2 ) )
=> ( X2 = nil_fm ) ) ) ) ).
% Nil_eq_concat_conv
thf(fact_445_Nil__eq__concat__conv,axiom,
! [Xss2: list_list_tm] :
( ( nil_tm
= ( concat_tm @ Xss2 ) )
= ( ! [X2: list_tm] :
( ( member_list_tm @ X2 @ ( set_list_tm2 @ Xss2 ) )
=> ( X2 = nil_tm ) ) ) ) ).
% Nil_eq_concat_conv
thf(fact_446_Nil__eq__concat__conv,axiom,
! [Xss2: list_list_nat] :
( ( nil_nat
= ( concat_nat @ Xss2 ) )
= ( ! [X2: list_nat] :
( ( member_list_nat @ X2 @ ( set_list_nat2 @ Xss2 ) )
=> ( X2 = nil_nat ) ) ) ) ).
% Nil_eq_concat_conv
thf(fact_447_concat__eq__Nil__conv,axiom,
! [Xss2: list_list_fm] :
( ( ( concat_fm @ Xss2 )
= nil_fm )
= ( ! [X2: list_fm] :
( ( member_list_fm @ X2 @ ( set_list_fm2 @ Xss2 ) )
=> ( X2 = nil_fm ) ) ) ) ).
% concat_eq_Nil_conv
thf(fact_448_concat__eq__Nil__conv,axiom,
! [Xss2: list_list_tm] :
( ( ( concat_tm @ Xss2 )
= nil_tm )
= ( ! [X2: list_tm] :
( ( member_list_tm @ X2 @ ( set_list_tm2 @ Xss2 ) )
=> ( X2 = nil_tm ) ) ) ) ).
% concat_eq_Nil_conv
thf(fact_449_concat__eq__Nil__conv,axiom,
! [Xss2: list_list_nat] :
( ( ( concat_nat @ Xss2 )
= nil_nat )
= ( ! [X2: list_nat] :
( ( member_list_nat @ X2 @ ( set_list_nat2 @ Xss2 ) )
=> ( X2 = nil_nat ) ) ) ) ).
% concat_eq_Nil_conv
thf(fact_450_concat__append,axiom,
! [Xs: list_list_nat,Ys: list_list_nat] :
( ( concat_nat @ ( append_list_nat @ Xs @ Ys ) )
= ( append_nat @ ( concat_nat @ Xs ) @ ( concat_nat @ Ys ) ) ) ).
% concat_append
thf(fact_451_butlast_Osimps_I1_J,axiom,
( ( butlast_fm @ nil_fm )
= nil_fm ) ).
% butlast.simps(1)
thf(fact_452_butlast_Osimps_I1_J,axiom,
( ( butlast_tm @ nil_tm )
= nil_tm ) ).
% butlast.simps(1)
thf(fact_453_butlast_Osimps_I1_J,axiom,
( ( butlast_nat @ nil_nat )
= nil_nat ) ).
% butlast.simps(1)
thf(fact_454_in__set__butlastD,axiom,
! [X: a,Xs: list_a] :
( ( member_a2 @ X @ ( set_a2 @ ( butlast_a @ Xs ) ) )
=> ( member_a2 @ X @ ( set_a2 @ Xs ) ) ) ).
% in_set_butlastD
thf(fact_455_in__set__butlastD,axiom,
! [X: nat,Xs: list_nat] :
( ( member_nat2 @ X @ ( set_nat2 @ ( butlast_nat @ Xs ) ) )
=> ( member_nat2 @ X @ ( set_nat2 @ Xs ) ) ) ).
% in_set_butlastD
thf(fact_456_in__set__butlastD,axiom,
! [X: fm,Xs: list_fm] :
( ( member_fm2 @ X @ ( set_fm2 @ ( butlast_fm @ Xs ) ) )
=> ( member_fm2 @ X @ ( set_fm2 @ Xs ) ) ) ).
% in_set_butlastD
thf(fact_457_map__butlast,axiom,
! [F: nat > nat,Xs: list_nat] :
( ( map_nat_nat @ F @ ( butlast_nat @ Xs ) )
= ( butlast_nat @ ( map_nat_nat @ F @ Xs ) ) ) ).
% map_butlast
thf(fact_458_concat_Osimps_I1_J,axiom,
( ( concat_fm @ nil_list_fm )
= nil_fm ) ).
% concat.simps(1)
thf(fact_459_concat_Osimps_I1_J,axiom,
( ( concat_tm @ nil_list_tm )
= nil_tm ) ).
% concat.simps(1)
thf(fact_460_concat_Osimps_I1_J,axiom,
( ( concat_nat @ nil_list_nat )
= nil_nat ) ).
% concat.simps(1)
thf(fact_461_butlast_Osimps_I2_J,axiom,
! [Xs: list_fm,X: fm] :
( ( ( Xs = nil_fm )
=> ( ( butlast_fm @ ( cons_fm @ X @ Xs ) )
= nil_fm ) )
& ( ( Xs != nil_fm )
=> ( ( butlast_fm @ ( cons_fm @ X @ Xs ) )
= ( cons_fm @ X @ ( butlast_fm @ Xs ) ) ) ) ) ).
% butlast.simps(2)
thf(fact_462_butlast_Osimps_I2_J,axiom,
! [Xs: list_tm,X: tm] :
( ( ( Xs = nil_tm )
=> ( ( butlast_tm @ ( cons_tm @ X @ Xs ) )
= nil_tm ) )
& ( ( Xs != nil_tm )
=> ( ( butlast_tm @ ( cons_tm @ X @ Xs ) )
= ( cons_tm @ X @ ( butlast_tm @ Xs ) ) ) ) ) ).
% butlast.simps(2)
thf(fact_463_butlast_Osimps_I2_J,axiom,
! [Xs: list_nat,X: nat] :
( ( ( Xs = nil_nat )
=> ( ( butlast_nat @ ( cons_nat @ X @ Xs ) )
= nil_nat ) )
& ( ( Xs != nil_nat )
=> ( ( butlast_nat @ ( cons_nat @ X @ Xs ) )
= ( cons_nat @ X @ ( butlast_nat @ Xs ) ) ) ) ) ).
% butlast.simps(2)
thf(fact_464_concat_Osimps_I2_J,axiom,
! [X: list_nat,Xs: list_list_nat] :
( ( concat_nat @ ( cons_list_nat @ X @ Xs ) )
= ( append_nat @ X @ ( concat_nat @ Xs ) ) ) ).
% concat.simps(2)
thf(fact_465_butlast__append,axiom,
! [Ys: list_fm,Xs: list_fm] :
( ( ( Ys = nil_fm )
=> ( ( butlast_fm @ ( append_fm @ Xs @ Ys ) )
= ( butlast_fm @ Xs ) ) )
& ( ( Ys != nil_fm )
=> ( ( butlast_fm @ ( append_fm @ Xs @ Ys ) )
= ( append_fm @ Xs @ ( butlast_fm @ Ys ) ) ) ) ) ).
% butlast_append
thf(fact_466_butlast__append,axiom,
! [Ys: list_tm,Xs: list_tm] :
( ( ( Ys = nil_tm )
=> ( ( butlast_tm @ ( append_tm @ Xs @ Ys ) )
= ( butlast_tm @ Xs ) ) )
& ( ( Ys != nil_tm )
=> ( ( butlast_tm @ ( append_tm @ Xs @ Ys ) )
= ( append_tm @ Xs @ ( butlast_tm @ Ys ) ) ) ) ) ).
% butlast_append
thf(fact_467_butlast__append,axiom,
! [Ys: list_nat,Xs: list_nat] :
( ( ( Ys = nil_nat )
=> ( ( butlast_nat @ ( append_nat @ Xs @ Ys ) )
= ( butlast_nat @ Xs ) ) )
& ( ( Ys != nil_nat )
=> ( ( butlast_nat @ ( append_nat @ Xs @ Ys ) )
= ( append_nat @ Xs @ ( butlast_nat @ Ys ) ) ) ) ) ).
% butlast_append
thf(fact_468_in__set__butlast__appendI,axiom,
! [X: a,Xs: list_a,Ys: list_a] :
( ( ( member_a2 @ X @ ( set_a2 @ ( butlast_a @ Xs ) ) )
| ( member_a2 @ X @ ( set_a2 @ ( butlast_a @ Ys ) ) ) )
=> ( member_a2 @ X @ ( set_a2 @ ( butlast_a @ ( append_a @ Xs @ Ys ) ) ) ) ) ).
% in_set_butlast_appendI
thf(fact_469_in__set__butlast__appendI,axiom,
! [X: fm,Xs: list_fm,Ys: list_fm] :
( ( ( member_fm2 @ X @ ( set_fm2 @ ( butlast_fm @ Xs ) ) )
| ( member_fm2 @ X @ ( set_fm2 @ ( butlast_fm @ Ys ) ) ) )
=> ( member_fm2 @ X @ ( set_fm2 @ ( butlast_fm @ ( append_fm @ Xs @ Ys ) ) ) ) ) ).
% in_set_butlast_appendI
thf(fact_470_in__set__butlast__appendI,axiom,
! [X: nat,Xs: list_nat,Ys: list_nat] :
( ( ( member_nat2 @ X @ ( set_nat2 @ ( butlast_nat @ Xs ) ) )
| ( member_nat2 @ X @ ( set_nat2 @ ( butlast_nat @ Ys ) ) ) )
=> ( member_nat2 @ X @ ( set_nat2 @ ( butlast_nat @ ( append_nat @ Xs @ Ys ) ) ) ) ) ).
% in_set_butlast_appendI
thf(fact_471_map__concat,axiom,
! [F: nat > nat,Xs: list_list_nat] :
( ( map_nat_nat @ F @ ( concat_nat @ Xs ) )
= ( concat_nat @ ( map_li7225945977422193158st_nat @ ( map_nat_nat @ F ) @ Xs ) ) ) ).
% map_concat
thf(fact_472_ShiftD,axiom,
! [Kl3: list_tm,Kl4: set_list_tm,K2: tm] :
( ( member_list_tm @ Kl3 @ ( bNF_Gr6607445516917591172ift_tm @ Kl4 @ K2 ) )
=> ( member_list_tm @ ( cons_tm @ K2 @ Kl3 ) @ Kl4 ) ) ).
% ShiftD
thf(fact_473_ShiftD,axiom,
! [Kl3: list_nat,Kl4: set_list_nat,K2: nat] :
( ( member_list_nat @ Kl3 @ ( bNF_Gr1872714664788909425ft_nat @ Kl4 @ K2 ) )
=> ( member_list_nat @ ( cons_nat @ K2 @ Kl3 ) @ Kl4 ) ) ).
% ShiftD
thf(fact_474_ext_Osimps_I1_J,axiom,
! [Y: list_fm] : ( ext_fm @ Y @ nil_fm ) ).
% ext.simps(1)
thf(fact_475_ext_Osimps_I1_J,axiom,
! [Y: list_tm] : ( ext_tm @ Y @ nil_tm ) ).
% ext.simps(1)
thf(fact_476_ext_Osimps_I1_J,axiom,
! [Y: list_nat] : ( ext_nat @ Y @ nil_nat ) ).
% ext.simps(1)
thf(fact_477_Shift__def,axiom,
( bNF_Gr6607445516917591172ift_tm
= ( ^ [Kl: set_list_tm,K: tm] :
( collect_list_tm
@ ^ [Kl2: list_tm] : ( member_list_tm @ ( cons_tm @ K @ Kl2 ) @ Kl ) ) ) ) ).
% Shift_def
thf(fact_478_Shift__def,axiom,
( bNF_Gr1872714664788909425ft_nat
= ( ^ [Kl: set_list_nat,K: nat] :
( collect_list_nat
@ ^ [Kl2: list_nat] : ( member_list_nat @ ( cons_nat @ K @ Kl2 ) @ Kl ) ) ) ) ).
% Shift_def
thf(fact_479_append__butlast__last__id,axiom,
! [Xs: list_fm] :
( ( Xs != nil_fm )
=> ( ( append_fm @ ( butlast_fm @ Xs ) @ ( cons_fm @ ( last_fm @ Xs ) @ nil_fm ) )
= Xs ) ) ).
% append_butlast_last_id
thf(fact_480_append__butlast__last__id,axiom,
! [Xs: list_tm] :
( ( Xs != nil_tm )
=> ( ( append_tm @ ( butlast_tm @ Xs ) @ ( cons_tm @ ( last_tm @ Xs ) @ nil_tm ) )
= Xs ) ) ).
% append_butlast_last_id
thf(fact_481_append__butlast__last__id,axiom,
! [Xs: list_nat] :
( ( Xs != nil_nat )
=> ( ( append_nat @ ( butlast_nat @ Xs ) @ ( cons_nat @ ( last_nat @ Xs ) @ nil_nat ) )
= Xs ) ) ).
% append_butlast_last_id
thf(fact_482_snoc__eq__iff__butlast,axiom,
! [Xs: list_fm,X: fm,Ys: list_fm] :
( ( ( append_fm @ Xs @ ( cons_fm @ X @ nil_fm ) )
= Ys )
= ( ( Ys != nil_fm )
& ( ( butlast_fm @ Ys )
= Xs )
& ( ( last_fm @ Ys )
= X ) ) ) ).
% snoc_eq_iff_butlast
thf(fact_483_snoc__eq__iff__butlast,axiom,
! [Xs: list_tm,X: tm,Ys: list_tm] :
( ( ( append_tm @ Xs @ ( cons_tm @ X @ nil_tm ) )
= Ys )
= ( ( Ys != nil_tm )
& ( ( butlast_tm @ Ys )
= Xs )
& ( ( last_tm @ Ys )
= X ) ) ) ).
% snoc_eq_iff_butlast
thf(fact_484_snoc__eq__iff__butlast,axiom,
! [Xs: list_nat,X: nat,Ys: list_nat] :
( ( ( append_nat @ Xs @ ( cons_nat @ X @ nil_nat ) )
= Ys )
= ( ( Ys != nil_nat )
& ( ( butlast_nat @ Ys )
= Xs )
& ( ( last_nat @ Ys )
= X ) ) ) ).
% snoc_eq_iff_butlast
thf(fact_485_transpose__empty,axiom,
! [Xs: list_list_fm] :
( ( ( transpose_fm @ Xs )
= nil_list_fm )
= ( ! [X2: list_fm] :
( ( member_list_fm @ X2 @ ( set_list_fm2 @ Xs ) )
=> ( X2 = nil_fm ) ) ) ) ).
% transpose_empty
thf(fact_486_transpose__empty,axiom,
! [Xs: list_list_tm] :
( ( ( transpose_tm @ Xs )
= nil_list_tm )
= ( ! [X2: list_tm] :
( ( member_list_tm @ X2 @ ( set_list_tm2 @ Xs ) )
=> ( X2 = nil_tm ) ) ) ) ).
% transpose_empty
thf(fact_487_transpose__empty,axiom,
! [Xs: list_list_nat] :
( ( ( transpose_nat @ Xs )
= nil_list_nat )
= ( ! [X2: list_nat] :
( ( member_list_nat @ X2 @ ( set_list_nat2 @ Xs ) )
=> ( X2 = nil_nat ) ) ) ) ).
% transpose_empty
thf(fact_488_last__snoc,axiom,
! [Xs: list_fm,X: fm] :
( ( last_fm @ ( append_fm @ Xs @ ( cons_fm @ X @ nil_fm ) ) )
= X ) ).
% last_snoc
thf(fact_489_last__snoc,axiom,
! [Xs: list_tm,X: tm] :
( ( last_tm @ ( append_tm @ Xs @ ( cons_tm @ X @ nil_tm ) ) )
= X ) ).
% last_snoc
thf(fact_490_last__snoc,axiom,
! [Xs: list_nat,X: nat] :
( ( last_nat @ ( append_nat @ Xs @ ( cons_nat @ X @ nil_nat ) ) )
= X ) ).
% last_snoc
thf(fact_491_paramsts_Osimps_I2_J,axiom,
! [T: tm,Ts: list_tm] :
( ( paramsts @ ( cons_tm @ T @ Ts ) )
= ( sup_sup_set_nat @ ( paramst @ T ) @ ( paramsts @ Ts ) ) ) ).
% paramsts.simps(2)
thf(fact_492_rotate1_Osimps_I2_J,axiom,
! [X: fm,Xs: list_fm] :
( ( rotate1_fm @ ( cons_fm @ X @ Xs ) )
= ( append_fm @ Xs @ ( cons_fm @ X @ nil_fm ) ) ) ).
% rotate1.simps(2)
thf(fact_493_rotate1_Osimps_I2_J,axiom,
! [X: tm,Xs: list_tm] :
( ( rotate1_tm @ ( cons_tm @ X @ Xs ) )
= ( append_tm @ Xs @ ( cons_tm @ X @ nil_tm ) ) ) ).
% rotate1.simps(2)
thf(fact_494_rotate1_Osimps_I2_J,axiom,
! [X: nat,Xs: list_nat] :
( ( rotate1_nat @ ( cons_nat @ X @ Xs ) )
= ( append_nat @ Xs @ ( cons_nat @ X @ nil_nat ) ) ) ).
% rotate1.simps(2)
thf(fact_495_new__term_Osimps_I2_J,axiom,
! [C: nat,I2: nat,L2: list_tm] :
( ( new_term @ C @ ( fun @ I2 @ L2 ) )
= ( ( I2 != C )
& ( ( I2 != C )
=> ( new_list @ C @ L2 ) ) ) ) ).
% new_term.simps(2)
thf(fact_496_tm_Oinject_I1_J,axiom,
! [X11: nat,X12: list_tm,Y11: nat,Y12: list_tm] :
( ( ( fun @ X11 @ X12 )
= ( fun @ Y11 @ Y12 ) )
= ( ( X11 = Y11 )
& ( X12 = Y12 ) ) ) ).
% tm.inject(1)
thf(fact_497_rotate1__is__Nil__conv,axiom,
! [Xs: list_fm] :
( ( ( rotate1_fm @ Xs )
= nil_fm )
= ( Xs = nil_fm ) ) ).
% rotate1_is_Nil_conv
thf(fact_498_rotate1__is__Nil__conv,axiom,
! [Xs: list_tm] :
( ( ( rotate1_tm @ Xs )
= nil_tm )
= ( Xs = nil_tm ) ) ).
% rotate1_is_Nil_conv
thf(fact_499_rotate1__is__Nil__conv,axiom,
! [Xs: list_nat] :
( ( ( rotate1_nat @ Xs )
= nil_nat )
= ( Xs = nil_nat ) ) ).
% rotate1_is_Nil_conv
thf(fact_500_set__append,axiom,
! [Xs: list_nat,Ys: list_nat] :
( ( set_nat2 @ ( append_nat @ Xs @ Ys ) )
= ( sup_sup_set_nat @ ( set_nat2 @ Xs ) @ ( set_nat2 @ Ys ) ) ) ).
% set_append
thf(fact_501_last__appendR,axiom,
! [Ys: list_fm,Xs: list_fm] :
( ( Ys != nil_fm )
=> ( ( last_fm @ ( append_fm @ Xs @ Ys ) )
= ( last_fm @ Ys ) ) ) ).
% last_appendR
thf(fact_502_last__appendR,axiom,
! [Ys: list_tm,Xs: list_tm] :
( ( Ys != nil_tm )
=> ( ( last_tm @ ( append_tm @ Xs @ Ys ) )
= ( last_tm @ Ys ) ) ) ).
% last_appendR
thf(fact_503_last__appendR,axiom,
! [Ys: list_nat,Xs: list_nat] :
( ( Ys != nil_nat )
=> ( ( last_nat @ ( append_nat @ Xs @ Ys ) )
= ( last_nat @ Ys ) ) ) ).
% last_appendR
thf(fact_504_last__appendL,axiom,
! [Ys: list_fm,Xs: list_fm] :
( ( Ys = nil_fm )
=> ( ( last_fm @ ( append_fm @ Xs @ Ys ) )
= ( last_fm @ Xs ) ) ) ).
% last_appendL
thf(fact_505_last__appendL,axiom,
! [Ys: list_tm,Xs: list_tm] :
( ( Ys = nil_tm )
=> ( ( last_tm @ ( append_tm @ Xs @ Ys ) )
= ( last_tm @ Xs ) ) ) ).
% last_appendL
thf(fact_506_last__appendL,axiom,
! [Ys: list_nat,Xs: list_nat] :
( ( Ys = nil_nat )
=> ( ( last_nat @ ( append_nat @ Xs @ Ys ) )
= ( last_nat @ Xs ) ) ) ).
% last_appendL
thf(fact_507_rotate1_Osimps_I1_J,axiom,
( ( rotate1_fm @ nil_fm )
= nil_fm ) ).
% rotate1.simps(1)
thf(fact_508_rotate1_Osimps_I1_J,axiom,
( ( rotate1_tm @ nil_tm )
= nil_tm ) ).
% rotate1.simps(1)
thf(fact_509_rotate1_Osimps_I1_J,axiom,
( ( rotate1_nat @ nil_nat )
= nil_nat ) ).
% rotate1.simps(1)
thf(fact_510_rotate1__map,axiom,
! [F: nat > nat,Xs: list_nat] :
( ( rotate1_nat @ ( map_nat_nat @ F @ Xs ) )
= ( map_nat_nat @ F @ ( rotate1_nat @ Xs ) ) ) ).
% rotate1_map
thf(fact_511_last__ConsR,axiom,
! [Xs: list_fm,X: fm] :
( ( Xs != nil_fm )
=> ( ( last_fm @ ( cons_fm @ X @ Xs ) )
= ( last_fm @ Xs ) ) ) ).
% last_ConsR
thf(fact_512_last__ConsR,axiom,
! [Xs: list_tm,X: tm] :
( ( Xs != nil_tm )
=> ( ( last_tm @ ( cons_tm @ X @ Xs ) )
= ( last_tm @ Xs ) ) ) ).
% last_ConsR
thf(fact_513_last__ConsR,axiom,
! [Xs: list_nat,X: nat] :
( ( Xs != nil_nat )
=> ( ( last_nat @ ( cons_nat @ X @ Xs ) )
= ( last_nat @ Xs ) ) ) ).
% last_ConsR
thf(fact_514_last__ConsL,axiom,
! [Xs: list_fm,X: fm] :
( ( Xs = nil_fm )
=> ( ( last_fm @ ( cons_fm @ X @ Xs ) )
= X ) ) ).
% last_ConsL
thf(fact_515_last__ConsL,axiom,
! [Xs: list_tm,X: tm] :
( ( Xs = nil_tm )
=> ( ( last_tm @ ( cons_tm @ X @ Xs ) )
= X ) ) ).
% last_ConsL
thf(fact_516_last__ConsL,axiom,
! [Xs: list_nat,X: nat] :
( ( Xs = nil_nat )
=> ( ( last_nat @ ( cons_nat @ X @ Xs ) )
= X ) ) ).
% last_ConsL
thf(fact_517_last_Osimps,axiom,
! [Xs: list_fm,X: fm] :
( ( ( Xs = nil_fm )
=> ( ( last_fm @ ( cons_fm @ X @ Xs ) )
= X ) )
& ( ( Xs != nil_fm )
=> ( ( last_fm @ ( cons_fm @ X @ Xs ) )
= ( last_fm @ Xs ) ) ) ) ).
% last.simps
thf(fact_518_last_Osimps,axiom,
! [Xs: list_tm,X: tm] :
( ( ( Xs = nil_tm )
=> ( ( last_tm @ ( cons_tm @ X @ Xs ) )
= X ) )
& ( ( Xs != nil_tm )
=> ( ( last_tm @ ( cons_tm @ X @ Xs ) )
= ( last_tm @ Xs ) ) ) ) ).
% last.simps
thf(fact_519_last_Osimps,axiom,
! [Xs: list_nat,X: nat] :
( ( ( Xs = nil_nat )
=> ( ( last_nat @ ( cons_nat @ X @ Xs ) )
= X ) )
& ( ( Xs != nil_nat )
=> ( ( last_nat @ ( cons_nat @ X @ Xs ) )
= ( last_nat @ Xs ) ) ) ) ).
% last.simps
thf(fact_520_last__in__set,axiom,
! [As2: list_a] :
( ( As2 != nil_a )
=> ( member_a2 @ ( last_a @ As2 ) @ ( set_a2 @ As2 ) ) ) ).
% last_in_set
thf(fact_521_last__in__set,axiom,
! [As2: list_fm] :
( ( As2 != nil_fm )
=> ( member_fm2 @ ( last_fm @ As2 ) @ ( set_fm2 @ As2 ) ) ) ).
% last_in_set
thf(fact_522_last__in__set,axiom,
! [As2: list_tm] :
( ( As2 != nil_tm )
=> ( member_tm2 @ ( last_tm @ As2 ) @ ( set_tm2 @ As2 ) ) ) ).
% last_in_set
thf(fact_523_last__in__set,axiom,
! [As2: list_nat] :
( ( As2 != nil_nat )
=> ( member_nat2 @ ( last_nat @ As2 ) @ ( set_nat2 @ As2 ) ) ) ).
% last_in_set
thf(fact_524_last__map,axiom,
! [Xs: list_fm,F: fm > nat] :
( ( Xs != nil_fm )
=> ( ( last_nat @ ( map_fm_nat @ F @ Xs ) )
= ( F @ ( last_fm @ Xs ) ) ) ) ).
% last_map
thf(fact_525_last__map,axiom,
! [Xs: list_tm,F: tm > nat] :
( ( Xs != nil_tm )
=> ( ( last_nat @ ( map_tm_nat @ F @ Xs ) )
= ( F @ ( last_tm @ Xs ) ) ) ) ).
% last_map
thf(fact_526_last__map,axiom,
! [Xs: list_nat,F: nat > nat] :
( ( Xs != nil_nat )
=> ( ( last_nat @ ( map_nat_nat @ F @ Xs ) )
= ( F @ ( last_nat @ Xs ) ) ) ) ).
% last_map
thf(fact_527_longest__common__suffix,axiom,
! [Xs: list_fm,Ys: list_fm] :
? [Ss: list_fm,Xs6: list_fm,Ys6: list_fm] :
( ( Xs
= ( append_fm @ Xs6 @ Ss ) )
& ( Ys
= ( append_fm @ Ys6 @ Ss ) )
& ( ( Xs6 = nil_fm )
| ( Ys6 = nil_fm )
| ( ( last_fm @ Xs6 )
!= ( last_fm @ Ys6 ) ) ) ) ).
% longest_common_suffix
thf(fact_528_longest__common__suffix,axiom,
! [Xs: list_tm,Ys: list_tm] :
? [Ss: list_tm,Xs6: list_tm,Ys6: list_tm] :
( ( Xs
= ( append_tm @ Xs6 @ Ss ) )
& ( Ys
= ( append_tm @ Ys6 @ Ss ) )
& ( ( Xs6 = nil_tm )
| ( Ys6 = nil_tm )
| ( ( last_tm @ Xs6 )
!= ( last_tm @ Ys6 ) ) ) ) ).
% longest_common_suffix
thf(fact_529_longest__common__suffix,axiom,
! [Xs: list_nat,Ys: list_nat] :
? [Ss: list_nat,Xs6: list_nat,Ys6: list_nat] :
( ( Xs
= ( 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_530_last__append,axiom,
! [Ys: list_fm,Xs: list_fm] :
( ( ( Ys = nil_fm )
=> ( ( last_fm @ ( append_fm @ Xs @ Ys ) )
= ( last_fm @ Xs ) ) )
& ( ( Ys != nil_fm )
=> ( ( last_fm @ ( append_fm @ Xs @ Ys ) )
= ( last_fm @ Ys ) ) ) ) ).
% last_append
thf(fact_531_last__append,axiom,
! [Ys: list_tm,Xs: list_tm] :
( ( ( Ys = nil_tm )
=> ( ( last_tm @ ( append_tm @ Xs @ Ys ) )
= ( last_tm @ Xs ) ) )
& ( ( Ys != nil_tm )
=> ( ( last_tm @ ( append_tm @ Xs @ Ys ) )
= ( last_tm @ Ys ) ) ) ) ).
% last_append
thf(fact_532_last__append,axiom,
! [Ys: list_nat,Xs: list_nat] :
( ( ( Ys = nil_nat )
=> ( ( last_nat @ ( append_nat @ Xs @ Ys ) )
= ( last_nat @ Xs ) ) )
& ( ( Ys != nil_nat )
=> ( ( last_nat @ ( append_nat @ Xs @ Ys ) )
= ( last_nat @ Ys ) ) ) ) ).
% last_append
thf(fact_533_transpose_Osimps_I2_J,axiom,
! [Xss2: list_list_fm] :
( ( transpose_fm @ ( cons_list_fm @ nil_fm @ Xss2 ) )
= ( transpose_fm @ Xss2 ) ) ).
% transpose.simps(2)
thf(fact_534_transpose_Osimps_I2_J,axiom,
! [Xss2: list_list_tm] :
( ( transpose_tm @ ( cons_list_tm @ nil_tm @ Xss2 ) )
= ( transpose_tm @ Xss2 ) ) ).
% transpose.simps(2)
thf(fact_535_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_536_transpose__map__map,axiom,
! [F: nat > nat,Xs: list_list_nat] :
( ( transpose_nat @ ( map_li7225945977422193158st_nat @ ( map_nat_nat @ F ) @ Xs ) )
= ( map_li7225945977422193158st_nat @ ( map_nat_nat @ F ) @ ( transpose_nat @ Xs ) ) ) ).
% transpose_map_map
thf(fact_537_transpose_Oelims,axiom,
! [X: list_list_fm,Y: list_list_fm] :
( ( ( transpose_fm @ X )
= Y )
=> ( ( ( X = nil_list_fm )
=> ( Y != nil_list_fm ) )
=> ( ! [Xss: list_list_fm] :
( ( X
= ( cons_list_fm @ nil_fm @ Xss ) )
=> ( Y
!= ( transpose_fm @ Xss ) ) )
=> ~ ! [X3: fm,Xs3: list_fm,Xss: list_list_fm] :
( ( X
= ( cons_list_fm @ ( cons_fm @ X3 @ Xs3 ) @ Xss ) )
=> ( Y
!= ( cons_list_fm
@ ( cons_fm @ X3
@ ( concat_fm
@ ( map_list_fm_list_fm
@ ( case_list_list_fm_fm @ nil_fm
@ ^ [H: fm,T2: list_fm] : ( cons_fm @ H @ nil_fm ) )
@ Xss ) ) )
@ ( transpose_fm
@ ( cons_list_fm @ Xs3
@ ( concat_list_fm
@ ( map_li1351512418201717386ist_fm
@ ( case_l1147175924207067418_fm_fm @ nil_list_fm
@ ^ [H: fm,T2: list_fm] : ( cons_list_fm @ T2 @ nil_list_fm ) )
@ Xss ) ) ) ) ) ) ) ) ) ) ).
% transpose.elims
thf(fact_538_transpose_Oelims,axiom,
! [X: list_list_tm,Y: list_list_tm] :
( ( ( transpose_tm @ X )
= Y )
=> ( ( ( X = nil_list_tm )
=> ( Y != nil_list_tm ) )
=> ( ! [Xss: list_list_tm] :
( ( X
= ( cons_list_tm @ nil_tm @ Xss ) )
=> ( Y
!= ( transpose_tm @ Xss ) ) )
=> ~ ! [X3: tm,Xs3: list_tm,Xss: list_list_tm] :
( ( X
= ( cons_list_tm @ ( cons_tm @ X3 @ Xs3 ) @ Xss ) )
=> ( Y
!= ( cons_list_tm
@ ( cons_tm @ X3
@ ( concat_tm
@ ( map_list_tm_list_tm
@ ( case_list_list_tm_tm @ nil_tm
@ ^ [H: tm,T2: list_tm] : ( cons_tm @ H @ nil_tm ) )
@ Xss ) ) )
@ ( transpose_tm
@ ( cons_list_tm @ Xs3
@ ( concat_list_tm
@ ( map_li6264597563971819530ist_tm
@ ( case_l799553655970854810_tm_tm @ nil_list_tm
@ ^ [H: tm,T2: list_tm] : ( cons_list_tm @ T2 @ nil_list_tm ) )
@ Xss ) ) ) ) ) ) ) ) ) ) ).
% transpose.elims
thf(fact_539_transpose_Oelims,axiom,
! [X: list_list_nat,Y: list_list_nat] :
( ( ( transpose_nat @ X )
= Y )
=> ( ( ( X = nil_list_nat )
=> ( Y != nil_list_nat ) )
=> ( ! [Xss: list_list_nat] :
( ( X
= ( cons_list_nat @ nil_nat @ Xss ) )
=> ( Y
!= ( transpose_nat @ Xss ) ) )
=> ~ ! [X3: nat,Xs3: list_nat,Xss: list_list_nat] :
( ( X
= ( cons_list_nat @ ( cons_nat @ X3 @ Xs3 ) @ Xss ) )
=> ( Y
!= ( cons_list_nat
@ ( cons_nat @ X3
@ ( concat_nat
@ ( map_li7225945977422193158st_nat
@ ( case_l2340614614379431832at_nat @ nil_nat
@ ^ [H: nat,T2: list_nat] : ( cons_nat @ H @ nil_nat ) )
@ Xss ) ) )
@ ( transpose_nat
@ ( cons_list_nat @ Xs3
@ ( concat_list_nat
@ ( map_li960784813134754710st_nat
@ ( case_l3331202209248957608at_nat @ nil_list_nat
@ ^ [H: nat,T2: list_nat] : ( cons_list_nat @ T2 @ nil_list_nat ) )
@ Xss ) ) ) ) ) ) ) ) ) ) ).
% transpose.elims
thf(fact_540_transpose_Osimps_I3_J,axiom,
! [X: fm,Xs: list_fm,Xss2: list_list_fm] :
( ( transpose_fm @ ( cons_list_fm @ ( cons_fm @ X @ Xs ) @ Xss2 ) )
= ( cons_list_fm
@ ( cons_fm @ X
@ ( concat_fm
@ ( map_list_fm_list_fm
@ ( case_list_list_fm_fm @ nil_fm
@ ^ [H: fm,T2: list_fm] : ( cons_fm @ H @ nil_fm ) )
@ Xss2 ) ) )
@ ( transpose_fm
@ ( cons_list_fm @ Xs
@ ( concat_list_fm
@ ( map_li1351512418201717386ist_fm
@ ( case_l1147175924207067418_fm_fm @ nil_list_fm
@ ^ [H: fm,T2: list_fm] : ( cons_list_fm @ T2 @ nil_list_fm ) )
@ Xss2 ) ) ) ) ) ) ).
% transpose.simps(3)
thf(fact_541_transpose_Osimps_I3_J,axiom,
! [X: tm,Xs: list_tm,Xss2: list_list_tm] :
( ( transpose_tm @ ( cons_list_tm @ ( cons_tm @ X @ Xs ) @ Xss2 ) )
= ( cons_list_tm
@ ( cons_tm @ X
@ ( concat_tm
@ ( map_list_tm_list_tm
@ ( case_list_list_tm_tm @ nil_tm
@ ^ [H: tm,T2: list_tm] : ( cons_tm @ H @ nil_tm ) )
@ Xss2 ) ) )
@ ( transpose_tm
@ ( cons_list_tm @ Xs
@ ( concat_list_tm
@ ( map_li6264597563971819530ist_tm
@ ( case_l799553655970854810_tm_tm @ nil_list_tm
@ ^ [H: tm,T2: list_tm] : ( cons_list_tm @ T2 @ nil_list_tm ) )
@ Xss2 ) ) ) ) ) ) ).
% transpose.simps(3)
thf(fact_542_transpose_Osimps_I3_J,axiom,
! [X: nat,Xs: list_nat,Xss2: list_list_nat] :
( ( transpose_nat @ ( cons_list_nat @ ( cons_nat @ X @ Xs ) @ Xss2 ) )
= ( cons_list_nat
@ ( cons_nat @ X
@ ( concat_nat
@ ( map_li7225945977422193158st_nat
@ ( case_l2340614614379431832at_nat @ nil_nat
@ ^ [H: nat,T2: list_nat] : ( cons_nat @ H @ nil_nat ) )
@ Xss2 ) ) )
@ ( transpose_nat
@ ( cons_list_nat @ Xs
@ ( concat_list_nat
@ ( map_li960784813134754710st_nat
@ ( case_l3331202209248957608at_nat @ nil_list_nat
@ ^ [H: nat,T2: list_nat] : ( cons_list_nat @ T2 @ nil_list_nat ) )
@ Xss2 ) ) ) ) ) ) ).
% transpose.simps(3)
thf(fact_543_set__union,axiom,
! [Xs: list_nat,Ys: list_nat] :
( ( set_nat2 @ ( union_nat @ Xs @ Ys ) )
= ( sup_sup_set_nat @ ( set_nat2 @ Xs ) @ ( set_nat2 @ Ys ) ) ) ).
% set_union
thf(fact_544_transpose_Opsimps_I3_J,axiom,
! [X: fm,Xs: list_fm,Xss2: list_list_fm] :
( ( accp_list_list_fm @ transpose_rel_fm @ ( cons_list_fm @ ( cons_fm @ X @ Xs ) @ Xss2 ) )
=> ( ( transpose_fm @ ( cons_list_fm @ ( cons_fm @ X @ Xs ) @ Xss2 ) )
= ( cons_list_fm
@ ( cons_fm @ X
@ ( concat_fm
@ ( map_list_fm_list_fm
@ ( case_list_list_fm_fm @ nil_fm
@ ^ [H: fm,T2: list_fm] : ( cons_fm @ H @ nil_fm ) )
@ Xss2 ) ) )
@ ( transpose_fm
@ ( cons_list_fm @ Xs
@ ( concat_list_fm
@ ( map_li1351512418201717386ist_fm
@ ( case_l1147175924207067418_fm_fm @ nil_list_fm
@ ^ [H: fm,T2: list_fm] : ( cons_list_fm @ T2 @ nil_list_fm ) )
@ Xss2 ) ) ) ) ) ) ) ).
% transpose.psimps(3)
thf(fact_545_transpose_Opsimps_I3_J,axiom,
! [X: tm,Xs: list_tm,Xss2: list_list_tm] :
( ( accp_list_list_tm @ transpose_rel_tm @ ( cons_list_tm @ ( cons_tm @ X @ Xs ) @ Xss2 ) )
=> ( ( transpose_tm @ ( cons_list_tm @ ( cons_tm @ X @ Xs ) @ Xss2 ) )
= ( cons_list_tm
@ ( cons_tm @ X
@ ( concat_tm
@ ( map_list_tm_list_tm
@ ( case_list_list_tm_tm @ nil_tm
@ ^ [H: tm,T2: list_tm] : ( cons_tm @ H @ nil_tm ) )
@ Xss2 ) ) )
@ ( transpose_tm
@ ( cons_list_tm @ Xs
@ ( concat_list_tm
@ ( map_li6264597563971819530ist_tm
@ ( case_l799553655970854810_tm_tm @ nil_list_tm
@ ^ [H: tm,T2: list_tm] : ( cons_list_tm @ T2 @ nil_list_tm ) )
@ Xss2 ) ) ) ) ) ) ) ).
% transpose.psimps(3)
thf(fact_546_transpose_Opsimps_I3_J,axiom,
! [X: nat,Xs: list_nat,Xss2: list_list_nat] :
( ( accp_list_list_nat @ transpose_rel_nat @ ( cons_list_nat @ ( cons_nat @ X @ Xs ) @ Xss2 ) )
=> ( ( transpose_nat @ ( cons_list_nat @ ( cons_nat @ X @ Xs ) @ Xss2 ) )
= ( cons_list_nat
@ ( cons_nat @ X
@ ( concat_nat
@ ( map_li7225945977422193158st_nat
@ ( case_l2340614614379431832at_nat @ nil_nat
@ ^ [H: nat,T2: list_nat] : ( cons_nat @ H @ nil_nat ) )
@ Xss2 ) ) )
@ ( transpose_nat
@ ( cons_list_nat @ Xs
@ ( concat_list_nat
@ ( map_li960784813134754710st_nat
@ ( case_l3331202209248957608at_nat @ nil_list_nat
@ ^ [H: nat,T2: list_nat] : ( cons_list_nat @ T2 @ nil_list_nat ) )
@ Xss2 ) ) ) ) ) ) ) ).
% transpose.psimps(3)
thf(fact_547_transpose_Opinduct,axiom,
! [A0: list_list_fm,P: list_list_fm > $o] :
( ( accp_list_list_fm @ transpose_rel_fm @ A0 )
=> ( ( ( accp_list_list_fm @ transpose_rel_fm @ nil_list_fm )
=> ( P @ nil_list_fm ) )
=> ( ! [Xss: list_list_fm] :
( ( accp_list_list_fm @ transpose_rel_fm @ ( cons_list_fm @ nil_fm @ Xss ) )
=> ( ( P @ Xss )
=> ( P @ ( cons_list_fm @ nil_fm @ Xss ) ) ) )
=> ( ! [X3: fm,Xs3: list_fm,Xss: list_list_fm] :
( ( accp_list_list_fm @ transpose_rel_fm @ ( cons_list_fm @ ( cons_fm @ X3 @ Xs3 ) @ Xss ) )
=> ( ( P
@ ( cons_list_fm @ Xs3
@ ( concat_list_fm
@ ( map_li1351512418201717386ist_fm
@ ( case_l1147175924207067418_fm_fm @ nil_list_fm
@ ^ [H: fm,T2: list_fm] : ( cons_list_fm @ T2 @ nil_list_fm ) )
@ Xss ) ) ) )
=> ( P @ ( cons_list_fm @ ( cons_fm @ X3 @ Xs3 ) @ Xss ) ) ) )
=> ( P @ A0 ) ) ) ) ) ).
% transpose.pinduct
thf(fact_548_transpose_Opinduct,axiom,
! [A0: list_list_tm,P: list_list_tm > $o] :
( ( accp_list_list_tm @ transpose_rel_tm @ A0 )
=> ( ( ( accp_list_list_tm @ transpose_rel_tm @ nil_list_tm )
=> ( P @ nil_list_tm ) )
=> ( ! [Xss: list_list_tm] :
( ( accp_list_list_tm @ transpose_rel_tm @ ( cons_list_tm @ nil_tm @ Xss ) )
=> ( ( P @ Xss )
=> ( P @ ( cons_list_tm @ nil_tm @ Xss ) ) ) )
=> ( ! [X3: tm,Xs3: list_tm,Xss: list_list_tm] :
( ( accp_list_list_tm @ transpose_rel_tm @ ( cons_list_tm @ ( cons_tm @ X3 @ Xs3 ) @ Xss ) )
=> ( ( P
@ ( cons_list_tm @ Xs3
@ ( concat_list_tm
@ ( map_li6264597563971819530ist_tm
@ ( case_l799553655970854810_tm_tm @ nil_list_tm
@ ^ [H: tm,T2: list_tm] : ( cons_list_tm @ T2 @ nil_list_tm ) )
@ Xss ) ) ) )
=> ( P @ ( cons_list_tm @ ( cons_tm @ X3 @ Xs3 ) @ Xss ) ) ) )
=> ( P @ A0 ) ) ) ) ) ).
% transpose.pinduct
thf(fact_549_transpose_Opinduct,axiom,
! [A0: list_list_nat,P: list_list_nat > $o] :
( ( accp_list_list_nat @ transpose_rel_nat @ A0 )
=> ( ( ( accp_list_list_nat @ transpose_rel_nat @ nil_list_nat )
=> ( P @ nil_list_nat ) )
=> ( ! [Xss: list_list_nat] :
( ( accp_list_list_nat @ transpose_rel_nat @ ( cons_list_nat @ nil_nat @ Xss ) )
=> ( ( P @ Xss )
=> ( P @ ( cons_list_nat @ nil_nat @ Xss ) ) ) )
=> ( ! [X3: nat,Xs3: list_nat,Xss: list_list_nat] :
( ( accp_list_list_nat @ transpose_rel_nat @ ( cons_list_nat @ ( cons_nat @ X3 @ Xs3 ) @ Xss ) )
=> ( ( P
@ ( cons_list_nat @ Xs3
@ ( concat_list_nat
@ ( map_li960784813134754710st_nat
@ ( case_l3331202209248957608at_nat @ nil_list_nat
@ ^ [H: nat,T2: list_nat] : ( cons_list_nat @ T2 @ nil_list_nat ) )
@ Xss ) ) ) )
=> ( P @ ( cons_list_nat @ ( cons_nat @ X3 @ Xs3 ) @ Xss ) ) ) )
=> ( P @ A0 ) ) ) ) ) ).
% transpose.pinduct
thf(fact_550_Un__def,axiom,
( sup_sup_set_a
= ( ^ [A5: set_a,B3: set_a] :
( collect_a
@ ^ [X2: a] :
( ( member_a2 @ X2 @ A5 )
| ( member_a2 @ X2 @ B3 ) ) ) ) ) ).
% Un_def
thf(fact_551_Un__def,axiom,
( sup_sup_set_fm
= ( ^ [A5: set_fm,B3: set_fm] :
( collect_fm
@ ^ [X2: fm] :
( ( member_fm2 @ X2 @ A5 )
| ( member_fm2 @ X2 @ B3 ) ) ) ) ) ).
% Un_def
thf(fact_552_Un__def,axiom,
( sup_sup_set_nat
= ( ^ [A5: set_nat,B3: set_nat] :
( collect_nat
@ ^ [X2: nat] :
( ( member_nat2 @ X2 @ A5 )
| ( member_nat2 @ X2 @ B3 ) ) ) ) ) ).
% Un_def
thf(fact_553_Collect__disj__eq,axiom,
! [P: nat > $o,Q: nat > $o] :
( ( collect_nat
@ ^ [X2: nat] :
( ( P @ X2 )
| ( Q @ X2 ) ) )
= ( sup_sup_set_nat @ ( collect_nat @ P ) @ ( collect_nat @ Q ) ) ) ).
% Collect_disj_eq
thf(fact_554_tm_Oinject_I2_J,axiom,
! [X23: nat,Y23: nat] :
( ( ( var @ X23 )
= ( var @ Y23 ) )
= ( X23 = Y23 ) ) ).
% tm.inject(2)
thf(fact_555_tm_Odistinct_I1_J,axiom,
! [X11: nat,X12: list_tm,X23: nat] :
( ( fun @ X11 @ X12 )
!= ( var @ X23 ) ) ).
% tm.distinct(1)
thf(fact_556_tm_Oexhaust,axiom,
! [Y: tm] :
( ! [X112: nat,X122: list_tm] :
( Y
!= ( fun @ X112 @ X122 ) )
=> ~ ! [X24: nat] :
( Y
!= ( var @ X24 ) ) ) ).
% tm.exhaust
thf(fact_557_paramst_H_H_Ocases,axiom,
! [X: tm] :
( ! [N3: nat] :
( X
!= ( var @ N3 ) )
=> ~ ! [A4: nat,Ts2: list_tm] :
( X
!= ( fun @ A4 @ Ts2 ) ) ) ).
% paramst''.cases
thf(fact_558_list_Odisc__eq__case_I2_J,axiom,
! [List: list_fm] :
( ( List != nil_fm )
= ( case_list_o_fm @ $false
@ ^ [Uu: fm,Uv: list_fm] : $true
@ List ) ) ).
% list.disc_eq_case(2)
thf(fact_559_list_Odisc__eq__case_I2_J,axiom,
! [List: list_tm] :
( ( List != nil_tm )
= ( case_list_o_tm @ $false
@ ^ [Uu: tm,Uv: list_tm] : $true
@ List ) ) ).
% list.disc_eq_case(2)
thf(fact_560_list_Odisc__eq__case_I2_J,axiom,
! [List: list_nat] :
( ( List != nil_nat )
= ( case_list_o_nat @ $false
@ ^ [Uu: nat,Uv: list_nat] : $true
@ List ) ) ).
% list.disc_eq_case(2)
thf(fact_561_list_Odisc__eq__case_I1_J,axiom,
! [List: list_fm] :
( ( List = nil_fm )
= ( case_list_o_fm @ $true
@ ^ [Uu: fm,Uv: list_fm] : $false
@ List ) ) ).
% list.disc_eq_case(1)
thf(fact_562_list_Odisc__eq__case_I1_J,axiom,
! [List: list_tm] :
( ( List = nil_tm )
= ( case_list_o_tm @ $true
@ ^ [Uu: tm,Uv: list_tm] : $false
@ List ) ) ).
% list.disc_eq_case(1)
thf(fact_563_list_Odisc__eq__case_I1_J,axiom,
! [List: list_nat] :
( ( List = nil_nat )
= ( case_list_o_nat @ $true
@ ^ [Uu: nat,Uv: list_nat] : $false
@ List ) ) ).
% list.disc_eq_case(1)
thf(fact_564_new__term_Osimps_I1_J,axiom,
! [C: nat,N: nat] : ( new_term @ C @ ( var @ N ) ) ).
% new_term.simps(1)
thf(fact_565_transpose_Opsimps_I2_J,axiom,
! [Xss2: list_list_fm] :
( ( accp_list_list_fm @ transpose_rel_fm @ ( cons_list_fm @ nil_fm @ Xss2 ) )
=> ( ( transpose_fm @ ( cons_list_fm @ nil_fm @ Xss2 ) )
= ( transpose_fm @ Xss2 ) ) ) ).
% transpose.psimps(2)
thf(fact_566_transpose_Opsimps_I2_J,axiom,
! [Xss2: list_list_tm] :
( ( accp_list_list_tm @ transpose_rel_tm @ ( cons_list_tm @ nil_tm @ Xss2 ) )
=> ( ( transpose_tm @ ( cons_list_tm @ nil_tm @ Xss2 ) )
= ( transpose_tm @ Xss2 ) ) ) ).
% transpose.psimps(2)
thf(fact_567_transpose_Opsimps_I2_J,axiom,
! [Xss2: list_list_nat] :
( ( accp_list_list_nat @ transpose_rel_nat @ ( cons_list_nat @ nil_nat @ Xss2 ) )
=> ( ( transpose_nat @ ( cons_list_nat @ nil_nat @ Xss2 ) )
= ( transpose_nat @ Xss2 ) ) ) ).
% transpose.psimps(2)
thf(fact_568_transpose__aux__filter__tail,axiom,
! [Xss2: list_list_fm] :
( ( concat_list_fm
@ ( map_li1351512418201717386ist_fm
@ ( case_l1147175924207067418_fm_fm @ nil_list_fm
@ ^ [H: fm,T2: list_fm] : ( cons_list_fm @ T2 @ nil_list_fm ) )
@ Xss2 ) )
= ( map_list_fm_list_fm @ tl_fm
@ ( filter_list_fm
@ ^ [Ys3: list_fm] : ( Ys3 != nil_fm )
@ Xss2 ) ) ) ).
% transpose_aux_filter_tail
thf(fact_569_transpose__aux__filter__tail,axiom,
! [Xss2: list_list_tm] :
( ( concat_list_tm
@ ( map_li6264597563971819530ist_tm
@ ( case_l799553655970854810_tm_tm @ nil_list_tm
@ ^ [H: tm,T2: list_tm] : ( cons_list_tm @ T2 @ nil_list_tm ) )
@ Xss2 ) )
= ( map_list_tm_list_tm @ tl_tm
@ ( filter_list_tm
@ ^ [Ys3: list_tm] : ( Ys3 != nil_tm )
@ Xss2 ) ) ) ).
% transpose_aux_filter_tail
thf(fact_570_transpose__aux__filter__tail,axiom,
! [Xss2: list_list_nat] :
( ( concat_list_nat
@ ( map_li960784813134754710st_nat
@ ( case_l3331202209248957608at_nat @ nil_list_nat
@ ^ [H: nat,T2: list_nat] : ( cons_list_nat @ T2 @ nil_list_nat ) )
@ Xss2 ) )
= ( map_li7225945977422193158st_nat @ tl_nat
@ ( filter_list_nat
@ ^ [Ys3: list_nat] : ( Ys3 != nil_nat )
@ Xss2 ) ) ) ).
% transpose_aux_filter_tail
thf(fact_571_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_572_p1_H,axiom,
paramst3 = paramst ).
% p1'
thf(fact_573_concat__conv__foldr,axiom,
( concat_fm
= ( ^ [Xss3: list_list_fm] : ( foldr_8313202652749265895ist_fm @ append_fm @ Xss3 @ nil_fm ) ) ) ).
% concat_conv_foldr
thf(fact_574_concat__conv__foldr,axiom,
( concat_tm
= ( ^ [Xss3: list_list_tm] : ( foldr_1867511026292261223ist_tm @ append_tm @ Xss3 @ nil_tm ) ) ) ).
% concat_conv_foldr
thf(fact_575_concat__conv__foldr,axiom,
( concat_nat
= ( ^ [Xss3: list_list_nat] : ( foldr_6871341030409798377st_nat @ append_nat @ Xss3 @ nil_nat ) ) ) ).
% concat_conv_foldr
thf(fact_576_remdups__adj__Cons,axiom,
! [X: fm,Xs: list_fm] :
( ( remdups_adj_fm @ ( cons_fm @ X @ Xs ) )
= ( case_list_list_fm_fm @ ( cons_fm @ X @ nil_fm )
@ ^ [Y2: fm,Xs2: list_fm] : ( if_list_fm @ ( X = Y2 ) @ ( cons_fm @ Y2 @ Xs2 ) @ ( cons_fm @ X @ ( cons_fm @ Y2 @ Xs2 ) ) )
@ ( remdups_adj_fm @ Xs ) ) ) ).
% remdups_adj_Cons
thf(fact_577_remdups__adj__Cons,axiom,
! [X: tm,Xs: list_tm] :
( ( remdups_adj_tm @ ( cons_tm @ X @ Xs ) )
= ( case_list_list_tm_tm @ ( cons_tm @ X @ nil_tm )
@ ^ [Y2: tm,Xs2: list_tm] : ( if_list_tm @ ( X = Y2 ) @ ( cons_tm @ Y2 @ Xs2 ) @ ( cons_tm @ X @ ( cons_tm @ Y2 @ Xs2 ) ) )
@ ( remdups_adj_tm @ Xs ) ) ) ).
% remdups_adj_Cons
thf(fact_578_remdups__adj__Cons,axiom,
! [X: nat,Xs: list_nat] :
( ( remdups_adj_nat @ ( cons_nat @ X @ Xs ) )
= ( case_l2340614614379431832at_nat @ ( cons_nat @ X @ nil_nat )
@ ^ [Y2: nat,Xs2: list_nat] : ( if_list_nat @ ( X = Y2 ) @ ( cons_nat @ Y2 @ Xs2 ) @ ( cons_nat @ X @ ( cons_nat @ Y2 @ Xs2 ) ) )
@ ( remdups_adj_nat @ Xs ) ) ) ).
% remdups_adj_Cons
thf(fact_579_filter__append,axiom,
! [P: nat > $o,Xs: list_nat,Ys: list_nat] :
( ( filter_nat @ P @ ( append_nat @ Xs @ Ys ) )
= ( append_nat @ ( filter_nat @ P @ Xs ) @ ( filter_nat @ P @ Ys ) ) ) ).
% filter_append
thf(fact_580_remdups__adj__Nil__iff,axiom,
! [Xs: list_fm] :
( ( ( remdups_adj_fm @ Xs )
= nil_fm )
= ( Xs = nil_fm ) ) ).
% remdups_adj_Nil_iff
thf(fact_581_remdups__adj__Nil__iff,axiom,
! [Xs: list_tm] :
( ( ( remdups_adj_tm @ Xs )
= nil_tm )
= ( Xs = nil_tm ) ) ).
% remdups_adj_Nil_iff
thf(fact_582_remdups__adj__Nil__iff,axiom,
! [Xs: list_nat] :
( ( ( remdups_adj_nat @ Xs )
= nil_nat )
= ( Xs = nil_nat ) ) ).
% remdups_adj_Nil_iff
thf(fact_583_last__remdups__adj,axiom,
! [Xs: list_nat] :
( ( last_nat @ ( remdups_adj_nat @ Xs ) )
= ( last_nat @ Xs ) ) ).
% last_remdups_adj
thf(fact_584_set__filter,axiom,
! [P: a > $o,Xs: list_a] :
( ( set_a2 @ ( filter_a @ P @ Xs ) )
= ( collect_a
@ ^ [X2: a] :
( ( member_a2 @ X2 @ ( set_a2 @ Xs ) )
& ( P @ X2 ) ) ) ) ).
% set_filter
thf(fact_585_set__filter,axiom,
! [P: fm > $o,Xs: list_fm] :
( ( set_fm2 @ ( filter_fm @ P @ Xs ) )
= ( collect_fm
@ ^ [X2: fm] :
( ( member_fm2 @ X2 @ ( set_fm2 @ Xs ) )
& ( P @ X2 ) ) ) ) ).
% set_filter
thf(fact_586_set__filter,axiom,
! [P: nat > $o,Xs: list_nat] :
( ( set_nat2 @ ( filter_nat @ P @ Xs ) )
= ( collect_nat
@ ^ [X2: nat] :
( ( member_nat2 @ X2 @ ( set_nat2 @ Xs ) )
& ( P @ X2 ) ) ) ) ).
% set_filter
thf(fact_587_filter__False,axiom,
! [Xs: list_fm,P: fm > $o] :
( ! [X3: fm] :
( ( member_fm2 @ X3 @ ( set_fm2 @ Xs ) )
=> ~ ( P @ X3 ) )
=> ( ( filter_fm @ P @ Xs )
= nil_fm ) ) ).
% filter_False
thf(fact_588_filter__False,axiom,
! [Xs: list_tm,P: tm > $o] :
( ! [X3: tm] :
( ( member_tm2 @ X3 @ ( set_tm2 @ Xs ) )
=> ~ ( P @ X3 ) )
=> ( ( filter_tm @ P @ Xs )
= nil_tm ) ) ).
% filter_False
thf(fact_589_filter__False,axiom,
! [Xs: list_nat,P: nat > $o] :
( ! [X3: nat] :
( ( member_nat2 @ X3 @ ( set_nat2 @ Xs ) )
=> ~ ( P @ X3 ) )
=> ( ( filter_nat @ P @ Xs )
= nil_nat ) ) ).
% filter_False
thf(fact_590_tl__append2,axiom,
! [Xs: list_fm,Ys: list_fm] :
( ( Xs != nil_fm )
=> ( ( tl_fm @ ( append_fm @ Xs @ Ys ) )
= ( append_fm @ ( tl_fm @ Xs ) @ Ys ) ) ) ).
% tl_append2
thf(fact_591_tl__append2,axiom,
! [Xs: list_tm,Ys: list_tm] :
( ( Xs != nil_tm )
=> ( ( tl_tm @ ( append_tm @ Xs @ Ys ) )
= ( append_tm @ ( tl_tm @ Xs ) @ Ys ) ) ) ).
% tl_append2
thf(fact_592_tl__append2,axiom,
! [Xs: list_nat,Ys: list_nat] :
( ( Xs != nil_nat )
=> ( ( tl_nat @ ( append_nat @ Xs @ Ys ) )
= ( append_nat @ ( tl_nat @ Xs ) @ Ys ) ) ) ).
% tl_append2
thf(fact_593_remdups__adj__Cons__alt,axiom,
! [X: tm,Xs: list_tm] :
( ( cons_tm @ X @ ( tl_tm @ ( remdups_adj_tm @ ( cons_tm @ X @ Xs ) ) ) )
= ( remdups_adj_tm @ ( cons_tm @ X @ Xs ) ) ) ).
% remdups_adj_Cons_alt
thf(fact_594_remdups__adj__Cons__alt,axiom,
! [X: nat,Xs: list_nat] :
( ( cons_nat @ X @ ( tl_nat @ ( remdups_adj_nat @ ( cons_nat @ X @ Xs ) ) ) )
= ( remdups_adj_nat @ ( cons_nat @ X @ Xs ) ) ) ).
% remdups_adj_Cons_alt
thf(fact_595_butlast__rev,axiom,
! [Xs: list_nat] :
( ( butlast_nat @ ( rev_nat @ Xs ) )
= ( rev_nat @ ( tl_nat @ Xs ) ) ) ).
% butlast_rev
thf(fact_596_filter_Osimps_I2_J,axiom,
! [P: tm > $o,X: tm,Xs: list_tm] :
( ( ( P @ X )
=> ( ( filter_tm @ P @ ( cons_tm @ X @ Xs ) )
= ( cons_tm @ X @ ( filter_tm @ P @ Xs ) ) ) )
& ( ~ ( P @ X )
=> ( ( filter_tm @ P @ ( cons_tm @ X @ Xs ) )
= ( filter_tm @ P @ Xs ) ) ) ) ).
% filter.simps(2)
thf(fact_597_filter_Osimps_I2_J,axiom,
! [P: nat > $o,X: nat,Xs: list_nat] :
( ( ( P @ X )
=> ( ( filter_nat @ P @ ( cons_nat @ X @ Xs ) )
= ( cons_nat @ X @ ( filter_nat @ P @ Xs ) ) ) )
& ( ~ ( P @ X )
=> ( ( filter_nat @ P @ ( cons_nat @ X @ Xs ) )
= ( filter_nat @ P @ Xs ) ) ) ) ).
% filter.simps(2)
thf(fact_598_filter_Osimps_I1_J,axiom,
! [P: fm > $o] :
( ( filter_fm @ P @ nil_fm )
= nil_fm ) ).
% filter.simps(1)
thf(fact_599_filter_Osimps_I1_J,axiom,
! [P: tm > $o] :
( ( filter_tm @ P @ nil_tm )
= nil_tm ) ).
% filter.simps(1)
thf(fact_600_filter_Osimps_I1_J,axiom,
! [P: nat > $o] :
( ( filter_nat @ P @ nil_nat )
= nil_nat ) ).
% filter.simps(1)
thf(fact_601_filter__cong,axiom,
! [Xs: list_a,Ys: list_a,P: a > $o,Q: a > $o] :
( ( Xs = Ys )
=> ( ! [X3: a] :
( ( member_a2 @ X3 @ ( set_a2 @ Ys ) )
=> ( ( P @ X3 )
= ( Q @ X3 ) ) )
=> ( ( filter_a @ P @ Xs )
= ( filter_a @ Q @ Ys ) ) ) ) ).
% filter_cong
thf(fact_602_filter__cong,axiom,
! [Xs: list_nat,Ys: list_nat,P: nat > $o,Q: nat > $o] :
( ( Xs = Ys )
=> ( ! [X3: nat] :
( ( member_nat2 @ X3 @ ( set_nat2 @ Ys ) )
=> ( ( P @ X3 )
= ( Q @ X3 ) ) )
=> ( ( filter_nat @ P @ Xs )
= ( filter_nat @ Q @ Ys ) ) ) ) ).
% filter_cong
thf(fact_603_filter__cong,axiom,
! [Xs: list_fm,Ys: list_fm,P: fm > $o,Q: fm > $o] :
( ( Xs = Ys )
=> ( ! [X3: fm] :
( ( member_fm2 @ X3 @ ( set_fm2 @ Ys ) )
=> ( ( P @ X3 )
= ( Q @ X3 ) ) )
=> ( ( filter_fm @ P @ Xs )
= ( filter_fm @ Q @ Ys ) ) ) ) ).
% filter_cong
thf(fact_604_list_Osel_I3_J,axiom,
! [X21: tm,X22: list_tm] :
( ( tl_tm @ ( cons_tm @ X21 @ X22 ) )
= X22 ) ).
% list.sel(3)
thf(fact_605_list_Osel_I3_J,axiom,
! [X21: nat,X22: list_nat] :
( ( tl_nat @ ( cons_nat @ X21 @ X22 ) )
= X22 ) ).
% list.sel(3)
thf(fact_606_list_Osel_I2_J,axiom,
( ( tl_fm @ nil_fm )
= nil_fm ) ).
% list.sel(2)
thf(fact_607_list_Osel_I2_J,axiom,
( ( tl_tm @ nil_tm )
= nil_tm ) ).
% list.sel(2)
thf(fact_608_list_Osel_I2_J,axiom,
( ( tl_nat @ nil_nat )
= nil_nat ) ).
% list.sel(2)
thf(fact_609_remdups__adj_Osimps_I3_J,axiom,
! [X: tm,Y: tm,Xs: list_tm] :
( ( ( X = Y )
=> ( ( remdups_adj_tm @ ( cons_tm @ X @ ( cons_tm @ Y @ Xs ) ) )
= ( remdups_adj_tm @ ( cons_tm @ X @ Xs ) ) ) )
& ( ( X != Y )
=> ( ( remdups_adj_tm @ ( cons_tm @ X @ ( cons_tm @ Y @ Xs ) ) )
= ( cons_tm @ X @ ( remdups_adj_tm @ ( cons_tm @ Y @ Xs ) ) ) ) ) ) ).
% remdups_adj.simps(3)
thf(fact_610_remdups__adj_Osimps_I3_J,axiom,
! [X: nat,Y: nat,Xs: list_nat] :
( ( ( X = Y )
=> ( ( remdups_adj_nat @ ( cons_nat @ X @ ( cons_nat @ Y @ Xs ) ) )
= ( remdups_adj_nat @ ( cons_nat @ X @ Xs ) ) ) )
& ( ( X != Y )
=> ( ( remdups_adj_nat @ ( cons_nat @ X @ ( cons_nat @ Y @ Xs ) ) )
= ( cons_nat @ X @ ( remdups_adj_nat @ ( cons_nat @ Y @ Xs ) ) ) ) ) ) ).
% remdups_adj.simps(3)
thf(fact_611_remdups__adj_Osimps_I1_J,axiom,
( ( remdups_adj_fm @ nil_fm )
= nil_fm ) ).
% remdups_adj.simps(1)
thf(fact_612_remdups__adj_Osimps_I1_J,axiom,
( ( remdups_adj_tm @ nil_tm )
= nil_tm ) ).
% remdups_adj.simps(1)
thf(fact_613_remdups__adj_Osimps_I1_J,axiom,
( ( remdups_adj_nat @ nil_nat )
= nil_nat ) ).
% remdups_adj.simps(1)
thf(fact_614_map__tl,axiom,
! [F: nat > nat,Xs: list_nat] :
( ( map_nat_nat @ F @ ( tl_nat @ Xs ) )
= ( tl_nat @ ( map_nat_nat @ F @ Xs ) ) ) ).
% map_tl
thf(fact_615_butlast__tl,axiom,
! [Xs: list_nat] :
( ( butlast_nat @ ( tl_nat @ Xs ) )
= ( tl_nat @ ( butlast_nat @ Xs ) ) ) ).
% butlast_tl
thf(fact_616_remdups__adj__append,axiom,
! [Xs_1: list_fm,X: fm,Xs_2: list_fm] :
( ( remdups_adj_fm @ ( append_fm @ Xs_1 @ ( cons_fm @ X @ Xs_2 ) ) )
= ( append_fm @ ( remdups_adj_fm @ ( append_fm @ Xs_1 @ ( cons_fm @ X @ nil_fm ) ) ) @ ( tl_fm @ ( remdups_adj_fm @ ( cons_fm @ X @ Xs_2 ) ) ) ) ) ).
% remdups_adj_append
thf(fact_617_remdups__adj__append,axiom,
! [Xs_1: list_tm,X: tm,Xs_2: list_tm] :
( ( remdups_adj_tm @ ( append_tm @ Xs_1 @ ( cons_tm @ X @ Xs_2 ) ) )
= ( append_tm @ ( remdups_adj_tm @ ( append_tm @ Xs_1 @ ( cons_tm @ X @ nil_tm ) ) ) @ ( tl_tm @ ( remdups_adj_tm @ ( cons_tm @ X @ Xs_2 ) ) ) ) ) ).
% remdups_adj_append
thf(fact_618_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_619_filter__empty__conv,axiom,
! [P: fm > $o,Xs: list_fm] :
( ( ( filter_fm @ P @ Xs )
= nil_fm )
= ( ! [X2: fm] :
( ( member_fm2 @ X2 @ ( set_fm2 @ Xs ) )
=> ~ ( P @ X2 ) ) ) ) ).
% filter_empty_conv
thf(fact_620_filter__empty__conv,axiom,
! [P: tm > $o,Xs: list_tm] :
( ( ( filter_tm @ P @ Xs )
= nil_tm )
= ( ! [X2: tm] :
( ( member_tm2 @ X2 @ ( set_tm2 @ Xs ) )
=> ~ ( P @ X2 ) ) ) ) ).
% filter_empty_conv
thf(fact_621_filter__empty__conv,axiom,
! [P: nat > $o,Xs: list_nat] :
( ( ( filter_nat @ P @ Xs )
= nil_nat )
= ( ! [X2: nat] :
( ( member_nat2 @ X2 @ ( set_nat2 @ Xs ) )
=> ~ ( P @ X2 ) ) ) ) ).
% filter_empty_conv
thf(fact_622_empty__filter__conv,axiom,
! [P: fm > $o,Xs: list_fm] :
( ( nil_fm
= ( filter_fm @ P @ Xs ) )
= ( ! [X2: fm] :
( ( member_fm2 @ X2 @ ( set_fm2 @ Xs ) )
=> ~ ( P @ X2 ) ) ) ) ).
% empty_filter_conv
thf(fact_623_empty__filter__conv,axiom,
! [P: tm > $o,Xs: list_tm] :
( ( nil_tm
= ( filter_tm @ P @ Xs ) )
= ( ! [X2: tm] :
( ( member_tm2 @ X2 @ ( set_tm2 @ Xs ) )
=> ~ ( P @ X2 ) ) ) ) ).
% empty_filter_conv
thf(fact_624_empty__filter__conv,axiom,
! [P: nat > $o,Xs: list_nat] :
( ( nil_nat
= ( filter_nat @ P @ Xs ) )
= ( ! [X2: nat] :
( ( member_nat2 @ X2 @ ( set_nat2 @ Xs ) )
=> ~ ( P @ X2 ) ) ) ) ).
% empty_filter_conv
thf(fact_625_tl__Nil,axiom,
! [Xs: list_fm] :
( ( ( tl_fm @ Xs )
= nil_fm )
= ( ( Xs = nil_fm )
| ? [X2: fm] :
( Xs
= ( cons_fm @ X2 @ nil_fm ) ) ) ) ).
% tl_Nil
thf(fact_626_tl__Nil,axiom,
! [Xs: list_tm] :
( ( ( tl_tm @ Xs )
= nil_tm )
= ( ( Xs = nil_tm )
| ? [X2: tm] :
( Xs
= ( cons_tm @ X2 @ nil_tm ) ) ) ) ).
% tl_Nil
thf(fact_627_tl__Nil,axiom,
! [Xs: list_nat] :
( ( ( tl_nat @ Xs )
= nil_nat )
= ( ( Xs = nil_nat )
| ? [X2: nat] :
( Xs
= ( cons_nat @ X2 @ nil_nat ) ) ) ) ).
% tl_Nil
thf(fact_628_Nil__tl,axiom,
! [Xs: list_fm] :
( ( nil_fm
= ( tl_fm @ Xs ) )
= ( ( Xs = nil_fm )
| ? [X2: fm] :
( Xs
= ( cons_fm @ X2 @ nil_fm ) ) ) ) ).
% Nil_tl
thf(fact_629_Nil__tl,axiom,
! [Xs: list_tm] :
( ( nil_tm
= ( tl_tm @ Xs ) )
= ( ( Xs = nil_tm )
| ? [X2: tm] :
( Xs
= ( cons_tm @ X2 @ nil_tm ) ) ) ) ).
% Nil_tl
thf(fact_630_Nil__tl,axiom,
! [Xs: list_nat] :
( ( nil_nat
= ( tl_nat @ Xs ) )
= ( ( Xs = nil_nat )
| ? [X2: nat] :
( Xs
= ( cons_nat @ X2 @ nil_nat ) ) ) ) ).
% Nil_tl
thf(fact_631_list_Oset__sel_I2_J,axiom,
! [A2: list_a,X: a] :
( ( A2 != nil_a )
=> ( ( member_a2 @ X @ ( set_a2 @ ( tl_a @ A2 ) ) )
=> ( member_a2 @ X @ ( set_a2 @ A2 ) ) ) ) ).
% list.set_sel(2)
thf(fact_632_list_Oset__sel_I2_J,axiom,
! [A2: list_fm,X: fm] :
( ( A2 != nil_fm )
=> ( ( member_fm2 @ X @ ( set_fm2 @ ( tl_fm @ A2 ) ) )
=> ( member_fm2 @ X @ ( set_fm2 @ A2 ) ) ) ) ).
% list.set_sel(2)
thf(fact_633_list_Oset__sel_I2_J,axiom,
! [A2: list_tm,X: tm] :
( ( A2 != nil_tm )
=> ( ( member_tm2 @ X @ ( set_tm2 @ ( tl_tm @ A2 ) ) )
=> ( member_tm2 @ X @ ( set_tm2 @ A2 ) ) ) ) ).
% list.set_sel(2)
thf(fact_634_list_Oset__sel_I2_J,axiom,
! [A2: list_nat,X: nat] :
( ( A2 != nil_nat )
=> ( ( member_nat2 @ X @ ( set_nat2 @ ( tl_nat @ A2 ) ) )
=> ( member_nat2 @ X @ ( set_nat2 @ A2 ) ) ) ) ).
% list.set_sel(2)
thf(fact_635_remdups__adj_Oelims,axiom,
! [X: list_fm,Y: list_fm] :
( ( ( remdups_adj_fm @ X )
= Y )
=> ( ( ( X = nil_fm )
=> ( Y != nil_fm ) )
=> ( ! [X3: fm] :
( ( X
= ( cons_fm @ X3 @ nil_fm ) )
=> ( Y
!= ( cons_fm @ X3 @ nil_fm ) ) )
=> ~ ! [X3: fm,Y3: fm,Xs3: list_fm] :
( ( X
= ( cons_fm @ X3 @ ( cons_fm @ Y3 @ Xs3 ) ) )
=> ~ ( ( ( X3 = Y3 )
=> ( Y
= ( remdups_adj_fm @ ( cons_fm @ X3 @ Xs3 ) ) ) )
& ( ( X3 != Y3 )
=> ( Y
= ( cons_fm @ X3 @ ( remdups_adj_fm @ ( cons_fm @ Y3 @ Xs3 ) ) ) ) ) ) ) ) ) ) ).
% remdups_adj.elims
thf(fact_636_remdups__adj_Oelims,axiom,
! [X: list_tm,Y: list_tm] :
( ( ( remdups_adj_tm @ X )
= Y )
=> ( ( ( X = nil_tm )
=> ( Y != nil_tm ) )
=> ( ! [X3: tm] :
( ( X
= ( cons_tm @ X3 @ nil_tm ) )
=> ( Y
!= ( cons_tm @ X3 @ nil_tm ) ) )
=> ~ ! [X3: tm,Y3: tm,Xs3: list_tm] :
( ( X
= ( cons_tm @ X3 @ ( cons_tm @ Y3 @ Xs3 ) ) )
=> ~ ( ( ( X3 = Y3 )
=> ( Y
= ( remdups_adj_tm @ ( cons_tm @ X3 @ Xs3 ) ) ) )
& ( ( X3 != Y3 )
=> ( Y
= ( cons_tm @ X3 @ ( remdups_adj_tm @ ( cons_tm @ Y3 @ Xs3 ) ) ) ) ) ) ) ) ) ) ).
% remdups_adj.elims
thf(fact_637_remdups__adj_Oelims,axiom,
! [X: list_nat,Y: list_nat] :
( ( ( remdups_adj_nat @ X )
= Y )
=> ( ( ( X = nil_nat )
=> ( Y != nil_nat ) )
=> ( ! [X3: nat] :
( ( X
= ( cons_nat @ X3 @ nil_nat ) )
=> ( Y
!= ( cons_nat @ X3 @ nil_nat ) ) )
=> ~ ! [X3: nat,Y3: nat,Xs3: list_nat] :
( ( X
= ( cons_nat @ X3 @ ( cons_nat @ Y3 @ Xs3 ) ) )
=> ~ ( ( ( X3 = Y3 )
=> ( Y
= ( remdups_adj_nat @ ( cons_nat @ X3 @ Xs3 ) ) ) )
& ( ( X3 != Y3 )
=> ( Y
= ( cons_nat @ X3 @ ( remdups_adj_nat @ ( cons_nat @ Y3 @ Xs3 ) ) ) ) ) ) ) ) ) ) ).
% remdups_adj.elims
thf(fact_638_remdups__adj_Osimps_I2_J,axiom,
! [X: fm] :
( ( remdups_adj_fm @ ( cons_fm @ X @ nil_fm ) )
= ( cons_fm @ X @ nil_fm ) ) ).
% remdups_adj.simps(2)
thf(fact_639_remdups__adj_Osimps_I2_J,axiom,
! [X: tm] :
( ( remdups_adj_tm @ ( cons_tm @ X @ nil_tm ) )
= ( cons_tm @ X @ nil_tm ) ) ).
% remdups_adj.simps(2)
thf(fact_640_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_641_list_Omap__sel_I2_J,axiom,
! [A2: list_fm,F: fm > nat] :
( ( A2 != nil_fm )
=> ( ( tl_nat @ ( map_fm_nat @ F @ A2 ) )
= ( map_fm_nat @ F @ ( tl_fm @ A2 ) ) ) ) ).
% list.map_sel(2)
thf(fact_642_list_Omap__sel_I2_J,axiom,
! [A2: list_tm,F: tm > nat] :
( ( A2 != nil_tm )
=> ( ( tl_nat @ ( map_tm_nat @ F @ A2 ) )
= ( map_tm_nat @ F @ ( tl_tm @ A2 ) ) ) ) ).
% list.map_sel(2)
thf(fact_643_list_Omap__sel_I2_J,axiom,
! [A2: list_nat,F: nat > nat] :
( ( A2 != nil_nat )
=> ( ( tl_nat @ ( map_nat_nat @ F @ A2 ) )
= ( map_nat_nat @ F @ ( tl_nat @ A2 ) ) ) ) ).
% list.map_sel(2)
thf(fact_644_tl__append__if,axiom,
! [Xs: list_fm,Ys: list_fm] :
( ( ( Xs = nil_fm )
=> ( ( tl_fm @ ( append_fm @ Xs @ Ys ) )
= ( tl_fm @ Ys ) ) )
& ( ( Xs != nil_fm )
=> ( ( tl_fm @ ( append_fm @ Xs @ Ys ) )
= ( append_fm @ ( tl_fm @ Xs ) @ Ys ) ) ) ) ).
% tl_append_if
thf(fact_645_tl__append__if,axiom,
! [Xs: list_tm,Ys: list_tm] :
( ( ( Xs = nil_tm )
=> ( ( tl_tm @ ( append_tm @ Xs @ Ys ) )
= ( tl_tm @ Ys ) ) )
& ( ( Xs != nil_tm )
=> ( ( tl_tm @ ( append_tm @ Xs @ Ys ) )
= ( append_tm @ ( tl_tm @ Xs ) @ Ys ) ) ) ) ).
% tl_append_if
thf(fact_646_tl__append__if,axiom,
! [Xs: list_nat,Ys: list_nat] :
( ( ( Xs = nil_nat )
=> ( ( tl_nat @ ( append_nat @ Xs @ Ys ) )
= ( tl_nat @ Ys ) ) )
& ( ( Xs != nil_nat )
=> ( ( tl_nat @ ( append_nat @ Xs @ Ys ) )
= ( append_nat @ ( tl_nat @ Xs ) @ Ys ) ) ) ) ).
% tl_append_if
thf(fact_647_last__tl,axiom,
! [Xs: list_fm] :
( ( ( Xs = nil_fm )
| ( ( tl_fm @ Xs )
!= nil_fm ) )
=> ( ( last_fm @ ( tl_fm @ Xs ) )
= ( last_fm @ Xs ) ) ) ).
% last_tl
thf(fact_648_last__tl,axiom,
! [Xs: list_tm] :
( ( ( Xs = nil_tm )
| ( ( tl_tm @ Xs )
!= nil_tm ) )
=> ( ( last_tm @ ( tl_tm @ Xs ) )
= ( last_tm @ Xs ) ) ) ).
% last_tl
thf(fact_649_last__tl,axiom,
! [Xs: list_nat] :
( ( ( Xs = nil_nat )
| ( ( tl_nat @ Xs )
!= nil_nat ) )
=> ( ( last_nat @ ( tl_nat @ Xs ) )
= ( last_nat @ Xs ) ) ) ).
% last_tl
thf(fact_650_filter__eq__Cons__iff,axiom,
! [P: tm > $o,Ys: list_tm,X: tm,Xs: list_tm] :
( ( ( filter_tm @ P @ Ys )
= ( cons_tm @ X @ Xs ) )
= ( ? [Us2: list_tm,Vs: list_tm] :
( ( Ys
= ( append_tm @ Us2 @ ( cons_tm @ X @ Vs ) ) )
& ! [X2: tm] :
( ( member_tm2 @ X2 @ ( set_tm2 @ Us2 ) )
=> ~ ( P @ X2 ) )
& ( P @ X )
& ( Xs
= ( filter_tm @ P @ Vs ) ) ) ) ) ).
% filter_eq_Cons_iff
thf(fact_651_filter__eq__Cons__iff,axiom,
! [P: nat > $o,Ys: list_nat,X: nat,Xs: list_nat] :
( ( ( filter_nat @ P @ Ys )
= ( cons_nat @ X @ Xs ) )
= ( ? [Us2: list_nat,Vs: list_nat] :
( ( Ys
= ( append_nat @ Us2 @ ( cons_nat @ X @ Vs ) ) )
& ! [X2: nat] :
( ( member_nat2 @ X2 @ ( set_nat2 @ Us2 ) )
=> ~ ( P @ X2 ) )
& ( P @ X )
& ( Xs
= ( filter_nat @ P @ Vs ) ) ) ) ) ).
% filter_eq_Cons_iff
thf(fact_652_Cons__eq__filter__iff,axiom,
! [X: tm,Xs: list_tm,P: tm > $o,Ys: list_tm] :
( ( ( cons_tm @ X @ Xs )
= ( filter_tm @ P @ Ys ) )
= ( ? [Us2: list_tm,Vs: list_tm] :
( ( Ys
= ( append_tm @ Us2 @ ( cons_tm @ X @ Vs ) ) )
& ! [X2: tm] :
( ( member_tm2 @ X2 @ ( set_tm2 @ Us2 ) )
=> ~ ( P @ X2 ) )
& ( P @ X )
& ( Xs
= ( filter_tm @ P @ Vs ) ) ) ) ) ).
% Cons_eq_filter_iff
thf(fact_653_Cons__eq__filter__iff,axiom,
! [X: nat,Xs: list_nat,P: nat > $o,Ys: list_nat] :
( ( ( cons_nat @ X @ Xs )
= ( filter_nat @ P @ Ys ) )
= ( ? [Us2: list_nat,Vs: list_nat] :
( ( Ys
= ( append_nat @ Us2 @ ( cons_nat @ X @ Vs ) ) )
& ! [X2: nat] :
( ( member_nat2 @ X2 @ ( set_nat2 @ Us2 ) )
=> ~ ( P @ X2 ) )
& ( P @ X )
& ( Xs
= ( filter_nat @ P @ Vs ) ) ) ) ) ).
% Cons_eq_filter_iff
thf(fact_654_filter__eq__ConsD,axiom,
! [P: tm > $o,Ys: list_tm,X: tm,Xs: list_tm] :
( ( ( filter_tm @ P @ Ys )
= ( cons_tm @ X @ Xs ) )
=> ? [Us3: list_tm,Vs2: list_tm] :
( ( Ys
= ( append_tm @ Us3 @ ( cons_tm @ X @ Vs2 ) ) )
& ! [X4: tm] :
( ( member_tm2 @ X4 @ ( set_tm2 @ Us3 ) )
=> ~ ( P @ X4 ) )
& ( P @ X )
& ( Xs
= ( filter_tm @ P @ Vs2 ) ) ) ) ).
% filter_eq_ConsD
thf(fact_655_filter__eq__ConsD,axiom,
! [P: nat > $o,Ys: list_nat,X: nat,Xs: list_nat] :
( ( ( filter_nat @ P @ Ys )
= ( cons_nat @ X @ Xs ) )
=> ? [Us3: list_nat,Vs2: list_nat] :
( ( Ys
= ( append_nat @ Us3 @ ( cons_nat @ X @ Vs2 ) ) )
& ! [X4: nat] :
( ( member_nat2 @ X4 @ ( set_nat2 @ Us3 ) )
=> ~ ( P @ X4 ) )
& ( P @ X )
& ( Xs
= ( filter_nat @ P @ Vs2 ) ) ) ) ).
% filter_eq_ConsD
thf(fact_656_Cons__eq__filterD,axiom,
! [X: tm,Xs: list_tm,P: tm > $o,Ys: list_tm] :
( ( ( cons_tm @ X @ Xs )
= ( filter_tm @ P @ Ys ) )
=> ? [Us3: list_tm,Vs2: list_tm] :
( ( Ys
= ( append_tm @ Us3 @ ( cons_tm @ X @ Vs2 ) ) )
& ! [X4: tm] :
( ( member_tm2 @ X4 @ ( set_tm2 @ Us3 ) )
=> ~ ( P @ X4 ) )
& ( P @ X )
& ( Xs
= ( filter_tm @ P @ Vs2 ) ) ) ) ).
% Cons_eq_filterD
thf(fact_657_Cons__eq__filterD,axiom,
! [X: nat,Xs: list_nat,P: nat > $o,Ys: list_nat] :
( ( ( cons_nat @ X @ Xs )
= ( filter_nat @ P @ Ys ) )
=> ? [Us3: list_nat,Vs2: list_nat] :
( ( Ys
= ( append_nat @ Us3 @ ( cons_nat @ X @ Vs2 ) ) )
& ! [X4: nat] :
( ( member_nat2 @ X4 @ ( set_nat2 @ Us3 ) )
=> ~ ( P @ X4 ) )
& ( P @ X )
& ( Xs
= ( filter_nat @ P @ Vs2 ) ) ) ) ).
% Cons_eq_filterD
thf(fact_658_tl__def,axiom,
( tl_fm
= ( case_list_list_fm_fm @ nil_fm
@ ^ [X213: fm,X223: list_fm] : X223 ) ) ).
% tl_def
thf(fact_659_tl__def,axiom,
( tl_tm
= ( case_list_list_tm_tm @ nil_tm
@ ^ [X213: tm,X223: list_tm] : X223 ) ) ).
% tl_def
thf(fact_660_tl__def,axiom,
( tl_nat
= ( case_l2340614614379431832at_nat @ nil_nat
@ ^ [X213: nat,X223: list_nat] : X223 ) ) ).
% tl_def
thf(fact_661_tl__append,axiom,
! [Xs: list_nat,Ys: list_nat] :
( ( tl_nat @ ( append_nat @ Xs @ Ys ) )
= ( case_l2340614614379431832at_nat @ ( tl_nat @ Ys )
@ ^ [Z2: nat,Zs3: list_nat] : ( append_nat @ Zs3 @ Ys )
@ Xs ) ) ).
% tl_append
thf(fact_662_rev__conv__fold,axiom,
( rev_fm
= ( ^ [Xs2: list_fm] : ( fold_fm_list_fm @ cons_fm @ Xs2 @ nil_fm ) ) ) ).
% rev_conv_fold
thf(fact_663_rev__conv__fold,axiom,
( rev_tm
= ( ^ [Xs2: list_tm] : ( fold_tm_list_tm @ cons_tm @ Xs2 @ nil_tm ) ) ) ).
% rev_conv_fold
thf(fact_664_rev__conv__fold,axiom,
( rev_nat
= ( ^ [Xs2: list_nat] : ( fold_nat_list_nat @ cons_nat @ Xs2 @ nil_nat ) ) ) ).
% rev_conv_fold
thf(fact_665_remdups__adj__append__two,axiom,
! [Xs: list_fm,X: fm,Y: fm] :
( ( remdups_adj_fm @ ( append_fm @ Xs @ ( cons_fm @ X @ ( cons_fm @ Y @ nil_fm ) ) ) )
= ( append_fm @ ( remdups_adj_fm @ ( append_fm @ Xs @ ( cons_fm @ X @ nil_fm ) ) ) @ ( if_list_fm @ ( X = Y ) @ nil_fm @ ( cons_fm @ Y @ nil_fm ) ) ) ) ).
% remdups_adj_append_two
thf(fact_666_remdups__adj__append__two,axiom,
! [Xs: list_tm,X: tm,Y: tm] :
( ( remdups_adj_tm @ ( append_tm @ Xs @ ( cons_tm @ X @ ( cons_tm @ Y @ nil_tm ) ) ) )
= ( append_tm @ ( remdups_adj_tm @ ( append_tm @ Xs @ ( cons_tm @ X @ nil_tm ) ) ) @ ( if_list_tm @ ( X = Y ) @ nil_tm @ ( cons_tm @ Y @ nil_tm ) ) ) ) ).
% remdups_adj_append_two
thf(fact_667_remdups__adj__append__two,axiom,
! [Xs: list_nat,X: nat,Y: nat] :
( ( remdups_adj_nat @ ( append_nat @ Xs @ ( cons_nat @ X @ ( cons_nat @ Y @ nil_nat ) ) ) )
= ( append_nat @ ( remdups_adj_nat @ ( append_nat @ Xs @ ( cons_nat @ X @ nil_nat ) ) ) @ ( if_list_nat @ ( X = Y ) @ nil_nat @ ( cons_nat @ Y @ nil_nat ) ) ) ) ).
% remdups_adj_append_two
thf(fact_668_fold__Cons__rev,axiom,
! [Xs: list_tm] :
( ( fold_tm_list_tm @ cons_tm @ Xs )
= ( append_tm @ ( rev_tm @ Xs ) ) ) ).
% fold_Cons_rev
thf(fact_669_fold__Cons__rev,axiom,
! [Xs: list_nat] :
( ( fold_nat_list_nat @ cons_nat @ Xs )
= ( append_nat @ ( rev_nat @ Xs ) ) ) ).
% fold_Cons_rev
thf(fact_670_remdups__adj_Opelims,axiom,
! [X: list_fm,Y: list_fm] :
( ( ( remdups_adj_fm @ X )
= Y )
=> ( ( accp_list_fm @ remdups_adj_rel_fm @ X )
=> ( ( ( X = nil_fm )
=> ( ( Y = nil_fm )
=> ~ ( accp_list_fm @ remdups_adj_rel_fm @ nil_fm ) ) )
=> ( ! [X3: fm] :
( ( X
= ( cons_fm @ X3 @ nil_fm ) )
=> ( ( Y
= ( cons_fm @ X3 @ nil_fm ) )
=> ~ ( accp_list_fm @ remdups_adj_rel_fm @ ( cons_fm @ X3 @ nil_fm ) ) ) )
=> ~ ! [X3: fm,Y3: fm,Xs3: list_fm] :
( ( X
= ( cons_fm @ X3 @ ( cons_fm @ Y3 @ Xs3 ) ) )
=> ( ( ( ( X3 = Y3 )
=> ( Y
= ( remdups_adj_fm @ ( cons_fm @ X3 @ Xs3 ) ) ) )
& ( ( X3 != Y3 )
=> ( Y
= ( cons_fm @ X3 @ ( remdups_adj_fm @ ( cons_fm @ Y3 @ Xs3 ) ) ) ) ) )
=> ~ ( accp_list_fm @ remdups_adj_rel_fm @ ( cons_fm @ X3 @ ( cons_fm @ Y3 @ Xs3 ) ) ) ) ) ) ) ) ) ).
% remdups_adj.pelims
thf(fact_671_remdups__adj_Opelims,axiom,
! [X: list_tm,Y: list_tm] :
( ( ( remdups_adj_tm @ X )
= Y )
=> ( ( accp_list_tm @ remdups_adj_rel_tm @ X )
=> ( ( ( X = nil_tm )
=> ( ( Y = nil_tm )
=> ~ ( accp_list_tm @ remdups_adj_rel_tm @ nil_tm ) ) )
=> ( ! [X3: tm] :
( ( X
= ( cons_tm @ X3 @ nil_tm ) )
=> ( ( Y
= ( cons_tm @ X3 @ nil_tm ) )
=> ~ ( accp_list_tm @ remdups_adj_rel_tm @ ( cons_tm @ X3 @ nil_tm ) ) ) )
=> ~ ! [X3: tm,Y3: tm,Xs3: list_tm] :
( ( X
= ( cons_tm @ X3 @ ( cons_tm @ Y3 @ Xs3 ) ) )
=> ( ( ( ( X3 = Y3 )
=> ( Y
= ( remdups_adj_tm @ ( cons_tm @ X3 @ Xs3 ) ) ) )
& ( ( X3 != Y3 )
=> ( Y
= ( cons_tm @ X3 @ ( remdups_adj_tm @ ( cons_tm @ Y3 @ Xs3 ) ) ) ) ) )
=> ~ ( accp_list_tm @ remdups_adj_rel_tm @ ( cons_tm @ X3 @ ( cons_tm @ Y3 @ Xs3 ) ) ) ) ) ) ) ) ) ).
% remdups_adj.pelims
thf(fact_672_remdups__adj_Opelims,axiom,
! [X: list_nat,Y: list_nat] :
( ( ( remdups_adj_nat @ X )
= Y )
=> ( ( accp_list_nat @ remdups_adj_rel_nat @ X )
=> ( ( ( X = nil_nat )
=> ( ( Y = nil_nat )
=> ~ ( accp_list_nat @ remdups_adj_rel_nat @ nil_nat ) ) )
=> ( ! [X3: nat] :
( ( X
= ( cons_nat @ X3 @ nil_nat ) )
=> ( ( Y
= ( cons_nat @ X3 @ nil_nat ) )
=> ~ ( accp_list_nat @ remdups_adj_rel_nat @ ( cons_nat @ X3 @ nil_nat ) ) ) )
=> ~ ! [X3: nat,Y3: nat,Xs3: list_nat] :
( ( X
= ( cons_nat @ X3 @ ( cons_nat @ Y3 @ Xs3 ) ) )
=> ( ( ( ( X3 = Y3 )
=> ( Y
= ( remdups_adj_nat @ ( cons_nat @ X3 @ Xs3 ) ) ) )
& ( ( X3 != Y3 )
=> ( Y
= ( cons_nat @ X3 @ ( remdups_adj_nat @ ( cons_nat @ Y3 @ Xs3 ) ) ) ) ) )
=> ~ ( accp_list_nat @ remdups_adj_rel_nat @ ( cons_nat @ X3 @ ( cons_nat @ Y3 @ Xs3 ) ) ) ) ) ) ) ) ) ).
% remdups_adj.pelims
thf(fact_673_transpose__aux__filter__head,axiom,
! [Xss2: list_list_fm] :
( ( concat_fm
@ ( map_list_fm_list_fm
@ ( case_list_list_fm_fm @ nil_fm
@ ^ [H: fm,T2: list_fm] : ( cons_fm @ H @ nil_fm ) )
@ Xss2 ) )
= ( map_list_fm_fm @ hd_fm
@ ( filter_list_fm
@ ^ [Ys3: list_fm] : ( Ys3 != nil_fm )
@ Xss2 ) ) ) ).
% transpose_aux_filter_head
thf(fact_674_transpose__aux__filter__head,axiom,
! [Xss2: list_list_tm] :
( ( concat_tm
@ ( map_list_tm_list_tm
@ ( case_list_list_tm_tm @ nil_tm
@ ^ [H: tm,T2: list_tm] : ( cons_tm @ H @ nil_tm ) )
@ Xss2 ) )
= ( map_list_tm_tm @ hd_tm
@ ( filter_list_tm
@ ^ [Ys3: list_tm] : ( Ys3 != nil_tm )
@ Xss2 ) ) ) ).
% transpose_aux_filter_head
thf(fact_675_transpose__aux__filter__head,axiom,
! [Xss2: list_list_nat] :
( ( concat_nat
@ ( map_li7225945977422193158st_nat
@ ( case_l2340614614379431832at_nat @ nil_nat
@ ^ [H: nat,T2: list_nat] : ( cons_nat @ H @ nil_nat ) )
@ Xss2 ) )
= ( map_list_nat_nat @ hd_nat
@ ( filter_list_nat
@ ^ [Ys3: list_nat] : ( Ys3 != nil_nat )
@ Xss2 ) ) ) ).
% transpose_aux_filter_head
thf(fact_676_rotate1__hd__tl,axiom,
! [Xs: list_fm] :
( ( Xs != nil_fm )
=> ( ( rotate1_fm @ Xs )
= ( append_fm @ ( tl_fm @ Xs ) @ ( cons_fm @ ( hd_fm @ Xs ) @ nil_fm ) ) ) ) ).
% rotate1_hd_tl
thf(fact_677_rotate1__hd__tl,axiom,
! [Xs: list_tm] :
( ( Xs != nil_tm )
=> ( ( rotate1_tm @ Xs )
= ( append_tm @ ( tl_tm @ Xs ) @ ( cons_tm @ ( hd_tm @ Xs ) @ nil_tm ) ) ) ) ).
% rotate1_hd_tl
thf(fact_678_rotate1__hd__tl,axiom,
! [Xs: list_nat] :
( ( Xs != nil_nat )
=> ( ( rotate1_nat @ Xs )
= ( append_nat @ ( tl_nat @ Xs ) @ ( cons_nat @ ( hd_nat @ Xs ) @ nil_nat ) ) ) ) ).
% rotate1_hd_tl
thf(fact_679_remdups__adj__append_H_H,axiom,
! [Xs: list_fm,Ys: list_fm] :
( ( Xs != nil_fm )
=> ( ( remdups_adj_fm @ ( append_fm @ Xs @ Ys ) )
= ( append_fm @ ( remdups_adj_fm @ Xs )
@ ( remdups_adj_fm
@ ( dropWhile_fm
@ ^ [Y2: fm] :
( Y2
= ( last_fm @ Xs ) )
@ Ys ) ) ) ) ) ).
% remdups_adj_append''
thf(fact_680_remdups__adj__append_H_H,axiom,
! [Xs: list_tm,Ys: list_tm] :
( ( Xs != nil_tm )
=> ( ( remdups_adj_tm @ ( append_tm @ Xs @ Ys ) )
= ( append_tm @ ( remdups_adj_tm @ Xs )
@ ( remdups_adj_tm
@ ( dropWhile_tm
@ ^ [Y2: tm] :
( Y2
= ( last_tm @ Xs ) )
@ Ys ) ) ) ) ) ).
% remdups_adj_append''
thf(fact_681_remdups__adj__append_H_H,axiom,
! [Xs: list_nat,Ys: list_nat] :
( ( Xs != nil_nat )
=> ( ( remdups_adj_nat @ ( append_nat @ Xs @ Ys ) )
= ( append_nat @ ( remdups_adj_nat @ Xs )
@ ( remdups_adj_nat
@ ( dropWhile_nat
@ ^ [Y2: nat] :
( Y2
= ( last_nat @ Xs ) )
@ Ys ) ) ) ) ) ).
% remdups_adj_append''
thf(fact_682_Sup__fin_Oset__eq__fold,axiom,
! [X: nat,Xs: list_nat] :
( ( lattic1093996805478795353in_nat @ ( set_nat2 @ ( cons_nat @ X @ Xs ) ) )
= ( fold_nat_nat @ sup_sup_nat @ Xs @ X ) ) ).
% Sup_fin.set_eq_fold
thf(fact_683_Sup__fin_Oset__eq__fold,axiom,
! [X: set_nat,Xs: list_set_nat] :
( ( lattic3835124923745554447et_nat @ ( set_set_nat2 @ ( cons_set_nat @ X @ Xs ) ) )
= ( fold_set_nat_set_nat @ sup_sup_set_nat @ Xs @ X ) ) ).
% Sup_fin.set_eq_fold
thf(fact_684_remdups__adj__append__dropWhile,axiom,
! [Xs: list_fm,Y: fm,Ys: list_fm] :
( ( remdups_adj_fm @ ( append_fm @ Xs @ ( cons_fm @ Y @ Ys ) ) )
= ( append_fm @ ( remdups_adj_fm @ ( append_fm @ Xs @ ( cons_fm @ Y @ nil_fm ) ) )
@ ( remdups_adj_fm
@ ( dropWhile_fm
@ ^ [X2: fm] : ( X2 = Y )
@ Ys ) ) ) ) ).
% remdups_adj_append_dropWhile
thf(fact_685_remdups__adj__append__dropWhile,axiom,
! [Xs: list_tm,Y: tm,Ys: list_tm] :
( ( remdups_adj_tm @ ( append_tm @ Xs @ ( cons_tm @ Y @ Ys ) ) )
= ( append_tm @ ( remdups_adj_tm @ ( append_tm @ Xs @ ( cons_tm @ Y @ nil_tm ) ) )
@ ( remdups_adj_tm
@ ( dropWhile_tm
@ ^ [X2: tm] : ( X2 = Y )
@ Ys ) ) ) ) ).
% remdups_adj_append_dropWhile
thf(fact_686_remdups__adj__append__dropWhile,axiom,
! [Xs: list_nat,Y: nat,Ys: list_nat] :
( ( remdups_adj_nat @ ( append_nat @ Xs @ ( cons_nat @ Y @ Ys ) ) )
= ( append_nat @ ( remdups_adj_nat @ ( append_nat @ Xs @ ( cons_nat @ Y @ nil_nat ) ) )
@ ( remdups_adj_nat
@ ( dropWhile_nat
@ ^ [X2: nat] : ( X2 = Y )
@ Ys ) ) ) ) ).
% remdups_adj_append_dropWhile
thf(fact_687_hd__remdups__adj,axiom,
! [Xs: list_nat] :
( ( hd_nat @ ( remdups_adj_nat @ Xs ) )
= ( hd_nat @ Xs ) ) ).
% hd_remdups_adj
thf(fact_688_dropWhile__eq__Nil__conv,axiom,
! [P: fm > $o,Xs: list_fm] :
( ( ( dropWhile_fm @ P @ Xs )
= nil_fm )
= ( ! [X2: fm] :
( ( member_fm2 @ X2 @ ( set_fm2 @ Xs ) )
=> ( P @ X2 ) ) ) ) ).
% dropWhile_eq_Nil_conv
thf(fact_689_dropWhile__eq__Nil__conv,axiom,
! [P: tm > $o,Xs: list_tm] :
( ( ( dropWhile_tm @ P @ Xs )
= nil_tm )
= ( ! [X2: tm] :
( ( member_tm2 @ X2 @ ( set_tm2 @ Xs ) )
=> ( P @ X2 ) ) ) ) ).
% dropWhile_eq_Nil_conv
thf(fact_690_dropWhile__eq__Nil__conv,axiom,
! [P: nat > $o,Xs: list_nat] :
( ( ( dropWhile_nat @ P @ Xs )
= nil_nat )
= ( ! [X2: nat] :
( ( member_nat2 @ X2 @ ( set_nat2 @ Xs ) )
=> ( P @ X2 ) ) ) ) ).
% dropWhile_eq_Nil_conv
thf(fact_691_hd__append2,axiom,
! [Xs: list_fm,Ys: list_fm] :
( ( Xs != nil_fm )
=> ( ( hd_fm @ ( append_fm @ Xs @ Ys ) )
= ( hd_fm @ Xs ) ) ) ).
% hd_append2
thf(fact_692_hd__append2,axiom,
! [Xs: list_tm,Ys: list_tm] :
( ( Xs != nil_tm )
=> ( ( hd_tm @ ( append_tm @ Xs @ Ys ) )
= ( hd_tm @ Xs ) ) ) ).
% hd_append2
thf(fact_693_hd__append2,axiom,
! [Xs: list_nat,Ys: list_nat] :
( ( Xs != nil_nat )
=> ( ( hd_nat @ ( append_nat @ Xs @ Ys ) )
= ( hd_nat @ Xs ) ) ) ).
% hd_append2
thf(fact_694_dropWhile__append1,axiom,
! [X: a,Xs: list_a,P: a > $o,Ys: list_a] :
( ( member_a2 @ X @ ( set_a2 @ Xs ) )
=> ( ~ ( P @ X )
=> ( ( dropWhile_a @ P @ ( append_a @ Xs @ Ys ) )
= ( append_a @ ( dropWhile_a @ P @ Xs ) @ Ys ) ) ) ) ).
% dropWhile_append1
thf(fact_695_dropWhile__append1,axiom,
! [X: fm,Xs: list_fm,P: fm > $o,Ys: list_fm] :
( ( member_fm2 @ X @ ( set_fm2 @ Xs ) )
=> ( ~ ( P @ X )
=> ( ( dropWhile_fm @ P @ ( append_fm @ Xs @ Ys ) )
= ( append_fm @ ( dropWhile_fm @ P @ Xs ) @ Ys ) ) ) ) ).
% dropWhile_append1
thf(fact_696_dropWhile__append1,axiom,
! [X: nat,Xs: list_nat,P: nat > $o,Ys: list_nat] :
( ( member_nat2 @ X @ ( set_nat2 @ Xs ) )
=> ( ~ ( P @ X )
=> ( ( dropWhile_nat @ P @ ( append_nat @ Xs @ Ys ) )
= ( append_nat @ ( dropWhile_nat @ P @ Xs ) @ Ys ) ) ) ) ).
% dropWhile_append1
thf(fact_697_dropWhile__append2,axiom,
! [Xs: list_a,P: a > $o,Ys: list_a] :
( ! [X3: a] :
( ( member_a2 @ X3 @ ( set_a2 @ Xs ) )
=> ( P @ X3 ) )
=> ( ( dropWhile_a @ P @ ( append_a @ Xs @ Ys ) )
= ( dropWhile_a @ P @ Ys ) ) ) ).
% dropWhile_append2
thf(fact_698_dropWhile__append2,axiom,
! [Xs: list_fm,P: fm > $o,Ys: list_fm] :
( ! [X3: fm] :
( ( member_fm2 @ X3 @ ( set_fm2 @ Xs ) )
=> ( P @ X3 ) )
=> ( ( dropWhile_fm @ P @ ( append_fm @ Xs @ Ys ) )
= ( dropWhile_fm @ P @ Ys ) ) ) ).
% dropWhile_append2
thf(fact_699_dropWhile__append2,axiom,
! [Xs: list_nat,P: nat > $o,Ys: list_nat] :
( ! [X3: nat] :
( ( member_nat2 @ X3 @ ( set_nat2 @ Xs ) )
=> ( P @ X3 ) )
=> ( ( dropWhile_nat @ P @ ( append_nat @ Xs @ Ys ) )
= ( dropWhile_nat @ P @ Ys ) ) ) ).
% dropWhile_append2
thf(fact_700_list_Ocollapse,axiom,
! [List: list_fm] :
( ( List != nil_fm )
=> ( ( cons_fm @ ( hd_fm @ List ) @ ( tl_fm @ List ) )
= List ) ) ).
% list.collapse
thf(fact_701_list_Ocollapse,axiom,
! [List: list_tm] :
( ( List != nil_tm )
=> ( ( cons_tm @ ( hd_tm @ List ) @ ( tl_tm @ List ) )
= List ) ) ).
% list.collapse
thf(fact_702_list_Ocollapse,axiom,
! [List: list_nat] :
( ( List != nil_nat )
=> ( ( cons_nat @ ( hd_nat @ List ) @ ( tl_nat @ List ) )
= List ) ) ).
% list.collapse
thf(fact_703_hd__Cons__tl,axiom,
! [Xs: list_fm] :
( ( Xs != nil_fm )
=> ( ( cons_fm @ ( hd_fm @ Xs ) @ ( tl_fm @ Xs ) )
= Xs ) ) ).
% hd_Cons_tl
thf(fact_704_hd__Cons__tl,axiom,
! [Xs: list_tm] :
( ( Xs != nil_tm )
=> ( ( cons_tm @ ( hd_tm @ Xs ) @ ( tl_tm @ Xs ) )
= Xs ) ) ).
% hd_Cons_tl
thf(fact_705_hd__Cons__tl,axiom,
! [Xs: list_nat] :
( ( Xs != nil_nat )
=> ( ( cons_nat @ ( hd_nat @ Xs ) @ ( tl_nat @ Xs ) )
= Xs ) ) ).
% hd_Cons_tl
thf(fact_706_hd__dropWhile,axiom,
! [P: fm > $o,Xs: list_fm] :
( ( ( dropWhile_fm @ P @ Xs )
!= nil_fm )
=> ~ ( P @ ( hd_fm @ ( dropWhile_fm @ P @ Xs ) ) ) ) ).
% hd_dropWhile
thf(fact_707_hd__dropWhile,axiom,
! [P: tm > $o,Xs: list_tm] :
( ( ( dropWhile_tm @ P @ Xs )
!= nil_tm )
=> ~ ( P @ ( hd_tm @ ( dropWhile_tm @ P @ Xs ) ) ) ) ).
% hd_dropWhile
thf(fact_708_hd__dropWhile,axiom,
! [P: nat > $o,Xs: list_nat] :
( ( ( dropWhile_nat @ P @ Xs )
!= nil_nat )
=> ~ ( P @ ( hd_nat @ ( dropWhile_nat @ P @ Xs ) ) ) ) ).
% hd_dropWhile
thf(fact_709_dropWhile__eq__self__iff,axiom,
! [P: fm > $o,Xs: list_fm] :
( ( ( dropWhile_fm @ P @ Xs )
= Xs )
= ( ( Xs = nil_fm )
| ~ ( P @ ( hd_fm @ Xs ) ) ) ) ).
% dropWhile_eq_self_iff
thf(fact_710_dropWhile__eq__self__iff,axiom,
! [P: tm > $o,Xs: list_tm] :
( ( ( dropWhile_tm @ P @ Xs )
= Xs )
= ( ( Xs = nil_tm )
| ~ ( P @ ( hd_tm @ Xs ) ) ) ) ).
% dropWhile_eq_self_iff
thf(fact_711_dropWhile__eq__self__iff,axiom,
! [P: nat > $o,Xs: list_nat] :
( ( ( dropWhile_nat @ P @ Xs )
= Xs )
= ( ( Xs = nil_nat )
| ~ ( P @ ( hd_nat @ Xs ) ) ) ) ).
% dropWhile_eq_self_iff
thf(fact_712_dropWhile_Osimps_I2_J,axiom,
! [P: tm > $o,X: tm,Xs: list_tm] :
( ( ( P @ X )
=> ( ( dropWhile_tm @ P @ ( cons_tm @ X @ Xs ) )
= ( dropWhile_tm @ P @ Xs ) ) )
& ( ~ ( P @ X )
=> ( ( dropWhile_tm @ P @ ( cons_tm @ X @ Xs ) )
= ( cons_tm @ X @ Xs ) ) ) ) ).
% dropWhile.simps(2)
thf(fact_713_dropWhile_Osimps_I2_J,axiom,
! [P: nat > $o,X: nat,Xs: list_nat] :
( ( ( P @ X )
=> ( ( dropWhile_nat @ P @ ( cons_nat @ X @ Xs ) )
= ( dropWhile_nat @ P @ Xs ) ) )
& ( ~ ( P @ X )
=> ( ( dropWhile_nat @ P @ ( cons_nat @ X @ Xs ) )
= ( cons_nat @ X @ Xs ) ) ) ) ).
% dropWhile.simps(2)
thf(fact_714_list_Osel_I1_J,axiom,
! [X21: tm,X22: list_tm] :
( ( hd_tm @ ( cons_tm @ X21 @ X22 ) )
= X21 ) ).
% list.sel(1)
thf(fact_715_list_Osel_I1_J,axiom,
! [X21: nat,X22: list_nat] :
( ( hd_nat @ ( cons_nat @ X21 @ X22 ) )
= X21 ) ).
% list.sel(1)
thf(fact_716_dropWhile_Osimps_I1_J,axiom,
! [P: fm > $o] :
( ( dropWhile_fm @ P @ nil_fm )
= nil_fm ) ).
% dropWhile.simps(1)
thf(fact_717_dropWhile_Osimps_I1_J,axiom,
! [P: tm > $o] :
( ( dropWhile_tm @ P @ nil_tm )
= nil_tm ) ).
% dropWhile.simps(1)
thf(fact_718_dropWhile_Osimps_I1_J,axiom,
! [P: nat > $o] :
( ( dropWhile_nat @ P @ nil_nat )
= nil_nat ) ).
% dropWhile.simps(1)
thf(fact_719_dropWhile__cong,axiom,
! [L2: list_a,K2: list_a,P: a > $o,Q: a > $o] :
( ( L2 = K2 )
=> ( ! [X3: a] :
( ( member_a2 @ X3 @ ( set_a2 @ L2 ) )
=> ( ( P @ X3 )
= ( Q @ X3 ) ) )
=> ( ( dropWhile_a @ P @ L2 )
= ( dropWhile_a @ Q @ K2 ) ) ) ) ).
% dropWhile_cong
thf(fact_720_dropWhile__cong,axiom,
! [L2: list_nat,K2: list_nat,P: nat > $o,Q: nat > $o] :
( ( L2 = K2 )
=> ( ! [X3: nat] :
( ( member_nat2 @ X3 @ ( set_nat2 @ L2 ) )
=> ( ( P @ X3 )
= ( Q @ X3 ) ) )
=> ( ( dropWhile_nat @ P @ L2 )
= ( dropWhile_nat @ Q @ K2 ) ) ) ) ).
% dropWhile_cong
thf(fact_721_dropWhile__cong,axiom,
! [L2: list_fm,K2: list_fm,P: fm > $o,Q: fm > $o] :
( ( L2 = K2 )
=> ( ! [X3: fm] :
( ( member_fm2 @ X3 @ ( set_fm2 @ L2 ) )
=> ( ( P @ X3 )
= ( Q @ X3 ) ) )
=> ( ( dropWhile_fm @ P @ L2 )
= ( dropWhile_fm @ Q @ K2 ) ) ) ) ).
% dropWhile_cong
thf(fact_722_set__dropWhileD,axiom,
! [X: a,P: a > $o,Xs: list_a] :
( ( member_a2 @ X @ ( set_a2 @ ( dropWhile_a @ P @ Xs ) ) )
=> ( member_a2 @ X @ ( set_a2 @ Xs ) ) ) ).
% set_dropWhileD
thf(fact_723_set__dropWhileD,axiom,
! [X: nat,P: nat > $o,Xs: list_nat] :
( ( member_nat2 @ X @ ( set_nat2 @ ( dropWhile_nat @ P @ Xs ) ) )
=> ( member_nat2 @ X @ ( set_nat2 @ Xs ) ) ) ).
% set_dropWhileD
thf(fact_724_set__dropWhileD,axiom,
! [X: fm,P: fm > $o,Xs: list_fm] :
( ( member_fm2 @ X @ ( set_fm2 @ ( dropWhile_fm @ P @ Xs ) ) )
=> ( member_fm2 @ X @ ( set_fm2 @ Xs ) ) ) ).
% set_dropWhileD
thf(fact_725_sup__set__def,axiom,
( sup_sup_set_a
= ( ^ [A5: set_a,B3: set_a] :
( collect_a
@ ( sup_sup_a_o
@ ^ [X2: a] : ( member_a2 @ X2 @ A5 )
@ ^ [X2: a] : ( member_a2 @ X2 @ B3 ) ) ) ) ) ).
% sup_set_def
thf(fact_726_sup__set__def,axiom,
( sup_sup_set_fm
= ( ^ [A5: set_fm,B3: set_fm] :
( collect_fm
@ ( sup_sup_fm_o
@ ^ [X2: fm] : ( member_fm2 @ X2 @ A5 )
@ ^ [X2: fm] : ( member_fm2 @ X2 @ B3 ) ) ) ) ) ).
% sup_set_def
thf(fact_727_sup__set__def,axiom,
( sup_sup_set_nat
= ( ^ [A5: set_nat,B3: set_nat] :
( collect_nat
@ ( sup_sup_nat_o
@ ^ [X2: nat] : ( member_nat2 @ X2 @ A5 )
@ ^ [X2: nat] : ( member_nat2 @ X2 @ B3 ) ) ) ) ) ).
% sup_set_def
thf(fact_728_hd__concat,axiom,
! [Xs: list_list_fm] :
( ( Xs != nil_list_fm )
=> ( ( ( hd_list_fm @ Xs )
!= nil_fm )
=> ( ( hd_fm @ ( concat_fm @ Xs ) )
= ( hd_fm @ ( hd_list_fm @ Xs ) ) ) ) ) ).
% hd_concat
thf(fact_729_hd__concat,axiom,
! [Xs: list_list_tm] :
( ( Xs != nil_list_tm )
=> ( ( ( hd_list_tm @ Xs )
!= nil_tm )
=> ( ( hd_tm @ ( concat_tm @ Xs ) )
= ( hd_tm @ ( hd_list_tm @ Xs ) ) ) ) ) ).
% hd_concat
thf(fact_730_hd__concat,axiom,
! [Xs: list_list_nat] :
( ( Xs != nil_list_nat )
=> ( ( ( hd_list_nat @ Xs )
!= nil_nat )
=> ( ( hd_nat @ ( concat_nat @ Xs ) )
= ( hd_nat @ ( hd_list_nat @ Xs ) ) ) ) ) ).
% hd_concat
thf(fact_731_tl__remdups__adj,axiom,
! [Ys: list_fm] :
( ( Ys != nil_fm )
=> ( ( tl_fm @ ( remdups_adj_fm @ Ys ) )
= ( remdups_adj_fm
@ ( dropWhile_fm
@ ^ [X2: fm] :
( X2
= ( hd_fm @ Ys ) )
@ ( tl_fm @ Ys ) ) ) ) ) ).
% tl_remdups_adj
thf(fact_732_tl__remdups__adj,axiom,
! [Ys: list_tm] :
( ( Ys != nil_tm )
=> ( ( tl_tm @ ( remdups_adj_tm @ Ys ) )
= ( remdups_adj_tm
@ ( dropWhile_tm
@ ^ [X2: tm] :
( X2
= ( hd_tm @ Ys ) )
@ ( tl_tm @ Ys ) ) ) ) ) ).
% tl_remdups_adj
thf(fact_733_tl__remdups__adj,axiom,
! [Ys: list_nat] :
( ( Ys != nil_nat )
=> ( ( tl_nat @ ( remdups_adj_nat @ Ys ) )
= ( remdups_adj_nat
@ ( dropWhile_nat
@ ^ [X2: nat] :
( X2
= ( hd_nat @ Ys ) )
@ ( tl_nat @ Ys ) ) ) ) ) ).
% tl_remdups_adj
thf(fact_734_list_Oset__sel_I1_J,axiom,
! [A2: list_a] :
( ( A2 != nil_a )
=> ( member_a2 @ ( hd_a @ A2 ) @ ( set_a2 @ A2 ) ) ) ).
% list.set_sel(1)
thf(fact_735_list_Oset__sel_I1_J,axiom,
! [A2: list_fm] :
( ( A2 != nil_fm )
=> ( member_fm2 @ ( hd_fm @ A2 ) @ ( set_fm2 @ A2 ) ) ) ).
% list.set_sel(1)
thf(fact_736_list_Oset__sel_I1_J,axiom,
! [A2: list_tm] :
( ( A2 != nil_tm )
=> ( member_tm2 @ ( hd_tm @ A2 ) @ ( set_tm2 @ A2 ) ) ) ).
% list.set_sel(1)
thf(fact_737_list_Oset__sel_I1_J,axiom,
! [A2: list_nat] :
( ( A2 != nil_nat )
=> ( member_nat2 @ ( hd_nat @ A2 ) @ ( set_nat2 @ A2 ) ) ) ).
% list.set_sel(1)
thf(fact_738_hd__in__set,axiom,
! [Xs: list_a] :
( ( Xs != nil_a )
=> ( member_a2 @ ( hd_a @ Xs ) @ ( set_a2 @ Xs ) ) ) ).
% hd_in_set
thf(fact_739_hd__in__set,axiom,
! [Xs: list_fm] :
( ( Xs != nil_fm )
=> ( member_fm2 @ ( hd_fm @ Xs ) @ ( set_fm2 @ Xs ) ) ) ).
% hd_in_set
thf(fact_740_hd__in__set,axiom,
! [Xs: list_tm] :
( ( Xs != nil_tm )
=> ( member_tm2 @ ( hd_tm @ Xs ) @ ( set_tm2 @ Xs ) ) ) ).
% hd_in_set
thf(fact_741_hd__in__set,axiom,
! [Xs: list_nat] :
( ( Xs != nil_nat )
=> ( member_nat2 @ ( hd_nat @ Xs ) @ ( set_nat2 @ Xs ) ) ) ).
% hd_in_set
thf(fact_742_dropWhile__append3,axiom,
! [P: tm > $o,Y: tm,Xs: list_tm,Ys: list_tm] :
( ~ ( P @ Y )
=> ( ( dropWhile_tm @ P @ ( append_tm @ Xs @ ( cons_tm @ Y @ Ys ) ) )
= ( append_tm @ ( dropWhile_tm @ P @ Xs ) @ ( cons_tm @ Y @ Ys ) ) ) ) ).
% dropWhile_append3
thf(fact_743_dropWhile__append3,axiom,
! [P: nat > $o,Y: nat,Xs: list_nat,Ys: list_nat] :
( ~ ( P @ Y )
=> ( ( dropWhile_nat @ P @ ( append_nat @ Xs @ ( cons_nat @ Y @ Ys ) ) )
= ( append_nat @ ( dropWhile_nat @ P @ Xs ) @ ( cons_nat @ Y @ Ys ) ) ) ) ).
% dropWhile_append3
thf(fact_744_list_Omap__sel_I1_J,axiom,
! [A2: list_fm,F: fm > nat] :
( ( A2 != nil_fm )
=> ( ( hd_nat @ ( map_fm_nat @ F @ A2 ) )
= ( F @ ( hd_fm @ A2 ) ) ) ) ).
% list.map_sel(1)
thf(fact_745_list_Omap__sel_I1_J,axiom,
! [A2: list_tm,F: tm > nat] :
( ( A2 != nil_tm )
=> ( ( hd_nat @ ( map_tm_nat @ F @ A2 ) )
= ( F @ ( hd_tm @ A2 ) ) ) ) ).
% list.map_sel(1)
thf(fact_746_list_Omap__sel_I1_J,axiom,
! [A2: list_nat,F: nat > nat] :
( ( A2 != nil_nat )
=> ( ( hd_nat @ ( map_nat_nat @ F @ A2 ) )
= ( F @ ( hd_nat @ A2 ) ) ) ) ).
% list.map_sel(1)
thf(fact_747_hd__map,axiom,
! [Xs: list_fm,F: fm > nat] :
( ( Xs != nil_fm )
=> ( ( hd_nat @ ( map_fm_nat @ F @ Xs ) )
= ( F @ ( hd_fm @ Xs ) ) ) ) ).
% hd_map
thf(fact_748_hd__map,axiom,
! [Xs: list_tm,F: tm > nat] :
( ( Xs != nil_tm )
=> ( ( hd_nat @ ( map_tm_nat @ F @ Xs ) )
= ( F @ ( hd_tm @ Xs ) ) ) ) ).
% hd_map
thf(fact_749_hd__map,axiom,
! [Xs: list_nat,F: nat > nat] :
( ( Xs != nil_nat )
=> ( ( hd_nat @ ( map_nat_nat @ F @ Xs ) )
= ( F @ ( hd_nat @ Xs ) ) ) ) ).
% hd_map
thf(fact_750_hd__append,axiom,
! [Xs: list_fm,Ys: list_fm] :
( ( ( Xs = nil_fm )
=> ( ( hd_fm @ ( append_fm @ Xs @ Ys ) )
= ( hd_fm @ Ys ) ) )
& ( ( Xs != nil_fm )
=> ( ( hd_fm @ ( append_fm @ Xs @ Ys ) )
= ( hd_fm @ Xs ) ) ) ) ).
% hd_append
thf(fact_751_hd__append,axiom,
! [Xs: list_tm,Ys: list_tm] :
( ( ( Xs = nil_tm )
=> ( ( hd_tm @ ( append_tm @ Xs @ Ys ) )
= ( hd_tm @ Ys ) ) )
& ( ( Xs != nil_tm )
=> ( ( hd_tm @ ( append_tm @ Xs @ Ys ) )
= ( hd_tm @ Xs ) ) ) ) ).
% hd_append
thf(fact_752_hd__append,axiom,
! [Xs: list_nat,Ys: list_nat] :
( ( ( Xs = nil_nat )
=> ( ( hd_nat @ ( append_nat @ Xs @ Ys ) )
= ( hd_nat @ Ys ) ) )
& ( ( Xs != nil_nat )
=> ( ( hd_nat @ ( append_nat @ Xs @ Ys ) )
= ( hd_nat @ Xs ) ) ) ) ).
% hd_append
thf(fact_753_longest__common__prefix,axiom,
! [Xs: list_fm,Ys: list_fm] :
? [Ps: list_fm,Xs6: list_fm,Ys6: list_fm] :
( ( Xs
= ( append_fm @ Ps @ Xs6 ) )
& ( Ys
= ( append_fm @ Ps @ Ys6 ) )
& ( ( Xs6 = nil_fm )
| ( Ys6 = nil_fm )
| ( ( hd_fm @ Xs6 )
!= ( hd_fm @ Ys6 ) ) ) ) ).
% longest_common_prefix
thf(fact_754_longest__common__prefix,axiom,
! [Xs: list_tm,Ys: list_tm] :
? [Ps: list_tm,Xs6: list_tm,Ys6: list_tm] :
( ( Xs
= ( append_tm @ Ps @ Xs6 ) )
& ( Ys
= ( append_tm @ Ps @ Ys6 ) )
& ( ( Xs6 = nil_tm )
| ( Ys6 = nil_tm )
| ( ( hd_tm @ Xs6 )
!= ( hd_tm @ Ys6 ) ) ) ) ).
% longest_common_prefix
thf(fact_755_longest__common__prefix,axiom,
! [Xs: list_nat,Ys: list_nat] :
? [Ps: list_nat,Xs6: list_nat,Ys6: list_nat] :
( ( Xs
= ( append_nat @ Ps @ Xs6 ) )
& ( Ys
= ( append_nat @ Ps @ Ys6 ) )
& ( ( Xs6 = nil_nat )
| ( Ys6 = nil_nat )
| ( ( hd_nat @ Xs6 )
!= ( hd_nat @ Ys6 ) ) ) ) ).
% longest_common_prefix
thf(fact_756_list_Oexpand,axiom,
! [List: list_fm,List2: list_fm] :
( ( ( List = nil_fm )
= ( List2 = nil_fm ) )
=> ( ( ( List != nil_fm )
=> ( ( List2 != nil_fm )
=> ( ( ( hd_fm @ List )
= ( hd_fm @ List2 ) )
& ( ( tl_fm @ List )
= ( tl_fm @ List2 ) ) ) ) )
=> ( List = List2 ) ) ) ).
% list.expand
thf(fact_757_list_Oexpand,axiom,
! [List: list_tm,List2: list_tm] :
( ( ( List = nil_tm )
= ( List2 = nil_tm ) )
=> ( ( ( List != nil_tm )
=> ( ( List2 != nil_tm )
=> ( ( ( hd_tm @ List )
= ( hd_tm @ List2 ) )
& ( ( tl_tm @ List )
= ( tl_tm @ List2 ) ) ) ) )
=> ( List = List2 ) ) ) ).
% list.expand
thf(fact_758_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_759_dropWhile__last,axiom,
! [X: a,Xs: list_a,P: a > $o] :
( ( member_a2 @ X @ ( set_a2 @ Xs ) )
=> ( ~ ( P @ X )
=> ( ( last_a @ ( dropWhile_a @ P @ Xs ) )
= ( last_a @ Xs ) ) ) ) ).
% dropWhile_last
thf(fact_760_dropWhile__last,axiom,
! [X: nat,Xs: list_nat,P: nat > $o] :
( ( member_nat2 @ X @ ( set_nat2 @ Xs ) )
=> ( ~ ( P @ X )
=> ( ( last_nat @ ( dropWhile_nat @ P @ Xs ) )
= ( last_nat @ Xs ) ) ) ) ).
% dropWhile_last
thf(fact_761_dropWhile__last,axiom,
! [X: fm,Xs: list_fm,P: fm > $o] :
( ( member_fm2 @ X @ ( set_fm2 @ Xs ) )
=> ( ~ ( P @ X )
=> ( ( last_fm @ ( dropWhile_fm @ P @ Xs ) )
= ( last_fm @ Xs ) ) ) ) ).
% dropWhile_last
thf(fact_762_hd__Nil__eq__last,axiom,
( ( hd_fm @ nil_fm )
= ( last_fm @ nil_fm ) ) ).
% hd_Nil_eq_last
thf(fact_763_hd__Nil__eq__last,axiom,
( ( hd_tm @ nil_tm )
= ( last_tm @ nil_tm ) ) ).
% hd_Nil_eq_last
thf(fact_764_hd__Nil__eq__last,axiom,
( ( hd_nat @ nil_nat )
= ( last_nat @ nil_nat ) ) ).
% hd_Nil_eq_last
thf(fact_765_last__rev,axiom,
! [Xs: list_nat] :
( ( last_nat @ ( rev_nat @ Xs ) )
= ( hd_nat @ Xs ) ) ).
% last_rev
thf(fact_766_hd__rev,axiom,
! [Xs: list_nat] :
( ( hd_nat @ ( rev_nat @ Xs ) )
= ( last_nat @ Xs ) ) ).
% hd_rev
thf(fact_767_remdups__adj__Cons_H,axiom,
! [X: tm,Xs: list_tm] :
( ( remdups_adj_tm @ ( cons_tm @ X @ Xs ) )
= ( cons_tm @ X
@ ( remdups_adj_tm
@ ( dropWhile_tm
@ ^ [Y2: tm] : ( Y2 = X )
@ Xs ) ) ) ) ).
% remdups_adj_Cons'
thf(fact_768_remdups__adj__Cons_H,axiom,
! [X: nat,Xs: list_nat] :
( ( remdups_adj_nat @ ( cons_nat @ X @ Xs ) )
= ( cons_nat @ X
@ ( remdups_adj_nat
@ ( dropWhile_nat
@ ^ [Y2: nat] : ( Y2 = X )
@ Xs ) ) ) ) ).
% remdups_adj_Cons'
thf(fact_769_list_Oexhaust__sel,axiom,
! [List: list_fm] :
( ( List != nil_fm )
=> ( List
= ( cons_fm @ ( hd_fm @ List ) @ ( tl_fm @ List ) ) ) ) ).
% list.exhaust_sel
thf(fact_770_list_Oexhaust__sel,axiom,
! [List: list_tm] :
( ( List != nil_tm )
=> ( List
= ( cons_tm @ ( hd_tm @ List ) @ ( tl_tm @ List ) ) ) ) ).
% list.exhaust_sel
thf(fact_771_list_Oexhaust__sel,axiom,
! [List: list_nat] :
( ( List != nil_nat )
=> ( List
= ( cons_nat @ ( hd_nat @ List ) @ ( tl_nat @ List ) ) ) ) ).
% list.exhaust_sel
thf(fact_772_remdups__adj__append_H,axiom,
! [Xs: list_fm,Ys: list_fm] :
( ( ( Xs = nil_fm )
| ( Ys = nil_fm )
| ( ( last_fm @ Xs )
!= ( hd_fm @ Ys ) ) )
=> ( ( remdups_adj_fm @ ( append_fm @ Xs @ Ys ) )
= ( append_fm @ ( remdups_adj_fm @ Xs ) @ ( remdups_adj_fm @ Ys ) ) ) ) ).
% remdups_adj_append'
thf(fact_773_remdups__adj__append_H,axiom,
! [Xs: list_tm,Ys: list_tm] :
( ( ( Xs = nil_tm )
| ( Ys = nil_tm )
| ( ( last_tm @ Xs )
!= ( hd_tm @ Ys ) ) )
=> ( ( remdups_adj_tm @ ( append_tm @ Xs @ Ys ) )
= ( append_tm @ ( remdups_adj_tm @ Xs ) @ ( remdups_adj_tm @ Ys ) ) ) ) ).
% remdups_adj_append'
thf(fact_774_remdups__adj__append_H,axiom,
! [Xs: list_nat,Ys: list_nat] :
( ( ( Xs = nil_nat )
| ( Ys = nil_nat )
| ( ( last_nat @ Xs )
!= ( hd_nat @ Ys ) ) )
=> ( ( remdups_adj_nat @ ( append_nat @ Xs @ Ys ) )
= ( append_nat @ ( remdups_adj_nat @ Xs ) @ ( remdups_adj_nat @ Ys ) ) ) ) ).
% remdups_adj_append'
thf(fact_775_distinct__adj__append__iff,axiom,
! [Xs: list_fm,Ys: list_fm] :
( ( distinct_adj_fm @ ( append_fm @ Xs @ Ys ) )
= ( ( distinct_adj_fm @ Xs )
& ( distinct_adj_fm @ Ys )
& ( ( Xs = nil_fm )
| ( Ys = nil_fm )
| ( ( last_fm @ Xs )
!= ( hd_fm @ Ys ) ) ) ) ) ).
% distinct_adj_append_iff
thf(fact_776_distinct__adj__append__iff,axiom,
! [Xs: list_tm,Ys: list_tm] :
( ( distinct_adj_tm @ ( append_tm @ Xs @ Ys ) )
= ( ( distinct_adj_tm @ Xs )
& ( distinct_adj_tm @ Ys )
& ( ( Xs = nil_tm )
| ( Ys = nil_tm )
| ( ( last_tm @ Xs )
!= ( hd_tm @ Ys ) ) ) ) ) ).
% distinct_adj_append_iff
thf(fact_777_distinct__adj__append__iff,axiom,
! [Xs: list_nat,Ys: list_nat] :
( ( distinct_adj_nat @ ( append_nat @ Xs @ Ys ) )
= ( ( distinct_adj_nat @ Xs )
& ( distinct_adj_nat @ Ys )
& ( ( Xs = nil_nat )
| ( Ys = nil_nat )
| ( ( last_nat @ Xs )
!= ( hd_nat @ Ys ) ) ) ) ) ).
% distinct_adj_append_iff
thf(fact_778_sup__Un__eq,axiom,
! [R: set_a,S: set_a] :
( ( sup_sup_a_o
@ ^ [X2: a] : ( member_a2 @ X2 @ R )
@ ^ [X2: a] : ( member_a2 @ X2 @ S ) )
= ( ^ [X2: a] : ( member_a2 @ X2 @ ( sup_sup_set_a @ R @ S ) ) ) ) ).
% sup_Un_eq
thf(fact_779_sup__Un__eq,axiom,
! [R: set_fm,S: set_fm] :
( ( sup_sup_fm_o
@ ^ [X2: fm] : ( member_fm2 @ X2 @ R )
@ ^ [X2: fm] : ( member_fm2 @ X2 @ S ) )
= ( ^ [X2: fm] : ( member_fm2 @ X2 @ ( sup_sup_set_fm @ R @ S ) ) ) ) ).
% sup_Un_eq
thf(fact_780_sup__Un__eq,axiom,
! [R: set_nat,S: set_nat] :
( ( sup_sup_nat_o
@ ^ [X2: nat] : ( member_nat2 @ X2 @ R )
@ ^ [X2: nat] : ( member_nat2 @ X2 @ S ) )
= ( ^ [X2: nat] : ( member_nat2 @ X2 @ ( sup_sup_set_nat @ R @ S ) ) ) ) ).
% sup_Un_eq
thf(fact_781_successively__append__iff,axiom,
! [P: fm > fm > $o,Xs: list_fm,Ys: list_fm] :
( ( successively_fm @ P @ ( append_fm @ Xs @ Ys ) )
= ( ( successively_fm @ P @ Xs )
& ( successively_fm @ P @ Ys )
& ( ( Xs = nil_fm )
| ( Ys = nil_fm )
| ( P @ ( last_fm @ Xs ) @ ( hd_fm @ Ys ) ) ) ) ) ).
% successively_append_iff
thf(fact_782_successively__append__iff,axiom,
! [P: tm > tm > $o,Xs: list_tm,Ys: list_tm] :
( ( successively_tm @ P @ ( append_tm @ Xs @ Ys ) )
= ( ( successively_tm @ P @ Xs )
& ( successively_tm @ P @ Ys )
& ( ( Xs = nil_tm )
| ( Ys = nil_tm )
| ( P @ ( last_tm @ Xs ) @ ( hd_tm @ Ys ) ) ) ) ) ).
% successively_append_iff
thf(fact_783_successively__append__iff,axiom,
! [P: nat > nat > $o,Xs: list_nat,Ys: list_nat] :
( ( successively_nat @ P @ ( append_nat @ Xs @ Ys ) )
= ( ( successively_nat @ P @ Xs )
& ( successively_nat @ P @ Ys )
& ( ( Xs = nil_nat )
| ( Ys = nil_nat )
| ( P @ ( last_nat @ Xs ) @ ( hd_nat @ Ys ) ) ) ) ) ).
% successively_append_iff
thf(fact_784_Cons__in__shuffles__iff,axiom,
! [Z: fm,Zs: list_fm,Xs: list_fm,Ys: list_fm] :
( ( member_list_fm @ ( cons_fm @ Z @ Zs ) @ ( shuffles_fm @ Xs @ Ys ) )
= ( ( ( Xs != nil_fm )
& ( ( hd_fm @ Xs )
= Z )
& ( member_list_fm @ Zs @ ( shuffles_fm @ ( tl_fm @ Xs ) @ Ys ) ) )
| ( ( Ys != nil_fm )
& ( ( hd_fm @ Ys )
= Z )
& ( member_list_fm @ Zs @ ( shuffles_fm @ Xs @ ( tl_fm @ Ys ) ) ) ) ) ) ).
% Cons_in_shuffles_iff
thf(fact_785_Cons__in__shuffles__iff,axiom,
! [Z: tm,Zs: list_tm,Xs: list_tm,Ys: list_tm] :
( ( member_list_tm @ ( cons_tm @ Z @ Zs ) @ ( shuffles_tm @ Xs @ Ys ) )
= ( ( ( Xs != nil_tm )
& ( ( hd_tm @ Xs )
= Z )
& ( member_list_tm @ Zs @ ( shuffles_tm @ ( tl_tm @ Xs ) @ Ys ) ) )
| ( ( Ys != nil_tm )
& ( ( hd_tm @ Ys )
= Z )
& ( member_list_tm @ Zs @ ( shuffles_tm @ Xs @ ( tl_tm @ Ys ) ) ) ) ) ) ).
% Cons_in_shuffles_iff
thf(fact_786_Cons__in__shuffles__iff,axiom,
! [Z: nat,Zs: list_nat,Xs: list_nat,Ys: list_nat] :
( ( member_list_nat @ ( cons_nat @ Z @ Zs ) @ ( shuffles_nat @ Xs @ Ys ) )
= ( ( ( Xs != nil_nat )
& ( ( hd_nat @ Xs )
= Z )
& ( member_list_nat @ Zs @ ( shuffles_nat @ ( tl_nat @ Xs ) @ Ys ) ) )
| ( ( Ys != nil_nat )
& ( ( hd_nat @ Ys )
= Z )
& ( member_list_nat @ Zs @ ( shuffles_nat @ Xs @ ( tl_nat @ Ys ) ) ) ) ) ) ).
% Cons_in_shuffles_iff
thf(fact_787_union__coset__filter,axiom,
! [Xs: list_a,A3: set_a] :
( ( sup_sup_set_a @ ( coset_a @ Xs ) @ A3 )
= ( coset_a
@ ( filter_a
@ ^ [X2: a] :
~ ( member_a2 @ X2 @ A3 )
@ Xs ) ) ) ).
% union_coset_filter
thf(fact_788_union__coset__filter,axiom,
! [Xs: list_fm,A3: set_fm] :
( ( sup_sup_set_fm @ ( coset_fm @ Xs ) @ A3 )
= ( coset_fm
@ ( filter_fm
@ ^ [X2: fm] :
~ ( member_fm2 @ X2 @ A3 )
@ Xs ) ) ) ).
% union_coset_filter
thf(fact_789_union__coset__filter,axiom,
! [Xs: list_nat,A3: set_nat] :
( ( sup_sup_set_nat @ ( coset_nat @ Xs ) @ A3 )
= ( coset_nat
@ ( filter_nat
@ ^ [X2: nat] :
~ ( member_nat2 @ X2 @ A3 )
@ Xs ) ) ) ).
% union_coset_filter
thf(fact_790_Nil__in__shuffles,axiom,
! [Xs: list_fm,Ys: list_fm] :
( ( member_list_fm @ nil_fm @ ( shuffles_fm @ Xs @ Ys ) )
= ( ( Xs = nil_fm )
& ( Ys = nil_fm ) ) ) ).
% Nil_in_shuffles
thf(fact_791_Nil__in__shuffles,axiom,
! [Xs: list_tm,Ys: list_tm] :
( ( member_list_tm @ nil_tm @ ( shuffles_tm @ Xs @ Ys ) )
= ( ( Xs = nil_tm )
& ( Ys = nil_tm ) ) ) ).
% Nil_in_shuffles
thf(fact_792_Nil__in__shuffles,axiom,
! [Xs: list_nat,Ys: list_nat] :
( ( member_list_nat @ nil_nat @ ( shuffles_nat @ Xs @ Ys ) )
= ( ( Xs = nil_nat )
& ( Ys = nil_nat ) ) ) ).
% Nil_in_shuffles
thf(fact_793_distinct__adj__Cons__Cons,axiom,
! [X: tm,Y: tm,Xs: list_tm] :
( ( distinct_adj_tm @ ( cons_tm @ X @ ( cons_tm @ Y @ Xs ) ) )
= ( ( X != Y )
& ( distinct_adj_tm @ ( cons_tm @ Y @ Xs ) ) ) ) ).
% distinct_adj_Cons_Cons
thf(fact_794_distinct__adj__Cons__Cons,axiom,
! [X: nat,Y: nat,Xs: list_nat] :
( ( distinct_adj_nat @ ( cons_nat @ X @ ( cons_nat @ Y @ Xs ) ) )
= ( ( X != Y )
& ( distinct_adj_nat @ ( cons_nat @ Y @ Xs ) ) ) ) ).
% distinct_adj_Cons_Cons
thf(fact_795_Set_Ofilter__def,axiom,
( filter_a2
= ( ^ [P3: a > $o,A5: set_a] :
( collect_a
@ ^ [A: a] :
( ( member_a2 @ A @ A5 )
& ( P3 @ A ) ) ) ) ) ).
% Set.filter_def
thf(fact_796_Set_Ofilter__def,axiom,
( filter_fm2
= ( ^ [P3: fm > $o,A5: set_fm] :
( collect_fm
@ ^ [A: fm] :
( ( member_fm2 @ A @ A5 )
& ( P3 @ A ) ) ) ) ) ).
% Set.filter_def
thf(fact_797_Set_Ofilter__def,axiom,
( filter_nat2
= ( ^ [P3: nat > $o,A5: set_nat] :
( collect_nat
@ ^ [A: nat] :
( ( member_nat2 @ A @ A5 )
& ( P3 @ A ) ) ) ) ) ).
% Set.filter_def
thf(fact_798_Cons__in__shuffles__rightI,axiom,
! [Zs: list_tm,Xs: list_tm,Ys: list_tm,Z: tm] :
( ( member_list_tm @ Zs @ ( shuffles_tm @ Xs @ Ys ) )
=> ( member_list_tm @ ( cons_tm @ Z @ Zs ) @ ( shuffles_tm @ Xs @ ( cons_tm @ Z @ Ys ) ) ) ) ).
% Cons_in_shuffles_rightI
thf(fact_799_Cons__in__shuffles__rightI,axiom,
! [Zs: list_nat,Xs: list_nat,Ys: list_nat,Z: nat] :
( ( member_list_nat @ Zs @ ( shuffles_nat @ Xs @ Ys ) )
=> ( member_list_nat @ ( cons_nat @ Z @ Zs ) @ ( shuffles_nat @ Xs @ ( cons_nat @ Z @ Ys ) ) ) ) ).
% Cons_in_shuffles_rightI
thf(fact_800_Cons__in__shuffles__leftI,axiom,
! [Zs: list_tm,Xs: list_tm,Ys: list_tm,Z: tm] :
( ( member_list_tm @ Zs @ ( shuffles_tm @ Xs @ Ys ) )
=> ( member_list_tm @ ( cons_tm @ Z @ Zs ) @ ( shuffles_tm @ ( cons_tm @ Z @ Xs ) @ Ys ) ) ) ).
% Cons_in_shuffles_leftI
thf(fact_801_Cons__in__shuffles__leftI,axiom,
! [Zs: list_nat,Xs: list_nat,Ys: list_nat,Z: nat] :
( ( member_list_nat @ Zs @ ( shuffles_nat @ Xs @ Ys ) )
=> ( member_list_nat @ ( cons_nat @ Z @ Zs ) @ ( shuffles_nat @ ( cons_nat @ Z @ Xs ) @ Ys ) ) ) ).
% Cons_in_shuffles_leftI
thf(fact_802_Nil__in__shufflesI,axiom,
! [Xs: list_fm,Ys: list_fm] :
( ( Xs = nil_fm )
=> ( ( Ys = nil_fm )
=> ( member_list_fm @ nil_fm @ ( shuffles_fm @ Xs @ Ys ) ) ) ) ).
% Nil_in_shufflesI
thf(fact_803_Nil__in__shufflesI,axiom,
! [Xs: list_tm,Ys: list_tm] :
( ( Xs = nil_tm )
=> ( ( Ys = nil_tm )
=> ( member_list_tm @ nil_tm @ ( shuffles_tm @ Xs @ Ys ) ) ) ) ).
% Nil_in_shufflesI
thf(fact_804_Nil__in__shufflesI,axiom,
! [Xs: list_nat,Ys: list_nat] :
( ( Xs = nil_nat )
=> ( ( Ys = nil_nat )
=> ( member_list_nat @ nil_nat @ ( shuffles_nat @ Xs @ Ys ) ) ) ) ).
% Nil_in_shufflesI
thf(fact_805_successively_Osimps_I3_J,axiom,
! [P: tm > tm > $o,X: tm,Y: tm,Xs: list_tm] :
( ( successively_tm @ P @ ( cons_tm @ X @ ( cons_tm @ Y @ Xs ) ) )
= ( ( P @ X @ Y )
& ( successively_tm @ P @ ( cons_tm @ Y @ Xs ) ) ) ) ).
% successively.simps(3)
thf(fact_806_successively_Osimps_I3_J,axiom,
! [P: nat > nat > $o,X: nat,Y: nat,Xs: list_nat] :
( ( successively_nat @ P @ ( cons_nat @ X @ ( cons_nat @ Y @ Xs ) ) )
= ( ( P @ X @ Y )
& ( successively_nat @ P @ ( cons_nat @ Y @ Xs ) ) ) ) ).
% successively.simps(3)
thf(fact_807_successively_Oelims_I3_J,axiom,
! [X: tm > tm > $o,Xa: list_tm] :
( ~ ( successively_tm @ X @ Xa )
=> ~ ! [X3: tm,Y3: tm,Xs3: list_tm] :
( ( Xa
= ( cons_tm @ X3 @ ( cons_tm @ Y3 @ Xs3 ) ) )
=> ( ( X @ X3 @ Y3 )
& ( successively_tm @ X @ ( cons_tm @ Y3 @ Xs3 ) ) ) ) ) ).
% successively.elims(3)
thf(fact_808_successively_Oelims_I3_J,axiom,
! [X: nat > nat > $o,Xa: list_nat] :
( ~ ( successively_nat @ X @ Xa )
=> ~ ! [X3: nat,Y3: nat,Xs3: list_nat] :
( ( Xa
= ( cons_nat @ X3 @ ( cons_nat @ Y3 @ Xs3 ) ) )
=> ( ( X @ X3 @ Y3 )
& ( successively_nat @ X @ ( cons_nat @ Y3 @ Xs3 ) ) ) ) ) ).
% successively.elims(3)
thf(fact_809_successively_Osimps_I1_J,axiom,
! [P: fm > fm > $o] : ( successively_fm @ P @ nil_fm ) ).
% successively.simps(1)
thf(fact_810_successively_Osimps_I1_J,axiom,
! [P: tm > tm > $o] : ( successively_tm @ P @ nil_tm ) ).
% successively.simps(1)
thf(fact_811_successively_Osimps_I1_J,axiom,
! [P: nat > nat > $o] : ( successively_nat @ P @ nil_nat ) ).
% successively.simps(1)
thf(fact_812_successively__mono,axiom,
! [P: a > a > $o,Xs: list_a,Q: a > a > $o] :
( ( successively_a @ P @ Xs )
=> ( ! [X3: a,Y3: a] :
( ( member_a2 @ X3 @ ( set_a2 @ Xs ) )
=> ( ( member_a2 @ Y3 @ ( set_a2 @ Xs ) )
=> ( ( P @ X3 @ Y3 )
=> ( Q @ X3 @ Y3 ) ) ) )
=> ( successively_a @ Q @ Xs ) ) ) ).
% successively_mono
thf(fact_813_successively__mono,axiom,
! [P: nat > nat > $o,Xs: list_nat,Q: nat > nat > $o] :
( ( successively_nat @ P @ Xs )
=> ( ! [X3: nat,Y3: nat] :
( ( member_nat2 @ X3 @ ( set_nat2 @ Xs ) )
=> ( ( member_nat2 @ Y3 @ ( set_nat2 @ Xs ) )
=> ( ( P @ X3 @ Y3 )
=> ( Q @ X3 @ Y3 ) ) ) )
=> ( successively_nat @ Q @ Xs ) ) ) ).
% successively_mono
thf(fact_814_successively__mono,axiom,
! [P: fm > fm > $o,Xs: list_fm,Q: fm > fm > $o] :
( ( successively_fm @ P @ Xs )
=> ( ! [X3: fm,Y3: fm] :
( ( member_fm2 @ X3 @ ( set_fm2 @ Xs ) )
=> ( ( member_fm2 @ Y3 @ ( set_fm2 @ Xs ) )
=> ( ( P @ X3 @ Y3 )
=> ( Q @ X3 @ Y3 ) ) ) )
=> ( successively_fm @ Q @ Xs ) ) ) ).
% successively_mono
thf(fact_815_successively__cong,axiom,
! [Xs: list_a,P: a > a > $o,Q: a > a > $o,Ys: list_a] :
( ! [X3: a,Y3: a] :
( ( member_a2 @ X3 @ ( set_a2 @ Xs ) )
=> ( ( member_a2 @ Y3 @ ( set_a2 @ Xs ) )
=> ( ( P @ X3 @ Y3 )
= ( Q @ X3 @ Y3 ) ) ) )
=> ( ( Xs = Ys )
=> ( ( successively_a @ P @ Xs )
= ( successively_a @ Q @ Ys ) ) ) ) ).
% successively_cong
thf(fact_816_successively__cong,axiom,
! [Xs: list_nat,P: nat > nat > $o,Q: nat > nat > $o,Ys: list_nat] :
( ! [X3: nat,Y3: nat] :
( ( member_nat2 @ X3 @ ( set_nat2 @ Xs ) )
=> ( ( member_nat2 @ Y3 @ ( set_nat2 @ Xs ) )
=> ( ( P @ X3 @ Y3 )
= ( Q @ X3 @ Y3 ) ) ) )
=> ( ( Xs = Ys )
=> ( ( successively_nat @ P @ Xs )
= ( successively_nat @ Q @ Ys ) ) ) ) ).
% successively_cong
thf(fact_817_successively__cong,axiom,
! [Xs: list_fm,P: fm > fm > $o,Q: fm > fm > $o,Ys: list_fm] :
( ! [X3: fm,Y3: fm] :
( ( member_fm2 @ X3 @ ( set_fm2 @ Xs ) )
=> ( ( member_fm2 @ Y3 @ ( set_fm2 @ Xs ) )
=> ( ( P @ X3 @ Y3 )
= ( Q @ X3 @ Y3 ) ) ) )
=> ( ( Xs = Ys )
=> ( ( successively_fm @ P @ Xs )
= ( successively_fm @ Q @ Ys ) ) ) ) ).
% successively_cong
thf(fact_818_distinct__adj__ConsD,axiom,
! [X: tm,Xs: list_tm] :
( ( distinct_adj_tm @ ( cons_tm @ X @ Xs ) )
=> ( distinct_adj_tm @ Xs ) ) ).
% distinct_adj_ConsD
thf(fact_819_distinct__adj__ConsD,axiom,
! [X: nat,Xs: list_nat] :
( ( distinct_adj_nat @ ( cons_nat @ X @ Xs ) )
=> ( distinct_adj_nat @ Xs ) ) ).
% distinct_adj_ConsD
thf(fact_820_distinct__adj__Nil,axiom,
distinct_adj_fm @ nil_fm ).
% distinct_adj_Nil
thf(fact_821_distinct__adj__Nil,axiom,
distinct_adj_tm @ nil_tm ).
% distinct_adj_Nil
thf(fact_822_distinct__adj__Nil,axiom,
distinct_adj_nat @ nil_nat ).
% distinct_adj_Nil
thf(fact_823_distinct__adj__mapD,axiom,
! [F: nat > nat,Xs: list_nat] :
( ( distinct_adj_nat @ ( map_nat_nat @ F @ Xs ) )
=> ( distinct_adj_nat @ Xs ) ) ).
% distinct_adj_mapD
thf(fact_824_distinct__adj__appendD2,axiom,
! [Xs: list_nat,Ys: list_nat] :
( ( distinct_adj_nat @ ( append_nat @ Xs @ Ys ) )
=> ( distinct_adj_nat @ Ys ) ) ).
% distinct_adj_appendD2
thf(fact_825_distinct__adj__appendD1,axiom,
! [Xs: list_nat,Ys: list_nat] :
( ( distinct_adj_nat @ ( append_nat @ Xs @ Ys ) )
=> ( distinct_adj_nat @ Xs ) ) ).
% distinct_adj_appendD1
thf(fact_826_successively__map,axiom,
! [P: nat > nat > $o,F: nat > nat,Xs: list_nat] :
( ( successively_nat @ P @ ( map_nat_nat @ F @ Xs ) )
= ( successively_nat
@ ^ [X2: nat,Y2: nat] : ( P @ ( F @ X2 ) @ ( F @ Y2 ) )
@ Xs ) ) ).
% successively_map
thf(fact_827_shufflesE,axiom,
! [Zs: list_fm,Xs: list_fm,Ys: list_fm] :
( ( member_list_fm @ Zs @ ( shuffles_fm @ Xs @ Ys ) )
=> ( ( ( Zs = Xs )
=> ( Ys != nil_fm ) )
=> ( ( ( Zs = Ys )
=> ( Xs != nil_fm ) )
=> ( ! [X3: fm,Xs6: list_fm] :
( ( Xs
= ( cons_fm @ X3 @ Xs6 ) )
=> ! [Z3: fm,Zs4: list_fm] :
( ( Zs
= ( cons_fm @ Z3 @ Zs4 ) )
=> ( ( X3 = Z3 )
=> ~ ( member_list_fm @ Zs4 @ ( shuffles_fm @ Xs6 @ Ys ) ) ) ) )
=> ~ ! [Y3: fm,Ys6: list_fm] :
( ( Ys
= ( cons_fm @ Y3 @ Ys6 ) )
=> ! [Z3: fm,Zs4: list_fm] :
( ( Zs
= ( cons_fm @ Z3 @ Zs4 ) )
=> ( ( Y3 = Z3 )
=> ~ ( member_list_fm @ Zs4 @ ( shuffles_fm @ Xs @ Ys6 ) ) ) ) ) ) ) ) ) ).
% shufflesE
thf(fact_828_shufflesE,axiom,
! [Zs: list_tm,Xs: list_tm,Ys: list_tm] :
( ( member_list_tm @ Zs @ ( shuffles_tm @ Xs @ Ys ) )
=> ( ( ( Zs = Xs )
=> ( Ys != nil_tm ) )
=> ( ( ( Zs = Ys )
=> ( Xs != nil_tm ) )
=> ( ! [X3: tm,Xs6: list_tm] :
( ( Xs
= ( cons_tm @ X3 @ Xs6 ) )
=> ! [Z3: tm,Zs4: list_tm] :
( ( Zs
= ( cons_tm @ Z3 @ Zs4 ) )
=> ( ( X3 = Z3 )
=> ~ ( member_list_tm @ Zs4 @ ( shuffles_tm @ Xs6 @ Ys ) ) ) ) )
=> ~ ! [Y3: tm,Ys6: list_tm] :
( ( Ys
= ( cons_tm @ Y3 @ Ys6 ) )
=> ! [Z3: tm,Zs4: list_tm] :
( ( Zs
= ( cons_tm @ Z3 @ Zs4 ) )
=> ( ( Y3 = Z3 )
=> ~ ( member_list_tm @ Zs4 @ ( shuffles_tm @ Xs @ Ys6 ) ) ) ) ) ) ) ) ) ).
% shufflesE
thf(fact_829_shufflesE,axiom,
! [Zs: list_nat,Xs: list_nat,Ys: list_nat] :
( ( member_list_nat @ Zs @ ( shuffles_nat @ Xs @ Ys ) )
=> ( ( ( Zs = Xs )
=> ( Ys != nil_nat ) )
=> ( ( ( Zs = Ys )
=> ( Xs != nil_nat ) )
=> ( ! [X3: nat,Xs6: list_nat] :
( ( Xs
= ( cons_nat @ X3 @ Xs6 ) )
=> ! [Z3: nat,Zs4: list_nat] :
( ( Zs
= ( cons_nat @ Z3 @ Zs4 ) )
=> ( ( X3 = Z3 )
=> ~ ( member_list_nat @ Zs4 @ ( shuffles_nat @ Xs6 @ Ys ) ) ) ) )
=> ~ ! [Y3: nat,Ys6: list_nat] :
( ( Ys
= ( cons_nat @ Y3 @ Ys6 ) )
=> ! [Z3: nat,Zs4: list_nat] :
( ( Zs
= ( cons_nat @ Z3 @ Zs4 ) )
=> ( ( Y3 = Z3 )
=> ~ ( member_list_nat @ Zs4 @ ( shuffles_nat @ Xs @ Ys6 ) ) ) ) ) ) ) ) ) ).
% shufflesE
thf(fact_830_successively_Osimps_I2_J,axiom,
! [P: fm > fm > $o,X: fm] : ( successively_fm @ P @ ( cons_fm @ X @ nil_fm ) ) ).
% successively.simps(2)
thf(fact_831_successively_Osimps_I2_J,axiom,
! [P: tm > tm > $o,X: tm] : ( successively_tm @ P @ ( cons_tm @ X @ nil_tm ) ) ).
% successively.simps(2)
thf(fact_832_successively_Osimps_I2_J,axiom,
! [P: nat > nat > $o,X: nat] : ( successively_nat @ P @ ( cons_nat @ X @ nil_nat ) ) ).
% successively.simps(2)
thf(fact_833_successively_Oelims_I1_J,axiom,
! [X: fm > fm > $o,Xa: list_fm,Y: $o] :
( ( ( successively_fm @ X @ Xa )
= Y )
=> ( ( ( Xa = nil_fm )
=> ~ Y )
=> ( ( ? [X3: fm] :
( Xa
= ( cons_fm @ X3 @ nil_fm ) )
=> ~ Y )
=> ~ ! [X3: fm,Y3: fm,Xs3: list_fm] :
( ( Xa
= ( cons_fm @ X3 @ ( cons_fm @ Y3 @ Xs3 ) ) )
=> ( Y
= ( ~ ( ( X @ X3 @ Y3 )
& ( successively_fm @ X @ ( cons_fm @ Y3 @ Xs3 ) ) ) ) ) ) ) ) ) ).
% successively.elims(1)
thf(fact_834_successively_Oelims_I1_J,axiom,
! [X: tm > tm > $o,Xa: list_tm,Y: $o] :
( ( ( successively_tm @ X @ Xa )
= Y )
=> ( ( ( Xa = nil_tm )
=> ~ Y )
=> ( ( ? [X3: tm] :
( Xa
= ( cons_tm @ X3 @ nil_tm ) )
=> ~ Y )
=> ~ ! [X3: tm,Y3: tm,Xs3: list_tm] :
( ( Xa
= ( cons_tm @ X3 @ ( cons_tm @ Y3 @ Xs3 ) ) )
=> ( Y
= ( ~ ( ( X @ X3 @ Y3 )
& ( successively_tm @ X @ ( cons_tm @ Y3 @ Xs3 ) ) ) ) ) ) ) ) ) ).
% successively.elims(1)
thf(fact_835_successively_Oelims_I1_J,axiom,
! [X: nat > nat > $o,Xa: list_nat,Y: $o] :
( ( ( successively_nat @ X @ Xa )
= Y )
=> ( ( ( Xa = nil_nat )
=> ~ Y )
=> ( ( ? [X3: nat] :
( Xa
= ( cons_nat @ X3 @ nil_nat ) )
=> ~ Y )
=> ~ ! [X3: nat,Y3: nat,Xs3: list_nat] :
( ( Xa
= ( cons_nat @ X3 @ ( cons_nat @ Y3 @ Xs3 ) ) )
=> ( Y
= ( ~ ( ( X @ X3 @ Y3 )
& ( successively_nat @ X @ ( cons_nat @ Y3 @ Xs3 ) ) ) ) ) ) ) ) ) ).
% successively.elims(1)
thf(fact_836_successively_Oelims_I2_J,axiom,
! [X: fm > fm > $o,Xa: list_fm] :
( ( successively_fm @ X @ Xa )
=> ( ( Xa != nil_fm )
=> ( ! [X3: fm] :
( Xa
!= ( cons_fm @ X3 @ nil_fm ) )
=> ~ ! [X3: fm,Y3: fm,Xs3: list_fm] :
( ( Xa
= ( cons_fm @ X3 @ ( cons_fm @ Y3 @ Xs3 ) ) )
=> ~ ( ( X @ X3 @ Y3 )
& ( successively_fm @ X @ ( cons_fm @ Y3 @ Xs3 ) ) ) ) ) ) ) ).
% successively.elims(2)
thf(fact_837_successively_Oelims_I2_J,axiom,
! [X: tm > tm > $o,Xa: list_tm] :
( ( successively_tm @ X @ Xa )
=> ( ( Xa != nil_tm )
=> ( ! [X3: tm] :
( Xa
!= ( cons_tm @ X3 @ nil_tm ) )
=> ~ ! [X3: tm,Y3: tm,Xs3: list_tm] :
( ( Xa
= ( cons_tm @ X3 @ ( cons_tm @ Y3 @ Xs3 ) ) )
=> ~ ( ( X @ X3 @ Y3 )
& ( successively_tm @ X @ ( cons_tm @ Y3 @ Xs3 ) ) ) ) ) ) ) ).
% successively.elims(2)
thf(fact_838_successively_Oelims_I2_J,axiom,
! [X: nat > nat > $o,Xa: list_nat] :
( ( successively_nat @ X @ Xa )
=> ( ( Xa != nil_nat )
=> ( ! [X3: nat] :
( Xa
!= ( cons_nat @ X3 @ nil_nat ) )
=> ~ ! [X3: nat,Y3: nat,Xs3: list_nat] :
( ( Xa
= ( cons_nat @ X3 @ ( cons_nat @ Y3 @ Xs3 ) ) )
=> ~ ( ( X @ X3 @ Y3 )
& ( successively_nat @ X @ ( cons_nat @ Y3 @ Xs3 ) ) ) ) ) ) ) ).
% successively.elims(2)
thf(fact_839_set__shuffles,axiom,
! [Zs: list_nat,Xs: list_nat,Ys: list_nat] :
( ( member_list_nat @ Zs @ ( shuffles_nat @ Xs @ Ys ) )
=> ( ( set_nat2 @ Zs )
= ( sup_sup_set_nat @ ( set_nat2 @ Xs ) @ ( set_nat2 @ Ys ) ) ) ) ).
% set_shuffles
thf(fact_840_successively__remdups__adj__iff,axiom,
! [Xs: list_a,P: a > a > $o] :
( ! [X3: a] :
( ( member_a2 @ X3 @ ( set_a2 @ Xs ) )
=> ( P @ X3 @ X3 ) )
=> ( ( successively_a @ P @ ( remdups_adj_a @ Xs ) )
= ( successively_a @ P @ Xs ) ) ) ).
% successively_remdups_adj_iff
thf(fact_841_successively__remdups__adj__iff,axiom,
! [Xs: list_nat,P: nat > nat > $o] :
( ! [X3: nat] :
( ( member_nat2 @ X3 @ ( set_nat2 @ Xs ) )
=> ( P @ X3 @ X3 ) )
=> ( ( successively_nat @ P @ ( remdups_adj_nat @ Xs ) )
= ( successively_nat @ P @ Xs ) ) ) ).
% successively_remdups_adj_iff
thf(fact_842_successively__remdups__adj__iff,axiom,
! [Xs: list_fm,P: fm > fm > $o] :
( ! [X3: fm] :
( ( member_fm2 @ X3 @ ( set_fm2 @ Xs ) )
=> ( P @ X3 @ X3 ) )
=> ( ( successively_fm @ P @ ( remdups_adj_fm @ Xs ) )
= ( successively_fm @ P @ Xs ) ) ) ).
% successively_remdups_adj_iff
thf(fact_843_distinct__adj__singleton,axiom,
! [X: fm] : ( distinct_adj_fm @ ( cons_fm @ X @ nil_fm ) ) ).
% distinct_adj_singleton
thf(fact_844_distinct__adj__singleton,axiom,
! [X: tm] : ( distinct_adj_tm @ ( cons_tm @ X @ nil_tm ) ) ).
% distinct_adj_singleton
thf(fact_845_distinct__adj__singleton,axiom,
! [X: nat] : ( distinct_adj_nat @ ( cons_nat @ X @ nil_nat ) ) ).
% distinct_adj_singleton
thf(fact_846_successively__Cons,axiom,
! [P: fm > fm > $o,X: fm,Xs: list_fm] :
( ( successively_fm @ P @ ( cons_fm @ X @ Xs ) )
= ( ( Xs = nil_fm )
| ( ( P @ X @ ( hd_fm @ Xs ) )
& ( successively_fm @ P @ Xs ) ) ) ) ).
% successively_Cons
thf(fact_847_successively__Cons,axiom,
! [P: tm > tm > $o,X: tm,Xs: list_tm] :
( ( successively_tm @ P @ ( cons_tm @ X @ Xs ) )
= ( ( Xs = nil_tm )
| ( ( P @ X @ ( hd_tm @ Xs ) )
& ( successively_tm @ P @ Xs ) ) ) ) ).
% successively_Cons
thf(fact_848_successively__Cons,axiom,
! [P: nat > nat > $o,X: nat,Xs: list_nat] :
( ( successively_nat @ P @ ( cons_nat @ X @ Xs ) )
= ( ( Xs = nil_nat )
| ( ( P @ X @ ( hd_nat @ Xs ) )
& ( successively_nat @ P @ Xs ) ) ) ) ).
% successively_Cons
thf(fact_849_distinct__adj__Cons,axiom,
! [X: fm,Xs: list_fm] :
( ( distinct_adj_fm @ ( cons_fm @ X @ Xs ) )
= ( ( Xs = nil_fm )
| ( ( X
!= ( hd_fm @ Xs ) )
& ( distinct_adj_fm @ Xs ) ) ) ) ).
% distinct_adj_Cons
thf(fact_850_distinct__adj__Cons,axiom,
! [X: tm,Xs: list_tm] :
( ( distinct_adj_tm @ ( cons_tm @ X @ Xs ) )
= ( ( Xs = nil_tm )
| ( ( X
!= ( hd_tm @ Xs ) )
& ( distinct_adj_tm @ Xs ) ) ) ) ).
% distinct_adj_Cons
thf(fact_851_distinct__adj__Cons,axiom,
! [X: nat,Xs: list_nat] :
( ( distinct_adj_nat @ ( cons_nat @ X @ Xs ) )
= ( ( Xs = nil_nat )
| ( ( X
!= ( hd_nat @ Xs ) )
& ( distinct_adj_nat @ Xs ) ) ) ) ).
% distinct_adj_Cons
thf(fact_852_minus__coset__filter,axiom,
! [A3: set_a,Xs: list_a] :
( ( minus_minus_set_a @ A3 @ ( coset_a @ Xs ) )
= ( set_a2
@ ( filter_a
@ ^ [X2: a] : ( member_a2 @ X2 @ A3 )
@ Xs ) ) ) ).
% minus_coset_filter
thf(fact_853_minus__coset__filter,axiom,
! [A3: set_nat,Xs: list_nat] :
( ( minus_minus_set_nat @ A3 @ ( coset_nat @ Xs ) )
= ( set_nat2
@ ( filter_nat
@ ^ [X2: nat] : ( member_nat2 @ X2 @ A3 )
@ Xs ) ) ) ).
% minus_coset_filter
thf(fact_854_minus__coset__filter,axiom,
! [A3: set_fm,Xs: list_fm] :
( ( minus_minus_set_fm @ A3 @ ( coset_fm @ Xs ) )
= ( set_fm2
@ ( filter_fm
@ ^ [X2: fm] : ( member_fm2 @ X2 @ A3 )
@ Xs ) ) ) ).
% minus_coset_filter
thf(fact_855_product__lists__set,axiom,
! [Xss2: list_list_a] :
( ( set_list_a2 @ ( product_lists_a @ Xss2 ) )
= ( collect_list_a
@ ^ [Xs2: list_a] :
( list_all2_a_list_a
@ ^ [X2: a,Ys3: list_a] : ( member_a2 @ X2 @ ( set_a2 @ Ys3 ) )
@ Xs2
@ Xss2 ) ) ) ).
% product_lists_set
thf(fact_856_product__lists__set,axiom,
! [Xss2: list_list_nat] :
( ( set_list_nat2 @ ( product_lists_nat @ Xss2 ) )
= ( collect_list_nat
@ ^ [Xs2: list_nat] :
( list_a5155878676884504761st_nat
@ ^ [X2: nat,Ys3: list_nat] : ( member_nat2 @ X2 @ ( set_nat2 @ Ys3 ) )
@ Xs2
@ Xss2 ) ) ) ).
% product_lists_set
thf(fact_857_product__lists__set,axiom,
! [Xss2: list_list_fm] :
( ( set_list_fm2 @ ( product_lists_fm @ Xss2 ) )
= ( collect_list_fm
@ ^ [Xs2: list_fm] :
( list_all2_fm_list_fm
@ ^ [X2: fm,Ys3: list_fm] : ( member_fm2 @ X2 @ ( set_fm2 @ Ys3 ) )
@ Xs2
@ Xss2 ) ) ) ).
% product_lists_set
thf(fact_858_list__all2__Nil,axiom,
! [P: fm > fm > $o,Ys: list_fm] :
( ( list_all2_fm_fm @ P @ nil_fm @ Ys )
= ( Ys = nil_fm ) ) ).
% list_all2_Nil
thf(fact_859_list__all2__Nil,axiom,
! [P: fm > tm > $o,Ys: list_tm] :
( ( list_all2_fm_tm @ P @ nil_fm @ Ys )
= ( Ys = nil_tm ) ) ).
% list_all2_Nil
thf(fact_860_list__all2__Nil,axiom,
! [P: fm > nat > $o,Ys: list_nat] :
( ( list_all2_fm_nat @ P @ nil_fm @ Ys )
= ( Ys = nil_nat ) ) ).
% list_all2_Nil
thf(fact_861_list__all2__Nil,axiom,
! [P: tm > fm > $o,Ys: list_fm] :
( ( list_all2_tm_fm @ P @ nil_tm @ Ys )
= ( Ys = nil_fm ) ) ).
% list_all2_Nil
thf(fact_862_list__all2__Nil,axiom,
! [P: tm > tm > $o,Ys: list_tm] :
( ( list_all2_tm_tm @ P @ nil_tm @ Ys )
= ( Ys = nil_tm ) ) ).
% list_all2_Nil
thf(fact_863_list__all2__Nil,axiom,
! [P: tm > nat > $o,Ys: list_nat] :
( ( list_all2_tm_nat @ P @ nil_tm @ Ys )
= ( Ys = nil_nat ) ) ).
% list_all2_Nil
thf(fact_864_list__all2__Nil,axiom,
! [P: nat > fm > $o,Ys: list_fm] :
( ( list_all2_nat_fm @ P @ nil_nat @ Ys )
= ( Ys = nil_fm ) ) ).
% list_all2_Nil
thf(fact_865_list__all2__Nil,axiom,
! [P: nat > tm > $o,Ys: list_tm] :
( ( list_all2_nat_tm @ P @ nil_nat @ Ys )
= ( Ys = nil_tm ) ) ).
% list_all2_Nil
thf(fact_866_list__all2__Nil,axiom,
! [P: nat > nat > $o,Ys: list_nat] :
( ( list_all2_nat_nat @ P @ nil_nat @ Ys )
= ( Ys = nil_nat ) ) ).
% list_all2_Nil
thf(fact_867_list__all2__Nil2,axiom,
! [P: fm > fm > $o,Xs: list_fm] :
( ( list_all2_fm_fm @ P @ Xs @ nil_fm )
= ( Xs = nil_fm ) ) ).
% list_all2_Nil2
thf(fact_868_list__all2__Nil2,axiom,
! [P: tm > fm > $o,Xs: list_tm] :
( ( list_all2_tm_fm @ P @ Xs @ nil_fm )
= ( Xs = nil_tm ) ) ).
% list_all2_Nil2
thf(fact_869_list__all2__Nil2,axiom,
! [P: nat > fm > $o,Xs: list_nat] :
( ( list_all2_nat_fm @ P @ Xs @ nil_fm )
= ( Xs = nil_nat ) ) ).
% list_all2_Nil2
thf(fact_870_list__all2__Nil2,axiom,
! [P: fm > tm > $o,Xs: list_fm] :
( ( list_all2_fm_tm @ P @ Xs @ nil_tm )
= ( Xs = nil_fm ) ) ).
% list_all2_Nil2
thf(fact_871_list__all2__Nil2,axiom,
! [P: tm > tm > $o,Xs: list_tm] :
( ( list_all2_tm_tm @ P @ Xs @ nil_tm )
= ( Xs = nil_tm ) ) ).
% list_all2_Nil2
thf(fact_872_list__all2__Nil2,axiom,
! [P: nat > tm > $o,Xs: list_nat] :
( ( list_all2_nat_tm @ P @ Xs @ nil_tm )
= ( Xs = nil_nat ) ) ).
% list_all2_Nil2
thf(fact_873_list__all2__Nil2,axiom,
! [P: fm > nat > $o,Xs: list_fm] :
( ( list_all2_fm_nat @ P @ Xs @ nil_nat )
= ( Xs = nil_fm ) ) ).
% list_all2_Nil2
thf(fact_874_list__all2__Nil2,axiom,
! [P: tm > nat > $o,Xs: list_tm] :
( ( list_all2_tm_nat @ P @ Xs @ nil_nat )
= ( Xs = nil_tm ) ) ).
% list_all2_Nil2
thf(fact_875_list__all2__Nil2,axiom,
! [P: nat > nat > $o,Xs: list_nat] :
( ( list_all2_nat_nat @ P @ Xs @ nil_nat )
= ( Xs = nil_nat ) ) ).
% list_all2_Nil2
thf(fact_876_list__all2__Cons2,axiom,
! [P: tm > tm > $o,Xs: list_tm,Y: tm,Ys: list_tm] :
( ( list_all2_tm_tm @ P @ Xs @ ( cons_tm @ Y @ Ys ) )
= ( ? [Z2: tm,Zs3: list_tm] :
( ( Xs
= ( cons_tm @ Z2 @ Zs3 ) )
& ( P @ Z2 @ Y )
& ( list_all2_tm_tm @ P @ Zs3 @ Ys ) ) ) ) ).
% list_all2_Cons2
thf(fact_877_list__all2__Cons2,axiom,
! [P: nat > tm > $o,Xs: list_nat,Y: tm,Ys: list_tm] :
( ( list_all2_nat_tm @ P @ Xs @ ( cons_tm @ Y @ Ys ) )
= ( ? [Z2: nat,Zs3: list_nat] :
( ( Xs
= ( cons_nat @ Z2 @ Zs3 ) )
& ( P @ Z2 @ Y )
& ( list_all2_nat_tm @ P @ Zs3 @ Ys ) ) ) ) ).
% list_all2_Cons2
thf(fact_878_list__all2__Cons2,axiom,
! [P: tm > nat > $o,Xs: list_tm,Y: nat,Ys: list_nat] :
( ( list_all2_tm_nat @ P @ Xs @ ( cons_nat @ Y @ Ys ) )
= ( ? [Z2: tm,Zs3: list_tm] :
( ( Xs
= ( cons_tm @ Z2 @ Zs3 ) )
& ( P @ Z2 @ Y )
& ( list_all2_tm_nat @ P @ Zs3 @ Ys ) ) ) ) ).
% list_all2_Cons2
thf(fact_879_list__all2__Cons2,axiom,
! [P: nat > nat > $o,Xs: list_nat,Y: nat,Ys: list_nat] :
( ( list_all2_nat_nat @ P @ Xs @ ( cons_nat @ Y @ Ys ) )
= ( ? [Z2: nat,Zs3: list_nat] :
( ( Xs
= ( cons_nat @ Z2 @ Zs3 ) )
& ( P @ Z2 @ Y )
& ( list_all2_nat_nat @ P @ Zs3 @ Ys ) ) ) ) ).
% list_all2_Cons2
thf(fact_880_list__all2__Cons1,axiom,
! [P: tm > tm > $o,X: tm,Xs: list_tm,Ys: list_tm] :
( ( list_all2_tm_tm @ P @ ( cons_tm @ X @ Xs ) @ Ys )
= ( ? [Z2: tm,Zs3: list_tm] :
( ( Ys
= ( cons_tm @ Z2 @ Zs3 ) )
& ( P @ X @ Z2 )
& ( list_all2_tm_tm @ P @ Xs @ Zs3 ) ) ) ) ).
% list_all2_Cons1
thf(fact_881_list__all2__Cons1,axiom,
! [P: tm > nat > $o,X: tm,Xs: list_tm,Ys: list_nat] :
( ( list_all2_tm_nat @ P @ ( cons_tm @ X @ Xs ) @ Ys )
= ( ? [Z2: nat,Zs3: list_nat] :
( ( Ys
= ( cons_nat @ Z2 @ Zs3 ) )
& ( P @ X @ Z2 )
& ( list_all2_tm_nat @ P @ Xs @ Zs3 ) ) ) ) ).
% list_all2_Cons1
thf(fact_882_list__all2__Cons1,axiom,
! [P: nat > tm > $o,X: nat,Xs: list_nat,Ys: list_tm] :
( ( list_all2_nat_tm @ P @ ( cons_nat @ X @ Xs ) @ Ys )
= ( ? [Z2: tm,Zs3: list_tm] :
( ( Ys
= ( cons_tm @ Z2 @ Zs3 ) )
& ( P @ X @ Z2 )
& ( list_all2_nat_tm @ P @ Xs @ Zs3 ) ) ) ) ).
% list_all2_Cons1
thf(fact_883_list__all2__Cons1,axiom,
! [P: nat > nat > $o,X: nat,Xs: list_nat,Ys: list_nat] :
( ( list_all2_nat_nat @ P @ ( cons_nat @ X @ Xs ) @ Ys )
= ( ? [Z2: nat,Zs3: list_nat] :
( ( Ys
= ( cons_nat @ Z2 @ Zs3 ) )
& ( P @ X @ Z2 )
& ( list_all2_nat_nat @ P @ Xs @ Zs3 ) ) ) ) ).
% list_all2_Cons1
thf(fact_884_list__all2__Cons,axiom,
! [P: tm > tm > $o,X: tm,Xs: list_tm,Y: tm,Ys: list_tm] :
( ( list_all2_tm_tm @ P @ ( cons_tm @ X @ Xs ) @ ( cons_tm @ Y @ Ys ) )
= ( ( P @ X @ Y )
& ( list_all2_tm_tm @ P @ Xs @ Ys ) ) ) ).
% list_all2_Cons
thf(fact_885_list__all2__Cons,axiom,
! [P: tm > nat > $o,X: tm,Xs: list_tm,Y: nat,Ys: list_nat] :
( ( list_all2_tm_nat @ P @ ( cons_tm @ X @ Xs ) @ ( cons_nat @ Y @ Ys ) )
= ( ( P @ X @ Y )
& ( list_all2_tm_nat @ P @ Xs @ Ys ) ) ) ).
% list_all2_Cons
thf(fact_886_list__all2__Cons,axiom,
! [P: nat > tm > $o,X: nat,Xs: list_nat,Y: tm,Ys: list_tm] :
( ( list_all2_nat_tm @ P @ ( cons_nat @ X @ Xs ) @ ( cons_tm @ Y @ Ys ) )
= ( ( P @ X @ Y )
& ( list_all2_nat_tm @ P @ Xs @ Ys ) ) ) ).
% list_all2_Cons
thf(fact_887_list__all2__Cons,axiom,
! [P: nat > nat > $o,X: nat,Xs: list_nat,Y: nat,Ys: list_nat] :
( ( list_all2_nat_nat @ P @ ( cons_nat @ X @ Xs ) @ ( cons_nat @ Y @ Ys ) )
= ( ( P @ X @ Y )
& ( list_all2_nat_nat @ P @ Xs @ Ys ) ) ) ).
% list_all2_Cons
thf(fact_888_list_Orel__intros_I2_J,axiom,
! [R: tm > tm > $o,X21: tm,Y21: tm,X22: list_tm,Y22: list_tm] :
( ( R @ X21 @ Y21 )
=> ( ( list_all2_tm_tm @ R @ X22 @ Y22 )
=> ( list_all2_tm_tm @ R @ ( cons_tm @ X21 @ X22 ) @ ( cons_tm @ Y21 @ Y22 ) ) ) ) ).
% list.rel_intros(2)
thf(fact_889_list_Orel__intros_I2_J,axiom,
! [R: tm > nat > $o,X21: tm,Y21: nat,X22: list_tm,Y22: list_nat] :
( ( R @ X21 @ Y21 )
=> ( ( list_all2_tm_nat @ R @ X22 @ Y22 )
=> ( list_all2_tm_nat @ R @ ( cons_tm @ X21 @ X22 ) @ ( cons_nat @ Y21 @ Y22 ) ) ) ) ).
% list.rel_intros(2)
thf(fact_890_list_Orel__intros_I2_J,axiom,
! [R: nat > tm > $o,X21: nat,Y21: tm,X22: list_nat,Y22: list_tm] :
( ( R @ X21 @ Y21 )
=> ( ( list_all2_nat_tm @ R @ X22 @ Y22 )
=> ( list_all2_nat_tm @ R @ ( cons_nat @ X21 @ X22 ) @ ( cons_tm @ Y21 @ Y22 ) ) ) ) ).
% list.rel_intros(2)
thf(fact_891_list_Orel__intros_I2_J,axiom,
! [R: nat > nat > $o,X21: nat,Y21: nat,X22: list_nat,Y22: list_nat] :
( ( R @ X21 @ Y21 )
=> ( ( list_all2_nat_nat @ R @ X22 @ Y22 )
=> ( list_all2_nat_nat @ R @ ( cons_nat @ X21 @ X22 ) @ ( cons_nat @ Y21 @ Y22 ) ) ) ) ).
% list.rel_intros(2)
thf(fact_892_list_Orel__inject_I2_J,axiom,
! [R: tm > tm > $o,X21: tm,X22: list_tm,Y21: tm,Y22: list_tm] :
( ( list_all2_tm_tm @ R @ ( cons_tm @ X21 @ X22 ) @ ( cons_tm @ Y21 @ Y22 ) )
= ( ( R @ X21 @ Y21 )
& ( list_all2_tm_tm @ R @ X22 @ Y22 ) ) ) ).
% list.rel_inject(2)
thf(fact_893_list_Orel__inject_I2_J,axiom,
! [R: tm > nat > $o,X21: tm,X22: list_tm,Y21: nat,Y22: list_nat] :
( ( list_all2_tm_nat @ R @ ( cons_tm @ X21 @ X22 ) @ ( cons_nat @ Y21 @ Y22 ) )
= ( ( R @ X21 @ Y21 )
& ( list_all2_tm_nat @ R @ X22 @ Y22 ) ) ) ).
% list.rel_inject(2)
thf(fact_894_list_Orel__inject_I2_J,axiom,
! [R: nat > tm > $o,X21: nat,X22: list_nat,Y21: tm,Y22: list_tm] :
( ( list_all2_nat_tm @ R @ ( cons_nat @ X21 @ X22 ) @ ( cons_tm @ Y21 @ Y22 ) )
= ( ( R @ X21 @ Y21 )
& ( list_all2_nat_tm @ R @ X22 @ Y22 ) ) ) ).
% list.rel_inject(2)
thf(fact_895_list_Orel__inject_I2_J,axiom,
! [R: nat > nat > $o,X21: nat,X22: list_nat,Y21: nat,Y22: list_nat] :
( ( list_all2_nat_nat @ R @ ( cons_nat @ X21 @ X22 ) @ ( cons_nat @ Y21 @ Y22 ) )
= ( ( R @ X21 @ Y21 )
& ( list_all2_nat_nat @ R @ X22 @ Y22 ) ) ) ).
% list.rel_inject(2)
thf(fact_896_list_Octr__transfer_I1_J,axiom,
! [R: fm > fm > $o] : ( list_all2_fm_fm @ R @ nil_fm @ nil_fm ) ).
% list.ctr_transfer(1)
thf(fact_897_list_Octr__transfer_I1_J,axiom,
! [R: fm > tm > $o] : ( list_all2_fm_tm @ R @ nil_fm @ nil_tm ) ).
% list.ctr_transfer(1)
thf(fact_898_list_Octr__transfer_I1_J,axiom,
! [R: fm > nat > $o] : ( list_all2_fm_nat @ R @ nil_fm @ nil_nat ) ).
% list.ctr_transfer(1)
thf(fact_899_list_Octr__transfer_I1_J,axiom,
! [R: tm > fm > $o] : ( list_all2_tm_fm @ R @ nil_tm @ nil_fm ) ).
% list.ctr_transfer(1)
thf(fact_900_list_Octr__transfer_I1_J,axiom,
! [R: tm > tm > $o] : ( list_all2_tm_tm @ R @ nil_tm @ nil_tm ) ).
% list.ctr_transfer(1)
thf(fact_901_list_Octr__transfer_I1_J,axiom,
! [R: tm > nat > $o] : ( list_all2_tm_nat @ R @ nil_tm @ nil_nat ) ).
% list.ctr_transfer(1)
thf(fact_902_list_Octr__transfer_I1_J,axiom,
! [R: nat > fm > $o] : ( list_all2_nat_fm @ R @ nil_nat @ nil_fm ) ).
% list.ctr_transfer(1)
thf(fact_903_list_Octr__transfer_I1_J,axiom,
! [R: nat > tm > $o] : ( list_all2_nat_tm @ R @ nil_nat @ nil_tm ) ).
% list.ctr_transfer(1)
thf(fact_904_list_Octr__transfer_I1_J,axiom,
! [R: nat > nat > $o] : ( list_all2_nat_nat @ R @ nil_nat @ nil_nat ) ).
% list.ctr_transfer(1)
thf(fact_905_list_Orel__refl__strong,axiom,
! [X: list_a,Ra: a > a > $o] :
( ! [Z3: a] :
( ( member_a2 @ Z3 @ ( set_a2 @ X ) )
=> ( Ra @ Z3 @ Z3 ) )
=> ( list_all2_a_a @ Ra @ X @ X ) ) ).
% list.rel_refl_strong
thf(fact_906_list_Orel__refl__strong,axiom,
! [X: list_nat,Ra: nat > nat > $o] :
( ! [Z3: nat] :
( ( member_nat2 @ Z3 @ ( set_nat2 @ X ) )
=> ( Ra @ Z3 @ Z3 ) )
=> ( list_all2_nat_nat @ Ra @ X @ X ) ) ).
% list.rel_refl_strong
thf(fact_907_list_Orel__refl__strong,axiom,
! [X: list_fm,Ra: fm > fm > $o] :
( ! [Z3: fm] :
( ( member_fm2 @ Z3 @ ( set_fm2 @ X ) )
=> ( Ra @ Z3 @ Z3 ) )
=> ( list_all2_fm_fm @ Ra @ X @ X ) ) ).
% list.rel_refl_strong
thf(fact_908_list_Orel__mono__strong,axiom,
! [R: a > a > $o,X: list_a,Y: list_a,Ra: a > a > $o] :
( ( list_all2_a_a @ R @ X @ Y )
=> ( ! [Z3: a,Yb: a] :
( ( member_a2 @ Z3 @ ( set_a2 @ X ) )
=> ( ( member_a2 @ Yb @ ( set_a2 @ Y ) )
=> ( ( R @ Z3 @ Yb )
=> ( Ra @ Z3 @ Yb ) ) ) )
=> ( list_all2_a_a @ Ra @ X @ Y ) ) ) ).
% list.rel_mono_strong
thf(fact_909_list_Orel__mono__strong,axiom,
! [R: a > nat > $o,X: list_a,Y: list_nat,Ra: a > nat > $o] :
( ( list_all2_a_nat @ R @ X @ Y )
=> ( ! [Z3: a,Yb: nat] :
( ( member_a2 @ Z3 @ ( set_a2 @ X ) )
=> ( ( member_nat2 @ Yb @ ( set_nat2 @ Y ) )
=> ( ( R @ Z3 @ Yb )
=> ( Ra @ Z3 @ Yb ) ) ) )
=> ( list_all2_a_nat @ Ra @ X @ Y ) ) ) ).
% list.rel_mono_strong
thf(fact_910_list_Orel__mono__strong,axiom,
! [R: a > fm > $o,X: list_a,Y: list_fm,Ra: a > fm > $o] :
( ( list_all2_a_fm @ R @ X @ Y )
=> ( ! [Z3: a,Yb: fm] :
( ( member_a2 @ Z3 @ ( set_a2 @ X ) )
=> ( ( member_fm2 @ Yb @ ( set_fm2 @ Y ) )
=> ( ( R @ Z3 @ Yb )
=> ( Ra @ Z3 @ Yb ) ) ) )
=> ( list_all2_a_fm @ Ra @ X @ Y ) ) ) ).
% list.rel_mono_strong
thf(fact_911_list_Orel__mono__strong,axiom,
! [R: nat > a > $o,X: list_nat,Y: list_a,Ra: nat > a > $o] :
( ( list_all2_nat_a @ R @ X @ Y )
=> ( ! [Z3: nat,Yb: a] :
( ( member_nat2 @ Z3 @ ( set_nat2 @ X ) )
=> ( ( member_a2 @ Yb @ ( set_a2 @ Y ) )
=> ( ( R @ Z3 @ Yb )
=> ( Ra @ Z3 @ Yb ) ) ) )
=> ( list_all2_nat_a @ Ra @ X @ Y ) ) ) ).
% list.rel_mono_strong
thf(fact_912_list_Orel__mono__strong,axiom,
! [R: nat > nat > $o,X: list_nat,Y: list_nat,Ra: nat > nat > $o] :
( ( list_all2_nat_nat @ R @ X @ Y )
=> ( ! [Z3: nat,Yb: nat] :
( ( member_nat2 @ Z3 @ ( set_nat2 @ X ) )
=> ( ( member_nat2 @ Yb @ ( set_nat2 @ Y ) )
=> ( ( R @ Z3 @ Yb )
=> ( Ra @ Z3 @ Yb ) ) ) )
=> ( list_all2_nat_nat @ Ra @ X @ Y ) ) ) ).
% list.rel_mono_strong
thf(fact_913_list_Orel__mono__strong,axiom,
! [R: nat > fm > $o,X: list_nat,Y: list_fm,Ra: nat > fm > $o] :
( ( list_all2_nat_fm @ R @ X @ Y )
=> ( ! [Z3: nat,Yb: fm] :
( ( member_nat2 @ Z3 @ ( set_nat2 @ X ) )
=> ( ( member_fm2 @ Yb @ ( set_fm2 @ Y ) )
=> ( ( R @ Z3 @ Yb )
=> ( Ra @ Z3 @ Yb ) ) ) )
=> ( list_all2_nat_fm @ Ra @ X @ Y ) ) ) ).
% list.rel_mono_strong
thf(fact_914_list_Orel__mono__strong,axiom,
! [R: fm > a > $o,X: list_fm,Y: list_a,Ra: fm > a > $o] :
( ( list_all2_fm_a @ R @ X @ Y )
=> ( ! [Z3: fm,Yb: a] :
( ( member_fm2 @ Z3 @ ( set_fm2 @ X ) )
=> ( ( member_a2 @ Yb @ ( set_a2 @ Y ) )
=> ( ( R @ Z3 @ Yb )
=> ( Ra @ Z3 @ Yb ) ) ) )
=> ( list_all2_fm_a @ Ra @ X @ Y ) ) ) ).
% list.rel_mono_strong
thf(fact_915_list_Orel__mono__strong,axiom,
! [R: fm > nat > $o,X: list_fm,Y: list_nat,Ra: fm > nat > $o] :
( ( list_all2_fm_nat @ R @ X @ Y )
=> ( ! [Z3: fm,Yb: nat] :
( ( member_fm2 @ Z3 @ ( set_fm2 @ X ) )
=> ( ( member_nat2 @ Yb @ ( set_nat2 @ Y ) )
=> ( ( R @ Z3 @ Yb )
=> ( Ra @ Z3 @ Yb ) ) ) )
=> ( list_all2_fm_nat @ Ra @ X @ Y ) ) ) ).
% list.rel_mono_strong
thf(fact_916_list_Orel__mono__strong,axiom,
! [R: fm > fm > $o,X: list_fm,Y: list_fm,Ra: fm > fm > $o] :
( ( list_all2_fm_fm @ R @ X @ Y )
=> ( ! [Z3: fm,Yb: fm] :
( ( member_fm2 @ Z3 @ ( set_fm2 @ X ) )
=> ( ( member_fm2 @ Yb @ ( set_fm2 @ Y ) )
=> ( ( R @ Z3 @ Yb )
=> ( Ra @ Z3 @ Yb ) ) ) )
=> ( list_all2_fm_fm @ Ra @ X @ Y ) ) ) ).
% list.rel_mono_strong
thf(fact_917_list_Orel__cong,axiom,
! [X: list_a,Ya: list_a,Y: list_a,Xa: list_a,R: a > a > $o,Ra: a > a > $o] :
( ( X = Ya )
=> ( ( Y = Xa )
=> ( ! [Z3: a,Yb: a] :
( ( member_a2 @ Z3 @ ( set_a2 @ Ya ) )
=> ( ( member_a2 @ Yb @ ( set_a2 @ Xa ) )
=> ( ( R @ Z3 @ Yb )
= ( Ra @ Z3 @ Yb ) ) ) )
=> ( ( list_all2_a_a @ R @ X @ Y )
= ( list_all2_a_a @ Ra @ Ya @ Xa ) ) ) ) ) ).
% list.rel_cong
thf(fact_918_list_Orel__cong,axiom,
! [X: list_a,Ya: list_a,Y: list_nat,Xa: list_nat,R: a > nat > $o,Ra: a > nat > $o] :
( ( X = Ya )
=> ( ( Y = Xa )
=> ( ! [Z3: a,Yb: nat] :
( ( member_a2 @ Z3 @ ( set_a2 @ Ya ) )
=> ( ( member_nat2 @ Yb @ ( set_nat2 @ Xa ) )
=> ( ( R @ Z3 @ Yb )
= ( Ra @ Z3 @ Yb ) ) ) )
=> ( ( list_all2_a_nat @ R @ X @ Y )
= ( list_all2_a_nat @ Ra @ Ya @ Xa ) ) ) ) ) ).
% list.rel_cong
thf(fact_919_list_Orel__cong,axiom,
! [X: list_a,Ya: list_a,Y: list_fm,Xa: list_fm,R: a > fm > $o,Ra: a > fm > $o] :
( ( X = Ya )
=> ( ( Y = Xa )
=> ( ! [Z3: a,Yb: fm] :
( ( member_a2 @ Z3 @ ( set_a2 @ Ya ) )
=> ( ( member_fm2 @ Yb @ ( set_fm2 @ Xa ) )
=> ( ( R @ Z3 @ Yb )
= ( Ra @ Z3 @ Yb ) ) ) )
=> ( ( list_all2_a_fm @ R @ X @ Y )
= ( list_all2_a_fm @ Ra @ Ya @ Xa ) ) ) ) ) ).
% list.rel_cong
thf(fact_920_list_Orel__cong,axiom,
! [X: list_nat,Ya: list_nat,Y: list_a,Xa: list_a,R: nat > a > $o,Ra: nat > a > $o] :
( ( X = Ya )
=> ( ( Y = Xa )
=> ( ! [Z3: nat,Yb: a] :
( ( member_nat2 @ Z3 @ ( set_nat2 @ Ya ) )
=> ( ( member_a2 @ Yb @ ( set_a2 @ Xa ) )
=> ( ( R @ Z3 @ Yb )
= ( Ra @ Z3 @ Yb ) ) ) )
=> ( ( list_all2_nat_a @ R @ X @ Y )
= ( list_all2_nat_a @ Ra @ Ya @ Xa ) ) ) ) ) ).
% list.rel_cong
thf(fact_921_list_Orel__cong,axiom,
! [X: list_nat,Ya: list_nat,Y: list_nat,Xa: list_nat,R: nat > nat > $o,Ra: nat > nat > $o] :
( ( X = Ya )
=> ( ( Y = Xa )
=> ( ! [Z3: nat,Yb: nat] :
( ( member_nat2 @ Z3 @ ( set_nat2 @ Ya ) )
=> ( ( member_nat2 @ Yb @ ( set_nat2 @ Xa ) )
=> ( ( R @ Z3 @ Yb )
= ( Ra @ Z3 @ Yb ) ) ) )
=> ( ( list_all2_nat_nat @ R @ X @ Y )
= ( list_all2_nat_nat @ Ra @ Ya @ Xa ) ) ) ) ) ).
% list.rel_cong
thf(fact_922_list_Orel__cong,axiom,
! [X: list_nat,Ya: list_nat,Y: list_fm,Xa: list_fm,R: nat > fm > $o,Ra: nat > fm > $o] :
( ( X = Ya )
=> ( ( Y = Xa )
=> ( ! [Z3: nat,Yb: fm] :
( ( member_nat2 @ Z3 @ ( set_nat2 @ Ya ) )
=> ( ( member_fm2 @ Yb @ ( set_fm2 @ Xa ) )
=> ( ( R @ Z3 @ Yb )
= ( Ra @ Z3 @ Yb ) ) ) )
=> ( ( list_all2_nat_fm @ R @ X @ Y )
= ( list_all2_nat_fm @ Ra @ Ya @ Xa ) ) ) ) ) ).
% list.rel_cong
thf(fact_923_list_Orel__cong,axiom,
! [X: list_fm,Ya: list_fm,Y: list_a,Xa: list_a,R: fm > a > $o,Ra: fm > a > $o] :
( ( X = Ya )
=> ( ( Y = Xa )
=> ( ! [Z3: fm,Yb: a] :
( ( member_fm2 @ Z3 @ ( set_fm2 @ Ya ) )
=> ( ( member_a2 @ Yb @ ( set_a2 @ Xa ) )
=> ( ( R @ Z3 @ Yb )
= ( Ra @ Z3 @ Yb ) ) ) )
=> ( ( list_all2_fm_a @ R @ X @ Y )
= ( list_all2_fm_a @ Ra @ Ya @ Xa ) ) ) ) ) ).
% list.rel_cong
thf(fact_924_list_Orel__cong,axiom,
! [X: list_fm,Ya: list_fm,Y: list_nat,Xa: list_nat,R: fm > nat > $o,Ra: fm > nat > $o] :
( ( X = Ya )
=> ( ( Y = Xa )
=> ( ! [Z3: fm,Yb: nat] :
( ( member_fm2 @ Z3 @ ( set_fm2 @ Ya ) )
=> ( ( member_nat2 @ Yb @ ( set_nat2 @ Xa ) )
=> ( ( R @ Z3 @ Yb )
= ( Ra @ Z3 @ Yb ) ) ) )
=> ( ( list_all2_fm_nat @ R @ X @ Y )
= ( list_all2_fm_nat @ Ra @ Ya @ Xa ) ) ) ) ) ).
% list.rel_cong
thf(fact_925_list_Orel__cong,axiom,
! [X: list_fm,Ya: list_fm,Y: list_fm,Xa: list_fm,R: fm > fm > $o,Ra: fm > fm > $o] :
( ( X = Ya )
=> ( ( Y = Xa )
=> ( ! [Z3: fm,Yb: fm] :
( ( member_fm2 @ Z3 @ ( set_fm2 @ Ya ) )
=> ( ( member_fm2 @ Yb @ ( set_fm2 @ Xa ) )
=> ( ( R @ Z3 @ Yb )
= ( Ra @ Z3 @ Yb ) ) ) )
=> ( ( list_all2_fm_fm @ R @ X @ Y )
= ( list_all2_fm_fm @ Ra @ Ya @ Xa ) ) ) ) ) ).
% list.rel_cong
thf(fact_926_list__all2__appendI,axiom,
! [P: nat > nat > $o,A2: list_nat,B2: list_nat,C: list_nat,D: list_nat] :
( ( list_all2_nat_nat @ P @ A2 @ B2 )
=> ( ( list_all2_nat_nat @ P @ C @ D )
=> ( list_all2_nat_nat @ P @ ( append_nat @ A2 @ C ) @ ( append_nat @ B2 @ D ) ) ) ) ).
% list_all2_appendI
thf(fact_927_set__diff__eq,axiom,
( minus_minus_set_a
= ( ^ [A5: set_a,B3: set_a] :
( collect_a
@ ^ [X2: a] :
( ( member_a2 @ X2 @ A5 )
& ~ ( member_a2 @ X2 @ B3 ) ) ) ) ) ).
% set_diff_eq
thf(fact_928_set__diff__eq,axiom,
( minus_minus_set_fm
= ( ^ [A5: set_fm,B3: set_fm] :
( collect_fm
@ ^ [X2: fm] :
( ( member_fm2 @ X2 @ A5 )
& ~ ( member_fm2 @ X2 @ B3 ) ) ) ) ) ).
% set_diff_eq
thf(fact_929_set__diff__eq,axiom,
( minus_minus_set_nat
= ( ^ [A5: set_nat,B3: set_nat] :
( collect_nat
@ ^ [X2: nat] :
( ( member_nat2 @ X2 @ A5 )
& ~ ( member_nat2 @ X2 @ B3 ) ) ) ) ) ).
% set_diff_eq
thf(fact_930_list_Orel__distinct_I2_J,axiom,
! [R: tm > fm > $o,Y21: tm,Y22: list_tm] :
~ ( list_all2_tm_fm @ R @ ( cons_tm @ Y21 @ Y22 ) @ nil_fm ) ).
% list.rel_distinct(2)
thf(fact_931_list_Orel__distinct_I2_J,axiom,
! [R: tm > tm > $o,Y21: tm,Y22: list_tm] :
~ ( list_all2_tm_tm @ R @ ( cons_tm @ Y21 @ Y22 ) @ nil_tm ) ).
% list.rel_distinct(2)
thf(fact_932_list_Orel__distinct_I2_J,axiom,
! [R: tm > nat > $o,Y21: tm,Y22: list_tm] :
~ ( list_all2_tm_nat @ R @ ( cons_tm @ Y21 @ Y22 ) @ nil_nat ) ).
% list.rel_distinct(2)
thf(fact_933_list_Orel__distinct_I2_J,axiom,
! [R: nat > fm > $o,Y21: nat,Y22: list_nat] :
~ ( list_all2_nat_fm @ R @ ( cons_nat @ Y21 @ Y22 ) @ nil_fm ) ).
% list.rel_distinct(2)
thf(fact_934_list_Orel__distinct_I2_J,axiom,
! [R: nat > tm > $o,Y21: nat,Y22: list_nat] :
~ ( list_all2_nat_tm @ R @ ( cons_nat @ Y21 @ Y22 ) @ nil_tm ) ).
% list.rel_distinct(2)
thf(fact_935_list_Orel__distinct_I2_J,axiom,
! [R: nat > nat > $o,Y21: nat,Y22: list_nat] :
~ ( list_all2_nat_nat @ R @ ( cons_nat @ Y21 @ Y22 ) @ nil_nat ) ).
% list.rel_distinct(2)
thf(fact_936_list_Orel__distinct_I1_J,axiom,
! [R: fm > tm > $o,Y21: tm,Y22: list_tm] :
~ ( list_all2_fm_tm @ R @ nil_fm @ ( cons_tm @ Y21 @ Y22 ) ) ).
% list.rel_distinct(1)
thf(fact_937_list_Orel__distinct_I1_J,axiom,
! [R: tm > tm > $o,Y21: tm,Y22: list_tm] :
~ ( list_all2_tm_tm @ R @ nil_tm @ ( cons_tm @ Y21 @ Y22 ) ) ).
% list.rel_distinct(1)
thf(fact_938_list_Orel__distinct_I1_J,axiom,
! [R: nat > tm > $o,Y21: tm,Y22: list_tm] :
~ ( list_all2_nat_tm @ R @ nil_nat @ ( cons_tm @ Y21 @ Y22 ) ) ).
% list.rel_distinct(1)
thf(fact_939_list_Orel__distinct_I1_J,axiom,
! [R: fm > nat > $o,Y21: nat,Y22: list_nat] :
~ ( list_all2_fm_nat @ R @ nil_fm @ ( cons_nat @ Y21 @ Y22 ) ) ).
% list.rel_distinct(1)
thf(fact_940_list_Orel__distinct_I1_J,axiom,
! [R: tm > nat > $o,Y21: nat,Y22: list_nat] :
~ ( list_all2_tm_nat @ R @ nil_tm @ ( cons_nat @ Y21 @ Y22 ) ) ).
% list.rel_distinct(1)
thf(fact_941_list_Orel__distinct_I1_J,axiom,
! [R: nat > nat > $o,Y21: nat,Y22: list_nat] :
~ ( list_all2_nat_nat @ R @ nil_nat @ ( cons_nat @ Y21 @ Y22 ) ) ).
% list.rel_distinct(1)
thf(fact_942_list_Orel__cases,axiom,
! [R: fm > fm > $o,A2: list_fm,B2: list_fm] :
( ( list_all2_fm_fm @ R @ A2 @ B2 )
=> ( ( ( A2 = nil_fm )
=> ( B2 != nil_fm ) )
=> ~ ! [X1: fm,X24: list_fm] :
( ( A2
= ( cons_fm @ X1 @ X24 ) )
=> ! [Y1: fm,Y24: list_fm] :
( ( B2
= ( cons_fm @ Y1 @ Y24 ) )
=> ( ( R @ X1 @ Y1 )
=> ~ ( list_all2_fm_fm @ R @ X24 @ Y24 ) ) ) ) ) ) ).
% list.rel_cases
thf(fact_943_list_Orel__cases,axiom,
! [R: fm > tm > $o,A2: list_fm,B2: list_tm] :
( ( list_all2_fm_tm @ R @ A2 @ B2 )
=> ( ( ( A2 = nil_fm )
=> ( B2 != nil_tm ) )
=> ~ ! [X1: fm,X24: list_fm] :
( ( A2
= ( cons_fm @ X1 @ X24 ) )
=> ! [Y1: tm,Y24: list_tm] :
( ( B2
= ( cons_tm @ Y1 @ Y24 ) )
=> ( ( R @ X1 @ Y1 )
=> ~ ( list_all2_fm_tm @ R @ X24 @ Y24 ) ) ) ) ) ) ).
% list.rel_cases
thf(fact_944_list_Orel__cases,axiom,
! [R: fm > nat > $o,A2: list_fm,B2: list_nat] :
( ( list_all2_fm_nat @ R @ A2 @ B2 )
=> ( ( ( A2 = nil_fm )
=> ( B2 != nil_nat ) )
=> ~ ! [X1: fm,X24: list_fm] :
( ( A2
= ( cons_fm @ X1 @ X24 ) )
=> ! [Y1: nat,Y24: list_nat] :
( ( B2
= ( cons_nat @ Y1 @ Y24 ) )
=> ( ( R @ X1 @ Y1 )
=> ~ ( list_all2_fm_nat @ R @ X24 @ Y24 ) ) ) ) ) ) ).
% list.rel_cases
thf(fact_945_list_Orel__cases,axiom,
! [R: tm > fm > $o,A2: list_tm,B2: list_fm] :
( ( list_all2_tm_fm @ R @ A2 @ B2 )
=> ( ( ( A2 = nil_tm )
=> ( B2 != nil_fm ) )
=> ~ ! [X1: tm,X24: list_tm] :
( ( A2
= ( cons_tm @ X1 @ X24 ) )
=> ! [Y1: fm,Y24: list_fm] :
( ( B2
= ( cons_fm @ Y1 @ Y24 ) )
=> ( ( R @ X1 @ Y1 )
=> ~ ( list_all2_tm_fm @ R @ X24 @ Y24 ) ) ) ) ) ) ).
% list.rel_cases
thf(fact_946_list_Orel__cases,axiom,
! [R: tm > tm > $o,A2: list_tm,B2: list_tm] :
( ( list_all2_tm_tm @ R @ A2 @ B2 )
=> ( ( ( A2 = nil_tm )
=> ( B2 != nil_tm ) )
=> ~ ! [X1: tm,X24: list_tm] :
( ( A2
= ( cons_tm @ X1 @ X24 ) )
=> ! [Y1: tm,Y24: list_tm] :
( ( B2
= ( cons_tm @ Y1 @ Y24 ) )
=> ( ( R @ X1 @ Y1 )
=> ~ ( list_all2_tm_tm @ R @ X24 @ Y24 ) ) ) ) ) ) ).
% list.rel_cases
thf(fact_947_list_Orel__cases,axiom,
! [R: tm > nat > $o,A2: list_tm,B2: list_nat] :
( ( list_all2_tm_nat @ R @ A2 @ B2 )
=> ( ( ( A2 = nil_tm )
=> ( B2 != nil_nat ) )
=> ~ ! [X1: tm,X24: list_tm] :
( ( A2
= ( cons_tm @ X1 @ X24 ) )
=> ! [Y1: nat,Y24: list_nat] :
( ( B2
= ( cons_nat @ Y1 @ Y24 ) )
=> ( ( R @ X1 @ Y1 )
=> ~ ( list_all2_tm_nat @ R @ X24 @ Y24 ) ) ) ) ) ) ).
% list.rel_cases
thf(fact_948_list_Orel__cases,axiom,
! [R: nat > fm > $o,A2: list_nat,B2: list_fm] :
( ( list_all2_nat_fm @ R @ A2 @ B2 )
=> ( ( ( A2 = nil_nat )
=> ( B2 != nil_fm ) )
=> ~ ! [X1: nat,X24: list_nat] :
( ( A2
= ( cons_nat @ X1 @ X24 ) )
=> ! [Y1: fm,Y24: list_fm] :
( ( B2
= ( cons_fm @ Y1 @ Y24 ) )
=> ( ( R @ X1 @ Y1 )
=> ~ ( list_all2_nat_fm @ R @ X24 @ Y24 ) ) ) ) ) ) ).
% list.rel_cases
thf(fact_949_list_Orel__cases,axiom,
! [R: nat > tm > $o,A2: list_nat,B2: list_tm] :
( ( list_all2_nat_tm @ R @ A2 @ B2 )
=> ( ( ( A2 = nil_nat )
=> ( B2 != nil_tm ) )
=> ~ ! [X1: nat,X24: list_nat] :
( ( A2
= ( cons_nat @ X1 @ X24 ) )
=> ! [Y1: tm,Y24: list_tm] :
( ( B2
= ( cons_tm @ Y1 @ Y24 ) )
=> ( ( R @ X1 @ Y1 )
=> ~ ( list_all2_nat_tm @ R @ X24 @ Y24 ) ) ) ) ) ) ).
% list.rel_cases
thf(fact_950_list_Orel__cases,axiom,
! [R: nat > nat > $o,A2: list_nat,B2: list_nat] :
( ( list_all2_nat_nat @ R @ A2 @ B2 )
=> ( ( ( A2 = nil_nat )
=> ( B2 != nil_nat ) )
=> ~ ! [X1: nat,X24: list_nat] :
( ( A2
= ( cons_nat @ X1 @ X24 ) )
=> ! [Y1: nat,Y24: list_nat] :
( ( B2
= ( cons_nat @ Y1 @ Y24 ) )
=> ( ( R @ X1 @ Y1 )
=> ~ ( list_all2_nat_nat @ R @ X24 @ Y24 ) ) ) ) ) ) ).
% list.rel_cases
thf(fact_951_list_Orel__induct,axiom,
! [R: fm > fm > $o,X: list_fm,Y: list_fm,Q: list_fm > list_fm > $o] :
( ( list_all2_fm_fm @ R @ X @ Y )
=> ( ( Q @ nil_fm @ nil_fm )
=> ( ! [A21: fm,A22: list_fm,B21: fm,B22: list_fm] :
( ( R @ A21 @ B21 )
=> ( ( Q @ A22 @ B22 )
=> ( Q @ ( cons_fm @ A21 @ A22 ) @ ( cons_fm @ B21 @ B22 ) ) ) )
=> ( Q @ X @ Y ) ) ) ) ).
% list.rel_induct
thf(fact_952_list_Orel__induct,axiom,
! [R: fm > tm > $o,X: list_fm,Y: list_tm,Q: list_fm > list_tm > $o] :
( ( list_all2_fm_tm @ R @ X @ Y )
=> ( ( Q @ nil_fm @ nil_tm )
=> ( ! [A21: fm,A22: list_fm,B21: tm,B22: list_tm] :
( ( R @ A21 @ B21 )
=> ( ( Q @ A22 @ B22 )
=> ( Q @ ( cons_fm @ A21 @ A22 ) @ ( cons_tm @ B21 @ B22 ) ) ) )
=> ( Q @ X @ Y ) ) ) ) ).
% list.rel_induct
thf(fact_953_list_Orel__induct,axiom,
! [R: fm > nat > $o,X: list_fm,Y: list_nat,Q: list_fm > list_nat > $o] :
( ( list_all2_fm_nat @ R @ X @ Y )
=> ( ( Q @ nil_fm @ nil_nat )
=> ( ! [A21: fm,A22: list_fm,B21: nat,B22: list_nat] :
( ( R @ A21 @ B21 )
=> ( ( Q @ A22 @ B22 )
=> ( Q @ ( cons_fm @ A21 @ A22 ) @ ( cons_nat @ B21 @ B22 ) ) ) )
=> ( Q @ X @ Y ) ) ) ) ).
% list.rel_induct
thf(fact_954_list_Orel__induct,axiom,
! [R: tm > fm > $o,X: list_tm,Y: list_fm,Q: list_tm > list_fm > $o] :
( ( list_all2_tm_fm @ R @ X @ Y )
=> ( ( Q @ nil_tm @ nil_fm )
=> ( ! [A21: tm,A22: list_tm,B21: fm,B22: list_fm] :
( ( R @ A21 @ B21 )
=> ( ( Q @ A22 @ B22 )
=> ( Q @ ( cons_tm @ A21 @ A22 ) @ ( cons_fm @ B21 @ B22 ) ) ) )
=> ( Q @ X @ Y ) ) ) ) ).
% list.rel_induct
thf(fact_955_list_Orel__induct,axiom,
! [R: tm > tm > $o,X: list_tm,Y: list_tm,Q: list_tm > list_tm > $o] :
( ( list_all2_tm_tm @ R @ X @ Y )
=> ( ( Q @ nil_tm @ nil_tm )
=> ( ! [A21: tm,A22: list_tm,B21: tm,B22: list_tm] :
( ( R @ A21 @ B21 )
=> ( ( Q @ A22 @ B22 )
=> ( Q @ ( cons_tm @ A21 @ A22 ) @ ( cons_tm @ B21 @ B22 ) ) ) )
=> ( Q @ X @ Y ) ) ) ) ).
% list.rel_induct
thf(fact_956_list_Orel__induct,axiom,
! [R: tm > nat > $o,X: list_tm,Y: list_nat,Q: list_tm > list_nat > $o] :
( ( list_all2_tm_nat @ R @ X @ Y )
=> ( ( Q @ nil_tm @ nil_nat )
=> ( ! [A21: tm,A22: list_tm,B21: nat,B22: list_nat] :
( ( R @ A21 @ B21 )
=> ( ( Q @ A22 @ B22 )
=> ( Q @ ( cons_tm @ A21 @ A22 ) @ ( cons_nat @ B21 @ B22 ) ) ) )
=> ( Q @ X @ Y ) ) ) ) ).
% list.rel_induct
thf(fact_957_list_Orel__induct,axiom,
! [R: nat > fm > $o,X: list_nat,Y: list_fm,Q: list_nat > list_fm > $o] :
( ( list_all2_nat_fm @ R @ X @ Y )
=> ( ( Q @ nil_nat @ nil_fm )
=> ( ! [A21: nat,A22: list_nat,B21: fm,B22: list_fm] :
( ( R @ A21 @ B21 )
=> ( ( Q @ A22 @ B22 )
=> ( Q @ ( cons_nat @ A21 @ A22 ) @ ( cons_fm @ B21 @ B22 ) ) ) )
=> ( Q @ X @ Y ) ) ) ) ).
% list.rel_induct
thf(fact_958_list_Orel__induct,axiom,
! [R: nat > tm > $o,X: list_nat,Y: list_tm,Q: list_nat > list_tm > $o] :
( ( list_all2_nat_tm @ R @ X @ Y )
=> ( ( Q @ nil_nat @ nil_tm )
=> ( ! [A21: nat,A22: list_nat,B21: tm,B22: list_tm] :
( ( R @ A21 @ B21 )
=> ( ( Q @ A22 @ B22 )
=> ( Q @ ( cons_nat @ A21 @ A22 ) @ ( cons_tm @ B21 @ B22 ) ) ) )
=> ( Q @ X @ Y ) ) ) ) ).
% list.rel_induct
thf(fact_959_list_Orel__induct,axiom,
! [R: nat > nat > $o,X: list_nat,Y: list_nat,Q: list_nat > list_nat > $o] :
( ( list_all2_nat_nat @ R @ X @ Y )
=> ( ( Q @ nil_nat @ nil_nat )
=> ( ! [A21: nat,A22: list_nat,B21: nat,B22: list_nat] :
( ( R @ A21 @ B21 )
=> ( ( Q @ A22 @ B22 )
=> ( Q @ ( cons_nat @ A21 @ A22 ) @ ( cons_nat @ B21 @ B22 ) ) ) )
=> ( Q @ X @ Y ) ) ) ) ).
% list.rel_induct
thf(fact_960_list__all2__induct,axiom,
! [P: fm > fm > $o,Xs: list_fm,Ys: list_fm,R: list_fm > list_fm > $o] :
( ( list_all2_fm_fm @ P @ Xs @ Ys )
=> ( ( R @ nil_fm @ nil_fm )
=> ( ! [X3: fm,Xs3: list_fm,Y3: fm,Ys2: list_fm] :
( ( P @ X3 @ Y3 )
=> ( ( list_all2_fm_fm @ P @ Xs3 @ Ys2 )
=> ( ( R @ Xs3 @ Ys2 )
=> ( R @ ( cons_fm @ X3 @ Xs3 ) @ ( cons_fm @ Y3 @ Ys2 ) ) ) ) )
=> ( R @ Xs @ Ys ) ) ) ) ).
% list_all2_induct
thf(fact_961_list__all2__induct,axiom,
! [P: fm > tm > $o,Xs: list_fm,Ys: list_tm,R: list_fm > list_tm > $o] :
( ( list_all2_fm_tm @ P @ Xs @ Ys )
=> ( ( R @ nil_fm @ nil_tm )
=> ( ! [X3: fm,Xs3: list_fm,Y3: tm,Ys2: list_tm] :
( ( P @ X3 @ Y3 )
=> ( ( list_all2_fm_tm @ P @ Xs3 @ Ys2 )
=> ( ( R @ Xs3 @ Ys2 )
=> ( R @ ( cons_fm @ X3 @ Xs3 ) @ ( cons_tm @ Y3 @ Ys2 ) ) ) ) )
=> ( R @ Xs @ Ys ) ) ) ) ).
% list_all2_induct
thf(fact_962_list__all2__induct,axiom,
! [P: fm > nat > $o,Xs: list_fm,Ys: list_nat,R: list_fm > list_nat > $o] :
( ( list_all2_fm_nat @ P @ Xs @ Ys )
=> ( ( R @ nil_fm @ nil_nat )
=> ( ! [X3: fm,Xs3: list_fm,Y3: nat,Ys2: list_nat] :
( ( P @ X3 @ Y3 )
=> ( ( list_all2_fm_nat @ P @ Xs3 @ Ys2 )
=> ( ( R @ Xs3 @ Ys2 )
=> ( R @ ( cons_fm @ X3 @ Xs3 ) @ ( cons_nat @ Y3 @ Ys2 ) ) ) ) )
=> ( R @ Xs @ Ys ) ) ) ) ).
% list_all2_induct
thf(fact_963_list__all2__induct,axiom,
! [P: tm > fm > $o,Xs: list_tm,Ys: list_fm,R: list_tm > list_fm > $o] :
( ( list_all2_tm_fm @ P @ Xs @ Ys )
=> ( ( R @ nil_tm @ nil_fm )
=> ( ! [X3: tm,Xs3: list_tm,Y3: fm,Ys2: list_fm] :
( ( P @ X3 @ Y3 )
=> ( ( list_all2_tm_fm @ P @ Xs3 @ Ys2 )
=> ( ( R @ Xs3 @ Ys2 )
=> ( R @ ( cons_tm @ X3 @ Xs3 ) @ ( cons_fm @ Y3 @ Ys2 ) ) ) ) )
=> ( R @ Xs @ Ys ) ) ) ) ).
% list_all2_induct
thf(fact_964_list__all2__induct,axiom,
! [P: tm > tm > $o,Xs: list_tm,Ys: list_tm,R: list_tm > list_tm > $o] :
( ( list_all2_tm_tm @ P @ Xs @ Ys )
=> ( ( R @ nil_tm @ nil_tm )
=> ( ! [X3: tm,Xs3: list_tm,Y3: tm,Ys2: list_tm] :
( ( P @ X3 @ Y3 )
=> ( ( list_all2_tm_tm @ P @ Xs3 @ Ys2 )
=> ( ( R @ Xs3 @ Ys2 )
=> ( R @ ( cons_tm @ X3 @ Xs3 ) @ ( cons_tm @ Y3 @ Ys2 ) ) ) ) )
=> ( R @ Xs @ Ys ) ) ) ) ).
% list_all2_induct
thf(fact_965_list__all2__induct,axiom,
! [P: tm > nat > $o,Xs: list_tm,Ys: list_nat,R: list_tm > list_nat > $o] :
( ( list_all2_tm_nat @ P @ Xs @ Ys )
=> ( ( R @ nil_tm @ nil_nat )
=> ( ! [X3: tm,Xs3: list_tm,Y3: nat,Ys2: list_nat] :
( ( P @ X3 @ Y3 )
=> ( ( list_all2_tm_nat @ P @ Xs3 @ Ys2 )
=> ( ( R @ Xs3 @ Ys2 )
=> ( R @ ( cons_tm @ X3 @ Xs3 ) @ ( cons_nat @ Y3 @ Ys2 ) ) ) ) )
=> ( R @ Xs @ Ys ) ) ) ) ).
% list_all2_induct
thf(fact_966_list__all2__induct,axiom,
! [P: nat > fm > $o,Xs: list_nat,Ys: list_fm,R: list_nat > list_fm > $o] :
( ( list_all2_nat_fm @ P @ Xs @ Ys )
=> ( ( R @ nil_nat @ nil_fm )
=> ( ! [X3: nat,Xs3: list_nat,Y3: fm,Ys2: list_fm] :
( ( P @ X3 @ Y3 )
=> ( ( list_all2_nat_fm @ P @ Xs3 @ Ys2 )
=> ( ( R @ Xs3 @ Ys2 )
=> ( R @ ( cons_nat @ X3 @ Xs3 ) @ ( cons_fm @ Y3 @ Ys2 ) ) ) ) )
=> ( R @ Xs @ Ys ) ) ) ) ).
% list_all2_induct
thf(fact_967_list__all2__induct,axiom,
! [P: nat > tm > $o,Xs: list_nat,Ys: list_tm,R: list_nat > list_tm > $o] :
( ( list_all2_nat_tm @ P @ Xs @ Ys )
=> ( ( R @ nil_nat @ nil_tm )
=> ( ! [X3: nat,Xs3: list_nat,Y3: tm,Ys2: list_tm] :
( ( P @ X3 @ Y3 )
=> ( ( list_all2_nat_tm @ P @ Xs3 @ Ys2 )
=> ( ( R @ Xs3 @ Ys2 )
=> ( R @ ( cons_nat @ X3 @ Xs3 ) @ ( cons_tm @ Y3 @ Ys2 ) ) ) ) )
=> ( R @ Xs @ Ys ) ) ) ) ).
% list_all2_induct
thf(fact_968_list__all2__induct,axiom,
! [P: nat > nat > $o,Xs: list_nat,Ys: list_nat,R: list_nat > list_nat > $o] :
( ( list_all2_nat_nat @ P @ Xs @ Ys )
=> ( ( R @ nil_nat @ nil_nat )
=> ( ! [X3: nat,Xs3: list_nat,Y3: nat,Ys2: list_nat] :
( ( P @ X3 @ Y3 )
=> ( ( list_all2_nat_nat @ P @ Xs3 @ Ys2 )
=> ( ( R @ Xs3 @ Ys2 )
=> ( R @ ( cons_nat @ X3 @ Xs3 ) @ ( cons_nat @ Y3 @ Ys2 ) ) ) ) )
=> ( R @ Xs @ Ys ) ) ) ) ).
% list_all2_induct
thf(fact_969_list_Orel__sel,axiom,
( list_all2_fm_fm
= ( ^ [R2: fm > fm > $o,A: list_fm,B: list_fm] :
( ( ( A = nil_fm )
= ( B = nil_fm ) )
& ( ( A != nil_fm )
=> ( ( B != nil_fm )
=> ( ( R2 @ ( hd_fm @ A ) @ ( hd_fm @ B ) )
& ( list_all2_fm_fm @ R2 @ ( tl_fm @ A ) @ ( tl_fm @ B ) ) ) ) ) ) ) ) ).
% list.rel_sel
thf(fact_970_list_Orel__sel,axiom,
( list_all2_fm_tm
= ( ^ [R2: fm > tm > $o,A: list_fm,B: list_tm] :
( ( ( A = nil_fm )
= ( B = nil_tm ) )
& ( ( A != nil_fm )
=> ( ( B != nil_tm )
=> ( ( R2 @ ( hd_fm @ A ) @ ( hd_tm @ B ) )
& ( list_all2_fm_tm @ R2 @ ( tl_fm @ A ) @ ( tl_tm @ B ) ) ) ) ) ) ) ) ).
% list.rel_sel
thf(fact_971_list_Orel__sel,axiom,
( list_all2_fm_nat
= ( ^ [R2: fm > nat > $o,A: list_fm,B: list_nat] :
( ( ( A = nil_fm )
= ( B = nil_nat ) )
& ( ( A != nil_fm )
=> ( ( B != nil_nat )
=> ( ( R2 @ ( hd_fm @ A ) @ ( hd_nat @ B ) )
& ( list_all2_fm_nat @ R2 @ ( tl_fm @ A ) @ ( tl_nat @ B ) ) ) ) ) ) ) ) ).
% list.rel_sel
thf(fact_972_list_Orel__sel,axiom,
( list_all2_tm_fm
= ( ^ [R2: tm > fm > $o,A: list_tm,B: list_fm] :
( ( ( A = nil_tm )
= ( B = nil_fm ) )
& ( ( A != nil_tm )
=> ( ( B != nil_fm )
=> ( ( R2 @ ( hd_tm @ A ) @ ( hd_fm @ B ) )
& ( list_all2_tm_fm @ R2 @ ( tl_tm @ A ) @ ( tl_fm @ B ) ) ) ) ) ) ) ) ).
% list.rel_sel
thf(fact_973_list_Orel__sel,axiom,
( list_all2_tm_tm
= ( ^ [R2: tm > tm > $o,A: list_tm,B: list_tm] :
( ( ( A = nil_tm )
= ( B = nil_tm ) )
& ( ( A != nil_tm )
=> ( ( B != nil_tm )
=> ( ( R2 @ ( hd_tm @ A ) @ ( hd_tm @ B ) )
& ( list_all2_tm_tm @ R2 @ ( tl_tm @ A ) @ ( tl_tm @ B ) ) ) ) ) ) ) ) ).
% list.rel_sel
thf(fact_974_list_Orel__sel,axiom,
( list_all2_tm_nat
= ( ^ [R2: tm > nat > $o,A: list_tm,B: list_nat] :
( ( ( A = nil_tm )
= ( B = nil_nat ) )
& ( ( A != nil_tm )
=> ( ( B != nil_nat )
=> ( ( R2 @ ( hd_tm @ A ) @ ( hd_nat @ B ) )
& ( list_all2_tm_nat @ R2 @ ( tl_tm @ A ) @ ( tl_nat @ B ) ) ) ) ) ) ) ) ).
% list.rel_sel
thf(fact_975_list_Orel__sel,axiom,
( list_all2_nat_fm
= ( ^ [R2: nat > fm > $o,A: list_nat,B: list_fm] :
( ( ( A = nil_nat )
= ( B = nil_fm ) )
& ( ( A != nil_nat )
=> ( ( B != nil_fm )
=> ( ( R2 @ ( hd_nat @ A ) @ ( hd_fm @ B ) )
& ( list_all2_nat_fm @ R2 @ ( tl_nat @ A ) @ ( tl_fm @ B ) ) ) ) ) ) ) ) ).
% list.rel_sel
thf(fact_976_list_Orel__sel,axiom,
( list_all2_nat_tm
= ( ^ [R2: nat > tm > $o,A: list_nat,B: list_tm] :
( ( ( A = nil_nat )
= ( B = nil_tm ) )
& ( ( A != nil_nat )
=> ( ( B != nil_tm )
=> ( ( R2 @ ( hd_nat @ A ) @ ( hd_tm @ B ) )
& ( list_all2_nat_tm @ R2 @ ( tl_nat @ A ) @ ( tl_tm @ B ) ) ) ) ) ) ) ) ).
% list.rel_sel
thf(fact_977_list_Orel__sel,axiom,
( list_all2_nat_nat
= ( ^ [R2: nat > nat > $o,A: list_nat,B: list_nat] :
( ( ( A = nil_nat )
= ( B = nil_nat ) )
& ( ( A != nil_nat )
=> ( ( B != nil_nat )
=> ( ( R2 @ ( hd_nat @ A ) @ ( hd_nat @ B ) )
& ( list_all2_nat_nat @ R2 @ ( tl_nat @ A ) @ ( tl_nat @ B ) ) ) ) ) ) ) ) ).
% list.rel_sel
thf(fact_978_length__concat__rev,axiom,
! [Xs: list_list_nat] :
( ( size_size_list_nat @ ( concat_nat @ ( rev_list_nat @ Xs ) ) )
= ( size_size_list_nat @ ( concat_nat @ Xs ) ) ) ).
% length_concat_rev
thf(fact_979_remove1__split,axiom,
! [A2: a,Xs: list_a,Ys: list_a] :
( ( member_a2 @ A2 @ ( set_a2 @ Xs ) )
=> ( ( ( remove1_a @ A2 @ Xs )
= Ys )
= ( ? [Ls: list_a,Rs: list_a] :
( ( Xs
= ( append_a @ Ls @ ( cons_a @ A2 @ Rs ) ) )
& ~ ( member_a2 @ A2 @ ( set_a2 @ Ls ) )
& ( Ys
= ( append_a @ Ls @ Rs ) ) ) ) ) ) ).
% remove1_split
thf(fact_980_remove1__split,axiom,
! [A2: fm,Xs: list_fm,Ys: list_fm] :
( ( member_fm2 @ A2 @ ( set_fm2 @ Xs ) )
=> ( ( ( remove1_fm @ A2 @ Xs )
= Ys )
= ( ? [Ls: list_fm,Rs: list_fm] :
( ( Xs
= ( append_fm @ Ls @ ( cons_fm @ A2 @ Rs ) ) )
& ~ ( member_fm2 @ A2 @ ( set_fm2 @ Ls ) )
& ( Ys
= ( append_fm @ Ls @ Rs ) ) ) ) ) ) ).
% remove1_split
thf(fact_981_remove1__split,axiom,
! [A2: tm,Xs: list_tm,Ys: list_tm] :
( ( member_tm2 @ A2 @ ( set_tm2 @ Xs ) )
=> ( ( ( remove1_tm @ A2 @ Xs )
= Ys )
= ( ? [Ls: list_tm,Rs: list_tm] :
( ( Xs
= ( append_tm @ Ls @ ( cons_tm @ A2 @ Rs ) ) )
& ~ ( member_tm2 @ A2 @ ( set_tm2 @ Ls ) )
& ( Ys
= ( append_tm @ Ls @ Rs ) ) ) ) ) ) ).
% remove1_split
thf(fact_982_remove1__split,axiom,
! [A2: nat,Xs: list_nat,Ys: list_nat] :
( ( member_nat2 @ A2 @ ( set_nat2 @ Xs ) )
=> ( ( ( remove1_nat @ A2 @ Xs )
= Ys )
= ( ? [Ls: list_nat,Rs: list_nat] :
( ( Xs
= ( append_nat @ Ls @ ( cons_nat @ A2 @ Rs ) ) )
& ~ ( member_nat2 @ A2 @ ( set_nat2 @ Ls ) )
& ( Ys
= ( append_nat @ Ls @ Rs ) ) ) ) ) ) ).
% remove1_split
thf(fact_983_ord_Olexordp__eq__simps_I3_J,axiom,
! [Less: fm > fm > $o,X: fm,Xs: list_fm] :
~ ( lexordp_eq_fm @ Less @ ( cons_fm @ X @ Xs ) @ nil_fm ) ).
% ord.lexordp_eq_simps(3)
thf(fact_984_ord_Olexordp__eq__simps_I3_J,axiom,
! [Less: tm > tm > $o,X: tm,Xs: list_tm] :
~ ( lexordp_eq_tm @ Less @ ( cons_tm @ X @ Xs ) @ nil_tm ) ).
% ord.lexordp_eq_simps(3)
thf(fact_985_ord_Olexordp__eq__simps_I3_J,axiom,
! [Less: nat > nat > $o,X: nat,Xs: list_nat] :
~ ( lexordp_eq_nat @ Less @ ( cons_nat @ X @ Xs ) @ nil_nat ) ).
% ord.lexordp_eq_simps(3)
thf(fact_986_inc__list_Osimps_I1_J,axiom,
( ( inc_list @ nil_tm )
= nil_tm ) ).
% inc_list.simps(1)
thf(fact_987_n__lists_Osimps_I2_J,axiom,
! [N: nat,Xs: list_tm] :
( ( n_lists_tm @ ( suc @ N ) @ Xs )
= ( concat_list_tm
@ ( map_li6264597563971819530ist_tm
@ ^ [Ys3: list_tm] :
( map_tm_list_tm
@ ^ [Y2: tm] : ( cons_tm @ Y2 @ Ys3 )
@ Xs )
@ ( n_lists_tm @ N @ Xs ) ) ) ) ).
% n_lists.simps(2)
thf(fact_988_n__lists_Osimps_I2_J,axiom,
! [N: nat,Xs: list_nat] :
( ( n_lists_nat @ ( suc @ N ) @ Xs )
= ( concat_list_nat
@ ( map_li960784813134754710st_nat
@ ^ [Ys3: list_nat] :
( map_nat_list_nat
@ ^ [Y2: nat] : ( cons_nat @ Y2 @ Ys3 )
@ Xs )
@ ( n_lists_nat @ N @ Xs ) ) ) ) ).
% n_lists.simps(2)
thf(fact_989_length__map,axiom,
! [F: nat > nat,Xs: list_nat] :
( ( size_size_list_nat @ ( map_nat_nat @ F @ Xs ) )
= ( size_size_list_nat @ Xs ) ) ).
% length_map
thf(fact_990_append__eq__append__conv,axiom,
! [Xs: list_nat,Ys: list_nat,Us: list_nat,Vs3: list_nat] :
( ( ( ( size_size_list_nat @ Xs )
= ( size_size_list_nat @ Ys ) )
| ( ( size_size_list_nat @ Us )
= ( size_size_list_nat @ Vs3 ) ) )
=> ( ( ( append_nat @ Xs @ Us )
= ( append_nat @ Ys @ Vs3 ) )
= ( ( Xs = Ys )
& ( Us = Vs3 ) ) ) ) ).
% append_eq_append_conv
thf(fact_991_length__rev,axiom,
! [Xs: list_nat] :
( ( size_size_list_nat @ ( rev_nat @ Xs ) )
= ( size_size_list_nat @ Xs ) ) ).
% length_rev
thf(fact_992_in__set__remove1,axiom,
! [A2: a,B2: a,Xs: list_a] :
( ( A2 != B2 )
=> ( ( member_a2 @ A2 @ ( set_a2 @ ( remove1_a @ B2 @ Xs ) ) )
= ( member_a2 @ A2 @ ( set_a2 @ Xs ) ) ) ) ).
% in_set_remove1
thf(fact_993_in__set__remove1,axiom,
! [A2: nat,B2: nat,Xs: list_nat] :
( ( A2 != B2 )
=> ( ( member_nat2 @ A2 @ ( set_nat2 @ ( remove1_nat @ B2 @ Xs ) ) )
= ( member_nat2 @ A2 @ ( set_nat2 @ Xs ) ) ) ) ).
% in_set_remove1
thf(fact_994_in__set__remove1,axiom,
! [A2: fm,B2: fm,Xs: list_fm] :
( ( A2 != B2 )
=> ( ( member_fm2 @ A2 @ ( set_fm2 @ ( remove1_fm @ B2 @ Xs ) ) )
= ( member_fm2 @ A2 @ ( set_fm2 @ Xs ) ) ) ) ).
% in_set_remove1
thf(fact_995_ord_Olexordp__eq__simps_I4_J,axiom,
! [Less: tm > tm > $o,X: tm,Xs: list_tm,Y: tm,Ys: list_tm] :
( ( lexordp_eq_tm @ Less @ ( cons_tm @ X @ Xs ) @ ( cons_tm @ Y @ Ys ) )
= ( ( Less @ X @ Y )
| ( ~ ( Less @ Y @ X )
& ( lexordp_eq_tm @ Less @ Xs @ Ys ) ) ) ) ).
% ord.lexordp_eq_simps(4)
thf(fact_996_ord_Olexordp__eq__simps_I4_J,axiom,
! [Less: nat > nat > $o,X: nat,Xs: list_nat,Y: nat,Ys: list_nat] :
( ( lexordp_eq_nat @ Less @ ( cons_nat @ X @ Xs ) @ ( cons_nat @ Y @ Ys ) )
= ( ( Less @ X @ Y )
| ( ~ ( Less @ Y @ X )
& ( lexordp_eq_nat @ Less @ Xs @ Ys ) ) ) ) ).
% ord.lexordp_eq_simps(4)
thf(fact_997_ord_Olexordp__eq__simps_I1_J,axiom,
! [Less: fm > fm > $o,Ys: list_fm] : ( lexordp_eq_fm @ Less @ nil_fm @ Ys ) ).
% ord.lexordp_eq_simps(1)
thf(fact_998_ord_Olexordp__eq__simps_I1_J,axiom,
! [Less: tm > tm > $o,Ys: list_tm] : ( lexordp_eq_tm @ Less @ nil_tm @ Ys ) ).
% ord.lexordp_eq_simps(1)
thf(fact_999_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_1000_ord_Olexordp__eq__simps_I2_J,axiom,
! [Less: fm > fm > $o,Xs: list_fm] :
( ( lexordp_eq_fm @ Less @ Xs @ nil_fm )
= ( Xs = nil_fm ) ) ).
% ord.lexordp_eq_simps(2)
thf(fact_1001_ord_Olexordp__eq__simps_I2_J,axiom,
! [Less: tm > tm > $o,Xs: list_tm] :
( ( lexordp_eq_tm @ Less @ Xs @ nil_tm )
= ( Xs = nil_tm ) ) ).
% ord.lexordp_eq_simps(2)
thf(fact_1002_ord_Olexordp__eq__simps_I2_J,axiom,
! [Less: nat > nat > $o,Xs: list_nat] :
( ( lexordp_eq_nat @ Less @ Xs @ nil_nat )
= ( Xs = nil_nat ) ) ).
% ord.lexordp_eq_simps(2)
thf(fact_1003_length__rotate1,axiom,
! [Xs: list_nat] :
( ( size_size_list_nat @ ( rotate1_nat @ Xs ) )
= ( size_size_list_nat @ Xs ) ) ).
% length_rotate1
thf(fact_1004_map__eq__imp__length__eq,axiom,
! [F: nat > nat,Xs: list_nat,G: nat > nat,Ys: list_nat] :
( ( ( map_nat_nat @ F @ Xs )
= ( map_nat_nat @ G @ Ys ) )
=> ( ( size_size_list_nat @ Xs )
= ( size_size_list_nat @ Ys ) ) ) ).
% map_eq_imp_length_eq
thf(fact_1005_length__n__lists__elem,axiom,
! [Ys: list_nat,N: nat,Xs: list_nat] :
( ( member_list_nat @ Ys @ ( set_list_nat2 @ ( n_lists_nat @ N @ Xs ) ) )
=> ( ( size_size_list_nat @ Ys )
= N ) ) ).
% length_n_lists_elem
thf(fact_1006_length__Cons,axiom,
! [X: tm,Xs: list_tm] :
( ( size_size_list_tm @ ( cons_tm @ X @ Xs ) )
= ( suc @ ( size_size_list_tm @ Xs ) ) ) ).
% length_Cons
thf(fact_1007_length__Cons,axiom,
! [X: nat,Xs: list_nat] :
( ( size_size_list_nat @ ( cons_nat @ X @ Xs ) )
= ( suc @ ( size_size_list_nat @ Xs ) ) ) ).
% length_Cons
thf(fact_1008_neq__if__length__neq,axiom,
! [Xs: list_nat,Ys: list_nat] :
( ( ( size_size_list_nat @ Xs )
!= ( size_size_list_nat @ Ys ) )
=> ( Xs != Ys ) ) ).
% neq_if_length_neq
thf(fact_1009_Ex__list__of__length,axiom,
! [N: nat] :
? [Xs3: list_nat] :
( ( size_size_list_nat @ Xs3 )
= N ) ).
% Ex_list_of_length
thf(fact_1010_Suc__length__conv,axiom,
! [N: nat,Xs: list_tm] :
( ( ( suc @ N )
= ( size_size_list_tm @ Xs ) )
= ( ? [Y2: tm,Ys3: list_tm] :
( ( Xs
= ( cons_tm @ Y2 @ Ys3 ) )
& ( ( size_size_list_tm @ Ys3 )
= N ) ) ) ) ).
% Suc_length_conv
thf(fact_1011_Suc__length__conv,axiom,
! [N: nat,Xs: list_nat] :
( ( ( suc @ N )
= ( size_size_list_nat @ Xs ) )
= ( ? [Y2: nat,Ys3: list_nat] :
( ( Xs
= ( cons_nat @ Y2 @ Ys3 ) )
& ( ( size_size_list_nat @ Ys3 )
= N ) ) ) ) ).
% Suc_length_conv
thf(fact_1012_length__Suc__conv,axiom,
! [Xs: list_tm,N: nat] :
( ( ( size_size_list_tm @ Xs )
= ( suc @ N ) )
= ( ? [Y2: tm,Ys3: list_tm] :
( ( Xs
= ( cons_tm @ Y2 @ Ys3 ) )
& ( ( size_size_list_tm @ Ys3 )
= N ) ) ) ) ).
% length_Suc_conv
thf(fact_1013_length__Suc__conv,axiom,
! [Xs: list_nat,N: nat] :
( ( ( size_size_list_nat @ Xs )
= ( suc @ N ) )
= ( ? [Y2: nat,Ys3: list_nat] :
( ( Xs
= ( cons_nat @ Y2 @ Ys3 ) )
& ( ( size_size_list_nat @ Ys3 )
= N ) ) ) ) ).
% length_Suc_conv
thf(fact_1014_list__all2__lengthD,axiom,
! [P: nat > nat > $o,Xs: list_nat,Ys: list_nat] :
( ( list_all2_nat_nat @ P @ Xs @ Ys )
=> ( ( size_size_list_nat @ Xs )
= ( size_size_list_nat @ Ys ) ) ) ).
% list_all2_lengthD
thf(fact_1015_in__set__product__lists__length,axiom,
! [Xs: list_nat,Xss2: list_list_nat] :
( ( member_list_nat @ Xs @ ( set_list_nat2 @ ( product_lists_nat @ Xss2 ) ) )
=> ( ( size_size_list_nat @ Xs )
= ( size_s3023201423986296836st_nat @ Xss2 ) ) ) ).
% in_set_product_lists_length
thf(fact_1016_remove1_Osimps_I2_J,axiom,
! [X: tm,Y: tm,Xs: list_tm] :
( ( ( X = Y )
=> ( ( remove1_tm @ X @ ( cons_tm @ Y @ Xs ) )
= Xs ) )
& ( ( X != Y )
=> ( ( remove1_tm @ X @ ( cons_tm @ Y @ Xs ) )
= ( cons_tm @ Y @ ( remove1_tm @ X @ Xs ) ) ) ) ) ).
% remove1.simps(2)
thf(fact_1017_remove1_Osimps_I2_J,axiom,
! [X: nat,Y: nat,Xs: list_nat] :
( ( ( X = Y )
=> ( ( remove1_nat @ X @ ( cons_nat @ Y @ Xs ) )
= Xs ) )
& ( ( X != Y )
=> ( ( remove1_nat @ X @ ( cons_nat @ Y @ Xs ) )
= ( cons_nat @ Y @ ( remove1_nat @ X @ Xs ) ) ) ) ) ).
% remove1.simps(2)
thf(fact_1018_remove1_Osimps_I1_J,axiom,
! [X: fm] :
( ( remove1_fm @ X @ nil_fm )
= nil_fm ) ).
% remove1.simps(1)
thf(fact_1019_remove1_Osimps_I1_J,axiom,
! [X: tm] :
( ( remove1_tm @ X @ nil_tm )
= nil_tm ) ).
% remove1.simps(1)
thf(fact_1020_remove1_Osimps_I1_J,axiom,
! [X: nat] :
( ( remove1_nat @ X @ nil_nat )
= nil_nat ) ).
% remove1.simps(1)
thf(fact_1021_notin__set__remove1,axiom,
! [X: a,Xs: list_a,Y: a] :
( ~ ( member_a2 @ X @ ( set_a2 @ Xs ) )
=> ~ ( member_a2 @ X @ ( set_a2 @ ( remove1_a @ Y @ Xs ) ) ) ) ).
% notin_set_remove1
thf(fact_1022_notin__set__remove1,axiom,
! [X: nat,Xs: list_nat,Y: nat] :
( ~ ( member_nat2 @ X @ ( set_nat2 @ Xs ) )
=> ~ ( member_nat2 @ X @ ( set_nat2 @ ( remove1_nat @ Y @ Xs ) ) ) ) ).
% notin_set_remove1
thf(fact_1023_notin__set__remove1,axiom,
! [X: fm,Xs: list_fm,Y: fm] :
( ~ ( member_fm2 @ X @ ( set_fm2 @ Xs ) )
=> ~ ( member_fm2 @ X @ ( set_fm2 @ ( remove1_fm @ Y @ Xs ) ) ) ) ).
% notin_set_remove1
thf(fact_1024_remove1__idem,axiom,
! [X: a,Xs: list_a] :
( ~ ( member_a2 @ X @ ( set_a2 @ Xs ) )
=> ( ( remove1_a @ X @ Xs )
= Xs ) ) ).
% remove1_idem
thf(fact_1025_remove1__idem,axiom,
! [X: nat,Xs: list_nat] :
( ~ ( member_nat2 @ X @ ( set_nat2 @ Xs ) )
=> ( ( remove1_nat @ X @ Xs )
= Xs ) ) ).
% remove1_idem
thf(fact_1026_remove1__idem,axiom,
! [X: fm,Xs: list_fm] :
( ~ ( member_fm2 @ X @ ( set_fm2 @ Xs ) )
=> ( ( remove1_fm @ X @ Xs )
= Xs ) ) ).
% remove1_idem
thf(fact_1027_minus__set__def,axiom,
( minus_minus_set_a
= ( ^ [A5: set_a,B3: set_a] :
( collect_a
@ ( minus_minus_a_o
@ ^ [X2: a] : ( member_a2 @ X2 @ A5 )
@ ^ [X2: a] : ( member_a2 @ X2 @ B3 ) ) ) ) ) ).
% minus_set_def
thf(fact_1028_minus__set__def,axiom,
( minus_minus_set_fm
= ( ^ [A5: set_fm,B3: set_fm] :
( collect_fm
@ ( minus_minus_fm_o
@ ^ [X2: fm] : ( member_fm2 @ X2 @ A5 )
@ ^ [X2: fm] : ( member_fm2 @ X2 @ B3 ) ) ) ) ) ).
% minus_set_def
thf(fact_1029_minus__set__def,axiom,
( minus_minus_set_nat
= ( ^ [A5: set_nat,B3: set_nat] :
( collect_nat
@ ( minus_minus_nat_o
@ ^ [X2: nat] : ( member_nat2 @ X2 @ A5 )
@ ^ [X2: nat] : ( member_nat2 @ X2 @ B3 ) ) ) ) ) ).
% minus_set_def
thf(fact_1030_length__Suc__conv__rev,axiom,
! [Xs: list_fm,N: nat] :
( ( ( size_size_list_fm @ Xs )
= ( suc @ N ) )
= ( ? [Y2: fm,Ys3: list_fm] :
( ( Xs
= ( append_fm @ Ys3 @ ( cons_fm @ Y2 @ nil_fm ) ) )
& ( ( size_size_list_fm @ Ys3 )
= N ) ) ) ) ).
% length_Suc_conv_rev
thf(fact_1031_length__Suc__conv__rev,axiom,
! [Xs: list_tm,N: nat] :
( ( ( size_size_list_tm @ Xs )
= ( suc @ N ) )
= ( ? [Y2: tm,Ys3: list_tm] :
( ( Xs
= ( append_tm @ Ys3 @ ( cons_tm @ Y2 @ nil_tm ) ) )
& ( ( size_size_list_tm @ Ys3 )
= N ) ) ) ) ).
% length_Suc_conv_rev
thf(fact_1032_length__Suc__conv__rev,axiom,
! [Xs: list_nat,N: nat] :
( ( ( size_size_list_nat @ Xs )
= ( suc @ N ) )
= ( ? [Y2: nat,Ys3: list_nat] :
( ( Xs
= ( append_nat @ Ys3 @ ( cons_nat @ Y2 @ nil_nat ) ) )
& ( ( size_size_list_nat @ Ys3 )
= N ) ) ) ) ).
% length_Suc_conv_rev
thf(fact_1033_length__append__singleton,axiom,
! [Xs: list_fm,X: fm] :
( ( size_size_list_fm @ ( append_fm @ Xs @ ( cons_fm @ X @ nil_fm ) ) )
= ( suc @ ( size_size_list_fm @ Xs ) ) ) ).
% length_append_singleton
thf(fact_1034_length__append__singleton,axiom,
! [Xs: list_tm,X: tm] :
( ( size_size_list_tm @ ( append_tm @ Xs @ ( cons_tm @ X @ nil_tm ) ) )
= ( suc @ ( size_size_list_tm @ Xs ) ) ) ).
% length_append_singleton
thf(fact_1035_length__append__singleton,axiom,
! [Xs: list_nat,X: nat] :
( ( size_size_list_nat @ ( append_nat @ Xs @ ( cons_nat @ X @ nil_nat ) ) )
= ( suc @ ( size_size_list_nat @ Xs ) ) ) ).
% length_append_singleton
thf(fact_1036_ord_Olexordp__eq_OCons__eq,axiom,
! [Less: tm > tm > $o,X: tm,Y: tm,Xs: list_tm,Ys: list_tm] :
( ~ ( Less @ X @ Y )
=> ( ~ ( Less @ Y @ X )
=> ( ( lexordp_eq_tm @ Less @ Xs @ Ys )
=> ( lexordp_eq_tm @ Less @ ( cons_tm @ X @ Xs ) @ ( cons_tm @ Y @ Ys ) ) ) ) ) ).
% ord.lexordp_eq.Cons_eq
thf(fact_1037_ord_Olexordp__eq_OCons__eq,axiom,
! [Less: nat > nat > $o,X: nat,Y: nat,Xs: list_nat,Ys: list_nat] :
( ~ ( Less @ X @ Y )
=> ( ~ ( Less @ Y @ X )
=> ( ( lexordp_eq_nat @ Less @ Xs @ Ys )
=> ( lexordp_eq_nat @ Less @ ( cons_nat @ X @ Xs ) @ ( cons_nat @ Y @ Ys ) ) ) ) ) ).
% ord.lexordp_eq.Cons_eq
thf(fact_1038_ord_Olexordp__eq_OCons,axiom,
! [Less: tm > tm > $o,X: tm,Y: tm,Xs: list_tm,Ys: list_tm] :
( ( Less @ X @ Y )
=> ( lexordp_eq_tm @ Less @ ( cons_tm @ X @ Xs ) @ ( cons_tm @ Y @ Ys ) ) ) ).
% ord.lexordp_eq.Cons
thf(fact_1039_ord_Olexordp__eq_OCons,axiom,
! [Less: nat > nat > $o,X: nat,Y: nat,Xs: list_nat,Ys: list_nat] :
( ( Less @ X @ Y )
=> ( lexordp_eq_nat @ Less @ ( cons_nat @ X @ Xs ) @ ( cons_nat @ Y @ Ys ) ) ) ).
% ord.lexordp_eq.Cons
thf(fact_1040_ord_Olexordp__eq_ONil,axiom,
! [Less: fm > fm > $o,Ys: list_fm] : ( lexordp_eq_fm @ Less @ nil_fm @ Ys ) ).
% ord.lexordp_eq.Nil
thf(fact_1041_ord_Olexordp__eq_ONil,axiom,
! [Less: tm > tm > $o,Ys: list_tm] : ( lexordp_eq_tm @ Less @ nil_tm @ Ys ) ).
% ord.lexordp_eq.Nil
thf(fact_1042_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_1043_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_1044_list__induct3,axiom,
! [Xs: list_fm,Ys: list_fm,Zs: list_fm,P: list_fm > list_fm > list_fm > $o] :
( ( ( size_size_list_fm @ Xs )
= ( size_size_list_fm @ Ys ) )
=> ( ( ( size_size_list_fm @ Ys )
= ( size_size_list_fm @ Zs ) )
=> ( ( P @ nil_fm @ nil_fm @ nil_fm )
=> ( ! [X3: fm,Xs3: list_fm,Y3: fm,Ys2: list_fm,Z3: fm,Zs2: list_fm] :
( ( ( size_size_list_fm @ Xs3 )
= ( size_size_list_fm @ Ys2 ) )
=> ( ( ( size_size_list_fm @ Ys2 )
= ( size_size_list_fm @ Zs2 ) )
=> ( ( P @ Xs3 @ Ys2 @ Zs2 )
=> ( P @ ( cons_fm @ X3 @ Xs3 ) @ ( cons_fm @ Y3 @ Ys2 ) @ ( cons_fm @ Z3 @ Zs2 ) ) ) ) )
=> ( P @ Xs @ Ys @ Zs ) ) ) ) ) ).
% list_induct3
thf(fact_1045_list__induct3,axiom,
! [Xs: list_fm,Ys: list_fm,Zs: list_tm,P: list_fm > list_fm > list_tm > $o] :
( ( ( size_size_list_fm @ Xs )
= ( size_size_list_fm @ Ys ) )
=> ( ( ( size_size_list_fm @ Ys )
= ( size_size_list_tm @ Zs ) )
=> ( ( P @ nil_fm @ nil_fm @ nil_tm )
=> ( ! [X3: fm,Xs3: list_fm,Y3: fm,Ys2: list_fm,Z3: tm,Zs2: list_tm] :
( ( ( size_size_list_fm @ Xs3 )
= ( size_size_list_fm @ Ys2 ) )
=> ( ( ( size_size_list_fm @ Ys2 )
= ( size_size_list_tm @ Zs2 ) )
=> ( ( P @ Xs3 @ Ys2 @ Zs2 )
=> ( P @ ( cons_fm @ X3 @ Xs3 ) @ ( cons_fm @ Y3 @ Ys2 ) @ ( cons_tm @ Z3 @ Zs2 ) ) ) ) )
=> ( P @ Xs @ Ys @ Zs ) ) ) ) ) ).
% list_induct3
thf(fact_1046_list__induct3,axiom,
! [Xs: list_fm,Ys: list_tm,Zs: list_fm,P: list_fm > list_tm > list_fm > $o] :
( ( ( size_size_list_fm @ Xs )
= ( size_size_list_tm @ Ys ) )
=> ( ( ( size_size_list_tm @ Ys )
= ( size_size_list_fm @ Zs ) )
=> ( ( P @ nil_fm @ nil_tm @ nil_fm )
=> ( ! [X3: fm,Xs3: list_fm,Y3: tm,Ys2: list_tm,Z3: fm,Zs2: list_fm] :
( ( ( size_size_list_fm @ Xs3 )
= ( size_size_list_tm @ Ys2 ) )
=> ( ( ( size_size_list_tm @ Ys2 )
= ( size_size_list_fm @ Zs2 ) )
=> ( ( P @ Xs3 @ Ys2 @ Zs2 )
=> ( P @ ( cons_fm @ X3 @ Xs3 ) @ ( cons_tm @ Y3 @ Ys2 ) @ ( cons_fm @ Z3 @ Zs2 ) ) ) ) )
=> ( P @ Xs @ Ys @ Zs ) ) ) ) ) ).
% list_induct3
thf(fact_1047_list__induct3,axiom,
! [Xs: list_fm,Ys: list_tm,Zs: list_tm,P: list_fm > list_tm > list_tm > $o] :
( ( ( size_size_list_fm @ Xs )
= ( size_size_list_tm @ Ys ) )
=> ( ( ( size_size_list_tm @ Ys )
= ( size_size_list_tm @ Zs ) )
=> ( ( P @ nil_fm @ nil_tm @ nil_tm )
=> ( ! [X3: fm,Xs3: list_fm,Y3: tm,Ys2: list_tm,Z3: tm,Zs2: list_tm] :
( ( ( size_size_list_fm @ Xs3 )
= ( size_size_list_tm @ Ys2 ) )
=> ( ( ( size_size_list_tm @ Ys2 )
= ( size_size_list_tm @ Zs2 ) )
=> ( ( P @ Xs3 @ Ys2 @ Zs2 )
=> ( P @ ( cons_fm @ X3 @ Xs3 ) @ ( cons_tm @ Y3 @ Ys2 ) @ ( cons_tm @ Z3 @ Zs2 ) ) ) ) )
=> ( P @ Xs @ Ys @ Zs ) ) ) ) ) ).
% list_induct3
thf(fact_1048_list__induct3,axiom,
! [Xs: list_tm,Ys: list_fm,Zs: list_fm,P: list_tm > list_fm > list_fm > $o] :
( ( ( size_size_list_tm @ Xs )
= ( size_size_list_fm @ Ys ) )
=> ( ( ( size_size_list_fm @ Ys )
= ( size_size_list_fm @ Zs ) )
=> ( ( P @ nil_tm @ nil_fm @ nil_fm )
=> ( ! [X3: tm,Xs3: list_tm,Y3: fm,Ys2: list_fm,Z3: fm,Zs2: list_fm] :
( ( ( size_size_list_tm @ Xs3 )
= ( size_size_list_fm @ Ys2 ) )
=> ( ( ( size_size_list_fm @ Ys2 )
= ( size_size_list_fm @ Zs2 ) )
=> ( ( P @ Xs3 @ Ys2 @ Zs2 )
=> ( P @ ( cons_tm @ X3 @ Xs3 ) @ ( cons_fm @ Y3 @ Ys2 ) @ ( cons_fm @ Z3 @ Zs2 ) ) ) ) )
=> ( P @ Xs @ Ys @ Zs ) ) ) ) ) ).
% list_induct3
thf(fact_1049_list__induct3,axiom,
! [Xs: list_tm,Ys: list_fm,Zs: list_tm,P: list_tm > list_fm > list_tm > $o] :
( ( ( size_size_list_tm @ Xs )
= ( size_size_list_fm @ Ys ) )
=> ( ( ( size_size_list_fm @ Ys )
= ( size_size_list_tm @ Zs ) )
=> ( ( P @ nil_tm @ nil_fm @ nil_tm )
=> ( ! [X3: tm,Xs3: list_tm,Y3: fm,Ys2: list_fm,Z3: tm,Zs2: list_tm] :
( ( ( size_size_list_tm @ Xs3 )
= ( size_size_list_fm @ Ys2 ) )
=> ( ( ( size_size_list_fm @ Ys2 )
= ( size_size_list_tm @ Zs2 ) )
=> ( ( P @ Xs3 @ Ys2 @ Zs2 )
=> ( P @ ( cons_tm @ X3 @ Xs3 ) @ ( cons_fm @ Y3 @ Ys2 ) @ ( cons_tm @ Z3 @ Zs2 ) ) ) ) )
=> ( P @ Xs @ Ys @ Zs ) ) ) ) ) ).
% list_induct3
thf(fact_1050_list__induct3,axiom,
! [Xs: list_tm,Ys: list_tm,Zs: list_fm,P: list_tm > list_tm > list_fm > $o] :
( ( ( size_size_list_tm @ Xs )
= ( size_size_list_tm @ Ys ) )
=> ( ( ( size_size_list_tm @ Ys )
= ( size_size_list_fm @ Zs ) )
=> ( ( P @ nil_tm @ nil_tm @ nil_fm )
=> ( ! [X3: tm,Xs3: list_tm,Y3: tm,Ys2: list_tm,Z3: fm,Zs2: list_fm] :
( ( ( size_size_list_tm @ Xs3 )
= ( size_size_list_tm @ Ys2 ) )
=> ( ( ( size_size_list_tm @ Ys2 )
= ( size_size_list_fm @ Zs2 ) )
=> ( ( P @ Xs3 @ Ys2 @ Zs2 )
=> ( P @ ( cons_tm @ X3 @ Xs3 ) @ ( cons_tm @ Y3 @ Ys2 ) @ ( cons_fm @ Z3 @ Zs2 ) ) ) ) )
=> ( P @ Xs @ Ys @ Zs ) ) ) ) ) ).
% list_induct3
thf(fact_1051_list__induct3,axiom,
! [Xs: list_tm,Ys: list_tm,Zs: list_tm,P: list_tm > list_tm > list_tm > $o] :
( ( ( size_size_list_tm @ Xs )
= ( size_size_list_tm @ Ys ) )
=> ( ( ( size_size_list_tm @ Ys )
= ( size_size_list_tm @ Zs ) )
=> ( ( P @ nil_tm @ nil_tm @ nil_tm )
=> ( ! [X3: tm,Xs3: list_tm,Y3: tm,Ys2: list_tm,Z3: tm,Zs2: list_tm] :
( ( ( size_size_list_tm @ Xs3 )
= ( size_size_list_tm @ Ys2 ) )
=> ( ( ( size_size_list_tm @ Ys2 )
= ( size_size_list_tm @ Zs2 ) )
=> ( ( P @ Xs3 @ Ys2 @ Zs2 )
=> ( P @ ( cons_tm @ X3 @ Xs3 ) @ ( cons_tm @ Y3 @ Ys2 ) @ ( cons_tm @ Z3 @ Zs2 ) ) ) ) )
=> ( P @ Xs @ Ys @ Zs ) ) ) ) ) ).
% list_induct3
thf(fact_1052_list__induct3,axiom,
! [Xs: list_fm,Ys: list_fm,Zs: list_nat,P: list_fm > list_fm > list_nat > $o] :
( ( ( size_size_list_fm @ Xs )
= ( size_size_list_fm @ Ys ) )
=> ( ( ( size_size_list_fm @ Ys )
= ( size_size_list_nat @ Zs ) )
=> ( ( P @ nil_fm @ nil_fm @ nil_nat )
=> ( ! [X3: fm,Xs3: list_fm,Y3: fm,Ys2: list_fm,Z3: nat,Zs2: list_nat] :
( ( ( size_size_list_fm @ Xs3 )
= ( size_size_list_fm @ Ys2 ) )
=> ( ( ( size_size_list_fm @ Ys2 )
= ( size_size_list_nat @ Zs2 ) )
=> ( ( P @ Xs3 @ Ys2 @ Zs2 )
=> ( P @ ( cons_fm @ X3 @ Xs3 ) @ ( cons_fm @ Y3 @ Ys2 ) @ ( cons_nat @ Z3 @ Zs2 ) ) ) ) )
=> ( P @ Xs @ Ys @ Zs ) ) ) ) ) ).
% list_induct3
thf(fact_1053_list__induct3,axiom,
! [Xs: list_fm,Ys: list_tm,Zs: list_nat,P: list_fm > list_tm > list_nat > $o] :
( ( ( size_size_list_fm @ Xs )
= ( size_size_list_tm @ Ys ) )
=> ( ( ( size_size_list_tm @ Ys )
= ( size_size_list_nat @ Zs ) )
=> ( ( P @ nil_fm @ nil_tm @ nil_nat )
=> ( ! [X3: fm,Xs3: list_fm,Y3: tm,Ys2: list_tm,Z3: nat,Zs2: list_nat] :
( ( ( size_size_list_fm @ Xs3 )
= ( size_size_list_tm @ Ys2 ) )
=> ( ( ( size_size_list_tm @ Ys2 )
= ( size_size_list_nat @ Zs2 ) )
=> ( ( P @ Xs3 @ Ys2 @ Zs2 )
=> ( P @ ( cons_fm @ X3 @ Xs3 ) @ ( cons_tm @ Y3 @ Ys2 ) @ ( cons_nat @ Z3 @ Zs2 ) ) ) ) )
=> ( P @ Xs @ Ys @ Zs ) ) ) ) ) ).
% list_induct3
thf(fact_1054_list__induct2,axiom,
! [Xs: list_fm,Ys: list_fm,P: list_fm > list_fm > $o] :
( ( ( size_size_list_fm @ Xs )
= ( size_size_list_fm @ Ys ) )
=> ( ( P @ nil_fm @ nil_fm )
=> ( ! [X3: fm,Xs3: list_fm,Y3: fm,Ys2: list_fm] :
( ( ( size_size_list_fm @ Xs3 )
= ( size_size_list_fm @ Ys2 ) )
=> ( ( P @ Xs3 @ Ys2 )
=> ( P @ ( cons_fm @ X3 @ Xs3 ) @ ( cons_fm @ Y3 @ Ys2 ) ) ) )
=> ( P @ Xs @ Ys ) ) ) ) ).
% list_induct2
thf(fact_1055_list__induct2,axiom,
! [Xs: list_fm,Ys: list_tm,P: list_fm > list_tm > $o] :
( ( ( size_size_list_fm @ Xs )
= ( size_size_list_tm @ Ys ) )
=> ( ( P @ nil_fm @ nil_tm )
=> ( ! [X3: fm,Xs3: list_fm,Y3: tm,Ys2: list_tm] :
( ( ( size_size_list_fm @ Xs3 )
= ( size_size_list_tm @ Ys2 ) )
=> ( ( P @ Xs3 @ Ys2 )
=> ( P @ ( cons_fm @ X3 @ Xs3 ) @ ( cons_tm @ Y3 @ Ys2 ) ) ) )
=> ( P @ Xs @ Ys ) ) ) ) ).
% list_induct2
thf(fact_1056_list__induct2,axiom,
! [Xs: list_tm,Ys: list_fm,P: list_tm > list_fm > $o] :
( ( ( size_size_list_tm @ Xs )
= ( size_size_list_fm @ Ys ) )
=> ( ( P @ nil_tm @ nil_fm )
=> ( ! [X3: tm,Xs3: list_tm,Y3: fm,Ys2: list_fm] :
( ( ( size_size_list_tm @ Xs3 )
= ( size_size_list_fm @ Ys2 ) )
=> ( ( P @ Xs3 @ Ys2 )
=> ( P @ ( cons_tm @ X3 @ Xs3 ) @ ( cons_fm @ Y3 @ Ys2 ) ) ) )
=> ( P @ Xs @ Ys ) ) ) ) ).
% list_induct2
thf(fact_1057_list__induct2,axiom,
! [Xs: list_tm,Ys: list_tm,P: list_tm > list_tm > $o] :
( ( ( size_size_list_tm @ Xs )
= ( size_size_list_tm @ Ys ) )
=> ( ( P @ nil_tm @ nil_tm )
=> ( ! [X3: tm,Xs3: list_tm,Y3: tm,Ys2: list_tm] :
( ( ( size_size_list_tm @ Xs3 )
= ( size_size_list_tm @ Ys2 ) )
=> ( ( P @ Xs3 @ Ys2 )
=> ( P @ ( cons_tm @ X3 @ Xs3 ) @ ( cons_tm @ Y3 @ Ys2 ) ) ) )
=> ( P @ Xs @ Ys ) ) ) ) ).
% list_induct2
thf(fact_1058_list__induct2,axiom,
! [Xs: list_fm,Ys: list_nat,P: list_fm > list_nat > $o] :
( ( ( size_size_list_fm @ Xs )
= ( size_size_list_nat @ Ys ) )
=> ( ( P @ nil_fm @ nil_nat )
=> ( ! [X3: fm,Xs3: list_fm,Y3: nat,Ys2: list_nat] :
( ( ( size_size_list_fm @ Xs3 )
= ( size_size_list_nat @ Ys2 ) )
=> ( ( P @ Xs3 @ Ys2 )
=> ( P @ ( cons_fm @ X3 @ Xs3 ) @ ( cons_nat @ Y3 @ Ys2 ) ) ) )
=> ( P @ Xs @ Ys ) ) ) ) ).
% list_induct2
thf(fact_1059_list__induct2,axiom,
! [Xs: list_tm,Ys: list_nat,P: list_tm > list_nat > $o] :
( ( ( size_size_list_tm @ Xs )
= ( size_size_list_nat @ Ys ) )
=> ( ( P @ nil_tm @ nil_nat )
=> ( ! [X3: tm,Xs3: list_tm,Y3: nat,Ys2: list_nat] :
( ( ( size_size_list_tm @ Xs3 )
= ( size_size_list_nat @ Ys2 ) )
=> ( ( P @ Xs3 @ Ys2 )
=> ( P @ ( cons_tm @ X3 @ Xs3 ) @ ( cons_nat @ Y3 @ Ys2 ) ) ) )
=> ( P @ Xs @ Ys ) ) ) ) ).
% list_induct2
thf(fact_1060_list__induct2,axiom,
! [Xs: list_nat,Ys: list_fm,P: list_nat > list_fm > $o] :
( ( ( size_size_list_nat @ Xs )
= ( size_size_list_fm @ Ys ) )
=> ( ( P @ nil_nat @ nil_fm )
=> ( ! [X3: nat,Xs3: list_nat,Y3: fm,Ys2: list_fm] :
( ( ( size_size_list_nat @ Xs3 )
= ( size_size_list_fm @ Ys2 ) )
=> ( ( P @ Xs3 @ Ys2 )
=> ( P @ ( cons_nat @ X3 @ Xs3 ) @ ( cons_fm @ Y3 @ Ys2 ) ) ) )
=> ( P @ Xs @ Ys ) ) ) ) ).
% list_induct2
thf(fact_1061_list__induct2,axiom,
! [Xs: list_nat,Ys: list_tm,P: list_nat > list_tm > $o] :
( ( ( size_size_list_nat @ Xs )
= ( size_size_list_tm @ Ys ) )
=> ( ( P @ nil_nat @ nil_tm )
=> ( ! [X3: nat,Xs3: list_nat,Y3: tm,Ys2: list_tm] :
( ( ( size_size_list_nat @ Xs3 )
= ( size_size_list_tm @ Ys2 ) )
=> ( ( P @ Xs3 @ Ys2 )
=> ( P @ ( cons_nat @ X3 @ Xs3 ) @ ( cons_tm @ Y3 @ Ys2 ) ) ) )
=> ( P @ Xs @ Ys ) ) ) ) ).
% list_induct2
thf(fact_1062_list__induct2,axiom,
! [Xs: list_nat,Ys: list_nat,P: list_nat > list_nat > $o] :
( ( ( size_size_list_nat @ Xs )
= ( size_size_list_nat @ Ys ) )
=> ( ( P @ nil_nat @ nil_nat )
=> ( ! [X3: nat,Xs3: list_nat,Y3: nat,Ys2: list_nat] :
( ( ( size_size_list_nat @ Xs3 )
= ( size_size_list_nat @ Ys2 ) )
=> ( ( P @ Xs3 @ Ys2 )
=> ( P @ ( cons_nat @ X3 @ Xs3 ) @ ( cons_nat @ Y3 @ Ys2 ) ) ) )
=> ( P @ Xs @ Ys ) ) ) ) ).
% list_induct2
thf(fact_1063_list__all2__append2,axiom,
! [P: nat > nat > $o,Xs: list_nat,Ys: list_nat,Zs: list_nat] :
( ( list_all2_nat_nat @ P @ Xs @ ( append_nat @ Ys @ Zs ) )
= ( ? [Us2: list_nat,Vs: list_nat] :
( ( Xs
= ( append_nat @ Us2 @ Vs ) )
& ( ( size_size_list_nat @ Us2 )
= ( size_size_list_nat @ Ys ) )
& ( ( size_size_list_nat @ Vs )
= ( size_size_list_nat @ Zs ) )
& ( list_all2_nat_nat @ P @ Us2 @ Ys )
& ( list_all2_nat_nat @ P @ Vs @ Zs ) ) ) ) ).
% list_all2_append2
thf(fact_1064_list__all2__append1,axiom,
! [P: nat > nat > $o,Xs: list_nat,Ys: list_nat,Zs: list_nat] :
( ( list_all2_nat_nat @ P @ ( append_nat @ Xs @ Ys ) @ Zs )
= ( ? [Us2: list_nat,Vs: list_nat] :
( ( Zs
= ( append_nat @ Us2 @ Vs ) )
& ( ( size_size_list_nat @ Us2 )
= ( size_size_list_nat @ Xs ) )
& ( ( size_size_list_nat @ Vs )
= ( size_size_list_nat @ Ys ) )
& ( list_all2_nat_nat @ P @ Xs @ Us2 )
& ( list_all2_nat_nat @ P @ Ys @ Vs ) ) ) ) ).
% list_all2_append1
thf(fact_1065_list__all2__append,axiom,
! [Xs: list_nat,Ys: list_nat,P: nat > nat > $o,Us: list_nat,Vs3: list_nat] :
( ( ( size_size_list_nat @ Xs )
= ( size_size_list_nat @ Ys ) )
=> ( ( list_all2_nat_nat @ P @ ( append_nat @ Xs @ Us ) @ ( append_nat @ Ys @ Vs3 ) )
= ( ( list_all2_nat_nat @ P @ Xs @ Ys )
& ( list_all2_nat_nat @ P @ Us @ Vs3 ) ) ) ) ).
% list_all2_append
thf(fact_1066_remove1__append,axiom,
! [X: a,Xs: list_a,Ys: list_a] :
( ( ( member_a2 @ X @ ( set_a2 @ Xs ) )
=> ( ( remove1_a @ X @ ( append_a @ Xs @ Ys ) )
= ( append_a @ ( remove1_a @ X @ Xs ) @ Ys ) ) )
& ( ~ ( member_a2 @ X @ ( set_a2 @ Xs ) )
=> ( ( remove1_a @ X @ ( append_a @ Xs @ Ys ) )
= ( append_a @ Xs @ ( remove1_a @ X @ Ys ) ) ) ) ) ).
% remove1_append
thf(fact_1067_remove1__append,axiom,
! [X: fm,Xs: list_fm,Ys: list_fm] :
( ( ( member_fm2 @ X @ ( set_fm2 @ Xs ) )
=> ( ( remove1_fm @ X @ ( append_fm @ Xs @ Ys ) )
= ( append_fm @ ( remove1_fm @ X @ Xs ) @ Ys ) ) )
& ( ~ ( member_fm2 @ X @ ( set_fm2 @ Xs ) )
=> ( ( remove1_fm @ X @ ( append_fm @ Xs @ Ys ) )
= ( append_fm @ Xs @ ( remove1_fm @ X @ Ys ) ) ) ) ) ).
% remove1_append
thf(fact_1068_remove1__append,axiom,
! [X: nat,Xs: list_nat,Ys: list_nat] :
( ( ( member_nat2 @ X @ ( set_nat2 @ Xs ) )
=> ( ( remove1_nat @ X @ ( append_nat @ Xs @ Ys ) )
= ( append_nat @ ( remove1_nat @ X @ Xs ) @ Ys ) ) )
& ( ~ ( member_nat2 @ X @ ( set_nat2 @ Xs ) )
=> ( ( remove1_nat @ X @ ( append_nat @ Xs @ Ys ) )
= ( append_nat @ Xs @ ( remove1_nat @ X @ Ys ) ) ) ) ) ).
% remove1_append
thf(fact_1069_ord_Olexordp__eq_Osimps,axiom,
( lexordp_eq_fm
= ( ^ [Less2: fm > fm > $o,A1: list_fm,A23: list_fm] :
( ? [Ys3: list_fm] :
( ( A1 = nil_fm )
& ( A23 = Ys3 ) )
| ? [X2: fm,Y2: fm,Xs2: list_fm,Ys3: list_fm] :
( ( A1
= ( cons_fm @ X2 @ Xs2 ) )
& ( A23
= ( cons_fm @ Y2 @ Ys3 ) )
& ( Less2 @ X2 @ Y2 ) )
| ? [X2: fm,Y2: fm,Xs2: list_fm,Ys3: list_fm] :
( ( A1
= ( cons_fm @ X2 @ Xs2 ) )
& ( A23
= ( cons_fm @ Y2 @ Ys3 ) )
& ~ ( Less2 @ X2 @ Y2 )
& ~ ( Less2 @ Y2 @ X2 )
& ( lexordp_eq_fm @ Less2 @ Xs2 @ Ys3 ) ) ) ) ) ).
% ord.lexordp_eq.simps
thf(fact_1070_ord_Olexordp__eq_Osimps,axiom,
( lexordp_eq_tm
= ( ^ [Less2: tm > tm > $o,A1: list_tm,A23: list_tm] :
( ? [Ys3: list_tm] :
( ( A1 = nil_tm )
& ( A23 = Ys3 ) )
| ? [X2: tm,Y2: tm,Xs2: list_tm,Ys3: list_tm] :
( ( A1
= ( cons_tm @ X2 @ Xs2 ) )
& ( A23
= ( cons_tm @ Y2 @ Ys3 ) )
& ( Less2 @ X2 @ Y2 ) )
| ? [X2: tm,Y2: tm,Xs2: list_tm,Ys3: list_tm] :
( ( A1
= ( cons_tm @ X2 @ Xs2 ) )
& ( A23
= ( cons_tm @ Y2 @ Ys3 ) )
& ~ ( Less2 @ X2 @ Y2 )
& ~ ( Less2 @ Y2 @ X2 )
& ( lexordp_eq_tm @ Less2 @ Xs2 @ Ys3 ) ) ) ) ) ).
% ord.lexordp_eq.simps
thf(fact_1071_ord_Olexordp__eq_Osimps,axiom,
( lexordp_eq_nat
= ( ^ [Less2: nat > nat > $o,A1: list_nat,A23: list_nat] :
( ? [Ys3: list_nat] :
( ( A1 = nil_nat )
& ( A23 = Ys3 ) )
| ? [X2: nat,Y2: nat,Xs2: list_nat,Ys3: list_nat] :
( ( A1
= ( cons_nat @ X2 @ Xs2 ) )
& ( A23
= ( cons_nat @ Y2 @ Ys3 ) )
& ( Less2 @ X2 @ Y2 ) )
| ? [X2: nat,Y2: nat,Xs2: list_nat,Ys3: list_nat] :
( ( A1
= ( cons_nat @ X2 @ Xs2 ) )
& ( A23
= ( cons_nat @ Y2 @ Ys3 ) )
& ~ ( Less2 @ X2 @ Y2 )
& ~ ( Less2 @ Y2 @ X2 )
& ( lexordp_eq_nat @ Less2 @ Xs2 @ Ys3 ) ) ) ) ) ).
% ord.lexordp_eq.simps
thf(fact_1072_ord_Olexordp__eq_Ocases,axiom,
! [Less: fm > fm > $o,A12: list_fm,A24: list_fm] :
( ( lexordp_eq_fm @ Less @ A12 @ A24 )
=> ( ( A12 != nil_fm )
=> ( ! [X3: fm] :
( ? [Xs3: list_fm] :
( A12
= ( cons_fm @ X3 @ Xs3 ) )
=> ! [Y3: fm] :
( ? [Ys2: list_fm] :
( A24
= ( cons_fm @ Y3 @ Ys2 ) )
=> ~ ( Less @ X3 @ Y3 ) ) )
=> ~ ! [X3: fm,Y3: fm,Xs3: list_fm] :
( ( A12
= ( cons_fm @ X3 @ Xs3 ) )
=> ! [Ys2: list_fm] :
( ( A24
= ( cons_fm @ Y3 @ Ys2 ) )
=> ( ~ ( Less @ X3 @ Y3 )
=> ( ~ ( Less @ Y3 @ X3 )
=> ~ ( lexordp_eq_fm @ Less @ Xs3 @ Ys2 ) ) ) ) ) ) ) ) ).
% ord.lexordp_eq.cases
thf(fact_1073_ord_Olexordp__eq_Ocases,axiom,
! [Less: tm > tm > $o,A12: list_tm,A24: list_tm] :
( ( lexordp_eq_tm @ Less @ A12 @ A24 )
=> ( ( A12 != nil_tm )
=> ( ! [X3: tm] :
( ? [Xs3: list_tm] :
( A12
= ( cons_tm @ X3 @ Xs3 ) )
=> ! [Y3: tm] :
( ? [Ys2: list_tm] :
( A24
= ( cons_tm @ Y3 @ Ys2 ) )
=> ~ ( Less @ X3 @ Y3 ) ) )
=> ~ ! [X3: tm,Y3: tm,Xs3: list_tm] :
( ( A12
= ( cons_tm @ X3 @ Xs3 ) )
=> ! [Ys2: list_tm] :
( ( A24
= ( cons_tm @ Y3 @ Ys2 ) )
=> ( ~ ( Less @ X3 @ Y3 )
=> ( ~ ( Less @ Y3 @ X3 )
=> ~ ( lexordp_eq_tm @ Less @ Xs3 @ Ys2 ) ) ) ) ) ) ) ) ).
% ord.lexordp_eq.cases
thf(fact_1074_ord_Olexordp__eq_Ocases,axiom,
! [Less: nat > nat > $o,A12: list_nat,A24: list_nat] :
( ( lexordp_eq_nat @ Less @ A12 @ A24 )
=> ( ( A12 != nil_nat )
=> ( ! [X3: nat] :
( ? [Xs3: list_nat] :
( A12
= ( cons_nat @ X3 @ Xs3 ) )
=> ! [Y3: nat] :
( ? [Ys2: list_nat] :
( A24
= ( cons_nat @ Y3 @ Ys2 ) )
=> ~ ( Less @ X3 @ Y3 ) ) )
=> ~ ! [X3: nat,Y3: nat,Xs3: list_nat] :
( ( A12
= ( cons_nat @ X3 @ Xs3 ) )
=> ! [Ys2: list_nat] :
( ( A24
= ( cons_nat @ Y3 @ Ys2 ) )
=> ( ~ ( Less @ X3 @ Y3 )
=> ( ~ ( Less @ Y3 @ X3 )
=> ~ ( lexordp_eq_nat @ Less @ Xs3 @ Ys2 ) ) ) ) ) ) ) ) ).
% ord.lexordp_eq.cases
thf(fact_1075_same__length__different,axiom,
! [Xs: list_fm,Ys: list_fm] :
( ( Xs != Ys )
=> ( ( ( size_size_list_fm @ Xs )
= ( size_size_list_fm @ Ys ) )
=> ? [Pre: list_fm,X3: fm,Xs6: list_fm,Y3: fm,Ys6: list_fm] :
( ( X3 != Y3 )
& ( Xs
= ( append_fm @ Pre @ ( append_fm @ ( cons_fm @ X3 @ nil_fm ) @ Xs6 ) ) )
& ( Ys
= ( append_fm @ Pre @ ( append_fm @ ( cons_fm @ Y3 @ nil_fm ) @ Ys6 ) ) ) ) ) ) ).
% same_length_different
thf(fact_1076_same__length__different,axiom,
! [Xs: list_tm,Ys: list_tm] :
( ( Xs != Ys )
=> ( ( ( size_size_list_tm @ Xs )
= ( size_size_list_tm @ Ys ) )
=> ? [Pre: list_tm,X3: tm,Xs6: list_tm,Y3: tm,Ys6: list_tm] :
( ( X3 != Y3 )
& ( Xs
= ( append_tm @ Pre @ ( append_tm @ ( cons_tm @ X3 @ nil_tm ) @ Xs6 ) ) )
& ( Ys
= ( append_tm @ Pre @ ( append_tm @ ( cons_tm @ Y3 @ nil_tm ) @ Ys6 ) ) ) ) ) ) ).
% same_length_different
thf(fact_1077_same__length__different,axiom,
! [Xs: list_nat,Ys: list_nat] :
( ( Xs != Ys )
=> ( ( ( size_size_list_nat @ Xs )
= ( size_size_list_nat @ Ys ) )
=> ? [Pre: list_nat,X3: nat,Xs6: list_nat,Y3: nat,Ys6: list_nat] :
( ( X3 != Y3 )
& ( Xs
= ( append_nat @ Pre @ ( append_nat @ ( cons_nat @ X3 @ nil_nat ) @ Xs6 ) ) )
& ( Ys
= ( append_nat @ Pre @ ( append_nat @ ( cons_nat @ Y3 @ nil_nat ) @ Ys6 ) ) ) ) ) ) ).
% same_length_different
thf(fact_1078_inc__list_Osimps_I2_J,axiom,
! [T: tm,L2: list_tm] :
( ( inc_list @ ( cons_tm @ T @ L2 ) )
= ( cons_tm @ ( inc_term @ T ) @ ( inc_list @ L2 ) ) ) ).
% inc_list.simps(2)
thf(fact_1079_n__lists__Nil,axiom,
! [N: nat] :
( ( ( N = zero_zero_nat )
=> ( ( n_lists_fm @ N @ nil_fm )
= ( cons_list_fm @ nil_fm @ nil_list_fm ) ) )
& ( ( N != zero_zero_nat )
=> ( ( n_lists_fm @ N @ nil_fm )
= nil_list_fm ) ) ) ).
% n_lists_Nil
thf(fact_1080_n__lists__Nil,axiom,
! [N: nat] :
( ( ( N = zero_zero_nat )
=> ( ( n_lists_tm @ N @ nil_tm )
= ( cons_list_tm @ nil_tm @ nil_list_tm ) ) )
& ( ( N != zero_zero_nat )
=> ( ( n_lists_tm @ N @ nil_tm )
= nil_list_tm ) ) ) ).
% n_lists_Nil
thf(fact_1081_n__lists__Nil,axiom,
! [N: nat] :
( ( ( N = zero_zero_nat )
=> ( ( n_lists_nat @ N @ nil_nat )
= ( cons_list_nat @ nil_nat @ nil_list_nat ) ) )
& ( ( N != zero_zero_nat )
=> ( ( n_lists_nat @ N @ nil_nat )
= nil_list_nat ) ) ) ).
% n_lists_Nil
thf(fact_1082_inc__term_Osimps_I2_J,axiom,
! [I2: nat,L2: list_tm] :
( ( inc_term @ ( fun @ I2 @ L2 ) )
= ( fun @ I2 @ ( inc_list @ L2 ) ) ) ).
% inc_term.simps(2)
thf(fact_1083_s4_I2_J,axiom,
inc_list = liftts ).
% s4(2)
thf(fact_1084_length__0__conv,axiom,
! [Xs: list_fm] :
( ( ( size_size_list_fm @ Xs )
= zero_zero_nat )
= ( Xs = nil_fm ) ) ).
% length_0_conv
thf(fact_1085_length__0__conv,axiom,
! [Xs: list_tm] :
( ( ( size_size_list_tm @ Xs )
= zero_zero_nat )
= ( Xs = nil_tm ) ) ).
% length_0_conv
thf(fact_1086_length__0__conv,axiom,
! [Xs: list_nat] :
( ( ( size_size_list_nat @ Xs )
= zero_zero_nat )
= ( Xs = nil_nat ) ) ).
% length_0_conv
thf(fact_1087_list_Osize_I3_J,axiom,
( ( size_size_list_fm @ nil_fm )
= zero_zero_nat ) ).
% list.size(3)
thf(fact_1088_list_Osize_I3_J,axiom,
( ( size_size_list_tm @ nil_tm )
= zero_zero_nat ) ).
% list.size(3)
thf(fact_1089_list_Osize_I3_J,axiom,
( ( size_size_list_nat @ nil_nat )
= zero_zero_nat ) ).
% list.size(3)
thf(fact_1090_liftts_Osimps_I1_J,axiom,
( ( liftts @ nil_tm )
= nil_tm ) ).
% liftts.simps(1)
thf(fact_1091_n__lists_Osimps_I1_J,axiom,
! [Xs: list_fm] :
( ( n_lists_fm @ zero_zero_nat @ Xs )
= ( cons_list_fm @ nil_fm @ nil_list_fm ) ) ).
% n_lists.simps(1)
thf(fact_1092_n__lists_Osimps_I1_J,axiom,
! [Xs: list_tm] :
( ( n_lists_tm @ zero_zero_nat @ Xs )
= ( cons_list_tm @ nil_tm @ nil_list_tm ) ) ).
% n_lists.simps(1)
thf(fact_1093_n__lists_Osimps_I1_J,axiom,
! [Xs: list_nat] :
( ( n_lists_nat @ zero_zero_nat @ Xs )
= ( cons_list_nat @ nil_nat @ nil_list_nat ) ) ).
% n_lists.simps(1)
thf(fact_1094_Nitpick_Osize__list__simp_I2_J,axiom,
( size_size_list_fm
= ( ^ [Xs2: list_fm] : ( if_nat @ ( Xs2 = nil_fm ) @ zero_zero_nat @ ( suc @ ( size_size_list_fm @ ( tl_fm @ Xs2 ) ) ) ) ) ) ).
% Nitpick.size_list_simp(2)
thf(fact_1095_Nitpick_Osize__list__simp_I2_J,axiom,
( size_size_list_tm
= ( ^ [Xs2: list_tm] : ( if_nat @ ( Xs2 = nil_tm ) @ zero_zero_nat @ ( suc @ ( size_size_list_tm @ ( tl_tm @ Xs2 ) ) ) ) ) ) ).
% Nitpick.size_list_simp(2)
thf(fact_1096_Nitpick_Osize__list__simp_I2_J,axiom,
( size_size_list_nat
= ( ^ [Xs2: list_nat] : ( if_nat @ ( Xs2 = nil_nat ) @ zero_zero_nat @ ( suc @ ( size_size_list_nat @ ( tl_nat @ Xs2 ) ) ) ) ) ) ).
% Nitpick.size_list_simp(2)
thf(fact_1097_tm_Osize__gen_I2_J,axiom,
! [X23: nat] :
( ( size_tm @ ( var @ X23 ) )
= zero_zero_nat ) ).
% tm.size_gen(2)
thf(fact_1098_transpose__max__length,axiom,
! [Xs: list_list_fm] :
( ( foldr_list_fm_nat
@ ^ [Xs2: list_fm] : ( ord_max_nat @ ( size_size_list_fm @ Xs2 ) )
@ ( transpose_fm @ Xs )
@ zero_zero_nat )
= ( size_s115229985653309035ist_fm
@ ( filter_list_fm
@ ^ [X2: list_fm] : ( X2 != nil_fm )
@ Xs ) ) ) ).
% transpose_max_length
thf(fact_1099_transpose__max__length,axiom,
! [Xs: list_list_tm] :
( ( foldr_list_tm_nat
@ ^ [Xs2: list_tm] : ( ord_max_nat @ ( size_size_list_tm @ Xs2 ) )
@ ( transpose_tm @ Xs )
@ zero_zero_nat )
= ( size_s9096087352182575069ist_tm
@ ( filter_list_tm
@ ^ [X2: list_tm] : ( X2 != nil_tm )
@ Xs ) ) ) ).
% transpose_max_length
thf(fact_1100_transpose__max__length,axiom,
! [Xs: list_list_nat] :
( ( foldr_list_nat_nat
@ ^ [Xs2: list_nat] : ( ord_max_nat @ ( size_size_list_nat @ Xs2 ) )
@ ( transpose_nat @ Xs )
@ zero_zero_nat )
= ( size_s3023201423986296836st_nat
@ ( filter_list_nat
@ ^ [X2: list_nat] : ( X2 != nil_nat )
@ Xs ) ) ) ).
% transpose_max_length
thf(fact_1101_length__transpose,axiom,
! [Xs: list_list_nat] :
( ( size_s3023201423986296836st_nat @ ( transpose_nat @ Xs ) )
= ( foldr_list_nat_nat
@ ^ [Xs2: list_nat] : ( ord_max_nat @ ( size_size_list_nat @ Xs2 ) )
@ Xs
@ zero_zero_nat ) ) ).
% length_transpose
thf(fact_1102_transpose__aux__max,axiom,
! [Xs: list_nat,Xss2: list_list_fm] :
( ( ord_max_nat @ ( suc @ ( size_size_list_nat @ Xs ) )
@ ( foldr_list_fm_nat
@ ^ [Xs2: list_fm] : ( ord_max_nat @ ( size_size_list_fm @ Xs2 ) )
@ Xss2
@ zero_zero_nat ) )
= ( suc
@ ( ord_max_nat @ ( size_size_list_nat @ Xs )
@ ( foldr_list_fm_nat
@ ^ [X2: list_fm] : ( ord_max_nat @ ( minus_minus_nat @ ( size_size_list_fm @ X2 ) @ ( suc @ zero_zero_nat ) ) )
@ ( filter_list_fm
@ ^ [Ys3: list_fm] : ( Ys3 != nil_fm )
@ Xss2 )
@ zero_zero_nat ) ) ) ) ).
% transpose_aux_max
thf(fact_1103_transpose__aux__max,axiom,
! [Xs: list_nat,Xss2: list_list_tm] :
( ( ord_max_nat @ ( suc @ ( size_size_list_nat @ Xs ) )
@ ( foldr_list_tm_nat
@ ^ [Xs2: list_tm] : ( ord_max_nat @ ( size_size_list_tm @ Xs2 ) )
@ Xss2
@ zero_zero_nat ) )
= ( suc
@ ( ord_max_nat @ ( size_size_list_nat @ Xs )
@ ( foldr_list_tm_nat
@ ^ [X2: list_tm] : ( ord_max_nat @ ( minus_minus_nat @ ( size_size_list_tm @ X2 ) @ ( suc @ zero_zero_nat ) ) )
@ ( filter_list_tm
@ ^ [Ys3: list_tm] : ( Ys3 != nil_tm )
@ Xss2 )
@ zero_zero_nat ) ) ) ) ).
% transpose_aux_max
thf(fact_1104_transpose__aux__max,axiom,
! [Xs: list_nat,Xss2: list_list_nat] :
( ( ord_max_nat @ ( suc @ ( size_size_list_nat @ Xs ) )
@ ( foldr_list_nat_nat
@ ^ [Xs2: list_nat] : ( ord_max_nat @ ( size_size_list_nat @ Xs2 ) )
@ Xss2
@ zero_zero_nat ) )
= ( suc
@ ( ord_max_nat @ ( size_size_list_nat @ Xs )
@ ( foldr_list_nat_nat
@ ^ [X2: list_nat] : ( ord_max_nat @ ( minus_minus_nat @ ( size_size_list_nat @ X2 ) @ ( suc @ zero_zero_nat ) ) )
@ ( filter_list_nat
@ ^ [Ys3: list_nat] : ( Ys3 != nil_nat )
@ Xss2 )
@ zero_zero_nat ) ) ) ) ).
% transpose_aux_max
thf(fact_1105_s4_I1_J,axiom,
inc_term = liftt ).
% s4(1)
thf(fact_1106_substt_Osimps_I2_J,axiom,
! [A2: nat,Ts: list_tm,S2: tm,K2: nat] :
( ( substt @ ( fun @ A2 @ Ts ) @ S2 @ K2 )
= ( fun @ A2 @ ( substts @ Ts @ S2 @ K2 ) ) ) ).
% substt.simps(2)
thf(fact_1107_substts_Osimps_I2_J,axiom,
! [T: tm,Ts: list_tm,S2: tm,K2: nat] :
( ( substts @ ( cons_tm @ T @ Ts ) @ S2 @ K2 )
= ( cons_tm @ ( substt @ T @ S2 @ K2 ) @ ( substts @ Ts @ S2 @ K2 ) ) ) ).
% substts.simps(2)
thf(fact_1108_substts_Osimps_I1_J,axiom,
! [S2: tm,K2: nat] :
( ( substts @ nil_tm @ S2 @ K2 )
= nil_tm ) ).
% substts.simps(1)
thf(fact_1109_liftt_Osimps_I1_J,axiom,
! [I2: nat] :
( ( liftt @ ( var @ I2 ) )
= ( var @ ( suc @ I2 ) ) ) ).
% liftt.simps(1)
thf(fact_1110_liftt_Osimps_I2_J,axiom,
! [A2: nat,Ts: list_tm] :
( ( liftt @ ( fun @ A2 @ Ts ) )
= ( fun @ A2 @ ( liftts @ Ts ) ) ) ).
% liftt.simps(2)
thf(fact_1111_liftts_Osimps_I2_J,axiom,
! [T: tm,Ts: list_tm] :
( ( liftts @ ( cons_tm @ T @ Ts ) )
= ( cons_tm @ ( liftt @ T ) @ ( liftts @ Ts ) ) ) ).
% liftts.simps(2)
thf(fact_1112_s5_I1_J,axiom,
( sub_term
= ( ^ [V2: nat,S3: tm,T2: tm] : ( substt @ T2 @ S3 @ V2 ) ) ) ).
% s5(1)
thf(fact_1113_nths__Cons,axiom,
! [X: fm,L2: list_fm,A3: set_nat] :
( ( nths_fm @ ( cons_fm @ X @ L2 ) @ A3 )
= ( append_fm @ ( if_list_fm @ ( member_nat2 @ zero_zero_nat @ A3 ) @ ( cons_fm @ X @ nil_fm ) @ nil_fm )
@ ( nths_fm @ L2
@ ( collect_nat
@ ^ [J: nat] : ( member_nat2 @ ( suc @ J ) @ A3 ) ) ) ) ) ).
% nths_Cons
thf(fact_1114_nths__Cons,axiom,
! [X: tm,L2: list_tm,A3: set_nat] :
( ( nths_tm @ ( cons_tm @ X @ L2 ) @ A3 )
= ( append_tm @ ( if_list_tm @ ( member_nat2 @ zero_zero_nat @ A3 ) @ ( cons_tm @ X @ nil_tm ) @ nil_tm )
@ ( nths_tm @ L2
@ ( collect_nat
@ ^ [J: nat] : ( member_nat2 @ ( suc @ J ) @ A3 ) ) ) ) ) ).
% nths_Cons
thf(fact_1115_nths__Cons,axiom,
! [X: nat,L2: list_nat,A3: set_nat] :
( ( nths_nat @ ( cons_nat @ X @ L2 ) @ A3 )
= ( append_nat @ ( if_list_nat @ ( member_nat2 @ zero_zero_nat @ A3 ) @ ( cons_nat @ X @ nil_nat ) @ nil_nat )
@ ( nths_nat @ L2
@ ( collect_nat
@ ^ [J: nat] : ( member_nat2 @ ( suc @ J ) @ A3 ) ) ) ) ) ).
% nths_Cons
thf(fact_1116_remdups__adj__singleton__iff,axiom,
! [Xs: list_fm] :
( ( ( size_size_list_fm @ ( remdups_adj_fm @ Xs ) )
= ( suc @ zero_zero_nat ) )
= ( ( Xs != nil_fm )
& ( Xs
= ( replicate_fm @ ( size_size_list_fm @ Xs ) @ ( hd_fm @ Xs ) ) ) ) ) ).
% remdups_adj_singleton_iff
thf(fact_1117_remdups__adj__singleton__iff,axiom,
! [Xs: list_tm] :
( ( ( size_size_list_tm @ ( remdups_adj_tm @ Xs ) )
= ( suc @ zero_zero_nat ) )
= ( ( Xs != nil_tm )
& ( Xs
= ( replicate_tm @ ( size_size_list_tm @ Xs ) @ ( hd_tm @ Xs ) ) ) ) ) ).
% remdups_adj_singleton_iff
thf(fact_1118_remdups__adj__singleton__iff,axiom,
! [Xs: list_nat] :
( ( ( size_size_list_nat @ ( remdups_adj_nat @ Xs ) )
= ( suc @ zero_zero_nat ) )
= ( ( Xs != nil_nat )
& ( Xs
= ( replicate_nat @ ( size_size_list_nat @ Xs ) @ ( hd_nat @ Xs ) ) ) ) ) ).
% remdups_adj_singleton_iff
thf(fact_1119_s5_I2_J,axiom,
( sub_list
= ( ^ [V2: nat,S3: tm,L: list_tm] : ( substts @ L @ S3 @ V2 ) ) ) ).
% s5(2)
thf(fact_1120_length__replicate,axiom,
! [N: nat,X: nat] :
( ( size_size_list_nat @ ( replicate_nat @ N @ X ) )
= N ) ).
% length_replicate
thf(fact_1121_concat__replicate__trivial,axiom,
! [I2: nat] :
( ( concat_fm @ ( replicate_list_fm @ I2 @ nil_fm ) )
= nil_fm ) ).
% concat_replicate_trivial
thf(fact_1122_concat__replicate__trivial,axiom,
! [I2: nat] :
( ( concat_tm @ ( replicate_list_tm @ I2 @ nil_tm ) )
= nil_tm ) ).
% concat_replicate_trivial
thf(fact_1123_concat__replicate__trivial,axiom,
! [I2: nat] :
( ( concat_nat @ ( replicate_list_nat @ I2 @ nil_nat ) )
= nil_nat ) ).
% concat_replicate_trivial
thf(fact_1124_map__replicate,axiom,
! [F: nat > nat,N: nat,X: nat] :
( ( map_nat_nat @ F @ ( replicate_nat @ N @ X ) )
= ( replicate_nat @ N @ ( F @ X ) ) ) ).
% map_replicate
thf(fact_1125_nths__nil,axiom,
! [A3: set_nat] :
( ( nths_fm @ nil_fm @ A3 )
= nil_fm ) ).
% nths_nil
thf(fact_1126_nths__nil,axiom,
! [A3: set_nat] :
( ( nths_tm @ nil_tm @ A3 )
= nil_tm ) ).
% nths_nil
thf(fact_1127_nths__nil,axiom,
! [A3: set_nat] :
( ( nths_nat @ nil_nat @ A3 )
= nil_nat ) ).
% nths_nil
thf(fact_1128_replicate__empty,axiom,
! [N: nat,X: fm] :
( ( ( replicate_fm @ N @ X )
= nil_fm )
= ( N = zero_zero_nat ) ) ).
% replicate_empty
thf(fact_1129_replicate__empty,axiom,
! [N: nat,X: tm] :
( ( ( replicate_tm @ N @ X )
= nil_tm )
= ( N = zero_zero_nat ) ) ).
% replicate_empty
thf(fact_1130_replicate__empty,axiom,
! [N: nat,X: nat] :
( ( ( replicate_nat @ N @ X )
= nil_nat )
= ( N = zero_zero_nat ) ) ).
% replicate_empty
thf(fact_1131_empty__replicate,axiom,
! [N: nat,X: fm] :
( ( nil_fm
= ( replicate_fm @ N @ X ) )
= ( N = zero_zero_nat ) ) ).
% empty_replicate
thf(fact_1132_empty__replicate,axiom,
! [N: nat,X: tm] :
( ( nil_tm
= ( replicate_tm @ N @ X ) )
= ( N = zero_zero_nat ) ) ).
% empty_replicate
thf(fact_1133_empty__replicate,axiom,
! [N: nat,X: nat] :
( ( nil_nat
= ( replicate_nat @ N @ X ) )
= ( N = zero_zero_nat ) ) ).
% empty_replicate
thf(fact_1134_in__set__replicate,axiom,
! [X: a,N: nat,Y: a] :
( ( member_a2 @ X @ ( set_a2 @ ( replicate_a @ N @ Y ) ) )
= ( ( X = Y )
& ( N != zero_zero_nat ) ) ) ).
% in_set_replicate
thf(fact_1135_in__set__replicate,axiom,
! [X: nat,N: nat,Y: nat] :
( ( member_nat2 @ X @ ( set_nat2 @ ( replicate_nat @ N @ Y ) ) )
= ( ( X = Y )
& ( N != zero_zero_nat ) ) ) ).
% in_set_replicate
thf(fact_1136_in__set__replicate,axiom,
! [X: fm,N: nat,Y: fm] :
( ( member_fm2 @ X @ ( set_fm2 @ ( replicate_fm @ N @ Y ) ) )
= ( ( X = Y )
& ( N != zero_zero_nat ) ) ) ).
% in_set_replicate
thf(fact_1137_hd__replicate,axiom,
! [N: nat,X: nat] :
( ( N != zero_zero_nat )
=> ( ( hd_nat @ ( replicate_nat @ N @ X ) )
= X ) ) ).
% hd_replicate
thf(fact_1138_dropWhile__replicate,axiom,
! [P: fm > $o,X: fm,N: nat] :
( ( ( P @ X )
=> ( ( dropWhile_fm @ P @ ( replicate_fm @ N @ X ) )
= nil_fm ) )
& ( ~ ( P @ X )
=> ( ( dropWhile_fm @ P @ ( replicate_fm @ N @ X ) )
= ( replicate_fm @ N @ X ) ) ) ) ).
% dropWhile_replicate
thf(fact_1139_dropWhile__replicate,axiom,
! [P: tm > $o,X: tm,N: nat] :
( ( ( P @ X )
=> ( ( dropWhile_tm @ P @ ( replicate_tm @ N @ X ) )
= nil_tm ) )
& ( ~ ( P @ X )
=> ( ( dropWhile_tm @ P @ ( replicate_tm @ N @ X ) )
= ( replicate_tm @ N @ X ) ) ) ) ).
% dropWhile_replicate
thf(fact_1140_dropWhile__replicate,axiom,
! [P: nat > $o,X: nat,N: nat] :
( ( ( P @ X )
=> ( ( dropWhile_nat @ P @ ( replicate_nat @ N @ X ) )
= nil_nat ) )
& ( ~ ( P @ X )
=> ( ( dropWhile_nat @ P @ ( replicate_nat @ N @ X ) )
= ( replicate_nat @ N @ X ) ) ) ) ).
% dropWhile_replicate
thf(fact_1141_last__replicate,axiom,
! [N: nat,X: nat] :
( ( N != zero_zero_nat )
=> ( ( last_nat @ ( replicate_nat @ N @ X ) )
= X ) ) ).
% last_replicate
thf(fact_1142_nths__singleton,axiom,
! [A3: set_nat,X: fm] :
( ( ( member_nat2 @ zero_zero_nat @ A3 )
=> ( ( nths_fm @ ( cons_fm @ X @ nil_fm ) @ A3 )
= ( cons_fm @ X @ nil_fm ) ) )
& ( ~ ( member_nat2 @ zero_zero_nat @ A3 )
=> ( ( nths_fm @ ( cons_fm @ X @ nil_fm ) @ A3 )
= nil_fm ) ) ) ).
% nths_singleton
thf(fact_1143_nths__singleton,axiom,
! [A3: set_nat,X: tm] :
( ( ( member_nat2 @ zero_zero_nat @ A3 )
=> ( ( nths_tm @ ( cons_tm @ X @ nil_tm ) @ A3 )
= ( cons_tm @ X @ nil_tm ) ) )
& ( ~ ( member_nat2 @ zero_zero_nat @ A3 )
=> ( ( nths_tm @ ( cons_tm @ X @ nil_tm ) @ A3 )
= nil_tm ) ) ) ).
% nths_singleton
thf(fact_1144_nths__singleton,axiom,
! [A3: set_nat,X: nat] :
( ( ( member_nat2 @ zero_zero_nat @ A3 )
=> ( ( nths_nat @ ( cons_nat @ X @ nil_nat ) @ A3 )
= ( cons_nat @ X @ nil_nat ) ) )
& ( ~ ( member_nat2 @ zero_zero_nat @ A3 )
=> ( ( nths_nat @ ( cons_nat @ X @ nil_nat ) @ A3 )
= nil_nat ) ) ) ).
% nths_singleton
thf(fact_1145_nths__map,axiom,
! [F: nat > nat,Xs: list_nat,I3: set_nat] :
( ( nths_nat @ ( map_nat_nat @ F @ Xs ) @ I3 )
= ( map_nat_nat @ F @ ( nths_nat @ Xs @ I3 ) ) ) ).
% nths_map
thf(fact_1146_append__replicate__commute,axiom,
! [N: nat,X: nat,K2: nat] :
( ( append_nat @ ( replicate_nat @ N @ X ) @ ( replicate_nat @ K2 @ X ) )
= ( append_nat @ ( replicate_nat @ K2 @ X ) @ ( replicate_nat @ N @ X ) ) ) ).
% append_replicate_commute
thf(fact_1147_in__set__nthsD,axiom,
! [X: a,Xs: list_a,I3: set_nat] :
( ( member_a2 @ X @ ( set_a2 @ ( nths_a @ Xs @ I3 ) ) )
=> ( member_a2 @ X @ ( set_a2 @ Xs ) ) ) ).
% in_set_nthsD
thf(fact_1148_in__set__nthsD,axiom,
! [X: nat,Xs: list_nat,I3: set_nat] :
( ( member_nat2 @ X @ ( set_nat2 @ ( nths_nat @ Xs @ I3 ) ) )
=> ( member_nat2 @ X @ ( set_nat2 @ Xs ) ) ) ).
% in_set_nthsD
thf(fact_1149_in__set__nthsD,axiom,
! [X: fm,Xs: list_fm,I3: set_nat] :
( ( member_fm2 @ X @ ( set_fm2 @ ( nths_fm @ Xs @ I3 ) ) )
=> ( member_fm2 @ X @ ( set_fm2 @ Xs ) ) ) ).
% in_set_nthsD
thf(fact_1150_notin__set__nthsI,axiom,
! [X: a,Xs: list_a,I3: set_nat] :
( ~ ( member_a2 @ X @ ( set_a2 @ Xs ) )
=> ~ ( member_a2 @ X @ ( set_a2 @ ( nths_a @ Xs @ I3 ) ) ) ) ).
% notin_set_nthsI
thf(fact_1151_notin__set__nthsI,axiom,
! [X: nat,Xs: list_nat,I3: set_nat] :
( ~ ( member_nat2 @ X @ ( set_nat2 @ Xs ) )
=> ~ ( member_nat2 @ X @ ( set_nat2 @ ( nths_nat @ Xs @ I3 ) ) ) ) ).
% notin_set_nthsI
thf(fact_1152_notin__set__nthsI,axiom,
! [X: fm,Xs: list_fm,I3: set_nat] :
( ~ ( member_fm2 @ X @ ( set_fm2 @ Xs ) )
=> ~ ( member_fm2 @ X @ ( set_fm2 @ ( nths_fm @ Xs @ I3 ) ) ) ) ).
% notin_set_nthsI
thf(fact_1153_sub__term_Osimps_I2_J,axiom,
! [V: nat,S2: tm,I2: nat,L2: list_tm] :
( ( sub_term @ V @ S2 @ ( fun @ I2 @ L2 ) )
= ( fun @ I2 @ ( sub_list @ V @ S2 @ L2 ) ) ) ).
% sub_term.simps(2)
thf(fact_1154_sub__list_Osimps_I2_J,axiom,
! [V: nat,S2: tm,T: tm,L2: list_tm] :
( ( sub_list @ V @ S2 @ ( cons_tm @ T @ L2 ) )
= ( cons_tm @ ( sub_term @ V @ S2 @ T ) @ ( sub_list @ V @ S2 @ L2 ) ) ) ).
% sub_list.simps(2)
thf(fact_1155_replicate__Suc,axiom,
! [N: nat,X: tm] :
( ( replicate_tm @ ( suc @ N ) @ X )
= ( cons_tm @ X @ ( replicate_tm @ N @ X ) ) ) ).
% replicate_Suc
thf(fact_1156_replicate__Suc,axiom,
! [N: nat,X: nat] :
( ( replicate_nat @ ( suc @ N ) @ X )
= ( cons_nat @ X @ ( replicate_nat @ N @ X ) ) ) ).
% replicate_Suc
thf(fact_1157_replicate__0,axiom,
! [X: fm] :
( ( replicate_fm @ zero_zero_nat @ X )
= nil_fm ) ).
% replicate_0
thf(fact_1158_replicate__0,axiom,
! [X: tm] :
( ( replicate_tm @ zero_zero_nat @ X )
= nil_tm ) ).
% replicate_0
thf(fact_1159_replicate__0,axiom,
! [X: nat] :
( ( replicate_nat @ zero_zero_nat @ X )
= nil_nat ) ).
% replicate_0
thf(fact_1160_replicate__eqI,axiom,
! [Xs: list_a,N: nat,X: a] :
( ( ( size_size_list_a @ Xs )
= N )
=> ( ! [Y3: a] :
( ( member_a2 @ Y3 @ ( set_a2 @ Xs ) )
=> ( Y3 = X ) )
=> ( Xs
= ( replicate_a @ N @ X ) ) ) ) ).
% replicate_eqI
thf(fact_1161_replicate__eqI,axiom,
! [Xs: list_fm,N: nat,X: fm] :
( ( ( size_size_list_fm @ Xs )
= N )
=> ( ! [Y3: fm] :
( ( member_fm2 @ Y3 @ ( set_fm2 @ Xs ) )
=> ( Y3 = X ) )
=> ( Xs
= ( replicate_fm @ N @ X ) ) ) ) ).
% replicate_eqI
thf(fact_1162_replicate__eqI,axiom,
! [Xs: list_nat,N: nat,X: nat] :
( ( ( size_size_list_nat @ Xs )
= N )
=> ( ! [Y3: nat] :
( ( member_nat2 @ Y3 @ ( set_nat2 @ Xs ) )
=> ( Y3 = X ) )
=> ( Xs
= ( replicate_nat @ N @ X ) ) ) ) ).
% replicate_eqI
thf(fact_1163_replicate__length__same,axiom,
! [Xs: list_nat,X: nat] :
( ! [X3: nat] :
( ( member_nat2 @ X3 @ ( set_nat2 @ Xs ) )
=> ( X3 = X ) )
=> ( ( replicate_nat @ ( size_size_list_nat @ Xs ) @ X )
= Xs ) ) ).
% replicate_length_same
thf(fact_1164_replicate__app__Cons__same,axiom,
! [N: nat,X: tm,Xs: list_tm] :
( ( append_tm @ ( replicate_tm @ N @ X ) @ ( cons_tm @ X @ Xs ) )
= ( cons_tm @ X @ ( append_tm @ ( replicate_tm @ N @ X ) @ Xs ) ) ) ).
% replicate_app_Cons_same
thf(fact_1165_replicate__app__Cons__same,axiom,
! [N: nat,X: nat,Xs: list_nat] :
( ( append_nat @ ( replicate_nat @ N @ X ) @ ( cons_nat @ X @ Xs ) )
= ( cons_nat @ X @ ( append_nat @ ( replicate_nat @ N @ X ) @ Xs ) ) ) ).
% replicate_app_Cons_same
thf(fact_1166_filter__replicate,axiom,
! [P: fm > $o,X: fm,N: nat] :
( ( ( P @ X )
=> ( ( filter_fm @ P @ ( replicate_fm @ N @ X ) )
= ( replicate_fm @ N @ X ) ) )
& ( ~ ( P @ X )
=> ( ( filter_fm @ P @ ( replicate_fm @ N @ X ) )
= nil_fm ) ) ) ).
% filter_replicate
thf(fact_1167_filter__replicate,axiom,
! [P: tm > $o,X: tm,N: nat] :
( ( ( P @ X )
=> ( ( filter_tm @ P @ ( replicate_tm @ N @ X ) )
= ( replicate_tm @ N @ X ) ) )
& ( ~ ( P @ X )
=> ( ( filter_tm @ P @ ( replicate_tm @ N @ X ) )
= nil_tm ) ) ) ).
% filter_replicate
thf(fact_1168_filter__replicate,axiom,
! [P: nat > $o,X: nat,N: nat] :
( ( ( P @ X )
=> ( ( filter_nat @ P @ ( replicate_nat @ N @ X ) )
= ( replicate_nat @ N @ X ) ) )
& ( ~ ( P @ X )
=> ( ( filter_nat @ P @ ( replicate_nat @ N @ X ) )
= nil_nat ) ) ) ).
% filter_replicate
thf(fact_1169_comm__append__are__replicate,axiom,
! [Xs: list_nat,Ys: list_nat] :
( ( ( append_nat @ Xs @ Ys )
= ( append_nat @ Ys @ Xs ) )
=> ? [M2: nat,N3: nat,Zs2: list_nat] :
( ( ( concat_nat @ ( replicate_list_nat @ M2 @ Zs2 ) )
= Xs )
& ( ( concat_nat @ ( replicate_list_nat @ N3 @ Zs2 ) )
= Ys ) ) ) ).
% comm_append_are_replicate
thf(fact_1170_map__replicate__const,axiom,
! [K2: nat,Lst: list_nat] :
( ( map_nat_nat
@ ^ [X2: nat] : K2
@ Lst )
= ( replicate_nat @ ( size_size_list_nat @ Lst ) @ K2 ) ) ).
% map_replicate_const
thf(fact_1171_replicate__length__filter,axiom,
! [X: nat,Xs: list_nat] :
( ( replicate_nat
@ ( size_size_list_nat
@ ( filter_nat
@ ( ^ [Y4: nat,Z4: nat] : ( Y4 = Z4 )
@ X )
@ Xs ) )
@ X )
= ( filter_nat
@ ( ^ [Y4: nat,Z4: nat] : ( Y4 = Z4 )
@ X )
@ Xs ) ) ).
% replicate_length_filter
thf(fact_1172_replicate__append__same,axiom,
! [I2: nat,X: fm] :
( ( append_fm @ ( replicate_fm @ I2 @ X ) @ ( cons_fm @ X @ nil_fm ) )
= ( cons_fm @ X @ ( replicate_fm @ I2 @ X ) ) ) ).
% replicate_append_same
thf(fact_1173_replicate__append__same,axiom,
! [I2: nat,X: tm] :
( ( append_tm @ ( replicate_tm @ I2 @ X ) @ ( cons_tm @ X @ nil_tm ) )
= ( cons_tm @ X @ ( replicate_tm @ I2 @ X ) ) ) ).
% replicate_append_same
thf(fact_1174_replicate__append__same,axiom,
! [I2: nat,X: nat] :
( ( append_nat @ ( replicate_nat @ I2 @ X ) @ ( cons_nat @ X @ nil_nat ) )
= ( cons_nat @ X @ ( replicate_nat @ I2 @ X ) ) ) ).
% replicate_append_same
thf(fact_1175_sub__list_Osimps_I1_J,axiom,
! [V: nat,S2: tm] :
( ( sub_list @ V @ S2 @ nil_tm )
= nil_tm ) ).
% sub_list.simps(1)
thf(fact_1176_remdups__adj__replicate,axiom,
! [N: nat,X: fm] :
( ( ( N = zero_zero_nat )
=> ( ( remdups_adj_fm @ ( replicate_fm @ N @ X ) )
= nil_fm ) )
& ( ( N != zero_zero_nat )
=> ( ( remdups_adj_fm @ ( replicate_fm @ N @ X ) )
= ( cons_fm @ X @ nil_fm ) ) ) ) ).
% remdups_adj_replicate
thf(fact_1177_remdups__adj__replicate,axiom,
! [N: nat,X: tm] :
( ( ( N = zero_zero_nat )
=> ( ( remdups_adj_tm @ ( replicate_tm @ N @ X ) )
= nil_tm ) )
& ( ( N != zero_zero_nat )
=> ( ( remdups_adj_tm @ ( replicate_tm @ N @ X ) )
= ( cons_tm @ X @ nil_tm ) ) ) ) ).
% remdups_adj_replicate
thf(fact_1178_remdups__adj__replicate,axiom,
! [N: nat,X: nat] :
( ( ( N = zero_zero_nat )
=> ( ( remdups_adj_nat @ ( replicate_nat @ N @ X ) )
= nil_nat ) )
& ( ( N != zero_zero_nat )
=> ( ( remdups_adj_nat @ ( replicate_nat @ N @ X ) )
= ( cons_nat @ X @ nil_nat ) ) ) ) ).
% remdups_adj_replicate
thf(fact_1179_remdups__adj__singleton,axiom,
! [Xs: list_fm,X: fm] :
( ( ( remdups_adj_fm @ Xs )
= ( cons_fm @ X @ nil_fm ) )
=> ( Xs
= ( replicate_fm @ ( size_size_list_fm @ Xs ) @ X ) ) ) ).
% remdups_adj_singleton
thf(fact_1180_remdups__adj__singleton,axiom,
! [Xs: list_tm,X: tm] :
( ( ( remdups_adj_tm @ Xs )
= ( cons_tm @ X @ nil_tm ) )
=> ( Xs
= ( replicate_tm @ ( size_size_list_tm @ Xs ) @ X ) ) ) ).
% remdups_adj_singleton
thf(fact_1181_remdups__adj__singleton,axiom,
! [Xs: list_nat,X: nat] :
( ( ( remdups_adj_nat @ Xs )
= ( cons_nat @ X @ nil_nat ) )
=> ( Xs
= ( replicate_nat @ ( size_size_list_nat @ Xs ) @ X ) ) ) ).
% remdups_adj_singleton
thf(fact_1182_card__set__1__iff__replicate,axiom,
! [Xs: list_fm] :
( ( ( finite_card_fm @ ( set_fm2 @ Xs ) )
= ( suc @ zero_zero_nat ) )
= ( ( Xs != nil_fm )
& ? [X2: fm] :
( Xs
= ( replicate_fm @ ( size_size_list_fm @ Xs ) @ X2 ) ) ) ) ).
% card_set_1_iff_replicate
thf(fact_1183_card__set__1__iff__replicate,axiom,
! [Xs: list_tm] :
( ( ( finite_card_tm @ ( set_tm2 @ Xs ) )
= ( suc @ zero_zero_nat ) )
= ( ( Xs != nil_tm )
& ? [X2: tm] :
( Xs
= ( replicate_tm @ ( size_size_list_tm @ Xs ) @ X2 ) ) ) ) ).
% card_set_1_iff_replicate
thf(fact_1184_card__set__1__iff__replicate,axiom,
! [Xs: list_nat] :
( ( ( finite_card_nat @ ( set_nat2 @ Xs ) )
= ( suc @ zero_zero_nat ) )
= ( ( Xs != nil_nat )
& ? [X2: nat] :
( Xs
= ( replicate_nat @ ( size_size_list_nat @ Xs ) @ X2 ) ) ) ) ).
% card_set_1_iff_replicate
thf(fact_1185_remdups__adj__length__ge1,axiom,
! [Xs: list_fm] :
( ( Xs != nil_fm )
=> ( ord_less_eq_nat @ ( suc @ zero_zero_nat ) @ ( size_size_list_fm @ ( remdups_adj_fm @ Xs ) ) ) ) ).
% remdups_adj_length_ge1
thf(fact_1186_remdups__adj__length__ge1,axiom,
! [Xs: list_tm] :
( ( Xs != nil_tm )
=> ( ord_less_eq_nat @ ( suc @ zero_zero_nat ) @ ( size_size_list_tm @ ( remdups_adj_tm @ Xs ) ) ) ) ).
% remdups_adj_length_ge1
thf(fact_1187_remdups__adj__length__ge1,axiom,
! [Xs: list_nat] :
( ( Xs != nil_nat )
=> ( ord_less_eq_nat @ ( suc @ zero_zero_nat ) @ ( size_size_list_nat @ ( remdups_adj_nat @ Xs ) ) ) ) ).
% remdups_adj_length_ge1
thf(fact_1188_set__n__lists,axiom,
! [N: nat,Xs: list_nat] :
( ( set_list_nat2 @ ( n_lists_nat @ N @ Xs ) )
= ( collect_list_nat
@ ^ [Ys3: list_nat] :
( ( ( size_size_list_nat @ Ys3 )
= N )
& ( ord_less_eq_set_nat @ ( set_nat2 @ Ys3 ) @ ( set_nat2 @ Xs ) ) ) ) ) ).
% set_n_lists
thf(fact_1189_length__code,axiom,
( size_size_list_nat
= ( gen_length_nat @ zero_zero_nat ) ) ).
% length_code
thf(fact_1190_subset__code_I1_J,axiom,
! [Xs: list_a,B4: set_a] :
( ( ord_less_eq_set_a @ ( set_a2 @ Xs ) @ B4 )
= ( ! [X2: a] :
( ( member_a2 @ X2 @ ( set_a2 @ Xs ) )
=> ( member_a2 @ X2 @ B4 ) ) ) ) ).
% subset_code(1)
thf(fact_1191_subset__code_I1_J,axiom,
! [Xs: list_nat,B4: set_nat] :
( ( ord_less_eq_set_nat @ ( set_nat2 @ Xs ) @ B4 )
= ( ! [X2: nat] :
( ( member_nat2 @ X2 @ ( set_nat2 @ Xs ) )
=> ( member_nat2 @ X2 @ B4 ) ) ) ) ).
% subset_code(1)
thf(fact_1192_subset__code_I1_J,axiom,
! [Xs: list_fm,B4: set_fm] :
( ( ord_less_eq_set_fm @ ( set_fm2 @ Xs ) @ B4 )
= ( ! [X2: fm] :
( ( member_fm2 @ X2 @ ( set_fm2 @ Xs ) )
=> ( member_fm2 @ X2 @ B4 ) ) ) ) ).
% subset_code(1)
thf(fact_1193_subset__CollectI,axiom,
! [B4: set_a,A3: set_a,Q: a > $o,P: a > $o] :
( ( ord_less_eq_set_a @ B4 @ A3 )
=> ( ! [X3: a] :
( ( member_a2 @ X3 @ B4 )
=> ( ( Q @ X3 )
=> ( P @ X3 ) ) )
=> ( ord_less_eq_set_a
@ ( collect_a
@ ^ [X2: a] :
( ( member_a2 @ X2 @ B4 )
& ( Q @ X2 ) ) )
@ ( collect_a
@ ^ [X2: a] :
( ( member_a2 @ X2 @ A3 )
& ( P @ X2 ) ) ) ) ) ) ).
% subset_CollectI
thf(fact_1194_subset__CollectI,axiom,
! [B4: set_fm,A3: set_fm,Q: fm > $o,P: fm > $o] :
( ( ord_less_eq_set_fm @ B4 @ A3 )
=> ( ! [X3: fm] :
( ( member_fm2 @ X3 @ B4 )
=> ( ( Q @ X3 )
=> ( P @ X3 ) ) )
=> ( ord_less_eq_set_fm
@ ( collect_fm
@ ^ [X2: fm] :
( ( member_fm2 @ X2 @ B4 )
& ( Q @ X2 ) ) )
@ ( collect_fm
@ ^ [X2: fm] :
( ( member_fm2 @ X2 @ A3 )
& ( P @ X2 ) ) ) ) ) ) ).
% subset_CollectI
thf(fact_1195_subset__CollectI,axiom,
! [B4: set_nat,A3: set_nat,Q: nat > $o,P: nat > $o] :
( ( ord_less_eq_set_nat @ B4 @ A3 )
=> ( ! [X3: nat] :
( ( member_nat2 @ X3 @ B4 )
=> ( ( Q @ X3 )
=> ( P @ X3 ) ) )
=> ( ord_less_eq_set_nat
@ ( collect_nat
@ ^ [X2: nat] :
( ( member_nat2 @ X2 @ B4 )
& ( Q @ X2 ) ) )
@ ( collect_nat
@ ^ [X2: nat] :
( ( member_nat2 @ X2 @ A3 )
& ( P @ X2 ) ) ) ) ) ) ).
% subset_CollectI
thf(fact_1196_subset__Collect__iff,axiom,
! [B4: set_a,A3: set_a,P: a > $o] :
( ( ord_less_eq_set_a @ B4 @ A3 )
=> ( ( ord_less_eq_set_a @ B4
@ ( collect_a
@ ^ [X2: a] :
( ( member_a2 @ X2 @ A3 )
& ( P @ X2 ) ) ) )
= ( ! [X2: a] :
( ( member_a2 @ X2 @ B4 )
=> ( P @ X2 ) ) ) ) ) ).
% subset_Collect_iff
thf(fact_1197_subset__Collect__iff,axiom,
! [B4: set_fm,A3: set_fm,P: fm > $o] :
( ( ord_less_eq_set_fm @ B4 @ A3 )
=> ( ( ord_less_eq_set_fm @ B4
@ ( collect_fm
@ ^ [X2: fm] :
( ( member_fm2 @ X2 @ A3 )
& ( P @ X2 ) ) ) )
= ( ! [X2: fm] :
( ( member_fm2 @ X2 @ B4 )
=> ( P @ X2 ) ) ) ) ) ).
% subset_Collect_iff
thf(fact_1198_subset__Collect__iff,axiom,
! [B4: set_nat,A3: set_nat,P: nat > $o] :
( ( ord_less_eq_set_nat @ B4 @ A3 )
=> ( ( ord_less_eq_set_nat @ B4
@ ( collect_nat
@ ^ [X2: nat] :
( ( member_nat2 @ X2 @ A3 )
& ( P @ X2 ) ) ) )
= ( ! [X2: nat] :
( ( member_nat2 @ X2 @ B4 )
=> ( P @ X2 ) ) ) ) ) ).
% subset_Collect_iff
thf(fact_1199_Collect__subset,axiom,
! [A3: set_a,P: a > $o] :
( ord_less_eq_set_a
@ ( collect_a
@ ^ [X2: a] :
( ( member_a2 @ X2 @ A3 )
& ( P @ X2 ) ) )
@ A3 ) ).
% Collect_subset
thf(fact_1200_Collect__subset,axiom,
! [A3: set_fm,P: fm > $o] :
( ord_less_eq_set_fm
@ ( collect_fm
@ ^ [X2: fm] :
( ( member_fm2 @ X2 @ A3 )
& ( P @ X2 ) ) )
@ A3 ) ).
% Collect_subset
thf(fact_1201_Collect__subset,axiom,
! [A3: set_nat,P: nat > $o] :
( ord_less_eq_set_nat
@ ( collect_nat
@ ^ [X2: nat] :
( ( member_nat2 @ X2 @ A3 )
& ( P @ X2 ) ) )
@ A3 ) ).
% Collect_subset
thf(fact_1202_card__length,axiom,
! [Xs: list_nat] : ( ord_less_eq_nat @ ( finite_card_nat @ ( set_nat2 @ Xs ) ) @ ( size_size_list_nat @ Xs ) ) ).
% card_length
thf(fact_1203_set__subset__Cons,axiom,
! [Xs: list_tm,X: tm] : ( ord_less_eq_set_tm @ ( set_tm2 @ Xs ) @ ( set_tm2 @ ( cons_tm @ X @ Xs ) ) ) ).
% set_subset_Cons
thf(fact_1204_set__subset__Cons,axiom,
! [Xs: list_nat,X: nat] : ( ord_less_eq_set_nat @ ( set_nat2 @ Xs ) @ ( set_nat2 @ ( cons_nat @ X @ Xs ) ) ) ).
% set_subset_Cons
thf(fact_1205_impossible__Cons,axiom,
! [Xs: list_tm,Ys: list_tm,X: tm] :
( ( ord_less_eq_nat @ ( size_size_list_tm @ Xs ) @ ( size_size_list_tm @ Ys ) )
=> ( Xs
!= ( cons_tm @ X @ Ys ) ) ) ).
% impossible_Cons
thf(fact_1206_impossible__Cons,axiom,
! [Xs: list_nat,Ys: list_nat,X: nat] :
( ( ord_less_eq_nat @ ( size_size_list_nat @ Xs ) @ ( size_size_list_nat @ Ys ) )
=> ( Xs
!= ( cons_nat @ X @ Ys ) ) ) ).
% impossible_Cons
thf(fact_1207_length__filter__le,axiom,
! [P: nat > $o,Xs: list_nat] : ( ord_less_eq_nat @ ( size_size_list_nat @ ( filter_nat @ P @ Xs ) ) @ ( size_size_list_nat @ Xs ) ) ).
% length_filter_le
thf(fact_1208_remdups__adj__length,axiom,
! [Xs: list_nat] : ( ord_less_eq_nat @ ( size_size_list_nat @ ( remdups_adj_nat @ Xs ) ) @ ( size_size_list_nat @ Xs ) ) ).
% remdups_adj_length
thf(fact_1209_length__dropWhile__le,axiom,
! [P: nat > $o,Xs: list_nat] : ( ord_less_eq_nat @ ( size_size_list_nat @ ( dropWhile_nat @ P @ Xs ) ) @ ( size_size_list_nat @ Xs ) ) ).
% length_dropWhile_le
thf(fact_1210_subset__code_I2_J,axiom,
! [A3: set_a,Ys: list_a] :
( ( ord_less_eq_set_a @ A3 @ ( coset_a @ Ys ) )
= ( ! [X2: a] :
( ( member_a2 @ X2 @ ( set_a2 @ Ys ) )
=> ~ ( member_a2 @ X2 @ A3 ) ) ) ) ).
% subset_code(2)
thf(fact_1211_subset__code_I2_J,axiom,
! [A3: set_nat,Ys: list_nat] :
( ( ord_less_eq_set_nat @ A3 @ ( coset_nat @ Ys ) )
= ( ! [X2: nat] :
( ( member_nat2 @ X2 @ ( set_nat2 @ Ys ) )
=> ~ ( member_nat2 @ X2 @ A3 ) ) ) ) ).
% subset_code(2)
thf(fact_1212_subset__code_I2_J,axiom,
! [A3: set_fm,Ys: list_fm] :
( ( ord_less_eq_set_fm @ A3 @ ( coset_fm @ Ys ) )
= ( ! [X2: fm] :
( ( member_fm2 @ X2 @ ( set_fm2 @ Ys ) )
=> ~ ( member_fm2 @ X2 @ A3 ) ) ) ) ).
% subset_code(2)
thf(fact_1213_gen__length__code_I1_J,axiom,
! [N: nat] :
( ( gen_length_fm @ N @ nil_fm )
= N ) ).
% gen_length_code(1)
thf(fact_1214_gen__length__code_I1_J,axiom,
! [N: nat] :
( ( gen_length_tm @ N @ nil_tm )
= N ) ).
% gen_length_code(1)
thf(fact_1215_gen__length__code_I1_J,axiom,
! [N: nat] :
( ( gen_length_nat @ N @ nil_nat )
= N ) ).
% gen_length_code(1)
thf(fact_1216_arg__min__list_Osimps_I2_J,axiom,
! [F: tm > nat,X: tm,Y: tm,Zs: list_tm] :
( ( arg_min_list_tm_nat @ F @ ( cons_tm @ X @ ( cons_tm @ Y @ Zs ) ) )
= ( if_tm @ ( ord_less_eq_nat @ ( F @ X ) @ ( F @ ( arg_min_list_tm_nat @ F @ ( cons_tm @ Y @ Zs ) ) ) ) @ X @ ( arg_min_list_tm_nat @ F @ ( cons_tm @ Y @ Zs ) ) ) ) ).
% arg_min_list.simps(2)
thf(fact_1217_arg__min__list_Osimps_I2_J,axiom,
! [F: nat > nat,X: nat,Y: nat,Zs: list_nat] :
( ( arg_min_list_nat_nat @ F @ ( cons_nat @ X @ ( cons_nat @ Y @ Zs ) ) )
= ( if_nat @ ( ord_less_eq_nat @ ( F @ X ) @ ( F @ ( arg_min_list_nat_nat @ F @ ( cons_nat @ Y @ Zs ) ) ) ) @ X @ ( arg_min_list_nat_nat @ F @ ( cons_nat @ Y @ Zs ) ) ) ) ).
% arg_min_list.simps(2)
thf(fact_1218_Suc__le__length__iff,axiom,
! [N: nat,Xs: list_tm] :
( ( ord_less_eq_nat @ ( suc @ N ) @ ( size_size_list_tm @ Xs ) )
= ( ? [X2: tm,Ys3: list_tm] :
( ( Xs
= ( cons_tm @ X2 @ Ys3 ) )
& ( ord_less_eq_nat @ N @ ( size_size_list_tm @ Ys3 ) ) ) ) ) ).
% Suc_le_length_iff
thf(fact_1219_Suc__le__length__iff,axiom,
! [N: nat,Xs: list_nat] :
( ( ord_less_eq_nat @ ( suc @ N ) @ ( size_size_list_nat @ Xs ) )
= ( ? [X2: nat,Ys3: list_nat] :
( ( Xs
= ( cons_nat @ X2 @ Ys3 ) )
& ( ord_less_eq_nat @ N @ ( size_size_list_nat @ Ys3 ) ) ) ) ) ).
% Suc_le_length_iff
thf(fact_1220_subset__code_I3_J,axiom,
~ ( ord_less_eq_set_fm @ ( coset_fm @ nil_fm ) @ ( set_fm2 @ nil_fm ) ) ).
% subset_code(3)
thf(fact_1221_subset__code_I3_J,axiom,
~ ( ord_less_eq_set_tm @ ( coset_tm @ nil_tm ) @ ( set_tm2 @ nil_tm ) ) ).
% subset_code(3)
thf(fact_1222_subset__code_I3_J,axiom,
~ ( ord_less_eq_set_nat @ ( coset_nat @ nil_nat ) @ ( set_nat2 @ nil_nat ) ) ).
% subset_code(3)
thf(fact_1223_gen__length__code_I2_J,axiom,
! [N: nat,X: tm,Xs: list_tm] :
( ( gen_length_tm @ N @ ( cons_tm @ X @ Xs ) )
= ( gen_length_tm @ ( suc @ N ) @ Xs ) ) ).
% gen_length_code(2)
thf(fact_1224_gen__length__code_I2_J,axiom,
! [N: nat,X: nat,Xs: list_nat] :
( ( gen_length_nat @ N @ ( cons_nat @ X @ Xs ) )
= ( gen_length_nat @ ( suc @ N ) @ Xs ) ) ).
% gen_length_code(2)
thf(fact_1225_card__Collect__le__nat,axiom,
! [N: nat] :
( ( finite_card_nat
@ ( collect_nat
@ ^ [I: nat] : ( ord_less_eq_nat @ I @ N ) ) )
= ( suc @ N ) ) ).
% card_Collect_le_nat
thf(fact_1226_max__def__raw,axiom,
( ord_max_nat
= ( ^ [A: nat,B: nat] : ( if_nat @ ( ord_less_eq_nat @ A @ B ) @ B @ A ) ) ) ).
% max_def_raw
thf(fact_1227_arg__min__list_Oelims,axiom,
! [X: fm > nat,Xa: list_fm,Y: fm] :
( ( ( arg_min_list_fm_nat @ X @ Xa )
= Y )
=> ( ! [X3: fm] :
( ( Xa
= ( cons_fm @ X3 @ nil_fm ) )
=> ( Y != X3 ) )
=> ( ! [X3: fm,Y3: fm,Zs2: list_fm] :
( ( Xa
= ( cons_fm @ X3 @ ( cons_fm @ Y3 @ Zs2 ) ) )
=> ( Y
!= ( if_fm @ ( ord_less_eq_nat @ ( X @ X3 ) @ ( X @ ( arg_min_list_fm_nat @ X @ ( cons_fm @ Y3 @ Zs2 ) ) ) ) @ X3 @ ( arg_min_list_fm_nat @ X @ ( cons_fm @ Y3 @ Zs2 ) ) ) ) )
=> ~ ( ( Xa = nil_fm )
=> ( Y != undefined_fm ) ) ) ) ) ).
% arg_min_list.elims
thf(fact_1228_arg__min__list_Oelims,axiom,
! [X: tm > nat,Xa: list_tm,Y: tm] :
( ( ( arg_min_list_tm_nat @ X @ Xa )
= Y )
=> ( ! [X3: tm] :
( ( Xa
= ( cons_tm @ X3 @ nil_tm ) )
=> ( Y != X3 ) )
=> ( ! [X3: tm,Y3: tm,Zs2: list_tm] :
( ( Xa
= ( cons_tm @ X3 @ ( cons_tm @ Y3 @ Zs2 ) ) )
=> ( Y
!= ( if_tm @ ( ord_less_eq_nat @ ( X @ X3 ) @ ( X @ ( arg_min_list_tm_nat @ X @ ( cons_tm @ Y3 @ Zs2 ) ) ) ) @ X3 @ ( arg_min_list_tm_nat @ X @ ( cons_tm @ Y3 @ Zs2 ) ) ) ) )
=> ~ ( ( Xa = nil_tm )
=> ( Y != undefined_tm ) ) ) ) ) ).
% arg_min_list.elims
thf(fact_1229_arg__min__list_Oelims,axiom,
! [X: nat > nat,Xa: list_nat,Y: nat] :
( ( ( arg_min_list_nat_nat @ X @ Xa )
= Y )
=> ( ! [X3: nat] :
( ( Xa
= ( cons_nat @ X3 @ nil_nat ) )
=> ( Y != X3 ) )
=> ( ! [X3: nat,Y3: nat,Zs2: list_nat] :
( ( Xa
= ( cons_nat @ X3 @ ( cons_nat @ Y3 @ Zs2 ) ) )
=> ( Y
!= ( if_nat @ ( ord_less_eq_nat @ ( X @ X3 ) @ ( X @ ( arg_min_list_nat_nat @ X @ ( cons_nat @ Y3 @ Zs2 ) ) ) ) @ X3 @ ( arg_min_list_nat_nat @ X @ ( cons_nat @ Y3 @ Zs2 ) ) ) ) )
=> ~ ( ( Xa = nil_nat )
=> ( Y != undefined_nat ) ) ) ) ) ).
% arg_min_list.elims
thf(fact_1230_tm_Osize_I4_J,axiom,
! [X23: nat] :
( ( size_size_tm @ ( var @ X23 ) )
= zero_zero_nat ) ).
% tm.size(4)
thf(fact_1231_pred__subset__eq,axiom,
! [R: set_a,S: set_a] :
( ( ord_less_eq_a_o
@ ^ [X2: a] : ( member_a2 @ X2 @ R )
@ ^ [X2: a] : ( member_a2 @ X2 @ S ) )
= ( ord_less_eq_set_a @ R @ S ) ) ).
% pred_subset_eq
thf(fact_1232_pred__subset__eq,axiom,
! [R: set_nat,S: set_nat] :
( ( ord_less_eq_nat_o
@ ^ [X2: nat] : ( member_nat2 @ X2 @ R )
@ ^ [X2: nat] : ( member_nat2 @ X2 @ S ) )
= ( ord_less_eq_set_nat @ R @ S ) ) ).
% pred_subset_eq
thf(fact_1233_pred__subset__eq,axiom,
! [R: set_fm,S: set_fm] :
( ( ord_less_eq_fm_o
@ ^ [X2: fm] : ( member_fm2 @ X2 @ R )
@ ^ [X2: fm] : ( member_fm2 @ X2 @ S ) )
= ( ord_less_eq_set_fm @ R @ S ) ) ).
% pred_subset_eq
thf(fact_1234_list_Opred__mono,axiom,
! [P: fm > $o,Pa: fm > $o] :
( ( ord_less_eq_fm_o @ P @ Pa )
=> ( ord_le6518561683347902116t_fm_o @ ( list_all_fm @ P ) @ ( list_all_fm @ Pa ) ) ) ).
% list.pred_mono
thf(fact_1235_list_Opred__mono,axiom,
! [P: nat > $o,Pa: nat > $o] :
( ( ord_less_eq_nat_o @ P @ Pa )
=> ( ord_le1520216061033275535_nat_o @ ( list_all_nat @ P ) @ ( list_all_nat @ Pa ) ) ) ).
% list.pred_mono
thf(fact_1236_card__Collect__less__nat,axiom,
! [N: nat] :
( ( finite_card_nat
@ ( collect_nat
@ ^ [I: nat] : ( ord_less_nat @ I @ N ) ) )
= N ) ).
% card_Collect_less_nat
thf(fact_1237_sorted__wrt__less__idx,axiom,
! [Ns: list_nat,I2: nat] :
( ( sorted_wrt_nat @ ord_less_nat @ Ns )
=> ( ( ord_less_nat @ I2 @ ( size_size_list_nat @ Ns ) )
=> ( ord_less_eq_nat @ I2 @ ( nth_nat @ Ns @ I2 ) ) ) ) ).
% sorted_wrt_less_idx
thf(fact_1238_card__less,axiom,
! [M3: set_nat,I2: nat] :
( ( member_nat2 @ zero_zero_nat @ M3 )
=> ( ( finite_card_nat
@ ( collect_nat
@ ^ [K: nat] :
( ( member_nat2 @ K @ M3 )
& ( ord_less_nat @ K @ ( suc @ I2 ) ) ) ) )
!= zero_zero_nat ) ) ).
% card_less
thf(fact_1239_card__less__Suc,axiom,
! [M3: set_nat,I2: nat] :
( ( member_nat2 @ zero_zero_nat @ M3 )
=> ( ( suc
@ ( finite_card_nat
@ ( collect_nat
@ ^ [K: nat] :
( ( member_nat2 @ ( suc @ K ) @ M3 )
& ( ord_less_nat @ K @ I2 ) ) ) ) )
= ( finite_card_nat
@ ( collect_nat
@ ^ [K: nat] :
( ( member_nat2 @ K @ M3 )
& ( ord_less_nat @ K @ ( suc @ I2 ) ) ) ) ) ) ) ).
% card_less_Suc
thf(fact_1240_card__less__Suc2,axiom,
! [M3: set_nat,I2: nat] :
( ~ ( member_nat2 @ zero_zero_nat @ M3 )
=> ( ( finite_card_nat
@ ( collect_nat
@ ^ [K: nat] :
( ( member_nat2 @ ( suc @ K ) @ M3 )
& ( ord_less_nat @ K @ I2 ) ) ) )
= ( finite_card_nat
@ ( collect_nat
@ ^ [K: nat] :
( ( member_nat2 @ K @ M3 )
& ( ord_less_nat @ K @ ( suc @ I2 ) ) ) ) ) ) ) ).
% card_less_Suc2
thf(fact_1241_tl__upt,axiom,
! [M: nat,N: nat] :
( ( tl_nat @ ( upt @ M @ N ) )
= ( upt @ ( suc @ M ) @ N ) ) ).
% tl_upt
thf(fact_1242_hd__upt,axiom,
! [I2: nat,J2: nat] :
( ( ord_less_nat @ I2 @ J2 )
=> ( ( hd_nat @ ( upt @ I2 @ J2 ) )
= I2 ) ) ).
% hd_upt
thf(fact_1243_upt__conv__Nil,axiom,
! [J2: nat,I2: nat] :
( ( ord_less_eq_nat @ J2 @ I2 )
=> ( ( upt @ I2 @ J2 )
= nil_nat ) ) ).
% upt_conv_Nil
thf(fact_1244_upt__eq__Nil__conv,axiom,
! [I2: nat,J2: nat] :
( ( ( upt @ I2 @ J2 )
= nil_nat )
= ( ( J2 = zero_zero_nat )
| ( ord_less_eq_nat @ J2 @ I2 ) ) ) ).
% upt_eq_Nil_conv
thf(fact_1245_length__upt,axiom,
! [I2: nat,J2: nat] :
( ( size_size_list_nat @ ( upt @ I2 @ J2 ) )
= ( minus_minus_nat @ J2 @ I2 ) ) ).
% length_upt
thf(fact_1246_map__Suc__upt,axiom,
! [M: nat,N: nat] :
( ( map_nat_nat @ suc @ ( upt @ M @ N ) )
= ( upt @ ( suc @ M ) @ ( suc @ N ) ) ) ).
% map_Suc_upt
thf(fact_1247_upt__conv__Cons,axiom,
! [I2: nat,J2: nat] :
( ( ord_less_nat @ I2 @ J2 )
=> ( ( upt @ I2 @ J2 )
= ( cons_nat @ I2 @ ( upt @ ( suc @ I2 ) @ J2 ) ) ) ) ).
% upt_conv_Cons
thf(fact_1248_upt__rec,axiom,
( upt
= ( ^ [I: nat,J: nat] : ( if_list_nat @ ( ord_less_nat @ I @ J ) @ ( cons_nat @ I @ ( upt @ ( suc @ I ) @ J ) ) @ nil_nat ) ) ) ).
% upt_rec
thf(fact_1249_upt__Suc,axiom,
! [I2: nat,J2: nat] :
( ( ( ord_less_eq_nat @ I2 @ J2 )
=> ( ( upt @ I2 @ ( suc @ J2 ) )
= ( append_nat @ ( upt @ I2 @ J2 ) @ ( cons_nat @ J2 @ nil_nat ) ) ) )
& ( ~ ( ord_less_eq_nat @ I2 @ J2 )
=> ( ( upt @ I2 @ ( suc @ J2 ) )
= nil_nat ) ) ) ).
% upt_Suc
thf(fact_1250_upt__Suc__append,axiom,
! [I2: nat,J2: nat] :
( ( ord_less_eq_nat @ I2 @ J2 )
=> ( ( upt @ I2 @ ( suc @ J2 ) )
= ( append_nat @ ( upt @ I2 @ J2 ) @ ( cons_nat @ J2 @ nil_nat ) ) ) ) ).
% upt_Suc_append
thf(fact_1251_upt__0,axiom,
! [I2: nat] :
( ( upt @ I2 @ zero_zero_nat )
= nil_nat ) ).
% upt_0
thf(fact_1252_upt__conv__Cons__Cons,axiom,
! [M: nat,N: nat,Ns: list_nat,Q2: nat] :
( ( ( cons_nat @ M @ ( cons_nat @ N @ Ns ) )
= ( upt @ M @ Q2 ) )
= ( ( cons_nat @ N @ Ns )
= ( upt @ ( suc @ M ) @ Q2 ) ) ) ).
% upt_conv_Cons_Cons
thf(fact_1253_sorted__wrt__upt,axiom,
! [M: nat,N: nat] : ( sorted_wrt_nat @ ord_less_nat @ ( upt @ M @ N ) ) ).
% sorted_wrt_upt
thf(fact_1254_sorted__upt,axiom,
! [M: nat,N: nat] : ( sorted_wrt_nat @ ord_less_eq_nat @ ( upt @ M @ N ) ) ).
% sorted_upt
thf(fact_1255_map__decr__upt,axiom,
! [M: nat,N: nat] :
( ( map_nat_nat
@ ^ [N2: nat] : ( minus_minus_nat @ N2 @ ( suc @ zero_zero_nat ) )
@ ( upt @ ( suc @ M ) @ ( suc @ N ) ) )
= ( upt @ M @ N ) ) ).
% map_decr_upt
thf(fact_1256_last__upt,axiom,
! [I2: nat,J2: nat] :
( ( ord_less_nat @ I2 @ J2 )
=> ( ( last_nat @ ( upt @ I2 @ J2 ) )
= ( minus_minus_nat @ J2 @ one_one_nat ) ) ) ).
% last_upt
thf(fact_1257_substt_Osimps_I1_J,axiom,
! [K2: nat,I2: nat,S2: tm] :
( ( ( ord_less_nat @ K2 @ I2 )
=> ( ( substt @ ( var @ I2 ) @ S2 @ K2 )
= ( var @ ( minus_minus_nat @ I2 @ one_one_nat ) ) ) )
& ( ~ ( ord_less_nat @ K2 @ I2 )
=> ( ( ( I2 = K2 )
=> ( ( substt @ ( var @ I2 ) @ S2 @ K2 )
= S2 ) )
& ( ( I2 != K2 )
=> ( ( substt @ ( var @ I2 ) @ S2 @ K2 )
= ( var @ I2 ) ) ) ) ) ) ).
% substt.simps(1)
thf(fact_1258_sub__term_Osimps_I1_J,axiom,
! [N: nat,V: nat,S2: tm] :
( ( ( ord_less_nat @ N @ V )
=> ( ( sub_term @ V @ S2 @ ( var @ N ) )
= ( var @ N ) ) )
& ( ~ ( ord_less_nat @ N @ V )
=> ( ( ( N = V )
=> ( ( sub_term @ V @ S2 @ ( var @ N ) )
= S2 ) )
& ( ( N != V )
=> ( ( sub_term @ V @ S2 @ ( var @ N ) )
= ( var @ ( minus_minus_nat @ N @ one_one_nat ) ) ) ) ) ) ) ).
% sub_term.simps(1)
thf(fact_1259_upt__rec__numeral,axiom,
! [M: num,N: num] :
( ( ( ord_less_nat @ ( numeral_numeral_nat @ M ) @ ( numeral_numeral_nat @ N ) )
=> ( ( upt @ ( numeral_numeral_nat @ M ) @ ( numeral_numeral_nat @ N ) )
= ( cons_nat @ ( numeral_numeral_nat @ M ) @ ( upt @ ( suc @ ( numeral_numeral_nat @ M ) ) @ ( numeral_numeral_nat @ N ) ) ) ) )
& ( ~ ( ord_less_nat @ ( numeral_numeral_nat @ M ) @ ( numeral_numeral_nat @ N ) )
=> ( ( upt @ ( numeral_numeral_nat @ M ) @ ( numeral_numeral_nat @ N ) )
= nil_nat ) ) ) ).
% upt_rec_numeral
thf(fact_1260_sort__upt,axiom,
! [M: nat,N: nat] :
( ( linord738340561235409698at_nat
@ ^ [X2: nat] : X2
@ ( upt @ M @ N ) )
= ( upt @ M @ N ) ) ).
% sort_upt
thf(fact_1261_drop__upt,axiom,
! [M: nat,I2: nat,J2: nat] :
( ( drop_nat @ M @ ( upt @ I2 @ J2 ) )
= ( upt @ ( plus_plus_nat @ I2 @ M ) @ J2 ) ) ).
% drop_upt
thf(fact_1262_take__upt,axiom,
! [I2: nat,M: nat,N: nat] :
( ( ord_less_eq_nat @ ( plus_plus_nat @ I2 @ M ) @ N )
=> ( ( take_nat @ M @ ( upt @ I2 @ N ) )
= ( upt @ I2 @ ( plus_plus_nat @ I2 @ M ) ) ) ) ).
% take_upt
thf(fact_1263_nth__upt,axiom,
! [I2: nat,K2: nat,J2: nat] :
( ( ord_less_nat @ ( plus_plus_nat @ I2 @ K2 ) @ J2 )
=> ( ( nth_nat @ ( upt @ I2 @ J2 ) @ K2 )
= ( plus_plus_nat @ I2 @ K2 ) ) ) ).
% nth_upt
thf(fact_1264_upt__add__eq__append,axiom,
! [I2: nat,J2: nat,K2: nat] :
( ( ord_less_eq_nat @ I2 @ J2 )
=> ( ( upt @ I2 @ ( plus_plus_nat @ J2 @ K2 ) )
= ( append_nat @ ( upt @ I2 @ J2 ) @ ( upt @ J2 @ ( plus_plus_nat @ J2 @ K2 ) ) ) ) ) ).
% upt_add_eq_append
thf(fact_1265_inc__term_Osimps_I1_J,axiom,
! [N: nat] :
( ( inc_term @ ( var @ N ) )
= ( var @ ( plus_plus_nat @ N @ one_one_nat ) ) ) ).
% inc_term.simps(1)
thf(fact_1266_map__add__upt,axiom,
! [N: nat,M: nat] :
( ( map_nat_nat
@ ^ [I: nat] : ( plus_plus_nat @ I @ N )
@ ( upt @ zero_zero_nat @ M ) )
= ( upt @ N @ ( plus_plus_nat @ M @ N ) ) ) ).
% map_add_upt
thf(fact_1267_upt__eq__Cons__conv,axiom,
! [I2: nat,J2: nat,X: nat,Xs: list_nat] :
( ( ( upt @ I2 @ J2 )
= ( cons_nat @ X @ Xs ) )
= ( ( ord_less_nat @ I2 @ J2 )
& ( I2 = X )
& ( ( upt @ ( plus_plus_nat @ I2 @ one_one_nat ) @ J2 )
= Xs ) ) ) ).
% upt_eq_Cons_conv
thf(fact_1268_tm_Osize_I3_J,axiom,
! [X11: nat,X12: list_tm] :
( ( size_size_tm @ ( fun @ X11 @ X12 ) )
= ( plus_plus_nat @ ( size_list_tm @ size_size_tm @ X12 ) @ ( suc @ zero_zero_nat ) ) ) ).
% tm.size(3)
thf(fact_1269_tm_Osize__gen_I1_J,axiom,
! [X11: nat,X12: list_tm] :
( ( size_tm @ ( fun @ X11 @ X12 ) )
= ( plus_plus_nat @ ( size_list_tm @ size_tm @ X12 ) @ ( suc @ zero_zero_nat ) ) ) ).
% tm.size_gen(1)
thf(fact_1270_distinct__upt,axiom,
! [I2: nat,J2: nat] : ( distinct_nat @ ( upt @ I2 @ J2 ) ) ).
% distinct_upt
thf(fact_1271_inj__on__diff__nat,axiom,
! [N4: set_nat,K2: nat] :
( ! [N3: nat] :
( ( member_nat2 @ N3 @ N4 )
=> ( ord_less_eq_nat @ K2 @ N3 ) )
=> ( inj_on_nat_nat
@ ^ [N2: nat] : ( minus_minus_nat @ N2 @ K2 )
@ N4 ) ) ).
% inj_on_diff_nat
thf(fact_1272_paramst_Osimps_I1_J,axiom,
! [N: nat] :
( ( paramst @ ( var @ N ) )
= bot_bot_set_nat ) ).
% paramst.simps(1)
thf(fact_1273_paramsts_Osimps_I1_J,axiom,
( ( paramsts @ nil_tm )
= bot_bot_set_nat ) ).
% paramsts.simps(1)
thf(fact_1274_paramst_H_Osimps_I1_J,axiom,
! [N: nat] :
( ( paramst2 @ ( var @ N ) )
= bot_bot_set_nat ) ).
% paramst'.simps(1)
thf(fact_1275_paramst_H_H_Osimps_I1_J,axiom,
! [N: nat] :
( ( paramst3 @ ( var @ N ) )
= bot_bot_set_nat ) ).
% paramst''.simps(1)
% Helper facts (17)
thf(help_If_2_1_If_001t__Nat__Onat_T,axiom,
! [X: nat,Y: nat] :
( ( if_nat @ $false @ X @ Y )
= Y ) ).
thf(help_If_1_1_If_001t__Nat__Onat_T,axiom,
! [X: nat,Y: nat] :
( ( if_nat @ $true @ X @ Y )
= X ) ).
thf(help_If_2_1_If_001t__SeCaV__Ofm_T,axiom,
! [X: fm,Y: fm] :
( ( if_fm @ $false @ X @ Y )
= Y ) ).
thf(help_If_1_1_If_001t__SeCaV__Ofm_T,axiom,
! [X: fm,Y: fm] :
( ( if_fm @ $true @ X @ Y )
= X ) ).
thf(help_If_2_1_If_001t__SeCaV__Otm_T,axiom,
! [X: tm,Y: tm] :
( ( if_tm @ $false @ X @ Y )
= Y ) ).
thf(help_If_1_1_If_001t__SeCaV__Otm_T,axiom,
! [X: tm,Y: tm] :
( ( if_tm @ $true @ X @ Y )
= X ) ).
thf(help_If_2_1_If_001t__List__Olist_Itf__a_J_T,axiom,
! [X: list_a,Y: list_a] :
( ( if_list_a @ $false @ X @ Y )
= Y ) ).
thf(help_If_1_1_If_001t__List__Olist_Itf__a_J_T,axiom,
! [X: list_a,Y: list_a] :
( ( if_list_a @ $true @ X @ Y )
= X ) ).
thf(help_If_2_1_If_001t__List__Olist_It__Nat__Onat_J_T,axiom,
! [X: list_nat,Y: list_nat] :
( ( if_list_nat @ $false @ X @ Y )
= Y ) ).
thf(help_If_1_1_If_001t__List__Olist_It__Nat__Onat_J_T,axiom,
! [X: list_nat,Y: list_nat] :
( ( if_list_nat @ $true @ X @ Y )
= X ) ).
thf(help_If_2_1_If_001t__List__Olist_It__SeCaV__Ofm_J_T,axiom,
! [X: list_fm,Y: list_fm] :
( ( if_list_fm @ $false @ X @ Y )
= Y ) ).
thf(help_If_1_1_If_001t__List__Olist_It__SeCaV__Ofm_J_T,axiom,
! [X: list_fm,Y: list_fm] :
( ( if_list_fm @ $true @ X @ Y )
= X ) ).
thf(help_If_2_1_If_001t__List__Olist_It__SeCaV__Otm_J_T,axiom,
! [X: list_tm,Y: list_tm] :
( ( if_list_tm @ $false @ X @ Y )
= Y ) ).
thf(help_If_1_1_If_001t__List__Olist_It__SeCaV__Otm_J_T,axiom,
! [X: list_tm,Y: list_tm] :
( ( if_list_tm @ $true @ X @ Y )
= X ) ).
thf(help_If_3_1_If_001_062_It__List__Olist_Itf__a_J_Mtf__a_J_T,axiom,
! [P: $o] :
( ( P = $true )
| ( P = $false ) ) ).
thf(help_If_2_1_If_001_062_It__List__Olist_Itf__a_J_Mtf__a_J_T,axiom,
! [X: list_a > a,Y: list_a > a] :
( ( if_list_a_a @ $false @ X @ Y )
= Y ) ).
thf(help_If_1_1_If_001_062_It__List__Olist_Itf__a_J_Mtf__a_J_T,axiom,
! [X: list_a > a,Y: list_a > a] :
( ( if_list_a_a @ $true @ X @ Y )
= X ) ).
% Conjectures (3)
thf(conj_0,hypothesis,
! [I4: nat,L3: list_a] :
( ( list_all_a
@ ^ [X2: a] : ( member_a2 @ X2 @ u )
@ L3 )
=> ( member_a2 @ ( f @ I4 @ L3 ) @ u ) ) ).
thf(conj_1,hypothesis,
member_a2 @ x @ u ).
thf(conj_2,conjecture,
! [I5: nat,L4: list_a] :
( ~ ( list_all_a
@ ^ [X2: a] : ( member_a2 @ X2 @ u )
@ L4 )
| ( member_a2
@ ( fun_upd_nat_list_a_a @ f @ i
@ ^ [Uu: list_a] : x
@ I5
@ L4 )
@ u ) ) ).
%------------------------------------------------------------------------------