%------------------------------------------------------------------------------
% File : DT2H2X---1.9.5
% Problem : DAT138^1 : TPTP v9.2.1. Released v7.0.0.
% Transfm : none
% Format : tptp:raw
% Command : /export/starexec/sandbox2/solver/bin/run_DT2H2X /export/starexec/sandbox2/benchmark/theBenchmark.p 300
% Computer : n003.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:54 AM UTC 2026
% Result : Theorem 3.09s 1.71s
% Output : Refutation 3.09s
% Verified :
% SZS Type : -
% Comments :
%------------------------------------------------------------------------------
%----WARNING: Could not form TPTP format derivation
%------------------------------------------------------------------------------
%----ORIGINAL SYSTEM OUTPUT
% 0.00/0.09 % Problem : DAT138^1 : TPTP v9.2.1. Released v7.0.0.
% 0.00/0.09 % Command : /export/starexec/sandbox2/solver/bin/run_DT2H2X /export/starexec/sandbox2/benchmark/theBenchmark.p 300
% 0.11/0.29 % Computer : n003.cluster.edu
% 0.11/0.29 % Model : x86_64 x86_64
% 0.11/0.29 % CPU : Intel(R) Xeon(R) CPU E5-2620 v4 @ 2.10GHz
% 0.11/0.29 % Memory : 8042.1875MB
% 0.11/0.29 % OS : Linux 3.10.0-693.el7.x86_64
% 0.11/0.29 % CPULimit : 300
% 0.11/0.29 % WCLimit : 300
% 0.11/0.29 % DateTime : Tue Feb 24 06:08:40 EST 2026
% 0.11/0.29 % CPUTime :
% 0.11/0.29 Running /export/starexec/sandbox2/solver/bin/run_DT2H2X /export/starexec/sandbox2/benchmark/theBenchmark.p 300
% 0.17/0.38 ---- Original DTF file ---
% 0.17/0.38 thf(spec,logic,$$dhol).
% 0.17/0.38 %------------------------------------------------------------------------------
% 0.17/0.38 % File : DAT138^1 : TPTP v9.2.1. Released v7.0.0.
% 0.17/0.38 % Domain : Data Structures
% 0.17/0.38 % Problem : Coinductive list 5031
% 0.17/0.38 % Version : [Bla16] axioms : Especial.
% 0.17/0.38 % English :
% 0.17/0.38
% 0.17/0.38 % Refs : [Loc10] Lochbihler (2010), Coinductive
% 0.17/0.38 % : [RB15] Reynolds & Blanchette (2015), A Decision Procedure for
% 0.17/0.38 % : [Bla16] Blanchette (2016), Email to Geoff Sutcliffe
% 0.17/0.38 % Source : [Bla16]
% 0.17/0.38 % Names : coinductive_list__5031.p [Bla16]
% 0.17/0.38
% 0.17/0.38 % Status : Theorem
% 0.17/0.38 % Rating : 0.33 v9.1.0, 0.00 v7.2.0, 0.25 v7.1.0
% 0.17/0.38 % Syntax : Number of formulae : 306 ( 164 unt; 49 typ; 0 def)
% 0.17/0.38 % Number of atoms : 623 ( 427 equ; 0 cnn)
% 0.17/0.38 % Maximal formula atoms : 11 ( 2 avg)
% 0.17/0.38 % Number of connectives : 3522 ( 117 ~; 24 |; 64 &;3088 @)
% 0.17/0.38 % ( 0 <=>; 229 =>; 0 <=; 0 <~>)
% 0.17/0.38 % Maximal formula depth : 34 ( 7 avg)
% 0.17/0.38 % Number of types : 3 ( 2 usr)
% 0.17/0.38 % Number of type conns : 181 ( 181 >; 0 *; 0 +; 0 <<)
% 0.17/0.38 % Number of symbols : 50 ( 47 usr; 3 con; 0-5 aty)
% 0.17/0.38 % Number of variables : 1028 ( 23 ^; 907 !; 51 ?;1028 :)
% 0.17/0.38 % ( 47 !>; 0 ?*; 0 @-; 0 @+)
% 0.17/0.38 % SPC : TH1_THM_EQU_NAR
% 0.17/0.38
% 0.17/0.38 % Comments : This file was generated by Isabelle (most likely Sledgehammer)
% 0.17/0.38 % 2016-07-13 15:10:27.734
% 0.17/0.38 %------------------------------------------------------------------------------
% 0.17/0.38 %----Could-be-implicit typings (5)
% 0.17/0.38 thf(ty_t_Coinductive__List__Mirabelle__kmikjhschf_Ollist,type,
% 0.17/0.38 coindu1593790203_llist: $tType > $tType ).
% 0.17/0.38
% 0.17/0.38 thf(ty_t_List_Olist,type,
% 0.17/0.38 list: $tType > $tType ).
% 0.17/0.38
% 0.17/0.38 thf(ty_t_Nat_Onat,type,
% 0.17/0.38 nat: $tType ).
% 0.17/0.38
% 0.17/0.38 thf(ty_t_itself,type,
% 0.17/0.38 itself: $tType > $tType ).
% 0.17/0.38
% 0.17/0.38 thf(ty_tf_a,type,
% 0.17/0.38 a: $tType ).
% 0.17/0.38
% 0.17/0.38 %----Explicit typings (44)
% 0.17/0.38 thf(sy_c_Coinductive__List__Mirabelle__kmikjhschf_Ofinite__lprefix,type,
% 0.17/0.38 coindu1571841457prefix:
% 0.17/0.38 !>[A: $tType] : ( ( coindu1593790203_llist @ A ) > ( coindu1593790203_llist @ A ) > $o ) ).
% 0.17/0.38
% 0.17/0.38 thf(sy_c_Coinductive__List__Mirabelle__kmikjhschf_Oinf__llist,type,
% 0.17/0.38 coindu288502823_llist:
% 0.17/0.38 !>[A: $tType] : ( ( nat > A ) > ( coindu1593790203_llist @ A ) ) ).
% 0.17/0.38
% 0.17/0.38 thf(sy_c_Coinductive__List__Mirabelle__kmikjhschf_Oiterates,type,
% 0.17/0.38 coindu1529956631erates:
% 0.17/0.38 !>[A: $tType] : ( ( A > A ) > A > ( coindu1593790203_llist @ A ) ) ).
% 0.17/0.38
% 0.17/0.38 thf(sy_c_Coinductive__List__Mirabelle__kmikjhschf_Olappend,type,
% 0.17/0.38 coindu268472904append:
% 0.17/0.38 !>[A: $tType] : ( ( coindu1593790203_llist @ A ) > ( coindu1593790203_llist @ A ) > ( coindu1593790203_llist @ A ) ) ).
% 0.17/0.38
% 0.17/0.38 thf(sy_c_Coinductive__List__Mirabelle__kmikjhschf_Olfinite,type,
% 0.17/0.38 coindu1213758845finite:
% 0.17/0.38 !>[A: $tType] : ( ( coindu1593790203_llist @ A ) > $o ) ).
% 0.17/0.38
% 0.17/0.38 thf(sy_c_Coinductive__List__Mirabelle__kmikjhschf_Olist__of,type,
% 0.17/0.38 coindu1736001939ist_of:
% 0.17/0.38 !>[A: $tType] : ( ( coindu1593790203_llist @ A ) > ( list @ A ) ) ).
% 0.17/0.38
% 0.17/0.38 thf(sy_c_Coinductive__List__Mirabelle__kmikjhschf_Olist__of__aux,type,
% 0.17/0.38 coindu1542816657of_aux:
% 0.17/0.38 !>[A: $tType] : ( ( list @ A ) > ( coindu1593790203_llist @ A ) > ( list @ A ) ) ).
% 0.17/0.38
% 0.17/0.38 thf(sy_c_Coinductive__List__Mirabelle__kmikjhschf_Ollast,type,
% 0.17/0.38 coindu2000965700_llast:
% 0.17/0.38 !>[A: $tType] : ( ( coindu1593790203_llist @ A ) > A ) ).
% 0.17/0.38
% 0.17/0.38 thf(sy_c_Coinductive__List__Mirabelle__kmikjhschf_Ollist_OLCons,type,
% 0.17/0.38 coindu1121789889_LCons:
% 0.17/0.38 !>[A: $tType] : ( A > ( coindu1593790203_llist @ A ) > ( coindu1593790203_llist @ A ) ) ).
% 0.17/0.38
% 0.17/0.38 thf(sy_c_Coinductive__List__Mirabelle__kmikjhschf_Ollist_OLNil,type,
% 0.17/0.38 coindu1598213697e_LNil:
% 0.17/0.38 !>[A: $tType] : ( coindu1593790203_llist @ A ) ).
% 0.17/0.38
% 0.17/0.38 thf(sy_c_Coinductive__List__Mirabelle__kmikjhschf_Ollist_Olnull,type,
% 0.17/0.38 coindu335574135_lnull:
% 0.17/0.38 !>[A: $tType] : ( ( coindu1593790203_llist @ A ) > $o ) ).
% 0.17/0.38
% 0.17/0.38 thf(sy_c_Coinductive__List__Mirabelle__kmikjhschf_Ollist__of,type,
% 0.17/0.38 coindu1079202755ist_of:
% 0.17/0.38 !>[A: $tType] : ( ( list @ A ) > ( coindu1593790203_llist @ A ) ) ).
% 0.17/0.38
% 0.17/0.38 thf(sy_c_Coinductive__List__Mirabelle__kmikjhschf_Olmember,type,
% 0.17/0.38 coindu567634248member:
% 0.17/0.38 !>[A: $tType] : ( A > ( coindu1593790203_llist @ A ) > $o ) ).
% 0.17/0.38
% 0.17/0.38 thf(sy_c_Coinductive__List__Mirabelle__kmikjhschf_Olnth,type,
% 0.17/0.38 coindu749330388e_lnth:
% 0.17/0.38 !>[A: $tType] : ( ( coindu1593790203_llist @ A ) > nat > A ) ).
% 0.17/0.38
% 0.17/0.38 thf(sy_c_Coinductive__List__Mirabelle__kmikjhschf_Olprefix,type,
% 0.17/0.38 coindu1696667936prefix:
% 0.17/0.38 !>[A: $tType] : ( ( coindu1593790203_llist @ A ) > ( coindu1593790203_llist @ A ) > $o ) ).
% 0.17/0.38
% 0.17/0.38 thf(sy_c_Coinductive__List__Mirabelle__kmikjhschf_Olstrict__prefix,type,
% 0.17/0.38 coindu574146665prefix:
% 0.17/0.38 !>[A: $tType] : ( ( coindu1593790203_llist @ A ) > ( coindu1593790203_llist @ A ) > $o ) ).
% 0.17/0.38
% 0.17/0.38 thf(sy_c_HOL_Oundefined,type,
% 0.17/0.38 undefined:
% 0.17/0.38 !>[A: $tType] : A ).
% 0.17/0.38
% 0.17/0.38 thf(sy_c_If,type,
% 0.17/0.38 if:
% 0.17/0.38 !>[A: $tType] : ( $o > A > A > A ) ).
% 0.17/0.38
% 0.17/0.38 thf(sy_c_List_Oappend,type,
% 0.17/0.38 append:
% 0.17/0.38 !>[A: $tType] : ( ( list @ A ) > ( list @ A ) > ( list @ A ) ) ).
% 0.17/0.38
% 0.17/0.38 thf(sy_c_List_Obind,type,
% 0.17/0.38 bind:
% 0.17/0.38 !>[A: $tType,B: $tType] : ( ( list @ A ) > ( A > ( list @ B ) ) > ( list @ B ) ) ).
% 0.17/0.38
% 0.17/0.38 thf(sy_c_List_Obutlast,type,
% 0.17/0.38 butlast:
% 0.17/0.38 !>[A: $tType] : ( ( list @ A ) > ( list @ A ) ) ).
% 0.17/0.38
% 0.17/0.38 thf(sy_c_List_Oinsert,type,
% 0.17/0.38 insert:
% 0.17/0.38 !>[A: $tType] : ( A > ( list @ A ) > ( list @ A ) ) ).
% 0.17/0.38
% 0.17/0.38 thf(sy_c_List_Olast,type,
% 0.17/0.38 last:
% 0.17/0.38 !>[A: $tType] : ( ( list @ A ) > A ) ).
% 0.17/0.38
% 0.17/0.38 thf(sy_c_List_Olist_OCons,type,
% 0.17/0.38 cons:
% 0.17/0.38 !>[A: $tType] : ( A > ( list @ A ) > ( list @ A ) ) ).
% 0.17/0.38
% 0.17/0.38 thf(sy_c_List_Olist_ONil,type,
% 0.17/0.38 nil:
% 0.17/0.38 !>[A: $tType] : ( list @ A ) ).
% 0.17/0.38
% 0.17/0.38 thf(sy_c_List_Olist_Omap,type,
% 0.17/0.38 map:
% 0.17/0.38 !>[A: $tType,Aa: $tType] : ( ( A > Aa ) > ( list @ A ) > ( list @ Aa ) ) ).
% 0.17/0.38
% 0.17/0.38 thf(sy_c_List_Olist__ex1,type,
% 0.17/0.38 list_ex1:
% 0.17/0.38 !>[A: $tType] : ( ( A > $o ) > ( list @ A ) > $o ) ).
% 0.17/0.38
% 0.17/0.38 thf(sy_c_List_Omap__tailrec,type,
% 0.17/0.38 map_tailrec:
% 0.17/0.38 !>[A: $tType,B: $tType] : ( ( A > B ) > ( list @ A ) > ( list @ B ) ) ).
% 0.17/0.38
% 0.17/0.38 thf(sy_c_List_Omap__tailrec__rev,type,
% 0.17/0.38 map_tailrec_rev:
% 0.17/0.38 !>[A: $tType,B: $tType] : ( ( A > B ) > ( list @ A ) > ( list @ B ) > ( list @ B ) ) ).
% 0.17/0.38
% 0.17/0.38 thf(sy_c_List_Omaps,type,
% 0.17/0.38 maps:
% 0.17/0.38 !>[A: $tType,B: $tType] : ( ( A > ( list @ B ) ) > ( list @ A ) > ( list @ B ) ) ).
% 0.17/0.38
% 0.17/0.38 thf(sy_c_List_Onth,type,
% 0.17/0.38 nth:
% 0.17/0.38 !>[A: $tType] : ( ( list @ A ) > nat > A ) ).
% 0.17/0.38
% 0.17/0.38 thf(sy_c_List_Oord_Olexordp__eq,type,
% 0.17/0.38 lexordp_eq:
% 0.17/0.38 !>[A: $tType] : ( ( A > A > $o ) > ( list @ A ) > ( list @ A ) > $o ) ).
% 0.17/0.38
% 0.17/0.38 thf(sy_c_List_Oproduct__lists,type,
% 0.17/0.38 product_lists:
% 0.17/0.38 !>[A: $tType] : ( ( list @ ( list @ A ) ) > ( list @ ( list @ A ) ) ) ).
% 0.17/0.38
% 0.17/0.38 thf(sy_c_List_Orev,type,
% 0.17/0.38 rev:
% 0.17/0.38 !>[A: $tType] : ( ( list @ A ) > ( list @ A ) ) ).
% 0.17/0.38
% 0.17/0.38 thf(sy_c_List_Orotate1,type,
% 0.17/0.38 rotate1:
% 0.17/0.38 !>[A: $tType] : ( ( list @ A ) > ( list @ A ) ) ).
% 0.17/0.38
% 0.17/0.38 thf(sy_c_List_Osublists,type,
% 0.17/0.38 sublists:
% 0.17/0.38 !>[A: $tType] : ( ( list @ A ) > ( list @ ( list @ A ) ) ) ).
% 0.17/0.38
% 0.17/0.38 thf(sy_c_Nat_Osize__class_Osize,type,
% 0.17/0.38 size_size:
% 0.17/0.38 !>[A: $tType] : ( A > nat ) ).
% 0.17/0.38
% 0.17/0.38 thf(sy_c_Pure_Otype,type,
% 0.17/0.38 type:
% 0.17/0.38 !>[A: $tType] : ( itself @ A ) ).
% 0.17/0.38
% 0.17/0.38 thf(sy_c_Sublist_Oprefixes,type,
% 0.17/0.38 prefixes:
% 0.17/0.38 !>[A: $tType] : ( ( list @ A ) > ( list @ ( list @ A ) ) ) ).
% 0.17/0.38
% 0.17/0.38 thf(sy_c_Sublist_Oprefixes__rel,type,
% 0.17/0.38 prefixes_rel:
% 0.17/0.38 !>[A: $tType] : ( ( list @ A ) > ( list @ A ) > $o ) ).
% 0.17/0.38
% 0.17/0.38 thf(sy_c_Sublist_Ostrict__suffix,type,
% 0.17/0.38 strict_suffix:
% 0.17/0.38 !>[A: $tType] : ( ( list @ A ) > ( list @ A ) > $o ) ).
% 0.17/0.38
% 0.17/0.38 thf(sy_c_Wellfounded_Oaccp,type,
% 0.17/0.38 accp:
% 0.17/0.38 !>[A: $tType] : ( ( A > A > $o ) > A > $o ) ).
% 0.17/0.38
% 0.17/0.38 thf(sy_v_f,type,
% 0.17/0.38 f: nat > a ).
% 0.17/0.38
% 0.17/0.38 thf(sy_v_xs,type,
% 0.17/0.38 xs: coindu1593790203_llist @ a ).
% 0.17/0.38
% 0.17/0.38 %----Relevant facts (253)
% 0.17/0.38 thf(fact_0_inf__llist__inj,axiom,
% 0.17/0.38 ! [A: $tType,F: nat > A,G: nat > A] :
% 0.17/0.38 ( ( ( coindu288502823_llist @ A @ F )
% 0.17/0.38 = ( coindu288502823_llist @ A @ G ) )
% 0.17/0.38 = ( F = G ) ) ).
% 0.17/0.38
% 0.17/0.38 % inf_llist_inj
% 0.17/0.38 thf(fact_1_lappend__assoc,axiom,
% 0.17/0.38 ! [A: $tType,Xs: coindu1593790203_llist @ A,Ys: coindu1593790203_llist @ A,Zs: coindu1593790203_llist @ A] :
% 0.17/0.38 ( ( coindu268472904append @ A @ ( coindu268472904append @ A @ Xs @ Ys ) @ Zs )
% 0.17/0.38 = ( coindu268472904append @ A @ Xs @ ( coindu268472904append @ A @ Ys @ Zs ) ) ) ).
% 0.17/0.38
% 0.17/0.38 % lappend_assoc
% 0.17/0.38 thf(fact_2_inf__llist__lprefix,axiom,
% 0.17/0.38 ! [A: $tType,F: nat > A,Xs: coindu1593790203_llist @ A] :
% 0.17/0.38 ( ( coindu1696667936prefix @ A @ ( coindu288502823_llist @ A @ F ) @ Xs )
% 0.17/0.38 = ( Xs
% 0.17/0.38 = ( coindu288502823_llist @ A @ F ) ) ) ).
% 0.17/0.38
% 0.17/0.38 % inf_llist_lprefix
% 0.17/0.38 thf(fact_3_lnth__inf__llist,axiom,
% 0.17/0.38 ! [A: $tType,F: nat > A,N: nat] :
% 0.17/0.38 ( ( coindu749330388e_lnth @ A @ ( coindu288502823_llist @ A @ F ) @ N )
% 0.17/0.38 = ( F @ N ) ) ).
% 0.17/0.38
% 0.17/0.38 % lnth_inf_llist
% 0.17/0.38 thf(fact_4_lappend__code_I1_J,axiom,
% 0.17/0.38 ! [A: $tType,Ys: coindu1593790203_llist @ A] :
% 0.17/0.38 ( ( coindu268472904append @ A @ ( coindu1598213697e_LNil @ A ) @ Ys )
% 0.17/0.38 = Ys ) ).
% 0.17/0.38
% 0.17/0.38 % lappend_code(1)
% 0.17/0.38 thf(fact_5_lappend__LNil2,axiom,
% 0.17/0.38 ! [A: $tType,Xs: coindu1593790203_llist @ A] :
% 0.17/0.38 ( ( coindu268472904append @ A @ Xs @ ( coindu1598213697e_LNil @ A ) )
% 0.17/0.38 = Xs ) ).
% 0.17/0.38
% 0.17/0.38 % lappend_LNil2
% 0.17/0.38 thf(fact_6_inf__llist__neq__llist__of_I1_J,axiom,
% 0.17/0.38 ! [A: $tType,Xs: list @ A,F: nat > A] :
% 0.17/0.38 ( ( coindu1079202755ist_of @ A @ Xs )
% 0.17/0.38 != ( coindu288502823_llist @ A @ F ) ) ).
% 0.17/0.38
% 0.17/0.38 % inf_llist_neq_llist_of(1)
% 0.17/0.38 thf(fact_7_llist__exhaust,axiom,
% 0.17/0.38 ! [A: $tType,Xs: coindu1593790203_llist @ A] :
% 0.17/0.38 ( ! [Ys2: list @ A] :
% 0.17/0.38 ( Xs
% 0.17/0.38 != ( coindu1079202755ist_of @ A @ Ys2 ) )
% 0.17/0.38 => ~ ! [F2: nat > A] :
% 0.17/0.38 ( Xs
% 0.17/0.38 != ( coindu288502823_llist @ A @ F2 ) ) ) ).
% 0.17/0.38
% 0.17/0.38 % llist_exhaust
% 0.17/0.38 thf(fact_8_lappend__iterates,axiom,
% 0.17/0.38 ! [A: $tType,F: A > A,X: A,Xs: coindu1593790203_llist @ A] :
% 0.17/0.38 ( ( coindu268472904append @ A @ ( coindu1529956631erates @ A @ F @ X ) @ Xs )
% 0.17/0.38 = ( coindu1529956631erates @ A @ F @ X ) ) ).
% 0.17/0.38
% 0.17/0.38 % lappend_iterates
% 0.17/0.38 thf(fact_9_lappend__code_I2_J,axiom,
% 0.17/0.38 ! [A: $tType,Xa: A,X: coindu1593790203_llist @ A,Ys: coindu1593790203_llist @ A] :
% 0.17/0.38 ( ( coindu268472904append @ A @ ( coindu1121789889_LCons @ A @ Xa @ X ) @ Ys )
% 0.17/0.38 = ( coindu1121789889_LCons @ A @ Xa @ ( coindu268472904append @ A @ X @ Ys ) ) ) ).
% 0.17/0.38
% 0.17/0.38 % lappend_code(2)
% 0.17/0.38 thf(fact_10_lappend_Odisc__iff_I2_J,axiom,
% 0.17/0.38 ! [A: $tType,Xs: coindu1593790203_llist @ A,Ys: coindu1593790203_llist @ A] :
% 0.17/0.38 ( ( ~ ( coindu335574135_lnull @ A @ ( coindu268472904append @ A @ Xs @ Ys ) ) )
% 0.17/0.38 = ( ~ ( coindu335574135_lnull @ A @ Xs )
% 0.17/0.38 | ~ ( coindu335574135_lnull @ A @ Ys ) ) ) ).
% 0.17/0.38
% 0.17/0.38 % lappend.disc_iff(2)
% 0.17/0.38 thf(fact_11_lnull__lappend,axiom,
% 0.17/0.38 ! [A: $tType,Xs: coindu1593790203_llist @ A,Ys: coindu1593790203_llist @ A] :
% 0.17/0.38 ( ( coindu335574135_lnull @ A @ ( coindu268472904append @ A @ Xs @ Ys ) )
% 0.17/0.38 = ( ( coindu335574135_lnull @ A @ Xs )
% 0.17/0.38 & ( coindu335574135_lnull @ A @ Ys ) ) ) ).
% 0.17/0.38
% 0.17/0.38 % lnull_lappend
% 0.17/0.38 thf(fact_12_inf__llist__neq__LNil,axiom,
% 0.17/0.38 ! [A: $tType,F: nat > A] :
% 0.17/0.38 ( ( coindu288502823_llist @ A @ F )
% 0.17/0.38 != ( coindu1598213697e_LNil @ A ) ) ).
% 0.17/0.38
% 0.17/0.38 % inf_llist_neq_LNil
% 0.17/0.38 thf(fact_13_lfinite__lappend,axiom,
% 0.17/0.38 ! [A: $tType,Xs: coindu1593790203_llist @ A,Ys: coindu1593790203_llist @ A] :
% 0.17/0.38 ( ( coindu1213758845finite @ A @ ( coindu268472904append @ A @ Xs @ Ys ) )
% 0.17/0.38 = ( ( coindu1213758845finite @ A @ Xs )
% 0.17/0.38 & ( coindu1213758845finite @ A @ Ys ) ) ) ).
% 0.17/0.38
% 0.17/0.38 % lfinite_lappend
% 0.17/0.38 thf(fact_14_lprefix__refl,axiom,
% 0.17/0.38 ! [A: $tType,Xs: coindu1593790203_llist @ A] : ( coindu1696667936prefix @ A @ Xs @ Xs ) ).
% 0.17/0.38
% 0.17/0.38 % lprefix_refl
% 0.17/0.38 thf(fact_15_llist_Oleq__refl,axiom,
% 0.17/0.38 ! [A: $tType,X: coindu1593790203_llist @ A] : ( coindu1696667936prefix @ A @ X @ X ) ).
% 0.17/0.38
% 0.17/0.38 % llist.leq_refl
% 0.17/0.38 thf(fact_16_llist_Oinject,axiom,
% 0.17/0.38 ! [A: $tType,X21: A,X22: coindu1593790203_llist @ A,Y21: A,Y22: coindu1593790203_llist @ A] :
% 0.17/0.38 ( ( ( coindu1121789889_LCons @ A @ X21 @ X22 )
% 0.17/0.38 = ( coindu1121789889_LCons @ A @ Y21 @ Y22 ) )
% 0.17/0.38 = ( ( X21 = Y21 )
% 0.17/0.38 & ( X22 = Y22 ) ) ) ).
% 0.17/0.38
% 0.17/0.38 % llist.inject
% 0.17/0.38 thf(fact_17_llist__of__inject,axiom,
% 0.17/0.38 ! [A: $tType,Xs: list @ A,Ys: list @ A] :
% 0.17/0.38 ( ( ( coindu1079202755ist_of @ A @ Xs )
% 0.17/0.38 = ( coindu1079202755ist_of @ A @ Ys ) )
% 0.17/0.38 = ( Xs = Ys ) ) ).
% 0.17/0.38
% 0.17/0.38 % llist_of_inject
% 0.17/0.38 thf(fact_18_LCons__lprefix__LCons,axiom,
% 0.17/0.38 ! [A: $tType,X: A,Xs: coindu1593790203_llist @ A,Y: A,Ys: coindu1593790203_llist @ A] :
% 0.17/0.38 ( ( coindu1696667936prefix @ A @ ( coindu1121789889_LCons @ A @ X @ Xs ) @ ( coindu1121789889_LCons @ A @ Y @ Ys ) )
% 0.17/0.38 = ( ( X = Y )
% 0.17/0.38 & ( coindu1696667936prefix @ A @ Xs @ Ys ) ) ) ).
% 0.17/0.38
% 0.17/0.38 % LCons_lprefix_LCons
% 0.17/0.38 thf(fact_19_lprefix__code_I1_J,axiom,
% 0.17/0.38 ! [A: $tType,Ys: coindu1593790203_llist @ A] : ( coindu1696667936prefix @ A @ ( coindu1598213697e_LNil @ A ) @ Ys ) ).
% 0.17/0.38
% 0.17/0.38 % lprefix_code(1)
% 0.17/0.38 thf(fact_20_lfinite__code_I2_J,axiom,
% 0.17/0.38 ! [B: $tType,X: B,Xs: coindu1593790203_llist @ B] :
% 0.17/0.38 ( ( coindu1213758845finite @ B @ ( coindu1121789889_LCons @ B @ X @ Xs ) )
% 0.17/0.38 = ( coindu1213758845finite @ B @ Xs ) ) ).
% 0.17/0.38
% 0.17/0.38 % lfinite_code(2)
% 0.17/0.38 thf(fact_21_lfinite__LCons,axiom,
% 0.17/0.38 ! [A: $tType,X: A,Xs: coindu1593790203_llist @ A] :
% 0.17/0.38 ( ( coindu1213758845finite @ A @ ( coindu1121789889_LCons @ A @ X @ Xs ) )
% 0.17/0.38 = ( coindu1213758845finite @ A @ Xs ) ) ).
% 0.17/0.38
% 0.17/0.38 % lfinite_LCons
% 0.17/0.38 thf(fact_22_lfinite__code_I1_J,axiom,
% 0.17/0.38 ! [A: $tType] : ( coindu1213758845finite @ A @ ( coindu1598213697e_LNil @ A ) ) ).
% 0.17/0.38
% 0.17/0.38 % lfinite_code(1)
% 0.17/0.38 thf(fact_23_lprefix__LNil,axiom,
% 0.17/0.38 ! [A: $tType,Xs: coindu1593790203_llist @ A] :
% 0.17/0.38 ( ( coindu1696667936prefix @ A @ Xs @ ( coindu1598213697e_LNil @ A ) )
% 0.17/0.38 = ( coindu335574135_lnull @ A @ Xs ) ) ).
% 0.17/0.38
% 0.17/0.38 % lprefix_LNil
% 0.17/0.38 thf(fact_24_lprefix__lappend__same,axiom,
% 0.17/0.38 ! [A: $tType,Xs: coindu1593790203_llist @ A,Ys: coindu1593790203_llist @ A,Zs: coindu1593790203_llist @ A] :
% 0.17/0.38 ( ( coindu1696667936prefix @ A @ ( coindu268472904append @ A @ Xs @ Ys ) @ ( coindu268472904append @ A @ Xs @ Zs ) )
% 0.17/0.38 = ( ( coindu1213758845finite @ A @ Xs )
% 0.17/0.38 => ( coindu1696667936prefix @ A @ Ys @ Zs ) ) ) ).
% 0.17/0.38
% 0.17/0.38 % lprefix_lappend_same
% 0.17/0.38 thf(fact_25_inf__llist__lnth,axiom,
% 0.17/0.38 ! [A: $tType,Xs: coindu1593790203_llist @ A] :
% 0.17/0.38 ( ~ ( coindu1213758845finite @ A @ Xs )
% 0.17/0.38 => ( ( coindu288502823_llist @ A @ ( coindu749330388e_lnth @ A @ Xs ) )
% 0.17/0.38 = Xs ) ) ).
% 0.17/0.38
% 0.17/0.38 % inf_llist_lnth
% 0.17/0.38 thf(fact_26_llist_Odisc_I2_J,axiom,
% 0.17/0.38 ! [A: $tType,X21: A,X22: coindu1593790203_llist @ A] :
% 0.17/0.38 ~ ( coindu335574135_lnull @ A @ ( coindu1121789889_LCons @ A @ X21 @ X22 ) ) ).
% 0.17/0.38
% 0.17/0.38 % llist.disc(2)
% 0.17/0.38 thf(fact_27_llist_Odisc_I1_J,axiom,
% 0.17/0.38 ! [A: $tType] : ( coindu335574135_lnull @ A @ ( coindu1598213697e_LNil @ A ) ) ).
% 0.17/0.38
% 0.17/0.38 % llist.disc(1)
% 0.17/0.38 thf(fact_28_llist_OdiscI_I2_J,axiom,
% 0.17/0.38 ! [A: $tType,Llist: coindu1593790203_llist @ A,X21: A,X22: coindu1593790203_llist @ A] :
% 0.17/0.38 ( ( Llist
% 0.17/0.38 = ( coindu1121789889_LCons @ A @ X21 @ X22 ) )
% 0.17/0.38 => ~ ( coindu335574135_lnull @ A @ Llist ) ) ).
% 0.17/0.38
% 0.17/0.38 % llist.discI(2)
% 0.17/0.38 thf(fact_29_llist_OdiscI_I1_J,axiom,
% 0.17/0.38 ! [A: $tType,Llist: coindu1593790203_llist @ A] :
% 0.17/0.38 ( ( Llist
% 0.17/0.38 = ( coindu1598213697e_LNil @ A ) )
% 0.17/0.38 => ( coindu335574135_lnull @ A @ Llist ) ) ).
% 0.17/0.38
% 0.17/0.38 % llist.discI(1)
% 0.17/0.38 thf(fact_30_lprefix__code_I2_J,axiom,
% 0.17/0.38 ! [A: $tType,X: A,Xs: coindu1593790203_llist @ A] :
% 0.17/0.38 ~ ( coindu1696667936prefix @ A @ ( coindu1121789889_LCons @ A @ X @ Xs ) @ ( coindu1598213697e_LNil @ A ) ) ).
% 0.17/0.38
% 0.17/0.38 % lprefix_code(2)
% 0.17/0.38 thf(fact_31_llist_Ocollapse_I1_J,axiom,
% 0.17/0.38 ! [A: $tType,Llist: coindu1593790203_llist @ A] :
% 0.17/0.38 ( ( coindu335574135_lnull @ A @ Llist )
% 0.17/0.38 => ( Llist
% 0.17/0.38 = ( coindu1598213697e_LNil @ A ) ) ) ).
% 0.17/0.38
% 0.17/0.38 % llist.collapse(1)
% 0.17/0.38 thf(fact_32_llist_Odistinct_I1_J,axiom,
% 0.17/0.38 ! [A: $tType,X21: A,X22: coindu1593790203_llist @ A] :
% 0.17/0.38 ( ( coindu1598213697e_LNil @ A )
% 0.17/0.38 != ( coindu1121789889_LCons @ A @ X21 @ X22 ) ) ).
% 0.17/0.38
% 0.17/0.38 % llist.distinct(1)
% 0.17/0.38 thf(fact_33_lzip_Oexhaust,axiom,
% 0.17/0.38 ! [A: $tType,B: $tType,Xs: coindu1593790203_llist @ A,Ys: coindu1593790203_llist @ B] :
% 0.17/0.38 ( ~ ( ( coindu335574135_lnull @ A @ Xs )
% 0.17/0.38 | ( coindu335574135_lnull @ B @ Ys ) )
% 0.17/0.38 => ~ ( ~ ( coindu335574135_lnull @ A @ Xs )
% 0.17/0.38 => ( coindu335574135_lnull @ B @ Ys ) ) ) ).
% 0.17/0.38
% 0.17/0.38 % lzip.exhaust
% 0.17/0.38 thf(fact_34_iterates_Ocode,axiom,
% 0.17/0.38 ! [A: $tType] :
% 0.17/0.38 ( ( coindu1529956631erates @ A )
% 0.17/0.38 = ( ^ [F3: A > A,X2: A] : ( coindu1121789889_LCons @ A @ X2 @ ( coindu1529956631erates @ A @ F3 @ ( F3 @ X2 ) ) ) ) ) ).
% 0.17/0.38
% 0.17/0.38 % iterates.code
% 0.17/0.38 thf(fact_35_lfinite_Ocases,axiom,
% 0.17/0.38 ! [A: $tType,A2: coindu1593790203_llist @ A] :
% 0.17/0.38 ( ( coindu1213758845finite @ A @ A2 )
% 0.17/0.38 => ( ( A2
% 0.17/0.38 != ( coindu1598213697e_LNil @ A ) )
% 0.17/0.38 => ~ ! [Xs2: coindu1593790203_llist @ A] :
% 0.17/0.38 ( ? [X3: A] :
% 0.17/0.38 ( A2
% 0.17/0.38 = ( coindu1121789889_LCons @ A @ X3 @ Xs2 ) )
% 0.17/0.38 => ~ ( coindu1213758845finite @ A @ Xs2 ) ) ) ) ).
% 0.17/0.38
% 0.17/0.38 % lfinite.cases
% 0.17/0.38 thf(fact_36_lfinite_Osimps,axiom,
% 0.17/0.38 ! [A: $tType] :
% 0.17/0.38 ( ( coindu1213758845finite @ A )
% 0.17/0.38 = ( ^ [A3: coindu1593790203_llist @ A] :
% 0.17/0.38 ( ( A3
% 0.17/0.38 = ( coindu1598213697e_LNil @ A ) )
% 0.17/0.38 | ? [Xs3: coindu1593790203_llist @ A,X2: A] :
% 0.17/0.38 ( ( A3
% 0.17/0.38 = ( coindu1121789889_LCons @ A @ X2 @ Xs3 ) )
% 0.17/0.38 & ( coindu1213758845finite @ A @ Xs3 ) ) ) ) ) ).
% 0.17/0.38
% 0.17/0.38 % lfinite.simps
% 0.17/0.38 thf(fact_37_llist_Oexhaust,axiom,
% 0.17/0.38 ! [A: $tType,Y: coindu1593790203_llist @ A] :
% 0.17/0.38 ( ( Y
% 0.17/0.38 != ( coindu1598213697e_LNil @ A ) )
% 0.17/0.38 => ~ ! [X212: A,X222: coindu1593790203_llist @ A] :
% 0.17/0.38 ( Y
% 0.17/0.38 != ( coindu1121789889_LCons @ A @ X212 @ X222 ) ) ) ).
% 0.17/0.38
% 0.17/0.38 % llist.exhaust
% 0.17/0.38 thf(fact_38_lnull__lprefix,axiom,
% 0.17/0.38 ! [A: $tType,Xs: coindu1593790203_llist @ A,Ys: coindu1593790203_llist @ A] :
% 0.17/0.38 ( ( coindu335574135_lnull @ A @ Xs )
% 0.17/0.38 => ( coindu1696667936prefix @ A @ Xs @ Ys ) ) ).
% 0.17/0.38
% 0.17/0.38 % lnull_lprefix
% 0.17/0.38 thf(fact_39_lprefix_Ocases,axiom,
% 0.17/0.38 ! [A: $tType,A1: coindu1593790203_llist @ A,A22: coindu1593790203_llist @ A] :
% 0.17/0.38 ( ( coindu1696667936prefix @ A @ A1 @ A22 )
% 0.17/0.38 => ( ( ( A1
% 0.17/0.38 = ( coindu1598213697e_LNil @ A ) )
% 0.17/0.38 => ! [Xs2: coindu1593790203_llist @ A] : ( A22 != Xs2 ) )
% 0.17/0.38 => ~ ! [Xs2: coindu1593790203_llist @ A,Ys2: coindu1593790203_llist @ A,X3: A] :
% 0.17/0.38 ( ( A1
% 0.17/0.38 = ( coindu1121789889_LCons @ A @ X3 @ Xs2 ) )
% 0.17/0.38 => ( ( A22
% 0.17/0.38 = ( coindu1121789889_LCons @ A @ X3 @ Ys2 ) )
% 0.17/0.38 => ~ ( coindu1696667936prefix @ A @ Xs2 @ Ys2 ) ) ) ) ) ).
% 0.17/0.38
% 0.17/0.38 % lprefix.cases
% 0.17/0.38 thf(fact_40_lprefix_Osimps,axiom,
% 0.17/0.38 ! [A: $tType] :
% 0.17/0.38 ( ( coindu1696667936prefix @ A )
% 0.17/0.38 = ( ^ [A12: coindu1593790203_llist @ A,A23: coindu1593790203_llist @ A] :
% 0.17/0.38 ( ? [Xs3: coindu1593790203_llist @ A] :
% 0.17/0.38 ( ( A12
% 0.17/0.38 = ( coindu1598213697e_LNil @ A ) )
% 0.17/0.38 & ( A23 = Xs3 ) )
% 0.17/0.38 | ? [Xs3: coindu1593790203_llist @ A,Ys3: coindu1593790203_llist @ A,X2: A] :
% 0.17/0.38 ( ( A12
% 0.17/0.38 = ( coindu1121789889_LCons @ A @ X2 @ Xs3 ) )
% 0.17/0.38 & ( A23
% 0.17/0.38 = ( coindu1121789889_LCons @ A @ X2 @ Ys3 ) )
% 0.17/0.38 & ( coindu1696667936prefix @ A @ Xs3 @ Ys3 ) ) ) ) ) ).
% 0.17/0.38
% 0.17/0.38 % lprefix.simps
% 0.17/0.38 thf(fact_41_lprefix__lnull,axiom,
% 0.17/0.38 ! [A: $tType,Ys: coindu1593790203_llist @ A,Xs: coindu1593790203_llist @ A] :
% 0.17/0.38 ( ( coindu335574135_lnull @ A @ Ys )
% 0.17/0.38 => ( ( coindu1696667936prefix @ A @ Xs @ Ys )
% 0.17/0.38 = ( coindu335574135_lnull @ A @ Xs ) ) ) ).
% 0.17/0.38
% 0.17/0.38 % lprefix_lnull
% 0.17/0.38 thf(fact_42_lprefix__trans,axiom,
% 0.17/0.38 ! [A: $tType,Xs: coindu1593790203_llist @ A,Ys: coindu1593790203_llist @ A,Zs: coindu1593790203_llist @ A] :
% 0.17/0.38 ( ( coindu1696667936prefix @ A @ Xs @ Ys )
% 0.17/0.38 => ( ( coindu1696667936prefix @ A @ Ys @ Zs )
% 0.17/0.38 => ( coindu1696667936prefix @ A @ Xs @ Zs ) ) ) ).
% 0.17/0.38
% 0.17/0.38 % lprefix_trans
% 0.17/0.38 thf(fact_43_neq__LNil__conv,axiom,
% 0.17/0.38 ! [A: $tType,Xs: coindu1593790203_llist @ A] :
% 0.17/0.38 ( ( Xs
% 0.17/0.38 != ( coindu1598213697e_LNil @ A ) )
% 0.17/0.38 = ( ? [X2: A,Xs4: coindu1593790203_llist @ A] :
% 0.17/0.38 ( Xs
% 0.17/0.38 = ( coindu1121789889_LCons @ A @ X2 @ Xs4 ) ) ) ) ).
% 0.17/0.38
% 0.17/0.38 % neq_LNil_conv
% 0.17/0.38 thf(fact_44_ext,axiom,
% 0.17/0.38 ! [B: $tType,A: $tType,F: A > B,G: A > B] :
% 0.17/0.38 ( ! [X3: A] :
% 0.17/0.38 ( ( F @ X3 )
% 0.17/0.38 = ( G @ X3 ) )
% 0.17/0.38 => ( F = G ) ) ).
% 0.17/0.38
% 0.17/0.38 % ext
% 0.17/0.38 thf(fact_45_lprefix__lnullD,axiom,
% 0.17/0.38 ! [A: $tType,Xs: coindu1593790203_llist @ A,Ys: coindu1593790203_llist @ A] :
% 0.17/0.38 ( ( coindu1696667936prefix @ A @ Xs @ Ys )
% 0.17/0.38 => ( ( coindu335574135_lnull @ A @ Ys )
% 0.17/0.38 => ( coindu335574135_lnull @ A @ Xs ) ) ) ).
% 0.17/0.38
% 0.17/0.38 % lprefix_lnullD
% 0.17/0.38 thf(fact_46_not__lnull__conv,axiom,
% 0.17/0.38 ! [A: $tType,Xs: coindu1593790203_llist @ A] :
% 0.17/0.38 ( ( ~ ( coindu335574135_lnull @ A @ Xs ) )
% 0.17/0.38 = ( ? [X2: A,Xs4: coindu1593790203_llist @ A] :
% 0.17/0.38 ( Xs
% 0.17/0.38 = ( coindu1121789889_LCons @ A @ X2 @ Xs4 ) ) ) ) ).
% 0.17/0.38
% 0.17/0.38 % not_lnull_conv
% 0.17/0.38 thf(fact_47_lappend_Oexhaust,axiom,
% 0.17/0.38 ! [A: $tType,Xs: coindu1593790203_llist @ A,Ys: coindu1593790203_llist @ A] :
% 0.17/0.38 ( ( ( coindu335574135_lnull @ A @ Xs )
% 0.17/0.38 => ~ ( coindu335574135_lnull @ A @ Ys ) )
% 0.17/0.38 => ( ~ ( coindu335574135_lnull @ A @ Xs )
% 0.17/0.38 | ~ ( coindu335574135_lnull @ A @ Ys ) ) ) ).
% 0.17/0.38
% 0.17/0.38 % lappend.exhaust
% 0.17/0.38 thf(fact_48_lfinite_Oinducts,axiom,
% 0.17/0.38 ! [A: $tType,X: coindu1593790203_llist @ A,P: ( coindu1593790203_llist @ A ) > $o] :
% 0.17/0.38 ( ( coindu1213758845finite @ A @ X )
% 0.17/0.38 => ( ( P @ ( coindu1598213697e_LNil @ A ) )
% 0.17/0.38 => ( ! [Xs2: coindu1593790203_llist @ A,X3: A] :
% 0.17/0.38 ( ( coindu1213758845finite @ A @ Xs2 )
% 0.17/0.38 => ( ( P @ Xs2 )
% 0.17/0.38 => ( P @ ( coindu1121789889_LCons @ A @ X3 @ Xs2 ) ) ) )
% 0.17/0.38 => ( P @ X ) ) ) ) ).
% 0.17/0.38
% 0.17/0.38 % lfinite.inducts
% 0.17/0.38 thf(fact_49_llist_Oleq__trans,axiom,
% 0.17/0.38 ! [A: $tType,X: coindu1593790203_llist @ A,Y: coindu1593790203_llist @ A,Z: coindu1593790203_llist @ A] :
% 0.17/0.38 ( ( coindu1696667936prefix @ A @ X @ Y )
% 0.17/0.38 => ( ( coindu1696667936prefix @ A @ Y @ Z )
% 0.17/0.38 => ( coindu1696667936prefix @ A @ X @ Z ) ) ) ).
% 0.17/0.38
% 0.17/0.38 % llist.leq_trans
% 0.17/0.38 thf(fact_50_lnull__def,axiom,
% 0.17/0.38 ! [A: $tType] :
% 0.17/0.38 ( ( coindu335574135_lnull @ A )
% 0.17/0.38 = ( ^ [Llist2: coindu1593790203_llist @ A] :
% 0.17/0.38 ( Llist2
% 0.17/0.38 = ( coindu1598213697e_LNil @ A ) ) ) ) ).
% 0.17/0.38
% 0.17/0.38 % lnull_def
% 0.17/0.38 thf(fact_51_lprefix__antisym,axiom,
% 0.17/0.38 ! [A: $tType,Xs: coindu1593790203_llist @ A,Ys: coindu1593790203_llist @ A] :
% 0.17/0.38 ( ( coindu1696667936prefix @ A @ Xs @ Ys )
% 0.17/0.38 => ( ( coindu1696667936prefix @ A @ Ys @ Xs )
% 0.17/0.38 => ( Xs = Ys ) ) ) ).
% 0.17/0.38
% 0.17/0.38 % lprefix_antisym
% 0.17/0.38 thf(fact_52_lfinite__iterates,axiom,
% 0.17/0.38 ! [A: $tType,F: A > A,X: A] :
% 0.17/0.38 ~ ( coindu1213758845finite @ A @ ( coindu1529956631erates @ A @ F @ X ) ) ).
% 0.17/0.38
% 0.17/0.38 % lfinite_iterates
% 0.17/0.38 thf(fact_53_lfinite__llist__of,axiom,
% 0.17/0.38 ! [A: $tType,Xs: list @ A] : ( coindu1213758845finite @ A @ ( coindu1079202755ist_of @ A @ Xs ) ) ).
% 0.17/0.38
% 0.17/0.38 % lfinite_llist_of
% 0.17/0.38 thf(fact_54_Le__LCons,axiom,
% 0.17/0.38 ! [A: $tType,Xs: coindu1593790203_llist @ A,Ys: coindu1593790203_llist @ A,X: A] :
% 0.17/0.38 ( ( coindu1696667936prefix @ A @ Xs @ Ys )
% 0.17/0.38 => ( coindu1696667936prefix @ A @ ( coindu1121789889_LCons @ A @ X @ Xs ) @ ( coindu1121789889_LCons @ A @ X @ Ys ) ) ) ).
% 0.17/0.38
% 0.17/0.38 % Le_LCons
% 0.17/0.38 thf(fact_55_lprefix_Ocoinduct,axiom,
% 0.17/0.38 ! [A: $tType,X4: ( coindu1593790203_llist @ A ) > ( coindu1593790203_llist @ A ) > $o,X: coindu1593790203_llist @ A,Xa: coindu1593790203_llist @ A] :
% 0.17/0.38 ( ( X4 @ X @ Xa )
% 0.17/0.38 => ( ! [X3: coindu1593790203_llist @ A,Xa2: coindu1593790203_llist @ A] :
% 0.17/0.38 ( ( X4 @ X3 @ Xa2 )
% 0.17/0.38 => ( ? [Xs5: coindu1593790203_llist @ A] :
% 0.17/0.38 ( ( X3
% 0.17/0.38 = ( coindu1598213697e_LNil @ A ) )
% 0.17/0.38 & ( Xa2 = Xs5 ) )
% 0.17/0.38 | ? [Xs5: coindu1593790203_llist @ A,Ys4: coindu1593790203_llist @ A,Xb: A] :
% 0.17/0.38 ( ( X3
% 0.17/0.38 = ( coindu1121789889_LCons @ A @ Xb @ Xs5 ) )
% 0.17/0.38 & ( Xa2
% 0.17/0.38 = ( coindu1121789889_LCons @ A @ Xb @ Ys4 ) )
% 0.17/0.38 & ( ( X4 @ Xs5 @ Ys4 )
% 0.17/0.38 | ( coindu1696667936prefix @ A @ Xs5 @ Ys4 ) ) ) ) )
% 0.17/0.38 => ( coindu1696667936prefix @ A @ X @ Xa ) ) ) ).
% 0.17/0.38
% 0.17/0.38 % lprefix.coinduct
% 0.17/0.38 thf(fact_56_lprefix__lfiniteD,axiom,
% 0.17/0.38 ! [A: $tType,Xs: coindu1593790203_llist @ A,Ys: coindu1593790203_llist @ A] :
% 0.17/0.38 ( ( coindu1696667936prefix @ A @ Xs @ Ys )
% 0.17/0.38 => ( ( coindu1213758845finite @ A @ Ys )
% 0.17/0.38 => ( coindu1213758845finite @ A @ Xs ) ) ) ).
% 0.17/0.38
% 0.17/0.38 % lprefix_lfiniteD
% 0.17/0.38 thf(fact_57_iterates_Odisc__iff,axiom,
% 0.17/0.38 ! [A: $tType,F: A > A,X: A] :
% 0.17/0.38 ~ ( coindu335574135_lnull @ A @ ( coindu1529956631erates @ A @ F @ X ) ) ).
% 0.17/0.38
% 0.17/0.38 % iterates.disc_iff
% 0.17/0.38 thf(fact_58_llist_Oleq__antisym,axiom,
% 0.17/0.38 ! [A: $tType,X: coindu1593790203_llist @ A,Y: coindu1593790203_llist @ A] :
% 0.17/0.38 ( ( coindu1696667936prefix @ A @ X @ Y )
% 0.17/0.38 => ( ( coindu1696667936prefix @ A @ Y @ X )
% 0.17/0.38 => ( X = Y ) ) ) ).
% 0.17/0.38
% 0.17/0.38 % llist.leq_antisym
% 0.17/0.38 thf(fact_59_lnull__imp__lfinite,axiom,
% 0.17/0.38 ! [A: $tType,Xs: coindu1593790203_llist @ A] :
% 0.17/0.38 ( ( coindu335574135_lnull @ A @ Xs )
% 0.17/0.38 => ( coindu1213758845finite @ A @ Xs ) ) ).
% 0.17/0.38
% 0.17/0.38 % lnull_imp_lfinite
% 0.17/0.38 thf(fact_60_LCons__lprefix__conv,axiom,
% 0.17/0.38 ! [A: $tType,X: A,Xs: coindu1593790203_llist @ A,Ys: coindu1593790203_llist @ A] :
% 0.17/0.38 ( ( coindu1696667936prefix @ A @ ( coindu1121789889_LCons @ A @ X @ Xs ) @ Ys )
% 0.17/0.38 = ( ? [Ys5: coindu1593790203_llist @ A] :
% 0.17/0.38 ( ( Ys
% 0.17/0.38 = ( coindu1121789889_LCons @ A @ X @ Ys5 ) )
% 0.17/0.38 & ( coindu1696667936prefix @ A @ Xs @ Ys5 ) ) ) ) ).
% 0.17/0.38
% 0.17/0.38 % LCons_lprefix_conv
% 0.17/0.38 thf(fact_61_lfinite__rev__induct,axiom,
% 0.17/0.38 ! [A: $tType,Xs: coindu1593790203_llist @ A,P: ( coindu1593790203_llist @ A ) > $o] :
% 0.17/0.38 ( ( coindu1213758845finite @ A @ Xs )
% 0.17/0.38 => ( ( P @ ( coindu1598213697e_LNil @ A ) )
% 0.17/0.38 => ( ! [X3: A,Xs2: coindu1593790203_llist @ A] :
% 0.17/0.38 ( ( coindu1213758845finite @ A @ Xs2 )
% 0.17/0.38 => ( ( P @ Xs2 )
% 0.17/0.38 => ( P @ ( coindu268472904append @ A @ Xs2 @ ( coindu1121789889_LCons @ A @ X3 @ ( coindu1598213697e_LNil @ A ) ) ) ) ) )
% 0.17/0.38 => ( P @ Xs ) ) ) ) ).
% 0.17/0.38
% 0.17/0.38 % lfinite_rev_induct
% 0.17/0.38 thf(fact_62_lprefix__LCons__conv,axiom,
% 0.17/0.38 ! [A: $tType,Xs: coindu1593790203_llist @ A,Y: A,Ys: coindu1593790203_llist @ A] :
% 0.17/0.38 ( ( coindu1696667936prefix @ A @ Xs @ ( coindu1121789889_LCons @ A @ Y @ Ys ) )
% 0.17/0.38 = ( ( Xs
% 0.17/0.38 = ( coindu1598213697e_LNil @ A ) )
% 0.17/0.38 | ? [Xs4: coindu1593790203_llist @ A] :
% 0.17/0.38 ( ( Xs
% 0.17/0.38 = ( coindu1121789889_LCons @ A @ Y @ Xs4 ) )
% 0.17/0.38 & ( coindu1696667936prefix @ A @ Xs4 @ Ys ) ) ) ) ).
% 0.17/0.38
% 0.17/0.38 % lprefix_LCons_conv
% 0.17/0.38 thf(fact_63_lprefix__not__lnullD,axiom,
% 0.17/0.38 ! [A: $tType,Xs: coindu1593790203_llist @ A,Ys: coindu1593790203_llist @ A] :
% 0.17/0.38 ( ( coindu1696667936prefix @ A @ Xs @ Ys )
% 0.17/0.38 => ( ~ ( coindu335574135_lnull @ A @ Xs )
% 0.17/0.38 => ~ ( coindu335574135_lnull @ A @ Ys ) ) ) ).
% 0.17/0.38
% 0.17/0.38 % lprefix_not_lnullD
% 0.17/0.38 thf(fact_64_lprefix__down__linear,axiom,
% 0.17/0.38 ! [A: $tType,Xs: coindu1593790203_llist @ A,Zs: coindu1593790203_llist @ A,Ys: coindu1593790203_llist @ A] :
% 0.17/0.38 ( ( coindu1696667936prefix @ A @ Xs @ Zs )
% 0.17/0.38 => ( ( coindu1696667936prefix @ A @ Ys @ Zs )
% 0.17/0.38 => ( ( coindu1696667936prefix @ A @ Xs @ Ys )
% 0.17/0.38 | ( coindu1696667936prefix @ A @ Ys @ Xs ) ) ) ) ).
% 0.17/0.38
% 0.17/0.38 % lprefix_down_linear
% 0.17/0.38 thf(fact_65_lfinite__LNil,axiom,
% 0.17/0.38 ! [A: $tType] : ( coindu1213758845finite @ A @ ( coindu1598213697e_LNil @ A ) ) ).
% 0.17/0.38
% 0.17/0.38 % lfinite_LNil
% 0.17/0.38 thf(fact_66_LNil__lprefix,axiom,
% 0.17/0.38 ! [A: $tType,Xs: coindu1593790203_llist @ A] : ( coindu1696667936prefix @ A @ ( coindu1598213697e_LNil @ A ) @ Xs ) ).
% 0.17/0.38
% 0.17/0.38 % LNil_lprefix
% 0.17/0.38 thf(fact_67_lfinite__LConsI,axiom,
% 0.17/0.38 ! [A: $tType,Xs: coindu1593790203_llist @ A,X: A] :
% 0.17/0.38 ( ( coindu1213758845finite @ A @ Xs )
% 0.17/0.38 => ( coindu1213758845finite @ A @ ( coindu1121789889_LCons @ A @ X @ Xs ) ) ) ).
% 0.17/0.38
% 0.17/0.38 % lfinite_LConsI
% 0.17/0.38 thf(fact_68_not__lfinite__lprefix__conv__eq,axiom,
% 0.17/0.38 ! [A: $tType,Xs: coindu1593790203_llist @ A,Ys: coindu1593790203_llist @ A] :
% 0.17/0.38 ( ~ ( coindu1213758845finite @ A @ Xs )
% 0.17/0.38 => ( ( coindu1696667936prefix @ A @ Xs @ Ys )
% 0.17/0.38 = ( Xs = Ys ) ) ) ).
% 0.17/0.38
% 0.17/0.38 % not_lfinite_lprefix_conv_eq
% 0.17/0.38 thf(fact_69_lappend_Octr_I1_J,axiom,
% 0.17/0.38 ! [A: $tType,Xs: coindu1593790203_llist @ A,Ys: coindu1593790203_llist @ A] :
% 0.17/0.38 ( ( coindu335574135_lnull @ A @ Xs )
% 0.17/0.38 => ( ( coindu335574135_lnull @ A @ Ys )
% 0.17/0.38 => ( ( coindu268472904append @ A @ Xs @ Ys )
% 0.17/0.38 = ( coindu1598213697e_LNil @ A ) ) ) ) ).
% 0.17/0.38
% 0.17/0.38 % lappend.ctr(1)
% 0.17/0.38 thf(fact_70_lappend__snocL1__conv__LCons2,axiom,
% 0.17/0.38 ! [A: $tType,Xs: coindu1593790203_llist @ A,Y: A,Ys: coindu1593790203_llist @ A] :
% 0.17/0.38 ( ( coindu268472904append @ A @ ( coindu268472904append @ A @ Xs @ ( coindu1121789889_LCons @ A @ Y @ ( coindu1598213697e_LNil @ A ) ) ) @ Ys )
% 0.17/0.38 = ( coindu268472904append @ A @ Xs @ ( coindu1121789889_LCons @ A @ Y @ Ys ) ) ) ).
% 0.17/0.38
% 0.17/0.38 % lappend_snocL1_conv_LCons2
% 0.17/0.38 thf(fact_71_lappend__inf,axiom,
% 0.17/0.38 ! [A: $tType,Xs: coindu1593790203_llist @ A,Ys: coindu1593790203_llist @ A] :
% 0.17/0.38 ( ~ ( coindu1213758845finite @ A @ Xs )
% 0.17/0.38 => ( ( coindu268472904append @ A @ Xs @ Ys )
% 0.17/0.38 = Xs ) ) ).
% 0.17/0.38
% 0.17/0.38 % lappend_inf
% 0.17/0.38 thf(fact_72_lappend__lnull2,axiom,
% 0.17/0.38 ! [A: $tType,Ys: coindu1593790203_llist @ A,Xs: coindu1593790203_llist @ A] :
% 0.17/0.38 ( ( coindu335574135_lnull @ A @ Ys )
% 0.17/0.38 => ( ( coindu268472904append @ A @ Xs @ Ys )
% 0.17/0.38 = Xs ) ) ).
% 0.17/0.38
% 0.17/0.38 % lappend_lnull2
% 0.17/0.38 thf(fact_73_lappend__lnull1,axiom,
% 0.17/0.38 ! [A: $tType,Xs: coindu1593790203_llist @ A,Ys: coindu1593790203_llist @ A] :
% 0.17/0.38 ( ( coindu335574135_lnull @ A @ Xs )
% 0.17/0.38 => ( ( coindu268472904append @ A @ Xs @ Ys )
% 0.17/0.38 = Ys ) ) ).
% 0.17/0.38
% 0.17/0.38 % lappend_lnull1
% 0.17/0.38 thf(fact_74_lappend_Odisc_I1_J,axiom,
% 0.17/0.38 ! [A: $tType,Xs: coindu1593790203_llist @ A,Ys: coindu1593790203_llist @ A] :
% 0.17/0.38 ( ( coindu335574135_lnull @ A @ Xs )
% 0.17/0.38 => ( ( coindu335574135_lnull @ A @ Ys )
% 0.17/0.38 => ( coindu335574135_lnull @ A @ ( coindu268472904append @ A @ Xs @ Ys ) ) ) ) ).
% 0.17/0.38
% 0.17/0.38 % lappend.disc(1)
% 0.17/0.38 thf(fact_75_lappend_Odisc_I2_J,axiom,
% 0.17/0.38 ! [A: $tType,Xs: coindu1593790203_llist @ A,Ys: coindu1593790203_llist @ A] :
% 0.17/0.38 ( ( ~ ( coindu335574135_lnull @ A @ Xs )
% 0.17/0.38 | ~ ( coindu335574135_lnull @ A @ Ys ) )
% 0.17/0.38 => ~ ( coindu335574135_lnull @ A @ ( coindu268472904append @ A @ Xs @ Ys ) ) ) ).
% 0.17/0.38
% 0.17/0.38 % lappend.disc(2)
% 0.17/0.38 thf(fact_76_lprefix__lappend__sameI,axiom,
% 0.17/0.38 ! [A: $tType,Xs: coindu1593790203_llist @ A,Ys: coindu1593790203_llist @ A,Zs: coindu1593790203_llist @ A] :
% 0.17/0.38 ( ( coindu1696667936prefix @ A @ Xs @ Ys )
% 0.17/0.38 => ( coindu1696667936prefix @ A @ ( coindu268472904append @ A @ Zs @ Xs ) @ ( coindu268472904append @ A @ Zs @ Ys ) ) ) ).
% 0.17/0.38
% 0.17/0.38 % lprefix_lappend_sameI
% 0.17/0.38 thf(fact_77_lprefix__conv__lappend,axiom,
% 0.17/0.38 ! [A: $tType] :
% 0.17/0.38 ( ( coindu1696667936prefix @ A )
% 0.17/0.38 = ( ^ [Xs3: coindu1593790203_llist @ A,Ys3: coindu1593790203_llist @ A] :
% 0.17/0.38 ? [Zs2: coindu1593790203_llist @ A] :
% 0.17/0.38 ( Ys3
% 0.17/0.38 = ( coindu268472904append @ A @ Xs3 @ Zs2 ) ) ) ) ).
% 0.17/0.38
% 0.17/0.38 % lprefix_conv_lappend
% 0.17/0.38 thf(fact_78_lprefix__lappendD,axiom,
% 0.17/0.38 ! [A: $tType,Xs: coindu1593790203_llist @ A,Ys: coindu1593790203_llist @ A,Zs: coindu1593790203_llist @ A] :
% 0.17/0.38 ( ( coindu1696667936prefix @ A @ Xs @ ( coindu268472904append @ A @ Ys @ Zs ) )
% 0.17/0.38 => ( ( coindu1696667936prefix @ A @ Xs @ Ys )
% 0.17/0.38 | ( coindu1696667936prefix @ A @ Ys @ Xs ) ) ) ).
% 0.17/0.38
% 0.17/0.38 % lprefix_lappendD
% 0.17/0.38 thf(fact_79_lappend__lprefixE,axiom,
% 0.17/0.38 ! [A: $tType,Xs: coindu1593790203_llist @ A,Ys: coindu1593790203_llist @ A,Zs: coindu1593790203_llist @ A] :
% 0.17/0.38 ( ( coindu1696667936prefix @ A @ ( coindu268472904append @ A @ Xs @ Ys ) @ Zs )
% 0.17/0.38 => ~ ! [Zs3: coindu1593790203_llist @ A] :
% 0.17/0.38 ( Zs
% 0.17/0.38 != ( coindu268472904append @ A @ Xs @ Zs3 ) ) ) ).
% 0.17/0.38
% 0.17/0.38 % lappend_lprefixE
% 0.17/0.38 thf(fact_80_lprefix__lappend,axiom,
% 0.17/0.38 ! [A: $tType,Xs: coindu1593790203_llist @ A,Ys: coindu1593790203_llist @ A] : ( coindu1696667936prefix @ A @ Xs @ ( coindu268472904append @ A @ Xs @ Ys ) ) ).
% 0.17/0.38
% 0.17/0.38 % lprefix_lappend
% 0.17/0.38 thf(fact_81_lappend__eq__LNil__iff,axiom,
% 0.17/0.38 ! [A: $tType,Xs: coindu1593790203_llist @ A,Ys: coindu1593790203_llist @ A] :
% 0.17/0.38 ( ( ( coindu268472904append @ A @ Xs @ Ys )
% 0.17/0.38 = ( coindu1598213697e_LNil @ A ) )
% 0.17/0.38 = ( ( Xs
% 0.17/0.38 = ( coindu1598213697e_LNil @ A ) )
% 0.17/0.38 & ( Ys
% 0.17/0.38 = ( coindu1598213697e_LNil @ A ) ) ) ) ).
% 0.17/0.38
% 0.17/0.38 % lappend_eq_LNil_iff
% 0.17/0.38 thf(fact_82_LNil__eq__lappend__iff,axiom,
% 0.17/0.38 ! [A: $tType,Xs: coindu1593790203_llist @ A,Ys: coindu1593790203_llist @ A] :
% 0.17/0.38 ( ( ( coindu1598213697e_LNil @ A )
% 0.17/0.38 = ( coindu268472904append @ A @ Xs @ Ys ) )
% 0.17/0.38 = ( ( Xs
% 0.17/0.38 = ( coindu1598213697e_LNil @ A ) )
% 0.17/0.38 & ( Ys
% 0.17/0.38 = ( coindu1598213697e_LNil @ A ) ) ) ) ).
% 0.17/0.38
% 0.17/0.38 % LNil_eq_lappend_iff
% 0.17/0.38 thf(fact_83_lappend__LNil__LNil,axiom,
% 0.17/0.38 ! [A: $tType] :
% 0.17/0.38 ( ( coindu268472904append @ A @ ( coindu1598213697e_LNil @ A ) @ ( coindu1598213697e_LNil @ A ) )
% 0.17/0.38 = ( coindu1598213697e_LNil @ A ) ) ).
% 0.17/0.38
% 0.17/0.38 % lappend_LNil_LNil
% 0.17/0.38 thf(fact_84_lfinite__inf__llist,axiom,
% 0.17/0.38 ! [A: $tType,F: nat > A] :
% 0.17/0.38 ~ ( coindu1213758845finite @ A @ ( coindu288502823_llist @ A @ F ) ) ).
% 0.17/0.38
% 0.17/0.38 % lfinite_inf_llist
% 0.17/0.38 thf(fact_85_lnull__inf__llist,axiom,
% 0.17/0.38 ! [A: $tType,F: nat > A] :
% 0.17/0.38 ~ ( coindu335574135_lnull @ A @ ( coindu288502823_llist @ A @ F ) ) ).
% 0.17/0.38
% 0.17/0.38 % lnull_inf_llist
% 0.17/0.38 thf(fact_86_llast__lappend__LCons,axiom,
% 0.17/0.38 ! [A: $tType,Xs: coindu1593790203_llist @ A,Y: A,Ys: coindu1593790203_llist @ A] :
% 0.17/0.38 ( ( coindu1213758845finite @ A @ Xs )
% 0.17/0.38 => ( ( coindu2000965700_llast @ A @ ( coindu268472904append @ A @ Xs @ ( coindu1121789889_LCons @ A @ Y @ Ys ) ) )
% 0.17/0.38 = ( coindu2000965700_llast @ A @ ( coindu1121789889_LCons @ A @ Y @ Ys ) ) ) ) ).
% 0.17/0.38
% 0.17/0.38 % llast_lappend_LCons
% 0.17/0.38 thf(fact_87_lstrict__prefix__lappend__conv,axiom,
% 0.17/0.38 ! [A: $tType,Xs: coindu1593790203_llist @ A,Ys: coindu1593790203_llist @ A] :
% 0.17/0.38 ( ( coindu574146665prefix @ A @ Xs @ ( coindu268472904append @ A @ Xs @ Ys ) )
% 0.17/0.38 = ( ( coindu1213758845finite @ A @ Xs )
% 0.17/0.38 & ~ ( coindu335574135_lnull @ A @ Ys ) ) ) ).
% 0.17/0.38
% 0.17/0.38 % lstrict_prefix_lappend_conv
% 0.17/0.38 thf(fact_88_llimit__induct,axiom,
% 0.17/0.38 ! [A: $tType,P: ( coindu1593790203_llist @ A ) > $o,Xs: coindu1593790203_llist @ A] :
% 0.17/0.38 ( ( P @ ( coindu1598213697e_LNil @ A ) )
% 0.17/0.38 => ( ! [X3: A,Xs2: coindu1593790203_llist @ A] :
% 0.17/0.38 ( ( coindu1213758845finite @ A @ Xs2 )
% 0.17/0.38 => ( ( P @ Xs2 )
% 0.17/0.38 => ( P @ ( coindu1121789889_LCons @ A @ X3 @ Xs2 ) ) ) )
% 0.17/0.38 => ( ( ! [Ys4: coindu1593790203_llist @ A] :
% 0.17/0.38 ( ( coindu574146665prefix @ A @ Ys4 @ Xs )
% 0.17/0.38 => ( P @ Ys4 ) )
% 0.17/0.38 => ( P @ Xs ) )
% 0.17/0.38 => ( P @ Xs ) ) ) ) ).
% 0.17/0.38
% 0.17/0.38 % llimit_induct
% 0.17/0.38 thf(fact_89_Coinductive__List__Mirabelle__kmikjhschf_Olprefix__nitpick__simps,axiom,
% 0.17/0.38 ! [A: $tType] :
% 0.17/0.38 ( ( coindu1696667936prefix @ A )
% 0.17/0.38 = ( ^ [Xs3: coindu1593790203_llist @ A,Ys3: coindu1593790203_llist @ A] :
% 0.17/0.38 ( ( ( coindu1213758845finite @ A @ Xs3 )
% 0.17/0.38 => ( coindu1571841457prefix @ A @ Xs3 @ Ys3 ) )
% 0.17/0.38 & ( ~ ( coindu1213758845finite @ A @ Xs3 )
% 0.17/0.38 => ( Xs3 = Ys3 ) ) ) ) ) ).
% 0.17/0.38
% 0.17/0.38 % Coinductive_List_Mirabelle_kmikjhschf.lprefix_nitpick_simps
% 0.17/0.38 thf(fact_90_Coinductive__List__Mirabelle__kmikjhschf_Ofinite__lprefix__nitpick__simps_I3_J,axiom,
% 0.17/0.38 ! [A: $tType,Xs: coindu1593790203_llist @ A,Y: A,Ys: coindu1593790203_llist @ A] :
% 0.17/0.38 ( ( coindu1571841457prefix @ A @ Xs @ ( coindu1121789889_LCons @ A @ Y @ Ys ) )
% 0.17/0.38 = ( ( Xs
% 0.17/0.38 = ( coindu1598213697e_LNil @ A ) )
% 0.17/0.38 | ? [Xs4: coindu1593790203_llist @ A] :
% 0.17/0.38 ( ( Xs
% 0.17/0.38 = ( coindu1121789889_LCons @ A @ Y @ Xs4 ) )
% 0.17/0.38 & ( coindu1571841457prefix @ A @ Xs4 @ Ys ) ) ) ) ).
% 0.17/0.38
% 0.17/0.38 % Coinductive_List_Mirabelle_kmikjhschf.finite_lprefix_nitpick_simps(3)
% 0.17/0.38 thf(fact_91_lstrict__prefix__code_I3_J,axiom,
% 0.17/0.38 ! [B: $tType,X: B,Xs: coindu1593790203_llist @ B] :
% 0.17/0.38 ~ ( coindu574146665prefix @ B @ ( coindu1121789889_LCons @ B @ X @ Xs ) @ ( coindu1598213697e_LNil @ B ) ) ).
% 0.17/0.38
% 0.17/0.38 % lstrict_prefix_code(3)
% 0.17/0.38 thf(fact_92_lstrict__prefix__code_I2_J,axiom,
% 0.17/0.38 ! [B: $tType,Y: B,Ys: coindu1593790203_llist @ B] : ( coindu574146665prefix @ B @ ( coindu1598213697e_LNil @ B ) @ ( coindu1121789889_LCons @ B @ Y @ Ys ) ) ).
% 0.17/0.38
% 0.17/0.38 % lstrict_prefix_code(2)
% 0.17/0.38 thf(fact_93_llast__singleton,axiom,
% 0.17/0.38 ! [A: $tType,X: A] :
% 0.17/0.38 ( ( coindu2000965700_llast @ A @ ( coindu1121789889_LCons @ A @ X @ ( coindu1598213697e_LNil @ A ) ) )
% 0.17/0.38 = X ) ).
% 0.17/0.38
% 0.17/0.38 % llast_singleton
% 0.17/0.38 thf(fact_94_llist__of__list__of,axiom,
% 0.17/0.38 ! [A: $tType,Xs: coindu1593790203_llist @ A] :
% 0.17/0.38 ( ( coindu1213758845finite @ A @ Xs )
% 0.17/0.38 => ( ( coindu1079202755ist_of @ A @ ( coindu1736001939ist_of @ A @ Xs ) )
% 0.17/0.38 = Xs ) ) ).
% 0.17/0.38
% 0.17/0.38 % llist_of_list_of
% 0.17/0.38 thf(fact_95_lmember__code_I1_J,axiom,
% 0.17/0.38 ! [A: $tType,X: A] :
% 0.17/0.38 ~ ( coindu567634248member @ A @ X @ ( coindu1598213697e_LNil @ A ) ) ).
% 0.17/0.38
% 0.17/0.38 % lmember_code(1)
% 0.17/0.38 thf(fact_96_lmember__code_I2_J,axiom,
% 0.17/0.38 ! [A: $tType,X: A,Y: A,Ys: coindu1593790203_llist @ A] :
% 0.17/0.38 ( ( coindu567634248member @ A @ X @ ( coindu1121789889_LCons @ A @ Y @ Ys ) )
% 0.17/0.38 = ( ( X = Y )
% 0.17/0.38 | ( coindu567634248member @ A @ X @ Ys ) ) ) ).
% 0.17/0.38
% 0.17/0.38 % lmember_code(2)
% 0.17/0.38 thf(fact_97_llast__LCons2,axiom,
% 0.17/0.38 ! [A: $tType,X: A,Y: A,Xs: coindu1593790203_llist @ A] :
% 0.17/0.38 ( ( coindu2000965700_llast @ A @ ( coindu1121789889_LCons @ A @ X @ ( coindu1121789889_LCons @ A @ Y @ Xs ) ) )
% 0.17/0.38 = ( coindu2000965700_llast @ A @ ( coindu1121789889_LCons @ A @ Y @ Xs ) ) ) ).
% 0.17/0.38
% 0.17/0.38 % llast_LCons2
% 0.17/0.38 thf(fact_98_list__of__llist__of,axiom,
% 0.17/0.38 ! [A: $tType,Xs: list @ A] :
% 0.17/0.38 ( ( coindu1736001939ist_of @ A @ ( coindu1079202755ist_of @ A @ Xs ) )
% 0.17/0.38 = Xs ) ).
% 0.17/0.38
% 0.17/0.38 % list_of_llist_of
% 0.17/0.38 thf(fact_99_lstrict__prefix__code_I4_J,axiom,
% 0.17/0.38 ! [B: $tType,X: B,Xs: coindu1593790203_llist @ B,Y: B,Ys: coindu1593790203_llist @ B] :
% 0.17/0.38 ( ( coindu574146665prefix @ B @ ( coindu1121789889_LCons @ B @ X @ Xs ) @ ( coindu1121789889_LCons @ B @ Y @ Ys ) )
% 0.17/0.38 = ( ( X = Y )
% 0.17/0.38 & ( coindu574146665prefix @ B @ Xs @ Ys ) ) ) ).
% 0.17/0.38
% 0.17/0.38 % lstrict_prefix_code(4)
% 0.17/0.38 thf(fact_100_lstrict__prefix__code_I1_J,axiom,
% 0.17/0.38 ! [A: $tType] :
% 0.17/0.38 ~ ( coindu574146665prefix @ A @ ( coindu1598213697e_LNil @ A ) @ ( coindu1598213697e_LNil @ A ) ) ).
% 0.17/0.38
% 0.17/0.38 % lstrict_prefix_code(1)
% 0.17/0.38 thf(fact_101_llist__less__induct,axiom,
% 0.17/0.38 ! [A: $tType,P: ( coindu1593790203_llist @ A ) > $o,Xs: coindu1593790203_llist @ A] :
% 0.17/0.38 ( ! [Xs2: coindu1593790203_llist @ A] :
% 0.17/0.38 ( ! [Ys4: coindu1593790203_llist @ A] :
% 0.17/0.38 ( ( coindu574146665prefix @ A @ Ys4 @ Xs2 )
% 0.17/0.38 => ( P @ Ys4 ) )
% 0.17/0.38 => ( P @ Xs2 ) )
% 0.17/0.38 => ( P @ Xs ) ) ).
% 0.17/0.38
% 0.17/0.38 % llist_less_induct
% 0.17/0.38 thf(fact_102_lstrict__prefix__def,axiom,
% 0.17/0.38 ! [A: $tType] :
% 0.17/0.38 ( ( coindu574146665prefix @ A )
% 0.17/0.38 = ( ^ [Xs3: coindu1593790203_llist @ A,Ys3: coindu1593790203_llist @ A] :
% 0.17/0.38 ( ( coindu1696667936prefix @ A @ Xs3 @ Ys3 )
% 0.17/0.38 & ( Xs3 != Ys3 ) ) ) ) ).
% 0.17/0.38
% 0.17/0.38 % lstrict_prefix_def
% 0.17/0.38 thf(fact_103_lstrict__prefix__lfinite1,axiom,
% 0.17/0.38 ! [A: $tType,Xs: coindu1593790203_llist @ A,Ys: coindu1593790203_llist @ A] :
% 0.17/0.38 ( ( coindu574146665prefix @ A @ Xs @ Ys )
% 0.17/0.38 => ( coindu1213758845finite @ A @ Xs ) ) ).
% 0.17/0.38
% 0.17/0.38 % lstrict_prefix_lfinite1
% 0.17/0.38 thf(fact_104_Coinductive__List__Mirabelle__kmikjhschf_Ofinite__lprefix__def,axiom,
% 0.17/0.38 ! [A: $tType] :
% 0.17/0.38 ( ( coindu1571841457prefix @ A )
% 0.17/0.38 = ( coindu1696667936prefix @ A ) ) ).
% 0.17/0.38
% 0.17/0.38 % Coinductive_List_Mirabelle_kmikjhschf.finite_lprefix_def
% 0.17/0.38 thf(fact_105_Coinductive__List__Mirabelle__kmikjhschf_Ofinite__lprefix__nitpick__simps_I1_J,axiom,
% 0.17/0.38 ! [A: $tType,Xs: coindu1593790203_llist @ A] :
% 0.17/0.38 ( ( coindu1571841457prefix @ A @ Xs @ ( coindu1598213697e_LNil @ A ) )
% 0.17/0.38 = ( Xs
% 0.17/0.38 = ( coindu1598213697e_LNil @ A ) ) ) ).
% 0.17/0.38
% 0.17/0.38 % Coinductive_List_Mirabelle_kmikjhschf.finite_lprefix_nitpick_simps(1)
% 0.17/0.38 thf(fact_106_Coinductive__List__Mirabelle__kmikjhschf_Ofinite__lprefix__nitpick__simps_I2_J,axiom,
% 0.17/0.38 ! [A: $tType,Xs: coindu1593790203_llist @ A] : ( coindu1571841457prefix @ A @ ( coindu1598213697e_LNil @ A ) @ Xs ) ).
% 0.17/0.38
% 0.17/0.38 % Coinductive_List_Mirabelle_kmikjhschf.finite_lprefix_nitpick_simps(2)
% 0.17/0.38 thf(fact_107_llast__LCons,axiom,
% 0.17/0.38 ! [A: $tType,Xs: coindu1593790203_llist @ A,X: A] :
% 0.17/0.38 ( ( ( coindu335574135_lnull @ A @ Xs )
% 0.17/0.38 => ( ( coindu2000965700_llast @ A @ ( coindu1121789889_LCons @ A @ X @ Xs ) )
% 0.17/0.38 = X ) )
% 0.17/0.38 & ( ~ ( coindu335574135_lnull @ A @ Xs )
% 0.17/0.38 => ( ( coindu2000965700_llast @ A @ ( coindu1121789889_LCons @ A @ X @ Xs ) )
% 0.17/0.38 = ( coindu2000965700_llast @ A @ Xs ) ) ) ) ).
% 0.17/0.38
% 0.17/0.38 % llast_LCons
% 0.17/0.38 thf(fact_108_llast__lappend,axiom,
% 0.17/0.38 ! [A: $tType,Ys: coindu1593790203_llist @ A,Xs: coindu1593790203_llist @ A] :
% 0.17/0.38 ( ( ( coindu335574135_lnull @ A @ Ys )
% 0.17/0.38 => ( ( coindu2000965700_llast @ A @ ( coindu268472904append @ A @ Xs @ Ys ) )
% 0.17/0.38 = ( coindu2000965700_llast @ A @ Xs ) ) )
% 0.17/0.38 & ( ~ ( coindu335574135_lnull @ A @ Ys )
% 0.17/0.38 => ( ( ( coindu1213758845finite @ A @ Xs )
% 0.17/0.38 => ( ( coindu2000965700_llast @ A @ ( coindu268472904append @ A @ Xs @ Ys ) )
% 0.17/0.38 = ( coindu2000965700_llast @ A @ Ys ) ) )
% 0.17/0.38 & ( ~ ( coindu1213758845finite @ A @ Xs )
% 0.17/0.38 => ( ( coindu2000965700_llast @ A @ ( coindu268472904append @ A @ Xs @ Ys ) )
% 0.17/0.38 = ( undefined @ A ) ) ) ) ) ) ).
% 0.17/0.38
% 0.17/0.38 % llast_lappend
% 0.17/0.38 thf(fact_109_list__of__LCons,axiom,
% 0.17/0.38 ! [A: $tType,Xs: coindu1593790203_llist @ A,X: A] :
% 0.17/0.38 ( ( coindu1213758845finite @ A @ Xs )
% 0.17/0.38 => ( ( coindu1736001939ist_of @ A @ ( coindu1121789889_LCons @ A @ X @ Xs ) )
% 0.17/0.38 = ( cons @ A @ X @ ( coindu1736001939ist_of @ A @ Xs ) ) ) ) ).
% 0.17/0.38
% 0.17/0.38 % list_of_LCons
% 0.17/0.38 thf(fact_110_nth__list__of,axiom,
% 0.17/0.38 ! [A: $tType,Xs: coindu1593790203_llist @ A] :
% 0.17/0.38 ( ( coindu1213758845finite @ A @ Xs )
% 0.17/0.38 => ( ( nth @ A @ ( coindu1736001939ist_of @ A @ Xs ) )
% 0.17/0.38 = ( coindu749330388e_lnth @ A @ Xs ) ) ) ).
% 0.17/0.38
% 0.17/0.38 % nth_list_of
% 0.17/0.38 thf(fact_111_llast__llist__of,axiom,
% 0.17/0.38 ! [A: $tType,Xs: list @ A] :
% 0.17/0.38 ( ( coindu2000965700_llast @ A @ ( coindu1079202755ist_of @ A @ Xs ) )
% 0.17/0.38 = ( last @ A @ Xs ) ) ).
% 0.17/0.38
% 0.17/0.38 % llast_llist_of
% 0.17/0.38 thf(fact_112_list__of__lappend,axiom,
% 0.17/0.38 ! [A: $tType,Xs: coindu1593790203_llist @ A,Ys: coindu1593790203_llist @ A] :
% 0.17/0.38 ( ( coindu1213758845finite @ A @ Xs )
% 0.17/0.38 => ( ( coindu1213758845finite @ A @ Ys )
% 0.17/0.38 => ( ( coindu1736001939ist_of @ A @ ( coindu268472904append @ A @ Xs @ Ys ) )
% 0.17/0.38 = ( append @ A @ ( coindu1736001939ist_of @ A @ Xs ) @ ( coindu1736001939ist_of @ A @ Ys ) ) ) ) ) ).
% 0.17/0.38
% 0.17/0.38 % list_of_lappend
% 0.17/0.38 thf(fact_113_lnth__llist__of,axiom,
% 0.17/0.38 ! [A: $tType,Xs: list @ A] :
% 0.17/0.38 ( ( coindu749330388e_lnth @ A @ ( coindu1079202755ist_of @ A @ Xs ) )
% 0.17/0.38 = ( nth @ A @ Xs ) ) ).
% 0.17/0.38
% 0.17/0.38 % lnth_llist_of
% 0.17/0.38 thf(fact_114_list__of__LCons__conv,axiom,
% 0.17/0.38 ! [A: $tType,Xs: coindu1593790203_llist @ A,X: A] :
% 0.17/0.38 ( ( ( coindu1213758845finite @ A @ Xs )
% 0.17/0.38 => ( ( coindu1736001939ist_of @ A @ ( coindu1121789889_LCons @ A @ X @ Xs ) )
% 0.17/0.38 = ( cons @ A @ X @ ( coindu1736001939ist_of @ A @ Xs ) ) ) )
% 0.17/0.38 & ( ~ ( coindu1213758845finite @ A @ Xs )
% 0.17/0.38 => ( ( coindu1736001939ist_of @ A @ ( coindu1121789889_LCons @ A @ X @ Xs ) )
% 0.17/0.38 = ( undefined @ ( list @ A ) ) ) ) ) ).
% 0.17/0.38
% 0.17/0.38 % list_of_LCons_conv
% 0.17/0.38 thf(fact_115_lnth__LNil,axiom,
% 0.17/0.38 ! [A: $tType,N: nat] :
% 0.17/0.38 ( ( coindu749330388e_lnth @ A @ ( coindu1598213697e_LNil @ A ) @ N )
% 0.17/0.38 = ( undefined @ ( nat > A ) @ N ) ) ).
% 0.17/0.38
% 0.17/0.38 % lnth_LNil
% 0.17/0.38 thf(fact_116_lprefix__llist__ofI,axiom,
% 0.17/0.38 ! [A: $tType,Ys: list @ A,Xs: list @ A] :
% 0.17/0.38 ( ? [Zs4: list @ A] :
% 0.17/0.38 ( Ys
% 0.17/0.38 = ( append @ A @ Xs @ Zs4 ) )
% 0.17/0.38 => ( coindu1696667936prefix @ A @ ( coindu1079202755ist_of @ A @ Xs ) @ ( coindu1079202755ist_of @ A @ Ys ) ) ) ).
% 0.17/0.38
% 0.17/0.38 % lprefix_llist_ofI
% 0.17/0.38 thf(fact_117_lappend__llist__of__llist__of,axiom,
% 0.17/0.38 ! [A: $tType,Xs: list @ A,Ys: list @ A] :
% 0.17/0.38 ( ( coindu268472904append @ A @ ( coindu1079202755ist_of @ A @ Xs ) @ ( coindu1079202755ist_of @ A @ Ys ) )
% 0.17/0.38 = ( coindu1079202755ist_of @ A @ ( append @ A @ Xs @ Ys ) ) ) ).
% 0.17/0.38
% 0.17/0.38 % lappend_llist_of_llist_of
% 0.17/0.38 thf(fact_118_llist__of_Osimps_I2_J,axiom,
% 0.17/0.38 ! [A: $tType,X: A,Xs: list @ A] :
% 0.17/0.38 ( ( coindu1079202755ist_of @ A @ ( cons @ A @ X @ Xs ) )
% 0.17/0.38 = ( coindu1121789889_LCons @ A @ X @ ( coindu1079202755ist_of @ A @ Xs ) ) ) ).
% 0.17/0.38
% 0.17/0.38 % llist_of.simps(2)
% 0.17/0.38 thf(fact_119_llist__of__eq__LCons__conv,axiom,
% 0.17/0.38 ! [A: $tType,Xs: list @ A,Y: A,Ys: coindu1593790203_llist @ A] :
% 0.17/0.38 ( ( ( coindu1079202755ist_of @ A @ Xs )
% 0.17/0.38 = ( coindu1121789889_LCons @ A @ Y @ Ys ) )
% 0.17/0.38 = ( ? [Xs4: list @ A] :
% 0.17/0.38 ( ( Xs
% 0.17/0.38 = ( cons @ A @ Y @ Xs4 ) )
% 0.17/0.38 & ( Ys
% 0.17/0.38 = ( coindu1079202755ist_of @ A @ Xs4 ) ) ) ) ) ).
% 0.17/0.38
% 0.17/0.38 % llist_of_eq_LCons_conv
% 0.17/0.38 thf(fact_120_llast__LNil,axiom,
% 0.17/0.38 ! [A: $tType] :
% 0.17/0.38 ( ( coindu2000965700_llast @ A @ ( coindu1598213697e_LNil @ A ) )
% 0.17/0.38 = ( undefined @ A ) ) ).
% 0.17/0.38
% 0.17/0.38 % llast_LNil
% 0.17/0.38 thf(fact_121_llast__linfinite,axiom,
% 0.17/0.38 ! [A: $tType,Xs: coindu1593790203_llist @ A] :
% 0.17/0.38 ( ~ ( coindu1213758845finite @ A @ Xs )
% 0.17/0.38 => ( ( coindu2000965700_llast @ A @ Xs )
% 0.17/0.38 = ( undefined @ A ) ) ) ).
% 0.17/0.38
% 0.17/0.38 % llast_linfinite
% 0.17/0.38 thf(fact_122_append__assoc,axiom,
% 0.17/0.38 ! [A: $tType,Xs: list @ A,Ys: list @ A,Zs: list @ A] :
% 0.17/0.38 ( ( append @ A @ ( append @ A @ Xs @ Ys ) @ Zs )
% 0.17/0.38 = ( append @ A @ Xs @ ( append @ A @ Ys @ Zs ) ) ) ).
% 0.17/0.38
% 0.17/0.38 % append_assoc
% 0.17/0.38 thf(fact_123_append__same__eq,axiom,
% 0.17/0.38 ! [A: $tType,Ys: list @ A,Xs: list @ A,Zs: list @ A] :
% 0.17/0.38 ( ( ( append @ A @ Ys @ Xs )
% 0.17/0.38 = ( append @ A @ Zs @ Xs ) )
% 0.17/0.38 = ( Ys = Zs ) ) ).
% 0.17/0.38
% 0.17/0.38 % append_same_eq
% 0.17/0.38 thf(fact_124_same__append__eq,axiom,
% 0.17/0.38 ! [A: $tType,Xs: list @ A,Ys: list @ A,Zs: list @ A] :
% 0.17/0.38 ( ( ( append @ A @ Xs @ Ys )
% 0.17/0.38 = ( append @ A @ Xs @ Zs ) )
% 0.17/0.38 = ( Ys = Zs ) ) ).
% 0.17/0.38
% 0.17/0.38 % same_append_eq
% 0.17/0.38 thf(fact_125_list_Oinject,axiom,
% 0.17/0.38 ! [A: $tType,X21: A,X22: list @ A,Y21: A,Y22: list @ A] :
% 0.17/0.38 ( ( ( cons @ A @ X21 @ X22 )
% 0.17/0.38 = ( cons @ A @ Y21 @ Y22 ) )
% 0.17/0.38 = ( ( X21 = Y21 )
% 0.17/0.38 & ( X22 = Y22 ) ) ) ).
% 0.17/0.38
% 0.17/0.38 % list.inject
% 0.17/0.38 thf(fact_126_not__Cons__self2,axiom,
% 0.17/0.38 ! [A: $tType,X: A,Xs: list @ A] :
% 0.17/0.38 ( ( cons @ A @ X @ Xs )
% 0.17/0.38 != Xs ) ).
% 0.17/0.38
% 0.17/0.38 % not_Cons_self2
% 0.17/0.38 thf(fact_127_append__eq__append__conv2,axiom,
% 0.17/0.38 ! [A: $tType,Xs: list @ A,Ys: list @ A,Zs: list @ A,Ts: list @ A] :
% 0.17/0.38 ( ( ( append @ A @ Xs @ Ys )
% 0.17/0.38 = ( append @ A @ Zs @ Ts ) )
% 0.17/0.38 = ( ? [Us: list @ A] :
% 0.17/0.38 ( ( ( Xs
% 0.17/0.38 = ( append @ A @ Zs @ Us ) )
% 0.17/0.38 & ( ( append @ A @ Us @ Ys )
% 0.17/0.38 = Ts ) )
% 0.17/0.38 | ( ( ( append @ A @ Xs @ Us )
% 0.17/0.38 = Zs )
% 0.17/0.38 & ( Ys
% 0.17/0.38 = ( append @ A @ Us @ Ts ) ) ) ) ) ) ).
% 0.17/0.38
% 0.17/0.38 % append_eq_append_conv2
% 0.17/0.38 thf(fact_128_append__eq__appendI,axiom,
% 0.17/0.38 ! [A: $tType,Xs: list @ A,Xs1: list @ A,Zs: list @ A,Ys: list @ A,Us2: list @ A] :
% 0.17/0.38 ( ( ( append @ A @ Xs @ Xs1 )
% 0.17/0.38 = Zs )
% 0.17/0.38 => ( ( Ys
% 0.17/0.38 = ( append @ A @ Xs1 @ Us2 ) )
% 0.17/0.38 => ( ( append @ A @ Xs @ Ys )
% 0.17/0.38 = ( append @ A @ Zs @ Us2 ) ) ) ) ).
% 0.17/0.38
% 0.17/0.38 % append_eq_appendI
% 0.17/0.38 thf(fact_129_append__Cons,axiom,
% 0.17/0.38 ! [A: $tType,X: A,Xs: list @ A,Ys: list @ A] :
% 0.17/0.38 ( ( append @ A @ ( cons @ A @ X @ Xs ) @ Ys )
% 0.17/0.38 = ( cons @ A @ X @ ( append @ A @ Xs @ Ys ) ) ) ).
% 0.17/0.38
% 0.17/0.38 % append_Cons
% 0.17/0.38 thf(fact_130_Cons__eq__appendI,axiom,
% 0.17/0.38 ! [A: $tType,X: A,Xs1: list @ A,Ys: list @ A,Xs: list @ A,Zs: list @ A] :
% 0.17/0.38 ( ( ( cons @ A @ X @ Xs1 )
% 0.17/0.38 = Ys )
% 0.17/0.38 => ( ( Xs
% 0.17/0.38 = ( append @ A @ Xs1 @ Zs ) )
% 0.17/0.38 => ( ( cons @ A @ X @ Xs )
% 0.17/0.38 = ( append @ A @ Ys @ Zs ) ) ) ) ).
% 0.17/0.38
% 0.17/0.38 % Cons_eq_appendI
% 0.17/0.38 thf(fact_131_bind__simps_I2_J,axiom,
% 0.17/0.38 ! [A: $tType,B: $tType,X: B,Xs: list @ B,F: B > ( list @ A )] :
% 0.17/0.38 ( ( bind @ B @ A @ ( cons @ B @ X @ Xs ) @ F )
% 0.17/0.38 = ( append @ A @ ( F @ X ) @ ( bind @ B @ A @ Xs @ F ) ) ) ).
% 0.17/0.38
% 0.17/0.38 % bind_simps(2)
% 0.17/0.38 thf(fact_132_lappend__llist__of__LCons,axiom,
% 0.17/0.38 ! [A: $tType,Xs: list @ A,Y: A,Ys: coindu1593790203_llist @ A] :
% 0.17/0.38 ( ( coindu268472904append @ A @ ( coindu1079202755ist_of @ A @ Xs ) @ ( coindu1121789889_LCons @ A @ Y @ Ys ) )
% 0.17/0.38 = ( coindu268472904append @ A @ ( coindu1079202755ist_of @ A @ ( append @ A @ Xs @ ( cons @ A @ Y @ ( nil @ A ) ) ) ) @ Ys ) ) ).
% 0.17/0.38
% 0.17/0.38 % lappend_llist_of_LCons
% 0.17/0.38 thf(fact_133_list__of__aux__code_I2_J,axiom,
% 0.17/0.38 ! [A: $tType,Xs: list @ A,Y: A,Ys: coindu1593790203_llist @ A] :
% 0.17/0.38 ( ( coindu1542816657of_aux @ A @ Xs @ ( coindu1121789889_LCons @ A @ Y @ Ys ) )
% 0.17/0.38 = ( coindu1542816657of_aux @ A @ ( cons @ A @ Y @ Xs ) @ Ys ) ) ).
% 0.17/0.38
% 0.17/0.38 % list_of_aux_code(2)
% 0.17/0.38 thf(fact_134_maps__simps_I1_J,axiom,
% 0.17/0.38 ! [A: $tType,B: $tType,F: B > ( list @ A ),X: B,Xs: list @ B] :
% 0.17/0.38 ( ( maps @ B @ A @ F @ ( cons @ B @ X @ Xs ) )
% 0.17/0.38 = ( append @ A @ ( F @ X ) @ ( maps @ B @ A @ F @ Xs ) ) ) ).
% 0.17/0.38
% 0.17/0.38 % maps_simps(1)
% 0.17/0.38 thf(fact_135_append__is__Nil__conv,axiom,
% 0.17/0.38 ! [A: $tType,Xs: list @ A,Ys: list @ A] :
% 0.17/0.38 ( ( ( append @ A @ Xs @ Ys )
% 0.17/0.38 = ( nil @ A ) )
% 0.17/0.38 = ( ( Xs
% 0.17/0.38 = ( nil @ A ) )
% 0.17/0.38 & ( Ys
% 0.17/0.38 = ( nil @ A ) ) ) ) ).
% 0.17/0.38
% 0.17/0.38 % append_is_Nil_conv
% 0.17/0.38 thf(fact_136_Nil__is__append__conv,axiom,
% 0.17/0.38 ! [A: $tType,Xs: list @ A,Ys: list @ A] :
% 0.17/0.38 ( ( ( nil @ A )
% 0.17/0.38 = ( append @ A @ Xs @ Ys ) )
% 0.17/0.38 = ( ( Xs
% 0.17/0.38 = ( nil @ A ) )
% 0.17/0.38 & ( Ys
% 0.17/0.38 = ( nil @ A ) ) ) ) ).
% 0.17/0.38
% 0.17/0.38 % Nil_is_append_conv
% 0.17/0.38 thf(fact_137_self__append__conv2,axiom,
% 0.17/0.38 ! [A: $tType,Ys: list @ A,Xs: list @ A] :
% 0.17/0.38 ( ( Ys
% 0.17/0.38 = ( append @ A @ Xs @ Ys ) )
% 0.17/0.38 = ( Xs
% 0.17/0.38 = ( nil @ A ) ) ) ).
% 0.17/0.38
% 0.17/0.38 % self_append_conv2
% 0.17/0.38 thf(fact_138_append__self__conv2,axiom,
% 0.17/0.38 ! [A: $tType,Xs: list @ A,Ys: list @ A] :
% 0.17/0.38 ( ( ( append @ A @ Xs @ Ys )
% 0.17/0.38 = Ys )
% 0.17/0.38 = ( Xs
% 0.17/0.38 = ( nil @ A ) ) ) ).
% 0.17/0.38
% 0.17/0.38 % append_self_conv2
% 0.17/0.38 thf(fact_139_self__append__conv,axiom,
% 0.17/0.38 ! [A: $tType,Xs: list @ A,Ys: list @ A] :
% 0.17/0.38 ( ( Xs
% 0.17/0.38 = ( append @ A @ Xs @ Ys ) )
% 0.17/0.38 = ( Ys
% 0.17/0.38 = ( nil @ A ) ) ) ).
% 0.17/0.38
% 0.17/0.38 % self_append_conv
% 0.17/0.38 thf(fact_140_append__self__conv,axiom,
% 0.17/0.38 ! [A: $tType,Xs: list @ A,Ys: list @ A] :
% 0.17/0.38 ( ( ( append @ A @ Xs @ Ys )
% 0.17/0.38 = Xs )
% 0.17/0.38 = ( Ys
% 0.17/0.38 = ( nil @ A ) ) ) ).
% 0.17/0.38
% 0.17/0.38 % append_self_conv
% 0.17/0.38 thf(fact_141_append__Nil2,axiom,
% 0.17/0.38 ! [A: $tType,Xs: list @ A] :
% 0.17/0.38 ( ( append @ A @ Xs @ ( nil @ A ) )
% 0.17/0.38 = Xs ) ).
% 0.17/0.38
% 0.17/0.38 % append_Nil2
% 0.17/0.38 thf(fact_142_bind__simps_I1_J,axiom,
% 0.17/0.38 ! [B: $tType,A: $tType,F: B > ( list @ A )] :
% 0.17/0.38 ( ( bind @ B @ A @ ( nil @ B ) @ F )
% 0.17/0.38 = ( nil @ A ) ) ).
% 0.17/0.38
% 0.17/0.38 % bind_simps(1)
% 0.17/0.38 thf(fact_143_append1__eq__conv,axiom,
% 0.17/0.38 ! [A: $tType,Xs: list @ A,X: A,Ys: list @ A,Y: A] :
% 0.17/0.38 ( ( ( append @ A @ Xs @ ( cons @ A @ X @ ( nil @ A ) ) )
% 0.17/0.38 = ( append @ A @ Ys @ ( cons @ A @ Y @ ( nil @ A ) ) ) )
% 0.17/0.38 = ( ( Xs = Ys )
% 0.17/0.38 & ( X = Y ) ) ) ).
% 0.17/0.38
% 0.17/0.38 % append1_eq_conv
% 0.17/0.38 thf(fact_144_lnull__llist__of,axiom,
% 0.17/0.38 ! [A: $tType,Xs: list @ A] :
% 0.17/0.38 ( ( coindu335574135_lnull @ A @ ( coindu1079202755ist_of @ A @ Xs ) )
% 0.17/0.38 = ( Xs
% 0.17/0.38 = ( nil @ A ) ) ) ).
% 0.17/0.38
% 0.17/0.38 % lnull_llist_of
% 0.17/0.38 thf(fact_145_last__appendL,axiom,
% 0.17/0.38 ! [A: $tType,Ys: list @ A,Xs: list @ A] :
% 0.17/0.38 ( ( Ys
% 0.17/0.38 = ( nil @ A ) )
% 0.17/0.38 => ( ( last @ A @ ( append @ A @ Xs @ Ys ) )
% 0.17/0.38 = ( last @ A @ Xs ) ) ) ).
% 0.17/0.38
% 0.17/0.38 % last_appendL
% 0.17/0.38 thf(fact_146_last__appendR,axiom,
% 0.17/0.38 ! [A: $tType,Ys: list @ A,Xs: list @ A] :
% 0.17/0.38 ( ( Ys
% 0.17/0.38 != ( nil @ A ) )
% 0.17/0.38 => ( ( last @ A @ ( append @ A @ Xs @ Ys ) )
% 0.17/0.38 = ( last @ A @ Ys ) ) ) ).
% 0.17/0.38
% 0.17/0.38 % last_appendR
% 0.17/0.38 thf(fact_147_list__of__LNil,axiom,
% 0.17/0.38 ! [A: $tType] :
% 0.17/0.38 ( ( coindu1736001939ist_of @ A @ ( coindu1598213697e_LNil @ A ) )
% 0.17/0.38 = ( nil @ A ) ) ).
% 0.17/0.38
% 0.17/0.38 % list_of_LNil
% 0.17/0.38 thf(fact_148_last__snoc,axiom,
% 0.17/0.38 ! [A: $tType,Xs: list @ A,X: A] :
% 0.17/0.38 ( ( last @ A @ ( append @ A @ Xs @ ( cons @ A @ X @ ( nil @ A ) ) ) )
% 0.17/0.38 = X ) ).
% 0.17/0.38
% 0.17/0.38 % last_snoc
% 0.17/0.38 thf(fact_149_list_Odistinct_I1_J,axiom,
% 0.17/0.38 ! [A: $tType,X21: A,X22: list @ A] :
% 0.17/0.38 ( ( nil @ A )
% 0.17/0.38 != ( cons @ A @ X21 @ X22 ) ) ).
% 0.17/0.38
% 0.17/0.38 % list.distinct(1)
% 0.17/0.38 thf(fact_150_list_OdiscI,axiom,
% 0.17/0.38 ! [A: $tType,List: list @ A,X21: A,X22: list @ A] :
% 0.17/0.38 ( ( List
% 0.17/0.38 = ( cons @ A @ X21 @ X22 ) )
% 0.17/0.38 => ( List
% 0.17/0.38 != ( nil @ A ) ) ) ).
% 0.17/0.38
% 0.17/0.38 % list.discI
% 0.17/0.38 thf(fact_151_list_Oexhaust,axiom,
% 0.17/0.38 ! [A: $tType,Y: list @ A] :
% 0.17/0.38 ( ( Y
% 0.17/0.38 != ( nil @ A ) )
% 0.17/0.38 => ~ ! [X212: A,X222: list @ A] :
% 0.17/0.38 ( Y
% 0.17/0.38 != ( cons @ A @ X212 @ X222 ) ) ) ).
% 0.17/0.38
% 0.17/0.38 % list.exhaust
% 0.17/0.38 thf(fact_152_list_Oinducts,axiom,
% 0.17/0.38 ! [A: $tType,P: ( list @ A ) > $o,List: list @ A] :
% 0.17/0.38 ( ( P @ ( nil @ A ) )
% 0.17/0.38 => ( ! [X1: A,X23: list @ A] :
% 0.17/0.38 ( ( P @ X23 )
% 0.17/0.38 => ( P @ ( cons @ A @ X1 @ X23 ) ) )
% 0.17/0.38 => ( P @ List ) ) ) ).
% 0.17/0.38
% 0.17/0.38 % list.inducts
% 0.17/0.38 thf(fact_153_neq__Nil__conv,axiom,
% 0.17/0.38 ! [A: $tType,Xs: list @ A] :
% 0.17/0.38 ( ( Xs
% 0.17/0.38 != ( nil @ A ) )
% 0.17/0.38 = ( ? [Y2: A,Ys3: list @ A] :
% 0.17/0.38 ( Xs
% 0.17/0.38 = ( cons @ A @ Y2 @ Ys3 ) ) ) ) ).
% 0.17/0.38
% 0.17/0.38 % neq_Nil_conv
% 0.17/0.38 thf(fact_154_list__induct2_H,axiom,
% 0.17/0.38 ! [A: $tType,B: $tType,P: ( list @ A ) > ( list @ B ) > $o,Xs: list @ A,Ys: list @ B] :
% 0.17/0.38 ( ( P @ ( nil @ A ) @ ( nil @ B ) )
% 0.17/0.38 => ( ! [X3: A,Xs2: list @ A] : ( P @ ( cons @ A @ X3 @ Xs2 ) @ ( nil @ B ) )
% 0.17/0.38 => ( ! [Y3: B,Ys2: list @ B] : ( P @ ( nil @ A ) @ ( cons @ B @ Y3 @ Ys2 ) )
% 0.17/0.38 => ( ! [X3: A,Xs2: list @ A,Y3: B,Ys2: list @ B] :
% 0.17/0.38 ( ( P @ Xs2 @ Ys2 )
% 0.17/0.38 => ( P @ ( cons @ A @ X3 @ Xs2 ) @ ( cons @ B @ Y3 @ Ys2 ) ) )
% 0.17/0.38 => ( P @ Xs @ Ys ) ) ) ) ) ).
% 0.17/0.38
% 0.17/0.38 % list_induct2'
% 0.17/0.38 thf(fact_155_splice_Oinduct,axiom,
% 0.17/0.38 ! [A: $tType,P: ( list @ A ) > ( list @ A ) > $o,A0: list @ A,A1: list @ A] :
% 0.17/0.38 ( ! [X1: list @ A] : ( P @ ( nil @ A ) @ X1 )
% 0.17/0.38 => ( ! [V: A,Va: list @ A] : ( P @ ( cons @ A @ V @ Va ) @ ( nil @ A ) )
% 0.17/0.38 => ( ! [X3: A,Xs2: list @ A,Y3: A,Ys2: list @ A] :
% 0.17/0.38 ( ( P @ Xs2 @ Ys2 )
% 0.17/0.38 => ( P @ ( cons @ A @ X3 @ Xs2 ) @ ( cons @ A @ Y3 @ Ys2 ) ) )
% 0.17/0.38 => ( P @ A0 @ A1 ) ) ) ) ).
% 0.17/0.38
% 0.17/0.38 % splice.induct
% 0.17/0.38 thf(fact_156_eq__Nil__appendI,axiom,
% 0.17/0.38 ! [A: $tType,Xs: list @ A,Ys: list @ A] :
% 0.17/0.38 ( ( Xs = Ys )
% 0.17/0.38 => ( Xs
% 0.17/0.38 = ( append @ A @ ( nil @ A ) @ Ys ) ) ) ).
% 0.17/0.38
% 0.17/0.38 % eq_Nil_appendI
% 0.17/0.38 thf(fact_157_transpose_Ocases,axiom,
% 0.17/0.38 ! [A: $tType,X: list @ ( list @ A )] :
% 0.17/0.38 ( ( X
% 0.17/0.38 != ( nil @ ( list @ A ) ) )
% 0.17/0.38 => ( ! [Xss: list @ ( list @ A )] :
% 0.17/0.38 ( X
% 0.17/0.38 != ( cons @ ( list @ A ) @ ( nil @ A ) @ Xss ) )
% 0.17/0.38 => ~ ! [X3: A,Xs2: list @ A,Xss: list @ ( list @ A )] :
% 0.17/0.38 ( X
% 0.17/0.38 != ( cons @ ( list @ A ) @ ( cons @ A @ X3 @ Xs2 ) @ Xss ) ) ) ) ).
% 0.17/0.38
% 0.17/0.38 % transpose.cases
% 0.17/0.38 thf(fact_158_append__Nil,axiom,
% 0.17/0.38 ! [A: $tType,Ys: list @ A] :
% 0.17/0.38 ( ( append @ A @ ( nil @ A ) @ Ys )
% 0.17/0.38 = Ys ) ).
% 0.17/0.38
% 0.17/0.38 % append_Nil
% 0.17/0.38 thf(fact_159_remdups__adj_Ocases,axiom,
% 0.17/0.38 ! [A: $tType,X: list @ A] :
% 0.17/0.38 ( ( X
% 0.17/0.38 != ( nil @ A ) )
% 0.17/0.38 => ( ! [X3: A] :
% 0.17/0.38 ( X
% 0.17/0.38 != ( cons @ A @ X3 @ ( nil @ A ) ) )
% 0.17/0.38 => ~ ! [X3: A,Y3: A,Xs2: list @ A] :
% 0.17/0.38 ( X
% 0.17/0.38 != ( cons @ A @ X3 @ ( cons @ A @ Y3 @ Xs2 ) ) ) ) ) ).
% 0.17/0.38
% 0.17/0.38 % remdups_adj.cases
% 0.17/0.38 thf(fact_160_remdups__adj_Oinduct,axiom,
% 0.17/0.38 ! [A: $tType,P: ( list @ A ) > $o,A0: list @ A] :
% 0.17/0.38 ( ( P @ ( nil @ A ) )
% 0.17/0.38 => ( ! [X3: A] : ( P @ ( cons @ A @ X3 @ ( nil @ A ) ) )
% 0.17/0.38 => ( ! [X3: A,Y3: A,Xs2: list @ A] :
% 0.17/0.38 ( ( ( X3 = Y3 )
% 0.17/0.38 => ( P @ ( cons @ A @ X3 @ Xs2 ) ) )
% 0.17/0.38 => ( ( ( X3 != Y3 )
% 0.17/0.38 => ( P @ ( cons @ A @ Y3 @ Xs2 ) ) )
% 0.17/0.38 => ( P @ ( cons @ A @ X3 @ ( cons @ A @ Y3 @ Xs2 ) ) ) ) )
% 0.17/0.38 => ( P @ A0 ) ) ) ) ).
% 0.17/0.38
% 0.17/0.38 % remdups_adj.induct
% 0.17/0.38 thf(fact_161_list__nonempty__induct,axiom,
% 0.17/0.38 ! [A: $tType,Xs: list @ A,P: ( list @ A ) > $o] :
% 0.17/0.38 ( ( Xs
% 0.17/0.38 != ( nil @ A ) )
% 0.17/0.38 => ( ! [X3: A] : ( P @ ( cons @ A @ X3 @ ( nil @ A ) ) )
% 0.17/0.38 => ( ! [X3: A,Xs2: list @ A] :
% 0.17/0.38 ( ( Xs2
% 0.17/0.38 != ( nil @ A ) )
% 0.17/0.38 => ( ( P @ Xs2 )
% 0.17/0.38 => ( P @ ( cons @ A @ X3 @ Xs2 ) ) ) )
% 0.17/0.38 => ( P @ Xs ) ) ) ) ).
% 0.17/0.38
% 0.17/0.38 % list_nonempty_induct
% 0.17/0.38 thf(fact_162_map__tailrec__rev_Oinduct,axiom,
% 0.17/0.38 ! [A: $tType,B: $tType,P: ( A > B ) > ( list @ A ) > ( list @ B ) > $o,A0: A > B,A1: list @ A,A22: list @ B] :
% 0.17/0.38 ( ! [F2: A > B,X1: list @ B] : ( P @ F2 @ ( nil @ A ) @ X1 )
% 0.17/0.38 => ( ! [F2: A > B,A4: A,As: list @ A,Bs: list @ B] :
% 0.17/0.38 ( ( P @ F2 @ As @ ( cons @ B @ ( F2 @ A4 ) @ Bs ) )
% 0.17/0.38 => ( P @ F2 @ ( cons @ A @ A4 @ As ) @ Bs ) )
% 0.17/0.38 => ( P @ A0 @ A1 @ A22 ) ) ) ).
% 0.17/0.38
% 0.17/0.38 % map_tailrec_rev.induct
% 0.17/0.38 thf(fact_163_maps__simps_I2_J,axiom,
% 0.17/0.38 ! [B: $tType,A: $tType,F: B > ( list @ A )] :
% 0.17/0.38 ( ( maps @ B @ A @ F @ ( nil @ B ) )
% 0.17/0.38 = ( nil @ A ) ) ).
% 0.17/0.38
% 0.17/0.38 % maps_simps(2)
% 0.17/0.38 thf(fact_164_list__of__code,axiom,
% 0.17/0.38 ! [A: $tType] :
% 0.17/0.38 ( ( coindu1736001939ist_of @ A )
% 0.17/0.38 = ( coindu1542816657of_aux @ A @ ( nil @ A ) ) ) ).
% 0.17/0.38
% 0.17/0.38 % list_of_code
% 0.17/0.38 thf(fact_165_rev__induct,axiom,
% 0.17/0.38 ! [A: $tType,P: ( list @ A ) > $o,Xs: list @ A] :
% 0.17/0.38 ( ( P @ ( nil @ A ) )
% 0.17/0.38 => ( ! [X3: A,Xs2: list @ A] :
% 0.17/0.38 ( ( P @ Xs2 )
% 0.17/0.38 => ( P @ ( append @ A @ Xs2 @ ( cons @ A @ X3 @ ( nil @ A ) ) ) ) )
% 0.17/0.38 => ( P @ Xs ) ) ) ).
% 0.17/0.38
% 0.17/0.38 % rev_induct
% 0.17/0.38 thf(fact_166_rev__exhaust,axiom,
% 0.17/0.38 ! [A: $tType,Xs: list @ A] :
% 0.17/0.38 ( ( Xs
% 0.17/0.38 != ( nil @ A ) )
% 0.17/0.38 => ~ ! [Ys2: list @ A,Y3: A] :
% 0.17/0.38 ( Xs
% 0.17/0.38 != ( append @ A @ Ys2 @ ( cons @ A @ Y3 @ ( nil @ A ) ) ) ) ) ).
% 0.17/0.38
% 0.17/0.38 % rev_exhaust
% 0.17/0.38 thf(fact_167_Cons__eq__append__conv,axiom,
% 0.17/0.38 ! [A: $tType,X: A,Xs: list @ A,Ys: list @ A,Zs: list @ A] :
% 0.17/0.38 ( ( ( cons @ A @ X @ Xs )
% 0.17/0.38 = ( append @ A @ Ys @ Zs ) )
% 0.17/0.38 = ( ( ( Ys
% 0.17/0.38 = ( nil @ A ) )
% 0.17/0.38 & ( ( cons @ A @ X @ Xs )
% 0.17/0.38 = Zs ) )
% 0.17/0.38 | ? [Ys5: list @ A] :
% 0.17/0.38 ( ( ( cons @ A @ X @ Ys5 )
% 0.17/0.38 = Ys )
% 0.17/0.38 & ( Xs
% 0.17/0.38 = ( append @ A @ Ys5 @ Zs ) ) ) ) ) ).
% 0.17/0.38
% 0.17/0.38 % Cons_eq_append_conv
% 0.17/0.38 thf(fact_168_append__eq__Cons__conv,axiom,
% 0.17/0.38 ! [A: $tType,Ys: list @ A,Zs: list @ A,X: A,Xs: list @ A] :
% 0.17/0.38 ( ( ( append @ A @ Ys @ Zs )
% 0.17/0.38 = ( cons @ A @ X @ Xs ) )
% 0.17/0.38 = ( ( ( Ys
% 0.17/0.38 = ( nil @ A ) )
% 0.17/0.38 & ( Zs
% 0.17/0.38 = ( cons @ A @ X @ Xs ) ) )
% 0.17/0.38 | ? [Ys5: list @ A] :
% 0.17/0.38 ( ( Ys
% 0.17/0.38 = ( cons @ A @ X @ Ys5 ) )
% 0.17/0.38 & ( ( append @ A @ Ys5 @ Zs )
% 0.17/0.38 = Xs ) ) ) ) ).
% 0.17/0.38
% 0.17/0.38 % append_eq_Cons_conv
% 0.17/0.38 thf(fact_169_rev__nonempty__induct,axiom,
% 0.17/0.38 ! [A: $tType,Xs: list @ A,P: ( list @ A ) > $o] :
% 0.17/0.38 ( ( Xs
% 0.17/0.38 != ( nil @ A ) )
% 0.17/0.38 => ( ! [X3: A] : ( P @ ( cons @ A @ X3 @ ( nil @ A ) ) )
% 0.17/0.38 => ( ! [X3: A,Xs2: list @ A] :
% 0.17/0.38 ( ( Xs2
% 0.17/0.38 != ( nil @ A ) )
% 0.17/0.38 => ( ( P @ Xs2 )
% 0.17/0.38 => ( P @ ( append @ A @ Xs2 @ ( cons @ A @ X3 @ ( nil @ A ) ) ) ) ) )
% 0.17/0.38 => ( P @ Xs ) ) ) ) ).
% 0.17/0.38
% 0.17/0.38 % rev_nonempty_induct
% 0.17/0.38 thf(fact_170_last_Osimps,axiom,
% 0.17/0.38 ! [A: $tType,Xs: list @ A,X: A] :
% 0.17/0.38 ( ( ( Xs
% 0.17/0.38 = ( nil @ A ) )
% 0.17/0.38 => ( ( last @ A @ ( cons @ A @ X @ Xs ) )
% 0.17/0.38 = X ) )
% 0.17/0.38 & ( ( Xs
% 0.17/0.38 != ( nil @ A ) )
% 0.17/0.38 => ( ( last @ A @ ( cons @ A @ X @ Xs ) )
% 0.17/0.38 = ( last @ A @ Xs ) ) ) ) ).
% 0.17/0.38
% 0.17/0.38 % last.simps
% 0.17/0.38 thf(fact_171_last__ConsL,axiom,
% 0.17/0.38 ! [A: $tType,Xs: list @ A,X: A] :
% 0.17/0.38 ( ( Xs
% 0.17/0.38 = ( nil @ A ) )
% 0.17/0.38 => ( ( last @ A @ ( cons @ A @ X @ Xs ) )
% 0.17/0.38 = X ) ) ).
% 0.17/0.38
% 0.17/0.38 % last_ConsL
% 0.17/0.38 thf(fact_172_last__ConsR,axiom,
% 0.17/0.38 ! [A: $tType,Xs: list @ A,X: A] :
% 0.17/0.38 ( ( Xs
% 0.17/0.38 != ( nil @ A ) )
% 0.17/0.38 => ( ( last @ A @ ( cons @ A @ X @ Xs ) )
% 0.17/0.38 = ( last @ A @ Xs ) ) ) ).
% 0.17/0.38
% 0.17/0.38 % last_ConsR
% 0.17/0.38 thf(fact_173_llist__of_Osimps_I1_J,axiom,
% 0.17/0.38 ! [A: $tType] :
% 0.17/0.38 ( ( coindu1079202755ist_of @ A @ ( nil @ A ) )
% 0.17/0.38 = ( coindu1598213697e_LNil @ A ) ) ).
% 0.17/0.38
% 0.17/0.38 % llist_of.simps(1)
% 0.17/0.38 thf(fact_174_llist__of__eq__LNil__conv,axiom,
% 0.17/0.38 ! [A: $tType,Xs: list @ A] :
% 0.17/0.38 ( ( ( coindu1079202755ist_of @ A @ Xs )
% 0.17/0.38 = ( coindu1598213697e_LNil @ A ) )
% 0.17/0.38 = ( Xs
% 0.17/0.38 = ( nil @ A ) ) ) ).
% 0.17/0.38
% 0.17/0.38 % llist_of_eq_LNil_conv
% 0.17/0.38 thf(fact_175_last__append,axiom,
% 0.17/0.38 ! [A: $tType,Ys: list @ A,Xs: list @ A] :
% 0.17/0.38 ( ( ( Ys
% 0.17/0.38 = ( nil @ A ) )
% 0.17/0.38 => ( ( last @ A @ ( append @ A @ Xs @ Ys ) )
% 0.17/0.38 = ( last @ A @ Xs ) ) )
% 0.17/0.38 & ( ( Ys
% 0.17/0.38 != ( nil @ A ) )
% 0.17/0.38 => ( ( last @ A @ ( append @ A @ Xs @ Ys ) )
% 0.17/0.38 = ( last @ A @ Ys ) ) ) ) ).
% 0.17/0.38
% 0.17/0.38 % last_append
% 0.17/0.38 thf(fact_176_longest__common__suffix,axiom,
% 0.17/0.38 ! [A: $tType,Xs: list @ A,Ys: list @ A] :
% 0.17/0.38 ? [Ss: list @ A,Xs6: list @ A,Ys6: list @ A] :
% 0.17/0.38 ( ( Xs
% 0.17/0.38 = ( append @ A @ Xs6 @ Ss ) )
% 0.17/0.38 & ( Ys
% 0.17/0.38 = ( append @ A @ Ys6 @ Ss ) )
% 0.17/0.38 & ( ( Xs6
% 0.17/0.38 = ( nil @ A ) )
% 0.17/0.38 | ( Ys6
% 0.17/0.38 = ( nil @ A ) )
% 0.17/0.38 | ( ( last @ A @ Xs6 )
% 0.17/0.38 != ( last @ A @ Ys6 ) ) ) ) ).
% 0.17/0.38
% 0.17/0.38 % longest_common_suffix
% 0.17/0.38 thf(fact_177_longest__common__prefix_Oinduct,axiom,
% 0.17/0.38 ! [A: $tType,P: ( list @ A ) > ( list @ A ) > $o,A0: list @ A,A1: list @ A] :
% 0.17/0.38 ( ! [X3: A,Xs2: list @ A,Y3: A,Ys2: list @ A] :
% 0.17/0.38 ( ( ( X3 = Y3 )
% 0.17/0.38 => ( P @ Xs2 @ Ys2 ) )
% 0.17/0.38 => ( P @ ( cons @ A @ X3 @ Xs2 ) @ ( cons @ A @ Y3 @ Ys2 ) ) )
% 0.17/0.38 => ( ! [X1: list @ A] : ( P @ ( nil @ A ) @ X1 )
% 0.17/0.38 => ( ! [Uu: list @ A] : ( P @ Uu @ ( nil @ A ) )
% 0.17/0.38 => ( P @ A0 @ A1 ) ) ) ) ).
% 0.17/0.38
% 0.17/0.38 % longest_common_prefix.induct
% 0.17/0.38 thf(fact_178_prefixes_Oinduct,axiom,
% 0.17/0.38 ! [A: $tType,P: ( list @ A ) > $o,A0: list @ A] :
% 0.17/0.38 ( ( P @ ( nil @ A ) )
% 0.17/0.38 => ( ! [X3: A,Xs2: list @ A] :
% 0.17/0.38 ( ( P @ Xs2 )
% 0.17/0.38 => ( P @ ( cons @ A @ X3 @ Xs2 ) ) )
% 0.17/0.38 => ( P @ A0 ) ) ) ).
% 0.17/0.38
% 0.17/0.38 % prefixes.induct
% 0.17/0.38 thf(fact_179_prefixes_Ocases,axiom,
% 0.17/0.38 ! [A: $tType,X: list @ A] :
% 0.17/0.38 ( ( X
% 0.17/0.38 != ( nil @ A ) )
% 0.17/0.38 => ~ ! [X3: A,Xs2: list @ A] :
% 0.17/0.38 ( X
% 0.17/0.38 != ( cons @ A @ X3 @ Xs2 ) ) ) ).
% 0.17/0.38
% 0.17/0.38 % prefixes.cases
% 0.17/0.38 thf(fact_180_list__of__aux__def,axiom,
% 0.17/0.38 ! [A: $tType] :
% 0.17/0.38 ( ( coindu1542816657of_aux @ A )
% 0.17/0.38 = ( ^ [Xs3: list @ A,Ys3: coindu1593790203_llist @ A] : ( if @ ( list @ A ) @ ( coindu1213758845finite @ A @ Ys3 ) @ ( append @ A @ ( rev @ A @ Xs3 ) @ ( coindu1736001939ist_of @ A @ Ys3 ) ) @ ( undefined @ ( list @ A ) ) ) ) ) ).
% 0.17/0.38
% 0.17/0.38 % list_of_aux_def
% 0.17/0.38 thf(fact_181_rev__rev__ident,axiom,
% 0.17/0.38 ! [A: $tType,Xs: list @ A] :
% 0.17/0.38 ( ( rev @ A @ ( rev @ A @ Xs ) )
% 0.17/0.38 = Xs ) ).
% 0.17/0.38
% 0.17/0.38 % rev_rev_ident
% 0.17/0.38 thf(fact_182_rev__is__rev__conv,axiom,
% 0.17/0.38 ! [A: $tType,Xs: list @ A,Ys: list @ A] :
% 0.17/0.38 ( ( ( rev @ A @ Xs )
% 0.17/0.38 = ( rev @ A @ Ys ) )
% 0.17/0.38 = ( Xs = Ys ) ) ).
% 0.17/0.38
% 0.17/0.38 % rev_is_rev_conv
% 0.17/0.38 thf(fact_183_rev__is__Nil__conv,axiom,
% 0.17/0.38 ! [A: $tType,Xs: list @ A] :
% 0.17/0.38 ( ( ( rev @ A @ Xs )
% 0.17/0.38 = ( nil @ A ) )
% 0.17/0.38 = ( Xs
% 0.17/0.38 = ( nil @ A ) ) ) ).
% 0.17/0.38
% 0.17/0.38 % rev_is_Nil_conv
% 0.17/0.38 thf(fact_184_Nil__is__rev__conv,axiom,
% 0.17/0.38 ! [A: $tType,Xs: list @ A] :
% 0.17/0.38 ( ( ( nil @ A )
% 0.17/0.38 = ( rev @ A @ Xs ) )
% 0.17/0.38 = ( Xs
% 0.17/0.38 = ( nil @ A ) ) ) ).
% 0.17/0.38
% 0.17/0.38 % Nil_is_rev_conv
% 0.17/0.38 thf(fact_185_rev__append,axiom,
% 0.17/0.38 ! [A: $tType,Xs: list @ A,Ys: list @ A] :
% 0.17/0.38 ( ( rev @ A @ ( append @ A @ Xs @ Ys ) )
% 0.17/0.38 = ( append @ A @ ( rev @ A @ Ys ) @ ( rev @ A @ Xs ) ) ) ).
% 0.17/0.38
% 0.17/0.38 % rev_append
% 0.17/0.38 thf(fact_186_singleton__rev__conv,axiom,
% 0.17/0.38 ! [A: $tType,X: A,Xs: list @ A] :
% 0.17/0.38 ( ( ( cons @ A @ X @ ( nil @ A ) )
% 0.17/0.38 = ( rev @ A @ Xs ) )
% 0.17/0.38 = ( Xs
% 0.17/0.38 = ( cons @ A @ X @ ( nil @ A ) ) ) ) ).
% 0.17/0.38
% 0.17/0.38 % singleton_rev_conv
% 0.17/0.38 thf(fact_187_rev__singleton__conv,axiom,
% 0.17/0.38 ! [A: $tType,Xs: list @ A,X: A] :
% 0.17/0.38 ( ( ( rev @ A @ Xs )
% 0.17/0.38 = ( cons @ A @ X @ ( nil @ A ) ) )
% 0.17/0.38 = ( Xs
% 0.17/0.38 = ( cons @ A @ X @ ( nil @ A ) ) ) ) ).
% 0.17/0.38
% 0.17/0.38 % rev_singleton_conv
% 0.17/0.38 thf(fact_188_rev__eq__Cons__iff,axiom,
% 0.17/0.38 ! [A: $tType,Xs: list @ A,Y: A,Ys: list @ A] :
% 0.17/0.38 ( ( ( rev @ A @ Xs )
% 0.17/0.38 = ( cons @ A @ Y @ Ys ) )
% 0.17/0.38 = ( Xs
% 0.17/0.38 = ( append @ A @ ( rev @ A @ Ys ) @ ( cons @ A @ Y @ ( nil @ A ) ) ) ) ) ).
% 0.17/0.38
% 0.17/0.38 % rev_eq_Cons_iff
% 0.17/0.38 thf(fact_189_rev_Osimps_I1_J,axiom,
% 0.17/0.38 ! [A: $tType] :
% 0.17/0.38 ( ( rev @ A @ ( nil @ A ) )
% 0.17/0.38 = ( nil @ A ) ) ).
% 0.17/0.38
% 0.17/0.38 % rev.simps(1)
% 0.17/0.38 thf(fact_190_rev__swap,axiom,
% 0.17/0.38 ! [A: $tType,Xs: list @ A,Ys: list @ A] :
% 0.17/0.38 ( ( ( rev @ A @ Xs )
% 0.17/0.38 = Ys )
% 0.17/0.38 = ( Xs
% 0.17/0.38 = ( rev @ A @ Ys ) ) ) ).
% 0.17/0.38
% 0.17/0.38 % rev_swap
% 0.17/0.38 thf(fact_191_list__of__aux__code_I1_J,axiom,
% 0.17/0.38 ! [A: $tType,Xs: list @ A] :
% 0.17/0.38 ( ( coindu1542816657of_aux @ A @ Xs @ ( coindu1598213697e_LNil @ A ) )
% 0.17/0.38 = ( rev @ A @ Xs ) ) ).
% 0.17/0.38
% 0.17/0.38 % list_of_aux_code(1)
% 0.17/0.38 thf(fact_192_rev_Osimps_I2_J,axiom,
% 0.17/0.38 ! [A: $tType,X: A,Xs: list @ A] :
% 0.17/0.38 ( ( rev @ A @ ( cons @ A @ X @ Xs ) )
% 0.17/0.38 = ( append @ A @ ( rev @ A @ Xs ) @ ( cons @ A @ X @ ( nil @ A ) ) ) ) ).
% 0.17/0.38
% 0.17/0.38 % rev.simps(2)
% 0.17/0.38 thf(fact_193_prefixes__snoc,axiom,
% 0.17/0.38 ! [A: $tType,Xs: list @ A,X: A] :
% 0.17/0.38 ( ( prefixes @ A @ ( append @ A @ Xs @ ( cons @ A @ X @ ( nil @ A ) ) ) )
% 0.17/0.38 = ( append @ ( list @ A ) @ ( prefixes @ A @ Xs ) @ ( cons @ ( list @ A ) @ ( append @ A @ Xs @ ( cons @ A @ X @ ( nil @ A ) ) ) @ ( nil @ ( list @ A ) ) ) ) ) ).
% 0.17/0.38
% 0.17/0.38 % prefixes_snoc
% 0.17/0.38 thf(fact_194_prefixes__eq__Snoc,axiom,
% 0.17/0.38 ! [A: $tType,Ys: list @ A,Xs: list @ ( list @ A ),X: list @ A] :
% 0.17/0.38 ( ( ( prefixes @ A @ Ys )
% 0.17/0.38 = ( append @ ( list @ A ) @ Xs @ ( cons @ ( list @ A ) @ X @ ( nil @ ( list @ A ) ) ) ) )
% 0.17/0.38 = ( ( ( ( Ys
% 0.17/0.38 = ( nil @ A ) )
% 0.17/0.38 & ( Xs
% 0.17/0.38 = ( nil @ ( list @ A ) ) ) )
% 0.17/0.38 | ? [Z2: A,Zs2: list @ A] :
% 0.17/0.38 ( ( Ys
% 0.17/0.38 = ( append @ A @ Zs2 @ ( cons @ A @ Z2 @ ( nil @ A ) ) ) )
% 0.17/0.38 & ( Xs
% 0.17/0.38 = ( prefixes @ A @ Zs2 ) ) ) )
% 0.17/0.38 & ( X = Ys ) ) ) ).
% 0.17/0.38
% 0.17/0.38 % prefixes_eq_Snoc
% 0.17/0.38 thf(fact_195_sublists_Osimps_I1_J,axiom,
% 0.17/0.38 ! [A: $tType] :
% 0.17/0.38 ( ( sublists @ A @ ( nil @ A ) )
% 0.17/0.38 = ( cons @ ( list @ A ) @ ( nil @ A ) @ ( nil @ ( list @ A ) ) ) ) ).
% 0.17/0.38
% 0.17/0.38 % sublists.simps(1)
% 0.17/0.38 thf(fact_196_prefixes_Osimps_I1_J,axiom,
% 0.17/0.38 ! [A: $tType] :
% 0.17/0.38 ( ( prefixes @ A @ ( nil @ A ) )
% 0.17/0.38 = ( cons @ ( list @ A ) @ ( nil @ A ) @ ( nil @ ( list @ A ) ) ) ) ).
% 0.17/0.38
% 0.17/0.38 % prefixes.simps(1)
% 0.17/0.38 thf(fact_197_append__butlast__last__id,axiom,
% 0.17/0.38 ! [A: $tType,Xs: list @ A] :
% 0.17/0.38 ( ( Xs
% 0.17/0.38 != ( nil @ A ) )
% 0.17/0.38 => ( ( append @ A @ ( butlast @ A @ Xs ) @ ( cons @ A @ ( last @ A @ Xs ) @ ( nil @ A ) ) )
% 0.17/0.38 = Xs ) ) ).
% 0.17/0.38
% 0.17/0.38 % append_butlast_last_id
% 0.17/0.38 thf(fact_198_product__lists_Osimps_I1_J,axiom,
% 0.17/0.38 ! [A: $tType] :
% 0.17/0.38 ( ( product_lists @ A @ ( nil @ ( list @ A ) ) )
% 0.17/0.38 = ( cons @ ( list @ A ) @ ( nil @ A ) @ ( nil @ ( list @ A ) ) ) ) ).
% 0.17/0.38
% 0.17/0.38 % product_lists.simps(1)
% 0.17/0.38 thf(fact_199_butlast__snoc,axiom,
% 0.17/0.38 ! [A: $tType,Xs: list @ A,X: A] :
% 0.17/0.38 ( ( butlast @ A @ ( append @ A @ Xs @ ( cons @ A @ X @ ( nil @ A ) ) ) )
% 0.17/0.38 = Xs ) ).
% 0.17/0.38
% 0.17/0.38 % butlast_snoc
% 0.17/0.38 thf(fact_200_butlast_Osimps_I2_J,axiom,
% 0.17/0.38 ! [A: $tType,Xs: list @ A,X: A] :
% 0.17/0.38 ( ( ( Xs
% 0.17/0.38 = ( nil @ A ) )
% 0.17/0.38 => ( ( butlast @ A @ ( cons @ A @ X @ Xs ) )
% 0.17/0.38 = ( nil @ A ) ) )
% 0.17/0.38 & ( ( Xs
% 0.17/0.38 != ( nil @ A ) )
% 0.17/0.38 => ( ( butlast @ A @ ( cons @ A @ X @ Xs ) )
% 0.17/0.38 = ( cons @ A @ X @ ( butlast @ A @ Xs ) ) ) ) ) ).
% 0.17/0.38
% 0.17/0.38 % butlast.simps(2)
% 0.17/0.38 thf(fact_201_butlast_Osimps_I1_J,axiom,
% 0.17/0.38 ! [A: $tType] :
% 0.17/0.38 ( ( butlast @ A @ ( nil @ A ) )
% 0.17/0.38 = ( nil @ A ) ) ).
% 0.17/0.38
% 0.17/0.38 % butlast.simps(1)
% 0.17/0.38 thf(fact_202_butlast__append,axiom,
% 0.17/0.38 ! [A: $tType,Ys: list @ A,Xs: list @ A] :
% 0.17/0.38 ( ( ( Ys
% 0.17/0.38 = ( nil @ A ) )
% 0.17/0.38 => ( ( butlast @ A @ ( append @ A @ Xs @ Ys ) )
% 0.17/0.38 = ( butlast @ A @ Xs ) ) )
% 0.17/0.38 & ( ( Ys
% 0.17/0.38 != ( nil @ A ) )
% 0.17/0.38 => ( ( butlast @ A @ ( append @ A @ Xs @ Ys ) )
% 0.17/0.38 = ( append @ A @ Xs @ ( butlast @ A @ Ys ) ) ) ) ) ).
% 0.17/0.38
% 0.17/0.38 % butlast_append
% 0.17/0.38 thf(fact_203_snoc__eq__iff__butlast,axiom,
% 0.17/0.38 ! [A: $tType,Xs: list @ A,X: A,Ys: list @ A] :
% 0.17/0.38 ( ( ( append @ A @ Xs @ ( cons @ A @ X @ ( nil @ A ) ) )
% 0.17/0.38 = Ys )
% 0.17/0.38 = ( ( Ys
% 0.17/0.38 != ( nil @ A ) )
% 0.17/0.38 & ( ( butlast @ A @ Ys )
% 0.17/0.38 = Xs )
% 0.17/0.38 & ( ( last @ A @ Ys )
% 0.17/0.38 = X ) ) ) ).
% 0.17/0.38
% 0.17/0.38 % snoc_eq_iff_butlast
% 0.17/0.38 thf(fact_204_prefixes_Oelims,axiom,
% 0.17/0.38 ! [A: $tType,X: list @ A,Y: list @ ( list @ A )] :
% 0.17/0.38 ( ( ( prefixes @ A @ X )
% 0.17/0.38 = Y )
% 0.17/0.38 => ( ( ( X
% 0.17/0.38 = ( nil @ A ) )
% 0.17/0.38 => ( Y
% 0.17/0.38 != ( cons @ ( list @ A ) @ ( nil @ A ) @ ( nil @ ( list @ A ) ) ) ) )
% 0.17/0.38 => ~ ! [X3: A,Xs2: list @ A] :
% 0.17/0.38 ( ( X
% 0.17/0.38 = ( cons @ A @ X3 @ Xs2 ) )
% 0.17/0.38 => ( Y
% 0.17/0.38 != ( cons @ ( list @ A ) @ ( nil @ A ) @ ( map @ ( list @ A ) @ ( list @ A ) @ ( cons @ A @ X3 ) @ ( prefixes @ A @ Xs2 ) ) ) ) ) ) ) ).
% 0.17/0.38
% 0.17/0.38 % prefixes.elims
% 0.17/0.38 thf(fact_205_insert__Nil,axiom,
% 0.17/0.38 ! [A: $tType,X: A] :
% 0.17/0.38 ( ( insert @ A @ X @ ( nil @ A ) )
% 0.17/0.38 = ( cons @ A @ X @ ( nil @ A ) ) ) ).
% 0.17/0.38
% 0.17/0.38 % insert_Nil
% 0.17/0.38 thf(fact_206_list_Omap__disc__iff,axiom,
% 0.17/0.38 ! [B: $tType,A: $tType,F: A > B,A2: list @ A] :
% 0.17/0.38 ( ( ( map @ A @ B @ F @ A2 )
% 0.17/0.38 = ( nil @ B ) )
% 0.17/0.38 = ( A2
% 0.17/0.38 = ( nil @ A ) ) ) ).
% 0.17/0.38
% 0.17/0.38 % list.map_disc_iff
% 0.17/0.38 thf(fact_207_map__is__Nil__conv,axiom,
% 0.17/0.38 ! [A: $tType,B: $tType,F: B > A,Xs: list @ B] :
% 0.17/0.38 ( ( ( map @ B @ A @ F @ Xs )
% 0.17/0.38 = ( nil @ A ) )
% 0.17/0.38 = ( Xs
% 0.17/0.38 = ( nil @ B ) ) ) ).
% 0.17/0.38
% 0.17/0.38 % map_is_Nil_conv
% 0.17/0.38 thf(fact_208_Nil__is__map__conv,axiom,
% 0.17/0.38 ! [A: $tType,B: $tType,F: B > A,Xs: list @ B] :
% 0.17/0.38 ( ( ( nil @ A )
% 0.17/0.38 = ( map @ B @ A @ F @ Xs ) )
% 0.17/0.38 = ( Xs
% 0.17/0.38 = ( nil @ B ) ) ) ).
% 0.17/0.38
% 0.17/0.38 % Nil_is_map_conv
% 0.17/0.38 thf(fact_209_map__append,axiom,
% 0.17/0.38 ! [A: $tType,B: $tType,F: B > A,Xs: list @ B,Ys: list @ B] :
% 0.17/0.38 ( ( map @ B @ A @ F @ ( append @ B @ Xs @ Ys ) )
% 0.17/0.38 = ( append @ A @ ( map @ B @ A @ F @ Xs ) @ ( map @ B @ A @ F @ Ys ) ) ) ).
% 0.17/0.38
% 0.17/0.38 % map_append
% 0.17/0.38 thf(fact_210_map__butlast,axiom,
% 0.17/0.38 ! [A: $tType,B: $tType,F: B > A,Xs: list @ B] :
% 0.17/0.38 ( ( map @ B @ A @ F @ ( butlast @ B @ Xs ) )
% 0.17/0.38 = ( butlast @ A @ ( map @ B @ A @ F @ Xs ) ) ) ).
% 0.17/0.38
% 0.17/0.38 % map_butlast
% 0.17/0.38 thf(fact_211_list_Osimps_I8_J,axiom,
% 0.17/0.38 ! [A: $tType,B: $tType,F: A > B] :
% 0.17/0.38 ( ( map @ A @ B @ F @ ( nil @ A ) )
% 0.17/0.38 = ( nil @ B ) ) ).
% 0.17/0.38
% 0.17/0.38 % list.simps(8)
% 0.17/0.38 thf(fact_212_rev__map,axiom,
% 0.17/0.38 ! [A: $tType,B: $tType,F: B > A,Xs: list @ B] :
% 0.17/0.38 ( ( rev @ A @ ( map @ B @ A @ F @ Xs ) )
% 0.17/0.38 = ( map @ B @ A @ F @ ( rev @ B @ Xs ) ) ) ).
% 0.17/0.38
% 0.17/0.38 % rev_map
% 0.17/0.38 thf(fact_213_map__eq__Cons__conv,axiom,
% 0.17/0.38 ! [A: $tType,B: $tType,F: B > A,Xs: list @ B,Y: A,Ys: list @ A] :
% 0.17/0.38 ( ( ( map @ B @ A @ F @ Xs )
% 0.17/0.38 = ( cons @ A @ Y @ Ys ) )
% 0.17/0.38 = ( ? [Z2: B,Zs2: list @ B] :
% 0.17/0.38 ( ( Xs
% 0.17/0.38 = ( cons @ B @ Z2 @ Zs2 ) )
% 0.17/0.38 & ( ( F @ Z2 )
% 0.17/0.38 = Y )
% 0.17/0.38 & ( ( map @ B @ A @ F @ Zs2 )
% 0.17/0.38 = Ys ) ) ) ) ).
% 0.17/0.38
% 0.17/0.38 % map_eq_Cons_conv
% 0.17/0.38 thf(fact_214_Cons__eq__map__conv,axiom,
% 0.17/0.38 ! [A: $tType,B: $tType,X: A,Xs: list @ A,F: B > A,Ys: list @ B] :
% 0.17/0.38 ( ( ( cons @ A @ X @ Xs )
% 0.17/0.38 = ( map @ B @ A @ F @ Ys ) )
% 0.17/0.38 = ( ? [Z2: B,Zs2: list @ B] :
% 0.17/0.38 ( ( Ys
% 0.17/0.38 = ( cons @ B @ Z2 @ Zs2 ) )
% 0.17/0.38 & ( X
% 0.17/0.38 = ( F @ Z2 ) )
% 0.17/0.38 & ( Xs
% 0.17/0.38 = ( map @ B @ A @ F @ Zs2 ) ) ) ) ) ).
% 0.17/0.38
% 0.17/0.38 % Cons_eq_map_conv
% 0.17/0.38 thf(fact_215_map__eq__Cons__D,axiom,
% 0.17/0.38 ! [B: $tType,A: $tType,F: B > A,Xs: list @ B,Y: A,Ys: list @ A] :
% 0.17/0.38 ( ( ( map @ B @ A @ F @ Xs )
% 0.17/0.38 = ( cons @ A @ Y @ Ys ) )
% 0.17/0.38 => ? [Z3: B,Zs5: list @ B] :
% 0.17/0.38 ( ( Xs
% 0.17/0.38 = ( cons @ B @ Z3 @ Zs5 ) )
% 0.17/0.38 & ( ( F @ Z3 )
% 0.17/0.38 = Y )
% 0.17/0.38 & ( ( map @ B @ A @ F @ Zs5 )
% 0.17/0.38 = Ys ) ) ) ).
% 0.17/0.38
% 0.17/0.38 % map_eq_Cons_D
% 0.17/0.38 thf(fact_216_Cons__eq__map__D,axiom,
% 0.17/0.38 ! [A: $tType,B: $tType,X: A,Xs: list @ A,F: B > A,Ys: list @ B] :
% 0.17/0.38 ( ( ( cons @ A @ X @ Xs )
% 0.17/0.38 = ( map @ B @ A @ F @ Ys ) )
% 0.17/0.38 => ? [Z3: B,Zs5: list @ B] :
% 0.17/0.38 ( ( Ys
% 0.17/0.38 = ( cons @ B @ Z3 @ Zs5 ) )
% 0.17/0.38 & ( X
% 0.17/0.38 = ( F @ Z3 ) )
% 0.17/0.38 & ( Xs
% 0.17/0.38 = ( map @ B @ A @ F @ Zs5 ) ) ) ) ).
% 0.17/0.38
% 0.17/0.38 % Cons_eq_map_D
% 0.17/0.38 thf(fact_217_list_Osimps_I9_J,axiom,
% 0.17/0.38 ! [B: $tType,A: $tType,F: A > B,X21: A,X22: list @ A] :
% 0.17/0.38 ( ( map @ A @ B @ F @ ( cons @ A @ X21 @ X22 ) )
% 0.17/0.38 = ( cons @ B @ ( F @ X21 ) @ ( map @ A @ B @ F @ X22 ) ) ) ).
% 0.17/0.38
% 0.17/0.38 % list.simps(9)
% 0.17/0.38 thf(fact_218_last__map,axiom,
% 0.17/0.38 ! [B: $tType,A: $tType,Xs: list @ A,F: A > B] :
% 0.17/0.38 ( ( Xs
% 0.17/0.38 != ( nil @ A ) )
% 0.17/0.38 => ( ( last @ B @ ( map @ A @ B @ F @ Xs ) )
% 0.17/0.38 = ( F @ ( last @ A @ Xs ) ) ) ) ).
% 0.17/0.38
% 0.17/0.38 % last_map
% 0.17/0.38 thf(fact_219_prefixes_Osimps_I2_J,axiom,
% 0.17/0.38 ! [A: $tType,X: A,Xs: list @ A] :
% 0.17/0.38 ( ( prefixes @ A @ ( cons @ A @ X @ Xs ) )
% 0.17/0.38 = ( cons @ ( list @ A ) @ ( nil @ A ) @ ( map @ ( list @ A ) @ ( list @ A ) @ ( cons @ A @ X ) @ ( prefixes @ A @ Xs ) ) ) ) ).
% 0.17/0.38
% 0.17/0.38 % prefixes.simps(2)
% 0.17/0.38 thf(fact_220_map__tailrec__rev,axiom,
% 0.17/0.38 ! [A: $tType,B: $tType] :
% 0.17/0.38 ( ( map_tailrec_rev @ B @ A )
% 0.17/0.38 = ( ^ [F3: B > A,As2: list @ B] : ( append @ A @ ( rev @ A @ ( map @ B @ A @ F3 @ As2 ) ) ) ) ) ).
% 0.17/0.38
% 0.17/0.38 % map_tailrec_rev
% 0.17/0.38 thf(fact_221_prefixes_Opelims,axiom,
% 0.17/0.38 ! [A: $tType,X: list @ A,Y: list @ ( list @ A )] :
% 0.17/0.38 ( ( ( prefixes @ A @ X )
% 0.17/0.38 = Y )
% 0.17/0.38 => ( ( accp @ ( list @ A ) @ ( prefixes_rel @ A ) @ X )
% 0.17/0.38 => ( ( ( X
% 0.17/0.38 = ( nil @ A ) )
% 0.17/0.38 => ( ( Y
% 0.17/0.38 = ( cons @ ( list @ A ) @ ( nil @ A ) @ ( nil @ ( list @ A ) ) ) )
% 0.17/0.38 => ~ ( accp @ ( list @ A ) @ ( prefixes_rel @ A ) @ ( nil @ A ) ) ) )
% 0.17/0.38 => ~ ! [X3: A,Xs2: list @ A] :
% 0.17/0.38 ( ( X
% 0.17/0.38 = ( cons @ A @ X3 @ Xs2 ) )
% 0.17/0.38 => ( ( Y
% 0.17/0.38 = ( cons @ ( list @ A ) @ ( nil @ A ) @ ( map @ ( list @ A ) @ ( list @ A ) @ ( cons @ A @ X3 ) @ ( prefixes @ A @ Xs2 ) ) ) )
% 0.17/0.38 => ~ ( accp @ ( list @ A ) @ ( prefixes_rel @ A ) @ ( cons @ A @ X3 @ Xs2 ) ) ) ) ) ) ) ).
% 0.17/0.38
% 0.17/0.38 % prefixes.pelims
% 0.17/0.38 thf(fact_222_map__tailrec__rev_Osimps_I1_J,axiom,
% 0.17/0.38 ! [A: $tType,B: $tType,F: A > B,Bs2: list @ B] :
% 0.17/0.38 ( ( map_tailrec_rev @ A @ B @ F @ ( nil @ A ) @ Bs2 )
% 0.17/0.38 = Bs2 ) ).
% 0.17/0.38
% 0.17/0.38 % map_tailrec_rev.simps(1)
% 0.17/0.38 thf(fact_223_map__tailrec__rev_Osimps_I2_J,axiom,
% 0.17/0.38 ! [A: $tType,B: $tType,F: A > B,A2: A,As3: list @ A,Bs2: list @ B] :
% 0.17/0.38 ( ( map_tailrec_rev @ A @ B @ F @ ( cons @ A @ A2 @ As3 ) @ Bs2 )
% 0.17/0.38 = ( map_tailrec_rev @ A @ B @ F @ As3 @ ( cons @ B @ ( F @ A2 ) @ Bs2 ) ) ) ).
% 0.17/0.38
% 0.17/0.38 % map_tailrec_rev.simps(2)
% 0.17/0.38 thf(fact_224_map__tailrec__rev_Oelims,axiom,
% 0.17/0.38 ! [A: $tType,B: $tType,X: A > B,Xa: list @ A,Xb2: list @ B,Y: list @ B] :
% 0.17/0.38 ( ( ( map_tailrec_rev @ A @ B @ X @ Xa @ Xb2 )
% 0.17/0.38 = Y )
% 0.17/0.38 => ( ( ( Xa
% 0.17/0.38 = ( nil @ A ) )
% 0.17/0.38 => ( Y != Xb2 ) )
% 0.17/0.38 => ~ ! [A4: A,As: list @ A] :
% 0.17/0.38 ( ( Xa
% 0.17/0.38 = ( cons @ A @ A4 @ As ) )
% 0.17/0.38 => ( Y
% 0.17/0.38 != ( map_tailrec_rev @ A @ B @ X @ As @ ( cons @ B @ ( X @ A4 ) @ Xb2 ) ) ) ) ) ) ).
% 0.17/0.38
% 0.17/0.38 % map_tailrec_rev.elims
% 0.17/0.38 thf(fact_225_map__tailrec__def,axiom,
% 0.17/0.38 ! [B: $tType,A: $tType] :
% 0.17/0.38 ( ( map_tailrec @ A @ B )
% 0.17/0.38 = ( ^ [F3: A > B,As2: list @ A] : ( rev @ B @ ( map_tailrec_rev @ A @ B @ F3 @ As2 @ ( nil @ B ) ) ) ) ) ).
% 0.17/0.38
% 0.17/0.38 % map_tailrec_def
% 0.17/0.38 thf(fact_226_rotate1_Osimps_I2_J,axiom,
% 0.17/0.38 ! [A: $tType,X: A,Xs: list @ A] :
% 0.17/0.38 ( ( rotate1 @ A @ ( cons @ A @ X @ Xs ) )
% 0.17/0.38 = ( append @ A @ Xs @ ( cons @ A @ X @ ( nil @ A ) ) ) ) ).
% 0.17/0.38
% 0.17/0.38 % rotate1.simps(2)
% 0.17/0.38 thf(fact_227_rotate1__is__Nil__conv,axiom,
% 0.17/0.38 ! [A: $tType,Xs: list @ A] :
% 0.17/0.38 ( ( ( rotate1 @ A @ Xs )
% 0.17/0.38 = ( nil @ A ) )
% 0.17/0.38 = ( Xs
% 0.17/0.38 = ( nil @ A ) ) ) ).
% 0.17/0.38
% 0.17/0.38 % rotate1_is_Nil_conv
% 0.17/0.38 thf(fact_228_rotate1_Osimps_I1_J,axiom,
% 0.17/0.38 ! [A: $tType] :
% 0.17/0.38 ( ( rotate1 @ A @ ( nil @ A ) )
% 0.17/0.38 = ( nil @ A ) ) ).
% 0.17/0.38
% 0.17/0.38 % rotate1.simps(1)
% 0.17/0.38 thf(fact_229_map__eq__map__tailrec,axiom,
% 0.17/0.38 ! [B: $tType,A: $tType] :
% 0.17/0.38 ( ( map @ A @ B )
% 0.17/0.38 = ( map_tailrec @ A @ B ) ) ).
% 0.17/0.38
% 0.17/0.38 % map_eq_map_tailrec
% 0.17/0.38 thf(fact_230_list__ex1__simps_I1_J,axiom,
% 0.17/0.38 ! [A: $tType,P: A > $o] :
% 0.17/0.38 ~ ( list_ex1 @ A @ P @ ( nil @ A ) ) ).
% 0.17/0.38
% 0.17/0.38 % list_ex1_simps(1)
% 0.17/0.38 thf(fact_231_strict__suffix__def,axiom,
% 0.17/0.38 ! [A: $tType] :
% 0.17/0.38 ( ( strict_suffix @ A )
% 0.17/0.38 = ( ^ [Xs3: list @ A,Ys3: list @ A] :
% 0.17/0.38 ? [Us: list @ A] :
% 0.17/0.38 ( ( Ys3
% 0.17/0.38 = ( append @ A @ Us @ Xs3 ) )
% 0.17/0.38 & ( Us
% 0.17/0.38 != ( nil @ A ) ) ) ) ) ).
% 0.17/0.38
% 0.17/0.38 % strict_suffix_def
% 0.17/0.38 thf(fact_232_ord_Olexordp__eq__simps_I3_J,axiom,
% 0.17/0.38 ! [A: $tType,Less: A > A > $o,X: A,Xs: list @ A] :
% 0.17/0.38 ~ ( lexordp_eq @ A @ Less @ ( cons @ A @ X @ Xs ) @ ( nil @ A ) ) ).
% 0.17/0.38
% 0.17/0.38 % ord.lexordp_eq_simps(3)
% 0.17/0.38 thf(fact_233_nth__append__length,axiom,
% 0.17/0.38 ! [A: $tType,Xs: list @ A,X: A,Ys: list @ A] :
% 0.17/0.38 ( ( nth @ A @ ( append @ A @ Xs @ ( cons @ A @ X @ Ys ) ) @ ( size_size @ ( list @ A ) @ Xs ) )
% 0.17/0.38 = X ) ).
% 0.17/0.38
% 0.17/0.38 % nth_append_length
% 0.17/0.38 thf(fact_234_length__map,axiom,
% 0.17/0.38 ! [A: $tType,B: $tType,F: B > A,Xs: list @ B] :
% 0.17/0.38 ( ( size_size @ ( list @ A ) @ ( map @ B @ A @ F @ Xs ) )
% 0.17/0.38 = ( size_size @ ( list @ B ) @ Xs ) ) ).
% 0.17/0.38
% 0.17/0.38 % length_map
% 0.17/0.38 thf(fact_235_append__eq__append__conv,axiom,
% 0.17/0.38 ! [A: $tType,Xs: list @ A,Ys: list @ A,Us2: list @ A,Vs: list @ A] :
% 0.17/0.38 ( ( ( ( size_size @ ( list @ A ) @ Xs )
% 0.17/0.38 = ( size_size @ ( list @ A ) @ Ys ) )
% 0.17/0.38 | ( ( size_size @ ( list @ A ) @ Us2 )
% 0.17/0.38 = ( size_size @ ( list @ A ) @ Vs ) ) )
% 0.17/0.38 => ( ( ( append @ A @ Xs @ Us2 )
% 0.17/0.38 = ( append @ A @ Ys @ Vs ) )
% 0.17/0.38 = ( ( Xs = Ys )
% 0.17/0.38 & ( Us2 = Vs ) ) ) ) ).
% 0.17/0.38
% 0.17/0.38 % append_eq_append_conv
% 0.17/0.38 thf(fact_236_length__rev,axiom,
% 0.17/0.38 ! [A: $tType,Xs: list @ A] :
% 0.17/0.38 ( ( size_size @ ( list @ A ) @ ( rev @ A @ Xs ) )
% 0.17/0.38 = ( size_size @ ( list @ A ) @ Xs ) ) ).
% 0.17/0.38
% 0.17/0.38 % length_rev
% 0.17/0.38 thf(fact_237_ord_Olexordp__eq__simps_I4_J,axiom,
% 0.17/0.38 ! [A: $tType,Less: A > A > $o,X: A,Xs: list @ A,Y: A,Ys: list @ A] :
% 0.17/0.38 ( ( lexordp_eq @ A @ Less @ ( cons @ A @ X @ Xs ) @ ( cons @ A @ Y @ Ys ) )
% 0.17/0.38 = ( ( Less @ X @ Y )
% 0.17/0.38 | ( ~ ( Less @ Y @ X )
% 0.17/0.38 & ( lexordp_eq @ A @ Less @ Xs @ Ys ) ) ) ) ).
% 0.17/0.38
% 0.17/0.38 % ord.lexordp_eq_simps(4)
% 0.17/0.38 thf(fact_238_ord_Olexordp__eq__simps_I2_J,axiom,
% 0.17/0.38 ! [A: $tType,Less: A > A > $o,Xs: list @ A] :
% 0.17/0.38 ( ( lexordp_eq @ A @ Less @ Xs @ ( nil @ A ) )
% 0.17/0.38 = ( Xs
% 0.17/0.38 = ( nil @ A ) ) ) ).
% 0.17/0.38
% 0.17/0.38 % ord.lexordp_eq_simps(2)
% 0.17/0.38 thf(fact_239_ord_Olexordp__eq__simps_I1_J,axiom,
% 0.17/0.38 ! [A: $tType,Less: A > A > $o,Ys: list @ A] : ( lexordp_eq @ A @ Less @ ( nil @ A ) @ Ys ) ).
% 0.17/0.38
% 0.17/0.38 % ord.lexordp_eq_simps(1)
% 0.17/0.38 thf(fact_240_length__rotate1,axiom,
% 0.17/0.38 ! [A: $tType,Xs: list @ A] :
% 0.17/0.38 ( ( size_size @ ( list @ A ) @ ( rotate1 @ A @ Xs ) )
% 0.17/0.38 = ( size_size @ ( list @ A ) @ Xs ) ) ).
% 0.17/0.38
% 0.17/0.38 % length_rotate1
% 0.17/0.38 thf(fact_241_map__eq__imp__length__eq,axiom,
% 0.17/0.38 ! [A: $tType,B: $tType,C: $tType,F: B > A,Xs: list @ B,G: C > A,Ys: list @ C] :
% 0.17/0.38 ( ( ( map @ B @ A @ F @ Xs )
% 0.17/0.38 = ( map @ C @ A @ G @ Ys ) )
% 0.17/0.38 => ( ( size_size @ ( list @ B ) @ Xs )
% 0.17/0.38 = ( size_size @ ( list @ C ) @ Ys ) ) ) ).
% 0.17/0.38
% 0.17/0.38 % map_eq_imp_length_eq
% 0.17/0.38 thf(fact_242_ord_Olexordp__eq_Oinducts,axiom,
% 0.17/0.38 ! [A: $tType,Less: A > A > $o,X12: list @ A,X24: list @ A,P: ( list @ A ) > ( list @ A ) > $o] :
% 0.17/0.38 ( ( lexordp_eq @ A @ Less @ X12 @ X24 )
% 0.17/0.38 => ( ! [X1: list @ A] : ( P @ ( nil @ A ) @ X1 )
% 0.17/0.38 => ( ! [X3: A,Y3: A,Xs2: list @ A,Ys2: list @ A] :
% 0.17/0.38 ( ( Less @ X3 @ Y3 )
% 0.17/0.38 => ( P @ ( cons @ A @ X3 @ Xs2 ) @ ( cons @ A @ Y3 @ Ys2 ) ) )
% 0.17/0.38 => ( ! [X3: A,Y3: A,Xs2: list @ A,Ys2: list @ A] :
% 0.17/0.38 ( ~ ( Less @ X3 @ Y3 )
% 0.17/0.38 => ( ~ ( Less @ Y3 @ X3 )
% 0.17/0.38 => ( ( lexordp_eq @ A @ Less @ Xs2 @ Ys2 )
% 0.17/0.38 => ( ( P @ Xs2 @ Ys2 )
% 0.17/0.38 => ( P @ ( cons @ A @ X3 @ Xs2 ) @ ( cons @ A @ Y3 @ Ys2 ) ) ) ) ) )
% 0.17/0.38 => ( P @ X12 @ X24 ) ) ) ) ) ).
% 0.17/0.38
% 0.17/0.38 % ord.lexordp_eq.inducts
% 0.17/0.38 thf(fact_243_ord_Olexordp__eq_Osimps,axiom,
% 0.17/0.38 ! [A: $tType] :
% 0.17/0.38 ( ( lexordp_eq @ A )
% 0.17/0.38 = ( ^ [Less2: A > A > $o,A12: list @ A,A23: list @ A] :
% 0.17/0.38 ( ? [Ys3: list @ A] :
% 0.17/0.38 ( ( A12
% 0.17/0.38 = ( nil @ A ) )
% 0.17/0.38 & ( A23 = Ys3 ) )
% 0.17/0.38 | ? [X2: A,Y2: A,Xs3: list @ A,Ys3: list @ A] :
% 0.17/0.38 ( ( A12
% 0.17/0.38 = ( cons @ A @ X2 @ Xs3 ) )
% 0.17/0.38 & ( A23
% 0.17/0.38 = ( cons @ A @ Y2 @ Ys3 ) )
% 0.17/0.38 & ( Less2 @ X2 @ Y2 ) )
% 0.17/0.38 | ? [X2: A,Y2: A,Xs3: list @ A,Ys3: list @ A] :
% 0.17/0.38 ( ( A12
% 0.17/0.38 = ( cons @ A @ X2 @ Xs3 ) )
% 0.17/0.38 & ( A23
% 0.17/0.38 = ( cons @ A @ Y2 @ Ys3 ) )
% 0.17/0.38 & ~ ( Less2 @ X2 @ Y2 )
% 0.17/0.38 & ~ ( Less2 @ Y2 @ X2 )
% 0.17/0.38 & ( lexordp_eq @ A @ Less2 @ Xs3 @ Ys3 ) ) ) ) ) ).
% 0.17/0.38
% 0.17/0.38 % ord.lexordp_eq.simps
% 0.17/0.38 thf(fact_244_ord_Olexordp__eq_Ocases,axiom,
% 0.17/0.38 ! [A: $tType,Less: A > A > $o,A1: list @ A,A22: list @ A] :
% 0.17/0.38 ( ( lexordp_eq @ A @ Less @ A1 @ A22 )
% 0.17/0.38 => ( ( ( A1
% 0.17/0.38 = ( nil @ A ) )
% 0.17/0.38 => ! [Ys2: list @ A] : ( A22 != Ys2 ) )
% 0.17/0.38 => ( ! [X3: A] :
% 0.17/0.38 ( ? [Xs2: list @ A] :
% 0.17/0.38 ( A1
% 0.17/0.38 = ( cons @ A @ X3 @ Xs2 ) )
% 0.17/0.38 => ! [Y3: A] :
% 0.17/0.38 ( ? [Ys2: list @ A] :
% 0.17/0.38 ( A22
% 0.17/0.38 = ( cons @ A @ Y3 @ Ys2 ) )
% 0.17/0.38 => ~ ( Less @ X3 @ Y3 ) ) )
% 0.17/0.38 => ~ ! [X3: A,Y3: A,Xs2: list @ A] :
% 0.17/0.38 ( ( A1
% 0.17/0.38 = ( cons @ A @ X3 @ Xs2 ) )
% 0.17/0.38 => ! [Ys2: list @ A] :
% 0.17/0.38 ( ( A22
% 0.17/0.38 = ( cons @ A @ Y3 @ Ys2 ) )
% 0.17/0.38 => ( ~ ( Less @ X3 @ Y3 )
% 0.17/0.38 => ( ~ ( Less @ Y3 @ X3 )
% 0.17/0.38 => ~ ( lexordp_eq @ A @ Less @ Xs2 @ Ys2 ) ) ) ) ) ) ) ) ).
% 0.17/0.38
% 0.17/0.38 % ord.lexordp_eq.cases
% 0.17/0.38 thf(fact_245_ord_Olexordp__eq_OCons,axiom,
% 0.17/0.38 ! [A: $tType,Less: A > A > $o,X: A,Y: A,Xs: list @ A,Ys: list @ A] :
% 0.17/0.38 ( ( Less @ X @ Y )
% 0.17/0.38 => ( lexordp_eq @ A @ Less @ ( cons @ A @ X @ Xs ) @ ( cons @ A @ Y @ Ys ) ) ) ).
% 0.17/0.38
% 0.17/0.38 % ord.lexordp_eq.Cons
% 0.17/0.38 thf(fact_246_ord_Olexordp__eq_OCons__eq,axiom,
% 0.17/0.38 ! [A: $tType,Less: A > A > $o,X: A,Y: A,Xs: list @ A,Ys: list @ A] :
% 0.17/0.38 ( ~ ( Less @ X @ Y )
% 0.17/0.38 => ( ~ ( Less @ Y @ X )
% 0.17/0.38 => ( ( lexordp_eq @ A @ Less @ Xs @ Ys )
% 0.17/0.38 => ( lexordp_eq @ A @ Less @ ( cons @ A @ X @ Xs ) @ ( cons @ A @ Y @ Ys ) ) ) ) ) ).
% 0.17/0.38
% 0.17/0.38 % ord.lexordp_eq.Cons_eq
% 0.17/0.38 thf(fact_247_ord_Olexordp__eq_ONil,axiom,
% 0.17/0.38 ! [A: $tType,Less: A > A > $o,Ys: list @ A] : ( lexordp_eq @ A @ Less @ ( nil @ A ) @ Ys ) ).
% 0.17/0.38
% 0.17/0.38 % ord.lexordp_eq.Nil
% 0.17/0.38 thf(fact_248_list__induct4,axiom,
% 0.17/0.38 ! [C: $tType,A: $tType,B: $tType,D: $tType,Xs: list @ A,Ys: list @ B,Zs: list @ C,Ws: list @ D,P: ( list @ A ) > ( list @ B ) > ( list @ C ) > ( list @ D ) > $o] :
% 0.17/0.38 ( ( ( size_size @ ( list @ A ) @ Xs )
% 0.17/0.38 = ( size_size @ ( list @ B ) @ Ys ) )
% 0.17/0.38 => ( ( ( size_size @ ( list @ B ) @ Ys )
% 0.17/0.38 = ( size_size @ ( list @ C ) @ Zs ) )
% 0.17/0.38 => ( ( ( size_size @ ( list @ C ) @ Zs )
% 0.17/0.38 = ( size_size @ ( list @ D ) @ Ws ) )
% 0.17/0.38 => ( ( P @ ( nil @ A ) @ ( nil @ B ) @ ( nil @ C ) @ ( nil @ D ) )
% 0.17/0.38 => ( ! [X3: A,Xs2: list @ A,Y3: B,Ys2: list @ B,Z3: C,Zs5: list @ C,W: D,Ws2: list @ D] :
% 0.17/0.38 ( ( ( size_size @ ( list @ A ) @ Xs2 )
% 0.17/0.38 = ( size_size @ ( list @ B ) @ Ys2 ) )
% 0.17/0.38 => ( ( ( size_size @ ( list @ B ) @ Ys2 )
% 0.17/0.38 = ( size_size @ ( list @ C ) @ Zs5 ) )
% 0.17/0.38 => ( ( ( size_size @ ( list @ C ) @ Zs5 )
% 0.17/0.38 = ( size_size @ ( list @ D ) @ Ws2 ) )
% 0.17/0.38 => ( ( P @ Xs2 @ Ys2 @ Zs5 @ Ws2 )
% 0.17/0.38 => ( P @ ( cons @ A @ X3 @ Xs2 ) @ ( cons @ B @ Y3 @ Ys2 ) @ ( cons @ C @ Z3 @ Zs5 ) @ ( cons @ D @ W @ Ws2 ) ) ) ) ) )
% 0.17/0.38 => ( P @ Xs @ Ys @ Zs @ Ws ) ) ) ) ) ) ).
% 0.17/0.38
% 0.17/0.38 % list_induct4
% 0.17/0.38 thf(fact_249_list__induct3,axiom,
% 0.17/0.38 ! [B: $tType,A: $tType,C: $tType,Xs: list @ A,Ys: list @ B,Zs: list @ C,P: ( list @ A ) > ( list @ B ) > ( list @ C ) > $o] :
% 0.17/0.38 ( ( ( size_size @ ( list @ A ) @ Xs )
% 0.17/0.38 = ( size_size @ ( list @ B ) @ Ys ) )
% 0.17/0.38 => ( ( ( size_size @ ( list @ B ) @ Ys )
% 0.17/0.38 = ( size_size @ ( list @ C ) @ Zs ) )
% 0.17/0.38 => ( ( P @ ( nil @ A ) @ ( nil @ B ) @ ( nil @ C ) )
% 0.17/0.38 => ( ! [X3: A,Xs2: list @ A,Y3: B,Ys2: list @ B,Z3: C,Zs5: list @ C] :
% 0.17/0.38 ( ( ( size_size @ ( list @ A ) @ Xs2 )
% 0.17/0.38 = ( size_size @ ( list @ B ) @ Ys2 ) )
% 0.17/0.38 => ( ( ( size_size @ ( list @ B ) @ Ys2 )
% 0.17/0.38 = ( size_size @ ( list @ C ) @ Zs5 ) )
% 0.17/0.38 => ( ( P @ Xs2 @ Ys2 @ Zs5 )
% 0.17/0.38 => ( P @ ( cons @ A @ X3 @ Xs2 ) @ ( cons @ B @ Y3 @ Ys2 ) @ ( cons @ C @ Z3 @ Zs5 ) ) ) ) )
% 0.17/0.38 => ( P @ Xs @ Ys @ Zs ) ) ) ) ) ).
% 0.17/0.38
% 0.17/0.38 % list_induct3
% 0.17/0.38 thf(fact_250_list__induct2,axiom,
% 0.17/0.38 ! [A: $tType,B: $tType,Xs: list @ A,Ys: list @ B,P: ( list @ A ) > ( list @ B ) > $o] :
% 0.17/0.38 ( ( ( size_size @ ( list @ A ) @ Xs )
% 0.17/0.38 = ( size_size @ ( list @ B ) @ Ys ) )
% 0.17/0.38 => ( ( P @ ( nil @ A ) @ ( nil @ B ) )
% 0.17/0.38 => ( ! [X3: A,Xs2: list @ A,Y3: B,Ys2: list @ B] :
% 0.17/0.38 ( ( ( size_size @ ( list @ A ) @ Xs2 )
% 0.17/0.38 = ( size_size @ ( list @ B ) @ Ys2 ) )
% 0.17/0.38 => ( ( P @ Xs2 @ Ys2 )
% 0.17/0.38 => ( P @ ( cons @ A @ X3 @ Xs2 ) @ ( cons @ B @ Y3 @ Ys2 ) ) ) )
% 0.17/0.38 => ( P @ Xs @ Ys ) ) ) ) ).
% 0.17/0.38
% 0.17/0.38 % list_induct2
% 0.17/0.38 thf(fact_251_ord_Olexordp__eq__refl,axiom,
% 0.17/0.38 ! [A: $tType,Less: A > A > $o,Xs: list @ A] : ( lexordp_eq @ A @ Less @ Xs @ Xs ) ).
% 0.17/0.38
% 0.17/0.38 % ord.lexordp_eq_refl
% 0.17/0.38 thf(fact_252_neq__if__length__neq,axiom,
% 0.17/0.38 ! [A: $tType,Xs: list @ A,Ys: list @ A] :
% 0.17/0.38 ( ( ( size_size @ ( list @ A ) @ Xs )
% 0.17/0.38 != ( size_size @ ( list @ A ) @ Ys ) )
% 0.17/0.38 => ( Xs != Ys ) ) ).
% 0.17/0.38
% 0.17/0.38 % neq_if_length_neq
% 0.17/0.38
% 0.17/0.38 %----Helper facts (3)
% 0.17/0.38 thf(help_If_3_1_T,axiom,
% 0.17/0.38 ! [P: $o] :
% 0.17/0.38 ( ( P = $true )
% 0.17/0.38 | ( P = $false ) ) ).
% 0.17/0.38
% 0.17/0.38 thf(help_If_2_1_T,axiom,
% 0.17/0.38 ! [A: $tType,X: A,Y: A] :
% 0.17/0.38 ( ( if @ A @ $false @ X @ Y )
% 0.17/0.38 = Y ) ).
% 0.17/0.38
% 0.17/0.38 thf(help_If_1_1_T,axiom,
% 0.17/0.38 ! [A: $tType,X: A,Y: A] :
% 0.17/0.38 ( ( if @ A @ $true @ X @ Y )
% 0.17/0.38 = X ) ).
% 0.17/0.38
% 0.17/0.38 %----Conjectures (1)
% 0.17/0.38 thf(conj_0,conjecture,
% 0.17/0.38 ( ( coindu268472904append @ a @ ( coindu288502823_llist @ a @ f ) @ xs )
% 0.17/0.38 = ( coindu288502823_llist @ a @ f ) ) ).
% 0.17/0.38
% 0.17/0.38 %------------------------------------------------------------------------------
% 0.17/0.38 ------------------------
% 2.75/1.59 ---- Embedded in THF ---
% 2.75/1.59 %%% This output was generated by embedproblem, version 1.9.5 (library version 1.9).
% 2.75/1.59 %%% Generated on Tue Feb 24 06:08:41 EST 2026
% 2.75/1.59 %%% using '$$dhol' embedding, version 1.3.0.
% 2.75/1.59 %%% Logic specification used:
% 2.75/1.59 %%% thf(spec, logic, $$dhol).
% 2.75/1.59
% 2.75/1.59 % SZS output start ListOfTHF for /export/starexec/sandbox2/tmp/tmp.HOKmHkkqrB/DTF2DTF17806.p
% 2.75/1.59 thf(ty_t_Coinductive__List__Mirabelle__kmikjhschf_Ollist, type, coindu1593790203_llist: ($tType > $tType)).
% 2.75/1.59 thf(ty_t_List_Olist, type, list: ($tType > $tType)).
% 2.75/1.59 thf(ty_t_Nat_Onat, type, nat: $tType).
% 2.75/1.59 thf(ty_t_itself, type, itself: ($tType > $tType)).
% 2.75/1.59 thf(ty_tf_a, type, a: $tType).
% 2.75/1.59 thf(sy_c_Coinductive__List__Mirabelle__kmikjhschf_Ofinite__lprefix, type, coindu1571841457prefix: (!> [A:$tType]: (((coindu1593790203_llist @ A) > ((coindu1593790203_llist @ A) > $o))))).
% 2.75/1.59 thf(sy_c_Coinductive__List__Mirabelle__kmikjhschf_Oinf__llist, type, coindu288502823_llist: (!> [A:$tType]: (((nat > A) > (coindu1593790203_llist @ A))))).
% 2.75/1.59 thf(sy_c_Coinductive__List__Mirabelle__kmikjhschf_Oiterates, type, coindu1529956631erates: (!> [A:$tType]: (((A > A) > (A > (coindu1593790203_llist @ A)))))).
% 2.75/1.59 thf(sy_c_Coinductive__List__Mirabelle__kmikjhschf_Olappend, type, coindu268472904append: (!> [A:$tType]: (((coindu1593790203_llist @ A) > ((coindu1593790203_llist @ A) > (coindu1593790203_llist @ A)))))).
% 2.75/1.59 thf(sy_c_Coinductive__List__Mirabelle__kmikjhschf_Olfinite, type, coindu1213758845finite: (!> [A:$tType]: (((coindu1593790203_llist @ A) > $o)))).
% 2.75/1.59 thf(sy_c_Coinductive__List__Mirabelle__kmikjhschf_Olist__of, type, coindu1736001939ist_of: (!> [A:$tType]: (((coindu1593790203_llist @ A) > (list @ A))))).
% 2.75/1.59 thf(sy_c_Coinductive__List__Mirabelle__kmikjhschf_Olist__of__aux, type, coindu1542816657of_aux: (!> [A:$tType]: (((list @ A) > ((coindu1593790203_llist @ A) > (list @ A)))))).
% 2.75/1.59 thf(sy_c_Coinductive__List__Mirabelle__kmikjhschf_Ollast, type, coindu2000965700_llast: (!> [A:$tType]: (((coindu1593790203_llist @ A) > A)))).
% 2.75/1.59 thf(sy_c_Coinductive__List__Mirabelle__kmikjhschf_Ollist_OLCons, type, coindu1121789889_LCons: (!> [A:$tType]: ((A > ((coindu1593790203_llist @ A) > (coindu1593790203_llist @ A)))))).
% 2.75/1.59 thf(sy_c_Coinductive__List__Mirabelle__kmikjhschf_Ollist_OLNil, type, coindu1598213697e_LNil: (!> [A:$tType]: ((coindu1593790203_llist @ A)))).
% 2.75/1.59 thf(sy_c_Coinductive__List__Mirabelle__kmikjhschf_Ollist_Olnull, type, coindu335574135_lnull: (!> [A:$tType]: (((coindu1593790203_llist @ A) > $o)))).
% 2.75/1.59 thf(sy_c_Coinductive__List__Mirabelle__kmikjhschf_Ollist__of, type, coindu1079202755ist_of: (!> [A:$tType]: (((list @ A) > (coindu1593790203_llist @ A))))).
% 2.75/1.59 thf(sy_c_Coinductive__List__Mirabelle__kmikjhschf_Olmember, type, coindu567634248member: (!> [A:$tType]: ((A > ((coindu1593790203_llist @ A) > $o))))).
% 2.75/1.59 thf(sy_c_Coinductive__List__Mirabelle__kmikjhschf_Olnth, type, coindu749330388e_lnth: (!> [A:$tType]: (((coindu1593790203_llist @ A) > (nat > A))))).
% 2.75/1.59 thf(sy_c_Coinductive__List__Mirabelle__kmikjhschf_Olprefix, type, coindu1696667936prefix: (!> [A:$tType]: (((coindu1593790203_llist @ A) > ((coindu1593790203_llist @ A) > $o))))).
% 2.75/1.59 thf(sy_c_Coinductive__List__Mirabelle__kmikjhschf_Olstrict__prefix, type, coindu574146665prefix: (!> [A:$tType]: (((coindu1593790203_llist @ A) > ((coindu1593790203_llist @ A) > $o))))).
% 2.75/1.59 thf(sy_c_HOL_Oundefined, type, undefined: (!> [A:$tType]: (A))).
% 2.75/1.59 thf(sy_c_If, type, if: (!> [A:$tType]: (($o > (A > (A > A)))))).
% 2.75/1.59 thf(sy_c_List_Oappend, type, append: (!> [A:$tType]: (((list @ A) > ((list @ A) > (list @ A)))))).
% 2.75/1.59 thf(sy_c_List_Obind, type, bind: (!> [A:$tType,B:$tType]: (((list @ A) > ((A > (list @ B)) > (list @ B)))))).
% 2.75/1.59 thf(sy_c_List_Obutlast, type, butlast: (!> [A:$tType]: (((list @ A) > (list @ A))))).
% 2.75/1.59 thf(sy_c_List_Oinsert, type, insert: (!> [A:$tType]: ((A > ((list @ A) > (list @ A)))))).
% 2.75/1.59 thf(sy_c_List_Olast, type, last: (!> [A:$tType]: (((list @ A) > A)))).
% 2.75/1.59 thf(sy_c_List_Olist_OCons, type, cons: (!> [A:$tType]: ((A > ((list @ A) > (list @ A)))))).
% 2.75/1.59 thf(sy_c_List_Olist_ONil, type, nil: (!> [A:$tType]: ((list @ A)))).
% 2.75/1.59 thf(sy_c_List_Olist_Omap, type, map: (!> [A:$tType,Aa:$tType]: (((A > Aa) > ((list @ A) > (list @ Aa)))))).
% 2.75/1.59 thf(sy_c_List_Olist__ex1, type, list_ex1: (!> [A:$tType]: (((A > $o) > ((list @ A) > $o))))).
% 2.75/1.59 thf(sy_c_List_Omap__tailrec, type, map_tailrec: (!> [A:$tType,B:$tType]: (((A > B) > ((list @ A) > (list @ B)))))).
% 2.75/1.59 thf(sy_c_List_Omap__tailrec__rev, type, map_tailrec_rev: (!> [A:$tType,B:$tType]: (((A > B) > ((list @ A) > ((list @ B) > (list @ B))))))).
% 2.75/1.59 thf(sy_c_List_Omaps, type, maps: (!> [A:$tType,B:$tType]: (((A > (list @ B)) > ((list @ A) > (list @ B)))))).
% 2.75/1.59 thf(sy_c_List_Onth, type, nth: (!> [A:$tType]: (((list @ A) > (nat > A))))).
% 2.75/1.59 thf(sy_c_List_Oord_Olexordp__eq, type, lexordp_eq: (!> [A:$tType]: (((A > (A > $o)) > ((list @ A) > ((list @ A) > $o)))))).
% 2.75/1.59 thf(sy_c_List_Oproduct__lists, type, product_lists: (!> [A:$tType]: (((list @ (list @ A)) > (list @ (list @ A)))))).
% 2.75/1.59 thf(sy_c_List_Orev, type, rev: (!> [A:$tType]: (((list @ A) > (list @ A))))).
% 2.75/1.59 thf(sy_c_List_Orotate1, type, rotate1: (!> [A:$tType]: (((list @ A) > (list @ A))))).
% 2.75/1.59 thf(sy_c_List_Osublists, type, sublists: (!> [A:$tType]: (((list @ A) > (list @ (list @ A)))))).
% 2.75/1.59 thf(sy_c_Nat_Osize__class_Osize, type, size_size: (!> [A:$tType]: ((A > nat)))).
% 2.75/1.59 thf(sy_c_Pure_Otype, type, type: (!> [A:$tType]: ((itself @ A)))).
% 2.75/1.59 thf(sy_c_Sublist_Oprefixes, type, prefixes: (!> [A:$tType]: (((list @ A) > (list @ (list @ A)))))).
% 2.75/1.59 thf(sy_c_Sublist_Oprefixes__rel, type, prefixes_rel: (!> [A:$tType]: (((list @ A) > ((list @ A) > $o))))).
% 2.75/1.59 thf(sy_c_Sublist_Ostrict__suffix, type, strict_suffix: (!> [A:$tType]: (((list @ A) > ((list @ A) > $o))))).
% 2.75/1.59 thf(sy_c_Wellfounded_Oaccp, type, accp: (!> [A:$tType]: (((A > (A > $o)) > (A > $o))))).
% 2.75/1.59 thf(sy_v_f, type, f: (nat > a)).
% 2.75/1.59 thf(sy_v_xs, type, xs: (coindu1593790203_llist @ a)).
% 2.75/1.59 thf(fact_0_inf__llist__inj, axiom, (! [A:$tType,F:(nat > A),G:(nat > A)]: (((((coindu288502823_llist @ A) @ F) = ((coindu288502823_llist @ A) @ G)) = (F = G))))).
% 2.75/1.59 thf(fact_1_lappend__assoc, axiom, (! [A:$tType,Xs:(coindu1593790203_llist @ A),Ys:(coindu1593790203_llist @ A),Zs:(coindu1593790203_llist @ A)]: (((((coindu268472904append @ A) @ (((coindu268472904append @ A) @ Xs) @ Ys)) @ Zs) = (((coindu268472904append @ A) @ Xs) @ (((coindu268472904append @ A) @ Ys) @ Zs)))))).
% 2.75/1.59 thf(fact_2_inf__llist__lprefix, axiom, (! [A:$tType,F:(nat > A),Xs:(coindu1593790203_llist @ A)]: (((((coindu1696667936prefix @ A) @ ((coindu288502823_llist @ A) @ F)) @ Xs) = (Xs = ((coindu288502823_llist @ A) @ F)))))).
% 2.75/1.59 thf(fact_3_lnth__inf__llist, axiom, (! [A:$tType,F:(nat > A),N:nat]: (((((coindu749330388e_lnth @ A) @ ((coindu288502823_llist @ A) @ F)) @ N) = (F @ N))))).
% 2.75/1.59 thf(fact_4_lappend__code_I1_J, axiom, (! [A:$tType,Ys:(coindu1593790203_llist @ A)]: (((((coindu268472904append @ A) @ (coindu1598213697e_LNil @ A)) @ Ys) = Ys)))).
% 2.75/1.59 thf(fact_5_lappend__LNil2, axiom, (! [A:$tType,Xs:(coindu1593790203_llist @ A)]: (((((coindu268472904append @ A) @ Xs) @ (coindu1598213697e_LNil @ A)) = Xs)))).
% 2.75/1.59 thf(fact_6_inf__llist__neq__llist__of_I1_J, axiom, (! [A:$tType,Xs:(list @ A),F:(nat > A)]: ((((coindu1079202755ist_of @ A) @ Xs) != ((coindu288502823_llist @ A) @ F))))).
% 2.75/1.59 thf(fact_7_llist__exhaust, axiom, (! [A:$tType,Xs:(coindu1593790203_llist @ A)]: (((! [Ys2:(list @ A)]: ((Xs != ((coindu1079202755ist_of @ A) @ Ys2)))) => (~ ((! [F2:(nat > A)]: ((Xs != ((coindu288502823_llist @ A) @ F2)))))))))).
% 2.75/1.59 thf(fact_8_lappend__iterates, axiom, (! [A:$tType,F:(A > A),X:A,Xs:(coindu1593790203_llist @ A)]: (((((coindu268472904append @ A) @ (((coindu1529956631erates @ A) @ F) @ X)) @ Xs) = (((coindu1529956631erates @ A) @ F) @ X))))).
% 2.75/1.59 thf(fact_9_lappend__code_I2_J, axiom, (! [A:$tType,Xa:A,X:(coindu1593790203_llist @ A),Ys:(coindu1593790203_llist @ A)]: (((((coindu268472904append @ A) @ (((coindu1121789889_LCons @ A) @ Xa) @ X)) @ Ys) = (((coindu1121789889_LCons @ A) @ Xa) @ (((coindu268472904append @ A) @ X) @ Ys)))))).
% 2.75/1.59 thf(fact_10_lappend_Odisc__iff_I2_J, axiom, (! [A:$tType,Xs:(coindu1593790203_llist @ A),Ys:(coindu1593790203_llist @ A)]: (((~ (((coindu335574135_lnull @ A) @ (((coindu268472904append @ A) @ Xs) @ Ys)))) = ((~ (((coindu335574135_lnull @ A) @ Xs))) | (~ (((coindu335574135_lnull @ A) @ Ys)))))))).
% 2.75/1.59 thf(fact_11_lnull__lappend, axiom, (! [A:$tType,Xs:(coindu1593790203_llist @ A),Ys:(coindu1593790203_llist @ A)]: ((((coindu335574135_lnull @ A) @ (((coindu268472904append @ A) @ Xs) @ Ys)) = (((coindu335574135_lnull @ A) @ Xs) & ((coindu335574135_lnull @ A) @ Ys)))))).
% 2.75/1.59 thf(fact_12_inf__llist__neq__LNil, axiom, (! [A:$tType,F:(nat > A)]: ((((coindu288502823_llist @ A) @ F) != (coindu1598213697e_LNil @ A))))).
% 2.75/1.59 thf(fact_13_lfinite__lappend, axiom, (! [A:$tType,Xs:(coindu1593790203_llist @ A),Ys:(coindu1593790203_llist @ A)]: ((((coindu1213758845finite @ A) @ (((coindu268472904append @ A) @ Xs) @ Ys)) = (((coindu1213758845finite @ A) @ Xs) & ((coindu1213758845finite @ A) @ Ys)))))).
% 2.75/1.59 thf(fact_14_lprefix__refl, axiom, (! [A:$tType,Xs:(coindu1593790203_llist @ A)]: ((((coindu1696667936prefix @ A) @ Xs) @ Xs)))).
% 2.75/1.59 thf(fact_15_llist_Oleq__refl, axiom, (! [A:$tType,X:(coindu1593790203_llist @ A)]: ((((coindu1696667936prefix @ A) @ X) @ X)))).
% 2.75/1.59 thf(fact_16_llist_Oinject, axiom, (! [A:$tType,X21:A,X22:(coindu1593790203_llist @ A),Y21:A,Y22:(coindu1593790203_llist @ A)]: ((((((coindu1121789889_LCons @ A) @ X21) @ X22) = (((coindu1121789889_LCons @ A) @ Y21) @ Y22)) = ((X21 = Y21) & (X22 = Y22)))))).
% 2.75/1.59 thf(fact_17_llist__of__inject, axiom, (! [A:$tType,Xs:(list @ A),Ys:(list @ A)]: (((((coindu1079202755ist_of @ A) @ Xs) = ((coindu1079202755ist_of @ A) @ Ys)) = (Xs = Ys))))).
% 2.75/1.59 thf(fact_18_LCons__lprefix__LCons, axiom, (! [A:$tType,X:A,Xs:(coindu1593790203_llist @ A),Y:A,Ys:(coindu1593790203_llist @ A)]: (((((coindu1696667936prefix @ A) @ (((coindu1121789889_LCons @ A) @ X) @ Xs)) @ (((coindu1121789889_LCons @ A) @ Y) @ Ys)) = ((X = Y) & (((coindu1696667936prefix @ A) @ Xs) @ Ys)))))).
% 2.75/1.59 thf(fact_19_lprefix__code_I1_J, axiom, (! [A:$tType,Ys:(coindu1593790203_llist @ A)]: ((((coindu1696667936prefix @ A) @ (coindu1598213697e_LNil @ A)) @ Ys)))).
% 2.75/1.59 thf(fact_20_lfinite__code_I2_J, axiom, (! [B:$tType,X:B,Xs:(coindu1593790203_llist @ B)]: ((((coindu1213758845finite @ B) @ (((coindu1121789889_LCons @ B) @ X) @ Xs)) = ((coindu1213758845finite @ B) @ Xs))))).
% 2.75/1.59 thf(fact_21_lfinite__LCons, axiom, (! [A:$tType,X:A,Xs:(coindu1593790203_llist @ A)]: ((((coindu1213758845finite @ A) @ (((coindu1121789889_LCons @ A) @ X) @ Xs)) = ((coindu1213758845finite @ A) @ Xs))))).
% 2.75/1.59 thf(fact_22_lfinite__code_I1_J, axiom, (! [A:$tType]: (((coindu1213758845finite @ A) @ (coindu1598213697e_LNil @ A))))).
% 2.75/1.59 thf(fact_23_lprefix__LNil, axiom, (! [A:$tType,Xs:(coindu1593790203_llist @ A)]: (((((coindu1696667936prefix @ A) @ Xs) @ (coindu1598213697e_LNil @ A)) = ((coindu335574135_lnull @ A) @ Xs))))).
% 2.75/1.59 thf(fact_24_lprefix__lappend__same, axiom, (! [A:$tType,Xs:(coindu1593790203_llist @ A),Ys:(coindu1593790203_llist @ A),Zs:(coindu1593790203_llist @ A)]: (((((coindu1696667936prefix @ A) @ (((coindu268472904append @ A) @ Xs) @ Ys)) @ (((coindu268472904append @ A) @ Xs) @ Zs)) = (((coindu1213758845finite @ A) @ Xs) => (((coindu1696667936prefix @ A) @ Ys) @ Zs)))))).
% 2.75/1.59 thf(fact_25_inf__llist__lnth, axiom, (! [A:$tType,Xs:(coindu1593790203_llist @ A)]: (((~ (((coindu1213758845finite @ A) @ Xs))) => (((coindu288502823_llist @ A) @ ((coindu749330388e_lnth @ A) @ Xs)) = Xs))))).
% 2.75/1.59 thf(fact_26_llist_Odisc_I2_J, axiom, (! [A:$tType,X21:A,X22:(coindu1593790203_llist @ A)]: ((~ (((coindu335574135_lnull @ A) @ (((coindu1121789889_LCons @ A) @ X21) @ X22))))))).
% 2.75/1.59 thf(fact_27_llist_Odisc_I1_J, axiom, (! [A:$tType]: (((coindu335574135_lnull @ A) @ (coindu1598213697e_LNil @ A))))).
% 2.75/1.59 thf(fact_28_llist_OdiscI_I2_J, axiom, (! [A:$tType,Llist:(coindu1593790203_llist @ A),X21:A,X22:(coindu1593790203_llist @ A)]: (((Llist = (((coindu1121789889_LCons @ A) @ X21) @ X22)) => (~ (((coindu335574135_lnull @ A) @ Llist))))))).
% 2.75/1.59 thf(fact_29_llist_OdiscI_I1_J, axiom, (! [A:$tType,Llist:(coindu1593790203_llist @ A)]: (((Llist = (coindu1598213697e_LNil @ A)) => ((coindu335574135_lnull @ A) @ Llist))))).
% 2.75/1.59 thf(fact_30_lprefix__code_I2_J, axiom, (! [A:$tType,X:A,Xs:(coindu1593790203_llist @ A)]: ((~ ((((coindu1696667936prefix @ A) @ (((coindu1121789889_LCons @ A) @ X) @ Xs)) @ (coindu1598213697e_LNil @ A))))))).
% 2.75/1.59 thf(fact_31_llist_Ocollapse_I1_J, axiom, (! [A:$tType,Llist:(coindu1593790203_llist @ A)]: ((((coindu335574135_lnull @ A) @ Llist) => (Llist = (coindu1598213697e_LNil @ A)))))).
% 2.75/1.59 thf(fact_32_llist_Odistinct_I1_J, axiom, (! [A:$tType,X21:A,X22:(coindu1593790203_llist @ A)]: (((coindu1598213697e_LNil @ A) != (((coindu1121789889_LCons @ A) @ X21) @ X22))))).
% 2.75/1.59 thf(fact_33_lzip_Oexhaust, axiom, (! [A:$tType,B:$tType,Xs:(coindu1593790203_llist @ A),Ys:(coindu1593790203_llist @ B)]: (((~ ((((coindu335574135_lnull @ A) @ Xs) | ((coindu335574135_lnull @ B) @ Ys)))) => (~ (((~ (((coindu335574135_lnull @ A) @ Xs))) => ((coindu335574135_lnull @ B) @ Ys)))))))).
% 2.75/1.59 thf(fact_34_iterates_Ocode, axiom, (! [A:$tType]: (((coindu1529956631erates @ A) = (^ [F3:(A > A),X2:A]: ((((coindu1121789889_LCons @ A) @ X2) @ (((coindu1529956631erates @ A) @ F3) @ (F3 @ X2))))))))).
% 2.75/1.59 thf(fact_35_lfinite_Ocases, axiom, (! [A:$tType,A2:(coindu1593790203_llist @ A)]: ((((coindu1213758845finite @ A) @ A2) => ((A2 != (coindu1598213697e_LNil @ A)) => (~ ((! [Xs2:(coindu1593790203_llist @ A)]: (((? [X3:A]: ((A2 = (((coindu1121789889_LCons @ A) @ X3) @ Xs2)))) => (~ (((coindu1213758845finite @ A) @ Xs2))))))))))))).
% 2.75/1.59 thf(fact_36_lfinite_Osimps, axiom, (! [A:$tType]: (((coindu1213758845finite @ A) = (^ [A3:(coindu1593790203_llist @ A)]: (((A3 = (coindu1598213697e_LNil @ A)) | (? [Xs3:(coindu1593790203_llist @ A),X2:A]: (((A3 = (((coindu1121789889_LCons @ A) @ X2) @ Xs3)) & ((coindu1213758845finite @ A) @ Xs3))))))))))).
% 2.75/1.59 thf(fact_37_llist_Oexhaust, axiom, (! [A:$tType,Y:(coindu1593790203_llist @ A)]: (((Y != (coindu1598213697e_LNil @ A)) => (~ ((! [X212:A,X222:(coindu1593790203_llist @ A)]: ((Y != (((coindu1121789889_LCons @ A) @ X212) @ X222)))))))))).
% 2.75/1.59 thf(fact_38_lnull__lprefix, axiom, (! [A:$tType,Xs:(coindu1593790203_llist @ A),Ys:(coindu1593790203_llist @ A)]: ((((coindu335574135_lnull @ A) @ Xs) => (((coindu1696667936prefix @ A) @ Xs) @ Ys))))).
% 2.75/1.59 thf(fact_39_lprefix_Ocases, axiom, (! [A:$tType,A1:(coindu1593790203_llist @ A),A22:(coindu1593790203_llist @ A)]: (((((coindu1696667936prefix @ A) @ A1) @ A22) => (((A1 = (coindu1598213697e_LNil @ A)) => (! [Xs2:(coindu1593790203_llist @ A)]: ((A22 != Xs2)))) => (~ ((! [Xs2:(coindu1593790203_llist @ A),Ys2:(coindu1593790203_llist @ A),X3:A]: (((A1 = (((coindu1121789889_LCons @ A) @ X3) @ Xs2)) => ((A22 = (((coindu1121789889_LCons @ A) @ X3) @ Ys2)) => (~ ((((coindu1696667936prefix @ A) @ Xs2) @ Ys2)))))))))))))).
% 2.75/1.59 thf(fact_40_lprefix_Osimps, axiom, (! [A:$tType]: (((coindu1696667936prefix @ A) = (^ [A12:(coindu1593790203_llist @ A),A23:(coindu1593790203_llist @ A)]: (((? [Xs3:(coindu1593790203_llist @ A)]: (((A12 = (coindu1598213697e_LNil @ A)) & (A23 = Xs3)))) | (? [Xs3:(coindu1593790203_llist @ A),Ys3:(coindu1593790203_llist @ A),X2:A]: (((A12 = (((coindu1121789889_LCons @ A) @ X2) @ Xs3)) & ((A23 = (((coindu1121789889_LCons @ A) @ X2) @ Ys3)) & (((coindu1696667936prefix @ A) @ Xs3) @ Ys3)))))))))))).
% 2.75/1.59 thf(fact_41_lprefix__lnull, axiom, (! [A:$tType,Ys:(coindu1593790203_llist @ A),Xs:(coindu1593790203_llist @ A)]: ((((coindu335574135_lnull @ A) @ Ys) => ((((coindu1696667936prefix @ A) @ Xs) @ Ys) = ((coindu335574135_lnull @ A) @ Xs)))))).
% 2.75/1.59 thf(fact_42_lprefix__trans, axiom, (! [A:$tType,Xs:(coindu1593790203_llist @ A),Ys:(coindu1593790203_llist @ A),Zs:(coindu1593790203_llist @ A)]: (((((coindu1696667936prefix @ A) @ Xs) @ Ys) => ((((coindu1696667936prefix @ A) @ Ys) @ Zs) => (((coindu1696667936prefix @ A) @ Xs) @ Zs)))))).
% 2.75/1.59 thf(fact_43_neq__LNil__conv, axiom, (! [A:$tType,Xs:(coindu1593790203_llist @ A)]: (((Xs != (coindu1598213697e_LNil @ A)) = (? [X2:A,Xs4:(coindu1593790203_llist @ A)]: ((Xs = (((coindu1121789889_LCons @ A) @ X2) @ Xs4)))))))).
% 2.75/1.59 thf(fact_44_ext, axiom, (! [B:$tType,A:$tType,F:(A > B),G:(A > B)]: (((! [X3:A]: (((F @ X3) = (G @ X3)))) => (F = G))))).
% 2.75/1.59 thf(fact_45_lprefix__lnullD, axiom, (! [A:$tType,Xs:(coindu1593790203_llist @ A),Ys:(coindu1593790203_llist @ A)]: (((((coindu1696667936prefix @ A) @ Xs) @ Ys) => (((coindu335574135_lnull @ A) @ Ys) => ((coindu335574135_lnull @ A) @ Xs)))))).
% 2.75/1.59 thf(fact_46_not__lnull__conv, axiom, (! [A:$tType,Xs:(coindu1593790203_llist @ A)]: (((~ (((coindu335574135_lnull @ A) @ Xs))) = (? [X2:A,Xs4:(coindu1593790203_llist @ A)]: ((Xs = (((coindu1121789889_LCons @ A) @ X2) @ Xs4)))))))).
% 2.75/1.59 thf(fact_47_lappend_Oexhaust, axiom, (! [A:$tType,Xs:(coindu1593790203_llist @ A),Ys:(coindu1593790203_llist @ A)]: (((((coindu335574135_lnull @ A) @ Xs) => (~ (((coindu335574135_lnull @ A) @ Ys)))) => ((~ (((coindu335574135_lnull @ A) @ Xs))) | (~ (((coindu335574135_lnull @ A) @ Ys)))))))).
% 2.75/1.59 thf(fact_48_lfinite_Oinducts, axiom, (! [A:$tType,X:(coindu1593790203_llist @ A),P:((coindu1593790203_llist @ A) > $o)]: ((((coindu1213758845finite @ A) @ X) => ((P @ (coindu1598213697e_LNil @ A)) => ((! [Xs2:(coindu1593790203_llist @ A),X3:A]: ((((coindu1213758845finite @ A) @ Xs2) => ((P @ Xs2) => (P @ (((coindu1121789889_LCons @ A) @ X3) @ Xs2)))))) => (P @ X))))))).
% 2.75/1.59 thf(fact_49_llist_Oleq__trans, axiom, (! [A:$tType,X:(coindu1593790203_llist @ A),Y:(coindu1593790203_llist @ A),Z:(coindu1593790203_llist @ A)]: (((((coindu1696667936prefix @ A) @ X) @ Y) => ((((coindu1696667936prefix @ A) @ Y) @ Z) => (((coindu1696667936prefix @ A) @ X) @ Z)))))).
% 2.75/1.59 thf(fact_50_lnull__def, axiom, (! [A:$tType]: (((coindu335574135_lnull @ A) = (^ [Llist2:(coindu1593790203_llist @ A)]: ((Llist2 = (coindu1598213697e_LNil @ A)))))))).
% 2.75/1.59 thf(fact_51_lprefix__antisym, axiom, (! [A:$tType,Xs:(coindu1593790203_llist @ A),Ys:(coindu1593790203_llist @ A)]: (((((coindu1696667936prefix @ A) @ Xs) @ Ys) => ((((coindu1696667936prefix @ A) @ Ys) @ Xs) => (Xs = Ys)))))).
% 2.75/1.59 thf(fact_52_lfinite__iterates, axiom, (! [A:$tType,F:(A > A),X:A]: ((~ (((coindu1213758845finite @ A) @ (((coindu1529956631erates @ A) @ F) @ X))))))).
% 2.75/1.59 thf(fact_53_lfinite__llist__of, axiom, (! [A:$tType,Xs:(list @ A)]: (((coindu1213758845finite @ A) @ ((coindu1079202755ist_of @ A) @ Xs))))).
% 2.75/1.59 thf(fact_54_Le__LCons, axiom, (! [A:$tType,Xs:(coindu1593790203_llist @ A),Ys:(coindu1593790203_llist @ A),X:A]: (((((coindu1696667936prefix @ A) @ Xs) @ Ys) => (((coindu1696667936prefix @ A) @ (((coindu1121789889_LCons @ A) @ X) @ Xs)) @ (((coindu1121789889_LCons @ A) @ X) @ Ys)))))).
% 2.75/1.59 thf(fact_55_lprefix_Ocoinduct, axiom, (! [A:$tType,X4:((coindu1593790203_llist @ A) > ((coindu1593790203_llist @ A) > $o)),X:(coindu1593790203_llist @ A),Xa:(coindu1593790203_llist @ A)]: ((((X4 @ X) @ Xa) => ((! [X3:(coindu1593790203_llist @ A),Xa2:(coindu1593790203_llist @ A)]: ((((X4 @ X3) @ Xa2) => ((? [Xs5:(coindu1593790203_llist @ A)]: (((X3 = (coindu1598213697e_LNil @ A)) & (Xa2 = Xs5)))) | (? [Xs5:(coindu1593790203_llist @ A),Ys4:(coindu1593790203_llist @ A),Xb:A]: (((X3 = (((coindu1121789889_LCons @ A) @ Xb) @ Xs5)) & ((Xa2 = (((coindu1121789889_LCons @ A) @ Xb) @ Ys4)) & (((X4 @ Xs5) @ Ys4) | (((coindu1696667936prefix @ A) @ Xs5) @ Ys4)))))))))) => (((coindu1696667936prefix @ A) @ X) @ Xa)))))).
% 2.75/1.59 thf(fact_56_lprefix__lfiniteD, axiom, (! [A:$tType,Xs:(coindu1593790203_llist @ A),Ys:(coindu1593790203_llist @ A)]: (((((coindu1696667936prefix @ A) @ Xs) @ Ys) => (((coindu1213758845finite @ A) @ Ys) => ((coindu1213758845finite @ A) @ Xs)))))).
% 2.75/1.59 thf(fact_57_iterates_Odisc__iff, axiom, (! [A:$tType,F:(A > A),X:A]: ((~ (((coindu335574135_lnull @ A) @ (((coindu1529956631erates @ A) @ F) @ X))))))).
% 2.75/1.59 thf(fact_58_llist_Oleq__antisym, axiom, (! [A:$tType,X:(coindu1593790203_llist @ A),Y:(coindu1593790203_llist @ A)]: (((((coindu1696667936prefix @ A) @ X) @ Y) => ((((coindu1696667936prefix @ A) @ Y) @ X) => (X = Y)))))).
% 2.75/1.59 thf(fact_59_lnull__imp__lfinite, axiom, (! [A:$tType,Xs:(coindu1593790203_llist @ A)]: ((((coindu335574135_lnull @ A) @ Xs) => ((coindu1213758845finite @ A) @ Xs))))).
% 2.75/1.59 thf(fact_60_LCons__lprefix__conv, axiom, (! [A:$tType,X:A,Xs:(coindu1593790203_llist @ A),Ys:(coindu1593790203_llist @ A)]: (((((coindu1696667936prefix @ A) @ (((coindu1121789889_LCons @ A) @ X) @ Xs)) @ Ys) = (? [Ys5:(coindu1593790203_llist @ A)]: (((Ys = (((coindu1121789889_LCons @ A) @ X) @ Ys5)) & (((coindu1696667936prefix @ A) @ Xs) @ Ys5)))))))).
% 2.75/1.59 thf(fact_61_lfinite__rev__induct, axiom, (! [A:$tType,Xs:(coindu1593790203_llist @ A),P:((coindu1593790203_llist @ A) > $o)]: ((((coindu1213758845finite @ A) @ Xs) => ((P @ (coindu1598213697e_LNil @ A)) => ((! [X3:A,Xs2:(coindu1593790203_llist @ A)]: ((((coindu1213758845finite @ A) @ Xs2) => ((P @ Xs2) => (P @ (((coindu268472904append @ A) @ Xs2) @ (((coindu1121789889_LCons @ A) @ X3) @ (coindu1598213697e_LNil @ A)))))))) => (P @ Xs))))))).
% 2.75/1.59 thf(fact_62_lprefix__LCons__conv, axiom, (! [A:$tType,Xs:(coindu1593790203_llist @ A),Y:A,Ys:(coindu1593790203_llist @ A)]: (((((coindu1696667936prefix @ A) @ Xs) @ (((coindu1121789889_LCons @ A) @ Y) @ Ys)) = ((Xs = (coindu1598213697e_LNil @ A)) | (? [Xs4:(coindu1593790203_llist @ A)]: (((Xs = (((coindu1121789889_LCons @ A) @ Y) @ Xs4)) & (((coindu1696667936prefix @ A) @ Xs4) @ Ys))))))))).
% 2.75/1.59 thf(fact_63_lprefix__not__lnullD, axiom, (! [A:$tType,Xs:(coindu1593790203_llist @ A),Ys:(coindu1593790203_llist @ A)]: (((((coindu1696667936prefix @ A) @ Xs) @ Ys) => ((~ (((coindu335574135_lnull @ A) @ Xs))) => (~ (((coindu335574135_lnull @ A) @ Ys)))))))).
% 2.75/1.59 thf(fact_64_lprefix__down__linear, axiom, (! [A:$tType,Xs:(coindu1593790203_llist @ A),Zs:(coindu1593790203_llist @ A),Ys:(coindu1593790203_llist @ A)]: (((((coindu1696667936prefix @ A) @ Xs) @ Zs) => ((((coindu1696667936prefix @ A) @ Ys) @ Zs) => ((((coindu1696667936prefix @ A) @ Xs) @ Ys) | (((coindu1696667936prefix @ A) @ Ys) @ Xs))))))).
% 2.75/1.59 thf(fact_65_lfinite__LNil, axiom, (! [A:$tType]: (((coindu1213758845finite @ A) @ (coindu1598213697e_LNil @ A))))).
% 2.75/1.59 thf(fact_66_LNil__lprefix, axiom, (! [A:$tType,Xs:(coindu1593790203_llist @ A)]: ((((coindu1696667936prefix @ A) @ (coindu1598213697e_LNil @ A)) @ Xs)))).
% 2.75/1.59 thf(fact_67_lfinite__LConsI, axiom, (! [A:$tType,Xs:(coindu1593790203_llist @ A),X:A]: ((((coindu1213758845finite @ A) @ Xs) => ((coindu1213758845finite @ A) @ (((coindu1121789889_LCons @ A) @ X) @ Xs)))))).
% 2.75/1.59 thf(fact_68_not__lfinite__lprefix__conv__eq, axiom, (! [A:$tType,Xs:(coindu1593790203_llist @ A),Ys:(coindu1593790203_llist @ A)]: (((~ (((coindu1213758845finite @ A) @ Xs))) => ((((coindu1696667936prefix @ A) @ Xs) @ Ys) = (Xs = Ys)))))).
% 2.75/1.59 thf(fact_69_lappend_Octr_I1_J, axiom, (! [A:$tType,Xs:(coindu1593790203_llist @ A),Ys:(coindu1593790203_llist @ A)]: ((((coindu335574135_lnull @ A) @ Xs) => (((coindu335574135_lnull @ A) @ Ys) => ((((coindu268472904append @ A) @ Xs) @ Ys) = (coindu1598213697e_LNil @ A))))))).
% 2.75/1.59 thf(fact_70_lappend__snocL1__conv__LCons2, axiom, (! [A:$tType,Xs:(coindu1593790203_llist @ A),Y:A,Ys:(coindu1593790203_llist @ A)]: (((((coindu268472904append @ A) @ (((coindu268472904append @ A) @ Xs) @ (((coindu1121789889_LCons @ A) @ Y) @ (coindu1598213697e_LNil @ A)))) @ Ys) = (((coindu268472904append @ A) @ Xs) @ (((coindu1121789889_LCons @ A) @ Y) @ Ys)))))).
% 2.75/1.59 thf(fact_71_lappend__inf, axiom, (! [A:$tType,Xs:(coindu1593790203_llist @ A),Ys:(coindu1593790203_llist @ A)]: (((~ (((coindu1213758845finite @ A) @ Xs))) => ((((coindu268472904append @ A) @ Xs) @ Ys) = Xs))))).
% 2.75/1.59 thf(fact_72_lappend__lnull2, axiom, (! [A:$tType,Ys:(coindu1593790203_llist @ A),Xs:(coindu1593790203_llist @ A)]: ((((coindu335574135_lnull @ A) @ Ys) => ((((coindu268472904append @ A) @ Xs) @ Ys) = Xs))))).
% 2.75/1.59 thf(fact_73_lappend__lnull1, axiom, (! [A:$tType,Xs:(coindu1593790203_llist @ A),Ys:(coindu1593790203_llist @ A)]: ((((coindu335574135_lnull @ A) @ Xs) => ((((coindu268472904append @ A) @ Xs) @ Ys) = Ys))))).
% 2.75/1.59 thf(fact_74_lappend_Odisc_I1_J, axiom, (! [A:$tType,Xs:(coindu1593790203_llist @ A),Ys:(coindu1593790203_llist @ A)]: ((((coindu335574135_lnull @ A) @ Xs) => (((coindu335574135_lnull @ A) @ Ys) => ((coindu335574135_lnull @ A) @ (((coindu268472904append @ A) @ Xs) @ Ys))))))).
% 2.75/1.59 thf(fact_75_lappend_Odisc_I2_J, axiom, (! [A:$tType,Xs:(coindu1593790203_llist @ A),Ys:(coindu1593790203_llist @ A)]: ((((~ (((coindu335574135_lnull @ A) @ Xs))) | (~ (((coindu335574135_lnull @ A) @ Ys)))) => (~ (((coindu335574135_lnull @ A) @ (((coindu268472904append @ A) @ Xs) @ Ys)))))))).
% 2.75/1.59 thf(fact_76_lprefix__lappend__sameI, axiom, (! [A:$tType,Xs:(coindu1593790203_llist @ A),Ys:(coindu1593790203_llist @ A),Zs:(coindu1593790203_llist @ A)]: (((((coindu1696667936prefix @ A) @ Xs) @ Ys) => (((coindu1696667936prefix @ A) @ (((coindu268472904append @ A) @ Zs) @ Xs)) @ (((coindu268472904append @ A) @ Zs) @ Ys)))))).
% 2.75/1.59 thf(fact_77_lprefix__conv__lappend, axiom, (! [A:$tType]: (((coindu1696667936prefix @ A) = (^ [Xs3:(coindu1593790203_llist @ A),Ys3:(coindu1593790203_llist @ A)]: ((? [Zs2:(coindu1593790203_llist @ A)]: ((Ys3 = (((coindu268472904append @ A) @ Xs3) @ Zs2)))))))))).
% 2.75/1.59 thf(fact_78_lprefix__lappendD, axiom, (! [A:$tType,Xs:(coindu1593790203_llist @ A),Ys:(coindu1593790203_llist @ A),Zs:(coindu1593790203_llist @ A)]: (((((coindu1696667936prefix @ A) @ Xs) @ (((coindu268472904append @ A) @ Ys) @ Zs)) => ((((coindu1696667936prefix @ A) @ Xs) @ Ys) | (((coindu1696667936prefix @ A) @ Ys) @ Xs)))))).
% 2.75/1.59 thf(fact_79_lappend__lprefixE, axiom, (! [A:$tType,Xs:(coindu1593790203_llist @ A),Ys:(coindu1593790203_llist @ A),Zs:(coindu1593790203_llist @ A)]: (((((coindu1696667936prefix @ A) @ (((coindu268472904append @ A) @ Xs) @ Ys)) @ Zs) => (~ ((! [Zs3:(coindu1593790203_llist @ A)]: ((Zs != (((coindu268472904append @ A) @ Xs) @ Zs3)))))))))).
% 2.75/1.59 thf(fact_80_lprefix__lappend, axiom, (! [A:$tType,Xs:(coindu1593790203_llist @ A),Ys:(coindu1593790203_llist @ A)]: ((((coindu1696667936prefix @ A) @ Xs) @ (((coindu268472904append @ A) @ Xs) @ Ys))))).
% 2.75/1.59 thf(fact_81_lappend__eq__LNil__iff, axiom, (! [A:$tType,Xs:(coindu1593790203_llist @ A),Ys:(coindu1593790203_llist @ A)]: ((((((coindu268472904append @ A) @ Xs) @ Ys) = (coindu1598213697e_LNil @ A)) = ((Xs = (coindu1598213697e_LNil @ A)) & (Ys = (coindu1598213697e_LNil @ A))))))).
% 2.75/1.59 thf(fact_82_LNil__eq__lappend__iff, axiom, (! [A:$tType,Xs:(coindu1593790203_llist @ A),Ys:(coindu1593790203_llist @ A)]: ((((coindu1598213697e_LNil @ A) = (((coindu268472904append @ A) @ Xs) @ Ys)) = ((Xs = (coindu1598213697e_LNil @ A)) & (Ys = (coindu1598213697e_LNil @ A))))))).
% 2.75/1.59 thf(fact_83_lappend__LNil__LNil, axiom, (! [A:$tType]: (((((coindu268472904append @ A) @ (coindu1598213697e_LNil @ A)) @ (coindu1598213697e_LNil @ A)) = (coindu1598213697e_LNil @ A))))).
% 2.75/1.59 thf(fact_84_lfinite__inf__llist, axiom, (! [A:$tType,F:(nat > A)]: ((~ (((coindu1213758845finite @ A) @ ((coindu288502823_llist @ A) @ F))))))).
% 2.75/1.59 thf(fact_85_lnull__inf__llist, axiom, (! [A:$tType,F:(nat > A)]: ((~ (((coindu335574135_lnull @ A) @ ((coindu288502823_llist @ A) @ F))))))).
% 2.75/1.59 thf(fact_86_llast__lappend__LCons, axiom, (! [A:$tType,Xs:(coindu1593790203_llist @ A),Y:A,Ys:(coindu1593790203_llist @ A)]: ((((coindu1213758845finite @ A) @ Xs) => (((coindu2000965700_llast @ A) @ (((coindu268472904append @ A) @ Xs) @ (((coindu1121789889_LCons @ A) @ Y) @ Ys))) = ((coindu2000965700_llast @ A) @ (((coindu1121789889_LCons @ A) @ Y) @ Ys))))))).
% 2.75/1.59 thf(fact_87_lstrict__prefix__lappend__conv, axiom, (! [A:$tType,Xs:(coindu1593790203_llist @ A),Ys:(coindu1593790203_llist @ A)]: (((((coindu574146665prefix @ A) @ Xs) @ (((coindu268472904append @ A) @ Xs) @ Ys)) = (((coindu1213758845finite @ A) @ Xs) & (~ (((coindu335574135_lnull @ A) @ Ys)))))))).
% 2.75/1.59 thf(fact_88_llimit__induct, axiom, (! [A:$tType,P:((coindu1593790203_llist @ A) > $o),Xs:(coindu1593790203_llist @ A)]: (((P @ (coindu1598213697e_LNil @ A)) => ((! [X3:A,Xs2:(coindu1593790203_llist @ A)]: ((((coindu1213758845finite @ A) @ Xs2) => ((P @ Xs2) => (P @ (((coindu1121789889_LCons @ A) @ X3) @ Xs2)))))) => (((! [Ys4:(coindu1593790203_llist @ A)]: (((((coindu574146665prefix @ A) @ Ys4) @ Xs) => (P @ Ys4)))) => (P @ Xs)) => (P @ Xs))))))).
% 2.75/1.59 thf(fact_89_Coinductive__List__Mirabelle__kmikjhschf_Olprefix__nitpick__simps, axiom, (! [A:$tType]: (((coindu1696667936prefix @ A) = (^ [Xs3:(coindu1593790203_llist @ A),Ys3:(coindu1593790203_llist @ A)]: (((((coindu1213758845finite @ A) @ Xs3) => (((coindu1571841457prefix @ A) @ Xs3) @ Ys3)) & ((~ (((coindu1213758845finite @ A) @ Xs3))) => (Xs3 = Ys3))))))))).
% 2.75/1.59 thf(fact_90_Coinductive__List__Mirabelle__kmikjhschf_Ofinite__lprefix__nitpick__simps_I3_J, axiom, (! [A:$tType,Xs:(coindu1593790203_llist @ A),Y:A,Ys:(coindu1593790203_llist @ A)]: (((((coindu1571841457prefix @ A) @ Xs) @ (((coindu1121789889_LCons @ A) @ Y) @ Ys)) = ((Xs = (coindu1598213697e_LNil @ A)) | (? [Xs4:(coindu1593790203_llist @ A)]: (((Xs = (((coindu1121789889_LCons @ A) @ Y) @ Xs4)) & (((coindu1571841457prefix @ A) @ Xs4) @ Ys))))))))).
% 2.75/1.59 thf(fact_91_lstrict__prefix__code_I3_J, axiom, (! [B:$tType,X:B,Xs:(coindu1593790203_llist @ B)]: ((~ ((((coindu574146665prefix @ B) @ (((coindu1121789889_LCons @ B) @ X) @ Xs)) @ (coindu1598213697e_LNil @ B))))))).
% 2.75/1.59 thf(fact_92_lstrict__prefix__code_I2_J, axiom, (! [B:$tType,Y:B,Ys:(coindu1593790203_llist @ B)]: ((((coindu574146665prefix @ B) @ (coindu1598213697e_LNil @ B)) @ (((coindu1121789889_LCons @ B) @ Y) @ Ys))))).
% 2.75/1.59 thf(fact_93_llast__singleton, axiom, (! [A:$tType,X:A]: ((((coindu2000965700_llast @ A) @ (((coindu1121789889_LCons @ A) @ X) @ (coindu1598213697e_LNil @ A))) = X)))).
% 2.75/1.59 thf(fact_94_llist__of__list__of, axiom, (! [A:$tType,Xs:(coindu1593790203_llist @ A)]: ((((coindu1213758845finite @ A) @ Xs) => (((coindu1079202755ist_of @ A) @ ((coindu1736001939ist_of @ A) @ Xs)) = Xs))))).
% 2.75/1.59 thf(fact_95_lmember__code_I1_J, axiom, (! [A:$tType,X:A]: ((~ ((((coindu567634248member @ A) @ X) @ (coindu1598213697e_LNil @ A))))))).
% 2.75/1.59 thf(fact_96_lmember__code_I2_J, axiom, (! [A:$tType,X:A,Y:A,Ys:(coindu1593790203_llist @ A)]: (((((coindu567634248member @ A) @ X) @ (((coindu1121789889_LCons @ A) @ Y) @ Ys)) = ((X = Y) | (((coindu567634248member @ A) @ X) @ Ys)))))).
% 2.75/1.59 thf(fact_97_llast__LCons2, axiom, (! [A:$tType,X:A,Y:A,Xs:(coindu1593790203_llist @ A)]: ((((coindu2000965700_llast @ A) @ (((coindu1121789889_LCons @ A) @ X) @ (((coindu1121789889_LCons @ A) @ Y) @ Xs))) = ((coindu2000965700_llast @ A) @ (((coindu1121789889_LCons @ A) @ Y) @ Xs)))))).
% 2.75/1.59 thf(fact_98_list__of__llist__of, axiom, (! [A:$tType,Xs:(list @ A)]: ((((coindu1736001939ist_of @ A) @ ((coindu1079202755ist_of @ A) @ Xs)) = Xs)))).
% 2.75/1.59 thf(fact_99_lstrict__prefix__code_I4_J, axiom, (! [B:$tType,X:B,Xs:(coindu1593790203_llist @ B),Y:B,Ys:(coindu1593790203_llist @ B)]: (((((coindu574146665prefix @ B) @ (((coindu1121789889_LCons @ B) @ X) @ Xs)) @ (((coindu1121789889_LCons @ B) @ Y) @ Ys)) = ((X = Y) & (((coindu574146665prefix @ B) @ Xs) @ Ys)))))).
% 2.75/1.59 thf(fact_100_lstrict__prefix__code_I1_J, axiom, (! [A:$tType]: ((~ ((((coindu574146665prefix @ A) @ (coindu1598213697e_LNil @ A)) @ (coindu1598213697e_LNil @ A))))))).
% 2.75/1.59 thf(fact_101_llist__less__induct, axiom, (! [A:$tType,P:((coindu1593790203_llist @ A) > $o),Xs:(coindu1593790203_llist @ A)]: (((! [Xs2:(coindu1593790203_llist @ A)]: (((! [Ys4:(coindu1593790203_llist @ A)]: (((((coindu574146665prefix @ A) @ Ys4) @ Xs2) => (P @ Ys4)))) => (P @ Xs2)))) => (P @ Xs))))).
% 2.75/1.59 thf(fact_102_lstrict__prefix__def, axiom, (! [A:$tType]: (((coindu574146665prefix @ A) = (^ [Xs3:(coindu1593790203_llist @ A),Ys3:(coindu1593790203_llist @ A)]: (((((coindu1696667936prefix @ A) @ Xs3) @ Ys3) & (Xs3 != Ys3)))))))).
% 2.75/1.59 thf(fact_103_lstrict__prefix__lfinite1, axiom, (! [A:$tType,Xs:(coindu1593790203_llist @ A),Ys:(coindu1593790203_llist @ A)]: (((((coindu574146665prefix @ A) @ Xs) @ Ys) => ((coindu1213758845finite @ A) @ Xs))))).
% 2.75/1.59 thf(fact_104_Coinductive__List__Mirabelle__kmikjhschf_Ofinite__lprefix__def, axiom, (! [A:$tType]: (((coindu1571841457prefix @ A) = (coindu1696667936prefix @ A))))).
% 2.75/1.59 thf(fact_105_Coinductive__List__Mirabelle__kmikjhschf_Ofinite__lprefix__nitpick__simps_I1_J, axiom, (! [A:$tType,Xs:(coindu1593790203_llist @ A)]: (((((coindu1571841457prefix @ A) @ Xs) @ (coindu1598213697e_LNil @ A)) = (Xs = (coindu1598213697e_LNil @ A)))))).
% 2.75/1.59 thf(fact_106_Coinductive__List__Mirabelle__kmikjhschf_Ofinite__lprefix__nitpick__simps_I2_J, axiom, (! [A:$tType,Xs:(coindu1593790203_llist @ A)]: ((((coindu1571841457prefix @ A) @ (coindu1598213697e_LNil @ A)) @ Xs)))).
% 2.75/1.59 thf(fact_107_llast__LCons, axiom, (! [A:$tType,Xs:(coindu1593790203_llist @ A),X:A]: (((((coindu335574135_lnull @ A) @ Xs) => (((coindu2000965700_llast @ A) @ (((coindu1121789889_LCons @ A) @ X) @ Xs)) = X)) & ((~ (((coindu335574135_lnull @ A) @ Xs))) => (((coindu2000965700_llast @ A) @ (((coindu1121789889_LCons @ A) @ X) @ Xs)) = ((coindu2000965700_llast @ A) @ Xs))))))).
% 2.75/1.59 thf(fact_108_llast__lappend, axiom, (! [A:$tType,Ys:(coindu1593790203_llist @ A),Xs:(coindu1593790203_llist @ A)]: (((((coindu335574135_lnull @ A) @ Ys) => (((coindu2000965700_llast @ A) @ (((coindu268472904append @ A) @ Xs) @ Ys)) = ((coindu2000965700_llast @ A) @ Xs))) & ((~ (((coindu335574135_lnull @ A) @ Ys))) => ((((coindu1213758845finite @ A) @ Xs) => (((coindu2000965700_llast @ A) @ (((coindu268472904append @ A) @ Xs) @ Ys)) = ((coindu2000965700_llast @ A) @ Ys))) & ((~ (((coindu1213758845finite @ A) @ Xs))) => (((coindu2000965700_llast @ A) @ (((coindu268472904append @ A) @ Xs) @ Ys)) = (undefined @ A))))))))).
% 2.75/1.59 thf(fact_109_list__of__LCons, axiom, (! [A:$tType,Xs:(coindu1593790203_llist @ A),X:A]: ((((coindu1213758845finite @ A) @ Xs) => (((coindu1736001939ist_of @ A) @ (((coindu1121789889_LCons @ A) @ X) @ Xs)) = (((cons @ A) @ X) @ ((coindu1736001939ist_of @ A) @ Xs))))))).
% 2.75/1.59 thf(fact_110_nth__list__of, axiom, (! [A:$tType,Xs:(coindu1593790203_llist @ A)]: ((((coindu1213758845finite @ A) @ Xs) => (((nth @ A) @ ((coindu1736001939ist_of @ A) @ Xs)) = ((coindu749330388e_lnth @ A) @ Xs)))))).
% 2.75/1.59 thf(fact_111_llast__llist__of, axiom, (! [A:$tType,Xs:(list @ A)]: ((((coindu2000965700_llast @ A) @ ((coindu1079202755ist_of @ A) @ Xs)) = ((last @ A) @ Xs))))).
% 2.75/1.59 thf(fact_112_list__of__lappend, axiom, (! [A:$tType,Xs:(coindu1593790203_llist @ A),Ys:(coindu1593790203_llist @ A)]: ((((coindu1213758845finite @ A) @ Xs) => (((coindu1213758845finite @ A) @ Ys) => (((coindu1736001939ist_of @ A) @ (((coindu268472904append @ A) @ Xs) @ Ys)) = (((append @ A) @ ((coindu1736001939ist_of @ A) @ Xs)) @ ((coindu1736001939ist_of @ A) @ Ys)))))))).
% 2.75/1.59 thf(fact_113_lnth__llist__of, axiom, (! [A:$tType,Xs:(list @ A)]: ((((coindu749330388e_lnth @ A) @ ((coindu1079202755ist_of @ A) @ Xs)) = ((nth @ A) @ Xs))))).
% 2.75/1.59 thf(fact_114_list__of__LCons__conv, axiom, (! [A:$tType,Xs:(coindu1593790203_llist @ A),X:A]: (((((coindu1213758845finite @ A) @ Xs) => (((coindu1736001939ist_of @ A) @ (((coindu1121789889_LCons @ A) @ X) @ Xs)) = (((cons @ A) @ X) @ ((coindu1736001939ist_of @ A) @ Xs)))) & ((~ (((coindu1213758845finite @ A) @ Xs))) => (((coindu1736001939ist_of @ A) @ (((coindu1121789889_LCons @ A) @ X) @ Xs)) = (undefined @ (list @ A)))))))).
% 2.75/1.59 thf(fact_115_lnth__LNil, axiom, (! [A:$tType,N:nat]: (((((coindu749330388e_lnth @ A) @ (coindu1598213697e_LNil @ A)) @ N) = ((undefined @ (nat > A)) @ N))))).
% 2.75/1.59 thf(fact_116_lprefix__llist__ofI, axiom, (! [A:$tType,Ys:(list @ A),Xs:(list @ A)]: (((? [Zs4:(list @ A)]: ((Ys = (((append @ A) @ Xs) @ Zs4)))) => (((coindu1696667936prefix @ A) @ ((coindu1079202755ist_of @ A) @ Xs)) @ ((coindu1079202755ist_of @ A) @ Ys)))))).
% 2.75/1.59 thf(fact_117_lappend__llist__of__llist__of, axiom, (! [A:$tType,Xs:(list @ A),Ys:(list @ A)]: (((((coindu268472904append @ A) @ ((coindu1079202755ist_of @ A) @ Xs)) @ ((coindu1079202755ist_of @ A) @ Ys)) = ((coindu1079202755ist_of @ A) @ (((append @ A) @ Xs) @ Ys)))))).
% 2.75/1.59 thf(fact_118_llist__of_Osimps_I2_J, axiom, (! [A:$tType,X:A,Xs:(list @ A)]: ((((coindu1079202755ist_of @ A) @ (((cons @ A) @ X) @ Xs)) = (((coindu1121789889_LCons @ A) @ X) @ ((coindu1079202755ist_of @ A) @ Xs)))))).
% 2.75/1.59 thf(fact_119_llist__of__eq__LCons__conv, axiom, (! [A:$tType,Xs:(list @ A),Y:A,Ys:(coindu1593790203_llist @ A)]: (((((coindu1079202755ist_of @ A) @ Xs) = (((coindu1121789889_LCons @ A) @ Y) @ Ys)) = (? [Xs4:(list @ A)]: (((Xs = (((cons @ A) @ Y) @ Xs4)) & (Ys = ((coindu1079202755ist_of @ A) @ Xs4))))))))).
% 2.75/1.59 thf(fact_120_llast__LNil, axiom, (! [A:$tType]: ((((coindu2000965700_llast @ A) @ (coindu1598213697e_LNil @ A)) = (undefined @ A))))).
% 2.75/1.59 thf(fact_121_llast__linfinite, axiom, (! [A:$tType,Xs:(coindu1593790203_llist @ A)]: (((~ (((coindu1213758845finite @ A) @ Xs))) => (((coindu2000965700_llast @ A) @ Xs) = (undefined @ A)))))).
% 2.75/1.59 thf(fact_122_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)))))).
% 2.75/1.59 thf(fact_123_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))))).
% 2.75/1.59 thf(fact_124_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))))).
% 2.75/1.59 thf(fact_125_list_Oinject, axiom, (! [A:$tType,X21:A,X22:(list @ A),Y21:A,Y22:(list @ A)]: ((((((cons @ A) @ X21) @ X22) = (((cons @ A) @ Y21) @ Y22)) = ((X21 = Y21) & (X22 = Y22)))))).
% 2.75/1.59 thf(fact_126_not__Cons__self2, axiom, (! [A:$tType,X:A,Xs:(list @ A)]: (((((cons @ A) @ X) @ Xs) != Xs)))).
% 2.75/1.59 thf(fact_127_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)) = (? [Us:(list @ A)]: ((((Xs = (((append @ A) @ Zs) @ Us)) & ((((append @ A) @ Us) @ Ys) = Ts)) | (((((append @ A) @ Xs) @ Us) = Zs) & (Ys = (((append @ A) @ Us) @ Ts)))))))))).
% 2.75/1.59 thf(fact_128_append__eq__appendI, axiom, (! [A:$tType,Xs:(list @ A),Xs1:(list @ A),Zs:(list @ A),Ys:(list @ A),Us2:(list @ A)]: ((((((append @ A) @ Xs) @ Xs1) = Zs) => ((Ys = (((append @ A) @ Xs1) @ Us2)) => ((((append @ A) @ Xs) @ Ys) = (((append @ A) @ Zs) @ Us2))))))).
% 2.75/1.59 thf(fact_129_append__Cons, axiom, (! [A:$tType,X:A,Xs:(list @ A),Ys:(list @ A)]: (((((append @ A) @ (((cons @ A) @ X) @ Xs)) @ Ys) = (((cons @ A) @ X) @ (((append @ A) @ Xs) @ Ys)))))).
% 2.75/1.59 thf(fact_130_Cons__eq__appendI, axiom, (! [A:$tType,X:A,Xs1:(list @ A),Ys:(list @ A),Xs:(list @ A),Zs:(list @ A)]: ((((((cons @ A) @ X) @ Xs1) = Ys) => ((Xs = (((append @ A) @ Xs1) @ Zs)) => ((((cons @ A) @ X) @ Xs) = (((append @ A) @ Ys) @ Zs))))))).
% 2.75/1.59 thf(fact_131_bind__simps_I2_J, axiom, (! [A:$tType,B:$tType,X:B,Xs:(list @ B),F:(B > (list @ A))]: ((((((bind @ B) @ A) @ (((cons @ B) @ X) @ Xs)) @ F) = (((append @ A) @ (F @ X)) @ ((((bind @ B) @ A) @ Xs) @ F)))))).
% 2.75/1.59 thf(fact_132_lappend__llist__of__LCons, axiom, (! [A:$tType,Xs:(list @ A),Y:A,Ys:(coindu1593790203_llist @ A)]: (((((coindu268472904append @ A) @ ((coindu1079202755ist_of @ A) @ Xs)) @ (((coindu1121789889_LCons @ A) @ Y) @ Ys)) = (((coindu268472904append @ A) @ ((coindu1079202755ist_of @ A) @ (((append @ A) @ Xs) @ (((cons @ A) @ Y) @ (nil @ A))))) @ Ys))))).
% 2.75/1.59 thf(fact_133_list__of__aux__code_I2_J, axiom, (! [A:$tType,Xs:(list @ A),Y:A,Ys:(coindu1593790203_llist @ A)]: (((((coindu1542816657of_aux @ A) @ Xs) @ (((coindu1121789889_LCons @ A) @ Y) @ Ys)) = (((coindu1542816657of_aux @ A) @ (((cons @ A) @ Y) @ Xs)) @ Ys))))).
% 2.75/1.59 thf(fact_134_maps__simps_I1_J, axiom, (! [A:$tType,B:$tType,F:(B > (list @ A)),X:B,Xs:(list @ B)]: ((((((maps @ B) @ A) @ F) @ (((cons @ B) @ X) @ Xs)) = (((append @ A) @ (F @ X)) @ ((((maps @ B) @ A) @ F) @ Xs)))))).
% 2.75/1.59 thf(fact_135_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))))))).
% 2.75/1.59 thf(fact_136_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))))))).
% 2.75/1.59 thf(fact_137_self__append__conv2, axiom, (! [A:$tType,Ys:(list @ A),Xs:(list @ A)]: (((Ys = (((append @ A) @ Xs) @ Ys)) = (Xs = (nil @ A)))))).
% 2.75/1.59 thf(fact_138_append__self__conv2, axiom, (! [A:$tType,Xs:(list @ A),Ys:(list @ A)]: ((((((append @ A) @ Xs) @ Ys) = Ys) = (Xs = (nil @ A)))))).
% 2.75/1.59 thf(fact_139_self__append__conv, axiom, (! [A:$tType,Xs:(list @ A),Ys:(list @ A)]: (((Xs = (((append @ A) @ Xs) @ Ys)) = (Ys = (nil @ A)))))).
% 2.75/1.59 thf(fact_140_append__self__conv, axiom, (! [A:$tType,Xs:(list @ A),Ys:(list @ A)]: ((((((append @ A) @ Xs) @ Ys) = Xs) = (Ys = (nil @ A)))))).
% 2.75/1.59 thf(fact_141_append__Nil2, axiom, (! [A:$tType,Xs:(list @ A)]: (((((append @ A) @ Xs) @ (nil @ A)) = Xs)))).
% 2.75/1.59 thf(fact_142_bind__simps_I1_J, axiom, (! [B:$tType,A:$tType,F:(B > (list @ A))]: ((((((bind @ B) @ A) @ (nil @ B)) @ F) = (nil @ A))))).
% 2.75/1.59 thf(fact_143_append1__eq__conv, axiom, (! [A:$tType,Xs:(list @ A),X:A,Ys:(list @ A),Y:A]: ((((((append @ A) @ Xs) @ (((cons @ A) @ X) @ (nil @ A))) = (((append @ A) @ Ys) @ (((cons @ A) @ Y) @ (nil @ A)))) = ((Xs = Ys) & (X = Y)))))).
% 2.75/1.59 thf(fact_144_lnull__llist__of, axiom, (! [A:$tType,Xs:(list @ A)]: ((((coindu335574135_lnull @ A) @ ((coindu1079202755ist_of @ A) @ Xs)) = (Xs = (nil @ A)))))).
% 2.75/1.59 thf(fact_145_last__appendL, axiom, (! [A:$tType,Ys:(list @ A),Xs:(list @ A)]: (((Ys = (nil @ A)) => (((last @ A) @ (((append @ A) @ Xs) @ Ys)) = ((last @ A) @ Xs)))))).
% 2.75/1.59 thf(fact_146_last__appendR, axiom, (! [A:$tType,Ys:(list @ A),Xs:(list @ A)]: (((Ys != (nil @ A)) => (((last @ A) @ (((append @ A) @ Xs) @ Ys)) = ((last @ A) @ Ys)))))).
% 2.75/1.59 thf(fact_147_list__of__LNil, axiom, (! [A:$tType]: ((((coindu1736001939ist_of @ A) @ (coindu1598213697e_LNil @ A)) = (nil @ A))))).
% 2.75/1.59 thf(fact_148_last__snoc, axiom, (! [A:$tType,Xs:(list @ A),X:A]: ((((last @ A) @ (((append @ A) @ Xs) @ (((cons @ A) @ X) @ (nil @ A)))) = X)))).
% 2.75/1.59 thf(fact_149_list_Odistinct_I1_J, axiom, (! [A:$tType,X21:A,X22:(list @ A)]: (((nil @ A) != (((cons @ A) @ X21) @ X22))))).
% 2.75/1.59 thf(fact_150_list_OdiscI, axiom, (! [A:$tType,List:(list @ A),X21:A,X22:(list @ A)]: (((List = (((cons @ A) @ X21) @ X22)) => (List != (nil @ A)))))).
% 2.75/1.59 thf(fact_151_list_Oexhaust, axiom, (! [A:$tType,Y:(list @ A)]: (((Y != (nil @ A)) => (~ ((! [X212:A,X222:(list @ A)]: ((Y != (((cons @ A) @ X212) @ X222)))))))))).
% 2.75/1.59 thf(fact_152_list_Oinducts, axiom, (! [A:$tType,P:((list @ A) > $o),List:(list @ A)]: (((P @ (nil @ A)) => ((! [X1:A,X23:(list @ A)]: (((P @ X23) => (P @ (((cons @ A) @ X1) @ X23))))) => (P @ List)))))).
% 2.75/1.59 thf(fact_153_neq__Nil__conv, axiom, (! [A:$tType,Xs:(list @ A)]: (((Xs != (nil @ A)) = (? [Y2:A,Ys3:(list @ A)]: ((Xs = (((cons @ A) @ Y2) @ Ys3)))))))).
% 2.75/1.59 thf(fact_154_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)) => ((! [X3:A,Xs2:(list @ A)]: (((P @ (((cons @ A) @ X3) @ Xs2)) @ (nil @ B)))) => ((! [Y3:B,Ys2:(list @ B)]: (((P @ (nil @ A)) @ (((cons @ B) @ Y3) @ Ys2)))) => ((! [X3:A,Xs2:(list @ A),Y3:B,Ys2:(list @ B)]: ((((P @ Xs2) @ Ys2) => ((P @ (((cons @ A) @ X3) @ Xs2)) @ (((cons @ B) @ Y3) @ Ys2))))) => ((P @ Xs) @ Ys)))))))).
% 2.75/1.59 thf(fact_155_splice_Oinduct, axiom, (! [A:$tType,P:((list @ A) > ((list @ A) > $o)),A0:(list @ A),A1:(list @ A)]: (((! [X1:(list @ A)]: (((P @ (nil @ A)) @ X1))) => ((! [V:A,Va:(list @ A)]: (((P @ (((cons @ A) @ V) @ Va)) @ (nil @ A)))) => ((! [X3:A,Xs2:(list @ A),Y3:A,Ys2:(list @ A)]: ((((P @ Xs2) @ Ys2) => ((P @ (((cons @ A) @ X3) @ Xs2)) @ (((cons @ A) @ Y3) @ Ys2))))) => ((P @ A0) @ A1))))))).
% 2.75/1.59 thf(fact_156_eq__Nil__appendI, axiom, (! [A:$tType,Xs:(list @ A),Ys:(list @ A)]: (((Xs = Ys) => (Xs = (((append @ A) @ (nil @ A)) @ Ys)))))).
% 2.75/1.59 thf(fact_157_transpose_Ocases, axiom, (! [A:$tType,X:(list @ (list @ A))]: (((X != (nil @ (list @ A))) => ((! [Xss:(list @ (list @ A))]: ((X != (((cons @ (list @ A)) @ (nil @ A)) @ Xss)))) => (~ ((! [X3:A,Xs2:(list @ A),Xss:(list @ (list @ A))]: ((X != (((cons @ (list @ A)) @ (((cons @ A) @ X3) @ Xs2)) @ Xss))))))))))).
% 2.75/1.59 thf(fact_158_append__Nil, axiom, (! [A:$tType,Ys:(list @ A)]: (((((append @ A) @ (nil @ A)) @ Ys) = Ys)))).
% 2.75/1.59 thf(fact_159_remdups__adj_Ocases, axiom, (! [A:$tType,X:(list @ A)]: (((X != (nil @ A)) => ((! [X3:A]: ((X != (((cons @ A) @ X3) @ (nil @ A))))) => (~ ((! [X3:A,Y3:A,Xs2:(list @ A)]: ((X != (((cons @ A) @ X3) @ (((cons @ A) @ Y3) @ Xs2)))))))))))).
% 2.75/1.59 thf(fact_160_remdups__adj_Oinduct, axiom, (! [A:$tType,P:((list @ A) > $o),A0:(list @ A)]: (((P @ (nil @ A)) => ((! [X3:A]: ((P @ (((cons @ A) @ X3) @ (nil @ A))))) => ((! [X3:A,Y3:A,Xs2:(list @ A)]: ((((X3 = Y3) => (P @ (((cons @ A) @ X3) @ Xs2))) => (((X3 != Y3) => (P @ (((cons @ A) @ Y3) @ Xs2))) => (P @ (((cons @ A) @ X3) @ (((cons @ A) @ Y3) @ Xs2))))))) => (P @ A0))))))).
% 2.75/1.59 thf(fact_161_list__nonempty__induct, axiom, (! [A:$tType,Xs:(list @ A),P:((list @ A) > $o)]: (((Xs != (nil @ A)) => ((! [X3:A]: ((P @ (((cons @ A) @ X3) @ (nil @ A))))) => ((! [X3:A,Xs2:(list @ A)]: (((Xs2 != (nil @ A)) => ((P @ Xs2) => (P @ (((cons @ A) @ X3) @ Xs2)))))) => (P @ Xs))))))).
% 2.75/1.59 thf(fact_162_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),X1:(list @ B)]: ((((P @ F2) @ (nil @ A)) @ X1))) => ((! [F2:(A > B),A4:A,As:(list @ A),Bs:(list @ B)]: (((((P @ F2) @ As) @ (((cons @ B) @ (F2 @ A4)) @ Bs)) => (((P @ F2) @ (((cons @ A) @ A4) @ As)) @ Bs)))) => (((P @ A0) @ A1) @ A22)))))).
% 2.75/1.59 thf(fact_163_maps__simps_I2_J, axiom, (! [B:$tType,A:$tType,F:(B > (list @ A))]: ((((((maps @ B) @ A) @ F) @ (nil @ B)) = (nil @ A))))).
% 2.75/1.59 thf(fact_164_list__of__code, axiom, (! [A:$tType]: (((coindu1736001939ist_of @ A) = ((coindu1542816657of_aux @ A) @ (nil @ A)))))).
% 2.75/1.59 thf(fact_165_rev__induct, axiom, (! [A:$tType,P:((list @ A) > $o),Xs:(list @ A)]: (((P @ (nil @ A)) => ((! [X3:A,Xs2:(list @ A)]: (((P @ Xs2) => (P @ (((append @ A) @ Xs2) @ (((cons @ A) @ X3) @ (nil @ A))))))) => (P @ Xs)))))).
% 2.75/1.59 thf(fact_166_rev__exhaust, axiom, (! [A:$tType,Xs:(list @ A)]: (((Xs != (nil @ A)) => (~ ((! [Ys2:(list @ A),Y3:A]: ((Xs != (((append @ A) @ Ys2) @ (((cons @ A) @ Y3) @ (nil @ A)))))))))))).
% 2.75/1.59 thf(fact_167_Cons__eq__append__conv, axiom, (! [A:$tType,X:A,Xs:(list @ A),Ys:(list @ A),Zs:(list @ A)]: ((((((cons @ A) @ X) @ Xs) = (((append @ A) @ Ys) @ Zs)) = (((Ys = (nil @ A)) & ((((cons @ A) @ X) @ Xs) = Zs)) | (? [Ys5:(list @ A)]: ((((((cons @ A) @ X) @ Ys5) = Ys) & (Xs = (((append @ A) @ Ys5) @ Zs)))))))))).
% 2.75/1.59 thf(fact_168_append__eq__Cons__conv, axiom, (! [A:$tType,Ys:(list @ A),Zs:(list @ A),X:A,Xs:(list @ A)]: ((((((append @ A) @ Ys) @ Zs) = (((cons @ A) @ X) @ Xs)) = (((Ys = (nil @ A)) & (Zs = (((cons @ A) @ X) @ Xs))) | (? [Ys5:(list @ A)]: (((Ys = (((cons @ A) @ X) @ Ys5)) & ((((append @ A) @ Ys5) @ Zs) = Xs))))))))).
% 2.75/1.59 thf(fact_169_rev__nonempty__induct, axiom, (! [A:$tType,Xs:(list @ A),P:((list @ A) > $o)]: (((Xs != (nil @ A)) => ((! [X3:A]: ((P @ (((cons @ A) @ X3) @ (nil @ A))))) => ((! [X3:A,Xs2:(list @ A)]: (((Xs2 != (nil @ A)) => ((P @ Xs2) => (P @ (((append @ A) @ Xs2) @ (((cons @ A) @ X3) @ (nil @ A)))))))) => (P @ Xs))))))).
% 2.75/1.59 thf(fact_170_last_Osimps, axiom, (! [A:$tType,Xs:(list @ A),X:A]: ((((Xs = (nil @ A)) => (((last @ A) @ (((cons @ A) @ X) @ Xs)) = X)) & ((Xs != (nil @ A)) => (((last @ A) @ (((cons @ A) @ X) @ Xs)) = ((last @ A) @ Xs))))))).
% 2.75/1.59 thf(fact_171_last__ConsL, axiom, (! [A:$tType,Xs:(list @ A),X:A]: (((Xs = (nil @ A)) => (((last @ A) @ (((cons @ A) @ X) @ Xs)) = X))))).
% 2.75/1.59 thf(fact_172_last__ConsR, axiom, (! [A:$tType,Xs:(list @ A),X:A]: (((Xs != (nil @ A)) => (((last @ A) @ (((cons @ A) @ X) @ Xs)) = ((last @ A) @ Xs)))))).
% 2.75/1.59 thf(fact_173_llist__of_Osimps_I1_J, axiom, (! [A:$tType]: ((((coindu1079202755ist_of @ A) @ (nil @ A)) = (coindu1598213697e_LNil @ A))))).
% 2.75/1.59 thf(fact_174_llist__of__eq__LNil__conv, axiom, (! [A:$tType,Xs:(list @ A)]: (((((coindu1079202755ist_of @ A) @ Xs) = (coindu1598213697e_LNil @ A)) = (Xs = (nil @ A)))))).
% 2.75/1.59 thf(fact_175_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))))))).
% 2.75/1.59 thf(fact_176_longest__common__suffix, axiom, (! [A:$tType,Xs:(list @ A),Ys:(list @ A)]: ((? [Ss:(list @ A),Xs6:(list @ A),Ys6:(list @ A)]: (((Xs = (((append @ A) @ Xs6) @ Ss)) & ((Ys = (((append @ A) @ Ys6) @ Ss)) & ((Xs6 = (nil @ A)) | ((Ys6 = (nil @ A)) | (((last @ A) @ Xs6) != ((last @ A) @ Ys6))))))))))).
% 2.75/1.59 thf(fact_177_longest__common__prefix_Oinduct, axiom, (! [A:$tType,P:((list @ A) > ((list @ A) > $o)),A0:(list @ A),A1:(list @ A)]: (((! [X3:A,Xs2:(list @ A),Y3:A,Ys2:(list @ A)]: ((((X3 = Y3) => ((P @ Xs2) @ Ys2)) => ((P @ (((cons @ A) @ X3) @ Xs2)) @ (((cons @ A) @ Y3) @ Ys2))))) => ((! [X1:(list @ A)]: (((P @ (nil @ A)) @ X1))) => ((! [Uu:(list @ A)]: (((P @ Uu) @ (nil @ A)))) => ((P @ A0) @ A1))))))).
% 2.75/1.59 thf(fact_178_prefixes_Oinduct, axiom, (! [A:$tType,P:((list @ A) > $o),A0:(list @ A)]: (((P @ (nil @ A)) => ((! [X3:A,Xs2:(list @ A)]: (((P @ Xs2) => (P @ (((cons @ A) @ X3) @ Xs2))))) => (P @ A0)))))).
% 2.75/1.59 thf(fact_179_prefixes_Ocases, axiom, (! [A:$tType,X:(list @ A)]: (((X != (nil @ A)) => (~ ((! [X3:A,Xs2:(list @ A)]: ((X != (((cons @ A) @ X3) @ Xs2)))))))))).
% 2.75/1.59 thf(fact_180_list__of__aux__def, axiom, (! [A:$tType]: (((coindu1542816657of_aux @ A) = (^ [Xs3:(list @ A),Ys3:(coindu1593790203_llist @ A)]: (((((if @ (list @ A)) @ ((coindu1213758845finite @ A) @ Ys3)) @ (((append @ A) @ ((rev @ A) @ Xs3)) @ ((coindu1736001939ist_of @ A) @ Ys3))) @ (undefined @ (list @ A))))))))).
% 2.75/1.59 thf(fact_181_rev__rev__ident, axiom, (! [A:$tType,Xs:(list @ A)]: ((((rev @ A) @ ((rev @ A) @ Xs)) = Xs)))).
% 2.75/1.59 thf(fact_182_rev__is__rev__conv, axiom, (! [A:$tType,Xs:(list @ A),Ys:(list @ A)]: (((((rev @ A) @ Xs) = ((rev @ A) @ Ys)) = (Xs = Ys))))).
% 2.75/1.59 thf(fact_183_rev__is__Nil__conv, axiom, (! [A:$tType,Xs:(list @ A)]: (((((rev @ A) @ Xs) = (nil @ A)) = (Xs = (nil @ A)))))).
% 2.75/1.59 thf(fact_184_Nil__is__rev__conv, axiom, (! [A:$tType,Xs:(list @ A)]: ((((nil @ A) = ((rev @ A) @ Xs)) = (Xs = (nil @ A)))))).
% 2.75/1.59 thf(fact_185_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)))))).
% 2.75/1.59 thf(fact_186_singleton__rev__conv, axiom, (! [A:$tType,X:A,Xs:(list @ A)]: ((((((cons @ A) @ X) @ (nil @ A)) = ((rev @ A) @ Xs)) = (Xs = (((cons @ A) @ X) @ (nil @ A))))))).
% 2.75/1.59 thf(fact_187_rev__singleton__conv, axiom, (! [A:$tType,Xs:(list @ A),X:A]: (((((rev @ A) @ Xs) = (((cons @ A) @ X) @ (nil @ A))) = (Xs = (((cons @ A) @ X) @ (nil @ A))))))).
% 2.75/1.59 thf(fact_188_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)))))))).
% 2.75/1.59 thf(fact_189_rev_Osimps_I1_J, axiom, (! [A:$tType]: ((((rev @ A) @ (nil @ A)) = (nil @ A))))).
% 2.75/1.59 thf(fact_190_rev__swap, axiom, (! [A:$tType,Xs:(list @ A),Ys:(list @ A)]: (((((rev @ A) @ Xs) = Ys) = (Xs = ((rev @ A) @ Ys)))))).
% 2.75/1.59 thf(fact_191_list__of__aux__code_I1_J, axiom, (! [A:$tType,Xs:(list @ A)]: (((((coindu1542816657of_aux @ A) @ Xs) @ (coindu1598213697e_LNil @ A)) = ((rev @ A) @ Xs))))).
% 2.75/1.59 thf(fact_192_rev_Osimps_I2_J, axiom, (! [A:$tType,X:A,Xs:(list @ A)]: ((((rev @ A) @ (((cons @ A) @ X) @ Xs)) = (((append @ A) @ ((rev @ A) @ Xs)) @ (((cons @ A) @ X) @ (nil @ A))))))).
% 2.75/1.59 thf(fact_193_prefixes__snoc, axiom, (! [A:$tType,Xs:(list @ A),X:A]: ((((prefixes @ A) @ (((append @ A) @ Xs) @ (((cons @ A) @ X) @ (nil @ A)))) = (((append @ (list @ A)) @ ((prefixes @ A) @ Xs)) @ (((cons @ (list @ A)) @ (((append @ A) @ Xs) @ (((cons @ A) @ X) @ (nil @ A)))) @ (nil @ (list @ A)))))))).
% 2.75/1.59 thf(fact_194_prefixes__eq__Snoc, axiom, (! [A:$tType,Ys:(list @ A),Xs:(list @ (list @ A)),X:(list @ A)]: (((((prefixes @ A) @ Ys) = (((append @ (list @ A)) @ Xs) @ (((cons @ (list @ A)) @ X) @ (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)))))) & (X = Ys)))))).
% 2.75/1.59 thf(fact_195_sublists_Osimps_I1_J, axiom, (! [A:$tType]: ((((sublists @ A) @ (nil @ A)) = (((cons @ (list @ A)) @ (nil @ A)) @ (nil @ (list @ A))))))).
% 2.75/1.59 thf(fact_196_prefixes_Osimps_I1_J, axiom, (! [A:$tType]: ((((prefixes @ A) @ (nil @ A)) = (((cons @ (list @ A)) @ (nil @ A)) @ (nil @ (list @ A))))))).
% 2.75/1.59 thf(fact_197_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))))).
% 2.75/1.59 thf(fact_198_product__lists_Osimps_I1_J, axiom, (! [A:$tType]: ((((product_lists @ A) @ (nil @ (list @ A))) = (((cons @ (list @ A)) @ (nil @ A)) @ (nil @ (list @ A))))))).
% 2.75/1.59 thf(fact_199_butlast__snoc, axiom, (! [A:$tType,Xs:(list @ A),X:A]: ((((butlast @ A) @ (((append @ A) @ Xs) @ (((cons @ A) @ X) @ (nil @ A)))) = Xs)))).
% 2.75/1.59 thf(fact_200_butlast_Osimps_I2_J, axiom, (! [A:$tType,Xs:(list @ A),X:A]: ((((Xs = (nil @ A)) => (((butlast @ A) @ (((cons @ A) @ X) @ Xs)) = (nil @ A))) & ((Xs != (nil @ A)) => (((butlast @ A) @ (((cons @ A) @ X) @ Xs)) = (((cons @ A) @ X) @ ((butlast @ A) @ Xs)))))))).
% 2.75/1.59 thf(fact_201_butlast_Osimps_I1_J, axiom, (! [A:$tType]: ((((butlast @ A) @ (nil @ A)) = (nil @ A))))).
% 2.75/1.59 thf(fact_202_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)))))))).
% 2.75/1.59 thf(fact_203_snoc__eq__iff__butlast, axiom, (! [A:$tType,Xs:(list @ A),X:A,Ys:(list @ A)]: ((((((append @ A) @ Xs) @ (((cons @ A) @ X) @ (nil @ A))) = Ys) = ((Ys != (nil @ A)) & ((((butlast @ A) @ Ys) = Xs) & (((last @ A) @ Ys) = X))))))).
% 2.75/1.59 thf(fact_204_prefixes_Oelims, axiom, (! [A:$tType,X:(list @ A),Y:(list @ (list @ A))]: (((((prefixes @ A) @ X) = Y) => (((X = (nil @ A)) => (Y != (((cons @ (list @ A)) @ (nil @ A)) @ (nil @ (list @ A))))) => (~ ((! [X3:A,Xs2:(list @ A)]: (((X = (((cons @ A) @ X3) @ Xs2)) => (Y != (((cons @ (list @ A)) @ (nil @ A)) @ ((((map @ (list @ A)) @ (list @ A)) @ ((cons @ A) @ X3)) @ ((prefixes @ A) @ Xs2)))))))))))))).
% 2.75/1.59 thf(fact_205_insert__Nil, axiom, (! [A:$tType,X:A]: (((((insert @ A) @ X) @ (nil @ A)) = (((cons @ A) @ X) @ (nil @ A)))))).
% 2.75/1.59 thf(fact_206_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)))))).
% 2.75/1.59 thf(fact_207_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)))))).
% 2.75/1.59 thf(fact_208_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)))))).
% 2.75/1.59 thf(fact_209_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)))))).
% 2.75/1.59 thf(fact_210_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)))))).
% 2.75/1.59 thf(fact_211_list_Osimps_I8_J, axiom, (! [A:$tType,B:$tType,F:(A > B)]: ((((((map @ A) @ B) @ F) @ (nil @ A)) = (nil @ B))))).
% 2.75/1.59 thf(fact_212_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)))))).
% 2.75/1.59 thf(fact_213_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))))))))).
% 2.75/1.59 thf(fact_214_Cons__eq__map__conv, axiom, (! [A:$tType,B:$tType,X:A,Xs:(list @ A),F:(B > A),Ys:(list @ B)]: ((((((cons @ A) @ X) @ Xs) = ((((map @ B) @ A) @ F) @ Ys)) = (? [Z2:B,Zs2:(list @ B)]: (((Ys = (((cons @ B) @ Z2) @ Zs2)) & ((X = (F @ Z2)) & (Xs = ((((map @ B) @ A) @ F) @ Zs2)))))))))).
% 2.75/1.59 thf(fact_215_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,Zs5:(list @ B)]: (((Xs = (((cons @ B) @ Z3) @ Zs5)) & (((F @ Z3) = Y) & (((((map @ B) @ A) @ F) @ Zs5) = Ys))))))))).
% 2.75/1.59 thf(fact_216_Cons__eq__map__D, axiom, (! [A:$tType,B:$tType,X:A,Xs:(list @ A),F:(B > A),Ys:(list @ B)]: ((((((cons @ A) @ X) @ Xs) = ((((map @ B) @ A) @ F) @ Ys)) => (? [Z3:B,Zs5:(list @ B)]: (((Ys = (((cons @ B) @ Z3) @ Zs5)) & ((X = (F @ Z3)) & (Xs = ((((map @ B) @ A) @ F) @ Zs5)))))))))).
% 2.75/1.59 thf(fact_217_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)))))).
% 2.75/1.59 thf(fact_218_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))))))).
% 2.75/1.59 thf(fact_219_prefixes_Osimps_I2_J, axiom, (! [A:$tType,X:A,Xs:(list @ A)]: ((((prefixes @ A) @ (((cons @ A) @ X) @ Xs)) = (((cons @ (list @ A)) @ (nil @ A)) @ ((((map @ (list @ A)) @ (list @ A)) @ ((cons @ A) @ X)) @ ((prefixes @ A) @ Xs))))))).
% 2.75/1.59 thf(fact_220_map__tailrec__rev, axiom, (! [A:$tType,B:$tType]: ((((map_tailrec_rev @ B) @ A) = (^ [F3:(B > A),As2:(list @ B)]: (((append @ A) @ ((rev @ A) @ ((((map @ B) @ A) @ F3) @ As2))))))))).
% 2.75/1.59 thf(fact_221_prefixes_Opelims, axiom, (! [A:$tType,X:(list @ A),Y:(list @ (list @ A))]: (((((prefixes @ A) @ X) = Y) => ((((accp @ (list @ A)) @ (prefixes_rel @ A)) @ X) => (((X = (nil @ A)) => ((Y = (((cons @ (list @ A)) @ (nil @ A)) @ (nil @ (list @ A)))) => (~ ((((accp @ (list @ A)) @ (prefixes_rel @ A)) @ (nil @ A)))))) => (~ ((! [X3:A,Xs2:(list @ A)]: (((X = (((cons @ A) @ X3) @ Xs2)) => ((Y = (((cons @ (list @ A)) @ (nil @ A)) @ ((((map @ (list @ A)) @ (list @ A)) @ ((cons @ A) @ X3)) @ ((prefixes @ A) @ Xs2)))) => (~ ((((accp @ (list @ A)) @ (prefixes_rel @ A)) @ (((cons @ A) @ X3) @ Xs2)))))))))))))))).
% 2.75/1.59 thf(fact_222_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)))).
% 2.75/1.59 thf(fact_223_map__tailrec__rev_Osimps_I2_J, axiom, (! [A:$tType,B:$tType,F:(A > B),A2:A,As3:(list @ A),Bs2:(list @ B)]: (((((((map_tailrec_rev @ A) @ B) @ F) @ (((cons @ A) @ A2) @ As3)) @ Bs2) = (((((map_tailrec_rev @ A) @ B) @ F) @ As3) @ (((cons @ B) @ (F @ A2)) @ Bs2)))))).
% 2.75/1.59 thf(fact_224_map__tailrec__rev_Oelims, axiom, (! [A:$tType,B:$tType,X:(A > B),Xa:(list @ A),Xb2:(list @ B),Y:(list @ B)]: ((((((((map_tailrec_rev @ A) @ B) @ X) @ Xa) @ Xb2) = Y) => (((Xa = (nil @ A)) => (Y != Xb2)) => (~ ((! [A4:A,As:(list @ A)]: (((Xa = (((cons @ A) @ A4) @ As)) => (Y != (((((map_tailrec_rev @ A) @ B) @ X) @ As) @ (((cons @ B) @ (X @ A4)) @ Xb2))))))))))))).
% 2.75/1.59 thf(fact_225_map__tailrec__def, axiom, (! [B:$tType,A:$tType]: ((((map_tailrec @ A) @ B) = (^ [F3:(A > B),As2:(list @ A)]: (((rev @ B) @ (((((map_tailrec_rev @ A) @ B) @ F3) @ As2) @ (nil @ B))))))))).
% 2.75/1.59 thf(fact_226_rotate1_Osimps_I2_J, axiom, (! [A:$tType,X:A,Xs:(list @ A)]: ((((rotate1 @ A) @ (((cons @ A) @ X) @ Xs)) = (((append @ A) @ Xs) @ (((cons @ A) @ X) @ (nil @ A))))))).
% 2.75/1.59 thf(fact_227_rotate1__is__Nil__conv, axiom, (! [A:$tType,Xs:(list @ A)]: (((((rotate1 @ A) @ Xs) = (nil @ A)) = (Xs = (nil @ A)))))).
% 2.75/1.59 thf(fact_228_rotate1_Osimps_I1_J, axiom, (! [A:$tType]: ((((rotate1 @ A) @ (nil @ A)) = (nil @ A))))).
% 2.75/1.59 thf(fact_229_map__eq__map__tailrec, axiom, (! [B:$tType,A:$tType]: ((((map @ A) @ B) = ((map_tailrec @ A) @ B))))).
% 2.75/1.59 thf(fact_230_list__ex1__simps_I1_J, axiom, (! [A:$tType,P:(A > $o)]: ((~ ((((list_ex1 @ A) @ P) @ (nil @ A))))))).
% 2.75/1.59 thf(fact_231_strict__suffix__def, axiom, (! [A:$tType]: (((strict_suffix @ A) = (^ [Xs3:(list @ A),Ys3:(list @ A)]: ((? [Us:(list @ A)]: (((Ys3 = (((append @ A) @ Us) @ Xs3)) & (Us != (nil @ A))))))))))).
% 2.75/1.59 thf(fact_232_ord_Olexordp__eq__simps_I3_J, axiom, (! [A:$tType,Less:(A > (A > $o)),X:A,Xs:(list @ A)]: ((~ (((((lexordp_eq @ A) @ Less) @ (((cons @ A) @ X) @ Xs)) @ (nil @ A))))))).
% 2.75/1.59 thf(fact_233_nth__append__length, axiom, (! [A:$tType,Xs:(list @ A),X:A,Ys:(list @ A)]: (((((nth @ A) @ (((append @ A) @ Xs) @ (((cons @ A) @ X) @ Ys))) @ ((size_size @ (list @ A)) @ Xs)) = X)))).
% 2.75/1.59 thf(fact_234_length__map, axiom, (! [A:$tType,B:$tType,F:(B > A),Xs:(list @ B)]: ((((size_size @ (list @ A)) @ ((((map @ B) @ A) @ F) @ Xs)) = ((size_size @ (list @ B)) @ Xs))))).
% 2.75/1.59 thf(fact_235_append__eq__append__conv, axiom, (! [A:$tType,Xs:(list @ A),Ys:(list @ A),Us2:(list @ A),Vs:(list @ A)]: ((((((size_size @ (list @ A)) @ Xs) = ((size_size @ (list @ A)) @ Ys)) | (((size_size @ (list @ A)) @ Us2) = ((size_size @ (list @ A)) @ Vs))) => (((((append @ A) @ Xs) @ Us2) = (((append @ A) @ Ys) @ Vs)) = ((Xs = Ys) & (Us2 = Vs))))))).
% 2.75/1.59 thf(fact_236_length__rev, axiom, (! [A:$tType,Xs:(list @ A)]: ((((size_size @ (list @ A)) @ ((rev @ A) @ Xs)) = ((size_size @ (list @ A)) @ Xs))))).
% 2.75/1.59 thf(fact_237_ord_Olexordp__eq__simps_I4_J, axiom, (! [A:$tType,Less:(A > (A > $o)),X:A,Xs:(list @ A),Y:A,Ys:(list @ A)]: ((((((lexordp_eq @ A) @ Less) @ (((cons @ A) @ X) @ Xs)) @ (((cons @ A) @ Y) @ Ys)) = (((Less @ X) @ Y) | ((~ (((Less @ Y) @ X))) & ((((lexordp_eq @ A) @ Less) @ Xs) @ Ys))))))).
% 2.75/1.59 thf(fact_238_ord_Olexordp__eq__simps_I2_J, axiom, (! [A:$tType,Less:(A > (A > $o)),Xs:(list @ A)]: ((((((lexordp_eq @ A) @ Less) @ Xs) @ (nil @ A)) = (Xs = (nil @ A)))))).
% 2.75/1.59 thf(fact_239_ord_Olexordp__eq__simps_I1_J, axiom, (! [A:$tType,Less:(A > (A > $o)),Ys:(list @ A)]: (((((lexordp_eq @ A) @ Less) @ (nil @ A)) @ Ys)))).
% 2.75/1.59 thf(fact_240_length__rotate1, axiom, (! [A:$tType,Xs:(list @ A)]: ((((size_size @ (list @ A)) @ ((rotate1 @ A) @ Xs)) = ((size_size @ (list @ A)) @ Xs))))).
% 2.75/1.59 thf(fact_241_map__eq__imp__length__eq, axiom, (! [A:$tType,B:$tType,C:$tType,F:(B > A),Xs:(list @ B),G:(C > A),Ys:(list @ C)]: (((((((map @ B) @ A) @ F) @ Xs) = ((((map @ C) @ A) @ G) @ Ys)) => (((size_size @ (list @ B)) @ Xs) = ((size_size @ (list @ C)) @ Ys)))))).
% 2.75/1.59 thf(fact_242_ord_Olexordp__eq_Oinducts, axiom, (! [A:$tType,Less:(A > (A > $o)),X12:(list @ A),X24:(list @ A),P:((list @ A) > ((list @ A) > $o))]: ((((((lexordp_eq @ A) @ Less) @ X12) @ X24) => ((! [X1:(list @ A)]: (((P @ (nil @ A)) @ X1))) => ((! [X3:A,Y3:A,Xs2:(list @ A),Ys2:(list @ A)]: ((((Less @ X3) @ Y3) => ((P @ (((cons @ A) @ X3) @ Xs2)) @ (((cons @ A) @ Y3) @ Ys2))))) => ((! [X3:A,Y3:A,Xs2:(list @ A),Ys2:(list @ A)]: (((~ (((Less @ X3) @ Y3))) => ((~ (((Less @ Y3) @ X3))) => (((((lexordp_eq @ A) @ Less) @ Xs2) @ Ys2) => (((P @ Xs2) @ Ys2) => ((P @ (((cons @ A) @ X3) @ Xs2)) @ (((cons @ A) @ Y3) @ Ys2)))))))) => ((P @ X12) @ X24)))))))).
% 2.75/1.59 thf(fact_243_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)))) | ((? [X2:A,Y2:A,Xs3:(list @ A),Ys3:(list @ A)]: (((A12 = (((cons @ A) @ X2) @ Xs3)) & ((A23 = (((cons @ A) @ Y2) @ Ys3)) & ((Less2 @ X2) @ Y2))))) | (? [X2:A,Y2:A,Xs3:(list @ A),Ys3:(list @ A)]: (((A12 = (((cons @ A) @ X2) @ Xs3)) & ((A23 = (((cons @ A) @ Y2) @ Ys3)) & ((~ (((Less2 @ X2) @ Y2))) & ((~ (((Less2 @ Y2) @ X2))) & ((((lexordp_eq @ A) @ Less2) @ Xs3) @ Ys3))))))))))))))).
% 2.75/1.59 thf(fact_244_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)))) => ((! [X3:A]: (((? [Xs2:(list @ A)]: ((A1 = (((cons @ A) @ X3) @ Xs2)))) => (! [Y3:A]: (((? [Ys2:(list @ A)]: ((A22 = (((cons @ A) @ Y3) @ Ys2)))) => (~ (((Less @ X3) @ Y3))))))))) => (~ ((! [X3:A,Y3:A,Xs2:(list @ A)]: (((A1 = (((cons @ A) @ X3) @ Xs2)) => (! [Ys2:(list @ A)]: (((A22 = (((cons @ A) @ Y3) @ Ys2)) => ((~ (((Less @ X3) @ Y3))) => ((~ (((Less @ Y3) @ X3))) => (~ (((((lexordp_eq @ A) @ Less) @ Xs2) @ Ys2))))))))))))))))))).
% 2.75/1.59 thf(fact_245_ord_Olexordp__eq_OCons, axiom, (! [A:$tType,Less:(A > (A > $o)),X:A,Y:A,Xs:(list @ A),Ys:(list @ A)]: ((((Less @ X) @ Y) => ((((lexordp_eq @ A) @ Less) @ (((cons @ A) @ X) @ Xs)) @ (((cons @ A) @ Y) @ Ys)))))).
% 2.75/1.59 thf(fact_246_ord_Olexordp__eq_OCons__eq, axiom, (! [A:$tType,Less:(A > (A > $o)),X:A,Y:A,Xs:(list @ A),Ys:(list @ A)]: (((~ (((Less @ X) @ Y))) => ((~ (((Less @ Y) @ X))) => (((((lexordp_eq @ A) @ Less) @ Xs) @ Ys) => ((((lexordp_eq @ A) @ Less) @ (((cons @ A) @ X) @ Xs)) @ (((cons @ A) @ Y) @ Ys)))))))).
% 2.75/1.59 thf(fact_247_ord_Olexordp__eq_ONil, axiom, (! [A:$tType,Less:(A > (A > $o)),Ys:(list @ A)]: (((((lexordp_eq @ A) @ Less) @ (nil @ A)) @ Ys)))).
% 2.75/1.59 thf(fact_248_list__induct4, axiom, (! [C:$tType,A:$tType,B:$tType,D:$tType,Xs:(list @ A),Ys:(list @ B),Zs:(list @ C),Ws:(list @ D),P:((list @ A) > ((list @ B) > ((list @ C) > ((list @ D) > $o))))]: (((((size_size @ (list @ A)) @ Xs) = ((size_size @ (list @ B)) @ Ys)) => ((((size_size @ (list @ B)) @ Ys) = ((size_size @ (list @ C)) @ Zs)) => ((((size_size @ (list @ C)) @ Zs) = ((size_size @ (list @ D)) @ Ws)) => (((((P @ (nil @ A)) @ (nil @ B)) @ (nil @ C)) @ (nil @ D)) => ((! [X3:A,Xs2:(list @ A),Y3:B,Ys2:(list @ B),Z3:C,Zs5:(list @ C),W:D,Ws2:(list @ D)]: (((((size_size @ (list @ A)) @ Xs2) = ((size_size @ (list @ B)) @ Ys2)) => ((((size_size @ (list @ B)) @ Ys2) = ((size_size @ (list @ C)) @ Zs5)) => ((((size_size @ (list @ C)) @ Zs5) = ((size_size @ (list @ D)) @ Ws2)) => (((((P @ Xs2) @ Ys2) @ Zs5) @ Ws2) => ((((P @ (((cons @ A) @ X3) @ Xs2)) @ (((cons @ B) @ Y3) @ Ys2)) @ (((cons @ C) @ Z3) @ Zs5)) @ (((cons @ D) @ W) @ Ws2)))))))) => ((((P @ Xs) @ Ys) @ Zs) @ Ws))))))))).
% 2.75/1.59 thf(fact_249_list__induct3, axiom, (! [B:$tType,A:$tType,C:$tType,Xs:(list @ A),Ys:(list @ B),Zs:(list @ C),P:((list @ A) > ((list @ B) > ((list @ C) > $o)))]: (((((size_size @ (list @ A)) @ Xs) = ((size_size @ (list @ B)) @ Ys)) => ((((size_size @ (list @ B)) @ Ys) = ((size_size @ (list @ C)) @ Zs)) => ((((P @ (nil @ A)) @ (nil @ B)) @ (nil @ C)) => ((! [X3:A,Xs2:(list @ A),Y3:B,Ys2:(list @ B),Z3:C,Zs5:(list @ C)]: (((((size_size @ (list @ A)) @ Xs2) = ((size_size @ (list @ B)) @ Ys2)) => ((((size_size @ (list @ B)) @ Ys2) = ((size_size @ (list @ C)) @ Zs5)) => ((((P @ Xs2) @ Ys2) @ Zs5) => (((P @ (((cons @ A) @ X3) @ Xs2)) @ (((cons @ B) @ Y3) @ Ys2)) @ (((cons @ C) @ Z3) @ Zs5))))))) => (((P @ Xs) @ Ys) @ Zs)))))))).
% 2.75/1.59 thf(fact_250_list__induct2, axiom, (! [A:$tType,B:$tType,Xs:(list @ A),Ys:(list @ B),P:((list @ A) > ((list @ B) > $o))]: (((((size_size @ (list @ A)) @ Xs) = ((size_size @ (list @ B)) @ Ys)) => (((P @ (nil @ A)) @ (nil @ B)) => ((! [X3:A,Xs2:(list @ A),Y3:B,Ys2:(list @ B)]: (((((size_size @ (list @ A)) @ Xs2) = ((size_size @ (list @ B)) @ Ys2)) => (((P @ Xs2) @ Ys2) => ((P @ (((cons @ A) @ X3) @ Xs2)) @ (((cons @ B) @ Y3) @ Ys2)))))) => ((P @ Xs) @ Ys))))))).
% 2.75/1.59 thf(fact_251_ord_Olexordp__eq__refl, axiom, (! [A:$tType,Less:(A > (A > $o)),Xs:(list @ A)]: (((((lexordp_eq @ A) @ Less) @ Xs) @ Xs)))).
% 2.75/1.59 thf(fact_252_neq__if__length__neq, axiom, (! [A:$tType,Xs:(list @ A),Ys:(list @ A)]: (((((size_size @ (list @ A)) @ Xs) != ((size_size @ (list @ A)) @ Ys)) => (Xs != Ys))))).
% 2.75/1.59 thf(help_If_3_1_T, axiom, (! [P:$o]: (((P = $true) | (P = $false))))).
% 2.75/1.59 thf(help_If_2_1_T, axiom, (! [A:$tType,X:A,Y:A]: ((((((if @ A) @ $false) @ X) @ Y) = Y)))).
% 2.75/1.59 thf(help_If_1_1_T, axiom, (! [A:$tType,X:A,Y:A]: ((((((if @ A) @ $true) @ X) @ Y) = X)))).
% 2.75/1.59 thf(conj_0, conjecture, ((((coindu268472904append @ a) @ ((coindu288502823_llist @ a) @ f)) @ xs) = ((coindu288502823_llist @ a) @ f))).
% 2.75/1.59 % SZS output end ListOfTHF for /export/starexec/sandbox2/tmp/tmp.HOKmHkkqrB/DTF2DTF17806.p
% 2.75/1.59 ------------------------
% 3.04/1.64 ---- Cleaned THF ---
% 3.04/1.64 thf(ty_t_Coinductive__List__Mirabelle__kmikjhschf_Ollist,type,
% 3.04/1.64 coindu1593790203_llist: $tType > $tType ).
% 3.04/1.64
% 3.04/1.64 thf(ty_t_List_Olist,type,
% 3.04/1.64 list: $tType > $tType ).
% 3.04/1.64
% 3.04/1.64 thf(ty_t_Nat_Onat,type,
% 3.04/1.64 nat: $tType ).
% 3.04/1.64
% 3.04/1.64 thf(ty_t_itself,type,
% 3.04/1.64 itself: $tType > $tType ).
% 3.04/1.64
% 3.04/1.64 thf(ty_tf_a,type,
% 3.04/1.64 a: $tType ).
% 3.04/1.64
% 3.04/1.64 thf(sy_c_Coinductive__List__Mirabelle__kmikjhschf_Ofinite__lprefix,type,
% 3.04/1.64 coindu1571841457prefix:
% 3.04/1.64 !>[A: $tType] : ( ( coindu1593790203_llist @ A ) > ( coindu1593790203_llist @ A ) > $o ) ).
% 3.04/1.64
% 3.04/1.64 thf(sy_c_Coinductive__List__Mirabelle__kmikjhschf_Oinf__llist,type,
% 3.04/1.64 coindu288502823_llist:
% 3.04/1.64 !>[A: $tType] : ( ( nat > A ) > ( coindu1593790203_llist @ A ) ) ).
% 3.04/1.64
% 3.04/1.64 thf(sy_c_Coinductive__List__Mirabelle__kmikjhschf_Oiterates,type,
% 3.04/1.64 coindu1529956631erates:
% 3.04/1.64 !>[A: $tType] : ( ( A > A ) > A > ( coindu1593790203_llist @ A ) ) ).
% 3.04/1.64
% 3.04/1.64 thf(sy_c_Coinductive__List__Mirabelle__kmikjhschf_Olappend,type,
% 3.04/1.64 coindu268472904append:
% 3.04/1.64 !>[A: $tType] : ( ( coindu1593790203_llist @ A ) > ( coindu1593790203_llist @ A ) > ( coindu1593790203_llist @ A ) ) ).
% 3.04/1.64
% 3.04/1.64 thf(sy_c_Coinductive__List__Mirabelle__kmikjhschf_Olfinite,type,
% 3.04/1.64 coindu1213758845finite:
% 3.04/1.64 !>[A: $tType] : ( ( coindu1593790203_llist @ A ) > $o ) ).
% 3.04/1.64
% 3.04/1.64 thf(sy_c_Coinductive__List__Mirabelle__kmikjhschf_Olist__of,type,
% 3.04/1.64 coindu1736001939ist_of:
% 3.04/1.64 !>[A: $tType] : ( ( coindu1593790203_llist @ A ) > ( list @ A ) ) ).
% 3.04/1.64
% 3.04/1.64 thf(sy_c_Coinductive__List__Mirabelle__kmikjhschf_Olist__of__aux,type,
% 3.04/1.64 coindu1542816657of_aux:
% 3.04/1.64 !>[A: $tType] : ( ( list @ A ) > ( coindu1593790203_llist @ A ) > ( list @ A ) ) ).
% 3.04/1.64
% 3.04/1.64 thf(sy_c_Coinductive__List__Mirabelle__kmikjhschf_Ollast,type,
% 3.04/1.64 coindu2000965700_llast:
% 3.04/1.64 !>[A: $tType] : ( ( coindu1593790203_llist @ A ) > A ) ).
% 3.04/1.64
% 3.04/1.64 thf(sy_c_Coinductive__List__Mirabelle__kmikjhschf_Ollist_OLCons,type,
% 3.04/1.64 coindu1121789889_LCons:
% 3.04/1.64 !>[A: $tType] : ( A > ( coindu1593790203_llist @ A ) > ( coindu1593790203_llist @ A ) ) ).
% 3.04/1.64
% 3.04/1.64 thf(sy_c_Coinductive__List__Mirabelle__kmikjhschf_Ollist_OLNil,type,
% 3.04/1.64 coindu1598213697e_LNil:
% 3.04/1.64 !>[A: $tType] : ( coindu1593790203_llist @ A ) ).
% 3.04/1.64
% 3.04/1.64 thf(sy_c_Coinductive__List__Mirabelle__kmikjhschf_Ollist_Olnull,type,
% 3.04/1.64 coindu335574135_lnull:
% 3.04/1.64 !>[A: $tType] : ( ( coindu1593790203_llist @ A ) > $o ) ).
% 3.04/1.64
% 3.04/1.64 thf(sy_c_Coinductive__List__Mirabelle__kmikjhschf_Ollist__of,type,
% 3.04/1.64 coindu1079202755ist_of:
% 3.04/1.64 !>[A: $tType] : ( ( list @ A ) > ( coindu1593790203_llist @ A ) ) ).
% 3.04/1.64
% 3.04/1.64 thf(sy_c_Coinductive__List__Mirabelle__kmikjhschf_Olmember,type,
% 3.04/1.64 coindu567634248member:
% 3.04/1.64 !>[A: $tType] : ( A > ( coindu1593790203_llist @ A ) > $o ) ).
% 3.04/1.64
% 3.04/1.64 thf(sy_c_Coinductive__List__Mirabelle__kmikjhschf_Olnth,type,
% 3.04/1.64 coindu749330388e_lnth:
% 3.04/1.64 !>[A: $tType] : ( ( coindu1593790203_llist @ A ) > nat > A ) ).
% 3.04/1.64
% 3.04/1.64 thf(sy_c_Coinductive__List__Mirabelle__kmikjhschf_Olprefix,type,
% 3.04/1.64 coindu1696667936prefix:
% 3.04/1.64 !>[A: $tType] : ( ( coindu1593790203_llist @ A ) > ( coindu1593790203_llist @ A ) > $o ) ).
% 3.04/1.64
% 3.04/1.64 thf(sy_c_Coinductive__List__Mirabelle__kmikjhschf_Olstrict__prefix,type,
% 3.04/1.64 coindu574146665prefix:
% 3.04/1.64 !>[A: $tType] : ( ( coindu1593790203_llist @ A ) > ( coindu1593790203_llist @ A ) > $o ) ).
% 3.04/1.64
% 3.04/1.64 thf(sy_c_HOL_Oundefined,type,
% 3.04/1.64 undefined:
% 3.04/1.64 !>[A: $tType] : A ).
% 3.04/1.64
% 3.04/1.64 thf(sy_c_If,type,
% 3.04/1.64 if:
% 3.04/1.64 !>[A: $tType] : ( $o > A > A > A ) ).
% 3.04/1.64
% 3.04/1.64 thf(sy_c_List_Oappend,type,
% 3.04/1.64 append:
% 3.04/1.64 !>[A: $tType] : ( ( list @ A ) > ( list @ A ) > ( list @ A ) ) ).
% 3.04/1.64
% 3.04/1.64 thf(sy_c_List_Obind,type,
% 3.04/1.64 bind:
% 3.04/1.64 !>[A: $tType,B: $tType] : ( ( list @ A ) > ( A > ( list @ B ) ) > ( list @ B ) ) ).
% 3.04/1.64
% 3.04/1.64 thf(sy_c_List_Obutlast,type,
% 3.04/1.64 butlast:
% 3.04/1.64 !>[A: $tType] : ( ( list @ A ) > ( list @ A ) ) ).
% 3.04/1.64
% 3.04/1.64 thf(sy_c_List_Oinsert,type,
% 3.04/1.64 insert:
% 3.04/1.64 !>[A: $tType] : ( A > ( list @ A ) > ( list @ A ) ) ).
% 3.04/1.64
% 3.04/1.64 thf(sy_c_List_Olast,type,
% 3.04/1.64 last:
% 3.04/1.64 !>[A: $tType] : ( ( list @ A ) > A ) ).
% 3.04/1.64
% 3.04/1.64 thf(sy_c_List_Olist_OCons,type,
% 3.04/1.64 cons:
% 3.04/1.64 !>[A: $tType] : ( A > ( list @ A ) > ( list @ A ) ) ).
% 3.04/1.64
% 3.04/1.64 thf(sy_c_List_Olist_ONil,type,
% 3.04/1.64 nil:
% 3.04/1.64 !>[A: $tType] : ( list @ A ) ).
% 3.04/1.64
% 3.04/1.64 thf(sy_c_List_Olist_Omap,type,
% 3.04/1.64 map:
% 3.04/1.64 !>[A: $tType,Aa: $tType] : ( ( A > Aa ) > ( list @ A ) > ( list @ Aa ) ) ).
% 3.04/1.64
% 3.04/1.64 thf(sy_c_List_Olist__ex1,type,
% 3.04/1.64 list_ex1:
% 3.04/1.64 !>[A: $tType] : ( ( A > $o ) > ( list @ A ) > $o ) ).
% 3.04/1.64
% 3.04/1.64 thf(sy_c_List_Omap__tailrec,type,
% 3.04/1.64 map_tailrec:
% 3.04/1.64 !>[A: $tType,B: $tType] : ( ( A > B ) > ( list @ A ) > ( list @ B ) ) ).
% 3.04/1.64
% 3.04/1.64 thf(sy_c_List_Omap__tailrec__rev,type,
% 3.04/1.64 map_tailrec_rev:
% 3.04/1.64 !>[A: $tType,B: $tType] : ( ( A > B ) > ( list @ A ) > ( list @ B ) > ( list @ B ) ) ).
% 3.04/1.64
% 3.04/1.64 thf(sy_c_List_Omaps,type,
% 3.04/1.64 maps:
% 3.04/1.64 !>[A: $tType,B: $tType] : ( ( A > ( list @ B ) ) > ( list @ A ) > ( list @ B ) ) ).
% 3.04/1.64
% 3.04/1.64 thf(sy_c_List_Onth,type,
% 3.04/1.64 nth:
% 3.04/1.64 !>[A: $tType] : ( ( list @ A ) > nat > A ) ).
% 3.04/1.64
% 3.04/1.64 thf(sy_c_List_Oord_Olexordp__eq,type,
% 3.04/1.64 lexordp_eq:
% 3.04/1.64 !>[A: $tType] : ( ( A > A > $o ) > ( list @ A ) > ( list @ A ) > $o ) ).
% 3.04/1.64
% 3.04/1.64 thf(sy_c_List_Oproduct__lists,type,
% 3.04/1.64 product_lists:
% 3.04/1.64 !>[A: $tType] : ( ( list @ ( list @ A ) ) > ( list @ ( list @ A ) ) ) ).
% 3.04/1.64
% 3.04/1.64 thf(sy_c_List_Orev,type,
% 3.04/1.64 rev:
% 3.04/1.64 !>[A: $tType] : ( ( list @ A ) > ( list @ A ) ) ).
% 3.04/1.64
% 3.04/1.64 thf(sy_c_List_Orotate1,type,
% 3.04/1.64 rotate1:
% 3.04/1.64 !>[A: $tType] : ( ( list @ A ) > ( list @ A ) ) ).
% 3.04/1.64
% 3.04/1.64 thf(sy_c_List_Osublists,type,
% 3.04/1.64 sublists:
% 3.04/1.64 !>[A: $tType] : ( ( list @ A ) > ( list @ ( list @ A ) ) ) ).
% 3.04/1.64
% 3.04/1.64 thf(sy_c_Nat_Osize__class_Osize,type,
% 3.04/1.64 size_size:
% 3.04/1.64 !>[A: $tType] : ( A > nat ) ).
% 3.04/1.64
% 3.04/1.64 thf(sy_c_Pure_Otype,type,
% 3.04/1.64 type:
% 3.04/1.64 !>[A: $tType] : ( itself @ A ) ).
% 3.04/1.64
% 3.04/1.64 thf(sy_c_Sublist_Oprefixes,type,
% 3.04/1.64 prefixes:
% 3.04/1.64 !>[A: $tType] : ( ( list @ A ) > ( list @ ( list @ A ) ) ) ).
% 3.04/1.64
% 3.04/1.64 thf(sy_c_Sublist_Oprefixes__rel,type,
% 3.04/1.64 prefixes_rel:
% 3.04/1.64 !>[A: $tType] : ( ( list @ A ) > ( list @ A ) > $o ) ).
% 3.04/1.64
% 3.04/1.64 thf(sy_c_Sublist_Ostrict__suffix,type,
% 3.04/1.64 strict_suffix:
% 3.04/1.64 !>[A: $tType] : ( ( list @ A ) > ( list @ A ) > $o ) ).
% 3.04/1.64
% 3.04/1.64 thf(sy_c_Wellfounded_Oaccp,type,
% 3.04/1.64 accp:
% 3.04/1.64 !>[A: $tType] : ( ( A > A > $o ) > A > $o ) ).
% 3.04/1.64
% 3.04/1.64 thf(sy_v_f,type,
% 3.04/1.64 f: nat > a ).
% 3.04/1.64
% 3.04/1.64 thf(sy_v_xs,type,
% 3.04/1.64 xs: coindu1593790203_llist @ a ).
% 3.04/1.64
% 3.04/1.64 thf(fact_0_inf__llist__inj,axiom,
% 3.04/1.64 ! [A: $tType,F: nat > A,G: nat > A] :
% 3.04/1.64 ( ( ( coindu288502823_llist @ A @ F )
% 3.04/1.64 = ( coindu288502823_llist @ A @ G ) )
% 3.04/1.64 = ( F = G ) ) ).
% 3.04/1.64
% 3.04/1.64 thf(fact_1_lappend__assoc,axiom,
% 3.04/1.64 ! [A: $tType,Xs: coindu1593790203_llist @ A,Ys: coindu1593790203_llist @ A,Zs: coindu1593790203_llist @ A] :
% 3.04/1.64 ( ( coindu268472904append @ A @ ( coindu268472904append @ A @ Xs @ Ys ) @ Zs )
% 3.04/1.64 = ( coindu268472904append @ A @ Xs @ ( coindu268472904append @ A @ Ys @ Zs ) ) ) ).
% 3.04/1.64
% 3.04/1.64 thf(fact_2_inf__llist__lprefix,axiom,
% 3.04/1.64 ! [A: $tType,F: nat > A,Xs: coindu1593790203_llist @ A] :
% 3.04/1.64 ( ( coindu1696667936prefix @ A @ ( coindu288502823_llist @ A @ F ) @ Xs )
% 3.04/1.64 = ( Xs
% 3.04/1.64 = ( coindu288502823_llist @ A @ F ) ) ) ).
% 3.04/1.64
% 3.04/1.64 thf(fact_3_lnth__inf__llist,axiom,
% 3.04/1.64 ! [A: $tType,F: nat > A,N: nat] :
% 3.04/1.64 ( ( coindu749330388e_lnth @ A @ ( coindu288502823_llist @ A @ F ) @ N )
% 3.04/1.64 = ( F @ N ) ) ).
% 3.04/1.64
% 3.04/1.64 thf(fact_4_lappend__code_I1_J,axiom,
% 3.04/1.64 ! [A: $tType,Ys: coindu1593790203_llist @ A] :
% 3.04/1.64 ( ( coindu268472904append @ A @ ( coindu1598213697e_LNil @ A ) @ Ys )
% 3.04/1.64 = Ys ) ).
% 3.04/1.64
% 3.04/1.64 thf(fact_5_lappend__LNil2,axiom,
% 3.04/1.64 ! [A: $tType,Xs: coindu1593790203_llist @ A] :
% 3.04/1.64 ( ( coindu268472904append @ A @ Xs @ ( coindu1598213697e_LNil @ A ) )
% 3.04/1.64 = Xs ) ).
% 3.04/1.64
% 3.04/1.64 thf(fact_6_inf__llist__neq__llist__of_I1_J,axiom,
% 3.04/1.64 ! [A: $tType,Xs: list @ A,F: nat > A] :
% 3.04/1.64 ( ( coindu1079202755ist_of @ A @ Xs )
% 3.04/1.64 != ( coindu288502823_llist @ A @ F ) ) ).
% 3.04/1.64
% 3.04/1.64 thf(fact_7_llist__exhaust,axiom,
% 3.04/1.64 ! [A: $tType,Xs: coindu1593790203_llist @ A] :
% 3.04/1.64 ( ! [Ys2: list @ A] :
% 3.04/1.64 ( Xs
% 3.04/1.64 != ( coindu1079202755ist_of @ A @ Ys2 ) )
% 3.04/1.64 => ~ ! [F2: nat > A] :
% 3.04/1.64 ( Xs
% 3.04/1.64 != ( coindu288502823_llist @ A @ F2 ) ) ) ).
% 3.04/1.64
% 3.04/1.64 thf(fact_8_lappend__iterates,axiom,
% 3.04/1.64 ! [A: $tType,F: A > A,X: A,Xs: coindu1593790203_llist @ A] :
% 3.04/1.64 ( ( coindu268472904append @ A @ ( coindu1529956631erates @ A @ F @ X ) @ Xs )
% 3.04/1.64 = ( coindu1529956631erates @ A @ F @ X ) ) ).
% 3.04/1.64
% 3.04/1.64 thf(fact_9_lappend__code_I2_J,axiom,
% 3.04/1.64 ! [A: $tType,Xa: A,X: coindu1593790203_llist @ A,Ys: coindu1593790203_llist @ A] :
% 3.04/1.64 ( ( coindu268472904append @ A @ ( coindu1121789889_LCons @ A @ Xa @ X ) @ Ys )
% 3.04/1.64 = ( coindu1121789889_LCons @ A @ Xa @ ( coindu268472904append @ A @ X @ Ys ) ) ) ).
% 3.04/1.64
% 3.04/1.64 thf(fact_10_lappend_Odisc__iff_I2_J,axiom,
% 3.04/1.64 ! [A: $tType,Xs: coindu1593790203_llist @ A,Ys: coindu1593790203_llist @ A] :
% 3.04/1.64 ( ( ~ ( coindu335574135_lnull @ A @ ( coindu268472904append @ A @ Xs @ Ys ) ) )
% 3.04/1.64 = ( ~ ( coindu335574135_lnull @ A @ Xs )
% 3.04/1.64 | ~ ( coindu335574135_lnull @ A @ Ys ) ) ) ).
% 3.04/1.64
% 3.04/1.64 thf(fact_11_lnull__lappend,axiom,
% 3.04/1.64 ! [A: $tType,Xs: coindu1593790203_llist @ A,Ys: coindu1593790203_llist @ A] :
% 3.04/1.64 ( ( coindu335574135_lnull @ A @ ( coindu268472904append @ A @ Xs @ Ys ) )
% 3.04/1.64 = ( ( coindu335574135_lnull @ A @ Xs )
% 3.04/1.64 & ( coindu335574135_lnull @ A @ Ys ) ) ) ).
% 3.04/1.64
% 3.04/1.64 thf(fact_12_inf__llist__neq__LNil,axiom,
% 3.04/1.64 ! [A: $tType,F: nat > A] :
% 3.04/1.64 ( ( coindu288502823_llist @ A @ F )
% 3.04/1.64 != ( coindu1598213697e_LNil @ A ) ) ).
% 3.04/1.64
% 3.04/1.64 thf(fact_13_lfinite__lappend,axiom,
% 3.04/1.64 ! [A: $tType,Xs: coindu1593790203_llist @ A,Ys: coindu1593790203_llist @ A] :
% 3.04/1.64 ( ( coindu1213758845finite @ A @ ( coindu268472904append @ A @ Xs @ Ys ) )
% 3.04/1.64 = ( ( coindu1213758845finite @ A @ Xs )
% 3.04/1.64 & ( coindu1213758845finite @ A @ Ys ) ) ) ).
% 3.04/1.64
% 3.04/1.64 thf(fact_14_lprefix__refl,axiom,
% 3.04/1.64 ! [A: $tType,Xs: coindu1593790203_llist @ A] : ( coindu1696667936prefix @ A @ Xs @ Xs ) ).
% 3.04/1.64
% 3.04/1.64 thf(fact_15_llist_Oleq__refl,axiom,
% 3.04/1.64 ! [A: $tType,X: coindu1593790203_llist @ A] : ( coindu1696667936prefix @ A @ X @ X ) ).
% 3.04/1.64
% 3.04/1.64 thf(fact_16_llist_Oinject,axiom,
% 3.04/1.64 ! [A: $tType,X21: A,X22: coindu1593790203_llist @ A,Y21: A,Y22: coindu1593790203_llist @ A] :
% 3.04/1.64 ( ( ( coindu1121789889_LCons @ A @ X21 @ X22 )
% 3.04/1.64 = ( coindu1121789889_LCons @ A @ Y21 @ Y22 ) )
% 3.04/1.64 = ( ( X21 = Y21 )
% 3.04/1.64 & ( X22 = Y22 ) ) ) ).
% 3.04/1.64
% 3.04/1.64 thf(fact_17_llist__of__inject,axiom,
% 3.04/1.64 ! [A: $tType,Xs: list @ A,Ys: list @ A] :
% 3.04/1.64 ( ( ( coindu1079202755ist_of @ A @ Xs )
% 3.04/1.64 = ( coindu1079202755ist_of @ A @ Ys ) )
% 3.04/1.64 = ( Xs = Ys ) ) ).
% 3.04/1.64
% 3.04/1.64 thf(fact_18_LCons__lprefix__LCons,axiom,
% 3.04/1.64 ! [A: $tType,X: A,Xs: coindu1593790203_llist @ A,Y: A,Ys: coindu1593790203_llist @ A] :
% 3.04/1.64 ( ( coindu1696667936prefix @ A @ ( coindu1121789889_LCons @ A @ X @ Xs ) @ ( coindu1121789889_LCons @ A @ Y @ Ys ) )
% 3.04/1.64 = ( ( X = Y )
% 3.04/1.64 & ( coindu1696667936prefix @ A @ Xs @ Ys ) ) ) ).
% 3.04/1.64
% 3.04/1.64 thf(fact_19_lprefix__code_I1_J,axiom,
% 3.04/1.64 ! [A: $tType,Ys: coindu1593790203_llist @ A] : ( coindu1696667936prefix @ A @ ( coindu1598213697e_LNil @ A ) @ Ys ) ).
% 3.04/1.64
% 3.04/1.64 thf(fact_20_lfinite__code_I2_J,axiom,
% 3.04/1.64 ! [B: $tType,X: B,Xs: coindu1593790203_llist @ B] :
% 3.04/1.64 ( ( coindu1213758845finite @ B @ ( coindu1121789889_LCons @ B @ X @ Xs ) )
% 3.04/1.64 = ( coindu1213758845finite @ B @ Xs ) ) ).
% 3.04/1.64
% 3.04/1.64 thf(fact_21_lfinite__LCons,axiom,
% 3.04/1.64 ! [A: $tType,X: A,Xs: coindu1593790203_llist @ A] :
% 3.04/1.64 ( ( coindu1213758845finite @ A @ ( coindu1121789889_LCons @ A @ X @ Xs ) )
% 3.04/1.64 = ( coindu1213758845finite @ A @ Xs ) ) ).
% 3.04/1.64
% 3.04/1.64 thf(fact_22_lfinite__code_I1_J,axiom,
% 3.04/1.64 ! [A: $tType] : ( coindu1213758845finite @ A @ ( coindu1598213697e_LNil @ A ) ) ).
% 3.04/1.64
% 3.04/1.64 thf(fact_23_lprefix__LNil,axiom,
% 3.04/1.64 ! [A: $tType,Xs: coindu1593790203_llist @ A] :
% 3.04/1.64 ( ( coindu1696667936prefix @ A @ Xs @ ( coindu1598213697e_LNil @ A ) )
% 3.04/1.64 = ( coindu335574135_lnull @ A @ Xs ) ) ).
% 3.04/1.64
% 3.04/1.64 thf(fact_24_lprefix__lappend__same,axiom,
% 3.04/1.64 ! [A: $tType,Xs: coindu1593790203_llist @ A,Ys: coindu1593790203_llist @ A,Zs: coindu1593790203_llist @ A] :
% 3.04/1.64 ( ( coindu1696667936prefix @ A @ ( coindu268472904append @ A @ Xs @ Ys ) @ ( coindu268472904append @ A @ Xs @ Zs ) )
% 3.04/1.64 = ( ( coindu1213758845finite @ A @ Xs )
% 3.04/1.64 => ( coindu1696667936prefix @ A @ Ys @ Zs ) ) ) ).
% 3.04/1.64
% 3.04/1.64 thf(fact_25_inf__llist__lnth,axiom,
% 3.04/1.64 ! [A: $tType,Xs: coindu1593790203_llist @ A] :
% 3.04/1.64 ( ~ ( coindu1213758845finite @ A @ Xs )
% 3.04/1.64 => ( ( coindu288502823_llist @ A @ ( coindu749330388e_lnth @ A @ Xs ) )
% 3.04/1.64 = Xs ) ) ).
% 3.04/1.64
% 3.04/1.64 thf(fact_26_llist_Odisc_I2_J,axiom,
% 3.04/1.64 ! [A: $tType,X21: A,X22: coindu1593790203_llist @ A] :
% 3.04/1.64 ~ ( coindu335574135_lnull @ A @ ( coindu1121789889_LCons @ A @ X21 @ X22 ) ) ).
% 3.04/1.64
% 3.04/1.64 thf(fact_27_llist_Odisc_I1_J,axiom,
% 3.04/1.64 ! [A: $tType] : ( coindu335574135_lnull @ A @ ( coindu1598213697e_LNil @ A ) ) ).
% 3.04/1.64
% 3.04/1.64 thf(fact_28_llist_OdiscI_I2_J,axiom,
% 3.04/1.64 ! [A: $tType,Llist: coindu1593790203_llist @ A,X21: A,X22: coindu1593790203_llist @ A] :
% 3.04/1.64 ( ( Llist
% 3.04/1.64 = ( coindu1121789889_LCons @ A @ X21 @ X22 ) )
% 3.04/1.64 => ~ ( coindu335574135_lnull @ A @ Llist ) ) ).
% 3.04/1.64
% 3.04/1.64 thf(fact_29_llist_OdiscI_I1_J,axiom,
% 3.04/1.64 ! [A: $tType,Llist: coindu1593790203_llist @ A] :
% 3.04/1.64 ( ( Llist
% 3.04/1.64 = ( coindu1598213697e_LNil @ A ) )
% 3.04/1.64 => ( coindu335574135_lnull @ A @ Llist ) ) ).
% 3.04/1.64
% 3.04/1.64 thf(fact_30_lprefix__code_I2_J,axiom,
% 3.04/1.64 ! [A: $tType,X: A,Xs: coindu1593790203_llist @ A] :
% 3.04/1.64 ~ ( coindu1696667936prefix @ A @ ( coindu1121789889_LCons @ A @ X @ Xs ) @ ( coindu1598213697e_LNil @ A ) ) ).
% 3.04/1.64
% 3.04/1.64 thf(fact_31_llist_Ocollapse_I1_J,axiom,
% 3.04/1.64 ! [A: $tType,Llist: coindu1593790203_llist @ A] :
% 3.04/1.64 ( ( coindu335574135_lnull @ A @ Llist )
% 3.04/1.64 => ( Llist
% 3.04/1.64 = ( coindu1598213697e_LNil @ A ) ) ) ).
% 3.04/1.64
% 3.04/1.64 thf(fact_32_llist_Odistinct_I1_J,axiom,
% 3.04/1.64 ! [A: $tType,X21: A,X22: coindu1593790203_llist @ A] :
% 3.04/1.64 ( ( coindu1598213697e_LNil @ A )
% 3.04/1.64 != ( coindu1121789889_LCons @ A @ X21 @ X22 ) ) ).
% 3.04/1.64
% 3.04/1.64 thf(fact_33_lzip_Oexhaust,axiom,
% 3.04/1.64 ! [A: $tType,B: $tType,Xs: coindu1593790203_llist @ A,Ys: coindu1593790203_llist @ B] :
% 3.04/1.64 ( ~ ( ( coindu335574135_lnull @ A @ Xs )
% 3.04/1.64 | ( coindu335574135_lnull @ B @ Ys ) )
% 3.04/1.64 => ~ ( ~ ( coindu335574135_lnull @ A @ Xs )
% 3.04/1.64 => ( coindu335574135_lnull @ B @ Ys ) ) ) ).
% 3.04/1.64
% 3.04/1.64 thf(fact_34_iterates_Ocode,axiom,
% 3.04/1.64 ! [A: $tType] :
% 3.04/1.64 ( ( coindu1529956631erates @ A )
% 3.04/1.64 = ( ^ [F3: A > A,X2: A] : ( coindu1121789889_LCons @ A @ X2 @ ( coindu1529956631erates @ A @ F3 @ ( F3 @ X2 ) ) ) ) ) ).
% 3.04/1.64
% 3.04/1.64 thf(fact_35_lfinite_Ocases,axiom,
% 3.04/1.64 ! [A: $tType,A2: coindu1593790203_llist @ A] :
% 3.04/1.64 ( ( coindu1213758845finite @ A @ A2 )
% 3.04/1.64 => ( ( A2
% 3.04/1.64 != ( coindu1598213697e_LNil @ A ) )
% 3.04/1.64 => ~ ! [Xs2: coindu1593790203_llist @ A] :
% 3.04/1.64 ( ? [X3: A] :
% 3.04/1.64 ( A2
% 3.04/1.64 = ( coindu1121789889_LCons @ A @ X3 @ Xs2 ) )
% 3.04/1.64 => ~ ( coindu1213758845finite @ A @ Xs2 ) ) ) ) ).
% 3.04/1.64
% 3.04/1.64 thf(fact_36_lfinite_Osimps,axiom,
% 3.04/1.64 ! [A: $tType] :
% 3.04/1.64 ( ( coindu1213758845finite @ A )
% 3.04/1.64 = ( ^ [A3: coindu1593790203_llist @ A] :
% 3.04/1.64 ( ( A3
% 3.04/1.64 = ( coindu1598213697e_LNil @ A ) )
% 3.04/1.64 | ? [Xs3: coindu1593790203_llist @ A,X2: A] :
% 3.04/1.64 ( ( A3
% 3.04/1.64 = ( coindu1121789889_LCons @ A @ X2 @ Xs3 ) )
% 3.04/1.64 & ( coindu1213758845finite @ A @ Xs3 ) ) ) ) ) ).
% 3.04/1.64
% 3.04/1.64 thf(fact_37_llist_Oexhaust,axiom,
% 3.04/1.64 ! [A: $tType,Y: coindu1593790203_llist @ A] :
% 3.04/1.64 ( ( Y
% 3.04/1.64 != ( coindu1598213697e_LNil @ A ) )
% 3.04/1.64 => ~ ! [X212: A,X222: coindu1593790203_llist @ A] :
% 3.04/1.64 ( Y
% 3.04/1.64 != ( coindu1121789889_LCons @ A @ X212 @ X222 ) ) ) ).
% 3.04/1.64
% 3.04/1.64 thf(fact_38_lnull__lprefix,axiom,
% 3.04/1.64 ! [A: $tType,Xs: coindu1593790203_llist @ A,Ys: coindu1593790203_llist @ A] :
% 3.04/1.64 ( ( coindu335574135_lnull @ A @ Xs )
% 3.04/1.64 => ( coindu1696667936prefix @ A @ Xs @ Ys ) ) ).
% 3.04/1.64
% 3.04/1.64 thf(fact_39_lprefix_Ocases,axiom,
% 3.04/1.64 ! [A: $tType,A1: coindu1593790203_llist @ A,A22: coindu1593790203_llist @ A] :
% 3.04/1.64 ( ( coindu1696667936prefix @ A @ A1 @ A22 )
% 3.04/1.64 => ( ( ( A1
% 3.04/1.64 = ( coindu1598213697e_LNil @ A ) )
% 3.04/1.64 => ! [Xs2: coindu1593790203_llist @ A] : ( A22 != Xs2 ) )
% 3.04/1.64 => ~ ! [Xs2: coindu1593790203_llist @ A,Ys2: coindu1593790203_llist @ A,X3: A] :
% 3.04/1.64 ( ( A1
% 3.04/1.64 = ( coindu1121789889_LCons @ A @ X3 @ Xs2 ) )
% 3.04/1.64 => ( ( A22
% 3.04/1.64 = ( coindu1121789889_LCons @ A @ X3 @ Ys2 ) )
% 3.04/1.64 => ~ ( coindu1696667936prefix @ A @ Xs2 @ Ys2 ) ) ) ) ) ).
% 3.04/1.64
% 3.04/1.64 thf(fact_40_lprefix_Osimps,axiom,
% 3.04/1.64 ! [A: $tType] :
% 3.04/1.64 ( ( coindu1696667936prefix @ A )
% 3.04/1.64 = ( ^ [A12: coindu1593790203_llist @ A,A23: coindu1593790203_llist @ A] :
% 3.04/1.64 ( ? [Xs3: coindu1593790203_llist @ A] :
% 3.04/1.64 ( ( A12
% 3.04/1.64 = ( coindu1598213697e_LNil @ A ) )
% 3.04/1.64 & ( A23 = Xs3 ) )
% 3.04/1.64 | ? [Xs3: coindu1593790203_llist @ A,Ys3: coindu1593790203_llist @ A,X2: A] :
% 3.04/1.64 ( ( A12
% 3.04/1.64 = ( coindu1121789889_LCons @ A @ X2 @ Xs3 ) )
% 3.04/1.64 & ( A23
% 3.04/1.64 = ( coindu1121789889_LCons @ A @ X2 @ Ys3 ) )
% 3.04/1.64 & ( coindu1696667936prefix @ A @ Xs3 @ Ys3 ) ) ) ) ) ).
% 3.04/1.64
% 3.04/1.64 thf(fact_41_lprefix__lnull,axiom,
% 3.04/1.64 ! [A: $tType,Ys: coindu1593790203_llist @ A,Xs: coindu1593790203_llist @ A] :
% 3.04/1.64 ( ( coindu335574135_lnull @ A @ Ys )
% 3.04/1.64 => ( ( coindu1696667936prefix @ A @ Xs @ Ys )
% 3.04/1.64 = ( coindu335574135_lnull @ A @ Xs ) ) ) ).
% 3.04/1.64
% 3.04/1.64 thf(fact_42_lprefix__trans,axiom,
% 3.04/1.64 ! [A: $tType,Xs: coindu1593790203_llist @ A,Ys: coindu1593790203_llist @ A,Zs: coindu1593790203_llist @ A] :
% 3.04/1.64 ( ( coindu1696667936prefix @ A @ Xs @ Ys )
% 3.04/1.64 => ( ( coindu1696667936prefix @ A @ Ys @ Zs )
% 3.04/1.64 => ( coindu1696667936prefix @ A @ Xs @ Zs ) ) ) ).
% 3.04/1.64
% 3.04/1.64 thf(fact_43_neq__LNil__conv,axiom,
% 3.04/1.64 ! [A: $tType,Xs: coindu1593790203_llist @ A] :
% 3.04/1.64 ( ( Xs
% 3.04/1.64 != ( coindu1598213697e_LNil @ A ) )
% 3.04/1.64 = ( ? [X2: A,Xs4: coindu1593790203_llist @ A] :
% 3.04/1.64 ( Xs
% 3.04/1.64 = ( coindu1121789889_LCons @ A @ X2 @ Xs4 ) ) ) ) ).
% 3.04/1.64
% 3.04/1.64 thf(fact_44_ext,axiom,
% 3.04/1.64 ! [B: $tType,A: $tType,F: A > B,G: A > B] :
% 3.04/1.64 ( ! [X3: A] :
% 3.04/1.64 ( ( F @ X3 )
% 3.04/1.64 = ( G @ X3 ) )
% 3.04/1.64 => ( F = G ) ) ).
% 3.04/1.64
% 3.04/1.64 thf(fact_45_lprefix__lnullD,axiom,
% 3.04/1.64 ! [A: $tType,Xs: coindu1593790203_llist @ A,Ys: coindu1593790203_llist @ A] :
% 3.04/1.64 ( ( coindu1696667936prefix @ A @ Xs @ Ys )
% 3.04/1.64 => ( ( coindu335574135_lnull @ A @ Ys )
% 3.04/1.64 => ( coindu335574135_lnull @ A @ Xs ) ) ) ).
% 3.04/1.64
% 3.04/1.64 thf(fact_46_not__lnull__conv,axiom,
% 3.04/1.64 ! [A: $tType,Xs: coindu1593790203_llist @ A] :
% 3.04/1.64 ( ( ~ ( coindu335574135_lnull @ A @ Xs ) )
% 3.04/1.64 = ( ? [X2: A,Xs4: coindu1593790203_llist @ A] :
% 3.04/1.64 ( Xs
% 3.04/1.64 = ( coindu1121789889_LCons @ A @ X2 @ Xs4 ) ) ) ) ).
% 3.04/1.64
% 3.04/1.64 thf(fact_47_lappend_Oexhaust,axiom,
% 3.04/1.64 ! [A: $tType,Xs: coindu1593790203_llist @ A,Ys: coindu1593790203_llist @ A] :
% 3.04/1.64 ( ( ( coindu335574135_lnull @ A @ Xs )
% 3.04/1.64 => ~ ( coindu335574135_lnull @ A @ Ys ) )
% 3.04/1.64 => ( ~ ( coindu335574135_lnull @ A @ Xs )
% 3.04/1.64 | ~ ( coindu335574135_lnull @ A @ Ys ) ) ) ).
% 3.04/1.64
% 3.04/1.64 thf(fact_48_lfinite_Oinducts,axiom,
% 3.04/1.64 ! [A: $tType,X: coindu1593790203_llist @ A,P: ( coindu1593790203_llist @ A ) > $o] :
% 3.04/1.64 ( ( coindu1213758845finite @ A @ X )
% 3.04/1.64 => ( ( P @ ( coindu1598213697e_LNil @ A ) )
% 3.04/1.64 => ( ! [Xs2: coindu1593790203_llist @ A,X3: A] :
% 3.04/1.64 ( ( coindu1213758845finite @ A @ Xs2 )
% 3.04/1.64 => ( ( P @ Xs2 )
% 3.04/1.64 => ( P @ ( coindu1121789889_LCons @ A @ X3 @ Xs2 ) ) ) )
% 3.04/1.64 => ( P @ X ) ) ) ) ).
% 3.04/1.64
% 3.04/1.64 thf(fact_49_llist_Oleq__trans,axiom,
% 3.04/1.64 ! [A: $tType,X: coindu1593790203_llist @ A,Y: coindu1593790203_llist @ A,Z: coindu1593790203_llist @ A] :
% 3.04/1.64 ( ( coindu1696667936prefix @ A @ X @ Y )
% 3.04/1.64 => ( ( coindu1696667936prefix @ A @ Y @ Z )
% 3.04/1.64 => ( coindu1696667936prefix @ A @ X @ Z ) ) ) ).
% 3.04/1.64
% 3.04/1.64 thf(fact_50_lnull__def,axiom,
% 3.04/1.64 ! [A: $tType] :
% 3.04/1.64 ( ( coindu335574135_lnull @ A )
% 3.04/1.64 = ( ^ [Llist2: coindu1593790203_llist @ A] :
% 3.04/1.64 ( Llist2
% 3.04/1.64 = ( coindu1598213697e_LNil @ A ) ) ) ) ).
% 3.04/1.64
% 3.04/1.64 thf(fact_51_lprefix__antisym,axiom,
% 3.04/1.64 ! [A: $tType,Xs: coindu1593790203_llist @ A,Ys: coindu1593790203_llist @ A] :
% 3.04/1.64 ( ( coindu1696667936prefix @ A @ Xs @ Ys )
% 3.04/1.64 => ( ( coindu1696667936prefix @ A @ Ys @ Xs )
% 3.04/1.64 => ( Xs = Ys ) ) ) ).
% 3.04/1.64
% 3.04/1.64 thf(fact_52_lfinite__iterates,axiom,
% 3.04/1.64 ! [A: $tType,F: A > A,X: A] :
% 3.04/1.64 ~ ( coindu1213758845finite @ A @ ( coindu1529956631erates @ A @ F @ X ) ) ).
% 3.04/1.64
% 3.04/1.64 thf(fact_53_lfinite__llist__of,axiom,
% 3.04/1.64 ! [A: $tType,Xs: list @ A] : ( coindu1213758845finite @ A @ ( coindu1079202755ist_of @ A @ Xs ) ) ).
% 3.04/1.64
% 3.04/1.64 thf(fact_54_Le__LCons,axiom,
% 3.04/1.64 ! [A: $tType,Xs: coindu1593790203_llist @ A,Ys: coindu1593790203_llist @ A,X: A] :
% 3.04/1.64 ( ( coindu1696667936prefix @ A @ Xs @ Ys )
% 3.04/1.64 => ( coindu1696667936prefix @ A @ ( coindu1121789889_LCons @ A @ X @ Xs ) @ ( coindu1121789889_LCons @ A @ X @ Ys ) ) ) ).
% 3.04/1.64
% 3.04/1.64 thf(fact_55_lprefix_Ocoinduct,axiom,
% 3.04/1.64 ! [A: $tType,X4: ( coindu1593790203_llist @ A ) > ( coindu1593790203_llist @ A ) > $o,X: coindu1593790203_llist @ A,Xa: coindu1593790203_llist @ A] :
% 3.04/1.64 ( ( X4 @ X @ Xa )
% 3.04/1.64 => ( ! [X3: coindu1593790203_llist @ A,Xa2: coindu1593790203_llist @ A] :
% 3.04/1.64 ( ( X4 @ X3 @ Xa2 )
% 3.04/1.64 => ( ? [Xs5: coindu1593790203_llist @ A] :
% 3.04/1.64 ( ( X3
% 3.04/1.64 = ( coindu1598213697e_LNil @ A ) )
% 3.04/1.64 & ( Xa2 = Xs5 ) )
% 3.04/1.64 | ? [Xs5: coindu1593790203_llist @ A,Ys4: coindu1593790203_llist @ A,Xb: A] :
% 3.04/1.64 ( ( X3
% 3.04/1.64 = ( coindu1121789889_LCons @ A @ Xb @ Xs5 ) )
% 3.04/1.64 & ( Xa2
% 3.04/1.64 = ( coindu1121789889_LCons @ A @ Xb @ Ys4 ) )
% 3.04/1.64 & ( ( X4 @ Xs5 @ Ys4 )
% 3.04/1.64 | ( coindu1696667936prefix @ A @ Xs5 @ Ys4 ) ) ) ) )
% 3.04/1.64 => ( coindu1696667936prefix @ A @ X @ Xa ) ) ) ).
% 3.04/1.64
% 3.04/1.64 thf(fact_56_lprefix__lfiniteD,axiom,
% 3.04/1.64 ! [A: $tType,Xs: coindu1593790203_llist @ A,Ys: coindu1593790203_llist @ A] :
% 3.04/1.64 ( ( coindu1696667936prefix @ A @ Xs @ Ys )
% 3.04/1.64 => ( ( coindu1213758845finite @ A @ Ys )
% 3.04/1.64 => ( coindu1213758845finite @ A @ Xs ) ) ) ).
% 3.04/1.64
% 3.04/1.64 thf(fact_57_iterates_Odisc__iff,axiom,
% 3.04/1.64 ! [A: $tType,F: A > A,X: A] :
% 3.04/1.64 ~ ( coindu335574135_lnull @ A @ ( coindu1529956631erates @ A @ F @ X ) ) ).
% 3.04/1.64
% 3.04/1.64 thf(fact_58_llist_Oleq__antisym,axiom,
% 3.04/1.64 ! [A: $tType,X: coindu1593790203_llist @ A,Y: coindu1593790203_llist @ A] :
% 3.04/1.64 ( ( coindu1696667936prefix @ A @ X @ Y )
% 3.04/1.64 => ( ( coindu1696667936prefix @ A @ Y @ X )
% 3.04/1.64 => ( X = Y ) ) ) ).
% 3.04/1.64
% 3.04/1.64 thf(fact_59_lnull__imp__lfinite,axiom,
% 3.04/1.64 ! [A: $tType,Xs: coindu1593790203_llist @ A] :
% 3.04/1.64 ( ( coindu335574135_lnull @ A @ Xs )
% 3.04/1.64 => ( coindu1213758845finite @ A @ Xs ) ) ).
% 3.04/1.64
% 3.04/1.64 thf(fact_60_LCons__lprefix__conv,axiom,
% 3.04/1.64 ! [A: $tType,X: A,Xs: coindu1593790203_llist @ A,Ys: coindu1593790203_llist @ A] :
% 3.04/1.64 ( ( coindu1696667936prefix @ A @ ( coindu1121789889_LCons @ A @ X @ Xs ) @ Ys )
% 3.04/1.64 = ( ? [Ys5: coindu1593790203_llist @ A] :
% 3.04/1.64 ( ( Ys
% 3.04/1.64 = ( coindu1121789889_LCons @ A @ X @ Ys5 ) )
% 3.04/1.64 & ( coindu1696667936prefix @ A @ Xs @ Ys5 ) ) ) ) ).
% 3.04/1.64
% 3.04/1.64 thf(fact_61_lfinite__rev__induct,axiom,
% 3.04/1.64 ! [A: $tType,Xs: coindu1593790203_llist @ A,P: ( coindu1593790203_llist @ A ) > $o] :
% 3.04/1.64 ( ( coindu1213758845finite @ A @ Xs )
% 3.04/1.64 => ( ( P @ ( coindu1598213697e_LNil @ A ) )
% 3.04/1.64 => ( ! [X3: A,Xs2: coindu1593790203_llist @ A] :
% 3.04/1.64 ( ( coindu1213758845finite @ A @ Xs2 )
% 3.04/1.64 => ( ( P @ Xs2 )
% 3.04/1.64 => ( P @ ( coindu268472904append @ A @ Xs2 @ ( coindu1121789889_LCons @ A @ X3 @ ( coindu1598213697e_LNil @ A ) ) ) ) ) )
% 3.04/1.64 => ( P @ Xs ) ) ) ) ).
% 3.04/1.64
% 3.04/1.64 thf(fact_62_lprefix__LCons__conv,axiom,
% 3.04/1.64 ! [A: $tType,Xs: coindu1593790203_llist @ A,Y: A,Ys: coindu1593790203_llist @ A] :
% 3.04/1.64 ( ( coindu1696667936prefix @ A @ Xs @ ( coindu1121789889_LCons @ A @ Y @ Ys ) )
% 3.04/1.64 = ( ( Xs
% 3.04/1.64 = ( coindu1598213697e_LNil @ A ) )
% 3.04/1.64 | ? [Xs4: coindu1593790203_llist @ A] :
% 3.04/1.64 ( ( Xs
% 3.04/1.64 = ( coindu1121789889_LCons @ A @ Y @ Xs4 ) )
% 3.04/1.64 & ( coindu1696667936prefix @ A @ Xs4 @ Ys ) ) ) ) ).
% 3.04/1.64
% 3.04/1.64 thf(fact_63_lprefix__not__lnullD,axiom,
% 3.04/1.64 ! [A: $tType,Xs: coindu1593790203_llist @ A,Ys: coindu1593790203_llist @ A] :
% 3.04/1.64 ( ( coindu1696667936prefix @ A @ Xs @ Ys )
% 3.04/1.64 => ( ~ ( coindu335574135_lnull @ A @ Xs )
% 3.04/1.64 => ~ ( coindu335574135_lnull @ A @ Ys ) ) ) ).
% 3.04/1.64
% 3.04/1.64 thf(fact_64_lprefix__down__linear,axiom,
% 3.04/1.64 ! [A: $tType,Xs: coindu1593790203_llist @ A,Zs: coindu1593790203_llist @ A,Ys: coindu1593790203_llist @ A] :
% 3.04/1.64 ( ( coindu1696667936prefix @ A @ Xs @ Zs )
% 3.04/1.64 => ( ( coindu1696667936prefix @ A @ Ys @ Zs )
% 3.04/1.64 => ( ( coindu1696667936prefix @ A @ Xs @ Ys )
% 3.04/1.64 | ( coindu1696667936prefix @ A @ Ys @ Xs ) ) ) ) ).
% 3.04/1.64
% 3.04/1.64 thf(fact_65_lfinite__LNil,axiom,
% 3.04/1.64 ! [A: $tType] : ( coindu1213758845finite @ A @ ( coindu1598213697e_LNil @ A ) ) ).
% 3.04/1.64
% 3.04/1.64 thf(fact_66_LNil__lprefix,axiom,
% 3.04/1.64 ! [A: $tType,Xs: coindu1593790203_llist @ A] : ( coindu1696667936prefix @ A @ ( coindu1598213697e_LNil @ A ) @ Xs ) ).
% 3.04/1.64
% 3.04/1.64 thf(fact_67_lfinite__LConsI,axiom,
% 3.04/1.64 ! [A: $tType,Xs: coindu1593790203_llist @ A,X: A] :
% 3.04/1.64 ( ( coindu1213758845finite @ A @ Xs )
% 3.04/1.64 => ( coindu1213758845finite @ A @ ( coindu1121789889_LCons @ A @ X @ Xs ) ) ) ).
% 3.04/1.64
% 3.04/1.64 thf(fact_68_not__lfinite__lprefix__conv__eq,axiom,
% 3.04/1.64 ! [A: $tType,Xs: coindu1593790203_llist @ A,Ys: coindu1593790203_llist @ A] :
% 3.04/1.64 ( ~ ( coindu1213758845finite @ A @ Xs )
% 3.04/1.64 => ( ( coindu1696667936prefix @ A @ Xs @ Ys )
% 3.04/1.64 = ( Xs = Ys ) ) ) ).
% 3.04/1.64
% 3.04/1.64 thf(fact_69_lappend_Octr_I1_J,axiom,
% 3.04/1.64 ! [A: $tType,Xs: coindu1593790203_llist @ A,Ys: coindu1593790203_llist @ A] :
% 3.04/1.64 ( ( coindu335574135_lnull @ A @ Xs )
% 3.04/1.64 => ( ( coindu335574135_lnull @ A @ Ys )
% 3.04/1.64 => ( ( coindu268472904append @ A @ Xs @ Ys )
% 3.04/1.64 = ( coindu1598213697e_LNil @ A ) ) ) ) ).
% 3.04/1.64
% 3.04/1.64 thf(fact_70_lappend__snocL1__conv__LCons2,axiom,
% 3.04/1.64 ! [A: $tType,Xs: coindu1593790203_llist @ A,Y: A,Ys: coindu1593790203_llist @ A] :
% 3.04/1.64 ( ( coindu268472904append @ A @ ( coindu268472904append @ A @ Xs @ ( coindu1121789889_LCons @ A @ Y @ ( coindu1598213697e_LNil @ A ) ) ) @ Ys )
% 3.04/1.64 = ( coindu268472904append @ A @ Xs @ ( coindu1121789889_LCons @ A @ Y @ Ys ) ) ) ).
% 3.04/1.64
% 3.04/1.64 thf(fact_71_lappend__inf,axiom,
% 3.04/1.64 ! [A: $tType,Xs: coindu1593790203_llist @ A,Ys: coindu1593790203_llist @ A] :
% 3.04/1.64 ( ~ ( coindu1213758845finite @ A @ Xs )
% 3.04/1.64 => ( ( coindu268472904append @ A @ Xs @ Ys )
% 3.04/1.64 = Xs ) ) ).
% 3.04/1.64
% 3.04/1.64 thf(fact_72_lappend__lnull2,axiom,
% 3.04/1.64 ! [A: $tType,Ys: coindu1593790203_llist @ A,Xs: coindu1593790203_llist @ A] :
% 3.04/1.64 ( ( coindu335574135_lnull @ A @ Ys )
% 3.04/1.64 => ( ( coindu268472904append @ A @ Xs @ Ys )
% 3.04/1.64 = Xs ) ) ).
% 3.04/1.64
% 3.04/1.64 thf(fact_73_lappend__lnull1,axiom,
% 3.04/1.64 ! [A: $tType,Xs: coindu1593790203_llist @ A,Ys: coindu1593790203_llist @ A] :
% 3.04/1.64 ( ( coindu335574135_lnull @ A @ Xs )
% 3.04/1.64 => ( ( coindu268472904append @ A @ Xs @ Ys )
% 3.04/1.64 = Ys ) ) ).
% 3.04/1.64
% 3.04/1.64 thf(fact_74_lappend_Odisc_I1_J,axiom,
% 3.04/1.64 ! [A: $tType,Xs: coindu1593790203_llist @ A,Ys: coindu1593790203_llist @ A] :
% 3.04/1.64 ( ( coindu335574135_lnull @ A @ Xs )
% 3.04/1.64 => ( ( coindu335574135_lnull @ A @ Ys )
% 3.04/1.64 => ( coindu335574135_lnull @ A @ ( coindu268472904append @ A @ Xs @ Ys ) ) ) ) ).
% 3.04/1.64
% 3.04/1.64 thf(fact_75_lappend_Odisc_I2_J,axiom,
% 3.04/1.64 ! [A: $tType,Xs: coindu1593790203_llist @ A,Ys: coindu1593790203_llist @ A] :
% 3.04/1.64 ( ( ~ ( coindu335574135_lnull @ A @ Xs )
% 3.04/1.64 | ~ ( coindu335574135_lnull @ A @ Ys ) )
% 3.04/1.64 => ~ ( coindu335574135_lnull @ A @ ( coindu268472904append @ A @ Xs @ Ys ) ) ) ).
% 3.04/1.64
% 3.04/1.64 thf(fact_76_lprefix__lappend__sameI,axiom,
% 3.04/1.64 ! [A: $tType,Xs: coindu1593790203_llist @ A,Ys: coindu1593790203_llist @ A,Zs: coindu1593790203_llist @ A] :
% 3.04/1.64 ( ( coindu1696667936prefix @ A @ Xs @ Ys )
% 3.04/1.64 => ( coindu1696667936prefix @ A @ ( coindu268472904append @ A @ Zs @ Xs ) @ ( coindu268472904append @ A @ Zs @ Ys ) ) ) ).
% 3.04/1.64
% 3.04/1.64 thf(fact_77_lprefix__conv__lappend,axiom,
% 3.04/1.64 ! [A: $tType] :
% 3.04/1.64 ( ( coindu1696667936prefix @ A )
% 3.04/1.64 = ( ^ [Xs3: coindu1593790203_llist @ A,Ys3: coindu1593790203_llist @ A] :
% 3.04/1.64 ? [Zs2: coindu1593790203_llist @ A] :
% 3.04/1.64 ( Ys3
% 3.04/1.64 = ( coindu268472904append @ A @ Xs3 @ Zs2 ) ) ) ) ).
% 3.04/1.64
% 3.04/1.64 thf(fact_78_lprefix__lappendD,axiom,
% 3.04/1.64 ! [A: $tType,Xs: coindu1593790203_llist @ A,Ys: coindu1593790203_llist @ A,Zs: coindu1593790203_llist @ A] :
% 3.04/1.64 ( ( coindu1696667936prefix @ A @ Xs @ ( coindu268472904append @ A @ Ys @ Zs ) )
% 3.04/1.64 => ( ( coindu1696667936prefix @ A @ Xs @ Ys )
% 3.04/1.64 | ( coindu1696667936prefix @ A @ Ys @ Xs ) ) ) ).
% 3.04/1.64
% 3.04/1.64 thf(fact_79_lappend__lprefixE,axiom,
% 3.04/1.64 ! [A: $tType,Xs: coindu1593790203_llist @ A,Ys: coindu1593790203_llist @ A,Zs: coindu1593790203_llist @ A] :
% 3.04/1.64 ( ( coindu1696667936prefix @ A @ ( coindu268472904append @ A @ Xs @ Ys ) @ Zs )
% 3.04/1.64 => ~ ! [Zs3: coindu1593790203_llist @ A] :
% 3.04/1.64 ( Zs
% 3.04/1.64 != ( coindu268472904append @ A @ Xs @ Zs3 ) ) ) ).
% 3.04/1.64
% 3.04/1.64 thf(fact_80_lprefix__lappend,axiom,
% 3.04/1.64 ! [A: $tType,Xs: coindu1593790203_llist @ A,Ys: coindu1593790203_llist @ A] : ( coindu1696667936prefix @ A @ Xs @ ( coindu268472904append @ A @ Xs @ Ys ) ) ).
% 3.04/1.64
% 3.04/1.64 thf(fact_81_lappend__eq__LNil__iff,axiom,
% 3.04/1.64 ! [A: $tType,Xs: coindu1593790203_llist @ A,Ys: coindu1593790203_llist @ A] :
% 3.04/1.64 ( ( ( coindu268472904append @ A @ Xs @ Ys )
% 3.04/1.64 = ( coindu1598213697e_LNil @ A ) )
% 3.04/1.64 = ( ( Xs
% 3.04/1.64 = ( coindu1598213697e_LNil @ A ) )
% 3.04/1.64 & ( Ys
% 3.04/1.64 = ( coindu1598213697e_LNil @ A ) ) ) ) ).
% 3.04/1.64
% 3.04/1.64 thf(fact_82_LNil__eq__lappend__iff,axiom,
% 3.04/1.64 ! [A: $tType,Xs: coindu1593790203_llist @ A,Ys: coindu1593790203_llist @ A] :
% 3.04/1.64 ( ( ( coindu1598213697e_LNil @ A )
% 3.04/1.64 = ( coindu268472904append @ A @ Xs @ Ys ) )
% 3.04/1.64 = ( ( Xs
% 3.04/1.64 = ( coindu1598213697e_LNil @ A ) )
% 3.04/1.64 & ( Ys
% 3.04/1.64 = ( coindu1598213697e_LNil @ A ) ) ) ) ).
% 3.04/1.64
% 3.04/1.64 thf(fact_83_lappend__LNil__LNil,axiom,
% 3.04/1.64 ! [A: $tType] :
% 3.04/1.64 ( ( coindu268472904append @ A @ ( coindu1598213697e_LNil @ A ) @ ( coindu1598213697e_LNil @ A ) )
% 3.04/1.64 = ( coindu1598213697e_LNil @ A ) ) ).
% 3.04/1.64
% 3.04/1.64 thf(fact_84_lfinite__inf__llist,axiom,
% 3.04/1.64 ! [A: $tType,F: nat > A] :
% 3.04/1.64 ~ ( coindu1213758845finite @ A @ ( coindu288502823_llist @ A @ F ) ) ).
% 3.04/1.64
% 3.04/1.64 thf(fact_85_lnull__inf__llist,axiom,
% 3.04/1.64 ! [A: $tType,F: nat > A] :
% 3.04/1.64 ~ ( coindu335574135_lnull @ A @ ( coindu288502823_llist @ A @ F ) ) ).
% 3.04/1.64
% 3.04/1.64 thf(fact_86_llast__lappend__LCons,axiom,
% 3.04/1.64 ! [A: $tType,Xs: coindu1593790203_llist @ A,Y: A,Ys: coindu1593790203_llist @ A] :
% 3.04/1.64 ( ( coindu1213758845finite @ A @ Xs )
% 3.04/1.64 => ( ( coindu2000965700_llast @ A @ ( coindu268472904append @ A @ Xs @ ( coindu1121789889_LCons @ A @ Y @ Ys ) ) )
% 3.04/1.64 = ( coindu2000965700_llast @ A @ ( coindu1121789889_LCons @ A @ Y @ Ys ) ) ) ) ).
% 3.04/1.64
% 3.04/1.64 thf(fact_87_lstrict__prefix__lappend__conv,axiom,
% 3.04/1.64 ! [A: $tType,Xs: coindu1593790203_llist @ A,Ys: coindu1593790203_llist @ A] :
% 3.04/1.64 ( ( coindu574146665prefix @ A @ Xs @ ( coindu268472904append @ A @ Xs @ Ys ) )
% 3.04/1.64 = ( ( coindu1213758845finite @ A @ Xs )
% 3.04/1.64 & ~ ( coindu335574135_lnull @ A @ Ys ) ) ) ).
% 3.04/1.64
% 3.04/1.64 thf(fact_88_llimit__induct,axiom,
% 3.04/1.64 ! [A: $tType,P: ( coindu1593790203_llist @ A ) > $o,Xs: coindu1593790203_llist @ A] :
% 3.04/1.64 ( ( P @ ( coindu1598213697e_LNil @ A ) )
% 3.04/1.64 => ( ! [X3: A,Xs2: coindu1593790203_llist @ A] :
% 3.04/1.64 ( ( coindu1213758845finite @ A @ Xs2 )
% 3.04/1.64 => ( ( P @ Xs2 )
% 3.04/1.64 => ( P @ ( coindu1121789889_LCons @ A @ X3 @ Xs2 ) ) ) )
% 3.04/1.64 => ( ( ! [Ys4: coindu1593790203_llist @ A] :
% 3.04/1.64 ( ( coindu574146665prefix @ A @ Ys4 @ Xs )
% 3.04/1.64 => ( P @ Ys4 ) )
% 3.04/1.64 => ( P @ Xs ) )
% 3.04/1.64 => ( P @ Xs ) ) ) ) ).
% 3.04/1.64
% 3.04/1.64 thf(fact_89_Coinductive__List__Mirabelle__kmikjhschf_Olprefix__nitpick__simps,axiom,
% 3.04/1.64 ! [A: $tType] :
% 3.04/1.64 ( ( coindu1696667936prefix @ A )
% 3.04/1.64 = ( ^ [Xs3: coindu1593790203_llist @ A,Ys3: coindu1593790203_llist @ A] :
% 3.04/1.64 ( ( ( coindu1213758845finite @ A @ Xs3 )
% 3.04/1.64 => ( coindu1571841457prefix @ A @ Xs3 @ Ys3 ) )
% 3.04/1.64 & ( ~ ( coindu1213758845finite @ A @ Xs3 )
% 3.04/1.64 => ( Xs3 = Ys3 ) ) ) ) ) ).
% 3.04/1.64
% 3.04/1.64 thf(fact_90_Coinductive__List__Mirabelle__kmikjhschf_Ofinite__lprefix__nitpick__simps_I3_J,axiom,
% 3.04/1.64 ! [A: $tType,Xs: coindu1593790203_llist @ A,Y: A,Ys: coindu1593790203_llist @ A] :
% 3.04/1.64 ( ( coindu1571841457prefix @ A @ Xs @ ( coindu1121789889_LCons @ A @ Y @ Ys ) )
% 3.04/1.64 = ( ( Xs
% 3.04/1.64 = ( coindu1598213697e_LNil @ A ) )
% 3.04/1.64 | ? [Xs4: coindu1593790203_llist @ A] :
% 3.04/1.64 ( ( Xs
% 3.04/1.64 = ( coindu1121789889_LCons @ A @ Y @ Xs4 ) )
% 3.04/1.64 & ( coindu1571841457prefix @ A @ Xs4 @ Ys ) ) ) ) ).
% 3.04/1.64
% 3.04/1.64 thf(fact_91_lstrict__prefix__code_I3_J,axiom,
% 3.04/1.64 ! [B: $tType,X: B,Xs: coindu1593790203_llist @ B] :
% 3.04/1.64 ~ ( coindu574146665prefix @ B @ ( coindu1121789889_LCons @ B @ X @ Xs ) @ ( coindu1598213697e_LNil @ B ) ) ).
% 3.04/1.64
% 3.04/1.64 thf(fact_92_lstrict__prefix__code_I2_J,axiom,
% 3.04/1.64 ! [B: $tType,Y: B,Ys: coindu1593790203_llist @ B] : ( coindu574146665prefix @ B @ ( coindu1598213697e_LNil @ B ) @ ( coindu1121789889_LCons @ B @ Y @ Ys ) ) ).
% 3.04/1.64
% 3.04/1.64 thf(fact_93_llast__singleton,axiom,
% 3.04/1.64 ! [A: $tType,X: A] :
% 3.04/1.64 ( ( coindu2000965700_llast @ A @ ( coindu1121789889_LCons @ A @ X @ ( coindu1598213697e_LNil @ A ) ) )
% 3.04/1.64 = X ) ).
% 3.04/1.64
% 3.04/1.64 thf(fact_94_llist__of__list__of,axiom,
% 3.04/1.64 ! [A: $tType,Xs: coindu1593790203_llist @ A] :
% 3.04/1.64 ( ( coindu1213758845finite @ A @ Xs )
% 3.04/1.64 => ( ( coindu1079202755ist_of @ A @ ( coindu1736001939ist_of @ A @ Xs ) )
% 3.04/1.64 = Xs ) ) ).
% 3.04/1.64
% 3.04/1.64 thf(fact_95_lmember__code_I1_J,axiom,
% 3.04/1.64 ! [A: $tType,X: A] :
% 3.04/1.64 ~ ( coindu567634248member @ A @ X @ ( coindu1598213697e_LNil @ A ) ) ).
% 3.04/1.64
% 3.04/1.64 thf(fact_96_lmember__code_I2_J,axiom,
% 3.04/1.64 ! [A: $tType,X: A,Y: A,Ys: coindu1593790203_llist @ A] :
% 3.04/1.64 ( ( coindu567634248member @ A @ X @ ( coindu1121789889_LCons @ A @ Y @ Ys ) )
% 3.04/1.64 = ( ( X = Y )
% 3.04/1.64 | ( coindu567634248member @ A @ X @ Ys ) ) ) ).
% 3.04/1.64
% 3.04/1.64 thf(fact_97_llast__LCons2,axiom,
% 3.04/1.64 ! [A: $tType,X: A,Y: A,Xs: coindu1593790203_llist @ A] :
% 3.04/1.64 ( ( coindu2000965700_llast @ A @ ( coindu1121789889_LCons @ A @ X @ ( coindu1121789889_LCons @ A @ Y @ Xs ) ) )
% 3.04/1.64 = ( coindu2000965700_llast @ A @ ( coindu1121789889_LCons @ A @ Y @ Xs ) ) ) ).
% 3.04/1.64
% 3.04/1.64 thf(fact_98_list__of__llist__of,axiom,
% 3.04/1.64 ! [A: $tType,Xs: list @ A] :
% 3.04/1.64 ( ( coindu1736001939ist_of @ A @ ( coindu1079202755ist_of @ A @ Xs ) )
% 3.04/1.64 = Xs ) ).
% 3.04/1.64
% 3.04/1.64 thf(fact_99_lstrict__prefix__code_I4_J,axiom,
% 3.04/1.64 ! [B: $tType,X: B,Xs: coindu1593790203_llist @ B,Y: B,Ys: coindu1593790203_llist @ B] :
% 3.04/1.64 ( ( coindu574146665prefix @ B @ ( coindu1121789889_LCons @ B @ X @ Xs ) @ ( coindu1121789889_LCons @ B @ Y @ Ys ) )
% 3.04/1.64 = ( ( X = Y )
% 3.04/1.64 & ( coindu574146665prefix @ B @ Xs @ Ys ) ) ) ).
% 3.04/1.64
% 3.04/1.64 thf(fact_100_lstrict__prefix__code_I1_J,axiom,
% 3.04/1.64 ! [A: $tType] :
% 3.04/1.64 ~ ( coindu574146665prefix @ A @ ( coindu1598213697e_LNil @ A ) @ ( coindu1598213697e_LNil @ A ) ) ).
% 3.04/1.64
% 3.04/1.64 thf(fact_101_llist__less__induct,axiom,
% 3.04/1.64 ! [A: $tType,P: ( coindu1593790203_llist @ A ) > $o,Xs: coindu1593790203_llist @ A] :
% 3.04/1.64 ( ! [Xs2: coindu1593790203_llist @ A] :
% 3.04/1.64 ( ! [Ys4: coindu1593790203_llist @ A] :
% 3.04/1.64 ( ( coindu574146665prefix @ A @ Ys4 @ Xs2 )
% 3.04/1.64 => ( P @ Ys4 ) )
% 3.04/1.64 => ( P @ Xs2 ) )
% 3.04/1.64 => ( P @ Xs ) ) ).
% 3.04/1.64
% 3.04/1.64 thf(fact_102_lstrict__prefix__def,axiom,
% 3.04/1.64 ! [A: $tType] :
% 3.04/1.64 ( ( coindu574146665prefix @ A )
% 3.04/1.64 = ( ^ [Xs3: coindu1593790203_llist @ A,Ys3: coindu1593790203_llist @ A] :
% 3.04/1.64 ( ( coindu1696667936prefix @ A @ Xs3 @ Ys3 )
% 3.04/1.64 & ( Xs3 != Ys3 ) ) ) ) ).
% 3.04/1.64
% 3.04/1.64 thf(fact_103_lstrict__prefix__lfinite1,axiom,
% 3.04/1.64 ! [A: $tType,Xs: coindu1593790203_llist @ A,Ys: coindu1593790203_llist @ A] :
% 3.04/1.64 ( ( coindu574146665prefix @ A @ Xs @ Ys )
% 3.04/1.64 => ( coindu1213758845finite @ A @ Xs ) ) ).
% 3.04/1.64
% 3.04/1.64 thf(fact_104_Coinductive__List__Mirabelle__kmikjhschf_Ofinite__lprefix__def,axiom,
% 3.04/1.64 ! [A: $tType] :
% 3.04/1.64 ( ( coindu1571841457prefix @ A )
% 3.04/1.64 = ( coindu1696667936prefix @ A ) ) ).
% 3.04/1.64
% 3.04/1.64 thf(fact_105_Coinductive__List__Mirabelle__kmikjhschf_Ofinite__lprefix__nitpick__simps_I1_J,axiom,
% 3.04/1.64 ! [A: $tType,Xs: coindu1593790203_llist @ A] :
% 3.04/1.64 ( ( coindu1571841457prefix @ A @ Xs @ ( coindu1598213697e_LNil @ A ) )
% 3.04/1.64 = ( Xs
% 3.04/1.64 = ( coindu1598213697e_LNil @ A ) ) ) ).
% 3.04/1.64
% 3.04/1.64 thf(fact_106_Coinductive__List__Mirabelle__kmikjhschf_Ofinite__lprefix__nitpick__simps_I2_J,axiom,
% 3.04/1.64 ! [A: $tType,Xs: coindu1593790203_llist @ A] : ( coindu1571841457prefix @ A @ ( coindu1598213697e_LNil @ A ) @ Xs ) ).
% 3.04/1.64
% 3.04/1.64 thf(fact_107_llast__LCons,axiom,
% 3.04/1.64 ! [A: $tType,Xs: coindu1593790203_llist @ A,X: A] :
% 3.04/1.64 ( ( ( coindu335574135_lnull @ A @ Xs )
% 3.04/1.64 => ( ( coindu2000965700_llast @ A @ ( coindu1121789889_LCons @ A @ X @ Xs ) )
% 3.04/1.64 = X ) )
% 3.04/1.64 & ( ~ ( coindu335574135_lnull @ A @ Xs )
% 3.04/1.64 => ( ( coindu2000965700_llast @ A @ ( coindu1121789889_LCons @ A @ X @ Xs ) )
% 3.04/1.64 = ( coindu2000965700_llast @ A @ Xs ) ) ) ) ).
% 3.04/1.64
% 3.04/1.64 thf(fact_108_llast__lappend,axiom,
% 3.04/1.64 ! [A: $tType,Ys: coindu1593790203_llist @ A,Xs: coindu1593790203_llist @ A] :
% 3.04/1.64 ( ( ( coindu335574135_lnull @ A @ Ys )
% 3.04/1.64 => ( ( coindu2000965700_llast @ A @ ( coindu268472904append @ A @ Xs @ Ys ) )
% 3.04/1.64 = ( coindu2000965700_llast @ A @ Xs ) ) )
% 3.04/1.64 & ( ~ ( coindu335574135_lnull @ A @ Ys )
% 3.04/1.64 => ( ( ( coindu1213758845finite @ A @ Xs )
% 3.04/1.64 => ( ( coindu2000965700_llast @ A @ ( coindu268472904append @ A @ Xs @ Ys ) )
% 3.04/1.64 = ( coindu2000965700_llast @ A @ Ys ) ) )
% 3.04/1.64 & ( ~ ( coindu1213758845finite @ A @ Xs )
% 3.04/1.64 => ( ( coindu2000965700_llast @ A @ ( coindu268472904append @ A @ Xs @ Ys ) )
% 3.04/1.64 = ( undefined @ A ) ) ) ) ) ) ).
% 3.04/1.64
% 3.04/1.64 thf(fact_109_list__of__LCons,axiom,
% 3.04/1.64 ! [A: $tType,Xs: coindu1593790203_llist @ A,X: A] :
% 3.04/1.64 ( ( coindu1213758845finite @ A @ Xs )
% 3.04/1.64 => ( ( coindu1736001939ist_of @ A @ ( coindu1121789889_LCons @ A @ X @ Xs ) )
% 3.04/1.64 = ( cons @ A @ X @ ( coindu1736001939ist_of @ A @ Xs ) ) ) ) ).
% 3.04/1.64
% 3.04/1.64 thf(fact_110_nth__list__of,axiom,
% 3.04/1.64 ! [A: $tType,Xs: coindu1593790203_llist @ A] :
% 3.04/1.64 ( ( coindu1213758845finite @ A @ Xs )
% 3.04/1.64 => ( ( nth @ A @ ( coindu1736001939ist_of @ A @ Xs ) )
% 3.04/1.64 = ( coindu749330388e_lnth @ A @ Xs ) ) ) ).
% 3.04/1.64
% 3.04/1.64 thf(fact_111_llast__llist__of,axiom,
% 3.04/1.64 ! [A: $tType,Xs: list @ A] :
% 3.04/1.64 ( ( coindu2000965700_llast @ A @ ( coindu1079202755ist_of @ A @ Xs ) )
% 3.04/1.64 = ( last @ A @ Xs ) ) ).
% 3.04/1.64
% 3.04/1.64 thf(fact_112_list__of__lappend,axiom,
% 3.04/1.64 ! [A: $tType,Xs: coindu1593790203_llist @ A,Ys: coindu1593790203_llist @ A] :
% 3.04/1.64 ( ( coindu1213758845finite @ A @ Xs )
% 3.04/1.64 => ( ( coindu1213758845finite @ A @ Ys )
% 3.04/1.64 => ( ( coindu1736001939ist_of @ A @ ( coindu268472904append @ A @ Xs @ Ys ) )
% 3.04/1.64 = ( append @ A @ ( coindu1736001939ist_of @ A @ Xs ) @ ( coindu1736001939ist_of @ A @ Ys ) ) ) ) ) ).
% 3.04/1.64
% 3.04/1.64 thf(fact_113_lnth__llist__of,axiom,
% 3.04/1.64 ! [A: $tType,Xs: list @ A] :
% 3.04/1.64 ( ( coindu749330388e_lnth @ A @ ( coindu1079202755ist_of @ A @ Xs ) )
% 3.04/1.64 = ( nth @ A @ Xs ) ) ).
% 3.04/1.64
% 3.04/1.64 thf(fact_114_list__of__LCons__conv,axiom,
% 3.04/1.64 ! [A: $tType,Xs: coindu1593790203_llist @ A,X: A] :
% 3.04/1.64 ( ( ( coindu1213758845finite @ A @ Xs )
% 3.04/1.64 => ( ( coindu1736001939ist_of @ A @ ( coindu1121789889_LCons @ A @ X @ Xs ) )
% 3.04/1.64 = ( cons @ A @ X @ ( coindu1736001939ist_of @ A @ Xs ) ) ) )
% 3.04/1.64 & ( ~ ( coindu1213758845finite @ A @ Xs )
% 3.04/1.64 => ( ( coindu1736001939ist_of @ A @ ( coindu1121789889_LCons @ A @ X @ Xs ) )
% 3.04/1.64 = ( undefined @ ( list @ A ) ) ) ) ) ).
% 3.04/1.64
% 3.04/1.64 thf(fact_115_lnth__LNil,axiom,
% 3.04/1.64 ! [A: $tType,N: nat] :
% 3.04/1.64 ( ( coindu749330388e_lnth @ A @ ( coindu1598213697e_LNil @ A ) @ N )
% 3.04/1.64 = ( undefined @ ( nat > A ) @ N ) ) ).
% 3.04/1.64
% 3.04/1.64 thf(fact_116_lprefix__llist__ofI,axiom,
% 3.04/1.64 ! [A: $tType,Ys: list @ A,Xs: list @ A] :
% 3.04/1.64 ( ? [Zs4: list @ A] :
% 3.04/1.64 ( Ys
% 3.04/1.64 = ( append @ A @ Xs @ Zs4 ) )
% 3.04/1.64 => ( coindu1696667936prefix @ A @ ( coindu1079202755ist_of @ A @ Xs ) @ ( coindu1079202755ist_of @ A @ Ys ) ) ) ).
% 3.04/1.64
% 3.04/1.64 thf(fact_117_lappend__llist__of__llist__of,axiom,
% 3.04/1.64 ! [A: $tType,Xs: list @ A,Ys: list @ A] :
% 3.04/1.64 ( ( coindu268472904append @ A @ ( coindu1079202755ist_of @ A @ Xs ) @ ( coindu1079202755ist_of @ A @ Ys ) )
% 3.04/1.64 = ( coindu1079202755ist_of @ A @ ( append @ A @ Xs @ Ys ) ) ) ).
% 3.04/1.64
% 3.04/1.64 thf(fact_118_llist__of_Osimps_I2_J,axiom,
% 3.04/1.64 ! [A: $tType,X: A,Xs: list @ A] :
% 3.04/1.64 ( ( coindu1079202755ist_of @ A @ ( cons @ A @ X @ Xs ) )
% 3.04/1.64 = ( coindu1121789889_LCons @ A @ X @ ( coindu1079202755ist_of @ A @ Xs ) ) ) ).
% 3.04/1.64
% 3.04/1.64 thf(fact_119_llist__of__eq__LCons__conv,axiom,
% 3.04/1.64 ! [A: $tType,Xs: list @ A,Y: A,Ys: coindu1593790203_llist @ A] :
% 3.04/1.64 ( ( ( coindu1079202755ist_of @ A @ Xs )
% 3.04/1.64 = ( coindu1121789889_LCons @ A @ Y @ Ys ) )
% 3.04/1.64 = ( ? [Xs4: list @ A] :
% 3.04/1.64 ( ( Xs
% 3.04/1.64 = ( cons @ A @ Y @ Xs4 ) )
% 3.04/1.64 & ( Ys
% 3.04/1.64 = ( coindu1079202755ist_of @ A @ Xs4 ) ) ) ) ) ).
% 3.04/1.64
% 3.04/1.64 thf(fact_120_llast__LNil,axiom,
% 3.04/1.64 ! [A: $tType] :
% 3.04/1.64 ( ( coindu2000965700_llast @ A @ ( coindu1598213697e_LNil @ A ) )
% 3.04/1.64 = ( undefined @ A ) ) ).
% 3.04/1.64
% 3.04/1.64 thf(fact_121_llast__linfinite,axiom,
% 3.04/1.64 ! [A: $tType,Xs: coindu1593790203_llist @ A] :
% 3.04/1.64 ( ~ ( coindu1213758845finite @ A @ Xs )
% 3.04/1.64 => ( ( coindu2000965700_llast @ A @ Xs )
% 3.04/1.64 = ( undefined @ A ) ) ) ).
% 3.04/1.64
% 3.04/1.64 thf(fact_122_append__assoc,axiom,
% 3.04/1.64 ! [A: $tType,Xs: list @ A,Ys: list @ A,Zs: list @ A] :
% 3.04/1.64 ( ( append @ A @ ( append @ A @ Xs @ Ys ) @ Zs )
% 3.04/1.64 = ( append @ A @ Xs @ ( append @ A @ Ys @ Zs ) ) ) ).
% 3.04/1.64
% 3.04/1.64 thf(fact_123_append__same__eq,axiom,
% 3.04/1.64 ! [A: $tType,Ys: list @ A,Xs: list @ A,Zs: list @ A] :
% 3.04/1.64 ( ( ( append @ A @ Ys @ Xs )
% 3.04/1.64 = ( append @ A @ Zs @ Xs ) )
% 3.04/1.64 = ( Ys = Zs ) ) ).
% 3.04/1.64
% 3.04/1.64 thf(fact_124_same__append__eq,axiom,
% 3.04/1.64 ! [A: $tType,Xs: list @ A,Ys: list @ A,Zs: list @ A] :
% 3.04/1.64 ( ( ( append @ A @ Xs @ Ys )
% 3.04/1.64 = ( append @ A @ Xs @ Zs ) )
% 3.04/1.64 = ( Ys = Zs ) ) ).
% 3.04/1.64
% 3.04/1.64 thf(fact_125_list_Oinject,axiom,
% 3.04/1.64 ! [A: $tType,X21: A,X22: list @ A,Y21: A,Y22: list @ A] :
% 3.04/1.64 ( ( ( cons @ A @ X21 @ X22 )
% 3.04/1.64 = ( cons @ A @ Y21 @ Y22 ) )
% 3.04/1.64 = ( ( X21 = Y21 )
% 3.04/1.64 & ( X22 = Y22 ) ) ) ).
% 3.04/1.64
% 3.04/1.64 thf(fact_126_not__Cons__self2,axiom,
% 3.04/1.64 ! [A: $tType,X: A,Xs: list @ A] :
% 3.04/1.64 ( ( cons @ A @ X @ Xs )
% 3.04/1.64 != Xs ) ).
% 3.04/1.64
% 3.04/1.64 thf(fact_127_append__eq__append__conv2,axiom,
% 3.04/1.64 ! [A: $tType,Xs: list @ A,Ys: list @ A,Zs: list @ A,Ts: list @ A] :
% 3.04/1.64 ( ( ( append @ A @ Xs @ Ys )
% 3.04/1.64 = ( append @ A @ Zs @ Ts ) )
% 3.04/1.64 = ( ? [Us: list @ A] :
% 3.04/1.64 ( ( ( Xs
% 3.04/1.64 = ( append @ A @ Zs @ Us ) )
% 3.04/1.64 & ( ( append @ A @ Us @ Ys )
% 3.04/1.64 = Ts ) )
% 3.04/1.64 | ( ( ( append @ A @ Xs @ Us )
% 3.04/1.64 = Zs )
% 3.04/1.64 & ( Ys
% 3.04/1.64 = ( append @ A @ Us @ Ts ) ) ) ) ) ) ).
% 3.04/1.64
% 3.04/1.64 thf(fact_128_append__eq__appendI,axiom,
% 3.04/1.64 ! [A: $tType,Xs: list @ A,Xs1: list @ A,Zs: list @ A,Ys: list @ A,Us2: list @ A] :
% 3.04/1.64 ( ( ( append @ A @ Xs @ Xs1 )
% 3.04/1.64 = Zs )
% 3.04/1.64 => ( ( Ys
% 3.04/1.64 = ( append @ A @ Xs1 @ Us2 ) )
% 3.04/1.64 => ( ( append @ A @ Xs @ Ys )
% 3.04/1.64 = ( append @ A @ Zs @ Us2 ) ) ) ) ).
% 3.04/1.64
% 3.04/1.64 thf(fact_129_append__Cons,axiom,
% 3.04/1.64 ! [A: $tType,X: A,Xs: list @ A,Ys: list @ A] :
% 3.04/1.64 ( ( append @ A @ ( cons @ A @ X @ Xs ) @ Ys )
% 3.04/1.64 = ( cons @ A @ X @ ( append @ A @ Xs @ Ys ) ) ) ).
% 3.04/1.64
% 3.04/1.64 thf(fact_130_Cons__eq__appendI,axiom,
% 3.04/1.64 ! [A: $tType,X: A,Xs1: list @ A,Ys: list @ A,Xs: list @ A,Zs: list @ A] :
% 3.04/1.64 ( ( ( cons @ A @ X @ Xs1 )
% 3.04/1.64 = Ys )
% 3.04/1.64 => ( ( Xs
% 3.04/1.64 = ( append @ A @ Xs1 @ Zs ) )
% 3.04/1.64 => ( ( cons @ A @ X @ Xs )
% 3.04/1.64 = ( append @ A @ Ys @ Zs ) ) ) ) ).
% 3.04/1.64
% 3.04/1.64 thf(fact_131_bind__simps_I2_J,axiom,
% 3.04/1.64 ! [A: $tType,B: $tType,X: B,Xs: list @ B,F: B > ( list @ A )] :
% 3.04/1.64 ( ( bind @ B @ A @ ( cons @ B @ X @ Xs ) @ F )
% 3.04/1.64 = ( append @ A @ ( F @ X ) @ ( bind @ B @ A @ Xs @ F ) ) ) ).
% 3.04/1.64
% 3.04/1.64 thf(fact_132_lappend__llist__of__LCons,axiom,
% 3.04/1.64 ! [A: $tType,Xs: list @ A,Y: A,Ys: coindu1593790203_llist @ A] :
% 3.04/1.64 ( ( coindu268472904append @ A @ ( coindu1079202755ist_of @ A @ Xs ) @ ( coindu1121789889_LCons @ A @ Y @ Ys ) )
% 3.04/1.64 = ( coindu268472904append @ A @ ( coindu1079202755ist_of @ A @ ( append @ A @ Xs @ ( cons @ A @ Y @ ( nil @ A ) ) ) ) @ Ys ) ) ).
% 3.04/1.64
% 3.04/1.64 thf(fact_133_list__of__aux__code_I2_J,axiom,
% 3.04/1.64 ! [A: $tType,Xs: list @ A,Y: A,Ys: coindu1593790203_llist @ A] :
% 3.04/1.64 ( ( coindu1542816657of_aux @ A @ Xs @ ( coindu1121789889_LCons @ A @ Y @ Ys ) )
% 3.04/1.64 = ( coindu1542816657of_aux @ A @ ( cons @ A @ Y @ Xs ) @ Ys ) ) ).
% 3.04/1.64
% 3.04/1.64 thf(fact_134_maps__simps_I1_J,axiom,
% 3.04/1.64 ! [A: $tType,B: $tType,F: B > ( list @ A ),X: B,Xs: list @ B] :
% 3.04/1.64 ( ( maps @ B @ A @ F @ ( cons @ B @ X @ Xs ) )
% 3.04/1.64 = ( append @ A @ ( F @ X ) @ ( maps @ B @ A @ F @ Xs ) ) ) ).
% 3.04/1.64
% 3.04/1.64 thf(fact_135_append__is__Nil__conv,axiom,
% 3.04/1.64 ! [A: $tType,Xs: list @ A,Ys: list @ A] :
% 3.04/1.64 ( ( ( append @ A @ Xs @ Ys )
% 3.04/1.64 = ( nil @ A ) )
% 3.04/1.64 = ( ( Xs
% 3.04/1.64 = ( nil @ A ) )
% 3.04/1.64 & ( Ys
% 3.04/1.64 = ( nil @ A ) ) ) ) ).
% 3.04/1.64
% 3.04/1.64 thf(fact_136_Nil__is__append__conv,axiom,
% 3.04/1.64 ! [A: $tType,Xs: list @ A,Ys: list @ A] :
% 3.04/1.64 ( ( ( nil @ A )
% 3.04/1.64 = ( append @ A @ Xs @ Ys ) )
% 3.04/1.64 = ( ( Xs
% 3.04/1.64 = ( nil @ A ) )
% 3.04/1.64 & ( Ys
% 3.04/1.64 = ( nil @ A ) ) ) ) ).
% 3.04/1.64
% 3.04/1.64 thf(fact_137_self__append__conv2,axiom,
% 3.04/1.64 ! [A: $tType,Ys: list @ A,Xs: list @ A] :
% 3.04/1.64 ( ( Ys
% 3.04/1.64 = ( append @ A @ Xs @ Ys ) )
% 3.04/1.64 = ( Xs
% 3.04/1.64 = ( nil @ A ) ) ) ).
% 3.04/1.64
% 3.04/1.64 thf(fact_138_append__self__conv2,axiom,
% 3.04/1.64 ! [A: $tType,Xs: list @ A,Ys: list @ A] :
% 3.04/1.64 ( ( ( append @ A @ Xs @ Ys )
% 3.04/1.64 = Ys )
% 3.04/1.64 = ( Xs
% 3.04/1.64 = ( nil @ A ) ) ) ).
% 3.04/1.64
% 3.04/1.64 thf(fact_139_self__append__conv,axiom,
% 3.04/1.64 ! [A: $tType,Xs: list @ A,Ys: list @ A] :
% 3.04/1.64 ( ( Xs
% 3.04/1.64 = ( append @ A @ Xs @ Ys ) )
% 3.04/1.64 = ( Ys
% 3.04/1.64 = ( nil @ A ) ) ) ).
% 3.04/1.64
% 3.04/1.64 thf(fact_140_append__self__conv,axiom,
% 3.04/1.64 ! [A: $tType,Xs: list @ A,Ys: list @ A] :
% 3.04/1.64 ( ( ( append @ A @ Xs @ Ys )
% 3.04/1.64 = Xs )
% 3.04/1.64 = ( Ys
% 3.04/1.64 = ( nil @ A ) ) ) ).
% 3.04/1.64
% 3.04/1.64 thf(fact_141_append__Nil2,axiom,
% 3.04/1.64 ! [A: $tType,Xs: list @ A] :
% 3.04/1.64 ( ( append @ A @ Xs @ ( nil @ A ) )
% 3.04/1.64 = Xs ) ).
% 3.04/1.64
% 3.04/1.64 thf(fact_142_bind__simps_I1_J,axiom,
% 3.04/1.64 ! [B: $tType,A: $tType,F: B > ( list @ A )] :
% 3.04/1.64 ( ( bind @ B @ A @ ( nil @ B ) @ F )
% 3.04/1.64 = ( nil @ A ) ) ).
% 3.04/1.64
% 3.04/1.64 thf(fact_143_append1__eq__conv,axiom,
% 3.04/1.64 ! [A: $tType,Xs: list @ A,X: A,Ys: list @ A,Y: A] :
% 3.04/1.64 ( ( ( append @ A @ Xs @ ( cons @ A @ X @ ( nil @ A ) ) )
% 3.04/1.64 = ( append @ A @ Ys @ ( cons @ A @ Y @ ( nil @ A ) ) ) )
% 3.04/1.64 = ( ( Xs = Ys )
% 3.04/1.64 & ( X = Y ) ) ) ).
% 3.04/1.64
% 3.04/1.64 thf(fact_144_lnull__llist__of,axiom,
% 3.04/1.64 ! [A: $tType,Xs: list @ A] :
% 3.04/1.64 ( ( coindu335574135_lnull @ A @ ( coindu1079202755ist_of @ A @ Xs ) )
% 3.04/1.64 = ( Xs
% 3.04/1.64 = ( nil @ A ) ) ) ).
% 3.04/1.64
% 3.04/1.64 thf(fact_145_last__appendL,axiom,
% 3.04/1.64 ! [A: $tType,Ys: list @ A,Xs: list @ A] :
% 3.04/1.64 ( ( Ys
% 3.04/1.64 = ( nil @ A ) )
% 3.04/1.64 => ( ( last @ A @ ( append @ A @ Xs @ Ys ) )
% 3.04/1.64 = ( last @ A @ Xs ) ) ) ).
% 3.04/1.64
% 3.04/1.64 thf(fact_146_last__appendR,axiom,
% 3.04/1.64 ! [A: $tType,Ys: list @ A,Xs: list @ A] :
% 3.04/1.64 ( ( Ys
% 3.04/1.64 != ( nil @ A ) )
% 3.04/1.64 => ( ( last @ A @ ( append @ A @ Xs @ Ys ) )
% 3.04/1.64 = ( last @ A @ Ys ) ) ) ).
% 3.04/1.64
% 3.04/1.64 thf(fact_147_list__of__LNil,axiom,
% 3.04/1.64 ! [A: $tType] :
% 3.04/1.64 ( ( coindu1736001939ist_of @ A @ ( coindu1598213697e_LNil @ A ) )
% 3.04/1.64 = ( nil @ A ) ) ).
% 3.04/1.64
% 3.04/1.64 thf(fact_148_last__snoc,axiom,
% 3.04/1.64 ! [A: $tType,Xs: list @ A,X: A] :
% 3.04/1.64 ( ( last @ A @ ( append @ A @ Xs @ ( cons @ A @ X @ ( nil @ A ) ) ) )
% 3.04/1.64 = X ) ).
% 3.04/1.64
% 3.04/1.64 thf(fact_149_list_Odistinct_I1_J,axiom,
% 3.04/1.64 ! [A: $tType,X21: A,X22: list @ A] :
% 3.04/1.64 ( ( nil @ A )
% 3.04/1.64 != ( cons @ A @ X21 @ X22 ) ) ).
% 3.04/1.64
% 3.04/1.64 thf(fact_150_list_OdiscI,axiom,
% 3.04/1.64 ! [A: $tType,List: list @ A,X21: A,X22: list @ A] :
% 3.04/1.64 ( ( List
% 3.04/1.64 = ( cons @ A @ X21 @ X22 ) )
% 3.04/1.64 => ( List
% 3.04/1.64 != ( nil @ A ) ) ) ).
% 3.04/1.64
% 3.04/1.64 thf(fact_151_list_Oexhaust,axiom,
% 3.04/1.64 ! [A: $tType,Y: list @ A] :
% 3.04/1.64 ( ( Y
% 3.04/1.64 != ( nil @ A ) )
% 3.04/1.64 => ~ ! [X212: A,X222: list @ A] :
% 3.04/1.64 ( Y
% 3.04/1.64 != ( cons @ A @ X212 @ X222 ) ) ) ).
% 3.04/1.64
% 3.04/1.64 thf(fact_152_list_Oinducts,axiom,
% 3.04/1.64 ! [A: $tType,P: ( list @ A ) > $o,List: list @ A] :
% 3.04/1.64 ( ( P @ ( nil @ A ) )
% 3.04/1.64 => ( ! [X1: A,X23: list @ A] :
% 3.04/1.64 ( ( P @ X23 )
% 3.04/1.64 => ( P @ ( cons @ A @ X1 @ X23 ) ) )
% 3.04/1.64 => ( P @ List ) ) ) ).
% 3.04/1.64
% 3.04/1.64 thf(fact_153_neq__Nil__conv,axiom,
% 3.04/1.64 ! [A: $tType,Xs: list @ A] :
% 3.04/1.64 ( ( Xs
% 3.04/1.64 != ( nil @ A ) )
% 3.04/1.64 = ( ? [Y2: A,Ys3: list @ A] :
% 3.04/1.64 ( Xs
% 3.04/1.64 = ( cons @ A @ Y2 @ Ys3 ) ) ) ) ).
% 3.04/1.64
% 3.04/1.64 thf(fact_154_list__induct2_H,axiom,
% 3.04/1.64 ! [A: $tType,B: $tType,P: ( list @ A ) > ( list @ B ) > $o,Xs: list @ A,Ys: list @ B] :
% 3.04/1.64 ( ( P @ ( nil @ A ) @ ( nil @ B ) )
% 3.04/1.64 => ( ! [X3: A,Xs2: list @ A] : ( P @ ( cons @ A @ X3 @ Xs2 ) @ ( nil @ B ) )
% 3.04/1.64 => ( ! [Y3: B,Ys2: list @ B] : ( P @ ( nil @ A ) @ ( cons @ B @ Y3 @ Ys2 ) )
% 3.04/1.64 => ( ! [X3: A,Xs2: list @ A,Y3: B,Ys2: list @ B] :
% 3.04/1.64 ( ( P @ Xs2 @ Ys2 )
% 3.04/1.64 => ( P @ ( cons @ A @ X3 @ Xs2 ) @ ( cons @ B @ Y3 @ Ys2 ) ) )
% 3.04/1.64 => ( P @ Xs @ Ys ) ) ) ) ) ).
% 3.04/1.64
% 3.04/1.64 thf(fact_155_splice_Oinduct,axiom,
% 3.04/1.64 ! [A: $tType,P: ( list @ A ) > ( list @ A ) > $o,A0: list @ A,A1: list @ A] :
% 3.04/1.64 ( ! [X1: list @ A] : ( P @ ( nil @ A ) @ X1 )
% 3.04/1.64 => ( ! [V: A,Va: list @ A] : ( P @ ( cons @ A @ V @ Va ) @ ( nil @ A ) )
% 3.04/1.64 => ( ! [X3: A,Xs2: list @ A,Y3: A,Ys2: list @ A] :
% 3.04/1.64 ( ( P @ Xs2 @ Ys2 )
% 3.04/1.64 => ( P @ ( cons @ A @ X3 @ Xs2 ) @ ( cons @ A @ Y3 @ Ys2 ) ) )
% 3.04/1.64 => ( P @ A0 @ A1 ) ) ) ) ).
% 3.04/1.64
% 3.04/1.64 thf(fact_156_eq__Nil__appendI,axiom,
% 3.04/1.64 ! [A: $tType,Xs: list @ A,Ys: list @ A] :
% 3.04/1.64 ( ( Xs = Ys )
% 3.04/1.64 => ( Xs
% 3.04/1.64 = ( append @ A @ ( nil @ A ) @ Ys ) ) ) ).
% 3.04/1.64
% 3.04/1.64 thf(fact_157_transpose_Ocases,axiom,
% 3.04/1.64 ! [A: $tType,X: list @ ( list @ A )] :
% 3.04/1.64 ( ( X
% 3.04/1.64 != ( nil @ ( list @ A ) ) )
% 3.04/1.64 => ( ! [Xss: list @ ( list @ A )] :
% 3.04/1.64 ( X
% 3.04/1.64 != ( cons @ ( list @ A ) @ ( nil @ A ) @ Xss ) )
% 3.04/1.64 => ~ ! [X3: A,Xs2: list @ A,Xss: list @ ( list @ A )] :
% 3.04/1.64 ( X
% 3.04/1.64 != ( cons @ ( list @ A ) @ ( cons @ A @ X3 @ Xs2 ) @ Xss ) ) ) ) ).
% 3.04/1.64
% 3.04/1.64 thf(fact_158_append__Nil,axiom,
% 3.04/1.64 ! [A: $tType,Ys: list @ A] :
% 3.04/1.64 ( ( append @ A @ ( nil @ A ) @ Ys )
% 3.04/1.64 = Ys ) ).
% 3.04/1.64
% 3.04/1.64 thf(fact_159_remdups__adj_Ocases,axiom,
% 3.04/1.64 ! [A: $tType,X: list @ A] :
% 3.04/1.64 ( ( X
% 3.04/1.64 != ( nil @ A ) )
% 3.04/1.64 => ( ! [X3: A] :
% 3.04/1.64 ( X
% 3.04/1.64 != ( cons @ A @ X3 @ ( nil @ A ) ) )
% 3.04/1.64 => ~ ! [X3: A,Y3: A,Xs2: list @ A] :
% 3.04/1.64 ( X
% 3.04/1.64 != ( cons @ A @ X3 @ ( cons @ A @ Y3 @ Xs2 ) ) ) ) ) ).
% 3.04/1.64
% 3.04/1.64 thf(fact_160_remdups__adj_Oinduct,axiom,
% 3.04/1.64 ! [A: $tType,P: ( list @ A ) > $o,A0: list @ A] :
% 3.04/1.64 ( ( P @ ( nil @ A ) )
% 3.04/1.64 => ( ! [X3: A] : ( P @ ( cons @ A @ X3 @ ( nil @ A ) ) )
% 3.04/1.64 => ( ! [X3: A,Y3: A,Xs2: list @ A] :
% 3.04/1.64 ( ( ( X3 = Y3 )
% 3.04/1.64 => ( P @ ( cons @ A @ X3 @ Xs2 ) ) )
% 3.04/1.64 => ( ( ( X3 != Y3 )
% 3.04/1.64 => ( P @ ( cons @ A @ Y3 @ Xs2 ) ) )
% 3.04/1.64 => ( P @ ( cons @ A @ X3 @ ( cons @ A @ Y3 @ Xs2 ) ) ) ) )
% 3.04/1.64 => ( P @ A0 ) ) ) ) ).
% 3.04/1.64
% 3.04/1.64 thf(fact_161_list__nonempty__induct,axiom,
% 3.04/1.64 ! [A: $tType,Xs: list @ A,P: ( list @ A ) > $o] :
% 3.04/1.64 ( ( Xs
% 3.04/1.64 != ( nil @ A ) )
% 3.04/1.64 => ( ! [X3: A] : ( P @ ( cons @ A @ X3 @ ( nil @ A ) ) )
% 3.04/1.64 => ( ! [X3: A,Xs2: list @ A] :
% 3.04/1.64 ( ( Xs2
% 3.04/1.64 != ( nil @ A ) )
% 3.04/1.64 => ( ( P @ Xs2 )
% 3.04/1.64 => ( P @ ( cons @ A @ X3 @ Xs2 ) ) ) )
% 3.04/1.64 => ( P @ Xs ) ) ) ) ).
% 3.04/1.64
% 3.04/1.64 thf(fact_162_map__tailrec__rev_Oinduct,axiom,
% 3.04/1.64 ! [A: $tType,B: $tType,P: ( A > B ) > ( list @ A ) > ( list @ B ) > $o,A0: A > B,A1: list @ A,A22: list @ B] :
% 3.04/1.64 ( ! [F2: A > B,X1: list @ B] : ( P @ F2 @ ( nil @ A ) @ X1 )
% 3.04/1.64 => ( ! [F2: A > B,A4: A,As: list @ A,Bs: list @ B] :
% 3.04/1.64 ( ( P @ F2 @ As @ ( cons @ B @ ( F2 @ A4 ) @ Bs ) )
% 3.04/1.64 => ( P @ F2 @ ( cons @ A @ A4 @ As ) @ Bs ) )
% 3.04/1.64 => ( P @ A0 @ A1 @ A22 ) ) ) ).
% 3.04/1.64
% 3.04/1.64 thf(fact_163_maps__simps_I2_J,axiom,
% 3.04/1.64 ! [B: $tType,A: $tType,F: B > ( list @ A )] :
% 3.04/1.64 ( ( maps @ B @ A @ F @ ( nil @ B ) )
% 3.04/1.64 = ( nil @ A ) ) ).
% 3.04/1.64
% 3.04/1.64 thf(fact_164_list__of__code,axiom,
% 3.04/1.64 ! [A: $tType] :
% 3.04/1.64 ( ( coindu1736001939ist_of @ A )
% 3.04/1.64 = ( coindu1542816657of_aux @ A @ ( nil @ A ) ) ) ).
% 3.04/1.64
% 3.04/1.64 thf(fact_165_rev__induct,axiom,
% 3.04/1.64 ! [A: $tType,P: ( list @ A ) > $o,Xs: list @ A] :
% 3.04/1.64 ( ( P @ ( nil @ A ) )
% 3.04/1.64 => ( ! [X3: A,Xs2: list @ A] :
% 3.04/1.64 ( ( P @ Xs2 )
% 3.04/1.64 => ( P @ ( append @ A @ Xs2 @ ( cons @ A @ X3 @ ( nil @ A ) ) ) ) )
% 3.04/1.64 => ( P @ Xs ) ) ) ).
% 3.04/1.64
% 3.04/1.64 thf(fact_166_rev__exhaust,axiom,
% 3.04/1.64 ! [A: $tType,Xs: list @ A] :
% 3.04/1.64 ( ( Xs
% 3.04/1.64 != ( nil @ A ) )
% 3.04/1.64 => ~ ! [Ys2: list @ A,Y3: A] :
% 3.04/1.64 ( Xs
% 3.04/1.64 != ( append @ A @ Ys2 @ ( cons @ A @ Y3 @ ( nil @ A ) ) ) ) ) ).
% 3.04/1.64
% 3.04/1.64 thf(fact_167_Cons__eq__append__conv,axiom,
% 3.04/1.64 ! [A: $tType,X: A,Xs: list @ A,Ys: list @ A,Zs: list @ A] :
% 3.04/1.64 ( ( ( cons @ A @ X @ Xs )
% 3.04/1.64 = ( append @ A @ Ys @ Zs ) )
% 3.04/1.64 = ( ( ( Ys
% 3.04/1.64 = ( nil @ A ) )
% 3.04/1.64 & ( ( cons @ A @ X @ Xs )
% 3.04/1.64 = Zs ) )
% 3.04/1.64 | ? [Ys5: list @ A] :
% 3.04/1.64 ( ( ( cons @ A @ X @ Ys5 )
% 3.04/1.64 = Ys )
% 3.04/1.64 & ( Xs
% 3.04/1.64 = ( append @ A @ Ys5 @ Zs ) ) ) ) ) ).
% 3.04/1.64
% 3.04/1.64 thf(fact_168_append__eq__Cons__conv,axiom,
% 3.04/1.64 ! [A: $tType,Ys: list @ A,Zs: list @ A,X: A,Xs: list @ A] :
% 3.04/1.64 ( ( ( append @ A @ Ys @ Zs )
% 3.04/1.64 = ( cons @ A @ X @ Xs ) )
% 3.04/1.64 = ( ( ( Ys
% 3.04/1.64 = ( nil @ A ) )
% 3.04/1.64 & ( Zs
% 3.04/1.64 = ( cons @ A @ X @ Xs ) ) )
% 3.04/1.64 | ? [Ys5: list @ A] :
% 3.04/1.64 ( ( Ys
% 3.04/1.64 = ( cons @ A @ X @ Ys5 ) )
% 3.04/1.64 & ( ( append @ A @ Ys5 @ Zs )
% 3.04/1.64 = Xs ) ) ) ) ).
% 3.04/1.64
% 3.04/1.64 thf(fact_169_rev__nonempty__induct,axiom,
% 3.04/1.64 ! [A: $tType,Xs: list @ A,P: ( list @ A ) > $o] :
% 3.04/1.64 ( ( Xs
% 3.04/1.64 != ( nil @ A ) )
% 3.04/1.64 => ( ! [X3: A] : ( P @ ( cons @ A @ X3 @ ( nil @ A ) ) )
% 3.04/1.64 => ( ! [X3: A,Xs2: list @ A] :
% 3.04/1.64 ( ( Xs2
% 3.04/1.64 != ( nil @ A ) )
% 3.04/1.64 => ( ( P @ Xs2 )
% 3.04/1.64 => ( P @ ( append @ A @ Xs2 @ ( cons @ A @ X3 @ ( nil @ A ) ) ) ) ) )
% 3.04/1.64 => ( P @ Xs ) ) ) ) ).
% 3.04/1.64
% 3.04/1.64 thf(fact_170_last_Osimps,axiom,
% 3.04/1.64 ! [A: $tType,Xs: list @ A,X: A] :
% 3.04/1.64 ( ( ( Xs
% 3.04/1.64 = ( nil @ A ) )
% 3.04/1.64 => ( ( last @ A @ ( cons @ A @ X @ Xs ) )
% 3.04/1.64 = X ) )
% 3.04/1.64 & ( ( Xs
% 3.04/1.64 != ( nil @ A ) )
% 3.04/1.64 => ( ( last @ A @ ( cons @ A @ X @ Xs ) )
% 3.04/1.64 = ( last @ A @ Xs ) ) ) ) ).
% 3.04/1.64
% 3.04/1.64 thf(fact_171_last__ConsL,axiom,
% 3.04/1.64 ! [A: $tType,Xs: list @ A,X: A] :
% 3.04/1.64 ( ( Xs
% 3.04/1.64 = ( nil @ A ) )
% 3.04/1.64 => ( ( last @ A @ ( cons @ A @ X @ Xs ) )
% 3.04/1.64 = X ) ) ).
% 3.04/1.64
% 3.04/1.64 thf(fact_172_last__ConsR,axiom,
% 3.04/1.64 ! [A: $tType,Xs: list @ A,X: A] :
% 3.04/1.64 ( ( Xs
% 3.04/1.64 != ( nil @ A ) )
% 3.04/1.64 => ( ( last @ A @ ( cons @ A @ X @ Xs ) )
% 3.04/1.64 = ( last @ A @ Xs ) ) ) ).
% 3.04/1.64
% 3.04/1.64 thf(fact_173_llist__of_Osimps_I1_J,axiom,
% 3.04/1.64 ! [A: $tType] :
% 3.04/1.64 ( ( coindu1079202755ist_of @ A @ ( nil @ A ) )
% 3.04/1.64 = ( coindu1598213697e_LNil @ A ) ) ).
% 3.04/1.64
% 3.04/1.64 thf(fact_174_llist__of__eq__LNil__conv,axiom,
% 3.04/1.64 ! [A: $tType,Xs: list @ A] :
% 3.04/1.64 ( ( ( coindu1079202755ist_of @ A @ Xs )
% 3.04/1.64 = ( coindu1598213697e_LNil @ A ) )
% 3.04/1.64 = ( Xs
% 3.04/1.64 = ( nil @ A ) ) ) ).
% 3.04/1.64
% 3.04/1.64 thf(fact_175_last__append,axiom,
% 3.04/1.64 ! [A: $tType,Ys: list @ A,Xs: list @ A] :
% 3.04/1.64 ( ( ( Ys
% 3.04/1.64 = ( nil @ A ) )
% 3.04/1.64 => ( ( last @ A @ ( append @ A @ Xs @ Ys ) )
% 3.04/1.64 = ( last @ A @ Xs ) ) )
% 3.04/1.64 & ( ( Ys
% 3.04/1.64 != ( nil @ A ) )
% 3.04/1.64 => ( ( last @ A @ ( append @ A @ Xs @ Ys ) )
% 3.04/1.64 = ( last @ A @ Ys ) ) ) ) ).
% 3.04/1.64
% 3.04/1.64 thf(fact_176_longest__common__suffix,axiom,
% 3.04/1.64 ! [A: $tType,Xs: list @ A,Ys: list @ A] :
% 3.04/1.64 ? [Ss: list @ A,Xs6: list @ A,Ys6: list @ A] :
% 3.04/1.64 ( ( Xs
% 3.04/1.64 = ( append @ A @ Xs6 @ Ss ) )
% 3.04/1.64 & ( Ys
% 3.04/1.64 = ( append @ A @ Ys6 @ Ss ) )
% 3.04/1.64 & ( ( Xs6
% 3.04/1.64 = ( nil @ A ) )
% 3.04/1.64 | ( Ys6
% 3.04/1.64 = ( nil @ A ) )
% 3.04/1.64 | ( ( last @ A @ Xs6 )
% 3.04/1.64 != ( last @ A @ Ys6 ) ) ) ) ).
% 3.04/1.64
% 3.04/1.64 thf(fact_177_longest__common__prefix_Oinduct,axiom,
% 3.04/1.64 ! [A: $tType,P: ( list @ A ) > ( list @ A ) > $o,A0: list @ A,A1: list @ A] :
% 3.04/1.64 ( ! [X3: A,Xs2: list @ A,Y3: A,Ys2: list @ A] :
% 3.04/1.64 ( ( ( X3 = Y3 )
% 3.04/1.64 => ( P @ Xs2 @ Ys2 ) )
% 3.04/1.64 => ( P @ ( cons @ A @ X3 @ Xs2 ) @ ( cons @ A @ Y3 @ Ys2 ) ) )
% 3.04/1.64 => ( ! [X1: list @ A] : ( P @ ( nil @ A ) @ X1 )
% 3.04/1.64 => ( ! [Uu: list @ A] : ( P @ Uu @ ( nil @ A ) )
% 3.04/1.64 => ( P @ A0 @ A1 ) ) ) ) ).
% 3.04/1.64
% 3.04/1.64 thf(fact_178_prefixes_Oinduct,axiom,
% 3.04/1.64 ! [A: $tType,P: ( list @ A ) > $o,A0: list @ A] :
% 3.04/1.64 ( ( P @ ( nil @ A ) )
% 3.04/1.64 => ( ! [X3: A,Xs2: list @ A] :
% 3.04/1.64 ( ( P @ Xs2 )
% 3.04/1.64 => ( P @ ( cons @ A @ X3 @ Xs2 ) ) )
% 3.04/1.64 => ( P @ A0 ) ) ) ).
% 3.04/1.64
% 3.04/1.64 thf(fact_179_prefixes_Ocases,axiom,
% 3.04/1.64 ! [A: $tType,X: list @ A] :
% 3.04/1.64 ( ( X
% 3.04/1.64 != ( nil @ A ) )
% 3.04/1.64 => ~ ! [X3: A,Xs2: list @ A] :
% 3.04/1.64 ( X
% 3.04/1.64 != ( cons @ A @ X3 @ Xs2 ) ) ) ).
% 3.04/1.64
% 3.04/1.64 thf(fact_180_list__of__aux__def,axiom,
% 3.04/1.64 ! [A: $tType] :
% 3.04/1.64 ( ( coindu1542816657of_aux @ A )
% 3.04/1.64 = ( ^ [Xs3: list @ A,Ys3: coindu1593790203_llist @ A] : ( if @ ( list @ A ) @ ( coindu1213758845finite @ A @ Ys3 ) @ ( append @ A @ ( rev @ A @ Xs3 ) @ ( coindu1736001939ist_of @ A @ Ys3 ) ) @ ( undefined @ ( list @ A ) ) ) ) ) ).
% 3.04/1.64
% 3.04/1.64 thf(fact_181_rev__rev__ident,axiom,
% 3.04/1.64 ! [A: $tType,Xs: list @ A] :
% 3.04/1.64 ( ( rev @ A @ ( rev @ A @ Xs ) )
% 3.04/1.64 = Xs ) ).
% 3.04/1.64
% 3.04/1.64 thf(fact_182_rev__is__rev__conv,axiom,
% 3.04/1.64 ! [A: $tType,Xs: list @ A,Ys: list @ A] :
% 3.04/1.64 ( ( ( rev @ A @ Xs )
% 3.04/1.64 = ( rev @ A @ Ys ) )
% 3.04/1.64 = ( Xs = Ys ) ) ).
% 3.04/1.64
% 3.04/1.64 thf(fact_183_rev__is__Nil__conv,axiom,
% 3.04/1.64 ! [A: $tType,Xs: list @ A] :
% 3.04/1.64 ( ( ( rev @ A @ Xs )
% 3.04/1.64 = ( nil @ A ) )
% 3.04/1.64 = ( Xs
% 3.04/1.64 = ( nil @ A ) ) ) ).
% 3.04/1.64
% 3.04/1.64 thf(fact_184_Nil__is__rev__conv,axiom,
% 3.04/1.64 ! [A: $tType,Xs: list @ A] :
% 3.04/1.64 ( ( ( nil @ A )
% 3.04/1.64 = ( rev @ A @ Xs ) )
% 3.04/1.64 = ( Xs
% 3.04/1.64 = ( nil @ A ) ) ) ).
% 3.04/1.64
% 3.04/1.64 thf(fact_185_rev__append,axiom,
% 3.04/1.64 ! [A: $tType,Xs: list @ A,Ys: list @ A] :
% 3.04/1.64 ( ( rev @ A @ ( append @ A @ Xs @ Ys ) )
% 3.04/1.64 = ( append @ A @ ( rev @ A @ Ys ) @ ( rev @ A @ Xs ) ) ) ).
% 3.04/1.64
% 3.04/1.64 thf(fact_186_singleton__rev__conv,axiom,
% 3.04/1.64 ! [A: $tType,X: A,Xs: list @ A] :
% 3.04/1.64 ( ( ( cons @ A @ X @ ( nil @ A ) )
% 3.04/1.64 = ( rev @ A @ Xs ) )
% 3.04/1.64 = ( Xs
% 3.04/1.64 = ( cons @ A @ X @ ( nil @ A ) ) ) ) ).
% 3.04/1.64
% 3.04/1.64 thf(fact_187_rev__singleton__conv,axiom,
% 3.04/1.64 ! [A: $tType,Xs: list @ A,X: A] :
% 3.04/1.64 ( ( ( rev @ A @ Xs )
% 3.04/1.64 = ( cons @ A @ X @ ( nil @ A ) ) )
% 3.04/1.64 = ( Xs
% 3.04/1.64 = ( cons @ A @ X @ ( nil @ A ) ) ) ) ).
% 3.04/1.64
% 3.04/1.64 thf(fact_188_rev__eq__Cons__iff,axiom,
% 3.04/1.64 ! [A: $tType,Xs: list @ A,Y: A,Ys: list @ A] :
% 3.04/1.64 ( ( ( rev @ A @ Xs )
% 3.04/1.64 = ( cons @ A @ Y @ Ys ) )
% 3.04/1.64 = ( Xs
% 3.04/1.64 = ( append @ A @ ( rev @ A @ Ys ) @ ( cons @ A @ Y @ ( nil @ A ) ) ) ) ) ).
% 3.04/1.64
% 3.04/1.64 thf(fact_189_rev_Osimps_I1_J,axiom,
% 3.04/1.64 ! [A: $tType] :
% 3.04/1.64 ( ( rev @ A @ ( nil @ A ) )
% 3.04/1.64 = ( nil @ A ) ) ).
% 3.04/1.64
% 3.04/1.64 thf(fact_190_rev__swap,axiom,
% 3.04/1.64 ! [A: $tType,Xs: list @ A,Ys: list @ A] :
% 3.04/1.64 ( ( ( rev @ A @ Xs )
% 3.04/1.64 = Ys )
% 3.04/1.64 = ( Xs
% 3.04/1.64 = ( rev @ A @ Ys ) ) ) ).
% 3.04/1.64
% 3.04/1.64 thf(fact_191_list__of__aux__code_I1_J,axiom,
% 3.04/1.64 ! [A: $tType,Xs: list @ A] :
% 3.04/1.64 ( ( coindu1542816657of_aux @ A @ Xs @ ( coindu1598213697e_LNil @ A ) )
% 3.04/1.64 = ( rev @ A @ Xs ) ) ).
% 3.04/1.64
% 3.04/1.64 thf(fact_192_rev_Osimps_I2_J,axiom,
% 3.04/1.64 ! [A: $tType,X: A,Xs: list @ A] :
% 3.04/1.64 ( ( rev @ A @ ( cons @ A @ X @ Xs ) )
% 3.04/1.64 = ( append @ A @ ( rev @ A @ Xs ) @ ( cons @ A @ X @ ( nil @ A ) ) ) ) ).
% 3.04/1.64
% 3.04/1.64 thf(fact_193_prefixes__snoc,axiom,
% 3.04/1.64 ! [A: $tType,Xs: list @ A,X: A] :
% 3.04/1.64 ( ( prefixes @ A @ ( append @ A @ Xs @ ( cons @ A @ X @ ( nil @ A ) ) ) )
% 3.04/1.64 = ( append @ ( list @ A ) @ ( prefixes @ A @ Xs ) @ ( cons @ ( list @ A ) @ ( append @ A @ Xs @ ( cons @ A @ X @ ( nil @ A ) ) ) @ ( nil @ ( list @ A ) ) ) ) ) ).
% 3.04/1.64
% 3.04/1.64 thf(fact_194_prefixes__eq__Snoc,axiom,
% 3.04/1.64 ! [A: $tType,Ys: list @ A,Xs: list @ ( list @ A ),X: list @ A] :
% 3.04/1.64 ( ( ( prefixes @ A @ Ys )
% 3.04/1.64 = ( append @ ( list @ A ) @ Xs @ ( cons @ ( list @ A ) @ X @ ( nil @ ( list @ A ) ) ) ) )
% 3.04/1.64 = ( ( ( ( Ys
% 3.04/1.64 = ( nil @ A ) )
% 3.04/1.64 & ( Xs
% 3.04/1.64 = ( nil @ ( list @ A ) ) ) )
% 3.04/1.64 | ? [Z2: A,Zs2: list @ A] :
% 3.04/1.64 ( ( Ys
% 3.04/1.64 = ( append @ A @ Zs2 @ ( cons @ A @ Z2 @ ( nil @ A ) ) ) )
% 3.04/1.64 & ( Xs
% 3.04/1.64 = ( prefixes @ A @ Zs2 ) ) ) )
% 3.04/1.64 & ( X = Ys ) ) ) ).
% 3.04/1.64
% 3.04/1.64 thf(fact_195_sublists_Osimps_I1_J,axiom,
% 3.04/1.64 ! [A: $tType] :
% 3.04/1.64 ( ( sublists @ A @ ( nil @ A ) )
% 3.04/1.64 = ( cons @ ( list @ A ) @ ( nil @ A ) @ ( nil @ ( list @ A ) ) ) ) ).
% 3.04/1.64
% 3.04/1.64 thf(fact_196_prefixes_Osimps_I1_J,axiom,
% 3.04/1.64 ! [A: $tType] :
% 3.04/1.64 ( ( prefixes @ A @ ( nil @ A ) )
% 3.04/1.64 = ( cons @ ( list @ A ) @ ( nil @ A ) @ ( nil @ ( list @ A ) ) ) ) ).
% 3.04/1.64
% 3.04/1.64 thf(fact_197_append__butlast__last__id,axiom,
% 3.04/1.64 ! [A: $tType,Xs: list @ A] :
% 3.04/1.64 ( ( Xs
% 3.04/1.64 != ( nil @ A ) )
% 3.04/1.64 => ( ( append @ A @ ( butlast @ A @ Xs ) @ ( cons @ A @ ( last @ A @ Xs ) @ ( nil @ A ) ) )
% 3.04/1.64 = Xs ) ) ).
% 3.04/1.64
% 3.04/1.64 thf(fact_198_product__lists_Osimps_I1_J,axiom,
% 3.04/1.64 ! [A: $tType] :
% 3.04/1.64 ( ( product_lists @ A @ ( nil @ ( list @ A ) ) )
% 3.04/1.64 = ( cons @ ( list @ A ) @ ( nil @ A ) @ ( nil @ ( list @ A ) ) ) ) ).
% 3.04/1.64
% 3.04/1.64 thf(fact_199_butlast__snoc,axiom,
% 3.04/1.64 ! [A: $tType,Xs: list @ A,X: A] :
% 3.04/1.64 ( ( butlast @ A @ ( append @ A @ Xs @ ( cons @ A @ X @ ( nil @ A ) ) ) )
% 3.04/1.64 = Xs ) ).
% 3.04/1.64
% 3.04/1.64 thf(fact_200_butlast_Osimps_I2_J,axiom,
% 3.04/1.64 ! [A: $tType,Xs: list @ A,X: A] :
% 3.04/1.64 ( ( ( Xs
% 3.04/1.64 = ( nil @ A ) )
% 3.04/1.64 => ( ( butlast @ A @ ( cons @ A @ X @ Xs ) )
% 3.04/1.64 = ( nil @ A ) ) )
% 3.04/1.64 & ( ( Xs
% 3.04/1.64 != ( nil @ A ) )
% 3.04/1.64 => ( ( butlast @ A @ ( cons @ A @ X @ Xs ) )
% 3.04/1.64 = ( cons @ A @ X @ ( butlast @ A @ Xs ) ) ) ) ) ).
% 3.04/1.64
% 3.04/1.64 thf(fact_201_butlast_Osimps_I1_J,axiom,
% 3.04/1.64 ! [A: $tType] :
% 3.04/1.64 ( ( butlast @ A @ ( nil @ A ) )
% 3.04/1.64 = ( nil @ A ) ) ).
% 3.04/1.64
% 3.04/1.64 thf(fact_202_butlast__append,axiom,
% 3.04/1.64 ! [A: $tType,Ys: list @ A,Xs: list @ A] :
% 3.04/1.64 ( ( ( Ys
% 3.04/1.64 = ( nil @ A ) )
% 3.04/1.64 => ( ( butlast @ A @ ( append @ A @ Xs @ Ys ) )
% 3.04/1.64 = ( butlast @ A @ Xs ) ) )
% 3.04/1.64 & ( ( Ys
% 3.04/1.64 != ( nil @ A ) )
% 3.04/1.64 => ( ( butlast @ A @ ( append @ A @ Xs @ Ys ) )
% 3.04/1.64 = ( append @ A @ Xs @ ( butlast @ A @ Ys ) ) ) ) ) ).
% 3.04/1.64
% 3.04/1.64 thf(fact_203_snoc__eq__iff__butlast,axiom,
% 3.04/1.64 ! [A: $tType,Xs: list @ A,X: A,Ys: list @ A] :
% 3.04/1.64 ( ( ( append @ A @ Xs @ ( cons @ A @ X @ ( nil @ A ) ) )
% 3.04/1.64 = Ys )
% 3.04/1.64 = ( ( Ys
% 3.04/1.64 != ( nil @ A ) )
% 3.04/1.64 & ( ( butlast @ A @ Ys )
% 3.04/1.64 = Xs )
% 3.04/1.64 & ( ( last @ A @ Ys )
% 3.04/1.64 = X ) ) ) ).
% 3.04/1.64
% 3.04/1.64 thf(fact_204_prefixes_Oelims,axiom,
% 3.04/1.64 ! [A: $tType,X: list @ A,Y: list @ ( list @ A )] :
% 3.04/1.64 ( ( ( prefixes @ A @ X )
% 3.04/1.64 = Y )
% 3.04/1.64 => ( ( ( X
% 3.04/1.64 = ( nil @ A ) )
% 3.04/1.64 => ( Y
% 3.04/1.64 != ( cons @ ( list @ A ) @ ( nil @ A ) @ ( nil @ ( list @ A ) ) ) ) )
% 3.04/1.64 => ~ ! [X3: A,Xs2: list @ A] :
% 3.04/1.64 ( ( X
% 3.04/1.64 = ( cons @ A @ X3 @ Xs2 ) )
% 3.04/1.64 => ( Y
% 3.04/1.64 != ( cons @ ( list @ A ) @ ( nil @ A ) @ ( map @ ( list @ A ) @ ( list @ A ) @ ( cons @ A @ X3 ) @ ( prefixes @ A @ Xs2 ) ) ) ) ) ) ) ).
% 3.04/1.64
% 3.04/1.64 thf(fact_205_insert__Nil,axiom,
% 3.04/1.64 ! [A: $tType,X: A] :
% 3.04/1.64 ( ( insert @ A @ X @ ( nil @ A ) )
% 3.04/1.64 = ( cons @ A @ X @ ( nil @ A ) ) ) ).
% 3.04/1.64
% 3.04/1.64 thf(fact_206_list_Omap__disc__iff,axiom,
% 3.04/1.64 ! [B: $tType,A: $tType,F: A > B,A2: list @ A] :
% 3.04/1.64 ( ( ( map @ A @ B @ F @ A2 )
% 3.04/1.64 = ( nil @ B ) )
% 3.04/1.64 = ( A2
% 3.04/1.64 = ( nil @ A ) ) ) ).
% 3.04/1.64
% 3.04/1.64 thf(fact_207_map__is__Nil__conv,axiom,
% 3.04/1.64 ! [A: $tType,B: $tType,F: B > A,Xs: list @ B] :
% 3.04/1.64 ( ( ( map @ B @ A @ F @ Xs )
% 3.04/1.64 = ( nil @ A ) )
% 3.04/1.64 = ( Xs
% 3.04/1.64 = ( nil @ B ) ) ) ).
% 3.04/1.64
% 3.04/1.64 thf(fact_208_Nil__is__map__conv,axiom,
% 3.04/1.64 ! [A: $tType,B: $tType,F: B > A,Xs: list @ B] :
% 3.04/1.64 ( ( ( nil @ A )
% 3.04/1.64 = ( map @ B @ A @ F @ Xs ) )
% 3.04/1.64 = ( Xs
% 3.04/1.64 = ( nil @ B ) ) ) ).
% 3.04/1.64
% 3.04/1.64 thf(fact_209_map__append,axiom,
% 3.04/1.64 ! [A: $tType,B: $tType,F: B > A,Xs: list @ B,Ys: list @ B] :
% 3.04/1.64 ( ( map @ B @ A @ F @ ( append @ B @ Xs @ Ys ) )
% 3.04/1.64 = ( append @ A @ ( map @ B @ A @ F @ Xs ) @ ( map @ B @ A @ F @ Ys ) ) ) ).
% 3.04/1.64
% 3.04/1.64 thf(fact_210_map__butlast,axiom,
% 3.04/1.64 ! [A: $tType,B: $tType,F: B > A,Xs: list @ B] :
% 3.04/1.64 ( ( map @ B @ A @ F @ ( butlast @ B @ Xs ) )
% 3.04/1.64 = ( butlast @ A @ ( map @ B @ A @ F @ Xs ) ) ) ).
% 3.04/1.64
% 3.04/1.64 thf(fact_211_list_Osimps_I8_J,axiom,
% 3.04/1.64 ! [A: $tType,B: $tType,F: A > B] :
% 3.04/1.64 ( ( map @ A @ B @ F @ ( nil @ A ) )
% 3.04/1.64 = ( nil @ B ) ) ).
% 3.04/1.64
% 3.04/1.64 thf(fact_212_rev__map,axiom,
% 3.04/1.64 ! [A: $tType,B: $tType,F: B > A,Xs: list @ B] :
% 3.04/1.64 ( ( rev @ A @ ( map @ B @ A @ F @ Xs ) )
% 3.04/1.64 = ( map @ B @ A @ F @ ( rev @ B @ Xs ) ) ) ).
% 3.04/1.64
% 3.04/1.64 thf(fact_213_map__eq__Cons__conv,axiom,
% 3.04/1.64 ! [A: $tType,B: $tType,F: B > A,Xs: list @ B,Y: A,Ys: list @ A] :
% 3.04/1.64 ( ( ( map @ B @ A @ F @ Xs )
% 3.04/1.64 = ( cons @ A @ Y @ Ys ) )
% 3.04/1.64 = ( ? [Z2: B,Zs2: list @ B] :
% 3.04/1.64 ( ( Xs
% 3.04/1.64 = ( cons @ B @ Z2 @ Zs2 ) )
% 3.04/1.64 & ( ( F @ Z2 )
% 3.04/1.64 = Y )
% 3.04/1.64 & ( ( map @ B @ A @ F @ Zs2 )
% 3.04/1.64 = Ys ) ) ) ) ).
% 3.04/1.64
% 3.04/1.64 thf(fact_214_Cons__eq__map__conv,axiom,
% 3.04/1.64 ! [A: $tType,B: $tType,X: A,Xs: list @ A,F: B > A,Ys: list @ B] :
% 3.04/1.64 ( ( ( cons @ A @ X @ Xs )
% 3.04/1.64 = ( map @ B @ A @ F @ Ys ) )
% 3.04/1.64 = ( ? [Z2: B,Zs2: list @ B] :
% 3.04/1.64 ( ( Ys
% 3.04/1.64 = ( cons @ B @ Z2 @ Zs2 ) )
% 3.04/1.64 & ( X
% 3.04/1.64 = ( F @ Z2 ) )
% 3.04/1.64 & ( Xs
% 3.04/1.64 = ( map @ B @ A @ F @ Zs2 ) ) ) ) ) ).
% 3.04/1.64
% 3.04/1.64 thf(fact_215_map__eq__Cons__D,axiom,
% 3.04/1.64 ! [B: $tType,A: $tType,F: B > A,Xs: list @ B,Y: A,Ys: list @ A] :
% 3.04/1.64 ( ( ( map @ B @ A @ F @ Xs )
% 3.04/1.64 = ( cons @ A @ Y @ Ys ) )
% 3.04/1.64 => ? [Z3: B,Zs5: list @ B] :
% 3.04/1.64 ( ( Xs
% 3.04/1.64 = ( cons @ B @ Z3 @ Zs5 ) )
% 3.04/1.64 & ( ( F @ Z3 )
% 3.04/1.64 = Y )
% 3.04/1.64 & ( ( map @ B @ A @ F @ Zs5 )
% 3.04/1.64 = Ys ) ) ) ).
% 3.04/1.64
% 3.04/1.64 thf(fact_216_Cons__eq__map__D,axiom,
% 3.04/1.64 ! [A: $tType,B: $tType,X: A,Xs: list @ A,F: B > A,Ys: list @ B] :
% 3.04/1.64 ( ( ( cons @ A @ X @ Xs )
% 3.04/1.64 = ( map @ B @ A @ F @ Ys ) )
% 3.04/1.64 => ? [Z3: B,Zs5: list @ B] :
% 3.04/1.64 ( ( Ys
% 3.04/1.64 = ( cons @ B @ Z3 @ Zs5 ) )
% 3.04/1.64 & ( X
% 3.04/1.64 = ( F @ Z3 ) )
% 3.04/1.64 & ( Xs
% 3.04/1.64 = ( map @ B @ A @ F @ Zs5 ) ) ) ) ).
% 3.04/1.64
% 3.04/1.64 thf(fact_217_list_Osimps_I9_J,axiom,
% 3.04/1.64 ! [B: $tType,A: $tType,F: A > B,X21: A,X22: list @ A] :
% 3.04/1.64 ( ( map @ A @ B @ F @ ( cons @ A @ X21 @ X22 ) )
% 3.04/1.64 = ( cons @ B @ ( F @ X21 ) @ ( map @ A @ B @ F @ X22 ) ) ) ).
% 3.04/1.64
% 3.04/1.64 thf(fact_218_last__map,axiom,
% 3.04/1.64 ! [B: $tType,A: $tType,Xs: list @ A,F: A > B] :
% 3.04/1.64 ( ( Xs
% 3.04/1.64 != ( nil @ A ) )
% 3.04/1.64 => ( ( last @ B @ ( map @ A @ B @ F @ Xs ) )
% 3.04/1.64 = ( F @ ( last @ A @ Xs ) ) ) ) ).
% 3.04/1.64
% 3.04/1.64 thf(fact_219_prefixes_Osimps_I2_J,axiom,
% 3.04/1.64 ! [A: $tType,X: A,Xs: list @ A] :
% 3.04/1.64 ( ( prefixes @ A @ ( cons @ A @ X @ Xs ) )
% 3.04/1.64 = ( cons @ ( list @ A ) @ ( nil @ A ) @ ( map @ ( list @ A ) @ ( list @ A ) @ ( cons @ A @ X ) @ ( prefixes @ A @ Xs ) ) ) ) ).
% 3.04/1.64
% 3.04/1.64 thf(fact_220_map__tailrec__rev,axiom,
% 3.04/1.64 ! [A: $tType,B: $tType] :
% 3.04/1.64 ( ( map_tailrec_rev @ B @ A )
% 3.04/1.64 = ( ^ [F3: B > A,As2: list @ B] : ( append @ A @ ( rev @ A @ ( map @ B @ A @ F3 @ As2 ) ) ) ) ) ).
% 3.04/1.64
% 3.04/1.64 thf(fact_221_prefixes_Opelims,axiom,
% 3.04/1.64 ! [A: $tType,X: list @ A,Y: list @ ( list @ A )] :
% 3.04/1.64 ( ( ( prefixes @ A @ X )
% 3.04/1.64 = Y )
% 3.04/1.64 => ( ( accp @ ( list @ A ) @ ( prefixes_rel @ A ) @ X )
% 3.04/1.64 => ( ( ( X
% 3.04/1.64 = ( nil @ A ) )
% 3.04/1.64 => ( ( Y
% 3.04/1.64 = ( cons @ ( list @ A ) @ ( nil @ A ) @ ( nil @ ( list @ A ) ) ) )
% 3.04/1.64 => ~ ( accp @ ( list @ A ) @ ( prefixes_rel @ A ) @ ( nil @ A ) ) ) )
% 3.04/1.64 => ~ ! [X3: A,Xs2: list @ A] :
% 3.04/1.64 ( ( X
% 3.04/1.64 = ( cons @ A @ X3 @ Xs2 ) )
% 3.04/1.64 => ( ( Y
% 3.04/1.64 = ( cons @ ( list @ A ) @ ( nil @ A ) @ ( map @ ( list @ A ) @ ( list @ A ) @ ( cons @ A @ X3 ) @ ( prefixes @ A @ Xs2 ) ) ) )
% 3.04/1.64 => ~ ( accp @ ( list @ A ) @ ( prefixes_rel @ A ) @ ( cons @ A @ X3 @ Xs2 ) ) ) ) ) ) ) ).
% 3.04/1.64
% 3.04/1.64 thf(fact_222_map__tailrec__rev_Osimps_I1_J,axiom,
% 3.04/1.64 ! [A: $tType,B: $tType,F: A > B,Bs2: list @ B] :
% 3.04/1.64 ( ( map_tailrec_rev @ A @ B @ F @ ( nil @ A ) @ Bs2 )
% 3.04/1.64 = Bs2 ) ).
% 3.04/1.64
% 3.04/1.64 thf(fact_223_map__tailrec__rev_Osimps_I2_J,axiom,
% 3.04/1.64 ! [A: $tType,B: $tType,F: A > B,A2: A,As3: list @ A,Bs2: list @ B] :
% 3.04/1.64 ( ( map_tailrec_rev @ A @ B @ F @ ( cons @ A @ A2 @ As3 ) @ Bs2 )
% 3.04/1.64 = ( map_tailrec_rev @ A @ B @ F @ As3 @ ( cons @ B @ ( F @ A2 ) @ Bs2 ) ) ) ).
% 3.04/1.64
% 3.04/1.64 thf(fact_224_map__tailrec__rev_Oelims,axiom,
% 3.04/1.64 ! [A: $tType,B: $tType,X: A > B,Xa: list @ A,Xb2: list @ B,Y: list @ B] :
% 3.04/1.64 ( ( ( map_tailrec_rev @ A @ B @ X @ Xa @ Xb2 )
% 3.04/1.64 = Y )
% 3.04/1.64 => ( ( ( Xa
% 3.04/1.64 = ( nil @ A ) )
% 3.04/1.64 => ( Y != Xb2 ) )
% 3.04/1.64 => ~ ! [A4: A,As: list @ A] :
% 3.04/1.64 ( ( Xa
% 3.04/1.64 = ( cons @ A @ A4 @ As ) )
% 3.04/1.64 => ( Y
% 3.04/1.64 != ( map_tailrec_rev @ A @ B @ X @ As @ ( cons @ B @ ( X @ A4 ) @ Xb2 ) ) ) ) ) ) ).
% 3.04/1.64
% 3.04/1.64 thf(fact_225_map__tailrec__def,axiom,
% 3.04/1.64 ! [B: $tType,A: $tType] :
% 3.04/1.64 ( ( map_tailrec @ A @ B )
% 3.04/1.64 = ( ^ [F3: A > B,As2: list @ A] : ( rev @ B @ ( map_tailrec_rev @ A @ B @ F3 @ As2 @ ( nil @ B ) ) ) ) ) ).
% 3.04/1.64
% 3.04/1.64 thf(fact_226_rotate1_Osimps_I2_J,axiom,
% 3.04/1.64 ! [A: $tType,X: A,Xs: list @ A] :
% 3.04/1.64 ( ( rotate1 @ A @ ( cons @ A @ X @ Xs ) )
% 3.04/1.64 = ( append @ A @ Xs @ ( cons @ A @ X @ ( nil @ A ) ) ) ) ).
% 3.04/1.64
% 3.04/1.64 thf(fact_227_rotate1__is__Nil__conv,axiom,
% 3.04/1.64 ! [A: $tType,Xs: list @ A] :
% 3.04/1.64 ( ( ( rotate1 @ A @ Xs )
% 3.04/1.64 = ( nil @ A ) )
% 3.04/1.64 = ( Xs
% 3.04/1.64 = ( nil @ A ) ) ) ).
% 3.04/1.64
% 3.04/1.64 thf(fact_228_rotate1_Osimps_I1_J,axiom,
% 3.04/1.64 ! [A: $tType] :
% 3.04/1.64 ( ( rotate1 @ A @ ( nil @ A ) )
% 3.04/1.64 = ( nil @ A ) ) ).
% 3.04/1.64
% 3.04/1.64 thf(fact_229_map__eq__map__tailrec,axiom,
% 3.04/1.64 ! [B: $tType,A: $tType] :
% 3.04/1.64 ( ( map @ A @ B )
% 3.04/1.64 = ( map_tailrec @ A @ B ) ) ).
% 3.04/1.64
% 3.04/1.64 thf(fact_230_list__ex1__simps_I1_J,axiom,
% 3.04/1.64 ! [A: $tType,P: A > $o] :
% 3.04/1.64 ~ ( list_ex1 @ A @ P @ ( nil @ A ) ) ).
% 3.04/1.64
% 3.04/1.64 thf(fact_231_strict__suffix__def,axiom,
% 3.04/1.64 ! [A: $tType] :
% 3.04/1.64 ( ( strict_suffix @ A )
% 3.04/1.64 = ( ^ [Xs3: list @ A,Ys3: list @ A] :
% 3.04/1.64 ? [Us: list @ A] :
% 3.04/1.64 ( ( Ys3
% 3.04/1.64 = ( append @ A @ Us @ Xs3 ) )
% 3.04/1.64 & ( Us
% 3.04/1.64 != ( nil @ A ) ) ) ) ) ).
% 3.04/1.64
% 3.04/1.64 thf(fact_232_ord_Olexordp__eq__simps_I3_J,axiom,
% 3.04/1.64 ! [A: $tType,Less: A > A > $o,X: A,Xs: list @ A] :
% 3.04/1.64 ~ ( lexordp_eq @ A @ Less @ ( cons @ A @ X @ Xs ) @ ( nil @ A ) ) ).
% 3.04/1.64
% 3.04/1.64 thf(fact_233_nth__append__length,axiom,
% 3.04/1.64 ! [A: $tType,Xs: list @ A,X: A,Ys: list @ A] :
% 3.04/1.64 ( ( nth @ A @ ( append @ A @ Xs @ ( cons @ A @ X @ Ys ) ) @ ( size_size @ ( list @ A ) @ Xs ) )
% 3.04/1.64 = X ) ).
% 3.04/1.64
% 3.04/1.64 thf(fact_234_length__map,axiom,
% 3.04/1.64 ! [A: $tType,B: $tType,F: B > A,Xs: list @ B] :
% 3.04/1.64 ( ( size_size @ ( list @ A ) @ ( map @ B @ A @ F @ Xs ) )
% 3.04/1.64 = ( size_size @ ( list @ B ) @ Xs ) ) ).
% 3.04/1.64
% 3.04/1.64 thf(fact_235_append__eq__append__conv,axiom,
% 3.04/1.64 ! [A: $tType,Xs: list @ A,Ys: list @ A,Us2: list @ A,Vs: list @ A] :
% 3.04/1.64 ( ( ( ( size_size @ ( list @ A ) @ Xs )
% 3.04/1.64 = ( size_size @ ( list @ A ) @ Ys ) )
% 3.04/1.64 | ( ( size_size @ ( list @ A ) @ Us2 )
% 3.04/1.64 = ( size_size @ ( list @ A ) @ Vs ) ) )
% 3.04/1.64 => ( ( ( append @ A @ Xs @ Us2 )
% 3.04/1.64 = ( append @ A @ Ys @ Vs ) )
% 3.04/1.64 = ( ( Xs = Ys )
% 3.04/1.64 & ( Us2 = Vs ) ) ) ) ).
% 3.04/1.64
% 3.04/1.64 thf(fact_236_length__rev,axiom,
% 3.04/1.64 ! [A: $tType,Xs: list @ A] :
% 3.04/1.64 ( ( size_size @ ( list @ A ) @ ( rev @ A @ Xs ) )
% 3.04/1.64 = ( size_size @ ( list @ A ) @ Xs ) ) ).
% 3.04/1.64
% 3.04/1.64 thf(fact_237_ord_Olexordp__eq__simps_I4_J,axiom,
% 3.04/1.64 ! [A: $tType,Less: A > A > $o,X: A,Xs: list @ A,Y: A,Ys: list @ A] :
% 3.04/1.64 ( ( lexordp_eq @ A @ Less @ ( cons @ A @ X @ Xs ) @ ( cons @ A @ Y @ Ys ) )
% 3.04/1.64 = ( ( Less @ X @ Y )
% 3.04/1.64 | ( ~ ( Less @ Y @ X )
% 3.04/1.64 & ( lexordp_eq @ A @ Less @ Xs @ Ys ) ) ) ) ).
% 3.04/1.64
% 3.04/1.64 thf(fact_238_ord_Olexordp__eq__simps_I2_J,axiom,
% 3.04/1.64 ! [A: $tType,Less: A > A > $o,Xs: list @ A] :
% 3.04/1.64 ( ( lexordp_eq @ A @ Less @ Xs @ ( nil @ A ) )
% 3.04/1.64 = ( Xs
% 3.04/1.64 = ( nil @ A ) ) ) ).
% 3.04/1.64
% 3.04/1.64 thf(fact_239_ord_Olexordp__eq__simps_I1_J,axiom,
% 3.04/1.64 ! [A: $tType,Less: A > A > $o,Ys: list @ A] : ( lexordp_eq @ A @ Less @ ( nil @ A ) @ Ys ) ).
% 3.04/1.64
% 3.04/1.64 thf(fact_240_length__rotate1,axiom,
% 3.04/1.64 ! [A: $tType,Xs: list @ A] :
% 3.04/1.64 ( ( size_size @ ( list @ A ) @ ( rotate1 @ A @ Xs ) )
% 3.04/1.64 = ( size_size @ ( list @ A ) @ Xs ) ) ).
% 3.04/1.64
% 3.04/1.64 thf(fact_241_map__eq__imp__length__eq,axiom,
% 3.04/1.64 ! [A: $tType,B: $tType,C: $tType,F: B > A,Xs: list @ B,G: C > A,Ys: list @ C] :
% 3.04/1.64 ( ( ( map @ B @ A @ F @ Xs )
% 3.04/1.64 = ( map @ C @ A @ G @ Ys ) )
% 3.04/1.64 => ( ( size_size @ ( list @ B ) @ Xs )
% 3.04/1.64 = ( size_size @ ( list @ C ) @ Ys ) ) ) ).
% 3.04/1.64
% 3.04/1.64 thf(fact_242_ord_Olexordp__eq_Oinducts,axiom,
% 3.04/1.64 ! [A: $tType,Less: A > A > $o,X12: list @ A,X24: list @ A,P: ( list @ A ) > ( list @ A ) > $o] :
% 3.04/1.64 ( ( lexordp_eq @ A @ Less @ X12 @ X24 )
% 3.04/1.64 => ( ! [X1: list @ A] : ( P @ ( nil @ A ) @ X1 )
% 3.04/1.64 => ( ! [X3: A,Y3: A,Xs2: list @ A,Ys2: list @ A] :
% 3.04/1.64 ( ( Less @ X3 @ Y3 )
% 3.04/1.64 => ( P @ ( cons @ A @ X3 @ Xs2 ) @ ( cons @ A @ Y3 @ Ys2 ) ) )
% 3.04/1.64 => ( ! [X3: A,Y3: A,Xs2: list @ A,Ys2: list @ A] :
% 3.04/1.64 ( ~ ( Less @ X3 @ Y3 )
% 3.04/1.64 => ( ~ ( Less @ Y3 @ X3 )
% 3.04/1.64 => ( ( lexordp_eq @ A @ Less @ Xs2 @ Ys2 )
% 3.04/1.64 => ( ( P @ Xs2 @ Ys2 )
% 3.04/1.64 => ( P @ ( cons @ A @ X3 @ Xs2 ) @ ( cons @ A @ Y3 @ Ys2 ) ) ) ) ) )
% 3.04/1.64 => ( P @ X12 @ X24 ) ) ) ) ) ).
% 3.04/1.64
% 3.04/1.64 thf(fact_243_ord_Olexordp__eq_Osimps,axiom,
% 3.04/1.64 ! [A: $tType] :
% 3.04/1.64 ( ( lexordp_eq @ A )
% 3.04/1.64 = ( ^ [Less2: A > A > $o,A12: list @ A,A23: list @ A] :
% 3.04/1.64 ( ? [Ys3: list @ A] :
% 3.04/1.64 ( ( A12
% 3.04/1.64 = ( nil @ A ) )
% 3.04/1.64 & ( A23 = Ys3 ) )
% 3.04/1.64 | ? [X2: A,Y2: A,Xs3: list @ A,Ys3: list @ A] :
% 3.04/1.64 ( ( A12
% 3.04/1.64 = ( cons @ A @ X2 @ Xs3 ) )
% 3.04/1.64 & ( A23
% 3.04/1.64 = ( cons @ A @ Y2 @ Ys3 ) )
% 3.04/1.64 & ( Less2 @ X2 @ Y2 ) )
% 3.04/1.64 | ? [X2: A,Y2: A,Xs3: list @ A,Ys3: list @ A] :
% 3.04/1.64 ( ( A12
% 3.04/1.64 = ( cons @ A @ X2 @ Xs3 ) )
% 3.04/1.64 & ( A23
% 3.04/1.64 = ( cons @ A @ Y2 @ Ys3 ) )
% 3.04/1.64 & ~ ( Less2 @ X2 @ Y2 )
% 3.04/1.64 & ~ ( Less2 @ Y2 @ X2 )
% 3.04/1.64 & ( lexordp_eq @ A @ Less2 @ Xs3 @ Ys3 ) ) ) ) ) ).
% 3.04/1.64
% 3.04/1.64 thf(fact_244_ord_Olexordp__eq_Ocases,axiom,
% 3.04/1.64 ! [A: $tType,Less: A > A > $o,A1: list @ A,A22: list @ A] :
% 3.04/1.64 ( ( lexordp_eq @ A @ Less @ A1 @ A22 )
% 3.04/1.64 => ( ( ( A1
% 3.04/1.64 = ( nil @ A ) )
% 3.04/1.64 => ! [Ys2: list @ A] : ( A22 != Ys2 ) )
% 3.04/1.64 => ( ! [X3: A] :
% 3.04/1.64 ( ? [Xs2: list @ A] :
% 3.04/1.64 ( A1
% 3.04/1.64 = ( cons @ A @ X3 @ Xs2 ) )
% 3.04/1.64 => ! [Y3: A] :
% 3.04/1.64 ( ? [Ys2: list @ A] :
% 3.04/1.64 ( A22
% 3.04/1.64 = ( cons @ A @ Y3 @ Ys2 ) )
% 3.04/1.64 => ~ ( Less @ X3 @ Y3 ) ) )
% 3.04/1.64 => ~ ! [X3: A,Y3: A,Xs2: list @ A] :
% 3.04/1.64 ( ( A1
% 3.04/1.64 = ( cons @ A @ X3 @ Xs2 ) )
% 3.04/1.64 => ! [Ys2: list @ A] :
% 3.04/1.64 ( ( A22
% 3.04/1.64 = ( cons @ A @ Y3 @ Ys2 ) )
% 3.04/1.64 => ( ~ ( Less @ X3 @ Y3 )
% 3.04/1.64 => ( ~ ( Less @ Y3 @ X3 )
% 3.04/1.64 => ~ ( lexordp_eq @ A @ Less @ Xs2 @ Ys2 ) ) ) ) ) ) ) ) ).
% 3.04/1.64
% 3.04/1.64 thf(fact_245_ord_Olexordp__eq_OCons,axiom,
% 3.04/1.64 ! [A: $tType,Less: A > A > $o,X: A,Y: A,Xs: list @ A,Ys: list @ A] :
% 3.04/1.64 ( ( Less @ X @ Y )
% 3.04/1.64 => ( lexordp_eq @ A @ Less @ ( cons @ A @ X @ Xs ) @ ( cons @ A @ Y @ Ys ) ) ) ).
% 3.04/1.64
% 3.04/1.64 thf(fact_246_ord_Olexordp__eq_OCons__eq,axiom,
% 3.04/1.64 ! [A: $tType,Less: A > A > $o,X: A,Y: A,Xs: list @ A,Ys: list @ A] :
% 3.04/1.64 ( ~ ( Less @ X @ Y )
% 3.04/1.64 => ( ~ ( Less @ Y @ X )
% 3.04/1.64 => ( ( lexordp_eq @ A @ Less @ Xs @ Ys )
% 3.04/1.64 => ( lexordp_eq @ A @ Less @ ( cons @ A @ X @ Xs ) @ ( cons @ A @ Y @ Ys ) ) ) ) ) ).
% 3.04/1.64
% 3.04/1.64 thf(fact_247_ord_Olexordp__eq_ONil,axiom,
% 3.04/1.64 ! [A: $tType,Less: A > A > $o,Ys: list @ A] : ( lexordp_eq @ A @ Less @ ( nil @ A ) @ Ys ) ).
% 3.04/1.64
% 3.04/1.64 thf(fact_248_list__induct4,axiom,
% 3.04/1.64 ! [C: $tType,A: $tType,B: $tType,D: $tType,Xs: list @ A,Ys: list @ B,Zs: list @ C,Ws: list @ D,P: ( list @ A ) > ( list @ B ) > ( list @ C ) > ( list @ D ) > $o] :
% 3.04/1.64 ( ( ( size_size @ ( list @ A ) @ Xs )
% 3.04/1.64 = ( size_size @ ( list @ B ) @ Ys ) )
% 3.04/1.64 => ( ( ( size_size @ ( list @ B ) @ Ys )
% 3.04/1.64 = ( size_size @ ( list @ C ) @ Zs ) )
% 3.04/1.64 => ( ( ( size_size @ ( list @ C ) @ Zs )
% 3.04/1.64 = ( size_size @ ( list @ D ) @ Ws ) )
% 3.04/1.64 => ( ( P @ ( nil @ A ) @ ( nil @ B ) @ ( nil @ C ) @ ( nil @ D ) )
% 3.04/1.64 => ( ! [X3: A,Xs2: list @ A,Y3: B,Ys2: list @ B,Z3: C,Zs5: list @ C,W: D,Ws2: list @ D] :
% 3.04/1.64 ( ( ( size_size @ ( list @ A ) @ Xs2 )
% 3.04/1.64 = ( size_size @ ( list @ B ) @ Ys2 ) )
% 3.04/1.64 => ( ( ( size_size @ ( list @ B ) @ Ys2 )
% 3.04/1.64 = ( size_size @ ( list @ C ) @ Zs5 ) )
% 3.04/1.64 => ( ( ( size_size @ ( list @ C ) @ Zs5 )
% 3.04/1.64 = ( size_size @ ( list @ D ) @ Ws2 ) )
% 3.04/1.64 => ( ( P @ Xs2 @ Ys2 @ Zs5 @ Ws2 )
% 3.04/1.64 => ( P @ ( cons @ A @ X3 @ Xs2 ) @ ( cons @ B @ Y3 @ Ys2 ) @ ( cons @ C @ Z3 @ Zs5 ) @ ( cons @ D @ W @ Ws2 ) ) ) ) ) )
% 3.04/1.64 => ( P @ Xs @ Ys @ Zs @ Ws ) ) ) ) ) ) ).
% 3.04/1.64
% 3.04/1.64 thf(fact_249_list__induct3,axiom,
% 3.04/1.64 ! [B: $tType,A: $tType,C: $tType,Xs: list @ A,Ys: list @ B,Zs: list @ C,P: ( list @ A ) > ( list @ B ) > ( list @ C ) > $o] :
% 3.04/1.64 ( ( ( size_size @ ( list @ A ) @ Xs )
% 3.04/1.64 = ( size_size @ ( list @ B ) @ Ys ) )
% 3.04/1.64 => ( ( ( size_size @ ( list @ B ) @ Ys )
% 3.04/1.64 = ( size_size @ ( list @ C ) @ Zs ) )
% 3.04/1.64 => ( ( P @ ( nil @ A ) @ ( nil @ B ) @ ( nil @ C ) )
% 3.04/1.64 => ( ! [X3: A,Xs2: list @ A,Y3: B,Ys2: list @ B,Z3: C,Zs5: list @ C] :
% 3.04/1.64 ( ( ( size_size @ ( list @ A ) @ Xs2 )
% 3.04/1.64 = ( size_size @ ( list @ B ) @ Ys2 ) )
% 3.04/1.64 => ( ( ( size_size @ ( list @ B ) @ Ys2 )
% 3.04/1.64 = ( size_size @ ( list @ C ) @ Zs5 ) )
% 3.04/1.64 => ( ( P @ Xs2 @ Ys2 @ Zs5 )
% 3.04/1.64 => ( P @ ( cons @ A @ X3 @ Xs2 ) @ ( cons @ B @ Y3 @ Ys2 ) @ ( cons @ C @ Z3 @ Zs5 ) ) ) ) )
% 3.04/1.64 => ( P @ Xs @ Ys @ Zs ) ) ) ) ) ).
% 3.04/1.64
% 3.04/1.64 thf(fact_250_list__induct2,axiom,
% 3.04/1.64 ! [A: $tType,B: $tType,Xs: list @ A,Ys: list @ B,P: ( list @ A ) > ( list @ B ) > $o] :
% 3.04/1.64 ( ( ( size_size @ ( list @ A ) @ Xs )
% 3.04/1.64 = ( size_size @ ( list @ B ) @ Ys ) )
% 3.04/1.64 => ( ( P @ ( nil @ A ) @ ( nil @ B ) )
% 3.04/1.64 => ( ! [X3: A,Xs2: list @ A,Y3: B,Ys2: list @ B] :
% 3.04/1.64 ( ( ( size_size @ ( list @ A ) @ Xs2 )
% 3.04/1.64 = ( size_size @ ( list @ B ) @ Ys2 ) )
% 3.04/1.64 => ( ( P @ Xs2 @ Ys2 )
% 3.04/1.64 => ( P @ ( cons @ A @ X3 @ Xs2 ) @ ( cons @ B @ Y3 @ Ys2 ) ) ) )
% 3.04/1.64 => ( P @ Xs @ Ys ) ) ) ) ).
% 3.04/1.64
% 3.04/1.64 thf(fact_251_ord_Olexordp__eq__refl,axiom,
% 3.04/1.64 ! [A: $tType,Less: A > A > $o,Xs: list @ A] : ( lexordp_eq @ A @ Less @ Xs @ Xs ) ).
% 3.04/1.64
% 3.04/1.64 thf(fact_252_neq__if__length__neq,axiom,
% 3.04/1.64 ! [A: $tType,Xs: list @ A,Ys: list @ A] :
% 3.04/1.64 ( ( ( size_size @ ( list @ A ) @ Xs )
% 3.04/1.64 != ( size_size @ ( list @ A ) @ Ys ) )
% 3.04/1.64 => ( Xs != Ys ) ) ).
% 3.04/1.64
% 3.04/1.64 thf(help_If_3_1_T,axiom,
% 3.04/1.64 ! [P: $o] :
% 3.04/1.64 ( ( P = $true )
% 3.04/1.64 | ( P = $false ) ) ).
% 3.04/1.64
% 3.04/1.64 thf(help_If_2_1_T,axiom,
% 3.04/1.64 ! [A: $tType,X: A,Y: A] :
% 3.04/1.64 ( ( if @ A @ $false @ X @ Y )
% 3.04/1.64 = Y ) ).
% 3.04/1.64
% 3.04/1.64 thf(help_If_1_1_T,axiom,
% 3.04/1.64 ! [A: $tType,X: A,Y: A] :
% 3.04/1.64 ( ( if @ A @ $true @ X @ Y )
% 3.04/1.64 = X ) ).
% 3.04/1.64
% 3.04/1.64 thf(conj_0,conjecture,
% 3.04/1.64 ( ( coindu268472904append @ a @ ( coindu288502823_llist @ a @ f ) @ xs )
% 3.04/1.64 = ( coindu288502823_llist @ a @ f ) ) ).
% 3.04/1.64 ------------------------
% 3.04/1.68 % (17909)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_17806 for (2999ds/2Mi)
% 3.04/1.68 % (17910)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_17806 for (2999ds/275Mi)
% 3.04/1.68 % (17911)lrs+1004_1:128_cond=on:e2e=on:sp=weighted_frequency:i=18:si=on:rtra=on_0 on DTF2THF_17806 for (2999ds/18Mi)
% 3.04/1.68 % (17906)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_17806 for (2999ds/4Mi)
% 3.04/1.68 % (17905)lrs+1002_1:8_bd=off:fd=off:hud=10:tnu=1:i=183:si=on:rtra=on_0 on DTF2THF_17806 for (2999ds/183Mi)
% 3.04/1.68 % (17907)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_17806 for (2999ds/27Mi)
% 3.04/1.68 % (17908)lrs+10_1:1_au=on:inj=on:i=2:si=on:rtra=on_0 on DTF2THF_17806 for (2999ds/2Mi)
% 3.04/1.68 % (17908)Instruction limit reached!
% 3.04/1.68 % (17908)------------------------------
% 3.04/1.68 % (17908)Version: Vampire 4.8 (commit 7b44b1c2f on 2025-07-15 09:50:17 +0100)
% 3.04/1.68 % (17908)Termination reason: Unknown
% 3.04/1.68 % (17908)Termination phase: shuffling
% 3.04/1.68
% 3.04/1.68 % (17908)Memory used [KB]: 1279
% 3.04/1.68 % (17908)Time elapsed: 0.003 s
% 3.04/1.68 % (17908)Instructions burned: 2 (million)
% 3.04/1.68 % (17909)Instruction limit reached!
% 3.04/1.68 % (17909)------------------------------
% 3.04/1.68 % (17909)Version: Vampire 4.8 (commit 7b44b1c2f on 2025-07-15 09:50:17 +0100)
% 3.04/1.68 % (17908)------------------------------
% 3.04/1.68 % (17908)------------------------------
% 3.04/1.68 % (17909)Termination reason: Unknown
% 3.04/1.68 % (17909)Termination phase: shuffling
% 3.04/1.68
% 3.04/1.68 % (17909)Memory used [KB]: 1279
% 3.04/1.68 % (17909)Time elapsed: 0.003 s
% 3.04/1.68 % (17909)Instructions burned: 2 (million)
% 3.04/1.68 % (17909)------------------------------
% 3.04/1.68 % (17909)------------------------------
% 3.04/1.68 % (17906)Instruction limit reached!
% 3.04/1.68 % (17906)------------------------------
% 3.04/1.68 % (17906)Version: Vampire 4.8 (commit 7b44b1c2f on 2025-07-15 09:50:17 +0100)
% 3.04/1.68 % (17906)Termination reason: Unknown
% 3.04/1.68 % (17906)Termination phase: shuffling
% 3.04/1.68
% 3.04/1.68 % (17906)Memory used [KB]: 1407
% 3.04/1.68 % (17906)Time elapsed: 0.004 s
% 3.04/1.68 % (17906)Instructions burned: 4 (million)
% 3.04/1.68 % (17906)------------------------------
% 3.04/1.68 % (17906)------------------------------
% 3.04/1.68 % (17911)Instruction limit reached!
% 3.04/1.68 % (17911)------------------------------
% 3.04/1.68 % (17911)Version: Vampire 4.8 (commit 7b44b1c2f on 2025-07-15 09:50:17 +0100)
% 3.04/1.68 % (17911)Termination reason: Unknown
% 3.04/1.68 % (17911)Termination phase: Property scanning
% 3.04/1.68
% 3.04/1.68 % (17911)Memory used [KB]: 1663
% 3.04/1.68 % (17911)Time elapsed: 0.011 s
% 3.04/1.68 % (17911)Instructions burned: 18 (million)
% 3.04/1.68 % (17911)------------------------------
% 3.04/1.68 % (17911)------------------------------
% 3.04/1.69 % (17907)Instruction limit reached!
% 3.04/1.69 % (17907)------------------------------
% 3.04/1.69 % (17907)Version: Vampire 4.8 (commit 7b44b1c2f on 2025-07-15 09:50:17 +0100)
% 3.04/1.69 % (17907)Termination reason: Unknown
% 3.04/1.69 % (17907)Termination phase: Property scanning
% 3.04/1.69
% 3.04/1.69 % (17907)Memory used [KB]: 1663
% 3.04/1.69 % (17907)Time elapsed: 0.016 s
% 3.04/1.69 % (17907)Instructions burned: 29 (million)
% 3.04/1.69 % (17907)------------------------------
% 3.04/1.69 % (17907)------------------------------
% 3.04/1.69 % (17912)lrs+10_1:1_bet=on:cnfonf=off:fd=off:hud=5:inj=on:i=3:si=on:rtra=on_0 on DTF2THF_17806 for (2999ds/3Mi)
% 3.04/1.69 % (17913)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_17806 for (2999ds/37Mi)
% 3.04/1.69 % (17914)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_17806 for (2999ds/15Mi)
% 3.04/1.69 % (17912)Instruction limit reached!
% 3.04/1.69 % (17912)------------------------------
% 3.04/1.69 % (17912)Version: Vampire 4.8 (commit 7b44b1c2f on 2025-07-15 09:50:17 +0100)
% 3.04/1.69 % (17912)Termination reason: Unknown
% 3.04/1.69 % (17912)Termination phase: shuffling
% 3.04/1.69
% 3.04/1.69 % (17912)Memory used [KB]: 1279
% 3.04/1.69 % (17912)Time elapsed: 0.003 s
% 3.04/1.69 % (17912)Instructions burned: 3 (million)
% 3.04/1.69 % (17912)------------------------------
% 3.04/1.69 % (17912)------------------------------
% 3.09/1.70 % (17915)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_17806 for (2999ds/3Mi)
% 3.09/1.70 % (17914)Instruction limit reached!
% 3.09/1.70 % (17914)------------------------------
% 3.09/1.70 % (17914)Version: Vampire 4.8 (commit 7b44b1c2f on 2025-07-15 09:50:17 +0100)
% 3.09/1.70 % (17914)Termination reason: Unknown
% 3.09/1.70 % (17914)Termination phase: shuffling
% 3.09/1.70
% 3.09/1.70 % (17914)Memory used [KB]: 1535
% 3.09/1.70 % (17914)Time elapsed: 0.009 s
% 3.09/1.70 % (17914)Instructions burned: 15 (million)
% 3.09/1.70 % (17914)------------------------------
% 3.09/1.70 % (17914)------------------------------
% 3.09/1.70 % (17915)Instruction limit reached!
% 3.09/1.70 % (17915)------------------------------
% 3.09/1.70 % (17915)Version: Vampire 4.8 (commit 7b44b1c2f on 2025-07-15 09:50:17 +0100)
% 3.09/1.70 % (17915)Termination reason: Unknown
% 3.09/1.70 % (17915)Termination phase: shuffling
% 3.09/1.70
% 3.09/1.70 % (17915)Memory used [KB]: 1279
% 3.09/1.70 % (17915)Time elapsed: 0.003 s
% 3.09/1.70 % (17915)Instructions burned: 3 (million)
% 3.09/1.70 % (17915)------------------------------
% 3.09/1.70 % (17915)------------------------------
% 3.09/1.70 % (17910)First to succeed.
% 3.09/1.71 % (17916)lrs+1002_1:1_aac=none:au=on:cnfonf=lazy_gen:plsq=on:plsqc=1:plsqr=4203469,65536:i=1041:si=on:rtra=on_0 on DTF2THF_17806 for (2999ds/1041Mi)
% 3.09/1.71 % (17910)Refutation found. Thanks to Tanya!
% 3.09/1.71 % SZS status Theorem for DTF2THF_17806
% 3.09/1.71 % SZS output start Proof for DTF2THF_17806
% 3.09/1.71 thf(type_def_5, type, coindu1593790203_llist: ($tType) > $tType).
% 3.09/1.71 thf(type_def_7, type, nat: $tType).
% 3.09/1.71 thf(type_def_8, type, list: ($tType) > $tType).
% 3.09/1.71 thf(type_def_9, type, itself: ($tType) > $tType).
% 3.09/1.71 thf(type_def_10, type, a: $tType).
% 3.09/1.71 thf(func_def_0, type, coindu1593790203_llist: ($tType) > $tType).
% 3.09/1.71 thf(func_def_1, type, list: ($tType) > $tType).
% 3.09/1.71 thf(func_def_2, type, nat: $tType).
% 3.09/1.71 thf(func_def_3, type, itself: ($tType) > $tType).
% 3.09/1.71 thf(func_def_4, type, a: $tType).
% 3.09/1.71 thf(func_def_5, type, coindu1571841457prefix: !>[X0: $tType]:(coindu1593790203_llist @ X0 > coindu1593790203_llist @ X0 > $o)).
% 3.09/1.71 thf(func_def_6, type, coindu288502823_llist: !>[X0: $tType]:((nat > X0) > coindu1593790203_llist @ X0)).
% 3.09/1.71 thf(func_def_7, type, coindu1529956631erates: !>[X0: $tType]:((X0 > X0) > X0 > coindu1593790203_llist @ X0)).
% 3.09/1.71 thf(func_def_8, type, coindu268472904append: !>[X0: $tType]:(coindu1593790203_llist @ X0 > coindu1593790203_llist @ X0 > coindu1593790203_llist @ X0)).
% 3.09/1.71 thf(func_def_9, type, coindu1213758845finite: !>[X0: $tType]:(coindu1593790203_llist @ X0 > $o)).
% 3.09/1.71 thf(func_def_10, type, coindu1736001939ist_of: !>[X0: $tType]:(coindu1593790203_llist @ X0 > list @ X0)).
% 3.09/1.71 thf(func_def_11, type, coindu1542816657of_aux: !>[X0: $tType]:(list @ X0 > coindu1593790203_llist @ X0 > list @ X0)).
% 3.09/1.71 thf(func_def_12, type, coindu2000965700_llast: !>[X0: $tType]:(coindu1593790203_llist @ X0 > X0)).
% 3.09/1.71 thf(func_def_13, type, coindu1121789889_LCons: !>[X0: $tType]:(X0 > coindu1593790203_llist @ X0 > coindu1593790203_llist @ X0)).
% 3.09/1.71 thf(func_def_14, type, coindu1598213697e_LNil: !>[X0: $tType]:(coindu1593790203_llist @ X0)).
% 3.09/1.71 thf(func_def_15, type, coindu335574135_lnull: !>[X0: $tType]:(coindu1593790203_llist @ X0 > $o)).
% 3.09/1.71 thf(func_def_16, type, coindu1079202755ist_of: !>[X0: $tType]:(list @ X0 > coindu1593790203_llist @ X0)).
% 3.09/1.71 thf(func_def_17, type, coindu567634248member: !>[X0: $tType]:(X0 > coindu1593790203_llist @ X0 > $o)).
% 3.09/1.71 thf(func_def_18, type, coindu749330388e_lnth: !>[X0: $tType]:(coindu1593790203_llist @ X0 > nat > X0)).
% 3.09/1.71 thf(func_def_19, type, coindu1696667936prefix: !>[X0: $tType]:(coindu1593790203_llist @ X0 > coindu1593790203_llist @ X0 > $o)).
% 3.09/1.71 thf(func_def_20, type, coindu574146665prefix: !>[X0: $tType]:(coindu1593790203_llist @ X0 > coindu1593790203_llist @ X0 > $o)).
% 3.09/1.71 thf(func_def_21, type, undefined: !>[X0: $tType]:(X0)).
% 3.09/1.71 thf(func_def_22, type, if: !>[X0: $tType]:($o > X0 > X0 > X0)).
% 3.09/1.71 thf(func_def_23, type, append: !>[X0: $tType]:(list @ X0 > list @ X0 > list @ X0)).
% 3.09/1.71 thf(func_def_24, type, bind: !>[X0: $tType, X1: $tType]:(list @ X0 > (X0 > list @ X1) > list @ X1)).
% 3.09/1.71 thf(func_def_25, type, butlast: !>[X0: $tType]:(list @ X0 > list @ X0)).
% 3.09/1.71 thf(func_def_26, type, insert: !>[X0: $tType]:(X0 > list @ X0 > list @ X0)).
% 3.09/1.71 thf(func_def_27, type, last: !>[X0: $tType]:(list @ X0 > X0)).
% 3.09/1.71 thf(func_def_28, type, cons: !>[X0: $tType]:(X0 > list @ X0 > list @ X0)).
% 3.09/1.71 thf(func_def_29, type, nil: !>[X0: $tType]:(list @ X0)).
% 3.09/1.71 thf(func_def_30, type, map: !>[X0: $tType, X1: $tType]:((X0 > X1) > list @ X0 > list @ X1)).
% 3.09/1.71 thf(func_def_31, type, list_ex1: !>[X0: $tType]:((X0 > $o) > list @ X0 > $o)).
% 3.09/1.71 thf(func_def_32, type, map_tailrec: !>[X0: $tType, X1: $tType]:((X0 > X1) > list @ X0 > list @ X1)).
% 3.09/1.71 thf(func_def_33, type, map_tailrec_rev: !>[X0: $tType, X1: $tType]:((X0 > X1) > list @ X0 > list @ X1 > list @ X1)).
% 3.09/1.71 thf(func_def_34, type, maps: !>[X0: $tType, X1: $tType]:((X0 > list @ X1) > list @ X0 > list @ X1)).
% 3.09/1.71 thf(func_def_35, type, nth: !>[X0: $tType]:(list @ X0 > nat > X0)).
% 3.09/1.71 thf(func_def_36, type, lexordp_eq: !>[X0: $tType]:((X0 > X0 > $o) > list @ X0 > list @ X0 > $o)).
% 3.09/1.71 thf(func_def_37, type, product_lists: !>[X0: $tType]:(list @ list @ X0 > list @ list @ X0)).
% 3.09/1.71 thf(func_def_38, type, rev: !>[X0: $tType]:(list @ X0 > list @ X0)).
% 3.09/1.71 thf(func_def_39, type, rotate1: !>[X0: $tType]:(list @ X0 > list @ X0)).
% 3.09/1.71 thf(func_def_40, type, sublists: !>[X0: $tType]:(list @ X0 > list @ list @ X0)).
% 3.09/1.71 thf(func_def_41, type, size_size: !>[X0: $tType]:(X0 > nat)).
% 3.09/1.71 thf(func_def_42, type, type: !>[X0: $tType]:(itself @ X0)).
% 3.09/1.71 thf(func_def_43, type, prefixes: !>[X0: $tType]:(list @ X0 > list @ list @ X0)).
% 3.09/1.71 thf(func_def_44, type, prefixes_rel: !>[X0: $tType]:(list @ X0 > list @ X0 > $o)).
% 3.09/1.71 thf(func_def_45, type, strict_suffix: !>[X0: $tType]:(list @ X0 > list @ X0 > $o)).
% 3.09/1.71 thf(func_def_46, type, accp: !>[X0: $tType]:((X0 > X0 > $o) > X0 > $o)).
% 3.09/1.71 thf(func_def_47, type, f: nat > a).
% 3.09/1.71 thf(func_def_48, type, xs: coindu1593790203_llist @ a).
% 3.09/1.71 thf(func_def_66, type, sK0: !>[X0: $tType, X1: $tType]:((X1 > X0) > (X1 > X0) > X1)).
% 3.09/1.71 thf(func_def_67, type, sK1: !>[X0: $tType]:(coindu1593790203_llist @ X0 > coindu1593790203_llist @ X0)).
% 3.09/1.71 thf(func_def_68, type, sK2: !>[X0: $tType]:(coindu1593790203_llist @ X0 > X0)).
% 3.09/1.71 thf(func_def_69, type, sK3: !>[X0: $tType]:(coindu1593790203_llist @ X0 > X0 > list @ X0 > list @ X0)).
% 3.09/1.71 thf(func_def_70, type, sK4: !>[X0: $tType]:((coindu1593790203_llist @ X0 > coindu1593790203_llist @ X0 > $o) > coindu1593790203_llist @ X0)).
% 3.09/1.71 thf(func_def_71, type, sK5: !>[X0: $tType]:((coindu1593790203_llist @ X0 > coindu1593790203_llist @ X0 > $o) > coindu1593790203_llist @ X0)).
% 3.09/1.71 thf(func_def_72, type, sK6: !>[X0: $tType]:(coindu1593790203_llist @ X0 > nat > X0)).
% 3.09/1.71 thf(func_def_73, type, sK7: !>[X0: $tType]:(coindu1593790203_llist @ X0 > list @ X0)).
% 3.09/1.71 thf(func_def_74, type, sK8: !>[X0: $tType]:(coindu1593790203_llist @ X0 > X0)).
% 3.09/1.71 thf(func_def_75, type, sK9: !>[X0: $tType]:(coindu1593790203_llist @ X0 > coindu1593790203_llist @ X0)).
% 3.09/1.71 thf(func_def_76, type, sK10: !>[X0: $tType]:(coindu1593790203_llist @ X0 > coindu1593790203_llist @ X0 > coindu1593790203_llist @ X0)).
% 3.09/1.71 thf(func_def_77, type, sK11: !>[X0: $tType]:(coindu1593790203_llist @ X0 > coindu1593790203_llist @ X0 > X0 > coindu1593790203_llist @ X0)).
% 3.09/1.71 thf(func_def_78, type, sK12: !>[X0: $tType]:(coindu1593790203_llist @ X0 > coindu1593790203_llist @ X0 > coindu1593790203_llist @ X0)).
% 3.09/1.71 thf(func_def_79, type, sK13: !>[X0: $tType]:(coindu1593790203_llist @ X0 > coindu1593790203_llist @ X0 > coindu1593790203_llist @ X0)).
% 3.09/1.71 thf(func_def_80, type, sK14: !>[X0: $tType]:(coindu1593790203_llist @ X0 > coindu1593790203_llist @ X0 > X0)).
% 3.09/1.71 thf(func_def_81, type, sK15: !>[X0: $tType]:(coindu1593790203_llist @ X0 > coindu1593790203_llist @ X0)).
% 3.09/1.71 thf(func_def_82, type, sK16: !>[X0: $tType]:((coindu1593790203_llist @ X0 > $o) > X0)).
% 3.09/1.71 thf(func_def_83, type, sK17: !>[X0: $tType]:((coindu1593790203_llist @ X0 > $o) > coindu1593790203_llist @ X0)).
% 3.09/1.71 thf(func_def_84, type, sK18: !>[X0: $tType]:(coindu1593790203_llist @ X0 > X0)).
% 3.09/1.71 thf(func_def_85, type, sK19: !>[X0: $tType]:(coindu1593790203_llist @ X0 > coindu1593790203_llist @ X0)).
% 3.09/1.71 thf(func_def_86, type, sK20: !>[X0: $tType]:((coindu1593790203_llist @ X0 > $o) > coindu1593790203_llist @ X0)).
% 3.09/1.71 thf(func_def_87, type, sK21: !>[X0: $tType]:((coindu1593790203_llist @ X0 > $o) > X0)).
% 3.09/1.71 thf(func_def_88, type, sK22: !>[X0: $tType]:(coindu1593790203_llist @ X0 > X0 > coindu1593790203_llist @ X0 > coindu1593790203_llist @ X0)).
% 3.09/1.71 thf(func_def_89, type, sK23: !>[X0: $tType]:(coindu1593790203_llist @ X0 > X0)).
% 3.09/1.71 thf(func_def_90, type, sK24: !>[X0: $tType]:(coindu1593790203_llist @ X0 > coindu1593790203_llist @ X0)).
% 3.09/1.71 thf(func_def_92, type, ph26: !>[X0: $tType]:(X0)).
% 3.09/1.71 thf(f944,plain,(
% 3.09/1.71 $false),
% 3.09/1.71 inference(subsumption_resolution,[status(thm)],[f943,f747])).
% 3.09/1.71 thf(f747,plain,(
% 3.09/1.71 ( ! [X0 : $tType,X1 : nat > X0] : (($true != (coindu1213758845finite @ X0 @ (coindu288502823_llist @ X0 @ X1)))) )),
% 3.09/1.71 inference(cnf_transformation,[status(thm)],[f585])).
% 3.09/1.71 thf(f585,plain,(
% 3.09/1.71 ! [X0 : $tType,X1 : nat > X0] : ($true != (coindu1213758845finite @ X0 @ (coindu288502823_llist @ X0 @ X1)))),
% 3.09/1.71 inference(flattening,[status(thm)],[f333])).
% 3.09/1.71 thf(f333,plain,(
% 3.09/1.71 ! [X0 : $tType,X1 : nat > X0] : ~($true = (coindu1213758845finite @ X0 @ (coindu288502823_llist @ X0 @ X1)))),
% 3.09/1.71 inference(fool_elimination,[status(thm)],[f332])).
% 3.09/1.71 thf(f332,plain,(
% 3.09/1.71 ! [X0 : $tType,X1 : nat > X0] : ~(coindu1213758845finite @ X0 @ (coindu288502823_llist @ X0 @ X1))),
% 3.09/1.71 inference(rectify,[status(thm)],[f85])).
% 3.09/1.71 thf(f85,axiom,(
% 3.09/1.71 ! [X0 : $tType,X3 : nat > X0] : ~(coindu1213758845finite @ X0 @ (coindu288502823_llist @ X0 @ X3))),
% 3.09/1.71 file('/export/starexec/sandbox2/tmp/tmp.HOKmHkkqrB/DTF2THF_17806.p',fact_84_lfinite__inf__llist)).
% 3.09/1.71 thf(f943,plain,(
% 3.09/1.71 ($true = (coindu1213758845finite @ a @ (coindu288502823_llist @ a @ f)))),
% 3.09/1.71 inference(trivial_inequality_removal,[status(thm)],[f940])).
% 3.09/1.71 thf(f940,plain,(
% 3.09/1.71 ($true = (coindu1213758845finite @ a @ (coindu288502823_llist @ a @ f))) | ((coindu288502823_llist @ a @ f) != (coindu288502823_llist @ a @ f))),
% 3.09/1.71 inference(superposition,[status(thm)],[f750,f820])).
% 3.09/1.71 thf(f820,plain,(
% 3.09/1.71 ( ! [X0 : $tType,X2 : coindu1593790203_llist @ X0,X1 : coindu1593790203_llist @ X0] : (((coindu268472904append @ X0 @ X1 @ X2) = X1) | ((coindu1213758845finite @ X0 @ X1) = $true)) )),
% 3.09/1.71 inference(cnf_transformation,[status(thm)],[f659])).
% 3.09/1.71 thf(f659,plain,(
% 3.09/1.71 ! [X0 : $tType,X1 : coindu1593790203_llist @ X0,X2 : coindu1593790203_llist @ X0] : (((coindu268472904append @ X0 @ X1 @ X2) = X1) | ((coindu1213758845finite @ X0 @ X1) = $true))),
% 3.09/1.71 inference(ennf_transformation,[status(thm)],[f588])).
% 3.09/1.71 thf(f588,plain,(
% 3.09/1.71 ! [X0 : $tType,X1 : coindu1593790203_llist @ X0,X2 : coindu1593790203_llist @ X0] : (((coindu1213758845finite @ X0 @ X1) != $true) => ((coindu268472904append @ X0 @ X1 @ X2) = X1))),
% 3.09/1.71 inference(flattening,[status(thm)],[f415])).
% 3.09/1.71 thf(f415,plain,(
% 3.09/1.71 ! [X0 : $tType,X1 : coindu1593790203_llist @ X0,X2 : coindu1593790203_llist @ X0] : (~((coindu1213758845finite @ X0 @ X1) = $true) => ((coindu268472904append @ X0 @ X1 @ X2) = X1))),
% 3.09/1.71 inference(fool_elimination,[status(thm)],[f414])).
% 3.09/1.71 thf(f414,plain,(
% 3.09/1.71 ! [X0 : $tType,X1 : coindu1593790203_llist @ X0,X2 : coindu1593790203_llist @ X0] : (~(coindu1213758845finite @ X0 @ X1) => ((coindu268472904append @ X0 @ X1 @ X2) = X1))),
% 3.09/1.71 inference(rectify,[status(thm)],[f72])).
% 3.09/1.71 thf(f72,axiom,(
% 3.09/1.71 ! [X0 : $tType,X5 : coindu1593790203_llist @ X0,X6 : coindu1593790203_llist @ X0] : (~(coindu1213758845finite @ X0 @ X5) => ((coindu268472904append @ X0 @ X5 @ X6) = X5))),
% 3.09/1.71 file('/export/starexec/sandbox2/tmp/tmp.HOKmHkkqrB/DTF2THF_17806.p',fact_71_lappend__inf)).
% 3.09/1.71 thf(f750,plain,(
% 3.09/1.71 ((coindu288502823_llist @ a @ f) != (coindu268472904append @ a @ (coindu288502823_llist @ a @ f) @ xs))),
% 3.09/1.71 inference(cnf_transformation,[status(thm)],[f580])).
% 3.09/1.71 thf(f580,plain,(
% 3.09/1.71 ((coindu288502823_llist @ a @ f) != (coindu268472904append @ a @ (coindu288502823_llist @ a @ f) @ xs))),
% 3.09/1.71 inference(flattening,[status(thm)],[f258])).
% 3.09/1.71 thf(f258,negated_conjecture,(
% 3.09/1.71 ~((coindu288502823_llist @ a @ f) = (coindu268472904append @ a @ (coindu288502823_llist @ a @ f) @ xs))),
% 3.09/1.71 inference(negated_conjecture,[status(cth)],[f257])).
% 3.09/1.71 thf(f257,conjecture,(
% 3.09/1.71 ((coindu288502823_llist @ a @ f) = (coindu268472904append @ a @ (coindu288502823_llist @ a @ f) @ xs))),
% 3.09/1.71 file('/export/starexec/sandbox2/tmp/tmp.HOKmHkkqrB/DTF2THF_17806.p',conj_0)).
% 3.09/1.71 % SZS output end Proof for DTF2THF_17806
% 3.09/1.71 % (17910)------------------------------
% 3.09/1.71 % (17910)Version: Vampire 4.8 (commit 7b44b1c2f on 2025-07-15 09:50:17 +0100)
% 3.09/1.71 % (17910)Termination reason: Refutation
% 3.09/1.71
% 3.09/1.71 % (17910)Memory used [KB]: 6524
% 3.09/1.71 % (17910)Time elapsed: 0.031 s
% 3.09/1.71 % (17910)Instructions burned: 56 (million)
% 3.09/1.71 % (17910)------------------------------
% 3.09/1.71 % (17910)------------------------------
% 3.09/1.71 % (17904)Success in time 0.059 s
%------------------------------------------------------------------------------