%------------------------------------------------------------------------------
% File : DT2H2X---1.9.5
% Problem : DAT154^1 : TPTP v9.2.1. Released v7.0.0.
% Transfm : none
% Format : tptp:raw
% Command : /export/starexec/sandbox/solver/bin/run_DT2H2X /export/starexec/sandbox/benchmark/theBenchmark.p 300
% Computer : n028.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:44:57 AM UTC 2026
% Result : Theorem 3.33s 1.86s
% Output : Refutation 3.33s
% Verified :
% SZS Type : -
% Comments :
%------------------------------------------------------------------------------
%----WARNING: Could not form TPTP format derivation
%------------------------------------------------------------------------------
%----ORIGINAL SYSTEM OUTPUT
% 0.00/0.12 % Problem : DAT154^1 : TPTP v9.2.1. Released v7.0.0.
% 0.12/0.13 % Command : /export/starexec/sandbox/solver/bin/run_DT2H2X /export/starexec/sandbox/benchmark/theBenchmark.p 300
% 0.16/0.34 % Computer : n028.cluster.edu
% 0.16/0.34 % Model : x86_64 x86_64
% 0.16/0.34 % CPU : Intel(R) Xeon(R) CPU E5-2620 v4 @ 2.10GHz
% 0.16/0.34 % Memory : 8042.1875MB
% 0.16/0.34 % OS : Linux 3.10.0-693.el7.x86_64
% 0.16/0.34 % CPULimit : 300
% 0.16/0.34 % WCLimit : 300
% 0.16/0.34 % DateTime : Tue Feb 24 06:09:57 EST 2026
% 0.16/0.34 % CPUTime :
% 0.16/0.34 Running /export/starexec/sandbox/solver/bin/run_DT2H2X /export/starexec/sandbox/benchmark/theBenchmark.p 300
% 0.31/0.48 ---- Original DTF file ---
% 0.31/0.48 thf(spec,logic,$$dhol).
% 0.31/0.48 %------------------------------------------------------------------------------
% 0.31/0.48 % File : DAT154^1 : TPTP v9.2.1. Released v7.0.0.
% 0.31/0.48 % Domain : Data Structures
% 0.31/0.48 % Problem : Hamming stream 35
% 0.31/0.48 % Version : [Bla16] axioms : Especial.
% 0.31/0.48 % English :
% 0.31/0.48
% 0.31/0.48 % Refs : [Loc10] Lochbihler (2010), Coinductive
% 0.31/0.48 % : [RB15] Reynolds & Blanchette (2015), A Decision Procedure for
% 0.31/0.48 % : [Bla16] Blanchette (2016), Email to Geoff Sutcliffe
% 0.31/0.48 % Source : [Bla16]
% 0.31/0.48 % Names : hamming_stream__35.p [Bla16]
% 0.31/0.48
% 0.31/0.48 % Status : Theorem
% 0.31/0.48 % Rating : 0.33 v9.1.0, 0.00 v7.2.0, 0.25 v7.1.0
% 0.31/0.48 % Syntax : Number of formulae : 322 ( 139 unt; 59 typ; 0 def)
% 0.31/0.48 % Number of atoms : 753 ( 384 equ; 0 cnn)
% 0.31/0.48 % Maximal formula atoms : 13 ( 2 avg)
% 0.31/0.48 % Number of connectives : 4035 ( 152 ~; 33 |; 76 &;3501 @)
% 0.31/0.48 % ( 0 <=>; 273 =>; 0 <=; 0 <~>)
% 0.31/0.48 % Maximal formula depth : 23 ( 7 avg)
% 0.31/0.48 % Number of types : 2 ( 1 usr)
% 0.31/0.48 % Number of type conns : 307 ( 307 >; 0 *; 0 +; 0 <<)
% 0.31/0.48 % Number of symbols : 59 ( 58 usr; 2 con; 0-5 aty)
% 0.31/0.48 % Number of variables : 1107 ( 48 ^; 938 !; 65 ?;1107 :)
% 0.31/0.48 % ( 56 !>; 0 ?*; 0 @-; 0 @+)
% 0.31/0.48 % SPC : TH1_THM_EQU_NAR
% 0.31/0.48
% 0.31/0.48 % Comments : This file was generated by Isabelle (most likely Sledgehammer)
% 0.31/0.48 % 2016-07-13 14:40:50.764
% 0.31/0.48 %------------------------------------------------------------------------------
% 0.31/0.48 %----Could-be-implicit typings (5)
% 0.31/0.48 thf(ty_t_Coinductive__List_Ollist,type,
% 0.31/0.48 coinductive_llist: $tType > $tType ).
% 0.31/0.48
% 0.31/0.48 thf(ty_t_List_Olist,type,
% 0.31/0.48 list: $tType > $tType ).
% 0.31/0.48
% 0.31/0.48 thf(ty_t_Set_Oset,type,
% 0.31/0.48 set: $tType > $tType ).
% 0.31/0.48
% 0.31/0.48 thf(ty_t_itself,type,
% 0.31/0.48 itself: $tType > $tType ).
% 0.31/0.48
% 0.31/0.48 thf(ty_tf_a,type,
% 0.31/0.48 a: $tType ).
% 0.31/0.48
% 0.31/0.48 %----Explicit typings (54)
% 0.31/0.48 thf(sy_cl_HOL_Otype,type,
% 0.31/0.48 type:
% 0.31/0.48 !>[A: $tType] : ( ( itself @ A ) > $o ) ).
% 0.31/0.48
% 0.31/0.48 thf(sy_cl_Orderings_Oord,type,
% 0.31/0.48 ord:
% 0.31/0.48 !>[A: $tType] : ( ( itself @ A ) > $o ) ).
% 0.31/0.48
% 0.31/0.48 thf(sy_cl_Lattices_Olattice,type,
% 0.31/0.48 lattice:
% 0.31/0.48 !>[A: $tType] : ( ( itself @ A ) > $o ) ).
% 0.31/0.48
% 0.31/0.48 thf(sy_cl_Lattices_Osemilattice__inf,type,
% 0.31/0.48 semilattice_inf:
% 0.31/0.48 !>[A: $tType] : ( ( itself @ A ) > $o ) ).
% 0.31/0.48
% 0.31/0.48 thf(sy_c_BNF__Greatest__Fixpoint_OShift,type,
% 0.31/0.48 bNF_Greatest_Shift:
% 0.31/0.48 !>[A: $tType] : ( ( set @ ( list @ A ) ) > A > ( set @ ( list @ A ) ) ) ).
% 0.31/0.48
% 0.31/0.48 thf(sy_c_BNF__Greatest__Fixpoint_OSucc,type,
% 0.31/0.48 bNF_Greatest_Succ:
% 0.31/0.48 !>[A: $tType] : ( ( set @ ( list @ A ) ) > ( list @ A ) > ( set @ A ) ) ).
% 0.31/0.48
% 0.31/0.48 thf(sy_c_BNF__Greatest__Fixpoint_Oshift,type,
% 0.31/0.48 bNF_Greatest_shift:
% 0.31/0.48 !>[A: $tType,B: $tType] : ( ( ( list @ A ) > B ) > A > ( list @ A ) > B ) ).
% 0.31/0.48
% 0.31/0.48 thf(sy_c_Coinductive__List_Olist__of__aux,type,
% 0.31/0.48 coindu1384447384of_aux:
% 0.31/0.48 !>[A: $tType] : ( ( list @ A ) > ( coinductive_llist @ A ) > ( list @ A ) ) ).
% 0.31/0.48
% 0.31/0.48 thf(sy_c_Coinductive__List_Ollist_OLNil,type,
% 0.31/0.48 coinductive_LNil:
% 0.31/0.48 !>[A: $tType] : ( coinductive_llist @ A ) ).
% 0.31/0.48
% 0.31/0.48 thf(sy_c_Coinductive__List_Ollist_Olnull,type,
% 0.31/0.48 coinductive_lnull:
% 0.31/0.48 !>[A: $tType] : ( ( coinductive_llist @ A ) > $o ) ).
% 0.31/0.48
% 0.31/0.48 thf(sy_c_Coinductive__List_Oord_Olsorted,type,
% 0.31/0.48 coinductive_lsorted:
% 0.31/0.48 !>[A: $tType] : ( ( A > A > $o ) > ( coinductive_llist @ A ) > $o ) ).
% 0.31/0.48
% 0.31/0.48 thf(sy_c_Hamming__Stream__Mirabelle__rwekfkwckg_Oord_Olmerge,type,
% 0.31/0.48 hammin1328233080lmerge:
% 0.31/0.48 !>[A: $tType] : ( ( A > A > $o ) > ( coinductive_llist @ A ) > ( coinductive_llist @ A ) > ( coinductive_llist @ A ) ) ).
% 0.31/0.48
% 0.31/0.48 thf(sy_c_Hamming__Stream__Mirabelle__rwekfkwckg_Oord__class_Olmerge,type,
% 0.31/0.48 hammin1138290136lmerge:
% 0.31/0.48 !>[A: $tType] : ( ( coinductive_llist @ A ) > ( coinductive_llist @ A ) > ( coinductive_llist @ A ) ) ).
% 0.31/0.48
% 0.31/0.48 thf(sy_c_Lattices_Oinf__class_Oinf,type,
% 0.31/0.48 inf_inf:
% 0.31/0.48 !>[A: $tType] : ( A > A > A ) ).
% 0.31/0.48
% 0.31/0.48 thf(sy_c_List_Oappend,type,
% 0.31/0.48 append:
% 0.31/0.48 !>[A: $tType] : ( ( list @ A ) > ( list @ A ) > ( list @ A ) ) ).
% 0.31/0.48
% 0.31/0.48 thf(sy_c_List_Obind,type,
% 0.31/0.48 bind:
% 0.31/0.48 !>[A: $tType,B: $tType] : ( ( list @ A ) > ( A > ( list @ B ) ) > ( list @ B ) ) ).
% 0.31/0.48
% 0.31/0.48 thf(sy_c_List_Obutlast,type,
% 0.31/0.48 butlast:
% 0.31/0.48 !>[A: $tType] : ( ( list @ A ) > ( list @ A ) ) ).
% 0.31/0.48
% 0.31/0.48 thf(sy_c_List_Oinsert,type,
% 0.31/0.48 insert:
% 0.31/0.48 !>[A: $tType] : ( A > ( list @ A ) > ( list @ A ) ) ).
% 0.31/0.48
% 0.31/0.48 thf(sy_c_List_Olast,type,
% 0.31/0.48 last:
% 0.31/0.48 !>[A: $tType] : ( ( list @ A ) > A ) ).
% 0.31/0.48
% 0.31/0.48 thf(sy_c_List_Olist_OCons,type,
% 0.31/0.48 cons:
% 0.31/0.48 !>[A: $tType] : ( A > ( list @ A ) > ( list @ A ) ) ).
% 0.31/0.48
% 0.31/0.48 thf(sy_c_List_Olist_ONil,type,
% 0.31/0.48 nil:
% 0.31/0.48 !>[A: $tType] : ( list @ A ) ).
% 0.31/0.48
% 0.31/0.48 thf(sy_c_List_Olist_Ohd,type,
% 0.31/0.48 hd:
% 0.31/0.48 !>[A: $tType] : ( ( list @ A ) > A ) ).
% 0.31/0.48
% 0.31/0.48 thf(sy_c_List_Olist_Omap,type,
% 0.31/0.48 map:
% 0.31/0.48 !>[A: $tType,Aa: $tType] : ( ( A > Aa ) > ( list @ A ) > ( list @ Aa ) ) ).
% 0.31/0.48
% 0.31/0.48 thf(sy_c_List_Olist__ex1,type,
% 0.31/0.48 list_ex1:
% 0.31/0.48 !>[A: $tType] : ( ( A > $o ) > ( list @ A ) > $o ) ).
% 0.31/0.48
% 0.31/0.48 thf(sy_c_List_Omap__tailrec,type,
% 0.31/0.48 map_tailrec:
% 0.31/0.48 !>[A: $tType,B: $tType] : ( ( A > B ) > ( list @ A ) > ( list @ B ) ) ).
% 0.31/0.48
% 0.31/0.48 thf(sy_c_List_Omap__tailrec__rev,type,
% 0.31/0.48 map_tailrec_rev:
% 0.31/0.48 !>[A: $tType,B: $tType] : ( ( A > B ) > ( list @ A ) > ( list @ B ) > ( list @ B ) ) ).
% 0.31/0.48
% 0.31/0.48 thf(sy_c_List_Omaps,type,
% 0.31/0.48 maps:
% 0.31/0.48 !>[A: $tType,B: $tType] : ( ( A > ( list @ B ) ) > ( list @ A ) > ( list @ B ) ) ).
% 0.31/0.48
% 0.31/0.48 thf(sy_c_List_Oord_Olexordp,type,
% 0.31/0.48 lexordp:
% 0.31/0.48 !>[A: $tType] : ( ( A > A > $o ) > ( list @ A ) > ( list @ A ) > $o ) ).
% 0.31/0.48
% 0.31/0.48 thf(sy_c_List_Oord_Olexordp__eq,type,
% 0.31/0.48 lexordp_eq:
% 0.31/0.48 !>[A: $tType] : ( ( A > A > $o ) > ( list @ A ) > ( list @ A ) > $o ) ).
% 0.31/0.48
% 0.31/0.48 thf(sy_c_List_Oproduct__lists,type,
% 0.31/0.48 product_lists:
% 0.31/0.48 !>[A: $tType] : ( ( list @ ( list @ A ) ) > ( list @ ( list @ A ) ) ) ).
% 0.31/0.48
% 0.31/0.48 thf(sy_c_List_Orev,type,
% 0.31/0.48 rev:
% 0.31/0.48 !>[A: $tType] : ( ( list @ A ) > ( list @ A ) ) ).
% 0.31/0.48
% 0.31/0.48 thf(sy_c_List_Orotate1,type,
% 0.31/0.48 rotate1:
% 0.31/0.48 !>[A: $tType] : ( ( list @ A ) > ( list @ A ) ) ).
% 0.31/0.48
% 0.31/0.48 thf(sy_c_List_Osublists,type,
% 0.31/0.48 sublists:
% 0.31/0.48 !>[A: $tType] : ( ( list @ A ) > ( list @ ( list @ A ) ) ) ).
% 0.31/0.48
% 0.31/0.48 thf(sy_c_Orderings_Oord_Omax,type,
% 0.31/0.48 max:
% 0.31/0.48 !>[A: $tType] : ( ( A > A > $o ) > A > A > A ) ).
% 0.31/0.48
% 0.31/0.48 thf(sy_c_Orderings_Oord_Omin,type,
% 0.31/0.48 min:
% 0.31/0.48 !>[A: $tType] : ( ( A > A > $o ) > A > A > A ) ).
% 0.31/0.48
% 0.31/0.48 thf(sy_c_Pure_Otype,type,
% 0.31/0.48 type2:
% 0.31/0.48 !>[A: $tType] : ( itself @ A ) ).
% 0.31/0.48
% 0.31/0.48 thf(sy_c_Set_OCollect,type,
% 0.31/0.48 collect:
% 0.31/0.48 !>[A: $tType] : ( ( A > $o ) > ( set @ A ) ) ).
% 0.31/0.48
% 0.31/0.48 thf(sy_c_Set__Interval_Oord_OatLeast,type,
% 0.31/0.48 set_atLeast:
% 0.31/0.48 !>[A: $tType] : ( ( A > A > $o ) > A > ( set @ A ) ) ).
% 0.31/0.48
% 0.31/0.48 thf(sy_c_Set__Interval_Oord_OatLeastAtMost,type,
% 0.31/0.48 set_atLeastAtMost:
% 0.31/0.48 !>[A: $tType] : ( ( A > A > $o ) > A > A > ( set @ A ) ) ).
% 0.31/0.48
% 0.31/0.48 thf(sy_c_Set__Interval_Oord_OatLeastLessThan,type,
% 0.31/0.48 set_atLeastLessThan:
% 0.31/0.48 !>[A: $tType] : ( ( A > A > $o ) > ( A > A > $o ) > A > A > ( set @ A ) ) ).
% 0.31/0.48
% 0.31/0.48 thf(sy_c_Set__Interval_Oord_OatMost,type,
% 0.31/0.48 set_atMost:
% 0.31/0.48 !>[A: $tType] : ( ( A > A > $o ) > A > ( set @ A ) ) ).
% 0.31/0.48
% 0.31/0.48 thf(sy_c_Set__Interval_Oord_OgreaterThan,type,
% 0.31/0.48 set_greaterThan:
% 0.31/0.48 !>[A: $tType] : ( ( A > A > $o ) > A > ( set @ A ) ) ).
% 0.31/0.48
% 0.31/0.48 thf(sy_c_Set__Interval_Oord_OgreaterThanAtMost,type,
% 0.31/0.48 set_gr323396891AtMost:
% 0.31/0.48 !>[A: $tType] : ( ( A > A > $o ) > ( A > A > $o ) > A > A > ( set @ A ) ) ).
% 0.31/0.48
% 0.31/0.48 thf(sy_c_Set__Interval_Oord_OgreaterThanLessThan,type,
% 0.31/0.48 set_gr1161524159ssThan:
% 0.31/0.48 !>[A: $tType] : ( ( A > A > $o ) > A > A > ( set @ A ) ) ).
% 0.31/0.48
% 0.31/0.48 thf(sy_c_Set__Interval_Oord_OlessThan,type,
% 0.31/0.48 set_lessThan:
% 0.31/0.48 !>[A: $tType] : ( ( A > A > $o ) > A > ( set @ A ) ) ).
% 0.31/0.48
% 0.31/0.48 thf(sy_c_Sublist_Oprefixes,type,
% 0.31/0.48 prefixes:
% 0.31/0.48 !>[A: $tType] : ( ( list @ A ) > ( list @ ( list @ A ) ) ) ).
% 0.31/0.48
% 0.31/0.48 thf(sy_c_Sublist_Oprefixes__rel,type,
% 0.31/0.48 prefixes_rel:
% 0.31/0.48 !>[A: $tType] : ( ( list @ A ) > ( list @ A ) > $o ) ).
% 0.31/0.48
% 0.31/0.48 thf(sy_c_Sublist_Ostrict__suffix,type,
% 0.31/0.48 strict_suffix:
% 0.31/0.48 !>[A: $tType] : ( ( list @ A ) > ( list @ A ) > $o ) ).
% 0.31/0.48
% 0.31/0.48 thf(sy_c_Wellfounded_Oaccp,type,
% 0.31/0.48 accp:
% 0.31/0.48 !>[A: $tType] : ( ( A > A > $o ) > A > $o ) ).
% 0.31/0.48
% 0.31/0.48 thf(sy_c_member,type,
% 0.31/0.48 member:
% 0.31/0.48 !>[A: $tType] : ( A > ( set @ A ) > $o ) ).
% 0.31/0.48
% 0.31/0.48 thf(sy_v_less,type,
% 0.31/0.48 less: a > a > $o ).
% 0.31/0.48
% 0.31/0.48 thf(sy_v_less__eq,type,
% 0.31/0.48 less_eq: a > a > $o ).
% 0.31/0.48
% 0.31/0.48 thf(sy_v_xs,type,
% 0.31/0.48 xs: coinductive_llist @ a ).
% 0.31/0.48
% 0.31/0.48 thf(sy_v_ys,type,
% 0.31/0.48 ys: coinductive_llist @ a ).
% 0.31/0.48
% 0.31/0.48 %----Relevant facts (253)
% 0.31/0.48 thf(fact_0_lmerge_Oexhaust,axiom,
% 0.31/0.48 ! [Xs: coinductive_llist @ a,Ys: coinductive_llist @ a] :
% 0.31/0.48 ( ~ ( ( coinductive_lnull @ a @ Xs )
% 0.31/0.48 | ( coinductive_lnull @ a @ Ys ) )
% 0.31/0.48 => ~ ( ~ ( coinductive_lnull @ a @ Xs )
% 0.31/0.48 => ( coinductive_lnull @ a @ Ys ) ) ) ).
% 0.31/0.48
% 0.31/0.48 % lmerge.exhaust
% 0.31/0.48 thf(fact_1_local_Oord__eq__less__trans,axiom,
% 0.31/0.48 ! [A2: a,B2: a,C: a] :
% 0.31/0.48 ( ( A2 = B2 )
% 0.31/0.48 => ( ( less @ B2 @ C )
% 0.31/0.48 => ( less @ A2 @ C ) ) ) ).
% 0.31/0.48
% 0.31/0.48 % local.ord_eq_less_trans
% 0.31/0.48 thf(fact_2_local_Oord__less__eq__trans,axiom,
% 0.31/0.48 ! [A2: a,B2: a,C: a] :
% 0.31/0.48 ( ( less @ A2 @ B2 )
% 0.31/0.48 => ( ( B2 = C )
% 0.31/0.48 => ( less @ A2 @ C ) ) ) ).
% 0.31/0.48
% 0.31/0.48 % local.ord_less_eq_trans
% 0.31/0.48 thf(fact_3_lmerge_Odisc_I2_J,axiom,
% 0.31/0.48 ! [Xs: coinductive_llist @ a,Ys: coinductive_llist @ a] :
% 0.31/0.48 ( ~ ( coinductive_lnull @ a @ Xs )
% 0.31/0.48 => ( ~ ( coinductive_lnull @ a @ Ys )
% 0.31/0.48 => ~ ( coinductive_lnull @ a @ ( hammin1328233080lmerge @ a @ less @ Xs @ Ys ) ) ) ) ).
% 0.31/0.48
% 0.31/0.48 % lmerge.disc(2)
% 0.31/0.48 thf(fact_4_lmerge_Odisc_I1_J,axiom,
% 0.31/0.48 ! [Xs: coinductive_llist @ a,Ys: coinductive_llist @ a] :
% 0.31/0.48 ( ( ( coinductive_lnull @ a @ Xs )
% 0.31/0.48 | ( coinductive_lnull @ a @ Ys ) )
% 0.31/0.48 => ( coinductive_lnull @ a @ ( hammin1328233080lmerge @ a @ less @ Xs @ Ys ) ) ) ).
% 0.31/0.48
% 0.31/0.48 % lmerge.disc(1)
% 0.31/0.48 thf(fact_5_lmerge_Osimps_I2_J,axiom,
% 0.31/0.48 ! [Xs: coinductive_llist @ a,Ys: coinductive_llist @ a] :
% 0.31/0.48 ( ( ~ ( coinductive_lnull @ a @ ( hammin1328233080lmerge @ a @ less @ Xs @ Ys ) ) )
% 0.31/0.48 = ( ~ ( coinductive_lnull @ a @ Xs )
% 0.31/0.48 & ~ ( coinductive_lnull @ a @ Ys ) ) ) ).
% 0.31/0.48
% 0.31/0.48 % lmerge.simps(2)
% 0.31/0.48 thf(fact_6_lmerge_Osimps_I1_J,axiom,
% 0.31/0.48 ! [Xs: coinductive_llist @ a,Ys: coinductive_llist @ a] :
% 0.31/0.48 ( ( coinductive_lnull @ a @ ( hammin1328233080lmerge @ a @ less @ Xs @ Ys ) )
% 0.31/0.48 = ( ( coinductive_lnull @ a @ Xs )
% 0.31/0.48 | ( coinductive_lnull @ a @ Ys ) ) ) ).
% 0.31/0.48
% 0.31/0.48 % lmerge.simps(1)
% 0.31/0.48 thf(fact_7_ord_Olmerge_Odisc_I2_J,axiom,
% 0.31/0.48 ! [A: $tType,Xs: coinductive_llist @ A,Ys: coinductive_llist @ A,Less: A > A > $o] :
% 0.31/0.48 ( ~ ( coinductive_lnull @ A @ Xs )
% 0.31/0.48 => ( ~ ( coinductive_lnull @ A @ Ys )
% 0.31/0.48 => ~ ( coinductive_lnull @ A @ ( hammin1328233080lmerge @ A @ Less @ Xs @ Ys ) ) ) ) ).
% 0.31/0.48
% 0.31/0.48 % ord.lmerge.disc(2)
% 0.31/0.48 thf(fact_8_ord_Olmerge_Odisc_I1_J,axiom,
% 0.31/0.48 ! [A: $tType,Xs: coinductive_llist @ A,Ys: coinductive_llist @ A,Less: A > A > $o] :
% 0.31/0.48 ( ( ( coinductive_lnull @ A @ Xs )
% 0.31/0.48 | ( coinductive_lnull @ A @ Ys ) )
% 0.31/0.48 => ( coinductive_lnull @ A @ ( hammin1328233080lmerge @ A @ Less @ Xs @ Ys ) ) ) ).
% 0.31/0.48
% 0.31/0.48 % ord.lmerge.disc(1)
% 0.31/0.48 thf(fact_9_ord_Olmerge_Odisc__iff_I2_J,axiom,
% 0.31/0.48 ! [A: $tType,Less: A > A > $o,Xs: coinductive_llist @ A,Ys: coinductive_llist @ A] :
% 0.31/0.48 ( ( ~ ( coinductive_lnull @ A @ ( hammin1328233080lmerge @ A @ Less @ Xs @ Ys ) ) )
% 0.31/0.48 = ( ~ ( coinductive_lnull @ A @ Xs )
% 0.31/0.48 & ~ ( coinductive_lnull @ A @ Ys ) ) ) ).
% 0.31/0.48
% 0.31/0.48 % ord.lmerge.disc_iff(2)
% 0.31/0.48 thf(fact_10_ord_Olmerge_Odisc__iff_I1_J,axiom,
% 0.31/0.48 ! [A: $tType,Less: A > A > $o,Xs: coinductive_llist @ A,Ys: coinductive_llist @ A] :
% 0.31/0.48 ( ( coinductive_lnull @ A @ ( hammin1328233080lmerge @ A @ Less @ Xs @ Ys ) )
% 0.31/0.48 = ( ( coinductive_lnull @ A @ Xs )
% 0.31/0.48 | ( coinductive_lnull @ A @ Ys ) ) ) ).
% 0.31/0.48
% 0.31/0.48 % ord.lmerge.disc_iff(1)
% 0.31/0.48 thf(fact_11_ord_Olmerge_Oexhaust,axiom,
% 0.31/0.48 ! [A: $tType,Xs: coinductive_llist @ A,Ys: coinductive_llist @ A] :
% 0.31/0.48 ( ~ ( ( coinductive_lnull @ A @ Xs )
% 0.31/0.48 | ( coinductive_lnull @ A @ Ys ) )
% 0.31/0.48 => ~ ( ~ ( coinductive_lnull @ A @ Xs )
% 0.31/0.48 => ( coinductive_lnull @ A @ Ys ) ) ) ).
% 0.31/0.48
% 0.31/0.48 % ord.lmerge.exhaust
% 0.31/0.48 thf(fact_12_ord__class_Olmerge_Oexhaust,axiom,
% 0.31/0.48 ! [A: $tType] :
% 0.31/0.48 ( ( ord @ A @ ( type2 @ A ) )
% 0.31/0.48 => ! [Xs: coinductive_llist @ A,Ys: coinductive_llist @ A] :
% 0.31/0.48 ( ~ ( ( coinductive_lnull @ A @ Xs )
% 0.31/0.48 | ( coinductive_lnull @ A @ Ys ) )
% 0.31/0.48 => ~ ( ~ ( coinductive_lnull @ A @ Xs )
% 0.31/0.48 => ( coinductive_lnull @ A @ Ys ) ) ) ) ).
% 0.31/0.48
% 0.31/0.48 % ord_class.lmerge.exhaust
% 0.31/0.48 thf(fact_13_lmerge_Octr_I1_J,axiom,
% 0.31/0.48 ! [Xs: coinductive_llist @ a,Ys: coinductive_llist @ a] :
% 0.31/0.48 ( ( ( coinductive_lnull @ a @ Xs )
% 0.31/0.48 | ( coinductive_lnull @ a @ Ys ) )
% 0.31/0.48 => ( ( hammin1328233080lmerge @ a @ less @ Xs @ Ys )
% 0.31/0.48 = ( coinductive_LNil @ a ) ) ) ).
% 0.31/0.48
% 0.31/0.48 % lmerge.ctr(1)
% 0.31/0.48 thf(fact_14_local_Olexordp__eq__refl,axiom,
% 0.31/0.48 ! [Xs: list @ a] : ( lexordp_eq @ a @ less @ Xs @ Xs ) ).
% 0.31/0.48
% 0.31/0.48 % local.lexordp_eq_refl
% 0.31/0.48 thf(fact_15_local_OgreaterThanLessThan__iff,axiom,
% 0.31/0.48 ! [I: a,L: a,U: a] :
% 0.31/0.48 ( ( member @ a @ I @ ( set_gr1161524159ssThan @ a @ less @ L @ U ) )
% 0.31/0.48 = ( ( less @ L @ I )
% 0.31/0.48 & ( less @ I @ U ) ) ) ).
% 0.31/0.48
% 0.31/0.48 % local.greaterThanLessThan_iff
% 0.31/0.48 thf(fact_16_local_Olexordp__irreflexive,axiom,
% 0.31/0.48 ! [Xs: list @ a] :
% 0.31/0.48 ( ! [X: a] :
% 0.31/0.48 ~ ( less @ X @ X )
% 0.31/0.48 => ~ ( lexordp @ a @ less @ Xs @ Xs ) ) ).
% 0.31/0.48
% 0.31/0.48 % local.lexordp_irreflexive
% 0.31/0.48 thf(fact_17_local_OgreaterThan__iff,axiom,
% 0.31/0.48 ! [I: a,K: a] :
% 0.31/0.48 ( ( member @ a @ I @ ( set_greaterThan @ a @ less @ K ) )
% 0.31/0.48 = ( less @ K @ I ) ) ).
% 0.31/0.48
% 0.31/0.48 % local.greaterThan_iff
% 0.31/0.48 thf(fact_18_local_OlessThan__iff,axiom,
% 0.31/0.48 ! [I: a,K: a] :
% 0.31/0.48 ( ( member @ a @ I @ ( set_lessThan @ a @ less @ K ) )
% 0.31/0.48 = ( less @ I @ K ) ) ).
% 0.31/0.48
% 0.31/0.48 % local.lessThan_iff
% 0.31/0.48 thf(fact_19_lzip_Oexhaust,axiom,
% 0.31/0.48 ! [A: $tType,B: $tType,Xs: coinductive_llist @ A,Ys: coinductive_llist @ B] :
% 0.31/0.48 ( ~ ( ( coinductive_lnull @ A @ Xs )
% 0.31/0.48 | ( coinductive_lnull @ B @ Ys ) )
% 0.31/0.48 => ~ ( ~ ( coinductive_lnull @ A @ Xs )
% 0.31/0.48 => ( coinductive_lnull @ B @ Ys ) ) ) ).
% 0.31/0.48
% 0.31/0.48 % lzip.exhaust
% 0.31/0.48 thf(fact_20_lappend_Oexhaust,axiom,
% 0.31/0.48 ! [A: $tType,Xs: coinductive_llist @ A,Ys: coinductive_llist @ A] :
% 0.31/0.48 ( ( ( coinductive_lnull @ A @ Xs )
% 0.31/0.48 => ~ ( coinductive_lnull @ A @ Ys ) )
% 0.31/0.48 => ( ~ ( coinductive_lnull @ A @ Xs )
% 0.31/0.48 | ~ ( coinductive_lnull @ A @ Ys ) ) ) ).
% 0.31/0.48
% 0.31/0.48 % lappend.exhaust
% 0.31/0.48 thf(fact_21_ord_Olmerge_Octr_I1_J,axiom,
% 0.31/0.48 ! [A: $tType,Xs: coinductive_llist @ A,Ys: coinductive_llist @ A,Less: A > A > $o] :
% 0.31/0.48 ( ( ( coinductive_lnull @ A @ Xs )
% 0.31/0.48 | ( coinductive_lnull @ A @ Ys ) )
% 0.31/0.48 => ( ( hammin1328233080lmerge @ A @ Less @ Xs @ Ys )
% 0.31/0.48 = ( coinductive_LNil @ A ) ) ) ).
% 0.31/0.48
% 0.31/0.48 % ord.lmerge.ctr(1)
% 0.31/0.48 thf(fact_22_ord__class_Olmerge_Odisc_I2_J,axiom,
% 0.31/0.48 ! [A: $tType] :
% 0.31/0.48 ( ( ord @ A @ ( type2 @ A ) )
% 0.31/0.48 => ! [Xs: coinductive_llist @ A,Ys: coinductive_llist @ A] :
% 0.31/0.48 ( ~ ( coinductive_lnull @ A @ Xs )
% 0.31/0.48 => ( ~ ( coinductive_lnull @ A @ Ys )
% 0.31/0.48 => ~ ( coinductive_lnull @ A @ ( hammin1138290136lmerge @ A @ Xs @ Ys ) ) ) ) ) ).
% 0.31/0.48
% 0.31/0.48 % ord_class.lmerge.disc(2)
% 0.31/0.48 thf(fact_23_local_Olexordp__into__lexordp__eq,axiom,
% 0.31/0.48 ! [Xs: list @ a,Ys: list @ a] :
% 0.31/0.48 ( ( lexordp @ a @ less @ Xs @ Ys )
% 0.31/0.48 => ( lexordp_eq @ a @ less @ Xs @ Ys ) ) ).
% 0.31/0.48
% 0.31/0.48 % local.lexordp_into_lexordp_eq
% 0.31/0.48 thf(fact_24_lnull__def,axiom,
% 0.31/0.48 ! [A: $tType] :
% 0.31/0.48 ( ( coinductive_lnull @ A )
% 0.31/0.48 = ( ^ [Llist: coinductive_llist @ A] :
% 0.31/0.48 ( Llist
% 0.31/0.48 = ( coinductive_LNil @ A ) ) ) ) ).
% 0.31/0.48
% 0.31/0.48 % lnull_def
% 0.31/0.48 thf(fact_25_llist_Ocollapse_I1_J,axiom,
% 0.31/0.48 ! [A: $tType,Llist2: coinductive_llist @ A] :
% 0.31/0.48 ( ( coinductive_lnull @ A @ Llist2 )
% 0.31/0.48 => ( Llist2
% 0.31/0.48 = ( coinductive_LNil @ A ) ) ) ).
% 0.31/0.48
% 0.31/0.48 % llist.collapse(1)
% 0.31/0.48 thf(fact_26_llist_OdiscI_I1_J,axiom,
% 0.31/0.48 ! [A: $tType,Llist2: coinductive_llist @ A] :
% 0.31/0.48 ( ( Llist2
% 0.31/0.48 = ( coinductive_LNil @ A ) )
% 0.31/0.48 => ( coinductive_lnull @ A @ Llist2 ) ) ).
% 0.31/0.48
% 0.31/0.48 % llist.discI(1)
% 0.31/0.48 thf(fact_27_llist_Odisc_I1_J,axiom,
% 0.31/0.48 ! [A: $tType] : ( coinductive_lnull @ A @ ( coinductive_LNil @ A ) ) ).
% 0.31/0.48
% 0.31/0.48 % llist.disc(1)
% 0.31/0.48 thf(fact_28_ord__class_Olmerge_Octr_I1_J,axiom,
% 0.31/0.48 ! [A: $tType] :
% 0.31/0.48 ( ( ord @ A @ ( type2 @ A ) )
% 0.31/0.48 => ! [Xs: coinductive_llist @ A,Ys: coinductive_llist @ A] :
% 0.31/0.48 ( ( ( coinductive_lnull @ A @ Xs )
% 0.31/0.48 | ( coinductive_lnull @ A @ Ys ) )
% 0.31/0.48 => ( ( hammin1138290136lmerge @ A @ Xs @ Ys )
% 0.31/0.48 = ( coinductive_LNil @ A ) ) ) ) ).
% 0.31/0.48
% 0.31/0.48 % ord_class.lmerge.ctr(1)
% 0.31/0.48 thf(fact_29_ord__class_Olmerge_Odisc__iff_I1_J,axiom,
% 0.31/0.48 ! [A: $tType] :
% 0.31/0.48 ( ( ord @ A @ ( type2 @ A ) )
% 0.31/0.48 => ! [Xs: coinductive_llist @ A,Ys: coinductive_llist @ A] :
% 0.31/0.48 ( ( coinductive_lnull @ A @ ( hammin1138290136lmerge @ A @ Xs @ Ys ) )
% 0.31/0.48 = ( ( coinductive_lnull @ A @ Xs )
% 0.31/0.48 | ( coinductive_lnull @ A @ Ys ) ) ) ) ).
% 0.31/0.48
% 0.31/0.48 % ord_class.lmerge.disc_iff(1)
% 0.31/0.48 thf(fact_30_ord__class_Olmerge_Odisc__iff_I2_J,axiom,
% 0.31/0.48 ! [A: $tType] :
% 0.31/0.48 ( ( ord @ A @ ( type2 @ A ) )
% 0.31/0.48 => ! [Xs: coinductive_llist @ A,Ys: coinductive_llist @ A] :
% 0.31/0.48 ( ( ~ ( coinductive_lnull @ A @ ( hammin1138290136lmerge @ A @ Xs @ Ys ) ) )
% 0.31/0.48 = ( ~ ( coinductive_lnull @ A @ Xs )
% 0.31/0.48 & ~ ( coinductive_lnull @ A @ Ys ) ) ) ) ).
% 0.31/0.48
% 0.31/0.48 % ord_class.lmerge.disc_iff(2)
% 0.31/0.48 thf(fact_31_ord__class_Olmerge_Odisc_I1_J,axiom,
% 0.31/0.48 ! [A: $tType] :
% 0.31/0.48 ( ( ord @ A @ ( type2 @ A ) )
% 0.31/0.48 => ! [Xs: coinductive_llist @ A,Ys: coinductive_llist @ A] :
% 0.31/0.48 ( ( ( coinductive_lnull @ A @ Xs )
% 0.31/0.48 | ( coinductive_lnull @ A @ Ys ) )
% 0.31/0.48 => ( coinductive_lnull @ A @ ( hammin1138290136lmerge @ A @ Xs @ Ys ) ) ) ) ).
% 0.31/0.48
% 0.31/0.48 % ord_class.lmerge.disc(1)
% 0.31/0.48 thf(fact_32_local_OgreaterThanLessThan__eq,axiom,
% 0.31/0.48 ! [A2: a,B2: a] :
% 0.31/0.48 ( ( set_gr1161524159ssThan @ a @ less @ A2 @ B2 )
% 0.31/0.48 = ( inf_inf @ ( set @ a ) @ ( set_greaterThan @ a @ less @ A2 ) @ ( set_lessThan @ a @ less @ B2 ) ) ) ).
% 0.31/0.48
% 0.31/0.48 % local.greaterThanLessThan_eq
% 0.31/0.48 thf(fact_33_local_OgreaterThanLessThan__def,axiom,
% 0.31/0.48 ! [L: a,U: a] :
% 0.31/0.48 ( ( set_gr1161524159ssThan @ a @ less @ L @ U )
% 0.31/0.48 = ( inf_inf @ ( set @ a ) @ ( set_greaterThan @ a @ less @ L ) @ ( set_lessThan @ a @ less @ U ) ) ) ).
% 0.31/0.48
% 0.31/0.48 % local.greaterThanLessThan_def
% 0.31/0.48 thf(fact_34_local_Olexordp__eq_ONil,axiom,
% 0.31/0.48 ! [Ys: list @ a] : ( lexordp_eq @ a @ less @ ( nil @ a ) @ Ys ) ).
% 0.31/0.48
% 0.31/0.48 % local.lexordp_eq.Nil
% 0.31/0.48 thf(fact_35_local_Olexordp__eq_OCons__eq,axiom,
% 0.31/0.48 ! [X2: a,Y: a,Xs: list @ a,Ys: list @ a] :
% 0.31/0.48 ( ~ ( less @ X2 @ Y )
% 0.31/0.48 => ( ~ ( less @ Y @ X2 )
% 0.31/0.48 => ( ( lexordp_eq @ a @ less @ Xs @ Ys )
% 0.31/0.48 => ( lexordp_eq @ a @ less @ ( cons @ a @ X2 @ Xs ) @ ( cons @ a @ Y @ Ys ) ) ) ) ) ).
% 0.31/0.48
% 0.31/0.48 % local.lexordp_eq.Cons_eq
% 0.31/0.48 thf(fact_36_local_Olexordp__eq_OCons,axiom,
% 0.31/0.48 ! [X2: a,Y: a,Xs: list @ a,Ys: list @ a] :
% 0.31/0.48 ( ( less @ X2 @ Y )
% 0.31/0.48 => ( lexordp_eq @ a @ less @ ( cons @ a @ X2 @ Xs ) @ ( cons @ a @ Y @ Ys ) ) ) ).
% 0.31/0.48
% 0.31/0.48 % local.lexordp_eq.Cons
% 0.31/0.48 thf(fact_37_ord_Olexordp__into__lexordp__eq,axiom,
% 0.31/0.48 ! [A: $tType,Less: A > A > $o,Xs: list @ A,Ys: list @ A] :
% 0.31/0.48 ( ( lexordp @ A @ Less @ Xs @ Ys )
% 0.31/0.48 => ( lexordp_eq @ A @ Less @ Xs @ Ys ) ) ).
% 0.31/0.48
% 0.31/0.48 % ord.lexordp_into_lexordp_eq
% 0.31/0.48 thf(fact_38_local_Olexordp_OCons__eq,axiom,
% 0.31/0.48 ! [X2: a,Y: a,Xs: list @ a,Ys: list @ a] :
% 0.31/0.48 ( ~ ( less @ X2 @ Y )
% 0.31/0.48 => ( ~ ( less @ Y @ X2 )
% 0.31/0.48 => ( ( lexordp @ a @ less @ Xs @ Ys )
% 0.31/0.48 => ( lexordp @ a @ less @ ( cons @ a @ X2 @ Xs ) @ ( cons @ a @ Y @ Ys ) ) ) ) ) ).
% 0.31/0.48
% 0.31/0.48 % local.lexordp.Cons_eq
% 0.31/0.48 thf(fact_39_local_Olexordp_OCons,axiom,
% 0.31/0.48 ! [X2: a,Y: a,Xs: list @ a,Ys: list @ a] :
% 0.31/0.48 ( ( less @ X2 @ Y )
% 0.31/0.48 => ( lexordp @ a @ less @ ( cons @ a @ X2 @ Xs ) @ ( cons @ a @ Y @ Ys ) ) ) ).
% 0.31/0.48
% 0.31/0.48 % local.lexordp.Cons
% 0.31/0.48 thf(fact_40_local_Olexordp__append__leftI,axiom,
% 0.31/0.48 ! [Us: list @ a,Vs: list @ a,Xs: list @ a] :
% 0.31/0.48 ( ( lexordp @ a @ less @ Us @ Vs )
% 0.31/0.48 => ( lexordp @ a @ less @ ( append @ a @ Xs @ Us ) @ ( append @ a @ Xs @ Vs ) ) ) ).
% 0.31/0.48
% 0.31/0.48 % local.lexordp_append_leftI
% 0.31/0.48 thf(fact_41_local_Olexordp__append__leftD,axiom,
% 0.31/0.48 ! [Xs: list @ a,Us: list @ a,Vs: list @ a] :
% 0.31/0.48 ( ( lexordp @ a @ less @ ( append @ a @ Xs @ Us ) @ ( append @ a @ Xs @ Vs ) )
% 0.31/0.48 => ( ! [A3: a] :
% 0.31/0.48 ~ ( less @ A3 @ A3 )
% 0.31/0.48 => ( lexordp @ a @ less @ Us @ Vs ) ) ) ).
% 0.31/0.48
% 0.31/0.48 % local.lexordp_append_leftD
% 0.31/0.48 thf(fact_42_list_Oinject,axiom,
% 0.31/0.48 ! [A: $tType,X21: A,X22: list @ A,Y21: A,Y22: list @ A] :
% 0.31/0.48 ( ( ( cons @ A @ X21 @ X22 )
% 0.31/0.48 = ( cons @ A @ Y21 @ Y22 ) )
% 0.31/0.48 = ( ( X21 = Y21 )
% 0.31/0.48 & ( X22 = Y22 ) ) ) ).
% 0.31/0.48
% 0.31/0.48 % list.inject
% 0.31/0.48 thf(fact_43_mem__Collect__eq,axiom,
% 0.31/0.48 ! [A: $tType,A2: A,P: A > $o] :
% 0.31/0.48 ( ( member @ A @ A2 @ ( collect @ A @ P ) )
% 0.31/0.48 = ( P @ A2 ) ) ).
% 0.31/0.48
% 0.31/0.48 % mem_Collect_eq
% 0.31/0.48 thf(fact_44_Collect__mem__eq,axiom,
% 0.31/0.48 ! [A: $tType,A4: set @ A] :
% 0.31/0.48 ( ( collect @ A
% 0.31/0.48 @ ^ [X3: A] : ( member @ A @ X3 @ A4 ) )
% 0.31/0.48 = A4 ) ).
% 0.31/0.48
% 0.31/0.48 % Collect_mem_eq
% 0.31/0.48 thf(fact_45_Collect__cong,axiom,
% 0.31/0.48 ! [A: $tType,P: A > $o,Q: A > $o] :
% 0.31/0.48 ( ! [X: A] :
% 0.31/0.48 ( ( P @ X )
% 0.31/0.48 = ( Q @ X ) )
% 0.31/0.48 => ( ( collect @ A @ P )
% 0.31/0.48 = ( collect @ A @ Q ) ) ) ).
% 0.31/0.48
% 0.31/0.48 % Collect_cong
% 0.31/0.48 thf(fact_46_ext,axiom,
% 0.31/0.48 ! [B: $tType,A: $tType,F: A > B,G: A > B] :
% 0.31/0.48 ( ! [X: A] :
% 0.31/0.48 ( ( F @ X )
% 0.31/0.48 = ( G @ X ) )
% 0.31/0.48 => ( F = G ) ) ).
% 0.31/0.48
% 0.31/0.48 % ext
% 0.31/0.48 thf(fact_47_same__append__eq,axiom,
% 0.31/0.48 ! [A: $tType,Xs: list @ A,Ys: list @ A,Zs: list @ A] :
% 0.31/0.48 ( ( ( append @ A @ Xs @ Ys )
% 0.31/0.48 = ( append @ A @ Xs @ Zs ) )
% 0.31/0.48 = ( Ys = Zs ) ) ).
% 0.31/0.48
% 0.31/0.48 % same_append_eq
% 0.31/0.48 thf(fact_48_append__same__eq,axiom,
% 0.31/0.48 ! [A: $tType,Ys: list @ A,Xs: list @ A,Zs: list @ A] :
% 0.31/0.48 ( ( ( append @ A @ Ys @ Xs )
% 0.31/0.48 = ( append @ A @ Zs @ Xs ) )
% 0.31/0.48 = ( Ys = Zs ) ) ).
% 0.31/0.48
% 0.31/0.48 % append_same_eq
% 0.31/0.48 thf(fact_49_append__assoc,axiom,
% 0.31/0.48 ! [A: $tType,Xs: list @ A,Ys: list @ A,Zs: list @ A] :
% 0.31/0.48 ( ( append @ A @ ( append @ A @ Xs @ Ys ) @ Zs )
% 0.31/0.48 = ( append @ A @ Xs @ ( append @ A @ Ys @ Zs ) ) ) ).
% 0.31/0.48
% 0.31/0.48 % append_assoc
% 0.31/0.48 thf(fact_50_local_Olexordp_ONil,axiom,
% 0.31/0.48 ! [Y: a,Ys: list @ a] : ( lexordp @ a @ less @ ( nil @ a ) @ ( cons @ a @ Y @ Ys ) ) ).
% 0.31/0.48
% 0.31/0.48 % local.lexordp.Nil
% 0.31/0.48 thf(fact_51_local_Olexordp_Ocases,axiom,
% 0.31/0.48 ! [A1: list @ a,A22: list @ a] :
% 0.31/0.48 ( ( lexordp @ a @ less @ A1 @ A22 )
% 0.31/0.48 => ( ( ( A1
% 0.31/0.48 = ( nil @ a ) )
% 0.31/0.48 => ! [Y2: a,Ys2: list @ a] :
% 0.31/0.48 ( A22
% 0.31/0.48 != ( cons @ a @ Y2 @ Ys2 ) ) )
% 0.31/0.48 => ( ! [X: a] :
% 0.31/0.48 ( ? [Xs2: list @ a] :
% 0.31/0.48 ( A1
% 0.31/0.48 = ( cons @ a @ X @ Xs2 ) )
% 0.31/0.48 => ! [Y2: a] :
% 0.31/0.48 ( ? [Ys2: list @ a] :
% 0.31/0.48 ( A22
% 0.31/0.48 = ( cons @ a @ Y2 @ Ys2 ) )
% 0.31/0.48 => ~ ( less @ X @ Y2 ) ) )
% 0.31/0.48 => ~ ! [X: a,Y2: a,Xs2: list @ a] :
% 0.31/0.48 ( ( A1
% 0.31/0.48 = ( cons @ a @ X @ Xs2 ) )
% 0.31/0.48 => ! [Ys2: list @ a] :
% 0.31/0.48 ( ( A22
% 0.31/0.48 = ( cons @ a @ Y2 @ Ys2 ) )
% 0.31/0.48 => ( ~ ( less @ X @ Y2 )
% 0.31/0.48 => ( ~ ( less @ Y2 @ X )
% 0.31/0.48 => ~ ( lexordp @ a @ less @ Xs2 @ Ys2 ) ) ) ) ) ) ) ) ).
% 0.31/0.48
% 0.31/0.48 % local.lexordp.cases
% 0.31/0.48 thf(fact_52_local_Olexordp_Oinducts,axiom,
% 0.31/0.48 ! [X1: list @ a,X23: list @ a,P: ( list @ a ) > ( list @ a ) > $o] :
% 0.31/0.48 ( ( lexordp @ a @ less @ X1 @ X23 )
% 0.31/0.48 => ( ! [Y2: a,Ys2: list @ a] : ( P @ ( nil @ a ) @ ( cons @ a @ Y2 @ Ys2 ) )
% 0.31/0.48 => ( ! [X: a,Y2: a,Xs2: list @ a,Ys2: list @ a] :
% 0.31/0.48 ( ( less @ X @ Y2 )
% 0.31/0.48 => ( P @ ( cons @ a @ X @ Xs2 ) @ ( cons @ a @ Y2 @ Ys2 ) ) )
% 0.31/0.48 => ( ! [X: a,Y2: a,Xs2: list @ a,Ys2: list @ a] :
% 0.31/0.48 ( ~ ( less @ X @ Y2 )
% 0.31/0.48 => ( ~ ( less @ Y2 @ X )
% 0.31/0.48 => ( ( lexordp @ a @ less @ Xs2 @ Ys2 )
% 0.31/0.48 => ( ( P @ Xs2 @ Ys2 )
% 0.31/0.48 => ( P @ ( cons @ a @ X @ Xs2 ) @ ( cons @ a @ Y2 @ Ys2 ) ) ) ) ) )
% 0.31/0.48 => ( P @ X1 @ X23 ) ) ) ) ) ).
% 0.31/0.48
% 0.31/0.48 % local.lexordp.inducts
% 0.31/0.48 thf(fact_53_local_Olexordp_Osimps,axiom,
% 0.31/0.48 ! [A1: list @ a,A22: list @ a] :
% 0.31/0.48 ( ( lexordp @ a @ less @ A1 @ A22 )
% 0.31/0.48 = ( ? [Y3: a,Ys3: list @ a] :
% 0.31/0.48 ( ( A1
% 0.31/0.48 = ( nil @ a ) )
% 0.31/0.48 & ( A22
% 0.31/0.48 = ( cons @ a @ Y3 @ Ys3 ) ) )
% 0.31/0.48 | ? [X3: a,Y3: a,Xs3: list @ a,Ys3: list @ a] :
% 0.31/0.48 ( ( A1
% 0.31/0.48 = ( cons @ a @ X3 @ Xs3 ) )
% 0.31/0.48 & ( A22
% 0.31/0.48 = ( cons @ a @ Y3 @ Ys3 ) )
% 0.31/0.48 & ( less @ X3 @ Y3 ) )
% 0.31/0.48 | ? [X3: a,Y3: a,Xs3: list @ a,Ys3: list @ a] :
% 0.31/0.48 ( ( A1
% 0.31/0.48 = ( cons @ a @ X3 @ Xs3 ) )
% 0.31/0.48 & ( A22
% 0.31/0.48 = ( cons @ a @ Y3 @ Ys3 ) )
% 0.31/0.48 & ~ ( less @ X3 @ Y3 )
% 0.31/0.48 & ~ ( less @ Y3 @ X3 )
% 0.31/0.48 & ( lexordp @ a @ less @ Xs3 @ Ys3 ) ) ) ) ).
% 0.31/0.48
% 0.31/0.48 % local.lexordp.simps
% 0.31/0.48 thf(fact_54_local_Olexordp__eq_Ocases,axiom,
% 0.31/0.48 ! [A1: list @ a,A22: list @ a] :
% 0.31/0.48 ( ( lexordp_eq @ a @ less @ A1 @ A22 )
% 0.31/0.48 => ( ( ( A1
% 0.31/0.48 = ( nil @ a ) )
% 0.31/0.48 => ! [Ys2: list @ a] : ( A22 != Ys2 ) )
% 0.31/0.48 => ( ! [X: a] :
% 0.31/0.48 ( ? [Xs2: list @ a] :
% 0.31/0.48 ( A1
% 0.31/0.48 = ( cons @ a @ X @ Xs2 ) )
% 0.31/0.48 => ! [Y2: a] :
% 0.31/0.48 ( ? [Ys2: list @ a] :
% 0.31/0.48 ( A22
% 0.31/0.48 = ( cons @ a @ Y2 @ Ys2 ) )
% 0.31/0.48 => ~ ( less @ X @ Y2 ) ) )
% 0.31/0.48 => ~ ! [X: a,Y2: a,Xs2: list @ a] :
% 0.31/0.48 ( ( A1
% 0.31/0.48 = ( cons @ a @ X @ Xs2 ) )
% 0.31/0.48 => ! [Ys2: list @ a] :
% 0.31/0.48 ( ( A22
% 0.31/0.48 = ( cons @ a @ Y2 @ Ys2 ) )
% 0.31/0.48 => ( ~ ( less @ X @ Y2 )
% 0.31/0.48 => ( ~ ( less @ Y2 @ X )
% 0.31/0.48 => ~ ( lexordp_eq @ a @ less @ Xs2 @ Ys2 ) ) ) ) ) ) ) ) ).
% 0.31/0.48
% 0.31/0.48 % local.lexordp_eq.cases
% 0.31/0.48 thf(fact_55_local_Olexordp__eq_Oinducts,axiom,
% 0.31/0.48 ! [X1: list @ a,X23: list @ a,P: ( list @ a ) > ( list @ a ) > $o] :
% 0.31/0.48 ( ( lexordp_eq @ a @ less @ X1 @ X23 )
% 0.31/0.48 => ( ! [X12: list @ a] : ( P @ ( nil @ a ) @ X12 )
% 0.31/0.48 => ( ! [X: a,Y2: a,Xs2: list @ a,Ys2: list @ a] :
% 0.31/0.48 ( ( less @ X @ Y2 )
% 0.31/0.48 => ( P @ ( cons @ a @ X @ Xs2 ) @ ( cons @ a @ Y2 @ Ys2 ) ) )
% 0.31/0.48 => ( ! [X: a,Y2: a,Xs2: list @ a,Ys2: list @ a] :
% 0.31/0.48 ( ~ ( less @ X @ Y2 )
% 0.31/0.48 => ( ~ ( less @ Y2 @ X )
% 0.31/0.48 => ( ( lexordp_eq @ a @ less @ Xs2 @ Ys2 )
% 0.31/0.48 => ( ( P @ Xs2 @ Ys2 )
% 0.31/0.48 => ( P @ ( cons @ a @ X @ Xs2 ) @ ( cons @ a @ Y2 @ Ys2 ) ) ) ) ) )
% 0.31/0.48 => ( P @ X1 @ X23 ) ) ) ) ) ).
% 0.31/0.48
% 0.31/0.48 % local.lexordp_eq.inducts
% 0.31/0.48 thf(fact_56_local_Olexordp__eq_Osimps,axiom,
% 0.31/0.48 ! [A1: list @ a,A22: list @ a] :
% 0.31/0.48 ( ( lexordp_eq @ a @ less @ A1 @ A22 )
% 0.31/0.48 = ( ? [Ys3: list @ a] :
% 0.31/0.48 ( ( A1
% 0.31/0.48 = ( nil @ a ) )
% 0.31/0.48 & ( A22 = Ys3 ) )
% 0.31/0.48 | ? [X3: a,Y3: a,Xs3: list @ a,Ys3: list @ a] :
% 0.31/0.48 ( ( A1
% 0.31/0.48 = ( cons @ a @ X3 @ Xs3 ) )
% 0.31/0.48 & ( A22
% 0.31/0.48 = ( cons @ a @ Y3 @ Ys3 ) )
% 0.31/0.48 & ( less @ X3 @ Y3 ) )
% 0.31/0.48 | ? [X3: a,Y3: a,Xs3: list @ a,Ys3: list @ a] :
% 0.31/0.48 ( ( A1
% 0.31/0.48 = ( cons @ a @ X3 @ Xs3 ) )
% 0.31/0.48 & ( A22
% 0.31/0.48 = ( cons @ a @ Y3 @ Ys3 ) )
% 0.31/0.48 & ~ ( less @ X3 @ Y3 )
% 0.31/0.48 & ~ ( less @ Y3 @ X3 )
% 0.31/0.48 & ( lexordp_eq @ a @ less @ Xs3 @ Ys3 ) ) ) ) ).
% 0.31/0.48
% 0.31/0.48 % local.lexordp_eq.simps
% 0.31/0.48 thf(fact_57_local_Olexordp__append__left__rightI,axiom,
% 0.31/0.48 ! [X2: a,Y: a,Us: list @ a,Xs: list @ a,Ys: list @ a] :
% 0.31/0.48 ( ( less @ X2 @ Y )
% 0.31/0.48 => ( lexordp @ a @ less @ ( append @ a @ Us @ ( cons @ a @ X2 @ Xs ) ) @ ( append @ a @ Us @ ( cons @ a @ Y @ Ys ) ) ) ) ).
% 0.31/0.48
% 0.31/0.48 % local.lexordp_append_left_rightI
% 0.31/0.48 thf(fact_58_local_Olexordp__append__rightI,axiom,
% 0.31/0.48 ! [Ys: list @ a,Xs: list @ a] :
% 0.31/0.48 ( ( Ys
% 0.31/0.48 != ( nil @ a ) )
% 0.31/0.48 => ( lexordp @ a @ less @ Xs @ ( append @ a @ Xs @ Ys ) ) ) ).
% 0.31/0.48
% 0.31/0.48 % local.lexordp_append_rightI
% 0.31/0.48 thf(fact_59_append__is__Nil__conv,axiom,
% 0.31/0.48 ! [A: $tType,Xs: list @ A,Ys: list @ A] :
% 0.31/0.48 ( ( ( append @ A @ Xs @ Ys )
% 0.31/0.48 = ( nil @ A ) )
% 0.31/0.48 = ( ( Xs
% 0.31/0.48 = ( nil @ A ) )
% 0.31/0.48 & ( Ys
% 0.31/0.48 = ( nil @ A ) ) ) ) ).
% 0.31/0.48
% 0.31/0.48 % append_is_Nil_conv
% 0.31/0.48 thf(fact_60_Nil__is__append__conv,axiom,
% 0.31/0.48 ! [A: $tType,Xs: list @ A,Ys: list @ A] :
% 0.31/0.48 ( ( ( nil @ A )
% 0.31/0.48 = ( append @ A @ Xs @ Ys ) )
% 0.31/0.48 = ( ( Xs
% 0.31/0.48 = ( nil @ A ) )
% 0.31/0.48 & ( Ys
% 0.31/0.48 = ( nil @ A ) ) ) ) ).
% 0.31/0.48
% 0.31/0.48 % Nil_is_append_conv
% 0.31/0.48 thf(fact_61_self__append__conv2,axiom,
% 0.31/0.48 ! [A: $tType,Ys: list @ A,Xs: list @ A] :
% 0.31/0.48 ( ( Ys
% 0.31/0.48 = ( append @ A @ Xs @ Ys ) )
% 0.31/0.48 = ( Xs
% 0.31/0.48 = ( nil @ A ) ) ) ).
% 0.31/0.48
% 0.31/0.48 % self_append_conv2
% 0.31/0.48 thf(fact_62_append__self__conv2,axiom,
% 0.31/0.48 ! [A: $tType,Xs: list @ A,Ys: list @ A] :
% 0.31/0.48 ( ( ( append @ A @ Xs @ Ys )
% 0.31/0.48 = Ys )
% 0.31/0.48 = ( Xs
% 0.31/0.48 = ( nil @ A ) ) ) ).
% 0.31/0.48
% 0.31/0.48 % append_self_conv2
% 0.31/0.48 thf(fact_63_self__append__conv,axiom,
% 0.31/0.48 ! [A: $tType,Xs: list @ A,Ys: list @ A] :
% 0.31/0.48 ( ( Xs
% 0.31/0.48 = ( append @ A @ Xs @ Ys ) )
% 0.31/0.48 = ( Ys
% 0.31/0.48 = ( nil @ A ) ) ) ).
% 0.31/0.48
% 0.31/0.48 % self_append_conv
% 0.31/0.48 thf(fact_64_append__self__conv,axiom,
% 0.31/0.48 ! [A: $tType,Xs: list @ A,Ys: list @ A] :
% 0.31/0.48 ( ( ( append @ A @ Xs @ Ys )
% 0.31/0.48 = Xs )
% 0.31/0.48 = ( Ys
% 0.31/0.48 = ( nil @ A ) ) ) ).
% 0.31/0.48
% 0.31/0.48 % append_self_conv
% 0.31/0.48 thf(fact_65_append__Nil2,axiom,
% 0.31/0.48 ! [A: $tType,Xs: list @ A] :
% 0.31/0.48 ( ( append @ A @ Xs @ ( nil @ A ) )
% 0.31/0.48 = Xs ) ).
% 0.31/0.48
% 0.31/0.48 % append_Nil2
% 0.31/0.48 thf(fact_66_ord_Olexordp__simps_I3_J,axiom,
% 0.31/0.48 ! [A: $tType,Less: A > A > $o,X2: A,Xs: list @ A,Y: A,Ys: list @ A] :
% 0.31/0.48 ( ( lexordp @ A @ Less @ ( cons @ A @ X2 @ Xs ) @ ( cons @ A @ Y @ Ys ) )
% 0.31/0.48 = ( ( Less @ X2 @ Y )
% 0.31/0.48 | ( ~ ( Less @ Y @ X2 )
% 0.31/0.48 & ( lexordp @ A @ Less @ Xs @ Ys ) ) ) ) ).
% 0.31/0.48
% 0.31/0.48 % ord.lexordp_simps(3)
% 0.31/0.48 thf(fact_67_ord_Olexordp__eq__simps_I4_J,axiom,
% 0.31/0.48 ! [A: $tType,Less: A > A > $o,X2: A,Xs: list @ A,Y: A,Ys: list @ A] :
% 0.31/0.48 ( ( lexordp_eq @ A @ Less @ ( cons @ A @ X2 @ Xs ) @ ( cons @ A @ Y @ Ys ) )
% 0.31/0.48 = ( ( Less @ X2 @ Y )
% 0.31/0.48 | ( ~ ( Less @ Y @ X2 )
% 0.31/0.48 & ( lexordp_eq @ A @ Less @ Xs @ Ys ) ) ) ) ).
% 0.31/0.48
% 0.31/0.48 % ord.lexordp_eq_simps(4)
% 0.31/0.48 thf(fact_68_ord_Olexordp__simps_I1_J,axiom,
% 0.31/0.48 ! [A: $tType,Less: A > A > $o,Ys: list @ A] :
% 0.31/0.48 ( ( lexordp @ A @ Less @ ( nil @ A ) @ Ys )
% 0.31/0.48 = ( Ys
% 0.31/0.48 != ( nil @ A ) ) ) ).
% 0.31/0.48
% 0.31/0.48 % ord.lexordp_simps(1)
% 0.31/0.48 thf(fact_69_ord_Olexordp__simps_I2_J,axiom,
% 0.31/0.48 ! [A: $tType,Less: A > A > $o,Xs: list @ A] :
% 0.31/0.48 ~ ( lexordp @ A @ Less @ Xs @ ( nil @ A ) ) ).
% 0.31/0.48
% 0.31/0.48 % ord.lexordp_simps(2)
% 0.31/0.48 thf(fact_70_ord_Olexordp__eq__simps_I1_J,axiom,
% 0.31/0.48 ! [A: $tType,Less: A > A > $o,Ys: list @ A] : ( lexordp_eq @ A @ Less @ ( nil @ A ) @ Ys ) ).
% 0.31/0.48
% 0.31/0.48 % ord.lexordp_eq_simps(1)
% 0.31/0.48 thf(fact_71_ord_Olexordp__eq__simps_I2_J,axiom,
% 0.31/0.48 ! [A: $tType,Less: A > A > $o,Xs: list @ A] :
% 0.31/0.48 ( ( lexordp_eq @ A @ Less @ Xs @ ( nil @ A ) )
% 0.31/0.48 = ( Xs
% 0.31/0.48 = ( nil @ A ) ) ) ).
% 0.31/0.48
% 0.31/0.48 % ord.lexordp_eq_simps(2)
% 0.31/0.48 thf(fact_72_append1__eq__conv,axiom,
% 0.31/0.48 ! [A: $tType,Xs: list @ A,X2: A,Ys: list @ A,Y: A] :
% 0.31/0.48 ( ( ( append @ A @ Xs @ ( cons @ A @ X2 @ ( nil @ A ) ) )
% 0.31/0.48 = ( append @ A @ Ys @ ( cons @ A @ Y @ ( nil @ A ) ) ) )
% 0.31/0.48 = ( ( Xs = Ys )
% 0.31/0.48 & ( X2 = Y ) ) ) ).
% 0.31/0.48
% 0.31/0.48 % append1_eq_conv
% 0.31/0.48 thf(fact_73_ord_Olexordp__eq__simps_I3_J,axiom,
% 0.31/0.48 ! [A: $tType,Less: A > A > $o,X2: A,Xs: list @ A] :
% 0.31/0.48 ~ ( lexordp_eq @ A @ Less @ ( cons @ A @ X2 @ Xs ) @ ( nil @ A ) ) ).
% 0.31/0.48
% 0.31/0.48 % ord.lexordp_eq_simps(3)
% 0.31/0.48 thf(fact_74_local_Olexordp__simps_I3_J,axiom,
% 0.31/0.48 ! [X2: a,Xs: list @ a,Y: a,Ys: list @ a] :
% 0.31/0.48 ( ( lexordp @ a @ less @ ( cons @ a @ X2 @ Xs ) @ ( cons @ a @ Y @ Ys ) )
% 0.31/0.48 = ( ( less @ X2 @ Y )
% 0.31/0.48 | ( ~ ( less @ Y @ X2 )
% 0.31/0.48 & ( lexordp @ a @ less @ Xs @ Ys ) ) ) ) ).
% 0.31/0.48
% 0.31/0.48 % local.lexordp_simps(3)
% 0.31/0.48 thf(fact_75_local_Olexordp__eq__simps_I4_J,axiom,
% 0.31/0.48 ! [X2: a,Xs: list @ a,Y: a,Ys: list @ a] :
% 0.31/0.48 ( ( lexordp_eq @ a @ less @ ( cons @ a @ X2 @ Xs ) @ ( cons @ a @ Y @ Ys ) )
% 0.31/0.48 = ( ( less @ X2 @ Y )
% 0.31/0.48 | ( ~ ( less @ Y @ X2 )
% 0.31/0.48 & ( lexordp_eq @ a @ less @ Xs @ Ys ) ) ) ) ).
% 0.31/0.48
% 0.31/0.48 % local.lexordp_eq_simps(4)
% 0.31/0.48 thf(fact_76_local_Olexordp__simps_I2_J,axiom,
% 0.31/0.48 ! [Xs: list @ a] :
% 0.31/0.48 ~ ( lexordp @ a @ less @ Xs @ ( nil @ a ) ) ).
% 0.31/0.48
% 0.31/0.48 % local.lexordp_simps(2)
% 0.31/0.48 thf(fact_77_local_Olexordp__simps_I1_J,axiom,
% 0.31/0.48 ! [Ys: list @ a] :
% 0.31/0.48 ( ( lexordp @ a @ less @ ( nil @ a ) @ Ys )
% 0.31/0.48 = ( Ys
% 0.31/0.48 != ( nil @ a ) ) ) ).
% 0.31/0.48
% 0.31/0.48 % local.lexordp_simps(1)
% 0.31/0.48 thf(fact_78_local_Olexordp__eq__simps_I2_J,axiom,
% 0.31/0.48 ! [Xs: list @ a] :
% 0.31/0.48 ( ( lexordp_eq @ a @ less @ Xs @ ( nil @ a ) )
% 0.31/0.48 = ( Xs
% 0.31/0.48 = ( nil @ a ) ) ) ).
% 0.31/0.48
% 0.31/0.48 % local.lexordp_eq_simps(2)
% 0.31/0.48 thf(fact_79_local_Olexordp__eq__simps_I1_J,axiom,
% 0.31/0.48 ! [Ys: list @ a] : ( lexordp_eq @ a @ less @ ( nil @ a ) @ Ys ) ).
% 0.31/0.48
% 0.31/0.48 % local.lexordp_eq_simps(1)
% 0.31/0.48 thf(fact_80_local_Olexordp__eq__simps_I3_J,axiom,
% 0.31/0.48 ! [X2: a,Xs: list @ a] :
% 0.31/0.48 ~ ( lexordp_eq @ a @ less @ ( cons @ a @ X2 @ Xs ) @ ( nil @ a ) ) ).
% 0.31/0.48
% 0.31/0.48 % local.lexordp_eq_simps(3)
% 0.31/0.48 thf(fact_81_ord_Olexordp_ONil,axiom,
% 0.31/0.48 ! [A: $tType,Less: A > A > $o,Y: A,Ys: list @ A] : ( lexordp @ A @ Less @ ( nil @ A ) @ ( cons @ A @ Y @ Ys ) ) ).
% 0.31/0.48
% 0.31/0.48 % ord.lexordp.Nil
% 0.31/0.48 thf(fact_82_ord_Olexordp_Ocases,axiom,
% 0.31/0.48 ! [A: $tType,Less: A > A > $o,A1: list @ A,A22: list @ A] :
% 0.31/0.48 ( ( lexordp @ A @ Less @ A1 @ A22 )
% 0.31/0.48 => ( ( ( A1
% 0.31/0.48 = ( nil @ A ) )
% 0.31/0.48 => ! [Y2: A,Ys2: list @ A] :
% 0.31/0.48 ( A22
% 0.31/0.48 != ( cons @ A @ Y2 @ Ys2 ) ) )
% 0.31/0.48 => ( ! [X: A] :
% 0.31/0.48 ( ? [Xs2: list @ A] :
% 0.31/0.48 ( A1
% 0.31/0.48 = ( cons @ A @ X @ Xs2 ) )
% 0.31/0.48 => ! [Y2: A] :
% 0.31/0.48 ( ? [Ys2: list @ A] :
% 0.31/0.48 ( A22
% 0.31/0.48 = ( cons @ A @ Y2 @ Ys2 ) )
% 0.31/0.48 => ~ ( Less @ X @ Y2 ) ) )
% 0.31/0.48 => ~ ! [X: A,Y2: A,Xs2: list @ A] :
% 0.31/0.48 ( ( A1
% 0.31/0.48 = ( cons @ A @ X @ Xs2 ) )
% 0.31/0.48 => ! [Ys2: list @ A] :
% 0.31/0.48 ( ( A22
% 0.31/0.48 = ( cons @ A @ Y2 @ Ys2 ) )
% 0.31/0.48 => ( ~ ( Less @ X @ Y2 )
% 0.31/0.48 => ( ~ ( Less @ Y2 @ X )
% 0.31/0.48 => ~ ( lexordp @ A @ Less @ Xs2 @ Ys2 ) ) ) ) ) ) ) ) ).
% 0.31/0.48
% 0.31/0.48 % ord.lexordp.cases
% 0.31/0.48 thf(fact_83_ord_Olexordp_Osimps,axiom,
% 0.31/0.48 ! [A: $tType] :
% 0.31/0.48 ( ( lexordp @ A )
% 0.31/0.48 = ( ^ [Less2: A > A > $o,A12: list @ A,A23: list @ A] :
% 0.31/0.48 ( ? [Y3: A,Ys3: list @ A] :
% 0.31/0.48 ( ( A12
% 0.31/0.48 = ( nil @ A ) )
% 0.31/0.48 & ( A23
% 0.31/0.48 = ( cons @ A @ Y3 @ Ys3 ) ) )
% 0.31/0.48 | ? [X3: A,Y3: A,Xs3: list @ A,Ys3: list @ A] :
% 0.31/0.48 ( ( A12
% 0.31/0.49 = ( cons @ A @ X3 @ Xs3 ) )
% 0.31/0.49 & ( A23
% 0.31/0.49 = ( cons @ A @ Y3 @ Ys3 ) )
% 0.31/0.49 & ( Less2 @ X3 @ Y3 ) )
% 0.31/0.49 | ? [X3: A,Y3: A,Xs3: list @ A,Ys3: list @ A] :
% 0.31/0.49 ( ( A12
% 0.31/0.49 = ( cons @ A @ X3 @ Xs3 ) )
% 0.31/0.49 & ( A23
% 0.31/0.49 = ( cons @ A @ Y3 @ Ys3 ) )
% 0.31/0.49 & ~ ( Less2 @ X3 @ Y3 )
% 0.31/0.49 & ~ ( Less2 @ Y3 @ X3 )
% 0.31/0.49 & ( lexordp @ A @ Less2 @ Xs3 @ Ys3 ) ) ) ) ) ).
% 0.31/0.49
% 0.31/0.49 % ord.lexordp.simps
% 0.31/0.49 thf(fact_84_ord_Olexordp_Oinducts,axiom,
% 0.31/0.49 ! [A: $tType,Less: A > A > $o,X1: list @ A,X23: list @ A,P: ( list @ A ) > ( list @ A ) > $o] :
% 0.31/0.49 ( ( lexordp @ A @ Less @ X1 @ X23 )
% 0.31/0.49 => ( ! [Y2: A,Ys2: list @ A] : ( P @ ( nil @ A ) @ ( cons @ A @ Y2 @ Ys2 ) )
% 0.31/0.49 => ( ! [X: A,Y2: A,Xs2: list @ A,Ys2: list @ A] :
% 0.31/0.49 ( ( Less @ X @ Y2 )
% 0.31/0.49 => ( P @ ( cons @ A @ X @ Xs2 ) @ ( cons @ A @ Y2 @ Ys2 ) ) )
% 0.31/0.49 => ( ! [X: A,Y2: A,Xs2: list @ A,Ys2: list @ A] :
% 0.31/0.49 ( ~ ( Less @ X @ Y2 )
% 0.31/0.49 => ( ~ ( Less @ Y2 @ X )
% 0.31/0.49 => ( ( lexordp @ A @ Less @ Xs2 @ Ys2 )
% 0.31/0.49 => ( ( P @ Xs2 @ Ys2 )
% 0.31/0.49 => ( P @ ( cons @ A @ X @ Xs2 ) @ ( cons @ A @ Y2 @ Ys2 ) ) ) ) ) )
% 0.31/0.49 => ( P @ X1 @ X23 ) ) ) ) ) ).
% 0.31/0.49
% 0.31/0.49 % ord.lexordp.inducts
% 0.31/0.49 thf(fact_85_ord_Olexordp__eq_Ocases,axiom,
% 0.31/0.49 ! [A: $tType,Less: A > A > $o,A1: list @ A,A22: list @ A] :
% 0.31/0.49 ( ( lexordp_eq @ A @ Less @ A1 @ A22 )
% 0.31/0.49 => ( ( ( A1
% 0.31/0.49 = ( nil @ A ) )
% 0.31/0.49 => ! [Ys2: list @ A] : ( A22 != Ys2 ) )
% 0.31/0.49 => ( ! [X: A] :
% 0.31/0.49 ( ? [Xs2: list @ A] :
% 0.31/0.49 ( A1
% 0.31/0.49 = ( cons @ A @ X @ Xs2 ) )
% 0.31/0.49 => ! [Y2: A] :
% 0.31/0.49 ( ? [Ys2: list @ A] :
% 0.31/0.49 ( A22
% 0.31/0.49 = ( cons @ A @ Y2 @ Ys2 ) )
% 0.31/0.49 => ~ ( Less @ X @ Y2 ) ) )
% 0.31/0.49 => ~ ! [X: A,Y2: A,Xs2: list @ A] :
% 0.31/0.49 ( ( A1
% 0.31/0.49 = ( cons @ A @ X @ Xs2 ) )
% 0.31/0.49 => ! [Ys2: list @ A] :
% 0.31/0.49 ( ( A22
% 0.31/0.49 = ( cons @ A @ Y2 @ Ys2 ) )
% 0.31/0.49 => ( ~ ( Less @ X @ Y2 )
% 0.31/0.49 => ( ~ ( Less @ Y2 @ X )
% 0.31/0.49 => ~ ( lexordp_eq @ A @ Less @ Xs2 @ Ys2 ) ) ) ) ) ) ) ) ).
% 0.31/0.49
% 0.31/0.49 % ord.lexordp_eq.cases
% 0.31/0.49 thf(fact_86_ord_Olexordp__eq_Osimps,axiom,
% 0.31/0.49 ! [A: $tType] :
% 0.31/0.49 ( ( lexordp_eq @ A )
% 0.31/0.49 = ( ^ [Less2: A > A > $o,A12: list @ A,A23: list @ A] :
% 0.31/0.49 ( ? [Ys3: list @ A] :
% 0.31/0.49 ( ( A12
% 0.31/0.49 = ( nil @ A ) )
% 0.31/0.49 & ( A23 = Ys3 ) )
% 0.31/0.49 | ? [X3: A,Y3: A,Xs3: list @ A,Ys3: list @ A] :
% 0.31/0.49 ( ( A12
% 0.31/0.49 = ( cons @ A @ X3 @ Xs3 ) )
% 0.31/0.49 & ( A23
% 0.31/0.49 = ( cons @ A @ Y3 @ Ys3 ) )
% 0.31/0.49 & ( Less2 @ X3 @ Y3 ) )
% 0.31/0.49 | ? [X3: A,Y3: A,Xs3: list @ A,Ys3: list @ A] :
% 0.31/0.49 ( ( A12
% 0.31/0.49 = ( cons @ A @ X3 @ Xs3 ) )
% 0.31/0.49 & ( A23
% 0.31/0.49 = ( cons @ A @ Y3 @ Ys3 ) )
% 0.31/0.49 & ~ ( Less2 @ X3 @ Y3 )
% 0.31/0.49 & ~ ( Less2 @ Y3 @ X3 )
% 0.31/0.49 & ( lexordp_eq @ A @ Less2 @ Xs3 @ Ys3 ) ) ) ) ) ).
% 0.31/0.49
% 0.31/0.49 % ord.lexordp_eq.simps
% 0.31/0.49 thf(fact_87_ord_Olexordp__eq_Oinducts,axiom,
% 0.31/0.49 ! [A: $tType,Less: A > A > $o,X1: list @ A,X23: list @ A,P: ( list @ A ) > ( list @ A ) > $o] :
% 0.31/0.49 ( ( lexordp_eq @ A @ Less @ X1 @ X23 )
% 0.31/0.49 => ( ! [X12: list @ A] : ( P @ ( nil @ A ) @ X12 )
% 0.31/0.49 => ( ! [X: A,Y2: A,Xs2: list @ A,Ys2: list @ A] :
% 0.31/0.49 ( ( Less @ X @ Y2 )
% 0.31/0.49 => ( P @ ( cons @ A @ X @ Xs2 ) @ ( cons @ A @ Y2 @ Ys2 ) ) )
% 0.31/0.49 => ( ! [X: A,Y2: A,Xs2: list @ A,Ys2: list @ A] :
% 0.31/0.49 ( ~ ( Less @ X @ Y2 )
% 0.31/0.49 => ( ~ ( Less @ Y2 @ X )
% 0.31/0.49 => ( ( lexordp_eq @ A @ Less @ Xs2 @ Ys2 )
% 0.31/0.49 => ( ( P @ Xs2 @ Ys2 )
% 0.31/0.49 => ( P @ ( cons @ A @ X @ Xs2 ) @ ( cons @ A @ Y2 @ Ys2 ) ) ) ) ) )
% 0.31/0.49 => ( P @ X1 @ X23 ) ) ) ) ) ).
% 0.31/0.49
% 0.31/0.49 % ord.lexordp_eq.inducts
% 0.31/0.49 thf(fact_88_ord_Olexordp__append__rightI,axiom,
% 0.31/0.49 ! [A: $tType,Ys: list @ A,Less: A > A > $o,Xs: list @ A] :
% 0.31/0.49 ( ( Ys
% 0.31/0.49 != ( nil @ A ) )
% 0.31/0.49 => ( lexordp @ A @ Less @ Xs @ ( append @ A @ Xs @ Ys ) ) ) ).
% 0.31/0.49
% 0.31/0.49 % ord.lexordp_append_rightI
% 0.31/0.49 thf(fact_89_ord_Olexordp__append__left__rightI,axiom,
% 0.31/0.49 ! [A: $tType,Less: A > A > $o,X2: A,Y: A,Us: list @ A,Xs: list @ A,Ys: list @ A] :
% 0.31/0.49 ( ( Less @ X2 @ Y )
% 0.31/0.49 => ( lexordp @ A @ Less @ ( append @ A @ Us @ ( cons @ A @ X2 @ Xs ) ) @ ( append @ A @ Us @ ( cons @ A @ Y @ Ys ) ) ) ) ).
% 0.31/0.49
% 0.31/0.49 % ord.lexordp_append_left_rightI
% 0.31/0.49 thf(fact_90_map__tailrec__rev_Oinduct,axiom,
% 0.31/0.49 ! [A: $tType,B: $tType,P: ( A > B ) > ( list @ A ) > ( list @ B ) > $o,A0: A > B,A1: list @ A,A22: list @ B] :
% 0.31/0.49 ( ! [F2: A > B,X12: list @ B] : ( P @ F2 @ ( nil @ A ) @ X12 )
% 0.31/0.49 => ( ! [F2: A > B,A3: A,As: list @ A,Bs: list @ B] :
% 0.31/0.49 ( ( P @ F2 @ As @ ( cons @ B @ ( F2 @ A3 ) @ Bs ) )
% 0.31/0.49 => ( P @ F2 @ ( cons @ A @ A3 @ As ) @ Bs ) )
% 0.31/0.49 => ( P @ A0 @ A1 @ A22 ) ) ) ).
% 0.31/0.49
% 0.31/0.49 % map_tailrec_rev.induct
% 0.31/0.49 thf(fact_91_append__eq__append__conv2,axiom,
% 0.31/0.49 ! [A: $tType,Xs: list @ A,Ys: list @ A,Zs: list @ A,Ts: list @ A] :
% 0.31/0.49 ( ( ( append @ A @ Xs @ Ys )
% 0.31/0.49 = ( append @ A @ Zs @ Ts ) )
% 0.31/0.49 = ( ? [Us2: list @ A] :
% 0.31/0.49 ( ( ( Xs
% 0.31/0.49 = ( append @ A @ Zs @ Us2 ) )
% 0.31/0.49 & ( ( append @ A @ Us2 @ Ys )
% 0.31/0.49 = Ts ) )
% 0.31/0.49 | ( ( ( append @ A @ Xs @ Us2 )
% 0.31/0.49 = Zs )
% 0.31/0.49 & ( Ys
% 0.31/0.49 = ( append @ A @ Us2 @ Ts ) ) ) ) ) ) ).
% 0.31/0.49
% 0.31/0.49 % append_eq_append_conv2
% 0.31/0.49 thf(fact_92_list__nonempty__induct,axiom,
% 0.31/0.49 ! [A: $tType,Xs: list @ A,P: ( list @ A ) > $o] :
% 0.31/0.49 ( ( Xs
% 0.31/0.49 != ( nil @ A ) )
% 0.31/0.49 => ( ! [X: A] : ( P @ ( cons @ A @ X @ ( nil @ A ) ) )
% 0.31/0.49 => ( ! [X: A,Xs2: list @ A] :
% 0.31/0.49 ( ( Xs2
% 0.31/0.49 != ( nil @ A ) )
% 0.31/0.49 => ( ( P @ Xs2 )
% 0.31/0.49 => ( P @ ( cons @ A @ X @ Xs2 ) ) ) )
% 0.31/0.49 => ( P @ Xs ) ) ) ) ).
% 0.31/0.49
% 0.31/0.49 % list_nonempty_induct
% 0.31/0.49 thf(fact_93_rev__nonempty__induct,axiom,
% 0.31/0.49 ! [A: $tType,Xs: list @ A,P: ( list @ A ) > $o] :
% 0.31/0.49 ( ( Xs
% 0.31/0.49 != ( nil @ A ) )
% 0.31/0.49 => ( ! [X: A] : ( P @ ( cons @ A @ X @ ( nil @ A ) ) )
% 0.31/0.49 => ( ! [X: A,Xs2: list @ A] :
% 0.31/0.49 ( ( Xs2
% 0.31/0.49 != ( nil @ A ) )
% 0.31/0.49 => ( ( P @ Xs2 )
% 0.31/0.49 => ( P @ ( append @ A @ Xs2 @ ( cons @ A @ X @ ( nil @ A ) ) ) ) ) )
% 0.31/0.49 => ( P @ Xs ) ) ) ) ).
% 0.31/0.49
% 0.31/0.49 % rev_nonempty_induct
% 0.31/0.49 thf(fact_94_append__eq__Cons__conv,axiom,
% 0.31/0.49 ! [A: $tType,Ys: list @ A,Zs: list @ A,X2: A,Xs: list @ A] :
% 0.31/0.49 ( ( ( append @ A @ Ys @ Zs )
% 0.31/0.49 = ( cons @ A @ X2 @ Xs ) )
% 0.31/0.49 = ( ( ( Ys
% 0.31/0.49 = ( nil @ A ) )
% 0.31/0.49 & ( Zs
% 0.31/0.49 = ( cons @ A @ X2 @ Xs ) ) )
% 0.31/0.49 | ? [Ys4: list @ A] :
% 0.31/0.49 ( ( Ys
% 0.31/0.49 = ( cons @ A @ X2 @ Ys4 ) )
% 0.31/0.49 & ( ( append @ A @ Ys4 @ Zs )
% 0.31/0.49 = Xs ) ) ) ) ).
% 0.31/0.49
% 0.31/0.49 % append_eq_Cons_conv
% 0.31/0.49 thf(fact_95_Cons__eq__append__conv,axiom,
% 0.31/0.49 ! [A: $tType,X2: A,Xs: list @ A,Ys: list @ A,Zs: list @ A] :
% 0.31/0.49 ( ( ( cons @ A @ X2 @ Xs )
% 0.31/0.49 = ( append @ A @ Ys @ Zs ) )
% 0.31/0.49 = ( ( ( Ys
% 0.31/0.49 = ( nil @ A ) )
% 0.31/0.49 & ( ( cons @ A @ X2 @ Xs )
% 0.31/0.49 = Zs ) )
% 0.31/0.49 | ? [Ys4: list @ A] :
% 0.31/0.49 ( ( ( cons @ A @ X2 @ Ys4 )
% 0.31/0.49 = Ys )
% 0.31/0.49 & ( Xs
% 0.31/0.49 = ( append @ A @ Ys4 @ Zs ) ) ) ) ) ).
% 0.31/0.49
% 0.31/0.49 % Cons_eq_append_conv
% 0.31/0.49 thf(fact_96_remdups__adj_Oinduct,axiom,
% 0.31/0.49 ! [A: $tType,P: ( list @ A ) > $o,A0: list @ A] :
% 0.31/0.49 ( ( P @ ( nil @ A ) )
% 0.31/0.49 => ( ! [X: A] : ( P @ ( cons @ A @ X @ ( nil @ A ) ) )
% 0.31/0.49 => ( ! [X: A,Y2: A,Xs2: list @ A] :
% 0.31/0.49 ( ( ( X = Y2 )
% 0.31/0.49 => ( P @ ( cons @ A @ X @ Xs2 ) ) )
% 0.31/0.49 => ( ( ( X != Y2 )
% 0.31/0.49 => ( P @ ( cons @ A @ Y2 @ Xs2 ) ) )
% 0.31/0.49 => ( P @ ( cons @ A @ X @ ( cons @ A @ Y2 @ Xs2 ) ) ) ) )
% 0.31/0.49 => ( P @ A0 ) ) ) ) ).
% 0.31/0.49
% 0.31/0.49 % remdups_adj.induct
% 0.31/0.49 thf(fact_97_append__Cons,axiom,
% 0.31/0.49 ! [A: $tType,X2: A,Xs: list @ A,Ys: list @ A] :
% 0.31/0.49 ( ( append @ A @ ( cons @ A @ X2 @ Xs ) @ Ys )
% 0.31/0.49 = ( cons @ A @ X2 @ ( append @ A @ Xs @ Ys ) ) ) ).
% 0.31/0.49
% 0.31/0.49 % append_Cons
% 0.31/0.49 thf(fact_98_remdups__adj_Ocases,axiom,
% 0.31/0.49 ! [A: $tType,X2: list @ A] :
% 0.31/0.49 ( ( X2
% 0.31/0.49 != ( nil @ A ) )
% 0.31/0.49 => ( ! [X: A] :
% 0.31/0.49 ( X2
% 0.31/0.49 != ( cons @ A @ X @ ( nil @ A ) ) )
% 0.31/0.49 => ~ ! [X: A,Y2: A,Xs2: list @ A] :
% 0.31/0.49 ( X2
% 0.31/0.49 != ( cons @ A @ X @ ( cons @ A @ Y2 @ Xs2 ) ) ) ) ) ).
% 0.31/0.49
% 0.31/0.49 % remdups_adj.cases
% 0.31/0.49 thf(fact_99_append__eq__appendI,axiom,
% 0.31/0.49 ! [A: $tType,Xs: list @ A,Xs1: list @ A,Zs: list @ A,Ys: list @ A,Us: list @ A] :
% 0.31/0.49 ( ( ( append @ A @ Xs @ Xs1 )
% 0.31/0.49 = Zs )
% 0.31/0.49 => ( ( Ys
% 0.31/0.49 = ( append @ A @ Xs1 @ Us ) )
% 0.31/0.49 => ( ( append @ A @ Xs @ Ys )
% 0.31/0.49 = ( append @ A @ Zs @ Us ) ) ) ) ).
% 0.31/0.49
% 0.31/0.49 % append_eq_appendI
% 0.31/0.49 thf(fact_100_append__Nil,axiom,
% 0.31/0.49 ! [A: $tType,Ys: list @ A] :
% 0.31/0.49 ( ( append @ A @ ( nil @ A ) @ Ys )
% 0.31/0.49 = Ys ) ).
% 0.31/0.49
% 0.31/0.49 % append_Nil
% 0.31/0.49 thf(fact_101_transpose_Ocases,axiom,
% 0.31/0.49 ! [A: $tType,X2: list @ ( list @ A )] :
% 0.31/0.49 ( ( X2
% 0.31/0.49 != ( nil @ ( list @ A ) ) )
% 0.31/0.49 => ( ! [Xss: list @ ( list @ A )] :
% 0.31/0.49 ( X2
% 0.31/0.49 != ( cons @ ( list @ A ) @ ( nil @ A ) @ Xss ) )
% 0.31/0.49 => ~ ! [X: A,Xs2: list @ A,Xss: list @ ( list @ A )] :
% 0.31/0.49 ( X2
% 0.31/0.49 != ( cons @ ( list @ A ) @ ( cons @ A @ X @ Xs2 ) @ Xss ) ) ) ) ).
% 0.31/0.49
% 0.31/0.49 % transpose.cases
% 0.31/0.49 thf(fact_102_Cons__eq__appendI,axiom,
% 0.31/0.49 ! [A: $tType,X2: A,Xs1: list @ A,Ys: list @ A,Xs: list @ A,Zs: list @ A] :
% 0.31/0.49 ( ( ( cons @ A @ X2 @ Xs1 )
% 0.31/0.49 = Ys )
% 0.31/0.49 => ( ( Xs
% 0.31/0.49 = ( append @ A @ Xs1 @ Zs ) )
% 0.31/0.49 => ( ( cons @ A @ X2 @ Xs )
% 0.31/0.49 = ( append @ A @ Ys @ Zs ) ) ) ) ).
% 0.31/0.49
% 0.31/0.49 % Cons_eq_appendI
% 0.31/0.49 thf(fact_103_not__Cons__self2,axiom,
% 0.31/0.49 ! [A: $tType,X2: A,Xs: list @ A] :
% 0.31/0.49 ( ( cons @ A @ X2 @ Xs )
% 0.31/0.49 != Xs ) ).
% 0.31/0.49
% 0.31/0.49 % not_Cons_self2
% 0.31/0.49 thf(fact_104_eq__Nil__appendI,axiom,
% 0.31/0.49 ! [A: $tType,Xs: list @ A,Ys: list @ A] :
% 0.31/0.49 ( ( Xs = Ys )
% 0.31/0.49 => ( Xs
% 0.31/0.49 = ( append @ A @ ( nil @ A ) @ Ys ) ) ) ).
% 0.31/0.49
% 0.31/0.49 % eq_Nil_appendI
% 0.31/0.49 thf(fact_105_splice_Oinduct,axiom,
% 0.31/0.49 ! [A: $tType,P: ( list @ A ) > ( list @ A ) > $o,A0: list @ A,A1: list @ A] :
% 0.31/0.49 ( ! [X12: list @ A] : ( P @ ( nil @ A ) @ X12 )
% 0.31/0.49 => ( ! [V: A,Va: list @ A] : ( P @ ( cons @ A @ V @ Va ) @ ( nil @ A ) )
% 0.31/0.49 => ( ! [X: A,Xs2: list @ A,Y2: A,Ys2: list @ A] :
% 0.31/0.49 ( ( P @ Xs2 @ Ys2 )
% 0.31/0.49 => ( P @ ( cons @ A @ X @ Xs2 ) @ ( cons @ A @ Y2 @ Ys2 ) ) )
% 0.31/0.49 => ( P @ A0 @ A1 ) ) ) ) ).
% 0.31/0.49
% 0.31/0.49 % splice.induct
% 0.31/0.49 thf(fact_106_list__induct2_H,axiom,
% 0.31/0.49 ! [A: $tType,B: $tType,P: ( list @ A ) > ( list @ B ) > $o,Xs: list @ A,Ys: list @ B] :
% 0.31/0.49 ( ( P @ ( nil @ A ) @ ( nil @ B ) )
% 0.31/0.49 => ( ! [X: A,Xs2: list @ A] : ( P @ ( cons @ A @ X @ Xs2 ) @ ( nil @ B ) )
% 0.31/0.49 => ( ! [Y2: B,Ys2: list @ B] : ( P @ ( nil @ A ) @ ( cons @ B @ Y2 @ Ys2 ) )
% 0.31/0.49 => ( ! [X: A,Xs2: list @ A,Y2: B,Ys2: list @ B] :
% 0.31/0.49 ( ( P @ Xs2 @ Ys2 )
% 0.31/0.49 => ( P @ ( cons @ A @ X @ Xs2 ) @ ( cons @ B @ Y2 @ Ys2 ) ) )
% 0.31/0.49 => ( P @ Xs @ Ys ) ) ) ) ) ).
% 0.31/0.49
% 0.31/0.49 % list_induct2'
% 0.31/0.49 thf(fact_107_neq__Nil__conv,axiom,
% 0.31/0.49 ! [A: $tType,Xs: list @ A] :
% 0.31/0.49 ( ( Xs
% 0.31/0.49 != ( nil @ A ) )
% 0.31/0.49 = ( ? [Y3: A,Ys3: list @ A] :
% 0.31/0.49 ( Xs
% 0.31/0.49 = ( cons @ A @ Y3 @ Ys3 ) ) ) ) ).
% 0.31/0.49
% 0.31/0.49 % neq_Nil_conv
% 0.31/0.49 thf(fact_108_list_Oinducts,axiom,
% 0.31/0.49 ! [A: $tType,P: ( list @ A ) > $o,List: list @ A] :
% 0.31/0.49 ( ( P @ ( nil @ A ) )
% 0.31/0.49 => ( ! [X12: A,X24: list @ A] :
% 0.31/0.49 ( ( P @ X24 )
% 0.31/0.49 => ( P @ ( cons @ A @ X12 @ X24 ) ) )
% 0.31/0.49 => ( P @ List ) ) ) ).
% 0.31/0.49
% 0.31/0.49 % list.inducts
% 0.31/0.49 thf(fact_109_list_Oexhaust,axiom,
% 0.31/0.49 ! [A: $tType,Y: list @ A] :
% 0.31/0.49 ( ( Y
% 0.31/0.49 != ( nil @ A ) )
% 0.31/0.49 => ~ ! [X212: A,X222: list @ A] :
% 0.31/0.49 ( Y
% 0.31/0.49 != ( cons @ A @ X212 @ X222 ) ) ) ).
% 0.31/0.49
% 0.31/0.49 % list.exhaust
% 0.31/0.49 thf(fact_110_rev__exhaust,axiom,
% 0.31/0.49 ! [A: $tType,Xs: list @ A] :
% 0.31/0.49 ( ( Xs
% 0.31/0.49 != ( nil @ A ) )
% 0.31/0.49 => ~ ! [Ys2: list @ A,Y2: A] :
% 0.31/0.49 ( Xs
% 0.31/0.49 != ( append @ A @ Ys2 @ ( cons @ A @ Y2 @ ( nil @ A ) ) ) ) ) ).
% 0.31/0.49
% 0.31/0.49 % rev_exhaust
% 0.31/0.49 thf(fact_111_rev__induct,axiom,
% 0.31/0.49 ! [A: $tType,P: ( list @ A ) > $o,Xs: list @ A] :
% 0.31/0.49 ( ( P @ ( nil @ A ) )
% 0.31/0.49 => ( ! [X: A,Xs2: list @ A] :
% 0.31/0.49 ( ( P @ Xs2 )
% 0.31/0.49 => ( P @ ( append @ A @ Xs2 @ ( cons @ A @ X @ ( nil @ A ) ) ) ) )
% 0.31/0.49 => ( P @ Xs ) ) ) ).
% 0.31/0.49
% 0.31/0.49 % rev_induct
% 0.31/0.49 thf(fact_112_list_OdiscI,axiom,
% 0.31/0.49 ! [A: $tType,List: list @ A,X21: A,X22: list @ A] :
% 0.31/0.49 ( ( List
% 0.31/0.49 = ( cons @ A @ X21 @ X22 ) )
% 0.31/0.49 => ( List
% 0.31/0.49 != ( nil @ A ) ) ) ).
% 0.31/0.49
% 0.31/0.49 % list.discI
% 0.31/0.49 thf(fact_113_list_Odistinct_I1_J,axiom,
% 0.31/0.49 ! [A: $tType,X21: A,X22: list @ A] :
% 0.31/0.49 ( ( nil @ A )
% 0.31/0.49 != ( cons @ A @ X21 @ X22 ) ) ).
% 0.31/0.49
% 0.31/0.49 % list.distinct(1)
% 0.31/0.49 thf(fact_114_ord_Olexordp__append__leftI,axiom,
% 0.31/0.49 ! [A: $tType,Less: A > A > $o,Us: list @ A,Vs: list @ A,Xs: list @ A] :
% 0.31/0.49 ( ( lexordp @ A @ Less @ Us @ Vs )
% 0.31/0.49 => ( lexordp @ A @ Less @ ( append @ A @ Xs @ Us ) @ ( append @ A @ Xs @ Vs ) ) ) ).
% 0.31/0.49
% 0.31/0.49 % ord.lexordp_append_leftI
% 0.31/0.49 thf(fact_115_ord_Olexordp__append__leftD,axiom,
% 0.31/0.49 ! [A: $tType,Less: A > A > $o,Xs: list @ A,Us: list @ A,Vs: list @ A] :
% 0.31/0.49 ( ( lexordp @ A @ Less @ ( append @ A @ Xs @ Us ) @ ( append @ A @ Xs @ Vs ) )
% 0.31/0.49 => ( ! [A3: A] :
% 0.31/0.49 ~ ( Less @ A3 @ A3 )
% 0.31/0.49 => ( lexordp @ A @ Less @ Us @ Vs ) ) ) ).
% 0.31/0.49
% 0.31/0.49 % ord.lexordp_append_leftD
% 0.31/0.49 thf(fact_116_ord_Olexordp_OCons__eq,axiom,
% 0.31/0.49 ! [A: $tType,Less: A > A > $o,X2: A,Y: A,Xs: list @ A,Ys: list @ A] :
% 0.31/0.49 ( ~ ( Less @ X2 @ Y )
% 0.31/0.49 => ( ~ ( Less @ Y @ X2 )
% 0.31/0.49 => ( ( lexordp @ A @ Less @ Xs @ Ys )
% 0.31/0.49 => ( lexordp @ A @ Less @ ( cons @ A @ X2 @ Xs ) @ ( cons @ A @ Y @ Ys ) ) ) ) ) ).
% 0.31/0.49
% 0.31/0.49 % ord.lexordp.Cons_eq
% 0.31/0.49 thf(fact_117_ord_Olexordp_OCons,axiom,
% 0.31/0.49 ! [A: $tType,Less: A > A > $o,X2: A,Y: A,Xs: list @ A,Ys: list @ A] :
% 0.31/0.49 ( ( Less @ X2 @ Y )
% 0.31/0.49 => ( lexordp @ A @ Less @ ( cons @ A @ X2 @ Xs ) @ ( cons @ A @ Y @ Ys ) ) ) ).
% 0.31/0.49
% 0.31/0.49 % ord.lexordp.Cons
% 0.31/0.49 thf(fact_118_ord_Olexordp__eq_OCons__eq,axiom,
% 0.31/0.49 ! [A: $tType,Less: A > A > $o,X2: A,Y: A,Xs: list @ A,Ys: list @ A] :
% 0.31/0.49 ( ~ ( Less @ X2 @ Y )
% 0.31/0.49 => ( ~ ( Less @ Y @ X2 )
% 0.31/0.49 => ( ( lexordp_eq @ A @ Less @ Xs @ Ys )
% 0.31/0.49 => ( lexordp_eq @ A @ Less @ ( cons @ A @ X2 @ Xs ) @ ( cons @ A @ Y @ Ys ) ) ) ) ) ).
% 0.31/0.49
% 0.31/0.49 % ord.lexordp_eq.Cons_eq
% 0.31/0.49 thf(fact_119_ord_Olexordp__eq_OCons,axiom,
% 0.31/0.49 ! [A: $tType,Less: A > A > $o,X2: A,Y: A,Xs: list @ A,Ys: list @ A] :
% 0.31/0.49 ( ( Less @ X2 @ Y )
% 0.31/0.49 => ( lexordp_eq @ A @ Less @ ( cons @ A @ X2 @ Xs ) @ ( cons @ A @ Y @ Ys ) ) ) ).
% 0.31/0.49
% 0.31/0.49 % ord.lexordp_eq.Cons
% 0.31/0.49 thf(fact_120_ord_Olexordp__eq_ONil,axiom,
% 0.31/0.49 ! [A: $tType,Less: A > A > $o,Ys: list @ A] : ( lexordp_eq @ A @ Less @ ( nil @ A ) @ Ys ) ).
% 0.31/0.49
% 0.31/0.49 % ord.lexordp_eq.Nil
% 0.31/0.49 thf(fact_121_ord_Olexordp__irreflexive,axiom,
% 0.31/0.49 ! [A: $tType,Less: A > A > $o,Xs: list @ A] :
% 0.31/0.49 ( ! [X: A] :
% 0.31/0.49 ~ ( Less @ X @ X )
% 0.31/0.49 => ~ ( lexordp @ A @ Less @ Xs @ Xs ) ) ).
% 0.31/0.49
% 0.31/0.49 % ord.lexordp_irreflexive
% 0.31/0.49 thf(fact_122_ord_Olexordp__eq__refl,axiom,
% 0.31/0.49 ! [A: $tType,Less: A > A > $o,Xs: list @ A] : ( lexordp_eq @ A @ Less @ Xs @ Xs ) ).
% 0.31/0.49
% 0.31/0.49 % ord.lexordp_eq_refl
% 0.31/0.49 thf(fact_123_ord_OgreaterThanLessThan__def,axiom,
% 0.31/0.49 ! [A: $tType] :
% 0.31/0.49 ( ( set_gr1161524159ssThan @ A )
% 0.31/0.49 = ( ^ [Less2: A > A > $o,L2: A,U2: A] : ( inf_inf @ ( set @ A ) @ ( set_greaterThan @ A @ Less2 @ L2 ) @ ( set_lessThan @ A @ Less2 @ U2 ) ) ) ) ).
% 0.31/0.49
% 0.31/0.49 % ord.greaterThanLessThan_def
% 0.31/0.49 thf(fact_124_ord_OgreaterThanLessThan__eq,axiom,
% 0.31/0.49 ! [A: $tType] :
% 0.31/0.49 ( ( set_gr1161524159ssThan @ A )
% 0.31/0.49 = ( ^ [Less2: A > A > $o,A5: A,B3: A] : ( inf_inf @ ( set @ A ) @ ( set_greaterThan @ A @ Less2 @ A5 ) @ ( set_lessThan @ A @ Less2 @ B3 ) ) ) ) ).
% 0.31/0.49
% 0.31/0.49 % ord.greaterThanLessThan_eq
% 0.31/0.49 thf(fact_125_Int__iff,axiom,
% 0.31/0.49 ! [A: $tType,C: A,A4: set @ A,B4: set @ A] :
% 0.31/0.49 ( ( member @ A @ C @ ( inf_inf @ ( set @ A ) @ A4 @ B4 ) )
% 0.31/0.49 = ( ( member @ A @ C @ A4 )
% 0.31/0.49 & ( member @ A @ C @ B4 ) ) ) ).
% 0.31/0.49
% 0.31/0.49 % Int_iff
% 0.31/0.49 thf(fact_126_IntI,axiom,
% 0.31/0.49 ! [A: $tType,C: A,A4: set @ A,B4: set @ A] :
% 0.31/0.49 ( ( member @ A @ C @ A4 )
% 0.31/0.49 => ( ( member @ A @ C @ B4 )
% 0.31/0.49 => ( member @ A @ C @ ( inf_inf @ ( set @ A ) @ A4 @ B4 ) ) ) ) ).
% 0.31/0.49
% 0.31/0.49 % IntI
% 0.31/0.49 thf(fact_127_inf__right__idem,axiom,
% 0.31/0.49 ! [A: $tType] :
% 0.31/0.49 ( ( semilattice_inf @ A @ ( type2 @ A ) )
% 0.31/0.49 => ! [X2: A,Y: A] :
% 0.31/0.49 ( ( inf_inf @ A @ ( inf_inf @ A @ X2 @ Y ) @ Y )
% 0.31/0.49 = ( inf_inf @ A @ X2 @ Y ) ) ) ).
% 0.31/0.49
% 0.31/0.49 % inf_right_idem
% 0.31/0.49 thf(fact_128_inf_Oright__idem,axiom,
% 0.31/0.49 ! [A: $tType] :
% 0.31/0.49 ( ( semilattice_inf @ A @ ( type2 @ A ) )
% 0.31/0.49 => ! [A2: A,B2: A] :
% 0.31/0.49 ( ( inf_inf @ A @ ( inf_inf @ A @ A2 @ B2 ) @ B2 )
% 0.31/0.49 = ( inf_inf @ A @ A2 @ B2 ) ) ) ).
% 0.31/0.49
% 0.31/0.49 % inf.right_idem
% 0.31/0.49 thf(fact_129_inf__left__idem,axiom,
% 0.31/0.49 ! [A: $tType] :
% 0.31/0.49 ( ( semilattice_inf @ A @ ( type2 @ A ) )
% 0.31/0.49 => ! [X2: A,Y: A] :
% 0.31/0.49 ( ( inf_inf @ A @ X2 @ ( inf_inf @ A @ X2 @ Y ) )
% 0.31/0.49 = ( inf_inf @ A @ X2 @ Y ) ) ) ).
% 0.31/0.49
% 0.31/0.49 % inf_left_idem
% 0.31/0.49 thf(fact_130_inf_Oleft__idem,axiom,
% 0.31/0.49 ! [A: $tType] :
% 0.31/0.49 ( ( semilattice_inf @ A @ ( type2 @ A ) )
% 0.31/0.49 => ! [A2: A,B2: A] :
% 0.31/0.49 ( ( inf_inf @ A @ A2 @ ( inf_inf @ A @ A2 @ B2 ) )
% 0.31/0.49 = ( inf_inf @ A @ A2 @ B2 ) ) ) ).
% 0.31/0.49
% 0.31/0.49 % inf.left_idem
% 0.31/0.49 thf(fact_131_inf__apply,axiom,
% 0.31/0.49 ! [B: $tType,A: $tType] :
% 0.31/0.49 ( ( semilattice_inf @ B @ ( type2 @ B ) )
% 0.31/0.49 => ( ( inf_inf @ ( A > B ) )
% 0.31/0.49 = ( ^ [F3: A > B,G2: A > B,X3: A] : ( inf_inf @ B @ ( F3 @ X3 ) @ ( G2 @ X3 ) ) ) ) ) ).
% 0.31/0.49
% 0.31/0.49 % inf_apply
% 0.31/0.49 thf(fact_132_inf_Oidem,axiom,
% 0.31/0.49 ! [A: $tType] :
% 0.31/0.49 ( ( semilattice_inf @ A @ ( type2 @ A ) )
% 0.31/0.49 => ! [A2: A] :
% 0.31/0.49 ( ( inf_inf @ A @ A2 @ A2 )
% 0.31/0.49 = A2 ) ) ).
% 0.31/0.49
% 0.31/0.49 % inf.idem
% 0.31/0.49 thf(fact_133_inf__idem,axiom,
% 0.31/0.49 ! [A: $tType] :
% 0.31/0.49 ( ( semilattice_inf @ A @ ( type2 @ A ) )
% 0.31/0.49 => ! [X2: A] :
% 0.31/0.49 ( ( inf_inf @ A @ X2 @ X2 )
% 0.31/0.49 = X2 ) ) ).
% 0.31/0.49
% 0.31/0.49 % inf_idem
% 0.31/0.49 thf(fact_134_inf__sup__aci_I4_J,axiom,
% 0.31/0.49 ! [A: $tType] :
% 0.31/0.49 ( ( lattice @ A @ ( type2 @ A ) )
% 0.31/0.49 => ! [X2: A,Y: A] :
% 0.31/0.49 ( ( inf_inf @ A @ X2 @ ( inf_inf @ A @ X2 @ Y ) )
% 0.31/0.49 = ( inf_inf @ A @ X2 @ Y ) ) ) ).
% 0.31/0.49
% 0.31/0.49 % inf_sup_aci(4)
% 0.31/0.49 thf(fact_135_inf__sup__aci_I3_J,axiom,
% 0.31/0.49 ! [A: $tType] :
% 0.31/0.49 ( ( lattice @ A @ ( type2 @ A ) )
% 0.31/0.49 => ! [X2: A,Y: A,Z: A] :
% 0.31/0.49 ( ( inf_inf @ A @ X2 @ ( inf_inf @ A @ Y @ Z ) )
% 0.31/0.49 = ( inf_inf @ A @ Y @ ( inf_inf @ A @ X2 @ Z ) ) ) ) ).
% 0.31/0.49
% 0.31/0.49 % inf_sup_aci(3)
% 0.31/0.49 thf(fact_136_inf__sup__aci_I2_J,axiom,
% 0.31/0.49 ! [A: $tType] :
% 0.31/0.49 ( ( lattice @ A @ ( type2 @ A ) )
% 0.31/0.49 => ! [X2: A,Y: A,Z: A] :
% 0.31/0.49 ( ( inf_inf @ A @ ( inf_inf @ A @ X2 @ Y ) @ Z )
% 0.31/0.49 = ( inf_inf @ A @ X2 @ ( inf_inf @ A @ Y @ Z ) ) ) ) ).
% 0.31/0.49
% 0.31/0.49 % inf_sup_aci(2)
% 0.31/0.49 thf(fact_137_inf__sup__aci_I1_J,axiom,
% 0.31/0.49 ! [A: $tType] :
% 0.31/0.49 ( ( lattice @ A @ ( type2 @ A ) )
% 0.31/0.49 => ( ( inf_inf @ A )
% 0.31/0.49 = ( ^ [X3: A,Y3: A] : ( inf_inf @ A @ Y3 @ X3 ) ) ) ) ).
% 0.31/0.49
% 0.31/0.49 % inf_sup_aci(1)
% 0.31/0.49 thf(fact_138_inf__fun__def,axiom,
% 0.31/0.49 ! [B: $tType,A: $tType] :
% 0.31/0.49 ( ( semilattice_inf @ B @ ( type2 @ B ) )
% 0.31/0.49 => ( ( inf_inf @ ( A > B ) )
% 0.31/0.49 = ( ^ [F3: A > B,G2: A > B,X3: A] : ( inf_inf @ B @ ( F3 @ X3 ) @ ( G2 @ X3 ) ) ) ) ) ).
% 0.31/0.49
% 0.31/0.49 % inf_fun_def
% 0.31/0.49 thf(fact_139_inf_Oassoc,axiom,
% 0.31/0.49 ! [A: $tType] :
% 0.31/0.49 ( ( semilattice_inf @ A @ ( type2 @ A ) )
% 0.31/0.49 => ! [A2: A,B2: A,C: A] :
% 0.31/0.49 ( ( inf_inf @ A @ ( inf_inf @ A @ A2 @ B2 ) @ C )
% 0.31/0.49 = ( inf_inf @ A @ A2 @ ( inf_inf @ A @ B2 @ C ) ) ) ) ).
% 0.31/0.49
% 0.31/0.49 % inf.assoc
% 0.31/0.49 thf(fact_140_inf__assoc,axiom,
% 0.31/0.49 ! [A: $tType] :
% 0.31/0.49 ( ( semilattice_inf @ A @ ( type2 @ A ) )
% 0.31/0.49 => ! [X2: A,Y: A,Z: A] :
% 0.31/0.49 ( ( inf_inf @ A @ ( inf_inf @ A @ X2 @ Y ) @ Z )
% 0.31/0.49 = ( inf_inf @ A @ X2 @ ( inf_inf @ A @ Y @ Z ) ) ) ) ).
% 0.31/0.49
% 0.31/0.49 % inf_assoc
% 0.31/0.49 thf(fact_141_inf_Ocommute,axiom,
% 0.31/0.49 ! [A: $tType] :
% 0.31/0.49 ( ( semilattice_inf @ A @ ( type2 @ A ) )
% 0.31/0.49 => ( ( inf_inf @ A )
% 0.31/0.49 = ( ^ [A5: A,B3: A] : ( inf_inf @ A @ B3 @ A5 ) ) ) ) ).
% 0.31/0.49
% 0.31/0.49 % inf.commute
% 0.31/0.49 thf(fact_142_inf__commute,axiom,
% 0.31/0.49 ! [A: $tType] :
% 0.31/0.49 ( ( semilattice_inf @ A @ ( type2 @ A ) )
% 0.31/0.49 => ( ( inf_inf @ A )
% 0.31/0.49 = ( ^ [X3: A,Y3: A] : ( inf_inf @ A @ Y3 @ X3 ) ) ) ) ).
% 0.31/0.49
% 0.31/0.49 % inf_commute
% 0.31/0.49 thf(fact_143_inf_Oleft__commute,axiom,
% 0.31/0.49 ! [A: $tType] :
% 0.31/0.49 ( ( semilattice_inf @ A @ ( type2 @ A ) )
% 0.31/0.49 => ! [B2: A,A2: A,C: A] :
% 0.31/0.49 ( ( inf_inf @ A @ B2 @ ( inf_inf @ A @ A2 @ C ) )
% 0.31/0.49 = ( inf_inf @ A @ A2 @ ( inf_inf @ A @ B2 @ C ) ) ) ) ).
% 0.31/0.49
% 0.31/0.49 % inf.left_commute
% 0.31/0.49 thf(fact_144_inf__left__commute,axiom,
% 0.31/0.49 ! [A: $tType] :
% 0.31/0.49 ( ( semilattice_inf @ A @ ( type2 @ A ) )
% 0.31/0.49 => ! [X2: A,Y: A,Z: A] :
% 0.31/0.49 ( ( inf_inf @ A @ X2 @ ( inf_inf @ A @ Y @ Z ) )
% 0.31/0.49 = ( inf_inf @ A @ Y @ ( inf_inf @ A @ X2 @ Z ) ) ) ) ).
% 0.31/0.49
% 0.31/0.49 % inf_left_commute
% 0.31/0.49 thf(fact_145_IntE,axiom,
% 0.31/0.49 ! [A: $tType,C: A,A4: set @ A,B4: set @ A] :
% 0.31/0.49 ( ( member @ A @ C @ ( inf_inf @ ( set @ A ) @ A4 @ B4 ) )
% 0.31/0.49 => ~ ( ( member @ A @ C @ A4 )
% 0.31/0.49 => ~ ( member @ A @ C @ B4 ) ) ) ).
% 0.31/0.49
% 0.31/0.49 % IntE
% 0.31/0.49 thf(fact_146_IntD1,axiom,
% 0.31/0.49 ! [A: $tType,C: A,A4: set @ A,B4: set @ A] :
% 0.31/0.49 ( ( member @ A @ C @ ( inf_inf @ ( set @ A ) @ A4 @ B4 ) )
% 0.31/0.49 => ( member @ A @ C @ A4 ) ) ).
% 0.31/0.49
% 0.31/0.49 % IntD1
% 0.31/0.49 thf(fact_147_IntD2,axiom,
% 0.31/0.49 ! [A: $tType,C: A,A4: set @ A,B4: set @ A] :
% 0.31/0.49 ( ( member @ A @ C @ ( inf_inf @ ( set @ A ) @ A4 @ B4 ) )
% 0.31/0.49 => ( member @ A @ C @ B4 ) ) ).
% 0.31/0.49
% 0.31/0.49 % IntD2
% 0.31/0.49 thf(fact_148_Int__assoc,axiom,
% 0.31/0.49 ! [A: $tType,A4: set @ A,B4: set @ A,C2: set @ A] :
% 0.31/0.49 ( ( inf_inf @ ( set @ A ) @ ( inf_inf @ ( set @ A ) @ A4 @ B4 ) @ C2 )
% 0.31/0.49 = ( inf_inf @ ( set @ A ) @ A4 @ ( inf_inf @ ( set @ A ) @ B4 @ C2 ) ) ) ).
% 0.31/0.49
% 0.31/0.49 % Int_assoc
% 0.31/0.49 thf(fact_149_Int__absorb,axiom,
% 0.31/0.49 ! [A: $tType,A4: set @ A] :
% 0.31/0.49 ( ( inf_inf @ ( set @ A ) @ A4 @ A4 )
% 0.31/0.49 = A4 ) ).
% 0.31/0.49
% 0.31/0.49 % Int_absorb
% 0.31/0.49 thf(fact_150_Int__commute,axiom,
% 0.31/0.49 ! [A: $tType] :
% 0.31/0.49 ( ( inf_inf @ ( set @ A ) )
% 0.31/0.49 = ( ^ [A6: set @ A,B5: set @ A] : ( inf_inf @ ( set @ A ) @ B5 @ A6 ) ) ) ).
% 0.31/0.49
% 0.31/0.49 % Int_commute
% 0.31/0.49 thf(fact_151_Int__left__absorb,axiom,
% 0.31/0.49 ! [A: $tType,A4: set @ A,B4: set @ A] :
% 0.31/0.49 ( ( inf_inf @ ( set @ A ) @ A4 @ ( inf_inf @ ( set @ A ) @ A4 @ B4 ) )
% 0.31/0.49 = ( inf_inf @ ( set @ A ) @ A4 @ B4 ) ) ).
% 0.31/0.49
% 0.31/0.49 % Int_left_absorb
% 0.31/0.49 thf(fact_152_Int__left__commute,axiom,
% 0.31/0.49 ! [A: $tType,A4: set @ A,B4: set @ A,C2: set @ A] :
% 0.31/0.49 ( ( inf_inf @ ( set @ A ) @ A4 @ ( inf_inf @ ( set @ A ) @ B4 @ C2 ) )
% 0.31/0.49 = ( inf_inf @ ( set @ A ) @ B4 @ ( inf_inf @ ( set @ A ) @ A4 @ C2 ) ) ) ).
% 0.31/0.49
% 0.31/0.49 % Int_left_commute
% 0.31/0.49 thf(fact_153_ord_OlessThan__iff,axiom,
% 0.31/0.49 ! [A: $tType,I: A,Less: A > A > $o,K: A] :
% 0.31/0.49 ( ( member @ A @ I @ ( set_lessThan @ A @ Less @ K ) )
% 0.31/0.49 = ( Less @ I @ K ) ) ).
% 0.31/0.49
% 0.31/0.49 % ord.lessThan_iff
% 0.31/0.49 thf(fact_154_ord_OgreaterThan__iff,axiom,
% 0.31/0.49 ! [A: $tType,I: A,Less: A > A > $o,K: A] :
% 0.31/0.49 ( ( member @ A @ I @ ( set_greaterThan @ A @ Less @ K ) )
% 0.31/0.49 = ( Less @ K @ I ) ) ).
% 0.31/0.49
% 0.31/0.49 % ord.greaterThan_iff
% 0.31/0.49 thf(fact_155_ord_OgreaterThanLessThan__iff,axiom,
% 0.31/0.49 ! [A: $tType,I: A,Less: A > A > $o,L: A,U: A] :
% 0.31/0.49 ( ( member @ A @ I @ ( set_gr1161524159ssThan @ A @ Less @ L @ U ) )
% 0.31/0.49 = ( ( Less @ L @ I )
% 0.31/0.49 & ( Less @ I @ U ) ) ) ).
% 0.31/0.49
% 0.31/0.49 % ord.greaterThanLessThan_iff
% 0.31/0.49 thf(fact_156_sublists_Osimps_I1_J,axiom,
% 0.31/0.49 ! [A: $tType] :
% 0.31/0.49 ( ( sublists @ A @ ( nil @ A ) )
% 0.31/0.49 = ( cons @ ( list @ A ) @ ( nil @ A ) @ ( nil @ ( list @ A ) ) ) ) ).
% 0.31/0.49
% 0.31/0.49 % sublists.simps(1)
% 0.31/0.49 thf(fact_157_prefixes_Ocases,axiom,
% 0.31/0.49 ! [A: $tType,X2: list @ A] :
% 0.31/0.49 ( ( X2
% 0.31/0.49 != ( nil @ A ) )
% 0.31/0.49 => ~ ! [X: A,Xs2: list @ A] :
% 0.31/0.49 ( X2
% 0.31/0.49 != ( cons @ A @ X @ Xs2 ) ) ) ).
% 0.31/0.49
% 0.31/0.49 % prefixes.cases
% 0.31/0.49 thf(fact_158_prefixes_Oinduct,axiom,
% 0.31/0.49 ! [A: $tType,P: ( list @ A ) > $o,A0: list @ A] :
% 0.31/0.49 ( ( P @ ( nil @ A ) )
% 0.31/0.49 => ( ! [X: A,Xs2: list @ A] :
% 0.31/0.49 ( ( P @ Xs2 )
% 0.31/0.49 => ( P @ ( cons @ A @ X @ Xs2 ) ) )
% 0.31/0.49 => ( P @ A0 ) ) ) ).
% 0.31/0.49
% 0.31/0.49 % prefixes.induct
% 0.31/0.49 thf(fact_159_longest__common__prefix_Oinduct,axiom,
% 0.31/0.49 ! [A: $tType,P: ( list @ A ) > ( list @ A ) > $o,A0: list @ A,A1: list @ A] :
% 0.31/0.49 ( ! [X: A,Xs2: list @ A,Y2: A,Ys2: list @ A] :
% 0.31/0.49 ( ( ( X = Y2 )
% 0.31/0.49 => ( P @ Xs2 @ Ys2 ) )
% 0.31/0.49 => ( P @ ( cons @ A @ X @ Xs2 ) @ ( cons @ A @ Y2 @ Ys2 ) ) )
% 0.31/0.49 => ( ! [X12: list @ A] : ( P @ ( nil @ A ) @ X12 )
% 0.31/0.49 => ( ! [Uu: list @ A] : ( P @ Uu @ ( nil @ A ) )
% 0.31/0.49 => ( P @ A0 @ A1 ) ) ) ) ).
% 0.31/0.49
% 0.31/0.49 % longest_common_prefix.induct
% 0.31/0.49 thf(fact_160_prefixes__snoc,axiom,
% 0.31/0.49 ! [A: $tType,Xs: list @ A,X2: A] :
% 0.31/0.49 ( ( prefixes @ A @ ( append @ A @ Xs @ ( cons @ A @ X2 @ ( nil @ A ) ) ) )
% 0.31/0.49 = ( append @ ( list @ A ) @ ( prefixes @ A @ Xs ) @ ( cons @ ( list @ A ) @ ( append @ A @ Xs @ ( cons @ A @ X2 @ ( nil @ A ) ) ) @ ( nil @ ( list @ A ) ) ) ) ) ).
% 0.31/0.49
% 0.31/0.49 % prefixes_snoc
% 0.31/0.49 thf(fact_161_prefixes__eq__Snoc,axiom,
% 0.31/0.49 ! [A: $tType,Ys: list @ A,Xs: list @ ( list @ A ),X2: list @ A] :
% 0.31/0.49 ( ( ( prefixes @ A @ Ys )
% 0.31/0.49 = ( append @ ( list @ A ) @ Xs @ ( cons @ ( list @ A ) @ X2 @ ( nil @ ( list @ A ) ) ) ) )
% 0.31/0.49 = ( ( ( ( Ys
% 0.31/0.49 = ( nil @ A ) )
% 0.31/0.49 & ( Xs
% 0.31/0.49 = ( nil @ ( list @ A ) ) ) )
% 0.31/0.49 | ? [Z2: A,Zs2: list @ A] :
% 0.31/0.49 ( ( Ys
% 0.31/0.49 = ( append @ A @ Zs2 @ ( cons @ A @ Z2 @ ( nil @ A ) ) ) )
% 0.31/0.49 & ( Xs
% 0.31/0.49 = ( prefixes @ A @ Zs2 ) ) ) )
% 0.31/0.49 & ( X2 = Ys ) ) ) ).
% 0.31/0.49
% 0.31/0.49 % prefixes_eq_Snoc
% 0.31/0.49 thf(fact_162_bind__simps_I2_J,axiom,
% 0.31/0.49 ! [A: $tType,B: $tType,X2: B,Xs: list @ B,F: B > ( list @ A )] :
% 0.31/0.49 ( ( bind @ B @ A @ ( cons @ B @ X2 @ Xs ) @ F )
% 0.31/0.49 = ( append @ A @ ( F @ X2 ) @ ( bind @ B @ A @ Xs @ F ) ) ) ).
% 0.31/0.49
% 0.31/0.49 % bind_simps(2)
% 0.31/0.49 thf(fact_163_bind__simps_I1_J,axiom,
% 0.31/0.49 ! [B: $tType,A: $tType,F: B > ( list @ A )] :
% 0.31/0.49 ( ( bind @ B @ A @ ( nil @ B ) @ F )
% 0.31/0.49 = ( nil @ A ) ) ).
% 0.31/0.49
% 0.31/0.49 % bind_simps(1)
% 0.31/0.49 thf(fact_164_prefixes_Osimps_I1_J,axiom,
% 0.31/0.49 ! [A: $tType] :
% 0.31/0.49 ( ( prefixes @ A @ ( nil @ A ) )
% 0.31/0.49 = ( cons @ ( list @ A ) @ ( nil @ A ) @ ( nil @ ( list @ A ) ) ) ) ).
% 0.31/0.49
% 0.31/0.49 % prefixes.simps(1)
% 0.31/0.49 thf(fact_165_product__lists_Osimps_I1_J,axiom,
% 0.31/0.49 ! [A: $tType] :
% 0.31/0.49 ( ( product_lists @ A @ ( nil @ ( list @ A ) ) )
% 0.31/0.49 = ( cons @ ( list @ A ) @ ( nil @ A ) @ ( nil @ ( list @ A ) ) ) ) ).
% 0.31/0.49
% 0.31/0.49 % product_lists.simps(1)
% 0.31/0.49 thf(fact_166_prefixes_Oelims,axiom,
% 0.31/0.49 ! [A: $tType,X2: list @ A,Y: list @ ( list @ A )] :
% 0.31/0.49 ( ( ( prefixes @ A @ X2 )
% 0.31/0.49 = Y )
% 0.31/0.49 => ( ( ( X2
% 0.31/0.49 = ( nil @ A ) )
% 0.31/0.49 => ( Y
% 0.31/0.49 != ( cons @ ( list @ A ) @ ( nil @ A ) @ ( nil @ ( list @ A ) ) ) ) )
% 0.31/0.49 => ~ ! [X: A,Xs2: list @ A] :
% 0.31/0.49 ( ( X2
% 0.31/0.49 = ( cons @ A @ X @ Xs2 ) )
% 0.31/0.49 => ( Y
% 0.31/0.49 != ( cons @ ( list @ A ) @ ( nil @ A ) @ ( map @ ( list @ A ) @ ( list @ A ) @ ( cons @ A @ X ) @ ( prefixes @ A @ Xs2 ) ) ) ) ) ) ) ).
% 0.31/0.49
% 0.31/0.49 % prefixes.elims
% 0.31/0.49 thf(fact_167_maps__simps_I1_J,axiom,
% 0.31/0.49 ! [A: $tType,B: $tType,F: B > ( list @ A ),X2: B,Xs: list @ B] :
% 0.31/0.49 ( ( maps @ B @ A @ F @ ( cons @ B @ X2 @ Xs ) )
% 0.31/0.49 = ( append @ A @ ( F @ X2 ) @ ( maps @ B @ A @ F @ Xs ) ) ) ).
% 0.31/0.49
% 0.31/0.49 % maps_simps(1)
% 0.31/0.49 thf(fact_168_Nil__is__map__conv,axiom,
% 0.31/0.49 ! [A: $tType,B: $tType,F: B > A,Xs: list @ B] :
% 0.31/0.49 ( ( ( nil @ A )
% 0.31/0.49 = ( map @ B @ A @ F @ Xs ) )
% 0.31/0.49 = ( Xs
% 0.31/0.49 = ( nil @ B ) ) ) ).
% 0.31/0.49
% 0.31/0.49 % Nil_is_map_conv
% 0.31/0.49 thf(fact_169_map__is__Nil__conv,axiom,
% 0.31/0.49 ! [A: $tType,B: $tType,F: B > A,Xs: list @ B] :
% 0.31/0.49 ( ( ( map @ B @ A @ F @ Xs )
% 0.31/0.49 = ( nil @ A ) )
% 0.31/0.49 = ( Xs
% 0.31/0.49 = ( nil @ B ) ) ) ).
% 0.31/0.49
% 0.31/0.49 % map_is_Nil_conv
% 0.31/0.49 thf(fact_170_list_Omap__disc__iff,axiom,
% 0.31/0.49 ! [B: $tType,A: $tType,F: A > B,A2: list @ A] :
% 0.31/0.49 ( ( ( map @ A @ B @ F @ A2 )
% 0.31/0.49 = ( nil @ B ) )
% 0.31/0.49 = ( A2
% 0.31/0.49 = ( nil @ A ) ) ) ).
% 0.31/0.49
% 0.31/0.49 % list.map_disc_iff
% 0.31/0.49 thf(fact_171_map__append,axiom,
% 0.31/0.49 ! [A: $tType,B: $tType,F: B > A,Xs: list @ B,Ys: list @ B] :
% 0.31/0.49 ( ( map @ B @ A @ F @ ( append @ B @ Xs @ Ys ) )
% 0.31/0.49 = ( append @ A @ ( map @ B @ A @ F @ Xs ) @ ( map @ B @ A @ F @ Ys ) ) ) ).
% 0.31/0.49
% 0.31/0.49 % map_append
% 0.31/0.49 thf(fact_172_list_Osimps_I9_J,axiom,
% 0.31/0.49 ! [B: $tType,A: $tType,F: A > B,X21: A,X22: list @ A] :
% 0.31/0.49 ( ( map @ A @ B @ F @ ( cons @ A @ X21 @ X22 ) )
% 0.31/0.49 = ( cons @ B @ ( F @ X21 ) @ ( map @ A @ B @ F @ X22 ) ) ) ).
% 0.31/0.49
% 0.31/0.49 % list.simps(9)
% 0.31/0.49 thf(fact_173_Cons__eq__map__D,axiom,
% 0.31/0.49 ! [A: $tType,B: $tType,X2: A,Xs: list @ A,F: B > A,Ys: list @ B] :
% 0.31/0.49 ( ( ( cons @ A @ X2 @ Xs )
% 0.31/0.49 = ( map @ B @ A @ F @ Ys ) )
% 0.31/0.49 => ? [Z3: B,Zs3: list @ B] :
% 0.31/0.49 ( ( Ys
% 0.31/0.49 = ( cons @ B @ Z3 @ Zs3 ) )
% 0.31/0.49 & ( X2
% 0.31/0.49 = ( F @ Z3 ) )
% 0.31/0.49 & ( Xs
% 0.31/0.49 = ( map @ B @ A @ F @ Zs3 ) ) ) ) ).
% 0.31/0.49
% 0.31/0.49 % Cons_eq_map_D
% 0.31/0.49 thf(fact_174_map__eq__Cons__D,axiom,
% 0.31/0.49 ! [B: $tType,A: $tType,F: B > A,Xs: list @ B,Y: A,Ys: list @ A] :
% 0.31/0.49 ( ( ( map @ B @ A @ F @ Xs )
% 0.31/0.49 = ( cons @ A @ Y @ Ys ) )
% 0.31/0.49 => ? [Z3: B,Zs3: list @ B] :
% 0.31/0.49 ( ( Xs
% 0.31/0.49 = ( cons @ B @ Z3 @ Zs3 ) )
% 0.31/0.49 & ( ( F @ Z3 )
% 0.31/0.49 = Y )
% 0.31/0.49 & ( ( map @ B @ A @ F @ Zs3 )
% 0.31/0.49 = Ys ) ) ) ).
% 0.31/0.49
% 0.31/0.49 % map_eq_Cons_D
% 0.31/0.49 thf(fact_175_Cons__eq__map__conv,axiom,
% 0.31/0.49 ! [A: $tType,B: $tType,X2: A,Xs: list @ A,F: B > A,Ys: list @ B] :
% 0.31/0.49 ( ( ( cons @ A @ X2 @ Xs )
% 0.31/0.49 = ( map @ B @ A @ F @ Ys ) )
% 0.31/0.49 = ( ? [Z2: B,Zs2: list @ B] :
% 0.31/0.49 ( ( Ys
% 0.31/0.49 = ( cons @ B @ Z2 @ Zs2 ) )
% 0.31/0.49 & ( X2
% 0.31/0.49 = ( F @ Z2 ) )
% 0.31/0.49 & ( Xs
% 0.31/0.49 = ( map @ B @ A @ F @ Zs2 ) ) ) ) ) ).
% 0.31/0.49
% 0.31/0.49 % Cons_eq_map_conv
% 0.31/0.49 thf(fact_176_map__eq__Cons__conv,axiom,
% 0.31/0.49 ! [A: $tType,B: $tType,F: B > A,Xs: list @ B,Y: A,Ys: list @ A] :
% 0.31/0.49 ( ( ( map @ B @ A @ F @ Xs )
% 0.31/0.49 = ( cons @ A @ Y @ Ys ) )
% 0.31/0.49 = ( ? [Z2: B,Zs2: list @ B] :
% 0.31/0.49 ( ( Xs
% 0.31/0.49 = ( cons @ B @ Z2 @ Zs2 ) )
% 0.31/0.49 & ( ( F @ Z2 )
% 0.31/0.49 = Y )
% 0.31/0.49 & ( ( map @ B @ A @ F @ Zs2 )
% 0.31/0.49 = Ys ) ) ) ) ).
% 0.31/0.49
% 0.31/0.49 % map_eq_Cons_conv
% 0.31/0.49 thf(fact_177_list_Osimps_I8_J,axiom,
% 0.31/0.49 ! [A: $tType,B: $tType,F: A > B] :
% 0.31/0.49 ( ( map @ A @ B @ F @ ( nil @ A ) )
% 0.31/0.49 = ( nil @ B ) ) ).
% 0.31/0.49
% 0.31/0.49 % list.simps(8)
% 0.31/0.49 thf(fact_178_maps__simps_I2_J,axiom,
% 0.31/0.49 ! [B: $tType,A: $tType,F: B > ( list @ A )] :
% 0.31/0.49 ( ( maps @ B @ A @ F @ ( nil @ B ) )
% 0.31/0.49 = ( nil @ A ) ) ).
% 0.31/0.49
% 0.31/0.49 % maps_simps(2)
% 0.31/0.49 thf(fact_179_prefixes_Osimps_I2_J,axiom,
% 0.31/0.49 ! [A: $tType,X2: A,Xs: list @ A] :
% 0.31/0.49 ( ( prefixes @ A @ ( cons @ A @ X2 @ Xs ) )
% 0.31/0.49 = ( cons @ ( list @ A ) @ ( nil @ A ) @ ( map @ ( list @ A ) @ ( list @ A ) @ ( cons @ A @ X2 ) @ ( prefixes @ A @ Xs ) ) ) ) ).
% 0.31/0.49
% 0.31/0.49 % prefixes.simps(2)
% 0.31/0.49 thf(fact_180_prefixes_Opelims,axiom,
% 0.31/0.49 ! [A: $tType,X2: list @ A,Y: list @ ( list @ A )] :
% 0.31/0.49 ( ( ( prefixes @ A @ X2 )
% 0.31/0.49 = Y )
% 0.31/0.49 => ( ( accp @ ( list @ A ) @ ( prefixes_rel @ A ) @ X2 )
% 0.31/0.49 => ( ( ( X2
% 0.31/0.49 = ( nil @ A ) )
% 0.31/0.49 => ( ( Y
% 0.31/0.49 = ( cons @ ( list @ A ) @ ( nil @ A ) @ ( nil @ ( list @ A ) ) ) )
% 0.31/0.49 => ~ ( accp @ ( list @ A ) @ ( prefixes_rel @ A ) @ ( nil @ A ) ) ) )
% 0.31/0.49 => ~ ! [X: A,Xs2: list @ A] :
% 0.31/0.49 ( ( X2
% 0.31/0.49 = ( cons @ A @ X @ Xs2 ) )
% 0.31/0.49 => ( ( Y
% 0.31/0.49 = ( cons @ ( list @ A ) @ ( nil @ A ) @ ( map @ ( list @ A ) @ ( list @ A ) @ ( cons @ A @ X ) @ ( prefixes @ A @ Xs2 ) ) ) )
% 0.31/0.49 => ~ ( accp @ ( list @ A ) @ ( prefixes_rel @ A ) @ ( cons @ A @ X @ Xs2 ) ) ) ) ) ) ) ).
% 0.31/0.49
% 0.31/0.49 % prefixes.pelims
% 0.31/0.49 thf(fact_181_insert__Nil,axiom,
% 0.31/0.49 ! [A: $tType,X2: A] :
% 0.31/0.49 ( ( insert @ A @ X2 @ ( nil @ A ) )
% 0.31/0.49 = ( cons @ A @ X2 @ ( nil @ A ) ) ) ).
% 0.31/0.49
% 0.31/0.49 % insert_Nil
% 0.31/0.49 thf(fact_182_rotate1_Osimps_I2_J,axiom,
% 0.31/0.49 ! [A: $tType,X2: A,Xs: list @ A] :
% 0.31/0.49 ( ( rotate1 @ A @ ( cons @ A @ X2 @ Xs ) )
% 0.31/0.49 = ( append @ A @ Xs @ ( cons @ A @ X2 @ ( nil @ A ) ) ) ) ).
% 0.31/0.49
% 0.31/0.49 % rotate1.simps(2)
% 0.31/0.49 thf(fact_183_rotate1__is__Nil__conv,axiom,
% 0.31/0.49 ! [A: $tType,Xs: list @ A] :
% 0.31/0.49 ( ( ( rotate1 @ A @ Xs )
% 0.31/0.49 = ( nil @ A ) )
% 0.31/0.49 = ( Xs
% 0.31/0.49 = ( nil @ A ) ) ) ).
% 0.31/0.49
% 0.31/0.49 % rotate1_is_Nil_conv
% 0.31/0.49 thf(fact_184_rotate1_Osimps_I1_J,axiom,
% 0.31/0.49 ! [A: $tType] :
% 0.31/0.49 ( ( rotate1 @ A @ ( nil @ A ) )
% 0.31/0.49 = ( nil @ A ) ) ).
% 0.31/0.49
% 0.31/0.49 % rotate1.simps(1)
% 0.31/0.49 thf(fact_185_map__eq__map__tailrec,axiom,
% 0.31/0.49 ! [B: $tType,A: $tType] :
% 0.31/0.49 ( ( map @ A @ B )
% 0.31/0.49 = ( map_tailrec @ A @ B ) ) ).
% 0.31/0.49
% 0.31/0.49 % map_eq_map_tailrec
% 0.31/0.49 thf(fact_186_last__snoc,axiom,
% 0.31/0.49 ! [A: $tType,Xs: list @ A,X2: A] :
% 0.31/0.49 ( ( last @ A @ ( append @ A @ Xs @ ( cons @ A @ X2 @ ( nil @ A ) ) ) )
% 0.31/0.49 = X2 ) ).
% 0.31/0.49
% 0.31/0.49 % last_snoc
% 0.31/0.49 thf(fact_187_butlast__snoc,axiom,
% 0.31/0.49 ! [A: $tType,Xs: list @ A,X2: A] :
% 0.31/0.49 ( ( butlast @ A @ ( append @ A @ Xs @ ( cons @ A @ X2 @ ( nil @ A ) ) ) )
% 0.31/0.49 = Xs ) ).
% 0.31/0.49
% 0.31/0.49 % butlast_snoc
% 0.31/0.49 thf(fact_188_last__appendR,axiom,
% 0.31/0.49 ! [A: $tType,Ys: list @ A,Xs: list @ A] :
% 0.31/0.49 ( ( Ys
% 0.31/0.49 != ( nil @ A ) )
% 0.31/0.49 => ( ( last @ A @ ( append @ A @ Xs @ Ys ) )
% 0.31/0.49 = ( last @ A @ Ys ) ) ) ).
% 0.31/0.49
% 0.31/0.49 % last_appendR
% 0.31/0.49 thf(fact_189_last__appendL,axiom,
% 0.31/0.49 ! [A: $tType,Ys: list @ A,Xs: list @ A] :
% 0.31/0.49 ( ( Ys
% 0.31/0.49 = ( nil @ A ) )
% 0.31/0.49 => ( ( last @ A @ ( append @ A @ Xs @ Ys ) )
% 0.31/0.49 = ( last @ A @ Xs ) ) ) ).
% 0.31/0.49
% 0.31/0.49 % last_appendL
% 0.31/0.49 thf(fact_190_append__butlast__last__id,axiom,
% 0.31/0.49 ! [A: $tType,Xs: list @ A] :
% 0.31/0.49 ( ( Xs
% 0.31/0.49 != ( nil @ A ) )
% 0.31/0.49 => ( ( append @ A @ ( butlast @ A @ Xs ) @ ( cons @ A @ ( last @ A @ Xs ) @ ( nil @ A ) ) )
% 0.31/0.49 = Xs ) ) ).
% 0.31/0.49
% 0.31/0.49 % append_butlast_last_id
% 0.31/0.49 thf(fact_191_map__butlast,axiom,
% 0.31/0.49 ! [A: $tType,B: $tType,F: B > A,Xs: list @ B] :
% 0.31/0.49 ( ( map @ B @ A @ F @ ( butlast @ B @ Xs ) )
% 0.31/0.49 = ( butlast @ A @ ( map @ B @ A @ F @ Xs ) ) ) ).
% 0.31/0.49
% 0.31/0.49 % map_butlast
% 0.31/0.49 thf(fact_192_snoc__eq__iff__butlast,axiom,
% 0.31/0.49 ! [A: $tType,Xs: list @ A,X2: A,Ys: list @ A] :
% 0.31/0.49 ( ( ( append @ A @ Xs @ ( cons @ A @ X2 @ ( nil @ A ) ) )
% 0.31/0.49 = Ys )
% 0.31/0.49 = ( ( Ys
% 0.31/0.49 != ( nil @ A ) )
% 0.31/0.49 & ( ( butlast @ A @ Ys )
% 0.31/0.49 = Xs )
% 0.31/0.49 & ( ( last @ A @ Ys )
% 0.31/0.49 = X2 ) ) ) ).
% 0.31/0.49
% 0.31/0.49 % snoc_eq_iff_butlast
% 0.31/0.49 thf(fact_193_butlast_Osimps_I1_J,axiom,
% 0.31/0.49 ! [A: $tType] :
% 0.31/0.49 ( ( butlast @ A @ ( nil @ A ) )
% 0.31/0.49 = ( nil @ A ) ) ).
% 0.31/0.49
% 0.31/0.49 % butlast.simps(1)
% 0.31/0.49 thf(fact_194_last__ConsR,axiom,
% 0.31/0.49 ! [A: $tType,Xs: list @ A,X2: A] :
% 0.31/0.49 ( ( Xs
% 0.31/0.49 != ( nil @ A ) )
% 0.31/0.49 => ( ( last @ A @ ( cons @ A @ X2 @ Xs ) )
% 0.31/0.49 = ( last @ A @ Xs ) ) ) ).
% 0.31/0.49
% 0.31/0.49 % last_ConsR
% 0.31/0.49 thf(fact_195_last__ConsL,axiom,
% 0.31/0.49 ! [A: $tType,Xs: list @ A,X2: A] :
% 0.31/0.49 ( ( Xs
% 0.31/0.49 = ( nil @ A ) )
% 0.31/0.49 => ( ( last @ A @ ( cons @ A @ X2 @ Xs ) )
% 0.31/0.49 = X2 ) ) ).
% 0.31/0.49
% 0.31/0.49 % last_ConsL
% 0.31/0.49 thf(fact_196_last_Osimps,axiom,
% 0.31/0.49 ! [A: $tType,Xs: list @ A,X2: A] :
% 0.31/0.49 ( ( ( Xs
% 0.31/0.49 = ( nil @ A ) )
% 0.31/0.49 => ( ( last @ A @ ( cons @ A @ X2 @ Xs ) )
% 0.31/0.49 = X2 ) )
% 0.31/0.49 & ( ( Xs
% 0.31/0.49 != ( nil @ A ) )
% 0.31/0.49 => ( ( last @ A @ ( cons @ A @ X2 @ Xs ) )
% 0.31/0.49 = ( last @ A @ Xs ) ) ) ) ).
% 0.31/0.49
% 0.31/0.49 % last.simps
% 0.31/0.49 thf(fact_197_butlast_Osimps_I2_J,axiom,
% 0.31/0.49 ! [A: $tType,Xs: list @ A,X2: A] :
% 0.31/0.49 ( ( ( Xs
% 0.31/0.49 = ( nil @ A ) )
% 0.31/0.49 => ( ( butlast @ A @ ( cons @ A @ X2 @ Xs ) )
% 0.31/0.49 = ( nil @ A ) ) )
% 0.31/0.49 & ( ( Xs
% 0.31/0.49 != ( nil @ A ) )
% 0.31/0.49 => ( ( butlast @ A @ ( cons @ A @ X2 @ Xs ) )
% 0.31/0.49 = ( cons @ A @ X2 @ ( butlast @ A @ Xs ) ) ) ) ) ).
% 0.31/0.49
% 0.31/0.49 % butlast.simps(2)
% 0.31/0.49 thf(fact_198_last__map,axiom,
% 0.31/0.49 ! [B: $tType,A: $tType,Xs: list @ A,F: A > B] :
% 0.31/0.49 ( ( Xs
% 0.31/0.49 != ( nil @ A ) )
% 0.31/0.49 => ( ( last @ B @ ( map @ A @ B @ F @ Xs ) )
% 0.31/0.49 = ( F @ ( last @ A @ Xs ) ) ) ) ).
% 0.31/0.49
% 0.31/0.49 % last_map
% 0.31/0.49 thf(fact_199_longest__common__suffix,axiom,
% 0.31/0.49 ! [A: $tType,Xs: list @ A,Ys: list @ A] :
% 0.31/0.49 ? [Ss: list @ A,Xs4: list @ A,Ys5: list @ A] :
% 0.31/0.49 ( ( Xs
% 0.31/0.49 = ( append @ A @ Xs4 @ Ss ) )
% 0.31/0.49 & ( Ys
% 0.31/0.49 = ( append @ A @ Ys5 @ Ss ) )
% 0.31/0.49 & ( ( Xs4
% 0.31/0.49 = ( nil @ A ) )
% 0.31/0.49 | ( Ys5
% 0.31/0.49 = ( nil @ A ) )
% 0.31/0.49 | ( ( last @ A @ Xs4 )
% 0.31/0.49 != ( last @ A @ Ys5 ) ) ) ) ).
% 0.31/0.49
% 0.31/0.49 % longest_common_suffix
% 0.31/0.49 thf(fact_200_butlast__append,axiom,
% 0.31/0.49 ! [A: $tType,Ys: list @ A,Xs: list @ A] :
% 0.31/0.49 ( ( ( Ys
% 0.31/0.49 = ( nil @ A ) )
% 0.31/0.49 => ( ( butlast @ A @ ( append @ A @ Xs @ Ys ) )
% 0.31/0.49 = ( butlast @ A @ Xs ) ) )
% 0.31/0.49 & ( ( Ys
% 0.31/0.49 != ( nil @ A ) )
% 0.31/0.49 => ( ( butlast @ A @ ( append @ A @ Xs @ Ys ) )
% 0.31/0.49 = ( append @ A @ Xs @ ( butlast @ A @ Ys ) ) ) ) ) ).
% 0.31/0.49
% 0.31/0.49 % butlast_append
% 0.31/0.49 thf(fact_201_last__append,axiom,
% 0.31/0.49 ! [A: $tType,Ys: list @ A,Xs: list @ A] :
% 0.31/0.49 ( ( ( Ys
% 0.31/0.49 = ( nil @ A ) )
% 0.31/0.49 => ( ( last @ A @ ( append @ A @ Xs @ Ys ) )
% 0.31/0.49 = ( last @ A @ Xs ) ) )
% 0.31/0.49 & ( ( Ys
% 0.31/0.49 != ( nil @ A ) )
% 0.31/0.49 => ( ( last @ A @ ( append @ A @ Xs @ Ys ) )
% 0.31/0.49 = ( last @ A @ Ys ) ) ) ) ).
% 0.31/0.49
% 0.31/0.49 % last_append
% 0.31/0.49 thf(fact_202_list__ex1__simps_I1_J,axiom,
% 0.31/0.49 ! [A: $tType,P: A > $o] :
% 0.31/0.49 ~ ( list_ex1 @ A @ P @ ( nil @ A ) ) ).
% 0.31/0.49
% 0.31/0.49 % list_ex1_simps(1)
% 0.31/0.49 thf(fact_203_strict__suffix__def,axiom,
% 0.31/0.49 ! [A: $tType] :
% 0.31/0.49 ( ( strict_suffix @ A )
% 0.31/0.49 = ( ^ [Xs3: list @ A,Ys3: list @ A] :
% 0.31/0.49 ? [Us2: list @ A] :
% 0.31/0.49 ( ( Ys3
% 0.31/0.49 = ( append @ A @ Us2 @ Xs3 ) )
% 0.31/0.49 & ( Us2
% 0.31/0.49 != ( nil @ A ) ) ) ) ) ).
% 0.31/0.49
% 0.31/0.49 % strict_suffix_def
% 0.31/0.49 thf(fact_204_strict__suffix__trans,axiom,
% 0.31/0.49 ! [A: $tType,Xs: list @ A,Ys: list @ A,Zs: list @ A] :
% 0.31/0.49 ( ( strict_suffix @ A @ Xs @ Ys )
% 0.31/0.49 => ( ( strict_suffix @ A @ Ys @ Zs )
% 0.31/0.49 => ( strict_suffix @ A @ Xs @ Zs ) ) ) ).
% 0.31/0.49
% 0.31/0.49 % strict_suffix_trans
% 0.31/0.49 thf(fact_205_map__tailrec__rev_Oelims,axiom,
% 0.31/0.49 ! [A: $tType,B: $tType,X2: A > B,Xa: list @ A,Xb: list @ B,Y: list @ B] :
% 0.31/0.49 ( ( ( map_tailrec_rev @ A @ B @ X2 @ Xa @ Xb )
% 0.31/0.49 = Y )
% 0.31/0.49 => ( ( ( Xa
% 0.31/0.49 = ( nil @ A ) )
% 0.31/0.49 => ( Y != Xb ) )
% 0.31/0.49 => ~ ! [A3: A,As: list @ A] :
% 0.31/0.49 ( ( Xa
% 0.31/0.49 = ( cons @ A @ A3 @ As ) )
% 0.31/0.49 => ( Y
% 0.31/0.49 != ( map_tailrec_rev @ A @ B @ X2 @ As @ ( cons @ B @ ( X2 @ A3 ) @ Xb ) ) ) ) ) ) ).
% 0.31/0.49
% 0.31/0.49 % map_tailrec_rev.elims
% 0.31/0.49 thf(fact_206_SuccD,axiom,
% 0.31/0.49 ! [A: $tType,K: A,Kl: set @ ( list @ A ),Kl2: list @ A] :
% 0.31/0.49 ( ( member @ A @ K @ ( bNF_Greatest_Succ @ A @ Kl @ Kl2 ) )
% 0.31/0.49 => ( member @ ( list @ A ) @ ( append @ A @ Kl2 @ ( cons @ A @ K @ ( nil @ A ) ) ) @ Kl ) ) ).
% 0.31/0.49
% 0.31/0.49 % SuccD
% 0.31/0.49 thf(fact_207_map__tailrec__rev_Osimps_I2_J,axiom,
% 0.31/0.49 ! [A: $tType,B: $tType,F: A > B,A2: A,As2: list @ A,Bs2: list @ B] :
% 0.31/0.49 ( ( map_tailrec_rev @ A @ B @ F @ ( cons @ A @ A2 @ As2 ) @ Bs2 )
% 0.31/0.49 = ( map_tailrec_rev @ A @ B @ F @ As2 @ ( cons @ B @ ( F @ A2 ) @ Bs2 ) ) ) ).
% 0.31/0.49
% 0.31/0.49 % map_tailrec_rev.simps(2)
% 0.31/0.49 thf(fact_208_map__tailrec__rev_Osimps_I1_J,axiom,
% 0.31/0.49 ! [A: $tType,B: $tType,F: A > B,Bs2: list @ B] :
% 0.31/0.49 ( ( map_tailrec_rev @ A @ B @ F @ ( nil @ A ) @ Bs2 )
% 0.31/0.49 = Bs2 ) ).
% 0.31/0.49
% 0.31/0.49 % map_tailrec_rev.simps(1)
% 0.31/0.49 thf(fact_209_SuccI,axiom,
% 0.31/0.49 ! [A: $tType,Kl2: list @ A,K: A,Kl: set @ ( list @ A )] :
% 0.31/0.49 ( ( member @ ( list @ A ) @ ( append @ A @ Kl2 @ ( cons @ A @ K @ ( nil @ A ) ) ) @ Kl )
% 0.31/0.49 => ( member @ A @ K @ ( bNF_Greatest_Succ @ A @ Kl @ Kl2 ) ) ) ).
% 0.31/0.49
% 0.31/0.49 % SuccI
% 0.31/0.49 thf(fact_210_shift__def,axiom,
% 0.31/0.49 ! [B: $tType,A: $tType] :
% 0.31/0.49 ( ( bNF_Greatest_shift @ A @ B )
% 0.31/0.49 = ( ^ [Lab: ( list @ A ) > B,K2: A,Kl3: list @ A] : ( Lab @ ( cons @ A @ K2 @ Kl3 ) ) ) ) ).
% 0.31/0.49
% 0.31/0.49 % shift_def
% 0.31/0.49 thf(fact_211_empty__Shift,axiom,
% 0.31/0.49 ! [A: $tType,Kl: set @ ( list @ A ),K: A] :
% 0.31/0.49 ( ( member @ ( list @ A ) @ ( nil @ A ) @ Kl )
% 0.31/0.49 => ( ( member @ A @ K @ ( bNF_Greatest_Succ @ A @ Kl @ ( nil @ A ) ) )
% 0.31/0.49 => ( member @ ( list @ A ) @ ( nil @ A ) @ ( bNF_Greatest_Shift @ A @ Kl @ K ) ) ) ) ).
% 0.31/0.49
% 0.31/0.49 % empty_Shift
% 0.31/0.49 thf(fact_212_ShiftD,axiom,
% 0.31/0.49 ! [A: $tType,Kl2: list @ A,Kl: set @ ( list @ A ),K: A] :
% 0.31/0.49 ( ( member @ ( list @ A ) @ Kl2 @ ( bNF_Greatest_Shift @ A @ Kl @ K ) )
% 0.31/0.49 => ( member @ ( list @ A ) @ ( cons @ A @ K @ Kl2 ) @ Kl ) ) ).
% 0.31/0.49
% 0.31/0.49 % ShiftD
% 0.31/0.49 thf(fact_213_Succ__Shift,axiom,
% 0.31/0.49 ! [A: $tType,Kl: set @ ( list @ A ),K: A,Kl2: list @ A] :
% 0.31/0.49 ( ( bNF_Greatest_Succ @ A @ ( bNF_Greatest_Shift @ A @ Kl @ K ) @ Kl2 )
% 0.31/0.49 = ( bNF_Greatest_Succ @ A @ Kl @ ( cons @ A @ K @ Kl2 ) ) ) ).
% 0.31/0.49
% 0.31/0.49 % Succ_Shift
% 0.31/0.49 thf(fact_214_map__tailrec__def,axiom,
% 0.31/0.49 ! [B: $tType,A: $tType] :
% 0.31/0.49 ( ( map_tailrec @ A @ B )
% 0.31/0.49 = ( ^ [F3: A > B,As3: list @ A] : ( rev @ B @ ( map_tailrec_rev @ A @ B @ F3 @ As3 @ ( nil @ B ) ) ) ) ) ).
% 0.31/0.49
% 0.31/0.49 % map_tailrec_def
% 0.31/0.49 thf(fact_215_ord_OgreaterThanAtMost__def,axiom,
% 0.31/0.49 ! [A: $tType] :
% 0.31/0.49 ( ( set_gr323396891AtMost @ A )
% 0.31/0.49 = ( ^ [Less_eq: A > A > $o,Less2: A > A > $o,L2: A,U2: A] : ( inf_inf @ ( set @ A ) @ ( set_greaterThan @ A @ Less2 @ L2 ) @ ( set_atMost @ A @ Less_eq @ U2 ) ) ) ) ).
% 0.31/0.49
% 0.31/0.49 % ord.greaterThanAtMost_def
% 0.31/0.49 thf(fact_216_rev__rev__ident,axiom,
% 0.31/0.49 ! [A: $tType,Xs: list @ A] :
% 0.31/0.49 ( ( rev @ A @ ( rev @ A @ Xs ) )
% 0.31/0.49 = Xs ) ).
% 0.31/0.49
% 0.31/0.49 % rev_rev_ident
% 0.31/0.49 thf(fact_217_rev__is__rev__conv,axiom,
% 0.31/0.49 ! [A: $tType,Xs: list @ A,Ys: list @ A] :
% 0.31/0.49 ( ( ( rev @ A @ Xs )
% 0.31/0.49 = ( rev @ A @ Ys ) )
% 0.31/0.49 = ( Xs = Ys ) ) ).
% 0.31/0.49
% 0.31/0.49 % rev_is_rev_conv
% 0.31/0.49 thf(fact_218_Nil__is__rev__conv,axiom,
% 0.31/0.49 ! [A: $tType,Xs: list @ A] :
% 0.31/0.49 ( ( ( nil @ A )
% 0.31/0.49 = ( rev @ A @ Xs ) )
% 0.31/0.49 = ( Xs
% 0.31/0.49 = ( nil @ A ) ) ) ).
% 0.31/0.49
% 0.31/0.49 % Nil_is_rev_conv
% 0.31/0.49 thf(fact_219_rev__is__Nil__conv,axiom,
% 0.31/0.49 ! [A: $tType,Xs: list @ A] :
% 0.31/0.49 ( ( ( rev @ A @ Xs )
% 0.31/0.49 = ( nil @ A ) )
% 0.31/0.49 = ( Xs
% 0.31/0.49 = ( nil @ A ) ) ) ).
% 0.31/0.49
% 0.31/0.49 % rev_is_Nil_conv
% 0.31/0.49 thf(fact_220_rev__append,axiom,
% 0.31/0.49 ! [A: $tType,Xs: list @ A,Ys: list @ A] :
% 0.31/0.49 ( ( rev @ A @ ( append @ A @ Xs @ Ys ) )
% 0.31/0.49 = ( append @ A @ ( rev @ A @ Ys ) @ ( rev @ A @ Xs ) ) ) ).
% 0.31/0.49
% 0.31/0.49 % rev_append
% 0.31/0.49 thf(fact_221_rev__singleton__conv,axiom,
% 0.31/0.49 ! [A: $tType,Xs: list @ A,X2: A] :
% 0.31/0.49 ( ( ( rev @ A @ Xs )
% 0.31/0.49 = ( cons @ A @ X2 @ ( nil @ A ) ) )
% 0.31/0.49 = ( Xs
% 0.31/0.49 = ( cons @ A @ X2 @ ( nil @ A ) ) ) ) ).
% 0.31/0.49
% 0.31/0.49 % rev_singleton_conv
% 0.31/0.49 thf(fact_222_singleton__rev__conv,axiom,
% 0.31/0.49 ! [A: $tType,X2: A,Xs: list @ A] :
% 0.31/0.49 ( ( ( cons @ A @ X2 @ ( nil @ A ) )
% 0.31/0.49 = ( rev @ A @ Xs ) )
% 0.31/0.49 = ( Xs
% 0.31/0.49 = ( cons @ A @ X2 @ ( nil @ A ) ) ) ) ).
% 0.31/0.49
% 0.31/0.49 % singleton_rev_conv
% 0.31/0.49 thf(fact_223_rev__eq__Cons__iff,axiom,
% 0.31/0.49 ! [A: $tType,Xs: list @ A,Y: A,Ys: list @ A] :
% 0.31/0.49 ( ( ( rev @ A @ Xs )
% 0.31/0.49 = ( cons @ A @ Y @ Ys ) )
% 0.31/0.49 = ( Xs
% 0.31/0.49 = ( append @ A @ ( rev @ A @ Ys ) @ ( cons @ A @ Y @ ( nil @ A ) ) ) ) ) ).
% 0.31/0.49
% 0.31/0.49 % rev_eq_Cons_iff
% 0.31/0.49 thf(fact_224_rev__map,axiom,
% 0.31/0.49 ! [A: $tType,B: $tType,F: B > A,Xs: list @ B] :
% 0.31/0.49 ( ( rev @ A @ ( map @ B @ A @ F @ Xs ) )
% 0.31/0.49 = ( map @ B @ A @ F @ ( rev @ B @ Xs ) ) ) ).
% 0.31/0.49
% 0.31/0.49 % rev_map
% 0.31/0.49 thf(fact_225_ord_OatMost__iff,axiom,
% 0.31/0.49 ! [A: $tType,I: A,Less_eq2: A > A > $o,K: A] :
% 0.31/0.49 ( ( member @ A @ I @ ( set_atMost @ A @ Less_eq2 @ K ) )
% 0.31/0.49 = ( Less_eq2 @ I @ K ) ) ).
% 0.31/0.49
% 0.31/0.49 % ord.atMost_iff
% 0.31/0.49 thf(fact_226_ord_OgreaterThanAtMost__iff,axiom,
% 0.31/0.49 ! [A: $tType,I: A,Less_eq2: A > A > $o,Less: A > A > $o,L: A,U: A] :
% 0.31/0.49 ( ( member @ A @ I @ ( set_gr323396891AtMost @ A @ Less_eq2 @ Less @ L @ U ) )
% 0.31/0.49 = ( ( Less @ L @ I )
% 0.31/0.49 & ( Less_eq2 @ I @ U ) ) ) ).
% 0.31/0.49
% 0.31/0.49 % ord.greaterThanAtMost_iff
% 0.31/0.49 thf(fact_227_rev_Osimps_I1_J,axiom,
% 0.31/0.49 ! [A: $tType] :
% 0.31/0.49 ( ( rev @ A @ ( nil @ A ) )
% 0.31/0.49 = ( nil @ A ) ) ).
% 0.31/0.49
% 0.31/0.49 % rev.simps(1)
% 0.31/0.49 thf(fact_228_rev__swap,axiom,
% 0.31/0.49 ! [A: $tType,Xs: list @ A,Ys: list @ A] :
% 0.31/0.49 ( ( ( rev @ A @ Xs )
% 0.31/0.49 = Ys )
% 0.31/0.49 = ( Xs
% 0.31/0.49 = ( rev @ A @ Ys ) ) ) ).
% 0.31/0.49
% 0.31/0.49 % rev_swap
% 0.31/0.49 thf(fact_229_rev_Osimps_I2_J,axiom,
% 0.31/0.49 ! [A: $tType,X2: A,Xs: list @ A] :
% 0.31/0.49 ( ( rev @ A @ ( cons @ A @ X2 @ Xs ) )
% 0.31/0.49 = ( append @ A @ ( rev @ A @ Xs ) @ ( cons @ A @ X2 @ ( nil @ A ) ) ) ) ).
% 0.31/0.49
% 0.31/0.49 % rev.simps(2)
% 0.31/0.49 thf(fact_230_map__tailrec__rev,axiom,
% 0.31/0.49 ! [A: $tType,B: $tType] :
% 0.31/0.49 ( ( map_tailrec_rev @ B @ A )
% 0.31/0.49 = ( ^ [F3: B > A,As3: list @ B] : ( append @ A @ ( rev @ A @ ( map @ B @ A @ F3 @ As3 ) ) ) ) ) ).
% 0.31/0.49
% 0.31/0.49 % map_tailrec_rev
% 0.31/0.49 thf(fact_231_list__of__aux__code_I1_J,axiom,
% 0.31/0.49 ! [A: $tType,Xs: list @ A] :
% 0.31/0.49 ( ( coindu1384447384of_aux @ A @ Xs @ ( coinductive_LNil @ A ) )
% 0.31/0.49 = ( rev @ A @ Xs ) ) ).
% 0.31/0.49
% 0.31/0.49 % list_of_aux_code(1)
% 0.31/0.49 thf(fact_232_local_OgreaterThanAtMost__def,axiom,
% 0.31/0.49 ! [L: a,U: a] :
% 0.31/0.49 ( ( set_gr323396891AtMost @ a @ less_eq @ less @ L @ U )
% 0.31/0.49 = ( inf_inf @ ( set @ a ) @ ( set_greaterThan @ a @ less @ L ) @ ( set_atMost @ a @ less_eq @ U ) ) ) ).
% 0.31/0.49
% 0.31/0.49 % local.greaterThanAtMost_def
% 0.31/0.49 thf(fact_233_local_Oord__eq__le__trans,axiom,
% 0.31/0.49 ! [A2: a,B2: a,C: a] :
% 0.31/0.49 ( ( A2 = B2 )
% 0.31/0.49 => ( ( less_eq @ B2 @ C )
% 0.31/0.49 => ( less_eq @ A2 @ C ) ) ) ).
% 0.31/0.49
% 0.31/0.49 % local.ord_eq_le_trans
% 0.31/0.49 thf(fact_234_local_Oord__le__eq__trans,axiom,
% 0.31/0.49 ! [A2: a,B2: a,C: a] :
% 0.31/0.49 ( ( less_eq @ A2 @ B2 )
% 0.31/0.49 => ( ( B2 = C )
% 0.31/0.49 => ( less_eq @ A2 @ C ) ) ) ).
% 0.31/0.49
% 0.31/0.49 % local.ord_le_eq_trans
% 0.31/0.49 thf(fact_235_local_Omax__def,axiom,
% 0.31/0.49 ! [A2: a,B2: a] :
% 0.31/0.49 ( ( ( less_eq @ A2 @ B2 )
% 0.31/0.49 => ( ( max @ a @ less_eq @ A2 @ B2 )
% 0.31/0.49 = B2 ) )
% 0.31/0.49 & ( ~ ( less_eq @ A2 @ B2 )
% 0.31/0.49 => ( ( max @ a @ less_eq @ A2 @ B2 )
% 0.31/0.49 = A2 ) ) ) ).
% 0.31/0.49
% 0.31/0.49 % local.max_def
% 0.31/0.49 thf(fact_236_local_Omin__def,axiom,
% 0.31/0.49 ! [A2: a,B2: a] :
% 0.31/0.49 ( ( ( less_eq @ A2 @ B2 )
% 0.31/0.49 => ( ( min @ a @ less_eq @ A2 @ B2 )
% 0.31/0.49 = A2 ) )
% 0.31/0.49 & ( ~ ( less_eq @ A2 @ B2 )
% 0.31/0.49 => ( ( min @ a @ less_eq @ A2 @ B2 )
% 0.31/0.49 = B2 ) ) ) ).
% 0.31/0.49
% 0.31/0.49 % local.min_def
% 0.31/0.49 thf(fact_237_local_OatMost__iff,axiom,
% 0.31/0.49 ! [I: a,K: a] :
% 0.31/0.49 ( ( member @ a @ I @ ( set_atMost @ a @ less_eq @ K ) )
% 0.31/0.49 = ( less_eq @ I @ K ) ) ).
% 0.31/0.49
% 0.31/0.49 % local.atMost_iff
% 0.31/0.49 thf(fact_238_local_OgreaterThanAtMost__iff,axiom,
% 0.31/0.49 ! [I: a,L: a,U: a] :
% 0.31/0.49 ( ( member @ a @ I @ ( set_gr323396891AtMost @ a @ less_eq @ less @ L @ U ) )
% 0.31/0.49 = ( ( less @ L @ I )
% 0.31/0.49 & ( less_eq @ I @ U ) ) ) ).
% 0.31/0.49
% 0.31/0.49 % local.greaterThanAtMost_iff
% 0.31/0.49 thf(fact_239_local_OatLeastLessThan__def,axiom,
% 0.31/0.49 ! [L: a,U: a] :
% 0.31/0.49 ( ( set_atLeastLessThan @ a @ less_eq @ less @ L @ U )
% 0.31/0.49 = ( inf_inf @ ( set @ a ) @ ( set_atLeast @ a @ less_eq @ L ) @ ( set_lessThan @ a @ less @ U ) ) ) ).
% 0.31/0.49
% 0.31/0.49 % local.atLeastLessThan_def
% 0.31/0.49 thf(fact_240_local_OatLeastAtMost__def,axiom,
% 0.31/0.49 ! [L: a,U: a] :
% 0.31/0.49 ( ( set_atLeastAtMost @ a @ less_eq @ L @ U )
% 0.31/0.49 = ( inf_inf @ ( set @ a ) @ ( set_atLeast @ a @ less_eq @ L ) @ ( set_atMost @ a @ less_eq @ U ) ) ) ).
% 0.31/0.49
% 0.31/0.49 % local.atLeastAtMost_def
% 0.31/0.49 thf(fact_241_local_OatLeast__iff,axiom,
% 0.31/0.49 ! [I: a,K: a] :
% 0.31/0.49 ( ( member @ a @ I @ ( set_atLeast @ a @ less_eq @ K ) )
% 0.31/0.49 = ( less_eq @ K @ I ) ) ).
% 0.31/0.49
% 0.31/0.49 % local.atLeast_iff
% 0.31/0.49 thf(fact_242_local_OatLeastAtMost__iff,axiom,
% 0.31/0.49 ! [I: a,L: a,U: a] :
% 0.31/0.49 ( ( member @ a @ I @ ( set_atLeastAtMost @ a @ less_eq @ L @ U ) )
% 0.31/0.49 = ( ( less_eq @ L @ I )
% 0.31/0.49 & ( less_eq @ I @ U ) ) ) ).
% 0.31/0.49
% 0.31/0.49 % local.atLeastAtMost_iff
% 0.31/0.49 thf(fact_243_local_OatLeastLessThan__iff,axiom,
% 0.31/0.49 ! [I: a,L: a,U: a] :
% 0.31/0.49 ( ( member @ a @ I @ ( set_atLeastLessThan @ a @ less_eq @ less @ L @ U ) )
% 0.31/0.49 = ( ( less_eq @ L @ I )
% 0.31/0.49 & ( less @ I @ U ) ) ) ).
% 0.31/0.49
% 0.31/0.49 % local.atLeastLessThan_iff
% 0.31/0.49 thf(fact_244_ord_OatLeast__iff,axiom,
% 0.31/0.49 ! [A: $tType,I: A,Less_eq2: A > A > $o,K: A] :
% 0.31/0.49 ( ( member @ A @ I @ ( set_atLeast @ A @ Less_eq2 @ K ) )
% 0.31/0.49 = ( Less_eq2 @ K @ I ) ) ).
% 0.31/0.49
% 0.31/0.49 % ord.atLeast_iff
% 0.31/0.49 thf(fact_245_ord_OatLeastAtMost__iff,axiom,
% 0.31/0.49 ! [A: $tType,I: A,Less_eq2: A > A > $o,L: A,U: A] :
% 0.31/0.49 ( ( member @ A @ I @ ( set_atLeastAtMost @ A @ Less_eq2 @ L @ U ) )
% 0.31/0.49 = ( ( Less_eq2 @ L @ I )
% 0.31/0.49 & ( Less_eq2 @ I @ U ) ) ) ).
% 0.31/0.49
% 0.31/0.49 % ord.atLeastAtMost_iff
% 0.31/0.49 thf(fact_246_ord_OatLeastLessThan__iff,axiom,
% 0.31/0.49 ! [A: $tType,I: A,Less_eq2: A > A > $o,Less: A > A > $o,L: A,U: A] :
% 0.31/0.49 ( ( member @ A @ I @ ( set_atLeastLessThan @ A @ Less_eq2 @ Less @ L @ U ) )
% 0.31/0.49 = ( ( Less_eq2 @ L @ I )
% 0.31/0.49 & ( Less @ I @ U ) ) ) ).
% 0.31/0.49
% 0.31/0.49 % ord.atLeastLessThan_iff
% 0.31/0.49 thf(fact_247_ord_OatLeastLessThan__def,axiom,
% 0.31/0.49 ! [A: $tType] :
% 0.31/0.49 ( ( set_atLeastLessThan @ A )
% 0.31/0.49 = ( ^ [Less_eq: A > A > $o,Less2: A > A > $o,L2: A,U2: A] : ( inf_inf @ ( set @ A ) @ ( set_atLeast @ A @ Less_eq @ L2 ) @ ( set_lessThan @ A @ Less2 @ U2 ) ) ) ) ).
% 0.31/0.49
% 0.31/0.49 % ord.atLeastLessThan_def
% 0.31/0.49 thf(fact_248_ord_OatLeastAtMost__def,axiom,
% 0.31/0.49 ! [A: $tType] :
% 0.31/0.49 ( ( set_atLeastAtMost @ A )
% 0.31/0.49 = ( ^ [Less_eq: A > A > $o,L2: A,U2: A] : ( inf_inf @ ( set @ A ) @ ( set_atLeast @ A @ Less_eq @ L2 ) @ ( set_atMost @ A @ Less_eq @ U2 ) ) ) ) ).
% 0.31/0.49
% 0.31/0.49 % ord.atLeastAtMost_def
% 0.31/0.49 thf(fact_249_local_Olsorted_OLNil,axiom,
% 0.31/0.49 coinductive_lsorted @ a @ less_eq @ ( coinductive_LNil @ a ) ).
% 0.31/0.49
% 0.31/0.49 % local.lsorted.LNil
% 0.31/0.49 thf(fact_250_hd__rev,axiom,
% 0.31/0.49 ! [A: $tType,Xs: list @ A] :
% 0.31/0.49 ( ( Xs
% 0.31/0.49 != ( nil @ A ) )
% 0.31/0.49 => ( ( hd @ A @ ( rev @ A @ Xs ) )
% 0.31/0.49 = ( last @ A @ Xs ) ) ) ).
% 0.31/0.49
% 0.31/0.49 % hd_rev
% 0.31/0.49 thf(fact_251_hd__append2,axiom,
% 0.31/0.49 ! [A: $tType,Xs: list @ A,Ys: list @ A] :
% 0.31/0.49 ( ( Xs
% 0.31/0.49 != ( nil @ A ) )
% 0.31/0.49 => ( ( hd @ A @ ( append @ A @ Xs @ Ys ) )
% 0.31/0.49 = ( hd @ A @ Xs ) ) ) ).
% 0.31/0.49
% 0.31/0.49 % hd_append2
% 0.31/0.49 thf(fact_252_local_Olsorted__code_I1_J,axiom,
% 0.31/0.49 coinductive_lsorted @ a @ less_eq @ ( coinductive_LNil @ a ) ).
% 0.31/0.49
% 0.31/0.49 % local.lsorted_code(1)
% 0.31/0.49
% 0.31/0.49 %----Type constructors (9)
% 0.31/0.49 thf(tcon_fun___Lattices_Osemilattice__inf,axiom,
% 0.31/0.49 ! [A7: $tType,A8: $tType] :
% 0.31/0.49 ( ( semilattice_inf @ A8 @ ( type2 @ A8 ) )
% 0.31/0.49 => ( semilattice_inf @ ( A7 > A8 ) @ ( type2 @ ( A7 > A8 ) ) ) ) ).
% 0.31/0.49
% 0.31/0.49 thf(tcon_fun___Lattices_Olattice,axiom,
% 0.31/0.49 ! [A7: $tType,A8: $tType] :
% 0.31/0.49 ( ( lattice @ A8 @ ( type2 @ A8 ) )
% 0.31/0.49 => ( lattice @ ( A7 > A8 ) @ ( type2 @ ( A7 > A8 ) ) ) ) ).
% 0.31/0.49
% 0.31/0.49 thf(tcon_fun___Orderings_Oord,axiom,
% 0.31/0.49 ! [A7: $tType,A8: $tType] :
% 0.31/0.49 ( ( ord @ A8 @ ( type2 @ A8 ) )
% 0.31/0.49 => ( ord @ ( A7 > A8 ) @ ( type2 @ ( A7 > A8 ) ) ) ) ).
% 0.31/0.49
% 0.31/0.49 thf(tcon_Set_Oset___Lattices_Osemilattice__inf_1,axiom,
% 0.31/0.49 ! [A7: $tType] : ( semilattice_inf @ ( set @ A7 ) @ ( type2 @ ( set @ A7 ) ) ) ).
% 0.31/0.49
% 0.31/0.49 thf(tcon_Set_Oset___Lattices_Olattice_2,axiom,
% 0.31/0.49 ! [A7: $tType] : ( lattice @ ( set @ A7 ) @ ( type2 @ ( set @ A7 ) ) ) ).
% 0.31/0.49
% 0.31/0.49 thf(tcon_Set_Oset___Orderings_Oord_3,axiom,
% 0.31/0.49 ! [A7: $tType] : ( ord @ ( set @ A7 ) @ ( type2 @ ( set @ A7 ) ) ) ).
% 0.31/0.49
% 0.31/0.49 thf(tcon_HOL_Obool___Lattices_Osemilattice__inf_4,axiom,
% 0.31/0.49 semilattice_inf @ $o @ ( type2 @ $o ) ).
% 0.31/0.49
% 0.31/0.49 thf(tcon_HOL_Obool___Lattices_Olattice_5,axiom,
% 0.31/0.49 lattice @ $o @ ( type2 @ $o ) ).
% 0.31/0.49
% 0.31/0.49 thf(tcon_HOL_Obool___Orderings_Oord_6,axiom,
% 0.31/0.49 ord @ $o @ ( type2 @ $o ) ).
% 0.31/0.49
% 0.31/0.49 %----Conjectures (1)
% 0.31/0.49 thf(conj_0,conjecture,
% 0.31/0.49 ( ( coinductive_lnull @ a @ ( hammin1328233080lmerge @ a @ less @ xs @ ys ) )
% 0.31/0.49 = ( ( coinductive_lnull @ a @ xs )
% 0.31/0.49 | ( coinductive_lnull @ a @ ys ) ) ) ).
% 0.31/0.49
% 0.31/0.49 %------------------------------------------------------------------------------
% 0.31/0.49 ------------------------
% 3.22/1.74 ---- Embedded in THF ---
% 3.22/1.74 %%% This output was generated by embedproblem, version 1.9.5 (library version 1.9).
% 3.22/1.74 %%% Generated on Tue Feb 24 06:09:58 EST 2026
% 3.22/1.74 %%% using '$$dhol' embedding, version 1.3.0.
% 3.22/1.74 %%% Logic specification used:
% 3.22/1.74 %%% thf(spec, logic, $$dhol).
% 3.22/1.74
% 3.22/1.74 % SZS output start ListOfTHF for /export/starexec/sandbox/tmp/tmp.QfeLN0lqUF/DTF2DTF2221.p
% 3.22/1.74 thf(ty_t_Coinductive__List_Ollist, type, coinductive_llist: ($tType > $tType)).
% 3.22/1.74 thf(ty_t_List_Olist, type, list: ($tType > $tType)).
% 3.22/1.74 thf(ty_t_Set_Oset, type, set: ($tType > $tType)).
% 3.22/1.74 thf(ty_t_itself, type, itself: ($tType > $tType)).
% 3.22/1.74 thf(ty_tf_a, type, a: $tType).
% 3.22/1.74 thf(sy_cl_HOL_Otype, type, type: (!> [A:$tType]: (((itself @ A) > $o)))).
% 3.22/1.74 thf(sy_cl_Orderings_Oord, type, ord: (!> [A:$tType]: (((itself @ A) > $o)))).
% 3.22/1.74 thf(sy_cl_Lattices_Olattice, type, lattice: (!> [A:$tType]: (((itself @ A) > $o)))).
% 3.22/1.74 thf(sy_cl_Lattices_Osemilattice__inf, type, semilattice_inf: (!> [A:$tType]: (((itself @ A) > $o)))).
% 3.22/1.74 thf(sy_c_BNF__Greatest__Fixpoint_OShift, type, bNF_Greatest_Shift: (!> [A:$tType]: (((set @ (list @ A)) > (A > (set @ (list @ A))))))).
% 3.22/1.74 thf(sy_c_BNF__Greatest__Fixpoint_OSucc, type, bNF_Greatest_Succ: (!> [A:$tType]: (((set @ (list @ A)) > ((list @ A) > (set @ A)))))).
% 3.22/1.74 thf(sy_c_BNF__Greatest__Fixpoint_Oshift, type, bNF_Greatest_shift: (!> [A:$tType,B:$tType]: ((((list @ A) > B) > (A > ((list @ A) > B)))))).
% 3.22/1.74 thf(sy_c_Coinductive__List_Olist__of__aux, type, coindu1384447384of_aux: (!> [A:$tType]: (((list @ A) > ((coinductive_llist @ A) > (list @ A)))))).
% 3.22/1.74 thf(sy_c_Coinductive__List_Ollist_OLNil, type, coinductive_LNil: (!> [A:$tType]: ((coinductive_llist @ A)))).
% 3.22/1.74 thf(sy_c_Coinductive__List_Ollist_Olnull, type, coinductive_lnull: (!> [A:$tType]: (((coinductive_llist @ A) > $o)))).
% 3.22/1.74 thf(sy_c_Coinductive__List_Oord_Olsorted, type, coinductive_lsorted: (!> [A:$tType]: (((A > (A > $o)) > ((coinductive_llist @ A) > $o))))).
% 3.22/1.74 thf(sy_c_Hamming__Stream__Mirabelle__rwekfkwckg_Oord_Olmerge, type, hammin1328233080lmerge: (!> [A:$tType]: (((A > (A > $o)) > ((coinductive_llist @ A) > ((coinductive_llist @ A) > (coinductive_llist @ A))))))).
% 3.22/1.74 thf(sy_c_Hamming__Stream__Mirabelle__rwekfkwckg_Oord__class_Olmerge, type, hammin1138290136lmerge: (!> [A:$tType]: (((coinductive_llist @ A) > ((coinductive_llist @ A) > (coinductive_llist @ A)))))).
% 3.22/1.74 thf(sy_c_Lattices_Oinf__class_Oinf, type, inf_inf: (!> [A:$tType]: ((A > (A > A))))).
% 3.22/1.74 thf(sy_c_List_Oappend, type, append: (!> [A:$tType]: (((list @ A) > ((list @ A) > (list @ A)))))).
% 3.22/1.74 thf(sy_c_List_Obind, type, bind: (!> [A:$tType,B:$tType]: (((list @ A) > ((A > (list @ B)) > (list @ B)))))).
% 3.22/1.74 thf(sy_c_List_Obutlast, type, butlast: (!> [A:$tType]: (((list @ A) > (list @ A))))).
% 3.22/1.74 thf(sy_c_List_Oinsert, type, insert: (!> [A:$tType]: ((A > ((list @ A) > (list @ A)))))).
% 3.22/1.74 thf(sy_c_List_Olast, type, last: (!> [A:$tType]: (((list @ A) > A)))).
% 3.22/1.74 thf(sy_c_List_Olist_OCons, type, cons: (!> [A:$tType]: ((A > ((list @ A) > (list @ A)))))).
% 3.22/1.74 thf(sy_c_List_Olist_ONil, type, nil: (!> [A:$tType]: ((list @ A)))).
% 3.22/1.74 thf(sy_c_List_Olist_Ohd, type, hd: (!> [A:$tType]: (((list @ A) > A)))).
% 3.22/1.74 thf(sy_c_List_Olist_Omap, type, map: (!> [A:$tType,Aa:$tType]: (((A > Aa) > ((list @ A) > (list @ Aa)))))).
% 3.22/1.74 thf(sy_c_List_Olist__ex1, type, list_ex1: (!> [A:$tType]: (((A > $o) > ((list @ A) > $o))))).
% 3.22/1.74 thf(sy_c_List_Omap__tailrec, type, map_tailrec: (!> [A:$tType,B:$tType]: (((A > B) > ((list @ A) > (list @ B)))))).
% 3.22/1.74 thf(sy_c_List_Omap__tailrec__rev, type, map_tailrec_rev: (!> [A:$tType,B:$tType]: (((A > B) > ((list @ A) > ((list @ B) > (list @ B))))))).
% 3.22/1.74 thf(sy_c_List_Omaps, type, maps: (!> [A:$tType,B:$tType]: (((A > (list @ B)) > ((list @ A) > (list @ B)))))).
% 3.22/1.74 thf(sy_c_List_Oord_Olexordp, type, lexordp: (!> [A:$tType]: (((A > (A > $o)) > ((list @ A) > ((list @ A) > $o)))))).
% 3.22/1.74 thf(sy_c_List_Oord_Olexordp__eq, type, lexordp_eq: (!> [A:$tType]: (((A > (A > $o)) > ((list @ A) > ((list @ A) > $o)))))).
% 3.22/1.74 thf(sy_c_List_Oproduct__lists, type, product_lists: (!> [A:$tType]: (((list @ (list @ A)) > (list @ (list @ A)))))).
% 3.22/1.74 thf(sy_c_List_Orev, type, rev: (!> [A:$tType]: (((list @ A) > (list @ A))))).
% 3.22/1.74 thf(sy_c_List_Orotate1, type, rotate1: (!> [A:$tType]: (((list @ A) > (list @ A))))).
% 3.22/1.74 thf(sy_c_List_Osublists, type, sublists: (!> [A:$tType]: (((list @ A) > (list @ (list @ A)))))).
% 3.22/1.74 thf(sy_c_Orderings_Oord_Omax, type, max: (!> [A:$tType]: (((A > (A > $o)) > (A > (A > A)))))).
% 3.22/1.74 thf(sy_c_Orderings_Oord_Omin, type, min: (!> [A:$tType]: (((A > (A > $o)) > (A > (A > A)))))).
% 3.22/1.74 thf(sy_c_Pure_Otype, type, type2: (!> [A:$tType]: ((itself @ A)))).
% 3.22/1.74 thf(sy_c_Set_OCollect, type, collect: (!> [A:$tType]: (((A > $o) > (set @ A))))).
% 3.22/1.74 thf(sy_c_Set__Interval_Oord_OatLeast, type, set_atLeast: (!> [A:$tType]: (((A > (A > $o)) > (A > (set @ A)))))).
% 3.22/1.74 thf(sy_c_Set__Interval_Oord_OatLeastAtMost, type, set_atLeastAtMost: (!> [A:$tType]: (((A > (A > $o)) > (A > (A > (set @ A))))))).
% 3.22/1.74 thf(sy_c_Set__Interval_Oord_OatLeastLessThan, type, set_atLeastLessThan: (!> [A:$tType]: (((A > (A > $o)) > ((A > (A > $o)) > (A > (A > (set @ A)))))))).
% 3.22/1.74 thf(sy_c_Set__Interval_Oord_OatMost, type, set_atMost: (!> [A:$tType]: (((A > (A > $o)) > (A > (set @ A)))))).
% 3.22/1.74 thf(sy_c_Set__Interval_Oord_OgreaterThan, type, set_greaterThan: (!> [A:$tType]: (((A > (A > $o)) > (A > (set @ A)))))).
% 3.22/1.74 thf(sy_c_Set__Interval_Oord_OgreaterThanAtMost, type, set_gr323396891AtMost: (!> [A:$tType]: (((A > (A > $o)) > ((A > (A > $o)) > (A > (A > (set @ A)))))))).
% 3.22/1.74 thf(sy_c_Set__Interval_Oord_OgreaterThanLessThan, type, set_gr1161524159ssThan: (!> [A:$tType]: (((A > (A > $o)) > (A > (A > (set @ A))))))).
% 3.22/1.74 thf(sy_c_Set__Interval_Oord_OlessThan, type, set_lessThan: (!> [A:$tType]: (((A > (A > $o)) > (A > (set @ A)))))).
% 3.22/1.74 thf(sy_c_Sublist_Oprefixes, type, prefixes: (!> [A:$tType]: (((list @ A) > (list @ (list @ A)))))).
% 3.22/1.74 thf(sy_c_Sublist_Oprefixes__rel, type, prefixes_rel: (!> [A:$tType]: (((list @ A) > ((list @ A) > $o))))).
% 3.22/1.74 thf(sy_c_Sublist_Ostrict__suffix, type, strict_suffix: (!> [A:$tType]: (((list @ A) > ((list @ A) > $o))))).
% 3.22/1.74 thf(sy_c_Wellfounded_Oaccp, type, accp: (!> [A:$tType]: (((A > (A > $o)) > (A > $o))))).
% 3.22/1.74 thf(sy_c_member, type, member: (!> [A:$tType]: ((A > ((set @ A) > $o))))).
% 3.22/1.74 thf(sy_v_less, type, less: (a > (a > $o))).
% 3.22/1.74 thf(sy_v_less__eq, type, less_eq: (a > (a > $o))).
% 3.22/1.74 thf(sy_v_xs, type, xs: (coinductive_llist @ a)).
% 3.22/1.74 thf(sy_v_ys, type, ys: (coinductive_llist @ a)).
% 3.22/1.74 thf(fact_0_lmerge_Oexhaust, axiom, (! [Xs:(coinductive_llist @ a),Ys:(coinductive_llist @ a)]: (((~ ((((coinductive_lnull @ a) @ Xs) | ((coinductive_lnull @ a) @ Ys)))) => (~ (((~ (((coinductive_lnull @ a) @ Xs))) => ((coinductive_lnull @ a) @ Ys)))))))).
% 3.22/1.74 thf(fact_1_local_Oord__eq__less__trans, axiom, (! [A2:a,B2:a,C:a]: (((A2 = B2) => (((less @ B2) @ C) => ((less @ A2) @ C)))))).
% 3.22/1.74 thf(fact_2_local_Oord__less__eq__trans, axiom, (! [A2:a,B2:a,C:a]: ((((less @ A2) @ B2) => ((B2 = C) => ((less @ A2) @ C)))))).
% 3.22/1.74 thf(fact_3_lmerge_Odisc_I2_J, axiom, (! [Xs:(coinductive_llist @ a),Ys:(coinductive_llist @ a)]: (((~ (((coinductive_lnull @ a) @ Xs))) => ((~ (((coinductive_lnull @ a) @ Ys))) => (~ (((coinductive_lnull @ a) @ ((((hammin1328233080lmerge @ a) @ less) @ Xs) @ Ys))))))))).
% 3.22/1.74 thf(fact_4_lmerge_Odisc_I1_J, axiom, (! [Xs:(coinductive_llist @ a),Ys:(coinductive_llist @ a)]: (((((coinductive_lnull @ a) @ Xs) | ((coinductive_lnull @ a) @ Ys)) => ((coinductive_lnull @ a) @ ((((hammin1328233080lmerge @ a) @ less) @ Xs) @ Ys)))))).
% 3.22/1.74 thf(fact_5_lmerge_Osimps_I2_J, axiom, (! [Xs:(coinductive_llist @ a),Ys:(coinductive_llist @ a)]: (((~ (((coinductive_lnull @ a) @ ((((hammin1328233080lmerge @ a) @ less) @ Xs) @ Ys)))) = ((~ (((coinductive_lnull @ a) @ Xs))) & (~ (((coinductive_lnull @ a) @ Ys)))))))).
% 3.22/1.74 thf(fact_6_lmerge_Osimps_I1_J, axiom, (! [Xs:(coinductive_llist @ a),Ys:(coinductive_llist @ a)]: ((((coinductive_lnull @ a) @ ((((hammin1328233080lmerge @ a) @ less) @ Xs) @ Ys)) = (((coinductive_lnull @ a) @ Xs) | ((coinductive_lnull @ a) @ Ys)))))).
% 3.22/1.74 thf(fact_7_ord_Olmerge_Odisc_I2_J, axiom, (! [A:$tType,Xs:(coinductive_llist @ A),Ys:(coinductive_llist @ A),Less:(A > (A > $o))]: (((~ (((coinductive_lnull @ A) @ Xs))) => ((~ (((coinductive_lnull @ A) @ Ys))) => (~ (((coinductive_lnull @ A) @ ((((hammin1328233080lmerge @ A) @ Less) @ Xs) @ Ys))))))))).
% 3.22/1.74 thf(fact_8_ord_Olmerge_Odisc_I1_J, axiom, (! [A:$tType,Xs:(coinductive_llist @ A),Ys:(coinductive_llist @ A),Less:(A > (A > $o))]: (((((coinductive_lnull @ A) @ Xs) | ((coinductive_lnull @ A) @ Ys)) => ((coinductive_lnull @ A) @ ((((hammin1328233080lmerge @ A) @ Less) @ Xs) @ Ys)))))).
% 3.22/1.74 thf(fact_9_ord_Olmerge_Odisc__iff_I2_J, axiom, (! [A:$tType,Less:(A > (A > $o)),Xs:(coinductive_llist @ A),Ys:(coinductive_llist @ A)]: (((~ (((coinductive_lnull @ A) @ ((((hammin1328233080lmerge @ A) @ Less) @ Xs) @ Ys)))) = ((~ (((coinductive_lnull @ A) @ Xs))) & (~ (((coinductive_lnull @ A) @ Ys)))))))).
% 3.22/1.74 thf(fact_10_ord_Olmerge_Odisc__iff_I1_J, axiom, (! [A:$tType,Less:(A > (A > $o)),Xs:(coinductive_llist @ A),Ys:(coinductive_llist @ A)]: ((((coinductive_lnull @ A) @ ((((hammin1328233080lmerge @ A) @ Less) @ Xs) @ Ys)) = (((coinductive_lnull @ A) @ Xs) | ((coinductive_lnull @ A) @ Ys)))))).
% 3.22/1.74 thf(fact_11_ord_Olmerge_Oexhaust, axiom, (! [A:$tType,Xs:(coinductive_llist @ A),Ys:(coinductive_llist @ A)]: (((~ ((((coinductive_lnull @ A) @ Xs) | ((coinductive_lnull @ A) @ Ys)))) => (~ (((~ (((coinductive_lnull @ A) @ Xs))) => ((coinductive_lnull @ A) @ Ys)))))))).
% 3.22/1.74 thf(fact_12_ord__class_Olmerge_Oexhaust, axiom, (! [A:$tType]: ((((ord @ A) @ (type2 @ A)) => (! [Xs:(coinductive_llist @ A),Ys:(coinductive_llist @ A)]: (((~ ((((coinductive_lnull @ A) @ Xs) | ((coinductive_lnull @ A) @ Ys)))) => (~ (((~ (((coinductive_lnull @ A) @ Xs))) => ((coinductive_lnull @ A) @ Ys))))))))))).
% 3.22/1.74 thf(fact_13_lmerge_Octr_I1_J, axiom, (! [Xs:(coinductive_llist @ a),Ys:(coinductive_llist @ a)]: (((((coinductive_lnull @ a) @ Xs) | ((coinductive_lnull @ a) @ Ys)) => (((((hammin1328233080lmerge @ a) @ less) @ Xs) @ Ys) = (coinductive_LNil @ a)))))).
% 3.22/1.74 thf(fact_14_local_Olexordp__eq__refl, axiom, (! [Xs:(list @ a)]: (((((lexordp_eq @ a) @ less) @ Xs) @ Xs)))).
% 3.22/1.74 thf(fact_15_local_OgreaterThanLessThan__iff, axiom, (! [I:a,L:a,U:a]: (((((member @ a) @ I) @ ((((set_gr1161524159ssThan @ a) @ less) @ L) @ U)) = (((less @ L) @ I) & ((less @ I) @ U)))))).
% 3.22/1.74 thf(fact_16_local_Olexordp__irreflexive, axiom, (! [Xs:(list @ a)]: (((! [X:a]: ((~ (((less @ X) @ X))))) => (~ (((((lexordp @ a) @ less) @ Xs) @ Xs))))))).
% 3.22/1.74 thf(fact_17_local_OgreaterThan__iff, axiom, (! [I:a,K:a]: (((((member @ a) @ I) @ (((set_greaterThan @ a) @ less) @ K)) = ((less @ K) @ I))))).
% 3.22/1.74 thf(fact_18_local_OlessThan__iff, axiom, (! [I:a,K:a]: (((((member @ a) @ I) @ (((set_lessThan @ a) @ less) @ K)) = ((less @ I) @ K))))).
% 3.22/1.74 thf(fact_19_lzip_Oexhaust, axiom, (! [A:$tType,B:$tType,Xs:(coinductive_llist @ A),Ys:(coinductive_llist @ B)]: (((~ ((((coinductive_lnull @ A) @ Xs) | ((coinductive_lnull @ B) @ Ys)))) => (~ (((~ (((coinductive_lnull @ A) @ Xs))) => ((coinductive_lnull @ B) @ Ys)))))))).
% 3.22/1.74 thf(fact_20_lappend_Oexhaust, axiom, (! [A:$tType,Xs:(coinductive_llist @ A),Ys:(coinductive_llist @ A)]: (((((coinductive_lnull @ A) @ Xs) => (~ (((coinductive_lnull @ A) @ Ys)))) => ((~ (((coinductive_lnull @ A) @ Xs))) | (~ (((coinductive_lnull @ A) @ Ys)))))))).
% 3.22/1.74 thf(fact_21_ord_Olmerge_Octr_I1_J, axiom, (! [A:$tType,Xs:(coinductive_llist @ A),Ys:(coinductive_llist @ A),Less:(A > (A > $o))]: (((((coinductive_lnull @ A) @ Xs) | ((coinductive_lnull @ A) @ Ys)) => (((((hammin1328233080lmerge @ A) @ Less) @ Xs) @ Ys) = (coinductive_LNil @ A)))))).
% 3.22/1.74 thf(fact_22_ord__class_Olmerge_Odisc_I2_J, axiom, (! [A:$tType]: ((((ord @ A) @ (type2 @ A)) => (! [Xs:(coinductive_llist @ A),Ys:(coinductive_llist @ A)]: (((~ (((coinductive_lnull @ A) @ Xs))) => ((~ (((coinductive_lnull @ A) @ Ys))) => (~ (((coinductive_lnull @ A) @ (((hammin1138290136lmerge @ A) @ Xs) @ Ys)))))))))))).
% 3.22/1.74 thf(fact_23_local_Olexordp__into__lexordp__eq, axiom, (! [Xs:(list @ a),Ys:(list @ a)]: ((((((lexordp @ a) @ less) @ Xs) @ Ys) => ((((lexordp_eq @ a) @ less) @ Xs) @ Ys))))).
% 3.22/1.74 thf(fact_24_lnull__def, axiom, (! [A:$tType]: (((coinductive_lnull @ A) = (^ [Llist:(coinductive_llist @ A)]: ((Llist = (coinductive_LNil @ A)))))))).
% 3.22/1.74 thf(fact_25_llist_Ocollapse_I1_J, axiom, (! [A:$tType,Llist2:(coinductive_llist @ A)]: ((((coinductive_lnull @ A) @ Llist2) => (Llist2 = (coinductive_LNil @ A)))))).
% 3.22/1.74 thf(fact_26_llist_OdiscI_I1_J, axiom, (! [A:$tType,Llist2:(coinductive_llist @ A)]: (((Llist2 = (coinductive_LNil @ A)) => ((coinductive_lnull @ A) @ Llist2))))).
% 3.22/1.74 thf(fact_27_llist_Odisc_I1_J, axiom, (! [A:$tType]: (((coinductive_lnull @ A) @ (coinductive_LNil @ A))))).
% 3.22/1.74 thf(fact_28_ord__class_Olmerge_Octr_I1_J, axiom, (! [A:$tType]: ((((ord @ A) @ (type2 @ A)) => (! [Xs:(coinductive_llist @ A),Ys:(coinductive_llist @ A)]: (((((coinductive_lnull @ A) @ Xs) | ((coinductive_lnull @ A) @ Ys)) => ((((hammin1138290136lmerge @ A) @ Xs) @ Ys) = (coinductive_LNil @ A))))))))).
% 3.22/1.74 thf(fact_29_ord__class_Olmerge_Odisc__iff_I1_J, axiom, (! [A:$tType]: ((((ord @ A) @ (type2 @ A)) => (! [Xs:(coinductive_llist @ A),Ys:(coinductive_llist @ A)]: ((((coinductive_lnull @ A) @ (((hammin1138290136lmerge @ A) @ Xs) @ Ys)) = (((coinductive_lnull @ A) @ Xs) | ((coinductive_lnull @ A) @ Ys))))))))).
% 3.22/1.74 thf(fact_30_ord__class_Olmerge_Odisc__iff_I2_J, axiom, (! [A:$tType]: ((((ord @ A) @ (type2 @ A)) => (! [Xs:(coinductive_llist @ A),Ys:(coinductive_llist @ A)]: (((~ (((coinductive_lnull @ A) @ (((hammin1138290136lmerge @ A) @ Xs) @ Ys)))) = ((~ (((coinductive_lnull @ A) @ Xs))) & (~ (((coinductive_lnull @ A) @ Ys))))))))))).
% 3.22/1.74 thf(fact_31_ord__class_Olmerge_Odisc_I1_J, axiom, (! [A:$tType]: ((((ord @ A) @ (type2 @ A)) => (! [Xs:(coinductive_llist @ A),Ys:(coinductive_llist @ A)]: (((((coinductive_lnull @ A) @ Xs) | ((coinductive_lnull @ A) @ Ys)) => ((coinductive_lnull @ A) @ (((hammin1138290136lmerge @ A) @ Xs) @ Ys))))))))).
% 3.22/1.74 thf(fact_32_local_OgreaterThanLessThan__eq, axiom, (! [A2:a,B2:a]: ((((((set_gr1161524159ssThan @ a) @ less) @ A2) @ B2) = (((inf_inf @ (set @ a)) @ (((set_greaterThan @ a) @ less) @ A2)) @ (((set_lessThan @ a) @ less) @ B2)))))).
% 3.22/1.74 thf(fact_33_local_OgreaterThanLessThan__def, axiom, (! [L:a,U:a]: ((((((set_gr1161524159ssThan @ a) @ less) @ L) @ U) = (((inf_inf @ (set @ a)) @ (((set_greaterThan @ a) @ less) @ L)) @ (((set_lessThan @ a) @ less) @ U)))))).
% 3.22/1.74 thf(fact_34_local_Olexordp__eq_ONil, axiom, (! [Ys:(list @ a)]: (((((lexordp_eq @ a) @ less) @ (nil @ a)) @ Ys)))).
% 3.22/1.74 thf(fact_35_local_Olexordp__eq_OCons__eq, axiom, (! [X2:a,Y:a,Xs:(list @ a),Ys:(list @ a)]: (((~ (((less @ X2) @ Y))) => ((~ (((less @ Y) @ X2))) => (((((lexordp_eq @ a) @ less) @ Xs) @ Ys) => ((((lexordp_eq @ a) @ less) @ (((cons @ a) @ X2) @ Xs)) @ (((cons @ a) @ Y) @ Ys)))))))).
% 3.22/1.74 thf(fact_36_local_Olexordp__eq_OCons, axiom, (! [X2:a,Y:a,Xs:(list @ a),Ys:(list @ a)]: ((((less @ X2) @ Y) => ((((lexordp_eq @ a) @ less) @ (((cons @ a) @ X2) @ Xs)) @ (((cons @ a) @ Y) @ Ys)))))).
% 3.22/1.74 thf(fact_37_ord_Olexordp__into__lexordp__eq, axiom, (! [A:$tType,Less:(A > (A > $o)),Xs:(list @ A),Ys:(list @ A)]: ((((((lexordp @ A) @ Less) @ Xs) @ Ys) => ((((lexordp_eq @ A) @ Less) @ Xs) @ Ys))))).
% 3.22/1.74 thf(fact_38_local_Olexordp_OCons__eq, axiom, (! [X2:a,Y:a,Xs:(list @ a),Ys:(list @ a)]: (((~ (((less @ X2) @ Y))) => ((~ (((less @ Y) @ X2))) => (((((lexordp @ a) @ less) @ Xs) @ Ys) => ((((lexordp @ a) @ less) @ (((cons @ a) @ X2) @ Xs)) @ (((cons @ a) @ Y) @ Ys)))))))).
% 3.22/1.74 thf(fact_39_local_Olexordp_OCons, axiom, (! [X2:a,Y:a,Xs:(list @ a),Ys:(list @ a)]: ((((less @ X2) @ Y) => ((((lexordp @ a) @ less) @ (((cons @ a) @ X2) @ Xs)) @ (((cons @ a) @ Y) @ Ys)))))).
% 3.22/1.74 thf(fact_40_local_Olexordp__append__leftI, axiom, (! [Us:(list @ a),Vs:(list @ a),Xs:(list @ a)]: ((((((lexordp @ a) @ less) @ Us) @ Vs) => ((((lexordp @ a) @ less) @ (((append @ a) @ Xs) @ Us)) @ (((append @ a) @ Xs) @ Vs)))))).
% 3.22/1.74 thf(fact_41_local_Olexordp__append__leftD, axiom, (! [Xs:(list @ a),Us:(list @ a),Vs:(list @ a)]: ((((((lexordp @ a) @ less) @ (((append @ a) @ Xs) @ Us)) @ (((append @ a) @ Xs) @ Vs)) => ((! [A3:a]: ((~ (((less @ A3) @ A3))))) => ((((lexordp @ a) @ less) @ Us) @ Vs)))))).
% 3.22/1.74 thf(fact_42_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)))))).
% 3.22/1.74 thf(fact_43_mem__Collect__eq, axiom, (! [A:$tType,A2:A,P:(A > $o)]: (((((member @ A) @ A2) @ ((collect @ A) @ P)) = (P @ A2))))).
% 3.22/1.74 thf(fact_44_Collect__mem__eq, axiom, (! [A:$tType,A4:(set @ A)]: ((((collect @ A) @ (^ [X3:A]: ((((member @ A) @ X3) @ A4)))) = A4)))).
% 3.22/1.74 thf(fact_45_Collect__cong, axiom, (! [A:$tType,P:(A > $o),Q:(A > $o)]: (((! [X:A]: (((P @ X) = (Q @ X)))) => (((collect @ A) @ P) = ((collect @ A) @ Q)))))).
% 3.22/1.74 thf(fact_46_ext, axiom, (! [B:$tType,A:$tType,F:(A > B),G:(A > B)]: (((! [X:A]: (((F @ X) = (G @ X)))) => (F = G))))).
% 3.22/1.74 thf(fact_47_same__append__eq, axiom, (! [A:$tType,Xs:(list @ A),Ys:(list @ A),Zs:(list @ A)]: ((((((append @ A) @ Xs) @ Ys) = (((append @ A) @ Xs) @ Zs)) = (Ys = Zs))))).
% 3.22/1.74 thf(fact_48_append__same__eq, axiom, (! [A:$tType,Ys:(list @ A),Xs:(list @ A),Zs:(list @ A)]: ((((((append @ A) @ Ys) @ Xs) = (((append @ A) @ Zs) @ Xs)) = (Ys = Zs))))).
% 3.22/1.74 thf(fact_49_append__assoc, axiom, (! [A:$tType,Xs:(list @ A),Ys:(list @ A),Zs:(list @ A)]: (((((append @ A) @ (((append @ A) @ Xs) @ Ys)) @ Zs) = (((append @ A) @ Xs) @ (((append @ A) @ Ys) @ Zs)))))).
% 3.22/1.74 thf(fact_50_local_Olexordp_ONil, axiom, (! [Y:a,Ys:(list @ a)]: (((((lexordp @ a) @ less) @ (nil @ a)) @ (((cons @ a) @ Y) @ Ys))))).
% 3.22/1.74 thf(fact_51_local_Olexordp_Ocases, axiom, (! [A1:(list @ a),A22:(list @ a)]: ((((((lexordp @ a) @ less) @ A1) @ A22) => (((A1 = (nil @ a)) => (! [Y2:a,Ys2:(list @ a)]: ((A22 != (((cons @ a) @ Y2) @ Ys2))))) => ((! [X:a]: (((? [Xs2:(list @ a)]: ((A1 = (((cons @ a) @ X) @ Xs2)))) => (! [Y2:a]: (((? [Ys2:(list @ a)]: ((A22 = (((cons @ a) @ Y2) @ Ys2)))) => (~ (((less @ X) @ Y2))))))))) => (~ ((! [X:a,Y2:a,Xs2:(list @ a)]: (((A1 = (((cons @ a) @ X) @ Xs2)) => (! [Ys2:(list @ a)]: (((A22 = (((cons @ a) @ Y2) @ Ys2)) => ((~ (((less @ X) @ Y2))) => ((~ (((less @ Y2) @ X))) => (~ (((((lexordp @ a) @ less) @ Xs2) @ Ys2))))))))))))))))))).
% 3.22/1.74 thf(fact_52_local_Olexordp_Oinducts, axiom, (! [X1:(list @ a),X23:(list @ a),P:((list @ a) > ((list @ a) > $o))]: ((((((lexordp @ a) @ less) @ X1) @ X23) => ((! [Y2:a,Ys2:(list @ a)]: (((P @ (nil @ a)) @ (((cons @ a) @ Y2) @ Ys2)))) => ((! [X:a,Y2:a,Xs2:(list @ a),Ys2:(list @ a)]: ((((less @ X) @ Y2) => ((P @ (((cons @ a) @ X) @ Xs2)) @ (((cons @ a) @ Y2) @ Ys2))))) => ((! [X:a,Y2:a,Xs2:(list @ a),Ys2:(list @ a)]: (((~ (((less @ X) @ Y2))) => ((~ (((less @ Y2) @ X))) => (((((lexordp @ a) @ less) @ Xs2) @ Ys2) => (((P @ Xs2) @ Ys2) => ((P @ (((cons @ a) @ X) @ Xs2)) @ (((cons @ a) @ Y2) @ Ys2)))))))) => ((P @ X1) @ X23)))))))).
% 3.22/1.74 thf(fact_53_local_Olexordp_Osimps, axiom, (! [A1:(list @ a),A22:(list @ a)]: ((((((lexordp @ a) @ less) @ A1) @ A22) = ((? [Y3:a,Ys3:(list @ a)]: (((A1 = (nil @ a)) & (A22 = (((cons @ a) @ Y3) @ Ys3))))) | ((? [X3:a,Y3:a,Xs3:(list @ a),Ys3:(list @ a)]: (((A1 = (((cons @ a) @ X3) @ Xs3)) & ((A22 = (((cons @ a) @ Y3) @ Ys3)) & ((less @ X3) @ Y3))))) | (? [X3:a,Y3:a,Xs3:(list @ a),Ys3:(list @ a)]: (((A1 = (((cons @ a) @ X3) @ Xs3)) & ((A22 = (((cons @ a) @ Y3) @ Ys3)) & ((~ (((less @ X3) @ Y3))) & ((~ (((less @ Y3) @ X3))) & ((((lexordp @ a) @ less) @ Xs3) @ Ys3))))))))))))).
% 3.22/1.74 thf(fact_54_local_Olexordp__eq_Ocases, axiom, (! [A1:(list @ a),A22:(list @ a)]: ((((((lexordp_eq @ a) @ less) @ A1) @ A22) => (((A1 = (nil @ a)) => (! [Ys2:(list @ a)]: ((A22 != Ys2)))) => ((! [X:a]: (((? [Xs2:(list @ a)]: ((A1 = (((cons @ a) @ X) @ Xs2)))) => (! [Y2:a]: (((? [Ys2:(list @ a)]: ((A22 = (((cons @ a) @ Y2) @ Ys2)))) => (~ (((less @ X) @ Y2))))))))) => (~ ((! [X:a,Y2:a,Xs2:(list @ a)]: (((A1 = (((cons @ a) @ X) @ Xs2)) => (! [Ys2:(list @ a)]: (((A22 = (((cons @ a) @ Y2) @ Ys2)) => ((~ (((less @ X) @ Y2))) => ((~ (((less @ Y2) @ X))) => (~ (((((lexordp_eq @ a) @ less) @ Xs2) @ Ys2))))))))))))))))))).
% 3.22/1.74 thf(fact_55_local_Olexordp__eq_Oinducts, axiom, (! [X1:(list @ a),X23:(list @ a),P:((list @ a) > ((list @ a) > $o))]: ((((((lexordp_eq @ a) @ less) @ X1) @ X23) => ((! [X12:(list @ a)]: (((P @ (nil @ a)) @ X12))) => ((! [X:a,Y2:a,Xs2:(list @ a),Ys2:(list @ a)]: ((((less @ X) @ Y2) => ((P @ (((cons @ a) @ X) @ Xs2)) @ (((cons @ a) @ Y2) @ Ys2))))) => ((! [X:a,Y2:a,Xs2:(list @ a),Ys2:(list @ a)]: (((~ (((less @ X) @ Y2))) => ((~ (((less @ Y2) @ X))) => (((((lexordp_eq @ a) @ less) @ Xs2) @ Ys2) => (((P @ Xs2) @ Ys2) => ((P @ (((cons @ a) @ X) @ Xs2)) @ (((cons @ a) @ Y2) @ Ys2)))))))) => ((P @ X1) @ X23)))))))).
% 3.22/1.74 thf(fact_56_local_Olexordp__eq_Osimps, axiom, (! [A1:(list @ a),A22:(list @ a)]: ((((((lexordp_eq @ a) @ less) @ A1) @ A22) = ((? [Ys3:(list @ a)]: (((A1 = (nil @ a)) & (A22 = Ys3)))) | ((? [X3:a,Y3:a,Xs3:(list @ a),Ys3:(list @ a)]: (((A1 = (((cons @ a) @ X3) @ Xs3)) & ((A22 = (((cons @ a) @ Y3) @ Ys3)) & ((less @ X3) @ Y3))))) | (? [X3:a,Y3:a,Xs3:(list @ a),Ys3:(list @ a)]: (((A1 = (((cons @ a) @ X3) @ Xs3)) & ((A22 = (((cons @ a) @ Y3) @ Ys3)) & ((~ (((less @ X3) @ Y3))) & ((~ (((less @ Y3) @ X3))) & ((((lexordp_eq @ a) @ less) @ Xs3) @ Ys3))))))))))))).
% 3.22/1.74 thf(fact_57_local_Olexordp__append__left__rightI, axiom, (! [X2:a,Y:a,Us:(list @ a),Xs:(list @ a),Ys:(list @ a)]: ((((less @ X2) @ Y) => ((((lexordp @ a) @ less) @ (((append @ a) @ Us) @ (((cons @ a) @ X2) @ Xs))) @ (((append @ a) @ Us) @ (((cons @ a) @ Y) @ Ys))))))).
% 3.22/1.74 thf(fact_58_local_Olexordp__append__rightI, axiom, (! [Ys:(list @ a),Xs:(list @ a)]: (((Ys != (nil @ a)) => ((((lexordp @ a) @ less) @ Xs) @ (((append @ a) @ Xs) @ Ys)))))).
% 3.22/1.74 thf(fact_59_append__is__Nil__conv, axiom, (! [A:$tType,Xs:(list @ A),Ys:(list @ A)]: ((((((append @ A) @ Xs) @ Ys) = (nil @ A)) = ((Xs = (nil @ A)) & (Ys = (nil @ A))))))).
% 3.22/1.74 thf(fact_60_Nil__is__append__conv, axiom, (! [A:$tType,Xs:(list @ A),Ys:(list @ A)]: ((((nil @ A) = (((append @ A) @ Xs) @ Ys)) = ((Xs = (nil @ A)) & (Ys = (nil @ A))))))).
% 3.22/1.74 thf(fact_61_self__append__conv2, axiom, (! [A:$tType,Ys:(list @ A),Xs:(list @ A)]: (((Ys = (((append @ A) @ Xs) @ Ys)) = (Xs = (nil @ A)))))).
% 3.22/1.74 thf(fact_62_append__self__conv2, axiom, (! [A:$tType,Xs:(list @ A),Ys:(list @ A)]: ((((((append @ A) @ Xs) @ Ys) = Ys) = (Xs = (nil @ A)))))).
% 3.22/1.74 thf(fact_63_self__append__conv, axiom, (! [A:$tType,Xs:(list @ A),Ys:(list @ A)]: (((Xs = (((append @ A) @ Xs) @ Ys)) = (Ys = (nil @ A)))))).
% 3.22/1.74 thf(fact_64_append__self__conv, axiom, (! [A:$tType,Xs:(list @ A),Ys:(list @ A)]: ((((((append @ A) @ Xs) @ Ys) = Xs) = (Ys = (nil @ A)))))).
% 3.22/1.74 thf(fact_65_append__Nil2, axiom, (! [A:$tType,Xs:(list @ A)]: (((((append @ A) @ Xs) @ (nil @ A)) = Xs)))).
% 3.22/1.74 thf(fact_66_ord_Olexordp__simps_I3_J, axiom, (! [A:$tType,Less:(A > (A > $o)),X2:A,Xs:(list @ A),Y:A,Ys:(list @ A)]: ((((((lexordp @ A) @ Less) @ (((cons @ A) @ X2) @ Xs)) @ (((cons @ A) @ Y) @ Ys)) = (((Less @ X2) @ Y) | ((~ (((Less @ Y) @ X2))) & ((((lexordp @ A) @ Less) @ Xs) @ Ys))))))).
% 3.22/1.74 thf(fact_67_ord_Olexordp__eq__simps_I4_J, axiom, (! [A:$tType,Less:(A > (A > $o)),X2:A,Xs:(list @ A),Y:A,Ys:(list @ A)]: ((((((lexordp_eq @ A) @ Less) @ (((cons @ A) @ X2) @ Xs)) @ (((cons @ A) @ Y) @ Ys)) = (((Less @ X2) @ Y) | ((~ (((Less @ Y) @ X2))) & ((((lexordp_eq @ A) @ Less) @ Xs) @ Ys))))))).
% 3.22/1.74 thf(fact_68_ord_Olexordp__simps_I1_J, axiom, (! [A:$tType,Less:(A > (A > $o)),Ys:(list @ A)]: ((((((lexordp @ A) @ Less) @ (nil @ A)) @ Ys) = (Ys != (nil @ A)))))).
% 3.22/1.74 thf(fact_69_ord_Olexordp__simps_I2_J, axiom, (! [A:$tType,Less:(A > (A > $o)),Xs:(list @ A)]: ((~ (((((lexordp @ A) @ Less) @ Xs) @ (nil @ A))))))).
% 3.22/1.74 thf(fact_70_ord_Olexordp__eq__simps_I1_J, axiom, (! [A:$tType,Less:(A > (A > $o)),Ys:(list @ A)]: (((((lexordp_eq @ A) @ Less) @ (nil @ A)) @ Ys)))).
% 3.22/1.74 thf(fact_71_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)))))).
% 3.22/1.74 thf(fact_72_append1__eq__conv, axiom, (! [A:$tType,Xs:(list @ A),X2:A,Ys:(list @ A),Y:A]: ((((((append @ A) @ Xs) @ (((cons @ A) @ X2) @ (nil @ A))) = (((append @ A) @ Ys) @ (((cons @ A) @ Y) @ (nil @ A)))) = ((Xs = Ys) & (X2 = Y)))))).
% 3.22/1.74 thf(fact_73_ord_Olexordp__eq__simps_I3_J, axiom, (! [A:$tType,Less:(A > (A > $o)),X2:A,Xs:(list @ A)]: ((~ (((((lexordp_eq @ A) @ Less) @ (((cons @ A) @ X2) @ Xs)) @ (nil @ A))))))).
% 3.22/1.74 thf(fact_74_local_Olexordp__simps_I3_J, axiom, (! [X2:a,Xs:(list @ a),Y:a,Ys:(list @ a)]: ((((((lexordp @ a) @ less) @ (((cons @ a) @ X2) @ Xs)) @ (((cons @ a) @ Y) @ Ys)) = (((less @ X2) @ Y) | ((~ (((less @ Y) @ X2))) & ((((lexordp @ a) @ less) @ Xs) @ Ys))))))).
% 3.22/1.74 thf(fact_75_local_Olexordp__eq__simps_I4_J, axiom, (! [X2:a,Xs:(list @ a),Y:a,Ys:(list @ a)]: ((((((lexordp_eq @ a) @ less) @ (((cons @ a) @ X2) @ Xs)) @ (((cons @ a) @ Y) @ Ys)) = (((less @ X2) @ Y) | ((~ (((less @ Y) @ X2))) & ((((lexordp_eq @ a) @ less) @ Xs) @ Ys))))))).
% 3.22/1.74 thf(fact_76_local_Olexordp__simps_I2_J, axiom, (! [Xs:(list @ a)]: ((~ (((((lexordp @ a) @ less) @ Xs) @ (nil @ a))))))).
% 3.22/1.74 thf(fact_77_local_Olexordp__simps_I1_J, axiom, (! [Ys:(list @ a)]: ((((((lexordp @ a) @ less) @ (nil @ a)) @ Ys) = (Ys != (nil @ a)))))).
% 3.22/1.74 thf(fact_78_local_Olexordp__eq__simps_I2_J, axiom, (! [Xs:(list @ a)]: ((((((lexordp_eq @ a) @ less) @ Xs) @ (nil @ a)) = (Xs = (nil @ a)))))).
% 3.22/1.74 thf(fact_79_local_Olexordp__eq__simps_I1_J, axiom, (! [Ys:(list @ a)]: (((((lexordp_eq @ a) @ less) @ (nil @ a)) @ Ys)))).
% 3.22/1.74 thf(fact_80_local_Olexordp__eq__simps_I3_J, axiom, (! [X2:a,Xs:(list @ a)]: ((~ (((((lexordp_eq @ a) @ less) @ (((cons @ a) @ X2) @ Xs)) @ (nil @ a))))))).
% 3.22/1.74 thf(fact_81_ord_Olexordp_ONil, axiom, (! [A:$tType,Less:(A > (A > $o)),Y:A,Ys:(list @ A)]: (((((lexordp @ A) @ Less) @ (nil @ A)) @ (((cons @ A) @ Y) @ Ys))))).
% 3.22/1.74 thf(fact_82_ord_Olexordp_Ocases, axiom, (! [A:$tType,Less:(A > (A > $o)),A1:(list @ A),A22:(list @ A)]: ((((((lexordp @ A) @ Less) @ A1) @ A22) => (((A1 = (nil @ A)) => (! [Y2:A,Ys2:(list @ A)]: ((A22 != (((cons @ A) @ Y2) @ Ys2))))) => ((! [X:A]: (((? [Xs2:(list @ A)]: ((A1 = (((cons @ A) @ X) @ Xs2)))) => (! [Y2:A]: (((? [Ys2:(list @ A)]: ((A22 = (((cons @ A) @ Y2) @ Ys2)))) => (~ (((Less @ X) @ Y2))))))))) => (~ ((! [X:A,Y2:A,Xs2:(list @ A)]: (((A1 = (((cons @ A) @ X) @ Xs2)) => (! [Ys2:(list @ A)]: (((A22 = (((cons @ A) @ Y2) @ Ys2)) => ((~ (((Less @ X) @ Y2))) => ((~ (((Less @ Y2) @ X))) => (~ (((((lexordp @ A) @ Less) @ Xs2) @ Ys2))))))))))))))))))).
% 3.22/1.74 thf(fact_83_ord_Olexordp_Osimps, axiom, (! [A:$tType]: (((lexordp @ A) = (^ [Less2:(A > (A > $o)),A12:(list @ A),A23:(list @ A)]: (((? [Y3:A,Ys3:(list @ A)]: (((A12 = (nil @ A)) & (A23 = (((cons @ A) @ Y3) @ Ys3))))) | ((? [X3:A,Y3:A,Xs3:(list @ A),Ys3:(list @ A)]: (((A12 = (((cons @ A) @ X3) @ Xs3)) & ((A23 = (((cons @ A) @ Y3) @ Ys3)) & ((Less2 @ X3) @ Y3))))) | (? [X3:A,Y3:A,Xs3:(list @ A),Ys3:(list @ A)]: (((A12 = (((cons @ A) @ X3) @ Xs3)) & ((A23 = (((cons @ A) @ Y3) @ Ys3)) & ((~ (((Less2 @ X3) @ Y3))) & ((~ (((Less2 @ Y3) @ X3))) & ((((lexordp @ A) @ Less2) @ Xs3) @ Ys3))))))))))))))).
% 3.22/1.74 thf(fact_84_ord_Olexordp_Oinducts, axiom, (! [A:$tType,Less:(A > (A > $o)),X1:(list @ A),X23:(list @ A),P:((list @ A) > ((list @ A) > $o))]: ((((((lexordp @ A) @ Less) @ X1) @ X23) => ((! [Y2:A,Ys2:(list @ A)]: (((P @ (nil @ A)) @ (((cons @ A) @ Y2) @ Ys2)))) => ((! [X:A,Y2:A,Xs2:(list @ A),Ys2:(list @ A)]: ((((Less @ X) @ Y2) => ((P @ (((cons @ A) @ X) @ Xs2)) @ (((cons @ A) @ Y2) @ Ys2))))) => ((! [X:A,Y2:A,Xs2:(list @ A),Ys2:(list @ A)]: (((~ (((Less @ X) @ Y2))) => ((~ (((Less @ Y2) @ X))) => (((((lexordp @ A) @ Less) @ Xs2) @ Ys2) => (((P @ Xs2) @ Ys2) => ((P @ (((cons @ A) @ X) @ Xs2)) @ (((cons @ A) @ Y2) @ Ys2)))))))) => ((P @ X1) @ X23)))))))).
% 3.22/1.74 thf(fact_85_ord_Olexordp__eq_Ocases, axiom, (! [A:$tType,Less:(A > (A > $o)),A1:(list @ A),A22:(list @ A)]: ((((((lexordp_eq @ A) @ Less) @ A1) @ A22) => (((A1 = (nil @ A)) => (! [Ys2:(list @ A)]: ((A22 != Ys2)))) => ((! [X:A]: (((? [Xs2:(list @ A)]: ((A1 = (((cons @ A) @ X) @ Xs2)))) => (! [Y2:A]: (((? [Ys2:(list @ A)]: ((A22 = (((cons @ A) @ Y2) @ Ys2)))) => (~ (((Less @ X) @ Y2))))))))) => (~ ((! [X:A,Y2:A,Xs2:(list @ A)]: (((A1 = (((cons @ A) @ X) @ Xs2)) => (! [Ys2:(list @ A)]: (((A22 = (((cons @ A) @ Y2) @ Ys2)) => ((~ (((Less @ X) @ Y2))) => ((~ (((Less @ Y2) @ X))) => (~ (((((lexordp_eq @ A) @ Less) @ Xs2) @ Ys2))))))))))))))))))).
% 3.22/1.74 thf(fact_86_ord_Olexordp__eq_Osimps, axiom, (! [A:$tType]: (((lexordp_eq @ A) = (^ [Less2:(A > (A > $o)),A12:(list @ A),A23:(list @ A)]: (((? [Ys3:(list @ A)]: (((A12 = (nil @ A)) & (A23 = Ys3)))) | ((? [X3:A,Y3:A,Xs3:(list @ A),Ys3:(list @ A)]: (((A12 = (((cons @ A) @ X3) @ Xs3)) & ((A23 = (((cons @ A) @ Y3) @ Ys3)) & ((Less2 @ X3) @ Y3))))) | (? [X3:A,Y3:A,Xs3:(list @ A),Ys3:(list @ A)]: (((A12 = (((cons @ A) @ X3) @ Xs3)) & ((A23 = (((cons @ A) @ Y3) @ Ys3)) & ((~ (((Less2 @ X3) @ Y3))) & ((~ (((Less2 @ Y3) @ X3))) & ((((lexordp_eq @ A) @ Less2) @ Xs3) @ Ys3))))))))))))))).
% 3.22/1.74 thf(fact_87_ord_Olexordp__eq_Oinducts, axiom, (! [A:$tType,Less:(A > (A > $o)),X1:(list @ A),X23:(list @ A),P:((list @ A) > ((list @ A) > $o))]: ((((((lexordp_eq @ A) @ Less) @ X1) @ X23) => ((! [X12:(list @ A)]: (((P @ (nil @ A)) @ X12))) => ((! [X:A,Y2:A,Xs2:(list @ A),Ys2:(list @ A)]: ((((Less @ X) @ Y2) => ((P @ (((cons @ A) @ X) @ Xs2)) @ (((cons @ A) @ Y2) @ Ys2))))) => ((! [X:A,Y2:A,Xs2:(list @ A),Ys2:(list @ A)]: (((~ (((Less @ X) @ Y2))) => ((~ (((Less @ Y2) @ X))) => (((((lexordp_eq @ A) @ Less) @ Xs2) @ Ys2) => (((P @ Xs2) @ Ys2) => ((P @ (((cons @ A) @ X) @ Xs2)) @ (((cons @ A) @ Y2) @ Ys2)))))))) => ((P @ X1) @ X23)))))))).
% 3.22/1.74 thf(fact_88_ord_Olexordp__append__rightI, axiom, (! [A:$tType,Ys:(list @ A),Less:(A > (A > $o)),Xs:(list @ A)]: (((Ys != (nil @ A)) => ((((lexordp @ A) @ Less) @ Xs) @ (((append @ A) @ Xs) @ Ys)))))).
% 3.22/1.74 thf(fact_89_ord_Olexordp__append__left__rightI, axiom, (! [A:$tType,Less:(A > (A > $o)),X2:A,Y:A,Us:(list @ A),Xs:(list @ A),Ys:(list @ A)]: ((((Less @ X2) @ Y) => ((((lexordp @ A) @ Less) @ (((append @ A) @ Us) @ (((cons @ A) @ X2) @ Xs))) @ (((append @ A) @ Us) @ (((cons @ A) @ Y) @ Ys))))))).
% 3.22/1.74 thf(fact_90_map__tailrec__rev_Oinduct, axiom, (! [A:$tType,B:$tType,P:((A > B) > ((list @ A) > ((list @ B) > $o))),A0:(A > B),A1:(list @ A),A22:(list @ B)]: (((! [F2:(A > B),X12:(list @ B)]: ((((P @ F2) @ (nil @ A)) @ X12))) => ((! [F2:(A > B),A3:A,As:(list @ A),Bs:(list @ B)]: (((((P @ F2) @ As) @ (((cons @ B) @ (F2 @ A3)) @ Bs)) => (((P @ F2) @ (((cons @ A) @ A3) @ As)) @ Bs)))) => (((P @ A0) @ A1) @ A22)))))).
% 3.22/1.74 thf(fact_91_append__eq__append__conv2, axiom, (! [A:$tType,Xs:(list @ A),Ys:(list @ A),Zs:(list @ A),Ts:(list @ A)]: ((((((append @ A) @ Xs) @ Ys) = (((append @ A) @ Zs) @ Ts)) = (? [Us2:(list @ A)]: ((((Xs = (((append @ A) @ Zs) @ Us2)) & ((((append @ A) @ Us2) @ Ys) = Ts)) | (((((append @ A) @ Xs) @ Us2) = Zs) & (Ys = (((append @ A) @ Us2) @ Ts)))))))))).
% 3.22/1.74 thf(fact_92_list__nonempty__induct, axiom, (! [A:$tType,Xs:(list @ A),P:((list @ A) > $o)]: (((Xs != (nil @ A)) => ((! [X:A]: ((P @ (((cons @ A) @ X) @ (nil @ A))))) => ((! [X:A,Xs2:(list @ A)]: (((Xs2 != (nil @ A)) => ((P @ Xs2) => (P @ (((cons @ A) @ X) @ Xs2)))))) => (P @ Xs))))))).
% 3.22/1.74 thf(fact_93_rev__nonempty__induct, axiom, (! [A:$tType,Xs:(list @ A),P:((list @ A) > $o)]: (((Xs != (nil @ A)) => ((! [X:A]: ((P @ (((cons @ A) @ X) @ (nil @ A))))) => ((! [X:A,Xs2:(list @ A)]: (((Xs2 != (nil @ A)) => ((P @ Xs2) => (P @ (((append @ A) @ Xs2) @ (((cons @ A) @ X) @ (nil @ A)))))))) => (P @ Xs))))))).
% 3.22/1.74 thf(fact_94_append__eq__Cons__conv, axiom, (! [A:$tType,Ys:(list @ A),Zs:(list @ A),X2:A,Xs:(list @ A)]: ((((((append @ A) @ Ys) @ Zs) = (((cons @ A) @ X2) @ Xs)) = (((Ys = (nil @ A)) & (Zs = (((cons @ A) @ X2) @ Xs))) | (? [Ys4:(list @ A)]: (((Ys = (((cons @ A) @ X2) @ Ys4)) & ((((append @ A) @ Ys4) @ Zs) = Xs))))))))).
% 3.22/1.74 thf(fact_95_Cons__eq__append__conv, axiom, (! [A:$tType,X2:A,Xs:(list @ A),Ys:(list @ A),Zs:(list @ A)]: ((((((cons @ A) @ X2) @ Xs) = (((append @ A) @ Ys) @ Zs)) = (((Ys = (nil @ A)) & ((((cons @ A) @ X2) @ Xs) = Zs)) | (? [Ys4:(list @ A)]: ((((((cons @ A) @ X2) @ Ys4) = Ys) & (Xs = (((append @ A) @ Ys4) @ Zs)))))))))).
% 3.22/1.74 thf(fact_96_remdups__adj_Oinduct, axiom, (! [A:$tType,P:((list @ A) > $o),A0:(list @ A)]: (((P @ (nil @ A)) => ((! [X:A]: ((P @ (((cons @ A) @ X) @ (nil @ A))))) => ((! [X:A,Y2:A,Xs2:(list @ A)]: ((((X = Y2) => (P @ (((cons @ A) @ X) @ Xs2))) => (((X != Y2) => (P @ (((cons @ A) @ Y2) @ Xs2))) => (P @ (((cons @ A) @ X) @ (((cons @ A) @ Y2) @ Xs2))))))) => (P @ A0))))))).
% 3.22/1.74 thf(fact_97_append__Cons, axiom, (! [A:$tType,X2:A,Xs:(list @ A),Ys:(list @ A)]: (((((append @ A) @ (((cons @ A) @ X2) @ Xs)) @ Ys) = (((cons @ A) @ X2) @ (((append @ A) @ Xs) @ Ys)))))).
% 3.22/1.74 thf(fact_98_remdups__adj_Ocases, axiom, (! [A:$tType,X2:(list @ A)]: (((X2 != (nil @ A)) => ((! [X:A]: ((X2 != (((cons @ A) @ X) @ (nil @ A))))) => (~ ((! [X:A,Y2:A,Xs2:(list @ A)]: ((X2 != (((cons @ A) @ X) @ (((cons @ A) @ Y2) @ Xs2)))))))))))).
% 3.22/1.74 thf(fact_99_append__eq__appendI, axiom, (! [A:$tType,Xs:(list @ A),Xs1:(list @ A),Zs:(list @ A),Ys:(list @ A),Us:(list @ A)]: ((((((append @ A) @ Xs) @ Xs1) = Zs) => ((Ys = (((append @ A) @ Xs1) @ Us)) => ((((append @ A) @ Xs) @ Ys) = (((append @ A) @ Zs) @ Us))))))).
% 3.22/1.74 thf(fact_100_append__Nil, axiom, (! [A:$tType,Ys:(list @ A)]: (((((append @ A) @ (nil @ A)) @ Ys) = Ys)))).
% 3.22/1.74 thf(fact_101_transpose_Ocases, axiom, (! [A:$tType,X2:(list @ (list @ A))]: (((X2 != (nil @ (list @ A))) => ((! [Xss:(list @ (list @ A))]: ((X2 != (((cons @ (list @ A)) @ (nil @ A)) @ Xss)))) => (~ ((! [X:A,Xs2:(list @ A),Xss:(list @ (list @ A))]: ((X2 != (((cons @ (list @ A)) @ (((cons @ A) @ X) @ Xs2)) @ Xss))))))))))).
% 3.22/1.74 thf(fact_102_Cons__eq__appendI, axiom, (! [A:$tType,X2:A,Xs1:(list @ A),Ys:(list @ A),Xs:(list @ A),Zs:(list @ A)]: ((((((cons @ A) @ X2) @ Xs1) = Ys) => ((Xs = (((append @ A) @ Xs1) @ Zs)) => ((((cons @ A) @ X2) @ Xs) = (((append @ A) @ Ys) @ Zs))))))).
% 3.22/1.74 thf(fact_103_not__Cons__self2, axiom, (! [A:$tType,X2:A,Xs:(list @ A)]: (((((cons @ A) @ X2) @ Xs) != Xs)))).
% 3.22/1.74 thf(fact_104_eq__Nil__appendI, axiom, (! [A:$tType,Xs:(list @ A),Ys:(list @ A)]: (((Xs = Ys) => (Xs = (((append @ A) @ (nil @ A)) @ Ys)))))).
% 3.22/1.74 thf(fact_105_splice_Oinduct, axiom, (! [A:$tType,P:((list @ A) > ((list @ A) > $o)),A0:(list @ A),A1:(list @ A)]: (((! [X12:(list @ A)]: (((P @ (nil @ A)) @ X12))) => ((! [V:A,Va:(list @ A)]: (((P @ (((cons @ A) @ V) @ Va)) @ (nil @ A)))) => ((! [X:A,Xs2:(list @ A),Y2:A,Ys2:(list @ A)]: ((((P @ Xs2) @ Ys2) => ((P @ (((cons @ A) @ X) @ Xs2)) @ (((cons @ A) @ Y2) @ Ys2))))) => ((P @ A0) @ A1))))))).
% 3.22/1.74 thf(fact_106_list__induct2_H, axiom, (! [A:$tType,B:$tType,P:((list @ A) > ((list @ B) > $o)),Xs:(list @ A),Ys:(list @ B)]: ((((P @ (nil @ A)) @ (nil @ B)) => ((! [X:A,Xs2:(list @ A)]: (((P @ (((cons @ A) @ X) @ Xs2)) @ (nil @ B)))) => ((! [Y2:B,Ys2:(list @ B)]: (((P @ (nil @ A)) @ (((cons @ B) @ Y2) @ Ys2)))) => ((! [X:A,Xs2:(list @ A),Y2:B,Ys2:(list @ B)]: ((((P @ Xs2) @ Ys2) => ((P @ (((cons @ A) @ X) @ Xs2)) @ (((cons @ B) @ Y2) @ Ys2))))) => ((P @ Xs) @ Ys)))))))).
% 3.22/1.74 thf(fact_107_neq__Nil__conv, axiom, (! [A:$tType,Xs:(list @ A)]: (((Xs != (nil @ A)) = (? [Y3:A,Ys3:(list @ A)]: ((Xs = (((cons @ A) @ Y3) @ Ys3)))))))).
% 3.22/1.74 thf(fact_108_list_Oinducts, axiom, (! [A:$tType,P:((list @ A) > $o),List:(list @ A)]: (((P @ (nil @ A)) => ((! [X12:A,X24:(list @ A)]: (((P @ X24) => (P @ (((cons @ A) @ X12) @ X24))))) => (P @ List)))))).
% 3.22/1.74 thf(fact_109_list_Oexhaust, axiom, (! [A:$tType,Y:(list @ A)]: (((Y != (nil @ A)) => (~ ((! [X212:A,X222:(list @ A)]: ((Y != (((cons @ A) @ X212) @ X222)))))))))).
% 3.22/1.74 thf(fact_110_rev__exhaust, axiom, (! [A:$tType,Xs:(list @ A)]: (((Xs != (nil @ A)) => (~ ((! [Ys2:(list @ A),Y2:A]: ((Xs != (((append @ A) @ Ys2) @ (((cons @ A) @ Y2) @ (nil @ A)))))))))))).
% 3.22/1.74 thf(fact_111_rev__induct, axiom, (! [A:$tType,P:((list @ A) > $o),Xs:(list @ A)]: (((P @ (nil @ A)) => ((! [X:A,Xs2:(list @ A)]: (((P @ Xs2) => (P @ (((append @ A) @ Xs2) @ (((cons @ A) @ X) @ (nil @ A))))))) => (P @ Xs)))))).
% 3.22/1.74 thf(fact_112_list_OdiscI, axiom, (! [A:$tType,List:(list @ A),X21:A,X22:(list @ A)]: (((List = (((cons @ A) @ X21) @ X22)) => (List != (nil @ A)))))).
% 3.22/1.74 thf(fact_113_list_Odistinct_I1_J, axiom, (! [A:$tType,X21:A,X22:(list @ A)]: (((nil @ A) != (((cons @ A) @ X21) @ X22))))).
% 3.22/1.74 thf(fact_114_ord_Olexordp__append__leftI, axiom, (! [A:$tType,Less:(A > (A > $o)),Us:(list @ A),Vs:(list @ A),Xs:(list @ A)]: ((((((lexordp @ A) @ Less) @ Us) @ Vs) => ((((lexordp @ A) @ Less) @ (((append @ A) @ Xs) @ Us)) @ (((append @ A) @ Xs) @ Vs)))))).
% 3.22/1.74 thf(fact_115_ord_Olexordp__append__leftD, axiom, (! [A:$tType,Less:(A > (A > $o)),Xs:(list @ A),Us:(list @ A),Vs:(list @ A)]: ((((((lexordp @ A) @ Less) @ (((append @ A) @ Xs) @ Us)) @ (((append @ A) @ Xs) @ Vs)) => ((! [A3:A]: ((~ (((Less @ A3) @ A3))))) => ((((lexordp @ A) @ Less) @ Us) @ Vs)))))).
% 3.22/1.74 thf(fact_116_ord_Olexordp_OCons__eq, axiom, (! [A:$tType,Less:(A > (A > $o)),X2:A,Y:A,Xs:(list @ A),Ys:(list @ A)]: (((~ (((Less @ X2) @ Y))) => ((~ (((Less @ Y) @ X2))) => (((((lexordp @ A) @ Less) @ Xs) @ Ys) => ((((lexordp @ A) @ Less) @ (((cons @ A) @ X2) @ Xs)) @ (((cons @ A) @ Y) @ Ys)))))))).
% 3.22/1.74 thf(fact_117_ord_Olexordp_OCons, axiom, (! [A:$tType,Less:(A > (A > $o)),X2:A,Y:A,Xs:(list @ A),Ys:(list @ A)]: ((((Less @ X2) @ Y) => ((((lexordp @ A) @ Less) @ (((cons @ A) @ X2) @ Xs)) @ (((cons @ A) @ Y) @ Ys)))))).
% 3.22/1.74 thf(fact_118_ord_Olexordp__eq_OCons__eq, axiom, (! [A:$tType,Less:(A > (A > $o)),X2:A,Y:A,Xs:(list @ A),Ys:(list @ A)]: (((~ (((Less @ X2) @ Y))) => ((~ (((Less @ Y) @ X2))) => (((((lexordp_eq @ A) @ Less) @ Xs) @ Ys) => ((((lexordp_eq @ A) @ Less) @ (((cons @ A) @ X2) @ Xs)) @ (((cons @ A) @ Y) @ Ys)))))))).
% 3.22/1.74 thf(fact_119_ord_Olexordp__eq_OCons, axiom, (! [A:$tType,Less:(A > (A > $o)),X2:A,Y:A,Xs:(list @ A),Ys:(list @ A)]: ((((Less @ X2) @ Y) => ((((lexordp_eq @ A) @ Less) @ (((cons @ A) @ X2) @ Xs)) @ (((cons @ A) @ Y) @ Ys)))))).
% 3.22/1.74 thf(fact_120_ord_Olexordp__eq_ONil, axiom, (! [A:$tType,Less:(A > (A > $o)),Ys:(list @ A)]: (((((lexordp_eq @ A) @ Less) @ (nil @ A)) @ Ys)))).
% 3.22/1.74 thf(fact_121_ord_Olexordp__irreflexive, axiom, (! [A:$tType,Less:(A > (A > $o)),Xs:(list @ A)]: (((! [X:A]: ((~ (((Less @ X) @ X))))) => (~ (((((lexordp @ A) @ Less) @ Xs) @ Xs))))))).
% 3.22/1.74 thf(fact_122_ord_Olexordp__eq__refl, axiom, (! [A:$tType,Less:(A > (A > $o)),Xs:(list @ A)]: (((((lexordp_eq @ A) @ Less) @ Xs) @ Xs)))).
% 3.22/1.74 thf(fact_123_ord_OgreaterThanLessThan__def, axiom, (! [A:$tType]: (((set_gr1161524159ssThan @ A) = (^ [Less2:(A > (A > $o)),L2:A,U2:A]: ((((inf_inf @ (set @ A)) @ (((set_greaterThan @ A) @ Less2) @ L2)) @ (((set_lessThan @ A) @ Less2) @ U2)))))))).
% 3.22/1.74 thf(fact_124_ord_OgreaterThanLessThan__eq, axiom, (! [A:$tType]: (((set_gr1161524159ssThan @ A) = (^ [Less2:(A > (A > $o)),A5:A,B3:A]: ((((inf_inf @ (set @ A)) @ (((set_greaterThan @ A) @ Less2) @ A5)) @ (((set_lessThan @ A) @ Less2) @ B3)))))))).
% 3.22/1.74 thf(fact_125_Int__iff, axiom, (! [A:$tType,C:A,A4:(set @ A),B4:(set @ A)]: (((((member @ A) @ C) @ (((inf_inf @ (set @ A)) @ A4) @ B4)) = ((((member @ A) @ C) @ A4) & (((member @ A) @ C) @ B4)))))).
% 3.22/1.74 thf(fact_126_IntI, axiom, (! [A:$tType,C:A,A4:(set @ A),B4:(set @ A)]: (((((member @ A) @ C) @ A4) => ((((member @ A) @ C) @ B4) => (((member @ A) @ C) @ (((inf_inf @ (set @ A)) @ A4) @ B4))))))).
% 3.22/1.74 thf(fact_127_inf__right__idem, axiom, (! [A:$tType]: ((((semilattice_inf @ A) @ (type2 @ A)) => (! [X2:A,Y:A]: (((((inf_inf @ A) @ (((inf_inf @ A) @ X2) @ Y)) @ Y) = (((inf_inf @ A) @ X2) @ Y)))))))).
% 3.22/1.74 thf(fact_128_inf_Oright__idem, axiom, (! [A:$tType]: ((((semilattice_inf @ A) @ (type2 @ A)) => (! [A2:A,B2:A]: (((((inf_inf @ A) @ (((inf_inf @ A) @ A2) @ B2)) @ B2) = (((inf_inf @ A) @ A2) @ B2)))))))).
% 3.22/1.74 thf(fact_129_inf__left__idem, axiom, (! [A:$tType]: ((((semilattice_inf @ A) @ (type2 @ A)) => (! [X2:A,Y:A]: (((((inf_inf @ A) @ X2) @ (((inf_inf @ A) @ X2) @ Y)) = (((inf_inf @ A) @ X2) @ Y)))))))).
% 3.22/1.74 thf(fact_130_inf_Oleft__idem, axiom, (! [A:$tType]: ((((semilattice_inf @ A) @ (type2 @ A)) => (! [A2:A,B2:A]: (((((inf_inf @ A) @ A2) @ (((inf_inf @ A) @ A2) @ B2)) = (((inf_inf @ A) @ A2) @ B2)))))))).
% 3.22/1.74 thf(fact_131_inf__apply, axiom, (! [B:$tType,A:$tType]: ((((semilattice_inf @ B) @ (type2 @ B)) => ((inf_inf @ (A > B)) = (^ [F3:(A > B),G2:(A > B),X3:A]: ((((inf_inf @ B) @ (F3 @ X3)) @ (G2 @ X3))))))))).
% 3.22/1.74 thf(fact_132_inf_Oidem, axiom, (! [A:$tType]: ((((semilattice_inf @ A) @ (type2 @ A)) => (! [A2:A]: (((((inf_inf @ A) @ A2) @ A2) = A2))))))).
% 3.22/1.74 thf(fact_133_inf__idem, axiom, (! [A:$tType]: ((((semilattice_inf @ A) @ (type2 @ A)) => (! [X2:A]: (((((inf_inf @ A) @ X2) @ X2) = X2))))))).
% 3.22/1.74 thf(fact_134_inf__sup__aci_I4_J, axiom, (! [A:$tType]: ((((lattice @ A) @ (type2 @ A)) => (! [X2:A,Y:A]: (((((inf_inf @ A) @ X2) @ (((inf_inf @ A) @ X2) @ Y)) = (((inf_inf @ A) @ X2) @ Y)))))))).
% 3.22/1.74 thf(fact_135_inf__sup__aci_I3_J, axiom, (! [A:$tType]: ((((lattice @ A) @ (type2 @ A)) => (! [X2:A,Y:A,Z:A]: (((((inf_inf @ A) @ X2) @ (((inf_inf @ A) @ Y) @ Z)) = (((inf_inf @ A) @ Y) @ (((inf_inf @ A) @ X2) @ Z))))))))).
% 3.22/1.74 thf(fact_136_inf__sup__aci_I2_J, axiom, (! [A:$tType]: ((((lattice @ A) @ (type2 @ A)) => (! [X2:A,Y:A,Z:A]: (((((inf_inf @ A) @ (((inf_inf @ A) @ X2) @ Y)) @ Z) = (((inf_inf @ A) @ X2) @ (((inf_inf @ A) @ Y) @ Z))))))))).
% 3.22/1.74 thf(fact_137_inf__sup__aci_I1_J, axiom, (! [A:$tType]: ((((lattice @ A) @ (type2 @ A)) => ((inf_inf @ A) = (^ [X3:A,Y3:A]: ((((inf_inf @ A) @ Y3) @ X3)))))))).
% 3.22/1.74 thf(fact_138_inf__fun__def, axiom, (! [B:$tType,A:$tType]: ((((semilattice_inf @ B) @ (type2 @ B)) => ((inf_inf @ (A > B)) = (^ [F3:(A > B),G2:(A > B),X3:A]: ((((inf_inf @ B) @ (F3 @ X3)) @ (G2 @ X3))))))))).
% 3.22/1.74 thf(fact_139_inf_Oassoc, axiom, (! [A:$tType]: ((((semilattice_inf @ A) @ (type2 @ A)) => (! [A2:A,B2:A,C:A]: (((((inf_inf @ A) @ (((inf_inf @ A) @ A2) @ B2)) @ C) = (((inf_inf @ A) @ A2) @ (((inf_inf @ A) @ B2) @ C))))))))).
% 3.22/1.74 thf(fact_140_inf__assoc, axiom, (! [A:$tType]: ((((semilattice_inf @ A) @ (type2 @ A)) => (! [X2:A,Y:A,Z:A]: (((((inf_inf @ A) @ (((inf_inf @ A) @ X2) @ Y)) @ Z) = (((inf_inf @ A) @ X2) @ (((inf_inf @ A) @ Y) @ Z))))))))).
% 3.22/1.74 thf(fact_141_inf_Ocommute, axiom, (! [A:$tType]: ((((semilattice_inf @ A) @ (type2 @ A)) => ((inf_inf @ A) = (^ [A5:A,B3:A]: ((((inf_inf @ A) @ B3) @ A5)))))))).
% 3.22/1.74 thf(fact_142_inf__commute, axiom, (! [A:$tType]: ((((semilattice_inf @ A) @ (type2 @ A)) => ((inf_inf @ A) = (^ [X3:A,Y3:A]: ((((inf_inf @ A) @ Y3) @ X3)))))))).
% 3.22/1.74 thf(fact_143_inf_Oleft__commute, axiom, (! [A:$tType]: ((((semilattice_inf @ A) @ (type2 @ A)) => (! [B2:A,A2:A,C:A]: (((((inf_inf @ A) @ B2) @ (((inf_inf @ A) @ A2) @ C)) = (((inf_inf @ A) @ A2) @ (((inf_inf @ A) @ B2) @ C))))))))).
% 3.22/1.74 thf(fact_144_inf__left__commute, axiom, (! [A:$tType]: ((((semilattice_inf @ A) @ (type2 @ A)) => (! [X2:A,Y:A,Z:A]: (((((inf_inf @ A) @ X2) @ (((inf_inf @ A) @ Y) @ Z)) = (((inf_inf @ A) @ Y) @ (((inf_inf @ A) @ X2) @ Z))))))))).
% 3.22/1.74 thf(fact_145_IntE, axiom, (! [A:$tType,C:A,A4:(set @ A),B4:(set @ A)]: (((((member @ A) @ C) @ (((inf_inf @ (set @ A)) @ A4) @ B4)) => (~ (((((member @ A) @ C) @ A4) => (~ ((((member @ A) @ C) @ B4)))))))))).
% 3.22/1.74 thf(fact_146_IntD1, axiom, (! [A:$tType,C:A,A4:(set @ A),B4:(set @ A)]: (((((member @ A) @ C) @ (((inf_inf @ (set @ A)) @ A4) @ B4)) => (((member @ A) @ C) @ A4))))).
% 3.22/1.74 thf(fact_147_IntD2, axiom, (! [A:$tType,C:A,A4:(set @ A),B4:(set @ A)]: (((((member @ A) @ C) @ (((inf_inf @ (set @ A)) @ A4) @ B4)) => (((member @ A) @ C) @ B4))))).
% 3.22/1.74 thf(fact_148_Int__assoc, axiom, (! [A:$tType,A4:(set @ A),B4:(set @ A),C2:(set @ A)]: (((((inf_inf @ (set @ A)) @ (((inf_inf @ (set @ A)) @ A4) @ B4)) @ C2) = (((inf_inf @ (set @ A)) @ A4) @ (((inf_inf @ (set @ A)) @ B4) @ C2)))))).
% 3.22/1.74 thf(fact_149_Int__absorb, axiom, (! [A:$tType,A4:(set @ A)]: (((((inf_inf @ (set @ A)) @ A4) @ A4) = A4)))).
% 3.22/1.74 thf(fact_150_Int__commute, axiom, (! [A:$tType]: (((inf_inf @ (set @ A)) = (^ [A6:(set @ A),B5:(set @ A)]: ((((inf_inf @ (set @ A)) @ B5) @ A6))))))).
% 3.22/1.74 thf(fact_151_Int__left__absorb, axiom, (! [A:$tType,A4:(set @ A),B4:(set @ A)]: (((((inf_inf @ (set @ A)) @ A4) @ (((inf_inf @ (set @ A)) @ A4) @ B4)) = (((inf_inf @ (set @ A)) @ A4) @ B4))))).
% 3.22/1.74 thf(fact_152_Int__left__commute, axiom, (! [A:$tType,A4:(set @ A),B4:(set @ A),C2:(set @ A)]: (((((inf_inf @ (set @ A)) @ A4) @ (((inf_inf @ (set @ A)) @ B4) @ C2)) = (((inf_inf @ (set @ A)) @ B4) @ (((inf_inf @ (set @ A)) @ A4) @ C2)))))).
% 3.22/1.74 thf(fact_153_ord_OlessThan__iff, axiom, (! [A:$tType,I:A,Less:(A > (A > $o)),K:A]: (((((member @ A) @ I) @ (((set_lessThan @ A) @ Less) @ K)) = ((Less @ I) @ K))))).
% 3.22/1.74 thf(fact_154_ord_OgreaterThan__iff, axiom, (! [A:$tType,I:A,Less:(A > (A > $o)),K:A]: (((((member @ A) @ I) @ (((set_greaterThan @ A) @ Less) @ K)) = ((Less @ K) @ I))))).
% 3.22/1.74 thf(fact_155_ord_OgreaterThanLessThan__iff, axiom, (! [A:$tType,I:A,Less:(A > (A > $o)),L:A,U:A]: (((((member @ A) @ I) @ ((((set_gr1161524159ssThan @ A) @ Less) @ L) @ U)) = (((Less @ L) @ I) & ((Less @ I) @ U)))))).
% 3.22/1.74 thf(fact_156_sublists_Osimps_I1_J, axiom, (! [A:$tType]: ((((sublists @ A) @ (nil @ A)) = (((cons @ (list @ A)) @ (nil @ A)) @ (nil @ (list @ A))))))).
% 3.22/1.74 thf(fact_157_prefixes_Ocases, axiom, (! [A:$tType,X2:(list @ A)]: (((X2 != (nil @ A)) => (~ ((! [X:A,Xs2:(list @ A)]: ((X2 != (((cons @ A) @ X) @ Xs2)))))))))).
% 3.22/1.74 thf(fact_158_prefixes_Oinduct, axiom, (! [A:$tType,P:((list @ A) > $o),A0:(list @ A)]: (((P @ (nil @ A)) => ((! [X:A,Xs2:(list @ A)]: (((P @ Xs2) => (P @ (((cons @ A) @ X) @ Xs2))))) => (P @ A0)))))).
% 3.22/1.74 thf(fact_159_longest__common__prefix_Oinduct, axiom, (! [A:$tType,P:((list @ A) > ((list @ A) > $o)),A0:(list @ A),A1:(list @ A)]: (((! [X:A,Xs2:(list @ A),Y2:A,Ys2:(list @ A)]: ((((X = Y2) => ((P @ Xs2) @ Ys2)) => ((P @ (((cons @ A) @ X) @ Xs2)) @ (((cons @ A) @ Y2) @ Ys2))))) => ((! [X12:(list @ A)]: (((P @ (nil @ A)) @ X12))) => ((! [Uu:(list @ A)]: (((P @ Uu) @ (nil @ A)))) => ((P @ A0) @ A1))))))).
% 3.22/1.74 thf(fact_160_prefixes__snoc, axiom, (! [A:$tType,Xs:(list @ A),X2:A]: ((((prefixes @ A) @ (((append @ A) @ Xs) @ (((cons @ A) @ X2) @ (nil @ A)))) = (((append @ (list @ A)) @ ((prefixes @ A) @ Xs)) @ (((cons @ (list @ A)) @ (((append @ A) @ Xs) @ (((cons @ A) @ X2) @ (nil @ A)))) @ (nil @ (list @ A)))))))).
% 3.22/1.74 thf(fact_161_prefixes__eq__Snoc, axiom, (! [A:$tType,Ys:(list @ A),Xs:(list @ (list @ A)),X2:(list @ A)]: (((((prefixes @ A) @ Ys) = (((append @ (list @ A)) @ Xs) @ (((cons @ (list @ A)) @ X2) @ (nil @ (list @ A))))) = ((((Ys = (nil @ A)) & (Xs = (nil @ (list @ A)))) | (? [Z2:A,Zs2:(list @ A)]: (((Ys = (((append @ A) @ Zs2) @ (((cons @ A) @ Z2) @ (nil @ A)))) & (Xs = ((prefixes @ A) @ Zs2)))))) & (X2 = Ys)))))).
% 3.22/1.74 thf(fact_162_bind__simps_I2_J, axiom, (! [A:$tType,B:$tType,X2:B,Xs:(list @ B),F:(B > (list @ A))]: ((((((bind @ B) @ A) @ (((cons @ B) @ X2) @ Xs)) @ F) = (((append @ A) @ (F @ X2)) @ ((((bind @ B) @ A) @ Xs) @ F)))))).
% 3.22/1.74 thf(fact_163_bind__simps_I1_J, axiom, (! [B:$tType,A:$tType,F:(B > (list @ A))]: ((((((bind @ B) @ A) @ (nil @ B)) @ F) = (nil @ A))))).
% 3.22/1.74 thf(fact_164_prefixes_Osimps_I1_J, axiom, (! [A:$tType]: ((((prefixes @ A) @ (nil @ A)) = (((cons @ (list @ A)) @ (nil @ A)) @ (nil @ (list @ A))))))).
% 3.22/1.74 thf(fact_165_product__lists_Osimps_I1_J, axiom, (! [A:$tType]: ((((product_lists @ A) @ (nil @ (list @ A))) = (((cons @ (list @ A)) @ (nil @ A)) @ (nil @ (list @ A))))))).
% 3.22/1.74 thf(fact_166_prefixes_Oelims, axiom, (! [A:$tType,X2:(list @ A),Y:(list @ (list @ A))]: (((((prefixes @ A) @ X2) = Y) => (((X2 = (nil @ A)) => (Y != (((cons @ (list @ A)) @ (nil @ A)) @ (nil @ (list @ A))))) => (~ ((! [X:A,Xs2:(list @ A)]: (((X2 = (((cons @ A) @ X) @ Xs2)) => (Y != (((cons @ (list @ A)) @ (nil @ A)) @ ((((map @ (list @ A)) @ (list @ A)) @ ((cons @ A) @ X)) @ ((prefixes @ A) @ Xs2)))))))))))))).
% 3.22/1.74 thf(fact_167_maps__simps_I1_J, axiom, (! [A:$tType,B:$tType,F:(B > (list @ A)),X2:B,Xs:(list @ B)]: ((((((maps @ B) @ A) @ F) @ (((cons @ B) @ X2) @ Xs)) = (((append @ A) @ (F @ X2)) @ ((((maps @ B) @ A) @ F) @ Xs)))))).
% 3.22/1.74 thf(fact_168_Nil__is__map__conv, axiom, (! [A:$tType,B:$tType,F:(B > A),Xs:(list @ B)]: ((((nil @ A) = ((((map @ B) @ A) @ F) @ Xs)) = (Xs = (nil @ B)))))).
% 3.22/1.74 thf(fact_169_map__is__Nil__conv, axiom, (! [A:$tType,B:$tType,F:(B > A),Xs:(list @ B)]: (((((((map @ B) @ A) @ F) @ Xs) = (nil @ A)) = (Xs = (nil @ B)))))).
% 3.22/1.74 thf(fact_170_list_Omap__disc__iff, axiom, (! [B:$tType,A:$tType,F:(A > B),A2:(list @ A)]: (((((((map @ A) @ B) @ F) @ A2) = (nil @ B)) = (A2 = (nil @ A)))))).
% 3.22/1.74 thf(fact_171_map__append, axiom, (! [A:$tType,B:$tType,F:(B > A),Xs:(list @ B),Ys:(list @ B)]: ((((((map @ B) @ A) @ F) @ (((append @ B) @ Xs) @ Ys)) = (((append @ A) @ ((((map @ B) @ A) @ F) @ Xs)) @ ((((map @ B) @ A) @ F) @ Ys)))))).
% 3.22/1.74 thf(fact_172_list_Osimps_I9_J, axiom, (! [B:$tType,A:$tType,F:(A > B),X21:A,X22:(list @ A)]: ((((((map @ A) @ B) @ F) @ (((cons @ A) @ X21) @ X22)) = (((cons @ B) @ (F @ X21)) @ ((((map @ A) @ B) @ F) @ X22)))))).
% 3.22/1.74 thf(fact_173_Cons__eq__map__D, axiom, (! [A:$tType,B:$tType,X2:A,Xs:(list @ A),F:(B > A),Ys:(list @ B)]: ((((((cons @ A) @ X2) @ Xs) = ((((map @ B) @ A) @ F) @ Ys)) => (? [Z3:B,Zs3:(list @ B)]: (((Ys = (((cons @ B) @ Z3) @ Zs3)) & ((X2 = (F @ Z3)) & (Xs = ((((map @ B) @ A) @ F) @ Zs3)))))))))).
% 3.22/1.74 thf(fact_174_map__eq__Cons__D, axiom, (! [B:$tType,A:$tType,F:(B > A),Xs:(list @ B),Y:A,Ys:(list @ A)]: (((((((map @ B) @ A) @ F) @ Xs) = (((cons @ A) @ Y) @ Ys)) => (? [Z3:B,Zs3:(list @ B)]: (((Xs = (((cons @ B) @ Z3) @ Zs3)) & (((F @ Z3) = Y) & (((((map @ B) @ A) @ F) @ Zs3) = Ys))))))))).
% 3.22/1.74 thf(fact_175_Cons__eq__map__conv, axiom, (! [A:$tType,B:$tType,X2:A,Xs:(list @ A),F:(B > A),Ys:(list @ B)]: ((((((cons @ A) @ X2) @ Xs) = ((((map @ B) @ A) @ F) @ Ys)) = (? [Z2:B,Zs2:(list @ B)]: (((Ys = (((cons @ B) @ Z2) @ Zs2)) & ((X2 = (F @ Z2)) & (Xs = ((((map @ B) @ A) @ F) @ Zs2)))))))))).
% 3.22/1.74 thf(fact_176_map__eq__Cons__conv, axiom, (! [A:$tType,B:$tType,F:(B > A),Xs:(list @ B),Y:A,Ys:(list @ A)]: (((((((map @ B) @ A) @ F) @ Xs) = (((cons @ A) @ Y) @ Ys)) = (? [Z2:B,Zs2:(list @ B)]: (((Xs = (((cons @ B) @ Z2) @ Zs2)) & (((F @ Z2) = Y) & (((((map @ B) @ A) @ F) @ Zs2) = Ys))))))))).
% 3.22/1.74 thf(fact_177_list_Osimps_I8_J, axiom, (! [A:$tType,B:$tType,F:(A > B)]: ((((((map @ A) @ B) @ F) @ (nil @ A)) = (nil @ B))))).
% 3.22/1.74 thf(fact_178_maps__simps_I2_J, axiom, (! [B:$tType,A:$tType,F:(B > (list @ A))]: ((((((maps @ B) @ A) @ F) @ (nil @ B)) = (nil @ A))))).
% 3.22/1.74 thf(fact_179_prefixes_Osimps_I2_J, axiom, (! [A:$tType,X2:A,Xs:(list @ A)]: ((((prefixes @ A) @ (((cons @ A) @ X2) @ Xs)) = (((cons @ (list @ A)) @ (nil @ A)) @ ((((map @ (list @ A)) @ (list @ A)) @ ((cons @ A) @ X2)) @ ((prefixes @ A) @ Xs))))))).
% 3.22/1.74 thf(fact_180_prefixes_Opelims, axiom, (! [A:$tType,X2:(list @ A),Y:(list @ (list @ A))]: (((((prefixes @ A) @ X2) = Y) => ((((accp @ (list @ A)) @ (prefixes_rel @ A)) @ X2) => (((X2 = (nil @ A)) => ((Y = (((cons @ (list @ A)) @ (nil @ A)) @ (nil @ (list @ A)))) => (~ ((((accp @ (list @ A)) @ (prefixes_rel @ A)) @ (nil @ A)))))) => (~ ((! [X:A,Xs2:(list @ A)]: (((X2 = (((cons @ A) @ X) @ Xs2)) => ((Y = (((cons @ (list @ A)) @ (nil @ A)) @ ((((map @ (list @ A)) @ (list @ A)) @ ((cons @ A) @ X)) @ ((prefixes @ A) @ Xs2)))) => (~ ((((accp @ (list @ A)) @ (prefixes_rel @ A)) @ (((cons @ A) @ X) @ Xs2)))))))))))))))).
% 3.22/1.74 thf(fact_181_insert__Nil, axiom, (! [A:$tType,X2:A]: (((((insert @ A) @ X2) @ (nil @ A)) = (((cons @ A) @ X2) @ (nil @ A)))))).
% 3.22/1.74 thf(fact_182_rotate1_Osimps_I2_J, axiom, (! [A:$tType,X2:A,Xs:(list @ A)]: ((((rotate1 @ A) @ (((cons @ A) @ X2) @ Xs)) = (((append @ A) @ Xs) @ (((cons @ A) @ X2) @ (nil @ A))))))).
% 3.22/1.74 thf(fact_183_rotate1__is__Nil__conv, axiom, (! [A:$tType,Xs:(list @ A)]: (((((rotate1 @ A) @ Xs) = (nil @ A)) = (Xs = (nil @ A)))))).
% 3.22/1.74 thf(fact_184_rotate1_Osimps_I1_J, axiom, (! [A:$tType]: ((((rotate1 @ A) @ (nil @ A)) = (nil @ A))))).
% 3.22/1.74 thf(fact_185_map__eq__map__tailrec, axiom, (! [B:$tType,A:$tType]: ((((map @ A) @ B) = ((map_tailrec @ A) @ B))))).
% 3.22/1.74 thf(fact_186_last__snoc, axiom, (! [A:$tType,Xs:(list @ A),X2:A]: ((((last @ A) @ (((append @ A) @ Xs) @ (((cons @ A) @ X2) @ (nil @ A)))) = X2)))).
% 3.22/1.74 thf(fact_187_butlast__snoc, axiom, (! [A:$tType,Xs:(list @ A),X2:A]: ((((butlast @ A) @ (((append @ A) @ Xs) @ (((cons @ A) @ X2) @ (nil @ A)))) = Xs)))).
% 3.22/1.74 thf(fact_188_last__appendR, axiom, (! [A:$tType,Ys:(list @ A),Xs:(list @ A)]: (((Ys != (nil @ A)) => (((last @ A) @ (((append @ A) @ Xs) @ Ys)) = ((last @ A) @ Ys)))))).
% 3.22/1.74 thf(fact_189_last__appendL, axiom, (! [A:$tType,Ys:(list @ A),Xs:(list @ A)]: (((Ys = (nil @ A)) => (((last @ A) @ (((append @ A) @ Xs) @ Ys)) = ((last @ A) @ Xs)))))).
% 3.22/1.74 thf(fact_190_append__butlast__last__id, axiom, (! [A:$tType,Xs:(list @ A)]: (((Xs != (nil @ A)) => ((((append @ A) @ ((butlast @ A) @ Xs)) @ (((cons @ A) @ ((last @ A) @ Xs)) @ (nil @ A))) = Xs))))).
% 3.22/1.74 thf(fact_191_map__butlast, axiom, (! [A:$tType,B:$tType,F:(B > A),Xs:(list @ B)]: ((((((map @ B) @ A) @ F) @ ((butlast @ B) @ Xs)) = ((butlast @ A) @ ((((map @ B) @ A) @ F) @ Xs)))))).
% 3.22/1.74 thf(fact_192_snoc__eq__iff__butlast, axiom, (! [A:$tType,Xs:(list @ A),X2:A,Ys:(list @ A)]: ((((((append @ A) @ Xs) @ (((cons @ A) @ X2) @ (nil @ A))) = Ys) = ((Ys != (nil @ A)) & ((((butlast @ A) @ Ys) = Xs) & (((last @ A) @ Ys) = X2))))))).
% 3.22/1.74 thf(fact_193_butlast_Osimps_I1_J, axiom, (! [A:$tType]: ((((butlast @ A) @ (nil @ A)) = (nil @ A))))).
% 3.22/1.74 thf(fact_194_last__ConsR, axiom, (! [A:$tType,Xs:(list @ A),X2:A]: (((Xs != (nil @ A)) => (((last @ A) @ (((cons @ A) @ X2) @ Xs)) = ((last @ A) @ Xs)))))).
% 3.22/1.74 thf(fact_195_last__ConsL, axiom, (! [A:$tType,Xs:(list @ A),X2:A]: (((Xs = (nil @ A)) => (((last @ A) @ (((cons @ A) @ X2) @ Xs)) = X2))))).
% 3.22/1.74 thf(fact_196_last_Osimps, axiom, (! [A:$tType,Xs:(list @ A),X2:A]: ((((Xs = (nil @ A)) => (((last @ A) @ (((cons @ A) @ X2) @ Xs)) = X2)) & ((Xs != (nil @ A)) => (((last @ A) @ (((cons @ A) @ X2) @ Xs)) = ((last @ A) @ Xs))))))).
% 3.22/1.74 thf(fact_197_butlast_Osimps_I2_J, axiom, (! [A:$tType,Xs:(list @ A),X2:A]: ((((Xs = (nil @ A)) => (((butlast @ A) @ (((cons @ A) @ X2) @ Xs)) = (nil @ A))) & ((Xs != (nil @ A)) => (((butlast @ A) @ (((cons @ A) @ X2) @ Xs)) = (((cons @ A) @ X2) @ ((butlast @ A) @ Xs)))))))).
% 3.22/1.74 thf(fact_198_last__map, axiom, (! [B:$tType,A:$tType,Xs:(list @ A),F:(A > B)]: (((Xs != (nil @ A)) => (((last @ B) @ ((((map @ A) @ B) @ F) @ Xs)) = (F @ ((last @ A) @ Xs))))))).
% 3.22/1.74 thf(fact_199_longest__common__suffix, axiom, (! [A:$tType,Xs:(list @ A),Ys:(list @ A)]: ((? [Ss:(list @ A),Xs4:(list @ A),Ys5:(list @ A)]: (((Xs = (((append @ A) @ Xs4) @ Ss)) & ((Ys = (((append @ A) @ Ys5) @ Ss)) & ((Xs4 = (nil @ A)) | ((Ys5 = (nil @ A)) | (((last @ A) @ Xs4) != ((last @ A) @ Ys5))))))))))).
% 3.22/1.74 thf(fact_200_butlast__append, axiom, (! [A:$tType,Ys:(list @ A),Xs:(list @ A)]: ((((Ys = (nil @ A)) => (((butlast @ A) @ (((append @ A) @ Xs) @ Ys)) = ((butlast @ A) @ Xs))) & ((Ys != (nil @ A)) => (((butlast @ A) @ (((append @ A) @ Xs) @ Ys)) = (((append @ A) @ Xs) @ ((butlast @ A) @ Ys)))))))).
% 3.22/1.74 thf(fact_201_last__append, axiom, (! [A:$tType,Ys:(list @ A),Xs:(list @ A)]: ((((Ys = (nil @ A)) => (((last @ A) @ (((append @ A) @ Xs) @ Ys)) = ((last @ A) @ Xs))) & ((Ys != (nil @ A)) => (((last @ A) @ (((append @ A) @ Xs) @ Ys)) = ((last @ A) @ Ys))))))).
% 3.22/1.74 thf(fact_202_list__ex1__simps_I1_J, axiom, (! [A:$tType,P:(A > $o)]: ((~ ((((list_ex1 @ A) @ P) @ (nil @ A))))))).
% 3.22/1.74 thf(fact_203_strict__suffix__def, axiom, (! [A:$tType]: (((strict_suffix @ A) = (^ [Xs3:(list @ A),Ys3:(list @ A)]: ((? [Us2:(list @ A)]: (((Ys3 = (((append @ A) @ Us2) @ Xs3)) & (Us2 != (nil @ A))))))))))).
% 3.22/1.74 thf(fact_204_strict__suffix__trans, axiom, (! [A:$tType,Xs:(list @ A),Ys:(list @ A),Zs:(list @ A)]: (((((strict_suffix @ A) @ Xs) @ Ys) => ((((strict_suffix @ A) @ Ys) @ Zs) => (((strict_suffix @ A) @ Xs) @ Zs)))))).
% 3.22/1.74 thf(fact_205_map__tailrec__rev_Oelims, axiom, (! [A:$tType,B:$tType,X2:(A > B),Xa:(list @ A),Xb:(list @ B),Y:(list @ B)]: ((((((((map_tailrec_rev @ A) @ B) @ X2) @ Xa) @ Xb) = Y) => (((Xa = (nil @ A)) => (Y != Xb)) => (~ ((! [A3:A,As:(list @ A)]: (((Xa = (((cons @ A) @ A3) @ As)) => (Y != (((((map_tailrec_rev @ A) @ B) @ X2) @ As) @ (((cons @ B) @ (X2 @ A3)) @ Xb))))))))))))).
% 3.22/1.74 thf(fact_206_SuccD, axiom, (! [A:$tType,K:A,Kl:(set @ (list @ A)),Kl2:(list @ A)]: (((((member @ A) @ K) @ (((bNF_Greatest_Succ @ A) @ Kl) @ Kl2)) => (((member @ (list @ A)) @ (((append @ A) @ Kl2) @ (((cons @ A) @ K) @ (nil @ A)))) @ Kl))))).
% 3.22/1.74 thf(fact_207_map__tailrec__rev_Osimps_I2_J, axiom, (! [A:$tType,B:$tType,F:(A > B),A2:A,As2:(list @ A),Bs2:(list @ B)]: (((((((map_tailrec_rev @ A) @ B) @ F) @ (((cons @ A) @ A2) @ As2)) @ Bs2) = (((((map_tailrec_rev @ A) @ B) @ F) @ As2) @ (((cons @ B) @ (F @ A2)) @ Bs2)))))).
% 3.22/1.74 thf(fact_208_map__tailrec__rev_Osimps_I1_J, axiom, (! [A:$tType,B:$tType,F:(A > B),Bs2:(list @ B)]: (((((((map_tailrec_rev @ A) @ B) @ F) @ (nil @ A)) @ Bs2) = Bs2)))).
% 3.22/1.74 thf(fact_209_SuccI, axiom, (! [A:$tType,Kl2:(list @ A),K:A,Kl:(set @ (list @ A))]: (((((member @ (list @ A)) @ (((append @ A) @ Kl2) @ (((cons @ A) @ K) @ (nil @ A)))) @ Kl) => (((member @ A) @ K) @ (((bNF_Greatest_Succ @ A) @ Kl) @ Kl2)))))).
% 3.22/1.74 thf(fact_210_shift__def, axiom, (! [B:$tType,A:$tType]: ((((bNF_Greatest_shift @ A) @ B) = (^ [Lab:((list @ A) > B),K2:A,Kl3:(list @ A)]: ((Lab @ (((cons @ A) @ K2) @ Kl3)))))))).
% 3.22/1.74 thf(fact_211_empty__Shift, axiom, (! [A:$tType,Kl:(set @ (list @ A)),K:A]: (((((member @ (list @ A)) @ (nil @ A)) @ Kl) => ((((member @ A) @ K) @ (((bNF_Greatest_Succ @ A) @ Kl) @ (nil @ A))) => (((member @ (list @ A)) @ (nil @ A)) @ (((bNF_Greatest_Shift @ A) @ Kl) @ K))))))).
% 3.22/1.74 thf(fact_212_ShiftD, axiom, (! [A:$tType,Kl2:(list @ A),Kl:(set @ (list @ A)),K:A]: (((((member @ (list @ A)) @ Kl2) @ (((bNF_Greatest_Shift @ A) @ Kl) @ K)) => (((member @ (list @ A)) @ (((cons @ A) @ K) @ Kl2)) @ Kl))))).
% 3.22/1.74 thf(fact_213_Succ__Shift, axiom, (! [A:$tType,Kl:(set @ (list @ A)),K:A,Kl2:(list @ A)]: (((((bNF_Greatest_Succ @ A) @ (((bNF_Greatest_Shift @ A) @ Kl) @ K)) @ Kl2) = (((bNF_Greatest_Succ @ A) @ Kl) @ (((cons @ A) @ K) @ Kl2)))))).
% 3.22/1.74 thf(fact_214_map__tailrec__def, axiom, (! [B:$tType,A:$tType]: ((((map_tailrec @ A) @ B) = (^ [F3:(A > B),As3:(list @ A)]: (((rev @ B) @ (((((map_tailrec_rev @ A) @ B) @ F3) @ As3) @ (nil @ B))))))))).
% 3.22/1.74 thf(fact_215_ord_OgreaterThanAtMost__def, axiom, (! [A:$tType]: (((set_gr323396891AtMost @ A) = (^ [Less_eq:(A > (A > $o)),Less2:(A > (A > $o)),L2:A,U2:A]: ((((inf_inf @ (set @ A)) @ (((set_greaterThan @ A) @ Less2) @ L2)) @ (((set_atMost @ A) @ Less_eq) @ U2)))))))).
% 3.22/1.74 thf(fact_216_rev__rev__ident, axiom, (! [A:$tType,Xs:(list @ A)]: ((((rev @ A) @ ((rev @ A) @ Xs)) = Xs)))).
% 3.22/1.74 thf(fact_217_rev__is__rev__conv, axiom, (! [A:$tType,Xs:(list @ A),Ys:(list @ A)]: (((((rev @ A) @ Xs) = ((rev @ A) @ Ys)) = (Xs = Ys))))).
% 3.22/1.74 thf(fact_218_Nil__is__rev__conv, axiom, (! [A:$tType,Xs:(list @ A)]: ((((nil @ A) = ((rev @ A) @ Xs)) = (Xs = (nil @ A)))))).
% 3.22/1.74 thf(fact_219_rev__is__Nil__conv, axiom, (! [A:$tType,Xs:(list @ A)]: (((((rev @ A) @ Xs) = (nil @ A)) = (Xs = (nil @ A)))))).
% 3.22/1.74 thf(fact_220_rev__append, axiom, (! [A:$tType,Xs:(list @ A),Ys:(list @ A)]: ((((rev @ A) @ (((append @ A) @ Xs) @ Ys)) = (((append @ A) @ ((rev @ A) @ Ys)) @ ((rev @ A) @ Xs)))))).
% 3.22/1.74 thf(fact_221_rev__singleton__conv, axiom, (! [A:$tType,Xs:(list @ A),X2:A]: (((((rev @ A) @ Xs) = (((cons @ A) @ X2) @ (nil @ A))) = (Xs = (((cons @ A) @ X2) @ (nil @ A))))))).
% 3.22/1.74 thf(fact_222_singleton__rev__conv, axiom, (! [A:$tType,X2:A,Xs:(list @ A)]: ((((((cons @ A) @ X2) @ (nil @ A)) = ((rev @ A) @ Xs)) = (Xs = (((cons @ A) @ X2) @ (nil @ A))))))).
% 3.22/1.74 thf(fact_223_rev__eq__Cons__iff, axiom, (! [A:$tType,Xs:(list @ A),Y:A,Ys:(list @ A)]: (((((rev @ A) @ Xs) = (((cons @ A) @ Y) @ Ys)) = (Xs = (((append @ A) @ ((rev @ A) @ Ys)) @ (((cons @ A) @ Y) @ (nil @ A)))))))).
% 3.22/1.74 thf(fact_224_rev__map, axiom, (! [A:$tType,B:$tType,F:(B > A),Xs:(list @ B)]: ((((rev @ A) @ ((((map @ B) @ A) @ F) @ Xs)) = ((((map @ B) @ A) @ F) @ ((rev @ B) @ Xs)))))).
% 3.22/1.74 thf(fact_225_ord_OatMost__iff, axiom, (! [A:$tType,I:A,Less_eq2:(A > (A > $o)),K:A]: (((((member @ A) @ I) @ (((set_atMost @ A) @ Less_eq2) @ K)) = ((Less_eq2 @ I) @ K))))).
% 3.22/1.74 thf(fact_226_ord_OgreaterThanAtMost__iff, axiom, (! [A:$tType,I:A,Less_eq2:(A > (A > $o)),Less:(A > (A > $o)),L:A,U:A]: (((((member @ A) @ I) @ (((((set_gr323396891AtMost @ A) @ Less_eq2) @ Less) @ L) @ U)) = (((Less @ L) @ I) & ((Less_eq2 @ I) @ U)))))).
% 3.22/1.74 thf(fact_227_rev_Osimps_I1_J, axiom, (! [A:$tType]: ((((rev @ A) @ (nil @ A)) = (nil @ A))))).
% 3.22/1.74 thf(fact_228_rev__swap, axiom, (! [A:$tType,Xs:(list @ A),Ys:(list @ A)]: (((((rev @ A) @ Xs) = Ys) = (Xs = ((rev @ A) @ Ys)))))).
% 3.22/1.74 thf(fact_229_rev_Osimps_I2_J, axiom, (! [A:$tType,X2:A,Xs:(list @ A)]: ((((rev @ A) @ (((cons @ A) @ X2) @ Xs)) = (((append @ A) @ ((rev @ A) @ Xs)) @ (((cons @ A) @ X2) @ (nil @ A))))))).
% 3.22/1.74 thf(fact_230_map__tailrec__rev, axiom, (! [A:$tType,B:$tType]: ((((map_tailrec_rev @ B) @ A) = (^ [F3:(B > A),As3:(list @ B)]: (((append @ A) @ ((rev @ A) @ ((((map @ B) @ A) @ F3) @ As3))))))))).
% 3.22/1.74 thf(fact_231_list__of__aux__code_I1_J, axiom, (! [A:$tType,Xs:(list @ A)]: (((((coindu1384447384of_aux @ A) @ Xs) @ (coinductive_LNil @ A)) = ((rev @ A) @ Xs))))).
% 3.22/1.74 thf(fact_232_local_OgreaterThanAtMost__def, axiom, (! [L:a,U:a]: (((((((set_gr323396891AtMost @ a) @ less_eq) @ less) @ L) @ U) = (((inf_inf @ (set @ a)) @ (((set_greaterThan @ a) @ less) @ L)) @ (((set_atMost @ a) @ less_eq) @ U)))))).
% 3.22/1.74 thf(fact_233_local_Oord__eq__le__trans, axiom, (! [A2:a,B2:a,C:a]: (((A2 = B2) => (((less_eq @ B2) @ C) => ((less_eq @ A2) @ C)))))).
% 3.22/1.74 thf(fact_234_local_Oord__le__eq__trans, axiom, (! [A2:a,B2:a,C:a]: ((((less_eq @ A2) @ B2) => ((B2 = C) => ((less_eq @ A2) @ C)))))).
% 3.22/1.74 thf(fact_235_local_Omax__def, axiom, (! [A2:a,B2:a]: (((((less_eq @ A2) @ B2) => (((((max @ a) @ less_eq) @ A2) @ B2) = B2)) & ((~ (((less_eq @ A2) @ B2))) => (((((max @ a) @ less_eq) @ A2) @ B2) = A2)))))).
% 3.22/1.74 thf(fact_236_local_Omin__def, axiom, (! [A2:a,B2:a]: (((((less_eq @ A2) @ B2) => (((((min @ a) @ less_eq) @ A2) @ B2) = A2)) & ((~ (((less_eq @ A2) @ B2))) => (((((min @ a) @ less_eq) @ A2) @ B2) = B2)))))).
% 3.22/1.74 thf(fact_237_local_OatMost__iff, axiom, (! [I:a,K:a]: (((((member @ a) @ I) @ (((set_atMost @ a) @ less_eq) @ K)) = ((less_eq @ I) @ K))))).
% 3.22/1.74 thf(fact_238_local_OgreaterThanAtMost__iff, axiom, (! [I:a,L:a,U:a]: (((((member @ a) @ I) @ (((((set_gr323396891AtMost @ a) @ less_eq) @ less) @ L) @ U)) = (((less @ L) @ I) & ((less_eq @ I) @ U)))))).
% 3.22/1.74 thf(fact_239_local_OatLeastLessThan__def, axiom, (! [L:a,U:a]: (((((((set_atLeastLessThan @ a) @ less_eq) @ less) @ L) @ U) = (((inf_inf @ (set @ a)) @ (((set_atLeast @ a) @ less_eq) @ L)) @ (((set_lessThan @ a) @ less) @ U)))))).
% 3.22/1.74 thf(fact_240_local_OatLeastAtMost__def, axiom, (! [L:a,U:a]: ((((((set_atLeastAtMost @ a) @ less_eq) @ L) @ U) = (((inf_inf @ (set @ a)) @ (((set_atLeast @ a) @ less_eq) @ L)) @ (((set_atMost @ a) @ less_eq) @ U)))))).
% 3.22/1.74 thf(fact_241_local_OatLeast__iff, axiom, (! [I:a,K:a]: (((((member @ a) @ I) @ (((set_atLeast @ a) @ less_eq) @ K)) = ((less_eq @ K) @ I))))).
% 3.22/1.74 thf(fact_242_local_OatLeastAtMost__iff, axiom, (! [I:a,L:a,U:a]: (((((member @ a) @ I) @ ((((set_atLeastAtMost @ a) @ less_eq) @ L) @ U)) = (((less_eq @ L) @ I) & ((less_eq @ I) @ U)))))).
% 3.22/1.74 thf(fact_243_local_OatLeastLessThan__iff, axiom, (! [I:a,L:a,U:a]: (((((member @ a) @ I) @ (((((set_atLeastLessThan @ a) @ less_eq) @ less) @ L) @ U)) = (((less_eq @ L) @ I) & ((less @ I) @ U)))))).
% 3.22/1.74 thf(fact_244_ord_OatLeast__iff, axiom, (! [A:$tType,I:A,Less_eq2:(A > (A > $o)),K:A]: (((((member @ A) @ I) @ (((set_atLeast @ A) @ Less_eq2) @ K)) = ((Less_eq2 @ K) @ I))))).
% 3.22/1.74 thf(fact_245_ord_OatLeastAtMost__iff, axiom, (! [A:$tType,I:A,Less_eq2:(A > (A > $o)),L:A,U:A]: (((((member @ A) @ I) @ ((((set_atLeastAtMost @ A) @ Less_eq2) @ L) @ U)) = (((Less_eq2 @ L) @ I) & ((Less_eq2 @ I) @ U)))))).
% 3.22/1.74 thf(fact_246_ord_OatLeastLessThan__iff, axiom, (! [A:$tType,I:A,Less_eq2:(A > (A > $o)),Less:(A > (A > $o)),L:A,U:A]: (((((member @ A) @ I) @ (((((set_atLeastLessThan @ A) @ Less_eq2) @ Less) @ L) @ U)) = (((Less_eq2 @ L) @ I) & ((Less @ I) @ U)))))).
% 3.22/1.74 thf(fact_247_ord_OatLeastLessThan__def, axiom, (! [A:$tType]: (((set_atLeastLessThan @ A) = (^ [Less_eq:(A > (A > $o)),Less2:(A > (A > $o)),L2:A,U2:A]: ((((inf_inf @ (set @ A)) @ (((set_atLeast @ A) @ Less_eq) @ L2)) @ (((set_lessThan @ A) @ Less2) @ U2)))))))).
% 3.22/1.74 thf(fact_248_ord_OatLeastAtMost__def, axiom, (! [A:$tType]: (((set_atLeastAtMost @ A) = (^ [Less_eq:(A > (A > $o)),L2:A,U2:A]: ((((inf_inf @ (set @ A)) @ (((set_atLeast @ A) @ Less_eq) @ L2)) @ (((set_atMost @ A) @ Less_eq) @ U2)))))))).
% 3.22/1.74 thf(fact_249_local_Olsorted_OLNil, axiom, (((coinductive_lsorted @ a) @ less_eq) @ (coinductive_LNil @ a))).
% 3.22/1.74 thf(fact_250_hd__rev, axiom, (! [A:$tType,Xs:(list @ A)]: (((Xs != (nil @ A)) => (((hd @ A) @ ((rev @ A) @ Xs)) = ((last @ A) @ Xs)))))).
% 3.22/1.74 thf(fact_251_hd__append2, axiom, (! [A:$tType,Xs:(list @ A),Ys:(list @ A)]: (((Xs != (nil @ A)) => (((hd @ A) @ (((append @ A) @ Xs) @ Ys)) = ((hd @ A) @ Xs)))))).
% 3.22/1.74 thf(fact_252_local_Olsorted__code_I1_J, axiom, (((coinductive_lsorted @ a) @ less_eq) @ (coinductive_LNil @ a))).
% 3.22/1.74 thf(tcon_fun___Lattices_Osemilattice__inf, axiom, (! [A7:$tType,A8:$tType]: ((((semilattice_inf @ A8) @ (type2 @ A8)) => ((semilattice_inf @ (A7 > A8)) @ (type2 @ (A7 > A8))))))).
% 3.22/1.74 thf(tcon_fun___Lattices_Olattice, axiom, (! [A7:$tType,A8:$tType]: ((((lattice @ A8) @ (type2 @ A8)) => ((lattice @ (A7 > A8)) @ (type2 @ (A7 > A8))))))).
% 3.22/1.74 thf(tcon_fun___Orderings_Oord, axiom, (! [A7:$tType,A8:$tType]: ((((ord @ A8) @ (type2 @ A8)) => ((ord @ (A7 > A8)) @ (type2 @ (A7 > A8))))))).
% 3.22/1.74 thf(tcon_Set_Oset___Lattices_Osemilattice__inf_1, axiom, (! [A7:$tType]: (((semilattice_inf @ (set @ A7)) @ (type2 @ (set @ A7)))))).
% 3.22/1.74 thf(tcon_Set_Oset___Lattices_Olattice_2, axiom, (! [A7:$tType]: (((lattice @ (set @ A7)) @ (type2 @ (set @ A7)))))).
% 3.22/1.74 thf(tcon_Set_Oset___Orderings_Oord_3, axiom, (! [A7:$tType]: (((ord @ (set @ A7)) @ (type2 @ (set @ A7)))))).
% 3.22/1.74 thf(tcon_HOL_Obool___Lattices_Osemilattice__inf_4, axiom, ((semilattice_inf @ $o) @ (type2 @ $o))).
% 3.22/1.74 thf(tcon_HOL_Obool___Lattices_Olattice_5, axiom, ((lattice @ $o) @ (type2 @ $o))).
% 3.22/1.74 thf(tcon_HOL_Obool___Orderings_Oord_6, axiom, ((ord @ $o) @ (type2 @ $o))).
% 3.22/1.74 thf(conj_0, conjecture, (((coinductive_lnull @ a) @ ((((hammin1328233080lmerge @ a) @ less) @ xs) @ ys)) = (((coinductive_lnull @ a) @ xs) | ((coinductive_lnull @ a) @ ys)))).
% 3.22/1.74 % SZS output end ListOfTHF for /export/starexec/sandbox/tmp/tmp.QfeLN0lqUF/DTF2DTF2221.p
% 3.22/1.74 ------------------------
% 3.22/1.79 ---- Cleaned THF ---
% 3.22/1.79 thf(ty_t_Coinductive__List_Ollist,type,
% 3.22/1.79 coinductive_llist: $tType > $tType ).
% 3.22/1.79
% 3.22/1.79 thf(ty_t_List_Olist,type,
% 3.22/1.79 list: $tType > $tType ).
% 3.22/1.79
% 3.22/1.79 thf(ty_t_Set_Oset,type,
% 3.22/1.79 set: $tType > $tType ).
% 3.22/1.79
% 3.22/1.79 thf(ty_t_itself,type,
% 3.22/1.79 itself: $tType > $tType ).
% 3.22/1.79
% 3.22/1.79 thf(ty_tf_a,type,
% 3.22/1.79 a: $tType ).
% 3.22/1.79
% 3.22/1.79 thf(sy_cl_HOL_Otype,type,
% 3.22/1.79 type:
% 3.22/1.79 !>[A: $tType] : ( ( itself @ A ) > $o ) ).
% 3.22/1.79
% 3.22/1.79 thf(sy_cl_Orderings_Oord,type,
% 3.22/1.79 ord:
% 3.22/1.79 !>[A: $tType] : ( ( itself @ A ) > $o ) ).
% 3.22/1.79
% 3.22/1.79 thf(sy_cl_Lattices_Olattice,type,
% 3.22/1.79 lattice:
% 3.22/1.79 !>[A: $tType] : ( ( itself @ A ) > $o ) ).
% 3.22/1.79
% 3.22/1.79 thf(sy_cl_Lattices_Osemilattice__inf,type,
% 3.22/1.79 semilattice_inf:
% 3.22/1.79 !>[A: $tType] : ( ( itself @ A ) > $o ) ).
% 3.22/1.79
% 3.22/1.79 thf(sy_c_BNF__Greatest__Fixpoint_OShift,type,
% 3.22/1.79 bNF_Greatest_Shift:
% 3.22/1.79 !>[A: $tType] : ( ( set @ ( list @ A ) ) > A > ( set @ ( list @ A ) ) ) ).
% 3.22/1.79
% 3.22/1.79 thf(sy_c_BNF__Greatest__Fixpoint_OSucc,type,
% 3.22/1.79 bNF_Greatest_Succ:
% 3.22/1.79 !>[A: $tType] : ( ( set @ ( list @ A ) ) > ( list @ A ) > ( set @ A ) ) ).
% 3.22/1.79
% 3.22/1.79 thf(sy_c_BNF__Greatest__Fixpoint_Oshift,type,
% 3.22/1.79 bNF_Greatest_shift:
% 3.22/1.79 !>[A: $tType,B: $tType] : ( ( ( list @ A ) > B ) > A > ( list @ A ) > B ) ).
% 3.22/1.79
% 3.22/1.79 thf(sy_c_Coinductive__List_Olist__of__aux,type,
% 3.22/1.79 coindu1384447384of_aux:
% 3.22/1.79 !>[A: $tType] : ( ( list @ A ) > ( coinductive_llist @ A ) > ( list @ A ) ) ).
% 3.22/1.79
% 3.22/1.79 thf(sy_c_Coinductive__List_Ollist_OLNil,type,
% 3.22/1.79 coinductive_LNil:
% 3.22/1.79 !>[A: $tType] : ( coinductive_llist @ A ) ).
% 3.22/1.79
% 3.22/1.79 thf(sy_c_Coinductive__List_Ollist_Olnull,type,
% 3.22/1.79 coinductive_lnull:
% 3.22/1.79 !>[A: $tType] : ( ( coinductive_llist @ A ) > $o ) ).
% 3.22/1.79
% 3.22/1.79 thf(sy_c_Coinductive__List_Oord_Olsorted,type,
% 3.22/1.79 coinductive_lsorted:
% 3.22/1.79 !>[A: $tType] : ( ( A > A > $o ) > ( coinductive_llist @ A ) > $o ) ).
% 3.22/1.79
% 3.22/1.79 thf(sy_c_Hamming__Stream__Mirabelle__rwekfkwckg_Oord_Olmerge,type,
% 3.22/1.79 hammin1328233080lmerge:
% 3.22/1.79 !>[A: $tType] : ( ( A > A > $o ) > ( coinductive_llist @ A ) > ( coinductive_llist @ A ) > ( coinductive_llist @ A ) ) ).
% 3.22/1.79
% 3.22/1.79 thf(sy_c_Hamming__Stream__Mirabelle__rwekfkwckg_Oord__class_Olmerge,type,
% 3.22/1.79 hammin1138290136lmerge:
% 3.22/1.79 !>[A: $tType] : ( ( coinductive_llist @ A ) > ( coinductive_llist @ A ) > ( coinductive_llist @ A ) ) ).
% 3.22/1.79
% 3.22/1.79 thf(sy_c_Lattices_Oinf__class_Oinf,type,
% 3.22/1.79 inf_inf:
% 3.22/1.79 !>[A: $tType] : ( A > A > A ) ).
% 3.22/1.79
% 3.22/1.79 thf(sy_c_List_Oappend,type,
% 3.22/1.79 append:
% 3.22/1.79 !>[A: $tType] : ( ( list @ A ) > ( list @ A ) > ( list @ A ) ) ).
% 3.22/1.79
% 3.22/1.79 thf(sy_c_List_Obind,type,
% 3.22/1.79 bind:
% 3.22/1.79 !>[A: $tType,B: $tType] : ( ( list @ A ) > ( A > ( list @ B ) ) > ( list @ B ) ) ).
% 3.22/1.79
% 3.22/1.79 thf(sy_c_List_Obutlast,type,
% 3.22/1.79 butlast:
% 3.22/1.79 !>[A: $tType] : ( ( list @ A ) > ( list @ A ) ) ).
% 3.22/1.79
% 3.22/1.79 thf(sy_c_List_Oinsert,type,
% 3.22/1.79 insert:
% 3.22/1.79 !>[A: $tType] : ( A > ( list @ A ) > ( list @ A ) ) ).
% 3.22/1.79
% 3.22/1.79 thf(sy_c_List_Olast,type,
% 3.22/1.79 last:
% 3.22/1.79 !>[A: $tType] : ( ( list @ A ) > A ) ).
% 3.22/1.79
% 3.22/1.79 thf(sy_c_List_Olist_OCons,type,
% 3.22/1.79 cons:
% 3.22/1.79 !>[A: $tType] : ( A > ( list @ A ) > ( list @ A ) ) ).
% 3.22/1.79
% 3.22/1.79 thf(sy_c_List_Olist_ONil,type,
% 3.22/1.79 nil:
% 3.22/1.79 !>[A: $tType] : ( list @ A ) ).
% 3.22/1.79
% 3.22/1.79 thf(sy_c_List_Olist_Ohd,type,
% 3.22/1.79 hd:
% 3.22/1.79 !>[A: $tType] : ( ( list @ A ) > A ) ).
% 3.22/1.79
% 3.22/1.79 thf(sy_c_List_Olist_Omap,type,
% 3.22/1.79 map:
% 3.22/1.79 !>[A: $tType,Aa: $tType] : ( ( A > Aa ) > ( list @ A ) > ( list @ Aa ) ) ).
% 3.22/1.79
% 3.22/1.79 thf(sy_c_List_Olist__ex1,type,
% 3.22/1.79 list_ex1:
% 3.22/1.79 !>[A: $tType] : ( ( A > $o ) > ( list @ A ) > $o ) ).
% 3.22/1.79
% 3.22/1.79 thf(sy_c_List_Omap__tailrec,type,
% 3.22/1.79 map_tailrec:
% 3.22/1.79 !>[A: $tType,B: $tType] : ( ( A > B ) > ( list @ A ) > ( list @ B ) ) ).
% 3.22/1.79
% 3.22/1.79 thf(sy_c_List_Omap__tailrec__rev,type,
% 3.22/1.79 map_tailrec_rev:
% 3.22/1.79 !>[A: $tType,B: $tType] : ( ( A > B ) > ( list @ A ) > ( list @ B ) > ( list @ B ) ) ).
% 3.22/1.79
% 3.22/1.79 thf(sy_c_List_Omaps,type,
% 3.22/1.79 maps:
% 3.22/1.79 !>[A: $tType,B: $tType] : ( ( A > ( list @ B ) ) > ( list @ A ) > ( list @ B ) ) ).
% 3.22/1.79
% 3.22/1.79 thf(sy_c_List_Oord_Olexordp,type,
% 3.22/1.79 lexordp:
% 3.22/1.79 !>[A: $tType] : ( ( A > A > $o ) > ( list @ A ) > ( list @ A ) > $o ) ).
% 3.22/1.79
% 3.22/1.79 thf(sy_c_List_Oord_Olexordp__eq,type,
% 3.22/1.79 lexordp_eq:
% 3.22/1.79 !>[A: $tType] : ( ( A > A > $o ) > ( list @ A ) > ( list @ A ) > $o ) ).
% 3.22/1.79
% 3.22/1.79 thf(sy_c_List_Oproduct__lists,type,
% 3.22/1.79 product_lists:
% 3.22/1.79 !>[A: $tType] : ( ( list @ ( list @ A ) ) > ( list @ ( list @ A ) ) ) ).
% 3.22/1.79
% 3.22/1.79 thf(sy_c_List_Orev,type,
% 3.22/1.79 rev:
% 3.22/1.79 !>[A: $tType] : ( ( list @ A ) > ( list @ A ) ) ).
% 3.22/1.79
% 3.22/1.79 thf(sy_c_List_Orotate1,type,
% 3.22/1.79 rotate1:
% 3.22/1.79 !>[A: $tType] : ( ( list @ A ) > ( list @ A ) ) ).
% 3.22/1.79
% 3.22/1.79 thf(sy_c_List_Osublists,type,
% 3.22/1.79 sublists:
% 3.22/1.79 !>[A: $tType] : ( ( list @ A ) > ( list @ ( list @ A ) ) ) ).
% 3.22/1.79
% 3.22/1.79 thf(sy_c_Orderings_Oord_Omax,type,
% 3.22/1.79 max:
% 3.22/1.79 !>[A: $tType] : ( ( A > A > $o ) > A > A > A ) ).
% 3.22/1.79
% 3.22/1.79 thf(sy_c_Orderings_Oord_Omin,type,
% 3.22/1.79 min:
% 3.22/1.79 !>[A: $tType] : ( ( A > A > $o ) > A > A > A ) ).
% 3.22/1.79
% 3.22/1.79 thf(sy_c_Pure_Otype,type,
% 3.22/1.79 type2:
% 3.22/1.79 !>[A: $tType] : ( itself @ A ) ).
% 3.22/1.79
% 3.22/1.79 thf(sy_c_Set_OCollect,type,
% 3.22/1.79 collect:
% 3.22/1.79 !>[A: $tType] : ( ( A > $o ) > ( set @ A ) ) ).
% 3.22/1.79
% 3.22/1.79 thf(sy_c_Set__Interval_Oord_OatLeast,type,
% 3.22/1.79 set_atLeast:
% 3.22/1.79 !>[A: $tType] : ( ( A > A > $o ) > A > ( set @ A ) ) ).
% 3.22/1.79
% 3.22/1.79 thf(sy_c_Set__Interval_Oord_OatLeastAtMost,type,
% 3.22/1.79 set_atLeastAtMost:
% 3.22/1.79 !>[A: $tType] : ( ( A > A > $o ) > A > A > ( set @ A ) ) ).
% 3.22/1.79
% 3.22/1.79 thf(sy_c_Set__Interval_Oord_OatLeastLessThan,type,
% 3.22/1.79 set_atLeastLessThan:
% 3.22/1.79 !>[A: $tType] : ( ( A > A > $o ) > ( A > A > $o ) > A > A > ( set @ A ) ) ).
% 3.22/1.79
% 3.22/1.79 thf(sy_c_Set__Interval_Oord_OatMost,type,
% 3.22/1.79 set_atMost:
% 3.22/1.79 !>[A: $tType] : ( ( A > A > $o ) > A > ( set @ A ) ) ).
% 3.22/1.79
% 3.22/1.79 thf(sy_c_Set__Interval_Oord_OgreaterThan,type,
% 3.22/1.79 set_greaterThan:
% 3.22/1.79 !>[A: $tType] : ( ( A > A > $o ) > A > ( set @ A ) ) ).
% 3.22/1.79
% 3.22/1.79 thf(sy_c_Set__Interval_Oord_OgreaterThanAtMost,type,
% 3.22/1.79 set_gr323396891AtMost:
% 3.22/1.79 !>[A: $tType] : ( ( A > A > $o ) > ( A > A > $o ) > A > A > ( set @ A ) ) ).
% 3.22/1.79
% 3.22/1.79 thf(sy_c_Set__Interval_Oord_OgreaterThanLessThan,type,
% 3.22/1.79 set_gr1161524159ssThan:
% 3.22/1.79 !>[A: $tType] : ( ( A > A > $o ) > A > A > ( set @ A ) ) ).
% 3.22/1.79
% 3.22/1.79 thf(sy_c_Set__Interval_Oord_OlessThan,type,
% 3.22/1.79 set_lessThan:
% 3.22/1.79 !>[A: $tType] : ( ( A > A > $o ) > A > ( set @ A ) ) ).
% 3.22/1.79
% 3.22/1.79 thf(sy_c_Sublist_Oprefixes,type,
% 3.22/1.79 prefixes:
% 3.22/1.79 !>[A: $tType] : ( ( list @ A ) > ( list @ ( list @ A ) ) ) ).
% 3.22/1.79
% 3.22/1.79 thf(sy_c_Sublist_Oprefixes__rel,type,
% 3.22/1.79 prefixes_rel:
% 3.22/1.79 !>[A: $tType] : ( ( list @ A ) > ( list @ A ) > $o ) ).
% 3.22/1.79
% 3.22/1.79 thf(sy_c_Sublist_Ostrict__suffix,type,
% 3.22/1.79 strict_suffix:
% 3.22/1.79 !>[A: $tType] : ( ( list @ A ) > ( list @ A ) > $o ) ).
% 3.22/1.79
% 3.22/1.79 thf(sy_c_Wellfounded_Oaccp,type,
% 3.22/1.79 accp:
% 3.22/1.79 !>[A: $tType] : ( ( A > A > $o ) > A > $o ) ).
% 3.22/1.79
% 3.22/1.79 thf(sy_c_member,type,
% 3.22/1.79 member:
% 3.22/1.79 !>[A: $tType] : ( A > ( set @ A ) > $o ) ).
% 3.22/1.79
% 3.22/1.79 thf(sy_v_less,type,
% 3.22/1.79 less: a > a > $o ).
% 3.22/1.79
% 3.22/1.79 thf(sy_v_less__eq,type,
% 3.22/1.79 less_eq: a > a > $o ).
% 3.22/1.79
% 3.22/1.79 thf(sy_v_xs,type,
% 3.22/1.79 xs: coinductive_llist @ a ).
% 3.22/1.79
% 3.22/1.79 thf(sy_v_ys,type,
% 3.22/1.79 ys: coinductive_llist @ a ).
% 3.22/1.79
% 3.22/1.79 thf(fact_0_lmerge_Oexhaust,axiom,
% 3.22/1.79 ! [Xs: coinductive_llist @ a,Ys: coinductive_llist @ a] :
% 3.22/1.79 ( ~ ( ( coinductive_lnull @ a @ Xs )
% 3.22/1.79 | ( coinductive_lnull @ a @ Ys ) )
% 3.22/1.79 => ~ ( ~ ( coinductive_lnull @ a @ Xs )
% 3.22/1.79 => ( coinductive_lnull @ a @ Ys ) ) ) ).
% 3.22/1.79
% 3.22/1.79 thf(fact_1_local_Oord__eq__less__trans,axiom,
% 3.22/1.79 ! [A2: a,B2: a,C: a] :
% 3.22/1.79 ( ( A2 = B2 )
% 3.22/1.79 => ( ( less @ B2 @ C )
% 3.22/1.79 => ( less @ A2 @ C ) ) ) ).
% 3.22/1.79
% 3.22/1.79 thf(fact_2_local_Oord__less__eq__trans,axiom,
% 3.22/1.79 ! [A2: a,B2: a,C: a] :
% 3.22/1.79 ( ( less @ A2 @ B2 )
% 3.22/1.79 => ( ( B2 = C )
% 3.22/1.79 => ( less @ A2 @ C ) ) ) ).
% 3.22/1.79
% 3.22/1.79 thf(fact_3_lmerge_Odisc_I2_J,axiom,
% 3.22/1.79 ! [Xs: coinductive_llist @ a,Ys: coinductive_llist @ a] :
% 3.22/1.79 ( ~ ( coinductive_lnull @ a @ Xs )
% 3.22/1.79 => ( ~ ( coinductive_lnull @ a @ Ys )
% 3.22/1.79 => ~ ( coinductive_lnull @ a @ ( hammin1328233080lmerge @ a @ less @ Xs @ Ys ) ) ) ) ).
% 3.22/1.79
% 3.22/1.79 thf(fact_4_lmerge_Odisc_I1_J,axiom,
% 3.22/1.79 ! [Xs: coinductive_llist @ a,Ys: coinductive_llist @ a] :
% 3.22/1.79 ( ( ( coinductive_lnull @ a @ Xs )
% 3.22/1.79 | ( coinductive_lnull @ a @ Ys ) )
% 3.22/1.79 => ( coinductive_lnull @ a @ ( hammin1328233080lmerge @ a @ less @ Xs @ Ys ) ) ) ).
% 3.22/1.79
% 3.22/1.79 thf(fact_5_lmerge_Osimps_I2_J,axiom,
% 3.22/1.79 ! [Xs: coinductive_llist @ a,Ys: coinductive_llist @ a] :
% 3.22/1.79 ( ( ~ ( coinductive_lnull @ a @ ( hammin1328233080lmerge @ a @ less @ Xs @ Ys ) ) )
% 3.22/1.79 = ( ~ ( coinductive_lnull @ a @ Xs )
% 3.22/1.79 & ~ ( coinductive_lnull @ a @ Ys ) ) ) ).
% 3.22/1.79
% 3.22/1.79 thf(fact_6_lmerge_Osimps_I1_J,axiom,
% 3.22/1.79 ! [Xs: coinductive_llist @ a,Ys: coinductive_llist @ a] :
% 3.22/1.79 ( ( coinductive_lnull @ a @ ( hammin1328233080lmerge @ a @ less @ Xs @ Ys ) )
% 3.22/1.79 = ( ( coinductive_lnull @ a @ Xs )
% 3.22/1.79 | ( coinductive_lnull @ a @ Ys ) ) ) ).
% 3.22/1.79
% 3.22/1.79 thf(fact_7_ord_Olmerge_Odisc_I2_J,axiom,
% 3.22/1.79 ! [A: $tType,Xs: coinductive_llist @ A,Ys: coinductive_llist @ A,Less: A > A > $o] :
% 3.22/1.79 ( ~ ( coinductive_lnull @ A @ Xs )
% 3.22/1.79 => ( ~ ( coinductive_lnull @ A @ Ys )
% 3.22/1.79 => ~ ( coinductive_lnull @ A @ ( hammin1328233080lmerge @ A @ Less @ Xs @ Ys ) ) ) ) ).
% 3.22/1.79
% 3.22/1.79 thf(fact_8_ord_Olmerge_Odisc_I1_J,axiom,
% 3.22/1.79 ! [A: $tType,Xs: coinductive_llist @ A,Ys: coinductive_llist @ A,Less: A > A > $o] :
% 3.22/1.79 ( ( ( coinductive_lnull @ A @ Xs )
% 3.22/1.79 | ( coinductive_lnull @ A @ Ys ) )
% 3.22/1.79 => ( coinductive_lnull @ A @ ( hammin1328233080lmerge @ A @ Less @ Xs @ Ys ) ) ) ).
% 3.22/1.79
% 3.22/1.79 thf(fact_9_ord_Olmerge_Odisc__iff_I2_J,axiom,
% 3.22/1.79 ! [A: $tType,Less: A > A > $o,Xs: coinductive_llist @ A,Ys: coinductive_llist @ A] :
% 3.22/1.79 ( ( ~ ( coinductive_lnull @ A @ ( hammin1328233080lmerge @ A @ Less @ Xs @ Ys ) ) )
% 3.22/1.79 = ( ~ ( coinductive_lnull @ A @ Xs )
% 3.22/1.79 & ~ ( coinductive_lnull @ A @ Ys ) ) ) ).
% 3.22/1.79
% 3.22/1.79 thf(fact_10_ord_Olmerge_Odisc__iff_I1_J,axiom,
% 3.22/1.79 ! [A: $tType,Less: A > A > $o,Xs: coinductive_llist @ A,Ys: coinductive_llist @ A] :
% 3.22/1.79 ( ( coinductive_lnull @ A @ ( hammin1328233080lmerge @ A @ Less @ Xs @ Ys ) )
% 3.22/1.79 = ( ( coinductive_lnull @ A @ Xs )
% 3.22/1.79 | ( coinductive_lnull @ A @ Ys ) ) ) ).
% 3.22/1.79
% 3.22/1.79 thf(fact_11_ord_Olmerge_Oexhaust,axiom,
% 3.22/1.79 ! [A: $tType,Xs: coinductive_llist @ A,Ys: coinductive_llist @ A] :
% 3.22/1.79 ( ~ ( ( coinductive_lnull @ A @ Xs )
% 3.22/1.79 | ( coinductive_lnull @ A @ Ys ) )
% 3.22/1.79 => ~ ( ~ ( coinductive_lnull @ A @ Xs )
% 3.22/1.79 => ( coinductive_lnull @ A @ Ys ) ) ) ).
% 3.22/1.79
% 3.22/1.79 thf(fact_12_ord__class_Olmerge_Oexhaust,axiom,
% 3.22/1.79 ! [A: $tType] :
% 3.22/1.79 ( ( ord @ A @ ( type2 @ A ) )
% 3.22/1.79 => ! [Xs: coinductive_llist @ A,Ys: coinductive_llist @ A] :
% 3.22/1.79 ( ~ ( ( coinductive_lnull @ A @ Xs )
% 3.22/1.79 | ( coinductive_lnull @ A @ Ys ) )
% 3.22/1.79 => ~ ( ~ ( coinductive_lnull @ A @ Xs )
% 3.22/1.79 => ( coinductive_lnull @ A @ Ys ) ) ) ) ).
% 3.22/1.79
% 3.22/1.79 thf(fact_13_lmerge_Octr_I1_J,axiom,
% 3.22/1.79 ! [Xs: coinductive_llist @ a,Ys: coinductive_llist @ a] :
% 3.22/1.79 ( ( ( coinductive_lnull @ a @ Xs )
% 3.22/1.79 | ( coinductive_lnull @ a @ Ys ) )
% 3.22/1.79 => ( ( hammin1328233080lmerge @ a @ less @ Xs @ Ys )
% 3.22/1.79 = ( coinductive_LNil @ a ) ) ) ).
% 3.22/1.79
% 3.22/1.79 thf(fact_14_local_Olexordp__eq__refl,axiom,
% 3.22/1.79 ! [Xs: list @ a] : ( lexordp_eq @ a @ less @ Xs @ Xs ) ).
% 3.22/1.79
% 3.22/1.79 thf(fact_15_local_OgreaterThanLessThan__iff,axiom,
% 3.22/1.79 ! [I: a,L: a,U: a] :
% 3.22/1.79 ( ( member @ a @ I @ ( set_gr1161524159ssThan @ a @ less @ L @ U ) )
% 3.22/1.79 = ( ( less @ L @ I )
% 3.22/1.79 & ( less @ I @ U ) ) ) ).
% 3.22/1.79
% 3.22/1.79 thf(fact_16_local_Olexordp__irreflexive,axiom,
% 3.22/1.79 ! [Xs: list @ a] :
% 3.22/1.79 ( ! [X: a] :
% 3.22/1.79 ~ ( less @ X @ X )
% 3.22/1.79 => ~ ( lexordp @ a @ less @ Xs @ Xs ) ) ).
% 3.22/1.79
% 3.22/1.79 thf(fact_17_local_OgreaterThan__iff,axiom,
% 3.22/1.79 ! [I: a,K: a] :
% 3.22/1.79 ( ( member @ a @ I @ ( set_greaterThan @ a @ less @ K ) )
% 3.22/1.79 = ( less @ K @ I ) ) ).
% 3.22/1.79
% 3.22/1.79 thf(fact_18_local_OlessThan__iff,axiom,
% 3.22/1.79 ! [I: a,K: a] :
% 3.22/1.79 ( ( member @ a @ I @ ( set_lessThan @ a @ less @ K ) )
% 3.22/1.79 = ( less @ I @ K ) ) ).
% 3.22/1.79
% 3.22/1.79 thf(fact_19_lzip_Oexhaust,axiom,
% 3.22/1.79 ! [A: $tType,B: $tType,Xs: coinductive_llist @ A,Ys: coinductive_llist @ B] :
% 3.22/1.79 ( ~ ( ( coinductive_lnull @ A @ Xs )
% 3.22/1.79 | ( coinductive_lnull @ B @ Ys ) )
% 3.22/1.79 => ~ ( ~ ( coinductive_lnull @ A @ Xs )
% 3.22/1.79 => ( coinductive_lnull @ B @ Ys ) ) ) ).
% 3.22/1.79
% 3.22/1.79 thf(fact_20_lappend_Oexhaust,axiom,
% 3.22/1.79 ! [A: $tType,Xs: coinductive_llist @ A,Ys: coinductive_llist @ A] :
% 3.22/1.79 ( ( ( coinductive_lnull @ A @ Xs )
% 3.22/1.79 => ~ ( coinductive_lnull @ A @ Ys ) )
% 3.22/1.79 => ( ~ ( coinductive_lnull @ A @ Xs )
% 3.22/1.79 | ~ ( coinductive_lnull @ A @ Ys ) ) ) ).
% 3.22/1.79
% 3.22/1.79 thf(fact_21_ord_Olmerge_Octr_I1_J,axiom,
% 3.22/1.79 ! [A: $tType,Xs: coinductive_llist @ A,Ys: coinductive_llist @ A,Less: A > A > $o] :
% 3.22/1.79 ( ( ( coinductive_lnull @ A @ Xs )
% 3.22/1.79 | ( coinductive_lnull @ A @ Ys ) )
% 3.22/1.79 => ( ( hammin1328233080lmerge @ A @ Less @ Xs @ Ys )
% 3.22/1.79 = ( coinductive_LNil @ A ) ) ) ).
% 3.22/1.79
% 3.22/1.79 thf(fact_22_ord__class_Olmerge_Odisc_I2_J,axiom,
% 3.22/1.79 ! [A: $tType] :
% 3.22/1.79 ( ( ord @ A @ ( type2 @ A ) )
% 3.22/1.79 => ! [Xs: coinductive_llist @ A,Ys: coinductive_llist @ A] :
% 3.22/1.79 ( ~ ( coinductive_lnull @ A @ Xs )
% 3.22/1.79 => ( ~ ( coinductive_lnull @ A @ Ys )
% 3.22/1.79 => ~ ( coinductive_lnull @ A @ ( hammin1138290136lmerge @ A @ Xs @ Ys ) ) ) ) ) ).
% 3.22/1.79
% 3.22/1.79 thf(fact_23_local_Olexordp__into__lexordp__eq,axiom,
% 3.22/1.79 ! [Xs: list @ a,Ys: list @ a] :
% 3.22/1.79 ( ( lexordp @ a @ less @ Xs @ Ys )
% 3.22/1.79 => ( lexordp_eq @ a @ less @ Xs @ Ys ) ) ).
% 3.22/1.79
% 3.22/1.79 thf(fact_24_lnull__def,axiom,
% 3.22/1.79 ! [A: $tType] :
% 3.22/1.79 ( ( coinductive_lnull @ A )
% 3.22/1.79 = ( ^ [Llist: coinductive_llist @ A] :
% 3.22/1.79 ( Llist
% 3.22/1.79 = ( coinductive_LNil @ A ) ) ) ) ).
% 3.22/1.79
% 3.22/1.79 thf(fact_25_llist_Ocollapse_I1_J,axiom,
% 3.22/1.79 ! [A: $tType,Llist2: coinductive_llist @ A] :
% 3.22/1.79 ( ( coinductive_lnull @ A @ Llist2 )
% 3.22/1.79 => ( Llist2
% 3.22/1.79 = ( coinductive_LNil @ A ) ) ) ).
% 3.22/1.79
% 3.22/1.79 thf(fact_26_llist_OdiscI_I1_J,axiom,
% 3.22/1.79 ! [A: $tType,Llist2: coinductive_llist @ A] :
% 3.22/1.79 ( ( Llist2
% 3.22/1.79 = ( coinductive_LNil @ A ) )
% 3.22/1.79 => ( coinductive_lnull @ A @ Llist2 ) ) ).
% 3.22/1.79
% 3.22/1.79 thf(fact_27_llist_Odisc_I1_J,axiom,
% 3.22/1.79 ! [A: $tType] : ( coinductive_lnull @ A @ ( coinductive_LNil @ A ) ) ).
% 3.22/1.79
% 3.22/1.79 thf(fact_28_ord__class_Olmerge_Octr_I1_J,axiom,
% 3.22/1.79 ! [A: $tType] :
% 3.22/1.79 ( ( ord @ A @ ( type2 @ A ) )
% 3.22/1.79 => ! [Xs: coinductive_llist @ A,Ys: coinductive_llist @ A] :
% 3.22/1.79 ( ( ( coinductive_lnull @ A @ Xs )
% 3.22/1.79 | ( coinductive_lnull @ A @ Ys ) )
% 3.22/1.79 => ( ( hammin1138290136lmerge @ A @ Xs @ Ys )
% 3.22/1.79 = ( coinductive_LNil @ A ) ) ) ) ).
% 3.22/1.79
% 3.22/1.79 thf(fact_29_ord__class_Olmerge_Odisc__iff_I1_J,axiom,
% 3.22/1.79 ! [A: $tType] :
% 3.22/1.79 ( ( ord @ A @ ( type2 @ A ) )
% 3.22/1.79 => ! [Xs: coinductive_llist @ A,Ys: coinductive_llist @ A] :
% 3.22/1.79 ( ( coinductive_lnull @ A @ ( hammin1138290136lmerge @ A @ Xs @ Ys ) )
% 3.22/1.79 = ( ( coinductive_lnull @ A @ Xs )
% 3.22/1.79 | ( coinductive_lnull @ A @ Ys ) ) ) ) ).
% 3.22/1.79
% 3.22/1.79 thf(fact_30_ord__class_Olmerge_Odisc__iff_I2_J,axiom,
% 3.22/1.79 ! [A: $tType] :
% 3.22/1.79 ( ( ord @ A @ ( type2 @ A ) )
% 3.22/1.79 => ! [Xs: coinductive_llist @ A,Ys: coinductive_llist @ A] :
% 3.22/1.79 ( ( ~ ( coinductive_lnull @ A @ ( hammin1138290136lmerge @ A @ Xs @ Ys ) ) )
% 3.22/1.79 = ( ~ ( coinductive_lnull @ A @ Xs )
% 3.22/1.79 & ~ ( coinductive_lnull @ A @ Ys ) ) ) ) ).
% 3.22/1.79
% 3.22/1.79 thf(fact_31_ord__class_Olmerge_Odisc_I1_J,axiom,
% 3.22/1.79 ! [A: $tType] :
% 3.22/1.79 ( ( ord @ A @ ( type2 @ A ) )
% 3.22/1.79 => ! [Xs: coinductive_llist @ A,Ys: coinductive_llist @ A] :
% 3.22/1.79 ( ( ( coinductive_lnull @ A @ Xs )
% 3.22/1.79 | ( coinductive_lnull @ A @ Ys ) )
% 3.22/1.79 => ( coinductive_lnull @ A @ ( hammin1138290136lmerge @ A @ Xs @ Ys ) ) ) ) ).
% 3.22/1.79
% 3.22/1.79 thf(fact_32_local_OgreaterThanLessThan__eq,axiom,
% 3.22/1.79 ! [A2: a,B2: a] :
% 3.22/1.79 ( ( set_gr1161524159ssThan @ a @ less @ A2 @ B2 )
% 3.22/1.79 = ( inf_inf @ ( set @ a ) @ ( set_greaterThan @ a @ less @ A2 ) @ ( set_lessThan @ a @ less @ B2 ) ) ) ).
% 3.22/1.79
% 3.22/1.79 thf(fact_33_local_OgreaterThanLessThan__def,axiom,
% 3.22/1.79 ! [L: a,U: a] :
% 3.22/1.79 ( ( set_gr1161524159ssThan @ a @ less @ L @ U )
% 3.22/1.79 = ( inf_inf @ ( set @ a ) @ ( set_greaterThan @ a @ less @ L ) @ ( set_lessThan @ a @ less @ U ) ) ) ).
% 3.22/1.79
% 3.22/1.79 thf(fact_34_local_Olexordp__eq_ONil,axiom,
% 3.22/1.79 ! [Ys: list @ a] : ( lexordp_eq @ a @ less @ ( nil @ a ) @ Ys ) ).
% 3.22/1.79
% 3.22/1.79 thf(fact_35_local_Olexordp__eq_OCons__eq,axiom,
% 3.22/1.79 ! [X2: a,Y: a,Xs: list @ a,Ys: list @ a] :
% 3.22/1.79 ( ~ ( less @ X2 @ Y )
% 3.22/1.79 => ( ~ ( less @ Y @ X2 )
% 3.22/1.79 => ( ( lexordp_eq @ a @ less @ Xs @ Ys )
% 3.22/1.79 => ( lexordp_eq @ a @ less @ ( cons @ a @ X2 @ Xs ) @ ( cons @ a @ Y @ Ys ) ) ) ) ) ).
% 3.22/1.79
% 3.22/1.79 thf(fact_36_local_Olexordp__eq_OCons,axiom,
% 3.22/1.79 ! [X2: a,Y: a,Xs: list @ a,Ys: list @ a] :
% 3.22/1.79 ( ( less @ X2 @ Y )
% 3.22/1.79 => ( lexordp_eq @ a @ less @ ( cons @ a @ X2 @ Xs ) @ ( cons @ a @ Y @ Ys ) ) ) ).
% 3.22/1.79
% 3.22/1.79 thf(fact_37_ord_Olexordp__into__lexordp__eq,axiom,
% 3.22/1.79 ! [A: $tType,Less: A > A > $o,Xs: list @ A,Ys: list @ A] :
% 3.22/1.79 ( ( lexordp @ A @ Less @ Xs @ Ys )
% 3.22/1.79 => ( lexordp_eq @ A @ Less @ Xs @ Ys ) ) ).
% 3.22/1.79
% 3.22/1.79 thf(fact_38_local_Olexordp_OCons__eq,axiom,
% 3.22/1.79 ! [X2: a,Y: a,Xs: list @ a,Ys: list @ a] :
% 3.22/1.79 ( ~ ( less @ X2 @ Y )
% 3.22/1.79 => ( ~ ( less @ Y @ X2 )
% 3.22/1.79 => ( ( lexordp @ a @ less @ Xs @ Ys )
% 3.22/1.79 => ( lexordp @ a @ less @ ( cons @ a @ X2 @ Xs ) @ ( cons @ a @ Y @ Ys ) ) ) ) ) ).
% 3.22/1.79
% 3.22/1.79 thf(fact_39_local_Olexordp_OCons,axiom,
% 3.22/1.79 ! [X2: a,Y: a,Xs: list @ a,Ys: list @ a] :
% 3.22/1.79 ( ( less @ X2 @ Y )
% 3.22/1.79 => ( lexordp @ a @ less @ ( cons @ a @ X2 @ Xs ) @ ( cons @ a @ Y @ Ys ) ) ) ).
% 3.22/1.79
% 3.22/1.79 thf(fact_40_local_Olexordp__append__leftI,axiom,
% 3.22/1.79 ! [Us: list @ a,Vs: list @ a,Xs: list @ a] :
% 3.22/1.79 ( ( lexordp @ a @ less @ Us @ Vs )
% 3.22/1.79 => ( lexordp @ a @ less @ ( append @ a @ Xs @ Us ) @ ( append @ a @ Xs @ Vs ) ) ) ).
% 3.22/1.79
% 3.22/1.79 thf(fact_41_local_Olexordp__append__leftD,axiom,
% 3.22/1.79 ! [Xs: list @ a,Us: list @ a,Vs: list @ a] :
% 3.22/1.79 ( ( lexordp @ a @ less @ ( append @ a @ Xs @ Us ) @ ( append @ a @ Xs @ Vs ) )
% 3.22/1.79 => ( ! [A3: a] :
% 3.22/1.79 ~ ( less @ A3 @ A3 )
% 3.22/1.79 => ( lexordp @ a @ less @ Us @ Vs ) ) ) ).
% 3.22/1.79
% 3.22/1.79 thf(fact_42_list_Oinject,axiom,
% 3.22/1.79 ! [A: $tType,X21: A,X22: list @ A,Y21: A,Y22: list @ A] :
% 3.22/1.79 ( ( ( cons @ A @ X21 @ X22 )
% 3.22/1.79 = ( cons @ A @ Y21 @ Y22 ) )
% 3.22/1.79 = ( ( X21 = Y21 )
% 3.22/1.79 & ( X22 = Y22 ) ) ) ).
% 3.22/1.79
% 3.22/1.79 thf(fact_43_mem__Collect__eq,axiom,
% 3.22/1.79 ! [A: $tType,A2: A,P: A > $o] :
% 3.22/1.79 ( ( member @ A @ A2 @ ( collect @ A @ P ) )
% 3.22/1.79 = ( P @ A2 ) ) ).
% 3.22/1.79
% 3.22/1.79 thf(fact_44_Collect__mem__eq,axiom,
% 3.22/1.79 ! [A: $tType,A4: set @ A] :
% 3.22/1.79 ( ( collect @ A
% 3.22/1.79 @ ^ [X3: A] : ( member @ A @ X3 @ A4 ) )
% 3.22/1.79 = A4 ) ).
% 3.22/1.79
% 3.22/1.79 thf(fact_45_Collect__cong,axiom,
% 3.22/1.79 ! [A: $tType,P: A > $o,Q: A > $o] :
% 3.22/1.79 ( ! [X: A] :
% 3.22/1.79 ( ( P @ X )
% 3.22/1.79 = ( Q @ X ) )
% 3.22/1.79 => ( ( collect @ A @ P )
% 3.22/1.79 = ( collect @ A @ Q ) ) ) ).
% 3.22/1.79
% 3.22/1.79 thf(fact_46_ext,axiom,
% 3.22/1.79 ! [B: $tType,A: $tType,F: A > B,G: A > B] :
% 3.22/1.79 ( ! [X: A] :
% 3.22/1.79 ( ( F @ X )
% 3.22/1.79 = ( G @ X ) )
% 3.22/1.79 => ( F = G ) ) ).
% 3.22/1.79
% 3.22/1.79 thf(fact_47_same__append__eq,axiom,
% 3.22/1.79 ! [A: $tType,Xs: list @ A,Ys: list @ A,Zs: list @ A] :
% 3.22/1.79 ( ( ( append @ A @ Xs @ Ys )
% 3.22/1.79 = ( append @ A @ Xs @ Zs ) )
% 3.22/1.79 = ( Ys = Zs ) ) ).
% 3.22/1.79
% 3.22/1.79 thf(fact_48_append__same__eq,axiom,
% 3.22/1.79 ! [A: $tType,Ys: list @ A,Xs: list @ A,Zs: list @ A] :
% 3.22/1.79 ( ( ( append @ A @ Ys @ Xs )
% 3.22/1.79 = ( append @ A @ Zs @ Xs ) )
% 3.22/1.79 = ( Ys = Zs ) ) ).
% 3.22/1.79
% 3.22/1.79 thf(fact_49_append__assoc,axiom,
% 3.22/1.79 ! [A: $tType,Xs: list @ A,Ys: list @ A,Zs: list @ A] :
% 3.22/1.79 ( ( append @ A @ ( append @ A @ Xs @ Ys ) @ Zs )
% 3.22/1.79 = ( append @ A @ Xs @ ( append @ A @ Ys @ Zs ) ) ) ).
% 3.22/1.79
% 3.22/1.79 thf(fact_50_local_Olexordp_ONil,axiom,
% 3.22/1.79 ! [Y: a,Ys: list @ a] : ( lexordp @ a @ less @ ( nil @ a ) @ ( cons @ a @ Y @ Ys ) ) ).
% 3.22/1.79
% 3.22/1.79 thf(fact_51_local_Olexordp_Ocases,axiom,
% 3.22/1.79 ! [A1: list @ a,A22: list @ a] :
% 3.22/1.79 ( ( lexordp @ a @ less @ A1 @ A22 )
% 3.22/1.79 => ( ( ( A1
% 3.22/1.79 = ( nil @ a ) )
% 3.22/1.79 => ! [Y2: a,Ys2: list @ a] :
% 3.22/1.79 ( A22
% 3.22/1.79 != ( cons @ a @ Y2 @ Ys2 ) ) )
% 3.22/1.79 => ( ! [X: a] :
% 3.22/1.79 ( ? [Xs2: list @ a] :
% 3.22/1.79 ( A1
% 3.22/1.79 = ( cons @ a @ X @ Xs2 ) )
% 3.22/1.79 => ! [Y2: a] :
% 3.22/1.79 ( ? [Ys2: list @ a] :
% 3.22/1.79 ( A22
% 3.22/1.79 = ( cons @ a @ Y2 @ Ys2 ) )
% 3.22/1.79 => ~ ( less @ X @ Y2 ) ) )
% 3.22/1.79 => ~ ! [X: a,Y2: a,Xs2: list @ a] :
% 3.22/1.79 ( ( A1
% 3.22/1.79 = ( cons @ a @ X @ Xs2 ) )
% 3.22/1.79 => ! [Ys2: list @ a] :
% 3.22/1.79 ( ( A22
% 3.22/1.79 = ( cons @ a @ Y2 @ Ys2 ) )
% 3.22/1.79 => ( ~ ( less @ X @ Y2 )
% 3.22/1.79 => ( ~ ( less @ Y2 @ X )
% 3.22/1.79 => ~ ( lexordp @ a @ less @ Xs2 @ Ys2 ) ) ) ) ) ) ) ) ).
% 3.22/1.79
% 3.22/1.79 thf(fact_52_local_Olexordp_Oinducts,axiom,
% 3.22/1.79 ! [X1: list @ a,X23: list @ a,P: ( list @ a ) > ( list @ a ) > $o] :
% 3.22/1.79 ( ( lexordp @ a @ less @ X1 @ X23 )
% 3.22/1.79 => ( ! [Y2: a,Ys2: list @ a] : ( P @ ( nil @ a ) @ ( cons @ a @ Y2 @ Ys2 ) )
% 3.22/1.79 => ( ! [X: a,Y2: a,Xs2: list @ a,Ys2: list @ a] :
% 3.22/1.79 ( ( less @ X @ Y2 )
% 3.22/1.79 => ( P @ ( cons @ a @ X @ Xs2 ) @ ( cons @ a @ Y2 @ Ys2 ) ) )
% 3.22/1.79 => ( ! [X: a,Y2: a,Xs2: list @ a,Ys2: list @ a] :
% 3.22/1.79 ( ~ ( less @ X @ Y2 )
% 3.22/1.79 => ( ~ ( less @ Y2 @ X )
% 3.22/1.79 => ( ( lexordp @ a @ less @ Xs2 @ Ys2 )
% 3.22/1.79 => ( ( P @ Xs2 @ Ys2 )
% 3.22/1.79 => ( P @ ( cons @ a @ X @ Xs2 ) @ ( cons @ a @ Y2 @ Ys2 ) ) ) ) ) )
% 3.22/1.79 => ( P @ X1 @ X23 ) ) ) ) ) ).
% 3.22/1.79
% 3.22/1.79 thf(fact_53_local_Olexordp_Osimps,axiom,
% 3.22/1.79 ! [A1: list @ a,A22: list @ a] :
% 3.22/1.79 ( ( lexordp @ a @ less @ A1 @ A22 )
% 3.22/1.79 = ( ? [Y3: a,Ys3: list @ a] :
% 3.22/1.79 ( ( A1
% 3.22/1.79 = ( nil @ a ) )
% 3.22/1.79 & ( A22
% 3.22/1.79 = ( cons @ a @ Y3 @ Ys3 ) ) )
% 3.22/1.79 | ? [X3: a,Y3: a,Xs3: list @ a,Ys3: list @ a] :
% 3.22/1.79 ( ( A1
% 3.22/1.79 = ( cons @ a @ X3 @ Xs3 ) )
% 3.22/1.79 & ( A22
% 3.22/1.79 = ( cons @ a @ Y3 @ Ys3 ) )
% 3.22/1.79 & ( less @ X3 @ Y3 ) )
% 3.22/1.79 | ? [X3: a,Y3: a,Xs3: list @ a,Ys3: list @ a] :
% 3.22/1.79 ( ( A1
% 3.22/1.79 = ( cons @ a @ X3 @ Xs3 ) )
% 3.22/1.79 & ( A22
% 3.22/1.79 = ( cons @ a @ Y3 @ Ys3 ) )
% 3.22/1.79 & ~ ( less @ X3 @ Y3 )
% 3.22/1.79 & ~ ( less @ Y3 @ X3 )
% 3.22/1.79 & ( lexordp @ a @ less @ Xs3 @ Ys3 ) ) ) ) ).
% 3.22/1.79
% 3.22/1.79 thf(fact_54_local_Olexordp__eq_Ocases,axiom,
% 3.22/1.79 ! [A1: list @ a,A22: list @ a] :
% 3.22/1.79 ( ( lexordp_eq @ a @ less @ A1 @ A22 )
% 3.22/1.79 => ( ( ( A1
% 3.22/1.79 = ( nil @ a ) )
% 3.22/1.79 => ! [Ys2: list @ a] : ( A22 != Ys2 ) )
% 3.22/1.79 => ( ! [X: a] :
% 3.22/1.79 ( ? [Xs2: list @ a] :
% 3.22/1.79 ( A1
% 3.22/1.79 = ( cons @ a @ X @ Xs2 ) )
% 3.22/1.79 => ! [Y2: a] :
% 3.22/1.79 ( ? [Ys2: list @ a] :
% 3.22/1.79 ( A22
% 3.22/1.79 = ( cons @ a @ Y2 @ Ys2 ) )
% 3.22/1.79 => ~ ( less @ X @ Y2 ) ) )
% 3.22/1.79 => ~ ! [X: a,Y2: a,Xs2: list @ a] :
% 3.22/1.79 ( ( A1
% 3.22/1.79 = ( cons @ a @ X @ Xs2 ) )
% 3.22/1.79 => ! [Ys2: list @ a] :
% 3.22/1.79 ( ( A22
% 3.22/1.79 = ( cons @ a @ Y2 @ Ys2 ) )
% 3.22/1.79 => ( ~ ( less @ X @ Y2 )
% 3.22/1.79 => ( ~ ( less @ Y2 @ X )
% 3.22/1.79 => ~ ( lexordp_eq @ a @ less @ Xs2 @ Ys2 ) ) ) ) ) ) ) ) ).
% 3.22/1.79
% 3.22/1.79 thf(fact_55_local_Olexordp__eq_Oinducts,axiom,
% 3.22/1.79 ! [X1: list @ a,X23: list @ a,P: ( list @ a ) > ( list @ a ) > $o] :
% 3.22/1.79 ( ( lexordp_eq @ a @ less @ X1 @ X23 )
% 3.22/1.79 => ( ! [X12: list @ a] : ( P @ ( nil @ a ) @ X12 )
% 3.22/1.79 => ( ! [X: a,Y2: a,Xs2: list @ a,Ys2: list @ a] :
% 3.22/1.79 ( ( less @ X @ Y2 )
% 3.22/1.79 => ( P @ ( cons @ a @ X @ Xs2 ) @ ( cons @ a @ Y2 @ Ys2 ) ) )
% 3.22/1.79 => ( ! [X: a,Y2: a,Xs2: list @ a,Ys2: list @ a] :
% 3.22/1.79 ( ~ ( less @ X @ Y2 )
% 3.22/1.79 => ( ~ ( less @ Y2 @ X )
% 3.22/1.79 => ( ( lexordp_eq @ a @ less @ Xs2 @ Ys2 )
% 3.22/1.79 => ( ( P @ Xs2 @ Ys2 )
% 3.22/1.79 => ( P @ ( cons @ a @ X @ Xs2 ) @ ( cons @ a @ Y2 @ Ys2 ) ) ) ) ) )
% 3.22/1.79 => ( P @ X1 @ X23 ) ) ) ) ) ).
% 3.22/1.79
% 3.22/1.79 thf(fact_56_local_Olexordp__eq_Osimps,axiom,
% 3.22/1.79 ! [A1: list @ a,A22: list @ a] :
% 3.22/1.79 ( ( lexordp_eq @ a @ less @ A1 @ A22 )
% 3.22/1.79 = ( ? [Ys3: list @ a] :
% 3.22/1.79 ( ( A1
% 3.22/1.79 = ( nil @ a ) )
% 3.22/1.79 & ( A22 = Ys3 ) )
% 3.22/1.79 | ? [X3: a,Y3: a,Xs3: list @ a,Ys3: list @ a] :
% 3.22/1.79 ( ( A1
% 3.22/1.79 = ( cons @ a @ X3 @ Xs3 ) )
% 3.22/1.79 & ( A22
% 3.22/1.79 = ( cons @ a @ Y3 @ Ys3 ) )
% 3.22/1.79 & ( less @ X3 @ Y3 ) )
% 3.22/1.79 | ? [X3: a,Y3: a,Xs3: list @ a,Ys3: list @ a] :
% 3.22/1.79 ( ( A1
% 3.22/1.79 = ( cons @ a @ X3 @ Xs3 ) )
% 3.22/1.79 & ( A22
% 3.22/1.79 = ( cons @ a @ Y3 @ Ys3 ) )
% 3.22/1.79 & ~ ( less @ X3 @ Y3 )
% 3.22/1.79 & ~ ( less @ Y3 @ X3 )
% 3.22/1.79 & ( lexordp_eq @ a @ less @ Xs3 @ Ys3 ) ) ) ) ).
% 3.22/1.79
% 3.22/1.79 thf(fact_57_local_Olexordp__append__left__rightI,axiom,
% 3.22/1.79 ! [X2: a,Y: a,Us: list @ a,Xs: list @ a,Ys: list @ a] :
% 3.22/1.79 ( ( less @ X2 @ Y )
% 3.22/1.79 => ( lexordp @ a @ less @ ( append @ a @ Us @ ( cons @ a @ X2 @ Xs ) ) @ ( append @ a @ Us @ ( cons @ a @ Y @ Ys ) ) ) ) ).
% 3.22/1.79
% 3.22/1.79 thf(fact_58_local_Olexordp__append__rightI,axiom,
% 3.22/1.79 ! [Ys: list @ a,Xs: list @ a] :
% 3.22/1.79 ( ( Ys
% 3.22/1.79 != ( nil @ a ) )
% 3.22/1.79 => ( lexordp @ a @ less @ Xs @ ( append @ a @ Xs @ Ys ) ) ) ).
% 3.22/1.79
% 3.22/1.79 thf(fact_59_append__is__Nil__conv,axiom,
% 3.22/1.79 ! [A: $tType,Xs: list @ A,Ys: list @ A] :
% 3.22/1.79 ( ( ( append @ A @ Xs @ Ys )
% 3.22/1.79 = ( nil @ A ) )
% 3.22/1.79 = ( ( Xs
% 3.22/1.79 = ( nil @ A ) )
% 3.22/1.79 & ( Ys
% 3.22/1.79 = ( nil @ A ) ) ) ) ).
% 3.22/1.79
% 3.22/1.79 thf(fact_60_Nil__is__append__conv,axiom,
% 3.22/1.79 ! [A: $tType,Xs: list @ A,Ys: list @ A] :
% 3.22/1.79 ( ( ( nil @ A )
% 3.22/1.79 = ( append @ A @ Xs @ Ys ) )
% 3.22/1.79 = ( ( Xs
% 3.22/1.79 = ( nil @ A ) )
% 3.22/1.79 & ( Ys
% 3.22/1.79 = ( nil @ A ) ) ) ) ).
% 3.22/1.79
% 3.22/1.79 thf(fact_61_self__append__conv2,axiom,
% 3.22/1.79 ! [A: $tType,Ys: list @ A,Xs: list @ A] :
% 3.22/1.79 ( ( Ys
% 3.22/1.79 = ( append @ A @ Xs @ Ys ) )
% 3.22/1.79 = ( Xs
% 3.22/1.79 = ( nil @ A ) ) ) ).
% 3.22/1.79
% 3.22/1.79 thf(fact_62_append__self__conv2,axiom,
% 3.22/1.79 ! [A: $tType,Xs: list @ A,Ys: list @ A] :
% 3.22/1.79 ( ( ( append @ A @ Xs @ Ys )
% 3.22/1.79 = Ys )
% 3.22/1.79 = ( Xs
% 3.22/1.79 = ( nil @ A ) ) ) ).
% 3.22/1.79
% 3.22/1.79 thf(fact_63_self__append__conv,axiom,
% 3.22/1.79 ! [A: $tType,Xs: list @ A,Ys: list @ A] :
% 3.22/1.79 ( ( Xs
% 3.22/1.79 = ( append @ A @ Xs @ Ys ) )
% 3.22/1.79 = ( Ys
% 3.22/1.79 = ( nil @ A ) ) ) ).
% 3.22/1.79
% 3.22/1.79 thf(fact_64_append__self__conv,axiom,
% 3.22/1.79 ! [A: $tType,Xs: list @ A,Ys: list @ A] :
% 3.22/1.79 ( ( ( append @ A @ Xs @ Ys )
% 3.22/1.79 = Xs )
% 3.22/1.79 = ( Ys
% 3.22/1.79 = ( nil @ A ) ) ) ).
% 3.22/1.79
% 3.22/1.79 thf(fact_65_append__Nil2,axiom,
% 3.22/1.79 ! [A: $tType,Xs: list @ A] :
% 3.22/1.79 ( ( append @ A @ Xs @ ( nil @ A ) )
% 3.22/1.79 = Xs ) ).
% 3.22/1.79
% 3.22/1.79 thf(fact_66_ord_Olexordp__simps_I3_J,axiom,
% 3.22/1.79 ! [A: $tType,Less: A > A > $o,X2: A,Xs: list @ A,Y: A,Ys: list @ A] :
% 3.22/1.79 ( ( lexordp @ A @ Less @ ( cons @ A @ X2 @ Xs ) @ ( cons @ A @ Y @ Ys ) )
% 3.22/1.79 = ( ( Less @ X2 @ Y )
% 3.22/1.79 | ( ~ ( Less @ Y @ X2 )
% 3.22/1.79 & ( lexordp @ A @ Less @ Xs @ Ys ) ) ) ) ).
% 3.22/1.79
% 3.22/1.79 thf(fact_67_ord_Olexordp__eq__simps_I4_J,axiom,
% 3.22/1.79 ! [A: $tType,Less: A > A > $o,X2: A,Xs: list @ A,Y: A,Ys: list @ A] :
% 3.22/1.79 ( ( lexordp_eq @ A @ Less @ ( cons @ A @ X2 @ Xs ) @ ( cons @ A @ Y @ Ys ) )
% 3.22/1.79 = ( ( Less @ X2 @ Y )
% 3.22/1.79 | ( ~ ( Less @ Y @ X2 )
% 3.22/1.79 & ( lexordp_eq @ A @ Less @ Xs @ Ys ) ) ) ) ).
% 3.22/1.79
% 3.22/1.79 thf(fact_68_ord_Olexordp__simps_I1_J,axiom,
% 3.22/1.79 ! [A: $tType,Less: A > A > $o,Ys: list @ A] :
% 3.22/1.79 ( ( lexordp @ A @ Less @ ( nil @ A ) @ Ys )
% 3.22/1.79 = ( Ys
% 3.22/1.79 != ( nil @ A ) ) ) ).
% 3.22/1.79
% 3.22/1.79 thf(fact_69_ord_Olexordp__simps_I2_J,axiom,
% 3.22/1.79 ! [A: $tType,Less: A > A > $o,Xs: list @ A] :
% 3.22/1.79 ~ ( lexordp @ A @ Less @ Xs @ ( nil @ A ) ) ).
% 3.22/1.79
% 3.22/1.79 thf(fact_70_ord_Olexordp__eq__simps_I1_J,axiom,
% 3.22/1.79 ! [A: $tType,Less: A > A > $o,Ys: list @ A] : ( lexordp_eq @ A @ Less @ ( nil @ A ) @ Ys ) ).
% 3.22/1.79
% 3.22/1.79 thf(fact_71_ord_Olexordp__eq__simps_I2_J,axiom,
% 3.22/1.79 ! [A: $tType,Less: A > A > $o,Xs: list @ A] :
% 3.22/1.79 ( ( lexordp_eq @ A @ Less @ Xs @ ( nil @ A ) )
% 3.22/1.79 = ( Xs
% 3.22/1.79 = ( nil @ A ) ) ) ).
% 3.22/1.79
% 3.22/1.79 thf(fact_72_append1__eq__conv,axiom,
% 3.22/1.79 ! [A: $tType,Xs: list @ A,X2: A,Ys: list @ A,Y: A] :
% 3.22/1.79 ( ( ( append @ A @ Xs @ ( cons @ A @ X2 @ ( nil @ A ) ) )
% 3.22/1.79 = ( append @ A @ Ys @ ( cons @ A @ Y @ ( nil @ A ) ) ) )
% 3.22/1.79 = ( ( Xs = Ys )
% 3.22/1.79 & ( X2 = Y ) ) ) ).
% 3.22/1.79
% 3.22/1.79 thf(fact_73_ord_Olexordp__eq__simps_I3_J,axiom,
% 3.22/1.79 ! [A: $tType,Less: A > A > $o,X2: A,Xs: list @ A] :
% 3.22/1.79 ~ ( lexordp_eq @ A @ Less @ ( cons @ A @ X2 @ Xs ) @ ( nil @ A ) ) ).
% 3.22/1.79
% 3.22/1.79 thf(fact_74_local_Olexordp__simps_I3_J,axiom,
% 3.22/1.79 ! [X2: a,Xs: list @ a,Y: a,Ys: list @ a] :
% 3.22/1.79 ( ( lexordp @ a @ less @ ( cons @ a @ X2 @ Xs ) @ ( cons @ a @ Y @ Ys ) )
% 3.22/1.79 = ( ( less @ X2 @ Y )
% 3.22/1.79 | ( ~ ( less @ Y @ X2 )
% 3.22/1.79 & ( lexordp @ a @ less @ Xs @ Ys ) ) ) ) ).
% 3.22/1.79
% 3.22/1.79 thf(fact_75_local_Olexordp__eq__simps_I4_J,axiom,
% 3.22/1.79 ! [X2: a,Xs: list @ a,Y: a,Ys: list @ a] :
% 3.22/1.79 ( ( lexordp_eq @ a @ less @ ( cons @ a @ X2 @ Xs ) @ ( cons @ a @ Y @ Ys ) )
% 3.22/1.79 = ( ( less @ X2 @ Y )
% 3.22/1.79 | ( ~ ( less @ Y @ X2 )
% 3.22/1.79 & ( lexordp_eq @ a @ less @ Xs @ Ys ) ) ) ) ).
% 3.22/1.79
% 3.22/1.79 thf(fact_76_local_Olexordp__simps_I2_J,axiom,
% 3.22/1.79 ! [Xs: list @ a] :
% 3.22/1.79 ~ ( lexordp @ a @ less @ Xs @ ( nil @ a ) ) ).
% 3.22/1.79
% 3.22/1.79 thf(fact_77_local_Olexordp__simps_I1_J,axiom,
% 3.22/1.79 ! [Ys: list @ a] :
% 3.22/1.79 ( ( lexordp @ a @ less @ ( nil @ a ) @ Ys )
% 3.22/1.79 = ( Ys
% 3.22/1.79 != ( nil @ a ) ) ) ).
% 3.22/1.79
% 3.22/1.79 thf(fact_78_local_Olexordp__eq__simps_I2_J,axiom,
% 3.22/1.79 ! [Xs: list @ a] :
% 3.22/1.79 ( ( lexordp_eq @ a @ less @ Xs @ ( nil @ a ) )
% 3.22/1.79 = ( Xs
% 3.22/1.79 = ( nil @ a ) ) ) ).
% 3.22/1.79
% 3.22/1.79 thf(fact_79_local_Olexordp__eq__simps_I1_J,axiom,
% 3.22/1.79 ! [Ys: list @ a] : ( lexordp_eq @ a @ less @ ( nil @ a ) @ Ys ) ).
% 3.22/1.79
% 3.22/1.79 thf(fact_80_local_Olexordp__eq__simps_I3_J,axiom,
% 3.22/1.79 ! [X2: a,Xs: list @ a] :
% 3.22/1.79 ~ ( lexordp_eq @ a @ less @ ( cons @ a @ X2 @ Xs ) @ ( nil @ a ) ) ).
% 3.22/1.79
% 3.22/1.79 thf(fact_81_ord_Olexordp_ONil,axiom,
% 3.22/1.79 ! [A: $tType,Less: A > A > $o,Y: A,Ys: list @ A] : ( lexordp @ A @ Less @ ( nil @ A ) @ ( cons @ A @ Y @ Ys ) ) ).
% 3.22/1.79
% 3.22/1.79 thf(fact_82_ord_Olexordp_Ocases,axiom,
% 3.22/1.79 ! [A: $tType,Less: A > A > $o,A1: list @ A,A22: list @ A] :
% 3.22/1.79 ( ( lexordp @ A @ Less @ A1 @ A22 )
% 3.22/1.79 => ( ( ( A1
% 3.22/1.79 = ( nil @ A ) )
% 3.22/1.79 => ! [Y2: A,Ys2: list @ A] :
% 3.22/1.79 ( A22
% 3.22/1.79 != ( cons @ A @ Y2 @ Ys2 ) ) )
% 3.22/1.79 => ( ! [X: A] :
% 3.22/1.79 ( ? [Xs2: list @ A] :
% 3.22/1.79 ( A1
% 3.22/1.79 = ( cons @ A @ X @ Xs2 ) )
% 3.22/1.79 => ! [Y2: A] :
% 3.22/1.79 ( ? [Ys2: list @ A] :
% 3.22/1.79 ( A22
% 3.22/1.79 = ( cons @ A @ Y2 @ Ys2 ) )
% 3.22/1.79 => ~ ( Less @ X @ Y2 ) ) )
% 3.22/1.79 => ~ ! [X: A,Y2: A,Xs2: list @ A] :
% 3.22/1.79 ( ( A1
% 3.22/1.79 = ( cons @ A @ X @ Xs2 ) )
% 3.22/1.79 => ! [Ys2: list @ A] :
% 3.22/1.79 ( ( A22
% 3.22/1.79 = ( cons @ A @ Y2 @ Ys2 ) )
% 3.22/1.79 => ( ~ ( Less @ X @ Y2 )
% 3.22/1.79 => ( ~ ( Less @ Y2 @ X )
% 3.22/1.79 => ~ ( lexordp @ A @ Less @ Xs2 @ Ys2 ) ) ) ) ) ) ) ) ).
% 3.22/1.79
% 3.22/1.79 thf(fact_83_ord_Olexordp_Osimps,axiom,
% 3.22/1.79 ! [A: $tType] :
% 3.22/1.79 ( ( lexordp @ A )
% 3.22/1.79 = ( ^ [Less2: A > A > $o,A12: list @ A,A23: list @ A] :
% 3.22/1.79 ( ? [Y3: A,Ys3: list @ A] :
% 3.22/1.79 ( ( A12
% 3.22/1.79 = ( nil @ A ) )
% 3.22/1.79 & ( A23
% 3.22/1.79 = ( cons @ A @ Y3 @ Ys3 ) ) )
% 3.22/1.79 | ? [X3: A,Y3: A,Xs3: list @ A,Ys3: list @ A] :
% 3.22/1.79 ( ( A12
% 3.22/1.79 = ( cons @ A @ X3 @ Xs3 ) )
% 3.22/1.79 & ( A23
% 3.22/1.79 = ( cons @ A @ Y3 @ Ys3 ) )
% 3.22/1.79 & ( Less2 @ X3 @ Y3 ) )
% 3.22/1.79 | ? [X3: A,Y3: A,Xs3: list @ A,Ys3: list @ A] :
% 3.22/1.79 ( ( A12
% 3.22/1.79 = ( cons @ A @ X3 @ Xs3 ) )
% 3.22/1.79 & ( A23
% 3.22/1.79 = ( cons @ A @ Y3 @ Ys3 ) )
% 3.22/1.79 & ~ ( Less2 @ X3 @ Y3 )
% 3.22/1.79 & ~ ( Less2 @ Y3 @ X3 )
% 3.22/1.79 & ( lexordp @ A @ Less2 @ Xs3 @ Ys3 ) ) ) ) ) ).
% 3.22/1.79
% 3.22/1.79 thf(fact_84_ord_Olexordp_Oinducts,axiom,
% 3.22/1.79 ! [A: $tType,Less: A > A > $o,X1: list @ A,X23: list @ A,P: ( list @ A ) > ( list @ A ) > $o] :
% 3.22/1.79 ( ( lexordp @ A @ Less @ X1 @ X23 )
% 3.22/1.79 => ( ! [Y2: A,Ys2: list @ A] : ( P @ ( nil @ A ) @ ( cons @ A @ Y2 @ Ys2 ) )
% 3.22/1.79 => ( ! [X: A,Y2: A,Xs2: list @ A,Ys2: list @ A] :
% 3.22/1.79 ( ( Less @ X @ Y2 )
% 3.22/1.79 => ( P @ ( cons @ A @ X @ Xs2 ) @ ( cons @ A @ Y2 @ Ys2 ) ) )
% 3.22/1.79 => ( ! [X: A,Y2: A,Xs2: list @ A,Ys2: list @ A] :
% 3.22/1.79 ( ~ ( Less @ X @ Y2 )
% 3.22/1.79 => ( ~ ( Less @ Y2 @ X )
% 3.22/1.79 => ( ( lexordp @ A @ Less @ Xs2 @ Ys2 )
% 3.22/1.79 => ( ( P @ Xs2 @ Ys2 )
% 3.22/1.79 => ( P @ ( cons @ A @ X @ Xs2 ) @ ( cons @ A @ Y2 @ Ys2 ) ) ) ) ) )
% 3.22/1.79 => ( P @ X1 @ X23 ) ) ) ) ) ).
% 3.22/1.79
% 3.22/1.79 thf(fact_85_ord_Olexordp__eq_Ocases,axiom,
% 3.22/1.79 ! [A: $tType,Less: A > A > $o,A1: list @ A,A22: list @ A] :
% 3.22/1.79 ( ( lexordp_eq @ A @ Less @ A1 @ A22 )
% 3.22/1.79 => ( ( ( A1
% 3.22/1.79 = ( nil @ A ) )
% 3.22/1.79 => ! [Ys2: list @ A] : ( A22 != Ys2 ) )
% 3.22/1.79 => ( ! [X: A] :
% 3.22/1.79 ( ? [Xs2: list @ A] :
% 3.22/1.79 ( A1
% 3.22/1.79 = ( cons @ A @ X @ Xs2 ) )
% 3.22/1.79 => ! [Y2: A] :
% 3.22/1.79 ( ? [Ys2: list @ A] :
% 3.22/1.79 ( A22
% 3.22/1.79 = ( cons @ A @ Y2 @ Ys2 ) )
% 3.22/1.79 => ~ ( Less @ X @ Y2 ) ) )
% 3.22/1.79 => ~ ! [X: A,Y2: A,Xs2: list @ A] :
% 3.22/1.79 ( ( A1
% 3.22/1.79 = ( cons @ A @ X @ Xs2 ) )
% 3.22/1.79 => ! [Ys2: list @ A] :
% 3.22/1.79 ( ( A22
% 3.22/1.79 = ( cons @ A @ Y2 @ Ys2 ) )
% 3.22/1.79 => ( ~ ( Less @ X @ Y2 )
% 3.22/1.79 => ( ~ ( Less @ Y2 @ X )
% 3.22/1.79 => ~ ( lexordp_eq @ A @ Less @ Xs2 @ Ys2 ) ) ) ) ) ) ) ) ).
% 3.22/1.79
% 3.22/1.79 thf(fact_86_ord_Olexordp__eq_Osimps,axiom,
% 3.22/1.79 ! [A: $tType] :
% 3.22/1.79 ( ( lexordp_eq @ A )
% 3.22/1.79 = ( ^ [Less2: A > A > $o,A12: list @ A,A23: list @ A] :
% 3.22/1.79 ( ? [Ys3: list @ A] :
% 3.22/1.79 ( ( A12
% 3.22/1.79 = ( nil @ A ) )
% 3.22/1.79 & ( A23 = Ys3 ) )
% 3.22/1.79 | ? [X3: A,Y3: A,Xs3: list @ A,Ys3: list @ A] :
% 3.22/1.79 ( ( A12
% 3.22/1.79 = ( cons @ A @ X3 @ Xs3 ) )
% 3.22/1.79 & ( A23
% 3.22/1.79 = ( cons @ A @ Y3 @ Ys3 ) )
% 3.22/1.79 & ( Less2 @ X3 @ Y3 ) )
% 3.22/1.79 | ? [X3: A,Y3: A,Xs3: list @ A,Ys3: list @ A] :
% 3.22/1.79 ( ( A12
% 3.22/1.79 = ( cons @ A @ X3 @ Xs3 ) )
% 3.22/1.79 & ( A23
% 3.22/1.79 = ( cons @ A @ Y3 @ Ys3 ) )
% 3.22/1.79 & ~ ( Less2 @ X3 @ Y3 )
% 3.22/1.79 & ~ ( Less2 @ Y3 @ X3 )
% 3.22/1.79 & ( lexordp_eq @ A @ Less2 @ Xs3 @ Ys3 ) ) ) ) ) ).
% 3.22/1.79
% 3.22/1.79 thf(fact_87_ord_Olexordp__eq_Oinducts,axiom,
% 3.22/1.79 ! [A: $tType,Less: A > A > $o,X1: list @ A,X23: list @ A,P: ( list @ A ) > ( list @ A ) > $o] :
% 3.22/1.79 ( ( lexordp_eq @ A @ Less @ X1 @ X23 )
% 3.22/1.79 => ( ! [X12: list @ A] : ( P @ ( nil @ A ) @ X12 )
% 3.22/1.79 => ( ! [X: A,Y2: A,Xs2: list @ A,Ys2: list @ A] :
% 3.22/1.79 ( ( Less @ X @ Y2 )
% 3.22/1.79 => ( P @ ( cons @ A @ X @ Xs2 ) @ ( cons @ A @ Y2 @ Ys2 ) ) )
% 3.22/1.79 => ( ! [X: A,Y2: A,Xs2: list @ A,Ys2: list @ A] :
% 3.22/1.79 ( ~ ( Less @ X @ Y2 )
% 3.22/1.79 => ( ~ ( Less @ Y2 @ X )
% 3.22/1.79 => ( ( lexordp_eq @ A @ Less @ Xs2 @ Ys2 )
% 3.22/1.79 => ( ( P @ Xs2 @ Ys2 )
% 3.22/1.79 => ( P @ ( cons @ A @ X @ Xs2 ) @ ( cons @ A @ Y2 @ Ys2 ) ) ) ) ) )
% 3.22/1.79 => ( P @ X1 @ X23 ) ) ) ) ) ).
% 3.22/1.79
% 3.22/1.79 thf(fact_88_ord_Olexordp__append__rightI,axiom,
% 3.22/1.79 ! [A: $tType,Ys: list @ A,Less: A > A > $o,Xs: list @ A] :
% 3.22/1.79 ( ( Ys
% 3.22/1.79 != ( nil @ A ) )
% 3.22/1.79 => ( lexordp @ A @ Less @ Xs @ ( append @ A @ Xs @ Ys ) ) ) ).
% 3.22/1.79
% 3.22/1.79 thf(fact_89_ord_Olexordp__append__left__rightI,axiom,
% 3.22/1.79 ! [A: $tType,Less: A > A > $o,X2: A,Y: A,Us: list @ A,Xs: list @ A,Ys: list @ A] :
% 3.22/1.79 ( ( Less @ X2 @ Y )
% 3.22/1.79 => ( lexordp @ A @ Less @ ( append @ A @ Us @ ( cons @ A @ X2 @ Xs ) ) @ ( append @ A @ Us @ ( cons @ A @ Y @ Ys ) ) ) ) ).
% 3.22/1.79
% 3.22/1.79 thf(fact_90_map__tailrec__rev_Oinduct,axiom,
% 3.22/1.79 ! [A: $tType,B: $tType,P: ( A > B ) > ( list @ A ) > ( list @ B ) > $o,A0: A > B,A1: list @ A,A22: list @ B] :
% 3.22/1.79 ( ! [F2: A > B,X12: list @ B] : ( P @ F2 @ ( nil @ A ) @ X12 )
% 3.22/1.79 => ( ! [F2: A > B,A3: A,As: list @ A,Bs: list @ B] :
% 3.22/1.79 ( ( P @ F2 @ As @ ( cons @ B @ ( F2 @ A3 ) @ Bs ) )
% 3.22/1.79 => ( P @ F2 @ ( cons @ A @ A3 @ As ) @ Bs ) )
% 3.22/1.79 => ( P @ A0 @ A1 @ A22 ) ) ) ).
% 3.22/1.79
% 3.22/1.79 thf(fact_91_append__eq__append__conv2,axiom,
% 3.22/1.79 ! [A: $tType,Xs: list @ A,Ys: list @ A,Zs: list @ A,Ts: list @ A] :
% 3.22/1.79 ( ( ( append @ A @ Xs @ Ys )
% 3.22/1.79 = ( append @ A @ Zs @ Ts ) )
% 3.22/1.79 = ( ? [Us2: list @ A] :
% 3.22/1.79 ( ( ( Xs
% 3.22/1.79 = ( append @ A @ Zs @ Us2 ) )
% 3.22/1.79 & ( ( append @ A @ Us2 @ Ys )
% 3.22/1.79 = Ts ) )
% 3.22/1.79 | ( ( ( append @ A @ Xs @ Us2 )
% 3.22/1.79 = Zs )
% 3.22/1.79 & ( Ys
% 3.22/1.79 = ( append @ A @ Us2 @ Ts ) ) ) ) ) ) ).
% 3.22/1.79
% 3.22/1.79 thf(fact_92_list__nonempty__induct,axiom,
% 3.22/1.79 ! [A: $tType,Xs: list @ A,P: ( list @ A ) > $o] :
% 3.22/1.79 ( ( Xs
% 3.22/1.79 != ( nil @ A ) )
% 3.22/1.79 => ( ! [X: A] : ( P @ ( cons @ A @ X @ ( nil @ A ) ) )
% 3.22/1.79 => ( ! [X: A,Xs2: list @ A] :
% 3.22/1.79 ( ( Xs2
% 3.22/1.79 != ( nil @ A ) )
% 3.22/1.79 => ( ( P @ Xs2 )
% 3.22/1.79 => ( P @ ( cons @ A @ X @ Xs2 ) ) ) )
% 3.22/1.79 => ( P @ Xs ) ) ) ) ).
% 3.22/1.79
% 3.22/1.79 thf(fact_93_rev__nonempty__induct,axiom,
% 3.22/1.79 ! [A: $tType,Xs: list @ A,P: ( list @ A ) > $o] :
% 3.22/1.79 ( ( Xs
% 3.22/1.79 != ( nil @ A ) )
% 3.22/1.79 => ( ! [X: A] : ( P @ ( cons @ A @ X @ ( nil @ A ) ) )
% 3.22/1.79 => ( ! [X: A,Xs2: list @ A] :
% 3.22/1.79 ( ( Xs2
% 3.22/1.79 != ( nil @ A ) )
% 3.22/1.79 => ( ( P @ Xs2 )
% 3.22/1.79 => ( P @ ( append @ A @ Xs2 @ ( cons @ A @ X @ ( nil @ A ) ) ) ) ) )
% 3.22/1.79 => ( P @ Xs ) ) ) ) ).
% 3.22/1.79
% 3.22/1.79 thf(fact_94_append__eq__Cons__conv,axiom,
% 3.22/1.79 ! [A: $tType,Ys: list @ A,Zs: list @ A,X2: A,Xs: list @ A] :
% 3.22/1.79 ( ( ( append @ A @ Ys @ Zs )
% 3.22/1.79 = ( cons @ A @ X2 @ Xs ) )
% 3.22/1.79 = ( ( ( Ys
% 3.22/1.79 = ( nil @ A ) )
% 3.22/1.79 & ( Zs
% 3.22/1.79 = ( cons @ A @ X2 @ Xs ) ) )
% 3.22/1.79 | ? [Ys4: list @ A] :
% 3.22/1.79 ( ( Ys
% 3.22/1.79 = ( cons @ A @ X2 @ Ys4 ) )
% 3.22/1.79 & ( ( append @ A @ Ys4 @ Zs )
% 3.22/1.79 = Xs ) ) ) ) ).
% 3.22/1.79
% 3.22/1.79 thf(fact_95_Cons__eq__append__conv,axiom,
% 3.22/1.79 ! [A: $tType,X2: A,Xs: list @ A,Ys: list @ A,Zs: list @ A] :
% 3.22/1.79 ( ( ( cons @ A @ X2 @ Xs )
% 3.22/1.79 = ( append @ A @ Ys @ Zs ) )
% 3.22/1.79 = ( ( ( Ys
% 3.22/1.79 = ( nil @ A ) )
% 3.22/1.79 & ( ( cons @ A @ X2 @ Xs )
% 3.22/1.79 = Zs ) )
% 3.22/1.79 | ? [Ys4: list @ A] :
% 3.22/1.79 ( ( ( cons @ A @ X2 @ Ys4 )
% 3.22/1.79 = Ys )
% 3.22/1.79 & ( Xs
% 3.22/1.79 = ( append @ A @ Ys4 @ Zs ) ) ) ) ) ).
% 3.22/1.79
% 3.22/1.79 thf(fact_96_remdups__adj_Oinduct,axiom,
% 3.22/1.79 ! [A: $tType,P: ( list @ A ) > $o,A0: list @ A] :
% 3.22/1.79 ( ( P @ ( nil @ A ) )
% 3.22/1.79 => ( ! [X: A] : ( P @ ( cons @ A @ X @ ( nil @ A ) ) )
% 3.22/1.79 => ( ! [X: A,Y2: A,Xs2: list @ A] :
% 3.22/1.79 ( ( ( X = Y2 )
% 3.22/1.79 => ( P @ ( cons @ A @ X @ Xs2 ) ) )
% 3.22/1.79 => ( ( ( X != Y2 )
% 3.22/1.79 => ( P @ ( cons @ A @ Y2 @ Xs2 ) ) )
% 3.22/1.79 => ( P @ ( cons @ A @ X @ ( cons @ A @ Y2 @ Xs2 ) ) ) ) )
% 3.22/1.79 => ( P @ A0 ) ) ) ) ).
% 3.22/1.79
% 3.22/1.79 thf(fact_97_append__Cons,axiom,
% 3.22/1.79 ! [A: $tType,X2: A,Xs: list @ A,Ys: list @ A] :
% 3.22/1.79 ( ( append @ A @ ( cons @ A @ X2 @ Xs ) @ Ys )
% 3.22/1.79 = ( cons @ A @ X2 @ ( append @ A @ Xs @ Ys ) ) ) ).
% 3.22/1.79
% 3.22/1.79 thf(fact_98_remdups__adj_Ocases,axiom,
% 3.22/1.79 ! [A: $tType,X2: list @ A] :
% 3.22/1.79 ( ( X2
% 3.22/1.79 != ( nil @ A ) )
% 3.22/1.79 => ( ! [X: A] :
% 3.22/1.79 ( X2
% 3.22/1.79 != ( cons @ A @ X @ ( nil @ A ) ) )
% 3.22/1.79 => ~ ! [X: A,Y2: A,Xs2: list @ A] :
% 3.22/1.79 ( X2
% 3.22/1.79 != ( cons @ A @ X @ ( cons @ A @ Y2 @ Xs2 ) ) ) ) ) ).
% 3.22/1.79
% 3.22/1.79 thf(fact_99_append__eq__appendI,axiom,
% 3.22/1.79 ! [A: $tType,Xs: list @ A,Xs1: list @ A,Zs: list @ A,Ys: list @ A,Us: list @ A] :
% 3.22/1.79 ( ( ( append @ A @ Xs @ Xs1 )
% 3.22/1.79 = Zs )
% 3.22/1.79 => ( ( Ys
% 3.22/1.79 = ( append @ A @ Xs1 @ Us ) )
% 3.22/1.79 => ( ( append @ A @ Xs @ Ys )
% 3.22/1.79 = ( append @ A @ Zs @ Us ) ) ) ) ).
% 3.22/1.79
% 3.22/1.79 thf(fact_100_append__Nil,axiom,
% 3.22/1.79 ! [A: $tType,Ys: list @ A] :
% 3.22/1.79 ( ( append @ A @ ( nil @ A ) @ Ys )
% 3.22/1.79 = Ys ) ).
% 3.22/1.79
% 3.22/1.79 thf(fact_101_transpose_Ocases,axiom,
% 3.22/1.79 ! [A: $tType,X2: list @ ( list @ A )] :
% 3.22/1.79 ( ( X2
% 3.22/1.79 != ( nil @ ( list @ A ) ) )
% 3.22/1.79 => ( ! [Xss: list @ ( list @ A )] :
% 3.22/1.79 ( X2
% 3.22/1.79 != ( cons @ ( list @ A ) @ ( nil @ A ) @ Xss ) )
% 3.22/1.79 => ~ ! [X: A,Xs2: list @ A,Xss: list @ ( list @ A )] :
% 3.22/1.79 ( X2
% 3.22/1.79 != ( cons @ ( list @ A ) @ ( cons @ A @ X @ Xs2 ) @ Xss ) ) ) ) ).
% 3.22/1.79
% 3.22/1.79 thf(fact_102_Cons__eq__appendI,axiom,
% 3.22/1.79 ! [A: $tType,X2: A,Xs1: list @ A,Ys: list @ A,Xs: list @ A,Zs: list @ A] :
% 3.22/1.79 ( ( ( cons @ A @ X2 @ Xs1 )
% 3.22/1.79 = Ys )
% 3.22/1.79 => ( ( Xs
% 3.22/1.79 = ( append @ A @ Xs1 @ Zs ) )
% 3.22/1.79 => ( ( cons @ A @ X2 @ Xs )
% 3.22/1.79 = ( append @ A @ Ys @ Zs ) ) ) ) ).
% 3.22/1.79
% 3.22/1.79 thf(fact_103_not__Cons__self2,axiom,
% 3.22/1.79 ! [A: $tType,X2: A,Xs: list @ A] :
% 3.22/1.79 ( ( cons @ A @ X2 @ Xs )
% 3.22/1.79 != Xs ) ).
% 3.22/1.79
% 3.22/1.79 thf(fact_104_eq__Nil__appendI,axiom,
% 3.22/1.79 ! [A: $tType,Xs: list @ A,Ys: list @ A] :
% 3.22/1.79 ( ( Xs = Ys )
% 3.22/1.79 => ( Xs
% 3.22/1.79 = ( append @ A @ ( nil @ A ) @ Ys ) ) ) ).
% 3.22/1.79
% 3.22/1.79 thf(fact_105_splice_Oinduct,axiom,
% 3.22/1.79 ! [A: $tType,P: ( list @ A ) > ( list @ A ) > $o,A0: list @ A,A1: list @ A] :
% 3.22/1.79 ( ! [X12: list @ A] : ( P @ ( nil @ A ) @ X12 )
% 3.22/1.79 => ( ! [V: A,Va: list @ A] : ( P @ ( cons @ A @ V @ Va ) @ ( nil @ A ) )
% 3.22/1.79 => ( ! [X: A,Xs2: list @ A,Y2: A,Ys2: list @ A] :
% 3.22/1.79 ( ( P @ Xs2 @ Ys2 )
% 3.22/1.79 => ( P @ ( cons @ A @ X @ Xs2 ) @ ( cons @ A @ Y2 @ Ys2 ) ) )
% 3.22/1.79 => ( P @ A0 @ A1 ) ) ) ) ).
% 3.22/1.79
% 3.22/1.79 thf(fact_106_list__induct2_H,axiom,
% 3.22/1.79 ! [A: $tType,B: $tType,P: ( list @ A ) > ( list @ B ) > $o,Xs: list @ A,Ys: list @ B] :
% 3.22/1.79 ( ( P @ ( nil @ A ) @ ( nil @ B ) )
% 3.22/1.79 => ( ! [X: A,Xs2: list @ A] : ( P @ ( cons @ A @ X @ Xs2 ) @ ( nil @ B ) )
% 3.22/1.79 => ( ! [Y2: B,Ys2: list @ B] : ( P @ ( nil @ A ) @ ( cons @ B @ Y2 @ Ys2 ) )
% 3.22/1.79 => ( ! [X: A,Xs2: list @ A,Y2: B,Ys2: list @ B] :
% 3.22/1.79 ( ( P @ Xs2 @ Ys2 )
% 3.22/1.79 => ( P @ ( cons @ A @ X @ Xs2 ) @ ( cons @ B @ Y2 @ Ys2 ) ) )
% 3.22/1.79 => ( P @ Xs @ Ys ) ) ) ) ) ).
% 3.22/1.79
% 3.22/1.79 thf(fact_107_neq__Nil__conv,axiom,
% 3.22/1.79 ! [A: $tType,Xs: list @ A] :
% 3.22/1.79 ( ( Xs
% 3.22/1.79 != ( nil @ A ) )
% 3.22/1.79 = ( ? [Y3: A,Ys3: list @ A] :
% 3.22/1.79 ( Xs
% 3.22/1.79 = ( cons @ A @ Y3 @ Ys3 ) ) ) ) ).
% 3.22/1.79
% 3.22/1.79 thf(fact_108_list_Oinducts,axiom,
% 3.22/1.79 ! [A: $tType,P: ( list @ A ) > $o,List: list @ A] :
% 3.22/1.79 ( ( P @ ( nil @ A ) )
% 3.22/1.79 => ( ! [X12: A,X24: list @ A] :
% 3.22/1.79 ( ( P @ X24 )
% 3.22/1.79 => ( P @ ( cons @ A @ X12 @ X24 ) ) )
% 3.22/1.79 => ( P @ List ) ) ) ).
% 3.22/1.79
% 3.22/1.79 thf(fact_109_list_Oexhaust,axiom,
% 3.22/1.79 ! [A: $tType,Y: list @ A] :
% 3.22/1.79 ( ( Y
% 3.22/1.79 != ( nil @ A ) )
% 3.22/1.79 => ~ ! [X212: A,X222: list @ A] :
% 3.22/1.79 ( Y
% 3.22/1.79 != ( cons @ A @ X212 @ X222 ) ) ) ).
% 3.22/1.79
% 3.22/1.79 thf(fact_110_rev__exhaust,axiom,
% 3.22/1.79 ! [A: $tType,Xs: list @ A] :
% 3.22/1.79 ( ( Xs
% 3.22/1.79 != ( nil @ A ) )
% 3.22/1.79 => ~ ! [Ys2: list @ A,Y2: A] :
% 3.22/1.79 ( Xs
% 3.22/1.79 != ( append @ A @ Ys2 @ ( cons @ A @ Y2 @ ( nil @ A ) ) ) ) ) ).
% 3.22/1.79
% 3.22/1.79 thf(fact_111_rev__induct,axiom,
% 3.22/1.79 ! [A: $tType,P: ( list @ A ) > $o,Xs: list @ A] :
% 3.22/1.79 ( ( P @ ( nil @ A ) )
% 3.22/1.79 => ( ! [X: A,Xs2: list @ A] :
% 3.22/1.79 ( ( P @ Xs2 )
% 3.22/1.79 => ( P @ ( append @ A @ Xs2 @ ( cons @ A @ X @ ( nil @ A ) ) ) ) )
% 3.22/1.79 => ( P @ Xs ) ) ) ).
% 3.22/1.79
% 3.22/1.79 thf(fact_112_list_OdiscI,axiom,
% 3.22/1.79 ! [A: $tType,List: list @ A,X21: A,X22: list @ A] :
% 3.22/1.79 ( ( List
% 3.22/1.79 = ( cons @ A @ X21 @ X22 ) )
% 3.22/1.79 => ( List
% 3.22/1.79 != ( nil @ A ) ) ) ).
% 3.22/1.79
% 3.22/1.79 thf(fact_113_list_Odistinct_I1_J,axiom,
% 3.22/1.79 ! [A: $tType,X21: A,X22: list @ A] :
% 3.22/1.79 ( ( nil @ A )
% 3.22/1.79 != ( cons @ A @ X21 @ X22 ) ) ).
% 3.22/1.79
% 3.22/1.79 thf(fact_114_ord_Olexordp__append__leftI,axiom,
% 3.22/1.79 ! [A: $tType,Less: A > A > $o,Us: list @ A,Vs: list @ A,Xs: list @ A] :
% 3.22/1.79 ( ( lexordp @ A @ Less @ Us @ Vs )
% 3.22/1.79 => ( lexordp @ A @ Less @ ( append @ A @ Xs @ Us ) @ ( append @ A @ Xs @ Vs ) ) ) ).
% 3.22/1.79
% 3.22/1.79 thf(fact_115_ord_Olexordp__append__leftD,axiom,
% 3.22/1.79 ! [A: $tType,Less: A > A > $o,Xs: list @ A,Us: list @ A,Vs: list @ A] :
% 3.22/1.79 ( ( lexordp @ A @ Less @ ( append @ A @ Xs @ Us ) @ ( append @ A @ Xs @ Vs ) )
% 3.22/1.79 => ( ! [A3: A] :
% 3.22/1.79 ~ ( Less @ A3 @ A3 )
% 3.22/1.79 => ( lexordp @ A @ Less @ Us @ Vs ) ) ) ).
% 3.22/1.79
% 3.22/1.79 thf(fact_116_ord_Olexordp_OCons__eq,axiom,
% 3.22/1.79 ! [A: $tType,Less: A > A > $o,X2: A,Y: A,Xs: list @ A,Ys: list @ A] :
% 3.22/1.79 ( ~ ( Less @ X2 @ Y )
% 3.22/1.79 => ( ~ ( Less @ Y @ X2 )
% 3.22/1.79 => ( ( lexordp @ A @ Less @ Xs @ Ys )
% 3.22/1.79 => ( lexordp @ A @ Less @ ( cons @ A @ X2 @ Xs ) @ ( cons @ A @ Y @ Ys ) ) ) ) ) ).
% 3.22/1.79
% 3.22/1.79 thf(fact_117_ord_Olexordp_OCons,axiom,
% 3.22/1.79 ! [A: $tType,Less: A > A > $o,X2: A,Y: A,Xs: list @ A,Ys: list @ A] :
% 3.22/1.79 ( ( Less @ X2 @ Y )
% 3.22/1.79 => ( lexordp @ A @ Less @ ( cons @ A @ X2 @ Xs ) @ ( cons @ A @ Y @ Ys ) ) ) ).
% 3.22/1.79
% 3.22/1.79 thf(fact_118_ord_Olexordp__eq_OCons__eq,axiom,
% 3.22/1.79 ! [A: $tType,Less: A > A > $o,X2: A,Y: A,Xs: list @ A,Ys: list @ A] :
% 3.22/1.79 ( ~ ( Less @ X2 @ Y )
% 3.22/1.79 => ( ~ ( Less @ Y @ X2 )
% 3.22/1.79 => ( ( lexordp_eq @ A @ Less @ Xs @ Ys )
% 3.22/1.79 => ( lexordp_eq @ A @ Less @ ( cons @ A @ X2 @ Xs ) @ ( cons @ A @ Y @ Ys ) ) ) ) ) ).
% 3.22/1.79
% 3.22/1.79 thf(fact_119_ord_Olexordp__eq_OCons,axiom,
% 3.22/1.79 ! [A: $tType,Less: A > A > $o,X2: A,Y: A,Xs: list @ A,Ys: list @ A] :
% 3.22/1.79 ( ( Less @ X2 @ Y )
% 3.22/1.79 => ( lexordp_eq @ A @ Less @ ( cons @ A @ X2 @ Xs ) @ ( cons @ A @ Y @ Ys ) ) ) ).
% 3.22/1.79
% 3.22/1.79 thf(fact_120_ord_Olexordp__eq_ONil,axiom,
% 3.22/1.79 ! [A: $tType,Less: A > A > $o,Ys: list @ A] : ( lexordp_eq @ A @ Less @ ( nil @ A ) @ Ys ) ).
% 3.22/1.79
% 3.22/1.79 thf(fact_121_ord_Olexordp__irreflexive,axiom,
% 3.22/1.79 ! [A: $tType,Less: A > A > $o,Xs: list @ A] :
% 3.22/1.79 ( ! [X: A] :
% 3.22/1.79 ~ ( Less @ X @ X )
% 3.22/1.79 => ~ ( lexordp @ A @ Less @ Xs @ Xs ) ) ).
% 3.22/1.79
% 3.22/1.79 thf(fact_122_ord_Olexordp__eq__refl,axiom,
% 3.22/1.79 ! [A: $tType,Less: A > A > $o,Xs: list @ A] : ( lexordp_eq @ A @ Less @ Xs @ Xs ) ).
% 3.22/1.79
% 3.22/1.79 thf(fact_123_ord_OgreaterThanLessThan__def,axiom,
% 3.22/1.79 ! [A: $tType] :
% 3.22/1.79 ( ( set_gr1161524159ssThan @ A )
% 3.22/1.79 = ( ^ [Less2: A > A > $o,L2: A,U2: A] : ( inf_inf @ ( set @ A ) @ ( set_greaterThan @ A @ Less2 @ L2 ) @ ( set_lessThan @ A @ Less2 @ U2 ) ) ) ) ).
% 3.22/1.79
% 3.22/1.79 thf(fact_124_ord_OgreaterThanLessThan__eq,axiom,
% 3.22/1.79 ! [A: $tType] :
% 3.22/1.79 ( ( set_gr1161524159ssThan @ A )
% 3.22/1.79 = ( ^ [Less2: A > A > $o,A5: A,B3: A] : ( inf_inf @ ( set @ A ) @ ( set_greaterThan @ A @ Less2 @ A5 ) @ ( set_lessThan @ A @ Less2 @ B3 ) ) ) ) ).
% 3.22/1.79
% 3.22/1.79 thf(fact_125_Int__iff,axiom,
% 3.22/1.79 ! [A: $tType,C: A,A4: set @ A,B4: set @ A] :
% 3.22/1.79 ( ( member @ A @ C @ ( inf_inf @ ( set @ A ) @ A4 @ B4 ) )
% 3.22/1.79 = ( ( member @ A @ C @ A4 )
% 3.22/1.79 & ( member @ A @ C @ B4 ) ) ) ).
% 3.22/1.79
% 3.22/1.79 thf(fact_126_IntI,axiom,
% 3.22/1.79 ! [A: $tType,C: A,A4: set @ A,B4: set @ A] :
% 3.22/1.79 ( ( member @ A @ C @ A4 )
% 3.22/1.79 => ( ( member @ A @ C @ B4 )
% 3.22/1.79 => ( member @ A @ C @ ( inf_inf @ ( set @ A ) @ A4 @ B4 ) ) ) ) ).
% 3.22/1.79
% 3.22/1.79 thf(fact_127_inf__right__idem,axiom,
% 3.22/1.79 ! [A: $tType] :
% 3.22/1.79 ( ( semilattice_inf @ A @ ( type2 @ A ) )
% 3.22/1.79 => ! [X2: A,Y: A] :
% 3.22/1.79 ( ( inf_inf @ A @ ( inf_inf @ A @ X2 @ Y ) @ Y )
% 3.22/1.79 = ( inf_inf @ A @ X2 @ Y ) ) ) ).
% 3.22/1.79
% 3.22/1.79 thf(fact_128_inf_Oright__idem,axiom,
% 3.22/1.79 ! [A: $tType] :
% 3.22/1.79 ( ( semilattice_inf @ A @ ( type2 @ A ) )
% 3.22/1.79 => ! [A2: A,B2: A] :
% 3.22/1.79 ( ( inf_inf @ A @ ( inf_inf @ A @ A2 @ B2 ) @ B2 )
% 3.22/1.79 = ( inf_inf @ A @ A2 @ B2 ) ) ) ).
% 3.22/1.79
% 3.22/1.79 thf(fact_129_inf__left__idem,axiom,
% 3.22/1.79 ! [A: $tType] :
% 3.22/1.79 ( ( semilattice_inf @ A @ ( type2 @ A ) )
% 3.22/1.79 => ! [X2: A,Y: A] :
% 3.22/1.79 ( ( inf_inf @ A @ X2 @ ( inf_inf @ A @ X2 @ Y ) )
% 3.22/1.79 = ( inf_inf @ A @ X2 @ Y ) ) ) ).
% 3.22/1.79
% 3.22/1.79 thf(fact_130_inf_Oleft__idem,axiom,
% 3.22/1.79 ! [A: $tType] :
% 3.22/1.79 ( ( semilattice_inf @ A @ ( type2 @ A ) )
% 3.22/1.79 => ! [A2: A,B2: A] :
% 3.22/1.79 ( ( inf_inf @ A @ A2 @ ( inf_inf @ A @ A2 @ B2 ) )
% 3.22/1.79 = ( inf_inf @ A @ A2 @ B2 ) ) ) ).
% 3.22/1.79
% 3.22/1.79 thf(fact_131_inf__apply,axiom,
% 3.22/1.79 ! [B: $tType,A: $tType] :
% 3.22/1.79 ( ( semilattice_inf @ B @ ( type2 @ B ) )
% 3.22/1.79 => ( ( inf_inf @ ( A > B ) )
% 3.22/1.79 = ( ^ [F3: A > B,G2: A > B,X3: A] : ( inf_inf @ B @ ( F3 @ X3 ) @ ( G2 @ X3 ) ) ) ) ) ).
% 3.22/1.79
% 3.22/1.79 thf(fact_132_inf_Oidem,axiom,
% 3.22/1.79 ! [A: $tType] :
% 3.22/1.79 ( ( semilattice_inf @ A @ ( type2 @ A ) )
% 3.22/1.79 => ! [A2: A] :
% 3.22/1.79 ( ( inf_inf @ A @ A2 @ A2 )
% 3.22/1.79 = A2 ) ) ).
% 3.22/1.79
% 3.22/1.79 thf(fact_133_inf__idem,axiom,
% 3.22/1.79 ! [A: $tType] :
% 3.22/1.79 ( ( semilattice_inf @ A @ ( type2 @ A ) )
% 3.22/1.79 => ! [X2: A] :
% 3.22/1.79 ( ( inf_inf @ A @ X2 @ X2 )
% 3.22/1.79 = X2 ) ) ).
% 3.22/1.79
% 3.22/1.79 thf(fact_134_inf__sup__aci_I4_J,axiom,
% 3.22/1.79 ! [A: $tType] :
% 3.22/1.79 ( ( lattice @ A @ ( type2 @ A ) )
% 3.22/1.79 => ! [X2: A,Y: A] :
% 3.22/1.79 ( ( inf_inf @ A @ X2 @ ( inf_inf @ A @ X2 @ Y ) )
% 3.22/1.79 = ( inf_inf @ A @ X2 @ Y ) ) ) ).
% 3.22/1.79
% 3.22/1.79 thf(fact_135_inf__sup__aci_I3_J,axiom,
% 3.22/1.79 ! [A: $tType] :
% 3.22/1.79 ( ( lattice @ A @ ( type2 @ A ) )
% 3.22/1.79 => ! [X2: A,Y: A,Z: A] :
% 3.22/1.79 ( ( inf_inf @ A @ X2 @ ( inf_inf @ A @ Y @ Z ) )
% 3.22/1.79 = ( inf_inf @ A @ Y @ ( inf_inf @ A @ X2 @ Z ) ) ) ) ).
% 3.22/1.79
% 3.22/1.79 thf(fact_136_inf__sup__aci_I2_J,axiom,
% 3.22/1.79 ! [A: $tType] :
% 3.22/1.79 ( ( lattice @ A @ ( type2 @ A ) )
% 3.22/1.79 => ! [X2: A,Y: A,Z: A] :
% 3.22/1.79 ( ( inf_inf @ A @ ( inf_inf @ A @ X2 @ Y ) @ Z )
% 3.22/1.79 = ( inf_inf @ A @ X2 @ ( inf_inf @ A @ Y @ Z ) ) ) ) ).
% 3.22/1.79
% 3.22/1.79 thf(fact_137_inf__sup__aci_I1_J,axiom,
% 3.22/1.79 ! [A: $tType] :
% 3.22/1.79 ( ( lattice @ A @ ( type2 @ A ) )
% 3.22/1.79 => ( ( inf_inf @ A )
% 3.22/1.79 = ( ^ [X3: A,Y3: A] : ( inf_inf @ A @ Y3 @ X3 ) ) ) ) ).
% 3.22/1.79
% 3.22/1.79 thf(fact_138_inf__fun__def,axiom,
% 3.22/1.79 ! [B: $tType,A: $tType] :
% 3.22/1.79 ( ( semilattice_inf @ B @ ( type2 @ B ) )
% 3.22/1.79 => ( ( inf_inf @ ( A > B ) )
% 3.22/1.79 = ( ^ [F3: A > B,G2: A > B,X3: A] : ( inf_inf @ B @ ( F3 @ X3 ) @ ( G2 @ X3 ) ) ) ) ) ).
% 3.22/1.79
% 3.22/1.79 thf(fact_139_inf_Oassoc,axiom,
% 3.22/1.79 ! [A: $tType] :
% 3.22/1.79 ( ( semilattice_inf @ A @ ( type2 @ A ) )
% 3.22/1.79 => ! [A2: A,B2: A,C: A] :
% 3.22/1.79 ( ( inf_inf @ A @ ( inf_inf @ A @ A2 @ B2 ) @ C )
% 3.22/1.79 = ( inf_inf @ A @ A2 @ ( inf_inf @ A @ B2 @ C ) ) ) ) ).
% 3.22/1.79
% 3.22/1.79 thf(fact_140_inf__assoc,axiom,
% 3.22/1.79 ! [A: $tType] :
% 3.22/1.79 ( ( semilattice_inf @ A @ ( type2 @ A ) )
% 3.22/1.79 => ! [X2: A,Y: A,Z: A] :
% 3.22/1.79 ( ( inf_inf @ A @ ( inf_inf @ A @ X2 @ Y ) @ Z )
% 3.22/1.79 = ( inf_inf @ A @ X2 @ ( inf_inf @ A @ Y @ Z ) ) ) ) ).
% 3.22/1.79
% 3.22/1.79 thf(fact_141_inf_Ocommute,axiom,
% 3.22/1.79 ! [A: $tType] :
% 3.22/1.79 ( ( semilattice_inf @ A @ ( type2 @ A ) )
% 3.22/1.79 => ( ( inf_inf @ A )
% 3.22/1.79 = ( ^ [A5: A,B3: A] : ( inf_inf @ A @ B3 @ A5 ) ) ) ) ).
% 3.22/1.79
% 3.22/1.79 thf(fact_142_inf__commute,axiom,
% 3.22/1.79 ! [A: $tType] :
% 3.22/1.79 ( ( semilattice_inf @ A @ ( type2 @ A ) )
% 3.22/1.79 => ( ( inf_inf @ A )
% 3.22/1.79 = ( ^ [X3: A,Y3: A] : ( inf_inf @ A @ Y3 @ X3 ) ) ) ) ).
% 3.22/1.79
% 3.22/1.79 thf(fact_143_inf_Oleft__commute,axiom,
% 3.22/1.79 ! [A: $tType] :
% 3.22/1.79 ( ( semilattice_inf @ A @ ( type2 @ A ) )
% 3.22/1.79 => ! [B2: A,A2: A,C: A] :
% 3.22/1.79 ( ( inf_inf @ A @ B2 @ ( inf_inf @ A @ A2 @ C ) )
% 3.22/1.79 = ( inf_inf @ A @ A2 @ ( inf_inf @ A @ B2 @ C ) ) ) ) ).
% 3.22/1.79
% 3.22/1.79 thf(fact_144_inf__left__commute,axiom,
% 3.22/1.79 ! [A: $tType] :
% 3.22/1.79 ( ( semilattice_inf @ A @ ( type2 @ A ) )
% 3.22/1.79 => ! [X2: A,Y: A,Z: A] :
% 3.22/1.79 ( ( inf_inf @ A @ X2 @ ( inf_inf @ A @ Y @ Z ) )
% 3.22/1.79 = ( inf_inf @ A @ Y @ ( inf_inf @ A @ X2 @ Z ) ) ) ) ).
% 3.22/1.79
% 3.22/1.79 thf(fact_145_IntE,axiom,
% 3.22/1.79 ! [A: $tType,C: A,A4: set @ A,B4: set @ A] :
% 3.22/1.79 ( ( member @ A @ C @ ( inf_inf @ ( set @ A ) @ A4 @ B4 ) )
% 3.22/1.79 => ~ ( ( member @ A @ C @ A4 )
% 3.22/1.79 => ~ ( member @ A @ C @ B4 ) ) ) ).
% 3.22/1.79
% 3.22/1.79 thf(fact_146_IntD1,axiom,
% 3.22/1.79 ! [A: $tType,C: A,A4: set @ A,B4: set @ A] :
% 3.22/1.79 ( ( member @ A @ C @ ( inf_inf @ ( set @ A ) @ A4 @ B4 ) )
% 3.22/1.79 => ( member @ A @ C @ A4 ) ) ).
% 3.22/1.79
% 3.22/1.79 thf(fact_147_IntD2,axiom,
% 3.22/1.79 ! [A: $tType,C: A,A4: set @ A,B4: set @ A] :
% 3.22/1.79 ( ( member @ A @ C @ ( inf_inf @ ( set @ A ) @ A4 @ B4 ) )
% 3.22/1.79 => ( member @ A @ C @ B4 ) ) ).
% 3.22/1.79
% 3.22/1.79 thf(fact_148_Int__assoc,axiom,
% 3.22/1.79 ! [A: $tType,A4: set @ A,B4: set @ A,C2: set @ A] :
% 3.22/1.79 ( ( inf_inf @ ( set @ A ) @ ( inf_inf @ ( set @ A ) @ A4 @ B4 ) @ C2 )
% 3.22/1.79 = ( inf_inf @ ( set @ A ) @ A4 @ ( inf_inf @ ( set @ A ) @ B4 @ C2 ) ) ) ).
% 3.22/1.79
% 3.22/1.79 thf(fact_149_Int__absorb,axiom,
% 3.22/1.79 ! [A: $tType,A4: set @ A] :
% 3.22/1.79 ( ( inf_inf @ ( set @ A ) @ A4 @ A4 )
% 3.22/1.79 = A4 ) ).
% 3.22/1.79
% 3.22/1.79 thf(fact_150_Int__commute,axiom,
% 3.22/1.79 ! [A: $tType] :
% 3.22/1.79 ( ( inf_inf @ ( set @ A ) )
% 3.22/1.79 = ( ^ [A6: set @ A,B5: set @ A] : ( inf_inf @ ( set @ A ) @ B5 @ A6 ) ) ) ).
% 3.22/1.79
% 3.22/1.79 thf(fact_151_Int__left__absorb,axiom,
% 3.22/1.79 ! [A: $tType,A4: set @ A,B4: set @ A] :
% 3.22/1.79 ( ( inf_inf @ ( set @ A ) @ A4 @ ( inf_inf @ ( set @ A ) @ A4 @ B4 ) )
% 3.22/1.79 = ( inf_inf @ ( set @ A ) @ A4 @ B4 ) ) ).
% 3.22/1.79
% 3.22/1.79 thf(fact_152_Int__left__commute,axiom,
% 3.22/1.79 ! [A: $tType,A4: set @ A,B4: set @ A,C2: set @ A] :
% 3.22/1.79 ( ( inf_inf @ ( set @ A ) @ A4 @ ( inf_inf @ ( set @ A ) @ B4 @ C2 ) )
% 3.22/1.79 = ( inf_inf @ ( set @ A ) @ B4 @ ( inf_inf @ ( set @ A ) @ A4 @ C2 ) ) ) ).
% 3.22/1.79
% 3.22/1.79 thf(fact_153_ord_OlessThan__iff,axiom,
% 3.22/1.79 ! [A: $tType,I: A,Less: A > A > $o,K: A] :
% 3.22/1.79 ( ( member @ A @ I @ ( set_lessThan @ A @ Less @ K ) )
% 3.22/1.79 = ( Less @ I @ K ) ) ).
% 3.22/1.79
% 3.22/1.79 thf(fact_154_ord_OgreaterThan__iff,axiom,
% 3.22/1.79 ! [A: $tType,I: A,Less: A > A > $o,K: A] :
% 3.22/1.79 ( ( member @ A @ I @ ( set_greaterThan @ A @ Less @ K ) )
% 3.22/1.79 = ( Less @ K @ I ) ) ).
% 3.22/1.79
% 3.22/1.79 thf(fact_155_ord_OgreaterThanLessThan__iff,axiom,
% 3.22/1.79 ! [A: $tType,I: A,Less: A > A > $o,L: A,U: A] :
% 3.22/1.79 ( ( member @ A @ I @ ( set_gr1161524159ssThan @ A @ Less @ L @ U ) )
% 3.22/1.79 = ( ( Less @ L @ I )
% 3.22/1.79 & ( Less @ I @ U ) ) ) ).
% 3.22/1.79
% 3.22/1.79 thf(fact_156_sublists_Osimps_I1_J,axiom,
% 3.22/1.79 ! [A: $tType] :
% 3.22/1.79 ( ( sublists @ A @ ( nil @ A ) )
% 3.22/1.79 = ( cons @ ( list @ A ) @ ( nil @ A ) @ ( nil @ ( list @ A ) ) ) ) ).
% 3.22/1.79
% 3.22/1.79 thf(fact_157_prefixes_Ocases,axiom,
% 3.22/1.79 ! [A: $tType,X2: list @ A] :
% 3.22/1.79 ( ( X2
% 3.22/1.79 != ( nil @ A ) )
% 3.22/1.79 => ~ ! [X: A,Xs2: list @ A] :
% 3.22/1.79 ( X2
% 3.22/1.79 != ( cons @ A @ X @ Xs2 ) ) ) ).
% 3.22/1.79
% 3.22/1.79 thf(fact_158_prefixes_Oinduct,axiom,
% 3.22/1.79 ! [A: $tType,P: ( list @ A ) > $o,A0: list @ A] :
% 3.22/1.79 ( ( P @ ( nil @ A ) )
% 3.22/1.79 => ( ! [X: A,Xs2: list @ A] :
% 3.22/1.79 ( ( P @ Xs2 )
% 3.22/1.79 => ( P @ ( cons @ A @ X @ Xs2 ) ) )
% 3.22/1.79 => ( P @ A0 ) ) ) ).
% 3.22/1.79
% 3.22/1.79 thf(fact_159_longest__common__prefix_Oinduct,axiom,
% 3.22/1.79 ! [A: $tType,P: ( list @ A ) > ( list @ A ) > $o,A0: list @ A,A1: list @ A] :
% 3.22/1.79 ( ! [X: A,Xs2: list @ A,Y2: A,Ys2: list @ A] :
% 3.22/1.79 ( ( ( X = Y2 )
% 3.22/1.79 => ( P @ Xs2 @ Ys2 ) )
% 3.22/1.79 => ( P @ ( cons @ A @ X @ Xs2 ) @ ( cons @ A @ Y2 @ Ys2 ) ) )
% 3.22/1.79 => ( ! [X12: list @ A] : ( P @ ( nil @ A ) @ X12 )
% 3.22/1.79 => ( ! [Uu: list @ A] : ( P @ Uu @ ( nil @ A ) )
% 3.22/1.79 => ( P @ A0 @ A1 ) ) ) ) ).
% 3.22/1.79
% 3.22/1.79 thf(fact_160_prefixes__snoc,axiom,
% 3.22/1.79 ! [A: $tType,Xs: list @ A,X2: A] :
% 3.22/1.79 ( ( prefixes @ A @ ( append @ A @ Xs @ ( cons @ A @ X2 @ ( nil @ A ) ) ) )
% 3.22/1.79 = ( append @ ( list @ A ) @ ( prefixes @ A @ Xs ) @ ( cons @ ( list @ A ) @ ( append @ A @ Xs @ ( cons @ A @ X2 @ ( nil @ A ) ) ) @ ( nil @ ( list @ A ) ) ) ) ) ).
% 3.22/1.79
% 3.22/1.79 thf(fact_161_prefixes__eq__Snoc,axiom,
% 3.22/1.79 ! [A: $tType,Ys: list @ A,Xs: list @ ( list @ A ),X2: list @ A] :
% 3.22/1.79 ( ( ( prefixes @ A @ Ys )
% 3.22/1.79 = ( append @ ( list @ A ) @ Xs @ ( cons @ ( list @ A ) @ X2 @ ( nil @ ( list @ A ) ) ) ) )
% 3.22/1.79 = ( ( ( ( Ys
% 3.22/1.79 = ( nil @ A ) )
% 3.22/1.79 & ( Xs
% 3.22/1.79 = ( nil @ ( list @ A ) ) ) )
% 3.22/1.79 | ? [Z2: A,Zs2: list @ A] :
% 3.22/1.79 ( ( Ys
% 3.22/1.79 = ( append @ A @ Zs2 @ ( cons @ A @ Z2 @ ( nil @ A ) ) ) )
% 3.22/1.79 & ( Xs
% 3.22/1.79 = ( prefixes @ A @ Zs2 ) ) ) )
% 3.22/1.79 & ( X2 = Ys ) ) ) ).
% 3.22/1.79
% 3.22/1.79 thf(fact_162_bind__simps_I2_J,axiom,
% 3.22/1.79 ! [A: $tType,B: $tType,X2: B,Xs: list @ B,F: B > ( list @ A )] :
% 3.22/1.79 ( ( bind @ B @ A @ ( cons @ B @ X2 @ Xs ) @ F )
% 3.22/1.79 = ( append @ A @ ( F @ X2 ) @ ( bind @ B @ A @ Xs @ F ) ) ) ).
% 3.22/1.79
% 3.22/1.79 thf(fact_163_bind__simps_I1_J,axiom,
% 3.22/1.79 ! [B: $tType,A: $tType,F: B > ( list @ A )] :
% 3.22/1.79 ( ( bind @ B @ A @ ( nil @ B ) @ F )
% 3.22/1.79 = ( nil @ A ) ) ).
% 3.22/1.79
% 3.22/1.79 thf(fact_164_prefixes_Osimps_I1_J,axiom,
% 3.22/1.79 ! [A: $tType] :
% 3.22/1.79 ( ( prefixes @ A @ ( nil @ A ) )
% 3.22/1.79 = ( cons @ ( list @ A ) @ ( nil @ A ) @ ( nil @ ( list @ A ) ) ) ) ).
% 3.22/1.79
% 3.22/1.79 thf(fact_165_product__lists_Osimps_I1_J,axiom,
% 3.22/1.79 ! [A: $tType] :
% 3.22/1.79 ( ( product_lists @ A @ ( nil @ ( list @ A ) ) )
% 3.22/1.79 = ( cons @ ( list @ A ) @ ( nil @ A ) @ ( nil @ ( list @ A ) ) ) ) ).
% 3.22/1.79
% 3.22/1.79 thf(fact_166_prefixes_Oelims,axiom,
% 3.22/1.79 ! [A: $tType,X2: list @ A,Y: list @ ( list @ A )] :
% 3.22/1.79 ( ( ( prefixes @ A @ X2 )
% 3.22/1.79 = Y )
% 3.22/1.79 => ( ( ( X2
% 3.22/1.79 = ( nil @ A ) )
% 3.22/1.79 => ( Y
% 3.22/1.79 != ( cons @ ( list @ A ) @ ( nil @ A ) @ ( nil @ ( list @ A ) ) ) ) )
% 3.22/1.79 => ~ ! [X: A,Xs2: list @ A] :
% 3.22/1.79 ( ( X2
% 3.22/1.79 = ( cons @ A @ X @ Xs2 ) )
% 3.22/1.79 => ( Y
% 3.22/1.79 != ( cons @ ( list @ A ) @ ( nil @ A ) @ ( map @ ( list @ A ) @ ( list @ A ) @ ( cons @ A @ X ) @ ( prefixes @ A @ Xs2 ) ) ) ) ) ) ) ).
% 3.22/1.79
% 3.22/1.79 thf(fact_167_maps__simps_I1_J,axiom,
% 3.22/1.79 ! [A: $tType,B: $tType,F: B > ( list @ A ),X2: B,Xs: list @ B] :
% 3.22/1.79 ( ( maps @ B @ A @ F @ ( cons @ B @ X2 @ Xs ) )
% 3.22/1.79 = ( append @ A @ ( F @ X2 ) @ ( maps @ B @ A @ F @ Xs ) ) ) ).
% 3.22/1.79
% 3.22/1.79 thf(fact_168_Nil__is__map__conv,axiom,
% 3.22/1.79 ! [A: $tType,B: $tType,F: B > A,Xs: list @ B] :
% 3.22/1.79 ( ( ( nil @ A )
% 3.22/1.79 = ( map @ B @ A @ F @ Xs ) )
% 3.22/1.79 = ( Xs
% 3.22/1.79 = ( nil @ B ) ) ) ).
% 3.22/1.79
% 3.22/1.79 thf(fact_169_map__is__Nil__conv,axiom,
% 3.22/1.79 ! [A: $tType,B: $tType,F: B > A,Xs: list @ B] :
% 3.22/1.79 ( ( ( map @ B @ A @ F @ Xs )
% 3.22/1.79 = ( nil @ A ) )
% 3.22/1.79 = ( Xs
% 3.22/1.79 = ( nil @ B ) ) ) ).
% 3.22/1.79
% 3.22/1.79 thf(fact_170_list_Omap__disc__iff,axiom,
% 3.22/1.79 ! [B: $tType,A: $tType,F: A > B,A2: list @ A] :
% 3.22/1.79 ( ( ( map @ A @ B @ F @ A2 )
% 3.22/1.79 = ( nil @ B ) )
% 3.22/1.79 = ( A2
% 3.22/1.79 = ( nil @ A ) ) ) ).
% 3.22/1.79
% 3.22/1.79 thf(fact_171_map__append,axiom,
% 3.22/1.79 ! [A: $tType,B: $tType,F: B > A,Xs: list @ B,Ys: list @ B] :
% 3.22/1.79 ( ( map @ B @ A @ F @ ( append @ B @ Xs @ Ys ) )
% 3.22/1.79 = ( append @ A @ ( map @ B @ A @ F @ Xs ) @ ( map @ B @ A @ F @ Ys ) ) ) ).
% 3.22/1.79
% 3.22/1.79 thf(fact_172_list_Osimps_I9_J,axiom,
% 3.22/1.79 ! [B: $tType,A: $tType,F: A > B,X21: A,X22: list @ A] :
% 3.22/1.79 ( ( map @ A @ B @ F @ ( cons @ A @ X21 @ X22 ) )
% 3.22/1.79 = ( cons @ B @ ( F @ X21 ) @ ( map @ A @ B @ F @ X22 ) ) ) ).
% 3.22/1.79
% 3.22/1.79 thf(fact_173_Cons__eq__map__D,axiom,
% 3.22/1.79 ! [A: $tType,B: $tType,X2: A,Xs: list @ A,F: B > A,Ys: list @ B] :
% 3.22/1.79 ( ( ( cons @ A @ X2 @ Xs )
% 3.22/1.79 = ( map @ B @ A @ F @ Ys ) )
% 3.22/1.79 => ? [Z3: B,Zs3: list @ B] :
% 3.22/1.79 ( ( Ys
% 3.22/1.79 = ( cons @ B @ Z3 @ Zs3 ) )
% 3.22/1.79 & ( X2
% 3.22/1.79 = ( F @ Z3 ) )
% 3.22/1.79 & ( Xs
% 3.22/1.79 = ( map @ B @ A @ F @ Zs3 ) ) ) ) ).
% 3.22/1.79
% 3.22/1.79 thf(fact_174_map__eq__Cons__D,axiom,
% 3.22/1.79 ! [B: $tType,A: $tType,F: B > A,Xs: list @ B,Y: A,Ys: list @ A] :
% 3.22/1.79 ( ( ( map @ B @ A @ F @ Xs )
% 3.22/1.79 = ( cons @ A @ Y @ Ys ) )
% 3.22/1.79 => ? [Z3: B,Zs3: list @ B] :
% 3.22/1.79 ( ( Xs
% 3.22/1.79 = ( cons @ B @ Z3 @ Zs3 ) )
% 3.22/1.79 & ( ( F @ Z3 )
% 3.22/1.79 = Y )
% 3.22/1.79 & ( ( map @ B @ A @ F @ Zs3 )
% 3.22/1.79 = Ys ) ) ) ).
% 3.22/1.79
% 3.22/1.79 thf(fact_175_Cons__eq__map__conv,axiom,
% 3.22/1.79 ! [A: $tType,B: $tType,X2: A,Xs: list @ A,F: B > A,Ys: list @ B] :
% 3.22/1.79 ( ( ( cons @ A @ X2 @ Xs )
% 3.22/1.79 = ( map @ B @ A @ F @ Ys ) )
% 3.22/1.79 = ( ? [Z2: B,Zs2: list @ B] :
% 3.22/1.79 ( ( Ys
% 3.22/1.79 = ( cons @ B @ Z2 @ Zs2 ) )
% 3.22/1.79 & ( X2
% 3.22/1.79 = ( F @ Z2 ) )
% 3.22/1.79 & ( Xs
% 3.22/1.79 = ( map @ B @ A @ F @ Zs2 ) ) ) ) ) ).
% 3.22/1.79
% 3.22/1.79 thf(fact_176_map__eq__Cons__conv,axiom,
% 3.22/1.79 ! [A: $tType,B: $tType,F: B > A,Xs: list @ B,Y: A,Ys: list @ A] :
% 3.22/1.79 ( ( ( map @ B @ A @ F @ Xs )
% 3.22/1.79 = ( cons @ A @ Y @ Ys ) )
% 3.22/1.79 = ( ? [Z2: B,Zs2: list @ B] :
% 3.22/1.79 ( ( Xs
% 3.22/1.79 = ( cons @ B @ Z2 @ Zs2 ) )
% 3.22/1.79 & ( ( F @ Z2 )
% 3.22/1.79 = Y )
% 3.22/1.79 & ( ( map @ B @ A @ F @ Zs2 )
% 3.22/1.79 = Ys ) ) ) ) ).
% 3.22/1.79
% 3.22/1.79 thf(fact_177_list_Osimps_I8_J,axiom,
% 3.22/1.79 ! [A: $tType,B: $tType,F: A > B] :
% 3.22/1.79 ( ( map @ A @ B @ F @ ( nil @ A ) )
% 3.22/1.79 = ( nil @ B ) ) ).
% 3.22/1.79
% 3.22/1.79 thf(fact_178_maps__simps_I2_J,axiom,
% 3.22/1.79 ! [B: $tType,A: $tType,F: B > ( list @ A )] :
% 3.22/1.79 ( ( maps @ B @ A @ F @ ( nil @ B ) )
% 3.22/1.79 = ( nil @ A ) ) ).
% 3.22/1.79
% 3.22/1.79 thf(fact_179_prefixes_Osimps_I2_J,axiom,
% 3.22/1.79 ! [A: $tType,X2: A,Xs: list @ A] :
% 3.22/1.79 ( ( prefixes @ A @ ( cons @ A @ X2 @ Xs ) )
% 3.22/1.79 = ( cons @ ( list @ A ) @ ( nil @ A ) @ ( map @ ( list @ A ) @ ( list @ A ) @ ( cons @ A @ X2 ) @ ( prefixes @ A @ Xs ) ) ) ) ).
% 3.22/1.79
% 3.22/1.79 thf(fact_180_prefixes_Opelims,axiom,
% 3.22/1.79 ! [A: $tType,X2: list @ A,Y: list @ ( list @ A )] :
% 3.22/1.79 ( ( ( prefixes @ A @ X2 )
% 3.22/1.79 = Y )
% 3.22/1.79 => ( ( accp @ ( list @ A ) @ ( prefixes_rel @ A ) @ X2 )
% 3.22/1.79 => ( ( ( X2
% 3.22/1.79 = ( nil @ A ) )
% 3.22/1.79 => ( ( Y
% 3.22/1.79 = ( cons @ ( list @ A ) @ ( nil @ A ) @ ( nil @ ( list @ A ) ) ) )
% 3.22/1.79 => ~ ( accp @ ( list @ A ) @ ( prefixes_rel @ A ) @ ( nil @ A ) ) ) )
% 3.22/1.79 => ~ ! [X: A,Xs2: list @ A] :
% 3.22/1.79 ( ( X2
% 3.22/1.79 = ( cons @ A @ X @ Xs2 ) )
% 3.22/1.79 => ( ( Y
% 3.22/1.79 = ( cons @ ( list @ A ) @ ( nil @ A ) @ ( map @ ( list @ A ) @ ( list @ A ) @ ( cons @ A @ X ) @ ( prefixes @ A @ Xs2 ) ) ) )
% 3.22/1.79 => ~ ( accp @ ( list @ A ) @ ( prefixes_rel @ A ) @ ( cons @ A @ X @ Xs2 ) ) ) ) ) ) ) ).
% 3.22/1.79
% 3.22/1.79 thf(fact_181_insert__Nil,axiom,
% 3.22/1.79 ! [A: $tType,X2: A] :
% 3.22/1.79 ( ( insert @ A @ X2 @ ( nil @ A ) )
% 3.22/1.79 = ( cons @ A @ X2 @ ( nil @ A ) ) ) ).
% 3.22/1.79
% 3.22/1.79 thf(fact_182_rotate1_Osimps_I2_J,axiom,
% 3.22/1.79 ! [A: $tType,X2: A,Xs: list @ A] :
% 3.22/1.79 ( ( rotate1 @ A @ ( cons @ A @ X2 @ Xs ) )
% 3.22/1.79 = ( append @ A @ Xs @ ( cons @ A @ X2 @ ( nil @ A ) ) ) ) ).
% 3.22/1.79
% 3.22/1.79 thf(fact_183_rotate1__is__Nil__conv,axiom,
% 3.22/1.79 ! [A: $tType,Xs: list @ A] :
% 3.22/1.79 ( ( ( rotate1 @ A @ Xs )
% 3.22/1.79 = ( nil @ A ) )
% 3.22/1.79 = ( Xs
% 3.22/1.79 = ( nil @ A ) ) ) ).
% 3.22/1.79
% 3.22/1.79 thf(fact_184_rotate1_Osimps_I1_J,axiom,
% 3.22/1.79 ! [A: $tType] :
% 3.22/1.79 ( ( rotate1 @ A @ ( nil @ A ) )
% 3.22/1.79 = ( nil @ A ) ) ).
% 3.22/1.79
% 3.22/1.79 thf(fact_185_map__eq__map__tailrec,axiom,
% 3.22/1.79 ! [B: $tType,A: $tType] :
% 3.22/1.79 ( ( map @ A @ B )
% 3.22/1.79 = ( map_tailrec @ A @ B ) ) ).
% 3.22/1.79
% 3.22/1.79 thf(fact_186_last__snoc,axiom,
% 3.22/1.79 ! [A: $tType,Xs: list @ A,X2: A] :
% 3.22/1.79 ( ( last @ A @ ( append @ A @ Xs @ ( cons @ A @ X2 @ ( nil @ A ) ) ) )
% 3.22/1.79 = X2 ) ).
% 3.22/1.79
% 3.22/1.79 thf(fact_187_butlast__snoc,axiom,
% 3.22/1.79 ! [A: $tType,Xs: list @ A,X2: A] :
% 3.22/1.79 ( ( butlast @ A @ ( append @ A @ Xs @ ( cons @ A @ X2 @ ( nil @ A ) ) ) )
% 3.22/1.79 = Xs ) ).
% 3.22/1.79
% 3.22/1.79 thf(fact_188_last__appendR,axiom,
% 3.22/1.79 ! [A: $tType,Ys: list @ A,Xs: list @ A] :
% 3.22/1.79 ( ( Ys
% 3.22/1.79 != ( nil @ A ) )
% 3.22/1.79 => ( ( last @ A @ ( append @ A @ Xs @ Ys ) )
% 3.22/1.79 = ( last @ A @ Ys ) ) ) ).
% 3.22/1.79
% 3.22/1.79 thf(fact_189_last__appendL,axiom,
% 3.22/1.79 ! [A: $tType,Ys: list @ A,Xs: list @ A] :
% 3.22/1.79 ( ( Ys
% 3.22/1.79 = ( nil @ A ) )
% 3.22/1.79 => ( ( last @ A @ ( append @ A @ Xs @ Ys ) )
% 3.22/1.79 = ( last @ A @ Xs ) ) ) ).
% 3.22/1.79
% 3.22/1.79 thf(fact_190_append__butlast__last__id,axiom,
% 3.22/1.79 ! [A: $tType,Xs: list @ A] :
% 3.22/1.79 ( ( Xs
% 3.22/1.79 != ( nil @ A ) )
% 3.22/1.79 => ( ( append @ A @ ( butlast @ A @ Xs ) @ ( cons @ A @ ( last @ A @ Xs ) @ ( nil @ A ) ) )
% 3.22/1.79 = Xs ) ) ).
% 3.22/1.79
% 3.22/1.79 thf(fact_191_map__butlast,axiom,
% 3.22/1.79 ! [A: $tType,B: $tType,F: B > A,Xs: list @ B] :
% 3.22/1.79 ( ( map @ B @ A @ F @ ( butlast @ B @ Xs ) )
% 3.22/1.79 = ( butlast @ A @ ( map @ B @ A @ F @ Xs ) ) ) ).
% 3.22/1.79
% 3.22/1.79 thf(fact_192_snoc__eq__iff__butlast,axiom,
% 3.22/1.79 ! [A: $tType,Xs: list @ A,X2: A,Ys: list @ A] :
% 3.22/1.79 ( ( ( append @ A @ Xs @ ( cons @ A @ X2 @ ( nil @ A ) ) )
% 3.22/1.79 = Ys )
% 3.22/1.79 = ( ( Ys
% 3.22/1.79 != ( nil @ A ) )
% 3.22/1.79 & ( ( butlast @ A @ Ys )
% 3.22/1.79 = Xs )
% 3.22/1.79 & ( ( last @ A @ Ys )
% 3.22/1.79 = X2 ) ) ) ).
% 3.22/1.79
% 3.22/1.79 thf(fact_193_butlast_Osimps_I1_J,axiom,
% 3.22/1.79 ! [A: $tType] :
% 3.22/1.79 ( ( butlast @ A @ ( nil @ A ) )
% 3.22/1.79 = ( nil @ A ) ) ).
% 3.22/1.79
% 3.22/1.79 thf(fact_194_last__ConsR,axiom,
% 3.22/1.79 ! [A: $tType,Xs: list @ A,X2: A] :
% 3.22/1.79 ( ( Xs
% 3.22/1.79 != ( nil @ A ) )
% 3.22/1.79 => ( ( last @ A @ ( cons @ A @ X2 @ Xs ) )
% 3.22/1.79 = ( last @ A @ Xs ) ) ) ).
% 3.22/1.79
% 3.22/1.79 thf(fact_195_last__ConsL,axiom,
% 3.22/1.79 ! [A: $tType,Xs: list @ A,X2: A] :
% 3.22/1.79 ( ( Xs
% 3.22/1.79 = ( nil @ A ) )
% 3.22/1.79 => ( ( last @ A @ ( cons @ A @ X2 @ Xs ) )
% 3.22/1.79 = X2 ) ) ).
% 3.22/1.79
% 3.22/1.79 thf(fact_196_last_Osimps,axiom,
% 3.22/1.79 ! [A: $tType,Xs: list @ A,X2: A] :
% 3.22/1.79 ( ( ( Xs
% 3.22/1.79 = ( nil @ A ) )
% 3.22/1.79 => ( ( last @ A @ ( cons @ A @ X2 @ Xs ) )
% 3.22/1.79 = X2 ) )
% 3.22/1.79 & ( ( Xs
% 3.22/1.79 != ( nil @ A ) )
% 3.22/1.79 => ( ( last @ A @ ( cons @ A @ X2 @ Xs ) )
% 3.22/1.79 = ( last @ A @ Xs ) ) ) ) ).
% 3.22/1.79
% 3.22/1.79 thf(fact_197_butlast_Osimps_I2_J,axiom,
% 3.22/1.79 ! [A: $tType,Xs: list @ A,X2: A] :
% 3.22/1.79 ( ( ( Xs
% 3.22/1.79 = ( nil @ A ) )
% 3.22/1.79 => ( ( butlast @ A @ ( cons @ A @ X2 @ Xs ) )
% 3.22/1.79 = ( nil @ A ) ) )
% 3.22/1.79 & ( ( Xs
% 3.22/1.79 != ( nil @ A ) )
% 3.22/1.79 => ( ( butlast @ A @ ( cons @ A @ X2 @ Xs ) )
% 3.22/1.79 = ( cons @ A @ X2 @ ( butlast @ A @ Xs ) ) ) ) ) ).
% 3.22/1.79
% 3.22/1.79 thf(fact_198_last__map,axiom,
% 3.22/1.79 ! [B: $tType,A: $tType,Xs: list @ A,F: A > B] :
% 3.22/1.79 ( ( Xs
% 3.22/1.79 != ( nil @ A ) )
% 3.22/1.79 => ( ( last @ B @ ( map @ A @ B @ F @ Xs ) )
% 3.22/1.79 = ( F @ ( last @ A @ Xs ) ) ) ) ).
% 3.22/1.79
% 3.22/1.79 thf(fact_199_longest__common__suffix,axiom,
% 3.22/1.79 ! [A: $tType,Xs: list @ A,Ys: list @ A] :
% 3.22/1.79 ? [Ss: list @ A,Xs4: list @ A,Ys5: list @ A] :
% 3.22/1.79 ( ( Xs
% 3.22/1.79 = ( append @ A @ Xs4 @ Ss ) )
% 3.22/1.79 & ( Ys
% 3.22/1.79 = ( append @ A @ Ys5 @ Ss ) )
% 3.22/1.79 & ( ( Xs4
% 3.22/1.79 = ( nil @ A ) )
% 3.22/1.79 | ( Ys5
% 3.22/1.79 = ( nil @ A ) )
% 3.22/1.79 | ( ( last @ A @ Xs4 )
% 3.22/1.79 != ( last @ A @ Ys5 ) ) ) ) ).
% 3.22/1.79
% 3.22/1.79 thf(fact_200_butlast__append,axiom,
% 3.22/1.79 ! [A: $tType,Ys: list @ A,Xs: list @ A] :
% 3.22/1.79 ( ( ( Ys
% 3.22/1.79 = ( nil @ A ) )
% 3.22/1.79 => ( ( butlast @ A @ ( append @ A @ Xs @ Ys ) )
% 3.22/1.79 = ( butlast @ A @ Xs ) ) )
% 3.22/1.79 & ( ( Ys
% 3.22/1.79 != ( nil @ A ) )
% 3.22/1.79 => ( ( butlast @ A @ ( append @ A @ Xs @ Ys ) )
% 3.22/1.79 = ( append @ A @ Xs @ ( butlast @ A @ Ys ) ) ) ) ) ).
% 3.22/1.79
% 3.22/1.79 thf(fact_201_last__append,axiom,
% 3.22/1.79 ! [A: $tType,Ys: list @ A,Xs: list @ A] :
% 3.22/1.79 ( ( ( Ys
% 3.22/1.79 = ( nil @ A ) )
% 3.22/1.79 => ( ( last @ A @ ( append @ A @ Xs @ Ys ) )
% 3.22/1.79 = ( last @ A @ Xs ) ) )
% 3.22/1.79 & ( ( Ys
% 3.22/1.79 != ( nil @ A ) )
% 3.22/1.79 => ( ( last @ A @ ( append @ A @ Xs @ Ys ) )
% 3.22/1.79 = ( last @ A @ Ys ) ) ) ) ).
% 3.22/1.79
% 3.22/1.79 thf(fact_202_list__ex1__simps_I1_J,axiom,
% 3.22/1.79 ! [A: $tType,P: A > $o] :
% 3.22/1.79 ~ ( list_ex1 @ A @ P @ ( nil @ A ) ) ).
% 3.22/1.79
% 3.22/1.79 thf(fact_203_strict__suffix__def,axiom,
% 3.22/1.79 ! [A: $tType] :
% 3.22/1.79 ( ( strict_suffix @ A )
% 3.22/1.79 = ( ^ [Xs3: list @ A,Ys3: list @ A] :
% 3.22/1.79 ? [Us2: list @ A] :
% 3.22/1.79 ( ( Ys3
% 3.22/1.79 = ( append @ A @ Us2 @ Xs3 ) )
% 3.22/1.79 & ( Us2
% 3.22/1.79 != ( nil @ A ) ) ) ) ) ).
% 3.22/1.79
% 3.22/1.79 thf(fact_204_strict__suffix__trans,axiom,
% 3.22/1.79 ! [A: $tType,Xs: list @ A,Ys: list @ A,Zs: list @ A] :
% 3.22/1.79 ( ( strict_suffix @ A @ Xs @ Ys )
% 3.22/1.79 => ( ( strict_suffix @ A @ Ys @ Zs )
% 3.22/1.79 => ( strict_suffix @ A @ Xs @ Zs ) ) ) ).
% 3.22/1.79
% 3.22/1.79 thf(fact_205_map__tailrec__rev_Oelims,axiom,
% 3.22/1.79 ! [A: $tType,B: $tType,X2: A > B,Xa: list @ A,Xb: list @ B,Y: list @ B] :
% 3.22/1.79 ( ( ( map_tailrec_rev @ A @ B @ X2 @ Xa @ Xb )
% 3.22/1.79 = Y )
% 3.22/1.79 => ( ( ( Xa
% 3.22/1.79 = ( nil @ A ) )
% 3.22/1.79 => ( Y != Xb ) )
% 3.22/1.79 => ~ ! [A3: A,As: list @ A] :
% 3.22/1.79 ( ( Xa
% 3.22/1.79 = ( cons @ A @ A3 @ As ) )
% 3.22/1.79 => ( Y
% 3.22/1.79 != ( map_tailrec_rev @ A @ B @ X2 @ As @ ( cons @ B @ ( X2 @ A3 ) @ Xb ) ) ) ) ) ) ).
% 3.22/1.79
% 3.22/1.79 thf(fact_206_SuccD,axiom,
% 3.22/1.79 ! [A: $tType,K: A,Kl: set @ ( list @ A ),Kl2: list @ A] :
% 3.22/1.79 ( ( member @ A @ K @ ( bNF_Greatest_Succ @ A @ Kl @ Kl2 ) )
% 3.22/1.79 => ( member @ ( list @ A ) @ ( append @ A @ Kl2 @ ( cons @ A @ K @ ( nil @ A ) ) ) @ Kl ) ) ).
% 3.22/1.79
% 3.22/1.79 thf(fact_207_map__tailrec__rev_Osimps_I2_J,axiom,
% 3.22/1.79 ! [A: $tType,B: $tType,F: A > B,A2: A,As2: list @ A,Bs2: list @ B] :
% 3.22/1.79 ( ( map_tailrec_rev @ A @ B @ F @ ( cons @ A @ A2 @ As2 ) @ Bs2 )
% 3.22/1.79 = ( map_tailrec_rev @ A @ B @ F @ As2 @ ( cons @ B @ ( F @ A2 ) @ Bs2 ) ) ) ).
% 3.22/1.79
% 3.22/1.79 thf(fact_208_map__tailrec__rev_Osimps_I1_J,axiom,
% 3.22/1.79 ! [A: $tType,B: $tType,F: A > B,Bs2: list @ B] :
% 3.22/1.79 ( ( map_tailrec_rev @ A @ B @ F @ ( nil @ A ) @ Bs2 )
% 3.22/1.79 = Bs2 ) ).
% 3.22/1.79
% 3.22/1.79 thf(fact_209_SuccI,axiom,
% 3.22/1.79 ! [A: $tType,Kl2: list @ A,K: A,Kl: set @ ( list @ A )] :
% 3.22/1.79 ( ( member @ ( list @ A ) @ ( append @ A @ Kl2 @ ( cons @ A @ K @ ( nil @ A ) ) ) @ Kl )
% 3.22/1.79 => ( member @ A @ K @ ( bNF_Greatest_Succ @ A @ Kl @ Kl2 ) ) ) ).
% 3.22/1.79
% 3.22/1.79 thf(fact_210_shift__def,axiom,
% 3.22/1.79 ! [B: $tType,A: $tType] :
% 3.22/1.79 ( ( bNF_Greatest_shift @ A @ B )
% 3.22/1.79 = ( ^ [Lab: ( list @ A ) > B,K2: A,Kl3: list @ A] : ( Lab @ ( cons @ A @ K2 @ Kl3 ) ) ) ) ).
% 3.22/1.79
% 3.22/1.79 thf(fact_211_empty__Shift,axiom,
% 3.22/1.79 ! [A: $tType,Kl: set @ ( list @ A ),K: A] :
% 3.22/1.79 ( ( member @ ( list @ A ) @ ( nil @ A ) @ Kl )
% 3.22/1.79 => ( ( member @ A @ K @ ( bNF_Greatest_Succ @ A @ Kl @ ( nil @ A ) ) )
% 3.22/1.79 => ( member @ ( list @ A ) @ ( nil @ A ) @ ( bNF_Greatest_Shift @ A @ Kl @ K ) ) ) ) ).
% 3.22/1.79
% 3.22/1.79 thf(fact_212_ShiftD,axiom,
% 3.22/1.79 ! [A: $tType,Kl2: list @ A,Kl: set @ ( list @ A ),K: A] :
% 3.22/1.79 ( ( member @ ( list @ A ) @ Kl2 @ ( bNF_Greatest_Shift @ A @ Kl @ K ) )
% 3.22/1.79 => ( member @ ( list @ A ) @ ( cons @ A @ K @ Kl2 ) @ Kl ) ) ).
% 3.22/1.79
% 3.22/1.79 thf(fact_213_Succ__Shift,axiom,
% 3.22/1.79 ! [A: $tType,Kl: set @ ( list @ A ),K: A,Kl2: list @ A] :
% 3.22/1.79 ( ( bNF_Greatest_Succ @ A @ ( bNF_Greatest_Shift @ A @ Kl @ K ) @ Kl2 )
% 3.22/1.79 = ( bNF_Greatest_Succ @ A @ Kl @ ( cons @ A @ K @ Kl2 ) ) ) ).
% 3.22/1.79
% 3.22/1.79 thf(fact_214_map__tailrec__def,axiom,
% 3.22/1.79 ! [B: $tType,A: $tType] :
% 3.22/1.79 ( ( map_tailrec @ A @ B )
% 3.22/1.79 = ( ^ [F3: A > B,As3: list @ A] : ( rev @ B @ ( map_tailrec_rev @ A @ B @ F3 @ As3 @ ( nil @ B ) ) ) ) ) ).
% 3.22/1.79
% 3.22/1.79 thf(fact_215_ord_OgreaterThanAtMost__def,axiom,
% 3.22/1.79 ! [A: $tType] :
% 3.22/1.79 ( ( set_gr323396891AtMost @ A )
% 3.22/1.79 = ( ^ [Less_eq: A > A > $o,Less2: A > A > $o,L2: A,U2: A] : ( inf_inf @ ( set @ A ) @ ( set_greaterThan @ A @ Less2 @ L2 ) @ ( set_atMost @ A @ Less_eq @ U2 ) ) ) ) ).
% 3.22/1.79
% 3.22/1.79 thf(fact_216_rev__rev__ident,axiom,
% 3.22/1.79 ! [A: $tType,Xs: list @ A] :
% 3.22/1.79 ( ( rev @ A @ ( rev @ A @ Xs ) )
% 3.22/1.79 = Xs ) ).
% 3.22/1.79
% 3.22/1.79 thf(fact_217_rev__is__rev__conv,axiom,
% 3.22/1.79 ! [A: $tType,Xs: list @ A,Ys: list @ A] :
% 3.22/1.79 ( ( ( rev @ A @ Xs )
% 3.22/1.79 = ( rev @ A @ Ys ) )
% 3.22/1.79 = ( Xs = Ys ) ) ).
% 3.22/1.79
% 3.22/1.79 thf(fact_218_Nil__is__rev__conv,axiom,
% 3.22/1.79 ! [A: $tType,Xs: list @ A] :
% 3.22/1.79 ( ( ( nil @ A )
% 3.22/1.79 = ( rev @ A @ Xs ) )
% 3.22/1.79 = ( Xs
% 3.22/1.79 = ( nil @ A ) ) ) ).
% 3.22/1.79
% 3.22/1.79 thf(fact_219_rev__is__Nil__conv,axiom,
% 3.22/1.79 ! [A: $tType,Xs: list @ A] :
% 3.22/1.79 ( ( ( rev @ A @ Xs )
% 3.22/1.79 = ( nil @ A ) )
% 3.22/1.79 = ( Xs
% 3.22/1.79 = ( nil @ A ) ) ) ).
% 3.22/1.79
% 3.22/1.79 thf(fact_220_rev__append,axiom,
% 3.22/1.79 ! [A: $tType,Xs: list @ A,Ys: list @ A] :
% 3.22/1.79 ( ( rev @ A @ ( append @ A @ Xs @ Ys ) )
% 3.22/1.79 = ( append @ A @ ( rev @ A @ Ys ) @ ( rev @ A @ Xs ) ) ) ).
% 3.22/1.79
% 3.22/1.79 thf(fact_221_rev__singleton__conv,axiom,
% 3.22/1.79 ! [A: $tType,Xs: list @ A,X2: A] :
% 3.22/1.79 ( ( ( rev @ A @ Xs )
% 3.22/1.79 = ( cons @ A @ X2 @ ( nil @ A ) ) )
% 3.22/1.79 = ( Xs
% 3.22/1.79 = ( cons @ A @ X2 @ ( nil @ A ) ) ) ) ).
% 3.22/1.80
% 3.22/1.80 thf(fact_222_singleton__rev__conv,axiom,
% 3.22/1.80 ! [A: $tType,X2: A,Xs: list @ A] :
% 3.22/1.80 ( ( ( cons @ A @ X2 @ ( nil @ A ) )
% 3.22/1.80 = ( rev @ A @ Xs ) )
% 3.22/1.80 = ( Xs
% 3.22/1.80 = ( cons @ A @ X2 @ ( nil @ A ) ) ) ) ).
% 3.22/1.80
% 3.22/1.80 thf(fact_223_rev__eq__Cons__iff,axiom,
% 3.22/1.80 ! [A: $tType,Xs: list @ A,Y: A,Ys: list @ A] :
% 3.22/1.80 ( ( ( rev @ A @ Xs )
% 3.22/1.80 = ( cons @ A @ Y @ Ys ) )
% 3.22/1.80 = ( Xs
% 3.22/1.80 = ( append @ A @ ( rev @ A @ Ys ) @ ( cons @ A @ Y @ ( nil @ A ) ) ) ) ) ).
% 3.22/1.80
% 3.22/1.80 thf(fact_224_rev__map,axiom,
% 3.22/1.80 ! [A: $tType,B: $tType,F: B > A,Xs: list @ B] :
% 3.22/1.80 ( ( rev @ A @ ( map @ B @ A @ F @ Xs ) )
% 3.22/1.80 = ( map @ B @ A @ F @ ( rev @ B @ Xs ) ) ) ).
% 3.22/1.80
% 3.22/1.80 thf(fact_225_ord_OatMost__iff,axiom,
% 3.22/1.80 ! [A: $tType,I: A,Less_eq2: A > A > $o,K: A] :
% 3.22/1.80 ( ( member @ A @ I @ ( set_atMost @ A @ Less_eq2 @ K ) )
% 3.22/1.80 = ( Less_eq2 @ I @ K ) ) ).
% 3.22/1.80
% 3.22/1.80 thf(fact_226_ord_OgreaterThanAtMost__iff,axiom,
% 3.22/1.80 ! [A: $tType,I: A,Less_eq2: A > A > $o,Less: A > A > $o,L: A,U: A] :
% 3.22/1.80 ( ( member @ A @ I @ ( set_gr323396891AtMost @ A @ Less_eq2 @ Less @ L @ U ) )
% 3.22/1.80 = ( ( Less @ L @ I )
% 3.22/1.80 & ( Less_eq2 @ I @ U ) ) ) ).
% 3.22/1.80
% 3.22/1.80 thf(fact_227_rev_Osimps_I1_J,axiom,
% 3.22/1.80 ! [A: $tType] :
% 3.22/1.80 ( ( rev @ A @ ( nil @ A ) )
% 3.22/1.80 = ( nil @ A ) ) ).
% 3.22/1.80
% 3.22/1.80 thf(fact_228_rev__swap,axiom,
% 3.22/1.80 ! [A: $tType,Xs: list @ A,Ys: list @ A] :
% 3.22/1.80 ( ( ( rev @ A @ Xs )
% 3.22/1.80 = Ys )
% 3.22/1.80 = ( Xs
% 3.22/1.80 = ( rev @ A @ Ys ) ) ) ).
% 3.22/1.80
% 3.22/1.80 thf(fact_229_rev_Osimps_I2_J,axiom,
% 3.22/1.80 ! [A: $tType,X2: A,Xs: list @ A] :
% 3.22/1.80 ( ( rev @ A @ ( cons @ A @ X2 @ Xs ) )
% 3.22/1.80 = ( append @ A @ ( rev @ A @ Xs ) @ ( cons @ A @ X2 @ ( nil @ A ) ) ) ) ).
% 3.22/1.80
% 3.22/1.80 thf(fact_230_map__tailrec__rev,axiom,
% 3.22/1.80 ! [A: $tType,B: $tType] :
% 3.22/1.80 ( ( map_tailrec_rev @ B @ A )
% 3.22/1.80 = ( ^ [F3: B > A,As3: list @ B] : ( append @ A @ ( rev @ A @ ( map @ B @ A @ F3 @ As3 ) ) ) ) ) ).
% 3.22/1.80
% 3.22/1.80 thf(fact_231_list__of__aux__code_I1_J,axiom,
% 3.22/1.80 ! [A: $tType,Xs: list @ A] :
% 3.22/1.80 ( ( coindu1384447384of_aux @ A @ Xs @ ( coinductive_LNil @ A ) )
% 3.22/1.80 = ( rev @ A @ Xs ) ) ).
% 3.22/1.80
% 3.22/1.80 thf(fact_232_local_OgreaterThanAtMost__def,axiom,
% 3.22/1.80 ! [L: a,U: a] :
% 3.22/1.80 ( ( set_gr323396891AtMost @ a @ less_eq @ less @ L @ U )
% 3.22/1.80 = ( inf_inf @ ( set @ a ) @ ( set_greaterThan @ a @ less @ L ) @ ( set_atMost @ a @ less_eq @ U ) ) ) ).
% 3.22/1.80
% 3.22/1.80 thf(fact_233_local_Oord__eq__le__trans,axiom,
% 3.22/1.80 ! [A2: a,B2: a,C: a] :
% 3.22/1.80 ( ( A2 = B2 )
% 3.22/1.80 => ( ( less_eq @ B2 @ C )
% 3.22/1.80 => ( less_eq @ A2 @ C ) ) ) ).
% 3.22/1.80
% 3.22/1.80 thf(fact_234_local_Oord__le__eq__trans,axiom,
% 3.22/1.80 ! [A2: a,B2: a,C: a] :
% 3.22/1.80 ( ( less_eq @ A2 @ B2 )
% 3.22/1.80 => ( ( B2 = C )
% 3.22/1.80 => ( less_eq @ A2 @ C ) ) ) ).
% 3.22/1.80
% 3.22/1.80 thf(fact_235_local_Omax__def,axiom,
% 3.22/1.80 ! [A2: a,B2: a] :
% 3.22/1.80 ( ( ( less_eq @ A2 @ B2 )
% 3.22/1.80 => ( ( max @ a @ less_eq @ A2 @ B2 )
% 3.22/1.80 = B2 ) )
% 3.22/1.80 & ( ~ ( less_eq @ A2 @ B2 )
% 3.22/1.80 => ( ( max @ a @ less_eq @ A2 @ B2 )
% 3.22/1.80 = A2 ) ) ) ).
% 3.22/1.80
% 3.22/1.80 thf(fact_236_local_Omin__def,axiom,
% 3.22/1.80 ! [A2: a,B2: a] :
% 3.22/1.80 ( ( ( less_eq @ A2 @ B2 )
% 3.22/1.80 => ( ( min @ a @ less_eq @ A2 @ B2 )
% 3.22/1.80 = A2 ) )
% 3.22/1.80 & ( ~ ( less_eq @ A2 @ B2 )
% 3.22/1.80 => ( ( min @ a @ less_eq @ A2 @ B2 )
% 3.22/1.80 = B2 ) ) ) ).
% 3.22/1.80
% 3.22/1.80 thf(fact_237_local_OatMost__iff,axiom,
% 3.22/1.80 ! [I: a,K: a] :
% 3.22/1.80 ( ( member @ a @ I @ ( set_atMost @ a @ less_eq @ K ) )
% 3.22/1.80 = ( less_eq @ I @ K ) ) ).
% 3.22/1.80
% 3.22/1.80 thf(fact_238_local_OgreaterThanAtMost__iff,axiom,
% 3.22/1.80 ! [I: a,L: a,U: a] :
% 3.22/1.80 ( ( member @ a @ I @ ( set_gr323396891AtMost @ a @ less_eq @ less @ L @ U ) )
% 3.22/1.80 = ( ( less @ L @ I )
% 3.22/1.80 & ( less_eq @ I @ U ) ) ) ).
% 3.22/1.80
% 3.22/1.80 thf(fact_239_local_OatLeastLessThan__def,axiom,
% 3.22/1.80 ! [L: a,U: a] :
% 3.22/1.80 ( ( set_atLeastLessThan @ a @ less_eq @ less @ L @ U )
% 3.22/1.80 = ( inf_inf @ ( set @ a ) @ ( set_atLeast @ a @ less_eq @ L ) @ ( set_lessThan @ a @ less @ U ) ) ) ).
% 3.22/1.80
% 3.22/1.80 thf(fact_240_local_OatLeastAtMost__def,axiom,
% 3.22/1.80 ! [L: a,U: a] :
% 3.22/1.80 ( ( set_atLeastAtMost @ a @ less_eq @ L @ U )
% 3.22/1.80 = ( inf_inf @ ( set @ a ) @ ( set_atLeast @ a @ less_eq @ L ) @ ( set_atMost @ a @ less_eq @ U ) ) ) ).
% 3.22/1.80
% 3.22/1.80 thf(fact_241_local_OatLeast__iff,axiom,
% 3.22/1.80 ! [I: a,K: a] :
% 3.22/1.80 ( ( member @ a @ I @ ( set_atLeast @ a @ less_eq @ K ) )
% 3.22/1.80 = ( less_eq @ K @ I ) ) ).
% 3.22/1.80
% 3.22/1.80 thf(fact_242_local_OatLeastAtMost__iff,axiom,
% 3.22/1.80 ! [I: a,L: a,U: a] :
% 3.22/1.80 ( ( member @ a @ I @ ( set_atLeastAtMost @ a @ less_eq @ L @ U ) )
% 3.22/1.80 = ( ( less_eq @ L @ I )
% 3.22/1.80 & ( less_eq @ I @ U ) ) ) ).
% 3.22/1.80
% 3.22/1.80 thf(fact_243_local_OatLeastLessThan__iff,axiom,
% 3.22/1.80 ! [I: a,L: a,U: a] :
% 3.22/1.80 ( ( member @ a @ I @ ( set_atLeastLessThan @ a @ less_eq @ less @ L @ U ) )
% 3.22/1.80 = ( ( less_eq @ L @ I )
% 3.22/1.80 & ( less @ I @ U ) ) ) ).
% 3.22/1.80
% 3.22/1.80 thf(fact_244_ord_OatLeast__iff,axiom,
% 3.22/1.80 ! [A: $tType,I: A,Less_eq2: A > A > $o,K: A] :
% 3.22/1.80 ( ( member @ A @ I @ ( set_atLeast @ A @ Less_eq2 @ K ) )
% 3.22/1.80 = ( Less_eq2 @ K @ I ) ) ).
% 3.22/1.80
% 3.22/1.80 thf(fact_245_ord_OatLeastAtMost__iff,axiom,
% 3.22/1.80 ! [A: $tType,I: A,Less_eq2: A > A > $o,L: A,U: A] :
% 3.22/1.80 ( ( member @ A @ I @ ( set_atLeastAtMost @ A @ Less_eq2 @ L @ U ) )
% 3.22/1.80 = ( ( Less_eq2 @ L @ I )
% 3.22/1.80 & ( Less_eq2 @ I @ U ) ) ) ).
% 3.22/1.80
% 3.22/1.80 thf(fact_246_ord_OatLeastLessThan__iff,axiom,
% 3.22/1.80 ! [A: $tType,I: A,Less_eq2: A > A > $o,Less: A > A > $o,L: A,U: A] :
% 3.22/1.80 ( ( member @ A @ I @ ( set_atLeastLessThan @ A @ Less_eq2 @ Less @ L @ U ) )
% 3.22/1.80 = ( ( Less_eq2 @ L @ I )
% 3.22/1.80 & ( Less @ I @ U ) ) ) ).
% 3.22/1.80
% 3.22/1.80 thf(fact_247_ord_OatLeastLessThan__def,axiom,
% 3.22/1.80 ! [A: $tType] :
% 3.22/1.80 ( ( set_atLeastLessThan @ A )
% 3.22/1.80 = ( ^ [Less_eq: A > A > $o,Less2: A > A > $o,L2: A,U2: A] : ( inf_inf @ ( set @ A ) @ ( set_atLeast @ A @ Less_eq @ L2 ) @ ( set_lessThan @ A @ Less2 @ U2 ) ) ) ) ).
% 3.22/1.80
% 3.22/1.80 thf(fact_248_ord_OatLeastAtMost__def,axiom,
% 3.22/1.80 ! [A: $tType] :
% 3.22/1.80 ( ( set_atLeastAtMost @ A )
% 3.22/1.80 = ( ^ [Less_eq: A > A > $o,L2: A,U2: A] : ( inf_inf @ ( set @ A ) @ ( set_atLeast @ A @ Less_eq @ L2 ) @ ( set_atMost @ A @ Less_eq @ U2 ) ) ) ) ).
% 3.22/1.80
% 3.22/1.80 thf(fact_249_local_Olsorted_OLNil,axiom,
% 3.22/1.80 coinductive_lsorted @ a @ less_eq @ ( coinductive_LNil @ a ) ).
% 3.22/1.80
% 3.22/1.80 thf(fact_250_hd__rev,axiom,
% 3.22/1.80 ! [A: $tType,Xs: list @ A] :
% 3.22/1.80 ( ( Xs
% 3.22/1.80 != ( nil @ A ) )
% 3.22/1.80 => ( ( hd @ A @ ( rev @ A @ Xs ) )
% 3.22/1.80 = ( last @ A @ Xs ) ) ) ).
% 3.22/1.80
% 3.22/1.80 thf(fact_251_hd__append2,axiom,
% 3.22/1.80 ! [A: $tType,Xs: list @ A,Ys: list @ A] :
% 3.22/1.80 ( ( Xs
% 3.22/1.80 != ( nil @ A ) )
% 3.22/1.80 => ( ( hd @ A @ ( append @ A @ Xs @ Ys ) )
% 3.22/1.80 = ( hd @ A @ Xs ) ) ) ).
% 3.22/1.80
% 3.22/1.80 thf(fact_252_local_Olsorted__code_I1_J,axiom,
% 3.22/1.80 coinductive_lsorted @ a @ less_eq @ ( coinductive_LNil @ a ) ).
% 3.22/1.80
% 3.22/1.80 thf(tcon_fun___Lattices_Osemilattice__inf,axiom,
% 3.22/1.80 ! [A7: $tType,A8: $tType] :
% 3.22/1.80 ( ( semilattice_inf @ A8 @ ( type2 @ A8 ) )
% 3.22/1.80 => ( semilattice_inf @ ( A7 > A8 ) @ ( type2 @ ( A7 > A8 ) ) ) ) ).
% 3.22/1.80
% 3.22/1.80 thf(tcon_fun___Lattices_Olattice,axiom,
% 3.22/1.80 ! [A7: $tType,A8: $tType] :
% 3.22/1.80 ( ( lattice @ A8 @ ( type2 @ A8 ) )
% 3.22/1.80 => ( lattice @ ( A7 > A8 ) @ ( type2 @ ( A7 > A8 ) ) ) ) ).
% 3.22/1.80
% 3.22/1.80 thf(tcon_fun___Orderings_Oord,axiom,
% 3.22/1.80 ! [A7: $tType,A8: $tType] :
% 3.22/1.80 ( ( ord @ A8 @ ( type2 @ A8 ) )
% 3.22/1.80 => ( ord @ ( A7 > A8 ) @ ( type2 @ ( A7 > A8 ) ) ) ) ).
% 3.22/1.80
% 3.22/1.80 thf(tcon_Set_Oset___Lattices_Osemilattice__inf_1,axiom,
% 3.22/1.80 ! [A7: $tType] : ( semilattice_inf @ ( set @ A7 ) @ ( type2 @ ( set @ A7 ) ) ) ).
% 3.22/1.80
% 3.22/1.80 thf(tcon_Set_Oset___Lattices_Olattice_2,axiom,
% 3.22/1.80 ! [A7: $tType] : ( lattice @ ( set @ A7 ) @ ( type2 @ ( set @ A7 ) ) ) ).
% 3.22/1.80
% 3.22/1.80 thf(tcon_Set_Oset___Orderings_Oord_3,axiom,
% 3.22/1.80 ! [A7: $tType] : ( ord @ ( set @ A7 ) @ ( type2 @ ( set @ A7 ) ) ) ).
% 3.22/1.80
% 3.22/1.80 thf(tcon_HOL_Obool___Lattices_Osemilattice__inf_4,axiom,
% 3.22/1.80 semilattice_inf @ $o @ ( type2 @ $o ) ).
% 3.22/1.80
% 3.22/1.80 thf(tcon_HOL_Obool___Lattices_Olattice_5,axiom,
% 3.22/1.80 lattice @ $o @ ( type2 @ $o ) ).
% 3.22/1.80
% 3.22/1.80 thf(tcon_HOL_Obool___Orderings_Oord_6,axiom,
% 3.22/1.80 ord @ $o @ ( type2 @ $o ) ).
% 3.22/1.80
% 3.22/1.80 thf(conj_0,conjecture,
% 3.22/1.80 ( ( coinductive_lnull @ a @ ( hammin1328233080lmerge @ a @ less @ xs @ ys ) )
% 3.22/1.80 = ( ( coinductive_lnull @ a @ xs )
% 3.22/1.80 | ( coinductive_lnull @ a @ ys ) ) ) ).
% 3.22/1.80 ------------------------
% 3.33/1.83 % (2360)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_2221 for (2999ds/4Mi)
% 3.33/1.83 % (2361)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_2221 for (2999ds/27Mi)
% 3.33/1.83 % (2359)lrs+1002_1:8_bd=off:fd=off:hud=10:tnu=1:i=183:si=on:rtra=on_0 on DTF2THF_2221 for (2999ds/183Mi)
% 3.33/1.83 % (2362)lrs+10_1:1_au=on:inj=on:i=2:si=on:rtra=on_0 on DTF2THF_2221 for (2999ds/2Mi)
% 3.33/1.83 % (2363)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_2221 for (2999ds/2Mi)
% 3.33/1.83 % (2364)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_2221 for (2999ds/275Mi)
% 3.33/1.83 % (2365)lrs+1004_1:128_cond=on:e2e=on:sp=weighted_frequency:i=18:si=on:rtra=on_0 on DTF2THF_2221 for (2999ds/18Mi)
% 3.33/1.83 % (2362)Instruction limit reached!
% 3.33/1.83 % (2362)------------------------------
% 3.33/1.83 % (2362)Version: Vampire 4.8 (commit 7b44b1c2f on 2025-07-15 09:50:17 +0100)
% 3.33/1.83 % (2362)Termination reason: Unknown
% 3.33/1.83 % (2362)Termination phase: shuffling
% 3.33/1.83
% 3.33/1.83 % (2362)Memory used [KB]: 1279
% 3.33/1.83 % (2362)Time elapsed: 0.003 s
% 3.33/1.83 % (2362)Instructions burned: 2 (million)
% 3.33/1.83 % (2362)------------------------------
% 3.33/1.83 % (2362)------------------------------
% 3.33/1.83 % (2363)Instruction limit reached!
% 3.33/1.83 % (2363)------------------------------
% 3.33/1.83 % (2363)Version: Vampire 4.8 (commit 7b44b1c2f on 2025-07-15 09:50:17 +0100)
% 3.33/1.83 % (2363)Termination reason: Unknown
% 3.33/1.83 % (2363)Termination phase: shuffling
% 3.33/1.83
% 3.33/1.83 % (2363)Memory used [KB]: 1279
% 3.33/1.83 % (2363)Time elapsed: 0.003 s
% 3.33/1.83 % (2363)Instructions burned: 2 (million)
% 3.33/1.83 % (2363)------------------------------
% 3.33/1.83 % (2363)------------------------------
% 3.33/1.83 % (2360)Instruction limit reached!
% 3.33/1.83 % (2360)------------------------------
% 3.33/1.83 % (2360)Version: Vampire 4.8 (commit 7b44b1c2f on 2025-07-15 09:50:17 +0100)
% 3.33/1.83 % (2360)Termination reason: Unknown
% 3.33/1.83 % (2360)Termination phase: shuffling
% 3.33/1.83
% 3.33/1.83 % (2360)Memory used [KB]: 1407
% 3.33/1.83 % (2360)Time elapsed: 0.004 s
% 3.33/1.83 % (2360)Instructions burned: 4 (million)
% 3.33/1.83 % (2360)------------------------------
% 3.33/1.83 % (2360)------------------------------
% 3.33/1.84 % (2365)Instruction limit reached!
% 3.33/1.84 % (2365)------------------------------
% 3.33/1.84 % (2365)Version: Vampire 4.8 (commit 7b44b1c2f on 2025-07-15 09:50:17 +0100)
% 3.33/1.84 % (2365)Termination reason: Unknown
% 3.33/1.84 % (2365)Termination phase: shuffling
% 3.33/1.84
% 3.33/1.84 % (2365)Memory used [KB]: 1663
% 3.33/1.84 % (2365)Time elapsed: 0.011 s
% 3.33/1.84 % (2365)Instructions burned: 18 (million)
% 3.33/1.84 % (2365)------------------------------
% 3.33/1.84 % (2365)------------------------------
% 3.33/1.84 % (2361)Instruction limit reached!
% 3.33/1.84 % (2361)------------------------------
% 3.33/1.84 % (2361)Version: Vampire 4.8 (commit 7b44b1c2f on 2025-07-15 09:50:17 +0100)
% 3.33/1.84 % (2361)Termination reason: Unknown
% 3.33/1.84 % (2361)Termination phase: Property scanning
% 3.33/1.84
% 3.33/1.84 % (2361)Memory used [KB]: 1791
% 3.33/1.84 % (2361)Time elapsed: 0.016 s
% 3.33/1.84 % (2361)Instructions burned: 28 (million)
% 3.33/1.84 % (2361)------------------------------
% 3.33/1.84 % (2361)------------------------------
% 3.33/1.85 % (2367)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_2221 for (2999ds/37Mi)
% 3.33/1.85 % (2366)lrs+10_1:1_bet=on:cnfonf=off:fd=off:hud=5:inj=on:i=3:si=on:rtra=on_0 on DTF2THF_2221 for (2999ds/3Mi)
% 3.33/1.85 % (2368)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_2221 for (2999ds/15Mi)
% 3.33/1.85 % (2366)Instruction limit reached!
% 3.33/1.85 % (2366)------------------------------
% 3.33/1.85 % (2366)Version: Vampire 4.8 (commit 7b44b1c2f on 2025-07-15 09:50:17 +0100)
% 3.33/1.85 % (2366)Termination reason: Unknown
% 3.33/1.85 % (2366)Termination phase: shuffling
% 3.33/1.85
% 3.33/1.85 % (2366)Memory used [KB]: 1407
% 3.33/1.85 % (2366)Time elapsed: 0.003 s
% 3.33/1.85 % (2366)Instructions burned: 3 (million)
% 3.33/1.85 % (2366)------------------------------
% 3.33/1.85 % (2366)------------------------------
% 3.33/1.85 % (2364)First to succeed.
% 3.33/1.85 % (2369)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_2221 for (2999ds/3Mi)
% 3.33/1.85 % (2368)Instruction limit reached!
% 3.33/1.85 % (2368)------------------------------
% 3.33/1.85 % (2368)Version: Vampire 4.8 (commit 7b44b1c2f on 2025-07-15 09:50:17 +0100)
% 3.33/1.85 % (2368)Termination reason: Unknown
% 3.33/1.85 % (2368)Termination phase: shuffling
% 3.33/1.85
% 3.33/1.85 % (2368)Memory used [KB]: 1535
% 3.33/1.85 % (2368)Time elapsed: 0.009 s
% 3.33/1.85 % (2368)Instructions burned: 15 (million)
% 3.33/1.85 % (2368)------------------------------
% 3.33/1.85 % (2368)------------------------------
% 3.33/1.86 % (2364)Refutation found. Thanks to Tanya!
% 3.33/1.86 % SZS status Theorem for DTF2THF_2221
% 3.33/1.86 % SZS output start Proof for DTF2THF_2221
% 3.33/1.86 thf(type_def_5, type, itself: ($tType) > $tType).
% 3.33/1.86 thf(type_def_7, type, list: ($tType) > $tType).
% 3.33/1.86 thf(type_def_8, type, set: ($tType) > $tType).
% 3.33/1.86 thf(type_def_9, type, coinductive_llist: ($tType) > $tType).
% 3.33/1.86 thf(type_def_10, type, a: $tType).
% 3.33/1.86 thf(func_def_0, type, coinductive_llist: ($tType) > $tType).
% 3.33/1.86 thf(func_def_1, type, list: ($tType) > $tType).
% 3.33/1.86 thf(func_def_2, type, set: ($tType) > $tType).
% 3.33/1.86 thf(func_def_3, type, itself: ($tType) > $tType).
% 3.33/1.86 thf(func_def_4, type, a: $tType).
% 3.33/1.86 thf(func_def_5, type, type: !>[X0: $tType]:(itself @ X0 > $o)).
% 3.33/1.86 thf(func_def_6, type, ord: !>[X0: $tType]:(itself @ X0 > $o)).
% 3.33/1.86 thf(func_def_7, type, lattice: !>[X0: $tType]:(itself @ X0 > $o)).
% 3.33/1.86 thf(func_def_8, type, semilattice_inf: !>[X0: $tType]:(itself @ X0 > $o)).
% 3.33/1.86 thf(func_def_9, type, bNF_Greatest_Shift: !>[X0: $tType]:(set @ list @ X0 > X0 > set @ list @ X0)).
% 3.33/1.86 thf(func_def_10, type, bNF_Greatest_Succ: !>[X0: $tType]:(set @ list @ X0 > list @ X0 > set @ X0)).
% 3.33/1.86 thf(func_def_11, type, bNF_Greatest_shift: !>[X0: $tType, X1: $tType]:((list @ X0 > X1) > X0 > list @ X0 > X1)).
% 3.33/1.86 thf(func_def_12, type, coindu1384447384of_aux: !>[X0: $tType]:(list @ X0 > coinductive_llist @ X0 > list @ X0)).
% 3.33/1.86 thf(func_def_13, type, coinductive_LNil: !>[X0: $tType]:(coinductive_llist @ X0)).
% 3.33/1.86 thf(func_def_14, type, coinductive_lnull: !>[X0: $tType]:(coinductive_llist @ X0 > $o)).
% 3.33/1.86 thf(func_def_15, type, coinductive_lsorted: !>[X0: $tType]:((X0 > X0 > $o) > coinductive_llist @ X0 > $o)).
% 3.33/1.86 thf(func_def_16, type, hammin1328233080lmerge: !>[X0: $tType]:((X0 > X0 > $o) > coinductive_llist @ X0 > coinductive_llist @ X0 > coinductive_llist @ X0)).
% 3.33/1.86 thf(func_def_17, type, hammin1138290136lmerge: !>[X0: $tType]:(coinductive_llist @ X0 > coinductive_llist @ X0 > coinductive_llist @ X0)).
% 3.33/1.86 thf(func_def_18, type, inf_inf: !>[X0: $tType]:(X0 > X0 > X0)).
% 3.33/1.86 thf(func_def_19, type, append: !>[X0: $tType]:(list @ X0 > list @ X0 > list @ X0)).
% 3.33/1.86 thf(func_def_20, type, bind: !>[X0: $tType, X1: $tType]:(list @ X0 > (X0 > list @ X1) > list @ X1)).
% 3.33/1.86 thf(func_def_21, type, butlast: !>[X0: $tType]:(list @ X0 > list @ X0)).
% 3.33/1.86 thf(func_def_22, type, insert: !>[X0: $tType]:(X0 > list @ X0 > list @ X0)).
% 3.33/1.86 thf(func_def_23, type, last: !>[X0: $tType]:(list @ X0 > X0)).
% 3.33/1.86 thf(func_def_24, type, cons: !>[X0: $tType]:(X0 > list @ X0 > list @ X0)).
% 3.33/1.86 thf(func_def_25, type, nil: !>[X0: $tType]:(list @ X0)).
% 3.33/1.86 thf(func_def_26, type, hd: !>[X0: $tType]:(list @ X0 > X0)).
% 3.33/1.86 thf(func_def_27, type, map: !>[X0: $tType, X1: $tType]:((X0 > X1) > list @ X0 > list @ X1)).
% 3.33/1.86 thf(func_def_28, type, list_ex1: !>[X0: $tType]:((X0 > $o) > list @ X0 > $o)).
% 3.33/1.86 thf(func_def_29, type, map_tailrec: !>[X0: $tType, X1: $tType]:((X0 > X1) > list @ X0 > list @ X1)).
% 3.33/1.86 thf(func_def_30, type, map_tailrec_rev: !>[X0: $tType, X1: $tType]:((X0 > X1) > list @ X0 > list @ X1 > list @ X1)).
% 3.33/1.86 thf(func_def_31, type, maps: !>[X0: $tType, X1: $tType]:((X0 > list @ X1) > list @ X0 > list @ X1)).
% 3.33/1.86 thf(func_def_32, type, lexordp: !>[X0: $tType]:((X0 > X0 > $o) > list @ X0 > list @ X0 > $o)).
% 3.33/1.86 thf(func_def_33, type, lexordp_eq: !>[X0: $tType]:((X0 > X0 > $o) > list @ X0 > list @ X0 > $o)).
% 3.33/1.86 thf(func_def_34, type, product_lists: !>[X0: $tType]:(list @ list @ X0 > list @ list @ X0)).
% 3.33/1.86 thf(func_def_35, type, rev: !>[X0: $tType]:(list @ X0 > list @ X0)).
% 3.33/1.86 thf(func_def_36, type, rotate1: !>[X0: $tType]:(list @ X0 > list @ X0)).
% 3.33/1.86 thf(func_def_37, type, sublists: !>[X0: $tType]:(list @ X0 > list @ list @ X0)).
% 3.33/1.86 thf(func_def_38, type, max: !>[X0: $tType]:((X0 > X0 > $o) > X0 > X0 > X0)).
% 3.33/1.86 thf(func_def_39, type, min: !>[X0: $tType]:((X0 > X0 > $o) > X0 > X0 > X0)).
% 3.33/1.86 thf(func_def_40, type, type2: !>[X0: $tType]:(itself @ X0)).
% 3.33/1.86 thf(func_def_41, type, collect: !>[X0: $tType]:((X0 > $o) > set @ X0)).
% 3.33/1.86 thf(func_def_42, type, set_atLeast: !>[X0: $tType]:((X0 > X0 > $o) > X0 > set @ X0)).
% 3.33/1.86 thf(func_def_43, type, set_atLeastAtMost: !>[X0: $tType]:((X0 > X0 > $o) > X0 > X0 > set @ X0)).
% 3.33/1.86 thf(func_def_44, type, set_atLeastLessThan: !>[X0: $tType]:((X0 > X0 > $o) > (X0 > X0 > $o) > X0 > X0 > set @ X0)).
% 3.33/1.86 thf(func_def_45, type, set_atMost: !>[X0: $tType]:((X0 > X0 > $o) > X0 > set @ X0)).
% 3.33/1.86 thf(func_def_46, type, set_greaterThan: !>[X0: $tType]:((X0 > X0 > $o) > X0 > set @ X0)).
% 3.33/1.86 thf(func_def_47, type, set_gr323396891AtMost: !>[X0: $tType]:((X0 > X0 > $o) > (X0 > X0 > $o) > X0 > X0 > set @ X0)).
% 3.33/1.86 thf(func_def_48, type, set_gr1161524159ssThan: !>[X0: $tType]:((X0 > X0 > $o) > X0 > X0 > set @ X0)).
% 3.33/1.86 thf(func_def_49, type, set_lessThan: !>[X0: $tType]:((X0 > X0 > $o) > X0 > set @ X0)).
% 3.33/1.86 thf(func_def_50, type, prefixes: !>[X0: $tType]:(list @ X0 > list @ list @ X0)).
% 3.33/1.86 thf(func_def_51, type, prefixes_rel: !>[X0: $tType]:(list @ X0 > list @ X0 > $o)).
% 3.33/1.86 thf(func_def_52, type, strict_suffix: !>[X0: $tType]:(list @ X0 > list @ X0 > $o)).
% 3.33/1.86 thf(func_def_53, type, accp: !>[X0: $tType]:((X0 > X0 > $o) > X0 > $o)).
% 3.33/1.86 thf(func_def_54, type, member: !>[X0: $tType]:(X0 > set @ X0 > $o)).
% 3.33/1.86 thf(func_def_55, type, less: a > a > $o).
% 3.33/1.86 thf(func_def_56, type, less_eq: a > a > $o).
% 3.33/1.86 thf(func_def_57, type, xs: coinductive_llist @ a).
% 3.33/1.86 thf(func_def_58, type, ys: coinductive_llist @ a).
% 3.33/1.86 thf(func_def_75, type, sK0: !>[X0: $tType, X1: $tType]:((X1 > X0) > (X1 > X0) > X1)).
% 3.33/1.86 thf(func_def_77, type, ph2: !>[X0: $tType]:(X0)).
% 3.33/1.86 thf(f722,plain,(
% 3.33/1.86 $false),
% 3.33/1.86 inference(subsumption_resolution,[status(thm)],[f721,f705])).
% 3.33/1.86 thf(f705,plain,(
% 3.33/1.86 ((coinductive_lnull @ a @ xs) != $true)),
% 3.33/1.86 inference(subsumption_resolution,[status(thm)],[f698,f683])).
% 3.33/1.86 thf(f683,plain,(
% 3.33/1.86 ( ! [X0 : $tType,X2 : coinductive_llist @ X0,X3 : X0 > X0 > $o,X1 : coinductive_llist @ X0] : (((coinductive_lnull @ X0 @ (hammin1328233080lmerge @ X0 @ X3 @ X1 @ X2)) = $true) | ((coinductive_lnull @ X0 @ X1) != $true)) )),
% 3.33/1.86 inference(cnf_transformation,[status(thm)],[f641])).
% 3.33/1.86 thf(f641,plain,(
% 3.33/1.86 ! [X0 : $tType,X1 : coinductive_llist @ X0,X2 : coinductive_llist @ X0,X3 : X0 > X0 > $o] : ((($true != (coinductive_lnull @ X0 @ X2)) & ((coinductive_lnull @ X0 @ X1) != $true)) | ((coinductive_lnull @ X0 @ (hammin1328233080lmerge @ X0 @ X3 @ X1 @ X2)) = $true))),
% 3.33/1.86 inference(ennf_transformation,[status(thm)],[f577])).
% 3.33/1.86 thf(f577,plain,(
% 3.33/1.86 ! [X0 : $tType,X1 : coinductive_llist @ X0,X2 : coinductive_llist @ X0,X3 : X0 > X0 > $o] : ((($true = (coinductive_lnull @ X0 @ X2)) | ((coinductive_lnull @ X0 @ X1) = $true)) => ((coinductive_lnull @ X0 @ (hammin1328233080lmerge @ X0 @ X3 @ X1 @ X2)) = $true))),
% 3.33/1.86 inference(fool_elimination,[status(thm)],[f576])).
% 3.33/1.86 thf(f576,plain,(
% 3.33/1.86 ! [X0 : $tType,X1 : coinductive_llist @ X0,X2 : coinductive_llist @ X0,X3 : X0 > X0 > $o] : (((coinductive_lnull @ X0 @ X2) | (coinductive_lnull @ X0 @ X1)) => (coinductive_lnull @ X0 @ (hammin1328233080lmerge @ X0 @ X3 @ X1 @ X2)))),
% 3.33/1.86 inference(rectify,[status(thm)],[f9])).
% 3.33/1.86 thf(f9,axiom,(
% 3.33/1.86 ! [X0 : $tType,X3 : coinductive_llist @ X0,X4 : coinductive_llist @ X0,X8 : X0 > X0 > $o] : (((coinductive_lnull @ X0 @ X4) | (coinductive_lnull @ X0 @ X3)) => (coinductive_lnull @ X0 @ (hammin1328233080lmerge @ X0 @ X8 @ X3 @ X4)))),
% 3.33/1.86 file('/export/starexec/sandbox/tmp/tmp.QfeLN0lqUF/DTF2THF_2221.p',fact_8_ord_Olmerge_Odisc_I1_J)).
% 3.33/1.86 thf(f698,plain,(
% 3.33/1.86 ((coinductive_lnull @ a @ xs) != $true) | ((coinductive_lnull @ a @ (hammin1328233080lmerge @ a @ less @ xs @ ys)) != $true)),
% 3.33/1.86 inference(cnf_transformation,[status(thm)],[f666])).
% 3.33/1.86 thf(f666,plain,(
% 3.33/1.86 ((((coinductive_lnull @ a @ xs) != $true) & ((coinductive_lnull @ a @ ys) != $true)) | ((coinductive_lnull @ a @ (hammin1328233080lmerge @ a @ less @ xs @ ys)) != $true)) & (((coinductive_lnull @ a @ xs) = $true) | ((coinductive_lnull @ a @ ys) = $true) | ((coinductive_lnull @ a @ (hammin1328233080lmerge @ a @ less @ xs @ ys)) = $true))),
% 3.33/1.86 inference(flattening,[status(thm)],[f665])).
% 3.33/1.86 thf(f665,plain,(
% 3.33/1.86 ((((coinductive_lnull @ a @ xs) != $true) & ((coinductive_lnull @ a @ ys) != $true)) | ((coinductive_lnull @ a @ (hammin1328233080lmerge @ a @ less @ xs @ ys)) != $true)) & ((((coinductive_lnull @ a @ xs) = $true) | ((coinductive_lnull @ a @ ys) = $true)) | ((coinductive_lnull @ a @ (hammin1328233080lmerge @ a @ less @ xs @ ys)) = $true))),
% 3.33/1.86 inference(nnf_transformation,[status(thm)],[f648])).
% 3.33/1.86 thf(f648,plain,(
% 3.33/1.86 ((coinductive_lnull @ a @ (hammin1328233080lmerge @ a @ less @ xs @ ys)) = $true) <~> (((coinductive_lnull @ a @ xs) = $true) | ((coinductive_lnull @ a @ ys) = $true))),
% 3.33/1.86 inference(ennf_transformation,[status(thm)],[f341])).
% 3.33/1.86 thf(f341,plain,(
% 3.33/1.86 ~((((coinductive_lnull @ a @ xs) = $true) | ((coinductive_lnull @ a @ ys) = $true)) <=> ((coinductive_lnull @ a @ (hammin1328233080lmerge @ a @ less @ xs @ ys)) = $true))),
% 3.33/1.86 inference(fool_elimination,[status(thm)],[f340])).
% 3.33/1.86 thf(f340,plain,(
% 3.33/1.86 ~((coinductive_lnull @ a @ (hammin1328233080lmerge @ a @ less @ xs @ ys)) = (coinductive_lnull @ a @ xs) | (coinductive_lnull @ a @ ys))),
% 3.33/1.86 inference(rectify,[status(thm)],[f264])).
% 3.33/1.86 thf(f264,negated_conjecture,(
% 3.33/1.86 ~((coinductive_lnull @ a @ (hammin1328233080lmerge @ a @ less @ xs @ ys)) = (coinductive_lnull @ a @ xs) | (coinductive_lnull @ a @ ys))),
% 3.33/1.86 inference(negated_conjecture,[status(cth)],[f263])).
% 3.33/1.86 thf(f263,conjecture,(
% 3.33/1.86 ((coinductive_lnull @ a @ (hammin1328233080lmerge @ a @ less @ xs @ ys)) = (coinductive_lnull @ a @ xs) | (coinductive_lnull @ a @ ys))),
% 3.33/1.86 file('/export/starexec/sandbox/tmp/tmp.QfeLN0lqUF/DTF2THF_2221.p',conj_0)).
% 3.33/1.86 thf(f721,plain,(
% 3.33/1.86 ((coinductive_lnull @ a @ xs) = $true)),
% 3.33/1.86 inference(subsumption_resolution,[status(thm)],[f720,f706])).
% 3.33/1.86 thf(f706,plain,(
% 3.33/1.86 ((coinductive_lnull @ a @ ys) != $true)),
% 3.33/1.86 inference(subsumption_resolution,[status(thm)],[f697,f677])).
% 3.33/1.86 thf(f677,plain,(
% 3.33/1.86 ( ! [X0 : $tType,X2 : coinductive_llist @ X0,X3 : coinductive_llist @ X0,X1 : X0 > X0 > $o] : (($true = (coinductive_lnull @ X0 @ (hammin1328233080lmerge @ X0 @ X1 @ X2 @ X3))) | ((coinductive_lnull @ X0 @ X3) != $true)) )),
% 3.33/1.86 inference(cnf_transformation,[status(thm)],[f660])).
% 3.33/1.86 thf(f660,plain,(
% 3.33/1.86 ! [X0 : $tType,X1 : X0 > X0 > $o,X2 : coinductive_llist @ X0,X3 : coinductive_llist @ X0] : (((((coinductive_lnull @ X0 @ X3) != $true) & ($true != (coinductive_lnull @ X0 @ X2))) | ($true = (coinductive_lnull @ X0 @ (hammin1328233080lmerge @ X0 @ X1 @ X2 @ X3)))) & (($true != (coinductive_lnull @ X0 @ (hammin1328233080lmerge @ X0 @ X1 @ X2 @ X3))) | ((coinductive_lnull @ X0 @ X3) = $true) | ($true = (coinductive_lnull @ X0 @ X2))))),
% 3.33/1.86 inference(flattening,[status(thm)],[f659])).
% 3.33/1.86 thf(f659,plain,(
% 3.33/1.86 ! [X0 : $tType,X1 : X0 > X0 > $o,X2 : coinductive_llist @ X0,X3 : coinductive_llist @ X0] : (((((coinductive_lnull @ X0 @ X3) != $true) & ($true != (coinductive_lnull @ X0 @ X2))) | ($true = (coinductive_lnull @ X0 @ (hammin1328233080lmerge @ X0 @ X1 @ X2 @ X3)))) & (($true != (coinductive_lnull @ X0 @ (hammin1328233080lmerge @ X0 @ X1 @ X2 @ X3))) | (((coinductive_lnull @ X0 @ X3) = $true) | ($true = (coinductive_lnull @ X0 @ X2)))))),
% 3.33/1.86 inference(nnf_transformation,[status(thm)],[f636])).
% 3.33/1.86 thf(f636,plain,(
% 3.33/1.86 ! [X0 : $tType,X1 : X0 > X0 > $o,X2 : coinductive_llist @ X0,X3 : coinductive_llist @ X0] : ((((coinductive_lnull @ X0 @ X3) != $true) & ($true != (coinductive_lnull @ X0 @ X2))) <=> ($true != (coinductive_lnull @ X0 @ (hammin1328233080lmerge @ X0 @ X1 @ X2 @ X3))))),
% 3.33/1.86 inference(flattening,[status(thm)],[f421])).
% 3.33/1.86 thf(f421,plain,(
% 3.33/1.86 ! [X0 : $tType,X1 : X0 > X0 > $o,X2 : coinductive_llist @ X0,X3 : coinductive_llist @ X0] : ((~((coinductive_lnull @ X0 @ X3) = $true) & ~($true = (coinductive_lnull @ X0 @ X2))) <=> ~($true = (coinductive_lnull @ X0 @ (hammin1328233080lmerge @ X0 @ X1 @ X2 @ X3))))),
% 3.33/1.86 inference(fool_elimination,[status(thm)],[f420])).
% 3.33/1.86 thf(f420,plain,(
% 3.33/1.86 ! [X0 : $tType,X1 : X0 > X0 > $o,X2 : coinductive_llist @ X0,X3 : coinductive_llist @ X0] : (~(coinductive_lnull @ X0 @ X3) & ~(coinductive_lnull @ X0 @ X2) = ~(coinductive_lnull @ X0 @ (hammin1328233080lmerge @ X0 @ X1 @ X2 @ X3)))),
% 3.33/1.86 inference(rectify,[status(thm)],[f10])).
% 3.33/1.86 thf(f10,axiom,(
% 3.33/1.86 ! [X0 : $tType,X8 : X0 > X0 > $o,X3 : coinductive_llist @ X0,X4 : coinductive_llist @ X0] : (~(coinductive_lnull @ X0 @ X4) & ~(coinductive_lnull @ X0 @ X3) = ~(coinductive_lnull @ X0 @ (hammin1328233080lmerge @ X0 @ X8 @ X3 @ X4)))),
% 3.33/1.86 file('/export/starexec/sandbox/tmp/tmp.QfeLN0lqUF/DTF2THF_2221.p',fact_9_ord_Olmerge_Odisc__iff_I2_J)).
% 3.33/1.86 thf(f697,plain,(
% 3.33/1.86 ((coinductive_lnull @ a @ ys) != $true) | ((coinductive_lnull @ a @ (hammin1328233080lmerge @ a @ less @ xs @ ys)) != $true)),
% 3.33/1.86 inference(cnf_transformation,[status(thm)],[f666])).
% 3.33/1.86 thf(f720,plain,(
% 3.33/1.86 ((coinductive_lnull @ a @ ys) = $true) | ((coinductive_lnull @ a @ xs) = $true)),
% 3.33/1.86 inference(trivial_inequality_removal,[status(thm)],[f713])).
% 3.33/1.86 thf(f713,plain,(
% 3.33/1.86 ((coinductive_lnull @ a @ xs) = $true) | ((coinductive_lnull @ a @ ys) = $true) | ($true != $true)),
% 3.33/1.86 inference(superposition,[status(thm)],[f690,f708])).
% 3.33/1.86 thf(f708,plain,(
% 3.33/1.86 ((coinductive_lnull @ a @ (hammin1328233080lmerge @ a @ less @ xs @ ys)) = $true)),
% 3.33/1.86 inference(subsumption_resolution,[status(thm)],[f707,f705])).
% 3.33/1.86 thf(f707,plain,(
% 3.33/1.86 ((coinductive_lnull @ a @ (hammin1328233080lmerge @ a @ less @ xs @ ys)) = $true) | ((coinductive_lnull @ a @ xs) = $true)),
% 3.33/1.86 inference(subsumption_resolution,[status(thm)],[f696,f706])).
% 3.33/1.86 thf(f696,plain,(
% 3.33/1.86 ((coinductive_lnull @ a @ ys) = $true) | ((coinductive_lnull @ a @ (hammin1328233080lmerge @ a @ less @ xs @ ys)) = $true) | ((coinductive_lnull @ a @ xs) = $true)),
% 3.33/1.86 inference(cnf_transformation,[status(thm)],[f666])).
% 3.33/1.86 thf(f690,plain,(
% 3.33/1.86 ( ! [X0 : $tType,X2 : coinductive_llist @ X0,X3 : X0 > X0 > $o,X1 : coinductive_llist @ X0] : (((coinductive_lnull @ X0 @ (hammin1328233080lmerge @ X0 @ X3 @ X1 @ X2)) != $true) | ((coinductive_lnull @ X0 @ X1) = $true) | ($true = (coinductive_lnull @ X0 @ X2))) )),
% 3.33/1.86 inference(cnf_transformation,[status(thm)],[f654])).
% 3.33/1.86 thf(f654,plain,(
% 3.33/1.86 ! [X0 : $tType,X1 : coinductive_llist @ X0,X2 : coinductive_llist @ X0,X3 : X0 > X0 > $o] : (($true = (coinductive_lnull @ X0 @ X2)) | ((coinductive_lnull @ X0 @ X1) = $true) | ((coinductive_lnull @ X0 @ (hammin1328233080lmerge @ X0 @ X3 @ X1 @ X2)) != $true))),
% 3.33/1.86 inference(flattening,[status(thm)],[f653])).
% 3.33/1.86 thf(f653,plain,(
% 3.33/1.86 ! [X0 : $tType,X1 : coinductive_llist @ X0,X2 : coinductive_llist @ X0,X3 : X0 > X0 > $o] : ((((coinductive_lnull @ X0 @ (hammin1328233080lmerge @ X0 @ X3 @ X1 @ X2)) != $true) | ($true = (coinductive_lnull @ X0 @ X2))) | ((coinductive_lnull @ X0 @ X1) = $true))),
% 3.33/1.86 inference(ennf_transformation,[status(thm)],[f634])).
% 3.33/1.86 thf(f634,plain,(
% 3.33/1.86 ! [X0 : $tType,X1 : coinductive_llist @ X0,X2 : coinductive_llist @ X0,X3 : X0 > X0 > $o] : (((coinductive_lnull @ X0 @ X1) != $true) => (($true != (coinductive_lnull @ X0 @ X2)) => ((coinductive_lnull @ X0 @ (hammin1328233080lmerge @ X0 @ X3 @ X1 @ X2)) != $true)))),
% 3.33/1.86 inference(flattening,[status(thm)],[f593])).
% 3.33/1.86 thf(f593,plain,(
% 3.33/1.86 ! [X0 : $tType,X1 : coinductive_llist @ X0,X2 : coinductive_llist @ X0,X3 : X0 > X0 > $o] : (~((coinductive_lnull @ X0 @ X1) = $true) => (~($true = (coinductive_lnull @ X0 @ X2)) => ~((coinductive_lnull @ X0 @ (hammin1328233080lmerge @ X0 @ X3 @ X1 @ X2)) = $true)))),
% 3.33/1.86 inference(fool_elimination,[status(thm)],[f592])).
% 3.33/1.86 thf(f592,plain,(
% 3.33/1.86 ! [X0 : $tType,X1 : coinductive_llist @ X0,X2 : coinductive_llist @ X0,X3 : X0 > X0 > $o] : (~(coinductive_lnull @ X0 @ X1) => (~(coinductive_lnull @ X0 @ X2) => ~(coinductive_lnull @ X0 @ (hammin1328233080lmerge @ X0 @ X3 @ X1 @ X2))))),
% 3.33/1.86 inference(rectify,[status(thm)],[f8])).
% 3.33/1.86 thf(f8,axiom,(
% 3.33/1.86 ! [X0 : $tType,X3 : coinductive_llist @ X0,X4 : coinductive_llist @ X0,X8 : X0 > X0 > $o] : (~(coinductive_lnull @ X0 @ X3) => (~(coinductive_lnull @ X0 @ X4) => ~(coinductive_lnull @ X0 @ (hammin1328233080lmerge @ X0 @ X8 @ X3 @ X4))))),
% 3.33/1.86 file('/export/starexec/sandbox/tmp/tmp.QfeLN0lqUF/DTF2THF_2221.p',fact_7_ord_Olmerge_Odisc_I2_J)).
% 3.33/1.86 % SZS output end Proof for DTF2THF_2221
% 3.33/1.86 % (2364)------------------------------
% 3.33/1.86 % (2364)Version: Vampire 4.8 (commit 7b44b1c2f on 2025-07-15 09:50:17 +0100)
% 3.33/1.86 % (2364)Termination reason: Refutation
% 3.33/1.86
% 3.33/1.86 % (2364)Memory used [KB]: 6396
% 3.33/1.86 % (2364)Time elapsed: 0.026 s
% 3.33/1.86 % (2364)Instructions burned: 47 (million)
% 3.33/1.86 % (2364)------------------------------
% 3.33/1.86 % (2364)------------------------------
% 3.33/1.86 % (2358)Success in time 0.057 s
%------------------------------------------------------------------------------