%------------------------------------------------------------------------------
% File : DT2H2X---1.9.5
% Problem : ITP058^2 : TPTP v9.2.1. Released v7.5.0.
% Transfm : none
% Format : tptp:raw
% Command : /export/starexec/sandbox/solver/bin/run_DT2H2X /export/starexec/sandbox/benchmark/theBenchmark.p 300
% Computer : n010.cluster.edu
% Model : x86_64 x86_64
% CPU : Intel(R) Xeon(R) CPU E5-2620 v4 2.10GHz
% Memory : 8042.1875MB
% OS : Linux 3.10.0-693.el7.x86_64
% CPULimit : 300s
% WCLimit : 300s
% DateTime : Wed Feb 25 08:55:13 AM UTC 2026
% Result : Theorem 2.85s 1.84s
% Output : Refutation 2.85s
% Verified :
% SZS Type : -
% Comments :
%------------------------------------------------------------------------------
%----WARNING: Could not form TPTP format derivation
%------------------------------------------------------------------------------
%----ORIGINAL SYSTEM OUTPUT
% 0.00/0.12 % Problem : ITP058^2 : TPTP v9.2.1. Released v7.5.0.
% 0.12/0.13 % Command : /export/starexec/sandbox/solver/bin/run_DT2H2X /export/starexec/sandbox/benchmark/theBenchmark.p 300
% 0.15/0.34 % Computer : n010.cluster.edu
% 0.15/0.34 % Model : x86_64 x86_64
% 0.15/0.34 % CPU : Intel(R) Xeon(R) CPU E5-2620 v4 @ 2.10GHz
% 0.15/0.34 % Memory : 8042.1875MB
% 0.15/0.34 % OS : Linux 3.10.0-693.el7.x86_64
% 0.15/0.34 % CPULimit : 300
% 0.15/0.34 % WCLimit : 300
% 0.15/0.34 % DateTime : Tue Feb 24 08:24:33 EST 2026
% 0.15/0.34 % CPUTime :
% 0.15/0.34 Running /export/starexec/sandbox/solver/bin/run_DT2H2X /export/starexec/sandbox/benchmark/theBenchmark.p 300
% 0.28/0.46 ---- Original DTF file ---
% 0.28/0.46 thf(spec,logic,$$dhol).
% 0.28/0.46 %------------------------------------------------------------------------------
% 0.28/0.46 % File : ITP058^2 : TPTP v9.2.1. Released v7.5.0.
% 0.28/0.46 % Domain : Interactive Theorem Proving
% 0.28/0.46 % Problem : Sledgehammer FLPTheorem problem prob_419__3294834_1
% 0.28/0.46 % Version : Especial.
% 0.28/0.46 % English :
% 0.28/0.46
% 0.28/0.46 % Refs : [BH+15] Blanchette et al. (2015), Mining the Archive of Formal
% 0.28/0.46 % : [Des21] Desharnais (2021), Email to Geoff Sutcliffe
% 0.28/0.46 % Source : [Des21]
% 0.28/0.46 % Names : FLPTheorem/prob_419__3294834_1 [Des21]
% 0.28/0.46
% 0.28/0.46 % Status : Theorem
% 0.28/0.46 % Rating : 0.33 v8.1.0, 0.25 v7.5.0
% 0.28/0.46 % Syntax : Number of formulae : 343 ( 122 unt; 64 typ; 0 def)
% 0.28/0.46 % Number of atoms : 686 ( 312 equ; 0 cnn)
% 0.28/0.46 % Maximal formula atoms : 12 ( 2 avg)
% 0.28/0.46 % Number of connectives : 5200 ( 160 ~; 20 |; 52 &;4519 @)
% 0.28/0.46 % ( 0 <=>; 449 =>; 0 <=; 0 <~>)
% 0.28/0.46 % Maximal formula depth : 28 ( 8 avg)
% 0.28/0.46 % Number of types : 6 ( 5 usr)
% 0.28/0.46 % Number of type conns : 550 ( 550 >; 0 *; 0 +; 0 <<)
% 0.28/0.46 % Number of symbols : 60 ( 59 usr; 1 con; 0-7 aty)
% 0.28/0.46 % Number of variables : 1173 ( 24 ^;1023 !; 64 ?;1173 :)
% 0.28/0.46 % ( 62 !>; 0 ?*; 0 @-; 0 @+)
% 0.28/0.46 % SPC : TH1_THM_EQU_NAR
% 0.28/0.46
% 0.28/0.46 % Comments : This file was generated by Sledgehammer 2021-02-23 16:16:10.530
% 0.28/0.46 %------------------------------------------------------------------------------
% 0.28/0.46 % Could-be-implicit typings (10)
% 0.28/0.46 thf(ty_t_AsynchronousSystem_Oconfiguration_Oconfiguration__ext,type,
% 0.28/0.46 configuration_ext: $tType > $tType > $tType > $tType > $tType ).
% 0.28/0.46
% 0.28/0.46 thf(ty_t_AsynchronousSystem_OmessageValue,type,
% 0.28/0.46 messageValue: $tType > $tType ).
% 0.28/0.46
% 0.28/0.46 thf(ty_t_AsynchronousSystem_Omessage,type,
% 0.28/0.46 message: $tType > $tType > $tType ).
% 0.28/0.46
% 0.28/0.46 thf(ty_t_Product__Type_Ounit,type,
% 0.28/0.46 product_unit: $tType ).
% 0.28/0.46
% 0.28/0.46 thf(ty_t_List_Olist,type,
% 0.28/0.46 list: $tType > $tType ).
% 0.28/0.46
% 0.28/0.46 thf(ty_t_Set_Oset,type,
% 0.28/0.46 set: $tType > $tType ).
% 0.28/0.46
% 0.28/0.46 thf(ty_t_Nat_Onat,type,
% 0.28/0.46 nat: $tType ).
% 0.28/0.46
% 0.28/0.46 thf(ty_tf_v,type,
% 0.28/0.46 v: $tType ).
% 0.28/0.46
% 0.28/0.46 thf(ty_tf_s,type,
% 0.28/0.46 s: $tType ).
% 0.28/0.46
% 0.28/0.46 thf(ty_tf_p,type,
% 0.28/0.46 p: $tType ).
% 0.28/0.46
% 0.28/0.46 % Explicit typings (54)
% 0.28/0.46 thf(sy_cl_HOL_Otype,type,
% 0.28/0.46 type:
% 0.28/0.46 !>[A: $tType] : $o ).
% 0.28/0.46
% 0.28/0.46 thf(sy_cl_Nat_Osize,type,
% 0.28/0.46 size:
% 0.28/0.46 !>[A: $tType] : $o ).
% 0.28/0.46
% 0.28/0.46 thf(sy_cl_Groups_Ozero,type,
% 0.28/0.46 zero:
% 0.28/0.46 !>[A: $tType] : $o ).
% 0.28/0.46
% 0.28/0.46 thf(sy_cl_Orderings_Oord,type,
% 0.28/0.46 ord:
% 0.28/0.46 !>[A: $tType] : $o ).
% 0.28/0.46
% 0.28/0.46 thf(sy_cl_Orderings_Oorder,type,
% 0.28/0.46 order:
% 0.28/0.46 !>[A: $tType] : $o ).
% 0.28/0.46
% 0.28/0.46 thf(sy_cl_Groups_Ogroup__add,type,
% 0.28/0.46 group_add:
% 0.28/0.46 !>[A: $tType] : $o ).
% 0.28/0.46
% 0.28/0.46 thf(sy_cl_Rings_Osemiring__1,type,
% 0.28/0.46 semiring_1:
% 0.28/0.46 !>[A: $tType] : $o ).
% 0.28/0.46
% 0.28/0.46 thf(sy_cl_Orderings_Olinorder,type,
% 0.28/0.46 linorder:
% 0.28/0.46 !>[A: $tType] : $o ).
% 0.28/0.46
% 0.28/0.46 thf(sy_cl_Nat_Osemiring__char__0,type,
% 0.28/0.46 semiring_char_0:
% 0.28/0.46 !>[A: $tType] : $o ).
% 0.28/0.46
% 0.28/0.46 thf(sy_cl_Orderings_Owellorder,type,
% 0.28/0.46 wellorder:
% 0.28/0.46 !>[A: $tType] : $o ).
% 0.28/0.46
% 0.28/0.46 thf(sy_cl_Groups_Ocomm__monoid__diff,type,
% 0.28/0.46 comm_monoid_diff:
% 0.28/0.46 !>[A: $tType] : $o ).
% 0.28/0.46
% 0.28/0.46 thf(sy_cl_Groups_Oordered__ab__group__add,type,
% 0.28/0.46 ordered_ab_group_add:
% 0.28/0.46 !>[A: $tType] : $o ).
% 0.28/0.46
% 0.28/0.46 thf(sy_cl_Groups_Ocancel__comm__monoid__add,type,
% 0.28/0.46 cancel1352612707id_add:
% 0.28/0.46 !>[A: $tType] : $o ).
% 0.28/0.46
% 0.28/0.46 thf(sy_cl_Groups_Ocancel__ab__semigroup__add,type,
% 0.28/0.46 cancel146912293up_add:
% 0.28/0.46 !>[A: $tType] : $o ).
% 0.28/0.46
% 0.28/0.46 thf(sy_cl_Rings_Olinordered__nonzero__semiring,type,
% 0.28/0.46 linord1659791738miring:
% 0.28/0.46 !>[A: $tType] : $o ).
% 0.28/0.46
% 0.28/0.46 thf(sy_cl_Groups_Ocanonically__ordered__monoid__add,type,
% 0.28/0.46 canoni770627133id_add:
% 0.28/0.46 !>[A: $tType] : $o ).
% 0.28/0.46
% 0.28/0.46 thf(sy_c_FLPSystem_OflpSystem,type,
% 0.28/0.46 flpSystem:
% 0.28/0.46 !>[P: $tType,S: $tType,V: $tType] : ( ( P > S > ( messageValue @ V ) > ( message @ P @ V ) > nat ) > $o ) ).
% 0.28/0.46
% 0.28/0.46 thf(sy_c_FLPTheorem__Mirabelle__yavhmxymmt_OflpPseudoConsensus,type,
% 0.28/0.46 fLPThe1922692578sensus:
% 0.28/0.46 !>[P: $tType,S: $tType,V: $tType] : ( ( P > S > ( messageValue @ V ) > S ) > ( P > S > ( messageValue @ V ) > ( message @ P @ V ) > nat ) > ( P > S ) > $o ) ).
% 0.28/0.46
% 0.28/0.46 thf(sy_c_FLPTheorem__Mirabelle__yavhmxymmt_OflpPseudoConsensus_OinfiniteExecutionCfg,type,
% 0.28/0.47 fLPThe137922386ionCfg:
% 0.28/0.47 !>[P: $tType,V: $tType,S: $tType] : ( ( configuration_ext @ P @ V @ S @ product_unit ) > ( ( list @ ( configuration_ext @ P @ V @ S @ product_unit ) ) > ( list @ ( message @ P @ V ) ) > ( list @ ( configuration_ext @ P @ V @ S @ product_unit ) ) ) > ( ( list @ ( configuration_ext @ P @ V @ S @ product_unit ) ) > ( list @ ( message @ P @ V ) ) > ( list @ ( message @ P @ V ) ) ) > nat > ( list @ ( configuration_ext @ P @ V @ S @ product_unit ) ) ) ).
% 0.28/0.47
% 0.28/0.47 thf(sy_c_FLPTheorem__Mirabelle__yavhmxymmt_OflpPseudoConsensus_OinfiniteExecutionMsg,type,
% 0.28/0.47 fLPThe221390223ionMsg:
% 0.28/0.47 !>[P: $tType,V: $tType,S: $tType] : ( ( configuration_ext @ P @ V @ S @ product_unit ) > ( ( list @ ( configuration_ext @ P @ V @ S @ product_unit ) ) > ( list @ ( message @ P @ V ) ) > ( list @ ( configuration_ext @ P @ V @ S @ product_unit ) ) ) > ( ( list @ ( configuration_ext @ P @ V @ S @ product_unit ) ) > ( list @ ( message @ P @ V ) ) > ( list @ ( message @ P @ V ) ) ) > nat > ( list @ ( message @ P @ V ) ) ) ).
% 0.28/0.47
% 0.28/0.47 thf(sy_c_FLPTheorem__Mirabelle__yavhmxymmt_OflpPseudoConsensus__axioms,type,
% 0.28/0.47 fLPThe128449925axioms:
% 0.28/0.47 !>[P: $tType,S: $tType,V: $tType] : ( ( P > S > ( messageValue @ V ) > S ) > ( P > S > ( messageValue @ V ) > ( message @ P @ V ) > nat ) > ( P > S ) > $o ) ).
% 0.28/0.47
% 0.28/0.47 thf(sy_c_Groups_Ominus__class_Ominus,type,
% 0.28/0.47 minus_minus:
% 0.28/0.47 !>[A: $tType] : ( A > A > A ) ).
% 0.28/0.47
% 0.28/0.47 thf(sy_c_Groups_Ozero__class_Ozero,type,
% 0.28/0.47 zero_zero:
% 0.28/0.47 !>[A: $tType] : A ).
% 0.28/0.47
% 0.28/0.47 thf(sy_c_List_Oarg__min__list,type,
% 0.28/0.47 arg_min_list:
% 0.28/0.47 !>[A: $tType,B: $tType] : ( ( A > B ) > ( list @ A ) > A ) ).
% 0.28/0.47
% 0.28/0.47 thf(sy_c_List_Obind,type,
% 0.28/0.47 bind:
% 0.28/0.47 !>[A: $tType,B: $tType] : ( ( list @ A ) > ( A > ( list @ B ) ) > ( list @ B ) ) ).
% 0.28/0.47
% 0.28/0.47 thf(sy_c_List_Ocount__list,type,
% 0.28/0.47 count_list:
% 0.28/0.47 !>[A: $tType] : ( ( list @ A ) > A > nat ) ).
% 0.28/0.47
% 0.28/0.47 thf(sy_c_List_Ogen__length,type,
% 0.28/0.47 gen_length:
% 0.28/0.47 !>[A: $tType] : ( nat > ( list @ A ) > nat ) ).
% 0.28/0.47
% 0.28/0.47 thf(sy_c_List_Oinsert,type,
% 0.28/0.47 insert:
% 0.28/0.47 !>[A: $tType] : ( A > ( list @ A ) > ( list @ A ) ) ).
% 0.28/0.47
% 0.28/0.47 thf(sy_c_List_Olist_OCons,type,
% 0.28/0.47 cons:
% 0.28/0.47 !>[A: $tType] : ( A > ( list @ A ) > ( list @ A ) ) ).
% 0.28/0.47
% 0.28/0.47 thf(sy_c_List_Olist_ONil,type,
% 0.28/0.47 nil:
% 0.28/0.47 !>[A: $tType] : ( list @ A ) ).
% 0.28/0.47
% 0.28/0.47 thf(sy_c_List_Olist__ex1,type,
% 0.28/0.47 list_ex1:
% 0.28/0.47 !>[A: $tType] : ( ( A > $o ) > ( list @ A ) > $o ) ).
% 0.28/0.47
% 0.28/0.47 thf(sy_c_List_Olistrelp,type,
% 0.28/0.47 listrelp:
% 0.28/0.47 !>[A: $tType,B: $tType] : ( ( A > B > $o ) > ( list @ A ) > ( list @ B ) > $o ) ).
% 0.28/0.47
% 0.28/0.47 thf(sy_c_List_Omap__tailrec__rev,type,
% 0.28/0.47 map_tailrec_rev:
% 0.28/0.47 !>[A: $tType,B: $tType] : ( ( A > B ) > ( list @ A ) > ( list @ B ) > ( list @ B ) ) ).
% 0.28/0.47
% 0.28/0.47 thf(sy_c_List_Omember,type,
% 0.28/0.47 member:
% 0.28/0.47 !>[A: $tType] : ( ( list @ A ) > A > $o ) ).
% 0.28/0.47
% 0.28/0.47 thf(sy_c_List_On__lists,type,
% 0.28/0.47 n_lists:
% 0.28/0.47 !>[A: $tType] : ( nat > ( list @ A ) > ( list @ ( list @ A ) ) ) ).
% 0.28/0.47
% 0.28/0.47 thf(sy_c_List_Onths,type,
% 0.28/0.47 nths:
% 0.28/0.47 !>[A: $tType] : ( ( list @ A ) > ( set @ nat ) > ( list @ A ) ) ).
% 0.28/0.47
% 0.28/0.47 thf(sy_c_List_Oord_Olexordp__eq,type,
% 0.28/0.47 lexordp_eq:
% 0.28/0.47 !>[A: $tType] : ( ( A > A > $o ) > ( list @ A ) > ( list @ A ) > $o ) ).
% 0.28/0.47
% 0.28/0.47 thf(sy_c_List_Oord__class_Olexordp,type,
% 0.28/0.47 ord_lexordp:
% 0.28/0.47 !>[A: $tType] : ( ( list @ A ) > ( list @ A ) > $o ) ).
% 0.28/0.47
% 0.28/0.47 thf(sy_c_List_Oord__class_Olexordp__eq,type,
% 0.28/0.47 ord_lexordp_eq:
% 0.28/0.47 !>[A: $tType] : ( ( list @ A ) > ( list @ A ) > $o ) ).
% 0.28/0.47
% 0.28/0.47 thf(sy_c_List_Oproduct__lists,type,
% 0.28/0.47 product_lists:
% 0.28/0.47 !>[A: $tType] : ( ( list @ ( list @ A ) ) > ( list @ ( list @ A ) ) ) ).
% 0.28/0.47
% 0.28/0.47 thf(sy_c_List_Osplice,type,
% 0.28/0.47 splice:
% 0.28/0.47 !>[A: $tType] : ( ( list @ A ) > ( list @ A ) > ( list @ A ) ) ).
% 0.28/0.47
% 0.28/0.47 thf(sy_c_List_Osubseqs,type,
% 0.28/0.47 subseqs:
% 0.28/0.47 !>[A: $tType] : ( ( list @ A ) > ( list @ ( list @ A ) ) ) ).
% 0.28/0.47
% 0.28/0.47 thf(sy_c_Nat_OSuc,type,
% 0.28/0.47 suc: nat > nat ).
% 0.28/0.47
% 0.28/0.47 thf(sy_c_Nat_Osemiring__1__class_Oof__nat,type,
% 0.28/0.47 semiring_1_of_nat:
% 0.28/0.47 !>[A: $tType] : ( nat > A ) ).
% 0.28/0.47
% 0.28/0.47 thf(sy_c_Nat_Osemiring__1__class_Oof__nat__aux,type,
% 0.28/0.47 semiri532925092at_aux:
% 0.28/0.47 !>[A: $tType] : ( ( A > A ) > nat > A > A ) ).
% 0.28/0.47
% 0.28/0.47 thf(sy_c_Nat_Osize__class_Osize,type,
% 0.28/0.47 size_size:
% 0.28/0.47 !>[A: $tType] : ( A > nat ) ).
% 0.28/0.47
% 0.28/0.47 thf(sy_c_Orderings_Oord__class_Oless,type,
% 0.28/0.47 ord_less:
% 0.28/0.47 !>[A: $tType] : ( A > A > $o ) ).
% 0.28/0.47
% 0.28/0.47 thf(sy_c_Set_OCollect,type,
% 0.28/0.47 collect:
% 0.28/0.47 !>[A: $tType] : ( ( A > $o ) > ( set @ A ) ) ).
% 0.28/0.47
% 0.28/0.47 thf(sy_c_member,type,
% 0.28/0.47 member2:
% 0.28/0.47 !>[A: $tType] : ( A > ( set @ A ) > $o ) ).
% 0.28/0.47
% 0.28/0.47 thf(sy_v_cfg,type,
% 0.28/0.47 cfg: configuration_ext @ p @ v @ s @ product_unit ).
% 0.28/0.47
% 0.28/0.47 thf(sy_v_fStepCfg____,type,
% 0.28/0.47 fStepCfg: ( list @ ( configuration_ext @ p @ v @ s @ product_unit ) ) > ( list @ ( message @ p @ v ) ) > ( list @ ( configuration_ext @ p @ v @ s @ product_unit ) ) ).
% 0.28/0.47
% 0.28/0.47 thf(sy_v_fStepMsg____,type,
% 0.28/0.47 fStepMsg: ( list @ ( configuration_ext @ p @ v @ s @ product_unit ) ) > ( list @ ( message @ p @ v ) ) > ( list @ ( message @ p @ v ) ) ).
% 0.28/0.47
% 0.28/0.47 thf(sy_v_fe____,type,
% 0.28/0.47 fe: nat > ( list @ ( configuration_ext @ p @ v @ s @ product_unit ) ) ).
% 0.28/0.47
% 0.28/0.47 thf(sy_v_ft____,type,
% 0.28/0.47 ft: nat > ( list @ ( message @ p @ v ) ) ).
% 0.28/0.47
% 0.28/0.47 % Relevant facts (252)
% 0.28/0.47 thf(fact_0_ft__def,axiom,
% 0.28/0.47 ( ft
% 0.28/0.47 = ( fLPThe221390223ionMsg @ p @ v @ s @ cfg @ fStepCfg @ fStepMsg ) ) ).
% 0.28/0.47
% 0.28/0.47 % ft_def
% 0.28/0.47 thf(fact_1_fe__def,axiom,
% 0.28/0.47 ( fe
% 0.28/0.47 = ( fLPThe137922386ionCfg @ p @ v @ s @ cfg @ fStepCfg @ fStepMsg ) ) ).
% 0.28/0.47
% 0.28/0.47 % fe_def
% 0.28/0.47 thf(fact_2_infiniteExecutionCfg_Osimps_I1_J,axiom,
% 0.28/0.47 ! [Cfg: configuration_ext @ p @ v @ s @ product_unit,FStepCfg: ( list @ ( configuration_ext @ p @ v @ s @ product_unit ) ) > ( list @ ( message @ p @ v ) ) > ( list @ ( configuration_ext @ p @ v @ s @ product_unit ) ),FStepMsg: ( list @ ( configuration_ext @ p @ v @ s @ product_unit ) ) > ( list @ ( message @ p @ v ) ) > ( list @ ( message @ p @ v ) )] :
% 0.28/0.47 ( ( fLPThe137922386ionCfg @ p @ v @ s @ Cfg @ FStepCfg @ FStepMsg @ ( zero_zero @ nat ) )
% 0.28/0.47 = ( cons @ ( configuration_ext @ p @ v @ s @ product_unit ) @ Cfg @ ( nil @ ( configuration_ext @ p @ v @ s @ product_unit ) ) ) ) ).
% 0.28/0.47
% 0.28/0.47 % infiniteExecutionCfg.simps(1)
% 0.28/0.47 thf(fact_3_list_Oinject,axiom,
% 0.28/0.47 ! [A: $tType,X21: A,X22: list @ A,Y21: A,Y22: list @ A] :
% 0.28/0.47 ( ( ( cons @ A @ X21 @ X22 )
% 0.28/0.47 = ( cons @ A @ Y21 @ Y22 ) )
% 0.28/0.47 = ( ( X21 = Y21 )
% 0.28/0.47 & ( X22 = Y22 ) ) ) ).
% 0.28/0.47
% 0.28/0.47 % list.inject
% 0.28/0.47 thf(fact_4_list_Odistinct_I1_J,axiom,
% 0.28/0.47 ! [A: $tType,X21: A,X22: list @ A] :
% 0.28/0.47 ( ( nil @ A )
% 0.28/0.47 != ( cons @ A @ X21 @ X22 ) ) ).
% 0.28/0.47
% 0.28/0.47 % list.distinct(1)
% 0.28/0.47 thf(fact_5_list_OdiscI,axiom,
% 0.28/0.47 ! [A: $tType,List: list @ A,X21: A,X22: list @ A] :
% 0.28/0.47 ( ( List
% 0.28/0.47 = ( cons @ A @ X21 @ X22 ) )
% 0.28/0.47 => ( List
% 0.28/0.47 != ( nil @ A ) ) ) ).
% 0.28/0.47
% 0.28/0.47 % list.discI
% 0.28/0.47 thf(fact_6_list_Oexhaust,axiom,
% 0.28/0.47 ! [A: $tType,Y: list @ A] :
% 0.28/0.47 ( ( Y
% 0.28/0.47 != ( nil @ A ) )
% 0.28/0.47 => ~ ! [X212: A,X222: list @ A] :
% 0.28/0.47 ( Y
% 0.28/0.47 != ( cons @ A @ X212 @ X222 ) ) ) ).
% 0.28/0.47
% 0.28/0.47 % list.exhaust
% 0.28/0.47 thf(fact_7_list_Oinducts,axiom,
% 0.28/0.47 ! [A: $tType,P2: ( list @ A ) > $o,List: list @ A] :
% 0.28/0.47 ( ( P2 @ ( nil @ A ) )
% 0.28/0.47 => ( ! [X1: A,X2: list @ A] :
% 0.28/0.47 ( ( P2 @ X2 )
% 0.28/0.47 => ( P2 @ ( cons @ A @ X1 @ X2 ) ) )
% 0.28/0.47 => ( P2 @ List ) ) ) ).
% 0.28/0.47
% 0.28/0.47 % list.inducts
% 0.28/0.47 thf(fact_8_neq__Nil__conv,axiom,
% 0.28/0.47 ! [A: $tType,Xs: list @ A] :
% 0.28/0.47 ( ( Xs
% 0.28/0.47 != ( nil @ A ) )
% 0.28/0.47 = ( ? [Y2: A,Ys: list @ A] :
% 0.28/0.47 ( Xs
% 0.28/0.47 = ( cons @ A @ Y2 @ Ys ) ) ) ) ).
% 0.28/0.47
% 0.28/0.47 % neq_Nil_conv
% 0.28/0.47 thf(fact_9_list__induct2_H,axiom,
% 0.28/0.47 ! [A: $tType,B: $tType,P2: ( list @ A ) > ( list @ B ) > $o,Xs: list @ A,Ys2: list @ B] :
% 0.28/0.47 ( ( P2 @ ( nil @ A ) @ ( nil @ B ) )
% 0.28/0.47 => ( ! [X: A,Xs2: list @ A] : ( P2 @ ( cons @ A @ X @ Xs2 ) @ ( nil @ B ) )
% 0.28/0.47 => ( ! [Y3: B,Ys3: list @ B] : ( P2 @ ( nil @ A ) @ ( cons @ B @ Y3 @ Ys3 ) )
% 0.28/0.47 => ( ! [X: A,Xs2: list @ A,Y3: B,Ys3: list @ B] :
% 0.28/0.47 ( ( P2 @ Xs2 @ Ys3 )
% 0.28/0.47 => ( P2 @ ( cons @ A @ X @ Xs2 ) @ ( cons @ B @ Y3 @ Ys3 ) ) )
% 0.28/0.47 => ( P2 @ Xs @ Ys2 ) ) ) ) ) ).
% 0.28/0.47
% 0.28/0.47 % list_induct2'
% 0.28/0.47 thf(fact_10_splice_Oinduct,axiom,
% 0.28/0.47 ! [A: $tType,P2: ( list @ A ) > ( list @ A ) > $o,A0: list @ A,A1: list @ A] :
% 0.28/0.47 ( ! [X_1: list @ A] : ( P2 @ ( nil @ A ) @ X_1 )
% 0.28/0.47 => ( ! [X: A,Xs2: list @ A,Ys3: list @ A] :
% 0.28/0.47 ( ( P2 @ Ys3 @ Xs2 )
% 0.28/0.47 => ( P2 @ ( cons @ A @ X @ Xs2 ) @ Ys3 ) )
% 0.28/0.47 => ( P2 @ A0 @ A1 ) ) ) ).
% 0.28/0.47
% 0.28/0.47 % splice.induct
% 0.28/0.47 thf(fact_11_induct__list012,axiom,
% 0.28/0.47 ! [A: $tType,P2: ( list @ A ) > $o,Xs: list @ A] :
% 0.28/0.47 ( ( P2 @ ( nil @ A ) )
% 0.28/0.47 => ( ! [X: A] : ( P2 @ ( cons @ A @ X @ ( nil @ A ) ) )
% 0.28/0.47 => ( ! [X: A,Y3: A,Zs: list @ A] :
% 0.28/0.47 ( ( P2 @ Zs )
% 0.28/0.47 => ( ( P2 @ ( cons @ A @ Y3 @ Zs ) )
% 0.28/0.47 => ( P2 @ ( cons @ A @ X @ ( cons @ A @ Y3 @ Zs ) ) ) ) )
% 0.28/0.47 => ( P2 @ Xs ) ) ) ) ).
% 0.28/0.47
% 0.28/0.47 % induct_list012
% 0.28/0.47 thf(fact_12_min__list_Ocases,axiom,
% 0.28/0.47 ! [A: $tType] :
% 0.28/0.47 ( ( ord @ A )
% 0.28/0.47 => ! [X3: list @ A] :
% 0.28/0.47 ( ! [X: A,Xs2: list @ A] :
% 0.28/0.47 ( X3
% 0.28/0.47 != ( cons @ A @ X @ Xs2 ) )
% 0.28/0.47 => ( X3
% 0.28/0.47 = ( nil @ A ) ) ) ) ).
% 0.28/0.47
% 0.28/0.47 % min_list.cases
% 0.28/0.47 thf(fact_13_min__list_Oinduct,axiom,
% 0.28/0.47 ! [A: $tType] :
% 0.28/0.47 ( ( ord @ A )
% 0.28/0.47 => ! [P2: ( list @ A ) > $o,A0: list @ A] :
% 0.28/0.47 ( ! [X: A,Xs2: list @ A] :
% 0.28/0.47 ( ! [X213: A,X223: list @ A] :
% 0.28/0.47 ( ( Xs2
% 0.28/0.47 = ( cons @ A @ X213 @ X223 ) )
% 0.28/0.47 => ( P2 @ Xs2 ) )
% 0.28/0.47 => ( P2 @ ( cons @ A @ X @ Xs2 ) ) )
% 0.28/0.47 => ( ( P2 @ ( nil @ A ) )
% 0.28/0.47 => ( P2 @ A0 ) ) ) ) ).
% 0.28/0.47
% 0.28/0.47 % min_list.induct
% 0.28/0.47 thf(fact_14_infiniteExecutionMsg_Osimps_I1_J,axiom,
% 0.28/0.47 ! [Cfg: configuration_ext @ p @ v @ s @ product_unit,FStepCfg: ( list @ ( configuration_ext @ p @ v @ s @ product_unit ) ) > ( list @ ( message @ p @ v ) ) > ( list @ ( configuration_ext @ p @ v @ s @ product_unit ) ),FStepMsg: ( list @ ( configuration_ext @ p @ v @ s @ product_unit ) ) > ( list @ ( message @ p @ v ) ) > ( list @ ( message @ p @ v ) )] :
% 0.28/0.47 ( ( fLPThe221390223ionMsg @ p @ v @ s @ Cfg @ FStepCfg @ FStepMsg @ ( zero_zero @ nat ) )
% 0.28/0.47 = ( nil @ ( message @ p @ v ) ) ) ).
% 0.28/0.47
% 0.28/0.47 % infiniteExecutionMsg.simps(1)
% 0.28/0.47 thf(fact_15_zero__reorient,axiom,
% 0.28/0.47 ! [A: $tType] :
% 0.28/0.47 ( ( zero @ A )
% 0.28/0.47 => ! [X3: A] :
% 0.28/0.47 ( ( ( zero_zero @ A )
% 0.28/0.47 = X3 )
% 0.28/0.47 = ( X3
% 0.28/0.47 = ( zero_zero @ A ) ) ) ) ).
% 0.28/0.47
% 0.28/0.47 % zero_reorient
% 0.28/0.47 thf(fact_16_not__Cons__self2,axiom,
% 0.28/0.47 ! [A: $tType,X3: A,Xs: list @ A] :
% 0.28/0.47 ( ( cons @ A @ X3 @ Xs )
% 0.28/0.47 != Xs ) ).
% 0.28/0.47
% 0.28/0.47 % not_Cons_self2
% 0.28/0.47 thf(fact_17_strict__sorted_Oinduct,axiom,
% 0.28/0.47 ! [A: $tType] :
% 0.28/0.47 ( ( linorder @ A )
% 0.28/0.47 => ! [P2: ( list @ A ) > $o,A0: list @ A] :
% 0.28/0.47 ( ( P2 @ ( nil @ A ) )
% 0.28/0.47 => ( ! [X: A,Ys3: list @ A] :
% 0.28/0.47 ( ( P2 @ Ys3 )
% 0.28/0.47 => ( P2 @ ( cons @ A @ X @ Ys3 ) ) )
% 0.28/0.47 => ( P2 @ A0 ) ) ) ) ).
% 0.28/0.47
% 0.28/0.47 % strict_sorted.induct
% 0.28/0.47 thf(fact_18_strict__sorted_Ocases,axiom,
% 0.28/0.47 ! [A: $tType] :
% 0.28/0.47 ( ( linorder @ A )
% 0.28/0.47 => ! [X3: list @ A] :
% 0.28/0.47 ( ( X3
% 0.28/0.47 != ( nil @ A ) )
% 0.28/0.47 => ~ ! [X: A,Ys3: list @ A] :
% 0.28/0.47 ( X3
% 0.28/0.47 != ( cons @ A @ X @ Ys3 ) ) ) ) ).
% 0.28/0.47
% 0.28/0.47 % strict_sorted.cases
% 0.28/0.47 thf(fact_19_map__tailrec__rev_Oinduct,axiom,
% 0.28/0.47 ! [A: $tType,B: $tType,P2: ( A > B ) > ( list @ A ) > ( list @ B ) > $o,A0: A > B,A1: list @ A,A2: list @ B] :
% 0.28/0.47 ( ! [F: A > B,X_1: list @ B] : ( P2 @ F @ ( nil @ A ) @ X_1 )
% 0.28/0.47 => ( ! [F: A > B,A3: A,As: list @ A,Bs: list @ B] :
% 0.28/0.47 ( ( P2 @ F @ As @ ( cons @ B @ ( F @ A3 ) @ Bs ) )
% 0.28/0.47 => ( P2 @ F @ ( cons @ A @ A3 @ As ) @ Bs ) )
% 0.28/0.47 => ( P2 @ A0 @ A1 @ A2 ) ) ) ).
% 0.28/0.47
% 0.28/0.47 % map_tailrec_rev.induct
% 0.28/0.47 thf(fact_20_list__nonempty__induct,axiom,
% 0.28/0.47 ! [A: $tType,Xs: list @ A,P2: ( list @ A ) > $o] :
% 0.28/0.47 ( ( Xs
% 0.28/0.47 != ( nil @ A ) )
% 0.28/0.47 => ( ! [X: A] : ( P2 @ ( cons @ A @ X @ ( nil @ A ) ) )
% 0.28/0.47 => ( ! [X: A,Xs2: list @ A] :
% 0.28/0.47 ( ( Xs2
% 0.28/0.47 != ( nil @ A ) )
% 0.28/0.47 => ( ( P2 @ Xs2 )
% 0.28/0.47 => ( P2 @ ( cons @ A @ X @ Xs2 ) ) ) )
% 0.28/0.47 => ( P2 @ Xs ) ) ) ) ).
% 0.28/0.47
% 0.28/0.47 % list_nonempty_induct
% 0.28/0.47 thf(fact_21_successively_Oinduct,axiom,
% 0.28/0.47 ! [A: $tType,P2: ( A > A > $o ) > ( list @ A ) > $o,A0: A > A > $o,A1: list @ A] :
% 0.28/0.47 ( ! [P3: A > A > $o] : ( P2 @ P3 @ ( nil @ A ) )
% 0.28/0.47 => ( ! [P3: A > A > $o,X: A] : ( P2 @ P3 @ ( cons @ A @ X @ ( nil @ A ) ) )
% 0.28/0.47 => ( ! [P3: A > A > $o,X: A,Y3: A,Xs2: list @ A] :
% 0.28/0.47 ( ( P2 @ P3 @ ( cons @ A @ Y3 @ Xs2 ) )
% 0.28/0.47 => ( P2 @ P3 @ ( cons @ A @ X @ ( cons @ A @ Y3 @ Xs2 ) ) ) )
% 0.28/0.47 => ( P2 @ A0 @ A1 ) ) ) ) ).
% 0.28/0.47
% 0.28/0.47 % successively.induct
% 0.28/0.47 thf(fact_22_arg__min__list_Oinduct,axiom,
% 0.28/0.47 ! [B: $tType,A: $tType] :
% 0.28/0.47 ( ( linorder @ B )
% 0.28/0.47 => ! [P2: ( A > B ) > ( list @ A ) > $o,A0: A > B,A1: list @ A] :
% 0.28/0.47 ( ! [F: A > B,X: A] : ( P2 @ F @ ( cons @ A @ X @ ( nil @ A ) ) )
% 0.28/0.47 => ( ! [F: A > B,X: A,Y3: A,Zs: list @ A] :
% 0.28/0.47 ( ( P2 @ F @ ( cons @ A @ Y3 @ Zs ) )
% 0.28/0.47 => ( P2 @ F @ ( cons @ A @ X @ ( cons @ A @ Y3 @ Zs ) ) ) )
% 0.28/0.47 => ( ! [A3: A > B] : ( P2 @ A3 @ ( nil @ A ) )
% 0.28/0.47 => ( P2 @ A0 @ A1 ) ) ) ) ) ).
% 0.28/0.47
% 0.28/0.47 % arg_min_list.induct
% 0.28/0.47 thf(fact_23_remdups__adj_Oinduct,axiom,
% 0.28/0.47 ! [A: $tType,P2: ( list @ A ) > $o,A0: list @ A] :
% 0.28/0.47 ( ( P2 @ ( nil @ A ) )
% 0.28/0.47 => ( ! [X: A] : ( P2 @ ( cons @ A @ X @ ( nil @ A ) ) )
% 0.28/0.47 => ( ! [X: A,Y3: A,Xs2: list @ A] :
% 0.28/0.47 ( ( ( X = Y3 )
% 0.28/0.47 => ( P2 @ ( cons @ A @ X @ Xs2 ) ) )
% 0.28/0.47 => ( ( ( X != Y3 )
% 0.28/0.47 => ( P2 @ ( cons @ A @ Y3 @ Xs2 ) ) )
% 0.28/0.47 => ( P2 @ ( cons @ A @ X @ ( cons @ A @ Y3 @ Xs2 ) ) ) ) )
% 0.28/0.47 => ( P2 @ A0 ) ) ) ) ).
% 0.28/0.47
% 0.28/0.47 % remdups_adj.induct
% 0.28/0.47 thf(fact_24_sorted__wrt_Oinduct,axiom,
% 0.28/0.47 ! [A: $tType,P2: ( A > A > $o ) > ( list @ A ) > $o,A0: A > A > $o,A1: list @ A] :
% 0.28/0.47 ( ! [P3: A > A > $o] : ( P2 @ P3 @ ( nil @ A ) )
% 0.28/0.47 => ( ! [P3: A > A > $o,X: A,Ys3: list @ A] :
% 0.28/0.47 ( ( P2 @ P3 @ Ys3 )
% 0.28/0.47 => ( P2 @ P3 @ ( cons @ A @ X @ Ys3 ) ) )
% 0.28/0.47 => ( P2 @ A0 @ A1 ) ) ) ).
% 0.28/0.47
% 0.28/0.47 % sorted_wrt.induct
% 0.28/0.47 thf(fact_25_remdups__adj_Ocases,axiom,
% 0.28/0.47 ! [A: $tType,X3: list @ A] :
% 0.28/0.47 ( ( X3
% 0.28/0.47 != ( nil @ A ) )
% 0.28/0.47 => ( ! [X: A] :
% 0.28/0.47 ( X3
% 0.28/0.47 != ( cons @ A @ X @ ( nil @ A ) ) )
% 0.28/0.47 => ~ ! [X: A,Y3: A,Xs2: list @ A] :
% 0.28/0.47 ( X3
% 0.28/0.47 != ( cons @ A @ X @ ( cons @ A @ Y3 @ Xs2 ) ) ) ) ) ).
% 0.28/0.47
% 0.28/0.47 % remdups_adj.cases
% 0.28/0.47 thf(fact_26_transpose_Ocases,axiom,
% 0.28/0.47 ! [A: $tType,X3: list @ ( list @ A )] :
% 0.28/0.47 ( ( X3
% 0.28/0.47 != ( nil @ ( list @ A ) ) )
% 0.28/0.47 => ( ! [Xss: list @ ( list @ A )] :
% 0.28/0.47 ( X3
% 0.28/0.47 != ( cons @ ( list @ A ) @ ( nil @ A ) @ Xss ) )
% 0.28/0.47 => ~ ! [X: A,Xs2: list @ A,Xss: list @ ( list @ A )] :
% 0.28/0.47 ( X3
% 0.28/0.47 != ( cons @ ( list @ A ) @ ( cons @ A @ X @ Xs2 ) @ Xss ) ) ) ) ).
% 0.28/0.47
% 0.28/0.47 % transpose.cases
% 0.28/0.47 thf(fact_27_shuffles_Oinduct,axiom,
% 0.28/0.47 ! [A: $tType,P2: ( list @ A ) > ( list @ A ) > $o,A0: list @ A,A1: list @ A] :
% 0.28/0.47 ( ! [X_1: list @ A] : ( P2 @ ( nil @ A ) @ X_1 )
% 0.28/0.47 => ( ! [Xs2: list @ A] : ( P2 @ Xs2 @ ( nil @ A ) )
% 0.28/0.47 => ( ! [X: A,Xs2: list @ A,Y3: A,Ys3: list @ A] :
% 0.28/0.47 ( ( P2 @ Xs2 @ ( cons @ A @ Y3 @ Ys3 ) )
% 0.28/0.47 => ( ( P2 @ ( cons @ A @ X @ Xs2 ) @ Ys3 )
% 0.28/0.47 => ( P2 @ ( cons @ A @ X @ Xs2 ) @ ( cons @ A @ Y3 @ Ys3 ) ) ) )
% 0.28/0.47 => ( P2 @ A0 @ A1 ) ) ) ) ).
% 0.28/0.47
% 0.28/0.47 % shuffles.induct
% 0.28/0.47 thf(fact_28_infiniteExecutionCfg_Oelims,axiom,
% 0.28/0.47 ! [X3: configuration_ext @ p @ v @ s @ product_unit,Xa: ( list @ ( configuration_ext @ p @ v @ s @ product_unit ) ) > ( list @ ( message @ p @ v ) ) > ( list @ ( configuration_ext @ p @ v @ s @ product_unit ) ),Xb: ( list @ ( configuration_ext @ p @ v @ s @ product_unit ) ) > ( list @ ( message @ p @ v ) ) > ( list @ ( message @ p @ v ) ),Xc: nat,Y: list @ ( configuration_ext @ p @ v @ s @ product_unit )] :
% 0.28/0.47 ( ( ( fLPThe137922386ionCfg @ p @ v @ s @ X3 @ Xa @ Xb @ Xc )
% 0.28/0.47 = Y )
% 0.28/0.47 => ( ( ( Xc
% 0.28/0.47 = ( zero_zero @ nat ) )
% 0.28/0.47 => ( Y
% 0.28/0.47 != ( cons @ ( configuration_ext @ p @ v @ s @ product_unit ) @ X3 @ ( nil @ ( configuration_ext @ p @ v @ s @ product_unit ) ) ) ) )
% 0.28/0.47 => ~ ! [N: nat] :
% 0.28/0.47 ( ( Xc
% 0.28/0.47 = ( suc @ N ) )
% 0.28/0.47 => ( Y
% 0.28/0.47 != ( Xa @ ( fLPThe137922386ionCfg @ p @ v @ s @ X3 @ Xa @ Xb @ N ) @ ( fLPThe221390223ionMsg @ p @ v @ s @ X3 @ Xa @ Xb @ N ) ) ) ) ) ) ).
% 0.28/0.47
% 0.28/0.47 % infiniteExecutionCfg.elims
% 0.28/0.47 thf(fact_29_infiniteExecutionMsg_Oelims,axiom,
% 0.28/0.47 ! [X3: configuration_ext @ p @ v @ s @ product_unit,Xa: ( list @ ( configuration_ext @ p @ v @ s @ product_unit ) ) > ( list @ ( message @ p @ v ) ) > ( list @ ( configuration_ext @ p @ v @ s @ product_unit ) ),Xb: ( list @ ( configuration_ext @ p @ v @ s @ product_unit ) ) > ( list @ ( message @ p @ v ) ) > ( list @ ( message @ p @ v ) ),Xc: nat,Y: list @ ( message @ p @ v )] :
% 0.28/0.47 ( ( ( fLPThe221390223ionMsg @ p @ v @ s @ X3 @ Xa @ Xb @ Xc )
% 0.28/0.47 = Y )
% 0.28/0.47 => ( ( ( Xc
% 0.28/0.47 = ( zero_zero @ nat ) )
% 0.28/0.47 => ( Y
% 0.28/0.47 != ( nil @ ( message @ p @ v ) ) ) )
% 0.28/0.47 => ~ ! [N: nat] :
% 0.28/0.47 ( ( Xc
% 0.28/0.47 = ( suc @ N ) )
% 0.28/0.47 => ( Y
% 0.28/0.47 != ( Xb @ ( fLPThe137922386ionCfg @ p @ v @ s @ X3 @ Xa @ Xb @ N ) @ ( fLPThe221390223ionMsg @ p @ v @ s @ X3 @ Xa @ Xb @ N ) ) ) ) ) ) ).
% 0.28/0.47
% 0.28/0.47 % infiniteExecutionMsg.elims
% 0.28/0.47 thf(fact_30_infiniteExecutionCfg_Osimps_I2_J,axiom,
% 0.28/0.47 ! [Cfg: configuration_ext @ p @ v @ s @ product_unit,FStepCfg: ( list @ ( configuration_ext @ p @ v @ s @ product_unit ) ) > ( list @ ( message @ p @ v ) ) > ( list @ ( configuration_ext @ p @ v @ s @ product_unit ) ),FStepMsg: ( list @ ( configuration_ext @ p @ v @ s @ product_unit ) ) > ( list @ ( message @ p @ v ) ) > ( list @ ( message @ p @ v ) ),N2: nat] :
% 0.28/0.47 ( ( fLPThe137922386ionCfg @ p @ v @ s @ Cfg @ FStepCfg @ FStepMsg @ ( suc @ N2 ) )
% 0.28/0.47 = ( FStepCfg @ ( fLPThe137922386ionCfg @ p @ v @ s @ Cfg @ FStepCfg @ FStepMsg @ N2 ) @ ( fLPThe221390223ionMsg @ p @ v @ s @ Cfg @ FStepCfg @ FStepMsg @ N2 ) ) ) ).
% 0.28/0.47
% 0.28/0.47 % infiniteExecutionCfg.simps(2)
% 0.28/0.47 thf(fact_31_infiniteExecutionMsg_Osimps_I2_J,axiom,
% 0.28/0.47 ! [Cfg: configuration_ext @ p @ v @ s @ product_unit,FStepCfg: ( list @ ( configuration_ext @ p @ v @ s @ product_unit ) ) > ( list @ ( message @ p @ v ) ) > ( list @ ( configuration_ext @ p @ v @ s @ product_unit ) ),FStepMsg: ( list @ ( configuration_ext @ p @ v @ s @ product_unit ) ) > ( list @ ( message @ p @ v ) ) > ( list @ ( message @ p @ v ) ),N2: nat] :
% 0.28/0.47 ( ( fLPThe221390223ionMsg @ p @ v @ s @ Cfg @ FStepCfg @ FStepMsg @ ( suc @ N2 ) )
% 0.28/0.47 = ( FStepMsg @ ( fLPThe137922386ionCfg @ p @ v @ s @ Cfg @ FStepCfg @ FStepMsg @ N2 ) @ ( fLPThe221390223ionMsg @ p @ v @ s @ Cfg @ FStepCfg @ FStepMsg @ N2 ) ) ) ).
% 0.28/0.47
% 0.28/0.47 % infiniteExecutionMsg.simps(2)
% 0.28/0.47 thf(fact_32_flpPseudoConsensus_OinfiniteExecutionCfg_Osimps_I1_J,axiom,
% 0.28/0.47 ! [S: $tType,V: $tType,P: $tType,Trans: P > S > ( messageValue @ V ) > S,Sends: P > S > ( messageValue @ V ) > ( message @ P @ V ) > nat,Start: P > S,Cfg: configuration_ext @ P @ V @ S @ product_unit,FStepCfg: ( list @ ( configuration_ext @ P @ V @ S @ product_unit ) ) > ( list @ ( message @ P @ V ) ) > ( list @ ( configuration_ext @ P @ V @ S @ product_unit ) ),FStepMsg: ( list @ ( configuration_ext @ P @ V @ S @ product_unit ) ) > ( list @ ( message @ P @ V ) ) > ( list @ ( message @ P @ V ) )] :
% 0.28/0.47 ( ( fLPThe1922692578sensus @ P @ S @ V @ Trans @ Sends @ Start )
% 0.28/0.47 => ( ( fLPThe137922386ionCfg @ P @ V @ S @ Cfg @ FStepCfg @ FStepMsg @ ( zero_zero @ nat ) )
% 0.28/0.47 = ( cons @ ( configuration_ext @ P @ V @ S @ product_unit ) @ Cfg @ ( nil @ ( configuration_ext @ P @ V @ S @ product_unit ) ) ) ) ) ).
% 0.28/0.47
% 0.28/0.47 % flpPseudoConsensus.infiniteExecutionCfg.simps(1)
% 0.28/0.47 thf(fact_33_n__lists__Nil,axiom,
% 0.28/0.47 ! [A: $tType,N2: nat] :
% 0.28/0.47 ( ( ( N2
% 0.28/0.47 = ( zero_zero @ nat ) )
% 0.28/0.47 => ( ( n_lists @ A @ N2 @ ( nil @ A ) )
% 0.28/0.47 = ( cons @ ( list @ A ) @ ( nil @ A ) @ ( nil @ ( list @ A ) ) ) ) )
% 0.28/0.47 & ( ( N2
% 0.28/0.47 != ( zero_zero @ nat ) )
% 0.28/0.47 => ( ( n_lists @ A @ N2 @ ( nil @ A ) )
% 0.28/0.47 = ( nil @ ( list @ A ) ) ) ) ) ).
% 0.28/0.47
% 0.28/0.47 % n_lists_Nil
% 0.28/0.47 thf(fact_34_insert__Nil,axiom,
% 0.28/0.47 ! [A: $tType,X3: A] :
% 0.28/0.47 ( ( insert @ A @ X3 @ ( nil @ A ) )
% 0.28/0.47 = ( cons @ A @ X3 @ ( nil @ A ) ) ) ).
% 0.28/0.47
% 0.28/0.47 % insert_Nil
% 0.28/0.47 thf(fact_35_nths__singleton,axiom,
% 0.28/0.47 ! [A: $tType,A4: set @ nat,X3: A] :
% 0.28/0.47 ( ( ( member2 @ nat @ ( zero_zero @ nat ) @ A4 )
% 0.28/0.47 => ( ( nths @ A @ ( cons @ A @ X3 @ ( nil @ A ) ) @ A4 )
% 0.28/0.47 = ( cons @ A @ X3 @ ( nil @ A ) ) ) )
% 0.28/0.47 & ( ~ ( member2 @ nat @ ( zero_zero @ nat ) @ A4 )
% 0.28/0.47 => ( ( nths @ A @ ( cons @ A @ X3 @ ( nil @ A ) ) @ A4 )
% 0.28/0.47 = ( nil @ A ) ) ) ) ).
% 0.28/0.47
% 0.28/0.47 % nths_singleton
% 0.28/0.47 thf(fact_36_list__ex1__simps_I1_J,axiom,
% 0.28/0.47 ! [A: $tType,P2: A > $o] :
% 0.28/0.47 ~ ( list_ex1 @ A @ P2 @ ( nil @ A ) ) ).
% 0.28/0.47
% 0.28/0.47 % list_ex1_simps(1)
% 0.28/0.47 thf(fact_37_n__lists_Osimps_I1_J,axiom,
% 0.28/0.47 ! [A: $tType,Xs: list @ A] :
% 0.28/0.47 ( ( n_lists @ A @ ( zero_zero @ nat ) @ Xs )
% 0.28/0.47 = ( cons @ ( list @ A ) @ ( nil @ A ) @ ( nil @ ( list @ A ) ) ) ) ).
% 0.28/0.47
% 0.28/0.47 % n_lists.simps(1)
% 0.28/0.47 thf(fact_38_infiniteExecutionCfg__infiniteExecutionMsg_Oinduct_I2_J,axiom,
% 0.28/0.47 ! [P2: ( configuration_ext @ p @ v @ s @ product_unit ) > ( ( list @ ( configuration_ext @ p @ v @ s @ product_unit ) ) > ( list @ ( message @ p @ v ) ) > ( list @ ( configuration_ext @ p @ v @ s @ product_unit ) ) ) > ( ( list @ ( configuration_ext @ p @ v @ s @ product_unit ) ) > ( list @ ( message @ p @ v ) ) > ( list @ ( message @ p @ v ) ) ) > nat > $o,Q: ( configuration_ext @ p @ v @ s @ product_unit ) > ( ( list @ ( configuration_ext @ p @ v @ s @ product_unit ) ) > ( list @ ( message @ p @ v ) ) > ( list @ ( configuration_ext @ p @ v @ s @ product_unit ) ) ) > ( ( list @ ( configuration_ext @ p @ v @ s @ product_unit ) ) > ( list @ ( message @ p @ v ) ) > ( list @ ( message @ p @ v ) ) ) > nat > $o,A42: configuration_ext @ p @ v @ s @ product_unit,A5: ( list @ ( configuration_ext @ p @ v @ s @ product_unit ) ) > ( list @ ( message @ p @ v ) ) > ( list @ ( configuration_ext @ p @ v @ s @ product_unit ) ),A6: ( list @ ( configuration_ext @ p @ v @ s @ product_unit ) ) > ( list @ ( message @ p @ v ) ) > ( list @ ( message @ p @ v ) ),A7: nat] :
% 0.28/0.47 ( ! [Cfg2: configuration_ext @ p @ v @ s @ product_unit,FStepCfg2: ( list @ ( configuration_ext @ p @ v @ s @ product_unit ) ) > ( list @ ( message @ p @ v ) ) > ( list @ ( configuration_ext @ p @ v @ s @ product_unit ) ),FStepMsg2: ( list @ ( configuration_ext @ p @ v @ s @ product_unit ) ) > ( list @ ( message @ p @ v ) ) > ( list @ ( message @ p @ v ) )] : ( P2 @ Cfg2 @ FStepCfg2 @ FStepMsg2 @ ( zero_zero @ nat ) )
% 0.28/0.47 => ( ! [Cfg2: configuration_ext @ p @ v @ s @ product_unit,FStepCfg2: ( list @ ( configuration_ext @ p @ v @ s @ product_unit ) ) > ( list @ ( message @ p @ v ) ) > ( list @ ( configuration_ext @ p @ v @ s @ product_unit ) ),FStepMsg2: ( list @ ( configuration_ext @ p @ v @ s @ product_unit ) ) > ( list @ ( message @ p @ v ) ) > ( list @ ( message @ p @ v ) ),N: nat] :
% 0.28/0.47 ( ( P2 @ Cfg2 @ FStepCfg2 @ FStepMsg2 @ N )
% 0.28/0.47 => ( ( Q @ Cfg2 @ FStepCfg2 @ FStepMsg2 @ N )
% 0.28/0.47 => ( P2 @ Cfg2 @ FStepCfg2 @ FStepMsg2 @ ( suc @ N ) ) ) )
% 0.28/0.47 => ( ! [Cfg2: configuration_ext @ p @ v @ s @ product_unit,FStepCfg2: ( list @ ( configuration_ext @ p @ v @ s @ product_unit ) ) > ( list @ ( message @ p @ v ) ) > ( list @ ( configuration_ext @ p @ v @ s @ product_unit ) ),FStepMsg2: ( list @ ( configuration_ext @ p @ v @ s @ product_unit ) ) > ( list @ ( message @ p @ v ) ) > ( list @ ( message @ p @ v ) )] : ( Q @ Cfg2 @ FStepCfg2 @ FStepMsg2 @ ( zero_zero @ nat ) )
% 0.28/0.47 => ( ! [Cfg2: configuration_ext @ p @ v @ s @ product_unit,FStepCfg2: ( list @ ( configuration_ext @ p @ v @ s @ product_unit ) ) > ( list @ ( message @ p @ v ) ) > ( list @ ( configuration_ext @ p @ v @ s @ product_unit ) ),FStepMsg2: ( list @ ( configuration_ext @ p @ v @ s @ product_unit ) ) > ( list @ ( message @ p @ v ) ) > ( list @ ( message @ p @ v ) ),N: nat] :
% 0.28/0.47 ( ( P2 @ Cfg2 @ FStepCfg2 @ FStepMsg2 @ N )
% 0.28/0.47 => ( ( Q @ Cfg2 @ FStepCfg2 @ FStepMsg2 @ N )
% 0.28/0.47 => ( Q @ Cfg2 @ FStepCfg2 @ FStepMsg2 @ ( suc @ N ) ) ) )
% 0.28/0.47 => ( Q @ A42 @ A5 @ A6 @ A7 ) ) ) ) ) ).
% 0.28/0.47
% 0.28/0.47 % infiniteExecutionCfg_infiniteExecutionMsg.induct(2)
% 0.28/0.47 thf(fact_39_infiniteExecutionCfg__infiniteExecutionMsg_Oinduct_I1_J,axiom,
% 0.28/0.47 ! [P2: ( configuration_ext @ p @ v @ s @ product_unit ) > ( ( list @ ( configuration_ext @ p @ v @ s @ product_unit ) ) > ( list @ ( message @ p @ v ) ) > ( list @ ( configuration_ext @ p @ v @ s @ product_unit ) ) ) > ( ( list @ ( configuration_ext @ p @ v @ s @ product_unit ) ) > ( list @ ( message @ p @ v ) ) > ( list @ ( message @ p @ v ) ) ) > nat > $o,Q: ( configuration_ext @ p @ v @ s @ product_unit ) > ( ( list @ ( configuration_ext @ p @ v @ s @ product_unit ) ) > ( list @ ( message @ p @ v ) ) > ( list @ ( configuration_ext @ p @ v @ s @ product_unit ) ) ) > ( ( list @ ( configuration_ext @ p @ v @ s @ product_unit ) ) > ( list @ ( message @ p @ v ) ) > ( list @ ( message @ p @ v ) ) ) > nat > $o,A0: configuration_ext @ p @ v @ s @ product_unit,A1: ( list @ ( configuration_ext @ p @ v @ s @ product_unit ) ) > ( list @ ( message @ p @ v ) ) > ( list @ ( configuration_ext @ p @ v @ s @ product_unit ) ),A2: ( list @ ( configuration_ext @ p @ v @ s @ product_unit ) ) > ( list @ ( message @ p @ v ) ) > ( list @ ( message @ p @ v ) ),A32: nat] :
% 0.28/0.47 ( ! [Cfg2: configuration_ext @ p @ v @ s @ product_unit,FStepCfg2: ( list @ ( configuration_ext @ p @ v @ s @ product_unit ) ) > ( list @ ( message @ p @ v ) ) > ( list @ ( configuration_ext @ p @ v @ s @ product_unit ) ),FStepMsg2: ( list @ ( configuration_ext @ p @ v @ s @ product_unit ) ) > ( list @ ( message @ p @ v ) ) > ( list @ ( message @ p @ v ) )] : ( P2 @ Cfg2 @ FStepCfg2 @ FStepMsg2 @ ( zero_zero @ nat ) )
% 0.28/0.47 => ( ! [Cfg2: configuration_ext @ p @ v @ s @ product_unit,FStepCfg2: ( list @ ( configuration_ext @ p @ v @ s @ product_unit ) ) > ( list @ ( message @ p @ v ) ) > ( list @ ( configuration_ext @ p @ v @ s @ product_unit ) ),FStepMsg2: ( list @ ( configuration_ext @ p @ v @ s @ product_unit ) ) > ( list @ ( message @ p @ v ) ) > ( list @ ( message @ p @ v ) ),N: nat] :
% 0.28/0.47 ( ( P2 @ Cfg2 @ FStepCfg2 @ FStepMsg2 @ N )
% 0.28/0.47 => ( ( Q @ Cfg2 @ FStepCfg2 @ FStepMsg2 @ N )
% 0.28/0.47 => ( P2 @ Cfg2 @ FStepCfg2 @ FStepMsg2 @ ( suc @ N ) ) ) )
% 0.28/0.47 => ( ! [Cfg2: configuration_ext @ p @ v @ s @ product_unit,FStepCfg2: ( list @ ( configuration_ext @ p @ v @ s @ product_unit ) ) > ( list @ ( message @ p @ v ) ) > ( list @ ( configuration_ext @ p @ v @ s @ product_unit ) ),FStepMsg2: ( list @ ( configuration_ext @ p @ v @ s @ product_unit ) ) > ( list @ ( message @ p @ v ) ) > ( list @ ( message @ p @ v ) )] : ( Q @ Cfg2 @ FStepCfg2 @ FStepMsg2 @ ( zero_zero @ nat ) )
% 0.28/0.47 => ( ! [Cfg2: configuration_ext @ p @ v @ s @ product_unit,FStepCfg2: ( list @ ( configuration_ext @ p @ v @ s @ product_unit ) ) > ( list @ ( message @ p @ v ) ) > ( list @ ( configuration_ext @ p @ v @ s @ product_unit ) ),FStepMsg2: ( list @ ( configuration_ext @ p @ v @ s @ product_unit ) ) > ( list @ ( message @ p @ v ) ) > ( list @ ( message @ p @ v ) ),N: nat] :
% 0.28/0.47 ( ( P2 @ Cfg2 @ FStepCfg2 @ FStepMsg2 @ N )
% 0.28/0.47 => ( ( Q @ Cfg2 @ FStepCfg2 @ FStepMsg2 @ N )
% 0.28/0.47 => ( Q @ Cfg2 @ FStepCfg2 @ FStepMsg2 @ ( suc @ N ) ) ) )
% 0.28/0.47 => ( P2 @ A0 @ A1 @ A2 @ A32 ) ) ) ) ) ).
% 0.28/0.47
% 0.28/0.47 % infiniteExecutionCfg_infiniteExecutionMsg.induct(1)
% 0.28/0.47 thf(fact_40_nths__nil,axiom,
% 0.28/0.47 ! [A: $tType,A4: set @ nat] :
% 0.28/0.47 ( ( nths @ A @ ( nil @ A ) @ A4 )
% 0.28/0.47 = ( nil @ A ) ) ).
% 0.28/0.47
% 0.28/0.47 % nths_nil
% 0.28/0.47 thf(fact_41_flpPseudoConsensus_OinfiniteExecutionCfg__infiniteExecutionMsg_Oinduct_I2_J,axiom,
% 0.28/0.47 ! [P: $tType,V: $tType,S: $tType,Trans: P > S > ( messageValue @ V ) > S,Sends: P > S > ( messageValue @ V ) > ( message @ P @ V ) > nat,Start: P > S,P2: ( configuration_ext @ P @ V @ S @ product_unit ) > ( ( list @ ( configuration_ext @ P @ V @ S @ product_unit ) ) > ( list @ ( message @ P @ V ) ) > ( list @ ( configuration_ext @ P @ V @ S @ product_unit ) ) ) > ( ( list @ ( configuration_ext @ P @ V @ S @ product_unit ) ) > ( list @ ( message @ P @ V ) ) > ( list @ ( message @ P @ V ) ) ) > nat > $o,Q: ( configuration_ext @ P @ V @ S @ product_unit ) > ( ( list @ ( configuration_ext @ P @ V @ S @ product_unit ) ) > ( list @ ( message @ P @ V ) ) > ( list @ ( configuration_ext @ P @ V @ S @ product_unit ) ) ) > ( ( list @ ( configuration_ext @ P @ V @ S @ product_unit ) ) > ( list @ ( message @ P @ V ) ) > ( list @ ( message @ P @ V ) ) ) > nat > $o,A42: configuration_ext @ P @ V @ S @ product_unit,A5: ( list @ ( configuration_ext @ P @ V @ S @ product_unit ) ) > ( list @ ( message @ P @ V ) ) > ( list @ ( configuration_ext @ P @ V @ S @ product_unit ) ),A6: ( list @ ( configuration_ext @ P @ V @ S @ product_unit ) ) > ( list @ ( message @ P @ V ) ) > ( list @ ( message @ P @ V ) ),A7: nat] :
% 0.28/0.47 ( ( fLPThe1922692578sensus @ P @ S @ V @ Trans @ Sends @ Start )
% 0.28/0.47 => ( ! [Cfg2: configuration_ext @ P @ V @ S @ product_unit,FStepCfg2: ( list @ ( configuration_ext @ P @ V @ S @ product_unit ) ) > ( list @ ( message @ P @ V ) ) > ( list @ ( configuration_ext @ P @ V @ S @ product_unit ) ),FStepMsg2: ( list @ ( configuration_ext @ P @ V @ S @ product_unit ) ) > ( list @ ( message @ P @ V ) ) > ( list @ ( message @ P @ V ) )] : ( P2 @ Cfg2 @ FStepCfg2 @ FStepMsg2 @ ( zero_zero @ nat ) )
% 0.28/0.47 => ( ! [Cfg2: configuration_ext @ P @ V @ S @ product_unit,FStepCfg2: ( list @ ( configuration_ext @ P @ V @ S @ product_unit ) ) > ( list @ ( message @ P @ V ) ) > ( list @ ( configuration_ext @ P @ V @ S @ product_unit ) ),FStepMsg2: ( list @ ( configuration_ext @ P @ V @ S @ product_unit ) ) > ( list @ ( message @ P @ V ) ) > ( list @ ( message @ P @ V ) ),N: nat] :
% 0.28/0.47 ( ( P2 @ Cfg2 @ FStepCfg2 @ FStepMsg2 @ N )
% 0.28/0.47 => ( ( Q @ Cfg2 @ FStepCfg2 @ FStepMsg2 @ N )
% 0.28/0.47 => ( P2 @ Cfg2 @ FStepCfg2 @ FStepMsg2 @ ( suc @ N ) ) ) )
% 0.28/0.47 => ( ! [Cfg2: configuration_ext @ P @ V @ S @ product_unit,FStepCfg2: ( list @ ( configuration_ext @ P @ V @ S @ product_unit ) ) > ( list @ ( message @ P @ V ) ) > ( list @ ( configuration_ext @ P @ V @ S @ product_unit ) ),FStepMsg2: ( list @ ( configuration_ext @ P @ V @ S @ product_unit ) ) > ( list @ ( message @ P @ V ) ) > ( list @ ( message @ P @ V ) )] : ( Q @ Cfg2 @ FStepCfg2 @ FStepMsg2 @ ( zero_zero @ nat ) )
% 0.28/0.47 => ( ! [Cfg2: configuration_ext @ P @ V @ S @ product_unit,FStepCfg2: ( list @ ( configuration_ext @ P @ V @ S @ product_unit ) ) > ( list @ ( message @ P @ V ) ) > ( list @ ( configuration_ext @ P @ V @ S @ product_unit ) ),FStepMsg2: ( list @ ( configuration_ext @ P @ V @ S @ product_unit ) ) > ( list @ ( message @ P @ V ) ) > ( list @ ( message @ P @ V ) ),N: nat] :
% 0.28/0.47 ( ( P2 @ Cfg2 @ FStepCfg2 @ FStepMsg2 @ N )
% 0.28/0.47 => ( ( Q @ Cfg2 @ FStepCfg2 @ FStepMsg2 @ N )
% 0.28/0.47 => ( Q @ Cfg2 @ FStepCfg2 @ FStepMsg2 @ ( suc @ N ) ) ) )
% 0.28/0.47 => ( Q @ A42 @ A5 @ A6 @ A7 ) ) ) ) ) ) ).
% 0.28/0.47
% 0.28/0.47 % flpPseudoConsensus.infiniteExecutionCfg_infiniteExecutionMsg.induct(2)
% 0.28/0.47 thf(fact_42_flpPseudoConsensus_OinfiniteExecutionCfg__infiniteExecutionMsg_Oinduct_I1_J,axiom,
% 0.28/0.47 ! [P: $tType,V: $tType,S: $tType,Trans: P > S > ( messageValue @ V ) > S,Sends: P > S > ( messageValue @ V ) > ( message @ P @ V ) > nat,Start: P > S,P2: ( configuration_ext @ P @ V @ S @ product_unit ) > ( ( list @ ( configuration_ext @ P @ V @ S @ product_unit ) ) > ( list @ ( message @ P @ V ) ) > ( list @ ( configuration_ext @ P @ V @ S @ product_unit ) ) ) > ( ( list @ ( configuration_ext @ P @ V @ S @ product_unit ) ) > ( list @ ( message @ P @ V ) ) > ( list @ ( message @ P @ V ) ) ) > nat > $o,Q: ( configuration_ext @ P @ V @ S @ product_unit ) > ( ( list @ ( configuration_ext @ P @ V @ S @ product_unit ) ) > ( list @ ( message @ P @ V ) ) > ( list @ ( configuration_ext @ P @ V @ S @ product_unit ) ) ) > ( ( list @ ( configuration_ext @ P @ V @ S @ product_unit ) ) > ( list @ ( message @ P @ V ) ) > ( list @ ( message @ P @ V ) ) ) > nat > $o,A0: configuration_ext @ P @ V @ S @ product_unit,A1: ( list @ ( configuration_ext @ P @ V @ S @ product_unit ) ) > ( list @ ( message @ P @ V ) ) > ( list @ ( configuration_ext @ P @ V @ S @ product_unit ) ),A2: ( list @ ( configuration_ext @ P @ V @ S @ product_unit ) ) > ( list @ ( message @ P @ V ) ) > ( list @ ( message @ P @ V ) ),A32: nat] :
% 0.28/0.47 ( ( fLPThe1922692578sensus @ P @ S @ V @ Trans @ Sends @ Start )
% 0.28/0.47 => ( ! [Cfg2: configuration_ext @ P @ V @ S @ product_unit,FStepCfg2: ( list @ ( configuration_ext @ P @ V @ S @ product_unit ) ) > ( list @ ( message @ P @ V ) ) > ( list @ ( configuration_ext @ P @ V @ S @ product_unit ) ),FStepMsg2: ( list @ ( configuration_ext @ P @ V @ S @ product_unit ) ) > ( list @ ( message @ P @ V ) ) > ( list @ ( message @ P @ V ) )] : ( P2 @ Cfg2 @ FStepCfg2 @ FStepMsg2 @ ( zero_zero @ nat ) )
% 0.28/0.47 => ( ! [Cfg2: configuration_ext @ P @ V @ S @ product_unit,FStepCfg2: ( list @ ( configuration_ext @ P @ V @ S @ product_unit ) ) > ( list @ ( message @ P @ V ) ) > ( list @ ( configuration_ext @ P @ V @ S @ product_unit ) ),FStepMsg2: ( list @ ( configuration_ext @ P @ V @ S @ product_unit ) ) > ( list @ ( message @ P @ V ) ) > ( list @ ( message @ P @ V ) ),N: nat] :
% 0.28/0.47 ( ( P2 @ Cfg2 @ FStepCfg2 @ FStepMsg2 @ N )
% 0.28/0.47 => ( ( Q @ Cfg2 @ FStepCfg2 @ FStepMsg2 @ N )
% 0.28/0.47 => ( P2 @ Cfg2 @ FStepCfg2 @ FStepMsg2 @ ( suc @ N ) ) ) )
% 0.28/0.47 => ( ! [Cfg2: configuration_ext @ P @ V @ S @ product_unit,FStepCfg2: ( list @ ( configuration_ext @ P @ V @ S @ product_unit ) ) > ( list @ ( message @ P @ V ) ) > ( list @ ( configuration_ext @ P @ V @ S @ product_unit ) ),FStepMsg2: ( list @ ( configuration_ext @ P @ V @ S @ product_unit ) ) > ( list @ ( message @ P @ V ) ) > ( list @ ( message @ P @ V ) )] : ( Q @ Cfg2 @ FStepCfg2 @ FStepMsg2 @ ( zero_zero @ nat ) )
% 0.28/0.47 => ( ! [Cfg2: configuration_ext @ P @ V @ S @ product_unit,FStepCfg2: ( list @ ( configuration_ext @ P @ V @ S @ product_unit ) ) > ( list @ ( message @ P @ V ) ) > ( list @ ( configuration_ext @ P @ V @ S @ product_unit ) ),FStepMsg2: ( list @ ( configuration_ext @ P @ V @ S @ product_unit ) ) > ( list @ ( message @ P @ V ) ) > ( list @ ( message @ P @ V ) ),N: nat] :
% 0.28/0.47 ( ( P2 @ Cfg2 @ FStepCfg2 @ FStepMsg2 @ N )
% 0.28/0.47 => ( ( Q @ Cfg2 @ FStepCfg2 @ FStepMsg2 @ N )
% 0.28/0.47 => ( Q @ Cfg2 @ FStepCfg2 @ FStepMsg2 @ ( suc @ N ) ) ) )
% 0.28/0.47 => ( P2 @ A0 @ A1 @ A2 @ A32 ) ) ) ) ) ) ).
% 0.28/0.47
% 0.28/0.47 % flpPseudoConsensus.infiniteExecutionCfg_infiniteExecutionMsg.induct(1)
% 0.28/0.47 thf(fact_43_mem__Collect__eq,axiom,
% 0.28/0.47 ! [A: $tType,A8: A,P2: A > $o] :
% 0.28/0.47 ( ( member2 @ A @ A8 @ ( collect @ A @ P2 ) )
% 0.28/0.47 = ( P2 @ A8 ) ) ).
% 0.28/0.47
% 0.28/0.47 % mem_Collect_eq
% 0.28/0.47 thf(fact_44_Collect__mem__eq,axiom,
% 0.28/0.47 ! [A: $tType,A4: set @ A] :
% 0.28/0.47 ( ( collect @ A
% 0.28/0.47 @ ^ [X4: A] : ( member2 @ A @ X4 @ A4 ) )
% 0.28/0.47 = A4 ) ).
% 0.28/0.47
% 0.28/0.47 % Collect_mem_eq
% 0.28/0.47 thf(fact_45_Collect__cong,axiom,
% 0.28/0.47 ! [A: $tType,P2: A > $o,Q: A > $o] :
% 0.28/0.47 ( ! [X: A] :
% 0.28/0.47 ( ( P2 @ X )
% 0.28/0.47 = ( Q @ X ) )
% 0.28/0.47 => ( ( collect @ A @ P2 )
% 0.28/0.47 = ( collect @ A @ Q ) ) ) ).
% 0.28/0.47
% 0.28/0.47 % Collect_cong
% 0.28/0.47 thf(fact_46_ext,axiom,
% 0.28/0.47 ! [B: $tType,A: $tType,F2: A > B,G: A > B] :
% 0.28/0.47 ( ! [X: A] :
% 0.28/0.47 ( ( F2 @ X )
% 0.28/0.47 = ( G @ X ) )
% 0.28/0.47 => ( F2 = G ) ) ).
% 0.28/0.47
% 0.28/0.47 % ext
% 0.28/0.47 thf(fact_47_flpPseudoConsensus_OinfiniteExecutionMsg_Osimps_I2_J,axiom,
% 0.28/0.47 ! [P: $tType,V: $tType,S: $tType,Trans: P > S > ( messageValue @ V ) > S,Sends: P > S > ( messageValue @ V ) > ( message @ P @ V ) > nat,Start: P > S,Cfg: configuration_ext @ P @ V @ S @ product_unit,FStepCfg: ( list @ ( configuration_ext @ P @ V @ S @ product_unit ) ) > ( list @ ( message @ P @ V ) ) > ( list @ ( configuration_ext @ P @ V @ S @ product_unit ) ),FStepMsg: ( list @ ( configuration_ext @ P @ V @ S @ product_unit ) ) > ( list @ ( message @ P @ V ) ) > ( list @ ( message @ P @ V ) ),N2: nat] :
% 0.28/0.47 ( ( fLPThe1922692578sensus @ P @ S @ V @ Trans @ Sends @ Start )
% 0.28/0.47 => ( ( fLPThe221390223ionMsg @ P @ V @ S @ Cfg @ FStepCfg @ FStepMsg @ ( suc @ N2 ) )
% 0.28/0.47 = ( FStepMsg @ ( fLPThe137922386ionCfg @ P @ V @ S @ Cfg @ FStepCfg @ FStepMsg @ N2 ) @ ( fLPThe221390223ionMsg @ P @ V @ S @ Cfg @ FStepCfg @ FStepMsg @ N2 ) ) ) ) ).
% 0.28/0.47
% 0.28/0.47 % flpPseudoConsensus.infiniteExecutionMsg.simps(2)
% 0.28/0.47 thf(fact_48_flpPseudoConsensus_OinfiniteExecutionCfg_Osimps_I2_J,axiom,
% 0.28/0.47 ! [P: $tType,V: $tType,S: $tType,Trans: P > S > ( messageValue @ V ) > S,Sends: P > S > ( messageValue @ V ) > ( message @ P @ V ) > nat,Start: P > S,Cfg: configuration_ext @ P @ V @ S @ product_unit,FStepCfg: ( list @ ( configuration_ext @ P @ V @ S @ product_unit ) ) > ( list @ ( message @ P @ V ) ) > ( list @ ( configuration_ext @ P @ V @ S @ product_unit ) ),FStepMsg: ( list @ ( configuration_ext @ P @ V @ S @ product_unit ) ) > ( list @ ( message @ P @ V ) ) > ( list @ ( message @ P @ V ) ),N2: nat] :
% 0.28/0.47 ( ( fLPThe1922692578sensus @ P @ S @ V @ Trans @ Sends @ Start )
% 0.28/0.47 => ( ( fLPThe137922386ionCfg @ P @ V @ S @ Cfg @ FStepCfg @ FStepMsg @ ( suc @ N2 ) )
% 0.28/0.47 = ( FStepCfg @ ( fLPThe137922386ionCfg @ P @ V @ S @ Cfg @ FStepCfg @ FStepMsg @ N2 ) @ ( fLPThe221390223ionMsg @ P @ V @ S @ Cfg @ FStepCfg @ FStepMsg @ N2 ) ) ) ) ).
% 0.28/0.47
% 0.28/0.47 % flpPseudoConsensus.infiniteExecutionCfg.simps(2)
% 0.28/0.47 thf(fact_49_flpPseudoConsensus_OinfiniteExecutionMsg_Oelims,axiom,
% 0.28/0.47 ! [P: $tType,V: $tType,S: $tType,Trans: P > S > ( messageValue @ V ) > S,Sends: P > S > ( messageValue @ V ) > ( message @ P @ V ) > nat,Start: P > S,X3: configuration_ext @ P @ V @ S @ product_unit,Xa: ( list @ ( configuration_ext @ P @ V @ S @ product_unit ) ) > ( list @ ( message @ P @ V ) ) > ( list @ ( configuration_ext @ P @ V @ S @ product_unit ) ),Xb: ( list @ ( configuration_ext @ P @ V @ S @ product_unit ) ) > ( list @ ( message @ P @ V ) ) > ( list @ ( message @ P @ V ) ),Xc: nat,Y: list @ ( message @ P @ V )] :
% 0.28/0.47 ( ( fLPThe1922692578sensus @ P @ S @ V @ Trans @ Sends @ Start )
% 0.28/0.47 => ( ( ( fLPThe221390223ionMsg @ P @ V @ S @ X3 @ Xa @ Xb @ Xc )
% 0.28/0.47 = Y )
% 0.28/0.47 => ( ( ( Xc
% 0.28/0.47 = ( zero_zero @ nat ) )
% 0.28/0.47 => ( Y
% 0.28/0.47 != ( nil @ ( message @ P @ V ) ) ) )
% 0.28/0.47 => ~ ! [N: nat] :
% 0.28/0.47 ( ( Xc
% 0.28/0.47 = ( suc @ N ) )
% 0.28/0.47 => ( Y
% 0.28/0.47 != ( Xb @ ( fLPThe137922386ionCfg @ P @ V @ S @ X3 @ Xa @ Xb @ N ) @ ( fLPThe221390223ionMsg @ P @ V @ S @ X3 @ Xa @ Xb @ N ) ) ) ) ) ) ) ).
% 0.28/0.47
% 0.28/0.47 % flpPseudoConsensus.infiniteExecutionMsg.elims
% 0.28/0.47 thf(fact_50_flpPseudoConsensus_OinfiniteExecutionMsg_Osimps_I1_J,axiom,
% 0.28/0.47 ! [S: $tType,V: $tType,P: $tType,Trans: P > S > ( messageValue @ V ) > S,Sends: P > S > ( messageValue @ V ) > ( message @ P @ V ) > nat,Start: P > S,Cfg: configuration_ext @ P @ V @ S @ product_unit,FStepCfg: ( list @ ( configuration_ext @ P @ V @ S @ product_unit ) ) > ( list @ ( message @ P @ V ) ) > ( list @ ( configuration_ext @ P @ V @ S @ product_unit ) ),FStepMsg: ( list @ ( configuration_ext @ P @ V @ S @ product_unit ) ) > ( list @ ( message @ P @ V ) ) > ( list @ ( message @ P @ V ) )] :
% 0.28/0.47 ( ( fLPThe1922692578sensus @ P @ S @ V @ Trans @ Sends @ Start )
% 0.28/0.47 => ( ( fLPThe221390223ionMsg @ P @ V @ S @ Cfg @ FStepCfg @ FStepMsg @ ( zero_zero @ nat ) )
% 0.28/0.47 = ( nil @ ( message @ P @ V ) ) ) ) ).
% 0.28/0.47
% 0.28/0.47 % flpPseudoConsensus.infiniteExecutionMsg.simps(1)
% 0.28/0.47 thf(fact_51_flpPseudoConsensus_OinfiniteExecutionCfg_Oelims,axiom,
% 0.28/0.47 ! [P: $tType,V: $tType,S: $tType,Trans: P > S > ( messageValue @ V ) > S,Sends: P > S > ( messageValue @ V ) > ( message @ P @ V ) > nat,Start: P > S,X3: configuration_ext @ P @ V @ S @ product_unit,Xa: ( list @ ( configuration_ext @ P @ V @ S @ product_unit ) ) > ( list @ ( message @ P @ V ) ) > ( list @ ( configuration_ext @ P @ V @ S @ product_unit ) ),Xb: ( list @ ( configuration_ext @ P @ V @ S @ product_unit ) ) > ( list @ ( message @ P @ V ) ) > ( list @ ( message @ P @ V ) ),Xc: nat,Y: list @ ( configuration_ext @ P @ V @ S @ product_unit )] :
% 0.28/0.47 ( ( fLPThe1922692578sensus @ P @ S @ V @ Trans @ Sends @ Start )
% 0.28/0.47 => ( ( ( fLPThe137922386ionCfg @ P @ V @ S @ X3 @ Xa @ Xb @ Xc )
% 0.28/0.47 = Y )
% 0.28/0.47 => ( ( ( Xc
% 0.28/0.47 = ( zero_zero @ nat ) )
% 0.28/0.47 => ( Y
% 0.28/0.47 != ( cons @ ( configuration_ext @ P @ V @ S @ product_unit ) @ X3 @ ( nil @ ( configuration_ext @ P @ V @ S @ product_unit ) ) ) ) )
% 0.28/0.47 => ~ ! [N: nat] :
% 0.28/0.47 ( ( Xc
% 0.28/0.47 = ( suc @ N ) )
% 0.28/0.47 => ( Y
% 0.28/0.47 != ( Xa @ ( fLPThe137922386ionCfg @ P @ V @ S @ X3 @ Xa @ Xb @ N ) @ ( fLPThe221390223ionMsg @ P @ V @ S @ X3 @ Xa @ Xb @ N ) ) ) ) ) ) ) ).
% 0.28/0.47
% 0.28/0.47 % flpPseudoConsensus.infiniteExecutionCfg.elims
% 0.28/0.47 thf(fact_52_old_Onat_Oinject,axiom,
% 0.28/0.47 ! [Nat: nat,Nat2: nat] :
% 0.28/0.47 ( ( ( suc @ Nat )
% 0.28/0.47 = ( suc @ Nat2 ) )
% 0.28/0.47 = ( Nat = Nat2 ) ) ).
% 0.28/0.47
% 0.28/0.47 % old.nat.inject
% 0.28/0.47 thf(fact_53_nat_Oinject,axiom,
% 0.28/0.47 ! [X23: nat,Y23: nat] :
% 0.28/0.47 ( ( ( suc @ X23 )
% 0.28/0.47 = ( suc @ Y23 ) )
% 0.28/0.47 = ( X23 = Y23 ) ) ).
% 0.28/0.47
% 0.28/0.47 % nat.inject
% 0.28/0.47 thf(fact_54_nat_Odistinct_I1_J,axiom,
% 0.28/0.47 ! [X23: nat] :
% 0.28/0.47 ( ( zero_zero @ nat )
% 0.28/0.47 != ( suc @ X23 ) ) ).
% 0.28/0.47
% 0.28/0.47 % nat.distinct(1)
% 0.28/0.47 thf(fact_55_old_Onat_Odistinct_I2_J,axiom,
% 0.28/0.47 ! [Nat3: nat] :
% 0.28/0.47 ( ( suc @ Nat3 )
% 0.28/0.47 != ( zero_zero @ nat ) ) ).
% 0.28/0.47
% 0.28/0.47 % old.nat.distinct(2)
% 0.28/0.47 thf(fact_56_old_Onat_Odistinct_I1_J,axiom,
% 0.28/0.47 ! [Nat2: nat] :
% 0.28/0.47 ( ( zero_zero @ nat )
% 0.28/0.47 != ( suc @ Nat2 ) ) ).
% 0.28/0.47
% 0.28/0.47 % old.nat.distinct(1)
% 0.28/0.47 thf(fact_57_nat_OdiscI,axiom,
% 0.28/0.47 ! [Nat: nat,X23: nat] :
% 0.28/0.47 ( ( Nat
% 0.28/0.47 = ( suc @ X23 ) )
% 0.28/0.47 => ( Nat
% 0.28/0.47 != ( zero_zero @ nat ) ) ) ).
% 0.28/0.47
% 0.28/0.47 % nat.discI
% 0.28/0.47 thf(fact_58_nat__induct,axiom,
% 0.28/0.47 ! [P2: nat > $o,N2: nat] :
% 0.28/0.47 ( ( P2 @ ( zero_zero @ nat ) )
% 0.28/0.47 => ( ! [N: nat] :
% 0.28/0.47 ( ( P2 @ N )
% 0.28/0.47 => ( P2 @ ( suc @ N ) ) )
% 0.28/0.47 => ( P2 @ N2 ) ) ) ).
% 0.28/0.47
% 0.28/0.47 % nat_induct
% 0.28/0.47 thf(fact_59_Suc__inject,axiom,
% 0.28/0.47 ! [X3: nat,Y: nat] :
% 0.28/0.47 ( ( ( suc @ X3 )
% 0.28/0.47 = ( suc @ Y ) )
% 0.28/0.47 => ( X3 = Y ) ) ).
% 0.28/0.47
% 0.28/0.47 % Suc_inject
% 0.28/0.47 thf(fact_60_n__not__Suc__n,axiom,
% 0.28/0.47 ! [N2: nat] :
% 0.28/0.47 ( N2
% 0.28/0.47 != ( suc @ N2 ) ) ).
% 0.28/0.47
% 0.28/0.47 % n_not_Suc_n
% 0.28/0.47 thf(fact_61_not0__implies__Suc,axiom,
% 0.28/0.47 ! [N2: nat] :
% 0.28/0.47 ( ( N2
% 0.28/0.47 != ( zero_zero @ nat ) )
% 0.28/0.47 => ? [M: nat] :
% 0.28/0.47 ( N2
% 0.28/0.47 = ( suc @ M ) ) ) ).
% 0.28/0.47
% 0.28/0.47 % not0_implies_Suc
% 0.28/0.47 thf(fact_62_old_Onat_Oinducts,axiom,
% 0.28/0.47 ! [P2: nat > $o,Nat: nat] :
% 0.28/0.47 ( ( P2 @ ( zero_zero @ nat ) )
% 0.28/0.47 => ( ! [Nat4: nat] :
% 0.28/0.47 ( ( P2 @ Nat4 )
% 0.28/0.47 => ( P2 @ ( suc @ Nat4 ) ) )
% 0.28/0.47 => ( P2 @ Nat ) ) ) ).
% 0.28/0.47
% 0.28/0.47 % old.nat.inducts
% 0.28/0.47 thf(fact_63_old_Onat_Oexhaust,axiom,
% 0.28/0.47 ! [Y: nat] :
% 0.28/0.47 ( ( Y
% 0.28/0.47 != ( zero_zero @ nat ) )
% 0.28/0.47 => ~ ! [Nat4: nat] :
% 0.28/0.47 ( Y
% 0.28/0.47 != ( suc @ Nat4 ) ) ) ).
% 0.28/0.47
% 0.28/0.47 % old.nat.exhaust
% 0.28/0.47 thf(fact_64_Zero__not__Suc,axiom,
% 0.28/0.47 ! [M2: nat] :
% 0.28/0.47 ( ( zero_zero @ nat )
% 0.28/0.47 != ( suc @ M2 ) ) ).
% 0.28/0.47
% 0.28/0.47 % Zero_not_Suc
% 0.28/0.47 thf(fact_65_Zero__neq__Suc,axiom,
% 0.28/0.47 ! [M2: nat] :
% 0.28/0.47 ( ( zero_zero @ nat )
% 0.28/0.47 != ( suc @ M2 ) ) ).
% 0.28/0.47
% 0.28/0.47 % Zero_neq_Suc
% 0.28/0.47 thf(fact_66_Suc__neq__Zero,axiom,
% 0.28/0.47 ! [M2: nat] :
% 0.28/0.47 ( ( suc @ M2 )
% 0.28/0.47 != ( zero_zero @ nat ) ) ).
% 0.28/0.47
% 0.28/0.47 % Suc_neq_Zero
% 0.28/0.47 thf(fact_67_zero__induct,axiom,
% 0.28/0.47 ! [P2: nat > $o,K: nat] :
% 0.28/0.47 ( ( P2 @ K )
% 0.28/0.47 => ( ! [N: nat] :
% 0.28/0.47 ( ( P2 @ ( suc @ N ) )
% 0.28/0.47 => ( P2 @ N ) )
% 0.28/0.47 => ( P2 @ ( zero_zero @ nat ) ) ) ) ).
% 0.28/0.47
% 0.28/0.47 % zero_induct
% 0.28/0.47 thf(fact_68_diff__induct,axiom,
% 0.28/0.47 ! [P2: nat > nat > $o,M2: nat,N2: nat] :
% 0.28/0.47 ( ! [X: nat] : ( P2 @ X @ ( zero_zero @ nat ) )
% 0.28/0.47 => ( ! [Y3: nat] : ( P2 @ ( zero_zero @ nat ) @ ( suc @ Y3 ) )
% 0.28/0.47 => ( ! [X: nat,Y3: nat] :
% 0.28/0.47 ( ( P2 @ X @ Y3 )
% 0.28/0.47 => ( P2 @ ( suc @ X ) @ ( suc @ Y3 ) ) )
% 0.28/0.47 => ( P2 @ M2 @ N2 ) ) ) ) ).
% 0.28/0.47
% 0.28/0.47 % diff_induct
% 0.28/0.47 thf(fact_69_dependent__nat__choice,axiom,
% 0.28/0.47 ! [A: $tType,P2: nat > A > $o,Q: nat > A > A > $o] :
% 0.28/0.47 ( ? [X_12: A] : ( P2 @ ( zero_zero @ nat ) @ X_12 )
% 0.28/0.47 => ( ! [X: A,N: nat] :
% 0.28/0.47 ( ( P2 @ N @ X )
% 0.28/0.47 => ? [Y4: A] :
% 0.28/0.47 ( ( P2 @ ( suc @ N ) @ Y4 )
% 0.28/0.47 & ( Q @ N @ X @ Y4 ) ) )
% 0.28/0.47 => ? [F: nat > A] :
% 0.28/0.47 ! [N3: nat] :
% 0.28/0.47 ( ( P2 @ N3 @ ( F @ N3 ) )
% 0.28/0.47 & ( Q @ N3 @ ( F @ N3 ) @ ( F @ ( suc @ N3 ) ) ) ) ) ) ).
% 0.28/0.47
% 0.28/0.47 % dependent_nat_choice
% 0.28/0.47 thf(fact_70_product__lists_Osimps_I1_J,axiom,
% 0.28/0.47 ! [A: $tType] :
% 0.28/0.47 ( ( product_lists @ A @ ( nil @ ( list @ A ) ) )
% 0.28/0.47 = ( cons @ ( list @ A ) @ ( nil @ A ) @ ( nil @ ( list @ A ) ) ) ) ).
% 0.28/0.47
% 0.28/0.47 % product_lists.simps(1)
% 0.28/0.47 thf(fact_71_subseqs_Osimps_I1_J,axiom,
% 0.28/0.47 ! [A: $tType] :
% 0.28/0.47 ( ( subseqs @ A @ ( nil @ A ) )
% 0.28/0.47 = ( cons @ ( list @ A ) @ ( nil @ A ) @ ( nil @ ( list @ A ) ) ) ) ).
% 0.28/0.47
% 0.28/0.47 % subseqs.simps(1)
% 0.28/0.47 thf(fact_72_gen__length__code_I2_J,axiom,
% 0.28/0.47 ! [B: $tType,N2: nat,X3: B,Xs: list @ B] :
% 0.28/0.47 ( ( gen_length @ B @ N2 @ ( cons @ B @ X3 @ Xs ) )
% 0.28/0.47 = ( gen_length @ B @ ( suc @ N2 ) @ Xs ) ) ).
% 0.28/0.47
% 0.28/0.47 % gen_length_code(2)
% 0.28/0.47 thf(fact_73_count__list_Osimps_I1_J,axiom,
% 0.28/0.47 ! [A: $tType,Y: A] :
% 0.28/0.47 ( ( count_list @ A @ ( nil @ A ) @ Y )
% 0.28/0.47 = ( zero_zero @ nat ) ) ).
% 0.28/0.47
% 0.28/0.47 % count_list.simps(1)
% 0.28/0.47 thf(fact_74_map__tailrec__rev_Oelims,axiom,
% 0.28/0.47 ! [A: $tType,B: $tType,X3: A > B,Xa: list @ A,Xb: list @ B,Y: list @ B] :
% 0.28/0.47 ( ( ( map_tailrec_rev @ A @ B @ X3 @ Xa @ Xb )
% 0.28/0.47 = Y )
% 0.28/0.47 => ( ( ( Xa
% 0.28/0.47 = ( nil @ A ) )
% 0.28/0.47 => ( Y != Xb ) )
% 0.28/0.47 => ~ ! [A3: A,As: list @ A] :
% 0.28/0.47 ( ( Xa
% 0.28/0.47 = ( cons @ A @ A3 @ As ) )
% 0.28/0.47 => ( Y
% 0.28/0.47 != ( map_tailrec_rev @ A @ B @ X3 @ As @ ( cons @ B @ ( X3 @ A3 ) @ Xb ) ) ) ) ) ) ).
% 0.28/0.47
% 0.28/0.47 % map_tailrec_rev.elims
% 0.28/0.47 thf(fact_75_arg__min__list_Osimps_I1_J,axiom,
% 0.28/0.47 ! [B: $tType,A: $tType] :
% 0.28/0.47 ( ( linorder @ B )
% 0.28/0.47 => ! [F2: A > B,X3: A] :
% 0.28/0.47 ( ( arg_min_list @ A @ B @ F2 @ ( cons @ A @ X3 @ ( nil @ A ) ) )
% 0.28/0.47 = X3 ) ) ).
% 0.28/0.47
% 0.28/0.47 % arg_min_list.simps(1)
% 0.28/0.47 thf(fact_76_map__tailrec__rev_Osimps_I2_J,axiom,
% 0.28/0.47 ! [A: $tType,B: $tType,F2: A > B,A8: A,As2: list @ A,Bs2: list @ B] :
% 0.28/0.47 ( ( map_tailrec_rev @ A @ B @ F2 @ ( cons @ A @ A8 @ As2 ) @ Bs2 )
% 0.28/0.47 = ( map_tailrec_rev @ A @ B @ F2 @ As2 @ ( cons @ B @ ( F2 @ A8 ) @ Bs2 ) ) ) ).
% 0.28/0.47
% 0.28/0.47 % map_tailrec_rev.simps(2)
% 0.28/0.47 thf(fact_77_map__tailrec__rev_Osimps_I1_J,axiom,
% 0.28/0.47 ! [A: $tType,B: $tType,F2: A > B,Bs2: list @ B] :
% 0.28/0.47 ( ( map_tailrec_rev @ A @ B @ F2 @ ( nil @ A ) @ Bs2 )
% 0.28/0.47 = Bs2 ) ).
% 0.28/0.47
% 0.28/0.47 % map_tailrec_rev.simps(1)
% 0.28/0.47 thf(fact_78_gen__length__code_I1_J,axiom,
% 0.28/0.47 ! [A: $tType,N2: nat] :
% 0.28/0.47 ( ( gen_length @ A @ N2 @ ( nil @ A ) )
% 0.28/0.47 = N2 ) ).
% 0.28/0.47
% 0.28/0.47 % gen_length_code(1)
% 0.28/0.47 thf(fact_79_ord_Olexordp__eq__simps_I3_J,axiom,
% 0.28/0.47 ! [A: $tType,Less: A > A > $o,X3: A,Xs: list @ A] :
% 0.28/0.47 ~ ( lexordp_eq @ A @ Less @ ( cons @ A @ X3 @ Xs ) @ ( nil @ A ) ) ).
% 0.28/0.47
% 0.28/0.47 % ord.lexordp_eq_simps(3)
% 0.28/0.47 thf(fact_80_bind__simps_I1_J,axiom,
% 0.28/0.47 ! [B: $tType,A: $tType,F2: B > ( list @ A )] :
% 0.28/0.47 ( ( bind @ B @ A @ ( nil @ B ) @ F2 )
% 0.28/0.47 = ( nil @ A ) ) ).
% 0.28/0.47
% 0.28/0.47 % bind_simps(1)
% 0.28/0.47 thf(fact_81_listrelp_Ocases,axiom,
% 0.28/0.47 ! [A: $tType,B: $tType,R: A > B > $o,A1: list @ A,A2: list @ B] :
% 0.28/0.47 ( ( listrelp @ A @ B @ R @ A1 @ A2 )
% 0.28/0.47 => ( ( ( A1
% 0.28/0.47 = ( nil @ A ) )
% 0.28/0.47 => ( A2
% 0.28/0.47 != ( nil @ B ) ) )
% 0.28/0.47 => ~ ! [X: A,Y3: B,Xs2: list @ A] :
% 0.28/0.47 ( ( A1
% 0.28/0.47 = ( cons @ A @ X @ Xs2 ) )
% 0.28/0.47 => ! [Ys3: list @ B] :
% 0.28/0.47 ( ( A2
% 0.28/0.47 = ( cons @ B @ Y3 @ Ys3 ) )
% 0.28/0.47 => ( ( R @ X @ Y3 )
% 0.28/0.47 => ~ ( listrelp @ A @ B @ R @ Xs2 @ Ys3 ) ) ) ) ) ) ).
% 0.28/0.47
% 0.28/0.47 % listrelp.cases
% 0.28/0.47 thf(fact_82_listrelp_Osimps,axiom,
% 0.28/0.47 ! [B: $tType,A: $tType] :
% 0.28/0.47 ( ( listrelp @ A @ B )
% 0.28/0.47 = ( ^ [R2: A > B > $o,A12: list @ A,A22: list @ B] :
% 0.28/0.47 ( ( ( A12
% 0.28/0.47 = ( nil @ A ) )
% 0.28/0.47 & ( A22
% 0.28/0.47 = ( nil @ B ) ) )
% 0.28/0.47 | ? [X4: A,Y2: B,Xs3: list @ A,Ys: list @ B] :
% 0.28/0.47 ( ( A12
% 0.28/0.47 = ( cons @ A @ X4 @ Xs3 ) )
% 0.28/0.47 & ( A22
% 0.28/0.47 = ( cons @ B @ Y2 @ Ys ) )
% 0.28/0.47 & ( R2 @ X4 @ Y2 )
% 0.28/0.47 & ( listrelp @ A @ B @ R2 @ Xs3 @ Ys ) ) ) ) ) ).
% 0.28/0.47
% 0.28/0.47 % listrelp.simps
% 0.28/0.47 thf(fact_83_listrelp_Oinducts,axiom,
% 0.28/0.47 ! [A: $tType,B: $tType,R: A > B > $o,X12: list @ A,X23: list @ B,P2: ( list @ A ) > ( list @ B ) > $o] :
% 0.28/0.47 ( ( listrelp @ A @ B @ R @ X12 @ X23 )
% 0.28/0.47 => ( ( P2 @ ( nil @ A ) @ ( nil @ B ) )
% 0.28/0.47 => ( ! [X: A,Y3: B,Xs2: list @ A,Ys3: list @ B] :
% 0.28/0.47 ( ( R @ X @ Y3 )
% 0.28/0.47 => ( ( listrelp @ A @ B @ R @ Xs2 @ Ys3 )
% 0.28/0.47 => ( ( P2 @ Xs2 @ Ys3 )
% 0.28/0.47 => ( P2 @ ( cons @ A @ X @ Xs2 ) @ ( cons @ B @ Y3 @ Ys3 ) ) ) ) )
% 0.28/0.47 => ( P2 @ X12 @ X23 ) ) ) ) ).
% 0.28/0.47
% 0.28/0.47 % listrelp.inducts
% 0.28/0.47 thf(fact_84_flpPseudoConsensus_Oaxioms_I2_J,axiom,
% 0.28/0.47 ! [V: $tType,S: $tType,P: $tType,Trans: P > S > ( messageValue @ V ) > S,Sends: P > S > ( messageValue @ V ) > ( message @ P @ V ) > nat,Start: P > S] :
% 0.28/0.47 ( ( fLPThe1922692578sensus @ P @ S @ V @ Trans @ Sends @ Start )
% 0.28/0.47 => ( fLPThe128449925axioms @ P @ S @ V @ Trans @ Sends @ Start ) ) ).
% 0.28/0.47
% 0.28/0.47 % flpPseudoConsensus.axioms(2)
% 0.28/0.47 thf(fact_85_ord_Olexordp__eq__simps_I4_J,axiom,
% 0.28/0.47 ! [A: $tType,Less: A > A > $o,X3: A,Xs: list @ A,Y: A,Ys2: list @ A] :
% 0.28/0.47 ( ( lexordp_eq @ A @ Less @ ( cons @ A @ X3 @ Xs ) @ ( cons @ A @ Y @ Ys2 ) )
% 0.28/0.47 = ( ( Less @ X3 @ Y )
% 0.28/0.47 | ( ~ ( Less @ Y @ X3 )
% 0.28/0.47 & ( lexordp_eq @ A @ Less @ Xs @ Ys2 ) ) ) ) ).
% 0.28/0.47
% 0.28/0.47 % ord.lexordp_eq_simps(4)
% 0.28/0.47 thf(fact_86_ord_Olexordp__eq__simps_I1_J,axiom,
% 0.28/0.47 ! [A: $tType,Less: A > A > $o,Ys2: list @ A] : ( lexordp_eq @ A @ Less @ ( nil @ A ) @ Ys2 ) ).
% 0.28/0.47
% 0.28/0.47 % ord.lexordp_eq_simps(1)
% 0.28/0.47 thf(fact_87_ord_Olexordp__eq__simps_I2_J,axiom,
% 0.28/0.47 ! [A: $tType,Less: A > A > $o,Xs: list @ A] :
% 0.28/0.47 ( ( lexordp_eq @ A @ Less @ Xs @ ( nil @ A ) )
% 0.28/0.47 = ( Xs
% 0.28/0.47 = ( nil @ A ) ) ) ).
% 0.28/0.47
% 0.28/0.47 % ord.lexordp_eq_simps(2)
% 0.28/0.47 thf(fact_88_ord_Olexordp__eq__refl,axiom,
% 0.28/0.47 ! [A: $tType,Less: A > A > $o,Xs: list @ A] : ( lexordp_eq @ A @ Less @ Xs @ Xs ) ).
% 0.28/0.47
% 0.28/0.47 % ord.lexordp_eq_refl
% 0.28/0.47 thf(fact_89_ord_Olexordp__eq_Ocong,axiom,
% 0.28/0.47 ! [A: $tType] :
% 0.28/0.47 ( ( lexordp_eq @ A )
% 0.28/0.47 = ( lexordp_eq @ A ) ) ).
% 0.28/0.47
% 0.28/0.47 % ord.lexordp_eq.cong
% 0.28/0.47 thf(fact_90_ord_Olexordp__eq_OCons__eq,axiom,
% 0.28/0.47 ! [A: $tType,Less: A > A > $o,X3: A,Y: A,Xs: list @ A,Ys2: list @ A] :
% 0.28/0.47 ( ~ ( Less @ X3 @ Y )
% 0.28/0.47 => ( ~ ( Less @ Y @ X3 )
% 0.28/0.47 => ( ( lexordp_eq @ A @ Less @ Xs @ Ys2 )
% 0.28/0.47 => ( lexordp_eq @ A @ Less @ ( cons @ A @ X3 @ Xs ) @ ( cons @ A @ Y @ Ys2 ) ) ) ) ) ).
% 0.28/0.47
% 0.28/0.47 % ord.lexordp_eq.Cons_eq
% 0.28/0.47 thf(fact_91_ord_Olexordp__eq_OCons,axiom,
% 0.28/0.47 ! [A: $tType,Less: A > A > $o,X3: A,Y: A,Xs: list @ A,Ys2: list @ A] :
% 0.28/0.47 ( ( Less @ X3 @ Y )
% 0.28/0.47 => ( lexordp_eq @ A @ Less @ ( cons @ A @ X3 @ Xs ) @ ( cons @ A @ Y @ Ys2 ) ) ) ).
% 0.28/0.47
% 0.28/0.47 % ord.lexordp_eq.Cons
% 0.28/0.47 thf(fact_92_ord_Olexordp__eq_ONil,axiom,
% 0.28/0.47 ! [A: $tType,Less: A > A > $o,Ys2: list @ A] : ( lexordp_eq @ A @ Less @ ( nil @ A ) @ Ys2 ) ).
% 0.28/0.47
% 0.28/0.47 % ord.lexordp_eq.Nil
% 0.28/0.47 thf(fact_93_listrelp_OCons,axiom,
% 0.28/0.47 ! [A: $tType,B: $tType,R: A > B > $o,X3: A,Y: B,Xs: list @ A,Ys2: list @ B] :
% 0.28/0.47 ( ( R @ X3 @ Y )
% 0.28/0.47 => ( ( listrelp @ A @ B @ R @ Xs @ Ys2 )
% 0.28/0.47 => ( listrelp @ A @ B @ R @ ( cons @ A @ X3 @ Xs ) @ ( cons @ B @ Y @ Ys2 ) ) ) ) ).
% 0.28/0.47
% 0.28/0.47 % listrelp.Cons
% 0.28/0.47 thf(fact_94_listrelp_ONil,axiom,
% 0.28/0.47 ! [A: $tType,B: $tType,R: A > B > $o] : ( listrelp @ A @ B @ R @ ( nil @ A ) @ ( nil @ B ) ) ).
% 0.28/0.47
% 0.28/0.47 % listrelp.Nil
% 0.28/0.47 thf(fact_95_ord_Olexordp__eq_Oinducts,axiom,
% 0.28/0.47 ! [A: $tType,Less: A > A > $o,X12: list @ A,X23: list @ A,P2: ( list @ A ) > ( list @ A ) > $o] :
% 0.28/0.47 ( ( lexordp_eq @ A @ Less @ X12 @ X23 )
% 0.28/0.47 => ( ! [X_1: list @ A] : ( P2 @ ( nil @ A ) @ X_1 )
% 0.28/0.47 => ( ! [X: A,Y3: A,Xs2: list @ A,Ys3: list @ A] :
% 0.28/0.47 ( ( Less @ X @ Y3 )
% 0.28/0.47 => ( P2 @ ( cons @ A @ X @ Xs2 ) @ ( cons @ A @ Y3 @ Ys3 ) ) )
% 0.28/0.47 => ( ! [X: A,Y3: A,Xs2: list @ A,Ys3: list @ A] :
% 0.28/0.47 ( ~ ( Less @ X @ Y3 )
% 0.28/0.47 => ( ~ ( Less @ Y3 @ X )
% 0.28/0.47 => ( ( lexordp_eq @ A @ Less @ Xs2 @ Ys3 )
% 0.28/0.47 => ( ( P2 @ Xs2 @ Ys3 )
% 0.28/0.47 => ( P2 @ ( cons @ A @ X @ Xs2 ) @ ( cons @ A @ Y3 @ Ys3 ) ) ) ) ) )
% 0.28/0.47 => ( P2 @ X12 @ X23 ) ) ) ) ) ).
% 0.28/0.47
% 0.28/0.47 % ord.lexordp_eq.inducts
% 0.28/0.47 thf(fact_96_ord_Olexordp__eq_Osimps,axiom,
% 0.28/0.47 ! [A: $tType] :
% 0.28/0.47 ( ( lexordp_eq @ A )
% 0.28/0.47 = ( ^ [Less2: A > A > $o,A12: list @ A,A22: list @ A] :
% 0.28/0.47 ( ? [Ys: list @ A] :
% 0.28/0.47 ( ( A12
% 0.28/0.47 = ( nil @ A ) )
% 0.28/0.47 & ( A22 = Ys ) )
% 0.28/0.47 | ? [X4: A,Y2: A,Xs3: list @ A,Ys: list @ A] :
% 0.28/0.47 ( ( A12
% 0.28/0.47 = ( cons @ A @ X4 @ Xs3 ) )
% 0.28/0.47 & ( A22
% 0.28/0.47 = ( cons @ A @ Y2 @ Ys ) )
% 0.28/0.47 & ( Less2 @ X4 @ Y2 ) )
% 0.28/0.47 | ? [X4: A,Y2: A,Xs3: list @ A,Ys: list @ A] :
% 0.28/0.47 ( ( A12
% 0.28/0.47 = ( cons @ A @ X4 @ Xs3 ) )
% 0.28/0.47 & ( A22
% 0.28/0.47 = ( cons @ A @ Y2 @ Ys ) )
% 0.28/0.47 & ~ ( Less2 @ X4 @ Y2 )
% 0.28/0.47 & ~ ( Less2 @ Y2 @ X4 )
% 0.28/0.47 & ( lexordp_eq @ A @ Less2 @ Xs3 @ Ys ) ) ) ) ) ).
% 0.28/0.47
% 0.28/0.47 % ord.lexordp_eq.simps
% 0.28/0.47 thf(fact_97_ord_Olexordp__eq_Ocases,axiom,
% 0.28/0.47 ! [A: $tType,Less: A > A > $o,A1: list @ A,A2: list @ A] :
% 0.28/0.47 ( ( lexordp_eq @ A @ Less @ A1 @ A2 )
% 0.28/0.47 => ( ( A1
% 0.28/0.47 != ( nil @ A ) )
% 0.28/0.47 => ( ! [X: A] :
% 0.28/0.47 ( ? [Xs2: list @ A] :
% 0.28/0.47 ( A1
% 0.28/0.47 = ( cons @ A @ X @ Xs2 ) )
% 0.28/0.47 => ! [Y3: A] :
% 0.28/0.47 ( ? [Ys3: list @ A] :
% 0.28/0.47 ( A2
% 0.28/0.47 = ( cons @ A @ Y3 @ Ys3 ) )
% 0.28/0.47 => ~ ( Less @ X @ Y3 ) ) )
% 0.28/0.47 => ~ ! [X: A,Y3: A,Xs2: list @ A] :
% 0.28/0.47 ( ( A1
% 0.28/0.47 = ( cons @ A @ X @ Xs2 ) )
% 0.28/0.47 => ! [Ys3: list @ A] :
% 0.28/0.47 ( ( A2
% 0.28/0.47 = ( cons @ A @ Y3 @ Ys3 ) )
% 0.28/0.47 => ( ~ ( Less @ X @ Y3 )
% 0.28/0.47 => ( ~ ( Less @ Y3 @ X )
% 0.28/0.47 => ~ ( lexordp_eq @ A @ Less @ Xs2 @ Ys3 ) ) ) ) ) ) ) ) ).
% 0.28/0.47
% 0.28/0.47 % ord.lexordp_eq.cases
% 0.28/0.47 thf(fact_98_flpPseudoConsensus__def,axiom,
% 0.28/0.47 ! [V: $tType,S: $tType,P: $tType] :
% 0.28/0.47 ( ( fLPThe1922692578sensus @ P @ S @ V )
% 0.28/0.47 = ( ^ [Trans2: P > S > ( messageValue @ V ) > S,Sends2: P > S > ( messageValue @ V ) > ( message @ P @ V ) > nat,Start2: P > S] :
% 0.28/0.47 ( ( flpSystem @ P @ S @ V @ Sends2 )
% 0.28/0.47 & ( fLPThe128449925axioms @ P @ S @ V @ Trans2 @ Sends2 @ Start2 ) ) ) ) ).
% 0.28/0.47
% 0.28/0.47 % flpPseudoConsensus_def
% 0.28/0.47 thf(fact_99_flpPseudoConsensus_Ointro,axiom,
% 0.28/0.47 ! [V: $tType,S: $tType,P: $tType,Sends: P > S > ( messageValue @ V ) > ( message @ P @ V ) > nat,Trans: P > S > ( messageValue @ V ) > S,Start: P > S] :
% 0.28/0.47 ( ( flpSystem @ P @ S @ V @ Sends )
% 0.28/0.47 => ( ( fLPThe128449925axioms @ P @ S @ V @ Trans @ Sends @ Start )
% 0.28/0.47 => ( fLPThe1922692578sensus @ P @ S @ V @ Trans @ Sends @ Start ) ) ) ).
% 0.28/0.47
% 0.28/0.47 % flpPseudoConsensus.intro
% 0.28/0.47 thf(fact_100_lexordp__eq__simps_I3_J,axiom,
% 0.28/0.47 ! [A: $tType] :
% 0.28/0.47 ( ( ord @ A )
% 0.28/0.47 => ! [X3: A,Xs: list @ A] :
% 0.28/0.47 ~ ( ord_lexordp_eq @ A @ ( cons @ A @ X3 @ Xs ) @ ( nil @ A ) ) ) ).
% 0.28/0.47
% 0.28/0.47 % lexordp_eq_simps(3)
% 0.28/0.47 thf(fact_101_zero__natural_Orsp,axiom,
% 0.28/0.47 ( ( zero_zero @ nat )
% 0.28/0.47 = ( zero_zero @ nat ) ) ).
% 0.28/0.47
% 0.28/0.47 % zero_natural.rsp
% 0.28/0.47 thf(fact_102_member__rec_I2_J,axiom,
% 0.28/0.47 ! [A: $tType,Y: A] :
% 0.28/0.47 ~ ( member @ A @ ( nil @ A ) @ Y ) ).
% 0.28/0.47
% 0.28/0.47 % member_rec(2)
% 0.28/0.47 thf(fact_103_member__rec_I1_J,axiom,
% 0.28/0.47 ! [A: $tType,X3: A,Xs: list @ A,Y: A] :
% 0.28/0.47 ( ( member @ A @ ( cons @ A @ X3 @ Xs ) @ Y )
% 0.28/0.47 = ( ( X3 = Y )
% 0.28/0.47 | ( member @ A @ Xs @ Y ) ) ) ).
% 0.28/0.47
% 0.28/0.47 % member_rec(1)
% 0.28/0.47 thf(fact_104_lexordp__eq__simps_I2_J,axiom,
% 0.28/0.47 ! [A: $tType] :
% 0.28/0.47 ( ( ord @ A )
% 0.28/0.47 => ! [Xs: list @ A] :
% 0.28/0.47 ( ( ord_lexordp_eq @ A @ Xs @ ( nil @ A ) )
% 0.28/0.47 = ( Xs
% 0.28/0.47 = ( nil @ A ) ) ) ) ).
% 0.28/0.47
% 0.28/0.47 % lexordp_eq_simps(2)
% 0.28/0.47 thf(fact_105_lexordp__eq__simps_I1_J,axiom,
% 0.28/0.47 ! [A: $tType] :
% 0.28/0.47 ( ( ord @ A )
% 0.28/0.47 => ! [Ys2: list @ A] : ( ord_lexordp_eq @ A @ ( nil @ A ) @ Ys2 ) ) ).
% 0.28/0.47
% 0.28/0.47 % lexordp_eq_simps(1)
% 0.28/0.47 thf(fact_106_lexordp__eq__refl,axiom,
% 0.28/0.47 ! [A: $tType] :
% 0.28/0.47 ( ( ord @ A )
% 0.28/0.47 => ! [Xs: list @ A] : ( ord_lexordp_eq @ A @ Xs @ Xs ) ) ).
% 0.28/0.47
% 0.28/0.47 % lexordp_eq_refl
% 0.28/0.47 thf(fact_107_lexordp__eq__trans,axiom,
% 0.28/0.47 ! [A: $tType] :
% 0.28/0.47 ( ( linorder @ A )
% 0.28/0.47 => ! [Xs: list @ A,Ys2: list @ A,Zs2: list @ A] :
% 0.28/0.47 ( ( ord_lexordp_eq @ A @ Xs @ Ys2 )
% 0.28/0.47 => ( ( ord_lexordp_eq @ A @ Ys2 @ Zs2 )
% 0.28/0.47 => ( ord_lexordp_eq @ A @ Xs @ Zs2 ) ) ) ) ).
% 0.28/0.47
% 0.28/0.47 % lexordp_eq_trans
% 0.28/0.47 thf(fact_108_lexordp__eq__linear,axiom,
% 0.28/0.47 ! [A: $tType] :
% 0.28/0.47 ( ( linorder @ A )
% 0.28/0.47 => ! [Xs: list @ A,Ys2: list @ A] :
% 0.28/0.47 ( ( ord_lexordp_eq @ A @ Xs @ Ys2 )
% 0.28/0.47 | ( ord_lexordp_eq @ A @ Ys2 @ Xs ) ) ) ).
% 0.28/0.47
% 0.28/0.47 % lexordp_eq_linear
% 0.28/0.47 thf(fact_109_lexordp__eq__antisym,axiom,
% 0.28/0.47 ! [A: $tType] :
% 0.28/0.47 ( ( linorder @ A )
% 0.28/0.47 => ! [Xs: list @ A,Ys2: list @ A] :
% 0.28/0.47 ( ( ord_lexordp_eq @ A @ Xs @ Ys2 )
% 0.28/0.47 => ( ( ord_lexordp_eq @ A @ Ys2 @ Xs )
% 0.28/0.47 => ( Xs = Ys2 ) ) ) ) ).
% 0.28/0.47
% 0.28/0.47 % lexordp_eq_antisym
% 0.28/0.47 thf(fact_110_lexordp__eq_ONil,axiom,
% 0.28/0.47 ! [A: $tType] :
% 0.28/0.47 ( ( ord @ A )
% 0.28/0.47 => ! [Ys2: list @ A] : ( ord_lexordp_eq @ A @ ( nil @ A ) @ Ys2 ) ) ).
% 0.28/0.47
% 0.28/0.47 % lexordp_eq.Nil
% 0.28/0.47 thf(fact_111_flpPseudoConsensus_Oaxioms_I1_J,axiom,
% 0.28/0.47 ! [V: $tType,S: $tType,P: $tType,Trans: P > S > ( messageValue @ V ) > S,Sends: P > S > ( messageValue @ V ) > ( message @ P @ V ) > nat,Start: P > S] :
% 0.28/0.47 ( ( fLPThe1922692578sensus @ P @ S @ V @ Trans @ Sends @ Start )
% 0.28/0.47 => ( flpSystem @ P @ S @ V @ Sends ) ) ).
% 0.28/0.47
% 0.28/0.47 % flpPseudoConsensus.axioms(1)
% 0.28/0.47 thf(fact_112_lexordp__eq_Ocases,axiom,
% 0.28/0.47 ! [A: $tType] :
% 0.28/0.47 ( ( ord @ A )
% 0.28/0.47 => ! [A1: list @ A,A2: list @ A] :
% 0.28/0.47 ( ( ord_lexordp_eq @ A @ A1 @ A2 )
% 0.28/0.47 => ( ( A1
% 0.28/0.47 != ( nil @ A ) )
% 0.28/0.47 => ( ! [X: A] :
% 0.28/0.47 ( ? [Xs2: list @ A] :
% 0.28/0.47 ( A1
% 0.28/0.47 = ( cons @ A @ X @ Xs2 ) )
% 0.28/0.47 => ! [Y3: A] :
% 0.28/0.47 ( ? [Ys3: list @ A] :
% 0.28/0.47 ( A2
% 0.28/0.47 = ( cons @ A @ Y3 @ Ys3 ) )
% 0.28/0.47 => ~ ( ord_less @ A @ X @ Y3 ) ) )
% 0.28/0.47 => ~ ! [X: A,Y3: A,Xs2: list @ A] :
% 0.28/0.47 ( ( A1
% 0.28/0.47 = ( cons @ A @ X @ Xs2 ) )
% 0.28/0.47 => ! [Ys3: list @ A] :
% 0.28/0.47 ( ( A2
% 0.28/0.47 = ( cons @ A @ Y3 @ Ys3 ) )
% 0.28/0.47 => ( ~ ( ord_less @ A @ X @ Y3 )
% 0.28/0.47 => ( ~ ( ord_less @ A @ Y3 @ X )
% 0.28/0.47 => ~ ( ord_lexordp_eq @ A @ Xs2 @ Ys3 ) ) ) ) ) ) ) ) ) ).
% 0.28/0.47
% 0.28/0.47 % lexordp_eq.cases
% 0.28/0.47 thf(fact_113_lexordp__eq_Osimps,axiom,
% 0.28/0.47 ! [A: $tType] :
% 0.28/0.47 ( ( ord @ A )
% 0.28/0.47 => ( ( ord_lexordp_eq @ A )
% 0.28/0.47 = ( ^ [A12: list @ A,A22: list @ A] :
% 0.28/0.47 ( ? [Ys: list @ A] :
% 0.28/0.47 ( ( A12
% 0.28/0.47 = ( nil @ A ) )
% 0.28/0.47 & ( A22 = Ys ) )
% 0.28/0.47 | ? [X4: A,Y2: A,Xs3: list @ A,Ys: list @ A] :
% 0.28/0.47 ( ( A12
% 0.28/0.47 = ( cons @ A @ X4 @ Xs3 ) )
% 0.28/0.47 & ( A22
% 0.28/0.47 = ( cons @ A @ Y2 @ Ys ) )
% 0.28/0.47 & ( ord_less @ A @ X4 @ Y2 ) )
% 0.28/0.47 | ? [X4: A,Y2: A,Xs3: list @ A,Ys: list @ A] :
% 0.28/0.47 ( ( A12
% 0.28/0.47 = ( cons @ A @ X4 @ Xs3 ) )
% 0.28/0.47 & ( A22
% 0.28/0.47 = ( cons @ A @ Y2 @ Ys ) )
% 0.28/0.47 & ~ ( ord_less @ A @ X4 @ Y2 )
% 0.28/0.47 & ~ ( ord_less @ A @ Y2 @ X4 )
% 0.28/0.47 & ( ord_lexordp_eq @ A @ Xs3 @ Ys ) ) ) ) ) ) ).
% 0.28/0.47
% 0.28/0.47 % lexordp_eq.simps
% 0.28/0.47 thf(fact_114_lexordp__eq_Oinducts,axiom,
% 0.28/0.47 ! [A: $tType] :
% 0.28/0.47 ( ( ord @ A )
% 0.28/0.47 => ! [X12: list @ A,X23: list @ A,P2: ( list @ A ) > ( list @ A ) > $o] :
% 0.28/0.47 ( ( ord_lexordp_eq @ A @ X12 @ X23 )
% 0.28/0.47 => ( ! [X_1: list @ A] : ( P2 @ ( nil @ A ) @ X_1 )
% 0.28/0.47 => ( ! [X: A,Y3: A,Xs2: list @ A,Ys3: list @ A] :
% 0.28/0.47 ( ( ord_less @ A @ X @ Y3 )
% 0.28/0.47 => ( P2 @ ( cons @ A @ X @ Xs2 ) @ ( cons @ A @ Y3 @ Ys3 ) ) )
% 0.28/0.47 => ( ! [X: A,Y3: A,Xs2: list @ A,Ys3: list @ A] :
% 0.28/0.47 ( ~ ( ord_less @ A @ X @ Y3 )
% 0.28/0.47 => ( ~ ( ord_less @ A @ Y3 @ X )
% 0.28/0.47 => ( ( ord_lexordp_eq @ A @ Xs2 @ Ys3 )
% 0.28/0.47 => ( ( P2 @ Xs2 @ Ys3 )
% 0.28/0.47 => ( P2 @ ( cons @ A @ X @ Xs2 ) @ ( cons @ A @ Y3 @ Ys3 ) ) ) ) ) )
% 0.28/0.47 => ( P2 @ X12 @ X23 ) ) ) ) ) ) ).
% 0.28/0.47
% 0.28/0.47 % lexordp_eq.inducts
% 0.28/0.47 thf(fact_115_splice_Oelims,axiom,
% 0.28/0.47 ! [A: $tType,X3: list @ A,Xa: list @ A,Y: list @ A] :
% 0.28/0.47 ( ( ( splice @ A @ X3 @ Xa )
% 0.28/0.47 = Y )
% 0.28/0.47 => ( ( ( X3
% 0.28/0.47 = ( nil @ A ) )
% 0.28/0.47 => ( Y != Xa ) )
% 0.28/0.47 => ~ ! [X: A,Xs2: list @ A] :
% 0.28/0.47 ( ( X3
% 0.28/0.47 = ( cons @ A @ X @ Xs2 ) )
% 0.28/0.47 => ( Y
% 0.28/0.47 != ( cons @ A @ X @ ( splice @ A @ Xa @ Xs2 ) ) ) ) ) ) ).
% 0.28/0.47
% 0.28/0.47 % splice.elims
% 0.28/0.47 thf(fact_116_of__nat__aux_Osimps_I2_J,axiom,
% 0.28/0.47 ! [A: $tType] :
% 0.28/0.47 ( ( semiring_1 @ A )
% 0.28/0.47 => ! [Inc: A > A,N2: nat,I: A] :
% 0.28/0.47 ( ( semiri532925092at_aux @ A @ Inc @ ( suc @ N2 ) @ I )
% 0.28/0.47 = ( semiri532925092at_aux @ A @ Inc @ N2 @ ( Inc @ I ) ) ) ) ).
% 0.28/0.47
% 0.28/0.47 % of_nat_aux.simps(2)
% 0.28/0.47 thf(fact_117_bot__nat__0_Onot__eq__extremum,axiom,
% 0.28/0.47 ! [A8: nat] :
% 0.28/0.47 ( ( A8
% 0.28/0.47 != ( zero_zero @ nat ) )
% 0.28/0.47 = ( ord_less @ nat @ ( zero_zero @ nat ) @ A8 ) ) ).
% 0.28/0.47
% 0.28/0.47 % bot_nat_0.not_eq_extremum
% 0.28/0.47 thf(fact_118_less__nat__zero__code,axiom,
% 0.28/0.47 ! [N2: nat] :
% 0.28/0.47 ~ ( ord_less @ nat @ N2 @ ( zero_zero @ nat ) ) ).
% 0.28/0.47
% 0.28/0.47 % less_nat_zero_code
% 0.28/0.47 thf(fact_119_neq0__conv,axiom,
% 0.28/0.47 ! [N2: nat] :
% 0.28/0.47 ( ( N2
% 0.28/0.47 != ( zero_zero @ nat ) )
% 0.28/0.47 = ( ord_less @ nat @ ( zero_zero @ nat ) @ N2 ) ) ).
% 0.28/0.47
% 0.28/0.47 % neq0_conv
% 0.28/0.47 thf(fact_120_lessI,axiom,
% 0.28/0.47 ! [N2: nat] : ( ord_less @ nat @ N2 @ ( suc @ N2 ) ) ).
% 0.28/0.47
% 0.28/0.47 % lessI
% 0.28/0.47 thf(fact_121_Suc__mono,axiom,
% 0.28/0.47 ! [M2: nat,N2: nat] :
% 0.28/0.47 ( ( ord_less @ nat @ M2 @ N2 )
% 0.28/0.47 => ( ord_less @ nat @ ( suc @ M2 ) @ ( suc @ N2 ) ) ) ).
% 0.28/0.47
% 0.28/0.47 % Suc_mono
% 0.28/0.47 thf(fact_122_Suc__less__eq,axiom,
% 0.28/0.47 ! [M2: nat,N2: nat] :
% 0.28/0.47 ( ( ord_less @ nat @ ( suc @ M2 ) @ ( suc @ N2 ) )
% 0.28/0.47 = ( ord_less @ nat @ M2 @ N2 ) ) ).
% 0.28/0.47
% 0.28/0.47 % Suc_less_eq
% 0.28/0.47 thf(fact_123_not__gr__zero,axiom,
% 0.28/0.47 ! [A: $tType] :
% 0.28/0.47 ( ( canoni770627133id_add @ A )
% 0.28/0.47 => ! [N2: A] :
% 0.28/0.47 ( ( ~ ( ord_less @ A @ ( zero_zero @ A ) @ N2 ) )
% 0.28/0.47 = ( N2
% 0.28/0.47 = ( zero_zero @ A ) ) ) ) ).
% 0.28/0.47
% 0.28/0.47 % not_gr_zero
% 0.28/0.47 thf(fact_124_zero__less__Suc,axiom,
% 0.28/0.47 ! [N2: nat] : ( ord_less @ nat @ ( zero_zero @ nat ) @ ( suc @ N2 ) ) ).
% 0.28/0.47
% 0.28/0.47 % zero_less_Suc
% 0.28/0.47 thf(fact_125_less__Suc0,axiom,
% 0.28/0.47 ! [N2: nat] :
% 0.28/0.47 ( ( ord_less @ nat @ N2 @ ( suc @ ( zero_zero @ nat ) ) )
% 0.28/0.47 = ( N2
% 0.28/0.47 = ( zero_zero @ nat ) ) ) ).
% 0.28/0.47
% 0.28/0.47 % less_Suc0
% 0.28/0.47 thf(fact_126_split__Nil__iff,axiom,
% 0.28/0.47 ! [A: $tType,Xs: list @ A,Ys2: list @ A] :
% 0.28/0.47 ( ( ( splice @ A @ Xs @ Ys2 )
% 0.28/0.47 = ( nil @ A ) )
% 0.28/0.47 = ( ( Xs
% 0.28/0.47 = ( nil @ A ) )
% 0.28/0.47 & ( Ys2
% 0.28/0.47 = ( nil @ A ) ) ) ) ).
% 0.28/0.47
% 0.28/0.47 % split_Nil_iff
% 0.28/0.47 thf(fact_127_splice__Nil2,axiom,
% 0.28/0.47 ! [A: $tType,Xs: list @ A] :
% 0.28/0.47 ( ( splice @ A @ Xs @ ( nil @ A ) )
% 0.28/0.47 = Xs ) ).
% 0.28/0.47
% 0.28/0.47 % splice_Nil2
% 0.28/0.47 thf(fact_128_lexordp__eq__simps_I4_J,axiom,
% 0.28/0.47 ! [A: $tType] :
% 0.28/0.47 ( ( ord @ A )
% 0.28/0.47 => ! [X3: A,Xs: list @ A,Y: A,Ys2: list @ A] :
% 0.28/0.47 ( ( ord_lexordp_eq @ A @ ( cons @ A @ X3 @ Xs ) @ ( cons @ A @ Y @ Ys2 ) )
% 0.28/0.47 = ( ( ord_less @ A @ X3 @ Y )
% 0.28/0.47 | ( ~ ( ord_less @ A @ Y @ X3 )
% 0.28/0.47 & ( ord_lexordp_eq @ A @ Xs @ Ys2 ) ) ) ) ) ).
% 0.28/0.47
% 0.28/0.47 % lexordp_eq_simps(4)
% 0.28/0.47 thf(fact_129_gr__zeroI,axiom,
% 0.28/0.47 ! [A: $tType] :
% 0.28/0.47 ( ( canoni770627133id_add @ A )
% 0.28/0.47 => ! [N2: A] :
% 0.28/0.47 ( ( N2
% 0.28/0.47 != ( zero_zero @ A ) )
% 0.28/0.47 => ( ord_less @ A @ ( zero_zero @ A ) @ N2 ) ) ) ).
% 0.28/0.47
% 0.28/0.47 % gr_zeroI
% 0.28/0.47 thf(fact_130_not__less__zero,axiom,
% 0.28/0.47 ! [A: $tType] :
% 0.28/0.47 ( ( canoni770627133id_add @ A )
% 0.28/0.47 => ! [N2: A] :
% 0.28/0.47 ~ ( ord_less @ A @ N2 @ ( zero_zero @ A ) ) ) ).
% 0.28/0.47
% 0.28/0.47 % not_less_zero
% 0.28/0.47 thf(fact_131_gr__implies__not__zero,axiom,
% 0.28/0.47 ! [A: $tType] :
% 0.28/0.47 ( ( canoni770627133id_add @ A )
% 0.28/0.47 => ! [M2: A,N2: A] :
% 0.28/0.47 ( ( ord_less @ A @ M2 @ N2 )
% 0.28/0.47 => ( N2
% 0.28/0.47 != ( zero_zero @ A ) ) ) ) ).
% 0.28/0.47
% 0.28/0.47 % gr_implies_not_zero
% 0.28/0.47 thf(fact_132_zero__less__iff__neq__zero,axiom,
% 0.28/0.47 ! [A: $tType] :
% 0.28/0.47 ( ( canoni770627133id_add @ A )
% 0.28/0.47 => ! [N2: A] :
% 0.28/0.47 ( ( ord_less @ A @ ( zero_zero @ A ) @ N2 )
% 0.28/0.47 = ( N2
% 0.28/0.47 != ( zero_zero @ A ) ) ) ) ).
% 0.28/0.47
% 0.28/0.47 % zero_less_iff_neq_zero
% 0.28/0.47 thf(fact_133_infinite__descent0__measure,axiom,
% 0.28/0.47 ! [A: $tType,V2: A > nat,P2: A > $o,X3: A] :
% 0.28/0.47 ( ! [X: A] :
% 0.28/0.47 ( ( ( V2 @ X )
% 0.28/0.47 = ( zero_zero @ nat ) )
% 0.28/0.47 => ( P2 @ X ) )
% 0.28/0.47 => ( ! [X: A] :
% 0.28/0.47 ( ( ord_less @ nat @ ( zero_zero @ nat ) @ ( V2 @ X ) )
% 0.28/0.47 => ( ~ ( P2 @ X )
% 0.28/0.47 => ? [Y4: A] :
% 0.28/0.47 ( ( ord_less @ nat @ ( V2 @ Y4 ) @ ( V2 @ X ) )
% 0.28/0.47 & ~ ( P2 @ Y4 ) ) ) )
% 0.28/0.47 => ( P2 @ X3 ) ) ) ).
% 0.28/0.47
% 0.28/0.47 % infinite_descent0_measure
% 0.28/0.47 thf(fact_134_bot__nat__0_Oextremum__strict,axiom,
% 0.28/0.47 ! [A8: nat] :
% 0.28/0.47 ~ ( ord_less @ nat @ A8 @ ( zero_zero @ nat ) ) ).
% 0.28/0.47
% 0.28/0.47 % bot_nat_0.extremum_strict
% 0.28/0.47 thf(fact_135_infinite__descent0,axiom,
% 0.28/0.47 ! [P2: nat > $o,N2: nat] :
% 0.28/0.47 ( ( P2 @ ( zero_zero @ nat ) )
% 0.28/0.47 => ( ! [N: nat] :
% 0.28/0.47 ( ( ord_less @ nat @ ( zero_zero @ nat ) @ N )
% 0.28/0.47 => ( ~ ( P2 @ N )
% 0.28/0.47 => ? [M3: nat] :
% 0.28/0.47 ( ( ord_less @ nat @ M3 @ N )
% 0.28/0.47 & ~ ( P2 @ M3 ) ) ) )
% 0.28/0.47 => ( P2 @ N2 ) ) ) ).
% 0.28/0.47
% 0.28/0.47 % infinite_descent0
% 0.28/0.47 thf(fact_136_gr__implies__not0,axiom,
% 0.28/0.47 ! [M2: nat,N2: nat] :
% 0.28/0.47 ( ( ord_less @ nat @ M2 @ N2 )
% 0.28/0.47 => ( N2
% 0.28/0.47 != ( zero_zero @ nat ) ) ) ).
% 0.28/0.47
% 0.28/0.47 % gr_implies_not0
% 0.28/0.47 thf(fact_137_less__zeroE,axiom,
% 0.28/0.47 ! [N2: nat] :
% 0.28/0.47 ~ ( ord_less @ nat @ N2 @ ( zero_zero @ nat ) ) ).
% 0.28/0.47
% 0.28/0.47 % less_zeroE
% 0.28/0.47 thf(fact_138_not__less0,axiom,
% 0.28/0.47 ! [N2: nat] :
% 0.28/0.47 ~ ( ord_less @ nat @ N2 @ ( zero_zero @ nat ) ) ).
% 0.28/0.47
% 0.28/0.47 % not_less0
% 0.28/0.47 thf(fact_139_not__gr0,axiom,
% 0.28/0.47 ! [N2: nat] :
% 0.28/0.47 ( ( ~ ( ord_less @ nat @ ( zero_zero @ nat ) @ N2 ) )
% 0.28/0.47 = ( N2
% 0.28/0.47 = ( zero_zero @ nat ) ) ) ).
% 0.28/0.47
% 0.28/0.47 % not_gr0
% 0.28/0.47 thf(fact_140_gr0I,axiom,
% 0.28/0.47 ! [N2: nat] :
% 0.28/0.47 ( ( N2
% 0.28/0.47 != ( zero_zero @ nat ) )
% 0.28/0.47 => ( ord_less @ nat @ ( zero_zero @ nat ) @ N2 ) ) ).
% 0.28/0.47
% 0.28/0.47 % gr0I
% 0.28/0.47 thf(fact_141_Nat_OlessE,axiom,
% 0.28/0.47 ! [I: nat,K: nat] :
% 0.28/0.47 ( ( ord_less @ nat @ I @ K )
% 0.28/0.47 => ( ( K
% 0.28/0.47 != ( suc @ I ) )
% 0.28/0.47 => ~ ! [J: nat] :
% 0.28/0.47 ( ( ord_less @ nat @ I @ J )
% 0.28/0.47 => ( K
% 0.28/0.47 != ( suc @ J ) ) ) ) ) ).
% 0.28/0.47
% 0.28/0.47 % Nat.lessE
% 0.28/0.47 thf(fact_142_Suc__lessD,axiom,
% 0.28/0.47 ! [M2: nat,N2: nat] :
% 0.28/0.47 ( ( ord_less @ nat @ ( suc @ M2 ) @ N2 )
% 0.28/0.47 => ( ord_less @ nat @ M2 @ N2 ) ) ).
% 0.28/0.47
% 0.28/0.47 % Suc_lessD
% 0.28/0.47 thf(fact_143_Suc__lessE,axiom,
% 0.28/0.47 ! [I: nat,K: nat] :
% 0.28/0.47 ( ( ord_less @ nat @ ( suc @ I ) @ K )
% 0.28/0.47 => ~ ! [J: nat] :
% 0.28/0.47 ( ( ord_less @ nat @ I @ J )
% 0.28/0.47 => ( K
% 0.28/0.47 != ( suc @ J ) ) ) ) ).
% 0.28/0.47
% 0.28/0.47 % Suc_lessE
% 0.28/0.47 thf(fact_144_Suc__lessI,axiom,
% 0.28/0.47 ! [M2: nat,N2: nat] :
% 0.28/0.47 ( ( ord_less @ nat @ M2 @ N2 )
% 0.28/0.47 => ( ( ( suc @ M2 )
% 0.28/0.47 != N2 )
% 0.28/0.47 => ( ord_less @ nat @ ( suc @ M2 ) @ N2 ) ) ) ).
% 0.28/0.47
% 0.28/0.47 % Suc_lessI
% 0.28/0.47 thf(fact_145_less__SucE,axiom,
% 0.28/0.47 ! [M2: nat,N2: nat] :
% 0.28/0.47 ( ( ord_less @ nat @ M2 @ ( suc @ N2 ) )
% 0.28/0.47 => ( ~ ( ord_less @ nat @ M2 @ N2 )
% 0.28/0.47 => ( M2 = N2 ) ) ) ).
% 0.28/0.47
% 0.28/0.47 % less_SucE
% 0.28/0.47 thf(fact_146_less__SucI,axiom,
% 0.28/0.47 ! [M2: nat,N2: nat] :
% 0.28/0.47 ( ( ord_less @ nat @ M2 @ N2 )
% 0.28/0.47 => ( ord_less @ nat @ M2 @ ( suc @ N2 ) ) ) ).
% 0.28/0.47
% 0.28/0.47 % less_SucI
% 0.28/0.47 thf(fact_147_Ex__less__Suc,axiom,
% 0.28/0.47 ! [N2: nat,P2: nat > $o] :
% 0.28/0.47 ( ( ? [I2: nat] :
% 0.28/0.47 ( ( ord_less @ nat @ I2 @ ( suc @ N2 ) )
% 0.28/0.47 & ( P2 @ I2 ) ) )
% 0.28/0.47 = ( ( P2 @ N2 )
% 0.28/0.47 | ? [I2: nat] :
% 0.28/0.47 ( ( ord_less @ nat @ I2 @ N2 )
% 0.28/0.47 & ( P2 @ I2 ) ) ) ) ).
% 0.28/0.47
% 0.28/0.47 % Ex_less_Suc
% 0.28/0.47 thf(fact_148_less__Suc__eq,axiom,
% 0.28/0.47 ! [M2: nat,N2: nat] :
% 0.28/0.47 ( ( ord_less @ nat @ M2 @ ( suc @ N2 ) )
% 0.28/0.47 = ( ( ord_less @ nat @ M2 @ N2 )
% 0.28/0.47 | ( M2 = N2 ) ) ) ).
% 0.28/0.47
% 0.28/0.47 % less_Suc_eq
% 0.28/0.47 thf(fact_149_not__less__eq,axiom,
% 0.28/0.47 ! [M2: nat,N2: nat] :
% 0.28/0.47 ( ( ~ ( ord_less @ nat @ M2 @ N2 ) )
% 0.28/0.47 = ( ord_less @ nat @ N2 @ ( suc @ M2 ) ) ) ).
% 0.28/0.47
% 0.28/0.47 % not_less_eq
% 0.28/0.47 thf(fact_150_All__less__Suc,axiom,
% 0.28/0.47 ! [N2: nat,P2: nat > $o] :
% 0.28/0.47 ( ( ! [I2: nat] :
% 0.28/0.47 ( ( ord_less @ nat @ I2 @ ( suc @ N2 ) )
% 0.28/0.47 => ( P2 @ I2 ) ) )
% 0.28/0.47 = ( ( P2 @ N2 )
% 0.28/0.47 & ! [I2: nat] :
% 0.28/0.47 ( ( ord_less @ nat @ I2 @ N2 )
% 0.28/0.47 => ( P2 @ I2 ) ) ) ) ).
% 0.28/0.47
% 0.28/0.47 % All_less_Suc
% 0.28/0.47 thf(fact_151_Suc__less__eq2,axiom,
% 0.28/0.47 ! [N2: nat,M2: nat] :
% 0.28/0.47 ( ( ord_less @ nat @ ( suc @ N2 ) @ M2 )
% 0.28/0.47 = ( ? [M4: nat] :
% 0.28/0.47 ( ( M2
% 0.28/0.47 = ( suc @ M4 ) )
% 0.28/0.47 & ( ord_less @ nat @ N2 @ M4 ) ) ) ) ).
% 0.28/0.47
% 0.28/0.47 % Suc_less_eq2
% 0.28/0.47 thf(fact_152_less__antisym,axiom,
% 0.28/0.47 ! [N2: nat,M2: nat] :
% 0.28/0.47 ( ~ ( ord_less @ nat @ N2 @ M2 )
% 0.28/0.47 => ( ( ord_less @ nat @ N2 @ ( suc @ M2 ) )
% 0.28/0.47 => ( M2 = N2 ) ) ) ).
% 0.28/0.47
% 0.28/0.47 % less_antisym
% 0.28/0.47 thf(fact_153_Suc__less__SucD,axiom,
% 0.28/0.47 ! [M2: nat,N2: nat] :
% 0.28/0.47 ( ( ord_less @ nat @ ( suc @ M2 ) @ ( suc @ N2 ) )
% 0.28/0.47 => ( ord_less @ nat @ M2 @ N2 ) ) ).
% 0.28/0.47
% 0.28/0.47 % Suc_less_SucD
% 0.28/0.47 thf(fact_154_less__trans__Suc,axiom,
% 0.28/0.47 ! [I: nat,J2: nat,K: nat] :
% 0.28/0.47 ( ( ord_less @ nat @ I @ J2 )
% 0.28/0.47 => ( ( ord_less @ nat @ J2 @ K )
% 0.28/0.47 => ( ord_less @ nat @ ( suc @ I ) @ K ) ) ) ).
% 0.28/0.47
% 0.28/0.47 % less_trans_Suc
% 0.28/0.47 thf(fact_155_less__Suc__induct,axiom,
% 0.28/0.47 ! [I: nat,J2: nat,P2: nat > nat > $o] :
% 0.28/0.47 ( ( ord_less @ nat @ I @ J2 )
% 0.28/0.47 => ( ! [I3: nat] : ( P2 @ I3 @ ( suc @ I3 ) )
% 0.28/0.47 => ( ! [I3: nat,J: nat,K2: nat] :
% 0.28/0.47 ( ( ord_less @ nat @ I3 @ J )
% 0.28/0.47 => ( ( ord_less @ nat @ J @ K2 )
% 0.28/0.47 => ( ( P2 @ I3 @ J )
% 0.28/0.47 => ( ( P2 @ J @ K2 )
% 0.28/0.47 => ( P2 @ I3 @ K2 ) ) ) ) )
% 0.28/0.47 => ( P2 @ I @ J2 ) ) ) ) ).
% 0.28/0.47
% 0.28/0.47 % less_Suc_induct
% 0.28/0.47 thf(fact_156_strict__inc__induct,axiom,
% 0.28/0.47 ! [I: nat,J2: nat,P2: nat > $o] :
% 0.28/0.47 ( ( ord_less @ nat @ I @ J2 )
% 0.28/0.47 => ( ! [I3: nat] :
% 0.28/0.47 ( ( J2
% 0.28/0.47 = ( suc @ I3 ) )
% 0.28/0.47 => ( P2 @ I3 ) )
% 0.28/0.47 => ( ! [I3: nat] :
% 0.28/0.47 ( ( ord_less @ nat @ I3 @ J2 )
% 0.28/0.47 => ( ( P2 @ ( suc @ I3 ) )
% 0.28/0.47 => ( P2 @ I3 ) ) )
% 0.28/0.47 => ( P2 @ I ) ) ) ) ).
% 0.28/0.47
% 0.28/0.47 % strict_inc_induct
% 0.28/0.47 thf(fact_157_not__less__less__Suc__eq,axiom,
% 0.28/0.47 ! [N2: nat,M2: nat] :
% 0.28/0.47 ( ~ ( ord_less @ nat @ N2 @ M2 )
% 0.28/0.47 => ( ( ord_less @ nat @ N2 @ ( suc @ M2 ) )
% 0.28/0.47 = ( N2 = M2 ) ) ) ).
% 0.28/0.47
% 0.28/0.47 % not_less_less_Suc_eq
% 0.28/0.47 thf(fact_158_measure__induct__rule,axiom,
% 0.28/0.47 ! [B: $tType,A: $tType] :
% 0.28/0.47 ( ( wellorder @ B )
% 0.28/0.47 => ! [F2: A > B,P2: A > $o,A8: A] :
% 0.28/0.47 ( ! [X: A] :
% 0.28/0.47 ( ! [Y4: A] :
% 0.28/0.47 ( ( ord_less @ B @ ( F2 @ Y4 ) @ ( F2 @ X ) )
% 0.28/0.47 => ( P2 @ Y4 ) )
% 0.28/0.47 => ( P2 @ X ) )
% 0.28/0.47 => ( P2 @ A8 ) ) ) ).
% 0.28/0.47
% 0.28/0.47 % measure_induct_rule
% 0.28/0.47 thf(fact_159_measure__induct,axiom,
% 0.28/0.47 ! [B: $tType,A: $tType] :
% 0.28/0.47 ( ( wellorder @ B )
% 0.28/0.47 => ! [F2: A > B,P2: A > $o,A8: A] :
% 0.28/0.47 ( ! [X: A] :
% 0.28/0.47 ( ! [Y4: A] :
% 0.28/0.47 ( ( ord_less @ B @ ( F2 @ Y4 ) @ ( F2 @ X ) )
% 0.28/0.47 => ( P2 @ Y4 ) )
% 0.28/0.47 => ( P2 @ X ) )
% 0.28/0.47 => ( P2 @ A8 ) ) ) ).
% 0.28/0.47
% 0.28/0.47 % measure_induct
% 0.28/0.47 thf(fact_160_lift__Suc__mono__less,axiom,
% 0.28/0.47 ! [A: $tType] :
% 0.28/0.47 ( ( order @ A )
% 0.28/0.47 => ! [F2: nat > A,N2: nat,N4: nat] :
% 0.28/0.47 ( ! [N: nat] : ( ord_less @ A @ ( F2 @ N ) @ ( F2 @ ( suc @ N ) ) )
% 0.28/0.47 => ( ( ord_less @ nat @ N2 @ N4 )
% 0.28/0.47 => ( ord_less @ A @ ( F2 @ N2 ) @ ( F2 @ N4 ) ) ) ) ) ).
% 0.28/0.47
% 0.28/0.47 % lift_Suc_mono_less
% 0.28/0.47 thf(fact_161_lift__Suc__mono__less__iff,axiom,
% 0.28/0.47 ! [A: $tType] :
% 0.28/0.47 ( ( order @ A )
% 0.28/0.47 => ! [F2: nat > A,N2: nat,M2: nat] :
% 0.28/0.47 ( ! [N: nat] : ( ord_less @ A @ ( F2 @ N ) @ ( F2 @ ( suc @ N ) ) )
% 0.28/0.47 => ( ( ord_less @ A @ ( F2 @ N2 ) @ ( F2 @ M2 ) )
% 0.28/0.47 = ( ord_less @ nat @ N2 @ M2 ) ) ) ) ).
% 0.28/0.47
% 0.28/0.47 % lift_Suc_mono_less_iff
% 0.28/0.47 thf(fact_162_splice_Osimps_I2_J,axiom,
% 0.28/0.47 ! [A: $tType,X3: A,Xs: list @ A,Ys2: list @ A] :
% 0.28/0.47 ( ( splice @ A @ ( cons @ A @ X3 @ Xs ) @ Ys2 )
% 0.28/0.47 = ( cons @ A @ X3 @ ( splice @ A @ Ys2 @ Xs ) ) ) ).
% 0.28/0.47
% 0.28/0.47 % splice.simps(2)
% 0.28/0.47 thf(fact_163_splice_Osimps_I1_J,axiom,
% 0.28/0.47 ! [A: $tType,Ys2: list @ A] :
% 0.28/0.47 ( ( splice @ A @ ( nil @ A ) @ Ys2 )
% 0.28/0.47 = Ys2 ) ).
% 0.28/0.47
% 0.28/0.47 % splice.simps(1)
% 0.28/0.47 thf(fact_164_less__Suc__eq__0__disj,axiom,
% 0.28/0.47 ! [M2: nat,N2: nat] :
% 0.28/0.47 ( ( ord_less @ nat @ M2 @ ( suc @ N2 ) )
% 0.28/0.47 = ( ( M2
% 0.28/0.47 = ( zero_zero @ nat ) )
% 0.28/0.47 | ? [J3: nat] :
% 0.28/0.47 ( ( M2
% 0.28/0.47 = ( suc @ J3 ) )
% 0.28/0.47 & ( ord_less @ nat @ J3 @ N2 ) ) ) ) ).
% 0.28/0.47
% 0.28/0.47 % less_Suc_eq_0_disj
% 0.28/0.47 thf(fact_165_gr0__implies__Suc,axiom,
% 0.28/0.47 ! [N2: nat] :
% 0.28/0.47 ( ( ord_less @ nat @ ( zero_zero @ nat ) @ N2 )
% 0.28/0.47 => ? [M: nat] :
% 0.28/0.47 ( N2
% 0.28/0.47 = ( suc @ M ) ) ) ).
% 0.28/0.47
% 0.28/0.47 % gr0_implies_Suc
% 0.28/0.47 thf(fact_166_All__less__Suc2,axiom,
% 0.28/0.47 ! [N2: nat,P2: nat > $o] :
% 0.28/0.47 ( ( ! [I2: nat] :
% 0.28/0.47 ( ( ord_less @ nat @ I2 @ ( suc @ N2 ) )
% 0.28/0.47 => ( P2 @ I2 ) ) )
% 0.28/0.47 = ( ( P2 @ ( zero_zero @ nat ) )
% 0.28/0.47 & ! [I2: nat] :
% 0.28/0.47 ( ( ord_less @ nat @ I2 @ N2 )
% 0.28/0.47 => ( P2 @ ( suc @ I2 ) ) ) ) ) ).
% 0.28/0.47
% 0.28/0.47 % All_less_Suc2
% 0.28/0.47 thf(fact_167_gr0__conv__Suc,axiom,
% 0.28/0.47 ! [N2: nat] :
% 0.28/0.47 ( ( ord_less @ nat @ ( zero_zero @ nat ) @ N2 )
% 0.28/0.47 = ( ? [M5: nat] :
% 0.28/0.47 ( N2
% 0.28/0.47 = ( suc @ M5 ) ) ) ) ).
% 0.28/0.47
% 0.28/0.47 % gr0_conv_Suc
% 0.28/0.47 thf(fact_168_Ex__less__Suc2,axiom,
% 0.28/0.47 ! [N2: nat,P2: nat > $o] :
% 0.28/0.47 ( ( ? [I2: nat] :
% 0.28/0.47 ( ( ord_less @ nat @ I2 @ ( suc @ N2 ) )
% 0.28/0.47 & ( P2 @ I2 ) ) )
% 0.28/0.47 = ( ( P2 @ ( zero_zero @ nat ) )
% 0.28/0.47 | ? [I2: nat] :
% 0.28/0.47 ( ( ord_less @ nat @ I2 @ N2 )
% 0.28/0.47 & ( P2 @ ( suc @ I2 ) ) ) ) ) ).
% 0.28/0.47
% 0.28/0.47 % Ex_less_Suc2
% 0.28/0.47 thf(fact_169_lexordp__eq_OCons__eq,axiom,
% 0.28/0.47 ! [A: $tType] :
% 0.28/0.47 ( ( ord @ A )
% 0.28/0.47 => ! [X3: A,Y: A,Xs: list @ A,Ys2: list @ A] :
% 0.28/0.47 ( ~ ( ord_less @ A @ X3 @ Y )
% 0.28/0.47 => ( ~ ( ord_less @ A @ Y @ X3 )
% 0.28/0.47 => ( ( ord_lexordp_eq @ A @ Xs @ Ys2 )
% 0.28/0.47 => ( ord_lexordp_eq @ A @ ( cons @ A @ X3 @ Xs ) @ ( cons @ A @ Y @ Ys2 ) ) ) ) ) ) ).
% 0.28/0.47
% 0.28/0.47 % lexordp_eq.Cons_eq
% 0.28/0.47 thf(fact_170_lexordp__eq_OCons,axiom,
% 0.28/0.47 ! [A: $tType] :
% 0.28/0.47 ( ( ord @ A )
% 0.28/0.47 => ! [X3: A,Y: A,Xs: list @ A,Ys2: list @ A] :
% 0.28/0.47 ( ( ord_less @ A @ X3 @ Y )
% 0.28/0.47 => ( ord_lexordp_eq @ A @ ( cons @ A @ X3 @ Xs ) @ ( cons @ A @ Y @ Ys2 ) ) ) ) ).
% 0.28/0.47
% 0.28/0.47 % lexordp_eq.Cons
% 0.28/0.47 thf(fact_171_of__nat__aux_Osimps_I1_J,axiom,
% 0.28/0.47 ! [A: $tType] :
% 0.28/0.47 ( ( semiring_1 @ A )
% 0.28/0.47 => ! [Inc: A > A,I: A] :
% 0.28/0.47 ( ( semiri532925092at_aux @ A @ Inc @ ( zero_zero @ nat ) @ I )
% 0.28/0.47 = I ) ) ).
% 0.28/0.47
% 0.28/0.47 % of_nat_aux.simps(1)
% 0.28/0.47 thf(fact_172_NatPredicateTippingPoint,axiom,
% 0.28/0.47 ! [N22: nat,Pr: nat > $o] :
% 0.28/0.47 ( ( ord_less @ nat @ ( zero_zero @ nat ) @ N22 )
% 0.28/0.47 => ( ( Pr @ ( zero_zero @ nat ) )
% 0.28/0.47 => ( ~ ( Pr @ N22 )
% 0.28/0.47 => ? [N: nat] :
% 0.28/0.47 ( ( ord_less @ nat @ N @ N22 )
% 0.28/0.47 & ( Pr @ N )
% 0.28/0.47 & ~ ( Pr @ ( suc @ N ) ) ) ) ) ) ).
% 0.28/0.47
% 0.28/0.47 % NatPredicateTippingPoint
% 0.28/0.47 thf(fact_173_less__numeral__extra_I3_J,axiom,
% 0.28/0.47 ! [A: $tType] :
% 0.28/0.47 ( ( linord1659791738miring @ A )
% 0.28/0.47 => ~ ( ord_less @ A @ ( zero_zero @ A ) @ ( zero_zero @ A ) ) ) ).
% 0.28/0.47
% 0.28/0.47 % less_numeral_extra(3)
% 0.28/0.47 thf(fact_174_lexordp_Ocases,axiom,
% 0.28/0.47 ! [A: $tType] :
% 0.28/0.47 ( ( ord @ A )
% 0.28/0.47 => ! [A1: list @ A,A2: list @ A] :
% 0.28/0.47 ( ( ord_lexordp @ A @ A1 @ A2 )
% 0.28/0.47 => ( ( ( A1
% 0.28/0.47 = ( nil @ A ) )
% 0.28/0.47 => ! [Y3: A,Ys3: list @ A] :
% 0.28/0.47 ( A2
% 0.28/0.47 != ( cons @ A @ Y3 @ Ys3 ) ) )
% 0.28/0.47 => ( ! [X: A] :
% 0.28/0.47 ( ? [Xs2: list @ A] :
% 0.28/0.47 ( A1
% 0.28/0.47 = ( cons @ A @ X @ Xs2 ) )
% 0.28/0.47 => ! [Y3: A] :
% 0.28/0.47 ( ? [Ys3: list @ A] :
% 0.28/0.47 ( A2
% 0.28/0.47 = ( cons @ A @ Y3 @ Ys3 ) )
% 0.28/0.47 => ~ ( ord_less @ A @ X @ Y3 ) ) )
% 0.28/0.47 => ~ ! [X: A,Y3: A,Xs2: list @ A] :
% 0.28/0.47 ( ( A1
% 0.28/0.47 = ( cons @ A @ X @ Xs2 ) )
% 0.28/0.47 => ! [Ys3: list @ A] :
% 0.28/0.47 ( ( A2
% 0.28/0.47 = ( cons @ A @ Y3 @ Ys3 ) )
% 0.28/0.47 => ( ~ ( ord_less @ A @ X @ Y3 )
% 0.28/0.47 => ( ~ ( ord_less @ A @ Y3 @ X )
% 0.28/0.47 => ~ ( ord_lexordp @ A @ Xs2 @ Ys3 ) ) ) ) ) ) ) ) ) ).
% 0.28/0.47
% 0.28/0.47 % lexordp.cases
% 0.28/0.47 thf(fact_175_lexordp_Osimps,axiom,
% 0.28/0.47 ! [A: $tType] :
% 0.28/0.47 ( ( ord @ A )
% 0.28/0.47 => ( ( ord_lexordp @ A )
% 0.28/0.47 = ( ^ [A12: list @ A,A22: list @ A] :
% 0.28/0.47 ( ? [Y2: A,Ys: list @ A] :
% 0.28/0.47 ( ( A12
% 0.28/0.47 = ( nil @ A ) )
% 0.28/0.47 & ( A22
% 0.28/0.47 = ( cons @ A @ Y2 @ Ys ) ) )
% 0.28/0.47 | ? [X4: A,Y2: A,Xs3: list @ A,Ys: list @ A] :
% 0.28/0.47 ( ( A12
% 0.28/0.47 = ( cons @ A @ X4 @ Xs3 ) )
% 0.28/0.47 & ( A22
% 0.28/0.47 = ( cons @ A @ Y2 @ Ys ) )
% 0.28/0.47 & ( ord_less @ A @ X4 @ Y2 ) )
% 0.28/0.47 | ? [X4: A,Y2: A,Xs3: list @ A,Ys: list @ A] :
% 0.28/0.47 ( ( A12
% 0.28/0.47 = ( cons @ A @ X4 @ Xs3 ) )
% 0.28/0.47 & ( A22
% 0.28/0.47 = ( cons @ A @ Y2 @ Ys ) )
% 0.28/0.47 & ~ ( ord_less @ A @ X4 @ Y2 )
% 0.28/0.47 & ~ ( ord_less @ A @ Y2 @ X4 )
% 0.28/0.47 & ( ord_lexordp @ A @ Xs3 @ Ys ) ) ) ) ) ) ).
% 0.28/0.47
% 0.28/0.47 % lexordp.simps
% 0.28/0.47 thf(fact_176_lexordp__simps_I2_J,axiom,
% 0.28/0.47 ! [A: $tType] :
% 0.28/0.47 ( ( ord @ A )
% 0.28/0.47 => ! [Xs: list @ A] :
% 0.28/0.47 ~ ( ord_lexordp @ A @ Xs @ ( nil @ A ) ) ) ).
% 0.28/0.47
% 0.28/0.47 % lexordp_simps(2)
% 0.28/0.47 thf(fact_177_lexordp__simps_I1_J,axiom,
% 0.28/0.47 ! [A: $tType] :
% 0.28/0.47 ( ( ord @ A )
% 0.28/0.47 => ! [Ys2: list @ A] :
% 0.28/0.47 ( ( ord_lexordp @ A @ ( nil @ A ) @ Ys2 )
% 0.28/0.47 = ( Ys2
% 0.28/0.47 != ( nil @ A ) ) ) ) ).
% 0.28/0.47
% 0.28/0.47 % lexordp_simps(1)
% 0.28/0.47 thf(fact_178_lexordp__simps_I3_J,axiom,
% 0.28/0.47 ! [A: $tType] :
% 0.28/0.47 ( ( ord @ A )
% 0.28/0.47 => ! [X3: A,Xs: list @ A,Y: A,Ys2: list @ A] :
% 0.28/0.47 ( ( ord_lexordp @ A @ ( cons @ A @ X3 @ Xs ) @ ( cons @ A @ Y @ Ys2 ) )
% 0.28/0.47 = ( ( ord_less @ A @ X3 @ Y )
% 0.28/0.47 | ( ~ ( ord_less @ A @ Y @ X3 )
% 0.28/0.47 & ( ord_lexordp @ A @ Xs @ Ys2 ) ) ) ) ) ).
% 0.28/0.47
% 0.28/0.47 % lexordp_simps(3)
% 0.28/0.47 thf(fact_179_lexordp__irreflexive,axiom,
% 0.28/0.47 ! [A: $tType] :
% 0.28/0.47 ( ( ord @ A )
% 0.28/0.47 => ! [Xs: list @ A] :
% 0.28/0.47 ( ! [X: A] :
% 0.28/0.47 ~ ( ord_less @ A @ X @ X )
% 0.28/0.47 => ~ ( ord_lexordp @ A @ Xs @ Xs ) ) ) ).
% 0.28/0.47
% 0.28/0.47 % lexordp_irreflexive
% 0.28/0.47 thf(fact_180_infinite__descent__measure,axiom,
% 0.28/0.47 ! [A: $tType,P2: A > $o,V2: A > nat,X3: A] :
% 0.28/0.47 ( ! [X: A] :
% 0.28/0.47 ( ~ ( P2 @ X )
% 0.28/0.47 => ? [Y4: A] :
% 0.28/0.47 ( ( ord_less @ nat @ ( V2 @ Y4 ) @ ( V2 @ X ) )
% 0.28/0.47 & ~ ( P2 @ Y4 ) ) )
% 0.28/0.47 => ( P2 @ X3 ) ) ).
% 0.28/0.47
% 0.28/0.47 % infinite_descent_measure
% 0.28/0.47 thf(fact_181_linorder__neqE__nat,axiom,
% 0.28/0.47 ! [X3: nat,Y: nat] :
% 0.28/0.47 ( ( X3 != Y )
% 0.28/0.47 => ( ~ ( ord_less @ nat @ X3 @ Y )
% 0.28/0.47 => ( ord_less @ nat @ Y @ X3 ) ) ) ).
% 0.28/0.47
% 0.28/0.47 % linorder_neqE_nat
% 0.28/0.47 thf(fact_182_infinite__descent,axiom,
% 0.28/0.47 ! [P2: nat > $o,N2: nat] :
% 0.28/0.47 ( ! [N: nat] :
% 0.28/0.47 ( ~ ( P2 @ N )
% 0.28/0.47 => ? [M3: nat] :
% 0.28/0.47 ( ( ord_less @ nat @ M3 @ N )
% 0.28/0.47 & ~ ( P2 @ M3 ) ) )
% 0.28/0.47 => ( P2 @ N2 ) ) ).
% 0.28/0.47
% 0.28/0.47 % infinite_descent
% 0.28/0.47 thf(fact_183_nat__less__induct,axiom,
% 0.28/0.47 ! [P2: nat > $o,N2: nat] :
% 0.28/0.47 ( ! [N: nat] :
% 0.28/0.47 ( ! [M3: nat] :
% 0.28/0.47 ( ( ord_less @ nat @ M3 @ N )
% 0.28/0.47 => ( P2 @ M3 ) )
% 0.28/0.47 => ( P2 @ N ) )
% 0.28/0.47 => ( P2 @ N2 ) ) ).
% 0.28/0.47
% 0.28/0.47 % nat_less_induct
% 0.28/0.47 thf(fact_184_less__irrefl__nat,axiom,
% 0.28/0.47 ! [N2: nat] :
% 0.28/0.47 ~ ( ord_less @ nat @ N2 @ N2 ) ).
% 0.28/0.47
% 0.28/0.47 % less_irrefl_nat
% 0.28/0.47 thf(fact_185_less__not__refl3,axiom,
% 0.28/0.47 ! [S2: nat,T: nat] :
% 0.28/0.47 ( ( ord_less @ nat @ S2 @ T )
% 0.28/0.47 => ( S2 != T ) ) ).
% 0.28/0.47
% 0.28/0.47 % less_not_refl3
% 0.28/0.47 thf(fact_186_less__not__refl2,axiom,
% 0.28/0.47 ! [N2: nat,M2: nat] :
% 0.28/0.47 ( ( ord_less @ nat @ N2 @ M2 )
% 0.28/0.47 => ( M2 != N2 ) ) ).
% 0.28/0.47
% 0.28/0.47 % less_not_refl2
% 0.28/0.47 thf(fact_187_less__not__refl,axiom,
% 0.28/0.47 ! [N2: nat] :
% 0.28/0.47 ~ ( ord_less @ nat @ N2 @ N2 ) ).
% 0.28/0.47
% 0.28/0.47 % less_not_refl
% 0.28/0.47 thf(fact_188_nat__neq__iff,axiom,
% 0.28/0.47 ! [M2: nat,N2: nat] :
% 0.28/0.47 ( ( M2 != N2 )
% 0.28/0.47 = ( ( ord_less @ nat @ M2 @ N2 )
% 0.28/0.47 | ( ord_less @ nat @ N2 @ M2 ) ) ) ).
% 0.28/0.47
% 0.28/0.47 % nat_neq_iff
% 0.28/0.47 thf(fact_189_lexordp__antisym,axiom,
% 0.28/0.47 ! [A: $tType] :
% 0.28/0.47 ( ( order @ A )
% 0.28/0.47 => ! [Xs: list @ A,Ys2: list @ A] :
% 0.28/0.47 ( ( ord_lexordp @ A @ Xs @ Ys2 )
% 0.28/0.47 => ~ ( ord_lexordp @ A @ Ys2 @ Xs ) ) ) ).
% 0.28/0.47
% 0.28/0.47 % lexordp_antisym
% 0.28/0.47 thf(fact_190_lexordp__trans,axiom,
% 0.28/0.47 ! [A: $tType] :
% 0.28/0.47 ( ( linorder @ A )
% 0.28/0.47 => ! [Xs: list @ A,Ys2: list @ A,Zs2: list @ A] :
% 0.28/0.47 ( ( ord_lexordp @ A @ Xs @ Ys2 )
% 0.28/0.47 => ( ( ord_lexordp @ A @ Ys2 @ Zs2 )
% 0.28/0.47 => ( ord_lexordp @ A @ Xs @ Zs2 ) ) ) ) ).
% 0.28/0.47
% 0.28/0.47 % lexordp_trans
% 0.28/0.47 thf(fact_191_lexordp__linear,axiom,
% 0.28/0.47 ! [A: $tType] :
% 0.28/0.47 ( ( linorder @ A )
% 0.28/0.47 => ! [Xs: list @ A,Ys2: list @ A] :
% 0.28/0.47 ( ( ord_lexordp @ A @ Xs @ Ys2 )
% 0.28/0.47 | ( Xs = Ys2 )
% 0.28/0.47 | ( ord_lexordp @ A @ Ys2 @ Xs ) ) ) ).
% 0.28/0.47
% 0.28/0.47 % lexordp_linear
% 0.28/0.47 thf(fact_192_lexordp__irreflexive_H,axiom,
% 0.28/0.47 ! [A: $tType] :
% 0.28/0.47 ( ( order @ A )
% 0.28/0.47 => ! [Xs: list @ A] :
% 0.28/0.47 ~ ( ord_lexordp @ A @ Xs @ Xs ) ) ).
% 0.28/0.47
% 0.28/0.47 % lexordp_irreflexive'
% 0.28/0.47 thf(fact_193_lexordp__into__lexordp__eq,axiom,
% 0.28/0.47 ! [A: $tType] :
% 0.28/0.47 ( ( ord @ A )
% 0.28/0.47 => ! [Xs: list @ A,Ys2: list @ A] :
% 0.28/0.47 ( ( ord_lexordp @ A @ Xs @ Ys2 )
% 0.28/0.47 => ( ord_lexordp_eq @ A @ Xs @ Ys2 ) ) ) ).
% 0.28/0.47
% 0.28/0.47 % lexordp_into_lexordp_eq
% 0.28/0.47 thf(fact_194_lexordp__eq__conv__lexord,axiom,
% 0.28/0.47 ! [A: $tType] :
% 0.28/0.47 ( ( linorder @ A )
% 0.28/0.47 => ( ( ord_lexordp_eq @ A )
% 0.28/0.47 = ( ^ [Xs3: list @ A,Ys: list @ A] :
% 0.28/0.47 ( ( Xs3 = Ys )
% 0.28/0.47 | ( ord_lexordp @ A @ Xs3 @ Ys ) ) ) ) ) ).
% 0.28/0.47
% 0.28/0.47 % lexordp_eq_conv_lexord
% 0.28/0.47 thf(fact_195_lexordp__conv__lexordp__eq,axiom,
% 0.28/0.47 ! [A: $tType] :
% 0.28/0.47 ( ( linorder @ A )
% 0.28/0.47 => ( ( ord_lexordp @ A )
% 0.28/0.47 = ( ^ [Xs3: list @ A,Ys: list @ A] :
% 0.28/0.47 ( ( ord_lexordp_eq @ A @ Xs3 @ Ys )
% 0.28/0.47 & ~ ( ord_lexordp_eq @ A @ Ys @ Xs3 ) ) ) ) ) ).
% 0.28/0.47
% 0.28/0.47 % lexordp_conv_lexordp_eq
% 0.28/0.47 thf(fact_196_lexordp_OCons,axiom,
% 0.28/0.47 ! [A: $tType] :
% 0.28/0.47 ( ( ord @ A )
% 0.28/0.47 => ! [X3: A,Y: A,Xs: list @ A,Ys2: list @ A] :
% 0.28/0.47 ( ( ord_less @ A @ X3 @ Y )
% 0.28/0.47 => ( ord_lexordp @ A @ ( cons @ A @ X3 @ Xs ) @ ( cons @ A @ Y @ Ys2 ) ) ) ) ).
% 0.28/0.47
% 0.28/0.47 % lexordp.Cons
% 0.28/0.47 thf(fact_197_lexordp_OCons__eq,axiom,
% 0.28/0.47 ! [A: $tType] :
% 0.28/0.47 ( ( ord @ A )
% 0.28/0.47 => ! [X3: A,Y: A,Xs: list @ A,Ys2: list @ A] :
% 0.28/0.47 ( ~ ( ord_less @ A @ X3 @ Y )
% 0.28/0.47 => ( ~ ( ord_less @ A @ Y @ X3 )
% 0.28/0.47 => ( ( ord_lexordp @ A @ Xs @ Ys2 )
% 0.28/0.47 => ( ord_lexordp @ A @ ( cons @ A @ X3 @ Xs ) @ ( cons @ A @ Y @ Ys2 ) ) ) ) ) ) ).
% 0.28/0.47
% 0.28/0.47 % lexordp.Cons_eq
% 0.28/0.47 thf(fact_198_lexordp_ONil,axiom,
% 0.28/0.47 ! [A: $tType] :
% 0.28/0.47 ( ( ord @ A )
% 0.28/0.47 => ! [Y: A,Ys2: list @ A] : ( ord_lexordp @ A @ ( nil @ A ) @ ( cons @ A @ Y @ Ys2 ) ) ) ).
% 0.28/0.47
% 0.28/0.47 % lexordp.Nil
% 0.28/0.47 thf(fact_199_lexordp__induct,axiom,
% 0.28/0.47 ! [A: $tType] :
% 0.28/0.47 ( ( linorder @ A )
% 0.28/0.47 => ! [Xs: list @ A,Ys2: list @ A,P2: ( list @ A ) > ( list @ A ) > $o] :
% 0.28/0.47 ( ( ord_lexordp @ A @ Xs @ Ys2 )
% 0.28/0.47 => ( ! [Y3: A,Ys3: list @ A] : ( P2 @ ( nil @ A ) @ ( cons @ A @ Y3 @ Ys3 ) )
% 0.28/0.47 => ( ! [X: A,Xs2: list @ A,Y3: A,Ys3: list @ A] :
% 0.28/0.47 ( ( ord_less @ A @ X @ Y3 )
% 0.28/0.47 => ( P2 @ ( cons @ A @ X @ Xs2 ) @ ( cons @ A @ Y3 @ Ys3 ) ) )
% 0.28/0.47 => ( ! [X: A,Xs2: list @ A,Ys3: list @ A] :
% 0.28/0.47 ( ( ord_lexordp @ A @ Xs2 @ Ys3 )
% 0.28/0.47 => ( ( P2 @ Xs2 @ Ys3 )
% 0.28/0.47 => ( P2 @ ( cons @ A @ X @ Xs2 ) @ ( cons @ A @ X @ Ys3 ) ) ) )
% 0.28/0.47 => ( P2 @ Xs @ Ys2 ) ) ) ) ) ) ).
% 0.28/0.47
% 0.28/0.47 % lexordp_induct
% 0.28/0.47 thf(fact_200_lexordp__cases,axiom,
% 0.28/0.47 ! [A: $tType] :
% 0.28/0.47 ( ( linorder @ A )
% 0.28/0.47 => ! [Xs: list @ A,Ys2: list @ A] :
% 0.28/0.47 ( ( ord_lexordp @ A @ Xs @ Ys2 )
% 0.28/0.47 => ( ( ( Xs
% 0.28/0.47 = ( nil @ A ) )
% 0.28/0.47 => ! [Y3: A,Ys4: list @ A] :
% 0.28/0.47 ( Ys2
% 0.28/0.47 != ( cons @ A @ Y3 @ Ys4 ) ) )
% 0.28/0.47 => ( ! [X: A] :
% 0.28/0.47 ( ? [Xs4: list @ A] :
% 0.28/0.47 ( Xs
% 0.28/0.47 = ( cons @ A @ X @ Xs4 ) )
% 0.28/0.47 => ! [Y3: A] :
% 0.28/0.47 ( ? [Ys4: list @ A] :
% 0.28/0.47 ( Ys2
% 0.28/0.47 = ( cons @ A @ Y3 @ Ys4 ) )
% 0.28/0.47 => ~ ( ord_less @ A @ X @ Y3 ) ) )
% 0.28/0.47 => ~ ! [X: A,Xs4: list @ A] :
% 0.28/0.47 ( ( Xs
% 0.28/0.47 = ( cons @ A @ X @ Xs4 ) )
% 0.28/0.47 => ! [Ys4: list @ A] :
% 0.28/0.47 ( ( Ys2
% 0.28/0.47 = ( cons @ A @ X @ Ys4 ) )
% 0.28/0.47 => ~ ( ord_lexordp @ A @ Xs4 @ Ys4 ) ) ) ) ) ) ) ).
% 0.28/0.47
% 0.28/0.47 % lexordp_cases
% 0.28/0.47 thf(fact_201_lexordp_Oinducts,axiom,
% 0.28/0.47 ! [A: $tType] :
% 0.28/0.47 ( ( ord @ A )
% 0.28/0.47 => ! [X12: list @ A,X23: list @ A,P2: ( list @ A ) > ( list @ A ) > $o] :
% 0.28/0.47 ( ( ord_lexordp @ A @ X12 @ X23 )
% 0.28/0.47 => ( ! [Y3: A,Ys3: list @ A] : ( P2 @ ( nil @ A ) @ ( cons @ A @ Y3 @ Ys3 ) )
% 0.28/0.47 => ( ! [X: A,Y3: A,Xs2: list @ A,Ys3: list @ A] :
% 0.28/0.47 ( ( ord_less @ A @ X @ Y3 )
% 0.28/0.47 => ( P2 @ ( cons @ A @ X @ Xs2 ) @ ( cons @ A @ Y3 @ Ys3 ) ) )
% 0.28/0.47 => ( ! [X: A,Y3: A,Xs2: list @ A,Ys3: list @ A] :
% 0.28/0.47 ( ~ ( ord_less @ A @ X @ Y3 )
% 0.28/0.47 => ( ~ ( ord_less @ A @ Y3 @ X )
% 0.28/0.47 => ( ( ord_lexordp @ A @ Xs2 @ Ys3 )
% 0.28/0.47 => ( ( P2 @ Xs2 @ Ys3 )
% 0.28/0.47 => ( P2 @ ( cons @ A @ X @ Xs2 ) @ ( cons @ A @ Y3 @ Ys3 ) ) ) ) ) )
% 0.28/0.47 => ( P2 @ X12 @ X23 ) ) ) ) ) ) ).
% 0.28/0.47
% 0.28/0.47 % lexordp.inducts
% 0.28/0.47 thf(fact_202_of__nat__0__less__iff,axiom,
% 0.28/0.47 ! [A: $tType] :
% 0.28/0.47 ( ( linord1659791738miring @ A )
% 0.28/0.47 => ! [N2: nat] :
% 0.28/0.47 ( ( ord_less @ A @ ( zero_zero @ A ) @ ( semiring_1_of_nat @ A @ N2 ) )
% 0.28/0.47 = ( ord_less @ nat @ ( zero_zero @ nat ) @ N2 ) ) ) ).
% 0.28/0.47
% 0.28/0.47 % of_nat_0_less_iff
% 0.28/0.47 thf(fact_203_Suc__pred,axiom,
% 0.28/0.47 ! [N2: nat] :
% 0.28/0.47 ( ( ord_less @ nat @ ( zero_zero @ nat ) @ N2 )
% 0.28/0.47 => ( ( suc @ ( minus_minus @ nat @ N2 @ ( suc @ ( zero_zero @ nat ) ) ) )
% 0.28/0.47 = N2 ) ) ).
% 0.28/0.47
% 0.28/0.47 % Suc_pred
% 0.28/0.47 thf(fact_204_length__greater__0__conv,axiom,
% 0.28/0.47 ! [A: $tType,Xs: list @ A] :
% 0.28/0.47 ( ( ord_less @ nat @ ( zero_zero @ nat ) @ ( size_size @ ( list @ A ) @ Xs ) )
% 0.28/0.47 = ( Xs
% 0.28/0.47 != ( nil @ A ) ) ) ).
% 0.28/0.47
% 0.28/0.47 % length_greater_0_conv
% 0.28/0.47 thf(fact_205_of__nat__eq__iff,axiom,
% 0.28/0.47 ! [A: $tType] :
% 0.28/0.47 ( ( semiring_char_0 @ A )
% 0.28/0.47 => ! [M2: nat,N2: nat] :
% 0.28/0.47 ( ( ( semiring_1_of_nat @ A @ M2 )
% 0.28/0.47 = ( semiring_1_of_nat @ A @ N2 ) )
% 0.28/0.47 = ( M2 = N2 ) ) ) ).
% 0.28/0.47
% 0.28/0.47 % of_nat_eq_iff
% 0.28/0.47 thf(fact_206_diff__self,axiom,
% 0.28/0.47 ! [A: $tType] :
% 0.28/0.47 ( ( group_add @ A )
% 0.28/0.47 => ! [A8: A] :
% 0.28/0.47 ( ( minus_minus @ A @ A8 @ A8 )
% 0.28/0.47 = ( zero_zero @ A ) ) ) ).
% 0.28/0.47
% 0.28/0.47 % diff_self
% 0.28/0.47 thf(fact_207_diff__0__right,axiom,
% 0.28/0.47 ! [A: $tType] :
% 0.28/0.47 ( ( group_add @ A )
% 0.28/0.47 => ! [A8: A] :
% 0.28/0.47 ( ( minus_minus @ A @ A8 @ ( zero_zero @ A ) )
% 0.28/0.47 = A8 ) ) ).
% 0.28/0.47
% 0.28/0.47 % diff_0_right
% 0.28/0.47 thf(fact_208_zero__diff,axiom,
% 0.28/0.47 ! [A: $tType] :
% 0.28/0.47 ( ( comm_monoid_diff @ A )
% 0.28/0.47 => ! [A8: A] :
% 0.28/0.47 ( ( minus_minus @ A @ ( zero_zero @ A ) @ A8 )
% 0.28/0.47 = ( zero_zero @ A ) ) ) ).
% 0.28/0.47
% 0.28/0.47 % zero_diff
% 0.28/0.47 thf(fact_209_diff__zero,axiom,
% 0.28/0.47 ! [A: $tType] :
% 0.28/0.47 ( ( cancel1352612707id_add @ A )
% 0.28/0.47 => ! [A8: A] :
% 0.28/0.47 ( ( minus_minus @ A @ A8 @ ( zero_zero @ A ) )
% 0.28/0.47 = A8 ) ) ).
% 0.28/0.47
% 0.28/0.47 % diff_zero
% 0.28/0.47 thf(fact_210_cancel__comm__monoid__add__class_Odiff__cancel,axiom,
% 0.28/0.47 ! [A: $tType] :
% 0.28/0.47 ( ( cancel1352612707id_add @ A )
% 0.28/0.47 => ! [A8: A] :
% 0.28/0.47 ( ( minus_minus @ A @ A8 @ A8 )
% 0.28/0.47 = ( zero_zero @ A ) ) ) ).
% 0.28/0.47
% 0.28/0.47 % cancel_comm_monoid_add_class.diff_cancel
% 0.28/0.47 thf(fact_211_diff__0__eq__0,axiom,
% 0.28/0.47 ! [N2: nat] :
% 0.28/0.47 ( ( minus_minus @ nat @ ( zero_zero @ nat ) @ N2 )
% 0.28/0.47 = ( zero_zero @ nat ) ) ).
% 0.28/0.47
% 0.28/0.47 % diff_0_eq_0
% 0.28/0.47 thf(fact_212_diff__self__eq__0,axiom,
% 0.28/0.47 ! [M2: nat] :
% 0.28/0.47 ( ( minus_minus @ nat @ M2 @ M2 )
% 0.28/0.47 = ( zero_zero @ nat ) ) ).
% 0.28/0.47
% 0.28/0.47 % diff_self_eq_0
% 0.28/0.47 thf(fact_213_Suc__diff__diff,axiom,
% 0.28/0.47 ! [M2: nat,N2: nat,K: nat] :
% 0.28/0.47 ( ( minus_minus @ nat @ ( minus_minus @ nat @ ( suc @ M2 ) @ N2 ) @ ( suc @ K ) )
% 0.28/0.47 = ( minus_minus @ nat @ ( minus_minus @ nat @ M2 @ N2 ) @ K ) ) ).
% 0.28/0.47
% 0.28/0.47 % Suc_diff_diff
% 0.28/0.47 thf(fact_214_diff__Suc__Suc,axiom,
% 0.28/0.47 ! [M2: nat,N2: nat] :
% 0.28/0.47 ( ( minus_minus @ nat @ ( suc @ M2 ) @ ( suc @ N2 ) )
% 0.28/0.47 = ( minus_minus @ nat @ M2 @ N2 ) ) ).
% 0.28/0.47
% 0.28/0.47 % diff_Suc_Suc
% 0.28/0.47 thf(fact_215_diff__gt__0__iff__gt,axiom,
% 0.28/0.47 ! [A: $tType] :
% 0.28/0.47 ( ( ordered_ab_group_add @ A )
% 0.28/0.47 => ! [A8: A,B2: A] :
% 0.28/0.47 ( ( ord_less @ A @ ( zero_zero @ A ) @ ( minus_minus @ A @ A8 @ B2 ) )
% 0.28/0.47 = ( ord_less @ A @ B2 @ A8 ) ) ) ).
% 0.28/0.47
% 0.28/0.47 % diff_gt_0_iff_gt
% 0.28/0.47 thf(fact_216_of__nat__eq__0__iff,axiom,
% 0.28/0.47 ! [A: $tType] :
% 0.28/0.47 ( ( semiring_char_0 @ A )
% 0.28/0.47 => ! [M2: nat] :
% 0.28/0.47 ( ( ( semiring_1_of_nat @ A @ M2 )
% 0.28/0.47 = ( zero_zero @ A ) )
% 0.28/0.47 = ( M2
% 0.28/0.47 = ( zero_zero @ nat ) ) ) ) ).
% 0.28/0.47
% 0.28/0.47 % of_nat_eq_0_iff
% 0.28/0.47 thf(fact_217_of__nat__0__eq__iff,axiom,
% 0.28/0.47 ! [A: $tType] :
% 0.28/0.47 ( ( semiring_char_0 @ A )
% 0.28/0.47 => ! [N2: nat] :
% 0.28/0.47 ( ( ( zero_zero @ A )
% 0.28/0.47 = ( semiring_1_of_nat @ A @ N2 ) )
% 0.28/0.47 = ( ( zero_zero @ nat )
% 0.28/0.47 = N2 ) ) ) ).
% 0.28/0.47
% 0.28/0.47 % of_nat_0_eq_iff
% 0.28/0.47 thf(fact_218_of__nat__0,axiom,
% 0.28/0.47 ! [A: $tType] :
% 0.28/0.47 ( ( semiring_1 @ A )
% 0.28/0.47 => ( ( semiring_1_of_nat @ A @ ( zero_zero @ nat ) )
% 0.28/0.47 = ( zero_zero @ A ) ) ) ).
% 0.28/0.47
% 0.28/0.47 % of_nat_0
% 0.28/0.47 thf(fact_219_of__nat__less__iff,axiom,
% 0.28/0.47 ! [A: $tType] :
% 0.28/0.47 ( ( linord1659791738miring @ A )
% 0.28/0.47 => ! [M2: nat,N2: nat] :
% 0.28/0.47 ( ( ord_less @ A @ ( semiring_1_of_nat @ A @ M2 ) @ ( semiring_1_of_nat @ A @ N2 ) )
% 0.28/0.47 = ( ord_less @ nat @ M2 @ N2 ) ) ) ).
% 0.28/0.47
% 0.28/0.47 % of_nat_less_iff
% 0.28/0.47 thf(fact_220_length__0__conv,axiom,
% 0.28/0.47 ! [A: $tType,Xs: list @ A] :
% 0.28/0.47 ( ( ( size_size @ ( list @ A ) @ Xs )
% 0.28/0.47 = ( zero_zero @ nat ) )
% 0.28/0.47 = ( Xs
% 0.28/0.47 = ( nil @ A ) ) ) ).
% 0.28/0.47
% 0.28/0.47 % length_0_conv
% 0.28/0.47 thf(fact_221_zero__less__diff,axiom,
% 0.28/0.47 ! [N2: nat,M2: nat] :
% 0.28/0.47 ( ( ord_less @ nat @ ( zero_zero @ nat ) @ ( minus_minus @ nat @ N2 @ M2 ) )
% 0.28/0.47 = ( ord_less @ nat @ M2 @ N2 ) ) ).
% 0.28/0.47
% 0.28/0.47 % zero_less_diff
% 0.28/0.47 thf(fact_222_diff__strict__right__mono,axiom,
% 0.28/0.47 ! [A: $tType] :
% 0.28/0.47 ( ( ordered_ab_group_add @ A )
% 0.28/0.47 => ! [A8: A,B2: A,C: A] :
% 0.28/0.47 ( ( ord_less @ A @ A8 @ B2 )
% 0.28/0.47 => ( ord_less @ A @ ( minus_minus @ A @ A8 @ C ) @ ( minus_minus @ A @ B2 @ C ) ) ) ) ).
% 0.28/0.47
% 0.28/0.47 % diff_strict_right_mono
% 0.28/0.47 thf(fact_223_diff__strict__left__mono,axiom,
% 0.28/0.47 ! [A: $tType] :
% 0.28/0.47 ( ( ordered_ab_group_add @ A )
% 0.28/0.47 => ! [B2: A,A8: A,C: A] :
% 0.28/0.47 ( ( ord_less @ A @ B2 @ A8 )
% 0.28/0.47 => ( ord_less @ A @ ( minus_minus @ A @ C @ A8 ) @ ( minus_minus @ A @ C @ B2 ) ) ) ) ).
% 0.28/0.47
% 0.28/0.47 % diff_strict_left_mono
% 0.28/0.47 thf(fact_224_diff__eq__diff__less,axiom,
% 0.28/0.47 ! [A: $tType] :
% 0.28/0.47 ( ( ordered_ab_group_add @ A )
% 0.28/0.47 => ! [A8: A,B2: A,C: A,D: A] :
% 0.28/0.47 ( ( ( minus_minus @ A @ A8 @ B2 )
% 0.28/0.47 = ( minus_minus @ A @ C @ D ) )
% 0.28/0.47 => ( ( ord_less @ A @ A8 @ B2 )
% 0.28/0.47 = ( ord_less @ A @ C @ D ) ) ) ) ).
% 0.28/0.47
% 0.28/0.47 % diff_eq_diff_less
% 0.28/0.47 thf(fact_225_diff__strict__mono,axiom,
% 0.28/0.47 ! [A: $tType] :
% 0.28/0.47 ( ( ordered_ab_group_add @ A )
% 0.28/0.47 => ! [A8: A,B2: A,D: A,C: A] :
% 0.28/0.47 ( ( ord_less @ A @ A8 @ B2 )
% 0.28/0.47 => ( ( ord_less @ A @ D @ C )
% 0.28/0.47 => ( ord_less @ A @ ( minus_minus @ A @ A8 @ C ) @ ( minus_minus @ A @ B2 @ D ) ) ) ) ) ).
% 0.28/0.47
% 0.28/0.47 % diff_strict_mono
% 0.28/0.47 thf(fact_226_length__induct,axiom,
% 0.28/0.47 ! [A: $tType,P2: ( list @ A ) > $o,Xs: list @ A] :
% 0.28/0.47 ( ! [Xs2: list @ A] :
% 0.28/0.47 ( ! [Ys5: list @ A] :
% 0.28/0.47 ( ( ord_less @ nat @ ( size_size @ ( list @ A ) @ Ys5 ) @ ( size_size @ ( list @ A ) @ Xs2 ) )
% 0.28/0.47 => ( P2 @ Ys5 ) )
% 0.28/0.47 => ( P2 @ Xs2 ) )
% 0.28/0.47 => ( P2 @ Xs ) ) ).
% 0.28/0.47
% 0.28/0.47 % length_induct
% 0.28/0.47 thf(fact_227_diff__less,axiom,
% 0.28/0.47 ! [N2: nat,M2: nat] :
% 0.28/0.47 ( ( ord_less @ nat @ ( zero_zero @ nat ) @ N2 )
% 0.28/0.47 => ( ( ord_less @ nat @ ( zero_zero @ nat ) @ M2 )
% 0.28/0.47 => ( ord_less @ nat @ ( minus_minus @ nat @ M2 @ N2 ) @ M2 ) ) ) ).
% 0.28/0.47
% 0.28/0.47 % diff_less
% 0.28/0.47 thf(fact_228_of__nat__less__imp__less,axiom,
% 0.28/0.47 ! [A: $tType] :
% 0.28/0.47 ( ( linord1659791738miring @ A )
% 0.28/0.47 => ! [M2: nat,N2: nat] :
% 0.28/0.47 ( ( ord_less @ A @ ( semiring_1_of_nat @ A @ M2 ) @ ( semiring_1_of_nat @ A @ N2 ) )
% 0.28/0.47 => ( ord_less @ nat @ M2 @ N2 ) ) ) ).
% 0.28/0.47
% 0.28/0.47 % of_nat_less_imp_less
% 0.28/0.47 thf(fact_229_less__imp__of__nat__less,axiom,
% 0.28/0.47 ! [A: $tType] :
% 0.28/0.47 ( ( linord1659791738miring @ A )
% 0.28/0.47 => ! [M2: nat,N2: nat] :
% 0.28/0.47 ( ( ord_less @ nat @ M2 @ N2 )
% 0.28/0.47 => ( ord_less @ A @ ( semiring_1_of_nat @ A @ M2 ) @ ( semiring_1_of_nat @ A @ N2 ) ) ) ) ).
% 0.28/0.47
% 0.28/0.47 % less_imp_of_nat_less
% 0.28/0.47 thf(fact_230_less__imp__diff__less,axiom,
% 0.28/0.47 ! [J2: nat,K: nat,N2: nat] :
% 0.28/0.47 ( ( ord_less @ nat @ J2 @ K )
% 0.28/0.47 => ( ord_less @ nat @ ( minus_minus @ nat @ J2 @ N2 ) @ K ) ) ).
% 0.28/0.47
% 0.28/0.47 % less_imp_diff_less
% 0.28/0.47 thf(fact_231_diff__less__mono2,axiom,
% 0.28/0.47 ! [M2: nat,N2: nat,L: nat] :
% 0.28/0.47 ( ( ord_less @ nat @ M2 @ N2 )
% 0.28/0.47 => ( ( ord_less @ nat @ M2 @ L )
% 0.28/0.47 => ( ord_less @ nat @ ( minus_minus @ nat @ L @ N2 ) @ ( minus_minus @ nat @ L @ M2 ) ) ) ) ).
% 0.28/0.47
% 0.28/0.47 % diff_less_mono2
% 0.28/0.47 thf(fact_232_Suc__diff__Suc,axiom,
% 0.28/0.47 ! [N2: nat,M2: nat] :
% 0.28/0.47 ( ( ord_less @ nat @ N2 @ M2 )
% 0.28/0.47 => ( ( suc @ ( minus_minus @ nat @ M2 @ ( suc @ N2 ) ) )
% 0.28/0.47 = ( minus_minus @ nat @ M2 @ N2 ) ) ) ).
% 0.28/0.47
% 0.28/0.47 % Suc_diff_Suc
% 0.28/0.47 thf(fact_233_diff__less__Suc,axiom,
% 0.28/0.47 ! [M2: nat,N2: nat] : ( ord_less @ nat @ ( minus_minus @ nat @ M2 @ N2 ) @ ( suc @ M2 ) ) ).
% 0.28/0.47
% 0.28/0.47 % diff_less_Suc
% 0.28/0.47 thf(fact_234_of__nat__less__0__iff,axiom,
% 0.28/0.47 ! [A: $tType] :
% 0.28/0.47 ( ( linord1659791738miring @ A )
% 0.28/0.47 => ! [M2: nat] :
% 0.28/0.47 ~ ( ord_less @ A @ ( semiring_1_of_nat @ A @ M2 ) @ ( zero_zero @ A ) ) ) ).
% 0.28/0.47
% 0.28/0.47 % of_nat_less_0_iff
% 0.28/0.47 thf(fact_235_less__iff__diff__less__0,axiom,
% 0.28/0.47 ! [A: $tType] :
% 0.28/0.47 ( ( ordered_ab_group_add @ A )
% 0.28/0.47 => ( ( ord_less @ A )
% 0.28/0.47 = ( ^ [A9: A,B3: A] : ( ord_less @ A @ ( minus_minus @ A @ A9 @ B3 ) @ ( zero_zero @ A ) ) ) ) ) ).
% 0.28/0.47
% 0.28/0.47 % less_iff_diff_less_0
% 0.28/0.47 thf(fact_236_of__nat__neq__0,axiom,
% 0.28/0.47 ! [A: $tType] :
% 0.28/0.47 ( ( semiring_char_0 @ A )
% 0.28/0.47 => ! [N2: nat] :
% 0.28/0.47 ( ( semiring_1_of_nat @ A @ ( suc @ N2 ) )
% 0.28/0.47 != ( zero_zero @ A ) ) ) ).
% 0.28/0.47
% 0.28/0.47 % of_nat_neq_0
% 0.28/0.47 thf(fact_237_length__Suc__conv,axiom,
% 0.28/0.47 ! [A: $tType,Xs: list @ A,N2: nat] :
% 0.28/0.47 ( ( ( size_size @ ( list @ A ) @ Xs )
% 0.28/0.47 = ( suc @ N2 ) )
% 0.28/0.47 = ( ? [Y2: A,Ys: list @ A] :
% 0.28/0.47 ( ( Xs
% 0.28/0.47 = ( cons @ A @ Y2 @ Ys ) )
% 0.28/0.47 & ( ( size_size @ ( list @ A ) @ Ys )
% 0.28/0.47 = N2 ) ) ) ) ).
% 0.28/0.47
% 0.28/0.47 % length_Suc_conv
% 0.28/0.47 thf(fact_238_Suc__length__conv,axiom,
% 0.28/0.47 ! [A: $tType,N2: nat,Xs: list @ A] :
% 0.28/0.47 ( ( ( suc @ N2 )
% 0.28/0.47 = ( size_size @ ( list @ A ) @ Xs ) )
% 0.28/0.47 = ( ? [Y2: A,Ys: list @ A] :
% 0.28/0.47 ( ( Xs
% 0.28/0.47 = ( cons @ A @ Y2 @ Ys ) )
% 0.28/0.47 & ( ( size_size @ ( list @ A ) @ Ys )
% 0.28/0.47 = N2 ) ) ) ) ).
% 0.28/0.47
% 0.28/0.47 % Suc_length_conv
% 0.28/0.47 thf(fact_239_list_Osize_I3_J,axiom,
% 0.28/0.47 ! [A: $tType] :
% 0.28/0.47 ( ( size_size @ ( list @ A ) @ ( nil @ A ) )
% 0.28/0.47 = ( zero_zero @ nat ) ) ).
% 0.28/0.47
% 0.28/0.47 % list.size(3)
% 0.28/0.47 thf(fact_240_list__induct2,axiom,
% 0.28/0.47 ! [A: $tType,B: $tType,Xs: list @ A,Ys2: list @ B,P2: ( list @ A ) > ( list @ B ) > $o] :
% 0.28/0.47 ( ( ( size_size @ ( list @ A ) @ Xs )
% 0.28/0.47 = ( size_size @ ( list @ B ) @ Ys2 ) )
% 0.28/0.47 => ( ( P2 @ ( nil @ A ) @ ( nil @ B ) )
% 0.28/0.47 => ( ! [X: A,Xs2: list @ A,Y3: B,Ys3: list @ B] :
% 0.28/0.47 ( ( ( size_size @ ( list @ A ) @ Xs2 )
% 0.28/0.47 = ( size_size @ ( list @ B ) @ Ys3 ) )
% 0.28/0.47 => ( ( P2 @ Xs2 @ Ys3 )
% 0.28/0.47 => ( P2 @ ( cons @ A @ X @ Xs2 ) @ ( cons @ B @ Y3 @ Ys3 ) ) ) )
% 0.28/0.47 => ( P2 @ Xs @ Ys2 ) ) ) ) ).
% 0.28/0.47
% 0.28/0.47 % list_induct2
% 0.28/0.47 thf(fact_241_list__induct3,axiom,
% 0.28/0.47 ! [B: $tType,A: $tType,C2: $tType,Xs: list @ A,Ys2: list @ B,Zs2: list @ C2,P2: ( list @ A ) > ( list @ B ) > ( list @ C2 ) > $o] :
% 0.28/0.47 ( ( ( size_size @ ( list @ A ) @ Xs )
% 0.28/0.47 = ( size_size @ ( list @ B ) @ Ys2 ) )
% 0.28/0.47 => ( ( ( size_size @ ( list @ B ) @ Ys2 )
% 0.28/0.47 = ( size_size @ ( list @ C2 ) @ Zs2 ) )
% 0.28/0.47 => ( ( P2 @ ( nil @ A ) @ ( nil @ B ) @ ( nil @ C2 ) )
% 0.28/0.47 => ( ! [X: A,Xs2: list @ A,Y3: B,Ys3: list @ B,Z: C2,Zs: list @ C2] :
% 0.28/0.47 ( ( ( size_size @ ( list @ A ) @ Xs2 )
% 0.28/0.47 = ( size_size @ ( list @ B ) @ Ys3 ) )
% 0.28/0.47 => ( ( ( size_size @ ( list @ B ) @ Ys3 )
% 0.28/0.47 = ( size_size @ ( list @ C2 ) @ Zs ) )
% 0.28/0.47 => ( ( P2 @ Xs2 @ Ys3 @ Zs )
% 0.28/0.47 => ( P2 @ ( cons @ A @ X @ Xs2 ) @ ( cons @ B @ Y3 @ Ys3 ) @ ( cons @ C2 @ Z @ Zs ) ) ) ) )
% 0.28/0.47 => ( P2 @ Xs @ Ys2 @ Zs2 ) ) ) ) ) ).
% 0.28/0.47
% 0.28/0.47 % list_induct3
% 0.28/0.47 thf(fact_242_eq__iff__diff__eq__0,axiom,
% 0.28/0.47 ! [A: $tType] :
% 0.28/0.47 ( ( group_add @ A )
% 0.28/0.47 => ( ( ^ [Y5: A,Z2: A] : ( Y5 = Z2 ) )
% 0.28/0.47 = ( ^ [A9: A,B3: A] :
% 0.28/0.47 ( ( minus_minus @ A @ A9 @ B3 )
% 0.28/0.47 = ( zero_zero @ A ) ) ) ) ) ).
% 0.28/0.47
% 0.28/0.47 % eq_iff_diff_eq_0
% 0.28/0.47 thf(fact_243_minus__nat_Odiff__0,axiom,
% 0.28/0.47 ! [M2: nat] :
% 0.28/0.47 ( ( minus_minus @ nat @ M2 @ ( zero_zero @ nat ) )
% 0.28/0.47 = M2 ) ).
% 0.28/0.47
% 0.28/0.47 % minus_nat.diff_0
% 0.28/0.47 thf(fact_244_diffs0__imp__equal,axiom,
% 0.28/0.47 ! [M2: nat,N2: nat] :
% 0.28/0.47 ( ( ( minus_minus @ nat @ M2 @ N2 )
% 0.28/0.47 = ( zero_zero @ nat ) )
% 0.28/0.47 => ( ( ( minus_minus @ nat @ N2 @ M2 )
% 0.28/0.47 = ( zero_zero @ nat ) )
% 0.28/0.47 => ( M2 = N2 ) ) ) ).
% 0.28/0.47
% 0.28/0.47 % diffs0_imp_equal
% 0.28/0.47 thf(fact_245_zero__induct__lemma,axiom,
% 0.28/0.47 ! [P2: nat > $o,K: nat,I: nat] :
% 0.28/0.47 ( ( P2 @ K )
% 0.28/0.47 => ( ! [N: nat] :
% 0.28/0.47 ( ( P2 @ ( suc @ N ) )
% 0.28/0.47 => ( P2 @ N ) )
% 0.28/0.47 => ( P2 @ ( minus_minus @ nat @ K @ I ) ) ) ) ).
% 0.28/0.47
% 0.28/0.47 % zero_induct_lemma
% 0.28/0.47 thf(fact_246_size__neq__size__imp__neq,axiom,
% 0.28/0.47 ! [A: $tType] :
% 0.28/0.47 ( ( size @ A )
% 0.28/0.47 => ! [X3: A,Y: A] :
% 0.28/0.47 ( ( ( size_size @ A @ X3 )
% 0.28/0.47 != ( size_size @ A @ Y ) )
% 0.28/0.47 => ( X3 != Y ) ) ) ).
% 0.28/0.47
% 0.28/0.47 % size_neq_size_imp_neq
% 0.28/0.47 thf(fact_247_diff__right__commute,axiom,
% 0.28/0.47 ! [A: $tType] :
% 0.28/0.47 ( ( cancel146912293up_add @ A )
% 0.28/0.47 => ! [A8: A,C: A,B2: A] :
% 0.28/0.47 ( ( minus_minus @ A @ ( minus_minus @ A @ A8 @ C ) @ B2 )
% 0.28/0.47 = ( minus_minus @ A @ ( minus_minus @ A @ A8 @ B2 ) @ C ) ) ) ).
% 0.28/0.47
% 0.28/0.47 % diff_right_commute
% 0.28/0.47 thf(fact_248_diff__eq__diff__eq,axiom,
% 0.28/0.47 ! [A: $tType] :
% 0.28/0.47 ( ( group_add @ A )
% 0.28/0.47 => ! [A8: A,B2: A,C: A,D: A] :
% 0.28/0.47 ( ( ( minus_minus @ A @ A8 @ B2 )
% 0.28/0.47 = ( minus_minus @ A @ C @ D ) )
% 0.28/0.47 => ( ( A8 = B2 )
% 0.28/0.47 = ( C = D ) ) ) ) ).
% 0.28/0.47
% 0.28/0.47 % diff_eq_diff_eq
% 0.28/0.47 thf(fact_249_neq__if__length__neq,axiom,
% 0.28/0.47 ! [A: $tType,Xs: list @ A,Ys2: list @ A] :
% 0.28/0.47 ( ( ( size_size @ ( list @ A ) @ Xs )
% 0.28/0.47 != ( size_size @ ( list @ A ) @ Ys2 ) )
% 0.28/0.47 => ( Xs != Ys2 ) ) ).
% 0.28/0.47
% 0.28/0.47 % neq_if_length_neq
% 0.28/0.47 thf(fact_250_Ex__list__of__length,axiom,
% 0.28/0.47 ! [A: $tType,N2: nat] :
% 0.28/0.47 ? [Xs2: list @ A] :
% 0.28/0.47 ( ( size_size @ ( list @ A ) @ Xs2 )
% 0.28/0.47 = N2 ) ).
% 0.28/0.47
% 0.28/0.47 % Ex_list_of_length
% 0.28/0.47 thf(fact_251_diff__commute,axiom,
% 0.28/0.47 ! [I: nat,J2: nat,K: nat] :
% 0.28/0.47 ( ( minus_minus @ nat @ ( minus_minus @ nat @ I @ J2 ) @ K )
% 0.28/0.47 = ( minus_minus @ nat @ ( minus_minus @ nat @ I @ K ) @ J2 ) ) ).
% 0.28/0.47
% 0.28/0.47 % diff_commute
% 0.28/0.47
% 0.28/0.47 % Type constructors (26)
% 0.28/0.47 thf(tcon_fun___Orderings_Oorder,axiom,
% 0.28/0.47 ! [A10: $tType,A11: $tType] :
% 0.28/0.47 ( ( order @ A11 )
% 0.28/0.47 => ( order @ ( A10 > A11 ) ) ) ).
% 0.28/0.47
% 0.28/0.47 thf(tcon_fun___Orderings_Oord,axiom,
% 0.28/0.47 ! [A10: $tType,A11: $tType] :
% 0.28/0.47 ( ( ord @ A11 )
% 0.28/0.47 => ( ord @ ( A10 > A11 ) ) ) ).
% 0.28/0.47
% 0.28/0.47 thf(tcon_Nat_Onat___Groups_Ocanonically__ordered__monoid__add,axiom,
% 0.28/0.47 canoni770627133id_add @ nat ).
% 0.28/0.47
% 0.28/0.47 thf(tcon_Nat_Onat___Rings_Olinordered__nonzero__semiring,axiom,
% 0.28/0.47 linord1659791738miring @ nat ).
% 0.28/0.47
% 0.28/0.47 thf(tcon_Nat_Onat___Groups_Ocancel__ab__semigroup__add,axiom,
% 0.28/0.47 cancel146912293up_add @ nat ).
% 0.28/0.47
% 0.28/0.47 thf(tcon_Nat_Onat___Groups_Ocancel__comm__monoid__add,axiom,
% 0.28/0.47 cancel1352612707id_add @ nat ).
% 0.28/0.47
% 0.28/0.47 thf(tcon_Nat_Onat___Groups_Ocomm__monoid__diff,axiom,
% 0.28/0.47 comm_monoid_diff @ nat ).
% 0.28/0.47
% 0.28/0.47 thf(tcon_Nat_Onat___Orderings_Owellorder,axiom,
% 0.28/0.47 wellorder @ nat ).
% 0.28/0.47
% 0.28/0.47 thf(tcon_Nat_Onat___Nat_Osemiring__char__0,axiom,
% 0.28/0.47 semiring_char_0 @ nat ).
% 0.28/0.47
% 0.28/0.47 thf(tcon_Nat_Onat___Orderings_Olinorder,axiom,
% 0.28/0.47 linorder @ nat ).
% 0.28/0.47
% 0.28/0.47 thf(tcon_Nat_Onat___Rings_Osemiring__1,axiom,
% 0.28/0.47 semiring_1 @ nat ).
% 0.28/0.47
% 0.28/0.47 thf(tcon_Nat_Onat___Orderings_Oorder_1,axiom,
% 0.28/0.47 order @ nat ).
% 0.28/0.47
% 0.28/0.47 thf(tcon_Nat_Onat___Orderings_Oord_2,axiom,
% 0.28/0.47 ord @ nat ).
% 0.28/0.47
% 0.28/0.47 thf(tcon_Nat_Onat___Groups_Ozero,axiom,
% 0.28/0.47 zero @ nat ).
% 0.28/0.47
% 0.28/0.47 thf(tcon_Nat_Onat___Nat_Osize,axiom,
% 0.28/0.47 size @ nat ).
% 0.28/0.47
% 0.28/0.47 thf(tcon_Set_Oset___Orderings_Oorder_3,axiom,
% 0.28/0.47 ! [A10: $tType] : ( order @ ( set @ A10 ) ) ).
% 0.28/0.47
% 0.28/0.47 thf(tcon_Set_Oset___Orderings_Oord_4,axiom,
% 0.28/0.47 ! [A10: $tType] : ( ord @ ( set @ A10 ) ) ).
% 0.28/0.47
% 0.28/0.47 thf(tcon_HOL_Obool___Orderings_Olinorder_5,axiom,
% 0.28/0.47 linorder @ $o ).
% 0.28/0.47
% 0.28/0.47 thf(tcon_HOL_Obool___Orderings_Oorder_6,axiom,
% 0.28/0.47 order @ $o ).
% 0.28/0.47
% 0.28/0.47 thf(tcon_HOL_Obool___Orderings_Oord_7,axiom,
% 0.28/0.47 ord @ $o ).
% 0.28/0.47
% 0.28/0.47 thf(tcon_List_Olist___Nat_Osize_8,axiom,
% 0.28/0.47 ! [A10: $tType] : ( size @ ( list @ A10 ) ) ).
% 0.28/0.47
% 0.28/0.47 thf(tcon_Product__Type_Ounit___Orderings_Owellorder_9,axiom,
% 0.28/0.47 wellorder @ product_unit ).
% 0.28/0.47
% 0.28/0.47 thf(tcon_Product__Type_Ounit___Orderings_Olinorder_10,axiom,
% 0.28/0.47 linorder @ product_unit ).
% 0.28/0.47
% 0.28/0.47 thf(tcon_Product__Type_Ounit___Orderings_Oorder_11,axiom,
% 0.28/0.47 order @ product_unit ).
% 0.28/0.47
% 0.28/0.47 thf(tcon_Product__Type_Ounit___Orderings_Oord_12,axiom,
% 0.28/0.47 ord @ product_unit ).
% 0.28/0.47
% 0.28/0.47 thf(tcon_AsynchronousSystem_Omessage___Nat_Osize_13,axiom,
% 0.28/0.47 ! [A10: $tType,A11: $tType] : ( size @ ( message @ A10 @ A11 ) ) ).
% 0.28/0.47
% 0.28/0.47 % Conjectures (1)
% 0.28/0.47 thf(conj_0,conjecture,
% 0.28/0.47 ( ( fe @ ( zero_zero @ nat ) )
% 0.28/0.47 = ( cons @ ( configuration_ext @ p @ v @ s @ product_unit ) @ cfg @ ( nil @ ( configuration_ext @ p @ v @ s @ product_unit ) ) ) ) ).
% 0.28/0.47
% 0.28/0.47 %------------------------------------------------------------------------------
% 0.28/0.47 ------------------------
% 2.77/1.73 ---- Embedded in THF ---
% 2.77/1.73 %%% This output was generated by embedproblem, version 1.9.5 (library version 1.9).
% 2.77/1.73 %%% Generated on Tue Feb 24 08:24:34 EST 2026
% 2.77/1.73 %%% using '$$dhol' embedding, version 1.3.0.
% 2.77/1.73 %%% Logic specification used:
% 2.77/1.73 %%% thf(spec, logic, $$dhol).
% 2.77/1.73
% 2.77/1.73 % SZS output start ListOfTHF for /export/starexec/sandbox/tmp/tmp.rusBCxGY6m/DTF2DTF11637.p
% 2.77/1.73 thf(ty_t_AsynchronousSystem_Oconfiguration_Oconfiguration__ext, type, configuration_ext: ($tType > ($tType > ($tType > ($tType > $tType))))).
% 2.77/1.73 thf(ty_t_AsynchronousSystem_OmessageValue, type, messageValue: ($tType > $tType)).
% 2.77/1.73 thf(ty_t_AsynchronousSystem_Omessage, type, message: ($tType > ($tType > $tType))).
% 2.77/1.73 thf(ty_t_Product__Type_Ounit, type, product_unit: $tType).
% 2.77/1.73 thf(ty_t_List_Olist, type, list: ($tType > $tType)).
% 2.77/1.73 thf(ty_t_Set_Oset, type, set: ($tType > $tType)).
% 2.77/1.73 thf(ty_t_Nat_Onat, type, nat: $tType).
% 2.77/1.73 thf(ty_tf_v, type, v: $tType).
% 2.77/1.73 thf(ty_tf_s, type, s: $tType).
% 2.77/1.73 thf(ty_tf_p, type, p: $tType).
% 2.77/1.73 thf(sy_cl_HOL_Otype, type, type: (!> [A:$tType]: ($o))).
% 2.77/1.73 thf(sy_cl_Nat_Osize, type, size: (!> [A:$tType]: ($o))).
% 2.77/1.73 thf(sy_cl_Groups_Ozero, type, zero: (!> [A:$tType]: ($o))).
% 2.77/1.73 thf(sy_cl_Orderings_Oord, type, ord: (!> [A:$tType]: ($o))).
% 2.77/1.73 thf(sy_cl_Orderings_Oorder, type, order: (!> [A:$tType]: ($o))).
% 2.77/1.73 thf(sy_cl_Groups_Ogroup__add, type, group_add: (!> [A:$tType]: ($o))).
% 2.77/1.73 thf(sy_cl_Rings_Osemiring__1, type, semiring_1: (!> [A:$tType]: ($o))).
% 2.77/1.73 thf(sy_cl_Orderings_Olinorder, type, linorder: (!> [A:$tType]: ($o))).
% 2.77/1.73 thf(sy_cl_Nat_Osemiring__char__0, type, semiring_char_0: (!> [A:$tType]: ($o))).
% 2.77/1.73 thf(sy_cl_Orderings_Owellorder, type, wellorder: (!> [A:$tType]: ($o))).
% 2.77/1.73 thf(sy_cl_Groups_Ocomm__monoid__diff, type, comm_monoid_diff: (!> [A:$tType]: ($o))).
% 2.77/1.73 thf(sy_cl_Groups_Oordered__ab__group__add, type, ordered_ab_group_add: (!> [A:$tType]: ($o))).
% 2.77/1.73 thf(sy_cl_Groups_Ocancel__comm__monoid__add, type, cancel1352612707id_add: (!> [A:$tType]: ($o))).
% 2.77/1.73 thf(sy_cl_Groups_Ocancel__ab__semigroup__add, type, cancel146912293up_add: (!> [A:$tType]: ($o))).
% 2.77/1.73 thf(sy_cl_Rings_Olinordered__nonzero__semiring, type, linord1659791738miring: (!> [A:$tType]: ($o))).
% 2.77/1.73 thf(sy_cl_Groups_Ocanonically__ordered__monoid__add, type, canoni770627133id_add: (!> [A:$tType]: ($o))).
% 2.77/1.73 thf(sy_c_FLPSystem_OflpSystem, type, flpSystem: (!> [P:$tType,S:$tType,V:$tType]: (((P > (S > ((messageValue @ V) > (((message @ P) @ V) > nat)))) > $o)))).
% 2.77/1.73 thf(sy_c_FLPTheorem__Mirabelle__yavhmxymmt_OflpPseudoConsensus, type, fLPThe1922692578sensus: (!> [P:$tType,S:$tType,V:$tType]: (((P > (S > ((messageValue @ V) > S))) > ((P > (S > ((messageValue @ V) > (((message @ P) @ V) > nat)))) > ((P > S) > $o)))))).
% 2.77/1.73 thf(sy_c_FLPTheorem__Mirabelle__yavhmxymmt_OflpPseudoConsensus_OinfiniteExecutionCfg, type, fLPThe137922386ionCfg: (!> [P:$tType,V:$tType,S:$tType]: ((((((configuration_ext @ P) @ V) @ S) @ product_unit) > (((list @ ((((configuration_ext @ P) @ V) @ S) @ product_unit)) > ((list @ ((message @ P) @ V)) > (list @ ((((configuration_ext @ P) @ V) @ S) @ product_unit)))) > (((list @ ((((configuration_ext @ P) @ V) @ S) @ product_unit)) > ((list @ ((message @ P) @ V)) > (list @ ((message @ P) @ V)))) > (nat > (list @ ((((configuration_ext @ P) @ V) @ S) @ product_unit))))))))).
% 2.77/1.73 thf(sy_c_FLPTheorem__Mirabelle__yavhmxymmt_OflpPseudoConsensus_OinfiniteExecutionMsg, type, fLPThe221390223ionMsg: (!> [P:$tType,V:$tType,S:$tType]: ((((((configuration_ext @ P) @ V) @ S) @ product_unit) > (((list @ ((((configuration_ext @ P) @ V) @ S) @ product_unit)) > ((list @ ((message @ P) @ V)) > (list @ ((((configuration_ext @ P) @ V) @ S) @ product_unit)))) > (((list @ ((((configuration_ext @ P) @ V) @ S) @ product_unit)) > ((list @ ((message @ P) @ V)) > (list @ ((message @ P) @ V)))) > (nat > (list @ ((message @ P) @ V))))))))).
% 2.77/1.73 thf(sy_c_FLPTheorem__Mirabelle__yavhmxymmt_OflpPseudoConsensus__axioms, type, fLPThe128449925axioms: (!> [P:$tType,S:$tType,V:$tType]: (((P > (S > ((messageValue @ V) > S))) > ((P > (S > ((messageValue @ V) > (((message @ P) @ V) > nat)))) > ((P > S) > $o)))))).
% 2.77/1.73 thf(sy_c_Groups_Ominus__class_Ominus, type, minus_minus: (!> [A:$tType]: ((A > (A > A))))).
% 2.77/1.73 thf(sy_c_Groups_Ozero__class_Ozero, type, zero_zero: (!> [A:$tType]: (A))).
% 2.77/1.73 thf(sy_c_List_Oarg__min__list, type, arg_min_list: (!> [A:$tType,B:$tType]: (((A > B) > ((list @ A) > A))))).
% 2.77/1.73 thf(sy_c_List_Obind, type, bind: (!> [A:$tType,B:$tType]: (((list @ A) > ((A > (list @ B)) > (list @ B)))))).
% 2.77/1.73 thf(sy_c_List_Ocount__list, type, count_list: (!> [A:$tType]: (((list @ A) > (A > nat))))).
% 2.77/1.73 thf(sy_c_List_Ogen__length, type, gen_length: (!> [A:$tType]: ((nat > ((list @ A) > nat))))).
% 2.77/1.73 thf(sy_c_List_Oinsert, type, insert: (!> [A:$tType]: ((A > ((list @ A) > (list @ A)))))).
% 2.77/1.73 thf(sy_c_List_Olist_OCons, type, cons: (!> [A:$tType]: ((A > ((list @ A) > (list @ A)))))).
% 2.77/1.73 thf(sy_c_List_Olist_ONil, type, nil: (!> [A:$tType]: ((list @ A)))).
% 2.77/1.73 thf(sy_c_List_Olist__ex1, type, list_ex1: (!> [A:$tType]: (((A > $o) > ((list @ A) > $o))))).
% 2.77/1.73 thf(sy_c_List_Olistrelp, type, listrelp: (!> [A:$tType,B:$tType]: (((A > (B > $o)) > ((list @ A) > ((list @ B) > $o)))))).
% 2.77/1.73 thf(sy_c_List_Omap__tailrec__rev, type, map_tailrec_rev: (!> [A:$tType,B:$tType]: (((A > B) > ((list @ A) > ((list @ B) > (list @ B))))))).
% 2.77/1.73 thf(sy_c_List_Omember, type, member: (!> [A:$tType]: (((list @ A) > (A > $o))))).
% 2.77/1.73 thf(sy_c_List_On__lists, type, n_lists: (!> [A:$tType]: ((nat > ((list @ A) > (list @ (list @ A))))))).
% 2.77/1.73 thf(sy_c_List_Onths, type, nths: (!> [A:$tType]: (((list @ A) > ((set @ nat) > (list @ A)))))).
% 2.77/1.73 thf(sy_c_List_Oord_Olexordp__eq, type, lexordp_eq: (!> [A:$tType]: (((A > (A > $o)) > ((list @ A) > ((list @ A) > $o)))))).
% 2.77/1.73 thf(sy_c_List_Oord__class_Olexordp, type, ord_lexordp: (!> [A:$tType]: (((list @ A) > ((list @ A) > $o))))).
% 2.77/1.73 thf(sy_c_List_Oord__class_Olexordp__eq, type, ord_lexordp_eq: (!> [A:$tType]: (((list @ A) > ((list @ A) > $o))))).
% 2.77/1.73 thf(sy_c_List_Oproduct__lists, type, product_lists: (!> [A:$tType]: (((list @ (list @ A)) > (list @ (list @ A)))))).
% 2.77/1.73 thf(sy_c_List_Osplice, type, splice: (!> [A:$tType]: (((list @ A) > ((list @ A) > (list @ A)))))).
% 2.77/1.73 thf(sy_c_List_Osubseqs, type, subseqs: (!> [A:$tType]: (((list @ A) > (list @ (list @ A)))))).
% 2.77/1.73 thf(sy_c_Nat_OSuc, type, suc: (nat > nat)).
% 2.77/1.73 thf(sy_c_Nat_Osemiring__1__class_Oof__nat, type, semiring_1_of_nat: (!> [A:$tType]: ((nat > A)))).
% 2.77/1.73 thf(sy_c_Nat_Osemiring__1__class_Oof__nat__aux, type, semiri532925092at_aux: (!> [A:$tType]: (((A > A) > (nat > (A > A)))))).
% 2.77/1.73 thf(sy_c_Nat_Osize__class_Osize, type, size_size: (!> [A:$tType]: ((A > nat)))).
% 2.77/1.73 thf(sy_c_Orderings_Oord__class_Oless, type, ord_less: (!> [A:$tType]: ((A > (A > $o))))).
% 2.77/1.73 thf(sy_c_Set_OCollect, type, collect: (!> [A:$tType]: (((A > $o) > (set @ A))))).
% 2.77/1.73 thf(sy_c_member, type, member2: (!> [A:$tType]: ((A > ((set @ A) > $o))))).
% 2.77/1.73 thf(sy_v_cfg, type, cfg: ((((configuration_ext @ p) @ v) @ s) @ product_unit)).
% 2.77/1.73 thf(sy_v_fStepCfg____, type, fStepCfg: ((list @ ((((configuration_ext @ p) @ v) @ s) @ product_unit)) > ((list @ ((message @ p) @ v)) > (list @ ((((configuration_ext @ p) @ v) @ s) @ product_unit))))).
% 2.77/1.73 thf(sy_v_fStepMsg____, type, fStepMsg: ((list @ ((((configuration_ext @ p) @ v) @ s) @ product_unit)) > ((list @ ((message @ p) @ v)) > (list @ ((message @ p) @ v))))).
% 2.77/1.73 thf(sy_v_fe____, type, fe: (nat > (list @ ((((configuration_ext @ p) @ v) @ s) @ product_unit)))).
% 2.77/1.73 thf(sy_v_ft____, type, ft: (nat > (list @ ((message @ p) @ v)))).
% 2.77/1.73 thf(fact_0_ft__def, axiom, (ft = ((((((fLPThe221390223ionMsg @ p) @ v) @ s) @ cfg) @ fStepCfg) @ fStepMsg))).
% 2.77/1.73 thf(fact_1_fe__def, axiom, (fe = ((((((fLPThe137922386ionCfg @ p) @ v) @ s) @ cfg) @ fStepCfg) @ fStepMsg))).
% 2.77/1.73 thf(fact_2_infiniteExecutionCfg_Osimps_I1_J, axiom, (! [Cfg:((((configuration_ext @ p) @ v) @ s) @ product_unit),FStepCfg:((list @ ((((configuration_ext @ p) @ v) @ s) @ product_unit)) > ((list @ ((message @ p) @ v)) > (list @ ((((configuration_ext @ p) @ v) @ s) @ product_unit)))),FStepMsg:((list @ ((((configuration_ext @ p) @ v) @ s) @ product_unit)) > ((list @ ((message @ p) @ v)) > (list @ ((message @ p) @ v))))]: (((((((((fLPThe137922386ionCfg @ p) @ v) @ s) @ Cfg) @ FStepCfg) @ FStepMsg) @ (zero_zero @ nat)) = (((cons @ ((((configuration_ext @ p) @ v) @ s) @ product_unit)) @ Cfg) @ (nil @ ((((configuration_ext @ p) @ v) @ s) @ product_unit))))))).
% 2.77/1.73 thf(fact_3_list_Oinject, axiom, (! [A:$tType,X21:A,X22:(list @ A),Y21:A,Y22:(list @ A)]: ((((((cons @ A) @ X21) @ X22) = (((cons @ A) @ Y21) @ Y22)) = ((X21 = Y21) & (X22 = Y22)))))).
% 2.77/1.73 thf(fact_4_list_Odistinct_I1_J, axiom, (! [A:$tType,X21:A,X22:(list @ A)]: (((nil @ A) != (((cons @ A) @ X21) @ X22))))).
% 2.77/1.73 thf(fact_5_list_OdiscI, axiom, (! [A:$tType,List:(list @ A),X21:A,X22:(list @ A)]: (((List = (((cons @ A) @ X21) @ X22)) => (List != (nil @ A)))))).
% 2.77/1.73 thf(fact_6_list_Oexhaust, axiom, (! [A:$tType,Y:(list @ A)]: (((Y != (nil @ A)) => (~ ((! [X212:A,X222:(list @ A)]: ((Y != (((cons @ A) @ X212) @ X222)))))))))).
% 2.77/1.73 thf(fact_7_list_Oinducts, axiom, (! [A:$tType,P2:((list @ A) > $o),List:(list @ A)]: (((P2 @ (nil @ A)) => ((! [X1:A,X2:(list @ A)]: (((P2 @ X2) => (P2 @ (((cons @ A) @ X1) @ X2))))) => (P2 @ List)))))).
% 2.77/1.73 thf(fact_8_neq__Nil__conv, axiom, (! [A:$tType,Xs:(list @ A)]: (((Xs != (nil @ A)) = (? [Y2:A,Ys:(list @ A)]: ((Xs = (((cons @ A) @ Y2) @ Ys)))))))).
% 2.77/1.73 thf(fact_9_list__induct2_H, axiom, (! [A:$tType,B:$tType,P2:((list @ A) > ((list @ B) > $o)),Xs:(list @ A),Ys2:(list @ B)]: ((((P2 @ (nil @ A)) @ (nil @ B)) => ((! [X:A,Xs2:(list @ A)]: (((P2 @ (((cons @ A) @ X) @ Xs2)) @ (nil @ B)))) => ((! [Y3:B,Ys3:(list @ B)]: (((P2 @ (nil @ A)) @ (((cons @ B) @ Y3) @ Ys3)))) => ((! [X:A,Xs2:(list @ A),Y3:B,Ys3:(list @ B)]: ((((P2 @ Xs2) @ Ys3) => ((P2 @ (((cons @ A) @ X) @ Xs2)) @ (((cons @ B) @ Y3) @ Ys3))))) => ((P2 @ Xs) @ Ys2)))))))).
% 2.77/1.73 thf(fact_10_splice_Oinduct, axiom, (! [A:$tType,P2:((list @ A) > ((list @ A) > $o)),A0:(list @ A),A1:(list @ A)]: (((! [X_1:(list @ A)]: (((P2 @ (nil @ A)) @ X_1))) => ((! [X:A,Xs2:(list @ A),Ys3:(list @ A)]: ((((P2 @ Ys3) @ Xs2) => ((P2 @ (((cons @ A) @ X) @ Xs2)) @ Ys3)))) => ((P2 @ A0) @ A1)))))).
% 2.77/1.73 thf(fact_11_induct__list012, axiom, (! [A:$tType,P2:((list @ A) > $o),Xs:(list @ A)]: (((P2 @ (nil @ A)) => ((! [X:A]: ((P2 @ (((cons @ A) @ X) @ (nil @ A))))) => ((! [X:A,Y3:A,Zs:(list @ A)]: (((P2 @ Zs) => ((P2 @ (((cons @ A) @ Y3) @ Zs)) => (P2 @ (((cons @ A) @ X) @ (((cons @ A) @ Y3) @ Zs))))))) => (P2 @ Xs))))))).
% 2.77/1.73 thf(fact_12_min__list_Ocases, axiom, (! [A:$tType]: (((ord @ A) => (! [X3:(list @ A)]: (((! [X:A,Xs2:(list @ A)]: ((X3 != (((cons @ A) @ X) @ Xs2)))) => (X3 = (nil @ A))))))))).
% 2.77/1.73 thf(fact_13_min__list_Oinduct, axiom, (! [A:$tType]: (((ord @ A) => (! [P2:((list @ A) > $o),A0:(list @ A)]: (((! [X:A,Xs2:(list @ A)]: (((! [X213:A,X223:(list @ A)]: (((Xs2 = (((cons @ A) @ X213) @ X223)) => (P2 @ Xs2)))) => (P2 @ (((cons @ A) @ X) @ Xs2))))) => ((P2 @ (nil @ A)) => (P2 @ A0))))))))).
% 2.77/1.73 thf(fact_14_infiniteExecutionMsg_Osimps_I1_J, axiom, (! [Cfg:((((configuration_ext @ p) @ v) @ s) @ product_unit),FStepCfg:((list @ ((((configuration_ext @ p) @ v) @ s) @ product_unit)) > ((list @ ((message @ p) @ v)) > (list @ ((((configuration_ext @ p) @ v) @ s) @ product_unit)))),FStepMsg:((list @ ((((configuration_ext @ p) @ v) @ s) @ product_unit)) > ((list @ ((message @ p) @ v)) > (list @ ((message @ p) @ v))))]: (((((((((fLPThe221390223ionMsg @ p) @ v) @ s) @ Cfg) @ FStepCfg) @ FStepMsg) @ (zero_zero @ nat)) = (nil @ ((message @ p) @ v)))))).
% 2.77/1.73 thf(fact_15_zero__reorient, axiom, (! [A:$tType]: (((zero @ A) => (! [X3:A]: ((((zero_zero @ A) = X3) = (X3 = (zero_zero @ A))))))))).
% 2.77/1.73 thf(fact_16_not__Cons__self2, axiom, (! [A:$tType,X3:A,Xs:(list @ A)]: (((((cons @ A) @ X3) @ Xs) != Xs)))).
% 2.77/1.73 thf(fact_17_strict__sorted_Oinduct, axiom, (! [A:$tType]: (((linorder @ A) => (! [P2:((list @ A) > $o),A0:(list @ A)]: (((P2 @ (nil @ A)) => ((! [X:A,Ys3:(list @ A)]: (((P2 @ Ys3) => (P2 @ (((cons @ A) @ X) @ Ys3))))) => (P2 @ A0))))))))).
% 2.77/1.73 thf(fact_18_strict__sorted_Ocases, axiom, (! [A:$tType]: (((linorder @ A) => (! [X3:(list @ A)]: (((X3 != (nil @ A)) => (~ ((! [X:A,Ys3:(list @ A)]: ((X3 != (((cons @ A) @ X) @ Ys3))))))))))))).
% 2.77/1.73 thf(fact_19_map__tailrec__rev_Oinduct, axiom, (! [A:$tType,B:$tType,P2:((A > B) > ((list @ A) > ((list @ B) > $o))),A0:(A > B),A1:(list @ A),A2:(list @ B)]: (((! [F:(A > B),X_1:(list @ B)]: ((((P2 @ F) @ (nil @ A)) @ X_1))) => ((! [F:(A > B),A3:A,As:(list @ A),Bs:(list @ B)]: (((((P2 @ F) @ As) @ (((cons @ B) @ (F @ A3)) @ Bs)) => (((P2 @ F) @ (((cons @ A) @ A3) @ As)) @ Bs)))) => (((P2 @ A0) @ A1) @ A2)))))).
% 2.77/1.73 thf(fact_20_list__nonempty__induct, axiom, (! [A:$tType,Xs:(list @ A),P2:((list @ A) > $o)]: (((Xs != (nil @ A)) => ((! [X:A]: ((P2 @ (((cons @ A) @ X) @ (nil @ A))))) => ((! [X:A,Xs2:(list @ A)]: (((Xs2 != (nil @ A)) => ((P2 @ Xs2) => (P2 @ (((cons @ A) @ X) @ Xs2)))))) => (P2 @ Xs))))))).
% 2.77/1.73 thf(fact_21_successively_Oinduct, axiom, (! [A:$tType,P2:((A > (A > $o)) > ((list @ A) > $o)),A0:(A > (A > $o)),A1:(list @ A)]: (((! [P3:(A > (A > $o))]: (((P2 @ P3) @ (nil @ A)))) => ((! [P3:(A > (A > $o)),X:A]: (((P2 @ P3) @ (((cons @ A) @ X) @ (nil @ A))))) => ((! [P3:(A > (A > $o)),X:A,Y3:A,Xs2:(list @ A)]: ((((P2 @ P3) @ (((cons @ A) @ Y3) @ Xs2)) => ((P2 @ P3) @ (((cons @ A) @ X) @ (((cons @ A) @ Y3) @ Xs2)))))) => ((P2 @ A0) @ A1))))))).
% 2.77/1.73 thf(fact_22_arg__min__list_Oinduct, axiom, (! [B:$tType,A:$tType]: (((linorder @ B) => (! [P2:((A > B) > ((list @ A) > $o)),A0:(A > B),A1:(list @ A)]: (((! [F:(A > B),X:A]: (((P2 @ F) @ (((cons @ A) @ X) @ (nil @ A))))) => ((! [F:(A > B),X:A,Y3:A,Zs:(list @ A)]: ((((P2 @ F) @ (((cons @ A) @ Y3) @ Zs)) => ((P2 @ F) @ (((cons @ A) @ X) @ (((cons @ A) @ Y3) @ Zs)))))) => ((! [A3:(A > B)]: (((P2 @ A3) @ (nil @ A)))) => ((P2 @ A0) @ A1)))))))))).
% 2.77/1.73 thf(fact_23_remdups__adj_Oinduct, axiom, (! [A:$tType,P2:((list @ A) > $o),A0:(list @ A)]: (((P2 @ (nil @ A)) => ((! [X:A]: ((P2 @ (((cons @ A) @ X) @ (nil @ A))))) => ((! [X:A,Y3:A,Xs2:(list @ A)]: ((((X = Y3) => (P2 @ (((cons @ A) @ X) @ Xs2))) => (((X != Y3) => (P2 @ (((cons @ A) @ Y3) @ Xs2))) => (P2 @ (((cons @ A) @ X) @ (((cons @ A) @ Y3) @ Xs2))))))) => (P2 @ A0))))))).
% 2.77/1.73 thf(fact_24_sorted__wrt_Oinduct, axiom, (! [A:$tType,P2:((A > (A > $o)) > ((list @ A) > $o)),A0:(A > (A > $o)),A1:(list @ A)]: (((! [P3:(A > (A > $o))]: (((P2 @ P3) @ (nil @ A)))) => ((! [P3:(A > (A > $o)),X:A,Ys3:(list @ A)]: ((((P2 @ P3) @ Ys3) => ((P2 @ P3) @ (((cons @ A) @ X) @ Ys3))))) => ((P2 @ A0) @ A1)))))).
% 2.77/1.73 thf(fact_25_remdups__adj_Ocases, axiom, (! [A:$tType,X3:(list @ A)]: (((X3 != (nil @ A)) => ((! [X:A]: ((X3 != (((cons @ A) @ X) @ (nil @ A))))) => (~ ((! [X:A,Y3:A,Xs2:(list @ A)]: ((X3 != (((cons @ A) @ X) @ (((cons @ A) @ Y3) @ Xs2)))))))))))).
% 2.77/1.73 thf(fact_26_transpose_Ocases, axiom, (! [A:$tType,X3:(list @ (list @ A))]: (((X3 != (nil @ (list @ A))) => ((! [Xss:(list @ (list @ A))]: ((X3 != (((cons @ (list @ A)) @ (nil @ A)) @ Xss)))) => (~ ((! [X:A,Xs2:(list @ A),Xss:(list @ (list @ A))]: ((X3 != (((cons @ (list @ A)) @ (((cons @ A) @ X) @ Xs2)) @ Xss))))))))))).
% 2.77/1.73 thf(fact_27_shuffles_Oinduct, axiom, (! [A:$tType,P2:((list @ A) > ((list @ A) > $o)),A0:(list @ A),A1:(list @ A)]: (((! [X_1:(list @ A)]: (((P2 @ (nil @ A)) @ X_1))) => ((! [Xs2:(list @ A)]: (((P2 @ Xs2) @ (nil @ A)))) => ((! [X:A,Xs2:(list @ A),Y3:A,Ys3:(list @ A)]: ((((P2 @ Xs2) @ (((cons @ A) @ Y3) @ Ys3)) => (((P2 @ (((cons @ A) @ X) @ Xs2)) @ Ys3) => ((P2 @ (((cons @ A) @ X) @ Xs2)) @ (((cons @ A) @ Y3) @ Ys3)))))) => ((P2 @ A0) @ A1))))))).
% 2.77/1.73 thf(fact_28_infiniteExecutionCfg_Oelims, axiom, (! [X3:((((configuration_ext @ p) @ v) @ s) @ product_unit),Xa:((list @ ((((configuration_ext @ p) @ v) @ s) @ product_unit)) > ((list @ ((message @ p) @ v)) > (list @ ((((configuration_ext @ p) @ v) @ s) @ product_unit)))),Xb:((list @ ((((configuration_ext @ p) @ v) @ s) @ product_unit)) > ((list @ ((message @ p) @ v)) > (list @ ((message @ p) @ v)))),Xc:nat,Y:(list @ ((((configuration_ext @ p) @ v) @ s) @ product_unit))]: ((((((((((fLPThe137922386ionCfg @ p) @ v) @ s) @ X3) @ Xa) @ Xb) @ Xc) = Y) => (((Xc = (zero_zero @ nat)) => (Y != (((cons @ ((((configuration_ext @ p) @ v) @ s) @ product_unit)) @ X3) @ (nil @ ((((configuration_ext @ p) @ v) @ s) @ product_unit))))) => (~ ((! [N:nat]: (((Xc = (suc @ N)) => (Y != ((Xa @ (((((((fLPThe137922386ionCfg @ p) @ v) @ s) @ X3) @ Xa) @ Xb) @ N)) @ (((((((fLPThe221390223ionMsg @ p) @ v) @ s) @ X3) @ Xa) @ Xb) @ N))))))))))))).
% 2.77/1.73 thf(fact_29_infiniteExecutionMsg_Oelims, axiom, (! [X3:((((configuration_ext @ p) @ v) @ s) @ product_unit),Xa:((list @ ((((configuration_ext @ p) @ v) @ s) @ product_unit)) > ((list @ ((message @ p) @ v)) > (list @ ((((configuration_ext @ p) @ v) @ s) @ product_unit)))),Xb:((list @ ((((configuration_ext @ p) @ v) @ s) @ product_unit)) > ((list @ ((message @ p) @ v)) > (list @ ((message @ p) @ v)))),Xc:nat,Y:(list @ ((message @ p) @ v))]: ((((((((((fLPThe221390223ionMsg @ p) @ v) @ s) @ X3) @ Xa) @ Xb) @ Xc) = Y) => (((Xc = (zero_zero @ nat)) => (Y != (nil @ ((message @ p) @ v)))) => (~ ((! [N:nat]: (((Xc = (suc @ N)) => (Y != ((Xb @ (((((((fLPThe137922386ionCfg @ p) @ v) @ s) @ X3) @ Xa) @ Xb) @ N)) @ (((((((fLPThe221390223ionMsg @ p) @ v) @ s) @ X3) @ Xa) @ Xb) @ N))))))))))))).
% 2.77/1.73 thf(fact_30_infiniteExecutionCfg_Osimps_I2_J, axiom, (! [Cfg:((((configuration_ext @ p) @ v) @ s) @ product_unit),FStepCfg:((list @ ((((configuration_ext @ p) @ v) @ s) @ product_unit)) > ((list @ ((message @ p) @ v)) > (list @ ((((configuration_ext @ p) @ v) @ s) @ product_unit)))),FStepMsg:((list @ ((((configuration_ext @ p) @ v) @ s) @ product_unit)) > ((list @ ((message @ p) @ v)) > (list @ ((message @ p) @ v)))),N2:nat]: (((((((((fLPThe137922386ionCfg @ p) @ v) @ s) @ Cfg) @ FStepCfg) @ FStepMsg) @ (suc @ N2)) = ((FStepCfg @ (((((((fLPThe137922386ionCfg @ p) @ v) @ s) @ Cfg) @ FStepCfg) @ FStepMsg) @ N2)) @ (((((((fLPThe221390223ionMsg @ p) @ v) @ s) @ Cfg) @ FStepCfg) @ FStepMsg) @ N2)))))).
% 2.77/1.73 thf(fact_31_infiniteExecutionMsg_Osimps_I2_J, axiom, (! [Cfg:((((configuration_ext @ p) @ v) @ s) @ product_unit),FStepCfg:((list @ ((((configuration_ext @ p) @ v) @ s) @ product_unit)) > ((list @ ((message @ p) @ v)) > (list @ ((((configuration_ext @ p) @ v) @ s) @ product_unit)))),FStepMsg:((list @ ((((configuration_ext @ p) @ v) @ s) @ product_unit)) > ((list @ ((message @ p) @ v)) > (list @ ((message @ p) @ v)))),N2:nat]: (((((((((fLPThe221390223ionMsg @ p) @ v) @ s) @ Cfg) @ FStepCfg) @ FStepMsg) @ (suc @ N2)) = ((FStepMsg @ (((((((fLPThe137922386ionCfg @ p) @ v) @ s) @ Cfg) @ FStepCfg) @ FStepMsg) @ N2)) @ (((((((fLPThe221390223ionMsg @ p) @ v) @ s) @ Cfg) @ FStepCfg) @ FStepMsg) @ N2)))))).
% 2.77/1.73 thf(fact_32_flpPseudoConsensus_OinfiniteExecutionCfg_Osimps_I1_J, axiom, (! [S:$tType,V:$tType,P:$tType,Trans:(P > (S > ((messageValue @ V) > S))),Sends:(P > (S > ((messageValue @ V) > (((message @ P) @ V) > nat)))),Start:(P > S),Cfg:((((configuration_ext @ P) @ V) @ S) @ product_unit),FStepCfg:((list @ ((((configuration_ext @ P) @ V) @ S) @ product_unit)) > ((list @ ((message @ P) @ V)) > (list @ ((((configuration_ext @ P) @ V) @ S) @ product_unit)))),FStepMsg:((list @ ((((configuration_ext @ P) @ V) @ S) @ product_unit)) > ((list @ ((message @ P) @ V)) > (list @ ((message @ P) @ V))))]: ((((((((fLPThe1922692578sensus @ P) @ S) @ V) @ Trans) @ Sends) @ Start) => ((((((((fLPThe137922386ionCfg @ P) @ V) @ S) @ Cfg) @ FStepCfg) @ FStepMsg) @ (zero_zero @ nat)) = (((cons @ ((((configuration_ext @ P) @ V) @ S) @ product_unit)) @ Cfg) @ (nil @ ((((configuration_ext @ P) @ V) @ S) @ product_unit)))))))).
% 2.77/1.73 thf(fact_33_n__lists__Nil, axiom, (! [A:$tType,N2:nat]: ((((N2 = (zero_zero @ nat)) => ((((n_lists @ A) @ N2) @ (nil @ A)) = (((cons @ (list @ A)) @ (nil @ A)) @ (nil @ (list @ A))))) & ((N2 != (zero_zero @ nat)) => ((((n_lists @ A) @ N2) @ (nil @ A)) = (nil @ (list @ A)))))))).
% 2.77/1.73 thf(fact_34_insert__Nil, axiom, (! [A:$tType,X3:A]: (((((insert @ A) @ X3) @ (nil @ A)) = (((cons @ A) @ X3) @ (nil @ A)))))).
% 2.77/1.73 thf(fact_35_nths__singleton, axiom, (! [A:$tType,A4:(set @ nat),X3:A]: ((((((member2 @ nat) @ (zero_zero @ nat)) @ A4) => ((((nths @ A) @ (((cons @ A) @ X3) @ (nil @ A))) @ A4) = (((cons @ A) @ X3) @ (nil @ A)))) & ((~ ((((member2 @ nat) @ (zero_zero @ nat)) @ A4))) => ((((nths @ A) @ (((cons @ A) @ X3) @ (nil @ A))) @ A4) = (nil @ A))))))).
% 2.77/1.73 thf(fact_36_list__ex1__simps_I1_J, axiom, (! [A:$tType,P2:(A > $o)]: ((~ ((((list_ex1 @ A) @ P2) @ (nil @ A))))))).
% 2.77/1.73 thf(fact_37_n__lists_Osimps_I1_J, axiom, (! [A:$tType,Xs:(list @ A)]: (((((n_lists @ A) @ (zero_zero @ nat)) @ Xs) = (((cons @ (list @ A)) @ (nil @ A)) @ (nil @ (list @ A))))))).
% 2.77/1.73 thf(fact_38_infiniteExecutionCfg__infiniteExecutionMsg_Oinduct_I2_J, axiom, (! [P2:(((((configuration_ext @ p) @ v) @ s) @ product_unit) > (((list @ ((((configuration_ext @ p) @ v) @ s) @ product_unit)) > ((list @ ((message @ p) @ v)) > (list @ ((((configuration_ext @ p) @ v) @ s) @ product_unit)))) > (((list @ ((((configuration_ext @ p) @ v) @ s) @ product_unit)) > ((list @ ((message @ p) @ v)) > (list @ ((message @ p) @ v)))) > (nat > $o)))),Q:(((((configuration_ext @ p) @ v) @ s) @ product_unit) > (((list @ ((((configuration_ext @ p) @ v) @ s) @ product_unit)) > ((list @ ((message @ p) @ v)) > (list @ ((((configuration_ext @ p) @ v) @ s) @ product_unit)))) > (((list @ ((((configuration_ext @ p) @ v) @ s) @ product_unit)) > ((list @ ((message @ p) @ v)) > (list @ ((message @ p) @ v)))) > (nat > $o)))),A42:((((configuration_ext @ p) @ v) @ s) @ product_unit),A5:((list @ ((((configuration_ext @ p) @ v) @ s) @ product_unit)) > ((list @ ((message @ p) @ v)) > (list @ ((((configuration_ext @ p) @ v) @ s) @ product_unit)))),A6:((list @ ((((configuration_ext @ p) @ v) @ s) @ product_unit)) > ((list @ ((message @ p) @ v)) > (list @ ((message @ p) @ v)))),A7:nat]: (((! [Cfg2:((((configuration_ext @ p) @ v) @ s) @ product_unit),FStepCfg2:((list @ ((((configuration_ext @ p) @ v) @ s) @ product_unit)) > ((list @ ((message @ p) @ v)) > (list @ ((((configuration_ext @ p) @ v) @ s) @ product_unit)))),FStepMsg2:((list @ ((((configuration_ext @ p) @ v) @ s) @ product_unit)) > ((list @ ((message @ p) @ v)) > (list @ ((message @ p) @ v))))]: (((((P2 @ Cfg2) @ FStepCfg2) @ FStepMsg2) @ (zero_zero @ nat)))) => ((! [Cfg2:((((configuration_ext @ p) @ v) @ s) @ product_unit),FStepCfg2:((list @ ((((configuration_ext @ p) @ v) @ s) @ product_unit)) > ((list @ ((message @ p) @ v)) > (list @ ((((configuration_ext @ p) @ v) @ s) @ product_unit)))),FStepMsg2:((list @ ((((configuration_ext @ p) @ v) @ s) @ product_unit)) > ((list @ ((message @ p) @ v)) > (list @ ((message @ p) @ v)))),N:nat]: ((((((P2 @ Cfg2) @ FStepCfg2) @ FStepMsg2) @ N) => (((((Q @ Cfg2) @ FStepCfg2) @ FStepMsg2) @ N) => ((((P2 @ Cfg2) @ FStepCfg2) @ FStepMsg2) @ (suc @ N)))))) => ((! [Cfg2:((((configuration_ext @ p) @ v) @ s) @ product_unit),FStepCfg2:((list @ ((((configuration_ext @ p) @ v) @ s) @ product_unit)) > ((list @ ((message @ p) @ v)) > (list @ ((((configuration_ext @ p) @ v) @ s) @ product_unit)))),FStepMsg2:((list @ ((((configuration_ext @ p) @ v) @ s) @ product_unit)) > ((list @ ((message @ p) @ v)) > (list @ ((message @ p) @ v))))]: (((((Q @ Cfg2) @ FStepCfg2) @ FStepMsg2) @ (zero_zero @ nat)))) => ((! [Cfg2:((((configuration_ext @ p) @ v) @ s) @ product_unit),FStepCfg2:((list @ ((((configuration_ext @ p) @ v) @ s) @ product_unit)) > ((list @ ((message @ p) @ v)) > (list @ ((((configuration_ext @ p) @ v) @ s) @ product_unit)))),FStepMsg2:((list @ ((((configuration_ext @ p) @ v) @ s) @ product_unit)) > ((list @ ((message @ p) @ v)) > (list @ ((message @ p) @ v)))),N:nat]: ((((((P2 @ Cfg2) @ FStepCfg2) @ FStepMsg2) @ N) => (((((Q @ Cfg2) @ FStepCfg2) @ FStepMsg2) @ N) => ((((Q @ Cfg2) @ FStepCfg2) @ FStepMsg2) @ (suc @ N)))))) => ((((Q @ A42) @ A5) @ A6) @ A7)))))))).
% 2.77/1.73 thf(fact_39_infiniteExecutionCfg__infiniteExecutionMsg_Oinduct_I1_J, axiom, (! [P2:(((((configuration_ext @ p) @ v) @ s) @ product_unit) > (((list @ ((((configuration_ext @ p) @ v) @ s) @ product_unit)) > ((list @ ((message @ p) @ v)) > (list @ ((((configuration_ext @ p) @ v) @ s) @ product_unit)))) > (((list @ ((((configuration_ext @ p) @ v) @ s) @ product_unit)) > ((list @ ((message @ p) @ v)) > (list @ ((message @ p) @ v)))) > (nat > $o)))),Q:(((((configuration_ext @ p) @ v) @ s) @ product_unit) > (((list @ ((((configuration_ext @ p) @ v) @ s) @ product_unit)) > ((list @ ((message @ p) @ v)) > (list @ ((((configuration_ext @ p) @ v) @ s) @ product_unit)))) > (((list @ ((((configuration_ext @ p) @ v) @ s) @ product_unit)) > ((list @ ((message @ p) @ v)) > (list @ ((message @ p) @ v)))) > (nat > $o)))),A0:((((configuration_ext @ p) @ v) @ s) @ product_unit),A1:((list @ ((((configuration_ext @ p) @ v) @ s) @ product_unit)) > ((list @ ((message @ p) @ v)) > (list @ ((((configuration_ext @ p) @ v) @ s) @ product_unit)))),A2:((list @ ((((configuration_ext @ p) @ v) @ s) @ product_unit)) > ((list @ ((message @ p) @ v)) > (list @ ((message @ p) @ v)))),A32:nat]: (((! [Cfg2:((((configuration_ext @ p) @ v) @ s) @ product_unit),FStepCfg2:((list @ ((((configuration_ext @ p) @ v) @ s) @ product_unit)) > ((list @ ((message @ p) @ v)) > (list @ ((((configuration_ext @ p) @ v) @ s) @ product_unit)))),FStepMsg2:((list @ ((((configuration_ext @ p) @ v) @ s) @ product_unit)) > ((list @ ((message @ p) @ v)) > (list @ ((message @ p) @ v))))]: (((((P2 @ Cfg2) @ FStepCfg2) @ FStepMsg2) @ (zero_zero @ nat)))) => ((! [Cfg2:((((configuration_ext @ p) @ v) @ s) @ product_unit),FStepCfg2:((list @ ((((configuration_ext @ p) @ v) @ s) @ product_unit)) > ((list @ ((message @ p) @ v)) > (list @ ((((configuration_ext @ p) @ v) @ s) @ product_unit)))),FStepMsg2:((list @ ((((configuration_ext @ p) @ v) @ s) @ product_unit)) > ((list @ ((message @ p) @ v)) > (list @ ((message @ p) @ v)))),N:nat]: ((((((P2 @ Cfg2) @ FStepCfg2) @ FStepMsg2) @ N) => (((((Q @ Cfg2) @ FStepCfg2) @ FStepMsg2) @ N) => ((((P2 @ Cfg2) @ FStepCfg2) @ FStepMsg2) @ (suc @ N)))))) => ((! [Cfg2:((((configuration_ext @ p) @ v) @ s) @ product_unit),FStepCfg2:((list @ ((((configuration_ext @ p) @ v) @ s) @ product_unit)) > ((list @ ((message @ p) @ v)) > (list @ ((((configuration_ext @ p) @ v) @ s) @ product_unit)))),FStepMsg2:((list @ ((((configuration_ext @ p) @ v) @ s) @ product_unit)) > ((list @ ((message @ p) @ v)) > (list @ ((message @ p) @ v))))]: (((((Q @ Cfg2) @ FStepCfg2) @ FStepMsg2) @ (zero_zero @ nat)))) => ((! [Cfg2:((((configuration_ext @ p) @ v) @ s) @ product_unit),FStepCfg2:((list @ ((((configuration_ext @ p) @ v) @ s) @ product_unit)) > ((list @ ((message @ p) @ v)) > (list @ ((((configuration_ext @ p) @ v) @ s) @ product_unit)))),FStepMsg2:((list @ ((((configuration_ext @ p) @ v) @ s) @ product_unit)) > ((list @ ((message @ p) @ v)) > (list @ ((message @ p) @ v)))),N:nat]: ((((((P2 @ Cfg2) @ FStepCfg2) @ FStepMsg2) @ N) => (((((Q @ Cfg2) @ FStepCfg2) @ FStepMsg2) @ N) => ((((Q @ Cfg2) @ FStepCfg2) @ FStepMsg2) @ (suc @ N)))))) => ((((P2 @ A0) @ A1) @ A2) @ A32)))))))).
% 2.77/1.73 thf(fact_40_nths__nil, axiom, (! [A:$tType,A4:(set @ nat)]: (((((nths @ A) @ (nil @ A)) @ A4) = (nil @ A))))).
% 2.77/1.73 thf(fact_41_flpPseudoConsensus_OinfiniteExecutionCfg__infiniteExecutionMsg_Oinduct_I2_J, axiom, (! [P:$tType,V:$tType,S:$tType,Trans:(P > (S > ((messageValue @ V) > S))),Sends:(P > (S > ((messageValue @ V) > (((message @ P) @ V) > nat)))),Start:(P > S),P2:(((((configuration_ext @ P) @ V) @ S) @ product_unit) > (((list @ ((((configuration_ext @ P) @ V) @ S) @ product_unit)) > ((list @ ((message @ P) @ V)) > (list @ ((((configuration_ext @ P) @ V) @ S) @ product_unit)))) > (((list @ ((((configuration_ext @ P) @ V) @ S) @ product_unit)) > ((list @ ((message @ P) @ V)) > (list @ ((message @ P) @ V)))) > (nat > $o)))),Q:(((((configuration_ext @ P) @ V) @ S) @ product_unit) > (((list @ ((((configuration_ext @ P) @ V) @ S) @ product_unit)) > ((list @ ((message @ P) @ V)) > (list @ ((((configuration_ext @ P) @ V) @ S) @ product_unit)))) > (((list @ ((((configuration_ext @ P) @ V) @ S) @ product_unit)) > ((list @ ((message @ P) @ V)) > (list @ ((message @ P) @ V)))) > (nat > $o)))),A42:((((configuration_ext @ P) @ V) @ S) @ product_unit),A5:((list @ ((((configuration_ext @ P) @ V) @ S) @ product_unit)) > ((list @ ((message @ P) @ V)) > (list @ ((((configuration_ext @ P) @ V) @ S) @ product_unit)))),A6:((list @ ((((configuration_ext @ P) @ V) @ S) @ product_unit)) > ((list @ ((message @ P) @ V)) > (list @ ((message @ P) @ V)))),A7:nat]: ((((((((fLPThe1922692578sensus @ P) @ S) @ V) @ Trans) @ Sends) @ Start) => ((! [Cfg2:((((configuration_ext @ P) @ V) @ S) @ product_unit),FStepCfg2:((list @ ((((configuration_ext @ P) @ V) @ S) @ product_unit)) > ((list @ ((message @ P) @ V)) > (list @ ((((configuration_ext @ P) @ V) @ S) @ product_unit)))),FStepMsg2:((list @ ((((configuration_ext @ P) @ V) @ S) @ product_unit)) > ((list @ ((message @ P) @ V)) > (list @ ((message @ P) @ V))))]: (((((P2 @ Cfg2) @ FStepCfg2) @ FStepMsg2) @ (zero_zero @ nat)))) => ((! [Cfg2:((((configuration_ext @ P) @ V) @ S) @ product_unit),FStepCfg2:((list @ ((((configuration_ext @ P) @ V) @ S) @ product_unit)) > ((list @ ((message @ P) @ V)) > (list @ ((((configuration_ext @ P) @ V) @ S) @ product_unit)))),FStepMsg2:((list @ ((((configuration_ext @ P) @ V) @ S) @ product_unit)) > ((list @ ((message @ P) @ V)) > (list @ ((message @ P) @ V)))),N:nat]: ((((((P2 @ Cfg2) @ FStepCfg2) @ FStepMsg2) @ N) => (((((Q @ Cfg2) @ FStepCfg2) @ FStepMsg2) @ N) => ((((P2 @ Cfg2) @ FStepCfg2) @ FStepMsg2) @ (suc @ N)))))) => ((! [Cfg2:((((configuration_ext @ P) @ V) @ S) @ product_unit),FStepCfg2:((list @ ((((configuration_ext @ P) @ V) @ S) @ product_unit)) > ((list @ ((message @ P) @ V)) > (list @ ((((configuration_ext @ P) @ V) @ S) @ product_unit)))),FStepMsg2:((list @ ((((configuration_ext @ P) @ V) @ S) @ product_unit)) > ((list @ ((message @ P) @ V)) > (list @ ((message @ P) @ V))))]: (((((Q @ Cfg2) @ FStepCfg2) @ FStepMsg2) @ (zero_zero @ nat)))) => ((! [Cfg2:((((configuration_ext @ P) @ V) @ S) @ product_unit),FStepCfg2:((list @ ((((configuration_ext @ P) @ V) @ S) @ product_unit)) > ((list @ ((message @ P) @ V)) > (list @ ((((configuration_ext @ P) @ V) @ S) @ product_unit)))),FStepMsg2:((list @ ((((configuration_ext @ P) @ V) @ S) @ product_unit)) > ((list @ ((message @ P) @ V)) > (list @ ((message @ P) @ V)))),N:nat]: ((((((P2 @ Cfg2) @ FStepCfg2) @ FStepMsg2) @ N) => (((((Q @ Cfg2) @ FStepCfg2) @ FStepMsg2) @ N) => ((((Q @ Cfg2) @ FStepCfg2) @ FStepMsg2) @ (suc @ N)))))) => ((((Q @ A42) @ A5) @ A6) @ A7))))))))).
% 2.77/1.73 thf(fact_42_flpPseudoConsensus_OinfiniteExecutionCfg__infiniteExecutionMsg_Oinduct_I1_J, axiom, (! [P:$tType,V:$tType,S:$tType,Trans:(P > (S > ((messageValue @ V) > S))),Sends:(P > (S > ((messageValue @ V) > (((message @ P) @ V) > nat)))),Start:(P > S),P2:(((((configuration_ext @ P) @ V) @ S) @ product_unit) > (((list @ ((((configuration_ext @ P) @ V) @ S) @ product_unit)) > ((list @ ((message @ P) @ V)) > (list @ ((((configuration_ext @ P) @ V) @ S) @ product_unit)))) > (((list @ ((((configuration_ext @ P) @ V) @ S) @ product_unit)) > ((list @ ((message @ P) @ V)) > (list @ ((message @ P) @ V)))) > (nat > $o)))),Q:(((((configuration_ext @ P) @ V) @ S) @ product_unit) > (((list @ ((((configuration_ext @ P) @ V) @ S) @ product_unit)) > ((list @ ((message @ P) @ V)) > (list @ ((((configuration_ext @ P) @ V) @ S) @ product_unit)))) > (((list @ ((((configuration_ext @ P) @ V) @ S) @ product_unit)) > ((list @ ((message @ P) @ V)) > (list @ ((message @ P) @ V)))) > (nat > $o)))),A0:((((configuration_ext @ P) @ V) @ S) @ product_unit),A1:((list @ ((((configuration_ext @ P) @ V) @ S) @ product_unit)) > ((list @ ((message @ P) @ V)) > (list @ ((((configuration_ext @ P) @ V) @ S) @ product_unit)))),A2:((list @ ((((configuration_ext @ P) @ V) @ S) @ product_unit)) > ((list @ ((message @ P) @ V)) > (list @ ((message @ P) @ V)))),A32:nat]: ((((((((fLPThe1922692578sensus @ P) @ S) @ V) @ Trans) @ Sends) @ Start) => ((! [Cfg2:((((configuration_ext @ P) @ V) @ S) @ product_unit),FStepCfg2:((list @ ((((configuration_ext @ P) @ V) @ S) @ product_unit)) > ((list @ ((message @ P) @ V)) > (list @ ((((configuration_ext @ P) @ V) @ S) @ product_unit)))),FStepMsg2:((list @ ((((configuration_ext @ P) @ V) @ S) @ product_unit)) > ((list @ ((message @ P) @ V)) > (list @ ((message @ P) @ V))))]: (((((P2 @ Cfg2) @ FStepCfg2) @ FStepMsg2) @ (zero_zero @ nat)))) => ((! [Cfg2:((((configuration_ext @ P) @ V) @ S) @ product_unit),FStepCfg2:((list @ ((((configuration_ext @ P) @ V) @ S) @ product_unit)) > ((list @ ((message @ P) @ V)) > (list @ ((((configuration_ext @ P) @ V) @ S) @ product_unit)))),FStepMsg2:((list @ ((((configuration_ext @ P) @ V) @ S) @ product_unit)) > ((list @ ((message @ P) @ V)) > (list @ ((message @ P) @ V)))),N:nat]: ((((((P2 @ Cfg2) @ FStepCfg2) @ FStepMsg2) @ N) => (((((Q @ Cfg2) @ FStepCfg2) @ FStepMsg2) @ N) => ((((P2 @ Cfg2) @ FStepCfg2) @ FStepMsg2) @ (suc @ N)))))) => ((! [Cfg2:((((configuration_ext @ P) @ V) @ S) @ product_unit),FStepCfg2:((list @ ((((configuration_ext @ P) @ V) @ S) @ product_unit)) > ((list @ ((message @ P) @ V)) > (list @ ((((configuration_ext @ P) @ V) @ S) @ product_unit)))),FStepMsg2:((list @ ((((configuration_ext @ P) @ V) @ S) @ product_unit)) > ((list @ ((message @ P) @ V)) > (list @ ((message @ P) @ V))))]: (((((Q @ Cfg2) @ FStepCfg2) @ FStepMsg2) @ (zero_zero @ nat)))) => ((! [Cfg2:((((configuration_ext @ P) @ V) @ S) @ product_unit),FStepCfg2:((list @ ((((configuration_ext @ P) @ V) @ S) @ product_unit)) > ((list @ ((message @ P) @ V)) > (list @ ((((configuration_ext @ P) @ V) @ S) @ product_unit)))),FStepMsg2:((list @ ((((configuration_ext @ P) @ V) @ S) @ product_unit)) > ((list @ ((message @ P) @ V)) > (list @ ((message @ P) @ V)))),N:nat]: ((((((P2 @ Cfg2) @ FStepCfg2) @ FStepMsg2) @ N) => (((((Q @ Cfg2) @ FStepCfg2) @ FStepMsg2) @ N) => ((((Q @ Cfg2) @ FStepCfg2) @ FStepMsg2) @ (suc @ N)))))) => ((((P2 @ A0) @ A1) @ A2) @ A32))))))))).
% 2.77/1.73 thf(fact_43_mem__Collect__eq, axiom, (! [A:$tType,A8:A,P2:(A > $o)]: (((((member2 @ A) @ A8) @ ((collect @ A) @ P2)) = (P2 @ A8))))).
% 2.77/1.73 thf(fact_44_Collect__mem__eq, axiom, (! [A:$tType,A4:(set @ A)]: ((((collect @ A) @ (^ [X4:A]: ((((member2 @ A) @ X4) @ A4)))) = A4)))).
% 2.77/1.73 thf(fact_45_Collect__cong, axiom, (! [A:$tType,P2:(A > $o),Q:(A > $o)]: (((! [X:A]: (((P2 @ X) = (Q @ X)))) => (((collect @ A) @ P2) = ((collect @ A) @ Q)))))).
% 2.77/1.73 thf(fact_46_ext, axiom, (! [B:$tType,A:$tType,F2:(A > B),G:(A > B)]: (((! [X:A]: (((F2 @ X) = (G @ X)))) => (F2 = G))))).
% 2.77/1.73 thf(fact_47_flpPseudoConsensus_OinfiniteExecutionMsg_Osimps_I2_J, axiom, (! [P:$tType,V:$tType,S:$tType,Trans:(P > (S > ((messageValue @ V) > S))),Sends:(P > (S > ((messageValue @ V) > (((message @ P) @ V) > nat)))),Start:(P > S),Cfg:((((configuration_ext @ P) @ V) @ S) @ product_unit),FStepCfg:((list @ ((((configuration_ext @ P) @ V) @ S) @ product_unit)) > ((list @ ((message @ P) @ V)) > (list @ ((((configuration_ext @ P) @ V) @ S) @ product_unit)))),FStepMsg:((list @ ((((configuration_ext @ P) @ V) @ S) @ product_unit)) > ((list @ ((message @ P) @ V)) > (list @ ((message @ P) @ V)))),N2:nat]: ((((((((fLPThe1922692578sensus @ P) @ S) @ V) @ Trans) @ Sends) @ Start) => ((((((((fLPThe221390223ionMsg @ P) @ V) @ S) @ Cfg) @ FStepCfg) @ FStepMsg) @ (suc @ N2)) = ((FStepMsg @ (((((((fLPThe137922386ionCfg @ P) @ V) @ S) @ Cfg) @ FStepCfg) @ FStepMsg) @ N2)) @ (((((((fLPThe221390223ionMsg @ P) @ V) @ S) @ Cfg) @ FStepCfg) @ FStepMsg) @ N2))))))).
% 2.77/1.73 thf(fact_48_flpPseudoConsensus_OinfiniteExecutionCfg_Osimps_I2_J, axiom, (! [P:$tType,V:$tType,S:$tType,Trans:(P > (S > ((messageValue @ V) > S))),Sends:(P > (S > ((messageValue @ V) > (((message @ P) @ V) > nat)))),Start:(P > S),Cfg:((((configuration_ext @ P) @ V) @ S) @ product_unit),FStepCfg:((list @ ((((configuration_ext @ P) @ V) @ S) @ product_unit)) > ((list @ ((message @ P) @ V)) > (list @ ((((configuration_ext @ P) @ V) @ S) @ product_unit)))),FStepMsg:((list @ ((((configuration_ext @ P) @ V) @ S) @ product_unit)) > ((list @ ((message @ P) @ V)) > (list @ ((message @ P) @ V)))),N2:nat]: ((((((((fLPThe1922692578sensus @ P) @ S) @ V) @ Trans) @ Sends) @ Start) => ((((((((fLPThe137922386ionCfg @ P) @ V) @ S) @ Cfg) @ FStepCfg) @ FStepMsg) @ (suc @ N2)) = ((FStepCfg @ (((((((fLPThe137922386ionCfg @ P) @ V) @ S) @ Cfg) @ FStepCfg) @ FStepMsg) @ N2)) @ (((((((fLPThe221390223ionMsg @ P) @ V) @ S) @ Cfg) @ FStepCfg) @ FStepMsg) @ N2))))))).
% 2.77/1.73 thf(fact_49_flpPseudoConsensus_OinfiniteExecutionMsg_Oelims, axiom, (! [P:$tType,V:$tType,S:$tType,Trans:(P > (S > ((messageValue @ V) > S))),Sends:(P > (S > ((messageValue @ V) > (((message @ P) @ V) > nat)))),Start:(P > S),X3:((((configuration_ext @ P) @ V) @ S) @ product_unit),Xa:((list @ ((((configuration_ext @ P) @ V) @ S) @ product_unit)) > ((list @ ((message @ P) @ V)) > (list @ ((((configuration_ext @ P) @ V) @ S) @ product_unit)))),Xb:((list @ ((((configuration_ext @ P) @ V) @ S) @ product_unit)) > ((list @ ((message @ P) @ V)) > (list @ ((message @ P) @ V)))),Xc:nat,Y:(list @ ((message @ P) @ V))]: ((((((((fLPThe1922692578sensus @ P) @ S) @ V) @ Trans) @ Sends) @ Start) => (((((((((fLPThe221390223ionMsg @ P) @ V) @ S) @ X3) @ Xa) @ Xb) @ Xc) = Y) => (((Xc = (zero_zero @ nat)) => (Y != (nil @ ((message @ P) @ V)))) => (~ ((! [N:nat]: (((Xc = (suc @ N)) => (Y != ((Xb @ (((((((fLPThe137922386ionCfg @ P) @ V) @ S) @ X3) @ Xa) @ Xb) @ N)) @ (((((((fLPThe221390223ionMsg @ P) @ V) @ S) @ X3) @ Xa) @ Xb) @ N)))))))))))))).
% 2.77/1.73 thf(fact_50_flpPseudoConsensus_OinfiniteExecutionMsg_Osimps_I1_J, axiom, (! [S:$tType,V:$tType,P:$tType,Trans:(P > (S > ((messageValue @ V) > S))),Sends:(P > (S > ((messageValue @ V) > (((message @ P) @ V) > nat)))),Start:(P > S),Cfg:((((configuration_ext @ P) @ V) @ S) @ product_unit),FStepCfg:((list @ ((((configuration_ext @ P) @ V) @ S) @ product_unit)) > ((list @ ((message @ P) @ V)) > (list @ ((((configuration_ext @ P) @ V) @ S) @ product_unit)))),FStepMsg:((list @ ((((configuration_ext @ P) @ V) @ S) @ product_unit)) > ((list @ ((message @ P) @ V)) > (list @ ((message @ P) @ V))))]: ((((((((fLPThe1922692578sensus @ P) @ S) @ V) @ Trans) @ Sends) @ Start) => ((((((((fLPThe221390223ionMsg @ P) @ V) @ S) @ Cfg) @ FStepCfg) @ FStepMsg) @ (zero_zero @ nat)) = (nil @ ((message @ P) @ V))))))).
% 2.77/1.73 thf(fact_51_flpPseudoConsensus_OinfiniteExecutionCfg_Oelims, axiom, (! [P:$tType,V:$tType,S:$tType,Trans:(P > (S > ((messageValue @ V) > S))),Sends:(P > (S > ((messageValue @ V) > (((message @ P) @ V) > nat)))),Start:(P > S),X3:((((configuration_ext @ P) @ V) @ S) @ product_unit),Xa:((list @ ((((configuration_ext @ P) @ V) @ S) @ product_unit)) > ((list @ ((message @ P) @ V)) > (list @ ((((configuration_ext @ P) @ V) @ S) @ product_unit)))),Xb:((list @ ((((configuration_ext @ P) @ V) @ S) @ product_unit)) > ((list @ ((message @ P) @ V)) > (list @ ((message @ P) @ V)))),Xc:nat,Y:(list @ ((((configuration_ext @ P) @ V) @ S) @ product_unit))]: ((((((((fLPThe1922692578sensus @ P) @ S) @ V) @ Trans) @ Sends) @ Start) => (((((((((fLPThe137922386ionCfg @ P) @ V) @ S) @ X3) @ Xa) @ Xb) @ Xc) = Y) => (((Xc = (zero_zero @ nat)) => (Y != (((cons @ ((((configuration_ext @ P) @ V) @ S) @ product_unit)) @ X3) @ (nil @ ((((configuration_ext @ P) @ V) @ S) @ product_unit))))) => (~ ((! [N:nat]: (((Xc = (suc @ N)) => (Y != ((Xa @ (((((((fLPThe137922386ionCfg @ P) @ V) @ S) @ X3) @ Xa) @ Xb) @ N)) @ (((((((fLPThe221390223ionMsg @ P) @ V) @ S) @ X3) @ Xa) @ Xb) @ N)))))))))))))).
% 2.77/1.73 thf(fact_52_old_Onat_Oinject, axiom, (! [Nat:nat,Nat2:nat]: ((((suc @ Nat) = (suc @ Nat2)) = (Nat = Nat2))))).
% 2.77/1.73 thf(fact_53_nat_Oinject, axiom, (! [X23:nat,Y23:nat]: ((((suc @ X23) = (suc @ Y23)) = (X23 = Y23))))).
% 2.77/1.73 thf(fact_54_nat_Odistinct_I1_J, axiom, (! [X23:nat]: (((zero_zero @ nat) != (suc @ X23))))).
% 2.77/1.73 thf(fact_55_old_Onat_Odistinct_I2_J, axiom, (! [Nat3:nat]: (((suc @ Nat3) != (zero_zero @ nat))))).
% 2.77/1.73 thf(fact_56_old_Onat_Odistinct_I1_J, axiom, (! [Nat2:nat]: (((zero_zero @ nat) != (suc @ Nat2))))).
% 2.77/1.73 thf(fact_57_nat_OdiscI, axiom, (! [Nat:nat,X23:nat]: (((Nat = (suc @ X23)) => (Nat != (zero_zero @ nat)))))).
% 2.77/1.73 thf(fact_58_nat__induct, axiom, (! [P2:(nat > $o),N2:nat]: (((P2 @ (zero_zero @ nat)) => ((! [N:nat]: (((P2 @ N) => (P2 @ (suc @ N))))) => (P2 @ N2)))))).
% 2.77/1.73 thf(fact_59_Suc__inject, axiom, (! [X3:nat,Y:nat]: ((((suc @ X3) = (suc @ Y)) => (X3 = Y))))).
% 2.77/1.73 thf(fact_60_n__not__Suc__n, axiom, (! [N2:nat]: ((N2 != (suc @ N2))))).
% 2.77/1.73 thf(fact_61_not0__implies__Suc, axiom, (! [N2:nat]: (((N2 != (zero_zero @ nat)) => (? [M:nat]: ((N2 = (suc @ M)))))))).
% 2.77/1.73 thf(fact_62_old_Onat_Oinducts, axiom, (! [P2:(nat > $o),Nat:nat]: (((P2 @ (zero_zero @ nat)) => ((! [Nat4:nat]: (((P2 @ Nat4) => (P2 @ (suc @ Nat4))))) => (P2 @ Nat)))))).
% 2.77/1.73 thf(fact_63_old_Onat_Oexhaust, axiom, (! [Y:nat]: (((Y != (zero_zero @ nat)) => (~ ((! [Nat4:nat]: ((Y != (suc @ Nat4)))))))))).
% 2.77/1.73 thf(fact_64_Zero__not__Suc, axiom, (! [M2:nat]: (((zero_zero @ nat) != (suc @ M2))))).
% 2.77/1.73 thf(fact_65_Zero__neq__Suc, axiom, (! [M2:nat]: (((zero_zero @ nat) != (suc @ M2))))).
% 2.77/1.73 thf(fact_66_Suc__neq__Zero, axiom, (! [M2:nat]: (((suc @ M2) != (zero_zero @ nat))))).
% 2.77/1.73 thf(fact_67_zero__induct, axiom, (! [P2:(nat > $o),K:nat]: (((P2 @ K) => ((! [N:nat]: (((P2 @ (suc @ N)) => (P2 @ N)))) => (P2 @ (zero_zero @ nat))))))).
% 2.77/1.73 thf(fact_68_diff__induct, axiom, (! [P2:(nat > (nat > $o)),M2:nat,N2:nat]: (((! [X:nat]: (((P2 @ X) @ (zero_zero @ nat)))) => ((! [Y3:nat]: (((P2 @ (zero_zero @ nat)) @ (suc @ Y3)))) => ((! [X:nat,Y3:nat]: ((((P2 @ X) @ Y3) => ((P2 @ (suc @ X)) @ (suc @ Y3))))) => ((P2 @ M2) @ N2))))))).
% 2.77/1.73 thf(fact_69_dependent__nat__choice, axiom, (! [A:$tType,P2:(nat > (A > $o)),Q:(nat > (A > (A > $o)))]: (((? [X_12:A]: (((P2 @ (zero_zero @ nat)) @ X_12))) => ((! [X:A,N:nat]: ((((P2 @ N) @ X) => (? [Y4:A]: ((((P2 @ (suc @ N)) @ Y4) & (((Q @ N) @ X) @ Y4))))))) => (? [F:(nat > A)]: ((! [N3:nat]: ((((P2 @ N3) @ (F @ N3)) & (((Q @ N3) @ (F @ N3)) @ (F @ (suc @ N3))))))))))))).
% 2.77/1.73 thf(fact_70_product__lists_Osimps_I1_J, axiom, (! [A:$tType]: ((((product_lists @ A) @ (nil @ (list @ A))) = (((cons @ (list @ A)) @ (nil @ A)) @ (nil @ (list @ A))))))).
% 2.77/1.73 thf(fact_71_subseqs_Osimps_I1_J, axiom, (! [A:$tType]: ((((subseqs @ A) @ (nil @ A)) = (((cons @ (list @ A)) @ (nil @ A)) @ (nil @ (list @ A))))))).
% 2.77/1.73 thf(fact_72_gen__length__code_I2_J, axiom, (! [B:$tType,N2:nat,X3:B,Xs:(list @ B)]: (((((gen_length @ B) @ N2) @ (((cons @ B) @ X3) @ Xs)) = (((gen_length @ B) @ (suc @ N2)) @ Xs))))).
% 2.77/1.73 thf(fact_73_count__list_Osimps_I1_J, axiom, (! [A:$tType,Y:A]: (((((count_list @ A) @ (nil @ A)) @ Y) = (zero_zero @ nat))))).
% 2.77/1.73 thf(fact_74_map__tailrec__rev_Oelims, axiom, (! [A:$tType,B:$tType,X3:(A > B),Xa:(list @ A),Xb:(list @ B),Y:(list @ B)]: ((((((((map_tailrec_rev @ A) @ B) @ X3) @ Xa) @ Xb) = Y) => (((Xa = (nil @ A)) => (Y != Xb)) => (~ ((! [A3:A,As:(list @ A)]: (((Xa = (((cons @ A) @ A3) @ As)) => (Y != (((((map_tailrec_rev @ A) @ B) @ X3) @ As) @ (((cons @ B) @ (X3 @ A3)) @ Xb))))))))))))).
% 2.77/1.73 thf(fact_75_arg__min__list_Osimps_I1_J, axiom, (! [B:$tType,A:$tType]: (((linorder @ B) => (! [F2:(A > B),X3:A]: ((((((arg_min_list @ A) @ B) @ F2) @ (((cons @ A) @ X3) @ (nil @ A))) = X3))))))).
% 2.77/1.73 thf(fact_76_map__tailrec__rev_Osimps_I2_J, axiom, (! [A:$tType,B:$tType,F2:(A > B),A8:A,As2:(list @ A),Bs2:(list @ B)]: (((((((map_tailrec_rev @ A) @ B) @ F2) @ (((cons @ A) @ A8) @ As2)) @ Bs2) = (((((map_tailrec_rev @ A) @ B) @ F2) @ As2) @ (((cons @ B) @ (F2 @ A8)) @ Bs2)))))).
% 2.77/1.73 thf(fact_77_map__tailrec__rev_Osimps_I1_J, axiom, (! [A:$tType,B:$tType,F2:(A > B),Bs2:(list @ B)]: (((((((map_tailrec_rev @ A) @ B) @ F2) @ (nil @ A)) @ Bs2) = Bs2)))).
% 2.77/1.73 thf(fact_78_gen__length__code_I1_J, axiom, (! [A:$tType,N2:nat]: (((((gen_length @ A) @ N2) @ (nil @ A)) = N2)))).
% 2.77/1.73 thf(fact_79_ord_Olexordp__eq__simps_I3_J, axiom, (! [A:$tType,Less:(A > (A > $o)),X3:A,Xs:(list @ A)]: ((~ (((((lexordp_eq @ A) @ Less) @ (((cons @ A) @ X3) @ Xs)) @ (nil @ A))))))).
% 2.77/1.73 thf(fact_80_bind__simps_I1_J, axiom, (! [B:$tType,A:$tType,F2:(B > (list @ A))]: ((((((bind @ B) @ A) @ (nil @ B)) @ F2) = (nil @ A))))).
% 2.77/1.73 thf(fact_81_listrelp_Ocases, axiom, (! [A:$tType,B:$tType,R:(A > (B > $o)),A1:(list @ A),A2:(list @ B)]: (((((((listrelp @ A) @ B) @ R) @ A1) @ A2) => (((A1 = (nil @ A)) => (A2 != (nil @ B))) => (~ ((! [X:A,Y3:B,Xs2:(list @ A)]: (((A1 = (((cons @ A) @ X) @ Xs2)) => (! [Ys3:(list @ B)]: (((A2 = (((cons @ B) @ Y3) @ Ys3)) => (((R @ X) @ Y3) => (~ ((((((listrelp @ A) @ B) @ R) @ Xs2) @ Ys3))))))))))))))))).
% 2.77/1.73 thf(fact_82_listrelp_Osimps, axiom, (! [B:$tType,A:$tType]: ((((listrelp @ A) @ B) = (^ [R2:(A > (B > $o)),A12:(list @ A),A22:(list @ B)]: ((((A12 = (nil @ A)) & (A22 = (nil @ B))) | (? [X4:A,Y2:B,Xs3:(list @ A),Ys:(list @ B)]: (((A12 = (((cons @ A) @ X4) @ Xs3)) & ((A22 = (((cons @ B) @ Y2) @ Ys)) & (((R2 @ X4) @ Y2) & (((((listrelp @ A) @ B) @ R2) @ Xs3) @ Ys))))))))))))).
% 2.77/1.73 thf(fact_83_listrelp_Oinducts, axiom, (! [A:$tType,B:$tType,R:(A > (B > $o)),X12:(list @ A),X23:(list @ B),P2:((list @ A) > ((list @ B) > $o))]: (((((((listrelp @ A) @ B) @ R) @ X12) @ X23) => (((P2 @ (nil @ A)) @ (nil @ B)) => ((! [X:A,Y3:B,Xs2:(list @ A),Ys3:(list @ B)]: ((((R @ X) @ Y3) => ((((((listrelp @ A) @ B) @ R) @ Xs2) @ Ys3) => (((P2 @ Xs2) @ Ys3) => ((P2 @ (((cons @ A) @ X) @ Xs2)) @ (((cons @ B) @ Y3) @ Ys3))))))) => ((P2 @ X12) @ X23))))))).
% 2.77/1.73 thf(fact_84_flpPseudoConsensus_Oaxioms_I2_J, axiom, (! [V:$tType,S:$tType,P:$tType,Trans:(P > (S > ((messageValue @ V) > S))),Sends:(P > (S > ((messageValue @ V) > (((message @ P) @ V) > nat)))),Start:(P > S)]: ((((((((fLPThe1922692578sensus @ P) @ S) @ V) @ Trans) @ Sends) @ Start) => ((((((fLPThe128449925axioms @ P) @ S) @ V) @ Trans) @ Sends) @ Start))))).
% 2.77/1.73 thf(fact_85_ord_Olexordp__eq__simps_I4_J, axiom, (! [A:$tType,Less:(A > (A > $o)),X3:A,Xs:(list @ A),Y:A,Ys2:(list @ A)]: ((((((lexordp_eq @ A) @ Less) @ (((cons @ A) @ X3) @ Xs)) @ (((cons @ A) @ Y) @ Ys2)) = (((Less @ X3) @ Y) | ((~ (((Less @ Y) @ X3))) & ((((lexordp_eq @ A) @ Less) @ Xs) @ Ys2))))))).
% 2.77/1.73 thf(fact_86_ord_Olexordp__eq__simps_I1_J, axiom, (! [A:$tType,Less:(A > (A > $o)),Ys2:(list @ A)]: (((((lexordp_eq @ A) @ Less) @ (nil @ A)) @ Ys2)))).
% 2.77/1.73 thf(fact_87_ord_Olexordp__eq__simps_I2_J, axiom, (! [A:$tType,Less:(A > (A > $o)),Xs:(list @ A)]: ((((((lexordp_eq @ A) @ Less) @ Xs) @ (nil @ A)) = (Xs = (nil @ A)))))).
% 2.77/1.73 thf(fact_88_ord_Olexordp__eq__refl, axiom, (! [A:$tType,Less:(A > (A > $o)),Xs:(list @ A)]: (((((lexordp_eq @ A) @ Less) @ Xs) @ Xs)))).
% 2.77/1.73 thf(fact_89_ord_Olexordp__eq_Ocong, axiom, (! [A:$tType]: (((lexordp_eq @ A) = (lexordp_eq @ A))))).
% 2.77/1.73 thf(fact_90_ord_Olexordp__eq_OCons__eq, axiom, (! [A:$tType,Less:(A > (A > $o)),X3:A,Y:A,Xs:(list @ A),Ys2:(list @ A)]: (((~ (((Less @ X3) @ Y))) => ((~ (((Less @ Y) @ X3))) => (((((lexordp_eq @ A) @ Less) @ Xs) @ Ys2) => ((((lexordp_eq @ A) @ Less) @ (((cons @ A) @ X3) @ Xs)) @ (((cons @ A) @ Y) @ Ys2)))))))).
% 2.77/1.73 thf(fact_91_ord_Olexordp__eq_OCons, axiom, (! [A:$tType,Less:(A > (A > $o)),X3:A,Y:A,Xs:(list @ A),Ys2:(list @ A)]: ((((Less @ X3) @ Y) => ((((lexordp_eq @ A) @ Less) @ (((cons @ A) @ X3) @ Xs)) @ (((cons @ A) @ Y) @ Ys2)))))).
% 2.77/1.73 thf(fact_92_ord_Olexordp__eq_ONil, axiom, (! [A:$tType,Less:(A > (A > $o)),Ys2:(list @ A)]: (((((lexordp_eq @ A) @ Less) @ (nil @ A)) @ Ys2)))).
% 2.77/1.73 thf(fact_93_listrelp_OCons, axiom, (! [A:$tType,B:$tType,R:(A > (B > $o)),X3:A,Y:B,Xs:(list @ A),Ys2:(list @ B)]: ((((R @ X3) @ Y) => ((((((listrelp @ A) @ B) @ R) @ Xs) @ Ys2) => (((((listrelp @ A) @ B) @ R) @ (((cons @ A) @ X3) @ Xs)) @ (((cons @ B) @ Y) @ Ys2))))))).
% 2.77/1.73 thf(fact_94_listrelp_ONil, axiom, (! [A:$tType,B:$tType,R:(A > (B > $o))]: ((((((listrelp @ A) @ B) @ R) @ (nil @ A)) @ (nil @ B))))).
% 2.77/1.73 thf(fact_95_ord_Olexordp__eq_Oinducts, axiom, (! [A:$tType,Less:(A > (A > $o)),X12:(list @ A),X23:(list @ A),P2:((list @ A) > ((list @ A) > $o))]: ((((((lexordp_eq @ A) @ Less) @ X12) @ X23) => ((! [X_1:(list @ A)]: (((P2 @ (nil @ A)) @ X_1))) => ((! [X:A,Y3:A,Xs2:(list @ A),Ys3:(list @ A)]: ((((Less @ X) @ Y3) => ((P2 @ (((cons @ A) @ X) @ Xs2)) @ (((cons @ A) @ Y3) @ Ys3))))) => ((! [X:A,Y3:A,Xs2:(list @ A),Ys3:(list @ A)]: (((~ (((Less @ X) @ Y3))) => ((~ (((Less @ Y3) @ X))) => (((((lexordp_eq @ A) @ Less) @ Xs2) @ Ys3) => (((P2 @ Xs2) @ Ys3) => ((P2 @ (((cons @ A) @ X) @ Xs2)) @ (((cons @ A) @ Y3) @ Ys3)))))))) => ((P2 @ X12) @ X23)))))))).
% 2.77/1.73 thf(fact_96_ord_Olexordp__eq_Osimps, axiom, (! [A:$tType]: (((lexordp_eq @ A) = (^ [Less2:(A > (A > $o)),A12:(list @ A),A22:(list @ A)]: (((? [Ys:(list @ A)]: (((A12 = (nil @ A)) & (A22 = Ys)))) | ((? [X4:A,Y2:A,Xs3:(list @ A),Ys:(list @ A)]: (((A12 = (((cons @ A) @ X4) @ Xs3)) & ((A22 = (((cons @ A) @ Y2) @ Ys)) & ((Less2 @ X4) @ Y2))))) | (? [X4:A,Y2:A,Xs3:(list @ A),Ys:(list @ A)]: (((A12 = (((cons @ A) @ X4) @ Xs3)) & ((A22 = (((cons @ A) @ Y2) @ Ys)) & ((~ (((Less2 @ X4) @ Y2))) & ((~ (((Less2 @ Y2) @ X4))) & ((((lexordp_eq @ A) @ Less2) @ Xs3) @ Ys))))))))))))))).
% 2.77/1.73 thf(fact_97_ord_Olexordp__eq_Ocases, axiom, (! [A:$tType,Less:(A > (A > $o)),A1:(list @ A),A2:(list @ A)]: ((((((lexordp_eq @ A) @ Less) @ A1) @ A2) => ((A1 != (nil @ A)) => ((! [X:A]: (((? [Xs2:(list @ A)]: ((A1 = (((cons @ A) @ X) @ Xs2)))) => (! [Y3:A]: (((? [Ys3:(list @ A)]: ((A2 = (((cons @ A) @ Y3) @ Ys3)))) => (~ (((Less @ X) @ Y3))))))))) => (~ ((! [X:A,Y3:A,Xs2:(list @ A)]: (((A1 = (((cons @ A) @ X) @ Xs2)) => (! [Ys3:(list @ A)]: (((A2 = (((cons @ A) @ Y3) @ Ys3)) => ((~ (((Less @ X) @ Y3))) => ((~ (((Less @ Y3) @ X))) => (~ (((((lexordp_eq @ A) @ Less) @ Xs2) @ Ys3))))))))))))))))))).
% 2.77/1.73 thf(fact_98_flpPseudoConsensus__def, axiom, (! [V:$tType,S:$tType,P:$tType]: (((((fLPThe1922692578sensus @ P) @ S) @ V) = (^ [Trans2:(P > (S > ((messageValue @ V) > S))),Sends2:(P > (S > ((messageValue @ V) > (((message @ P) @ V) > nat)))),Start2:(P > S)]: ((((((flpSystem @ P) @ S) @ V) @ Sends2) & ((((((fLPThe128449925axioms @ P) @ S) @ V) @ Trans2) @ Sends2) @ Start2)))))))).
% 2.77/1.73 thf(fact_99_flpPseudoConsensus_Ointro, axiom, (! [V:$tType,S:$tType,P:$tType,Sends:(P > (S > ((messageValue @ V) > (((message @ P) @ V) > nat)))),Trans:(P > (S > ((messageValue @ V) > S))),Start:(P > S)]: ((((((flpSystem @ P) @ S) @ V) @ Sends) => (((((((fLPThe128449925axioms @ P) @ S) @ V) @ Trans) @ Sends) @ Start) => ((((((fLPThe1922692578sensus @ P) @ S) @ V) @ Trans) @ Sends) @ Start)))))).
% 2.77/1.73 thf(fact_100_lexordp__eq__simps_I3_J, axiom, (! [A:$tType]: (((ord @ A) => (! [X3:A,Xs:(list @ A)]: ((~ ((((ord_lexordp_eq @ A) @ (((cons @ A) @ X3) @ Xs)) @ (nil @ A)))))))))).
% 2.77/1.73 thf(fact_101_zero__natural_Orsp, axiom, ((zero_zero @ nat) = (zero_zero @ nat))).
% 2.77/1.73 thf(fact_102_member__rec_I2_J, axiom, (! [A:$tType,Y:A]: ((~ ((((member @ A) @ (nil @ A)) @ Y)))))).
% 2.77/1.73 thf(fact_103_member__rec_I1_J, axiom, (! [A:$tType,X3:A,Xs:(list @ A),Y:A]: (((((member @ A) @ (((cons @ A) @ X3) @ Xs)) @ Y) = ((X3 = Y) | (((member @ A) @ Xs) @ Y)))))).
% 2.77/1.73 thf(fact_104_lexordp__eq__simps_I2_J, axiom, (! [A:$tType]: (((ord @ A) => (! [Xs:(list @ A)]: (((((ord_lexordp_eq @ A) @ Xs) @ (nil @ A)) = (Xs = (nil @ A))))))))).
% 2.77/1.73 thf(fact_105_lexordp__eq__simps_I1_J, axiom, (! [A:$tType]: (((ord @ A) => (! [Ys2:(list @ A)]: ((((ord_lexordp_eq @ A) @ (nil @ A)) @ Ys2))))))).
% 2.77/1.73 thf(fact_106_lexordp__eq__refl, axiom, (! [A:$tType]: (((ord @ A) => (! [Xs:(list @ A)]: ((((ord_lexordp_eq @ A) @ Xs) @ Xs))))))).
% 2.77/1.73 thf(fact_107_lexordp__eq__trans, axiom, (! [A:$tType]: (((linorder @ A) => (! [Xs:(list @ A),Ys2:(list @ A),Zs2:(list @ A)]: (((((ord_lexordp_eq @ A) @ Xs) @ Ys2) => ((((ord_lexordp_eq @ A) @ Ys2) @ Zs2) => (((ord_lexordp_eq @ A) @ Xs) @ Zs2))))))))).
% 2.77/1.73 thf(fact_108_lexordp__eq__linear, axiom, (! [A:$tType]: (((linorder @ A) => (! [Xs:(list @ A),Ys2:(list @ A)]: (((((ord_lexordp_eq @ A) @ Xs) @ Ys2) | (((ord_lexordp_eq @ A) @ Ys2) @ Xs)))))))).
% 2.77/1.73 thf(fact_109_lexordp__eq__antisym, axiom, (! [A:$tType]: (((linorder @ A) => (! [Xs:(list @ A),Ys2:(list @ A)]: (((((ord_lexordp_eq @ A) @ Xs) @ Ys2) => ((((ord_lexordp_eq @ A) @ Ys2) @ Xs) => (Xs = Ys2))))))))).
% 2.77/1.73 thf(fact_110_lexordp__eq_ONil, axiom, (! [A:$tType]: (((ord @ A) => (! [Ys2:(list @ A)]: ((((ord_lexordp_eq @ A) @ (nil @ A)) @ Ys2))))))).
% 2.77/1.73 thf(fact_111_flpPseudoConsensus_Oaxioms_I1_J, axiom, (! [V:$tType,S:$tType,P:$tType,Trans:(P > (S > ((messageValue @ V) > S))),Sends:(P > (S > ((messageValue @ V) > (((message @ P) @ V) > nat)))),Start:(P > S)]: ((((((((fLPThe1922692578sensus @ P) @ S) @ V) @ Trans) @ Sends) @ Start) => ((((flpSystem @ P) @ S) @ V) @ Sends))))).
% 2.77/1.73 thf(fact_112_lexordp__eq_Ocases, axiom, (! [A:$tType]: (((ord @ A) => (! [A1:(list @ A),A2:(list @ A)]: (((((ord_lexordp_eq @ A) @ A1) @ A2) => ((A1 != (nil @ A)) => ((! [X:A]: (((? [Xs2:(list @ A)]: ((A1 = (((cons @ A) @ X) @ Xs2)))) => (! [Y3:A]: (((? [Ys3:(list @ A)]: ((A2 = (((cons @ A) @ Y3) @ Ys3)))) => (~ ((((ord_less @ A) @ X) @ Y3))))))))) => (~ ((! [X:A,Y3:A,Xs2:(list @ A)]: (((A1 = (((cons @ A) @ X) @ Xs2)) => (! [Ys3:(list @ A)]: (((A2 = (((cons @ A) @ Y3) @ Ys3)) => ((~ ((((ord_less @ A) @ X) @ Y3))) => ((~ ((((ord_less @ A) @ Y3) @ X))) => (~ ((((ord_lexordp_eq @ A) @ Xs2) @ Ys3)))))))))))))))))))))).
% 2.77/1.73 thf(fact_113_lexordp__eq_Osimps, axiom, (! [A:$tType]: (((ord @ A) => ((ord_lexordp_eq @ A) = (^ [A12:(list @ A),A22:(list @ A)]: (((? [Ys:(list @ A)]: (((A12 = (nil @ A)) & (A22 = Ys)))) | ((? [X4:A,Y2:A,Xs3:(list @ A),Ys:(list @ A)]: (((A12 = (((cons @ A) @ X4) @ Xs3)) & ((A22 = (((cons @ A) @ Y2) @ Ys)) & (((ord_less @ A) @ X4) @ Y2))))) | (? [X4:A,Y2:A,Xs3:(list @ A),Ys:(list @ A)]: (((A12 = (((cons @ A) @ X4) @ Xs3)) & ((A22 = (((cons @ A) @ Y2) @ Ys)) & ((~ ((((ord_less @ A) @ X4) @ Y2))) & ((~ ((((ord_less @ A) @ Y2) @ X4))) & (((ord_lexordp_eq @ A) @ Xs3) @ Ys)))))))))))))))).
% 2.77/1.73 thf(fact_114_lexordp__eq_Oinducts, axiom, (! [A:$tType]: (((ord @ A) => (! [X12:(list @ A),X23:(list @ A),P2:((list @ A) > ((list @ A) > $o))]: (((((ord_lexordp_eq @ A) @ X12) @ X23) => ((! [X_1:(list @ A)]: (((P2 @ (nil @ A)) @ X_1))) => ((! [X:A,Y3:A,Xs2:(list @ A),Ys3:(list @ A)]: (((((ord_less @ A) @ X) @ Y3) => ((P2 @ (((cons @ A) @ X) @ Xs2)) @ (((cons @ A) @ Y3) @ Ys3))))) => ((! [X:A,Y3:A,Xs2:(list @ A),Ys3:(list @ A)]: (((~ ((((ord_less @ A) @ X) @ Y3))) => ((~ ((((ord_less @ A) @ Y3) @ X))) => ((((ord_lexordp_eq @ A) @ Xs2) @ Ys3) => (((P2 @ Xs2) @ Ys3) => ((P2 @ (((cons @ A) @ X) @ Xs2)) @ (((cons @ A) @ Y3) @ Ys3)))))))) => ((P2 @ X12) @ X23))))))))))).
% 2.77/1.73 thf(fact_115_splice_Oelims, axiom, (! [A:$tType,X3:(list @ A),Xa:(list @ A),Y:(list @ A)]: ((((((splice @ A) @ X3) @ Xa) = Y) => (((X3 = (nil @ A)) => (Y != Xa)) => (~ ((! [X:A,Xs2:(list @ A)]: (((X3 = (((cons @ A) @ X) @ Xs2)) => (Y != (((cons @ A) @ X) @ (((splice @ A) @ Xa) @ Xs2))))))))))))).
% 2.77/1.73 thf(fact_116_of__nat__aux_Osimps_I2_J, axiom, (! [A:$tType]: (((semiring_1 @ A) => (! [Inc:(A > A),N2:nat,I:A]: ((((((semiri532925092at_aux @ A) @ Inc) @ (suc @ N2)) @ I) = ((((semiri532925092at_aux @ A) @ Inc) @ N2) @ (Inc @ I))))))))).
% 2.77/1.73 thf(fact_117_bot__nat__0_Onot__eq__extremum, axiom, (! [A8:nat]: (((A8 != (zero_zero @ nat)) = (((ord_less @ nat) @ (zero_zero @ nat)) @ A8))))).
% 2.77/1.73 thf(fact_118_less__nat__zero__code, axiom, (! [N2:nat]: ((~ ((((ord_less @ nat) @ N2) @ (zero_zero @ nat))))))).
% 2.77/1.73 thf(fact_119_neq0__conv, axiom, (! [N2:nat]: (((N2 != (zero_zero @ nat)) = (((ord_less @ nat) @ (zero_zero @ nat)) @ N2))))).
% 2.77/1.73 thf(fact_120_lessI, axiom, (! [N2:nat]: ((((ord_less @ nat) @ N2) @ (suc @ N2))))).
% 2.77/1.73 thf(fact_121_Suc__mono, axiom, (! [M2:nat,N2:nat]: (((((ord_less @ nat) @ M2) @ N2) => (((ord_less @ nat) @ (suc @ M2)) @ (suc @ N2)))))).
% 2.77/1.73 thf(fact_122_Suc__less__eq, axiom, (! [M2:nat,N2:nat]: (((((ord_less @ nat) @ (suc @ M2)) @ (suc @ N2)) = (((ord_less @ nat) @ M2) @ N2))))).
% 2.77/1.73 thf(fact_123_not__gr__zero, axiom, (! [A:$tType]: (((canoni770627133id_add @ A) => (! [N2:A]: (((~ ((((ord_less @ A) @ (zero_zero @ A)) @ N2))) = (N2 = (zero_zero @ A))))))))).
% 2.77/1.73 thf(fact_124_zero__less__Suc, axiom, (! [N2:nat]: ((((ord_less @ nat) @ (zero_zero @ nat)) @ (suc @ N2))))).
% 2.77/1.73 thf(fact_125_less__Suc0, axiom, (! [N2:nat]: (((((ord_less @ nat) @ N2) @ (suc @ (zero_zero @ nat))) = (N2 = (zero_zero @ nat)))))).
% 2.77/1.73 thf(fact_126_split__Nil__iff, axiom, (! [A:$tType,Xs:(list @ A),Ys2:(list @ A)]: ((((((splice @ A) @ Xs) @ Ys2) = (nil @ A)) = ((Xs = (nil @ A)) & (Ys2 = (nil @ A))))))).
% 2.77/1.73 thf(fact_127_splice__Nil2, axiom, (! [A:$tType,Xs:(list @ A)]: (((((splice @ A) @ Xs) @ (nil @ A)) = Xs)))).
% 2.77/1.73 thf(fact_128_lexordp__eq__simps_I4_J, axiom, (! [A:$tType]: (((ord @ A) => (! [X3:A,Xs:(list @ A),Y:A,Ys2:(list @ A)]: (((((ord_lexordp_eq @ A) @ (((cons @ A) @ X3) @ Xs)) @ (((cons @ A) @ Y) @ Ys2)) = ((((ord_less @ A) @ X3) @ Y) | ((~ ((((ord_less @ A) @ Y) @ X3))) & (((ord_lexordp_eq @ A) @ Xs) @ Ys2)))))))))).
% 2.77/1.73 thf(fact_129_gr__zeroI, axiom, (! [A:$tType]: (((canoni770627133id_add @ A) => (! [N2:A]: (((N2 != (zero_zero @ A)) => (((ord_less @ A) @ (zero_zero @ A)) @ N2)))))))).
% 2.77/1.73 thf(fact_130_not__less__zero, axiom, (! [A:$tType]: (((canoni770627133id_add @ A) => (! [N2:A]: ((~ ((((ord_less @ A) @ N2) @ (zero_zero @ A)))))))))).
% 2.77/1.73 thf(fact_131_gr__implies__not__zero, axiom, (! [A:$tType]: (((canoni770627133id_add @ A) => (! [M2:A,N2:A]: (((((ord_less @ A) @ M2) @ N2) => (N2 != (zero_zero @ A))))))))).
% 2.77/1.73 thf(fact_132_zero__less__iff__neq__zero, axiom, (! [A:$tType]: (((canoni770627133id_add @ A) => (! [N2:A]: (((((ord_less @ A) @ (zero_zero @ A)) @ N2) = (N2 != (zero_zero @ A))))))))).
% 2.77/1.73 thf(fact_133_infinite__descent0__measure, axiom, (! [A:$tType,V2:(A > nat),P2:(A > $o),X3:A]: (((! [X:A]: ((((V2 @ X) = (zero_zero @ nat)) => (P2 @ X)))) => ((! [X:A]: (((((ord_less @ nat) @ (zero_zero @ nat)) @ (V2 @ X)) => ((~ ((P2 @ X))) => (? [Y4:A]: (((((ord_less @ nat) @ (V2 @ Y4)) @ (V2 @ X)) & (~ ((P2 @ Y4)))))))))) => (P2 @ X3)))))).
% 2.77/1.73 thf(fact_134_bot__nat__0_Oextremum__strict, axiom, (! [A8:nat]: ((~ ((((ord_less @ nat) @ A8) @ (zero_zero @ nat))))))).
% 2.77/1.73 thf(fact_135_infinite__descent0, axiom, (! [P2:(nat > $o),N2:nat]: (((P2 @ (zero_zero @ nat)) => ((! [N:nat]: (((((ord_less @ nat) @ (zero_zero @ nat)) @ N) => ((~ ((P2 @ N))) => (? [M3:nat]: (((((ord_less @ nat) @ M3) @ N) & (~ ((P2 @ M3)))))))))) => (P2 @ N2)))))).
% 2.77/1.73 thf(fact_136_gr__implies__not0, axiom, (! [M2:nat,N2:nat]: (((((ord_less @ nat) @ M2) @ N2) => (N2 != (zero_zero @ nat)))))).
% 2.77/1.73 thf(fact_137_less__zeroE, axiom, (! [N2:nat]: ((~ ((((ord_less @ nat) @ N2) @ (zero_zero @ nat))))))).
% 2.77/1.73 thf(fact_138_not__less0, axiom, (! [N2:nat]: ((~ ((((ord_less @ nat) @ N2) @ (zero_zero @ nat))))))).
% 2.77/1.73 thf(fact_139_not__gr0, axiom, (! [N2:nat]: (((~ ((((ord_less @ nat) @ (zero_zero @ nat)) @ N2))) = (N2 = (zero_zero @ nat)))))).
% 2.77/1.73 thf(fact_140_gr0I, axiom, (! [N2:nat]: (((N2 != (zero_zero @ nat)) => (((ord_less @ nat) @ (zero_zero @ nat)) @ N2))))).
% 2.77/1.73 thf(fact_141_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)))))))))))).
% 2.77/1.73 thf(fact_142_Suc__lessD, axiom, (! [M2:nat,N2:nat]: (((((ord_less @ nat) @ (suc @ M2)) @ N2) => (((ord_less @ nat) @ M2) @ N2))))).
% 2.77/1.73 thf(fact_143_Suc__lessE, axiom, (! [I:nat,K:nat]: (((((ord_less @ nat) @ (suc @ I)) @ K) => (~ ((! [J:nat]: (((((ord_less @ nat) @ I) @ J) => (K != (suc @ J))))))))))).
% 2.77/1.73 thf(fact_144_Suc__lessI, axiom, (! [M2:nat,N2:nat]: (((((ord_less @ nat) @ M2) @ N2) => (((suc @ M2) != N2) => (((ord_less @ nat) @ (suc @ M2)) @ N2)))))).
% 2.77/1.73 thf(fact_145_less__SucE, axiom, (! [M2:nat,N2:nat]: (((((ord_less @ nat) @ M2) @ (suc @ N2)) => ((~ ((((ord_less @ nat) @ M2) @ N2))) => (M2 = N2)))))).
% 2.77/1.73 thf(fact_146_less__SucI, axiom, (! [M2:nat,N2:nat]: (((((ord_less @ nat) @ M2) @ N2) => (((ord_less @ nat) @ M2) @ (suc @ N2)))))).
% 2.77/1.73 thf(fact_147_Ex__less__Suc, axiom, (! [N2:nat,P2:(nat > $o)]: (((? [I2:nat]: (((((ord_less @ nat) @ I2) @ (suc @ N2)) & (P2 @ I2)))) = ((P2 @ N2) | (? [I2:nat]: (((((ord_less @ nat) @ I2) @ N2) & (P2 @ I2))))))))).
% 2.77/1.73 thf(fact_148_less__Suc__eq, axiom, (! [M2:nat,N2:nat]: (((((ord_less @ nat) @ M2) @ (suc @ N2)) = ((((ord_less @ nat) @ M2) @ N2) | (M2 = N2)))))).
% 2.77/1.73 thf(fact_149_not__less__eq, axiom, (! [M2:nat,N2:nat]: (((~ ((((ord_less @ nat) @ M2) @ N2))) = (((ord_less @ nat) @ N2) @ (suc @ M2)))))).
% 2.77/1.73 thf(fact_150_All__less__Suc, axiom, (! [N2:nat,P2:(nat > $o)]: (((! [I2:nat]: (((((ord_less @ nat) @ I2) @ (suc @ N2)) => (P2 @ I2)))) = ((P2 @ N2) & (! [I2:nat]: (((((ord_less @ nat) @ I2) @ N2) => (P2 @ I2))))))))).
% 2.77/1.73 thf(fact_151_Suc__less__eq2, axiom, (! [N2:nat,M2:nat]: (((((ord_less @ nat) @ (suc @ N2)) @ M2) = (? [M4:nat]: (((M2 = (suc @ M4)) & (((ord_less @ nat) @ N2) @ M4)))))))).
% 2.77/1.73 thf(fact_152_less__antisym, axiom, (! [N2:nat,M2:nat]: (((~ ((((ord_less @ nat) @ N2) @ M2))) => ((((ord_less @ nat) @ N2) @ (suc @ M2)) => (M2 = N2)))))).
% 2.77/1.73 thf(fact_153_Suc__less__SucD, axiom, (! [M2:nat,N2:nat]: (((((ord_less @ nat) @ (suc @ M2)) @ (suc @ N2)) => (((ord_less @ nat) @ M2) @ N2))))).
% 2.77/1.73 thf(fact_154_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)))))).
% 2.77/1.73 thf(fact_155_less__Suc__induct, axiom, (! [I:nat,J2:nat,P2:(nat > (nat > $o))]: (((((ord_less @ nat) @ I) @ J2) => ((! [I3:nat]: (((P2 @ I3) @ (suc @ I3)))) => ((! [I3:nat,J:nat,K2:nat]: (((((ord_less @ nat) @ I3) @ J) => ((((ord_less @ nat) @ J) @ K2) => (((P2 @ I3) @ J) => (((P2 @ J) @ K2) => ((P2 @ I3) @ K2))))))) => ((P2 @ I) @ J2))))))).
% 2.77/1.73 thf(fact_156_strict__inc__induct, axiom, (! [I:nat,J2:nat,P2:(nat > $o)]: (((((ord_less @ nat) @ I) @ J2) => ((! [I3:nat]: (((J2 = (suc @ I3)) => (P2 @ I3)))) => ((! [I3:nat]: (((((ord_less @ nat) @ I3) @ J2) => ((P2 @ (suc @ I3)) => (P2 @ I3))))) => (P2 @ I))))))).
% 2.77/1.73 thf(fact_157_not__less__less__Suc__eq, axiom, (! [N2:nat,M2:nat]: (((~ ((((ord_less @ nat) @ N2) @ M2))) => ((((ord_less @ nat) @ N2) @ (suc @ M2)) = (N2 = M2)))))).
% 2.77/1.73 thf(fact_158_measure__induct__rule, axiom, (! [B:$tType,A:$tType]: (((wellorder @ B) => (! [F2:(A > B),P2:(A > $o),A8:A]: (((! [X:A]: (((! [Y4:A]: (((((ord_less @ B) @ (F2 @ Y4)) @ (F2 @ X)) => (P2 @ Y4)))) => (P2 @ X)))) => (P2 @ A8)))))))).
% 2.77/1.73 thf(fact_159_measure__induct, axiom, (! [B:$tType,A:$tType]: (((wellorder @ B) => (! [F2:(A > B),P2:(A > $o),A8:A]: (((! [X:A]: (((! [Y4:A]: (((((ord_less @ B) @ (F2 @ Y4)) @ (F2 @ X)) => (P2 @ Y4)))) => (P2 @ X)))) => (P2 @ A8)))))))).
% 2.77/1.73 thf(fact_160_lift__Suc__mono__less, axiom, (! [A:$tType]: (((order @ A) => (! [F2:(nat > A),N2:nat,N4:nat]: (((! [N:nat]: ((((ord_less @ A) @ (F2 @ N)) @ (F2 @ (suc @ N))))) => ((((ord_less @ nat) @ N2) @ N4) => (((ord_less @ A) @ (F2 @ N2)) @ (F2 @ N4)))))))))).
% 2.77/1.73 thf(fact_161_lift__Suc__mono__less__iff, axiom, (! [A:$tType]: (((order @ A) => (! [F2:(nat > A),N2:nat,M2:nat]: (((! [N:nat]: ((((ord_less @ A) @ (F2 @ N)) @ (F2 @ (suc @ N))))) => ((((ord_less @ A) @ (F2 @ N2)) @ (F2 @ M2)) = (((ord_less @ nat) @ N2) @ M2))))))))).
% 2.77/1.73 thf(fact_162_splice_Osimps_I2_J, axiom, (! [A:$tType,X3:A,Xs:(list @ A),Ys2:(list @ A)]: (((((splice @ A) @ (((cons @ A) @ X3) @ Xs)) @ Ys2) = (((cons @ A) @ X3) @ (((splice @ A) @ Ys2) @ Xs)))))).
% 2.77/1.73 thf(fact_163_splice_Osimps_I1_J, axiom, (! [A:$tType,Ys2:(list @ A)]: (((((splice @ A) @ (nil @ A)) @ Ys2) = Ys2)))).
% 2.77/1.73 thf(fact_164_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))))))))).
% 2.77/1.73 thf(fact_165_gr0__implies__Suc, axiom, (! [N2:nat]: (((((ord_less @ nat) @ (zero_zero @ nat)) @ N2) => (? [M:nat]: ((N2 = (suc @ M)))))))).
% 2.77/1.73 thf(fact_166_All__less__Suc2, axiom, (! [N2:nat,P2:(nat > $o)]: (((! [I2:nat]: (((((ord_less @ nat) @ I2) @ (suc @ N2)) => (P2 @ I2)))) = ((P2 @ (zero_zero @ nat)) & (! [I2:nat]: (((((ord_less @ nat) @ I2) @ N2) => (P2 @ (suc @ I2)))))))))).
% 2.77/1.73 thf(fact_167_gr0__conv__Suc, axiom, (! [N2:nat]: (((((ord_less @ nat) @ (zero_zero @ nat)) @ N2) = (? [M5:nat]: ((N2 = (suc @ M5)))))))).
% 2.77/1.73 thf(fact_168_Ex__less__Suc2, axiom, (! [N2:nat,P2:(nat > $o)]: (((? [I2:nat]: (((((ord_less @ nat) @ I2) @ (suc @ N2)) & (P2 @ I2)))) = ((P2 @ (zero_zero @ nat)) | (? [I2:nat]: (((((ord_less @ nat) @ I2) @ N2) & (P2 @ (suc @ I2)))))))))).
% 2.77/1.73 thf(fact_169_lexordp__eq_OCons__eq, axiom, (! [A:$tType]: (((ord @ A) => (! [X3:A,Y:A,Xs:(list @ A),Ys2:(list @ A)]: (((~ ((((ord_less @ A) @ X3) @ Y))) => ((~ ((((ord_less @ A) @ Y) @ X3))) => ((((ord_lexordp_eq @ A) @ Xs) @ Ys2) => (((ord_lexordp_eq @ A) @ (((cons @ A) @ X3) @ Xs)) @ (((cons @ A) @ Y) @ Ys2))))))))))).
% 2.77/1.73 thf(fact_170_lexordp__eq_OCons, axiom, (! [A:$tType]: (((ord @ A) => (! [X3:A,Y:A,Xs:(list @ A),Ys2:(list @ A)]: (((((ord_less @ A) @ X3) @ Y) => (((ord_lexordp_eq @ A) @ (((cons @ A) @ X3) @ Xs)) @ (((cons @ A) @ Y) @ Ys2))))))))).
% 2.77/1.73 thf(fact_171_of__nat__aux_Osimps_I1_J, axiom, (! [A:$tType]: (((semiring_1 @ A) => (! [Inc:(A > A),I:A]: ((((((semiri532925092at_aux @ A) @ Inc) @ (zero_zero @ nat)) @ I) = I))))))).
% 2.77/1.73 thf(fact_172_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)))))))))))))).
% 2.77/1.73 thf(fact_173_less__numeral__extra_I3_J, axiom, (! [A:$tType]: (((linord1659791738miring @ A) => (~ ((((ord_less @ A) @ (zero_zero @ A)) @ (zero_zero @ A)))))))).
% 2.77/1.73 thf(fact_174_lexordp_Ocases, axiom, (! [A:$tType]: (((ord @ A) => (! [A1:(list @ A),A2:(list @ A)]: (((((ord_lexordp @ A) @ A1) @ A2) => (((A1 = (nil @ A)) => (! [Y3:A,Ys3:(list @ A)]: ((A2 != (((cons @ A) @ Y3) @ Ys3))))) => ((! [X:A]: (((? [Xs2:(list @ A)]: ((A1 = (((cons @ A) @ X) @ Xs2)))) => (! [Y3:A]: (((? [Ys3:(list @ A)]: ((A2 = (((cons @ A) @ Y3) @ Ys3)))) => (~ ((((ord_less @ A) @ X) @ Y3))))))))) => (~ ((! [X:A,Y3:A,Xs2:(list @ A)]: (((A1 = (((cons @ A) @ X) @ Xs2)) => (! [Ys3:(list @ A)]: (((A2 = (((cons @ A) @ Y3) @ Ys3)) => ((~ ((((ord_less @ A) @ X) @ Y3))) => ((~ ((((ord_less @ A) @ Y3) @ X))) => (~ ((((ord_lexordp @ A) @ Xs2) @ Ys3)))))))))))))))))))))).
% 2.77/1.73 thf(fact_175_lexordp_Osimps, axiom, (! [A:$tType]: (((ord @ A) => ((ord_lexordp @ A) = (^ [A12:(list @ A),A22:(list @ A)]: (((? [Y2:A,Ys:(list @ A)]: (((A12 = (nil @ A)) & (A22 = (((cons @ A) @ Y2) @ Ys))))) | ((? [X4:A,Y2:A,Xs3:(list @ A),Ys:(list @ A)]: (((A12 = (((cons @ A) @ X4) @ Xs3)) & ((A22 = (((cons @ A) @ Y2) @ Ys)) & (((ord_less @ A) @ X4) @ Y2))))) | (? [X4:A,Y2:A,Xs3:(list @ A),Ys:(list @ A)]: (((A12 = (((cons @ A) @ X4) @ Xs3)) & ((A22 = (((cons @ A) @ Y2) @ Ys)) & ((~ ((((ord_less @ A) @ X4) @ Y2))) & ((~ ((((ord_less @ A) @ Y2) @ X4))) & (((ord_lexordp @ A) @ Xs3) @ Ys)))))))))))))))).
% 2.77/1.73 thf(fact_176_lexordp__simps_I2_J, axiom, (! [A:$tType]: (((ord @ A) => (! [Xs:(list @ A)]: ((~ ((((ord_lexordp @ A) @ Xs) @ (nil @ A)))))))))).
% 2.77/1.73 thf(fact_177_lexordp__simps_I1_J, axiom, (! [A:$tType]: (((ord @ A) => (! [Ys2:(list @ A)]: (((((ord_lexordp @ A) @ (nil @ A)) @ Ys2) = (Ys2 != (nil @ A))))))))).
% 2.77/1.73 thf(fact_178_lexordp__simps_I3_J, axiom, (! [A:$tType]: (((ord @ A) => (! [X3:A,Xs:(list @ A),Y:A,Ys2:(list @ A)]: (((((ord_lexordp @ A) @ (((cons @ A) @ X3) @ Xs)) @ (((cons @ A) @ Y) @ Ys2)) = ((((ord_less @ A) @ X3) @ Y) | ((~ ((((ord_less @ A) @ Y) @ X3))) & (((ord_lexordp @ A) @ Xs) @ Ys2)))))))))).
% 2.77/1.73 thf(fact_179_lexordp__irreflexive, axiom, (! [A:$tType]: (((ord @ A) => (! [Xs:(list @ A)]: (((! [X:A]: ((~ ((((ord_less @ A) @ X) @ X))))) => (~ ((((ord_lexordp @ A) @ Xs) @ Xs)))))))))).
% 2.77/1.73 thf(fact_180_infinite__descent__measure, axiom, (! [A:$tType,P2:(A > $o),V2:(A > nat),X3:A]: (((! [X:A]: (((~ ((P2 @ X))) => (? [Y4:A]: (((((ord_less @ nat) @ (V2 @ Y4)) @ (V2 @ X)) & (~ ((P2 @ Y4))))))))) => (P2 @ X3))))).
% 2.77/1.73 thf(fact_181_linorder__neqE__nat, axiom, (! [X3:nat,Y:nat]: (((X3 != Y) => ((~ ((((ord_less @ nat) @ X3) @ Y))) => (((ord_less @ nat) @ Y) @ X3)))))).
% 2.77/1.73 thf(fact_182_infinite__descent, axiom, (! [P2:(nat > $o),N2:nat]: (((! [N:nat]: (((~ ((P2 @ N))) => (? [M3:nat]: (((((ord_less @ nat) @ M3) @ N) & (~ ((P2 @ M3))))))))) => (P2 @ N2))))).
% 2.77/1.73 thf(fact_183_nat__less__induct, axiom, (! [P2:(nat > $o),N2:nat]: (((! [N:nat]: (((! [M3:nat]: (((((ord_less @ nat) @ M3) @ N) => (P2 @ M3)))) => (P2 @ N)))) => (P2 @ N2))))).
% 2.77/1.73 thf(fact_184_less__irrefl__nat, axiom, (! [N2:nat]: ((~ ((((ord_less @ nat) @ N2) @ N2)))))).
% 2.77/1.73 thf(fact_185_less__not__refl3, axiom, (! [S2:nat,T:nat]: (((((ord_less @ nat) @ S2) @ T) => (S2 != T))))).
% 2.77/1.73 thf(fact_186_less__not__refl2, axiom, (! [N2:nat,M2:nat]: (((((ord_less @ nat) @ N2) @ M2) => (M2 != N2))))).
% 2.77/1.73 thf(fact_187_less__not__refl, axiom, (! [N2:nat]: ((~ ((((ord_less @ nat) @ N2) @ N2)))))).
% 2.77/1.73 thf(fact_188_nat__neq__iff, axiom, (! [M2:nat,N2:nat]: (((M2 != N2) = ((((ord_less @ nat) @ M2) @ N2) | (((ord_less @ nat) @ N2) @ M2)))))).
% 2.77/1.73 thf(fact_189_lexordp__antisym, axiom, (! [A:$tType]: (((order @ A) => (! [Xs:(list @ A),Ys2:(list @ A)]: (((((ord_lexordp @ A) @ Xs) @ Ys2) => (~ ((((ord_lexordp @ A) @ Ys2) @ Xs)))))))))).
% 2.77/1.73 thf(fact_190_lexordp__trans, axiom, (! [A:$tType]: (((linorder @ A) => (! [Xs:(list @ A),Ys2:(list @ A),Zs2:(list @ A)]: (((((ord_lexordp @ A) @ Xs) @ Ys2) => ((((ord_lexordp @ A) @ Ys2) @ Zs2) => (((ord_lexordp @ A) @ Xs) @ Zs2))))))))).
% 2.77/1.73 thf(fact_191_lexordp__linear, axiom, (! [A:$tType]: (((linorder @ A) => (! [Xs:(list @ A),Ys2:(list @ A)]: (((((ord_lexordp @ A) @ Xs) @ Ys2) | ((Xs = Ys2) | (((ord_lexordp @ A) @ Ys2) @ Xs))))))))).
% 2.77/1.73 thf(fact_192_lexordp__irreflexive_H, axiom, (! [A:$tType]: (((order @ A) => (! [Xs:(list @ A)]: ((~ ((((ord_lexordp @ A) @ Xs) @ Xs))))))))).
% 2.77/1.73 thf(fact_193_lexordp__into__lexordp__eq, axiom, (! [A:$tType]: (((ord @ A) => (! [Xs:(list @ A),Ys2:(list @ A)]: (((((ord_lexordp @ A) @ Xs) @ Ys2) => (((ord_lexordp_eq @ A) @ Xs) @ Ys2)))))))).
% 2.77/1.73 thf(fact_194_lexordp__eq__conv__lexord, axiom, (! [A:$tType]: (((linorder @ A) => ((ord_lexordp_eq @ A) = (^ [Xs3:(list @ A),Ys:(list @ A)]: (((Xs3 = Ys) | (((ord_lexordp @ A) @ Xs3) @ Ys))))))))).
% 2.77/1.73 thf(fact_195_lexordp__conv__lexordp__eq, axiom, (! [A:$tType]: (((linorder @ A) => ((ord_lexordp @ A) = (^ [Xs3:(list @ A),Ys:(list @ A)]: (((((ord_lexordp_eq @ A) @ Xs3) @ Ys) & (~ ((((ord_lexordp_eq @ A) @ Ys) @ Xs3))))))))))).
% 2.77/1.73 thf(fact_196_lexordp_OCons, axiom, (! [A:$tType]: (((ord @ A) => (! [X3:A,Y:A,Xs:(list @ A),Ys2:(list @ A)]: (((((ord_less @ A) @ X3) @ Y) => (((ord_lexordp @ A) @ (((cons @ A) @ X3) @ Xs)) @ (((cons @ A) @ Y) @ Ys2))))))))).
% 2.77/1.73 thf(fact_197_lexordp_OCons__eq, axiom, (! [A:$tType]: (((ord @ A) => (! [X3:A,Y:A,Xs:(list @ A),Ys2:(list @ A)]: (((~ ((((ord_less @ A) @ X3) @ Y))) => ((~ ((((ord_less @ A) @ Y) @ X3))) => ((((ord_lexordp @ A) @ Xs) @ Ys2) => (((ord_lexordp @ A) @ (((cons @ A) @ X3) @ Xs)) @ (((cons @ A) @ Y) @ Ys2))))))))))).
% 2.77/1.73 thf(fact_198_lexordp_ONil, axiom, (! [A:$tType]: (((ord @ A) => (! [Y:A,Ys2:(list @ A)]: ((((ord_lexordp @ A) @ (nil @ A)) @ (((cons @ A) @ Y) @ Ys2)))))))).
% 2.77/1.73 thf(fact_199_lexordp__induct, axiom, (! [A:$tType]: (((linorder @ A) => (! [Xs:(list @ A),Ys2:(list @ A),P2:((list @ A) > ((list @ A) > $o))]: (((((ord_lexordp @ A) @ Xs) @ Ys2) => ((! [Y3:A,Ys3:(list @ A)]: (((P2 @ (nil @ A)) @ (((cons @ A) @ Y3) @ Ys3)))) => ((! [X:A,Xs2:(list @ A),Y3:A,Ys3:(list @ A)]: (((((ord_less @ A) @ X) @ Y3) => ((P2 @ (((cons @ A) @ X) @ Xs2)) @ (((cons @ A) @ Y3) @ Ys3))))) => ((! [X:A,Xs2:(list @ A),Ys3:(list @ A)]: (((((ord_lexordp @ A) @ Xs2) @ Ys3) => (((P2 @ Xs2) @ Ys3) => ((P2 @ (((cons @ A) @ X) @ Xs2)) @ (((cons @ A) @ X) @ Ys3)))))) => ((P2 @ Xs) @ Ys2))))))))))).
% 2.77/1.73 thf(fact_200_lexordp__cases, axiom, (! [A:$tType]: (((linorder @ A) => (! [Xs:(list @ A),Ys2:(list @ A)]: (((((ord_lexordp @ A) @ Xs) @ Ys2) => (((Xs = (nil @ A)) => (! [Y3:A,Ys4:(list @ A)]: ((Ys2 != (((cons @ A) @ Y3) @ Ys4))))) => ((! [X:A]: (((? [Xs4:(list @ A)]: ((Xs = (((cons @ A) @ X) @ Xs4)))) => (! [Y3:A]: (((? [Ys4:(list @ A)]: ((Ys2 = (((cons @ A) @ Y3) @ Ys4)))) => (~ ((((ord_less @ A) @ X) @ Y3))))))))) => (~ ((! [X:A,Xs4:(list @ A)]: (((Xs = (((cons @ A) @ X) @ Xs4)) => (! [Ys4:(list @ A)]: (((Ys2 = (((cons @ A) @ X) @ Ys4)) => (~ ((((ord_lexordp @ A) @ Xs4) @ Ys4)))))))))))))))))))).
% 2.77/1.73 thf(fact_201_lexordp_Oinducts, axiom, (! [A:$tType]: (((ord @ A) => (! [X12:(list @ A),X23:(list @ A),P2:((list @ A) > ((list @ A) > $o))]: (((((ord_lexordp @ A) @ X12) @ X23) => ((! [Y3:A,Ys3:(list @ A)]: (((P2 @ (nil @ A)) @ (((cons @ A) @ Y3) @ Ys3)))) => ((! [X:A,Y3:A,Xs2:(list @ A),Ys3:(list @ A)]: (((((ord_less @ A) @ X) @ Y3) => ((P2 @ (((cons @ A) @ X) @ Xs2)) @ (((cons @ A) @ Y3) @ Ys3))))) => ((! [X:A,Y3:A,Xs2:(list @ A),Ys3:(list @ A)]: (((~ ((((ord_less @ A) @ X) @ Y3))) => ((~ ((((ord_less @ A) @ Y3) @ X))) => ((((ord_lexordp @ A) @ Xs2) @ Ys3) => (((P2 @ Xs2) @ Ys3) => ((P2 @ (((cons @ A) @ X) @ Xs2)) @ (((cons @ A) @ Y3) @ Ys3)))))))) => ((P2 @ X12) @ X23))))))))))).
% 2.77/1.73 thf(fact_202_of__nat__0__less__iff, axiom, (! [A:$tType]: (((linord1659791738miring @ A) => (! [N2:nat]: (((((ord_less @ A) @ (zero_zero @ A)) @ ((semiring_1_of_nat @ A) @ N2)) = (((ord_less @ nat) @ (zero_zero @ nat)) @ N2)))))))).
% 2.77/1.73 thf(fact_203_Suc__pred, axiom, (! [N2:nat]: (((((ord_less @ nat) @ (zero_zero @ nat)) @ N2) => ((suc @ (((minus_minus @ nat) @ N2) @ (suc @ (zero_zero @ nat)))) = N2))))).
% 2.77/1.73 thf(fact_204_length__greater__0__conv, axiom, (! [A:$tType,Xs:(list @ A)]: (((((ord_less @ nat) @ (zero_zero @ nat)) @ ((size_size @ (list @ A)) @ Xs)) = (Xs != (nil @ A)))))).
% 2.77/1.73 thf(fact_205_of__nat__eq__iff, axiom, (! [A:$tType]: (((semiring_char_0 @ A) => (! [M2:nat,N2:nat]: (((((semiring_1_of_nat @ A) @ M2) = ((semiring_1_of_nat @ A) @ N2)) = (M2 = N2)))))))).
% 2.77/1.73 thf(fact_206_diff__self, axiom, (! [A:$tType]: (((group_add @ A) => (! [A8:A]: (((((minus_minus @ A) @ A8) @ A8) = (zero_zero @ A)))))))).
% 2.77/1.73 thf(fact_207_diff__0__right, axiom, (! [A:$tType]: (((group_add @ A) => (! [A8:A]: (((((minus_minus @ A) @ A8) @ (zero_zero @ A)) = A8))))))).
% 2.77/1.73 thf(fact_208_zero__diff, axiom, (! [A:$tType]: (((comm_monoid_diff @ A) => (! [A8:A]: (((((minus_minus @ A) @ (zero_zero @ A)) @ A8) = (zero_zero @ A)))))))).
% 2.77/1.73 thf(fact_209_diff__zero, axiom, (! [A:$tType]: (((cancel1352612707id_add @ A) => (! [A8:A]: (((((minus_minus @ A) @ A8) @ (zero_zero @ A)) = A8))))))).
% 2.77/1.73 thf(fact_210_cancel__comm__monoid__add__class_Odiff__cancel, axiom, (! [A:$tType]: (((cancel1352612707id_add @ A) => (! [A8:A]: (((((minus_minus @ A) @ A8) @ A8) = (zero_zero @ A)))))))).
% 2.77/1.73 thf(fact_211_diff__0__eq__0, axiom, (! [N2:nat]: (((((minus_minus @ nat) @ (zero_zero @ nat)) @ N2) = (zero_zero @ nat))))).
% 2.77/1.73 thf(fact_212_diff__self__eq__0, axiom, (! [M2:nat]: (((((minus_minus @ nat) @ M2) @ M2) = (zero_zero @ nat))))).
% 2.77/1.73 thf(fact_213_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))))).
% 2.77/1.73 thf(fact_214_diff__Suc__Suc, axiom, (! [M2:nat,N2:nat]: (((((minus_minus @ nat) @ (suc @ M2)) @ (suc @ N2)) = (((minus_minus @ nat) @ M2) @ N2))))).
% 2.77/1.73 thf(fact_215_diff__gt__0__iff__gt, axiom, (! [A:$tType]: (((ordered_ab_group_add @ A) => (! [A8:A,B2:A]: (((((ord_less @ A) @ (zero_zero @ A)) @ (((minus_minus @ A) @ A8) @ B2)) = (((ord_less @ A) @ B2) @ A8)))))))).
% 2.77/1.73 thf(fact_216_of__nat__eq__0__iff, axiom, (! [A:$tType]: (((semiring_char_0 @ A) => (! [M2:nat]: (((((semiring_1_of_nat @ A) @ M2) = (zero_zero @ A)) = (M2 = (zero_zero @ nat))))))))).
% 2.77/1.73 thf(fact_217_of__nat__0__eq__iff, axiom, (! [A:$tType]: (((semiring_char_0 @ A) => (! [N2:nat]: ((((zero_zero @ A) = ((semiring_1_of_nat @ A) @ N2)) = ((zero_zero @ nat) = N2)))))))).
% 2.77/1.73 thf(fact_218_of__nat__0, axiom, (! [A:$tType]: (((semiring_1 @ A) => (((semiring_1_of_nat @ A) @ (zero_zero @ nat)) = (zero_zero @ A)))))).
% 2.77/1.73 thf(fact_219_of__nat__less__iff, axiom, (! [A:$tType]: (((linord1659791738miring @ A) => (! [M2:nat,N2:nat]: (((((ord_less @ A) @ ((semiring_1_of_nat @ A) @ M2)) @ ((semiring_1_of_nat @ A) @ N2)) = (((ord_less @ nat) @ M2) @ N2)))))))).
% 2.77/1.73 thf(fact_220_length__0__conv, axiom, (! [A:$tType,Xs:(list @ A)]: (((((size_size @ (list @ A)) @ Xs) = (zero_zero @ nat)) = (Xs = (nil @ A)))))).
% 2.77/1.73 thf(fact_221_zero__less__diff, axiom, (! [N2:nat,M2:nat]: (((((ord_less @ nat) @ (zero_zero @ nat)) @ (((minus_minus @ nat) @ N2) @ M2)) = (((ord_less @ nat) @ M2) @ N2))))).
% 2.77/1.73 thf(fact_222_diff__strict__right__mono, axiom, (! [A:$tType]: (((ordered_ab_group_add @ A) => (! [A8:A,B2:A,C:A]: (((((ord_less @ A) @ A8) @ B2) => (((ord_less @ A) @ (((minus_minus @ A) @ A8) @ C)) @ (((minus_minus @ A) @ B2) @ C))))))))).
% 2.77/1.73 thf(fact_223_diff__strict__left__mono, axiom, (! [A:$tType]: (((ordered_ab_group_add @ A) => (! [B2:A,A8:A,C:A]: (((((ord_less @ A) @ B2) @ A8) => (((ord_less @ A) @ (((minus_minus @ A) @ C) @ A8)) @ (((minus_minus @ A) @ C) @ B2))))))))).
% 2.77/1.73 thf(fact_224_diff__eq__diff__less, axiom, (! [A:$tType]: (((ordered_ab_group_add @ A) => (! [A8:A,B2:A,C:A,D:A]: ((((((minus_minus @ A) @ A8) @ B2) = (((minus_minus @ A) @ C) @ D)) => ((((ord_less @ A) @ A8) @ B2) = (((ord_less @ A) @ C) @ D))))))))).
% 2.77/1.73 thf(fact_225_diff__strict__mono, axiom, (! [A:$tType]: (((ordered_ab_group_add @ A) => (! [A8:A,B2:A,D:A,C:A]: (((((ord_less @ A) @ A8) @ B2) => ((((ord_less @ A) @ D) @ C) => (((ord_less @ A) @ (((minus_minus @ A) @ A8) @ C)) @ (((minus_minus @ A) @ B2) @ D)))))))))).
% 2.77/1.73 thf(fact_226_length__induct, axiom, (! [A:$tType,P2:((list @ A) > $o),Xs:(list @ A)]: (((! [Xs2:(list @ A)]: (((! [Ys5:(list @ A)]: (((((ord_less @ nat) @ ((size_size @ (list @ A)) @ Ys5)) @ ((size_size @ (list @ A)) @ Xs2)) => (P2 @ Ys5)))) => (P2 @ Xs2)))) => (P2 @ Xs))))).
% 2.77/1.73 thf(fact_227_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)))))).
% 2.77/1.73 thf(fact_228_of__nat__less__imp__less, axiom, (! [A:$tType]: (((linord1659791738miring @ A) => (! [M2:nat,N2:nat]: (((((ord_less @ A) @ ((semiring_1_of_nat @ A) @ M2)) @ ((semiring_1_of_nat @ A) @ N2)) => (((ord_less @ nat) @ M2) @ N2)))))))).
% 2.77/1.73 thf(fact_229_less__imp__of__nat__less, axiom, (! [A:$tType]: (((linord1659791738miring @ A) => (! [M2:nat,N2:nat]: (((((ord_less @ nat) @ M2) @ N2) => (((ord_less @ A) @ ((semiring_1_of_nat @ A) @ M2)) @ ((semiring_1_of_nat @ A) @ N2))))))))).
% 2.77/1.73 thf(fact_230_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))))).
% 2.77/1.73 thf(fact_231_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))))))).
% 2.77/1.73 thf(fact_232_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)))))).
% 2.77/1.73 thf(fact_233_diff__less__Suc, axiom, (! [M2:nat,N2:nat]: ((((ord_less @ nat) @ (((minus_minus @ nat) @ M2) @ N2)) @ (suc @ M2))))).
% 2.77/1.73 thf(fact_234_of__nat__less__0__iff, axiom, (! [A:$tType]: (((linord1659791738miring @ A) => (! [M2:nat]: ((~ ((((ord_less @ A) @ ((semiring_1_of_nat @ A) @ M2)) @ (zero_zero @ A)))))))))).
% 2.77/1.73 thf(fact_235_less__iff__diff__less__0, axiom, (! [A:$tType]: (((ordered_ab_group_add @ A) => ((ord_less @ A) = (^ [A9:A,B3:A]: ((((ord_less @ A) @ (((minus_minus @ A) @ A9) @ B3)) @ (zero_zero @ A))))))))).
% 2.77/1.73 thf(fact_236_of__nat__neq__0, axiom, (! [A:$tType]: (((semiring_char_0 @ A) => (! [N2:nat]: ((((semiring_1_of_nat @ A) @ (suc @ N2)) != (zero_zero @ A)))))))).
% 2.77/1.73 thf(fact_237_length__Suc__conv, axiom, (! [A:$tType,Xs:(list @ A),N2:nat]: (((((size_size @ (list @ A)) @ Xs) = (suc @ N2)) = (? [Y2:A,Ys:(list @ A)]: (((Xs = (((cons @ A) @ Y2) @ Ys)) & (((size_size @ (list @ A)) @ Ys) = N2)))))))).
% 2.77/1.73 thf(fact_238_Suc__length__conv, axiom, (! [A:$tType,N2:nat,Xs:(list @ A)]: ((((suc @ N2) = ((size_size @ (list @ A)) @ Xs)) = (? [Y2:A,Ys:(list @ A)]: (((Xs = (((cons @ A) @ Y2) @ Ys)) & (((size_size @ (list @ A)) @ Ys) = N2)))))))).
% 2.77/1.73 thf(fact_239_list_Osize_I3_J, axiom, (! [A:$tType]: ((((size_size @ (list @ A)) @ (nil @ A)) = (zero_zero @ nat))))).
% 2.77/1.73 thf(fact_240_list__induct2, axiom, (! [A:$tType,B:$tType,Xs:(list @ A),Ys2:(list @ B),P2:((list @ A) > ((list @ B) > $o))]: (((((size_size @ (list @ A)) @ Xs) = ((size_size @ (list @ B)) @ Ys2)) => (((P2 @ (nil @ A)) @ (nil @ B)) => ((! [X:A,Xs2:(list @ A),Y3:B,Ys3:(list @ B)]: (((((size_size @ (list @ A)) @ Xs2) = ((size_size @ (list @ B)) @ Ys3)) => (((P2 @ Xs2) @ Ys3) => ((P2 @ (((cons @ A) @ X) @ Xs2)) @ (((cons @ B) @ Y3) @ Ys3)))))) => ((P2 @ Xs) @ Ys2))))))).
% 2.77/1.73 thf(fact_241_list__induct3, axiom, (! [B:$tType,A:$tType,C2:$tType,Xs:(list @ A),Ys2:(list @ B),Zs2:(list @ C2),P2:((list @ A) > ((list @ B) > ((list @ C2) > $o)))]: (((((size_size @ (list @ A)) @ Xs) = ((size_size @ (list @ B)) @ Ys2)) => ((((size_size @ (list @ B)) @ Ys2) = ((size_size @ (list @ C2)) @ Zs2)) => ((((P2 @ (nil @ A)) @ (nil @ B)) @ (nil @ C2)) => ((! [X:A,Xs2:(list @ A),Y3:B,Ys3:(list @ B),Z:C2,Zs:(list @ C2)]: (((((size_size @ (list @ A)) @ Xs2) = ((size_size @ (list @ B)) @ Ys3)) => ((((size_size @ (list @ B)) @ Ys3) = ((size_size @ (list @ C2)) @ Zs)) => ((((P2 @ Xs2) @ Ys3) @ Zs) => (((P2 @ (((cons @ A) @ X) @ Xs2)) @ (((cons @ B) @ Y3) @ Ys3)) @ (((cons @ C2) @ Z) @ Zs))))))) => (((P2 @ Xs) @ Ys2) @ Zs2)))))))).
% 2.77/1.73 thf(fact_242_eq__iff__diff__eq__0, axiom, (! [A:$tType]: (((group_add @ A) => ((^ [Y5:A,Z2:A]: ((Y5 = Z2))) = (^ [A9:A,B3:A]: (((((minus_minus @ A) @ A9) @ B3) = (zero_zero @ A))))))))).
% 2.77/1.73 thf(fact_243_minus__nat_Odiff__0, axiom, (! [M2:nat]: (((((minus_minus @ nat) @ M2) @ (zero_zero @ nat)) = M2)))).
% 2.77/1.73 thf(fact_244_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)))))).
% 2.77/1.73 thf(fact_245_zero__induct__lemma, axiom, (! [P2:(nat > $o),K:nat,I:nat]: (((P2 @ K) => ((! [N:nat]: (((P2 @ (suc @ N)) => (P2 @ N)))) => (P2 @ (((minus_minus @ nat) @ K) @ I))))))).
% 2.77/1.73 thf(fact_246_size__neq__size__imp__neq, axiom, (! [A:$tType]: (((size @ A) => (! [X3:A,Y:A]: (((((size_size @ A) @ X3) != ((size_size @ A) @ Y)) => (X3 != Y)))))))).
% 2.77/1.73 thf(fact_247_diff__right__commute, axiom, (! [A:$tType]: (((cancel146912293up_add @ A) => (! [A8:A,C:A,B2:A]: (((((minus_minus @ A) @ (((minus_minus @ A) @ A8) @ C)) @ B2) = (((minus_minus @ A) @ (((minus_minus @ A) @ A8) @ B2)) @ C)))))))).
% 2.77/1.73 thf(fact_248_diff__eq__diff__eq, axiom, (! [A:$tType]: (((group_add @ A) => (! [A8:A,B2:A,C:A,D:A]: ((((((minus_minus @ A) @ A8) @ B2) = (((minus_minus @ A) @ C) @ D)) => ((A8 = B2) = (C = D))))))))).
% 2.77/1.73 thf(fact_249_neq__if__length__neq, axiom, (! [A:$tType,Xs:(list @ A),Ys2:(list @ A)]: (((((size_size @ (list @ A)) @ Xs) != ((size_size @ (list @ A)) @ Ys2)) => (Xs != Ys2))))).
% 2.77/1.73 thf(fact_250_Ex__list__of__length, axiom, (! [A:$tType,N2:nat]: ((? [Xs2:(list @ A)]: ((((size_size @ (list @ A)) @ Xs2) = N2)))))).
% 2.77/1.73 thf(fact_251_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))))).
% 2.77/1.73 thf(tcon_fun___Orderings_Oorder, axiom, (! [A10:$tType,A11:$tType]: (((order @ A11) => (order @ (A10 > A11)))))).
% 2.77/1.73 thf(tcon_fun___Orderings_Oord, axiom, (! [A10:$tType,A11:$tType]: (((ord @ A11) => (ord @ (A10 > A11)))))).
% 2.77/1.73 thf(tcon_Nat_Onat___Groups_Ocanonically__ordered__monoid__add, axiom, (canoni770627133id_add @ nat)).
% 2.77/1.73 thf(tcon_Nat_Onat___Rings_Olinordered__nonzero__semiring, axiom, (linord1659791738miring @ nat)).
% 2.77/1.73 thf(tcon_Nat_Onat___Groups_Ocancel__ab__semigroup__add, axiom, (cancel146912293up_add @ nat)).
% 2.77/1.73 thf(tcon_Nat_Onat___Groups_Ocancel__comm__monoid__add, axiom, (cancel1352612707id_add @ nat)).
% 2.77/1.73 thf(tcon_Nat_Onat___Groups_Ocomm__monoid__diff, axiom, (comm_monoid_diff @ nat)).
% 2.77/1.73 thf(tcon_Nat_Onat___Orderings_Owellorder, axiom, (wellorder @ nat)).
% 2.77/1.73 thf(tcon_Nat_Onat___Nat_Osemiring__char__0, axiom, (semiring_char_0 @ nat)).
% 2.77/1.73 thf(tcon_Nat_Onat___Orderings_Olinorder, axiom, (linorder @ nat)).
% 2.77/1.73 thf(tcon_Nat_Onat___Rings_Osemiring__1, axiom, (semiring_1 @ nat)).
% 2.77/1.73 thf(tcon_Nat_Onat___Orderings_Oorder_1, axiom, (order @ nat)).
% 2.77/1.73 thf(tcon_Nat_Onat___Orderings_Oord_2, axiom, (ord @ nat)).
% 2.77/1.73 thf(tcon_Nat_Onat___Groups_Ozero, axiom, (zero @ nat)).
% 2.77/1.73 thf(tcon_Nat_Onat___Nat_Osize, axiom, (size @ nat)).
% 2.77/1.73 thf(tcon_Set_Oset___Orderings_Oorder_3, axiom, (! [A10:$tType]: ((order @ (set @ A10))))).
% 2.77/1.73 thf(tcon_Set_Oset___Orderings_Oord_4, axiom, (! [A10:$tType]: ((ord @ (set @ A10))))).
% 2.77/1.73 thf(tcon_HOL_Obool___Orderings_Olinorder_5, axiom, (linorder @ $o)).
% 2.77/1.73 thf(tcon_HOL_Obool___Orderings_Oorder_6, axiom, (order @ $o)).
% 2.77/1.73 thf(tcon_HOL_Obool___Orderings_Oord_7, axiom, (ord @ $o)).
% 2.77/1.73 thf(tcon_List_Olist___Nat_Osize_8, axiom, (! [A10:$tType]: ((size @ (list @ A10))))).
% 2.77/1.73 thf(tcon_Product__Type_Ounit___Orderings_Owellorder_9, axiom, (wellorder @ product_unit)).
% 2.77/1.73 thf(tcon_Product__Type_Ounit___Orderings_Olinorder_10, axiom, (linorder @ product_unit)).
% 2.77/1.73 thf(tcon_Product__Type_Ounit___Orderings_Oorder_11, axiom, (order @ product_unit)).
% 2.77/1.73 thf(tcon_Product__Type_Ounit___Orderings_Oord_12, axiom, (ord @ product_unit)).
% 2.77/1.73 thf(tcon_AsynchronousSystem_Omessage___Nat_Osize_13, axiom, (! [A10:$tType,A11:$tType]: ((size @ ((message @ A10) @ A11))))).
% 2.77/1.73 thf(conj_0, conjecture, ((fe @ (zero_zero @ nat)) = (((cons @ ((((configuration_ext @ p) @ v) @ s) @ product_unit)) @ cfg) @ (nil @ ((((configuration_ext @ p) @ v) @ s) @ product_unit))))).
% 2.77/1.73 % SZS output end ListOfTHF for /export/starexec/sandbox/tmp/tmp.rusBCxGY6m/DTF2DTF11637.p
% 2.77/1.73 ------------------------
% 2.77/1.76 ---- Cleaned THF ---
% 2.77/1.76 thf(ty_t_AsynchronousSystem_Oconfiguration_Oconfiguration__ext,type,
% 2.77/1.76 configuration_ext: $tType > $tType > $tType > $tType > $tType ).
% 2.77/1.76
% 2.77/1.76 thf(ty_t_AsynchronousSystem_OmessageValue,type,
% 2.77/1.76 messageValue: $tType > $tType ).
% 2.77/1.76
% 2.77/1.76 thf(ty_t_AsynchronousSystem_Omessage,type,
% 2.77/1.76 message: $tType > $tType > $tType ).
% 2.77/1.76
% 2.77/1.76 thf(ty_t_Product__Type_Ounit,type,
% 2.77/1.76 product_unit: $tType ).
% 2.77/1.76
% 2.77/1.76 thf(ty_t_List_Olist,type,
% 2.77/1.76 list: $tType > $tType ).
% 2.77/1.76
% 2.77/1.76 thf(ty_t_Set_Oset,type,
% 2.77/1.76 set: $tType > $tType ).
% 2.77/1.76
% 2.77/1.76 thf(ty_t_Nat_Onat,type,
% 2.77/1.76 nat: $tType ).
% 2.77/1.76
% 2.77/1.76 thf(ty_tf_v,type,
% 2.77/1.76 v: $tType ).
% 2.77/1.76
% 2.77/1.76 thf(ty_tf_s,type,
% 2.77/1.76 s: $tType ).
% 2.77/1.76
% 2.77/1.76 thf(ty_tf_p,type,
% 2.77/1.76 p: $tType ).
% 2.77/1.76
% 2.77/1.76 thf(sy_cl_HOL_Otype,type,
% 2.77/1.76 type:
% 2.77/1.76 !>[A: $tType] : $o ).
% 2.77/1.76
% 2.77/1.76 thf(sy_cl_Nat_Osize,type,
% 2.77/1.76 size:
% 2.77/1.76 !>[A: $tType] : $o ).
% 2.77/1.76
% 2.77/1.76 thf(sy_cl_Groups_Ozero,type,
% 2.77/1.76 zero:
% 2.77/1.76 !>[A: $tType] : $o ).
% 2.77/1.76
% 2.77/1.76 thf(sy_cl_Orderings_Oord,type,
% 2.77/1.76 ord:
% 2.77/1.76 !>[A: $tType] : $o ).
% 2.77/1.76
% 2.77/1.76 thf(sy_cl_Orderings_Oorder,type,
% 2.77/1.76 order:
% 2.77/1.76 !>[A: $tType] : $o ).
% 2.77/1.76
% 2.77/1.76 thf(sy_cl_Groups_Ogroup__add,type,
% 2.77/1.76 group_add:
% 2.77/1.76 !>[A: $tType] : $o ).
% 2.77/1.76
% 2.77/1.76 thf(sy_cl_Rings_Osemiring__1,type,
% 2.77/1.76 semiring_1:
% 2.77/1.76 !>[A: $tType] : $o ).
% 2.77/1.76
% 2.77/1.76 thf(sy_cl_Orderings_Olinorder,type,
% 2.77/1.76 linorder:
% 2.77/1.76 !>[A: $tType] : $o ).
% 2.77/1.76
% 2.77/1.76 thf(sy_cl_Nat_Osemiring__char__0,type,
% 2.77/1.76 semiring_char_0:
% 2.77/1.76 !>[A: $tType] : $o ).
% 2.77/1.76
% 2.77/1.76 thf(sy_cl_Orderings_Owellorder,type,
% 2.77/1.76 wellorder:
% 2.77/1.76 !>[A: $tType] : $o ).
% 2.77/1.76
% 2.77/1.76 thf(sy_cl_Groups_Ocomm__monoid__diff,type,
% 2.77/1.76 comm_monoid_diff:
% 2.77/1.76 !>[A: $tType] : $o ).
% 2.77/1.76
% 2.77/1.76 thf(sy_cl_Groups_Oordered__ab__group__add,type,
% 2.77/1.76 ordered_ab_group_add:
% 2.77/1.76 !>[A: $tType] : $o ).
% 2.77/1.76
% 2.77/1.76 thf(sy_cl_Groups_Ocancel__comm__monoid__add,type,
% 2.77/1.76 cancel1352612707id_add:
% 2.77/1.76 !>[A: $tType] : $o ).
% 2.77/1.76
% 2.77/1.76 thf(sy_cl_Groups_Ocancel__ab__semigroup__add,type,
% 2.77/1.76 cancel146912293up_add:
% 2.77/1.76 !>[A: $tType] : $o ).
% 2.77/1.76
% 2.77/1.76 thf(sy_cl_Rings_Olinordered__nonzero__semiring,type,
% 2.77/1.76 linord1659791738miring:
% 2.77/1.76 !>[A: $tType] : $o ).
% 2.77/1.76
% 2.77/1.76 thf(sy_cl_Groups_Ocanonically__ordered__monoid__add,type,
% 2.77/1.76 canoni770627133id_add:
% 2.77/1.76 !>[A: $tType] : $o ).
% 2.77/1.76
% 2.77/1.76 thf(sy_c_FLPSystem_OflpSystem,type,
% 2.77/1.76 flpSystem:
% 2.77/1.76 !>[P: $tType,S: $tType,V: $tType] : ( ( P > S > ( messageValue @ V ) > ( message @ P @ V ) > nat ) > $o ) ).
% 2.77/1.76
% 2.77/1.76 thf(sy_c_FLPTheorem__Mirabelle__yavhmxymmt_OflpPseudoConsensus,type,
% 2.77/1.76 fLPThe1922692578sensus:
% 2.77/1.76 !>[P: $tType,S: $tType,V: $tType] : ( ( P > S > ( messageValue @ V ) > S ) > ( P > S > ( messageValue @ V ) > ( message @ P @ V ) > nat ) > ( P > S ) > $o ) ).
% 2.77/1.76
% 2.77/1.76 thf(sy_c_FLPTheorem__Mirabelle__yavhmxymmt_OflpPseudoConsensus_OinfiniteExecutionCfg,type,
% 2.77/1.76 fLPThe137922386ionCfg:
% 2.77/1.76 !>[P: $tType,V: $tType,S: $tType] : ( ( configuration_ext @ P @ V @ S @ product_unit ) > ( ( list @ ( configuration_ext @ P @ V @ S @ product_unit ) ) > ( list @ ( message @ P @ V ) ) > ( list @ ( configuration_ext @ P @ V @ S @ product_unit ) ) ) > ( ( list @ ( configuration_ext @ P @ V @ S @ product_unit ) ) > ( list @ ( message @ P @ V ) ) > ( list @ ( message @ P @ V ) ) ) > nat > ( list @ ( configuration_ext @ P @ V @ S @ product_unit ) ) ) ).
% 2.77/1.76
% 2.77/1.76 thf(sy_c_FLPTheorem__Mirabelle__yavhmxymmt_OflpPseudoConsensus_OinfiniteExecutionMsg,type,
% 2.77/1.76 fLPThe221390223ionMsg:
% 2.77/1.76 !>[P: $tType,V: $tType,S: $tType] : ( ( configuration_ext @ P @ V @ S @ product_unit ) > ( ( list @ ( configuration_ext @ P @ V @ S @ product_unit ) ) > ( list @ ( message @ P @ V ) ) > ( list @ ( configuration_ext @ P @ V @ S @ product_unit ) ) ) > ( ( list @ ( configuration_ext @ P @ V @ S @ product_unit ) ) > ( list @ ( message @ P @ V ) ) > ( list @ ( message @ P @ V ) ) ) > nat > ( list @ ( message @ P @ V ) ) ) ).
% 2.77/1.76
% 2.77/1.76 thf(sy_c_FLPTheorem__Mirabelle__yavhmxymmt_OflpPseudoConsensus__axioms,type,
% 2.77/1.76 fLPThe128449925axioms:
% 2.77/1.76 !>[P: $tType,S: $tType,V: $tType] : ( ( P > S > ( messageValue @ V ) > S ) > ( P > S > ( messageValue @ V ) > ( message @ P @ V ) > nat ) > ( P > S ) > $o ) ).
% 2.77/1.76
% 2.77/1.76 thf(sy_c_Groups_Ominus__class_Ominus,type,
% 2.77/1.76 minus_minus:
% 2.77/1.76 !>[A: $tType] : ( A > A > A ) ).
% 2.77/1.76
% 2.77/1.76 thf(sy_c_Groups_Ozero__class_Ozero,type,
% 2.77/1.76 zero_zero:
% 2.77/1.76 !>[A: $tType] : A ).
% 2.77/1.76
% 2.77/1.76 thf(sy_c_List_Oarg__min__list,type,
% 2.77/1.76 arg_min_list:
% 2.77/1.76 !>[A: $tType,B: $tType] : ( ( A > B ) > ( list @ A ) > A ) ).
% 2.77/1.76
% 2.77/1.76 thf(sy_c_List_Obind,type,
% 2.77/1.76 bind:
% 2.77/1.76 !>[A: $tType,B: $tType] : ( ( list @ A ) > ( A > ( list @ B ) ) > ( list @ B ) ) ).
% 2.77/1.76
% 2.77/1.76 thf(sy_c_List_Ocount__list,type,
% 2.77/1.76 count_list:
% 2.77/1.76 !>[A: $tType] : ( ( list @ A ) > A > nat ) ).
% 2.77/1.76
% 2.77/1.76 thf(sy_c_List_Ogen__length,type,
% 2.77/1.76 gen_length:
% 2.77/1.76 !>[A: $tType] : ( nat > ( list @ A ) > nat ) ).
% 2.77/1.76
% 2.77/1.76 thf(sy_c_List_Oinsert,type,
% 2.77/1.76 insert:
% 2.77/1.76 !>[A: $tType] : ( A > ( list @ A ) > ( list @ A ) ) ).
% 2.77/1.76
% 2.77/1.76 thf(sy_c_List_Olist_OCons,type,
% 2.77/1.76 cons:
% 2.77/1.76 !>[A: $tType] : ( A > ( list @ A ) > ( list @ A ) ) ).
% 2.77/1.76
% 2.77/1.76 thf(sy_c_List_Olist_ONil,type,
% 2.77/1.76 nil:
% 2.77/1.76 !>[A: $tType] : ( list @ A ) ).
% 2.77/1.76
% 2.77/1.76 thf(sy_c_List_Olist__ex1,type,
% 2.77/1.76 list_ex1:
% 2.77/1.76 !>[A: $tType] : ( ( A > $o ) > ( list @ A ) > $o ) ).
% 2.77/1.76
% 2.77/1.76 thf(sy_c_List_Olistrelp,type,
% 2.77/1.76 listrelp:
% 2.77/1.76 !>[A: $tType,B: $tType] : ( ( A > B > $o ) > ( list @ A ) > ( list @ B ) > $o ) ).
% 2.77/1.76
% 2.77/1.76 thf(sy_c_List_Omap__tailrec__rev,type,
% 2.77/1.76 map_tailrec_rev:
% 2.77/1.76 !>[A: $tType,B: $tType] : ( ( A > B ) > ( list @ A ) > ( list @ B ) > ( list @ B ) ) ).
% 2.77/1.76
% 2.77/1.76 thf(sy_c_List_Omember,type,
% 2.77/1.76 member:
% 2.77/1.76 !>[A: $tType] : ( ( list @ A ) > A > $o ) ).
% 2.77/1.76
% 2.77/1.76 thf(sy_c_List_On__lists,type,
% 2.77/1.76 n_lists:
% 2.77/1.76 !>[A: $tType] : ( nat > ( list @ A ) > ( list @ ( list @ A ) ) ) ).
% 2.77/1.76
% 2.77/1.76 thf(sy_c_List_Onths,type,
% 2.77/1.76 nths:
% 2.77/1.76 !>[A: $tType] : ( ( list @ A ) > ( set @ nat ) > ( list @ A ) ) ).
% 2.77/1.76
% 2.77/1.76 thf(sy_c_List_Oord_Olexordp__eq,type,
% 2.77/1.76 lexordp_eq:
% 2.77/1.76 !>[A: $tType] : ( ( A > A > $o ) > ( list @ A ) > ( list @ A ) > $o ) ).
% 2.77/1.76
% 2.77/1.76 thf(sy_c_List_Oord__class_Olexordp,type,
% 2.77/1.76 ord_lexordp:
% 2.77/1.76 !>[A: $tType] : ( ( list @ A ) > ( list @ A ) > $o ) ).
% 2.77/1.76
% 2.77/1.76 thf(sy_c_List_Oord__class_Olexordp__eq,type,
% 2.77/1.76 ord_lexordp_eq:
% 2.77/1.76 !>[A: $tType] : ( ( list @ A ) > ( list @ A ) > $o ) ).
% 2.77/1.76
% 2.77/1.76 thf(sy_c_List_Oproduct__lists,type,
% 2.77/1.76 product_lists:
% 2.77/1.76 !>[A: $tType] : ( ( list @ ( list @ A ) ) > ( list @ ( list @ A ) ) ) ).
% 2.77/1.76
% 2.77/1.76 thf(sy_c_List_Osplice,type,
% 2.77/1.76 splice:
% 2.77/1.76 !>[A: $tType] : ( ( list @ A ) > ( list @ A ) > ( list @ A ) ) ).
% 2.77/1.76
% 2.77/1.76 thf(sy_c_List_Osubseqs,type,
% 2.77/1.76 subseqs:
% 2.77/1.76 !>[A: $tType] : ( ( list @ A ) > ( list @ ( list @ A ) ) ) ).
% 2.77/1.76
% 2.77/1.76 thf(sy_c_Nat_OSuc,type,
% 2.77/1.76 suc: nat > nat ).
% 2.77/1.76
% 2.77/1.76 thf(sy_c_Nat_Osemiring__1__class_Oof__nat,type,
% 2.77/1.76 semiring_1_of_nat:
% 2.77/1.76 !>[A: $tType] : ( nat > A ) ).
% 2.77/1.76
% 2.77/1.76 thf(sy_c_Nat_Osemiring__1__class_Oof__nat__aux,type,
% 2.77/1.76 semiri532925092at_aux:
% 2.77/1.76 !>[A: $tType] : ( ( A > A ) > nat > A > A ) ).
% 2.77/1.76
% 2.77/1.76 thf(sy_c_Nat_Osize__class_Osize,type,
% 2.77/1.76 size_size:
% 2.77/1.76 !>[A: $tType] : ( A > nat ) ).
% 2.77/1.76
% 2.77/1.76 thf(sy_c_Orderings_Oord__class_Oless,type,
% 2.77/1.76 ord_less:
% 2.77/1.76 !>[A: $tType] : ( A > A > $o ) ).
% 2.77/1.76
% 2.77/1.76 thf(sy_c_Set_OCollect,type,
% 2.77/1.76 collect:
% 2.77/1.76 !>[A: $tType] : ( ( A > $o ) > ( set @ A ) ) ).
% 2.77/1.76
% 2.77/1.76 thf(sy_c_member,type,
% 2.77/1.76 member2:
% 2.77/1.76 !>[A: $tType] : ( A > ( set @ A ) > $o ) ).
% 2.77/1.76
% 2.77/1.76 thf(sy_v_cfg,type,
% 2.77/1.76 cfg: configuration_ext @ p @ v @ s @ product_unit ).
% 2.77/1.76
% 2.77/1.76 thf(sy_v_fStepCfg____,type,
% 2.77/1.76 fStepCfg: ( list @ ( configuration_ext @ p @ v @ s @ product_unit ) ) > ( list @ ( message @ p @ v ) ) > ( list @ ( configuration_ext @ p @ v @ s @ product_unit ) ) ).
% 2.77/1.76
% 2.77/1.76 thf(sy_v_fStepMsg____,type,
% 2.77/1.76 fStepMsg: ( list @ ( configuration_ext @ p @ v @ s @ product_unit ) ) > ( list @ ( message @ p @ v ) ) > ( list @ ( message @ p @ v ) ) ).
% 2.77/1.76
% 2.77/1.76 thf(sy_v_fe____,type,
% 2.77/1.76 fe: nat > ( list @ ( configuration_ext @ p @ v @ s @ product_unit ) ) ).
% 2.77/1.76
% 2.77/1.76 thf(sy_v_ft____,type,
% 2.77/1.76 ft: nat > ( list @ ( message @ p @ v ) ) ).
% 2.77/1.76
% 2.77/1.76 thf(fact_0_ft__def,axiom,
% 2.77/1.76 ( ft
% 2.77/1.76 = ( fLPThe221390223ionMsg @ p @ v @ s @ cfg @ fStepCfg @ fStepMsg ) ) ).
% 2.77/1.76
% 2.77/1.76 thf(fact_1_fe__def,axiom,
% 2.77/1.76 ( fe
% 2.77/1.76 = ( fLPThe137922386ionCfg @ p @ v @ s @ cfg @ fStepCfg @ fStepMsg ) ) ).
% 2.77/1.76
% 2.77/1.76 thf(fact_2_infiniteExecutionCfg_Osimps_I1_J,axiom,
% 2.77/1.76 ! [Cfg: configuration_ext @ p @ v @ s @ product_unit,FStepCfg: ( list @ ( configuration_ext @ p @ v @ s @ product_unit ) ) > ( list @ ( message @ p @ v ) ) > ( list @ ( configuration_ext @ p @ v @ s @ product_unit ) ),FStepMsg: ( list @ ( configuration_ext @ p @ v @ s @ product_unit ) ) > ( list @ ( message @ p @ v ) ) > ( list @ ( message @ p @ v ) )] :
% 2.77/1.76 ( ( fLPThe137922386ionCfg @ p @ v @ s @ Cfg @ FStepCfg @ FStepMsg @ ( zero_zero @ nat ) )
% 2.77/1.76 = ( cons @ ( configuration_ext @ p @ v @ s @ product_unit ) @ Cfg @ ( nil @ ( configuration_ext @ p @ v @ s @ product_unit ) ) ) ) ).
% 2.77/1.76
% 2.77/1.76 thf(fact_3_list_Oinject,axiom,
% 2.77/1.76 ! [A: $tType,X21: A,X22: list @ A,Y21: A,Y22: list @ A] :
% 2.77/1.76 ( ( ( cons @ A @ X21 @ X22 )
% 2.77/1.76 = ( cons @ A @ Y21 @ Y22 ) )
% 2.77/1.76 = ( ( X21 = Y21 )
% 2.77/1.76 & ( X22 = Y22 ) ) ) ).
% 2.77/1.76
% 2.77/1.76 thf(fact_4_list_Odistinct_I1_J,axiom,
% 2.77/1.76 ! [A: $tType,X21: A,X22: list @ A] :
% 2.77/1.76 ( ( nil @ A )
% 2.77/1.76 != ( cons @ A @ X21 @ X22 ) ) ).
% 2.77/1.76
% 2.77/1.76 thf(fact_5_list_OdiscI,axiom,
% 2.77/1.76 ! [A: $tType,List: list @ A,X21: A,X22: list @ A] :
% 2.77/1.76 ( ( List
% 2.77/1.76 = ( cons @ A @ X21 @ X22 ) )
% 2.77/1.76 => ( List
% 2.77/1.76 != ( nil @ A ) ) ) ).
% 2.77/1.76
% 2.77/1.76 thf(fact_6_list_Oexhaust,axiom,
% 2.77/1.76 ! [A: $tType,Y: list @ A] :
% 2.77/1.76 ( ( Y
% 2.77/1.76 != ( nil @ A ) )
% 2.77/1.76 => ~ ! [X212: A,X222: list @ A] :
% 2.77/1.76 ( Y
% 2.77/1.76 != ( cons @ A @ X212 @ X222 ) ) ) ).
% 2.77/1.76
% 2.77/1.76 thf(fact_7_list_Oinducts,axiom,
% 2.77/1.76 ! [A: $tType,P2: ( list @ A ) > $o,List: list @ A] :
% 2.77/1.76 ( ( P2 @ ( nil @ A ) )
% 2.77/1.76 => ( ! [X1: A,X2: list @ A] :
% 2.77/1.76 ( ( P2 @ X2 )
% 2.77/1.76 => ( P2 @ ( cons @ A @ X1 @ X2 ) ) )
% 2.77/1.76 => ( P2 @ List ) ) ) ).
% 2.77/1.76
% 2.77/1.76 thf(fact_8_neq__Nil__conv,axiom,
% 2.77/1.76 ! [A: $tType,Xs: list @ A] :
% 2.77/1.76 ( ( Xs
% 2.77/1.76 != ( nil @ A ) )
% 2.77/1.76 = ( ? [Y2: A,Ys: list @ A] :
% 2.77/1.76 ( Xs
% 2.77/1.76 = ( cons @ A @ Y2 @ Ys ) ) ) ) ).
% 2.77/1.76
% 2.77/1.76 thf(fact_9_list__induct2_H,axiom,
% 2.77/1.76 ! [A: $tType,B: $tType,P2: ( list @ A ) > ( list @ B ) > $o,Xs: list @ A,Ys2: list @ B] :
% 2.77/1.76 ( ( P2 @ ( nil @ A ) @ ( nil @ B ) )
% 2.77/1.76 => ( ! [X: A,Xs2: list @ A] : ( P2 @ ( cons @ A @ X @ Xs2 ) @ ( nil @ B ) )
% 2.77/1.76 => ( ! [Y3: B,Ys3: list @ B] : ( P2 @ ( nil @ A ) @ ( cons @ B @ Y3 @ Ys3 ) )
% 2.77/1.76 => ( ! [X: A,Xs2: list @ A,Y3: B,Ys3: list @ B] :
% 2.77/1.76 ( ( P2 @ Xs2 @ Ys3 )
% 2.77/1.76 => ( P2 @ ( cons @ A @ X @ Xs2 ) @ ( cons @ B @ Y3 @ Ys3 ) ) )
% 2.77/1.76 => ( P2 @ Xs @ Ys2 ) ) ) ) ) ).
% 2.77/1.76
% 2.77/1.76 thf(fact_10_splice_Oinduct,axiom,
% 2.77/1.76 ! [A: $tType,P2: ( list @ A ) > ( list @ A ) > $o,A0: list @ A,A1: list @ A] :
% 2.77/1.76 ( ! [X_1: list @ A] : ( P2 @ ( nil @ A ) @ X_1 )
% 2.77/1.76 => ( ! [X: A,Xs2: list @ A,Ys3: list @ A] :
% 2.77/1.76 ( ( P2 @ Ys3 @ Xs2 )
% 2.77/1.76 => ( P2 @ ( cons @ A @ X @ Xs2 ) @ Ys3 ) )
% 2.77/1.76 => ( P2 @ A0 @ A1 ) ) ) ).
% 2.77/1.76
% 2.77/1.76 thf(fact_11_induct__list012,axiom,
% 2.77/1.76 ! [A: $tType,P2: ( list @ A ) > $o,Xs: list @ A] :
% 2.77/1.76 ( ( P2 @ ( nil @ A ) )
% 2.77/1.76 => ( ! [X: A] : ( P2 @ ( cons @ A @ X @ ( nil @ A ) ) )
% 2.77/1.76 => ( ! [X: A,Y3: A,Zs: list @ A] :
% 2.77/1.76 ( ( P2 @ Zs )
% 2.77/1.76 => ( ( P2 @ ( cons @ A @ Y3 @ Zs ) )
% 2.77/1.76 => ( P2 @ ( cons @ A @ X @ ( cons @ A @ Y3 @ Zs ) ) ) ) )
% 2.77/1.76 => ( P2 @ Xs ) ) ) ) ).
% 2.77/1.76
% 2.77/1.76 thf(fact_12_min__list_Ocases,axiom,
% 2.77/1.76 ! [A: $tType] :
% 2.77/1.76 ( ( ord @ A )
% 2.77/1.76 => ! [X3: list @ A] :
% 2.77/1.76 ( ! [X: A,Xs2: list @ A] :
% 2.77/1.76 ( X3
% 2.77/1.76 != ( cons @ A @ X @ Xs2 ) )
% 2.77/1.76 => ( X3
% 2.77/1.76 = ( nil @ A ) ) ) ) ).
% 2.77/1.76
% 2.77/1.76 thf(fact_13_min__list_Oinduct,axiom,
% 2.77/1.76 ! [A: $tType] :
% 2.77/1.76 ( ( ord @ A )
% 2.77/1.76 => ! [P2: ( list @ A ) > $o,A0: list @ A] :
% 2.77/1.76 ( ! [X: A,Xs2: list @ A] :
% 2.77/1.76 ( ! [X213: A,X223: list @ A] :
% 2.77/1.76 ( ( Xs2
% 2.77/1.76 = ( cons @ A @ X213 @ X223 ) )
% 2.77/1.76 => ( P2 @ Xs2 ) )
% 2.77/1.76 => ( P2 @ ( cons @ A @ X @ Xs2 ) ) )
% 2.77/1.76 => ( ( P2 @ ( nil @ A ) )
% 2.77/1.76 => ( P2 @ A0 ) ) ) ) ).
% 2.77/1.76
% 2.77/1.76 thf(fact_14_infiniteExecutionMsg_Osimps_I1_J,axiom,
% 2.77/1.76 ! [Cfg: configuration_ext @ p @ v @ s @ product_unit,FStepCfg: ( list @ ( configuration_ext @ p @ v @ s @ product_unit ) ) > ( list @ ( message @ p @ v ) ) > ( list @ ( configuration_ext @ p @ v @ s @ product_unit ) ),FStepMsg: ( list @ ( configuration_ext @ p @ v @ s @ product_unit ) ) > ( list @ ( message @ p @ v ) ) > ( list @ ( message @ p @ v ) )] :
% 2.77/1.76 ( ( fLPThe221390223ionMsg @ p @ v @ s @ Cfg @ FStepCfg @ FStepMsg @ ( zero_zero @ nat ) )
% 2.77/1.76 = ( nil @ ( message @ p @ v ) ) ) ).
% 2.77/1.76
% 2.77/1.76 thf(fact_15_zero__reorient,axiom,
% 2.77/1.76 ! [A: $tType] :
% 2.77/1.76 ( ( zero @ A )
% 2.77/1.76 => ! [X3: A] :
% 2.77/1.76 ( ( ( zero_zero @ A )
% 2.77/1.76 = X3 )
% 2.77/1.76 = ( X3
% 2.77/1.76 = ( zero_zero @ A ) ) ) ) ).
% 2.77/1.76
% 2.77/1.76 thf(fact_16_not__Cons__self2,axiom,
% 2.77/1.76 ! [A: $tType,X3: A,Xs: list @ A] :
% 2.77/1.76 ( ( cons @ A @ X3 @ Xs )
% 2.77/1.76 != Xs ) ).
% 2.77/1.76
% 2.77/1.76 thf(fact_17_strict__sorted_Oinduct,axiom,
% 2.77/1.76 ! [A: $tType] :
% 2.77/1.76 ( ( linorder @ A )
% 2.77/1.76 => ! [P2: ( list @ A ) > $o,A0: list @ A] :
% 2.77/1.76 ( ( P2 @ ( nil @ A ) )
% 2.77/1.76 => ( ! [X: A,Ys3: list @ A] :
% 2.77/1.76 ( ( P2 @ Ys3 )
% 2.77/1.76 => ( P2 @ ( cons @ A @ X @ Ys3 ) ) )
% 2.77/1.76 => ( P2 @ A0 ) ) ) ) ).
% 2.77/1.76
% 2.77/1.76 thf(fact_18_strict__sorted_Ocases,axiom,
% 2.77/1.76 ! [A: $tType] :
% 2.77/1.76 ( ( linorder @ A )
% 2.77/1.76 => ! [X3: list @ A] :
% 2.77/1.76 ( ( X3
% 2.77/1.76 != ( nil @ A ) )
% 2.77/1.76 => ~ ! [X: A,Ys3: list @ A] :
% 2.77/1.76 ( X3
% 2.77/1.76 != ( cons @ A @ X @ Ys3 ) ) ) ) ).
% 2.77/1.76
% 2.77/1.76 thf(fact_19_map__tailrec__rev_Oinduct,axiom,
% 2.77/1.76 ! [A: $tType,B: $tType,P2: ( A > B ) > ( list @ A ) > ( list @ B ) > $o,A0: A > B,A1: list @ A,A2: list @ B] :
% 2.77/1.76 ( ! [F: A > B,X_1: list @ B] : ( P2 @ F @ ( nil @ A ) @ X_1 )
% 2.77/1.76 => ( ! [F: A > B,A3: A,As: list @ A,Bs: list @ B] :
% 2.77/1.76 ( ( P2 @ F @ As @ ( cons @ B @ ( F @ A3 ) @ Bs ) )
% 2.77/1.76 => ( P2 @ F @ ( cons @ A @ A3 @ As ) @ Bs ) )
% 2.77/1.76 => ( P2 @ A0 @ A1 @ A2 ) ) ) ).
% 2.77/1.76
% 2.77/1.76 thf(fact_20_list__nonempty__induct,axiom,
% 2.77/1.76 ! [A: $tType,Xs: list @ A,P2: ( list @ A ) > $o] :
% 2.77/1.76 ( ( Xs
% 2.77/1.76 != ( nil @ A ) )
% 2.77/1.76 => ( ! [X: A] : ( P2 @ ( cons @ A @ X @ ( nil @ A ) ) )
% 2.77/1.76 => ( ! [X: A,Xs2: list @ A] :
% 2.77/1.76 ( ( Xs2
% 2.77/1.76 != ( nil @ A ) )
% 2.77/1.76 => ( ( P2 @ Xs2 )
% 2.77/1.76 => ( P2 @ ( cons @ A @ X @ Xs2 ) ) ) )
% 2.77/1.76 => ( P2 @ Xs ) ) ) ) ).
% 2.77/1.76
% 2.77/1.76 thf(fact_21_successively_Oinduct,axiom,
% 2.77/1.76 ! [A: $tType,P2: ( A > A > $o ) > ( list @ A ) > $o,A0: A > A > $o,A1: list @ A] :
% 2.77/1.76 ( ! [P3: A > A > $o] : ( P2 @ P3 @ ( nil @ A ) )
% 2.77/1.76 => ( ! [P3: A > A > $o,X: A] : ( P2 @ P3 @ ( cons @ A @ X @ ( nil @ A ) ) )
% 2.77/1.76 => ( ! [P3: A > A > $o,X: A,Y3: A,Xs2: list @ A] :
% 2.77/1.76 ( ( P2 @ P3 @ ( cons @ A @ Y3 @ Xs2 ) )
% 2.77/1.76 => ( P2 @ P3 @ ( cons @ A @ X @ ( cons @ A @ Y3 @ Xs2 ) ) ) )
% 2.77/1.76 => ( P2 @ A0 @ A1 ) ) ) ) ).
% 2.77/1.76
% 2.77/1.76 thf(fact_22_arg__min__list_Oinduct,axiom,
% 2.77/1.76 ! [B: $tType,A: $tType] :
% 2.77/1.76 ( ( linorder @ B )
% 2.77/1.76 => ! [P2: ( A > B ) > ( list @ A ) > $o,A0: A > B,A1: list @ A] :
% 2.77/1.76 ( ! [F: A > B,X: A] : ( P2 @ F @ ( cons @ A @ X @ ( nil @ A ) ) )
% 2.77/1.76 => ( ! [F: A > B,X: A,Y3: A,Zs: list @ A] :
% 2.77/1.76 ( ( P2 @ F @ ( cons @ A @ Y3 @ Zs ) )
% 2.77/1.76 => ( P2 @ F @ ( cons @ A @ X @ ( cons @ A @ Y3 @ Zs ) ) ) )
% 2.77/1.76 => ( ! [A3: A > B] : ( P2 @ A3 @ ( nil @ A ) )
% 2.77/1.76 => ( P2 @ A0 @ A1 ) ) ) ) ) ).
% 2.77/1.76
% 2.77/1.76 thf(fact_23_remdups__adj_Oinduct,axiom,
% 2.77/1.76 ! [A: $tType,P2: ( list @ A ) > $o,A0: list @ A] :
% 2.77/1.76 ( ( P2 @ ( nil @ A ) )
% 2.77/1.76 => ( ! [X: A] : ( P2 @ ( cons @ A @ X @ ( nil @ A ) ) )
% 2.77/1.76 => ( ! [X: A,Y3: A,Xs2: list @ A] :
% 2.77/1.76 ( ( ( X = Y3 )
% 2.77/1.76 => ( P2 @ ( cons @ A @ X @ Xs2 ) ) )
% 2.77/1.76 => ( ( ( X != Y3 )
% 2.77/1.76 => ( P2 @ ( cons @ A @ Y3 @ Xs2 ) ) )
% 2.77/1.76 => ( P2 @ ( cons @ A @ X @ ( cons @ A @ Y3 @ Xs2 ) ) ) ) )
% 2.77/1.76 => ( P2 @ A0 ) ) ) ) ).
% 2.77/1.76
% 2.77/1.76 thf(fact_24_sorted__wrt_Oinduct,axiom,
% 2.77/1.76 ! [A: $tType,P2: ( A > A > $o ) > ( list @ A ) > $o,A0: A > A > $o,A1: list @ A] :
% 2.77/1.76 ( ! [P3: A > A > $o] : ( P2 @ P3 @ ( nil @ A ) )
% 2.77/1.76 => ( ! [P3: A > A > $o,X: A,Ys3: list @ A] :
% 2.77/1.76 ( ( P2 @ P3 @ Ys3 )
% 2.77/1.76 => ( P2 @ P3 @ ( cons @ A @ X @ Ys3 ) ) )
% 2.77/1.76 => ( P2 @ A0 @ A1 ) ) ) ).
% 2.77/1.76
% 2.77/1.76 thf(fact_25_remdups__adj_Ocases,axiom,
% 2.77/1.76 ! [A: $tType,X3: list @ A] :
% 2.77/1.76 ( ( X3
% 2.77/1.76 != ( nil @ A ) )
% 2.77/1.76 => ( ! [X: A] :
% 2.77/1.76 ( X3
% 2.77/1.76 != ( cons @ A @ X @ ( nil @ A ) ) )
% 2.77/1.76 => ~ ! [X: A,Y3: A,Xs2: list @ A] :
% 2.77/1.76 ( X3
% 2.77/1.76 != ( cons @ A @ X @ ( cons @ A @ Y3 @ Xs2 ) ) ) ) ) ).
% 2.77/1.76
% 2.77/1.76 thf(fact_26_transpose_Ocases,axiom,
% 2.77/1.76 ! [A: $tType,X3: list @ ( list @ A )] :
% 2.77/1.76 ( ( X3
% 2.77/1.76 != ( nil @ ( list @ A ) ) )
% 2.77/1.76 => ( ! [Xss: list @ ( list @ A )] :
% 2.77/1.76 ( X3
% 2.77/1.76 != ( cons @ ( list @ A ) @ ( nil @ A ) @ Xss ) )
% 2.77/1.76 => ~ ! [X: A,Xs2: list @ A,Xss: list @ ( list @ A )] :
% 2.77/1.76 ( X3
% 2.77/1.76 != ( cons @ ( list @ A ) @ ( cons @ A @ X @ Xs2 ) @ Xss ) ) ) ) ).
% 2.77/1.76
% 2.77/1.76 thf(fact_27_shuffles_Oinduct,axiom,
% 2.77/1.76 ! [A: $tType,P2: ( list @ A ) > ( list @ A ) > $o,A0: list @ A,A1: list @ A] :
% 2.77/1.76 ( ! [X_1: list @ A] : ( P2 @ ( nil @ A ) @ X_1 )
% 2.77/1.76 => ( ! [Xs2: list @ A] : ( P2 @ Xs2 @ ( nil @ A ) )
% 2.77/1.76 => ( ! [X: A,Xs2: list @ A,Y3: A,Ys3: list @ A] :
% 2.77/1.76 ( ( P2 @ Xs2 @ ( cons @ A @ Y3 @ Ys3 ) )
% 2.77/1.76 => ( ( P2 @ ( cons @ A @ X @ Xs2 ) @ Ys3 )
% 2.77/1.76 => ( P2 @ ( cons @ A @ X @ Xs2 ) @ ( cons @ A @ Y3 @ Ys3 ) ) ) )
% 2.77/1.76 => ( P2 @ A0 @ A1 ) ) ) ) ).
% 2.77/1.76
% 2.77/1.76 thf(fact_28_infiniteExecutionCfg_Oelims,axiom,
% 2.77/1.76 ! [X3: configuration_ext @ p @ v @ s @ product_unit,Xa: ( list @ ( configuration_ext @ p @ v @ s @ product_unit ) ) > ( list @ ( message @ p @ v ) ) > ( list @ ( configuration_ext @ p @ v @ s @ product_unit ) ),Xb: ( list @ ( configuration_ext @ p @ v @ s @ product_unit ) ) > ( list @ ( message @ p @ v ) ) > ( list @ ( message @ p @ v ) ),Xc: nat,Y: list @ ( configuration_ext @ p @ v @ s @ product_unit )] :
% 2.77/1.76 ( ( ( fLPThe137922386ionCfg @ p @ v @ s @ X3 @ Xa @ Xb @ Xc )
% 2.77/1.76 = Y )
% 2.77/1.76 => ( ( ( Xc
% 2.77/1.76 = ( zero_zero @ nat ) )
% 2.77/1.76 => ( Y
% 2.77/1.76 != ( cons @ ( configuration_ext @ p @ v @ s @ product_unit ) @ X3 @ ( nil @ ( configuration_ext @ p @ v @ s @ product_unit ) ) ) ) )
% 2.77/1.76 => ~ ! [N: nat] :
% 2.77/1.76 ( ( Xc
% 2.77/1.76 = ( suc @ N ) )
% 2.77/1.76 => ( Y
% 2.77/1.76 != ( Xa @ ( fLPThe137922386ionCfg @ p @ v @ s @ X3 @ Xa @ Xb @ N ) @ ( fLPThe221390223ionMsg @ p @ v @ s @ X3 @ Xa @ Xb @ N ) ) ) ) ) ) ).
% 2.77/1.76
% 2.77/1.76 thf(fact_29_infiniteExecutionMsg_Oelims,axiom,
% 2.77/1.76 ! [X3: configuration_ext @ p @ v @ s @ product_unit,Xa: ( list @ ( configuration_ext @ p @ v @ s @ product_unit ) ) > ( list @ ( message @ p @ v ) ) > ( list @ ( configuration_ext @ p @ v @ s @ product_unit ) ),Xb: ( list @ ( configuration_ext @ p @ v @ s @ product_unit ) ) > ( list @ ( message @ p @ v ) ) > ( list @ ( message @ p @ v ) ),Xc: nat,Y: list @ ( message @ p @ v )] :
% 2.77/1.76 ( ( ( fLPThe221390223ionMsg @ p @ v @ s @ X3 @ Xa @ Xb @ Xc )
% 2.77/1.76 = Y )
% 2.77/1.76 => ( ( ( Xc
% 2.77/1.76 = ( zero_zero @ nat ) )
% 2.77/1.76 => ( Y
% 2.77/1.76 != ( nil @ ( message @ p @ v ) ) ) )
% 2.77/1.76 => ~ ! [N: nat] :
% 2.77/1.76 ( ( Xc
% 2.77/1.76 = ( suc @ N ) )
% 2.77/1.76 => ( Y
% 2.77/1.76 != ( Xb @ ( fLPThe137922386ionCfg @ p @ v @ s @ X3 @ Xa @ Xb @ N ) @ ( fLPThe221390223ionMsg @ p @ v @ s @ X3 @ Xa @ Xb @ N ) ) ) ) ) ) ).
% 2.77/1.76
% 2.77/1.76 thf(fact_30_infiniteExecutionCfg_Osimps_I2_J,axiom,
% 2.77/1.76 ! [Cfg: configuration_ext @ p @ v @ s @ product_unit,FStepCfg: ( list @ ( configuration_ext @ p @ v @ s @ product_unit ) ) > ( list @ ( message @ p @ v ) ) > ( list @ ( configuration_ext @ p @ v @ s @ product_unit ) ),FStepMsg: ( list @ ( configuration_ext @ p @ v @ s @ product_unit ) ) > ( list @ ( message @ p @ v ) ) > ( list @ ( message @ p @ v ) ),N2: nat] :
% 2.77/1.76 ( ( fLPThe137922386ionCfg @ p @ v @ s @ Cfg @ FStepCfg @ FStepMsg @ ( suc @ N2 ) )
% 2.77/1.76 = ( FStepCfg @ ( fLPThe137922386ionCfg @ p @ v @ s @ Cfg @ FStepCfg @ FStepMsg @ N2 ) @ ( fLPThe221390223ionMsg @ p @ v @ s @ Cfg @ FStepCfg @ FStepMsg @ N2 ) ) ) ).
% 2.77/1.76
% 2.77/1.76 thf(fact_31_infiniteExecutionMsg_Osimps_I2_J,axiom,
% 2.77/1.76 ! [Cfg: configuration_ext @ p @ v @ s @ product_unit,FStepCfg: ( list @ ( configuration_ext @ p @ v @ s @ product_unit ) ) > ( list @ ( message @ p @ v ) ) > ( list @ ( configuration_ext @ p @ v @ s @ product_unit ) ),FStepMsg: ( list @ ( configuration_ext @ p @ v @ s @ product_unit ) ) > ( list @ ( message @ p @ v ) ) > ( list @ ( message @ p @ v ) ),N2: nat] :
% 2.77/1.76 ( ( fLPThe221390223ionMsg @ p @ v @ s @ Cfg @ FStepCfg @ FStepMsg @ ( suc @ N2 ) )
% 2.77/1.76 = ( FStepMsg @ ( fLPThe137922386ionCfg @ p @ v @ s @ Cfg @ FStepCfg @ FStepMsg @ N2 ) @ ( fLPThe221390223ionMsg @ p @ v @ s @ Cfg @ FStepCfg @ FStepMsg @ N2 ) ) ) ).
% 2.77/1.76
% 2.77/1.76 thf(fact_32_flpPseudoConsensus_OinfiniteExecutionCfg_Osimps_I1_J,axiom,
% 2.77/1.76 ! [S: $tType,V: $tType,P: $tType,Trans: P > S > ( messageValue @ V ) > S,Sends: P > S > ( messageValue @ V ) > ( message @ P @ V ) > nat,Start: P > S,Cfg: configuration_ext @ P @ V @ S @ product_unit,FStepCfg: ( list @ ( configuration_ext @ P @ V @ S @ product_unit ) ) > ( list @ ( message @ P @ V ) ) > ( list @ ( configuration_ext @ P @ V @ S @ product_unit ) ),FStepMsg: ( list @ ( configuration_ext @ P @ V @ S @ product_unit ) ) > ( list @ ( message @ P @ V ) ) > ( list @ ( message @ P @ V ) )] :
% 2.77/1.76 ( ( fLPThe1922692578sensus @ P @ S @ V @ Trans @ Sends @ Start )
% 2.77/1.76 => ( ( fLPThe137922386ionCfg @ P @ V @ S @ Cfg @ FStepCfg @ FStepMsg @ ( zero_zero @ nat ) )
% 2.77/1.76 = ( cons @ ( configuration_ext @ P @ V @ S @ product_unit ) @ Cfg @ ( nil @ ( configuration_ext @ P @ V @ S @ product_unit ) ) ) ) ) ).
% 2.77/1.76
% 2.77/1.76 thf(fact_33_n__lists__Nil,axiom,
% 2.77/1.76 ! [A: $tType,N2: nat] :
% 2.77/1.76 ( ( ( N2
% 2.77/1.76 = ( zero_zero @ nat ) )
% 2.77/1.76 => ( ( n_lists @ A @ N2 @ ( nil @ A ) )
% 2.77/1.76 = ( cons @ ( list @ A ) @ ( nil @ A ) @ ( nil @ ( list @ A ) ) ) ) )
% 2.77/1.76 & ( ( N2
% 2.77/1.76 != ( zero_zero @ nat ) )
% 2.77/1.76 => ( ( n_lists @ A @ N2 @ ( nil @ A ) )
% 2.77/1.76 = ( nil @ ( list @ A ) ) ) ) ) ).
% 2.77/1.76
% 2.77/1.76 thf(fact_34_insert__Nil,axiom,
% 2.77/1.76 ! [A: $tType,X3: A] :
% 2.77/1.76 ( ( insert @ A @ X3 @ ( nil @ A ) )
% 2.77/1.76 = ( cons @ A @ X3 @ ( nil @ A ) ) ) ).
% 2.77/1.76
% 2.77/1.76 thf(fact_35_nths__singleton,axiom,
% 2.77/1.76 ! [A: $tType,A4: set @ nat,X3: A] :
% 2.77/1.76 ( ( ( member2 @ nat @ ( zero_zero @ nat ) @ A4 )
% 2.77/1.76 => ( ( nths @ A @ ( cons @ A @ X3 @ ( nil @ A ) ) @ A4 )
% 2.77/1.76 = ( cons @ A @ X3 @ ( nil @ A ) ) ) )
% 2.77/1.76 & ( ~ ( member2 @ nat @ ( zero_zero @ nat ) @ A4 )
% 2.77/1.76 => ( ( nths @ A @ ( cons @ A @ X3 @ ( nil @ A ) ) @ A4 )
% 2.77/1.76 = ( nil @ A ) ) ) ) ).
% 2.77/1.76
% 2.77/1.76 thf(fact_36_list__ex1__simps_I1_J,axiom,
% 2.77/1.76 ! [A: $tType,P2: A > $o] :
% 2.77/1.76 ~ ( list_ex1 @ A @ P2 @ ( nil @ A ) ) ).
% 2.77/1.76
% 2.77/1.76 thf(fact_37_n__lists_Osimps_I1_J,axiom,
% 2.77/1.76 ! [A: $tType,Xs: list @ A] :
% 2.77/1.76 ( ( n_lists @ A @ ( zero_zero @ nat ) @ Xs )
% 2.77/1.76 = ( cons @ ( list @ A ) @ ( nil @ A ) @ ( nil @ ( list @ A ) ) ) ) ).
% 2.77/1.76
% 2.77/1.76 thf(fact_38_infiniteExecutionCfg__infiniteExecutionMsg_Oinduct_I2_J,axiom,
% 2.77/1.76 ! [P2: ( configuration_ext @ p @ v @ s @ product_unit ) > ( ( list @ ( configuration_ext @ p @ v @ s @ product_unit ) ) > ( list @ ( message @ p @ v ) ) > ( list @ ( configuration_ext @ p @ v @ s @ product_unit ) ) ) > ( ( list @ ( configuration_ext @ p @ v @ s @ product_unit ) ) > ( list @ ( message @ p @ v ) ) > ( list @ ( message @ p @ v ) ) ) > nat > $o,Q: ( configuration_ext @ p @ v @ s @ product_unit ) > ( ( list @ ( configuration_ext @ p @ v @ s @ product_unit ) ) > ( list @ ( message @ p @ v ) ) > ( list @ ( configuration_ext @ p @ v @ s @ product_unit ) ) ) > ( ( list @ ( configuration_ext @ p @ v @ s @ product_unit ) ) > ( list @ ( message @ p @ v ) ) > ( list @ ( message @ p @ v ) ) ) > nat > $o,A42: configuration_ext @ p @ v @ s @ product_unit,A5: ( list @ ( configuration_ext @ p @ v @ s @ product_unit ) ) > ( list @ ( message @ p @ v ) ) > ( list @ ( configuration_ext @ p @ v @ s @ product_unit ) ),A6: ( list @ ( configuration_ext @ p @ v @ s @ product_unit ) ) > ( list @ ( message @ p @ v ) ) > ( list @ ( message @ p @ v ) ),A7: nat] :
% 2.77/1.76 ( ! [Cfg2: configuration_ext @ p @ v @ s @ product_unit,FStepCfg2: ( list @ ( configuration_ext @ p @ v @ s @ product_unit ) ) > ( list @ ( message @ p @ v ) ) > ( list @ ( configuration_ext @ p @ v @ s @ product_unit ) ),FStepMsg2: ( list @ ( configuration_ext @ p @ v @ s @ product_unit ) ) > ( list @ ( message @ p @ v ) ) > ( list @ ( message @ p @ v ) )] : ( P2 @ Cfg2 @ FStepCfg2 @ FStepMsg2 @ ( zero_zero @ nat ) )
% 2.77/1.76 => ( ! [Cfg2: configuration_ext @ p @ v @ s @ product_unit,FStepCfg2: ( list @ ( configuration_ext @ p @ v @ s @ product_unit ) ) > ( list @ ( message @ p @ v ) ) > ( list @ ( configuration_ext @ p @ v @ s @ product_unit ) ),FStepMsg2: ( list @ ( configuration_ext @ p @ v @ s @ product_unit ) ) > ( list @ ( message @ p @ v ) ) > ( list @ ( message @ p @ v ) ),N: nat] :
% 2.77/1.76 ( ( P2 @ Cfg2 @ FStepCfg2 @ FStepMsg2 @ N )
% 2.77/1.76 => ( ( Q @ Cfg2 @ FStepCfg2 @ FStepMsg2 @ N )
% 2.77/1.76 => ( P2 @ Cfg2 @ FStepCfg2 @ FStepMsg2 @ ( suc @ N ) ) ) )
% 2.77/1.76 => ( ! [Cfg2: configuration_ext @ p @ v @ s @ product_unit,FStepCfg2: ( list @ ( configuration_ext @ p @ v @ s @ product_unit ) ) > ( list @ ( message @ p @ v ) ) > ( list @ ( configuration_ext @ p @ v @ s @ product_unit ) ),FStepMsg2: ( list @ ( configuration_ext @ p @ v @ s @ product_unit ) ) > ( list @ ( message @ p @ v ) ) > ( list @ ( message @ p @ v ) )] : ( Q @ Cfg2 @ FStepCfg2 @ FStepMsg2 @ ( zero_zero @ nat ) )
% 2.77/1.76 => ( ! [Cfg2: configuration_ext @ p @ v @ s @ product_unit,FStepCfg2: ( list @ ( configuration_ext @ p @ v @ s @ product_unit ) ) > ( list @ ( message @ p @ v ) ) > ( list @ ( configuration_ext @ p @ v @ s @ product_unit ) ),FStepMsg2: ( list @ ( configuration_ext @ p @ v @ s @ product_unit ) ) > ( list @ ( message @ p @ v ) ) > ( list @ ( message @ p @ v ) ),N: nat] :
% 2.77/1.76 ( ( P2 @ Cfg2 @ FStepCfg2 @ FStepMsg2 @ N )
% 2.77/1.76 => ( ( Q @ Cfg2 @ FStepCfg2 @ FStepMsg2 @ N )
% 2.77/1.76 => ( Q @ Cfg2 @ FStepCfg2 @ FStepMsg2 @ ( suc @ N ) ) ) )
% 2.77/1.76 => ( Q @ A42 @ A5 @ A6 @ A7 ) ) ) ) ) ).
% 2.77/1.76
% 2.77/1.76 thf(fact_39_infiniteExecutionCfg__infiniteExecutionMsg_Oinduct_I1_J,axiom,
% 2.77/1.76 ! [P2: ( configuration_ext @ p @ v @ s @ product_unit ) > ( ( list @ ( configuration_ext @ p @ v @ s @ product_unit ) ) > ( list @ ( message @ p @ v ) ) > ( list @ ( configuration_ext @ p @ v @ s @ product_unit ) ) ) > ( ( list @ ( configuration_ext @ p @ v @ s @ product_unit ) ) > ( list @ ( message @ p @ v ) ) > ( list @ ( message @ p @ v ) ) ) > nat > $o,Q: ( configuration_ext @ p @ v @ s @ product_unit ) > ( ( list @ ( configuration_ext @ p @ v @ s @ product_unit ) ) > ( list @ ( message @ p @ v ) ) > ( list @ ( configuration_ext @ p @ v @ s @ product_unit ) ) ) > ( ( list @ ( configuration_ext @ p @ v @ s @ product_unit ) ) > ( list @ ( message @ p @ v ) ) > ( list @ ( message @ p @ v ) ) ) > nat > $o,A0: configuration_ext @ p @ v @ s @ product_unit,A1: ( list @ ( configuration_ext @ p @ v @ s @ product_unit ) ) > ( list @ ( message @ p @ v ) ) > ( list @ ( configuration_ext @ p @ v @ s @ product_unit ) ),A2: ( list @ ( configuration_ext @ p @ v @ s @ product_unit ) ) > ( list @ ( message @ p @ v ) ) > ( list @ ( message @ p @ v ) ),A32: nat] :
% 2.77/1.76 ( ! [Cfg2: configuration_ext @ p @ v @ s @ product_unit,FStepCfg2: ( list @ ( configuration_ext @ p @ v @ s @ product_unit ) ) > ( list @ ( message @ p @ v ) ) > ( list @ ( configuration_ext @ p @ v @ s @ product_unit ) ),FStepMsg2: ( list @ ( configuration_ext @ p @ v @ s @ product_unit ) ) > ( list @ ( message @ p @ v ) ) > ( list @ ( message @ p @ v ) )] : ( P2 @ Cfg2 @ FStepCfg2 @ FStepMsg2 @ ( zero_zero @ nat ) )
% 2.77/1.76 => ( ! [Cfg2: configuration_ext @ p @ v @ s @ product_unit,FStepCfg2: ( list @ ( configuration_ext @ p @ v @ s @ product_unit ) ) > ( list @ ( message @ p @ v ) ) > ( list @ ( configuration_ext @ p @ v @ s @ product_unit ) ),FStepMsg2: ( list @ ( configuration_ext @ p @ v @ s @ product_unit ) ) > ( list @ ( message @ p @ v ) ) > ( list @ ( message @ p @ v ) ),N: nat] :
% 2.77/1.76 ( ( P2 @ Cfg2 @ FStepCfg2 @ FStepMsg2 @ N )
% 2.77/1.76 => ( ( Q @ Cfg2 @ FStepCfg2 @ FStepMsg2 @ N )
% 2.77/1.76 => ( P2 @ Cfg2 @ FStepCfg2 @ FStepMsg2 @ ( suc @ N ) ) ) )
% 2.77/1.76 => ( ! [Cfg2: configuration_ext @ p @ v @ s @ product_unit,FStepCfg2: ( list @ ( configuration_ext @ p @ v @ s @ product_unit ) ) > ( list @ ( message @ p @ v ) ) > ( list @ ( configuration_ext @ p @ v @ s @ product_unit ) ),FStepMsg2: ( list @ ( configuration_ext @ p @ v @ s @ product_unit ) ) > ( list @ ( message @ p @ v ) ) > ( list @ ( message @ p @ v ) )] : ( Q @ Cfg2 @ FStepCfg2 @ FStepMsg2 @ ( zero_zero @ nat ) )
% 2.77/1.76 => ( ! [Cfg2: configuration_ext @ p @ v @ s @ product_unit,FStepCfg2: ( list @ ( configuration_ext @ p @ v @ s @ product_unit ) ) > ( list @ ( message @ p @ v ) ) > ( list @ ( configuration_ext @ p @ v @ s @ product_unit ) ),FStepMsg2: ( list @ ( configuration_ext @ p @ v @ s @ product_unit ) ) > ( list @ ( message @ p @ v ) ) > ( list @ ( message @ p @ v ) ),N: nat] :
% 2.77/1.76 ( ( P2 @ Cfg2 @ FStepCfg2 @ FStepMsg2 @ N )
% 2.77/1.76 => ( ( Q @ Cfg2 @ FStepCfg2 @ FStepMsg2 @ N )
% 2.77/1.76 => ( Q @ Cfg2 @ FStepCfg2 @ FStepMsg2 @ ( suc @ N ) ) ) )
% 2.77/1.76 => ( P2 @ A0 @ A1 @ A2 @ A32 ) ) ) ) ) ).
% 2.77/1.76
% 2.77/1.76 thf(fact_40_nths__nil,axiom,
% 2.77/1.76 ! [A: $tType,A4: set @ nat] :
% 2.77/1.76 ( ( nths @ A @ ( nil @ A ) @ A4 )
% 2.77/1.76 = ( nil @ A ) ) ).
% 2.77/1.76
% 2.77/1.76 thf(fact_41_flpPseudoConsensus_OinfiniteExecutionCfg__infiniteExecutionMsg_Oinduct_I2_J,axiom,
% 2.77/1.76 ! [P: $tType,V: $tType,S: $tType,Trans: P > S > ( messageValue @ V ) > S,Sends: P > S > ( messageValue @ V ) > ( message @ P @ V ) > nat,Start: P > S,P2: ( configuration_ext @ P @ V @ S @ product_unit ) > ( ( list @ ( configuration_ext @ P @ V @ S @ product_unit ) ) > ( list @ ( message @ P @ V ) ) > ( list @ ( configuration_ext @ P @ V @ S @ product_unit ) ) ) > ( ( list @ ( configuration_ext @ P @ V @ S @ product_unit ) ) > ( list @ ( message @ P @ V ) ) > ( list @ ( message @ P @ V ) ) ) > nat > $o,Q: ( configuration_ext @ P @ V @ S @ product_unit ) > ( ( list @ ( configuration_ext @ P @ V @ S @ product_unit ) ) > ( list @ ( message @ P @ V ) ) > ( list @ ( configuration_ext @ P @ V @ S @ product_unit ) ) ) > ( ( list @ ( configuration_ext @ P @ V @ S @ product_unit ) ) > ( list @ ( message @ P @ V ) ) > ( list @ ( message @ P @ V ) ) ) > nat > $o,A42: configuration_ext @ P @ V @ S @ product_unit,A5: ( list @ ( configuration_ext @ P @ V @ S @ product_unit ) ) > ( list @ ( message @ P @ V ) ) > ( list @ ( configuration_ext @ P @ V @ S @ product_unit ) ),A6: ( list @ ( configuration_ext @ P @ V @ S @ product_unit ) ) > ( list @ ( message @ P @ V ) ) > ( list @ ( message @ P @ V ) ),A7: nat] :
% 2.77/1.76 ( ( fLPThe1922692578sensus @ P @ S @ V @ Trans @ Sends @ Start )
% 2.77/1.76 => ( ! [Cfg2: configuration_ext @ P @ V @ S @ product_unit,FStepCfg2: ( list @ ( configuration_ext @ P @ V @ S @ product_unit ) ) > ( list @ ( message @ P @ V ) ) > ( list @ ( configuration_ext @ P @ V @ S @ product_unit ) ),FStepMsg2: ( list @ ( configuration_ext @ P @ V @ S @ product_unit ) ) > ( list @ ( message @ P @ V ) ) > ( list @ ( message @ P @ V ) )] : ( P2 @ Cfg2 @ FStepCfg2 @ FStepMsg2 @ ( zero_zero @ nat ) )
% 2.77/1.76 => ( ! [Cfg2: configuration_ext @ P @ V @ S @ product_unit,FStepCfg2: ( list @ ( configuration_ext @ P @ V @ S @ product_unit ) ) > ( list @ ( message @ P @ V ) ) > ( list @ ( configuration_ext @ P @ V @ S @ product_unit ) ),FStepMsg2: ( list @ ( configuration_ext @ P @ V @ S @ product_unit ) ) > ( list @ ( message @ P @ V ) ) > ( list @ ( message @ P @ V ) ),N: nat] :
% 2.77/1.76 ( ( P2 @ Cfg2 @ FStepCfg2 @ FStepMsg2 @ N )
% 2.77/1.76 => ( ( Q @ Cfg2 @ FStepCfg2 @ FStepMsg2 @ N )
% 2.77/1.76 => ( P2 @ Cfg2 @ FStepCfg2 @ FStepMsg2 @ ( suc @ N ) ) ) )
% 2.77/1.76 => ( ! [Cfg2: configuration_ext @ P @ V @ S @ product_unit,FStepCfg2: ( list @ ( configuration_ext @ P @ V @ S @ product_unit ) ) > ( list @ ( message @ P @ V ) ) > ( list @ ( configuration_ext @ P @ V @ S @ product_unit ) ),FStepMsg2: ( list @ ( configuration_ext @ P @ V @ S @ product_unit ) ) > ( list @ ( message @ P @ V ) ) > ( list @ ( message @ P @ V ) )] : ( Q @ Cfg2 @ FStepCfg2 @ FStepMsg2 @ ( zero_zero @ nat ) )
% 2.77/1.76 => ( ! [Cfg2: configuration_ext @ P @ V @ S @ product_unit,FStepCfg2: ( list @ ( configuration_ext @ P @ V @ S @ product_unit ) ) > ( list @ ( message @ P @ V ) ) > ( list @ ( configuration_ext @ P @ V @ S @ product_unit ) ),FStepMsg2: ( list @ ( configuration_ext @ P @ V @ S @ product_unit ) ) > ( list @ ( message @ P @ V ) ) > ( list @ ( message @ P @ V ) ),N: nat] :
% 2.77/1.76 ( ( P2 @ Cfg2 @ FStepCfg2 @ FStepMsg2 @ N )
% 2.77/1.76 => ( ( Q @ Cfg2 @ FStepCfg2 @ FStepMsg2 @ N )
% 2.77/1.76 => ( Q @ Cfg2 @ FStepCfg2 @ FStepMsg2 @ ( suc @ N ) ) ) )
% 2.77/1.76 => ( Q @ A42 @ A5 @ A6 @ A7 ) ) ) ) ) ) ).
% 2.77/1.76
% 2.77/1.76 thf(fact_42_flpPseudoConsensus_OinfiniteExecutionCfg__infiniteExecutionMsg_Oinduct_I1_J,axiom,
% 2.77/1.76 ! [P: $tType,V: $tType,S: $tType,Trans: P > S > ( messageValue @ V ) > S,Sends: P > S > ( messageValue @ V ) > ( message @ P @ V ) > nat,Start: P > S,P2: ( configuration_ext @ P @ V @ S @ product_unit ) > ( ( list @ ( configuration_ext @ P @ V @ S @ product_unit ) ) > ( list @ ( message @ P @ V ) ) > ( list @ ( configuration_ext @ P @ V @ S @ product_unit ) ) ) > ( ( list @ ( configuration_ext @ P @ V @ S @ product_unit ) ) > ( list @ ( message @ P @ V ) ) > ( list @ ( message @ P @ V ) ) ) > nat > $o,Q: ( configuration_ext @ P @ V @ S @ product_unit ) > ( ( list @ ( configuration_ext @ P @ V @ S @ product_unit ) ) > ( list @ ( message @ P @ V ) ) > ( list @ ( configuration_ext @ P @ V @ S @ product_unit ) ) ) > ( ( list @ ( configuration_ext @ P @ V @ S @ product_unit ) ) > ( list @ ( message @ P @ V ) ) > ( list @ ( message @ P @ V ) ) ) > nat > $o,A0: configuration_ext @ P @ V @ S @ product_unit,A1: ( list @ ( configuration_ext @ P @ V @ S @ product_unit ) ) > ( list @ ( message @ P @ V ) ) > ( list @ ( configuration_ext @ P @ V @ S @ product_unit ) ),A2: ( list @ ( configuration_ext @ P @ V @ S @ product_unit ) ) > ( list @ ( message @ P @ V ) ) > ( list @ ( message @ P @ V ) ),A32: nat] :
% 2.77/1.76 ( ( fLPThe1922692578sensus @ P @ S @ V @ Trans @ Sends @ Start )
% 2.77/1.76 => ( ! [Cfg2: configuration_ext @ P @ V @ S @ product_unit,FStepCfg2: ( list @ ( configuration_ext @ P @ V @ S @ product_unit ) ) > ( list @ ( message @ P @ V ) ) > ( list @ ( configuration_ext @ P @ V @ S @ product_unit ) ),FStepMsg2: ( list @ ( configuration_ext @ P @ V @ S @ product_unit ) ) > ( list @ ( message @ P @ V ) ) > ( list @ ( message @ P @ V ) )] : ( P2 @ Cfg2 @ FStepCfg2 @ FStepMsg2 @ ( zero_zero @ nat ) )
% 2.77/1.76 => ( ! [Cfg2: configuration_ext @ P @ V @ S @ product_unit,FStepCfg2: ( list @ ( configuration_ext @ P @ V @ S @ product_unit ) ) > ( list @ ( message @ P @ V ) ) > ( list @ ( configuration_ext @ P @ V @ S @ product_unit ) ),FStepMsg2: ( list @ ( configuration_ext @ P @ V @ S @ product_unit ) ) > ( list @ ( message @ P @ V ) ) > ( list @ ( message @ P @ V ) ),N: nat] :
% 2.77/1.76 ( ( P2 @ Cfg2 @ FStepCfg2 @ FStepMsg2 @ N )
% 2.77/1.76 => ( ( Q @ Cfg2 @ FStepCfg2 @ FStepMsg2 @ N )
% 2.77/1.76 => ( P2 @ Cfg2 @ FStepCfg2 @ FStepMsg2 @ ( suc @ N ) ) ) )
% 2.77/1.76 => ( ! [Cfg2: configuration_ext @ P @ V @ S @ product_unit,FStepCfg2: ( list @ ( configuration_ext @ P @ V @ S @ product_unit ) ) > ( list @ ( message @ P @ V ) ) > ( list @ ( configuration_ext @ P @ V @ S @ product_unit ) ),FStepMsg2: ( list @ ( configuration_ext @ P @ V @ S @ product_unit ) ) > ( list @ ( message @ P @ V ) ) > ( list @ ( message @ P @ V ) )] : ( Q @ Cfg2 @ FStepCfg2 @ FStepMsg2 @ ( zero_zero @ nat ) )
% 2.77/1.76 => ( ! [Cfg2: configuration_ext @ P @ V @ S @ product_unit,FStepCfg2: ( list @ ( configuration_ext @ P @ V @ S @ product_unit ) ) > ( list @ ( message @ P @ V ) ) > ( list @ ( configuration_ext @ P @ V @ S @ product_unit ) ),FStepMsg2: ( list @ ( configuration_ext @ P @ V @ S @ product_unit ) ) > ( list @ ( message @ P @ V ) ) > ( list @ ( message @ P @ V ) ),N: nat] :
% 2.77/1.76 ( ( P2 @ Cfg2 @ FStepCfg2 @ FStepMsg2 @ N )
% 2.77/1.76 => ( ( Q @ Cfg2 @ FStepCfg2 @ FStepMsg2 @ N )
% 2.77/1.76 => ( Q @ Cfg2 @ FStepCfg2 @ FStepMsg2 @ ( suc @ N ) ) ) )
% 2.77/1.76 => ( P2 @ A0 @ A1 @ A2 @ A32 ) ) ) ) ) ) ).
% 2.77/1.76
% 2.77/1.76 thf(fact_43_mem__Collect__eq,axiom,
% 2.77/1.76 ! [A: $tType,A8: A,P2: A > $o] :
% 2.77/1.76 ( ( member2 @ A @ A8 @ ( collect @ A @ P2 ) )
% 2.77/1.76 = ( P2 @ A8 ) ) ).
% 2.77/1.76
% 2.77/1.76 thf(fact_44_Collect__mem__eq,axiom,
% 2.77/1.76 ! [A: $tType,A4: set @ A] :
% 2.77/1.76 ( ( collect @ A
% 2.77/1.76 @ ^ [X4: A] : ( member2 @ A @ X4 @ A4 ) )
% 2.77/1.76 = A4 ) ).
% 2.77/1.76
% 2.77/1.76 thf(fact_45_Collect__cong,axiom,
% 2.77/1.76 ! [A: $tType,P2: A > $o,Q: A > $o] :
% 2.77/1.76 ( ! [X: A] :
% 2.77/1.76 ( ( P2 @ X )
% 2.77/1.76 = ( Q @ X ) )
% 2.77/1.76 => ( ( collect @ A @ P2 )
% 2.77/1.76 = ( collect @ A @ Q ) ) ) ).
% 2.77/1.76
% 2.77/1.76 thf(fact_46_ext,axiom,
% 2.77/1.76 ! [B: $tType,A: $tType,F2: A > B,G: A > B] :
% 2.77/1.76 ( ! [X: A] :
% 2.77/1.76 ( ( F2 @ X )
% 2.77/1.76 = ( G @ X ) )
% 2.77/1.76 => ( F2 = G ) ) ).
% 2.77/1.76
% 2.77/1.76 thf(fact_47_flpPseudoConsensus_OinfiniteExecutionMsg_Osimps_I2_J,axiom,
% 2.77/1.76 ! [P: $tType,V: $tType,S: $tType,Trans: P > S > ( messageValue @ V ) > S,Sends: P > S > ( messageValue @ V ) > ( message @ P @ V ) > nat,Start: P > S,Cfg: configuration_ext @ P @ V @ S @ product_unit,FStepCfg: ( list @ ( configuration_ext @ P @ V @ S @ product_unit ) ) > ( list @ ( message @ P @ V ) ) > ( list @ ( configuration_ext @ P @ V @ S @ product_unit ) ),FStepMsg: ( list @ ( configuration_ext @ P @ V @ S @ product_unit ) ) > ( list @ ( message @ P @ V ) ) > ( list @ ( message @ P @ V ) ),N2: nat] :
% 2.77/1.76 ( ( fLPThe1922692578sensus @ P @ S @ V @ Trans @ Sends @ Start )
% 2.77/1.76 => ( ( fLPThe221390223ionMsg @ P @ V @ S @ Cfg @ FStepCfg @ FStepMsg @ ( suc @ N2 ) )
% 2.77/1.76 = ( FStepMsg @ ( fLPThe137922386ionCfg @ P @ V @ S @ Cfg @ FStepCfg @ FStepMsg @ N2 ) @ ( fLPThe221390223ionMsg @ P @ V @ S @ Cfg @ FStepCfg @ FStepMsg @ N2 ) ) ) ) ).
% 2.77/1.76
% 2.77/1.76 thf(fact_48_flpPseudoConsensus_OinfiniteExecutionCfg_Osimps_I2_J,axiom,
% 2.77/1.76 ! [P: $tType,V: $tType,S: $tType,Trans: P > S > ( messageValue @ V ) > S,Sends: P > S > ( messageValue @ V ) > ( message @ P @ V ) > nat,Start: P > S,Cfg: configuration_ext @ P @ V @ S @ product_unit,FStepCfg: ( list @ ( configuration_ext @ P @ V @ S @ product_unit ) ) > ( list @ ( message @ P @ V ) ) > ( list @ ( configuration_ext @ P @ V @ S @ product_unit ) ),FStepMsg: ( list @ ( configuration_ext @ P @ V @ S @ product_unit ) ) > ( list @ ( message @ P @ V ) ) > ( list @ ( message @ P @ V ) ),N2: nat] :
% 2.77/1.76 ( ( fLPThe1922692578sensus @ P @ S @ V @ Trans @ Sends @ Start )
% 2.77/1.76 => ( ( fLPThe137922386ionCfg @ P @ V @ S @ Cfg @ FStepCfg @ FStepMsg @ ( suc @ N2 ) )
% 2.77/1.76 = ( FStepCfg @ ( fLPThe137922386ionCfg @ P @ V @ S @ Cfg @ FStepCfg @ FStepMsg @ N2 ) @ ( fLPThe221390223ionMsg @ P @ V @ S @ Cfg @ FStepCfg @ FStepMsg @ N2 ) ) ) ) ).
% 2.77/1.76
% 2.77/1.76 thf(fact_49_flpPseudoConsensus_OinfiniteExecutionMsg_Oelims,axiom,
% 2.77/1.76 ! [P: $tType,V: $tType,S: $tType,Trans: P > S > ( messageValue @ V ) > S,Sends: P > S > ( messageValue @ V ) > ( message @ P @ V ) > nat,Start: P > S,X3: configuration_ext @ P @ V @ S @ product_unit,Xa: ( list @ ( configuration_ext @ P @ V @ S @ product_unit ) ) > ( list @ ( message @ P @ V ) ) > ( list @ ( configuration_ext @ P @ V @ S @ product_unit ) ),Xb: ( list @ ( configuration_ext @ P @ V @ S @ product_unit ) ) > ( list @ ( message @ P @ V ) ) > ( list @ ( message @ P @ V ) ),Xc: nat,Y: list @ ( message @ P @ V )] :
% 2.77/1.76 ( ( fLPThe1922692578sensus @ P @ S @ V @ Trans @ Sends @ Start )
% 2.77/1.76 => ( ( ( fLPThe221390223ionMsg @ P @ V @ S @ X3 @ Xa @ Xb @ Xc )
% 2.77/1.76 = Y )
% 2.77/1.76 => ( ( ( Xc
% 2.77/1.76 = ( zero_zero @ nat ) )
% 2.77/1.76 => ( Y
% 2.77/1.76 != ( nil @ ( message @ P @ V ) ) ) )
% 2.77/1.76 => ~ ! [N: nat] :
% 2.77/1.76 ( ( Xc
% 2.77/1.76 = ( suc @ N ) )
% 2.77/1.76 => ( Y
% 2.77/1.76 != ( Xb @ ( fLPThe137922386ionCfg @ P @ V @ S @ X3 @ Xa @ Xb @ N ) @ ( fLPThe221390223ionMsg @ P @ V @ S @ X3 @ Xa @ Xb @ N ) ) ) ) ) ) ) ).
% 2.77/1.76
% 2.77/1.76 thf(fact_50_flpPseudoConsensus_OinfiniteExecutionMsg_Osimps_I1_J,axiom,
% 2.77/1.76 ! [S: $tType,V: $tType,P: $tType,Trans: P > S > ( messageValue @ V ) > S,Sends: P > S > ( messageValue @ V ) > ( message @ P @ V ) > nat,Start: P > S,Cfg: configuration_ext @ P @ V @ S @ product_unit,FStepCfg: ( list @ ( configuration_ext @ P @ V @ S @ product_unit ) ) > ( list @ ( message @ P @ V ) ) > ( list @ ( configuration_ext @ P @ V @ S @ product_unit ) ),FStepMsg: ( list @ ( configuration_ext @ P @ V @ S @ product_unit ) ) > ( list @ ( message @ P @ V ) ) > ( list @ ( message @ P @ V ) )] :
% 2.77/1.76 ( ( fLPThe1922692578sensus @ P @ S @ V @ Trans @ Sends @ Start )
% 2.77/1.76 => ( ( fLPThe221390223ionMsg @ P @ V @ S @ Cfg @ FStepCfg @ FStepMsg @ ( zero_zero @ nat ) )
% 2.77/1.76 = ( nil @ ( message @ P @ V ) ) ) ) ).
% 2.77/1.76
% 2.77/1.76 thf(fact_51_flpPseudoConsensus_OinfiniteExecutionCfg_Oelims,axiom,
% 2.77/1.76 ! [P: $tType,V: $tType,S: $tType,Trans: P > S > ( messageValue @ V ) > S,Sends: P > S > ( messageValue @ V ) > ( message @ P @ V ) > nat,Start: P > S,X3: configuration_ext @ P @ V @ S @ product_unit,Xa: ( list @ ( configuration_ext @ P @ V @ S @ product_unit ) ) > ( list @ ( message @ P @ V ) ) > ( list @ ( configuration_ext @ P @ V @ S @ product_unit ) ),Xb: ( list @ ( configuration_ext @ P @ V @ S @ product_unit ) ) > ( list @ ( message @ P @ V ) ) > ( list @ ( message @ P @ V ) ),Xc: nat,Y: list @ ( configuration_ext @ P @ V @ S @ product_unit )] :
% 2.77/1.76 ( ( fLPThe1922692578sensus @ P @ S @ V @ Trans @ Sends @ Start )
% 2.77/1.76 => ( ( ( fLPThe137922386ionCfg @ P @ V @ S @ X3 @ Xa @ Xb @ Xc )
% 2.77/1.76 = Y )
% 2.77/1.76 => ( ( ( Xc
% 2.77/1.76 = ( zero_zero @ nat ) )
% 2.77/1.76 => ( Y
% 2.77/1.76 != ( cons @ ( configuration_ext @ P @ V @ S @ product_unit ) @ X3 @ ( nil @ ( configuration_ext @ P @ V @ S @ product_unit ) ) ) ) )
% 2.77/1.76 => ~ ! [N: nat] :
% 2.77/1.76 ( ( Xc
% 2.77/1.76 = ( suc @ N ) )
% 2.77/1.76 => ( Y
% 2.77/1.76 != ( Xa @ ( fLPThe137922386ionCfg @ P @ V @ S @ X3 @ Xa @ Xb @ N ) @ ( fLPThe221390223ionMsg @ P @ V @ S @ X3 @ Xa @ Xb @ N ) ) ) ) ) ) ) ).
% 2.77/1.76
% 2.77/1.76 thf(fact_52_old_Onat_Oinject,axiom,
% 2.77/1.76 ! [Nat: nat,Nat2: nat] :
% 2.77/1.76 ( ( ( suc @ Nat )
% 2.77/1.76 = ( suc @ Nat2 ) )
% 2.77/1.76 = ( Nat = Nat2 ) ) ).
% 2.77/1.76
% 2.77/1.76 thf(fact_53_nat_Oinject,axiom,
% 2.77/1.76 ! [X23: nat,Y23: nat] :
% 2.77/1.76 ( ( ( suc @ X23 )
% 2.77/1.76 = ( suc @ Y23 ) )
% 2.77/1.76 = ( X23 = Y23 ) ) ).
% 2.77/1.76
% 2.77/1.76 thf(fact_54_nat_Odistinct_I1_J,axiom,
% 2.77/1.76 ! [X23: nat] :
% 2.77/1.76 ( ( zero_zero @ nat )
% 2.77/1.76 != ( suc @ X23 ) ) ).
% 2.77/1.76
% 2.77/1.76 thf(fact_55_old_Onat_Odistinct_I2_J,axiom,
% 2.77/1.76 ! [Nat3: nat] :
% 2.77/1.76 ( ( suc @ Nat3 )
% 2.77/1.76 != ( zero_zero @ nat ) ) ).
% 2.77/1.76
% 2.77/1.76 thf(fact_56_old_Onat_Odistinct_I1_J,axiom,
% 2.77/1.76 ! [Nat2: nat] :
% 2.77/1.76 ( ( zero_zero @ nat )
% 2.77/1.76 != ( suc @ Nat2 ) ) ).
% 2.77/1.76
% 2.77/1.76 thf(fact_57_nat_OdiscI,axiom,
% 2.77/1.76 ! [Nat: nat,X23: nat] :
% 2.77/1.76 ( ( Nat
% 2.77/1.76 = ( suc @ X23 ) )
% 2.77/1.76 => ( Nat
% 2.77/1.76 != ( zero_zero @ nat ) ) ) ).
% 2.77/1.76
% 2.77/1.76 thf(fact_58_nat__induct,axiom,
% 2.77/1.76 ! [P2: nat > $o,N2: nat] :
% 2.77/1.76 ( ( P2 @ ( zero_zero @ nat ) )
% 2.77/1.76 => ( ! [N: nat] :
% 2.77/1.76 ( ( P2 @ N )
% 2.77/1.76 => ( P2 @ ( suc @ N ) ) )
% 2.77/1.76 => ( P2 @ N2 ) ) ) ).
% 2.77/1.76
% 2.77/1.76 thf(fact_59_Suc__inject,axiom,
% 2.77/1.76 ! [X3: nat,Y: nat] :
% 2.77/1.76 ( ( ( suc @ X3 )
% 2.77/1.76 = ( suc @ Y ) )
% 2.77/1.76 => ( X3 = Y ) ) ).
% 2.77/1.76
% 2.77/1.76 thf(fact_60_n__not__Suc__n,axiom,
% 2.77/1.76 ! [N2: nat] :
% 2.77/1.76 ( N2
% 2.77/1.76 != ( suc @ N2 ) ) ).
% 2.77/1.76
% 2.77/1.76 thf(fact_61_not0__implies__Suc,axiom,
% 2.77/1.76 ! [N2: nat] :
% 2.77/1.76 ( ( N2
% 2.77/1.76 != ( zero_zero @ nat ) )
% 2.77/1.76 => ? [M: nat] :
% 2.77/1.76 ( N2
% 2.77/1.76 = ( suc @ M ) ) ) ).
% 2.77/1.76
% 2.77/1.76 thf(fact_62_old_Onat_Oinducts,axiom,
% 2.77/1.76 ! [P2: nat > $o,Nat: nat] :
% 2.77/1.76 ( ( P2 @ ( zero_zero @ nat ) )
% 2.77/1.76 => ( ! [Nat4: nat] :
% 2.77/1.76 ( ( P2 @ Nat4 )
% 2.77/1.76 => ( P2 @ ( suc @ Nat4 ) ) )
% 2.77/1.76 => ( P2 @ Nat ) ) ) ).
% 2.77/1.76
% 2.77/1.76 thf(fact_63_old_Onat_Oexhaust,axiom,
% 2.77/1.76 ! [Y: nat] :
% 2.77/1.76 ( ( Y
% 2.77/1.76 != ( zero_zero @ nat ) )
% 2.77/1.76 => ~ ! [Nat4: nat] :
% 2.77/1.76 ( Y
% 2.77/1.76 != ( suc @ Nat4 ) ) ) ).
% 2.77/1.76
% 2.77/1.76 thf(fact_64_Zero__not__Suc,axiom,
% 2.77/1.76 ! [M2: nat] :
% 2.77/1.76 ( ( zero_zero @ nat )
% 2.77/1.76 != ( suc @ M2 ) ) ).
% 2.77/1.76
% 2.77/1.76 thf(fact_65_Zero__neq__Suc,axiom,
% 2.77/1.76 ! [M2: nat] :
% 2.77/1.76 ( ( zero_zero @ nat )
% 2.77/1.76 != ( suc @ M2 ) ) ).
% 2.77/1.76
% 2.77/1.76 thf(fact_66_Suc__neq__Zero,axiom,
% 2.77/1.76 ! [M2: nat] :
% 2.77/1.76 ( ( suc @ M2 )
% 2.77/1.76 != ( zero_zero @ nat ) ) ).
% 2.77/1.76
% 2.77/1.76 thf(fact_67_zero__induct,axiom,
% 2.77/1.76 ! [P2: nat > $o,K: nat] :
% 2.77/1.76 ( ( P2 @ K )
% 2.77/1.76 => ( ! [N: nat] :
% 2.77/1.76 ( ( P2 @ ( suc @ N ) )
% 2.77/1.76 => ( P2 @ N ) )
% 2.77/1.76 => ( P2 @ ( zero_zero @ nat ) ) ) ) ).
% 2.77/1.76
% 2.77/1.76 thf(fact_68_diff__induct,axiom,
% 2.77/1.76 ! [P2: nat > nat > $o,M2: nat,N2: nat] :
% 2.77/1.76 ( ! [X: nat] : ( P2 @ X @ ( zero_zero @ nat ) )
% 2.77/1.76 => ( ! [Y3: nat] : ( P2 @ ( zero_zero @ nat ) @ ( suc @ Y3 ) )
% 2.77/1.76 => ( ! [X: nat,Y3: nat] :
% 2.77/1.76 ( ( P2 @ X @ Y3 )
% 2.77/1.76 => ( P2 @ ( suc @ X ) @ ( suc @ Y3 ) ) )
% 2.77/1.76 => ( P2 @ M2 @ N2 ) ) ) ) ).
% 2.77/1.76
% 2.77/1.76 thf(fact_69_dependent__nat__choice,axiom,
% 2.77/1.76 ! [A: $tType,P2: nat > A > $o,Q: nat > A > A > $o] :
% 2.77/1.76 ( ? [X_12: A] : ( P2 @ ( zero_zero @ nat ) @ X_12 )
% 2.77/1.76 => ( ! [X: A,N: nat] :
% 2.77/1.76 ( ( P2 @ N @ X )
% 2.77/1.76 => ? [Y4: A] :
% 2.77/1.76 ( ( P2 @ ( suc @ N ) @ Y4 )
% 2.77/1.76 & ( Q @ N @ X @ Y4 ) ) )
% 2.77/1.76 => ? [F: nat > A] :
% 2.77/1.76 ! [N3: nat] :
% 2.77/1.76 ( ( P2 @ N3 @ ( F @ N3 ) )
% 2.77/1.76 & ( Q @ N3 @ ( F @ N3 ) @ ( F @ ( suc @ N3 ) ) ) ) ) ) ).
% 2.77/1.76
% 2.77/1.76 thf(fact_70_product__lists_Osimps_I1_J,axiom,
% 2.77/1.76 ! [A: $tType] :
% 2.77/1.76 ( ( product_lists @ A @ ( nil @ ( list @ A ) ) )
% 2.77/1.76 = ( cons @ ( list @ A ) @ ( nil @ A ) @ ( nil @ ( list @ A ) ) ) ) ).
% 2.77/1.76
% 2.77/1.76 thf(fact_71_subseqs_Osimps_I1_J,axiom,
% 2.77/1.76 ! [A: $tType] :
% 2.77/1.76 ( ( subseqs @ A @ ( nil @ A ) )
% 2.77/1.76 = ( cons @ ( list @ A ) @ ( nil @ A ) @ ( nil @ ( list @ A ) ) ) ) ).
% 2.77/1.76
% 2.77/1.76 thf(fact_72_gen__length__code_I2_J,axiom,
% 2.77/1.76 ! [B: $tType,N2: nat,X3: B,Xs: list @ B] :
% 2.77/1.76 ( ( gen_length @ B @ N2 @ ( cons @ B @ X3 @ Xs ) )
% 2.77/1.76 = ( gen_length @ B @ ( suc @ N2 ) @ Xs ) ) ).
% 2.77/1.76
% 2.77/1.76 thf(fact_73_count__list_Osimps_I1_J,axiom,
% 2.77/1.76 ! [A: $tType,Y: A] :
% 2.77/1.76 ( ( count_list @ A @ ( nil @ A ) @ Y )
% 2.77/1.76 = ( zero_zero @ nat ) ) ).
% 2.77/1.76
% 2.77/1.76 thf(fact_74_map__tailrec__rev_Oelims,axiom,
% 2.77/1.76 ! [A: $tType,B: $tType,X3: A > B,Xa: list @ A,Xb: list @ B,Y: list @ B] :
% 2.77/1.76 ( ( ( map_tailrec_rev @ A @ B @ X3 @ Xa @ Xb )
% 2.77/1.76 = Y )
% 2.77/1.76 => ( ( ( Xa
% 2.77/1.76 = ( nil @ A ) )
% 2.77/1.76 => ( Y != Xb ) )
% 2.77/1.76 => ~ ! [A3: A,As: list @ A] :
% 2.77/1.76 ( ( Xa
% 2.77/1.76 = ( cons @ A @ A3 @ As ) )
% 2.77/1.76 => ( Y
% 2.77/1.76 != ( map_tailrec_rev @ A @ B @ X3 @ As @ ( cons @ B @ ( X3 @ A3 ) @ Xb ) ) ) ) ) ) ).
% 2.77/1.76
% 2.77/1.76 thf(fact_75_arg__min__list_Osimps_I1_J,axiom,
% 2.77/1.76 ! [B: $tType,A: $tType] :
% 2.77/1.76 ( ( linorder @ B )
% 2.77/1.76 => ! [F2: A > B,X3: A] :
% 2.77/1.76 ( ( arg_min_list @ A @ B @ F2 @ ( cons @ A @ X3 @ ( nil @ A ) ) )
% 2.77/1.76 = X3 ) ) ).
% 2.77/1.76
% 2.77/1.76 thf(fact_76_map__tailrec__rev_Osimps_I2_J,axiom,
% 2.77/1.76 ! [A: $tType,B: $tType,F2: A > B,A8: A,As2: list @ A,Bs2: list @ B] :
% 2.77/1.76 ( ( map_tailrec_rev @ A @ B @ F2 @ ( cons @ A @ A8 @ As2 ) @ Bs2 )
% 2.77/1.76 = ( map_tailrec_rev @ A @ B @ F2 @ As2 @ ( cons @ B @ ( F2 @ A8 ) @ Bs2 ) ) ) ).
% 2.77/1.76
% 2.77/1.76 thf(fact_77_map__tailrec__rev_Osimps_I1_J,axiom,
% 2.77/1.76 ! [A: $tType,B: $tType,F2: A > B,Bs2: list @ B] :
% 2.77/1.76 ( ( map_tailrec_rev @ A @ B @ F2 @ ( nil @ A ) @ Bs2 )
% 2.77/1.76 = Bs2 ) ).
% 2.77/1.76
% 2.77/1.76 thf(fact_78_gen__length__code_I1_J,axiom,
% 2.77/1.76 ! [A: $tType,N2: nat] :
% 2.77/1.76 ( ( gen_length @ A @ N2 @ ( nil @ A ) )
% 2.77/1.76 = N2 ) ).
% 2.77/1.76
% 2.77/1.76 thf(fact_79_ord_Olexordp__eq__simps_I3_J,axiom,
% 2.77/1.76 ! [A: $tType,Less: A > A > $o,X3: A,Xs: list @ A] :
% 2.77/1.76 ~ ( lexordp_eq @ A @ Less @ ( cons @ A @ X3 @ Xs ) @ ( nil @ A ) ) ).
% 2.77/1.76
% 2.77/1.76 thf(fact_80_bind__simps_I1_J,axiom,
% 2.77/1.76 ! [B: $tType,A: $tType,F2: B > ( list @ A )] :
% 2.77/1.76 ( ( bind @ B @ A @ ( nil @ B ) @ F2 )
% 2.77/1.76 = ( nil @ A ) ) ).
% 2.77/1.76
% 2.77/1.76 thf(fact_81_listrelp_Ocases,axiom,
% 2.77/1.76 ! [A: $tType,B: $tType,R: A > B > $o,A1: list @ A,A2: list @ B] :
% 2.77/1.76 ( ( listrelp @ A @ B @ R @ A1 @ A2 )
% 2.77/1.76 => ( ( ( A1
% 2.77/1.76 = ( nil @ A ) )
% 2.77/1.76 => ( A2
% 2.77/1.76 != ( nil @ B ) ) )
% 2.77/1.76 => ~ ! [X: A,Y3: B,Xs2: list @ A] :
% 2.77/1.76 ( ( A1
% 2.77/1.76 = ( cons @ A @ X @ Xs2 ) )
% 2.77/1.76 => ! [Ys3: list @ B] :
% 2.77/1.76 ( ( A2
% 2.77/1.76 = ( cons @ B @ Y3 @ Ys3 ) )
% 2.77/1.76 => ( ( R @ X @ Y3 )
% 2.77/1.76 => ~ ( listrelp @ A @ B @ R @ Xs2 @ Ys3 ) ) ) ) ) ) ).
% 2.77/1.76
% 2.77/1.76 thf(fact_82_listrelp_Osimps,axiom,
% 2.77/1.76 ! [B: $tType,A: $tType] :
% 2.77/1.76 ( ( listrelp @ A @ B )
% 2.77/1.76 = ( ^ [R2: A > B > $o,A12: list @ A,A22: list @ B] :
% 2.77/1.76 ( ( ( A12
% 2.77/1.76 = ( nil @ A ) )
% 2.77/1.76 & ( A22
% 2.77/1.76 = ( nil @ B ) ) )
% 2.77/1.76 | ? [X4: A,Y2: B,Xs3: list @ A,Ys: list @ B] :
% 2.77/1.76 ( ( A12
% 2.77/1.76 = ( cons @ A @ X4 @ Xs3 ) )
% 2.77/1.76 & ( A22
% 2.77/1.76 = ( cons @ B @ Y2 @ Ys ) )
% 2.77/1.76 & ( R2 @ X4 @ Y2 )
% 2.77/1.76 & ( listrelp @ A @ B @ R2 @ Xs3 @ Ys ) ) ) ) ) ).
% 2.77/1.76
% 2.77/1.76 thf(fact_83_listrelp_Oinducts,axiom,
% 2.77/1.76 ! [A: $tType,B: $tType,R: A > B > $o,X12: list @ A,X23: list @ B,P2: ( list @ A ) > ( list @ B ) > $o] :
% 2.77/1.76 ( ( listrelp @ A @ B @ R @ X12 @ X23 )
% 2.77/1.76 => ( ( P2 @ ( nil @ A ) @ ( nil @ B ) )
% 2.77/1.76 => ( ! [X: A,Y3: B,Xs2: list @ A,Ys3: list @ B] :
% 2.77/1.76 ( ( R @ X @ Y3 )
% 2.77/1.76 => ( ( listrelp @ A @ B @ R @ Xs2 @ Ys3 )
% 2.77/1.76 => ( ( P2 @ Xs2 @ Ys3 )
% 2.77/1.76 => ( P2 @ ( cons @ A @ X @ Xs2 ) @ ( cons @ B @ Y3 @ Ys3 ) ) ) ) )
% 2.77/1.76 => ( P2 @ X12 @ X23 ) ) ) ) ).
% 2.77/1.76
% 2.77/1.76 thf(fact_84_flpPseudoConsensus_Oaxioms_I2_J,axiom,
% 2.77/1.76 ! [V: $tType,S: $tType,P: $tType,Trans: P > S > ( messageValue @ V ) > S,Sends: P > S > ( messageValue @ V ) > ( message @ P @ V ) > nat,Start: P > S] :
% 2.77/1.76 ( ( fLPThe1922692578sensus @ P @ S @ V @ Trans @ Sends @ Start )
% 2.77/1.76 => ( fLPThe128449925axioms @ P @ S @ V @ Trans @ Sends @ Start ) ) ).
% 2.77/1.76
% 2.77/1.76 thf(fact_85_ord_Olexordp__eq__simps_I4_J,axiom,
% 2.77/1.76 ! [A: $tType,Less: A > A > $o,X3: A,Xs: list @ A,Y: A,Ys2: list @ A] :
% 2.77/1.76 ( ( lexordp_eq @ A @ Less @ ( cons @ A @ X3 @ Xs ) @ ( cons @ A @ Y @ Ys2 ) )
% 2.77/1.76 = ( ( Less @ X3 @ Y )
% 2.77/1.76 | ( ~ ( Less @ Y @ X3 )
% 2.77/1.76 & ( lexordp_eq @ A @ Less @ Xs @ Ys2 ) ) ) ) ).
% 2.77/1.76
% 2.77/1.76 thf(fact_86_ord_Olexordp__eq__simps_I1_J,axiom,
% 2.77/1.76 ! [A: $tType,Less: A > A > $o,Ys2: list @ A] : ( lexordp_eq @ A @ Less @ ( nil @ A ) @ Ys2 ) ).
% 2.77/1.76
% 2.77/1.76 thf(fact_87_ord_Olexordp__eq__simps_I2_J,axiom,
% 2.77/1.76 ! [A: $tType,Less: A > A > $o,Xs: list @ A] :
% 2.77/1.76 ( ( lexordp_eq @ A @ Less @ Xs @ ( nil @ A ) )
% 2.77/1.76 = ( Xs
% 2.77/1.76 = ( nil @ A ) ) ) ).
% 2.77/1.76
% 2.77/1.76 thf(fact_88_ord_Olexordp__eq__refl,axiom,
% 2.77/1.76 ! [A: $tType,Less: A > A > $o,Xs: list @ A] : ( lexordp_eq @ A @ Less @ Xs @ Xs ) ).
% 2.77/1.76
% 2.77/1.76 thf(fact_89_ord_Olexordp__eq_Ocong,axiom,
% 2.77/1.76 ! [A: $tType] :
% 2.77/1.76 ( ( lexordp_eq @ A )
% 2.77/1.76 = ( lexordp_eq @ A ) ) ).
% 2.77/1.76
% 2.77/1.76 thf(fact_90_ord_Olexordp__eq_OCons__eq,axiom,
% 2.77/1.76 ! [A: $tType,Less: A > A > $o,X3: A,Y: A,Xs: list @ A,Ys2: list @ A] :
% 2.77/1.76 ( ~ ( Less @ X3 @ Y )
% 2.77/1.76 => ( ~ ( Less @ Y @ X3 )
% 2.77/1.76 => ( ( lexordp_eq @ A @ Less @ Xs @ Ys2 )
% 2.77/1.76 => ( lexordp_eq @ A @ Less @ ( cons @ A @ X3 @ Xs ) @ ( cons @ A @ Y @ Ys2 ) ) ) ) ) ).
% 2.77/1.76
% 2.77/1.76 thf(fact_91_ord_Olexordp__eq_OCons,axiom,
% 2.77/1.76 ! [A: $tType,Less: A > A > $o,X3: A,Y: A,Xs: list @ A,Ys2: list @ A] :
% 2.77/1.76 ( ( Less @ X3 @ Y )
% 2.77/1.76 => ( lexordp_eq @ A @ Less @ ( cons @ A @ X3 @ Xs ) @ ( cons @ A @ Y @ Ys2 ) ) ) ).
% 2.77/1.76
% 2.77/1.76 thf(fact_92_ord_Olexordp__eq_ONil,axiom,
% 2.77/1.76 ! [A: $tType,Less: A > A > $o,Ys2: list @ A] : ( lexordp_eq @ A @ Less @ ( nil @ A ) @ Ys2 ) ).
% 2.77/1.76
% 2.77/1.76 thf(fact_93_listrelp_OCons,axiom,
% 2.77/1.76 ! [A: $tType,B: $tType,R: A > B > $o,X3: A,Y: B,Xs: list @ A,Ys2: list @ B] :
% 2.77/1.76 ( ( R @ X3 @ Y )
% 2.77/1.76 => ( ( listrelp @ A @ B @ R @ Xs @ Ys2 )
% 2.77/1.76 => ( listrelp @ A @ B @ R @ ( cons @ A @ X3 @ Xs ) @ ( cons @ B @ Y @ Ys2 ) ) ) ) ).
% 2.77/1.76
% 2.77/1.76 thf(fact_94_listrelp_ONil,axiom,
% 2.77/1.76 ! [A: $tType,B: $tType,R: A > B > $o] : ( listrelp @ A @ B @ R @ ( nil @ A ) @ ( nil @ B ) ) ).
% 2.77/1.76
% 2.77/1.76 thf(fact_95_ord_Olexordp__eq_Oinducts,axiom,
% 2.77/1.76 ! [A: $tType,Less: A > A > $o,X12: list @ A,X23: list @ A,P2: ( list @ A ) > ( list @ A ) > $o] :
% 2.77/1.76 ( ( lexordp_eq @ A @ Less @ X12 @ X23 )
% 2.77/1.76 => ( ! [X_1: list @ A] : ( P2 @ ( nil @ A ) @ X_1 )
% 2.77/1.76 => ( ! [X: A,Y3: A,Xs2: list @ A,Ys3: list @ A] :
% 2.77/1.76 ( ( Less @ X @ Y3 )
% 2.77/1.76 => ( P2 @ ( cons @ A @ X @ Xs2 ) @ ( cons @ A @ Y3 @ Ys3 ) ) )
% 2.77/1.76 => ( ! [X: A,Y3: A,Xs2: list @ A,Ys3: list @ A] :
% 2.77/1.76 ( ~ ( Less @ X @ Y3 )
% 2.77/1.76 => ( ~ ( Less @ Y3 @ X )
% 2.77/1.76 => ( ( lexordp_eq @ A @ Less @ Xs2 @ Ys3 )
% 2.77/1.76 => ( ( P2 @ Xs2 @ Ys3 )
% 2.77/1.76 => ( P2 @ ( cons @ A @ X @ Xs2 ) @ ( cons @ A @ Y3 @ Ys3 ) ) ) ) ) )
% 2.77/1.76 => ( P2 @ X12 @ X23 ) ) ) ) ) ).
% 2.77/1.76
% 2.77/1.76 thf(fact_96_ord_Olexordp__eq_Osimps,axiom,
% 2.77/1.76 ! [A: $tType] :
% 2.77/1.76 ( ( lexordp_eq @ A )
% 2.77/1.76 = ( ^ [Less2: A > A > $o,A12: list @ A,A22: list @ A] :
% 2.77/1.76 ( ? [Ys: list @ A] :
% 2.77/1.76 ( ( A12
% 2.77/1.76 = ( nil @ A ) )
% 2.77/1.76 & ( A22 = Ys ) )
% 2.77/1.76 | ? [X4: A,Y2: A,Xs3: list @ A,Ys: list @ A] :
% 2.77/1.76 ( ( A12
% 2.77/1.76 = ( cons @ A @ X4 @ Xs3 ) )
% 2.77/1.76 & ( A22
% 2.77/1.76 = ( cons @ A @ Y2 @ Ys ) )
% 2.77/1.76 & ( Less2 @ X4 @ Y2 ) )
% 2.77/1.76 | ? [X4: A,Y2: A,Xs3: list @ A,Ys: list @ A] :
% 2.77/1.76 ( ( A12
% 2.77/1.76 = ( cons @ A @ X4 @ Xs3 ) )
% 2.77/1.76 & ( A22
% 2.77/1.76 = ( cons @ A @ Y2 @ Ys ) )
% 2.77/1.76 & ~ ( Less2 @ X4 @ Y2 )
% 2.77/1.76 & ~ ( Less2 @ Y2 @ X4 )
% 2.77/1.76 & ( lexordp_eq @ A @ Less2 @ Xs3 @ Ys ) ) ) ) ) ).
% 2.77/1.76
% 2.77/1.76 thf(fact_97_ord_Olexordp__eq_Ocases,axiom,
% 2.77/1.76 ! [A: $tType,Less: A > A > $o,A1: list @ A,A2: list @ A] :
% 2.77/1.76 ( ( lexordp_eq @ A @ Less @ A1 @ A2 )
% 2.77/1.76 => ( ( A1
% 2.77/1.76 != ( nil @ A ) )
% 2.77/1.76 => ( ! [X: A] :
% 2.77/1.76 ( ? [Xs2: list @ A] :
% 2.77/1.76 ( A1
% 2.77/1.76 = ( cons @ A @ X @ Xs2 ) )
% 2.77/1.76 => ! [Y3: A] :
% 2.77/1.76 ( ? [Ys3: list @ A] :
% 2.77/1.76 ( A2
% 2.77/1.76 = ( cons @ A @ Y3 @ Ys3 ) )
% 2.77/1.76 => ~ ( Less @ X @ Y3 ) ) )
% 2.77/1.76 => ~ ! [X: A,Y3: A,Xs2: list @ A] :
% 2.77/1.76 ( ( A1
% 2.77/1.76 = ( cons @ A @ X @ Xs2 ) )
% 2.77/1.76 => ! [Ys3: list @ A] :
% 2.77/1.76 ( ( A2
% 2.77/1.76 = ( cons @ A @ Y3 @ Ys3 ) )
% 2.77/1.76 => ( ~ ( Less @ X @ Y3 )
% 2.77/1.76 => ( ~ ( Less @ Y3 @ X )
% 2.77/1.76 => ~ ( lexordp_eq @ A @ Less @ Xs2 @ Ys3 ) ) ) ) ) ) ) ) ).
% 2.77/1.76
% 2.77/1.76 thf(fact_98_flpPseudoConsensus__def,axiom,
% 2.77/1.76 ! [V: $tType,S: $tType,P: $tType] :
% 2.77/1.76 ( ( fLPThe1922692578sensus @ P @ S @ V )
% 2.77/1.76 = ( ^ [Trans2: P > S > ( messageValue @ V ) > S,Sends2: P > S > ( messageValue @ V ) > ( message @ P @ V ) > nat,Start2: P > S] :
% 2.77/1.76 ( ( flpSystem @ P @ S @ V @ Sends2 )
% 2.77/1.76 & ( fLPThe128449925axioms @ P @ S @ V @ Trans2 @ Sends2 @ Start2 ) ) ) ) ).
% 2.77/1.76
% 2.77/1.76 thf(fact_99_flpPseudoConsensus_Ointro,axiom,
% 2.77/1.76 ! [V: $tType,S: $tType,P: $tType,Sends: P > S > ( messageValue @ V ) > ( message @ P @ V ) > nat,Trans: P > S > ( messageValue @ V ) > S,Start: P > S] :
% 2.77/1.76 ( ( flpSystem @ P @ S @ V @ Sends )
% 2.77/1.76 => ( ( fLPThe128449925axioms @ P @ S @ V @ Trans @ Sends @ Start )
% 2.77/1.76 => ( fLPThe1922692578sensus @ P @ S @ V @ Trans @ Sends @ Start ) ) ) ).
% 2.77/1.76
% 2.77/1.76 thf(fact_100_lexordp__eq__simps_I3_J,axiom,
% 2.77/1.76 ! [A: $tType] :
% 2.77/1.76 ( ( ord @ A )
% 2.77/1.76 => ! [X3: A,Xs: list @ A] :
% 2.77/1.76 ~ ( ord_lexordp_eq @ A @ ( cons @ A @ X3 @ Xs ) @ ( nil @ A ) ) ) ).
% 2.77/1.76
% 2.77/1.76 thf(fact_101_zero__natural_Orsp,axiom,
% 2.77/1.76 ( ( zero_zero @ nat )
% 2.77/1.76 = ( zero_zero @ nat ) ) ).
% 2.77/1.76
% 2.77/1.76 thf(fact_102_member__rec_I2_J,axiom,
% 2.77/1.76 ! [A: $tType,Y: A] :
% 2.77/1.76 ~ ( member @ A @ ( nil @ A ) @ Y ) ).
% 2.77/1.76
% 2.77/1.76 thf(fact_103_member__rec_I1_J,axiom,
% 2.77/1.76 ! [A: $tType,X3: A,Xs: list @ A,Y: A] :
% 2.77/1.76 ( ( member @ A @ ( cons @ A @ X3 @ Xs ) @ Y )
% 2.77/1.76 = ( ( X3 = Y )
% 2.77/1.76 | ( member @ A @ Xs @ Y ) ) ) ).
% 2.77/1.76
% 2.77/1.76 thf(fact_104_lexordp__eq__simps_I2_J,axiom,
% 2.77/1.76 ! [A: $tType] :
% 2.77/1.76 ( ( ord @ A )
% 2.77/1.76 => ! [Xs: list @ A] :
% 2.77/1.76 ( ( ord_lexordp_eq @ A @ Xs @ ( nil @ A ) )
% 2.77/1.76 = ( Xs
% 2.77/1.76 = ( nil @ A ) ) ) ) ).
% 2.77/1.76
% 2.77/1.76 thf(fact_105_lexordp__eq__simps_I1_J,axiom,
% 2.77/1.76 ! [A: $tType] :
% 2.77/1.76 ( ( ord @ A )
% 2.77/1.76 => ! [Ys2: list @ A] : ( ord_lexordp_eq @ A @ ( nil @ A ) @ Ys2 ) ) ).
% 2.77/1.76
% 2.77/1.76 thf(fact_106_lexordp__eq__refl,axiom,
% 2.77/1.76 ! [A: $tType] :
% 2.77/1.76 ( ( ord @ A )
% 2.77/1.76 => ! [Xs: list @ A] : ( ord_lexordp_eq @ A @ Xs @ Xs ) ) ).
% 2.77/1.76
% 2.77/1.76 thf(fact_107_lexordp__eq__trans,axiom,
% 2.77/1.76 ! [A: $tType] :
% 2.77/1.76 ( ( linorder @ A )
% 2.77/1.76 => ! [Xs: list @ A,Ys2: list @ A,Zs2: list @ A] :
% 2.77/1.76 ( ( ord_lexordp_eq @ A @ Xs @ Ys2 )
% 2.77/1.76 => ( ( ord_lexordp_eq @ A @ Ys2 @ Zs2 )
% 2.77/1.76 => ( ord_lexordp_eq @ A @ Xs @ Zs2 ) ) ) ) ).
% 2.77/1.76
% 2.77/1.76 thf(fact_108_lexordp__eq__linear,axiom,
% 2.77/1.76 ! [A: $tType] :
% 2.77/1.76 ( ( linorder @ A )
% 2.77/1.76 => ! [Xs: list @ A,Ys2: list @ A] :
% 2.77/1.76 ( ( ord_lexordp_eq @ A @ Xs @ Ys2 )
% 2.77/1.76 | ( ord_lexordp_eq @ A @ Ys2 @ Xs ) ) ) ).
% 2.77/1.76
% 2.77/1.76 thf(fact_109_lexordp__eq__antisym,axiom,
% 2.77/1.76 ! [A: $tType] :
% 2.77/1.76 ( ( linorder @ A )
% 2.77/1.76 => ! [Xs: list @ A,Ys2: list @ A] :
% 2.77/1.76 ( ( ord_lexordp_eq @ A @ Xs @ Ys2 )
% 2.77/1.76 => ( ( ord_lexordp_eq @ A @ Ys2 @ Xs )
% 2.77/1.76 => ( Xs = Ys2 ) ) ) ) ).
% 2.77/1.76
% 2.77/1.76 thf(fact_110_lexordp__eq_ONil,axiom,
% 2.77/1.76 ! [A: $tType] :
% 2.77/1.76 ( ( ord @ A )
% 2.77/1.76 => ! [Ys2: list @ A] : ( ord_lexordp_eq @ A @ ( nil @ A ) @ Ys2 ) ) ).
% 2.77/1.76
% 2.77/1.76 thf(fact_111_flpPseudoConsensus_Oaxioms_I1_J,axiom,
% 2.77/1.76 ! [V: $tType,S: $tType,P: $tType,Trans: P > S > ( messageValue @ V ) > S,Sends: P > S > ( messageValue @ V ) > ( message @ P @ V ) > nat,Start: P > S] :
% 2.77/1.76 ( ( fLPThe1922692578sensus @ P @ S @ V @ Trans @ Sends @ Start )
% 2.77/1.76 => ( flpSystem @ P @ S @ V @ Sends ) ) ).
% 2.77/1.76
% 2.77/1.76 thf(fact_112_lexordp__eq_Ocases,axiom,
% 2.77/1.76 ! [A: $tType] :
% 2.77/1.76 ( ( ord @ A )
% 2.77/1.76 => ! [A1: list @ A,A2: list @ A] :
% 2.77/1.76 ( ( ord_lexordp_eq @ A @ A1 @ A2 )
% 2.77/1.76 => ( ( A1
% 2.77/1.76 != ( nil @ A ) )
% 2.77/1.76 => ( ! [X: A] :
% 2.77/1.76 ( ? [Xs2: list @ A] :
% 2.77/1.76 ( A1
% 2.77/1.76 = ( cons @ A @ X @ Xs2 ) )
% 2.77/1.76 => ! [Y3: A] :
% 2.77/1.76 ( ? [Ys3: list @ A] :
% 2.77/1.76 ( A2
% 2.77/1.76 = ( cons @ A @ Y3 @ Ys3 ) )
% 2.77/1.76 => ~ ( ord_less @ A @ X @ Y3 ) ) )
% 2.77/1.76 => ~ ! [X: A,Y3: A,Xs2: list @ A] :
% 2.77/1.76 ( ( A1
% 2.77/1.76 = ( cons @ A @ X @ Xs2 ) )
% 2.77/1.76 => ! [Ys3: list @ A] :
% 2.77/1.76 ( ( A2
% 2.77/1.76 = ( cons @ A @ Y3 @ Ys3 ) )
% 2.77/1.76 => ( ~ ( ord_less @ A @ X @ Y3 )
% 2.77/1.76 => ( ~ ( ord_less @ A @ Y3 @ X )
% 2.77/1.76 => ~ ( ord_lexordp_eq @ A @ Xs2 @ Ys3 ) ) ) ) ) ) ) ) ) ).
% 2.77/1.76
% 2.77/1.76 thf(fact_113_lexordp__eq_Osimps,axiom,
% 2.77/1.76 ! [A: $tType] :
% 2.77/1.76 ( ( ord @ A )
% 2.77/1.76 => ( ( ord_lexordp_eq @ A )
% 2.77/1.76 = ( ^ [A12: list @ A,A22: list @ A] :
% 2.77/1.76 ( ? [Ys: list @ A] :
% 2.77/1.76 ( ( A12
% 2.77/1.76 = ( nil @ A ) )
% 2.77/1.76 & ( A22 = Ys ) )
% 2.77/1.76 | ? [X4: A,Y2: A,Xs3: list @ A,Ys: list @ A] :
% 2.77/1.76 ( ( A12
% 2.77/1.76 = ( cons @ A @ X4 @ Xs3 ) )
% 2.77/1.76 & ( A22
% 2.77/1.76 = ( cons @ A @ Y2 @ Ys ) )
% 2.77/1.76 & ( ord_less @ A @ X4 @ Y2 ) )
% 2.77/1.76 | ? [X4: A,Y2: A,Xs3: list @ A,Ys: list @ A] :
% 2.77/1.76 ( ( A12
% 2.77/1.76 = ( cons @ A @ X4 @ Xs3 ) )
% 2.77/1.76 & ( A22
% 2.77/1.76 = ( cons @ A @ Y2 @ Ys ) )
% 2.77/1.76 & ~ ( ord_less @ A @ X4 @ Y2 )
% 2.77/1.76 & ~ ( ord_less @ A @ Y2 @ X4 )
% 2.77/1.76 & ( ord_lexordp_eq @ A @ Xs3 @ Ys ) ) ) ) ) ) ).
% 2.77/1.76
% 2.77/1.76 thf(fact_114_lexordp__eq_Oinducts,axiom,
% 2.77/1.76 ! [A: $tType] :
% 2.77/1.76 ( ( ord @ A )
% 2.77/1.76 => ! [X12: list @ A,X23: list @ A,P2: ( list @ A ) > ( list @ A ) > $o] :
% 2.77/1.76 ( ( ord_lexordp_eq @ A @ X12 @ X23 )
% 2.77/1.76 => ( ! [X_1: list @ A] : ( P2 @ ( nil @ A ) @ X_1 )
% 2.77/1.76 => ( ! [X: A,Y3: A,Xs2: list @ A,Ys3: list @ A] :
% 2.77/1.76 ( ( ord_less @ A @ X @ Y3 )
% 2.77/1.76 => ( P2 @ ( cons @ A @ X @ Xs2 ) @ ( cons @ A @ Y3 @ Ys3 ) ) )
% 2.77/1.76 => ( ! [X: A,Y3: A,Xs2: list @ A,Ys3: list @ A] :
% 2.77/1.76 ( ~ ( ord_less @ A @ X @ Y3 )
% 2.77/1.76 => ( ~ ( ord_less @ A @ Y3 @ X )
% 2.77/1.76 => ( ( ord_lexordp_eq @ A @ Xs2 @ Ys3 )
% 2.77/1.76 => ( ( P2 @ Xs2 @ Ys3 )
% 2.77/1.76 => ( P2 @ ( cons @ A @ X @ Xs2 ) @ ( cons @ A @ Y3 @ Ys3 ) ) ) ) ) )
% 2.77/1.76 => ( P2 @ X12 @ X23 ) ) ) ) ) ) ).
% 2.77/1.76
% 2.77/1.76 thf(fact_115_splice_Oelims,axiom,
% 2.77/1.76 ! [A: $tType,X3: list @ A,Xa: list @ A,Y: list @ A] :
% 2.77/1.76 ( ( ( splice @ A @ X3 @ Xa )
% 2.77/1.76 = Y )
% 2.77/1.76 => ( ( ( X3
% 2.77/1.76 = ( nil @ A ) )
% 2.77/1.76 => ( Y != Xa ) )
% 2.77/1.76 => ~ ! [X: A,Xs2: list @ A] :
% 2.77/1.76 ( ( X3
% 2.77/1.76 = ( cons @ A @ X @ Xs2 ) )
% 2.77/1.76 => ( Y
% 2.77/1.76 != ( cons @ A @ X @ ( splice @ A @ Xa @ Xs2 ) ) ) ) ) ) ).
% 2.77/1.76
% 2.77/1.76 thf(fact_116_of__nat__aux_Osimps_I2_J,axiom,
% 2.77/1.76 ! [A: $tType] :
% 2.77/1.76 ( ( semiring_1 @ A )
% 2.77/1.76 => ! [Inc: A > A,N2: nat,I: A] :
% 2.77/1.76 ( ( semiri532925092at_aux @ A @ Inc @ ( suc @ N2 ) @ I )
% 2.77/1.76 = ( semiri532925092at_aux @ A @ Inc @ N2 @ ( Inc @ I ) ) ) ) ).
% 2.77/1.76
% 2.77/1.76 thf(fact_117_bot__nat__0_Onot__eq__extremum,axiom,
% 2.77/1.76 ! [A8: nat] :
% 2.77/1.76 ( ( A8
% 2.77/1.76 != ( zero_zero @ nat ) )
% 2.77/1.76 = ( ord_less @ nat @ ( zero_zero @ nat ) @ A8 ) ) ).
% 2.77/1.76
% 2.77/1.76 thf(fact_118_less__nat__zero__code,axiom,
% 2.77/1.76 ! [N2: nat] :
% 2.77/1.76 ~ ( ord_less @ nat @ N2 @ ( zero_zero @ nat ) ) ).
% 2.77/1.76
% 2.77/1.76 thf(fact_119_neq0__conv,axiom,
% 2.77/1.76 ! [N2: nat] :
% 2.77/1.76 ( ( N2
% 2.77/1.76 != ( zero_zero @ nat ) )
% 2.77/1.76 = ( ord_less @ nat @ ( zero_zero @ nat ) @ N2 ) ) ).
% 2.77/1.76
% 2.77/1.76 thf(fact_120_lessI,axiom,
% 2.77/1.76 ! [N2: nat] : ( ord_less @ nat @ N2 @ ( suc @ N2 ) ) ).
% 2.77/1.76
% 2.77/1.76 thf(fact_121_Suc__mono,axiom,
% 2.77/1.76 ! [M2: nat,N2: nat] :
% 2.77/1.76 ( ( ord_less @ nat @ M2 @ N2 )
% 2.77/1.76 => ( ord_less @ nat @ ( suc @ M2 ) @ ( suc @ N2 ) ) ) ).
% 2.77/1.76
% 2.77/1.76 thf(fact_122_Suc__less__eq,axiom,
% 2.77/1.76 ! [M2: nat,N2: nat] :
% 2.77/1.76 ( ( ord_less @ nat @ ( suc @ M2 ) @ ( suc @ N2 ) )
% 2.77/1.76 = ( ord_less @ nat @ M2 @ N2 ) ) ).
% 2.77/1.76
% 2.77/1.76 thf(fact_123_not__gr__zero,axiom,
% 2.77/1.76 ! [A: $tType] :
% 2.77/1.76 ( ( canoni770627133id_add @ A )
% 2.77/1.76 => ! [N2: A] :
% 2.77/1.76 ( ( ~ ( ord_less @ A @ ( zero_zero @ A ) @ N2 ) )
% 2.77/1.76 = ( N2
% 2.77/1.76 = ( zero_zero @ A ) ) ) ) ).
% 2.77/1.76
% 2.77/1.76 thf(fact_124_zero__less__Suc,axiom,
% 2.77/1.76 ! [N2: nat] : ( ord_less @ nat @ ( zero_zero @ nat ) @ ( suc @ N2 ) ) ).
% 2.77/1.76
% 2.77/1.76 thf(fact_125_less__Suc0,axiom,
% 2.77/1.76 ! [N2: nat] :
% 2.77/1.76 ( ( ord_less @ nat @ N2 @ ( suc @ ( zero_zero @ nat ) ) )
% 2.77/1.76 = ( N2
% 2.77/1.76 = ( zero_zero @ nat ) ) ) ).
% 2.77/1.76
% 2.77/1.76 thf(fact_126_split__Nil__iff,axiom,
% 2.77/1.76 ! [A: $tType,Xs: list @ A,Ys2: list @ A] :
% 2.77/1.76 ( ( ( splice @ A @ Xs @ Ys2 )
% 2.77/1.76 = ( nil @ A ) )
% 2.77/1.76 = ( ( Xs
% 2.77/1.76 = ( nil @ A ) )
% 2.77/1.76 & ( Ys2
% 2.77/1.76 = ( nil @ A ) ) ) ) ).
% 2.77/1.76
% 2.77/1.76 thf(fact_127_splice__Nil2,axiom,
% 2.77/1.76 ! [A: $tType,Xs: list @ A] :
% 2.77/1.76 ( ( splice @ A @ Xs @ ( nil @ A ) )
% 2.77/1.76 = Xs ) ).
% 2.77/1.76
% 2.77/1.76 thf(fact_128_lexordp__eq__simps_I4_J,axiom,
% 2.77/1.76 ! [A: $tType] :
% 2.77/1.76 ( ( ord @ A )
% 2.77/1.76 => ! [X3: A,Xs: list @ A,Y: A,Ys2: list @ A] :
% 2.77/1.76 ( ( ord_lexordp_eq @ A @ ( cons @ A @ X3 @ Xs ) @ ( cons @ A @ Y @ Ys2 ) )
% 2.77/1.76 = ( ( ord_less @ A @ X3 @ Y )
% 2.77/1.76 | ( ~ ( ord_less @ A @ Y @ X3 )
% 2.77/1.76 & ( ord_lexordp_eq @ A @ Xs @ Ys2 ) ) ) ) ) ).
% 2.77/1.76
% 2.77/1.76 thf(fact_129_gr__zeroI,axiom,
% 2.77/1.76 ! [A: $tType] :
% 2.77/1.76 ( ( canoni770627133id_add @ A )
% 2.77/1.76 => ! [N2: A] :
% 2.77/1.76 ( ( N2
% 2.77/1.76 != ( zero_zero @ A ) )
% 2.77/1.76 => ( ord_less @ A @ ( zero_zero @ A ) @ N2 ) ) ) ).
% 2.77/1.76
% 2.77/1.76 thf(fact_130_not__less__zero,axiom,
% 2.77/1.76 ! [A: $tType] :
% 2.77/1.76 ( ( canoni770627133id_add @ A )
% 2.77/1.76 => ! [N2: A] :
% 2.77/1.76 ~ ( ord_less @ A @ N2 @ ( zero_zero @ A ) ) ) ).
% 2.77/1.76
% 2.77/1.76 thf(fact_131_gr__implies__not__zero,axiom,
% 2.77/1.76 ! [A: $tType] :
% 2.77/1.76 ( ( canoni770627133id_add @ A )
% 2.77/1.76 => ! [M2: A,N2: A] :
% 2.77/1.76 ( ( ord_less @ A @ M2 @ N2 )
% 2.77/1.76 => ( N2
% 2.77/1.76 != ( zero_zero @ A ) ) ) ) ).
% 2.77/1.76
% 2.77/1.76 thf(fact_132_zero__less__iff__neq__zero,axiom,
% 2.77/1.76 ! [A: $tType] :
% 2.77/1.76 ( ( canoni770627133id_add @ A )
% 2.77/1.76 => ! [N2: A] :
% 2.77/1.76 ( ( ord_less @ A @ ( zero_zero @ A ) @ N2 )
% 2.77/1.76 = ( N2
% 2.77/1.76 != ( zero_zero @ A ) ) ) ) ).
% 2.77/1.76
% 2.77/1.76 thf(fact_133_infinite__descent0__measure,axiom,
% 2.77/1.76 ! [A: $tType,V2: A > nat,P2: A > $o,X3: A] :
% 2.77/1.76 ( ! [X: A] :
% 2.77/1.76 ( ( ( V2 @ X )
% 2.77/1.76 = ( zero_zero @ nat ) )
% 2.77/1.76 => ( P2 @ X ) )
% 2.77/1.76 => ( ! [X: A] :
% 2.77/1.76 ( ( ord_less @ nat @ ( zero_zero @ nat ) @ ( V2 @ X ) )
% 2.77/1.76 => ( ~ ( P2 @ X )
% 2.77/1.76 => ? [Y4: A] :
% 2.77/1.76 ( ( ord_less @ nat @ ( V2 @ Y4 ) @ ( V2 @ X ) )
% 2.77/1.76 & ~ ( P2 @ Y4 ) ) ) )
% 2.77/1.76 => ( P2 @ X3 ) ) ) ).
% 2.77/1.76
% 2.77/1.76 thf(fact_134_bot__nat__0_Oextremum__strict,axiom,
% 2.77/1.76 ! [A8: nat] :
% 2.77/1.76 ~ ( ord_less @ nat @ A8 @ ( zero_zero @ nat ) ) ).
% 2.77/1.76
% 2.77/1.76 thf(fact_135_infinite__descent0,axiom,
% 2.77/1.76 ! [P2: nat > $o,N2: nat] :
% 2.77/1.76 ( ( P2 @ ( zero_zero @ nat ) )
% 2.77/1.76 => ( ! [N: nat] :
% 2.77/1.76 ( ( ord_less @ nat @ ( zero_zero @ nat ) @ N )
% 2.77/1.76 => ( ~ ( P2 @ N )
% 2.77/1.76 => ? [M3: nat] :
% 2.77/1.76 ( ( ord_less @ nat @ M3 @ N )
% 2.77/1.76 & ~ ( P2 @ M3 ) ) ) )
% 2.77/1.76 => ( P2 @ N2 ) ) ) ).
% 2.77/1.76
% 2.77/1.76 thf(fact_136_gr__implies__not0,axiom,
% 2.77/1.76 ! [M2: nat,N2: nat] :
% 2.77/1.76 ( ( ord_less @ nat @ M2 @ N2 )
% 2.77/1.76 => ( N2
% 2.77/1.76 != ( zero_zero @ nat ) ) ) ).
% 2.77/1.76
% 2.77/1.76 thf(fact_137_less__zeroE,axiom,
% 2.77/1.76 ! [N2: nat] :
% 2.77/1.76 ~ ( ord_less @ nat @ N2 @ ( zero_zero @ nat ) ) ).
% 2.77/1.76
% 2.77/1.76 thf(fact_138_not__less0,axiom,
% 2.77/1.76 ! [N2: nat] :
% 2.77/1.76 ~ ( ord_less @ nat @ N2 @ ( zero_zero @ nat ) ) ).
% 2.77/1.76
% 2.77/1.76 thf(fact_139_not__gr0,axiom,
% 2.77/1.76 ! [N2: nat] :
% 2.77/1.76 ( ( ~ ( ord_less @ nat @ ( zero_zero @ nat ) @ N2 ) )
% 2.77/1.76 = ( N2
% 2.77/1.76 = ( zero_zero @ nat ) ) ) ).
% 2.77/1.76
% 2.77/1.76 thf(fact_140_gr0I,axiom,
% 2.77/1.76 ! [N2: nat] :
% 2.77/1.76 ( ( N2
% 2.77/1.76 != ( zero_zero @ nat ) )
% 2.77/1.76 => ( ord_less @ nat @ ( zero_zero @ nat ) @ N2 ) ) ).
% 2.77/1.76
% 2.77/1.76 thf(fact_141_Nat_OlessE,axiom,
% 2.77/1.76 ! [I: nat,K: nat] :
% 2.77/1.76 ( ( ord_less @ nat @ I @ K )
% 2.77/1.76 => ( ( K
% 2.77/1.76 != ( suc @ I ) )
% 2.77/1.76 => ~ ! [J: nat] :
% 2.77/1.76 ( ( ord_less @ nat @ I @ J )
% 2.77/1.76 => ( K
% 2.77/1.76 != ( suc @ J ) ) ) ) ) ).
% 2.77/1.76
% 2.77/1.76 thf(fact_142_Suc__lessD,axiom,
% 2.77/1.76 ! [M2: nat,N2: nat] :
% 2.77/1.76 ( ( ord_less @ nat @ ( suc @ M2 ) @ N2 )
% 2.77/1.76 => ( ord_less @ nat @ M2 @ N2 ) ) ).
% 2.77/1.76
% 2.77/1.76 thf(fact_143_Suc__lessE,axiom,
% 2.77/1.76 ! [I: nat,K: nat] :
% 2.77/1.76 ( ( ord_less @ nat @ ( suc @ I ) @ K )
% 2.77/1.76 => ~ ! [J: nat] :
% 2.77/1.76 ( ( ord_less @ nat @ I @ J )
% 2.77/1.76 => ( K
% 2.77/1.76 != ( suc @ J ) ) ) ) ).
% 2.77/1.76
% 2.77/1.76 thf(fact_144_Suc__lessI,axiom,
% 2.77/1.76 ! [M2: nat,N2: nat] :
% 2.77/1.76 ( ( ord_less @ nat @ M2 @ N2 )
% 2.77/1.76 => ( ( ( suc @ M2 )
% 2.77/1.76 != N2 )
% 2.77/1.76 => ( ord_less @ nat @ ( suc @ M2 ) @ N2 ) ) ) ).
% 2.77/1.76
% 2.77/1.76 thf(fact_145_less__SucE,axiom,
% 2.77/1.76 ! [M2: nat,N2: nat] :
% 2.77/1.76 ( ( ord_less @ nat @ M2 @ ( suc @ N2 ) )
% 2.77/1.76 => ( ~ ( ord_less @ nat @ M2 @ N2 )
% 2.77/1.76 => ( M2 = N2 ) ) ) ).
% 2.77/1.76
% 2.77/1.76 thf(fact_146_less__SucI,axiom,
% 2.77/1.76 ! [M2: nat,N2: nat] :
% 2.77/1.76 ( ( ord_less @ nat @ M2 @ N2 )
% 2.77/1.76 => ( ord_less @ nat @ M2 @ ( suc @ N2 ) ) ) ).
% 2.77/1.76
% 2.77/1.76 thf(fact_147_Ex__less__Suc,axiom,
% 2.77/1.76 ! [N2: nat,P2: nat > $o] :
% 2.77/1.76 ( ( ? [I2: nat] :
% 2.77/1.76 ( ( ord_less @ nat @ I2 @ ( suc @ N2 ) )
% 2.77/1.76 & ( P2 @ I2 ) ) )
% 2.77/1.76 = ( ( P2 @ N2 )
% 2.77/1.76 | ? [I2: nat] :
% 2.77/1.76 ( ( ord_less @ nat @ I2 @ N2 )
% 2.77/1.76 & ( P2 @ I2 ) ) ) ) ).
% 2.77/1.76
% 2.77/1.76 thf(fact_148_less__Suc__eq,axiom,
% 2.77/1.76 ! [M2: nat,N2: nat] :
% 2.77/1.76 ( ( ord_less @ nat @ M2 @ ( suc @ N2 ) )
% 2.77/1.76 = ( ( ord_less @ nat @ M2 @ N2 )
% 2.77/1.76 | ( M2 = N2 ) ) ) ).
% 2.77/1.76
% 2.77/1.76 thf(fact_149_not__less__eq,axiom,
% 2.77/1.76 ! [M2: nat,N2: nat] :
% 2.77/1.76 ( ( ~ ( ord_less @ nat @ M2 @ N2 ) )
% 2.77/1.76 = ( ord_less @ nat @ N2 @ ( suc @ M2 ) ) ) ).
% 2.77/1.76
% 2.77/1.76 thf(fact_150_All__less__Suc,axiom,
% 2.77/1.76 ! [N2: nat,P2: nat > $o] :
% 2.77/1.76 ( ( ! [I2: nat] :
% 2.77/1.76 ( ( ord_less @ nat @ I2 @ ( suc @ N2 ) )
% 2.77/1.76 => ( P2 @ I2 ) ) )
% 2.77/1.76 = ( ( P2 @ N2 )
% 2.77/1.76 & ! [I2: nat] :
% 2.77/1.76 ( ( ord_less @ nat @ I2 @ N2 )
% 2.77/1.76 => ( P2 @ I2 ) ) ) ) ).
% 2.77/1.76
% 2.77/1.76 thf(fact_151_Suc__less__eq2,axiom,
% 2.77/1.76 ! [N2: nat,M2: nat] :
% 2.77/1.76 ( ( ord_less @ nat @ ( suc @ N2 ) @ M2 )
% 2.77/1.76 = ( ? [M4: nat] :
% 2.77/1.76 ( ( M2
% 2.77/1.76 = ( suc @ M4 ) )
% 2.77/1.76 & ( ord_less @ nat @ N2 @ M4 ) ) ) ) ).
% 2.77/1.76
% 2.77/1.76 thf(fact_152_less__antisym,axiom,
% 2.77/1.76 ! [N2: nat,M2: nat] :
% 2.77/1.76 ( ~ ( ord_less @ nat @ N2 @ M2 )
% 2.77/1.76 => ( ( ord_less @ nat @ N2 @ ( suc @ M2 ) )
% 2.77/1.76 => ( M2 = N2 ) ) ) ).
% 2.77/1.76
% 2.77/1.76 thf(fact_153_Suc__less__SucD,axiom,
% 2.77/1.76 ! [M2: nat,N2: nat] :
% 2.77/1.76 ( ( ord_less @ nat @ ( suc @ M2 ) @ ( suc @ N2 ) )
% 2.77/1.76 => ( ord_less @ nat @ M2 @ N2 ) ) ).
% 2.77/1.76
% 2.77/1.76 thf(fact_154_less__trans__Suc,axiom,
% 2.77/1.76 ! [I: nat,J2: nat,K: nat] :
% 2.77/1.76 ( ( ord_less @ nat @ I @ J2 )
% 2.77/1.76 => ( ( ord_less @ nat @ J2 @ K )
% 2.77/1.76 => ( ord_less @ nat @ ( suc @ I ) @ K ) ) ) ).
% 2.77/1.76
% 2.77/1.76 thf(fact_155_less__Suc__induct,axiom,
% 2.77/1.76 ! [I: nat,J2: nat,P2: nat > nat > $o] :
% 2.77/1.76 ( ( ord_less @ nat @ I @ J2 )
% 2.77/1.76 => ( ! [I3: nat] : ( P2 @ I3 @ ( suc @ I3 ) )
% 2.77/1.76 => ( ! [I3: nat,J: nat,K2: nat] :
% 2.77/1.76 ( ( ord_less @ nat @ I3 @ J )
% 2.77/1.76 => ( ( ord_less @ nat @ J @ K2 )
% 2.77/1.76 => ( ( P2 @ I3 @ J )
% 2.77/1.76 => ( ( P2 @ J @ K2 )
% 2.77/1.76 => ( P2 @ I3 @ K2 ) ) ) ) )
% 2.77/1.76 => ( P2 @ I @ J2 ) ) ) ) ).
% 2.77/1.76
% 2.77/1.76 thf(fact_156_strict__inc__induct,axiom,
% 2.77/1.76 ! [I: nat,J2: nat,P2: nat > $o] :
% 2.77/1.76 ( ( ord_less @ nat @ I @ J2 )
% 2.77/1.76 => ( ! [I3: nat] :
% 2.77/1.76 ( ( J2
% 2.77/1.76 = ( suc @ I3 ) )
% 2.77/1.76 => ( P2 @ I3 ) )
% 2.77/1.76 => ( ! [I3: nat] :
% 2.77/1.76 ( ( ord_less @ nat @ I3 @ J2 )
% 2.77/1.76 => ( ( P2 @ ( suc @ I3 ) )
% 2.77/1.76 => ( P2 @ I3 ) ) )
% 2.77/1.76 => ( P2 @ I ) ) ) ) ).
% 2.77/1.76
% 2.77/1.76 thf(fact_157_not__less__less__Suc__eq,axiom,
% 2.77/1.76 ! [N2: nat,M2: nat] :
% 2.77/1.76 ( ~ ( ord_less @ nat @ N2 @ M2 )
% 2.77/1.76 => ( ( ord_less @ nat @ N2 @ ( suc @ M2 ) )
% 2.77/1.76 = ( N2 = M2 ) ) ) ).
% 2.77/1.76
% 2.77/1.76 thf(fact_158_measure__induct__rule,axiom,
% 2.77/1.76 ! [B: $tType,A: $tType] :
% 2.77/1.76 ( ( wellorder @ B )
% 2.77/1.76 => ! [F2: A > B,P2: A > $o,A8: A] :
% 2.77/1.76 ( ! [X: A] :
% 2.77/1.76 ( ! [Y4: A] :
% 2.77/1.76 ( ( ord_less @ B @ ( F2 @ Y4 ) @ ( F2 @ X ) )
% 2.77/1.76 => ( P2 @ Y4 ) )
% 2.77/1.76 => ( P2 @ X ) )
% 2.77/1.76 => ( P2 @ A8 ) ) ) ).
% 2.77/1.76
% 2.77/1.76 thf(fact_159_measure__induct,axiom,
% 2.77/1.76 ! [B: $tType,A: $tType] :
% 2.77/1.76 ( ( wellorder @ B )
% 2.77/1.76 => ! [F2: A > B,P2: A > $o,A8: A] :
% 2.77/1.76 ( ! [X: A] :
% 2.77/1.76 ( ! [Y4: A] :
% 2.77/1.76 ( ( ord_less @ B @ ( F2 @ Y4 ) @ ( F2 @ X ) )
% 2.77/1.76 => ( P2 @ Y4 ) )
% 2.77/1.76 => ( P2 @ X ) )
% 2.77/1.76 => ( P2 @ A8 ) ) ) ).
% 2.77/1.76
% 2.77/1.76 thf(fact_160_lift__Suc__mono__less,axiom,
% 2.77/1.76 ! [A: $tType] :
% 2.77/1.76 ( ( order @ A )
% 2.77/1.76 => ! [F2: nat > A,N2: nat,N4: nat] :
% 2.77/1.76 ( ! [N: nat] : ( ord_less @ A @ ( F2 @ N ) @ ( F2 @ ( suc @ N ) ) )
% 2.77/1.76 => ( ( ord_less @ nat @ N2 @ N4 )
% 2.77/1.76 => ( ord_less @ A @ ( F2 @ N2 ) @ ( F2 @ N4 ) ) ) ) ) ).
% 2.77/1.76
% 2.77/1.76 thf(fact_161_lift__Suc__mono__less__iff,axiom,
% 2.77/1.76 ! [A: $tType] :
% 2.77/1.76 ( ( order @ A )
% 2.77/1.76 => ! [F2: nat > A,N2: nat,M2: nat] :
% 2.77/1.76 ( ! [N: nat] : ( ord_less @ A @ ( F2 @ N ) @ ( F2 @ ( suc @ N ) ) )
% 2.77/1.76 => ( ( ord_less @ A @ ( F2 @ N2 ) @ ( F2 @ M2 ) )
% 2.77/1.76 = ( ord_less @ nat @ N2 @ M2 ) ) ) ) ).
% 2.77/1.76
% 2.77/1.76 thf(fact_162_splice_Osimps_I2_J,axiom,
% 2.77/1.76 ! [A: $tType,X3: A,Xs: list @ A,Ys2: list @ A] :
% 2.77/1.76 ( ( splice @ A @ ( cons @ A @ X3 @ Xs ) @ Ys2 )
% 2.77/1.76 = ( cons @ A @ X3 @ ( splice @ A @ Ys2 @ Xs ) ) ) ).
% 2.77/1.76
% 2.77/1.76 thf(fact_163_splice_Osimps_I1_J,axiom,
% 2.77/1.76 ! [A: $tType,Ys2: list @ A] :
% 2.77/1.76 ( ( splice @ A @ ( nil @ A ) @ Ys2 )
% 2.77/1.76 = Ys2 ) ).
% 2.77/1.76
% 2.77/1.76 thf(fact_164_less__Suc__eq__0__disj,axiom,
% 2.77/1.76 ! [M2: nat,N2: nat] :
% 2.77/1.76 ( ( ord_less @ nat @ M2 @ ( suc @ N2 ) )
% 2.77/1.76 = ( ( M2
% 2.77/1.76 = ( zero_zero @ nat ) )
% 2.77/1.76 | ? [J3: nat] :
% 2.77/1.76 ( ( M2
% 2.77/1.76 = ( suc @ J3 ) )
% 2.77/1.76 & ( ord_less @ nat @ J3 @ N2 ) ) ) ) ).
% 2.77/1.76
% 2.77/1.76 thf(fact_165_gr0__implies__Suc,axiom,
% 2.77/1.76 ! [N2: nat] :
% 2.77/1.76 ( ( ord_less @ nat @ ( zero_zero @ nat ) @ N2 )
% 2.77/1.76 => ? [M: nat] :
% 2.77/1.76 ( N2
% 2.77/1.76 = ( suc @ M ) ) ) ).
% 2.77/1.76
% 2.77/1.76 thf(fact_166_All__less__Suc2,axiom,
% 2.77/1.76 ! [N2: nat,P2: nat > $o] :
% 2.77/1.76 ( ( ! [I2: nat] :
% 2.77/1.76 ( ( ord_less @ nat @ I2 @ ( suc @ N2 ) )
% 2.77/1.76 => ( P2 @ I2 ) ) )
% 2.77/1.76 = ( ( P2 @ ( zero_zero @ nat ) )
% 2.77/1.76 & ! [I2: nat] :
% 2.77/1.76 ( ( ord_less @ nat @ I2 @ N2 )
% 2.77/1.76 => ( P2 @ ( suc @ I2 ) ) ) ) ) ).
% 2.77/1.76
% 2.77/1.76 thf(fact_167_gr0__conv__Suc,axiom,
% 2.77/1.76 ! [N2: nat] :
% 2.77/1.76 ( ( ord_less @ nat @ ( zero_zero @ nat ) @ N2 )
% 2.77/1.76 = ( ? [M5: nat] :
% 2.77/1.76 ( N2
% 2.77/1.76 = ( suc @ M5 ) ) ) ) ).
% 2.77/1.76
% 2.77/1.76 thf(fact_168_Ex__less__Suc2,axiom,
% 2.77/1.76 ! [N2: nat,P2: nat > $o] :
% 2.77/1.76 ( ( ? [I2: nat] :
% 2.77/1.76 ( ( ord_less @ nat @ I2 @ ( suc @ N2 ) )
% 2.77/1.76 & ( P2 @ I2 ) ) )
% 2.77/1.76 = ( ( P2 @ ( zero_zero @ nat ) )
% 2.77/1.76 | ? [I2: nat] :
% 2.77/1.76 ( ( ord_less @ nat @ I2 @ N2 )
% 2.77/1.76 & ( P2 @ ( suc @ I2 ) ) ) ) ) ).
% 2.77/1.76
% 2.77/1.76 thf(fact_169_lexordp__eq_OCons__eq,axiom,
% 2.77/1.76 ! [A: $tType] :
% 2.77/1.76 ( ( ord @ A )
% 2.77/1.76 => ! [X3: A,Y: A,Xs: list @ A,Ys2: list @ A] :
% 2.77/1.76 ( ~ ( ord_less @ A @ X3 @ Y )
% 2.77/1.76 => ( ~ ( ord_less @ A @ Y @ X3 )
% 2.77/1.76 => ( ( ord_lexordp_eq @ A @ Xs @ Ys2 )
% 2.77/1.76 => ( ord_lexordp_eq @ A @ ( cons @ A @ X3 @ Xs ) @ ( cons @ A @ Y @ Ys2 ) ) ) ) ) ) ).
% 2.77/1.76
% 2.77/1.76 thf(fact_170_lexordp__eq_OCons,axiom,
% 2.77/1.76 ! [A: $tType] :
% 2.77/1.76 ( ( ord @ A )
% 2.77/1.76 => ! [X3: A,Y: A,Xs: list @ A,Ys2: list @ A] :
% 2.77/1.76 ( ( ord_less @ A @ X3 @ Y )
% 2.77/1.76 => ( ord_lexordp_eq @ A @ ( cons @ A @ X3 @ Xs ) @ ( cons @ A @ Y @ Ys2 ) ) ) ) ).
% 2.77/1.76
% 2.77/1.76 thf(fact_171_of__nat__aux_Osimps_I1_J,axiom,
% 2.77/1.76 ! [A: $tType] :
% 2.77/1.76 ( ( semiring_1 @ A )
% 2.77/1.76 => ! [Inc: A > A,I: A] :
% 2.77/1.76 ( ( semiri532925092at_aux @ A @ Inc @ ( zero_zero @ nat ) @ I )
% 2.77/1.76 = I ) ) ).
% 2.77/1.76
% 2.77/1.76 thf(fact_172_NatPredicateTippingPoint,axiom,
% 2.77/1.76 ! [N22: nat,Pr: nat > $o] :
% 2.77/1.76 ( ( ord_less @ nat @ ( zero_zero @ nat ) @ N22 )
% 2.77/1.76 => ( ( Pr @ ( zero_zero @ nat ) )
% 2.77/1.76 => ( ~ ( Pr @ N22 )
% 2.77/1.76 => ? [N: nat] :
% 2.77/1.76 ( ( ord_less @ nat @ N @ N22 )
% 2.77/1.76 & ( Pr @ N )
% 2.77/1.76 & ~ ( Pr @ ( suc @ N ) ) ) ) ) ) ).
% 2.77/1.76
% 2.77/1.76 thf(fact_173_less__numeral__extra_I3_J,axiom,
% 2.77/1.76 ! [A: $tType] :
% 2.77/1.76 ( ( linord1659791738miring @ A )
% 2.77/1.76 => ~ ( ord_less @ A @ ( zero_zero @ A ) @ ( zero_zero @ A ) ) ) ).
% 2.77/1.76
% 2.77/1.76 thf(fact_174_lexordp_Ocases,axiom,
% 2.77/1.76 ! [A: $tType] :
% 2.77/1.76 ( ( ord @ A )
% 2.77/1.76 => ! [A1: list @ A,A2: list @ A] :
% 2.77/1.76 ( ( ord_lexordp @ A @ A1 @ A2 )
% 2.77/1.76 => ( ( ( A1
% 2.77/1.76 = ( nil @ A ) )
% 2.77/1.76 => ! [Y3: A,Ys3: list @ A] :
% 2.77/1.76 ( A2
% 2.77/1.76 != ( cons @ A @ Y3 @ Ys3 ) ) )
% 2.77/1.76 => ( ! [X: A] :
% 2.77/1.76 ( ? [Xs2: list @ A] :
% 2.77/1.76 ( A1
% 2.77/1.76 = ( cons @ A @ X @ Xs2 ) )
% 2.77/1.76 => ! [Y3: A] :
% 2.77/1.76 ( ? [Ys3: list @ A] :
% 2.77/1.76 ( A2
% 2.77/1.76 = ( cons @ A @ Y3 @ Ys3 ) )
% 2.77/1.76 => ~ ( ord_less @ A @ X @ Y3 ) ) )
% 2.77/1.76 => ~ ! [X: A,Y3: A,Xs2: list @ A] :
% 2.77/1.76 ( ( A1
% 2.77/1.76 = ( cons @ A @ X @ Xs2 ) )
% 2.77/1.76 => ! [Ys3: list @ A] :
% 2.77/1.76 ( ( A2
% 2.77/1.76 = ( cons @ A @ Y3 @ Ys3 ) )
% 2.77/1.76 => ( ~ ( ord_less @ A @ X @ Y3 )
% 2.77/1.76 => ( ~ ( ord_less @ A @ Y3 @ X )
% 2.77/1.76 => ~ ( ord_lexordp @ A @ Xs2 @ Ys3 ) ) ) ) ) ) ) ) ) ).
% 2.77/1.76
% 2.77/1.76 thf(fact_175_lexordp_Osimps,axiom,
% 2.77/1.76 ! [A: $tType] :
% 2.77/1.76 ( ( ord @ A )
% 2.77/1.76 => ( ( ord_lexordp @ A )
% 2.77/1.76 = ( ^ [A12: list @ A,A22: list @ A] :
% 2.77/1.76 ( ? [Y2: A,Ys: list @ A] :
% 2.77/1.76 ( ( A12
% 2.77/1.76 = ( nil @ A ) )
% 2.77/1.76 & ( A22
% 2.77/1.76 = ( cons @ A @ Y2 @ Ys ) ) )
% 2.77/1.76 | ? [X4: A,Y2: A,Xs3: list @ A,Ys: list @ A] :
% 2.77/1.76 ( ( A12
% 2.77/1.76 = ( cons @ A @ X4 @ Xs3 ) )
% 2.77/1.76 & ( A22
% 2.77/1.76 = ( cons @ A @ Y2 @ Ys ) )
% 2.77/1.76 & ( ord_less @ A @ X4 @ Y2 ) )
% 2.77/1.76 | ? [X4: A,Y2: A,Xs3: list @ A,Ys: list @ A] :
% 2.77/1.76 ( ( A12
% 2.77/1.76 = ( cons @ A @ X4 @ Xs3 ) )
% 2.77/1.76 & ( A22
% 2.77/1.76 = ( cons @ A @ Y2 @ Ys ) )
% 2.77/1.76 & ~ ( ord_less @ A @ X4 @ Y2 )
% 2.77/1.76 & ~ ( ord_less @ A @ Y2 @ X4 )
% 2.77/1.76 & ( ord_lexordp @ A @ Xs3 @ Ys ) ) ) ) ) ) ).
% 2.77/1.76
% 2.77/1.76 thf(fact_176_lexordp__simps_I2_J,axiom,
% 2.77/1.76 ! [A: $tType] :
% 2.77/1.76 ( ( ord @ A )
% 2.77/1.76 => ! [Xs: list @ A] :
% 2.77/1.76 ~ ( ord_lexordp @ A @ Xs @ ( nil @ A ) ) ) ).
% 2.77/1.76
% 2.77/1.76 thf(fact_177_lexordp__simps_I1_J,axiom,
% 2.77/1.76 ! [A: $tType] :
% 2.77/1.76 ( ( ord @ A )
% 2.77/1.76 => ! [Ys2: list @ A] :
% 2.77/1.76 ( ( ord_lexordp @ A @ ( nil @ A ) @ Ys2 )
% 2.77/1.76 = ( Ys2
% 2.77/1.76 != ( nil @ A ) ) ) ) ).
% 2.77/1.76
% 2.77/1.76 thf(fact_178_lexordp__simps_I3_J,axiom,
% 2.77/1.76 ! [A: $tType] :
% 2.77/1.76 ( ( ord @ A )
% 2.77/1.76 => ! [X3: A,Xs: list @ A,Y: A,Ys2: list @ A] :
% 2.77/1.76 ( ( ord_lexordp @ A @ ( cons @ A @ X3 @ Xs ) @ ( cons @ A @ Y @ Ys2 ) )
% 2.77/1.76 = ( ( ord_less @ A @ X3 @ Y )
% 2.77/1.76 | ( ~ ( ord_less @ A @ Y @ X3 )
% 2.77/1.76 & ( ord_lexordp @ A @ Xs @ Ys2 ) ) ) ) ) ).
% 2.77/1.76
% 2.77/1.76 thf(fact_179_lexordp__irreflexive,axiom,
% 2.77/1.76 ! [A: $tType] :
% 2.77/1.76 ( ( ord @ A )
% 2.77/1.76 => ! [Xs: list @ A] :
% 2.77/1.76 ( ! [X: A] :
% 2.77/1.76 ~ ( ord_less @ A @ X @ X )
% 2.77/1.76 => ~ ( ord_lexordp @ A @ Xs @ Xs ) ) ) ).
% 2.77/1.76
% 2.77/1.76 thf(fact_180_infinite__descent__measure,axiom,
% 2.77/1.76 ! [A: $tType,P2: A > $o,V2: A > nat,X3: A] :
% 2.77/1.76 ( ! [X: A] :
% 2.77/1.76 ( ~ ( P2 @ X )
% 2.77/1.76 => ? [Y4: A] :
% 2.77/1.76 ( ( ord_less @ nat @ ( V2 @ Y4 ) @ ( V2 @ X ) )
% 2.77/1.76 & ~ ( P2 @ Y4 ) ) )
% 2.77/1.76 => ( P2 @ X3 ) ) ).
% 2.77/1.76
% 2.77/1.76 thf(fact_181_linorder__neqE__nat,axiom,
% 2.77/1.76 ! [X3: nat,Y: nat] :
% 2.77/1.76 ( ( X3 != Y )
% 2.77/1.76 => ( ~ ( ord_less @ nat @ X3 @ Y )
% 2.77/1.76 => ( ord_less @ nat @ Y @ X3 ) ) ) ).
% 2.77/1.76
% 2.77/1.76 thf(fact_182_infinite__descent,axiom,
% 2.77/1.76 ! [P2: nat > $o,N2: nat] :
% 2.77/1.76 ( ! [N: nat] :
% 2.77/1.76 ( ~ ( P2 @ N )
% 2.77/1.76 => ? [M3: nat] :
% 2.77/1.76 ( ( ord_less @ nat @ M3 @ N )
% 2.77/1.76 & ~ ( P2 @ M3 ) ) )
% 2.77/1.76 => ( P2 @ N2 ) ) ).
% 2.77/1.76
% 2.77/1.76 thf(fact_183_nat__less__induct,axiom,
% 2.77/1.76 ! [P2: nat > $o,N2: nat] :
% 2.77/1.76 ( ! [N: nat] :
% 2.77/1.76 ( ! [M3: nat] :
% 2.77/1.76 ( ( ord_less @ nat @ M3 @ N )
% 2.77/1.76 => ( P2 @ M3 ) )
% 2.77/1.76 => ( P2 @ N ) )
% 2.77/1.76 => ( P2 @ N2 ) ) ).
% 2.77/1.76
% 2.77/1.76 thf(fact_184_less__irrefl__nat,axiom,
% 2.77/1.76 ! [N2: nat] :
% 2.77/1.76 ~ ( ord_less @ nat @ N2 @ N2 ) ).
% 2.77/1.76
% 2.77/1.76 thf(fact_185_less__not__refl3,axiom,
% 2.77/1.76 ! [S2: nat,T: nat] :
% 2.77/1.76 ( ( ord_less @ nat @ S2 @ T )
% 2.77/1.76 => ( S2 != T ) ) ).
% 2.77/1.76
% 2.77/1.76 thf(fact_186_less__not__refl2,axiom,
% 2.77/1.76 ! [N2: nat,M2: nat] :
% 2.77/1.76 ( ( ord_less @ nat @ N2 @ M2 )
% 2.77/1.76 => ( M2 != N2 ) ) ).
% 2.77/1.76
% 2.77/1.76 thf(fact_187_less__not__refl,axiom,
% 2.77/1.76 ! [N2: nat] :
% 2.77/1.76 ~ ( ord_less @ nat @ N2 @ N2 ) ).
% 2.77/1.76
% 2.77/1.76 thf(fact_188_nat__neq__iff,axiom,
% 2.77/1.76 ! [M2: nat,N2: nat] :
% 2.77/1.76 ( ( M2 != N2 )
% 2.77/1.76 = ( ( ord_less @ nat @ M2 @ N2 )
% 2.77/1.76 | ( ord_less @ nat @ N2 @ M2 ) ) ) ).
% 2.77/1.76
% 2.77/1.76 thf(fact_189_lexordp__antisym,axiom,
% 2.77/1.76 ! [A: $tType] :
% 2.77/1.76 ( ( order @ A )
% 2.77/1.76 => ! [Xs: list @ A,Ys2: list @ A] :
% 2.77/1.76 ( ( ord_lexordp @ A @ Xs @ Ys2 )
% 2.77/1.76 => ~ ( ord_lexordp @ A @ Ys2 @ Xs ) ) ) ).
% 2.77/1.76
% 2.77/1.76 thf(fact_190_lexordp__trans,axiom,
% 2.77/1.76 ! [A: $tType] :
% 2.77/1.76 ( ( linorder @ A )
% 2.77/1.76 => ! [Xs: list @ A,Ys2: list @ A,Zs2: list @ A] :
% 2.77/1.76 ( ( ord_lexordp @ A @ Xs @ Ys2 )
% 2.77/1.76 => ( ( ord_lexordp @ A @ Ys2 @ Zs2 )
% 2.77/1.76 => ( ord_lexordp @ A @ Xs @ Zs2 ) ) ) ) ).
% 2.77/1.76
% 2.77/1.76 thf(fact_191_lexordp__linear,axiom,
% 2.77/1.76 ! [A: $tType] :
% 2.77/1.76 ( ( linorder @ A )
% 2.77/1.76 => ! [Xs: list @ A,Ys2: list @ A] :
% 2.77/1.76 ( ( ord_lexordp @ A @ Xs @ Ys2 )
% 2.77/1.76 | ( Xs = Ys2 )
% 2.77/1.76 | ( ord_lexordp @ A @ Ys2 @ Xs ) ) ) ).
% 2.77/1.76
% 2.77/1.76 thf(fact_192_lexordp__irreflexive_H,axiom,
% 2.77/1.76 ! [A: $tType] :
% 2.77/1.76 ( ( order @ A )
% 2.77/1.76 => ! [Xs: list @ A] :
% 2.77/1.76 ~ ( ord_lexordp @ A @ Xs @ Xs ) ) ).
% 2.77/1.76
% 2.77/1.76 thf(fact_193_lexordp__into__lexordp__eq,axiom,
% 2.77/1.76 ! [A: $tType] :
% 2.77/1.76 ( ( ord @ A )
% 2.77/1.76 => ! [Xs: list @ A,Ys2: list @ A] :
% 2.77/1.76 ( ( ord_lexordp @ A @ Xs @ Ys2 )
% 2.77/1.76 => ( ord_lexordp_eq @ A @ Xs @ Ys2 ) ) ) ).
% 2.77/1.76
% 2.77/1.76 thf(fact_194_lexordp__eq__conv__lexord,axiom,
% 2.77/1.76 ! [A: $tType] :
% 2.77/1.76 ( ( linorder @ A )
% 2.77/1.76 => ( ( ord_lexordp_eq @ A )
% 2.77/1.76 = ( ^ [Xs3: list @ A,Ys: list @ A] :
% 2.77/1.76 ( ( Xs3 = Ys )
% 2.77/1.76 | ( ord_lexordp @ A @ Xs3 @ Ys ) ) ) ) ) ).
% 2.77/1.76
% 2.77/1.76 thf(fact_195_lexordp__conv__lexordp__eq,axiom,
% 2.77/1.76 ! [A: $tType] :
% 2.77/1.76 ( ( linorder @ A )
% 2.77/1.76 => ( ( ord_lexordp @ A )
% 2.77/1.76 = ( ^ [Xs3: list @ A,Ys: list @ A] :
% 2.77/1.76 ( ( ord_lexordp_eq @ A @ Xs3 @ Ys )
% 2.77/1.76 & ~ ( ord_lexordp_eq @ A @ Ys @ Xs3 ) ) ) ) ) ).
% 2.77/1.76
% 2.77/1.76 thf(fact_196_lexordp_OCons,axiom,
% 2.77/1.76 ! [A: $tType] :
% 2.77/1.76 ( ( ord @ A )
% 2.77/1.76 => ! [X3: A,Y: A,Xs: list @ A,Ys2: list @ A] :
% 2.77/1.76 ( ( ord_less @ A @ X3 @ Y )
% 2.77/1.76 => ( ord_lexordp @ A @ ( cons @ A @ X3 @ Xs ) @ ( cons @ A @ Y @ Ys2 ) ) ) ) ).
% 2.77/1.76
% 2.77/1.76 thf(fact_197_lexordp_OCons__eq,axiom,
% 2.77/1.76 ! [A: $tType] :
% 2.77/1.76 ( ( ord @ A )
% 2.77/1.76 => ! [X3: A,Y: A,Xs: list @ A,Ys2: list @ A] :
% 2.77/1.76 ( ~ ( ord_less @ A @ X3 @ Y )
% 2.77/1.76 => ( ~ ( ord_less @ A @ Y @ X3 )
% 2.77/1.76 => ( ( ord_lexordp @ A @ Xs @ Ys2 )
% 2.77/1.76 => ( ord_lexordp @ A @ ( cons @ A @ X3 @ Xs ) @ ( cons @ A @ Y @ Ys2 ) ) ) ) ) ) ).
% 2.77/1.76
% 2.77/1.76 thf(fact_198_lexordp_ONil,axiom,
% 2.77/1.76 ! [A: $tType] :
% 2.77/1.76 ( ( ord @ A )
% 2.77/1.76 => ! [Y: A,Ys2: list @ A] : ( ord_lexordp @ A @ ( nil @ A ) @ ( cons @ A @ Y @ Ys2 ) ) ) ).
% 2.77/1.76
% 2.77/1.76 thf(fact_199_lexordp__induct,axiom,
% 2.77/1.76 ! [A: $tType] :
% 2.77/1.76 ( ( linorder @ A )
% 2.77/1.76 => ! [Xs: list @ A,Ys2: list @ A,P2: ( list @ A ) > ( list @ A ) > $o] :
% 2.77/1.76 ( ( ord_lexordp @ A @ Xs @ Ys2 )
% 2.77/1.76 => ( ! [Y3: A,Ys3: list @ A] : ( P2 @ ( nil @ A ) @ ( cons @ A @ Y3 @ Ys3 ) )
% 2.77/1.76 => ( ! [X: A,Xs2: list @ A,Y3: A,Ys3: list @ A] :
% 2.77/1.76 ( ( ord_less @ A @ X @ Y3 )
% 2.77/1.76 => ( P2 @ ( cons @ A @ X @ Xs2 ) @ ( cons @ A @ Y3 @ Ys3 ) ) )
% 2.77/1.76 => ( ! [X: A,Xs2: list @ A,Ys3: list @ A] :
% 2.77/1.76 ( ( ord_lexordp @ A @ Xs2 @ Ys3 )
% 2.77/1.76 => ( ( P2 @ Xs2 @ Ys3 )
% 2.77/1.76 => ( P2 @ ( cons @ A @ X @ Xs2 ) @ ( cons @ A @ X @ Ys3 ) ) ) )
% 2.77/1.76 => ( P2 @ Xs @ Ys2 ) ) ) ) ) ) ).
% 2.77/1.76
% 2.77/1.76 thf(fact_200_lexordp__cases,axiom,
% 2.77/1.76 ! [A: $tType] :
% 2.77/1.76 ( ( linorder @ A )
% 2.77/1.76 => ! [Xs: list @ A,Ys2: list @ A] :
% 2.77/1.76 ( ( ord_lexordp @ A @ Xs @ Ys2 )
% 2.77/1.76 => ( ( ( Xs
% 2.77/1.76 = ( nil @ A ) )
% 2.77/1.76 => ! [Y3: A,Ys4: list @ A] :
% 2.77/1.76 ( Ys2
% 2.77/1.76 != ( cons @ A @ Y3 @ Ys4 ) ) )
% 2.77/1.76 => ( ! [X: A] :
% 2.77/1.76 ( ? [Xs4: list @ A] :
% 2.77/1.76 ( Xs
% 2.77/1.76 = ( cons @ A @ X @ Xs4 ) )
% 2.77/1.76 => ! [Y3: A] :
% 2.77/1.76 ( ? [Ys4: list @ A] :
% 2.77/1.76 ( Ys2
% 2.77/1.76 = ( cons @ A @ Y3 @ Ys4 ) )
% 2.77/1.76 => ~ ( ord_less @ A @ X @ Y3 ) ) )
% 2.77/1.76 => ~ ! [X: A,Xs4: list @ A] :
% 2.77/1.76 ( ( Xs
% 2.77/1.76 = ( cons @ A @ X @ Xs4 ) )
% 2.77/1.76 => ! [Ys4: list @ A] :
% 2.77/1.76 ( ( Ys2
% 2.77/1.76 = ( cons @ A @ X @ Ys4 ) )
% 2.77/1.76 => ~ ( ord_lexordp @ A @ Xs4 @ Ys4 ) ) ) ) ) ) ) ).
% 2.77/1.76
% 2.77/1.76 thf(fact_201_lexordp_Oinducts,axiom,
% 2.77/1.76 ! [A: $tType] :
% 2.77/1.76 ( ( ord @ A )
% 2.77/1.76 => ! [X12: list @ A,X23: list @ A,P2: ( list @ A ) > ( list @ A ) > $o] :
% 2.77/1.76 ( ( ord_lexordp @ A @ X12 @ X23 )
% 2.77/1.76 => ( ! [Y3: A,Ys3: list @ A] : ( P2 @ ( nil @ A ) @ ( cons @ A @ Y3 @ Ys3 ) )
% 2.77/1.76 => ( ! [X: A,Y3: A,Xs2: list @ A,Ys3: list @ A] :
% 2.77/1.76 ( ( ord_less @ A @ X @ Y3 )
% 2.77/1.76 => ( P2 @ ( cons @ A @ X @ Xs2 ) @ ( cons @ A @ Y3 @ Ys3 ) ) )
% 2.77/1.76 => ( ! [X: A,Y3: A,Xs2: list @ A,Ys3: list @ A] :
% 2.77/1.76 ( ~ ( ord_less @ A @ X @ Y3 )
% 2.77/1.76 => ( ~ ( ord_less @ A @ Y3 @ X )
% 2.77/1.76 => ( ( ord_lexordp @ A @ Xs2 @ Ys3 )
% 2.77/1.76 => ( ( P2 @ Xs2 @ Ys3 )
% 2.77/1.76 => ( P2 @ ( cons @ A @ X @ Xs2 ) @ ( cons @ A @ Y3 @ Ys3 ) ) ) ) ) )
% 2.77/1.76 => ( P2 @ X12 @ X23 ) ) ) ) ) ) ).
% 2.77/1.76
% 2.77/1.76 thf(fact_202_of__nat__0__less__iff,axiom,
% 2.77/1.76 ! [A: $tType] :
% 2.77/1.76 ( ( linord1659791738miring @ A )
% 2.77/1.76 => ! [N2: nat] :
% 2.77/1.76 ( ( ord_less @ A @ ( zero_zero @ A ) @ ( semiring_1_of_nat @ A @ N2 ) )
% 2.77/1.76 = ( ord_less @ nat @ ( zero_zero @ nat ) @ N2 ) ) ) ).
% 2.77/1.76
% 2.77/1.76 thf(fact_203_Suc__pred,axiom,
% 2.77/1.76 ! [N2: nat] :
% 2.77/1.76 ( ( ord_less @ nat @ ( zero_zero @ nat ) @ N2 )
% 2.77/1.76 => ( ( suc @ ( minus_minus @ nat @ N2 @ ( suc @ ( zero_zero @ nat ) ) ) )
% 2.77/1.76 = N2 ) ) ).
% 2.77/1.76
% 2.77/1.76 thf(fact_204_length__greater__0__conv,axiom,
% 2.77/1.76 ! [A: $tType,Xs: list @ A] :
% 2.77/1.76 ( ( ord_less @ nat @ ( zero_zero @ nat ) @ ( size_size @ ( list @ A ) @ Xs ) )
% 2.77/1.76 = ( Xs
% 2.77/1.76 != ( nil @ A ) ) ) ).
% 2.77/1.76
% 2.77/1.76 thf(fact_205_of__nat__eq__iff,axiom,
% 2.77/1.76 ! [A: $tType] :
% 2.77/1.76 ( ( semiring_char_0 @ A )
% 2.77/1.76 => ! [M2: nat,N2: nat] :
% 2.77/1.76 ( ( ( semiring_1_of_nat @ A @ M2 )
% 2.77/1.76 = ( semiring_1_of_nat @ A @ N2 ) )
% 2.77/1.76 = ( M2 = N2 ) ) ) ).
% 2.77/1.76
% 2.77/1.76 thf(fact_206_diff__self,axiom,
% 2.77/1.76 ! [A: $tType] :
% 2.77/1.76 ( ( group_add @ A )
% 2.77/1.76 => ! [A8: A] :
% 2.77/1.76 ( ( minus_minus @ A @ A8 @ A8 )
% 2.77/1.76 = ( zero_zero @ A ) ) ) ).
% 2.77/1.76
% 2.77/1.76 thf(fact_207_diff__0__right,axiom,
% 2.77/1.76 ! [A: $tType] :
% 2.77/1.76 ( ( group_add @ A )
% 2.77/1.76 => ! [A8: A] :
% 2.77/1.76 ( ( minus_minus @ A @ A8 @ ( zero_zero @ A ) )
% 2.77/1.76 = A8 ) ) ).
% 2.77/1.76
% 2.77/1.76 thf(fact_208_zero__diff,axiom,
% 2.77/1.76 ! [A: $tType] :
% 2.77/1.76 ( ( comm_monoid_diff @ A )
% 2.77/1.76 => ! [A8: A] :
% 2.77/1.76 ( ( minus_minus @ A @ ( zero_zero @ A ) @ A8 )
% 2.77/1.76 = ( zero_zero @ A ) ) ) ).
% 2.77/1.76
% 2.77/1.76 thf(fact_209_diff__zero,axiom,
% 2.77/1.76 ! [A: $tType] :
% 2.77/1.76 ( ( cancel1352612707id_add @ A )
% 2.77/1.76 => ! [A8: A] :
% 2.77/1.76 ( ( minus_minus @ A @ A8 @ ( zero_zero @ A ) )
% 2.77/1.76 = A8 ) ) ).
% 2.77/1.76
% 2.77/1.76 thf(fact_210_cancel__comm__monoid__add__class_Odiff__cancel,axiom,
% 2.77/1.76 ! [A: $tType] :
% 2.77/1.76 ( ( cancel1352612707id_add @ A )
% 2.77/1.76 => ! [A8: A] :
% 2.77/1.76 ( ( minus_minus @ A @ A8 @ A8 )
% 2.77/1.76 = ( zero_zero @ A ) ) ) ).
% 2.77/1.76
% 2.77/1.76 thf(fact_211_diff__0__eq__0,axiom,
% 2.77/1.76 ! [N2: nat] :
% 2.77/1.76 ( ( minus_minus @ nat @ ( zero_zero @ nat ) @ N2 )
% 2.77/1.76 = ( zero_zero @ nat ) ) ).
% 2.77/1.76
% 2.77/1.76 thf(fact_212_diff__self__eq__0,axiom,
% 2.77/1.76 ! [M2: nat] :
% 2.77/1.76 ( ( minus_minus @ nat @ M2 @ M2 )
% 2.77/1.76 = ( zero_zero @ nat ) ) ).
% 2.77/1.76
% 2.77/1.76 thf(fact_213_Suc__diff__diff,axiom,
% 2.77/1.76 ! [M2: nat,N2: nat,K: nat] :
% 2.77/1.76 ( ( minus_minus @ nat @ ( minus_minus @ nat @ ( suc @ M2 ) @ N2 ) @ ( suc @ K ) )
% 2.77/1.76 = ( minus_minus @ nat @ ( minus_minus @ nat @ M2 @ N2 ) @ K ) ) ).
% 2.77/1.76
% 2.77/1.76 thf(fact_214_diff__Suc__Suc,axiom,
% 2.77/1.76 ! [M2: nat,N2: nat] :
% 2.77/1.76 ( ( minus_minus @ nat @ ( suc @ M2 ) @ ( suc @ N2 ) )
% 2.77/1.76 = ( minus_minus @ nat @ M2 @ N2 ) ) ).
% 2.77/1.76
% 2.77/1.76 thf(fact_215_diff__gt__0__iff__gt,axiom,
% 2.77/1.76 ! [A: $tType] :
% 2.77/1.76 ( ( ordered_ab_group_add @ A )
% 2.77/1.76 => ! [A8: A,B2: A] :
% 2.77/1.76 ( ( ord_less @ A @ ( zero_zero @ A ) @ ( minus_minus @ A @ A8 @ B2 ) )
% 2.77/1.76 = ( ord_less @ A @ B2 @ A8 ) ) ) ).
% 2.77/1.76
% 2.77/1.76 thf(fact_216_of__nat__eq__0__iff,axiom,
% 2.77/1.76 ! [A: $tType] :
% 2.77/1.76 ( ( semiring_char_0 @ A )
% 2.77/1.76 => ! [M2: nat] :
% 2.77/1.76 ( ( ( semiring_1_of_nat @ A @ M2 )
% 2.77/1.76 = ( zero_zero @ A ) )
% 2.77/1.76 = ( M2
% 2.77/1.76 = ( zero_zero @ nat ) ) ) ) ).
% 2.77/1.76
% 2.77/1.76 thf(fact_217_of__nat__0__eq__iff,axiom,
% 2.77/1.76 ! [A: $tType] :
% 2.77/1.76 ( ( semiring_char_0 @ A )
% 2.77/1.76 => ! [N2: nat] :
% 2.77/1.76 ( ( ( zero_zero @ A )
% 2.77/1.76 = ( semiring_1_of_nat @ A @ N2 ) )
% 2.77/1.76 = ( ( zero_zero @ nat )
% 2.77/1.76 = N2 ) ) ) ).
% 2.77/1.76
% 2.77/1.76 thf(fact_218_of__nat__0,axiom,
% 2.77/1.76 ! [A: $tType] :
% 2.77/1.76 ( ( semiring_1 @ A )
% 2.77/1.76 => ( ( semiring_1_of_nat @ A @ ( zero_zero @ nat ) )
% 2.77/1.76 = ( zero_zero @ A ) ) ) ).
% 2.77/1.76
% 2.77/1.76 thf(fact_219_of__nat__less__iff,axiom,
% 2.77/1.76 ! [A: $tType] :
% 2.77/1.76 ( ( linord1659791738miring @ A )
% 2.77/1.76 => ! [M2: nat,N2: nat] :
% 2.77/1.76 ( ( ord_less @ A @ ( semiring_1_of_nat @ A @ M2 ) @ ( semiring_1_of_nat @ A @ N2 ) )
% 2.77/1.76 = ( ord_less @ nat @ M2 @ N2 ) ) ) ).
% 2.77/1.76
% 2.77/1.76 thf(fact_220_length__0__conv,axiom,
% 2.77/1.76 ! [A: $tType,Xs: list @ A] :
% 2.77/1.76 ( ( ( size_size @ ( list @ A ) @ Xs )
% 2.77/1.76 = ( zero_zero @ nat ) )
% 2.77/1.76 = ( Xs
% 2.77/1.76 = ( nil @ A ) ) ) ).
% 2.77/1.76
% 2.77/1.76 thf(fact_221_zero__less__diff,axiom,
% 2.77/1.76 ! [N2: nat,M2: nat] :
% 2.77/1.76 ( ( ord_less @ nat @ ( zero_zero @ nat ) @ ( minus_minus @ nat @ N2 @ M2 ) )
% 2.77/1.76 = ( ord_less @ nat @ M2 @ N2 ) ) ).
% 2.77/1.76
% 2.77/1.76 thf(fact_222_diff__strict__right__mono,axiom,
% 2.77/1.76 ! [A: $tType] :
% 2.77/1.76 ( ( ordered_ab_group_add @ A )
% 2.77/1.76 => ! [A8: A,B2: A,C: A] :
% 2.77/1.76 ( ( ord_less @ A @ A8 @ B2 )
% 2.77/1.76 => ( ord_less @ A @ ( minus_minus @ A @ A8 @ C ) @ ( minus_minus @ A @ B2 @ C ) ) ) ) ).
% 2.77/1.76
% 2.77/1.76 thf(fact_223_diff__strict__left__mono,axiom,
% 2.77/1.76 ! [A: $tType] :
% 2.77/1.76 ( ( ordered_ab_group_add @ A )
% 2.77/1.76 => ! [B2: A,A8: A,C: A] :
% 2.77/1.76 ( ( ord_less @ A @ B2 @ A8 )
% 2.77/1.76 => ( ord_less @ A @ ( minus_minus @ A @ C @ A8 ) @ ( minus_minus @ A @ C @ B2 ) ) ) ) ).
% 2.77/1.76
% 2.77/1.76 thf(fact_224_diff__eq__diff__less,axiom,
% 2.77/1.76 ! [A: $tType] :
% 2.77/1.76 ( ( ordered_ab_group_add @ A )
% 2.77/1.76 => ! [A8: A,B2: A,C: A,D: A] :
% 2.77/1.76 ( ( ( minus_minus @ A @ A8 @ B2 )
% 2.77/1.76 = ( minus_minus @ A @ C @ D ) )
% 2.77/1.76 => ( ( ord_less @ A @ A8 @ B2 )
% 2.77/1.76 = ( ord_less @ A @ C @ D ) ) ) ) ).
% 2.77/1.76
% 2.77/1.76 thf(fact_225_diff__strict__mono,axiom,
% 2.77/1.76 ! [A: $tType] :
% 2.77/1.76 ( ( ordered_ab_group_add @ A )
% 2.77/1.76 => ! [A8: A,B2: A,D: A,C: A] :
% 2.77/1.76 ( ( ord_less @ A @ A8 @ B2 )
% 2.77/1.76 => ( ( ord_less @ A @ D @ C )
% 2.77/1.76 => ( ord_less @ A @ ( minus_minus @ A @ A8 @ C ) @ ( minus_minus @ A @ B2 @ D ) ) ) ) ) ).
% 2.77/1.76
% 2.77/1.76 thf(fact_226_length__induct,axiom,
% 2.77/1.76 ! [A: $tType,P2: ( list @ A ) > $o,Xs: list @ A] :
% 2.77/1.76 ( ! [Xs2: list @ A] :
% 2.77/1.76 ( ! [Ys5: list @ A] :
% 2.77/1.76 ( ( ord_less @ nat @ ( size_size @ ( list @ A ) @ Ys5 ) @ ( size_size @ ( list @ A ) @ Xs2 ) )
% 2.77/1.76 => ( P2 @ Ys5 ) )
% 2.77/1.76 => ( P2 @ Xs2 ) )
% 2.77/1.76 => ( P2 @ Xs ) ) ).
% 2.77/1.76
% 2.77/1.76 thf(fact_227_diff__less,axiom,
% 2.77/1.76 ! [N2: nat,M2: nat] :
% 2.77/1.76 ( ( ord_less @ nat @ ( zero_zero @ nat ) @ N2 )
% 2.77/1.76 => ( ( ord_less @ nat @ ( zero_zero @ nat ) @ M2 )
% 2.77/1.76 => ( ord_less @ nat @ ( minus_minus @ nat @ M2 @ N2 ) @ M2 ) ) ) ).
% 2.77/1.76
% 2.77/1.76 thf(fact_228_of__nat__less__imp__less,axiom,
% 2.77/1.76 ! [A: $tType] :
% 2.77/1.76 ( ( linord1659791738miring @ A )
% 2.77/1.76 => ! [M2: nat,N2: nat] :
% 2.77/1.76 ( ( ord_less @ A @ ( semiring_1_of_nat @ A @ M2 ) @ ( semiring_1_of_nat @ A @ N2 ) )
% 2.77/1.76 => ( ord_less @ nat @ M2 @ N2 ) ) ) ).
% 2.77/1.76
% 2.77/1.76 thf(fact_229_less__imp__of__nat__less,axiom,
% 2.77/1.76 ! [A: $tType] :
% 2.77/1.76 ( ( linord1659791738miring @ A )
% 2.77/1.76 => ! [M2: nat,N2: nat] :
% 2.77/1.76 ( ( ord_less @ nat @ M2 @ N2 )
% 2.77/1.76 => ( ord_less @ A @ ( semiring_1_of_nat @ A @ M2 ) @ ( semiring_1_of_nat @ A @ N2 ) ) ) ) ).
% 2.77/1.76
% 2.77/1.76 thf(fact_230_less__imp__diff__less,axiom,
% 2.77/1.76 ! [J2: nat,K: nat,N2: nat] :
% 2.77/1.76 ( ( ord_less @ nat @ J2 @ K )
% 2.77/1.76 => ( ord_less @ nat @ ( minus_minus @ nat @ J2 @ N2 ) @ K ) ) ).
% 2.77/1.76
% 2.77/1.76 thf(fact_231_diff__less__mono2,axiom,
% 2.77/1.76 ! [M2: nat,N2: nat,L: nat] :
% 2.77/1.76 ( ( ord_less @ nat @ M2 @ N2 )
% 2.77/1.76 => ( ( ord_less @ nat @ M2 @ L )
% 2.77/1.76 => ( ord_less @ nat @ ( minus_minus @ nat @ L @ N2 ) @ ( minus_minus @ nat @ L @ M2 ) ) ) ) ).
% 2.77/1.76
% 2.77/1.76 thf(fact_232_Suc__diff__Suc,axiom,
% 2.77/1.76 ! [N2: nat,M2: nat] :
% 2.77/1.76 ( ( ord_less @ nat @ N2 @ M2 )
% 2.77/1.76 => ( ( suc @ ( minus_minus @ nat @ M2 @ ( suc @ N2 ) ) )
% 2.77/1.76 = ( minus_minus @ nat @ M2 @ N2 ) ) ) ).
% 2.77/1.76
% 2.77/1.76 thf(fact_233_diff__less__Suc,axiom,
% 2.77/1.76 ! [M2: nat,N2: nat] : ( ord_less @ nat @ ( minus_minus @ nat @ M2 @ N2 ) @ ( suc @ M2 ) ) ).
% 2.77/1.76
% 2.77/1.76 thf(fact_234_of__nat__less__0__iff,axiom,
% 2.77/1.76 ! [A: $tType] :
% 2.77/1.76 ( ( linord1659791738miring @ A )
% 2.77/1.76 => ! [M2: nat] :
% 2.77/1.76 ~ ( ord_less @ A @ ( semiring_1_of_nat @ A @ M2 ) @ ( zero_zero @ A ) ) ) ).
% 2.77/1.76
% 2.77/1.76 thf(fact_235_less__iff__diff__less__0,axiom,
% 2.77/1.76 ! [A: $tType] :
% 2.77/1.76 ( ( ordered_ab_group_add @ A )
% 2.77/1.76 => ( ( ord_less @ A )
% 2.77/1.76 = ( ^ [A9: A,B3: A] : ( ord_less @ A @ ( minus_minus @ A @ A9 @ B3 ) @ ( zero_zero @ A ) ) ) ) ) ).
% 2.77/1.76
% 2.77/1.76 thf(fact_236_of__nat__neq__0,axiom,
% 2.77/1.76 ! [A: $tType] :
% 2.77/1.76 ( ( semiring_char_0 @ A )
% 2.77/1.76 => ! [N2: nat] :
% 2.77/1.76 ( ( semiring_1_of_nat @ A @ ( suc @ N2 ) )
% 2.77/1.76 != ( zero_zero @ A ) ) ) ).
% 2.77/1.76
% 2.77/1.76 thf(fact_237_length__Suc__conv,axiom,
% 2.77/1.76 ! [A: $tType,Xs: list @ A,N2: nat] :
% 2.77/1.76 ( ( ( size_size @ ( list @ A ) @ Xs )
% 2.77/1.76 = ( suc @ N2 ) )
% 2.77/1.76 = ( ? [Y2: A,Ys: list @ A] :
% 2.77/1.76 ( ( Xs
% 2.77/1.76 = ( cons @ A @ Y2 @ Ys ) )
% 2.77/1.76 & ( ( size_size @ ( list @ A ) @ Ys )
% 2.77/1.76 = N2 ) ) ) ) ).
% 2.77/1.76
% 2.77/1.76 thf(fact_238_Suc__length__conv,axiom,
% 2.77/1.76 ! [A: $tType,N2: nat,Xs: list @ A] :
% 2.77/1.76 ( ( ( suc @ N2 )
% 2.77/1.76 = ( size_size @ ( list @ A ) @ Xs ) )
% 2.77/1.76 = ( ? [Y2: A,Ys: list @ A] :
% 2.77/1.76 ( ( Xs
% 2.77/1.76 = ( cons @ A @ Y2 @ Ys ) )
% 2.77/1.76 & ( ( size_size @ ( list @ A ) @ Ys )
% 2.77/1.76 = N2 ) ) ) ) ).
% 2.77/1.76
% 2.77/1.76 thf(fact_239_list_Osize_I3_J,axiom,
% 2.77/1.76 ! [A: $tType] :
% 2.77/1.76 ( ( size_size @ ( list @ A ) @ ( nil @ A ) )
% 2.77/1.76 = ( zero_zero @ nat ) ) ).
% 2.77/1.76
% 2.77/1.76 thf(fact_240_list__induct2,axiom,
% 2.77/1.76 ! [A: $tType,B: $tType,Xs: list @ A,Ys2: list @ B,P2: ( list @ A ) > ( list @ B ) > $o] :
% 2.77/1.76 ( ( ( size_size @ ( list @ A ) @ Xs )
% 2.77/1.76 = ( size_size @ ( list @ B ) @ Ys2 ) )
% 2.77/1.76 => ( ( P2 @ ( nil @ A ) @ ( nil @ B ) )
% 2.77/1.76 => ( ! [X: A,Xs2: list @ A,Y3: B,Ys3: list @ B] :
% 2.77/1.76 ( ( ( size_size @ ( list @ A ) @ Xs2 )
% 2.77/1.76 = ( size_size @ ( list @ B ) @ Ys3 ) )
% 2.77/1.76 => ( ( P2 @ Xs2 @ Ys3 )
% 2.77/1.76 => ( P2 @ ( cons @ A @ X @ Xs2 ) @ ( cons @ B @ Y3 @ Ys3 ) ) ) )
% 2.77/1.76 => ( P2 @ Xs @ Ys2 ) ) ) ) ).
% 2.77/1.76
% 2.77/1.76 thf(fact_241_list__induct3,axiom,
% 2.77/1.76 ! [B: $tType,A: $tType,C2: $tType,Xs: list @ A,Ys2: list @ B,Zs2: list @ C2,P2: ( list @ A ) > ( list @ B ) > ( list @ C2 ) > $o] :
% 2.77/1.76 ( ( ( size_size @ ( list @ A ) @ Xs )
% 2.77/1.76 = ( size_size @ ( list @ B ) @ Ys2 ) )
% 2.77/1.76 => ( ( ( size_size @ ( list @ B ) @ Ys2 )
% 2.77/1.76 = ( size_size @ ( list @ C2 ) @ Zs2 ) )
% 2.77/1.76 => ( ( P2 @ ( nil @ A ) @ ( nil @ B ) @ ( nil @ C2 ) )
% 2.77/1.76 => ( ! [X: A,Xs2: list @ A,Y3: B,Ys3: list @ B,Z: C2,Zs: list @ C2] :
% 2.77/1.76 ( ( ( size_size @ ( list @ A ) @ Xs2 )
% 2.77/1.76 = ( size_size @ ( list @ B ) @ Ys3 ) )
% 2.77/1.76 => ( ( ( size_size @ ( list @ B ) @ Ys3 )
% 2.77/1.76 = ( size_size @ ( list @ C2 ) @ Zs ) )
% 2.77/1.76 => ( ( P2 @ Xs2 @ Ys3 @ Zs )
% 2.77/1.76 => ( P2 @ ( cons @ A @ X @ Xs2 ) @ ( cons @ B @ Y3 @ Ys3 ) @ ( cons @ C2 @ Z @ Zs ) ) ) ) )
% 2.77/1.76 => ( P2 @ Xs @ Ys2 @ Zs2 ) ) ) ) ) ).
% 2.77/1.76
% 2.77/1.76 thf(fact_242_eq__iff__diff__eq__0,axiom,
% 2.77/1.76 ! [A: $tType] :
% 2.77/1.76 ( ( group_add @ A )
% 2.77/1.76 => ( ( ^ [Y5: A,Z2: A] : ( Y5 = Z2 ) )
% 2.77/1.76 = ( ^ [A9: A,B3: A] :
% 2.77/1.76 ( ( minus_minus @ A @ A9 @ B3 )
% 2.77/1.76 = ( zero_zero @ A ) ) ) ) ) ).
% 2.77/1.76
% 2.77/1.76 thf(fact_243_minus__nat_Odiff__0,axiom,
% 2.77/1.76 ! [M2: nat] :
% 2.77/1.76 ( ( minus_minus @ nat @ M2 @ ( zero_zero @ nat ) )
% 2.77/1.76 = M2 ) ).
% 2.77/1.76
% 2.77/1.76 thf(fact_244_diffs0__imp__equal,axiom,
% 2.77/1.76 ! [M2: nat,N2: nat] :
% 2.77/1.76 ( ( ( minus_minus @ nat @ M2 @ N2 )
% 2.77/1.76 = ( zero_zero @ nat ) )
% 2.77/1.76 => ( ( ( minus_minus @ nat @ N2 @ M2 )
% 2.77/1.76 = ( zero_zero @ nat ) )
% 2.77/1.76 => ( M2 = N2 ) ) ) ).
% 2.77/1.76
% 2.77/1.76 thf(fact_245_zero__induct__lemma,axiom,
% 2.77/1.76 ! [P2: nat > $o,K: nat,I: nat] :
% 2.77/1.76 ( ( P2 @ K )
% 2.77/1.76 => ( ! [N: nat] :
% 2.77/1.76 ( ( P2 @ ( suc @ N ) )
% 2.77/1.76 => ( P2 @ N ) )
% 2.77/1.76 => ( P2 @ ( minus_minus @ nat @ K @ I ) ) ) ) ).
% 2.77/1.76
% 2.77/1.76 thf(fact_246_size__neq__size__imp__neq,axiom,
% 2.77/1.76 ! [A: $tType] :
% 2.77/1.76 ( ( size @ A )
% 2.77/1.76 => ! [X3: A,Y: A] :
% 2.77/1.76 ( ( ( size_size @ A @ X3 )
% 2.77/1.76 != ( size_size @ A @ Y ) )
% 2.77/1.76 => ( X3 != Y ) ) ) ).
% 2.77/1.76
% 2.77/1.76 thf(fact_247_diff__right__commute,axiom,
% 2.77/1.76 ! [A: $tType] :
% 2.77/1.76 ( ( cancel146912293up_add @ A )
% 2.77/1.76 => ! [A8: A,C: A,B2: A] :
% 2.77/1.76 ( ( minus_minus @ A @ ( minus_minus @ A @ A8 @ C ) @ B2 )
% 2.77/1.76 = ( minus_minus @ A @ ( minus_minus @ A @ A8 @ B2 ) @ C ) ) ) ).
% 2.77/1.76
% 2.77/1.76 thf(fact_248_diff__eq__diff__eq,axiom,
% 2.77/1.76 ! [A: $tType] :
% 2.77/1.76 ( ( group_add @ A )
% 2.77/1.76 => ! [A8: A,B2: A,C: A,D: A] :
% 2.77/1.76 ( ( ( minus_minus @ A @ A8 @ B2 )
% 2.77/1.76 = ( minus_minus @ A @ C @ D ) )
% 2.77/1.76 => ( ( A8 = B2 )
% 2.77/1.76 = ( C = D ) ) ) ) ).
% 2.77/1.76
% 2.77/1.76 thf(fact_249_neq__if__length__neq,axiom,
% 2.77/1.76 ! [A: $tType,Xs: list @ A,Ys2: list @ A] :
% 2.77/1.76 ( ( ( size_size @ ( list @ A ) @ Xs )
% 2.77/1.76 != ( size_size @ ( list @ A ) @ Ys2 ) )
% 2.77/1.76 => ( Xs != Ys2 ) ) ).
% 2.77/1.76
% 2.77/1.76 thf(fact_250_Ex__list__of__length,axiom,
% 2.77/1.76 ! [A: $tType,N2: nat] :
% 2.77/1.76 ? [Xs2: list @ A] :
% 2.77/1.76 ( ( size_size @ ( list @ A ) @ Xs2 )
% 2.77/1.76 = N2 ) ).
% 2.77/1.76
% 2.77/1.76 thf(fact_251_diff__commute,axiom,
% 2.77/1.76 ! [I: nat,J2: nat,K: nat] :
% 2.77/1.76 ( ( minus_minus @ nat @ ( minus_minus @ nat @ I @ J2 ) @ K )
% 2.77/1.76 = ( minus_minus @ nat @ ( minus_minus @ nat @ I @ K ) @ J2 ) ) ).
% 2.77/1.76
% 2.77/1.76 thf(tcon_fun___Orderings_Oorder,axiom,
% 2.77/1.76 ! [A10: $tType,A11: $tType] :
% 2.77/1.76 ( ( order @ A11 )
% 2.77/1.76 => ( order @ ( A10 > A11 ) ) ) ).
% 2.77/1.76
% 2.77/1.76 thf(tcon_fun___Orderings_Oord,axiom,
% 2.77/1.76 ! [A10: $tType,A11: $tType] :
% 2.77/1.76 ( ( ord @ A11 )
% 2.77/1.76 => ( ord @ ( A10 > A11 ) ) ) ).
% 2.77/1.76
% 2.77/1.76 thf(tcon_Nat_Onat___Groups_Ocanonically__ordered__monoid__add,axiom,
% 2.77/1.76 canoni770627133id_add @ nat ).
% 2.77/1.76
% 2.77/1.76 thf(tcon_Nat_Onat___Rings_Olinordered__nonzero__semiring,axiom,
% 2.77/1.76 linord1659791738miring @ nat ).
% 2.77/1.76
% 2.77/1.76 thf(tcon_Nat_Onat___Groups_Ocancel__ab__semigroup__add,axiom,
% 2.77/1.76 cancel146912293up_add @ nat ).
% 2.77/1.76
% 2.77/1.76 thf(tcon_Nat_Onat___Groups_Ocancel__comm__monoid__add,axiom,
% 2.77/1.76 cancel1352612707id_add @ nat ).
% 2.77/1.76
% 2.77/1.76 thf(tcon_Nat_Onat___Groups_Ocomm__monoid__diff,axiom,
% 2.77/1.76 comm_monoid_diff @ nat ).
% 2.77/1.76
% 2.77/1.76 thf(tcon_Nat_Onat___Orderings_Owellorder,axiom,
% 2.77/1.76 wellorder @ nat ).
% 2.77/1.76
% 2.77/1.76 thf(tcon_Nat_Onat___Nat_Osemiring__char__0,axiom,
% 2.77/1.76 semiring_char_0 @ nat ).
% 2.77/1.76
% 2.77/1.76 thf(tcon_Nat_Onat___Orderings_Olinorder,axiom,
% 2.77/1.76 linorder @ nat ).
% 2.77/1.76
% 2.77/1.76 thf(tcon_Nat_Onat___Rings_Osemiring__1,axiom,
% 2.77/1.76 semiring_1 @ nat ).
% 2.77/1.76
% 2.77/1.76 thf(tcon_Nat_Onat___Orderings_Oorder_1,axiom,
% 2.77/1.76 order @ nat ).
% 2.77/1.76
% 2.77/1.76 thf(tcon_Nat_Onat___Orderings_Oord_2,axiom,
% 2.77/1.76 ord @ nat ).
% 2.77/1.76
% 2.77/1.76 thf(tcon_Nat_Onat___Groups_Ozero,axiom,
% 2.77/1.76 zero @ nat ).
% 2.77/1.76
% 2.77/1.76 thf(tcon_Nat_Onat___Nat_Osize,axiom,
% 2.77/1.76 size @ nat ).
% 2.77/1.76
% 2.77/1.76 thf(tcon_Set_Oset___Orderings_Oorder_3,axiom,
% 2.77/1.76 ! [A10: $tType] : ( order @ ( set @ A10 ) ) ).
% 2.77/1.76
% 2.77/1.76 thf(tcon_Set_Oset___Orderings_Oord_4,axiom,
% 2.77/1.76 ! [A10: $tType] : ( ord @ ( set @ A10 ) ) ).
% 2.77/1.76
% 2.77/1.76 thf(tcon_HOL_Obool___Orderings_Olinorder_5,axiom,
% 2.77/1.76 linorder @ $o ).
% 2.77/1.76
% 2.77/1.76 thf(tcon_HOL_Obool___Orderings_Oorder_6,axiom,
% 2.77/1.76 order @ $o ).
% 2.77/1.76
% 2.77/1.76 thf(tcon_HOL_Obool___Orderings_Oord_7,axiom,
% 2.77/1.76 ord @ $o ).
% 2.77/1.76
% 2.77/1.76 thf(tcon_List_Olist___Nat_Osize_8,axiom,
% 2.77/1.76 ! [A10: $tType] : ( size @ ( list @ A10 ) ) ).
% 2.77/1.76
% 2.77/1.76 thf(tcon_Product__Type_Ounit___Orderings_Owellorder_9,axiom,
% 2.77/1.76 wellorder @ product_unit ).
% 2.77/1.76
% 2.77/1.76 thf(tcon_Product__Type_Ounit___Orderings_Olinorder_10,axiom,
% 2.77/1.76 linorder @ product_unit ).
% 2.77/1.76
% 2.77/1.76 thf(tcon_Product__Type_Ounit___Orderings_Oorder_11,axiom,
% 2.77/1.76 order @ product_unit ).
% 2.77/1.76
% 2.77/1.76 thf(tcon_Product__Type_Ounit___Orderings_Oord_12,axiom,
% 2.77/1.76 ord @ product_unit ).
% 2.77/1.76
% 2.77/1.76 thf(tcon_AsynchronousSystem_Omessage___Nat_Osize_13,axiom,
% 2.77/1.76 ! [A10: $tType,A11: $tType] : ( size @ ( message @ A10 @ A11 ) ) ).
% 2.77/1.76
% 2.77/1.76 thf(conj_0,conjecture,
% 2.77/1.76 ( ( fe @ ( zero_zero @ nat ) )
% 2.77/1.76 = ( cons @ ( configuration_ext @ p @ v @ s @ product_unit ) @ cfg @ ( nil @ ( configuration_ext @ p @ v @ s @ product_unit ) ) ) ) ).
% 2.77/1.76 ------------------------
% 2.85/1.80 % (11879)lrs+1002_1:8_bd=off:fd=off:hud=10:tnu=1:i=183:si=on:rtra=on_0 on DTF2THF_11637 for (2999ds/183Mi)
% 2.85/1.80 % (11880)lrs+10_1:1_c=on:cnfonf=conj_eager:fd=off:fe=off:kws=frequency:spb=intro:i=4:si=on:rtra=on_0 on DTF2THF_11637 for (2999ds/4Mi)
% 2.85/1.80 % (11885)lrs+1004_1:128_cond=on:e2e=on:sp=weighted_frequency:i=18:si=on:rtra=on_0 on DTF2THF_11637 for (2999ds/18Mi)
% 2.85/1.80 % (11884)lrs+1002_1:1_au=on:bd=off:e2e=on:sd=2:sos=on:ss=axioms:i=275:si=on:rtra=on_0 on DTF2THF_11637 for (2999ds/275Mi)
% 2.85/1.80 % (11880)Instruction limit reached!
% 2.85/1.80 % (11880)------------------------------
% 2.85/1.80 % (11880)Version: Vampire 4.8 (commit 7b44b1c2f on 2025-07-15 09:50:17 +0100)
% 2.85/1.80 % (11880)Termination reason: Unknown
% 2.85/1.80 % (11880)Termination phase: shuffling
% 2.85/1.80
% 2.85/1.80 % (11880)Memory used [KB]: 1407
% 2.85/1.80 % (11880)Time elapsed: 0.003 s
% 2.85/1.80 % (11880)Instructions burned: 5 (million)
% 2.85/1.80 % (11880)------------------------------
% 2.85/1.80 % (11880)------------------------------
% 2.85/1.81 % (11885)Instruction limit reached!
% 2.85/1.81 % (11885)------------------------------
% 2.85/1.81 % (11885)Version: Vampire 4.8 (commit 7b44b1c2f on 2025-07-15 09:50:17 +0100)
% 2.85/1.81 % (11885)Termination reason: Unknown
% 2.85/1.81 % (11885)Termination phase: shuffling
% 2.85/1.81
% 2.85/1.81 % (11885)Memory used [KB]: 1791
% 2.85/1.81 % (11885)Time elapsed: 0.008 s
% 2.85/1.81 % (11885)Instructions burned: 20 (million)
% 2.85/1.81 % (11885)------------------------------
% 2.85/1.81 % (11885)------------------------------
% 2.85/1.81 % (11881)dis+1010_1:1_au=on:cbe=off:chr=on:fsr=off:hfsq=on:nm=64:sos=theory:sp=weighted_frequency:i=27:si=on:rtra=on_0 on DTF2THF_11637 for (2999ds/27Mi)
% 2.85/1.81 % (11882)lrs+10_1:1_au=on:inj=on:i=2:si=on:rtra=on_0 on DTF2THF_11637 for (2999ds/2Mi)
% 2.85/1.81 % (11883)lrs+1002_1:128_aac=none:au=on:cnfonf=lazy_not_gen_be_off:sos=all:i=2:si=on:rtra=on_0 on DTF2THF_11637 for (2999ds/2Mi)
% 2.85/1.81 % (11882)Instruction limit reached!
% 2.85/1.81 % (11882)------------------------------
% 2.85/1.81 % (11882)Version: Vampire 4.8 (commit 7b44b1c2f on 2025-07-15 09:50:17 +0100)
% 2.85/1.81 % (11882)Termination reason: Unknown
% 2.85/1.81 % (11882)Termination phase: shuffling
% 2.85/1.81
% 2.85/1.81 % (11882)Memory used [KB]: 1407
% 2.85/1.81 % (11882)Time elapsed: 0.004 s
% 2.85/1.81 % (11882)Instructions burned: 3 (million)
% 2.85/1.81 % (11882)------------------------------
% 2.85/1.81 % (11882)------------------------------
% 2.85/1.81 % (11883)Instruction limit reached!
% 2.85/1.81 % (11883)------------------------------
% 2.85/1.81 % (11883)Version: Vampire 4.8 (commit 7b44b1c2f on 2025-07-15 09:50:17 +0100)
% 2.85/1.81 % (11883)Termination reason: Unknown
% 2.85/1.81 % (11883)Termination phase: shuffling
% 2.85/1.81
% 2.85/1.81 % (11883)Memory used [KB]: 1407
% 2.85/1.81 % (11883)Time elapsed: 0.004 s
% 2.85/1.81 % (11883)Instructions burned: 3 (million)
% 2.85/1.81 % (11883)------------------------------
% 2.85/1.81 % (11883)------------------------------
% 2.85/1.81 % (11888)lrs+10_1:1_bet=on:cnfonf=off:fd=off:hud=5:inj=on:i=3:si=on:rtra=on_0 on DTF2THF_11637 for (2999ds/3Mi)
% 2.85/1.81 % (11888)Instruction limit reached!
% 2.85/1.81 % (11888)------------------------------
% 2.85/1.81 % (11888)Version: Vampire 4.8 (commit 7b44b1c2f on 2025-07-15 09:50:17 +0100)
% 2.85/1.81 % (11888)Termination reason: Unknown
% 2.85/1.81 % (11888)Termination phase: shuffling
% 2.85/1.81
% 2.85/1.81 % (11888)Memory used [KB]: 1407
% 2.85/1.81 % (11888)Time elapsed: 0.002 s
% 2.85/1.81 % (11888)Instructions burned: 3 (million)
% 2.85/1.81 % (11888)------------------------------
% 2.85/1.81 % (11888)------------------------------
% 2.85/1.81 % (11889)lrs+1002_1:1_cnfonf=lazy_not_be_gen:hud=14:prag=on:sp=weighted_frequency:tnu=1:i=37:si=on:rtra=on_0 on DTF2THF_11637 for (2999ds/37Mi)
% 2.85/1.82 % (11892)lrs+1002_1:1_aac=none:au=on:cnfonf=lazy_gen:plsq=on:plsqc=1:plsqr=4203469,65536:i=1041:si=on:rtra=on_0 on DTF2THF_11637 for (2999ds/1041Mi)
% 2.85/1.82 % (11881)Instruction limit reached!
% 2.85/1.82 % (11881)------------------------------
% 2.85/1.82 % (11881)Version: Vampire 4.8 (commit 7b44b1c2f on 2025-07-15 09:50:17 +0100)
% 2.85/1.82 % (11881)Termination reason: Unknown
% 2.85/1.82 % (11881)Termination phase: shuffling
% 2.85/1.82
% 2.85/1.82 % (11881)Memory used [KB]: 1918
% 2.85/1.82 % (11881)Time elapsed: 0.019 s
% 2.85/1.82 % (11881)Instructions burned: 27 (million)
% 2.85/1.82 % (11881)------------------------------
% 2.85/1.82 % (11881)------------------------------
% 2.85/1.83 % (11890)lrs+2_16:1_acc=model:au=on:bd=off:c=on:e2e=on:nm=2:sos=all:i=15:si=on:rtra=on_0 on DTF2THF_11637 for (2999ds/15Mi)
% 2.85/1.83 % (11889)Instruction limit reached!
% 2.85/1.83 % (11889)------------------------------
% 2.85/1.83 % (11889)Version: Vampire 4.8 (commit 7b44b1c2f on 2025-07-15 09:50:17 +0100)
% 2.85/1.83 % (11891)dis+21_1:1_cbe=off:cnfonf=off:fs=off:fsr=off:hud=1:inj=on:i=3:si=on:rtra=on_0 on DTF2THF_11637 for (2999ds/3Mi)
% 2.85/1.83 % (11889)Termination reason: Unknown
% 2.85/1.83 % (11889)Termination phase: shuffling
% 2.85/1.83
% 2.85/1.83 % (11889)Memory used [KB]: 2174
% 2.85/1.83 % (11889)Time elapsed: 0.012 s
% 2.85/1.83 % (11889)Instructions burned: 40 (million)
% 2.85/1.83 % (11889)------------------------------
% 2.85/1.83 % (11889)------------------------------
% 2.85/1.83 % (11891)Instruction limit reached!
% 2.85/1.83 % (11891)------------------------------
% 2.85/1.83 % (11891)Version: Vampire 4.8 (commit 7b44b1c2f on 2025-07-15 09:50:17 +0100)
% 2.85/1.83 % (11891)Termination reason: Unknown
% 2.85/1.83 % (11891)Termination phase: shuffling
% 2.85/1.83
% 2.85/1.83 % (11891)Memory used [KB]: 1407
% 2.85/1.83 % (11891)Time elapsed: 0.004 s
% 2.85/1.83 % (11891)Instructions burned: 4 (million)
% 2.85/1.83 % (11891)------------------------------
% 2.85/1.83 % (11891)------------------------------
% 2.85/1.83 % (11890)Instruction limit reached!
% 2.85/1.83 % (11890)------------------------------
% 2.85/1.83 % (11890)Version: Vampire 4.8 (commit 7b44b1c2f on 2025-07-15 09:50:17 +0100)
% 2.85/1.83 % (11890)Termination reason: Unknown
% 2.85/1.83 % (11890)Termination phase: shuffling
% 2.85/1.83
% 2.85/1.83 % (11890)Memory used [KB]: 1663
% 2.85/1.83 % (11890)Time elapsed: 0.011 s
% 2.85/1.83 % (11890)Instructions burned: 15 (million)
% 2.85/1.83 % (11890)------------------------------
% 2.85/1.83 % (11890)------------------------------
% 2.85/1.84 % (11908)lrs+10_1:1_acc=on:amm=sco:cs=on:tgt=full:i=16:si=on:rtra=on_0 on DTF2THF_11637 for (2999ds/16Mi)
% 2.85/1.84 % (11884)First to succeed.
% 2.85/1.84 % (11884)Refutation found. Thanks to Tanya!
% 2.85/1.84 % SZS status Theorem for DTF2THF_11637
% 2.85/1.84 % SZS output start Proof for DTF2THF_11637
% 2.85/1.84 thf(type_def_5, type, messageValue: ($tType) > $tType).
% 2.85/1.84 thf(type_def_6, type, message: ($tType * $tType) > $tType).
% 2.85/1.84 thf(type_def_7, type, nat: $tType).
% 2.85/1.84 thf(type_def_9, type, product_unit: $tType).
% 2.85/1.84 thf(type_def_10, type, configuration_ext: ($tType * $tType * $tType * $tType) > $tType).
% 2.85/1.84 thf(type_def_11, type, list: ($tType) > $tType).
% 2.85/1.84 thf(type_def_12, type, set: ($tType) > $tType).
% 2.85/1.84 thf(type_def_13, type, p: $tType).
% 2.85/1.84 thf(type_def_14, type, v: $tType).
% 2.85/1.84 thf(type_def_15, type, s: $tType).
% 2.85/1.84 thf(func_def_0, type, configuration_ext: ($tType * $tType * $tType * $tType) > $tType).
% 2.85/1.84 thf(func_def_1, type, messageValue: ($tType) > $tType).
% 2.85/1.84 thf(func_def_2, type, message: ($tType * $tType) > $tType).
% 2.85/1.84 thf(func_def_3, type, product_unit: $tType).
% 2.85/1.84 thf(func_def_4, type, list: ($tType) > $tType).
% 2.85/1.84 thf(func_def_5, type, set: ($tType) > $tType).
% 2.85/1.84 thf(func_def_6, type, nat: $tType).
% 2.85/1.84 thf(func_def_7, type, v: $tType).
% 2.85/1.84 thf(func_def_8, type, s: $tType).
% 2.85/1.84 thf(func_def_9, type, p: $tType).
% 2.85/1.84 thf(func_def_10, type, type: !>[X0: $tType]:($o)).
% 2.85/1.84 thf(func_def_11, type, size: !>[X0: $tType]:($o)).
% 2.85/1.84 thf(func_def_12, type, zero: !>[X0: $tType]:($o)).
% 2.85/1.84 thf(func_def_13, type, ord: !>[X0: $tType]:($o)).
% 2.85/1.84 thf(func_def_14, type, order: !>[X0: $tType]:($o)).
% 2.85/1.84 thf(func_def_15, type, group_add: !>[X0: $tType]:($o)).
% 2.85/1.84 thf(func_def_16, type, semiring_1: !>[X0: $tType]:($o)).
% 2.85/1.84 thf(func_def_17, type, linorder: !>[X0: $tType]:($o)).
% 2.85/1.84 thf(func_def_18, type, semiring_char_0: !>[X0: $tType]:($o)).
% 2.85/1.84 thf(func_def_19, type, wellorder: !>[X0: $tType]:($o)).
% 2.85/1.84 thf(func_def_20, type, comm_monoid_diff: !>[X0: $tType]:($o)).
% 2.85/1.84 thf(func_def_21, type, ordered_ab_group_add: !>[X0: $tType]:($o)).
% 2.85/1.84 thf(func_def_22, type, cancel1352612707id_add: !>[X0: $tType]:($o)).
% 2.85/1.84 thf(func_def_23, type, cancel146912293up_add: !>[X0: $tType]:($o)).
% 2.85/1.84 thf(func_def_24, type, linord1659791738miring: !>[X0: $tType]:($o)).
% 2.85/1.84 thf(func_def_25, type, canoni770627133id_add: !>[X0: $tType]:($o)).
% 2.85/1.84 thf(func_def_26, type, flpSystem: !>[X0: $tType, X1: $tType, X2: $tType]:((X0 > X1 > messageValue @ X2 > message @ X0 @ X2 > nat) > $o)).
% 2.85/1.84 thf(func_def_27, type, fLPThe1922692578sensus: !>[X0: $tType, X1: $tType, X2: $tType]:((X0 > X1 > messageValue @ X2 > X1) > (X0 > X1 > messageValue @ X2 > message @ X0 @ X2 > nat) > (X0 > X1) > $o)).
% 2.85/1.84 thf(func_def_28, type, fLPThe137922386ionCfg: !>[X0: $tType, X1: $tType, X2: $tType]:(configuration_ext @ X0 @ X1 @ X2 @ product_unit > (list @ configuration_ext @ X0 @ X1 @ X2 @ product_unit > list @ message @ X0 @ X1 > list @ configuration_ext @ X0 @ X1 @ X2 @ product_unit) > (list @ configuration_ext @ X0 @ X1 @ X2 @ product_unit > list @ message @ X0 @ X1 > list @ message @ X0 @ X1) > nat > list @ configuration_ext @ X0 @ X1 @ X2 @ product_unit)).
% 2.85/1.84 thf(func_def_29, type, fLPThe221390223ionMsg: !>[X0: $tType, X1: $tType, X2: $tType]:(configuration_ext @ X0 @ X1 @ X2 @ product_unit > (list @ configuration_ext @ X0 @ X1 @ X2 @ product_unit > list @ message @ X0 @ X1 > list @ configuration_ext @ X0 @ X1 @ X2 @ product_unit) > (list @ configuration_ext @ X0 @ X1 @ X2 @ product_unit > list @ message @ X0 @ X1 > list @ message @ X0 @ X1) > nat > list @ message @ X0 @ X1)).
% 2.85/1.84 thf(func_def_30, type, fLPThe128449925axioms: !>[X0: $tType, X1: $tType, X2: $tType]:((X0 > X1 > messageValue @ X2 > X1) > (X0 > X1 > messageValue @ X2 > message @ X0 @ X2 > nat) > (X0 > X1) > $o)).
% 2.85/1.84 thf(func_def_31, type, minus_minus: !>[X0: $tType]:(X0 > X0 > X0)).
% 2.85/1.84 thf(func_def_32, type, zero_zero: !>[X0: $tType]:(X0)).
% 2.85/1.84 thf(func_def_33, type, arg_min_list: !>[X0: $tType, X1: $tType]:((X0 > X1) > list @ X0 > X0)).
% 2.85/1.84 thf(func_def_34, type, bind: !>[X0: $tType, X1: $tType]:(list @ X0 > (X0 > list @ X1) > list @ X1)).
% 2.85/1.84 thf(func_def_35, type, count_list: !>[X0: $tType]:(list @ X0 > X0 > nat)).
% 2.85/1.84 thf(func_def_36, type, gen_length: !>[X0: $tType]:(nat > list @ X0 > nat)).
% 2.85/1.84 thf(func_def_37, type, insert: !>[X0: $tType]:(X0 > list @ X0 > list @ X0)).
% 2.85/1.84 thf(func_def_38, type, cons: !>[X0: $tType]:(X0 > list @ X0 > list @ X0)).
% 2.85/1.84 thf(func_def_39, type, nil: !>[X0: $tType]:(list @ X0)).
% 2.85/1.84 thf(func_def_40, type, list_ex1: !>[X0: $tType]:((X0 > $o) > list @ X0 > $o)).
% 2.85/1.84 thf(func_def_41, type, listrelp: !>[X0: $tType, X1: $tType]:((X0 > X1 > $o) > list @ X0 > list @ X1 > $o)).
% 2.85/1.84 thf(func_def_42, type, map_tailrec_rev: !>[X0: $tType, X1: $tType]:((X0 > X1) > list @ X0 > list @ X1 > list @ X1)).
% 2.85/1.84 thf(func_def_43, type, member: !>[X0: $tType]:(list @ X0 > X0 > $o)).
% 2.85/1.84 thf(func_def_44, type, n_lists: !>[X0: $tType]:(nat > list @ X0 > list @ list @ X0)).
% 2.85/1.84 thf(func_def_45, type, nths: !>[X0: $tType]:(list @ X0 > set @ nat > list @ X0)).
% 2.85/1.84 thf(func_def_46, type, lexordp_eq: !>[X0: $tType]:((X0 > X0 > $o) > list @ X0 > list @ X0 > $o)).
% 2.85/1.84 thf(func_def_47, type, ord_lexordp: !>[X0: $tType]:(list @ X0 > list @ X0 > $o)).
% 2.85/1.84 thf(func_def_48, type, ord_lexordp_eq: !>[X0: $tType]:(list @ X0 > list @ X0 > $o)).
% 2.85/1.84 thf(func_def_49, type, product_lists: !>[X0: $tType]:(list @ list @ X0 > list @ list @ X0)).
% 2.85/1.84 thf(func_def_50, type, splice: !>[X0: $tType]:(list @ X0 > list @ X0 > list @ X0)).
% 2.85/1.84 thf(func_def_51, type, subseqs: !>[X0: $tType]:(list @ X0 > list @ list @ X0)).
% 2.85/1.84 thf(func_def_52, type, suc: nat > nat).
% 2.85/1.84 thf(func_def_53, type, semiring_1_of_nat: !>[X0: $tType]:(nat > X0)).
% 2.85/1.84 thf(func_def_54, type, semiri532925092at_aux: !>[X0: $tType]:((X0 > X0) > nat > X0 > X0)).
% 2.85/1.84 thf(func_def_55, type, size_size: !>[X0: $tType]:(X0 > nat)).
% 2.85/1.84 thf(func_def_56, type, ord_less: !>[X0: $tType]:(X0 > X0 > $o)).
% 2.85/1.84 thf(func_def_57, type, collect: !>[X0: $tType]:((X0 > $o) > set @ X0)).
% 2.85/1.84 thf(func_def_58, type, member2: !>[X0: $tType]:(X0 > set @ X0 > $o)).
% 2.85/1.84 thf(func_def_59, type, cfg: configuration_ext @ p @ v @ s @ product_unit).
% 2.85/1.84 thf(func_def_60, type, fStepCfg: list @ configuration_ext @ p @ v @ s @ product_unit > list @ message @ p @ v > list @ configuration_ext @ p @ v @ s @ product_unit).
% 2.85/1.84 thf(func_def_61, type, fStepMsg: list @ configuration_ext @ p @ v @ s @ product_unit > list @ message @ p @ v > list @ message @ p @ v).
% 2.85/1.84 thf(func_def_62, type, fe: nat > list @ configuration_ext @ p @ v @ s @ product_unit).
% 2.85/1.84 thf(func_def_63, type, ft: nat > list @ message @ p @ v).
% 2.85/1.84 thf(func_def_80, type, sP0: (configuration_ext @ p @ v @ s @ product_unit > (list @ configuration_ext @ p @ v @ s @ product_unit > list @ message @ p @ v > list @ configuration_ext @ p @ v @ s @ product_unit) > (list @ configuration_ext @ p @ v @ s @ product_unit > list @ message @ p @ v > list @ message @ p @ v) > nat > $o) > (configuration_ext @ p @ v @ s @ product_unit > (list @ configuration_ext @ p @ v @ s @ product_unit > list @ message @ p @ v > list @ configuration_ext @ p @ v @ s @ product_unit) > (list @ configuration_ext @ p @ v @ s @ product_unit > list @ message @ p @ v > list @ message @ p @ v) > nat > $o) > $o).
% 2.85/1.84 thf(func_def_81, type, sP1: (configuration_ext @ p @ v @ s @ product_unit > (list @ configuration_ext @ p @ v @ s @ product_unit > list @ message @ p @ v > list @ configuration_ext @ p @ v @ s @ product_unit) > (list @ configuration_ext @ p @ v @ s @ product_unit > list @ message @ p @ v > list @ message @ p @ v) > nat > $o) > (configuration_ext @ p @ v @ s @ product_unit > (list @ configuration_ext @ p @ v @ s @ product_unit > list @ message @ p @ v > list @ configuration_ext @ p @ v @ s @ product_unit) > (list @ configuration_ext @ p @ v @ s @ product_unit > list @ message @ p @ v > list @ message @ p @ v) > nat > $o) > $o).
% 2.85/1.84 thf(func_def_82, type, sK2: !>[X0: $tType, X1: $tType, X2: $tType]:(list @ configuration_ext @ X0 @ X1 @ X2 @ product_unit > nat > (list @ configuration_ext @ X0 @ X1 @ X2 @ product_unit > list @ message @ X0 @ X1 > list @ message @ X0 @ X1) > (list @ configuration_ext @ X0 @ X1 @ X2 @ product_unit > list @ message @ X0 @ X1 > list @ configuration_ext @ X0 @ X1 @ X2 @ product_unit) > configuration_ext @ X0 @ X1 @ X2 @ product_unit > nat)).
% 2.85/1.84 thf(func_def_83, type, sK3: !>[X0: $tType, X1: $tType]:((list @ X0 > list @ X1 > $o) > X0)).
% 2.85/1.84 thf(func_def_84, type, sK4: !>[X0: $tType, X1: $tType]:((list @ X0 > list @ X1 > $o) > list @ X0)).
% 2.85/1.84 thf(func_def_85, type, sK5: !>[X0: $tType, X1: $tType]:((list @ X0 > list @ X1 > $o) > X0)).
% 2.85/1.84 thf(func_def_86, type, sK6: !>[X0: $tType, X1: $tType]:((list @ X0 > list @ X1 > $o) > list @ X0)).
% 2.85/1.84 thf(func_def_87, type, sK7: !>[X0: $tType, X1: $tType]:((list @ X0 > list @ X1 > $o) > X1)).
% 2.85/1.84 thf(func_def_88, type, sK8: !>[X0: $tType, X1: $tType]:((list @ X0 > list @ X1 > $o) > list @ X1)).
% 2.85/1.84 thf(func_def_89, type, sK9: !>[X0: $tType, X1: $tType]:((list @ X0 > list @ X1 > $o) > X1)).
% 2.85/1.84 thf(func_def_90, type, sK10: !>[X0: $tType, X1: $tType]:((list @ X0 > list @ X1 > $o) > list @ X1)).
% 2.85/1.84 thf(func_def_91, type, sK11: !>[X0: $tType]:((list @ X0 > $o) > X0)).
% 2.85/1.84 thf(func_def_92, type, sK12: !>[X0: $tType]:((list @ X0 > $o) > X0)).
% 2.85/1.84 thf(func_def_93, type, sK13: !>[X0: $tType]:((list @ X0 > $o) > X0)).
% 2.85/1.84 thf(func_def_94, type, sK14: !>[X0: $tType]:((list @ X0 > $o) > list @ X0)).
% 2.85/1.84 thf(func_def_95, type, sK15: (configuration_ext @ p @ v @ s @ product_unit > (list @ configuration_ext @ p @ v @ s @ product_unit > list @ message @ p @ v > list @ configuration_ext @ p @ v @ s @ product_unit) > (list @ configuration_ext @ p @ v @ s @ product_unit > list @ message @ p @ v > list @ message @ p @ v) > nat > $o) > (configuration_ext @ p @ v @ s @ product_unit > (list @ configuration_ext @ p @ v @ s @ product_unit > list @ message @ p @ v > list @ configuration_ext @ p @ v @ s @ product_unit) > (list @ configuration_ext @ p @ v @ s @ product_unit > list @ message @ p @ v > list @ message @ p @ v) > nat > $o) > configuration_ext @ p @ v @ s @ product_unit).
% 2.85/1.84 thf(func_def_96, type, sK16: (configuration_ext @ p @ v @ s @ product_unit > (list @ configuration_ext @ p @ v @ s @ product_unit > list @ message @ p @ v > list @ configuration_ext @ p @ v @ s @ product_unit) > (list @ configuration_ext @ p @ v @ s @ product_unit > list @ message @ p @ v > list @ message @ p @ v) > nat > $o) > (configuration_ext @ p @ v @ s @ product_unit > (list @ configuration_ext @ p @ v @ s @ product_unit > list @ message @ p @ v > list @ configuration_ext @ p @ v @ s @ product_unit) > (list @ configuration_ext @ p @ v @ s @ product_unit > list @ message @ p @ v > list @ message @ p @ v) > nat > $o) > list @ configuration_ext @ p @ v @ s @ product_unit > list @ message @ p @ v > list @ configuration_ext @ p @ v @ s @ product_unit).
% 2.85/1.84 thf(func_def_97, type, sK17: (configuration_ext @ p @ v @ s @ product_unit > (list @ configuration_ext @ p @ v @ s @ product_unit > list @ message @ p @ v > list @ configuration_ext @ p @ v @ s @ product_unit) > (list @ configuration_ext @ p @ v @ s @ product_unit > list @ message @ p @ v > list @ message @ p @ v) > nat > $o) > (configuration_ext @ p @ v @ s @ product_unit > (list @ configuration_ext @ p @ v @ s @ product_unit > list @ message @ p @ v > list @ configuration_ext @ p @ v @ s @ product_unit) > (list @ configuration_ext @ p @ v @ s @ product_unit > list @ message @ p @ v > list @ message @ p @ v) > nat > $o) > list @ configuration_ext @ p @ v @ s @ product_unit > list @ message @ p @ v > list @ message @ p @ v).
% 2.85/1.84 thf(func_def_98, type, sK18: (configuration_ext @ p @ v @ s @ product_unit > (list @ configuration_ext @ p @ v @ s @ product_unit > list @ message @ p @ v > list @ configuration_ext @ p @ v @ s @ product_unit) > (list @ configuration_ext @ p @ v @ s @ product_unit > list @ message @ p @ v > list @ message @ p @ v) > nat > $o) > (configuration_ext @ p @ v @ s @ product_unit > (list @ configuration_ext @ p @ v @ s @ product_unit > list @ message @ p @ v > list @ configuration_ext @ p @ v @ s @ product_unit) > (list @ configuration_ext @ p @ v @ s @ product_unit > list @ message @ p @ v > list @ message @ p @ v) > nat > $o) > nat).
% 2.85/1.84 thf(func_def_99, type, sK19: (configuration_ext @ p @ v @ s @ product_unit > (list @ configuration_ext @ p @ v @ s @ product_unit > list @ message @ p @ v > list @ configuration_ext @ p @ v @ s @ product_unit) > (list @ configuration_ext @ p @ v @ s @ product_unit > list @ message @ p @ v > list @ message @ p @ v) > nat > $o) > (configuration_ext @ p @ v @ s @ product_unit > (list @ configuration_ext @ p @ v @ s @ product_unit > list @ message @ p @ v > list @ configuration_ext @ p @ v @ s @ product_unit) > (list @ configuration_ext @ p @ v @ s @ product_unit > list @ message @ p @ v > list @ message @ p @ v) > nat > $o) > configuration_ext @ p @ v @ s @ product_unit).
% 2.85/1.84 thf(func_def_100, type, sK20: (configuration_ext @ p @ v @ s @ product_unit > (list @ configuration_ext @ p @ v @ s @ product_unit > list @ message @ p @ v > list @ configuration_ext @ p @ v @ s @ product_unit) > (list @ configuration_ext @ p @ v @ s @ product_unit > list @ message @ p @ v > list @ message @ p @ v) > nat > $o) > (configuration_ext @ p @ v @ s @ product_unit > (list @ configuration_ext @ p @ v @ s @ product_unit > list @ message @ p @ v > list @ configuration_ext @ p @ v @ s @ product_unit) > (list @ configuration_ext @ p @ v @ s @ product_unit > list @ message @ p @ v > list @ message @ p @ v) > nat > $o) > list @ configuration_ext @ p @ v @ s @ product_unit > list @ message @ p @ v > list @ configuration_ext @ p @ v @ s @ product_unit).
% 2.85/1.84 thf(func_def_101, type, sK21: (configuration_ext @ p @ v @ s @ product_unit > (list @ configuration_ext @ p @ v @ s @ product_unit > list @ message @ p @ v > list @ configuration_ext @ p @ v @ s @ product_unit) > (list @ configuration_ext @ p @ v @ s @ product_unit > list @ message @ p @ v > list @ message @ p @ v) > nat > $o) > (configuration_ext @ p @ v @ s @ product_unit > (list @ configuration_ext @ p @ v @ s @ product_unit > list @ message @ p @ v > list @ configuration_ext @ p @ v @ s @ product_unit) > (list @ configuration_ext @ p @ v @ s @ product_unit > list @ message @ p @ v > list @ message @ p @ v) > nat > $o) > list @ configuration_ext @ p @ v @ s @ product_unit > list @ message @ p @ v > list @ message @ p @ v).
% 2.85/1.84 thf(func_def_102, type, sK22: (configuration_ext @ p @ v @ s @ product_unit > (list @ configuration_ext @ p @ v @ s @ product_unit > list @ message @ p @ v > list @ configuration_ext @ p @ v @ s @ product_unit) > (list @ configuration_ext @ p @ v @ s @ product_unit > list @ message @ p @ v > list @ message @ p @ v) > nat > $o) > (configuration_ext @ p @ v @ s @ product_unit > (list @ configuration_ext @ p @ v @ s @ product_unit > list @ message @ p @ v > list @ configuration_ext @ p @ v @ s @ product_unit) > (list @ configuration_ext @ p @ v @ s @ product_unit > list @ message @ p @ v > list @ message @ p @ v) > nat > $o) > nat).
% 2.85/1.84 thf(func_def_103, type, sK23: (configuration_ext @ p @ v @ s @ product_unit > (list @ configuration_ext @ p @ v @ s @ product_unit > list @ message @ p @ v > list @ configuration_ext @ p @ v @ s @ product_unit) > (list @ configuration_ext @ p @ v @ s @ product_unit > list @ message @ p @ v > list @ message @ p @ v) > nat > $o) > configuration_ext @ p @ v @ s @ product_unit).
% 2.85/1.84 thf(func_def_104, type, sK24: (configuration_ext @ p @ v @ s @ product_unit > (list @ configuration_ext @ p @ v @ s @ product_unit > list @ message @ p @ v > list @ configuration_ext @ p @ v @ s @ product_unit) > (list @ configuration_ext @ p @ v @ s @ product_unit > list @ message @ p @ v > list @ message @ p @ v) > nat > $o) > list @ configuration_ext @ p @ v @ s @ product_unit > list @ message @ p @ v > list @ configuration_ext @ p @ v @ s @ product_unit).
% 2.85/1.84 thf(func_def_105, type, sK25: (configuration_ext @ p @ v @ s @ product_unit > (list @ configuration_ext @ p @ v @ s @ product_unit > list @ message @ p @ v > list @ configuration_ext @ p @ v @ s @ product_unit) > (list @ configuration_ext @ p @ v @ s @ product_unit > list @ message @ p @ v > list @ message @ p @ v) > nat > $o) > list @ configuration_ext @ p @ v @ s @ product_unit > list @ message @ p @ v > list @ message @ p @ v).
% 2.85/1.84 thf(func_def_106, type, sK26: (configuration_ext @ p @ v @ s @ product_unit > (list @ configuration_ext @ p @ v @ s @ product_unit > list @ message @ p @ v > list @ configuration_ext @ p @ v @ s @ product_unit) > (list @ configuration_ext @ p @ v @ s @ product_unit > list @ message @ p @ v > list @ message @ p @ v) > nat > $o) > configuration_ext @ p @ v @ s @ product_unit).
% 2.85/1.84 thf(func_def_107, type, sK27: (configuration_ext @ p @ v @ s @ product_unit > (list @ configuration_ext @ p @ v @ s @ product_unit > list @ message @ p @ v > list @ configuration_ext @ p @ v @ s @ product_unit) > (list @ configuration_ext @ p @ v @ s @ product_unit > list @ message @ p @ v > list @ message @ p @ v) > nat > $o) > list @ configuration_ext @ p @ v @ s @ product_unit > list @ message @ p @ v > list @ configuration_ext @ p @ v @ s @ product_unit).
% 2.85/1.84 thf(func_def_108, type, sK28: (configuration_ext @ p @ v @ s @ product_unit > (list @ configuration_ext @ p @ v @ s @ product_unit > list @ message @ p @ v > list @ configuration_ext @ p @ v @ s @ product_unit) > (list @ configuration_ext @ p @ v @ s @ product_unit > list @ message @ p @ v > list @ message @ p @ v) > nat > $o) > list @ configuration_ext @ p @ v @ s @ product_unit > list @ message @ p @ v > list @ message @ p @ v).
% 2.85/1.84 thf(func_def_109, type, sK29: nat > nat).
% 2.85/1.84 thf(func_def_110, type, sK30: !>[X0: $tType]:(list @ list @ X0 > X0)).
% 2.85/1.84 thf(func_def_111, type, sK31: !>[X0: $tType]:(list @ list @ X0 > list @ X0)).
% 2.85/1.84 thf(func_def_112, type, sK32: !>[X0: $tType]:(list @ list @ X0 > list @ list @ X0)).
% 2.85/1.84 thf(func_def_113, type, sK33: !>[X0: $tType]:(list @ list @ X0 > list @ list @ X0)).
% 2.85/1.84 thf(func_def_114, type, sK34: !>[X0: $tType]:((list @ X0 > list @ X0 > $o) > X0)).
% 2.85/1.84 thf(func_def_115, type, sK35: !>[X0: $tType]:((list @ X0 > list @ X0 > $o) > list @ X0)).
% 2.85/1.84 thf(func_def_116, type, sK36: !>[X0: $tType]:((list @ X0 > list @ X0 > $o) > X0)).
% 2.85/1.84 thf(func_def_117, type, sK37: !>[X0: $tType]:((list @ X0 > list @ X0 > $o) > list @ X0)).
% 2.85/1.84 thf(func_def_118, type, sK38: !>[X0: $tType]:((list @ X0 > list @ X0 > $o) > list @ X0)).
% 2.85/1.84 thf(func_def_119, type, sK39: !>[X0: $tType]:((list @ X0 > list @ X0 > $o) > list @ X0)).
% 2.85/1.84 thf(func_def_120, type, sK40: nat > nat).
% 2.85/1.84 thf(func_def_121, type, sK41: !>[X0: $tType, X1: $tType, X2: $tType]:(list @ message @ X0 @ X1 > nat > (list @ configuration_ext @ X0 @ X1 @ X2 @ product_unit > list @ message @ X0 @ X1 > list @ message @ X0 @ X1) > (list @ configuration_ext @ X0 @ X1 @ X2 @ product_unit > list @ message @ X0 @ X1 > list @ configuration_ext @ X0 @ X1 @ X2 @ product_unit) > configuration_ext @ X0 @ X1 @ X2 @ product_unit > nat)).
% 2.85/1.84 thf(func_def_122, type, sK42: list @ message @ p @ v > nat > (list @ configuration_ext @ p @ v @ s @ product_unit > list @ message @ p @ v > list @ message @ p @ v) > (list @ configuration_ext @ p @ v @ s @ product_unit > list @ message @ p @ v > list @ configuration_ext @ p @ v @ s @ product_unit) > configuration_ext @ p @ v @ s @ product_unit > nat).
% 2.85/1.84 thf(func_def_123, type, sK43: (nat > $o) > nat > nat).
% 2.85/1.84 thf(func_def_124, type, sK44: (nat > $o) > nat > nat).
% 2.85/1.84 thf(func_def_125, type, sK45: (nat > nat > $o) > nat).
% 2.85/1.84 thf(func_def_126, type, sK46: (nat > nat > $o) > nat).
% 2.85/1.84 thf(func_def_127, type, sK47: (nat > nat > $o) > nat).
% 2.85/1.84 thf(func_def_128, type, sK48: (nat > nat > $o) > nat).
% 2.85/1.84 thf(func_def_129, type, sK49: !>[X0: $tType]:(list @ X0 > X0)).
% 2.85/1.84 thf(func_def_130, type, sK50: !>[X0: $tType]:(list @ X0 > X0)).
% 2.85/1.84 thf(func_def_131, type, sK51: !>[X0: $tType]:(list @ X0 > X0)).
% 2.85/1.84 thf(func_def_132, type, sK52: !>[X0: $tType]:(list @ X0 > list @ X0)).
% 2.85/1.84 thf(func_def_133, type, sK53: (nat > nat > $o) > nat).
% 2.85/1.84 thf(func_def_134, type, sK54: (nat > nat > $o) > nat).
% 2.85/1.84 thf(func_def_135, type, sK55: (nat > nat > $o) > nat).
% 2.85/1.84 thf(func_def_136, type, sK56: (nat > nat > $o) > nat).
% 2.85/1.84 thf(func_def_137, type, sK57: list @ configuration_ext @ p @ v @ s @ product_unit > nat > (list @ configuration_ext @ p @ v @ s @ product_unit > list @ message @ p @ v > list @ message @ p @ v) > (list @ configuration_ext @ p @ v @ s @ product_unit > list @ message @ p @ v > list @ configuration_ext @ p @ v @ s @ product_unit) > configuration_ext @ p @ v @ s @ product_unit > nat).
% 2.85/1.84 thf(func_def_138, type, sK58: !>[X0: $tType]:((X0 > $o) > (X0 > nat) > X0)).
% 2.85/1.84 thf(func_def_139, type, sK59: !>[X0: $tType]:((X0 > $o) > (X0 > nat) > X0)).
% 2.85/1.84 thf(func_def_140, type, sK60: nat > nat > nat).
% 2.85/1.84 thf(func_def_141, type, sK61: (nat > $o) > nat > nat).
% 2.85/1.84 thf(func_def_142, type, sK62: (nat > $o) > nat > nat).
% 2.85/1.84 thf(func_def_143, type, sK63: (nat > $o) > nat > nat).
% 2.85/1.84 thf(func_def_144, type, sK64: (nat > $o) > nat > nat).
% 2.85/1.84 thf(func_def_145, type, sK65: (nat > $o) > nat).
% 2.85/1.84 thf(func_def_146, type, sK66: !>[X0: $tType]:((list @ X0 > $o) > X0)).
% 2.85/1.84 thf(func_def_147, type, sK67: !>[X0: $tType]:((list @ X0 > $o) > list @ X0)).
% 2.85/1.84 thf(func_def_148, type, sK68: (nat > $o) > nat > nat).
% 2.85/1.84 thf(func_def_149, type, sK69: !>[X0: $tType]:((nat > X0 > X0 > $o) > (nat > X0 > $o) > X0)).
% 2.85/1.84 thf(func_def_150, type, sK70: !>[X0: $tType]:((nat > X0 > X0 > $o) > (nat > X0 > $o) > nat)).
% 2.85/1.84 thf(func_def_151, type, sK71: !>[X0: $tType]:((nat > X0 > X0 > $o) > (nat > X0 > $o) > nat > X0)).
% 2.85/1.84 thf(func_def_152, type, sK72: !>[X0: $tType]:((X0 > nat) > (X0 > $o) > X0)).
% 2.85/1.84 thf(func_def_153, type, sK73: (nat > $o) > nat).
% 2.85/1.84 thf(func_def_154, type, sK74: nat > nat > nat).
% 2.85/1.84 thf(func_def_155, type, sK75: (nat > $o) > nat > nat).
% 2.85/1.84 thf(func_def_156, type, sK76: (nat > $o) > nat > nat).
% 2.85/1.84 thf(func_def_157, type, sK77: !>[X0: $tType]:(list @ X0 > X0)).
% 2.85/1.84 thf(func_def_158, type, sK78: !>[X0: $tType]:(list @ X0 > list @ X0)).
% 2.85/1.84 thf(func_def_159, type, sK79: !>[X0: $tType]:((list @ X0 > $o) > X0)).
% 2.85/1.84 thf(func_def_160, type, sK80: !>[X0: $tType]:((list @ X0 > $o) > list @ X0)).
% 2.85/1.84 thf(func_def_161, type, sK81: !>[X0: $tType]:((list @ X0 > $o) > X0)).
% 2.85/1.84 thf(func_def_162, type, sK82: !>[X0: $tType]:((list @ X0 > $o) > X0)).
% 2.85/1.84 thf(func_def_163, type, sK83: !>[X0: $tType]:((list @ X0 > $o) > X0)).
% 2.85/1.84 thf(func_def_164, type, sK84: !>[X0: $tType]:((list @ X0 > $o) > list @ X0)).
% 2.85/1.84 thf(func_def_165, type, sK85: (configuration_ext @ p @ v @ s @ product_unit > (list @ configuration_ext @ p @ v @ s @ product_unit > list @ message @ p @ v > list @ configuration_ext @ p @ v @ s @ product_unit) > (list @ configuration_ext @ p @ v @ s @ product_unit > list @ message @ p @ v > list @ message @ p @ v) > nat > $o) > (configuration_ext @ p @ v @ s @ product_unit > (list @ configuration_ext @ p @ v @ s @ product_unit > list @ message @ p @ v > list @ configuration_ext @ p @ v @ s @ product_unit) > (list @ configuration_ext @ p @ v @ s @ product_unit > list @ message @ p @ v > list @ message @ p @ v) > nat > $o) > configuration_ext @ p @ v @ s @ product_unit).
% 2.85/1.84 thf(func_def_166, type, sK86: (configuration_ext @ p @ v @ s @ product_unit > (list @ configuration_ext @ p @ v @ s @ product_unit > list @ message @ p @ v > list @ configuration_ext @ p @ v @ s @ product_unit) > (list @ configuration_ext @ p @ v @ s @ product_unit > list @ message @ p @ v > list @ message @ p @ v) > nat > $o) > (configuration_ext @ p @ v @ s @ product_unit > (list @ configuration_ext @ p @ v @ s @ product_unit > list @ message @ p @ v > list @ configuration_ext @ p @ v @ s @ product_unit) > (list @ configuration_ext @ p @ v @ s @ product_unit > list @ message @ p @ v > list @ message @ p @ v) > nat > $o) > list @ configuration_ext @ p @ v @ s @ product_unit > list @ message @ p @ v > list @ configuration_ext @ p @ v @ s @ product_unit).
% 2.85/1.84 thf(func_def_167, type, sK87: (configuration_ext @ p @ v @ s @ product_unit > (list @ configuration_ext @ p @ v @ s @ product_unit > list @ message @ p @ v > list @ configuration_ext @ p @ v @ s @ product_unit) > (list @ configuration_ext @ p @ v @ s @ product_unit > list @ message @ p @ v > list @ message @ p @ v) > nat > $o) > (configuration_ext @ p @ v @ s @ product_unit > (list @ configuration_ext @ p @ v @ s @ product_unit > list @ message @ p @ v > list @ configuration_ext @ p @ v @ s @ product_unit) > (list @ configuration_ext @ p @ v @ s @ product_unit > list @ message @ p @ v > list @ message @ p @ v) > nat > $o) > list @ configuration_ext @ p @ v @ s @ product_unit > list @ message @ p @ v > list @ message @ p @ v).
% 2.85/1.84 thf(func_def_168, type, sK88: (configuration_ext @ p @ v @ s @ product_unit > (list @ configuration_ext @ p @ v @ s @ product_unit > list @ message @ p @ v > list @ configuration_ext @ p @ v @ s @ product_unit) > (list @ configuration_ext @ p @ v @ s @ product_unit > list @ message @ p @ v > list @ message @ p @ v) > nat > $o) > (configuration_ext @ p @ v @ s @ product_unit > (list @ configuration_ext @ p @ v @ s @ product_unit > list @ message @ p @ v > list @ configuration_ext @ p @ v @ s @ product_unit) > (list @ configuration_ext @ p @ v @ s @ product_unit > list @ message @ p @ v > list @ message @ p @ v) > nat > $o) > nat).
% 2.85/1.84 thf(func_def_169, type, sK89: (configuration_ext @ p @ v @ s @ product_unit > (list @ configuration_ext @ p @ v @ s @ product_unit > list @ message @ p @ v > list @ configuration_ext @ p @ v @ s @ product_unit) > (list @ configuration_ext @ p @ v @ s @ product_unit > list @ message @ p @ v > list @ message @ p @ v) > nat > $o) > configuration_ext @ p @ v @ s @ product_unit).
% 2.85/1.84 thf(func_def_170, type, sK90: (configuration_ext @ p @ v @ s @ product_unit > (list @ configuration_ext @ p @ v @ s @ product_unit > list @ message @ p @ v > list @ configuration_ext @ p @ v @ s @ product_unit) > (list @ configuration_ext @ p @ v @ s @ product_unit > list @ message @ p @ v > list @ message @ p @ v) > nat > $o) > list @ configuration_ext @ p @ v @ s @ product_unit > list @ message @ p @ v > list @ configuration_ext @ p @ v @ s @ product_unit).
% 2.85/1.84 thf(func_def_171, type, sK91: (configuration_ext @ p @ v @ s @ product_unit > (list @ configuration_ext @ p @ v @ s @ product_unit > list @ message @ p @ v > list @ configuration_ext @ p @ v @ s @ product_unit) > (list @ configuration_ext @ p @ v @ s @ product_unit > list @ message @ p @ v > list @ message @ p @ v) > nat > $o) > list @ configuration_ext @ p @ v @ s @ product_unit > list @ message @ p @ v > list @ message @ p @ v).
% 2.85/1.84 thf(func_def_172, type, sK92: (configuration_ext @ p @ v @ s @ product_unit > (list @ configuration_ext @ p @ v @ s @ product_unit > list @ message @ p @ v > list @ configuration_ext @ p @ v @ s @ product_unit) > (list @ configuration_ext @ p @ v @ s @ product_unit > list @ message @ p @ v > list @ message @ p @ v) > nat > $o) > (configuration_ext @ p @ v @ s @ product_unit > (list @ configuration_ext @ p @ v @ s @ product_unit > list @ message @ p @ v > list @ configuration_ext @ p @ v @ s @ product_unit) > (list @ configuration_ext @ p @ v @ s @ product_unit > list @ message @ p @ v > list @ message @ p @ v) > nat > $o) > configuration_ext @ p @ v @ s @ product_unit).
% 2.85/1.84 thf(func_def_173, type, sK93: (configuration_ext @ p @ v @ s @ product_unit > (list @ configuration_ext @ p @ v @ s @ product_unit > list @ message @ p @ v > list @ configuration_ext @ p @ v @ s @ product_unit) > (list @ configuration_ext @ p @ v @ s @ product_unit > list @ message @ p @ v > list @ message @ p @ v) > nat > $o) > (configuration_ext @ p @ v @ s @ product_unit > (list @ configuration_ext @ p @ v @ s @ product_unit > list @ message @ p @ v > list @ configuration_ext @ p @ v @ s @ product_unit) > (list @ configuration_ext @ p @ v @ s @ product_unit > list @ message @ p @ v > list @ message @ p @ v) > nat > $o) > list @ configuration_ext @ p @ v @ s @ product_unit > list @ message @ p @ v > list @ configuration_ext @ p @ v @ s @ product_unit).
% 2.85/1.84 thf(func_def_174, type, sK94: (configuration_ext @ p @ v @ s @ product_unit > (list @ configuration_ext @ p @ v @ s @ product_unit > list @ message @ p @ v > list @ configuration_ext @ p @ v @ s @ product_unit) > (list @ configuration_ext @ p @ v @ s @ product_unit > list @ message @ p @ v > list @ message @ p @ v) > nat > $o) > (configuration_ext @ p @ v @ s @ product_unit > (list @ configuration_ext @ p @ v @ s @ product_unit > list @ message @ p @ v > list @ configuration_ext @ p @ v @ s @ product_unit) > (list @ configuration_ext @ p @ v @ s @ product_unit > list @ message @ p @ v > list @ message @ p @ v) > nat > $o) > list @ configuration_ext @ p @ v @ s @ product_unit > list @ message @ p @ v > list @ message @ p @ v).
% 2.85/1.84 thf(func_def_175, type, sK95: (configuration_ext @ p @ v @ s @ product_unit > (list @ configuration_ext @ p @ v @ s @ product_unit > list @ message @ p @ v > list @ configuration_ext @ p @ v @ s @ product_unit) > (list @ configuration_ext @ p @ v @ s @ product_unit > list @ message @ p @ v > list @ message @ p @ v) > nat > $o) > (configuration_ext @ p @ v @ s @ product_unit > (list @ configuration_ext @ p @ v @ s @ product_unit > list @ message @ p @ v > list @ configuration_ext @ p @ v @ s @ product_unit) > (list @ configuration_ext @ p @ v @ s @ product_unit > list @ message @ p @ v > list @ message @ p @ v) > nat > $o) > nat).
% 2.85/1.84 thf(func_def_176, type, sK96: (configuration_ext @ p @ v @ s @ product_unit > (list @ configuration_ext @ p @ v @ s @ product_unit > list @ message @ p @ v > list @ configuration_ext @ p @ v @ s @ product_unit) > (list @ configuration_ext @ p @ v @ s @ product_unit > list @ message @ p @ v > list @ message @ p @ v) > nat > $o) > configuration_ext @ p @ v @ s @ product_unit).
% 2.85/1.84 thf(func_def_177, type, sK97: (configuration_ext @ p @ v @ s @ product_unit > (list @ configuration_ext @ p @ v @ s @ product_unit > list @ message @ p @ v > list @ configuration_ext @ p @ v @ s @ product_unit) > (list @ configuration_ext @ p @ v @ s @ product_unit > list @ message @ p @ v > list @ message @ p @ v) > nat > $o) > list @ configuration_ext @ p @ v @ s @ product_unit > list @ message @ p @ v > list @ configuration_ext @ p @ v @ s @ product_unit).
% 2.85/1.84 thf(func_def_178, type, sK98: (configuration_ext @ p @ v @ s @ product_unit > (list @ configuration_ext @ p @ v @ s @ product_unit > list @ message @ p @ v > list @ configuration_ext @ p @ v @ s @ product_unit) > (list @ configuration_ext @ p @ v @ s @ product_unit > list @ message @ p @ v > list @ message @ p @ v) > nat > $o) > list @ configuration_ext @ p @ v @ s @ product_unit > list @ message @ p @ v > list @ message @ p @ v).
% 2.85/1.84 thf(func_def_179, type, sK99: nat > nat).
% 2.85/1.84 thf(func_def_180, type, sK100: nat > nat > nat).
% 2.85/1.84 thf(func_def_181, type, sK101: (nat > $o) > nat > nat).
% 2.85/1.84 thf(func_def_182, type, sK102: (nat > $o) > nat > nat).
% 2.85/1.84 thf(func_def_183, type, sK103: !>[X0: $tType]:(list @ X0 > X0)).
% 2.85/1.84 thf(func_def_184, type, sK104: !>[X0: $tType]:(list @ X0 > list @ X0)).
% 2.85/1.84 thf(func_def_185, type, sK105: (nat > $o) > nat).
% 2.85/1.84 thf(func_def_186, type, sK106: !>[X0: $tType]:(((X0 > X0 > $o) > list @ X0 > $o) > X0 > X0 > $o)).
% 2.85/1.84 thf(func_def_187, type, sK107: !>[X0: $tType]:(((X0 > X0 > $o) > list @ X0 > $o) > X0)).
% 2.85/1.84 thf(func_def_188, type, sK108: !>[X0: $tType]:(((X0 > X0 > $o) > list @ X0 > $o) > list @ X0)).
% 2.85/1.84 thf(func_def_189, type, sK109: !>[X0: $tType]:(((X0 > X0 > $o) > list @ X0 > $o) > X0 > X0 > $o)).
% 2.85/1.84 thf(func_def_190, type, sK110: !>[X0: $tType, X1: $tType]:(((X0 > X1) > list @ X0 > list @ X1 > $o) > X0 > X1)).
% 2.85/1.84 thf(func_def_191, type, sK111: !>[X0: $tType, X1: $tType]:(((X0 > X1) > list @ X0 > list @ X1 > $o) > list @ X1)).
% 2.85/1.84 thf(func_def_192, type, sK112: !>[X0: $tType, X1: $tType]:(((X0 > X1) > list @ X0 > list @ X1 > $o) > X0 > X1)).
% 2.85/1.84 thf(func_def_193, type, sK113: !>[X0: $tType, X1: $tType]:(((X0 > X1) > list @ X0 > list @ X1 > $o) > X0)).
% 2.85/1.84 thf(func_def_194, type, sK114: !>[X0: $tType, X1: $tType]:(((X0 > X1) > list @ X0 > list @ X1 > $o) > list @ X0)).
% 2.85/1.84 thf(func_def_195, type, sK115: !>[X0: $tType, X1: $tType]:(((X0 > X1) > list @ X0 > list @ X1 > $o) > list @ X1)).
% 2.85/1.84 thf(func_def_196, type, sK116: !>[X0: $tType]:((list @ X0 > list @ X0 > $o) > list @ X0)).
% 2.85/1.84 thf(func_def_197, type, sK117: !>[X0: $tType]:((list @ X0 > list @ X0 > $o) > X0)).
% 2.85/1.84 thf(func_def_198, type, sK118: !>[X0: $tType]:((list @ X0 > list @ X0 > $o) > list @ X0)).
% 2.85/1.84 thf(func_def_199, type, sK119: !>[X0: $tType]:((list @ X0 > list @ X0 > $o) > list @ X0)).
% 2.85/1.84 thf(func_def_200, type, sK120: (nat > $o) > nat).
% 2.85/1.84 thf(func_def_201, type, sK121: (nat > $o) > nat).
% 2.85/1.84 thf(func_def_202, type, sK122: !>[X0: $tType, X1: $tType]:((X1 > X0) > (X1 > X0) > X1)).
% 2.85/1.84 thf(func_def_203, type, sK123: nat > nat).
% 2.85/1.84 thf(func_def_204, type, sK124: !>[X0: $tType]:(list @ X0 > X0)).
% 2.85/1.84 thf(func_def_205, type, sK125: !>[X0: $tType]:(list @ X0 > list @ X0)).
% 2.85/1.84 thf(func_def_206, type, sK126: nat > nat > nat).
% 2.85/1.84 thf(func_def_207, type, sK127: (nat > $o) > nat).
% 2.85/1.84 thf(func_def_208, type, sK128: !>[X0: $tType]:(((X0 > X0 > $o) > list @ X0 > $o) > X0 > X0 > $o)).
% 2.85/1.84 thf(func_def_209, type, sK129: !>[X0: $tType]:(((X0 > X0 > $o) > list @ X0 > $o) > X0 > X0 > $o)).
% 2.85/1.84 thf(func_def_210, type, sK130: !>[X0: $tType]:(((X0 > X0 > $o) > list @ X0 > $o) > X0)).
% 2.85/1.84 thf(func_def_211, type, sK131: !>[X0: $tType]:(((X0 > X0 > $o) > list @ X0 > $o) > X0)).
% 2.85/1.84 thf(func_def_212, type, sK132: !>[X0: $tType]:(((X0 > X0 > $o) > list @ X0 > $o) > list @ X0)).
% 2.85/1.84 thf(func_def_213, type, sK133: !>[X0: $tType]:(((X0 > X0 > $o) > list @ X0 > $o) > X0 > X0 > $o)).
% 2.85/1.84 thf(func_def_214, type, sK134: !>[X0: $tType]:(((X0 > X0 > $o) > list @ X0 > $o) > X0)).
% 2.85/1.84 thf(func_def_215, type, sK135: !>[X0: $tType]:((list @ X0 > $o) > X0)).
% 2.85/1.84 thf(func_def_216, type, sK136: !>[X0: $tType]:((list @ X0 > $o) > list @ X0)).
% 2.85/1.84 thf(func_def_217, type, sK137: !>[X0: $tType]:((list @ X0 > $o) > X0)).
% 2.85/1.84 thf(func_def_219, type, ph139: !>[X0: $tType]:(X0)).
% 2.85/1.84 thf(f1297,plain,(
% 2.85/1.84 $false),
% 2.85/1.84 inference(subsumption_resolution,[status(thm)],[f1258,f1247])).
% 2.85/1.84 thf(f1247,plain,(
% 2.85/1.84 ( ! [X2 : list @ configuration_ext @ p @ v @ s @ product_unit > list @ message @ p @ v > list @ message @ p @ v,X0 : configuration_ext @ p @ v @ s @ product_unit,X1 : list @ configuration_ext @ p @ v @ s @ product_unit > list @ message @ p @ v > list @ configuration_ext @ p @ v @ s @ product_unit] : (((cons @ configuration_ext @ p @ v @ s @ product_unit @ X0 @ nil @ configuration_ext @ p @ v @ s @ product_unit) = (fLPThe137922386ionCfg @ p @ v @ s @ X0 @ X1 @ X2 @ zero_zero @ nat))) )),
% 2.85/1.84 inference(cnf_transformation,[status(thm)],[f722])).
% 2.85/1.84 thf(f722,plain,(
% 2.85/1.84 ! [X0 : configuration_ext @ p @ v @ s @ product_unit,X1 : list @ configuration_ext @ p @ v @ s @ product_unit > list @ message @ p @ v > list @ configuration_ext @ p @ v @ s @ product_unit,X2 : list @ configuration_ext @ p @ v @ s @ product_unit > list @ message @ p @ v > list @ message @ p @ v] : ((cons @ configuration_ext @ p @ v @ s @ product_unit @ X0 @ nil @ configuration_ext @ p @ v @ s @ product_unit) = (fLPThe137922386ionCfg @ p @ v @ s @ X0 @ X1 @ X2 @ zero_zero @ nat))),
% 2.85/1.84 inference(rectify,[status(thm)],[f3])).
% 2.85/1.84 thf(f3,axiom,(
% 2.85/1.84 ! [X5 : configuration_ext @ p @ v @ s @ product_unit,X6 : list @ configuration_ext @ p @ v @ s @ product_unit > list @ message @ p @ v > list @ configuration_ext @ p @ v @ s @ product_unit,X7 : list @ configuration_ext @ p @ v @ s @ product_unit > list @ message @ p @ v > list @ message @ p @ v] : ((fLPThe137922386ionCfg @ p @ v @ s @ X5 @ X6 @ X7 @ zero_zero @ nat) = (cons @ configuration_ext @ p @ v @ s @ product_unit @ X5 @ nil @ configuration_ext @ p @ v @ s @ product_unit))),
% 2.85/1.84 file('/export/starexec/sandbox/tmp/tmp.rusBCxGY6m/DTF2THF_11637.p',fact_2_infiniteExecutionCfg_Osimps_I1_J)).
% 2.85/1.84 thf(f1258,plain,(
% 2.85/1.84 ((cons @ configuration_ext @ p @ v @ s @ product_unit @ cfg @ nil @ configuration_ext @ p @ v @ s @ product_unit) != (fLPThe137922386ionCfg @ p @ v @ s @ cfg @ fStepCfg @ fStepMsg @ zero_zero @ nat))),
% 2.85/1.84 inference(definition_unfolding,[status(thm)],[f1099,f1220])).
% 2.85/1.84 thf(f1220,plain,(
% 2.85/1.84 (fe = (fLPThe137922386ionCfg @ p @ v @ s @ cfg @ fStepCfg @ fStepMsg))),
% 2.85/1.84 inference(cnf_transformation,[status(thm)],[f2])).
% 2.85/1.84 thf(f2,axiom,(
% 2.85/1.84 (fe = (fLPThe137922386ionCfg @ p @ v @ s @ cfg @ fStepCfg @ fStepMsg))),
% 2.85/1.84 file('/export/starexec/sandbox/tmp/tmp.rusBCxGY6m/DTF2THF_11637.p',fact_1_fe__def)).
% 2.85/1.84 thf(f1099,plain,(
% 2.85/1.84 ((fe @ zero_zero @ nat) != (cons @ configuration_ext @ p @ v @ s @ product_unit @ cfg @ nil @ configuration_ext @ p @ v @ s @ product_unit))),
% 2.85/1.84 inference(cnf_transformation,[status(thm)],[f720])).
% 2.85/1.84 thf(f720,plain,(
% 2.85/1.84 ((fe @ zero_zero @ nat) != (cons @ configuration_ext @ p @ v @ s @ product_unit @ cfg @ nil @ configuration_ext @ p @ v @ s @ product_unit))),
% 2.85/1.84 inference(flattening,[status(thm)],[f280])).
% 2.85/1.84 thf(f280,negated_conjecture,(
% 2.85/1.84 ~((fe @ zero_zero @ nat) = (cons @ configuration_ext @ p @ v @ s @ product_unit @ cfg @ nil @ configuration_ext @ p @ v @ s @ product_unit))),
% 2.85/1.84 inference(negated_conjecture,[status(cth)],[f279])).
% 2.85/1.84 thf(f279,conjecture,(
% 2.85/1.84 ((fe @ zero_zero @ nat) = (cons @ configuration_ext @ p @ v @ s @ product_unit @ cfg @ nil @ configuration_ext @ p @ v @ s @ product_unit))),
% 2.85/1.84 file('/export/starexec/sandbox/tmp/tmp.rusBCxGY6m/DTF2THF_11637.p',conj_0)).
% 2.85/1.84 % SZS output end Proof for DTF2THF_11637
% 2.85/1.84 % (11884)------------------------------
% 2.85/1.84 % (11884)Version: Vampire 4.8 (commit 7b44b1c2f on 2025-07-15 09:50:17 +0100)
% 2.85/1.84 % (11884)Termination reason: Refutation
% 2.85/1.84
% 2.85/1.84 % (11884)Memory used [KB]: 7547
% 2.85/1.84 % (11884)Time elapsed: 0.040 s
% 2.85/1.84 % (11884)Instructions burned: 126 (million)
% 2.85/1.84 % (11884)------------------------------
% 2.85/1.84 % (11884)------------------------------
% 2.85/1.84 % (11858)Success in time 0.066 s
%------------------------------------------------------------------------------