TPTP Problem File: ITP058^1.p
View Solutions
- Solve Problem
%------------------------------------------------------------------------------
% File : ITP058^1 : TPTP v9.0.0. Released v7.5.0.
% Domain : Interactive Theorem Proving
% Problem : Sledgehammer FLPTheorem problem prob_419__3294834_1
% Version : Especial.
% English :
% Refs : [BH+15] Blanchette et al. (2015), Mining the Archive of Formal
% : [Des21] Desharnais (2021), Email to Geoff Sutcliffe
% Source : [Des21]
% Names : FLPTheorem/prob_419__3294834_1 [Des21]
% Status : Theorem
% Rating : 0.12 v9.0.0, 0.20 v8.2.0, 0.23 v8.1.0, 0.27 v7.5.0
% Syntax : Number of formulae : 419 ( 161 unt; 77 typ; 0 def)
% Number of atoms : 746 ( 494 equ; 0 cnn)
% Maximal formula atoms : 11 ( 2 avg)
% Number of connectives : 3919 ( 250 ~; 23 |; 75 &;2899 @)
% ( 0 <=>; 672 =>; 0 <=; 0 <~>)
% Maximal formula depth : 23 ( 8 avg)
% Number of types : 14 ( 13 usr)
% Number of type conns : 722 ( 722 >; 0 *; 0 +; 0 <<)
% Number of symbols : 65 ( 64 usr; 8 con; 0-4 aty)
% Number of variables : 1489 ( 22 ^;1374 !; 93 ?;1489 :)
% SPC : TH0_THM_EQU_NAR
% Comments : This file was generated by Sledgehammer 2021-02-23 15:30:48.868
%------------------------------------------------------------------------------
% Could-be-implicit typings (13)
thf(ty_n_t__List__Olist_It__List__Olist_It__AsynchronousSystem__Oconfiguration__Oconfiguration____ext_Itf__p_Mtf__v_Mtf__s_Mt__Product____Type__Ounit_J_J_J,type,
list_l611321411t_unit: $tType ).
thf(ty_n_t__List__Olist_It__AsynchronousSystem__Oconfiguration__Oconfiguration____ext_Itf__p_Mtf__v_Mtf__s_Mt__Product____Type__Ounit_J_J,type,
list_c1059388851t_unit: $tType ).
thf(ty_n_t__AsynchronousSystem__Oconfiguration__Oconfiguration____ext_Itf__p_Mtf__v_Mtf__s_Mt__Product____Type__Ounit_J,type,
config256849571t_unit: $tType ).
thf(ty_n_t__List__Olist_It__List__Olist_It__AsynchronousSystem__Omessage_Itf__p_Mtf__v_J_J_J,type,
list_l1619404459ge_p_v: $tType ).
thf(ty_n_t__List__Olist_It__AsynchronousSystem__Omessage_Itf__p_Mtf__v_J_J,type,
list_message_p_v: $tType ).
thf(ty_n_t__List__Olist_It__List__Olist_It__Nat__Onat_J_J,type,
list_list_nat: $tType ).
thf(ty_n_t__AsynchronousSystem__Omessage_Itf__p_Mtf__v_J,type,
message_p_v: $tType ).
thf(ty_n_t__AsynchronousSystem__OmessageValue_Itf__v_J,type,
messageValue_v: $tType ).
thf(ty_n_t__List__Olist_It__Nat__Onat_J,type,
list_nat: $tType ).
thf(ty_n_t__Set__Oset_It__Nat__Onat_J,type,
set_nat: $tType ).
thf(ty_n_t__Nat__Onat,type,
nat: $tType ).
thf(ty_n_tf__s,type,
s: $tType ).
thf(ty_n_tf__p,type,
p: $tType ).
% Explicit typings (64)
thf(sy_c_FLPTheorem__Mirabelle__bncobrwgic_OflpPseudoConsensus_001tf__p_001tf__s_001tf__v,type,
fLPThe9398366_p_s_v: ( p > s > messageValue_v > s ) > ( p > s > messageValue_v > message_p_v > nat ) > ( p > s ) > $o ).
thf(sy_c_FLPTheorem__Mirabelle__bncobrwgic_OflpPseudoConsensus_OinfiniteExecutionCfg_001tf__p_001tf__v_001tf__s,type,
fLPThe1519354920_p_v_s: config256849571t_unit > ( list_c1059388851t_unit > list_message_p_v > list_c1059388851t_unit ) > ( list_c1059388851t_unit > list_message_p_v > list_message_p_v ) > nat > list_c1059388851t_unit ).
thf(sy_c_FLPTheorem__Mirabelle__bncobrwgic_OflpPseudoConsensus_OinfiniteExecutionMsg_001tf__p_001tf__v_001tf__s,type,
fLPThe536531371_p_v_s: config256849571t_unit > ( list_c1059388851t_unit > list_message_p_v > list_c1059388851t_unit ) > ( list_c1059388851t_unit > list_message_p_v > list_message_p_v ) > nat > list_message_p_v ).
thf(sy_c_Groups_Ominus__class_Ominus_001t__Nat__Onat,type,
minus_minus_nat: nat > nat > nat ).
thf(sy_c_Groups_Ozero__class_Ozero_001t__Nat__Onat,type,
zero_zero_nat: nat ).
thf(sy_c_List_Obind_001t__AsynchronousSystem__Oconfiguration__Oconfiguration____ext_Itf__p_Mtf__v_Mtf__s_Mt__Product____Type__Ounit_J_001t__AsynchronousSystem__Oconfiguration__Oconfiguration____ext_Itf__p_Mtf__v_Mtf__s_Mt__Product____Type__Ounit_J,type,
bind_c1439720399t_unit: list_c1059388851t_unit > ( config256849571t_unit > list_c1059388851t_unit ) > list_c1059388851t_unit ).
thf(sy_c_List_Obind_001t__AsynchronousSystem__Oconfiguration__Oconfiguration____ext_Itf__p_Mtf__v_Mtf__s_Mt__Product____Type__Ounit_J_001t__AsynchronousSystem__Omessage_Itf__p_Mtf__v_J,type,
bind_c246984691ge_p_v: list_c1059388851t_unit > ( config256849571t_unit > list_message_p_v ) > list_message_p_v ).
thf(sy_c_List_Obind_001t__AsynchronousSystem__Omessage_Itf__p_Mtf__v_J_001t__AsynchronousSystem__Oconfiguration__Oconfiguration____ext_Itf__p_Mtf__v_Mtf__s_Mt__Product____Type__Ounit_J,type,
bind_m595590011t_unit: list_message_p_v > ( message_p_v > list_c1059388851t_unit ) > list_c1059388851t_unit ).
thf(sy_c_List_Obind_001t__AsynchronousSystem__Omessage_Itf__p_Mtf__v_J_001t__AsynchronousSystem__Omessage_Itf__p_Mtf__v_J,type,
bind_m729301831ge_p_v: list_message_p_v > ( message_p_v > list_message_p_v ) > list_message_p_v ).
thf(sy_c_List_Ocount__list_001t__AsynchronousSystem__Oconfiguration__Oconfiguration____ext_Itf__p_Mtf__v_Mtf__s_Mt__Product____Type__Ounit_J,type,
count_1396868135t_unit: list_c1059388851t_unit > config256849571t_unit > nat ).
thf(sy_c_List_Ocount__list_001t__AsynchronousSystem__Omessage_Itf__p_Mtf__v_J,type,
count_1322329499ge_p_v: list_message_p_v > message_p_v > nat ).
thf(sy_c_List_Ogen__length_001t__AsynchronousSystem__Oconfiguration__Oconfiguration____ext_Itf__p_Mtf__v_Mtf__s_Mt__Product____Type__Ounit_J,type,
gen_le193291088t_unit: nat > list_c1059388851t_unit > nat ).
thf(sy_c_List_Ogen__length_001t__AsynchronousSystem__Omessage_Itf__p_Mtf__v_J,type,
gen_le697204914ge_p_v: nat > list_message_p_v > nat ).
thf(sy_c_List_Oinsert_001t__AsynchronousSystem__Oconfiguration__Oconfiguration____ext_Itf__p_Mtf__v_Mtf__s_Mt__Product____Type__Ounit_J,type,
insert1308755079t_unit: config256849571t_unit > list_c1059388851t_unit > list_c1059388851t_unit ).
thf(sy_c_List_Oinsert_001t__AsynchronousSystem__Omessage_Itf__p_Mtf__v_J,type,
insert_message_p_v: message_p_v > list_message_p_v > list_message_p_v ).
thf(sy_c_List_Olist_OCons_001t__AsynchronousSystem__Oconfiguration__Oconfiguration____ext_Itf__p_Mtf__v_Mtf__s_Mt__Product____Type__Ounit_J,type,
cons_c1162654829t_unit: config256849571t_unit > list_c1059388851t_unit > list_c1059388851t_unit ).
thf(sy_c_List_Olist_OCons_001t__AsynchronousSystem__Omessage_Itf__p_Mtf__v_J,type,
cons_message_p_v: message_p_v > list_message_p_v > list_message_p_v ).
thf(sy_c_List_Olist_OCons_001t__List__Olist_It__AsynchronousSystem__Oconfiguration__Oconfiguration____ext_Itf__p_Mtf__v_Mtf__s_Mt__Product____Type__Ounit_J_J,type,
cons_l1083444861t_unit: list_c1059388851t_unit > list_l611321411t_unit > list_l611321411t_unit ).
thf(sy_c_List_Olist_OCons_001t__List__Olist_It__AsynchronousSystem__Omessage_Itf__p_Mtf__v_J_J,type,
cons_l233104475ge_p_v: list_message_p_v > list_l1619404459ge_p_v > list_l1619404459ge_p_v ).
thf(sy_c_List_Olist_OCons_001t__List__Olist_It__Nat__Onat_J,type,
cons_list_nat: list_nat > list_list_nat > list_list_nat ).
thf(sy_c_List_Olist_OCons_001t__Nat__Onat,type,
cons_nat: nat > list_nat > list_nat ).
thf(sy_c_List_Olist_ONil_001t__AsynchronousSystem__Oconfiguration__Oconfiguration____ext_Itf__p_Mtf__v_Mtf__s_Mt__Product____Type__Ounit_J,type,
nil_co1338500125t_unit: list_c1059388851t_unit ).
thf(sy_c_List_Olist_ONil_001t__AsynchronousSystem__Omessage_Itf__p_Mtf__v_J,type,
nil_message_p_v: list_message_p_v ).
thf(sy_c_List_Olist_ONil_001t__List__Olist_It__AsynchronousSystem__Oconfiguration__Oconfiguration____ext_Itf__p_Mtf__v_Mtf__s_Mt__Product____Type__Ounit_J_J,type,
nil_li307996205t_unit: list_l611321411t_unit ).
thf(sy_c_List_Olist_ONil_001t__List__Olist_It__AsynchronousSystem__Omessage_Itf__p_Mtf__v_J_J,type,
nil_list_message_p_v: list_l1619404459ge_p_v ).
thf(sy_c_List_Olist_ONil_001t__List__Olist_It__Nat__Onat_J,type,
nil_list_nat: list_list_nat ).
thf(sy_c_List_Olist_ONil_001t__Nat__Onat,type,
nil_nat: list_nat ).
thf(sy_c_List_Olist__ex1_001t__AsynchronousSystem__Oconfiguration__Oconfiguration____ext_Itf__p_Mtf__v_Mtf__s_Mt__Product____Type__Ounit_J,type,
list_e1598815642t_unit: ( config256849571t_unit > $o ) > list_c1059388851t_unit > $o ).
thf(sy_c_List_Olist__ex1_001t__AsynchronousSystem__Omessage_Itf__p_Mtf__v_J,type,
list_ex1_message_p_v: ( message_p_v > $o ) > list_message_p_v > $o ).
thf(sy_c_List_Olistrelp_001t__AsynchronousSystem__Oconfiguration__Oconfiguration____ext_Itf__p_Mtf__v_Mtf__s_Mt__Product____Type__Ounit_J_001t__AsynchronousSystem__Oconfiguration__Oconfiguration____ext_Itf__p_Mtf__v_Mtf__s_Mt__Product____Type__Ounit_J,type,
listre990624391t_unit: ( config256849571t_unit > config256849571t_unit > $o ) > list_c1059388851t_unit > list_c1059388851t_unit > $o ).
thf(sy_c_List_Olistrelp_001t__AsynchronousSystem__Oconfiguration__Oconfiguration____ext_Itf__p_Mtf__v_Mtf__s_Mt__Product____Type__Ounit_J_001t__AsynchronousSystem__Omessage_Itf__p_Mtf__v_J,type,
listre823101243ge_p_v: ( config256849571t_unit > message_p_v > $o ) > list_c1059388851t_unit > list_message_p_v > $o ).
thf(sy_c_List_Olistrelp_001t__AsynchronousSystem__Omessage_Itf__p_Mtf__v_J_001t__AsynchronousSystem__Oconfiguration__Oconfiguration____ext_Itf__p_Mtf__v_Mtf__s_Mt__Product____Type__Ounit_J,type,
listre1171706563t_unit: ( message_p_v > config256849571t_unit > $o ) > list_message_p_v > list_c1059388851t_unit > $o ).
thf(sy_c_List_Olistrelp_001t__AsynchronousSystem__Omessage_Itf__p_Mtf__v_J_001t__AsynchronousSystem__Omessage_Itf__p_Mtf__v_J,type,
listre1295695359ge_p_v: ( message_p_v > message_p_v > $o ) > list_message_p_v > list_message_p_v > $o ).
thf(sy_c_List_Omap__tailrec__rev_001t__AsynchronousSystem__Oconfiguration__Oconfiguration____ext_Itf__p_Mtf__v_Mtf__s_Mt__Product____Type__Ounit_J_001t__AsynchronousSystem__Oconfiguration__Oconfiguration____ext_Itf__p_Mtf__v_Mtf__s_Mt__Product____Type__Ounit_J,type,
map_ta91747645t_unit: ( config256849571t_unit > config256849571t_unit ) > list_c1059388851t_unit > list_c1059388851t_unit > list_c1059388851t_unit ).
thf(sy_c_List_Omap__tailrec__rev_001t__AsynchronousSystem__Oconfiguration__Oconfiguration____ext_Itf__p_Mtf__v_Mtf__s_Mt__Product____Type__Ounit_J_001t__AsynchronousSystem__Omessage_Itf__p_Mtf__v_J,type,
map_ta782801413ge_p_v: ( config256849571t_unit > message_p_v ) > list_c1059388851t_unit > list_message_p_v > list_message_p_v ).
thf(sy_c_List_Omap__tailrec__rev_001t__AsynchronousSystem__Omessage_Itf__p_Mtf__v_J_001t__AsynchronousSystem__Oconfiguration__Oconfiguration____ext_Itf__p_Mtf__v_Mtf__s_Mt__Product____Type__Ounit_J,type,
map_ta1131406733t_unit: ( message_p_v > config256849571t_unit ) > list_message_p_v > list_c1059388851t_unit > list_c1059388851t_unit ).
thf(sy_c_List_Omap__tailrec__rev_001t__AsynchronousSystem__Omessage_Itf__p_Mtf__v_J_001t__AsynchronousSystem__Omessage_Itf__p_Mtf__v_J,type,
map_ta1016577461ge_p_v: ( message_p_v > message_p_v ) > list_message_p_v > list_message_p_v > list_message_p_v ).
thf(sy_c_List_Omember_001t__AsynchronousSystem__Oconfiguration__Oconfiguration____ext_Itf__p_Mtf__v_Mtf__s_Mt__Product____Type__Ounit_J,type,
member1087090632t_unit: list_c1059388851t_unit > config256849571t_unit > $o ).
thf(sy_c_List_Omember_001t__AsynchronousSystem__Omessage_Itf__p_Mtf__v_J,type,
member_message_p_v: list_message_p_v > message_p_v > $o ).
thf(sy_c_List_On__lists_001t__AsynchronousSystem__Oconfiguration__Oconfiguration____ext_Itf__p_Mtf__v_Mtf__s_Mt__Product____Type__Ounit_J,type,
n_list1987762709t_unit: nat > list_c1059388851t_unit > list_l611321411t_unit ).
thf(sy_c_List_On__lists_001t__AsynchronousSystem__Omessage_Itf__p_Mtf__v_J,type,
n_lists_message_p_v: nat > list_message_p_v > list_l1619404459ge_p_v ).
thf(sy_c_List_Onths_001t__AsynchronousSystem__Oconfiguration__Oconfiguration____ext_Itf__p_Mtf__v_Mtf__s_Mt__Product____Type__Ounit_J,type,
nths_c890550943t_unit: list_c1059388851t_unit > set_nat > list_c1059388851t_unit ).
thf(sy_c_List_Onths_001t__AsynchronousSystem__Omessage_Itf__p_Mtf__v_J,type,
nths_message_p_v: list_message_p_v > set_nat > list_message_p_v ).
thf(sy_c_List_Oord_Olexordp__eq_001t__AsynchronousSystem__Oconfiguration__Oconfiguration____ext_Itf__p_Mtf__v_Mtf__s_Mt__Product____Type__Ounit_J,type,
lexord1758866263t_unit: ( config256849571t_unit > config256849571t_unit > $o ) > list_c1059388851t_unit > list_c1059388851t_unit > $o ).
thf(sy_c_List_Oord_Olexordp__eq_001t__AsynchronousSystem__Omessage_Itf__p_Mtf__v_J,type,
lexord2101627499ge_p_v: ( message_p_v > message_p_v > $o ) > list_message_p_v > list_message_p_v > $o ).
thf(sy_c_List_Oord__class_Olexordp_001t__Nat__Onat,type,
ord_lexordp_nat: list_nat > list_nat > $o ).
thf(sy_c_List_Oord__class_Olexordp__eq_001t__Nat__Onat,type,
ord_lexordp_eq_nat: list_nat > list_nat > $o ).
thf(sy_c_List_Oproduct__lists_001t__AsynchronousSystem__Oconfiguration__Oconfiguration____ext_Itf__p_Mtf__v_Mtf__s_Mt__Product____Type__Ounit_J,type,
produc663212148t_unit: list_l611321411t_unit > list_l611321411t_unit ).
thf(sy_c_List_Oproduct__lists_001t__AsynchronousSystem__Omessage_Itf__p_Mtf__v_J,type,
produc1505827982ge_p_v: list_l1619404459ge_p_v > list_l1619404459ge_p_v ).
thf(sy_c_List_Osplice_001t__AsynchronousSystem__Oconfiguration__Oconfiguration____ext_Itf__p_Mtf__v_Mtf__s_Mt__Product____Type__Ounit_J,type,
splice888123018t_unit: list_c1059388851t_unit > list_c1059388851t_unit > list_c1059388851t_unit ).
thf(sy_c_List_Osplice_001t__AsynchronousSystem__Omessage_Itf__p_Mtf__v_J,type,
splice_message_p_v: list_message_p_v > list_message_p_v > list_message_p_v ).
thf(sy_c_List_Osubseqs_001t__AsynchronousSystem__Oconfiguration__Oconfiguration____ext_Itf__p_Mtf__v_Mtf__s_Mt__Product____Type__Ounit_J,type,
subseq1144048270t_unit: list_c1059388851t_unit > list_l611321411t_unit ).
thf(sy_c_List_Osubseqs_001t__AsynchronousSystem__Omessage_Itf__p_Mtf__v_J,type,
subseqs_message_p_v: list_message_p_v > list_l1619404459ge_p_v ).
thf(sy_c_Nat_OSuc,type,
suc: nat > nat ).
thf(sy_c_Nat_Osemiring__1__class_Oof__nat_001t__Nat__Onat,type,
semiri1382578993at_nat: nat > nat ).
thf(sy_c_Nat_Osize__class_Osize_001t__List__Olist_It__AsynchronousSystem__Oconfiguration__Oconfiguration____ext_Itf__p_Mtf__v_Mtf__s_Mt__Product____Type__Ounit_J_J,type,
size_s1406904903t_unit: list_c1059388851t_unit > nat ).
thf(sy_c_Nat_Osize__class_Osize_001t__List__Olist_It__AsynchronousSystem__Omessage_Itf__p_Mtf__v_J_J,type,
size_s1168481041ge_p_v: list_message_p_v > nat ).
thf(sy_c_Orderings_Oord__class_Oless_001t__Nat__Onat,type,
ord_less_nat: nat > nat > $o ).
thf(sy_c_member_001t__Nat__Onat,type,
member_nat: nat > set_nat > $o ).
thf(sy_v_cfg,type,
cfg: config256849571t_unit ).
thf(sy_v_fStepCfg____,type,
fStepCfg: list_c1059388851t_unit > list_message_p_v > list_c1059388851t_unit ).
thf(sy_v_fStepMsg____,type,
fStepMsg: list_c1059388851t_unit > list_message_p_v > list_message_p_v ).
thf(sy_v_fe____,type,
fe: nat > list_c1059388851t_unit ).
thf(sy_v_ft____,type,
ft: nat > list_message_p_v ).
% Relevant facts (341)
thf(fact_0_ft__def,axiom,
( ft
= ( fLPThe536531371_p_v_s @ cfg @ fStepCfg @ fStepMsg ) ) ).
% ft_def
thf(fact_1_fe__def,axiom,
( fe
= ( fLPThe1519354920_p_v_s @ cfg @ fStepCfg @ fStepMsg ) ) ).
% fe_def
thf(fact_2_infiniteExecutionCfg_Osimps_I1_J,axiom,
! [Cfg: config256849571t_unit,FStepCfg: list_c1059388851t_unit > list_message_p_v > list_c1059388851t_unit,FStepMsg: list_c1059388851t_unit > list_message_p_v > list_message_p_v] :
( ( fLPThe1519354920_p_v_s @ Cfg @ FStepCfg @ FStepMsg @ zero_zero_nat )
= ( cons_c1162654829t_unit @ Cfg @ nil_co1338500125t_unit ) ) ).
% infiniteExecutionCfg.simps(1)
thf(fact_3_list_Oinject,axiom,
! [X21: list_message_p_v,X22: list_l1619404459ge_p_v,Y21: list_message_p_v,Y22: list_l1619404459ge_p_v] :
( ( ( cons_l233104475ge_p_v @ X21 @ X22 )
= ( cons_l233104475ge_p_v @ Y21 @ Y22 ) )
= ( ( X21 = Y21 )
& ( X22 = Y22 ) ) ) ).
% list.inject
thf(fact_4_list_Oinject,axiom,
! [X21: list_c1059388851t_unit,X22: list_l611321411t_unit,Y21: list_c1059388851t_unit,Y22: list_l611321411t_unit] :
( ( ( cons_l1083444861t_unit @ X21 @ X22 )
= ( cons_l1083444861t_unit @ Y21 @ Y22 ) )
= ( ( X21 = Y21 )
& ( X22 = Y22 ) ) ) ).
% list.inject
thf(fact_5_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_6_list_Oinject,axiom,
! [X21: message_p_v,X22: list_message_p_v,Y21: message_p_v,Y22: list_message_p_v] :
( ( ( cons_message_p_v @ X21 @ X22 )
= ( cons_message_p_v @ Y21 @ Y22 ) )
= ( ( X21 = Y21 )
& ( X22 = Y22 ) ) ) ).
% list.inject
thf(fact_7_list_Oinject,axiom,
! [X21: config256849571t_unit,X22: list_c1059388851t_unit,Y21: config256849571t_unit,Y22: list_c1059388851t_unit] :
( ( ( cons_c1162654829t_unit @ X21 @ X22 )
= ( cons_c1162654829t_unit @ Y21 @ Y22 ) )
= ( ( X21 = Y21 )
& ( X22 = Y22 ) ) ) ).
% list.inject
thf(fact_8_list_Odistinct_I1_J,axiom,
! [X21: list_message_p_v,X22: list_l1619404459ge_p_v] :
( nil_list_message_p_v
!= ( cons_l233104475ge_p_v @ X21 @ X22 ) ) ).
% list.distinct(1)
thf(fact_9_list_Odistinct_I1_J,axiom,
! [X21: list_c1059388851t_unit,X22: list_l611321411t_unit] :
( nil_li307996205t_unit
!= ( cons_l1083444861t_unit @ X21 @ X22 ) ) ).
% list.distinct(1)
thf(fact_10_list_Odistinct_I1_J,axiom,
! [X21: nat,X22: list_nat] :
( nil_nat
!= ( cons_nat @ X21 @ X22 ) ) ).
% list.distinct(1)
thf(fact_11_list_Odistinct_I1_J,axiom,
! [X21: message_p_v,X22: list_message_p_v] :
( nil_message_p_v
!= ( cons_message_p_v @ X21 @ X22 ) ) ).
% list.distinct(1)
thf(fact_12_list_Odistinct_I1_J,axiom,
! [X21: config256849571t_unit,X22: list_c1059388851t_unit] :
( nil_co1338500125t_unit
!= ( cons_c1162654829t_unit @ X21 @ X22 ) ) ).
% list.distinct(1)
thf(fact_13_list_OdiscI,axiom,
! [List: list_l1619404459ge_p_v,X21: list_message_p_v,X22: list_l1619404459ge_p_v] :
( ( List
= ( cons_l233104475ge_p_v @ X21 @ X22 ) )
=> ( List != nil_list_message_p_v ) ) ).
% list.discI
thf(fact_14_list_OdiscI,axiom,
! [List: list_l611321411t_unit,X21: list_c1059388851t_unit,X22: list_l611321411t_unit] :
( ( List
= ( cons_l1083444861t_unit @ X21 @ X22 ) )
=> ( List != nil_li307996205t_unit ) ) ).
% list.discI
thf(fact_15_list_OdiscI,axiom,
! [List: list_nat,X21: nat,X22: list_nat] :
( ( List
= ( cons_nat @ X21 @ X22 ) )
=> ( List != nil_nat ) ) ).
% list.discI
thf(fact_16_list_OdiscI,axiom,
! [List: list_message_p_v,X21: message_p_v,X22: list_message_p_v] :
( ( List
= ( cons_message_p_v @ X21 @ X22 ) )
=> ( List != nil_message_p_v ) ) ).
% list.discI
thf(fact_17_list_OdiscI,axiom,
! [List: list_c1059388851t_unit,X21: config256849571t_unit,X22: list_c1059388851t_unit] :
( ( List
= ( cons_c1162654829t_unit @ X21 @ X22 ) )
=> ( List != nil_co1338500125t_unit ) ) ).
% list.discI
thf(fact_18_list_Oexhaust,axiom,
! [Y: list_l1619404459ge_p_v] :
( ( Y != nil_list_message_p_v )
=> ~ ! [X212: list_message_p_v,X222: list_l1619404459ge_p_v] :
( Y
!= ( cons_l233104475ge_p_v @ X212 @ X222 ) ) ) ).
% list.exhaust
thf(fact_19_list_Oexhaust,axiom,
! [Y: list_l611321411t_unit] :
( ( Y != nil_li307996205t_unit )
=> ~ ! [X212: list_c1059388851t_unit,X222: list_l611321411t_unit] :
( Y
!= ( cons_l1083444861t_unit @ X212 @ X222 ) ) ) ).
% list.exhaust
thf(fact_20_list_Oexhaust,axiom,
! [Y: list_nat] :
( ( Y != nil_nat )
=> ~ ! [X212: nat,X222: list_nat] :
( Y
!= ( cons_nat @ X212 @ X222 ) ) ) ).
% list.exhaust
thf(fact_21_list_Oexhaust,axiom,
! [Y: list_message_p_v] :
( ( Y != nil_message_p_v )
=> ~ ! [X212: message_p_v,X222: list_message_p_v] :
( Y
!= ( cons_message_p_v @ X212 @ X222 ) ) ) ).
% list.exhaust
thf(fact_22_list_Oexhaust,axiom,
! [Y: list_c1059388851t_unit] :
( ( Y != nil_co1338500125t_unit )
=> ~ ! [X212: config256849571t_unit,X222: list_c1059388851t_unit] :
( Y
!= ( cons_c1162654829t_unit @ X212 @ X222 ) ) ) ).
% list.exhaust
thf(fact_23_list_Oinducts,axiom,
! [P: list_l1619404459ge_p_v > $o,List: list_l1619404459ge_p_v] :
( ( P @ nil_list_message_p_v )
=> ( ! [X1: list_message_p_v,X2: list_l1619404459ge_p_v] :
( ( P @ X2 )
=> ( P @ ( cons_l233104475ge_p_v @ X1 @ X2 ) ) )
=> ( P @ List ) ) ) ).
% list.inducts
thf(fact_24_list_Oinducts,axiom,
! [P: list_l611321411t_unit > $o,List: list_l611321411t_unit] :
( ( P @ nil_li307996205t_unit )
=> ( ! [X1: list_c1059388851t_unit,X2: list_l611321411t_unit] :
( ( P @ X2 )
=> ( P @ ( cons_l1083444861t_unit @ X1 @ X2 ) ) )
=> ( P @ List ) ) ) ).
% list.inducts
thf(fact_25_list_Oinducts,axiom,
! [P: list_nat > $o,List: list_nat] :
( ( P @ nil_nat )
=> ( ! [X1: nat,X2: list_nat] :
( ( P @ X2 )
=> ( P @ ( cons_nat @ X1 @ X2 ) ) )
=> ( P @ List ) ) ) ).
% list.inducts
thf(fact_26_list_Oinducts,axiom,
! [P: list_message_p_v > $o,List: list_message_p_v] :
( ( P @ nil_message_p_v )
=> ( ! [X1: message_p_v,X2: list_message_p_v] :
( ( P @ X2 )
=> ( P @ ( cons_message_p_v @ X1 @ X2 ) ) )
=> ( P @ List ) ) ) ).
% list.inducts
thf(fact_27_list_Oinducts,axiom,
! [P: list_c1059388851t_unit > $o,List: list_c1059388851t_unit] :
( ( P @ nil_co1338500125t_unit )
=> ( ! [X1: config256849571t_unit,X2: list_c1059388851t_unit] :
( ( P @ X2 )
=> ( P @ ( cons_c1162654829t_unit @ X1 @ X2 ) ) )
=> ( P @ List ) ) ) ).
% list.inducts
thf(fact_28_neq__Nil__conv,axiom,
! [Xs: list_l1619404459ge_p_v] :
( ( Xs != nil_list_message_p_v )
= ( ? [Y2: list_message_p_v,Ys: list_l1619404459ge_p_v] :
( Xs
= ( cons_l233104475ge_p_v @ Y2 @ Ys ) ) ) ) ).
% neq_Nil_conv
thf(fact_29_neq__Nil__conv,axiom,
! [Xs: list_l611321411t_unit] :
( ( Xs != nil_li307996205t_unit )
= ( ? [Y2: list_c1059388851t_unit,Ys: list_l611321411t_unit] :
( Xs
= ( cons_l1083444861t_unit @ Y2 @ Ys ) ) ) ) ).
% neq_Nil_conv
thf(fact_30_neq__Nil__conv,axiom,
! [Xs: list_nat] :
( ( Xs != nil_nat )
= ( ? [Y2: nat,Ys: list_nat] :
( Xs
= ( cons_nat @ Y2 @ Ys ) ) ) ) ).
% neq_Nil_conv
thf(fact_31_neq__Nil__conv,axiom,
! [Xs: list_message_p_v] :
( ( Xs != nil_message_p_v )
= ( ? [Y2: message_p_v,Ys: list_message_p_v] :
( Xs
= ( cons_message_p_v @ Y2 @ Ys ) ) ) ) ).
% neq_Nil_conv
thf(fact_32_neq__Nil__conv,axiom,
! [Xs: list_c1059388851t_unit] :
( ( Xs != nil_co1338500125t_unit )
= ( ? [Y2: config256849571t_unit,Ys: list_c1059388851t_unit] :
( Xs
= ( cons_c1162654829t_unit @ Y2 @ Ys ) ) ) ) ).
% neq_Nil_conv
thf(fact_33_list__induct2_H,axiom,
! [P: list_message_p_v > list_message_p_v > $o,Xs: list_message_p_v,Ys2: list_message_p_v] :
( ( P @ nil_message_p_v @ nil_message_p_v )
=> ( ! [X: message_p_v,Xs2: list_message_p_v] : ( P @ ( cons_message_p_v @ X @ Xs2 ) @ nil_message_p_v )
=> ( ! [Y3: message_p_v,Ys3: list_message_p_v] : ( P @ nil_message_p_v @ ( cons_message_p_v @ Y3 @ Ys3 ) )
=> ( ! [X: message_p_v,Xs2: list_message_p_v,Y3: message_p_v,Ys3: list_message_p_v] :
( ( P @ Xs2 @ Ys3 )
=> ( P @ ( cons_message_p_v @ X @ Xs2 ) @ ( cons_message_p_v @ Y3 @ Ys3 ) ) )
=> ( P @ Xs @ Ys2 ) ) ) ) ) ).
% list_induct2'
thf(fact_34_list__induct2_H,axiom,
! [P: list_c1059388851t_unit > list_message_p_v > $o,Xs: list_c1059388851t_unit,Ys2: list_message_p_v] :
( ( P @ nil_co1338500125t_unit @ nil_message_p_v )
=> ( ! [X: config256849571t_unit,Xs2: list_c1059388851t_unit] : ( P @ ( cons_c1162654829t_unit @ X @ Xs2 ) @ nil_message_p_v )
=> ( ! [Y3: message_p_v,Ys3: list_message_p_v] : ( P @ nil_co1338500125t_unit @ ( cons_message_p_v @ Y3 @ Ys3 ) )
=> ( ! [X: config256849571t_unit,Xs2: list_c1059388851t_unit,Y3: message_p_v,Ys3: list_message_p_v] :
( ( P @ Xs2 @ Ys3 )
=> ( P @ ( cons_c1162654829t_unit @ X @ Xs2 ) @ ( cons_message_p_v @ Y3 @ Ys3 ) ) )
=> ( P @ Xs @ Ys2 ) ) ) ) ) ).
% list_induct2'
thf(fact_35_list__induct2_H,axiom,
! [P: list_message_p_v > list_c1059388851t_unit > $o,Xs: list_message_p_v,Ys2: list_c1059388851t_unit] :
( ( P @ nil_message_p_v @ nil_co1338500125t_unit )
=> ( ! [X: message_p_v,Xs2: list_message_p_v] : ( P @ ( cons_message_p_v @ X @ Xs2 ) @ nil_co1338500125t_unit )
=> ( ! [Y3: config256849571t_unit,Ys3: list_c1059388851t_unit] : ( P @ nil_message_p_v @ ( cons_c1162654829t_unit @ Y3 @ Ys3 ) )
=> ( ! [X: message_p_v,Xs2: list_message_p_v,Y3: config256849571t_unit,Ys3: list_c1059388851t_unit] :
( ( P @ Xs2 @ Ys3 )
=> ( P @ ( cons_message_p_v @ X @ Xs2 ) @ ( cons_c1162654829t_unit @ Y3 @ Ys3 ) ) )
=> ( P @ Xs @ Ys2 ) ) ) ) ) ).
% list_induct2'
thf(fact_36_list__induct2_H,axiom,
! [P: list_c1059388851t_unit > list_c1059388851t_unit > $o,Xs: list_c1059388851t_unit,Ys2: list_c1059388851t_unit] :
( ( P @ nil_co1338500125t_unit @ nil_co1338500125t_unit )
=> ( ! [X: config256849571t_unit,Xs2: list_c1059388851t_unit] : ( P @ ( cons_c1162654829t_unit @ X @ Xs2 ) @ nil_co1338500125t_unit )
=> ( ! [Y3: config256849571t_unit,Ys3: list_c1059388851t_unit] : ( P @ nil_co1338500125t_unit @ ( cons_c1162654829t_unit @ Y3 @ Ys3 ) )
=> ( ! [X: config256849571t_unit,Xs2: list_c1059388851t_unit,Y3: config256849571t_unit,Ys3: list_c1059388851t_unit] :
( ( P @ Xs2 @ Ys3 )
=> ( P @ ( cons_c1162654829t_unit @ X @ Xs2 ) @ ( cons_c1162654829t_unit @ Y3 @ Ys3 ) ) )
=> ( P @ Xs @ Ys2 ) ) ) ) ) ).
% list_induct2'
thf(fact_37_list__induct2_H,axiom,
! [P: list_nat > list_nat > $o,Xs: list_nat,Ys2: list_nat] :
( ( P @ nil_nat @ nil_nat )
=> ( ! [X: nat,Xs2: list_nat] : ( P @ ( cons_nat @ X @ Xs2 ) @ nil_nat )
=> ( ! [Y3: nat,Ys3: list_nat] : ( P @ nil_nat @ ( cons_nat @ Y3 @ Ys3 ) )
=> ( ! [X: nat,Xs2: list_nat,Y3: nat,Ys3: list_nat] :
( ( P @ Xs2 @ Ys3 )
=> ( P @ ( cons_nat @ X @ Xs2 ) @ ( cons_nat @ Y3 @ Ys3 ) ) )
=> ( P @ Xs @ Ys2 ) ) ) ) ) ).
% list_induct2'
thf(fact_38_list__induct2_H,axiom,
! [P: list_message_p_v > list_nat > $o,Xs: list_message_p_v,Ys2: list_nat] :
( ( P @ nil_message_p_v @ nil_nat )
=> ( ! [X: message_p_v,Xs2: list_message_p_v] : ( P @ ( cons_message_p_v @ X @ Xs2 ) @ nil_nat )
=> ( ! [Y3: nat,Ys3: list_nat] : ( P @ nil_message_p_v @ ( cons_nat @ Y3 @ Ys3 ) )
=> ( ! [X: message_p_v,Xs2: list_message_p_v,Y3: nat,Ys3: list_nat] :
( ( P @ Xs2 @ Ys3 )
=> ( P @ ( cons_message_p_v @ X @ Xs2 ) @ ( cons_nat @ Y3 @ Ys3 ) ) )
=> ( P @ Xs @ Ys2 ) ) ) ) ) ).
% list_induct2'
thf(fact_39_list__induct2_H,axiom,
! [P: list_nat > list_message_p_v > $o,Xs: list_nat,Ys2: list_message_p_v] :
( ( P @ nil_nat @ nil_message_p_v )
=> ( ! [X: nat,Xs2: list_nat] : ( P @ ( cons_nat @ X @ Xs2 ) @ nil_message_p_v )
=> ( ! [Y3: message_p_v,Ys3: list_message_p_v] : ( P @ nil_nat @ ( cons_message_p_v @ Y3 @ Ys3 ) )
=> ( ! [X: nat,Xs2: list_nat,Y3: message_p_v,Ys3: list_message_p_v] :
( ( P @ Xs2 @ Ys3 )
=> ( P @ ( cons_nat @ X @ Xs2 ) @ ( cons_message_p_v @ Y3 @ Ys3 ) ) )
=> ( P @ Xs @ Ys2 ) ) ) ) ) ).
% list_induct2'
thf(fact_40_list__induct2_H,axiom,
! [P: list_l1619404459ge_p_v > list_nat > $o,Xs: list_l1619404459ge_p_v,Ys2: list_nat] :
( ( P @ nil_list_message_p_v @ nil_nat )
=> ( ! [X: list_message_p_v,Xs2: list_l1619404459ge_p_v] : ( P @ ( cons_l233104475ge_p_v @ X @ Xs2 ) @ nil_nat )
=> ( ! [Y3: nat,Ys3: list_nat] : ( P @ nil_list_message_p_v @ ( cons_nat @ Y3 @ Ys3 ) )
=> ( ! [X: list_message_p_v,Xs2: list_l1619404459ge_p_v,Y3: nat,Ys3: list_nat] :
( ( P @ Xs2 @ Ys3 )
=> ( P @ ( cons_l233104475ge_p_v @ X @ Xs2 ) @ ( cons_nat @ Y3 @ Ys3 ) ) )
=> ( P @ Xs @ Ys2 ) ) ) ) ) ).
% list_induct2'
thf(fact_41_list__induct2_H,axiom,
! [P: list_nat > list_l1619404459ge_p_v > $o,Xs: list_nat,Ys2: list_l1619404459ge_p_v] :
( ( P @ nil_nat @ nil_list_message_p_v )
=> ( ! [X: nat,Xs2: list_nat] : ( P @ ( cons_nat @ X @ Xs2 ) @ nil_list_message_p_v )
=> ( ! [Y3: list_message_p_v,Ys3: list_l1619404459ge_p_v] : ( P @ nil_nat @ ( cons_l233104475ge_p_v @ Y3 @ Ys3 ) )
=> ( ! [X: nat,Xs2: list_nat,Y3: list_message_p_v,Ys3: list_l1619404459ge_p_v] :
( ( P @ Xs2 @ Ys3 )
=> ( P @ ( cons_nat @ X @ Xs2 ) @ ( cons_l233104475ge_p_v @ Y3 @ Ys3 ) ) )
=> ( P @ Xs @ Ys2 ) ) ) ) ) ).
% list_induct2'
thf(fact_42_list__induct2_H,axiom,
! [P: list_c1059388851t_unit > list_nat > $o,Xs: list_c1059388851t_unit,Ys2: list_nat] :
( ( P @ nil_co1338500125t_unit @ nil_nat )
=> ( ! [X: config256849571t_unit,Xs2: list_c1059388851t_unit] : ( P @ ( cons_c1162654829t_unit @ X @ Xs2 ) @ nil_nat )
=> ( ! [Y3: nat,Ys3: list_nat] : ( P @ nil_co1338500125t_unit @ ( cons_nat @ Y3 @ Ys3 ) )
=> ( ! [X: config256849571t_unit,Xs2: list_c1059388851t_unit,Y3: nat,Ys3: list_nat] :
( ( P @ Xs2 @ Ys3 )
=> ( P @ ( cons_c1162654829t_unit @ X @ Xs2 ) @ ( cons_nat @ Y3 @ Ys3 ) ) )
=> ( P @ Xs @ Ys2 ) ) ) ) ) ).
% list_induct2'
thf(fact_43_splice_Oinduct,axiom,
! [P: list_l1619404459ge_p_v > list_l1619404459ge_p_v > $o,A0: list_l1619404459ge_p_v,A1: list_l1619404459ge_p_v] :
( ! [X_1: list_l1619404459ge_p_v] : ( P @ nil_list_message_p_v @ X_1 )
=> ( ! [X: list_message_p_v,Xs2: list_l1619404459ge_p_v,Ys3: list_l1619404459ge_p_v] :
( ( P @ Ys3 @ Xs2 )
=> ( P @ ( cons_l233104475ge_p_v @ X @ Xs2 ) @ Ys3 ) )
=> ( P @ A0 @ A1 ) ) ) ).
% splice.induct
thf(fact_44_splice_Oinduct,axiom,
! [P: list_l611321411t_unit > list_l611321411t_unit > $o,A0: list_l611321411t_unit,A1: list_l611321411t_unit] :
( ! [X_1: list_l611321411t_unit] : ( P @ nil_li307996205t_unit @ X_1 )
=> ( ! [X: list_c1059388851t_unit,Xs2: list_l611321411t_unit,Ys3: list_l611321411t_unit] :
( ( P @ Ys3 @ Xs2 )
=> ( P @ ( cons_l1083444861t_unit @ X @ Xs2 ) @ Ys3 ) )
=> ( P @ A0 @ A1 ) ) ) ).
% splice.induct
thf(fact_45_splice_Oinduct,axiom,
! [P: list_nat > list_nat > $o,A0: list_nat,A1: list_nat] :
( ! [X_1: list_nat] : ( P @ nil_nat @ X_1 )
=> ( ! [X: nat,Xs2: list_nat,Ys3: list_nat] :
( ( P @ Ys3 @ Xs2 )
=> ( P @ ( cons_nat @ X @ Xs2 ) @ Ys3 ) )
=> ( P @ A0 @ A1 ) ) ) ).
% splice.induct
thf(fact_46_splice_Oinduct,axiom,
! [P: list_c1059388851t_unit > list_c1059388851t_unit > $o,A0: list_c1059388851t_unit,A1: list_c1059388851t_unit] :
( ! [X_1: list_c1059388851t_unit] : ( P @ nil_co1338500125t_unit @ X_1 )
=> ( ! [X: config256849571t_unit,Xs2: list_c1059388851t_unit,Ys3: list_c1059388851t_unit] :
( ( P @ Ys3 @ Xs2 )
=> ( P @ ( cons_c1162654829t_unit @ X @ Xs2 ) @ Ys3 ) )
=> ( P @ A0 @ A1 ) ) ) ).
% splice.induct
thf(fact_47_splice_Oinduct,axiom,
! [P: list_message_p_v > list_message_p_v > $o,A0: list_message_p_v,A1: list_message_p_v] :
( ! [X_1: list_message_p_v] : ( P @ nil_message_p_v @ X_1 )
=> ( ! [X: message_p_v,Xs2: list_message_p_v,Ys3: list_message_p_v] :
( ( P @ Ys3 @ Xs2 )
=> ( P @ ( cons_message_p_v @ X @ Xs2 ) @ Ys3 ) )
=> ( P @ A0 @ A1 ) ) ) ).
% splice.induct
thf(fact_48_induct__list012,axiom,
! [P: list_l1619404459ge_p_v > $o,Xs: list_l1619404459ge_p_v] :
( ( P @ nil_list_message_p_v )
=> ( ! [X: list_message_p_v] : ( P @ ( cons_l233104475ge_p_v @ X @ nil_list_message_p_v ) )
=> ( ! [X: list_message_p_v,Y3: list_message_p_v,Zs: list_l1619404459ge_p_v] :
( ( P @ Zs )
=> ( ( P @ ( cons_l233104475ge_p_v @ Y3 @ Zs ) )
=> ( P @ ( cons_l233104475ge_p_v @ X @ ( cons_l233104475ge_p_v @ Y3 @ Zs ) ) ) ) )
=> ( P @ Xs ) ) ) ) ).
% induct_list012
thf(fact_49_induct__list012,axiom,
! [P: list_l611321411t_unit > $o,Xs: list_l611321411t_unit] :
( ( P @ nil_li307996205t_unit )
=> ( ! [X: list_c1059388851t_unit] : ( P @ ( cons_l1083444861t_unit @ X @ nil_li307996205t_unit ) )
=> ( ! [X: list_c1059388851t_unit,Y3: list_c1059388851t_unit,Zs: list_l611321411t_unit] :
( ( P @ Zs )
=> ( ( P @ ( cons_l1083444861t_unit @ Y3 @ Zs ) )
=> ( P @ ( cons_l1083444861t_unit @ X @ ( cons_l1083444861t_unit @ Y3 @ Zs ) ) ) ) )
=> ( P @ Xs ) ) ) ) ).
% induct_list012
thf(fact_50_induct__list012,axiom,
! [P: list_nat > $o,Xs: list_nat] :
( ( P @ nil_nat )
=> ( ! [X: nat] : ( P @ ( cons_nat @ X @ nil_nat ) )
=> ( ! [X: nat,Y3: nat,Zs: list_nat] :
( ( P @ Zs )
=> ( ( P @ ( cons_nat @ Y3 @ Zs ) )
=> ( P @ ( cons_nat @ X @ ( cons_nat @ Y3 @ Zs ) ) ) ) )
=> ( P @ Xs ) ) ) ) ).
% induct_list012
thf(fact_51_induct__list012,axiom,
! [P: list_c1059388851t_unit > $o,Xs: list_c1059388851t_unit] :
( ( P @ nil_co1338500125t_unit )
=> ( ! [X: config256849571t_unit] : ( P @ ( cons_c1162654829t_unit @ X @ nil_co1338500125t_unit ) )
=> ( ! [X: config256849571t_unit,Y3: config256849571t_unit,Zs: list_c1059388851t_unit] :
( ( P @ Zs )
=> ( ( P @ ( cons_c1162654829t_unit @ Y3 @ Zs ) )
=> ( P @ ( cons_c1162654829t_unit @ X @ ( cons_c1162654829t_unit @ Y3 @ Zs ) ) ) ) )
=> ( P @ Xs ) ) ) ) ).
% induct_list012
thf(fact_52_induct__list012,axiom,
! [P: list_message_p_v > $o,Xs: list_message_p_v] :
( ( P @ nil_message_p_v )
=> ( ! [X: message_p_v] : ( P @ ( cons_message_p_v @ X @ nil_message_p_v ) )
=> ( ! [X: message_p_v,Y3: message_p_v,Zs: list_message_p_v] :
( ( P @ Zs )
=> ( ( P @ ( cons_message_p_v @ Y3 @ Zs ) )
=> ( P @ ( cons_message_p_v @ X @ ( cons_message_p_v @ Y3 @ Zs ) ) ) ) )
=> ( P @ Xs ) ) ) ) ).
% induct_list012
thf(fact_53_min__list_Ocases,axiom,
! [X3: list_nat] :
( ! [X: nat,Xs2: list_nat] :
( X3
!= ( cons_nat @ X @ Xs2 ) )
=> ( X3 = nil_nat ) ) ).
% min_list.cases
thf(fact_54_min__list_Oinduct,axiom,
! [P: list_nat > $o,A0: list_nat] :
( ! [X: nat,Xs2: list_nat] :
( ! [X213: nat,X223: list_nat] :
( ( Xs2
= ( cons_nat @ X213 @ X223 ) )
=> ( P @ Xs2 ) )
=> ( P @ ( cons_nat @ X @ Xs2 ) ) )
=> ( ( P @ nil_nat )
=> ( P @ A0 ) ) ) ).
% min_list.induct
thf(fact_55_infiniteExecutionMsg_Osimps_I1_J,axiom,
! [Cfg: config256849571t_unit,FStepCfg: list_c1059388851t_unit > list_message_p_v > list_c1059388851t_unit,FStepMsg: list_c1059388851t_unit > list_message_p_v > list_message_p_v] :
( ( fLPThe536531371_p_v_s @ Cfg @ FStepCfg @ FStepMsg @ zero_zero_nat )
= nil_message_p_v ) ).
% infiniteExecutionMsg.simps(1)
thf(fact_56_zero__reorient,axiom,
! [X3: nat] :
( ( zero_zero_nat = X3 )
= ( X3 = zero_zero_nat ) ) ).
% zero_reorient
thf(fact_57_not__Cons__self2,axiom,
! [X3: list_message_p_v,Xs: list_l1619404459ge_p_v] :
( ( cons_l233104475ge_p_v @ X3 @ Xs )
!= Xs ) ).
% not_Cons_self2
thf(fact_58_not__Cons__self2,axiom,
! [X3: list_c1059388851t_unit,Xs: list_l611321411t_unit] :
( ( cons_l1083444861t_unit @ X3 @ Xs )
!= Xs ) ).
% not_Cons_self2
thf(fact_59_not__Cons__self2,axiom,
! [X3: nat,Xs: list_nat] :
( ( cons_nat @ X3 @ Xs )
!= Xs ) ).
% not_Cons_self2
thf(fact_60_not__Cons__self2,axiom,
! [X3: config256849571t_unit,Xs: list_c1059388851t_unit] :
( ( cons_c1162654829t_unit @ X3 @ Xs )
!= Xs ) ).
% not_Cons_self2
thf(fact_61_not__Cons__self2,axiom,
! [X3: message_p_v,Xs: list_message_p_v] :
( ( cons_message_p_v @ X3 @ Xs )
!= Xs ) ).
% not_Cons_self2
thf(fact_62_strict__sorted_Oinduct,axiom,
! [P: list_nat > $o,A0: list_nat] :
( ( P @ nil_nat )
=> ( ! [X: nat,Ys3: list_nat] :
( ( P @ Ys3 )
=> ( P @ ( cons_nat @ X @ Ys3 ) ) )
=> ( P @ A0 ) ) ) ).
% strict_sorted.induct
thf(fact_63_strict__sorted_Ocases,axiom,
! [X3: list_nat] :
( ( X3 != nil_nat )
=> ~ ! [X: nat,Ys3: list_nat] :
( X3
!= ( cons_nat @ X @ Ys3 ) ) ) ).
% strict_sorted.cases
thf(fact_64_map__tailrec__rev_Oinduct,axiom,
! [P: ( message_p_v > message_p_v ) > list_message_p_v > list_message_p_v > $o,A0: message_p_v > message_p_v,A1: list_message_p_v,A2: list_message_p_v] :
( ! [F: message_p_v > message_p_v,X_1: list_message_p_v] : ( P @ F @ nil_message_p_v @ X_1 )
=> ( ! [F: message_p_v > message_p_v,A: message_p_v,As: list_message_p_v,Bs: list_message_p_v] :
( ( P @ F @ As @ ( cons_message_p_v @ ( F @ A ) @ Bs ) )
=> ( P @ F @ ( cons_message_p_v @ A @ As ) @ Bs ) )
=> ( P @ A0 @ A1 @ A2 ) ) ) ).
% map_tailrec_rev.induct
thf(fact_65_map__tailrec__rev_Oinduct,axiom,
! [P: ( message_p_v > config256849571t_unit ) > list_message_p_v > list_c1059388851t_unit > $o,A0: message_p_v > config256849571t_unit,A1: list_message_p_v,A2: list_c1059388851t_unit] :
( ! [F: message_p_v > config256849571t_unit,X_1: list_c1059388851t_unit] : ( P @ F @ nil_message_p_v @ X_1 )
=> ( ! [F: message_p_v > config256849571t_unit,A: message_p_v,As: list_message_p_v,Bs: list_c1059388851t_unit] :
( ( P @ F @ As @ ( cons_c1162654829t_unit @ ( F @ A ) @ Bs ) )
=> ( P @ F @ ( cons_message_p_v @ A @ As ) @ Bs ) )
=> ( P @ A0 @ A1 @ A2 ) ) ) ).
% map_tailrec_rev.induct
thf(fact_66_map__tailrec__rev_Oinduct,axiom,
! [P: ( config256849571t_unit > message_p_v ) > list_c1059388851t_unit > list_message_p_v > $o,A0: config256849571t_unit > message_p_v,A1: list_c1059388851t_unit,A2: list_message_p_v] :
( ! [F: config256849571t_unit > message_p_v,X_1: list_message_p_v] : ( P @ F @ nil_co1338500125t_unit @ X_1 )
=> ( ! [F: config256849571t_unit > message_p_v,A: config256849571t_unit,As: list_c1059388851t_unit,Bs: list_message_p_v] :
( ( P @ F @ As @ ( cons_message_p_v @ ( F @ A ) @ Bs ) )
=> ( P @ F @ ( cons_c1162654829t_unit @ A @ As ) @ Bs ) )
=> ( P @ A0 @ A1 @ A2 ) ) ) ).
% map_tailrec_rev.induct
thf(fact_67_map__tailrec__rev_Oinduct,axiom,
! [P: ( config256849571t_unit > config256849571t_unit ) > list_c1059388851t_unit > list_c1059388851t_unit > $o,A0: config256849571t_unit > config256849571t_unit,A1: list_c1059388851t_unit,A2: list_c1059388851t_unit] :
( ! [F: config256849571t_unit > config256849571t_unit,X_1: list_c1059388851t_unit] : ( P @ F @ nil_co1338500125t_unit @ X_1 )
=> ( ! [F: config256849571t_unit > config256849571t_unit,A: config256849571t_unit,As: list_c1059388851t_unit,Bs: list_c1059388851t_unit] :
( ( P @ F @ As @ ( cons_c1162654829t_unit @ ( F @ A ) @ Bs ) )
=> ( P @ F @ ( cons_c1162654829t_unit @ A @ As ) @ Bs ) )
=> ( P @ A0 @ A1 @ A2 ) ) ) ).
% map_tailrec_rev.induct
thf(fact_68_map__tailrec__rev_Oinduct,axiom,
! [P: ( nat > nat ) > list_nat > list_nat > $o,A0: nat > nat,A1: list_nat,A2: list_nat] :
( ! [F: nat > nat,X_1: list_nat] : ( P @ F @ nil_nat @ X_1 )
=> ( ! [F: nat > nat,A: nat,As: list_nat,Bs: list_nat] :
( ( P @ F @ As @ ( cons_nat @ ( F @ A ) @ Bs ) )
=> ( P @ F @ ( cons_nat @ A @ As ) @ Bs ) )
=> ( P @ A0 @ A1 @ A2 ) ) ) ).
% map_tailrec_rev.induct
thf(fact_69_map__tailrec__rev_Oinduct,axiom,
! [P: ( nat > message_p_v ) > list_nat > list_message_p_v > $o,A0: nat > message_p_v,A1: list_nat,A2: list_message_p_v] :
( ! [F: nat > message_p_v,X_1: list_message_p_v] : ( P @ F @ nil_nat @ X_1 )
=> ( ! [F: nat > message_p_v,A: nat,As: list_nat,Bs: list_message_p_v] :
( ( P @ F @ As @ ( cons_message_p_v @ ( F @ A ) @ Bs ) )
=> ( P @ F @ ( cons_nat @ A @ As ) @ Bs ) )
=> ( P @ A0 @ A1 @ A2 ) ) ) ).
% map_tailrec_rev.induct
thf(fact_70_map__tailrec__rev_Oinduct,axiom,
! [P: ( message_p_v > nat ) > list_message_p_v > list_nat > $o,A0: message_p_v > nat,A1: list_message_p_v,A2: list_nat] :
( ! [F: message_p_v > nat,X_1: list_nat] : ( P @ F @ nil_message_p_v @ X_1 )
=> ( ! [F: message_p_v > nat,A: message_p_v,As: list_message_p_v,Bs: list_nat] :
( ( P @ F @ As @ ( cons_nat @ ( F @ A ) @ Bs ) )
=> ( P @ F @ ( cons_message_p_v @ A @ As ) @ Bs ) )
=> ( P @ A0 @ A1 @ A2 ) ) ) ).
% map_tailrec_rev.induct
thf(fact_71_map__tailrec__rev_Oinduct,axiom,
! [P: ( nat > list_message_p_v ) > list_nat > list_l1619404459ge_p_v > $o,A0: nat > list_message_p_v,A1: list_nat,A2: list_l1619404459ge_p_v] :
( ! [F: nat > list_message_p_v,X_1: list_l1619404459ge_p_v] : ( P @ F @ nil_nat @ X_1 )
=> ( ! [F: nat > list_message_p_v,A: nat,As: list_nat,Bs: list_l1619404459ge_p_v] :
( ( P @ F @ As @ ( cons_l233104475ge_p_v @ ( F @ A ) @ Bs ) )
=> ( P @ F @ ( cons_nat @ A @ As ) @ Bs ) )
=> ( P @ A0 @ A1 @ A2 ) ) ) ).
% map_tailrec_rev.induct
thf(fact_72_map__tailrec__rev_Oinduct,axiom,
! [P: ( list_message_p_v > nat ) > list_l1619404459ge_p_v > list_nat > $o,A0: list_message_p_v > nat,A1: list_l1619404459ge_p_v,A2: list_nat] :
( ! [F: list_message_p_v > nat,X_1: list_nat] : ( P @ F @ nil_list_message_p_v @ X_1 )
=> ( ! [F: list_message_p_v > nat,A: list_message_p_v,As: list_l1619404459ge_p_v,Bs: list_nat] :
( ( P @ F @ As @ ( cons_nat @ ( F @ A ) @ Bs ) )
=> ( P @ F @ ( cons_l233104475ge_p_v @ A @ As ) @ Bs ) )
=> ( P @ A0 @ A1 @ A2 ) ) ) ).
% map_tailrec_rev.induct
thf(fact_73_map__tailrec__rev_Oinduct,axiom,
! [P: ( nat > config256849571t_unit ) > list_nat > list_c1059388851t_unit > $o,A0: nat > config256849571t_unit,A1: list_nat,A2: list_c1059388851t_unit] :
( ! [F: nat > config256849571t_unit,X_1: list_c1059388851t_unit] : ( P @ F @ nil_nat @ X_1 )
=> ( ! [F: nat > config256849571t_unit,A: nat,As: list_nat,Bs: list_c1059388851t_unit] :
( ( P @ F @ As @ ( cons_c1162654829t_unit @ ( F @ A ) @ Bs ) )
=> ( P @ F @ ( cons_nat @ A @ As ) @ Bs ) )
=> ( P @ A0 @ A1 @ A2 ) ) ) ).
% map_tailrec_rev.induct
thf(fact_74_list__nonempty__induct,axiom,
! [Xs: list_l1619404459ge_p_v,P: list_l1619404459ge_p_v > $o] :
( ( Xs != nil_list_message_p_v )
=> ( ! [X: list_message_p_v] : ( P @ ( cons_l233104475ge_p_v @ X @ nil_list_message_p_v ) )
=> ( ! [X: list_message_p_v,Xs2: list_l1619404459ge_p_v] :
( ( Xs2 != nil_list_message_p_v )
=> ( ( P @ Xs2 )
=> ( P @ ( cons_l233104475ge_p_v @ X @ Xs2 ) ) ) )
=> ( P @ Xs ) ) ) ) ).
% list_nonempty_induct
thf(fact_75_list__nonempty__induct,axiom,
! [Xs: list_l611321411t_unit,P: list_l611321411t_unit > $o] :
( ( Xs != nil_li307996205t_unit )
=> ( ! [X: list_c1059388851t_unit] : ( P @ ( cons_l1083444861t_unit @ X @ nil_li307996205t_unit ) )
=> ( ! [X: list_c1059388851t_unit,Xs2: list_l611321411t_unit] :
( ( Xs2 != nil_li307996205t_unit )
=> ( ( P @ Xs2 )
=> ( P @ ( cons_l1083444861t_unit @ X @ Xs2 ) ) ) )
=> ( P @ Xs ) ) ) ) ).
% list_nonempty_induct
thf(fact_76_list__nonempty__induct,axiom,
! [Xs: list_nat,P: list_nat > $o] :
( ( Xs != nil_nat )
=> ( ! [X: nat] : ( P @ ( cons_nat @ X @ nil_nat ) )
=> ( ! [X: nat,Xs2: list_nat] :
( ( Xs2 != nil_nat )
=> ( ( P @ Xs2 )
=> ( P @ ( cons_nat @ X @ Xs2 ) ) ) )
=> ( P @ Xs ) ) ) ) ).
% list_nonempty_induct
thf(fact_77_list__nonempty__induct,axiom,
! [Xs: list_c1059388851t_unit,P: list_c1059388851t_unit > $o] :
( ( Xs != nil_co1338500125t_unit )
=> ( ! [X: config256849571t_unit] : ( P @ ( cons_c1162654829t_unit @ X @ nil_co1338500125t_unit ) )
=> ( ! [X: config256849571t_unit,Xs2: list_c1059388851t_unit] :
( ( Xs2 != nil_co1338500125t_unit )
=> ( ( P @ Xs2 )
=> ( P @ ( cons_c1162654829t_unit @ X @ Xs2 ) ) ) )
=> ( P @ Xs ) ) ) ) ).
% list_nonempty_induct
thf(fact_78_list__nonempty__induct,axiom,
! [Xs: list_message_p_v,P: list_message_p_v > $o] :
( ( Xs != nil_message_p_v )
=> ( ! [X: message_p_v] : ( P @ ( cons_message_p_v @ X @ nil_message_p_v ) )
=> ( ! [X: message_p_v,Xs2: list_message_p_v] :
( ( Xs2 != nil_message_p_v )
=> ( ( P @ Xs2 )
=> ( P @ ( cons_message_p_v @ X @ Xs2 ) ) ) )
=> ( P @ Xs ) ) ) ) ).
% list_nonempty_induct
thf(fact_79_successively_Oinduct,axiom,
! [P: ( list_message_p_v > list_message_p_v > $o ) > list_l1619404459ge_p_v > $o,A0: list_message_p_v > list_message_p_v > $o,A1: list_l1619404459ge_p_v] :
( ! [P2: list_message_p_v > list_message_p_v > $o] : ( P @ P2 @ nil_list_message_p_v )
=> ( ! [P2: list_message_p_v > list_message_p_v > $o,X: list_message_p_v] : ( P @ P2 @ ( cons_l233104475ge_p_v @ X @ nil_list_message_p_v ) )
=> ( ! [P2: list_message_p_v > list_message_p_v > $o,X: list_message_p_v,Y3: list_message_p_v,Xs2: list_l1619404459ge_p_v] :
( ( P @ P2 @ ( cons_l233104475ge_p_v @ Y3 @ Xs2 ) )
=> ( P @ P2 @ ( cons_l233104475ge_p_v @ X @ ( cons_l233104475ge_p_v @ Y3 @ Xs2 ) ) ) )
=> ( P @ A0 @ A1 ) ) ) ) ).
% successively.induct
thf(fact_80_successively_Oinduct,axiom,
! [P: ( list_c1059388851t_unit > list_c1059388851t_unit > $o ) > list_l611321411t_unit > $o,A0: list_c1059388851t_unit > list_c1059388851t_unit > $o,A1: list_l611321411t_unit] :
( ! [P2: list_c1059388851t_unit > list_c1059388851t_unit > $o] : ( P @ P2 @ nil_li307996205t_unit )
=> ( ! [P2: list_c1059388851t_unit > list_c1059388851t_unit > $o,X: list_c1059388851t_unit] : ( P @ P2 @ ( cons_l1083444861t_unit @ X @ nil_li307996205t_unit ) )
=> ( ! [P2: list_c1059388851t_unit > list_c1059388851t_unit > $o,X: list_c1059388851t_unit,Y3: list_c1059388851t_unit,Xs2: list_l611321411t_unit] :
( ( P @ P2 @ ( cons_l1083444861t_unit @ Y3 @ Xs2 ) )
=> ( P @ P2 @ ( cons_l1083444861t_unit @ X @ ( cons_l1083444861t_unit @ Y3 @ Xs2 ) ) ) )
=> ( P @ A0 @ A1 ) ) ) ) ).
% successively.induct
thf(fact_81_successively_Oinduct,axiom,
! [P: ( nat > nat > $o ) > list_nat > $o,A0: nat > nat > $o,A1: list_nat] :
( ! [P2: nat > nat > $o] : ( P @ P2 @ nil_nat )
=> ( ! [P2: nat > nat > $o,X: nat] : ( P @ P2 @ ( cons_nat @ X @ nil_nat ) )
=> ( ! [P2: nat > nat > $o,X: nat,Y3: nat,Xs2: list_nat] :
( ( P @ P2 @ ( cons_nat @ Y3 @ Xs2 ) )
=> ( P @ P2 @ ( cons_nat @ X @ ( cons_nat @ Y3 @ Xs2 ) ) ) )
=> ( P @ A0 @ A1 ) ) ) ) ).
% successively.induct
thf(fact_82_successively_Oinduct,axiom,
! [P: ( config256849571t_unit > config256849571t_unit > $o ) > list_c1059388851t_unit > $o,A0: config256849571t_unit > config256849571t_unit > $o,A1: list_c1059388851t_unit] :
( ! [P2: config256849571t_unit > config256849571t_unit > $o] : ( P @ P2 @ nil_co1338500125t_unit )
=> ( ! [P2: config256849571t_unit > config256849571t_unit > $o,X: config256849571t_unit] : ( P @ P2 @ ( cons_c1162654829t_unit @ X @ nil_co1338500125t_unit ) )
=> ( ! [P2: config256849571t_unit > config256849571t_unit > $o,X: config256849571t_unit,Y3: config256849571t_unit,Xs2: list_c1059388851t_unit] :
( ( P @ P2 @ ( cons_c1162654829t_unit @ Y3 @ Xs2 ) )
=> ( P @ P2 @ ( cons_c1162654829t_unit @ X @ ( cons_c1162654829t_unit @ Y3 @ Xs2 ) ) ) )
=> ( P @ A0 @ A1 ) ) ) ) ).
% successively.induct
thf(fact_83_successively_Oinduct,axiom,
! [P: ( message_p_v > message_p_v > $o ) > list_message_p_v > $o,A0: message_p_v > message_p_v > $o,A1: list_message_p_v] :
( ! [P2: message_p_v > message_p_v > $o] : ( P @ P2 @ nil_message_p_v )
=> ( ! [P2: message_p_v > message_p_v > $o,X: message_p_v] : ( P @ P2 @ ( cons_message_p_v @ X @ nil_message_p_v ) )
=> ( ! [P2: message_p_v > message_p_v > $o,X: message_p_v,Y3: message_p_v,Xs2: list_message_p_v] :
( ( P @ P2 @ ( cons_message_p_v @ Y3 @ Xs2 ) )
=> ( P @ P2 @ ( cons_message_p_v @ X @ ( cons_message_p_v @ Y3 @ Xs2 ) ) ) )
=> ( P @ A0 @ A1 ) ) ) ) ).
% successively.induct
thf(fact_84_remdups__adj_Oinduct,axiom,
! [P: list_l1619404459ge_p_v > $o,A0: list_l1619404459ge_p_v] :
( ( P @ nil_list_message_p_v )
=> ( ! [X: list_message_p_v] : ( P @ ( cons_l233104475ge_p_v @ X @ nil_list_message_p_v ) )
=> ( ! [X: list_message_p_v,Y3: list_message_p_v,Xs2: list_l1619404459ge_p_v] :
( ( ( X = Y3 )
=> ( P @ ( cons_l233104475ge_p_v @ X @ Xs2 ) ) )
=> ( ( ( X != Y3 )
=> ( P @ ( cons_l233104475ge_p_v @ Y3 @ Xs2 ) ) )
=> ( P @ ( cons_l233104475ge_p_v @ X @ ( cons_l233104475ge_p_v @ Y3 @ Xs2 ) ) ) ) )
=> ( P @ A0 ) ) ) ) ).
% remdups_adj.induct
thf(fact_85_remdups__adj_Oinduct,axiom,
! [P: list_l611321411t_unit > $o,A0: list_l611321411t_unit] :
( ( P @ nil_li307996205t_unit )
=> ( ! [X: list_c1059388851t_unit] : ( P @ ( cons_l1083444861t_unit @ X @ nil_li307996205t_unit ) )
=> ( ! [X: list_c1059388851t_unit,Y3: list_c1059388851t_unit,Xs2: list_l611321411t_unit] :
( ( ( X = Y3 )
=> ( P @ ( cons_l1083444861t_unit @ X @ Xs2 ) ) )
=> ( ( ( X != Y3 )
=> ( P @ ( cons_l1083444861t_unit @ Y3 @ Xs2 ) ) )
=> ( P @ ( cons_l1083444861t_unit @ X @ ( cons_l1083444861t_unit @ Y3 @ Xs2 ) ) ) ) )
=> ( P @ A0 ) ) ) ) ).
% remdups_adj.induct
thf(fact_86_remdups__adj_Oinduct,axiom,
! [P: list_nat > $o,A0: list_nat] :
( ( P @ nil_nat )
=> ( ! [X: nat] : ( P @ ( cons_nat @ X @ nil_nat ) )
=> ( ! [X: nat,Y3: nat,Xs2: list_nat] :
( ( ( X = Y3 )
=> ( P @ ( cons_nat @ X @ Xs2 ) ) )
=> ( ( ( X != Y3 )
=> ( P @ ( cons_nat @ Y3 @ Xs2 ) ) )
=> ( P @ ( cons_nat @ X @ ( cons_nat @ Y3 @ Xs2 ) ) ) ) )
=> ( P @ A0 ) ) ) ) ).
% remdups_adj.induct
thf(fact_87_remdups__adj_Oinduct,axiom,
! [P: list_c1059388851t_unit > $o,A0: list_c1059388851t_unit] :
( ( P @ nil_co1338500125t_unit )
=> ( ! [X: config256849571t_unit] : ( P @ ( cons_c1162654829t_unit @ X @ nil_co1338500125t_unit ) )
=> ( ! [X: config256849571t_unit,Y3: config256849571t_unit,Xs2: list_c1059388851t_unit] :
( ( ( X = Y3 )
=> ( P @ ( cons_c1162654829t_unit @ X @ Xs2 ) ) )
=> ( ( ( X != Y3 )
=> ( P @ ( cons_c1162654829t_unit @ Y3 @ Xs2 ) ) )
=> ( P @ ( cons_c1162654829t_unit @ X @ ( cons_c1162654829t_unit @ Y3 @ Xs2 ) ) ) ) )
=> ( P @ A0 ) ) ) ) ).
% remdups_adj.induct
thf(fact_88_remdups__adj_Oinduct,axiom,
! [P: list_message_p_v > $o,A0: list_message_p_v] :
( ( P @ nil_message_p_v )
=> ( ! [X: message_p_v] : ( P @ ( cons_message_p_v @ X @ nil_message_p_v ) )
=> ( ! [X: message_p_v,Y3: message_p_v,Xs2: list_message_p_v] :
( ( ( X = Y3 )
=> ( P @ ( cons_message_p_v @ X @ Xs2 ) ) )
=> ( ( ( X != Y3 )
=> ( P @ ( cons_message_p_v @ Y3 @ Xs2 ) ) )
=> ( P @ ( cons_message_p_v @ X @ ( cons_message_p_v @ Y3 @ Xs2 ) ) ) ) )
=> ( P @ A0 ) ) ) ) ).
% remdups_adj.induct
thf(fact_89_sorted__wrt_Oinduct,axiom,
! [P: ( list_message_p_v > list_message_p_v > $o ) > list_l1619404459ge_p_v > $o,A0: list_message_p_v > list_message_p_v > $o,A1: list_l1619404459ge_p_v] :
( ! [P2: list_message_p_v > list_message_p_v > $o] : ( P @ P2 @ nil_list_message_p_v )
=> ( ! [P2: list_message_p_v > list_message_p_v > $o,X: list_message_p_v,Ys3: list_l1619404459ge_p_v] :
( ( P @ P2 @ Ys3 )
=> ( P @ P2 @ ( cons_l233104475ge_p_v @ X @ Ys3 ) ) )
=> ( P @ A0 @ A1 ) ) ) ).
% sorted_wrt.induct
thf(fact_90_sorted__wrt_Oinduct,axiom,
! [P: ( list_c1059388851t_unit > list_c1059388851t_unit > $o ) > list_l611321411t_unit > $o,A0: list_c1059388851t_unit > list_c1059388851t_unit > $o,A1: list_l611321411t_unit] :
( ! [P2: list_c1059388851t_unit > list_c1059388851t_unit > $o] : ( P @ P2 @ nil_li307996205t_unit )
=> ( ! [P2: list_c1059388851t_unit > list_c1059388851t_unit > $o,X: list_c1059388851t_unit,Ys3: list_l611321411t_unit] :
( ( P @ P2 @ Ys3 )
=> ( P @ P2 @ ( cons_l1083444861t_unit @ X @ Ys3 ) ) )
=> ( P @ A0 @ A1 ) ) ) ).
% sorted_wrt.induct
thf(fact_91_sorted__wrt_Oinduct,axiom,
! [P: ( nat > nat > $o ) > list_nat > $o,A0: nat > nat > $o,A1: list_nat] :
( ! [P2: nat > nat > $o] : ( P @ P2 @ nil_nat )
=> ( ! [P2: nat > nat > $o,X: nat,Ys3: list_nat] :
( ( P @ P2 @ Ys3 )
=> ( P @ P2 @ ( cons_nat @ X @ Ys3 ) ) )
=> ( P @ A0 @ A1 ) ) ) ).
% sorted_wrt.induct
thf(fact_92_sorted__wrt_Oinduct,axiom,
! [P: ( config256849571t_unit > config256849571t_unit > $o ) > list_c1059388851t_unit > $o,A0: config256849571t_unit > config256849571t_unit > $o,A1: list_c1059388851t_unit] :
( ! [P2: config256849571t_unit > config256849571t_unit > $o] : ( P @ P2 @ nil_co1338500125t_unit )
=> ( ! [P2: config256849571t_unit > config256849571t_unit > $o,X: config256849571t_unit,Ys3: list_c1059388851t_unit] :
( ( P @ P2 @ Ys3 )
=> ( P @ P2 @ ( cons_c1162654829t_unit @ X @ Ys3 ) ) )
=> ( P @ A0 @ A1 ) ) ) ).
% sorted_wrt.induct
thf(fact_93_sorted__wrt_Oinduct,axiom,
! [P: ( message_p_v > message_p_v > $o ) > list_message_p_v > $o,A0: message_p_v > message_p_v > $o,A1: list_message_p_v] :
( ! [P2: message_p_v > message_p_v > $o] : ( P @ P2 @ nil_message_p_v )
=> ( ! [P2: message_p_v > message_p_v > $o,X: message_p_v,Ys3: list_message_p_v] :
( ( P @ P2 @ Ys3 )
=> ( P @ P2 @ ( cons_message_p_v @ X @ Ys3 ) ) )
=> ( P @ A0 @ A1 ) ) ) ).
% sorted_wrt.induct
thf(fact_94_remdups__adj_Ocases,axiom,
! [X3: list_l1619404459ge_p_v] :
( ( X3 != nil_list_message_p_v )
=> ( ! [X: list_message_p_v] :
( X3
!= ( cons_l233104475ge_p_v @ X @ nil_list_message_p_v ) )
=> ~ ! [X: list_message_p_v,Y3: list_message_p_v,Xs2: list_l1619404459ge_p_v] :
( X3
!= ( cons_l233104475ge_p_v @ X @ ( cons_l233104475ge_p_v @ Y3 @ Xs2 ) ) ) ) ) ).
% remdups_adj.cases
thf(fact_95_remdups__adj_Ocases,axiom,
! [X3: list_l611321411t_unit] :
( ( X3 != nil_li307996205t_unit )
=> ( ! [X: list_c1059388851t_unit] :
( X3
!= ( cons_l1083444861t_unit @ X @ nil_li307996205t_unit ) )
=> ~ ! [X: list_c1059388851t_unit,Y3: list_c1059388851t_unit,Xs2: list_l611321411t_unit] :
( X3
!= ( cons_l1083444861t_unit @ X @ ( cons_l1083444861t_unit @ Y3 @ Xs2 ) ) ) ) ) ).
% remdups_adj.cases
thf(fact_96_remdups__adj_Ocases,axiom,
! [X3: list_nat] :
( ( X3 != nil_nat )
=> ( ! [X: nat] :
( X3
!= ( cons_nat @ X @ nil_nat ) )
=> ~ ! [X: nat,Y3: nat,Xs2: list_nat] :
( X3
!= ( cons_nat @ X @ ( cons_nat @ Y3 @ Xs2 ) ) ) ) ) ).
% remdups_adj.cases
thf(fact_97_remdups__adj_Ocases,axiom,
! [X3: list_c1059388851t_unit] :
( ( X3 != nil_co1338500125t_unit )
=> ( ! [X: config256849571t_unit] :
( X3
!= ( cons_c1162654829t_unit @ X @ nil_co1338500125t_unit ) )
=> ~ ! [X: config256849571t_unit,Y3: config256849571t_unit,Xs2: list_c1059388851t_unit] :
( X3
!= ( cons_c1162654829t_unit @ X @ ( cons_c1162654829t_unit @ Y3 @ Xs2 ) ) ) ) ) ).
% remdups_adj.cases
thf(fact_98_remdups__adj_Ocases,axiom,
! [X3: list_message_p_v] :
( ( X3 != nil_message_p_v )
=> ( ! [X: message_p_v] :
( X3
!= ( cons_message_p_v @ X @ nil_message_p_v ) )
=> ~ ! [X: message_p_v,Y3: message_p_v,Xs2: list_message_p_v] :
( X3
!= ( cons_message_p_v @ X @ ( cons_message_p_v @ Y3 @ Xs2 ) ) ) ) ) ).
% remdups_adj.cases
thf(fact_99_transpose_Ocases,axiom,
! [X3: list_list_nat] :
( ( X3 != nil_list_nat )
=> ( ! [Xss: list_list_nat] :
( X3
!= ( cons_list_nat @ nil_nat @ Xss ) )
=> ~ ! [X: nat,Xs2: list_nat,Xss: list_list_nat] :
( X3
!= ( cons_list_nat @ ( cons_nat @ X @ Xs2 ) @ Xss ) ) ) ) ).
% transpose.cases
thf(fact_100_transpose_Ocases,axiom,
! [X3: list_l611321411t_unit] :
( ( X3 != nil_li307996205t_unit )
=> ( ! [Xss: list_l611321411t_unit] :
( X3
!= ( cons_l1083444861t_unit @ nil_co1338500125t_unit @ Xss ) )
=> ~ ! [X: config256849571t_unit,Xs2: list_c1059388851t_unit,Xss: list_l611321411t_unit] :
( X3
!= ( cons_l1083444861t_unit @ ( cons_c1162654829t_unit @ X @ Xs2 ) @ Xss ) ) ) ) ).
% transpose.cases
thf(fact_101_transpose_Ocases,axiom,
! [X3: list_l1619404459ge_p_v] :
( ( X3 != nil_list_message_p_v )
=> ( ! [Xss: list_l1619404459ge_p_v] :
( X3
!= ( cons_l233104475ge_p_v @ nil_message_p_v @ Xss ) )
=> ~ ! [X: message_p_v,Xs2: list_message_p_v,Xss: list_l1619404459ge_p_v] :
( X3
!= ( cons_l233104475ge_p_v @ ( cons_message_p_v @ X @ Xs2 ) @ Xss ) ) ) ) ).
% transpose.cases
thf(fact_102_shuffles_Oinduct,axiom,
! [P: list_c1059388851t_unit > list_c1059388851t_unit > $o,A0: list_c1059388851t_unit,A1: list_c1059388851t_unit] :
( ! [X_1: list_c1059388851t_unit] : ( P @ nil_co1338500125t_unit @ X_1 )
=> ( ! [Xs2: list_c1059388851t_unit] : ( P @ Xs2 @ nil_co1338500125t_unit )
=> ( ! [X: config256849571t_unit,Xs2: list_c1059388851t_unit,Y3: config256849571t_unit,Ys3: list_c1059388851t_unit] :
( ( P @ Xs2 @ ( cons_c1162654829t_unit @ Y3 @ Ys3 ) )
=> ( ( P @ ( cons_c1162654829t_unit @ X @ Xs2 ) @ Ys3 )
=> ( P @ ( cons_c1162654829t_unit @ X @ Xs2 ) @ ( cons_c1162654829t_unit @ Y3 @ Ys3 ) ) ) )
=> ( P @ A0 @ A1 ) ) ) ) ).
% shuffles.induct
thf(fact_103_shuffles_Oinduct,axiom,
! [P: list_message_p_v > list_message_p_v > $o,A0: list_message_p_v,A1: list_message_p_v] :
( ! [X_1: list_message_p_v] : ( P @ nil_message_p_v @ X_1 )
=> ( ! [Xs2: list_message_p_v] : ( P @ Xs2 @ nil_message_p_v )
=> ( ! [X: message_p_v,Xs2: list_message_p_v,Y3: message_p_v,Ys3: list_message_p_v] :
( ( P @ Xs2 @ ( cons_message_p_v @ Y3 @ Ys3 ) )
=> ( ( P @ ( cons_message_p_v @ X @ Xs2 ) @ Ys3 )
=> ( P @ ( cons_message_p_v @ X @ Xs2 ) @ ( cons_message_p_v @ Y3 @ Ys3 ) ) ) )
=> ( P @ A0 @ A1 ) ) ) ) ).
% shuffles.induct
thf(fact_104_infiniteExecutionCfg_Oelims,axiom,
! [X3: config256849571t_unit,Xa: list_c1059388851t_unit > list_message_p_v > list_c1059388851t_unit,Xb: list_c1059388851t_unit > list_message_p_v > list_message_p_v,Xc: nat,Y: list_c1059388851t_unit] :
( ( ( fLPThe1519354920_p_v_s @ X3 @ Xa @ Xb @ Xc )
= Y )
=> ( ( ( Xc = zero_zero_nat )
=> ( Y
!= ( cons_c1162654829t_unit @ X3 @ nil_co1338500125t_unit ) ) )
=> ~ ! [N: nat] :
( ( Xc
= ( suc @ N ) )
=> ( Y
!= ( Xa @ ( fLPThe1519354920_p_v_s @ X3 @ Xa @ Xb @ N ) @ ( fLPThe536531371_p_v_s @ X3 @ Xa @ Xb @ N ) ) ) ) ) ) ).
% infiniteExecutionCfg.elims
thf(fact_105_infiniteExecutionMsg_Oelims,axiom,
! [X3: config256849571t_unit,Xa: list_c1059388851t_unit > list_message_p_v > list_c1059388851t_unit,Xb: list_c1059388851t_unit > list_message_p_v > list_message_p_v,Xc: nat,Y: list_message_p_v] :
( ( ( fLPThe536531371_p_v_s @ X3 @ Xa @ Xb @ Xc )
= Y )
=> ( ( ( Xc = zero_zero_nat )
=> ( Y != nil_message_p_v ) )
=> ~ ! [N: nat] :
( ( Xc
= ( suc @ N ) )
=> ( Y
!= ( Xb @ ( fLPThe1519354920_p_v_s @ X3 @ Xa @ Xb @ N ) @ ( fLPThe536531371_p_v_s @ X3 @ Xa @ Xb @ N ) ) ) ) ) ) ).
% infiniteExecutionMsg.elims
thf(fact_106_infiniteExecutionCfg_Osimps_I2_J,axiom,
! [Cfg: config256849571t_unit,FStepCfg: list_c1059388851t_unit > list_message_p_v > list_c1059388851t_unit,FStepMsg: list_c1059388851t_unit > list_message_p_v > list_message_p_v,N2: nat] :
( ( fLPThe1519354920_p_v_s @ Cfg @ FStepCfg @ FStepMsg @ ( suc @ N2 ) )
= ( FStepCfg @ ( fLPThe1519354920_p_v_s @ Cfg @ FStepCfg @ FStepMsg @ N2 ) @ ( fLPThe536531371_p_v_s @ Cfg @ FStepCfg @ FStepMsg @ N2 ) ) ) ).
% infiniteExecutionCfg.simps(2)
thf(fact_107_infiniteExecutionMsg_Osimps_I2_J,axiom,
! [Cfg: config256849571t_unit,FStepCfg: list_c1059388851t_unit > list_message_p_v > list_c1059388851t_unit,FStepMsg: list_c1059388851t_unit > list_message_p_v > list_message_p_v,N2: nat] :
( ( fLPThe536531371_p_v_s @ Cfg @ FStepCfg @ FStepMsg @ ( suc @ N2 ) )
= ( FStepMsg @ ( fLPThe1519354920_p_v_s @ Cfg @ FStepCfg @ FStepMsg @ N2 ) @ ( fLPThe536531371_p_v_s @ Cfg @ FStepCfg @ FStepMsg @ N2 ) ) ) ).
% infiniteExecutionMsg.simps(2)
thf(fact_108_flpPseudoConsensus_OinfiniteExecutionCfg_Osimps_I1_J,axiom,
! [Trans: p > s > messageValue_v > s,Sends: p > s > messageValue_v > message_p_v > nat,Start: p > s,Cfg: config256849571t_unit,FStepCfg: list_c1059388851t_unit > list_message_p_v > list_c1059388851t_unit,FStepMsg: list_c1059388851t_unit > list_message_p_v > list_message_p_v] :
( ( fLPThe9398366_p_s_v @ Trans @ Sends @ Start )
=> ( ( fLPThe1519354920_p_v_s @ Cfg @ FStepCfg @ FStepMsg @ zero_zero_nat )
= ( cons_c1162654829t_unit @ Cfg @ nil_co1338500125t_unit ) ) ) ).
% flpPseudoConsensus.infiniteExecutionCfg.simps(1)
thf(fact_109_n__lists__Nil,axiom,
! [N2: nat] :
( ( ( N2 = zero_zero_nat )
=> ( ( n_list1987762709t_unit @ N2 @ nil_co1338500125t_unit )
= ( cons_l1083444861t_unit @ nil_co1338500125t_unit @ nil_li307996205t_unit ) ) )
& ( ( N2 != zero_zero_nat )
=> ( ( n_list1987762709t_unit @ N2 @ nil_co1338500125t_unit )
= nil_li307996205t_unit ) ) ) ).
% n_lists_Nil
thf(fact_110_n__lists__Nil,axiom,
! [N2: nat] :
( ( ( N2 = zero_zero_nat )
=> ( ( n_lists_message_p_v @ N2 @ nil_message_p_v )
= ( cons_l233104475ge_p_v @ nil_message_p_v @ nil_list_message_p_v ) ) )
& ( ( N2 != zero_zero_nat )
=> ( ( n_lists_message_p_v @ N2 @ nil_message_p_v )
= nil_list_message_p_v ) ) ) ).
% n_lists_Nil
thf(fact_111_insert__Nil,axiom,
! [X3: config256849571t_unit] :
( ( insert1308755079t_unit @ X3 @ nil_co1338500125t_unit )
= ( cons_c1162654829t_unit @ X3 @ nil_co1338500125t_unit ) ) ).
% insert_Nil
thf(fact_112_insert__Nil,axiom,
! [X3: message_p_v] :
( ( insert_message_p_v @ X3 @ nil_message_p_v )
= ( cons_message_p_v @ X3 @ nil_message_p_v ) ) ).
% insert_Nil
thf(fact_113_nths__singleton,axiom,
! [A3: set_nat,X3: config256849571t_unit] :
( ( ( member_nat @ zero_zero_nat @ A3 )
=> ( ( nths_c890550943t_unit @ ( cons_c1162654829t_unit @ X3 @ nil_co1338500125t_unit ) @ A3 )
= ( cons_c1162654829t_unit @ X3 @ nil_co1338500125t_unit ) ) )
& ( ~ ( member_nat @ zero_zero_nat @ A3 )
=> ( ( nths_c890550943t_unit @ ( cons_c1162654829t_unit @ X3 @ nil_co1338500125t_unit ) @ A3 )
= nil_co1338500125t_unit ) ) ) ).
% nths_singleton
thf(fact_114_nths__singleton,axiom,
! [A3: set_nat,X3: message_p_v] :
( ( ( member_nat @ zero_zero_nat @ A3 )
=> ( ( nths_message_p_v @ ( cons_message_p_v @ X3 @ nil_message_p_v ) @ A3 )
= ( cons_message_p_v @ X3 @ nil_message_p_v ) ) )
& ( ~ ( member_nat @ zero_zero_nat @ A3 )
=> ( ( nths_message_p_v @ ( cons_message_p_v @ X3 @ nil_message_p_v ) @ A3 )
= nil_message_p_v ) ) ) ).
% nths_singleton
thf(fact_115_list__ex1__simps_I1_J,axiom,
! [P: config256849571t_unit > $o] :
~ ( list_e1598815642t_unit @ P @ nil_co1338500125t_unit ) ).
% list_ex1_simps(1)
thf(fact_116_list__ex1__simps_I1_J,axiom,
! [P: message_p_v > $o] :
~ ( list_ex1_message_p_v @ P @ nil_message_p_v ) ).
% list_ex1_simps(1)
thf(fact_117_n__lists_Osimps_I1_J,axiom,
! [Xs: list_c1059388851t_unit] :
( ( n_list1987762709t_unit @ zero_zero_nat @ Xs )
= ( cons_l1083444861t_unit @ nil_co1338500125t_unit @ nil_li307996205t_unit ) ) ).
% n_lists.simps(1)
thf(fact_118_n__lists_Osimps_I1_J,axiom,
! [Xs: list_message_p_v] :
( ( n_lists_message_p_v @ zero_zero_nat @ Xs )
= ( cons_l233104475ge_p_v @ nil_message_p_v @ nil_list_message_p_v ) ) ).
% n_lists.simps(1)
thf(fact_119_infiniteExecutionCfg__infiniteExecutionMsg_Oinduct_I2_J,axiom,
! [P: config256849571t_unit > ( list_c1059388851t_unit > list_message_p_v > list_c1059388851t_unit ) > ( list_c1059388851t_unit > list_message_p_v > list_message_p_v ) > nat > $o,Q: config256849571t_unit > ( list_c1059388851t_unit > list_message_p_v > list_c1059388851t_unit ) > ( list_c1059388851t_unit > list_message_p_v > list_message_p_v ) > nat > $o,A4: config256849571t_unit,A5: list_c1059388851t_unit > list_message_p_v > list_c1059388851t_unit,A6: list_c1059388851t_unit > list_message_p_v > list_message_p_v,A7: nat] :
( ! [Cfg2: config256849571t_unit,FStepCfg2: list_c1059388851t_unit > list_message_p_v > list_c1059388851t_unit,FStepMsg2: list_c1059388851t_unit > list_message_p_v > list_message_p_v] : ( P @ Cfg2 @ FStepCfg2 @ FStepMsg2 @ zero_zero_nat )
=> ( ! [Cfg2: config256849571t_unit,FStepCfg2: list_c1059388851t_unit > list_message_p_v > list_c1059388851t_unit,FStepMsg2: list_c1059388851t_unit > list_message_p_v > list_message_p_v,N: nat] :
( ( P @ Cfg2 @ FStepCfg2 @ FStepMsg2 @ N )
=> ( ( Q @ Cfg2 @ FStepCfg2 @ FStepMsg2 @ N )
=> ( P @ Cfg2 @ FStepCfg2 @ FStepMsg2 @ ( suc @ N ) ) ) )
=> ( ! [Cfg2: config256849571t_unit,FStepCfg2: list_c1059388851t_unit > list_message_p_v > list_c1059388851t_unit,FStepMsg2: list_c1059388851t_unit > list_message_p_v > list_message_p_v] : ( Q @ Cfg2 @ FStepCfg2 @ FStepMsg2 @ zero_zero_nat )
=> ( ! [Cfg2: config256849571t_unit,FStepCfg2: list_c1059388851t_unit > list_message_p_v > list_c1059388851t_unit,FStepMsg2: list_c1059388851t_unit > list_message_p_v > list_message_p_v,N: nat] :
( ( P @ Cfg2 @ FStepCfg2 @ FStepMsg2 @ N )
=> ( ( Q @ Cfg2 @ FStepCfg2 @ FStepMsg2 @ N )
=> ( Q @ Cfg2 @ FStepCfg2 @ FStepMsg2 @ ( suc @ N ) ) ) )
=> ( Q @ A4 @ A5 @ A6 @ A7 ) ) ) ) ) ).
% infiniteExecutionCfg_infiniteExecutionMsg.induct(2)
thf(fact_120_infiniteExecutionCfg__infiniteExecutionMsg_Oinduct_I1_J,axiom,
! [P: config256849571t_unit > ( list_c1059388851t_unit > list_message_p_v > list_c1059388851t_unit ) > ( list_c1059388851t_unit > list_message_p_v > list_message_p_v ) > nat > $o,Q: config256849571t_unit > ( list_c1059388851t_unit > list_message_p_v > list_c1059388851t_unit ) > ( list_c1059388851t_unit > list_message_p_v > list_message_p_v ) > nat > $o,A0: config256849571t_unit,A1: list_c1059388851t_unit > list_message_p_v > list_c1059388851t_unit,A2: list_c1059388851t_unit > list_message_p_v > list_message_p_v,A32: nat] :
( ! [Cfg2: config256849571t_unit,FStepCfg2: list_c1059388851t_unit > list_message_p_v > list_c1059388851t_unit,FStepMsg2: list_c1059388851t_unit > list_message_p_v > list_message_p_v] : ( P @ Cfg2 @ FStepCfg2 @ FStepMsg2 @ zero_zero_nat )
=> ( ! [Cfg2: config256849571t_unit,FStepCfg2: list_c1059388851t_unit > list_message_p_v > list_c1059388851t_unit,FStepMsg2: list_c1059388851t_unit > list_message_p_v > list_message_p_v,N: nat] :
( ( P @ Cfg2 @ FStepCfg2 @ FStepMsg2 @ N )
=> ( ( Q @ Cfg2 @ FStepCfg2 @ FStepMsg2 @ N )
=> ( P @ Cfg2 @ FStepCfg2 @ FStepMsg2 @ ( suc @ N ) ) ) )
=> ( ! [Cfg2: config256849571t_unit,FStepCfg2: list_c1059388851t_unit > list_message_p_v > list_c1059388851t_unit,FStepMsg2: list_c1059388851t_unit > list_message_p_v > list_message_p_v] : ( Q @ Cfg2 @ FStepCfg2 @ FStepMsg2 @ zero_zero_nat )
=> ( ! [Cfg2: config256849571t_unit,FStepCfg2: list_c1059388851t_unit > list_message_p_v > list_c1059388851t_unit,FStepMsg2: list_c1059388851t_unit > list_message_p_v > list_message_p_v,N: nat] :
( ( P @ Cfg2 @ FStepCfg2 @ FStepMsg2 @ N )
=> ( ( Q @ Cfg2 @ FStepCfg2 @ FStepMsg2 @ N )
=> ( Q @ Cfg2 @ FStepCfg2 @ FStepMsg2 @ ( suc @ N ) ) ) )
=> ( P @ A0 @ A1 @ A2 @ A32 ) ) ) ) ) ).
% infiniteExecutionCfg_infiniteExecutionMsg.induct(1)
thf(fact_121_nths__nil,axiom,
! [A3: set_nat] :
( ( nths_c890550943t_unit @ nil_co1338500125t_unit @ A3 )
= nil_co1338500125t_unit ) ).
% nths_nil
thf(fact_122_nths__nil,axiom,
! [A3: set_nat] :
( ( nths_message_p_v @ nil_message_p_v @ A3 )
= nil_message_p_v ) ).
% nths_nil
thf(fact_123_flpPseudoConsensus_OinfiniteExecutionMsg_Osimps_I2_J,axiom,
! [Trans: p > s > messageValue_v > s,Sends: p > s > messageValue_v > message_p_v > nat,Start: p > s,Cfg: config256849571t_unit,FStepCfg: list_c1059388851t_unit > list_message_p_v > list_c1059388851t_unit,FStepMsg: list_c1059388851t_unit > list_message_p_v > list_message_p_v,N2: nat] :
( ( fLPThe9398366_p_s_v @ Trans @ Sends @ Start )
=> ( ( fLPThe536531371_p_v_s @ Cfg @ FStepCfg @ FStepMsg @ ( suc @ N2 ) )
= ( FStepMsg @ ( fLPThe1519354920_p_v_s @ Cfg @ FStepCfg @ FStepMsg @ N2 ) @ ( fLPThe536531371_p_v_s @ Cfg @ FStepCfg @ FStepMsg @ N2 ) ) ) ) ).
% flpPseudoConsensus.infiniteExecutionMsg.simps(2)
thf(fact_124_flpPseudoConsensus_OinfiniteExecutionCfg_Osimps_I2_J,axiom,
! [Trans: p > s > messageValue_v > s,Sends: p > s > messageValue_v > message_p_v > nat,Start: p > s,Cfg: config256849571t_unit,FStepCfg: list_c1059388851t_unit > list_message_p_v > list_c1059388851t_unit,FStepMsg: list_c1059388851t_unit > list_message_p_v > list_message_p_v,N2: nat] :
( ( fLPThe9398366_p_s_v @ Trans @ Sends @ Start )
=> ( ( fLPThe1519354920_p_v_s @ Cfg @ FStepCfg @ FStepMsg @ ( suc @ N2 ) )
= ( FStepCfg @ ( fLPThe1519354920_p_v_s @ Cfg @ FStepCfg @ FStepMsg @ N2 ) @ ( fLPThe536531371_p_v_s @ Cfg @ FStepCfg @ FStepMsg @ N2 ) ) ) ) ).
% flpPseudoConsensus.infiniteExecutionCfg.simps(2)
thf(fact_125_flpPseudoConsensus_OinfiniteExecutionMsg_Oelims,axiom,
! [Trans: p > s > messageValue_v > s,Sends: p > s > messageValue_v > message_p_v > nat,Start: p > s,X3: config256849571t_unit,Xa: list_c1059388851t_unit > list_message_p_v > list_c1059388851t_unit,Xb: list_c1059388851t_unit > list_message_p_v > list_message_p_v,Xc: nat,Y: list_message_p_v] :
( ( fLPThe9398366_p_s_v @ Trans @ Sends @ Start )
=> ( ( ( fLPThe536531371_p_v_s @ X3 @ Xa @ Xb @ Xc )
= Y )
=> ( ( ( Xc = zero_zero_nat )
=> ( Y != nil_message_p_v ) )
=> ~ ! [N: nat] :
( ( Xc
= ( suc @ N ) )
=> ( Y
!= ( Xb @ ( fLPThe1519354920_p_v_s @ X3 @ Xa @ Xb @ N ) @ ( fLPThe536531371_p_v_s @ X3 @ Xa @ Xb @ N ) ) ) ) ) ) ) ).
% flpPseudoConsensus.infiniteExecutionMsg.elims
thf(fact_126_flpPseudoConsensus_OinfiniteExecutionMsg_Osimps_I1_J,axiom,
! [Trans: p > s > messageValue_v > s,Sends: p > s > messageValue_v > message_p_v > nat,Start: p > s,Cfg: config256849571t_unit,FStepCfg: list_c1059388851t_unit > list_message_p_v > list_c1059388851t_unit,FStepMsg: list_c1059388851t_unit > list_message_p_v > list_message_p_v] :
( ( fLPThe9398366_p_s_v @ Trans @ Sends @ Start )
=> ( ( fLPThe536531371_p_v_s @ Cfg @ FStepCfg @ FStepMsg @ zero_zero_nat )
= nil_message_p_v ) ) ).
% flpPseudoConsensus.infiniteExecutionMsg.simps(1)
thf(fact_127_flpPseudoConsensus_OinfiniteExecutionCfg_Oelims,axiom,
! [Trans: p > s > messageValue_v > s,Sends: p > s > messageValue_v > message_p_v > nat,Start: p > s,X3: config256849571t_unit,Xa: list_c1059388851t_unit > list_message_p_v > list_c1059388851t_unit,Xb: list_c1059388851t_unit > list_message_p_v > list_message_p_v,Xc: nat,Y: list_c1059388851t_unit] :
( ( fLPThe9398366_p_s_v @ Trans @ Sends @ Start )
=> ( ( ( fLPThe1519354920_p_v_s @ X3 @ Xa @ Xb @ Xc )
= Y )
=> ( ( ( Xc = zero_zero_nat )
=> ( Y
!= ( cons_c1162654829t_unit @ X3 @ nil_co1338500125t_unit ) ) )
=> ~ ! [N: nat] :
( ( Xc
= ( suc @ N ) )
=> ( Y
!= ( Xa @ ( fLPThe1519354920_p_v_s @ X3 @ Xa @ Xb @ N ) @ ( fLPThe536531371_p_v_s @ X3 @ Xa @ Xb @ N ) ) ) ) ) ) ) ).
% flpPseudoConsensus.infiniteExecutionCfg.elims
thf(fact_128_old_Onat_Oinject,axiom,
! [Nat: nat,Nat2: nat] :
( ( ( suc @ Nat )
= ( suc @ Nat2 ) )
= ( Nat = Nat2 ) ) ).
% old.nat.inject
thf(fact_129_nat_Oinject,axiom,
! [X23: nat,Y23: nat] :
( ( ( suc @ X23 )
= ( suc @ Y23 ) )
= ( X23 = Y23 ) ) ).
% nat.inject
thf(fact_130_nat_Odistinct_I1_J,axiom,
! [X23: nat] :
( zero_zero_nat
!= ( suc @ X23 ) ) ).
% nat.distinct(1)
thf(fact_131_old_Onat_Odistinct_I2_J,axiom,
! [Nat2: nat] :
( ( suc @ Nat2 )
!= zero_zero_nat ) ).
% old.nat.distinct(2)
thf(fact_132_old_Onat_Odistinct_I1_J,axiom,
! [Nat2: nat] :
( zero_zero_nat
!= ( suc @ Nat2 ) ) ).
% old.nat.distinct(1)
thf(fact_133_nat_OdiscI,axiom,
! [Nat: nat,X23: nat] :
( ( Nat
= ( suc @ X23 ) )
=> ( Nat != zero_zero_nat ) ) ).
% nat.discI
thf(fact_134_nat__induct,axiom,
! [P: nat > $o,N2: nat] :
( ( P @ zero_zero_nat )
=> ( ! [N: nat] :
( ( P @ N )
=> ( P @ ( suc @ N ) ) )
=> ( P @ N2 ) ) ) ).
% nat_induct
thf(fact_135_Suc__inject,axiom,
! [X3: nat,Y: nat] :
( ( ( suc @ X3 )
= ( suc @ Y ) )
=> ( X3 = Y ) ) ).
% Suc_inject
thf(fact_136_n__not__Suc__n,axiom,
! [N2: nat] :
( N2
!= ( suc @ N2 ) ) ).
% n_not_Suc_n
thf(fact_137_not0__implies__Suc,axiom,
! [N2: nat] :
( ( N2 != zero_zero_nat )
=> ? [M: nat] :
( N2
= ( suc @ M ) ) ) ).
% not0_implies_Suc
thf(fact_138_old_Onat_Oinducts,axiom,
! [P: nat > $o,Nat: nat] :
( ( P @ zero_zero_nat )
=> ( ! [Nat3: nat] :
( ( P @ Nat3 )
=> ( P @ ( suc @ Nat3 ) ) )
=> ( P @ Nat ) ) ) ).
% old.nat.inducts
thf(fact_139_old_Onat_Oexhaust,axiom,
! [Y: nat] :
( ( Y != zero_zero_nat )
=> ~ ! [Nat3: nat] :
( Y
!= ( suc @ Nat3 ) ) ) ).
% old.nat.exhaust
thf(fact_140_Zero__not__Suc,axiom,
! [M2: nat] :
( zero_zero_nat
!= ( suc @ M2 ) ) ).
% Zero_not_Suc
thf(fact_141_Zero__neq__Suc,axiom,
! [M2: nat] :
( zero_zero_nat
!= ( suc @ M2 ) ) ).
% Zero_neq_Suc
thf(fact_142_Suc__neq__Zero,axiom,
! [M2: nat] :
( ( suc @ M2 )
!= zero_zero_nat ) ).
% Suc_neq_Zero
thf(fact_143_zero__induct,axiom,
! [P: nat > $o,K: nat] :
( ( P @ K )
=> ( ! [N: nat] :
( ( P @ ( suc @ N ) )
=> ( P @ N ) )
=> ( P @ zero_zero_nat ) ) ) ).
% zero_induct
thf(fact_144_diff__induct,axiom,
! [P: nat > nat > $o,M2: nat,N2: nat] :
( ! [X: nat] : ( P @ X @ zero_zero_nat )
=> ( ! [Y3: nat] : ( P @ zero_zero_nat @ ( suc @ Y3 ) )
=> ( ! [X: nat,Y3: nat] :
( ( P @ X @ Y3 )
=> ( P @ ( suc @ X ) @ ( suc @ Y3 ) ) )
=> ( P @ M2 @ N2 ) ) ) ) ).
% diff_induct
thf(fact_145_product__lists_Osimps_I1_J,axiom,
( ( produc663212148t_unit @ nil_li307996205t_unit )
= ( cons_l1083444861t_unit @ nil_co1338500125t_unit @ nil_li307996205t_unit ) ) ).
% product_lists.simps(1)
thf(fact_146_product__lists_Osimps_I1_J,axiom,
( ( produc1505827982ge_p_v @ nil_list_message_p_v )
= ( cons_l233104475ge_p_v @ nil_message_p_v @ nil_list_message_p_v ) ) ).
% product_lists.simps(1)
thf(fact_147_subseqs_Osimps_I1_J,axiom,
( ( subseq1144048270t_unit @ nil_co1338500125t_unit )
= ( cons_l1083444861t_unit @ nil_co1338500125t_unit @ nil_li307996205t_unit ) ) ).
% subseqs.simps(1)
thf(fact_148_subseqs_Osimps_I1_J,axiom,
( ( subseqs_message_p_v @ nil_message_p_v )
= ( cons_l233104475ge_p_v @ nil_message_p_v @ nil_list_message_p_v ) ) ).
% subseqs.simps(1)
thf(fact_149_gen__length__code_I2_J,axiom,
! [N2: nat,X3: config256849571t_unit,Xs: list_c1059388851t_unit] :
( ( gen_le193291088t_unit @ N2 @ ( cons_c1162654829t_unit @ X3 @ Xs ) )
= ( gen_le193291088t_unit @ ( suc @ N2 ) @ Xs ) ) ).
% gen_length_code(2)
thf(fact_150_gen__length__code_I2_J,axiom,
! [N2: nat,X3: message_p_v,Xs: list_message_p_v] :
( ( gen_le697204914ge_p_v @ N2 @ ( cons_message_p_v @ X3 @ Xs ) )
= ( gen_le697204914ge_p_v @ ( suc @ N2 ) @ Xs ) ) ).
% gen_length_code(2)
thf(fact_151_count__list_Osimps_I1_J,axiom,
! [Y: config256849571t_unit] :
( ( count_1396868135t_unit @ nil_co1338500125t_unit @ Y )
= zero_zero_nat ) ).
% count_list.simps(1)
thf(fact_152_count__list_Osimps_I1_J,axiom,
! [Y: message_p_v] :
( ( count_1322329499ge_p_v @ nil_message_p_v @ Y )
= zero_zero_nat ) ).
% count_list.simps(1)
thf(fact_153_map__tailrec__rev_Oelims,axiom,
! [X3: config256849571t_unit > config256849571t_unit,Xa: list_c1059388851t_unit,Xb: list_c1059388851t_unit,Y: list_c1059388851t_unit] :
( ( ( map_ta91747645t_unit @ X3 @ Xa @ Xb )
= Y )
=> ( ( ( Xa = nil_co1338500125t_unit )
=> ( Y != Xb ) )
=> ~ ! [A: config256849571t_unit,As: list_c1059388851t_unit] :
( ( Xa
= ( cons_c1162654829t_unit @ A @ As ) )
=> ( Y
!= ( map_ta91747645t_unit @ X3 @ As @ ( cons_c1162654829t_unit @ ( X3 @ A ) @ Xb ) ) ) ) ) ) ).
% map_tailrec_rev.elims
thf(fact_154_map__tailrec__rev_Oelims,axiom,
! [X3: config256849571t_unit > message_p_v,Xa: list_c1059388851t_unit,Xb: list_message_p_v,Y: list_message_p_v] :
( ( ( map_ta782801413ge_p_v @ X3 @ Xa @ Xb )
= Y )
=> ( ( ( Xa = nil_co1338500125t_unit )
=> ( Y != Xb ) )
=> ~ ! [A: config256849571t_unit,As: list_c1059388851t_unit] :
( ( Xa
= ( cons_c1162654829t_unit @ A @ As ) )
=> ( Y
!= ( map_ta782801413ge_p_v @ X3 @ As @ ( cons_message_p_v @ ( X3 @ A ) @ Xb ) ) ) ) ) ) ).
% map_tailrec_rev.elims
thf(fact_155_map__tailrec__rev_Oelims,axiom,
! [X3: message_p_v > config256849571t_unit,Xa: list_message_p_v,Xb: list_c1059388851t_unit,Y: list_c1059388851t_unit] :
( ( ( map_ta1131406733t_unit @ X3 @ Xa @ Xb )
= Y )
=> ( ( ( Xa = nil_message_p_v )
=> ( Y != Xb ) )
=> ~ ! [A: message_p_v,As: list_message_p_v] :
( ( Xa
= ( cons_message_p_v @ A @ As ) )
=> ( Y
!= ( map_ta1131406733t_unit @ X3 @ As @ ( cons_c1162654829t_unit @ ( X3 @ A ) @ Xb ) ) ) ) ) ) ).
% map_tailrec_rev.elims
thf(fact_156_map__tailrec__rev_Oelims,axiom,
! [X3: message_p_v > message_p_v,Xa: list_message_p_v,Xb: list_message_p_v,Y: list_message_p_v] :
( ( ( map_ta1016577461ge_p_v @ X3 @ Xa @ Xb )
= Y )
=> ( ( ( Xa = nil_message_p_v )
=> ( Y != Xb ) )
=> ~ ! [A: message_p_v,As: list_message_p_v] :
( ( Xa
= ( cons_message_p_v @ A @ As ) )
=> ( Y
!= ( map_ta1016577461ge_p_v @ X3 @ As @ ( cons_message_p_v @ ( X3 @ A ) @ Xb ) ) ) ) ) ) ).
% map_tailrec_rev.elims
thf(fact_157_map__tailrec__rev_Osimps_I2_J,axiom,
! [F2: config256849571t_unit > config256849571t_unit,A8: config256849571t_unit,As2: list_c1059388851t_unit,Bs2: list_c1059388851t_unit] :
( ( map_ta91747645t_unit @ F2 @ ( cons_c1162654829t_unit @ A8 @ As2 ) @ Bs2 )
= ( map_ta91747645t_unit @ F2 @ As2 @ ( cons_c1162654829t_unit @ ( F2 @ A8 ) @ Bs2 ) ) ) ).
% map_tailrec_rev.simps(2)
thf(fact_158_map__tailrec__rev_Osimps_I2_J,axiom,
! [F2: config256849571t_unit > message_p_v,A8: config256849571t_unit,As2: list_c1059388851t_unit,Bs2: list_message_p_v] :
( ( map_ta782801413ge_p_v @ F2 @ ( cons_c1162654829t_unit @ A8 @ As2 ) @ Bs2 )
= ( map_ta782801413ge_p_v @ F2 @ As2 @ ( cons_message_p_v @ ( F2 @ A8 ) @ Bs2 ) ) ) ).
% map_tailrec_rev.simps(2)
thf(fact_159_map__tailrec__rev_Osimps_I2_J,axiom,
! [F2: message_p_v > config256849571t_unit,A8: message_p_v,As2: list_message_p_v,Bs2: list_c1059388851t_unit] :
( ( map_ta1131406733t_unit @ F2 @ ( cons_message_p_v @ A8 @ As2 ) @ Bs2 )
= ( map_ta1131406733t_unit @ F2 @ As2 @ ( cons_c1162654829t_unit @ ( F2 @ A8 ) @ Bs2 ) ) ) ).
% map_tailrec_rev.simps(2)
thf(fact_160_map__tailrec__rev_Osimps_I2_J,axiom,
! [F2: message_p_v > message_p_v,A8: message_p_v,As2: list_message_p_v,Bs2: list_message_p_v] :
( ( map_ta1016577461ge_p_v @ F2 @ ( cons_message_p_v @ A8 @ As2 ) @ Bs2 )
= ( map_ta1016577461ge_p_v @ F2 @ As2 @ ( cons_message_p_v @ ( F2 @ A8 ) @ Bs2 ) ) ) ).
% map_tailrec_rev.simps(2)
thf(fact_161_gen__length__code_I1_J,axiom,
! [N2: nat] :
( ( gen_le193291088t_unit @ N2 @ nil_co1338500125t_unit )
= N2 ) ).
% gen_length_code(1)
thf(fact_162_gen__length__code_I1_J,axiom,
! [N2: nat] :
( ( gen_le697204914ge_p_v @ N2 @ nil_message_p_v )
= N2 ) ).
% gen_length_code(1)
thf(fact_163_ord_Olexordp__eq__simps_I3_J,axiom,
! [Less: config256849571t_unit > config256849571t_unit > $o,X3: config256849571t_unit,Xs: list_c1059388851t_unit] :
~ ( lexord1758866263t_unit @ Less @ ( cons_c1162654829t_unit @ X3 @ Xs ) @ nil_co1338500125t_unit ) ).
% ord.lexordp_eq_simps(3)
thf(fact_164_ord_Olexordp__eq__simps_I3_J,axiom,
! [Less: message_p_v > message_p_v > $o,X3: message_p_v,Xs: list_message_p_v] :
~ ( lexord2101627499ge_p_v @ Less @ ( cons_message_p_v @ X3 @ Xs ) @ nil_message_p_v ) ).
% ord.lexordp_eq_simps(3)
thf(fact_165_bind__simps_I1_J,axiom,
! [F2: config256849571t_unit > list_c1059388851t_unit] :
( ( bind_c1439720399t_unit @ nil_co1338500125t_unit @ F2 )
= nil_co1338500125t_unit ) ).
% bind_simps(1)
thf(fact_166_bind__simps_I1_J,axiom,
! [F2: config256849571t_unit > list_message_p_v] :
( ( bind_c246984691ge_p_v @ nil_co1338500125t_unit @ F2 )
= nil_message_p_v ) ).
% bind_simps(1)
thf(fact_167_bind__simps_I1_J,axiom,
! [F2: message_p_v > list_c1059388851t_unit] :
( ( bind_m595590011t_unit @ nil_message_p_v @ F2 )
= nil_co1338500125t_unit ) ).
% bind_simps(1)
thf(fact_168_bind__simps_I1_J,axiom,
! [F2: message_p_v > list_message_p_v] :
( ( bind_m729301831ge_p_v @ nil_message_p_v @ F2 )
= nil_message_p_v ) ).
% bind_simps(1)
thf(fact_169_listrelp_Ocases,axiom,
! [R: config256849571t_unit > config256849571t_unit > $o,A1: list_c1059388851t_unit,A2: list_c1059388851t_unit] :
( ( listre990624391t_unit @ R @ A1 @ A2 )
=> ( ( ( A1 = nil_co1338500125t_unit )
=> ( A2 != nil_co1338500125t_unit ) )
=> ~ ! [X: config256849571t_unit,Y3: config256849571t_unit,Xs2: list_c1059388851t_unit] :
( ( A1
= ( cons_c1162654829t_unit @ X @ Xs2 ) )
=> ! [Ys3: list_c1059388851t_unit] :
( ( A2
= ( cons_c1162654829t_unit @ Y3 @ Ys3 ) )
=> ( ( R @ X @ Y3 )
=> ~ ( listre990624391t_unit @ R @ Xs2 @ Ys3 ) ) ) ) ) ) ).
% listrelp.cases
thf(fact_170_listrelp_Ocases,axiom,
! [R: config256849571t_unit > message_p_v > $o,A1: list_c1059388851t_unit,A2: list_message_p_v] :
( ( listre823101243ge_p_v @ R @ A1 @ A2 )
=> ( ( ( A1 = nil_co1338500125t_unit )
=> ( A2 != nil_message_p_v ) )
=> ~ ! [X: config256849571t_unit,Y3: message_p_v,Xs2: list_c1059388851t_unit] :
( ( A1
= ( cons_c1162654829t_unit @ X @ Xs2 ) )
=> ! [Ys3: list_message_p_v] :
( ( A2
= ( cons_message_p_v @ Y3 @ Ys3 ) )
=> ( ( R @ X @ Y3 )
=> ~ ( listre823101243ge_p_v @ R @ Xs2 @ Ys3 ) ) ) ) ) ) ).
% listrelp.cases
thf(fact_171_listrelp_Ocases,axiom,
! [R: message_p_v > config256849571t_unit > $o,A1: list_message_p_v,A2: list_c1059388851t_unit] :
( ( listre1171706563t_unit @ R @ A1 @ A2 )
=> ( ( ( A1 = nil_message_p_v )
=> ( A2 != nil_co1338500125t_unit ) )
=> ~ ! [X: message_p_v,Y3: config256849571t_unit,Xs2: list_message_p_v] :
( ( A1
= ( cons_message_p_v @ X @ Xs2 ) )
=> ! [Ys3: list_c1059388851t_unit] :
( ( A2
= ( cons_c1162654829t_unit @ Y3 @ Ys3 ) )
=> ( ( R @ X @ Y3 )
=> ~ ( listre1171706563t_unit @ R @ Xs2 @ Ys3 ) ) ) ) ) ) ).
% listrelp.cases
thf(fact_172_listrelp_Ocases,axiom,
! [R: message_p_v > message_p_v > $o,A1: list_message_p_v,A2: list_message_p_v] :
( ( listre1295695359ge_p_v @ R @ A1 @ A2 )
=> ( ( ( A1 = nil_message_p_v )
=> ( A2 != nil_message_p_v ) )
=> ~ ! [X: message_p_v,Y3: message_p_v,Xs2: list_message_p_v] :
( ( A1
= ( cons_message_p_v @ X @ Xs2 ) )
=> ! [Ys3: list_message_p_v] :
( ( A2
= ( cons_message_p_v @ Y3 @ Ys3 ) )
=> ( ( R @ X @ Y3 )
=> ~ ( listre1295695359ge_p_v @ R @ Xs2 @ Ys3 ) ) ) ) ) ) ).
% listrelp.cases
thf(fact_173_listrelp_Osimps,axiom,
( listre990624391t_unit
= ( ^ [R2: config256849571t_unit > config256849571t_unit > $o,A12: list_c1059388851t_unit,A22: list_c1059388851t_unit] :
( ( ( A12 = nil_co1338500125t_unit )
& ( A22 = nil_co1338500125t_unit ) )
| ? [X4: config256849571t_unit,Y2: config256849571t_unit,Xs3: list_c1059388851t_unit,Ys: list_c1059388851t_unit] :
( ( A12
= ( cons_c1162654829t_unit @ X4 @ Xs3 ) )
& ( A22
= ( cons_c1162654829t_unit @ Y2 @ Ys ) )
& ( R2 @ X4 @ Y2 )
& ( listre990624391t_unit @ R2 @ Xs3 @ Ys ) ) ) ) ) ).
% listrelp.simps
thf(fact_174_listrelp_Osimps,axiom,
( listre823101243ge_p_v
= ( ^ [R2: config256849571t_unit > message_p_v > $o,A12: list_c1059388851t_unit,A22: list_message_p_v] :
( ( ( A12 = nil_co1338500125t_unit )
& ( A22 = nil_message_p_v ) )
| ? [X4: config256849571t_unit,Y2: message_p_v,Xs3: list_c1059388851t_unit,Ys: list_message_p_v] :
( ( A12
= ( cons_c1162654829t_unit @ X4 @ Xs3 ) )
& ( A22
= ( cons_message_p_v @ Y2 @ Ys ) )
& ( R2 @ X4 @ Y2 )
& ( listre823101243ge_p_v @ R2 @ Xs3 @ Ys ) ) ) ) ) ).
% listrelp.simps
thf(fact_175_listrelp_Osimps,axiom,
( listre1171706563t_unit
= ( ^ [R2: message_p_v > config256849571t_unit > $o,A12: list_message_p_v,A22: list_c1059388851t_unit] :
( ( ( A12 = nil_message_p_v )
& ( A22 = nil_co1338500125t_unit ) )
| ? [X4: message_p_v,Y2: config256849571t_unit,Xs3: list_message_p_v,Ys: list_c1059388851t_unit] :
( ( A12
= ( cons_message_p_v @ X4 @ Xs3 ) )
& ( A22
= ( cons_c1162654829t_unit @ Y2 @ Ys ) )
& ( R2 @ X4 @ Y2 )
& ( listre1171706563t_unit @ R2 @ Xs3 @ Ys ) ) ) ) ) ).
% listrelp.simps
thf(fact_176_listrelp_Osimps,axiom,
( listre1295695359ge_p_v
= ( ^ [R2: message_p_v > message_p_v > $o,A12: list_message_p_v,A22: list_message_p_v] :
( ( ( A12 = nil_message_p_v )
& ( A22 = nil_message_p_v ) )
| ? [X4: message_p_v,Y2: message_p_v,Xs3: list_message_p_v,Ys: list_message_p_v] :
( ( A12
= ( cons_message_p_v @ X4 @ Xs3 ) )
& ( A22
= ( cons_message_p_v @ Y2 @ Ys ) )
& ( R2 @ X4 @ Y2 )
& ( listre1295695359ge_p_v @ R2 @ Xs3 @ Ys ) ) ) ) ) ).
% listrelp.simps
thf(fact_177_listrelp_Oinducts,axiom,
! [R: config256849571t_unit > config256849571t_unit > $o,X12: list_c1059388851t_unit,X23: list_c1059388851t_unit,P: list_c1059388851t_unit > list_c1059388851t_unit > $o] :
( ( listre990624391t_unit @ R @ X12 @ X23 )
=> ( ( P @ nil_co1338500125t_unit @ nil_co1338500125t_unit )
=> ( ! [X: config256849571t_unit,Y3: config256849571t_unit,Xs2: list_c1059388851t_unit,Ys3: list_c1059388851t_unit] :
( ( R @ X @ Y3 )
=> ( ( listre990624391t_unit @ R @ Xs2 @ Ys3 )
=> ( ( P @ Xs2 @ Ys3 )
=> ( P @ ( cons_c1162654829t_unit @ X @ Xs2 ) @ ( cons_c1162654829t_unit @ Y3 @ Ys3 ) ) ) ) )
=> ( P @ X12 @ X23 ) ) ) ) ).
% listrelp.inducts
thf(fact_178_listrelp_Oinducts,axiom,
! [R: config256849571t_unit > message_p_v > $o,X12: list_c1059388851t_unit,X23: list_message_p_v,P: list_c1059388851t_unit > list_message_p_v > $o] :
( ( listre823101243ge_p_v @ R @ X12 @ X23 )
=> ( ( P @ nil_co1338500125t_unit @ nil_message_p_v )
=> ( ! [X: config256849571t_unit,Y3: message_p_v,Xs2: list_c1059388851t_unit,Ys3: list_message_p_v] :
( ( R @ X @ Y3 )
=> ( ( listre823101243ge_p_v @ R @ Xs2 @ Ys3 )
=> ( ( P @ Xs2 @ Ys3 )
=> ( P @ ( cons_c1162654829t_unit @ X @ Xs2 ) @ ( cons_message_p_v @ Y3 @ Ys3 ) ) ) ) )
=> ( P @ X12 @ X23 ) ) ) ) ).
% listrelp.inducts
thf(fact_179_listrelp_Oinducts,axiom,
! [R: message_p_v > config256849571t_unit > $o,X12: list_message_p_v,X23: list_c1059388851t_unit,P: list_message_p_v > list_c1059388851t_unit > $o] :
( ( listre1171706563t_unit @ R @ X12 @ X23 )
=> ( ( P @ nil_message_p_v @ nil_co1338500125t_unit )
=> ( ! [X: message_p_v,Y3: config256849571t_unit,Xs2: list_message_p_v,Ys3: list_c1059388851t_unit] :
( ( R @ X @ Y3 )
=> ( ( listre1171706563t_unit @ R @ Xs2 @ Ys3 )
=> ( ( P @ Xs2 @ Ys3 )
=> ( P @ ( cons_message_p_v @ X @ Xs2 ) @ ( cons_c1162654829t_unit @ Y3 @ Ys3 ) ) ) ) )
=> ( P @ X12 @ X23 ) ) ) ) ).
% listrelp.inducts
thf(fact_180_listrelp_Oinducts,axiom,
! [R: message_p_v > message_p_v > $o,X12: list_message_p_v,X23: list_message_p_v,P: list_message_p_v > list_message_p_v > $o] :
( ( listre1295695359ge_p_v @ R @ X12 @ X23 )
=> ( ( P @ nil_message_p_v @ nil_message_p_v )
=> ( ! [X: message_p_v,Y3: message_p_v,Xs2: list_message_p_v,Ys3: list_message_p_v] :
( ( R @ X @ Y3 )
=> ( ( listre1295695359ge_p_v @ R @ Xs2 @ Ys3 )
=> ( ( P @ Xs2 @ Ys3 )
=> ( P @ ( cons_message_p_v @ X @ Xs2 ) @ ( cons_message_p_v @ Y3 @ Ys3 ) ) ) ) )
=> ( P @ X12 @ X23 ) ) ) ) ).
% listrelp.inducts
thf(fact_181_ord_Olexordp__eq__simps_I4_J,axiom,
! [Less: config256849571t_unit > config256849571t_unit > $o,X3: config256849571t_unit,Xs: list_c1059388851t_unit,Y: config256849571t_unit,Ys2: list_c1059388851t_unit] :
( ( lexord1758866263t_unit @ Less @ ( cons_c1162654829t_unit @ X3 @ Xs ) @ ( cons_c1162654829t_unit @ Y @ Ys2 ) )
= ( ( Less @ X3 @ Y )
| ( ~ ( Less @ Y @ X3 )
& ( lexord1758866263t_unit @ Less @ Xs @ Ys2 ) ) ) ) ).
% ord.lexordp_eq_simps(4)
thf(fact_182_ord_Olexordp__eq__simps_I4_J,axiom,
! [Less: message_p_v > message_p_v > $o,X3: message_p_v,Xs: list_message_p_v,Y: message_p_v,Ys2: list_message_p_v] :
( ( lexord2101627499ge_p_v @ Less @ ( cons_message_p_v @ X3 @ Xs ) @ ( cons_message_p_v @ Y @ Ys2 ) )
= ( ( Less @ X3 @ Y )
| ( ~ ( Less @ Y @ X3 )
& ( lexord2101627499ge_p_v @ Less @ Xs @ Ys2 ) ) ) ) ).
% ord.lexordp_eq_simps(4)
thf(fact_183_ord_Olexordp__eq__simps_I1_J,axiom,
! [Less: config256849571t_unit > config256849571t_unit > $o,Ys2: list_c1059388851t_unit] : ( lexord1758866263t_unit @ Less @ nil_co1338500125t_unit @ Ys2 ) ).
% ord.lexordp_eq_simps(1)
thf(fact_184_ord_Olexordp__eq__simps_I1_J,axiom,
! [Less: message_p_v > message_p_v > $o,Ys2: list_message_p_v] : ( lexord2101627499ge_p_v @ Less @ nil_message_p_v @ Ys2 ) ).
% ord.lexordp_eq_simps(1)
thf(fact_185_ord_Olexordp__eq__simps_I2_J,axiom,
! [Less: config256849571t_unit > config256849571t_unit > $o,Xs: list_c1059388851t_unit] :
( ( lexord1758866263t_unit @ Less @ Xs @ nil_co1338500125t_unit )
= ( Xs = nil_co1338500125t_unit ) ) ).
% ord.lexordp_eq_simps(2)
thf(fact_186_ord_Olexordp__eq__simps_I2_J,axiom,
! [Less: message_p_v > message_p_v > $o,Xs: list_message_p_v] :
( ( lexord2101627499ge_p_v @ Less @ Xs @ nil_message_p_v )
= ( Xs = nil_message_p_v ) ) ).
% ord.lexordp_eq_simps(2)
thf(fact_187_ord_Olexordp__eq_OCons__eq,axiom,
! [Less: config256849571t_unit > config256849571t_unit > $o,X3: config256849571t_unit,Y: config256849571t_unit,Xs: list_c1059388851t_unit,Ys2: list_c1059388851t_unit] :
( ~ ( Less @ X3 @ Y )
=> ( ~ ( Less @ Y @ X3 )
=> ( ( lexord1758866263t_unit @ Less @ Xs @ Ys2 )
=> ( lexord1758866263t_unit @ Less @ ( cons_c1162654829t_unit @ X3 @ Xs ) @ ( cons_c1162654829t_unit @ Y @ Ys2 ) ) ) ) ) ).
% ord.lexordp_eq.Cons_eq
thf(fact_188_ord_Olexordp__eq_OCons__eq,axiom,
! [Less: message_p_v > message_p_v > $o,X3: message_p_v,Y: message_p_v,Xs: list_message_p_v,Ys2: list_message_p_v] :
( ~ ( Less @ X3 @ Y )
=> ( ~ ( Less @ Y @ X3 )
=> ( ( lexord2101627499ge_p_v @ Less @ Xs @ Ys2 )
=> ( lexord2101627499ge_p_v @ Less @ ( cons_message_p_v @ X3 @ Xs ) @ ( cons_message_p_v @ Y @ Ys2 ) ) ) ) ) ).
% ord.lexordp_eq.Cons_eq
thf(fact_189_ord_Olexordp__eq_OCons,axiom,
! [Less: config256849571t_unit > config256849571t_unit > $o,X3: config256849571t_unit,Y: config256849571t_unit,Xs: list_c1059388851t_unit,Ys2: list_c1059388851t_unit] :
( ( Less @ X3 @ Y )
=> ( lexord1758866263t_unit @ Less @ ( cons_c1162654829t_unit @ X3 @ Xs ) @ ( cons_c1162654829t_unit @ Y @ Ys2 ) ) ) ).
% ord.lexordp_eq.Cons
thf(fact_190_ord_Olexordp__eq_OCons,axiom,
! [Less: message_p_v > message_p_v > $o,X3: message_p_v,Y: message_p_v,Xs: list_message_p_v,Ys2: list_message_p_v] :
( ( Less @ X3 @ Y )
=> ( lexord2101627499ge_p_v @ Less @ ( cons_message_p_v @ X3 @ Xs ) @ ( cons_message_p_v @ Y @ Ys2 ) ) ) ).
% ord.lexordp_eq.Cons
thf(fact_191_ord_Olexordp__eq_ONil,axiom,
! [Less: config256849571t_unit > config256849571t_unit > $o,Ys2: list_c1059388851t_unit] : ( lexord1758866263t_unit @ Less @ nil_co1338500125t_unit @ Ys2 ) ).
% ord.lexordp_eq.Nil
thf(fact_192_ord_Olexordp__eq_ONil,axiom,
! [Less: message_p_v > message_p_v > $o,Ys2: list_message_p_v] : ( lexord2101627499ge_p_v @ Less @ nil_message_p_v @ Ys2 ) ).
% ord.lexordp_eq.Nil
thf(fact_193_listrelp_OCons,axiom,
! [R: config256849571t_unit > config256849571t_unit > $o,X3: config256849571t_unit,Y: config256849571t_unit,Xs: list_c1059388851t_unit,Ys2: list_c1059388851t_unit] :
( ( R @ X3 @ Y )
=> ( ( listre990624391t_unit @ R @ Xs @ Ys2 )
=> ( listre990624391t_unit @ R @ ( cons_c1162654829t_unit @ X3 @ Xs ) @ ( cons_c1162654829t_unit @ Y @ Ys2 ) ) ) ) ).
% listrelp.Cons
thf(fact_194_listrelp_OCons,axiom,
! [R: config256849571t_unit > message_p_v > $o,X3: config256849571t_unit,Y: message_p_v,Xs: list_c1059388851t_unit,Ys2: list_message_p_v] :
( ( R @ X3 @ Y )
=> ( ( listre823101243ge_p_v @ R @ Xs @ Ys2 )
=> ( listre823101243ge_p_v @ R @ ( cons_c1162654829t_unit @ X3 @ Xs ) @ ( cons_message_p_v @ Y @ Ys2 ) ) ) ) ).
% listrelp.Cons
thf(fact_195_listrelp_OCons,axiom,
! [R: message_p_v > config256849571t_unit > $o,X3: message_p_v,Y: config256849571t_unit,Xs: list_message_p_v,Ys2: list_c1059388851t_unit] :
( ( R @ X3 @ Y )
=> ( ( listre1171706563t_unit @ R @ Xs @ Ys2 )
=> ( listre1171706563t_unit @ R @ ( cons_message_p_v @ X3 @ Xs ) @ ( cons_c1162654829t_unit @ Y @ Ys2 ) ) ) ) ).
% listrelp.Cons
thf(fact_196_listrelp_OCons,axiom,
! [R: message_p_v > message_p_v > $o,X3: message_p_v,Y: message_p_v,Xs: list_message_p_v,Ys2: list_message_p_v] :
( ( R @ X3 @ Y )
=> ( ( listre1295695359ge_p_v @ R @ Xs @ Ys2 )
=> ( listre1295695359ge_p_v @ R @ ( cons_message_p_v @ X3 @ Xs ) @ ( cons_message_p_v @ Y @ Ys2 ) ) ) ) ).
% listrelp.Cons
thf(fact_197_listrelp_ONil,axiom,
! [R: config256849571t_unit > config256849571t_unit > $o] : ( listre990624391t_unit @ R @ nil_co1338500125t_unit @ nil_co1338500125t_unit ) ).
% listrelp.Nil
thf(fact_198_listrelp_ONil,axiom,
! [R: config256849571t_unit > message_p_v > $o] : ( listre823101243ge_p_v @ R @ nil_co1338500125t_unit @ nil_message_p_v ) ).
% listrelp.Nil
thf(fact_199_listrelp_ONil,axiom,
! [R: message_p_v > config256849571t_unit > $o] : ( listre1171706563t_unit @ R @ nil_message_p_v @ nil_co1338500125t_unit ) ).
% listrelp.Nil
thf(fact_200_listrelp_ONil,axiom,
! [R: message_p_v > message_p_v > $o] : ( listre1295695359ge_p_v @ R @ nil_message_p_v @ nil_message_p_v ) ).
% listrelp.Nil
thf(fact_201_ord_Olexordp__eq_Oinducts,axiom,
! [Less: config256849571t_unit > config256849571t_unit > $o,X12: list_c1059388851t_unit,X23: list_c1059388851t_unit,P: list_c1059388851t_unit > list_c1059388851t_unit > $o] :
( ( lexord1758866263t_unit @ Less @ X12 @ X23 )
=> ( ! [X_1: list_c1059388851t_unit] : ( P @ nil_co1338500125t_unit @ X_1 )
=> ( ! [X: config256849571t_unit,Y3: config256849571t_unit,Xs2: list_c1059388851t_unit,Ys3: list_c1059388851t_unit] :
( ( Less @ X @ Y3 )
=> ( P @ ( cons_c1162654829t_unit @ X @ Xs2 ) @ ( cons_c1162654829t_unit @ Y3 @ Ys3 ) ) )
=> ( ! [X: config256849571t_unit,Y3: config256849571t_unit,Xs2: list_c1059388851t_unit,Ys3: list_c1059388851t_unit] :
( ~ ( Less @ X @ Y3 )
=> ( ~ ( Less @ Y3 @ X )
=> ( ( lexord1758866263t_unit @ Less @ Xs2 @ Ys3 )
=> ( ( P @ Xs2 @ Ys3 )
=> ( P @ ( cons_c1162654829t_unit @ X @ Xs2 ) @ ( cons_c1162654829t_unit @ Y3 @ Ys3 ) ) ) ) ) )
=> ( P @ X12 @ X23 ) ) ) ) ) ).
% ord.lexordp_eq.inducts
thf(fact_202_ord_Olexordp__eq_Oinducts,axiom,
! [Less: message_p_v > message_p_v > $o,X12: list_message_p_v,X23: list_message_p_v,P: list_message_p_v > list_message_p_v > $o] :
( ( lexord2101627499ge_p_v @ Less @ X12 @ X23 )
=> ( ! [X_1: list_message_p_v] : ( P @ nil_message_p_v @ X_1 )
=> ( ! [X: message_p_v,Y3: message_p_v,Xs2: list_message_p_v,Ys3: list_message_p_v] :
( ( Less @ X @ Y3 )
=> ( P @ ( cons_message_p_v @ X @ Xs2 ) @ ( cons_message_p_v @ Y3 @ Ys3 ) ) )
=> ( ! [X: message_p_v,Y3: message_p_v,Xs2: list_message_p_v,Ys3: list_message_p_v] :
( ~ ( Less @ X @ Y3 )
=> ( ~ ( Less @ Y3 @ X )
=> ( ( lexord2101627499ge_p_v @ Less @ Xs2 @ Ys3 )
=> ( ( P @ Xs2 @ Ys3 )
=> ( P @ ( cons_message_p_v @ X @ Xs2 ) @ ( cons_message_p_v @ Y3 @ Ys3 ) ) ) ) ) )
=> ( P @ X12 @ X23 ) ) ) ) ) ).
% ord.lexordp_eq.inducts
thf(fact_203_ord_Olexordp__eq_Osimps,axiom,
( lexord1758866263t_unit
= ( ^ [Less2: config256849571t_unit > config256849571t_unit > $o,A12: list_c1059388851t_unit,A22: list_c1059388851t_unit] :
( ? [Ys: list_c1059388851t_unit] :
( ( A12 = nil_co1338500125t_unit )
& ( A22 = Ys ) )
| ? [X4: config256849571t_unit,Y2: config256849571t_unit,Xs3: list_c1059388851t_unit,Ys: list_c1059388851t_unit] :
( ( A12
= ( cons_c1162654829t_unit @ X4 @ Xs3 ) )
& ( A22
= ( cons_c1162654829t_unit @ Y2 @ Ys ) )
& ( Less2 @ X4 @ Y2 ) )
| ? [X4: config256849571t_unit,Y2: config256849571t_unit,Xs3: list_c1059388851t_unit,Ys: list_c1059388851t_unit] :
( ( A12
= ( cons_c1162654829t_unit @ X4 @ Xs3 ) )
& ( A22
= ( cons_c1162654829t_unit @ Y2 @ Ys ) )
& ~ ( Less2 @ X4 @ Y2 )
& ~ ( Less2 @ Y2 @ X4 )
& ( lexord1758866263t_unit @ Less2 @ Xs3 @ Ys ) ) ) ) ) ).
% ord.lexordp_eq.simps
thf(fact_204_ord_Olexordp__eq_Osimps,axiom,
( lexord2101627499ge_p_v
= ( ^ [Less2: message_p_v > message_p_v > $o,A12: list_message_p_v,A22: list_message_p_v] :
( ? [Ys: list_message_p_v] :
( ( A12 = nil_message_p_v )
& ( A22 = Ys ) )
| ? [X4: message_p_v,Y2: message_p_v,Xs3: list_message_p_v,Ys: list_message_p_v] :
( ( A12
= ( cons_message_p_v @ X4 @ Xs3 ) )
& ( A22
= ( cons_message_p_v @ Y2 @ Ys ) )
& ( Less2 @ X4 @ Y2 ) )
| ? [X4: message_p_v,Y2: message_p_v,Xs3: list_message_p_v,Ys: list_message_p_v] :
( ( A12
= ( cons_message_p_v @ X4 @ Xs3 ) )
& ( A22
= ( cons_message_p_v @ Y2 @ Ys ) )
& ~ ( Less2 @ X4 @ Y2 )
& ~ ( Less2 @ Y2 @ X4 )
& ( lexord2101627499ge_p_v @ Less2 @ Xs3 @ Ys ) ) ) ) ) ).
% ord.lexordp_eq.simps
thf(fact_205_ord_Olexordp__eq_Ocases,axiom,
! [Less: config256849571t_unit > config256849571t_unit > $o,A1: list_c1059388851t_unit,A2: list_c1059388851t_unit] :
( ( lexord1758866263t_unit @ Less @ A1 @ A2 )
=> ( ( A1 != nil_co1338500125t_unit )
=> ( ! [X: config256849571t_unit] :
( ? [Xs2: list_c1059388851t_unit] :
( A1
= ( cons_c1162654829t_unit @ X @ Xs2 ) )
=> ! [Y3: config256849571t_unit] :
( ? [Ys3: list_c1059388851t_unit] :
( A2
= ( cons_c1162654829t_unit @ Y3 @ Ys3 ) )
=> ~ ( Less @ X @ Y3 ) ) )
=> ~ ! [X: config256849571t_unit,Y3: config256849571t_unit,Xs2: list_c1059388851t_unit] :
( ( A1
= ( cons_c1162654829t_unit @ X @ Xs2 ) )
=> ! [Ys3: list_c1059388851t_unit] :
( ( A2
= ( cons_c1162654829t_unit @ Y3 @ Ys3 ) )
=> ( ~ ( Less @ X @ Y3 )
=> ( ~ ( Less @ Y3 @ X )
=> ~ ( lexord1758866263t_unit @ Less @ Xs2 @ Ys3 ) ) ) ) ) ) ) ) ).
% ord.lexordp_eq.cases
thf(fact_206_ord_Olexordp__eq_Ocases,axiom,
! [Less: message_p_v > message_p_v > $o,A1: list_message_p_v,A2: list_message_p_v] :
( ( lexord2101627499ge_p_v @ Less @ A1 @ A2 )
=> ( ( A1 != nil_message_p_v )
=> ( ! [X: message_p_v] :
( ? [Xs2: list_message_p_v] :
( A1
= ( cons_message_p_v @ X @ Xs2 ) )
=> ! [Y3: message_p_v] :
( ? [Ys3: list_message_p_v] :
( A2
= ( cons_message_p_v @ Y3 @ Ys3 ) )
=> ~ ( Less @ X @ Y3 ) ) )
=> ~ ! [X: message_p_v,Y3: message_p_v,Xs2: list_message_p_v] :
( ( A1
= ( cons_message_p_v @ X @ Xs2 ) )
=> ! [Ys3: list_message_p_v] :
( ( A2
= ( cons_message_p_v @ Y3 @ Ys3 ) )
=> ( ~ ( Less @ X @ Y3 )
=> ( ~ ( Less @ Y3 @ X )
=> ~ ( lexord2101627499ge_p_v @ Less @ Xs2 @ Ys3 ) ) ) ) ) ) ) ) ).
% ord.lexordp_eq.cases
thf(fact_207_zero__natural_Orsp,axiom,
zero_zero_nat = zero_zero_nat ).
% zero_natural.rsp
thf(fact_208_member__rec_I2_J,axiom,
! [Y: config256849571t_unit] :
~ ( member1087090632t_unit @ nil_co1338500125t_unit @ Y ) ).
% member_rec(2)
thf(fact_209_member__rec_I2_J,axiom,
! [Y: message_p_v] :
~ ( member_message_p_v @ nil_message_p_v @ Y ) ).
% member_rec(2)
thf(fact_210_member__rec_I1_J,axiom,
! [X3: config256849571t_unit,Xs: list_c1059388851t_unit,Y: config256849571t_unit] :
( ( member1087090632t_unit @ ( cons_c1162654829t_unit @ X3 @ Xs ) @ Y )
= ( ( X3 = Y )
| ( member1087090632t_unit @ Xs @ Y ) ) ) ).
% member_rec(1)
thf(fact_211_member__rec_I1_J,axiom,
! [X3: message_p_v,Xs: list_message_p_v,Y: message_p_v] :
( ( member_message_p_v @ ( cons_message_p_v @ X3 @ Xs ) @ Y )
= ( ( X3 = Y )
| ( member_message_p_v @ Xs @ Y ) ) ) ).
% member_rec(1)
thf(fact_212_lexordp__eq_Ocases,axiom,
! [A1: list_nat,A2: list_nat] :
( ( ord_lexordp_eq_nat @ A1 @ A2 )
=> ( ( A1 != nil_nat )
=> ( ! [X: nat] :
( ? [Xs2: list_nat] :
( A1
= ( cons_nat @ X @ Xs2 ) )
=> ! [Y3: nat] :
( ? [Ys3: list_nat] :
( A2
= ( cons_nat @ Y3 @ Ys3 ) )
=> ~ ( ord_less_nat @ X @ Y3 ) ) )
=> ~ ! [X: nat,Y3: nat,Xs2: list_nat] :
( ( A1
= ( cons_nat @ X @ Xs2 ) )
=> ! [Ys3: list_nat] :
( ( A2
= ( cons_nat @ Y3 @ Ys3 ) )
=> ( ~ ( ord_less_nat @ X @ Y3 )
=> ( ~ ( ord_less_nat @ Y3 @ X )
=> ~ ( ord_lexordp_eq_nat @ Xs2 @ Ys3 ) ) ) ) ) ) ) ) ).
% lexordp_eq.cases
thf(fact_213_lexordp__eq_Osimps,axiom,
( ord_lexordp_eq_nat
= ( ^ [A12: list_nat,A22: list_nat] :
( ? [Ys: list_nat] :
( ( A12 = nil_nat )
& ( A22 = Ys ) )
| ? [X4: nat,Y2: nat,Xs3: list_nat,Ys: list_nat] :
( ( A12
= ( cons_nat @ X4 @ Xs3 ) )
& ( A22
= ( cons_nat @ Y2 @ Ys ) )
& ( ord_less_nat @ X4 @ Y2 ) )
| ? [X4: nat,Y2: nat,Xs3: list_nat,Ys: list_nat] :
( ( A12
= ( cons_nat @ X4 @ Xs3 ) )
& ( A22
= ( cons_nat @ Y2 @ Ys ) )
& ~ ( ord_less_nat @ X4 @ Y2 )
& ~ ( ord_less_nat @ Y2 @ X4 )
& ( ord_lexordp_eq_nat @ Xs3 @ Ys ) ) ) ) ) ).
% lexordp_eq.simps
thf(fact_214_lexordp__eq_Oinducts,axiom,
! [X12: list_nat,X23: list_nat,P: list_nat > list_nat > $o] :
( ( ord_lexordp_eq_nat @ X12 @ X23 )
=> ( ! [X_1: list_nat] : ( P @ nil_nat @ X_1 )
=> ( ! [X: nat,Y3: nat,Xs2: list_nat,Ys3: list_nat] :
( ( ord_less_nat @ X @ Y3 )
=> ( P @ ( cons_nat @ X @ Xs2 ) @ ( cons_nat @ Y3 @ Ys3 ) ) )
=> ( ! [X: nat,Y3: nat,Xs2: list_nat,Ys3: list_nat] :
( ~ ( ord_less_nat @ X @ Y3 )
=> ( ~ ( ord_less_nat @ Y3 @ X )
=> ( ( ord_lexordp_eq_nat @ Xs2 @ Ys3 )
=> ( ( P @ Xs2 @ Ys3 )
=> ( P @ ( cons_nat @ X @ Xs2 ) @ ( cons_nat @ Y3 @ Ys3 ) ) ) ) ) )
=> ( P @ X12 @ X23 ) ) ) ) ) ).
% lexordp_eq.inducts
thf(fact_215_splice_Oelims,axiom,
! [X3: list_c1059388851t_unit,Xa: list_c1059388851t_unit,Y: list_c1059388851t_unit] :
( ( ( splice888123018t_unit @ X3 @ Xa )
= Y )
=> ( ( ( X3 = nil_co1338500125t_unit )
=> ( Y != Xa ) )
=> ~ ! [X: config256849571t_unit,Xs2: list_c1059388851t_unit] :
( ( X3
= ( cons_c1162654829t_unit @ X @ Xs2 ) )
=> ( Y
!= ( cons_c1162654829t_unit @ X @ ( splice888123018t_unit @ Xa @ Xs2 ) ) ) ) ) ) ).
% splice.elims
thf(fact_216_splice_Oelims,axiom,
! [X3: list_message_p_v,Xa: list_message_p_v,Y: list_message_p_v] :
( ( ( splice_message_p_v @ X3 @ Xa )
= Y )
=> ( ( ( X3 = nil_message_p_v )
=> ( Y != Xa ) )
=> ~ ! [X: message_p_v,Xs2: list_message_p_v] :
( ( X3
= ( cons_message_p_v @ X @ Xs2 ) )
=> ( Y
!= ( cons_message_p_v @ X @ ( splice_message_p_v @ Xa @ Xs2 ) ) ) ) ) ) ).
% splice.elims
thf(fact_217_bot__nat__0_Onot__eq__extremum,axiom,
! [A8: nat] :
( ( A8 != zero_zero_nat )
= ( ord_less_nat @ zero_zero_nat @ A8 ) ) ).
% bot_nat_0.not_eq_extremum
thf(fact_218_less__nat__zero__code,axiom,
! [N2: nat] :
~ ( ord_less_nat @ N2 @ zero_zero_nat ) ).
% less_nat_zero_code
thf(fact_219_neq0__conv,axiom,
! [N2: nat] :
( ( N2 != zero_zero_nat )
= ( ord_less_nat @ zero_zero_nat @ N2 ) ) ).
% neq0_conv
thf(fact_220_lessI,axiom,
! [N2: nat] : ( ord_less_nat @ N2 @ ( suc @ N2 ) ) ).
% lessI
thf(fact_221_Suc__mono,axiom,
! [M2: nat,N2: nat] :
( ( ord_less_nat @ M2 @ N2 )
=> ( ord_less_nat @ ( suc @ M2 ) @ ( suc @ N2 ) ) ) ).
% Suc_mono
thf(fact_222_Suc__less__eq,axiom,
! [M2: nat,N2: nat] :
( ( ord_less_nat @ ( suc @ M2 ) @ ( suc @ N2 ) )
= ( ord_less_nat @ M2 @ N2 ) ) ).
% Suc_less_eq
thf(fact_223_not__gr__zero,axiom,
! [N2: nat] :
( ( ~ ( ord_less_nat @ zero_zero_nat @ N2 ) )
= ( N2 = zero_zero_nat ) ) ).
% not_gr_zero
thf(fact_224_zero__less__Suc,axiom,
! [N2: nat] : ( ord_less_nat @ zero_zero_nat @ ( suc @ N2 ) ) ).
% zero_less_Suc
thf(fact_225_less__Suc0,axiom,
! [N2: nat] :
( ( ord_less_nat @ N2 @ ( suc @ zero_zero_nat ) )
= ( N2 = zero_zero_nat ) ) ).
% less_Suc0
thf(fact_226_split__Nil__iff,axiom,
! [Xs: list_c1059388851t_unit,Ys2: list_c1059388851t_unit] :
( ( ( splice888123018t_unit @ Xs @ Ys2 )
= nil_co1338500125t_unit )
= ( ( Xs = nil_co1338500125t_unit )
& ( Ys2 = nil_co1338500125t_unit ) ) ) ).
% split_Nil_iff
thf(fact_227_split__Nil__iff,axiom,
! [Xs: list_message_p_v,Ys2: list_message_p_v] :
( ( ( splice_message_p_v @ Xs @ Ys2 )
= nil_message_p_v )
= ( ( Xs = nil_message_p_v )
& ( Ys2 = nil_message_p_v ) ) ) ).
% split_Nil_iff
thf(fact_228_splice__Nil2,axiom,
! [Xs: list_c1059388851t_unit] :
( ( splice888123018t_unit @ Xs @ nil_co1338500125t_unit )
= Xs ) ).
% splice_Nil2
thf(fact_229_splice__Nil2,axiom,
! [Xs: list_message_p_v] :
( ( splice_message_p_v @ Xs @ nil_message_p_v )
= Xs ) ).
% splice_Nil2
thf(fact_230_lexordp__eq__simps_I4_J,axiom,
! [X3: nat,Xs: list_nat,Y: nat,Ys2: list_nat] :
( ( ord_lexordp_eq_nat @ ( cons_nat @ X3 @ Xs ) @ ( cons_nat @ Y @ Ys2 ) )
= ( ( ord_less_nat @ X3 @ Y )
| ( ~ ( ord_less_nat @ Y @ X3 )
& ( ord_lexordp_eq_nat @ Xs @ Ys2 ) ) ) ) ).
% lexordp_eq_simps(4)
thf(fact_231_gr__zeroI,axiom,
! [N2: nat] :
( ( N2 != zero_zero_nat )
=> ( ord_less_nat @ zero_zero_nat @ N2 ) ) ).
% gr_zeroI
thf(fact_232_not__less__zero,axiom,
! [N2: nat] :
~ ( ord_less_nat @ N2 @ zero_zero_nat ) ).
% not_less_zero
thf(fact_233_gr__implies__not__zero,axiom,
! [M2: nat,N2: nat] :
( ( ord_less_nat @ M2 @ N2 )
=> ( N2 != zero_zero_nat ) ) ).
% gr_implies_not_zero
thf(fact_234_zero__less__iff__neq__zero,axiom,
! [N2: nat] :
( ( ord_less_nat @ zero_zero_nat @ N2 )
= ( N2 != zero_zero_nat ) ) ).
% zero_less_iff_neq_zero
thf(fact_235_bot__nat__0_Oextremum__strict,axiom,
! [A8: nat] :
~ ( ord_less_nat @ A8 @ zero_zero_nat ) ).
% bot_nat_0.extremum_strict
thf(fact_236_infinite__descent0,axiom,
! [P: nat > $o,N2: nat] :
( ( P @ zero_zero_nat )
=> ( ! [N: nat] :
( ( ord_less_nat @ zero_zero_nat @ N )
=> ( ~ ( P @ N )
=> ? [M3: nat] :
( ( ord_less_nat @ M3 @ N )
& ~ ( P @ M3 ) ) ) )
=> ( P @ N2 ) ) ) ).
% infinite_descent0
thf(fact_237_gr__implies__not0,axiom,
! [M2: nat,N2: nat] :
( ( ord_less_nat @ M2 @ N2 )
=> ( N2 != zero_zero_nat ) ) ).
% gr_implies_not0
thf(fact_238_less__zeroE,axiom,
! [N2: nat] :
~ ( ord_less_nat @ N2 @ zero_zero_nat ) ).
% less_zeroE
thf(fact_239_not__less0,axiom,
! [N2: nat] :
~ ( ord_less_nat @ N2 @ zero_zero_nat ) ).
% not_less0
thf(fact_240_not__gr0,axiom,
! [N2: nat] :
( ( ~ ( ord_less_nat @ zero_zero_nat @ N2 ) )
= ( N2 = zero_zero_nat ) ) ).
% not_gr0
thf(fact_241_gr0I,axiom,
! [N2: nat] :
( ( N2 != zero_zero_nat )
=> ( ord_less_nat @ zero_zero_nat @ N2 ) ) ).
% gr0I
thf(fact_242_Nat_OlessE,axiom,
! [I: nat,K: nat] :
( ( ord_less_nat @ I @ K )
=> ( ( K
!= ( suc @ I ) )
=> ~ ! [J: nat] :
( ( ord_less_nat @ I @ J )
=> ( K
!= ( suc @ J ) ) ) ) ) ).
% Nat.lessE
thf(fact_243_Suc__lessD,axiom,
! [M2: nat,N2: nat] :
( ( ord_less_nat @ ( suc @ M2 ) @ N2 )
=> ( ord_less_nat @ M2 @ N2 ) ) ).
% Suc_lessD
thf(fact_244_Suc__lessE,axiom,
! [I: nat,K: nat] :
( ( ord_less_nat @ ( suc @ I ) @ K )
=> ~ ! [J: nat] :
( ( ord_less_nat @ I @ J )
=> ( K
!= ( suc @ J ) ) ) ) ).
% Suc_lessE
thf(fact_245_Suc__lessI,axiom,
! [M2: nat,N2: nat] :
( ( ord_less_nat @ M2 @ N2 )
=> ( ( ( suc @ M2 )
!= N2 )
=> ( ord_less_nat @ ( suc @ M2 ) @ N2 ) ) ) ).
% Suc_lessI
thf(fact_246_less__SucE,axiom,
! [M2: nat,N2: nat] :
( ( ord_less_nat @ M2 @ ( suc @ N2 ) )
=> ( ~ ( ord_less_nat @ M2 @ N2 )
=> ( M2 = N2 ) ) ) ).
% less_SucE
thf(fact_247_less__SucI,axiom,
! [M2: nat,N2: nat] :
( ( ord_less_nat @ M2 @ N2 )
=> ( ord_less_nat @ M2 @ ( suc @ N2 ) ) ) ).
% less_SucI
thf(fact_248_Ex__less__Suc,axiom,
! [N2: nat,P: nat > $o] :
( ( ? [I2: nat] :
( ( ord_less_nat @ I2 @ ( suc @ N2 ) )
& ( P @ I2 ) ) )
= ( ( P @ N2 )
| ? [I2: nat] :
( ( ord_less_nat @ I2 @ N2 )
& ( P @ I2 ) ) ) ) ).
% Ex_less_Suc
thf(fact_249_less__Suc__eq,axiom,
! [M2: nat,N2: nat] :
( ( ord_less_nat @ M2 @ ( suc @ N2 ) )
= ( ( ord_less_nat @ M2 @ N2 )
| ( M2 = N2 ) ) ) ).
% less_Suc_eq
thf(fact_250_not__less__eq,axiom,
! [M2: nat,N2: nat] :
( ( ~ ( ord_less_nat @ M2 @ N2 ) )
= ( ord_less_nat @ N2 @ ( suc @ M2 ) ) ) ).
% not_less_eq
thf(fact_251_All__less__Suc,axiom,
! [N2: nat,P: nat > $o] :
( ( ! [I2: nat] :
( ( ord_less_nat @ I2 @ ( suc @ N2 ) )
=> ( P @ I2 ) ) )
= ( ( P @ N2 )
& ! [I2: nat] :
( ( ord_less_nat @ I2 @ N2 )
=> ( P @ I2 ) ) ) ) ).
% All_less_Suc
thf(fact_252_Suc__less__eq2,axiom,
! [N2: nat,M2: nat] :
( ( ord_less_nat @ ( suc @ N2 ) @ M2 )
= ( ? [M4: nat] :
( ( M2
= ( suc @ M4 ) )
& ( ord_less_nat @ N2 @ M4 ) ) ) ) ).
% Suc_less_eq2
thf(fact_253_less__antisym,axiom,
! [N2: nat,M2: nat] :
( ~ ( ord_less_nat @ N2 @ M2 )
=> ( ( ord_less_nat @ N2 @ ( suc @ M2 ) )
=> ( M2 = N2 ) ) ) ).
% less_antisym
thf(fact_254_Suc__less__SucD,axiom,
! [M2: nat,N2: nat] :
( ( ord_less_nat @ ( suc @ M2 ) @ ( suc @ N2 ) )
=> ( ord_less_nat @ M2 @ N2 ) ) ).
% Suc_less_SucD
thf(fact_255_less__trans__Suc,axiom,
! [I: nat,J2: nat,K: nat] :
( ( ord_less_nat @ I @ J2 )
=> ( ( ord_less_nat @ J2 @ K )
=> ( ord_less_nat @ ( suc @ I ) @ K ) ) ) ).
% less_trans_Suc
thf(fact_256_less__Suc__induct,axiom,
! [I: nat,J2: nat,P: nat > nat > $o] :
( ( ord_less_nat @ I @ J2 )
=> ( ! [I3: nat] : ( P @ I3 @ ( suc @ I3 ) )
=> ( ! [I3: nat,J: nat,K2: nat] :
( ( ord_less_nat @ I3 @ J )
=> ( ( ord_less_nat @ J @ K2 )
=> ( ( P @ I3 @ J )
=> ( ( P @ J @ K2 )
=> ( P @ I3 @ K2 ) ) ) ) )
=> ( P @ I @ J2 ) ) ) ) ).
% less_Suc_induct
thf(fact_257_strict__inc__induct,axiom,
! [I: nat,J2: nat,P: nat > $o] :
( ( ord_less_nat @ I @ J2 )
=> ( ! [I3: nat] :
( ( J2
= ( suc @ I3 ) )
=> ( P @ I3 ) )
=> ( ! [I3: nat] :
( ( ord_less_nat @ I3 @ J2 )
=> ( ( P @ ( suc @ I3 ) )
=> ( P @ I3 ) ) )
=> ( P @ I ) ) ) ) ).
% strict_inc_induct
thf(fact_258_not__less__less__Suc__eq,axiom,
! [N2: nat,M2: nat] :
( ~ ( ord_less_nat @ N2 @ M2 )
=> ( ( ord_less_nat @ N2 @ ( suc @ M2 ) )
= ( N2 = M2 ) ) ) ).
% not_less_less_Suc_eq
thf(fact_259_lift__Suc__mono__less,axiom,
! [F2: nat > nat,N2: nat,N3: nat] :
( ! [N: nat] : ( ord_less_nat @ ( F2 @ N ) @ ( F2 @ ( suc @ N ) ) )
=> ( ( ord_less_nat @ N2 @ N3 )
=> ( ord_less_nat @ ( F2 @ N2 ) @ ( F2 @ N3 ) ) ) ) ).
% lift_Suc_mono_less
thf(fact_260_lift__Suc__mono__less__iff,axiom,
! [F2: nat > nat,N2: nat,M2: nat] :
( ! [N: nat] : ( ord_less_nat @ ( F2 @ N ) @ ( F2 @ ( suc @ N ) ) )
=> ( ( ord_less_nat @ ( F2 @ N2 ) @ ( F2 @ M2 ) )
= ( ord_less_nat @ N2 @ M2 ) ) ) ).
% lift_Suc_mono_less_iff
thf(fact_261_splice_Osimps_I2_J,axiom,
! [X3: config256849571t_unit,Xs: list_c1059388851t_unit,Ys2: list_c1059388851t_unit] :
( ( splice888123018t_unit @ ( cons_c1162654829t_unit @ X3 @ Xs ) @ Ys2 )
= ( cons_c1162654829t_unit @ X3 @ ( splice888123018t_unit @ Ys2 @ Xs ) ) ) ).
% splice.simps(2)
thf(fact_262_splice_Osimps_I2_J,axiom,
! [X3: message_p_v,Xs: list_message_p_v,Ys2: list_message_p_v] :
( ( splice_message_p_v @ ( cons_message_p_v @ X3 @ Xs ) @ Ys2 )
= ( cons_message_p_v @ X3 @ ( splice_message_p_v @ Ys2 @ Xs ) ) ) ).
% splice.simps(2)
thf(fact_263_splice_Osimps_I1_J,axiom,
! [Ys2: list_c1059388851t_unit] :
( ( splice888123018t_unit @ nil_co1338500125t_unit @ Ys2 )
= Ys2 ) ).
% splice.simps(1)
thf(fact_264_splice_Osimps_I1_J,axiom,
! [Ys2: list_message_p_v] :
( ( splice_message_p_v @ nil_message_p_v @ Ys2 )
= Ys2 ) ).
% splice.simps(1)
thf(fact_265_less__Suc__eq__0__disj,axiom,
! [M2: nat,N2: nat] :
( ( ord_less_nat @ M2 @ ( suc @ N2 ) )
= ( ( M2 = zero_zero_nat )
| ? [J3: nat] :
( ( M2
= ( suc @ J3 ) )
& ( ord_less_nat @ J3 @ N2 ) ) ) ) ).
% less_Suc_eq_0_disj
thf(fact_266_gr0__implies__Suc,axiom,
! [N2: nat] :
( ( ord_less_nat @ zero_zero_nat @ N2 )
=> ? [M: nat] :
( N2
= ( suc @ M ) ) ) ).
% gr0_implies_Suc
thf(fact_267_All__less__Suc2,axiom,
! [N2: nat,P: nat > $o] :
( ( ! [I2: nat] :
( ( ord_less_nat @ I2 @ ( suc @ N2 ) )
=> ( P @ I2 ) ) )
= ( ( P @ zero_zero_nat )
& ! [I2: nat] :
( ( ord_less_nat @ I2 @ N2 )
=> ( P @ ( suc @ I2 ) ) ) ) ) ).
% All_less_Suc2
thf(fact_268_gr0__conv__Suc,axiom,
! [N2: nat] :
( ( ord_less_nat @ zero_zero_nat @ N2 )
= ( ? [M5: nat] :
( N2
= ( suc @ M5 ) ) ) ) ).
% gr0_conv_Suc
thf(fact_269_Ex__less__Suc2,axiom,
! [N2: nat,P: nat > $o] :
( ( ? [I2: nat] :
( ( ord_less_nat @ I2 @ ( suc @ N2 ) )
& ( P @ I2 ) ) )
= ( ( P @ zero_zero_nat )
| ? [I2: nat] :
( ( ord_less_nat @ I2 @ N2 )
& ( P @ ( suc @ I2 ) ) ) ) ) ).
% Ex_less_Suc2
thf(fact_270_lexordp__eq_OCons__eq,axiom,
! [X3: nat,Y: nat,Xs: list_nat,Ys2: list_nat] :
( ~ ( ord_less_nat @ X3 @ Y )
=> ( ~ ( ord_less_nat @ Y @ X3 )
=> ( ( ord_lexordp_eq_nat @ Xs @ Ys2 )
=> ( ord_lexordp_eq_nat @ ( cons_nat @ X3 @ Xs ) @ ( cons_nat @ Y @ Ys2 ) ) ) ) ) ).
% lexordp_eq.Cons_eq
thf(fact_271_lexordp__eq_OCons,axiom,
! [X3: nat,Y: nat,Xs: list_nat,Ys2: list_nat] :
( ( ord_less_nat @ X3 @ Y )
=> ( ord_lexordp_eq_nat @ ( cons_nat @ X3 @ Xs ) @ ( cons_nat @ Y @ Ys2 ) ) ) ).
% lexordp_eq.Cons
thf(fact_272_NatPredicateTippingPoint,axiom,
! [N22: nat,Pr: nat > $o] :
( ( ord_less_nat @ zero_zero_nat @ N22 )
=> ( ( Pr @ zero_zero_nat )
=> ( ~ ( Pr @ N22 )
=> ? [N: nat] :
( ( ord_less_nat @ N @ N22 )
& ( Pr @ N )
& ~ ( Pr @ ( suc @ N ) ) ) ) ) ) ).
% NatPredicateTippingPoint
thf(fact_273_less__numeral__extra_I3_J,axiom,
~ ( ord_less_nat @ zero_zero_nat @ zero_zero_nat ) ).
% less_numeral_extra(3)
thf(fact_274_lexordp_Ocases,axiom,
! [A1: list_nat,A2: list_nat] :
( ( ord_lexordp_nat @ A1 @ A2 )
=> ( ( ( A1 = nil_nat )
=> ! [Y3: nat,Ys3: list_nat] :
( A2
!= ( cons_nat @ Y3 @ Ys3 ) ) )
=> ( ! [X: nat] :
( ? [Xs2: list_nat] :
( A1
= ( cons_nat @ X @ Xs2 ) )
=> ! [Y3: nat] :
( ? [Ys3: list_nat] :
( A2
= ( cons_nat @ Y3 @ Ys3 ) )
=> ~ ( ord_less_nat @ X @ Y3 ) ) )
=> ~ ! [X: nat,Y3: nat,Xs2: list_nat] :
( ( A1
= ( cons_nat @ X @ Xs2 ) )
=> ! [Ys3: list_nat] :
( ( A2
= ( cons_nat @ Y3 @ Ys3 ) )
=> ( ~ ( ord_less_nat @ X @ Y3 )
=> ( ~ ( ord_less_nat @ Y3 @ X )
=> ~ ( ord_lexordp_nat @ Xs2 @ Ys3 ) ) ) ) ) ) ) ) ).
% lexordp.cases
thf(fact_275_lexordp_Osimps,axiom,
( ord_lexordp_nat
= ( ^ [A12: list_nat,A22: list_nat] :
( ? [Y2: nat,Ys: list_nat] :
( ( A12 = nil_nat )
& ( A22
= ( cons_nat @ Y2 @ Ys ) ) )
| ? [X4: nat,Y2: nat,Xs3: list_nat,Ys: list_nat] :
( ( A12
= ( cons_nat @ X4 @ Xs3 ) )
& ( A22
= ( cons_nat @ Y2 @ Ys ) )
& ( ord_less_nat @ X4 @ Y2 ) )
| ? [X4: nat,Y2: nat,Xs3: list_nat,Ys: list_nat] :
( ( A12
= ( cons_nat @ X4 @ Xs3 ) )
& ( A22
= ( cons_nat @ Y2 @ Ys ) )
& ~ ( ord_less_nat @ X4 @ Y2 )
& ~ ( ord_less_nat @ Y2 @ X4 )
& ( ord_lexordp_nat @ Xs3 @ Ys ) ) ) ) ) ).
% lexordp.simps
thf(fact_276_lexordp__simps_I3_J,axiom,
! [X3: nat,Xs: list_nat,Y: nat,Ys2: list_nat] :
( ( ord_lexordp_nat @ ( cons_nat @ X3 @ Xs ) @ ( cons_nat @ Y @ Ys2 ) )
= ( ( ord_less_nat @ X3 @ Y )
| ( ~ ( ord_less_nat @ Y @ X3 )
& ( ord_lexordp_nat @ Xs @ Ys2 ) ) ) ) ).
% lexordp_simps(3)
thf(fact_277_lexordp__irreflexive,axiom,
! [Xs: list_nat] :
( ! [X: nat] :
~ ( ord_less_nat @ X @ X )
=> ~ ( ord_lexordp_nat @ Xs @ Xs ) ) ).
% lexordp_irreflexive
thf(fact_278_linorder__neqE__nat,axiom,
! [X3: nat,Y: nat] :
( ( X3 != Y )
=> ( ~ ( ord_less_nat @ X3 @ Y )
=> ( ord_less_nat @ Y @ X3 ) ) ) ).
% linorder_neqE_nat
thf(fact_279_infinite__descent,axiom,
! [P: nat > $o,N2: nat] :
( ! [N: nat] :
( ~ ( P @ N )
=> ? [M3: nat] :
( ( ord_less_nat @ M3 @ N )
& ~ ( P @ M3 ) ) )
=> ( P @ N2 ) ) ).
% infinite_descent
thf(fact_280_nat__less__induct,axiom,
! [P: nat > $o,N2: nat] :
( ! [N: nat] :
( ! [M3: nat] :
( ( ord_less_nat @ M3 @ N )
=> ( P @ M3 ) )
=> ( P @ N ) )
=> ( P @ N2 ) ) ).
% nat_less_induct
thf(fact_281_less__irrefl__nat,axiom,
! [N2: nat] :
~ ( ord_less_nat @ N2 @ N2 ) ).
% less_irrefl_nat
thf(fact_282_less__not__refl3,axiom,
! [S: nat,T: nat] :
( ( ord_less_nat @ S @ T )
=> ( S != T ) ) ).
% less_not_refl3
thf(fact_283_less__not__refl2,axiom,
! [N2: nat,M2: nat] :
( ( ord_less_nat @ N2 @ M2 )
=> ( M2 != N2 ) ) ).
% less_not_refl2
thf(fact_284_less__not__refl,axiom,
! [N2: nat] :
~ ( ord_less_nat @ N2 @ N2 ) ).
% less_not_refl
thf(fact_285_nat__neq__iff,axiom,
! [M2: nat,N2: nat] :
( ( M2 != N2 )
= ( ( ord_less_nat @ M2 @ N2 )
| ( ord_less_nat @ N2 @ M2 ) ) ) ).
% nat_neq_iff
thf(fact_286_lexordp_OCons,axiom,
! [X3: nat,Y: nat,Xs: list_nat,Ys2: list_nat] :
( ( ord_less_nat @ X3 @ Y )
=> ( ord_lexordp_nat @ ( cons_nat @ X3 @ Xs ) @ ( cons_nat @ Y @ Ys2 ) ) ) ).
% lexordp.Cons
thf(fact_287_lexordp_OCons__eq,axiom,
! [X3: nat,Y: nat,Xs: list_nat,Ys2: list_nat] :
( ~ ( ord_less_nat @ X3 @ Y )
=> ( ~ ( ord_less_nat @ Y @ X3 )
=> ( ( ord_lexordp_nat @ Xs @ Ys2 )
=> ( ord_lexordp_nat @ ( cons_nat @ X3 @ Xs ) @ ( cons_nat @ Y @ Ys2 ) ) ) ) ) ).
% lexordp.Cons_eq
thf(fact_288_lexordp__induct,axiom,
! [Xs: list_nat,Ys2: list_nat,P: list_nat > list_nat > $o] :
( ( ord_lexordp_nat @ Xs @ Ys2 )
=> ( ! [Y3: nat,Ys3: list_nat] : ( P @ nil_nat @ ( cons_nat @ Y3 @ Ys3 ) )
=> ( ! [X: nat,Xs2: list_nat,Y3: nat,Ys3: list_nat] :
( ( ord_less_nat @ X @ Y3 )
=> ( P @ ( cons_nat @ X @ Xs2 ) @ ( cons_nat @ Y3 @ Ys3 ) ) )
=> ( ! [X: nat,Xs2: list_nat,Ys3: list_nat] :
( ( ord_lexordp_nat @ Xs2 @ Ys3 )
=> ( ( P @ Xs2 @ Ys3 )
=> ( P @ ( cons_nat @ X @ Xs2 ) @ ( cons_nat @ X @ Ys3 ) ) ) )
=> ( P @ Xs @ Ys2 ) ) ) ) ) ).
% lexordp_induct
thf(fact_289_lexordp__cases,axiom,
! [Xs: list_nat,Ys2: list_nat] :
( ( ord_lexordp_nat @ Xs @ Ys2 )
=> ( ( ( Xs = nil_nat )
=> ! [Y3: nat,Ys4: list_nat] :
( Ys2
!= ( cons_nat @ Y3 @ Ys4 ) ) )
=> ( ! [X: nat] :
( ? [Xs4: list_nat] :
( Xs
= ( cons_nat @ X @ Xs4 ) )
=> ! [Y3: nat] :
( ? [Ys4: list_nat] :
( Ys2
= ( cons_nat @ Y3 @ Ys4 ) )
=> ~ ( ord_less_nat @ X @ Y3 ) ) )
=> ~ ! [X: nat,Xs4: list_nat] :
( ( Xs
= ( cons_nat @ X @ Xs4 ) )
=> ! [Ys4: list_nat] :
( ( Ys2
= ( cons_nat @ X @ Ys4 ) )
=> ~ ( ord_lexordp_nat @ Xs4 @ Ys4 ) ) ) ) ) ) ).
% lexordp_cases
thf(fact_290_lexordp_Oinducts,axiom,
! [X12: list_nat,X23: list_nat,P: list_nat > list_nat > $o] :
( ( ord_lexordp_nat @ X12 @ X23 )
=> ( ! [Y3: nat,Ys3: list_nat] : ( P @ nil_nat @ ( cons_nat @ Y3 @ Ys3 ) )
=> ( ! [X: nat,Y3: nat,Xs2: list_nat,Ys3: list_nat] :
( ( ord_less_nat @ X @ Y3 )
=> ( P @ ( cons_nat @ X @ Xs2 ) @ ( cons_nat @ Y3 @ Ys3 ) ) )
=> ( ! [X: nat,Y3: nat,Xs2: list_nat,Ys3: list_nat] :
( ~ ( ord_less_nat @ X @ Y3 )
=> ( ~ ( ord_less_nat @ Y3 @ X )
=> ( ( ord_lexordp_nat @ Xs2 @ Ys3 )
=> ( ( P @ Xs2 @ Ys3 )
=> ( P @ ( cons_nat @ X @ Xs2 ) @ ( cons_nat @ Y3 @ Ys3 ) ) ) ) ) )
=> ( P @ X12 @ X23 ) ) ) ) ) ).
% lexordp.inducts
thf(fact_291_of__nat__0__less__iff,axiom,
! [N2: nat] :
( ( ord_less_nat @ zero_zero_nat @ ( semiri1382578993at_nat @ N2 ) )
= ( ord_less_nat @ zero_zero_nat @ N2 ) ) ).
% of_nat_0_less_iff
thf(fact_292_Suc__pred,axiom,
! [N2: nat] :
( ( ord_less_nat @ zero_zero_nat @ N2 )
=> ( ( suc @ ( minus_minus_nat @ N2 @ ( suc @ zero_zero_nat ) ) )
= N2 ) ) ).
% Suc_pred
thf(fact_293_length__greater__0__conv,axiom,
! [Xs: list_c1059388851t_unit] :
( ( ord_less_nat @ zero_zero_nat @ ( size_s1406904903t_unit @ Xs ) )
= ( Xs != nil_co1338500125t_unit ) ) ).
% length_greater_0_conv
thf(fact_294_length__greater__0__conv,axiom,
! [Xs: list_message_p_v] :
( ( ord_less_nat @ zero_zero_nat @ ( size_s1168481041ge_p_v @ Xs ) )
= ( Xs != nil_message_p_v ) ) ).
% length_greater_0_conv
thf(fact_295_zero__diff,axiom,
! [A8: nat] :
( ( minus_minus_nat @ zero_zero_nat @ A8 )
= zero_zero_nat ) ).
% zero_diff
thf(fact_296_diff__zero,axiom,
! [A8: nat] :
( ( minus_minus_nat @ A8 @ zero_zero_nat )
= A8 ) ).
% diff_zero
thf(fact_297_cancel__comm__monoid__add__class_Odiff__cancel,axiom,
! [A8: nat] :
( ( minus_minus_nat @ A8 @ A8 )
= zero_zero_nat ) ).
% cancel_comm_monoid_add_class.diff_cancel
thf(fact_298_diff__0__eq__0,axiom,
! [N2: nat] :
( ( minus_minus_nat @ zero_zero_nat @ N2 )
= zero_zero_nat ) ).
% diff_0_eq_0
thf(fact_299_diff__self__eq__0,axiom,
! [M2: nat] :
( ( minus_minus_nat @ M2 @ M2 )
= zero_zero_nat ) ).
% diff_self_eq_0
thf(fact_300_Suc__diff__diff,axiom,
! [M2: nat,N2: nat,K: nat] :
( ( minus_minus_nat @ ( minus_minus_nat @ ( suc @ M2 ) @ N2 ) @ ( suc @ K ) )
= ( minus_minus_nat @ ( minus_minus_nat @ M2 @ N2 ) @ K ) ) ).
% Suc_diff_diff
thf(fact_301_diff__Suc__Suc,axiom,
! [M2: nat,N2: nat] :
( ( minus_minus_nat @ ( suc @ M2 ) @ ( suc @ N2 ) )
= ( minus_minus_nat @ M2 @ N2 ) ) ).
% diff_Suc_Suc
thf(fact_302_of__nat__eq__0__iff,axiom,
! [M2: nat] :
( ( ( semiri1382578993at_nat @ M2 )
= zero_zero_nat )
= ( M2 = zero_zero_nat ) ) ).
% of_nat_eq_0_iff
thf(fact_303_of__nat__0__eq__iff,axiom,
! [N2: nat] :
( ( zero_zero_nat
= ( semiri1382578993at_nat @ N2 ) )
= ( zero_zero_nat = N2 ) ) ).
% of_nat_0_eq_iff
thf(fact_304_of__nat__0,axiom,
( ( semiri1382578993at_nat @ zero_zero_nat )
= zero_zero_nat ) ).
% of_nat_0
thf(fact_305_of__nat__less__iff,axiom,
! [M2: nat,N2: nat] :
( ( ord_less_nat @ ( semiri1382578993at_nat @ M2 ) @ ( semiri1382578993at_nat @ N2 ) )
= ( ord_less_nat @ M2 @ N2 ) ) ).
% of_nat_less_iff
thf(fact_306_length__0__conv,axiom,
! [Xs: list_c1059388851t_unit] :
( ( ( size_s1406904903t_unit @ Xs )
= zero_zero_nat )
= ( Xs = nil_co1338500125t_unit ) ) ).
% length_0_conv
thf(fact_307_length__0__conv,axiom,
! [Xs: list_message_p_v] :
( ( ( size_s1168481041ge_p_v @ Xs )
= zero_zero_nat )
= ( Xs = nil_message_p_v ) ) ).
% length_0_conv
thf(fact_308_zero__less__diff,axiom,
! [N2: nat,M2: nat] :
( ( ord_less_nat @ zero_zero_nat @ ( minus_minus_nat @ N2 @ M2 ) )
= ( ord_less_nat @ M2 @ N2 ) ) ).
% zero_less_diff
thf(fact_309_diff__less,axiom,
! [N2: nat,M2: nat] :
( ( ord_less_nat @ zero_zero_nat @ N2 )
=> ( ( ord_less_nat @ zero_zero_nat @ M2 )
=> ( ord_less_nat @ ( minus_minus_nat @ M2 @ N2 ) @ M2 ) ) ) ).
% diff_less
thf(fact_310_of__nat__less__imp__less,axiom,
! [M2: nat,N2: nat] :
( ( ord_less_nat @ ( semiri1382578993at_nat @ M2 ) @ ( semiri1382578993at_nat @ N2 ) )
=> ( ord_less_nat @ M2 @ N2 ) ) ).
% of_nat_less_imp_less
thf(fact_311_less__imp__of__nat__less,axiom,
! [M2: nat,N2: nat] :
( ( ord_less_nat @ M2 @ N2 )
=> ( ord_less_nat @ ( semiri1382578993at_nat @ M2 ) @ ( semiri1382578993at_nat @ N2 ) ) ) ).
% less_imp_of_nat_less
thf(fact_312_less__imp__diff__less,axiom,
! [J2: nat,K: nat,N2: nat] :
( ( ord_less_nat @ J2 @ K )
=> ( ord_less_nat @ ( minus_minus_nat @ J2 @ N2 ) @ K ) ) ).
% less_imp_diff_less
thf(fact_313_diff__less__mono2,axiom,
! [M2: nat,N2: nat,L: nat] :
( ( ord_less_nat @ M2 @ N2 )
=> ( ( ord_less_nat @ M2 @ L )
=> ( ord_less_nat @ ( minus_minus_nat @ L @ N2 ) @ ( minus_minus_nat @ L @ M2 ) ) ) ) ).
% diff_less_mono2
thf(fact_314_Suc__diff__Suc,axiom,
! [N2: nat,M2: nat] :
( ( ord_less_nat @ N2 @ M2 )
=> ( ( suc @ ( minus_minus_nat @ M2 @ ( suc @ N2 ) ) )
= ( minus_minus_nat @ M2 @ N2 ) ) ) ).
% Suc_diff_Suc
thf(fact_315_diff__less__Suc,axiom,
! [M2: nat,N2: nat] : ( ord_less_nat @ ( minus_minus_nat @ M2 @ N2 ) @ ( suc @ M2 ) ) ).
% diff_less_Suc
thf(fact_316_of__nat__less__0__iff,axiom,
! [M2: nat] :
~ ( ord_less_nat @ ( semiri1382578993at_nat @ M2 ) @ zero_zero_nat ) ).
% of_nat_less_0_iff
thf(fact_317_of__nat__neq__0,axiom,
! [N2: nat] :
( ( semiri1382578993at_nat @ ( suc @ N2 ) )
!= zero_zero_nat ) ).
% of_nat_neq_0
thf(fact_318_length__Suc__conv,axiom,
! [Xs: list_c1059388851t_unit,N2: nat] :
( ( ( size_s1406904903t_unit @ Xs )
= ( suc @ N2 ) )
= ( ? [Y2: config256849571t_unit,Ys: list_c1059388851t_unit] :
( ( Xs
= ( cons_c1162654829t_unit @ Y2 @ Ys ) )
& ( ( size_s1406904903t_unit @ Ys )
= N2 ) ) ) ) ).
% length_Suc_conv
thf(fact_319_length__Suc__conv,axiom,
! [Xs: list_message_p_v,N2: nat] :
( ( ( size_s1168481041ge_p_v @ Xs )
= ( suc @ N2 ) )
= ( ? [Y2: message_p_v,Ys: list_message_p_v] :
( ( Xs
= ( cons_message_p_v @ Y2 @ Ys ) )
& ( ( size_s1168481041ge_p_v @ Ys )
= N2 ) ) ) ) ).
% length_Suc_conv
thf(fact_320_Suc__length__conv,axiom,
! [N2: nat,Xs: list_c1059388851t_unit] :
( ( ( suc @ N2 )
= ( size_s1406904903t_unit @ Xs ) )
= ( ? [Y2: config256849571t_unit,Ys: list_c1059388851t_unit] :
( ( Xs
= ( cons_c1162654829t_unit @ Y2 @ Ys ) )
& ( ( size_s1406904903t_unit @ Ys )
= N2 ) ) ) ) ).
% Suc_length_conv
thf(fact_321_Suc__length__conv,axiom,
! [N2: nat,Xs: list_message_p_v] :
( ( ( suc @ N2 )
= ( size_s1168481041ge_p_v @ Xs ) )
= ( ? [Y2: message_p_v,Ys: list_message_p_v] :
( ( Xs
= ( cons_message_p_v @ Y2 @ Ys ) )
& ( ( size_s1168481041ge_p_v @ Ys )
= N2 ) ) ) ) ).
% Suc_length_conv
thf(fact_322_list_Osize_I3_J,axiom,
( ( size_s1406904903t_unit @ nil_co1338500125t_unit )
= zero_zero_nat ) ).
% list.size(3)
thf(fact_323_list_Osize_I3_J,axiom,
( ( size_s1168481041ge_p_v @ nil_message_p_v )
= zero_zero_nat ) ).
% list.size(3)
thf(fact_324_list__induct2,axiom,
! [Xs: list_c1059388851t_unit,Ys2: list_c1059388851t_unit,P: list_c1059388851t_unit > list_c1059388851t_unit > $o] :
( ( ( size_s1406904903t_unit @ Xs )
= ( size_s1406904903t_unit @ Ys2 ) )
=> ( ( P @ nil_co1338500125t_unit @ nil_co1338500125t_unit )
=> ( ! [X: config256849571t_unit,Xs2: list_c1059388851t_unit,Y3: config256849571t_unit,Ys3: list_c1059388851t_unit] :
( ( ( size_s1406904903t_unit @ Xs2 )
= ( size_s1406904903t_unit @ Ys3 ) )
=> ( ( P @ Xs2 @ Ys3 )
=> ( P @ ( cons_c1162654829t_unit @ X @ Xs2 ) @ ( cons_c1162654829t_unit @ Y3 @ Ys3 ) ) ) )
=> ( P @ Xs @ Ys2 ) ) ) ) ).
% list_induct2
thf(fact_325_list__induct2,axiom,
! [Xs: list_c1059388851t_unit,Ys2: list_message_p_v,P: list_c1059388851t_unit > list_message_p_v > $o] :
( ( ( size_s1406904903t_unit @ Xs )
= ( size_s1168481041ge_p_v @ Ys2 ) )
=> ( ( P @ nil_co1338500125t_unit @ nil_message_p_v )
=> ( ! [X: config256849571t_unit,Xs2: list_c1059388851t_unit,Y3: message_p_v,Ys3: list_message_p_v] :
( ( ( size_s1406904903t_unit @ Xs2 )
= ( size_s1168481041ge_p_v @ Ys3 ) )
=> ( ( P @ Xs2 @ Ys3 )
=> ( P @ ( cons_c1162654829t_unit @ X @ Xs2 ) @ ( cons_message_p_v @ Y3 @ Ys3 ) ) ) )
=> ( P @ Xs @ Ys2 ) ) ) ) ).
% list_induct2
thf(fact_326_list__induct2,axiom,
! [Xs: list_message_p_v,Ys2: list_c1059388851t_unit,P: list_message_p_v > list_c1059388851t_unit > $o] :
( ( ( size_s1168481041ge_p_v @ Xs )
= ( size_s1406904903t_unit @ Ys2 ) )
=> ( ( P @ nil_message_p_v @ nil_co1338500125t_unit )
=> ( ! [X: message_p_v,Xs2: list_message_p_v,Y3: config256849571t_unit,Ys3: list_c1059388851t_unit] :
( ( ( size_s1168481041ge_p_v @ Xs2 )
= ( size_s1406904903t_unit @ Ys3 ) )
=> ( ( P @ Xs2 @ Ys3 )
=> ( P @ ( cons_message_p_v @ X @ Xs2 ) @ ( cons_c1162654829t_unit @ Y3 @ Ys3 ) ) ) )
=> ( P @ Xs @ Ys2 ) ) ) ) ).
% list_induct2
thf(fact_327_list__induct2,axiom,
! [Xs: list_message_p_v,Ys2: list_message_p_v,P: list_message_p_v > list_message_p_v > $o] :
( ( ( size_s1168481041ge_p_v @ Xs )
= ( size_s1168481041ge_p_v @ Ys2 ) )
=> ( ( P @ nil_message_p_v @ nil_message_p_v )
=> ( ! [X: message_p_v,Xs2: list_message_p_v,Y3: message_p_v,Ys3: list_message_p_v] :
( ( ( size_s1168481041ge_p_v @ Xs2 )
= ( size_s1168481041ge_p_v @ Ys3 ) )
=> ( ( P @ Xs2 @ Ys3 )
=> ( P @ ( cons_message_p_v @ X @ Xs2 ) @ ( cons_message_p_v @ Y3 @ Ys3 ) ) ) )
=> ( P @ Xs @ Ys2 ) ) ) ) ).
% list_induct2
thf(fact_328_list__induct3,axiom,
! [Xs: list_c1059388851t_unit,Ys2: list_c1059388851t_unit,Zs2: list_c1059388851t_unit,P: list_c1059388851t_unit > list_c1059388851t_unit > list_c1059388851t_unit > $o] :
( ( ( size_s1406904903t_unit @ Xs )
= ( size_s1406904903t_unit @ Ys2 ) )
=> ( ( ( size_s1406904903t_unit @ Ys2 )
= ( size_s1406904903t_unit @ Zs2 ) )
=> ( ( P @ nil_co1338500125t_unit @ nil_co1338500125t_unit @ nil_co1338500125t_unit )
=> ( ! [X: config256849571t_unit,Xs2: list_c1059388851t_unit,Y3: config256849571t_unit,Ys3: list_c1059388851t_unit,Z: config256849571t_unit,Zs: list_c1059388851t_unit] :
( ( ( size_s1406904903t_unit @ Xs2 )
= ( size_s1406904903t_unit @ Ys3 ) )
=> ( ( ( size_s1406904903t_unit @ Ys3 )
= ( size_s1406904903t_unit @ Zs ) )
=> ( ( P @ Xs2 @ Ys3 @ Zs )
=> ( P @ ( cons_c1162654829t_unit @ X @ Xs2 ) @ ( cons_c1162654829t_unit @ Y3 @ Ys3 ) @ ( cons_c1162654829t_unit @ Z @ Zs ) ) ) ) )
=> ( P @ Xs @ Ys2 @ Zs2 ) ) ) ) ) ).
% list_induct3
thf(fact_329_list__induct3,axiom,
! [Xs: list_c1059388851t_unit,Ys2: list_c1059388851t_unit,Zs2: list_message_p_v,P: list_c1059388851t_unit > list_c1059388851t_unit > list_message_p_v > $o] :
( ( ( size_s1406904903t_unit @ Xs )
= ( size_s1406904903t_unit @ Ys2 ) )
=> ( ( ( size_s1406904903t_unit @ Ys2 )
= ( size_s1168481041ge_p_v @ Zs2 ) )
=> ( ( P @ nil_co1338500125t_unit @ nil_co1338500125t_unit @ nil_message_p_v )
=> ( ! [X: config256849571t_unit,Xs2: list_c1059388851t_unit,Y3: config256849571t_unit,Ys3: list_c1059388851t_unit,Z: message_p_v,Zs: list_message_p_v] :
( ( ( size_s1406904903t_unit @ Xs2 )
= ( size_s1406904903t_unit @ Ys3 ) )
=> ( ( ( size_s1406904903t_unit @ Ys3 )
= ( size_s1168481041ge_p_v @ Zs ) )
=> ( ( P @ Xs2 @ Ys3 @ Zs )
=> ( P @ ( cons_c1162654829t_unit @ X @ Xs2 ) @ ( cons_c1162654829t_unit @ Y3 @ Ys3 ) @ ( cons_message_p_v @ Z @ Zs ) ) ) ) )
=> ( P @ Xs @ Ys2 @ Zs2 ) ) ) ) ) ).
% list_induct3
thf(fact_330_list__induct3,axiom,
! [Xs: list_c1059388851t_unit,Ys2: list_message_p_v,Zs2: list_c1059388851t_unit,P: list_c1059388851t_unit > list_message_p_v > list_c1059388851t_unit > $o] :
( ( ( size_s1406904903t_unit @ Xs )
= ( size_s1168481041ge_p_v @ Ys2 ) )
=> ( ( ( size_s1168481041ge_p_v @ Ys2 )
= ( size_s1406904903t_unit @ Zs2 ) )
=> ( ( P @ nil_co1338500125t_unit @ nil_message_p_v @ nil_co1338500125t_unit )
=> ( ! [X: config256849571t_unit,Xs2: list_c1059388851t_unit,Y3: message_p_v,Ys3: list_message_p_v,Z: config256849571t_unit,Zs: list_c1059388851t_unit] :
( ( ( size_s1406904903t_unit @ Xs2 )
= ( size_s1168481041ge_p_v @ Ys3 ) )
=> ( ( ( size_s1168481041ge_p_v @ Ys3 )
= ( size_s1406904903t_unit @ Zs ) )
=> ( ( P @ Xs2 @ Ys3 @ Zs )
=> ( P @ ( cons_c1162654829t_unit @ X @ Xs2 ) @ ( cons_message_p_v @ Y3 @ Ys3 ) @ ( cons_c1162654829t_unit @ Z @ Zs ) ) ) ) )
=> ( P @ Xs @ Ys2 @ Zs2 ) ) ) ) ) ).
% list_induct3
thf(fact_331_list__induct3,axiom,
! [Xs: list_c1059388851t_unit,Ys2: list_message_p_v,Zs2: list_message_p_v,P: list_c1059388851t_unit > list_message_p_v > list_message_p_v > $o] :
( ( ( size_s1406904903t_unit @ Xs )
= ( size_s1168481041ge_p_v @ Ys2 ) )
=> ( ( ( size_s1168481041ge_p_v @ Ys2 )
= ( size_s1168481041ge_p_v @ Zs2 ) )
=> ( ( P @ nil_co1338500125t_unit @ nil_message_p_v @ nil_message_p_v )
=> ( ! [X: config256849571t_unit,Xs2: list_c1059388851t_unit,Y3: message_p_v,Ys3: list_message_p_v,Z: message_p_v,Zs: list_message_p_v] :
( ( ( size_s1406904903t_unit @ Xs2 )
= ( size_s1168481041ge_p_v @ Ys3 ) )
=> ( ( ( size_s1168481041ge_p_v @ Ys3 )
= ( size_s1168481041ge_p_v @ Zs ) )
=> ( ( P @ Xs2 @ Ys3 @ Zs )
=> ( P @ ( cons_c1162654829t_unit @ X @ Xs2 ) @ ( cons_message_p_v @ Y3 @ Ys3 ) @ ( cons_message_p_v @ Z @ Zs ) ) ) ) )
=> ( P @ Xs @ Ys2 @ Zs2 ) ) ) ) ) ).
% list_induct3
thf(fact_332_list__induct3,axiom,
! [Xs: list_message_p_v,Ys2: list_c1059388851t_unit,Zs2: list_c1059388851t_unit,P: list_message_p_v > list_c1059388851t_unit > list_c1059388851t_unit > $o] :
( ( ( size_s1168481041ge_p_v @ Xs )
= ( size_s1406904903t_unit @ Ys2 ) )
=> ( ( ( size_s1406904903t_unit @ Ys2 )
= ( size_s1406904903t_unit @ Zs2 ) )
=> ( ( P @ nil_message_p_v @ nil_co1338500125t_unit @ nil_co1338500125t_unit )
=> ( ! [X: message_p_v,Xs2: list_message_p_v,Y3: config256849571t_unit,Ys3: list_c1059388851t_unit,Z: config256849571t_unit,Zs: list_c1059388851t_unit] :
( ( ( size_s1168481041ge_p_v @ Xs2 )
= ( size_s1406904903t_unit @ Ys3 ) )
=> ( ( ( size_s1406904903t_unit @ Ys3 )
= ( size_s1406904903t_unit @ Zs ) )
=> ( ( P @ Xs2 @ Ys3 @ Zs )
=> ( P @ ( cons_message_p_v @ X @ Xs2 ) @ ( cons_c1162654829t_unit @ Y3 @ Ys3 ) @ ( cons_c1162654829t_unit @ Z @ Zs ) ) ) ) )
=> ( P @ Xs @ Ys2 @ Zs2 ) ) ) ) ) ).
% list_induct3
thf(fact_333_list__induct3,axiom,
! [Xs: list_message_p_v,Ys2: list_c1059388851t_unit,Zs2: list_message_p_v,P: list_message_p_v > list_c1059388851t_unit > list_message_p_v > $o] :
( ( ( size_s1168481041ge_p_v @ Xs )
= ( size_s1406904903t_unit @ Ys2 ) )
=> ( ( ( size_s1406904903t_unit @ Ys2 )
= ( size_s1168481041ge_p_v @ Zs2 ) )
=> ( ( P @ nil_message_p_v @ nil_co1338500125t_unit @ nil_message_p_v )
=> ( ! [X: message_p_v,Xs2: list_message_p_v,Y3: config256849571t_unit,Ys3: list_c1059388851t_unit,Z: message_p_v,Zs: list_message_p_v] :
( ( ( size_s1168481041ge_p_v @ Xs2 )
= ( size_s1406904903t_unit @ Ys3 ) )
=> ( ( ( size_s1406904903t_unit @ Ys3 )
= ( size_s1168481041ge_p_v @ Zs ) )
=> ( ( P @ Xs2 @ Ys3 @ Zs )
=> ( P @ ( cons_message_p_v @ X @ Xs2 ) @ ( cons_c1162654829t_unit @ Y3 @ Ys3 ) @ ( cons_message_p_v @ Z @ Zs ) ) ) ) )
=> ( P @ Xs @ Ys2 @ Zs2 ) ) ) ) ) ).
% list_induct3
thf(fact_334_list__induct3,axiom,
! [Xs: list_message_p_v,Ys2: list_message_p_v,Zs2: list_c1059388851t_unit,P: list_message_p_v > list_message_p_v > list_c1059388851t_unit > $o] :
( ( ( size_s1168481041ge_p_v @ Xs )
= ( size_s1168481041ge_p_v @ Ys2 ) )
=> ( ( ( size_s1168481041ge_p_v @ Ys2 )
= ( size_s1406904903t_unit @ Zs2 ) )
=> ( ( P @ nil_message_p_v @ nil_message_p_v @ nil_co1338500125t_unit )
=> ( ! [X: message_p_v,Xs2: list_message_p_v,Y3: message_p_v,Ys3: list_message_p_v,Z: config256849571t_unit,Zs: list_c1059388851t_unit] :
( ( ( size_s1168481041ge_p_v @ Xs2 )
= ( size_s1168481041ge_p_v @ Ys3 ) )
=> ( ( ( size_s1168481041ge_p_v @ Ys3 )
= ( size_s1406904903t_unit @ Zs ) )
=> ( ( P @ Xs2 @ Ys3 @ Zs )
=> ( P @ ( cons_message_p_v @ X @ Xs2 ) @ ( cons_message_p_v @ Y3 @ Ys3 ) @ ( cons_c1162654829t_unit @ Z @ Zs ) ) ) ) )
=> ( P @ Xs @ Ys2 @ Zs2 ) ) ) ) ) ).
% list_induct3
thf(fact_335_list__induct3,axiom,
! [Xs: list_message_p_v,Ys2: list_message_p_v,Zs2: list_message_p_v,P: list_message_p_v > list_message_p_v > list_message_p_v > $o] :
( ( ( size_s1168481041ge_p_v @ Xs )
= ( size_s1168481041ge_p_v @ Ys2 ) )
=> ( ( ( size_s1168481041ge_p_v @ Ys2 )
= ( size_s1168481041ge_p_v @ Zs2 ) )
=> ( ( P @ nil_message_p_v @ nil_message_p_v @ nil_message_p_v )
=> ( ! [X: message_p_v,Xs2: list_message_p_v,Y3: message_p_v,Ys3: list_message_p_v,Z: message_p_v,Zs: list_message_p_v] :
( ( ( size_s1168481041ge_p_v @ Xs2 )
= ( size_s1168481041ge_p_v @ Ys3 ) )
=> ( ( ( size_s1168481041ge_p_v @ Ys3 )
= ( size_s1168481041ge_p_v @ Zs ) )
=> ( ( P @ Xs2 @ Ys3 @ Zs )
=> ( P @ ( cons_message_p_v @ X @ Xs2 ) @ ( cons_message_p_v @ Y3 @ Ys3 ) @ ( cons_message_p_v @ Z @ Zs ) ) ) ) )
=> ( P @ Xs @ Ys2 @ Zs2 ) ) ) ) ) ).
% list_induct3
thf(fact_336_minus__nat_Odiff__0,axiom,
! [M2: nat] :
( ( minus_minus_nat @ M2 @ zero_zero_nat )
= M2 ) ).
% minus_nat.diff_0
thf(fact_337_diffs0__imp__equal,axiom,
! [M2: nat,N2: nat] :
( ( ( minus_minus_nat @ M2 @ N2 )
= zero_zero_nat )
=> ( ( ( minus_minus_nat @ N2 @ M2 )
= zero_zero_nat )
=> ( M2 = N2 ) ) ) ).
% diffs0_imp_equal
thf(fact_338_zero__induct__lemma,axiom,
! [P: nat > $o,K: nat,I: nat] :
( ( P @ K )
=> ( ! [N: nat] :
( ( P @ ( suc @ N ) )
=> ( P @ N ) )
=> ( P @ ( minus_minus_nat @ K @ I ) ) ) ) ).
% zero_induct_lemma
thf(fact_339_diff__right__commute,axiom,
! [A8: nat,C: nat,B: nat] :
( ( minus_minus_nat @ ( minus_minus_nat @ A8 @ C ) @ B )
= ( minus_minus_nat @ ( minus_minus_nat @ A8 @ B ) @ C ) ) ).
% diff_right_commute
thf(fact_340_diff__commute,axiom,
! [I: nat,J2: nat,K: nat] :
( ( minus_minus_nat @ ( minus_minus_nat @ I @ J2 ) @ K )
= ( minus_minus_nat @ ( minus_minus_nat @ I @ K ) @ J2 ) ) ).
% diff_commute
% Conjectures (1)
thf(conj_0,conjecture,
( ( fe @ zero_zero_nat )
= ( cons_c1162654829t_unit @ cfg @ nil_co1338500125t_unit ) ) ).
%------------------------------------------------------------------------------