↑ Up

DT2H2X---1.9.5.THM-Ref.s

View TPTP
Problem
Process solution in
SystemOnTSTP
Download .tgz
%------------------------------------------------------------------------------
% File     : DT2H2X---1.9.5
% Problem  : ITP196^2 : TPTP v9.2.1. Released v7.5.0.
% Transfm  : none
% Format   : tptp:raw
% Command  : /export/starexec/sandbox2/solver/bin/run_DT2H2X /export/starexec/sandbox2/benchmark/theBenchmark.p 300

% Computer : n004.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:56:20 AM UTC 2026

% Result   : Theorem 3.01s 1.66s
% Output   : Refutation 3.01s
% Verified : 
% SZS Type : -

% Comments : 
%------------------------------------------------------------------------------
%----WARNING: Could not form TPTP format derivation
%------------------------------------------------------------------------------
%----ORIGINAL SYSTEM OUTPUT
% 0.00/0.12  % Problem  : ITP196^2 : TPTP v9.2.1. Released v7.5.0.
% 0.00/0.13  % Command  : /export/starexec/sandbox2/solver/bin/run_DT2H2X /export/starexec/sandbox2/benchmark/theBenchmark.p 300
% 0.17/0.34  % Computer : n004.cluster.edu
% 0.17/0.34  % Model    : x86_64 x86_64
% 0.17/0.34  % CPU      : Intel(R) Xeon(R) CPU E5-2620 v4 @ 2.10GHz
% 0.17/0.34  % Memory   : 8042.1875MB
% 0.17/0.34  % OS       : Linux 3.10.0-693.el7.x86_64
% 0.17/0.34  % CPULimit : 300
% 0.17/0.34  % WCLimit  : 300
% 0.17/0.34  % DateTime : Tue Feb 24 08:29:56 EST 2026
% 0.17/0.34  % CPUTime  : 
% 0.17/0.34  Running /export/starexec/sandbox2/solver/bin/run_DT2H2X /export/starexec/sandbox2/benchmark/theBenchmark.p 300
% 0.28/0.47  ---- Original DTF file ---
% 0.28/0.47  thf(spec,logic,$$dhol).
% 0.28/0.47  %------------------------------------------------------------------------------
% 0.28/0.47  % File     : ITP196^2 : TPTP v9.2.1. Released v7.5.0.
% 0.28/0.47  % Domain   : Interactive Theorem Proving
% 0.28/0.47  % Problem  : Sledgehammer Sturm_Theorem problem prob_153__5878286_1
% 0.28/0.47  % Version  : Especial.
% 0.28/0.47  % English  :
% 0.28/0.47  
% 0.28/0.47  % Refs     : [BH+15] Blanchette et al. (2015), Mining the Archive of Formal
% 0.28/0.47  %          : [Des21] Desharnais (2021), Email to Geoff Sutcliffe
% 0.28/0.47  % Source   : [Des21]
% 0.28/0.47  % Names    : Sturm_Theorem/prob_153__5878286_1 [Des21]
% 0.28/0.47  
% 0.28/0.47  % Status   : Theorem
% 0.28/0.47  % Rating   : 0.00 v8.1.0, 0.25 v7.5.0
% 0.28/0.47  % Syntax   : Number of formulae    :  358 ( 154 unt;  72 typ;   0 def)
% 0.28/0.47  %            Number of atoms       :  681 ( 416 equ;   0 cnn)
% 0.28/0.47  %            Maximal formula atoms :   11 (   2 avg)
% 0.28/0.47  %            Number of connectives : 5742 ( 147   ~;  27   |;  61   &;5187   @)
% 0.28/0.47  %                                         (   0 <=>; 320  =>;   0  <=;   0 <~>)
% 0.28/0.47  %            Maximal formula depth :   34 (   8 avg)
% 0.28/0.47  %            Number of types       :    3 (   2 usr)
% 0.28/0.47  %            Number of type conns  :  306 ( 306   >;   0   *;   0   +;   0  <<)
% 0.28/0.47  %            Number of symbols     :   71 (  70 usr;   0 con; 1-5 aty)
% 0.28/0.47  %            Number of variables   : 1284 (  13   ^;1145   !;  49   ?;1284   :)
% 0.28/0.47  %                                         (  77  !>;   0  ?*;   0  @-;   0  @+)
% 0.28/0.47  % SPC      : TH1_THM_EQU_NAR
% 0.28/0.47  
% 0.28/0.47  % Comments : This file was generated by Sledgehammer 2021-02-23 16:25:56.019
% 0.28/0.47  %------------------------------------------------------------------------------
% 0.28/0.47  % Could-be-implicit typings (7)
% 0.28/0.47  thf(ty_t_Product__Type_Oprod,type,
% 0.28/0.47      product_prod: $tType > $tType > $tType ).
% 0.28/0.47  
% 0.28/0.47  thf(ty_t_Polynomial_Opoly,type,
% 0.28/0.47      poly: $tType > $tType ).
% 0.28/0.47  
% 0.28/0.47  thf(ty_t_Option_Ooption,type,
% 0.28/0.47      option: $tType > $tType ).
% 0.28/0.47  
% 0.28/0.47  thf(ty_t_Real_Oreal,type,
% 0.28/0.47      real: $tType ).
% 0.28/0.47  
% 0.28/0.47  thf(ty_t_List_Olist,type,
% 0.28/0.47      list: $tType > $tType ).
% 0.28/0.47  
% 0.28/0.47  thf(ty_t_Set_Oset,type,
% 0.28/0.47      set: $tType > $tType ).
% 0.28/0.47  
% 0.28/0.47  thf(ty_t_Nat_Onat,type,
% 0.28/0.47      nat: $tType ).
% 0.28/0.47  
% 0.28/0.47  % Explicit typings (65)
% 0.28/0.47  thf(sy_cl_Groups_Oab__group__add,type,
% 0.28/0.47      ab_group_add: 
% 0.28/0.47        !>[A: $tType] : $o ).
% 0.28/0.47  
% 0.28/0.47  thf(sy_cl_Rings_Olinordered__idom,type,
% 0.28/0.47      linordered_idom: 
% 0.28/0.47        !>[A: $tType] : $o ).
% 0.28/0.47  
% 0.28/0.47  thf(sy_cl_Rings_Ocomm__semiring__0,type,
% 0.28/0.47      comm_semiring_0: 
% 0.28/0.47        !>[A: $tType] : $o ).
% 0.28/0.47  
% 0.28/0.47  thf(sy_cl_HOL_Otype,type,
% 0.28/0.47      type: 
% 0.28/0.47        !>[A: $tType] : $o ).
% 0.28/0.47  
% 0.28/0.47  thf(sy_cl_Nat_Osize,type,
% 0.28/0.47      size: 
% 0.28/0.47        !>[A: $tType] : $o ).
% 0.28/0.47  
% 0.28/0.47  thf(sy_cl_Orderings_Oord,type,
% 0.28/0.47      ord: 
% 0.28/0.47        !>[A: $tType] : $o ).
% 0.28/0.47  
% 0.28/0.47  thf(sy_cl_Groups_Ogroup__add,type,
% 0.28/0.47      group_add: 
% 0.28/0.47        !>[A: $tType] : $o ).
% 0.28/0.47  
% 0.28/0.47  thf(sy_cl_Orderings_Olinorder,type,
% 0.28/0.47      linorder: 
% 0.28/0.47        !>[A: $tType] : $o ).
% 0.28/0.47  
% 0.28/0.47  thf(sy_cl_Rings_Ocomm__semiring__1,type,
% 0.28/0.47      comm_semiring_1: 
% 0.28/0.47        !>[A: $tType] : $o ).
% 0.28/0.47  
% 0.28/0.47  thf(sy_cl_Groups_Ocomm__monoid__add,type,
% 0.28/0.47      comm_monoid_add: 
% 0.28/0.47        !>[A: $tType] : $o ).
% 0.28/0.47  
% 0.28/0.47  thf(sy_cl_Rings_Osemiring__no__zero__divisors,type,
% 0.28/0.47      semiri1193490041visors: 
% 0.28/0.47        !>[A: $tType] : $o ).
% 0.28/0.47  
% 0.28/0.47  thf(sy_c_BNF__Greatest__Fixpoint_OShift,type,
% 0.28/0.47      bNF_Greatest_Shift: 
% 0.28/0.47        !>[A: $tType] : ( ( set @ ( list @ A ) ) > A > ( set @ ( list @ A ) ) ) ).
% 0.28/0.47  
% 0.28/0.47  thf(sy_c_BNF__Greatest__Fixpoint_OSucc,type,
% 0.28/0.47      bNF_Greatest_Succ: 
% 0.28/0.47        !>[A: $tType] : ( ( set @ ( list @ A ) ) > ( list @ A ) > ( set @ A ) ) ).
% 0.28/0.47  
% 0.28/0.47  thf(sy_c_BNF__Greatest__Fixpoint_Oshift,type,
% 0.28/0.47      bNF_Greatest_shift: 
% 0.28/0.47        !>[A: $tType,B: $tType] : ( ( ( list @ A ) > B ) > A > ( list @ A ) > B ) ).
% 0.28/0.47  
% 0.28/0.47  thf(sy_c_Groups_Otimes__class_Otimes,type,
% 0.28/0.47      times_times: 
% 0.28/0.47        !>[A: $tType] : ( A > A > A ) ).
% 0.28/0.47  
% 0.28/0.47  thf(sy_c_List_Oappend,type,
% 0.28/0.47      append: 
% 0.28/0.47        !>[A: $tType] : ( ( list @ A ) > ( list @ A ) > ( list @ A ) ) ).
% 0.28/0.47  
% 0.28/0.47  thf(sy_c_List_Oarg__min__list,type,
% 0.28/0.47      arg_min_list: 
% 0.28/0.47        !>[A: $tType,B: $tType] : ( ( A > B ) > ( list @ A ) > A ) ).
% 0.28/0.47  
% 0.28/0.47  thf(sy_c_List_Obind,type,
% 0.28/0.47      bind: 
% 0.28/0.47        !>[A: $tType,B: $tType] : ( ( list @ A ) > ( A > ( list @ B ) ) > ( list @ B ) ) ).
% 0.28/0.47  
% 0.28/0.47  thf(sy_c_List_Obutlast,type,
% 0.28/0.47      butlast: 
% 0.28/0.47        !>[A: $tType] : ( ( list @ A ) > ( list @ A ) ) ).
% 0.28/0.47  
% 0.28/0.47  thf(sy_c_List_Oconcat,type,
% 0.28/0.47      concat: 
% 0.28/0.47        !>[A: $tType] : ( ( list @ ( list @ A ) ) > ( list @ A ) ) ).
% 0.28/0.47  
% 0.28/0.47  thf(sy_c_List_Oenumerate,type,
% 0.28/0.47      enumerate: 
% 0.28/0.47        !>[A: $tType] : ( nat > ( list @ A ) > ( list @ ( product_prod @ nat @ A ) ) ) ).
% 0.28/0.47  
% 0.28/0.47  thf(sy_c_List_Ofoldr,type,
% 0.28/0.47      foldr: 
% 0.28/0.47        !>[A: $tType,B: $tType] : ( ( A > B > B ) > ( list @ A ) > B > B ) ).
% 0.28/0.47  
% 0.28/0.47  thf(sy_c_List_Ogen__length,type,
% 0.28/0.47      gen_length: 
% 0.28/0.47        !>[A: $tType] : ( nat > ( list @ A ) > nat ) ).
% 0.28/0.47  
% 0.28/0.47  thf(sy_c_List_Oinsert,type,
% 0.28/0.47      insert: 
% 0.28/0.47        !>[A: $tType] : ( A > ( list @ A ) > ( list @ A ) ) ).
% 0.28/0.47  
% 0.28/0.47  thf(sy_c_List_Olast,type,
% 0.28/0.47      last: 
% 0.28/0.47        !>[A: $tType] : ( ( list @ A ) > A ) ).
% 0.28/0.47  
% 0.28/0.47  thf(sy_c_List_Olenlex,type,
% 0.28/0.47      lenlex: 
% 0.28/0.47        !>[A: $tType] : ( ( set @ ( product_prod @ A @ A ) ) > ( set @ ( product_prod @ ( list @ A ) @ ( list @ A ) ) ) ) ).
% 0.28/0.47  
% 0.28/0.47  thf(sy_c_List_Olex,type,
% 0.28/0.47      lex: 
% 0.28/0.47        !>[A: $tType] : ( ( set @ ( product_prod @ A @ A ) ) > ( set @ ( product_prod @ ( list @ A ) @ ( list @ A ) ) ) ) ).
% 0.28/0.47  
% 0.28/0.47  thf(sy_c_List_Olexord,type,
% 0.28/0.47      lexord: 
% 0.28/0.47        !>[A: $tType] : ( ( set @ ( product_prod @ A @ A ) ) > ( set @ ( product_prod @ ( list @ A ) @ ( list @ A ) ) ) ) ).
% 0.28/0.47  
% 0.28/0.47  thf(sy_c_List_Olist_OCons,type,
% 0.28/0.47      cons: 
% 0.28/0.47        !>[A: $tType] : ( A > ( list @ A ) > ( list @ A ) ) ).
% 0.28/0.47  
% 0.28/0.47  thf(sy_c_List_Olist_ONil,type,
% 0.28/0.47      nil: 
% 0.28/0.47        !>[A: $tType] : ( list @ A ) ).
% 0.28/0.47  
% 0.28/0.47  thf(sy_c_List_Olist_Omap,type,
% 0.28/0.47      map: 
% 0.28/0.47        !>[A: $tType,Aa: $tType] : ( ( A > Aa ) > ( list @ A ) > ( list @ Aa ) ) ).
% 0.28/0.47  
% 0.28/0.47  thf(sy_c_List_Olist_Orec__list,type,
% 0.28/0.47      rec_list: 
% 0.28/0.47        !>[C: $tType,A: $tType] : ( C > ( A > ( list @ A ) > C > C ) > ( list @ A ) > C ) ).
% 0.28/0.47  
% 0.28/0.47  thf(sy_c_List_Olist__ex,type,
% 0.28/0.47      list_ex: 
% 0.28/0.47        !>[A: $tType] : ( ( A > $o ) > ( list @ A ) > $o ) ).
% 0.28/0.47  
% 0.28/0.47  thf(sy_c_List_Olist__ex1,type,
% 0.28/0.47      list_ex1: 
% 0.28/0.47        !>[A: $tType] : ( ( A > $o ) > ( list @ A ) > $o ) ).
% 0.28/0.47  
% 0.28/0.47  thf(sy_c_List_Olistrel,type,
% 0.28/0.47      listrel: 
% 0.28/0.47        !>[A: $tType,B: $tType] : ( ( set @ ( product_prod @ A @ B ) ) > ( set @ ( product_prod @ ( list @ A ) @ ( list @ B ) ) ) ) ).
% 0.28/0.47  
% 0.28/0.47  thf(sy_c_List_Olistrel1,type,
% 0.28/0.47      listrel1: 
% 0.28/0.47        !>[A: $tType] : ( ( set @ ( product_prod @ A @ A ) ) > ( set @ ( product_prod @ ( list @ A ) @ ( list @ A ) ) ) ) ).
% 0.28/0.47  
% 0.28/0.47  thf(sy_c_List_Olistrelp,type,
% 0.28/0.47      listrelp: 
% 0.28/0.47        !>[A: $tType,B: $tType] : ( ( A > B > $o ) > ( list @ A ) > ( list @ B ) > $o ) ).
% 0.28/0.47  
% 0.28/0.47  thf(sy_c_List_Omap__filter,type,
% 0.28/0.47      map_filter: 
% 0.28/0.47        !>[A: $tType,B: $tType] : ( ( A > ( option @ B ) ) > ( list @ A ) > ( list @ B ) ) ).
% 0.28/0.47  
% 0.28/0.47  thf(sy_c_List_Omap__tailrec__rev,type,
% 0.28/0.47      map_tailrec_rev: 
% 0.28/0.47        !>[A: $tType,B: $tType] : ( ( A > B ) > ( list @ A ) > ( list @ B ) > ( list @ B ) ) ).
% 0.28/0.47  
% 0.28/0.47  thf(sy_c_List_Omap__tailrec__rev__rel,type,
% 0.28/0.47      map_tailrec_rev_rel: 
% 0.28/0.47        !>[A: $tType,B: $tType] : ( ( product_prod @ ( A > B ) @ ( product_prod @ ( list @ A ) @ ( list @ B ) ) ) > ( product_prod @ ( A > B ) @ ( product_prod @ ( list @ A ) @ ( list @ B ) ) ) > $o ) ).
% 0.28/0.47  
% 0.28/0.47  thf(sy_c_List_Omaps,type,
% 0.28/0.47      maps: 
% 0.28/0.47        !>[A: $tType,B: $tType] : ( ( A > ( list @ B ) ) > ( list @ A ) > ( list @ B ) ) ).
% 0.28/0.47  
% 0.28/0.47  thf(sy_c_List_Omember,type,
% 0.28/0.47      member: 
% 0.28/0.47        !>[A: $tType] : ( ( list @ A ) > A > $o ) ).
% 0.28/0.47  
% 0.28/0.47  thf(sy_c_List_Onull,type,
% 0.28/0.47      null: 
% 0.28/0.47        !>[A: $tType] : ( ( list @ A ) > $o ) ).
% 0.28/0.47  
% 0.28/0.47  thf(sy_c_List_Oord_Olexordp__eq,type,
% 0.28/0.47      lexordp_eq: 
% 0.28/0.47        !>[A: $tType] : ( ( A > A > $o ) > ( list @ A ) > ( list @ A ) > $o ) ).
% 0.28/0.47  
% 0.28/0.47  thf(sy_c_List_Oord__class_Olexordp__eq,type,
% 0.28/0.47      ord_lexordp_eq: 
% 0.28/0.47        !>[A: $tType] : ( ( list @ A ) > ( list @ A ) > $o ) ).
% 0.28/0.47  
% 0.28/0.47  thf(sy_c_List_Oproduct,type,
% 0.28/0.47      product: 
% 0.28/0.47        !>[A: $tType,B: $tType] : ( ( list @ A ) > ( list @ B ) > ( list @ ( product_prod @ A @ B ) ) ) ).
% 0.28/0.47  
% 0.28/0.47  thf(sy_c_List_Oproduct__lists,type,
% 0.28/0.47      product_lists: 
% 0.28/0.47        !>[A: $tType] : ( ( list @ ( list @ A ) ) > ( list @ ( list @ A ) ) ) ).
% 0.28/0.47  
% 0.28/0.47  thf(sy_c_List_Orotate,type,
% 0.28/0.47      rotate: 
% 0.28/0.47        !>[A: $tType] : ( nat > ( list @ A ) > ( list @ A ) ) ).
% 0.28/0.47  
% 0.28/0.47  thf(sy_c_List_Orotate1,type,
% 0.28/0.47      rotate1: 
% 0.28/0.47        !>[A: $tType] : ( ( list @ A ) > ( list @ A ) ) ).
% 0.28/0.47  
% 0.28/0.47  thf(sy_c_List_Osplice,type,
% 0.28/0.47      splice: 
% 0.28/0.47        !>[A: $tType] : ( ( list @ A ) > ( list @ A ) > ( list @ A ) ) ).
% 0.28/0.47  
% 0.28/0.47  thf(sy_c_List_Osubseqs,type,
% 0.28/0.47      subseqs: 
% 0.28/0.47        !>[A: $tType] : ( ( list @ A ) > ( list @ ( list @ A ) ) ) ).
% 0.28/0.47  
% 0.28/0.47  thf(sy_c_List_Ozip,type,
% 0.28/0.47      zip: 
% 0.28/0.47        !>[A: $tType,B: $tType] : ( ( list @ A ) > ( list @ B ) > ( list @ ( product_prod @ A @ B ) ) ) ).
% 0.28/0.47  
% 0.28/0.47  thf(sy_c_Multiset_Olinorder__class_Opart,type,
% 0.28/0.47      linorder_part: 
% 0.28/0.47        !>[B: $tType,A: $tType] : ( ( B > A ) > A > ( list @ B ) > ( product_prod @ ( list @ B ) @ ( product_prod @ ( list @ B ) @ ( list @ B ) ) ) ) ).
% 0.28/0.47  
% 0.28/0.47  thf(sy_c_Nat_OSuc,type,
% 0.28/0.47      suc: nat > nat ).
% 0.28/0.47  
% 0.28/0.47  thf(sy_c_Nat_Osize__class_Osize,type,
% 0.28/0.47      size_size: 
% 0.28/0.47        !>[A: $tType] : ( A > nat ) ).
% 0.28/0.47  
% 0.28/0.47  thf(sy_c_Orderings_Oord__class_Oless,type,
% 0.28/0.47      ord_less: 
% 0.28/0.47        !>[A: $tType] : ( A > A > $o ) ).
% 0.28/0.47  
% 0.28/0.47  thf(sy_c_Polynomial_Oplus__coeffs,type,
% 0.28/0.47      plus_coeffs: 
% 0.28/0.47        !>[A: $tType] : ( ( list @ A ) > ( list @ A ) > ( list @ A ) ) ).
% 0.28/0.47  
% 0.28/0.47  thf(sy_c_Product__Type_OPair,type,
% 0.28/0.47      product_Pair: 
% 0.28/0.47        !>[A: $tType,B: $tType] : ( A > B > ( product_prod @ A @ B ) ) ).
% 0.28/0.47  
% 0.28/0.47  thf(sy_c_Relation_Oirrefl,type,
% 0.28/0.47      irrefl: 
% 0.28/0.47        !>[A: $tType] : ( ( set @ ( product_prod @ A @ A ) ) > $o ) ).
% 0.28/0.47  
% 0.28/0.47  thf(sy_c_Set_OCollect,type,
% 0.28/0.47      collect: 
% 0.28/0.47        !>[A: $tType] : ( ( A > $o ) > ( set @ A ) ) ).
% 0.28/0.47  
% 0.28/0.47  thf(sy_c_Sturm__Theorem__Mirabelle__xzqolxckln_Oquasi__sturm__seq,type,
% 0.28/0.47      sturm_2060350619rm_seq: ( list @ ( poly @ real ) ) > $o ).
% 0.28/0.47  
% 0.28/0.47  thf(sy_c_Sturm__Theorem__Mirabelle__xzqolxckln_Osturm__seq,type,
% 0.28/0.47      sturm_801371416rm_seq: ( list @ ( poly @ real ) ) > ( poly @ real ) > $o ).
% 0.28/0.47  
% 0.28/0.47  thf(sy_c_Sturm__Theorem__Mirabelle__xzqolxckln_Osturm__seq__axioms,type,
% 0.28/0.47      sturm_1585582267axioms: ( list @ ( poly @ real ) ) > ( poly @ real ) > $o ).
% 0.28/0.47  
% 0.28/0.47  thf(sy_c_Wellfounded_Oaccp,type,
% 0.28/0.47      accp: 
% 0.28/0.47        !>[A: $tType] : ( ( A > A > $o ) > A > $o ) ).
% 0.28/0.47  
% 0.28/0.47  thf(sy_c_member,type,
% 0.28/0.47      member2: 
% 0.28/0.47        !>[A: $tType] : ( A > ( set @ A ) > $o ) ).
% 0.28/0.47  
% 0.28/0.47  % Relevant facts (254)
% 0.28/0.47  thf(fact_0_quasi__sturm__seq_Ops__not__Nil,axiom,
% 0.28/0.47      ! [Ps: list @ ( poly @ real )] :
% 0.28/0.47        ( ( sturm_2060350619rm_seq @ Ps )
% 0.28/0.47       => ( Ps
% 0.28/0.47         != ( nil @ ( poly @ real ) ) ) ) ).
% 0.28/0.47  
% 0.28/0.47  % quasi_sturm_seq.ps_not_Nil
% 0.28/0.47  thf(fact_1_sturm__seq_Oquasi__sturm__seq,axiom,
% 0.28/0.47      ! [Ps: list @ ( poly @ real ),P: poly @ real] :
% 0.28/0.47        ( ( sturm_801371416rm_seq @ Ps @ P )
% 0.28/0.47       => ( sturm_2060350619rm_seq @ Ps ) ) ).
% 0.28/0.47  
% 0.28/0.47  % sturm_seq.quasi_sturm_seq
% 0.28/0.47  thf(fact_2_sturm__seq__def,axiom,
% 0.28/0.47      ( sturm_801371416rm_seq
% 0.28/0.47      = ( ^ [Ps2: list @ ( poly @ real ),P2: poly @ real] :
% 0.28/0.47            ( ( sturm_2060350619rm_seq @ Ps2 )
% 0.28/0.47            & ( sturm_1585582267axioms @ Ps2 @ P2 ) ) ) ) ).
% 0.28/0.47  
% 0.28/0.47  % sturm_seq_def
% 0.28/0.47  thf(fact_3_sturm__seq_Ointro,axiom,
% 0.28/0.47      ! [Ps: list @ ( poly @ real ),P: poly @ real] :
% 0.28/0.47        ( ( sturm_2060350619rm_seq @ Ps )
% 0.28/0.47       => ( ( sturm_1585582267axioms @ Ps @ P )
% 0.28/0.47         => ( sturm_801371416rm_seq @ Ps @ P ) ) ) ).
% 0.28/0.47  
% 0.28/0.47  % sturm_seq.intro
% 0.28/0.47  thf(fact_4_list__ex1__simps_I1_J,axiom,
% 0.28/0.47      ! [A: $tType,P3: A > $o] :
% 0.28/0.47        ~ ( list_ex1 @ A @ P3 @ ( nil @ A ) ) ).
% 0.28/0.47  
% 0.28/0.47  % list_ex1_simps(1)
% 0.28/0.47  thf(fact_5_bind__simps_I1_J,axiom,
% 0.28/0.47      ! [B: $tType,A: $tType,F: B > ( list @ A )] :
% 0.28/0.47        ( ( bind @ B @ A @ ( nil @ B ) @ F )
% 0.28/0.47        = ( nil @ A ) ) ).
% 0.28/0.47  
% 0.28/0.47  % bind_simps(1)
% 0.28/0.47  thf(fact_6_member__rec_I2_J,axiom,
% 0.28/0.47      ! [A: $tType,Y: A] :
% 0.28/0.47        ~ ( member @ A @ ( nil @ A ) @ Y ) ).
% 0.28/0.47  
% 0.28/0.47  % member_rec(2)
% 0.28/0.47  thf(fact_7_gen__length__code_I1_J,axiom,
% 0.28/0.47      ! [A: $tType,N: nat] :
% 0.28/0.47        ( ( gen_length @ A @ N @ ( nil @ A ) )
% 0.28/0.47        = N ) ).
% 0.28/0.47  
% 0.28/0.47  % gen_length_code(1)
% 0.28/0.47  thf(fact_8_maps__simps_I2_J,axiom,
% 0.28/0.47      ! [B: $tType,A: $tType,F: B > ( list @ A )] :
% 0.28/0.47        ( ( maps @ B @ A @ F @ ( nil @ B ) )
% 0.28/0.47        = ( nil @ A ) ) ).
% 0.28/0.47  
% 0.28/0.47  % maps_simps(2)
% 0.28/0.47  thf(fact_9_map__filter__simps_I2_J,axiom,
% 0.28/0.47      ! [B: $tType,A: $tType,F: B > ( option @ A )] :
% 0.28/0.47        ( ( map_filter @ B @ A @ F @ ( nil @ B ) )
% 0.28/0.47        = ( nil @ A ) ) ).
% 0.28/0.47  
% 0.28/0.47  % map_filter_simps(2)
% 0.28/0.47  thf(fact_10_null__rec_I2_J,axiom,
% 0.28/0.47      ! [B: $tType] : ( null @ B @ ( nil @ B ) ) ).
% 0.28/0.47  
% 0.28/0.47  % null_rec(2)
% 0.28/0.47  thf(fact_11_eq__Nil__null,axiom,
% 0.28/0.47      ! [A: $tType,Xs: list @ A] :
% 0.28/0.47        ( ( Xs
% 0.28/0.47          = ( nil @ A ) )
% 0.28/0.47        = ( null @ A @ Xs ) ) ).
% 0.28/0.47  
% 0.28/0.47  % eq_Nil_null
% 0.28/0.47  thf(fact_12_sturm__seq_Oaxioms_I2_J,axiom,
% 0.28/0.47      ! [Ps: list @ ( poly @ real ),P: poly @ real] :
% 0.28/0.47        ( ( sturm_801371416rm_seq @ Ps @ P )
% 0.28/0.47       => ( sturm_1585582267axioms @ Ps @ P ) ) ).
% 0.28/0.47  
% 0.28/0.47  % sturm_seq.axioms(2)
% 0.28/0.47  thf(fact_13_list__ex__simps_I2_J,axiom,
% 0.28/0.47      ! [A: $tType,P3: A > $o] :
% 0.28/0.47        ~ ( list_ex @ A @ P3 @ ( nil @ A ) ) ).
% 0.28/0.47  
% 0.28/0.47  % list_ex_simps(2)
% 0.28/0.47  thf(fact_14_rotate1__is__Nil__conv,axiom,
% 0.28/0.47      ! [A: $tType,Xs: list @ A] :
% 0.28/0.47        ( ( ( rotate1 @ A @ Xs )
% 0.28/0.47          = ( nil @ A ) )
% 0.28/0.47        = ( Xs
% 0.28/0.47          = ( nil @ A ) ) ) ).
% 0.28/0.47  
% 0.28/0.47  % rotate1_is_Nil_conv
% 0.28/0.47  thf(fact_15_split__Nil__iff,axiom,
% 0.28/0.47      ! [A: $tType,Xs: list @ A,Ys: list @ A] :
% 0.28/0.47        ( ( ( splice @ A @ Xs @ Ys )
% 0.28/0.47          = ( nil @ A ) )
% 0.28/0.47        = ( ( Xs
% 0.28/0.47            = ( nil @ A ) )
% 0.28/0.47          & ( Ys
% 0.28/0.47            = ( nil @ A ) ) ) ) ).
% 0.28/0.47  
% 0.28/0.47  % split_Nil_iff
% 0.28/0.47  thf(fact_16_splice__Nil2,axiom,
% 0.28/0.47      ! [A: $tType,Xs: list @ A] :
% 0.28/0.47        ( ( splice @ A @ Xs @ ( nil @ A ) )
% 0.28/0.47        = Xs ) ).
% 0.28/0.47  
% 0.28/0.47  % splice_Nil2
% 0.28/0.47  thf(fact_17_enumerate__simps_I1_J,axiom,
% 0.28/0.47      ! [A: $tType,N: nat] :
% 0.28/0.47        ( ( enumerate @ A @ N @ ( nil @ A ) )
% 0.28/0.47        = ( nil @ ( product_prod @ nat @ A ) ) ) ).
% 0.28/0.47  
% 0.28/0.47  % enumerate_simps(1)
% 0.28/0.47  thf(fact_18_product_Osimps_I1_J,axiom,
% 0.28/0.47      ! [B: $tType,A: $tType,Uu: list @ B] :
% 0.28/0.47        ( ( product @ A @ B @ ( nil @ A ) @ Uu )
% 0.28/0.47        = ( nil @ ( product_prod @ A @ B ) ) ) ).
% 0.28/0.47  
% 0.28/0.47  % product.simps(1)
% 0.28/0.47  thf(fact_19_map__tailrec__rev_Osimps_I1_J,axiom,
% 0.28/0.47      ! [A: $tType,B: $tType,F: A > B,Bs: list @ B] :
% 0.28/0.47        ( ( map_tailrec_rev @ A @ B @ F @ ( nil @ A ) @ Bs )
% 0.28/0.47        = Bs ) ).
% 0.28/0.47  
% 0.28/0.47  % map_tailrec_rev.simps(1)
% 0.28/0.47  thf(fact_20_list_Osimps_I6_J,axiom,
% 0.28/0.47      ! [A: $tType,C: $tType,F1: C,F2: A > ( list @ A ) > C > C] :
% 0.28/0.47        ( ( rec_list @ C @ A @ F1 @ F2 @ ( nil @ A ) )
% 0.28/0.47        = F1 ) ).
% 0.28/0.47  
% 0.28/0.47  % list.simps(6)
% 0.28/0.47  thf(fact_21_ord_Olexordp__eq__simps_I1_J,axiom,
% 0.28/0.47      ! [A: $tType,Less: A > A > $o,Ys: list @ A] : ( lexordp_eq @ A @ Less @ ( nil @ A ) @ Ys ) ).
% 0.28/0.47  
% 0.28/0.47  % ord.lexordp_eq_simps(1)
% 0.28/0.47  thf(fact_22_ord_Olexordp__eq__simps_I2_J,axiom,
% 0.28/0.47      ! [A: $tType,Less: A > A > $o,Xs: list @ A] :
% 0.28/0.47        ( ( lexordp_eq @ A @ Less @ Xs @ ( nil @ A ) )
% 0.28/0.47        = ( Xs
% 0.28/0.47          = ( nil @ A ) ) ) ).
% 0.28/0.47  
% 0.28/0.47  % ord.lexordp_eq_simps(2)
% 0.28/0.47  thf(fact_23_listrelp_ONil,axiom,
% 0.28/0.47      ! [A: $tType,B: $tType,R: A > B > $o] : ( listrelp @ A @ B @ R @ ( nil @ A ) @ ( nil @ B ) ) ).
% 0.28/0.47  
% 0.28/0.47  % listrelp.Nil
% 0.28/0.47  thf(fact_24_ord_Olexordp__eq_Ocong,axiom,
% 0.28/0.47      ! [A: $tType] :
% 0.28/0.47        ( ( lexordp_eq @ A )
% 0.28/0.47        = ( lexordp_eq @ A ) ) ).
% 0.28/0.47  
% 0.28/0.47  % ord.lexordp_eq.cong
% 0.28/0.47  thf(fact_25_ord_Olexordp__eq__refl,axiom,
% 0.28/0.47      ! [A: $tType,Less: A > A > $o,Xs: list @ A] : ( lexordp_eq @ A @ Less @ Xs @ Xs ) ).
% 0.28/0.47  
% 0.28/0.47  % ord.lexordp_eq_refl
% 0.28/0.47  thf(fact_26_ord_Olexordp__eq_ONil,axiom,
% 0.28/0.47      ! [A: $tType,Less: A > A > $o,Ys: list @ A] : ( lexordp_eq @ A @ Less @ ( nil @ A ) @ Ys ) ).
% 0.28/0.47  
% 0.28/0.47  % ord.lexordp_eq.Nil
% 0.28/0.47  thf(fact_27_splice_Osimps_I1_J,axiom,
% 0.28/0.47      ! [A: $tType,Ys: list @ A] :
% 0.28/0.47        ( ( splice @ A @ ( nil @ A ) @ Ys )
% 0.28/0.47        = Ys ) ).
% 0.28/0.47  
% 0.28/0.47  % splice.simps(1)
% 0.28/0.47  thf(fact_28_rotate1_Osimps_I1_J,axiom,
% 0.28/0.47      ! [A: $tType] :
% 0.28/0.47        ( ( rotate1 @ A @ ( nil @ A ) )
% 0.28/0.47        = ( nil @ A ) ) ).
% 0.28/0.47  
% 0.28/0.47  % rotate1.simps(1)
% 0.28/0.47  thf(fact_29_ord_Olexordp__eq__simps_I3_J,axiom,
% 0.28/0.47      ! [A: $tType,Less: A > A > $o,X: A,Xs: list @ A] :
% 0.28/0.47        ~ ( lexordp_eq @ A @ Less @ ( cons @ A @ X @ Xs ) @ ( nil @ A ) ) ).
% 0.28/0.47  
% 0.28/0.47  % ord.lexordp_eq_simps(3)
% 0.28/0.47  thf(fact_30_zip__Nil,axiom,
% 0.28/0.47      ! [B: $tType,A: $tType,Ys: list @ B] :
% 0.28/0.47        ( ( zip @ A @ B @ ( nil @ A ) @ Ys )
% 0.28/0.47        = ( nil @ ( product_prod @ A @ B ) ) ) ).
% 0.28/0.47  
% 0.28/0.47  % zip_Nil
% 0.28/0.47  thf(fact_31_map__tailrec__rev_Oelims,axiom,
% 0.28/0.47      ! [A: $tType,B: $tType,X: A > B,Xa: list @ A,Xb: list @ B,Y: list @ B] :
% 0.28/0.47        ( ( ( map_tailrec_rev @ A @ B @ X @ Xa @ Xb )
% 0.28/0.47          = Y )
% 0.28/0.47       => ( ( ( Xa
% 0.28/0.47              = ( nil @ A ) )
% 0.28/0.47           => ( Y != Xb ) )
% 0.28/0.47         => ~ ! [A2: A,As: list @ A] :
% 0.28/0.47                ( ( Xa
% 0.28/0.47                  = ( cons @ A @ A2 @ As ) )
% 0.28/0.47               => ( Y
% 0.28/0.47                 != ( map_tailrec_rev @ A @ B @ X @ As @ ( cons @ B @ ( X @ A2 ) @ Xb ) ) ) ) ) ) ).
% 0.28/0.47  
% 0.28/0.47  % map_tailrec_rev.elims
% 0.28/0.47  thf(fact_32_listrelp_Oinducts,axiom,
% 0.28/0.47      ! [A: $tType,B: $tType,R: A > B > $o,X1: list @ A,X2: list @ B,P3: ( list @ A ) > ( list @ B ) > $o] :
% 0.28/0.47        ( ( listrelp @ A @ B @ R @ X1 @ X2 )
% 0.28/0.47       => ( ( P3 @ ( nil @ A ) @ ( nil @ B ) )
% 0.28/0.47         => ( ! [X3: A,Y2: B,Xs2: list @ A,Ys2: list @ B] :
% 0.28/0.47                ( ( R @ X3 @ Y2 )
% 0.28/0.47               => ( ( listrelp @ A @ B @ R @ Xs2 @ Ys2 )
% 0.28/0.47                 => ( ( P3 @ Xs2 @ Ys2 )
% 0.28/0.47                   => ( P3 @ ( cons @ A @ X3 @ Xs2 ) @ ( cons @ B @ Y2 @ Ys2 ) ) ) ) )
% 0.28/0.47           => ( P3 @ X1 @ X2 ) ) ) ) ).
% 0.28/0.47  
% 0.28/0.47  % listrelp.inducts
% 0.28/0.47  thf(fact_33_listrelp_Osimps,axiom,
% 0.28/0.47      ! [B: $tType,A: $tType] :
% 0.28/0.47        ( ( listrelp @ A @ B )
% 0.28/0.47        = ( ^ [R2: A > B > $o,A1: list @ A,A22: list @ B] :
% 0.28/0.47              ( ( ( A1
% 0.28/0.47                  = ( nil @ A ) )
% 0.28/0.47                & ( A22
% 0.28/0.47                  = ( nil @ B ) ) )
% 0.28/0.47              | ? [X4: A,Y3: B,Xs3: list @ A,Ys3: list @ B] :
% 0.28/0.47                  ( ( A1
% 0.28/0.47                    = ( cons @ A @ X4 @ Xs3 ) )
% 0.28/0.47                  & ( A22
% 0.28/0.47                    = ( cons @ B @ Y3 @ Ys3 ) )
% 0.28/0.47                  & ( R2 @ X4 @ Y3 )
% 0.28/0.47                  & ( listrelp @ A @ B @ R2 @ Xs3 @ Ys3 ) ) ) ) ) ).
% 0.28/0.47  
% 0.28/0.47  % listrelp.simps
% 0.28/0.47  thf(fact_34_listrelp_Ocases,axiom,
% 0.28/0.47      ! [A: $tType,B: $tType,R: A > B > $o,A12: list @ A,A23: list @ B] :
% 0.28/0.47        ( ( listrelp @ A @ B @ R @ A12 @ A23 )
% 0.28/0.47       => ( ( ( A12
% 0.28/0.47              = ( nil @ A ) )
% 0.28/0.47           => ( A23
% 0.28/0.47             != ( nil @ B ) ) )
% 0.28/0.47         => ~ ! [X3: A,Y2: B,Xs2: list @ A] :
% 0.28/0.47                ( ( A12
% 0.28/0.47                  = ( cons @ A @ X3 @ Xs2 ) )
% 0.28/0.47               => ! [Ys2: list @ B] :
% 0.28/0.47                    ( ( A23
% 0.28/0.47                      = ( cons @ B @ Y2 @ Ys2 ) )
% 0.28/0.47                   => ( ( R @ X3 @ Y2 )
% 0.28/0.47                     => ~ ( listrelp @ A @ B @ R @ Xs2 @ Ys2 ) ) ) ) ) ) ).
% 0.28/0.47  
% 0.28/0.47  % listrelp.cases
% 0.28/0.47  thf(fact_35_splice_Oelims,axiom,
% 0.28/0.47      ! [A: $tType,X: list @ A,Xa: list @ A,Y: list @ A] :
% 0.28/0.47        ( ( ( splice @ A @ X @ Xa )
% 0.28/0.47          = Y )
% 0.28/0.47       => ( ( ( X
% 0.28/0.47              = ( nil @ A ) )
% 0.28/0.47           => ( Y != Xa ) )
% 0.28/0.47         => ~ ! [X3: A,Xs2: list @ A] :
% 0.28/0.47                ( ( X
% 0.28/0.47                  = ( cons @ A @ X3 @ Xs2 ) )
% 0.28/0.47               => ( Y
% 0.28/0.47                 != ( cons @ A @ X3 @ ( splice @ A @ Xa @ Xs2 ) ) ) ) ) ) ).
% 0.28/0.47  
% 0.28/0.47  % splice.elims
% 0.28/0.47  thf(fact_36_ord_Olexordp__eq_Oinducts,axiom,
% 0.28/0.47      ! [A: $tType,Less: A > A > $o,X1: list @ A,X2: list @ A,P3: ( list @ A ) > ( list @ A ) > $o] :
% 0.28/0.47        ( ( lexordp_eq @ A @ Less @ X1 @ X2 )
% 0.28/0.47       => ( ! [X_1: list @ A] : ( P3 @ ( nil @ A ) @ X_1 )
% 0.28/0.47         => ( ! [X3: A,Y2: A,Xs2: list @ A,Ys2: list @ A] :
% 0.28/0.47                ( ( Less @ X3 @ Y2 )
% 0.28/0.47               => ( P3 @ ( cons @ A @ X3 @ Xs2 ) @ ( cons @ A @ Y2 @ Ys2 ) ) )
% 0.28/0.47           => ( ! [X3: A,Y2: A,Xs2: list @ A,Ys2: list @ A] :
% 0.28/0.47                  ( ~ ( Less @ X3 @ Y2 )
% 0.28/0.47                 => ( ~ ( Less @ Y2 @ X3 )
% 0.28/0.47                   => ( ( lexordp_eq @ A @ Less @ Xs2 @ Ys2 )
% 0.28/0.47                     => ( ( P3 @ Xs2 @ Ys2 )
% 0.28/0.47                       => ( P3 @ ( cons @ A @ X3 @ Xs2 ) @ ( cons @ A @ Y2 @ Ys2 ) ) ) ) ) )
% 0.28/0.47             => ( P3 @ X1 @ X2 ) ) ) ) ) ).
% 0.28/0.47  
% 0.28/0.47  % ord.lexordp_eq.inducts
% 0.28/0.47  thf(fact_37_ord_Olexordp__eq_Osimps,axiom,
% 0.28/0.47      ! [A: $tType] :
% 0.28/0.47        ( ( lexordp_eq @ A )
% 0.28/0.47        = ( ^ [Less2: A > A > $o,A1: list @ A,A22: list @ A] :
% 0.28/0.47              ( ? [Ys3: list @ A] :
% 0.28/0.47                  ( ( A1
% 0.28/0.47                    = ( nil @ A ) )
% 0.28/0.47                  & ( A22 = Ys3 ) )
% 0.28/0.47              | ? [X4: A,Y3: A,Xs3: list @ A,Ys3: list @ A] :
% 0.28/0.47                  ( ( A1
% 0.28/0.47                    = ( cons @ A @ X4 @ Xs3 ) )
% 0.28/0.47                  & ( A22
% 0.28/0.47                    = ( cons @ A @ Y3 @ Ys3 ) )
% 0.28/0.47                  & ( Less2 @ X4 @ Y3 ) )
% 0.28/0.47              | ? [X4: A,Y3: A,Xs3: list @ A,Ys3: list @ A] :
% 0.28/0.47                  ( ( A1
% 0.28/0.47                    = ( cons @ A @ X4 @ Xs3 ) )
% 0.28/0.47                  & ( A22
% 0.28/0.47                    = ( cons @ A @ Y3 @ Ys3 ) )
% 0.28/0.47                  & ~ ( Less2 @ X4 @ Y3 )
% 0.28/0.47                  & ~ ( Less2 @ Y3 @ X4 )
% 0.28/0.47                  & ( lexordp_eq @ A @ Less2 @ Xs3 @ Ys3 ) ) ) ) ) ).
% 0.28/0.47  
% 0.28/0.47  % ord.lexordp_eq.simps
% 0.28/0.47  thf(fact_38_ord_Olexordp__eq_Ocases,axiom,
% 0.28/0.47      ! [A: $tType,Less: A > A > $o,A12: list @ A,A23: list @ A] :
% 0.28/0.47        ( ( lexordp_eq @ A @ Less @ A12 @ A23 )
% 0.28/0.47       => ( ( A12
% 0.28/0.47           != ( nil @ A ) )
% 0.28/0.47         => ( ! [X3: A] :
% 0.28/0.47                ( ? [Xs2: list @ A] :
% 0.28/0.47                    ( A12
% 0.28/0.47                    = ( cons @ A @ X3 @ Xs2 ) )
% 0.28/0.47               => ! [Y2: A] :
% 0.28/0.47                    ( ? [Ys2: list @ A] :
% 0.28/0.47                        ( A23
% 0.28/0.47                        = ( cons @ A @ Y2 @ Ys2 ) )
% 0.28/0.47                   => ~ ( Less @ X3 @ Y2 ) ) )
% 0.28/0.47           => ~ ! [X3: A,Y2: A,Xs2: list @ A] :
% 0.28/0.47                  ( ( A12
% 0.28/0.47                    = ( cons @ A @ X3 @ Xs2 ) )
% 0.28/0.47                 => ! [Ys2: list @ A] :
% 0.28/0.47                      ( ( A23
% 0.28/0.47                        = ( cons @ A @ Y2 @ Ys2 ) )
% 0.28/0.47                     => ( ~ ( Less @ X3 @ Y2 )
% 0.28/0.47                       => ( ~ ( Less @ Y2 @ X3 )
% 0.28/0.47                         => ~ ( lexordp_eq @ A @ Less @ Xs2 @ Ys2 ) ) ) ) ) ) ) ) ).
% 0.28/0.47  
% 0.28/0.47  % ord.lexordp_eq.cases
% 0.28/0.47  thf(fact_39_list_Oinject,axiom,
% 0.28/0.47      ! [A: $tType,X21: A,X22: list @ A,Y21: A,Y22: list @ A] :
% 0.28/0.47        ( ( ( cons @ A @ X21 @ X22 )
% 0.28/0.47          = ( cons @ A @ Y21 @ Y22 ) )
% 0.28/0.47        = ( ( X21 = Y21 )
% 0.28/0.47          & ( X22 = Y22 ) ) ) ).
% 0.28/0.47  
% 0.28/0.47  % list.inject
% 0.28/0.47  thf(fact_40_ord_Olexordp__eq__simps_I4_J,axiom,
% 0.28/0.47      ! [A: $tType,Less: A > A > $o,X: A,Xs: list @ A,Y: A,Ys: list @ A] :
% 0.28/0.47        ( ( lexordp_eq @ A @ Less @ ( cons @ A @ X @ Xs ) @ ( cons @ A @ Y @ Ys ) )
% 0.28/0.47        = ( ( Less @ X @ Y )
% 0.28/0.47          | ( ~ ( Less @ Y @ X )
% 0.28/0.47            & ( lexordp_eq @ A @ Less @ Xs @ Ys ) ) ) ) ).
% 0.28/0.47  
% 0.28/0.47  % ord.lexordp_eq_simps(4)
% 0.28/0.47  thf(fact_41_list__ex__simps_I1_J,axiom,
% 0.28/0.47      ! [A: $tType,P3: A > $o,X: A,Xs: list @ A] :
% 0.28/0.47        ( ( list_ex @ A @ P3 @ ( cons @ A @ X @ Xs ) )
% 0.28/0.47        = ( ( P3 @ X )
% 0.28/0.47          | ( list_ex @ A @ P3 @ Xs ) ) ) ).
% 0.28/0.47  
% 0.28/0.47  % list_ex_simps(1)
% 0.28/0.47  thf(fact_42_transpose_Ocases,axiom,
% 0.28/0.47      ! [A: $tType,X: list @ ( list @ A )] :
% 0.28/0.47        ( ( X
% 0.28/0.47         != ( nil @ ( list @ A ) ) )
% 0.28/0.47       => ( ! [Xss: list @ ( list @ A )] :
% 0.28/0.47              ( X
% 0.28/0.47             != ( cons @ ( list @ A ) @ ( nil @ A ) @ Xss ) )
% 0.28/0.47         => ~ ! [X3: A,Xs2: list @ A,Xss: list @ ( list @ A )] :
% 0.28/0.47                ( X
% 0.28/0.47               != ( cons @ ( list @ A ) @ ( cons @ A @ X3 @ Xs2 ) @ Xss ) ) ) ) ).
% 0.28/0.47  
% 0.28/0.47  % transpose.cases
% 0.28/0.47  thf(fact_43_not__Cons__self2,axiom,
% 0.28/0.47      ! [A: $tType,X: A,Xs: list @ A] :
% 0.28/0.47        ( ( cons @ A @ X @ Xs )
% 0.28/0.47       != Xs ) ).
% 0.28/0.47  
% 0.28/0.47  % not_Cons_self2
% 0.28/0.47  thf(fact_44_mem__Collect__eq,axiom,
% 0.28/0.47      ! [A: $tType,A3: A,P3: A > $o] :
% 0.28/0.47        ( ( member2 @ A @ A3 @ ( collect @ A @ P3 ) )
% 0.28/0.47        = ( P3 @ A3 ) ) ).
% 0.28/0.47  
% 0.28/0.47  % mem_Collect_eq
% 0.28/0.47  thf(fact_45_Collect__mem__eq,axiom,
% 0.28/0.47      ! [A: $tType,A4: set @ A] :
% 0.28/0.47        ( ( collect @ A
% 0.28/0.47          @ ^ [X4: A] : ( member2 @ A @ X4 @ A4 ) )
% 0.28/0.47        = A4 ) ).
% 0.28/0.47  
% 0.28/0.47  % Collect_mem_eq
% 0.28/0.47  thf(fact_46_Collect__cong,axiom,
% 0.28/0.47      ! [A: $tType,P3: A > $o,Q: A > $o] :
% 0.28/0.47        ( ! [X3: A] :
% 0.28/0.47            ( ( P3 @ X3 )
% 0.28/0.47            = ( Q @ X3 ) )
% 0.28/0.47       => ( ( collect @ A @ P3 )
% 0.28/0.47          = ( collect @ A @ Q ) ) ) ).
% 0.28/0.47  
% 0.28/0.47  % Collect_cong
% 0.28/0.47  thf(fact_47_ext,axiom,
% 0.28/0.47      ! [B: $tType,A: $tType,F: A > B,G: A > B] :
% 0.28/0.47        ( ! [X3: A] :
% 0.28/0.47            ( ( F @ X3 )
% 0.28/0.47            = ( G @ X3 ) )
% 0.28/0.47       => ( F = G ) ) ).
% 0.28/0.47  
% 0.28/0.47  % ext
% 0.28/0.47  thf(fact_48_strict__sorted_Oinduct,axiom,
% 0.28/0.47      ! [A: $tType] :
% 0.28/0.47        ( ( linorder @ A )
% 0.28/0.47       => ! [P3: ( list @ A ) > $o,A0: list @ A] :
% 0.28/0.47            ( ( P3 @ ( nil @ A ) )
% 0.28/0.47           => ( ! [X3: A,Ys2: list @ A] :
% 0.28/0.47                  ( ( P3 @ Ys2 )
% 0.28/0.47                 => ( P3 @ ( cons @ A @ X3 @ Ys2 ) ) )
% 0.28/0.47             => ( P3 @ A0 ) ) ) ) ).
% 0.28/0.47  
% 0.28/0.47  % strict_sorted.induct
% 0.28/0.47  thf(fact_49_strict__sorted_Ocases,axiom,
% 0.28/0.47      ! [A: $tType] :
% 0.28/0.47        ( ( linorder @ A )
% 0.28/0.47       => ! [X: list @ A] :
% 0.28/0.47            ( ( X
% 0.28/0.47             != ( nil @ A ) )
% 0.28/0.47           => ~ ! [X3: A,Ys2: list @ A] :
% 0.28/0.47                  ( X
% 0.28/0.47                 != ( cons @ A @ X3 @ Ys2 ) ) ) ) ).
% 0.28/0.47  
% 0.28/0.47  % strict_sorted.cases
% 0.28/0.47  thf(fact_50_map__tailrec__rev_Oinduct,axiom,
% 0.28/0.47      ! [A: $tType,B: $tType,P3: ( A > B ) > ( list @ A ) > ( list @ B ) > $o,A0: A > B,A12: list @ A,A23: list @ B] :
% 0.28/0.47        ( ! [F3: A > B,X_1: list @ B] : ( P3 @ F3 @ ( nil @ A ) @ X_1 )
% 0.28/0.47       => ( ! [F3: A > B,A2: A,As: list @ A,Bs2: list @ B] :
% 0.28/0.47              ( ( P3 @ F3 @ As @ ( cons @ B @ ( F3 @ A2 ) @ Bs2 ) )
% 0.28/0.47             => ( P3 @ F3 @ ( cons @ A @ A2 @ As ) @ Bs2 ) )
% 0.28/0.47         => ( P3 @ A0 @ A12 @ A23 ) ) ) ).
% 0.28/0.47  
% 0.28/0.47  % map_tailrec_rev.induct
% 0.28/0.47  thf(fact_51_list__nonempty__induct,axiom,
% 0.28/0.47      ! [A: $tType,Xs: list @ A,P3: ( list @ A ) > $o] :
% 0.28/0.47        ( ( Xs
% 0.28/0.47         != ( nil @ A ) )
% 0.28/0.47       => ( ! [X3: A] : ( P3 @ ( cons @ A @ X3 @ ( nil @ A ) ) )
% 0.28/0.47         => ( ! [X3: A,Xs2: list @ A] :
% 0.28/0.47                ( ( Xs2
% 0.28/0.47                 != ( nil @ A ) )
% 0.28/0.47               => ( ( P3 @ Xs2 )
% 0.28/0.47                 => ( P3 @ ( cons @ A @ X3 @ Xs2 ) ) ) )
% 0.28/0.47           => ( P3 @ Xs ) ) ) ) ).
% 0.28/0.47  
% 0.28/0.47  % list_nonempty_induct
% 0.28/0.47  thf(fact_52_successively_Oinduct,axiom,
% 0.28/0.47      ! [A: $tType,P3: ( A > A > $o ) > ( list @ A ) > $o,A0: A > A > $o,A12: list @ A] :
% 0.28/0.47        ( ! [P4: A > A > $o] : ( P3 @ P4 @ ( nil @ A ) )
% 0.28/0.47       => ( ! [P4: A > A > $o,X3: A] : ( P3 @ P4 @ ( cons @ A @ X3 @ ( nil @ A ) ) )
% 0.28/0.47         => ( ! [P4: A > A > $o,X3: A,Y2: A,Xs2: list @ A] :
% 0.28/0.47                ( ( P3 @ P4 @ ( cons @ A @ Y2 @ Xs2 ) )
% 0.28/0.47               => ( P3 @ P4 @ ( cons @ A @ X3 @ ( cons @ A @ Y2 @ Xs2 ) ) ) )
% 0.28/0.47           => ( P3 @ A0 @ A12 ) ) ) ) ).
% 0.28/0.47  
% 0.28/0.47  % successively.induct
% 0.28/0.47  thf(fact_53_arg__min__list_Oinduct,axiom,
% 0.28/0.47      ! [B: $tType,A: $tType] :
% 0.28/0.47        ( ( linorder @ B )
% 0.28/0.47       => ! [P3: ( A > B ) > ( list @ A ) > $o,A0: A > B,A12: list @ A] :
% 0.28/0.47            ( ! [F3: A > B,X3: A] : ( P3 @ F3 @ ( cons @ A @ X3 @ ( nil @ A ) ) )
% 0.28/0.47           => ( ! [F3: A > B,X3: A,Y2: A,Zs: list @ A] :
% 0.28/0.47                  ( ( P3 @ F3 @ ( cons @ A @ Y2 @ Zs ) )
% 0.28/0.47                 => ( P3 @ F3 @ ( cons @ A @ X3 @ ( cons @ A @ Y2 @ Zs ) ) ) )
% 0.28/0.47             => ( ! [A2: A > B] : ( P3 @ A2 @ ( nil @ A ) )
% 0.28/0.47               => ( P3 @ A0 @ A12 ) ) ) ) ) ).
% 0.28/0.47  
% 0.28/0.47  % arg_min_list.induct
% 0.28/0.47  thf(fact_54_remdups__adj_Oinduct,axiom,
% 0.28/0.47      ! [A: $tType,P3: ( list @ A ) > $o,A0: list @ A] :
% 0.28/0.47        ( ( P3 @ ( nil @ A ) )
% 0.28/0.47       => ( ! [X3: A] : ( P3 @ ( cons @ A @ X3 @ ( nil @ A ) ) )
% 0.28/0.47         => ( ! [X3: A,Y2: A,Xs2: list @ A] :
% 0.28/0.47                ( ( ( X3 = Y2 )
% 0.28/0.47                 => ( P3 @ ( cons @ A @ X3 @ Xs2 ) ) )
% 0.28/0.47               => ( ( ( X3 != Y2 )
% 0.28/0.47                   => ( P3 @ ( cons @ A @ Y2 @ Xs2 ) ) )
% 0.28/0.47                 => ( P3 @ ( cons @ A @ X3 @ ( cons @ A @ Y2 @ Xs2 ) ) ) ) )
% 0.28/0.47           => ( P3 @ A0 ) ) ) ) ).
% 0.28/0.47  
% 0.28/0.47  % remdups_adj.induct
% 0.28/0.47  thf(fact_55_sorted__wrt_Oinduct,axiom,
% 0.28/0.47      ! [A: $tType,P3: ( A > A > $o ) > ( list @ A ) > $o,A0: A > A > $o,A12: list @ A] :
% 0.28/0.47        ( ! [P4: A > A > $o] : ( P3 @ P4 @ ( nil @ A ) )
% 0.28/0.47       => ( ! [P4: A > A > $o,X3: A,Ys2: list @ A] :
% 0.28/0.47              ( ( P3 @ P4 @ Ys2 )
% 0.28/0.47             => ( P3 @ P4 @ ( cons @ A @ X3 @ Ys2 ) ) )
% 0.28/0.47         => ( P3 @ A0 @ A12 ) ) ) ).
% 0.28/0.47  
% 0.28/0.47  % sorted_wrt.induct
% 0.28/0.47  thf(fact_56_remdups__adj_Ocases,axiom,
% 0.28/0.47      ! [A: $tType,X: list @ A] :
% 0.28/0.47        ( ( X
% 0.28/0.47         != ( nil @ A ) )
% 0.28/0.47       => ( ! [X3: A] :
% 0.28/0.47              ( X
% 0.28/0.47             != ( cons @ A @ X3 @ ( nil @ A ) ) )
% 0.28/0.47         => ~ ! [X3: A,Y2: A,Xs2: list @ A] :
% 0.28/0.47                ( X
% 0.28/0.47               != ( cons @ A @ X3 @ ( cons @ A @ Y2 @ Xs2 ) ) ) ) ) ).
% 0.28/0.47  
% 0.28/0.47  % remdups_adj.cases
% 0.28/0.47  thf(fact_57_shuffles_Oinduct,axiom,
% 0.28/0.47      ! [A: $tType,P3: ( list @ A ) > ( list @ A ) > $o,A0: list @ A,A12: list @ A] :
% 0.28/0.47        ( ! [X_1: list @ A] : ( P3 @ ( nil @ A ) @ X_1 )
% 0.28/0.47       => ( ! [Xs2: list @ A] : ( P3 @ Xs2 @ ( nil @ A ) )
% 0.28/0.47         => ( ! [X3: A,Xs2: list @ A,Y2: A,Ys2: list @ A] :
% 0.28/0.47                ( ( P3 @ Xs2 @ ( cons @ A @ Y2 @ Ys2 ) )
% 0.28/0.47               => ( ( P3 @ ( cons @ A @ X3 @ Xs2 ) @ Ys2 )
% 0.28/0.47                 => ( P3 @ ( cons @ A @ X3 @ Xs2 ) @ ( cons @ A @ Y2 @ Ys2 ) ) ) )
% 0.28/0.47           => ( P3 @ A0 @ A12 ) ) ) ) ).
% 0.28/0.47  
% 0.28/0.47  % shuffles.induct
% 0.28/0.47  thf(fact_58_min__list_Oinduct,axiom,
% 0.28/0.47      ! [A: $tType] :
% 0.28/0.47        ( ( ord @ A )
% 0.28/0.47       => ! [P3: ( list @ A ) > $o,A0: list @ A] :
% 0.28/0.47            ( ! [X3: A,Xs2: list @ A] :
% 0.28/0.47                ( ! [X212: A,X222: list @ A] :
% 0.28/0.47                    ( ( Xs2
% 0.28/0.47                      = ( cons @ A @ X212 @ X222 ) )
% 0.28/0.47                   => ( P3 @ Xs2 ) )
% 0.28/0.47               => ( P3 @ ( cons @ A @ X3 @ Xs2 ) ) )
% 0.28/0.47           => ( ( P3 @ ( nil @ A ) )
% 0.28/0.47             => ( P3 @ A0 ) ) ) ) ).
% 0.28/0.47  
% 0.28/0.47  % min_list.induct
% 0.28/0.47  thf(fact_59_min__list_Ocases,axiom,
% 0.28/0.47      ! [A: $tType] :
% 0.28/0.47        ( ( ord @ A )
% 0.28/0.47       => ! [X: list @ A] :
% 0.28/0.47            ( ! [X3: A,Xs2: list @ A] :
% 0.28/0.47                ( X
% 0.28/0.47               != ( cons @ A @ X3 @ Xs2 ) )
% 0.28/0.47           => ( X
% 0.28/0.47              = ( nil @ A ) ) ) ) ).
% 0.28/0.47  
% 0.28/0.47  % min_list.cases
% 0.28/0.47  thf(fact_60_induct__list012,axiom,
% 0.28/0.47      ! [A: $tType,P3: ( list @ A ) > $o,Xs: list @ A] :
% 0.28/0.47        ( ( P3 @ ( nil @ A ) )
% 0.28/0.47       => ( ! [X3: A] : ( P3 @ ( cons @ A @ X3 @ ( nil @ A ) ) )
% 0.28/0.47         => ( ! [X3: A,Y2: A,Zs: list @ A] :
% 0.28/0.47                ( ( P3 @ Zs )
% 0.28/0.47               => ( ( P3 @ ( cons @ A @ Y2 @ Zs ) )
% 0.28/0.47                 => ( P3 @ ( cons @ A @ X3 @ ( cons @ A @ Y2 @ Zs ) ) ) ) )
% 0.28/0.47           => ( P3 @ Xs ) ) ) ) ).
% 0.28/0.47  
% 0.28/0.47  % induct_list012
% 0.28/0.47  thf(fact_61_splice_Oinduct,axiom,
% 0.28/0.47      ! [A: $tType,P3: ( list @ A ) > ( list @ A ) > $o,A0: list @ A,A12: list @ A] :
% 0.28/0.47        ( ! [X_1: list @ A] : ( P3 @ ( nil @ A ) @ X_1 )
% 0.28/0.47       => ( ! [X3: A,Xs2: list @ A,Ys2: list @ A] :
% 0.28/0.47              ( ( P3 @ Ys2 @ Xs2 )
% 0.28/0.47             => ( P3 @ ( cons @ A @ X3 @ Xs2 ) @ Ys2 ) )
% 0.28/0.47         => ( P3 @ A0 @ A12 ) ) ) ).
% 0.28/0.47  
% 0.28/0.47  % splice.induct
% 0.28/0.47  thf(fact_62_list__induct2_H,axiom,
% 0.28/0.47      ! [A: $tType,B: $tType,P3: ( list @ A ) > ( list @ B ) > $o,Xs: list @ A,Ys: list @ B] :
% 0.28/0.47        ( ( P3 @ ( nil @ A ) @ ( nil @ B ) )
% 0.28/0.47       => ( ! [X3: A,Xs2: list @ A] : ( P3 @ ( cons @ A @ X3 @ Xs2 ) @ ( nil @ B ) )
% 0.28/0.47         => ( ! [Y2: B,Ys2: list @ B] : ( P3 @ ( nil @ A ) @ ( cons @ B @ Y2 @ Ys2 ) )
% 0.28/0.47           => ( ! [X3: A,Xs2: list @ A,Y2: B,Ys2: list @ B] :
% 0.28/0.47                  ( ( P3 @ Xs2 @ Ys2 )
% 0.28/0.47                 => ( P3 @ ( cons @ A @ X3 @ Xs2 ) @ ( cons @ B @ Y2 @ Ys2 ) ) )
% 0.28/0.47             => ( P3 @ Xs @ Ys ) ) ) ) ) ).
% 0.28/0.47  
% 0.28/0.47  % list_induct2'
% 0.28/0.47  thf(fact_63_neq__Nil__conv,axiom,
% 0.28/0.47      ! [A: $tType,Xs: list @ A] :
% 0.28/0.47        ( ( Xs
% 0.28/0.47         != ( nil @ A ) )
% 0.28/0.47        = ( ? [Y3: A,Ys3: list @ A] :
% 0.28/0.47              ( Xs
% 0.28/0.47              = ( cons @ A @ Y3 @ Ys3 ) ) ) ) ).
% 0.28/0.47  
% 0.28/0.47  % neq_Nil_conv
% 0.28/0.47  thf(fact_64_list_Oinducts,axiom,
% 0.28/0.47      ! [A: $tType,P3: ( list @ A ) > $o,List: list @ A] :
% 0.28/0.47        ( ( P3 @ ( nil @ A ) )
% 0.28/0.47       => ( ! [X12: A,X23: list @ A] :
% 0.28/0.47              ( ( P3 @ X23 )
% 0.28/0.47             => ( P3 @ ( cons @ A @ X12 @ X23 ) ) )
% 0.28/0.47         => ( P3 @ List ) ) ) ).
% 0.28/0.47  
% 0.28/0.47  % list.inducts
% 0.28/0.47  thf(fact_65_list_Oexhaust,axiom,
% 0.28/0.47      ! [A: $tType,Y: list @ A] :
% 0.28/0.47        ( ( Y
% 0.28/0.47         != ( nil @ A ) )
% 0.28/0.47       => ~ ! [X213: A,X223: list @ A] :
% 0.28/0.47              ( Y
% 0.28/0.47             != ( cons @ A @ X213 @ X223 ) ) ) ).
% 0.28/0.47  
% 0.28/0.47  % list.exhaust
% 0.28/0.47  thf(fact_66_list_OdiscI,axiom,
% 0.28/0.47      ! [A: $tType,List: list @ A,X21: A,X22: list @ A] :
% 0.28/0.47        ( ( List
% 0.28/0.47          = ( cons @ A @ X21 @ X22 ) )
% 0.28/0.47       => ( List
% 0.28/0.47         != ( nil @ A ) ) ) ).
% 0.28/0.47  
% 0.28/0.47  % list.discI
% 0.28/0.47  thf(fact_67_list_Odistinct_I1_J,axiom,
% 0.28/0.47      ! [A: $tType,X21: A,X22: list @ A] :
% 0.28/0.47        ( ( nil @ A )
% 0.28/0.47       != ( cons @ A @ X21 @ X22 ) ) ).
% 0.28/0.47  
% 0.28/0.47  % list.distinct(1)
% 0.28/0.47  thf(fact_68_ord_Olexordp__eq_OCons__eq,axiom,
% 0.28/0.47      ! [A: $tType,Less: A > A > $o,X: A,Y: A,Xs: list @ A,Ys: list @ A] :
% 0.28/0.47        ( ~ ( Less @ X @ Y )
% 0.28/0.47       => ( ~ ( Less @ Y @ X )
% 0.28/0.47         => ( ( lexordp_eq @ A @ Less @ Xs @ Ys )
% 0.28/0.47           => ( lexordp_eq @ A @ Less @ ( cons @ A @ X @ Xs ) @ ( cons @ A @ Y @ Ys ) ) ) ) ) ).
% 0.28/0.47  
% 0.28/0.47  % ord.lexordp_eq.Cons_eq
% 0.28/0.47  thf(fact_69_ord_Olexordp__eq_OCons,axiom,
% 0.28/0.47      ! [A: $tType,Less: A > A > $o,X: A,Y: A,Xs: list @ A,Ys: list @ A] :
% 0.28/0.47        ( ( Less @ X @ Y )
% 0.28/0.47       => ( lexordp_eq @ A @ Less @ ( cons @ A @ X @ Xs ) @ ( cons @ A @ Y @ Ys ) ) ) ).
% 0.28/0.47  
% 0.28/0.47  % ord.lexordp_eq.Cons
% 0.28/0.47  thf(fact_70_splice_Osimps_I2_J,axiom,
% 0.28/0.47      ! [A: $tType,X: A,Xs: list @ A,Ys: list @ A] :
% 0.28/0.47        ( ( splice @ A @ ( cons @ A @ X @ Xs ) @ Ys )
% 0.28/0.47        = ( cons @ A @ X @ ( splice @ A @ Ys @ Xs ) ) ) ).
% 0.28/0.47  
% 0.28/0.47  % splice.simps(2)
% 0.28/0.47  thf(fact_71_list_Osimps_I7_J,axiom,
% 0.28/0.47      ! [C: $tType,A: $tType,F1: C,F2: A > ( list @ A ) > C > C,X21: A,X22: list @ A] :
% 0.28/0.47        ( ( rec_list @ C @ A @ F1 @ F2 @ ( cons @ A @ X21 @ X22 ) )
% 0.28/0.47        = ( F2 @ X21 @ X22 @ ( rec_list @ C @ A @ F1 @ F2 @ X22 ) ) ) ).
% 0.28/0.47  
% 0.28/0.47  % list.simps(7)
% 0.28/0.47  thf(fact_72_listrelp_OCons,axiom,
% 0.28/0.47      ! [A: $tType,B: $tType,R: A > B > $o,X: A,Y: B,Xs: list @ A,Ys: list @ B] :
% 0.28/0.47        ( ( R @ X @ Y )
% 0.28/0.47       => ( ( listrelp @ A @ B @ R @ Xs @ Ys )
% 0.28/0.47         => ( listrelp @ A @ B @ R @ ( cons @ A @ X @ Xs ) @ ( cons @ B @ Y @ Ys ) ) ) ) ).
% 0.28/0.47  
% 0.28/0.47  % listrelp.Cons
% 0.28/0.47  thf(fact_73_sturm__seq_Ops__first__two,axiom,
% 0.28/0.47      ! [Ps: list @ ( poly @ real ),P: poly @ real] :
% 0.28/0.47        ( ( sturm_801371416rm_seq @ Ps @ P )
% 0.28/0.47       => ~ ! [Q2: poly @ real,Ps3: list @ ( poly @ real )] :
% 0.28/0.47              ( Ps
% 0.28/0.47             != ( cons @ ( poly @ real ) @ P @ ( cons @ ( poly @ real ) @ Q2 @ Ps3 ) ) ) ) ).
% 0.28/0.47  
% 0.28/0.47  % sturm_seq.ps_first_two
% 0.28/0.47  thf(fact_74_map__tailrec__rev_Osimps_I2_J,axiom,
% 0.28/0.47      ! [A: $tType,B: $tType,F: A > B,A3: A,As2: list @ A,Bs: list @ B] :
% 0.28/0.47        ( ( map_tailrec_rev @ A @ B @ F @ ( cons @ A @ A3 @ As2 ) @ Bs )
% 0.28/0.47        = ( map_tailrec_rev @ A @ B @ F @ As2 @ ( cons @ B @ ( F @ A3 ) @ Bs ) ) ) ).
% 0.28/0.47  
% 0.28/0.47  % map_tailrec_rev.simps(2)
% 0.28/0.47  thf(fact_75_null__rec_I1_J,axiom,
% 0.28/0.47      ! [A: $tType,X: A,Xs: list @ A] :
% 0.28/0.47        ~ ( null @ A @ ( cons @ A @ X @ Xs ) ) ).
% 0.28/0.47  
% 0.28/0.47  % null_rec(1)
% 0.28/0.47  thf(fact_76_member__rec_I1_J,axiom,
% 0.28/0.47      ! [A: $tType,X: A,Xs: list @ A,Y: A] :
% 0.28/0.47        ( ( member @ A @ ( cons @ A @ X @ Xs ) @ Y )
% 0.28/0.47        = ( ( X = Y )
% 0.28/0.47          | ( member @ A @ Xs @ Y ) ) ) ).
% 0.28/0.47  
% 0.28/0.47  % member_rec(1)
% 0.28/0.47  thf(fact_77_zip__eq__Nil__iff,axiom,
% 0.28/0.47      ! [A: $tType,B: $tType,Xs: list @ A,Ys: list @ B] :
% 0.28/0.47        ( ( ( zip @ A @ B @ Xs @ Ys )
% 0.28/0.47          = ( nil @ ( product_prod @ A @ B ) ) )
% 0.28/0.47        = ( ( Xs
% 0.28/0.47            = ( nil @ A ) )
% 0.28/0.47          | ( Ys
% 0.28/0.47            = ( nil @ B ) ) ) ) ).
% 0.28/0.47  
% 0.28/0.47  % zip_eq_Nil_iff
% 0.28/0.47  thf(fact_78_zip_Osimps_I1_J,axiom,
% 0.28/0.47      ! [B: $tType,A: $tType,Xs: list @ A] :
% 0.28/0.47        ( ( zip @ A @ B @ Xs @ ( nil @ B ) )
% 0.28/0.47        = ( nil @ ( product_prod @ A @ B ) ) ) ).
% 0.28/0.47  
% 0.28/0.47  % zip.simps(1)
% 0.28/0.47  thf(fact_79_minus__poly__rev__list_Oinduct,axiom,
% 0.28/0.47      ! [A: $tType] :
% 0.28/0.47        ( ( group_add @ A )
% 0.28/0.47       => ! [P3: ( list @ A ) > ( list @ A ) > $o,A0: list @ A,A12: list @ A] :
% 0.28/0.47            ( ! [X3: A,Xs2: list @ A,Y2: A,Ys2: list @ A] :
% 0.28/0.47                ( ( P3 @ Xs2 @ Ys2 )
% 0.28/0.47               => ( P3 @ ( cons @ A @ X3 @ Xs2 ) @ ( cons @ A @ Y2 @ Ys2 ) ) )
% 0.28/0.47           => ( ! [Xs2: list @ A] : ( P3 @ Xs2 @ ( nil @ A ) )
% 0.28/0.47             => ( ! [Y2: A,Ys2: list @ A] : ( P3 @ ( nil @ A ) @ ( cons @ A @ Y2 @ Ys2 ) )
% 0.28/0.47               => ( P3 @ A0 @ A12 ) ) ) ) ) ).
% 0.28/0.47  
% 0.28/0.47  % minus_poly_rev_list.induct
% 0.28/0.47  thf(fact_80_plus__coeffs_Oinduct,axiom,
% 0.28/0.47      ! [A: $tType] :
% 0.28/0.47        ( ( comm_monoid_add @ A )
% 0.28/0.47       => ! [P3: ( list @ A ) > ( list @ A ) > $o,A0: list @ A,A12: list @ A] :
% 0.28/0.47            ( ! [Xs2: list @ A] : ( P3 @ Xs2 @ ( nil @ A ) )
% 0.28/0.47           => ( ! [V: A,Va: list @ A] : ( P3 @ ( nil @ A ) @ ( cons @ A @ V @ Va ) )
% 0.28/0.47             => ( ! [X3: A,Xs2: list @ A,Y2: A,Ys2: list @ A] :
% 0.28/0.47                    ( ( P3 @ Xs2 @ Ys2 )
% 0.28/0.47                   => ( P3 @ ( cons @ A @ X3 @ Xs2 ) @ ( cons @ A @ Y2 @ Ys2 ) ) )
% 0.28/0.47               => ( P3 @ A0 @ A12 ) ) ) ) ) ).
% 0.28/0.47  
% 0.28/0.47  % plus_coeffs.induct
% 0.28/0.47  thf(fact_81_insert__Nil,axiom,
% 0.28/0.47      ! [A: $tType,X: A] :
% 0.28/0.47        ( ( insert @ A @ X @ ( nil @ A ) )
% 0.28/0.47        = ( cons @ A @ X @ ( nil @ A ) ) ) ).
% 0.28/0.47  
% 0.28/0.47  % insert_Nil
% 0.28/0.47  thf(fact_82_arg__min__list_Osimps_I1_J,axiom,
% 0.28/0.47      ! [B: $tType,A: $tType] :
% 0.28/0.47        ( ( linorder @ B )
% 0.28/0.47       => ! [F: A > B,X: A] :
% 0.28/0.47            ( ( arg_min_list @ A @ B @ F @ ( cons @ A @ X @ ( nil @ A ) ) )
% 0.28/0.47            = X ) ) ).
% 0.28/0.47  
% 0.28/0.47  % arg_min_list.simps(1)
% 0.28/0.47  thf(fact_83_lexordp__eq__simps_I3_J,axiom,
% 0.28/0.47      ! [A: $tType] :
% 0.28/0.47        ( ( ord @ A )
% 0.28/0.47       => ! [X: A,Xs: list @ A] :
% 0.28/0.47            ~ ( ord_lexordp_eq @ A @ ( cons @ A @ X @ Xs ) @ ( nil @ A ) ) ) ).
% 0.28/0.47  
% 0.28/0.47  % lexordp_eq_simps(3)
% 0.28/0.47  thf(fact_84_rotate1_Osimps_I2_J,axiom,
% 0.28/0.47      ! [A: $tType,X: A,Xs: list @ A] :
% 0.28/0.47        ( ( rotate1 @ A @ ( cons @ A @ X @ Xs ) )
% 0.28/0.47        = ( append @ A @ Xs @ ( cons @ A @ X @ ( nil @ A ) ) ) ) ).
% 0.28/0.47  
% 0.28/0.47  % rotate1.simps(2)
% 0.28/0.47  thf(fact_85_bind__simps_I2_J,axiom,
% 0.28/0.47      ! [A: $tType,B: $tType,X: B,Xs: list @ B,F: B > ( list @ A )] :
% 0.28/0.47        ( ( bind @ B @ A @ ( cons @ B @ X @ Xs ) @ F )
% 0.28/0.47        = ( append @ A @ ( F @ X ) @ ( bind @ B @ A @ Xs @ F ) ) ) ).
% 0.28/0.47  
% 0.28/0.47  % bind_simps(2)
% 0.28/0.47  thf(fact_86_gen__length__code_I2_J,axiom,
% 0.28/0.47      ! [B: $tType,N: nat,X: B,Xs: list @ B] :
% 0.28/0.47        ( ( gen_length @ B @ N @ ( cons @ B @ X @ Xs ) )
% 0.28/0.47        = ( gen_length @ B @ ( suc @ N ) @ Xs ) ) ).
% 0.28/0.47  
% 0.28/0.47  % gen_length_code(2)
% 0.28/0.47  thf(fact_87_append_Oassoc,axiom,
% 0.28/0.47      ! [A: $tType,A3: list @ A,B2: list @ A,C2: list @ A] :
% 0.28/0.47        ( ( append @ A @ ( append @ A @ A3 @ B2 ) @ C2 )
% 0.28/0.47        = ( append @ A @ A3 @ ( append @ A @ B2 @ C2 ) ) ) ).
% 0.28/0.47  
% 0.28/0.47  % append.assoc
% 0.28/0.47  thf(fact_88_append__assoc,axiom,
% 0.28/0.47      ! [A: $tType,Xs: list @ A,Ys: list @ A,Zs2: list @ A] :
% 0.28/0.47        ( ( append @ A @ ( append @ A @ Xs @ Ys ) @ Zs2 )
% 0.28/0.47        = ( append @ A @ Xs @ ( append @ A @ Ys @ Zs2 ) ) ) ).
% 0.28/0.47  
% 0.28/0.47  % append_assoc
% 0.28/0.47  thf(fact_89_append__same__eq,axiom,
% 0.28/0.47      ! [A: $tType,Ys: list @ A,Xs: list @ A,Zs2: list @ A] :
% 0.28/0.47        ( ( ( append @ A @ Ys @ Xs )
% 0.28/0.47          = ( append @ A @ Zs2 @ Xs ) )
% 0.28/0.47        = ( Ys = Zs2 ) ) ).
% 0.28/0.47  
% 0.28/0.47  % append_same_eq
% 0.28/0.47  thf(fact_90_same__append__eq,axiom,
% 0.28/0.47      ! [A: $tType,Xs: list @ A,Ys: list @ A,Zs2: list @ A] :
% 0.28/0.47        ( ( ( append @ A @ Xs @ Ys )
% 0.28/0.47          = ( append @ A @ Xs @ Zs2 ) )
% 0.28/0.47        = ( Ys = Zs2 ) ) ).
% 0.28/0.47  
% 0.28/0.47  % same_append_eq
% 0.28/0.47  thf(fact_91_append__Nil2,axiom,
% 0.28/0.47      ! [A: $tType,Xs: list @ A] :
% 0.28/0.47        ( ( append @ A @ Xs @ ( nil @ A ) )
% 0.28/0.47        = Xs ) ).
% 0.28/0.47  
% 0.28/0.47  % append_Nil2
% 0.28/0.47  thf(fact_92_append__self__conv,axiom,
% 0.28/0.47      ! [A: $tType,Xs: list @ A,Ys: list @ A] :
% 0.28/0.47        ( ( ( append @ A @ Xs @ Ys )
% 0.28/0.47          = Xs )
% 0.28/0.47        = ( Ys
% 0.28/0.47          = ( nil @ A ) ) ) ).
% 0.28/0.47  
% 0.28/0.47  % append_self_conv
% 0.28/0.47  thf(fact_93_self__append__conv,axiom,
% 0.28/0.47      ! [A: $tType,Xs: list @ A,Ys: list @ A] :
% 0.28/0.47        ( ( Xs
% 0.28/0.47          = ( append @ A @ Xs @ Ys ) )
% 0.28/0.47        = ( Ys
% 0.28/0.47          = ( nil @ A ) ) ) ).
% 0.28/0.47  
% 0.28/0.47  % self_append_conv
% 0.28/0.47  thf(fact_94_append__self__conv2,axiom,
% 0.28/0.47      ! [A: $tType,Xs: list @ A,Ys: list @ A] :
% 0.28/0.47        ( ( ( append @ A @ Xs @ Ys )
% 0.28/0.47          = Ys )
% 0.28/0.47        = ( Xs
% 0.28/0.47          = ( nil @ A ) ) ) ).
% 0.28/0.47  
% 0.28/0.47  % append_self_conv2
% 0.28/0.47  thf(fact_95_self__append__conv2,axiom,
% 0.28/0.47      ! [A: $tType,Ys: list @ A,Xs: list @ A] :
% 0.28/0.47        ( ( Ys
% 0.28/0.47          = ( append @ A @ Xs @ Ys ) )
% 0.28/0.47        = ( Xs
% 0.28/0.47          = ( nil @ A ) ) ) ).
% 0.28/0.47  
% 0.28/0.47  % self_append_conv2
% 0.28/0.47  thf(fact_96_Nil__is__append__conv,axiom,
% 0.28/0.47      ! [A: $tType,Xs: list @ A,Ys: list @ A] :
% 0.28/0.47        ( ( ( nil @ A )
% 0.28/0.47          = ( append @ A @ Xs @ Ys ) )
% 0.28/0.47        = ( ( Xs
% 0.28/0.47            = ( nil @ A ) )
% 0.28/0.47          & ( Ys
% 0.28/0.47            = ( nil @ A ) ) ) ) ).
% 0.28/0.47  
% 0.28/0.47  % Nil_is_append_conv
% 0.28/0.47  thf(fact_97_append__is__Nil__conv,axiom,
% 0.28/0.47      ! [A: $tType,Xs: list @ A,Ys: list @ A] :
% 0.28/0.47        ( ( ( append @ A @ Xs @ Ys )
% 0.28/0.47          = ( nil @ A ) )
% 0.28/0.47        = ( ( Xs
% 0.28/0.47            = ( nil @ A ) )
% 0.28/0.47          & ( Ys
% 0.28/0.47            = ( nil @ A ) ) ) ) ).
% 0.28/0.47  
% 0.28/0.47  % append_is_Nil_conv
% 0.28/0.47  thf(fact_98_append_Oright__neutral,axiom,
% 0.28/0.47      ! [A: $tType,A3: list @ A] :
% 0.28/0.47        ( ( append @ A @ A3 @ ( nil @ A ) )
% 0.28/0.47        = A3 ) ).
% 0.28/0.47  
% 0.28/0.47  % append.right_neutral
% 0.28/0.47  thf(fact_99_lexordp__eq__simps_I2_J,axiom,
% 0.28/0.47      ! [A: $tType] :
% 0.28/0.47        ( ( ord @ A )
% 0.28/0.47       => ! [Xs: list @ A] :
% 0.28/0.47            ( ( ord_lexordp_eq @ A @ Xs @ ( nil @ A ) )
% 0.28/0.47            = ( Xs
% 0.28/0.47              = ( nil @ A ) ) ) ) ).
% 0.28/0.47  
% 0.28/0.47  % lexordp_eq_simps(2)
% 0.28/0.47  thf(fact_100_lexordp__eq__simps_I1_J,axiom,
% 0.28/0.47      ! [A: $tType] :
% 0.28/0.47        ( ( ord @ A )
% 0.28/0.47       => ! [Ys: list @ A] : ( ord_lexordp_eq @ A @ ( nil @ A ) @ Ys ) ) ).
% 0.28/0.47  
% 0.28/0.47  % lexordp_eq_simps(1)
% 0.28/0.47  thf(fact_101_list__ex__append,axiom,
% 0.28/0.47      ! [A: $tType,P3: A > $o,Xs: list @ A,Ys: list @ A] :
% 0.28/0.47        ( ( list_ex @ A @ P3 @ ( append @ A @ Xs @ Ys ) )
% 0.28/0.47        = ( ( list_ex @ A @ P3 @ Xs )
% 0.28/0.47          | ( list_ex @ A @ P3 @ Ys ) ) ) ).
% 0.28/0.47  
% 0.28/0.47  % list_ex_append
% 0.28/0.47  thf(fact_102_append1__eq__conv,axiom,
% 0.28/0.47      ! [A: $tType,Xs: list @ A,X: A,Ys: list @ A,Y: A] :
% 0.28/0.47        ( ( ( append @ A @ Xs @ ( cons @ A @ X @ ( nil @ A ) ) )
% 0.28/0.47          = ( append @ A @ Ys @ ( cons @ A @ Y @ ( nil @ A ) ) ) )
% 0.28/0.47        = ( ( Xs = Ys )
% 0.28/0.47          & ( X = Y ) ) ) ).
% 0.28/0.47  
% 0.28/0.47  % append1_eq_conv
% 0.28/0.47  thf(fact_103_append__eq__appendI,axiom,
% 0.28/0.47      ! [A: $tType,Xs: list @ A,Xs1: list @ A,Zs2: list @ A,Ys: list @ A,Us: list @ A] :
% 0.28/0.47        ( ( ( append @ A @ Xs @ Xs1 )
% 0.28/0.47          = Zs2 )
% 0.28/0.47       => ( ( Ys
% 0.28/0.47            = ( append @ A @ Xs1 @ Us ) )
% 0.28/0.47         => ( ( append @ A @ Xs @ Ys )
% 0.28/0.47            = ( append @ A @ Zs2 @ Us ) ) ) ) ).
% 0.28/0.47  
% 0.28/0.47  % append_eq_appendI
% 0.28/0.47  thf(fact_104_append__eq__append__conv2,axiom,
% 0.28/0.47      ! [A: $tType,Xs: list @ A,Ys: list @ A,Zs2: list @ A,Ts: list @ A] :
% 0.28/0.47        ( ( ( append @ A @ Xs @ Ys )
% 0.28/0.47          = ( append @ A @ Zs2 @ Ts ) )
% 0.28/0.47        = ( ? [Us2: list @ A] :
% 0.28/0.47              ( ( ( Xs
% 0.28/0.47                  = ( append @ A @ Zs2 @ Us2 ) )
% 0.28/0.47                & ( ( append @ A @ Us2 @ Ys )
% 0.28/0.47                  = Ts ) )
% 0.28/0.47              | ( ( ( append @ A @ Xs @ Us2 )
% 0.28/0.47                  = Zs2 )
% 0.28/0.47                & ( Ys
% 0.28/0.47                  = ( append @ A @ Us2 @ Ts ) ) ) ) ) ) ).
% 0.28/0.47  
% 0.28/0.47  % append_eq_append_conv2
% 0.28/0.47  thf(fact_105_lexordp__eq__pref,axiom,
% 0.28/0.47      ! [A: $tType] :
% 0.28/0.47        ( ( ord @ A )
% 0.28/0.47       => ! [U: list @ A,V2: list @ A] : ( ord_lexordp_eq @ A @ U @ ( append @ A @ U @ V2 ) ) ) ).
% 0.28/0.47  
% 0.28/0.47  % lexordp_eq_pref
% 0.28/0.47  thf(fact_106_lexordp__eq__refl,axiom,
% 0.28/0.47      ! [A: $tType] :
% 0.28/0.47        ( ( ord @ A )
% 0.28/0.47       => ! [Xs: list @ A] : ( ord_lexordp_eq @ A @ Xs @ Xs ) ) ).
% 0.28/0.47  
% 0.28/0.47  % lexordp_eq_refl
% 0.28/0.47  thf(fact_107_lexordp__eq__trans,axiom,
% 0.28/0.47      ! [A: $tType] :
% 0.28/0.47        ( ( linorder @ A )
% 0.28/0.47       => ! [Xs: list @ A,Ys: list @ A,Zs2: list @ A] :
% 0.28/0.47            ( ( ord_lexordp_eq @ A @ Xs @ Ys )
% 0.28/0.47           => ( ( ord_lexordp_eq @ A @ Ys @ Zs2 )
% 0.28/0.47             => ( ord_lexordp_eq @ A @ Xs @ Zs2 ) ) ) ) ).
% 0.28/0.47  
% 0.28/0.47  % lexordp_eq_trans
% 0.28/0.47  thf(fact_108_lexordp__eq__linear,axiom,
% 0.28/0.47      ! [A: $tType] :
% 0.28/0.47        ( ( linorder @ A )
% 0.28/0.47       => ! [Xs: list @ A,Ys: list @ A] :
% 0.28/0.47            ( ( ord_lexordp_eq @ A @ Xs @ Ys )
% 0.28/0.47            | ( ord_lexordp_eq @ A @ Ys @ Xs ) ) ) ).
% 0.28/0.47  
% 0.28/0.47  % lexordp_eq_linear
% 0.28/0.47  thf(fact_109_lexordp__eq__antisym,axiom,
% 0.28/0.47      ! [A: $tType] :
% 0.28/0.47        ( ( linorder @ A )
% 0.28/0.47       => ! [Xs: list @ A,Ys: list @ A] :
% 0.28/0.47            ( ( ord_lexordp_eq @ A @ Xs @ Ys )
% 0.28/0.47           => ( ( ord_lexordp_eq @ A @ Ys @ Xs )
% 0.28/0.47             => ( Xs = Ys ) ) ) ) ).
% 0.28/0.47  
% 0.28/0.47  % lexordp_eq_antisym
% 0.28/0.47  thf(fact_110_Cons__eq__appendI,axiom,
% 0.28/0.47      ! [A: $tType,X: A,Xs1: list @ A,Ys: list @ A,Xs: list @ A,Zs2: list @ A] :
% 0.28/0.47        ( ( ( cons @ A @ X @ Xs1 )
% 0.28/0.47          = Ys )
% 0.28/0.47       => ( ( Xs
% 0.28/0.47            = ( append @ A @ Xs1 @ Zs2 ) )
% 0.28/0.47         => ( ( cons @ A @ X @ Xs )
% 0.28/0.47            = ( append @ A @ Ys @ Zs2 ) ) ) ) ).
% 0.28/0.47  
% 0.28/0.47  % Cons_eq_appendI
% 0.28/0.47  thf(fact_111_append__Cons,axiom,
% 0.28/0.47      ! [A: $tType,X: A,Xs: list @ A,Ys: list @ A] :
% 0.28/0.47        ( ( append @ A @ ( cons @ A @ X @ Xs ) @ Ys )
% 0.28/0.47        = ( cons @ A @ X @ ( append @ A @ Xs @ Ys ) ) ) ).
% 0.28/0.47  
% 0.28/0.47  % append_Cons
% 0.28/0.47  thf(fact_112_eq__Nil__appendI,axiom,
% 0.28/0.47      ! [A: $tType,Xs: list @ A,Ys: list @ A] :
% 0.28/0.47        ( ( Xs = Ys )
% 0.28/0.47       => ( Xs
% 0.28/0.47          = ( append @ A @ ( nil @ A ) @ Ys ) ) ) ).
% 0.28/0.47  
% 0.28/0.47  % eq_Nil_appendI
% 0.28/0.47  thf(fact_113_append__Nil,axiom,
% 0.28/0.47      ! [A: $tType,Ys: list @ A] :
% 0.28/0.47        ( ( append @ A @ ( nil @ A ) @ Ys )
% 0.28/0.47        = Ys ) ).
% 0.28/0.47  
% 0.28/0.47  % append_Nil
% 0.28/0.47  thf(fact_114_append_Oleft__neutral,axiom,
% 0.28/0.47      ! [A: $tType,A3: list @ A] :
% 0.28/0.47        ( ( append @ A @ ( nil @ A ) @ A3 )
% 0.28/0.47        = A3 ) ).
% 0.28/0.47  
% 0.28/0.47  % append.left_neutral
% 0.28/0.47  thf(fact_115_ord_Olexordp__eq__pref,axiom,
% 0.28/0.47      ! [A: $tType,Less: A > A > $o,U: list @ A,V2: list @ A] : ( lexordp_eq @ A @ Less @ U @ ( append @ A @ U @ V2 ) ) ).
% 0.28/0.47  
% 0.28/0.47  % ord.lexordp_eq_pref
% 0.28/0.47  thf(fact_116_lexordp__eq_ONil,axiom,
% 0.28/0.47      ! [A: $tType] :
% 0.28/0.47        ( ( ord @ A )
% 0.28/0.47       => ! [Ys: list @ A] : ( ord_lexordp_eq @ A @ ( nil @ A ) @ Ys ) ) ).
% 0.28/0.47  
% 0.28/0.47  % lexordp_eq.Nil
% 0.28/0.47  thf(fact_117_rev__induct,axiom,
% 0.28/0.47      ! [A: $tType,P3: ( list @ A ) > $o,Xs: list @ A] :
% 0.28/0.47        ( ( P3 @ ( nil @ A ) )
% 0.28/0.47       => ( ! [X3: A,Xs2: list @ A] :
% 0.28/0.47              ( ( P3 @ Xs2 )
% 0.28/0.47             => ( P3 @ ( append @ A @ Xs2 @ ( cons @ A @ X3 @ ( nil @ A ) ) ) ) )
% 0.28/0.47         => ( P3 @ Xs ) ) ) ).
% 0.28/0.47  
% 0.28/0.47  % rev_induct
% 0.28/0.47  thf(fact_118_rev__exhaust,axiom,
% 0.28/0.47      ! [A: $tType,Xs: list @ A] :
% 0.28/0.47        ( ( Xs
% 0.28/0.47         != ( nil @ A ) )
% 0.28/0.47       => ~ ! [Ys2: list @ A,Y2: A] :
% 0.28/0.47              ( Xs
% 0.28/0.47             != ( append @ A @ Ys2 @ ( cons @ A @ Y2 @ ( nil @ A ) ) ) ) ) ).
% 0.28/0.47  
% 0.28/0.47  % rev_exhaust
% 0.28/0.47  thf(fact_119_Cons__eq__append__conv,axiom,
% 0.28/0.47      ! [A: $tType,X: A,Xs: list @ A,Ys: list @ A,Zs2: list @ A] :
% 0.28/0.47        ( ( ( cons @ A @ X @ Xs )
% 0.28/0.47          = ( append @ A @ Ys @ Zs2 ) )
% 0.28/0.47        = ( ( ( Ys
% 0.28/0.47              = ( nil @ A ) )
% 0.28/0.47            & ( ( cons @ A @ X @ Xs )
% 0.28/0.47              = Zs2 ) )
% 0.28/0.47          | ? [Ys4: list @ A] :
% 0.28/0.47              ( ( ( cons @ A @ X @ Ys4 )
% 0.28/0.47                = Ys )
% 0.28/0.47              & ( Xs
% 0.28/0.47                = ( append @ A @ Ys4 @ Zs2 ) ) ) ) ) ).
% 0.28/0.47  
% 0.28/0.47  % Cons_eq_append_conv
% 0.28/0.47  thf(fact_120_append__eq__Cons__conv,axiom,
% 0.28/0.47      ! [A: $tType,Ys: list @ A,Zs2: list @ A,X: A,Xs: list @ A] :
% 0.28/0.47        ( ( ( append @ A @ Ys @ Zs2 )
% 0.28/0.47          = ( cons @ A @ X @ Xs ) )
% 0.28/0.47        = ( ( ( Ys
% 0.28/0.47              = ( nil @ A ) )
% 0.28/0.47            & ( Zs2
% 0.28/0.47              = ( cons @ A @ X @ Xs ) ) )
% 0.28/0.47          | ? [Ys4: list @ A] :
% 0.28/0.47              ( ( Ys
% 0.28/0.47                = ( cons @ A @ X @ Ys4 ) )
% 0.28/0.47              & ( ( append @ A @ Ys4 @ Zs2 )
% 0.28/0.47                = Xs ) ) ) ) ).
% 0.28/0.47  
% 0.28/0.47  % append_eq_Cons_conv
% 0.28/0.47  thf(fact_121_rev__nonempty__induct,axiom,
% 0.28/0.47      ! [A: $tType,Xs: list @ A,P3: ( list @ A ) > $o] :
% 0.28/0.47        ( ( Xs
% 0.28/0.47         != ( nil @ A ) )
% 0.28/0.47       => ( ! [X3: A] : ( P3 @ ( cons @ A @ X3 @ ( nil @ A ) ) )
% 0.28/0.47         => ( ! [X3: A,Xs2: list @ A] :
% 0.28/0.47                ( ( Xs2
% 0.28/0.47                 != ( nil @ A ) )
% 0.28/0.47               => ( ( P3 @ Xs2 )
% 0.28/0.47                 => ( P3 @ ( append @ A @ Xs2 @ ( cons @ A @ X3 @ ( nil @ A ) ) ) ) ) )
% 0.28/0.47           => ( P3 @ Xs ) ) ) ) ).
% 0.28/0.47  
% 0.28/0.47  % rev_nonempty_induct
% 0.28/0.47  thf(fact_122_maps__simps_I1_J,axiom,
% 0.28/0.47      ! [A: $tType,B: $tType,F: B > ( list @ A ),X: B,Xs: list @ B] :
% 0.28/0.47        ( ( maps @ B @ A @ F @ ( cons @ B @ X @ Xs ) )
% 0.28/0.47        = ( append @ A @ ( F @ X ) @ ( maps @ B @ A @ F @ Xs ) ) ) ).
% 0.28/0.47  
% 0.28/0.47  % maps_simps(1)
% 0.28/0.47  thf(fact_123_old_Onat_Oinject,axiom,
% 0.28/0.47      ! [Nat: nat,Nat2: nat] :
% 0.28/0.47        ( ( ( suc @ Nat )
% 0.28/0.47          = ( suc @ Nat2 ) )
% 0.28/0.47        = ( Nat = Nat2 ) ) ).
% 0.28/0.47  
% 0.28/0.47  % old.nat.inject
% 0.28/0.47  thf(fact_124_nat_Oinject,axiom,
% 0.28/0.47      ! [X2: nat,Y23: nat] :
% 0.28/0.47        ( ( ( suc @ X2 )
% 0.28/0.47          = ( suc @ Y23 ) )
% 0.28/0.47        = ( X2 = Y23 ) ) ).
% 0.28/0.47  
% 0.28/0.47  % nat.inject
% 0.28/0.47  thf(fact_125_product__lists_Osimps_I1_J,axiom,
% 0.28/0.47      ! [A: $tType] :
% 0.28/0.47        ( ( product_lists @ A @ ( nil @ ( list @ A ) ) )
% 0.28/0.47        = ( cons @ ( list @ A ) @ ( nil @ A ) @ ( nil @ ( list @ A ) ) ) ) ).
% 0.28/0.47  
% 0.28/0.47  % product_lists.simps(1)
% 0.28/0.47  thf(fact_126_subseqs_Osimps_I1_J,axiom,
% 0.28/0.47      ! [A: $tType] :
% 0.28/0.47        ( ( subseqs @ A @ ( nil @ A ) )
% 0.28/0.47        = ( cons @ ( list @ A ) @ ( nil @ A ) @ ( nil @ ( list @ A ) ) ) ) ).
% 0.28/0.47  
% 0.28/0.47  % subseqs.simps(1)
% 0.28/0.47  thf(fact_127_concat__eq__append__conv,axiom,
% 0.28/0.47      ! [A: $tType,Xss2: list @ ( list @ A ),Ys: list @ A,Zs2: list @ A] :
% 0.28/0.47        ( ( ( concat @ A @ Xss2 )
% 0.28/0.47          = ( append @ A @ Ys @ Zs2 ) )
% 0.28/0.47        = ( ( ( Xss2
% 0.28/0.47              = ( nil @ ( list @ A ) ) )
% 0.28/0.47           => ( ( Ys
% 0.28/0.47                = ( nil @ A ) )
% 0.28/0.47              & ( Zs2
% 0.28/0.47                = ( nil @ A ) ) ) )
% 0.28/0.47          & ( ( Xss2
% 0.28/0.47             != ( nil @ ( list @ A ) ) )
% 0.28/0.47           => ? [Xss1: list @ ( list @ A ),Xs3: list @ A,Xs4: list @ A,Xss22: list @ ( list @ A )] :
% 0.28/0.47                ( ( Xss2
% 0.28/0.47                  = ( append @ ( list @ A ) @ Xss1 @ ( cons @ ( list @ A ) @ ( append @ A @ Xs3 @ Xs4 ) @ Xss22 ) ) )
% 0.28/0.47                & ( Ys
% 0.28/0.47                  = ( append @ A @ ( concat @ A @ Xss1 ) @ Xs3 ) )
% 0.28/0.47                & ( Zs2
% 0.28/0.47                  = ( append @ A @ Xs4 @ ( concat @ A @ Xss22 ) ) ) ) ) ) ) ).
% 0.28/0.47  
% 0.28/0.47  % concat_eq_append_conv
% 0.28/0.47  thf(fact_128_concat__append,axiom,
% 0.28/0.47      ! [A: $tType,Xs: list @ ( list @ A ),Ys: list @ ( list @ A )] :
% 0.28/0.47        ( ( concat @ A @ ( append @ ( list @ A ) @ Xs @ Ys ) )
% 0.28/0.47        = ( append @ A @ ( concat @ A @ Xs ) @ ( concat @ A @ Ys ) ) ) ).
% 0.28/0.47  
% 0.28/0.47  % concat_append
% 0.28/0.47  thf(fact_129_concat_Osimps_I1_J,axiom,
% 0.28/0.47      ! [A: $tType] :
% 0.28/0.47        ( ( concat @ A @ ( nil @ ( list @ A ) ) )
% 0.28/0.47        = ( nil @ A ) ) ).
% 0.28/0.47  
% 0.28/0.47  % concat.simps(1)
% 0.28/0.47  thf(fact_130_concat_Osimps_I2_J,axiom,
% 0.28/0.47      ! [A: $tType,X: list @ A,Xs: list @ ( list @ A )] :
% 0.28/0.47        ( ( concat @ A @ ( cons @ ( list @ A ) @ X @ Xs ) )
% 0.28/0.47        = ( append @ A @ X @ ( concat @ A @ Xs ) ) ) ).
% 0.28/0.47  
% 0.28/0.47  % concat.simps(2)
% 0.28/0.47  thf(fact_131_Suc__inject,axiom,
% 0.28/0.47      ! [X: nat,Y: nat] :
% 0.28/0.47        ( ( ( suc @ X )
% 0.28/0.47          = ( suc @ Y ) )
% 0.28/0.47       => ( X = Y ) ) ).
% 0.28/0.47  
% 0.28/0.47  % Suc_inject
% 0.28/0.47  thf(fact_132_n__not__Suc__n,axiom,
% 0.28/0.47      ! [N: nat] :
% 0.28/0.47        ( N
% 0.28/0.47       != ( suc @ N ) ) ).
% 0.28/0.47  
% 0.28/0.47  % n_not_Suc_n
% 0.28/0.47  thf(fact_133_concat__eq__appendD,axiom,
% 0.28/0.47      ! [A: $tType,Xss2: list @ ( list @ A ),Ys: list @ A,Zs2: list @ A] :
% 0.28/0.47        ( ( ( concat @ A @ Xss2 )
% 0.28/0.47          = ( append @ A @ Ys @ Zs2 ) )
% 0.28/0.47       => ( ( Xss2
% 0.28/0.47           != ( nil @ ( list @ A ) ) )
% 0.28/0.47         => ? [Xss12: list @ ( list @ A ),Xs2: list @ A,Xs5: list @ A,Xss23: list @ ( list @ A )] :
% 0.28/0.47              ( ( Xss2
% 0.28/0.47                = ( append @ ( list @ A ) @ Xss12 @ ( cons @ ( list @ A ) @ ( append @ A @ Xs2 @ Xs5 ) @ Xss23 ) ) )
% 0.28/0.47              & ( Ys
% 0.28/0.47                = ( append @ A @ ( concat @ A @ Xss12 ) @ Xs2 ) )
% 0.28/0.47              & ( Zs2
% 0.28/0.47                = ( append @ A @ Xs5 @ ( concat @ A @ Xss23 ) ) ) ) ) ) ).
% 0.28/0.47  
% 0.28/0.47  % concat_eq_appendD
% 0.28/0.47  thf(fact_134_butlast__snoc,axiom,
% 0.28/0.47      ! [A: $tType,Xs: list @ A,X: A] :
% 0.28/0.47        ( ( butlast @ A @ ( append @ A @ Xs @ ( cons @ A @ X @ ( nil @ A ) ) ) )
% 0.28/0.47        = Xs ) ).
% 0.28/0.47  
% 0.28/0.47  % butlast_snoc
% 0.28/0.47  thf(fact_135_enumerate__simps_I2_J,axiom,
% 0.28/0.47      ! [B: $tType,N: nat,X: B,Xs: list @ B] :
% 0.28/0.47        ( ( enumerate @ B @ N @ ( cons @ B @ X @ Xs ) )
% 0.28/0.47        = ( cons @ ( product_prod @ nat @ B ) @ ( product_Pair @ nat @ B @ N @ X ) @ ( enumerate @ B @ ( suc @ N ) @ Xs ) ) ) ).
% 0.28/0.47  
% 0.28/0.47  % enumerate_simps(2)
% 0.28/0.47  thf(fact_136_last__snoc,axiom,
% 0.28/0.47      ! [A: $tType,Xs: list @ A,X: A] :
% 0.28/0.47        ( ( last @ A @ ( append @ A @ Xs @ ( cons @ A @ X @ ( nil @ A ) ) ) )
% 0.28/0.47        = X ) ).
% 0.28/0.47  
% 0.28/0.47  % last_snoc
% 0.28/0.47  thf(fact_137_plus__coeffs_Osimps_I2_J,axiom,
% 0.28/0.47      ! [A: $tType] :
% 0.28/0.47        ( ( comm_monoid_add @ A )
% 0.28/0.47       => ! [V2: A,Va2: list @ A] :
% 0.28/0.47            ( ( plus_coeffs @ A @ ( nil @ A ) @ ( cons @ A @ V2 @ Va2 ) )
% 0.28/0.47            = ( cons @ A @ V2 @ Va2 ) ) ) ).
% 0.28/0.47  
% 0.28/0.47  % plus_coeffs.simps(2)
% 0.28/0.47  thf(fact_138_last__appendL,axiom,
% 0.28/0.47      ! [A: $tType,Ys: list @ A,Xs: list @ A] :
% 0.28/0.47        ( ( Ys
% 0.28/0.47          = ( nil @ A ) )
% 0.28/0.47       => ( ( last @ A @ ( append @ A @ Xs @ Ys ) )
% 0.28/0.47          = ( last @ A @ Xs ) ) ) ).
% 0.28/0.47  
% 0.28/0.47  % last_appendL
% 0.28/0.47  thf(fact_139_last__appendR,axiom,
% 0.28/0.47      ! [A: $tType,Ys: list @ A,Xs: list @ A] :
% 0.28/0.47        ( ( Ys
% 0.28/0.47         != ( nil @ A ) )
% 0.28/0.47       => ( ( last @ A @ ( append @ A @ Xs @ Ys ) )
% 0.28/0.47          = ( last @ A @ Ys ) ) ) ).
% 0.28/0.47  
% 0.28/0.47  % last_appendR
% 0.28/0.47  thf(fact_140_zip__Cons__Cons,axiom,
% 0.28/0.47      ! [A: $tType,B: $tType,X: A,Xs: list @ A,Y: B,Ys: list @ B] :
% 0.28/0.47        ( ( zip @ A @ B @ ( cons @ A @ X @ Xs ) @ ( cons @ B @ Y @ Ys ) )
% 0.28/0.47        = ( cons @ ( product_prod @ A @ B ) @ ( product_Pair @ A @ B @ X @ Y ) @ ( zip @ A @ B @ Xs @ Ys ) ) ) ).
% 0.28/0.47  
% 0.28/0.47  % zip_Cons_Cons
% 0.28/0.47  thf(fact_141_append__butlast__last__id,axiom,
% 0.28/0.47      ! [A: $tType,Xs: list @ A] :
% 0.28/0.47        ( ( Xs
% 0.28/0.47         != ( nil @ A ) )
% 0.28/0.47       => ( ( append @ A @ ( butlast @ A @ Xs ) @ ( cons @ A @ ( last @ A @ Xs ) @ ( nil @ A ) ) )
% 0.28/0.47          = Xs ) ) ).
% 0.28/0.47  
% 0.28/0.47  % append_butlast_last_id
% 0.28/0.47  thf(fact_142_butlast_Osimps_I1_J,axiom,
% 0.28/0.47      ! [A: $tType] :
% 0.28/0.47        ( ( butlast @ A @ ( nil @ A ) )
% 0.28/0.47        = ( nil @ A ) ) ).
% 0.28/0.47  
% 0.28/0.47  % butlast.simps(1)
% 0.28/0.47  thf(fact_143_snoc__eq__iff__butlast,axiom,
% 0.28/0.47      ! [A: $tType,Xs: list @ A,X: A,Ys: list @ A] :
% 0.28/0.47        ( ( ( append @ A @ Xs @ ( cons @ A @ X @ ( nil @ A ) ) )
% 0.28/0.47          = Ys )
% 0.28/0.47        = ( ( Ys
% 0.28/0.47           != ( nil @ A ) )
% 0.28/0.47          & ( ( butlast @ A @ Ys )
% 0.28/0.47            = Xs )
% 0.28/0.47          & ( ( last @ A @ Ys )
% 0.28/0.47            = X ) ) ) ).
% 0.28/0.47  
% 0.28/0.47  % snoc_eq_iff_butlast
% 0.28/0.47  thf(fact_144_last_Osimps,axiom,
% 0.28/0.47      ! [A: $tType,Xs: list @ A,X: A] :
% 0.28/0.47        ( ( ( Xs
% 0.28/0.47            = ( nil @ A ) )
% 0.28/0.47         => ( ( last @ A @ ( cons @ A @ X @ Xs ) )
% 0.28/0.47            = X ) )
% 0.28/0.47        & ( ( Xs
% 0.28/0.47           != ( nil @ A ) )
% 0.28/0.47         => ( ( last @ A @ ( cons @ A @ X @ Xs ) )
% 0.28/0.47            = ( last @ A @ Xs ) ) ) ) ).
% 0.28/0.47  
% 0.28/0.47  % last.simps
% 0.28/0.47  thf(fact_145_last__ConsL,axiom,
% 0.28/0.47      ! [A: $tType,Xs: list @ A,X: A] :
% 0.28/0.47        ( ( Xs
% 0.28/0.47          = ( nil @ A ) )
% 0.28/0.47       => ( ( last @ A @ ( cons @ A @ X @ Xs ) )
% 0.28/0.47          = X ) ) ).
% 0.28/0.47  
% 0.28/0.47  % last_ConsL
% 0.28/0.47  thf(fact_146_last__ConsR,axiom,
% 0.28/0.47      ! [A: $tType,Xs: list @ A,X: A] :
% 0.28/0.47        ( ( Xs
% 0.28/0.47         != ( nil @ A ) )
% 0.28/0.47       => ( ( last @ A @ ( cons @ A @ X @ Xs ) )
% 0.28/0.47          = ( last @ A @ Xs ) ) ) ).
% 0.28/0.47  
% 0.28/0.47  % last_ConsR
% 0.28/0.47  thf(fact_147_zip__eq__ConsE,axiom,
% 0.28/0.47      ! [A: $tType,B: $tType,Xs: list @ A,Ys: list @ B,Xy: product_prod @ A @ B,Xys: list @ ( product_prod @ A @ B )] :
% 0.28/0.47        ( ( ( zip @ A @ B @ Xs @ Ys )
% 0.28/0.47          = ( cons @ ( product_prod @ A @ B ) @ Xy @ Xys ) )
% 0.28/0.47       => ~ ! [X3: A,Xs5: list @ A] :
% 0.28/0.47              ( ( Xs
% 0.28/0.47                = ( cons @ A @ X3 @ Xs5 ) )
% 0.28/0.47             => ! [Y2: B,Ys5: list @ B] :
% 0.28/0.47                  ( ( Ys
% 0.28/0.47                    = ( cons @ B @ Y2 @ Ys5 ) )
% 0.28/0.47                 => ( ( Xy
% 0.28/0.47                      = ( product_Pair @ A @ B @ X3 @ Y2 ) )
% 0.28/0.47                   => ( Xys
% 0.28/0.47                     != ( zip @ A @ B @ Xs5 @ Ys5 ) ) ) ) ) ) ).
% 0.28/0.47  
% 0.28/0.47  % zip_eq_ConsE
% 0.28/0.47  thf(fact_148_plus__coeffs_Osimps_I1_J,axiom,
% 0.28/0.47      ! [A: $tType] :
% 0.28/0.47        ( ( comm_monoid_add @ A )
% 0.28/0.47       => ! [Xs: list @ A] :
% 0.28/0.47            ( ( plus_coeffs @ A @ Xs @ ( nil @ A ) )
% 0.28/0.47            = Xs ) ) ).
% 0.28/0.47  
% 0.28/0.47  % plus_coeffs.simps(1)
% 0.28/0.47  thf(fact_149_last__append,axiom,
% 0.28/0.47      ! [A: $tType,Ys: list @ A,Xs: list @ A] :
% 0.28/0.47        ( ( ( Ys
% 0.28/0.47            = ( nil @ A ) )
% 0.28/0.47         => ( ( last @ A @ ( append @ A @ Xs @ Ys ) )
% 0.28/0.47            = ( last @ A @ Xs ) ) )
% 0.28/0.47        & ( ( Ys
% 0.28/0.47           != ( nil @ A ) )
% 0.28/0.47         => ( ( last @ A @ ( append @ A @ Xs @ Ys ) )
% 0.28/0.47            = ( last @ A @ Ys ) ) ) ) ).
% 0.28/0.47  
% 0.28/0.47  % last_append
% 0.28/0.47  thf(fact_150_longest__common__suffix,axiom,
% 0.28/0.47      ! [A: $tType,Xs: list @ A,Ys: list @ A] :
% 0.28/0.47      ? [Ss: list @ A,Xs5: list @ A,Ys5: list @ A] :
% 0.28/0.47        ( ( Xs
% 0.28/0.47          = ( append @ A @ Xs5 @ Ss ) )
% 0.28/0.47        & ( Ys
% 0.28/0.47          = ( append @ A @ Ys5 @ Ss ) )
% 0.28/0.47        & ( ( Xs5
% 0.28/0.47            = ( nil @ A ) )
% 0.28/0.47          | ( Ys5
% 0.28/0.47            = ( nil @ A ) )
% 0.28/0.47          | ( ( last @ A @ Xs5 )
% 0.28/0.47           != ( last @ A @ Ys5 ) ) ) ) ).
% 0.28/0.47  
% 0.28/0.47  % longest_common_suffix
% 0.28/0.47  thf(fact_151_butlast_Osimps_I2_J,axiom,
% 0.28/0.47      ! [A: $tType,Xs: list @ A,X: A] :
% 0.28/0.47        ( ( ( Xs
% 0.28/0.47            = ( nil @ A ) )
% 0.28/0.47         => ( ( butlast @ A @ ( cons @ A @ X @ Xs ) )
% 0.28/0.47            = ( nil @ A ) ) )
% 0.28/0.47        & ( ( Xs
% 0.28/0.47           != ( nil @ A ) )
% 0.28/0.47         => ( ( butlast @ A @ ( cons @ A @ X @ Xs ) )
% 0.28/0.47            = ( cons @ A @ X @ ( butlast @ A @ Xs ) ) ) ) ) ).
% 0.28/0.47  
% 0.28/0.47  % butlast.simps(2)
% 0.28/0.47  thf(fact_152_butlast__append,axiom,
% 0.28/0.47      ! [A: $tType,Ys: list @ A,Xs: list @ A] :
% 0.28/0.47        ( ( ( Ys
% 0.28/0.47            = ( nil @ A ) )
% 0.28/0.47         => ( ( butlast @ A @ ( append @ A @ Xs @ Ys ) )
% 0.28/0.47            = ( butlast @ A @ Xs ) ) )
% 0.28/0.47        & ( ( Ys
% 0.28/0.47           != ( nil @ A ) )
% 0.28/0.47         => ( ( butlast @ A @ ( append @ A @ Xs @ Ys ) )
% 0.28/0.47            = ( append @ A @ Xs @ ( butlast @ A @ Ys ) ) ) ) ) ).
% 0.28/0.47  
% 0.28/0.47  % butlast_append
% 0.28/0.47  thf(fact_153_snoc__listrel1__snoc__iff,axiom,
% 0.28/0.47      ! [A: $tType,Xs: list @ A,X: A,Ys: list @ A,Y: A,R: set @ ( product_prod @ A @ A )] :
% 0.28/0.47        ( ( member2 @ ( product_prod @ ( list @ A ) @ ( list @ A ) ) @ ( product_Pair @ ( list @ A ) @ ( list @ A ) @ ( append @ A @ Xs @ ( cons @ A @ X @ ( nil @ A ) ) ) @ ( append @ A @ Ys @ ( cons @ A @ Y @ ( nil @ A ) ) ) ) @ ( listrel1 @ A @ R ) )
% 0.28/0.47        = ( ( ( member2 @ ( product_prod @ ( list @ A ) @ ( list @ A ) ) @ ( product_Pair @ ( list @ A ) @ ( list @ A ) @ Xs @ Ys ) @ ( listrel1 @ A @ R ) )
% 0.28/0.47            & ( X = Y ) )
% 0.28/0.47          | ( ( Xs = Ys )
% 0.28/0.47            & ( member2 @ ( product_prod @ A @ A ) @ ( product_Pair @ A @ A @ X @ Y ) @ R ) ) ) ) ).
% 0.28/0.47  
% 0.28/0.47  % snoc_listrel1_snoc_iff
% 0.28/0.47  thf(fact_154_last__zip,axiom,
% 0.28/0.47      ! [A: $tType,B: $tType,Xs: list @ A,Ys: list @ B] :
% 0.28/0.47        ( ( Xs
% 0.28/0.47         != ( nil @ A ) )
% 0.28/0.47       => ( ( Ys
% 0.28/0.47           != ( nil @ B ) )
% 0.28/0.47         => ( ( ( size_size @ ( list @ A ) @ Xs )
% 0.28/0.47              = ( size_size @ ( list @ B ) @ Ys ) )
% 0.28/0.47           => ( ( last @ ( product_prod @ A @ B ) @ ( zip @ A @ B @ Xs @ Ys ) )
% 0.28/0.47              = ( product_Pair @ A @ B @ ( last @ A @ Xs ) @ ( last @ B @ Ys ) ) ) ) ) ) ).
% 0.28/0.47  
% 0.28/0.47  % last_zip
% 0.28/0.47  thf(fact_155_concat__conv__foldr,axiom,
% 0.28/0.47      ! [A: $tType] :
% 0.28/0.47        ( ( concat @ A )
% 0.28/0.47        = ( ^ [Xss3: list @ ( list @ A )] : ( foldr @ ( list @ A ) @ ( list @ A ) @ ( append @ A ) @ Xss3 @ ( nil @ A ) ) ) ) ).
% 0.28/0.47  
% 0.28/0.47  % concat_conv_foldr
% 0.28/0.47  thf(fact_156_rotate__Suc,axiom,
% 0.28/0.47      ! [A: $tType,N: nat,Xs: list @ A] :
% 0.28/0.47        ( ( rotate @ A @ ( suc @ N ) @ Xs )
% 0.28/0.47        = ( rotate1 @ A @ ( rotate @ A @ N @ Xs ) ) ) ).
% 0.28/0.47  
% 0.28/0.47  % rotate_Suc
% 0.28/0.47  thf(fact_157_append__eq__append__conv,axiom,
% 0.28/0.47      ! [A: $tType,Xs: list @ A,Ys: list @ A,Us: list @ A,Vs: list @ A] :
% 0.28/0.47        ( ( ( ( size_size @ ( list @ A ) @ Xs )
% 0.28/0.47            = ( size_size @ ( list @ A ) @ Ys ) )
% 0.28/0.47          | ( ( size_size @ ( list @ A ) @ Us )
% 0.28/0.47            = ( size_size @ ( list @ A ) @ Vs ) ) )
% 0.28/0.47       => ( ( ( append @ A @ Xs @ Us )
% 0.28/0.47            = ( append @ A @ Ys @ Vs ) )
% 0.28/0.47          = ( ( Xs = Ys )
% 0.28/0.47            & ( Us = Vs ) ) ) ) ).
% 0.28/0.47  
% 0.28/0.47  % append_eq_append_conv
% 0.28/0.47  thf(fact_158_rotate__is__Nil__conv,axiom,
% 0.28/0.47      ! [A: $tType,N: nat,Xs: list @ A] :
% 0.28/0.47        ( ( ( rotate @ A @ N @ Xs )
% 0.28/0.47          = ( nil @ A ) )
% 0.28/0.47        = ( Xs
% 0.28/0.47          = ( nil @ A ) ) ) ).
% 0.28/0.47  
% 0.28/0.47  % rotate_is_Nil_conv
% 0.28/0.47  thf(fact_159_length__rotate,axiom,
% 0.28/0.47      ! [A: $tType,N: nat,Xs: list @ A] :
% 0.28/0.47        ( ( size_size @ ( list @ A ) @ ( rotate @ A @ N @ Xs ) )
% 0.28/0.47        = ( size_size @ ( list @ A ) @ Xs ) ) ).
% 0.28/0.47  
% 0.28/0.47  % length_rotate
% 0.28/0.47  thf(fact_160_foldr__append,axiom,
% 0.28/0.47      ! [B: $tType,A: $tType,F: B > A > A,Xs: list @ B,Ys: list @ B,A3: A] :
% 0.28/0.47        ( ( foldr @ B @ A @ F @ ( append @ B @ Xs @ Ys ) @ A3 )
% 0.28/0.47        = ( foldr @ B @ A @ F @ Xs @ ( foldr @ B @ A @ F @ Ys @ A3 ) ) ) ).
% 0.28/0.47  
% 0.28/0.47  % foldr_append
% 0.28/0.47  thf(fact_161_length__enumerate,axiom,
% 0.28/0.47      ! [A: $tType,N: nat,Xs: list @ A] :
% 0.28/0.47        ( ( size_size @ ( list @ ( product_prod @ nat @ A ) ) @ ( enumerate @ A @ N @ Xs ) )
% 0.28/0.47        = ( size_size @ ( list @ A ) @ Xs ) ) ).
% 0.28/0.47  
% 0.28/0.47  % length_enumerate
% 0.28/0.47  thf(fact_162_length__rotate1,axiom,
% 0.28/0.47      ! [A: $tType,Xs: list @ A] :
% 0.28/0.47        ( ( size_size @ ( list @ A ) @ ( rotate1 @ A @ Xs ) )
% 0.28/0.47        = ( size_size @ ( list @ A ) @ Xs ) ) ).
% 0.28/0.47  
% 0.28/0.47  % length_rotate1
% 0.28/0.47  thf(fact_163_zip__append,axiom,
% 0.28/0.47      ! [A: $tType,B: $tType,Xs: list @ A,Us: list @ B,Ys: list @ A,Vs: list @ B] :
% 0.28/0.47        ( ( ( size_size @ ( list @ A ) @ Xs )
% 0.28/0.47          = ( size_size @ ( list @ B ) @ Us ) )
% 0.28/0.47       => ( ( zip @ A @ B @ ( append @ A @ Xs @ Ys ) @ ( append @ B @ Us @ Vs ) )
% 0.28/0.47          = ( append @ ( product_prod @ A @ B ) @ ( zip @ A @ B @ Xs @ Us ) @ ( zip @ A @ B @ Ys @ Vs ) ) ) ) ).
% 0.28/0.47  
% 0.28/0.47  % zip_append
% 0.28/0.47  thf(fact_164_Cons__listrel1__Cons,axiom,
% 0.28/0.47      ! [A: $tType,X: A,Xs: list @ A,Y: A,Ys: list @ A,R: set @ ( product_prod @ A @ A )] :
% 0.28/0.47        ( ( member2 @ ( product_prod @ ( list @ A ) @ ( list @ A ) ) @ ( product_Pair @ ( list @ A ) @ ( list @ A ) @ ( cons @ A @ X @ Xs ) @ ( cons @ A @ Y @ Ys ) ) @ ( listrel1 @ A @ R ) )
% 0.28/0.47        = ( ( ( member2 @ ( product_prod @ A @ A ) @ ( product_Pair @ A @ A @ X @ Y ) @ R )
% 0.28/0.47            & ( Xs = Ys ) )
% 0.28/0.47          | ( ( X = Y )
% 0.28/0.47            & ( member2 @ ( product_prod @ ( list @ A ) @ ( list @ A ) ) @ ( product_Pair @ ( list @ A ) @ ( list @ A ) @ Xs @ Ys ) @ ( listrel1 @ A @ R ) ) ) ) ) ).
% 0.28/0.47  
% 0.28/0.47  % Cons_listrel1_Cons
% 0.28/0.47  thf(fact_165_append__listrel1I,axiom,
% 0.28/0.47      ! [A: $tType,Xs: list @ A,Ys: list @ A,R: set @ ( product_prod @ A @ A ),Us: list @ A,Vs: list @ A] :
% 0.28/0.47        ( ( ( ( member2 @ ( product_prod @ ( list @ A ) @ ( list @ A ) ) @ ( product_Pair @ ( list @ A ) @ ( list @ A ) @ Xs @ Ys ) @ ( listrel1 @ A @ R ) )
% 0.28/0.47            & ( Us = Vs ) )
% 0.28/0.47          | ( ( Xs = Ys )
% 0.28/0.47            & ( member2 @ ( product_prod @ ( list @ A ) @ ( list @ A ) ) @ ( product_Pair @ ( list @ A ) @ ( list @ A ) @ Us @ Vs ) @ ( listrel1 @ A @ R ) ) ) )
% 0.28/0.47       => ( member2 @ ( product_prod @ ( list @ A ) @ ( list @ A ) ) @ ( product_Pair @ ( list @ A ) @ ( list @ A ) @ ( append @ A @ Xs @ Us ) @ ( append @ A @ Ys @ Vs ) ) @ ( listrel1 @ A @ R ) ) ) ).
% 0.28/0.47  
% 0.28/0.47  % append_listrel1I
% 0.28/0.47  thf(fact_166_listrel1__eq__len,axiom,
% 0.28/0.47      ! [A: $tType,Xs: list @ A,Ys: list @ A,R: set @ ( product_prod @ A @ A )] :
% 0.28/0.47        ( ( member2 @ ( product_prod @ ( list @ A ) @ ( list @ A ) ) @ ( product_Pair @ ( list @ A ) @ ( list @ A ) @ Xs @ Ys ) @ ( listrel1 @ A @ R ) )
% 0.28/0.47       => ( ( size_size @ ( list @ A ) @ Xs )
% 0.28/0.47          = ( size_size @ ( list @ A ) @ Ys ) ) ) ).
% 0.28/0.47  
% 0.28/0.47  % listrel1_eq_len
% 0.28/0.47  thf(fact_167_map__tailrec__rev_Ocases,axiom,
% 0.28/0.47      ! [A: $tType,B: $tType,X: product_prod @ ( A > B ) @ ( product_prod @ ( list @ A ) @ ( list @ B ) )] :
% 0.28/0.47        ( ! [F3: A > B,Bs2: list @ B] :
% 0.28/0.47            ( X
% 0.28/0.47           != ( product_Pair @ ( A > B ) @ ( product_prod @ ( list @ A ) @ ( list @ B ) ) @ F3 @ ( product_Pair @ ( list @ A ) @ ( list @ B ) @ ( nil @ A ) @ Bs2 ) ) )
% 0.28/0.47       => ~ ! [F3: A > B,A2: A,As: list @ A,Bs2: list @ B] :
% 0.28/0.47              ( X
% 0.28/0.47             != ( product_Pair @ ( A > B ) @ ( product_prod @ ( list @ A ) @ ( list @ B ) ) @ F3 @ ( product_Pair @ ( list @ A ) @ ( list @ B ) @ ( cons @ A @ A2 @ As ) @ Bs2 ) ) ) ) ).
% 0.28/0.47  
% 0.28/0.47  % map_tailrec_rev.cases
% 0.28/0.47  thf(fact_168_not__listrel1__Nil,axiom,
% 0.28/0.47      ! [A: $tType,Xs: list @ A,R: set @ ( product_prod @ A @ A )] :
% 0.28/0.47        ~ ( member2 @ ( product_prod @ ( list @ A ) @ ( list @ A ) ) @ ( product_Pair @ ( list @ A ) @ ( list @ A ) @ Xs @ ( nil @ A ) ) @ ( listrel1 @ A @ R ) ) ).
% 0.28/0.47  
% 0.28/0.47  % not_listrel1_Nil
% 0.28/0.47  thf(fact_169_not__Nil__listrel1,axiom,
% 0.28/0.47      ! [A: $tType,Xs: list @ A,R: set @ ( product_prod @ A @ A )] :
% 0.28/0.47        ~ ( member2 @ ( product_prod @ ( list @ A ) @ ( list @ A ) ) @ ( product_Pair @ ( list @ A ) @ ( list @ A ) @ ( nil @ A ) @ Xs ) @ ( listrel1 @ A @ R ) ) ).
% 0.28/0.47  
% 0.28/0.47  % not_Nil_listrel1
% 0.28/0.47  thf(fact_170_listrel1I2,axiom,
% 0.28/0.47      ! [A: $tType,Xs: list @ A,Ys: list @ A,R: set @ ( product_prod @ A @ A ),X: A] :
% 0.28/0.47        ( ( member2 @ ( product_prod @ ( list @ A ) @ ( list @ A ) ) @ ( product_Pair @ ( list @ A ) @ ( list @ A ) @ Xs @ Ys ) @ ( listrel1 @ A @ R ) )
% 0.28/0.47       => ( member2 @ ( product_prod @ ( list @ A ) @ ( list @ A ) ) @ ( product_Pair @ ( list @ A ) @ ( list @ A ) @ ( cons @ A @ X @ Xs ) @ ( cons @ A @ X @ Ys ) ) @ ( listrel1 @ A @ R ) ) ) ).
% 0.28/0.47  
% 0.28/0.47  % listrel1I2
% 0.28/0.47  thf(fact_171_neq__if__length__neq,axiom,
% 0.28/0.47      ! [A: $tType,Xs: list @ A,Ys: list @ A] :
% 0.28/0.47        ( ( ( size_size @ ( list @ A ) @ Xs )
% 0.28/0.47         != ( size_size @ ( list @ A ) @ Ys ) )
% 0.28/0.47       => ( Xs != Ys ) ) ).
% 0.28/0.47  
% 0.28/0.47  % neq_if_length_neq
% 0.28/0.47  thf(fact_172_Ex__list__of__length,axiom,
% 0.28/0.47      ! [A: $tType,N: nat] :
% 0.28/0.47      ? [Xs2: list @ A] :
% 0.28/0.47        ( ( size_size @ ( list @ A ) @ Xs2 )
% 0.28/0.47        = N ) ).
% 0.28/0.47  
% 0.28/0.47  % Ex_list_of_length
% 0.28/0.47  thf(fact_173_size__neq__size__imp__neq,axiom,
% 0.28/0.47      ! [A: $tType] :
% 0.28/0.47        ( ( size @ A )
% 0.28/0.47       => ! [X: A,Y: A] :
% 0.28/0.47            ( ( ( size_size @ A @ X )
% 0.28/0.47             != ( size_size @ A @ Y ) )
% 0.28/0.47           => ( X != Y ) ) ) ).
% 0.28/0.47  
% 0.28/0.47  % size_neq_size_imp_neq
% 0.28/0.47  thf(fact_174_rotate__append,axiom,
% 0.28/0.47      ! [A: $tType,L: list @ A,Q3: list @ A] :
% 0.28/0.47        ( ( rotate @ A @ ( size_size @ ( list @ A ) @ L ) @ ( append @ A @ L @ Q3 ) )
% 0.28/0.47        = ( append @ A @ Q3 @ L ) ) ).
% 0.28/0.47  
% 0.28/0.47  % rotate_append
% 0.28/0.47  thf(fact_175_rotate1__rotate__swap,axiom,
% 0.28/0.47      ! [A: $tType,N: nat,Xs: list @ A] :
% 0.28/0.47        ( ( rotate1 @ A @ ( rotate @ A @ N @ Xs ) )
% 0.28/0.47        = ( rotate @ A @ N @ ( rotate1 @ A @ Xs ) ) ) ).
% 0.28/0.47  
% 0.28/0.47  % rotate1_rotate_swap
% 0.28/0.47  thf(fact_176_arg__min__list_Ocases,axiom,
% 0.28/0.47      ! [B: $tType,A: $tType] :
% 0.28/0.47        ( ( linorder @ B )
% 0.28/0.47       => ! [X: product_prod @ ( A > B ) @ ( list @ A )] :
% 0.28/0.47            ( ! [F3: A > B,X3: A] :
% 0.28/0.47                ( X
% 0.28/0.47               != ( product_Pair @ ( A > B ) @ ( list @ A ) @ F3 @ ( cons @ A @ X3 @ ( nil @ A ) ) ) )
% 0.28/0.47           => ( ! [F3: A > B,X3: A,Y2: A,Zs: list @ A] :
% 0.28/0.47                  ( X
% 0.28/0.47                 != ( product_Pair @ ( A > B ) @ ( list @ A ) @ F3 @ ( cons @ A @ X3 @ ( cons @ A @ Y2 @ Zs ) ) ) )
% 0.28/0.47             => ~ ! [A2: A > B] :
% 0.28/0.47                    ( X
% 0.28/0.47                   != ( product_Pair @ ( A > B ) @ ( list @ A ) @ A2 @ ( nil @ A ) ) ) ) ) ) ).
% 0.28/0.47  
% 0.28/0.47  % arg_min_list.cases
% 0.28/0.47  thf(fact_177_successively_Ocases,axiom,
% 0.28/0.47      ! [A: $tType,X: product_prod @ ( A > A > $o ) @ ( list @ A )] :
% 0.28/0.47        ( ! [P4: A > A > $o] :
% 0.28/0.47            ( X
% 0.28/0.47           != ( product_Pair @ ( A > A > $o ) @ ( list @ A ) @ P4 @ ( nil @ A ) ) )
% 0.28/0.47       => ( ! [P4: A > A > $o,X3: A] :
% 0.28/0.47              ( X
% 0.28/0.47             != ( product_Pair @ ( A > A > $o ) @ ( list @ A ) @ P4 @ ( cons @ A @ X3 @ ( nil @ A ) ) ) )
% 0.28/0.47         => ~ ! [P4: A > A > $o,X3: A,Y2: A,Xs2: list @ A] :
% 0.28/0.47                ( X
% 0.28/0.47               != ( product_Pair @ ( A > A > $o ) @ ( list @ A ) @ P4 @ ( cons @ A @ X3 @ ( cons @ A @ Y2 @ Xs2 ) ) ) ) ) ) ).
% 0.28/0.47  
% 0.28/0.47  % successively.cases
% 0.28/0.47  thf(fact_178_sorted__wrt_Ocases,axiom,
% 0.28/0.47      ! [A: $tType,X: product_prod @ ( A > A > $o ) @ ( list @ A )] :
% 0.28/0.47        ( ! [P4: A > A > $o] :
% 0.28/0.47            ( X
% 0.28/0.47           != ( product_Pair @ ( A > A > $o ) @ ( list @ A ) @ P4 @ ( nil @ A ) ) )
% 0.28/0.47       => ~ ! [P4: A > A > $o,X3: A,Ys2: list @ A] :
% 0.28/0.47              ( X
% 0.28/0.47             != ( product_Pair @ ( A > A > $o ) @ ( list @ A ) @ P4 @ ( cons @ A @ X3 @ Ys2 ) ) ) ) ).
% 0.28/0.47  
% 0.28/0.47  % sorted_wrt.cases
% 0.28/0.47  thf(fact_179_Suc__length__conv,axiom,
% 0.28/0.47      ! [A: $tType,N: nat,Xs: list @ A] :
% 0.28/0.47        ( ( ( suc @ N )
% 0.28/0.47          = ( size_size @ ( list @ A ) @ Xs ) )
% 0.28/0.47        = ( ? [Y3: A,Ys3: list @ A] :
% 0.28/0.47              ( ( Xs
% 0.28/0.47                = ( cons @ A @ Y3 @ Ys3 ) )
% 0.28/0.47              & ( ( size_size @ ( list @ A ) @ Ys3 )
% 0.28/0.47                = N ) ) ) ) ).
% 0.28/0.47  
% 0.28/0.47  % Suc_length_conv
% 0.28/0.47  thf(fact_180_length__Suc__conv,axiom,
% 0.28/0.47      ! [A: $tType,Xs: list @ A,N: nat] :
% 0.28/0.47        ( ( ( size_size @ ( list @ A ) @ Xs )
% 0.28/0.47          = ( suc @ N ) )
% 0.28/0.47        = ( ? [Y3: A,Ys3: list @ A] :
% 0.28/0.47              ( ( Xs
% 0.28/0.47                = ( cons @ A @ Y3 @ Ys3 ) )
% 0.28/0.47              & ( ( size_size @ ( list @ A ) @ Ys3 )
% 0.28/0.47                = N ) ) ) ) ).
% 0.28/0.47  
% 0.28/0.47  % length_Suc_conv
% 0.28/0.47  thf(fact_181_list__induct4,axiom,
% 0.28/0.47      ! [C: $tType,A: $tType,B: $tType,D: $tType,Xs: list @ A,Ys: list @ B,Zs2: list @ C,Ws: list @ D,P3: ( list @ A ) > ( list @ B ) > ( list @ C ) > ( list @ D ) > $o] :
% 0.28/0.47        ( ( ( size_size @ ( list @ A ) @ Xs )
% 0.28/0.47          = ( size_size @ ( list @ B ) @ Ys ) )
% 0.28/0.47       => ( ( ( size_size @ ( list @ B ) @ Ys )
% 0.28/0.47            = ( size_size @ ( list @ C ) @ Zs2 ) )
% 0.28/0.47         => ( ( ( size_size @ ( list @ C ) @ Zs2 )
% 0.28/0.47              = ( size_size @ ( list @ D ) @ Ws ) )
% 0.28/0.47           => ( ( P3 @ ( nil @ A ) @ ( nil @ B ) @ ( nil @ C ) @ ( nil @ D ) )
% 0.28/0.47             => ( ! [X3: A,Xs2: list @ A,Y2: B,Ys2: list @ B,Z: C,Zs: list @ C,W: D,Ws2: list @ D] :
% 0.28/0.47                    ( ( ( size_size @ ( list @ A ) @ Xs2 )
% 0.28/0.47                      = ( size_size @ ( list @ B ) @ Ys2 ) )
% 0.28/0.47                   => ( ( ( size_size @ ( list @ B ) @ Ys2 )
% 0.28/0.47                        = ( size_size @ ( list @ C ) @ Zs ) )
% 0.28/0.47                     => ( ( ( size_size @ ( list @ C ) @ Zs )
% 0.28/0.47                          = ( size_size @ ( list @ D ) @ Ws2 ) )
% 0.28/0.47                       => ( ( P3 @ Xs2 @ Ys2 @ Zs @ Ws2 )
% 0.28/0.47                         => ( P3 @ ( cons @ A @ X3 @ Xs2 ) @ ( cons @ B @ Y2 @ Ys2 ) @ ( cons @ C @ Z @ Zs ) @ ( cons @ D @ W @ Ws2 ) ) ) ) ) )
% 0.28/0.47               => ( P3 @ Xs @ Ys @ Zs2 @ Ws ) ) ) ) ) ) ).
% 0.28/0.47  
% 0.28/0.47  % list_induct4
% 0.28/0.47  thf(fact_182_list__induct3,axiom,
% 0.28/0.47      ! [B: $tType,A: $tType,C: $tType,Xs: list @ A,Ys: list @ B,Zs2: list @ C,P3: ( list @ A ) > ( list @ B ) > ( list @ C ) > $o] :
% 0.28/0.47        ( ( ( size_size @ ( list @ A ) @ Xs )
% 0.28/0.47          = ( size_size @ ( list @ B ) @ Ys ) )
% 0.28/0.47       => ( ( ( size_size @ ( list @ B ) @ Ys )
% 0.28/0.47            = ( size_size @ ( list @ C ) @ Zs2 ) )
% 0.28/0.47         => ( ( P3 @ ( nil @ A ) @ ( nil @ B ) @ ( nil @ C ) )
% 0.28/0.47           => ( ! [X3: A,Xs2: list @ A,Y2: B,Ys2: list @ B,Z: C,Zs: list @ C] :
% 0.28/0.47                  ( ( ( size_size @ ( list @ A ) @ Xs2 )
% 0.28/0.47                    = ( size_size @ ( list @ B ) @ Ys2 ) )
% 0.28/0.47                 => ( ( ( size_size @ ( list @ B ) @ Ys2 )
% 0.28/0.47                      = ( size_size @ ( list @ C ) @ Zs ) )
% 0.28/0.47                   => ( ( P3 @ Xs2 @ Ys2 @ Zs )
% 0.28/0.47                     => ( P3 @ ( cons @ A @ X3 @ Xs2 ) @ ( cons @ B @ Y2 @ Ys2 ) @ ( cons @ C @ Z @ Zs ) ) ) ) )
% 0.28/0.47             => ( P3 @ Xs @ Ys @ Zs2 ) ) ) ) ) ).
% 0.28/0.47  
% 0.28/0.47  % list_induct3
% 0.28/0.47  thf(fact_183_list__induct2,axiom,
% 0.28/0.47      ! [A: $tType,B: $tType,Xs: list @ A,Ys: list @ B,P3: ( list @ A ) > ( list @ B ) > $o] :
% 0.28/0.47        ( ( ( size_size @ ( list @ A ) @ Xs )
% 0.28/0.47          = ( size_size @ ( list @ B ) @ Ys ) )
% 0.28/0.47       => ( ( P3 @ ( nil @ A ) @ ( nil @ B ) )
% 0.28/0.47         => ( ! [X3: A,Xs2: list @ A,Y2: B,Ys2: list @ B] :
% 0.28/0.47                ( ( ( size_size @ ( list @ A ) @ Xs2 )
% 0.28/0.47                  = ( size_size @ ( list @ B ) @ Ys2 ) )
% 0.28/0.47               => ( ( P3 @ Xs2 @ Ys2 )
% 0.28/0.47                 => ( P3 @ ( cons @ A @ X3 @ Xs2 ) @ ( cons @ B @ Y2 @ Ys2 ) ) ) )
% 0.28/0.47           => ( P3 @ Xs @ Ys ) ) ) ) ).
% 0.28/0.47  
% 0.28/0.47  % list_induct2
% 0.28/0.47  thf(fact_184_pderiv__coeffs__code_Ocases,axiom,
% 0.28/0.47      ! [A: $tType] :
% 0.28/0.47        ( ( ( comm_semiring_1 @ A )
% 0.28/0.47          & ( semiri1193490041visors @ A ) )
% 0.28/0.47       => ! [X: product_prod @ A @ ( list @ A )] :
% 0.28/0.47            ( ! [F3: A,X3: A,Xs2: list @ A] :
% 0.28/0.47                ( X
% 0.28/0.47               != ( product_Pair @ A @ ( list @ A ) @ F3 @ ( cons @ A @ X3 @ Xs2 ) ) )
% 0.28/0.47           => ~ ! [F3: A] :
% 0.28/0.47                  ( X
% 0.28/0.47                 != ( product_Pair @ A @ ( list @ A ) @ F3 @ ( nil @ A ) ) ) ) ) ).
% 0.28/0.47  
% 0.28/0.47  % pderiv_coeffs_code.cases
% 0.28/0.47  thf(fact_185_shuffles_Ocases,axiom,
% 0.28/0.47      ! [A: $tType,X: product_prod @ ( list @ A ) @ ( list @ A )] :
% 0.28/0.47        ( ! [Ys2: list @ A] :
% 0.28/0.47            ( X
% 0.28/0.47           != ( product_Pair @ ( list @ A ) @ ( list @ A ) @ ( nil @ A ) @ Ys2 ) )
% 0.28/0.47       => ( ! [Xs2: list @ A] :
% 0.28/0.47              ( X
% 0.28/0.47             != ( product_Pair @ ( list @ A ) @ ( list @ A ) @ Xs2 @ ( nil @ A ) ) )
% 0.28/0.47         => ~ ! [X3: A,Xs2: list @ A,Y2: A,Ys2: list @ A] :
% 0.28/0.47                ( X
% 0.28/0.47               != ( product_Pair @ ( list @ A ) @ ( list @ A ) @ ( cons @ A @ X3 @ Xs2 ) @ ( cons @ A @ Y2 @ Ys2 ) ) ) ) ) ).
% 0.28/0.47  
% 0.28/0.47  % shuffles.cases
% 0.28/0.47  thf(fact_186_plus__coeffs_Ocases,axiom,
% 0.28/0.47      ! [A: $tType] :
% 0.28/0.47        ( ( comm_monoid_add @ A )
% 0.28/0.47       => ! [X: product_prod @ ( list @ A ) @ ( list @ A )] :
% 0.28/0.47            ( ! [Xs2: list @ A] :
% 0.28/0.47                ( X
% 0.28/0.47               != ( product_Pair @ ( list @ A ) @ ( list @ A ) @ Xs2 @ ( nil @ A ) ) )
% 0.28/0.47           => ( ! [V: A,Va: list @ A] :
% 0.28/0.47                  ( X
% 0.28/0.47                 != ( product_Pair @ ( list @ A ) @ ( list @ A ) @ ( nil @ A ) @ ( cons @ A @ V @ Va ) ) )
% 0.28/0.47             => ~ ! [X3: A,Xs2: list @ A,Y2: A,Ys2: list @ A] :
% 0.28/0.47                    ( X
% 0.28/0.47                   != ( product_Pair @ ( list @ A ) @ ( list @ A ) @ ( cons @ A @ X3 @ Xs2 ) @ ( cons @ A @ Y2 @ Ys2 ) ) ) ) ) ) ).
% 0.28/0.47  
% 0.28/0.47  % plus_coeffs.cases
% 0.28/0.47  thf(fact_187_minus__poly__rev__list_Ocases,axiom,
% 0.28/0.47      ! [A: $tType] :
% 0.28/0.47        ( ( group_add @ A )
% 0.28/0.47       => ! [X: product_prod @ ( list @ A ) @ ( list @ A )] :
% 0.28/0.47            ( ! [X3: A,Xs2: list @ A,Y2: A,Ys2: list @ A] :
% 0.28/0.47                ( X
% 0.28/0.47               != ( product_Pair @ ( list @ A ) @ ( list @ A ) @ ( cons @ A @ X3 @ Xs2 ) @ ( cons @ A @ Y2 @ Ys2 ) ) )
% 0.28/0.47           => ( ! [Xs2: list @ A] :
% 0.28/0.47                  ( X
% 0.28/0.47                 != ( product_Pair @ ( list @ A ) @ ( list @ A ) @ Xs2 @ ( nil @ A ) ) )
% 0.28/0.47             => ~ ! [Y2: A,Ys2: list @ A] :
% 0.28/0.47                    ( X
% 0.28/0.47                   != ( product_Pair @ ( list @ A ) @ ( list @ A ) @ ( nil @ A ) @ ( cons @ A @ Y2 @ Ys2 ) ) ) ) ) ) ).
% 0.28/0.47  
% 0.28/0.47  % minus_poly_rev_list.cases
% 0.28/0.47  thf(fact_188_Cons__listrel1E2,axiom,
% 0.28/0.47      ! [A: $tType,Xs: list @ A,Y: A,Ys: list @ A,R: set @ ( product_prod @ A @ A )] :
% 0.28/0.47        ( ( member2 @ ( product_prod @ ( list @ A ) @ ( list @ A ) ) @ ( product_Pair @ ( list @ A ) @ ( list @ A ) @ Xs @ ( cons @ A @ Y @ Ys ) ) @ ( listrel1 @ A @ R ) )
% 0.28/0.47       => ( ! [X3: A] :
% 0.28/0.47              ( ( Xs
% 0.28/0.47                = ( cons @ A @ X3 @ Ys ) )
% 0.28/0.47             => ~ ( member2 @ ( product_prod @ A @ A ) @ ( product_Pair @ A @ A @ X3 @ Y ) @ R ) )
% 0.28/0.47         => ~ ! [Zs: list @ A] :
% 0.28/0.47                ( ( Xs
% 0.28/0.47                  = ( cons @ A @ Y @ Zs ) )
% 0.28/0.47               => ~ ( member2 @ ( product_prod @ ( list @ A ) @ ( list @ A ) ) @ ( product_Pair @ ( list @ A ) @ ( list @ A ) @ Zs @ Ys ) @ ( listrel1 @ A @ R ) ) ) ) ) ).
% 0.28/0.47  
% 0.28/0.47  % Cons_listrel1E2
% 0.28/0.47  thf(fact_189_Cons__listrel1E1,axiom,
% 0.28/0.47      ! [A: $tType,X: A,Xs: list @ A,Ys: list @ A,R: set @ ( product_prod @ A @ A )] :
% 0.28/0.47        ( ( member2 @ ( product_prod @ ( list @ A ) @ ( list @ A ) ) @ ( product_Pair @ ( list @ A ) @ ( list @ A ) @ ( cons @ A @ X @ Xs ) @ Ys ) @ ( listrel1 @ A @ R ) )
% 0.28/0.47       => ( ! [Y2: A] :
% 0.28/0.47              ( ( Ys
% 0.28/0.47                = ( cons @ A @ Y2 @ Xs ) )
% 0.28/0.47             => ~ ( member2 @ ( product_prod @ A @ A ) @ ( product_Pair @ A @ A @ X @ Y2 ) @ R ) )
% 0.28/0.47         => ~ ! [Zs: list @ A] :
% 0.28/0.47                ( ( Ys
% 0.28/0.47                  = ( cons @ A @ X @ Zs ) )
% 0.28/0.47               => ~ ( member2 @ ( product_prod @ ( list @ A ) @ ( list @ A ) ) @ ( product_Pair @ ( list @ A ) @ ( list @ A ) @ Xs @ Zs ) @ ( listrel1 @ A @ R ) ) ) ) ) ).
% 0.28/0.47  
% 0.28/0.47  % Cons_listrel1E1
% 0.28/0.47  thf(fact_190_listrel1I1,axiom,
% 0.28/0.47      ! [A: $tType,X: A,Y: A,R: set @ ( product_prod @ A @ A ),Xs: list @ A] :
% 0.28/0.47        ( ( member2 @ ( product_prod @ A @ A ) @ ( product_Pair @ A @ A @ X @ Y ) @ R )
% 0.28/0.47       => ( member2 @ ( product_prod @ ( list @ A ) @ ( list @ A ) ) @ ( product_Pair @ ( list @ A ) @ ( list @ A ) @ ( cons @ A @ X @ Xs ) @ ( cons @ A @ Y @ Xs ) ) @ ( listrel1 @ A @ R ) ) ) ).
% 0.28/0.47  
% 0.28/0.47  % listrel1I1
% 0.28/0.47  thf(fact_191_same__length__different,axiom,
% 0.28/0.47      ! [A: $tType,Xs: list @ A,Ys: list @ A] :
% 0.28/0.47        ( ( Xs != Ys )
% 0.28/0.47       => ( ( ( size_size @ ( list @ A ) @ Xs )
% 0.28/0.47            = ( size_size @ ( list @ A ) @ Ys ) )
% 0.28/0.47         => ? [Pre: list @ A,X3: A,Xs5: list @ A,Y2: A,Ys5: list @ A] :
% 0.28/0.47              ( ( X3 != Y2 )
% 0.28/0.47              & ( Xs
% 0.28/0.47                = ( append @ A @ Pre @ ( append @ A @ ( cons @ A @ X3 @ ( nil @ A ) ) @ Xs5 ) ) )
% 0.28/0.47              & ( Ys
% 0.28/0.47                = ( append @ A @ Pre @ ( append @ A @ ( cons @ A @ Y2 @ ( nil @ A ) ) @ Ys5 ) ) ) ) ) ) ).
% 0.28/0.47  
% 0.28/0.47  % same_length_different
% 0.28/0.47  thf(fact_192_listrel1E,axiom,
% 0.28/0.47      ! [A: $tType,Xs: list @ A,Ys: list @ A,R: set @ ( product_prod @ A @ A )] :
% 0.28/0.47        ( ( member2 @ ( product_prod @ ( list @ A ) @ ( list @ A ) ) @ ( product_Pair @ ( list @ A ) @ ( list @ A ) @ Xs @ Ys ) @ ( listrel1 @ A @ R ) )
% 0.28/0.47       => ~ ! [X3: A,Y2: A] :
% 0.28/0.47              ( ( member2 @ ( product_prod @ A @ A ) @ ( product_Pair @ A @ A @ X3 @ Y2 ) @ R )
% 0.28/0.47             => ! [Us3: list @ A,Vs2: list @ A] :
% 0.28/0.47                  ( ( Xs
% 0.28/0.47                    = ( append @ A @ Us3 @ ( cons @ A @ X3 @ Vs2 ) ) )
% 0.28/0.47                 => ( Ys
% 0.28/0.47                   != ( append @ A @ Us3 @ ( cons @ A @ Y2 @ Vs2 ) ) ) ) ) ) ).
% 0.28/0.47  
% 0.28/0.47  % listrel1E
% 0.28/0.47  thf(fact_193_listrel1I,axiom,
% 0.28/0.47      ! [A: $tType,X: A,Y: A,R: set @ ( product_prod @ A @ A ),Xs: list @ A,Us: list @ A,Vs: list @ A,Ys: list @ A] :
% 0.28/0.47        ( ( member2 @ ( product_prod @ A @ A ) @ ( product_Pair @ A @ A @ X @ Y ) @ R )
% 0.28/0.47       => ( ( Xs
% 0.28/0.47            = ( append @ A @ Us @ ( cons @ A @ X @ Vs ) ) )
% 0.28/0.47         => ( ( Ys
% 0.28/0.47              = ( append @ A @ Us @ ( cons @ A @ Y @ Vs ) ) )
% 0.28/0.47           => ( member2 @ ( product_prod @ ( list @ A ) @ ( list @ A ) ) @ ( product_Pair @ ( list @ A ) @ ( list @ A ) @ Xs @ Ys ) @ ( listrel1 @ A @ R ) ) ) ) ) ).
% 0.28/0.47  
% 0.28/0.47  % listrel1I
% 0.28/0.47  thf(fact_194_length__append__singleton,axiom,
% 0.28/0.47      ! [A: $tType,Xs: list @ A,X: A] :
% 0.28/0.47        ( ( size_size @ ( list @ A ) @ ( append @ A @ Xs @ ( cons @ A @ X @ ( nil @ A ) ) ) )
% 0.28/0.47        = ( suc @ ( size_size @ ( list @ A ) @ Xs ) ) ) ).
% 0.28/0.47  
% 0.28/0.47  % length_append_singleton
% 0.28/0.47  thf(fact_195_subset__eq__mset__impl_Ocases,axiom,
% 0.28/0.47      ! [A: $tType,X: product_prod @ ( list @ A ) @ ( list @ A )] :
% 0.28/0.47        ( ! [Ys2: list @ A] :
% 0.28/0.47            ( X
% 0.28/0.47           != ( product_Pair @ ( list @ A ) @ ( list @ A ) @ ( nil @ A ) @ Ys2 ) )
% 0.28/0.47       => ~ ! [X3: A,Xs2: list @ A,Ys2: list @ A] :
% 0.28/0.47              ( X
% 0.28/0.47             != ( product_Pair @ ( list @ A ) @ ( list @ A ) @ ( cons @ A @ X3 @ Xs2 ) @ Ys2 ) ) ) ).
% 0.28/0.47  
% 0.28/0.47  % subset_eq_mset_impl.cases
% 0.28/0.47  thf(fact_196_length__Cons,axiom,
% 0.28/0.47      ! [A: $tType,X: A,Xs: list @ A] :
% 0.28/0.47        ( ( size_size @ ( list @ A ) @ ( cons @ A @ X @ Xs ) )
% 0.28/0.47        = ( suc @ ( size_size @ ( list @ A ) @ Xs ) ) ) ).
% 0.28/0.47  
% 0.28/0.47  % length_Cons
% 0.28/0.47  thf(fact_197_shift__def,axiom,
% 0.28/0.47      ! [B: $tType,A: $tType] :
% 0.28/0.47        ( ( bNF_Greatest_shift @ A @ B )
% 0.28/0.47        = ( ^ [Lab: ( list @ A ) > B,K: A,Kl: list @ A] : ( Lab @ ( cons @ A @ K @ Kl ) ) ) ) ).
% 0.28/0.47  
% 0.28/0.47  % shift_def
% 0.28/0.47  thf(fact_198_Cons__in__lex,axiom,
% 0.28/0.47      ! [A: $tType,X: A,Xs: list @ A,Y: A,Ys: list @ A,R: set @ ( product_prod @ A @ A )] :
% 0.28/0.47        ( ( member2 @ ( product_prod @ ( list @ A ) @ ( list @ A ) ) @ ( product_Pair @ ( list @ A ) @ ( list @ A ) @ ( cons @ A @ X @ Xs ) @ ( cons @ A @ Y @ Ys ) ) @ ( lex @ A @ R ) )
% 0.28/0.47        = ( ( ( member2 @ ( product_prod @ A @ A ) @ ( product_Pair @ A @ A @ X @ Y ) @ R )
% 0.28/0.47            & ( ( size_size @ ( list @ A ) @ Xs )
% 0.28/0.47              = ( size_size @ ( list @ A ) @ Ys ) ) )
% 0.28/0.47          | ( ( X = Y )
% 0.28/0.47            & ( member2 @ ( product_prod @ ( list @ A ) @ ( list @ A ) ) @ ( product_Pair @ ( list @ A ) @ ( list @ A ) @ Xs @ Ys ) @ ( lex @ A @ R ) ) ) ) ) ).
% 0.28/0.47  
% 0.28/0.47  % Cons_in_lex
% 0.28/0.47  thf(fact_199_Nil2__notin__lex,axiom,
% 0.28/0.47      ! [A: $tType,Xs: list @ A,R: set @ ( product_prod @ A @ A )] :
% 0.28/0.47        ~ ( member2 @ ( product_prod @ ( list @ A ) @ ( list @ A ) ) @ ( product_Pair @ ( list @ A ) @ ( list @ A ) @ Xs @ ( nil @ A ) ) @ ( lex @ A @ R ) ) ).
% 0.28/0.47  
% 0.28/0.47  % Nil2_notin_lex
% 0.28/0.47  thf(fact_200_Nil__notin__lex,axiom,
% 0.28/0.47      ! [A: $tType,Ys: list @ A,R: set @ ( product_prod @ A @ A )] :
% 0.28/0.47        ~ ( member2 @ ( product_prod @ ( list @ A ) @ ( list @ A ) ) @ ( product_Pair @ ( list @ A ) @ ( list @ A ) @ ( nil @ A ) @ Ys ) @ ( lex @ A @ R ) ) ).
% 0.28/0.47  
% 0.28/0.47  % Nil_notin_lex
% 0.28/0.47  thf(fact_201_lex__append__leftI,axiom,
% 0.28/0.47      ! [A: $tType,Ys: list @ A,Zs2: list @ A,R: set @ ( product_prod @ A @ A ),Xs: list @ A] :
% 0.28/0.47        ( ( member2 @ ( product_prod @ ( list @ A ) @ ( list @ A ) ) @ ( product_Pair @ ( list @ A ) @ ( list @ A ) @ Ys @ Zs2 ) @ ( lex @ A @ R ) )
% 0.28/0.47       => ( member2 @ ( product_prod @ ( list @ A ) @ ( list @ A ) ) @ ( product_Pair @ ( list @ A ) @ ( list @ A ) @ ( append @ A @ Xs @ Ys ) @ ( append @ A @ Xs @ Zs2 ) ) @ ( lex @ A @ R ) ) ) ).
% 0.28/0.47  
% 0.28/0.47  % lex_append_leftI
% 0.28/0.47  thf(fact_202_lex__append__left__iff,axiom,
% 0.28/0.47      ! [A: $tType,R: set @ ( product_prod @ A @ A ),Xs: list @ A,Ys: list @ A,Zs2: list @ A] :
% 0.28/0.47        ( ! [X3: A] :
% 0.28/0.47            ~ ( member2 @ ( product_prod @ A @ A ) @ ( product_Pair @ A @ A @ X3 @ X3 ) @ R )
% 0.28/0.47       => ( ( member2 @ ( product_prod @ ( list @ A ) @ ( list @ A ) ) @ ( product_Pair @ ( list @ A ) @ ( list @ A ) @ ( append @ A @ Xs @ Ys ) @ ( append @ A @ Xs @ Zs2 ) ) @ ( lex @ A @ R ) )
% 0.28/0.47          = ( member2 @ ( product_prod @ ( list @ A ) @ ( list @ A ) ) @ ( product_Pair @ ( list @ A ) @ ( list @ A ) @ Ys @ Zs2 ) @ ( lex @ A @ R ) ) ) ) ).
% 0.28/0.47  
% 0.28/0.47  % lex_append_left_iff
% 0.28/0.47  thf(fact_203_lex__append__leftD,axiom,
% 0.28/0.47      ! [A: $tType,R: set @ ( product_prod @ A @ A ),Xs: list @ A,Ys: list @ A,Zs2: list @ A] :
% 0.28/0.47        ( ! [X3: A] :
% 0.28/0.47            ~ ( member2 @ ( product_prod @ A @ A ) @ ( product_Pair @ A @ A @ X3 @ X3 ) @ R )
% 0.28/0.47       => ( ( member2 @ ( product_prod @ ( list @ A ) @ ( list @ A ) ) @ ( product_Pair @ ( list @ A ) @ ( list @ A ) @ ( append @ A @ Xs @ Ys ) @ ( append @ A @ Xs @ Zs2 ) ) @ ( lex @ A @ R ) )
% 0.28/0.47         => ( member2 @ ( product_prod @ ( list @ A ) @ ( list @ A ) ) @ ( product_Pair @ ( list @ A ) @ ( list @ A ) @ Ys @ Zs2 ) @ ( lex @ A @ R ) ) ) ) ).
% 0.28/0.47  
% 0.28/0.47  % lex_append_leftD
% 0.28/0.47  thf(fact_204_lex__append__rightI,axiom,
% 0.28/0.47      ! [A: $tType,Xs: list @ A,Ys: list @ A,R: set @ ( product_prod @ A @ A ),Vs: list @ A,Us: list @ A] :
% 0.28/0.47        ( ( member2 @ ( product_prod @ ( list @ A ) @ ( list @ A ) ) @ ( product_Pair @ ( list @ A ) @ ( list @ A ) @ Xs @ Ys ) @ ( lex @ A @ R ) )
% 0.28/0.47       => ( ( ( size_size @ ( list @ A ) @ Vs )
% 0.28/0.47            = ( size_size @ ( list @ A ) @ Us ) )
% 0.28/0.47         => ( member2 @ ( product_prod @ ( list @ A ) @ ( list @ A ) ) @ ( product_Pair @ ( list @ A ) @ ( list @ A ) @ ( append @ A @ Xs @ Us ) @ ( append @ A @ Ys @ Vs ) ) @ ( lex @ A @ R ) ) ) ) ).
% 0.28/0.47  
% 0.28/0.47  % lex_append_rightI
% 0.28/0.47  thf(fact_205_SuccD,axiom,
% 0.28/0.47      ! [A: $tType,K2: A,Kl2: set @ ( list @ A ),Kl3: list @ A] :
% 0.28/0.47        ( ( member2 @ A @ K2 @ ( bNF_Greatest_Succ @ A @ Kl2 @ Kl3 ) )
% 0.28/0.47       => ( member2 @ ( list @ A ) @ ( append @ A @ Kl3 @ ( cons @ A @ K2 @ ( nil @ A ) ) ) @ Kl2 ) ) ).
% 0.28/0.47  
% 0.28/0.47  % SuccD
% 0.28/0.47  thf(fact_206_SuccI,axiom,
% 0.28/0.47      ! [A: $tType,Kl3: list @ A,K2: A,Kl2: set @ ( list @ A )] :
% 0.28/0.47        ( ( member2 @ ( list @ A ) @ ( append @ A @ Kl3 @ ( cons @ A @ K2 @ ( nil @ A ) ) ) @ Kl2 )
% 0.28/0.47       => ( member2 @ A @ K2 @ ( bNF_Greatest_Succ @ A @ Kl2 @ Kl3 ) ) ) ).
% 0.28/0.47  
% 0.28/0.47  % SuccI
% 0.28/0.47  thf(fact_207_empty__Shift,axiom,
% 0.28/0.47      ! [A: $tType,Kl2: set @ ( list @ A ),K2: A] :
% 0.28/0.47        ( ( member2 @ ( list @ A ) @ ( nil @ A ) @ Kl2 )
% 0.28/0.47       => ( ( member2 @ A @ K2 @ ( bNF_Greatest_Succ @ A @ Kl2 @ ( nil @ A ) ) )
% 0.28/0.47         => ( member2 @ ( list @ A ) @ ( nil @ A ) @ ( bNF_Greatest_Shift @ A @ Kl2 @ K2 ) ) ) ) ).
% 0.28/0.47  
% 0.28/0.47  % empty_Shift
% 0.28/0.47  thf(fact_208_Succ__Shift,axiom,
% 0.28/0.47      ! [A: $tType,Kl2: set @ ( list @ A ),K2: A,Kl3: list @ A] :
% 0.28/0.47        ( ( bNF_Greatest_Succ @ A @ ( bNF_Greatest_Shift @ A @ Kl2 @ K2 ) @ Kl3 )
% 0.28/0.47        = ( bNF_Greatest_Succ @ A @ Kl2 @ ( cons @ A @ K2 @ Kl3 ) ) ) ).
% 0.28/0.47  
% 0.28/0.47  % Succ_Shift
% 0.28/0.47  thf(fact_209_ShiftD,axiom,
% 0.28/0.47      ! [A: $tType,Kl3: list @ A,Kl2: set @ ( list @ A ),K2: A] :
% 0.28/0.47        ( ( member2 @ ( list @ A ) @ Kl3 @ ( bNF_Greatest_Shift @ A @ Kl2 @ K2 ) )
% 0.28/0.47       => ( member2 @ ( list @ A ) @ ( cons @ A @ K2 @ Kl3 ) @ Kl2 ) ) ).
% 0.28/0.47  
% 0.28/0.47  % ShiftD
% 0.28/0.47  thf(fact_210_length__product,axiom,
% 0.28/0.47      ! [A: $tType,B: $tType,Xs: list @ A,Ys: list @ B] :
% 0.28/0.47        ( ( size_size @ ( list @ ( product_prod @ A @ B ) ) @ ( product @ A @ B @ Xs @ Ys ) )
% 0.28/0.47        = ( times_times @ nat @ ( size_size @ ( list @ A ) @ Xs ) @ ( size_size @ ( list @ B ) @ Ys ) ) ) ).
% 0.28/0.47  
% 0.28/0.47  % length_product
% 0.28/0.47  thf(fact_211_part__code_I1_J,axiom,
% 0.28/0.47      ! [A: $tType,B: $tType] :
% 0.28/0.47        ( ( linorder @ A )
% 0.28/0.47       => ! [F: B > A,Pivot: A] :
% 0.28/0.47            ( ( linorder_part @ B @ A @ F @ Pivot @ ( nil @ B ) )
% 0.28/0.47            = ( product_Pair @ ( list @ B ) @ ( product_prod @ ( list @ B ) @ ( list @ B ) ) @ ( nil @ B ) @ ( product_Pair @ ( list @ B ) @ ( list @ B ) @ ( nil @ B ) @ ( nil @ B ) ) ) ) ) ).
% 0.28/0.47  
% 0.28/0.47  % part_code(1)
% 0.28/0.47  thf(fact_212_Suc__mult__cancel1,axiom,
% 0.28/0.47      ! [K2: nat,M: nat,N: nat] :
% 0.28/0.47        ( ( ( times_times @ nat @ ( suc @ K2 ) @ M )
% 0.28/0.47          = ( times_times @ nat @ ( suc @ K2 ) @ N ) )
% 0.28/0.47        = ( M = N ) ) ).
% 0.28/0.47  
% 0.28/0.47  % Suc_mult_cancel1
% 0.28/0.47  thf(fact_213_lexord__append__left__rightI,axiom,
% 0.28/0.47      ! [A: $tType,A3: A,B2: A,R: set @ ( product_prod @ A @ A ),U: list @ A,X: list @ A,Y: list @ A] :
% 0.28/0.47        ( ( member2 @ ( product_prod @ A @ A ) @ ( product_Pair @ A @ A @ A3 @ B2 ) @ R )
% 0.28/0.47       => ( member2 @ ( product_prod @ ( list @ A ) @ ( list @ A ) ) @ ( product_Pair @ ( list @ A ) @ ( list @ A ) @ ( append @ A @ U @ ( cons @ A @ A3 @ X ) ) @ ( append @ A @ U @ ( cons @ A @ B2 @ Y ) ) ) @ ( lexord @ A @ R ) ) ) ).
% 0.28/0.47  
% 0.28/0.47  % lexord_append_left_rightI
% 0.28/0.47  thf(fact_214_listrel_Oinducts,axiom,
% 0.28/0.47      ! [A: $tType,B: $tType,X1: list @ A,X2: list @ B,R: set @ ( product_prod @ A @ B ),P3: ( list @ A ) > ( list @ B ) > $o] :
% 0.28/0.47        ( ( member2 @ ( product_prod @ ( list @ A ) @ ( list @ B ) ) @ ( product_Pair @ ( list @ A ) @ ( list @ B ) @ X1 @ X2 ) @ ( listrel @ A @ B @ R ) )
% 0.28/0.47       => ( ( P3 @ ( nil @ A ) @ ( nil @ B ) )
% 0.28/0.47         => ( ! [X3: A,Y2: B,Xs2: list @ A,Ys2: list @ B] :
% 0.28/0.47                ( ( member2 @ ( product_prod @ A @ B ) @ ( product_Pair @ A @ B @ X3 @ Y2 ) @ R )
% 0.28/0.47               => ( ( member2 @ ( product_prod @ ( list @ A ) @ ( list @ B ) ) @ ( product_Pair @ ( list @ A ) @ ( list @ B ) @ Xs2 @ Ys2 ) @ ( listrel @ A @ B @ R ) )
% 0.28/0.47                 => ( ( P3 @ Xs2 @ Ys2 )
% 0.28/0.47                   => ( P3 @ ( cons @ A @ X3 @ Xs2 ) @ ( cons @ B @ Y2 @ Ys2 ) ) ) ) )
% 0.28/0.47           => ( P3 @ X1 @ X2 ) ) ) ) ).
% 0.28/0.47  
% 0.28/0.47  % listrel.inducts
% 0.28/0.47  thf(fact_215_lexord__cons__cons,axiom,
% 0.28/0.47      ! [A: $tType,A3: A,X: list @ A,B2: A,Y: list @ A,R: set @ ( product_prod @ A @ A )] :
% 0.28/0.47        ( ( member2 @ ( product_prod @ ( list @ A ) @ ( list @ A ) ) @ ( product_Pair @ ( list @ A ) @ ( list @ A ) @ ( cons @ A @ A3 @ X ) @ ( cons @ A @ B2 @ Y ) ) @ ( lexord @ A @ R ) )
% 0.28/0.47        = ( ( member2 @ ( product_prod @ A @ A ) @ ( product_Pair @ A @ A @ A3 @ B2 ) @ R )
% 0.28/0.47          | ( ( A3 = B2 )
% 0.28/0.47            & ( member2 @ ( product_prod @ ( list @ A ) @ ( list @ A ) ) @ ( product_Pair @ ( list @ A ) @ ( list @ A ) @ X @ Y ) @ ( lexord @ A @ R ) ) ) ) ) ).
% 0.28/0.47  
% 0.28/0.47  % lexord_cons_cons
% 0.28/0.47  thf(fact_216_lexord__Nil__left,axiom,
% 0.28/0.47      ! [A: $tType,Y: list @ A,R: set @ ( product_prod @ A @ A )] :
% 0.28/0.47        ( ( member2 @ ( product_prod @ ( list @ A ) @ ( list @ A ) ) @ ( product_Pair @ ( list @ A ) @ ( list @ A ) @ ( nil @ A ) @ Y ) @ ( lexord @ A @ R ) )
% 0.28/0.47        = ( ? [A5: A,X4: list @ A] :
% 0.28/0.47              ( Y
% 0.28/0.47              = ( cons @ A @ A5 @ X4 ) ) ) ) ).
% 0.28/0.47  
% 0.28/0.47  % lexord_Nil_left
% 0.28/0.47  thf(fact_217_lexord__append__leftI,axiom,
% 0.28/0.47      ! [A: $tType,U: list @ A,V2: list @ A,R: set @ ( product_prod @ A @ A ),X: list @ A] :
% 0.28/0.47        ( ( member2 @ ( product_prod @ ( list @ A ) @ ( list @ A ) ) @ ( product_Pair @ ( list @ A ) @ ( list @ A ) @ U @ V2 ) @ ( lexord @ A @ R ) )
% 0.28/0.47       => ( member2 @ ( product_prod @ ( list @ A ) @ ( list @ A ) ) @ ( product_Pair @ ( list @ A ) @ ( list @ A ) @ ( append @ A @ X @ U ) @ ( append @ A @ X @ V2 ) ) @ ( lexord @ A @ R ) ) ) ).
% 0.28/0.47  
% 0.28/0.47  % lexord_append_leftI
% 0.28/0.47  thf(fact_218_lexord__Nil__right,axiom,
% 0.28/0.47      ! [A: $tType,X: list @ A,R: set @ ( product_prod @ A @ A )] :
% 0.28/0.47        ~ ( member2 @ ( product_prod @ ( list @ A ) @ ( list @ A ) ) @ ( product_Pair @ ( list @ A ) @ ( list @ A ) @ X @ ( nil @ A ) ) @ ( lexord @ A @ R ) ) ).
% 0.28/0.47  
% 0.28/0.47  % lexord_Nil_right
% 0.28/0.47  thf(fact_219_listrel__eq__len,axiom,
% 0.28/0.47      ! [A: $tType,B: $tType,Xs: list @ A,Ys: list @ B,R: set @ ( product_prod @ A @ B )] :
% 0.28/0.47        ( ( member2 @ ( product_prod @ ( list @ A ) @ ( list @ B ) ) @ ( product_Pair @ ( list @ A ) @ ( list @ B ) @ Xs @ Ys ) @ ( listrel @ A @ B @ R ) )
% 0.28/0.47       => ( ( size_size @ ( list @ A ) @ Xs )
% 0.28/0.47          = ( size_size @ ( list @ B ) @ Ys ) ) ) ).
% 0.28/0.47  
% 0.28/0.47  % listrel_eq_len
% 0.28/0.47  thf(fact_220_listrel__Nil2,axiom,
% 0.28/0.47      ! [B: $tType,A: $tType,Xs: list @ A,R: set @ ( product_prod @ A @ B )] :
% 0.28/0.47        ( ( member2 @ ( product_prod @ ( list @ A ) @ ( list @ B ) ) @ ( product_Pair @ ( list @ A ) @ ( list @ B ) @ Xs @ ( nil @ B ) ) @ ( listrel @ A @ B @ R ) )
% 0.28/0.47       => ( Xs
% 0.28/0.47          = ( nil @ A ) ) ) ).
% 0.28/0.47  
% 0.28/0.47  % listrel_Nil2
% 0.28/0.47  thf(fact_221_listrel__Nil1,axiom,
% 0.28/0.47      ! [A: $tType,B: $tType,Xs: list @ B,R: set @ ( product_prod @ A @ B )] :
% 0.28/0.47        ( ( member2 @ ( product_prod @ ( list @ A ) @ ( list @ B ) ) @ ( product_Pair @ ( list @ A ) @ ( list @ B ) @ ( nil @ A ) @ Xs ) @ ( listrel @ A @ B @ R ) )
% 0.28/0.47       => ( Xs
% 0.28/0.47          = ( nil @ B ) ) ) ).
% 0.28/0.47  
% 0.28/0.47  % listrel_Nil1
% 0.28/0.47  thf(fact_222_listrel_ONil,axiom,
% 0.28/0.47      ! [B: $tType,A: $tType,R: set @ ( product_prod @ A @ B )] : ( member2 @ ( product_prod @ ( list @ A ) @ ( list @ B ) ) @ ( product_Pair @ ( list @ A ) @ ( list @ B ) @ ( nil @ A ) @ ( nil @ B ) ) @ ( listrel @ A @ B @ R ) ) ).
% 0.28/0.47  
% 0.28/0.47  % listrel.Nil
% 0.28/0.47  thf(fact_223_lexord__linear,axiom,
% 0.28/0.47      ! [A: $tType,R: set @ ( product_prod @ A @ A ),X: list @ A,Y: list @ A] :
% 0.28/0.47        ( ! [A2: A,B3: A] :
% 0.28/0.47            ( ( member2 @ ( product_prod @ A @ A ) @ ( product_Pair @ A @ A @ A2 @ B3 ) @ R )
% 0.28/0.47            | ( A2 = B3 )
% 0.28/0.47            | ( member2 @ ( product_prod @ A @ A ) @ ( product_Pair @ A @ A @ B3 @ A2 ) @ R ) )
% 0.28/0.47       => ( ( member2 @ ( product_prod @ ( list @ A ) @ ( list @ A ) ) @ ( product_Pair @ ( list @ A ) @ ( list @ A ) @ X @ Y ) @ ( lexord @ A @ R ) )
% 0.28/0.47          | ( X = Y )
% 0.28/0.47          | ( member2 @ ( product_prod @ ( list @ A ) @ ( list @ A ) ) @ ( product_Pair @ ( list @ A ) @ ( list @ A ) @ Y @ X ) @ ( lexord @ A @ R ) ) ) ) ).
% 0.28/0.47  
% 0.28/0.47  % lexord_linear
% 0.28/0.47  thf(fact_224_lexord__irreflexive,axiom,
% 0.28/0.47      ! [A: $tType,R: set @ ( product_prod @ A @ A ),Xs: list @ A] :
% 0.28/0.47        ( ! [X3: A] :
% 0.28/0.47            ~ ( member2 @ ( product_prod @ A @ A ) @ ( product_Pair @ A @ A @ X3 @ X3 ) @ R )
% 0.28/0.47       => ~ ( member2 @ ( product_prod @ ( list @ A ) @ ( list @ A ) ) @ ( product_Pair @ ( list @ A ) @ ( list @ A ) @ Xs @ Xs ) @ ( lexord @ A @ R ) ) ) ).
% 0.28/0.47  
% 0.28/0.47  % lexord_irreflexive
% 0.28/0.47  thf(fact_225_listrel__Cons2,axiom,
% 0.28/0.47      ! [B: $tType,A: $tType,Xs: list @ A,Y: B,Ys: list @ B,R: set @ ( product_prod @ A @ B )] :
% 0.28/0.47        ( ( member2 @ ( product_prod @ ( list @ A ) @ ( list @ B ) ) @ ( product_Pair @ ( list @ A ) @ ( list @ B ) @ Xs @ ( cons @ B @ Y @ Ys ) ) @ ( listrel @ A @ B @ R ) )
% 0.28/0.47       => ~ ! [X3: A,Xs2: list @ A] :
% 0.28/0.47              ( ( Xs
% 0.28/0.47                = ( cons @ A @ X3 @ Xs2 ) )
% 0.28/0.47             => ( ( member2 @ ( product_prod @ A @ B ) @ ( product_Pair @ A @ B @ X3 @ Y ) @ R )
% 0.28/0.47               => ~ ( member2 @ ( product_prod @ ( list @ A ) @ ( list @ B ) ) @ ( product_Pair @ ( list @ A ) @ ( list @ B ) @ Xs2 @ Ys ) @ ( listrel @ A @ B @ R ) ) ) ) ) ).
% 0.28/0.47  
% 0.28/0.47  % listrel_Cons2
% 0.28/0.47  thf(fact_226_listrel__Cons1,axiom,
% 0.28/0.47      ! [B: $tType,A: $tType,Y: A,Ys: list @ A,Xs: list @ B,R: set @ ( product_prod @ A @ B )] :
% 0.28/0.47        ( ( member2 @ ( product_prod @ ( list @ A ) @ ( list @ B ) ) @ ( product_Pair @ ( list @ A ) @ ( list @ B ) @ ( cons @ A @ Y @ Ys ) @ Xs ) @ ( listrel @ A @ B @ R ) )
% 0.28/0.47       => ~ ! [Y2: B,Ys2: list @ B] :
% 0.28/0.47              ( ( Xs
% 0.28/0.47                = ( cons @ B @ Y2 @ Ys2 ) )
% 0.28/0.47             => ( ( member2 @ ( product_prod @ A @ B ) @ ( product_Pair @ A @ B @ Y @ Y2 ) @ R )
% 0.28/0.47               => ~ ( member2 @ ( product_prod @ ( list @ A ) @ ( list @ B ) ) @ ( product_Pair @ ( list @ A ) @ ( list @ B ) @ Ys @ Ys2 ) @ ( listrel @ A @ B @ R ) ) ) ) ) ).
% 0.28/0.47  
% 0.28/0.47  % listrel_Cons1
% 0.28/0.47  thf(fact_227_listrel_OCons,axiom,
% 0.28/0.47      ! [B: $tType,A: $tType,X: A,Y: B,R: set @ ( product_prod @ A @ B ),Xs: list @ A,Ys: list @ B] :
% 0.28/0.47        ( ( member2 @ ( product_prod @ A @ B ) @ ( product_Pair @ A @ B @ X @ Y ) @ R )
% 0.28/0.47       => ( ( member2 @ ( product_prod @ ( list @ A ) @ ( list @ B ) ) @ ( product_Pair @ ( list @ A ) @ ( list @ B ) @ Xs @ Ys ) @ ( listrel @ A @ B @ R ) )
% 0.28/0.47         => ( member2 @ ( product_prod @ ( list @ A ) @ ( list @ B ) ) @ ( product_Pair @ ( list @ A ) @ ( list @ B ) @ ( cons @ A @ X @ Xs ) @ ( cons @ B @ Y @ Ys ) ) @ ( listrel @ A @ B @ R ) ) ) ) ).
% 0.28/0.47  
% 0.28/0.47  % listrel.Cons
% 0.28/0.47  thf(fact_228_lexord__append__leftD,axiom,
% 0.28/0.47      ! [A: $tType,X: list @ A,U: list @ A,V2: list @ A,R: set @ ( product_prod @ A @ A )] :
% 0.28/0.47        ( ( member2 @ ( product_prod @ ( list @ A ) @ ( list @ A ) ) @ ( product_Pair @ ( list @ A ) @ ( list @ A ) @ ( append @ A @ X @ U ) @ ( append @ A @ X @ V2 ) ) @ ( lexord @ A @ R ) )
% 0.28/0.47       => ( ! [A2: A] :
% 0.28/0.47              ~ ( member2 @ ( product_prod @ A @ A ) @ ( product_Pair @ A @ A @ A2 @ A2 ) @ R )
% 0.28/0.47         => ( member2 @ ( product_prod @ ( list @ A ) @ ( list @ A ) ) @ ( product_Pair @ ( list @ A ) @ ( list @ A ) @ U @ V2 ) @ ( lexord @ A @ R ) ) ) ) ).
% 0.28/0.47  
% 0.28/0.47  % lexord_append_leftD
% 0.28/0.47  thf(fact_229_lexord__append__rightI,axiom,
% 0.28/0.47      ! [A: $tType,Y: list @ A,X: list @ A,R: set @ ( product_prod @ A @ A )] :
% 0.28/0.47        ( ? [B4: A,Z2: list @ A] :
% 0.28/0.47            ( Y
% 0.28/0.47            = ( cons @ A @ B4 @ Z2 ) )
% 0.28/0.47       => ( member2 @ ( product_prod @ ( list @ A ) @ ( list @ A ) ) @ ( product_Pair @ ( list @ A ) @ ( list @ A ) @ X @ ( append @ A @ X @ Y ) ) @ ( lexord @ A @ R ) ) ) ).
% 0.28/0.47  
% 0.28/0.47  % lexord_append_rightI
% 0.28/0.47  thf(fact_230_lexord__sufE,axiom,
% 0.28/0.47      ! [A: $tType,Xs: list @ A,Zs2: list @ A,Ys: list @ A,Qs: list @ A,R: set @ ( product_prod @ A @ A )] :
% 0.28/0.47        ( ( member2 @ ( product_prod @ ( list @ A ) @ ( list @ A ) ) @ ( product_Pair @ ( list @ A ) @ ( list @ A ) @ ( append @ A @ Xs @ Zs2 ) @ ( append @ A @ Ys @ Qs ) ) @ ( lexord @ A @ R ) )
% 0.28/0.47       => ( ( Xs != Ys )
% 0.28/0.47         => ( ( ( size_size @ ( list @ A ) @ Xs )
% 0.28/0.47              = ( size_size @ ( list @ A ) @ Ys ) )
% 0.28/0.47           => ( ( ( size_size @ ( list @ A ) @ Zs2 )
% 0.28/0.47                = ( size_size @ ( list @ A ) @ Qs ) )
% 0.28/0.47             => ( member2 @ ( product_prod @ ( list @ A ) @ ( list @ A ) ) @ ( product_Pair @ ( list @ A ) @ ( list @ A ) @ Xs @ Ys ) @ ( lexord @ A @ R ) ) ) ) ) ) ).
% 0.28/0.47  
% 0.28/0.47  % lexord_sufE
% 0.28/0.47  thf(fact_231_lexord__lex,axiom,
% 0.28/0.47      ! [A: $tType,X: list @ A,Y: list @ A,R: set @ ( product_prod @ A @ A )] :
% 0.28/0.47        ( ( member2 @ ( product_prod @ ( list @ A ) @ ( list @ A ) ) @ ( product_Pair @ ( list @ A ) @ ( list @ A ) @ X @ Y ) @ ( lex @ A @ R ) )
% 0.28/0.47        = ( ( member2 @ ( product_prod @ ( list @ A ) @ ( list @ A ) ) @ ( product_Pair @ ( list @ A ) @ ( list @ A ) @ X @ Y ) @ ( lexord @ A @ R ) )
% 0.28/0.47          & ( ( size_size @ ( list @ A ) @ X )
% 0.28/0.47            = ( size_size @ ( list @ A ) @ Y ) ) ) ) ).
% 0.28/0.47  
% 0.28/0.47  % lexord_lex
% 0.28/0.47  thf(fact_232_listrel_Ocases,axiom,
% 0.28/0.47      ! [B: $tType,A: $tType,A12: list @ A,A23: list @ B,R: set @ ( product_prod @ A @ B )] :
% 0.28/0.47        ( ( member2 @ ( product_prod @ ( list @ A ) @ ( list @ B ) ) @ ( product_Pair @ ( list @ A ) @ ( list @ B ) @ A12 @ A23 ) @ ( listrel @ A @ B @ R ) )
% 0.28/0.47       => ( ( ( A12
% 0.28/0.47              = ( nil @ A ) )
% 0.28/0.47           => ( A23
% 0.28/0.47             != ( nil @ B ) ) )
% 0.28/0.47         => ~ ! [X3: A,Y2: B,Xs2: list @ A] :
% 0.28/0.47                ( ( A12
% 0.28/0.47                  = ( cons @ A @ X3 @ Xs2 ) )
% 0.28/0.47               => ! [Ys2: list @ B] :
% 0.28/0.47                    ( ( A23
% 0.28/0.47                      = ( cons @ B @ Y2 @ Ys2 ) )
% 0.28/0.47                   => ( ( member2 @ ( product_prod @ A @ B ) @ ( product_Pair @ A @ B @ X3 @ Y2 ) @ R )
% 0.28/0.47                     => ~ ( member2 @ ( product_prod @ ( list @ A ) @ ( list @ B ) ) @ ( product_Pair @ ( list @ A ) @ ( list @ B ) @ Xs2 @ Ys2 ) @ ( listrel @ A @ B @ R ) ) ) ) ) ) ) ).
% 0.28/0.47  
% 0.28/0.47  % listrel.cases
% 0.28/0.47  thf(fact_233_listrel_Osimps,axiom,
% 0.28/0.47      ! [B: $tType,A: $tType,A12: list @ A,A23: list @ B,R: set @ ( product_prod @ A @ B )] :
% 0.28/0.47        ( ( member2 @ ( product_prod @ ( list @ A ) @ ( list @ B ) ) @ ( product_Pair @ ( list @ A ) @ ( list @ B ) @ A12 @ A23 ) @ ( listrel @ A @ B @ R ) )
% 0.28/0.47        = ( ( ( A12
% 0.28/0.47              = ( nil @ A ) )
% 0.28/0.47            & ( A23
% 0.28/0.47              = ( nil @ B ) ) )
% 0.28/0.47          | ? [X4: A,Y3: B,Xs3: list @ A,Ys3: list @ B] :
% 0.28/0.47              ( ( A12
% 0.28/0.47                = ( cons @ A @ X4 @ Xs3 ) )
% 0.28/0.47              & ( A23
% 0.28/0.47                = ( cons @ B @ Y3 @ Ys3 ) )
% 0.28/0.47              & ( member2 @ ( product_prod @ A @ B ) @ ( product_Pair @ A @ B @ X4 @ Y3 ) @ R )
% 0.28/0.47              & ( member2 @ ( product_prod @ ( list @ A ) @ ( list @ B ) ) @ ( product_Pair @ ( list @ A ) @ ( list @ B ) @ Xs3 @ Ys3 ) @ ( listrel @ A @ B @ R ) ) ) ) ) ).
% 0.28/0.47  
% 0.28/0.47  % listrel.simps
% 0.28/0.47  thf(fact_234_lexord__same__pref__if__irrefl,axiom,
% 0.28/0.47      ! [A: $tType,R: set @ ( product_prod @ A @ A ),Xs: list @ A,Ys: list @ A,Zs2: list @ A] :
% 0.28/0.47        ( ( irrefl @ A @ R )
% 0.28/0.47       => ( ( member2 @ ( product_prod @ ( list @ A ) @ ( list @ A ) ) @ ( product_Pair @ ( list @ A ) @ ( list @ A ) @ ( append @ A @ Xs @ Ys ) @ ( append @ A @ Xs @ Zs2 ) ) @ ( lexord @ A @ R ) )
% 0.28/0.47          = ( member2 @ ( product_prod @ ( list @ A ) @ ( list @ A ) ) @ ( product_Pair @ ( list @ A ) @ ( list @ A ) @ Ys @ Zs2 ) @ ( lexord @ A @ R ) ) ) ) ).
% 0.28/0.47  
% 0.28/0.47  % lexord_same_pref_if_irrefl
% 0.28/0.47  thf(fact_235_map__tailrec__rev_Opelims,axiom,
% 0.28/0.47      ! [A: $tType,B: $tType,X: A > B,Xa: list @ A,Xb: list @ B,Y: list @ B] :
% 0.28/0.47        ( ( ( map_tailrec_rev @ A @ B @ X @ Xa @ Xb )
% 0.28/0.47          = Y )
% 0.28/0.47       => ( ( accp @ ( product_prod @ ( A > B ) @ ( product_prod @ ( list @ A ) @ ( list @ B ) ) ) @ ( map_tailrec_rev_rel @ A @ B ) @ ( product_Pair @ ( A > B ) @ ( product_prod @ ( list @ A ) @ ( list @ B ) ) @ X @ ( product_Pair @ ( list @ A ) @ ( list @ B ) @ Xa @ Xb ) ) )
% 0.28/0.47         => ( ( ( Xa
% 0.28/0.47                = ( nil @ A ) )
% 0.28/0.47             => ( ( Y = Xb )
% 0.28/0.47               => ~ ( accp @ ( product_prod @ ( A > B ) @ ( product_prod @ ( list @ A ) @ ( list @ B ) ) ) @ ( map_tailrec_rev_rel @ A @ B ) @ ( product_Pair @ ( A > B ) @ ( product_prod @ ( list @ A ) @ ( list @ B ) ) @ X @ ( product_Pair @ ( list @ A ) @ ( list @ B ) @ ( nil @ A ) @ Xb ) ) ) ) )
% 0.28/0.47           => ~ ! [A2: A,As: list @ A] :
% 0.28/0.47                  ( ( Xa
% 0.28/0.47                    = ( cons @ A @ A2 @ As ) )
% 0.28/0.47                 => ( ( Y
% 0.28/0.47                      = ( map_tailrec_rev @ A @ B @ X @ As @ ( cons @ B @ ( X @ A2 ) @ Xb ) ) )
% 0.28/0.47                   => ~ ( accp @ ( product_prod @ ( A > B ) @ ( product_prod @ ( list @ A ) @ ( list @ B ) ) ) @ ( map_tailrec_rev_rel @ A @ B ) @ ( product_Pair @ ( A > B ) @ ( product_prod @ ( list @ A ) @ ( list @ B ) ) @ X @ ( product_Pair @ ( list @ A ) @ ( list @ B ) @ ( cons @ A @ A2 @ As ) @ Xb ) ) ) ) ) ) ) ) ).
% 0.28/0.47  
% 0.28/0.47  % map_tailrec_rev.pelims
% 0.28/0.47  thf(fact_236_lexord__irrefl,axiom,
% 0.28/0.47      ! [A: $tType,R3: set @ ( product_prod @ A @ A )] :
% 0.28/0.47        ( ( irrefl @ A @ R3 )
% 0.28/0.47       => ( irrefl @ ( list @ A ) @ ( lexord @ A @ R3 ) ) ) ).
% 0.28/0.47  
% 0.28/0.47  % lexord_irrefl
% 0.28/0.47  thf(fact_237_irrefl__lex,axiom,
% 0.28/0.47      ! [A: $tType,R: set @ ( product_prod @ A @ A )] :
% 0.28/0.47        ( ( irrefl @ A @ R )
% 0.28/0.47       => ( irrefl @ ( list @ A ) @ ( lex @ A @ R ) ) ) ).
% 0.28/0.47  
% 0.28/0.47  % irrefl_lex
% 0.28/0.47  thf(fact_238_lexl__not__refl,axiom,
% 0.28/0.47      ! [A: $tType,R: set @ ( product_prod @ A @ A ),X: list @ A] :
% 0.28/0.47        ( ( irrefl @ A @ R )
% 0.28/0.47       => ~ ( member2 @ ( product_prod @ ( list @ A ) @ ( list @ A ) ) @ ( product_Pair @ ( list @ A ) @ ( list @ A ) @ X @ X ) @ ( lex @ A @ R ) ) ) ).
% 0.28/0.47  
% 0.28/0.47  % lexl_not_refl
% 0.28/0.47  thf(fact_239_lenlex__append2,axiom,
% 0.28/0.47      ! [A: $tType,R3: set @ ( product_prod @ A @ A ),Us: list @ A,Xs: list @ A,Ys: list @ A] :
% 0.28/0.47        ( ( irrefl @ A @ R3 )
% 0.28/0.47       => ( ( member2 @ ( product_prod @ ( list @ A ) @ ( list @ A ) ) @ ( product_Pair @ ( list @ A ) @ ( list @ A ) @ ( append @ A @ Us @ Xs ) @ ( append @ A @ Us @ Ys ) ) @ ( lenlex @ A @ R3 ) )
% 0.28/0.47          = ( member2 @ ( product_prod @ ( list @ A ) @ ( list @ A ) ) @ ( product_Pair @ ( list @ A ) @ ( list @ A ) @ Xs @ Ys ) @ ( lenlex @ A @ R3 ) ) ) ) ).
% 0.28/0.47  
% 0.28/0.47  % lenlex_append2
% 0.28/0.47  thf(fact_240_lenlex__append1,axiom,
% 0.28/0.47      ! [A: $tType,Us: list @ A,Xs: list @ A,R3: set @ ( product_prod @ A @ A ),Vs: list @ A,Ys: list @ A] :
% 0.28/0.47        ( ( member2 @ ( product_prod @ ( list @ A ) @ ( list @ A ) ) @ ( product_Pair @ ( list @ A ) @ ( list @ A ) @ Us @ Xs ) @ ( lenlex @ A @ R3 ) )
% 0.28/0.47       => ( ( ( size_size @ ( list @ A ) @ Vs )
% 0.28/0.47            = ( size_size @ ( list @ A ) @ Ys ) )
% 0.28/0.47         => ( member2 @ ( product_prod @ ( list @ A ) @ ( list @ A ) ) @ ( product_Pair @ ( list @ A ) @ ( list @ A ) @ ( append @ A @ Us @ Vs ) @ ( append @ A @ Xs @ Ys ) ) @ ( lenlex @ A @ R3 ) ) ) ) ).
% 0.28/0.47  
% 0.28/0.47  % lenlex_append1
% 0.28/0.47  thf(fact_241_Nil__lenlex__iff1,axiom,
% 0.28/0.47      ! [A: $tType,Ns: list @ A,R: set @ ( product_prod @ A @ A )] :
% 0.28/0.47        ( ( member2 @ ( product_prod @ ( list @ A ) @ ( list @ A ) ) @ ( product_Pair @ ( list @ A ) @ ( list @ A ) @ ( nil @ A ) @ Ns ) @ ( lenlex @ A @ R ) )
% 0.28/0.47        = ( Ns
% 0.28/0.47         != ( nil @ A ) ) ) ).
% 0.28/0.47  
% 0.28/0.47  % Nil_lenlex_iff1
% 0.28/0.47  thf(fact_242_lenlex__irreflexive,axiom,
% 0.28/0.47      ! [A: $tType,R: set @ ( product_prod @ A @ A ),Xs: list @ A] :
% 0.28/0.47        ( ! [X3: A] :
% 0.28/0.47            ~ ( member2 @ ( product_prod @ A @ A ) @ ( product_Pair @ A @ A @ X3 @ X3 ) @ R )
% 0.28/0.47       => ~ ( member2 @ ( product_prod @ ( list @ A ) @ ( list @ A ) ) @ ( product_Pair @ ( list @ A ) @ ( list @ A ) @ Xs @ Xs ) @ ( lenlex @ A @ R ) ) ) ).
% 0.28/0.47  
% 0.28/0.47  % lenlex_irreflexive
% 0.28/0.47  thf(fact_243_Nil__lenlex__iff2,axiom,
% 0.28/0.47      ! [A: $tType,Ns: list @ A,R: set @ ( product_prod @ A @ A )] :
% 0.28/0.47        ~ ( member2 @ ( product_prod @ ( list @ A ) @ ( list @ A ) ) @ ( product_Pair @ ( list @ A ) @ ( list @ A ) @ Ns @ ( nil @ A ) ) @ ( lenlex @ A @ R ) ) ).
% 0.28/0.47  
% 0.28/0.47  % Nil_lenlex_iff2
% 0.28/0.47  thf(fact_244_Cons__lenlex__iff,axiom,
% 0.28/0.47      ! [A: $tType,M: A,Ms: list @ A,N: A,Ns: list @ A,R: set @ ( product_prod @ A @ A )] :
% 0.28/0.47        ( ( member2 @ ( product_prod @ ( list @ A ) @ ( list @ A ) ) @ ( product_Pair @ ( list @ A ) @ ( list @ A ) @ ( cons @ A @ M @ Ms ) @ ( cons @ A @ N @ Ns ) ) @ ( lenlex @ A @ R ) )
% 0.28/0.47        = ( ( ord_less @ nat @ ( size_size @ ( list @ A ) @ Ms ) @ ( size_size @ ( list @ A ) @ Ns ) )
% 0.28/0.47          | ( ( ( size_size @ ( list @ A ) @ Ms )
% 0.28/0.47              = ( size_size @ ( list @ A ) @ Ns ) )
% 0.28/0.47            & ( member2 @ ( product_prod @ A @ A ) @ ( product_Pair @ A @ A @ M @ N ) @ R ) )
% 0.28/0.47          | ( ( M = N )
% 0.28/0.47            & ( member2 @ ( product_prod @ ( list @ A ) @ ( list @ A ) ) @ ( product_Pair @ ( list @ A ) @ ( list @ A ) @ Ms @ Ns ) @ ( lenlex @ A @ R ) ) ) ) ) ).
% 0.28/0.47  
% 0.28/0.47  % Cons_lenlex_iff
% 0.28/0.47  thf(fact_245_product_Osimps_I2_J,axiom,
% 0.28/0.47      ! [A: $tType,B: $tType,X: A,Xs: list @ A,Ys: list @ B] :
% 0.28/0.47        ( ( product @ A @ B @ ( cons @ A @ X @ Xs ) @ Ys )
% 0.28/0.47        = ( append @ ( product_prod @ A @ B ) @ ( map @ B @ ( product_prod @ A @ B ) @ ( product_Pair @ A @ B @ X ) @ Ys ) @ ( product @ A @ B @ Xs @ Ys ) ) ) ).
% 0.28/0.47  
% 0.28/0.47  % product.simps(2)
% 0.28/0.47  thf(fact_246_Suc__less__eq,axiom,
% 0.28/0.47      ! [M: nat,N: nat] :
% 0.28/0.47        ( ( ord_less @ nat @ ( suc @ M ) @ ( suc @ N ) )
% 0.28/0.47        = ( ord_less @ nat @ M @ N ) ) ).
% 0.28/0.47  
% 0.28/0.47  % Suc_less_eq
% 0.28/0.47  thf(fact_247_Suc__mono,axiom,
% 0.28/0.47      ! [M: nat,N: nat] :
% 0.28/0.47        ( ( ord_less @ nat @ M @ N )
% 0.28/0.47       => ( ord_less @ nat @ ( suc @ M ) @ ( suc @ N ) ) ) ).
% 0.28/0.47  
% 0.28/0.47  % Suc_mono
% 0.28/0.47  thf(fact_248_lessI,axiom,
% 0.28/0.47      ! [N: nat] : ( ord_less @ nat @ N @ ( suc @ N ) ) ).
% 0.28/0.47  
% 0.28/0.47  % lessI
% 0.28/0.47  thf(fact_249_list_Omap__disc__iff,axiom,
% 0.28/0.47      ! [B: $tType,A: $tType,F: A > B,A3: list @ A] :
% 0.28/0.47        ( ( ( map @ A @ B @ F @ A3 )
% 0.28/0.47          = ( nil @ B ) )
% 0.28/0.47        = ( A3
% 0.28/0.47          = ( nil @ A ) ) ) ).
% 0.28/0.47  
% 0.28/0.47  % list.map_disc_iff
% 0.28/0.47  thf(fact_250_map__is__Nil__conv,axiom,
% 0.28/0.47      ! [A: $tType,B: $tType,F: B > A,Xs: list @ B] :
% 0.28/0.47        ( ( ( map @ B @ A @ F @ Xs )
% 0.28/0.47          = ( nil @ A ) )
% 0.28/0.47        = ( Xs
% 0.28/0.47          = ( nil @ B ) ) ) ).
% 0.28/0.47  
% 0.28/0.47  % map_is_Nil_conv
% 0.28/0.47  thf(fact_251_Nil__is__map__conv,axiom,
% 0.28/0.47      ! [A: $tType,B: $tType,F: B > A,Xs: list @ B] :
% 0.28/0.47        ( ( ( nil @ A )
% 0.28/0.47          = ( map @ B @ A @ F @ Xs ) )
% 0.28/0.47        = ( Xs
% 0.28/0.47          = ( nil @ B ) ) ) ).
% 0.28/0.47  
% 0.28/0.47  % Nil_is_map_conv
% 0.28/0.47  thf(fact_252_length__map,axiom,
% 0.28/0.47      ! [A: $tType,B: $tType,F: B > A,Xs: list @ B] :
% 0.28/0.47        ( ( size_size @ ( list @ A ) @ ( map @ B @ A @ F @ Xs ) )
% 0.28/0.47        = ( size_size @ ( list @ B ) @ Xs ) ) ).
% 0.28/0.47  
% 0.28/0.47  % length_map
% 0.28/0.47  thf(fact_253_map__append,axiom,
% 0.28/0.47      ! [A: $tType,B: $tType,F: B > A,Xs: list @ B,Ys: list @ B] :
% 0.28/0.47        ( ( map @ B @ A @ F @ ( append @ B @ Xs @ Ys ) )
% 0.28/0.47        = ( append @ A @ ( map @ B @ A @ F @ Xs ) @ ( map @ B @ A @ F @ Ys ) ) ) ).
% 0.28/0.47  
% 0.28/0.47  % map_append
% 0.28/0.47  
% 0.28/0.47  % Type constructors (31)
% 0.28/0.47  thf(tcon_Polynomial_Opoly___Rings_Ocomm__semiring__0,axiom,
% 0.28/0.47      ! [A6: $tType] :
% 0.28/0.47        ( ( comm_semiring_0 @ A6 )
% 0.28/0.47       => ( comm_semiring_0 @ ( poly @ A6 ) ) ) ).
% 0.28/0.47  
% 0.28/0.47  thf(tcon_Polynomial_Opoly___Rings_Olinordered__idom,axiom,
% 0.28/0.47      ! [A6: $tType] :
% 0.28/0.47        ( ( linordered_idom @ A6 )
% 0.28/0.47       => ( linordered_idom @ ( poly @ A6 ) ) ) ).
% 0.28/0.47  
% 0.28/0.47  thf(tcon_Polynomial_Opoly___Groups_Oab__group__add,axiom,
% 0.28/0.47      ! [A6: $tType] :
% 0.28/0.47        ( ( ab_group_add @ A6 )
% 0.28/0.47       => ( ab_group_add @ ( poly @ A6 ) ) ) ).
% 0.28/0.47  
% 0.28/0.47  thf(tcon_Real_Oreal___Rings_Ocomm__semiring__0_1,axiom,
% 0.28/0.47      comm_semiring_0 @ real ).
% 0.28/0.47  
% 0.28/0.47  thf(tcon_Real_Oreal___Rings_Olinordered__idom_2,axiom,
% 0.28/0.47      linordered_idom @ real ).
% 0.28/0.47  
% 0.28/0.47  thf(tcon_Real_Oreal___Groups_Oab__group__add_3,axiom,
% 0.28/0.47      ab_group_add @ real ).
% 0.28/0.47  
% 0.28/0.47  thf(tcon_Nat_Onat___Rings_Ocomm__semiring__0_4,axiom,
% 0.28/0.47      comm_semiring_0 @ nat ).
% 0.28/0.47  
% 0.28/0.47  thf(tcon_fun___Orderings_Oord,axiom,
% 0.28/0.47      ! [A6: $tType,A7: $tType] :
% 0.28/0.47        ( ( ord @ A7 )
% 0.28/0.47       => ( ord @ ( A6 > A7 ) ) ) ).
% 0.28/0.47  
% 0.28/0.47  thf(tcon_Nat_Onat___Rings_Osemiring__no__zero__divisors,axiom,
% 0.28/0.47      semiri1193490041visors @ nat ).
% 0.28/0.47  
% 0.28/0.47  thf(tcon_Nat_Onat___Groups_Ocomm__monoid__add,axiom,
% 0.28/0.47      comm_monoid_add @ nat ).
% 0.28/0.47  
% 0.28/0.47  thf(tcon_Nat_Onat___Rings_Ocomm__semiring__1,axiom,
% 0.28/0.47      comm_semiring_1 @ nat ).
% 0.28/0.47  
% 0.28/0.47  thf(tcon_Nat_Onat___Orderings_Olinorder,axiom,
% 0.28/0.47      linorder @ nat ).
% 0.28/0.47  
% 0.28/0.47  thf(tcon_Nat_Onat___Orderings_Oord_5,axiom,
% 0.28/0.47      ord @ nat ).
% 0.28/0.47  
% 0.28/0.47  thf(tcon_Nat_Onat___Nat_Osize,axiom,
% 0.28/0.47      size @ nat ).
% 0.28/0.47  
% 0.28/0.47  thf(tcon_Set_Oset___Orderings_Oord_6,axiom,
% 0.28/0.47      ! [A6: $tType] : ( ord @ ( set @ A6 ) ) ).
% 0.28/0.47  
% 0.28/0.47  thf(tcon_HOL_Obool___Orderings_Olinorder_7,axiom,
% 0.28/0.47      linorder @ $o ).
% 0.28/0.47  
% 0.28/0.47  thf(tcon_HOL_Obool___Orderings_Oord_8,axiom,
% 0.28/0.47      ord @ $o ).
% 0.28/0.47  
% 0.28/0.47  thf(tcon_List_Olist___Nat_Osize_9,axiom,
% 0.28/0.47      ! [A6: $tType] : ( size @ ( list @ A6 ) ) ).
% 0.28/0.47  
% 0.28/0.47  thf(tcon_Real_Oreal___Rings_Osemiring__no__zero__divisors_10,axiom,
% 0.28/0.47      semiri1193490041visors @ real ).
% 0.28/0.47  
% 0.28/0.47  thf(tcon_Real_Oreal___Groups_Ocomm__monoid__add_11,axiom,
% 0.28/0.47      comm_monoid_add @ real ).
% 0.28/0.47  
% 0.28/0.47  thf(tcon_Real_Oreal___Rings_Ocomm__semiring__1_12,axiom,
% 0.28/0.47      comm_semiring_1 @ real ).
% 0.28/0.47  
% 0.28/0.47  thf(tcon_Real_Oreal___Orderings_Olinorder_13,axiom,
% 0.28/0.47      linorder @ real ).
% 0.28/0.47  
% 0.28/0.47  thf(tcon_Real_Oreal___Groups_Ogroup__add,axiom,
% 0.28/0.47      group_add @ real ).
% 0.28/0.47  
% 0.28/0.47  thf(tcon_Real_Oreal___Orderings_Oord_14,axiom,
% 0.28/0.47      ord @ real ).
% 0.28/0.47  
% 0.28/0.47  thf(tcon_Polynomial_Opoly___Rings_Osemiring__no__zero__divisors_15,axiom,
% 0.28/0.47      ! [A6: $tType] :
% 0.28/0.47        ( ( ( comm_semiring_0 @ A6 )
% 0.28/0.47          & ( semiri1193490041visors @ A6 ) )
% 0.28/0.47       => ( semiri1193490041visors @ ( poly @ A6 ) ) ) ).
% 0.28/0.47  
% 0.28/0.47  thf(tcon_Polynomial_Opoly___Groups_Ocomm__monoid__add_16,axiom,
% 0.28/0.47      ! [A6: $tType] :
% 0.28/0.47        ( ( comm_monoid_add @ A6 )
% 0.28/0.47       => ( comm_monoid_add @ ( poly @ A6 ) ) ) ).
% 0.28/0.47  
% 0.28/0.47  thf(tcon_Polynomial_Opoly___Rings_Ocomm__semiring__1_17,axiom,
% 0.28/0.47      ! [A6: $tType] :
% 0.28/0.47        ( ( comm_semiring_1 @ A6 )
% 0.28/0.47       => ( comm_semiring_1 @ ( poly @ A6 ) ) ) ).
% 0.28/0.47  
% 0.28/0.47  thf(tcon_Polynomial_Opoly___Orderings_Olinorder_18,axiom,
% 0.28/0.47      ! [A6: $tType] :
% 0.28/0.47        ( ( linordered_idom @ A6 )
% 0.28/0.47       => ( linorder @ ( poly @ A6 ) ) ) ).
% 0.28/0.47  
% 0.28/0.47  thf(tcon_Polynomial_Opoly___Groups_Ogroup__add_19,axiom,
% 0.28/0.47      ! [A6: $tType] :
% 0.28/0.47        ( ( ab_group_add @ A6 )
% 0.28/0.47       => ( group_add @ ( poly @ A6 ) ) ) ).
% 0.28/0.47  
% 0.28/0.47  thf(tcon_Polynomial_Opoly___Orderings_Oord_20,axiom,
% 0.28/0.47      ! [A6: $tType] :
% 0.28/0.47        ( ( linordered_idom @ A6 )
% 0.28/0.47       => ( ord @ ( poly @ A6 ) ) ) ).
% 0.28/0.47  
% 0.28/0.47  thf(tcon_Product__Type_Oprod___Nat_Osize_21,axiom,
% 0.28/0.47      ! [A6: $tType,A7: $tType] : ( size @ ( product_prod @ A6 @ A7 ) ) ).
% 0.28/0.47  
% 0.28/0.47  % Conjectures (1)
% 0.28/0.47  thf(conj_0,conjecture,
% 0.28/0.47      ~ ( sturm_2060350619rm_seq @ ( nil @ ( poly @ real ) ) ) ).
% 0.28/0.47  
% 0.28/0.47  %------------------------------------------------------------------------------
% 0.28/0.47  ------------------------
% 2.86/1.55  ---- Embedded in THF ---
% 2.86/1.55  %%% This output was generated by embedproblem, version 1.9.5 (library version 1.9).
% 2.86/1.55  %%% Generated on Tue Feb 24 08:29:58 EST 2026
% 2.86/1.55  %%% using '$$dhol' embedding, version 1.3.0.
% 2.86/1.55  %%% Logic specification used:
% 2.86/1.55  %%% thf(spec, logic, $$dhol).
% 2.86/1.55  
% 2.86/1.55  % SZS output start ListOfTHF for /export/starexec/sandbox2/tmp/tmp.TZkB8SVW3z/DTF2DTF15763.p
% 2.86/1.55  thf(ty_t_Product__Type_Oprod, type, product_prod: ($tType > ($tType > $tType))).
% 2.86/1.55  thf(ty_t_Polynomial_Opoly, type, poly: ($tType > $tType)).
% 2.86/1.55  thf(ty_t_Option_Ooption, type, option: ($tType > $tType)).
% 2.86/1.55  thf(ty_t_Real_Oreal, type, real: $tType).
% 2.86/1.55  thf(ty_t_List_Olist, type, list: ($tType > $tType)).
% 2.86/1.55  thf(ty_t_Set_Oset, type, set: ($tType > $tType)).
% 2.86/1.55  thf(ty_t_Nat_Onat, type, nat: $tType).
% 2.86/1.55  thf(sy_cl_Groups_Oab__group__add, type, ab_group_add: (!> [A:$tType]: ($o))).
% 2.86/1.55  thf(sy_cl_Rings_Olinordered__idom, type, linordered_idom: (!> [A:$tType]: ($o))).
% 2.86/1.55  thf(sy_cl_Rings_Ocomm__semiring__0, type, comm_semiring_0: (!> [A:$tType]: ($o))).
% 2.86/1.55  thf(sy_cl_HOL_Otype, type, type: (!> [A:$tType]: ($o))).
% 2.86/1.55  thf(sy_cl_Nat_Osize, type, size: (!> [A:$tType]: ($o))).
% 2.86/1.55  thf(sy_cl_Orderings_Oord, type, ord: (!> [A:$tType]: ($o))).
% 2.86/1.55  thf(sy_cl_Groups_Ogroup__add, type, group_add: (!> [A:$tType]: ($o))).
% 2.86/1.55  thf(sy_cl_Orderings_Olinorder, type, linorder: (!> [A:$tType]: ($o))).
% 2.86/1.55  thf(sy_cl_Rings_Ocomm__semiring__1, type, comm_semiring_1: (!> [A:$tType]: ($o))).
% 2.86/1.55  thf(sy_cl_Groups_Ocomm__monoid__add, type, comm_monoid_add: (!> [A:$tType]: ($o))).
% 2.86/1.55  thf(sy_cl_Rings_Osemiring__no__zero__divisors, type, semiri1193490041visors: (!> [A:$tType]: ($o))).
% 2.86/1.55  thf(sy_c_BNF__Greatest__Fixpoint_OShift, type, bNF_Greatest_Shift: (!> [A:$tType]: (((set @ (list @ A)) > (A > (set @ (list @ A))))))).
% 2.86/1.55  thf(sy_c_BNF__Greatest__Fixpoint_OSucc, type, bNF_Greatest_Succ: (!> [A:$tType]: (((set @ (list @ A)) > ((list @ A) > (set @ A)))))).
% 2.86/1.55  thf(sy_c_BNF__Greatest__Fixpoint_Oshift, type, bNF_Greatest_shift: (!> [A:$tType,B:$tType]: ((((list @ A) > B) > (A > ((list @ A) > B)))))).
% 2.86/1.55  thf(sy_c_Groups_Otimes__class_Otimes, type, times_times: (!> [A:$tType]: ((A > (A > A))))).
% 2.86/1.55  thf(sy_c_List_Oappend, type, append: (!> [A:$tType]: (((list @ A) > ((list @ A) > (list @ A)))))).
% 2.86/1.55  thf(sy_c_List_Oarg__min__list, type, arg_min_list: (!> [A:$tType,B:$tType]: (((A > B) > ((list @ A) > A))))).
% 2.86/1.55  thf(sy_c_List_Obind, type, bind: (!> [A:$tType,B:$tType]: (((list @ A) > ((A > (list @ B)) > (list @ B)))))).
% 2.86/1.55  thf(sy_c_List_Obutlast, type, butlast: (!> [A:$tType]: (((list @ A) > (list @ A))))).
% 2.86/1.55  thf(sy_c_List_Oconcat, type, concat: (!> [A:$tType]: (((list @ (list @ A)) > (list @ A))))).
% 2.86/1.55  thf(sy_c_List_Oenumerate, type, enumerate: (!> [A:$tType]: ((nat > ((list @ A) > (list @ ((product_prod @ nat) @ A))))))).
% 2.86/1.55  thf(sy_c_List_Ofoldr, type, foldr: (!> [A:$tType,B:$tType]: (((A > (B > B)) > ((list @ A) > (B > B)))))).
% 2.86/1.55  thf(sy_c_List_Ogen__length, type, gen_length: (!> [A:$tType]: ((nat > ((list @ A) > nat))))).
% 2.86/1.55  thf(sy_c_List_Oinsert, type, insert: (!> [A:$tType]: ((A > ((list @ A) > (list @ A)))))).
% 2.86/1.55  thf(sy_c_List_Olast, type, last: (!> [A:$tType]: (((list @ A) > A)))).
% 2.86/1.55  thf(sy_c_List_Olenlex, type, lenlex: (!> [A:$tType]: (((set @ ((product_prod @ A) @ A)) > (set @ ((product_prod @ (list @ A)) @ (list @ A))))))).
% 2.86/1.55  thf(sy_c_List_Olex, type, lex: (!> [A:$tType]: (((set @ ((product_prod @ A) @ A)) > (set @ ((product_prod @ (list @ A)) @ (list @ A))))))).
% 2.86/1.55  thf(sy_c_List_Olexord, type, lexord: (!> [A:$tType]: (((set @ ((product_prod @ A) @ A)) > (set @ ((product_prod @ (list @ A)) @ (list @ A))))))).
% 2.86/1.55  thf(sy_c_List_Olist_OCons, type, cons: (!> [A:$tType]: ((A > ((list @ A) > (list @ A)))))).
% 2.86/1.55  thf(sy_c_List_Olist_ONil, type, nil: (!> [A:$tType]: ((list @ A)))).
% 2.86/1.55  thf(sy_c_List_Olist_Omap, type, map: (!> [A:$tType,Aa:$tType]: (((A > Aa) > ((list @ A) > (list @ Aa)))))).
% 2.86/1.55  thf(sy_c_List_Olist_Orec__list, type, rec_list: (!> [C:$tType,A:$tType]: ((C > ((A > ((list @ A) > (C > C))) > ((list @ A) > C)))))).
% 2.86/1.55  thf(sy_c_List_Olist__ex, type, list_ex: (!> [A:$tType]: (((A > $o) > ((list @ A) > $o))))).
% 2.86/1.55  thf(sy_c_List_Olist__ex1, type, list_ex1: (!> [A:$tType]: (((A > $o) > ((list @ A) > $o))))).
% 2.86/1.55  thf(sy_c_List_Olistrel, type, listrel: (!> [A:$tType,B:$tType]: (((set @ ((product_prod @ A) @ B)) > (set @ ((product_prod @ (list @ A)) @ (list @ B))))))).
% 2.86/1.55  thf(sy_c_List_Olistrel1, type, listrel1: (!> [A:$tType]: (((set @ ((product_prod @ A) @ A)) > (set @ ((product_prod @ (list @ A)) @ (list @ A))))))).
% 2.86/1.55  thf(sy_c_List_Olistrelp, type, listrelp: (!> [A:$tType,B:$tType]: (((A > (B > $o)) > ((list @ A) > ((list @ B) > $o)))))).
% 2.86/1.55  thf(sy_c_List_Omap__filter, type, map_filter: (!> [A:$tType,B:$tType]: (((A > (option @ B)) > ((list @ A) > (list @ B)))))).
% 2.86/1.55  thf(sy_c_List_Omap__tailrec__rev, type, map_tailrec_rev: (!> [A:$tType,B:$tType]: (((A > B) > ((list @ A) > ((list @ B) > (list @ B))))))).
% 2.86/1.55  thf(sy_c_List_Omap__tailrec__rev__rel, type, map_tailrec_rev_rel: (!> [A:$tType,B:$tType]: ((((product_prod @ (A > B)) @ ((product_prod @ (list @ A)) @ (list @ B))) > (((product_prod @ (A > B)) @ ((product_prod @ (list @ A)) @ (list @ B))) > $o))))).
% 2.86/1.55  thf(sy_c_List_Omaps, type, maps: (!> [A:$tType,B:$tType]: (((A > (list @ B)) > ((list @ A) > (list @ B)))))).
% 2.86/1.55  thf(sy_c_List_Omember, type, member: (!> [A:$tType]: (((list @ A) > (A > $o))))).
% 2.86/1.55  thf(sy_c_List_Onull, type, null: (!> [A:$tType]: (((list @ A) > $o)))).
% 2.86/1.55  thf(sy_c_List_Oord_Olexordp__eq, type, lexordp_eq: (!> [A:$tType]: (((A > (A > $o)) > ((list @ A) > ((list @ A) > $o)))))).
% 2.86/1.55  thf(sy_c_List_Oord__class_Olexordp__eq, type, ord_lexordp_eq: (!> [A:$tType]: (((list @ A) > ((list @ A) > $o))))).
% 2.86/1.55  thf(sy_c_List_Oproduct, type, product: (!> [A:$tType,B:$tType]: (((list @ A) > ((list @ B) > (list @ ((product_prod @ A) @ B))))))).
% 2.86/1.55  thf(sy_c_List_Oproduct__lists, type, product_lists: (!> [A:$tType]: (((list @ (list @ A)) > (list @ (list @ A)))))).
% 2.86/1.55  thf(sy_c_List_Orotate, type, rotate: (!> [A:$tType]: ((nat > ((list @ A) > (list @ A)))))).
% 2.86/1.55  thf(sy_c_List_Orotate1, type, rotate1: (!> [A:$tType]: (((list @ A) > (list @ A))))).
% 2.86/1.55  thf(sy_c_List_Osplice, type, splice: (!> [A:$tType]: (((list @ A) > ((list @ A) > (list @ A)))))).
% 2.86/1.55  thf(sy_c_List_Osubseqs, type, subseqs: (!> [A:$tType]: (((list @ A) > (list @ (list @ A)))))).
% 2.86/1.55  thf(sy_c_List_Ozip, type, zip: (!> [A:$tType,B:$tType]: (((list @ A) > ((list @ B) > (list @ ((product_prod @ A) @ B))))))).
% 2.86/1.55  thf(sy_c_Multiset_Olinorder__class_Opart, type, linorder_part: (!> [B:$tType,A:$tType]: (((B > A) > (A > ((list @ B) > ((product_prod @ (list @ B)) @ ((product_prod @ (list @ B)) @ (list @ B))))))))).
% 2.86/1.55  thf(sy_c_Nat_OSuc, type, suc: (nat > nat)).
% 2.86/1.55  thf(sy_c_Nat_Osize__class_Osize, type, size_size: (!> [A:$tType]: ((A > nat)))).
% 2.86/1.55  thf(sy_c_Orderings_Oord__class_Oless, type, ord_less: (!> [A:$tType]: ((A > (A > $o))))).
% 2.86/1.55  thf(sy_c_Polynomial_Oplus__coeffs, type, plus_coeffs: (!> [A:$tType]: (((list @ A) > ((list @ A) > (list @ A)))))).
% 2.86/1.55  thf(sy_c_Product__Type_OPair, type, product_Pair: (!> [A:$tType,B:$tType]: ((A > (B > ((product_prod @ A) @ B)))))).
% 2.86/1.55  thf(sy_c_Relation_Oirrefl, type, irrefl: (!> [A:$tType]: (((set @ ((product_prod @ A) @ A)) > $o)))).
% 2.86/1.55  thf(sy_c_Set_OCollect, type, collect: (!> [A:$tType]: (((A > $o) > (set @ A))))).
% 2.86/1.55  thf(sy_c_Sturm__Theorem__Mirabelle__xzqolxckln_Oquasi__sturm__seq, type, sturm_2060350619rm_seq: ((list @ (poly @ real)) > $o)).
% 2.86/1.55  thf(sy_c_Sturm__Theorem__Mirabelle__xzqolxckln_Osturm__seq, type, sturm_801371416rm_seq: ((list @ (poly @ real)) > ((poly @ real) > $o))).
% 2.86/1.55  thf(sy_c_Sturm__Theorem__Mirabelle__xzqolxckln_Osturm__seq__axioms, type, sturm_1585582267axioms: ((list @ (poly @ real)) > ((poly @ real) > $o))).
% 2.86/1.55  thf(sy_c_Wellfounded_Oaccp, type, accp: (!> [A:$tType]: (((A > (A > $o)) > (A > $o))))).
% 2.86/1.55  thf(sy_c_member, type, member2: (!> [A:$tType]: ((A > ((set @ A) > $o))))).
% 2.86/1.55  thf(fact_0_quasi__sturm__seq_Ops__not__Nil, axiom, (! [Ps:(list @ (poly @ real))]: (((sturm_2060350619rm_seq @ Ps) => (Ps != (nil @ (poly @ real))))))).
% 2.86/1.55  thf(fact_1_sturm__seq_Oquasi__sturm__seq, axiom, (! [Ps:(list @ (poly @ real)),P:(poly @ real)]: ((((sturm_801371416rm_seq @ Ps) @ P) => (sturm_2060350619rm_seq @ Ps))))).
% 2.86/1.55  thf(fact_2_sturm__seq__def, axiom, (sturm_801371416rm_seq = (^ [Ps2:(list @ (poly @ real)),P2:(poly @ real)]: (((sturm_2060350619rm_seq @ Ps2) & ((sturm_1585582267axioms @ Ps2) @ P2)))))).
% 2.86/1.55  thf(fact_3_sturm__seq_Ointro, axiom, (! [Ps:(list @ (poly @ real)),P:(poly @ real)]: (((sturm_2060350619rm_seq @ Ps) => (((sturm_1585582267axioms @ Ps) @ P) => ((sturm_801371416rm_seq @ Ps) @ P)))))).
% 2.86/1.55  thf(fact_4_list__ex1__simps_I1_J, axiom, (! [A:$tType,P3:(A > $o)]: ((~ ((((list_ex1 @ A) @ P3) @ (nil @ A))))))).
% 2.86/1.55  thf(fact_5_bind__simps_I1_J, axiom, (! [B:$tType,A:$tType,F:(B > (list @ A))]: ((((((bind @ B) @ A) @ (nil @ B)) @ F) = (nil @ A))))).
% 2.86/1.55  thf(fact_6_member__rec_I2_J, axiom, (! [A:$tType,Y:A]: ((~ ((((member @ A) @ (nil @ A)) @ Y)))))).
% 2.86/1.55  thf(fact_7_gen__length__code_I1_J, axiom, (! [A:$tType,N:nat]: (((((gen_length @ A) @ N) @ (nil @ A)) = N)))).
% 2.86/1.55  thf(fact_8_maps__simps_I2_J, axiom, (! [B:$tType,A:$tType,F:(B > (list @ A))]: ((((((maps @ B) @ A) @ F) @ (nil @ B)) = (nil @ A))))).
% 2.86/1.55  thf(fact_9_map__filter__simps_I2_J, axiom, (! [B:$tType,A:$tType,F:(B > (option @ A))]: ((((((map_filter @ B) @ A) @ F) @ (nil @ B)) = (nil @ A))))).
% 2.86/1.55  thf(fact_10_null__rec_I2_J, axiom, (! [B:$tType]: (((null @ B) @ (nil @ B))))).
% 2.86/1.55  thf(fact_11_eq__Nil__null, axiom, (! [A:$tType,Xs:(list @ A)]: (((Xs = (nil @ A)) = ((null @ A) @ Xs))))).
% 2.86/1.55  thf(fact_12_sturm__seq_Oaxioms_I2_J, axiom, (! [Ps:(list @ (poly @ real)),P:(poly @ real)]: ((((sturm_801371416rm_seq @ Ps) @ P) => ((sturm_1585582267axioms @ Ps) @ P))))).
% 2.86/1.55  thf(fact_13_list__ex__simps_I2_J, axiom, (! [A:$tType,P3:(A > $o)]: ((~ ((((list_ex @ A) @ P3) @ (nil @ A))))))).
% 2.86/1.55  thf(fact_14_rotate1__is__Nil__conv, axiom, (! [A:$tType,Xs:(list @ A)]: (((((rotate1 @ A) @ Xs) = (nil @ A)) = (Xs = (nil @ A)))))).
% 2.86/1.55  thf(fact_15_split__Nil__iff, axiom, (! [A:$tType,Xs:(list @ A),Ys:(list @ A)]: ((((((splice @ A) @ Xs) @ Ys) = (nil @ A)) = ((Xs = (nil @ A)) & (Ys = (nil @ A))))))).
% 2.86/1.55  thf(fact_16_splice__Nil2, axiom, (! [A:$tType,Xs:(list @ A)]: (((((splice @ A) @ Xs) @ (nil @ A)) = Xs)))).
% 2.86/1.55  thf(fact_17_enumerate__simps_I1_J, axiom, (! [A:$tType,N:nat]: (((((enumerate @ A) @ N) @ (nil @ A)) = (nil @ ((product_prod @ nat) @ A)))))).
% 2.86/1.55  thf(fact_18_product_Osimps_I1_J, axiom, (! [B:$tType,A:$tType,Uu:(list @ B)]: ((((((product @ A) @ B) @ (nil @ A)) @ Uu) = (nil @ ((product_prod @ A) @ B)))))).
% 2.86/1.55  thf(fact_19_map__tailrec__rev_Osimps_I1_J, axiom, (! [A:$tType,B:$tType,F:(A > B),Bs:(list @ B)]: (((((((map_tailrec_rev @ A) @ B) @ F) @ (nil @ A)) @ Bs) = Bs)))).
% 2.86/1.55  thf(fact_20_list_Osimps_I6_J, axiom, (! [A:$tType,C:$tType,F1:C,F2:(A > ((list @ A) > (C > C)))]: (((((((rec_list @ C) @ A) @ F1) @ F2) @ (nil @ A)) = F1)))).
% 2.86/1.55  thf(fact_21_ord_Olexordp__eq__simps_I1_J, axiom, (! [A:$tType,Less:(A > (A > $o)),Ys:(list @ A)]: (((((lexordp_eq @ A) @ Less) @ (nil @ A)) @ Ys)))).
% 2.86/1.55  thf(fact_22_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.86/1.55  thf(fact_23_listrelp_ONil, axiom, (! [A:$tType,B:$tType,R:(A > (B > $o))]: ((((((listrelp @ A) @ B) @ R) @ (nil @ A)) @ (nil @ B))))).
% 2.86/1.55  thf(fact_24_ord_Olexordp__eq_Ocong, axiom, (! [A:$tType]: (((lexordp_eq @ A) = (lexordp_eq @ A))))).
% 2.86/1.55  thf(fact_25_ord_Olexordp__eq__refl, axiom, (! [A:$tType,Less:(A > (A > $o)),Xs:(list @ A)]: (((((lexordp_eq @ A) @ Less) @ Xs) @ Xs)))).
% 2.86/1.55  thf(fact_26_ord_Olexordp__eq_ONil, axiom, (! [A:$tType,Less:(A > (A > $o)),Ys:(list @ A)]: (((((lexordp_eq @ A) @ Less) @ (nil @ A)) @ Ys)))).
% 2.86/1.55  thf(fact_27_splice_Osimps_I1_J, axiom, (! [A:$tType,Ys:(list @ A)]: (((((splice @ A) @ (nil @ A)) @ Ys) = Ys)))).
% 2.86/1.55  thf(fact_28_rotate1_Osimps_I1_J, axiom, (! [A:$tType]: ((((rotate1 @ A) @ (nil @ A)) = (nil @ A))))).
% 2.86/1.55  thf(fact_29_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.86/1.55  thf(fact_30_zip__Nil, axiom, (! [B:$tType,A:$tType,Ys:(list @ B)]: ((((((zip @ A) @ B) @ (nil @ A)) @ Ys) = (nil @ ((product_prod @ A) @ B)))))).
% 2.86/1.55  thf(fact_31_map__tailrec__rev_Oelims, axiom, (! [A:$tType,B:$tType,X:(A > B),Xa:(list @ A),Xb:(list @ B),Y:(list @ B)]: ((((((((map_tailrec_rev @ A) @ B) @ X) @ Xa) @ Xb) = Y) => (((Xa = (nil @ A)) => (Y != Xb)) => (~ ((! [A2:A,As:(list @ A)]: (((Xa = (((cons @ A) @ A2) @ As)) => (Y != (((((map_tailrec_rev @ A) @ B) @ X) @ As) @ (((cons @ B) @ (X @ A2)) @ Xb))))))))))))).
% 2.86/1.55  thf(fact_32_listrelp_Oinducts, axiom, (! [A:$tType,B:$tType,R:(A > (B > $o)),X1:(list @ A),X2:(list @ B),P3:((list @ A) > ((list @ B) > $o))]: (((((((listrelp @ A) @ B) @ R) @ X1) @ X2) => (((P3 @ (nil @ A)) @ (nil @ B)) => ((! [X3:A,Y2:B,Xs2:(list @ A),Ys2:(list @ B)]: ((((R @ X3) @ Y2) => ((((((listrelp @ A) @ B) @ R) @ Xs2) @ Ys2) => (((P3 @ Xs2) @ Ys2) => ((P3 @ (((cons @ A) @ X3) @ Xs2)) @ (((cons @ B) @ Y2) @ Ys2))))))) => ((P3 @ X1) @ X2))))))).
% 2.86/1.55  thf(fact_33_listrelp_Osimps, axiom, (! [B:$tType,A:$tType]: ((((listrelp @ A) @ B) = (^ [R2:(A > (B > $o)),A1:(list @ A),A22:(list @ B)]: ((((A1 = (nil @ A)) & (A22 = (nil @ B))) | (? [X4:A,Y3:B,Xs3:(list @ A),Ys3:(list @ B)]: (((A1 = (((cons @ A) @ X4) @ Xs3)) & ((A22 = (((cons @ B) @ Y3) @ Ys3)) & (((R2 @ X4) @ Y3) & (((((listrelp @ A) @ B) @ R2) @ Xs3) @ Ys3))))))))))))).
% 2.86/1.55  thf(fact_34_listrelp_Ocases, axiom, (! [A:$tType,B:$tType,R:(A > (B > $o)),A12:(list @ A),A23:(list @ B)]: (((((((listrelp @ A) @ B) @ R) @ A12) @ A23) => (((A12 = (nil @ A)) => (A23 != (nil @ B))) => (~ ((! [X3:A,Y2:B,Xs2:(list @ A)]: (((A12 = (((cons @ A) @ X3) @ Xs2)) => (! [Ys2:(list @ B)]: (((A23 = (((cons @ B) @ Y2) @ Ys2)) => (((R @ X3) @ Y2) => (~ ((((((listrelp @ A) @ B) @ R) @ Xs2) @ Ys2))))))))))))))))).
% 2.86/1.55  thf(fact_35_splice_Oelims, axiom, (! [A:$tType,X:(list @ A),Xa:(list @ A),Y:(list @ A)]: ((((((splice @ A) @ X) @ Xa) = Y) => (((X = (nil @ A)) => (Y != Xa)) => (~ ((! [X3:A,Xs2:(list @ A)]: (((X = (((cons @ A) @ X3) @ Xs2)) => (Y != (((cons @ A) @ X3) @ (((splice @ A) @ Xa) @ Xs2))))))))))))).
% 2.86/1.55  thf(fact_36_ord_Olexordp__eq_Oinducts, axiom, (! [A:$tType,Less:(A > (A > $o)),X1:(list @ A),X2:(list @ A),P3:((list @ A) > ((list @ A) > $o))]: ((((((lexordp_eq @ A) @ Less) @ X1) @ X2) => ((! [X_1:(list @ A)]: (((P3 @ (nil @ A)) @ X_1))) => ((! [X3:A,Y2:A,Xs2:(list @ A),Ys2:(list @ A)]: ((((Less @ X3) @ Y2) => ((P3 @ (((cons @ A) @ X3) @ Xs2)) @ (((cons @ A) @ Y2) @ Ys2))))) => ((! [X3:A,Y2:A,Xs2:(list @ A),Ys2:(list @ A)]: (((~ (((Less @ X3) @ Y2))) => ((~ (((Less @ Y2) @ X3))) => (((((lexordp_eq @ A) @ Less) @ Xs2) @ Ys2) => (((P3 @ Xs2) @ Ys2) => ((P3 @ (((cons @ A) @ X3) @ Xs2)) @ (((cons @ A) @ Y2) @ Ys2)))))))) => ((P3 @ X1) @ X2)))))))).
% 2.86/1.55  thf(fact_37_ord_Olexordp__eq_Osimps, axiom, (! [A:$tType]: (((lexordp_eq @ A) = (^ [Less2:(A > (A > $o)),A1:(list @ A),A22:(list @ A)]: (((? [Ys3:(list @ A)]: (((A1 = (nil @ A)) & (A22 = Ys3)))) | ((? [X4:A,Y3:A,Xs3:(list @ A),Ys3:(list @ A)]: (((A1 = (((cons @ A) @ X4) @ Xs3)) & ((A22 = (((cons @ A) @ Y3) @ Ys3)) & ((Less2 @ X4) @ Y3))))) | (? [X4:A,Y3:A,Xs3:(list @ A),Ys3:(list @ A)]: (((A1 = (((cons @ A) @ X4) @ Xs3)) & ((A22 = (((cons @ A) @ Y3) @ Ys3)) & ((~ (((Less2 @ X4) @ Y3))) & ((~ (((Less2 @ Y3) @ X4))) & ((((lexordp_eq @ A) @ Less2) @ Xs3) @ Ys3))))))))))))))).
% 2.86/1.55  thf(fact_38_ord_Olexordp__eq_Ocases, axiom, (! [A:$tType,Less:(A > (A > $o)),A12:(list @ A),A23:(list @ A)]: ((((((lexordp_eq @ A) @ Less) @ A12) @ A23) => ((A12 != (nil @ A)) => ((! [X3:A]: (((? [Xs2:(list @ A)]: ((A12 = (((cons @ A) @ X3) @ Xs2)))) => (! [Y2:A]: (((? [Ys2:(list @ A)]: ((A23 = (((cons @ A) @ Y2) @ Ys2)))) => (~ (((Less @ X3) @ Y2))))))))) => (~ ((! [X3:A,Y2:A,Xs2:(list @ A)]: (((A12 = (((cons @ A) @ X3) @ Xs2)) => (! [Ys2:(list @ A)]: (((A23 = (((cons @ A) @ Y2) @ Ys2)) => ((~ (((Less @ X3) @ Y2))) => ((~ (((Less @ Y2) @ X3))) => (~ (((((lexordp_eq @ A) @ Less) @ Xs2) @ Ys2))))))))))))))))))).
% 2.86/1.55  thf(fact_39_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.86/1.55  thf(fact_40_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.86/1.55  thf(fact_41_list__ex__simps_I1_J, axiom, (! [A:$tType,P3:(A > $o),X:A,Xs:(list @ A)]: (((((list_ex @ A) @ P3) @ (((cons @ A) @ X) @ Xs)) = ((P3 @ X) | (((list_ex @ A) @ P3) @ Xs)))))).
% 2.86/1.55  thf(fact_42_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.86/1.55  thf(fact_43_not__Cons__self2, axiom, (! [A:$tType,X:A,Xs:(list @ A)]: (((((cons @ A) @ X) @ Xs) != Xs)))).
% 2.86/1.55  thf(fact_44_mem__Collect__eq, axiom, (! [A:$tType,A3:A,P3:(A > $o)]: (((((member2 @ A) @ A3) @ ((collect @ A) @ P3)) = (P3 @ A3))))).
% 2.86/1.55  thf(fact_45_Collect__mem__eq, axiom, (! [A:$tType,A4:(set @ A)]: ((((collect @ A) @ (^ [X4:A]: ((((member2 @ A) @ X4) @ A4)))) = A4)))).
% 2.86/1.55  thf(fact_46_Collect__cong, axiom, (! [A:$tType,P3:(A > $o),Q:(A > $o)]: (((! [X3:A]: (((P3 @ X3) = (Q @ X3)))) => (((collect @ A) @ P3) = ((collect @ A) @ Q)))))).
% 2.86/1.55  thf(fact_47_ext, axiom, (! [B:$tType,A:$tType,F:(A > B),G:(A > B)]: (((! [X3:A]: (((F @ X3) = (G @ X3)))) => (F = G))))).
% 2.86/1.55  thf(fact_48_strict__sorted_Oinduct, axiom, (! [A:$tType]: (((linorder @ A) => (! [P3:((list @ A) > $o),A0:(list @ A)]: (((P3 @ (nil @ A)) => ((! [X3:A,Ys2:(list @ A)]: (((P3 @ Ys2) => (P3 @ (((cons @ A) @ X3) @ Ys2))))) => (P3 @ A0))))))))).
% 2.86/1.55  thf(fact_49_strict__sorted_Ocases, axiom, (! [A:$tType]: (((linorder @ A) => (! [X:(list @ A)]: (((X != (nil @ A)) => (~ ((! [X3:A,Ys2:(list @ A)]: ((X != (((cons @ A) @ X3) @ Ys2))))))))))))).
% 2.86/1.55  thf(fact_50_map__tailrec__rev_Oinduct, axiom, (! [A:$tType,B:$tType,P3:((A > B) > ((list @ A) > ((list @ B) > $o))),A0:(A > B),A12:(list @ A),A23:(list @ B)]: (((! [F3:(A > B),X_1:(list @ B)]: ((((P3 @ F3) @ (nil @ A)) @ X_1))) => ((! [F3:(A > B),A2:A,As:(list @ A),Bs2:(list @ B)]: (((((P3 @ F3) @ As) @ (((cons @ B) @ (F3 @ A2)) @ Bs2)) => (((P3 @ F3) @ (((cons @ A) @ A2) @ As)) @ Bs2)))) => (((P3 @ A0) @ A12) @ A23)))))).
% 2.86/1.55  thf(fact_51_list__nonempty__induct, axiom, (! [A:$tType,Xs:(list @ A),P3:((list @ A) > $o)]: (((Xs != (nil @ A)) => ((! [X3:A]: ((P3 @ (((cons @ A) @ X3) @ (nil @ A))))) => ((! [X3:A,Xs2:(list @ A)]: (((Xs2 != (nil @ A)) => ((P3 @ Xs2) => (P3 @ (((cons @ A) @ X3) @ Xs2)))))) => (P3 @ Xs))))))).
% 2.86/1.55  thf(fact_52_successively_Oinduct, axiom, (! [A:$tType,P3:((A > (A > $o)) > ((list @ A) > $o)),A0:(A > (A > $o)),A12:(list @ A)]: (((! [P4:(A > (A > $o))]: (((P3 @ P4) @ (nil @ A)))) => ((! [P4:(A > (A > $o)),X3:A]: (((P3 @ P4) @ (((cons @ A) @ X3) @ (nil @ A))))) => ((! [P4:(A > (A > $o)),X3:A,Y2:A,Xs2:(list @ A)]: ((((P3 @ P4) @ (((cons @ A) @ Y2) @ Xs2)) => ((P3 @ P4) @ (((cons @ A) @ X3) @ (((cons @ A) @ Y2) @ Xs2)))))) => ((P3 @ A0) @ A12))))))).
% 2.86/1.55  thf(fact_53_arg__min__list_Oinduct, axiom, (! [B:$tType,A:$tType]: (((linorder @ B) => (! [P3:((A > B) > ((list @ A) > $o)),A0:(A > B),A12:(list @ A)]: (((! [F3:(A > B),X3:A]: (((P3 @ F3) @ (((cons @ A) @ X3) @ (nil @ A))))) => ((! [F3:(A > B),X3:A,Y2:A,Zs:(list @ A)]: ((((P3 @ F3) @ (((cons @ A) @ Y2) @ Zs)) => ((P3 @ F3) @ (((cons @ A) @ X3) @ (((cons @ A) @ Y2) @ Zs)))))) => ((! [A2:(A > B)]: (((P3 @ A2) @ (nil @ A)))) => ((P3 @ A0) @ A12)))))))))).
% 2.86/1.55  thf(fact_54_remdups__adj_Oinduct, axiom, (! [A:$tType,P3:((list @ A) > $o),A0:(list @ A)]: (((P3 @ (nil @ A)) => ((! [X3:A]: ((P3 @ (((cons @ A) @ X3) @ (nil @ A))))) => ((! [X3:A,Y2:A,Xs2:(list @ A)]: ((((X3 = Y2) => (P3 @ (((cons @ A) @ X3) @ Xs2))) => (((X3 != Y2) => (P3 @ (((cons @ A) @ Y2) @ Xs2))) => (P3 @ (((cons @ A) @ X3) @ (((cons @ A) @ Y2) @ Xs2))))))) => (P3 @ A0))))))).
% 2.86/1.55  thf(fact_55_sorted__wrt_Oinduct, axiom, (! [A:$tType,P3:((A > (A > $o)) > ((list @ A) > $o)),A0:(A > (A > $o)),A12:(list @ A)]: (((! [P4:(A > (A > $o))]: (((P3 @ P4) @ (nil @ A)))) => ((! [P4:(A > (A > $o)),X3:A,Ys2:(list @ A)]: ((((P3 @ P4) @ Ys2) => ((P3 @ P4) @ (((cons @ A) @ X3) @ Ys2))))) => ((P3 @ A0) @ A12)))))).
% 2.86/1.55  thf(fact_56_remdups__adj_Ocases, axiom, (! [A:$tType,X:(list @ A)]: (((X != (nil @ A)) => ((! [X3:A]: ((X != (((cons @ A) @ X3) @ (nil @ A))))) => (~ ((! [X3:A,Y2:A,Xs2:(list @ A)]: ((X != (((cons @ A) @ X3) @ (((cons @ A) @ Y2) @ Xs2)))))))))))).
% 2.86/1.55  thf(fact_57_shuffles_Oinduct, axiom, (! [A:$tType,P3:((list @ A) > ((list @ A) > $o)),A0:(list @ A),A12:(list @ A)]: (((! [X_1:(list @ A)]: (((P3 @ (nil @ A)) @ X_1))) => ((! [Xs2:(list @ A)]: (((P3 @ Xs2) @ (nil @ A)))) => ((! [X3:A,Xs2:(list @ A),Y2:A,Ys2:(list @ A)]: ((((P3 @ Xs2) @ (((cons @ A) @ Y2) @ Ys2)) => (((P3 @ (((cons @ A) @ X3) @ Xs2)) @ Ys2) => ((P3 @ (((cons @ A) @ X3) @ Xs2)) @ (((cons @ A) @ Y2) @ Ys2)))))) => ((P3 @ A0) @ A12))))))).
% 2.86/1.55  thf(fact_58_min__list_Oinduct, axiom, (! [A:$tType]: (((ord @ A) => (! [P3:((list @ A) > $o),A0:(list @ A)]: (((! [X3:A,Xs2:(list @ A)]: (((! [X212:A,X222:(list @ A)]: (((Xs2 = (((cons @ A) @ X212) @ X222)) => (P3 @ Xs2)))) => (P3 @ (((cons @ A) @ X3) @ Xs2))))) => ((P3 @ (nil @ A)) => (P3 @ A0))))))))).
% 2.86/1.55  thf(fact_59_min__list_Ocases, axiom, (! [A:$tType]: (((ord @ A) => (! [X:(list @ A)]: (((! [X3:A,Xs2:(list @ A)]: ((X != (((cons @ A) @ X3) @ Xs2)))) => (X = (nil @ A))))))))).
% 2.86/1.55  thf(fact_60_induct__list012, axiom, (! [A:$tType,P3:((list @ A) > $o),Xs:(list @ A)]: (((P3 @ (nil @ A)) => ((! [X3:A]: ((P3 @ (((cons @ A) @ X3) @ (nil @ A))))) => ((! [X3:A,Y2:A,Zs:(list @ A)]: (((P3 @ Zs) => ((P3 @ (((cons @ A) @ Y2) @ Zs)) => (P3 @ (((cons @ A) @ X3) @ (((cons @ A) @ Y2) @ Zs))))))) => (P3 @ Xs))))))).
% 2.86/1.55  thf(fact_61_splice_Oinduct, axiom, (! [A:$tType,P3:((list @ A) > ((list @ A) > $o)),A0:(list @ A),A12:(list @ A)]: (((! [X_1:(list @ A)]: (((P3 @ (nil @ A)) @ X_1))) => ((! [X3:A,Xs2:(list @ A),Ys2:(list @ A)]: ((((P3 @ Ys2) @ Xs2) => ((P3 @ (((cons @ A) @ X3) @ Xs2)) @ Ys2)))) => ((P3 @ A0) @ A12)))))).
% 2.86/1.55  thf(fact_62_list__induct2_H, axiom, (! [A:$tType,B:$tType,P3:((list @ A) > ((list @ B) > $o)),Xs:(list @ A),Ys:(list @ B)]: ((((P3 @ (nil @ A)) @ (nil @ B)) => ((! [X3:A,Xs2:(list @ A)]: (((P3 @ (((cons @ A) @ X3) @ Xs2)) @ (nil @ B)))) => ((! [Y2:B,Ys2:(list @ B)]: (((P3 @ (nil @ A)) @ (((cons @ B) @ Y2) @ Ys2)))) => ((! [X3:A,Xs2:(list @ A),Y2:B,Ys2:(list @ B)]: ((((P3 @ Xs2) @ Ys2) => ((P3 @ (((cons @ A) @ X3) @ Xs2)) @ (((cons @ B) @ Y2) @ Ys2))))) => ((P3 @ Xs) @ Ys)))))))).
% 2.86/1.55  thf(fact_63_neq__Nil__conv, axiom, (! [A:$tType,Xs:(list @ A)]: (((Xs != (nil @ A)) = (? [Y3:A,Ys3:(list @ A)]: ((Xs = (((cons @ A) @ Y3) @ Ys3)))))))).
% 2.86/1.55  thf(fact_64_list_Oinducts, axiom, (! [A:$tType,P3:((list @ A) > $o),List:(list @ A)]: (((P3 @ (nil @ A)) => ((! [X12:A,X23:(list @ A)]: (((P3 @ X23) => (P3 @ (((cons @ A) @ X12) @ X23))))) => (P3 @ List)))))).
% 2.86/1.55  thf(fact_65_list_Oexhaust, axiom, (! [A:$tType,Y:(list @ A)]: (((Y != (nil @ A)) => (~ ((! [X213:A,X223:(list @ A)]: ((Y != (((cons @ A) @ X213) @ X223)))))))))).
% 2.86/1.55  thf(fact_66_list_OdiscI, axiom, (! [A:$tType,List:(list @ A),X21:A,X22:(list @ A)]: (((List = (((cons @ A) @ X21) @ X22)) => (List != (nil @ A)))))).
% 2.86/1.55  thf(fact_67_list_Odistinct_I1_J, axiom, (! [A:$tType,X21:A,X22:(list @ A)]: (((nil @ A) != (((cons @ A) @ X21) @ X22))))).
% 2.86/1.55  thf(fact_68_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.86/1.55  thf(fact_69_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.86/1.55  thf(fact_70_splice_Osimps_I2_J, axiom, (! [A:$tType,X:A,Xs:(list @ A),Ys:(list @ A)]: (((((splice @ A) @ (((cons @ A) @ X) @ Xs)) @ Ys) = (((cons @ A) @ X) @ (((splice @ A) @ Ys) @ Xs)))))).
% 2.86/1.55  thf(fact_71_list_Osimps_I7_J, axiom, (! [C:$tType,A:$tType,F1:C,F2:(A > ((list @ A) > (C > C))),X21:A,X22:(list @ A)]: (((((((rec_list @ C) @ A) @ F1) @ F2) @ (((cons @ A) @ X21) @ X22)) = (((F2 @ X21) @ X22) @ (((((rec_list @ C) @ A) @ F1) @ F2) @ X22)))))).
% 2.86/1.55  thf(fact_72_listrelp_OCons, axiom, (! [A:$tType,B:$tType,R:(A > (B > $o)),X:A,Y:B,Xs:(list @ A),Ys:(list @ B)]: ((((R @ X) @ Y) => ((((((listrelp @ A) @ B) @ R) @ Xs) @ Ys) => (((((listrelp @ A) @ B) @ R) @ (((cons @ A) @ X) @ Xs)) @ (((cons @ B) @ Y) @ Ys))))))).
% 2.86/1.55  thf(fact_73_sturm__seq_Ops__first__two, axiom, (! [Ps:(list @ (poly @ real)),P:(poly @ real)]: ((((sturm_801371416rm_seq @ Ps) @ P) => (~ ((! [Q2:(poly @ real),Ps3:(list @ (poly @ real))]: ((Ps != (((cons @ (poly @ real)) @ P) @ (((cons @ (poly @ real)) @ Q2) @ Ps3))))))))))).
% 2.86/1.55  thf(fact_74_map__tailrec__rev_Osimps_I2_J, axiom, (! [A:$tType,B:$tType,F:(A > B),A3:A,As2:(list @ A),Bs:(list @ B)]: (((((((map_tailrec_rev @ A) @ B) @ F) @ (((cons @ A) @ A3) @ As2)) @ Bs) = (((((map_tailrec_rev @ A) @ B) @ F) @ As2) @ (((cons @ B) @ (F @ A3)) @ Bs)))))).
% 2.86/1.55  thf(fact_75_null__rec_I1_J, axiom, (! [A:$tType,X:A,Xs:(list @ A)]: ((~ (((null @ A) @ (((cons @ A) @ X) @ Xs))))))).
% 2.86/1.55  thf(fact_76_member__rec_I1_J, axiom, (! [A:$tType,X:A,Xs:(list @ A),Y:A]: (((((member @ A) @ (((cons @ A) @ X) @ Xs)) @ Y) = ((X = Y) | (((member @ A) @ Xs) @ Y)))))).
% 2.86/1.55  thf(fact_77_zip__eq__Nil__iff, axiom, (! [A:$tType,B:$tType,Xs:(list @ A),Ys:(list @ B)]: (((((((zip @ A) @ B) @ Xs) @ Ys) = (nil @ ((product_prod @ A) @ B))) = ((Xs = (nil @ A)) | (Ys = (nil @ B))))))).
% 2.86/1.55  thf(fact_78_zip_Osimps_I1_J, axiom, (! [B:$tType,A:$tType,Xs:(list @ A)]: ((((((zip @ A) @ B) @ Xs) @ (nil @ B)) = (nil @ ((product_prod @ A) @ B)))))).
% 2.86/1.55  thf(fact_79_minus__poly__rev__list_Oinduct, axiom, (! [A:$tType]: (((group_add @ A) => (! [P3:((list @ A) > ((list @ A) > $o)),A0:(list @ A),A12:(list @ A)]: (((! [X3:A,Xs2:(list @ A),Y2:A,Ys2:(list @ A)]: ((((P3 @ Xs2) @ Ys2) => ((P3 @ (((cons @ A) @ X3) @ Xs2)) @ (((cons @ A) @ Y2) @ Ys2))))) => ((! [Xs2:(list @ A)]: (((P3 @ Xs2) @ (nil @ A)))) => ((! [Y2:A,Ys2:(list @ A)]: (((P3 @ (nil @ A)) @ (((cons @ A) @ Y2) @ Ys2)))) => ((P3 @ A0) @ A12)))))))))).
% 2.86/1.55  thf(fact_80_plus__coeffs_Oinduct, axiom, (! [A:$tType]: (((comm_monoid_add @ A) => (! [P3:((list @ A) > ((list @ A) > $o)),A0:(list @ A),A12:(list @ A)]: (((! [Xs2:(list @ A)]: (((P3 @ Xs2) @ (nil @ A)))) => ((! [V:A,Va:(list @ A)]: (((P3 @ (nil @ A)) @ (((cons @ A) @ V) @ Va)))) => ((! [X3:A,Xs2:(list @ A),Y2:A,Ys2:(list @ A)]: ((((P3 @ Xs2) @ Ys2) => ((P3 @ (((cons @ A) @ X3) @ Xs2)) @ (((cons @ A) @ Y2) @ Ys2))))) => ((P3 @ A0) @ A12)))))))))).
% 2.86/1.55  thf(fact_81_insert__Nil, axiom, (! [A:$tType,X:A]: (((((insert @ A) @ X) @ (nil @ A)) = (((cons @ A) @ X) @ (nil @ A)))))).
% 2.86/1.55  thf(fact_82_arg__min__list_Osimps_I1_J, axiom, (! [B:$tType,A:$tType]: (((linorder @ B) => (! [F:(A > B),X:A]: ((((((arg_min_list @ A) @ B) @ F) @ (((cons @ A) @ X) @ (nil @ A))) = X))))))).
% 2.86/1.55  thf(fact_83_lexordp__eq__simps_I3_J, axiom, (! [A:$tType]: (((ord @ A) => (! [X:A,Xs:(list @ A)]: ((~ ((((ord_lexordp_eq @ A) @ (((cons @ A) @ X) @ Xs)) @ (nil @ A)))))))))).
% 2.86/1.55  thf(fact_84_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.86/1.55  thf(fact_85_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.86/1.55  thf(fact_86_gen__length__code_I2_J, axiom, (! [B:$tType,N:nat,X:B,Xs:(list @ B)]: (((((gen_length @ B) @ N) @ (((cons @ B) @ X) @ Xs)) = (((gen_length @ B) @ (suc @ N)) @ Xs))))).
% 2.86/1.55  thf(fact_87_append_Oassoc, axiom, (! [A:$tType,A3:(list @ A),B2:(list @ A),C2:(list @ A)]: (((((append @ A) @ (((append @ A) @ A3) @ B2)) @ C2) = (((append @ A) @ A3) @ (((append @ A) @ B2) @ C2)))))).
% 2.86/1.55  thf(fact_88_append__assoc, axiom, (! [A:$tType,Xs:(list @ A),Ys:(list @ A),Zs2:(list @ A)]: (((((append @ A) @ (((append @ A) @ Xs) @ Ys)) @ Zs2) = (((append @ A) @ Xs) @ (((append @ A) @ Ys) @ Zs2)))))).
% 2.86/1.55  thf(fact_89_append__same__eq, axiom, (! [A:$tType,Ys:(list @ A),Xs:(list @ A),Zs2:(list @ A)]: ((((((append @ A) @ Ys) @ Xs) = (((append @ A) @ Zs2) @ Xs)) = (Ys = Zs2))))).
% 2.86/1.55  thf(fact_90_same__append__eq, axiom, (! [A:$tType,Xs:(list @ A),Ys:(list @ A),Zs2:(list @ A)]: ((((((append @ A) @ Xs) @ Ys) = (((append @ A) @ Xs) @ Zs2)) = (Ys = Zs2))))).
% 2.86/1.55  thf(fact_91_append__Nil2, axiom, (! [A:$tType,Xs:(list @ A)]: (((((append @ A) @ Xs) @ (nil @ A)) = Xs)))).
% 2.86/1.55  thf(fact_92_append__self__conv, axiom, (! [A:$tType,Xs:(list @ A),Ys:(list @ A)]: ((((((append @ A) @ Xs) @ Ys) = Xs) = (Ys = (nil @ A)))))).
% 2.86/1.55  thf(fact_93_self__append__conv, axiom, (! [A:$tType,Xs:(list @ A),Ys:(list @ A)]: (((Xs = (((append @ A) @ Xs) @ Ys)) = (Ys = (nil @ A)))))).
% 2.86/1.55  thf(fact_94_append__self__conv2, axiom, (! [A:$tType,Xs:(list @ A),Ys:(list @ A)]: ((((((append @ A) @ Xs) @ Ys) = Ys) = (Xs = (nil @ A)))))).
% 2.86/1.55  thf(fact_95_self__append__conv2, axiom, (! [A:$tType,Ys:(list @ A),Xs:(list @ A)]: (((Ys = (((append @ A) @ Xs) @ Ys)) = (Xs = (nil @ A)))))).
% 2.86/1.55  thf(fact_96_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.86/1.55  thf(fact_97_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.86/1.55  thf(fact_98_append_Oright__neutral, axiom, (! [A:$tType,A3:(list @ A)]: (((((append @ A) @ A3) @ (nil @ A)) = A3)))).
% 2.86/1.55  thf(fact_99_lexordp__eq__simps_I2_J, axiom, (! [A:$tType]: (((ord @ A) => (! [Xs:(list @ A)]: (((((ord_lexordp_eq @ A) @ Xs) @ (nil @ A)) = (Xs = (nil @ A))))))))).
% 2.86/1.55  thf(fact_100_lexordp__eq__simps_I1_J, axiom, (! [A:$tType]: (((ord @ A) => (! [Ys:(list @ A)]: ((((ord_lexordp_eq @ A) @ (nil @ A)) @ Ys))))))).
% 2.86/1.55  thf(fact_101_list__ex__append, axiom, (! [A:$tType,P3:(A > $o),Xs:(list @ A),Ys:(list @ A)]: (((((list_ex @ A) @ P3) @ (((append @ A) @ Xs) @ Ys)) = ((((list_ex @ A) @ P3) @ Xs) | (((list_ex @ A) @ P3) @ Ys)))))).
% 2.86/1.55  thf(fact_102_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.86/1.55  thf(fact_103_append__eq__appendI, axiom, (! [A:$tType,Xs:(list @ A),Xs1:(list @ A),Zs2:(list @ A),Ys:(list @ A),Us:(list @ A)]: ((((((append @ A) @ Xs) @ Xs1) = Zs2) => ((Ys = (((append @ A) @ Xs1) @ Us)) => ((((append @ A) @ Xs) @ Ys) = (((append @ A) @ Zs2) @ Us))))))).
% 2.86/1.55  thf(fact_104_append__eq__append__conv2, axiom, (! [A:$tType,Xs:(list @ A),Ys:(list @ A),Zs2:(list @ A),Ts:(list @ A)]: ((((((append @ A) @ Xs) @ Ys) = (((append @ A) @ Zs2) @ Ts)) = (? [Us2:(list @ A)]: ((((Xs = (((append @ A) @ Zs2) @ Us2)) & ((((append @ A) @ Us2) @ Ys) = Ts)) | (((((append @ A) @ Xs) @ Us2) = Zs2) & (Ys = (((append @ A) @ Us2) @ Ts)))))))))).
% 2.86/1.55  thf(fact_105_lexordp__eq__pref, axiom, (! [A:$tType]: (((ord @ A) => (! [U:(list @ A),V2:(list @ A)]: ((((ord_lexordp_eq @ A) @ U) @ (((append @ A) @ U) @ V2)))))))).
% 2.86/1.55  thf(fact_106_lexordp__eq__refl, axiom, (! [A:$tType]: (((ord @ A) => (! [Xs:(list @ A)]: ((((ord_lexordp_eq @ A) @ Xs) @ Xs))))))).
% 2.86/1.55  thf(fact_107_lexordp__eq__trans, axiom, (! [A:$tType]: (((linorder @ A) => (! [Xs:(list @ A),Ys:(list @ A),Zs2:(list @ A)]: (((((ord_lexordp_eq @ A) @ Xs) @ Ys) => ((((ord_lexordp_eq @ A) @ Ys) @ Zs2) => (((ord_lexordp_eq @ A) @ Xs) @ Zs2))))))))).
% 2.86/1.55  thf(fact_108_lexordp__eq__linear, axiom, (! [A:$tType]: (((linorder @ A) => (! [Xs:(list @ A),Ys:(list @ A)]: (((((ord_lexordp_eq @ A) @ Xs) @ Ys) | (((ord_lexordp_eq @ A) @ Ys) @ Xs)))))))).
% 2.86/1.55  thf(fact_109_lexordp__eq__antisym, axiom, (! [A:$tType]: (((linorder @ A) => (! [Xs:(list @ A),Ys:(list @ A)]: (((((ord_lexordp_eq @ A) @ Xs) @ Ys) => ((((ord_lexordp_eq @ A) @ Ys) @ Xs) => (Xs = Ys))))))))).
% 2.86/1.55  thf(fact_110_Cons__eq__appendI, axiom, (! [A:$tType,X:A,Xs1:(list @ A),Ys:(list @ A),Xs:(list @ A),Zs2:(list @ A)]: ((((((cons @ A) @ X) @ Xs1) = Ys) => ((Xs = (((append @ A) @ Xs1) @ Zs2)) => ((((cons @ A) @ X) @ Xs) = (((append @ A) @ Ys) @ Zs2))))))).
% 2.86/1.55  thf(fact_111_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.86/1.55  thf(fact_112_eq__Nil__appendI, axiom, (! [A:$tType,Xs:(list @ A),Ys:(list @ A)]: (((Xs = Ys) => (Xs = (((append @ A) @ (nil @ A)) @ Ys)))))).
% 2.86/1.55  thf(fact_113_append__Nil, axiom, (! [A:$tType,Ys:(list @ A)]: (((((append @ A) @ (nil @ A)) @ Ys) = Ys)))).
% 2.86/1.55  thf(fact_114_append_Oleft__neutral, axiom, (! [A:$tType,A3:(list @ A)]: (((((append @ A) @ (nil @ A)) @ A3) = A3)))).
% 2.86/1.55  thf(fact_115_ord_Olexordp__eq__pref, axiom, (! [A:$tType,Less:(A > (A > $o)),U:(list @ A),V2:(list @ A)]: (((((lexordp_eq @ A) @ Less) @ U) @ (((append @ A) @ U) @ V2))))).
% 2.86/1.55  thf(fact_116_lexordp__eq_ONil, axiom, (! [A:$tType]: (((ord @ A) => (! [Ys:(list @ A)]: ((((ord_lexordp_eq @ A) @ (nil @ A)) @ Ys))))))).
% 2.86/1.55  thf(fact_117_rev__induct, axiom, (! [A:$tType,P3:((list @ A) > $o),Xs:(list @ A)]: (((P3 @ (nil @ A)) => ((! [X3:A,Xs2:(list @ A)]: (((P3 @ Xs2) => (P3 @ (((append @ A) @ Xs2) @ (((cons @ A) @ X3) @ (nil @ A))))))) => (P3 @ Xs)))))).
% 2.86/1.55  thf(fact_118_rev__exhaust, axiom, (! [A:$tType,Xs:(list @ A)]: (((Xs != (nil @ A)) => (~ ((! [Ys2:(list @ A),Y2:A]: ((Xs != (((append @ A) @ Ys2) @ (((cons @ A) @ Y2) @ (nil @ A)))))))))))).
% 2.86/1.55  thf(fact_119_Cons__eq__append__conv, axiom, (! [A:$tType,X:A,Xs:(list @ A),Ys:(list @ A),Zs2:(list @ A)]: ((((((cons @ A) @ X) @ Xs) = (((append @ A) @ Ys) @ Zs2)) = (((Ys = (nil @ A)) & ((((cons @ A) @ X) @ Xs) = Zs2)) | (? [Ys4:(list @ A)]: ((((((cons @ A) @ X) @ Ys4) = Ys) & (Xs = (((append @ A) @ Ys4) @ Zs2)))))))))).
% 2.86/1.55  thf(fact_120_append__eq__Cons__conv, axiom, (! [A:$tType,Ys:(list @ A),Zs2:(list @ A),X:A,Xs:(list @ A)]: ((((((append @ A) @ Ys) @ Zs2) = (((cons @ A) @ X) @ Xs)) = (((Ys = (nil @ A)) & (Zs2 = (((cons @ A) @ X) @ Xs))) | (? [Ys4:(list @ A)]: (((Ys = (((cons @ A) @ X) @ Ys4)) & ((((append @ A) @ Ys4) @ Zs2) = Xs))))))))).
% 2.86/1.55  thf(fact_121_rev__nonempty__induct, axiom, (! [A:$tType,Xs:(list @ A),P3:((list @ A) > $o)]: (((Xs != (nil @ A)) => ((! [X3:A]: ((P3 @ (((cons @ A) @ X3) @ (nil @ A))))) => ((! [X3:A,Xs2:(list @ A)]: (((Xs2 != (nil @ A)) => ((P3 @ Xs2) => (P3 @ (((append @ A) @ Xs2) @ (((cons @ A) @ X3) @ (nil @ A)))))))) => (P3 @ Xs))))))).
% 2.86/1.55  thf(fact_122_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.86/1.55  thf(fact_123_old_Onat_Oinject, axiom, (! [Nat:nat,Nat2:nat]: ((((suc @ Nat) = (suc @ Nat2)) = (Nat = Nat2))))).
% 2.86/1.55  thf(fact_124_nat_Oinject, axiom, (! [X2:nat,Y23:nat]: ((((suc @ X2) = (suc @ Y23)) = (X2 = Y23))))).
% 2.86/1.55  thf(fact_125_product__lists_Osimps_I1_J, axiom, (! [A:$tType]: ((((product_lists @ A) @ (nil @ (list @ A))) = (((cons @ (list @ A)) @ (nil @ A)) @ (nil @ (list @ A))))))).
% 2.86/1.55  thf(fact_126_subseqs_Osimps_I1_J, axiom, (! [A:$tType]: ((((subseqs @ A) @ (nil @ A)) = (((cons @ (list @ A)) @ (nil @ A)) @ (nil @ (list @ A))))))).
% 2.86/1.55  thf(fact_127_concat__eq__append__conv, axiom, (! [A:$tType,Xss2:(list @ (list @ A)),Ys:(list @ A),Zs2:(list @ A)]: (((((concat @ A) @ Xss2) = (((append @ A) @ Ys) @ Zs2)) = (((Xss2 = (nil @ (list @ A))) => ((Ys = (nil @ A)) & (Zs2 = (nil @ A)))) & ((Xss2 != (nil @ (list @ A))) => (? [Xss1:(list @ (list @ A)),Xs3:(list @ A),Xs4:(list @ A),Xss22:(list @ (list @ A))]: (((Xss2 = (((append @ (list @ A)) @ Xss1) @ (((cons @ (list @ A)) @ (((append @ A) @ Xs3) @ Xs4)) @ Xss22))) & ((Ys = (((append @ A) @ ((concat @ A) @ Xss1)) @ Xs3)) & (Zs2 = (((append @ A) @ Xs4) @ ((concat @ A) @ Xss22))))))))))))).
% 2.86/1.55  thf(fact_128_concat__append, axiom, (! [A:$tType,Xs:(list @ (list @ A)),Ys:(list @ (list @ A))]: ((((concat @ A) @ (((append @ (list @ A)) @ Xs) @ Ys)) = (((append @ A) @ ((concat @ A) @ Xs)) @ ((concat @ A) @ Ys)))))).
% 2.86/1.55  thf(fact_129_concat_Osimps_I1_J, axiom, (! [A:$tType]: ((((concat @ A) @ (nil @ (list @ A))) = (nil @ A))))).
% 2.86/1.55  thf(fact_130_concat_Osimps_I2_J, axiom, (! [A:$tType,X:(list @ A),Xs:(list @ (list @ A))]: ((((concat @ A) @ (((cons @ (list @ A)) @ X) @ Xs)) = (((append @ A) @ X) @ ((concat @ A) @ Xs)))))).
% 2.86/1.55  thf(fact_131_Suc__inject, axiom, (! [X:nat,Y:nat]: ((((suc @ X) = (suc @ Y)) => (X = Y))))).
% 2.86/1.55  thf(fact_132_n__not__Suc__n, axiom, (! [N:nat]: ((N != (suc @ N))))).
% 2.86/1.55  thf(fact_133_concat__eq__appendD, axiom, (! [A:$tType,Xss2:(list @ (list @ A)),Ys:(list @ A),Zs2:(list @ A)]: (((((concat @ A) @ Xss2) = (((append @ A) @ Ys) @ Zs2)) => ((Xss2 != (nil @ (list @ A))) => (? [Xss12:(list @ (list @ A)),Xs2:(list @ A),Xs5:(list @ A),Xss23:(list @ (list @ A))]: (((Xss2 = (((append @ (list @ A)) @ Xss12) @ (((cons @ (list @ A)) @ (((append @ A) @ Xs2) @ Xs5)) @ Xss23))) & ((Ys = (((append @ A) @ ((concat @ A) @ Xss12)) @ Xs2)) & (Zs2 = (((append @ A) @ Xs5) @ ((concat @ A) @ Xss23)))))))))))).
% 2.86/1.55  thf(fact_134_butlast__snoc, axiom, (! [A:$tType,Xs:(list @ A),X:A]: ((((butlast @ A) @ (((append @ A) @ Xs) @ (((cons @ A) @ X) @ (nil @ A)))) = Xs)))).
% 2.86/1.55  thf(fact_135_enumerate__simps_I2_J, axiom, (! [B:$tType,N:nat,X:B,Xs:(list @ B)]: (((((enumerate @ B) @ N) @ (((cons @ B) @ X) @ Xs)) = (((cons @ ((product_prod @ nat) @ B)) @ ((((product_Pair @ nat) @ B) @ N) @ X)) @ (((enumerate @ B) @ (suc @ N)) @ Xs)))))).
% 2.86/1.55  thf(fact_136_last__snoc, axiom, (! [A:$tType,Xs:(list @ A),X:A]: ((((last @ A) @ (((append @ A) @ Xs) @ (((cons @ A) @ X) @ (nil @ A)))) = X)))).
% 2.86/1.55  thf(fact_137_plus__coeffs_Osimps_I2_J, axiom, (! [A:$tType]: (((comm_monoid_add @ A) => (! [V2:A,Va2:(list @ A)]: (((((plus_coeffs @ A) @ (nil @ A)) @ (((cons @ A) @ V2) @ Va2)) = (((cons @ A) @ V2) @ Va2)))))))).
% 2.86/1.55  thf(fact_138_last__appendL, axiom, (! [A:$tType,Ys:(list @ A),Xs:(list @ A)]: (((Ys = (nil @ A)) => (((last @ A) @ (((append @ A) @ Xs) @ Ys)) = ((last @ A) @ Xs)))))).
% 2.86/1.55  thf(fact_139_last__appendR, axiom, (! [A:$tType,Ys:(list @ A),Xs:(list @ A)]: (((Ys != (nil @ A)) => (((last @ A) @ (((append @ A) @ Xs) @ Ys)) = ((last @ A) @ Ys)))))).
% 2.86/1.55  thf(fact_140_zip__Cons__Cons, axiom, (! [A:$tType,B:$tType,X:A,Xs:(list @ A),Y:B,Ys:(list @ B)]: ((((((zip @ A) @ B) @ (((cons @ A) @ X) @ Xs)) @ (((cons @ B) @ Y) @ Ys)) = (((cons @ ((product_prod @ A) @ B)) @ ((((product_Pair @ A) @ B) @ X) @ Y)) @ ((((zip @ A) @ B) @ Xs) @ Ys)))))).
% 2.86/1.55  thf(fact_141_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.86/1.55  thf(fact_142_butlast_Osimps_I1_J, axiom, (! [A:$tType]: ((((butlast @ A) @ (nil @ A)) = (nil @ A))))).
% 2.86/1.55  thf(fact_143_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.86/1.55  thf(fact_144_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.86/1.55  thf(fact_145_last__ConsL, axiom, (! [A:$tType,Xs:(list @ A),X:A]: (((Xs = (nil @ A)) => (((last @ A) @ (((cons @ A) @ X) @ Xs)) = X))))).
% 2.86/1.55  thf(fact_146_last__ConsR, axiom, (! [A:$tType,Xs:(list @ A),X:A]: (((Xs != (nil @ A)) => (((last @ A) @ (((cons @ A) @ X) @ Xs)) = ((last @ A) @ Xs)))))).
% 2.86/1.55  thf(fact_147_zip__eq__ConsE, axiom, (! [A:$tType,B:$tType,Xs:(list @ A),Ys:(list @ B),Xy:((product_prod @ A) @ B),Xys:(list @ ((product_prod @ A) @ B))]: (((((((zip @ A) @ B) @ Xs) @ Ys) = (((cons @ ((product_prod @ A) @ B)) @ Xy) @ Xys)) => (~ ((! [X3:A,Xs5:(list @ A)]: (((Xs = (((cons @ A) @ X3) @ Xs5)) => (! [Y2:B,Ys5:(list @ B)]: (((Ys = (((cons @ B) @ Y2) @ Ys5)) => ((Xy = ((((product_Pair @ A) @ B) @ X3) @ Y2)) => (Xys != ((((zip @ A) @ B) @ Xs5) @ Ys5))))))))))))))).
% 2.86/1.55  thf(fact_148_plus__coeffs_Osimps_I1_J, axiom, (! [A:$tType]: (((comm_monoid_add @ A) => (! [Xs:(list @ A)]: (((((plus_coeffs @ A) @ Xs) @ (nil @ A)) = Xs))))))).
% 2.86/1.55  thf(fact_149_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.86/1.55  thf(fact_150_longest__common__suffix, axiom, (! [A:$tType,Xs:(list @ A),Ys:(list @ A)]: ((? [Ss:(list @ A),Xs5:(list @ A),Ys5:(list @ A)]: (((Xs = (((append @ A) @ Xs5) @ Ss)) & ((Ys = (((append @ A) @ Ys5) @ Ss)) & ((Xs5 = (nil @ A)) | ((Ys5 = (nil @ A)) | (((last @ A) @ Xs5) != ((last @ A) @ Ys5))))))))))).
% 2.86/1.55  thf(fact_151_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.86/1.55  thf(fact_152_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.86/1.55  thf(fact_153_snoc__listrel1__snoc__iff, axiom, (! [A:$tType,Xs:(list @ A),X:A,Ys:(list @ A),Y:A,R:(set @ ((product_prod @ A) @ A))]: (((((member2 @ ((product_prod @ (list @ A)) @ (list @ A))) @ ((((product_Pair @ (list @ A)) @ (list @ A)) @ (((append @ A) @ Xs) @ (((cons @ A) @ X) @ (nil @ A)))) @ (((append @ A) @ Ys) @ (((cons @ A) @ Y) @ (nil @ A))))) @ ((listrel1 @ A) @ R)) = (((((member2 @ ((product_prod @ (list @ A)) @ (list @ A))) @ ((((product_Pair @ (list @ A)) @ (list @ A)) @ Xs) @ Ys)) @ ((listrel1 @ A) @ R)) & (X = Y)) | ((Xs = Ys) & (((member2 @ ((product_prod @ A) @ A)) @ ((((product_Pair @ A) @ A) @ X) @ Y)) @ R))))))).
% 2.86/1.55  thf(fact_154_last__zip, axiom, (! [A:$tType,B:$tType,Xs:(list @ A),Ys:(list @ B)]: (((Xs != (nil @ A)) => ((Ys != (nil @ B)) => ((((size_size @ (list @ A)) @ Xs) = ((size_size @ (list @ B)) @ Ys)) => (((last @ ((product_prod @ A) @ B)) @ ((((zip @ A) @ B) @ Xs) @ Ys)) = ((((product_Pair @ A) @ B) @ ((last @ A) @ Xs)) @ ((last @ B) @ Ys))))))))).
% 2.86/1.55  thf(fact_155_concat__conv__foldr, axiom, (! [A:$tType]: (((concat @ A) = (^ [Xss3:(list @ (list @ A))]: ((((((foldr @ (list @ A)) @ (list @ A)) @ (append @ A)) @ Xss3) @ (nil @ A)))))))).
% 2.86/1.55  thf(fact_156_rotate__Suc, axiom, (! [A:$tType,N:nat,Xs:(list @ A)]: (((((rotate @ A) @ (suc @ N)) @ Xs) = ((rotate1 @ A) @ (((rotate @ A) @ N) @ Xs)))))).
% 2.86/1.55  thf(fact_157_append__eq__append__conv, axiom, (! [A:$tType,Xs:(list @ A),Ys:(list @ A),Us:(list @ A),Vs:(list @ A)]: ((((((size_size @ (list @ A)) @ Xs) = ((size_size @ (list @ A)) @ Ys)) | (((size_size @ (list @ A)) @ Us) = ((size_size @ (list @ A)) @ Vs))) => (((((append @ A) @ Xs) @ Us) = (((append @ A) @ Ys) @ Vs)) = ((Xs = Ys) & (Us = Vs))))))).
% 2.86/1.55  thf(fact_158_rotate__is__Nil__conv, axiom, (! [A:$tType,N:nat,Xs:(list @ A)]: ((((((rotate @ A) @ N) @ Xs) = (nil @ A)) = (Xs = (nil @ A)))))).
% 2.86/1.55  thf(fact_159_length__rotate, axiom, (! [A:$tType,N:nat,Xs:(list @ A)]: ((((size_size @ (list @ A)) @ (((rotate @ A) @ N) @ Xs)) = ((size_size @ (list @ A)) @ Xs))))).
% 2.86/1.55  thf(fact_160_foldr__append, axiom, (! [B:$tType,A:$tType,F:(B > (A > A)),Xs:(list @ B),Ys:(list @ B),A3:A]: (((((((foldr @ B) @ A) @ F) @ (((append @ B) @ Xs) @ Ys)) @ A3) = (((((foldr @ B) @ A) @ F) @ Xs) @ (((((foldr @ B) @ A) @ F) @ Ys) @ A3)))))).
% 2.86/1.55  thf(fact_161_length__enumerate, axiom, (! [A:$tType,N:nat,Xs:(list @ A)]: ((((size_size @ (list @ ((product_prod @ nat) @ A))) @ (((enumerate @ A) @ N) @ Xs)) = ((size_size @ (list @ A)) @ Xs))))).
% 2.86/1.55  thf(fact_162_length__rotate1, axiom, (! [A:$tType,Xs:(list @ A)]: ((((size_size @ (list @ A)) @ ((rotate1 @ A) @ Xs)) = ((size_size @ (list @ A)) @ Xs))))).
% 2.86/1.55  thf(fact_163_zip__append, axiom, (! [A:$tType,B:$tType,Xs:(list @ A),Us:(list @ B),Ys:(list @ A),Vs:(list @ B)]: (((((size_size @ (list @ A)) @ Xs) = ((size_size @ (list @ B)) @ Us)) => (((((zip @ A) @ B) @ (((append @ A) @ Xs) @ Ys)) @ (((append @ B) @ Us) @ Vs)) = (((append @ ((product_prod @ A) @ B)) @ ((((zip @ A) @ B) @ Xs) @ Us)) @ ((((zip @ A) @ B) @ Ys) @ Vs))))))).
% 2.86/1.55  thf(fact_164_Cons__listrel1__Cons, axiom, (! [A:$tType,X:A,Xs:(list @ A),Y:A,Ys:(list @ A),R:(set @ ((product_prod @ A) @ A))]: (((((member2 @ ((product_prod @ (list @ A)) @ (list @ A))) @ ((((product_Pair @ (list @ A)) @ (list @ A)) @ (((cons @ A) @ X) @ Xs)) @ (((cons @ A) @ Y) @ Ys))) @ ((listrel1 @ A) @ R)) = (((((member2 @ ((product_prod @ A) @ A)) @ ((((product_Pair @ A) @ A) @ X) @ Y)) @ R) & (Xs = Ys)) | ((X = Y) & (((member2 @ ((product_prod @ (list @ A)) @ (list @ A))) @ ((((product_Pair @ (list @ A)) @ (list @ A)) @ Xs) @ Ys)) @ ((listrel1 @ A) @ R)))))))).
% 2.86/1.55  thf(fact_165_append__listrel1I, axiom, (! [A:$tType,Xs:(list @ A),Ys:(list @ A),R:(set @ ((product_prod @ A) @ A)),Us:(list @ A),Vs:(list @ A)]: (((((((member2 @ ((product_prod @ (list @ A)) @ (list @ A))) @ ((((product_Pair @ (list @ A)) @ (list @ A)) @ Xs) @ Ys)) @ ((listrel1 @ A) @ R)) & (Us = Vs)) | ((Xs = Ys) & (((member2 @ ((product_prod @ (list @ A)) @ (list @ A))) @ ((((product_Pair @ (list @ A)) @ (list @ A)) @ Us) @ Vs)) @ ((listrel1 @ A) @ R)))) => (((member2 @ ((product_prod @ (list @ A)) @ (list @ A))) @ ((((product_Pair @ (list @ A)) @ (list @ A)) @ (((append @ A) @ Xs) @ Us)) @ (((append @ A) @ Ys) @ Vs))) @ ((listrel1 @ A) @ R)))))).
% 2.86/1.55  thf(fact_166_listrel1__eq__len, axiom, (! [A:$tType,Xs:(list @ A),Ys:(list @ A),R:(set @ ((product_prod @ A) @ A))]: (((((member2 @ ((product_prod @ (list @ A)) @ (list @ A))) @ ((((product_Pair @ (list @ A)) @ (list @ A)) @ Xs) @ Ys)) @ ((listrel1 @ A) @ R)) => (((size_size @ (list @ A)) @ Xs) = ((size_size @ (list @ A)) @ Ys)))))).
% 2.86/1.55  thf(fact_167_map__tailrec__rev_Ocases, axiom, (! [A:$tType,B:$tType,X:((product_prod @ (A > B)) @ ((product_prod @ (list @ A)) @ (list @ B)))]: (((! [F3:(A > B),Bs2:(list @ B)]: ((X != ((((product_Pair @ (A > B)) @ ((product_prod @ (list @ A)) @ (list @ B))) @ F3) @ ((((product_Pair @ (list @ A)) @ (list @ B)) @ (nil @ A)) @ Bs2))))) => (~ ((! [F3:(A > B),A2:A,As:(list @ A),Bs2:(list @ B)]: ((X != ((((product_Pair @ (A > B)) @ ((product_prod @ (list @ A)) @ (list @ B))) @ F3) @ ((((product_Pair @ (list @ A)) @ (list @ B)) @ (((cons @ A) @ A2) @ As)) @ Bs2))))))))))).
% 2.86/1.55  thf(fact_168_not__listrel1__Nil, axiom, (! [A:$tType,Xs:(list @ A),R:(set @ ((product_prod @ A) @ A))]: ((~ ((((member2 @ ((product_prod @ (list @ A)) @ (list @ A))) @ ((((product_Pair @ (list @ A)) @ (list @ A)) @ Xs) @ (nil @ A))) @ ((listrel1 @ A) @ R))))))).
% 2.86/1.55  thf(fact_169_not__Nil__listrel1, axiom, (! [A:$tType,Xs:(list @ A),R:(set @ ((product_prod @ A) @ A))]: ((~ ((((member2 @ ((product_prod @ (list @ A)) @ (list @ A))) @ ((((product_Pair @ (list @ A)) @ (list @ A)) @ (nil @ A)) @ Xs)) @ ((listrel1 @ A) @ R))))))).
% 2.86/1.55  thf(fact_170_listrel1I2, axiom, (! [A:$tType,Xs:(list @ A),Ys:(list @ A),R:(set @ ((product_prod @ A) @ A)),X:A]: (((((member2 @ ((product_prod @ (list @ A)) @ (list @ A))) @ ((((product_Pair @ (list @ A)) @ (list @ A)) @ Xs) @ Ys)) @ ((listrel1 @ A) @ R)) => (((member2 @ ((product_prod @ (list @ A)) @ (list @ A))) @ ((((product_Pair @ (list @ A)) @ (list @ A)) @ (((cons @ A) @ X) @ Xs)) @ (((cons @ A) @ X) @ Ys))) @ ((listrel1 @ A) @ R)))))).
% 2.86/1.55  thf(fact_171_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.86/1.55  thf(fact_172_Ex__list__of__length, axiom, (! [A:$tType,N:nat]: ((? [Xs2:(list @ A)]: ((((size_size @ (list @ A)) @ Xs2) = N)))))).
% 2.86/1.55  thf(fact_173_size__neq__size__imp__neq, axiom, (! [A:$tType]: (((size @ A) => (! [X:A,Y:A]: (((((size_size @ A) @ X) != ((size_size @ A) @ Y)) => (X != Y)))))))).
% 2.86/1.55  thf(fact_174_rotate__append, axiom, (! [A:$tType,L:(list @ A),Q3:(list @ A)]: (((((rotate @ A) @ ((size_size @ (list @ A)) @ L)) @ (((append @ A) @ L) @ Q3)) = (((append @ A) @ Q3) @ L))))).
% 2.86/1.55  thf(fact_175_rotate1__rotate__swap, axiom, (! [A:$tType,N:nat,Xs:(list @ A)]: ((((rotate1 @ A) @ (((rotate @ A) @ N) @ Xs)) = (((rotate @ A) @ N) @ ((rotate1 @ A) @ Xs)))))).
% 2.86/1.55  thf(fact_176_arg__min__list_Ocases, axiom, (! [B:$tType,A:$tType]: (((linorder @ B) => (! [X:((product_prod @ (A > B)) @ (list @ A))]: (((! [F3:(A > B),X3:A]: ((X != ((((product_Pair @ (A > B)) @ (list @ A)) @ F3) @ (((cons @ A) @ X3) @ (nil @ A)))))) => ((! [F3:(A > B),X3:A,Y2:A,Zs:(list @ A)]: ((X != ((((product_Pair @ (A > B)) @ (list @ A)) @ F3) @ (((cons @ A) @ X3) @ (((cons @ A) @ Y2) @ Zs)))))) => (~ ((! [A2:(A > B)]: ((X != ((((product_Pair @ (A > B)) @ (list @ A)) @ A2) @ (nil @ A))))))))))))))).
% 2.86/1.55  thf(fact_177_successively_Ocases, axiom, (! [A:$tType,X:((product_prod @ (A > (A > $o))) @ (list @ A))]: (((! [P4:(A > (A > $o))]: ((X != ((((product_Pair @ (A > (A > $o))) @ (list @ A)) @ P4) @ (nil @ A))))) => ((! [P4:(A > (A > $o)),X3:A]: ((X != ((((product_Pair @ (A > (A > $o))) @ (list @ A)) @ P4) @ (((cons @ A) @ X3) @ (nil @ A)))))) => (~ ((! [P4:(A > (A > $o)),X3:A,Y2:A,Xs2:(list @ A)]: ((X != ((((product_Pair @ (A > (A > $o))) @ (list @ A)) @ P4) @ (((cons @ A) @ X3) @ (((cons @ A) @ Y2) @ Xs2))))))))))))).
% 2.86/1.55  thf(fact_178_sorted__wrt_Ocases, axiom, (! [A:$tType,X:((product_prod @ (A > (A > $o))) @ (list @ A))]: (((! [P4:(A > (A > $o))]: ((X != ((((product_Pair @ (A > (A > $o))) @ (list @ A)) @ P4) @ (nil @ A))))) => (~ ((! [P4:(A > (A > $o)),X3:A,Ys2:(list @ A)]: ((X != ((((product_Pair @ (A > (A > $o))) @ (list @ A)) @ P4) @ (((cons @ A) @ X3) @ Ys2))))))))))).
% 2.86/1.55  thf(fact_179_Suc__length__conv, axiom, (! [A:$tType,N:nat,Xs:(list @ A)]: ((((suc @ N) = ((size_size @ (list @ A)) @ Xs)) = (? [Y3:A,Ys3:(list @ A)]: (((Xs = (((cons @ A) @ Y3) @ Ys3)) & (((size_size @ (list @ A)) @ Ys3) = N)))))))).
% 2.86/1.55  thf(fact_180_length__Suc__conv, axiom, (! [A:$tType,Xs:(list @ A),N:nat]: (((((size_size @ (list @ A)) @ Xs) = (suc @ N)) = (? [Y3:A,Ys3:(list @ A)]: (((Xs = (((cons @ A) @ Y3) @ Ys3)) & (((size_size @ (list @ A)) @ Ys3) = N)))))))).
% 2.86/1.55  thf(fact_181_list__induct4, axiom, (! [C:$tType,A:$tType,B:$tType,D:$tType,Xs:(list @ A),Ys:(list @ B),Zs2:(list @ C),Ws:(list @ D),P3:((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)) @ Zs2)) => ((((size_size @ (list @ C)) @ Zs2) = ((size_size @ (list @ D)) @ Ws)) => (((((P3 @ (nil @ A)) @ (nil @ B)) @ (nil @ C)) @ (nil @ D)) => ((! [X3:A,Xs2:(list @ A),Y2:B,Ys2:(list @ B),Z:C,Zs:(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)) @ Zs)) => ((((size_size @ (list @ C)) @ Zs) = ((size_size @ (list @ D)) @ Ws2)) => (((((P3 @ Xs2) @ Ys2) @ Zs) @ Ws2) => ((((P3 @ (((cons @ A) @ X3) @ Xs2)) @ (((cons @ B) @ Y2) @ Ys2)) @ (((cons @ C) @ Z) @ Zs)) @ (((cons @ D) @ W) @ Ws2)))))))) => ((((P3 @ Xs) @ Ys) @ Zs2) @ Ws))))))))).
% 2.86/1.55  thf(fact_182_list__induct3, axiom, (! [B:$tType,A:$tType,C:$tType,Xs:(list @ A),Ys:(list @ B),Zs2:(list @ C),P3:((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)) @ Zs2)) => ((((P3 @ (nil @ A)) @ (nil @ B)) @ (nil @ C)) => ((! [X3:A,Xs2:(list @ A),Y2:B,Ys2:(list @ B),Z:C,Zs:(list @ C)]: (((((size_size @ (list @ A)) @ Xs2) = ((size_size @ (list @ B)) @ Ys2)) => ((((size_size @ (list @ B)) @ Ys2) = ((size_size @ (list @ C)) @ Zs)) => ((((P3 @ Xs2) @ Ys2) @ Zs) => (((P3 @ (((cons @ A) @ X3) @ Xs2)) @ (((cons @ B) @ Y2) @ Ys2)) @ (((cons @ C) @ Z) @ Zs))))))) => (((P3 @ Xs) @ Ys) @ Zs2)))))))).
% 2.86/1.55  thf(fact_183_list__induct2, axiom, (! [A:$tType,B:$tType,Xs:(list @ A),Ys:(list @ B),P3:((list @ A) > ((list @ B) > $o))]: (((((size_size @ (list @ A)) @ Xs) = ((size_size @ (list @ B)) @ Ys)) => (((P3 @ (nil @ A)) @ (nil @ B)) => ((! [X3:A,Xs2:(list @ A),Y2:B,Ys2:(list @ B)]: (((((size_size @ (list @ A)) @ Xs2) = ((size_size @ (list @ B)) @ Ys2)) => (((P3 @ Xs2) @ Ys2) => ((P3 @ (((cons @ A) @ X3) @ Xs2)) @ (((cons @ B) @ Y2) @ Ys2)))))) => ((P3 @ Xs) @ Ys))))))).
% 2.86/1.55  thf(fact_184_pderiv__coeffs__code_Ocases, axiom, (! [A:$tType]: ((((comm_semiring_1 @ A) & (semiri1193490041visors @ A)) => (! [X:((product_prod @ A) @ (list @ A))]: (((! [F3:A,X3:A,Xs2:(list @ A)]: ((X != ((((product_Pair @ A) @ (list @ A)) @ F3) @ (((cons @ A) @ X3) @ Xs2))))) => (~ ((! [F3:A]: ((X != ((((product_Pair @ A) @ (list @ A)) @ F3) @ (nil @ A)))))))))))))).
% 2.86/1.55  thf(fact_185_shuffles_Ocases, axiom, (! [A:$tType,X:((product_prod @ (list @ A)) @ (list @ A))]: (((! [Ys2:(list @ A)]: ((X != ((((product_Pair @ (list @ A)) @ (list @ A)) @ (nil @ A)) @ Ys2)))) => ((! [Xs2:(list @ A)]: ((X != ((((product_Pair @ (list @ A)) @ (list @ A)) @ Xs2) @ (nil @ A))))) => (~ ((! [X3:A,Xs2:(list @ A),Y2:A,Ys2:(list @ A)]: ((X != ((((product_Pair @ (list @ A)) @ (list @ A)) @ (((cons @ A) @ X3) @ Xs2)) @ (((cons @ A) @ Y2) @ Ys2)))))))))))).
% 2.86/1.55  thf(fact_186_plus__coeffs_Ocases, axiom, (! [A:$tType]: (((comm_monoid_add @ A) => (! [X:((product_prod @ (list @ A)) @ (list @ A))]: (((! [Xs2:(list @ A)]: ((X != ((((product_Pair @ (list @ A)) @ (list @ A)) @ Xs2) @ (nil @ A))))) => ((! [V:A,Va:(list @ A)]: ((X != ((((product_Pair @ (list @ A)) @ (list @ A)) @ (nil @ A)) @ (((cons @ A) @ V) @ Va))))) => (~ ((! [X3:A,Xs2:(list @ A),Y2:A,Ys2:(list @ A)]: ((X != ((((product_Pair @ (list @ A)) @ (list @ A)) @ (((cons @ A) @ X3) @ Xs2)) @ (((cons @ A) @ Y2) @ Ys2))))))))))))))).
% 2.86/1.55  thf(fact_187_minus__poly__rev__list_Ocases, axiom, (! [A:$tType]: (((group_add @ A) => (! [X:((product_prod @ (list @ A)) @ (list @ A))]: (((! [X3:A,Xs2:(list @ A),Y2:A,Ys2:(list @ A)]: ((X != ((((product_Pair @ (list @ A)) @ (list @ A)) @ (((cons @ A) @ X3) @ Xs2)) @ (((cons @ A) @ Y2) @ Ys2))))) => ((! [Xs2:(list @ A)]: ((X != ((((product_Pair @ (list @ A)) @ (list @ A)) @ Xs2) @ (nil @ A))))) => (~ ((! [Y2:A,Ys2:(list @ A)]: ((X != ((((product_Pair @ (list @ A)) @ (list @ A)) @ (nil @ A)) @ (((cons @ A) @ Y2) @ Ys2))))))))))))))).
% 2.86/1.55  thf(fact_188_Cons__listrel1E2, axiom, (! [A:$tType,Xs:(list @ A),Y:A,Ys:(list @ A),R:(set @ ((product_prod @ A) @ A))]: (((((member2 @ ((product_prod @ (list @ A)) @ (list @ A))) @ ((((product_Pair @ (list @ A)) @ (list @ A)) @ Xs) @ (((cons @ A) @ Y) @ Ys))) @ ((listrel1 @ A) @ R)) => ((! [X3:A]: (((Xs = (((cons @ A) @ X3) @ Ys)) => (~ ((((member2 @ ((product_prod @ A) @ A)) @ ((((product_Pair @ A) @ A) @ X3) @ Y)) @ R)))))) => (~ ((! [Zs:(list @ A)]: (((Xs = (((cons @ A) @ Y) @ Zs)) => (~ ((((member2 @ ((product_prod @ (list @ A)) @ (list @ A))) @ ((((product_Pair @ (list @ A)) @ (list @ A)) @ Zs) @ Ys)) @ ((listrel1 @ A) @ R)))))))))))))).
% 2.86/1.55  thf(fact_189_Cons__listrel1E1, axiom, (! [A:$tType,X:A,Xs:(list @ A),Ys:(list @ A),R:(set @ ((product_prod @ A) @ A))]: (((((member2 @ ((product_prod @ (list @ A)) @ (list @ A))) @ ((((product_Pair @ (list @ A)) @ (list @ A)) @ (((cons @ A) @ X) @ Xs)) @ Ys)) @ ((listrel1 @ A) @ R)) => ((! [Y2:A]: (((Ys = (((cons @ A) @ Y2) @ Xs)) => (~ ((((member2 @ ((product_prod @ A) @ A)) @ ((((product_Pair @ A) @ A) @ X) @ Y2)) @ R)))))) => (~ ((! [Zs:(list @ A)]: (((Ys = (((cons @ A) @ X) @ Zs)) => (~ ((((member2 @ ((product_prod @ (list @ A)) @ (list @ A))) @ ((((product_Pair @ (list @ A)) @ (list @ A)) @ Xs) @ Zs)) @ ((listrel1 @ A) @ R)))))))))))))).
% 2.86/1.55  thf(fact_190_listrel1I1, axiom, (! [A:$tType,X:A,Y:A,R:(set @ ((product_prod @ A) @ A)),Xs:(list @ A)]: (((((member2 @ ((product_prod @ A) @ A)) @ ((((product_Pair @ A) @ A) @ X) @ Y)) @ R) => (((member2 @ ((product_prod @ (list @ A)) @ (list @ A))) @ ((((product_Pair @ (list @ A)) @ (list @ A)) @ (((cons @ A) @ X) @ Xs)) @ (((cons @ A) @ Y) @ Xs))) @ ((listrel1 @ A) @ R)))))).
% 2.86/1.55  thf(fact_191_same__length__different, axiom, (! [A:$tType,Xs:(list @ A),Ys:(list @ A)]: (((Xs != Ys) => ((((size_size @ (list @ A)) @ Xs) = ((size_size @ (list @ A)) @ Ys)) => (? [Pre:(list @ A),X3:A,Xs5:(list @ A),Y2:A,Ys5:(list @ A)]: (((X3 != Y2) & ((Xs = (((append @ A) @ Pre) @ (((append @ A) @ (((cons @ A) @ X3) @ (nil @ A))) @ Xs5))) & (Ys = (((append @ A) @ Pre) @ (((append @ A) @ (((cons @ A) @ Y2) @ (nil @ A))) @ Ys5)))))))))))).
% 2.86/1.55  thf(fact_192_listrel1E, axiom, (! [A:$tType,Xs:(list @ A),Ys:(list @ A),R:(set @ ((product_prod @ A) @ A))]: (((((member2 @ ((product_prod @ (list @ A)) @ (list @ A))) @ ((((product_Pair @ (list @ A)) @ (list @ A)) @ Xs) @ Ys)) @ ((listrel1 @ A) @ R)) => (~ ((! [X3:A,Y2:A]: (((((member2 @ ((product_prod @ A) @ A)) @ ((((product_Pair @ A) @ A) @ X3) @ Y2)) @ R) => (! [Us3:(list @ A),Vs2:(list @ A)]: (((Xs = (((append @ A) @ Us3) @ (((cons @ A) @ X3) @ Vs2))) => (Ys != (((append @ A) @ Us3) @ (((cons @ A) @ Y2) @ Vs2))))))))))))))).
% 2.86/1.55  thf(fact_193_listrel1I, axiom, (! [A:$tType,X:A,Y:A,R:(set @ ((product_prod @ A) @ A)),Xs:(list @ A),Us:(list @ A),Vs:(list @ A),Ys:(list @ A)]: (((((member2 @ ((product_prod @ A) @ A)) @ ((((product_Pair @ A) @ A) @ X) @ Y)) @ R) => ((Xs = (((append @ A) @ Us) @ (((cons @ A) @ X) @ Vs))) => ((Ys = (((append @ A) @ Us) @ (((cons @ A) @ Y) @ Vs))) => (((member2 @ ((product_prod @ (list @ A)) @ (list @ A))) @ ((((product_Pair @ (list @ A)) @ (list @ A)) @ Xs) @ Ys)) @ ((listrel1 @ A) @ R)))))))).
% 2.86/1.55  thf(fact_194_length__append__singleton, axiom, (! [A:$tType,Xs:(list @ A),X:A]: ((((size_size @ (list @ A)) @ (((append @ A) @ Xs) @ (((cons @ A) @ X) @ (nil @ A)))) = (suc @ ((size_size @ (list @ A)) @ Xs)))))).
% 2.86/1.55  thf(fact_195_subset__eq__mset__impl_Ocases, axiom, (! [A:$tType,X:((product_prod @ (list @ A)) @ (list @ A))]: (((! [Ys2:(list @ A)]: ((X != ((((product_Pair @ (list @ A)) @ (list @ A)) @ (nil @ A)) @ Ys2)))) => (~ ((! [X3:A,Xs2:(list @ A),Ys2:(list @ A)]: ((X != ((((product_Pair @ (list @ A)) @ (list @ A)) @ (((cons @ A) @ X3) @ Xs2)) @ Ys2)))))))))).
% 2.86/1.55  thf(fact_196_length__Cons, axiom, (! [A:$tType,X:A,Xs:(list @ A)]: ((((size_size @ (list @ A)) @ (((cons @ A) @ X) @ Xs)) = (suc @ ((size_size @ (list @ A)) @ Xs)))))).
% 2.86/1.55  thf(fact_197_shift__def, axiom, (! [B:$tType,A:$tType]: ((((bNF_Greatest_shift @ A) @ B) = (^ [Lab:((list @ A) > B),K:A,Kl:(list @ A)]: ((Lab @ (((cons @ A) @ K) @ Kl)))))))).
% 2.86/1.55  thf(fact_198_Cons__in__lex, axiom, (! [A:$tType,X:A,Xs:(list @ A),Y:A,Ys:(list @ A),R:(set @ ((product_prod @ A) @ A))]: (((((member2 @ ((product_prod @ (list @ A)) @ (list @ A))) @ ((((product_Pair @ (list @ A)) @ (list @ A)) @ (((cons @ A) @ X) @ Xs)) @ (((cons @ A) @ Y) @ Ys))) @ ((lex @ A) @ R)) = (((((member2 @ ((product_prod @ A) @ A)) @ ((((product_Pair @ A) @ A) @ X) @ Y)) @ R) & (((size_size @ (list @ A)) @ Xs) = ((size_size @ (list @ A)) @ Ys))) | ((X = Y) & (((member2 @ ((product_prod @ (list @ A)) @ (list @ A))) @ ((((product_Pair @ (list @ A)) @ (list @ A)) @ Xs) @ Ys)) @ ((lex @ A) @ R)))))))).
% 2.86/1.55  thf(fact_199_Nil2__notin__lex, axiom, (! [A:$tType,Xs:(list @ A),R:(set @ ((product_prod @ A) @ A))]: ((~ ((((member2 @ ((product_prod @ (list @ A)) @ (list @ A))) @ ((((product_Pair @ (list @ A)) @ (list @ A)) @ Xs) @ (nil @ A))) @ ((lex @ A) @ R))))))).
% 2.86/1.55  thf(fact_200_Nil__notin__lex, axiom, (! [A:$tType,Ys:(list @ A),R:(set @ ((product_prod @ A) @ A))]: ((~ ((((member2 @ ((product_prod @ (list @ A)) @ (list @ A))) @ ((((product_Pair @ (list @ A)) @ (list @ A)) @ (nil @ A)) @ Ys)) @ ((lex @ A) @ R))))))).
% 2.86/1.55  thf(fact_201_lex__append__leftI, axiom, (! [A:$tType,Ys:(list @ A),Zs2:(list @ A),R:(set @ ((product_prod @ A) @ A)),Xs:(list @ A)]: (((((member2 @ ((product_prod @ (list @ A)) @ (list @ A))) @ ((((product_Pair @ (list @ A)) @ (list @ A)) @ Ys) @ Zs2)) @ ((lex @ A) @ R)) => (((member2 @ ((product_prod @ (list @ A)) @ (list @ A))) @ ((((product_Pair @ (list @ A)) @ (list @ A)) @ (((append @ A) @ Xs) @ Ys)) @ (((append @ A) @ Xs) @ Zs2))) @ ((lex @ A) @ R)))))).
% 2.86/1.55  thf(fact_202_lex__append__left__iff, axiom, (! [A:$tType,R:(set @ ((product_prod @ A) @ A)),Xs:(list @ A),Ys:(list @ A),Zs2:(list @ A)]: (((! [X3:A]: ((~ ((((member2 @ ((product_prod @ A) @ A)) @ ((((product_Pair @ A) @ A) @ X3) @ X3)) @ R))))) => ((((member2 @ ((product_prod @ (list @ A)) @ (list @ A))) @ ((((product_Pair @ (list @ A)) @ (list @ A)) @ (((append @ A) @ Xs) @ Ys)) @ (((append @ A) @ Xs) @ Zs2))) @ ((lex @ A) @ R)) = (((member2 @ ((product_prod @ (list @ A)) @ (list @ A))) @ ((((product_Pair @ (list @ A)) @ (list @ A)) @ Ys) @ Zs2)) @ ((lex @ A) @ R))))))).
% 2.86/1.55  thf(fact_203_lex__append__leftD, axiom, (! [A:$tType,R:(set @ ((product_prod @ A) @ A)),Xs:(list @ A),Ys:(list @ A),Zs2:(list @ A)]: (((! [X3:A]: ((~ ((((member2 @ ((product_prod @ A) @ A)) @ ((((product_Pair @ A) @ A) @ X3) @ X3)) @ R))))) => ((((member2 @ ((product_prod @ (list @ A)) @ (list @ A))) @ ((((product_Pair @ (list @ A)) @ (list @ A)) @ (((append @ A) @ Xs) @ Ys)) @ (((append @ A) @ Xs) @ Zs2))) @ ((lex @ A) @ R)) => (((member2 @ ((product_prod @ (list @ A)) @ (list @ A))) @ ((((product_Pair @ (list @ A)) @ (list @ A)) @ Ys) @ Zs2)) @ ((lex @ A) @ R))))))).
% 2.86/1.55  thf(fact_204_lex__append__rightI, axiom, (! [A:$tType,Xs:(list @ A),Ys:(list @ A),R:(set @ ((product_prod @ A) @ A)),Vs:(list @ A),Us:(list @ A)]: (((((member2 @ ((product_prod @ (list @ A)) @ (list @ A))) @ ((((product_Pair @ (list @ A)) @ (list @ A)) @ Xs) @ Ys)) @ ((lex @ A) @ R)) => ((((size_size @ (list @ A)) @ Vs) = ((size_size @ (list @ A)) @ Us)) => (((member2 @ ((product_prod @ (list @ A)) @ (list @ A))) @ ((((product_Pair @ (list @ A)) @ (list @ A)) @ (((append @ A) @ Xs) @ Us)) @ (((append @ A) @ Ys) @ Vs))) @ ((lex @ A) @ R))))))).
% 2.86/1.55  thf(fact_205_SuccD, axiom, (! [A:$tType,K2:A,Kl2:(set @ (list @ A)),Kl3:(list @ A)]: (((((member2 @ A) @ K2) @ (((bNF_Greatest_Succ @ A) @ Kl2) @ Kl3)) => (((member2 @ (list @ A)) @ (((append @ A) @ Kl3) @ (((cons @ A) @ K2) @ (nil @ A)))) @ Kl2))))).
% 2.86/1.55  thf(fact_206_SuccI, axiom, (! [A:$tType,Kl3:(list @ A),K2:A,Kl2:(set @ (list @ A))]: (((((member2 @ (list @ A)) @ (((append @ A) @ Kl3) @ (((cons @ A) @ K2) @ (nil @ A)))) @ Kl2) => (((member2 @ A) @ K2) @ (((bNF_Greatest_Succ @ A) @ Kl2) @ Kl3)))))).
% 2.86/1.55  thf(fact_207_empty__Shift, axiom, (! [A:$tType,Kl2:(set @ (list @ A)),K2:A]: (((((member2 @ (list @ A)) @ (nil @ A)) @ Kl2) => ((((member2 @ A) @ K2) @ (((bNF_Greatest_Succ @ A) @ Kl2) @ (nil @ A))) => (((member2 @ (list @ A)) @ (nil @ A)) @ (((bNF_Greatest_Shift @ A) @ Kl2) @ K2))))))).
% 2.86/1.55  thf(fact_208_Succ__Shift, axiom, (! [A:$tType,Kl2:(set @ (list @ A)),K2:A,Kl3:(list @ A)]: (((((bNF_Greatest_Succ @ A) @ (((bNF_Greatest_Shift @ A) @ Kl2) @ K2)) @ Kl3) = (((bNF_Greatest_Succ @ A) @ Kl2) @ (((cons @ A) @ K2) @ Kl3)))))).
% 2.86/1.55  thf(fact_209_ShiftD, axiom, (! [A:$tType,Kl3:(list @ A),Kl2:(set @ (list @ A)),K2:A]: (((((member2 @ (list @ A)) @ Kl3) @ (((bNF_Greatest_Shift @ A) @ Kl2) @ K2)) => (((member2 @ (list @ A)) @ (((cons @ A) @ K2) @ Kl3)) @ Kl2))))).
% 2.86/1.55  thf(fact_210_length__product, axiom, (! [A:$tType,B:$tType,Xs:(list @ A),Ys:(list @ B)]: ((((size_size @ (list @ ((product_prod @ A) @ B))) @ ((((product @ A) @ B) @ Xs) @ Ys)) = (((times_times @ nat) @ ((size_size @ (list @ A)) @ Xs)) @ ((size_size @ (list @ B)) @ Ys)))))).
% 2.86/1.55  thf(fact_211_part__code_I1_J, axiom, (! [A:$tType,B:$tType]: (((linorder @ A) => (! [F:(B > A),Pivot:A]: (((((((linorder_part @ B) @ A) @ F) @ Pivot) @ (nil @ B)) = ((((product_Pair @ (list @ B)) @ ((product_prod @ (list @ B)) @ (list @ B))) @ (nil @ B)) @ ((((product_Pair @ (list @ B)) @ (list @ B)) @ (nil @ B)) @ (nil @ B)))))))))).
% 2.86/1.55  thf(fact_212_Suc__mult__cancel1, axiom, (! [K2:nat,M:nat,N:nat]: ((((((times_times @ nat) @ (suc @ K2)) @ M) = (((times_times @ nat) @ (suc @ K2)) @ N)) = (M = N))))).
% 2.86/1.55  thf(fact_213_lexord__append__left__rightI, axiom, (! [A:$tType,A3:A,B2:A,R:(set @ ((product_prod @ A) @ A)),U:(list @ A),X:(list @ A),Y:(list @ A)]: (((((member2 @ ((product_prod @ A) @ A)) @ ((((product_Pair @ A) @ A) @ A3) @ B2)) @ R) => (((member2 @ ((product_prod @ (list @ A)) @ (list @ A))) @ ((((product_Pair @ (list @ A)) @ (list @ A)) @ (((append @ A) @ U) @ (((cons @ A) @ A3) @ X))) @ (((append @ A) @ U) @ (((cons @ A) @ B2) @ Y)))) @ ((lexord @ A) @ R)))))).
% 2.86/1.55  thf(fact_214_listrel_Oinducts, axiom, (! [A:$tType,B:$tType,X1:(list @ A),X2:(list @ B),R:(set @ ((product_prod @ A) @ B)),P3:((list @ A) > ((list @ B) > $o))]: (((((member2 @ ((product_prod @ (list @ A)) @ (list @ B))) @ ((((product_Pair @ (list @ A)) @ (list @ B)) @ X1) @ X2)) @ (((listrel @ A) @ B) @ R)) => (((P3 @ (nil @ A)) @ (nil @ B)) => ((! [X3:A,Y2:B,Xs2:(list @ A),Ys2:(list @ B)]: (((((member2 @ ((product_prod @ A) @ B)) @ ((((product_Pair @ A) @ B) @ X3) @ Y2)) @ R) => ((((member2 @ ((product_prod @ (list @ A)) @ (list @ B))) @ ((((product_Pair @ (list @ A)) @ (list @ B)) @ Xs2) @ Ys2)) @ (((listrel @ A) @ B) @ R)) => (((P3 @ Xs2) @ Ys2) => ((P3 @ (((cons @ A) @ X3) @ Xs2)) @ (((cons @ B) @ Y2) @ Ys2))))))) => ((P3 @ X1) @ X2))))))).
% 2.86/1.55  thf(fact_215_lexord__cons__cons, axiom, (! [A:$tType,A3:A,X:(list @ A),B2:A,Y:(list @ A),R:(set @ ((product_prod @ A) @ A))]: (((((member2 @ ((product_prod @ (list @ A)) @ (list @ A))) @ ((((product_Pair @ (list @ A)) @ (list @ A)) @ (((cons @ A) @ A3) @ X)) @ (((cons @ A) @ B2) @ Y))) @ ((lexord @ A) @ R)) = ((((member2 @ ((product_prod @ A) @ A)) @ ((((product_Pair @ A) @ A) @ A3) @ B2)) @ R) | ((A3 = B2) & (((member2 @ ((product_prod @ (list @ A)) @ (list @ A))) @ ((((product_Pair @ (list @ A)) @ (list @ A)) @ X) @ Y)) @ ((lexord @ A) @ R)))))))).
% 2.86/1.55  thf(fact_216_lexord__Nil__left, axiom, (! [A:$tType,Y:(list @ A),R:(set @ ((product_prod @ A) @ A))]: (((((member2 @ ((product_prod @ (list @ A)) @ (list @ A))) @ ((((product_Pair @ (list @ A)) @ (list @ A)) @ (nil @ A)) @ Y)) @ ((lexord @ A) @ R)) = (? [A5:A,X4:(list @ A)]: ((Y = (((cons @ A) @ A5) @ X4)))))))).
% 2.86/1.55  thf(fact_217_lexord__append__leftI, axiom, (! [A:$tType,U:(list @ A),V2:(list @ A),R:(set @ ((product_prod @ A) @ A)),X:(list @ A)]: (((((member2 @ ((product_prod @ (list @ A)) @ (list @ A))) @ ((((product_Pair @ (list @ A)) @ (list @ A)) @ U) @ V2)) @ ((lexord @ A) @ R)) => (((member2 @ ((product_prod @ (list @ A)) @ (list @ A))) @ ((((product_Pair @ (list @ A)) @ (list @ A)) @ (((append @ A) @ X) @ U)) @ (((append @ A) @ X) @ V2))) @ ((lexord @ A) @ R)))))).
% 2.86/1.55  thf(fact_218_lexord__Nil__right, axiom, (! [A:$tType,X:(list @ A),R:(set @ ((product_prod @ A) @ A))]: ((~ ((((member2 @ ((product_prod @ (list @ A)) @ (list @ A))) @ ((((product_Pair @ (list @ A)) @ (list @ A)) @ X) @ (nil @ A))) @ ((lexord @ A) @ R))))))).
% 2.86/1.55  thf(fact_219_listrel__eq__len, axiom, (! [A:$tType,B:$tType,Xs:(list @ A),Ys:(list @ B),R:(set @ ((product_prod @ A) @ B))]: (((((member2 @ ((product_prod @ (list @ A)) @ (list @ B))) @ ((((product_Pair @ (list @ A)) @ (list @ B)) @ Xs) @ Ys)) @ (((listrel @ A) @ B) @ R)) => (((size_size @ (list @ A)) @ Xs) = ((size_size @ (list @ B)) @ Ys)))))).
% 2.86/1.55  thf(fact_220_listrel__Nil2, axiom, (! [B:$tType,A:$tType,Xs:(list @ A),R:(set @ ((product_prod @ A) @ B))]: (((((member2 @ ((product_prod @ (list @ A)) @ (list @ B))) @ ((((product_Pair @ (list @ A)) @ (list @ B)) @ Xs) @ (nil @ B))) @ (((listrel @ A) @ B) @ R)) => (Xs = (nil @ A)))))).
% 2.86/1.55  thf(fact_221_listrel__Nil1, axiom, (! [A:$tType,B:$tType,Xs:(list @ B),R:(set @ ((product_prod @ A) @ B))]: (((((member2 @ ((product_prod @ (list @ A)) @ (list @ B))) @ ((((product_Pair @ (list @ A)) @ (list @ B)) @ (nil @ A)) @ Xs)) @ (((listrel @ A) @ B) @ R)) => (Xs = (nil @ B)))))).
% 2.86/1.55  thf(fact_222_listrel_ONil, axiom, (! [B:$tType,A:$tType,R:(set @ ((product_prod @ A) @ B))]: ((((member2 @ ((product_prod @ (list @ A)) @ (list @ B))) @ ((((product_Pair @ (list @ A)) @ (list @ B)) @ (nil @ A)) @ (nil @ B))) @ (((listrel @ A) @ B) @ R))))).
% 2.86/1.55  thf(fact_223_lexord__linear, axiom, (! [A:$tType,R:(set @ ((product_prod @ A) @ A)),X:(list @ A),Y:(list @ A)]: (((! [A2:A,B3:A]: (((((member2 @ ((product_prod @ A) @ A)) @ ((((product_Pair @ A) @ A) @ A2) @ B3)) @ R) | ((A2 = B3) | (((member2 @ ((product_prod @ A) @ A)) @ ((((product_Pair @ A) @ A) @ B3) @ A2)) @ R))))) => ((((member2 @ ((product_prod @ (list @ A)) @ (list @ A))) @ ((((product_Pair @ (list @ A)) @ (list @ A)) @ X) @ Y)) @ ((lexord @ A) @ R)) | ((X = Y) | (((member2 @ ((product_prod @ (list @ A)) @ (list @ A))) @ ((((product_Pair @ (list @ A)) @ (list @ A)) @ Y) @ X)) @ ((lexord @ A) @ R)))))))).
% 2.86/1.55  thf(fact_224_lexord__irreflexive, axiom, (! [A:$tType,R:(set @ ((product_prod @ A) @ A)),Xs:(list @ A)]: (((! [X3:A]: ((~ ((((member2 @ ((product_prod @ A) @ A)) @ ((((product_Pair @ A) @ A) @ X3) @ X3)) @ R))))) => (~ ((((member2 @ ((product_prod @ (list @ A)) @ (list @ A))) @ ((((product_Pair @ (list @ A)) @ (list @ A)) @ Xs) @ Xs)) @ ((lexord @ A) @ R)))))))).
% 2.86/1.55  thf(fact_225_listrel__Cons2, axiom, (! [B:$tType,A:$tType,Xs:(list @ A),Y:B,Ys:(list @ B),R:(set @ ((product_prod @ A) @ B))]: (((((member2 @ ((product_prod @ (list @ A)) @ (list @ B))) @ ((((product_Pair @ (list @ A)) @ (list @ B)) @ Xs) @ (((cons @ B) @ Y) @ Ys))) @ (((listrel @ A) @ B) @ R)) => (~ ((! [X3:A,Xs2:(list @ A)]: (((Xs = (((cons @ A) @ X3) @ Xs2)) => ((((member2 @ ((product_prod @ A) @ B)) @ ((((product_Pair @ A) @ B) @ X3) @ Y)) @ R) => (~ ((((member2 @ ((product_prod @ (list @ A)) @ (list @ B))) @ ((((product_Pair @ (list @ A)) @ (list @ B)) @ Xs2) @ Ys)) @ (((listrel @ A) @ B) @ R)))))))))))))).
% 2.86/1.55  thf(fact_226_listrel__Cons1, axiom, (! [B:$tType,A:$tType,Y:A,Ys:(list @ A),Xs:(list @ B),R:(set @ ((product_prod @ A) @ B))]: (((((member2 @ ((product_prod @ (list @ A)) @ (list @ B))) @ ((((product_Pair @ (list @ A)) @ (list @ B)) @ (((cons @ A) @ Y) @ Ys)) @ Xs)) @ (((listrel @ A) @ B) @ R)) => (~ ((! [Y2:B,Ys2:(list @ B)]: (((Xs = (((cons @ B) @ Y2) @ Ys2)) => ((((member2 @ ((product_prod @ A) @ B)) @ ((((product_Pair @ A) @ B) @ Y) @ Y2)) @ R) => (~ ((((member2 @ ((product_prod @ (list @ A)) @ (list @ B))) @ ((((product_Pair @ (list @ A)) @ (list @ B)) @ Ys) @ Ys2)) @ (((listrel @ A) @ B) @ R)))))))))))))).
% 2.86/1.55  thf(fact_227_listrel_OCons, axiom, (! [B:$tType,A:$tType,X:A,Y:B,R:(set @ ((product_prod @ A) @ B)),Xs:(list @ A),Ys:(list @ B)]: (((((member2 @ ((product_prod @ A) @ B)) @ ((((product_Pair @ A) @ B) @ X) @ Y)) @ R) => ((((member2 @ ((product_prod @ (list @ A)) @ (list @ B))) @ ((((product_Pair @ (list @ A)) @ (list @ B)) @ Xs) @ Ys)) @ (((listrel @ A) @ B) @ R)) => (((member2 @ ((product_prod @ (list @ A)) @ (list @ B))) @ ((((product_Pair @ (list @ A)) @ (list @ B)) @ (((cons @ A) @ X) @ Xs)) @ (((cons @ B) @ Y) @ Ys))) @ (((listrel @ A) @ B) @ R))))))).
% 2.86/1.55  thf(fact_228_lexord__append__leftD, axiom, (! [A:$tType,X:(list @ A),U:(list @ A),V2:(list @ A),R:(set @ ((product_prod @ A) @ A))]: (((((member2 @ ((product_prod @ (list @ A)) @ (list @ A))) @ ((((product_Pair @ (list @ A)) @ (list @ A)) @ (((append @ A) @ X) @ U)) @ (((append @ A) @ X) @ V2))) @ ((lexord @ A) @ R)) => ((! [A2:A]: ((~ ((((member2 @ ((product_prod @ A) @ A)) @ ((((product_Pair @ A) @ A) @ A2) @ A2)) @ R))))) => (((member2 @ ((product_prod @ (list @ A)) @ (list @ A))) @ ((((product_Pair @ (list @ A)) @ (list @ A)) @ U) @ V2)) @ ((lexord @ A) @ R))))))).
% 2.86/1.55  thf(fact_229_lexord__append__rightI, axiom, (! [A:$tType,Y:(list @ A),X:(list @ A),R:(set @ ((product_prod @ A) @ A))]: (((? [B4:A,Z2:(list @ A)]: ((Y = (((cons @ A) @ B4) @ Z2)))) => (((member2 @ ((product_prod @ (list @ A)) @ (list @ A))) @ ((((product_Pair @ (list @ A)) @ (list @ A)) @ X) @ (((append @ A) @ X) @ Y))) @ ((lexord @ A) @ R)))))).
% 2.86/1.55  thf(fact_230_lexord__sufE, axiom, (! [A:$tType,Xs:(list @ A),Zs2:(list @ A),Ys:(list @ A),Qs:(list @ A),R:(set @ ((product_prod @ A) @ A))]: (((((member2 @ ((product_prod @ (list @ A)) @ (list @ A))) @ ((((product_Pair @ (list @ A)) @ (list @ A)) @ (((append @ A) @ Xs) @ Zs2)) @ (((append @ A) @ Ys) @ Qs))) @ ((lexord @ A) @ R)) => ((Xs != Ys) => ((((size_size @ (list @ A)) @ Xs) = ((size_size @ (list @ A)) @ Ys)) => ((((size_size @ (list @ A)) @ Zs2) = ((size_size @ (list @ A)) @ Qs)) => (((member2 @ ((product_prod @ (list @ A)) @ (list @ A))) @ ((((product_Pair @ (list @ A)) @ (list @ A)) @ Xs) @ Ys)) @ ((lexord @ A) @ R))))))))).
% 2.86/1.55  thf(fact_231_lexord__lex, axiom, (! [A:$tType,X:(list @ A),Y:(list @ A),R:(set @ ((product_prod @ A) @ A))]: (((((member2 @ ((product_prod @ (list @ A)) @ (list @ A))) @ ((((product_Pair @ (list @ A)) @ (list @ A)) @ X) @ Y)) @ ((lex @ A) @ R)) = ((((member2 @ ((product_prod @ (list @ A)) @ (list @ A))) @ ((((product_Pair @ (list @ A)) @ (list @ A)) @ X) @ Y)) @ ((lexord @ A) @ R)) & (((size_size @ (list @ A)) @ X) = ((size_size @ (list @ A)) @ Y))))))).
% 2.86/1.55  thf(fact_232_listrel_Ocases, axiom, (! [B:$tType,A:$tType,A12:(list @ A),A23:(list @ B),R:(set @ ((product_prod @ A) @ B))]: (((((member2 @ ((product_prod @ (list @ A)) @ (list @ B))) @ ((((product_Pair @ (list @ A)) @ (list @ B)) @ A12) @ A23)) @ (((listrel @ A) @ B) @ R)) => (((A12 = (nil @ A)) => (A23 != (nil @ B))) => (~ ((! [X3:A,Y2:B,Xs2:(list @ A)]: (((A12 = (((cons @ A) @ X3) @ Xs2)) => (! [Ys2:(list @ B)]: (((A23 = (((cons @ B) @ Y2) @ Ys2)) => ((((member2 @ ((product_prod @ A) @ B)) @ ((((product_Pair @ A) @ B) @ X3) @ Y2)) @ R) => (~ ((((member2 @ ((product_prod @ (list @ A)) @ (list @ B))) @ ((((product_Pair @ (list @ A)) @ (list @ B)) @ Xs2) @ Ys2)) @ (((listrel @ A) @ B) @ R)))))))))))))))))).
% 2.86/1.55  thf(fact_233_listrel_Osimps, axiom, (! [B:$tType,A:$tType,A12:(list @ A),A23:(list @ B),R:(set @ ((product_prod @ A) @ B))]: (((((member2 @ ((product_prod @ (list @ A)) @ (list @ B))) @ ((((product_Pair @ (list @ A)) @ (list @ B)) @ A12) @ A23)) @ (((listrel @ A) @ B) @ R)) = (((A12 = (nil @ A)) & (A23 = (nil @ B))) | (? [X4:A,Y3:B,Xs3:(list @ A),Ys3:(list @ B)]: (((A12 = (((cons @ A) @ X4) @ Xs3)) & ((A23 = (((cons @ B) @ Y3) @ Ys3)) & ((((member2 @ ((product_prod @ A) @ B)) @ ((((product_Pair @ A) @ B) @ X4) @ Y3)) @ R) & (((member2 @ ((product_prod @ (list @ A)) @ (list @ B))) @ ((((product_Pair @ (list @ A)) @ (list @ B)) @ Xs3) @ Ys3)) @ (((listrel @ A) @ B) @ R)))))))))))).
% 2.86/1.55  thf(fact_234_lexord__same__pref__if__irrefl, axiom, (! [A:$tType,R:(set @ ((product_prod @ A) @ A)),Xs:(list @ A),Ys:(list @ A),Zs2:(list @ A)]: ((((irrefl @ A) @ R) => ((((member2 @ ((product_prod @ (list @ A)) @ (list @ A))) @ ((((product_Pair @ (list @ A)) @ (list @ A)) @ (((append @ A) @ Xs) @ Ys)) @ (((append @ A) @ Xs) @ Zs2))) @ ((lexord @ A) @ R)) = (((member2 @ ((product_prod @ (list @ A)) @ (list @ A))) @ ((((product_Pair @ (list @ A)) @ (list @ A)) @ Ys) @ Zs2)) @ ((lexord @ A) @ R))))))).
% 2.86/1.55  thf(fact_235_map__tailrec__rev_Opelims, axiom, (! [A:$tType,B:$tType,X:(A > B),Xa:(list @ A),Xb:(list @ B),Y:(list @ B)]: ((((((((map_tailrec_rev @ A) @ B) @ X) @ Xa) @ Xb) = Y) => ((((accp @ ((product_prod @ (A > B)) @ ((product_prod @ (list @ A)) @ (list @ B)))) @ ((map_tailrec_rev_rel @ A) @ B)) @ ((((product_Pair @ (A > B)) @ ((product_prod @ (list @ A)) @ (list @ B))) @ X) @ ((((product_Pair @ (list @ A)) @ (list @ B)) @ Xa) @ Xb))) => (((Xa = (nil @ A)) => ((Y = Xb) => (~ ((((accp @ ((product_prod @ (A > B)) @ ((product_prod @ (list @ A)) @ (list @ B)))) @ ((map_tailrec_rev_rel @ A) @ B)) @ ((((product_Pair @ (A > B)) @ ((product_prod @ (list @ A)) @ (list @ B))) @ X) @ ((((product_Pair @ (list @ A)) @ (list @ B)) @ (nil @ A)) @ Xb))))))) => (~ ((! [A2:A,As:(list @ A)]: (((Xa = (((cons @ A) @ A2) @ As)) => ((Y = (((((map_tailrec_rev @ A) @ B) @ X) @ As) @ (((cons @ B) @ (X @ A2)) @ Xb))) => (~ ((((accp @ ((product_prod @ (A > B)) @ ((product_prod @ (list @ A)) @ (list @ B)))) @ ((map_tailrec_rev_rel @ A) @ B)) @ ((((product_Pair @ (A > B)) @ ((product_prod @ (list @ A)) @ (list @ B))) @ X) @ ((((product_Pair @ (list @ A)) @ (list @ B)) @ (((cons @ A) @ A2) @ As)) @ Xb))))))))))))))))).
% 2.86/1.55  thf(fact_236_lexord__irrefl, axiom, (! [A:$tType,R3:(set @ ((product_prod @ A) @ A))]: ((((irrefl @ A) @ R3) => ((irrefl @ (list @ A)) @ ((lexord @ A) @ R3)))))).
% 2.86/1.55  thf(fact_237_irrefl__lex, axiom, (! [A:$tType,R:(set @ ((product_prod @ A) @ A))]: ((((irrefl @ A) @ R) => ((irrefl @ (list @ A)) @ ((lex @ A) @ R)))))).
% 2.86/1.55  thf(fact_238_lexl__not__refl, axiom, (! [A:$tType,R:(set @ ((product_prod @ A) @ A)),X:(list @ A)]: ((((irrefl @ A) @ R) => (~ ((((member2 @ ((product_prod @ (list @ A)) @ (list @ A))) @ ((((product_Pair @ (list @ A)) @ (list @ A)) @ X) @ X)) @ ((lex @ A) @ R)))))))).
% 2.86/1.55  thf(fact_239_lenlex__append2, axiom, (! [A:$tType,R3:(set @ ((product_prod @ A) @ A)),Us:(list @ A),Xs:(list @ A),Ys:(list @ A)]: ((((irrefl @ A) @ R3) => ((((member2 @ ((product_prod @ (list @ A)) @ (list @ A))) @ ((((product_Pair @ (list @ A)) @ (list @ A)) @ (((append @ A) @ Us) @ Xs)) @ (((append @ A) @ Us) @ Ys))) @ ((lenlex @ A) @ R3)) = (((member2 @ ((product_prod @ (list @ A)) @ (list @ A))) @ ((((product_Pair @ (list @ A)) @ (list @ A)) @ Xs) @ Ys)) @ ((lenlex @ A) @ R3))))))).
% 2.86/1.55  thf(fact_240_lenlex__append1, axiom, (! [A:$tType,Us:(list @ A),Xs:(list @ A),R3:(set @ ((product_prod @ A) @ A)),Vs:(list @ A),Ys:(list @ A)]: (((((member2 @ ((product_prod @ (list @ A)) @ (list @ A))) @ ((((product_Pair @ (list @ A)) @ (list @ A)) @ Us) @ Xs)) @ ((lenlex @ A) @ R3)) => ((((size_size @ (list @ A)) @ Vs) = ((size_size @ (list @ A)) @ Ys)) => (((member2 @ ((product_prod @ (list @ A)) @ (list @ A))) @ ((((product_Pair @ (list @ A)) @ (list @ A)) @ (((append @ A) @ Us) @ Vs)) @ (((append @ A) @ Xs) @ Ys))) @ ((lenlex @ A) @ R3))))))).
% 2.86/1.55  thf(fact_241_Nil__lenlex__iff1, axiom, (! [A:$tType,Ns:(list @ A),R:(set @ ((product_prod @ A) @ A))]: (((((member2 @ ((product_prod @ (list @ A)) @ (list @ A))) @ ((((product_Pair @ (list @ A)) @ (list @ A)) @ (nil @ A)) @ Ns)) @ ((lenlex @ A) @ R)) = (Ns != (nil @ A)))))).
% 2.86/1.55  thf(fact_242_lenlex__irreflexive, axiom, (! [A:$tType,R:(set @ ((product_prod @ A) @ A)),Xs:(list @ A)]: (((! [X3:A]: ((~ ((((member2 @ ((product_prod @ A) @ A)) @ ((((product_Pair @ A) @ A) @ X3) @ X3)) @ R))))) => (~ ((((member2 @ ((product_prod @ (list @ A)) @ (list @ A))) @ ((((product_Pair @ (list @ A)) @ (list @ A)) @ Xs) @ Xs)) @ ((lenlex @ A) @ R)))))))).
% 2.86/1.55  thf(fact_243_Nil__lenlex__iff2, axiom, (! [A:$tType,Ns:(list @ A),R:(set @ ((product_prod @ A) @ A))]: ((~ ((((member2 @ ((product_prod @ (list @ A)) @ (list @ A))) @ ((((product_Pair @ (list @ A)) @ (list @ A)) @ Ns) @ (nil @ A))) @ ((lenlex @ A) @ R))))))).
% 2.86/1.55  thf(fact_244_Cons__lenlex__iff, axiom, (! [A:$tType,M:A,Ms:(list @ A),N:A,Ns:(list @ A),R:(set @ ((product_prod @ A) @ A))]: (((((member2 @ ((product_prod @ (list @ A)) @ (list @ A))) @ ((((product_Pair @ (list @ A)) @ (list @ A)) @ (((cons @ A) @ M) @ Ms)) @ (((cons @ A) @ N) @ Ns))) @ ((lenlex @ A) @ R)) = ((((ord_less @ nat) @ ((size_size @ (list @ A)) @ Ms)) @ ((size_size @ (list @ A)) @ Ns)) | (((((size_size @ (list @ A)) @ Ms) = ((size_size @ (list @ A)) @ Ns)) & (((member2 @ ((product_prod @ A) @ A)) @ ((((product_Pair @ A) @ A) @ M) @ N)) @ R)) | ((M = N) & (((member2 @ ((product_prod @ (list @ A)) @ (list @ A))) @ ((((product_Pair @ (list @ A)) @ (list @ A)) @ Ms) @ Ns)) @ ((lenlex @ A) @ R))))))))).
% 2.86/1.55  thf(fact_245_product_Osimps_I2_J, axiom, (! [A:$tType,B:$tType,X:A,Xs:(list @ A),Ys:(list @ B)]: ((((((product @ A) @ B) @ (((cons @ A) @ X) @ Xs)) @ Ys) = (((append @ ((product_prod @ A) @ B)) @ ((((map @ B) @ ((product_prod @ A) @ B)) @ (((product_Pair @ A) @ B) @ X)) @ Ys)) @ ((((product @ A) @ B) @ Xs) @ Ys)))))).
% 2.86/1.55  thf(fact_246_Suc__less__eq, axiom, (! [M:nat,N:nat]: (((((ord_less @ nat) @ (suc @ M)) @ (suc @ N)) = (((ord_less @ nat) @ M) @ N))))).
% 2.86/1.55  thf(fact_247_Suc__mono, axiom, (! [M:nat,N:nat]: (((((ord_less @ nat) @ M) @ N) => (((ord_less @ nat) @ (suc @ M)) @ (suc @ N)))))).
% 2.86/1.55  thf(fact_248_lessI, axiom, (! [N:nat]: ((((ord_less @ nat) @ N) @ (suc @ N))))).
% 2.86/1.55  thf(fact_249_list_Omap__disc__iff, axiom, (! [B:$tType,A:$tType,F:(A > B),A3:(list @ A)]: (((((((map @ A) @ B) @ F) @ A3) = (nil @ B)) = (A3 = (nil @ A)))))).
% 2.86/1.55  thf(fact_250_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.86/1.55  thf(fact_251_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.86/1.55  thf(fact_252_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.86/1.55  thf(fact_253_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.86/1.55  thf(tcon_Polynomial_Opoly___Rings_Ocomm__semiring__0, axiom, (! [A6:$tType]: (((comm_semiring_0 @ A6) => (comm_semiring_0 @ (poly @ A6)))))).
% 2.86/1.55  thf(tcon_Polynomial_Opoly___Rings_Olinordered__idom, axiom, (! [A6:$tType]: (((linordered_idom @ A6) => (linordered_idom @ (poly @ A6)))))).
% 2.86/1.55  thf(tcon_Polynomial_Opoly___Groups_Oab__group__add, axiom, (! [A6:$tType]: (((ab_group_add @ A6) => (ab_group_add @ (poly @ A6)))))).
% 2.86/1.55  thf(tcon_Real_Oreal___Rings_Ocomm__semiring__0_1, axiom, (comm_semiring_0 @ real)).
% 2.86/1.55  thf(tcon_Real_Oreal___Rings_Olinordered__idom_2, axiom, (linordered_idom @ real)).
% 2.86/1.55  thf(tcon_Real_Oreal___Groups_Oab__group__add_3, axiom, (ab_group_add @ real)).
% 2.86/1.55  thf(tcon_Nat_Onat___Rings_Ocomm__semiring__0_4, axiom, (comm_semiring_0 @ nat)).
% 2.86/1.55  thf(tcon_fun___Orderings_Oord, axiom, (! [A6:$tType,A7:$tType]: (((ord @ A7) => (ord @ (A6 > A7)))))).
% 2.86/1.55  thf(tcon_Nat_Onat___Rings_Osemiring__no__zero__divisors, axiom, (semiri1193490041visors @ nat)).
% 2.86/1.55  thf(tcon_Nat_Onat___Groups_Ocomm__monoid__add, axiom, (comm_monoid_add @ nat)).
% 2.86/1.55  thf(tcon_Nat_Onat___Rings_Ocomm__semiring__1, axiom, (comm_semiring_1 @ nat)).
% 2.86/1.55  thf(tcon_Nat_Onat___Orderings_Olinorder, axiom, (linorder @ nat)).
% 2.86/1.55  thf(tcon_Nat_Onat___Orderings_Oord_5, axiom, (ord @ nat)).
% 2.86/1.55  thf(tcon_Nat_Onat___Nat_Osize, axiom, (size @ nat)).
% 2.86/1.55  thf(tcon_Set_Oset___Orderings_Oord_6, axiom, (! [A6:$tType]: ((ord @ (set @ A6))))).
% 2.86/1.55  thf(tcon_HOL_Obool___Orderings_Olinorder_7, axiom, (linorder @ $o)).
% 2.86/1.55  thf(tcon_HOL_Obool___Orderings_Oord_8, axiom, (ord @ $o)).
% 2.86/1.55  thf(tcon_List_Olist___Nat_Osize_9, axiom, (! [A6:$tType]: ((size @ (list @ A6))))).
% 2.86/1.55  thf(tcon_Real_Oreal___Rings_Osemiring__no__zero__divisors_10, axiom, (semiri1193490041visors @ real)).
% 2.86/1.55  thf(tcon_Real_Oreal___Groups_Ocomm__monoid__add_11, axiom, (comm_monoid_add @ real)).
% 2.86/1.55  thf(tcon_Real_Oreal___Rings_Ocomm__semiring__1_12, axiom, (comm_semiring_1 @ real)).
% 2.86/1.55  thf(tcon_Real_Oreal___Orderings_Olinorder_13, axiom, (linorder @ real)).
% 2.86/1.55  thf(tcon_Real_Oreal___Groups_Ogroup__add, axiom, (group_add @ real)).
% 2.86/1.55  thf(tcon_Real_Oreal___Orderings_Oord_14, axiom, (ord @ real)).
% 2.86/1.55  thf(tcon_Polynomial_Opoly___Rings_Osemiring__no__zero__divisors_15, axiom, (! [A6:$tType]: ((((comm_semiring_0 @ A6) & (semiri1193490041visors @ A6)) => (semiri1193490041visors @ (poly @ A6)))))).
% 2.86/1.55  thf(tcon_Polynomial_Opoly___Groups_Ocomm__monoid__add_16, axiom, (! [A6:$tType]: (((comm_monoid_add @ A6) => (comm_monoid_add @ (poly @ A6)))))).
% 2.86/1.55  thf(tcon_Polynomial_Opoly___Rings_Ocomm__semiring__1_17, axiom, (! [A6:$tType]: (((comm_semiring_1 @ A6) => (comm_semiring_1 @ (poly @ A6)))))).
% 2.86/1.55  thf(tcon_Polynomial_Opoly___Orderings_Olinorder_18, axiom, (! [A6:$tType]: (((linordered_idom @ A6) => (linorder @ (poly @ A6)))))).
% 2.86/1.55  thf(tcon_Polynomial_Opoly___Groups_Ogroup__add_19, axiom, (! [A6:$tType]: (((ab_group_add @ A6) => (group_add @ (poly @ A6)))))).
% 2.86/1.55  thf(tcon_Polynomial_Opoly___Orderings_Oord_20, axiom, (! [A6:$tType]: (((linordered_idom @ A6) => (ord @ (poly @ A6)))))).
% 2.86/1.55  thf(tcon_Product__Type_Oprod___Nat_Osize_21, axiom, (! [A6:$tType,A7:$tType]: ((size @ ((product_prod @ A6) @ A7))))).
% 2.86/1.55  thf(conj_0, conjecture, (~ ((sturm_2060350619rm_seq @ (nil @ (poly @ real)))))).
% 2.86/1.55  % SZS output end ListOfTHF for /export/starexec/sandbox2/tmp/tmp.TZkB8SVW3z/DTF2DTF15763.p
% 2.86/1.55  ------------------------
% 2.86/1.59  ---- Cleaned THF ---
% 2.86/1.60  thf(ty_t_Product__Type_Oprod,type,
% 2.86/1.60      product_prod: $tType > $tType > $tType ).
% 2.86/1.60  
% 2.86/1.60  thf(ty_t_Polynomial_Opoly,type,
% 2.86/1.60      poly: $tType > $tType ).
% 2.86/1.60  
% 2.86/1.60  thf(ty_t_Option_Ooption,type,
% 2.86/1.60      option: $tType > $tType ).
% 2.86/1.60  
% 2.86/1.60  thf(ty_t_Real_Oreal,type,
% 2.86/1.60      real: $tType ).
% 2.86/1.60  
% 2.86/1.60  thf(ty_t_List_Olist,type,
% 2.86/1.60      list: $tType > $tType ).
% 2.86/1.60  
% 2.86/1.60  thf(ty_t_Set_Oset,type,
% 2.86/1.60      set: $tType > $tType ).
% 2.86/1.60  
% 2.86/1.60  thf(ty_t_Nat_Onat,type,
% 2.86/1.60      nat: $tType ).
% 2.86/1.60  
% 2.86/1.60  thf(sy_cl_Groups_Oab__group__add,type,
% 2.86/1.60      ab_group_add: 
% 2.86/1.60        !>[A: $tType] : $o ).
% 2.86/1.60  
% 2.86/1.60  thf(sy_cl_Rings_Olinordered__idom,type,
% 2.86/1.60      linordered_idom: 
% 2.86/1.60        !>[A: $tType] : $o ).
% 2.86/1.60  
% 2.86/1.60  thf(sy_cl_Rings_Ocomm__semiring__0,type,
% 2.86/1.60      comm_semiring_0: 
% 2.86/1.60        !>[A: $tType] : $o ).
% 2.86/1.60  
% 2.86/1.60  thf(sy_cl_HOL_Otype,type,
% 2.86/1.60      type: 
% 2.86/1.60        !>[A: $tType] : $o ).
% 2.86/1.60  
% 2.86/1.60  thf(sy_cl_Nat_Osize,type,
% 2.86/1.60      size: 
% 2.86/1.60        !>[A: $tType] : $o ).
% 2.86/1.60  
% 2.86/1.60  thf(sy_cl_Orderings_Oord,type,
% 2.86/1.60      ord: 
% 2.86/1.60        !>[A: $tType] : $o ).
% 2.86/1.60  
% 2.86/1.60  thf(sy_cl_Groups_Ogroup__add,type,
% 2.86/1.60      group_add: 
% 2.86/1.60        !>[A: $tType] : $o ).
% 2.86/1.60  
% 2.86/1.60  thf(sy_cl_Orderings_Olinorder,type,
% 2.86/1.60      linorder: 
% 2.86/1.60        !>[A: $tType] : $o ).
% 2.86/1.60  
% 2.86/1.60  thf(sy_cl_Rings_Ocomm__semiring__1,type,
% 2.86/1.60      comm_semiring_1: 
% 2.86/1.60        !>[A: $tType] : $o ).
% 2.86/1.60  
% 2.86/1.60  thf(sy_cl_Groups_Ocomm__monoid__add,type,
% 2.86/1.60      comm_monoid_add: 
% 2.86/1.60        !>[A: $tType] : $o ).
% 2.86/1.60  
% 2.86/1.60  thf(sy_cl_Rings_Osemiring__no__zero__divisors,type,
% 2.86/1.60      semiri1193490041visors: 
% 2.86/1.60        !>[A: $tType] : $o ).
% 2.86/1.60  
% 2.86/1.60  thf(sy_c_BNF__Greatest__Fixpoint_OShift,type,
% 2.86/1.60      bNF_Greatest_Shift: 
% 2.86/1.60        !>[A: $tType] : ( ( set @ ( list @ A ) ) > A > ( set @ ( list @ A ) ) ) ).
% 2.86/1.60  
% 2.86/1.60  thf(sy_c_BNF__Greatest__Fixpoint_OSucc,type,
% 2.86/1.60      bNF_Greatest_Succ: 
% 2.86/1.60        !>[A: $tType] : ( ( set @ ( list @ A ) ) > ( list @ A ) > ( set @ A ) ) ).
% 2.86/1.60  
% 2.86/1.60  thf(sy_c_BNF__Greatest__Fixpoint_Oshift,type,
% 2.86/1.60      bNF_Greatest_shift: 
% 2.86/1.60        !>[A: $tType,B: $tType] : ( ( ( list @ A ) > B ) > A > ( list @ A ) > B ) ).
% 2.86/1.60  
% 2.86/1.60  thf(sy_c_Groups_Otimes__class_Otimes,type,
% 2.86/1.60      times_times: 
% 2.86/1.60        !>[A: $tType] : ( A > A > A ) ).
% 2.86/1.60  
% 2.86/1.60  thf(sy_c_List_Oappend,type,
% 2.86/1.60      append: 
% 2.86/1.60        !>[A: $tType] : ( ( list @ A ) > ( list @ A ) > ( list @ A ) ) ).
% 2.86/1.60  
% 2.86/1.60  thf(sy_c_List_Oarg__min__list,type,
% 2.86/1.60      arg_min_list: 
% 2.86/1.60        !>[A: $tType,B: $tType] : ( ( A > B ) > ( list @ A ) > A ) ).
% 2.86/1.60  
% 2.86/1.60  thf(sy_c_List_Obind,type,
% 2.86/1.60      bind: 
% 2.86/1.60        !>[A: $tType,B: $tType] : ( ( list @ A ) > ( A > ( list @ B ) ) > ( list @ B ) ) ).
% 2.86/1.60  
% 2.86/1.60  thf(sy_c_List_Obutlast,type,
% 2.86/1.60      butlast: 
% 2.86/1.60        !>[A: $tType] : ( ( list @ A ) > ( list @ A ) ) ).
% 2.86/1.60  
% 2.86/1.60  thf(sy_c_List_Oconcat,type,
% 2.86/1.60      concat: 
% 2.86/1.60        !>[A: $tType] : ( ( list @ ( list @ A ) ) > ( list @ A ) ) ).
% 2.86/1.60  
% 2.86/1.60  thf(sy_c_List_Oenumerate,type,
% 2.86/1.60      enumerate: 
% 2.86/1.60        !>[A: $tType] : ( nat > ( list @ A ) > ( list @ ( product_prod @ nat @ A ) ) ) ).
% 2.86/1.60  
% 2.86/1.60  thf(sy_c_List_Ofoldr,type,
% 2.86/1.60      foldr: 
% 2.86/1.60        !>[A: $tType,B: $tType] : ( ( A > B > B ) > ( list @ A ) > B > B ) ).
% 2.86/1.60  
% 2.86/1.60  thf(sy_c_List_Ogen__length,type,
% 2.86/1.60      gen_length: 
% 2.86/1.60        !>[A: $tType] : ( nat > ( list @ A ) > nat ) ).
% 2.86/1.60  
% 2.86/1.60  thf(sy_c_List_Oinsert,type,
% 2.86/1.60      insert: 
% 2.86/1.60        !>[A: $tType] : ( A > ( list @ A ) > ( list @ A ) ) ).
% 2.86/1.60  
% 2.86/1.60  thf(sy_c_List_Olast,type,
% 2.86/1.60      last: 
% 2.86/1.60        !>[A: $tType] : ( ( list @ A ) > A ) ).
% 2.86/1.60  
% 2.86/1.60  thf(sy_c_List_Olenlex,type,
% 2.86/1.60      lenlex: 
% 2.86/1.60        !>[A: $tType] : ( ( set @ ( product_prod @ A @ A ) ) > ( set @ ( product_prod @ ( list @ A ) @ ( list @ A ) ) ) ) ).
% 2.86/1.60  
% 2.86/1.60  thf(sy_c_List_Olex,type,
% 2.86/1.60      lex: 
% 2.86/1.60        !>[A: $tType] : ( ( set @ ( product_prod @ A @ A ) ) > ( set @ ( product_prod @ ( list @ A ) @ ( list @ A ) ) ) ) ).
% 2.86/1.60  
% 2.86/1.60  thf(sy_c_List_Olexord,type,
% 2.86/1.60      lexord: 
% 2.86/1.60        !>[A: $tType] : ( ( set @ ( product_prod @ A @ A ) ) > ( set @ ( product_prod @ ( list @ A ) @ ( list @ A ) ) ) ) ).
% 2.86/1.60  
% 2.86/1.60  thf(sy_c_List_Olist_OCons,type,
% 2.86/1.60      cons: 
% 2.86/1.60        !>[A: $tType] : ( A > ( list @ A ) > ( list @ A ) ) ).
% 2.86/1.60  
% 2.86/1.60  thf(sy_c_List_Olist_ONil,type,
% 2.86/1.60      nil: 
% 2.86/1.60        !>[A: $tType] : ( list @ A ) ).
% 2.86/1.60  
% 2.86/1.60  thf(sy_c_List_Olist_Omap,type,
% 2.86/1.60      map: 
% 2.86/1.60        !>[A: $tType,Aa: $tType] : ( ( A > Aa ) > ( list @ A ) > ( list @ Aa ) ) ).
% 2.86/1.60  
% 2.86/1.60  thf(sy_c_List_Olist_Orec__list,type,
% 2.86/1.60      rec_list: 
% 2.86/1.60        !>[C: $tType,A: $tType] : ( C > ( A > ( list @ A ) > C > C ) > ( list @ A ) > C ) ).
% 2.86/1.60  
% 2.86/1.60  thf(sy_c_List_Olist__ex,type,
% 2.86/1.60      list_ex: 
% 2.86/1.60        !>[A: $tType] : ( ( A > $o ) > ( list @ A ) > $o ) ).
% 2.86/1.60  
% 2.86/1.60  thf(sy_c_List_Olist__ex1,type,
% 2.86/1.60      list_ex1: 
% 2.86/1.60        !>[A: $tType] : ( ( A > $o ) > ( list @ A ) > $o ) ).
% 2.86/1.60  
% 2.86/1.60  thf(sy_c_List_Olistrel,type,
% 2.86/1.60      listrel: 
% 2.86/1.60        !>[A: $tType,B: $tType] : ( ( set @ ( product_prod @ A @ B ) ) > ( set @ ( product_prod @ ( list @ A ) @ ( list @ B ) ) ) ) ).
% 2.86/1.60  
% 2.86/1.60  thf(sy_c_List_Olistrel1,type,
% 2.86/1.60      listrel1: 
% 2.86/1.60        !>[A: $tType] : ( ( set @ ( product_prod @ A @ A ) ) > ( set @ ( product_prod @ ( list @ A ) @ ( list @ A ) ) ) ) ).
% 2.86/1.60  
% 2.86/1.60  thf(sy_c_List_Olistrelp,type,
% 2.86/1.60      listrelp: 
% 2.86/1.60        !>[A: $tType,B: $tType] : ( ( A > B > $o ) > ( list @ A ) > ( list @ B ) > $o ) ).
% 2.86/1.60  
% 2.86/1.60  thf(sy_c_List_Omap__filter,type,
% 2.86/1.60      map_filter: 
% 2.86/1.60        !>[A: $tType,B: $tType] : ( ( A > ( option @ B ) ) > ( list @ A ) > ( list @ B ) ) ).
% 2.86/1.60  
% 2.86/1.60  thf(sy_c_List_Omap__tailrec__rev,type,
% 2.86/1.60      map_tailrec_rev: 
% 2.86/1.60        !>[A: $tType,B: $tType] : ( ( A > B ) > ( list @ A ) > ( list @ B ) > ( list @ B ) ) ).
% 2.86/1.60  
% 2.86/1.60  thf(sy_c_List_Omap__tailrec__rev__rel,type,
% 2.86/1.60      map_tailrec_rev_rel: 
% 2.86/1.60        !>[A: $tType,B: $tType] : ( ( product_prod @ ( A > B ) @ ( product_prod @ ( list @ A ) @ ( list @ B ) ) ) > ( product_prod @ ( A > B ) @ ( product_prod @ ( list @ A ) @ ( list @ B ) ) ) > $o ) ).
% 2.86/1.60  
% 2.86/1.60  thf(sy_c_List_Omaps,type,
% 2.86/1.60      maps: 
% 2.86/1.60        !>[A: $tType,B: $tType] : ( ( A > ( list @ B ) ) > ( list @ A ) > ( list @ B ) ) ).
% 2.86/1.60  
% 2.86/1.60  thf(sy_c_List_Omember,type,
% 2.86/1.60      member: 
% 2.86/1.60        !>[A: $tType] : ( ( list @ A ) > A > $o ) ).
% 2.86/1.60  
% 2.86/1.60  thf(sy_c_List_Onull,type,
% 2.86/1.60      null: 
% 2.86/1.60        !>[A: $tType] : ( ( list @ A ) > $o ) ).
% 2.86/1.60  
% 2.86/1.60  thf(sy_c_List_Oord_Olexordp__eq,type,
% 2.86/1.60      lexordp_eq: 
% 2.86/1.60        !>[A: $tType] : ( ( A > A > $o ) > ( list @ A ) > ( list @ A ) > $o ) ).
% 2.86/1.60  
% 2.86/1.60  thf(sy_c_List_Oord__class_Olexordp__eq,type,
% 2.86/1.60      ord_lexordp_eq: 
% 2.86/1.60        !>[A: $tType] : ( ( list @ A ) > ( list @ A ) > $o ) ).
% 2.86/1.60  
% 2.86/1.60  thf(sy_c_List_Oproduct,type,
% 2.86/1.60      product: 
% 2.86/1.60        !>[A: $tType,B: $tType] : ( ( list @ A ) > ( list @ B ) > ( list @ ( product_prod @ A @ B ) ) ) ).
% 2.86/1.60  
% 2.86/1.60  thf(sy_c_List_Oproduct__lists,type,
% 2.86/1.60      product_lists: 
% 2.86/1.60        !>[A: $tType] : ( ( list @ ( list @ A ) ) > ( list @ ( list @ A ) ) ) ).
% 2.86/1.60  
% 2.86/1.60  thf(sy_c_List_Orotate,type,
% 2.86/1.60      rotate: 
% 2.86/1.60        !>[A: $tType] : ( nat > ( list @ A ) > ( list @ A ) ) ).
% 2.86/1.60  
% 2.86/1.60  thf(sy_c_List_Orotate1,type,
% 2.86/1.60      rotate1: 
% 2.86/1.60        !>[A: $tType] : ( ( list @ A ) > ( list @ A ) ) ).
% 2.86/1.60  
% 2.86/1.60  thf(sy_c_List_Osplice,type,
% 2.86/1.60      splice: 
% 2.86/1.60        !>[A: $tType] : ( ( list @ A ) > ( list @ A ) > ( list @ A ) ) ).
% 2.86/1.60  
% 2.86/1.60  thf(sy_c_List_Osubseqs,type,
% 2.86/1.60      subseqs: 
% 2.86/1.60        !>[A: $tType] : ( ( list @ A ) > ( list @ ( list @ A ) ) ) ).
% 2.86/1.60  
% 2.86/1.60  thf(sy_c_List_Ozip,type,
% 2.86/1.60      zip: 
% 2.86/1.60        !>[A: $tType,B: $tType] : ( ( list @ A ) > ( list @ B ) > ( list @ ( product_prod @ A @ B ) ) ) ).
% 2.86/1.60  
% 2.86/1.60  thf(sy_c_Multiset_Olinorder__class_Opart,type,
% 2.86/1.60      linorder_part: 
% 2.86/1.60        !>[B: $tType,A: $tType] : ( ( B > A ) > A > ( list @ B ) > ( product_prod @ ( list @ B ) @ ( product_prod @ ( list @ B ) @ ( list @ B ) ) ) ) ).
% 2.86/1.60  
% 2.86/1.60  thf(sy_c_Nat_OSuc,type,
% 2.86/1.60      suc: nat > nat ).
% 2.86/1.60  
% 2.86/1.60  thf(sy_c_Nat_Osize__class_Osize,type,
% 2.86/1.60      size_size: 
% 2.86/1.60        !>[A: $tType] : ( A > nat ) ).
% 2.86/1.60  
% 2.86/1.60  thf(sy_c_Orderings_Oord__class_Oless,type,
% 2.86/1.60      ord_less: 
% 2.86/1.60        !>[A: $tType] : ( A > A > $o ) ).
% 2.86/1.60  
% 2.86/1.60  thf(sy_c_Polynomial_Oplus__coeffs,type,
% 2.86/1.60      plus_coeffs: 
% 2.86/1.60        !>[A: $tType] : ( ( list @ A ) > ( list @ A ) > ( list @ A ) ) ).
% 2.86/1.60  
% 2.86/1.60  thf(sy_c_Product__Type_OPair,type,
% 2.86/1.60      product_Pair: 
% 2.86/1.60        !>[A: $tType,B: $tType] : ( A > B > ( product_prod @ A @ B ) ) ).
% 2.86/1.60  
% 2.86/1.60  thf(sy_c_Relation_Oirrefl,type,
% 2.86/1.60      irrefl: 
% 2.86/1.60        !>[A: $tType] : ( ( set @ ( product_prod @ A @ A ) ) > $o ) ).
% 2.86/1.60  
% 2.86/1.60  thf(sy_c_Set_OCollect,type,
% 2.86/1.60      collect: 
% 2.86/1.60        !>[A: $tType] : ( ( A > $o ) > ( set @ A ) ) ).
% 2.86/1.60  
% 2.86/1.60  thf(sy_c_Sturm__Theorem__Mirabelle__xzqolxckln_Oquasi__sturm__seq,type,
% 2.86/1.60      sturm_2060350619rm_seq: ( list @ ( poly @ real ) ) > $o ).
% 2.86/1.60  
% 2.86/1.60  thf(sy_c_Sturm__Theorem__Mirabelle__xzqolxckln_Osturm__seq,type,
% 2.86/1.60      sturm_801371416rm_seq: ( list @ ( poly @ real ) ) > ( poly @ real ) > $o ).
% 2.86/1.60  
% 2.86/1.60  thf(sy_c_Sturm__Theorem__Mirabelle__xzqolxckln_Osturm__seq__axioms,type,
% 2.86/1.60      sturm_1585582267axioms: ( list @ ( poly @ real ) ) > ( poly @ real ) > $o ).
% 2.86/1.60  
% 2.86/1.60  thf(sy_c_Wellfounded_Oaccp,type,
% 2.86/1.60      accp: 
% 2.86/1.60        !>[A: $tType] : ( ( A > A > $o ) > A > $o ) ).
% 2.86/1.60  
% 2.86/1.60  thf(sy_c_member,type,
% 2.86/1.60      member2: 
% 2.86/1.60        !>[A: $tType] : ( A > ( set @ A ) > $o ) ).
% 2.86/1.60  
% 2.86/1.60  thf(fact_0_quasi__sturm__seq_Ops__not__Nil,axiom,
% 2.86/1.60      ! [Ps: list @ ( poly @ real )] :
% 2.86/1.60        ( ( sturm_2060350619rm_seq @ Ps )
% 2.86/1.60       => ( Ps
% 2.86/1.60         != ( nil @ ( poly @ real ) ) ) ) ).
% 2.86/1.60  
% 2.86/1.60  thf(fact_1_sturm__seq_Oquasi__sturm__seq,axiom,
% 2.86/1.60      ! [Ps: list @ ( poly @ real ),P: poly @ real] :
% 2.86/1.60        ( ( sturm_801371416rm_seq @ Ps @ P )
% 2.86/1.60       => ( sturm_2060350619rm_seq @ Ps ) ) ).
% 2.86/1.60  
% 2.86/1.60  thf(fact_2_sturm__seq__def,axiom,
% 2.86/1.60      ( sturm_801371416rm_seq
% 2.86/1.60      = ( ^ [Ps2: list @ ( poly @ real ),P2: poly @ real] :
% 2.86/1.60            ( ( sturm_2060350619rm_seq @ Ps2 )
% 2.86/1.60            & ( sturm_1585582267axioms @ Ps2 @ P2 ) ) ) ) ).
% 2.86/1.60  
% 2.86/1.60  thf(fact_3_sturm__seq_Ointro,axiom,
% 2.86/1.60      ! [Ps: list @ ( poly @ real ),P: poly @ real] :
% 2.86/1.60        ( ( sturm_2060350619rm_seq @ Ps )
% 2.86/1.60       => ( ( sturm_1585582267axioms @ Ps @ P )
% 2.86/1.60         => ( sturm_801371416rm_seq @ Ps @ P ) ) ) ).
% 2.86/1.60  
% 2.86/1.60  thf(fact_4_list__ex1__simps_I1_J,axiom,
% 2.86/1.60      ! [A: $tType,P3: A > $o] :
% 2.86/1.60        ~ ( list_ex1 @ A @ P3 @ ( nil @ A ) ) ).
% 2.86/1.60  
% 2.86/1.60  thf(fact_5_bind__simps_I1_J,axiom,
% 2.86/1.60      ! [B: $tType,A: $tType,F: B > ( list @ A )] :
% 2.86/1.60        ( ( bind @ B @ A @ ( nil @ B ) @ F )
% 2.86/1.60        = ( nil @ A ) ) ).
% 2.86/1.60  
% 2.86/1.60  thf(fact_6_member__rec_I2_J,axiom,
% 2.86/1.60      ! [A: $tType,Y: A] :
% 2.86/1.60        ~ ( member @ A @ ( nil @ A ) @ Y ) ).
% 2.86/1.60  
% 2.86/1.60  thf(fact_7_gen__length__code_I1_J,axiom,
% 2.86/1.60      ! [A: $tType,N: nat] :
% 2.86/1.60        ( ( gen_length @ A @ N @ ( nil @ A ) )
% 2.86/1.60        = N ) ).
% 2.86/1.60  
% 2.86/1.60  thf(fact_8_maps__simps_I2_J,axiom,
% 2.86/1.60      ! [B: $tType,A: $tType,F: B > ( list @ A )] :
% 2.86/1.60        ( ( maps @ B @ A @ F @ ( nil @ B ) )
% 2.86/1.60        = ( nil @ A ) ) ).
% 2.86/1.60  
% 2.86/1.60  thf(fact_9_map__filter__simps_I2_J,axiom,
% 2.86/1.60      ! [B: $tType,A: $tType,F: B > ( option @ A )] :
% 2.86/1.60        ( ( map_filter @ B @ A @ F @ ( nil @ B ) )
% 2.86/1.60        = ( nil @ A ) ) ).
% 2.86/1.60  
% 2.86/1.60  thf(fact_10_null__rec_I2_J,axiom,
% 2.86/1.60      ! [B: $tType] : ( null @ B @ ( nil @ B ) ) ).
% 2.86/1.60  
% 2.86/1.60  thf(fact_11_eq__Nil__null,axiom,
% 2.86/1.60      ! [A: $tType,Xs: list @ A] :
% 2.86/1.60        ( ( Xs
% 2.86/1.60          = ( nil @ A ) )
% 2.86/1.60        = ( null @ A @ Xs ) ) ).
% 2.86/1.60  
% 2.86/1.60  thf(fact_12_sturm__seq_Oaxioms_I2_J,axiom,
% 2.86/1.60      ! [Ps: list @ ( poly @ real ),P: poly @ real] :
% 2.86/1.60        ( ( sturm_801371416rm_seq @ Ps @ P )
% 2.86/1.60       => ( sturm_1585582267axioms @ Ps @ P ) ) ).
% 2.86/1.60  
% 2.86/1.60  thf(fact_13_list__ex__simps_I2_J,axiom,
% 2.86/1.60      ! [A: $tType,P3: A > $o] :
% 2.86/1.60        ~ ( list_ex @ A @ P3 @ ( nil @ A ) ) ).
% 2.86/1.60  
% 2.86/1.60  thf(fact_14_rotate1__is__Nil__conv,axiom,
% 2.86/1.60      ! [A: $tType,Xs: list @ A] :
% 2.86/1.60        ( ( ( rotate1 @ A @ Xs )
% 2.86/1.60          = ( nil @ A ) )
% 2.86/1.60        = ( Xs
% 2.86/1.60          = ( nil @ A ) ) ) ).
% 2.86/1.60  
% 2.86/1.60  thf(fact_15_split__Nil__iff,axiom,
% 2.86/1.60      ! [A: $tType,Xs: list @ A,Ys: list @ A] :
% 2.86/1.60        ( ( ( splice @ A @ Xs @ Ys )
% 2.86/1.60          = ( nil @ A ) )
% 2.86/1.60        = ( ( Xs
% 2.86/1.60            = ( nil @ A ) )
% 2.86/1.60          & ( Ys
% 2.86/1.60            = ( nil @ A ) ) ) ) ).
% 2.86/1.60  
% 2.86/1.60  thf(fact_16_splice__Nil2,axiom,
% 2.86/1.60      ! [A: $tType,Xs: list @ A] :
% 2.86/1.60        ( ( splice @ A @ Xs @ ( nil @ A ) )
% 2.86/1.60        = Xs ) ).
% 2.86/1.60  
% 2.86/1.60  thf(fact_17_enumerate__simps_I1_J,axiom,
% 2.86/1.60      ! [A: $tType,N: nat] :
% 2.86/1.60        ( ( enumerate @ A @ N @ ( nil @ A ) )
% 2.86/1.60        = ( nil @ ( product_prod @ nat @ A ) ) ) ).
% 2.86/1.60  
% 2.86/1.60  thf(fact_18_product_Osimps_I1_J,axiom,
% 2.86/1.60      ! [B: $tType,A: $tType,Uu: list @ B] :
% 2.86/1.60        ( ( product @ A @ B @ ( nil @ A ) @ Uu )
% 2.86/1.60        = ( nil @ ( product_prod @ A @ B ) ) ) ).
% 2.86/1.60  
% 2.86/1.60  thf(fact_19_map__tailrec__rev_Osimps_I1_J,axiom,
% 2.86/1.60      ! [A: $tType,B: $tType,F: A > B,Bs: list @ B] :
% 2.86/1.60        ( ( map_tailrec_rev @ A @ B @ F @ ( nil @ A ) @ Bs )
% 2.86/1.60        = Bs ) ).
% 2.86/1.60  
% 2.86/1.60  thf(fact_20_list_Osimps_I6_J,axiom,
% 2.86/1.60      ! [A: $tType,C: $tType,F1: C,F2: A > ( list @ A ) > C > C] :
% 2.86/1.60        ( ( rec_list @ C @ A @ F1 @ F2 @ ( nil @ A ) )
% 2.86/1.60        = F1 ) ).
% 2.86/1.60  
% 2.86/1.60  thf(fact_21_ord_Olexordp__eq__simps_I1_J,axiom,
% 2.86/1.60      ! [A: $tType,Less: A > A > $o,Ys: list @ A] : ( lexordp_eq @ A @ Less @ ( nil @ A ) @ Ys ) ).
% 2.86/1.60  
% 2.86/1.60  thf(fact_22_ord_Olexordp__eq__simps_I2_J,axiom,
% 2.86/1.60      ! [A: $tType,Less: A > A > $o,Xs: list @ A] :
% 2.86/1.60        ( ( lexordp_eq @ A @ Less @ Xs @ ( nil @ A ) )
% 2.86/1.60        = ( Xs
% 2.86/1.60          = ( nil @ A ) ) ) ).
% 2.86/1.60  
% 2.86/1.60  thf(fact_23_listrelp_ONil,axiom,
% 2.86/1.60      ! [A: $tType,B: $tType,R: A > B > $o] : ( listrelp @ A @ B @ R @ ( nil @ A ) @ ( nil @ B ) ) ).
% 2.86/1.60  
% 2.86/1.60  thf(fact_24_ord_Olexordp__eq_Ocong,axiom,
% 2.86/1.60      ! [A: $tType] :
% 2.86/1.60        ( ( lexordp_eq @ A )
% 2.86/1.60        = ( lexordp_eq @ A ) ) ).
% 2.86/1.60  
% 2.86/1.60  thf(fact_25_ord_Olexordp__eq__refl,axiom,
% 2.86/1.60      ! [A: $tType,Less: A > A > $o,Xs: list @ A] : ( lexordp_eq @ A @ Less @ Xs @ Xs ) ).
% 2.86/1.60  
% 2.86/1.60  thf(fact_26_ord_Olexordp__eq_ONil,axiom,
% 2.86/1.60      ! [A: $tType,Less: A > A > $o,Ys: list @ A] : ( lexordp_eq @ A @ Less @ ( nil @ A ) @ Ys ) ).
% 2.86/1.60  
% 2.86/1.60  thf(fact_27_splice_Osimps_I1_J,axiom,
% 2.86/1.60      ! [A: $tType,Ys: list @ A] :
% 2.86/1.60        ( ( splice @ A @ ( nil @ A ) @ Ys )
% 2.86/1.60        = Ys ) ).
% 2.86/1.60  
% 2.86/1.60  thf(fact_28_rotate1_Osimps_I1_J,axiom,
% 2.86/1.60      ! [A: $tType] :
% 2.86/1.60        ( ( rotate1 @ A @ ( nil @ A ) )
% 2.86/1.60        = ( nil @ A ) ) ).
% 2.86/1.60  
% 2.86/1.60  thf(fact_29_ord_Olexordp__eq__simps_I3_J,axiom,
% 2.86/1.60      ! [A: $tType,Less: A > A > $o,X: A,Xs: list @ A] :
% 2.86/1.60        ~ ( lexordp_eq @ A @ Less @ ( cons @ A @ X @ Xs ) @ ( nil @ A ) ) ).
% 2.86/1.60  
% 2.86/1.60  thf(fact_30_zip__Nil,axiom,
% 2.86/1.60      ! [B: $tType,A: $tType,Ys: list @ B] :
% 2.86/1.60        ( ( zip @ A @ B @ ( nil @ A ) @ Ys )
% 2.86/1.60        = ( nil @ ( product_prod @ A @ B ) ) ) ).
% 2.86/1.60  
% 2.86/1.60  thf(fact_31_map__tailrec__rev_Oelims,axiom,
% 2.86/1.60      ! [A: $tType,B: $tType,X: A > B,Xa: list @ A,Xb: list @ B,Y: list @ B] :
% 2.86/1.60        ( ( ( map_tailrec_rev @ A @ B @ X @ Xa @ Xb )
% 2.86/1.60          = Y )
% 2.86/1.60       => ( ( ( Xa
% 2.86/1.60              = ( nil @ A ) )
% 2.86/1.60           => ( Y != Xb ) )
% 2.86/1.60         => ~ ! [A2: A,As: list @ A] :
% 2.86/1.60                ( ( Xa
% 2.86/1.60                  = ( cons @ A @ A2 @ As ) )
% 2.86/1.60               => ( Y
% 2.86/1.60                 != ( map_tailrec_rev @ A @ B @ X @ As @ ( cons @ B @ ( X @ A2 ) @ Xb ) ) ) ) ) ) ).
% 2.86/1.60  
% 2.86/1.60  thf(fact_32_listrelp_Oinducts,axiom,
% 2.86/1.60      ! [A: $tType,B: $tType,R: A > B > $o,X1: list @ A,X2: list @ B,P3: ( list @ A ) > ( list @ B ) > $o] :
% 2.86/1.60        ( ( listrelp @ A @ B @ R @ X1 @ X2 )
% 2.86/1.60       => ( ( P3 @ ( nil @ A ) @ ( nil @ B ) )
% 2.86/1.60         => ( ! [X3: A,Y2: B,Xs2: list @ A,Ys2: list @ B] :
% 2.86/1.60                ( ( R @ X3 @ Y2 )
% 2.86/1.60               => ( ( listrelp @ A @ B @ R @ Xs2 @ Ys2 )
% 2.86/1.60                 => ( ( P3 @ Xs2 @ Ys2 )
% 2.86/1.60                   => ( P3 @ ( cons @ A @ X3 @ Xs2 ) @ ( cons @ B @ Y2 @ Ys2 ) ) ) ) )
% 2.86/1.60           => ( P3 @ X1 @ X2 ) ) ) ) ).
% 2.86/1.60  
% 2.86/1.60  thf(fact_33_listrelp_Osimps,axiom,
% 2.86/1.60      ! [B: $tType,A: $tType] :
% 2.86/1.60        ( ( listrelp @ A @ B )
% 2.86/1.60        = ( ^ [R2: A > B > $o,A1: list @ A,A22: list @ B] :
% 2.86/1.60              ( ( ( A1
% 2.86/1.60                  = ( nil @ A ) )
% 2.86/1.60                & ( A22
% 2.86/1.60                  = ( nil @ B ) ) )
% 2.86/1.60              | ? [X4: A,Y3: B,Xs3: list @ A,Ys3: list @ B] :
% 2.86/1.60                  ( ( A1
% 2.86/1.60                    = ( cons @ A @ X4 @ Xs3 ) )
% 2.86/1.60                  & ( A22
% 2.86/1.60                    = ( cons @ B @ Y3 @ Ys3 ) )
% 2.86/1.60                  & ( R2 @ X4 @ Y3 )
% 2.86/1.60                  & ( listrelp @ A @ B @ R2 @ Xs3 @ Ys3 ) ) ) ) ) ).
% 2.86/1.60  
% 2.86/1.60  thf(fact_34_listrelp_Ocases,axiom,
% 2.86/1.60      ! [A: $tType,B: $tType,R: A > B > $o,A12: list @ A,A23: list @ B] :
% 2.86/1.60        ( ( listrelp @ A @ B @ R @ A12 @ A23 )
% 2.86/1.60       => ( ( ( A12
% 2.86/1.60              = ( nil @ A ) )
% 2.86/1.60           => ( A23
% 2.86/1.60             != ( nil @ B ) ) )
% 2.86/1.60         => ~ ! [X3: A,Y2: B,Xs2: list @ A] :
% 2.86/1.60                ( ( A12
% 2.86/1.60                  = ( cons @ A @ X3 @ Xs2 ) )
% 2.86/1.60               => ! [Ys2: list @ B] :
% 2.86/1.60                    ( ( A23
% 2.86/1.60                      = ( cons @ B @ Y2 @ Ys2 ) )
% 2.86/1.60                   => ( ( R @ X3 @ Y2 )
% 2.86/1.60                     => ~ ( listrelp @ A @ B @ R @ Xs2 @ Ys2 ) ) ) ) ) ) ).
% 2.86/1.60  
% 2.86/1.60  thf(fact_35_splice_Oelims,axiom,
% 2.86/1.60      ! [A: $tType,X: list @ A,Xa: list @ A,Y: list @ A] :
% 2.86/1.60        ( ( ( splice @ A @ X @ Xa )
% 2.86/1.60          = Y )
% 2.86/1.60       => ( ( ( X
% 2.86/1.60              = ( nil @ A ) )
% 2.86/1.60           => ( Y != Xa ) )
% 2.86/1.60         => ~ ! [X3: A,Xs2: list @ A] :
% 2.86/1.60                ( ( X
% 2.86/1.60                  = ( cons @ A @ X3 @ Xs2 ) )
% 2.86/1.60               => ( Y
% 2.86/1.60                 != ( cons @ A @ X3 @ ( splice @ A @ Xa @ Xs2 ) ) ) ) ) ) ).
% 2.86/1.60  
% 2.86/1.60  thf(fact_36_ord_Olexordp__eq_Oinducts,axiom,
% 2.86/1.60      ! [A: $tType,Less: A > A > $o,X1: list @ A,X2: list @ A,P3: ( list @ A ) > ( list @ A ) > $o] :
% 2.86/1.60        ( ( lexordp_eq @ A @ Less @ X1 @ X2 )
% 2.86/1.60       => ( ! [X_1: list @ A] : ( P3 @ ( nil @ A ) @ X_1 )
% 2.86/1.60         => ( ! [X3: A,Y2: A,Xs2: list @ A,Ys2: list @ A] :
% 2.86/1.60                ( ( Less @ X3 @ Y2 )
% 2.86/1.60               => ( P3 @ ( cons @ A @ X3 @ Xs2 ) @ ( cons @ A @ Y2 @ Ys2 ) ) )
% 2.86/1.60           => ( ! [X3: A,Y2: A,Xs2: list @ A,Ys2: list @ A] :
% 2.86/1.60                  ( ~ ( Less @ X3 @ Y2 )
% 2.86/1.60                 => ( ~ ( Less @ Y2 @ X3 )
% 2.86/1.60                   => ( ( lexordp_eq @ A @ Less @ Xs2 @ Ys2 )
% 2.86/1.60                     => ( ( P3 @ Xs2 @ Ys2 )
% 2.86/1.60                       => ( P3 @ ( cons @ A @ X3 @ Xs2 ) @ ( cons @ A @ Y2 @ Ys2 ) ) ) ) ) )
% 2.86/1.60             => ( P3 @ X1 @ X2 ) ) ) ) ) ).
% 2.86/1.60  
% 2.86/1.60  thf(fact_37_ord_Olexordp__eq_Osimps,axiom,
% 2.86/1.60      ! [A: $tType] :
% 2.86/1.60        ( ( lexordp_eq @ A )
% 2.86/1.60        = ( ^ [Less2: A > A > $o,A1: list @ A,A22: list @ A] :
% 2.86/1.60              ( ? [Ys3: list @ A] :
% 2.86/1.60                  ( ( A1
% 2.86/1.60                    = ( nil @ A ) )
% 2.86/1.60                  & ( A22 = Ys3 ) )
% 2.86/1.60              | ? [X4: A,Y3: A,Xs3: list @ A,Ys3: list @ A] :
% 2.86/1.60                  ( ( A1
% 2.86/1.60                    = ( cons @ A @ X4 @ Xs3 ) )
% 2.86/1.60                  & ( A22
% 2.86/1.60                    = ( cons @ A @ Y3 @ Ys3 ) )
% 2.86/1.60                  & ( Less2 @ X4 @ Y3 ) )
% 2.86/1.60              | ? [X4: A,Y3: A,Xs3: list @ A,Ys3: list @ A] :
% 2.86/1.60                  ( ( A1
% 2.86/1.60                    = ( cons @ A @ X4 @ Xs3 ) )
% 2.86/1.60                  & ( A22
% 2.86/1.60                    = ( cons @ A @ Y3 @ Ys3 ) )
% 2.86/1.60                  & ~ ( Less2 @ X4 @ Y3 )
% 2.86/1.60                  & ~ ( Less2 @ Y3 @ X4 )
% 2.86/1.60                  & ( lexordp_eq @ A @ Less2 @ Xs3 @ Ys3 ) ) ) ) ) ).
% 2.86/1.60  
% 2.86/1.60  thf(fact_38_ord_Olexordp__eq_Ocases,axiom,
% 2.86/1.60      ! [A: $tType,Less: A > A > $o,A12: list @ A,A23: list @ A] :
% 2.86/1.60        ( ( lexordp_eq @ A @ Less @ A12 @ A23 )
% 2.86/1.60       => ( ( A12
% 2.86/1.60           != ( nil @ A ) )
% 2.86/1.60         => ( ! [X3: A] :
% 2.86/1.60                ( ? [Xs2: list @ A] :
% 2.86/1.60                    ( A12
% 2.86/1.60                    = ( cons @ A @ X3 @ Xs2 ) )
% 2.86/1.60               => ! [Y2: A] :
% 2.86/1.60                    ( ? [Ys2: list @ A] :
% 2.86/1.60                        ( A23
% 2.86/1.60                        = ( cons @ A @ Y2 @ Ys2 ) )
% 2.86/1.60                   => ~ ( Less @ X3 @ Y2 ) ) )
% 2.86/1.60           => ~ ! [X3: A,Y2: A,Xs2: list @ A] :
% 2.86/1.60                  ( ( A12
% 2.86/1.60                    = ( cons @ A @ X3 @ Xs2 ) )
% 2.86/1.60                 => ! [Ys2: list @ A] :
% 2.86/1.60                      ( ( A23
% 2.86/1.60                        = ( cons @ A @ Y2 @ Ys2 ) )
% 2.86/1.60                     => ( ~ ( Less @ X3 @ Y2 )
% 2.86/1.60                       => ( ~ ( Less @ Y2 @ X3 )
% 2.86/1.60                         => ~ ( lexordp_eq @ A @ Less @ Xs2 @ Ys2 ) ) ) ) ) ) ) ) ).
% 2.86/1.60  
% 2.86/1.60  thf(fact_39_list_Oinject,axiom,
% 2.86/1.60      ! [A: $tType,X21: A,X22: list @ A,Y21: A,Y22: list @ A] :
% 2.86/1.60        ( ( ( cons @ A @ X21 @ X22 )
% 2.86/1.60          = ( cons @ A @ Y21 @ Y22 ) )
% 2.86/1.60        = ( ( X21 = Y21 )
% 2.86/1.60          & ( X22 = Y22 ) ) ) ).
% 2.86/1.60  
% 2.86/1.60  thf(fact_40_ord_Olexordp__eq__simps_I4_J,axiom,
% 2.86/1.60      ! [A: $tType,Less: A > A > $o,X: A,Xs: list @ A,Y: A,Ys: list @ A] :
% 2.86/1.60        ( ( lexordp_eq @ A @ Less @ ( cons @ A @ X @ Xs ) @ ( cons @ A @ Y @ Ys ) )
% 2.86/1.60        = ( ( Less @ X @ Y )
% 2.86/1.60          | ( ~ ( Less @ Y @ X )
% 2.86/1.60            & ( lexordp_eq @ A @ Less @ Xs @ Ys ) ) ) ) ).
% 2.86/1.60  
% 2.86/1.60  thf(fact_41_list__ex__simps_I1_J,axiom,
% 2.86/1.60      ! [A: $tType,P3: A > $o,X: A,Xs: list @ A] :
% 2.86/1.60        ( ( list_ex @ A @ P3 @ ( cons @ A @ X @ Xs ) )
% 2.86/1.60        = ( ( P3 @ X )
% 2.86/1.60          | ( list_ex @ A @ P3 @ Xs ) ) ) ).
% 2.86/1.60  
% 2.86/1.60  thf(fact_42_transpose_Ocases,axiom,
% 2.86/1.60      ! [A: $tType,X: list @ ( list @ A )] :
% 2.86/1.60        ( ( X
% 2.86/1.60         != ( nil @ ( list @ A ) ) )
% 2.86/1.60       => ( ! [Xss: list @ ( list @ A )] :
% 2.86/1.60              ( X
% 2.86/1.60             != ( cons @ ( list @ A ) @ ( nil @ A ) @ Xss ) )
% 2.86/1.60         => ~ ! [X3: A,Xs2: list @ A,Xss: list @ ( list @ A )] :
% 2.86/1.60                ( X
% 2.86/1.60               != ( cons @ ( list @ A ) @ ( cons @ A @ X3 @ Xs2 ) @ Xss ) ) ) ) ).
% 2.86/1.60  
% 2.86/1.60  thf(fact_43_not__Cons__self2,axiom,
% 2.86/1.60      ! [A: $tType,X: A,Xs: list @ A] :
% 2.86/1.60        ( ( cons @ A @ X @ Xs )
% 2.86/1.60       != Xs ) ).
% 2.86/1.60  
% 2.86/1.60  thf(fact_44_mem__Collect__eq,axiom,
% 2.86/1.60      ! [A: $tType,A3: A,P3: A > $o] :
% 2.86/1.60        ( ( member2 @ A @ A3 @ ( collect @ A @ P3 ) )
% 2.86/1.60        = ( P3 @ A3 ) ) ).
% 2.86/1.60  
% 2.86/1.60  thf(fact_45_Collect__mem__eq,axiom,
% 2.86/1.60      ! [A: $tType,A4: set @ A] :
% 2.86/1.60        ( ( collect @ A
% 2.86/1.60          @ ^ [X4: A] : ( member2 @ A @ X4 @ A4 ) )
% 2.86/1.60        = A4 ) ).
% 2.86/1.60  
% 2.86/1.60  thf(fact_46_Collect__cong,axiom,
% 2.86/1.60      ! [A: $tType,P3: A > $o,Q: A > $o] :
% 2.86/1.60        ( ! [X3: A] :
% 2.86/1.60            ( ( P3 @ X3 )
% 2.86/1.60            = ( Q @ X3 ) )
% 2.86/1.60       => ( ( collect @ A @ P3 )
% 2.86/1.60          = ( collect @ A @ Q ) ) ) ).
% 2.86/1.60  
% 2.86/1.60  thf(fact_47_ext,axiom,
% 2.86/1.60      ! [B: $tType,A: $tType,F: A > B,G: A > B] :
% 2.86/1.60        ( ! [X3: A] :
% 2.86/1.60            ( ( F @ X3 )
% 2.86/1.60            = ( G @ X3 ) )
% 2.86/1.60       => ( F = G ) ) ).
% 2.86/1.60  
% 2.86/1.60  thf(fact_48_strict__sorted_Oinduct,axiom,
% 2.86/1.60      ! [A: $tType] :
% 2.86/1.60        ( ( linorder @ A )
% 2.86/1.60       => ! [P3: ( list @ A ) > $o,A0: list @ A] :
% 2.86/1.60            ( ( P3 @ ( nil @ A ) )
% 2.86/1.60           => ( ! [X3: A,Ys2: list @ A] :
% 2.86/1.60                  ( ( P3 @ Ys2 )
% 2.86/1.60                 => ( P3 @ ( cons @ A @ X3 @ Ys2 ) ) )
% 2.86/1.60             => ( P3 @ A0 ) ) ) ) ).
% 2.86/1.60  
% 2.86/1.60  thf(fact_49_strict__sorted_Ocases,axiom,
% 2.86/1.60      ! [A: $tType] :
% 2.86/1.60        ( ( linorder @ A )
% 2.86/1.60       => ! [X: list @ A] :
% 2.86/1.60            ( ( X
% 2.86/1.60             != ( nil @ A ) )
% 2.86/1.60           => ~ ! [X3: A,Ys2: list @ A] :
% 2.86/1.60                  ( X
% 2.86/1.60                 != ( cons @ A @ X3 @ Ys2 ) ) ) ) ).
% 2.86/1.60  
% 2.86/1.60  thf(fact_50_map__tailrec__rev_Oinduct,axiom,
% 2.86/1.60      ! [A: $tType,B: $tType,P3: ( A > B ) > ( list @ A ) > ( list @ B ) > $o,A0: A > B,A12: list @ A,A23: list @ B] :
% 2.86/1.60        ( ! [F3: A > B,X_1: list @ B] : ( P3 @ F3 @ ( nil @ A ) @ X_1 )
% 2.86/1.60       => ( ! [F3: A > B,A2: A,As: list @ A,Bs2: list @ B] :
% 2.86/1.60              ( ( P3 @ F3 @ As @ ( cons @ B @ ( F3 @ A2 ) @ Bs2 ) )
% 2.86/1.60             => ( P3 @ F3 @ ( cons @ A @ A2 @ As ) @ Bs2 ) )
% 2.86/1.60         => ( P3 @ A0 @ A12 @ A23 ) ) ) ).
% 2.86/1.60  
% 2.86/1.60  thf(fact_51_list__nonempty__induct,axiom,
% 2.86/1.60      ! [A: $tType,Xs: list @ A,P3: ( list @ A ) > $o] :
% 2.86/1.60        ( ( Xs
% 2.86/1.60         != ( nil @ A ) )
% 2.86/1.60       => ( ! [X3: A] : ( P3 @ ( cons @ A @ X3 @ ( nil @ A ) ) )
% 2.86/1.60         => ( ! [X3: A,Xs2: list @ A] :
% 2.86/1.60                ( ( Xs2
% 2.86/1.60                 != ( nil @ A ) )
% 2.86/1.60               => ( ( P3 @ Xs2 )
% 2.86/1.60                 => ( P3 @ ( cons @ A @ X3 @ Xs2 ) ) ) )
% 2.86/1.60           => ( P3 @ Xs ) ) ) ) ).
% 2.86/1.60  
% 2.86/1.60  thf(fact_52_successively_Oinduct,axiom,
% 2.86/1.60      ! [A: $tType,P3: ( A > A > $o ) > ( list @ A ) > $o,A0: A > A > $o,A12: list @ A] :
% 2.86/1.60        ( ! [P4: A > A > $o] : ( P3 @ P4 @ ( nil @ A ) )
% 2.86/1.60       => ( ! [P4: A > A > $o,X3: A] : ( P3 @ P4 @ ( cons @ A @ X3 @ ( nil @ A ) ) )
% 2.86/1.60         => ( ! [P4: A > A > $o,X3: A,Y2: A,Xs2: list @ A] :
% 2.86/1.60                ( ( P3 @ P4 @ ( cons @ A @ Y2 @ Xs2 ) )
% 2.86/1.60               => ( P3 @ P4 @ ( cons @ A @ X3 @ ( cons @ A @ Y2 @ Xs2 ) ) ) )
% 2.86/1.60           => ( P3 @ A0 @ A12 ) ) ) ) ).
% 2.86/1.60  
% 2.86/1.60  thf(fact_53_arg__min__list_Oinduct,axiom,
% 2.86/1.60      ! [B: $tType,A: $tType] :
% 2.86/1.60        ( ( linorder @ B )
% 2.86/1.60       => ! [P3: ( A > B ) > ( list @ A ) > $o,A0: A > B,A12: list @ A] :
% 2.86/1.60            ( ! [F3: A > B,X3: A] : ( P3 @ F3 @ ( cons @ A @ X3 @ ( nil @ A ) ) )
% 2.86/1.60           => ( ! [F3: A > B,X3: A,Y2: A,Zs: list @ A] :
% 2.86/1.60                  ( ( P3 @ F3 @ ( cons @ A @ Y2 @ Zs ) )
% 2.86/1.60                 => ( P3 @ F3 @ ( cons @ A @ X3 @ ( cons @ A @ Y2 @ Zs ) ) ) )
% 3.01/1.60             => ( ! [A2: A > B] : ( P3 @ A2 @ ( nil @ A ) )
% 3.01/1.60               => ( P3 @ A0 @ A12 ) ) ) ) ) ).
% 3.01/1.60  
% 3.01/1.60  thf(fact_54_remdups__adj_Oinduct,axiom,
% 3.01/1.60      ! [A: $tType,P3: ( list @ A ) > $o,A0: list @ A] :
% 3.01/1.60        ( ( P3 @ ( nil @ A ) )
% 3.01/1.60       => ( ! [X3: A] : ( P3 @ ( cons @ A @ X3 @ ( nil @ A ) ) )
% 3.01/1.60         => ( ! [X3: A,Y2: A,Xs2: list @ A] :
% 3.01/1.60                ( ( ( X3 = Y2 )
% 3.01/1.60                 => ( P3 @ ( cons @ A @ X3 @ Xs2 ) ) )
% 3.01/1.60               => ( ( ( X3 != Y2 )
% 3.01/1.60                   => ( P3 @ ( cons @ A @ Y2 @ Xs2 ) ) )
% 3.01/1.60                 => ( P3 @ ( cons @ A @ X3 @ ( cons @ A @ Y2 @ Xs2 ) ) ) ) )
% 3.01/1.60           => ( P3 @ A0 ) ) ) ) ).
% 3.01/1.60  
% 3.01/1.60  thf(fact_55_sorted__wrt_Oinduct,axiom,
% 3.01/1.60      ! [A: $tType,P3: ( A > A > $o ) > ( list @ A ) > $o,A0: A > A > $o,A12: list @ A] :
% 3.01/1.60        ( ! [P4: A > A > $o] : ( P3 @ P4 @ ( nil @ A ) )
% 3.01/1.60       => ( ! [P4: A > A > $o,X3: A,Ys2: list @ A] :
% 3.01/1.60              ( ( P3 @ P4 @ Ys2 )
% 3.01/1.60             => ( P3 @ P4 @ ( cons @ A @ X3 @ Ys2 ) ) )
% 3.01/1.60         => ( P3 @ A0 @ A12 ) ) ) ).
% 3.01/1.60  
% 3.01/1.60  thf(fact_56_remdups__adj_Ocases,axiom,
% 3.01/1.60      ! [A: $tType,X: list @ A] :
% 3.01/1.60        ( ( X
% 3.01/1.60         != ( nil @ A ) )
% 3.01/1.60       => ( ! [X3: A] :
% 3.01/1.60              ( X
% 3.01/1.60             != ( cons @ A @ X3 @ ( nil @ A ) ) )
% 3.01/1.60         => ~ ! [X3: A,Y2: A,Xs2: list @ A] :
% 3.01/1.60                ( X
% 3.01/1.60               != ( cons @ A @ X3 @ ( cons @ A @ Y2 @ Xs2 ) ) ) ) ) ).
% 3.01/1.60  
% 3.01/1.60  thf(fact_57_shuffles_Oinduct,axiom,
% 3.01/1.60      ! [A: $tType,P3: ( list @ A ) > ( list @ A ) > $o,A0: list @ A,A12: list @ A] :
% 3.01/1.60        ( ! [X_1: list @ A] : ( P3 @ ( nil @ A ) @ X_1 )
% 3.01/1.60       => ( ! [Xs2: list @ A] : ( P3 @ Xs2 @ ( nil @ A ) )
% 3.01/1.60         => ( ! [X3: A,Xs2: list @ A,Y2: A,Ys2: list @ A] :
% 3.01/1.60                ( ( P3 @ Xs2 @ ( cons @ A @ Y2 @ Ys2 ) )
% 3.01/1.60               => ( ( P3 @ ( cons @ A @ X3 @ Xs2 ) @ Ys2 )
% 3.01/1.60                 => ( P3 @ ( cons @ A @ X3 @ Xs2 ) @ ( cons @ A @ Y2 @ Ys2 ) ) ) )
% 3.01/1.60           => ( P3 @ A0 @ A12 ) ) ) ) ).
% 3.01/1.60  
% 3.01/1.60  thf(fact_58_min__list_Oinduct,axiom,
% 3.01/1.60      ! [A: $tType] :
% 3.01/1.60        ( ( ord @ A )
% 3.01/1.60       => ! [P3: ( list @ A ) > $o,A0: list @ A] :
% 3.01/1.60            ( ! [X3: A,Xs2: list @ A] :
% 3.01/1.60                ( ! [X212: A,X222: list @ A] :
% 3.01/1.60                    ( ( Xs2
% 3.01/1.60                      = ( cons @ A @ X212 @ X222 ) )
% 3.01/1.60                   => ( P3 @ Xs2 ) )
% 3.01/1.60               => ( P3 @ ( cons @ A @ X3 @ Xs2 ) ) )
% 3.01/1.60           => ( ( P3 @ ( nil @ A ) )
% 3.01/1.60             => ( P3 @ A0 ) ) ) ) ).
% 3.01/1.60  
% 3.01/1.60  thf(fact_59_min__list_Ocases,axiom,
% 3.01/1.60      ! [A: $tType] :
% 3.01/1.60        ( ( ord @ A )
% 3.01/1.60       => ! [X: list @ A] :
% 3.01/1.60            ( ! [X3: A,Xs2: list @ A] :
% 3.01/1.60                ( X
% 3.01/1.60               != ( cons @ A @ X3 @ Xs2 ) )
% 3.01/1.60           => ( X
% 3.01/1.60              = ( nil @ A ) ) ) ) ).
% 3.01/1.60  
% 3.01/1.60  thf(fact_60_induct__list012,axiom,
% 3.01/1.60      ! [A: $tType,P3: ( list @ A ) > $o,Xs: list @ A] :
% 3.01/1.60        ( ( P3 @ ( nil @ A ) )
% 3.01/1.60       => ( ! [X3: A] : ( P3 @ ( cons @ A @ X3 @ ( nil @ A ) ) )
% 3.01/1.60         => ( ! [X3: A,Y2: A,Zs: list @ A] :
% 3.01/1.60                ( ( P3 @ Zs )
% 3.01/1.60               => ( ( P3 @ ( cons @ A @ Y2 @ Zs ) )
% 3.01/1.60                 => ( P3 @ ( cons @ A @ X3 @ ( cons @ A @ Y2 @ Zs ) ) ) ) )
% 3.01/1.60           => ( P3 @ Xs ) ) ) ) ).
% 3.01/1.60  
% 3.01/1.60  thf(fact_61_splice_Oinduct,axiom,
% 3.01/1.60      ! [A: $tType,P3: ( list @ A ) > ( list @ A ) > $o,A0: list @ A,A12: list @ A] :
% 3.01/1.60        ( ! [X_1: list @ A] : ( P3 @ ( nil @ A ) @ X_1 )
% 3.01/1.60       => ( ! [X3: A,Xs2: list @ A,Ys2: list @ A] :
% 3.01/1.60              ( ( P3 @ Ys2 @ Xs2 )
% 3.01/1.60             => ( P3 @ ( cons @ A @ X3 @ Xs2 ) @ Ys2 ) )
% 3.01/1.60         => ( P3 @ A0 @ A12 ) ) ) ).
% 3.01/1.60  
% 3.01/1.60  thf(fact_62_list__induct2_H,axiom,
% 3.01/1.60      ! [A: $tType,B: $tType,P3: ( list @ A ) > ( list @ B ) > $o,Xs: list @ A,Ys: list @ B] :
% 3.01/1.60        ( ( P3 @ ( nil @ A ) @ ( nil @ B ) )
% 3.01/1.60       => ( ! [X3: A,Xs2: list @ A] : ( P3 @ ( cons @ A @ X3 @ Xs2 ) @ ( nil @ B ) )
% 3.01/1.60         => ( ! [Y2: B,Ys2: list @ B] : ( P3 @ ( nil @ A ) @ ( cons @ B @ Y2 @ Ys2 ) )
% 3.01/1.60           => ( ! [X3: A,Xs2: list @ A,Y2: B,Ys2: list @ B] :
% 3.01/1.60                  ( ( P3 @ Xs2 @ Ys2 )
% 3.01/1.60                 => ( P3 @ ( cons @ A @ X3 @ Xs2 ) @ ( cons @ B @ Y2 @ Ys2 ) ) )
% 3.01/1.60             => ( P3 @ Xs @ Ys ) ) ) ) ) ).
% 3.01/1.60  
% 3.01/1.60  thf(fact_63_neq__Nil__conv,axiom,
% 3.01/1.60      ! [A: $tType,Xs: list @ A] :
% 3.01/1.60        ( ( Xs
% 3.01/1.60         != ( nil @ A ) )
% 3.01/1.60        = ( ? [Y3: A,Ys3: list @ A] :
% 3.01/1.60              ( Xs
% 3.01/1.60              = ( cons @ A @ Y3 @ Ys3 ) ) ) ) ).
% 3.01/1.60  
% 3.01/1.60  thf(fact_64_list_Oinducts,axiom,
% 3.01/1.60      ! [A: $tType,P3: ( list @ A ) > $o,List: list @ A] :
% 3.01/1.60        ( ( P3 @ ( nil @ A ) )
% 3.01/1.60       => ( ! [X12: A,X23: list @ A] :
% 3.01/1.60              ( ( P3 @ X23 )
% 3.01/1.60             => ( P3 @ ( cons @ A @ X12 @ X23 ) ) )
% 3.01/1.60         => ( P3 @ List ) ) ) ).
% 3.01/1.60  
% 3.01/1.60  thf(fact_65_list_Oexhaust,axiom,
% 3.01/1.60      ! [A: $tType,Y: list @ A] :
% 3.01/1.60        ( ( Y
% 3.01/1.60         != ( nil @ A ) )
% 3.01/1.60       => ~ ! [X213: A,X223: list @ A] :
% 3.01/1.60              ( Y
% 3.01/1.60             != ( cons @ A @ X213 @ X223 ) ) ) ).
% 3.01/1.60  
% 3.01/1.60  thf(fact_66_list_OdiscI,axiom,
% 3.01/1.60      ! [A: $tType,List: list @ A,X21: A,X22: list @ A] :
% 3.01/1.60        ( ( List
% 3.01/1.60          = ( cons @ A @ X21 @ X22 ) )
% 3.01/1.60       => ( List
% 3.01/1.60         != ( nil @ A ) ) ) ).
% 3.01/1.60  
% 3.01/1.60  thf(fact_67_list_Odistinct_I1_J,axiom,
% 3.01/1.60      ! [A: $tType,X21: A,X22: list @ A] :
% 3.01/1.60        ( ( nil @ A )
% 3.01/1.60       != ( cons @ A @ X21 @ X22 ) ) ).
% 3.01/1.60  
% 3.01/1.60  thf(fact_68_ord_Olexordp__eq_OCons__eq,axiom,
% 3.01/1.60      ! [A: $tType,Less: A > A > $o,X: A,Y: A,Xs: list @ A,Ys: list @ A] :
% 3.01/1.60        ( ~ ( Less @ X @ Y )
% 3.01/1.60       => ( ~ ( Less @ Y @ X )
% 3.01/1.60         => ( ( lexordp_eq @ A @ Less @ Xs @ Ys )
% 3.01/1.60           => ( lexordp_eq @ A @ Less @ ( cons @ A @ X @ Xs ) @ ( cons @ A @ Y @ Ys ) ) ) ) ) ).
% 3.01/1.60  
% 3.01/1.60  thf(fact_69_ord_Olexordp__eq_OCons,axiom,
% 3.01/1.60      ! [A: $tType,Less: A > A > $o,X: A,Y: A,Xs: list @ A,Ys: list @ A] :
% 3.01/1.60        ( ( Less @ X @ Y )
% 3.01/1.60       => ( lexordp_eq @ A @ Less @ ( cons @ A @ X @ Xs ) @ ( cons @ A @ Y @ Ys ) ) ) ).
% 3.01/1.60  
% 3.01/1.60  thf(fact_70_splice_Osimps_I2_J,axiom,
% 3.01/1.60      ! [A: $tType,X: A,Xs: list @ A,Ys: list @ A] :
% 3.01/1.60        ( ( splice @ A @ ( cons @ A @ X @ Xs ) @ Ys )
% 3.01/1.60        = ( cons @ A @ X @ ( splice @ A @ Ys @ Xs ) ) ) ).
% 3.01/1.60  
% 3.01/1.60  thf(fact_71_list_Osimps_I7_J,axiom,
% 3.01/1.60      ! [C: $tType,A: $tType,F1: C,F2: A > ( list @ A ) > C > C,X21: A,X22: list @ A] :
% 3.01/1.60        ( ( rec_list @ C @ A @ F1 @ F2 @ ( cons @ A @ X21 @ X22 ) )
% 3.01/1.60        = ( F2 @ X21 @ X22 @ ( rec_list @ C @ A @ F1 @ F2 @ X22 ) ) ) ).
% 3.01/1.60  
% 3.01/1.60  thf(fact_72_listrelp_OCons,axiom,
% 3.01/1.60      ! [A: $tType,B: $tType,R: A > B > $o,X: A,Y: B,Xs: list @ A,Ys: list @ B] :
% 3.01/1.60        ( ( R @ X @ Y )
% 3.01/1.60       => ( ( listrelp @ A @ B @ R @ Xs @ Ys )
% 3.01/1.60         => ( listrelp @ A @ B @ R @ ( cons @ A @ X @ Xs ) @ ( cons @ B @ Y @ Ys ) ) ) ) ).
% 3.01/1.60  
% 3.01/1.60  thf(fact_73_sturm__seq_Ops__first__two,axiom,
% 3.01/1.60      ! [Ps: list @ ( poly @ real ),P: poly @ real] :
% 3.01/1.60        ( ( sturm_801371416rm_seq @ Ps @ P )
% 3.01/1.60       => ~ ! [Q2: poly @ real,Ps3: list @ ( poly @ real )] :
% 3.01/1.60              ( Ps
% 3.01/1.60             != ( cons @ ( poly @ real ) @ P @ ( cons @ ( poly @ real ) @ Q2 @ Ps3 ) ) ) ) ).
% 3.01/1.60  
% 3.01/1.60  thf(fact_74_map__tailrec__rev_Osimps_I2_J,axiom,
% 3.01/1.60      ! [A: $tType,B: $tType,F: A > B,A3: A,As2: list @ A,Bs: list @ B] :
% 3.01/1.60        ( ( map_tailrec_rev @ A @ B @ F @ ( cons @ A @ A3 @ As2 ) @ Bs )
% 3.01/1.60        = ( map_tailrec_rev @ A @ B @ F @ As2 @ ( cons @ B @ ( F @ A3 ) @ Bs ) ) ) ).
% 3.01/1.60  
% 3.01/1.60  thf(fact_75_null__rec_I1_J,axiom,
% 3.01/1.60      ! [A: $tType,X: A,Xs: list @ A] :
% 3.01/1.60        ~ ( null @ A @ ( cons @ A @ X @ Xs ) ) ).
% 3.01/1.60  
% 3.01/1.60  thf(fact_76_member__rec_I1_J,axiom,
% 3.01/1.60      ! [A: $tType,X: A,Xs: list @ A,Y: A] :
% 3.01/1.60        ( ( member @ A @ ( cons @ A @ X @ Xs ) @ Y )
% 3.01/1.60        = ( ( X = Y )
% 3.01/1.60          | ( member @ A @ Xs @ Y ) ) ) ).
% 3.01/1.60  
% 3.01/1.60  thf(fact_77_zip__eq__Nil__iff,axiom,
% 3.01/1.60      ! [A: $tType,B: $tType,Xs: list @ A,Ys: list @ B] :
% 3.01/1.60        ( ( ( zip @ A @ B @ Xs @ Ys )
% 3.01/1.60          = ( nil @ ( product_prod @ A @ B ) ) )
% 3.01/1.60        = ( ( Xs
% 3.01/1.60            = ( nil @ A ) )
% 3.01/1.60          | ( Ys
% 3.01/1.60            = ( nil @ B ) ) ) ) ).
% 3.01/1.60  
% 3.01/1.60  thf(fact_78_zip_Osimps_I1_J,axiom,
% 3.01/1.60      ! [B: $tType,A: $tType,Xs: list @ A] :
% 3.01/1.60        ( ( zip @ A @ B @ Xs @ ( nil @ B ) )
% 3.01/1.60        = ( nil @ ( product_prod @ A @ B ) ) ) ).
% 3.01/1.60  
% 3.01/1.60  thf(fact_79_minus__poly__rev__list_Oinduct,axiom,
% 3.01/1.60      ! [A: $tType] :
% 3.01/1.60        ( ( group_add @ A )
% 3.01/1.60       => ! [P3: ( list @ A ) > ( list @ A ) > $o,A0: list @ A,A12: list @ A] :
% 3.01/1.60            ( ! [X3: A,Xs2: list @ A,Y2: A,Ys2: list @ A] :
% 3.01/1.60                ( ( P3 @ Xs2 @ Ys2 )
% 3.01/1.60               => ( P3 @ ( cons @ A @ X3 @ Xs2 ) @ ( cons @ A @ Y2 @ Ys2 ) ) )
% 3.01/1.60           => ( ! [Xs2: list @ A] : ( P3 @ Xs2 @ ( nil @ A ) )
% 3.01/1.60             => ( ! [Y2: A,Ys2: list @ A] : ( P3 @ ( nil @ A ) @ ( cons @ A @ Y2 @ Ys2 ) )
% 3.01/1.60               => ( P3 @ A0 @ A12 ) ) ) ) ) ).
% 3.01/1.60  
% 3.01/1.60  thf(fact_80_plus__coeffs_Oinduct,axiom,
% 3.01/1.60      ! [A: $tType] :
% 3.01/1.60        ( ( comm_monoid_add @ A )
% 3.01/1.60       => ! [P3: ( list @ A ) > ( list @ A ) > $o,A0: list @ A,A12: list @ A] :
% 3.01/1.60            ( ! [Xs2: list @ A] : ( P3 @ Xs2 @ ( nil @ A ) )
% 3.01/1.60           => ( ! [V: A,Va: list @ A] : ( P3 @ ( nil @ A ) @ ( cons @ A @ V @ Va ) )
% 3.01/1.60             => ( ! [X3: A,Xs2: list @ A,Y2: A,Ys2: list @ A] :
% 3.01/1.60                    ( ( P3 @ Xs2 @ Ys2 )
% 3.01/1.60                   => ( P3 @ ( cons @ A @ X3 @ Xs2 ) @ ( cons @ A @ Y2 @ Ys2 ) ) )
% 3.01/1.60               => ( P3 @ A0 @ A12 ) ) ) ) ) ).
% 3.01/1.60  
% 3.01/1.60  thf(fact_81_insert__Nil,axiom,
% 3.01/1.60      ! [A: $tType,X: A] :
% 3.01/1.60        ( ( insert @ A @ X @ ( nil @ A ) )
% 3.01/1.60        = ( cons @ A @ X @ ( nil @ A ) ) ) ).
% 3.01/1.60  
% 3.01/1.60  thf(fact_82_arg__min__list_Osimps_I1_J,axiom,
% 3.01/1.60      ! [B: $tType,A: $tType] :
% 3.01/1.60        ( ( linorder @ B )
% 3.01/1.60       => ! [F: A > B,X: A] :
% 3.01/1.60            ( ( arg_min_list @ A @ B @ F @ ( cons @ A @ X @ ( nil @ A ) ) )
% 3.01/1.60            = X ) ) ).
% 3.01/1.60  
% 3.01/1.60  thf(fact_83_lexordp__eq__simps_I3_J,axiom,
% 3.01/1.60      ! [A: $tType] :
% 3.01/1.60        ( ( ord @ A )
% 3.01/1.60       => ! [X: A,Xs: list @ A] :
% 3.01/1.60            ~ ( ord_lexordp_eq @ A @ ( cons @ A @ X @ Xs ) @ ( nil @ A ) ) ) ).
% 3.01/1.60  
% 3.01/1.60  thf(fact_84_rotate1_Osimps_I2_J,axiom,
% 3.01/1.60      ! [A: $tType,X: A,Xs: list @ A] :
% 3.01/1.60        ( ( rotate1 @ A @ ( cons @ A @ X @ Xs ) )
% 3.01/1.60        = ( append @ A @ Xs @ ( cons @ A @ X @ ( nil @ A ) ) ) ) ).
% 3.01/1.60  
% 3.01/1.60  thf(fact_85_bind__simps_I2_J,axiom,
% 3.01/1.60      ! [A: $tType,B: $tType,X: B,Xs: list @ B,F: B > ( list @ A )] :
% 3.01/1.60        ( ( bind @ B @ A @ ( cons @ B @ X @ Xs ) @ F )
% 3.01/1.60        = ( append @ A @ ( F @ X ) @ ( bind @ B @ A @ Xs @ F ) ) ) ).
% 3.01/1.60  
% 3.01/1.60  thf(fact_86_gen__length__code_I2_J,axiom,
% 3.01/1.60      ! [B: $tType,N: nat,X: B,Xs: list @ B] :
% 3.01/1.60        ( ( gen_length @ B @ N @ ( cons @ B @ X @ Xs ) )
% 3.01/1.60        = ( gen_length @ B @ ( suc @ N ) @ Xs ) ) ).
% 3.01/1.60  
% 3.01/1.60  thf(fact_87_append_Oassoc,axiom,
% 3.01/1.60      ! [A: $tType,A3: list @ A,B2: list @ A,C2: list @ A] :
% 3.01/1.60        ( ( append @ A @ ( append @ A @ A3 @ B2 ) @ C2 )
% 3.01/1.60        = ( append @ A @ A3 @ ( append @ A @ B2 @ C2 ) ) ) ).
% 3.01/1.60  
% 3.01/1.60  thf(fact_88_append__assoc,axiom,
% 3.01/1.60      ! [A: $tType,Xs: list @ A,Ys: list @ A,Zs2: list @ A] :
% 3.01/1.60        ( ( append @ A @ ( append @ A @ Xs @ Ys ) @ Zs2 )
% 3.01/1.60        = ( append @ A @ Xs @ ( append @ A @ Ys @ Zs2 ) ) ) ).
% 3.01/1.60  
% 3.01/1.60  thf(fact_89_append__same__eq,axiom,
% 3.01/1.60      ! [A: $tType,Ys: list @ A,Xs: list @ A,Zs2: list @ A] :
% 3.01/1.60        ( ( ( append @ A @ Ys @ Xs )
% 3.01/1.60          = ( append @ A @ Zs2 @ Xs ) )
% 3.01/1.60        = ( Ys = Zs2 ) ) ).
% 3.01/1.60  
% 3.01/1.60  thf(fact_90_same__append__eq,axiom,
% 3.01/1.60      ! [A: $tType,Xs: list @ A,Ys: list @ A,Zs2: list @ A] :
% 3.01/1.60        ( ( ( append @ A @ Xs @ Ys )
% 3.01/1.60          = ( append @ A @ Xs @ Zs2 ) )
% 3.01/1.60        = ( Ys = Zs2 ) ) ).
% 3.01/1.60  
% 3.01/1.60  thf(fact_91_append__Nil2,axiom,
% 3.01/1.60      ! [A: $tType,Xs: list @ A] :
% 3.01/1.60        ( ( append @ A @ Xs @ ( nil @ A ) )
% 3.01/1.60        = Xs ) ).
% 3.01/1.60  
% 3.01/1.60  thf(fact_92_append__self__conv,axiom,
% 3.01/1.60      ! [A: $tType,Xs: list @ A,Ys: list @ A] :
% 3.01/1.60        ( ( ( append @ A @ Xs @ Ys )
% 3.01/1.60          = Xs )
% 3.01/1.60        = ( Ys
% 3.01/1.60          = ( nil @ A ) ) ) ).
% 3.01/1.60  
% 3.01/1.60  thf(fact_93_self__append__conv,axiom,
% 3.01/1.60      ! [A: $tType,Xs: list @ A,Ys: list @ A] :
% 3.01/1.60        ( ( Xs
% 3.01/1.60          = ( append @ A @ Xs @ Ys ) )
% 3.01/1.60        = ( Ys
% 3.01/1.60          = ( nil @ A ) ) ) ).
% 3.01/1.60  
% 3.01/1.60  thf(fact_94_append__self__conv2,axiom,
% 3.01/1.60      ! [A: $tType,Xs: list @ A,Ys: list @ A] :
% 3.01/1.60        ( ( ( append @ A @ Xs @ Ys )
% 3.01/1.60          = Ys )
% 3.01/1.60        = ( Xs
% 3.01/1.60          = ( nil @ A ) ) ) ).
% 3.01/1.60  
% 3.01/1.60  thf(fact_95_self__append__conv2,axiom,
% 3.01/1.60      ! [A: $tType,Ys: list @ A,Xs: list @ A] :
% 3.01/1.60        ( ( Ys
% 3.01/1.60          = ( append @ A @ Xs @ Ys ) )
% 3.01/1.60        = ( Xs
% 3.01/1.60          = ( nil @ A ) ) ) ).
% 3.01/1.60  
% 3.01/1.60  thf(fact_96_Nil__is__append__conv,axiom,
% 3.01/1.60      ! [A: $tType,Xs: list @ A,Ys: list @ A] :
% 3.01/1.60        ( ( ( nil @ A )
% 3.01/1.60          = ( append @ A @ Xs @ Ys ) )
% 3.01/1.60        = ( ( Xs
% 3.01/1.60            = ( nil @ A ) )
% 3.01/1.60          & ( Ys
% 3.01/1.60            = ( nil @ A ) ) ) ) ).
% 3.01/1.60  
% 3.01/1.60  thf(fact_97_append__is__Nil__conv,axiom,
% 3.01/1.60      ! [A: $tType,Xs: list @ A,Ys: list @ A] :
% 3.01/1.60        ( ( ( append @ A @ Xs @ Ys )
% 3.01/1.60          = ( nil @ A ) )
% 3.01/1.60        = ( ( Xs
% 3.01/1.60            = ( nil @ A ) )
% 3.01/1.60          & ( Ys
% 3.01/1.60            = ( nil @ A ) ) ) ) ).
% 3.01/1.60  
% 3.01/1.60  thf(fact_98_append_Oright__neutral,axiom,
% 3.01/1.60      ! [A: $tType,A3: list @ A] :
% 3.01/1.60        ( ( append @ A @ A3 @ ( nil @ A ) )
% 3.01/1.60        = A3 ) ).
% 3.01/1.60  
% 3.01/1.60  thf(fact_99_lexordp__eq__simps_I2_J,axiom,
% 3.01/1.60      ! [A: $tType] :
% 3.01/1.60        ( ( ord @ A )
% 3.01/1.60       => ! [Xs: list @ A] :
% 3.01/1.60            ( ( ord_lexordp_eq @ A @ Xs @ ( nil @ A ) )
% 3.01/1.60            = ( Xs
% 3.01/1.60              = ( nil @ A ) ) ) ) ).
% 3.01/1.60  
% 3.01/1.60  thf(fact_100_lexordp__eq__simps_I1_J,axiom,
% 3.01/1.60      ! [A: $tType] :
% 3.01/1.60        ( ( ord @ A )
% 3.01/1.60       => ! [Ys: list @ A] : ( ord_lexordp_eq @ A @ ( nil @ A ) @ Ys ) ) ).
% 3.01/1.60  
% 3.01/1.60  thf(fact_101_list__ex__append,axiom,
% 3.01/1.60      ! [A: $tType,P3: A > $o,Xs: list @ A,Ys: list @ A] :
% 3.01/1.60        ( ( list_ex @ A @ P3 @ ( append @ A @ Xs @ Ys ) )
% 3.01/1.60        = ( ( list_ex @ A @ P3 @ Xs )
% 3.01/1.60          | ( list_ex @ A @ P3 @ Ys ) ) ) ).
% 3.01/1.60  
% 3.01/1.60  thf(fact_102_append1__eq__conv,axiom,
% 3.01/1.60      ! [A: $tType,Xs: list @ A,X: A,Ys: list @ A,Y: A] :
% 3.01/1.60        ( ( ( append @ A @ Xs @ ( cons @ A @ X @ ( nil @ A ) ) )
% 3.01/1.60          = ( append @ A @ Ys @ ( cons @ A @ Y @ ( nil @ A ) ) ) )
% 3.01/1.60        = ( ( Xs = Ys )
% 3.01/1.60          & ( X = Y ) ) ) ).
% 3.01/1.60  
% 3.01/1.60  thf(fact_103_append__eq__appendI,axiom,
% 3.01/1.60      ! [A: $tType,Xs: list @ A,Xs1: list @ A,Zs2: list @ A,Ys: list @ A,Us: list @ A] :
% 3.01/1.60        ( ( ( append @ A @ Xs @ Xs1 )
% 3.01/1.60          = Zs2 )
% 3.01/1.60       => ( ( Ys
% 3.01/1.60            = ( append @ A @ Xs1 @ Us ) )
% 3.01/1.60         => ( ( append @ A @ Xs @ Ys )
% 3.01/1.60            = ( append @ A @ Zs2 @ Us ) ) ) ) ).
% 3.01/1.60  
% 3.01/1.60  thf(fact_104_append__eq__append__conv2,axiom,
% 3.01/1.60      ! [A: $tType,Xs: list @ A,Ys: list @ A,Zs2: list @ A,Ts: list @ A] :
% 3.01/1.60        ( ( ( append @ A @ Xs @ Ys )
% 3.01/1.60          = ( append @ A @ Zs2 @ Ts ) )
% 3.01/1.60        = ( ? [Us2: list @ A] :
% 3.01/1.60              ( ( ( Xs
% 3.01/1.60                  = ( append @ A @ Zs2 @ Us2 ) )
% 3.01/1.60                & ( ( append @ A @ Us2 @ Ys )
% 3.01/1.60                  = Ts ) )
% 3.01/1.60              | ( ( ( append @ A @ Xs @ Us2 )
% 3.01/1.60                  = Zs2 )
% 3.01/1.60                & ( Ys
% 3.01/1.60                  = ( append @ A @ Us2 @ Ts ) ) ) ) ) ) ).
% 3.01/1.60  
% 3.01/1.60  thf(fact_105_lexordp__eq__pref,axiom,
% 3.01/1.60      ! [A: $tType] :
% 3.01/1.60        ( ( ord @ A )
% 3.01/1.60       => ! [U: list @ A,V2: list @ A] : ( ord_lexordp_eq @ A @ U @ ( append @ A @ U @ V2 ) ) ) ).
% 3.01/1.60  
% 3.01/1.60  thf(fact_106_lexordp__eq__refl,axiom,
% 3.01/1.60      ! [A: $tType] :
% 3.01/1.60        ( ( ord @ A )
% 3.01/1.60       => ! [Xs: list @ A] : ( ord_lexordp_eq @ A @ Xs @ Xs ) ) ).
% 3.01/1.60  
% 3.01/1.60  thf(fact_107_lexordp__eq__trans,axiom,
% 3.01/1.60      ! [A: $tType] :
% 3.01/1.60        ( ( linorder @ A )
% 3.01/1.60       => ! [Xs: list @ A,Ys: list @ A,Zs2: list @ A] :
% 3.01/1.60            ( ( ord_lexordp_eq @ A @ Xs @ Ys )
% 3.01/1.60           => ( ( ord_lexordp_eq @ A @ Ys @ Zs2 )
% 3.01/1.60             => ( ord_lexordp_eq @ A @ Xs @ Zs2 ) ) ) ) ).
% 3.01/1.60  
% 3.01/1.60  thf(fact_108_lexordp__eq__linear,axiom,
% 3.01/1.60      ! [A: $tType] :
% 3.01/1.60        ( ( linorder @ A )
% 3.01/1.60       => ! [Xs: list @ A,Ys: list @ A] :
% 3.01/1.60            ( ( ord_lexordp_eq @ A @ Xs @ Ys )
% 3.01/1.60            | ( ord_lexordp_eq @ A @ Ys @ Xs ) ) ) ).
% 3.01/1.60  
% 3.01/1.60  thf(fact_109_lexordp__eq__antisym,axiom,
% 3.01/1.60      ! [A: $tType] :
% 3.01/1.60        ( ( linorder @ A )
% 3.01/1.60       => ! [Xs: list @ A,Ys: list @ A] :
% 3.01/1.60            ( ( ord_lexordp_eq @ A @ Xs @ Ys )
% 3.01/1.60           => ( ( ord_lexordp_eq @ A @ Ys @ Xs )
% 3.01/1.60             => ( Xs = Ys ) ) ) ) ).
% 3.01/1.60  
% 3.01/1.60  thf(fact_110_Cons__eq__appendI,axiom,
% 3.01/1.60      ! [A: $tType,X: A,Xs1: list @ A,Ys: list @ A,Xs: list @ A,Zs2: list @ A] :
% 3.01/1.60        ( ( ( cons @ A @ X @ Xs1 )
% 3.01/1.60          = Ys )
% 3.01/1.60       => ( ( Xs
% 3.01/1.60            = ( append @ A @ Xs1 @ Zs2 ) )
% 3.01/1.60         => ( ( cons @ A @ X @ Xs )
% 3.01/1.60            = ( append @ A @ Ys @ Zs2 ) ) ) ) ).
% 3.01/1.60  
% 3.01/1.60  thf(fact_111_append__Cons,axiom,
% 3.01/1.60      ! [A: $tType,X: A,Xs: list @ A,Ys: list @ A] :
% 3.01/1.60        ( ( append @ A @ ( cons @ A @ X @ Xs ) @ Ys )
% 3.01/1.60        = ( cons @ A @ X @ ( append @ A @ Xs @ Ys ) ) ) ).
% 3.01/1.60  
% 3.01/1.60  thf(fact_112_eq__Nil__appendI,axiom,
% 3.01/1.60      ! [A: $tType,Xs: list @ A,Ys: list @ A] :
% 3.01/1.60        ( ( Xs = Ys )
% 3.01/1.60       => ( Xs
% 3.01/1.60          = ( append @ A @ ( nil @ A ) @ Ys ) ) ) ).
% 3.01/1.60  
% 3.01/1.60  thf(fact_113_append__Nil,axiom,
% 3.01/1.60      ! [A: $tType,Ys: list @ A] :
% 3.01/1.60        ( ( append @ A @ ( nil @ A ) @ Ys )
% 3.01/1.60        = Ys ) ).
% 3.01/1.60  
% 3.01/1.60  thf(fact_114_append_Oleft__neutral,axiom,
% 3.01/1.60      ! [A: $tType,A3: list @ A] :
% 3.01/1.60        ( ( append @ A @ ( nil @ A ) @ A3 )
% 3.01/1.60        = A3 ) ).
% 3.01/1.60  
% 3.01/1.60  thf(fact_115_ord_Olexordp__eq__pref,axiom,
% 3.01/1.60      ! [A: $tType,Less: A > A > $o,U: list @ A,V2: list @ A] : ( lexordp_eq @ A @ Less @ U @ ( append @ A @ U @ V2 ) ) ).
% 3.01/1.60  
% 3.01/1.60  thf(fact_116_lexordp__eq_ONil,axiom,
% 3.01/1.60      ! [A: $tType] :
% 3.01/1.60        ( ( ord @ A )
% 3.01/1.60       => ! [Ys: list @ A] : ( ord_lexordp_eq @ A @ ( nil @ A ) @ Ys ) ) ).
% 3.01/1.60  
% 3.01/1.60  thf(fact_117_rev__induct,axiom,
% 3.01/1.60      ! [A: $tType,P3: ( list @ A ) > $o,Xs: list @ A] :
% 3.01/1.60        ( ( P3 @ ( nil @ A ) )
% 3.01/1.60       => ( ! [X3: A,Xs2: list @ A] :
% 3.01/1.60              ( ( P3 @ Xs2 )
% 3.01/1.60             => ( P3 @ ( append @ A @ Xs2 @ ( cons @ A @ X3 @ ( nil @ A ) ) ) ) )
% 3.01/1.60         => ( P3 @ Xs ) ) ) ).
% 3.01/1.60  
% 3.01/1.60  thf(fact_118_rev__exhaust,axiom,
% 3.01/1.60      ! [A: $tType,Xs: list @ A] :
% 3.01/1.60        ( ( Xs
% 3.01/1.60         != ( nil @ A ) )
% 3.01/1.60       => ~ ! [Ys2: list @ A,Y2: A] :
% 3.01/1.60              ( Xs
% 3.01/1.60             != ( append @ A @ Ys2 @ ( cons @ A @ Y2 @ ( nil @ A ) ) ) ) ) ).
% 3.01/1.60  
% 3.01/1.60  thf(fact_119_Cons__eq__append__conv,axiom,
% 3.01/1.60      ! [A: $tType,X: A,Xs: list @ A,Ys: list @ A,Zs2: list @ A] :
% 3.01/1.60        ( ( ( cons @ A @ X @ Xs )
% 3.01/1.60          = ( append @ A @ Ys @ Zs2 ) )
% 3.01/1.60        = ( ( ( Ys
% 3.01/1.60              = ( nil @ A ) )
% 3.01/1.60            & ( ( cons @ A @ X @ Xs )
% 3.01/1.60              = Zs2 ) )
% 3.01/1.60          | ? [Ys4: list @ A] :
% 3.01/1.60              ( ( ( cons @ A @ X @ Ys4 )
% 3.01/1.60                = Ys )
% 3.01/1.60              & ( Xs
% 3.01/1.60                = ( append @ A @ Ys4 @ Zs2 ) ) ) ) ) ).
% 3.01/1.60  
% 3.01/1.60  thf(fact_120_append__eq__Cons__conv,axiom,
% 3.01/1.60      ! [A: $tType,Ys: list @ A,Zs2: list @ A,X: A,Xs: list @ A] :
% 3.01/1.60        ( ( ( append @ A @ Ys @ Zs2 )
% 3.01/1.60          = ( cons @ A @ X @ Xs ) )
% 3.01/1.60        = ( ( ( Ys
% 3.01/1.60              = ( nil @ A ) )
% 3.01/1.60            & ( Zs2
% 3.01/1.60              = ( cons @ A @ X @ Xs ) ) )
% 3.01/1.60          | ? [Ys4: list @ A] :
% 3.01/1.60              ( ( Ys
% 3.01/1.60                = ( cons @ A @ X @ Ys4 ) )
% 3.01/1.60              & ( ( append @ A @ Ys4 @ Zs2 )
% 3.01/1.60                = Xs ) ) ) ) ).
% 3.01/1.60  
% 3.01/1.60  thf(fact_121_rev__nonempty__induct,axiom,
% 3.01/1.60      ! [A: $tType,Xs: list @ A,P3: ( list @ A ) > $o] :
% 3.01/1.60        ( ( Xs
% 3.01/1.60         != ( nil @ A ) )
% 3.01/1.60       => ( ! [X3: A] : ( P3 @ ( cons @ A @ X3 @ ( nil @ A ) ) )
% 3.01/1.60         => ( ! [X3: A,Xs2: list @ A] :
% 3.01/1.60                ( ( Xs2
% 3.01/1.60                 != ( nil @ A ) )
% 3.01/1.60               => ( ( P3 @ Xs2 )
% 3.01/1.60                 => ( P3 @ ( append @ A @ Xs2 @ ( cons @ A @ X3 @ ( nil @ A ) ) ) ) ) )
% 3.01/1.60           => ( P3 @ Xs ) ) ) ) ).
% 3.01/1.60  
% 3.01/1.60  thf(fact_122_maps__simps_I1_J,axiom,
% 3.01/1.60      ! [A: $tType,B: $tType,F: B > ( list @ A ),X: B,Xs: list @ B] :
% 3.01/1.60        ( ( maps @ B @ A @ F @ ( cons @ B @ X @ Xs ) )
% 3.01/1.60        = ( append @ A @ ( F @ X ) @ ( maps @ B @ A @ F @ Xs ) ) ) ).
% 3.01/1.60  
% 3.01/1.60  thf(fact_123_old_Onat_Oinject,axiom,
% 3.01/1.60      ! [Nat: nat,Nat2: nat] :
% 3.01/1.60        ( ( ( suc @ Nat )
% 3.01/1.60          = ( suc @ Nat2 ) )
% 3.01/1.60        = ( Nat = Nat2 ) ) ).
% 3.01/1.60  
% 3.01/1.60  thf(fact_124_nat_Oinject,axiom,
% 3.01/1.60      ! [X2: nat,Y23: nat] :
% 3.01/1.60        ( ( ( suc @ X2 )
% 3.01/1.60          = ( suc @ Y23 ) )
% 3.01/1.60        = ( X2 = Y23 ) ) ).
% 3.01/1.60  
% 3.01/1.60  thf(fact_125_product__lists_Osimps_I1_J,axiom,
% 3.01/1.60      ! [A: $tType] :
% 3.01/1.60        ( ( product_lists @ A @ ( nil @ ( list @ A ) ) )
% 3.01/1.60        = ( cons @ ( list @ A ) @ ( nil @ A ) @ ( nil @ ( list @ A ) ) ) ) ).
% 3.01/1.60  
% 3.01/1.60  thf(fact_126_subseqs_Osimps_I1_J,axiom,
% 3.01/1.60      ! [A: $tType] :
% 3.01/1.60        ( ( subseqs @ A @ ( nil @ A ) )
% 3.01/1.60        = ( cons @ ( list @ A ) @ ( nil @ A ) @ ( nil @ ( list @ A ) ) ) ) ).
% 3.01/1.60  
% 3.01/1.60  thf(fact_127_concat__eq__append__conv,axiom,
% 3.01/1.60      ! [A: $tType,Xss2: list @ ( list @ A ),Ys: list @ A,Zs2: list @ A] :
% 3.01/1.60        ( ( ( concat @ A @ Xss2 )
% 3.01/1.60          = ( append @ A @ Ys @ Zs2 ) )
% 3.01/1.60        = ( ( ( Xss2
% 3.01/1.60              = ( nil @ ( list @ A ) ) )
% 3.01/1.60           => ( ( Ys
% 3.01/1.60                = ( nil @ A ) )
% 3.01/1.60              & ( Zs2
% 3.01/1.60                = ( nil @ A ) ) ) )
% 3.01/1.60          & ( ( Xss2
% 3.01/1.60             != ( nil @ ( list @ A ) ) )
% 3.01/1.60           => ? [Xss1: list @ ( list @ A ),Xs3: list @ A,Xs4: list @ A,Xss22: list @ ( list @ A )] :
% 3.01/1.60                ( ( Xss2
% 3.01/1.60                  = ( append @ ( list @ A ) @ Xss1 @ ( cons @ ( list @ A ) @ ( append @ A @ Xs3 @ Xs4 ) @ Xss22 ) ) )
% 3.01/1.60                & ( Ys
% 3.01/1.60                  = ( append @ A @ ( concat @ A @ Xss1 ) @ Xs3 ) )
% 3.01/1.60                & ( Zs2
% 3.01/1.60                  = ( append @ A @ Xs4 @ ( concat @ A @ Xss22 ) ) ) ) ) ) ) ).
% 3.01/1.60  
% 3.01/1.60  thf(fact_128_concat__append,axiom,
% 3.01/1.60      ! [A: $tType,Xs: list @ ( list @ A ),Ys: list @ ( list @ A )] :
% 3.01/1.60        ( ( concat @ A @ ( append @ ( list @ A ) @ Xs @ Ys ) )
% 3.01/1.60        = ( append @ A @ ( concat @ A @ Xs ) @ ( concat @ A @ Ys ) ) ) ).
% 3.01/1.60  
% 3.01/1.60  thf(fact_129_concat_Osimps_I1_J,axiom,
% 3.01/1.60      ! [A: $tType] :
% 3.01/1.60        ( ( concat @ A @ ( nil @ ( list @ A ) ) )
% 3.01/1.60        = ( nil @ A ) ) ).
% 3.01/1.60  
% 3.01/1.60  thf(fact_130_concat_Osimps_I2_J,axiom,
% 3.01/1.60      ! [A: $tType,X: list @ A,Xs: list @ ( list @ A )] :
% 3.01/1.60        ( ( concat @ A @ ( cons @ ( list @ A ) @ X @ Xs ) )
% 3.01/1.60        = ( append @ A @ X @ ( concat @ A @ Xs ) ) ) ).
% 3.01/1.60  
% 3.01/1.60  thf(fact_131_Suc__inject,axiom,
% 3.01/1.60      ! [X: nat,Y: nat] :
% 3.01/1.60        ( ( ( suc @ X )
% 3.01/1.60          = ( suc @ Y ) )
% 3.01/1.60       => ( X = Y ) ) ).
% 3.01/1.60  
% 3.01/1.60  thf(fact_132_n__not__Suc__n,axiom,
% 3.01/1.60      ! [N: nat] :
% 3.01/1.60        ( N
% 3.01/1.60       != ( suc @ N ) ) ).
% 3.01/1.60  
% 3.01/1.60  thf(fact_133_concat__eq__appendD,axiom,
% 3.01/1.60      ! [A: $tType,Xss2: list @ ( list @ A ),Ys: list @ A,Zs2: list @ A] :
% 3.01/1.60        ( ( ( concat @ A @ Xss2 )
% 3.01/1.60          = ( append @ A @ Ys @ Zs2 ) )
% 3.01/1.60       => ( ( Xss2
% 3.01/1.60           != ( nil @ ( list @ A ) ) )
% 3.01/1.60         => ? [Xss12: list @ ( list @ A ),Xs2: list @ A,Xs5: list @ A,Xss23: list @ ( list @ A )] :
% 3.01/1.60              ( ( Xss2
% 3.01/1.60                = ( append @ ( list @ A ) @ Xss12 @ ( cons @ ( list @ A ) @ ( append @ A @ Xs2 @ Xs5 ) @ Xss23 ) ) )
% 3.01/1.60              & ( Ys
% 3.01/1.60                = ( append @ A @ ( concat @ A @ Xss12 ) @ Xs2 ) )
% 3.01/1.60              & ( Zs2
% 3.01/1.60                = ( append @ A @ Xs5 @ ( concat @ A @ Xss23 ) ) ) ) ) ) ).
% 3.01/1.60  
% 3.01/1.60  thf(fact_134_butlast__snoc,axiom,
% 3.01/1.60      ! [A: $tType,Xs: list @ A,X: A] :
% 3.01/1.60        ( ( butlast @ A @ ( append @ A @ Xs @ ( cons @ A @ X @ ( nil @ A ) ) ) )
% 3.01/1.60        = Xs ) ).
% 3.01/1.60  
% 3.01/1.60  thf(fact_135_enumerate__simps_I2_J,axiom,
% 3.01/1.60      ! [B: $tType,N: nat,X: B,Xs: list @ B] :
% 3.01/1.60        ( ( enumerate @ B @ N @ ( cons @ B @ X @ Xs ) )
% 3.01/1.60        = ( cons @ ( product_prod @ nat @ B ) @ ( product_Pair @ nat @ B @ N @ X ) @ ( enumerate @ B @ ( suc @ N ) @ Xs ) ) ) ).
% 3.01/1.60  
% 3.01/1.60  thf(fact_136_last__snoc,axiom,
% 3.01/1.60      ! [A: $tType,Xs: list @ A,X: A] :
% 3.01/1.60        ( ( last @ A @ ( append @ A @ Xs @ ( cons @ A @ X @ ( nil @ A ) ) ) )
% 3.01/1.60        = X ) ).
% 3.01/1.60  
% 3.01/1.60  thf(fact_137_plus__coeffs_Osimps_I2_J,axiom,
% 3.01/1.60      ! [A: $tType] :
% 3.01/1.60        ( ( comm_monoid_add @ A )
% 3.01/1.60       => ! [V2: A,Va2: list @ A] :
% 3.01/1.60            ( ( plus_coeffs @ A @ ( nil @ A ) @ ( cons @ A @ V2 @ Va2 ) )
% 3.01/1.60            = ( cons @ A @ V2 @ Va2 ) ) ) ).
% 3.01/1.60  
% 3.01/1.60  thf(fact_138_last__appendL,axiom,
% 3.01/1.60      ! [A: $tType,Ys: list @ A,Xs: list @ A] :
% 3.01/1.60        ( ( Ys
% 3.01/1.60          = ( nil @ A ) )
% 3.01/1.60       => ( ( last @ A @ ( append @ A @ Xs @ Ys ) )
% 3.01/1.60          = ( last @ A @ Xs ) ) ) ).
% 3.01/1.60  
% 3.01/1.60  thf(fact_139_last__appendR,axiom,
% 3.01/1.60      ! [A: $tType,Ys: list @ A,Xs: list @ A] :
% 3.01/1.60        ( ( Ys
% 3.01/1.60         != ( nil @ A ) )
% 3.01/1.60       => ( ( last @ A @ ( append @ A @ Xs @ Ys ) )
% 3.01/1.60          = ( last @ A @ Ys ) ) ) ).
% 3.01/1.60  
% 3.01/1.60  thf(fact_140_zip__Cons__Cons,axiom,
% 3.01/1.60      ! [A: $tType,B: $tType,X: A,Xs: list @ A,Y: B,Ys: list @ B] :
% 3.01/1.60        ( ( zip @ A @ B @ ( cons @ A @ X @ Xs ) @ ( cons @ B @ Y @ Ys ) )
% 3.01/1.60        = ( cons @ ( product_prod @ A @ B ) @ ( product_Pair @ A @ B @ X @ Y ) @ ( zip @ A @ B @ Xs @ Ys ) ) ) ).
% 3.01/1.60  
% 3.01/1.60  thf(fact_141_append__butlast__last__id,axiom,
% 3.01/1.60      ! [A: $tType,Xs: list @ A] :
% 3.01/1.60        ( ( Xs
% 3.01/1.60         != ( nil @ A ) )
% 3.01/1.60       => ( ( append @ A @ ( butlast @ A @ Xs ) @ ( cons @ A @ ( last @ A @ Xs ) @ ( nil @ A ) ) )
% 3.01/1.60          = Xs ) ) ).
% 3.01/1.60  
% 3.01/1.60  thf(fact_142_butlast_Osimps_I1_J,axiom,
% 3.01/1.60      ! [A: $tType] :
% 3.01/1.60        ( ( butlast @ A @ ( nil @ A ) )
% 3.01/1.60        = ( nil @ A ) ) ).
% 3.01/1.60  
% 3.01/1.60  thf(fact_143_snoc__eq__iff__butlast,axiom,
% 3.01/1.60      ! [A: $tType,Xs: list @ A,X: A,Ys: list @ A] :
% 3.01/1.60        ( ( ( append @ A @ Xs @ ( cons @ A @ X @ ( nil @ A ) ) )
% 3.01/1.60          = Ys )
% 3.01/1.60        = ( ( Ys
% 3.01/1.60           != ( nil @ A ) )
% 3.01/1.60          & ( ( butlast @ A @ Ys )
% 3.01/1.60            = Xs )
% 3.01/1.60          & ( ( last @ A @ Ys )
% 3.01/1.60            = X ) ) ) ).
% 3.01/1.60  
% 3.01/1.60  thf(fact_144_last_Osimps,axiom,
% 3.01/1.60      ! [A: $tType,Xs: list @ A,X: A] :
% 3.01/1.60        ( ( ( Xs
% 3.01/1.60            = ( nil @ A ) )
% 3.01/1.60         => ( ( last @ A @ ( cons @ A @ X @ Xs ) )
% 3.01/1.60            = X ) )
% 3.01/1.60        & ( ( Xs
% 3.01/1.60           != ( nil @ A ) )
% 3.01/1.60         => ( ( last @ A @ ( cons @ A @ X @ Xs ) )
% 3.01/1.60            = ( last @ A @ Xs ) ) ) ) ).
% 3.01/1.60  
% 3.01/1.60  thf(fact_145_last__ConsL,axiom,
% 3.01/1.60      ! [A: $tType,Xs: list @ A,X: A] :
% 3.01/1.60        ( ( Xs
% 3.01/1.60          = ( nil @ A ) )
% 3.01/1.60       => ( ( last @ A @ ( cons @ A @ X @ Xs ) )
% 3.01/1.60          = X ) ) ).
% 3.01/1.60  
% 3.01/1.60  thf(fact_146_last__ConsR,axiom,
% 3.01/1.60      ! [A: $tType,Xs: list @ A,X: A] :
% 3.01/1.60        ( ( Xs
% 3.01/1.60         != ( nil @ A ) )
% 3.01/1.60       => ( ( last @ A @ ( cons @ A @ X @ Xs ) )
% 3.01/1.60          = ( last @ A @ Xs ) ) ) ).
% 3.01/1.60  
% 3.01/1.60  thf(fact_147_zip__eq__ConsE,axiom,
% 3.01/1.60      ! [A: $tType,B: $tType,Xs: list @ A,Ys: list @ B,Xy: product_prod @ A @ B,Xys: list @ ( product_prod @ A @ B )] :
% 3.01/1.60        ( ( ( zip @ A @ B @ Xs @ Ys )
% 3.01/1.60          = ( cons @ ( product_prod @ A @ B ) @ Xy @ Xys ) )
% 3.01/1.60       => ~ ! [X3: A,Xs5: list @ A] :
% 3.01/1.60              ( ( Xs
% 3.01/1.60                = ( cons @ A @ X3 @ Xs5 ) )
% 3.01/1.60             => ! [Y2: B,Ys5: list @ B] :
% 3.01/1.60                  ( ( Ys
% 3.01/1.60                    = ( cons @ B @ Y2 @ Ys5 ) )
% 3.01/1.60                 => ( ( Xy
% 3.01/1.60                      = ( product_Pair @ A @ B @ X3 @ Y2 ) )
% 3.01/1.60                   => ( Xys
% 3.01/1.60                     != ( zip @ A @ B @ Xs5 @ Ys5 ) ) ) ) ) ) ).
% 3.01/1.60  
% 3.01/1.60  thf(fact_148_plus__coeffs_Osimps_I1_J,axiom,
% 3.01/1.60      ! [A: $tType] :
% 3.01/1.60        ( ( comm_monoid_add @ A )
% 3.01/1.60       => ! [Xs: list @ A] :
% 3.01/1.60            ( ( plus_coeffs @ A @ Xs @ ( nil @ A ) )
% 3.01/1.60            = Xs ) ) ).
% 3.01/1.60  
% 3.01/1.60  thf(fact_149_last__append,axiom,
% 3.01/1.60      ! [A: $tType,Ys: list @ A,Xs: list @ A] :
% 3.01/1.60        ( ( ( Ys
% 3.01/1.60            = ( nil @ A ) )
% 3.01/1.60         => ( ( last @ A @ ( append @ A @ Xs @ Ys ) )
% 3.01/1.60            = ( last @ A @ Xs ) ) )
% 3.01/1.60        & ( ( Ys
% 3.01/1.60           != ( nil @ A ) )
% 3.01/1.60         => ( ( last @ A @ ( append @ A @ Xs @ Ys ) )
% 3.01/1.60            = ( last @ A @ Ys ) ) ) ) ).
% 3.01/1.60  
% 3.01/1.60  thf(fact_150_longest__common__suffix,axiom,
% 3.01/1.60      ! [A: $tType,Xs: list @ A,Ys: list @ A] :
% 3.01/1.60      ? [Ss: list @ A,Xs5: list @ A,Ys5: list @ A] :
% 3.01/1.60        ( ( Xs
% 3.01/1.60          = ( append @ A @ Xs5 @ Ss ) )
% 3.01/1.60        & ( Ys
% 3.01/1.60          = ( append @ A @ Ys5 @ Ss ) )
% 3.01/1.60        & ( ( Xs5
% 3.01/1.60            = ( nil @ A ) )
% 3.01/1.60          | ( Ys5
% 3.01/1.60            = ( nil @ A ) )
% 3.01/1.60          | ( ( last @ A @ Xs5 )
% 3.01/1.60           != ( last @ A @ Ys5 ) ) ) ) ).
% 3.01/1.60  
% 3.01/1.60  thf(fact_151_butlast_Osimps_I2_J,axiom,
% 3.01/1.60      ! [A: $tType,Xs: list @ A,X: A] :
% 3.01/1.60        ( ( ( Xs
% 3.01/1.60            = ( nil @ A ) )
% 3.01/1.60         => ( ( butlast @ A @ ( cons @ A @ X @ Xs ) )
% 3.01/1.60            = ( nil @ A ) ) )
% 3.01/1.60        & ( ( Xs
% 3.01/1.60           != ( nil @ A ) )
% 3.01/1.60         => ( ( butlast @ A @ ( cons @ A @ X @ Xs ) )
% 3.01/1.60            = ( cons @ A @ X @ ( butlast @ A @ Xs ) ) ) ) ) ).
% 3.01/1.60  
% 3.01/1.60  thf(fact_152_butlast__append,axiom,
% 3.01/1.60      ! [A: $tType,Ys: list @ A,Xs: list @ A] :
% 3.01/1.60        ( ( ( Ys
% 3.01/1.60            = ( nil @ A ) )
% 3.01/1.60         => ( ( butlast @ A @ ( append @ A @ Xs @ Ys ) )
% 3.01/1.60            = ( butlast @ A @ Xs ) ) )
% 3.01/1.60        & ( ( Ys
% 3.01/1.60           != ( nil @ A ) )
% 3.01/1.60         => ( ( butlast @ A @ ( append @ A @ Xs @ Ys ) )
% 3.01/1.60            = ( append @ A @ Xs @ ( butlast @ A @ Ys ) ) ) ) ) ).
% 3.01/1.60  
% 3.01/1.60  thf(fact_153_snoc__listrel1__snoc__iff,axiom,
% 3.01/1.60      ! [A: $tType,Xs: list @ A,X: A,Ys: list @ A,Y: A,R: set @ ( product_prod @ A @ A )] :
% 3.01/1.60        ( ( member2 @ ( product_prod @ ( list @ A ) @ ( list @ A ) ) @ ( product_Pair @ ( list @ A ) @ ( list @ A ) @ ( append @ A @ Xs @ ( cons @ A @ X @ ( nil @ A ) ) ) @ ( append @ A @ Ys @ ( cons @ A @ Y @ ( nil @ A ) ) ) ) @ ( listrel1 @ A @ R ) )
% 3.01/1.60        = ( ( ( member2 @ ( product_prod @ ( list @ A ) @ ( list @ A ) ) @ ( product_Pair @ ( list @ A ) @ ( list @ A ) @ Xs @ Ys ) @ ( listrel1 @ A @ R ) )
% 3.01/1.60            & ( X = Y ) )
% 3.01/1.60          | ( ( Xs = Ys )
% 3.01/1.60            & ( member2 @ ( product_prod @ A @ A ) @ ( product_Pair @ A @ A @ X @ Y ) @ R ) ) ) ) ).
% 3.01/1.60  
% 3.01/1.60  thf(fact_154_last__zip,axiom,
% 3.01/1.60      ! [A: $tType,B: $tType,Xs: list @ A,Ys: list @ B] :
% 3.01/1.60        ( ( Xs
% 3.01/1.60         != ( nil @ A ) )
% 3.01/1.60       => ( ( Ys
% 3.01/1.60           != ( nil @ B ) )
% 3.01/1.60         => ( ( ( size_size @ ( list @ A ) @ Xs )
% 3.01/1.60              = ( size_size @ ( list @ B ) @ Ys ) )
% 3.01/1.60           => ( ( last @ ( product_prod @ A @ B ) @ ( zip @ A @ B @ Xs @ Ys ) )
% 3.01/1.60              = ( product_Pair @ A @ B @ ( last @ A @ Xs ) @ ( last @ B @ Ys ) ) ) ) ) ) ).
% 3.01/1.60  
% 3.01/1.60  thf(fact_155_concat__conv__foldr,axiom,
% 3.01/1.60      ! [A: $tType] :
% 3.01/1.60        ( ( concat @ A )
% 3.01/1.60        = ( ^ [Xss3: list @ ( list @ A )] : ( foldr @ ( list @ A ) @ ( list @ A ) @ ( append @ A ) @ Xss3 @ ( nil @ A ) ) ) ) ).
% 3.01/1.60  
% 3.01/1.60  thf(fact_156_rotate__Suc,axiom,
% 3.01/1.60      ! [A: $tType,N: nat,Xs: list @ A] :
% 3.01/1.60        ( ( rotate @ A @ ( suc @ N ) @ Xs )
% 3.01/1.60        = ( rotate1 @ A @ ( rotate @ A @ N @ Xs ) ) ) ).
% 3.01/1.60  
% 3.01/1.60  thf(fact_157_append__eq__append__conv,axiom,
% 3.01/1.60      ! [A: $tType,Xs: list @ A,Ys: list @ A,Us: list @ A,Vs: list @ A] :
% 3.01/1.60        ( ( ( ( size_size @ ( list @ A ) @ Xs )
% 3.01/1.60            = ( size_size @ ( list @ A ) @ Ys ) )
% 3.01/1.60          | ( ( size_size @ ( list @ A ) @ Us )
% 3.01/1.60            = ( size_size @ ( list @ A ) @ Vs ) ) )
% 3.01/1.60       => ( ( ( append @ A @ Xs @ Us )
% 3.01/1.60            = ( append @ A @ Ys @ Vs ) )
% 3.01/1.60          = ( ( Xs = Ys )
% 3.01/1.60            & ( Us = Vs ) ) ) ) ).
% 3.01/1.60  
% 3.01/1.60  thf(fact_158_rotate__is__Nil__conv,axiom,
% 3.01/1.60      ! [A: $tType,N: nat,Xs: list @ A] :
% 3.01/1.60        ( ( ( rotate @ A @ N @ Xs )
% 3.01/1.60          = ( nil @ A ) )
% 3.01/1.60        = ( Xs
% 3.01/1.60          = ( nil @ A ) ) ) ).
% 3.01/1.60  
% 3.01/1.60  thf(fact_159_length__rotate,axiom,
% 3.01/1.60      ! [A: $tType,N: nat,Xs: list @ A] :
% 3.01/1.60        ( ( size_size @ ( list @ A ) @ ( rotate @ A @ N @ Xs ) )
% 3.01/1.60        = ( size_size @ ( list @ A ) @ Xs ) ) ).
% 3.01/1.60  
% 3.01/1.60  thf(fact_160_foldr__append,axiom,
% 3.01/1.60      ! [B: $tType,A: $tType,F: B > A > A,Xs: list @ B,Ys: list @ B,A3: A] :
% 3.01/1.60        ( ( foldr @ B @ A @ F @ ( append @ B @ Xs @ Ys ) @ A3 )
% 3.01/1.60        = ( foldr @ B @ A @ F @ Xs @ ( foldr @ B @ A @ F @ Ys @ A3 ) ) ) ).
% 3.01/1.60  
% 3.01/1.60  thf(fact_161_length__enumerate,axiom,
% 3.01/1.60      ! [A: $tType,N: nat,Xs: list @ A] :
% 3.01/1.60        ( ( size_size @ ( list @ ( product_prod @ nat @ A ) ) @ ( enumerate @ A @ N @ Xs ) )
% 3.01/1.60        = ( size_size @ ( list @ A ) @ Xs ) ) ).
% 3.01/1.60  
% 3.01/1.60  thf(fact_162_length__rotate1,axiom,
% 3.01/1.60      ! [A: $tType,Xs: list @ A] :
% 3.01/1.60        ( ( size_size @ ( list @ A ) @ ( rotate1 @ A @ Xs ) )
% 3.01/1.60        = ( size_size @ ( list @ A ) @ Xs ) ) ).
% 3.01/1.60  
% 3.01/1.60  thf(fact_163_zip__append,axiom,
% 3.01/1.60      ! [A: $tType,B: $tType,Xs: list @ A,Us: list @ B,Ys: list @ A,Vs: list @ B] :
% 3.01/1.60        ( ( ( size_size @ ( list @ A ) @ Xs )
% 3.01/1.60          = ( size_size @ ( list @ B ) @ Us ) )
% 3.01/1.60       => ( ( zip @ A @ B @ ( append @ A @ Xs @ Ys ) @ ( append @ B @ Us @ Vs ) )
% 3.01/1.60          = ( append @ ( product_prod @ A @ B ) @ ( zip @ A @ B @ Xs @ Us ) @ ( zip @ A @ B @ Ys @ Vs ) ) ) ) ).
% 3.01/1.60  
% 3.01/1.60  thf(fact_164_Cons__listrel1__Cons,axiom,
% 3.01/1.60      ! [A: $tType,X: A,Xs: list @ A,Y: A,Ys: list @ A,R: set @ ( product_prod @ A @ A )] :
% 3.01/1.60        ( ( member2 @ ( product_prod @ ( list @ A ) @ ( list @ A ) ) @ ( product_Pair @ ( list @ A ) @ ( list @ A ) @ ( cons @ A @ X @ Xs ) @ ( cons @ A @ Y @ Ys ) ) @ ( listrel1 @ A @ R ) )
% 3.01/1.60        = ( ( ( member2 @ ( product_prod @ A @ A ) @ ( product_Pair @ A @ A @ X @ Y ) @ R )
% 3.01/1.60            & ( Xs = Ys ) )
% 3.01/1.60          | ( ( X = Y )
% 3.01/1.60            & ( member2 @ ( product_prod @ ( list @ A ) @ ( list @ A ) ) @ ( product_Pair @ ( list @ A ) @ ( list @ A ) @ Xs @ Ys ) @ ( listrel1 @ A @ R ) ) ) ) ) ).
% 3.01/1.60  
% 3.01/1.60  thf(fact_165_append__listrel1I,axiom,
% 3.01/1.60      ! [A: $tType,Xs: list @ A,Ys: list @ A,R: set @ ( product_prod @ A @ A ),Us: list @ A,Vs: list @ A] :
% 3.01/1.60        ( ( ( ( member2 @ ( product_prod @ ( list @ A ) @ ( list @ A ) ) @ ( product_Pair @ ( list @ A ) @ ( list @ A ) @ Xs @ Ys ) @ ( listrel1 @ A @ R ) )
% 3.01/1.60            & ( Us = Vs ) )
% 3.01/1.60          | ( ( Xs = Ys )
% 3.01/1.60            & ( member2 @ ( product_prod @ ( list @ A ) @ ( list @ A ) ) @ ( product_Pair @ ( list @ A ) @ ( list @ A ) @ Us @ Vs ) @ ( listrel1 @ A @ R ) ) ) )
% 3.01/1.60       => ( member2 @ ( product_prod @ ( list @ A ) @ ( list @ A ) ) @ ( product_Pair @ ( list @ A ) @ ( list @ A ) @ ( append @ A @ Xs @ Us ) @ ( append @ A @ Ys @ Vs ) ) @ ( listrel1 @ A @ R ) ) ) ).
% 3.01/1.60  
% 3.01/1.60  thf(fact_166_listrel1__eq__len,axiom,
% 3.01/1.60      ! [A: $tType,Xs: list @ A,Ys: list @ A,R: set @ ( product_prod @ A @ A )] :
% 3.01/1.60        ( ( member2 @ ( product_prod @ ( list @ A ) @ ( list @ A ) ) @ ( product_Pair @ ( list @ A ) @ ( list @ A ) @ Xs @ Ys ) @ ( listrel1 @ A @ R ) )
% 3.01/1.60       => ( ( size_size @ ( list @ A ) @ Xs )
% 3.01/1.60          = ( size_size @ ( list @ A ) @ Ys ) ) ) ).
% 3.01/1.60  
% 3.01/1.60  thf(fact_167_map__tailrec__rev_Ocases,axiom,
% 3.01/1.60      ! [A: $tType,B: $tType,X: product_prod @ ( A > B ) @ ( product_prod @ ( list @ A ) @ ( list @ B ) )] :
% 3.01/1.60        ( ! [F3: A > B,Bs2: list @ B] :
% 3.01/1.60            ( X
% 3.01/1.60           != ( product_Pair @ ( A > B ) @ ( product_prod @ ( list @ A ) @ ( list @ B ) ) @ F3 @ ( product_Pair @ ( list @ A ) @ ( list @ B ) @ ( nil @ A ) @ Bs2 ) ) )
% 3.01/1.60       => ~ ! [F3: A > B,A2: A,As: list @ A,Bs2: list @ B] :
% 3.01/1.60              ( X
% 3.01/1.60             != ( product_Pair @ ( A > B ) @ ( product_prod @ ( list @ A ) @ ( list @ B ) ) @ F3 @ ( product_Pair @ ( list @ A ) @ ( list @ B ) @ ( cons @ A @ A2 @ As ) @ Bs2 ) ) ) ) ).
% 3.01/1.60  
% 3.01/1.60  thf(fact_168_not__listrel1__Nil,axiom,
% 3.01/1.60      ! [A: $tType,Xs: list @ A,R: set @ ( product_prod @ A @ A )] :
% 3.01/1.60        ~ ( member2 @ ( product_prod @ ( list @ A ) @ ( list @ A ) ) @ ( product_Pair @ ( list @ A ) @ ( list @ A ) @ Xs @ ( nil @ A ) ) @ ( listrel1 @ A @ R ) ) ).
% 3.01/1.60  
% 3.01/1.60  thf(fact_169_not__Nil__listrel1,axiom,
% 3.01/1.60      ! [A: $tType,Xs: list @ A,R: set @ ( product_prod @ A @ A )] :
% 3.01/1.60        ~ ( member2 @ ( product_prod @ ( list @ A ) @ ( list @ A ) ) @ ( product_Pair @ ( list @ A ) @ ( list @ A ) @ ( nil @ A ) @ Xs ) @ ( listrel1 @ A @ R ) ) ).
% 3.01/1.60  
% 3.01/1.60  thf(fact_170_listrel1I2,axiom,
% 3.01/1.60      ! [A: $tType,Xs: list @ A,Ys: list @ A,R: set @ ( product_prod @ A @ A ),X: A] :
% 3.01/1.60        ( ( member2 @ ( product_prod @ ( list @ A ) @ ( list @ A ) ) @ ( product_Pair @ ( list @ A ) @ ( list @ A ) @ Xs @ Ys ) @ ( listrel1 @ A @ R ) )
% 3.01/1.60       => ( member2 @ ( product_prod @ ( list @ A ) @ ( list @ A ) ) @ ( product_Pair @ ( list @ A ) @ ( list @ A ) @ ( cons @ A @ X @ Xs ) @ ( cons @ A @ X @ Ys ) ) @ ( listrel1 @ A @ R ) ) ) ).
% 3.01/1.60  
% 3.01/1.60  thf(fact_171_neq__if__length__neq,axiom,
% 3.01/1.60      ! [A: $tType,Xs: list @ A,Ys: list @ A] :
% 3.01/1.60        ( ( ( size_size @ ( list @ A ) @ Xs )
% 3.01/1.60         != ( size_size @ ( list @ A ) @ Ys ) )
% 3.01/1.60       => ( Xs != Ys ) ) ).
% 3.01/1.60  
% 3.01/1.60  thf(fact_172_Ex__list__of__length,axiom,
% 3.01/1.60      ! [A: $tType,N: nat] :
% 3.01/1.60      ? [Xs2: list @ A] :
% 3.01/1.60        ( ( size_size @ ( list @ A ) @ Xs2 )
% 3.01/1.60        = N ) ).
% 3.01/1.60  
% 3.01/1.60  thf(fact_173_size__neq__size__imp__neq,axiom,
% 3.01/1.60      ! [A: $tType] :
% 3.01/1.60        ( ( size @ A )
% 3.01/1.60       => ! [X: A,Y: A] :
% 3.01/1.60            ( ( ( size_size @ A @ X )
% 3.01/1.60             != ( size_size @ A @ Y ) )
% 3.01/1.60           => ( X != Y ) ) ) ).
% 3.01/1.60  
% 3.01/1.60  thf(fact_174_rotate__append,axiom,
% 3.01/1.60      ! [A: $tType,L: list @ A,Q3: list @ A] :
% 3.01/1.60        ( ( rotate @ A @ ( size_size @ ( list @ A ) @ L ) @ ( append @ A @ L @ Q3 ) )
% 3.01/1.60        = ( append @ A @ Q3 @ L ) ) ).
% 3.01/1.60  
% 3.01/1.60  thf(fact_175_rotate1__rotate__swap,axiom,
% 3.01/1.60      ! [A: $tType,N: nat,Xs: list @ A] :
% 3.01/1.60        ( ( rotate1 @ A @ ( rotate @ A @ N @ Xs ) )
% 3.01/1.60        = ( rotate @ A @ N @ ( rotate1 @ A @ Xs ) ) ) ).
% 3.01/1.60  
% 3.01/1.60  thf(fact_176_arg__min__list_Ocases,axiom,
% 3.01/1.60      ! [B: $tType,A: $tType] :
% 3.01/1.60        ( ( linorder @ B )
% 3.01/1.60       => ! [X: product_prod @ ( A > B ) @ ( list @ A )] :
% 3.01/1.60            ( ! [F3: A > B,X3: A] :
% 3.01/1.60                ( X
% 3.01/1.60               != ( product_Pair @ ( A > B ) @ ( list @ A ) @ F3 @ ( cons @ A @ X3 @ ( nil @ A ) ) ) )
% 3.01/1.60           => ( ! [F3: A > B,X3: A,Y2: A,Zs: list @ A] :
% 3.01/1.60                  ( X
% 3.01/1.60                 != ( product_Pair @ ( A > B ) @ ( list @ A ) @ F3 @ ( cons @ A @ X3 @ ( cons @ A @ Y2 @ Zs ) ) ) )
% 3.01/1.60             => ~ ! [A2: A > B] :
% 3.01/1.60                    ( X
% 3.01/1.60                   != ( product_Pair @ ( A > B ) @ ( list @ A ) @ A2 @ ( nil @ A ) ) ) ) ) ) ).
% 3.01/1.60  
% 3.01/1.60  thf(fact_177_successively_Ocases,axiom,
% 3.01/1.60      ! [A: $tType,X: product_prod @ ( A > A > $o ) @ ( list @ A )] :
% 3.01/1.60        ( ! [P4: A > A > $o] :
% 3.01/1.60            ( X
% 3.01/1.60           != ( product_Pair @ ( A > A > $o ) @ ( list @ A ) @ P4 @ ( nil @ A ) ) )
% 3.01/1.60       => ( ! [P4: A > A > $o,X3: A] :
% 3.01/1.60              ( X
% 3.01/1.60             != ( product_Pair @ ( A > A > $o ) @ ( list @ A ) @ P4 @ ( cons @ A @ X3 @ ( nil @ A ) ) ) )
% 3.01/1.60         => ~ ! [P4: A > A > $o,X3: A,Y2: A,Xs2: list @ A] :
% 3.01/1.60                ( X
% 3.01/1.60               != ( product_Pair @ ( A > A > $o ) @ ( list @ A ) @ P4 @ ( cons @ A @ X3 @ ( cons @ A @ Y2 @ Xs2 ) ) ) ) ) ) ).
% 3.01/1.60  
% 3.01/1.60  thf(fact_178_sorted__wrt_Ocases,axiom,
% 3.01/1.60      ! [A: $tType,X: product_prod @ ( A > A > $o ) @ ( list @ A )] :
% 3.01/1.60        ( ! [P4: A > A > $o] :
% 3.01/1.60            ( X
% 3.01/1.60           != ( product_Pair @ ( A > A > $o ) @ ( list @ A ) @ P4 @ ( nil @ A ) ) )
% 3.01/1.60       => ~ ! [P4: A > A > $o,X3: A,Ys2: list @ A] :
% 3.01/1.60              ( X
% 3.01/1.60             != ( product_Pair @ ( A > A > $o ) @ ( list @ A ) @ P4 @ ( cons @ A @ X3 @ Ys2 ) ) ) ) ).
% 3.01/1.60  
% 3.01/1.60  thf(fact_179_Suc__length__conv,axiom,
% 3.01/1.60      ! [A: $tType,N: nat,Xs: list @ A] :
% 3.01/1.60        ( ( ( suc @ N )
% 3.01/1.60          = ( size_size @ ( list @ A ) @ Xs ) )
% 3.01/1.60        = ( ? [Y3: A,Ys3: list @ A] :
% 3.01/1.60              ( ( Xs
% 3.01/1.60                = ( cons @ A @ Y3 @ Ys3 ) )
% 3.01/1.60              & ( ( size_size @ ( list @ A ) @ Ys3 )
% 3.01/1.60                = N ) ) ) ) ).
% 3.01/1.60  
% 3.01/1.60  thf(fact_180_length__Suc__conv,axiom,
% 3.01/1.60      ! [A: $tType,Xs: list @ A,N: nat] :
% 3.01/1.60        ( ( ( size_size @ ( list @ A ) @ Xs )
% 3.01/1.60          = ( suc @ N ) )
% 3.01/1.60        = ( ? [Y3: A,Ys3: list @ A] :
% 3.01/1.60              ( ( Xs
% 3.01/1.60                = ( cons @ A @ Y3 @ Ys3 ) )
% 3.01/1.60              & ( ( size_size @ ( list @ A ) @ Ys3 )
% 3.01/1.60                = N ) ) ) ) ).
% 3.01/1.60  
% 3.01/1.60  thf(fact_181_list__induct4,axiom,
% 3.01/1.60      ! [C: $tType,A: $tType,B: $tType,D: $tType,Xs: list @ A,Ys: list @ B,Zs2: list @ C,Ws: list @ D,P3: ( list @ A ) > ( list @ B ) > ( list @ C ) > ( list @ D ) > $o] :
% 3.01/1.60        ( ( ( size_size @ ( list @ A ) @ Xs )
% 3.01/1.60          = ( size_size @ ( list @ B ) @ Ys ) )
% 3.01/1.60       => ( ( ( size_size @ ( list @ B ) @ Ys )
% 3.01/1.60            = ( size_size @ ( list @ C ) @ Zs2 ) )
% 3.01/1.60         => ( ( ( size_size @ ( list @ C ) @ Zs2 )
% 3.01/1.60              = ( size_size @ ( list @ D ) @ Ws ) )
% 3.01/1.60           => ( ( P3 @ ( nil @ A ) @ ( nil @ B ) @ ( nil @ C ) @ ( nil @ D ) )
% 3.01/1.60             => ( ! [X3: A,Xs2: list @ A,Y2: B,Ys2: list @ B,Z: C,Zs: list @ C,W: D,Ws2: list @ D] :
% 3.01/1.60                    ( ( ( size_size @ ( list @ A ) @ Xs2 )
% 3.01/1.60                      = ( size_size @ ( list @ B ) @ Ys2 ) )
% 3.01/1.60                   => ( ( ( size_size @ ( list @ B ) @ Ys2 )
% 3.01/1.60                        = ( size_size @ ( list @ C ) @ Zs ) )
% 3.01/1.60                     => ( ( ( size_size @ ( list @ C ) @ Zs )
% 3.01/1.60                          = ( size_size @ ( list @ D ) @ Ws2 ) )
% 3.01/1.60                       => ( ( P3 @ Xs2 @ Ys2 @ Zs @ Ws2 )
% 3.01/1.60                         => ( P3 @ ( cons @ A @ X3 @ Xs2 ) @ ( cons @ B @ Y2 @ Ys2 ) @ ( cons @ C @ Z @ Zs ) @ ( cons @ D @ W @ Ws2 ) ) ) ) ) )
% 3.01/1.60               => ( P3 @ Xs @ Ys @ Zs2 @ Ws ) ) ) ) ) ) ).
% 3.01/1.60  
% 3.01/1.60  thf(fact_182_list__induct3,axiom,
% 3.01/1.60      ! [B: $tType,A: $tType,C: $tType,Xs: list @ A,Ys: list @ B,Zs2: list @ C,P3: ( list @ A ) > ( list @ B ) > ( list @ C ) > $o] :
% 3.01/1.60        ( ( ( size_size @ ( list @ A ) @ Xs )
% 3.01/1.60          = ( size_size @ ( list @ B ) @ Ys ) )
% 3.01/1.60       => ( ( ( size_size @ ( list @ B ) @ Ys )
% 3.01/1.60            = ( size_size @ ( list @ C ) @ Zs2 ) )
% 3.01/1.60         => ( ( P3 @ ( nil @ A ) @ ( nil @ B ) @ ( nil @ C ) )
% 3.01/1.60           => ( ! [X3: A,Xs2: list @ A,Y2: B,Ys2: list @ B,Z: C,Zs: list @ C] :
% 3.01/1.60                  ( ( ( size_size @ ( list @ A ) @ Xs2 )
% 3.01/1.60                    = ( size_size @ ( list @ B ) @ Ys2 ) )
% 3.01/1.60                 => ( ( ( size_size @ ( list @ B ) @ Ys2 )
% 3.01/1.60                      = ( size_size @ ( list @ C ) @ Zs ) )
% 3.01/1.60                   => ( ( P3 @ Xs2 @ Ys2 @ Zs )
% 3.01/1.60                     => ( P3 @ ( cons @ A @ X3 @ Xs2 ) @ ( cons @ B @ Y2 @ Ys2 ) @ ( cons @ C @ Z @ Zs ) ) ) ) )
% 3.01/1.60             => ( P3 @ Xs @ Ys @ Zs2 ) ) ) ) ) ).
% 3.01/1.60  
% 3.01/1.60  thf(fact_183_list__induct2,axiom,
% 3.01/1.60      ! [A: $tType,B: $tType,Xs: list @ A,Ys: list @ B,P3: ( list @ A ) > ( list @ B ) > $o] :
% 3.01/1.60        ( ( ( size_size @ ( list @ A ) @ Xs )
% 3.01/1.60          = ( size_size @ ( list @ B ) @ Ys ) )
% 3.01/1.60       => ( ( P3 @ ( nil @ A ) @ ( nil @ B ) )
% 3.01/1.60         => ( ! [X3: A,Xs2: list @ A,Y2: B,Ys2: list @ B] :
% 3.01/1.60                ( ( ( size_size @ ( list @ A ) @ Xs2 )
% 3.01/1.60                  = ( size_size @ ( list @ B ) @ Ys2 ) )
% 3.01/1.60               => ( ( P3 @ Xs2 @ Ys2 )
% 3.01/1.60                 => ( P3 @ ( cons @ A @ X3 @ Xs2 ) @ ( cons @ B @ Y2 @ Ys2 ) ) ) )
% 3.01/1.60           => ( P3 @ Xs @ Ys ) ) ) ) ).
% 3.01/1.60  
% 3.01/1.60  thf(fact_184_pderiv__coeffs__code_Ocases,axiom,
% 3.01/1.60      ! [A: $tType] :
% 3.01/1.60        ( ( ( comm_semiring_1 @ A )
% 3.01/1.60          & ( semiri1193490041visors @ A ) )
% 3.01/1.60       => ! [X: product_prod @ A @ ( list @ A )] :
% 3.01/1.60            ( ! [F3: A,X3: A,Xs2: list @ A] :
% 3.01/1.60                ( X
% 3.01/1.60               != ( product_Pair @ A @ ( list @ A ) @ F3 @ ( cons @ A @ X3 @ Xs2 ) ) )
% 3.01/1.60           => ~ ! [F3: A] :
% 3.01/1.60                  ( X
% 3.01/1.60                 != ( product_Pair @ A @ ( list @ A ) @ F3 @ ( nil @ A ) ) ) ) ) ).
% 3.01/1.60  
% 3.01/1.60  thf(fact_185_shuffles_Ocases,axiom,
% 3.01/1.60      ! [A: $tType,X: product_prod @ ( list @ A ) @ ( list @ A )] :
% 3.01/1.60        ( ! [Ys2: list @ A] :
% 3.01/1.60            ( X
% 3.01/1.60           != ( product_Pair @ ( list @ A ) @ ( list @ A ) @ ( nil @ A ) @ Ys2 ) )
% 3.01/1.60       => ( ! [Xs2: list @ A] :
% 3.01/1.60              ( X
% 3.01/1.60             != ( product_Pair @ ( list @ A ) @ ( list @ A ) @ Xs2 @ ( nil @ A ) ) )
% 3.01/1.60         => ~ ! [X3: A,Xs2: list @ A,Y2: A,Ys2: list @ A] :
% 3.01/1.60                ( X
% 3.01/1.60               != ( product_Pair @ ( list @ A ) @ ( list @ A ) @ ( cons @ A @ X3 @ Xs2 ) @ ( cons @ A @ Y2 @ Ys2 ) ) ) ) ) ).
% 3.01/1.60  
% 3.01/1.60  thf(fact_186_plus__coeffs_Ocases,axiom,
% 3.01/1.60      ! [A: $tType] :
% 3.01/1.60        ( ( comm_monoid_add @ A )
% 3.01/1.60       => ! [X: product_prod @ ( list @ A ) @ ( list @ A )] :
% 3.01/1.60            ( ! [Xs2: list @ A] :
% 3.01/1.60                ( X
% 3.01/1.60               != ( product_Pair @ ( list @ A ) @ ( list @ A ) @ Xs2 @ ( nil @ A ) ) )
% 3.01/1.60           => ( ! [V: A,Va: list @ A] :
% 3.01/1.60                  ( X
% 3.01/1.60                 != ( product_Pair @ ( list @ A ) @ ( list @ A ) @ ( nil @ A ) @ ( cons @ A @ V @ Va ) ) )
% 3.01/1.60             => ~ ! [X3: A,Xs2: list @ A,Y2: A,Ys2: list @ A] :
% 3.01/1.60                    ( X
% 3.01/1.60                   != ( product_Pair @ ( list @ A ) @ ( list @ A ) @ ( cons @ A @ X3 @ Xs2 ) @ ( cons @ A @ Y2 @ Ys2 ) ) ) ) ) ) ).
% 3.01/1.60  
% 3.01/1.60  thf(fact_187_minus__poly__rev__list_Ocases,axiom,
% 3.01/1.60      ! [A: $tType] :
% 3.01/1.60        ( ( group_add @ A )
% 3.01/1.60       => ! [X: product_prod @ ( list @ A ) @ ( list @ A )] :
% 3.01/1.60            ( ! [X3: A,Xs2: list @ A,Y2: A,Ys2: list @ A] :
% 3.01/1.60                ( X
% 3.01/1.60               != ( product_Pair @ ( list @ A ) @ ( list @ A ) @ ( cons @ A @ X3 @ Xs2 ) @ ( cons @ A @ Y2 @ Ys2 ) ) )
% 3.01/1.60           => ( ! [Xs2: list @ A] :
% 3.01/1.60                  ( X
% 3.01/1.60                 != ( product_Pair @ ( list @ A ) @ ( list @ A ) @ Xs2 @ ( nil @ A ) ) )
% 3.01/1.60             => ~ ! [Y2: A,Ys2: list @ A] :
% 3.01/1.60                    ( X
% 3.01/1.60                   != ( product_Pair @ ( list @ A ) @ ( list @ A ) @ ( nil @ A ) @ ( cons @ A @ Y2 @ Ys2 ) ) ) ) ) ) ).
% 3.01/1.60  
% 3.01/1.60  thf(fact_188_Cons__listrel1E2,axiom,
% 3.01/1.60      ! [A: $tType,Xs: list @ A,Y: A,Ys: list @ A,R: set @ ( product_prod @ A @ A )] :
% 3.01/1.60        ( ( member2 @ ( product_prod @ ( list @ A ) @ ( list @ A ) ) @ ( product_Pair @ ( list @ A ) @ ( list @ A ) @ Xs @ ( cons @ A @ Y @ Ys ) ) @ ( listrel1 @ A @ R ) )
% 3.01/1.60       => ( ! [X3: A] :
% 3.01/1.60              ( ( Xs
% 3.01/1.60                = ( cons @ A @ X3 @ Ys ) )
% 3.01/1.60             => ~ ( member2 @ ( product_prod @ A @ A ) @ ( product_Pair @ A @ A @ X3 @ Y ) @ R ) )
% 3.01/1.60         => ~ ! [Zs: list @ A] :
% 3.01/1.60                ( ( Xs
% 3.01/1.60                  = ( cons @ A @ Y @ Zs ) )
% 3.01/1.60               => ~ ( member2 @ ( product_prod @ ( list @ A ) @ ( list @ A ) ) @ ( product_Pair @ ( list @ A ) @ ( list @ A ) @ Zs @ Ys ) @ ( listrel1 @ A @ R ) ) ) ) ) ).
% 3.01/1.60  
% 3.01/1.60  thf(fact_189_Cons__listrel1E1,axiom,
% 3.01/1.60      ! [A: $tType,X: A,Xs: list @ A,Ys: list @ A,R: set @ ( product_prod @ A @ A )] :
% 3.01/1.60        ( ( member2 @ ( product_prod @ ( list @ A ) @ ( list @ A ) ) @ ( product_Pair @ ( list @ A ) @ ( list @ A ) @ ( cons @ A @ X @ Xs ) @ Ys ) @ ( listrel1 @ A @ R ) )
% 3.01/1.60       => ( ! [Y2: A] :
% 3.01/1.60              ( ( Ys
% 3.01/1.60                = ( cons @ A @ Y2 @ Xs ) )
% 3.01/1.60             => ~ ( member2 @ ( product_prod @ A @ A ) @ ( product_Pair @ A @ A @ X @ Y2 ) @ R ) )
% 3.01/1.60         => ~ ! [Zs: list @ A] :
% 3.01/1.60                ( ( Ys
% 3.01/1.60                  = ( cons @ A @ X @ Zs ) )
% 3.01/1.60               => ~ ( member2 @ ( product_prod @ ( list @ A ) @ ( list @ A ) ) @ ( product_Pair @ ( list @ A ) @ ( list @ A ) @ Xs @ Zs ) @ ( listrel1 @ A @ R ) ) ) ) ) ).
% 3.01/1.60  
% 3.01/1.60  thf(fact_190_listrel1I1,axiom,
% 3.01/1.60      ! [A: $tType,X: A,Y: A,R: set @ ( product_prod @ A @ A ),Xs: list @ A] :
% 3.01/1.60        ( ( member2 @ ( product_prod @ A @ A ) @ ( product_Pair @ A @ A @ X @ Y ) @ R )
% 3.01/1.60       => ( member2 @ ( product_prod @ ( list @ A ) @ ( list @ A ) ) @ ( product_Pair @ ( list @ A ) @ ( list @ A ) @ ( cons @ A @ X @ Xs ) @ ( cons @ A @ Y @ Xs ) ) @ ( listrel1 @ A @ R ) ) ) ).
% 3.01/1.60  
% 3.01/1.60  thf(fact_191_same__length__different,axiom,
% 3.01/1.60      ! [A: $tType,Xs: list @ A,Ys: list @ A] :
% 3.01/1.60        ( ( Xs != Ys )
% 3.01/1.60       => ( ( ( size_size @ ( list @ A ) @ Xs )
% 3.01/1.60            = ( size_size @ ( list @ A ) @ Ys ) )
% 3.01/1.60         => ? [Pre: list @ A,X3: A,Xs5: list @ A,Y2: A,Ys5: list @ A] :
% 3.01/1.60              ( ( X3 != Y2 )
% 3.01/1.60              & ( Xs
% 3.01/1.60                = ( append @ A @ Pre @ ( append @ A @ ( cons @ A @ X3 @ ( nil @ A ) ) @ Xs5 ) ) )
% 3.01/1.60              & ( Ys
% 3.01/1.60                = ( append @ A @ Pre @ ( append @ A @ ( cons @ A @ Y2 @ ( nil @ A ) ) @ Ys5 ) ) ) ) ) ) ).
% 3.01/1.60  
% 3.01/1.60  thf(fact_192_listrel1E,axiom,
% 3.01/1.60      ! [A: $tType,Xs: list @ A,Ys: list @ A,R: set @ ( product_prod @ A @ A )] :
% 3.01/1.60        ( ( member2 @ ( product_prod @ ( list @ A ) @ ( list @ A ) ) @ ( product_Pair @ ( list @ A ) @ ( list @ A ) @ Xs @ Ys ) @ ( listrel1 @ A @ R ) )
% 3.01/1.60       => ~ ! [X3: A,Y2: A] :
% 3.01/1.60              ( ( member2 @ ( product_prod @ A @ A ) @ ( product_Pair @ A @ A @ X3 @ Y2 ) @ R )
% 3.01/1.60             => ! [Us3: list @ A,Vs2: list @ A] :
% 3.01/1.60                  ( ( Xs
% 3.01/1.60                    = ( append @ A @ Us3 @ ( cons @ A @ X3 @ Vs2 ) ) )
% 3.01/1.60                 => ( Ys
% 3.01/1.60                   != ( append @ A @ Us3 @ ( cons @ A @ Y2 @ Vs2 ) ) ) ) ) ) ).
% 3.01/1.60  
% 3.01/1.60  thf(fact_193_listrel1I,axiom,
% 3.01/1.60      ! [A: $tType,X: A,Y: A,R: set @ ( product_prod @ A @ A ),Xs: list @ A,Us: list @ A,Vs: list @ A,Ys: list @ A] :
% 3.01/1.60        ( ( member2 @ ( product_prod @ A @ A ) @ ( product_Pair @ A @ A @ X @ Y ) @ R )
% 3.01/1.60       => ( ( Xs
% 3.01/1.60            = ( append @ A @ Us @ ( cons @ A @ X @ Vs ) ) )
% 3.01/1.60         => ( ( Ys
% 3.01/1.60              = ( append @ A @ Us @ ( cons @ A @ Y @ Vs ) ) )
% 3.01/1.60           => ( member2 @ ( product_prod @ ( list @ A ) @ ( list @ A ) ) @ ( product_Pair @ ( list @ A ) @ ( list @ A ) @ Xs @ Ys ) @ ( listrel1 @ A @ R ) ) ) ) ) ).
% 3.01/1.60  
% 3.01/1.60  thf(fact_194_length__append__singleton,axiom,
% 3.01/1.60      ! [A: $tType,Xs: list @ A,X: A] :
% 3.01/1.60        ( ( size_size @ ( list @ A ) @ ( append @ A @ Xs @ ( cons @ A @ X @ ( nil @ A ) ) ) )
% 3.01/1.60        = ( suc @ ( size_size @ ( list @ A ) @ Xs ) ) ) ).
% 3.01/1.60  
% 3.01/1.60  thf(fact_195_subset__eq__mset__impl_Ocases,axiom,
% 3.01/1.60      ! [A: $tType,X: product_prod @ ( list @ A ) @ ( list @ A )] :
% 3.01/1.60        ( ! [Ys2: list @ A] :
% 3.01/1.60            ( X
% 3.01/1.60           != ( product_Pair @ ( list @ A ) @ ( list @ A ) @ ( nil @ A ) @ Ys2 ) )
% 3.01/1.60       => ~ ! [X3: A,Xs2: list @ A,Ys2: list @ A] :
% 3.01/1.60              ( X
% 3.01/1.60             != ( product_Pair @ ( list @ A ) @ ( list @ A ) @ ( cons @ A @ X3 @ Xs2 ) @ Ys2 ) ) ) ).
% 3.01/1.60  
% 3.01/1.60  thf(fact_196_length__Cons,axiom,
% 3.01/1.60      ! [A: $tType,X: A,Xs: list @ A] :
% 3.01/1.60        ( ( size_size @ ( list @ A ) @ ( cons @ A @ X @ Xs ) )
% 3.01/1.60        = ( suc @ ( size_size @ ( list @ A ) @ Xs ) ) ) ).
% 3.01/1.60  
% 3.01/1.60  thf(fact_197_shift__def,axiom,
% 3.01/1.60      ! [B: $tType,A: $tType] :
% 3.01/1.60        ( ( bNF_Greatest_shift @ A @ B )
% 3.01/1.60        = ( ^ [Lab: ( list @ A ) > B,K: A,Kl: list @ A] : ( Lab @ ( cons @ A @ K @ Kl ) ) ) ) ).
% 3.01/1.60  
% 3.01/1.60  thf(fact_198_Cons__in__lex,axiom,
% 3.01/1.60      ! [A: $tType,X: A,Xs: list @ A,Y: A,Ys: list @ A,R: set @ ( product_prod @ A @ A )] :
% 3.01/1.60        ( ( member2 @ ( product_prod @ ( list @ A ) @ ( list @ A ) ) @ ( product_Pair @ ( list @ A ) @ ( list @ A ) @ ( cons @ A @ X @ Xs ) @ ( cons @ A @ Y @ Ys ) ) @ ( lex @ A @ R ) )
% 3.01/1.60        = ( ( ( member2 @ ( product_prod @ A @ A ) @ ( product_Pair @ A @ A @ X @ Y ) @ R )
% 3.01/1.60            & ( ( size_size @ ( list @ A ) @ Xs )
% 3.01/1.60              = ( size_size @ ( list @ A ) @ Ys ) ) )
% 3.01/1.60          | ( ( X = Y )
% 3.01/1.60            & ( member2 @ ( product_prod @ ( list @ A ) @ ( list @ A ) ) @ ( product_Pair @ ( list @ A ) @ ( list @ A ) @ Xs @ Ys ) @ ( lex @ A @ R ) ) ) ) ) ).
% 3.01/1.60  
% 3.01/1.60  thf(fact_199_Nil2__notin__lex,axiom,
% 3.01/1.60      ! [A: $tType,Xs: list @ A,R: set @ ( product_prod @ A @ A )] :
% 3.01/1.60        ~ ( member2 @ ( product_prod @ ( list @ A ) @ ( list @ A ) ) @ ( product_Pair @ ( list @ A ) @ ( list @ A ) @ Xs @ ( nil @ A ) ) @ ( lex @ A @ R ) ) ).
% 3.01/1.60  
% 3.01/1.60  thf(fact_200_Nil__notin__lex,axiom,
% 3.01/1.60      ! [A: $tType,Ys: list @ A,R: set @ ( product_prod @ A @ A )] :
% 3.01/1.60        ~ ( member2 @ ( product_prod @ ( list @ A ) @ ( list @ A ) ) @ ( product_Pair @ ( list @ A ) @ ( list @ A ) @ ( nil @ A ) @ Ys ) @ ( lex @ A @ R ) ) ).
% 3.01/1.60  
% 3.01/1.60  thf(fact_201_lex__append__leftI,axiom,
% 3.01/1.60      ! [A: $tType,Ys: list @ A,Zs2: list @ A,R: set @ ( product_prod @ A @ A ),Xs: list @ A] :
% 3.01/1.60        ( ( member2 @ ( product_prod @ ( list @ A ) @ ( list @ A ) ) @ ( product_Pair @ ( list @ A ) @ ( list @ A ) @ Ys @ Zs2 ) @ ( lex @ A @ R ) )
% 3.01/1.60       => ( member2 @ ( product_prod @ ( list @ A ) @ ( list @ A ) ) @ ( product_Pair @ ( list @ A ) @ ( list @ A ) @ ( append @ A @ Xs @ Ys ) @ ( append @ A @ Xs @ Zs2 ) ) @ ( lex @ A @ R ) ) ) ).
% 3.01/1.60  
% 3.01/1.60  thf(fact_202_lex__append__left__iff,axiom,
% 3.01/1.60      ! [A: $tType,R: set @ ( product_prod @ A @ A ),Xs: list @ A,Ys: list @ A,Zs2: list @ A] :
% 3.01/1.60        ( ! [X3: A] :
% 3.01/1.60            ~ ( member2 @ ( product_prod @ A @ A ) @ ( product_Pair @ A @ A @ X3 @ X3 ) @ R )
% 3.01/1.60       => ( ( member2 @ ( product_prod @ ( list @ A ) @ ( list @ A ) ) @ ( product_Pair @ ( list @ A ) @ ( list @ A ) @ ( append @ A @ Xs @ Ys ) @ ( append @ A @ Xs @ Zs2 ) ) @ ( lex @ A @ R ) )
% 3.01/1.60          = ( member2 @ ( product_prod @ ( list @ A ) @ ( list @ A ) ) @ ( product_Pair @ ( list @ A ) @ ( list @ A ) @ Ys @ Zs2 ) @ ( lex @ A @ R ) ) ) ) ).
% 3.01/1.60  
% 3.01/1.60  thf(fact_203_lex__append__leftD,axiom,
% 3.01/1.60      ! [A: $tType,R: set @ ( product_prod @ A @ A ),Xs: list @ A,Ys: list @ A,Zs2: list @ A] :
% 3.01/1.60        ( ! [X3: A] :
% 3.01/1.60            ~ ( member2 @ ( product_prod @ A @ A ) @ ( product_Pair @ A @ A @ X3 @ X3 ) @ R )
% 3.01/1.60       => ( ( member2 @ ( product_prod @ ( list @ A ) @ ( list @ A ) ) @ ( product_Pair @ ( list @ A ) @ ( list @ A ) @ ( append @ A @ Xs @ Ys ) @ ( append @ A @ Xs @ Zs2 ) ) @ ( lex @ A @ R ) )
% 3.01/1.60         => ( member2 @ ( product_prod @ ( list @ A ) @ ( list @ A ) ) @ ( product_Pair @ ( list @ A ) @ ( list @ A ) @ Ys @ Zs2 ) @ ( lex @ A @ R ) ) ) ) ).
% 3.01/1.60  
% 3.01/1.60  thf(fact_204_lex__append__rightI,axiom,
% 3.01/1.60      ! [A: $tType,Xs: list @ A,Ys: list @ A,R: set @ ( product_prod @ A @ A ),Vs: list @ A,Us: list @ A] :
% 3.01/1.60        ( ( member2 @ ( product_prod @ ( list @ A ) @ ( list @ A ) ) @ ( product_Pair @ ( list @ A ) @ ( list @ A ) @ Xs @ Ys ) @ ( lex @ A @ R ) )
% 3.01/1.60       => ( ( ( size_size @ ( list @ A ) @ Vs )
% 3.01/1.60            = ( size_size @ ( list @ A ) @ Us ) )
% 3.01/1.60         => ( member2 @ ( product_prod @ ( list @ A ) @ ( list @ A ) ) @ ( product_Pair @ ( list @ A ) @ ( list @ A ) @ ( append @ A @ Xs @ Us ) @ ( append @ A @ Ys @ Vs ) ) @ ( lex @ A @ R ) ) ) ) ).
% 3.01/1.60  
% 3.01/1.60  thf(fact_205_SuccD,axiom,
% 3.01/1.60      ! [A: $tType,K2: A,Kl2: set @ ( list @ A ),Kl3: list @ A] :
% 3.01/1.60        ( ( member2 @ A @ K2 @ ( bNF_Greatest_Succ @ A @ Kl2 @ Kl3 ) )
% 3.01/1.60       => ( member2 @ ( list @ A ) @ ( append @ A @ Kl3 @ ( cons @ A @ K2 @ ( nil @ A ) ) ) @ Kl2 ) ) ).
% 3.01/1.60  
% 3.01/1.60  thf(fact_206_SuccI,axiom,
% 3.01/1.60      ! [A: $tType,Kl3: list @ A,K2: A,Kl2: set @ ( list @ A )] :
% 3.01/1.60        ( ( member2 @ ( list @ A ) @ ( append @ A @ Kl3 @ ( cons @ A @ K2 @ ( nil @ A ) ) ) @ Kl2 )
% 3.01/1.60       => ( member2 @ A @ K2 @ ( bNF_Greatest_Succ @ A @ Kl2 @ Kl3 ) ) ) ).
% 3.01/1.60  
% 3.01/1.60  thf(fact_207_empty__Shift,axiom,
% 3.01/1.60      ! [A: $tType,Kl2: set @ ( list @ A ),K2: A] :
% 3.01/1.60        ( ( member2 @ ( list @ A ) @ ( nil @ A ) @ Kl2 )
% 3.01/1.60       => ( ( member2 @ A @ K2 @ ( bNF_Greatest_Succ @ A @ Kl2 @ ( nil @ A ) ) )
% 3.01/1.60         => ( member2 @ ( list @ A ) @ ( nil @ A ) @ ( bNF_Greatest_Shift @ A @ Kl2 @ K2 ) ) ) ) ).
% 3.01/1.60  
% 3.01/1.60  thf(fact_208_Succ__Shift,axiom,
% 3.01/1.60      ! [A: $tType,Kl2: set @ ( list @ A ),K2: A,Kl3: list @ A] :
% 3.01/1.60        ( ( bNF_Greatest_Succ @ A @ ( bNF_Greatest_Shift @ A @ Kl2 @ K2 ) @ Kl3 )
% 3.01/1.60        = ( bNF_Greatest_Succ @ A @ Kl2 @ ( cons @ A @ K2 @ Kl3 ) ) ) ).
% 3.01/1.60  
% 3.01/1.60  thf(fact_209_ShiftD,axiom,
% 3.01/1.60      ! [A: $tType,Kl3: list @ A,Kl2: set @ ( list @ A ),K2: A] :
% 3.01/1.60        ( ( member2 @ ( list @ A ) @ Kl3 @ ( bNF_Greatest_Shift @ A @ Kl2 @ K2 ) )
% 3.01/1.60       => ( member2 @ ( list @ A ) @ ( cons @ A @ K2 @ Kl3 ) @ Kl2 ) ) ).
% 3.01/1.60  
% 3.01/1.60  thf(fact_210_length__product,axiom,
% 3.01/1.60      ! [A: $tType,B: $tType,Xs: list @ A,Ys: list @ B] :
% 3.01/1.60        ( ( size_size @ ( list @ ( product_prod @ A @ B ) ) @ ( product @ A @ B @ Xs @ Ys ) )
% 3.01/1.60        = ( times_times @ nat @ ( size_size @ ( list @ A ) @ Xs ) @ ( size_size @ ( list @ B ) @ Ys ) ) ) ).
% 3.01/1.60  
% 3.01/1.60  thf(fact_211_part__code_I1_J,axiom,
% 3.01/1.60      ! [A: $tType,B: $tType] :
% 3.01/1.60        ( ( linorder @ A )
% 3.01/1.60       => ! [F: B > A,Pivot: A] :
% 3.01/1.60            ( ( linorder_part @ B @ A @ F @ Pivot @ ( nil @ B ) )
% 3.01/1.60            = ( product_Pair @ ( list @ B ) @ ( product_prod @ ( list @ B ) @ ( list @ B ) ) @ ( nil @ B ) @ ( product_Pair @ ( list @ B ) @ ( list @ B ) @ ( nil @ B ) @ ( nil @ B ) ) ) ) ) ).
% 3.01/1.60  
% 3.01/1.60  thf(fact_212_Suc__mult__cancel1,axiom,
% 3.01/1.60      ! [K2: nat,M: nat,N: nat] :
% 3.01/1.60        ( ( ( times_times @ nat @ ( suc @ K2 ) @ M )
% 3.01/1.60          = ( times_times @ nat @ ( suc @ K2 ) @ N ) )
% 3.01/1.60        = ( M = N ) ) ).
% 3.01/1.60  
% 3.01/1.60  thf(fact_213_lexord__append__left__rightI,axiom,
% 3.01/1.60      ! [A: $tType,A3: A,B2: A,R: set @ ( product_prod @ A @ A ),U: list @ A,X: list @ A,Y: list @ A] :
% 3.01/1.60        ( ( member2 @ ( product_prod @ A @ A ) @ ( product_Pair @ A @ A @ A3 @ B2 ) @ R )
% 3.01/1.60       => ( member2 @ ( product_prod @ ( list @ A ) @ ( list @ A ) ) @ ( product_Pair @ ( list @ A ) @ ( list @ A ) @ ( append @ A @ U @ ( cons @ A @ A3 @ X ) ) @ ( append @ A @ U @ ( cons @ A @ B2 @ Y ) ) ) @ ( lexord @ A @ R ) ) ) ).
% 3.01/1.60  
% 3.01/1.60  thf(fact_214_listrel_Oinducts,axiom,
% 3.01/1.60      ! [A: $tType,B: $tType,X1: list @ A,X2: list @ B,R: set @ ( product_prod @ A @ B ),P3: ( list @ A ) > ( list @ B ) > $o] :
% 3.01/1.60        ( ( member2 @ ( product_prod @ ( list @ A ) @ ( list @ B ) ) @ ( product_Pair @ ( list @ A ) @ ( list @ B ) @ X1 @ X2 ) @ ( listrel @ A @ B @ R ) )
% 3.01/1.60       => ( ( P3 @ ( nil @ A ) @ ( nil @ B ) )
% 3.01/1.60         => ( ! [X3: A,Y2: B,Xs2: list @ A,Ys2: list @ B] :
% 3.01/1.60                ( ( member2 @ ( product_prod @ A @ B ) @ ( product_Pair @ A @ B @ X3 @ Y2 ) @ R )
% 3.01/1.60               => ( ( member2 @ ( product_prod @ ( list @ A ) @ ( list @ B ) ) @ ( product_Pair @ ( list @ A ) @ ( list @ B ) @ Xs2 @ Ys2 ) @ ( listrel @ A @ B @ R ) )
% 3.01/1.60                 => ( ( P3 @ Xs2 @ Ys2 )
% 3.01/1.60                   => ( P3 @ ( cons @ A @ X3 @ Xs2 ) @ ( cons @ B @ Y2 @ Ys2 ) ) ) ) )
% 3.01/1.60           => ( P3 @ X1 @ X2 ) ) ) ) ).
% 3.01/1.60  
% 3.01/1.60  thf(fact_215_lexord__cons__cons,axiom,
% 3.01/1.60      ! [A: $tType,A3: A,X: list @ A,B2: A,Y: list @ A,R: set @ ( product_prod @ A @ A )] :
% 3.01/1.60        ( ( member2 @ ( product_prod @ ( list @ A ) @ ( list @ A ) ) @ ( product_Pair @ ( list @ A ) @ ( list @ A ) @ ( cons @ A @ A3 @ X ) @ ( cons @ A @ B2 @ Y ) ) @ ( lexord @ A @ R ) )
% 3.01/1.60        = ( ( member2 @ ( product_prod @ A @ A ) @ ( product_Pair @ A @ A @ A3 @ B2 ) @ R )
% 3.01/1.60          | ( ( A3 = B2 )
% 3.01/1.60            & ( member2 @ ( product_prod @ ( list @ A ) @ ( list @ A ) ) @ ( product_Pair @ ( list @ A ) @ ( list @ A ) @ X @ Y ) @ ( lexord @ A @ R ) ) ) ) ) ).
% 3.01/1.60  
% 3.01/1.60  thf(fact_216_lexord__Nil__left,axiom,
% 3.01/1.60      ! [A: $tType,Y: list @ A,R: set @ ( product_prod @ A @ A )] :
% 3.01/1.60        ( ( member2 @ ( product_prod @ ( list @ A ) @ ( list @ A ) ) @ ( product_Pair @ ( list @ A ) @ ( list @ A ) @ ( nil @ A ) @ Y ) @ ( lexord @ A @ R ) )
% 3.01/1.60        = ( ? [A5: A,X4: list @ A] :
% 3.01/1.60              ( Y
% 3.01/1.60              = ( cons @ A @ A5 @ X4 ) ) ) ) ).
% 3.01/1.60  
% 3.01/1.60  thf(fact_217_lexord__append__leftI,axiom,
% 3.01/1.60      ! [A: $tType,U: list @ A,V2: list @ A,R: set @ ( product_prod @ A @ A ),X: list @ A] :
% 3.01/1.60        ( ( member2 @ ( product_prod @ ( list @ A ) @ ( list @ A ) ) @ ( product_Pair @ ( list @ A ) @ ( list @ A ) @ U @ V2 ) @ ( lexord @ A @ R ) )
% 3.01/1.60       => ( member2 @ ( product_prod @ ( list @ A ) @ ( list @ A ) ) @ ( product_Pair @ ( list @ A ) @ ( list @ A ) @ ( append @ A @ X @ U ) @ ( append @ A @ X @ V2 ) ) @ ( lexord @ A @ R ) ) ) ).
% 3.01/1.60  
% 3.01/1.60  thf(fact_218_lexord__Nil__right,axiom,
% 3.01/1.60      ! [A: $tType,X: list @ A,R: set @ ( product_prod @ A @ A )] :
% 3.01/1.60        ~ ( member2 @ ( product_prod @ ( list @ A ) @ ( list @ A ) ) @ ( product_Pair @ ( list @ A ) @ ( list @ A ) @ X @ ( nil @ A ) ) @ ( lexord @ A @ R ) ) ).
% 3.01/1.60  
% 3.01/1.60  thf(fact_219_listrel__eq__len,axiom,
% 3.01/1.60      ! [A: $tType,B: $tType,Xs: list @ A,Ys: list @ B,R: set @ ( product_prod @ A @ B )] :
% 3.01/1.60        ( ( member2 @ ( product_prod @ ( list @ A ) @ ( list @ B ) ) @ ( product_Pair @ ( list @ A ) @ ( list @ B ) @ Xs @ Ys ) @ ( listrel @ A @ B @ R ) )
% 3.01/1.60       => ( ( size_size @ ( list @ A ) @ Xs )
% 3.01/1.60          = ( size_size @ ( list @ B ) @ Ys ) ) ) ).
% 3.01/1.60  
% 3.01/1.60  thf(fact_220_listrel__Nil2,axiom,
% 3.01/1.60      ! [B: $tType,A: $tType,Xs: list @ A,R: set @ ( product_prod @ A @ B )] :
% 3.01/1.60        ( ( member2 @ ( product_prod @ ( list @ A ) @ ( list @ B ) ) @ ( product_Pair @ ( list @ A ) @ ( list @ B ) @ Xs @ ( nil @ B ) ) @ ( listrel @ A @ B @ R ) )
% 3.01/1.60       => ( Xs
% 3.01/1.60          = ( nil @ A ) ) ) ).
% 3.01/1.60  
% 3.01/1.60  thf(fact_221_listrel__Nil1,axiom,
% 3.01/1.60      ! [A: $tType,B: $tType,Xs: list @ B,R: set @ ( product_prod @ A @ B )] :
% 3.01/1.60        ( ( member2 @ ( product_prod @ ( list @ A ) @ ( list @ B ) ) @ ( product_Pair @ ( list @ A ) @ ( list @ B ) @ ( nil @ A ) @ Xs ) @ ( listrel @ A @ B @ R ) )
% 3.01/1.60       => ( Xs
% 3.01/1.60          = ( nil @ B ) ) ) ).
% 3.01/1.60  
% 3.01/1.60  thf(fact_222_listrel_ONil,axiom,
% 3.01/1.60      ! [B: $tType,A: $tType,R: set @ ( product_prod @ A @ B )] : ( member2 @ ( product_prod @ ( list @ A ) @ ( list @ B ) ) @ ( product_Pair @ ( list @ A ) @ ( list @ B ) @ ( nil @ A ) @ ( nil @ B ) ) @ ( listrel @ A @ B @ R ) ) ).
% 3.01/1.60  
% 3.01/1.60  thf(fact_223_lexord__linear,axiom,
% 3.01/1.60      ! [A: $tType,R: set @ ( product_prod @ A @ A ),X: list @ A,Y: list @ A] :
% 3.01/1.60        ( ! [A2: A,B3: A] :
% 3.01/1.60            ( ( member2 @ ( product_prod @ A @ A ) @ ( product_Pair @ A @ A @ A2 @ B3 ) @ R )
% 3.01/1.60            | ( A2 = B3 )
% 3.01/1.60            | ( member2 @ ( product_prod @ A @ A ) @ ( product_Pair @ A @ A @ B3 @ A2 ) @ R ) )
% 3.01/1.60       => ( ( member2 @ ( product_prod @ ( list @ A ) @ ( list @ A ) ) @ ( product_Pair @ ( list @ A ) @ ( list @ A ) @ X @ Y ) @ ( lexord @ A @ R ) )
% 3.01/1.60          | ( X = Y )
% 3.01/1.60          | ( member2 @ ( product_prod @ ( list @ A ) @ ( list @ A ) ) @ ( product_Pair @ ( list @ A ) @ ( list @ A ) @ Y @ X ) @ ( lexord @ A @ R ) ) ) ) ).
% 3.01/1.60  
% 3.01/1.60  thf(fact_224_lexord__irreflexive,axiom,
% 3.01/1.60      ! [A: $tType,R: set @ ( product_prod @ A @ A ),Xs: list @ A] :
% 3.01/1.60        ( ! [X3: A] :
% 3.01/1.60            ~ ( member2 @ ( product_prod @ A @ A ) @ ( product_Pair @ A @ A @ X3 @ X3 ) @ R )
% 3.01/1.60       => ~ ( member2 @ ( product_prod @ ( list @ A ) @ ( list @ A ) ) @ ( product_Pair @ ( list @ A ) @ ( list @ A ) @ Xs @ Xs ) @ ( lexord @ A @ R ) ) ) ).
% 3.01/1.60  
% 3.01/1.60  thf(fact_225_listrel__Cons2,axiom,
% 3.01/1.60      ! [B: $tType,A: $tType,Xs: list @ A,Y: B,Ys: list @ B,R: set @ ( product_prod @ A @ B )] :
% 3.01/1.60        ( ( member2 @ ( product_prod @ ( list @ A ) @ ( list @ B ) ) @ ( product_Pair @ ( list @ A ) @ ( list @ B ) @ Xs @ ( cons @ B @ Y @ Ys ) ) @ ( listrel @ A @ B @ R ) )
% 3.01/1.60       => ~ ! [X3: A,Xs2: list @ A] :
% 3.01/1.60              ( ( Xs
% 3.01/1.60                = ( cons @ A @ X3 @ Xs2 ) )
% 3.01/1.60             => ( ( member2 @ ( product_prod @ A @ B ) @ ( product_Pair @ A @ B @ X3 @ Y ) @ R )
% 3.01/1.60               => ~ ( member2 @ ( product_prod @ ( list @ A ) @ ( list @ B ) ) @ ( product_Pair @ ( list @ A ) @ ( list @ B ) @ Xs2 @ Ys ) @ ( listrel @ A @ B @ R ) ) ) ) ) ).
% 3.01/1.60  
% 3.01/1.60  thf(fact_226_listrel__Cons1,axiom,
% 3.01/1.60      ! [B: $tType,A: $tType,Y: A,Ys: list @ A,Xs: list @ B,R: set @ ( product_prod @ A @ B )] :
% 3.01/1.60        ( ( member2 @ ( product_prod @ ( list @ A ) @ ( list @ B ) ) @ ( product_Pair @ ( list @ A ) @ ( list @ B ) @ ( cons @ A @ Y @ Ys ) @ Xs ) @ ( listrel @ A @ B @ R ) )
% 3.01/1.60       => ~ ! [Y2: B,Ys2: list @ B] :
% 3.01/1.60              ( ( Xs
% 3.01/1.60                = ( cons @ B @ Y2 @ Ys2 ) )
% 3.01/1.60             => ( ( member2 @ ( product_prod @ A @ B ) @ ( product_Pair @ A @ B @ Y @ Y2 ) @ R )
% 3.01/1.60               => ~ ( member2 @ ( product_prod @ ( list @ A ) @ ( list @ B ) ) @ ( product_Pair @ ( list @ A ) @ ( list @ B ) @ Ys @ Ys2 ) @ ( listrel @ A @ B @ R ) ) ) ) ) ).
% 3.01/1.60  
% 3.01/1.60  thf(fact_227_listrel_OCons,axiom,
% 3.01/1.60      ! [B: $tType,A: $tType,X: A,Y: B,R: set @ ( product_prod @ A @ B ),Xs: list @ A,Ys: list @ B] :
% 3.01/1.60        ( ( member2 @ ( product_prod @ A @ B ) @ ( product_Pair @ A @ B @ X @ Y ) @ R )
% 3.01/1.60       => ( ( member2 @ ( product_prod @ ( list @ A ) @ ( list @ B ) ) @ ( product_Pair @ ( list @ A ) @ ( list @ B ) @ Xs @ Ys ) @ ( listrel @ A @ B @ R ) )
% 3.01/1.60         => ( member2 @ ( product_prod @ ( list @ A ) @ ( list @ B ) ) @ ( product_Pair @ ( list @ A ) @ ( list @ B ) @ ( cons @ A @ X @ Xs ) @ ( cons @ B @ Y @ Ys ) ) @ ( listrel @ A @ B @ R ) ) ) ) ).
% 3.01/1.60  
% 3.01/1.60  thf(fact_228_lexord__append__leftD,axiom,
% 3.01/1.60      ! [A: $tType,X: list @ A,U: list @ A,V2: list @ A,R: set @ ( product_prod @ A @ A )] :
% 3.01/1.60        ( ( member2 @ ( product_prod @ ( list @ A ) @ ( list @ A ) ) @ ( product_Pair @ ( list @ A ) @ ( list @ A ) @ ( append @ A @ X @ U ) @ ( append @ A @ X @ V2 ) ) @ ( lexord @ A @ R ) )
% 3.01/1.60       => ( ! [A2: A] :
% 3.01/1.60              ~ ( member2 @ ( product_prod @ A @ A ) @ ( product_Pair @ A @ A @ A2 @ A2 ) @ R )
% 3.01/1.60         => ( member2 @ ( product_prod @ ( list @ A ) @ ( list @ A ) ) @ ( product_Pair @ ( list @ A ) @ ( list @ A ) @ U @ V2 ) @ ( lexord @ A @ R ) ) ) ) ).
% 3.01/1.60  
% 3.01/1.60  thf(fact_229_lexord__append__rightI,axiom,
% 3.01/1.60      ! [A: $tType,Y: list @ A,X: list @ A,R: set @ ( product_prod @ A @ A )] :
% 3.01/1.60        ( ? [B4: A,Z2: list @ A] :
% 3.01/1.60            ( Y
% 3.01/1.60            = ( cons @ A @ B4 @ Z2 ) )
% 3.01/1.60       => ( member2 @ ( product_prod @ ( list @ A ) @ ( list @ A ) ) @ ( product_Pair @ ( list @ A ) @ ( list @ A ) @ X @ ( append @ A @ X @ Y ) ) @ ( lexord @ A @ R ) ) ) ).
% 3.01/1.60  
% 3.01/1.60  thf(fact_230_lexord__sufE,axiom,
% 3.01/1.60      ! [A: $tType,Xs: list @ A,Zs2: list @ A,Ys: list @ A,Qs: list @ A,R: set @ ( product_prod @ A @ A )] :
% 3.01/1.60        ( ( member2 @ ( product_prod @ ( list @ A ) @ ( list @ A ) ) @ ( product_Pair @ ( list @ A ) @ ( list @ A ) @ ( append @ A @ Xs @ Zs2 ) @ ( append @ A @ Ys @ Qs ) ) @ ( lexord @ A @ R ) )
% 3.01/1.60       => ( ( Xs != Ys )
% 3.01/1.60         => ( ( ( size_size @ ( list @ A ) @ Xs )
% 3.01/1.60              = ( size_size @ ( list @ A ) @ Ys ) )
% 3.01/1.60           => ( ( ( size_size @ ( list @ A ) @ Zs2 )
% 3.01/1.60                = ( size_size @ ( list @ A ) @ Qs ) )
% 3.01/1.60             => ( member2 @ ( product_prod @ ( list @ A ) @ ( list @ A ) ) @ ( product_Pair @ ( list @ A ) @ ( list @ A ) @ Xs @ Ys ) @ ( lexord @ A @ R ) ) ) ) ) ) ).
% 3.01/1.60  
% 3.01/1.60  thf(fact_231_lexord__lex,axiom,
% 3.01/1.60      ! [A: $tType,X: list @ A,Y: list @ A,R: set @ ( product_prod @ A @ A )] :
% 3.01/1.60        ( ( member2 @ ( product_prod @ ( list @ A ) @ ( list @ A ) ) @ ( product_Pair @ ( list @ A ) @ ( list @ A ) @ X @ Y ) @ ( lex @ A @ R ) )
% 3.01/1.60        = ( ( member2 @ ( product_prod @ ( list @ A ) @ ( list @ A ) ) @ ( product_Pair @ ( list @ A ) @ ( list @ A ) @ X @ Y ) @ ( lexord @ A @ R ) )
% 3.01/1.60          & ( ( size_size @ ( list @ A ) @ X )
% 3.01/1.60            = ( size_size @ ( list @ A ) @ Y ) ) ) ) ).
% 3.01/1.60  
% 3.01/1.60  thf(fact_232_listrel_Ocases,axiom,
% 3.01/1.60      ! [B: $tType,A: $tType,A12: list @ A,A23: list @ B,R: set @ ( product_prod @ A @ B )] :
% 3.01/1.60        ( ( member2 @ ( product_prod @ ( list @ A ) @ ( list @ B ) ) @ ( product_Pair @ ( list @ A ) @ ( list @ B ) @ A12 @ A23 ) @ ( listrel @ A @ B @ R ) )
% 3.01/1.60       => ( ( ( A12
% 3.01/1.60              = ( nil @ A ) )
% 3.01/1.60           => ( A23
% 3.01/1.60             != ( nil @ B ) ) )
% 3.01/1.60         => ~ ! [X3: A,Y2: B,Xs2: list @ A] :
% 3.01/1.60                ( ( A12
% 3.01/1.60                  = ( cons @ A @ X3 @ Xs2 ) )
% 3.01/1.60               => ! [Ys2: list @ B] :
% 3.01/1.60                    ( ( A23
% 3.01/1.60                      = ( cons @ B @ Y2 @ Ys2 ) )
% 3.01/1.60                   => ( ( member2 @ ( product_prod @ A @ B ) @ ( product_Pair @ A @ B @ X3 @ Y2 ) @ R )
% 3.01/1.60                     => ~ ( member2 @ ( product_prod @ ( list @ A ) @ ( list @ B ) ) @ ( product_Pair @ ( list @ A ) @ ( list @ B ) @ Xs2 @ Ys2 ) @ ( listrel @ A @ B @ R ) ) ) ) ) ) ) ).
% 3.01/1.60  
% 3.01/1.60  thf(fact_233_listrel_Osimps,axiom,
% 3.01/1.60      ! [B: $tType,A: $tType,A12: list @ A,A23: list @ B,R: set @ ( product_prod @ A @ B )] :
% 3.01/1.60        ( ( member2 @ ( product_prod @ ( list @ A ) @ ( list @ B ) ) @ ( product_Pair @ ( list @ A ) @ ( list @ B ) @ A12 @ A23 ) @ ( listrel @ A @ B @ R ) )
% 3.01/1.60        = ( ( ( A12
% 3.01/1.60              = ( nil @ A ) )
% 3.01/1.60            & ( A23
% 3.01/1.60              = ( nil @ B ) ) )
% 3.01/1.60          | ? [X4: A,Y3: B,Xs3: list @ A,Ys3: list @ B] :
% 3.01/1.60              ( ( A12
% 3.01/1.60                = ( cons @ A @ X4 @ Xs3 ) )
% 3.01/1.60              & ( A23
% 3.01/1.60                = ( cons @ B @ Y3 @ Ys3 ) )
% 3.01/1.60              & ( member2 @ ( product_prod @ A @ B ) @ ( product_Pair @ A @ B @ X4 @ Y3 ) @ R )
% 3.01/1.60              & ( member2 @ ( product_prod @ ( list @ A ) @ ( list @ B ) ) @ ( product_Pair @ ( list @ A ) @ ( list @ B ) @ Xs3 @ Ys3 ) @ ( listrel @ A @ B @ R ) ) ) ) ) ).
% 3.01/1.60  
% 3.01/1.60  thf(fact_234_lexord__same__pref__if__irrefl,axiom,
% 3.01/1.60      ! [A: $tType,R: set @ ( product_prod @ A @ A ),Xs: list @ A,Ys: list @ A,Zs2: list @ A] :
% 3.01/1.60        ( ( irrefl @ A @ R )
% 3.01/1.60       => ( ( member2 @ ( product_prod @ ( list @ A ) @ ( list @ A ) ) @ ( product_Pair @ ( list @ A ) @ ( list @ A ) @ ( append @ A @ Xs @ Ys ) @ ( append @ A @ Xs @ Zs2 ) ) @ ( lexord @ A @ R ) )
% 3.01/1.60          = ( member2 @ ( product_prod @ ( list @ A ) @ ( list @ A ) ) @ ( product_Pair @ ( list @ A ) @ ( list @ A ) @ Ys @ Zs2 ) @ ( lexord @ A @ R ) ) ) ) ).
% 3.01/1.60  
% 3.01/1.60  thf(fact_235_map__tailrec__rev_Opelims,axiom,
% 3.01/1.60      ! [A: $tType,B: $tType,X: A > B,Xa: list @ A,Xb: list @ B,Y: list @ B] :
% 3.01/1.60        ( ( ( map_tailrec_rev @ A @ B @ X @ Xa @ Xb )
% 3.01/1.60          = Y )
% 3.01/1.60       => ( ( accp @ ( product_prod @ ( A > B ) @ ( product_prod @ ( list @ A ) @ ( list @ B ) ) ) @ ( map_tailrec_rev_rel @ A @ B ) @ ( product_Pair @ ( A > B ) @ ( product_prod @ ( list @ A ) @ ( list @ B ) ) @ X @ ( product_Pair @ ( list @ A ) @ ( list @ B ) @ Xa @ Xb ) ) )
% 3.01/1.60         => ( ( ( Xa
% 3.01/1.60                = ( nil @ A ) )
% 3.01/1.60             => ( ( Y = Xb )
% 3.01/1.60               => ~ ( accp @ ( product_prod @ ( A > B ) @ ( product_prod @ ( list @ A ) @ ( list @ B ) ) ) @ ( map_tailrec_rev_rel @ A @ B ) @ ( product_Pair @ ( A > B ) @ ( product_prod @ ( list @ A ) @ ( list @ B ) ) @ X @ ( product_Pair @ ( list @ A ) @ ( list @ B ) @ ( nil @ A ) @ Xb ) ) ) ) )
% 3.01/1.60           => ~ ! [A2: A,As: list @ A] :
% 3.01/1.60                  ( ( Xa
% 3.01/1.60                    = ( cons @ A @ A2 @ As ) )
% 3.01/1.60                 => ( ( Y
% 3.01/1.60                      = ( map_tailrec_rev @ A @ B @ X @ As @ ( cons @ B @ ( X @ A2 ) @ Xb ) ) )
% 3.01/1.60                   => ~ ( accp @ ( product_prod @ ( A > B ) @ ( product_prod @ ( list @ A ) @ ( list @ B ) ) ) @ ( map_tailrec_rev_rel @ A @ B ) @ ( product_Pair @ ( A > B ) @ ( product_prod @ ( list @ A ) @ ( list @ B ) ) @ X @ ( product_Pair @ ( list @ A ) @ ( list @ B ) @ ( cons @ A @ A2 @ As ) @ Xb ) ) ) ) ) ) ) ) ).
% 3.01/1.60  
% 3.01/1.60  thf(fact_236_lexord__irrefl,axiom,
% 3.01/1.60      ! [A: $tType,R3: set @ ( product_prod @ A @ A )] :
% 3.01/1.60        ( ( irrefl @ A @ R3 )
% 3.01/1.60       => ( irrefl @ ( list @ A ) @ ( lexord @ A @ R3 ) ) ) ).
% 3.01/1.60  
% 3.01/1.60  thf(fact_237_irrefl__lex,axiom,
% 3.01/1.60      ! [A: $tType,R: set @ ( product_prod @ A @ A )] :
% 3.01/1.60        ( ( irrefl @ A @ R )
% 3.01/1.60       => ( irrefl @ ( list @ A ) @ ( lex @ A @ R ) ) ) ).
% 3.01/1.60  
% 3.01/1.60  thf(fact_238_lexl__not__refl,axiom,
% 3.01/1.60      ! [A: $tType,R: set @ ( product_prod @ A @ A ),X: list @ A] :
% 3.01/1.60        ( ( irrefl @ A @ R )
% 3.01/1.60       => ~ ( member2 @ ( product_prod @ ( list @ A ) @ ( list @ A ) ) @ ( product_Pair @ ( list @ A ) @ ( list @ A ) @ X @ X ) @ ( lex @ A @ R ) ) ) ).
% 3.01/1.60  
% 3.01/1.60  thf(fact_239_lenlex__append2,axiom,
% 3.01/1.60      ! [A: $tType,R3: set @ ( product_prod @ A @ A ),Us: list @ A,Xs: list @ A,Ys: list @ A] :
% 3.01/1.60        ( ( irrefl @ A @ R3 )
% 3.01/1.60       => ( ( member2 @ ( product_prod @ ( list @ A ) @ ( list @ A ) ) @ ( product_Pair @ ( list @ A ) @ ( list @ A ) @ ( append @ A @ Us @ Xs ) @ ( append @ A @ Us @ Ys ) ) @ ( lenlex @ A @ R3 ) )
% 3.01/1.60          = ( member2 @ ( product_prod @ ( list @ A ) @ ( list @ A ) ) @ ( product_Pair @ ( list @ A ) @ ( list @ A ) @ Xs @ Ys ) @ ( lenlex @ A @ R3 ) ) ) ) ).
% 3.01/1.60  
% 3.01/1.60  thf(fact_240_lenlex__append1,axiom,
% 3.01/1.60      ! [A: $tType,Us: list @ A,Xs: list @ A,R3: set @ ( product_prod @ A @ A ),Vs: list @ A,Ys: list @ A] :
% 3.01/1.60        ( ( member2 @ ( product_prod @ ( list @ A ) @ ( list @ A ) ) @ ( product_Pair @ ( list @ A ) @ ( list @ A ) @ Us @ Xs ) @ ( lenlex @ A @ R3 ) )
% 3.01/1.60       => ( ( ( size_size @ ( list @ A ) @ Vs )
% 3.01/1.60            = ( size_size @ ( list @ A ) @ Ys ) )
% 3.01/1.60         => ( member2 @ ( product_prod @ ( list @ A ) @ ( list @ A ) ) @ ( product_Pair @ ( list @ A ) @ ( list @ A ) @ ( append @ A @ Us @ Vs ) @ ( append @ A @ Xs @ Ys ) ) @ ( lenlex @ A @ R3 ) ) ) ) ).
% 3.01/1.60  
% 3.01/1.60  thf(fact_241_Nil__lenlex__iff1,axiom,
% 3.01/1.60      ! [A: $tType,Ns: list @ A,R: set @ ( product_prod @ A @ A )] :
% 3.01/1.60        ( ( member2 @ ( product_prod @ ( list @ A ) @ ( list @ A ) ) @ ( product_Pair @ ( list @ A ) @ ( list @ A ) @ ( nil @ A ) @ Ns ) @ ( lenlex @ A @ R ) )
% 3.01/1.60        = ( Ns
% 3.01/1.60         != ( nil @ A ) ) ) ).
% 3.01/1.60  
% 3.01/1.60  thf(fact_242_lenlex__irreflexive,axiom,
% 3.01/1.60      ! [A: $tType,R: set @ ( product_prod @ A @ A ),Xs: list @ A] :
% 3.01/1.60        ( ! [X3: A] :
% 3.01/1.60            ~ ( member2 @ ( product_prod @ A @ A ) @ ( product_Pair @ A @ A @ X3 @ X3 ) @ R )
% 3.01/1.60       => ~ ( member2 @ ( product_prod @ ( list @ A ) @ ( list @ A ) ) @ ( product_Pair @ ( list @ A ) @ ( list @ A ) @ Xs @ Xs ) @ ( lenlex @ A @ R ) ) ) ).
% 3.01/1.60  
% 3.01/1.60  thf(fact_243_Nil__lenlex__iff2,axiom,
% 3.01/1.60      ! [A: $tType,Ns: list @ A,R: set @ ( product_prod @ A @ A )] :
% 3.01/1.60        ~ ( member2 @ ( product_prod @ ( list @ A ) @ ( list @ A ) ) @ ( product_Pair @ ( list @ A ) @ ( list @ A ) @ Ns @ ( nil @ A ) ) @ ( lenlex @ A @ R ) ) ).
% 3.01/1.60  
% 3.01/1.60  thf(fact_244_Cons__lenlex__iff,axiom,
% 3.01/1.60      ! [A: $tType,M: A,Ms: list @ A,N: A,Ns: list @ A,R: set @ ( product_prod @ A @ A )] :
% 3.01/1.60        ( ( member2 @ ( product_prod @ ( list @ A ) @ ( list @ A ) ) @ ( product_Pair @ ( list @ A ) @ ( list @ A ) @ ( cons @ A @ M @ Ms ) @ ( cons @ A @ N @ Ns ) ) @ ( lenlex @ A @ R ) )
% 3.01/1.60        = ( ( ord_less @ nat @ ( size_size @ ( list @ A ) @ Ms ) @ ( size_size @ ( list @ A ) @ Ns ) )
% 3.01/1.60          | ( ( ( size_size @ ( list @ A ) @ Ms )
% 3.01/1.60              = ( size_size @ ( list @ A ) @ Ns ) )
% 3.01/1.60            & ( member2 @ ( product_prod @ A @ A ) @ ( product_Pair @ A @ A @ M @ N ) @ R ) )
% 3.01/1.60          | ( ( M = N )
% 3.01/1.60            & ( member2 @ ( product_prod @ ( list @ A ) @ ( list @ A ) ) @ ( product_Pair @ ( list @ A ) @ ( list @ A ) @ Ms @ Ns ) @ ( lenlex @ A @ R ) ) ) ) ) ).
% 3.01/1.60  
% 3.01/1.60  thf(fact_245_product_Osimps_I2_J,axiom,
% 3.01/1.60      ! [A: $tType,B: $tType,X: A,Xs: list @ A,Ys: list @ B] :
% 3.01/1.60        ( ( product @ A @ B @ ( cons @ A @ X @ Xs ) @ Ys )
% 3.01/1.60        = ( append @ ( product_prod @ A @ B ) @ ( map @ B @ ( product_prod @ A @ B ) @ ( product_Pair @ A @ B @ X ) @ Ys ) @ ( product @ A @ B @ Xs @ Ys ) ) ) ).
% 3.01/1.60  
% 3.01/1.60  thf(fact_246_Suc__less__eq,axiom,
% 3.01/1.60      ! [M: nat,N: nat] :
% 3.01/1.60        ( ( ord_less @ nat @ ( suc @ M ) @ ( suc @ N ) )
% 3.01/1.60        = ( ord_less @ nat @ M @ N ) ) ).
% 3.01/1.60  
% 3.01/1.60  thf(fact_247_Suc__mono,axiom,
% 3.01/1.60      ! [M: nat,N: nat] :
% 3.01/1.60        ( ( ord_less @ nat @ M @ N )
% 3.01/1.60       => ( ord_less @ nat @ ( suc @ M ) @ ( suc @ N ) ) ) ).
% 3.01/1.60  
% 3.01/1.60  thf(fact_248_lessI,axiom,
% 3.01/1.60      ! [N: nat] : ( ord_less @ nat @ N @ ( suc @ N ) ) ).
% 3.01/1.60  
% 3.01/1.60  thf(fact_249_list_Omap__disc__iff,axiom,
% 3.01/1.60      ! [B: $tType,A: $tType,F: A > B,A3: list @ A] :
% 3.01/1.60        ( ( ( map @ A @ B @ F @ A3 )
% 3.01/1.60          = ( nil @ B ) )
% 3.01/1.60        = ( A3
% 3.01/1.60          = ( nil @ A ) ) ) ).
% 3.01/1.60  
% 3.01/1.60  thf(fact_250_map__is__Nil__conv,axiom,
% 3.01/1.60      ! [A: $tType,B: $tType,F: B > A,Xs: list @ B] :
% 3.01/1.60        ( ( ( map @ B @ A @ F @ Xs )
% 3.01/1.60          = ( nil @ A ) )
% 3.01/1.60        = ( Xs
% 3.01/1.60          = ( nil @ B ) ) ) ).
% 3.01/1.60  
% 3.01/1.60  thf(fact_251_Nil__is__map__conv,axiom,
% 3.01/1.60      ! [A: $tType,B: $tType,F: B > A,Xs: list @ B] :
% 3.01/1.60        ( ( ( nil @ A )
% 3.01/1.60          = ( map @ B @ A @ F @ Xs ) )
% 3.01/1.60        = ( Xs
% 3.01/1.60          = ( nil @ B ) ) ) ).
% 3.01/1.60  
% 3.01/1.60  thf(fact_252_length__map,axiom,
% 3.01/1.60      ! [A: $tType,B: $tType,F: B > A,Xs: list @ B] :
% 3.01/1.60        ( ( size_size @ ( list @ A ) @ ( map @ B @ A @ F @ Xs ) )
% 3.01/1.60        = ( size_size @ ( list @ B ) @ Xs ) ) ).
% 3.01/1.60  
% 3.01/1.60  thf(fact_253_map__append,axiom,
% 3.01/1.60      ! [A: $tType,B: $tType,F: B > A,Xs: list @ B,Ys: list @ B] :
% 3.01/1.60        ( ( map @ B @ A @ F @ ( append @ B @ Xs @ Ys ) )
% 3.01/1.60        = ( append @ A @ ( map @ B @ A @ F @ Xs ) @ ( map @ B @ A @ F @ Ys ) ) ) ).
% 3.01/1.60  
% 3.01/1.60  thf(tcon_Polynomial_Opoly___Rings_Ocomm__semiring__0,axiom,
% 3.01/1.60      ! [A6: $tType] :
% 3.01/1.60        ( ( comm_semiring_0 @ A6 )
% 3.01/1.60       => ( comm_semiring_0 @ ( poly @ A6 ) ) ) ).
% 3.01/1.60  
% 3.01/1.60  thf(tcon_Polynomial_Opoly___Rings_Olinordered__idom,axiom,
% 3.01/1.60      ! [A6: $tType] :
% 3.01/1.60        ( ( linordered_idom @ A6 )
% 3.01/1.60       => ( linordered_idom @ ( poly @ A6 ) ) ) ).
% 3.01/1.60  
% 3.01/1.60  thf(tcon_Polynomial_Opoly___Groups_Oab__group__add,axiom,
% 3.01/1.60      ! [A6: $tType] :
% 3.01/1.60        ( ( ab_group_add @ A6 )
% 3.01/1.60       => ( ab_group_add @ ( poly @ A6 ) ) ) ).
% 3.01/1.60  
% 3.01/1.60  thf(tcon_Real_Oreal___Rings_Ocomm__semiring__0_1,axiom,
% 3.01/1.60      comm_semiring_0 @ real ).
% 3.01/1.60  
% 3.01/1.60  thf(tcon_Real_Oreal___Rings_Olinordered__idom_2,axiom,
% 3.01/1.60      linordered_idom @ real ).
% 3.01/1.60  
% 3.01/1.60  thf(tcon_Real_Oreal___Groups_Oab__group__add_3,axiom,
% 3.01/1.60      ab_group_add @ real ).
% 3.01/1.60  
% 3.01/1.60  thf(tcon_Nat_Onat___Rings_Ocomm__semiring__0_4,axiom,
% 3.01/1.60      comm_semiring_0 @ nat ).
% 3.01/1.60  
% 3.01/1.60  thf(tcon_fun___Orderings_Oord,axiom,
% 3.01/1.60      ! [A6: $tType,A7: $tType] :
% 3.01/1.60        ( ( ord @ A7 )
% 3.01/1.60       => ( ord @ ( A6 > A7 ) ) ) ).
% 3.01/1.60  
% 3.01/1.60  thf(tcon_Nat_Onat___Rings_Osemiring__no__zero__divisors,axiom,
% 3.01/1.60      semiri1193490041visors @ nat ).
% 3.01/1.60  
% 3.01/1.60  thf(tcon_Nat_Onat___Groups_Ocomm__monoid__add,axiom,
% 3.01/1.60      comm_monoid_add @ nat ).
% 3.01/1.60  
% 3.01/1.60  thf(tcon_Nat_Onat___Rings_Ocomm__semiring__1,axiom,
% 3.01/1.60      comm_semiring_1 @ nat ).
% 3.01/1.60  
% 3.01/1.60  thf(tcon_Nat_Onat___Orderings_Olinorder,axiom,
% 3.01/1.60      linorder @ nat ).
% 3.01/1.60  
% 3.01/1.60  thf(tcon_Nat_Onat___Orderings_Oord_5,axiom,
% 3.01/1.60      ord @ nat ).
% 3.01/1.60  
% 3.01/1.60  thf(tcon_Nat_Onat___Nat_Osize,axiom,
% 3.01/1.60      size @ nat ).
% 3.01/1.60  
% 3.01/1.60  thf(tcon_Set_Oset___Orderings_Oord_6,axiom,
% 3.01/1.60      ! [A6: $tType] : ( ord @ ( set @ A6 ) ) ).
% 3.01/1.60  
% 3.01/1.60  thf(tcon_HOL_Obool___Orderings_Olinorder_7,axiom,
% 3.01/1.60      linorder @ $o ).
% 3.01/1.60  
% 3.01/1.60  thf(tcon_HOL_Obool___Orderings_Oord_8,axiom,
% 3.01/1.60      ord @ $o ).
% 3.01/1.60  
% 3.01/1.60  thf(tcon_List_Olist___Nat_Osize_9,axiom,
% 3.01/1.60      ! [A6: $tType] : ( size @ ( list @ A6 ) ) ).
% 3.01/1.60  
% 3.01/1.60  thf(tcon_Real_Oreal___Rings_Osemiring__no__zero__divisors_10,axiom,
% 3.01/1.60      semiri1193490041visors @ real ).
% 3.01/1.60  
% 3.01/1.60  thf(tcon_Real_Oreal___Groups_Ocomm__monoid__add_11,axiom,
% 3.01/1.60      comm_monoid_add @ real ).
% 3.01/1.60  
% 3.01/1.60  thf(tcon_Real_Oreal___Rings_Ocomm__semiring__1_12,axiom,
% 3.01/1.60      comm_semiring_1 @ real ).
% 3.01/1.60  
% 3.01/1.60  thf(tcon_Real_Oreal___Orderings_Olinorder_13,axiom,
% 3.01/1.60      linorder @ real ).
% 3.01/1.60  
% 3.01/1.60  thf(tcon_Real_Oreal___Groups_Ogroup__add,axiom,
% 3.01/1.60      group_add @ real ).
% 3.01/1.60  
% 3.01/1.60  thf(tcon_Real_Oreal___Orderings_Oord_14,axiom,
% 3.01/1.60      ord @ real ).
% 3.01/1.60  
% 3.01/1.60  thf(tcon_Polynomial_Opoly___Rings_Osemiring__no__zero__divisors_15,axiom,
% 3.01/1.60      ! [A6: $tType] :
% 3.01/1.60        ( ( ( comm_semiring_0 @ A6 )
% 3.01/1.60          & ( semiri1193490041visors @ A6 ) )
% 3.01/1.60       => ( semiri1193490041visors @ ( poly @ A6 ) ) ) ).
% 3.01/1.60  
% 3.01/1.60  thf(tcon_Polynomial_Opoly___Groups_Ocomm__monoid__add_16,axiom,
% 3.01/1.60      ! [A6: $tType] :
% 3.01/1.60        ( ( comm_monoid_add @ A6 )
% 3.01/1.60       => ( comm_monoid_add @ ( poly @ A6 ) ) ) ).
% 3.01/1.60  
% 3.01/1.60  thf(tcon_Polynomial_Opoly___Rings_Ocomm__semiring__1_17,axiom,
% 3.01/1.60      ! [A6: $tType] :
% 3.01/1.60        ( ( comm_semiring_1 @ A6 )
% 3.01/1.60       => ( comm_semiring_1 @ ( poly @ A6 ) ) ) ).
% 3.01/1.60  
% 3.01/1.60  thf(tcon_Polynomial_Opoly___Orderings_Olinorder_18,axiom,
% 3.01/1.60      ! [A6: $tType] :
% 3.01/1.60        ( ( linordered_idom @ A6 )
% 3.01/1.60       => ( linorder @ ( poly @ A6 ) ) ) ).
% 3.01/1.60  
% 3.01/1.60  thf(tcon_Polynomial_Opoly___Groups_Ogroup__add_19,axiom,
% 3.01/1.60      ! [A6: $tType] :
% 3.01/1.60        ( ( ab_group_add @ A6 )
% 3.01/1.60       => ( group_add @ ( poly @ A6 ) ) ) ).
% 3.01/1.60  
% 3.01/1.60  thf(tcon_Polynomial_Opoly___Orderings_Oord_20,axiom,
% 3.01/1.60      ! [A6: $tType] :
% 3.01/1.60        ( ( linordered_idom @ A6 )
% 3.01/1.60       => ( ord @ ( poly @ A6 ) ) ) ).
% 3.01/1.60  
% 3.01/1.60  thf(tcon_Product__Type_Oprod___Nat_Osize_21,axiom,
% 3.01/1.60      ! [A6: $tType,A7: $tType] : ( size @ ( product_prod @ A6 @ A7 ) ) ).
% 3.01/1.60  
% 3.01/1.60  thf(conj_0,conjecture,
% 3.01/1.60      ~ ( sturm_2060350619rm_seq @ ( nil @ ( poly @ real ) ) ) ).
% 3.01/1.60  ------------------------
% 3.01/1.62  % (16030)lrs+1002_1:8_bd=off:fd=off:hud=10:tnu=1:i=183:si=on:rtra=on_0 on DTF2THF_15763 for (2999ds/183Mi)
% 3.01/1.62  % (16036)lrs+1004_1:128_cond=on:e2e=on:sp=weighted_frequency:i=18:si=on:rtra=on_0 on DTF2THF_15763 for (2999ds/18Mi)
% 3.01/1.62  % (16031)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_15763 for (2999ds/4Mi)
% 3.01/1.62  % (16032)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_15763 for (2999ds/27Mi)
% 3.01/1.62  % (16031)Instruction limit reached!
% 3.01/1.62  % (16031)------------------------------
% 3.01/1.62  % (16031)Version: Vampire 4.8 (commit 7b44b1c2f on 2025-07-15 09:50:17 +0100)
% 3.01/1.62  % (16031)Termination reason: Unknown
% 3.01/1.62  % (16031)Termination phase: shuffling
% 3.01/1.62  
% 3.01/1.62  % (16031)Memory used [KB]: 1535
% 3.01/1.62  % (16031)Time elapsed: 0.003 s
% 3.01/1.62  % (16031)Instructions burned: 6 (million)
% 3.01/1.62  % (16031)------------------------------
% 3.01/1.62  % (16031)------------------------------
% 3.01/1.63  % (16036)Instruction limit reached!
% 3.01/1.63  % (16036)------------------------------
% 3.01/1.63  % (16036)Version: Vampire 4.8 (commit 7b44b1c2f on 2025-07-15 09:50:17 +0100)
% 3.01/1.63  % (16036)Termination reason: Unknown
% 3.01/1.63  % (16036)Termination phase: shuffling
% 3.01/1.63  
% 3.01/1.63  % (16036)Memory used [KB]: 1791
% 3.01/1.63  % (16036)Time elapsed: 0.008 s
% 3.01/1.63  % (16036)Instructions burned: 20 (million)
% 3.01/1.63  % (16036)------------------------------
% 3.01/1.63  % (16036)------------------------------
% 3.01/1.63  % (16034)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_15763 for (2999ds/2Mi)
% 3.01/1.63  % (16033)lrs+10_1:1_au=on:inj=on:i=2:si=on:rtra=on_0 on DTF2THF_15763 for (2999ds/2Mi)
% 3.01/1.63  % (16035)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_15763 for (2999ds/275Mi)
% 3.01/1.63  % (16033)Instruction limit reached!
% 3.01/1.63  % (16033)------------------------------
% 3.01/1.63  % (16033)Version: Vampire 4.8 (commit 7b44b1c2f on 2025-07-15 09:50:17 +0100)
% 3.01/1.63  % (16033)Termination reason: Unknown
% 3.01/1.63  % (16033)Termination phase: shuffling
% 3.01/1.63  
% 3.01/1.63  % (16033)Memory used [KB]: 1407
% 3.01/1.63  % (16033)Time elapsed: 0.004 s
% 3.01/1.63  % (16033)Instructions burned: 3 (million)
% 3.01/1.63  % (16033)------------------------------
% 3.01/1.63  % (16033)------------------------------
% 3.01/1.63  % (16034)Instruction limit reached!
% 3.01/1.63  % (16034)------------------------------
% 3.01/1.63  % (16034)Version: Vampire 4.8 (commit 7b44b1c2f on 2025-07-15 09:50:17 +0100)
% 3.01/1.63  % (16034)Termination reason: Unknown
% 3.01/1.63  % (16034)Termination phase: shuffling
% 3.01/1.63  
% 3.01/1.63  % (16034)Memory used [KB]: 1407
% 3.01/1.63  % (16034)Time elapsed: 0.004 s
% 3.01/1.63  % (16034)Instructions burned: 3 (million)
% 3.01/1.63  % (16034)------------------------------
% 3.01/1.63  % (16034)------------------------------
% 3.01/1.63  % (16032)Instruction limit reached!
% 3.01/1.63  % (16032)------------------------------
% 3.01/1.63  % (16032)Version: Vampire 4.8 (commit 7b44b1c2f on 2025-07-15 09:50:17 +0100)
% 3.01/1.63  % (16032)Termination reason: Unknown
% 3.01/1.63  % (16032)Termination phase: shuffling
% 3.01/1.63  
% 3.01/1.63  % (16032)Memory used [KB]: 1918
% 3.01/1.63  % (16032)Time elapsed: 0.013 s
% 3.01/1.63  % (16032)Instructions burned: 27 (million)
% 3.01/1.63  % (16032)------------------------------
% 3.01/1.63  % (16032)------------------------------
% 3.01/1.63  % (16037)lrs+10_1:1_bet=on:cnfonf=off:fd=off:hud=5:inj=on:i=3:si=on:rtra=on_0 on DTF2THF_15763 for (2999ds/3Mi)
% 3.01/1.63  % (16037)Instruction limit reached!
% 3.01/1.63  % (16037)------------------------------
% 3.01/1.63  % (16037)Version: Vampire 4.8 (commit 7b44b1c2f on 2025-07-15 09:50:17 +0100)
% 3.01/1.63  % (16037)Termination reason: Unknown
% 3.01/1.63  % (16037)Termination phase: shuffling
% 3.01/1.63  
% 3.01/1.63  % (16037)Memory used [KB]: 1407
% 3.01/1.63  % (16037)Time elapsed: 0.003 s
% 3.01/1.63  % (16037)Instructions burned: 4 (million)
% 3.01/1.63  % (16037)------------------------------
% 3.01/1.63  % (16037)------------------------------
% 3.01/1.64  % (16038)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_15763 for (2999ds/37Mi)
% 3.01/1.64  % (16041)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_15763 for (2999ds/1041Mi)
% 3.01/1.64  % (16042)lrs+10_1:1_av=off:chr=on:plsq=on:slsq=on:i=7:si=on:rtra=on_0 on DTF2THF_15763 for (2999ds/7Mi)
% 3.01/1.65  % (16042)Instruction limit reached!
% 3.01/1.65  % (16042)------------------------------
% 3.01/1.65  % (16042)Version: Vampire 4.8 (commit 7b44b1c2f on 2025-07-15 09:50:17 +0100)
% 3.01/1.65  % (16042)Termination reason: Unknown
% 3.01/1.65  % (16042)Termination phase: shuffling
% 3.01/1.65  
% 3.01/1.65  % (16042)Memory used [KB]: 1535
% 3.01/1.65  % (16042)Time elapsed: 0.004 s
% 3.01/1.65  % (16042)Instructions burned: 7 (million)
% 3.01/1.65  % (16042)------------------------------
% 3.01/1.65  % (16042)------------------------------
% 3.01/1.65  % (16038)Instruction limit reached!
% 3.01/1.65  % (16038)------------------------------
% 3.01/1.65  % (16038)Version: Vampire 4.8 (commit 7b44b1c2f on 2025-07-15 09:50:17 +0100)
% 3.01/1.65  % (16038)Termination reason: Unknown
% 3.01/1.65  % (16038)Termination phase: shuffling
% 3.01/1.65  
% 3.01/1.65  % (16038)Memory used [KB]: 2174
% 3.01/1.65  % (16038)Time elapsed: 0.012 s
% 3.01/1.65  % (16038)Instructions burned: 39 (million)
% 3.01/1.65  % (16038)------------------------------
% 3.01/1.65  % (16038)------------------------------
% 3.01/1.65  % (16039)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_15763 for (2999ds/15Mi)
% 3.01/1.65  % (16040)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_15763 for (2999ds/3Mi)
% 3.01/1.65  % (16040)Instruction limit reached!
% 3.01/1.65  % (16040)------------------------------
% 3.01/1.65  % (16040)Version: Vampire 4.8 (commit 7b44b1c2f on 2025-07-15 09:50:17 +0100)
% 3.01/1.65  % (16040)Termination reason: Unknown
% 3.01/1.65  % (16040)Termination phase: shuffling
% 3.01/1.65  
% 3.01/1.65  % (16040)Memory used [KB]: 1407
% 3.01/1.65  % (16040)Time elapsed: 0.004 s
% 3.01/1.65  % (16040)Instructions burned: 3 (million)
% 3.01/1.65  % (16040)------------------------------
% 3.01/1.65  % (16040)------------------------------
% 3.01/1.66  % (16043)lrs+10_1:1_acc=on:amm=sco:cs=on:tgt=full:i=16:si=on:rtra=on_0 on DTF2THF_15763 for (2999ds/16Mi)
% 3.01/1.66  % (16044)lrs+21_1:1_au=on:cnfonf=off:fd=preordered:fe=off:fsr=off:hud=11:inj=on:kws=precedence:s2pl=no:sp=weighted_frequency:tgt=full:i=3:si=on:rtra=on_0 on DTF2THF_15763 for (2999ds/3Mi)
% 3.01/1.66  % (16035)First to succeed.
% 3.01/1.66  % (16039)Instruction limit reached!
% 3.01/1.66  % (16039)------------------------------
% 3.01/1.66  % (16039)Version: Vampire 4.8 (commit 7b44b1c2f on 2025-07-15 09:50:17 +0100)
% 3.01/1.66  % (16039)Termination reason: Unknown
% 3.01/1.66  % (16039)Termination phase: shuffling
% 3.01/1.66  
% 3.01/1.66  % (16039)Memory used [KB]: 1663
% 3.01/1.66  % (16039)Time elapsed: 0.012 s
% 3.01/1.66  % (16039)Instructions burned: 16 (million)
% 3.01/1.66  % (16039)------------------------------
% 3.01/1.66  % (16039)------------------------------
% 3.01/1.66  % (16044)Instruction limit reached!
% 3.01/1.66  % (16044)------------------------------
% 3.01/1.66  % (16044)Version: Vampire 4.8 (commit 7b44b1c2f on 2025-07-15 09:50:17 +0100)
% 3.01/1.66  % (16044)Termination reason: Unknown
% 3.01/1.66  % (16044)Termination phase: shuffling
% 3.01/1.66  
% 3.01/1.66  % (16044)Memory used [KB]: 1407
% 3.01/1.66  % (16044)Time elapsed: 0.002 s
% 3.01/1.66  % (16044)Instructions burned: 3 (million)
% 3.01/1.66  % (16044)------------------------------
% 3.01/1.66  % (16044)------------------------------
% 3.01/1.66  % (16035)Refutation found. Thanks to Tanya!
% 3.01/1.66  % SZS status Theorem for DTF2THF_15763
% 3.01/1.66  % SZS output start Proof for DTF2THF_15763
% 3.01/1.66  thf(type_def_5, type, list: ($tType) > $tType).
% 3.01/1.66  thf(type_def_6, type, set: ($tType) > $tType).
% 3.01/1.66  thf(type_def_8, type, nat: $tType).
% 3.01/1.66  thf(type_def_9, type, product_prod: ($tType * $tType) > $tType).
% 3.01/1.66  thf(type_def_10, type, option: ($tType) > $tType).
% 3.01/1.66  thf(type_def_11, type, real: $tType).
% 3.01/1.66  thf(type_def_12, type, poly: ($tType) > $tType).
% 3.01/1.66  thf(func_def_0, type, product_prod: ($tType * $tType) > $tType).
% 3.01/1.66  thf(func_def_1, type, poly: ($tType) > $tType).
% 3.01/1.66  thf(func_def_2, type, option: ($tType) > $tType).
% 3.01/1.66  thf(func_def_3, type, real: $tType).
% 3.01/1.66  thf(func_def_4, type, list: ($tType) > $tType).
% 3.01/1.66  thf(func_def_5, type, set: ($tType) > $tType).
% 3.01/1.66  thf(func_def_6, type, nat: $tType).
% 3.01/1.66  thf(func_def_7, type, ab_group_add: !>[X0: $tType]:($o)).
% 3.01/1.66  thf(func_def_8, type, linordered_idom: !>[X0: $tType]:($o)).
% 3.01/1.66  thf(func_def_9, type, comm_semiring_0: !>[X0: $tType]:($o)).
% 3.01/1.66  thf(func_def_10, type, type: !>[X0: $tType]:($o)).
% 3.01/1.66  thf(func_def_11, type, size: !>[X0: $tType]:($o)).
% 3.01/1.66  thf(func_def_12, type, ord: !>[X0: $tType]:($o)).
% 3.01/1.66  thf(func_def_13, type, group_add: !>[X0: $tType]:($o)).
% 3.01/1.66  thf(func_def_14, type, linorder: !>[X0: $tType]:($o)).
% 3.01/1.66  thf(func_def_15, type, comm_semiring_1: !>[X0: $tType]:($o)).
% 3.01/1.66  thf(func_def_16, type, comm_monoid_add: !>[X0: $tType]:($o)).
% 3.01/1.66  thf(func_def_17, type, semiri1193490041visors: !>[X0: $tType]:($o)).
% 3.01/1.66  thf(func_def_18, type, bNF_Greatest_Shift: !>[X0: $tType]:(set @ list @ X0 > X0 > set @ list @ X0)).
% 3.01/1.66  thf(func_def_19, type, bNF_Greatest_Succ: !>[X0: $tType]:(set @ list @ X0 > list @ X0 > set @ X0)).
% 3.01/1.66  thf(func_def_20, type, bNF_Greatest_shift: !>[X0: $tType, X1: $tType]:((list @ X0 > X1) > X0 > list @ X0 > X1)).
% 3.01/1.66  thf(func_def_21, type, times_times: !>[X0: $tType]:(X0 > X0 > X0)).
% 3.01/1.66  thf(func_def_22, type, append: !>[X0: $tType]:(list @ X0 > list @ X0 > list @ X0)).
% 3.01/1.66  thf(func_def_23, type, arg_min_list: !>[X0: $tType, X1: $tType]:((X0 > X1) > list @ X0 > X0)).
% 3.01/1.66  thf(func_def_24, type, bind: !>[X0: $tType, X1: $tType]:(list @ X0 > (X0 > list @ X1) > list @ X1)).
% 3.01/1.66  thf(func_def_25, type, butlast: !>[X0: $tType]:(list @ X0 > list @ X0)).
% 3.01/1.66  thf(func_def_26, type, concat: !>[X0: $tType]:(list @ list @ X0 > list @ X0)).
% 3.01/1.66  thf(func_def_27, type, enumerate: !>[X0: $tType]:(nat > list @ X0 > list @ product_prod @ nat @ X0)).
% 3.01/1.66  thf(func_def_28, type, foldr: !>[X0: $tType, X1: $tType]:((X0 > X1 > X1) > list @ X0 > X1 > X1)).
% 3.01/1.66  thf(func_def_29, type, gen_length: !>[X0: $tType]:(nat > list @ X0 > nat)).
% 3.01/1.66  thf(func_def_30, type, insert: !>[X0: $tType]:(X0 > list @ X0 > list @ X0)).
% 3.01/1.66  thf(func_def_31, type, last: !>[X0: $tType]:(list @ X0 > X0)).
% 3.01/1.66  thf(func_def_32, type, lenlex: !>[X0: $tType]:(set @ product_prod @ X0 @ X0 > set @ product_prod @ list @ X0 @ list @ X0)).
% 3.01/1.66  thf(func_def_33, type, lex: !>[X0: $tType]:(set @ product_prod @ X0 @ X0 > set @ product_prod @ list @ X0 @ list @ X0)).
% 3.01/1.66  thf(func_def_34, type, lexord: !>[X0: $tType]:(set @ product_prod @ X0 @ X0 > set @ product_prod @ list @ X0 @ list @ X0)).
% 3.01/1.66  thf(func_def_35, type, cons: !>[X0: $tType]:(X0 > list @ X0 > list @ X0)).
% 3.01/1.66  thf(func_def_36, type, nil: !>[X0: $tType]:(list @ X0)).
% 3.01/1.66  thf(func_def_37, type, map: !>[X0: $tType, X1: $tType]:((X0 > X1) > list @ X0 > list @ X1)).
% 3.01/1.66  thf(func_def_38, type, rec_list: !>[X0: $tType, X1: $tType]:(X0 > (X1 > list @ X1 > X0 > X0) > list @ X1 > X0)).
% 3.01/1.66  thf(func_def_39, type, list_ex: !>[X0: $tType]:((X0 > $o) > list @ X0 > $o)).
% 3.01/1.66  thf(func_def_40, type, list_ex1: !>[X0: $tType]:((X0 > $o) > list @ X0 > $o)).
% 3.01/1.66  thf(func_def_41, type, listrel: !>[X0: $tType, X1: $tType]:(set @ product_prod @ X0 @ X1 > set @ product_prod @ list @ X0 @ list @ X1)).
% 3.01/1.66  thf(func_def_42, type, listrel1: !>[X0: $tType]:(set @ product_prod @ X0 @ X0 > set @ product_prod @ list @ X0 @ list @ X0)).
% 3.01/1.66  thf(func_def_43, type, listrelp: !>[X0: $tType, X1: $tType]:((X0 > X1 > $o) > list @ X0 > list @ X1 > $o)).
% 3.01/1.66  thf(func_def_44, type, map_filter: !>[X0: $tType, X1: $tType]:((X0 > option @ X1) > list @ X0 > list @ X1)).
% 3.01/1.66  thf(func_def_45, type, map_tailrec_rev: !>[X0: $tType, X1: $tType]:((X0 > X1) > list @ X0 > list @ X1 > list @ X1)).
% 3.01/1.66  thf(func_def_46, type, map_tailrec_rev_rel: !>[X0: $tType, X1: $tType]:(product_prod @ (X0 > X1) @ product_prod @ list @ X0 @ list @ X1 > product_prod @ (X0 > X1) @ product_prod @ list @ X0 @ list @ X1 > $o)).
% 3.01/1.66  thf(func_def_47, type, maps: !>[X0: $tType, X1: $tType]:((X0 > list @ X1) > list @ X0 > list @ X1)).
% 3.01/1.66  thf(func_def_48, type, member: !>[X0: $tType]:(list @ X0 > X0 > $o)).
% 3.01/1.66  thf(func_def_49, type, null: !>[X0: $tType]:(list @ X0 > $o)).
% 3.01/1.66  thf(func_def_50, type, lexordp_eq: !>[X0: $tType]:((X0 > X0 > $o) > list @ X0 > list @ X0 > $o)).
% 3.01/1.66  thf(func_def_51, type, ord_lexordp_eq: !>[X0: $tType]:(list @ X0 > list @ X0 > $o)).
% 3.01/1.66  thf(func_def_52, type, product: !>[X0: $tType, X1: $tType]:(list @ X0 > list @ X1 > list @ product_prod @ X0 @ X1)).
% 3.01/1.66  thf(func_def_53, type, product_lists: !>[X0: $tType]:(list @ list @ X0 > list @ list @ X0)).
% 3.01/1.66  thf(func_def_54, type, rotate: !>[X0: $tType]:(nat > list @ X0 > list @ X0)).
% 3.01/1.66  thf(func_def_55, type, rotate1: !>[X0: $tType]:(list @ X0 > list @ X0)).
% 3.01/1.66  thf(func_def_56, type, splice: !>[X0: $tType]:(list @ X0 > list @ X0 > list @ X0)).
% 3.01/1.66  thf(func_def_57, type, subseqs: !>[X0: $tType]:(list @ X0 > list @ list @ X0)).
% 3.01/1.66  thf(func_def_58, type, zip: !>[X0: $tType, X1: $tType]:(list @ X0 > list @ X1 > list @ product_prod @ X0 @ X1)).
% 3.01/1.66  thf(func_def_59, type, linorder_part: !>[X0: $tType, X1: $tType]:((X0 > X1) > X1 > list @ X0 > product_prod @ list @ X0 @ product_prod @ list @ X0 @ list @ X0)).
% 3.01/1.66  thf(func_def_60, type, suc: nat > nat).
% 3.01/1.66  thf(func_def_61, type, size_size: !>[X0: $tType]:(X0 > nat)).
% 3.01/1.66  thf(func_def_62, type, ord_less: !>[X0: $tType]:(X0 > X0 > $o)).
% 3.01/1.66  thf(func_def_63, type, plus_coeffs: !>[X0: $tType]:(list @ X0 > list @ X0 > list @ X0)).
% 3.01/1.66  thf(func_def_64, type, product_Pair: !>[X0: $tType, X1: $tType]:(X0 > X1 > product_prod @ X0 @ X1)).
% 3.01/1.66  thf(func_def_65, type, irrefl: !>[X0: $tType]:(set @ product_prod @ X0 @ X0 > $o)).
% 3.01/1.66  thf(func_def_66, type, collect: !>[X0: $tType]:((X0 > $o) > set @ X0)).
% 3.01/1.66  thf(func_def_67, type, sturm_2060350619rm_seq: list @ poly @ real > $o).
% 3.01/1.66  thf(func_def_68, type, sturm_801371416rm_seq: list @ poly @ real > poly @ real > $o).
% 3.01/1.66  thf(func_def_69, type, sturm_1585582267axioms: list @ poly @ real > poly @ real > $o).
% 3.01/1.66  thf(func_def_70, type, accp: !>[X0: $tType]:((X0 > X0 > $o) > X0 > $o)).
% 3.01/1.66  thf(func_def_71, type, member2: !>[X0: $tType]:(X0 > set @ X0 > $o)).
% 3.01/1.66  thf(func_def_88, type, sK0: !>[X0: $tType, X1: $tType]:((X1 > X0) > (X1 > X0) > X1)).
% 3.01/1.66  thf(func_def_89, type, sK1: poly @ real > list @ poly @ real > poly @ real).
% 3.01/1.66  thf(func_def_90, type, sK2: poly @ real > list @ poly @ real > list @ poly @ real).
% 3.01/1.66  thf(f691,plain,(
% 3.01/1.66    $false),
% 3.01/1.66    inference(subsumption_resolution,[status(thm)],[f687,f690])).
% 3.01/1.66  thf(f690,plain,(
% 3.01/1.66    ((sturm_2060350619rm_seq @ nil @ poly @ real) != $true)),
% 3.01/1.66    inference(equality_resolution,[status(thm)],[f686])).
% 3.01/1.66  thf(f686,plain,(
% 3.01/1.66    ( ! [X0 : list @ poly @ real] : ((nil @ poly @ real != X0) | ((sturm_2060350619rm_seq @ X0) != $true)) )),
% 3.01/1.66    inference(cnf_transformation,[status(thm)],[f678])).
% 3.01/1.66  thf(f678,plain,(
% 3.01/1.66    ! [X0 : list @ poly @ real] : ((nil @ poly @ real != X0) | ((sturm_2060350619rm_seq @ X0) != $true))),
% 3.01/1.66    inference(ennf_transformation,[status(thm)],[f666])).
% 3.01/1.66  thf(f666,plain,(
% 3.01/1.66    ! [X0 : list @ poly @ real] : (((sturm_2060350619rm_seq @ X0) = $true) => (nil @ poly @ real != X0))),
% 3.01/1.66    inference(fool_elimination,[status(thm)],[f665])).
% 3.01/1.66  thf(f665,plain,(
% 3.01/1.66    ! [X0 : list @ poly @ real] : ((sturm_2060350619rm_seq @ X0) => (nil @ poly @ real != X0))),
% 3.01/1.66    inference(rectify,[status(thm)],[f1])).
% 3.01/1.66  thf(f1,axiom,(
% 3.01/1.66    ! [X4 : list @ poly @ real] : ((sturm_2060350619rm_seq @ X4) => (nil @ poly @ real != X4))),
% 3.01/1.66    file('/export/starexec/sandbox2/tmp/tmp.TZkB8SVW3z/DTF2THF_15763.p',fact_0_quasi__sturm__seq_Ops__not__Nil)).
% 3.01/1.66  thf(f687,plain,(
% 3.01/1.66    ((sturm_2060350619rm_seq @ nil @ poly @ real) = $true)),
% 3.01/1.66    inference(cnf_transformation,[status(thm)],[f675])).
% 3.01/1.66  thf(f675,plain,(
% 3.01/1.66    ((sturm_2060350619rm_seq @ nil @ poly @ real) = $true)),
% 3.01/1.66    inference(flattening,[status(thm)],[f654])).
% 3.01/1.66  thf(f654,plain,(
% 3.01/1.66    ~~((sturm_2060350619rm_seq @ nil @ poly @ real) = $true)),
% 3.01/1.66    inference(fool_elimination,[status(thm)],[f653])).
% 3.01/1.66  thf(f653,plain,(
% 3.01/1.66    ~~(sturm_2060350619rm_seq @ nil @ poly @ real)),
% 3.01/1.66    inference(rectify,[status(thm)],[f287])).
% 3.01/1.66  thf(f287,negated_conjecture,(
% 3.01/1.66    ~~(sturm_2060350619rm_seq @ nil @ poly @ real)),
% 3.01/1.66    inference(negated_conjecture,[status(cth)],[f286])).
% 3.01/1.66  thf(f286,conjecture,(
% 3.01/1.66    ~(sturm_2060350619rm_seq @ nil @ poly @ real)),
% 3.01/1.66    file('/export/starexec/sandbox2/tmp/tmp.TZkB8SVW3z/DTF2THF_15763.p',conj_0)).
% 3.01/1.66  % SZS output end Proof for DTF2THF_15763
% 3.01/1.66  % (16035)------------------------------
% 3.01/1.66  % (16035)Version: Vampire 4.8 (commit 7b44b1c2f on 2025-07-15 09:50:17 +0100)
% 3.01/1.66  % (16035)Termination reason: Refutation
% 3.01/1.66  
% 3.01/1.66  % (16035)Memory used [KB]: 6396
% 3.01/1.66  % (16035)Time elapsed: 0.031 s
% 3.01/1.66  % (16035)Instructions burned: 47 (million)
% 3.01/1.66  % (16035)------------------------------
% 3.01/1.66  % (16035)------------------------------
% 3.01/1.66  % (16029)Success in time 0.055 s
%------------------------------------------------------------------------------