↑ Up

DT2H2X---1.9.5.THM-Ref.s

View TPTP
Problem
Process solution in
SystemOnTSTP
Download .tgz
%------------------------------------------------------------------------------
% File     : DT2H2X---1.9.5
% Problem  : ITP142^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 : n018.cluster.edu
% Model    : x86_64 x86_64
% CPU      : Intel(R) Xeon(R) CPU E5-2620 v4 2.10GHz
% Memory   : 8042.1875MB
% OS       : Linux 3.10.0-693.el7.x86_64
% CPULimit : 300s
% WCLimit  : 300s
% DateTime : Wed Feb 25 08:55:53 AM UTC 2026

% Result   : Theorem 3.28s 1.84s
% Output   : Refutation 3.28s
% Verified : 
% SZS Type : -

% Comments : 
%------------------------------------------------------------------------------
%----WARNING: Could not form TPTP format derivation
%------------------------------------------------------------------------------
%----ORIGINAL SYSTEM OUTPUT
% 0.00/0.12  % Problem  : ITP142^2 : TPTP v9.2.1. Released v7.5.0.
% 0.12/0.13  % Command  : /export/starexec/sandbox2/solver/bin/run_DT2H2X /export/starexec/sandbox2/benchmark/theBenchmark.p 300
% 0.17/0.34  % Computer : n018.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:27:31 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.20/0.46  ---- Original DTF file ---
% 0.20/0.47  thf(spec,logic,$$dhol).
% 0.20/0.47  %------------------------------------------------------------------------------
% 0.20/0.47  % File     : ITP142^2 : TPTP v9.2.1. Released v7.5.0.
% 0.20/0.47  % Domain   : Interactive Theorem Proving
% 0.20/0.47  % Problem  : Sledgehammer PHoareTotal problem prob_304__3261994_1
% 0.20/0.47  % Version  : Especial.
% 0.20/0.47  % English  :
% 0.20/0.47  
% 0.20/0.47  % Refs     : [BH+15] Blanchette et al. (2015), Mining the Archive of Formal
% 0.20/0.47  %          : [Des21] Desharnais (2021), Email to Geoff Sutcliffe
% 0.20/0.47  % Source   : [Des21]
% 0.20/0.47  % Names    : PHoareTotal/prob_304__3261994_1 [Des21]
% 0.20/0.47  
% 0.20/0.47  % Status   : Theorem
% 0.20/0.47  % Rating   : 0.00 v7.5.0
% 0.20/0.47  % Syntax   : Number of formulae    :  319 ( 123 unt;  54 typ;   0 def)
% 0.20/0.47  %            Number of atoms       :  656 ( 363 equ;   0 cnn)
% 0.20/0.47  %            Maximal formula atoms :    7 (   2 avg)
% 0.20/0.47  %            Number of connectives : 7177 ( 151   ~;  21   |;  67   &;6586   @)
% 0.20/0.47  %                                         (   0 <=>; 352  =>;   0  <=;   0 <~>)
% 0.20/0.47  %            Maximal formula depth :   28 (  10 avg)
% 0.20/0.47  %            Number of types       :    4 (   3 usr)
% 0.20/0.47  %            Number of type conns  :  247 ( 247   >;   0   *;   0   +;   0  <<)
% 0.20/0.47  %            Number of symbols     :   52 (  51 usr;   6 con; 0-5 aty)
% 0.20/0.47  %            Number of variables   : 1364 (   9   ^;1267   !;  46   ?;1364   :)
% 0.20/0.47  %                                         (  42  !>;   0  ?*;   0  @-;   0  @+)
% 0.20/0.47  % SPC      : TH1_THM_EQU_NAR
% 0.20/0.47  
% 0.20/0.47  % Comments : This file was generated by Sledgehammer 2021-02-23 16:18:28.966
% 0.20/0.47  %------------------------------------------------------------------------------
% 0.20/0.47  % Could-be-implicit typings (6)
% 0.20/0.47  thf(ty_t_Product__Type_Oprod,type,
% 0.20/0.47      product_prod: $tType > $tType > $tType ).
% 0.20/0.47  
% 0.20/0.47  thf(ty_t_PLang_Ostate,type,
% 0.20/0.47      state: $tType ).
% 0.20/0.47  
% 0.20/0.47  thf(ty_t_PLang_Ocom,type,
% 0.20/0.47      com: $tType ).
% 0.20/0.47  
% 0.20/0.47  thf(ty_t_List_Olist,type,
% 0.20/0.47      list: $tType > $tType ).
% 0.20/0.47  
% 0.20/0.47  thf(ty_t_Set_Oset,type,
% 0.20/0.47      set: $tType > $tType ).
% 0.20/0.47  
% 0.20/0.47  thf(ty_t_Nat_Onat,type,
% 0.20/0.47      nat: $tType ).
% 0.20/0.47  
% 0.20/0.47  % Explicit typings (48)
% 0.20/0.47  thf(sy_cl_HOL_Otype,type,
% 0.20/0.47      type: 
% 0.20/0.47        !>[A: $tType] : $o ).
% 0.20/0.47  
% 0.20/0.47  thf(sy_cl_Orderings_Oord,type,
% 0.20/0.47      ord: 
% 0.20/0.47        !>[A: $tType] : $o ).
% 0.20/0.47  
% 0.20/0.47  thf(sy_cl_Orderings_Olinorder,type,
% 0.20/0.47      linorder: 
% 0.20/0.47        !>[A: $tType] : $o ).
% 0.20/0.47  
% 0.20/0.47  thf(sy_c_List_Oappend,type,
% 0.20/0.47      append: 
% 0.20/0.47        !>[A: $tType] : ( ( list @ A ) > ( list @ A ) > ( list @ A ) ) ).
% 0.20/0.47  
% 0.20/0.47  thf(sy_c_List_Obind,type,
% 0.20/0.47      bind: 
% 0.20/0.47        !>[A: $tType,B: $tType] : ( ( list @ A ) > ( A > ( list @ B ) ) > ( list @ B ) ) ).
% 0.20/0.47  
% 0.20/0.47  thf(sy_c_List_Obutlast,type,
% 0.20/0.47      butlast: 
% 0.20/0.47        !>[A: $tType] : ( ( list @ A ) > ( list @ A ) ) ).
% 0.20/0.47  
% 0.20/0.47  thf(sy_c_List_Oconcat,type,
% 0.20/0.47      concat: 
% 0.20/0.47        !>[A: $tType] : ( ( list @ ( list @ A ) ) > ( list @ A ) ) ).
% 0.20/0.47  
% 0.20/0.47  thf(sy_c_List_Oinsert,type,
% 0.20/0.47      insert: 
% 0.20/0.47        !>[A: $tType] : ( A > ( list @ A ) > ( list @ A ) ) ).
% 0.20/0.47  
% 0.20/0.47  thf(sy_c_List_Olast,type,
% 0.20/0.47      last: 
% 0.20/0.47        !>[A: $tType] : ( ( list @ A ) > A ) ).
% 0.20/0.47  
% 0.20/0.47  thf(sy_c_List_Olenlex,type,
% 0.20/0.47      lenlex: 
% 0.20/0.47        !>[A: $tType] : ( ( set @ ( product_prod @ A @ A ) ) > ( set @ ( product_prod @ ( list @ A ) @ ( list @ A ) ) ) ) ).
% 0.20/0.47  
% 0.20/0.47  thf(sy_c_List_Olex,type,
% 0.20/0.47      lex: 
% 0.20/0.47        !>[A: $tType] : ( ( set @ ( product_prod @ A @ A ) ) > ( set @ ( product_prod @ ( list @ A ) @ ( list @ A ) ) ) ) ).
% 0.20/0.47  
% 0.20/0.47  thf(sy_c_List_Olexord,type,
% 0.20/0.47      lexord: 
% 0.20/0.47        !>[A: $tType] : ( ( set @ ( product_prod @ A @ A ) ) > ( set @ ( product_prod @ ( list @ A ) @ ( list @ A ) ) ) ) ).
% 0.20/0.47  
% 0.20/0.47  thf(sy_c_List_Olist_OCons,type,
% 0.20/0.47      cons: 
% 0.20/0.47        !>[A: $tType] : ( A > ( list @ A ) > ( list @ A ) ) ).
% 0.20/0.47  
% 0.20/0.47  thf(sy_c_List_Olist_ONil,type,
% 0.20/0.47      nil: 
% 0.20/0.47        !>[A: $tType] : ( list @ A ) ).
% 0.20/0.47  
% 0.20/0.47  thf(sy_c_List_Olist__ex1,type,
% 0.20/0.47      list_ex1: 
% 0.20/0.47        !>[A: $tType] : ( ( A > $o ) > ( list @ A ) > $o ) ).
% 0.20/0.47  
% 0.20/0.47  thf(sy_c_List_Olist__update,type,
% 0.20/0.47      list_update: 
% 0.20/0.47        !>[A: $tType] : ( ( list @ A ) > nat > A > ( list @ A ) ) ).
% 0.20/0.47  
% 0.20/0.47  thf(sy_c_List_Olistrel,type,
% 0.20/0.47      listrel: 
% 0.20/0.47        !>[A: $tType,B: $tType] : ( ( set @ ( product_prod @ A @ B ) ) > ( set @ ( product_prod @ ( list @ A ) @ ( list @ B ) ) ) ) ).
% 0.20/0.47  
% 0.20/0.47  thf(sy_c_List_Olistrel1,type,
% 0.20/0.47      listrel1: 
% 0.20/0.47        !>[A: $tType] : ( ( set @ ( product_prod @ A @ A ) ) > ( set @ ( product_prod @ ( list @ A ) @ ( list @ A ) ) ) ) ).
% 0.20/0.47  
% 0.20/0.47  thf(sy_c_List_Omaps,type,
% 0.20/0.47      maps: 
% 0.20/0.47        !>[A: $tType,B: $tType] : ( ( A > ( list @ B ) ) > ( list @ A ) > ( list @ B ) ) ).
% 0.20/0.47  
% 0.20/0.47  thf(sy_c_List_Omeasures,type,
% 0.20/0.47      measures: 
% 0.20/0.47        !>[A: $tType] : ( ( list @ ( A > nat ) ) > ( set @ ( product_prod @ A @ A ) ) ) ).
% 0.20/0.47  
% 0.20/0.47  thf(sy_c_List_Onth,type,
% 0.20/0.47      nth: 
% 0.20/0.47        !>[A: $tType] : ( ( list @ A ) > nat > A ) ).
% 0.20/0.47  
% 0.20/0.47  thf(sy_c_List_Oproduct__lists,type,
% 0.20/0.47      product_lists: 
% 0.20/0.47        !>[A: $tType] : ( ( list @ ( list @ A ) ) > ( list @ ( list @ A ) ) ) ).
% 0.20/0.47  
% 0.20/0.47  thf(sy_c_List_Orotate1,type,
% 0.20/0.47      rotate1: 
% 0.20/0.47        !>[A: $tType] : ( ( list @ A ) > ( list @ A ) ) ).
% 0.20/0.47  
% 0.20/0.47  thf(sy_c_List_Osubseqs,type,
% 0.20/0.47      subseqs: 
% 0.20/0.47        !>[A: $tType] : ( ( list @ A ) > ( list @ ( list @ A ) ) ) ).
% 0.20/0.47  
% 0.20/0.47  thf(sy_c_List_Otake,type,
% 0.20/0.47      take: 
% 0.20/0.47        !>[A: $tType] : ( nat > ( list @ A ) > ( list @ A ) ) ).
% 0.20/0.47  
% 0.20/0.47  thf(sy_c_Nat_Osize__class_Osize,type,
% 0.20/0.47      size_size: 
% 0.20/0.47        !>[A: $tType] : ( A > nat ) ).
% 0.20/0.47  
% 0.20/0.47  thf(sy_c_Orderings_Oord__class_Oless,type,
% 0.20/0.47      ord_less: 
% 0.20/0.47        !>[A: $tType] : ( A > A > $o ) ).
% 0.20/0.47  
% 0.20/0.47  thf(sy_c_PHoareTotal__Mirabelle__nfzgdgthbw_Oexec1,type,
% 0.20/0.47      pHoare1053570893_exec1: set @ ( product_prod @ ( product_prod @ ( list @ com ) @ state ) @ ( product_prod @ ( list @ com ) @ state ) ) ).
% 0.20/0.47  
% 0.20/0.47  thf(sy_c_PHoareTotal__Mirabelle__nfzgdgthbw_Oexecs,type,
% 0.20/0.47      pHoare1053570959_execs: state > ( list @ com ) > state > $o ).
% 0.20/0.47  
% 0.20/0.47  thf(sy_c_PHoareTotal__Mirabelle__nfzgdgthbw_Otermis,type,
% 0.20/0.47      pHoare1335526537termis: ( list @ com ) > state > $o ).
% 0.20/0.47  
% 0.20/0.47  thf(sy_c_PLang_Ocom_OCond,type,
% 0.20/0.47      cond: ( state > $o ) > com > com > com ).
% 0.20/0.47  
% 0.20/0.47  thf(sy_c_PLang_Ocom_ODo,type,
% 0.20/0.47      do: ( state > ( set @ state ) ) > com ).
% 0.20/0.47  
% 0.20/0.47  thf(sy_c_PLang_Ocom_OSemi,type,
% 0.20/0.47      semi: com > com > com ).
% 0.20/0.47  
% 0.20/0.47  thf(sy_c_PLang_Ocom_OWhile,type,
% 0.20/0.47      while: ( state > $o ) > com > com ).
% 0.20/0.47  
% 0.20/0.47  thf(sy_c_PLang_Oexec,type,
% 0.20/0.47      exec: state > com > state > $o ).
% 0.20/0.47  
% 0.20/0.47  thf(sy_c_PTermi_Otermi,type,
% 0.20/0.47      termi: com > state > $o ).
% 0.20/0.47  
% 0.20/0.47  thf(sy_c_Product__Type_OPair,type,
% 0.20/0.47      product_Pair: 
% 0.20/0.47        !>[A: $tType,B: $tType] : ( A > B > ( product_prod @ A @ B ) ) ).
% 0.20/0.47  
% 0.20/0.47  thf(sy_c_Product__Type_Ointernal__case__prod,type,
% 0.20/0.47      produc2004651681e_prod: 
% 0.20/0.47        !>[A: $tType,B: $tType,C: $tType] : ( ( A > B > C ) > ( product_prod @ A @ B ) > C ) ).
% 0.20/0.47  
% 0.20/0.47  thf(sy_c_Product__Type_Oold_Oprod_Orec__prod,type,
% 0.20/0.47      product_rec_prod: 
% 0.20/0.47        !>[A: $tType,B: $tType,T: $tType] : ( ( A > B > T ) > ( product_prod @ A @ B ) > T ) ).
% 0.20/0.47  
% 0.20/0.47  thf(sy_c_Relation_Oirrefl,type,
% 0.20/0.47      irrefl: 
% 0.20/0.47        !>[A: $tType] : ( ( set @ ( product_prod @ A @ A ) ) > $o ) ).
% 0.20/0.47  
% 0.20/0.47  thf(sy_c_Set_OCollect,type,
% 0.20/0.47      collect: 
% 0.20/0.47        !>[A: $tType] : ( ( A > $o ) > ( set @ A ) ) ).
% 0.20/0.47  
% 0.20/0.47  thf(sy_c_Transitive__Closure_Ortrancl,type,
% 0.20/0.47      transitive_rtrancl: 
% 0.20/0.47        !>[A: $tType] : ( ( set @ ( product_prod @ A @ A ) ) > ( set @ ( product_prod @ A @ A ) ) ) ).
% 0.20/0.47  
% 0.20/0.47  thf(sy_c_member,type,
% 0.20/0.47      member: 
% 0.20/0.47        !>[A: $tType] : ( A > ( set @ A ) > $o ) ).
% 0.20/0.47  
% 0.20/0.47  thf(sy_v_c,type,
% 0.20/0.47      c: com ).
% 0.20/0.47  
% 0.20/0.47  thf(sy_v_c_H,type,
% 0.20/0.47      c2: com ).
% 0.20/0.47  
% 0.20/0.47  thf(sy_v_cs_H,type,
% 0.20/0.47      cs: list @ com ).
% 0.20/0.47  
% 0.20/0.47  thf(sy_v_s,type,
% 0.20/0.47      s: state ).
% 0.20/0.47  
% 0.20/0.47  thf(sy_v_s_H,type,
% 0.20/0.47      s2: state ).
% 0.20/0.47  
% 0.20/0.47  % Relevant facts (255)
% 0.20/0.47  thf(fact_0_exec1E_I1_J,axiom,
% 0.20/0.47      ! [S: state,Cs: list @ com,S2: state] :
% 0.20/0.47        ~ ( member @ ( product_prod @ ( product_prod @ ( list @ com ) @ state ) @ ( product_prod @ ( list @ com ) @ state ) ) @ ( product_Pair @ ( product_prod @ ( list @ com ) @ state ) @ ( product_prod @ ( list @ com ) @ state ) @ ( product_Pair @ ( list @ com ) @ state @ ( nil @ com ) @ S ) @ ( product_Pair @ ( list @ com ) @ state @ Cs @ S2 ) ) @ pHoare1053570893_exec1 ) ).
% 0.31/0.47  
% 0.31/0.47  % exec1E(1)
% 0.31/0.47  thf(fact_1_termis_Osimps_I2_J,axiom,
% 0.31/0.47      ! [C2: com,Cs2: list @ com,S: state] :
% 0.31/0.47        ( ( pHoare1335526537termis @ ( cons @ com @ C2 @ Cs2 ) @ S )
% 0.31/0.47        = ( ( termi @ C2 @ S )
% 0.31/0.47          & ! [T2: state] :
% 0.31/0.47              ( ( exec @ S @ C2 @ T2 )
% 0.31/0.47             => ( pHoare1335526537termis @ Cs2 @ T2 ) ) ) ) ).
% 0.31/0.47  
% 0.31/0.47  % termis.simps(2)
% 0.31/0.47  thf(fact_2_termis_Osimps_I1_J,axiom,
% 0.31/0.47      ! [S: state] : ( pHoare1335526537termis @ ( nil @ com ) @ S ) ).
% 0.31/0.47  
% 0.31/0.47  % termis.simps(1)
% 0.31/0.47  thf(fact_3_exec__impl__execs,axiom,
% 0.31/0.47      ! [S: state,C2: com,S2: state,Cs2: list @ com] :
% 0.31/0.47        ( ( exec @ S @ C2 @ S2 )
% 0.31/0.47       => ( member @ ( product_prod @ ( product_prod @ ( list @ com ) @ state ) @ ( product_prod @ ( list @ com ) @ state ) ) @ ( product_Pair @ ( product_prod @ ( list @ com ) @ state ) @ ( product_prod @ ( list @ com ) @ state ) @ ( product_Pair @ ( list @ com ) @ state @ ( cons @ com @ C2 @ Cs2 ) @ S ) @ ( product_Pair @ ( list @ com ) @ state @ Cs2 @ S2 ) ) @ ( transitive_rtrancl @ ( product_prod @ ( list @ com ) @ state ) @ pHoare1053570893_exec1 ) ) ) ).
% 0.31/0.47  
% 0.31/0.47  % exec_impl_execs
% 0.31/0.47  thf(fact_4_exec1s__impl__exec,axiom,
% 0.31/0.47      ! [C2: com,S: state,T3: state] :
% 0.31/0.47        ( ( member @ ( product_prod @ ( product_prod @ ( list @ com ) @ state ) @ ( product_prod @ ( list @ com ) @ state ) ) @ ( product_Pair @ ( product_prod @ ( list @ com ) @ state ) @ ( product_prod @ ( list @ com ) @ state ) @ ( product_Pair @ ( list @ com ) @ state @ ( cons @ com @ C2 @ ( nil @ com ) ) @ S ) @ ( product_Pair @ ( list @ com ) @ state @ ( nil @ com ) @ T3 ) ) @ ( transitive_rtrancl @ ( product_prod @ ( list @ com ) @ state ) @ pHoare1053570893_exec1 ) )
% 0.31/0.47       => ( exec @ S @ C2 @ T3 ) ) ).
% 0.31/0.47  
% 0.31/0.47  % exec1s_impl_exec
% 0.31/0.47  thf(fact_5_exec1__pres__termis,axiom,
% 0.31/0.47      ! [Cs2: list @ com,S: state,Cs: list @ com,S2: state] :
% 0.31/0.47        ( ( member @ ( product_prod @ ( product_prod @ ( list @ com ) @ state ) @ ( product_prod @ ( list @ com ) @ state ) ) @ ( product_Pair @ ( product_prod @ ( list @ com ) @ state ) @ ( product_prod @ ( list @ com ) @ state ) @ ( product_Pair @ ( list @ com ) @ state @ Cs2 @ S ) @ ( product_Pair @ ( list @ com ) @ state @ Cs @ S2 ) ) @ pHoare1053570893_exec1 )
% 0.31/0.47       => ( ( pHoare1335526537termis @ Cs2 @ S )
% 0.31/0.47         => ( pHoare1335526537termis @ Cs @ S2 ) ) ) ).
% 0.31/0.47  
% 0.31/0.47  % exec1_pres_termis
% 0.31/0.47  thf(fact_6_execs__pres__termis,axiom,
% 0.31/0.47      ! [Cs2: list @ com,S: state,Cs: list @ com,S2: state] :
% 0.31/0.47        ( ( member @ ( product_prod @ ( product_prod @ ( list @ com ) @ state ) @ ( product_prod @ ( list @ com ) @ state ) ) @ ( product_Pair @ ( product_prod @ ( list @ com ) @ state ) @ ( product_prod @ ( list @ com ) @ state ) @ ( product_Pair @ ( list @ com ) @ state @ Cs2 @ S ) @ ( product_Pair @ ( list @ com ) @ state @ Cs @ S2 ) ) @ ( transitive_rtrancl @ ( product_prod @ ( list @ com ) @ state ) @ pHoare1053570893_exec1 ) )
% 0.31/0.47       => ( ( pHoare1335526537termis @ Cs2 @ S )
% 0.31/0.47         => ( pHoare1335526537termis @ Cs @ S2 ) ) ) ).
% 0.31/0.47  
% 0.31/0.47  % execs_pres_termis
% 0.31/0.47  thf(fact_7_rtrancl__induct2,axiom,
% 0.31/0.47      ! [A: $tType,B: $tType,Ax: A,Ay: B,Bx: A,By: B,R: set @ ( product_prod @ ( product_prod @ A @ B ) @ ( product_prod @ A @ B ) ),P: A > B > $o] :
% 0.31/0.47        ( ( member @ ( product_prod @ ( product_prod @ A @ B ) @ ( product_prod @ A @ B ) ) @ ( product_Pair @ ( product_prod @ A @ B ) @ ( product_prod @ A @ B ) @ ( product_Pair @ A @ B @ Ax @ Ay ) @ ( product_Pair @ A @ B @ Bx @ By ) ) @ ( transitive_rtrancl @ ( product_prod @ A @ B ) @ R ) )
% 0.31/0.47       => ( ( P @ Ax @ Ay )
% 0.31/0.47         => ( ! [A2: A,B2: B,Aa: A,Ba: B] :
% 0.31/0.47                ( ( member @ ( product_prod @ ( product_prod @ A @ B ) @ ( product_prod @ A @ B ) ) @ ( product_Pair @ ( product_prod @ A @ B ) @ ( product_prod @ A @ B ) @ ( product_Pair @ A @ B @ Ax @ Ay ) @ ( product_Pair @ A @ B @ A2 @ B2 ) ) @ ( transitive_rtrancl @ ( product_prod @ A @ B ) @ R ) )
% 0.31/0.47               => ( ( member @ ( product_prod @ ( product_prod @ A @ B ) @ ( product_prod @ A @ B ) ) @ ( product_Pair @ ( product_prod @ A @ B ) @ ( product_prod @ A @ B ) @ ( product_Pair @ A @ B @ A2 @ B2 ) @ ( product_Pair @ A @ B @ Aa @ Ba ) ) @ R )
% 0.31/0.47                 => ( ( P @ A2 @ B2 )
% 0.31/0.47                   => ( P @ Aa @ Ba ) ) ) )
% 0.31/0.47           => ( P @ Bx @ By ) ) ) ) ).
% 0.31/0.47  
% 0.31/0.47  % rtrancl_induct2
% 0.31/0.47  thf(fact_8_converse__rtranclE2,axiom,
% 0.31/0.47      ! [B: $tType,A: $tType,Xa: A,Xb: B,Za: A,Zb: B,R: set @ ( product_prod @ ( product_prod @ A @ B ) @ ( product_prod @ A @ B ) )] :
% 0.31/0.47        ( ( member @ ( product_prod @ ( product_prod @ A @ B ) @ ( product_prod @ A @ B ) ) @ ( product_Pair @ ( product_prod @ A @ B ) @ ( product_prod @ A @ B ) @ ( product_Pair @ A @ B @ Xa @ Xb ) @ ( product_Pair @ A @ B @ Za @ Zb ) ) @ ( transitive_rtrancl @ ( product_prod @ A @ B ) @ R ) )
% 0.31/0.47       => ( ( ( product_Pair @ A @ B @ Xa @ Xb )
% 0.31/0.47           != ( product_Pair @ A @ B @ Za @ Zb ) )
% 0.31/0.47         => ~ ! [A2: A,B2: B] :
% 0.31/0.47                ( ( member @ ( product_prod @ ( product_prod @ A @ B ) @ ( product_prod @ A @ B ) ) @ ( product_Pair @ ( product_prod @ A @ B ) @ ( product_prod @ A @ B ) @ ( product_Pair @ A @ B @ Xa @ Xb ) @ ( product_Pair @ A @ B @ A2 @ B2 ) ) @ R )
% 0.31/0.47               => ~ ( member @ ( product_prod @ ( product_prod @ A @ B ) @ ( product_prod @ A @ B ) ) @ ( product_Pair @ ( product_prod @ A @ B ) @ ( product_prod @ A @ B ) @ ( product_Pair @ A @ B @ A2 @ B2 ) @ ( product_Pair @ A @ B @ Za @ Zb ) ) @ ( transitive_rtrancl @ ( product_prod @ A @ B ) @ R ) ) ) ) ) ).
% 0.31/0.47  
% 0.31/0.47  % converse_rtranclE2
% 0.31/0.47  thf(fact_9_converse__rtrancl__induct2,axiom,
% 0.31/0.47      ! [A: $tType,B: $tType,Ax: A,Ay: B,Bx: A,By: B,R: set @ ( product_prod @ ( product_prod @ A @ B ) @ ( product_prod @ A @ B ) ),P: A > B > $o] :
% 0.31/0.47        ( ( member @ ( product_prod @ ( product_prod @ A @ B ) @ ( product_prod @ A @ B ) ) @ ( product_Pair @ ( product_prod @ A @ B ) @ ( product_prod @ A @ B ) @ ( product_Pair @ A @ B @ Ax @ Ay ) @ ( product_Pair @ A @ B @ Bx @ By ) ) @ ( transitive_rtrancl @ ( product_prod @ A @ B ) @ R ) )
% 0.31/0.47       => ( ( P @ Bx @ By )
% 0.31/0.47         => ( ! [A2: A,B2: B,Aa: A,Ba: B] :
% 0.31/0.47                ( ( member @ ( product_prod @ ( product_prod @ A @ B ) @ ( product_prod @ A @ B ) ) @ ( product_Pair @ ( product_prod @ A @ B ) @ ( product_prod @ A @ B ) @ ( product_Pair @ A @ B @ A2 @ B2 ) @ ( product_Pair @ A @ B @ Aa @ Ba ) ) @ R )
% 0.31/0.47               => ( ( member @ ( product_prod @ ( product_prod @ A @ B ) @ ( product_prod @ A @ B ) ) @ ( product_Pair @ ( product_prod @ A @ B ) @ ( product_prod @ A @ B ) @ ( product_Pair @ A @ B @ Aa @ Ba ) @ ( product_Pair @ A @ B @ Bx @ By ) ) @ ( transitive_rtrancl @ ( product_prod @ A @ B ) @ R ) )
% 0.31/0.47                 => ( ( P @ Aa @ Ba )
% 0.31/0.47                   => ( P @ A2 @ B2 ) ) ) )
% 0.31/0.47           => ( P @ Ax @ Ay ) ) ) ) ).
% 0.31/0.47  
% 0.31/0.47  % converse_rtrancl_induct2
% 0.31/0.47  thf(fact_10_exec1s__impl__execs,axiom,
% 0.31/0.47      ! [Cs2: list @ com,S: state,T3: state] :
% 0.31/0.47        ( ( member @ ( product_prod @ ( product_prod @ ( list @ com ) @ state ) @ ( product_prod @ ( list @ com ) @ state ) ) @ ( product_Pair @ ( product_prod @ ( list @ com ) @ state ) @ ( product_prod @ ( list @ com ) @ state ) @ ( product_Pair @ ( list @ com ) @ state @ Cs2 @ S ) @ ( product_Pair @ ( list @ com ) @ state @ ( nil @ com ) @ T3 ) ) @ ( transitive_rtrancl @ ( product_prod @ ( list @ com ) @ state ) @ pHoare1053570893_exec1 ) )
% 0.31/0.47       => ( pHoare1053570959_execs @ S @ Cs2 @ T3 ) ) ).
% 0.31/0.47  
% 0.31/0.47  % exec1s_impl_execs
% 0.31/0.47  thf(fact_11_rtrancl__idemp,axiom,
% 0.31/0.47      ! [A: $tType,R: set @ ( product_prod @ A @ A )] :
% 0.31/0.47        ( ( transitive_rtrancl @ A @ ( transitive_rtrancl @ A @ R ) )
% 0.31/0.47        = ( transitive_rtrancl @ A @ R ) ) ).
% 0.31/0.47  
% 0.31/0.47  % rtrancl_idemp
% 0.31/0.47  thf(fact_12_r__into__rtrancl,axiom,
% 0.31/0.47      ! [A: $tType,P2: product_prod @ A @ A,R: set @ ( product_prod @ A @ A )] :
% 0.31/0.47        ( ( member @ ( product_prod @ A @ A ) @ P2 @ R )
% 0.31/0.47       => ( member @ ( product_prod @ A @ A ) @ P2 @ ( transitive_rtrancl @ A @ R ) ) ) ).
% 0.31/0.47  
% 0.31/0.47  % r_into_rtrancl
% 0.31/0.47  thf(fact_13_list_Oinject,axiom,
% 0.31/0.47      ! [A: $tType,X21: A,X22: list @ A,Y21: A,Y22: list @ A] :
% 0.31/0.47        ( ( ( cons @ A @ X21 @ X22 )
% 0.31/0.47          = ( cons @ A @ Y21 @ Y22 ) )
% 0.31/0.47        = ( ( X21 = Y21 )
% 0.31/0.47          & ( X22 = Y22 ) ) ) ).
% 0.31/0.47  
% 0.31/0.47  % list.inject
% 0.31/0.47  thf(fact_14_prod_Oinject,axiom,
% 0.31/0.47      ! [A: $tType,B: $tType,X1: A,X2: B,Y1: A,Y2: B] :
% 0.31/0.47        ( ( ( product_Pair @ A @ B @ X1 @ X2 )
% 0.31/0.47          = ( product_Pair @ A @ B @ Y1 @ Y2 ) )
% 0.31/0.47        = ( ( X1 = Y1 )
% 0.31/0.47          & ( X2 = Y2 ) ) ) ).
% 0.31/0.47  
% 0.31/0.47  % prod.inject
% 0.31/0.47  thf(fact_15_old_Oprod_Oinject,axiom,
% 0.31/0.47      ! [A: $tType,B: $tType,A3: A,B3: B,A4: A,B4: B] :
% 0.31/0.47        ( ( ( product_Pair @ A @ B @ A3 @ B3 )
% 0.31/0.47          = ( product_Pair @ A @ B @ A4 @ B4 ) )
% 0.31/0.47        = ( ( A3 = A4 )
% 0.31/0.47          & ( B3 = B4 ) ) ) ).
% 0.31/0.47  
% 0.31/0.47  % old.prod.inject
% 0.31/0.47  thf(fact_16_prod__cases3,axiom,
% 0.31/0.47      ! [A: $tType,B: $tType,C: $tType,Y: product_prod @ A @ ( product_prod @ B @ C )] :
% 0.31/0.47        ~ ! [A2: A,B2: B,C3: C] :
% 0.31/0.47            ( Y
% 0.31/0.47           != ( product_Pair @ A @ ( product_prod @ B @ C ) @ A2 @ ( product_Pair @ B @ C @ B2 @ C3 ) ) ) ).
% 0.31/0.47  
% 0.31/0.47  % prod_cases3
% 0.31/0.47  thf(fact_17_prod__cases4,axiom,
% 0.31/0.47      ! [A: $tType,B: $tType,C: $tType,D: $tType,Y: product_prod @ A @ ( product_prod @ B @ ( product_prod @ C @ D ) )] :
% 0.31/0.47        ~ ! [A2: A,B2: B,C3: C,D2: D] :
% 0.31/0.47            ( Y
% 0.31/0.47           != ( product_Pair @ A @ ( product_prod @ B @ ( product_prod @ C @ D ) ) @ A2 @ ( product_Pair @ B @ ( product_prod @ C @ D ) @ B2 @ ( product_Pair @ C @ D @ C3 @ D2 ) ) ) ) ).
% 0.31/0.47  
% 0.31/0.47  % prod_cases4
% 0.31/0.47  thf(fact_18_prod__cases5,axiom,
% 0.31/0.47      ! [A: $tType,B: $tType,C: $tType,D: $tType,E: $tType,Y: product_prod @ A @ ( product_prod @ B @ ( product_prod @ C @ ( product_prod @ D @ E ) ) )] :
% 0.31/0.47        ~ ! [A2: A,B2: B,C3: C,D2: D,E2: E] :
% 0.31/0.47            ( Y
% 0.31/0.47           != ( product_Pair @ A @ ( product_prod @ B @ ( product_prod @ C @ ( product_prod @ D @ E ) ) ) @ A2 @ ( product_Pair @ B @ ( product_prod @ C @ ( product_prod @ D @ E ) ) @ B2 @ ( product_Pair @ C @ ( product_prod @ D @ E ) @ C3 @ ( product_Pair @ D @ E @ D2 @ E2 ) ) ) ) ) ).
% 0.31/0.47  
% 0.31/0.47  % prod_cases5
% 0.31/0.47  thf(fact_19_map__tailrec__rev_Ocases,axiom,
% 0.31/0.47      ! [A: $tType,B: $tType,X: product_prod @ ( A > B ) @ ( product_prod @ ( list @ A ) @ ( list @ B ) )] :
% 0.31/0.47        ( ! [F: A > B,Bs: list @ B] :
% 0.31/0.47            ( X
% 0.31/0.47           != ( product_Pair @ ( A > B ) @ ( product_prod @ ( list @ A ) @ ( list @ B ) ) @ F @ ( product_Pair @ ( list @ A ) @ ( list @ B ) @ ( nil @ A ) @ Bs ) ) )
% 0.31/0.47       => ~ ! [F: A > B,A2: A,As: list @ A,Bs: list @ B] :
% 0.31/0.47              ( X
% 0.31/0.47             != ( product_Pair @ ( A > B ) @ ( product_prod @ ( list @ A ) @ ( list @ B ) ) @ F @ ( product_Pair @ ( list @ A ) @ ( list @ B ) @ ( cons @ A @ A2 @ As ) @ Bs ) ) ) ) ).
% 0.31/0.47  
% 0.31/0.47  % map_tailrec_rev.cases
% 0.31/0.47  thf(fact_20_arg__min__list_Ocases,axiom,
% 0.31/0.47      ! [B: $tType,A: $tType] :
% 0.31/0.47        ( ( linorder @ B )
% 0.31/0.47       => ! [X: product_prod @ ( A > B ) @ ( list @ A )] :
% 0.31/0.47            ( ! [F: A > B,X3: A] :
% 0.31/0.47                ( X
% 0.31/0.47               != ( product_Pair @ ( A > B ) @ ( list @ A ) @ F @ ( cons @ A @ X3 @ ( nil @ A ) ) ) )
% 0.31/0.47           => ( ! [F: A > B,X3: A,Y3: A,Zs: list @ A] :
% 0.31/0.47                  ( X
% 0.31/0.47                 != ( product_Pair @ ( A > B ) @ ( list @ A ) @ F @ ( cons @ A @ X3 @ ( cons @ A @ Y3 @ Zs ) ) ) )
% 0.31/0.47             => ~ ! [A2: A > B] :
% 0.31/0.47                    ( X
% 0.31/0.47                   != ( product_Pair @ ( A > B ) @ ( list @ A ) @ A2 @ ( nil @ A ) ) ) ) ) ) ).
% 0.31/0.47  
% 0.31/0.47  % arg_min_list.cases
% 0.31/0.47  thf(fact_21_successively_Ocases,axiom,
% 0.31/0.47      ! [A: $tType,X: product_prod @ ( A > A > $o ) @ ( list @ A )] :
% 0.31/0.47        ( ! [P3: A > A > $o] :
% 0.31/0.47            ( X
% 0.31/0.47           != ( product_Pair @ ( A > A > $o ) @ ( list @ A ) @ P3 @ ( nil @ A ) ) )
% 0.31/0.47       => ( ! [P3: A > A > $o,X3: A] :
% 0.31/0.47              ( X
% 0.31/0.47             != ( product_Pair @ ( A > A > $o ) @ ( list @ A ) @ P3 @ ( cons @ A @ X3 @ ( nil @ A ) ) ) )
% 0.31/0.47         => ~ ! [P3: A > A > $o,X3: A,Y3: A,Xs: list @ A] :
% 0.31/0.47                ( X
% 0.31/0.47               != ( product_Pair @ ( A > A > $o ) @ ( list @ A ) @ P3 @ ( cons @ A @ X3 @ ( cons @ A @ Y3 @ Xs ) ) ) ) ) ) ).
% 0.31/0.47  
% 0.31/0.47  % successively.cases
% 0.31/0.47  thf(fact_22_sorted__wrt_Ocases,axiom,
% 0.31/0.47      ! [A: $tType,X: product_prod @ ( A > A > $o ) @ ( list @ A )] :
% 0.31/0.47        ( ! [P3: A > A > $o] :
% 0.31/0.47            ( X
% 0.31/0.47           != ( product_Pair @ ( A > A > $o ) @ ( list @ A ) @ P3 @ ( nil @ A ) ) )
% 0.31/0.47       => ~ ! [P3: A > A > $o,X3: A,Ys: list @ A] :
% 0.31/0.47              ( X
% 0.31/0.47             != ( product_Pair @ ( A > A > $o ) @ ( list @ A ) @ P3 @ ( cons @ A @ X3 @ Ys ) ) ) ) ).
% 0.31/0.47  
% 0.31/0.47  % sorted_wrt.cases
% 0.31/0.47  thf(fact_23_shuffles_Ocases,axiom,
% 0.31/0.47      ! [A: $tType,X: product_prod @ ( list @ A ) @ ( list @ A )] :
% 0.31/0.47        ( ! [Ys: list @ A] :
% 0.31/0.47            ( X
% 0.31/0.47           != ( product_Pair @ ( list @ A ) @ ( list @ A ) @ ( nil @ A ) @ Ys ) )
% 0.31/0.47       => ( ! [Xs: list @ A] :
% 0.31/0.47              ( X
% 0.31/0.47             != ( product_Pair @ ( list @ A ) @ ( list @ A ) @ Xs @ ( nil @ A ) ) )
% 0.31/0.47         => ~ ! [X3: A,Xs: list @ A,Y3: A,Ys: list @ A] :
% 0.31/0.47                ( X
% 0.31/0.47               != ( product_Pair @ ( list @ A ) @ ( list @ A ) @ ( cons @ A @ X3 @ Xs ) @ ( cons @ A @ Y3 @ Ys ) ) ) ) ) ).
% 0.31/0.47  
% 0.31/0.47  % shuffles.cases
% 0.31/0.47  thf(fact_24_splice_Ocases,axiom,
% 0.31/0.47      ! [A: $tType,X: product_prod @ ( list @ A ) @ ( list @ A )] :
% 0.31/0.47        ( ! [Ys: list @ A] :
% 0.31/0.47            ( X
% 0.31/0.47           != ( product_Pair @ ( list @ A ) @ ( list @ A ) @ ( nil @ A ) @ Ys ) )
% 0.31/0.47       => ~ ! [X3: A,Xs: list @ A,Ys: list @ A] :
% 0.31/0.47              ( X
% 0.31/0.47             != ( product_Pair @ ( list @ A ) @ ( list @ A ) @ ( cons @ A @ X3 @ Xs ) @ Ys ) ) ) ).
% 0.31/0.47  
% 0.31/0.47  % splice.cases
% 0.31/0.47  thf(fact_25_execs_Ointros_I1_J,axiom,
% 0.31/0.47      ! [S: state] : ( pHoare1053570959_execs @ S @ ( nil @ com ) @ S ) ).
% 0.31/0.47  
% 0.31/0.47  % execs.intros(1)
% 0.31/0.47  thf(fact_26_old_Oprod_Oinducts,axiom,
% 0.31/0.47      ! [B: $tType,A: $tType,P: ( product_prod @ A @ B ) > $o,Prod: product_prod @ A @ B] :
% 0.31/0.47        ( ! [A2: A,B2: B] : ( P @ ( product_Pair @ A @ B @ A2 @ B2 ) )
% 0.31/0.47       => ( P @ Prod ) ) ).
% 0.31/0.47  
% 0.31/0.47  % old.prod.inducts
% 0.31/0.47  thf(fact_27_old_Oprod_Oexhaust,axiom,
% 0.31/0.47      ! [A: $tType,B: $tType,Y: product_prod @ A @ B] :
% 0.31/0.47        ~ ! [A2: A,B2: B] :
% 0.31/0.47            ( Y
% 0.31/0.47           != ( product_Pair @ A @ B @ A2 @ B2 ) ) ).
% 0.31/0.47  
% 0.31/0.47  % old.prod.exhaust
% 0.31/0.47  thf(fact_28_Pair__inject,axiom,
% 0.31/0.47      ! [A: $tType,B: $tType,A3: A,B3: B,A4: A,B4: B] :
% 0.31/0.47        ( ( ( product_Pair @ A @ B @ A3 @ B3 )
% 0.31/0.47          = ( product_Pair @ A @ B @ A4 @ B4 ) )
% 0.31/0.47       => ~ ( ( A3 = A4 )
% 0.31/0.47           => ( B3 != B4 ) ) ) ).
% 0.31/0.47  
% 0.31/0.47  % Pair_inject
% 0.31/0.47  thf(fact_29_prod__cases,axiom,
% 0.31/0.47      ! [B: $tType,A: $tType,P: ( product_prod @ A @ B ) > $o,P2: product_prod @ A @ B] :
% 0.31/0.47        ( ! [A2: A,B2: B] : ( P @ ( product_Pair @ A @ B @ A2 @ B2 ) )
% 0.31/0.47       => ( P @ P2 ) ) ).
% 0.31/0.47  
% 0.31/0.47  % prod_cases
% 0.31/0.47  thf(fact_30_surj__pair,axiom,
% 0.31/0.47      ! [A: $tType,B: $tType,P2: product_prod @ A @ B] :
% 0.31/0.47      ? [X3: A,Y3: B] :
% 0.31/0.47        ( P2
% 0.31/0.47        = ( product_Pair @ A @ B @ X3 @ Y3 ) ) ).
% 0.31/0.47  
% 0.31/0.47  % surj_pair
% 0.31/0.47  thf(fact_31_not__Cons__self2,axiom,
% 0.31/0.47      ! [A: $tType,X: A,Xs2: list @ A] :
% 0.31/0.47        ( ( cons @ A @ X @ Xs2 )
% 0.31/0.47       != Xs2 ) ).
% 0.31/0.47  
% 0.31/0.47  % not_Cons_self2
% 0.31/0.47  thf(fact_32_execs_Ointros_I2_J,axiom,
% 0.31/0.47      ! [S: state,C2: com,T3: state,Cs2: list @ com,U: state] :
% 0.31/0.47        ( ( exec @ S @ C2 @ T3 )
% 0.31/0.47       => ( ( pHoare1053570959_execs @ T3 @ Cs2 @ U )
% 0.31/0.47         => ( pHoare1053570959_execs @ S @ ( cons @ com @ C2 @ Cs2 ) @ U ) ) ) ).
% 0.31/0.47  
% 0.31/0.47  % execs.intros(2)
% 0.31/0.47  thf(fact_33_strict__sorted_Oinduct,axiom,
% 0.31/0.47      ! [A: $tType] :
% 0.31/0.47        ( ( linorder @ A )
% 0.31/0.47       => ! [P: ( list @ A ) > $o,A0: list @ A] :
% 0.31/0.47            ( ( P @ ( nil @ A ) )
% 0.31/0.47           => ( ! [X3: A,Ys: list @ A] :
% 0.31/0.47                  ( ( P @ Ys )
% 0.31/0.47                 => ( P @ ( cons @ A @ X3 @ Ys ) ) )
% 0.31/0.47             => ( P @ A0 ) ) ) ) ).
% 0.31/0.47  
% 0.31/0.47  % strict_sorted.induct
% 0.31/0.47  thf(fact_34_strict__sorted_Ocases,axiom,
% 0.31/0.47      ! [A: $tType] :
% 0.31/0.47        ( ( linorder @ A )
% 0.31/0.47       => ! [X: list @ A] :
% 0.31/0.47            ( ( X
% 0.31/0.47             != ( nil @ A ) )
% 0.31/0.47           => ~ ! [X3: A,Ys: list @ A] :
% 0.31/0.47                  ( X
% 0.31/0.47                 != ( cons @ A @ X3 @ Ys ) ) ) ) ).
% 0.31/0.47  
% 0.31/0.47  % strict_sorted.cases
% 0.31/0.47  thf(fact_35_map__tailrec__rev_Oinduct,axiom,
% 0.31/0.47      ! [A: $tType,B: $tType,P: ( A > B ) > ( list @ A ) > ( list @ B ) > $o,A0: A > B,A1: list @ A,A22: list @ B] :
% 0.31/0.47        ( ! [F: A > B,X_1: list @ B] : ( P @ F @ ( nil @ A ) @ X_1 )
% 0.31/0.47       => ( ! [F: A > B,A2: A,As: list @ A,Bs: list @ B] :
% 0.31/0.47              ( ( P @ F @ As @ ( cons @ B @ ( F @ A2 ) @ Bs ) )
% 0.31/0.47             => ( P @ F @ ( cons @ A @ A2 @ As ) @ Bs ) )
% 0.31/0.47         => ( P @ A0 @ A1 @ A22 ) ) ) ).
% 0.31/0.47  
% 0.31/0.47  % map_tailrec_rev.induct
% 0.31/0.47  thf(fact_36_list__nonempty__induct,axiom,
% 0.31/0.47      ! [A: $tType,Xs2: list @ A,P: ( list @ A ) > $o] :
% 0.31/0.47        ( ( Xs2
% 0.31/0.47         != ( nil @ A ) )
% 0.31/0.47       => ( ! [X3: A] : ( P @ ( cons @ A @ X3 @ ( nil @ A ) ) )
% 0.31/0.47         => ( ! [X3: A,Xs: list @ A] :
% 0.31/0.47                ( ( Xs
% 0.31/0.47                 != ( nil @ A ) )
% 0.31/0.47               => ( ( P @ Xs )
% 0.31/0.47                 => ( P @ ( cons @ A @ X3 @ Xs ) ) ) )
% 0.31/0.47           => ( P @ Xs2 ) ) ) ) ).
% 0.31/0.47  
% 0.31/0.47  % list_nonempty_induct
% 0.31/0.47  thf(fact_37_successively_Oinduct,axiom,
% 0.31/0.47      ! [A: $tType,P: ( A > A > $o ) > ( list @ A ) > $o,A0: A > A > $o,A1: list @ A] :
% 0.31/0.47        ( ! [P3: A > A > $o] : ( P @ P3 @ ( nil @ A ) )
% 0.31/0.47       => ( ! [P3: A > A > $o,X3: A] : ( P @ P3 @ ( cons @ A @ X3 @ ( nil @ A ) ) )
% 0.31/0.47         => ( ! [P3: A > A > $o,X3: A,Y3: A,Xs: list @ A] :
% 0.31/0.47                ( ( P @ P3 @ ( cons @ A @ Y3 @ Xs ) )
% 0.31/0.47               => ( P @ P3 @ ( cons @ A @ X3 @ ( cons @ A @ Y3 @ Xs ) ) ) )
% 0.31/0.47           => ( P @ A0 @ A1 ) ) ) ) ).
% 0.31/0.47  
% 0.31/0.47  % successively.induct
% 0.31/0.47  thf(fact_38_arg__min__list_Oinduct,axiom,
% 0.31/0.47      ! [B: $tType,A: $tType] :
% 0.31/0.47        ( ( linorder @ B )
% 0.31/0.47       => ! [P: ( A > B ) > ( list @ A ) > $o,A0: A > B,A1: list @ A] :
% 0.31/0.47            ( ! [F: A > B,X3: A] : ( P @ F @ ( cons @ A @ X3 @ ( nil @ A ) ) )
% 0.31/0.47           => ( ! [F: A > B,X3: A,Y3: A,Zs: list @ A] :
% 0.31/0.47                  ( ( P @ F @ ( cons @ A @ Y3 @ Zs ) )
% 0.31/0.47                 => ( P @ F @ ( cons @ A @ X3 @ ( cons @ A @ Y3 @ Zs ) ) ) )
% 0.31/0.47             => ( ! [A2: A > B] : ( P @ A2 @ ( nil @ A ) )
% 0.31/0.47               => ( P @ A0 @ A1 ) ) ) ) ) ).
% 0.31/0.47  
% 0.31/0.47  % arg_min_list.induct
% 0.31/0.47  thf(fact_39_remdups__adj_Oinduct,axiom,
% 0.31/0.47      ! [A: $tType,P: ( list @ A ) > $o,A0: list @ A] :
% 0.31/0.47        ( ( P @ ( nil @ A ) )
% 0.31/0.47       => ( ! [X3: A] : ( P @ ( cons @ A @ X3 @ ( nil @ A ) ) )
% 0.31/0.47         => ( ! [X3: A,Y3: A,Xs: list @ A] :
% 0.31/0.47                ( ( ( X3 = Y3 )
% 0.31/0.47                 => ( P @ ( cons @ A @ X3 @ Xs ) ) )
% 0.31/0.47               => ( ( ( X3 != Y3 )
% 0.31/0.47                   => ( P @ ( cons @ A @ Y3 @ Xs ) ) )
% 0.31/0.47                 => ( P @ ( cons @ A @ X3 @ ( cons @ A @ Y3 @ Xs ) ) ) ) )
% 0.31/0.47           => ( P @ A0 ) ) ) ) ).
% 0.31/0.47  
% 0.31/0.47  % remdups_adj.induct
% 0.31/0.47  thf(fact_40_sorted__wrt_Oinduct,axiom,
% 0.31/0.47      ! [A: $tType,P: ( A > A > $o ) > ( list @ A ) > $o,A0: A > A > $o,A1: list @ A] :
% 0.31/0.47        ( ! [P3: A > A > $o] : ( P @ P3 @ ( nil @ A ) )
% 0.31/0.47       => ( ! [P3: A > A > $o,X3: A,Ys: list @ A] :
% 0.31/0.47              ( ( P @ P3 @ Ys )
% 0.31/0.47             => ( P @ P3 @ ( cons @ A @ X3 @ Ys ) ) )
% 0.31/0.47         => ( P @ A0 @ A1 ) ) ) ).
% 0.31/0.47  
% 0.31/0.47  % sorted_wrt.induct
% 0.31/0.47  thf(fact_41_remdups__adj_Ocases,axiom,
% 0.31/0.47      ! [A: $tType,X: list @ A] :
% 0.31/0.47        ( ( X
% 0.31/0.47         != ( nil @ A ) )
% 0.31/0.47       => ( ! [X3: A] :
% 0.31/0.47              ( X
% 0.31/0.47             != ( cons @ A @ X3 @ ( nil @ A ) ) )
% 0.31/0.47         => ~ ! [X3: A,Y3: A,Xs: list @ A] :
% 0.31/0.47                ( X
% 0.31/0.47               != ( cons @ A @ X3 @ ( cons @ A @ Y3 @ Xs ) ) ) ) ) ).
% 0.31/0.47  
% 0.31/0.47  % remdups_adj.cases
% 0.31/0.47  thf(fact_42_transpose_Ocases,axiom,
% 0.31/0.47      ! [A: $tType,X: list @ ( list @ A )] :
% 0.31/0.47        ( ( X
% 0.31/0.47         != ( nil @ ( list @ A ) ) )
% 0.31/0.47       => ( ! [Xss: list @ ( list @ A )] :
% 0.31/0.47              ( X
% 0.31/0.47             != ( cons @ ( list @ A ) @ ( nil @ A ) @ Xss ) )
% 0.31/0.47         => ~ ! [X3: A,Xs: list @ A,Xss: list @ ( list @ A )] :
% 0.31/0.47                ( X
% 0.31/0.47               != ( cons @ ( list @ A ) @ ( cons @ A @ X3 @ Xs ) @ Xss ) ) ) ) ).
% 0.31/0.47  
% 0.31/0.47  % transpose.cases
% 0.31/0.47  thf(fact_43_shuffles_Oinduct,axiom,
% 0.31/0.47      ! [A: $tType,P: ( list @ A ) > ( list @ A ) > $o,A0: list @ A,A1: list @ A] :
% 0.31/0.47        ( ! [X_1: list @ A] : ( P @ ( nil @ A ) @ X_1 )
% 0.31/0.47       => ( ! [Xs: list @ A] : ( P @ Xs @ ( nil @ A ) )
% 0.31/0.47         => ( ! [X3: A,Xs: list @ A,Y3: A,Ys: list @ A] :
% 0.31/0.47                ( ( P @ Xs @ ( cons @ A @ Y3 @ Ys ) )
% 0.31/0.47               => ( ( P @ ( cons @ A @ X3 @ Xs ) @ Ys )
% 0.31/0.47                 => ( P @ ( cons @ A @ X3 @ Xs ) @ ( cons @ A @ Y3 @ Ys ) ) ) )
% 0.31/0.47           => ( P @ A0 @ A1 ) ) ) ) ).
% 0.31/0.47  
% 0.31/0.47  % shuffles.induct
% 0.31/0.47  thf(fact_44_mem__Collect__eq,axiom,
% 0.31/0.47      ! [A: $tType,A3: A,P: A > $o] :
% 0.31/0.47        ( ( member @ A @ A3 @ ( collect @ A @ P ) )
% 0.31/0.47        = ( P @ A3 ) ) ).
% 0.31/0.47  
% 0.31/0.47  % mem_Collect_eq
% 0.31/0.47  thf(fact_45_Collect__mem__eq,axiom,
% 0.31/0.47      ! [A: $tType,A5: set @ A] :
% 0.31/0.47        ( ( collect @ A
% 0.31/0.47          @ ^ [X4: A] : ( member @ A @ X4 @ A5 ) )
% 0.31/0.47        = A5 ) ).
% 0.31/0.47  
% 0.31/0.47  % Collect_mem_eq
% 0.31/0.47  thf(fact_46_Collect__cong,axiom,
% 0.31/0.47      ! [A: $tType,P: A > $o,Q: A > $o] :
% 0.31/0.47        ( ! [X3: A] :
% 0.31/0.47            ( ( P @ X3 )
% 0.31/0.47            = ( Q @ X3 ) )
% 0.31/0.47       => ( ( collect @ A @ P )
% 0.31/0.47          = ( collect @ A @ Q ) ) ) ).
% 0.31/0.47  
% 0.31/0.47  % Collect_cong
% 0.31/0.47  thf(fact_47_min__list_Oinduct,axiom,
% 0.31/0.47      ! [A: $tType] :
% 0.31/0.47        ( ( ord @ A )
% 0.31/0.47       => ! [P: ( list @ A ) > $o,A0: list @ A] :
% 0.31/0.47            ( ! [X3: A,Xs: list @ A] :
% 0.31/0.47                ( ! [X212: A,X222: list @ A] :
% 0.31/0.47                    ( ( Xs
% 0.31/0.47                      = ( cons @ A @ X212 @ X222 ) )
% 0.31/0.47                   => ( P @ Xs ) )
% 0.31/0.47               => ( P @ ( cons @ A @ X3 @ Xs ) ) )
% 0.31/0.47           => ( ( P @ ( nil @ A ) )
% 0.31/0.47             => ( P @ A0 ) ) ) ) ).
% 0.31/0.47  
% 0.31/0.47  % min_list.induct
% 0.31/0.47  thf(fact_48_min__list_Ocases,axiom,
% 0.31/0.47      ! [A: $tType] :
% 0.31/0.47        ( ( ord @ A )
% 0.31/0.47       => ! [X: list @ A] :
% 0.31/0.47            ( ! [X3: A,Xs: list @ A] :
% 0.31/0.47                ( X
% 0.31/0.47               != ( cons @ A @ X3 @ Xs ) )
% 0.31/0.47           => ( X
% 0.31/0.47              = ( nil @ A ) ) ) ) ).
% 0.31/0.47  
% 0.31/0.47  % min_list.cases
% 0.31/0.47  thf(fact_49_induct__list012,axiom,
% 0.31/0.47      ! [A: $tType,P: ( list @ A ) > $o,Xs2: list @ A] :
% 0.31/0.47        ( ( P @ ( nil @ A ) )
% 0.31/0.47       => ( ! [X3: A] : ( P @ ( cons @ A @ X3 @ ( nil @ A ) ) )
% 0.31/0.47         => ( ! [X3: A,Y3: A,Zs: list @ A] :
% 0.31/0.47                ( ( P @ Zs )
% 0.31/0.47               => ( ( P @ ( cons @ A @ Y3 @ Zs ) )
% 0.31/0.47                 => ( P @ ( cons @ A @ X3 @ ( cons @ A @ Y3 @ Zs ) ) ) ) )
% 0.31/0.47           => ( P @ Xs2 ) ) ) ) ).
% 0.31/0.47  
% 0.31/0.47  % induct_list012
% 0.31/0.47  thf(fact_50_splice_Oinduct,axiom,
% 0.31/0.47      ! [A: $tType,P: ( list @ A ) > ( list @ A ) > $o,A0: list @ A,A1: list @ A] :
% 0.31/0.47        ( ! [X_1: list @ A] : ( P @ ( nil @ A ) @ X_1 )
% 0.31/0.47       => ( ! [X3: A,Xs: list @ A,Ys: list @ A] :
% 0.31/0.47              ( ( P @ Ys @ Xs )
% 0.31/0.47             => ( P @ ( cons @ A @ X3 @ Xs ) @ Ys ) )
% 0.31/0.47         => ( P @ A0 @ A1 ) ) ) ).
% 0.31/0.47  
% 0.31/0.47  % splice.induct
% 0.31/0.47  thf(fact_51_list__induct2_H,axiom,
% 0.31/0.47      ! [A: $tType,B: $tType,P: ( list @ A ) > ( list @ B ) > $o,Xs2: list @ A,Ys2: list @ B] :
% 0.31/0.47        ( ( P @ ( nil @ A ) @ ( nil @ B ) )
% 0.31/0.47       => ( ! [X3: A,Xs: list @ A] : ( P @ ( cons @ A @ X3 @ Xs ) @ ( nil @ B ) )
% 0.31/0.47         => ( ! [Y3: B,Ys: list @ B] : ( P @ ( nil @ A ) @ ( cons @ B @ Y3 @ Ys ) )
% 0.31/0.47           => ( ! [X3: A,Xs: list @ A,Y3: B,Ys: list @ B] :
% 0.31/0.47                  ( ( P @ Xs @ Ys )
% 0.31/0.47                 => ( P @ ( cons @ A @ X3 @ Xs ) @ ( cons @ B @ Y3 @ Ys ) ) )
% 0.31/0.47             => ( P @ Xs2 @ Ys2 ) ) ) ) ) ).
% 0.31/0.47  
% 0.31/0.47  % list_induct2'
% 0.31/0.47  thf(fact_52_neq__Nil__conv,axiom,
% 0.31/0.47      ! [A: $tType,Xs2: list @ A] :
% 0.31/0.47        ( ( Xs2
% 0.31/0.47         != ( nil @ A ) )
% 0.31/0.47        = ( ? [Y4: A,Ys3: list @ A] :
% 0.31/0.47              ( Xs2
% 0.31/0.47              = ( cons @ A @ Y4 @ Ys3 ) ) ) ) ).
% 0.31/0.47  
% 0.31/0.47  % neq_Nil_conv
% 0.31/0.47  thf(fact_53_list_Oinducts,axiom,
% 0.31/0.47      ! [A: $tType,P: ( list @ A ) > $o,List: list @ A] :
% 0.31/0.47        ( ( P @ ( nil @ A ) )
% 0.31/0.47       => ( ! [X12: A,X23: list @ A] :
% 0.31/0.47              ( ( P @ X23 )
% 0.31/0.47             => ( P @ ( cons @ A @ X12 @ X23 ) ) )
% 0.31/0.47         => ( P @ List ) ) ) ).
% 0.31/0.47  
% 0.31/0.47  % list.inducts
% 0.31/0.47  thf(fact_54_list_Oexhaust,axiom,
% 0.31/0.47      ! [A: $tType,Y: list @ A] :
% 0.31/0.47        ( ( Y
% 0.31/0.47         != ( nil @ A ) )
% 0.31/0.47       => ~ ! [X213: A,X223: list @ A] :
% 0.31/0.47              ( Y
% 0.31/0.47             != ( cons @ A @ X213 @ X223 ) ) ) ).
% 0.31/0.47  
% 0.31/0.47  % list.exhaust
% 0.31/0.47  thf(fact_55_list_OdiscI,axiom,
% 0.31/0.47      ! [A: $tType,List: list @ A,X21: A,X22: list @ A] :
% 0.31/0.47        ( ( List
% 0.31/0.47          = ( cons @ A @ X21 @ X22 ) )
% 0.31/0.47       => ( List
% 0.31/0.47         != ( nil @ A ) ) ) ).
% 0.31/0.47  
% 0.31/0.47  % list.discI
% 0.31/0.47  thf(fact_56_list_Odistinct_I1_J,axiom,
% 0.31/0.47      ! [A: $tType,X21: A,X22: list @ A] :
% 0.31/0.47        ( ( nil @ A )
% 0.31/0.47       != ( cons @ A @ X21 @ X22 ) ) ).
% 0.31/0.47  
% 0.31/0.47  % list.distinct(1)
% 0.31/0.47  thf(fact_57_execs_Oinducts,axiom,
% 0.31/0.47      ! [X1: state,X2: list @ com,X32: state,P: state > ( list @ com ) > state > $o] :
% 0.31/0.47        ( ( pHoare1053570959_execs @ X1 @ X2 @ X32 )
% 0.31/0.47       => ( ! [S3: state] : ( P @ S3 @ ( nil @ com ) @ S3 )
% 0.31/0.47         => ( ! [S3: state,C3: com,T4: state,Cs3: list @ com,U2: state] :
% 0.31/0.47                ( ( exec @ S3 @ C3 @ T4 )
% 0.31/0.47               => ( ( pHoare1053570959_execs @ T4 @ Cs3 @ U2 )
% 0.31/0.47                 => ( ( P @ T4 @ Cs3 @ U2 )
% 0.31/0.47                   => ( P @ S3 @ ( cons @ com @ C3 @ Cs3 ) @ U2 ) ) ) )
% 0.31/0.47           => ( P @ X1 @ X2 @ X32 ) ) ) ) ).
% 0.31/0.47  
% 0.31/0.47  % execs.inducts
% 0.31/0.47  thf(fact_58_execs_Osimps,axiom,
% 0.31/0.47      ( pHoare1053570959_execs
% 0.31/0.47      = ( ^ [A12: state,A23: list @ com,A32: state] :
% 0.31/0.47            ( ? [S4: state] :
% 0.31/0.47                ( ( A12 = S4 )
% 0.31/0.47                & ( A23
% 0.31/0.47                  = ( nil @ com ) )
% 0.31/0.47                & ( A32 = S4 ) )
% 0.31/0.47            | ? [S4: state,C4: com,T2: state,Cs4: list @ com,U3: state] :
% 0.31/0.47                ( ( A12 = S4 )
% 0.31/0.47                & ( A23
% 0.31/0.47                  = ( cons @ com @ C4 @ Cs4 ) )
% 0.31/0.47                & ( A32 = U3 )
% 0.31/0.47                & ( exec @ S4 @ C4 @ T2 )
% 0.31/0.47                & ( pHoare1053570959_execs @ T2 @ Cs4 @ U3 ) ) ) ) ) ).
% 0.31/0.47  
% 0.31/0.47  % execs.simps
% 0.31/0.47  thf(fact_59_execs_Ocases,axiom,
% 0.31/0.47      ! [A1: state,A22: list @ com,A33: state] :
% 0.31/0.47        ( ( pHoare1053570959_execs @ A1 @ A22 @ A33 )
% 0.31/0.47       => ( ( ( A22
% 0.31/0.47              = ( nil @ com ) )
% 0.31/0.47           => ( A33 != A1 ) )
% 0.31/0.47         => ~ ! [C3: com,T4: state,Cs3: list @ com] :
% 0.31/0.47                ( ( A22
% 0.31/0.47                  = ( cons @ com @ C3 @ Cs3 ) )
% 0.31/0.47               => ( ( exec @ A1 @ C3 @ T4 )
% 0.31/0.47                 => ~ ( pHoare1053570959_execs @ T4 @ Cs3 @ A33 ) ) ) ) ) ).
% 0.31/0.47  
% 0.31/0.47  % execs.cases
% 0.31/0.47  thf(fact_60_converse__rtrancl__into__rtrancl,axiom,
% 0.31/0.47      ! [A: $tType,A3: A,B3: A,R: set @ ( product_prod @ A @ A ),C2: A] :
% 0.31/0.47        ( ( member @ ( product_prod @ A @ A ) @ ( product_Pair @ A @ A @ A3 @ B3 ) @ R )
% 0.31/0.47       => ( ( member @ ( product_prod @ A @ A ) @ ( product_Pair @ A @ A @ B3 @ C2 ) @ ( transitive_rtrancl @ A @ R ) )
% 0.31/0.47         => ( member @ ( product_prod @ A @ A ) @ ( product_Pair @ A @ A @ A3 @ C2 ) @ ( transitive_rtrancl @ A @ R ) ) ) ) ).
% 0.31/0.47  
% 0.31/0.47  % converse_rtrancl_into_rtrancl
% 0.31/0.47  thf(fact_61_rtrancl_Ortrancl__into__rtrancl,axiom,
% 0.31/0.47      ! [A: $tType,A3: A,B3: A,R: set @ ( product_prod @ A @ A ),C2: A] :
% 0.31/0.47        ( ( member @ ( product_prod @ A @ A ) @ ( product_Pair @ A @ A @ A3 @ B3 ) @ ( transitive_rtrancl @ A @ R ) )
% 0.31/0.47       => ( ( member @ ( product_prod @ A @ A ) @ ( product_Pair @ A @ A @ B3 @ C2 ) @ R )
% 0.31/0.47         => ( member @ ( product_prod @ A @ A ) @ ( product_Pair @ A @ A @ A3 @ C2 ) @ ( transitive_rtrancl @ A @ R ) ) ) ) ).
% 0.31/0.47  
% 0.31/0.47  % rtrancl.rtrancl_into_rtrancl
% 0.31/0.47  thf(fact_62_converse__rtrancl__induct,axiom,
% 0.31/0.47      ! [A: $tType,A3: A,B3: A,R: set @ ( product_prod @ A @ A ),P: A > $o] :
% 0.31/0.47        ( ( member @ ( product_prod @ A @ A ) @ ( product_Pair @ A @ A @ A3 @ B3 ) @ ( transitive_rtrancl @ A @ R ) )
% 0.31/0.47       => ( ( P @ B3 )
% 0.31/0.47         => ( ! [Y3: A,Z: A] :
% 0.31/0.47                ( ( member @ ( product_prod @ A @ A ) @ ( product_Pair @ A @ A @ Y3 @ Z ) @ R )
% 0.31/0.47               => ( ( member @ ( product_prod @ A @ A ) @ ( product_Pair @ A @ A @ Z @ B3 ) @ ( transitive_rtrancl @ A @ R ) )
% 0.31/0.47                 => ( ( P @ Z )
% 0.31/0.47                   => ( P @ Y3 ) ) ) )
% 0.31/0.47           => ( P @ A3 ) ) ) ) ).
% 0.31/0.47  
% 0.31/0.47  % converse_rtrancl_induct
% 0.31/0.47  thf(fact_63_rtrancl_Ortrancl__refl,axiom,
% 0.31/0.47      ! [A: $tType,A3: A,R: set @ ( product_prod @ A @ A )] : ( member @ ( product_prod @ A @ A ) @ ( product_Pair @ A @ A @ A3 @ A3 ) @ ( transitive_rtrancl @ A @ R ) ) ).
% 0.31/0.47  
% 0.31/0.47  % rtrancl.rtrancl_refl
% 0.31/0.47  thf(fact_64_converse__rtranclE,axiom,
% 0.31/0.47      ! [A: $tType,X: A,Z2: A,R: set @ ( product_prod @ A @ A )] :
% 0.31/0.47        ( ( member @ ( product_prod @ A @ A ) @ ( product_Pair @ A @ A @ X @ Z2 ) @ ( transitive_rtrancl @ A @ R ) )
% 0.31/0.47       => ( ( X != Z2 )
% 0.31/0.47         => ~ ! [Y3: A] :
% 0.31/0.47                ( ( member @ ( product_prod @ A @ A ) @ ( product_Pair @ A @ A @ X @ Y3 ) @ R )
% 0.31/0.47               => ~ ( member @ ( product_prod @ A @ A ) @ ( product_Pair @ A @ A @ Y3 @ Z2 ) @ ( transitive_rtrancl @ A @ R ) ) ) ) ) ).
% 0.31/0.47  
% 0.31/0.47  % converse_rtranclE
% 0.31/0.47  thf(fact_65_rtrancl_Oinducts,axiom,
% 0.31/0.47      ! [A: $tType,X1: A,X2: A,R: set @ ( product_prod @ A @ A ),P: A > A > $o] :
% 0.31/0.47        ( ( member @ ( product_prod @ A @ A ) @ ( product_Pair @ A @ A @ X1 @ X2 ) @ ( transitive_rtrancl @ A @ R ) )
% 0.31/0.47       => ( ! [A2: A] : ( P @ A2 @ A2 )
% 0.31/0.47         => ( ! [A2: A,B2: A,C3: A] :
% 0.31/0.47                ( ( member @ ( product_prod @ A @ A ) @ ( product_Pair @ A @ A @ A2 @ B2 ) @ ( transitive_rtrancl @ A @ R ) )
% 0.31/0.47               => ( ( P @ A2 @ B2 )
% 0.31/0.47                 => ( ( member @ ( product_prod @ A @ A ) @ ( product_Pair @ A @ A @ B2 @ C3 ) @ R )
% 0.31/0.47                   => ( P @ A2 @ C3 ) ) ) )
% 0.31/0.47           => ( P @ X1 @ X2 ) ) ) ) ).
% 0.31/0.47  
% 0.31/0.47  % rtrancl.inducts
% 0.31/0.47  thf(fact_66_rtrancl__induct,axiom,
% 0.31/0.47      ! [A: $tType,A3: A,B3: A,R: set @ ( product_prod @ A @ A ),P: A > $o] :
% 0.31/0.47        ( ( member @ ( product_prod @ A @ A ) @ ( product_Pair @ A @ A @ A3 @ B3 ) @ ( transitive_rtrancl @ A @ R ) )
% 0.31/0.47       => ( ( P @ A3 )
% 0.31/0.47         => ( ! [Y3: A,Z: A] :
% 0.31/0.47                ( ( member @ ( product_prod @ A @ A ) @ ( product_Pair @ A @ A @ A3 @ Y3 ) @ ( transitive_rtrancl @ A @ R ) )
% 0.31/0.47               => ( ( member @ ( product_prod @ A @ A ) @ ( product_Pair @ A @ A @ Y3 @ Z ) @ R )
% 0.31/0.47                 => ( ( P @ Y3 )
% 0.31/0.47                   => ( P @ Z ) ) ) )
% 0.31/0.47           => ( P @ B3 ) ) ) ) ).
% 0.31/0.47  
% 0.31/0.47  % rtrancl_induct
% 0.31/0.47  thf(fact_67_rtrancl__trans,axiom,
% 0.31/0.47      ! [A: $tType,X: A,Y: A,R: set @ ( product_prod @ A @ A ),Z2: A] :
% 0.31/0.47        ( ( member @ ( product_prod @ A @ A ) @ ( product_Pair @ A @ A @ X @ Y ) @ ( transitive_rtrancl @ A @ R ) )
% 0.31/0.47       => ( ( member @ ( product_prod @ A @ A ) @ ( product_Pair @ A @ A @ Y @ Z2 ) @ ( transitive_rtrancl @ A @ R ) )
% 0.31/0.47         => ( member @ ( product_prod @ A @ A ) @ ( product_Pair @ A @ A @ X @ Z2 ) @ ( transitive_rtrancl @ A @ R ) ) ) ) ).
% 0.31/0.47  
% 0.31/0.47  % rtrancl_trans
% 0.31/0.47  thf(fact_68_rtrancl_Osimps,axiom,
% 0.31/0.47      ! [A: $tType,A1: A,A22: A,R: set @ ( product_prod @ A @ A )] :
% 0.31/0.47        ( ( member @ ( product_prod @ A @ A ) @ ( product_Pair @ A @ A @ A1 @ A22 ) @ ( transitive_rtrancl @ A @ R ) )
% 0.31/0.47        = ( ? [A6: A] :
% 0.31/0.47              ( ( A1 = A6 )
% 0.31/0.47              & ( A22 = A6 ) )
% 0.31/0.47          | ? [A6: A,B5: A,C4: A] :
% 0.31/0.47              ( ( A1 = A6 )
% 0.31/0.47              & ( A22 = C4 )
% 0.31/0.47              & ( member @ ( product_prod @ A @ A ) @ ( product_Pair @ A @ A @ A6 @ B5 ) @ ( transitive_rtrancl @ A @ R ) )
% 0.31/0.47              & ( member @ ( product_prod @ A @ A ) @ ( product_Pair @ A @ A @ B5 @ C4 ) @ R ) ) ) ) ).
% 0.31/0.47  
% 0.31/0.47  % rtrancl.simps
% 0.31/0.47  thf(fact_69_rtrancl_Ocases,axiom,
% 0.31/0.47      ! [A: $tType,A1: A,A22: A,R: set @ ( product_prod @ A @ A )] :
% 0.31/0.47        ( ( member @ ( product_prod @ A @ A ) @ ( product_Pair @ A @ A @ A1 @ A22 ) @ ( transitive_rtrancl @ A @ R ) )
% 0.31/0.47       => ( ( A22 != A1 )
% 0.31/0.47         => ~ ! [B2: A] :
% 0.31/0.47                ( ( member @ ( product_prod @ A @ A ) @ ( product_Pair @ A @ A @ A1 @ B2 ) @ ( transitive_rtrancl @ A @ R ) )
% 0.31/0.47               => ~ ( member @ ( product_prod @ A @ A ) @ ( product_Pair @ A @ A @ B2 @ A22 ) @ R ) ) ) ) ).
% 0.31/0.47  
% 0.31/0.47  % rtrancl.cases
% 0.31/0.47  thf(fact_70_rtranclE,axiom,
% 0.31/0.47      ! [A: $tType,A3: A,B3: A,R: set @ ( product_prod @ A @ A )] :
% 0.31/0.47        ( ( member @ ( product_prod @ A @ A ) @ ( product_Pair @ A @ A @ A3 @ B3 ) @ ( transitive_rtrancl @ A @ R ) )
% 0.31/0.47       => ( ( A3 != B3 )
% 0.31/0.47         => ~ ! [Y3: A] :
% 0.31/0.47                ( ( member @ ( product_prod @ A @ A ) @ ( product_Pair @ A @ A @ A3 @ Y3 ) @ ( transitive_rtrancl @ A @ R ) )
% 0.31/0.47               => ~ ( member @ ( product_prod @ A @ A ) @ ( product_Pair @ A @ A @ Y3 @ B3 ) @ R ) ) ) ) ).
% 0.31/0.47  
% 0.31/0.47  % rtranclE
% 0.31/0.47  thf(fact_71_prod__induct7,axiom,
% 0.31/0.47      ! [G: $tType,F2: $tType,E: $tType,D: $tType,C: $tType,B: $tType,A: $tType,P: ( product_prod @ A @ ( product_prod @ B @ ( product_prod @ C @ ( product_prod @ D @ ( product_prod @ E @ ( product_prod @ F2 @ G ) ) ) ) ) ) > $o,X: product_prod @ A @ ( product_prod @ B @ ( product_prod @ C @ ( product_prod @ D @ ( product_prod @ E @ ( product_prod @ F2 @ G ) ) ) ) )] :
% 0.31/0.47        ( ! [A2: A,B2: B,C3: C,D2: D,E2: E,F: F2,G2: G] : ( P @ ( product_Pair @ A @ ( product_prod @ B @ ( product_prod @ C @ ( product_prod @ D @ ( product_prod @ E @ ( product_prod @ F2 @ G ) ) ) ) ) @ A2 @ ( product_Pair @ B @ ( product_prod @ C @ ( product_prod @ D @ ( product_prod @ E @ ( product_prod @ F2 @ G ) ) ) ) @ B2 @ ( product_Pair @ C @ ( product_prod @ D @ ( product_prod @ E @ ( product_prod @ F2 @ G ) ) ) @ C3 @ ( product_Pair @ D @ ( product_prod @ E @ ( product_prod @ F2 @ G ) ) @ D2 @ ( product_Pair @ E @ ( product_prod @ F2 @ G ) @ E2 @ ( product_Pair @ F2 @ G @ F @ G2 ) ) ) ) ) ) )
% 0.31/0.47       => ( P @ X ) ) ).
% 0.31/0.47  
% 0.31/0.47  % prod_induct7
% 0.31/0.47  thf(fact_72_prod__induct6,axiom,
% 0.31/0.47      ! [F2: $tType,E: $tType,D: $tType,C: $tType,B: $tType,A: $tType,P: ( product_prod @ A @ ( product_prod @ B @ ( product_prod @ C @ ( product_prod @ D @ ( product_prod @ E @ F2 ) ) ) ) ) > $o,X: product_prod @ A @ ( product_prod @ B @ ( product_prod @ C @ ( product_prod @ D @ ( product_prod @ E @ F2 ) ) ) )] :
% 0.31/0.47        ( ! [A2: A,B2: B,C3: C,D2: D,E2: E,F: F2] : ( P @ ( product_Pair @ A @ ( product_prod @ B @ ( product_prod @ C @ ( product_prod @ D @ ( product_prod @ E @ F2 ) ) ) ) @ A2 @ ( product_Pair @ B @ ( product_prod @ C @ ( product_prod @ D @ ( product_prod @ E @ F2 ) ) ) @ B2 @ ( product_Pair @ C @ ( product_prod @ D @ ( product_prod @ E @ F2 ) ) @ C3 @ ( product_Pair @ D @ ( product_prod @ E @ F2 ) @ D2 @ ( product_Pair @ E @ F2 @ E2 @ F ) ) ) ) ) )
% 0.31/0.47       => ( P @ X ) ) ).
% 0.31/0.47  
% 0.31/0.47  % prod_induct6
% 0.31/0.47  thf(fact_73_prod__induct5,axiom,
% 0.31/0.47      ! [E: $tType,D: $tType,C: $tType,B: $tType,A: $tType,P: ( product_prod @ A @ ( product_prod @ B @ ( product_prod @ C @ ( product_prod @ D @ E ) ) ) ) > $o,X: product_prod @ A @ ( product_prod @ B @ ( product_prod @ C @ ( product_prod @ D @ E ) ) )] :
% 0.31/0.47        ( ! [A2: A,B2: B,C3: C,D2: D,E2: E] : ( P @ ( product_Pair @ A @ ( product_prod @ B @ ( product_prod @ C @ ( product_prod @ D @ E ) ) ) @ A2 @ ( product_Pair @ B @ ( product_prod @ C @ ( product_prod @ D @ E ) ) @ B2 @ ( product_Pair @ C @ ( product_prod @ D @ E ) @ C3 @ ( product_Pair @ D @ E @ D2 @ E2 ) ) ) ) )
% 0.31/0.47       => ( P @ X ) ) ).
% 0.31/0.47  
% 0.31/0.47  % prod_induct5
% 0.31/0.47  thf(fact_74_prod__induct4,axiom,
% 0.31/0.47      ! [D: $tType,C: $tType,B: $tType,A: $tType,P: ( product_prod @ A @ ( product_prod @ B @ ( product_prod @ C @ D ) ) ) > $o,X: product_prod @ A @ ( product_prod @ B @ ( product_prod @ C @ D ) )] :
% 0.31/0.47        ( ! [A2: A,B2: B,C3: C,D2: D] : ( P @ ( product_Pair @ A @ ( product_prod @ B @ ( product_prod @ C @ D ) ) @ A2 @ ( product_Pair @ B @ ( product_prod @ C @ D ) @ B2 @ ( product_Pair @ C @ D @ C3 @ D2 ) ) ) )
% 0.31/0.47       => ( P @ X ) ) ).
% 0.31/0.47  
% 0.31/0.47  % prod_induct4
% 0.31/0.47  thf(fact_75_prod__induct3,axiom,
% 0.31/0.47      ! [C: $tType,B: $tType,A: $tType,P: ( product_prod @ A @ ( product_prod @ B @ C ) ) > $o,X: product_prod @ A @ ( product_prod @ B @ C )] :
% 0.31/0.47        ( ! [A2: A,B2: B,C3: C] : ( P @ ( product_Pair @ A @ ( product_prod @ B @ C ) @ A2 @ ( product_Pair @ B @ C @ B2 @ C3 ) ) )
% 0.31/0.47       => ( P @ X ) ) ).
% 0.31/0.47  
% 0.31/0.47  % prod_induct3
% 0.31/0.47  thf(fact_76_prod__cases7,axiom,
% 0.31/0.47      ! [A: $tType,B: $tType,C: $tType,D: $tType,E: $tType,F2: $tType,G: $tType,Y: product_prod @ A @ ( product_prod @ B @ ( product_prod @ C @ ( product_prod @ D @ ( product_prod @ E @ ( product_prod @ F2 @ G ) ) ) ) )] :
% 0.31/0.47        ~ ! [A2: A,B2: B,C3: C,D2: D,E2: E,F: F2,G2: G] :
% 0.31/0.47            ( Y
% 0.31/0.47           != ( product_Pair @ A @ ( product_prod @ B @ ( product_prod @ C @ ( product_prod @ D @ ( product_prod @ E @ ( product_prod @ F2 @ G ) ) ) ) ) @ A2 @ ( product_Pair @ B @ ( product_prod @ C @ ( product_prod @ D @ ( product_prod @ E @ ( product_prod @ F2 @ G ) ) ) ) @ B2 @ ( product_Pair @ C @ ( product_prod @ D @ ( product_prod @ E @ ( product_prod @ F2 @ G ) ) ) @ C3 @ ( product_Pair @ D @ ( product_prod @ E @ ( product_prod @ F2 @ G ) ) @ D2 @ ( product_Pair @ E @ ( product_prod @ F2 @ G ) @ E2 @ ( product_Pair @ F2 @ G @ F @ G2 ) ) ) ) ) ) ) ).
% 0.31/0.47  
% 0.31/0.47  % prod_cases7
% 0.31/0.47  thf(fact_77_prod__cases6,axiom,
% 0.31/0.47      ! [A: $tType,B: $tType,C: $tType,D: $tType,E: $tType,F2: $tType,Y: product_prod @ A @ ( product_prod @ B @ ( product_prod @ C @ ( product_prod @ D @ ( product_prod @ E @ F2 ) ) ) )] :
% 0.31/0.47        ~ ! [A2: A,B2: B,C3: C,D2: D,E2: E,F: F2] :
% 0.31/0.47            ( Y
% 0.31/0.47           != ( product_Pair @ A @ ( product_prod @ B @ ( product_prod @ C @ ( product_prod @ D @ ( product_prod @ E @ F2 ) ) ) ) @ A2 @ ( product_Pair @ B @ ( product_prod @ C @ ( product_prod @ D @ ( product_prod @ E @ F2 ) ) ) @ B2 @ ( product_Pair @ C @ ( product_prod @ D @ ( product_prod @ E @ F2 ) ) @ C3 @ ( product_Pair @ D @ ( product_prod @ E @ F2 ) @ D2 @ ( product_Pair @ E @ F2 @ E2 @ F ) ) ) ) ) ) ).
% 0.31/0.47  
% 0.31/0.47  % prod_cases6
% 0.31/0.47  thf(fact_78_old_Oprod_Orec,axiom,
% 0.31/0.47      ! [A: $tType,T: $tType,B: $tType,F1: A > B > T,A3: A,B3: B] :
% 0.31/0.47        ( ( product_rec_prod @ A @ B @ T @ F1 @ ( product_Pair @ A @ B @ A3 @ B3 ) )
% 0.31/0.47        = ( F1 @ A3 @ B3 ) ) ).
% 0.31/0.47  
% 0.31/0.47  % old.prod.rec
% 0.31/0.47  thf(fact_79_exec1_OSemi,axiom,
% 0.31/0.47      ! [C1: com,C22: com,Cs2: list @ com,S: state] : ( member @ ( product_prod @ ( product_prod @ ( list @ com ) @ state ) @ ( product_prod @ ( list @ com ) @ state ) ) @ ( product_Pair @ ( product_prod @ ( list @ com ) @ state ) @ ( product_prod @ ( list @ com ) @ state ) @ ( product_Pair @ ( list @ com ) @ state @ ( cons @ com @ ( semi @ C1 @ C22 ) @ Cs2 ) @ S ) @ ( product_Pair @ ( list @ com ) @ state @ ( cons @ com @ C1 @ ( cons @ com @ C22 @ Cs2 ) ) @ S ) ) @ pHoare1053570893_exec1 ) ).
% 0.31/0.47  
% 0.31/0.47  % exec1.Semi
% 0.31/0.47  thf(fact_80_exec1E_I3_J,axiom,
% 0.31/0.47      ! [C1: com,C22: com,Cs2: list @ com,S: state,Cs: list @ com,S2: state] :
% 0.31/0.47        ( ( member @ ( product_prod @ ( product_prod @ ( list @ com ) @ state ) @ ( product_prod @ ( list @ com ) @ state ) ) @ ( product_Pair @ ( product_prod @ ( list @ com ) @ state ) @ ( product_prod @ ( list @ com ) @ state ) @ ( product_Pair @ ( list @ com ) @ state @ ( cons @ com @ ( semi @ C1 @ C22 ) @ Cs2 ) @ S ) @ ( product_Pair @ ( list @ com ) @ state @ Cs @ S2 ) ) @ pHoare1053570893_exec1 )
% 0.31/0.47       => ~ ( ( Cs
% 0.31/0.47              = ( cons @ com @ C1 @ ( cons @ com @ C22 @ Cs2 ) ) )
% 0.31/0.47           => ( S2 != S ) ) ) ).
% 0.31/0.47  
% 0.31/0.47  % exec1E(3)
% 0.31/0.47  thf(fact_81_exec1_ODo,axiom,
% 0.31/0.47      ! [T3: state,F3: state > ( set @ state ),S: state,Cs2: list @ com] :
% 0.31/0.47        ( ( member @ state @ T3 @ ( F3 @ S ) )
% 0.31/0.47       => ( member @ ( product_prod @ ( product_prod @ ( list @ com ) @ state ) @ ( product_prod @ ( list @ com ) @ state ) ) @ ( product_Pair @ ( product_prod @ ( list @ com ) @ state ) @ ( product_prod @ ( list @ com ) @ state ) @ ( product_Pair @ ( list @ com ) @ state @ ( cons @ com @ ( do @ F3 ) @ Cs2 ) @ S ) @ ( product_Pair @ ( list @ com ) @ state @ Cs2 @ T3 ) ) @ pHoare1053570893_exec1 ) ) ).
% 0.31/0.47  
% 0.31/0.47  % exec1.Do
% 0.31/0.47  thf(fact_82_exec1E_I2_J,axiom,
% 0.31/0.47      ! [F3: state > ( set @ state ),Cs2: list @ com,S: state,Cs: list @ com,S2: state] :
% 0.31/0.47        ( ( member @ ( product_prod @ ( product_prod @ ( list @ com ) @ state ) @ ( product_prod @ ( list @ com ) @ state ) ) @ ( product_Pair @ ( product_prod @ ( list @ com ) @ state ) @ ( product_prod @ ( list @ com ) @ state ) @ ( product_Pair @ ( list @ com ) @ state @ ( cons @ com @ ( do @ F3 ) @ Cs2 ) @ S ) @ ( product_Pair @ ( list @ com ) @ state @ Cs @ S2 ) ) @ pHoare1053570893_exec1 )
% 0.31/0.47       => ~ ( ( Cs = Cs2 )
% 0.31/0.47           => ~ ( member @ state @ S2 @ ( F3 @ S ) ) ) ) ).
% 0.31/0.47  
% 0.31/0.47  % exec1E(2)
% 0.31/0.47  thf(fact_83_exec1_OIfFalse,axiom,
% 0.31/0.47      ! [B3: state > $o,S: state,C1: com,C22: com,Cs2: list @ com] :
% 0.31/0.47        ( ~ ( B3 @ S )
% 0.31/0.47       => ( member @ ( product_prod @ ( product_prod @ ( list @ com ) @ state ) @ ( product_prod @ ( list @ com ) @ state ) ) @ ( product_Pair @ ( product_prod @ ( list @ com ) @ state ) @ ( product_prod @ ( list @ com ) @ state ) @ ( product_Pair @ ( list @ com ) @ state @ ( cons @ com @ ( cond @ B3 @ C1 @ C22 ) @ Cs2 ) @ S ) @ ( product_Pair @ ( list @ com ) @ state @ ( cons @ com @ C22 @ Cs2 ) @ S ) ) @ pHoare1053570893_exec1 ) ) ).
% 0.31/0.47  
% 0.31/0.47  % exec1.IfFalse
% 0.31/0.47  thf(fact_84_exec1_OIfTrue,axiom,
% 0.31/0.47      ! [B3: state > $o,S: state,C1: com,C22: com,Cs2: list @ com] :
% 0.31/0.47        ( ( B3 @ S )
% 0.31/0.47       => ( member @ ( product_prod @ ( product_prod @ ( list @ com ) @ state ) @ ( product_prod @ ( list @ com ) @ state ) ) @ ( product_Pair @ ( product_prod @ ( list @ com ) @ state ) @ ( product_prod @ ( list @ com ) @ state ) @ ( product_Pair @ ( list @ com ) @ state @ ( cons @ com @ ( cond @ B3 @ C1 @ C22 ) @ Cs2 ) @ S ) @ ( product_Pair @ ( list @ com ) @ state @ ( cons @ com @ C1 @ Cs2 ) @ S ) ) @ pHoare1053570893_exec1 ) ) ).
% 0.31/0.47  
% 0.31/0.47  % exec1.IfTrue
% 0.31/0.47  thf(fact_85_exec1E_I4_J,axiom,
% 0.31/0.47      ! [B3: state > $o,C1: com,C22: com,Cs2: list @ com,S: state,Cs: list @ com,S2: state] :
% 0.31/0.47        ( ( member @ ( product_prod @ ( product_prod @ ( list @ com ) @ state ) @ ( product_prod @ ( list @ com ) @ state ) ) @ ( product_Pair @ ( product_prod @ ( list @ com ) @ state ) @ ( product_prod @ ( list @ com ) @ state ) @ ( product_Pair @ ( list @ com ) @ state @ ( cons @ com @ ( cond @ B3 @ C1 @ C22 ) @ Cs2 ) @ S ) @ ( product_Pair @ ( list @ com ) @ state @ Cs @ S2 ) ) @ pHoare1053570893_exec1 )
% 0.31/0.47       => ( ( ( Cs
% 0.31/0.47              = ( cons @ com @ C1 @ Cs2 ) )
% 0.31/0.47           => ( ( S2 = S )
% 0.31/0.47             => ~ ( B3 @ S ) ) )
% 0.31/0.47         => ~ ( ( Cs
% 0.31/0.47                = ( cons @ com @ C22 @ Cs2 ) )
% 0.31/0.47             => ( ( S2 = S )
% 0.31/0.47               => ( B3 @ S ) ) ) ) ) ).
% 0.31/0.47  
% 0.31/0.47  % exec1E(4)
% 0.31/0.47  thf(fact_86_exec1_OWhileFalse,axiom,
% 0.31/0.47      ! [B3: state > $o,S: state,C2: com,Cs2: list @ com] :
% 0.31/0.47        ( ~ ( B3 @ S )
% 0.31/0.47       => ( member @ ( product_prod @ ( product_prod @ ( list @ com ) @ state ) @ ( product_prod @ ( list @ com ) @ state ) ) @ ( product_Pair @ ( product_prod @ ( list @ com ) @ state ) @ ( product_prod @ ( list @ com ) @ state ) @ ( product_Pair @ ( list @ com ) @ state @ ( cons @ com @ ( while @ B3 @ C2 ) @ Cs2 ) @ S ) @ ( product_Pair @ ( list @ com ) @ state @ Cs2 @ S ) ) @ pHoare1053570893_exec1 ) ) ).
% 0.31/0.47  
% 0.31/0.47  % exec1.WhileFalse
% 0.31/0.47  thf(fact_87_exec1_OWhileTrue,axiom,
% 0.31/0.47      ! [B3: state > $o,S: state,C2: com,Cs2: list @ com] :
% 0.31/0.47        ( ( B3 @ S )
% 0.31/0.47       => ( member @ ( product_prod @ ( product_prod @ ( list @ com ) @ state ) @ ( product_prod @ ( list @ com ) @ state ) ) @ ( product_Pair @ ( product_prod @ ( list @ com ) @ state ) @ ( product_prod @ ( list @ com ) @ state ) @ ( product_Pair @ ( list @ com ) @ state @ ( cons @ com @ ( while @ B3 @ C2 ) @ Cs2 ) @ S ) @ ( product_Pair @ ( list @ com ) @ state @ ( cons @ com @ C2 @ ( cons @ com @ ( while @ B3 @ C2 ) @ Cs2 ) ) @ S ) ) @ pHoare1053570893_exec1 ) ) ).
% 0.31/0.47  
% 0.31/0.47  % exec1.WhileTrue
% 0.31/0.47  thf(fact_88_while__termiE,axiom,
% 0.31/0.47      ! [B3: state > $o,C2: com,S: state] :
% 0.31/0.47        ( ( termi @ ( while @ B3 @ C2 ) @ S )
% 0.31/0.47       => ( ( B3 @ S )
% 0.31/0.47         => ( termi @ C2 @ S ) ) ) ).
% 0.31/0.47  
% 0.31/0.47  % while_termiE
% 0.31/0.47  thf(fact_89_while__termiE2,axiom,
% 0.31/0.47      ! [B3: state > $o,C2: com,S: state,T3: state] :
% 0.31/0.47        ( ( termi @ ( while @ B3 @ C2 ) @ S )
% 0.31/0.47       => ( ( B3 @ S )
% 0.31/0.47         => ( ( exec @ S @ C2 @ T3 )
% 0.31/0.47           => ( termi @ ( while @ B3 @ C2 ) @ T3 ) ) ) ) ).
% 0.31/0.47  
% 0.31/0.47  % while_termiE2
% 0.31/0.47  thf(fact_90_exec1E_I5_J,axiom,
% 0.31/0.47      ! [B3: state > $o,C2: com,Cs2: list @ com,S: state,Cs: list @ com,S2: state] :
% 0.31/0.47        ( ( member @ ( product_prod @ ( product_prod @ ( list @ com ) @ state ) @ ( product_prod @ ( list @ com ) @ state ) ) @ ( product_Pair @ ( product_prod @ ( list @ com ) @ state ) @ ( product_prod @ ( list @ com ) @ state ) @ ( product_Pair @ ( list @ com ) @ state @ ( cons @ com @ ( while @ B3 @ C2 ) @ Cs2 ) @ S ) @ ( product_Pair @ ( list @ com ) @ state @ Cs @ S2 ) ) @ pHoare1053570893_exec1 )
% 0.31/0.47       => ( ( ( Cs = Cs2 )
% 0.31/0.47           => ( ( S2 = S )
% 0.31/0.47             => ( B3 @ S ) ) )
% 0.31/0.47         => ~ ( ( Cs
% 0.31/0.47                = ( cons @ com @ C2 @ ( cons @ com @ ( while @ B3 @ C2 ) @ Cs2 ) ) )
% 0.31/0.47             => ( ( S2 = S )
% 0.31/0.47               => ~ ( B3 @ S ) ) ) ) ) ).
% 0.31/0.47  
% 0.31/0.47  % exec1E(5)
% 0.31/0.47  thf(fact_91_termi_OSemi,axiom,
% 0.31/0.47      ! [C1: com,S0: state,C22: com] :
% 0.31/0.47        ( ( termi @ C1 @ S0 )
% 0.31/0.47       => ( ! [S1: state] :
% 0.31/0.47              ( ( exec @ S0 @ C1 @ S1 )
% 0.31/0.47             => ( termi @ C22 @ S1 ) )
% 0.31/0.47         => ( termi @ ( semi @ C1 @ C22 ) @ S0 ) ) ) ).
% 0.31/0.47  
% 0.31/0.47  % termi.Semi
% 0.31/0.47  thf(fact_92_termi_OWhileTrue,axiom,
% 0.31/0.47      ! [B3: state > $o,S: state,C2: com] :
% 0.31/0.47        ( ( B3 @ S )
% 0.31/0.47       => ( ( termi @ C2 @ S )
% 0.31/0.47         => ( ! [T4: state] :
% 0.31/0.47                ( ( exec @ S @ C2 @ T4 )
% 0.31/0.47               => ( termi @ ( while @ B3 @ C2 ) @ T4 ) )
% 0.31/0.47           => ( termi @ ( while @ B3 @ C2 ) @ S ) ) ) ) ).
% 0.31/0.47  
% 0.31/0.47  % termi.WhileTrue
% 0.31/0.47  thf(fact_93_com_Oinject_I2_J,axiom,
% 0.31/0.47      ! [X21: com,X22: com,Y21: com,Y22: com] :
% 0.31/0.47        ( ( ( semi @ X21 @ X22 )
% 0.31/0.47          = ( semi @ Y21 @ Y22 ) )
% 0.31/0.47        = ( ( X21 = Y21 )
% 0.31/0.47          & ( X22 = Y22 ) ) ) ).
% 0.31/0.47  
% 0.31/0.47  % com.inject(2)
% 0.31/0.47  thf(fact_94_com_Oinject_I1_J,axiom,
% 0.31/0.47      ! [X1: state > ( set @ state ),Y1: state > ( set @ state )] :
% 0.31/0.47        ( ( ( do @ X1 )
% 0.31/0.47          = ( do @ Y1 ) )
% 0.31/0.47        = ( X1 = Y1 ) ) ).
% 0.31/0.47  
% 0.31/0.47  % com.inject(1)
% 0.31/0.47  thf(fact_95_com_Oinject_I3_J,axiom,
% 0.31/0.47      ! [X31: state > $o,X322: com,X33: com,Y31: state > $o,Y32: com,Y33: com] :
% 0.31/0.47        ( ( ( cond @ X31 @ X322 @ X33 )
% 0.31/0.47          = ( cond @ Y31 @ Y32 @ Y33 ) )
% 0.31/0.47        = ( ( X31 = Y31 )
% 0.31/0.47          & ( X322 = Y32 )
% 0.31/0.47          & ( X33 = Y33 ) ) ) ).
% 0.31/0.47  
% 0.31/0.47  % com.inject(3)
% 0.31/0.47  thf(fact_96_com_Oinject_I4_J,axiom,
% 0.31/0.47      ! [X41: state > $o,X42: com,Y41: state > $o,Y42: com] :
% 0.31/0.47        ( ( ( while @ X41 @ X42 )
% 0.31/0.47          = ( while @ Y41 @ Y42 ) )
% 0.31/0.47        = ( ( X41 = Y41 )
% 0.31/0.47          & ( X42 = Y42 ) ) ) ).
% 0.31/0.47  
% 0.31/0.47  % com.inject(4)
% 0.31/0.47  thf(fact_97_exec_OWhileFalse,axiom,
% 0.31/0.47      ! [B3: state > $o,S: state,C2: com] :
% 0.31/0.47        ( ~ ( B3 @ S )
% 0.31/0.47       => ( exec @ S @ ( while @ B3 @ C2 ) @ S ) ) ).
% 0.31/0.47  
% 0.31/0.47  % exec.WhileFalse
% 0.31/0.47  thf(fact_98_exec_OWhileTrue,axiom,
% 0.31/0.47      ! [B3: state > $o,S: state,C2: com,T3: state,U: state] :
% 0.31/0.47        ( ( B3 @ S )
% 0.31/0.47       => ( ( exec @ S @ C2 @ T3 )
% 0.31/0.47         => ( ( exec @ T3 @ ( while @ B3 @ C2 ) @ U )
% 0.31/0.47           => ( exec @ S @ ( while @ B3 @ C2 ) @ U ) ) ) ) ).
% 0.31/0.47  
% 0.31/0.47  % exec.WhileTrue
% 0.31/0.47  thf(fact_99_com_Odistinct_I19_J,axiom,
% 0.31/0.47      ! [X31: state > $o,X322: com,X33: com,X41: state > $o,X42: com] :
% 0.31/0.47        ( ( cond @ X31 @ X322 @ X33 )
% 0.31/0.47       != ( while @ X41 @ X42 ) ) ).
% 0.31/0.47  
% 0.31/0.47  % com.distinct(19)
% 0.31/0.47  thf(fact_100_termi_OWhileFalse,axiom,
% 0.31/0.47      ! [B3: state > $o,S: state,C2: com] :
% 0.31/0.47        ( ~ ( B3 @ S )
% 0.31/0.47       => ( termi @ ( while @ B3 @ C2 ) @ S ) ) ).
% 0.31/0.47  
% 0.31/0.47  % termi.WhileFalse
% 0.31/0.47  thf(fact_101_com_Odistinct_I5_J,axiom,
% 0.31/0.47      ! [X1: state > ( set @ state ),X41: state > $o,X42: com] :
% 0.31/0.47        ( ( do @ X1 )
% 0.31/0.47       != ( while @ X41 @ X42 ) ) ).
% 0.31/0.47  
% 0.31/0.47  % com.distinct(5)
% 0.31/0.47  thf(fact_102_exec_OIfFalse,axiom,
% 0.31/0.47      ! [B3: state > $o,S: state,C22: com,T3: state,C1: com] :
% 0.31/0.47        ( ~ ( B3 @ S )
% 0.31/0.47       => ( ( exec @ S @ C22 @ T3 )
% 0.31/0.47         => ( exec @ S @ ( cond @ B3 @ C1 @ C22 ) @ T3 ) ) ) ).
% 0.31/0.47  
% 0.31/0.47  % exec.IfFalse
% 0.31/0.47  thf(fact_103_exec_OIfTrue,axiom,
% 0.31/0.47      ! [B3: state > $o,S: state,C1: com,T3: state,C22: com] :
% 0.31/0.47        ( ( B3 @ S )
% 0.31/0.47       => ( ( exec @ S @ C1 @ T3 )
% 0.31/0.47         => ( exec @ S @ ( cond @ B3 @ C1 @ C22 ) @ T3 ) ) ) ).
% 0.31/0.47  
% 0.31/0.47  % exec.IfTrue
% 0.31/0.47  thf(fact_104_com_Odistinct_I13_J,axiom,
% 0.31/0.47      ! [X21: com,X22: com,X41: state > $o,X42: com] :
% 0.31/0.47        ( ( semi @ X21 @ X22 )
% 0.31/0.47       != ( while @ X41 @ X42 ) ) ).
% 0.31/0.47  
% 0.31/0.47  % com.distinct(13)
% 0.31/0.47  thf(fact_105_exec_ODo,axiom,
% 0.31/0.47      ! [T3: state,F3: state > ( set @ state ),S: state] :
% 0.31/0.47        ( ( member @ state @ T3 @ ( F3 @ S ) )
% 0.31/0.47       => ( exec @ S @ ( do @ F3 ) @ T3 ) ) ).
% 0.31/0.47  
% 0.31/0.47  % exec.Do
% 0.31/0.47  thf(fact_106_exec_OSemi,axiom,
% 0.31/0.47      ! [S0: state,C1: com,S12: state,C22: com,S22: state] :
% 0.31/0.47        ( ( exec @ S0 @ C1 @ S12 )
% 0.31/0.47       => ( ( exec @ S12 @ C22 @ S22 )
% 0.31/0.47         => ( exec @ S0 @ ( semi @ C1 @ C22 ) @ S22 ) ) ) ).
% 0.31/0.47  
% 0.31/0.47  % exec.Semi
% 0.31/0.47  thf(fact_107_termi_OIfFalse,axiom,
% 0.31/0.47      ! [B3: state > $o,S: state,C22: com,C1: com] :
% 0.31/0.47        ( ~ ( B3 @ S )
% 0.31/0.47       => ( ( termi @ C22 @ S )
% 0.31/0.47         => ( termi @ ( cond @ B3 @ C1 @ C22 ) @ S ) ) ) ).
% 0.31/0.47  
% 0.31/0.47  % termi.IfFalse
% 0.31/0.47  thf(fact_108_termi_OIfTrue,axiom,
% 0.31/0.47      ! [B3: state > $o,S: state,C1: com,C22: com] :
% 0.31/0.47        ( ( B3 @ S )
% 0.31/0.47       => ( ( termi @ C1 @ S )
% 0.31/0.47         => ( termi @ ( cond @ B3 @ C1 @ C22 ) @ S ) ) ) ).
% 0.31/0.47  
% 0.31/0.47  % termi.IfTrue
% 0.31/0.47  thf(fact_109_com_Odistinct_I3_J,axiom,
% 0.31/0.47      ! [X1: state > ( set @ state ),X31: state > $o,X322: com,X33: com] :
% 0.31/0.47        ( ( do @ X1 )
% 0.31/0.47       != ( cond @ X31 @ X322 @ X33 ) ) ).
% 0.31/0.47  
% 0.31/0.47  % com.distinct(3)
% 0.31/0.47  thf(fact_110_com_Odistinct_I11_J,axiom,
% 0.31/0.47      ! [X21: com,X22: com,X31: state > $o,X322: com,X33: com] :
% 0.31/0.47        ( ( semi @ X21 @ X22 )
% 0.31/0.47       != ( cond @ X31 @ X322 @ X33 ) ) ).
% 0.31/0.47  
% 0.31/0.47  % com.distinct(11)
% 0.31/0.47  thf(fact_111_com_Odistinct_I1_J,axiom,
% 0.31/0.47      ! [X1: state > ( set @ state ),X21: com,X22: com] :
% 0.31/0.47        ( ( do @ X1 )
% 0.31/0.47       != ( semi @ X21 @ X22 ) ) ).
% 0.31/0.47  
% 0.31/0.47  % com.distinct(1)
% 0.31/0.47  thf(fact_112_product__lists_Osimps_I1_J,axiom,
% 0.31/0.47      ! [A: $tType] :
% 0.31/0.47        ( ( product_lists @ A @ ( nil @ ( list @ A ) ) )
% 0.31/0.47        = ( cons @ ( list @ A ) @ ( nil @ A ) @ ( nil @ ( list @ A ) ) ) ) ).
% 0.31/0.47  
% 0.31/0.47  % product_lists.simps(1)
% 0.31/0.47  thf(fact_113_subseqs_Osimps_I1_J,axiom,
% 0.31/0.47      ! [A: $tType] :
% 0.31/0.47        ( ( subseqs @ A @ ( nil @ A ) )
% 0.31/0.47        = ( cons @ ( list @ A ) @ ( nil @ A ) @ ( nil @ ( list @ A ) ) ) ) ).
% 0.31/0.47  
% 0.31/0.47  % subseqs.simps(1)
% 0.31/0.47  thf(fact_114_app__execs,axiom,
% 0.31/0.47      ! [Cs2: list @ com,S: state,Cs: list @ com,S2: state,Cs22: list @ com] :
% 0.31/0.47        ( ( member @ ( product_prod @ ( product_prod @ ( list @ com ) @ state ) @ ( product_prod @ ( list @ com ) @ state ) ) @ ( product_Pair @ ( product_prod @ ( list @ com ) @ state ) @ ( product_prod @ ( list @ com ) @ state ) @ ( product_Pair @ ( list @ com ) @ state @ Cs2 @ S ) @ ( product_Pair @ ( list @ com ) @ state @ Cs @ S2 ) ) @ ( transitive_rtrancl @ ( product_prod @ ( list @ com ) @ state ) @ pHoare1053570893_exec1 ) )
% 0.31/0.47       => ( member @ ( product_prod @ ( product_prod @ ( list @ com ) @ state ) @ ( product_prod @ ( list @ com ) @ state ) ) @ ( product_Pair @ ( product_prod @ ( list @ com ) @ state ) @ ( product_prod @ ( list @ com ) @ state ) @ ( product_Pair @ ( list @ com ) @ state @ ( append @ com @ Cs2 @ Cs22 ) @ S ) @ ( product_Pair @ ( list @ com ) @ state @ ( append @ com @ Cs @ Cs22 ) @ S2 ) ) @ ( transitive_rtrancl @ ( product_prod @ ( list @ com ) @ state ) @ pHoare1053570893_exec1 ) ) ) ).
% 0.31/0.47  
% 0.31/0.47  % app_execs
% 0.31/0.47  thf(fact_115_insert__Nil,axiom,
% 0.31/0.47      ! [A: $tType,X: A] :
% 0.31/0.47        ( ( insert @ A @ X @ ( nil @ A ) )
% 0.31/0.47        = ( cons @ A @ X @ ( nil @ A ) ) ) ).
% 0.31/0.47  
% 0.31/0.47  % insert_Nil
% 0.31/0.47  thf(fact_116_listrel_Oinducts,axiom,
% 0.31/0.47      ! [A: $tType,B: $tType,X1: list @ A,X2: list @ B,R: set @ ( product_prod @ A @ B ),P: ( list @ A ) > ( list @ B ) > $o] :
% 0.31/0.47        ( ( member @ ( product_prod @ ( list @ A ) @ ( list @ B ) ) @ ( product_Pair @ ( list @ A ) @ ( list @ B ) @ X1 @ X2 ) @ ( listrel @ A @ B @ R ) )
% 0.31/0.47       => ( ( P @ ( nil @ A ) @ ( nil @ B ) )
% 0.31/0.47         => ( ! [X3: A,Y3: B,Xs: list @ A,Ys: list @ B] :
% 0.31/0.47                ( ( member @ ( product_prod @ A @ B ) @ ( product_Pair @ A @ B @ X3 @ Y3 ) @ R )
% 0.31/0.47               => ( ( member @ ( product_prod @ ( list @ A ) @ ( list @ B ) ) @ ( product_Pair @ ( list @ A ) @ ( list @ B ) @ Xs @ Ys ) @ ( listrel @ A @ B @ R ) )
% 0.31/0.47                 => ( ( P @ Xs @ Ys )
% 0.31/0.47                   => ( P @ ( cons @ A @ X3 @ Xs ) @ ( cons @ B @ Y3 @ Ys ) ) ) ) )
% 0.31/0.47           => ( P @ X1 @ X2 ) ) ) ) ).
% 0.31/0.47  
% 0.31/0.47  % listrel.inducts
% 0.31/0.47  thf(fact_117_append_Oassoc,axiom,
% 0.31/0.47      ! [A: $tType,A3: list @ A,B3: list @ A,C2: list @ A] :
% 0.31/0.47        ( ( append @ A @ ( append @ A @ A3 @ B3 ) @ C2 )
% 0.31/0.47        = ( append @ A @ A3 @ ( append @ A @ B3 @ C2 ) ) ) ).
% 0.31/0.47  
% 0.31/0.47  % append.assoc
% 0.31/0.47  thf(fact_118_append__assoc,axiom,
% 0.31/0.47      ! [A: $tType,Xs2: list @ A,Ys2: list @ A,Zs2: list @ A] :
% 0.31/0.47        ( ( append @ A @ ( append @ A @ Xs2 @ Ys2 ) @ Zs2 )
% 0.31/0.47        = ( append @ A @ Xs2 @ ( append @ A @ Ys2 @ Zs2 ) ) ) ).
% 0.31/0.47  
% 0.31/0.47  % append_assoc
% 0.31/0.47  thf(fact_119_append__same__eq,axiom,
% 0.31/0.47      ! [A: $tType,Ys2: list @ A,Xs2: list @ A,Zs2: list @ A] :
% 0.31/0.47        ( ( ( append @ A @ Ys2 @ Xs2 )
% 0.31/0.47          = ( append @ A @ Zs2 @ Xs2 ) )
% 0.31/0.47        = ( Ys2 = Zs2 ) ) ).
% 0.31/0.47  
% 0.31/0.47  % append_same_eq
% 0.31/0.47  thf(fact_120_same__append__eq,axiom,
% 0.31/0.47      ! [A: $tType,Xs2: list @ A,Ys2: list @ A,Zs2: list @ A] :
% 0.31/0.47        ( ( ( append @ A @ Xs2 @ Ys2 )
% 0.31/0.47          = ( append @ A @ Xs2 @ Zs2 ) )
% 0.31/0.47        = ( Ys2 = Zs2 ) ) ).
% 0.31/0.47  
% 0.31/0.47  % same_append_eq
% 0.31/0.47  thf(fact_121_append__Nil2,axiom,
% 0.31/0.47      ! [A: $tType,Xs2: list @ A] :
% 0.31/0.47        ( ( append @ A @ Xs2 @ ( nil @ A ) )
% 0.31/0.47        = Xs2 ) ).
% 0.31/0.47  
% 0.31/0.47  % append_Nil2
% 0.31/0.47  thf(fact_122_append__self__conv,axiom,
% 0.31/0.47      ! [A: $tType,Xs2: list @ A,Ys2: list @ A] :
% 0.31/0.47        ( ( ( append @ A @ Xs2 @ Ys2 )
% 0.31/0.47          = Xs2 )
% 0.31/0.47        = ( Ys2
% 0.31/0.47          = ( nil @ A ) ) ) ).
% 0.31/0.47  
% 0.31/0.47  % append_self_conv
% 0.31/0.47  thf(fact_123_self__append__conv,axiom,
% 0.31/0.47      ! [A: $tType,Xs2: list @ A,Ys2: list @ A] :
% 0.31/0.47        ( ( Xs2
% 0.31/0.47          = ( append @ A @ Xs2 @ Ys2 ) )
% 0.31/0.47        = ( Ys2
% 0.31/0.47          = ( nil @ A ) ) ) ).
% 0.31/0.47  
% 0.31/0.47  % self_append_conv
% 0.31/0.47  thf(fact_124_append__self__conv2,axiom,
% 0.31/0.47      ! [A: $tType,Xs2: list @ A,Ys2: list @ A] :
% 0.31/0.47        ( ( ( append @ A @ Xs2 @ Ys2 )
% 0.31/0.47          = Ys2 )
% 0.31/0.47        = ( Xs2
% 0.31/0.47          = ( nil @ A ) ) ) ).
% 0.31/0.47  
% 0.31/0.47  % append_self_conv2
% 0.31/0.47  thf(fact_125_self__append__conv2,axiom,
% 0.31/0.47      ! [A: $tType,Ys2: list @ A,Xs2: list @ A] :
% 0.31/0.47        ( ( Ys2
% 0.31/0.47          = ( append @ A @ Xs2 @ Ys2 ) )
% 0.31/0.47        = ( Xs2
% 0.31/0.47          = ( nil @ A ) ) ) ).
% 0.31/0.47  
% 0.31/0.47  % self_append_conv2
% 0.31/0.47  thf(fact_126_Nil__is__append__conv,axiom,
% 0.31/0.47      ! [A: $tType,Xs2: list @ A,Ys2: list @ A] :
% 0.31/0.47        ( ( ( nil @ A )
% 0.31/0.47          = ( append @ A @ Xs2 @ Ys2 ) )
% 0.31/0.47        = ( ( Xs2
% 0.31/0.47            = ( nil @ A ) )
% 0.31/0.47          & ( Ys2
% 0.31/0.47            = ( nil @ A ) ) ) ) ).
% 0.31/0.47  
% 0.31/0.47  % Nil_is_append_conv
% 0.31/0.47  thf(fact_127_append__is__Nil__conv,axiom,
% 0.31/0.47      ! [A: $tType,Xs2: list @ A,Ys2: list @ A] :
% 0.31/0.47        ( ( ( append @ A @ Xs2 @ Ys2 )
% 0.31/0.47          = ( nil @ A ) )
% 0.31/0.47        = ( ( Xs2
% 0.31/0.47            = ( nil @ A ) )
% 0.31/0.47          & ( Ys2
% 0.31/0.47            = ( nil @ A ) ) ) ) ).
% 0.31/0.47  
% 0.31/0.47  % append_is_Nil_conv
% 0.31/0.47  thf(fact_128_append_Oright__neutral,axiom,
% 0.31/0.47      ! [A: $tType,A3: list @ A] :
% 0.31/0.47        ( ( append @ A @ A3 @ ( nil @ A ) )
% 0.31/0.47        = A3 ) ).
% 0.31/0.47  
% 0.31/0.47  % append.right_neutral
% 0.31/0.47  thf(fact_129_append1__eq__conv,axiom,
% 0.31/0.47      ! [A: $tType,Xs2: list @ A,X: A,Ys2: list @ A,Y: A] :
% 0.31/0.47        ( ( ( append @ A @ Xs2 @ ( cons @ A @ X @ ( nil @ A ) ) )
% 0.31/0.47          = ( append @ A @ Ys2 @ ( cons @ A @ Y @ ( nil @ A ) ) ) )
% 0.31/0.47        = ( ( Xs2 = Ys2 )
% 0.31/0.47          & ( X = Y ) ) ) ).
% 0.31/0.47  
% 0.31/0.47  % append1_eq_conv
% 0.31/0.47  thf(fact_130_listrel__rtrancl__refl,axiom,
% 0.31/0.47      ! [A: $tType,Xs2: list @ A,R: set @ ( product_prod @ A @ A )] : ( member @ ( product_prod @ ( list @ A ) @ ( list @ A ) ) @ ( product_Pair @ ( list @ A ) @ ( list @ A ) @ Xs2 @ Xs2 ) @ ( listrel @ A @ A @ ( transitive_rtrancl @ A @ R ) ) ) ).
% 0.31/0.47  
% 0.31/0.47  % listrel_rtrancl_refl
% 0.31/0.47  thf(fact_131_append__Cons,axiom,
% 0.31/0.47      ! [A: $tType,X: A,Xs2: list @ A,Ys2: list @ A] :
% 0.31/0.47        ( ( append @ A @ ( cons @ A @ X @ Xs2 ) @ Ys2 )
% 0.31/0.47        = ( cons @ A @ X @ ( append @ A @ Xs2 @ Ys2 ) ) ) ).
% 0.31/0.47  
% 0.31/0.47  % append_Cons
% 0.31/0.47  thf(fact_132_Cons__eq__appendI,axiom,
% 0.31/0.47      ! [A: $tType,X: A,Xs1: list @ A,Ys2: list @ A,Xs2: list @ A,Zs2: list @ A] :
% 0.31/0.47        ( ( ( cons @ A @ X @ Xs1 )
% 0.31/0.47          = Ys2 )
% 0.31/0.47       => ( ( Xs2
% 0.31/0.47            = ( append @ A @ Xs1 @ Zs2 ) )
% 0.31/0.47         => ( ( cons @ A @ X @ Xs2 )
% 0.31/0.47            = ( append @ A @ Ys2 @ Zs2 ) ) ) ) ).
% 0.31/0.47  
% 0.31/0.47  % Cons_eq_appendI
% 0.31/0.47  thf(fact_133_append_Oleft__neutral,axiom,
% 0.31/0.47      ! [A: $tType,A3: list @ A] :
% 0.31/0.47        ( ( append @ A @ ( nil @ A ) @ A3 )
% 0.31/0.47        = A3 ) ).
% 0.31/0.47  
% 0.31/0.47  % append.left_neutral
% 0.31/0.47  thf(fact_134_append__Nil,axiom,
% 0.31/0.47      ! [A: $tType,Ys2: list @ A] :
% 0.31/0.47        ( ( append @ A @ ( nil @ A ) @ Ys2 )
% 0.31/0.47        = Ys2 ) ).
% 0.31/0.47  
% 0.31/0.47  % append_Nil
% 0.31/0.47  thf(fact_135_eq__Nil__appendI,axiom,
% 0.31/0.47      ! [A: $tType,Xs2: list @ A,Ys2: list @ A] :
% 0.31/0.47        ( ( Xs2 = Ys2 )
% 0.31/0.47       => ( Xs2
% 0.31/0.47          = ( append @ A @ ( nil @ A ) @ Ys2 ) ) ) ).
% 0.31/0.47  
% 0.31/0.47  % eq_Nil_appendI
% 0.31/0.47  thf(fact_136_append__eq__appendI,axiom,
% 0.31/0.47      ! [A: $tType,Xs2: list @ A,Xs1: list @ A,Zs2: list @ A,Ys2: list @ A,Us: list @ A] :
% 0.31/0.47        ( ( ( append @ A @ Xs2 @ Xs1 )
% 0.31/0.47          = Zs2 )
% 0.31/0.47       => ( ( Ys2
% 0.31/0.47            = ( append @ A @ Xs1 @ Us ) )
% 0.31/0.47         => ( ( append @ A @ Xs2 @ Ys2 )
% 0.31/0.47            = ( append @ A @ Zs2 @ Us ) ) ) ) ).
% 0.31/0.47  
% 0.31/0.47  % append_eq_appendI
% 0.31/0.47  thf(fact_137_append__eq__append__conv2,axiom,
% 0.31/0.47      ! [A: $tType,Xs2: list @ A,Ys2: list @ A,Zs2: list @ A,Ts: list @ A] :
% 0.31/0.47        ( ( ( append @ A @ Xs2 @ Ys2 )
% 0.31/0.47          = ( append @ A @ Zs2 @ Ts ) )
% 0.31/0.47        = ( ? [Us2: list @ A] :
% 0.31/0.47              ( ( ( Xs2
% 0.31/0.47                  = ( append @ A @ Zs2 @ Us2 ) )
% 0.31/0.47                & ( ( append @ A @ Us2 @ Ys2 )
% 0.31/0.47                  = Ts ) )
% 0.31/0.47              | ( ( ( append @ A @ Xs2 @ Us2 )
% 0.31/0.47                  = Zs2 )
% 0.31/0.47                & ( Ys2
% 0.31/0.47                  = ( append @ A @ Us2 @ Ts ) ) ) ) ) ) ).
% 0.31/0.47  
% 0.31/0.47  % append_eq_append_conv2
% 0.31/0.47  thf(fact_138_rev__induct,axiom,
% 0.31/0.47      ! [A: $tType,P: ( list @ A ) > $o,Xs2: list @ A] :
% 0.31/0.47        ( ( P @ ( nil @ A ) )
% 0.31/0.47       => ( ! [X3: A,Xs: list @ A] :
% 0.31/0.47              ( ( P @ Xs )
% 0.31/0.47             => ( P @ ( append @ A @ Xs @ ( cons @ A @ X3 @ ( nil @ A ) ) ) ) )
% 0.31/0.47         => ( P @ Xs2 ) ) ) ).
% 0.31/0.47  
% 0.31/0.47  % rev_induct
% 0.31/0.47  thf(fact_139_rev__exhaust,axiom,
% 0.31/0.47      ! [A: $tType,Xs2: list @ A] :
% 0.31/0.47        ( ( Xs2
% 0.31/0.47         != ( nil @ A ) )
% 0.31/0.47       => ~ ! [Ys: list @ A,Y3: A] :
% 0.31/0.47              ( Xs2
% 0.31/0.47             != ( append @ A @ Ys @ ( cons @ A @ Y3 @ ( nil @ A ) ) ) ) ) ).
% 0.31/0.47  
% 0.31/0.47  % rev_exhaust
% 0.31/0.47  thf(fact_140_Cons__eq__append__conv,axiom,
% 0.31/0.47      ! [A: $tType,X: A,Xs2: list @ A,Ys2: list @ A,Zs2: list @ A] :
% 0.31/0.47        ( ( ( cons @ A @ X @ Xs2 )
% 0.31/0.47          = ( append @ A @ Ys2 @ Zs2 ) )
% 0.31/0.47        = ( ( ( Ys2
% 0.31/0.47              = ( nil @ A ) )
% 0.31/0.47            & ( ( cons @ A @ X @ Xs2 )
% 0.31/0.47              = Zs2 ) )
% 0.31/0.47          | ? [Ys4: list @ A] :
% 0.31/0.47              ( ( ( cons @ A @ X @ Ys4 )
% 0.31/0.47                = Ys2 )
% 0.31/0.47              & ( Xs2
% 0.31/0.47                = ( append @ A @ Ys4 @ Zs2 ) ) ) ) ) ).
% 0.31/0.47  
% 0.31/0.47  % Cons_eq_append_conv
% 0.31/0.47  thf(fact_141_append__eq__Cons__conv,axiom,
% 0.31/0.47      ! [A: $tType,Ys2: list @ A,Zs2: list @ A,X: A,Xs2: list @ A] :
% 0.31/0.47        ( ( ( append @ A @ Ys2 @ Zs2 )
% 0.31/0.47          = ( cons @ A @ X @ Xs2 ) )
% 0.31/0.47        = ( ( ( Ys2
% 0.31/0.47              = ( nil @ A ) )
% 0.31/0.47            & ( Zs2
% 0.31/0.47              = ( cons @ A @ X @ Xs2 ) ) )
% 0.31/0.47          | ? [Ys4: list @ A] :
% 0.31/0.47              ( ( Ys2
% 0.31/0.47                = ( cons @ A @ X @ Ys4 ) )
% 0.31/0.47              & ( ( append @ A @ Ys4 @ Zs2 )
% 0.31/0.47                = Xs2 ) ) ) ) ).
% 0.31/0.47  
% 0.31/0.47  % append_eq_Cons_conv
% 0.31/0.47  thf(fact_142_rev__nonempty__induct,axiom,
% 0.31/0.47      ! [A: $tType,Xs2: list @ A,P: ( list @ A ) > $o] :
% 0.31/0.47        ( ( Xs2
% 0.31/0.47         != ( nil @ A ) )
% 0.31/0.47       => ( ! [X3: A] : ( P @ ( cons @ A @ X3 @ ( nil @ A ) ) )
% 0.31/0.47         => ( ! [X3: A,Xs: list @ A] :
% 0.31/0.47                ( ( Xs
% 0.31/0.47                 != ( nil @ A ) )
% 0.31/0.47               => ( ( P @ Xs )
% 0.31/0.47                 => ( P @ ( append @ A @ Xs @ ( cons @ A @ X3 @ ( nil @ A ) ) ) ) ) )
% 0.31/0.47           => ( P @ Xs2 ) ) ) ) ).
% 0.31/0.47  
% 0.31/0.47  % rev_nonempty_induct
% 0.31/0.47  thf(fact_143_listrel__Nil2,axiom,
% 0.31/0.47      ! [B: $tType,A: $tType,Xs2: list @ A,R: set @ ( product_prod @ A @ B )] :
% 0.31/0.47        ( ( member @ ( product_prod @ ( list @ A ) @ ( list @ B ) ) @ ( product_Pair @ ( list @ A ) @ ( list @ B ) @ Xs2 @ ( nil @ B ) ) @ ( listrel @ A @ B @ R ) )
% 0.31/0.47       => ( Xs2
% 0.31/0.47          = ( nil @ A ) ) ) ).
% 0.31/0.47  
% 0.31/0.47  % listrel_Nil2
% 0.31/0.47  thf(fact_144_listrel__Nil1,axiom,
% 0.31/0.47      ! [A: $tType,B: $tType,Xs2: list @ B,R: set @ ( product_prod @ A @ B )] :
% 0.31/0.47        ( ( member @ ( product_prod @ ( list @ A ) @ ( list @ B ) ) @ ( product_Pair @ ( list @ A ) @ ( list @ B ) @ ( nil @ A ) @ Xs2 ) @ ( listrel @ A @ B @ R ) )
% 0.31/0.47       => ( Xs2
% 0.31/0.47          = ( nil @ B ) ) ) ).
% 0.31/0.47  
% 0.31/0.47  % listrel_Nil1
% 0.31/0.47  thf(fact_145_listrel_ONil,axiom,
% 0.31/0.47      ! [B: $tType,A: $tType,R: set @ ( product_prod @ A @ B )] : ( member @ ( product_prod @ ( list @ A ) @ ( list @ B ) ) @ ( product_Pair @ ( list @ A ) @ ( list @ B ) @ ( nil @ A ) @ ( nil @ B ) ) @ ( listrel @ A @ B @ R ) ) ).
% 0.31/0.47  
% 0.31/0.47  % listrel.Nil
% 0.31/0.47  thf(fact_146_listrel__rtrancl__trans,axiom,
% 0.31/0.47      ! [A: $tType,Xs2: list @ A,Ys2: list @ A,R: set @ ( product_prod @ A @ A ),Zs2: list @ A] :
% 0.31/0.47        ( ( member @ ( product_prod @ ( list @ A ) @ ( list @ A ) ) @ ( product_Pair @ ( list @ A ) @ ( list @ A ) @ Xs2 @ Ys2 ) @ ( listrel @ A @ A @ ( transitive_rtrancl @ A @ R ) ) )
% 0.31/0.47       => ( ( member @ ( product_prod @ ( list @ A ) @ ( list @ A ) ) @ ( product_Pair @ ( list @ A ) @ ( list @ A ) @ Ys2 @ Zs2 ) @ ( listrel @ A @ A @ ( transitive_rtrancl @ A @ R ) ) )
% 0.31/0.47         => ( member @ ( product_prod @ ( list @ A ) @ ( list @ A ) ) @ ( product_Pair @ ( list @ A ) @ ( list @ A ) @ Xs2 @ Zs2 ) @ ( listrel @ A @ A @ ( transitive_rtrancl @ A @ R ) ) ) ) ) ).
% 0.31/0.47  
% 0.31/0.47  % listrel_rtrancl_trans
% 0.31/0.47  thf(fact_147_listrel_OCons,axiom,
% 0.31/0.47      ! [B: $tType,A: $tType,X: A,Y: B,R: set @ ( product_prod @ A @ B ),Xs2: list @ A,Ys2: list @ B] :
% 0.31/0.47        ( ( member @ ( product_prod @ A @ B ) @ ( product_Pair @ A @ B @ X @ Y ) @ R )
% 0.31/0.47       => ( ( member @ ( product_prod @ ( list @ A ) @ ( list @ B ) ) @ ( product_Pair @ ( list @ A ) @ ( list @ B ) @ Xs2 @ Ys2 ) @ ( listrel @ A @ B @ R ) )
% 0.31/0.47         => ( member @ ( product_prod @ ( list @ A ) @ ( list @ B ) ) @ ( product_Pair @ ( list @ A ) @ ( list @ B ) @ ( cons @ A @ X @ Xs2 ) @ ( cons @ B @ Y @ Ys2 ) ) @ ( listrel @ A @ B @ R ) ) ) ) ).
% 0.31/0.47  
% 0.31/0.47  % listrel.Cons
% 0.31/0.47  thf(fact_148_listrel__Cons1,axiom,
% 0.31/0.47      ! [B: $tType,A: $tType,Y: A,Ys2: list @ A,Xs2: list @ B,R: set @ ( product_prod @ A @ B )] :
% 0.31/0.47        ( ( member @ ( product_prod @ ( list @ A ) @ ( list @ B ) ) @ ( product_Pair @ ( list @ A ) @ ( list @ B ) @ ( cons @ A @ Y @ Ys2 ) @ Xs2 ) @ ( listrel @ A @ B @ R ) )
% 0.31/0.47       => ~ ! [Y3: B,Ys: list @ B] :
% 0.31/0.47              ( ( Xs2
% 0.31/0.47                = ( cons @ B @ Y3 @ Ys ) )
% 0.31/0.47             => ( ( member @ ( product_prod @ A @ B ) @ ( product_Pair @ A @ B @ Y @ Y3 ) @ R )
% 0.31/0.47               => ~ ( member @ ( product_prod @ ( list @ A ) @ ( list @ B ) ) @ ( product_Pair @ ( list @ A ) @ ( list @ B ) @ Ys2 @ Ys ) @ ( listrel @ A @ B @ R ) ) ) ) ) ).
% 0.31/0.47  
% 0.31/0.47  % listrel_Cons1
% 0.31/0.47  thf(fact_149_listrel__Cons2,axiom,
% 0.31/0.47      ! [B: $tType,A: $tType,Xs2: list @ A,Y: B,Ys2: list @ B,R: set @ ( product_prod @ A @ B )] :
% 0.31/0.47        ( ( member @ ( product_prod @ ( list @ A ) @ ( list @ B ) ) @ ( product_Pair @ ( list @ A ) @ ( list @ B ) @ Xs2 @ ( cons @ B @ Y @ Ys2 ) ) @ ( listrel @ A @ B @ R ) )
% 0.31/0.47       => ~ ! [X3: A,Xs: list @ A] :
% 0.31/0.47              ( ( Xs2
% 0.31/0.47                = ( cons @ A @ X3 @ Xs ) )
% 0.31/0.47             => ( ( member @ ( product_prod @ A @ B ) @ ( product_Pair @ A @ B @ X3 @ Y ) @ R )
% 0.31/0.47               => ~ ( member @ ( product_prod @ ( list @ A ) @ ( list @ B ) ) @ ( product_Pair @ ( list @ A ) @ ( list @ B ) @ Xs @ Ys2 ) @ ( listrel @ A @ B @ R ) ) ) ) ) ).
% 0.31/0.47  
% 0.31/0.47  % listrel_Cons2
% 0.31/0.47  thf(fact_150_app__exec,axiom,
% 0.31/0.47      ! [Cs2: list @ com,S: state,Cs: list @ com,S2: state,Cs22: list @ com] :
% 0.31/0.47        ( ( member @ ( product_prod @ ( product_prod @ ( list @ com ) @ state ) @ ( product_prod @ ( list @ com ) @ state ) ) @ ( product_Pair @ ( product_prod @ ( list @ com ) @ state ) @ ( product_prod @ ( list @ com ) @ state ) @ ( product_Pair @ ( list @ com ) @ state @ Cs2 @ S ) @ ( product_Pair @ ( list @ com ) @ state @ Cs @ S2 ) ) @ pHoare1053570893_exec1 )
% 0.31/0.47       => ( member @ ( product_prod @ ( product_prod @ ( list @ com ) @ state ) @ ( product_prod @ ( list @ com ) @ state ) ) @ ( product_Pair @ ( product_prod @ ( list @ com ) @ state ) @ ( product_prod @ ( list @ com ) @ state ) @ ( product_Pair @ ( list @ com ) @ state @ ( append @ com @ Cs2 @ Cs22 ) @ S ) @ ( product_Pair @ ( list @ com ) @ state @ ( append @ com @ Cs @ Cs22 ) @ S2 ) ) @ pHoare1053570893_exec1 ) ) ).
% 0.31/0.47  
% 0.31/0.47  % app_exec
% 0.31/0.47  thf(fact_151_listrel_Ocases,axiom,
% 0.31/0.47      ! [B: $tType,A: $tType,A1: list @ A,A22: list @ B,R: set @ ( product_prod @ A @ B )] :
% 0.31/0.47        ( ( member @ ( product_prod @ ( list @ A ) @ ( list @ B ) ) @ ( product_Pair @ ( list @ A ) @ ( list @ B ) @ A1 @ A22 ) @ ( listrel @ A @ B @ R ) )
% 0.31/0.47       => ( ( ( A1
% 0.31/0.47              = ( nil @ A ) )
% 0.31/0.47           => ( A22
% 0.31/0.47             != ( nil @ B ) ) )
% 0.31/0.47         => ~ ! [X3: A,Y3: B,Xs: list @ A] :
% 0.31/0.47                ( ( A1
% 0.31/0.47                  = ( cons @ A @ X3 @ Xs ) )
% 0.31/0.47               => ! [Ys: list @ B] :
% 0.31/0.47                    ( ( A22
% 0.31/0.47                      = ( cons @ B @ Y3 @ Ys ) )
% 0.31/0.47                   => ( ( member @ ( product_prod @ A @ B ) @ ( product_Pair @ A @ B @ X3 @ Y3 ) @ R )
% 0.31/0.47                     => ~ ( member @ ( product_prod @ ( list @ A ) @ ( list @ B ) ) @ ( product_Pair @ ( list @ A ) @ ( list @ B ) @ Xs @ Ys ) @ ( listrel @ A @ B @ R ) ) ) ) ) ) ) ).
% 0.31/0.47  
% 0.31/0.47  % listrel.cases
% 0.31/0.47  thf(fact_152_listrel_Osimps,axiom,
% 0.31/0.47      ! [B: $tType,A: $tType,A1: list @ A,A22: list @ B,R: set @ ( product_prod @ A @ B )] :
% 0.31/0.47        ( ( member @ ( product_prod @ ( list @ A ) @ ( list @ B ) ) @ ( product_Pair @ ( list @ A ) @ ( list @ B ) @ A1 @ A22 ) @ ( listrel @ A @ B @ R ) )
% 0.31/0.47        = ( ( ( A1
% 0.31/0.47              = ( nil @ A ) )
% 0.31/0.47            & ( A22
% 0.31/0.47              = ( nil @ B ) ) )
% 0.31/0.47          | ? [X4: A,Y4: B,Xs3: list @ A,Ys3: list @ B] :
% 0.31/0.47              ( ( A1
% 0.31/0.47                = ( cons @ A @ X4 @ Xs3 ) )
% 0.31/0.47              & ( A22
% 0.31/0.47                = ( cons @ B @ Y4 @ Ys3 ) )
% 0.31/0.47              & ( member @ ( product_prod @ A @ B ) @ ( product_Pair @ A @ B @ X4 @ Y4 ) @ R )
% 0.31/0.47              & ( member @ ( product_prod @ ( list @ A ) @ ( list @ B ) ) @ ( product_Pair @ ( list @ A ) @ ( list @ B ) @ Xs3 @ Ys3 ) @ ( listrel @ A @ B @ R ) ) ) ) ) ).
% 0.31/0.47  
% 0.31/0.47  % listrel.simps
% 0.31/0.47  thf(fact_153_bind__simps_I2_J,axiom,
% 0.31/0.47      ! [A: $tType,B: $tType,X: B,Xs2: list @ B,F3: B > ( list @ A )] :
% 0.31/0.47        ( ( bind @ B @ A @ ( cons @ B @ X @ Xs2 ) @ F3 )
% 0.31/0.47        = ( append @ A @ ( F3 @ X ) @ ( bind @ B @ A @ Xs2 @ F3 ) ) ) ).
% 0.31/0.47  
% 0.31/0.47  % bind_simps(2)
% 0.31/0.47  thf(fact_154_snoc__listrel1__snoc__iff,axiom,
% 0.31/0.47      ! [A: $tType,Xs2: list @ A,X: A,Ys2: list @ A,Y: A,R: set @ ( product_prod @ A @ A )] :
% 0.31/0.47        ( ( member @ ( product_prod @ ( list @ A ) @ ( list @ A ) ) @ ( product_Pair @ ( list @ A ) @ ( list @ A ) @ ( append @ A @ Xs2 @ ( cons @ A @ X @ ( nil @ A ) ) ) @ ( append @ A @ Ys2 @ ( cons @ A @ Y @ ( nil @ A ) ) ) ) @ ( listrel1 @ A @ R ) )
% 0.31/0.47        = ( ( ( member @ ( product_prod @ ( list @ A ) @ ( list @ A ) ) @ ( product_Pair @ ( list @ A ) @ ( list @ A ) @ Xs2 @ Ys2 ) @ ( listrel1 @ A @ R ) )
% 0.31/0.47            & ( X = Y ) )
% 0.31/0.47          | ( ( Xs2 = Ys2 )
% 0.31/0.47            & ( member @ ( product_prod @ A @ A ) @ ( product_Pair @ A @ A @ X @ Y ) @ R ) ) ) ) ).
% 0.31/0.47  
% 0.31/0.47  % snoc_listrel1_snoc_iff
% 0.31/0.47  thf(fact_155_maps__simps_I1_J,axiom,
% 0.31/0.47      ! [A: $tType,B: $tType,F3: B > ( list @ A ),X: B,Xs2: list @ B] :
% 0.31/0.47        ( ( maps @ B @ A @ F3 @ ( cons @ B @ X @ Xs2 ) )
% 0.31/0.47        = ( append @ A @ ( F3 @ X ) @ ( maps @ B @ A @ F3 @ Xs2 ) ) ) ).
% 0.31/0.47  
% 0.31/0.47  % maps_simps(1)
% 0.31/0.47  thf(fact_156_concat__eq__append__conv,axiom,
% 0.31/0.47      ! [A: $tType,Xss2: list @ ( list @ A ),Ys2: list @ A,Zs2: list @ A] :
% 0.31/0.47        ( ( ( concat @ A @ Xss2 )
% 0.31/0.47          = ( append @ A @ Ys2 @ Zs2 ) )
% 0.31/0.47        = ( ( ( Xss2
% 0.31/0.47              = ( nil @ ( list @ A ) ) )
% 0.31/0.47           => ( ( Ys2
% 0.31/0.47                = ( nil @ A ) )
% 0.31/0.47              & ( Zs2
% 0.31/0.47                = ( nil @ A ) ) ) )
% 0.31/0.47          & ( ( Xss2
% 0.31/0.47             != ( nil @ ( list @ A ) ) )
% 0.31/0.47           => ? [Xss1: list @ ( list @ A ),Xs3: list @ A,Xs4: list @ A,Xss22: list @ ( list @ A )] :
% 0.31/0.47                ( ( Xss2
% 0.31/0.47                  = ( append @ ( list @ A ) @ Xss1 @ ( cons @ ( list @ A ) @ ( append @ A @ Xs3 @ Xs4 ) @ Xss22 ) ) )
% 0.31/0.47                & ( Ys2
% 0.31/0.47                  = ( append @ A @ ( concat @ A @ Xss1 ) @ Xs3 ) )
% 0.31/0.47                & ( Zs2
% 0.31/0.47                  = ( append @ A @ Xs4 @ ( concat @ A @ Xss22 ) ) ) ) ) ) ) ).
% 0.31/0.47  
% 0.31/0.47  % concat_eq_append_conv
% 0.31/0.47  thf(fact_157_bind__simps_I1_J,axiom,
% 0.31/0.47      ! [B: $tType,A: $tType,F3: B > ( list @ A )] :
% 0.31/0.47        ( ( bind @ B @ A @ ( nil @ B ) @ F3 )
% 0.31/0.47        = ( nil @ A ) ) ).
% 0.31/0.47  
% 0.31/0.47  % bind_simps(1)
% 0.31/0.47  thf(fact_158_concat__append,axiom,
% 0.31/0.47      ! [A: $tType,Xs2: list @ ( list @ A ),Ys2: list @ ( list @ A )] :
% 0.31/0.47        ( ( concat @ A @ ( append @ ( list @ A ) @ Xs2 @ Ys2 ) )
% 0.31/0.47        = ( append @ A @ ( concat @ A @ Xs2 ) @ ( concat @ A @ Ys2 ) ) ) ).
% 0.31/0.47  
% 0.31/0.47  % concat_append
% 0.31/0.47  thf(fact_159_Cons__listrel1__Cons,axiom,
% 0.31/0.47      ! [A: $tType,X: A,Xs2: list @ A,Y: A,Ys2: list @ A,R: set @ ( product_prod @ A @ A )] :
% 0.31/0.47        ( ( member @ ( product_prod @ ( list @ A ) @ ( list @ A ) ) @ ( product_Pair @ ( list @ A ) @ ( list @ A ) @ ( cons @ A @ X @ Xs2 ) @ ( cons @ A @ Y @ Ys2 ) ) @ ( listrel1 @ A @ R ) )
% 0.31/0.47        = ( ( ( member @ ( product_prod @ A @ A ) @ ( product_Pair @ A @ A @ X @ Y ) @ R )
% 0.31/0.47            & ( Xs2 = Ys2 ) )
% 0.31/0.47          | ( ( X = Y )
% 0.31/0.47            & ( member @ ( product_prod @ ( list @ A ) @ ( list @ A ) ) @ ( product_Pair @ ( list @ A ) @ ( list @ A ) @ Xs2 @ Ys2 ) @ ( listrel1 @ A @ R ) ) ) ) ) ).
% 0.31/0.47  
% 0.31/0.47  % Cons_listrel1_Cons
% 0.31/0.47  thf(fact_160_listrel1I2,axiom,
% 0.31/0.47      ! [A: $tType,Xs2: list @ A,Ys2: list @ A,R: set @ ( product_prod @ A @ A ),X: A] :
% 0.31/0.47        ( ( member @ ( product_prod @ ( list @ A ) @ ( list @ A ) ) @ ( product_Pair @ ( list @ A ) @ ( list @ A ) @ Xs2 @ Ys2 ) @ ( listrel1 @ A @ R ) )
% 0.31/0.47       => ( member @ ( product_prod @ ( list @ A ) @ ( list @ A ) ) @ ( product_Pair @ ( list @ A ) @ ( list @ A ) @ ( cons @ A @ X @ Xs2 ) @ ( cons @ A @ X @ Ys2 ) ) @ ( listrel1 @ A @ R ) ) ) ).
% 0.31/0.47  
% 0.31/0.47  % listrel1I2
% 0.31/0.47  thf(fact_161_rtrancl__listrel1__ConsI1,axiom,
% 0.31/0.47      ! [A: $tType,Xs2: list @ A,Ys2: list @ A,R: set @ ( product_prod @ A @ A ),X: A] :
% 0.31/0.47        ( ( member @ ( product_prod @ ( list @ A ) @ ( list @ A ) ) @ ( product_Pair @ ( list @ A ) @ ( list @ A ) @ Xs2 @ Ys2 ) @ ( transitive_rtrancl @ ( list @ A ) @ ( listrel1 @ A @ R ) ) )
% 0.31/0.47       => ( member @ ( product_prod @ ( list @ A ) @ ( list @ A ) ) @ ( product_Pair @ ( list @ A ) @ ( list @ A ) @ ( cons @ A @ X @ Xs2 ) @ ( cons @ A @ X @ Ys2 ) ) @ ( transitive_rtrancl @ ( list @ A ) @ ( listrel1 @ A @ R ) ) ) ) ).
% 0.31/0.47  
% 0.31/0.47  % rtrancl_listrel1_ConsI1
% 0.31/0.47  thf(fact_162_not__Nil__listrel1,axiom,
% 0.31/0.47      ! [A: $tType,Xs2: list @ A,R: set @ ( product_prod @ A @ A )] :
% 0.31/0.47        ~ ( member @ ( product_prod @ ( list @ A ) @ ( list @ A ) ) @ ( product_Pair @ ( list @ A ) @ ( list @ A ) @ ( nil @ A ) @ Xs2 ) @ ( listrel1 @ A @ R ) ) ).
% 0.31/0.47  
% 0.31/0.47  % not_Nil_listrel1
% 0.31/0.47  thf(fact_163_not__listrel1__Nil,axiom,
% 0.31/0.47      ! [A: $tType,Xs2: list @ A,R: set @ ( product_prod @ A @ A )] :
% 0.31/0.47        ~ ( member @ ( product_prod @ ( list @ A ) @ ( list @ A ) ) @ ( product_Pair @ ( list @ A ) @ ( list @ A ) @ Xs2 @ ( nil @ A ) ) @ ( listrel1 @ A @ R ) ) ).
% 0.31/0.47  
% 0.31/0.47  % not_listrel1_Nil
% 0.31/0.47  thf(fact_164_append__listrel1I,axiom,
% 0.31/0.47      ! [A: $tType,Xs2: list @ A,Ys2: list @ A,R: set @ ( product_prod @ A @ A ),Us: list @ A,Vs: list @ A] :
% 0.31/0.47        ( ( ( ( member @ ( product_prod @ ( list @ A ) @ ( list @ A ) ) @ ( product_Pair @ ( list @ A ) @ ( list @ A ) @ Xs2 @ Ys2 ) @ ( listrel1 @ A @ R ) )
% 0.31/0.47            & ( Us = Vs ) )
% 0.31/0.47          | ( ( Xs2 = Ys2 )
% 0.31/0.47            & ( member @ ( product_prod @ ( list @ A ) @ ( list @ A ) ) @ ( product_Pair @ ( list @ A ) @ ( list @ A ) @ Us @ Vs ) @ ( listrel1 @ A @ R ) ) ) )
% 0.31/0.47       => ( member @ ( product_prod @ ( list @ A ) @ ( list @ A ) ) @ ( product_Pair @ ( list @ A ) @ ( list @ A ) @ ( append @ A @ Xs2 @ Us ) @ ( append @ A @ Ys2 @ Vs ) ) @ ( listrel1 @ A @ R ) ) ) ).
% 0.31/0.47  
% 0.31/0.47  % append_listrel1I
% 0.31/0.47  thf(fact_165_concat_Osimps_I1_J,axiom,
% 0.31/0.47      ! [A: $tType] :
% 0.31/0.47        ( ( concat @ A @ ( nil @ ( list @ A ) ) )
% 0.31/0.47        = ( nil @ A ) ) ).
% 0.31/0.47  
% 0.31/0.47  % concat.simps(1)
% 0.31/0.47  thf(fact_166_concat_Osimps_I2_J,axiom,
% 0.31/0.47      ! [A: $tType,X: list @ A,Xs2: list @ ( list @ A )] :
% 0.31/0.47        ( ( concat @ A @ ( cons @ ( list @ A ) @ X @ Xs2 ) )
% 0.31/0.47        = ( append @ A @ X @ ( concat @ A @ Xs2 ) ) ) ).
% 0.31/0.47  
% 0.31/0.47  % concat.simps(2)
% 0.31/0.47  thf(fact_167_listrel__rtrancl__eq__rtrancl__listrel1,axiom,
% 0.31/0.47      ! [A: $tType,R: set @ ( product_prod @ A @ A )] :
% 0.31/0.47        ( ( listrel @ A @ A @ ( transitive_rtrancl @ A @ R ) )
% 0.31/0.47        = ( transitive_rtrancl @ ( list @ A ) @ ( listrel1 @ A @ R ) ) ) ).
% 0.31/0.47  
% 0.31/0.47  % listrel_rtrancl_eq_rtrancl_listrel1
% 0.31/0.47  thf(fact_168_rtrancl__listrel1__if__listrel,axiom,
% 0.31/0.47      ! [A: $tType,Xs2: list @ A,Ys2: list @ A,R: set @ ( product_prod @ A @ A )] :
% 0.31/0.47        ( ( member @ ( product_prod @ ( list @ A ) @ ( list @ A ) ) @ ( product_Pair @ ( list @ A ) @ ( list @ A ) @ Xs2 @ Ys2 ) @ ( listrel @ A @ A @ R ) )
% 0.31/0.47       => ( member @ ( product_prod @ ( list @ A ) @ ( list @ A ) ) @ ( product_Pair @ ( list @ A ) @ ( list @ A ) @ Xs2 @ Ys2 ) @ ( transitive_rtrancl @ ( list @ A ) @ ( listrel1 @ A @ R ) ) ) ) ).
% 0.31/0.47  
% 0.31/0.47  % rtrancl_listrel1_if_listrel
% 0.31/0.47  thf(fact_169_maps__simps_I2_J,axiom,
% 0.31/0.47      ! [B: $tType,A: $tType,F3: B > ( list @ A )] :
% 0.31/0.47        ( ( maps @ B @ A @ F3 @ ( nil @ B ) )
% 0.31/0.47        = ( nil @ A ) ) ).
% 0.31/0.47  
% 0.31/0.47  % maps_simps(2)
% 0.31/0.47  thf(fact_170_Cons__listrel1E2,axiom,
% 0.31/0.47      ! [A: $tType,Xs2: list @ A,Y: A,Ys2: list @ A,R: set @ ( product_prod @ A @ A )] :
% 0.31/0.47        ( ( member @ ( product_prod @ ( list @ A ) @ ( list @ A ) ) @ ( product_Pair @ ( list @ A ) @ ( list @ A ) @ Xs2 @ ( cons @ A @ Y @ Ys2 ) ) @ ( listrel1 @ A @ R ) )
% 0.31/0.47       => ( ! [X3: A] :
% 0.31/0.47              ( ( Xs2
% 0.31/0.47                = ( cons @ A @ X3 @ Ys2 ) )
% 0.31/0.47             => ~ ( member @ ( product_prod @ A @ A ) @ ( product_Pair @ A @ A @ X3 @ Y ) @ R ) )
% 0.31/0.47         => ~ ! [Zs: list @ A] :
% 0.31/0.47                ( ( Xs2
% 0.31/0.47                  = ( cons @ A @ Y @ Zs ) )
% 0.31/0.47               => ~ ( member @ ( product_prod @ ( list @ A ) @ ( list @ A ) ) @ ( product_Pair @ ( list @ A ) @ ( list @ A ) @ Zs @ Ys2 ) @ ( listrel1 @ A @ R ) ) ) ) ) ).
% 0.31/0.47  
% 0.31/0.47  % Cons_listrel1E2
% 0.31/0.47  thf(fact_171_Cons__listrel1E1,axiom,
% 0.31/0.47      ! [A: $tType,X: A,Xs2: list @ A,Ys2: list @ A,R: set @ ( product_prod @ A @ A )] :
% 0.31/0.47        ( ( member @ ( product_prod @ ( list @ A ) @ ( list @ A ) ) @ ( product_Pair @ ( list @ A ) @ ( list @ A ) @ ( cons @ A @ X @ Xs2 ) @ Ys2 ) @ ( listrel1 @ A @ R ) )
% 0.31/0.47       => ( ! [Y3: A] :
% 0.31/0.47              ( ( Ys2
% 0.31/0.47                = ( cons @ A @ Y3 @ Xs2 ) )
% 0.31/0.47             => ~ ( member @ ( product_prod @ A @ A ) @ ( product_Pair @ A @ A @ X @ Y3 ) @ R ) )
% 0.31/0.47         => ~ ! [Zs: list @ A] :
% 0.31/0.47                ( ( Ys2
% 0.31/0.47                  = ( cons @ A @ X @ Zs ) )
% 0.31/0.47               => ~ ( member @ ( product_prod @ ( list @ A ) @ ( list @ A ) ) @ ( product_Pair @ ( list @ A ) @ ( list @ A ) @ Xs2 @ Zs ) @ ( listrel1 @ A @ R ) ) ) ) ) ).
% 0.31/0.47  
% 0.31/0.47  % Cons_listrel1E1
% 0.31/0.47  thf(fact_172_listrel1I1,axiom,
% 0.31/0.47      ! [A: $tType,X: A,Y: A,R: set @ ( product_prod @ A @ A ),Xs2: list @ A] :
% 0.31/0.47        ( ( member @ ( product_prod @ A @ A ) @ ( product_Pair @ A @ A @ X @ Y ) @ R )
% 0.31/0.47       => ( member @ ( product_prod @ ( list @ A ) @ ( list @ A ) ) @ ( product_Pair @ ( list @ A ) @ ( list @ A ) @ ( cons @ A @ X @ Xs2 ) @ ( cons @ A @ Y @ Xs2 ) ) @ ( listrel1 @ A @ R ) ) ) ).
% 0.31/0.47  
% 0.31/0.47  % listrel1I1
% 0.31/0.47  thf(fact_173_listrel__reflcl__if__listrel1,axiom,
% 0.31/0.47      ! [A: $tType,Xs2: list @ A,Ys2: list @ A,R: set @ ( product_prod @ A @ A )] :
% 0.31/0.47        ( ( member @ ( product_prod @ ( list @ A ) @ ( list @ A ) ) @ ( product_Pair @ ( list @ A ) @ ( list @ A ) @ Xs2 @ Ys2 ) @ ( listrel1 @ A @ R ) )
% 0.31/0.47       => ( member @ ( product_prod @ ( list @ A ) @ ( list @ A ) ) @ ( product_Pair @ ( list @ A ) @ ( list @ A ) @ Xs2 @ Ys2 ) @ ( listrel @ A @ A @ ( transitive_rtrancl @ A @ R ) ) ) ) ).
% 0.31/0.47  
% 0.31/0.47  % listrel_reflcl_if_listrel1
% 0.31/0.47  thf(fact_174_concat__eq__appendD,axiom,
% 0.31/0.47      ! [A: $tType,Xss2: list @ ( list @ A ),Ys2: list @ A,Zs2: list @ A] :
% 0.31/0.47        ( ( ( concat @ A @ Xss2 )
% 0.31/0.47          = ( append @ A @ Ys2 @ Zs2 ) )
% 0.31/0.47       => ( ( Xss2
% 0.31/0.47           != ( nil @ ( list @ A ) ) )
% 0.31/0.47         => ? [Xss12: list @ ( list @ A ),Xs: list @ A,Xs5: list @ A,Xss23: list @ ( list @ A )] :
% 0.31/0.47              ( ( Xss2
% 0.31/0.47                = ( append @ ( list @ A ) @ Xss12 @ ( cons @ ( list @ A ) @ ( append @ A @ Xs @ Xs5 ) @ Xss23 ) ) )
% 0.31/0.47              & ( Ys2
% 0.31/0.47                = ( append @ A @ ( concat @ A @ Xss12 ) @ Xs ) )
% 0.31/0.47              & ( Zs2
% 0.31/0.47                = ( append @ A @ Xs5 @ ( concat @ A @ Xss23 ) ) ) ) ) ) ).
% 0.31/0.47  
% 0.31/0.47  % concat_eq_appendD
% 0.31/0.47  thf(fact_175_listrel1I,axiom,
% 0.31/0.47      ! [A: $tType,X: A,Y: A,R: set @ ( product_prod @ A @ A ),Xs2: list @ A,Us: list @ A,Vs: list @ A,Ys2: list @ A] :
% 0.31/0.47        ( ( member @ ( product_prod @ A @ A ) @ ( product_Pair @ A @ A @ X @ Y ) @ R )
% 0.31/0.47       => ( ( Xs2
% 0.31/0.47            = ( append @ A @ Us @ ( cons @ A @ X @ Vs ) ) )
% 0.31/0.47         => ( ( Ys2
% 0.31/0.47              = ( append @ A @ Us @ ( cons @ A @ Y @ Vs ) ) )
% 0.31/0.47           => ( member @ ( product_prod @ ( list @ A ) @ ( list @ A ) ) @ ( product_Pair @ ( list @ A ) @ ( list @ A ) @ Xs2 @ Ys2 ) @ ( listrel1 @ A @ R ) ) ) ) ) ).
% 0.31/0.47  
% 0.31/0.47  % listrel1I
% 0.31/0.47  thf(fact_176_listrel1E,axiom,
% 0.31/0.47      ! [A: $tType,Xs2: list @ A,Ys2: list @ A,R: set @ ( product_prod @ A @ A )] :
% 0.31/0.47        ( ( member @ ( product_prod @ ( list @ A ) @ ( list @ A ) ) @ ( product_Pair @ ( list @ A ) @ ( list @ A ) @ Xs2 @ Ys2 ) @ ( listrel1 @ A @ R ) )
% 0.31/0.47       => ~ ! [X3: A,Y3: A] :
% 0.31/0.47              ( ( member @ ( product_prod @ A @ A ) @ ( product_Pair @ A @ A @ X3 @ Y3 ) @ R )
% 0.31/0.47             => ! [Us3: list @ A,Vs2: list @ A] :
% 0.31/0.47                  ( ( Xs2
% 0.31/0.47                    = ( append @ A @ Us3 @ ( cons @ A @ X3 @ Vs2 ) ) )
% 0.31/0.47                 => ( Ys2
% 0.31/0.47                   != ( append @ A @ Us3 @ ( cons @ A @ Y3 @ Vs2 ) ) ) ) ) ) ).
% 0.31/0.47  
% 0.31/0.47  % listrel1E
% 0.31/0.47  thf(fact_177_rtrancl__listrel1__ConsI2,axiom,
% 0.31/0.47      ! [A: $tType,X: A,Y: A,R: set @ ( product_prod @ A @ A ),Xs2: list @ A,Ys2: list @ A] :
% 0.31/0.47        ( ( member @ ( product_prod @ A @ A ) @ ( product_Pair @ A @ A @ X @ Y ) @ ( transitive_rtrancl @ A @ R ) )
% 0.31/0.47       => ( ( member @ ( product_prod @ ( list @ A ) @ ( list @ A ) ) @ ( product_Pair @ ( list @ A ) @ ( list @ A ) @ Xs2 @ Ys2 ) @ ( transitive_rtrancl @ ( list @ A ) @ ( listrel1 @ A @ R ) ) )
% 0.31/0.47         => ( member @ ( product_prod @ ( list @ A ) @ ( list @ A ) ) @ ( product_Pair @ ( list @ A ) @ ( list @ A ) @ ( cons @ A @ X @ Xs2 ) @ ( cons @ A @ Y @ Ys2 ) ) @ ( transitive_rtrancl @ ( list @ A ) @ ( listrel1 @ A @ R ) ) ) ) ) ).
% 0.31/0.47  
% 0.31/0.47  % rtrancl_listrel1_ConsI2
% 0.31/0.47  thf(fact_178_lexord__append__left__rightI,axiom,
% 0.31/0.47      ! [A: $tType,A3: A,B3: A,R: set @ ( product_prod @ A @ A ),U: list @ A,X: list @ A,Y: list @ A] :
% 0.31/0.47        ( ( member @ ( product_prod @ A @ A ) @ ( product_Pair @ A @ A @ A3 @ B3 ) @ R )
% 0.31/0.47       => ( member @ ( product_prod @ ( list @ A ) @ ( list @ A ) ) @ ( product_Pair @ ( list @ A ) @ ( list @ A ) @ ( append @ A @ U @ ( cons @ A @ A3 @ X ) ) @ ( append @ A @ U @ ( cons @ A @ B3 @ Y ) ) ) @ ( lexord @ A @ R ) ) ) ).
% 0.31/0.47  
% 0.31/0.47  % lexord_append_left_rightI
% 0.31/0.47  thf(fact_179_rotate1_Osimps_I2_J,axiom,
% 0.31/0.47      ! [A: $tType,X: A,Xs2: list @ A] :
% 0.31/0.47        ( ( rotate1 @ A @ ( cons @ A @ X @ Xs2 ) )
% 0.31/0.47        = ( append @ A @ Xs2 @ ( cons @ A @ X @ ( nil @ A ) ) ) ) ).
% 0.31/0.47  
% 0.31/0.47  % rotate1.simps(2)
% 0.31/0.47  thf(fact_180_butlast__snoc,axiom,
% 0.31/0.47      ! [A: $tType,Xs2: list @ A,X: A] :
% 0.31/0.47        ( ( butlast @ A @ ( append @ A @ Xs2 @ ( cons @ A @ X @ ( nil @ A ) ) ) )
% 0.31/0.47        = Xs2 ) ).
% 0.31/0.47  
% 0.31/0.47  % butlast_snoc
% 0.31/0.47  thf(fact_181_rotate1__is__Nil__conv,axiom,
% 0.31/0.47      ! [A: $tType,Xs2: list @ A] :
% 0.31/0.47        ( ( ( rotate1 @ A @ Xs2 )
% 0.31/0.47          = ( nil @ A ) )
% 0.31/0.47        = ( Xs2
% 0.31/0.47          = ( nil @ A ) ) ) ).
% 0.31/0.47  
% 0.31/0.47  % rotate1_is_Nil_conv
% 0.31/0.47  thf(fact_182_lexord__cons__cons,axiom,
% 0.31/0.47      ! [A: $tType,A3: A,X: list @ A,B3: A,Y: list @ A,R: set @ ( product_prod @ A @ A )] :
% 0.31/0.47        ( ( member @ ( product_prod @ ( list @ A ) @ ( list @ A ) ) @ ( product_Pair @ ( list @ A ) @ ( list @ A ) @ ( cons @ A @ A3 @ X ) @ ( cons @ A @ B3 @ Y ) ) @ ( lexord @ A @ R ) )
% 0.31/0.47        = ( ( member @ ( product_prod @ A @ A ) @ ( product_Pair @ A @ A @ A3 @ B3 ) @ R )
% 0.31/0.47          | ( ( A3 = B3 )
% 0.31/0.47            & ( member @ ( product_prod @ ( list @ A ) @ ( list @ A ) ) @ ( product_Pair @ ( list @ A ) @ ( list @ A ) @ X @ Y ) @ ( lexord @ A @ R ) ) ) ) ) ).
% 0.31/0.47  
% 0.31/0.47  % lexord_cons_cons
% 0.31/0.47  thf(fact_183_lexord__Nil__left,axiom,
% 0.31/0.47      ! [A: $tType,Y: list @ A,R: set @ ( product_prod @ A @ A )] :
% 0.31/0.47        ( ( member @ ( product_prod @ ( list @ A ) @ ( list @ A ) ) @ ( product_Pair @ ( list @ A ) @ ( list @ A ) @ ( nil @ A ) @ Y ) @ ( lexord @ A @ R ) )
% 0.31/0.47        = ( ? [A6: A,X4: list @ A] :
% 0.31/0.47              ( Y
% 0.31/0.47              = ( cons @ A @ A6 @ X4 ) ) ) ) ).
% 0.31/0.47  
% 0.31/0.47  % lexord_Nil_left
% 0.31/0.47  thf(fact_184_butlast_Osimps_I1_J,axiom,
% 0.31/0.47      ! [A: $tType] :
% 0.31/0.47        ( ( butlast @ A @ ( nil @ A ) )
% 0.31/0.47        = ( nil @ A ) ) ).
% 0.31/0.47  
% 0.31/0.47  % butlast.simps(1)
% 0.31/0.47  thf(fact_185_rotate1_Osimps_I1_J,axiom,
% 0.31/0.47      ! [A: $tType] :
% 0.31/0.47        ( ( rotate1 @ A @ ( nil @ A ) )
% 0.31/0.47        = ( nil @ A ) ) ).
% 0.31/0.47  
% 0.31/0.47  % rotate1.simps(1)
% 0.31/0.47  thf(fact_186_lexord__linear,axiom,
% 0.31/0.47      ! [A: $tType,R: set @ ( product_prod @ A @ A ),X: list @ A,Y: list @ A] :
% 0.31/0.47        ( ! [A2: A,B2: A] :
% 0.31/0.47            ( ( member @ ( product_prod @ A @ A ) @ ( product_Pair @ A @ A @ A2 @ B2 ) @ R )
% 0.31/0.47            | ( A2 = B2 )
% 0.31/0.47            | ( member @ ( product_prod @ A @ A ) @ ( product_Pair @ A @ A @ B2 @ A2 ) @ R ) )
% 0.31/0.47       => ( ( member @ ( product_prod @ ( list @ A ) @ ( list @ A ) ) @ ( product_Pair @ ( list @ A ) @ ( list @ A ) @ X @ Y ) @ ( lexord @ A @ R ) )
% 0.31/0.47          | ( X = Y )
% 0.31/0.47          | ( member @ ( product_prod @ ( list @ A ) @ ( list @ A ) ) @ ( product_Pair @ ( list @ A ) @ ( list @ A ) @ Y @ X ) @ ( lexord @ A @ R ) ) ) ) ).
% 0.31/0.47  
% 0.31/0.47  % lexord_linear
% 0.31/0.47  thf(fact_187_lexord__irreflexive,axiom,
% 0.31/0.47      ! [A: $tType,R: set @ ( product_prod @ A @ A ),Xs2: list @ A] :
% 0.31/0.47        ( ! [X3: A] :
% 0.31/0.47            ~ ( member @ ( product_prod @ A @ A ) @ ( product_Pair @ A @ A @ X3 @ X3 ) @ R )
% 0.31/0.47       => ~ ( member @ ( product_prod @ ( list @ A ) @ ( list @ A ) ) @ ( product_Pair @ ( list @ A ) @ ( list @ A ) @ Xs2 @ Xs2 ) @ ( lexord @ A @ R ) ) ) ).
% 0.31/0.47  
% 0.31/0.47  % lexord_irreflexive
% 0.31/0.47  thf(fact_188_butlast_Osimps_I2_J,axiom,
% 0.31/0.47      ! [A: $tType,Xs2: list @ A,X: A] :
% 0.31/0.47        ( ( ( Xs2
% 0.31/0.47            = ( nil @ A ) )
% 0.31/0.47         => ( ( butlast @ A @ ( cons @ A @ X @ Xs2 ) )
% 0.31/0.47            = ( nil @ A ) ) )
% 0.31/0.47        & ( ( Xs2
% 0.31/0.47           != ( nil @ A ) )
% 0.31/0.47         => ( ( butlast @ A @ ( cons @ A @ X @ Xs2 ) )
% 0.31/0.47            = ( cons @ A @ X @ ( butlast @ A @ Xs2 ) ) ) ) ) ).
% 0.31/0.47  
% 0.31/0.47  % butlast.simps(2)
% 0.31/0.47  thf(fact_189_lexord__Nil__right,axiom,
% 0.31/0.47      ! [A: $tType,X: list @ A,R: set @ ( product_prod @ A @ A )] :
% 0.31/0.47        ~ ( member @ ( product_prod @ ( list @ A ) @ ( list @ A ) ) @ ( product_Pair @ ( list @ A ) @ ( list @ A ) @ X @ ( nil @ A ) ) @ ( lexord @ A @ R ) ) ).
% 0.31/0.47  
% 0.31/0.47  % lexord_Nil_right
% 0.31/0.47  thf(fact_190_butlast__append,axiom,
% 0.31/0.47      ! [A: $tType,Ys2: list @ A,Xs2: list @ A] :
% 0.31/0.47        ( ( ( Ys2
% 0.31/0.47            = ( nil @ A ) )
% 0.31/0.47         => ( ( butlast @ A @ ( append @ A @ Xs2 @ Ys2 ) )
% 0.31/0.47            = ( butlast @ A @ Xs2 ) ) )
% 0.31/0.47        & ( ( Ys2
% 0.31/0.47           != ( nil @ A ) )
% 0.31/0.47         => ( ( butlast @ A @ ( append @ A @ Xs2 @ Ys2 ) )
% 0.31/0.47            = ( append @ A @ Xs2 @ ( butlast @ A @ Ys2 ) ) ) ) ) ).
% 0.31/0.47  
% 0.31/0.47  % butlast_append
% 0.31/0.47  thf(fact_191_lexord__append__leftI,axiom,
% 0.31/0.47      ! [A: $tType,U: list @ A,V: list @ A,R: set @ ( product_prod @ A @ A ),X: list @ A] :
% 0.31/0.47        ( ( member @ ( product_prod @ ( list @ A ) @ ( list @ A ) ) @ ( product_Pair @ ( list @ A ) @ ( list @ A ) @ U @ V ) @ ( lexord @ A @ R ) )
% 0.31/0.47       => ( member @ ( product_prod @ ( list @ A ) @ ( list @ A ) ) @ ( product_Pair @ ( list @ A ) @ ( list @ A ) @ ( append @ A @ X @ U ) @ ( append @ A @ X @ V ) ) @ ( lexord @ A @ R ) ) ) ).
% 0.31/0.47  
% 0.31/0.47  % lexord_append_leftI
% 0.31/0.47  thf(fact_192_lexord__append__leftD,axiom,
% 0.31/0.47      ! [A: $tType,X: list @ A,U: list @ A,V: list @ A,R: set @ ( product_prod @ A @ A )] :
% 0.31/0.47        ( ( member @ ( product_prod @ ( list @ A ) @ ( list @ A ) ) @ ( product_Pair @ ( list @ A ) @ ( list @ A ) @ ( append @ A @ X @ U ) @ ( append @ A @ X @ V ) ) @ ( lexord @ A @ R ) )
% 0.31/0.47       => ( ! [A2: A] :
% 0.31/0.47              ~ ( member @ ( product_prod @ A @ A ) @ ( product_Pair @ A @ A @ A2 @ A2 ) @ R )
% 0.31/0.47         => ( member @ ( product_prod @ ( list @ A ) @ ( list @ A ) ) @ ( product_Pair @ ( list @ A ) @ ( list @ A ) @ U @ V ) @ ( lexord @ A @ R ) ) ) ) ).
% 0.31/0.47  
% 0.31/0.47  % lexord_append_leftD
% 0.31/0.47  thf(fact_193_lexord__append__rightI,axiom,
% 0.31/0.47      ! [A: $tType,Y: list @ A,X: list @ A,R: set @ ( product_prod @ A @ A )] :
% 0.31/0.47        ( ? [B6: A,Z3: list @ A] :
% 0.31/0.47            ( Y
% 0.31/0.47            = ( cons @ A @ B6 @ Z3 ) )
% 0.31/0.47       => ( member @ ( product_prod @ ( list @ A ) @ ( list @ A ) ) @ ( product_Pair @ ( list @ A ) @ ( list @ A ) @ X @ ( append @ A @ X @ Y ) ) @ ( lexord @ A @ R ) ) ) ).
% 0.31/0.47  
% 0.31/0.47  % lexord_append_rightI
% 0.31/0.47  thf(fact_194_lexord__same__pref__if__irrefl,axiom,
% 0.31/0.47      ! [A: $tType,R: set @ ( product_prod @ A @ A ),Xs2: list @ A,Ys2: list @ A,Zs2: list @ A] :
% 0.31/0.47        ( ( irrefl @ A @ R )
% 0.31/0.47       => ( ( member @ ( product_prod @ ( list @ A ) @ ( list @ A ) ) @ ( product_Pair @ ( list @ A ) @ ( list @ A ) @ ( append @ A @ Xs2 @ Ys2 ) @ ( append @ A @ Xs2 @ Zs2 ) ) @ ( lexord @ A @ R ) )
% 0.31/0.47          = ( member @ ( product_prod @ ( list @ A ) @ ( list @ A ) ) @ ( product_Pair @ ( list @ A ) @ ( list @ A ) @ Ys2 @ Zs2 ) @ ( lexord @ A @ R ) ) ) ) ).
% 0.31/0.47  
% 0.31/0.47  % lexord_same_pref_if_irrefl
% 0.31/0.47  thf(fact_195_append__butlast__last__id,axiom,
% 0.31/0.47      ! [A: $tType,Xs2: list @ A] :
% 0.31/0.47        ( ( Xs2
% 0.31/0.47         != ( nil @ A ) )
% 0.31/0.47       => ( ( append @ A @ ( butlast @ A @ Xs2 ) @ ( cons @ A @ ( last @ A @ Xs2 ) @ ( nil @ A ) ) )
% 0.31/0.47          = Xs2 ) ) ).
% 0.31/0.47  
% 0.31/0.47  % append_butlast_last_id
% 0.31/0.47  thf(fact_196_snoc__eq__iff__butlast,axiom,
% 0.31/0.47      ! [A: $tType,Xs2: list @ A,X: A,Ys2: list @ A] :
% 0.31/0.47        ( ( ( append @ A @ Xs2 @ ( cons @ A @ X @ ( nil @ A ) ) )
% 0.31/0.47          = Ys2 )
% 0.31/0.47        = ( ( Ys2
% 0.31/0.47           != ( nil @ A ) )
% 0.31/0.47          & ( ( butlast @ A @ Ys2 )
% 0.31/0.47            = Xs2 )
% 0.31/0.47          & ( ( last @ A @ Ys2 )
% 0.31/0.47            = X ) ) ) ).
% 0.31/0.47  
% 0.31/0.47  % snoc_eq_iff_butlast
% 0.31/0.47  thf(fact_197_last__appendR,axiom,
% 0.31/0.47      ! [A: $tType,Ys2: list @ A,Xs2: list @ A] :
% 0.31/0.47        ( ( Ys2
% 0.31/0.47         != ( nil @ A ) )
% 0.31/0.47       => ( ( last @ A @ ( append @ A @ Xs2 @ Ys2 ) )
% 0.31/0.47          = ( last @ A @ Ys2 ) ) ) ).
% 0.31/0.47  
% 0.31/0.47  % last_appendR
% 0.31/0.47  thf(fact_198_last__appendL,axiom,
% 0.31/0.47      ! [A: $tType,Ys2: list @ A,Xs2: list @ A] :
% 0.31/0.47        ( ( Ys2
% 0.31/0.47          = ( nil @ A ) )
% 0.31/0.47       => ( ( last @ A @ ( append @ A @ Xs2 @ Ys2 ) )
% 0.31/0.47          = ( last @ A @ Xs2 ) ) ) ).
% 0.31/0.47  
% 0.31/0.47  % last_appendL
% 0.31/0.47  thf(fact_199_last__snoc,axiom,
% 0.31/0.47      ! [A: $tType,Xs2: list @ A,X: A] :
% 0.31/0.47        ( ( last @ A @ ( append @ A @ Xs2 @ ( cons @ A @ X @ ( nil @ A ) ) ) )
% 0.31/0.47        = X ) ).
% 0.31/0.47  
% 0.31/0.47  % last_snoc
% 0.31/0.47  thf(fact_200_lexord__irrefl,axiom,
% 0.31/0.47      ! [A: $tType,R2: set @ ( product_prod @ A @ A )] :
% 0.31/0.47        ( ( irrefl @ A @ R2 )
% 0.31/0.47       => ( irrefl @ ( list @ A ) @ ( lexord @ A @ R2 ) ) ) ).
% 0.31/0.47  
% 0.31/0.47  % lexord_irrefl
% 0.31/0.47  thf(fact_201_last__ConsR,axiom,
% 0.31/0.47      ! [A: $tType,Xs2: list @ A,X: A] :
% 0.31/0.47        ( ( Xs2
% 0.31/0.47         != ( nil @ A ) )
% 0.31/0.47       => ( ( last @ A @ ( cons @ A @ X @ Xs2 ) )
% 0.31/0.47          = ( last @ A @ Xs2 ) ) ) ).
% 0.31/0.47  
% 0.31/0.47  % last_ConsR
% 0.31/0.47  thf(fact_202_last__ConsL,axiom,
% 0.31/0.47      ! [A: $tType,Xs2: list @ A,X: A] :
% 0.31/0.47        ( ( Xs2
% 0.31/0.47          = ( nil @ A ) )
% 0.31/0.47       => ( ( last @ A @ ( cons @ A @ X @ Xs2 ) )
% 0.31/0.47          = X ) ) ).
% 0.31/0.47  
% 0.31/0.47  % last_ConsL
% 0.31/0.47  thf(fact_203_last_Osimps,axiom,
% 0.31/0.47      ! [A: $tType,Xs2: list @ A,X: A] :
% 0.31/0.47        ( ( ( Xs2
% 0.31/0.47            = ( nil @ A ) )
% 0.31/0.47         => ( ( last @ A @ ( cons @ A @ X @ Xs2 ) )
% 0.31/0.47            = X ) )
% 0.31/0.47        & ( ( Xs2
% 0.31/0.47           != ( nil @ A ) )
% 0.31/0.47         => ( ( last @ A @ ( cons @ A @ X @ Xs2 ) )
% 0.31/0.47            = ( last @ A @ Xs2 ) ) ) ) ).
% 0.31/0.47  
% 0.31/0.47  % last.simps
% 0.31/0.47  thf(fact_204_longest__common__suffix,axiom,
% 0.31/0.47      ! [A: $tType,Xs2: list @ A,Ys2: list @ A] :
% 0.31/0.47      ? [Ss: list @ A,Xs5: list @ A,Ys5: list @ A] :
% 0.31/0.47        ( ( Xs2
% 0.31/0.47          = ( append @ A @ Xs5 @ Ss ) )
% 0.31/0.47        & ( Ys2
% 0.31/0.47          = ( append @ A @ Ys5 @ Ss ) )
% 0.31/0.47        & ( ( Xs5
% 0.31/0.47            = ( nil @ A ) )
% 0.31/0.47          | ( Ys5
% 0.31/0.47            = ( nil @ A ) )
% 0.31/0.47          | ( ( last @ A @ Xs5 )
% 0.31/0.47           != ( last @ A @ Ys5 ) ) ) ) ).
% 0.31/0.47  
% 0.31/0.47  % longest_common_suffix
% 0.31/0.47  thf(fact_205_last__append,axiom,
% 0.31/0.47      ! [A: $tType,Ys2: list @ A,Xs2: list @ A] :
% 0.31/0.47        ( ( ( Ys2
% 0.31/0.47            = ( nil @ A ) )
% 0.31/0.47         => ( ( last @ A @ ( append @ A @ Xs2 @ Ys2 ) )
% 0.31/0.47            = ( last @ A @ Xs2 ) ) )
% 0.31/0.47        & ( ( Ys2
% 0.31/0.47           != ( nil @ A ) )
% 0.31/0.47         => ( ( last @ A @ ( append @ A @ Xs2 @ Ys2 ) )
% 0.31/0.47            = ( last @ A @ Ys2 ) ) ) ) ).
% 0.31/0.47  
% 0.31/0.47  % last_append
% 0.31/0.47  thf(fact_206_irreflI,axiom,
% 0.31/0.47      ! [A: $tType,R2: set @ ( product_prod @ A @ A )] :
% 0.31/0.47        ( ! [A2: A] :
% 0.31/0.47            ~ ( member @ ( product_prod @ A @ A ) @ ( product_Pair @ A @ A @ A2 @ A2 ) @ R2 )
% 0.31/0.47       => ( irrefl @ A @ R2 ) ) ).
% 0.31/0.47  
% 0.31/0.47  % irreflI
% 0.31/0.47  thf(fact_207_irrefl__def,axiom,
% 0.31/0.47      ! [A: $tType] :
% 0.31/0.47        ( ( irrefl @ A )
% 0.31/0.47        = ( ^ [R3: set @ ( product_prod @ A @ A )] :
% 0.31/0.47            ! [A6: A] :
% 0.31/0.47              ~ ( member @ ( product_prod @ A @ A ) @ ( product_Pair @ A @ A @ A6 @ A6 ) @ R3 ) ) ) ).
% 0.31/0.47  
% 0.31/0.47  % irrefl_def
% 0.31/0.47  thf(fact_208_lenlex__append2,axiom,
% 0.31/0.47      ! [A: $tType,R2: set @ ( product_prod @ A @ A ),Us: list @ A,Xs2: list @ A,Ys2: list @ A] :
% 0.31/0.47        ( ( irrefl @ A @ R2 )
% 0.31/0.47       => ( ( member @ ( product_prod @ ( list @ A ) @ ( list @ A ) ) @ ( product_Pair @ ( list @ A ) @ ( list @ A ) @ ( append @ A @ Us @ Xs2 ) @ ( append @ A @ Us @ Ys2 ) ) @ ( lenlex @ A @ R2 ) )
% 0.31/0.47          = ( member @ ( product_prod @ ( list @ A ) @ ( list @ A ) ) @ ( product_Pair @ ( list @ A ) @ ( list @ A ) @ Xs2 @ Ys2 ) @ ( lenlex @ A @ R2 ) ) ) ) ).
% 0.31/0.47  
% 0.31/0.47  % lenlex_append2
% 0.31/0.47  thf(fact_209_irrefl__lex,axiom,
% 0.31/0.47      ! [A: $tType,R: set @ ( product_prod @ A @ A )] :
% 0.31/0.47        ( ( irrefl @ A @ R )
% 0.31/0.47       => ( irrefl @ ( list @ A ) @ ( lex @ A @ R ) ) ) ).
% 0.31/0.47  
% 0.31/0.47  % irrefl_lex
% 0.31/0.47  thf(fact_210_Nil__lenlex__iff1,axiom,
% 0.31/0.47      ! [A: $tType,Ns: list @ A,R: set @ ( product_prod @ A @ A )] :
% 0.31/0.47        ( ( member @ ( product_prod @ ( list @ A ) @ ( list @ A ) ) @ ( product_Pair @ ( list @ A ) @ ( list @ A ) @ ( nil @ A ) @ Ns ) @ ( lenlex @ A @ R ) )
% 0.31/0.47        = ( Ns
% 0.31/0.47         != ( nil @ A ) ) ) ).
% 0.31/0.47  
% 0.31/0.47  % Nil_lenlex_iff1
% 0.31/0.47  thf(fact_211_Nil__notin__lex,axiom,
% 0.31/0.47      ! [A: $tType,Ys2: list @ A,R: set @ ( product_prod @ A @ A )] :
% 0.31/0.47        ~ ( member @ ( product_prod @ ( list @ A ) @ ( list @ A ) ) @ ( product_Pair @ ( list @ A ) @ ( list @ A ) @ ( nil @ A ) @ Ys2 ) @ ( lex @ A @ R ) ) ).
% 0.31/0.47  
% 0.31/0.47  % Nil_notin_lex
% 0.31/0.47  thf(fact_212_Nil2__notin__lex,axiom,
% 0.31/0.47      ! [A: $tType,Xs2: list @ A,R: set @ ( product_prod @ A @ A )] :
% 0.31/0.47        ~ ( member @ ( product_prod @ ( list @ A ) @ ( list @ A ) ) @ ( product_Pair @ ( list @ A ) @ ( list @ A ) @ Xs2 @ ( nil @ A ) ) @ ( lex @ A @ R ) ) ).
% 0.31/0.47  
% 0.31/0.47  % Nil2_notin_lex
% 0.31/0.47  thf(fact_213_lex__append__leftI,axiom,
% 0.31/0.47      ! [A: $tType,Ys2: list @ A,Zs2: list @ A,R: set @ ( product_prod @ A @ A ),Xs2: list @ A] :
% 0.31/0.47        ( ( member @ ( product_prod @ ( list @ A ) @ ( list @ A ) ) @ ( product_Pair @ ( list @ A ) @ ( list @ A ) @ Ys2 @ Zs2 ) @ ( lex @ A @ R ) )
% 0.31/0.47       => ( member @ ( product_prod @ ( list @ A ) @ ( list @ A ) ) @ ( product_Pair @ ( list @ A ) @ ( list @ A ) @ ( append @ A @ Xs2 @ Ys2 ) @ ( append @ A @ Xs2 @ Zs2 ) ) @ ( lex @ A @ R ) ) ) ).
% 0.31/0.47  
% 0.31/0.47  % lex_append_leftI
% 0.31/0.47  thf(fact_214_lenlex__irreflexive,axiom,
% 0.31/0.47      ! [A: $tType,R: set @ ( product_prod @ A @ A ),Xs2: list @ A] :
% 0.31/0.47        ( ! [X3: A] :
% 0.31/0.47            ~ ( member @ ( product_prod @ A @ A ) @ ( product_Pair @ A @ A @ X3 @ X3 ) @ R )
% 0.31/0.47       => ~ ( member @ ( product_prod @ ( list @ A ) @ ( list @ A ) ) @ ( product_Pair @ ( list @ A ) @ ( list @ A ) @ Xs2 @ Xs2 ) @ ( lenlex @ A @ R ) ) ) ).
% 0.31/0.47  
% 0.31/0.47  % lenlex_irreflexive
% 0.31/0.47  thf(fact_215_Nil__lenlex__iff2,axiom,
% 0.31/0.47      ! [A: $tType,Ns: list @ A,R: set @ ( product_prod @ A @ A )] :
% 0.31/0.47        ~ ( member @ ( product_prod @ ( list @ A ) @ ( list @ A ) ) @ ( product_Pair @ ( list @ A ) @ ( list @ A ) @ Ns @ ( nil @ A ) ) @ ( lenlex @ A @ R ) ) ).
% 0.31/0.47  
% 0.31/0.47  % Nil_lenlex_iff2
% 0.31/0.47  thf(fact_216_lexl__not__refl,axiom,
% 0.31/0.47      ! [A: $tType,R: set @ ( product_prod @ A @ A ),X: list @ A] :
% 0.31/0.47        ( ( irrefl @ A @ R )
% 0.31/0.47       => ~ ( member @ ( product_prod @ ( list @ A ) @ ( list @ A ) ) @ ( product_Pair @ ( list @ A ) @ ( list @ A ) @ X @ X ) @ ( lex @ A @ R ) ) ) ).
% 0.31/0.47  
% 0.31/0.47  % lexl_not_refl
% 0.31/0.47  thf(fact_217_lex__append__leftD,axiom,
% 0.31/0.47      ! [A: $tType,R: set @ ( product_prod @ A @ A ),Xs2: list @ A,Ys2: list @ A,Zs2: list @ A] :
% 0.31/0.47        ( ! [X3: A] :
% 0.31/0.47            ~ ( member @ ( product_prod @ A @ A ) @ ( product_Pair @ A @ A @ X3 @ X3 ) @ R )
% 0.31/0.47       => ( ( member @ ( product_prod @ ( list @ A ) @ ( list @ A ) ) @ ( product_Pair @ ( list @ A ) @ ( list @ A ) @ ( append @ A @ Xs2 @ Ys2 ) @ ( append @ A @ Xs2 @ Zs2 ) ) @ ( lex @ A @ R ) )
% 0.31/0.47         => ( member @ ( product_prod @ ( list @ A ) @ ( list @ A ) ) @ ( product_Pair @ ( list @ A ) @ ( list @ A ) @ Ys2 @ Zs2 ) @ ( lex @ A @ R ) ) ) ) ).
% 0.31/0.47  
% 0.31/0.47  % lex_append_leftD
% 0.31/0.47  thf(fact_218_lex__append__left__iff,axiom,
% 0.31/0.47      ! [A: $tType,R: set @ ( product_prod @ A @ A ),Xs2: list @ A,Ys2: list @ A,Zs2: list @ A] :
% 0.31/0.47        ( ! [X3: A] :
% 0.31/0.47            ~ ( member @ ( product_prod @ A @ A ) @ ( product_Pair @ A @ A @ X3 @ X3 ) @ R )
% 0.31/0.47       => ( ( member @ ( product_prod @ ( list @ A ) @ ( list @ A ) ) @ ( product_Pair @ ( list @ A ) @ ( list @ A ) @ ( append @ A @ Xs2 @ Ys2 ) @ ( append @ A @ Xs2 @ Zs2 ) ) @ ( lex @ A @ R ) )
% 0.31/0.47          = ( member @ ( product_prod @ ( list @ A ) @ ( list @ A ) ) @ ( product_Pair @ ( list @ A ) @ ( list @ A ) @ Ys2 @ Zs2 ) @ ( lex @ A @ R ) ) ) ) ).
% 0.31/0.47  
% 0.31/0.47  % lex_append_left_iff
% 0.31/0.47  thf(fact_219_Cons__in__lex,axiom,
% 0.31/0.47      ! [A: $tType,X: A,Xs2: list @ A,Y: A,Ys2: list @ A,R: set @ ( product_prod @ A @ A )] :
% 0.31/0.47        ( ( member @ ( product_prod @ ( list @ A ) @ ( list @ A ) ) @ ( product_Pair @ ( list @ A ) @ ( list @ A ) @ ( cons @ A @ X @ Xs2 ) @ ( cons @ A @ Y @ Ys2 ) ) @ ( lex @ A @ R ) )
% 0.31/0.47        = ( ( ( member @ ( product_prod @ A @ A ) @ ( product_Pair @ A @ A @ X @ Y ) @ R )
% 0.31/0.47            & ( ( size_size @ ( list @ A ) @ Xs2 )
% 0.31/0.47              = ( size_size @ ( list @ A ) @ Ys2 ) ) )
% 0.31/0.47          | ( ( X = Y )
% 0.31/0.47            & ( member @ ( product_prod @ ( list @ A ) @ ( list @ A ) ) @ ( product_Pair @ ( list @ A ) @ ( list @ A ) @ Xs2 @ Ys2 ) @ ( lex @ A @ R ) ) ) ) ) ).
% 0.31/0.47  
% 0.31/0.47  % Cons_in_lex
% 0.31/0.47  thf(fact_220_internal__case__prod__conv,axiom,
% 0.31/0.47      ! [B: $tType,A: $tType,C: $tType,C2: B > C > A,A3: B,B3: C] :
% 0.31/0.47        ( ( produc2004651681e_prod @ B @ C @ A @ C2 @ ( product_Pair @ B @ C @ A3 @ B3 ) )
% 0.31/0.47        = ( C2 @ A3 @ B3 ) ) ).
% 0.31/0.47  
% 0.31/0.47  % internal_case_prod_conv
% 0.31/0.47  thf(fact_221_append__eq__append__conv,axiom,
% 0.31/0.47      ! [A: $tType,Xs2: list @ A,Ys2: list @ A,Us: list @ A,Vs: list @ A] :
% 0.31/0.47        ( ( ( ( size_size @ ( list @ A ) @ Xs2 )
% 0.31/0.47            = ( size_size @ ( list @ A ) @ Ys2 ) )
% 0.31/0.47          | ( ( size_size @ ( list @ A ) @ Us )
% 0.31/0.47            = ( size_size @ ( list @ A ) @ Vs ) ) )
% 0.31/0.47       => ( ( ( append @ A @ Xs2 @ Us )
% 0.31/0.47            = ( append @ A @ Ys2 @ Vs ) )
% 0.31/0.47          = ( ( Xs2 = Ys2 )
% 0.31/0.47            & ( Us = Vs ) ) ) ) ).
% 0.31/0.47  
% 0.31/0.47  % append_eq_append_conv
% 0.31/0.47  thf(fact_222_length__rotate1,axiom,
% 0.31/0.47      ! [A: $tType,Xs2: list @ A] :
% 0.31/0.47        ( ( size_size @ ( list @ A ) @ ( rotate1 @ A @ Xs2 ) )
% 0.31/0.47        = ( size_size @ ( list @ A ) @ Xs2 ) ) ).
% 0.31/0.47  
% 0.31/0.47  % length_rotate1
% 0.31/0.47  thf(fact_223_listrel1__eq__len,axiom,
% 0.31/0.47      ! [A: $tType,Xs2: list @ A,Ys2: list @ A,R: set @ ( product_prod @ A @ A )] :
% 0.31/0.47        ( ( member @ ( product_prod @ ( list @ A ) @ ( list @ A ) ) @ ( product_Pair @ ( list @ A ) @ ( list @ A ) @ Xs2 @ Ys2 ) @ ( listrel1 @ A @ R ) )
% 0.31/0.47       => ( ( size_size @ ( list @ A ) @ Xs2 )
% 0.31/0.47          = ( size_size @ ( list @ A ) @ Ys2 ) ) ) ).
% 0.31/0.47  
% 0.31/0.47  % listrel1_eq_len
% 0.31/0.47  thf(fact_224_listrel__eq__len,axiom,
% 0.31/0.47      ! [A: $tType,B: $tType,Xs2: list @ A,Ys2: list @ B,R: set @ ( product_prod @ A @ B )] :
% 0.31/0.47        ( ( member @ ( product_prod @ ( list @ A ) @ ( list @ B ) ) @ ( product_Pair @ ( list @ A ) @ ( list @ B ) @ Xs2 @ Ys2 ) @ ( listrel @ A @ B @ R ) )
% 0.31/0.47       => ( ( size_size @ ( list @ A ) @ Xs2 )
% 0.31/0.47          = ( size_size @ ( list @ B ) @ Ys2 ) ) ) ).
% 0.31/0.47  
% 0.31/0.47  % listrel_eq_len
% 0.31/0.47  thf(fact_225_Ex__list__of__length,axiom,
% 0.31/0.47      ! [A: $tType,N: nat] :
% 0.31/0.47      ? [Xs: list @ A] :
% 0.31/0.47        ( ( size_size @ ( list @ A ) @ Xs )
% 0.31/0.47        = N ) ).
% 0.31/0.47  
% 0.31/0.47  % Ex_list_of_length
% 0.31/0.47  thf(fact_226_neq__if__length__neq,axiom,
% 0.31/0.47      ! [A: $tType,Xs2: list @ A,Ys2: list @ A] :
% 0.31/0.47        ( ( ( size_size @ ( list @ A ) @ Xs2 )
% 0.31/0.47         != ( size_size @ ( list @ A ) @ Ys2 ) )
% 0.31/0.47       => ( Xs2 != Ys2 ) ) ).
% 0.31/0.47  
% 0.31/0.47  % neq_if_length_neq
% 0.31/0.47  thf(fact_227_list__induct3,axiom,
% 0.31/0.47      ! [B: $tType,A: $tType,C: $tType,Xs2: list @ A,Ys2: list @ B,Zs2: list @ C,P: ( list @ A ) > ( list @ B ) > ( list @ C ) > $o] :
% 0.31/0.47        ( ( ( size_size @ ( list @ A ) @ Xs2 )
% 0.31/0.47          = ( size_size @ ( list @ B ) @ Ys2 ) )
% 0.31/0.47       => ( ( ( size_size @ ( list @ B ) @ Ys2 )
% 0.31/0.47            = ( size_size @ ( list @ C ) @ Zs2 ) )
% 0.31/0.47         => ( ( P @ ( nil @ A ) @ ( nil @ B ) @ ( nil @ C ) )
% 0.31/0.47           => ( ! [X3: A,Xs: list @ A,Y3: B,Ys: list @ B,Z: C,Zs: list @ C] :
% 0.31/0.47                  ( ( ( size_size @ ( list @ A ) @ Xs )
% 0.31/0.47                    = ( size_size @ ( list @ B ) @ Ys ) )
% 0.31/0.47                 => ( ( ( size_size @ ( list @ B ) @ Ys )
% 0.31/0.47                      = ( size_size @ ( list @ C ) @ Zs ) )
% 0.31/0.47                   => ( ( P @ Xs @ Ys @ Zs )
% 0.31/0.47                     => ( P @ ( cons @ A @ X3 @ Xs ) @ ( cons @ B @ Y3 @ Ys ) @ ( cons @ C @ Z @ Zs ) ) ) ) )
% 0.31/0.47             => ( P @ Xs2 @ Ys2 @ Zs2 ) ) ) ) ) ).
% 0.31/0.47  
% 0.31/0.47  % list_induct3
% 0.31/0.47  thf(fact_228_list__induct2,axiom,
% 0.31/0.47      ! [A: $tType,B: $tType,Xs2: list @ A,Ys2: list @ B,P: ( list @ A ) > ( list @ B ) > $o] :
% 0.31/0.47        ( ( ( size_size @ ( list @ A ) @ Xs2 )
% 0.31/0.47          = ( size_size @ ( list @ B ) @ Ys2 ) )
% 0.31/0.47       => ( ( P @ ( nil @ A ) @ ( nil @ B ) )
% 0.31/0.47         => ( ! [X3: A,Xs: list @ A,Y3: B,Ys: list @ B] :
% 0.31/0.47                ( ( ( size_size @ ( list @ A ) @ Xs )
% 0.31/0.47                  = ( size_size @ ( list @ B ) @ Ys ) )
% 0.31/0.47               => ( ( P @ Xs @ Ys )
% 0.31/0.47                 => ( P @ ( cons @ A @ X3 @ Xs ) @ ( cons @ B @ Y3 @ Ys ) ) ) )
% 0.31/0.47           => ( P @ Xs2 @ Ys2 ) ) ) ) ).
% 0.31/0.47  
% 0.31/0.47  % list_induct2
% 0.31/0.47  thf(fact_229_same__length__different,axiom,
% 0.31/0.47      ! [A: $tType,Xs2: list @ A,Ys2: list @ A] :
% 0.31/0.47        ( ( Xs2 != Ys2 )
% 0.31/0.47       => ( ( ( size_size @ ( list @ A ) @ Xs2 )
% 0.31/0.47            = ( size_size @ ( list @ A ) @ Ys2 ) )
% 0.31/0.47         => ? [Pre: list @ A,X3: A,Xs5: list @ A,Y3: A,Ys5: list @ A] :
% 0.31/0.47              ( ( X3 != Y3 )
% 0.31/0.47              & ( Xs2
% 0.31/0.47                = ( append @ A @ Pre @ ( append @ A @ ( cons @ A @ X3 @ ( nil @ A ) ) @ Xs5 ) ) )
% 0.31/0.47              & ( Ys2
% 0.31/0.47                = ( append @ A @ Pre @ ( append @ A @ ( cons @ A @ Y3 @ ( nil @ A ) ) @ Ys5 ) ) ) ) ) ) ).
% 0.31/0.47  
% 0.31/0.47  % same_length_different
% 0.31/0.47  thf(fact_230_lexord__sufE,axiom,
% 0.31/0.47      ! [A: $tType,Xs2: list @ A,Zs2: list @ A,Ys2: list @ A,Qs: list @ A,R: set @ ( product_prod @ A @ A )] :
% 0.31/0.47        ( ( member @ ( product_prod @ ( list @ A ) @ ( list @ A ) ) @ ( product_Pair @ ( list @ A ) @ ( list @ A ) @ ( append @ A @ Xs2 @ Zs2 ) @ ( append @ A @ Ys2 @ Qs ) ) @ ( lexord @ A @ R ) )
% 0.31/0.47       => ( ( Xs2 != Ys2 )
% 0.31/0.47         => ( ( ( size_size @ ( list @ A ) @ Xs2 )
% 0.31/0.47              = ( size_size @ ( list @ A ) @ Ys2 ) )
% 0.31/0.47           => ( ( ( size_size @ ( list @ A ) @ Zs2 )
% 0.31/0.47                = ( size_size @ ( list @ A ) @ Qs ) )
% 0.31/0.47             => ( member @ ( product_prod @ ( list @ A ) @ ( list @ A ) ) @ ( product_Pair @ ( list @ A ) @ ( list @ A ) @ Xs2 @ Ys2 ) @ ( lexord @ A @ R ) ) ) ) ) ) ).
% 0.31/0.47  
% 0.31/0.47  % lexord_sufE
% 0.31/0.47  thf(fact_231_lex__append__rightI,axiom,
% 0.31/0.47      ! [A: $tType,Xs2: list @ A,Ys2: list @ A,R: set @ ( product_prod @ A @ A ),Vs: list @ A,Us: list @ A] :
% 0.31/0.47        ( ( member @ ( product_prod @ ( list @ A ) @ ( list @ A ) ) @ ( product_Pair @ ( list @ A ) @ ( list @ A ) @ Xs2 @ Ys2 ) @ ( lex @ A @ R ) )
% 0.31/0.47       => ( ( ( size_size @ ( list @ A ) @ Vs )
% 0.31/0.47            = ( size_size @ ( list @ A ) @ Us ) )
% 0.31/0.47         => ( member @ ( product_prod @ ( list @ A ) @ ( list @ A ) ) @ ( product_Pair @ ( list @ A ) @ ( list @ A ) @ ( append @ A @ Xs2 @ Us ) @ ( append @ A @ Ys2 @ Vs ) ) @ ( lex @ A @ R ) ) ) ) ).
% 0.31/0.47  
% 0.31/0.47  % lex_append_rightI
% 0.31/0.47  thf(fact_232_lenlex__append1,axiom,
% 0.31/0.47      ! [A: $tType,Us: list @ A,Xs2: list @ A,R2: set @ ( product_prod @ A @ A ),Vs: list @ A,Ys2: list @ A] :
% 0.31/0.47        ( ( member @ ( product_prod @ ( list @ A ) @ ( list @ A ) ) @ ( product_Pair @ ( list @ A ) @ ( list @ A ) @ Us @ Xs2 ) @ ( lenlex @ A @ R2 ) )
% 0.31/0.47       => ( ( ( size_size @ ( list @ A ) @ Vs )
% 0.31/0.47            = ( size_size @ ( list @ A ) @ Ys2 ) )
% 0.31/0.47         => ( member @ ( product_prod @ ( list @ A ) @ ( list @ A ) ) @ ( product_Pair @ ( list @ A ) @ ( list @ A ) @ ( append @ A @ Us @ Vs ) @ ( append @ A @ Xs2 @ Ys2 ) ) @ ( lenlex @ A @ R2 ) ) ) ) ).
% 0.31/0.47  
% 0.31/0.47  % lenlex_append1
% 0.31/0.47  thf(fact_233_lexord__lex,axiom,
% 0.31/0.47      ! [A: $tType,X: list @ A,Y: list @ A,R: set @ ( product_prod @ A @ A )] :
% 0.31/0.47        ( ( member @ ( product_prod @ ( list @ A ) @ ( list @ A ) ) @ ( product_Pair @ ( list @ A ) @ ( list @ A ) @ X @ Y ) @ ( lex @ A @ R ) )
% 0.31/0.47        = ( ( member @ ( product_prod @ ( list @ A ) @ ( list @ A ) ) @ ( product_Pair @ ( list @ A ) @ ( list @ A ) @ X @ Y ) @ ( lexord @ A @ R ) )
% 0.31/0.47          & ( ( size_size @ ( list @ A ) @ X )
% 0.31/0.47            = ( size_size @ ( list @ A ) @ Y ) ) ) ) ).
% 0.31/0.47  
% 0.31/0.47  % lexord_lex
% 0.31/0.47  thf(fact_234_rtrancl__listrel1__eq__len,axiom,
% 0.31/0.47      ! [A: $tType,X: list @ A,Y: list @ A,R: set @ ( product_prod @ A @ A )] :
% 0.31/0.47        ( ( member @ ( product_prod @ ( list @ A ) @ ( list @ A ) ) @ ( product_Pair @ ( list @ A ) @ ( list @ A ) @ X @ Y ) @ ( transitive_rtrancl @ ( list @ A ) @ ( listrel1 @ A @ R ) ) )
% 0.31/0.47       => ( ( size_size @ ( list @ A ) @ X )
% 0.31/0.47          = ( size_size @ ( list @ A ) @ Y ) ) ) ).
% 0.31/0.47  
% 0.31/0.47  % rtrancl_listrel1_eq_len
% 0.31/0.47  thf(fact_235_Cons__lenlex__iff,axiom,
% 0.31/0.47      ! [A: $tType,M: A,Ms: list @ A,N: A,Ns: list @ A,R: set @ ( product_prod @ A @ A )] :
% 0.31/0.47        ( ( member @ ( product_prod @ ( list @ A ) @ ( list @ A ) ) @ ( product_Pair @ ( list @ A ) @ ( list @ A ) @ ( cons @ A @ M @ Ms ) @ ( cons @ A @ N @ Ns ) ) @ ( lenlex @ A @ R ) )
% 0.31/0.47        = ( ( ord_less @ nat @ ( size_size @ ( list @ A ) @ Ms ) @ ( size_size @ ( list @ A ) @ Ns ) )
% 0.31/0.47          | ( ( ( size_size @ ( list @ A ) @ Ms )
% 0.31/0.47              = ( size_size @ ( list @ A ) @ Ns ) )
% 0.31/0.47            & ( member @ ( product_prod @ A @ A ) @ ( product_Pair @ A @ A @ M @ N ) @ R ) )
% 0.31/0.47          | ( ( M = N )
% 0.31/0.47            & ( member @ ( product_prod @ ( list @ A ) @ ( list @ A ) ) @ ( product_Pair @ ( list @ A ) @ ( list @ A ) @ Ms @ Ns ) @ ( lenlex @ A @ R ) ) ) ) ) ).
% 0.31/0.47  
% 0.31/0.47  % Cons_lenlex_iff
% 0.31/0.47  thf(fact_236_list__ex1__simps_I1_J,axiom,
% 0.31/0.47      ! [A: $tType,P: A > $o] :
% 0.31/0.47        ~ ( list_ex1 @ A @ P @ ( nil @ A ) ) ).
% 0.31/0.47  
% 0.31/0.47  % list_ex1_simps(1)
% 0.31/0.47  thf(fact_237_length__induct,axiom,
% 0.31/0.47      ! [A: $tType,P: ( list @ A ) > $o,Xs2: list @ A] :
% 0.31/0.47        ( ! [Xs: list @ A] :
% 0.31/0.47            ( ! [Ys6: list @ A] :
% 0.31/0.47                ( ( ord_less @ nat @ ( size_size @ ( list @ A ) @ Ys6 ) @ ( size_size @ ( list @ A ) @ Xs ) )
% 0.31/0.47               => ( P @ Ys6 ) )
% 0.31/0.47           => ( P @ Xs ) )
% 0.31/0.47       => ( P @ Xs2 ) ) ).
% 0.31/0.47  
% 0.31/0.47  % length_induct
% 0.31/0.47  thf(fact_238_in__measures_I2_J,axiom,
% 0.31/0.47      ! [A: $tType,X: A,Y: A,F3: A > nat,Fs: list @ ( A > nat )] :
% 0.31/0.47        ( ( member @ ( product_prod @ A @ A ) @ ( product_Pair @ A @ A @ X @ Y ) @ ( measures @ A @ ( cons @ ( A > nat ) @ F3 @ Fs ) ) )
% 0.31/0.47        = ( ( ord_less @ nat @ ( F3 @ X ) @ ( F3 @ Y ) )
% 0.31/0.47          | ( ( ( F3 @ X )
% 0.31/0.47              = ( F3 @ Y ) )
% 0.31/0.47            & ( member @ ( product_prod @ A @ A ) @ ( product_Pair @ A @ A @ X @ Y ) @ ( measures @ A @ Fs ) ) ) ) ) ).
% 0.31/0.47  
% 0.31/0.47  % in_measures(2)
% 0.31/0.47  thf(fact_239_listrel__iff__nth,axiom,
% 0.31/0.47      ! [A: $tType,B: $tType,Xs2: list @ A,Ys2: list @ B,R: set @ ( product_prod @ A @ B )] :
% 0.31/0.47        ( ( member @ ( product_prod @ ( list @ A ) @ ( list @ B ) ) @ ( product_Pair @ ( list @ A ) @ ( list @ B ) @ Xs2 @ Ys2 ) @ ( listrel @ A @ B @ R ) )
% 0.31/0.47        = ( ( ( size_size @ ( list @ A ) @ Xs2 )
% 0.31/0.47            = ( size_size @ ( list @ B ) @ Ys2 ) )
% 0.31/0.47          & ! [N2: nat] :
% 0.31/0.47              ( ( ord_less @ nat @ N2 @ ( size_size @ ( list @ A ) @ Xs2 ) )
% 0.31/0.47             => ( member @ ( product_prod @ A @ B ) @ ( product_Pair @ A @ B @ ( nth @ A @ Xs2 @ N2 ) @ ( nth @ B @ Ys2 @ N2 ) ) @ R ) ) ) ) ).
% 0.31/0.47  
% 0.31/0.47  % listrel_iff_nth
% 0.31/0.47  thf(fact_240_in__measures_I1_J,axiom,
% 0.31/0.47      ! [A: $tType,X: A,Y: A] :
% 0.31/0.47        ~ ( member @ ( product_prod @ A @ A ) @ ( product_Pair @ A @ A @ X @ Y ) @ ( measures @ A @ ( nil @ ( A > nat ) ) ) ) ).
% 0.31/0.47  
% 0.31/0.47  % in_measures(1)
% 0.31/0.47  thf(fact_241_nth__append__length,axiom,
% 0.31/0.47      ! [A: $tType,Xs2: list @ A,X: A,Ys2: list @ A] :
% 0.31/0.47        ( ( nth @ A @ ( append @ A @ Xs2 @ ( cons @ A @ X @ Ys2 ) ) @ ( size_size @ ( list @ A ) @ Xs2 ) )
% 0.31/0.47        = X ) ).
% 0.31/0.47  
% 0.31/0.47  % nth_append_length
% 0.31/0.47  thf(fact_242_nth__equalityI,axiom,
% 0.31/0.47      ! [A: $tType,Xs2: list @ A,Ys2: list @ A] :
% 0.31/0.47        ( ( ( size_size @ ( list @ A ) @ Xs2 )
% 0.31/0.47          = ( size_size @ ( list @ A ) @ Ys2 ) )
% 0.31/0.47       => ( ! [I: nat] :
% 0.31/0.47              ( ( ord_less @ nat @ I @ ( size_size @ ( list @ A ) @ Xs2 ) )
% 0.31/0.47             => ( ( nth @ A @ Xs2 @ I )
% 0.31/0.47                = ( nth @ A @ Ys2 @ I ) ) )
% 0.31/0.47         => ( Xs2 = Ys2 ) ) ) ).
% 0.31/0.47  
% 0.31/0.47  % nth_equalityI
% 0.31/0.47  thf(fact_243_Skolem__list__nth,axiom,
% 0.31/0.47      ! [A: $tType,K: nat,P: nat > A > $o] :
% 0.31/0.47        ( ( ! [I2: nat] :
% 0.31/0.47              ( ( ord_less @ nat @ I2 @ K )
% 0.31/0.47             => ? [X5: A] : ( P @ I2 @ X5 ) ) )
% 0.31/0.47        = ( ? [Xs3: list @ A] :
% 0.31/0.47              ( ( ( size_size @ ( list @ A ) @ Xs3 )
% 0.31/0.47                = K )
% 0.31/0.47              & ! [I2: nat] :
% 0.31/0.47                  ( ( ord_less @ nat @ I2 @ K )
% 0.31/0.47                 => ( P @ I2 @ ( nth @ A @ Xs3 @ I2 ) ) ) ) ) ) ).
% 0.31/0.47  
% 0.31/0.47  % Skolem_list_nth
% 0.31/0.47  thf(fact_244_list__eq__iff__nth__eq,axiom,
% 0.31/0.47      ! [A: $tType] :
% 0.31/0.47        ( ( ^ [Y5: list @ A,Z4: list @ A] : ( Y5 = Z4 ) )
% 0.31/0.47        = ( ^ [Xs3: list @ A,Ys3: list @ A] :
% 0.31/0.47              ( ( ( size_size @ ( list @ A ) @ Xs3 )
% 0.31/0.47                = ( size_size @ ( list @ A ) @ Ys3 ) )
% 0.31/0.47              & ! [I2: nat] :
% 0.31/0.47                  ( ( ord_less @ nat @ I2 @ ( size_size @ ( list @ A ) @ Xs3 ) )
% 0.31/0.47                 => ( ( nth @ A @ Xs3 @ I2 )
% 0.31/0.47                    = ( nth @ A @ Ys3 @ I2 ) ) ) ) ) ) ).
% 0.31/0.47  
% 0.31/0.47  % list_eq_iff_nth_eq
% 0.31/0.47  thf(fact_245_nth__butlast,axiom,
% 0.31/0.47      ! [A: $tType,N: nat,Xs2: list @ A] :
% 0.31/0.47        ( ( ord_less @ nat @ N @ ( size_size @ ( list @ A ) @ ( butlast @ A @ Xs2 ) ) )
% 0.31/0.47       => ( ( nth @ A @ ( butlast @ A @ Xs2 ) @ N )
% 0.31/0.47          = ( nth @ A @ Xs2 @ N ) ) ) ).
% 0.31/0.47  
% 0.31/0.47  % nth_butlast
% 0.31/0.47  thf(fact_246_measures__less,axiom,
% 0.31/0.47      ! [A: $tType,F3: A > nat,X: A,Y: A,Fs: list @ ( A > nat )] :
% 0.31/0.47        ( ( ord_less @ nat @ ( F3 @ X ) @ ( F3 @ Y ) )
% 0.31/0.47       => ( member @ ( product_prod @ A @ A ) @ ( product_Pair @ A @ A @ X @ Y ) @ ( measures @ A @ ( cons @ ( A > nat ) @ F3 @ Fs ) ) ) ) ).
% 0.31/0.47  
% 0.31/0.47  % measures_less
% 0.31/0.47  thf(fact_247_listrel1__iff__update,axiom,
% 0.31/0.47      ! [A: $tType,Xs2: list @ A,Ys2: list @ A,R: set @ ( product_prod @ A @ A )] :
% 0.31/0.47        ( ( member @ ( product_prod @ ( list @ A ) @ ( list @ A ) ) @ ( product_Pair @ ( list @ A ) @ ( list @ A ) @ Xs2 @ Ys2 ) @ ( listrel1 @ A @ R ) )
% 0.31/0.47        = ( ? [Y4: A,N2: nat] :
% 0.31/0.47              ( ( member @ ( product_prod @ A @ A ) @ ( product_Pair @ A @ A @ ( nth @ A @ Xs2 @ N2 ) @ Y4 ) @ R )
% 0.31/0.47              & ( ord_less @ nat @ N2 @ ( size_size @ ( list @ A ) @ Xs2 ) )
% 0.31/0.47              & ( Ys2
% 0.31/0.47                = ( list_update @ A @ Xs2 @ N2 @ Y4 ) ) ) ) ) ).
% 0.31/0.47  
% 0.31/0.47  % listrel1_iff_update
% 0.31/0.47  thf(fact_248_lex__take__index,axiom,
% 0.31/0.47      ! [A: $tType,Xs2: list @ A,Ys2: list @ A,R: set @ ( product_prod @ A @ A )] :
% 0.31/0.47        ( ( member @ ( product_prod @ ( list @ A ) @ ( list @ A ) ) @ ( product_Pair @ ( list @ A ) @ ( list @ A ) @ Xs2 @ Ys2 ) @ ( lex @ A @ R ) )
% 0.31/0.47       => ~ ! [I: nat] :
% 0.31/0.47              ( ( ord_less @ nat @ I @ ( size_size @ ( list @ A ) @ Xs2 ) )
% 0.31/0.47             => ( ( ord_less @ nat @ I @ ( size_size @ ( list @ A ) @ Ys2 ) )
% 0.31/0.47               => ( ( ( take @ A @ I @ Xs2 )
% 0.31/0.47                    = ( take @ A @ I @ Ys2 ) )
% 0.31/0.47                 => ~ ( member @ ( product_prod @ A @ A ) @ ( product_Pair @ A @ A @ ( nth @ A @ Xs2 @ I ) @ ( nth @ A @ Ys2 @ I ) ) @ R ) ) ) ) ) ).
% 0.31/0.47  
% 0.31/0.47  % lex_take_index
% 0.31/0.47  thf(fact_249_list__update__overwrite,axiom,
% 0.31/0.47      ! [A: $tType,Xs2: list @ A,I3: nat,X: A,Y: A] :
% 0.31/0.47        ( ( list_update @ A @ ( list_update @ A @ Xs2 @ I3 @ X ) @ I3 @ Y )
% 0.31/0.47        = ( list_update @ A @ Xs2 @ I3 @ Y ) ) ).
% 0.31/0.47  
% 0.31/0.47  % list_update_overwrite
% 0.31/0.47  thf(fact_250_list__update__nonempty,axiom,
% 0.31/0.47      ! [A: $tType,Xs2: list @ A,K: nat,X: A] :
% 0.31/0.47        ( ( ( list_update @ A @ Xs2 @ K @ X )
% 0.31/0.47          = ( nil @ A ) )
% 0.31/0.47        = ( Xs2
% 0.31/0.47          = ( nil @ A ) ) ) ).
% 0.31/0.47  
% 0.31/0.47  % list_update_nonempty
% 0.31/0.47  thf(fact_251_length__list__update,axiom,
% 0.31/0.47      ! [A: $tType,Xs2: list @ A,I3: nat,X: A] :
% 0.31/0.47        ( ( size_size @ ( list @ A ) @ ( list_update @ A @ Xs2 @ I3 @ X ) )
% 0.31/0.47        = ( size_size @ ( list @ A ) @ Xs2 ) ) ).
% 0.31/0.47  
% 0.31/0.47  % length_list_update
% 0.31/0.47  thf(fact_252_list__update__id,axiom,
% 0.31/0.47      ! [A: $tType,Xs2: list @ A,I3: nat] :
% 0.31/0.47        ( ( list_update @ A @ Xs2 @ I3 @ ( nth @ A @ Xs2 @ I3 ) )
% 0.31/0.47        = Xs2 ) ).
% 0.31/0.47  
% 0.31/0.47  % list_update_id
% 0.31/0.47  thf(fact_253_nth__list__update__neq,axiom,
% 0.31/0.47      ! [A: $tType,I3: nat,J: nat,Xs2: list @ A,X: A] :
% 0.31/0.47        ( ( I3 != J )
% 0.31/0.47       => ( ( nth @ A @ ( list_update @ A @ Xs2 @ I3 @ X ) @ J )
% 0.31/0.47          = ( nth @ A @ Xs2 @ J ) ) ) ).
% 0.31/0.47  
% 0.31/0.47  % nth_list_update_neq
% 0.31/0.47  thf(fact_254_nth__take,axiom,
% 0.31/0.47      ! [A: $tType,I3: nat,N: nat,Xs2: list @ A] :
% 0.31/0.47        ( ( ord_less @ nat @ I3 @ N )
% 0.31/0.47       => ( ( nth @ A @ ( take @ A @ N @ Xs2 ) @ I3 )
% 0.31/0.47          = ( nth @ A @ Xs2 @ I3 ) ) ) ).
% 0.31/0.47  
% 0.31/0.47  % nth_take
% 0.31/0.47  
% 0.31/0.47  % Type constructors (6)
% 0.31/0.47  thf(tcon_fun___Orderings_Oord,axiom,
% 0.31/0.47      ! [A7: $tType,A8: $tType] :
% 0.31/0.47        ( ( ord @ A8 )
% 0.31/0.47       => ( ord @ ( A7 > A8 ) ) ) ).
% 0.31/0.47  
% 0.31/0.47  thf(tcon_Nat_Onat___Orderings_Olinorder,axiom,
% 0.31/0.47      linorder @ nat ).
% 0.31/0.47  
% 0.31/0.47  thf(tcon_Nat_Onat___Orderings_Oord_1,axiom,
% 0.31/0.47      ord @ nat ).
% 0.31/0.47  
% 0.31/0.47  thf(tcon_Set_Oset___Orderings_Oord_2,axiom,
% 0.31/0.47      ! [A7: $tType] : ( ord @ ( set @ A7 ) ) ).
% 0.31/0.47  
% 0.31/0.47  thf(tcon_HOL_Obool___Orderings_Olinorder_3,axiom,
% 0.31/0.47      linorder @ $o ).
% 0.31/0.47  
% 0.31/0.47  thf(tcon_HOL_Obool___Orderings_Oord_4,axiom,
% 0.31/0.47      ord @ $o ).
% 0.31/0.47  
% 0.31/0.47  % Conjectures (4)
% 0.31/0.47  thf(conj_0,hypothesis,
% 0.31/0.47      member @ ( product_prod @ ( product_prod @ ( list @ com ) @ state ) @ ( product_prod @ ( list @ com ) @ state ) ) @ ( product_Pair @ ( product_prod @ ( list @ com ) @ state ) @ ( product_prod @ ( list @ com ) @ state ) @ ( product_Pair @ ( list @ com ) @ state @ ( cons @ com @ c @ ( nil @ com ) ) @ s ) @ ( product_Pair @ ( list @ com ) @ state @ ( cons @ com @ c2 @ cs ) @ s2 ) ) @ ( transitive_rtrancl @ ( product_prod @ ( list @ com ) @ state ) @ pHoare1053570893_exec1 ) ).
% 0.31/0.47  
% 0.31/0.47  thf(conj_1,hypothesis,
% 0.31/0.47      termi @ c @ s ).
% 0.31/0.47  
% 0.31/0.47  thf(conj_2,hypothesis,
% 0.31/0.47      ! [S5: state,S6: state] :
% 0.31/0.47        ( ( member @ ( product_prod @ ( product_prod @ ( list @ com ) @ state ) @ ( product_prod @ ( list @ com ) @ state ) ) @ ( product_Pair @ ( product_prod @ ( list @ com ) @ state ) @ ( product_prod @ ( list @ com ) @ state ) @ ( product_Pair @ ( list @ com ) @ state @ ( cons @ com @ c @ ( nil @ com ) ) @ S5 ) @ ( product_Pair @ ( list @ com ) @ state @ ( cons @ com @ c2 @ cs ) @ S6 ) ) @ ( transitive_rtrancl @ ( product_prod @ ( list @ com ) @ state ) @ pHoare1053570893_exec1 ) )
% 0.31/0.47       => ( ( termi @ c @ S5 )
% 0.31/0.47         => ( ( termi @ c2 @ S6 )
% 0.31/0.47            & ! [T5: state] :
% 0.31/0.47                ( ( exec @ S6 @ c2 @ T5 )
% 0.31/0.47               => ( pHoare1335526537termis @ cs @ T5 ) ) ) ) ) ).
% 0.31/0.47  
% 0.31/0.47  thf(conj_3,conjecture,
% 0.31/0.47      termi @ c2 @ s2 ).
% 0.31/0.47  
% 0.31/0.47  %------------------------------------------------------------------------------
% 0.31/0.47  ------------------------
% 3.15/1.63  ---- Embedded in THF ---
% 3.15/1.63  %%% This output was generated by embedproblem, version 1.9.5 (library version 1.9).
% 3.15/1.63  %%% Generated on Tue Feb 24 08:27:32 EST 2026
% 3.15/1.63  %%% using '$$dhol' embedding, version 1.3.0.
% 3.15/1.63  %%% Logic specification used:
% 3.15/1.63  %%% thf(spec, logic, $$dhol).
% 3.15/1.63  
% 3.15/1.63  % SZS output start ListOfTHF for /export/starexec/sandbox2/tmp/tmp.esfxdFwDyU/DTF2DTF9204.p
% 3.15/1.63  thf(ty_t_Product__Type_Oprod, type, product_prod: ($tType > ($tType > $tType))).
% 3.15/1.63  thf(ty_t_PLang_Ostate, type, state: $tType).
% 3.15/1.63  thf(ty_t_PLang_Ocom, type, com: $tType).
% 3.15/1.63  thf(ty_t_List_Olist, type, list: ($tType > $tType)).
% 3.15/1.63  thf(ty_t_Set_Oset, type, set: ($tType > $tType)).
% 3.15/1.63  thf(ty_t_Nat_Onat, type, nat: $tType).
% 3.15/1.63  thf(sy_cl_HOL_Otype, type, type: (!> [A:$tType]: ($o))).
% 3.15/1.63  thf(sy_cl_Orderings_Oord, type, ord: (!> [A:$tType]: ($o))).
% 3.15/1.63  thf(sy_cl_Orderings_Olinorder, type, linorder: (!> [A:$tType]: ($o))).
% 3.15/1.63  thf(sy_c_List_Oappend, type, append: (!> [A:$tType]: (((list @ A) > ((list @ A) > (list @ A)))))).
% 3.15/1.63  thf(sy_c_List_Obind, type, bind: (!> [A:$tType,B:$tType]: (((list @ A) > ((A > (list @ B)) > (list @ B)))))).
% 3.15/1.63  thf(sy_c_List_Obutlast, type, butlast: (!> [A:$tType]: (((list @ A) > (list @ A))))).
% 3.15/1.63  thf(sy_c_List_Oconcat, type, concat: (!> [A:$tType]: (((list @ (list @ A)) > (list @ A))))).
% 3.15/1.63  thf(sy_c_List_Oinsert, type, insert: (!> [A:$tType]: ((A > ((list @ A) > (list @ A)))))).
% 3.15/1.63  thf(sy_c_List_Olast, type, last: (!> [A:$tType]: (((list @ A) > A)))).
% 3.15/1.63  thf(sy_c_List_Olenlex, type, lenlex: (!> [A:$tType]: (((set @ ((product_prod @ A) @ A)) > (set @ ((product_prod @ (list @ A)) @ (list @ A))))))).
% 3.15/1.63  thf(sy_c_List_Olex, type, lex: (!> [A:$tType]: (((set @ ((product_prod @ A) @ A)) > (set @ ((product_prod @ (list @ A)) @ (list @ A))))))).
% 3.15/1.63  thf(sy_c_List_Olexord, type, lexord: (!> [A:$tType]: (((set @ ((product_prod @ A) @ A)) > (set @ ((product_prod @ (list @ A)) @ (list @ A))))))).
% 3.15/1.63  thf(sy_c_List_Olist_OCons, type, cons: (!> [A:$tType]: ((A > ((list @ A) > (list @ A)))))).
% 3.15/1.63  thf(sy_c_List_Olist_ONil, type, nil: (!> [A:$tType]: ((list @ A)))).
% 3.15/1.63  thf(sy_c_List_Olist__ex1, type, list_ex1: (!> [A:$tType]: (((A > $o) > ((list @ A) > $o))))).
% 3.15/1.63  thf(sy_c_List_Olist__update, type, list_update: (!> [A:$tType]: (((list @ A) > (nat > (A > (list @ A))))))).
% 3.15/1.63  thf(sy_c_List_Olistrel, type, listrel: (!> [A:$tType,B:$tType]: (((set @ ((product_prod @ A) @ B)) > (set @ ((product_prod @ (list @ A)) @ (list @ B))))))).
% 3.15/1.63  thf(sy_c_List_Olistrel1, type, listrel1: (!> [A:$tType]: (((set @ ((product_prod @ A) @ A)) > (set @ ((product_prod @ (list @ A)) @ (list @ A))))))).
% 3.15/1.63  thf(sy_c_List_Omaps, type, maps: (!> [A:$tType,B:$tType]: (((A > (list @ B)) > ((list @ A) > (list @ B)))))).
% 3.15/1.63  thf(sy_c_List_Omeasures, type, measures: (!> [A:$tType]: (((list @ (A > nat)) > (set @ ((product_prod @ A) @ A)))))).
% 3.15/1.63  thf(sy_c_List_Onth, type, nth: (!> [A:$tType]: (((list @ A) > (nat > A))))).
% 3.15/1.63  thf(sy_c_List_Oproduct__lists, type, product_lists: (!> [A:$tType]: (((list @ (list @ A)) > (list @ (list @ A)))))).
% 3.15/1.63  thf(sy_c_List_Orotate1, type, rotate1: (!> [A:$tType]: (((list @ A) > (list @ A))))).
% 3.15/1.63  thf(sy_c_List_Osubseqs, type, subseqs: (!> [A:$tType]: (((list @ A) > (list @ (list @ A)))))).
% 3.15/1.63  thf(sy_c_List_Otake, type, take: (!> [A:$tType]: ((nat > ((list @ A) > (list @ A)))))).
% 3.15/1.63  thf(sy_c_Nat_Osize__class_Osize, type, size_size: (!> [A:$tType]: ((A > nat)))).
% 3.15/1.63  thf(sy_c_Orderings_Oord__class_Oless, type, ord_less: (!> [A:$tType]: ((A > (A > $o))))).
% 3.15/1.63  thf(sy_c_PHoareTotal__Mirabelle__nfzgdgthbw_Oexec1, type, pHoare1053570893_exec1: (set @ ((product_prod @ ((product_prod @ (list @ com)) @ state)) @ ((product_prod @ (list @ com)) @ state)))).
% 3.15/1.63  thf(sy_c_PHoareTotal__Mirabelle__nfzgdgthbw_Oexecs, type, pHoare1053570959_execs: (state > ((list @ com) > (state > $o)))).
% 3.15/1.63  thf(sy_c_PHoareTotal__Mirabelle__nfzgdgthbw_Otermis, type, pHoare1335526537termis: ((list @ com) > (state > $o))).
% 3.15/1.63  thf(sy_c_PLang_Ocom_OCond, type, cond: ((state > $o) > (com > (com > com)))).
% 3.15/1.63  thf(sy_c_PLang_Ocom_ODo, type, do: ((state > (set @ state)) > com)).
% 3.15/1.63  thf(sy_c_PLang_Ocom_OSemi, type, semi: (com > (com > com))).
% 3.15/1.63  thf(sy_c_PLang_Ocom_OWhile, type, while: ((state > $o) > (com > com))).
% 3.15/1.63  thf(sy_c_PLang_Oexec, type, exec: (state > (com > (state > $o)))).
% 3.15/1.63  thf(sy_c_PTermi_Otermi, type, termi: (com > (state > $o))).
% 3.15/1.63  thf(sy_c_Product__Type_OPair, type, product_Pair: (!> [A:$tType,B:$tType]: ((A > (B > ((product_prod @ A) @ B)))))).
% 3.15/1.63  thf(sy_c_Product__Type_Ointernal__case__prod, type, produc2004651681e_prod: (!> [A:$tType,B:$tType,C:$tType]: (((A > (B > C)) > (((product_prod @ A) @ B) > C))))).
% 3.15/1.63  thf(sy_c_Product__Type_Oold_Oprod_Orec__prod, type, product_rec_prod: (!> [A:$tType,B:$tType,T:$tType]: (((A > (B > T)) > (((product_prod @ A) @ B) > T))))).
% 3.15/1.63  thf(sy_c_Relation_Oirrefl, type, irrefl: (!> [A:$tType]: (((set @ ((product_prod @ A) @ A)) > $o)))).
% 3.15/1.63  thf(sy_c_Set_OCollect, type, collect: (!> [A:$tType]: (((A > $o) > (set @ A))))).
% 3.15/1.63  thf(sy_c_Transitive__Closure_Ortrancl, type, transitive_rtrancl: (!> [A:$tType]: (((set @ ((product_prod @ A) @ A)) > (set @ ((product_prod @ A) @ A)))))).
% 3.15/1.63  thf(sy_c_member, type, member: (!> [A:$tType]: ((A > ((set @ A) > $o))))).
% 3.15/1.63  thf(sy_v_c, type, c: com).
% 3.15/1.63  thf(sy_v_c_H, type, c2: com).
% 3.15/1.63  thf(sy_v_cs_H, type, cs: (list @ com)).
% 3.15/1.63  thf(sy_v_s, type, s: state).
% 3.15/1.63  thf(sy_v_s_H, type, s2: state).
% 3.15/1.63  thf(fact_0_exec1E_I1_J, axiom, (! [S:state,Cs:(list @ com),S2:state]: ((~ ((((member @ ((product_prod @ ((product_prod @ (list @ com)) @ state)) @ ((product_prod @ (list @ com)) @ state))) @ ((((product_Pair @ ((product_prod @ (list @ com)) @ state)) @ ((product_prod @ (list @ com)) @ state)) @ ((((product_Pair @ (list @ com)) @ state) @ (nil @ com)) @ S)) @ ((((product_Pair @ (list @ com)) @ state) @ Cs) @ S2))) @ pHoare1053570893_exec1)))))).
% 3.15/1.63  thf(fact_1_termis_Osimps_I2_J, axiom, (! [C2:com,Cs2:(list @ com),S:state]: ((((pHoare1335526537termis @ (((cons @ com) @ C2) @ Cs2)) @ S) = (((termi @ C2) @ S) & (! [T2:state]: (((((exec @ S) @ C2) @ T2) => ((pHoare1335526537termis @ Cs2) @ T2))))))))).
% 3.15/1.63  thf(fact_2_termis_Osimps_I1_J, axiom, (! [S:state]: (((pHoare1335526537termis @ (nil @ com)) @ S)))).
% 3.15/1.63  thf(fact_3_exec__impl__execs, axiom, (! [S:state,C2:com,S2:state,Cs2:(list @ com)]: (((((exec @ S) @ C2) @ S2) => (((member @ ((product_prod @ ((product_prod @ (list @ com)) @ state)) @ ((product_prod @ (list @ com)) @ state))) @ ((((product_Pair @ ((product_prod @ (list @ com)) @ state)) @ ((product_prod @ (list @ com)) @ state)) @ ((((product_Pair @ (list @ com)) @ state) @ (((cons @ com) @ C2) @ Cs2)) @ S)) @ ((((product_Pair @ (list @ com)) @ state) @ Cs2) @ S2))) @ ((transitive_rtrancl @ ((product_prod @ (list @ com)) @ state)) @ pHoare1053570893_exec1)))))).
% 3.15/1.63  thf(fact_4_exec1s__impl__exec, axiom, (! [C2:com,S:state,T3:state]: (((((member @ ((product_prod @ ((product_prod @ (list @ com)) @ state)) @ ((product_prod @ (list @ com)) @ state))) @ ((((product_Pair @ ((product_prod @ (list @ com)) @ state)) @ ((product_prod @ (list @ com)) @ state)) @ ((((product_Pair @ (list @ com)) @ state) @ (((cons @ com) @ C2) @ (nil @ com))) @ S)) @ ((((product_Pair @ (list @ com)) @ state) @ (nil @ com)) @ T3))) @ ((transitive_rtrancl @ ((product_prod @ (list @ com)) @ state)) @ pHoare1053570893_exec1)) => (((exec @ S) @ C2) @ T3))))).
% 3.15/1.63  thf(fact_5_exec1__pres__termis, axiom, (! [Cs2:(list @ com),S:state,Cs:(list @ com),S2:state]: (((((member @ ((product_prod @ ((product_prod @ (list @ com)) @ state)) @ ((product_prod @ (list @ com)) @ state))) @ ((((product_Pair @ ((product_prod @ (list @ com)) @ state)) @ ((product_prod @ (list @ com)) @ state)) @ ((((product_Pair @ (list @ com)) @ state) @ Cs2) @ S)) @ ((((product_Pair @ (list @ com)) @ state) @ Cs) @ S2))) @ pHoare1053570893_exec1) => (((pHoare1335526537termis @ Cs2) @ S) => ((pHoare1335526537termis @ Cs) @ S2)))))).
% 3.15/1.63  thf(fact_6_execs__pres__termis, axiom, (! [Cs2:(list @ com),S:state,Cs:(list @ com),S2:state]: (((((member @ ((product_prod @ ((product_prod @ (list @ com)) @ state)) @ ((product_prod @ (list @ com)) @ state))) @ ((((product_Pair @ ((product_prod @ (list @ com)) @ state)) @ ((product_prod @ (list @ com)) @ state)) @ ((((product_Pair @ (list @ com)) @ state) @ Cs2) @ S)) @ ((((product_Pair @ (list @ com)) @ state) @ Cs) @ S2))) @ ((transitive_rtrancl @ ((product_prod @ (list @ com)) @ state)) @ pHoare1053570893_exec1)) => (((pHoare1335526537termis @ Cs2) @ S) => ((pHoare1335526537termis @ Cs) @ S2)))))).
% 3.15/1.63  thf(fact_7_rtrancl__induct2, axiom, (! [A:$tType,B:$tType,Ax:A,Ay:B,Bx:A,By:B,R:(set @ ((product_prod @ ((product_prod @ A) @ B)) @ ((product_prod @ A) @ B))),P:(A > (B > $o))]: (((((member @ ((product_prod @ ((product_prod @ A) @ B)) @ ((product_prod @ A) @ B))) @ ((((product_Pair @ ((product_prod @ A) @ B)) @ ((product_prod @ A) @ B)) @ ((((product_Pair @ A) @ B) @ Ax) @ Ay)) @ ((((product_Pair @ A) @ B) @ Bx) @ By))) @ ((transitive_rtrancl @ ((product_prod @ A) @ B)) @ R)) => (((P @ Ax) @ Ay) => ((! [A2:A,B2:B,Aa:A,Ba:B]: (((((member @ ((product_prod @ ((product_prod @ A) @ B)) @ ((product_prod @ A) @ B))) @ ((((product_Pair @ ((product_prod @ A) @ B)) @ ((product_prod @ A) @ B)) @ ((((product_Pair @ A) @ B) @ Ax) @ Ay)) @ ((((product_Pair @ A) @ B) @ A2) @ B2))) @ ((transitive_rtrancl @ ((product_prod @ A) @ B)) @ R)) => ((((member @ ((product_prod @ ((product_prod @ A) @ B)) @ ((product_prod @ A) @ B))) @ ((((product_Pair @ ((product_prod @ A) @ B)) @ ((product_prod @ A) @ B)) @ ((((product_Pair @ A) @ B) @ A2) @ B2)) @ ((((product_Pair @ A) @ B) @ Aa) @ Ba))) @ R) => (((P @ A2) @ B2) => ((P @ Aa) @ Ba)))))) => ((P @ Bx) @ By))))))).
% 3.15/1.63  thf(fact_8_converse__rtranclE2, axiom, (! [B:$tType,A:$tType,Xa:A,Xb:B,Za:A,Zb:B,R:(set @ ((product_prod @ ((product_prod @ A) @ B)) @ ((product_prod @ A) @ B)))]: (((((member @ ((product_prod @ ((product_prod @ A) @ B)) @ ((product_prod @ A) @ B))) @ ((((product_Pair @ ((product_prod @ A) @ B)) @ ((product_prod @ A) @ B)) @ ((((product_Pair @ A) @ B) @ Xa) @ Xb)) @ ((((product_Pair @ A) @ B) @ Za) @ Zb))) @ ((transitive_rtrancl @ ((product_prod @ A) @ B)) @ R)) => ((((((product_Pair @ A) @ B) @ Xa) @ Xb) != ((((product_Pair @ A) @ B) @ Za) @ Zb)) => (~ ((! [A2:A,B2:B]: (((((member @ ((product_prod @ ((product_prod @ A) @ B)) @ ((product_prod @ A) @ B))) @ ((((product_Pair @ ((product_prod @ A) @ B)) @ ((product_prod @ A) @ B)) @ ((((product_Pair @ A) @ B) @ Xa) @ Xb)) @ ((((product_Pair @ A) @ B) @ A2) @ B2))) @ R) => (~ ((((member @ ((product_prod @ ((product_prod @ A) @ B)) @ ((product_prod @ A) @ B))) @ ((((product_Pair @ ((product_prod @ A) @ B)) @ ((product_prod @ A) @ B)) @ ((((product_Pair @ A) @ B) @ A2) @ B2)) @ ((((product_Pair @ A) @ B) @ Za) @ Zb))) @ ((transitive_rtrancl @ ((product_prod @ A) @ B)) @ R)))))))))))))).
% 3.15/1.63  thf(fact_9_converse__rtrancl__induct2, axiom, (! [A:$tType,B:$tType,Ax:A,Ay:B,Bx:A,By:B,R:(set @ ((product_prod @ ((product_prod @ A) @ B)) @ ((product_prod @ A) @ B))),P:(A > (B > $o))]: (((((member @ ((product_prod @ ((product_prod @ A) @ B)) @ ((product_prod @ A) @ B))) @ ((((product_Pair @ ((product_prod @ A) @ B)) @ ((product_prod @ A) @ B)) @ ((((product_Pair @ A) @ B) @ Ax) @ Ay)) @ ((((product_Pair @ A) @ B) @ Bx) @ By))) @ ((transitive_rtrancl @ ((product_prod @ A) @ B)) @ R)) => (((P @ Bx) @ By) => ((! [A2:A,B2:B,Aa:A,Ba:B]: (((((member @ ((product_prod @ ((product_prod @ A) @ B)) @ ((product_prod @ A) @ B))) @ ((((product_Pair @ ((product_prod @ A) @ B)) @ ((product_prod @ A) @ B)) @ ((((product_Pair @ A) @ B) @ A2) @ B2)) @ ((((product_Pair @ A) @ B) @ Aa) @ Ba))) @ R) => ((((member @ ((product_prod @ ((product_prod @ A) @ B)) @ ((product_prod @ A) @ B))) @ ((((product_Pair @ ((product_prod @ A) @ B)) @ ((product_prod @ A) @ B)) @ ((((product_Pair @ A) @ B) @ Aa) @ Ba)) @ ((((product_Pair @ A) @ B) @ Bx) @ By))) @ ((transitive_rtrancl @ ((product_prod @ A) @ B)) @ R)) => (((P @ Aa) @ Ba) => ((P @ A2) @ B2)))))) => ((P @ Ax) @ Ay))))))).
% 3.15/1.63  thf(fact_10_exec1s__impl__execs, axiom, (! [Cs2:(list @ com),S:state,T3:state]: (((((member @ ((product_prod @ ((product_prod @ (list @ com)) @ state)) @ ((product_prod @ (list @ com)) @ state))) @ ((((product_Pair @ ((product_prod @ (list @ com)) @ state)) @ ((product_prod @ (list @ com)) @ state)) @ ((((product_Pair @ (list @ com)) @ state) @ Cs2) @ S)) @ ((((product_Pair @ (list @ com)) @ state) @ (nil @ com)) @ T3))) @ ((transitive_rtrancl @ ((product_prod @ (list @ com)) @ state)) @ pHoare1053570893_exec1)) => (((pHoare1053570959_execs @ S) @ Cs2) @ T3))))).
% 3.15/1.63  thf(fact_11_rtrancl__idemp, axiom, (! [A:$tType,R:(set @ ((product_prod @ A) @ A))]: ((((transitive_rtrancl @ A) @ ((transitive_rtrancl @ A) @ R)) = ((transitive_rtrancl @ A) @ R))))).
% 3.15/1.63  thf(fact_12_r__into__rtrancl, axiom, (! [A:$tType,P2:((product_prod @ A) @ A),R:(set @ ((product_prod @ A) @ A))]: (((((member @ ((product_prod @ A) @ A)) @ P2) @ R) => (((member @ ((product_prod @ A) @ A)) @ P2) @ ((transitive_rtrancl @ A) @ R)))))).
% 3.15/1.63  thf(fact_13_list_Oinject, axiom, (! [A:$tType,X21:A,X22:(list @ A),Y21:A,Y22:(list @ A)]: ((((((cons @ A) @ X21) @ X22) = (((cons @ A) @ Y21) @ Y22)) = ((X21 = Y21) & (X22 = Y22)))))).
% 3.15/1.63  thf(fact_14_prod_Oinject, axiom, (! [A:$tType,B:$tType,X1:A,X2:B,Y1:A,Y2:B]: (((((((product_Pair @ A) @ B) @ X1) @ X2) = ((((product_Pair @ A) @ B) @ Y1) @ Y2)) = ((X1 = Y1) & (X2 = Y2)))))).
% 3.15/1.63  thf(fact_15_old_Oprod_Oinject, axiom, (! [A:$tType,B:$tType,A3:A,B3:B,A4:A,B4:B]: (((((((product_Pair @ A) @ B) @ A3) @ B3) = ((((product_Pair @ A) @ B) @ A4) @ B4)) = ((A3 = A4) & (B3 = B4)))))).
% 3.15/1.63  thf(fact_16_prod__cases3, axiom, (! [A:$tType,B:$tType,C:$tType,Y:((product_prod @ A) @ ((product_prod @ B) @ C))]: ((~ ((! [A2:A,B2:B,C3:C]: ((Y != ((((product_Pair @ A) @ ((product_prod @ B) @ C)) @ A2) @ ((((product_Pair @ B) @ C) @ B2) @ C3)))))))))).
% 3.15/1.63  thf(fact_17_prod__cases4, axiom, (! [A:$tType,B:$tType,C:$tType,D:$tType,Y:((product_prod @ A) @ ((product_prod @ B) @ ((product_prod @ C) @ D)))]: ((~ ((! [A2:A,B2:B,C3:C,D2:D]: ((Y != ((((product_Pair @ A) @ ((product_prod @ B) @ ((product_prod @ C) @ D))) @ A2) @ ((((product_Pair @ B) @ ((product_prod @ C) @ D)) @ B2) @ ((((product_Pair @ C) @ D) @ C3) @ D2))))))))))).
% 3.15/1.63  thf(fact_18_prod__cases5, axiom, (! [A:$tType,B:$tType,C:$tType,D:$tType,E:$tType,Y:((product_prod @ A) @ ((product_prod @ B) @ ((product_prod @ C) @ ((product_prod @ D) @ E))))]: ((~ ((! [A2:A,B2:B,C3:C,D2:D,E2:E]: ((Y != ((((product_Pair @ A) @ ((product_prod @ B) @ ((product_prod @ C) @ ((product_prod @ D) @ E)))) @ A2) @ ((((product_Pair @ B) @ ((product_prod @ C) @ ((product_prod @ D) @ E))) @ B2) @ ((((product_Pair @ C) @ ((product_prod @ D) @ E)) @ C3) @ ((((product_Pair @ D) @ E) @ D2) @ E2)))))))))))).
% 3.15/1.63  thf(fact_19_map__tailrec__rev_Ocases, axiom, (! [A:$tType,B:$tType,X:((product_prod @ (A > B)) @ ((product_prod @ (list @ A)) @ (list @ B)))]: (((! [F:(A > B),Bs:(list @ B)]: ((X != ((((product_Pair @ (A > B)) @ ((product_prod @ (list @ A)) @ (list @ B))) @ F) @ ((((product_Pair @ (list @ A)) @ (list @ B)) @ (nil @ A)) @ Bs))))) => (~ ((! [F:(A > B),A2:A,As:(list @ A),Bs:(list @ B)]: ((X != ((((product_Pair @ (A > B)) @ ((product_prod @ (list @ A)) @ (list @ B))) @ F) @ ((((product_Pair @ (list @ A)) @ (list @ B)) @ (((cons @ A) @ A2) @ As)) @ Bs))))))))))).
% 3.15/1.63  thf(fact_20_arg__min__list_Ocases, axiom, (! [B:$tType,A:$tType]: (((linorder @ B) => (! [X:((product_prod @ (A > B)) @ (list @ A))]: (((! [F:(A > B),X3:A]: ((X != ((((product_Pair @ (A > B)) @ (list @ A)) @ F) @ (((cons @ A) @ X3) @ (nil @ A)))))) => ((! [F:(A > B),X3:A,Y3:A,Zs:(list @ A)]: ((X != ((((product_Pair @ (A > B)) @ (list @ A)) @ F) @ (((cons @ A) @ X3) @ (((cons @ A) @ Y3) @ Zs)))))) => (~ ((! [A2:(A > B)]: ((X != ((((product_Pair @ (A > B)) @ (list @ A)) @ A2) @ (nil @ A))))))))))))))).
% 3.15/1.63  thf(fact_21_successively_Ocases, axiom, (! [A:$tType,X:((product_prod @ (A > (A > $o))) @ (list @ A))]: (((! [P3:(A > (A > $o))]: ((X != ((((product_Pair @ (A > (A > $o))) @ (list @ A)) @ P3) @ (nil @ A))))) => ((! [P3:(A > (A > $o)),X3:A]: ((X != ((((product_Pair @ (A > (A > $o))) @ (list @ A)) @ P3) @ (((cons @ A) @ X3) @ (nil @ A)))))) => (~ ((! [P3:(A > (A > $o)),X3:A,Y3:A,Xs:(list @ A)]: ((X != ((((product_Pair @ (A > (A > $o))) @ (list @ A)) @ P3) @ (((cons @ A) @ X3) @ (((cons @ A) @ Y3) @ Xs))))))))))))).
% 3.15/1.63  thf(fact_22_sorted__wrt_Ocases, axiom, (! [A:$tType,X:((product_prod @ (A > (A > $o))) @ (list @ A))]: (((! [P3:(A > (A > $o))]: ((X != ((((product_Pair @ (A > (A > $o))) @ (list @ A)) @ P3) @ (nil @ A))))) => (~ ((! [P3:(A > (A > $o)),X3:A,Ys:(list @ A)]: ((X != ((((product_Pair @ (A > (A > $o))) @ (list @ A)) @ P3) @ (((cons @ A) @ X3) @ Ys))))))))))).
% 3.15/1.63  thf(fact_23_shuffles_Ocases, axiom, (! [A:$tType,X:((product_prod @ (list @ A)) @ (list @ A))]: (((! [Ys:(list @ A)]: ((X != ((((product_Pair @ (list @ A)) @ (list @ A)) @ (nil @ A)) @ Ys)))) => ((! [Xs:(list @ A)]: ((X != ((((product_Pair @ (list @ A)) @ (list @ A)) @ Xs) @ (nil @ A))))) => (~ ((! [X3:A,Xs:(list @ A),Y3:A,Ys:(list @ A)]: ((X != ((((product_Pair @ (list @ A)) @ (list @ A)) @ (((cons @ A) @ X3) @ Xs)) @ (((cons @ A) @ Y3) @ Ys)))))))))))).
% 3.15/1.63  thf(fact_24_splice_Ocases, axiom, (! [A:$tType,X:((product_prod @ (list @ A)) @ (list @ A))]: (((! [Ys:(list @ A)]: ((X != ((((product_Pair @ (list @ A)) @ (list @ A)) @ (nil @ A)) @ Ys)))) => (~ ((! [X3:A,Xs:(list @ A),Ys:(list @ A)]: ((X != ((((product_Pair @ (list @ A)) @ (list @ A)) @ (((cons @ A) @ X3) @ Xs)) @ Ys)))))))))).
% 3.15/1.63  thf(fact_25_execs_Ointros_I1_J, axiom, (! [S:state]: ((((pHoare1053570959_execs @ S) @ (nil @ com)) @ S)))).
% 3.15/1.63  thf(fact_26_old_Oprod_Oinducts, axiom, (! [B:$tType,A:$tType,P:(((product_prod @ A) @ B) > $o),Prod:((product_prod @ A) @ B)]: (((! [A2:A,B2:B]: ((P @ ((((product_Pair @ A) @ B) @ A2) @ B2)))) => (P @ Prod))))).
% 3.15/1.63  thf(fact_27_old_Oprod_Oexhaust, axiom, (! [A:$tType,B:$tType,Y:((product_prod @ A) @ B)]: ((~ ((! [A2:A,B2:B]: ((Y != ((((product_Pair @ A) @ B) @ A2) @ B2))))))))).
% 3.15/1.63  thf(fact_28_Pair__inject, axiom, (! [A:$tType,B:$tType,A3:A,B3:B,A4:A,B4:B]: (((((((product_Pair @ A) @ B) @ A3) @ B3) = ((((product_Pair @ A) @ B) @ A4) @ B4)) => (~ (((A3 = A4) => (B3 != B4)))))))).
% 3.15/1.63  thf(fact_29_prod__cases, axiom, (! [B:$tType,A:$tType,P:(((product_prod @ A) @ B) > $o),P2:((product_prod @ A) @ B)]: (((! [A2:A,B2:B]: ((P @ ((((product_Pair @ A) @ B) @ A2) @ B2)))) => (P @ P2))))).
% 3.15/1.63  thf(fact_30_surj__pair, axiom, (! [A:$tType,B:$tType,P2:((product_prod @ A) @ B)]: ((? [X3:A,Y3:B]: ((P2 = ((((product_Pair @ A) @ B) @ X3) @ Y3))))))).
% 3.15/1.63  thf(fact_31_not__Cons__self2, axiom, (! [A:$tType,X:A,Xs2:(list @ A)]: (((((cons @ A) @ X) @ Xs2) != Xs2)))).
% 3.15/1.63  thf(fact_32_execs_Ointros_I2_J, axiom, (! [S:state,C2:com,T3:state,Cs2:(list @ com),U:state]: (((((exec @ S) @ C2) @ T3) => ((((pHoare1053570959_execs @ T3) @ Cs2) @ U) => (((pHoare1053570959_execs @ S) @ (((cons @ com) @ C2) @ Cs2)) @ U)))))).
% 3.15/1.63  thf(fact_33_strict__sorted_Oinduct, axiom, (! [A:$tType]: (((linorder @ A) => (! [P:((list @ A) > $o),A0:(list @ A)]: (((P @ (nil @ A)) => ((! [X3:A,Ys:(list @ A)]: (((P @ Ys) => (P @ (((cons @ A) @ X3) @ Ys))))) => (P @ A0))))))))).
% 3.15/1.63  thf(fact_34_strict__sorted_Ocases, axiom, (! [A:$tType]: (((linorder @ A) => (! [X:(list @ A)]: (((X != (nil @ A)) => (~ ((! [X3:A,Ys:(list @ A)]: ((X != (((cons @ A) @ X3) @ Ys))))))))))))).
% 3.15/1.63  thf(fact_35_map__tailrec__rev_Oinduct, axiom, (! [A:$tType,B:$tType,P:((A > B) > ((list @ A) > ((list @ B) > $o))),A0:(A > B),A1:(list @ A),A22:(list @ B)]: (((! [F:(A > B),X_1:(list @ B)]: ((((P @ F) @ (nil @ A)) @ X_1))) => ((! [F:(A > B),A2:A,As:(list @ A),Bs:(list @ B)]: (((((P @ F) @ As) @ (((cons @ B) @ (F @ A2)) @ Bs)) => (((P @ F) @ (((cons @ A) @ A2) @ As)) @ Bs)))) => (((P @ A0) @ A1) @ A22)))))).
% 3.15/1.63  thf(fact_36_list__nonempty__induct, axiom, (! [A:$tType,Xs2:(list @ A),P:((list @ A) > $o)]: (((Xs2 != (nil @ A)) => ((! [X3:A]: ((P @ (((cons @ A) @ X3) @ (nil @ A))))) => ((! [X3:A,Xs:(list @ A)]: (((Xs != (nil @ A)) => ((P @ Xs) => (P @ (((cons @ A) @ X3) @ Xs)))))) => (P @ Xs2))))))).
% 3.15/1.63  thf(fact_37_successively_Oinduct, axiom, (! [A:$tType,P:((A > (A > $o)) > ((list @ A) > $o)),A0:(A > (A > $o)),A1:(list @ A)]: (((! [P3:(A > (A > $o))]: (((P @ P3) @ (nil @ A)))) => ((! [P3:(A > (A > $o)),X3:A]: (((P @ P3) @ (((cons @ A) @ X3) @ (nil @ A))))) => ((! [P3:(A > (A > $o)),X3:A,Y3:A,Xs:(list @ A)]: ((((P @ P3) @ (((cons @ A) @ Y3) @ Xs)) => ((P @ P3) @ (((cons @ A) @ X3) @ (((cons @ A) @ Y3) @ Xs)))))) => ((P @ A0) @ A1))))))).
% 3.15/1.63  thf(fact_38_arg__min__list_Oinduct, axiom, (! [B:$tType,A:$tType]: (((linorder @ B) => (! [P:((A > B) > ((list @ A) > $o)),A0:(A > B),A1:(list @ A)]: (((! [F:(A > B),X3:A]: (((P @ F) @ (((cons @ A) @ X3) @ (nil @ A))))) => ((! [F:(A > B),X3:A,Y3:A,Zs:(list @ A)]: ((((P @ F) @ (((cons @ A) @ Y3) @ Zs)) => ((P @ F) @ (((cons @ A) @ X3) @ (((cons @ A) @ Y3) @ Zs)))))) => ((! [A2:(A > B)]: (((P @ A2) @ (nil @ A)))) => ((P @ A0) @ A1)))))))))).
% 3.15/1.63  thf(fact_39_remdups__adj_Oinduct, axiom, (! [A:$tType,P:((list @ A) > $o),A0:(list @ A)]: (((P @ (nil @ A)) => ((! [X3:A]: ((P @ (((cons @ A) @ X3) @ (nil @ A))))) => ((! [X3:A,Y3:A,Xs:(list @ A)]: ((((X3 = Y3) => (P @ (((cons @ A) @ X3) @ Xs))) => (((X3 != Y3) => (P @ (((cons @ A) @ Y3) @ Xs))) => (P @ (((cons @ A) @ X3) @ (((cons @ A) @ Y3) @ Xs))))))) => (P @ A0))))))).
% 3.15/1.63  thf(fact_40_sorted__wrt_Oinduct, axiom, (! [A:$tType,P:((A > (A > $o)) > ((list @ A) > $o)),A0:(A > (A > $o)),A1:(list @ A)]: (((! [P3:(A > (A > $o))]: (((P @ P3) @ (nil @ A)))) => ((! [P3:(A > (A > $o)),X3:A,Ys:(list @ A)]: ((((P @ P3) @ Ys) => ((P @ P3) @ (((cons @ A) @ X3) @ Ys))))) => ((P @ A0) @ A1)))))).
% 3.15/1.63  thf(fact_41_remdups__adj_Ocases, axiom, (! [A:$tType,X:(list @ A)]: (((X != (nil @ A)) => ((! [X3:A]: ((X != (((cons @ A) @ X3) @ (nil @ A))))) => (~ ((! [X3:A,Y3:A,Xs:(list @ A)]: ((X != (((cons @ A) @ X3) @ (((cons @ A) @ Y3) @ Xs)))))))))))).
% 3.15/1.63  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,Xs:(list @ A),Xss:(list @ (list @ A))]: ((X != (((cons @ (list @ A)) @ (((cons @ A) @ X3) @ Xs)) @ Xss))))))))))).
% 3.15/1.63  thf(fact_43_shuffles_Oinduct, axiom, (! [A:$tType,P:((list @ A) > ((list @ A) > $o)),A0:(list @ A),A1:(list @ A)]: (((! [X_1:(list @ A)]: (((P @ (nil @ A)) @ X_1))) => ((! [Xs:(list @ A)]: (((P @ Xs) @ (nil @ A)))) => ((! [X3:A,Xs:(list @ A),Y3:A,Ys:(list @ A)]: ((((P @ Xs) @ (((cons @ A) @ Y3) @ Ys)) => (((P @ (((cons @ A) @ X3) @ Xs)) @ Ys) => ((P @ (((cons @ A) @ X3) @ Xs)) @ (((cons @ A) @ Y3) @ Ys)))))) => ((P @ A0) @ A1))))))).
% 3.15/1.63  thf(fact_44_mem__Collect__eq, axiom, (! [A:$tType,A3:A,P:(A > $o)]: (((((member @ A) @ A3) @ ((collect @ A) @ P)) = (P @ A3))))).
% 3.15/1.63  thf(fact_45_Collect__mem__eq, axiom, (! [A:$tType,A5:(set @ A)]: ((((collect @ A) @ (^ [X4:A]: ((((member @ A) @ X4) @ A5)))) = A5)))).
% 3.15/1.63  thf(fact_46_Collect__cong, axiom, (! [A:$tType,P:(A > $o),Q:(A > $o)]: (((! [X3:A]: (((P @ X3) = (Q @ X3)))) => (((collect @ A) @ P) = ((collect @ A) @ Q)))))).
% 3.15/1.63  thf(fact_47_min__list_Oinduct, axiom, (! [A:$tType]: (((ord @ A) => (! [P:((list @ A) > $o),A0:(list @ A)]: (((! [X3:A,Xs:(list @ A)]: (((! [X212:A,X222:(list @ A)]: (((Xs = (((cons @ A) @ X212) @ X222)) => (P @ Xs)))) => (P @ (((cons @ A) @ X3) @ Xs))))) => ((P @ (nil @ A)) => (P @ A0))))))))).
% 3.15/1.63  thf(fact_48_min__list_Ocases, axiom, (! [A:$tType]: (((ord @ A) => (! [X:(list @ A)]: (((! [X3:A,Xs:(list @ A)]: ((X != (((cons @ A) @ X3) @ Xs)))) => (X = (nil @ A))))))))).
% 3.15/1.63  thf(fact_49_induct__list012, axiom, (! [A:$tType,P:((list @ A) > $o),Xs2:(list @ A)]: (((P @ (nil @ A)) => ((! [X3:A]: ((P @ (((cons @ A) @ X3) @ (nil @ A))))) => ((! [X3:A,Y3:A,Zs:(list @ A)]: (((P @ Zs) => ((P @ (((cons @ A) @ Y3) @ Zs)) => (P @ (((cons @ A) @ X3) @ (((cons @ A) @ Y3) @ Zs))))))) => (P @ Xs2))))))).
% 3.15/1.63  thf(fact_50_splice_Oinduct, axiom, (! [A:$tType,P:((list @ A) > ((list @ A) > $o)),A0:(list @ A),A1:(list @ A)]: (((! [X_1:(list @ A)]: (((P @ (nil @ A)) @ X_1))) => ((! [X3:A,Xs:(list @ A),Ys:(list @ A)]: ((((P @ Ys) @ Xs) => ((P @ (((cons @ A) @ X3) @ Xs)) @ Ys)))) => ((P @ A0) @ A1)))))).
% 3.15/1.63  thf(fact_51_list__induct2_H, axiom, (! [A:$tType,B:$tType,P:((list @ A) > ((list @ B) > $o)),Xs2:(list @ A),Ys2:(list @ B)]: ((((P @ (nil @ A)) @ (nil @ B)) => ((! [X3:A,Xs:(list @ A)]: (((P @ (((cons @ A) @ X3) @ Xs)) @ (nil @ B)))) => ((! [Y3:B,Ys:(list @ B)]: (((P @ (nil @ A)) @ (((cons @ B) @ Y3) @ Ys)))) => ((! [X3:A,Xs:(list @ A),Y3:B,Ys:(list @ B)]: ((((P @ Xs) @ Ys) => ((P @ (((cons @ A) @ X3) @ Xs)) @ (((cons @ B) @ Y3) @ Ys))))) => ((P @ Xs2) @ Ys2)))))))).
% 3.15/1.63  thf(fact_52_neq__Nil__conv, axiom, (! [A:$tType,Xs2:(list @ A)]: (((Xs2 != (nil @ A)) = (? [Y4:A,Ys3:(list @ A)]: ((Xs2 = (((cons @ A) @ Y4) @ Ys3)))))))).
% 3.15/1.63  thf(fact_53_list_Oinducts, axiom, (! [A:$tType,P:((list @ A) > $o),List:(list @ A)]: (((P @ (nil @ A)) => ((! [X12:A,X23:(list @ A)]: (((P @ X23) => (P @ (((cons @ A) @ X12) @ X23))))) => (P @ List)))))).
% 3.15/1.63  thf(fact_54_list_Oexhaust, axiom, (! [A:$tType,Y:(list @ A)]: (((Y != (nil @ A)) => (~ ((! [X213:A,X223:(list @ A)]: ((Y != (((cons @ A) @ X213) @ X223)))))))))).
% 3.15/1.63  thf(fact_55_list_OdiscI, axiom, (! [A:$tType,List:(list @ A),X21:A,X22:(list @ A)]: (((List = (((cons @ A) @ X21) @ X22)) => (List != (nil @ A)))))).
% 3.15/1.63  thf(fact_56_list_Odistinct_I1_J, axiom, (! [A:$tType,X21:A,X22:(list @ A)]: (((nil @ A) != (((cons @ A) @ X21) @ X22))))).
% 3.15/1.63  thf(fact_57_execs_Oinducts, axiom, (! [X1:state,X2:(list @ com),X32:state,P:(state > ((list @ com) > (state > $o)))]: (((((pHoare1053570959_execs @ X1) @ X2) @ X32) => ((! [S3:state]: ((((P @ S3) @ (nil @ com)) @ S3))) => ((! [S3:state,C3:com,T4:state,Cs3:(list @ com),U2:state]: (((((exec @ S3) @ C3) @ T4) => ((((pHoare1053570959_execs @ T4) @ Cs3) @ U2) => ((((P @ T4) @ Cs3) @ U2) => (((P @ S3) @ (((cons @ com) @ C3) @ Cs3)) @ U2)))))) => (((P @ X1) @ X2) @ X32))))))).
% 3.15/1.63  thf(fact_58_execs_Osimps, axiom, (pHoare1053570959_execs = (^ [A12:state,A23:(list @ com),A32:state]: (((? [S4:state]: (((A12 = S4) & ((A23 = (nil @ com)) & (A32 = S4))))) | (? [S4:state,C4:com,T2:state,Cs4:(list @ com),U3:state]: (((A12 = S4) & ((A23 = (((cons @ com) @ C4) @ Cs4)) & ((A32 = U3) & ((((exec @ S4) @ C4) @ T2) & (((pHoare1053570959_execs @ T2) @ Cs4) @ U3)))))))))))).
% 3.15/1.63  thf(fact_59_execs_Ocases, axiom, (! [A1:state,A22:(list @ com),A33:state]: (((((pHoare1053570959_execs @ A1) @ A22) @ A33) => (((A22 = (nil @ com)) => (A33 != A1)) => (~ ((! [C3:com,T4:state,Cs3:(list @ com)]: (((A22 = (((cons @ com) @ C3) @ Cs3)) => ((((exec @ A1) @ C3) @ T4) => (~ ((((pHoare1053570959_execs @ T4) @ Cs3) @ A33)))))))))))))).
% 3.15/1.63  thf(fact_60_converse__rtrancl__into__rtrancl, axiom, (! [A:$tType,A3:A,B3:A,R:(set @ ((product_prod @ A) @ A)),C2:A]: (((((member @ ((product_prod @ A) @ A)) @ ((((product_Pair @ A) @ A) @ A3) @ B3)) @ R) => ((((member @ ((product_prod @ A) @ A)) @ ((((product_Pair @ A) @ A) @ B3) @ C2)) @ ((transitive_rtrancl @ A) @ R)) => (((member @ ((product_prod @ A) @ A)) @ ((((product_Pair @ A) @ A) @ A3) @ C2)) @ ((transitive_rtrancl @ A) @ R))))))).
% 3.15/1.63  thf(fact_61_rtrancl_Ortrancl__into__rtrancl, axiom, (! [A:$tType,A3:A,B3:A,R:(set @ ((product_prod @ A) @ A)),C2:A]: (((((member @ ((product_prod @ A) @ A)) @ ((((product_Pair @ A) @ A) @ A3) @ B3)) @ ((transitive_rtrancl @ A) @ R)) => ((((member @ ((product_prod @ A) @ A)) @ ((((product_Pair @ A) @ A) @ B3) @ C2)) @ R) => (((member @ ((product_prod @ A) @ A)) @ ((((product_Pair @ A) @ A) @ A3) @ C2)) @ ((transitive_rtrancl @ A) @ R))))))).
% 3.15/1.63  thf(fact_62_converse__rtrancl__induct, axiom, (! [A:$tType,A3:A,B3:A,R:(set @ ((product_prod @ A) @ A)),P:(A > $o)]: (((((member @ ((product_prod @ A) @ A)) @ ((((product_Pair @ A) @ A) @ A3) @ B3)) @ ((transitive_rtrancl @ A) @ R)) => ((P @ B3) => ((! [Y3:A,Z:A]: (((((member @ ((product_prod @ A) @ A)) @ ((((product_Pair @ A) @ A) @ Y3) @ Z)) @ R) => ((((member @ ((product_prod @ A) @ A)) @ ((((product_Pair @ A) @ A) @ Z) @ B3)) @ ((transitive_rtrancl @ A) @ R)) => ((P @ Z) => (P @ Y3)))))) => (P @ A3))))))).
% 3.15/1.63  thf(fact_63_rtrancl_Ortrancl__refl, axiom, (! [A:$tType,A3:A,R:(set @ ((product_prod @ A) @ A))]: ((((member @ ((product_prod @ A) @ A)) @ ((((product_Pair @ A) @ A) @ A3) @ A3)) @ ((transitive_rtrancl @ A) @ R))))).
% 3.15/1.63  thf(fact_64_converse__rtranclE, axiom, (! [A:$tType,X:A,Z2:A,R:(set @ ((product_prod @ A) @ A))]: (((((member @ ((product_prod @ A) @ A)) @ ((((product_Pair @ A) @ A) @ X) @ Z2)) @ ((transitive_rtrancl @ A) @ R)) => ((X != Z2) => (~ ((! [Y3:A]: (((((member @ ((product_prod @ A) @ A)) @ ((((product_Pair @ A) @ A) @ X) @ Y3)) @ R) => (~ ((((member @ ((product_prod @ A) @ A)) @ ((((product_Pair @ A) @ A) @ Y3) @ Z2)) @ ((transitive_rtrancl @ A) @ R)))))))))))))).
% 3.15/1.63  thf(fact_65_rtrancl_Oinducts, axiom, (! [A:$tType,X1:A,X2:A,R:(set @ ((product_prod @ A) @ A)),P:(A > (A > $o))]: (((((member @ ((product_prod @ A) @ A)) @ ((((product_Pair @ A) @ A) @ X1) @ X2)) @ ((transitive_rtrancl @ A) @ R)) => ((! [A2:A]: (((P @ A2) @ A2))) => ((! [A2:A,B2:A,C3:A]: (((((member @ ((product_prod @ A) @ A)) @ ((((product_Pair @ A) @ A) @ A2) @ B2)) @ ((transitive_rtrancl @ A) @ R)) => (((P @ A2) @ B2) => ((((member @ ((product_prod @ A) @ A)) @ ((((product_Pair @ A) @ A) @ B2) @ C3)) @ R) => ((P @ A2) @ C3)))))) => ((P @ X1) @ X2))))))).
% 3.15/1.63  thf(fact_66_rtrancl__induct, axiom, (! [A:$tType,A3:A,B3:A,R:(set @ ((product_prod @ A) @ A)),P:(A > $o)]: (((((member @ ((product_prod @ A) @ A)) @ ((((product_Pair @ A) @ A) @ A3) @ B3)) @ ((transitive_rtrancl @ A) @ R)) => ((P @ A3) => ((! [Y3:A,Z:A]: (((((member @ ((product_prod @ A) @ A)) @ ((((product_Pair @ A) @ A) @ A3) @ Y3)) @ ((transitive_rtrancl @ A) @ R)) => ((((member @ ((product_prod @ A) @ A)) @ ((((product_Pair @ A) @ A) @ Y3) @ Z)) @ R) => ((P @ Y3) => (P @ Z)))))) => (P @ B3))))))).
% 3.15/1.63  thf(fact_67_rtrancl__trans, axiom, (! [A:$tType,X:A,Y:A,R:(set @ ((product_prod @ A) @ A)),Z2:A]: (((((member @ ((product_prod @ A) @ A)) @ ((((product_Pair @ A) @ A) @ X) @ Y)) @ ((transitive_rtrancl @ A) @ R)) => ((((member @ ((product_prod @ A) @ A)) @ ((((product_Pair @ A) @ A) @ Y) @ Z2)) @ ((transitive_rtrancl @ A) @ R)) => (((member @ ((product_prod @ A) @ A)) @ ((((product_Pair @ A) @ A) @ X) @ Z2)) @ ((transitive_rtrancl @ A) @ R))))))).
% 3.15/1.63  thf(fact_68_rtrancl_Osimps, axiom, (! [A:$tType,A1:A,A22:A,R:(set @ ((product_prod @ A) @ A))]: (((((member @ ((product_prod @ A) @ A)) @ ((((product_Pair @ A) @ A) @ A1) @ A22)) @ ((transitive_rtrancl @ A) @ R)) = ((? [A6:A]: (((A1 = A6) & (A22 = A6)))) | (? [A6:A,B5:A,C4:A]: (((A1 = A6) & ((A22 = C4) & ((((member @ ((product_prod @ A) @ A)) @ ((((product_Pair @ A) @ A) @ A6) @ B5)) @ ((transitive_rtrancl @ A) @ R)) & (((member @ ((product_prod @ A) @ A)) @ ((((product_Pair @ A) @ A) @ B5) @ C4)) @ R))))))))))).
% 3.15/1.63  thf(fact_69_rtrancl_Ocases, axiom, (! [A:$tType,A1:A,A22:A,R:(set @ ((product_prod @ A) @ A))]: (((((member @ ((product_prod @ A) @ A)) @ ((((product_Pair @ A) @ A) @ A1) @ A22)) @ ((transitive_rtrancl @ A) @ R)) => ((A22 != A1) => (~ ((! [B2:A]: (((((member @ ((product_prod @ A) @ A)) @ ((((product_Pair @ A) @ A) @ A1) @ B2)) @ ((transitive_rtrancl @ A) @ R)) => (~ ((((member @ ((product_prod @ A) @ A)) @ ((((product_Pair @ A) @ A) @ B2) @ A22)) @ R))))))))))))).
% 3.15/1.63  thf(fact_70_rtranclE, axiom, (! [A:$tType,A3:A,B3:A,R:(set @ ((product_prod @ A) @ A))]: (((((member @ ((product_prod @ A) @ A)) @ ((((product_Pair @ A) @ A) @ A3) @ B3)) @ ((transitive_rtrancl @ A) @ R)) => ((A3 != B3) => (~ ((! [Y3:A]: (((((member @ ((product_prod @ A) @ A)) @ ((((product_Pair @ A) @ A) @ A3) @ Y3)) @ ((transitive_rtrancl @ A) @ R)) => (~ ((((member @ ((product_prod @ A) @ A)) @ ((((product_Pair @ A) @ A) @ Y3) @ B3)) @ R))))))))))))).
% 3.15/1.63  thf(fact_71_prod__induct7, axiom, (! [G:$tType,F2:$tType,E:$tType,D:$tType,C:$tType,B:$tType,A:$tType,P:(((product_prod @ A) @ ((product_prod @ B) @ ((product_prod @ C) @ ((product_prod @ D) @ ((product_prod @ E) @ ((product_prod @ F2) @ G)))))) > $o),X:((product_prod @ A) @ ((product_prod @ B) @ ((product_prod @ C) @ ((product_prod @ D) @ ((product_prod @ E) @ ((product_prod @ F2) @ G))))))]: (((! [A2:A,B2:B,C3:C,D2:D,E2:E,F:F2,G2:G]: ((P @ ((((product_Pair @ A) @ ((product_prod @ B) @ ((product_prod @ C) @ ((product_prod @ D) @ ((product_prod @ E) @ ((product_prod @ F2) @ G)))))) @ A2) @ ((((product_Pair @ B) @ ((product_prod @ C) @ ((product_prod @ D) @ ((product_prod @ E) @ ((product_prod @ F2) @ G))))) @ B2) @ ((((product_Pair @ C) @ ((product_prod @ D) @ ((product_prod @ E) @ ((product_prod @ F2) @ G)))) @ C3) @ ((((product_Pair @ D) @ ((product_prod @ E) @ ((product_prod @ F2) @ G))) @ D2) @ ((((product_Pair @ E) @ ((product_prod @ F2) @ G)) @ E2) @ ((((product_Pair @ F2) @ G) @ F) @ G2))))))))) => (P @ X))))).
% 3.15/1.63  thf(fact_72_prod__induct6, axiom, (! [F2:$tType,E:$tType,D:$tType,C:$tType,B:$tType,A:$tType,P:(((product_prod @ A) @ ((product_prod @ B) @ ((product_prod @ C) @ ((product_prod @ D) @ ((product_prod @ E) @ F2))))) > $o),X:((product_prod @ A) @ ((product_prod @ B) @ ((product_prod @ C) @ ((product_prod @ D) @ ((product_prod @ E) @ F2)))))]: (((! [A2:A,B2:B,C3:C,D2:D,E2:E,F:F2]: ((P @ ((((product_Pair @ A) @ ((product_prod @ B) @ ((product_prod @ C) @ ((product_prod @ D) @ ((product_prod @ E) @ F2))))) @ A2) @ ((((product_Pair @ B) @ ((product_prod @ C) @ ((product_prod @ D) @ ((product_prod @ E) @ F2)))) @ B2) @ ((((product_Pair @ C) @ ((product_prod @ D) @ ((product_prod @ E) @ F2))) @ C3) @ ((((product_Pair @ D) @ ((product_prod @ E) @ F2)) @ D2) @ ((((product_Pair @ E) @ F2) @ E2) @ F)))))))) => (P @ X))))).
% 3.15/1.63  thf(fact_73_prod__induct5, axiom, (! [E:$tType,D:$tType,C:$tType,B:$tType,A:$tType,P:(((product_prod @ A) @ ((product_prod @ B) @ ((product_prod @ C) @ ((product_prod @ D) @ E)))) > $o),X:((product_prod @ A) @ ((product_prod @ B) @ ((product_prod @ C) @ ((product_prod @ D) @ E))))]: (((! [A2:A,B2:B,C3:C,D2:D,E2:E]: ((P @ ((((product_Pair @ A) @ ((product_prod @ B) @ ((product_prod @ C) @ ((product_prod @ D) @ E)))) @ A2) @ ((((product_Pair @ B) @ ((product_prod @ C) @ ((product_prod @ D) @ E))) @ B2) @ ((((product_Pair @ C) @ ((product_prod @ D) @ E)) @ C3) @ ((((product_Pair @ D) @ E) @ D2) @ E2))))))) => (P @ X))))).
% 3.15/1.63  thf(fact_74_prod__induct4, axiom, (! [D:$tType,C:$tType,B:$tType,A:$tType,P:(((product_prod @ A) @ ((product_prod @ B) @ ((product_prod @ C) @ D))) > $o),X:((product_prod @ A) @ ((product_prod @ B) @ ((product_prod @ C) @ D)))]: (((! [A2:A,B2:B,C3:C,D2:D]: ((P @ ((((product_Pair @ A) @ ((product_prod @ B) @ ((product_prod @ C) @ D))) @ A2) @ ((((product_Pair @ B) @ ((product_prod @ C) @ D)) @ B2) @ ((((product_Pair @ C) @ D) @ C3) @ D2)))))) => (P @ X))))).
% 3.15/1.63  thf(fact_75_prod__induct3, axiom, (! [C:$tType,B:$tType,A:$tType,P:(((product_prod @ A) @ ((product_prod @ B) @ C)) > $o),X:((product_prod @ A) @ ((product_prod @ B) @ C))]: (((! [A2:A,B2:B,C3:C]: ((P @ ((((product_Pair @ A) @ ((product_prod @ B) @ C)) @ A2) @ ((((product_Pair @ B) @ C) @ B2) @ C3))))) => (P @ X))))).
% 3.15/1.63  thf(fact_76_prod__cases7, axiom, (! [A:$tType,B:$tType,C:$tType,D:$tType,E:$tType,F2:$tType,G:$tType,Y:((product_prod @ A) @ ((product_prod @ B) @ ((product_prod @ C) @ ((product_prod @ D) @ ((product_prod @ E) @ ((product_prod @ F2) @ G))))))]: ((~ ((! [A2:A,B2:B,C3:C,D2:D,E2:E,F:F2,G2:G]: ((Y != ((((product_Pair @ A) @ ((product_prod @ B) @ ((product_prod @ C) @ ((product_prod @ D) @ ((product_prod @ E) @ ((product_prod @ F2) @ G)))))) @ A2) @ ((((product_Pair @ B) @ ((product_prod @ C) @ ((product_prod @ D) @ ((product_prod @ E) @ ((product_prod @ F2) @ G))))) @ B2) @ ((((product_Pair @ C) @ ((product_prod @ D) @ ((product_prod @ E) @ ((product_prod @ F2) @ G)))) @ C3) @ ((((product_Pair @ D) @ ((product_prod @ E) @ ((product_prod @ F2) @ G))) @ D2) @ ((((product_Pair @ E) @ ((product_prod @ F2) @ G)) @ E2) @ ((((product_Pair @ F2) @ G) @ F) @ G2)))))))))))))).
% 3.15/1.63  thf(fact_77_prod__cases6, axiom, (! [A:$tType,B:$tType,C:$tType,D:$tType,E:$tType,F2:$tType,Y:((product_prod @ A) @ ((product_prod @ B) @ ((product_prod @ C) @ ((product_prod @ D) @ ((product_prod @ E) @ F2)))))]: ((~ ((! [A2:A,B2:B,C3:C,D2:D,E2:E,F:F2]: ((Y != ((((product_Pair @ A) @ ((product_prod @ B) @ ((product_prod @ C) @ ((product_prod @ D) @ ((product_prod @ E) @ F2))))) @ A2) @ ((((product_Pair @ B) @ ((product_prod @ C) @ ((product_prod @ D) @ ((product_prod @ E) @ F2)))) @ B2) @ ((((product_Pair @ C) @ ((product_prod @ D) @ ((product_prod @ E) @ F2))) @ C3) @ ((((product_Pair @ D) @ ((product_prod @ E) @ F2)) @ D2) @ ((((product_Pair @ E) @ F2) @ E2) @ F))))))))))))).
% 3.15/1.63  thf(fact_78_old_Oprod_Orec, axiom, (! [A:$tType,T:$tType,B:$tType,F1:(A > (B > T)),A3:A,B3:B]: (((((((product_rec_prod @ A) @ B) @ T) @ F1) @ ((((product_Pair @ A) @ B) @ A3) @ B3)) = ((F1 @ A3) @ B3))))).
% 3.15/1.63  thf(fact_79_exec1_OSemi, axiom, (! [C1:com,C22:com,Cs2:(list @ com),S:state]: ((((member @ ((product_prod @ ((product_prod @ (list @ com)) @ state)) @ ((product_prod @ (list @ com)) @ state))) @ ((((product_Pair @ ((product_prod @ (list @ com)) @ state)) @ ((product_prod @ (list @ com)) @ state)) @ ((((product_Pair @ (list @ com)) @ state) @ (((cons @ com) @ ((semi @ C1) @ C22)) @ Cs2)) @ S)) @ ((((product_Pair @ (list @ com)) @ state) @ (((cons @ com) @ C1) @ (((cons @ com) @ C22) @ Cs2))) @ S))) @ pHoare1053570893_exec1)))).
% 3.15/1.63  thf(fact_80_exec1E_I3_J, axiom, (! [C1:com,C22:com,Cs2:(list @ com),S:state,Cs:(list @ com),S2:state]: (((((member @ ((product_prod @ ((product_prod @ (list @ com)) @ state)) @ ((product_prod @ (list @ com)) @ state))) @ ((((product_Pair @ ((product_prod @ (list @ com)) @ state)) @ ((product_prod @ (list @ com)) @ state)) @ ((((product_Pair @ (list @ com)) @ state) @ (((cons @ com) @ ((semi @ C1) @ C22)) @ Cs2)) @ S)) @ ((((product_Pair @ (list @ com)) @ state) @ Cs) @ S2))) @ pHoare1053570893_exec1) => (~ (((Cs = (((cons @ com) @ C1) @ (((cons @ com) @ C22) @ Cs2))) => (S2 != S)))))))).
% 3.15/1.63  thf(fact_81_exec1_ODo, axiom, (! [T3:state,F3:(state > (set @ state)),S:state,Cs2:(list @ com)]: (((((member @ state) @ T3) @ (F3 @ S)) => (((member @ ((product_prod @ ((product_prod @ (list @ com)) @ state)) @ ((product_prod @ (list @ com)) @ state))) @ ((((product_Pair @ ((product_prod @ (list @ com)) @ state)) @ ((product_prod @ (list @ com)) @ state)) @ ((((product_Pair @ (list @ com)) @ state) @ (((cons @ com) @ (do @ F3)) @ Cs2)) @ S)) @ ((((product_Pair @ (list @ com)) @ state) @ Cs2) @ T3))) @ pHoare1053570893_exec1))))).
% 3.15/1.63  thf(fact_82_exec1E_I2_J, axiom, (! [F3:(state > (set @ state)),Cs2:(list @ com),S:state,Cs:(list @ com),S2:state]: (((((member @ ((product_prod @ ((product_prod @ (list @ com)) @ state)) @ ((product_prod @ (list @ com)) @ state))) @ ((((product_Pair @ ((product_prod @ (list @ com)) @ state)) @ ((product_prod @ (list @ com)) @ state)) @ ((((product_Pair @ (list @ com)) @ state) @ (((cons @ com) @ (do @ F3)) @ Cs2)) @ S)) @ ((((product_Pair @ (list @ com)) @ state) @ Cs) @ S2))) @ pHoare1053570893_exec1) => (~ (((Cs = Cs2) => (~ ((((member @ state) @ S2) @ (F3 @ S))))))))))).
% 3.15/1.63  thf(fact_83_exec1_OIfFalse, axiom, (! [B3:(state > $o),S:state,C1:com,C22:com,Cs2:(list @ com)]: (((~ ((B3 @ S))) => (((member @ ((product_prod @ ((product_prod @ (list @ com)) @ state)) @ ((product_prod @ (list @ com)) @ state))) @ ((((product_Pair @ ((product_prod @ (list @ com)) @ state)) @ ((product_prod @ (list @ com)) @ state)) @ ((((product_Pair @ (list @ com)) @ state) @ (((cons @ com) @ (((cond @ B3) @ C1) @ C22)) @ Cs2)) @ S)) @ ((((product_Pair @ (list @ com)) @ state) @ (((cons @ com) @ C22) @ Cs2)) @ S))) @ pHoare1053570893_exec1))))).
% 3.15/1.63  thf(fact_84_exec1_OIfTrue, axiom, (! [B3:(state > $o),S:state,C1:com,C22:com,Cs2:(list @ com)]: (((B3 @ S) => (((member @ ((product_prod @ ((product_prod @ (list @ com)) @ state)) @ ((product_prod @ (list @ com)) @ state))) @ ((((product_Pair @ ((product_prod @ (list @ com)) @ state)) @ ((product_prod @ (list @ com)) @ state)) @ ((((product_Pair @ (list @ com)) @ state) @ (((cons @ com) @ (((cond @ B3) @ C1) @ C22)) @ Cs2)) @ S)) @ ((((product_Pair @ (list @ com)) @ state) @ (((cons @ com) @ C1) @ Cs2)) @ S))) @ pHoare1053570893_exec1))))).
% 3.15/1.63  thf(fact_85_exec1E_I4_J, axiom, (! [B3:(state > $o),C1:com,C22:com,Cs2:(list @ com),S:state,Cs:(list @ com),S2:state]: (((((member @ ((product_prod @ ((product_prod @ (list @ com)) @ state)) @ ((product_prod @ (list @ com)) @ state))) @ ((((product_Pair @ ((product_prod @ (list @ com)) @ state)) @ ((product_prod @ (list @ com)) @ state)) @ ((((product_Pair @ (list @ com)) @ state) @ (((cons @ com) @ (((cond @ B3) @ C1) @ C22)) @ Cs2)) @ S)) @ ((((product_Pair @ (list @ com)) @ state) @ Cs) @ S2))) @ pHoare1053570893_exec1) => (((Cs = (((cons @ com) @ C1) @ Cs2)) => ((S2 = S) => (~ ((B3 @ S))))) => (~ (((Cs = (((cons @ com) @ C22) @ Cs2)) => ((S2 = S) => (B3 @ S)))))))))).
% 3.15/1.63  thf(fact_86_exec1_OWhileFalse, axiom, (! [B3:(state > $o),S:state,C2:com,Cs2:(list @ com)]: (((~ ((B3 @ S))) => (((member @ ((product_prod @ ((product_prod @ (list @ com)) @ state)) @ ((product_prod @ (list @ com)) @ state))) @ ((((product_Pair @ ((product_prod @ (list @ com)) @ state)) @ ((product_prod @ (list @ com)) @ state)) @ ((((product_Pair @ (list @ com)) @ state) @ (((cons @ com) @ ((while @ B3) @ C2)) @ Cs2)) @ S)) @ ((((product_Pair @ (list @ com)) @ state) @ Cs2) @ S))) @ pHoare1053570893_exec1))))).
% 3.15/1.63  thf(fact_87_exec1_OWhileTrue, axiom, (! [B3:(state > $o),S:state,C2:com,Cs2:(list @ com)]: (((B3 @ S) => (((member @ ((product_prod @ ((product_prod @ (list @ com)) @ state)) @ ((product_prod @ (list @ com)) @ state))) @ ((((product_Pair @ ((product_prod @ (list @ com)) @ state)) @ ((product_prod @ (list @ com)) @ state)) @ ((((product_Pair @ (list @ com)) @ state) @ (((cons @ com) @ ((while @ B3) @ C2)) @ Cs2)) @ S)) @ ((((product_Pair @ (list @ com)) @ state) @ (((cons @ com) @ C2) @ (((cons @ com) @ ((while @ B3) @ C2)) @ Cs2))) @ S))) @ pHoare1053570893_exec1))))).
% 3.15/1.63  thf(fact_88_while__termiE, axiom, (! [B3:(state > $o),C2:com,S:state]: ((((termi @ ((while @ B3) @ C2)) @ S) => ((B3 @ S) => ((termi @ C2) @ S)))))).
% 3.15/1.63  thf(fact_89_while__termiE2, axiom, (! [B3:(state > $o),C2:com,S:state,T3:state]: ((((termi @ ((while @ B3) @ C2)) @ S) => ((B3 @ S) => ((((exec @ S) @ C2) @ T3) => ((termi @ ((while @ B3) @ C2)) @ T3))))))).
% 3.15/1.63  thf(fact_90_exec1E_I5_J, axiom, (! [B3:(state > $o),C2:com,Cs2:(list @ com),S:state,Cs:(list @ com),S2:state]: (((((member @ ((product_prod @ ((product_prod @ (list @ com)) @ state)) @ ((product_prod @ (list @ com)) @ state))) @ ((((product_Pair @ ((product_prod @ (list @ com)) @ state)) @ ((product_prod @ (list @ com)) @ state)) @ ((((product_Pair @ (list @ com)) @ state) @ (((cons @ com) @ ((while @ B3) @ C2)) @ Cs2)) @ S)) @ ((((product_Pair @ (list @ com)) @ state) @ Cs) @ S2))) @ pHoare1053570893_exec1) => (((Cs = Cs2) => ((S2 = S) => (B3 @ S))) => (~ (((Cs = (((cons @ com) @ C2) @ (((cons @ com) @ ((while @ B3) @ C2)) @ Cs2))) => ((S2 = S) => (~ ((B3 @ S)))))))))))).
% 3.15/1.63  thf(fact_91_termi_OSemi, axiom, (! [C1:com,S0:state,C22:com]: ((((termi @ C1) @ S0) => ((! [S1:state]: (((((exec @ S0) @ C1) @ S1) => ((termi @ C22) @ S1)))) => ((termi @ ((semi @ C1) @ C22)) @ S0)))))).
% 3.15/1.63  thf(fact_92_termi_OWhileTrue, axiom, (! [B3:(state > $o),S:state,C2:com]: (((B3 @ S) => (((termi @ C2) @ S) => ((! [T4:state]: (((((exec @ S) @ C2) @ T4) => ((termi @ ((while @ B3) @ C2)) @ T4)))) => ((termi @ ((while @ B3) @ C2)) @ S))))))).
% 3.15/1.63  thf(fact_93_com_Oinject_I2_J, axiom, (! [X21:com,X22:com,Y21:com,Y22:com]: (((((semi @ X21) @ X22) = ((semi @ Y21) @ Y22)) = ((X21 = Y21) & (X22 = Y22)))))).
% 3.15/1.63  thf(fact_94_com_Oinject_I1_J, axiom, (! [X1:(state > (set @ state)),Y1:(state > (set @ state))]: ((((do @ X1) = (do @ Y1)) = (X1 = Y1))))).
% 3.15/1.63  thf(fact_95_com_Oinject_I3_J, axiom, (! [X31:(state > $o),X322:com,X33:com,Y31:(state > $o),Y32:com,Y33:com]: ((((((cond @ X31) @ X322) @ X33) = (((cond @ Y31) @ Y32) @ Y33)) = ((X31 = Y31) & ((X322 = Y32) & (X33 = Y33))))))).
% 3.15/1.63  thf(fact_96_com_Oinject_I4_J, axiom, (! [X41:(state > $o),X42:com,Y41:(state > $o),Y42:com]: (((((while @ X41) @ X42) = ((while @ Y41) @ Y42)) = ((X41 = Y41) & (X42 = Y42)))))).
% 3.15/1.63  thf(fact_97_exec_OWhileFalse, axiom, (! [B3:(state > $o),S:state,C2:com]: (((~ ((B3 @ S))) => (((exec @ S) @ ((while @ B3) @ C2)) @ S))))).
% 3.15/1.63  thf(fact_98_exec_OWhileTrue, axiom, (! [B3:(state > $o),S:state,C2:com,T3:state,U:state]: (((B3 @ S) => ((((exec @ S) @ C2) @ T3) => ((((exec @ T3) @ ((while @ B3) @ C2)) @ U) => (((exec @ S) @ ((while @ B3) @ C2)) @ U))))))).
% 3.15/1.63  thf(fact_99_com_Odistinct_I19_J, axiom, (! [X31:(state > $o),X322:com,X33:com,X41:(state > $o),X42:com]: (((((cond @ X31) @ X322) @ X33) != ((while @ X41) @ X42))))).
% 3.15/1.63  thf(fact_100_termi_OWhileFalse, axiom, (! [B3:(state > $o),S:state,C2:com]: (((~ ((B3 @ S))) => ((termi @ ((while @ B3) @ C2)) @ S))))).
% 3.15/1.63  thf(fact_101_com_Odistinct_I5_J, axiom, (! [X1:(state > (set @ state)),X41:(state > $o),X42:com]: (((do @ X1) != ((while @ X41) @ X42))))).
% 3.15/1.63  thf(fact_102_exec_OIfFalse, axiom, (! [B3:(state > $o),S:state,C22:com,T3:state,C1:com]: (((~ ((B3 @ S))) => ((((exec @ S) @ C22) @ T3) => (((exec @ S) @ (((cond @ B3) @ C1) @ C22)) @ T3)))))).
% 3.15/1.63  thf(fact_103_exec_OIfTrue, axiom, (! [B3:(state > $o),S:state,C1:com,T3:state,C22:com]: (((B3 @ S) => ((((exec @ S) @ C1) @ T3) => (((exec @ S) @ (((cond @ B3) @ C1) @ C22)) @ T3)))))).
% 3.15/1.63  thf(fact_104_com_Odistinct_I13_J, axiom, (! [X21:com,X22:com,X41:(state > $o),X42:com]: ((((semi @ X21) @ X22) != ((while @ X41) @ X42))))).
% 3.15/1.63  thf(fact_105_exec_ODo, axiom, (! [T3:state,F3:(state > (set @ state)),S:state]: (((((member @ state) @ T3) @ (F3 @ S)) => (((exec @ S) @ (do @ F3)) @ T3))))).
% 3.15/1.63  thf(fact_106_exec_OSemi, axiom, (! [S0:state,C1:com,S12:state,C22:com,S22:state]: (((((exec @ S0) @ C1) @ S12) => ((((exec @ S12) @ C22) @ S22) => (((exec @ S0) @ ((semi @ C1) @ C22)) @ S22)))))).
% 3.15/1.63  thf(fact_107_termi_OIfFalse, axiom, (! [B3:(state > $o),S:state,C22:com,C1:com]: (((~ ((B3 @ S))) => (((termi @ C22) @ S) => ((termi @ (((cond @ B3) @ C1) @ C22)) @ S)))))).
% 3.15/1.63  thf(fact_108_termi_OIfTrue, axiom, (! [B3:(state > $o),S:state,C1:com,C22:com]: (((B3 @ S) => (((termi @ C1) @ S) => ((termi @ (((cond @ B3) @ C1) @ C22)) @ S)))))).
% 3.15/1.63  thf(fact_109_com_Odistinct_I3_J, axiom, (! [X1:(state > (set @ state)),X31:(state > $o),X322:com,X33:com]: (((do @ X1) != (((cond @ X31) @ X322) @ X33))))).
% 3.15/1.63  thf(fact_110_com_Odistinct_I11_J, axiom, (! [X21:com,X22:com,X31:(state > $o),X322:com,X33:com]: ((((semi @ X21) @ X22) != (((cond @ X31) @ X322) @ X33))))).
% 3.15/1.63  thf(fact_111_com_Odistinct_I1_J, axiom, (! [X1:(state > (set @ state)),X21:com,X22:com]: (((do @ X1) != ((semi @ X21) @ X22))))).
% 3.15/1.63  thf(fact_112_product__lists_Osimps_I1_J, axiom, (! [A:$tType]: ((((product_lists @ A) @ (nil @ (list @ A))) = (((cons @ (list @ A)) @ (nil @ A)) @ (nil @ (list @ A))))))).
% 3.15/1.63  thf(fact_113_subseqs_Osimps_I1_J, axiom, (! [A:$tType]: ((((subseqs @ A) @ (nil @ A)) = (((cons @ (list @ A)) @ (nil @ A)) @ (nil @ (list @ A))))))).
% 3.15/1.63  thf(fact_114_app__execs, axiom, (! [Cs2:(list @ com),S:state,Cs:(list @ com),S2:state,Cs22:(list @ com)]: (((((member @ ((product_prod @ ((product_prod @ (list @ com)) @ state)) @ ((product_prod @ (list @ com)) @ state))) @ ((((product_Pair @ ((product_prod @ (list @ com)) @ state)) @ ((product_prod @ (list @ com)) @ state)) @ ((((product_Pair @ (list @ com)) @ state) @ Cs2) @ S)) @ ((((product_Pair @ (list @ com)) @ state) @ Cs) @ S2))) @ ((transitive_rtrancl @ ((product_prod @ (list @ com)) @ state)) @ pHoare1053570893_exec1)) => (((member @ ((product_prod @ ((product_prod @ (list @ com)) @ state)) @ ((product_prod @ (list @ com)) @ state))) @ ((((product_Pair @ ((product_prod @ (list @ com)) @ state)) @ ((product_prod @ (list @ com)) @ state)) @ ((((product_Pair @ (list @ com)) @ state) @ (((append @ com) @ Cs2) @ Cs22)) @ S)) @ ((((product_Pair @ (list @ com)) @ state) @ (((append @ com) @ Cs) @ Cs22)) @ S2))) @ ((transitive_rtrancl @ ((product_prod @ (list @ com)) @ state)) @ pHoare1053570893_exec1)))))).
% 3.15/1.63  thf(fact_115_insert__Nil, axiom, (! [A:$tType,X:A]: (((((insert @ A) @ X) @ (nil @ A)) = (((cons @ A) @ X) @ (nil @ A)))))).
% 3.15/1.63  thf(fact_116_listrel_Oinducts, axiom, (! [A:$tType,B:$tType,X1:(list @ A),X2:(list @ B),R:(set @ ((product_prod @ A) @ B)),P:((list @ A) > ((list @ B) > $o))]: (((((member @ ((product_prod @ (list @ A)) @ (list @ B))) @ ((((product_Pair @ (list @ A)) @ (list @ B)) @ X1) @ X2)) @ (((listrel @ A) @ B) @ R)) => (((P @ (nil @ A)) @ (nil @ B)) => ((! [X3:A,Y3:B,Xs:(list @ A),Ys:(list @ B)]: (((((member @ ((product_prod @ A) @ B)) @ ((((product_Pair @ A) @ B) @ X3) @ Y3)) @ R) => ((((member @ ((product_prod @ (list @ A)) @ (list @ B))) @ ((((product_Pair @ (list @ A)) @ (list @ B)) @ Xs) @ Ys)) @ (((listrel @ A) @ B) @ R)) => (((P @ Xs) @ Ys) => ((P @ (((cons @ A) @ X3) @ Xs)) @ (((cons @ B) @ Y3) @ Ys))))))) => ((P @ X1) @ X2))))))).
% 3.15/1.63  thf(fact_117_append_Oassoc, axiom, (! [A:$tType,A3:(list @ A),B3:(list @ A),C2:(list @ A)]: (((((append @ A) @ (((append @ A) @ A3) @ B3)) @ C2) = (((append @ A) @ A3) @ (((append @ A) @ B3) @ C2)))))).
% 3.15/1.63  thf(fact_118_append__assoc, axiom, (! [A:$tType,Xs2:(list @ A),Ys2:(list @ A),Zs2:(list @ A)]: (((((append @ A) @ (((append @ A) @ Xs2) @ Ys2)) @ Zs2) = (((append @ A) @ Xs2) @ (((append @ A) @ Ys2) @ Zs2)))))).
% 3.15/1.63  thf(fact_119_append__same__eq, axiom, (! [A:$tType,Ys2:(list @ A),Xs2:(list @ A),Zs2:(list @ A)]: ((((((append @ A) @ Ys2) @ Xs2) = (((append @ A) @ Zs2) @ Xs2)) = (Ys2 = Zs2))))).
% 3.15/1.63  thf(fact_120_same__append__eq, axiom, (! [A:$tType,Xs2:(list @ A),Ys2:(list @ A),Zs2:(list @ A)]: ((((((append @ A) @ Xs2) @ Ys2) = (((append @ A) @ Xs2) @ Zs2)) = (Ys2 = Zs2))))).
% 3.15/1.63  thf(fact_121_append__Nil2, axiom, (! [A:$tType,Xs2:(list @ A)]: (((((append @ A) @ Xs2) @ (nil @ A)) = Xs2)))).
% 3.15/1.63  thf(fact_122_append__self__conv, axiom, (! [A:$tType,Xs2:(list @ A),Ys2:(list @ A)]: ((((((append @ A) @ Xs2) @ Ys2) = Xs2) = (Ys2 = (nil @ A)))))).
% 3.15/1.63  thf(fact_123_self__append__conv, axiom, (! [A:$tType,Xs2:(list @ A),Ys2:(list @ A)]: (((Xs2 = (((append @ A) @ Xs2) @ Ys2)) = (Ys2 = (nil @ A)))))).
% 3.15/1.63  thf(fact_124_append__self__conv2, axiom, (! [A:$tType,Xs2:(list @ A),Ys2:(list @ A)]: ((((((append @ A) @ Xs2) @ Ys2) = Ys2) = (Xs2 = (nil @ A)))))).
% 3.15/1.63  thf(fact_125_self__append__conv2, axiom, (! [A:$tType,Ys2:(list @ A),Xs2:(list @ A)]: (((Ys2 = (((append @ A) @ Xs2) @ Ys2)) = (Xs2 = (nil @ A)))))).
% 3.15/1.63  thf(fact_126_Nil__is__append__conv, axiom, (! [A:$tType,Xs2:(list @ A),Ys2:(list @ A)]: ((((nil @ A) = (((append @ A) @ Xs2) @ Ys2)) = ((Xs2 = (nil @ A)) & (Ys2 = (nil @ A))))))).
% 3.15/1.63  thf(fact_127_append__is__Nil__conv, axiom, (! [A:$tType,Xs2:(list @ A),Ys2:(list @ A)]: ((((((append @ A) @ Xs2) @ Ys2) = (nil @ A)) = ((Xs2 = (nil @ A)) & (Ys2 = (nil @ A))))))).
% 3.15/1.63  thf(fact_128_append_Oright__neutral, axiom, (! [A:$tType,A3:(list @ A)]: (((((append @ A) @ A3) @ (nil @ A)) = A3)))).
% 3.15/1.63  thf(fact_129_append1__eq__conv, axiom, (! [A:$tType,Xs2:(list @ A),X:A,Ys2:(list @ A),Y:A]: ((((((append @ A) @ Xs2) @ (((cons @ A) @ X) @ (nil @ A))) = (((append @ A) @ Ys2) @ (((cons @ A) @ Y) @ (nil @ A)))) = ((Xs2 = Ys2) & (X = Y)))))).
% 3.15/1.63  thf(fact_130_listrel__rtrancl__refl, axiom, (! [A:$tType,Xs2:(list @ A),R:(set @ ((product_prod @ A) @ A))]: ((((member @ ((product_prod @ (list @ A)) @ (list @ A))) @ ((((product_Pair @ (list @ A)) @ (list @ A)) @ Xs2) @ Xs2)) @ (((listrel @ A) @ A) @ ((transitive_rtrancl @ A) @ R)))))).
% 3.15/1.63  thf(fact_131_append__Cons, axiom, (! [A:$tType,X:A,Xs2:(list @ A),Ys2:(list @ A)]: (((((append @ A) @ (((cons @ A) @ X) @ Xs2)) @ Ys2) = (((cons @ A) @ X) @ (((append @ A) @ Xs2) @ Ys2)))))).
% 3.15/1.63  thf(fact_132_Cons__eq__appendI, axiom, (! [A:$tType,X:A,Xs1:(list @ A),Ys2:(list @ A),Xs2:(list @ A),Zs2:(list @ A)]: ((((((cons @ A) @ X) @ Xs1) = Ys2) => ((Xs2 = (((append @ A) @ Xs1) @ Zs2)) => ((((cons @ A) @ X) @ Xs2) = (((append @ A) @ Ys2) @ Zs2))))))).
% 3.15/1.63  thf(fact_133_append_Oleft__neutral, axiom, (! [A:$tType,A3:(list @ A)]: (((((append @ A) @ (nil @ A)) @ A3) = A3)))).
% 3.15/1.63  thf(fact_134_append__Nil, axiom, (! [A:$tType,Ys2:(list @ A)]: (((((append @ A) @ (nil @ A)) @ Ys2) = Ys2)))).
% 3.15/1.63  thf(fact_135_eq__Nil__appendI, axiom, (! [A:$tType,Xs2:(list @ A),Ys2:(list @ A)]: (((Xs2 = Ys2) => (Xs2 = (((append @ A) @ (nil @ A)) @ Ys2)))))).
% 3.15/1.63  thf(fact_136_append__eq__appendI, axiom, (! [A:$tType,Xs2:(list @ A),Xs1:(list @ A),Zs2:(list @ A),Ys2:(list @ A),Us:(list @ A)]: ((((((append @ A) @ Xs2) @ Xs1) = Zs2) => ((Ys2 = (((append @ A) @ Xs1) @ Us)) => ((((append @ A) @ Xs2) @ Ys2) = (((append @ A) @ Zs2) @ Us))))))).
% 3.15/1.63  thf(fact_137_append__eq__append__conv2, axiom, (! [A:$tType,Xs2:(list @ A),Ys2:(list @ A),Zs2:(list @ A),Ts:(list @ A)]: ((((((append @ A) @ Xs2) @ Ys2) = (((append @ A) @ Zs2) @ Ts)) = (? [Us2:(list @ A)]: ((((Xs2 = (((append @ A) @ Zs2) @ Us2)) & ((((append @ A) @ Us2) @ Ys2) = Ts)) | (((((append @ A) @ Xs2) @ Us2) = Zs2) & (Ys2 = (((append @ A) @ Us2) @ Ts)))))))))).
% 3.15/1.63  thf(fact_138_rev__induct, axiom, (! [A:$tType,P:((list @ A) > $o),Xs2:(list @ A)]: (((P @ (nil @ A)) => ((! [X3:A,Xs:(list @ A)]: (((P @ Xs) => (P @ (((append @ A) @ Xs) @ (((cons @ A) @ X3) @ (nil @ A))))))) => (P @ Xs2)))))).
% 3.15/1.63  thf(fact_139_rev__exhaust, axiom, (! [A:$tType,Xs2:(list @ A)]: (((Xs2 != (nil @ A)) => (~ ((! [Ys:(list @ A),Y3:A]: ((Xs2 != (((append @ A) @ Ys) @ (((cons @ A) @ Y3) @ (nil @ A)))))))))))).
% 3.15/1.63  thf(fact_140_Cons__eq__append__conv, axiom, (! [A:$tType,X:A,Xs2:(list @ A),Ys2:(list @ A),Zs2:(list @ A)]: ((((((cons @ A) @ X) @ Xs2) = (((append @ A) @ Ys2) @ Zs2)) = (((Ys2 = (nil @ A)) & ((((cons @ A) @ X) @ Xs2) = Zs2)) | (? [Ys4:(list @ A)]: ((((((cons @ A) @ X) @ Ys4) = Ys2) & (Xs2 = (((append @ A) @ Ys4) @ Zs2)))))))))).
% 3.15/1.63  thf(fact_141_append__eq__Cons__conv, axiom, (! [A:$tType,Ys2:(list @ A),Zs2:(list @ A),X:A,Xs2:(list @ A)]: ((((((append @ A) @ Ys2) @ Zs2) = (((cons @ A) @ X) @ Xs2)) = (((Ys2 = (nil @ A)) & (Zs2 = (((cons @ A) @ X) @ Xs2))) | (? [Ys4:(list @ A)]: (((Ys2 = (((cons @ A) @ X) @ Ys4)) & ((((append @ A) @ Ys4) @ Zs2) = Xs2))))))))).
% 3.15/1.63  thf(fact_142_rev__nonempty__induct, axiom, (! [A:$tType,Xs2:(list @ A),P:((list @ A) > $o)]: (((Xs2 != (nil @ A)) => ((! [X3:A]: ((P @ (((cons @ A) @ X3) @ (nil @ A))))) => ((! [X3:A,Xs:(list @ A)]: (((Xs != (nil @ A)) => ((P @ Xs) => (P @ (((append @ A) @ Xs) @ (((cons @ A) @ X3) @ (nil @ A)))))))) => (P @ Xs2))))))).
% 3.15/1.63  thf(fact_143_listrel__Nil2, axiom, (! [B:$tType,A:$tType,Xs2:(list @ A),R:(set @ ((product_prod @ A) @ B))]: (((((member @ ((product_prod @ (list @ A)) @ (list @ B))) @ ((((product_Pair @ (list @ A)) @ (list @ B)) @ Xs2) @ (nil @ B))) @ (((listrel @ A) @ B) @ R)) => (Xs2 = (nil @ A)))))).
% 3.15/1.63  thf(fact_144_listrel__Nil1, axiom, (! [A:$tType,B:$tType,Xs2:(list @ B),R:(set @ ((product_prod @ A) @ B))]: (((((member @ ((product_prod @ (list @ A)) @ (list @ B))) @ ((((product_Pair @ (list @ A)) @ (list @ B)) @ (nil @ A)) @ Xs2)) @ (((listrel @ A) @ B) @ R)) => (Xs2 = (nil @ B)))))).
% 3.15/1.63  thf(fact_145_listrel_ONil, axiom, (! [B:$tType,A:$tType,R:(set @ ((product_prod @ A) @ B))]: ((((member @ ((product_prod @ (list @ A)) @ (list @ B))) @ ((((product_Pair @ (list @ A)) @ (list @ B)) @ (nil @ A)) @ (nil @ B))) @ (((listrel @ A) @ B) @ R))))).
% 3.15/1.63  thf(fact_146_listrel__rtrancl__trans, axiom, (! [A:$tType,Xs2:(list @ A),Ys2:(list @ A),R:(set @ ((product_prod @ A) @ A)),Zs2:(list @ A)]: (((((member @ ((product_prod @ (list @ A)) @ (list @ A))) @ ((((product_Pair @ (list @ A)) @ (list @ A)) @ Xs2) @ Ys2)) @ (((listrel @ A) @ A) @ ((transitive_rtrancl @ A) @ R))) => ((((member @ ((product_prod @ (list @ A)) @ (list @ A))) @ ((((product_Pair @ (list @ A)) @ (list @ A)) @ Ys2) @ Zs2)) @ (((listrel @ A) @ A) @ ((transitive_rtrancl @ A) @ R))) => (((member @ ((product_prod @ (list @ A)) @ (list @ A))) @ ((((product_Pair @ (list @ A)) @ (list @ A)) @ Xs2) @ Zs2)) @ (((listrel @ A) @ A) @ ((transitive_rtrancl @ A) @ R)))))))).
% 3.15/1.63  thf(fact_147_listrel_OCons, axiom, (! [B:$tType,A:$tType,X:A,Y:B,R:(set @ ((product_prod @ A) @ B)),Xs2:(list @ A),Ys2:(list @ B)]: (((((member @ ((product_prod @ A) @ B)) @ ((((product_Pair @ A) @ B) @ X) @ Y)) @ R) => ((((member @ ((product_prod @ (list @ A)) @ (list @ B))) @ ((((product_Pair @ (list @ A)) @ (list @ B)) @ Xs2) @ Ys2)) @ (((listrel @ A) @ B) @ R)) => (((member @ ((product_prod @ (list @ A)) @ (list @ B))) @ ((((product_Pair @ (list @ A)) @ (list @ B)) @ (((cons @ A) @ X) @ Xs2)) @ (((cons @ B) @ Y) @ Ys2))) @ (((listrel @ A) @ B) @ R))))))).
% 3.15/1.63  thf(fact_148_listrel__Cons1, axiom, (! [B:$tType,A:$tType,Y:A,Ys2:(list @ A),Xs2:(list @ B),R:(set @ ((product_prod @ A) @ B))]: (((((member @ ((product_prod @ (list @ A)) @ (list @ B))) @ ((((product_Pair @ (list @ A)) @ (list @ B)) @ (((cons @ A) @ Y) @ Ys2)) @ Xs2)) @ (((listrel @ A) @ B) @ R)) => (~ ((! [Y3:B,Ys:(list @ B)]: (((Xs2 = (((cons @ B) @ Y3) @ Ys)) => ((((member @ ((product_prod @ A) @ B)) @ ((((product_Pair @ A) @ B) @ Y) @ Y3)) @ R) => (~ ((((member @ ((product_prod @ (list @ A)) @ (list @ B))) @ ((((product_Pair @ (list @ A)) @ (list @ B)) @ Ys2) @ Ys)) @ (((listrel @ A) @ B) @ R)))))))))))))).
% 3.15/1.63  thf(fact_149_listrel__Cons2, axiom, (! [B:$tType,A:$tType,Xs2:(list @ A),Y:B,Ys2:(list @ B),R:(set @ ((product_prod @ A) @ B))]: (((((member @ ((product_prod @ (list @ A)) @ (list @ B))) @ ((((product_Pair @ (list @ A)) @ (list @ B)) @ Xs2) @ (((cons @ B) @ Y) @ Ys2))) @ (((listrel @ A) @ B) @ R)) => (~ ((! [X3:A,Xs:(list @ A)]: (((Xs2 = (((cons @ A) @ X3) @ Xs)) => ((((member @ ((product_prod @ A) @ B)) @ ((((product_Pair @ A) @ B) @ X3) @ Y)) @ R) => (~ ((((member @ ((product_prod @ (list @ A)) @ (list @ B))) @ ((((product_Pair @ (list @ A)) @ (list @ B)) @ Xs) @ Ys2)) @ (((listrel @ A) @ B) @ R)))))))))))))).
% 3.15/1.63  thf(fact_150_app__exec, axiom, (! [Cs2:(list @ com),S:state,Cs:(list @ com),S2:state,Cs22:(list @ com)]: (((((member @ ((product_prod @ ((product_prod @ (list @ com)) @ state)) @ ((product_prod @ (list @ com)) @ state))) @ ((((product_Pair @ ((product_prod @ (list @ com)) @ state)) @ ((product_prod @ (list @ com)) @ state)) @ ((((product_Pair @ (list @ com)) @ state) @ Cs2) @ S)) @ ((((product_Pair @ (list @ com)) @ state) @ Cs) @ S2))) @ pHoare1053570893_exec1) => (((member @ ((product_prod @ ((product_prod @ (list @ com)) @ state)) @ ((product_prod @ (list @ com)) @ state))) @ ((((product_Pair @ ((product_prod @ (list @ com)) @ state)) @ ((product_prod @ (list @ com)) @ state)) @ ((((product_Pair @ (list @ com)) @ state) @ (((append @ com) @ Cs2) @ Cs22)) @ S)) @ ((((product_Pair @ (list @ com)) @ state) @ (((append @ com) @ Cs) @ Cs22)) @ S2))) @ pHoare1053570893_exec1))))).
% 3.15/1.63  thf(fact_151_listrel_Ocases, axiom, (! [B:$tType,A:$tType,A1:(list @ A),A22:(list @ B),R:(set @ ((product_prod @ A) @ B))]: (((((member @ ((product_prod @ (list @ A)) @ (list @ B))) @ ((((product_Pair @ (list @ A)) @ (list @ B)) @ A1) @ A22)) @ (((listrel @ A) @ B) @ R)) => (((A1 = (nil @ A)) => (A22 != (nil @ B))) => (~ ((! [X3:A,Y3:B,Xs:(list @ A)]: (((A1 = (((cons @ A) @ X3) @ Xs)) => (! [Ys:(list @ B)]: (((A22 = (((cons @ B) @ Y3) @ Ys)) => ((((member @ ((product_prod @ A) @ B)) @ ((((product_Pair @ A) @ B) @ X3) @ Y3)) @ R) => (~ ((((member @ ((product_prod @ (list @ A)) @ (list @ B))) @ ((((product_Pair @ (list @ A)) @ (list @ B)) @ Xs) @ Ys)) @ (((listrel @ A) @ B) @ R)))))))))))))))))).
% 3.15/1.63  thf(fact_152_listrel_Osimps, axiom, (! [B:$tType,A:$tType,A1:(list @ A),A22:(list @ B),R:(set @ ((product_prod @ A) @ B))]: (((((member @ ((product_prod @ (list @ A)) @ (list @ B))) @ ((((product_Pair @ (list @ A)) @ (list @ B)) @ A1) @ A22)) @ (((listrel @ A) @ B) @ R)) = (((A1 = (nil @ A)) & (A22 = (nil @ B))) | (? [X4:A,Y4:B,Xs3:(list @ A),Ys3:(list @ B)]: (((A1 = (((cons @ A) @ X4) @ Xs3)) & ((A22 = (((cons @ B) @ Y4) @ Ys3)) & ((((member @ ((product_prod @ A) @ B)) @ ((((product_Pair @ A) @ B) @ X4) @ Y4)) @ R) & (((member @ ((product_prod @ (list @ A)) @ (list @ B))) @ ((((product_Pair @ (list @ A)) @ (list @ B)) @ Xs3) @ Ys3)) @ (((listrel @ A) @ B) @ R)))))))))))).
% 3.15/1.63  thf(fact_153_bind__simps_I2_J, axiom, (! [A:$tType,B:$tType,X:B,Xs2:(list @ B),F3:(B > (list @ A))]: ((((((bind @ B) @ A) @ (((cons @ B) @ X) @ Xs2)) @ F3) = (((append @ A) @ (F3 @ X)) @ ((((bind @ B) @ A) @ Xs2) @ F3)))))).
% 3.15/1.63  thf(fact_154_snoc__listrel1__snoc__iff, axiom, (! [A:$tType,Xs2:(list @ A),X:A,Ys2:(list @ A),Y:A,R:(set @ ((product_prod @ A) @ A))]: (((((member @ ((product_prod @ (list @ A)) @ (list @ A))) @ ((((product_Pair @ (list @ A)) @ (list @ A)) @ (((append @ A) @ Xs2) @ (((cons @ A) @ X) @ (nil @ A)))) @ (((append @ A) @ Ys2) @ (((cons @ A) @ Y) @ (nil @ A))))) @ ((listrel1 @ A) @ R)) = (((((member @ ((product_prod @ (list @ A)) @ (list @ A))) @ ((((product_Pair @ (list @ A)) @ (list @ A)) @ Xs2) @ Ys2)) @ ((listrel1 @ A) @ R)) & (X = Y)) | ((Xs2 = Ys2) & (((member @ ((product_prod @ A) @ A)) @ ((((product_Pair @ A) @ A) @ X) @ Y)) @ R))))))).
% 3.15/1.63  thf(fact_155_maps__simps_I1_J, axiom, (! [A:$tType,B:$tType,F3:(B > (list @ A)),X:B,Xs2:(list @ B)]: ((((((maps @ B) @ A) @ F3) @ (((cons @ B) @ X) @ Xs2)) = (((append @ A) @ (F3 @ X)) @ ((((maps @ B) @ A) @ F3) @ Xs2)))))).
% 3.15/1.63  thf(fact_156_concat__eq__append__conv, axiom, (! [A:$tType,Xss2:(list @ (list @ A)),Ys2:(list @ A),Zs2:(list @ A)]: (((((concat @ A) @ Xss2) = (((append @ A) @ Ys2) @ Zs2)) = (((Xss2 = (nil @ (list @ A))) => ((Ys2 = (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))) & ((Ys2 = (((append @ A) @ ((concat @ A) @ Xss1)) @ Xs3)) & (Zs2 = (((append @ A) @ Xs4) @ ((concat @ A) @ Xss22))))))))))))).
% 3.15/1.63  thf(fact_157_bind__simps_I1_J, axiom, (! [B:$tType,A:$tType,F3:(B > (list @ A))]: ((((((bind @ B) @ A) @ (nil @ B)) @ F3) = (nil @ A))))).
% 3.15/1.63  thf(fact_158_concat__append, axiom, (! [A:$tType,Xs2:(list @ (list @ A)),Ys2:(list @ (list @ A))]: ((((concat @ A) @ (((append @ (list @ A)) @ Xs2) @ Ys2)) = (((append @ A) @ ((concat @ A) @ Xs2)) @ ((concat @ A) @ Ys2)))))).
% 3.15/1.63  thf(fact_159_Cons__listrel1__Cons, axiom, (! [A:$tType,X:A,Xs2:(list @ A),Y:A,Ys2:(list @ A),R:(set @ ((product_prod @ A) @ A))]: (((((member @ ((product_prod @ (list @ A)) @ (list @ A))) @ ((((product_Pair @ (list @ A)) @ (list @ A)) @ (((cons @ A) @ X) @ Xs2)) @ (((cons @ A) @ Y) @ Ys2))) @ ((listrel1 @ A) @ R)) = (((((member @ ((product_prod @ A) @ A)) @ ((((product_Pair @ A) @ A) @ X) @ Y)) @ R) & (Xs2 = Ys2)) | ((X = Y) & (((member @ ((product_prod @ (list @ A)) @ (list @ A))) @ ((((product_Pair @ (list @ A)) @ (list @ A)) @ Xs2) @ Ys2)) @ ((listrel1 @ A) @ R)))))))).
% 3.15/1.63  thf(fact_160_listrel1I2, axiom, (! [A:$tType,Xs2:(list @ A),Ys2:(list @ A),R:(set @ ((product_prod @ A) @ A)),X:A]: (((((member @ ((product_prod @ (list @ A)) @ (list @ A))) @ ((((product_Pair @ (list @ A)) @ (list @ A)) @ Xs2) @ Ys2)) @ ((listrel1 @ A) @ R)) => (((member @ ((product_prod @ (list @ A)) @ (list @ A))) @ ((((product_Pair @ (list @ A)) @ (list @ A)) @ (((cons @ A) @ X) @ Xs2)) @ (((cons @ A) @ X) @ Ys2))) @ ((listrel1 @ A) @ R)))))).
% 3.15/1.63  thf(fact_161_rtrancl__listrel1__ConsI1, axiom, (! [A:$tType,Xs2:(list @ A),Ys2:(list @ A),R:(set @ ((product_prod @ A) @ A)),X:A]: (((((member @ ((product_prod @ (list @ A)) @ (list @ A))) @ ((((product_Pair @ (list @ A)) @ (list @ A)) @ Xs2) @ Ys2)) @ ((transitive_rtrancl @ (list @ A)) @ ((listrel1 @ A) @ R))) => (((member @ ((product_prod @ (list @ A)) @ (list @ A))) @ ((((product_Pair @ (list @ A)) @ (list @ A)) @ (((cons @ A) @ X) @ Xs2)) @ (((cons @ A) @ X) @ Ys2))) @ ((transitive_rtrancl @ (list @ A)) @ ((listrel1 @ A) @ R))))))).
% 3.15/1.63  thf(fact_162_not__Nil__listrel1, axiom, (! [A:$tType,Xs2:(list @ A),R:(set @ ((product_prod @ A) @ A))]: ((~ ((((member @ ((product_prod @ (list @ A)) @ (list @ A))) @ ((((product_Pair @ (list @ A)) @ (list @ A)) @ (nil @ A)) @ Xs2)) @ ((listrel1 @ A) @ R))))))).
% 3.15/1.63  thf(fact_163_not__listrel1__Nil, axiom, (! [A:$tType,Xs2:(list @ A),R:(set @ ((product_prod @ A) @ A))]: ((~ ((((member @ ((product_prod @ (list @ A)) @ (list @ A))) @ ((((product_Pair @ (list @ A)) @ (list @ A)) @ Xs2) @ (nil @ A))) @ ((listrel1 @ A) @ R))))))).
% 3.15/1.63  thf(fact_164_append__listrel1I, axiom, (! [A:$tType,Xs2:(list @ A),Ys2:(list @ A),R:(set @ ((product_prod @ A) @ A)),Us:(list @ A),Vs:(list @ A)]: (((((((member @ ((product_prod @ (list @ A)) @ (list @ A))) @ ((((product_Pair @ (list @ A)) @ (list @ A)) @ Xs2) @ Ys2)) @ ((listrel1 @ A) @ R)) & (Us = Vs)) | ((Xs2 = Ys2) & (((member @ ((product_prod @ (list @ A)) @ (list @ A))) @ ((((product_Pair @ (list @ A)) @ (list @ A)) @ Us) @ Vs)) @ ((listrel1 @ A) @ R)))) => (((member @ ((product_prod @ (list @ A)) @ (list @ A))) @ ((((product_Pair @ (list @ A)) @ (list @ A)) @ (((append @ A) @ Xs2) @ Us)) @ (((append @ A) @ Ys2) @ Vs))) @ ((listrel1 @ A) @ R)))))).
% 3.15/1.63  thf(fact_165_concat_Osimps_I1_J, axiom, (! [A:$tType]: ((((concat @ A) @ (nil @ (list @ A))) = (nil @ A))))).
% 3.15/1.63  thf(fact_166_concat_Osimps_I2_J, axiom, (! [A:$tType,X:(list @ A),Xs2:(list @ (list @ A))]: ((((concat @ A) @ (((cons @ (list @ A)) @ X) @ Xs2)) = (((append @ A) @ X) @ ((concat @ A) @ Xs2)))))).
% 3.15/1.63  thf(fact_167_listrel__rtrancl__eq__rtrancl__listrel1, axiom, (! [A:$tType,R:(set @ ((product_prod @ A) @ A))]: (((((listrel @ A) @ A) @ ((transitive_rtrancl @ A) @ R)) = ((transitive_rtrancl @ (list @ A)) @ ((listrel1 @ A) @ R)))))).
% 3.15/1.63  thf(fact_168_rtrancl__listrel1__if__listrel, axiom, (! [A:$tType,Xs2:(list @ A),Ys2:(list @ A),R:(set @ ((product_prod @ A) @ A))]: (((((member @ ((product_prod @ (list @ A)) @ (list @ A))) @ ((((product_Pair @ (list @ A)) @ (list @ A)) @ Xs2) @ Ys2)) @ (((listrel @ A) @ A) @ R)) => (((member @ ((product_prod @ (list @ A)) @ (list @ A))) @ ((((product_Pair @ (list @ A)) @ (list @ A)) @ Xs2) @ Ys2)) @ ((transitive_rtrancl @ (list @ A)) @ ((listrel1 @ A) @ R))))))).
% 3.15/1.63  thf(fact_169_maps__simps_I2_J, axiom, (! [B:$tType,A:$tType,F3:(B > (list @ A))]: ((((((maps @ B) @ A) @ F3) @ (nil @ B)) = (nil @ A))))).
% 3.15/1.63  thf(fact_170_Cons__listrel1E2, axiom, (! [A:$tType,Xs2:(list @ A),Y:A,Ys2:(list @ A),R:(set @ ((product_prod @ A) @ A))]: (((((member @ ((product_prod @ (list @ A)) @ (list @ A))) @ ((((product_Pair @ (list @ A)) @ (list @ A)) @ Xs2) @ (((cons @ A) @ Y) @ Ys2))) @ ((listrel1 @ A) @ R)) => ((! [X3:A]: (((Xs2 = (((cons @ A) @ X3) @ Ys2)) => (~ ((((member @ ((product_prod @ A) @ A)) @ ((((product_Pair @ A) @ A) @ X3) @ Y)) @ R)))))) => (~ ((! [Zs:(list @ A)]: (((Xs2 = (((cons @ A) @ Y) @ Zs)) => (~ ((((member @ ((product_prod @ (list @ A)) @ (list @ A))) @ ((((product_Pair @ (list @ A)) @ (list @ A)) @ Zs) @ Ys2)) @ ((listrel1 @ A) @ R)))))))))))))).
% 3.15/1.63  thf(fact_171_Cons__listrel1E1, axiom, (! [A:$tType,X:A,Xs2:(list @ A),Ys2:(list @ A),R:(set @ ((product_prod @ A) @ A))]: (((((member @ ((product_prod @ (list @ A)) @ (list @ A))) @ ((((product_Pair @ (list @ A)) @ (list @ A)) @ (((cons @ A) @ X) @ Xs2)) @ Ys2)) @ ((listrel1 @ A) @ R)) => ((! [Y3:A]: (((Ys2 = (((cons @ A) @ Y3) @ Xs2)) => (~ ((((member @ ((product_prod @ A) @ A)) @ ((((product_Pair @ A) @ A) @ X) @ Y3)) @ R)))))) => (~ ((! [Zs:(list @ A)]: (((Ys2 = (((cons @ A) @ X) @ Zs)) => (~ ((((member @ ((product_prod @ (list @ A)) @ (list @ A))) @ ((((product_Pair @ (list @ A)) @ (list @ A)) @ Xs2) @ Zs)) @ ((listrel1 @ A) @ R)))))))))))))).
% 3.15/1.63  thf(fact_172_listrel1I1, axiom, (! [A:$tType,X:A,Y:A,R:(set @ ((product_prod @ A) @ A)),Xs2:(list @ A)]: (((((member @ ((product_prod @ A) @ A)) @ ((((product_Pair @ A) @ A) @ X) @ Y)) @ R) => (((member @ ((product_prod @ (list @ A)) @ (list @ A))) @ ((((product_Pair @ (list @ A)) @ (list @ A)) @ (((cons @ A) @ X) @ Xs2)) @ (((cons @ A) @ Y) @ Xs2))) @ ((listrel1 @ A) @ R)))))).
% 3.15/1.63  thf(fact_173_listrel__reflcl__if__listrel1, axiom, (! [A:$tType,Xs2:(list @ A),Ys2:(list @ A),R:(set @ ((product_prod @ A) @ A))]: (((((member @ ((product_prod @ (list @ A)) @ (list @ A))) @ ((((product_Pair @ (list @ A)) @ (list @ A)) @ Xs2) @ Ys2)) @ ((listrel1 @ A) @ R)) => (((member @ ((product_prod @ (list @ A)) @ (list @ A))) @ ((((product_Pair @ (list @ A)) @ (list @ A)) @ Xs2) @ Ys2)) @ (((listrel @ A) @ A) @ ((transitive_rtrancl @ A) @ R))))))).
% 3.15/1.63  thf(fact_174_concat__eq__appendD, axiom, (! [A:$tType,Xss2:(list @ (list @ A)),Ys2:(list @ A),Zs2:(list @ A)]: (((((concat @ A) @ Xss2) = (((append @ A) @ Ys2) @ Zs2)) => ((Xss2 != (nil @ (list @ A))) => (? [Xss12:(list @ (list @ A)),Xs:(list @ A),Xs5:(list @ A),Xss23:(list @ (list @ A))]: (((Xss2 = (((append @ (list @ A)) @ Xss12) @ (((cons @ (list @ A)) @ (((append @ A) @ Xs) @ Xs5)) @ Xss23))) & ((Ys2 = (((append @ A) @ ((concat @ A) @ Xss12)) @ Xs)) & (Zs2 = (((append @ A) @ Xs5) @ ((concat @ A) @ Xss23)))))))))))).
% 3.15/1.63  thf(fact_175_listrel1I, axiom, (! [A:$tType,X:A,Y:A,R:(set @ ((product_prod @ A) @ A)),Xs2:(list @ A),Us:(list @ A),Vs:(list @ A),Ys2:(list @ A)]: (((((member @ ((product_prod @ A) @ A)) @ ((((product_Pair @ A) @ A) @ X) @ Y)) @ R) => ((Xs2 = (((append @ A) @ Us) @ (((cons @ A) @ X) @ Vs))) => ((Ys2 = (((append @ A) @ Us) @ (((cons @ A) @ Y) @ Vs))) => (((member @ ((product_prod @ (list @ A)) @ (list @ A))) @ ((((product_Pair @ (list @ A)) @ (list @ A)) @ Xs2) @ Ys2)) @ ((listrel1 @ A) @ R)))))))).
% 3.15/1.63  thf(fact_176_listrel1E, axiom, (! [A:$tType,Xs2:(list @ A),Ys2:(list @ A),R:(set @ ((product_prod @ A) @ A))]: (((((member @ ((product_prod @ (list @ A)) @ (list @ A))) @ ((((product_Pair @ (list @ A)) @ (list @ A)) @ Xs2) @ Ys2)) @ ((listrel1 @ A) @ R)) => (~ ((! [X3:A,Y3:A]: (((((member @ ((product_prod @ A) @ A)) @ ((((product_Pair @ A) @ A) @ X3) @ Y3)) @ R) => (! [Us3:(list @ A),Vs2:(list @ A)]: (((Xs2 = (((append @ A) @ Us3) @ (((cons @ A) @ X3) @ Vs2))) => (Ys2 != (((append @ A) @ Us3) @ (((cons @ A) @ Y3) @ Vs2))))))))))))))).
% 3.15/1.63  thf(fact_177_rtrancl__listrel1__ConsI2, axiom, (! [A:$tType,X:A,Y:A,R:(set @ ((product_prod @ A) @ A)),Xs2:(list @ A),Ys2:(list @ A)]: (((((member @ ((product_prod @ A) @ A)) @ ((((product_Pair @ A) @ A) @ X) @ Y)) @ ((transitive_rtrancl @ A) @ R)) => ((((member @ ((product_prod @ (list @ A)) @ (list @ A))) @ ((((product_Pair @ (list @ A)) @ (list @ A)) @ Xs2) @ Ys2)) @ ((transitive_rtrancl @ (list @ A)) @ ((listrel1 @ A) @ R))) => (((member @ ((product_prod @ (list @ A)) @ (list @ A))) @ ((((product_Pair @ (list @ A)) @ (list @ A)) @ (((cons @ A) @ X) @ Xs2)) @ (((cons @ A) @ Y) @ Ys2))) @ ((transitive_rtrancl @ (list @ A)) @ ((listrel1 @ A) @ R)))))))).
% 3.15/1.63  thf(fact_178_lexord__append__left__rightI, axiom, (! [A:$tType,A3:A,B3:A,R:(set @ ((product_prod @ A) @ A)),U:(list @ A),X:(list @ A),Y:(list @ A)]: (((((member @ ((product_prod @ A) @ A)) @ ((((product_Pair @ A) @ A) @ A3) @ B3)) @ R) => (((member @ ((product_prod @ (list @ A)) @ (list @ A))) @ ((((product_Pair @ (list @ A)) @ (list @ A)) @ (((append @ A) @ U) @ (((cons @ A) @ A3) @ X))) @ (((append @ A) @ U) @ (((cons @ A) @ B3) @ Y)))) @ ((lexord @ A) @ R)))))).
% 3.15/1.63  thf(fact_179_rotate1_Osimps_I2_J, axiom, (! [A:$tType,X:A,Xs2:(list @ A)]: ((((rotate1 @ A) @ (((cons @ A) @ X) @ Xs2)) = (((append @ A) @ Xs2) @ (((cons @ A) @ X) @ (nil @ A))))))).
% 3.15/1.63  thf(fact_180_butlast__snoc, axiom, (! [A:$tType,Xs2:(list @ A),X:A]: ((((butlast @ A) @ (((append @ A) @ Xs2) @ (((cons @ A) @ X) @ (nil @ A)))) = Xs2)))).
% 3.15/1.63  thf(fact_181_rotate1__is__Nil__conv, axiom, (! [A:$tType,Xs2:(list @ A)]: (((((rotate1 @ A) @ Xs2) = (nil @ A)) = (Xs2 = (nil @ A)))))).
% 3.15/1.63  thf(fact_182_lexord__cons__cons, axiom, (! [A:$tType,A3:A,X:(list @ A),B3:A,Y:(list @ A),R:(set @ ((product_prod @ A) @ A))]: (((((member @ ((product_prod @ (list @ A)) @ (list @ A))) @ ((((product_Pair @ (list @ A)) @ (list @ A)) @ (((cons @ A) @ A3) @ X)) @ (((cons @ A) @ B3) @ Y))) @ ((lexord @ A) @ R)) = ((((member @ ((product_prod @ A) @ A)) @ ((((product_Pair @ A) @ A) @ A3) @ B3)) @ R) | ((A3 = B3) & (((member @ ((product_prod @ (list @ A)) @ (list @ A))) @ ((((product_Pair @ (list @ A)) @ (list @ A)) @ X) @ Y)) @ ((lexord @ A) @ R)))))))).
% 3.15/1.63  thf(fact_183_lexord__Nil__left, axiom, (! [A:$tType,Y:(list @ A),R:(set @ ((product_prod @ A) @ A))]: (((((member @ ((product_prod @ (list @ A)) @ (list @ A))) @ ((((product_Pair @ (list @ A)) @ (list @ A)) @ (nil @ A)) @ Y)) @ ((lexord @ A) @ R)) = (? [A6:A,X4:(list @ A)]: ((Y = (((cons @ A) @ A6) @ X4)))))))).
% 3.15/1.63  thf(fact_184_butlast_Osimps_I1_J, axiom, (! [A:$tType]: ((((butlast @ A) @ (nil @ A)) = (nil @ A))))).
% 3.15/1.63  thf(fact_185_rotate1_Osimps_I1_J, axiom, (! [A:$tType]: ((((rotate1 @ A) @ (nil @ A)) = (nil @ A))))).
% 3.15/1.63  thf(fact_186_lexord__linear, axiom, (! [A:$tType,R:(set @ ((product_prod @ A) @ A)),X:(list @ A),Y:(list @ A)]: (((! [A2:A,B2:A]: (((((member @ ((product_prod @ A) @ A)) @ ((((product_Pair @ A) @ A) @ A2) @ B2)) @ R) | ((A2 = B2) | (((member @ ((product_prod @ A) @ A)) @ ((((product_Pair @ A) @ A) @ B2) @ A2)) @ R))))) => ((((member @ ((product_prod @ (list @ A)) @ (list @ A))) @ ((((product_Pair @ (list @ A)) @ (list @ A)) @ X) @ Y)) @ ((lexord @ A) @ R)) | ((X = Y) | (((member @ ((product_prod @ (list @ A)) @ (list @ A))) @ ((((product_Pair @ (list @ A)) @ (list @ A)) @ Y) @ X)) @ ((lexord @ A) @ R)))))))).
% 3.15/1.63  thf(fact_187_lexord__irreflexive, axiom, (! [A:$tType,R:(set @ ((product_prod @ A) @ A)),Xs2:(list @ A)]: (((! [X3:A]: ((~ ((((member @ ((product_prod @ A) @ A)) @ ((((product_Pair @ A) @ A) @ X3) @ X3)) @ R))))) => (~ ((((member @ ((product_prod @ (list @ A)) @ (list @ A))) @ ((((product_Pair @ (list @ A)) @ (list @ A)) @ Xs2) @ Xs2)) @ ((lexord @ A) @ R)))))))).
% 3.15/1.63  thf(fact_188_butlast_Osimps_I2_J, axiom, (! [A:$tType,Xs2:(list @ A),X:A]: ((((Xs2 = (nil @ A)) => (((butlast @ A) @ (((cons @ A) @ X) @ Xs2)) = (nil @ A))) & ((Xs2 != (nil @ A)) => (((butlast @ A) @ (((cons @ A) @ X) @ Xs2)) = (((cons @ A) @ X) @ ((butlast @ A) @ Xs2)))))))).
% 3.15/1.63  thf(fact_189_lexord__Nil__right, axiom, (! [A:$tType,X:(list @ A),R:(set @ ((product_prod @ A) @ A))]: ((~ ((((member @ ((product_prod @ (list @ A)) @ (list @ A))) @ ((((product_Pair @ (list @ A)) @ (list @ A)) @ X) @ (nil @ A))) @ ((lexord @ A) @ R))))))).
% 3.15/1.63  thf(fact_190_butlast__append, axiom, (! [A:$tType,Ys2:(list @ A),Xs2:(list @ A)]: ((((Ys2 = (nil @ A)) => (((butlast @ A) @ (((append @ A) @ Xs2) @ Ys2)) = ((butlast @ A) @ Xs2))) & ((Ys2 != (nil @ A)) => (((butlast @ A) @ (((append @ A) @ Xs2) @ Ys2)) = (((append @ A) @ Xs2) @ ((butlast @ A) @ Ys2)))))))).
% 3.15/1.63  thf(fact_191_lexord__append__leftI, axiom, (! [A:$tType,U:(list @ A),V:(list @ A),R:(set @ ((product_prod @ A) @ A)),X:(list @ A)]: (((((member @ ((product_prod @ (list @ A)) @ (list @ A))) @ ((((product_Pair @ (list @ A)) @ (list @ A)) @ U) @ V)) @ ((lexord @ A) @ R)) => (((member @ ((product_prod @ (list @ A)) @ (list @ A))) @ ((((product_Pair @ (list @ A)) @ (list @ A)) @ (((append @ A) @ X) @ U)) @ (((append @ A) @ X) @ V))) @ ((lexord @ A) @ R)))))).
% 3.15/1.63  thf(fact_192_lexord__append__leftD, axiom, (! [A:$tType,X:(list @ A),U:(list @ A),V:(list @ A),R:(set @ ((product_prod @ A) @ A))]: (((((member @ ((product_prod @ (list @ A)) @ (list @ A))) @ ((((product_Pair @ (list @ A)) @ (list @ A)) @ (((append @ A) @ X) @ U)) @ (((append @ A) @ X) @ V))) @ ((lexord @ A) @ R)) => ((! [A2:A]: ((~ ((((member @ ((product_prod @ A) @ A)) @ ((((product_Pair @ A) @ A) @ A2) @ A2)) @ R))))) => (((member @ ((product_prod @ (list @ A)) @ (list @ A))) @ ((((product_Pair @ (list @ A)) @ (list @ A)) @ U) @ V)) @ ((lexord @ A) @ R))))))).
% 3.15/1.63  thf(fact_193_lexord__append__rightI, axiom, (! [A:$tType,Y:(list @ A),X:(list @ A),R:(set @ ((product_prod @ A) @ A))]: (((? [B6:A,Z3:(list @ A)]: ((Y = (((cons @ A) @ B6) @ Z3)))) => (((member @ ((product_prod @ (list @ A)) @ (list @ A))) @ ((((product_Pair @ (list @ A)) @ (list @ A)) @ X) @ (((append @ A) @ X) @ Y))) @ ((lexord @ A) @ R)))))).
% 3.15/1.63  thf(fact_194_lexord__same__pref__if__irrefl, axiom, (! [A:$tType,R:(set @ ((product_prod @ A) @ A)),Xs2:(list @ A),Ys2:(list @ A),Zs2:(list @ A)]: ((((irrefl @ A) @ R) => ((((member @ ((product_prod @ (list @ A)) @ (list @ A))) @ ((((product_Pair @ (list @ A)) @ (list @ A)) @ (((append @ A) @ Xs2) @ Ys2)) @ (((append @ A) @ Xs2) @ Zs2))) @ ((lexord @ A) @ R)) = (((member @ ((product_prod @ (list @ A)) @ (list @ A))) @ ((((product_Pair @ (list @ A)) @ (list @ A)) @ Ys2) @ Zs2)) @ ((lexord @ A) @ R))))))).
% 3.15/1.63  thf(fact_195_append__butlast__last__id, axiom, (! [A:$tType,Xs2:(list @ A)]: (((Xs2 != (nil @ A)) => ((((append @ A) @ ((butlast @ A) @ Xs2)) @ (((cons @ A) @ ((last @ A) @ Xs2)) @ (nil @ A))) = Xs2))))).
% 3.15/1.63  thf(fact_196_snoc__eq__iff__butlast, axiom, (! [A:$tType,Xs2:(list @ A),X:A,Ys2:(list @ A)]: ((((((append @ A) @ Xs2) @ (((cons @ A) @ X) @ (nil @ A))) = Ys2) = ((Ys2 != (nil @ A)) & ((((butlast @ A) @ Ys2) = Xs2) & (((last @ A) @ Ys2) = X))))))).
% 3.15/1.63  thf(fact_197_last__appendR, axiom, (! [A:$tType,Ys2:(list @ A),Xs2:(list @ A)]: (((Ys2 != (nil @ A)) => (((last @ A) @ (((append @ A) @ Xs2) @ Ys2)) = ((last @ A) @ Ys2)))))).
% 3.15/1.63  thf(fact_198_last__appendL, axiom, (! [A:$tType,Ys2:(list @ A),Xs2:(list @ A)]: (((Ys2 = (nil @ A)) => (((last @ A) @ (((append @ A) @ Xs2) @ Ys2)) = ((last @ A) @ Xs2)))))).
% 3.15/1.63  thf(fact_199_last__snoc, axiom, (! [A:$tType,Xs2:(list @ A),X:A]: ((((last @ A) @ (((append @ A) @ Xs2) @ (((cons @ A) @ X) @ (nil @ A)))) = X)))).
% 3.15/1.63  thf(fact_200_lexord__irrefl, axiom, (! [A:$tType,R2:(set @ ((product_prod @ A) @ A))]: ((((irrefl @ A) @ R2) => ((irrefl @ (list @ A)) @ ((lexord @ A) @ R2)))))).
% 3.15/1.63  thf(fact_201_last__ConsR, axiom, (! [A:$tType,Xs2:(list @ A),X:A]: (((Xs2 != (nil @ A)) => (((last @ A) @ (((cons @ A) @ X) @ Xs2)) = ((last @ A) @ Xs2)))))).
% 3.15/1.63  thf(fact_202_last__ConsL, axiom, (! [A:$tType,Xs2:(list @ A),X:A]: (((Xs2 = (nil @ A)) => (((last @ A) @ (((cons @ A) @ X) @ Xs2)) = X))))).
% 3.15/1.63  thf(fact_203_last_Osimps, axiom, (! [A:$tType,Xs2:(list @ A),X:A]: ((((Xs2 = (nil @ A)) => (((last @ A) @ (((cons @ A) @ X) @ Xs2)) = X)) & ((Xs2 != (nil @ A)) => (((last @ A) @ (((cons @ A) @ X) @ Xs2)) = ((last @ A) @ Xs2))))))).
% 3.15/1.63  thf(fact_204_longest__common__suffix, axiom, (! [A:$tType,Xs2:(list @ A),Ys2:(list @ A)]: ((? [Ss:(list @ A),Xs5:(list @ A),Ys5:(list @ A)]: (((Xs2 = (((append @ A) @ Xs5) @ Ss)) & ((Ys2 = (((append @ A) @ Ys5) @ Ss)) & ((Xs5 = (nil @ A)) | ((Ys5 = (nil @ A)) | (((last @ A) @ Xs5) != ((last @ A) @ Ys5))))))))))).
% 3.15/1.63  thf(fact_205_last__append, axiom, (! [A:$tType,Ys2:(list @ A),Xs2:(list @ A)]: ((((Ys2 = (nil @ A)) => (((last @ A) @ (((append @ A) @ Xs2) @ Ys2)) = ((last @ A) @ Xs2))) & ((Ys2 != (nil @ A)) => (((last @ A) @ (((append @ A) @ Xs2) @ Ys2)) = ((last @ A) @ Ys2))))))).
% 3.15/1.63  thf(fact_206_irreflI, axiom, (! [A:$tType,R2:(set @ ((product_prod @ A) @ A))]: (((! [A2:A]: ((~ ((((member @ ((product_prod @ A) @ A)) @ ((((product_Pair @ A) @ A) @ A2) @ A2)) @ R2))))) => ((irrefl @ A) @ R2))))).
% 3.15/1.63  thf(fact_207_irrefl__def, axiom, (! [A:$tType]: (((irrefl @ A) = (^ [R3:(set @ ((product_prod @ A) @ A))]: ((! [A6:A]: ((~ ((((member @ ((product_prod @ A) @ A)) @ ((((product_Pair @ A) @ A) @ A6) @ A6)) @ R3))))))))))).
% 3.15/1.63  thf(fact_208_lenlex__append2, axiom, (! [A:$tType,R2:(set @ ((product_prod @ A) @ A)),Us:(list @ A),Xs2:(list @ A),Ys2:(list @ A)]: ((((irrefl @ A) @ R2) => ((((member @ ((product_prod @ (list @ A)) @ (list @ A))) @ ((((product_Pair @ (list @ A)) @ (list @ A)) @ (((append @ A) @ Us) @ Xs2)) @ (((append @ A) @ Us) @ Ys2))) @ ((lenlex @ A) @ R2)) = (((member @ ((product_prod @ (list @ A)) @ (list @ A))) @ ((((product_Pair @ (list @ A)) @ (list @ A)) @ Xs2) @ Ys2)) @ ((lenlex @ A) @ R2))))))).
% 3.15/1.63  thf(fact_209_irrefl__lex, axiom, (! [A:$tType,R:(set @ ((product_prod @ A) @ A))]: ((((irrefl @ A) @ R) => ((irrefl @ (list @ A)) @ ((lex @ A) @ R)))))).
% 3.15/1.63  thf(fact_210_Nil__lenlex__iff1, axiom, (! [A:$tType,Ns:(list @ A),R:(set @ ((product_prod @ A) @ A))]: (((((member @ ((product_prod @ (list @ A)) @ (list @ A))) @ ((((product_Pair @ (list @ A)) @ (list @ A)) @ (nil @ A)) @ Ns)) @ ((lenlex @ A) @ R)) = (Ns != (nil @ A)))))).
% 3.15/1.63  thf(fact_211_Nil__notin__lex, axiom, (! [A:$tType,Ys2:(list @ A),R:(set @ ((product_prod @ A) @ A))]: ((~ ((((member @ ((product_prod @ (list @ A)) @ (list @ A))) @ ((((product_Pair @ (list @ A)) @ (list @ A)) @ (nil @ A)) @ Ys2)) @ ((lex @ A) @ R))))))).
% 3.15/1.63  thf(fact_212_Nil2__notin__lex, axiom, (! [A:$tType,Xs2:(list @ A),R:(set @ ((product_prod @ A) @ A))]: ((~ ((((member @ ((product_prod @ (list @ A)) @ (list @ A))) @ ((((product_Pair @ (list @ A)) @ (list @ A)) @ Xs2) @ (nil @ A))) @ ((lex @ A) @ R))))))).
% 3.15/1.63  thf(fact_213_lex__append__leftI, axiom, (! [A:$tType,Ys2:(list @ A),Zs2:(list @ A),R:(set @ ((product_prod @ A) @ A)),Xs2:(list @ A)]: (((((member @ ((product_prod @ (list @ A)) @ (list @ A))) @ ((((product_Pair @ (list @ A)) @ (list @ A)) @ Ys2) @ Zs2)) @ ((lex @ A) @ R)) => (((member @ ((product_prod @ (list @ A)) @ (list @ A))) @ ((((product_Pair @ (list @ A)) @ (list @ A)) @ (((append @ A) @ Xs2) @ Ys2)) @ (((append @ A) @ Xs2) @ Zs2))) @ ((lex @ A) @ R)))))).
% 3.15/1.63  thf(fact_214_lenlex__irreflexive, axiom, (! [A:$tType,R:(set @ ((product_prod @ A) @ A)),Xs2:(list @ A)]: (((! [X3:A]: ((~ ((((member @ ((product_prod @ A) @ A)) @ ((((product_Pair @ A) @ A) @ X3) @ X3)) @ R))))) => (~ ((((member @ ((product_prod @ (list @ A)) @ (list @ A))) @ ((((product_Pair @ (list @ A)) @ (list @ A)) @ Xs2) @ Xs2)) @ ((lenlex @ A) @ R)))))))).
% 3.15/1.63  thf(fact_215_Nil__lenlex__iff2, axiom, (! [A:$tType,Ns:(list @ A),R:(set @ ((product_prod @ A) @ A))]: ((~ ((((member @ ((product_prod @ (list @ A)) @ (list @ A))) @ ((((product_Pair @ (list @ A)) @ (list @ A)) @ Ns) @ (nil @ A))) @ ((lenlex @ A) @ R))))))).
% 3.15/1.63  thf(fact_216_lexl__not__refl, axiom, (! [A:$tType,R:(set @ ((product_prod @ A) @ A)),X:(list @ A)]: ((((irrefl @ A) @ R) => (~ ((((member @ ((product_prod @ (list @ A)) @ (list @ A))) @ ((((product_Pair @ (list @ A)) @ (list @ A)) @ X) @ X)) @ ((lex @ A) @ R)))))))).
% 3.15/1.63  thf(fact_217_lex__append__leftD, axiom, (! [A:$tType,R:(set @ ((product_prod @ A) @ A)),Xs2:(list @ A),Ys2:(list @ A),Zs2:(list @ A)]: (((! [X3:A]: ((~ ((((member @ ((product_prod @ A) @ A)) @ ((((product_Pair @ A) @ A) @ X3) @ X3)) @ R))))) => ((((member @ ((product_prod @ (list @ A)) @ (list @ A))) @ ((((product_Pair @ (list @ A)) @ (list @ A)) @ (((append @ A) @ Xs2) @ Ys2)) @ (((append @ A) @ Xs2) @ Zs2))) @ ((lex @ A) @ R)) => (((member @ ((product_prod @ (list @ A)) @ (list @ A))) @ ((((product_Pair @ (list @ A)) @ (list @ A)) @ Ys2) @ Zs2)) @ ((lex @ A) @ R))))))).
% 3.15/1.63  thf(fact_218_lex__append__left__iff, axiom, (! [A:$tType,R:(set @ ((product_prod @ A) @ A)),Xs2:(list @ A),Ys2:(list @ A),Zs2:(list @ A)]: (((! [X3:A]: ((~ ((((member @ ((product_prod @ A) @ A)) @ ((((product_Pair @ A) @ A) @ X3) @ X3)) @ R))))) => ((((member @ ((product_prod @ (list @ A)) @ (list @ A))) @ ((((product_Pair @ (list @ A)) @ (list @ A)) @ (((append @ A) @ Xs2) @ Ys2)) @ (((append @ A) @ Xs2) @ Zs2))) @ ((lex @ A) @ R)) = (((member @ ((product_prod @ (list @ A)) @ (list @ A))) @ ((((product_Pair @ (list @ A)) @ (list @ A)) @ Ys2) @ Zs2)) @ ((lex @ A) @ R))))))).
% 3.15/1.63  thf(fact_219_Cons__in__lex, axiom, (! [A:$tType,X:A,Xs2:(list @ A),Y:A,Ys2:(list @ A),R:(set @ ((product_prod @ A) @ A))]: (((((member @ ((product_prod @ (list @ A)) @ (list @ A))) @ ((((product_Pair @ (list @ A)) @ (list @ A)) @ (((cons @ A) @ X) @ Xs2)) @ (((cons @ A) @ Y) @ Ys2))) @ ((lex @ A) @ R)) = (((((member @ ((product_prod @ A) @ A)) @ ((((product_Pair @ A) @ A) @ X) @ Y)) @ R) & (((size_size @ (list @ A)) @ Xs2) = ((size_size @ (list @ A)) @ Ys2))) | ((X = Y) & (((member @ ((product_prod @ (list @ A)) @ (list @ A))) @ ((((product_Pair @ (list @ A)) @ (list @ A)) @ Xs2) @ Ys2)) @ ((lex @ A) @ R)))))))).
% 3.15/1.63  thf(fact_220_internal__case__prod__conv, axiom, (! [B:$tType,A:$tType,C:$tType,C2:(B > (C > A)),A3:B,B3:C]: (((((((produc2004651681e_prod @ B) @ C) @ A) @ C2) @ ((((product_Pair @ B) @ C) @ A3) @ B3)) = ((C2 @ A3) @ B3))))).
% 3.15/1.63  thf(fact_221_append__eq__append__conv, axiom, (! [A:$tType,Xs2:(list @ A),Ys2:(list @ A),Us:(list @ A),Vs:(list @ A)]: ((((((size_size @ (list @ A)) @ Xs2) = ((size_size @ (list @ A)) @ Ys2)) | (((size_size @ (list @ A)) @ Us) = ((size_size @ (list @ A)) @ Vs))) => (((((append @ A) @ Xs2) @ Us) = (((append @ A) @ Ys2) @ Vs)) = ((Xs2 = Ys2) & (Us = Vs))))))).
% 3.15/1.63  thf(fact_222_length__rotate1, axiom, (! [A:$tType,Xs2:(list @ A)]: ((((size_size @ (list @ A)) @ ((rotate1 @ A) @ Xs2)) = ((size_size @ (list @ A)) @ Xs2))))).
% 3.15/1.63  thf(fact_223_listrel1__eq__len, axiom, (! [A:$tType,Xs2:(list @ A),Ys2:(list @ A),R:(set @ ((product_prod @ A) @ A))]: (((((member @ ((product_prod @ (list @ A)) @ (list @ A))) @ ((((product_Pair @ (list @ A)) @ (list @ A)) @ Xs2) @ Ys2)) @ ((listrel1 @ A) @ R)) => (((size_size @ (list @ A)) @ Xs2) = ((size_size @ (list @ A)) @ Ys2)))))).
% 3.15/1.63  thf(fact_224_listrel__eq__len, axiom, (! [A:$tType,B:$tType,Xs2:(list @ A),Ys2:(list @ B),R:(set @ ((product_prod @ A) @ B))]: (((((member @ ((product_prod @ (list @ A)) @ (list @ B))) @ ((((product_Pair @ (list @ A)) @ (list @ B)) @ Xs2) @ Ys2)) @ (((listrel @ A) @ B) @ R)) => (((size_size @ (list @ A)) @ Xs2) = ((size_size @ (list @ B)) @ Ys2)))))).
% 3.15/1.63  thf(fact_225_Ex__list__of__length, axiom, (! [A:$tType,N:nat]: ((? [Xs:(list @ A)]: ((((size_size @ (list @ A)) @ Xs) = N)))))).
% 3.15/1.63  thf(fact_226_neq__if__length__neq, axiom, (! [A:$tType,Xs2:(list @ A),Ys2:(list @ A)]: (((((size_size @ (list @ A)) @ Xs2) != ((size_size @ (list @ A)) @ Ys2)) => (Xs2 != Ys2))))).
% 3.15/1.63  thf(fact_227_list__induct3, axiom, (! [B:$tType,A:$tType,C:$tType,Xs2:(list @ A),Ys2:(list @ B),Zs2:(list @ C),P:((list @ A) > ((list @ B) > ((list @ C) > $o)))]: (((((size_size @ (list @ A)) @ Xs2) = ((size_size @ (list @ B)) @ Ys2)) => ((((size_size @ (list @ B)) @ Ys2) = ((size_size @ (list @ C)) @ Zs2)) => ((((P @ (nil @ A)) @ (nil @ B)) @ (nil @ C)) => ((! [X3:A,Xs:(list @ A),Y3:B,Ys:(list @ B),Z:C,Zs:(list @ C)]: (((((size_size @ (list @ A)) @ Xs) = ((size_size @ (list @ B)) @ Ys)) => ((((size_size @ (list @ B)) @ Ys) = ((size_size @ (list @ C)) @ Zs)) => ((((P @ Xs) @ Ys) @ Zs) => (((P @ (((cons @ A) @ X3) @ Xs)) @ (((cons @ B) @ Y3) @ Ys)) @ (((cons @ C) @ Z) @ Zs))))))) => (((P @ Xs2) @ Ys2) @ Zs2)))))))).
% 3.15/1.63  thf(fact_228_list__induct2, axiom, (! [A:$tType,B:$tType,Xs2:(list @ A),Ys2:(list @ B),P:((list @ A) > ((list @ B) > $o))]: (((((size_size @ (list @ A)) @ Xs2) = ((size_size @ (list @ B)) @ Ys2)) => (((P @ (nil @ A)) @ (nil @ B)) => ((! [X3:A,Xs:(list @ A),Y3:B,Ys:(list @ B)]: (((((size_size @ (list @ A)) @ Xs) = ((size_size @ (list @ B)) @ Ys)) => (((P @ Xs) @ Ys) => ((P @ (((cons @ A) @ X3) @ Xs)) @ (((cons @ B) @ Y3) @ Ys)))))) => ((P @ Xs2) @ Ys2))))))).
% 3.15/1.63  thf(fact_229_same__length__different, axiom, (! [A:$tType,Xs2:(list @ A),Ys2:(list @ A)]: (((Xs2 != Ys2) => ((((size_size @ (list @ A)) @ Xs2) = ((size_size @ (list @ A)) @ Ys2)) => (? [Pre:(list @ A),X3:A,Xs5:(list @ A),Y3:A,Ys5:(list @ A)]: (((X3 != Y3) & ((Xs2 = (((append @ A) @ Pre) @ (((append @ A) @ (((cons @ A) @ X3) @ (nil @ A))) @ Xs5))) & (Ys2 = (((append @ A) @ Pre) @ (((append @ A) @ (((cons @ A) @ Y3) @ (nil @ A))) @ Ys5)))))))))))).
% 3.15/1.63  thf(fact_230_lexord__sufE, axiom, (! [A:$tType,Xs2:(list @ A),Zs2:(list @ A),Ys2:(list @ A),Qs:(list @ A),R:(set @ ((product_prod @ A) @ A))]: (((((member @ ((product_prod @ (list @ A)) @ (list @ A))) @ ((((product_Pair @ (list @ A)) @ (list @ A)) @ (((append @ A) @ Xs2) @ Zs2)) @ (((append @ A) @ Ys2) @ Qs))) @ ((lexord @ A) @ R)) => ((Xs2 != Ys2) => ((((size_size @ (list @ A)) @ Xs2) = ((size_size @ (list @ A)) @ Ys2)) => ((((size_size @ (list @ A)) @ Zs2) = ((size_size @ (list @ A)) @ Qs)) => (((member @ ((product_prod @ (list @ A)) @ (list @ A))) @ ((((product_Pair @ (list @ A)) @ (list @ A)) @ Xs2) @ Ys2)) @ ((lexord @ A) @ R))))))))).
% 3.15/1.63  thf(fact_231_lex__append__rightI, axiom, (! [A:$tType,Xs2:(list @ A),Ys2:(list @ A),R:(set @ ((product_prod @ A) @ A)),Vs:(list @ A),Us:(list @ A)]: (((((member @ ((product_prod @ (list @ A)) @ (list @ A))) @ ((((product_Pair @ (list @ A)) @ (list @ A)) @ Xs2) @ Ys2)) @ ((lex @ A) @ R)) => ((((size_size @ (list @ A)) @ Vs) = ((size_size @ (list @ A)) @ Us)) => (((member @ ((product_prod @ (list @ A)) @ (list @ A))) @ ((((product_Pair @ (list @ A)) @ (list @ A)) @ (((append @ A) @ Xs2) @ Us)) @ (((append @ A) @ Ys2) @ Vs))) @ ((lex @ A) @ R))))))).
% 3.15/1.63  thf(fact_232_lenlex__append1, axiom, (! [A:$tType,Us:(list @ A),Xs2:(list @ A),R2:(set @ ((product_prod @ A) @ A)),Vs:(list @ A),Ys2:(list @ A)]: (((((member @ ((product_prod @ (list @ A)) @ (list @ A))) @ ((((product_Pair @ (list @ A)) @ (list @ A)) @ Us) @ Xs2)) @ ((lenlex @ A) @ R2)) => ((((size_size @ (list @ A)) @ Vs) = ((size_size @ (list @ A)) @ Ys2)) => (((member @ ((product_prod @ (list @ A)) @ (list @ A))) @ ((((product_Pair @ (list @ A)) @ (list @ A)) @ (((append @ A) @ Us) @ Vs)) @ (((append @ A) @ Xs2) @ Ys2))) @ ((lenlex @ A) @ R2))))))).
% 3.15/1.63  thf(fact_233_lexord__lex, axiom, (! [A:$tType,X:(list @ A),Y:(list @ A),R:(set @ ((product_prod @ A) @ A))]: (((((member @ ((product_prod @ (list @ A)) @ (list @ A))) @ ((((product_Pair @ (list @ A)) @ (list @ A)) @ X) @ Y)) @ ((lex @ A) @ R)) = ((((member @ ((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))))))).
% 3.15/1.63  thf(fact_234_rtrancl__listrel1__eq__len, axiom, (! [A:$tType,X:(list @ A),Y:(list @ A),R:(set @ ((product_prod @ A) @ A))]: (((((member @ ((product_prod @ (list @ A)) @ (list @ A))) @ ((((product_Pair @ (list @ A)) @ (list @ A)) @ X) @ Y)) @ ((transitive_rtrancl @ (list @ A)) @ ((listrel1 @ A) @ R))) => (((size_size @ (list @ A)) @ X) = ((size_size @ (list @ A)) @ Y)))))).
% 3.15/1.63  thf(fact_235_Cons__lenlex__iff, axiom, (! [A:$tType,M:A,Ms:(list @ A),N:A,Ns:(list @ A),R:(set @ ((product_prod @ A) @ A))]: (((((member @ ((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)) & (((member @ ((product_prod @ A) @ A)) @ ((((product_Pair @ A) @ A) @ M) @ N)) @ R)) | ((M = N) & (((member @ ((product_prod @ (list @ A)) @ (list @ A))) @ ((((product_Pair @ (list @ A)) @ (list @ A)) @ Ms) @ Ns)) @ ((lenlex @ A) @ R))))))))).
% 3.15/1.63  thf(fact_236_list__ex1__simps_I1_J, axiom, (! [A:$tType,P:(A > $o)]: ((~ ((((list_ex1 @ A) @ P) @ (nil @ A))))))).
% 3.15/1.63  thf(fact_237_length__induct, axiom, (! [A:$tType,P:((list @ A) > $o),Xs2:(list @ A)]: (((! [Xs:(list @ A)]: (((! [Ys6:(list @ A)]: (((((ord_less @ nat) @ ((size_size @ (list @ A)) @ Ys6)) @ ((size_size @ (list @ A)) @ Xs)) => (P @ Ys6)))) => (P @ Xs)))) => (P @ Xs2))))).
% 3.15/1.63  thf(fact_238_in__measures_I2_J, axiom, (! [A:$tType,X:A,Y:A,F3:(A > nat),Fs:(list @ (A > nat))]: (((((member @ ((product_prod @ A) @ A)) @ ((((product_Pair @ A) @ A) @ X) @ Y)) @ ((measures @ A) @ (((cons @ (A > nat)) @ F3) @ Fs))) = ((((ord_less @ nat) @ (F3 @ X)) @ (F3 @ Y)) | (((F3 @ X) = (F3 @ Y)) & (((member @ ((product_prod @ A) @ A)) @ ((((product_Pair @ A) @ A) @ X) @ Y)) @ ((measures @ A) @ Fs)))))))).
% 3.15/1.63  thf(fact_239_listrel__iff__nth, axiom, (! [A:$tType,B:$tType,Xs2:(list @ A),Ys2:(list @ B),R:(set @ ((product_prod @ A) @ B))]: (((((member @ ((product_prod @ (list @ A)) @ (list @ B))) @ ((((product_Pair @ (list @ A)) @ (list @ B)) @ Xs2) @ Ys2)) @ (((listrel @ A) @ B) @ R)) = ((((size_size @ (list @ A)) @ Xs2) = ((size_size @ (list @ B)) @ Ys2)) & (! [N2:nat]: (((((ord_less @ nat) @ N2) @ ((size_size @ (list @ A)) @ Xs2)) => (((member @ ((product_prod @ A) @ B)) @ ((((product_Pair @ A) @ B) @ (((nth @ A) @ Xs2) @ N2)) @ (((nth @ B) @ Ys2) @ N2))) @ R))))))))).
% 3.15/1.63  thf(fact_240_in__measures_I1_J, axiom, (! [A:$tType,X:A,Y:A]: ((~ ((((member @ ((product_prod @ A) @ A)) @ ((((product_Pair @ A) @ A) @ X) @ Y)) @ ((measures @ A) @ (nil @ (A > nat))))))))).
% 3.15/1.63  thf(fact_241_nth__append__length, axiom, (! [A:$tType,Xs2:(list @ A),X:A,Ys2:(list @ A)]: (((((nth @ A) @ (((append @ A) @ Xs2) @ (((cons @ A) @ X) @ Ys2))) @ ((size_size @ (list @ A)) @ Xs2)) = X)))).
% 3.15/1.63  thf(fact_242_nth__equalityI, axiom, (! [A:$tType,Xs2:(list @ A),Ys2:(list @ A)]: (((((size_size @ (list @ A)) @ Xs2) = ((size_size @ (list @ A)) @ Ys2)) => ((! [I:nat]: (((((ord_less @ nat) @ I) @ ((size_size @ (list @ A)) @ Xs2)) => ((((nth @ A) @ Xs2) @ I) = (((nth @ A) @ Ys2) @ I))))) => (Xs2 = Ys2)))))).
% 3.15/1.63  thf(fact_243_Skolem__list__nth, axiom, (! [A:$tType,K:nat,P:(nat > (A > $o))]: (((! [I2:nat]: (((((ord_less @ nat) @ I2) @ K) => (? [X5:A]: (((P @ I2) @ X5)))))) = (? [Xs3:(list @ A)]: (((((size_size @ (list @ A)) @ Xs3) = K) & (! [I2:nat]: (((((ord_less @ nat) @ I2) @ K) => ((P @ I2) @ (((nth @ A) @ Xs3) @ I2)))))))))))).
% 3.15/1.63  thf(fact_244_list__eq__iff__nth__eq, axiom, (! [A:$tType]: (((^ [Y5:(list @ A),Z4:(list @ A)]: ((Y5 = Z4))) = (^ [Xs3:(list @ A),Ys3:(list @ A)]: (((((size_size @ (list @ A)) @ Xs3) = ((size_size @ (list @ A)) @ Ys3)) & (! [I2:nat]: (((((ord_less @ nat) @ I2) @ ((size_size @ (list @ A)) @ Xs3)) => ((((nth @ A) @ Xs3) @ I2) = (((nth @ A) @ Ys3) @ I2)))))))))))).
% 3.15/1.63  thf(fact_245_nth__butlast, axiom, (! [A:$tType,N:nat,Xs2:(list @ A)]: (((((ord_less @ nat) @ N) @ ((size_size @ (list @ A)) @ ((butlast @ A) @ Xs2))) => ((((nth @ A) @ ((butlast @ A) @ Xs2)) @ N) = (((nth @ A) @ Xs2) @ N)))))).
% 3.15/1.63  thf(fact_246_measures__less, axiom, (! [A:$tType,F3:(A > nat),X:A,Y:A,Fs:(list @ (A > nat))]: (((((ord_less @ nat) @ (F3 @ X)) @ (F3 @ Y)) => (((member @ ((product_prod @ A) @ A)) @ ((((product_Pair @ A) @ A) @ X) @ Y)) @ ((measures @ A) @ (((cons @ (A > nat)) @ F3) @ Fs))))))).
% 3.15/1.63  thf(fact_247_listrel1__iff__update, axiom, (! [A:$tType,Xs2:(list @ A),Ys2:(list @ A),R:(set @ ((product_prod @ A) @ A))]: (((((member @ ((product_prod @ (list @ A)) @ (list @ A))) @ ((((product_Pair @ (list @ A)) @ (list @ A)) @ Xs2) @ Ys2)) @ ((listrel1 @ A) @ R)) = (? [Y4:A,N2:nat]: (((((member @ ((product_prod @ A) @ A)) @ ((((product_Pair @ A) @ A) @ (((nth @ A) @ Xs2) @ N2)) @ Y4)) @ R) & ((((ord_less @ nat) @ N2) @ ((size_size @ (list @ A)) @ Xs2)) & (Ys2 = ((((list_update @ A) @ Xs2) @ N2) @ Y4)))))))))).
% 3.15/1.63  thf(fact_248_lex__take__index, axiom, (! [A:$tType,Xs2:(list @ A),Ys2:(list @ A),R:(set @ ((product_prod @ A) @ A))]: (((((member @ ((product_prod @ (list @ A)) @ (list @ A))) @ ((((product_Pair @ (list @ A)) @ (list @ A)) @ Xs2) @ Ys2)) @ ((lex @ A) @ R)) => (~ ((! [I:nat]: (((((ord_less @ nat) @ I) @ ((size_size @ (list @ A)) @ Xs2)) => ((((ord_less @ nat) @ I) @ ((size_size @ (list @ A)) @ Ys2)) => (((((take @ A) @ I) @ Xs2) = (((take @ A) @ I) @ Ys2)) => (~ ((((member @ ((product_prod @ A) @ A)) @ ((((product_Pair @ A) @ A) @ (((nth @ A) @ Xs2) @ I)) @ (((nth @ A) @ Ys2) @ I))) @ R)))))))))))))).
% 3.15/1.63  thf(fact_249_list__update__overwrite, axiom, (! [A:$tType,Xs2:(list @ A),I3:nat,X:A,Y:A]: ((((((list_update @ A) @ ((((list_update @ A) @ Xs2) @ I3) @ X)) @ I3) @ Y) = ((((list_update @ A) @ Xs2) @ I3) @ Y))))).
% 3.15/1.63  thf(fact_250_list__update__nonempty, axiom, (! [A:$tType,Xs2:(list @ A),K:nat,X:A]: (((((((list_update @ A) @ Xs2) @ K) @ X) = (nil @ A)) = (Xs2 = (nil @ A)))))).
% 3.15/1.63  thf(fact_251_length__list__update, axiom, (! [A:$tType,Xs2:(list @ A),I3:nat,X:A]: ((((size_size @ (list @ A)) @ ((((list_update @ A) @ Xs2) @ I3) @ X)) = ((size_size @ (list @ A)) @ Xs2))))).
% 3.15/1.63  thf(fact_252_list__update__id, axiom, (! [A:$tType,Xs2:(list @ A),I3:nat]: ((((((list_update @ A) @ Xs2) @ I3) @ (((nth @ A) @ Xs2) @ I3)) = Xs2)))).
% 3.15/1.63  thf(fact_253_nth__list__update__neq, axiom, (! [A:$tType,I3:nat,J:nat,Xs2:(list @ A),X:A]: (((I3 != J) => ((((nth @ A) @ ((((list_update @ A) @ Xs2) @ I3) @ X)) @ J) = (((nth @ A) @ Xs2) @ J)))))).
% 3.15/1.63  thf(fact_254_nth__take, axiom, (! [A:$tType,I3:nat,N:nat,Xs2:(list @ A)]: (((((ord_less @ nat) @ I3) @ N) => ((((nth @ A) @ (((take @ A) @ N) @ Xs2)) @ I3) = (((nth @ A) @ Xs2) @ I3)))))).
% 3.15/1.63  thf(tcon_fun___Orderings_Oord, axiom, (! [A7:$tType,A8:$tType]: (((ord @ A8) => (ord @ (A7 > A8)))))).
% 3.15/1.63  thf(tcon_Nat_Onat___Orderings_Olinorder, axiom, (linorder @ nat)).
% 3.15/1.63  thf(tcon_Nat_Onat___Orderings_Oord_1, axiom, (ord @ nat)).
% 3.15/1.63  thf(tcon_Set_Oset___Orderings_Oord_2, axiom, (! [A7:$tType]: ((ord @ (set @ A7))))).
% 3.15/1.63  thf(tcon_HOL_Obool___Orderings_Olinorder_3, axiom, (linorder @ $o)).
% 3.15/1.63  thf(tcon_HOL_Obool___Orderings_Oord_4, axiom, (ord @ $o)).
% 3.15/1.63  thf(conj_0, hypothesis, (((member @ ((product_prod @ ((product_prod @ (list @ com)) @ state)) @ ((product_prod @ (list @ com)) @ state))) @ ((((product_Pair @ ((product_prod @ (list @ com)) @ state)) @ ((product_prod @ (list @ com)) @ state)) @ ((((product_Pair @ (list @ com)) @ state) @ (((cons @ com) @ c) @ (nil @ com))) @ s)) @ ((((product_Pair @ (list @ com)) @ state) @ (((cons @ com) @ c2) @ cs)) @ s2))) @ ((transitive_rtrancl @ ((product_prod @ (list @ com)) @ state)) @ pHoare1053570893_exec1))).
% 3.15/1.63  thf(conj_1, hypothesis, ((termi @ c) @ s)).
% 3.15/1.63  thf(conj_2, hypothesis, (! [S5:state,S6:state]: (((((member @ ((product_prod @ ((product_prod @ (list @ com)) @ state)) @ ((product_prod @ (list @ com)) @ state))) @ ((((product_Pair @ ((product_prod @ (list @ com)) @ state)) @ ((product_prod @ (list @ com)) @ state)) @ ((((product_Pair @ (list @ com)) @ state) @ (((cons @ com) @ c) @ (nil @ com))) @ S5)) @ ((((product_Pair @ (list @ com)) @ state) @ (((cons @ com) @ c2) @ cs)) @ S6))) @ ((transitive_rtrancl @ ((product_prod @ (list @ com)) @ state)) @ pHoare1053570893_exec1)) => (((termi @ c) @ S5) => (((termi @ c2) @ S6) & (! [T5:state]: (((((exec @ S6) @ c2) @ T5) => ((pHoare1335526537termis @ cs) @ T5)))))))))).
% 3.15/1.63  thf(conj_3, conjecture, ((termi @ c2) @ s2)).
% 3.15/1.63  % SZS output end ListOfTHF for /export/starexec/sandbox2/tmp/tmp.esfxdFwDyU/DTF2DTF9204.p
% 3.15/1.63  ------------------------
% 3.21/1.70  ---- Cleaned THF ---
% 3.21/1.70  thf(ty_t_Product__Type_Oprod,type,
% 3.21/1.70      product_prod: $tType > $tType > $tType ).
% 3.21/1.70  
% 3.21/1.70  thf(ty_t_PLang_Ostate,type,
% 3.21/1.70      state: $tType ).
% 3.21/1.70  
% 3.21/1.70  thf(ty_t_PLang_Ocom,type,
% 3.21/1.70      com: $tType ).
% 3.21/1.70  
% 3.21/1.70  thf(ty_t_List_Olist,type,
% 3.21/1.70      list: $tType > $tType ).
% 3.21/1.70  
% 3.21/1.70  thf(ty_t_Set_Oset,type,
% 3.21/1.70      set: $tType > $tType ).
% 3.21/1.70  
% 3.21/1.70  thf(ty_t_Nat_Onat,type,
% 3.21/1.70      nat: $tType ).
% 3.21/1.70  
% 3.21/1.70  thf(sy_cl_HOL_Otype,type,
% 3.21/1.70      type: 
% 3.21/1.70        !>[A: $tType] : $o ).
% 3.21/1.70  
% 3.21/1.70  thf(sy_cl_Orderings_Oord,type,
% 3.21/1.70      ord: 
% 3.21/1.70        !>[A: $tType] : $o ).
% 3.21/1.70  
% 3.21/1.70  thf(sy_cl_Orderings_Olinorder,type,
% 3.21/1.70      linorder: 
% 3.21/1.70        !>[A: $tType] : $o ).
% 3.21/1.70  
% 3.21/1.70  thf(sy_c_List_Oappend,type,
% 3.21/1.70      append: 
% 3.21/1.70        !>[A: $tType] : ( ( list @ A ) > ( list @ A ) > ( list @ A ) ) ).
% 3.21/1.70  
% 3.21/1.70  thf(sy_c_List_Obind,type,
% 3.21/1.70      bind: 
% 3.21/1.70        !>[A: $tType,B: $tType] : ( ( list @ A ) > ( A > ( list @ B ) ) > ( list @ B ) ) ).
% 3.21/1.70  
% 3.21/1.70  thf(sy_c_List_Obutlast,type,
% 3.21/1.70      butlast: 
% 3.21/1.70        !>[A: $tType] : ( ( list @ A ) > ( list @ A ) ) ).
% 3.21/1.70  
% 3.21/1.70  thf(sy_c_List_Oconcat,type,
% 3.21/1.70      concat: 
% 3.21/1.70        !>[A: $tType] : ( ( list @ ( list @ A ) ) > ( list @ A ) ) ).
% 3.21/1.70  
% 3.21/1.70  thf(sy_c_List_Oinsert,type,
% 3.21/1.70      insert: 
% 3.21/1.70        !>[A: $tType] : ( A > ( list @ A ) > ( list @ A ) ) ).
% 3.21/1.70  
% 3.21/1.70  thf(sy_c_List_Olast,type,
% 3.21/1.70      last: 
% 3.21/1.70        !>[A: $tType] : ( ( list @ A ) > A ) ).
% 3.21/1.70  
% 3.21/1.70  thf(sy_c_List_Olenlex,type,
% 3.21/1.70      lenlex: 
% 3.21/1.70        !>[A: $tType] : ( ( set @ ( product_prod @ A @ A ) ) > ( set @ ( product_prod @ ( list @ A ) @ ( list @ A ) ) ) ) ).
% 3.21/1.70  
% 3.21/1.70  thf(sy_c_List_Olex,type,
% 3.21/1.70      lex: 
% 3.21/1.70        !>[A: $tType] : ( ( set @ ( product_prod @ A @ A ) ) > ( set @ ( product_prod @ ( list @ A ) @ ( list @ A ) ) ) ) ).
% 3.21/1.70  
% 3.21/1.70  thf(sy_c_List_Olexord,type,
% 3.21/1.70      lexord: 
% 3.21/1.70        !>[A: $tType] : ( ( set @ ( product_prod @ A @ A ) ) > ( set @ ( product_prod @ ( list @ A ) @ ( list @ A ) ) ) ) ).
% 3.21/1.70  
% 3.21/1.70  thf(sy_c_List_Olist_OCons,type,
% 3.21/1.70      cons: 
% 3.21/1.70        !>[A: $tType] : ( A > ( list @ A ) > ( list @ A ) ) ).
% 3.21/1.70  
% 3.21/1.70  thf(sy_c_List_Olist_ONil,type,
% 3.21/1.70      nil: 
% 3.21/1.70        !>[A: $tType] : ( list @ A ) ).
% 3.21/1.70  
% 3.21/1.70  thf(sy_c_List_Olist__ex1,type,
% 3.21/1.70      list_ex1: 
% 3.21/1.70        !>[A: $tType] : ( ( A > $o ) > ( list @ A ) > $o ) ).
% 3.21/1.70  
% 3.21/1.70  thf(sy_c_List_Olist__update,type,
% 3.21/1.70      list_update: 
% 3.21/1.70        !>[A: $tType] : ( ( list @ A ) > nat > A > ( list @ A ) ) ).
% 3.21/1.70  
% 3.21/1.70  thf(sy_c_List_Olistrel,type,
% 3.21/1.70      listrel: 
% 3.21/1.70        !>[A: $tType,B: $tType] : ( ( set @ ( product_prod @ A @ B ) ) > ( set @ ( product_prod @ ( list @ A ) @ ( list @ B ) ) ) ) ).
% 3.21/1.70  
% 3.21/1.70  thf(sy_c_List_Olistrel1,type,
% 3.21/1.70      listrel1: 
% 3.21/1.70        !>[A: $tType] : ( ( set @ ( product_prod @ A @ A ) ) > ( set @ ( product_prod @ ( list @ A ) @ ( list @ A ) ) ) ) ).
% 3.21/1.70  
% 3.21/1.70  thf(sy_c_List_Omaps,type,
% 3.21/1.70      maps: 
% 3.21/1.70        !>[A: $tType,B: $tType] : ( ( A > ( list @ B ) ) > ( list @ A ) > ( list @ B ) ) ).
% 3.21/1.70  
% 3.21/1.70  thf(sy_c_List_Omeasures,type,
% 3.21/1.70      measures: 
% 3.21/1.70        !>[A: $tType] : ( ( list @ ( A > nat ) ) > ( set @ ( product_prod @ A @ A ) ) ) ).
% 3.21/1.70  
% 3.21/1.70  thf(sy_c_List_Onth,type,
% 3.21/1.70      nth: 
% 3.21/1.70        !>[A: $tType] : ( ( list @ A ) > nat > A ) ).
% 3.21/1.70  
% 3.21/1.70  thf(sy_c_List_Oproduct__lists,type,
% 3.21/1.70      product_lists: 
% 3.21/1.70        !>[A: $tType] : ( ( list @ ( list @ A ) ) > ( list @ ( list @ A ) ) ) ).
% 3.21/1.70  
% 3.21/1.70  thf(sy_c_List_Orotate1,type,
% 3.21/1.70      rotate1: 
% 3.21/1.70        !>[A: $tType] : ( ( list @ A ) > ( list @ A ) ) ).
% 3.21/1.70  
% 3.21/1.70  thf(sy_c_List_Osubseqs,type,
% 3.21/1.70      subseqs: 
% 3.21/1.70        !>[A: $tType] : ( ( list @ A ) > ( list @ ( list @ A ) ) ) ).
% 3.21/1.70  
% 3.21/1.70  thf(sy_c_List_Otake,type,
% 3.21/1.70      take: 
% 3.21/1.70        !>[A: $tType] : ( nat > ( list @ A ) > ( list @ A ) ) ).
% 3.21/1.70  
% 3.21/1.70  thf(sy_c_Nat_Osize__class_Osize,type,
% 3.21/1.70      size_size: 
% 3.21/1.70        !>[A: $tType] : ( A > nat ) ).
% 3.21/1.70  
% 3.21/1.70  thf(sy_c_Orderings_Oord__class_Oless,type,
% 3.21/1.70      ord_less: 
% 3.21/1.70        !>[A: $tType] : ( A > A > $o ) ).
% 3.21/1.70  
% 3.21/1.70  thf(sy_c_PHoareTotal__Mirabelle__nfzgdgthbw_Oexec1,type,
% 3.21/1.70      pHoare1053570893_exec1: set @ ( product_prod @ ( product_prod @ ( list @ com ) @ state ) @ ( product_prod @ ( list @ com ) @ state ) ) ).
% 3.21/1.70  
% 3.21/1.70  thf(sy_c_PHoareTotal__Mirabelle__nfzgdgthbw_Oexecs,type,
% 3.21/1.70      pHoare1053570959_execs: state > ( list @ com ) > state > $o ).
% 3.21/1.70  
% 3.21/1.70  thf(sy_c_PHoareTotal__Mirabelle__nfzgdgthbw_Otermis,type,
% 3.21/1.70      pHoare1335526537termis: ( list @ com ) > state > $o ).
% 3.21/1.70  
% 3.21/1.70  thf(sy_c_PLang_Ocom_OCond,type,
% 3.21/1.70      cond: ( state > $o ) > com > com > com ).
% 3.21/1.70  
% 3.21/1.70  thf(sy_c_PLang_Ocom_ODo,type,
% 3.21/1.70      do: ( state > ( set @ state ) ) > com ).
% 3.21/1.70  
% 3.21/1.70  thf(sy_c_PLang_Ocom_OSemi,type,
% 3.21/1.70      semi: com > com > com ).
% 3.21/1.70  
% 3.21/1.70  thf(sy_c_PLang_Ocom_OWhile,type,
% 3.21/1.70      while: ( state > $o ) > com > com ).
% 3.21/1.70  
% 3.21/1.70  thf(sy_c_PLang_Oexec,type,
% 3.21/1.70      exec: state > com > state > $o ).
% 3.21/1.70  
% 3.21/1.70  thf(sy_c_PTermi_Otermi,type,
% 3.21/1.70      termi: com > state > $o ).
% 3.21/1.70  
% 3.21/1.70  thf(sy_c_Product__Type_OPair,type,
% 3.21/1.70      product_Pair: 
% 3.21/1.70        !>[A: $tType,B: $tType] : ( A > B > ( product_prod @ A @ B ) ) ).
% 3.21/1.70  
% 3.21/1.70  thf(sy_c_Product__Type_Ointernal__case__prod,type,
% 3.21/1.70      produc2004651681e_prod: 
% 3.21/1.70        !>[A: $tType,B: $tType,C: $tType] : ( ( A > B > C ) > ( product_prod @ A @ B ) > C ) ).
% 3.21/1.70  
% 3.21/1.70  thf(sy_c_Product__Type_Oold_Oprod_Orec__prod,type,
% 3.21/1.70      product_rec_prod: 
% 3.21/1.70        !>[A: $tType,B: $tType,T: $tType] : ( ( A > B > T ) > ( product_prod @ A @ B ) > T ) ).
% 3.21/1.70  
% 3.21/1.70  thf(sy_c_Relation_Oirrefl,type,
% 3.21/1.70      irrefl: 
% 3.21/1.70        !>[A: $tType] : ( ( set @ ( product_prod @ A @ A ) ) > $o ) ).
% 3.21/1.70  
% 3.21/1.70  thf(sy_c_Set_OCollect,type,
% 3.21/1.70      collect: 
% 3.21/1.70        !>[A: $tType] : ( ( A > $o ) > ( set @ A ) ) ).
% 3.21/1.70  
% 3.21/1.70  thf(sy_c_Transitive__Closure_Ortrancl,type,
% 3.21/1.70      transitive_rtrancl: 
% 3.21/1.70        !>[A: $tType] : ( ( set @ ( product_prod @ A @ A ) ) > ( set @ ( product_prod @ A @ A ) ) ) ).
% 3.21/1.70  
% 3.21/1.70  thf(sy_c_member,type,
% 3.21/1.70      member: 
% 3.21/1.70        !>[A: $tType] : ( A > ( set @ A ) > $o ) ).
% 3.21/1.70  
% 3.21/1.70  thf(sy_v_c,type,
% 3.21/1.70      c: com ).
% 3.21/1.70  
% 3.21/1.70  thf(sy_v_c_H,type,
% 3.21/1.70      c2: com ).
% 3.21/1.70  
% 3.21/1.70  thf(sy_v_cs_H,type,
% 3.21/1.70      cs: list @ com ).
% 3.21/1.70  
% 3.21/1.70  thf(sy_v_s,type,
% 3.21/1.70      s: state ).
% 3.21/1.70  
% 3.21/1.70  thf(sy_v_s_H,type,
% 3.21/1.70      s2: state ).
% 3.21/1.70  
% 3.21/1.70  thf(fact_0_exec1E_I1_J,axiom,
% 3.21/1.70      ! [S: state,Cs: list @ com,S2: state] :
% 3.21/1.70        ~ ( member @ ( product_prod @ ( product_prod @ ( list @ com ) @ state ) @ ( product_prod @ ( list @ com ) @ state ) ) @ ( product_Pair @ ( product_prod @ ( list @ com ) @ state ) @ ( product_prod @ ( list @ com ) @ state ) @ ( product_Pair @ ( list @ com ) @ state @ ( nil @ com ) @ S ) @ ( product_Pair @ ( list @ com ) @ state @ Cs @ S2 ) ) @ pHoare1053570893_exec1 ) ).
% 3.21/1.70  
% 3.21/1.70  thf(fact_1_termis_Osimps_I2_J,axiom,
% 3.21/1.70      ! [C2: com,Cs2: list @ com,S: state] :
% 3.21/1.70        ( ( pHoare1335526537termis @ ( cons @ com @ C2 @ Cs2 ) @ S )
% 3.21/1.70        = ( ( termi @ C2 @ S )
% 3.21/1.70          & ! [T2: state] :
% 3.21/1.70              ( ( exec @ S @ C2 @ T2 )
% 3.21/1.70             => ( pHoare1335526537termis @ Cs2 @ T2 ) ) ) ) ).
% 3.21/1.70  
% 3.21/1.70  thf(fact_2_termis_Osimps_I1_J,axiom,
% 3.21/1.70      ! [S: state] : ( pHoare1335526537termis @ ( nil @ com ) @ S ) ).
% 3.21/1.70  
% 3.21/1.70  thf(fact_3_exec__impl__execs,axiom,
% 3.21/1.70      ! [S: state,C2: com,S2: state,Cs2: list @ com] :
% 3.21/1.70        ( ( exec @ S @ C2 @ S2 )
% 3.21/1.70       => ( member @ ( product_prod @ ( product_prod @ ( list @ com ) @ state ) @ ( product_prod @ ( list @ com ) @ state ) ) @ ( product_Pair @ ( product_prod @ ( list @ com ) @ state ) @ ( product_prod @ ( list @ com ) @ state ) @ ( product_Pair @ ( list @ com ) @ state @ ( cons @ com @ C2 @ Cs2 ) @ S ) @ ( product_Pair @ ( list @ com ) @ state @ Cs2 @ S2 ) ) @ ( transitive_rtrancl @ ( product_prod @ ( list @ com ) @ state ) @ pHoare1053570893_exec1 ) ) ) ).
% 3.21/1.70  
% 3.21/1.70  thf(fact_4_exec1s__impl__exec,axiom,
% 3.21/1.70      ! [C2: com,S: state,T3: state] :
% 3.21/1.70        ( ( member @ ( product_prod @ ( product_prod @ ( list @ com ) @ state ) @ ( product_prod @ ( list @ com ) @ state ) ) @ ( product_Pair @ ( product_prod @ ( list @ com ) @ state ) @ ( product_prod @ ( list @ com ) @ state ) @ ( product_Pair @ ( list @ com ) @ state @ ( cons @ com @ C2 @ ( nil @ com ) ) @ S ) @ ( product_Pair @ ( list @ com ) @ state @ ( nil @ com ) @ T3 ) ) @ ( transitive_rtrancl @ ( product_prod @ ( list @ com ) @ state ) @ pHoare1053570893_exec1 ) )
% 3.21/1.70       => ( exec @ S @ C2 @ T3 ) ) ).
% 3.21/1.70  
% 3.21/1.70  thf(fact_5_exec1__pres__termis,axiom,
% 3.21/1.70      ! [Cs2: list @ com,S: state,Cs: list @ com,S2: state] :
% 3.21/1.70        ( ( member @ ( product_prod @ ( product_prod @ ( list @ com ) @ state ) @ ( product_prod @ ( list @ com ) @ state ) ) @ ( product_Pair @ ( product_prod @ ( list @ com ) @ state ) @ ( product_prod @ ( list @ com ) @ state ) @ ( product_Pair @ ( list @ com ) @ state @ Cs2 @ S ) @ ( product_Pair @ ( list @ com ) @ state @ Cs @ S2 ) ) @ pHoare1053570893_exec1 )
% 3.21/1.70       => ( ( pHoare1335526537termis @ Cs2 @ S )
% 3.21/1.70         => ( pHoare1335526537termis @ Cs @ S2 ) ) ) ).
% 3.21/1.70  
% 3.21/1.70  thf(fact_6_execs__pres__termis,axiom,
% 3.21/1.70      ! [Cs2: list @ com,S: state,Cs: list @ com,S2: state] :
% 3.21/1.70        ( ( member @ ( product_prod @ ( product_prod @ ( list @ com ) @ state ) @ ( product_prod @ ( list @ com ) @ state ) ) @ ( product_Pair @ ( product_prod @ ( list @ com ) @ state ) @ ( product_prod @ ( list @ com ) @ state ) @ ( product_Pair @ ( list @ com ) @ state @ Cs2 @ S ) @ ( product_Pair @ ( list @ com ) @ state @ Cs @ S2 ) ) @ ( transitive_rtrancl @ ( product_prod @ ( list @ com ) @ state ) @ pHoare1053570893_exec1 ) )
% 3.21/1.70       => ( ( pHoare1335526537termis @ Cs2 @ S )
% 3.21/1.70         => ( pHoare1335526537termis @ Cs @ S2 ) ) ) ).
% 3.21/1.70  
% 3.21/1.70  thf(fact_7_rtrancl__induct2,axiom,
% 3.21/1.70      ! [A: $tType,B: $tType,Ax: A,Ay: B,Bx: A,By: B,R: set @ ( product_prod @ ( product_prod @ A @ B ) @ ( product_prod @ A @ B ) ),P: A > B > $o] :
% 3.21/1.70        ( ( member @ ( product_prod @ ( product_prod @ A @ B ) @ ( product_prod @ A @ B ) ) @ ( product_Pair @ ( product_prod @ A @ B ) @ ( product_prod @ A @ B ) @ ( product_Pair @ A @ B @ Ax @ Ay ) @ ( product_Pair @ A @ B @ Bx @ By ) ) @ ( transitive_rtrancl @ ( product_prod @ A @ B ) @ R ) )
% 3.21/1.70       => ( ( P @ Ax @ Ay )
% 3.21/1.70         => ( ! [A2: A,B2: B,Aa: A,Ba: B] :
% 3.21/1.70                ( ( member @ ( product_prod @ ( product_prod @ A @ B ) @ ( product_prod @ A @ B ) ) @ ( product_Pair @ ( product_prod @ A @ B ) @ ( product_prod @ A @ B ) @ ( product_Pair @ A @ B @ Ax @ Ay ) @ ( product_Pair @ A @ B @ A2 @ B2 ) ) @ ( transitive_rtrancl @ ( product_prod @ A @ B ) @ R ) )
% 3.21/1.70               => ( ( member @ ( product_prod @ ( product_prod @ A @ B ) @ ( product_prod @ A @ B ) ) @ ( product_Pair @ ( product_prod @ A @ B ) @ ( product_prod @ A @ B ) @ ( product_Pair @ A @ B @ A2 @ B2 ) @ ( product_Pair @ A @ B @ Aa @ Ba ) ) @ R )
% 3.21/1.70                 => ( ( P @ A2 @ B2 )
% 3.21/1.70                   => ( P @ Aa @ Ba ) ) ) )
% 3.21/1.70           => ( P @ Bx @ By ) ) ) ) ).
% 3.21/1.70  
% 3.21/1.70  thf(fact_8_converse__rtranclE2,axiom,
% 3.21/1.70      ! [B: $tType,A: $tType,Xa: A,Xb: B,Za: A,Zb: B,R: set @ ( product_prod @ ( product_prod @ A @ B ) @ ( product_prod @ A @ B ) )] :
% 3.21/1.70        ( ( member @ ( product_prod @ ( product_prod @ A @ B ) @ ( product_prod @ A @ B ) ) @ ( product_Pair @ ( product_prod @ A @ B ) @ ( product_prod @ A @ B ) @ ( product_Pair @ A @ B @ Xa @ Xb ) @ ( product_Pair @ A @ B @ Za @ Zb ) ) @ ( transitive_rtrancl @ ( product_prod @ A @ B ) @ R ) )
% 3.21/1.70       => ( ( ( product_Pair @ A @ B @ Xa @ Xb )
% 3.21/1.70           != ( product_Pair @ A @ B @ Za @ Zb ) )
% 3.21/1.70         => ~ ! [A2: A,B2: B] :
% 3.21/1.70                ( ( member @ ( product_prod @ ( product_prod @ A @ B ) @ ( product_prod @ A @ B ) ) @ ( product_Pair @ ( product_prod @ A @ B ) @ ( product_prod @ A @ B ) @ ( product_Pair @ A @ B @ Xa @ Xb ) @ ( product_Pair @ A @ B @ A2 @ B2 ) ) @ R )
% 3.21/1.70               => ~ ( member @ ( product_prod @ ( product_prod @ A @ B ) @ ( product_prod @ A @ B ) ) @ ( product_Pair @ ( product_prod @ A @ B ) @ ( product_prod @ A @ B ) @ ( product_Pair @ A @ B @ A2 @ B2 ) @ ( product_Pair @ A @ B @ Za @ Zb ) ) @ ( transitive_rtrancl @ ( product_prod @ A @ B ) @ R ) ) ) ) ) ).
% 3.21/1.70  
% 3.21/1.70  thf(fact_9_converse__rtrancl__induct2,axiom,
% 3.21/1.70      ! [A: $tType,B: $tType,Ax: A,Ay: B,Bx: A,By: B,R: set @ ( product_prod @ ( product_prod @ A @ B ) @ ( product_prod @ A @ B ) ),P: A > B > $o] :
% 3.21/1.70        ( ( member @ ( product_prod @ ( product_prod @ A @ B ) @ ( product_prod @ A @ B ) ) @ ( product_Pair @ ( product_prod @ A @ B ) @ ( product_prod @ A @ B ) @ ( product_Pair @ A @ B @ Ax @ Ay ) @ ( product_Pair @ A @ B @ Bx @ By ) ) @ ( transitive_rtrancl @ ( product_prod @ A @ B ) @ R ) )
% 3.21/1.70       => ( ( P @ Bx @ By )
% 3.21/1.70         => ( ! [A2: A,B2: B,Aa: A,Ba: B] :
% 3.21/1.70                ( ( member @ ( product_prod @ ( product_prod @ A @ B ) @ ( product_prod @ A @ B ) ) @ ( product_Pair @ ( product_prod @ A @ B ) @ ( product_prod @ A @ B ) @ ( product_Pair @ A @ B @ A2 @ B2 ) @ ( product_Pair @ A @ B @ Aa @ Ba ) ) @ R )
% 3.21/1.70               => ( ( member @ ( product_prod @ ( product_prod @ A @ B ) @ ( product_prod @ A @ B ) ) @ ( product_Pair @ ( product_prod @ A @ B ) @ ( product_prod @ A @ B ) @ ( product_Pair @ A @ B @ Aa @ Ba ) @ ( product_Pair @ A @ B @ Bx @ By ) ) @ ( transitive_rtrancl @ ( product_prod @ A @ B ) @ R ) )
% 3.21/1.70                 => ( ( P @ Aa @ Ba )
% 3.21/1.70                   => ( P @ A2 @ B2 ) ) ) )
% 3.21/1.70           => ( P @ Ax @ Ay ) ) ) ) ).
% 3.21/1.70  
% 3.21/1.70  thf(fact_10_exec1s__impl__execs,axiom,
% 3.21/1.70      ! [Cs2: list @ com,S: state,T3: state] :
% 3.21/1.70        ( ( member @ ( product_prod @ ( product_prod @ ( list @ com ) @ state ) @ ( product_prod @ ( list @ com ) @ state ) ) @ ( product_Pair @ ( product_prod @ ( list @ com ) @ state ) @ ( product_prod @ ( list @ com ) @ state ) @ ( product_Pair @ ( list @ com ) @ state @ Cs2 @ S ) @ ( product_Pair @ ( list @ com ) @ state @ ( nil @ com ) @ T3 ) ) @ ( transitive_rtrancl @ ( product_prod @ ( list @ com ) @ state ) @ pHoare1053570893_exec1 ) )
% 3.21/1.70       => ( pHoare1053570959_execs @ S @ Cs2 @ T3 ) ) ).
% 3.21/1.70  
% 3.21/1.70  thf(fact_11_rtrancl__idemp,axiom,
% 3.21/1.70      ! [A: $tType,R: set @ ( product_prod @ A @ A )] :
% 3.21/1.70        ( ( transitive_rtrancl @ A @ ( transitive_rtrancl @ A @ R ) )
% 3.21/1.70        = ( transitive_rtrancl @ A @ R ) ) ).
% 3.21/1.70  
% 3.21/1.70  thf(fact_12_r__into__rtrancl,axiom,
% 3.21/1.70      ! [A: $tType,P2: product_prod @ A @ A,R: set @ ( product_prod @ A @ A )] :
% 3.21/1.70        ( ( member @ ( product_prod @ A @ A ) @ P2 @ R )
% 3.21/1.70       => ( member @ ( product_prod @ A @ A ) @ P2 @ ( transitive_rtrancl @ A @ R ) ) ) ).
% 3.21/1.70  
% 3.21/1.70  thf(fact_13_list_Oinject,axiom,
% 3.21/1.70      ! [A: $tType,X21: A,X22: list @ A,Y21: A,Y22: list @ A] :
% 3.21/1.70        ( ( ( cons @ A @ X21 @ X22 )
% 3.21/1.70          = ( cons @ A @ Y21 @ Y22 ) )
% 3.21/1.70        = ( ( X21 = Y21 )
% 3.21/1.70          & ( X22 = Y22 ) ) ) ).
% 3.21/1.70  
% 3.21/1.70  thf(fact_14_prod_Oinject,axiom,
% 3.21/1.70      ! [A: $tType,B: $tType,X1: A,X2: B,Y1: A,Y2: B] :
% 3.21/1.70        ( ( ( product_Pair @ A @ B @ X1 @ X2 )
% 3.21/1.70          = ( product_Pair @ A @ B @ Y1 @ Y2 ) )
% 3.21/1.70        = ( ( X1 = Y1 )
% 3.21/1.70          & ( X2 = Y2 ) ) ) ).
% 3.21/1.70  
% 3.21/1.70  thf(fact_15_old_Oprod_Oinject,axiom,
% 3.21/1.70      ! [A: $tType,B: $tType,A3: A,B3: B,A4: A,B4: B] :
% 3.21/1.70        ( ( ( product_Pair @ A @ B @ A3 @ B3 )
% 3.21/1.70          = ( product_Pair @ A @ B @ A4 @ B4 ) )
% 3.21/1.70        = ( ( A3 = A4 )
% 3.21/1.70          & ( B3 = B4 ) ) ) ).
% 3.21/1.70  
% 3.21/1.70  thf(fact_16_prod__cases3,axiom,
% 3.21/1.70      ! [A: $tType,B: $tType,C: $tType,Y: product_prod @ A @ ( product_prod @ B @ C )] :
% 3.21/1.70        ~ ! [A2: A,B2: B,C3: C] :
% 3.21/1.70            ( Y
% 3.21/1.70           != ( product_Pair @ A @ ( product_prod @ B @ C ) @ A2 @ ( product_Pair @ B @ C @ B2 @ C3 ) ) ) ).
% 3.21/1.70  
% 3.21/1.70  thf(fact_17_prod__cases4,axiom,
% 3.21/1.70      ! [A: $tType,B: $tType,C: $tType,D: $tType,Y: product_prod @ A @ ( product_prod @ B @ ( product_prod @ C @ D ) )] :
% 3.21/1.70        ~ ! [A2: A,B2: B,C3: C,D2: D] :
% 3.21/1.70            ( Y
% 3.21/1.70           != ( product_Pair @ A @ ( product_prod @ B @ ( product_prod @ C @ D ) ) @ A2 @ ( product_Pair @ B @ ( product_prod @ C @ D ) @ B2 @ ( product_Pair @ C @ D @ C3 @ D2 ) ) ) ) ).
% 3.21/1.70  
% 3.21/1.70  thf(fact_18_prod__cases5,axiom,
% 3.21/1.70      ! [A: $tType,B: $tType,C: $tType,D: $tType,E: $tType,Y: product_prod @ A @ ( product_prod @ B @ ( product_prod @ C @ ( product_prod @ D @ E ) ) )] :
% 3.21/1.70        ~ ! [A2: A,B2: B,C3: C,D2: D,E2: E] :
% 3.21/1.70            ( Y
% 3.21/1.70           != ( product_Pair @ A @ ( product_prod @ B @ ( product_prod @ C @ ( product_prod @ D @ E ) ) ) @ A2 @ ( product_Pair @ B @ ( product_prod @ C @ ( product_prod @ D @ E ) ) @ B2 @ ( product_Pair @ C @ ( product_prod @ D @ E ) @ C3 @ ( product_Pair @ D @ E @ D2 @ E2 ) ) ) ) ) ).
% 3.21/1.70  
% 3.21/1.70  thf(fact_19_map__tailrec__rev_Ocases,axiom,
% 3.21/1.70      ! [A: $tType,B: $tType,X: product_prod @ ( A > B ) @ ( product_prod @ ( list @ A ) @ ( list @ B ) )] :
% 3.21/1.70        ( ! [F: A > B,Bs: list @ B] :
% 3.21/1.70            ( X
% 3.21/1.70           != ( product_Pair @ ( A > B ) @ ( product_prod @ ( list @ A ) @ ( list @ B ) ) @ F @ ( product_Pair @ ( list @ A ) @ ( list @ B ) @ ( nil @ A ) @ Bs ) ) )
% 3.21/1.70       => ~ ! [F: A > B,A2: A,As: list @ A,Bs: list @ B] :
% 3.21/1.70              ( X
% 3.21/1.70             != ( product_Pair @ ( A > B ) @ ( product_prod @ ( list @ A ) @ ( list @ B ) ) @ F @ ( product_Pair @ ( list @ A ) @ ( list @ B ) @ ( cons @ A @ A2 @ As ) @ Bs ) ) ) ) ).
% 3.21/1.70  
% 3.21/1.70  thf(fact_20_arg__min__list_Ocases,axiom,
% 3.21/1.70      ! [B: $tType,A: $tType] :
% 3.21/1.70        ( ( linorder @ B )
% 3.21/1.70       => ! [X: product_prod @ ( A > B ) @ ( list @ A )] :
% 3.21/1.70            ( ! [F: A > B,X3: A] :
% 3.21/1.70                ( X
% 3.21/1.70               != ( product_Pair @ ( A > B ) @ ( list @ A ) @ F @ ( cons @ A @ X3 @ ( nil @ A ) ) ) )
% 3.21/1.70           => ( ! [F: A > B,X3: A,Y3: A,Zs: list @ A] :
% 3.21/1.70                  ( X
% 3.21/1.70                 != ( product_Pair @ ( A > B ) @ ( list @ A ) @ F @ ( cons @ A @ X3 @ ( cons @ A @ Y3 @ Zs ) ) ) )
% 3.21/1.70             => ~ ! [A2: A > B] :
% 3.21/1.70                    ( X
% 3.21/1.70                   != ( product_Pair @ ( A > B ) @ ( list @ A ) @ A2 @ ( nil @ A ) ) ) ) ) ) ).
% 3.21/1.70  
% 3.21/1.70  thf(fact_21_successively_Ocases,axiom,
% 3.21/1.70      ! [A: $tType,X: product_prod @ ( A > A > $o ) @ ( list @ A )] :
% 3.21/1.70        ( ! [P3: A > A > $o] :
% 3.21/1.70            ( X
% 3.21/1.70           != ( product_Pair @ ( A > A > $o ) @ ( list @ A ) @ P3 @ ( nil @ A ) ) )
% 3.21/1.70       => ( ! [P3: A > A > $o,X3: A] :
% 3.21/1.70              ( X
% 3.21/1.70             != ( product_Pair @ ( A > A > $o ) @ ( list @ A ) @ P3 @ ( cons @ A @ X3 @ ( nil @ A ) ) ) )
% 3.21/1.70         => ~ ! [P3: A > A > $o,X3: A,Y3: A,Xs: list @ A] :
% 3.21/1.70                ( X
% 3.21/1.70               != ( product_Pair @ ( A > A > $o ) @ ( list @ A ) @ P3 @ ( cons @ A @ X3 @ ( cons @ A @ Y3 @ Xs ) ) ) ) ) ) ).
% 3.21/1.70  
% 3.21/1.70  thf(fact_22_sorted__wrt_Ocases,axiom,
% 3.21/1.70      ! [A: $tType,X: product_prod @ ( A > A > $o ) @ ( list @ A )] :
% 3.21/1.70        ( ! [P3: A > A > $o] :
% 3.21/1.70            ( X
% 3.21/1.70           != ( product_Pair @ ( A > A > $o ) @ ( list @ A ) @ P3 @ ( nil @ A ) ) )
% 3.21/1.70       => ~ ! [P3: A > A > $o,X3: A,Ys: list @ A] :
% 3.21/1.70              ( X
% 3.21/1.70             != ( product_Pair @ ( A > A > $o ) @ ( list @ A ) @ P3 @ ( cons @ A @ X3 @ Ys ) ) ) ) ).
% 3.21/1.70  
% 3.21/1.70  thf(fact_23_shuffles_Ocases,axiom,
% 3.21/1.70      ! [A: $tType,X: product_prod @ ( list @ A ) @ ( list @ A )] :
% 3.21/1.70        ( ! [Ys: list @ A] :
% 3.21/1.70            ( X
% 3.21/1.70           != ( product_Pair @ ( list @ A ) @ ( list @ A ) @ ( nil @ A ) @ Ys ) )
% 3.21/1.70       => ( ! [Xs: list @ A] :
% 3.21/1.70              ( X
% 3.21/1.70             != ( product_Pair @ ( list @ A ) @ ( list @ A ) @ Xs @ ( nil @ A ) ) )
% 3.21/1.70         => ~ ! [X3: A,Xs: list @ A,Y3: A,Ys: list @ A] :
% 3.21/1.70                ( X
% 3.21/1.70               != ( product_Pair @ ( list @ A ) @ ( list @ A ) @ ( cons @ A @ X3 @ Xs ) @ ( cons @ A @ Y3 @ Ys ) ) ) ) ) ).
% 3.21/1.70  
% 3.21/1.70  thf(fact_24_splice_Ocases,axiom,
% 3.21/1.70      ! [A: $tType,X: product_prod @ ( list @ A ) @ ( list @ A )] :
% 3.21/1.70        ( ! [Ys: list @ A] :
% 3.21/1.70            ( X
% 3.21/1.70           != ( product_Pair @ ( list @ A ) @ ( list @ A ) @ ( nil @ A ) @ Ys ) )
% 3.21/1.70       => ~ ! [X3: A,Xs: list @ A,Ys: list @ A] :
% 3.21/1.70              ( X
% 3.21/1.70             != ( product_Pair @ ( list @ A ) @ ( list @ A ) @ ( cons @ A @ X3 @ Xs ) @ Ys ) ) ) ).
% 3.21/1.70  
% 3.21/1.70  thf(fact_25_execs_Ointros_I1_J,axiom,
% 3.21/1.70      ! [S: state] : ( pHoare1053570959_execs @ S @ ( nil @ com ) @ S ) ).
% 3.21/1.70  
% 3.21/1.70  thf(fact_26_old_Oprod_Oinducts,axiom,
% 3.21/1.70      ! [B: $tType,A: $tType,P: ( product_prod @ A @ B ) > $o,Prod: product_prod @ A @ B] :
% 3.21/1.70        ( ! [A2: A,B2: B] : ( P @ ( product_Pair @ A @ B @ A2 @ B2 ) )
% 3.21/1.70       => ( P @ Prod ) ) ).
% 3.21/1.70  
% 3.21/1.70  thf(fact_27_old_Oprod_Oexhaust,axiom,
% 3.21/1.70      ! [A: $tType,B: $tType,Y: product_prod @ A @ B] :
% 3.21/1.70        ~ ! [A2: A,B2: B] :
% 3.21/1.70            ( Y
% 3.21/1.70           != ( product_Pair @ A @ B @ A2 @ B2 ) ) ).
% 3.21/1.70  
% 3.21/1.70  thf(fact_28_Pair__inject,axiom,
% 3.21/1.70      ! [A: $tType,B: $tType,A3: A,B3: B,A4: A,B4: B] :
% 3.21/1.70        ( ( ( product_Pair @ A @ B @ A3 @ B3 )
% 3.21/1.70          = ( product_Pair @ A @ B @ A4 @ B4 ) )
% 3.21/1.70       => ~ ( ( A3 = A4 )
% 3.21/1.70           => ( B3 != B4 ) ) ) ).
% 3.21/1.70  
% 3.21/1.70  thf(fact_29_prod__cases,axiom,
% 3.21/1.70      ! [B: $tType,A: $tType,P: ( product_prod @ A @ B ) > $o,P2: product_prod @ A @ B] :
% 3.21/1.70        ( ! [A2: A,B2: B] : ( P @ ( product_Pair @ A @ B @ A2 @ B2 ) )
% 3.21/1.70       => ( P @ P2 ) ) ).
% 3.21/1.70  
% 3.21/1.70  thf(fact_30_surj__pair,axiom,
% 3.21/1.70      ! [A: $tType,B: $tType,P2: product_prod @ A @ B] :
% 3.21/1.70      ? [X3: A,Y3: B] :
% 3.21/1.70        ( P2
% 3.21/1.70        = ( product_Pair @ A @ B @ X3 @ Y3 ) ) ).
% 3.21/1.70  
% 3.21/1.70  thf(fact_31_not__Cons__self2,axiom,
% 3.21/1.70      ! [A: $tType,X: A,Xs2: list @ A] :
% 3.21/1.70        ( ( cons @ A @ X @ Xs2 )
% 3.21/1.70       != Xs2 ) ).
% 3.21/1.70  
% 3.21/1.70  thf(fact_32_execs_Ointros_I2_J,axiom,
% 3.21/1.70      ! [S: state,C2: com,T3: state,Cs2: list @ com,U: state] :
% 3.21/1.70        ( ( exec @ S @ C2 @ T3 )
% 3.21/1.70       => ( ( pHoare1053570959_execs @ T3 @ Cs2 @ U )
% 3.21/1.70         => ( pHoare1053570959_execs @ S @ ( cons @ com @ C2 @ Cs2 ) @ U ) ) ) ).
% 3.21/1.70  
% 3.21/1.70  thf(fact_33_strict__sorted_Oinduct,axiom,
% 3.21/1.70      ! [A: $tType] :
% 3.21/1.70        ( ( linorder @ A )
% 3.21/1.70       => ! [P: ( list @ A ) > $o,A0: list @ A] :
% 3.21/1.70            ( ( P @ ( nil @ A ) )
% 3.21/1.70           => ( ! [X3: A,Ys: list @ A] :
% 3.21/1.70                  ( ( P @ Ys )
% 3.21/1.70                 => ( P @ ( cons @ A @ X3 @ Ys ) ) )
% 3.21/1.70             => ( P @ A0 ) ) ) ) ).
% 3.21/1.70  
% 3.21/1.70  thf(fact_34_strict__sorted_Ocases,axiom,
% 3.21/1.70      ! [A: $tType] :
% 3.21/1.70        ( ( linorder @ A )
% 3.21/1.70       => ! [X: list @ A] :
% 3.21/1.70            ( ( X
% 3.21/1.70             != ( nil @ A ) )
% 3.21/1.70           => ~ ! [X3: A,Ys: list @ A] :
% 3.21/1.70                  ( X
% 3.21/1.70                 != ( cons @ A @ X3 @ Ys ) ) ) ) ).
% 3.21/1.70  
% 3.21/1.70  thf(fact_35_map__tailrec__rev_Oinduct,axiom,
% 3.21/1.70      ! [A: $tType,B: $tType,P: ( A > B ) > ( list @ A ) > ( list @ B ) > $o,A0: A > B,A1: list @ A,A22: list @ B] :
% 3.21/1.70        ( ! [F: A > B,X_1: list @ B] : ( P @ F @ ( nil @ A ) @ X_1 )
% 3.21/1.70       => ( ! [F: A > B,A2: A,As: list @ A,Bs: list @ B] :
% 3.21/1.70              ( ( P @ F @ As @ ( cons @ B @ ( F @ A2 ) @ Bs ) )
% 3.21/1.70             => ( P @ F @ ( cons @ A @ A2 @ As ) @ Bs ) )
% 3.21/1.70         => ( P @ A0 @ A1 @ A22 ) ) ) ).
% 3.21/1.70  
% 3.21/1.70  thf(fact_36_list__nonempty__induct,axiom,
% 3.21/1.70      ! [A: $tType,Xs2: list @ A,P: ( list @ A ) > $o] :
% 3.21/1.70        ( ( Xs2
% 3.21/1.70         != ( nil @ A ) )
% 3.21/1.70       => ( ! [X3: A] : ( P @ ( cons @ A @ X3 @ ( nil @ A ) ) )
% 3.21/1.70         => ( ! [X3: A,Xs: list @ A] :
% 3.21/1.70                ( ( Xs
% 3.21/1.70                 != ( nil @ A ) )
% 3.21/1.70               => ( ( P @ Xs )
% 3.21/1.70                 => ( P @ ( cons @ A @ X3 @ Xs ) ) ) )
% 3.21/1.70           => ( P @ Xs2 ) ) ) ) ).
% 3.21/1.70  
% 3.21/1.70  thf(fact_37_successively_Oinduct,axiom,
% 3.21/1.70      ! [A: $tType,P: ( A > A > $o ) > ( list @ A ) > $o,A0: A > A > $o,A1: list @ A] :
% 3.21/1.70        ( ! [P3: A > A > $o] : ( P @ P3 @ ( nil @ A ) )
% 3.21/1.70       => ( ! [P3: A > A > $o,X3: A] : ( P @ P3 @ ( cons @ A @ X3 @ ( nil @ A ) ) )
% 3.21/1.70         => ( ! [P3: A > A > $o,X3: A,Y3: A,Xs: list @ A] :
% 3.21/1.70                ( ( P @ P3 @ ( cons @ A @ Y3 @ Xs ) )
% 3.21/1.70               => ( P @ P3 @ ( cons @ A @ X3 @ ( cons @ A @ Y3 @ Xs ) ) ) )
% 3.21/1.70           => ( P @ A0 @ A1 ) ) ) ) ).
% 3.21/1.70  
% 3.21/1.70  thf(fact_38_arg__min__list_Oinduct,axiom,
% 3.21/1.70      ! [B: $tType,A: $tType] :
% 3.21/1.70        ( ( linorder @ B )
% 3.21/1.70       => ! [P: ( A > B ) > ( list @ A ) > $o,A0: A > B,A1: list @ A] :
% 3.21/1.70            ( ! [F: A > B,X3: A] : ( P @ F @ ( cons @ A @ X3 @ ( nil @ A ) ) )
% 3.21/1.70           => ( ! [F: A > B,X3: A,Y3: A,Zs: list @ A] :
% 3.21/1.70                  ( ( P @ F @ ( cons @ A @ Y3 @ Zs ) )
% 3.21/1.70                 => ( P @ F @ ( cons @ A @ X3 @ ( cons @ A @ Y3 @ Zs ) ) ) )
% 3.21/1.70             => ( ! [A2: A > B] : ( P @ A2 @ ( nil @ A ) )
% 3.21/1.70               => ( P @ A0 @ A1 ) ) ) ) ) ).
% 3.21/1.70  
% 3.21/1.70  thf(fact_39_remdups__adj_Oinduct,axiom,
% 3.21/1.70      ! [A: $tType,P: ( list @ A ) > $o,A0: list @ A] :
% 3.21/1.70        ( ( P @ ( nil @ A ) )
% 3.21/1.70       => ( ! [X3: A] : ( P @ ( cons @ A @ X3 @ ( nil @ A ) ) )
% 3.21/1.70         => ( ! [X3: A,Y3: A,Xs: list @ A] :
% 3.21/1.70                ( ( ( X3 = Y3 )
% 3.21/1.70                 => ( P @ ( cons @ A @ X3 @ Xs ) ) )
% 3.21/1.70               => ( ( ( X3 != Y3 )
% 3.21/1.70                   => ( P @ ( cons @ A @ Y3 @ Xs ) ) )
% 3.21/1.70                 => ( P @ ( cons @ A @ X3 @ ( cons @ A @ Y3 @ Xs ) ) ) ) )
% 3.21/1.70           => ( P @ A0 ) ) ) ) ).
% 3.21/1.70  
% 3.21/1.70  thf(fact_40_sorted__wrt_Oinduct,axiom,
% 3.21/1.70      ! [A: $tType,P: ( A > A > $o ) > ( list @ A ) > $o,A0: A > A > $o,A1: list @ A] :
% 3.21/1.70        ( ! [P3: A > A > $o] : ( P @ P3 @ ( nil @ A ) )
% 3.21/1.70       => ( ! [P3: A > A > $o,X3: A,Ys: list @ A] :
% 3.21/1.70              ( ( P @ P3 @ Ys )
% 3.21/1.70             => ( P @ P3 @ ( cons @ A @ X3 @ Ys ) ) )
% 3.21/1.70         => ( P @ A0 @ A1 ) ) ) ).
% 3.21/1.70  
% 3.21/1.70  thf(fact_41_remdups__adj_Ocases,axiom,
% 3.21/1.70      ! [A: $tType,X: list @ A] :
% 3.21/1.70        ( ( X
% 3.21/1.70         != ( nil @ A ) )
% 3.21/1.70       => ( ! [X3: A] :
% 3.21/1.70              ( X
% 3.21/1.70             != ( cons @ A @ X3 @ ( nil @ A ) ) )
% 3.21/1.70         => ~ ! [X3: A,Y3: A,Xs: list @ A] :
% 3.21/1.70                ( X
% 3.21/1.70               != ( cons @ A @ X3 @ ( cons @ A @ Y3 @ Xs ) ) ) ) ) ).
% 3.21/1.70  
% 3.21/1.70  thf(fact_42_transpose_Ocases,axiom,
% 3.21/1.70      ! [A: $tType,X: list @ ( list @ A )] :
% 3.21/1.70        ( ( X
% 3.21/1.70         != ( nil @ ( list @ A ) ) )
% 3.21/1.70       => ( ! [Xss: list @ ( list @ A )] :
% 3.21/1.70              ( X
% 3.21/1.70             != ( cons @ ( list @ A ) @ ( nil @ A ) @ Xss ) )
% 3.21/1.70         => ~ ! [X3: A,Xs: list @ A,Xss: list @ ( list @ A )] :
% 3.21/1.70                ( X
% 3.21/1.70               != ( cons @ ( list @ A ) @ ( cons @ A @ X3 @ Xs ) @ Xss ) ) ) ) ).
% 3.21/1.70  
% 3.21/1.70  thf(fact_43_shuffles_Oinduct,axiom,
% 3.21/1.70      ! [A: $tType,P: ( list @ A ) > ( list @ A ) > $o,A0: list @ A,A1: list @ A] :
% 3.21/1.70        ( ! [X_1: list @ A] : ( P @ ( nil @ A ) @ X_1 )
% 3.21/1.70       => ( ! [Xs: list @ A] : ( P @ Xs @ ( nil @ A ) )
% 3.21/1.70         => ( ! [X3: A,Xs: list @ A,Y3: A,Ys: list @ A] :
% 3.21/1.70                ( ( P @ Xs @ ( cons @ A @ Y3 @ Ys ) )
% 3.21/1.70               => ( ( P @ ( cons @ A @ X3 @ Xs ) @ Ys )
% 3.21/1.70                 => ( P @ ( cons @ A @ X3 @ Xs ) @ ( cons @ A @ Y3 @ Ys ) ) ) )
% 3.21/1.70           => ( P @ A0 @ A1 ) ) ) ) ).
% 3.21/1.70  
% 3.21/1.70  thf(fact_44_mem__Collect__eq,axiom,
% 3.21/1.70      ! [A: $tType,A3: A,P: A > $o] :
% 3.21/1.70        ( ( member @ A @ A3 @ ( collect @ A @ P ) )
% 3.21/1.70        = ( P @ A3 ) ) ).
% 3.21/1.70  
% 3.21/1.70  thf(fact_45_Collect__mem__eq,axiom,
% 3.21/1.70      ! [A: $tType,A5: set @ A] :
% 3.21/1.70        ( ( collect @ A
% 3.21/1.70          @ ^ [X4: A] : ( member @ A @ X4 @ A5 ) )
% 3.21/1.70        = A5 ) ).
% 3.21/1.70  
% 3.21/1.70  thf(fact_46_Collect__cong,axiom,
% 3.21/1.70      ! [A: $tType,P: A > $o,Q: A > $o] :
% 3.21/1.70        ( ! [X3: A] :
% 3.21/1.70            ( ( P @ X3 )
% 3.21/1.70            = ( Q @ X3 ) )
% 3.21/1.70       => ( ( collect @ A @ P )
% 3.21/1.70          = ( collect @ A @ Q ) ) ) ).
% 3.21/1.70  
% 3.21/1.70  thf(fact_47_min__list_Oinduct,axiom,
% 3.21/1.70      ! [A: $tType] :
% 3.21/1.70        ( ( ord @ A )
% 3.21/1.70       => ! [P: ( list @ A ) > $o,A0: list @ A] :
% 3.21/1.70            ( ! [X3: A,Xs: list @ A] :
% 3.21/1.70                ( ! [X212: A,X222: list @ A] :
% 3.21/1.70                    ( ( Xs
% 3.21/1.70                      = ( cons @ A @ X212 @ X222 ) )
% 3.21/1.70                   => ( P @ Xs ) )
% 3.21/1.70               => ( P @ ( cons @ A @ X3 @ Xs ) ) )
% 3.21/1.70           => ( ( P @ ( nil @ A ) )
% 3.21/1.70             => ( P @ A0 ) ) ) ) ).
% 3.21/1.70  
% 3.21/1.70  thf(fact_48_min__list_Ocases,axiom,
% 3.21/1.70      ! [A: $tType] :
% 3.21/1.70        ( ( ord @ A )
% 3.21/1.70       => ! [X: list @ A] :
% 3.21/1.70            ( ! [X3: A,Xs: list @ A] :
% 3.21/1.70                ( X
% 3.21/1.70               != ( cons @ A @ X3 @ Xs ) )
% 3.21/1.70           => ( X
% 3.21/1.70              = ( nil @ A ) ) ) ) ).
% 3.21/1.70  
% 3.21/1.70  thf(fact_49_induct__list012,axiom,
% 3.21/1.70      ! [A: $tType,P: ( list @ A ) > $o,Xs2: list @ A] :
% 3.21/1.70        ( ( P @ ( nil @ A ) )
% 3.21/1.70       => ( ! [X3: A] : ( P @ ( cons @ A @ X3 @ ( nil @ A ) ) )
% 3.21/1.70         => ( ! [X3: A,Y3: A,Zs: list @ A] :
% 3.21/1.70                ( ( P @ Zs )
% 3.21/1.70               => ( ( P @ ( cons @ A @ Y3 @ Zs ) )
% 3.21/1.70                 => ( P @ ( cons @ A @ X3 @ ( cons @ A @ Y3 @ Zs ) ) ) ) )
% 3.21/1.70           => ( P @ Xs2 ) ) ) ) ).
% 3.21/1.70  
% 3.21/1.70  thf(fact_50_splice_Oinduct,axiom,
% 3.21/1.70      ! [A: $tType,P: ( list @ A ) > ( list @ A ) > $o,A0: list @ A,A1: list @ A] :
% 3.21/1.70        ( ! [X_1: list @ A] : ( P @ ( nil @ A ) @ X_1 )
% 3.21/1.70       => ( ! [X3: A,Xs: list @ A,Ys: list @ A] :
% 3.21/1.70              ( ( P @ Ys @ Xs )
% 3.21/1.70             => ( P @ ( cons @ A @ X3 @ Xs ) @ Ys ) )
% 3.21/1.70         => ( P @ A0 @ A1 ) ) ) ).
% 3.21/1.70  
% 3.21/1.70  thf(fact_51_list__induct2_H,axiom,
% 3.21/1.70      ! [A: $tType,B: $tType,P: ( list @ A ) > ( list @ B ) > $o,Xs2: list @ A,Ys2: list @ B] :
% 3.21/1.70        ( ( P @ ( nil @ A ) @ ( nil @ B ) )
% 3.21/1.70       => ( ! [X3: A,Xs: list @ A] : ( P @ ( cons @ A @ X3 @ Xs ) @ ( nil @ B ) )
% 3.21/1.70         => ( ! [Y3: B,Ys: list @ B] : ( P @ ( nil @ A ) @ ( cons @ B @ Y3 @ Ys ) )
% 3.21/1.70           => ( ! [X3: A,Xs: list @ A,Y3: B,Ys: list @ B] :
% 3.21/1.70                  ( ( P @ Xs @ Ys )
% 3.21/1.70                 => ( P @ ( cons @ A @ X3 @ Xs ) @ ( cons @ B @ Y3 @ Ys ) ) )
% 3.21/1.70             => ( P @ Xs2 @ Ys2 ) ) ) ) ) ).
% 3.21/1.70  
% 3.21/1.70  thf(fact_52_neq__Nil__conv,axiom,
% 3.21/1.70      ! [A: $tType,Xs2: list @ A] :
% 3.21/1.70        ( ( Xs2
% 3.21/1.70         != ( nil @ A ) )
% 3.21/1.70        = ( ? [Y4: A,Ys3: list @ A] :
% 3.21/1.70              ( Xs2
% 3.21/1.70              = ( cons @ A @ Y4 @ Ys3 ) ) ) ) ).
% 3.21/1.70  
% 3.21/1.70  thf(fact_53_list_Oinducts,axiom,
% 3.21/1.70      ! [A: $tType,P: ( list @ A ) > $o,List: list @ A] :
% 3.21/1.70        ( ( P @ ( nil @ A ) )
% 3.21/1.70       => ( ! [X12: A,X23: list @ A] :
% 3.21/1.70              ( ( P @ X23 )
% 3.21/1.70             => ( P @ ( cons @ A @ X12 @ X23 ) ) )
% 3.21/1.70         => ( P @ List ) ) ) ).
% 3.21/1.70  
% 3.21/1.70  thf(fact_54_list_Oexhaust,axiom,
% 3.21/1.70      ! [A: $tType,Y: list @ A] :
% 3.21/1.70        ( ( Y
% 3.21/1.70         != ( nil @ A ) )
% 3.21/1.70       => ~ ! [X213: A,X223: list @ A] :
% 3.21/1.70              ( Y
% 3.21/1.70             != ( cons @ A @ X213 @ X223 ) ) ) ).
% 3.21/1.70  
% 3.21/1.70  thf(fact_55_list_OdiscI,axiom,
% 3.21/1.70      ! [A: $tType,List: list @ A,X21: A,X22: list @ A] :
% 3.21/1.70        ( ( List
% 3.21/1.70          = ( cons @ A @ X21 @ X22 ) )
% 3.21/1.70       => ( List
% 3.21/1.70         != ( nil @ A ) ) ) ).
% 3.21/1.70  
% 3.21/1.70  thf(fact_56_list_Odistinct_I1_J,axiom,
% 3.21/1.70      ! [A: $tType,X21: A,X22: list @ A] :
% 3.21/1.70        ( ( nil @ A )
% 3.21/1.70       != ( cons @ A @ X21 @ X22 ) ) ).
% 3.21/1.70  
% 3.21/1.70  thf(fact_57_execs_Oinducts,axiom,
% 3.21/1.70      ! [X1: state,X2: list @ com,X32: state,P: state > ( list @ com ) > state > $o] :
% 3.21/1.70        ( ( pHoare1053570959_execs @ X1 @ X2 @ X32 )
% 3.21/1.70       => ( ! [S3: state] : ( P @ S3 @ ( nil @ com ) @ S3 )
% 3.21/1.70         => ( ! [S3: state,C3: com,T4: state,Cs3: list @ com,U2: state] :
% 3.21/1.70                ( ( exec @ S3 @ C3 @ T4 )
% 3.21/1.70               => ( ( pHoare1053570959_execs @ T4 @ Cs3 @ U2 )
% 3.21/1.70                 => ( ( P @ T4 @ Cs3 @ U2 )
% 3.21/1.70                   => ( P @ S3 @ ( cons @ com @ C3 @ Cs3 ) @ U2 ) ) ) )
% 3.21/1.70           => ( P @ X1 @ X2 @ X32 ) ) ) ) ).
% 3.21/1.70  
% 3.21/1.70  thf(fact_58_execs_Osimps,axiom,
% 3.21/1.70      ( pHoare1053570959_execs
% 3.21/1.70      = ( ^ [A12: state,A23: list @ com,A32: state] :
% 3.21/1.70            ( ? [S4: state] :
% 3.21/1.70                ( ( A12 = S4 )
% 3.21/1.70                & ( A23
% 3.21/1.70                  = ( nil @ com ) )
% 3.21/1.70                & ( A32 = S4 ) )
% 3.21/1.70            | ? [S4: state,C4: com,T2: state,Cs4: list @ com,U3: state] :
% 3.21/1.70                ( ( A12 = S4 )
% 3.21/1.70                & ( A23
% 3.21/1.70                  = ( cons @ com @ C4 @ Cs4 ) )
% 3.21/1.70                & ( A32 = U3 )
% 3.21/1.70                & ( exec @ S4 @ C4 @ T2 )
% 3.21/1.70                & ( pHoare1053570959_execs @ T2 @ Cs4 @ U3 ) ) ) ) ) ).
% 3.21/1.70  
% 3.21/1.70  thf(fact_59_execs_Ocases,axiom,
% 3.21/1.70      ! [A1: state,A22: list @ com,A33: state] :
% 3.21/1.70        ( ( pHoare1053570959_execs @ A1 @ A22 @ A33 )
% 3.21/1.70       => ( ( ( A22
% 3.21/1.70              = ( nil @ com ) )
% 3.21/1.70           => ( A33 != A1 ) )
% 3.21/1.70         => ~ ! [C3: com,T4: state,Cs3: list @ com] :
% 3.21/1.70                ( ( A22
% 3.21/1.70                  = ( cons @ com @ C3 @ Cs3 ) )
% 3.21/1.70               => ( ( exec @ A1 @ C3 @ T4 )
% 3.21/1.70                 => ~ ( pHoare1053570959_execs @ T4 @ Cs3 @ A33 ) ) ) ) ) ).
% 3.21/1.70  
% 3.21/1.70  thf(fact_60_converse__rtrancl__into__rtrancl,axiom,
% 3.21/1.70      ! [A: $tType,A3: A,B3: A,R: set @ ( product_prod @ A @ A ),C2: A] :
% 3.21/1.70        ( ( member @ ( product_prod @ A @ A ) @ ( product_Pair @ A @ A @ A3 @ B3 ) @ R )
% 3.21/1.70       => ( ( member @ ( product_prod @ A @ A ) @ ( product_Pair @ A @ A @ B3 @ C2 ) @ ( transitive_rtrancl @ A @ R ) )
% 3.21/1.70         => ( member @ ( product_prod @ A @ A ) @ ( product_Pair @ A @ A @ A3 @ C2 ) @ ( transitive_rtrancl @ A @ R ) ) ) ) ).
% 3.21/1.70  
% 3.21/1.70  thf(fact_61_rtrancl_Ortrancl__into__rtrancl,axiom,
% 3.21/1.70      ! [A: $tType,A3: A,B3: A,R: set @ ( product_prod @ A @ A ),C2: A] :
% 3.21/1.70        ( ( member @ ( product_prod @ A @ A ) @ ( product_Pair @ A @ A @ A3 @ B3 ) @ ( transitive_rtrancl @ A @ R ) )
% 3.21/1.70       => ( ( member @ ( product_prod @ A @ A ) @ ( product_Pair @ A @ A @ B3 @ C2 ) @ R )
% 3.21/1.70         => ( member @ ( product_prod @ A @ A ) @ ( product_Pair @ A @ A @ A3 @ C2 ) @ ( transitive_rtrancl @ A @ R ) ) ) ) ).
% 3.21/1.70  
% 3.21/1.70  thf(fact_62_converse__rtrancl__induct,axiom,
% 3.21/1.70      ! [A: $tType,A3: A,B3: A,R: set @ ( product_prod @ A @ A ),P: A > $o] :
% 3.21/1.70        ( ( member @ ( product_prod @ A @ A ) @ ( product_Pair @ A @ A @ A3 @ B3 ) @ ( transitive_rtrancl @ A @ R ) )
% 3.21/1.70       => ( ( P @ B3 )
% 3.21/1.70         => ( ! [Y3: A,Z: A] :
% 3.21/1.70                ( ( member @ ( product_prod @ A @ A ) @ ( product_Pair @ A @ A @ Y3 @ Z ) @ R )
% 3.21/1.70               => ( ( member @ ( product_prod @ A @ A ) @ ( product_Pair @ A @ A @ Z @ B3 ) @ ( transitive_rtrancl @ A @ R ) )
% 3.21/1.70                 => ( ( P @ Z )
% 3.21/1.70                   => ( P @ Y3 ) ) ) )
% 3.21/1.70           => ( P @ A3 ) ) ) ) ).
% 3.21/1.70  
% 3.21/1.70  thf(fact_63_rtrancl_Ortrancl__refl,axiom,
% 3.21/1.70      ! [A: $tType,A3: A,R: set @ ( product_prod @ A @ A )] : ( member @ ( product_prod @ A @ A ) @ ( product_Pair @ A @ A @ A3 @ A3 ) @ ( transitive_rtrancl @ A @ R ) ) ).
% 3.21/1.70  
% 3.21/1.70  thf(fact_64_converse__rtranclE,axiom,
% 3.21/1.70      ! [A: $tType,X: A,Z2: A,R: set @ ( product_prod @ A @ A )] :
% 3.21/1.70        ( ( member @ ( product_prod @ A @ A ) @ ( product_Pair @ A @ A @ X @ Z2 ) @ ( transitive_rtrancl @ A @ R ) )
% 3.21/1.70       => ( ( X != Z2 )
% 3.21/1.70         => ~ ! [Y3: A] :
% 3.21/1.70                ( ( member @ ( product_prod @ A @ A ) @ ( product_Pair @ A @ A @ X @ Y3 ) @ R )
% 3.21/1.70               => ~ ( member @ ( product_prod @ A @ A ) @ ( product_Pair @ A @ A @ Y3 @ Z2 ) @ ( transitive_rtrancl @ A @ R ) ) ) ) ) ).
% 3.21/1.70  
% 3.21/1.70  thf(fact_65_rtrancl_Oinducts,axiom,
% 3.21/1.70      ! [A: $tType,X1: A,X2: A,R: set @ ( product_prod @ A @ A ),P: A > A > $o] :
% 3.21/1.70        ( ( member @ ( product_prod @ A @ A ) @ ( product_Pair @ A @ A @ X1 @ X2 ) @ ( transitive_rtrancl @ A @ R ) )
% 3.21/1.70       => ( ! [A2: A] : ( P @ A2 @ A2 )
% 3.21/1.70         => ( ! [A2: A,B2: A,C3: A] :
% 3.21/1.70                ( ( member @ ( product_prod @ A @ A ) @ ( product_Pair @ A @ A @ A2 @ B2 ) @ ( transitive_rtrancl @ A @ R ) )
% 3.21/1.70               => ( ( P @ A2 @ B2 )
% 3.21/1.70                 => ( ( member @ ( product_prod @ A @ A ) @ ( product_Pair @ A @ A @ B2 @ C3 ) @ R )
% 3.21/1.70                   => ( P @ A2 @ C3 ) ) ) )
% 3.21/1.70           => ( P @ X1 @ X2 ) ) ) ) ).
% 3.21/1.70  
% 3.21/1.70  thf(fact_66_rtrancl__induct,axiom,
% 3.21/1.70      ! [A: $tType,A3: A,B3: A,R: set @ ( product_prod @ A @ A ),P: A > $o] :
% 3.21/1.70        ( ( member @ ( product_prod @ A @ A ) @ ( product_Pair @ A @ A @ A3 @ B3 ) @ ( transitive_rtrancl @ A @ R ) )
% 3.21/1.70       => ( ( P @ A3 )
% 3.21/1.70         => ( ! [Y3: A,Z: A] :
% 3.21/1.70                ( ( member @ ( product_prod @ A @ A ) @ ( product_Pair @ A @ A @ A3 @ Y3 ) @ ( transitive_rtrancl @ A @ R ) )
% 3.21/1.70               => ( ( member @ ( product_prod @ A @ A ) @ ( product_Pair @ A @ A @ Y3 @ Z ) @ R )
% 3.21/1.70                 => ( ( P @ Y3 )
% 3.21/1.70                   => ( P @ Z ) ) ) )
% 3.21/1.70           => ( P @ B3 ) ) ) ) ).
% 3.21/1.70  
% 3.21/1.70  thf(fact_67_rtrancl__trans,axiom,
% 3.21/1.70      ! [A: $tType,X: A,Y: A,R: set @ ( product_prod @ A @ A ),Z2: A] :
% 3.21/1.70        ( ( member @ ( product_prod @ A @ A ) @ ( product_Pair @ A @ A @ X @ Y ) @ ( transitive_rtrancl @ A @ R ) )
% 3.21/1.70       => ( ( member @ ( product_prod @ A @ A ) @ ( product_Pair @ A @ A @ Y @ Z2 ) @ ( transitive_rtrancl @ A @ R ) )
% 3.21/1.70         => ( member @ ( product_prod @ A @ A ) @ ( product_Pair @ A @ A @ X @ Z2 ) @ ( transitive_rtrancl @ A @ R ) ) ) ) ).
% 3.21/1.70  
% 3.21/1.70  thf(fact_68_rtrancl_Osimps,axiom,
% 3.21/1.70      ! [A: $tType,A1: A,A22: A,R: set @ ( product_prod @ A @ A )] :
% 3.21/1.70        ( ( member @ ( product_prod @ A @ A ) @ ( product_Pair @ A @ A @ A1 @ A22 ) @ ( transitive_rtrancl @ A @ R ) )
% 3.21/1.70        = ( ? [A6: A] :
% 3.21/1.70              ( ( A1 = A6 )
% 3.21/1.70              & ( A22 = A6 ) )
% 3.21/1.70          | ? [A6: A,B5: A,C4: A] :
% 3.21/1.70              ( ( A1 = A6 )
% 3.21/1.70              & ( A22 = C4 )
% 3.21/1.70              & ( member @ ( product_prod @ A @ A ) @ ( product_Pair @ A @ A @ A6 @ B5 ) @ ( transitive_rtrancl @ A @ R ) )
% 3.21/1.70              & ( member @ ( product_prod @ A @ A ) @ ( product_Pair @ A @ A @ B5 @ C4 ) @ R ) ) ) ) ).
% 3.21/1.70  
% 3.21/1.70  thf(fact_69_rtrancl_Ocases,axiom,
% 3.21/1.70      ! [A: $tType,A1: A,A22: A,R: set @ ( product_prod @ A @ A )] :
% 3.21/1.70        ( ( member @ ( product_prod @ A @ A ) @ ( product_Pair @ A @ A @ A1 @ A22 ) @ ( transitive_rtrancl @ A @ R ) )
% 3.21/1.70       => ( ( A22 != A1 )
% 3.21/1.70         => ~ ! [B2: A] :
% 3.21/1.70                ( ( member @ ( product_prod @ A @ A ) @ ( product_Pair @ A @ A @ A1 @ B2 ) @ ( transitive_rtrancl @ A @ R ) )
% 3.21/1.70               => ~ ( member @ ( product_prod @ A @ A ) @ ( product_Pair @ A @ A @ B2 @ A22 ) @ R ) ) ) ) ).
% 3.21/1.70  
% 3.21/1.70  thf(fact_70_rtranclE,axiom,
% 3.21/1.70      ! [A: $tType,A3: A,B3: A,R: set @ ( product_prod @ A @ A )] :
% 3.21/1.70        ( ( member @ ( product_prod @ A @ A ) @ ( product_Pair @ A @ A @ A3 @ B3 ) @ ( transitive_rtrancl @ A @ R ) )
% 3.21/1.70       => ( ( A3 != B3 )
% 3.21/1.70         => ~ ! [Y3: A] :
% 3.21/1.70                ( ( member @ ( product_prod @ A @ A ) @ ( product_Pair @ A @ A @ A3 @ Y3 ) @ ( transitive_rtrancl @ A @ R ) )
% 3.21/1.70               => ~ ( member @ ( product_prod @ A @ A ) @ ( product_Pair @ A @ A @ Y3 @ B3 ) @ R ) ) ) ) ).
% 3.21/1.70  
% 3.21/1.70  thf(fact_71_prod__induct7,axiom,
% 3.21/1.70      ! [G: $tType,F2: $tType,E: $tType,D: $tType,C: $tType,B: $tType,A: $tType,P: ( product_prod @ A @ ( product_prod @ B @ ( product_prod @ C @ ( product_prod @ D @ ( product_prod @ E @ ( product_prod @ F2 @ G ) ) ) ) ) ) > $o,X: product_prod @ A @ ( product_prod @ B @ ( product_prod @ C @ ( product_prod @ D @ ( product_prod @ E @ ( product_prod @ F2 @ G ) ) ) ) )] :
% 3.21/1.70        ( ! [A2: A,B2: B,C3: C,D2: D,E2: E,F: F2,G2: G] : ( P @ ( product_Pair @ A @ ( product_prod @ B @ ( product_prod @ C @ ( product_prod @ D @ ( product_prod @ E @ ( product_prod @ F2 @ G ) ) ) ) ) @ A2 @ ( product_Pair @ B @ ( product_prod @ C @ ( product_prod @ D @ ( product_prod @ E @ ( product_prod @ F2 @ G ) ) ) ) @ B2 @ ( product_Pair @ C @ ( product_prod @ D @ ( product_prod @ E @ ( product_prod @ F2 @ G ) ) ) @ C3 @ ( product_Pair @ D @ ( product_prod @ E @ ( product_prod @ F2 @ G ) ) @ D2 @ ( product_Pair @ E @ ( product_prod @ F2 @ G ) @ E2 @ ( product_Pair @ F2 @ G @ F @ G2 ) ) ) ) ) ) )
% 3.21/1.70       => ( P @ X ) ) ).
% 3.21/1.70  
% 3.21/1.70  thf(fact_72_prod__induct6,axiom,
% 3.21/1.70      ! [F2: $tType,E: $tType,D: $tType,C: $tType,B: $tType,A: $tType,P: ( product_prod @ A @ ( product_prod @ B @ ( product_prod @ C @ ( product_prod @ D @ ( product_prod @ E @ F2 ) ) ) ) ) > $o,X: product_prod @ A @ ( product_prod @ B @ ( product_prod @ C @ ( product_prod @ D @ ( product_prod @ E @ F2 ) ) ) )] :
% 3.21/1.70        ( ! [A2: A,B2: B,C3: C,D2: D,E2: E,F: F2] : ( P @ ( product_Pair @ A @ ( product_prod @ B @ ( product_prod @ C @ ( product_prod @ D @ ( product_prod @ E @ F2 ) ) ) ) @ A2 @ ( product_Pair @ B @ ( product_prod @ C @ ( product_prod @ D @ ( product_prod @ E @ F2 ) ) ) @ B2 @ ( product_Pair @ C @ ( product_prod @ D @ ( product_prod @ E @ F2 ) ) @ C3 @ ( product_Pair @ D @ ( product_prod @ E @ F2 ) @ D2 @ ( product_Pair @ E @ F2 @ E2 @ F ) ) ) ) ) )
% 3.21/1.70       => ( P @ X ) ) ).
% 3.21/1.70  
% 3.21/1.70  thf(fact_73_prod__induct5,axiom,
% 3.21/1.70      ! [E: $tType,D: $tType,C: $tType,B: $tType,A: $tType,P: ( product_prod @ A @ ( product_prod @ B @ ( product_prod @ C @ ( product_prod @ D @ E ) ) ) ) > $o,X: product_prod @ A @ ( product_prod @ B @ ( product_prod @ C @ ( product_prod @ D @ E ) ) )] :
% 3.21/1.70        ( ! [A2: A,B2: B,C3: C,D2: D,E2: E] : ( P @ ( product_Pair @ A @ ( product_prod @ B @ ( product_prod @ C @ ( product_prod @ D @ E ) ) ) @ A2 @ ( product_Pair @ B @ ( product_prod @ C @ ( product_prod @ D @ E ) ) @ B2 @ ( product_Pair @ C @ ( product_prod @ D @ E ) @ C3 @ ( product_Pair @ D @ E @ D2 @ E2 ) ) ) ) )
% 3.21/1.70       => ( P @ X ) ) ).
% 3.21/1.70  
% 3.21/1.70  thf(fact_74_prod__induct4,axiom,
% 3.21/1.70      ! [D: $tType,C: $tType,B: $tType,A: $tType,P: ( product_prod @ A @ ( product_prod @ B @ ( product_prod @ C @ D ) ) ) > $o,X: product_prod @ A @ ( product_prod @ B @ ( product_prod @ C @ D ) )] :
% 3.21/1.70        ( ! [A2: A,B2: B,C3: C,D2: D] : ( P @ ( product_Pair @ A @ ( product_prod @ B @ ( product_prod @ C @ D ) ) @ A2 @ ( product_Pair @ B @ ( product_prod @ C @ D ) @ B2 @ ( product_Pair @ C @ D @ C3 @ D2 ) ) ) )
% 3.21/1.70       => ( P @ X ) ) ).
% 3.21/1.70  
% 3.21/1.70  thf(fact_75_prod__induct3,axiom,
% 3.21/1.70      ! [C: $tType,B: $tType,A: $tType,P: ( product_prod @ A @ ( product_prod @ B @ C ) ) > $o,X: product_prod @ A @ ( product_prod @ B @ C )] :
% 3.21/1.70        ( ! [A2: A,B2: B,C3: C] : ( P @ ( product_Pair @ A @ ( product_prod @ B @ C ) @ A2 @ ( product_Pair @ B @ C @ B2 @ C3 ) ) )
% 3.21/1.70       => ( P @ X ) ) ).
% 3.21/1.70  
% 3.21/1.70  thf(fact_76_prod__cases7,axiom,
% 3.21/1.70      ! [A: $tType,B: $tType,C: $tType,D: $tType,E: $tType,F2: $tType,G: $tType,Y: product_prod @ A @ ( product_prod @ B @ ( product_prod @ C @ ( product_prod @ D @ ( product_prod @ E @ ( product_prod @ F2 @ G ) ) ) ) )] :
% 3.21/1.70        ~ ! [A2: A,B2: B,C3: C,D2: D,E2: E,F: F2,G2: G] :
% 3.21/1.70            ( Y
% 3.21/1.70           != ( product_Pair @ A @ ( product_prod @ B @ ( product_prod @ C @ ( product_prod @ D @ ( product_prod @ E @ ( product_prod @ F2 @ G ) ) ) ) ) @ A2 @ ( product_Pair @ B @ ( product_prod @ C @ ( product_prod @ D @ ( product_prod @ E @ ( product_prod @ F2 @ G ) ) ) ) @ B2 @ ( product_Pair @ C @ ( product_prod @ D @ ( product_prod @ E @ ( product_prod @ F2 @ G ) ) ) @ C3 @ ( product_Pair @ D @ ( product_prod @ E @ ( product_prod @ F2 @ G ) ) @ D2 @ ( product_Pair @ E @ ( product_prod @ F2 @ G ) @ E2 @ ( product_Pair @ F2 @ G @ F @ G2 ) ) ) ) ) ) ) ).
% 3.21/1.70  
% 3.21/1.70  thf(fact_77_prod__cases6,axiom,
% 3.21/1.70      ! [A: $tType,B: $tType,C: $tType,D: $tType,E: $tType,F2: $tType,Y: product_prod @ A @ ( product_prod @ B @ ( product_prod @ C @ ( product_prod @ D @ ( product_prod @ E @ F2 ) ) ) )] :
% 3.21/1.70        ~ ! [A2: A,B2: B,C3: C,D2: D,E2: E,F: F2] :
% 3.21/1.70            ( Y
% 3.21/1.70           != ( product_Pair @ A @ ( product_prod @ B @ ( product_prod @ C @ ( product_prod @ D @ ( product_prod @ E @ F2 ) ) ) ) @ A2 @ ( product_Pair @ B @ ( product_prod @ C @ ( product_prod @ D @ ( product_prod @ E @ F2 ) ) ) @ B2 @ ( product_Pair @ C @ ( product_prod @ D @ ( product_prod @ E @ F2 ) ) @ C3 @ ( product_Pair @ D @ ( product_prod @ E @ F2 ) @ D2 @ ( product_Pair @ E @ F2 @ E2 @ F ) ) ) ) ) ) ).
% 3.21/1.70  
% 3.21/1.70  thf(fact_78_old_Oprod_Orec,axiom,
% 3.21/1.70      ! [A: $tType,T: $tType,B: $tType,F1: A > B > T,A3: A,B3: B] :
% 3.21/1.70        ( ( product_rec_prod @ A @ B @ T @ F1 @ ( product_Pair @ A @ B @ A3 @ B3 ) )
% 3.21/1.70        = ( F1 @ A3 @ B3 ) ) ).
% 3.21/1.70  
% 3.21/1.70  thf(fact_79_exec1_OSemi,axiom,
% 3.21/1.70      ! [C1: com,C22: com,Cs2: list @ com,S: state] : ( member @ ( product_prod @ ( product_prod @ ( list @ com ) @ state ) @ ( product_prod @ ( list @ com ) @ state ) ) @ ( product_Pair @ ( product_prod @ ( list @ com ) @ state ) @ ( product_prod @ ( list @ com ) @ state ) @ ( product_Pair @ ( list @ com ) @ state @ ( cons @ com @ ( semi @ C1 @ C22 ) @ Cs2 ) @ S ) @ ( product_Pair @ ( list @ com ) @ state @ ( cons @ com @ C1 @ ( cons @ com @ C22 @ Cs2 ) ) @ S ) ) @ pHoare1053570893_exec1 ) ).
% 3.21/1.70  
% 3.21/1.70  thf(fact_80_exec1E_I3_J,axiom,
% 3.21/1.70      ! [C1: com,C22: com,Cs2: list @ com,S: state,Cs: list @ com,S2: state] :
% 3.21/1.70        ( ( member @ ( product_prod @ ( product_prod @ ( list @ com ) @ state ) @ ( product_prod @ ( list @ com ) @ state ) ) @ ( product_Pair @ ( product_prod @ ( list @ com ) @ state ) @ ( product_prod @ ( list @ com ) @ state ) @ ( product_Pair @ ( list @ com ) @ state @ ( cons @ com @ ( semi @ C1 @ C22 ) @ Cs2 ) @ S ) @ ( product_Pair @ ( list @ com ) @ state @ Cs @ S2 ) ) @ pHoare1053570893_exec1 )
% 3.21/1.70       => ~ ( ( Cs
% 3.21/1.70              = ( cons @ com @ C1 @ ( cons @ com @ C22 @ Cs2 ) ) )
% 3.21/1.70           => ( S2 != S ) ) ) ).
% 3.21/1.70  
% 3.21/1.70  thf(fact_81_exec1_ODo,axiom,
% 3.21/1.70      ! [T3: state,F3: state > ( set @ state ),S: state,Cs2: list @ com] :
% 3.21/1.70        ( ( member @ state @ T3 @ ( F3 @ S ) )
% 3.21/1.70       => ( member @ ( product_prod @ ( product_prod @ ( list @ com ) @ state ) @ ( product_prod @ ( list @ com ) @ state ) ) @ ( product_Pair @ ( product_prod @ ( list @ com ) @ state ) @ ( product_prod @ ( list @ com ) @ state ) @ ( product_Pair @ ( list @ com ) @ state @ ( cons @ com @ ( do @ F3 ) @ Cs2 ) @ S ) @ ( product_Pair @ ( list @ com ) @ state @ Cs2 @ T3 ) ) @ pHoare1053570893_exec1 ) ) ).
% 3.21/1.70  
% 3.21/1.70  thf(fact_82_exec1E_I2_J,axiom,
% 3.21/1.70      ! [F3: state > ( set @ state ),Cs2: list @ com,S: state,Cs: list @ com,S2: state] :
% 3.21/1.70        ( ( member @ ( product_prod @ ( product_prod @ ( list @ com ) @ state ) @ ( product_prod @ ( list @ com ) @ state ) ) @ ( product_Pair @ ( product_prod @ ( list @ com ) @ state ) @ ( product_prod @ ( list @ com ) @ state ) @ ( product_Pair @ ( list @ com ) @ state @ ( cons @ com @ ( do @ F3 ) @ Cs2 ) @ S ) @ ( product_Pair @ ( list @ com ) @ state @ Cs @ S2 ) ) @ pHoare1053570893_exec1 )
% 3.21/1.70       => ~ ( ( Cs = Cs2 )
% 3.21/1.70           => ~ ( member @ state @ S2 @ ( F3 @ S ) ) ) ) ).
% 3.21/1.70  
% 3.21/1.70  thf(fact_83_exec1_OIfFalse,axiom,
% 3.21/1.70      ! [B3: state > $o,S: state,C1: com,C22: com,Cs2: list @ com] :
% 3.21/1.70        ( ~ ( B3 @ S )
% 3.21/1.70       => ( member @ ( product_prod @ ( product_prod @ ( list @ com ) @ state ) @ ( product_prod @ ( list @ com ) @ state ) ) @ ( product_Pair @ ( product_prod @ ( list @ com ) @ state ) @ ( product_prod @ ( list @ com ) @ state ) @ ( product_Pair @ ( list @ com ) @ state @ ( cons @ com @ ( cond @ B3 @ C1 @ C22 ) @ Cs2 ) @ S ) @ ( product_Pair @ ( list @ com ) @ state @ ( cons @ com @ C22 @ Cs2 ) @ S ) ) @ pHoare1053570893_exec1 ) ) ).
% 3.21/1.70  
% 3.21/1.70  thf(fact_84_exec1_OIfTrue,axiom,
% 3.21/1.70      ! [B3: state > $o,S: state,C1: com,C22: com,Cs2: list @ com] :
% 3.21/1.70        ( ( B3 @ S )
% 3.21/1.70       => ( member @ ( product_prod @ ( product_prod @ ( list @ com ) @ state ) @ ( product_prod @ ( list @ com ) @ state ) ) @ ( product_Pair @ ( product_prod @ ( list @ com ) @ state ) @ ( product_prod @ ( list @ com ) @ state ) @ ( product_Pair @ ( list @ com ) @ state @ ( cons @ com @ ( cond @ B3 @ C1 @ C22 ) @ Cs2 ) @ S ) @ ( product_Pair @ ( list @ com ) @ state @ ( cons @ com @ C1 @ Cs2 ) @ S ) ) @ pHoare1053570893_exec1 ) ) ).
% 3.21/1.70  
% 3.21/1.70  thf(fact_85_exec1E_I4_J,axiom,
% 3.21/1.70      ! [B3: state > $o,C1: com,C22: com,Cs2: list @ com,S: state,Cs: list @ com,S2: state] :
% 3.21/1.70        ( ( member @ ( product_prod @ ( product_prod @ ( list @ com ) @ state ) @ ( product_prod @ ( list @ com ) @ state ) ) @ ( product_Pair @ ( product_prod @ ( list @ com ) @ state ) @ ( product_prod @ ( list @ com ) @ state ) @ ( product_Pair @ ( list @ com ) @ state @ ( cons @ com @ ( cond @ B3 @ C1 @ C22 ) @ Cs2 ) @ S ) @ ( product_Pair @ ( list @ com ) @ state @ Cs @ S2 ) ) @ pHoare1053570893_exec1 )
% 3.21/1.70       => ( ( ( Cs
% 3.21/1.70              = ( cons @ com @ C1 @ Cs2 ) )
% 3.21/1.70           => ( ( S2 = S )
% 3.21/1.70             => ~ ( B3 @ S ) ) )
% 3.21/1.70         => ~ ( ( Cs
% 3.21/1.70                = ( cons @ com @ C22 @ Cs2 ) )
% 3.21/1.70             => ( ( S2 = S )
% 3.21/1.70               => ( B3 @ S ) ) ) ) ) ).
% 3.21/1.70  
% 3.21/1.70  thf(fact_86_exec1_OWhileFalse,axiom,
% 3.21/1.70      ! [B3: state > $o,S: state,C2: com,Cs2: list @ com] :
% 3.21/1.70        ( ~ ( B3 @ S )
% 3.21/1.70       => ( member @ ( product_prod @ ( product_prod @ ( list @ com ) @ state ) @ ( product_prod @ ( list @ com ) @ state ) ) @ ( product_Pair @ ( product_prod @ ( list @ com ) @ state ) @ ( product_prod @ ( list @ com ) @ state ) @ ( product_Pair @ ( list @ com ) @ state @ ( cons @ com @ ( while @ B3 @ C2 ) @ Cs2 ) @ S ) @ ( product_Pair @ ( list @ com ) @ state @ Cs2 @ S ) ) @ pHoare1053570893_exec1 ) ) ).
% 3.21/1.70  
% 3.21/1.70  thf(fact_87_exec1_OWhileTrue,axiom,
% 3.21/1.70      ! [B3: state > $o,S: state,C2: com,Cs2: list @ com] :
% 3.21/1.70        ( ( B3 @ S )
% 3.21/1.70       => ( member @ ( product_prod @ ( product_prod @ ( list @ com ) @ state ) @ ( product_prod @ ( list @ com ) @ state ) ) @ ( product_Pair @ ( product_prod @ ( list @ com ) @ state ) @ ( product_prod @ ( list @ com ) @ state ) @ ( product_Pair @ ( list @ com ) @ state @ ( cons @ com @ ( while @ B3 @ C2 ) @ Cs2 ) @ S ) @ ( product_Pair @ ( list @ com ) @ state @ ( cons @ com @ C2 @ ( cons @ com @ ( while @ B3 @ C2 ) @ Cs2 ) ) @ S ) ) @ pHoare1053570893_exec1 ) ) ).
% 3.21/1.70  
% 3.21/1.70  thf(fact_88_while__termiE,axiom,
% 3.21/1.70      ! [B3: state > $o,C2: com,S: state] :
% 3.21/1.70        ( ( termi @ ( while @ B3 @ C2 ) @ S )
% 3.21/1.70       => ( ( B3 @ S )
% 3.21/1.70         => ( termi @ C2 @ S ) ) ) ).
% 3.21/1.70  
% 3.21/1.70  thf(fact_89_while__termiE2,axiom,
% 3.21/1.70      ! [B3: state > $o,C2: com,S: state,T3: state] :
% 3.21/1.70        ( ( termi @ ( while @ B3 @ C2 ) @ S )
% 3.21/1.70       => ( ( B3 @ S )
% 3.21/1.70         => ( ( exec @ S @ C2 @ T3 )
% 3.21/1.70           => ( termi @ ( while @ B3 @ C2 ) @ T3 ) ) ) ) ).
% 3.21/1.70  
% 3.21/1.70  thf(fact_90_exec1E_I5_J,axiom,
% 3.21/1.70      ! [B3: state > $o,C2: com,Cs2: list @ com,S: state,Cs: list @ com,S2: state] :
% 3.21/1.70        ( ( member @ ( product_prod @ ( product_prod @ ( list @ com ) @ state ) @ ( product_prod @ ( list @ com ) @ state ) ) @ ( product_Pair @ ( product_prod @ ( list @ com ) @ state ) @ ( product_prod @ ( list @ com ) @ state ) @ ( product_Pair @ ( list @ com ) @ state @ ( cons @ com @ ( while @ B3 @ C2 ) @ Cs2 ) @ S ) @ ( product_Pair @ ( list @ com ) @ state @ Cs @ S2 ) ) @ pHoare1053570893_exec1 )
% 3.21/1.70       => ( ( ( Cs = Cs2 )
% 3.21/1.70           => ( ( S2 = S )
% 3.21/1.70             => ( B3 @ S ) ) )
% 3.21/1.70         => ~ ( ( Cs
% 3.21/1.70                = ( cons @ com @ C2 @ ( cons @ com @ ( while @ B3 @ C2 ) @ Cs2 ) ) )
% 3.21/1.70             => ( ( S2 = S )
% 3.21/1.70               => ~ ( B3 @ S ) ) ) ) ) ).
% 3.21/1.70  
% 3.21/1.70  thf(fact_91_termi_OSemi,axiom,
% 3.21/1.70      ! [C1: com,S0: state,C22: com] :
% 3.21/1.70        ( ( termi @ C1 @ S0 )
% 3.21/1.70       => ( ! [S1: state] :
% 3.21/1.70              ( ( exec @ S0 @ C1 @ S1 )
% 3.21/1.70             => ( termi @ C22 @ S1 ) )
% 3.21/1.70         => ( termi @ ( semi @ C1 @ C22 ) @ S0 ) ) ) ).
% 3.21/1.70  
% 3.21/1.70  thf(fact_92_termi_OWhileTrue,axiom,
% 3.21/1.70      ! [B3: state > $o,S: state,C2: com] :
% 3.21/1.70        ( ( B3 @ S )
% 3.21/1.70       => ( ( termi @ C2 @ S )
% 3.21/1.70         => ( ! [T4: state] :
% 3.21/1.70                ( ( exec @ S @ C2 @ T4 )
% 3.21/1.70               => ( termi @ ( while @ B3 @ C2 ) @ T4 ) )
% 3.21/1.70           => ( termi @ ( while @ B3 @ C2 ) @ S ) ) ) ) ).
% 3.21/1.70  
% 3.21/1.70  thf(fact_93_com_Oinject_I2_J,axiom,
% 3.21/1.70      ! [X21: com,X22: com,Y21: com,Y22: com] :
% 3.21/1.70        ( ( ( semi @ X21 @ X22 )
% 3.21/1.70          = ( semi @ Y21 @ Y22 ) )
% 3.21/1.70        = ( ( X21 = Y21 )
% 3.21/1.70          & ( X22 = Y22 ) ) ) ).
% 3.21/1.70  
% 3.21/1.70  thf(fact_94_com_Oinject_I1_J,axiom,
% 3.21/1.70      ! [X1: state > ( set @ state ),Y1: state > ( set @ state )] :
% 3.21/1.70        ( ( ( do @ X1 )
% 3.21/1.70          = ( do @ Y1 ) )
% 3.21/1.70        = ( X1 = Y1 ) ) ).
% 3.21/1.70  
% 3.21/1.70  thf(fact_95_com_Oinject_I3_J,axiom,
% 3.21/1.70      ! [X31: state > $o,X322: com,X33: com,Y31: state > $o,Y32: com,Y33: com] :
% 3.21/1.70        ( ( ( cond @ X31 @ X322 @ X33 )
% 3.21/1.70          = ( cond @ Y31 @ Y32 @ Y33 ) )
% 3.21/1.70        = ( ( X31 = Y31 )
% 3.21/1.70          & ( X322 = Y32 )
% 3.21/1.70          & ( X33 = Y33 ) ) ) ).
% 3.21/1.70  
% 3.21/1.70  thf(fact_96_com_Oinject_I4_J,axiom,
% 3.21/1.70      ! [X41: state > $o,X42: com,Y41: state > $o,Y42: com] :
% 3.21/1.70        ( ( ( while @ X41 @ X42 )
% 3.21/1.70          = ( while @ Y41 @ Y42 ) )
% 3.21/1.70        = ( ( X41 = Y41 )
% 3.21/1.70          & ( X42 = Y42 ) ) ) ).
% 3.21/1.70  
% 3.21/1.70  thf(fact_97_exec_OWhileFalse,axiom,
% 3.21/1.70      ! [B3: state > $o,S: state,C2: com] :
% 3.21/1.70        ( ~ ( B3 @ S )
% 3.21/1.70       => ( exec @ S @ ( while @ B3 @ C2 ) @ S ) ) ).
% 3.21/1.70  
% 3.21/1.70  thf(fact_98_exec_OWhileTrue,axiom,
% 3.21/1.70      ! [B3: state > $o,S: state,C2: com,T3: state,U: state] :
% 3.21/1.70        ( ( B3 @ S )
% 3.21/1.70       => ( ( exec @ S @ C2 @ T3 )
% 3.21/1.70         => ( ( exec @ T3 @ ( while @ B3 @ C2 ) @ U )
% 3.21/1.70           => ( exec @ S @ ( while @ B3 @ C2 ) @ U ) ) ) ) ).
% 3.21/1.70  
% 3.21/1.70  thf(fact_99_com_Odistinct_I19_J,axiom,
% 3.21/1.70      ! [X31: state > $o,X322: com,X33: com,X41: state > $o,X42: com] :
% 3.21/1.70        ( ( cond @ X31 @ X322 @ X33 )
% 3.21/1.70       != ( while @ X41 @ X42 ) ) ).
% 3.21/1.70  
% 3.21/1.70  thf(fact_100_termi_OWhileFalse,axiom,
% 3.21/1.70      ! [B3: state > $o,S: state,C2: com] :
% 3.21/1.70        ( ~ ( B3 @ S )
% 3.21/1.70       => ( termi @ ( while @ B3 @ C2 ) @ S ) ) ).
% 3.21/1.70  
% 3.21/1.70  thf(fact_101_com_Odistinct_I5_J,axiom,
% 3.21/1.70      ! [X1: state > ( set @ state ),X41: state > $o,X42: com] :
% 3.21/1.70        ( ( do @ X1 )
% 3.21/1.70       != ( while @ X41 @ X42 ) ) ).
% 3.21/1.70  
% 3.21/1.70  thf(fact_102_exec_OIfFalse,axiom,
% 3.21/1.70      ! [B3: state > $o,S: state,C22: com,T3: state,C1: com] :
% 3.21/1.70        ( ~ ( B3 @ S )
% 3.21/1.70       => ( ( exec @ S @ C22 @ T3 )
% 3.21/1.70         => ( exec @ S @ ( cond @ B3 @ C1 @ C22 ) @ T3 ) ) ) ).
% 3.21/1.70  
% 3.21/1.70  thf(fact_103_exec_OIfTrue,axiom,
% 3.21/1.70      ! [B3: state > $o,S: state,C1: com,T3: state,C22: com] :
% 3.21/1.71        ( ( B3 @ S )
% 3.21/1.71       => ( ( exec @ S @ C1 @ T3 )
% 3.21/1.71         => ( exec @ S @ ( cond @ B3 @ C1 @ C22 ) @ T3 ) ) ) ).
% 3.21/1.71  
% 3.21/1.71  thf(fact_104_com_Odistinct_I13_J,axiom,
% 3.21/1.71      ! [X21: com,X22: com,X41: state > $o,X42: com] :
% 3.21/1.71        ( ( semi @ X21 @ X22 )
% 3.21/1.71       != ( while @ X41 @ X42 ) ) ).
% 3.21/1.71  
% 3.21/1.71  thf(fact_105_exec_ODo,axiom,
% 3.21/1.71      ! [T3: state,F3: state > ( set @ state ),S: state] :
% 3.21/1.71        ( ( member @ state @ T3 @ ( F3 @ S ) )
% 3.21/1.71       => ( exec @ S @ ( do @ F3 ) @ T3 ) ) ).
% 3.21/1.71  
% 3.21/1.71  thf(fact_106_exec_OSemi,axiom,
% 3.21/1.71      ! [S0: state,C1: com,S12: state,C22: com,S22: state] :
% 3.21/1.71        ( ( exec @ S0 @ C1 @ S12 )
% 3.21/1.71       => ( ( exec @ S12 @ C22 @ S22 )
% 3.21/1.71         => ( exec @ S0 @ ( semi @ C1 @ C22 ) @ S22 ) ) ) ).
% 3.21/1.71  
% 3.21/1.71  thf(fact_107_termi_OIfFalse,axiom,
% 3.21/1.71      ! [B3: state > $o,S: state,C22: com,C1: com] :
% 3.21/1.71        ( ~ ( B3 @ S )
% 3.21/1.71       => ( ( termi @ C22 @ S )
% 3.21/1.71         => ( termi @ ( cond @ B3 @ C1 @ C22 ) @ S ) ) ) ).
% 3.21/1.71  
% 3.21/1.71  thf(fact_108_termi_OIfTrue,axiom,
% 3.21/1.71      ! [B3: state > $o,S: state,C1: com,C22: com] :
% 3.21/1.71        ( ( B3 @ S )
% 3.21/1.71       => ( ( termi @ C1 @ S )
% 3.21/1.71         => ( termi @ ( cond @ B3 @ C1 @ C22 ) @ S ) ) ) ).
% 3.21/1.71  
% 3.21/1.71  thf(fact_109_com_Odistinct_I3_J,axiom,
% 3.21/1.71      ! [X1: state > ( set @ state ),X31: state > $o,X322: com,X33: com] :
% 3.21/1.71        ( ( do @ X1 )
% 3.21/1.71       != ( cond @ X31 @ X322 @ X33 ) ) ).
% 3.21/1.71  
% 3.21/1.71  thf(fact_110_com_Odistinct_I11_J,axiom,
% 3.21/1.71      ! [X21: com,X22: com,X31: state > $o,X322: com,X33: com] :
% 3.21/1.71        ( ( semi @ X21 @ X22 )
% 3.21/1.71       != ( cond @ X31 @ X322 @ X33 ) ) ).
% 3.21/1.71  
% 3.21/1.71  thf(fact_111_com_Odistinct_I1_J,axiom,
% 3.21/1.71      ! [X1: state > ( set @ state ),X21: com,X22: com] :
% 3.21/1.71        ( ( do @ X1 )
% 3.21/1.71       != ( semi @ X21 @ X22 ) ) ).
% 3.21/1.71  
% 3.21/1.71  thf(fact_112_product__lists_Osimps_I1_J,axiom,
% 3.21/1.71      ! [A: $tType] :
% 3.21/1.71        ( ( product_lists @ A @ ( nil @ ( list @ A ) ) )
% 3.21/1.71        = ( cons @ ( list @ A ) @ ( nil @ A ) @ ( nil @ ( list @ A ) ) ) ) ).
% 3.21/1.71  
% 3.21/1.71  thf(fact_113_subseqs_Osimps_I1_J,axiom,
% 3.21/1.71      ! [A: $tType] :
% 3.21/1.71        ( ( subseqs @ A @ ( nil @ A ) )
% 3.21/1.71        = ( cons @ ( list @ A ) @ ( nil @ A ) @ ( nil @ ( list @ A ) ) ) ) ).
% 3.21/1.71  
% 3.21/1.71  thf(fact_114_app__execs,axiom,
% 3.21/1.71      ! [Cs2: list @ com,S: state,Cs: list @ com,S2: state,Cs22: list @ com] :
% 3.21/1.71        ( ( member @ ( product_prod @ ( product_prod @ ( list @ com ) @ state ) @ ( product_prod @ ( list @ com ) @ state ) ) @ ( product_Pair @ ( product_prod @ ( list @ com ) @ state ) @ ( product_prod @ ( list @ com ) @ state ) @ ( product_Pair @ ( list @ com ) @ state @ Cs2 @ S ) @ ( product_Pair @ ( list @ com ) @ state @ Cs @ S2 ) ) @ ( transitive_rtrancl @ ( product_prod @ ( list @ com ) @ state ) @ pHoare1053570893_exec1 ) )
% 3.21/1.71       => ( member @ ( product_prod @ ( product_prod @ ( list @ com ) @ state ) @ ( product_prod @ ( list @ com ) @ state ) ) @ ( product_Pair @ ( product_prod @ ( list @ com ) @ state ) @ ( product_prod @ ( list @ com ) @ state ) @ ( product_Pair @ ( list @ com ) @ state @ ( append @ com @ Cs2 @ Cs22 ) @ S ) @ ( product_Pair @ ( list @ com ) @ state @ ( append @ com @ Cs @ Cs22 ) @ S2 ) ) @ ( transitive_rtrancl @ ( product_prod @ ( list @ com ) @ state ) @ pHoare1053570893_exec1 ) ) ) ).
% 3.21/1.71  
% 3.21/1.71  thf(fact_115_insert__Nil,axiom,
% 3.21/1.71      ! [A: $tType,X: A] :
% 3.21/1.71        ( ( insert @ A @ X @ ( nil @ A ) )
% 3.21/1.71        = ( cons @ A @ X @ ( nil @ A ) ) ) ).
% 3.21/1.71  
% 3.21/1.71  thf(fact_116_listrel_Oinducts,axiom,
% 3.21/1.71      ! [A: $tType,B: $tType,X1: list @ A,X2: list @ B,R: set @ ( product_prod @ A @ B ),P: ( list @ A ) > ( list @ B ) > $o] :
% 3.21/1.71        ( ( member @ ( product_prod @ ( list @ A ) @ ( list @ B ) ) @ ( product_Pair @ ( list @ A ) @ ( list @ B ) @ X1 @ X2 ) @ ( listrel @ A @ B @ R ) )
% 3.21/1.71       => ( ( P @ ( nil @ A ) @ ( nil @ B ) )
% 3.21/1.71         => ( ! [X3: A,Y3: B,Xs: list @ A,Ys: list @ B] :
% 3.21/1.71                ( ( member @ ( product_prod @ A @ B ) @ ( product_Pair @ A @ B @ X3 @ Y3 ) @ R )
% 3.21/1.71               => ( ( member @ ( product_prod @ ( list @ A ) @ ( list @ B ) ) @ ( product_Pair @ ( list @ A ) @ ( list @ B ) @ Xs @ Ys ) @ ( listrel @ A @ B @ R ) )
% 3.21/1.71                 => ( ( P @ Xs @ Ys )
% 3.21/1.71                   => ( P @ ( cons @ A @ X3 @ Xs ) @ ( cons @ B @ Y3 @ Ys ) ) ) ) )
% 3.21/1.71           => ( P @ X1 @ X2 ) ) ) ) ).
% 3.21/1.71  
% 3.21/1.71  thf(fact_117_append_Oassoc,axiom,
% 3.21/1.71      ! [A: $tType,A3: list @ A,B3: list @ A,C2: list @ A] :
% 3.21/1.71        ( ( append @ A @ ( append @ A @ A3 @ B3 ) @ C2 )
% 3.21/1.71        = ( append @ A @ A3 @ ( append @ A @ B3 @ C2 ) ) ) ).
% 3.21/1.71  
% 3.21/1.71  thf(fact_118_append__assoc,axiom,
% 3.21/1.71      ! [A: $tType,Xs2: list @ A,Ys2: list @ A,Zs2: list @ A] :
% 3.21/1.71        ( ( append @ A @ ( append @ A @ Xs2 @ Ys2 ) @ Zs2 )
% 3.21/1.71        = ( append @ A @ Xs2 @ ( append @ A @ Ys2 @ Zs2 ) ) ) ).
% 3.21/1.71  
% 3.21/1.71  thf(fact_119_append__same__eq,axiom,
% 3.21/1.71      ! [A: $tType,Ys2: list @ A,Xs2: list @ A,Zs2: list @ A] :
% 3.21/1.71        ( ( ( append @ A @ Ys2 @ Xs2 )
% 3.21/1.71          = ( append @ A @ Zs2 @ Xs2 ) )
% 3.21/1.71        = ( Ys2 = Zs2 ) ) ).
% 3.21/1.71  
% 3.21/1.71  thf(fact_120_same__append__eq,axiom,
% 3.21/1.71      ! [A: $tType,Xs2: list @ A,Ys2: list @ A,Zs2: list @ A] :
% 3.21/1.71        ( ( ( append @ A @ Xs2 @ Ys2 )
% 3.21/1.71          = ( append @ A @ Xs2 @ Zs2 ) )
% 3.21/1.71        = ( Ys2 = Zs2 ) ) ).
% 3.21/1.71  
% 3.21/1.71  thf(fact_121_append__Nil2,axiom,
% 3.21/1.71      ! [A: $tType,Xs2: list @ A] :
% 3.21/1.71        ( ( append @ A @ Xs2 @ ( nil @ A ) )
% 3.21/1.71        = Xs2 ) ).
% 3.21/1.71  
% 3.21/1.71  thf(fact_122_append__self__conv,axiom,
% 3.21/1.71      ! [A: $tType,Xs2: list @ A,Ys2: list @ A] :
% 3.21/1.71        ( ( ( append @ A @ Xs2 @ Ys2 )
% 3.21/1.71          = Xs2 )
% 3.21/1.71        = ( Ys2
% 3.21/1.71          = ( nil @ A ) ) ) ).
% 3.21/1.71  
% 3.21/1.71  thf(fact_123_self__append__conv,axiom,
% 3.21/1.71      ! [A: $tType,Xs2: list @ A,Ys2: list @ A] :
% 3.21/1.71        ( ( Xs2
% 3.21/1.71          = ( append @ A @ Xs2 @ Ys2 ) )
% 3.21/1.71        = ( Ys2
% 3.21/1.71          = ( nil @ A ) ) ) ).
% 3.21/1.71  
% 3.21/1.71  thf(fact_124_append__self__conv2,axiom,
% 3.21/1.71      ! [A: $tType,Xs2: list @ A,Ys2: list @ A] :
% 3.21/1.71        ( ( ( append @ A @ Xs2 @ Ys2 )
% 3.21/1.71          = Ys2 )
% 3.21/1.71        = ( Xs2
% 3.21/1.71          = ( nil @ A ) ) ) ).
% 3.21/1.71  
% 3.21/1.71  thf(fact_125_self__append__conv2,axiom,
% 3.21/1.71      ! [A: $tType,Ys2: list @ A,Xs2: list @ A] :
% 3.21/1.71        ( ( Ys2
% 3.21/1.71          = ( append @ A @ Xs2 @ Ys2 ) )
% 3.21/1.71        = ( Xs2
% 3.21/1.71          = ( nil @ A ) ) ) ).
% 3.21/1.71  
% 3.21/1.71  thf(fact_126_Nil__is__append__conv,axiom,
% 3.21/1.71      ! [A: $tType,Xs2: list @ A,Ys2: list @ A] :
% 3.21/1.71        ( ( ( nil @ A )
% 3.21/1.71          = ( append @ A @ Xs2 @ Ys2 ) )
% 3.21/1.71        = ( ( Xs2
% 3.21/1.71            = ( nil @ A ) )
% 3.21/1.71          & ( Ys2
% 3.21/1.71            = ( nil @ A ) ) ) ) ).
% 3.21/1.71  
% 3.21/1.71  thf(fact_127_append__is__Nil__conv,axiom,
% 3.21/1.71      ! [A: $tType,Xs2: list @ A,Ys2: list @ A] :
% 3.21/1.71        ( ( ( append @ A @ Xs2 @ Ys2 )
% 3.21/1.71          = ( nil @ A ) )
% 3.21/1.71        = ( ( Xs2
% 3.21/1.71            = ( nil @ A ) )
% 3.21/1.71          & ( Ys2
% 3.21/1.71            = ( nil @ A ) ) ) ) ).
% 3.21/1.71  
% 3.21/1.71  thf(fact_128_append_Oright__neutral,axiom,
% 3.21/1.71      ! [A: $tType,A3: list @ A] :
% 3.21/1.71        ( ( append @ A @ A3 @ ( nil @ A ) )
% 3.21/1.71        = A3 ) ).
% 3.21/1.71  
% 3.21/1.71  thf(fact_129_append1__eq__conv,axiom,
% 3.21/1.71      ! [A: $tType,Xs2: list @ A,X: A,Ys2: list @ A,Y: A] :
% 3.21/1.71        ( ( ( append @ A @ Xs2 @ ( cons @ A @ X @ ( nil @ A ) ) )
% 3.21/1.71          = ( append @ A @ Ys2 @ ( cons @ A @ Y @ ( nil @ A ) ) ) )
% 3.21/1.71        = ( ( Xs2 = Ys2 )
% 3.21/1.71          & ( X = Y ) ) ) ).
% 3.21/1.71  
% 3.21/1.71  thf(fact_130_listrel__rtrancl__refl,axiom,
% 3.21/1.71      ! [A: $tType,Xs2: list @ A,R: set @ ( product_prod @ A @ A )] : ( member @ ( product_prod @ ( list @ A ) @ ( list @ A ) ) @ ( product_Pair @ ( list @ A ) @ ( list @ A ) @ Xs2 @ Xs2 ) @ ( listrel @ A @ A @ ( transitive_rtrancl @ A @ R ) ) ) ).
% 3.21/1.71  
% 3.21/1.71  thf(fact_131_append__Cons,axiom,
% 3.21/1.71      ! [A: $tType,X: A,Xs2: list @ A,Ys2: list @ A] :
% 3.21/1.71        ( ( append @ A @ ( cons @ A @ X @ Xs2 ) @ Ys2 )
% 3.21/1.71        = ( cons @ A @ X @ ( append @ A @ Xs2 @ Ys2 ) ) ) ).
% 3.21/1.71  
% 3.21/1.71  thf(fact_132_Cons__eq__appendI,axiom,
% 3.21/1.71      ! [A: $tType,X: A,Xs1: list @ A,Ys2: list @ A,Xs2: list @ A,Zs2: list @ A] :
% 3.21/1.71        ( ( ( cons @ A @ X @ Xs1 )
% 3.21/1.71          = Ys2 )
% 3.21/1.71       => ( ( Xs2
% 3.21/1.71            = ( append @ A @ Xs1 @ Zs2 ) )
% 3.21/1.71         => ( ( cons @ A @ X @ Xs2 )
% 3.21/1.71            = ( append @ A @ Ys2 @ Zs2 ) ) ) ) ).
% 3.21/1.71  
% 3.21/1.71  thf(fact_133_append_Oleft__neutral,axiom,
% 3.21/1.71      ! [A: $tType,A3: list @ A] :
% 3.21/1.71        ( ( append @ A @ ( nil @ A ) @ A3 )
% 3.21/1.71        = A3 ) ).
% 3.21/1.71  
% 3.21/1.71  thf(fact_134_append__Nil,axiom,
% 3.21/1.71      ! [A: $tType,Ys2: list @ A] :
% 3.21/1.71        ( ( append @ A @ ( nil @ A ) @ Ys2 )
% 3.21/1.71        = Ys2 ) ).
% 3.21/1.71  
% 3.21/1.71  thf(fact_135_eq__Nil__appendI,axiom,
% 3.21/1.71      ! [A: $tType,Xs2: list @ A,Ys2: list @ A] :
% 3.21/1.71        ( ( Xs2 = Ys2 )
% 3.21/1.71       => ( Xs2
% 3.21/1.71          = ( append @ A @ ( nil @ A ) @ Ys2 ) ) ) ).
% 3.21/1.71  
% 3.21/1.71  thf(fact_136_append__eq__appendI,axiom,
% 3.21/1.71      ! [A: $tType,Xs2: list @ A,Xs1: list @ A,Zs2: list @ A,Ys2: list @ A,Us: list @ A] :
% 3.21/1.71        ( ( ( append @ A @ Xs2 @ Xs1 )
% 3.21/1.71          = Zs2 )
% 3.21/1.71       => ( ( Ys2
% 3.21/1.71            = ( append @ A @ Xs1 @ Us ) )
% 3.21/1.71         => ( ( append @ A @ Xs2 @ Ys2 )
% 3.21/1.71            = ( append @ A @ Zs2 @ Us ) ) ) ) ).
% 3.21/1.71  
% 3.21/1.71  thf(fact_137_append__eq__append__conv2,axiom,
% 3.21/1.71      ! [A: $tType,Xs2: list @ A,Ys2: list @ A,Zs2: list @ A,Ts: list @ A] :
% 3.21/1.71        ( ( ( append @ A @ Xs2 @ Ys2 )
% 3.21/1.71          = ( append @ A @ Zs2 @ Ts ) )
% 3.21/1.71        = ( ? [Us2: list @ A] :
% 3.21/1.71              ( ( ( Xs2
% 3.21/1.71                  = ( append @ A @ Zs2 @ Us2 ) )
% 3.21/1.71                & ( ( append @ A @ Us2 @ Ys2 )
% 3.21/1.71                  = Ts ) )
% 3.21/1.71              | ( ( ( append @ A @ Xs2 @ Us2 )
% 3.21/1.71                  = Zs2 )
% 3.21/1.71                & ( Ys2
% 3.21/1.71                  = ( append @ A @ Us2 @ Ts ) ) ) ) ) ) ).
% 3.21/1.71  
% 3.21/1.71  thf(fact_138_rev__induct,axiom,
% 3.21/1.71      ! [A: $tType,P: ( list @ A ) > $o,Xs2: list @ A] :
% 3.21/1.71        ( ( P @ ( nil @ A ) )
% 3.21/1.71       => ( ! [X3: A,Xs: list @ A] :
% 3.21/1.71              ( ( P @ Xs )
% 3.21/1.71             => ( P @ ( append @ A @ Xs @ ( cons @ A @ X3 @ ( nil @ A ) ) ) ) )
% 3.21/1.71         => ( P @ Xs2 ) ) ) ).
% 3.21/1.71  
% 3.21/1.71  thf(fact_139_rev__exhaust,axiom,
% 3.21/1.71      ! [A: $tType,Xs2: list @ A] :
% 3.21/1.71        ( ( Xs2
% 3.21/1.71         != ( nil @ A ) )
% 3.21/1.71       => ~ ! [Ys: list @ A,Y3: A] :
% 3.21/1.71              ( Xs2
% 3.21/1.71             != ( append @ A @ Ys @ ( cons @ A @ Y3 @ ( nil @ A ) ) ) ) ) ).
% 3.21/1.71  
% 3.21/1.71  thf(fact_140_Cons__eq__append__conv,axiom,
% 3.21/1.71      ! [A: $tType,X: A,Xs2: list @ A,Ys2: list @ A,Zs2: list @ A] :
% 3.21/1.71        ( ( ( cons @ A @ X @ Xs2 )
% 3.21/1.71          = ( append @ A @ Ys2 @ Zs2 ) )
% 3.21/1.71        = ( ( ( Ys2
% 3.21/1.71              = ( nil @ A ) )
% 3.21/1.71            & ( ( cons @ A @ X @ Xs2 )
% 3.21/1.71              = Zs2 ) )
% 3.21/1.71          | ? [Ys4: list @ A] :
% 3.21/1.71              ( ( ( cons @ A @ X @ Ys4 )
% 3.21/1.71                = Ys2 )
% 3.21/1.71              & ( Xs2
% 3.21/1.71                = ( append @ A @ Ys4 @ Zs2 ) ) ) ) ) ).
% 3.21/1.71  
% 3.21/1.71  thf(fact_141_append__eq__Cons__conv,axiom,
% 3.21/1.71      ! [A: $tType,Ys2: list @ A,Zs2: list @ A,X: A,Xs2: list @ A] :
% 3.21/1.71        ( ( ( append @ A @ Ys2 @ Zs2 )
% 3.21/1.71          = ( cons @ A @ X @ Xs2 ) )
% 3.21/1.71        = ( ( ( Ys2
% 3.21/1.71              = ( nil @ A ) )
% 3.21/1.71            & ( Zs2
% 3.21/1.71              = ( cons @ A @ X @ Xs2 ) ) )
% 3.21/1.71          | ? [Ys4: list @ A] :
% 3.21/1.71              ( ( Ys2
% 3.21/1.71                = ( cons @ A @ X @ Ys4 ) )
% 3.21/1.71              & ( ( append @ A @ Ys4 @ Zs2 )
% 3.21/1.71                = Xs2 ) ) ) ) ).
% 3.21/1.71  
% 3.21/1.71  thf(fact_142_rev__nonempty__induct,axiom,
% 3.21/1.71      ! [A: $tType,Xs2: list @ A,P: ( list @ A ) > $o] :
% 3.21/1.71        ( ( Xs2
% 3.21/1.71         != ( nil @ A ) )
% 3.21/1.71       => ( ! [X3: A] : ( P @ ( cons @ A @ X3 @ ( nil @ A ) ) )
% 3.21/1.71         => ( ! [X3: A,Xs: list @ A] :
% 3.21/1.71                ( ( Xs
% 3.21/1.71                 != ( nil @ A ) )
% 3.21/1.71               => ( ( P @ Xs )
% 3.21/1.71                 => ( P @ ( append @ A @ Xs @ ( cons @ A @ X3 @ ( nil @ A ) ) ) ) ) )
% 3.21/1.71           => ( P @ Xs2 ) ) ) ) ).
% 3.21/1.71  
% 3.21/1.71  thf(fact_143_listrel__Nil2,axiom,
% 3.21/1.71      ! [B: $tType,A: $tType,Xs2: list @ A,R: set @ ( product_prod @ A @ B )] :
% 3.21/1.71        ( ( member @ ( product_prod @ ( list @ A ) @ ( list @ B ) ) @ ( product_Pair @ ( list @ A ) @ ( list @ B ) @ Xs2 @ ( nil @ B ) ) @ ( listrel @ A @ B @ R ) )
% 3.21/1.71       => ( Xs2
% 3.21/1.71          = ( nil @ A ) ) ) ).
% 3.21/1.71  
% 3.21/1.71  thf(fact_144_listrel__Nil1,axiom,
% 3.21/1.71      ! [A: $tType,B: $tType,Xs2: list @ B,R: set @ ( product_prod @ A @ B )] :
% 3.21/1.71        ( ( member @ ( product_prod @ ( list @ A ) @ ( list @ B ) ) @ ( product_Pair @ ( list @ A ) @ ( list @ B ) @ ( nil @ A ) @ Xs2 ) @ ( listrel @ A @ B @ R ) )
% 3.21/1.71       => ( Xs2
% 3.21/1.71          = ( nil @ B ) ) ) ).
% 3.21/1.71  
% 3.21/1.71  thf(fact_145_listrel_ONil,axiom,
% 3.21/1.71      ! [B: $tType,A: $tType,R: set @ ( product_prod @ A @ B )] : ( member @ ( product_prod @ ( list @ A ) @ ( list @ B ) ) @ ( product_Pair @ ( list @ A ) @ ( list @ B ) @ ( nil @ A ) @ ( nil @ B ) ) @ ( listrel @ A @ B @ R ) ) ).
% 3.21/1.71  
% 3.21/1.71  thf(fact_146_listrel__rtrancl__trans,axiom,
% 3.21/1.71      ! [A: $tType,Xs2: list @ A,Ys2: list @ A,R: set @ ( product_prod @ A @ A ),Zs2: list @ A] :
% 3.21/1.71        ( ( member @ ( product_prod @ ( list @ A ) @ ( list @ A ) ) @ ( product_Pair @ ( list @ A ) @ ( list @ A ) @ Xs2 @ Ys2 ) @ ( listrel @ A @ A @ ( transitive_rtrancl @ A @ R ) ) )
% 3.21/1.71       => ( ( member @ ( product_prod @ ( list @ A ) @ ( list @ A ) ) @ ( product_Pair @ ( list @ A ) @ ( list @ A ) @ Ys2 @ Zs2 ) @ ( listrel @ A @ A @ ( transitive_rtrancl @ A @ R ) ) )
% 3.21/1.71         => ( member @ ( product_prod @ ( list @ A ) @ ( list @ A ) ) @ ( product_Pair @ ( list @ A ) @ ( list @ A ) @ Xs2 @ Zs2 ) @ ( listrel @ A @ A @ ( transitive_rtrancl @ A @ R ) ) ) ) ) ).
% 3.21/1.71  
% 3.21/1.71  thf(fact_147_listrel_OCons,axiom,
% 3.21/1.71      ! [B: $tType,A: $tType,X: A,Y: B,R: set @ ( product_prod @ A @ B ),Xs2: list @ A,Ys2: list @ B] :
% 3.21/1.71        ( ( member @ ( product_prod @ A @ B ) @ ( product_Pair @ A @ B @ X @ Y ) @ R )
% 3.21/1.71       => ( ( member @ ( product_prod @ ( list @ A ) @ ( list @ B ) ) @ ( product_Pair @ ( list @ A ) @ ( list @ B ) @ Xs2 @ Ys2 ) @ ( listrel @ A @ B @ R ) )
% 3.21/1.71         => ( member @ ( product_prod @ ( list @ A ) @ ( list @ B ) ) @ ( product_Pair @ ( list @ A ) @ ( list @ B ) @ ( cons @ A @ X @ Xs2 ) @ ( cons @ B @ Y @ Ys2 ) ) @ ( listrel @ A @ B @ R ) ) ) ) ).
% 3.21/1.71  
% 3.21/1.71  thf(fact_148_listrel__Cons1,axiom,
% 3.21/1.71      ! [B: $tType,A: $tType,Y: A,Ys2: list @ A,Xs2: list @ B,R: set @ ( product_prod @ A @ B )] :
% 3.21/1.71        ( ( member @ ( product_prod @ ( list @ A ) @ ( list @ B ) ) @ ( product_Pair @ ( list @ A ) @ ( list @ B ) @ ( cons @ A @ Y @ Ys2 ) @ Xs2 ) @ ( listrel @ A @ B @ R ) )
% 3.21/1.71       => ~ ! [Y3: B,Ys: list @ B] :
% 3.21/1.71              ( ( Xs2
% 3.21/1.71                = ( cons @ B @ Y3 @ Ys ) )
% 3.21/1.71             => ( ( member @ ( product_prod @ A @ B ) @ ( product_Pair @ A @ B @ Y @ Y3 ) @ R )
% 3.21/1.71               => ~ ( member @ ( product_prod @ ( list @ A ) @ ( list @ B ) ) @ ( product_Pair @ ( list @ A ) @ ( list @ B ) @ Ys2 @ Ys ) @ ( listrel @ A @ B @ R ) ) ) ) ) ).
% 3.21/1.71  
% 3.21/1.71  thf(fact_149_listrel__Cons2,axiom,
% 3.21/1.71      ! [B: $tType,A: $tType,Xs2: list @ A,Y: B,Ys2: list @ B,R: set @ ( product_prod @ A @ B )] :
% 3.21/1.71        ( ( member @ ( product_prod @ ( list @ A ) @ ( list @ B ) ) @ ( product_Pair @ ( list @ A ) @ ( list @ B ) @ Xs2 @ ( cons @ B @ Y @ Ys2 ) ) @ ( listrel @ A @ B @ R ) )
% 3.21/1.71       => ~ ! [X3: A,Xs: list @ A] :
% 3.21/1.71              ( ( Xs2
% 3.21/1.71                = ( cons @ A @ X3 @ Xs ) )
% 3.21/1.71             => ( ( member @ ( product_prod @ A @ B ) @ ( product_Pair @ A @ B @ X3 @ Y ) @ R )
% 3.21/1.71               => ~ ( member @ ( product_prod @ ( list @ A ) @ ( list @ B ) ) @ ( product_Pair @ ( list @ A ) @ ( list @ B ) @ Xs @ Ys2 ) @ ( listrel @ A @ B @ R ) ) ) ) ) ).
% 3.21/1.71  
% 3.21/1.71  thf(fact_150_app__exec,axiom,
% 3.21/1.71      ! [Cs2: list @ com,S: state,Cs: list @ com,S2: state,Cs22: list @ com] :
% 3.21/1.71        ( ( member @ ( product_prod @ ( product_prod @ ( list @ com ) @ state ) @ ( product_prod @ ( list @ com ) @ state ) ) @ ( product_Pair @ ( product_prod @ ( list @ com ) @ state ) @ ( product_prod @ ( list @ com ) @ state ) @ ( product_Pair @ ( list @ com ) @ state @ Cs2 @ S ) @ ( product_Pair @ ( list @ com ) @ state @ Cs @ S2 ) ) @ pHoare1053570893_exec1 )
% 3.21/1.71       => ( member @ ( product_prod @ ( product_prod @ ( list @ com ) @ state ) @ ( product_prod @ ( list @ com ) @ state ) ) @ ( product_Pair @ ( product_prod @ ( list @ com ) @ state ) @ ( product_prod @ ( list @ com ) @ state ) @ ( product_Pair @ ( list @ com ) @ state @ ( append @ com @ Cs2 @ Cs22 ) @ S ) @ ( product_Pair @ ( list @ com ) @ state @ ( append @ com @ Cs @ Cs22 ) @ S2 ) ) @ pHoare1053570893_exec1 ) ) ).
% 3.21/1.71  
% 3.21/1.71  thf(fact_151_listrel_Ocases,axiom,
% 3.21/1.71      ! [B: $tType,A: $tType,A1: list @ A,A22: list @ B,R: set @ ( product_prod @ A @ B )] :
% 3.21/1.71        ( ( member @ ( product_prod @ ( list @ A ) @ ( list @ B ) ) @ ( product_Pair @ ( list @ A ) @ ( list @ B ) @ A1 @ A22 ) @ ( listrel @ A @ B @ R ) )
% 3.21/1.71       => ( ( ( A1
% 3.21/1.71              = ( nil @ A ) )
% 3.21/1.71           => ( A22
% 3.21/1.71             != ( nil @ B ) ) )
% 3.21/1.71         => ~ ! [X3: A,Y3: B,Xs: list @ A] :
% 3.21/1.71                ( ( A1
% 3.21/1.71                  = ( cons @ A @ X3 @ Xs ) )
% 3.21/1.71               => ! [Ys: list @ B] :
% 3.21/1.71                    ( ( A22
% 3.21/1.71                      = ( cons @ B @ Y3 @ Ys ) )
% 3.21/1.71                   => ( ( member @ ( product_prod @ A @ B ) @ ( product_Pair @ A @ B @ X3 @ Y3 ) @ R )
% 3.21/1.71                     => ~ ( member @ ( product_prod @ ( list @ A ) @ ( list @ B ) ) @ ( product_Pair @ ( list @ A ) @ ( list @ B ) @ Xs @ Ys ) @ ( listrel @ A @ B @ R ) ) ) ) ) ) ) ).
% 3.21/1.71  
% 3.21/1.71  thf(fact_152_listrel_Osimps,axiom,
% 3.21/1.71      ! [B: $tType,A: $tType,A1: list @ A,A22: list @ B,R: set @ ( product_prod @ A @ B )] :
% 3.21/1.71        ( ( member @ ( product_prod @ ( list @ A ) @ ( list @ B ) ) @ ( product_Pair @ ( list @ A ) @ ( list @ B ) @ A1 @ A22 ) @ ( listrel @ A @ B @ R ) )
% 3.21/1.71        = ( ( ( A1
% 3.21/1.71              = ( nil @ A ) )
% 3.21/1.71            & ( A22
% 3.21/1.71              = ( nil @ B ) ) )
% 3.21/1.71          | ? [X4: A,Y4: B,Xs3: list @ A,Ys3: list @ B] :
% 3.21/1.71              ( ( A1
% 3.21/1.71                = ( cons @ A @ X4 @ Xs3 ) )
% 3.21/1.71              & ( A22
% 3.21/1.71                = ( cons @ B @ Y4 @ Ys3 ) )
% 3.21/1.71              & ( member @ ( product_prod @ A @ B ) @ ( product_Pair @ A @ B @ X4 @ Y4 ) @ R )
% 3.21/1.71              & ( member @ ( product_prod @ ( list @ A ) @ ( list @ B ) ) @ ( product_Pair @ ( list @ A ) @ ( list @ B ) @ Xs3 @ Ys3 ) @ ( listrel @ A @ B @ R ) ) ) ) ) ).
% 3.21/1.71  
% 3.21/1.71  thf(fact_153_bind__simps_I2_J,axiom,
% 3.21/1.71      ! [A: $tType,B: $tType,X: B,Xs2: list @ B,F3: B > ( list @ A )] :
% 3.21/1.71        ( ( bind @ B @ A @ ( cons @ B @ X @ Xs2 ) @ F3 )
% 3.21/1.71        = ( append @ A @ ( F3 @ X ) @ ( bind @ B @ A @ Xs2 @ F3 ) ) ) ).
% 3.21/1.71  
% 3.21/1.71  thf(fact_154_snoc__listrel1__snoc__iff,axiom,
% 3.21/1.71      ! [A: $tType,Xs2: list @ A,X: A,Ys2: list @ A,Y: A,R: set @ ( product_prod @ A @ A )] :
% 3.21/1.71        ( ( member @ ( product_prod @ ( list @ A ) @ ( list @ A ) ) @ ( product_Pair @ ( list @ A ) @ ( list @ A ) @ ( append @ A @ Xs2 @ ( cons @ A @ X @ ( nil @ A ) ) ) @ ( append @ A @ Ys2 @ ( cons @ A @ Y @ ( nil @ A ) ) ) ) @ ( listrel1 @ A @ R ) )
% 3.21/1.71        = ( ( ( member @ ( product_prod @ ( list @ A ) @ ( list @ A ) ) @ ( product_Pair @ ( list @ A ) @ ( list @ A ) @ Xs2 @ Ys2 ) @ ( listrel1 @ A @ R ) )
% 3.21/1.71            & ( X = Y ) )
% 3.21/1.71          | ( ( Xs2 = Ys2 )
% 3.21/1.71            & ( member @ ( product_prod @ A @ A ) @ ( product_Pair @ A @ A @ X @ Y ) @ R ) ) ) ) ).
% 3.21/1.71  
% 3.21/1.71  thf(fact_155_maps__simps_I1_J,axiom,
% 3.21/1.71      ! [A: $tType,B: $tType,F3: B > ( list @ A ),X: B,Xs2: list @ B] :
% 3.21/1.71        ( ( maps @ B @ A @ F3 @ ( cons @ B @ X @ Xs2 ) )
% 3.21/1.71        = ( append @ A @ ( F3 @ X ) @ ( maps @ B @ A @ F3 @ Xs2 ) ) ) ).
% 3.21/1.71  
% 3.21/1.71  thf(fact_156_concat__eq__append__conv,axiom,
% 3.21/1.71      ! [A: $tType,Xss2: list @ ( list @ A ),Ys2: list @ A,Zs2: list @ A] :
% 3.21/1.71        ( ( ( concat @ A @ Xss2 )
% 3.21/1.71          = ( append @ A @ Ys2 @ Zs2 ) )
% 3.21/1.71        = ( ( ( Xss2
% 3.21/1.71              = ( nil @ ( list @ A ) ) )
% 3.21/1.71           => ( ( Ys2
% 3.21/1.71                = ( nil @ A ) )
% 3.21/1.71              & ( Zs2
% 3.21/1.71                = ( nil @ A ) ) ) )
% 3.21/1.71          & ( ( Xss2
% 3.21/1.71             != ( nil @ ( list @ A ) ) )
% 3.21/1.71           => ? [Xss1: list @ ( list @ A ),Xs3: list @ A,Xs4: list @ A,Xss22: list @ ( list @ A )] :
% 3.21/1.71                ( ( Xss2
% 3.21/1.71                  = ( append @ ( list @ A ) @ Xss1 @ ( cons @ ( list @ A ) @ ( append @ A @ Xs3 @ Xs4 ) @ Xss22 ) ) )
% 3.21/1.71                & ( Ys2
% 3.21/1.71                  = ( append @ A @ ( concat @ A @ Xss1 ) @ Xs3 ) )
% 3.21/1.71                & ( Zs2
% 3.21/1.71                  = ( append @ A @ Xs4 @ ( concat @ A @ Xss22 ) ) ) ) ) ) ) ).
% 3.21/1.71  
% 3.21/1.71  thf(fact_157_bind__simps_I1_J,axiom,
% 3.21/1.71      ! [B: $tType,A: $tType,F3: B > ( list @ A )] :
% 3.21/1.71        ( ( bind @ B @ A @ ( nil @ B ) @ F3 )
% 3.21/1.71        = ( nil @ A ) ) ).
% 3.21/1.71  
% 3.21/1.71  thf(fact_158_concat__append,axiom,
% 3.21/1.71      ! [A: $tType,Xs2: list @ ( list @ A ),Ys2: list @ ( list @ A )] :
% 3.21/1.71        ( ( concat @ A @ ( append @ ( list @ A ) @ Xs2 @ Ys2 ) )
% 3.21/1.71        = ( append @ A @ ( concat @ A @ Xs2 ) @ ( concat @ A @ Ys2 ) ) ) ).
% 3.21/1.71  
% 3.21/1.71  thf(fact_159_Cons__listrel1__Cons,axiom,
% 3.21/1.71      ! [A: $tType,X: A,Xs2: list @ A,Y: A,Ys2: list @ A,R: set @ ( product_prod @ A @ A )] :
% 3.21/1.71        ( ( member @ ( product_prod @ ( list @ A ) @ ( list @ A ) ) @ ( product_Pair @ ( list @ A ) @ ( list @ A ) @ ( cons @ A @ X @ Xs2 ) @ ( cons @ A @ Y @ Ys2 ) ) @ ( listrel1 @ A @ R ) )
% 3.21/1.71        = ( ( ( member @ ( product_prod @ A @ A ) @ ( product_Pair @ A @ A @ X @ Y ) @ R )
% 3.21/1.71            & ( Xs2 = Ys2 ) )
% 3.21/1.71          | ( ( X = Y )
% 3.21/1.71            & ( member @ ( product_prod @ ( list @ A ) @ ( list @ A ) ) @ ( product_Pair @ ( list @ A ) @ ( list @ A ) @ Xs2 @ Ys2 ) @ ( listrel1 @ A @ R ) ) ) ) ) ).
% 3.21/1.71  
% 3.21/1.71  thf(fact_160_listrel1I2,axiom,
% 3.21/1.71      ! [A: $tType,Xs2: list @ A,Ys2: list @ A,R: set @ ( product_prod @ A @ A ),X: A] :
% 3.21/1.71        ( ( member @ ( product_prod @ ( list @ A ) @ ( list @ A ) ) @ ( product_Pair @ ( list @ A ) @ ( list @ A ) @ Xs2 @ Ys2 ) @ ( listrel1 @ A @ R ) )
% 3.21/1.71       => ( member @ ( product_prod @ ( list @ A ) @ ( list @ A ) ) @ ( product_Pair @ ( list @ A ) @ ( list @ A ) @ ( cons @ A @ X @ Xs2 ) @ ( cons @ A @ X @ Ys2 ) ) @ ( listrel1 @ A @ R ) ) ) ).
% 3.21/1.71  
% 3.21/1.71  thf(fact_161_rtrancl__listrel1__ConsI1,axiom,
% 3.21/1.71      ! [A: $tType,Xs2: list @ A,Ys2: list @ A,R: set @ ( product_prod @ A @ A ),X: A] :
% 3.21/1.71        ( ( member @ ( product_prod @ ( list @ A ) @ ( list @ A ) ) @ ( product_Pair @ ( list @ A ) @ ( list @ A ) @ Xs2 @ Ys2 ) @ ( transitive_rtrancl @ ( list @ A ) @ ( listrel1 @ A @ R ) ) )
% 3.21/1.71       => ( member @ ( product_prod @ ( list @ A ) @ ( list @ A ) ) @ ( product_Pair @ ( list @ A ) @ ( list @ A ) @ ( cons @ A @ X @ Xs2 ) @ ( cons @ A @ X @ Ys2 ) ) @ ( transitive_rtrancl @ ( list @ A ) @ ( listrel1 @ A @ R ) ) ) ) ).
% 3.21/1.71  
% 3.21/1.71  thf(fact_162_not__Nil__listrel1,axiom,
% 3.21/1.71      ! [A: $tType,Xs2: list @ A,R: set @ ( product_prod @ A @ A )] :
% 3.21/1.71        ~ ( member @ ( product_prod @ ( list @ A ) @ ( list @ A ) ) @ ( product_Pair @ ( list @ A ) @ ( list @ A ) @ ( nil @ A ) @ Xs2 ) @ ( listrel1 @ A @ R ) ) ).
% 3.21/1.71  
% 3.21/1.71  thf(fact_163_not__listrel1__Nil,axiom,
% 3.21/1.71      ! [A: $tType,Xs2: list @ A,R: set @ ( product_prod @ A @ A )] :
% 3.21/1.71        ~ ( member @ ( product_prod @ ( list @ A ) @ ( list @ A ) ) @ ( product_Pair @ ( list @ A ) @ ( list @ A ) @ Xs2 @ ( nil @ A ) ) @ ( listrel1 @ A @ R ) ) ).
% 3.21/1.71  
% 3.21/1.71  thf(fact_164_append__listrel1I,axiom,
% 3.21/1.71      ! [A: $tType,Xs2: list @ A,Ys2: list @ A,R: set @ ( product_prod @ A @ A ),Us: list @ A,Vs: list @ A] :
% 3.21/1.71        ( ( ( ( member @ ( product_prod @ ( list @ A ) @ ( list @ A ) ) @ ( product_Pair @ ( list @ A ) @ ( list @ A ) @ Xs2 @ Ys2 ) @ ( listrel1 @ A @ R ) )
% 3.21/1.71            & ( Us = Vs ) )
% 3.21/1.71          | ( ( Xs2 = Ys2 )
% 3.21/1.71            & ( member @ ( product_prod @ ( list @ A ) @ ( list @ A ) ) @ ( product_Pair @ ( list @ A ) @ ( list @ A ) @ Us @ Vs ) @ ( listrel1 @ A @ R ) ) ) )
% 3.21/1.71       => ( member @ ( product_prod @ ( list @ A ) @ ( list @ A ) ) @ ( product_Pair @ ( list @ A ) @ ( list @ A ) @ ( append @ A @ Xs2 @ Us ) @ ( append @ A @ Ys2 @ Vs ) ) @ ( listrel1 @ A @ R ) ) ) ).
% 3.21/1.71  
% 3.21/1.71  thf(fact_165_concat_Osimps_I1_J,axiom,
% 3.21/1.71      ! [A: $tType] :
% 3.21/1.71        ( ( concat @ A @ ( nil @ ( list @ A ) ) )
% 3.21/1.71        = ( nil @ A ) ) ).
% 3.21/1.71  
% 3.21/1.71  thf(fact_166_concat_Osimps_I2_J,axiom,
% 3.21/1.71      ! [A: $tType,X: list @ A,Xs2: list @ ( list @ A )] :
% 3.21/1.71        ( ( concat @ A @ ( cons @ ( list @ A ) @ X @ Xs2 ) )
% 3.21/1.71        = ( append @ A @ X @ ( concat @ A @ Xs2 ) ) ) ).
% 3.21/1.71  
% 3.21/1.71  thf(fact_167_listrel__rtrancl__eq__rtrancl__listrel1,axiom,
% 3.21/1.71      ! [A: $tType,R: set @ ( product_prod @ A @ A )] :
% 3.21/1.71        ( ( listrel @ A @ A @ ( transitive_rtrancl @ A @ R ) )
% 3.21/1.71        = ( transitive_rtrancl @ ( list @ A ) @ ( listrel1 @ A @ R ) ) ) ).
% 3.21/1.71  
% 3.21/1.71  thf(fact_168_rtrancl__listrel1__if__listrel,axiom,
% 3.21/1.71      ! [A: $tType,Xs2: list @ A,Ys2: list @ A,R: set @ ( product_prod @ A @ A )] :
% 3.21/1.71        ( ( member @ ( product_prod @ ( list @ A ) @ ( list @ A ) ) @ ( product_Pair @ ( list @ A ) @ ( list @ A ) @ Xs2 @ Ys2 ) @ ( listrel @ A @ A @ R ) )
% 3.21/1.71       => ( member @ ( product_prod @ ( list @ A ) @ ( list @ A ) ) @ ( product_Pair @ ( list @ A ) @ ( list @ A ) @ Xs2 @ Ys2 ) @ ( transitive_rtrancl @ ( list @ A ) @ ( listrel1 @ A @ R ) ) ) ) ).
% 3.21/1.71  
% 3.21/1.71  thf(fact_169_maps__simps_I2_J,axiom,
% 3.21/1.71      ! [B: $tType,A: $tType,F3: B > ( list @ A )] :
% 3.21/1.71        ( ( maps @ B @ A @ F3 @ ( nil @ B ) )
% 3.21/1.71        = ( nil @ A ) ) ).
% 3.21/1.71  
% 3.21/1.71  thf(fact_170_Cons__listrel1E2,axiom,
% 3.21/1.71      ! [A: $tType,Xs2: list @ A,Y: A,Ys2: list @ A,R: set @ ( product_prod @ A @ A )] :
% 3.21/1.71        ( ( member @ ( product_prod @ ( list @ A ) @ ( list @ A ) ) @ ( product_Pair @ ( list @ A ) @ ( list @ A ) @ Xs2 @ ( cons @ A @ Y @ Ys2 ) ) @ ( listrel1 @ A @ R ) )
% 3.21/1.71       => ( ! [X3: A] :
% 3.21/1.71              ( ( Xs2
% 3.21/1.71                = ( cons @ A @ X3 @ Ys2 ) )
% 3.21/1.71             => ~ ( member @ ( product_prod @ A @ A ) @ ( product_Pair @ A @ A @ X3 @ Y ) @ R ) )
% 3.21/1.71         => ~ ! [Zs: list @ A] :
% 3.21/1.71                ( ( Xs2
% 3.21/1.71                  = ( cons @ A @ Y @ Zs ) )
% 3.21/1.71               => ~ ( member @ ( product_prod @ ( list @ A ) @ ( list @ A ) ) @ ( product_Pair @ ( list @ A ) @ ( list @ A ) @ Zs @ Ys2 ) @ ( listrel1 @ A @ R ) ) ) ) ) ).
% 3.21/1.71  
% 3.21/1.71  thf(fact_171_Cons__listrel1E1,axiom,
% 3.21/1.71      ! [A: $tType,X: A,Xs2: list @ A,Ys2: list @ A,R: set @ ( product_prod @ A @ A )] :
% 3.21/1.71        ( ( member @ ( product_prod @ ( list @ A ) @ ( list @ A ) ) @ ( product_Pair @ ( list @ A ) @ ( list @ A ) @ ( cons @ A @ X @ Xs2 ) @ Ys2 ) @ ( listrel1 @ A @ R ) )
% 3.21/1.71       => ( ! [Y3: A] :
% 3.21/1.71              ( ( Ys2
% 3.21/1.71                = ( cons @ A @ Y3 @ Xs2 ) )
% 3.21/1.71             => ~ ( member @ ( product_prod @ A @ A ) @ ( product_Pair @ A @ A @ X @ Y3 ) @ R ) )
% 3.21/1.71         => ~ ! [Zs: list @ A] :
% 3.21/1.71                ( ( Ys2
% 3.21/1.71                  = ( cons @ A @ X @ Zs ) )
% 3.21/1.71               => ~ ( member @ ( product_prod @ ( list @ A ) @ ( list @ A ) ) @ ( product_Pair @ ( list @ A ) @ ( list @ A ) @ Xs2 @ Zs ) @ ( listrel1 @ A @ R ) ) ) ) ) ).
% 3.21/1.71  
% 3.21/1.71  thf(fact_172_listrel1I1,axiom,
% 3.21/1.71      ! [A: $tType,X: A,Y: A,R: set @ ( product_prod @ A @ A ),Xs2: list @ A] :
% 3.21/1.71        ( ( member @ ( product_prod @ A @ A ) @ ( product_Pair @ A @ A @ X @ Y ) @ R )
% 3.21/1.71       => ( member @ ( product_prod @ ( list @ A ) @ ( list @ A ) ) @ ( product_Pair @ ( list @ A ) @ ( list @ A ) @ ( cons @ A @ X @ Xs2 ) @ ( cons @ A @ Y @ Xs2 ) ) @ ( listrel1 @ A @ R ) ) ) ).
% 3.21/1.71  
% 3.21/1.71  thf(fact_173_listrel__reflcl__if__listrel1,axiom,
% 3.21/1.71      ! [A: $tType,Xs2: list @ A,Ys2: list @ A,R: set @ ( product_prod @ A @ A )] :
% 3.21/1.71        ( ( member @ ( product_prod @ ( list @ A ) @ ( list @ A ) ) @ ( product_Pair @ ( list @ A ) @ ( list @ A ) @ Xs2 @ Ys2 ) @ ( listrel1 @ A @ R ) )
% 3.21/1.71       => ( member @ ( product_prod @ ( list @ A ) @ ( list @ A ) ) @ ( product_Pair @ ( list @ A ) @ ( list @ A ) @ Xs2 @ Ys2 ) @ ( listrel @ A @ A @ ( transitive_rtrancl @ A @ R ) ) ) ) ).
% 3.21/1.71  
% 3.21/1.71  thf(fact_174_concat__eq__appendD,axiom,
% 3.21/1.71      ! [A: $tType,Xss2: list @ ( list @ A ),Ys2: list @ A,Zs2: list @ A] :
% 3.21/1.71        ( ( ( concat @ A @ Xss2 )
% 3.21/1.71          = ( append @ A @ Ys2 @ Zs2 ) )
% 3.21/1.71       => ( ( Xss2
% 3.21/1.71           != ( nil @ ( list @ A ) ) )
% 3.21/1.71         => ? [Xss12: list @ ( list @ A ),Xs: list @ A,Xs5: list @ A,Xss23: list @ ( list @ A )] :
% 3.21/1.71              ( ( Xss2
% 3.21/1.71                = ( append @ ( list @ A ) @ Xss12 @ ( cons @ ( list @ A ) @ ( append @ A @ Xs @ Xs5 ) @ Xss23 ) ) )
% 3.21/1.71              & ( Ys2
% 3.21/1.71                = ( append @ A @ ( concat @ A @ Xss12 ) @ Xs ) )
% 3.21/1.71              & ( Zs2
% 3.21/1.71                = ( append @ A @ Xs5 @ ( concat @ A @ Xss23 ) ) ) ) ) ) ).
% 3.21/1.71  
% 3.21/1.71  thf(fact_175_listrel1I,axiom,
% 3.21/1.71      ! [A: $tType,X: A,Y: A,R: set @ ( product_prod @ A @ A ),Xs2: list @ A,Us: list @ A,Vs: list @ A,Ys2: list @ A] :
% 3.21/1.71        ( ( member @ ( product_prod @ A @ A ) @ ( product_Pair @ A @ A @ X @ Y ) @ R )
% 3.21/1.71       => ( ( Xs2
% 3.21/1.71            = ( append @ A @ Us @ ( cons @ A @ X @ Vs ) ) )
% 3.21/1.71         => ( ( Ys2
% 3.21/1.71              = ( append @ A @ Us @ ( cons @ A @ Y @ Vs ) ) )
% 3.21/1.71           => ( member @ ( product_prod @ ( list @ A ) @ ( list @ A ) ) @ ( product_Pair @ ( list @ A ) @ ( list @ A ) @ Xs2 @ Ys2 ) @ ( listrel1 @ A @ R ) ) ) ) ) ).
% 3.21/1.71  
% 3.21/1.71  thf(fact_176_listrel1E,axiom,
% 3.21/1.71      ! [A: $tType,Xs2: list @ A,Ys2: list @ A,R: set @ ( product_prod @ A @ A )] :
% 3.21/1.71        ( ( member @ ( product_prod @ ( list @ A ) @ ( list @ A ) ) @ ( product_Pair @ ( list @ A ) @ ( list @ A ) @ Xs2 @ Ys2 ) @ ( listrel1 @ A @ R ) )
% 3.21/1.71       => ~ ! [X3: A,Y3: A] :
% 3.21/1.71              ( ( member @ ( product_prod @ A @ A ) @ ( product_Pair @ A @ A @ X3 @ Y3 ) @ R )
% 3.21/1.71             => ! [Us3: list @ A,Vs2: list @ A] :
% 3.21/1.71                  ( ( Xs2
% 3.21/1.71                    = ( append @ A @ Us3 @ ( cons @ A @ X3 @ Vs2 ) ) )
% 3.21/1.71                 => ( Ys2
% 3.21/1.71                   != ( append @ A @ Us3 @ ( cons @ A @ Y3 @ Vs2 ) ) ) ) ) ) ).
% 3.21/1.71  
% 3.21/1.71  thf(fact_177_rtrancl__listrel1__ConsI2,axiom,
% 3.21/1.71      ! [A: $tType,X: A,Y: A,R: set @ ( product_prod @ A @ A ),Xs2: list @ A,Ys2: list @ A] :
% 3.21/1.71        ( ( member @ ( product_prod @ A @ A ) @ ( product_Pair @ A @ A @ X @ Y ) @ ( transitive_rtrancl @ A @ R ) )
% 3.21/1.71       => ( ( member @ ( product_prod @ ( list @ A ) @ ( list @ A ) ) @ ( product_Pair @ ( list @ A ) @ ( list @ A ) @ Xs2 @ Ys2 ) @ ( transitive_rtrancl @ ( list @ A ) @ ( listrel1 @ A @ R ) ) )
% 3.21/1.71         => ( member @ ( product_prod @ ( list @ A ) @ ( list @ A ) ) @ ( product_Pair @ ( list @ A ) @ ( list @ A ) @ ( cons @ A @ X @ Xs2 ) @ ( cons @ A @ Y @ Ys2 ) ) @ ( transitive_rtrancl @ ( list @ A ) @ ( listrel1 @ A @ R ) ) ) ) ) ).
% 3.21/1.71  
% 3.21/1.71  thf(fact_178_lexord__append__left__rightI,axiom,
% 3.21/1.71      ! [A: $tType,A3: A,B3: A,R: set @ ( product_prod @ A @ A ),U: list @ A,X: list @ A,Y: list @ A] :
% 3.21/1.71        ( ( member @ ( product_prod @ A @ A ) @ ( product_Pair @ A @ A @ A3 @ B3 ) @ R )
% 3.21/1.71       => ( member @ ( product_prod @ ( list @ A ) @ ( list @ A ) ) @ ( product_Pair @ ( list @ A ) @ ( list @ A ) @ ( append @ A @ U @ ( cons @ A @ A3 @ X ) ) @ ( append @ A @ U @ ( cons @ A @ B3 @ Y ) ) ) @ ( lexord @ A @ R ) ) ) ).
% 3.21/1.71  
% 3.21/1.71  thf(fact_179_rotate1_Osimps_I2_J,axiom,
% 3.21/1.71      ! [A: $tType,X: A,Xs2: list @ A] :
% 3.21/1.71        ( ( rotate1 @ A @ ( cons @ A @ X @ Xs2 ) )
% 3.21/1.71        = ( append @ A @ Xs2 @ ( cons @ A @ X @ ( nil @ A ) ) ) ) ).
% 3.21/1.71  
% 3.21/1.71  thf(fact_180_butlast__snoc,axiom,
% 3.21/1.71      ! [A: $tType,Xs2: list @ A,X: A] :
% 3.21/1.71        ( ( butlast @ A @ ( append @ A @ Xs2 @ ( cons @ A @ X @ ( nil @ A ) ) ) )
% 3.21/1.71        = Xs2 ) ).
% 3.21/1.71  
% 3.21/1.71  thf(fact_181_rotate1__is__Nil__conv,axiom,
% 3.21/1.71      ! [A: $tType,Xs2: list @ A] :
% 3.21/1.71        ( ( ( rotate1 @ A @ Xs2 )
% 3.21/1.71          = ( nil @ A ) )
% 3.21/1.71        = ( Xs2
% 3.21/1.71          = ( nil @ A ) ) ) ).
% 3.21/1.71  
% 3.21/1.71  thf(fact_182_lexord__cons__cons,axiom,
% 3.21/1.71      ! [A: $tType,A3: A,X: list @ A,B3: A,Y: list @ A,R: set @ ( product_prod @ A @ A )] :
% 3.21/1.71        ( ( member @ ( product_prod @ ( list @ A ) @ ( list @ A ) ) @ ( product_Pair @ ( list @ A ) @ ( list @ A ) @ ( cons @ A @ A3 @ X ) @ ( cons @ A @ B3 @ Y ) ) @ ( lexord @ A @ R ) )
% 3.21/1.71        = ( ( member @ ( product_prod @ A @ A ) @ ( product_Pair @ A @ A @ A3 @ B3 ) @ R )
% 3.21/1.71          | ( ( A3 = B3 )
% 3.21/1.71            & ( member @ ( product_prod @ ( list @ A ) @ ( list @ A ) ) @ ( product_Pair @ ( list @ A ) @ ( list @ A ) @ X @ Y ) @ ( lexord @ A @ R ) ) ) ) ) ).
% 3.21/1.71  
% 3.21/1.71  thf(fact_183_lexord__Nil__left,axiom,
% 3.21/1.71      ! [A: $tType,Y: list @ A,R: set @ ( product_prod @ A @ A )] :
% 3.21/1.71        ( ( member @ ( product_prod @ ( list @ A ) @ ( list @ A ) ) @ ( product_Pair @ ( list @ A ) @ ( list @ A ) @ ( nil @ A ) @ Y ) @ ( lexord @ A @ R ) )
% 3.21/1.71        = ( ? [A6: A,X4: list @ A] :
% 3.21/1.71              ( Y
% 3.21/1.71              = ( cons @ A @ A6 @ X4 ) ) ) ) ).
% 3.21/1.71  
% 3.21/1.71  thf(fact_184_butlast_Osimps_I1_J,axiom,
% 3.21/1.71      ! [A: $tType] :
% 3.21/1.71        ( ( butlast @ A @ ( nil @ A ) )
% 3.21/1.71        = ( nil @ A ) ) ).
% 3.21/1.71  
% 3.21/1.71  thf(fact_185_rotate1_Osimps_I1_J,axiom,
% 3.21/1.71      ! [A: $tType] :
% 3.21/1.71        ( ( rotate1 @ A @ ( nil @ A ) )
% 3.21/1.71        = ( nil @ A ) ) ).
% 3.21/1.71  
% 3.21/1.71  thf(fact_186_lexord__linear,axiom,
% 3.21/1.71      ! [A: $tType,R: set @ ( product_prod @ A @ A ),X: list @ A,Y: list @ A] :
% 3.21/1.71        ( ! [A2: A,B2: A] :
% 3.21/1.71            ( ( member @ ( product_prod @ A @ A ) @ ( product_Pair @ A @ A @ A2 @ B2 ) @ R )
% 3.21/1.71            | ( A2 = B2 )
% 3.21/1.71            | ( member @ ( product_prod @ A @ A ) @ ( product_Pair @ A @ A @ B2 @ A2 ) @ R ) )
% 3.21/1.71       => ( ( member @ ( product_prod @ ( list @ A ) @ ( list @ A ) ) @ ( product_Pair @ ( list @ A ) @ ( list @ A ) @ X @ Y ) @ ( lexord @ A @ R ) )
% 3.21/1.71          | ( X = Y )
% 3.21/1.71          | ( member @ ( product_prod @ ( list @ A ) @ ( list @ A ) ) @ ( product_Pair @ ( list @ A ) @ ( list @ A ) @ Y @ X ) @ ( lexord @ A @ R ) ) ) ) ).
% 3.21/1.71  
% 3.21/1.71  thf(fact_187_lexord__irreflexive,axiom,
% 3.21/1.71      ! [A: $tType,R: set @ ( product_prod @ A @ A ),Xs2: list @ A] :
% 3.21/1.71        ( ! [X3: A] :
% 3.21/1.71            ~ ( member @ ( product_prod @ A @ A ) @ ( product_Pair @ A @ A @ X3 @ X3 ) @ R )
% 3.21/1.71       => ~ ( member @ ( product_prod @ ( list @ A ) @ ( list @ A ) ) @ ( product_Pair @ ( list @ A ) @ ( list @ A ) @ Xs2 @ Xs2 ) @ ( lexord @ A @ R ) ) ) ).
% 3.21/1.71  
% 3.21/1.71  thf(fact_188_butlast_Osimps_I2_J,axiom,
% 3.21/1.71      ! [A: $tType,Xs2: list @ A,X: A] :
% 3.21/1.71        ( ( ( Xs2
% 3.21/1.71            = ( nil @ A ) )
% 3.21/1.71         => ( ( butlast @ A @ ( cons @ A @ X @ Xs2 ) )
% 3.21/1.71            = ( nil @ A ) ) )
% 3.21/1.71        & ( ( Xs2
% 3.21/1.71           != ( nil @ A ) )
% 3.21/1.71         => ( ( butlast @ A @ ( cons @ A @ X @ Xs2 ) )
% 3.21/1.71            = ( cons @ A @ X @ ( butlast @ A @ Xs2 ) ) ) ) ) ).
% 3.21/1.71  
% 3.21/1.71  thf(fact_189_lexord__Nil__right,axiom,
% 3.21/1.71      ! [A: $tType,X: list @ A,R: set @ ( product_prod @ A @ A )] :
% 3.21/1.71        ~ ( member @ ( product_prod @ ( list @ A ) @ ( list @ A ) ) @ ( product_Pair @ ( list @ A ) @ ( list @ A ) @ X @ ( nil @ A ) ) @ ( lexord @ A @ R ) ) ).
% 3.21/1.71  
% 3.21/1.71  thf(fact_190_butlast__append,axiom,
% 3.21/1.71      ! [A: $tType,Ys2: list @ A,Xs2: list @ A] :
% 3.21/1.71        ( ( ( Ys2
% 3.21/1.71            = ( nil @ A ) )
% 3.21/1.71         => ( ( butlast @ A @ ( append @ A @ Xs2 @ Ys2 ) )
% 3.21/1.71            = ( butlast @ A @ Xs2 ) ) )
% 3.21/1.71        & ( ( Ys2
% 3.21/1.71           != ( nil @ A ) )
% 3.21/1.71         => ( ( butlast @ A @ ( append @ A @ Xs2 @ Ys2 ) )
% 3.21/1.71            = ( append @ A @ Xs2 @ ( butlast @ A @ Ys2 ) ) ) ) ) ).
% 3.21/1.71  
% 3.21/1.71  thf(fact_191_lexord__append__leftI,axiom,
% 3.21/1.71      ! [A: $tType,U: list @ A,V: list @ A,R: set @ ( product_prod @ A @ A ),X: list @ A] :
% 3.21/1.71        ( ( member @ ( product_prod @ ( list @ A ) @ ( list @ A ) ) @ ( product_Pair @ ( list @ A ) @ ( list @ A ) @ U @ V ) @ ( lexord @ A @ R ) )
% 3.21/1.71       => ( member @ ( product_prod @ ( list @ A ) @ ( list @ A ) ) @ ( product_Pair @ ( list @ A ) @ ( list @ A ) @ ( append @ A @ X @ U ) @ ( append @ A @ X @ V ) ) @ ( lexord @ A @ R ) ) ) ).
% 3.21/1.71  
% 3.21/1.71  thf(fact_192_lexord__append__leftD,axiom,
% 3.21/1.71      ! [A: $tType,X: list @ A,U: list @ A,V: list @ A,R: set @ ( product_prod @ A @ A )] :
% 3.21/1.71        ( ( member @ ( product_prod @ ( list @ A ) @ ( list @ A ) ) @ ( product_Pair @ ( list @ A ) @ ( list @ A ) @ ( append @ A @ X @ U ) @ ( append @ A @ X @ V ) ) @ ( lexord @ A @ R ) )
% 3.21/1.71       => ( ! [A2: A] :
% 3.21/1.71              ~ ( member @ ( product_prod @ A @ A ) @ ( product_Pair @ A @ A @ A2 @ A2 ) @ R )
% 3.21/1.71         => ( member @ ( product_prod @ ( list @ A ) @ ( list @ A ) ) @ ( product_Pair @ ( list @ A ) @ ( list @ A ) @ U @ V ) @ ( lexord @ A @ R ) ) ) ) ).
% 3.21/1.71  
% 3.21/1.71  thf(fact_193_lexord__append__rightI,axiom,
% 3.21/1.71      ! [A: $tType,Y: list @ A,X: list @ A,R: set @ ( product_prod @ A @ A )] :
% 3.21/1.71        ( ? [B6: A,Z3: list @ A] :
% 3.21/1.71            ( Y
% 3.21/1.71            = ( cons @ A @ B6 @ Z3 ) )
% 3.21/1.71       => ( member @ ( product_prod @ ( list @ A ) @ ( list @ A ) ) @ ( product_Pair @ ( list @ A ) @ ( list @ A ) @ X @ ( append @ A @ X @ Y ) ) @ ( lexord @ A @ R ) ) ) ).
% 3.21/1.71  
% 3.21/1.71  thf(fact_194_lexord__same__pref__if__irrefl,axiom,
% 3.21/1.71      ! [A: $tType,R: set @ ( product_prod @ A @ A ),Xs2: list @ A,Ys2: list @ A,Zs2: list @ A] :
% 3.21/1.71        ( ( irrefl @ A @ R )
% 3.21/1.71       => ( ( member @ ( product_prod @ ( list @ A ) @ ( list @ A ) ) @ ( product_Pair @ ( list @ A ) @ ( list @ A ) @ ( append @ A @ Xs2 @ Ys2 ) @ ( append @ A @ Xs2 @ Zs2 ) ) @ ( lexord @ A @ R ) )
% 3.21/1.71          = ( member @ ( product_prod @ ( list @ A ) @ ( list @ A ) ) @ ( product_Pair @ ( list @ A ) @ ( list @ A ) @ Ys2 @ Zs2 ) @ ( lexord @ A @ R ) ) ) ) ).
% 3.21/1.71  
% 3.21/1.71  thf(fact_195_append__butlast__last__id,axiom,
% 3.21/1.71      ! [A: $tType,Xs2: list @ A] :
% 3.21/1.71        ( ( Xs2
% 3.21/1.71         != ( nil @ A ) )
% 3.21/1.71       => ( ( append @ A @ ( butlast @ A @ Xs2 ) @ ( cons @ A @ ( last @ A @ Xs2 ) @ ( nil @ A ) ) )
% 3.21/1.71          = Xs2 ) ) ).
% 3.21/1.71  
% 3.21/1.71  thf(fact_196_snoc__eq__iff__butlast,axiom,
% 3.21/1.71      ! [A: $tType,Xs2: list @ A,X: A,Ys2: list @ A] :
% 3.21/1.71        ( ( ( append @ A @ Xs2 @ ( cons @ A @ X @ ( nil @ A ) ) )
% 3.21/1.71          = Ys2 )
% 3.21/1.71        = ( ( Ys2
% 3.21/1.71           != ( nil @ A ) )
% 3.21/1.71          & ( ( butlast @ A @ Ys2 )
% 3.21/1.71            = Xs2 )
% 3.21/1.71          & ( ( last @ A @ Ys2 )
% 3.21/1.71            = X ) ) ) ).
% 3.21/1.71  
% 3.21/1.71  thf(fact_197_last__appendR,axiom,
% 3.21/1.71      ! [A: $tType,Ys2: list @ A,Xs2: list @ A] :
% 3.21/1.71        ( ( Ys2
% 3.21/1.71         != ( nil @ A ) )
% 3.21/1.71       => ( ( last @ A @ ( append @ A @ Xs2 @ Ys2 ) )
% 3.21/1.71          = ( last @ A @ Ys2 ) ) ) ).
% 3.21/1.71  
% 3.21/1.71  thf(fact_198_last__appendL,axiom,
% 3.21/1.71      ! [A: $tType,Ys2: list @ A,Xs2: list @ A] :
% 3.21/1.71        ( ( Ys2
% 3.21/1.71          = ( nil @ A ) )
% 3.21/1.71       => ( ( last @ A @ ( append @ A @ Xs2 @ Ys2 ) )
% 3.21/1.71          = ( last @ A @ Xs2 ) ) ) ).
% 3.21/1.71  
% 3.21/1.71  thf(fact_199_last__snoc,axiom,
% 3.21/1.71      ! [A: $tType,Xs2: list @ A,X: A] :
% 3.21/1.71        ( ( last @ A @ ( append @ A @ Xs2 @ ( cons @ A @ X @ ( nil @ A ) ) ) )
% 3.21/1.71        = X ) ).
% 3.21/1.71  
% 3.21/1.71  thf(fact_200_lexord__irrefl,axiom,
% 3.21/1.71      ! [A: $tType,R2: set @ ( product_prod @ A @ A )] :
% 3.21/1.71        ( ( irrefl @ A @ R2 )
% 3.21/1.71       => ( irrefl @ ( list @ A ) @ ( lexord @ A @ R2 ) ) ) ).
% 3.21/1.71  
% 3.21/1.71  thf(fact_201_last__ConsR,axiom,
% 3.21/1.71      ! [A: $tType,Xs2: list @ A,X: A] :
% 3.21/1.71        ( ( Xs2
% 3.21/1.71         != ( nil @ A ) )
% 3.21/1.71       => ( ( last @ A @ ( cons @ A @ X @ Xs2 ) )
% 3.21/1.71          = ( last @ A @ Xs2 ) ) ) ).
% 3.21/1.71  
% 3.21/1.71  thf(fact_202_last__ConsL,axiom,
% 3.21/1.71      ! [A: $tType,Xs2: list @ A,X: A] :
% 3.21/1.71        ( ( Xs2
% 3.21/1.71          = ( nil @ A ) )
% 3.21/1.71       => ( ( last @ A @ ( cons @ A @ X @ Xs2 ) )
% 3.21/1.71          = X ) ) ).
% 3.21/1.71  
% 3.21/1.71  thf(fact_203_last_Osimps,axiom,
% 3.21/1.71      ! [A: $tType,Xs2: list @ A,X: A] :
% 3.21/1.71        ( ( ( Xs2
% 3.21/1.71            = ( nil @ A ) )
% 3.21/1.71         => ( ( last @ A @ ( cons @ A @ X @ Xs2 ) )
% 3.21/1.71            = X ) )
% 3.21/1.71        & ( ( Xs2
% 3.21/1.71           != ( nil @ A ) )
% 3.21/1.71         => ( ( last @ A @ ( cons @ A @ X @ Xs2 ) )
% 3.21/1.71            = ( last @ A @ Xs2 ) ) ) ) ).
% 3.21/1.71  
% 3.21/1.71  thf(fact_204_longest__common__suffix,axiom,
% 3.21/1.71      ! [A: $tType,Xs2: list @ A,Ys2: list @ A] :
% 3.21/1.71      ? [Ss: list @ A,Xs5: list @ A,Ys5: list @ A] :
% 3.21/1.71        ( ( Xs2
% 3.21/1.71          = ( append @ A @ Xs5 @ Ss ) )
% 3.21/1.71        & ( Ys2
% 3.21/1.71          = ( append @ A @ Ys5 @ Ss ) )
% 3.21/1.71        & ( ( Xs5
% 3.21/1.71            = ( nil @ A ) )
% 3.21/1.71          | ( Ys5
% 3.21/1.71            = ( nil @ A ) )
% 3.21/1.71          | ( ( last @ A @ Xs5 )
% 3.21/1.71           != ( last @ A @ Ys5 ) ) ) ) ).
% 3.21/1.71  
% 3.21/1.71  thf(fact_205_last__append,axiom,
% 3.21/1.71      ! [A: $tType,Ys2: list @ A,Xs2: list @ A] :
% 3.21/1.71        ( ( ( Ys2
% 3.21/1.71            = ( nil @ A ) )
% 3.21/1.71         => ( ( last @ A @ ( append @ A @ Xs2 @ Ys2 ) )
% 3.21/1.71            = ( last @ A @ Xs2 ) ) )
% 3.21/1.71        & ( ( Ys2
% 3.21/1.71           != ( nil @ A ) )
% 3.21/1.71         => ( ( last @ A @ ( append @ A @ Xs2 @ Ys2 ) )
% 3.21/1.71            = ( last @ A @ Ys2 ) ) ) ) ).
% 3.21/1.71  
% 3.21/1.71  thf(fact_206_irreflI,axiom,
% 3.21/1.71      ! [A: $tType,R2: set @ ( product_prod @ A @ A )] :
% 3.21/1.71        ( ! [A2: A] :
% 3.21/1.71            ~ ( member @ ( product_prod @ A @ A ) @ ( product_Pair @ A @ A @ A2 @ A2 ) @ R2 )
% 3.21/1.71       => ( irrefl @ A @ R2 ) ) ).
% 3.21/1.71  
% 3.21/1.71  thf(fact_207_irrefl__def,axiom,
% 3.21/1.71      ! [A: $tType] :
% 3.21/1.71        ( ( irrefl @ A )
% 3.21/1.71        = ( ^ [R3: set @ ( product_prod @ A @ A )] :
% 3.21/1.71            ! [A6: A] :
% 3.21/1.71              ~ ( member @ ( product_prod @ A @ A ) @ ( product_Pair @ A @ A @ A6 @ A6 ) @ R3 ) ) ) ).
% 3.21/1.71  
% 3.21/1.71  thf(fact_208_lenlex__append2,axiom,
% 3.21/1.71      ! [A: $tType,R2: set @ ( product_prod @ A @ A ),Us: list @ A,Xs2: list @ A,Ys2: list @ A] :
% 3.21/1.71        ( ( irrefl @ A @ R2 )
% 3.21/1.71       => ( ( member @ ( product_prod @ ( list @ A ) @ ( list @ A ) ) @ ( product_Pair @ ( list @ A ) @ ( list @ A ) @ ( append @ A @ Us @ Xs2 ) @ ( append @ A @ Us @ Ys2 ) ) @ ( lenlex @ A @ R2 ) )
% 3.21/1.71          = ( member @ ( product_prod @ ( list @ A ) @ ( list @ A ) ) @ ( product_Pair @ ( list @ A ) @ ( list @ A ) @ Xs2 @ Ys2 ) @ ( lenlex @ A @ R2 ) ) ) ) ).
% 3.21/1.71  
% 3.21/1.71  thf(fact_209_irrefl__lex,axiom,
% 3.21/1.71      ! [A: $tType,R: set @ ( product_prod @ A @ A )] :
% 3.21/1.71        ( ( irrefl @ A @ R )
% 3.21/1.71       => ( irrefl @ ( list @ A ) @ ( lex @ A @ R ) ) ) ).
% 3.21/1.71  
% 3.21/1.71  thf(fact_210_Nil__lenlex__iff1,axiom,
% 3.21/1.71      ! [A: $tType,Ns: list @ A,R: set @ ( product_prod @ A @ A )] :
% 3.21/1.71        ( ( member @ ( product_prod @ ( list @ A ) @ ( list @ A ) ) @ ( product_Pair @ ( list @ A ) @ ( list @ A ) @ ( nil @ A ) @ Ns ) @ ( lenlex @ A @ R ) )
% 3.21/1.71        = ( Ns
% 3.21/1.71         != ( nil @ A ) ) ) ).
% 3.21/1.71  
% 3.21/1.71  thf(fact_211_Nil__notin__lex,axiom,
% 3.21/1.71      ! [A: $tType,Ys2: list @ A,R: set @ ( product_prod @ A @ A )] :
% 3.21/1.71        ~ ( member @ ( product_prod @ ( list @ A ) @ ( list @ A ) ) @ ( product_Pair @ ( list @ A ) @ ( list @ A ) @ ( nil @ A ) @ Ys2 ) @ ( lex @ A @ R ) ) ).
% 3.21/1.71  
% 3.21/1.71  thf(fact_212_Nil2__notin__lex,axiom,
% 3.21/1.71      ! [A: $tType,Xs2: list @ A,R: set @ ( product_prod @ A @ A )] :
% 3.21/1.71        ~ ( member @ ( product_prod @ ( list @ A ) @ ( list @ A ) ) @ ( product_Pair @ ( list @ A ) @ ( list @ A ) @ Xs2 @ ( nil @ A ) ) @ ( lex @ A @ R ) ) ).
% 3.21/1.71  
% 3.21/1.71  thf(fact_213_lex__append__leftI,axiom,
% 3.21/1.71      ! [A: $tType,Ys2: list @ A,Zs2: list @ A,R: set @ ( product_prod @ A @ A ),Xs2: list @ A] :
% 3.21/1.71        ( ( member @ ( product_prod @ ( list @ A ) @ ( list @ A ) ) @ ( product_Pair @ ( list @ A ) @ ( list @ A ) @ Ys2 @ Zs2 ) @ ( lex @ A @ R ) )
% 3.21/1.71       => ( member @ ( product_prod @ ( list @ A ) @ ( list @ A ) ) @ ( product_Pair @ ( list @ A ) @ ( list @ A ) @ ( append @ A @ Xs2 @ Ys2 ) @ ( append @ A @ Xs2 @ Zs2 ) ) @ ( lex @ A @ R ) ) ) ).
% 3.21/1.71  
% 3.21/1.71  thf(fact_214_lenlex__irreflexive,axiom,
% 3.21/1.71      ! [A: $tType,R: set @ ( product_prod @ A @ A ),Xs2: list @ A] :
% 3.21/1.71        ( ! [X3: A] :
% 3.21/1.71            ~ ( member @ ( product_prod @ A @ A ) @ ( product_Pair @ A @ A @ X3 @ X3 ) @ R )
% 3.21/1.71       => ~ ( member @ ( product_prod @ ( list @ A ) @ ( list @ A ) ) @ ( product_Pair @ ( list @ A ) @ ( list @ A ) @ Xs2 @ Xs2 ) @ ( lenlex @ A @ R ) ) ) ).
% 3.21/1.71  
% 3.21/1.71  thf(fact_215_Nil__lenlex__iff2,axiom,
% 3.21/1.71      ! [A: $tType,Ns: list @ A,R: set @ ( product_prod @ A @ A )] :
% 3.21/1.71        ~ ( member @ ( product_prod @ ( list @ A ) @ ( list @ A ) ) @ ( product_Pair @ ( list @ A ) @ ( list @ A ) @ Ns @ ( nil @ A ) ) @ ( lenlex @ A @ R ) ) ).
% 3.21/1.71  
% 3.21/1.71  thf(fact_216_lexl__not__refl,axiom,
% 3.21/1.71      ! [A: $tType,R: set @ ( product_prod @ A @ A ),X: list @ A] :
% 3.21/1.71        ( ( irrefl @ A @ R )
% 3.21/1.71       => ~ ( member @ ( product_prod @ ( list @ A ) @ ( list @ A ) ) @ ( product_Pair @ ( list @ A ) @ ( list @ A ) @ X @ X ) @ ( lex @ A @ R ) ) ) ).
% 3.21/1.71  
% 3.21/1.71  thf(fact_217_lex__append__leftD,axiom,
% 3.21/1.71      ! [A: $tType,R: set @ ( product_prod @ A @ A ),Xs2: list @ A,Ys2: list @ A,Zs2: list @ A] :
% 3.21/1.71        ( ! [X3: A] :
% 3.21/1.71            ~ ( member @ ( product_prod @ A @ A ) @ ( product_Pair @ A @ A @ X3 @ X3 ) @ R )
% 3.21/1.71       => ( ( member @ ( product_prod @ ( list @ A ) @ ( list @ A ) ) @ ( product_Pair @ ( list @ A ) @ ( list @ A ) @ ( append @ A @ Xs2 @ Ys2 ) @ ( append @ A @ Xs2 @ Zs2 ) ) @ ( lex @ A @ R ) )
% 3.21/1.71         => ( member @ ( product_prod @ ( list @ A ) @ ( list @ A ) ) @ ( product_Pair @ ( list @ A ) @ ( list @ A ) @ Ys2 @ Zs2 ) @ ( lex @ A @ R ) ) ) ) ).
% 3.21/1.71  
% 3.21/1.71  thf(fact_218_lex__append__left__iff,axiom,
% 3.21/1.71      ! [A: $tType,R: set @ ( product_prod @ A @ A ),Xs2: list @ A,Ys2: list @ A,Zs2: list @ A] :
% 3.21/1.71        ( ! [X3: A] :
% 3.21/1.71            ~ ( member @ ( product_prod @ A @ A ) @ ( product_Pair @ A @ A @ X3 @ X3 ) @ R )
% 3.21/1.71       => ( ( member @ ( product_prod @ ( list @ A ) @ ( list @ A ) ) @ ( product_Pair @ ( list @ A ) @ ( list @ A ) @ ( append @ A @ Xs2 @ Ys2 ) @ ( append @ A @ Xs2 @ Zs2 ) ) @ ( lex @ A @ R ) )
% 3.21/1.71          = ( member @ ( product_prod @ ( list @ A ) @ ( list @ A ) ) @ ( product_Pair @ ( list @ A ) @ ( list @ A ) @ Ys2 @ Zs2 ) @ ( lex @ A @ R ) ) ) ) ).
% 3.21/1.71  
% 3.21/1.71  thf(fact_219_Cons__in__lex,axiom,
% 3.21/1.71      ! [A: $tType,X: A,Xs2: list @ A,Y: A,Ys2: list @ A,R: set @ ( product_prod @ A @ A )] :
% 3.21/1.71        ( ( member @ ( product_prod @ ( list @ A ) @ ( list @ A ) ) @ ( product_Pair @ ( list @ A ) @ ( list @ A ) @ ( cons @ A @ X @ Xs2 ) @ ( cons @ A @ Y @ Ys2 ) ) @ ( lex @ A @ R ) )
% 3.21/1.71        = ( ( ( member @ ( product_prod @ A @ A ) @ ( product_Pair @ A @ A @ X @ Y ) @ R )
% 3.21/1.71            & ( ( size_size @ ( list @ A ) @ Xs2 )
% 3.21/1.71              = ( size_size @ ( list @ A ) @ Ys2 ) ) )
% 3.21/1.71          | ( ( X = Y )
% 3.21/1.71            & ( member @ ( product_prod @ ( list @ A ) @ ( list @ A ) ) @ ( product_Pair @ ( list @ A ) @ ( list @ A ) @ Xs2 @ Ys2 ) @ ( lex @ A @ R ) ) ) ) ) ).
% 3.21/1.71  
% 3.21/1.71  thf(fact_220_internal__case__prod__conv,axiom,
% 3.21/1.71      ! [B: $tType,A: $tType,C: $tType,C2: B > C > A,A3: B,B3: C] :
% 3.21/1.71        ( ( produc2004651681e_prod @ B @ C @ A @ C2 @ ( product_Pair @ B @ C @ A3 @ B3 ) )
% 3.21/1.71        = ( C2 @ A3 @ B3 ) ) ).
% 3.21/1.71  
% 3.21/1.71  thf(fact_221_append__eq__append__conv,axiom,
% 3.21/1.71      ! [A: $tType,Xs2: list @ A,Ys2: list @ A,Us: list @ A,Vs: list @ A] :
% 3.21/1.71        ( ( ( ( size_size @ ( list @ A ) @ Xs2 )
% 3.21/1.71            = ( size_size @ ( list @ A ) @ Ys2 ) )
% 3.21/1.71          | ( ( size_size @ ( list @ A ) @ Us )
% 3.21/1.71            = ( size_size @ ( list @ A ) @ Vs ) ) )
% 3.21/1.71       => ( ( ( append @ A @ Xs2 @ Us )
% 3.21/1.71            = ( append @ A @ Ys2 @ Vs ) )
% 3.21/1.71          = ( ( Xs2 = Ys2 )
% 3.21/1.71            & ( Us = Vs ) ) ) ) ).
% 3.21/1.71  
% 3.21/1.71  thf(fact_222_length__rotate1,axiom,
% 3.21/1.71      ! [A: $tType,Xs2: list @ A] :
% 3.21/1.71        ( ( size_size @ ( list @ A ) @ ( rotate1 @ A @ Xs2 ) )
% 3.21/1.71        = ( size_size @ ( list @ A ) @ Xs2 ) ) ).
% 3.21/1.71  
% 3.21/1.71  thf(fact_223_listrel1__eq__len,axiom,
% 3.21/1.71      ! [A: $tType,Xs2: list @ A,Ys2: list @ A,R: set @ ( product_prod @ A @ A )] :
% 3.21/1.71        ( ( member @ ( product_prod @ ( list @ A ) @ ( list @ A ) ) @ ( product_Pair @ ( list @ A ) @ ( list @ A ) @ Xs2 @ Ys2 ) @ ( listrel1 @ A @ R ) )
% 3.21/1.71       => ( ( size_size @ ( list @ A ) @ Xs2 )
% 3.21/1.71          = ( size_size @ ( list @ A ) @ Ys2 ) ) ) ).
% 3.21/1.71  
% 3.21/1.71  thf(fact_224_listrel__eq__len,axiom,
% 3.21/1.71      ! [A: $tType,B: $tType,Xs2: list @ A,Ys2: list @ B,R: set @ ( product_prod @ A @ B )] :
% 3.21/1.71        ( ( member @ ( product_prod @ ( list @ A ) @ ( list @ B ) ) @ ( product_Pair @ ( list @ A ) @ ( list @ B ) @ Xs2 @ Ys2 ) @ ( listrel @ A @ B @ R ) )
% 3.21/1.71       => ( ( size_size @ ( list @ A ) @ Xs2 )
% 3.21/1.71          = ( size_size @ ( list @ B ) @ Ys2 ) ) ) ).
% 3.21/1.71  
% 3.21/1.71  thf(fact_225_Ex__list__of__length,axiom,
% 3.21/1.71      ! [A: $tType,N: nat] :
% 3.21/1.71      ? [Xs: list @ A] :
% 3.21/1.71        ( ( size_size @ ( list @ A ) @ Xs )
% 3.21/1.71        = N ) ).
% 3.21/1.71  
% 3.21/1.71  thf(fact_226_neq__if__length__neq,axiom,
% 3.21/1.71      ! [A: $tType,Xs2: list @ A,Ys2: list @ A] :
% 3.21/1.71        ( ( ( size_size @ ( list @ A ) @ Xs2 )
% 3.21/1.71         != ( size_size @ ( list @ A ) @ Ys2 ) )
% 3.21/1.71       => ( Xs2 != Ys2 ) ) ).
% 3.21/1.71  
% 3.21/1.71  thf(fact_227_list__induct3,axiom,
% 3.21/1.71      ! [B: $tType,A: $tType,C: $tType,Xs2: list @ A,Ys2: list @ B,Zs2: list @ C,P: ( list @ A ) > ( list @ B ) > ( list @ C ) > $o] :
% 3.21/1.71        ( ( ( size_size @ ( list @ A ) @ Xs2 )
% 3.21/1.71          = ( size_size @ ( list @ B ) @ Ys2 ) )
% 3.21/1.71       => ( ( ( size_size @ ( list @ B ) @ Ys2 )
% 3.21/1.71            = ( size_size @ ( list @ C ) @ Zs2 ) )
% 3.21/1.71         => ( ( P @ ( nil @ A ) @ ( nil @ B ) @ ( nil @ C ) )
% 3.21/1.71           => ( ! [X3: A,Xs: list @ A,Y3: B,Ys: list @ B,Z: C,Zs: list @ C] :
% 3.21/1.71                  ( ( ( size_size @ ( list @ A ) @ Xs )
% 3.21/1.71                    = ( size_size @ ( list @ B ) @ Ys ) )
% 3.21/1.71                 => ( ( ( size_size @ ( list @ B ) @ Ys )
% 3.21/1.71                      = ( size_size @ ( list @ C ) @ Zs ) )
% 3.21/1.71                   => ( ( P @ Xs @ Ys @ Zs )
% 3.21/1.71                     => ( P @ ( cons @ A @ X3 @ Xs ) @ ( cons @ B @ Y3 @ Ys ) @ ( cons @ C @ Z @ Zs ) ) ) ) )
% 3.21/1.71             => ( P @ Xs2 @ Ys2 @ Zs2 ) ) ) ) ) ).
% 3.21/1.71  
% 3.21/1.71  thf(fact_228_list__induct2,axiom,
% 3.21/1.71      ! [A: $tType,B: $tType,Xs2: list @ A,Ys2: list @ B,P: ( list @ A ) > ( list @ B ) > $o] :
% 3.21/1.71        ( ( ( size_size @ ( list @ A ) @ Xs2 )
% 3.21/1.71          = ( size_size @ ( list @ B ) @ Ys2 ) )
% 3.21/1.71       => ( ( P @ ( nil @ A ) @ ( nil @ B ) )
% 3.21/1.71         => ( ! [X3: A,Xs: list @ A,Y3: B,Ys: list @ B] :
% 3.21/1.71                ( ( ( size_size @ ( list @ A ) @ Xs )
% 3.21/1.71                  = ( size_size @ ( list @ B ) @ Ys ) )
% 3.21/1.71               => ( ( P @ Xs @ Ys )
% 3.21/1.71                 => ( P @ ( cons @ A @ X3 @ Xs ) @ ( cons @ B @ Y3 @ Ys ) ) ) )
% 3.21/1.71           => ( P @ Xs2 @ Ys2 ) ) ) ) ).
% 3.21/1.71  
% 3.21/1.71  thf(fact_229_same__length__different,axiom,
% 3.21/1.71      ! [A: $tType,Xs2: list @ A,Ys2: list @ A] :
% 3.21/1.71        ( ( Xs2 != Ys2 )
% 3.21/1.71       => ( ( ( size_size @ ( list @ A ) @ Xs2 )
% 3.21/1.71            = ( size_size @ ( list @ A ) @ Ys2 ) )
% 3.21/1.71         => ? [Pre: list @ A,X3: A,Xs5: list @ A,Y3: A,Ys5: list @ A] :
% 3.21/1.71              ( ( X3 != Y3 )
% 3.21/1.71              & ( Xs2
% 3.21/1.71                = ( append @ A @ Pre @ ( append @ A @ ( cons @ A @ X3 @ ( nil @ A ) ) @ Xs5 ) ) )
% 3.21/1.71              & ( Ys2
% 3.21/1.71                = ( append @ A @ Pre @ ( append @ A @ ( cons @ A @ Y3 @ ( nil @ A ) ) @ Ys5 ) ) ) ) ) ) ).
% 3.21/1.71  
% 3.21/1.71  thf(fact_230_lexord__sufE,axiom,
% 3.21/1.71      ! [A: $tType,Xs2: list @ A,Zs2: list @ A,Ys2: list @ A,Qs: list @ A,R: set @ ( product_prod @ A @ A )] :
% 3.21/1.71        ( ( member @ ( product_prod @ ( list @ A ) @ ( list @ A ) ) @ ( product_Pair @ ( list @ A ) @ ( list @ A ) @ ( append @ A @ Xs2 @ Zs2 ) @ ( append @ A @ Ys2 @ Qs ) ) @ ( lexord @ A @ R ) )
% 3.21/1.71       => ( ( Xs2 != Ys2 )
% 3.21/1.71         => ( ( ( size_size @ ( list @ A ) @ Xs2 )
% 3.21/1.71              = ( size_size @ ( list @ A ) @ Ys2 ) )
% 3.21/1.71           => ( ( ( size_size @ ( list @ A ) @ Zs2 )
% 3.21/1.71                = ( size_size @ ( list @ A ) @ Qs ) )
% 3.21/1.71             => ( member @ ( product_prod @ ( list @ A ) @ ( list @ A ) ) @ ( product_Pair @ ( list @ A ) @ ( list @ A ) @ Xs2 @ Ys2 ) @ ( lexord @ A @ R ) ) ) ) ) ) ).
% 3.21/1.71  
% 3.21/1.71  thf(fact_231_lex__append__rightI,axiom,
% 3.21/1.71      ! [A: $tType,Xs2: list @ A,Ys2: list @ A,R: set @ ( product_prod @ A @ A ),Vs: list @ A,Us: list @ A] :
% 3.21/1.71        ( ( member @ ( product_prod @ ( list @ A ) @ ( list @ A ) ) @ ( product_Pair @ ( list @ A ) @ ( list @ A ) @ Xs2 @ Ys2 ) @ ( lex @ A @ R ) )
% 3.21/1.71       => ( ( ( size_size @ ( list @ A ) @ Vs )
% 3.21/1.71            = ( size_size @ ( list @ A ) @ Us ) )
% 3.21/1.71         => ( member @ ( product_prod @ ( list @ A ) @ ( list @ A ) ) @ ( product_Pair @ ( list @ A ) @ ( list @ A ) @ ( append @ A @ Xs2 @ Us ) @ ( append @ A @ Ys2 @ Vs ) ) @ ( lex @ A @ R ) ) ) ) ).
% 3.21/1.71  
% 3.21/1.71  thf(fact_232_lenlex__append1,axiom,
% 3.21/1.71      ! [A: $tType,Us: list @ A,Xs2: list @ A,R2: set @ ( product_prod @ A @ A ),Vs: list @ A,Ys2: list @ A] :
% 3.21/1.71        ( ( member @ ( product_prod @ ( list @ A ) @ ( list @ A ) ) @ ( product_Pair @ ( list @ A ) @ ( list @ A ) @ Us @ Xs2 ) @ ( lenlex @ A @ R2 ) )
% 3.21/1.71       => ( ( ( size_size @ ( list @ A ) @ Vs )
% 3.21/1.71            = ( size_size @ ( list @ A ) @ Ys2 ) )
% 3.21/1.71         => ( member @ ( product_prod @ ( list @ A ) @ ( list @ A ) ) @ ( product_Pair @ ( list @ A ) @ ( list @ A ) @ ( append @ A @ Us @ Vs ) @ ( append @ A @ Xs2 @ Ys2 ) ) @ ( lenlex @ A @ R2 ) ) ) ) ).
% 3.21/1.71  
% 3.21/1.71  thf(fact_233_lexord__lex,axiom,
% 3.21/1.71      ! [A: $tType,X: list @ A,Y: list @ A,R: set @ ( product_prod @ A @ A )] :
% 3.21/1.71        ( ( member @ ( product_prod @ ( list @ A ) @ ( list @ A ) ) @ ( product_Pair @ ( list @ A ) @ ( list @ A ) @ X @ Y ) @ ( lex @ A @ R ) )
% 3.21/1.71        = ( ( member @ ( product_prod @ ( list @ A ) @ ( list @ A ) ) @ ( product_Pair @ ( list @ A ) @ ( list @ A ) @ X @ Y ) @ ( lexord @ A @ R ) )
% 3.21/1.71          & ( ( size_size @ ( list @ A ) @ X )
% 3.21/1.71            = ( size_size @ ( list @ A ) @ Y ) ) ) ) ).
% 3.21/1.71  
% 3.21/1.71  thf(fact_234_rtrancl__listrel1__eq__len,axiom,
% 3.21/1.71      ! [A: $tType,X: list @ A,Y: list @ A,R: set @ ( product_prod @ A @ A )] :
% 3.21/1.71        ( ( member @ ( product_prod @ ( list @ A ) @ ( list @ A ) ) @ ( product_Pair @ ( list @ A ) @ ( list @ A ) @ X @ Y ) @ ( transitive_rtrancl @ ( list @ A ) @ ( listrel1 @ A @ R ) ) )
% 3.21/1.71       => ( ( size_size @ ( list @ A ) @ X )
% 3.21/1.71          = ( size_size @ ( list @ A ) @ Y ) ) ) ).
% 3.21/1.71  
% 3.21/1.71  thf(fact_235_Cons__lenlex__iff,axiom,
% 3.21/1.71      ! [A: $tType,M: A,Ms: list @ A,N: A,Ns: list @ A,R: set @ ( product_prod @ A @ A )] :
% 3.21/1.71        ( ( member @ ( product_prod @ ( list @ A ) @ ( list @ A ) ) @ ( product_Pair @ ( list @ A ) @ ( list @ A ) @ ( cons @ A @ M @ Ms ) @ ( cons @ A @ N @ Ns ) ) @ ( lenlex @ A @ R ) )
% 3.21/1.71        = ( ( ord_less @ nat @ ( size_size @ ( list @ A ) @ Ms ) @ ( size_size @ ( list @ A ) @ Ns ) )
% 3.21/1.71          | ( ( ( size_size @ ( list @ A ) @ Ms )
% 3.21/1.71              = ( size_size @ ( list @ A ) @ Ns ) )
% 3.21/1.71            & ( member @ ( product_prod @ A @ A ) @ ( product_Pair @ A @ A @ M @ N ) @ R ) )
% 3.21/1.71          | ( ( M = N )
% 3.21/1.71            & ( member @ ( product_prod @ ( list @ A ) @ ( list @ A ) ) @ ( product_Pair @ ( list @ A ) @ ( list @ A ) @ Ms @ Ns ) @ ( lenlex @ A @ R ) ) ) ) ) ).
% 3.21/1.71  
% 3.21/1.71  thf(fact_236_list__ex1__simps_I1_J,axiom,
% 3.21/1.71      ! [A: $tType,P: A > $o] :
% 3.21/1.71        ~ ( list_ex1 @ A @ P @ ( nil @ A ) ) ).
% 3.21/1.71  
% 3.21/1.71  thf(fact_237_length__induct,axiom,
% 3.21/1.71      ! [A: $tType,P: ( list @ A ) > $o,Xs2: list @ A] :
% 3.21/1.71        ( ! [Xs: list @ A] :
% 3.21/1.71            ( ! [Ys6: list @ A] :
% 3.21/1.71                ( ( ord_less @ nat @ ( size_size @ ( list @ A ) @ Ys6 ) @ ( size_size @ ( list @ A ) @ Xs ) )
% 3.21/1.71               => ( P @ Ys6 ) )
% 3.21/1.71           => ( P @ Xs ) )
% 3.21/1.71       => ( P @ Xs2 ) ) ).
% 3.21/1.71  
% 3.21/1.71  thf(fact_238_in__measures_I2_J,axiom,
% 3.21/1.71      ! [A: $tType,X: A,Y: A,F3: A > nat,Fs: list @ ( A > nat )] :
% 3.21/1.71        ( ( member @ ( product_prod @ A @ A ) @ ( product_Pair @ A @ A @ X @ Y ) @ ( measures @ A @ ( cons @ ( A > nat ) @ F3 @ Fs ) ) )
% 3.21/1.71        = ( ( ord_less @ nat @ ( F3 @ X ) @ ( F3 @ Y ) )
% 3.21/1.71          | ( ( ( F3 @ X )
% 3.21/1.71              = ( F3 @ Y ) )
% 3.21/1.71            & ( member @ ( product_prod @ A @ A ) @ ( product_Pair @ A @ A @ X @ Y ) @ ( measures @ A @ Fs ) ) ) ) ) ).
% 3.21/1.71  
% 3.21/1.71  thf(fact_239_listrel__iff__nth,axiom,
% 3.21/1.71      ! [A: $tType,B: $tType,Xs2: list @ A,Ys2: list @ B,R: set @ ( product_prod @ A @ B )] :
% 3.21/1.71        ( ( member @ ( product_prod @ ( list @ A ) @ ( list @ B ) ) @ ( product_Pair @ ( list @ A ) @ ( list @ B ) @ Xs2 @ Ys2 ) @ ( listrel @ A @ B @ R ) )
% 3.21/1.71        = ( ( ( size_size @ ( list @ A ) @ Xs2 )
% 3.21/1.71            = ( size_size @ ( list @ B ) @ Ys2 ) )
% 3.21/1.71          & ! [N2: nat] :
% 3.21/1.71              ( ( ord_less @ nat @ N2 @ ( size_size @ ( list @ A ) @ Xs2 ) )
% 3.21/1.71             => ( member @ ( product_prod @ A @ B ) @ ( product_Pair @ A @ B @ ( nth @ A @ Xs2 @ N2 ) @ ( nth @ B @ Ys2 @ N2 ) ) @ R ) ) ) ) ).
% 3.21/1.71  
% 3.21/1.71  thf(fact_240_in__measures_I1_J,axiom,
% 3.21/1.71      ! [A: $tType,X: A,Y: A] :
% 3.21/1.71        ~ ( member @ ( product_prod @ A @ A ) @ ( product_Pair @ A @ A @ X @ Y ) @ ( measures @ A @ ( nil @ ( A > nat ) ) ) ) ).
% 3.21/1.71  
% 3.21/1.71  thf(fact_241_nth__append__length,axiom,
% 3.21/1.71      ! [A: $tType,Xs2: list @ A,X: A,Ys2: list @ A] :
% 3.21/1.71        ( ( nth @ A @ ( append @ A @ Xs2 @ ( cons @ A @ X @ Ys2 ) ) @ ( size_size @ ( list @ A ) @ Xs2 ) )
% 3.21/1.71        = X ) ).
% 3.21/1.71  
% 3.21/1.71  thf(fact_242_nth__equalityI,axiom,
% 3.21/1.71      ! [A: $tType,Xs2: list @ A,Ys2: list @ A] :
% 3.21/1.71        ( ( ( size_size @ ( list @ A ) @ Xs2 )
% 3.21/1.71          = ( size_size @ ( list @ A ) @ Ys2 ) )
% 3.21/1.71       => ( ! [I: nat] :
% 3.21/1.71              ( ( ord_less @ nat @ I @ ( size_size @ ( list @ A ) @ Xs2 ) )
% 3.21/1.71             => ( ( nth @ A @ Xs2 @ I )
% 3.21/1.71                = ( nth @ A @ Ys2 @ I ) ) )
% 3.21/1.71         => ( Xs2 = Ys2 ) ) ) ).
% 3.21/1.71  
% 3.21/1.71  thf(fact_243_Skolem__list__nth,axiom,
% 3.21/1.71      ! [A: $tType,K: nat,P: nat > A > $o] :
% 3.21/1.71        ( ( ! [I2: nat] :
% 3.21/1.71              ( ( ord_less @ nat @ I2 @ K )
% 3.21/1.71             => ? [X5: A] : ( P @ I2 @ X5 ) ) )
% 3.21/1.71        = ( ? [Xs3: list @ A] :
% 3.21/1.71              ( ( ( size_size @ ( list @ A ) @ Xs3 )
% 3.21/1.71                = K )
% 3.21/1.71              & ! [I2: nat] :
% 3.21/1.71                  ( ( ord_less @ nat @ I2 @ K )
% 3.21/1.71                 => ( P @ I2 @ ( nth @ A @ Xs3 @ I2 ) ) ) ) ) ) ).
% 3.21/1.71  
% 3.21/1.71  thf(fact_244_list__eq__iff__nth__eq,axiom,
% 3.21/1.71      ! [A: $tType] :
% 3.21/1.71        ( ( ^ [Y5: list @ A,Z4: list @ A] : ( Y5 = Z4 ) )
% 3.21/1.71        = ( ^ [Xs3: list @ A,Ys3: list @ A] :
% 3.21/1.71              ( ( ( size_size @ ( list @ A ) @ Xs3 )
% 3.21/1.71                = ( size_size @ ( list @ A ) @ Ys3 ) )
% 3.21/1.71              & ! [I2: nat] :
% 3.21/1.71                  ( ( ord_less @ nat @ I2 @ ( size_size @ ( list @ A ) @ Xs3 ) )
% 3.21/1.71                 => ( ( nth @ A @ Xs3 @ I2 )
% 3.21/1.71                    = ( nth @ A @ Ys3 @ I2 ) ) ) ) ) ) ).
% 3.21/1.71  
% 3.21/1.71  thf(fact_245_nth__butlast,axiom,
% 3.21/1.71      ! [A: $tType,N: nat,Xs2: list @ A] :
% 3.21/1.71        ( ( ord_less @ nat @ N @ ( size_size @ ( list @ A ) @ ( butlast @ A @ Xs2 ) ) )
% 3.21/1.71       => ( ( nth @ A @ ( butlast @ A @ Xs2 ) @ N )
% 3.21/1.71          = ( nth @ A @ Xs2 @ N ) ) ) ).
% 3.21/1.71  
% 3.21/1.71  thf(fact_246_measures__less,axiom,
% 3.21/1.71      ! [A: $tType,F3: A > nat,X: A,Y: A,Fs: list @ ( A > nat )] :
% 3.21/1.71        ( ( ord_less @ nat @ ( F3 @ X ) @ ( F3 @ Y ) )
% 3.21/1.71       => ( member @ ( product_prod @ A @ A ) @ ( product_Pair @ A @ A @ X @ Y ) @ ( measures @ A @ ( cons @ ( A > nat ) @ F3 @ Fs ) ) ) ) ).
% 3.21/1.71  
% 3.21/1.71  thf(fact_247_listrel1__iff__update,axiom,
% 3.21/1.71      ! [A: $tType,Xs2: list @ A,Ys2: list @ A,R: set @ ( product_prod @ A @ A )] :
% 3.21/1.71        ( ( member @ ( product_prod @ ( list @ A ) @ ( list @ A ) ) @ ( product_Pair @ ( list @ A ) @ ( list @ A ) @ Xs2 @ Ys2 ) @ ( listrel1 @ A @ R ) )
% 3.21/1.71        = ( ? [Y4: A,N2: nat] :
% 3.21/1.71              ( ( member @ ( product_prod @ A @ A ) @ ( product_Pair @ A @ A @ ( nth @ A @ Xs2 @ N2 ) @ Y4 ) @ R )
% 3.21/1.71              & ( ord_less @ nat @ N2 @ ( size_size @ ( list @ A ) @ Xs2 ) )
% 3.21/1.71              & ( Ys2
% 3.21/1.71                = ( list_update @ A @ Xs2 @ N2 @ Y4 ) ) ) ) ) ).
% 3.21/1.71  
% 3.21/1.71  thf(fact_248_lex__take__index,axiom,
% 3.21/1.71      ! [A: $tType,Xs2: list @ A,Ys2: list @ A,R: set @ ( product_prod @ A @ A )] :
% 3.21/1.71        ( ( member @ ( product_prod @ ( list @ A ) @ ( list @ A ) ) @ ( product_Pair @ ( list @ A ) @ ( list @ A ) @ Xs2 @ Ys2 ) @ ( lex @ A @ R ) )
% 3.21/1.71       => ~ ! [I: nat] :
% 3.21/1.71              ( ( ord_less @ nat @ I @ ( size_size @ ( list @ A ) @ Xs2 ) )
% 3.21/1.71             => ( ( ord_less @ nat @ I @ ( size_size @ ( list @ A ) @ Ys2 ) )
% 3.21/1.71               => ( ( ( take @ A @ I @ Xs2 )
% 3.21/1.71                    = ( take @ A @ I @ Ys2 ) )
% 3.21/1.71                 => ~ ( member @ ( product_prod @ A @ A ) @ ( product_Pair @ A @ A @ ( nth @ A @ Xs2 @ I ) @ ( nth @ A @ Ys2 @ I ) ) @ R ) ) ) ) ) ).
% 3.21/1.71  
% 3.21/1.71  thf(fact_249_list__update__overwrite,axiom,
% 3.21/1.71      ! [A: $tType,Xs2: list @ A,I3: nat,X: A,Y: A] :
% 3.21/1.71        ( ( list_update @ A @ ( list_update @ A @ Xs2 @ I3 @ X ) @ I3 @ Y )
% 3.21/1.71        = ( list_update @ A @ Xs2 @ I3 @ Y ) ) ).
% 3.21/1.71  
% 3.21/1.71  thf(fact_250_list__update__nonempty,axiom,
% 3.21/1.71      ! [A: $tType,Xs2: list @ A,K: nat,X: A] :
% 3.21/1.71        ( ( ( list_update @ A @ Xs2 @ K @ X )
% 3.21/1.71          = ( nil @ A ) )
% 3.21/1.71        = ( Xs2
% 3.21/1.71          = ( nil @ A ) ) ) ).
% 3.21/1.71  
% 3.21/1.71  thf(fact_251_length__list__update,axiom,
% 3.21/1.71      ! [A: $tType,Xs2: list @ A,I3: nat,X: A] :
% 3.21/1.71        ( ( size_size @ ( list @ A ) @ ( list_update @ A @ Xs2 @ I3 @ X ) )
% 3.21/1.71        = ( size_size @ ( list @ A ) @ Xs2 ) ) ).
% 3.21/1.71  
% 3.21/1.71  thf(fact_252_list__update__id,axiom,
% 3.21/1.71      ! [A: $tType,Xs2: list @ A,I3: nat] :
% 3.21/1.71        ( ( list_update @ A @ Xs2 @ I3 @ ( nth @ A @ Xs2 @ I3 ) )
% 3.21/1.71        = Xs2 ) ).
% 3.21/1.71  
% 3.21/1.71  thf(fact_253_nth__list__update__neq,axiom,
% 3.21/1.71      ! [A: $tType,I3: nat,J: nat,Xs2: list @ A,X: A] :
% 3.21/1.71        ( ( I3 != J )
% 3.21/1.71       => ( ( nth @ A @ ( list_update @ A @ Xs2 @ I3 @ X ) @ J )
% 3.21/1.71          = ( nth @ A @ Xs2 @ J ) ) ) ).
% 3.21/1.71  
% 3.21/1.71  thf(fact_254_nth__take,axiom,
% 3.21/1.71      ! [A: $tType,I3: nat,N: nat,Xs2: list @ A] :
% 3.21/1.71        ( ( ord_less @ nat @ I3 @ N )
% 3.21/1.71       => ( ( nth @ A @ ( take @ A @ N @ Xs2 ) @ I3 )
% 3.21/1.71          = ( nth @ A @ Xs2 @ I3 ) ) ) ).
% 3.21/1.71  
% 3.21/1.71  thf(tcon_fun___Orderings_Oord,axiom,
% 3.21/1.71      ! [A7: $tType,A8: $tType] :
% 3.21/1.71        ( ( ord @ A8 )
% 3.21/1.71       => ( ord @ ( A7 > A8 ) ) ) ).
% 3.21/1.71  
% 3.21/1.71  thf(tcon_Nat_Onat___Orderings_Olinorder,axiom,
% 3.21/1.71      linorder @ nat ).
% 3.21/1.71  
% 3.21/1.71  thf(tcon_Nat_Onat___Orderings_Oord_1,axiom,
% 3.21/1.71      ord @ nat ).
% 3.21/1.71  
% 3.21/1.71  thf(tcon_Set_Oset___Orderings_Oord_2,axiom,
% 3.21/1.71      ! [A7: $tType] : ( ord @ ( set @ A7 ) ) ).
% 3.21/1.71  
% 3.21/1.71  thf(tcon_HOL_Obool___Orderings_Olinorder_3,axiom,
% 3.21/1.71      linorder @ $o ).
% 3.21/1.71  
% 3.21/1.71  thf(tcon_HOL_Obool___Orderings_Oord_4,axiom,
% 3.21/1.71      ord @ $o ).
% 3.21/1.71  
% 3.21/1.71  thf(conj_0,hypothesis,
% 3.21/1.71      member @ ( product_prod @ ( product_prod @ ( list @ com ) @ state ) @ ( product_prod @ ( list @ com ) @ state ) ) @ ( product_Pair @ ( product_prod @ ( list @ com ) @ state ) @ ( product_prod @ ( list @ com ) @ state ) @ ( product_Pair @ ( list @ com ) @ state @ ( cons @ com @ c @ ( nil @ com ) ) @ s ) @ ( product_Pair @ ( list @ com ) @ state @ ( cons @ com @ c2 @ cs ) @ s2 ) ) @ ( transitive_rtrancl @ ( product_prod @ ( list @ com ) @ state ) @ pHoare1053570893_exec1 ) ).
% 3.21/1.71  
% 3.21/1.71  thf(conj_1,hypothesis,
% 3.21/1.71      termi @ c @ s ).
% 3.21/1.71  
% 3.21/1.71  thf(conj_2,hypothesis,
% 3.21/1.71      ! [S5: state,S6: state] :
% 3.21/1.71        ( ( member @ ( product_prod @ ( product_prod @ ( list @ com ) @ state ) @ ( product_prod @ ( list @ com ) @ state ) ) @ ( product_Pair @ ( product_prod @ ( list @ com ) @ state ) @ ( product_prod @ ( list @ com ) @ state ) @ ( product_Pair @ ( list @ com ) @ state @ ( cons @ com @ c @ ( nil @ com ) ) @ S5 ) @ ( product_Pair @ ( list @ com ) @ state @ ( cons @ com @ c2 @ cs ) @ S6 ) ) @ ( transitive_rtrancl @ ( product_prod @ ( list @ com ) @ state ) @ pHoare1053570893_exec1 ) )
% 3.21/1.71       => ( ( termi @ c @ S5 )
% 3.21/1.71         => ( ( termi @ c2 @ S6 )
% 3.21/1.71            & ! [T5: state] :
% 3.21/1.71                ( ( exec @ S6 @ c2 @ T5 )
% 3.21/1.71               => ( pHoare1335526537termis @ cs @ T5 ) ) ) ) ) ).
% 3.21/1.71  
% 3.21/1.71  thf(conj_3,conjecture,
% 3.21/1.71      termi @ c2 @ s2 ).
% 3.21/1.71  ------------------------
% 3.21/1.75  % (9392)lrs+1002_1:8_bd=off:fd=off:hud=10:tnu=1:i=183:si=on:rtra=on_0 on DTF2THF_9204 for (2999ds/183Mi)
% 3.21/1.75  % (9396)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_9204 for (2999ds/2Mi)
% 3.21/1.75  % (9395)lrs+10_1:1_au=on:inj=on:i=2:si=on:rtra=on_0 on DTF2THF_9204 for (2999ds/2Mi)
% 3.21/1.75  % (9398)lrs+1004_1:128_cond=on:e2e=on:sp=weighted_frequency:i=18:si=on:rtra=on_0 on DTF2THF_9204 for (2999ds/18Mi)
% 3.21/1.75  % (9395)Instruction limit reached!
% 3.21/1.75  % (9395)------------------------------
% 3.21/1.75  % (9395)Version: Vampire 4.8 (commit 7b44b1c2f on 2025-07-15 09:50:17 +0100)
% 3.21/1.75  % (9395)Termination reason: Unknown
% 3.21/1.75  % (9395)Termination phase: shuffling
% 3.21/1.75  
% 3.21/1.75  % (9396)Instruction limit reached!
% 3.21/1.75  % (9396)------------------------------
% 3.21/1.75  % (9396)Version: Vampire 4.8 (commit 7b44b1c2f on 2025-07-15 09:50:17 +0100)
% 3.21/1.75  % (9395)Memory used [KB]: 1407
% 3.21/1.75  % (9395)Time elapsed: 0.003 s
% 3.21/1.75  % (9395)Instructions burned: 2 (million)
% 3.21/1.75  % (9395)------------------------------
% 3.21/1.75  % (9395)------------------------------
% 3.21/1.75  % (9396)Termination reason: Unknown
% 3.21/1.75  % (9396)Termination phase: shuffling
% 3.21/1.75  
% 3.21/1.75  % (9396)Memory used [KB]: 1535
% 3.21/1.75  % (9396)Time elapsed: 0.002 s
% 3.21/1.75  % (9396)Instructions burned: 4 (million)
% 3.21/1.75  % (9396)------------------------------
% 3.21/1.75  % (9396)------------------------------
% 3.21/1.75  % (9394)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_9204 for (2999ds/27Mi)
% 3.21/1.75  % (9397)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_9204 for (2999ds/275Mi)
% 3.21/1.76  % (9393)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_9204 for (2999ds/4Mi)
% 3.21/1.76  % (9393)Instruction limit reached!
% 3.21/1.76  % (9393)------------------------------
% 3.21/1.76  % (9393)Version: Vampire 4.8 (commit 7b44b1c2f on 2025-07-15 09:50:17 +0100)
% 3.21/1.76  % (9393)Termination reason: Unknown
% 3.21/1.76  % (9393)Termination phase: shuffling
% 3.21/1.76  
% 3.21/1.76  % (9393)Memory used [KB]: 1535
% 3.21/1.76  % (9393)Time elapsed: 0.004 s
% 3.21/1.76  % (9393)Instructions burned: 4 (million)
% 3.21/1.76  % (9393)------------------------------
% 3.21/1.76  % (9393)------------------------------
% 3.21/1.76  % (9398)Instruction limit reached!
% 3.21/1.76  % (9398)------------------------------
% 3.21/1.76  % (9398)Version: Vampire 4.8 (commit 7b44b1c2f on 2025-07-15 09:50:17 +0100)
% 3.21/1.76  % (9398)Termination reason: Unknown
% 3.21/1.76  % (9398)Termination phase: shuffling
% 3.21/1.76  
% 3.21/1.76  % (9398)Memory used [KB]: 1663
% 3.21/1.76  % (9398)Time elapsed: 0.010 s
% 3.21/1.76  % (9398)Instructions burned: 18 (million)
% 3.21/1.76  % (9398)------------------------------
% 3.21/1.76  % (9398)------------------------------
% 3.21/1.76  % (9401)lrs+10_1:1_bet=on:cnfonf=off:fd=off:hud=5:inj=on:i=3:si=on:rtra=on_0 on DTF2THF_9204 for (2999ds/3Mi)
% 3.21/1.76  % (9401)Instruction limit reached!
% 3.21/1.76  % (9401)------------------------------
% 3.21/1.76  % (9401)Version: Vampire 4.8 (commit 7b44b1c2f on 2025-07-15 09:50:17 +0100)
% 3.21/1.76  % (9401)Termination reason: Unknown
% 3.21/1.76  % (9401)Termination phase: shuffling
% 3.21/1.76  
% 3.21/1.76  % (9401)Memory used [KB]: 1407
% 3.21/1.76  % (9401)Time elapsed: 0.002 s
% 3.21/1.76  % (9401)Instructions burned: 3 (million)
% 3.21/1.76  % (9401)------------------------------
% 3.21/1.76  % (9401)------------------------------
% 3.21/1.77  % (9394)Instruction limit reached!
% 3.21/1.77  % (9394)------------------------------
% 3.21/1.77  % (9394)Version: Vampire 4.8 (commit 7b44b1c2f on 2025-07-15 09:50:17 +0100)
% 3.21/1.77  % (9394)Termination reason: Unknown
% 3.21/1.77  % (9394)Termination phase: shuffling
% 3.21/1.77  
% 3.21/1.77  % (9394)Memory used [KB]: 1918
% 3.21/1.77  % (9394)Time elapsed: 0.017 s
% 3.21/1.77  % (9394)Instructions burned: 28 (million)
% 3.21/1.77  % (9394)------------------------------
% 3.21/1.77  % (9394)------------------------------
% 3.21/1.77  % (9402)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_9204 for (2999ds/37Mi)
% 3.21/1.77  % (9403)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_9204 for (2999ds/15Mi)
% 3.21/1.77  % (9405)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_9204 for (2999ds/1041Mi)
% 3.21/1.78  % (9404)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_9204 for (2999ds/3Mi)
% 3.21/1.78  % (9403)Instruction limit reached!
% 3.21/1.78  % (9403)------------------------------
% 3.21/1.78  % (9403)Version: Vampire 4.8 (commit 7b44b1c2f on 2025-07-15 09:50:17 +0100)
% 3.21/1.78  % (9403)Termination reason: Unknown
% 3.21/1.78  % (9403)Termination phase: shuffling
% 3.21/1.78  
% 3.21/1.78  % (9403)Memory used [KB]: 1663
% 3.21/1.78  % (9403)Time elapsed: 0.009 s
% 3.21/1.78  % (9403)Instructions burned: 15 (million)
% 3.21/1.78  % (9403)------------------------------
% 3.21/1.78  % (9403)------------------------------
% 3.21/1.78  % (9404)Instruction limit reached!
% 3.21/1.78  % (9404)------------------------------
% 3.21/1.78  % (9404)Version: Vampire 4.8 (commit 7b44b1c2f on 2025-07-15 09:50:17 +0100)
% 3.21/1.78  % (9404)Termination reason: Unknown
% 3.21/1.78  % (9404)Termination phase: shuffling
% 3.21/1.78  
% 3.21/1.78  % (9404)Memory used [KB]: 1407
% 3.21/1.78  % (9404)Time elapsed: 0.004 s
% 3.21/1.78  % (9404)Instructions burned: 4 (million)
% 3.21/1.78  % (9404)------------------------------
% 3.21/1.78  % (9404)------------------------------
% 3.21/1.79  % (9402)Instruction limit reached!
% 3.21/1.79  % (9402)------------------------------
% 3.21/1.79  % (9402)Version: Vampire 4.8 (commit 7b44b1c2f on 2025-07-15 09:50:17 +0100)
% 3.21/1.79  % (9402)Termination reason: Unknown
% 3.21/1.79  % (9402)Termination phase: shuffling
% 3.21/1.79  
% 3.21/1.79  % (9402)Memory used [KB]: 2174
% 3.21/1.79  % (9402)Time elapsed: 0.019 s
% 3.21/1.79  % (9402)Instructions burned: 38 (million)
% 3.21/1.79  % (9402)------------------------------
% 3.21/1.79  % (9402)------------------------------
% 3.21/1.79  % (9407)lrs+10_1:1_av=off:chr=on:plsq=on:slsq=on:i=7:si=on:rtra=on_0 on DTF2THF_9204 for (2999ds/7Mi)
% 3.28/1.80  % (9407)Instruction limit reached!
% 3.28/1.80  % (9407)------------------------------
% 3.28/1.80  % (9407)Version: Vampire 4.8 (commit 7b44b1c2f on 2025-07-15 09:50:17 +0100)
% 3.28/1.80  % (9407)Termination reason: Unknown
% 3.28/1.80  % (9407)Termination phase: shuffling
% 3.28/1.80  
% 3.28/1.80  % (9407)Memory used [KB]: 1535
% 3.28/1.80  % (9407)Time elapsed: 0.006 s
% 3.28/1.80  % (9407)Instructions burned: 7 (million)
% 3.28/1.80  % (9407)------------------------------
% 3.28/1.80  % (9407)------------------------------
% 3.28/1.80  % (9408)lrs+10_1:1_acc=on:amm=sco:cs=on:tgt=full:i=16:si=on:rtra=on_0 on DTF2THF_9204 for (2999ds/16Mi)
% 3.28/1.80  % (9409)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_9204 for (2999ds/3Mi)
% 3.28/1.80  % (9409)Instruction limit reached!
% 3.28/1.80  % (9409)------------------------------
% 3.28/1.80  % (9409)Version: Vampire 4.8 (commit 7b44b1c2f on 2025-07-15 09:50:17 +0100)
% 3.28/1.80  % (9409)Termination reason: Unknown
% 3.28/1.80  % (9409)Termination phase: shuffling
% 3.28/1.80  
% 3.28/1.80  % (9409)Memory used [KB]: 1407
% 3.28/1.80  % (9409)Time elapsed: 0.003 s
% 3.28/1.80  % (9409)Instructions burned: 3 (million)
% 3.28/1.80  % (9409)------------------------------
% 3.28/1.80  % (9409)------------------------------
% 3.28/1.80  % (9408)Instruction limit reached!
% 3.28/1.80  % (9408)------------------------------
% 3.28/1.80  % (9408)Version: Vampire 4.8 (commit 7b44b1c2f on 2025-07-15 09:50:17 +0100)
% 3.28/1.80  % (9408)Termination reason: Unknown
% 3.28/1.80  % (9408)Termination phase: shuffling
% 3.28/1.80  
% 3.28/1.80  % (9408)Memory used [KB]: 1663
% 3.28/1.80  % (9408)Time elapsed: 0.009 s
% 3.28/1.80  % (9408)Instructions burned: 16 (million)
% 3.28/1.80  % (9408)------------------------------
% 3.28/1.80  % (9408)------------------------------
% 3.28/1.81  % (9412)lrs+10_1:1_cnfonf=off:cs=on:hud=3:prag=on:sup=off:i=7:si=on:rtra=on_0 on DTF2THF_9204 for (2999ds/7Mi)
% 3.28/1.82  % (9410)lrs+2_1:1_apa=on:au=on:bd=preordered:cnfonf=off:cs=on:ixr=off:sos=on:i=3:si=on:rtra=on_0 on DTF2THF_9204 for (2999ds/3Mi)
% 3.28/1.82  % (9412)Instruction limit reached!
% 3.28/1.82  % (9412)------------------------------
% 3.28/1.82  % (9412)Version: Vampire 4.8 (commit 7b44b1c2f on 2025-07-15 09:50:17 +0100)
% 3.28/1.82  % (9412)Termination reason: Unknown
% 3.28/1.82  % (9412)Termination phase: shuffling
% 3.28/1.82  
% 3.28/1.82  % (9412)Memory used [KB]: 1535
% 3.28/1.82  % (9412)Time elapsed: 0.006 s
% 3.28/1.82  % (9412)Instructions burned: 8 (million)
% 3.28/1.82  % (9412)------------------------------
% 3.28/1.82  % (9412)------------------------------
% 3.28/1.82  % (9410)Instruction limit reached!
% 3.28/1.82  % (9410)------------------------------
% 3.28/1.82  % (9410)Version: Vampire 4.8 (commit 7b44b1c2f on 2025-07-15 09:50:17 +0100)
% 3.28/1.82  % (9410)Termination reason: Unknown
% 3.28/1.82  % (9410)Termination phase: shuffling
% 3.28/1.82  
% 3.28/1.82  % (9410)Memory used [KB]: 1407
% 3.28/1.82  % (9410)Time elapsed: 0.003 s
% 3.28/1.82  % (9410)Instructions burned: 3 (million)
% 3.28/1.82  % (9410)------------------------------
% 3.28/1.82  % (9410)------------------------------
% 3.28/1.82  % (9414)dis+1004_1:1_cha=on:cs=on:fe=off:hud=1:i=4:si=on:rtra=on_0 on DTF2THF_9204 for (2999ds/4Mi)
% 3.28/1.82  % (9413)dis+1002_1:1_add=large:cnfonf=lazy_pi_sigma_gen:fe=off:prag=on:i=3:si=on:rtra=on_0 on DTF2THF_9204 for (2999ds/3Mi)
% 3.28/1.82  % (9414)Instruction limit reached!
% 3.28/1.82  % (9414)------------------------------
% 3.28/1.82  % (9414)Version: Vampire 4.8 (commit 7b44b1c2f on 2025-07-15 09:50:17 +0100)
% 3.28/1.82  % (9413)Instruction limit reached!
% 3.28/1.82  % (9413)------------------------------
% 3.28/1.82  % (9413)Version: Vampire 4.8 (commit 7b44b1c2f on 2025-07-15 09:50:17 +0100)
% 3.28/1.82  % (9414)Termination reason: Unknown
% 3.28/1.82  % (9414)Termination phase: shuffling
% 3.28/1.82  
% 3.28/1.82  % (9414)Memory used [KB]: 1407
% 3.28/1.82  % (9414)Time elapsed: 0.003 s
% 3.28/1.82  % (9414)Instructions burned: 4 (million)
% 3.28/1.82  % (9414)------------------------------
% 3.28/1.82  % (9414)------------------------------
% 3.28/1.82  % (9413)Termination reason: Unknown
% 3.28/1.82  % (9413)Termination phase: shuffling
% 3.28/1.82  
% 3.28/1.82  % (9413)Memory used [KB]: 1535
% 3.28/1.82  % (9413)Time elapsed: 0.003 s
% 3.28/1.82  % (9413)Instructions burned: 3 (million)
% 3.28/1.82  % (9413)------------------------------
% 3.28/1.82  % (9413)------------------------------
% 3.28/1.83  % (9392)Instruction limit reached!
% 3.28/1.83  % (9392)------------------------------
% 3.28/1.83  % (9392)Version: Vampire 4.8 (commit 7b44b1c2f on 2025-07-15 09:50:17 +0100)
% 3.28/1.83  % (9392)Termination reason: Unknown
% 3.28/1.83  % (9392)Termination phase: Saturation
% 3.28/1.83  
% 3.28/1.83  % (9392)Memory used [KB]: 7419
% 3.28/1.83  % (9392)Time elapsed: 0.084 s
% 3.28/1.83  % (9392)Instructions burned: 183 (million)
% 3.28/1.83  % (9392)------------------------------
% 3.28/1.83  % (9392)------------------------------
% 3.28/1.83  % (9397)First to succeed.
% 3.28/1.83  % (9417)lrs+10_1:1_e2e=on:sd=1:sgt=8:ss=axioms:i=710:si=on:rtra=on_0 on DTF2THF_9204 for (2999ds/710Mi)
% 3.28/1.83  % (9416)lrs+1002_1:1_anc=all_dependent:au=on:cbe=off:fde=unused:ntd=on:i=18:si=on:rtra=on_0 on DTF2THF_9204 for (2999ds/18Mi)
% 3.28/1.84  % (9397)Refutation found. Thanks to Tanya!
% 3.28/1.84  % SZS status Theorem for DTF2THF_9204
% 3.28/1.84  % SZS output start Proof for DTF2THF_9204
% 3.28/1.84  thf(type_def_5, type, list: ($tType) > $tType).
% 3.28/1.84  thf(type_def_7, type, product_prod: ($tType * $tType) > $tType).
% 3.28/1.84  thf(type_def_8, type, set: ($tType) > $tType).
% 3.28/1.84  thf(type_def_9, type, nat: $tType).
% 3.28/1.84  thf(type_def_10, type, com: $tType).
% 3.28/1.84  thf(type_def_11, type, state: $tType).
% 3.28/1.84  thf(func_def_0, type, product_prod: ($tType * $tType) > $tType).
% 3.28/1.84  thf(func_def_1, type, state: $tType).
% 3.28/1.84  thf(func_def_2, type, com: $tType).
% 3.28/1.84  thf(func_def_3, type, list: ($tType) > $tType).
% 3.28/1.84  thf(func_def_4, type, set: ($tType) > $tType).
% 3.28/1.84  thf(func_def_5, type, nat: $tType).
% 3.28/1.84  thf(func_def_6, type, type: !>[X0: $tType]:($o)).
% 3.28/1.84  thf(func_def_7, type, ord: !>[X0: $tType]:($o)).
% 3.28/1.84  thf(func_def_8, type, linorder: !>[X0: $tType]:($o)).
% 3.28/1.84  thf(func_def_9, type, append: !>[X0: $tType]:(list @ X0 > list @ X0 > list @ X0)).
% 3.28/1.84  thf(func_def_10, type, bind: !>[X0: $tType, X1: $tType]:(list @ X0 > (X0 > list @ X1) > list @ X1)).
% 3.28/1.84  thf(func_def_11, type, butlast: !>[X0: $tType]:(list @ X0 > list @ X0)).
% 3.28/1.84  thf(func_def_12, type, concat: !>[X0: $tType]:(list @ list @ X0 > list @ X0)).
% 3.28/1.84  thf(func_def_13, type, insert: !>[X0: $tType]:(X0 > list @ X0 > list @ X0)).
% 3.28/1.84  thf(func_def_14, type, last: !>[X0: $tType]:(list @ X0 > X0)).
% 3.28/1.84  thf(func_def_15, type, lenlex: !>[X0: $tType]:(set @ product_prod @ X0 @ X0 > set @ product_prod @ list @ X0 @ list @ X0)).
% 3.28/1.84  thf(func_def_16, type, lex: !>[X0: $tType]:(set @ product_prod @ X0 @ X0 > set @ product_prod @ list @ X0 @ list @ X0)).
% 3.28/1.84  thf(func_def_17, type, lexord: !>[X0: $tType]:(set @ product_prod @ X0 @ X0 > set @ product_prod @ list @ X0 @ list @ X0)).
% 3.28/1.84  thf(func_def_18, type, cons: !>[X0: $tType]:(X0 > list @ X0 > list @ X0)).
% 3.28/1.84  thf(func_def_19, type, nil: !>[X0: $tType]:(list @ X0)).
% 3.28/1.84  thf(func_def_20, type, list_ex1: !>[X0: $tType]:((X0 > $o) > list @ X0 > $o)).
% 3.28/1.84  thf(func_def_21, type, list_update: !>[X0: $tType]:(list @ X0 > nat > X0 > list @ X0)).
% 3.28/1.84  thf(func_def_22, type, listrel: !>[X0: $tType, X1: $tType]:(set @ product_prod @ X0 @ X1 > set @ product_prod @ list @ X0 @ list @ X1)).
% 3.28/1.84  thf(func_def_23, type, listrel1: !>[X0: $tType]:(set @ product_prod @ X0 @ X0 > set @ product_prod @ list @ X0 @ list @ X0)).
% 3.28/1.84  thf(func_def_24, type, maps: !>[X0: $tType, X1: $tType]:((X0 > list @ X1) > list @ X0 > list @ X1)).
% 3.28/1.84  thf(func_def_25, type, measures: !>[X0: $tType]:(list @ (X0 > nat) > set @ product_prod @ X0 @ X0)).
% 3.28/1.84  thf(func_def_26, type, nth: !>[X0: $tType]:(list @ X0 > nat > X0)).
% 3.28/1.84  thf(func_def_27, type, product_lists: !>[X0: $tType]:(list @ list @ X0 > list @ list @ X0)).
% 3.28/1.84  thf(func_def_28, type, rotate1: !>[X0: $tType]:(list @ X0 > list @ X0)).
% 3.28/1.84  thf(func_def_29, type, subseqs: !>[X0: $tType]:(list @ X0 > list @ list @ X0)).
% 3.28/1.84  thf(func_def_30, type, take: !>[X0: $tType]:(nat > list @ X0 > list @ X0)).
% 3.28/1.84  thf(func_def_31, type, size_size: !>[X0: $tType]:(X0 > nat)).
% 3.28/1.84  thf(func_def_32, type, ord_less: !>[X0: $tType]:(X0 > X0 > $o)).
% 3.28/1.84  thf(func_def_33, type, pHoare1053570893_exec1: set @ product_prod @ product_prod @ list @ com @ state @ product_prod @ list @ com @ state).
% 3.28/1.84  thf(func_def_34, type, pHoare1053570959_execs: state > list @ com > state > $o).
% 3.28/1.84  thf(func_def_35, type, pHoare1335526537termis: list @ com > state > $o).
% 3.28/1.84  thf(func_def_36, type, cond: (state > $o) > com > com > com).
% 3.28/1.84  thf(func_def_37, type, do: (state > set @ state) > com).
% 3.28/1.84  thf(func_def_38, type, semi: com > com > com).
% 3.28/1.84  thf(func_def_39, type, while: (state > $o) > com > com).
% 3.28/1.84  thf(func_def_40, type, exec: state > com > state > $o).
% 3.28/1.84  thf(func_def_41, type, termi: com > state > $o).
% 3.28/1.84  thf(func_def_42, type, product_Pair: !>[X0: $tType, X1: $tType]:(X0 > X1 > product_prod @ X0 @ X1)).
% 3.28/1.84  thf(func_def_43, type, produc2004651681e_prod: !>[X0: $tType, X1: $tType, X2: $tType]:((X0 > X1 > X2) > product_prod @ X0 @ X1 > X2)).
% 3.28/1.84  thf(func_def_44, type, product_rec_prod: !>[X0: $tType, X1: $tType, X2: $tType]:((X0 > X1 > X2) > product_prod @ X0 @ X1 > X2)).
% 3.28/1.84  thf(func_def_45, type, irrefl: !>[X0: $tType]:(set @ product_prod @ X0 @ X0 > $o)).
% 3.28/1.84  thf(func_def_46, type, collect: !>[X0: $tType]:((X0 > $o) > set @ X0)).
% 3.28/1.84  thf(func_def_47, type, transitive_rtrancl: !>[X0: $tType]:(set @ product_prod @ X0 @ X0 > set @ product_prod @ X0 @ X0)).
% 3.28/1.84  thf(func_def_48, type, member: !>[X0: $tType]:(X0 > set @ X0 > $o)).
% 3.28/1.84  thf(func_def_49, type, c: com).
% 3.28/1.84  thf(func_def_50, type, c2: com).
% 3.28/1.84  thf(func_def_51, type, cs: list @ com).
% 3.28/1.84  thf(func_def_52, type, s: state).
% 3.28/1.84  thf(func_def_53, type, s2: state).
% 3.28/1.84  thf(func_def_73, type, sP0: !>[X0: $tType]:(set @ product_prod @ X0 @ X0 > X0 > X0 > $o)).
% 3.28/1.84  thf(func_def_74, type, sP1: state > com > list @ com > list @ com > (state > $o) > state > $o).
% 3.28/1.84  thf(func_def_75, type, sP2: list @ com > list @ com > (state > $o) > state > state > $o).
% 3.28/1.84  thf(func_def_76, type, sK3: !>[X0: $tType]:(X0 > X0 > X0)).
% 3.28/1.84  thf(func_def_77, type, sK4: !>[X0: $tType]:(set @ product_prod @ X0 @ X0 > X0 > X0 > X0)).
% 3.28/1.84  thf(func_def_78, type, sK5: !>[X0: $tType]:(set @ product_prod @ X0 @ X0 > X0 > X0 > X0)).
% 3.28/1.84  thf(func_def_79, type, sK6: !>[X0: $tType]:(set @ product_prod @ X0 @ X0 > X0 > X0 > X0)).
% 3.28/1.84  thf(func_def_80, type, sK7: !>[X0: $tType]:((list @ X0 > list @ X0 > $o) > list @ X0)).
% 3.28/1.84  thf(func_def_81, type, sK8: !>[X0: $tType]:((list @ X0 > list @ X0 > $o) > X0)).
% 3.28/1.84  thf(func_def_82, type, sK9: !>[X0: $tType]:((list @ X0 > list @ X0 > $o) > list @ X0)).
% 3.28/1.84  thf(func_def_83, type, sK10: !>[X0: $tType]:((list @ X0 > list @ X0 > $o) > X0)).
% 3.28/1.84  thf(func_def_84, type, sK11: !>[X0: $tType]:((list @ X0 > list @ X0 > $o) > list @ X0)).
% 3.28/1.84  thf(func_def_85, type, sK12: !>[X0: $tType]:((list @ X0 > list @ X0 > $o) > list @ X0)).
% 3.28/1.84  thf(func_def_86, type, sK13: !>[X0: $tType, X1: $tType]:(set @ product_prod @ product_prod @ X1 @ X0 @ product_prod @ X1 @ X0 > X0 > X1 > X0 > X1 > X1)).
% 3.28/1.84  thf(func_def_87, type, sK14: !>[X0: $tType, X1: $tType]:(set @ product_prod @ product_prod @ X1 @ X0 @ product_prod @ X1 @ X0 > X0 > X1 > X0 > X1 > X0)).
% 3.28/1.84  thf(func_def_88, type, sK15: com > state > (state > $o) > state).
% 3.28/1.84  thf(func_def_89, type, sK16: !>[X0: $tType]:(product_prod @ list @ X0 @ list @ X0 > X0)).
% 3.28/1.84  thf(func_def_90, type, sK17: !>[X0: $tType]:(product_prod @ list @ X0 @ list @ X0 > list @ X0)).
% 3.28/1.84  thf(func_def_91, type, sK18: !>[X0: $tType]:(product_prod @ list @ X0 @ list @ X0 > X0)).
% 3.28/1.84  thf(func_def_92, type, sK19: !>[X0: $tType]:(product_prod @ list @ X0 @ list @ X0 > list @ X0)).
% 3.28/1.84  thf(func_def_93, type, sK20: !>[X0: $tType]:(product_prod @ list @ X0 @ list @ X0 > list @ X0)).
% 3.28/1.84  thf(func_def_94, type, sK21: !>[X0: $tType]:(product_prod @ list @ X0 @ list @ X0 > list @ X0)).
% 3.28/1.84  thf(func_def_95, type, sK22: !>[X0: $tType]:((X0 > X0 > $o) > X0)).
% 3.28/1.84  thf(func_def_96, type, sK23: !>[X0: $tType]:((X0 > X0 > $o) > set @ product_prod @ X0 @ X0 > X0)).
% 3.28/1.84  thf(func_def_97, type, sK24: !>[X0: $tType]:((X0 > X0 > $o) > set @ product_prod @ X0 @ X0 > X0)).
% 3.28/1.84  thf(func_def_98, type, sK25: !>[X0: $tType]:((X0 > X0 > $o) > set @ product_prod @ X0 @ X0 > X0)).
% 3.28/1.84  thf(func_def_99, type, sK26: !>[X0: $tType, X1: $tType]:(product_prod @ X0 @ X1 > X0)).
% 3.28/1.84  thf(func_def_100, type, sK27: !>[X0: $tType, X1: $tType]:(product_prod @ X0 @ X1 > X1)).
% 3.28/1.84  thf(func_def_101, type, sK28: !>[X0: $tType, X1: $tType]:((product_prod @ X1 @ X0 > $o) > X1)).
% 3.28/1.84  thf(func_def_102, type, sK29: !>[X0: $tType, X1: $tType]:((product_prod @ X1 @ X0 > $o) > X0)).
% 3.28/1.84  thf(func_def_103, type, sK30: !>[X0: $tType]:(set @ product_prod @ X0 @ X0 > X0 > X0 > X0)).
% 3.28/1.84  thf(func_def_104, type, sK31: !>[X0: $tType]:(list @ list @ X0 > list @ list @ X0)).
% 3.28/1.84  thf(func_def_105, type, sK32: !>[X0: $tType]:(list @ list @ X0 > X0)).
% 3.28/1.84  thf(func_def_106, type, sK33: !>[X0: $tType]:(list @ list @ X0 > list @ X0)).
% 3.28/1.84  thf(func_def_107, type, sK34: !>[X0: $tType]:(list @ list @ X0 > list @ list @ X0)).
% 3.28/1.84  thf(func_def_108, type, sK35: !>[X0: $tType]:(list @ X0 > X0)).
% 3.28/1.84  thf(func_def_109, type, sK36: !>[X0: $tType]:(list @ X0 > list @ X0)).
% 3.28/1.84  thf(func_def_110, type, sK37: !>[X0: $tType]:((list @ X0 > $o) > X0)).
% 3.28/1.84  thf(func_def_111, type, sK38: !>[X0: $tType]:((list @ X0 > $o) > X0)).
% 3.28/1.84  thf(func_def_112, type, sK39: !>[X0: $tType]:((list @ X0 > $o) > X0)).
% 3.28/1.84  thf(func_def_113, type, sK40: !>[X0: $tType]:((list @ X0 > $o) > list @ X0)).
% 3.28/1.84  thf(func_def_114, type, sK41: !>[X0: $tType, X1: $tType, X2: $tType, X3: $tType]:(product_prod @ X0 @ product_prod @ X1 @ product_prod @ X2 @ X3 > X0)).
% 3.28/1.84  thf(func_def_115, type, sK42: !>[X0: $tType, X1: $tType, X2: $tType, X3: $tType]:(product_prod @ X0 @ product_prod @ X1 @ product_prod @ X2 @ X3 > X1)).
% 3.28/1.84  thf(func_def_116, type, sK43: !>[X0: $tType, X1: $tType, X2: $tType, X3: $tType]:(product_prod @ X0 @ product_prod @ X1 @ product_prod @ X2 @ X3 > X2)).
% 3.28/1.84  thf(func_def_117, type, sK44: !>[X0: $tType, X1: $tType, X2: $tType, X3: $tType]:(product_prod @ X0 @ product_prod @ X1 @ product_prod @ X2 @ X3 > X3)).
% 3.28/1.84  thf(func_def_118, type, sK45: !>[X0: $tType]:(list @ X0 > X0)).
% 3.28/1.84  thf(func_def_119, type, sK46: !>[X0: $tType]:(list @ X0 > X0)).
% 3.28/1.84  thf(func_def_120, type, sK47: !>[X0: $tType]:(list @ X0 > list @ X0)).
% 3.28/1.84  thf(func_def_121, type, sK48: !>[X0: $tType]:(list @ X0 > X0)).
% 3.28/1.84  thf(func_def_122, type, sK49: !>[X0: $tType, X1: $tType]:((list @ X0 > list @ X1 > $o) > X0)).
% 3.28/1.84  thf(func_def_123, type, sK50: !>[X0: $tType, X1: $tType]:((list @ X0 > list @ X1 > $o) > list @ X0)).
% 3.28/1.84  thf(func_def_124, type, sK51: !>[X0: $tType, X1: $tType]:((list @ X0 > list @ X1 > $o) > X1)).
% 3.28/1.84  thf(func_def_125, type, sK52: !>[X0: $tType, X1: $tType]:((list @ X0 > list @ X1 > $o) > list @ X1)).
% 3.28/1.84  thf(func_def_126, type, sK53: !>[X0: $tType, X1: $tType]:((list @ X0 > list @ X1 > $o) > X1)).
% 3.28/1.84  thf(func_def_127, type, sK54: !>[X0: $tType, X1: $tType]:((list @ X0 > list @ X1 > $o) > list @ X1)).
% 3.28/1.84  thf(func_def_128, type, sK55: !>[X0: $tType, X1: $tType]:((list @ X0 > list @ X1 > $o) > X0)).
% 3.28/1.84  thf(func_def_129, type, sK56: !>[X0: $tType, X1: $tType]:((list @ X0 > list @ X1 > $o) > list @ X0)).
% 3.28/1.84  thf(func_def_130, type, sK57: !>[X0: $tType]:(list @ X0 > list @ X0 > list @ X0 > list @ X0 > list @ X0)).
% 3.28/1.84  thf(func_def_131, type, sK58: !>[X0: $tType, X1: $tType]:((X0 > X1 > $o) > set @ product_prod @ product_prod @ X0 @ X1 @ product_prod @ X0 @ X1 > X1 > X0 > X0)).
% 3.28/1.84  thf(func_def_132, type, sK59: !>[X0: $tType, X1: $tType]:((X0 > X1 > $o) > set @ product_prod @ product_prod @ X0 @ X1 @ product_prod @ X0 @ X1 > X1 > X0 > X1)).
% 3.28/1.84  thf(func_def_133, type, sK60: !>[X0: $tType, X1: $tType]:((X0 > X1 > $o) > set @ product_prod @ product_prod @ X0 @ X1 @ product_prod @ X0 @ X1 > X1 > X0 > X0)).
% 3.28/1.84  thf(func_def_134, type, sK61: !>[X0: $tType, X1: $tType]:((X0 > X1 > $o) > set @ product_prod @ product_prod @ X0 @ X1 @ product_prod @ X0 @ X1 > X1 > X0 > X1)).
% 3.28/1.84  thf(func_def_135, type, sK62: !>[X0: $tType]:(product_prod @ list @ X0 @ list @ X0 > X0)).
% 3.28/1.84  thf(func_def_136, type, sK63: !>[X0: $tType]:(product_prod @ list @ X0 @ list @ X0 > list @ X0)).
% 3.28/1.84  thf(func_def_137, type, sK64: !>[X0: $tType]:(product_prod @ list @ X0 @ list @ X0 > list @ X0)).
% 3.28/1.84  thf(func_def_138, type, sK65: !>[X0: $tType]:(product_prod @ list @ X0 @ list @ X0 > list @ X0)).
% 3.28/1.84  thf(func_def_139, type, sK66: !>[X0: $tType]:(list @ X0 > list @ X0 > list @ X0 > X0 > list @ X0)).
% 3.28/1.84  thf(func_def_140, type, sK67: !>[X0: $tType, X1: $tType]:(product_prod @ (X0 > X1) @ product_prod @ list @ X0 @ list @ X1 > X0 > X1)).
% 3.28/1.84  thf(func_def_141, type, sK68: !>[X0: $tType, X1: $tType]:(product_prod @ (X0 > X1) @ product_prod @ list @ X0 @ list @ X1 > X0)).
% 3.28/1.84  thf(func_def_142, type, sK69: !>[X0: $tType, X1: $tType]:(product_prod @ (X0 > X1) @ product_prod @ list @ X0 @ list @ X1 > list @ X0)).
% 3.28/1.84  thf(func_def_143, type, sK70: !>[X0: $tType, X1: $tType]:(product_prod @ (X0 > X1) @ product_prod @ list @ X0 @ list @ X1 > list @ X1)).
% 3.28/1.84  thf(func_def_144, type, sK71: !>[X0: $tType, X1: $tType]:(product_prod @ (X0 > X1) @ product_prod @ list @ X0 @ list @ X1 > X0 > X1)).
% 3.28/1.84  thf(func_def_145, type, sK72: !>[X0: $tType, X1: $tType]:(product_prod @ (X0 > X1) @ product_prod @ list @ X0 @ list @ X1 > list @ X1)).
% 3.28/1.84  thf(func_def_146, type, sK73: !>[X0: $tType, X1: $tType]:((X0 > X1 > $o) > set @ product_prod @ product_prod @ X0 @ X1 @ product_prod @ X0 @ X1 > X1 > X0 > X0)).
% 3.28/1.84  thf(func_def_147, type, sK74: !>[X0: $tType, X1: $tType]:((X0 > X1 > $o) > set @ product_prod @ product_prod @ X0 @ X1 @ product_prod @ X0 @ X1 > X1 > X0 > X1)).
% 3.28/1.84  thf(func_def_148, type, sK75: !>[X0: $tType, X1: $tType]:((X0 > X1 > $o) > set @ product_prod @ product_prod @ X0 @ X1 @ product_prod @ X0 @ X1 > X1 > X0 > X0)).
% 3.28/1.84  thf(func_def_149, type, sK76: !>[X0: $tType, X1: $tType]:((X0 > X1 > $o) > set @ product_prod @ product_prod @ X0 @ X1 @ product_prod @ X0 @ X1 > X1 > X0 > X1)).
% 3.28/1.84  thf(func_def_150, type, sK77: state > list @ com > com > state).
% 3.28/1.84  thf(func_def_151, type, sK78: !>[X0: $tType, X1: $tType, X2: $tType, X3: $tType, X4: $tType, X5: $tType]:((product_prod @ X5 @ product_prod @ X4 @ product_prod @ X3 @ product_prod @ X2 @ product_prod @ X1 @ X0 > $o) > X5)).
% 3.28/1.84  thf(func_def_152, type, sK79: !>[X0: $tType, X1: $tType, X2: $tType, X3: $tType, X4: $tType, X5: $tType]:((product_prod @ X5 @ product_prod @ X4 @ product_prod @ X3 @ product_prod @ X2 @ product_prod @ X1 @ X0 > $o) > X4)).
% 3.28/1.84  thf(func_def_153, type, sK80: !>[X0: $tType, X1: $tType, X2: $tType, X3: $tType, X4: $tType, X5: $tType]:((product_prod @ X5 @ product_prod @ X4 @ product_prod @ X3 @ product_prod @ X2 @ product_prod @ X1 @ X0 > $o) > X3)).
% 3.28/1.84  thf(func_def_154, type, sK81: !>[X0: $tType, X1: $tType, X2: $tType, X3: $tType, X4: $tType, X5: $tType]:((product_prod @ X5 @ product_prod @ X4 @ product_prod @ X3 @ product_prod @ X2 @ product_prod @ X1 @ X0 > $o) > X2)).
% 3.28/1.84  thf(func_def_155, type, sK82: !>[X0: $tType, X1: $tType, X2: $tType, X3: $tType, X4: $tType, X5: $tType]:((product_prod @ X5 @ product_prod @ X4 @ product_prod @ X3 @ product_prod @ X2 @ product_prod @ X1 @ X0 > $o) > X1)).
% 3.28/1.84  thf(func_def_156, type, sK83: !>[X0: $tType, X1: $tType, X2: $tType, X3: $tType, X4: $tType, X5: $tType]:((product_prod @ X5 @ product_prod @ X4 @ product_prod @ X3 @ product_prod @ X2 @ product_prod @ X1 @ X0 > $o) > X0)).
% 3.28/1.84  thf(func_def_157, type, sK84: !>[X0: $tType, X1: $tType]:(((X0 > X1) > list @ X0 > list @ X1 > $o) > X0 > X1)).
% 3.28/1.84  thf(func_def_158, type, sK85: !>[X0: $tType, X1: $tType]:(((X0 > X1) > list @ X0 > list @ X1 > $o) > list @ X1)).
% 3.28/1.84  thf(func_def_159, type, sK86: !>[X0: $tType, X1: $tType]:(((X0 > X1) > list @ X0 > list @ X1 > $o) > X0 > X1)).
% 3.28/1.84  thf(func_def_160, type, sK87: !>[X0: $tType, X1: $tType]:(((X0 > X1) > list @ X0 > list @ X1 > $o) > X0)).
% 3.28/1.84  thf(func_def_161, type, sK88: !>[X0: $tType, X1: $tType]:(((X0 > X1) > list @ X0 > list @ X1 > $o) > list @ X0)).
% 3.28/1.84  thf(func_def_162, type, sK89: !>[X0: $tType, X1: $tType]:(((X0 > X1) > list @ X0 > list @ X1 > $o) > list @ X1)).
% 3.28/1.84  thf(func_def_163, type, sK90: !>[X0: $tType, X1: $tType, X2: $tType]:((product_prod @ X2 @ product_prod @ X1 @ X0 > $o) > X2)).
% 3.28/1.84  thf(func_def_164, type, sK91: !>[X0: $tType, X1: $tType, X2: $tType]:((product_prod @ X2 @ product_prod @ X1 @ X0 > $o) > X1)).
% 3.28/1.84  thf(func_def_165, type, sK92: !>[X0: $tType, X1: $tType, X2: $tType]:((product_prod @ X2 @ product_prod @ X1 @ X0 > $o) > X0)).
% 3.28/1.84  thf(func_def_166, type, sK93: !>[X0: $tType, X1: $tType]:((product_prod @ X1 @ X0 > $o) > X1)).
% 3.28/1.84  thf(func_def_167, type, sK94: !>[X0: $tType, X1: $tType]:((product_prod @ X1 @ X0 > $o) > X0)).
% 3.28/1.84  thf(func_def_168, type, sK95: !>[X0: $tType]:(list @ X0 > X0)).
% 3.28/1.84  thf(func_def_169, type, sK96: !>[X0: $tType]:(list @ X0 > list @ X0)).
% 3.28/1.84  thf(func_def_170, type, sK97: !>[X0: $tType]:(set @ product_prod @ X0 @ X0 > X0 > X0 > X0)).
% 3.28/1.84  thf(func_def_171, type, sK98: !>[X0: $tType]:((X0 > $o) > set @ product_prod @ X0 @ X0 > X0 > X0)).
% 3.28/1.84  thf(func_def_172, type, sK99: !>[X0: $tType]:((X0 > $o) > set @ product_prod @ X0 @ X0 > X0 > X0)).
% 3.28/1.84  thf(func_def_173, type, sK100: !>[X0: $tType, X1: $tType, X2: $tType, X3: $tType, X4: $tType]:(product_prod @ X0 @ product_prod @ X1 @ product_prod @ X2 @ product_prod @ X3 @ X4 > X0)).
% 3.28/1.84  thf(func_def_174, type, sK101: !>[X0: $tType, X1: $tType, X2: $tType, X3: $tType, X4: $tType]:(product_prod @ X0 @ product_prod @ X1 @ product_prod @ X2 @ product_prod @ X3 @ X4 > X1)).
% 3.28/1.84  thf(func_def_175, type, sK102: !>[X0: $tType, X1: $tType, X2: $tType, X3: $tType, X4: $tType]:(product_prod @ X0 @ product_prod @ X1 @ product_prod @ X2 @ product_prod @ X3 @ X4 > X2)).
% 3.28/1.84  thf(func_def_176, type, sK103: !>[X0: $tType, X1: $tType, X2: $tType, X3: $tType, X4: $tType]:(product_prod @ X0 @ product_prod @ X1 @ product_prod @ X2 @ product_prod @ X3 @ X4 > X3)).
% 3.28/1.84  thf(func_def_177, type, sK104: !>[X0: $tType, X1: $tType, X2: $tType, X3: $tType, X4: $tType]:(product_prod @ X0 @ product_prod @ X1 @ product_prod @ X2 @ product_prod @ X3 @ X4 > X4)).
% 3.28/1.84  thf(func_def_178, type, sK105: !>[X0: $tType]:(product_prod @ (X0 > X0 > $o) @ list @ X0 > X0 > X0 > $o)).
% 3.28/1.84  thf(func_def_179, type, sK106: !>[X0: $tType]:(product_prod @ (X0 > X0 > $o) @ list @ X0 > X0 > X0 > $o)).
% 3.28/1.84  thf(func_def_180, type, sK107: !>[X0: $tType]:(product_prod @ (X0 > X0 > $o) @ list @ X0 > X0)).
% 3.28/1.84  thf(func_def_181, type, sK108: !>[X0: $tType]:(product_prod @ (X0 > X0 > $o) @ list @ X0 > list @ X0)).
% 3.28/1.84  thf(func_def_182, type, sK109: !>[X0: $tType, X1: $tType, X2: $tType, X3: $tType]:((product_prod @ X3 @ product_prod @ X2 @ product_prod @ X1 @ X0 > $o) > X3)).
% 3.28/1.84  thf(func_def_183, type, sK110: !>[X0: $tType, X1: $tType, X2: $tType, X3: $tType]:((product_prod @ X3 @ product_prod @ X2 @ product_prod @ X1 @ X0 > $o) > X2)).
% 3.28/1.84  thf(func_def_184, type, sK111: !>[X0: $tType, X1: $tType, X2: $tType, X3: $tType]:((product_prod @ X3 @ product_prod @ X2 @ product_prod @ X1 @ X0 > $o) > X1)).
% 3.28/1.84  thf(func_def_185, type, sK112: !>[X0: $tType, X1: $tType, X2: $tType, X3: $tType]:((product_prod @ X3 @ product_prod @ X2 @ product_prod @ X1 @ X0 > $o) > X0)).
% 3.28/1.84  thf(func_def_186, type, sK113: !>[X0: $tType]:((list @ X0 > $o) > X0)).
% 3.28/1.84  thf(func_def_187, type, sK114: !>[X0: $tType]:((list @ X0 > $o) > X0)).
% 3.28/1.84  thf(func_def_188, type, sK115: !>[X0: $tType]:((list @ X0 > $o) > list @ X0)).
% 3.28/1.84  thf(func_def_189, type, sK116: !>[X0: $tType, X1: $tType, X2: $tType, X3: $tType, X4: $tType, X5: $tType, X6: $tType]:((product_prod @ X6 @ product_prod @ X5 @ product_prod @ X4 @ product_prod @ X3 @ product_prod @ X2 @ product_prod @ X1 @ X0 > $o) > X6)).
% 3.28/1.84  thf(func_def_190, type, sK117: !>[X0: $tType, X1: $tType, X2: $tType, X3: $tType, X4: $tType, X5: $tType, X6: $tType]:((product_prod @ X6 @ product_prod @ X5 @ product_prod @ X4 @ product_prod @ X3 @ product_prod @ X2 @ product_prod @ X1 @ X0 > $o) > X5)).
% 3.28/1.84  thf(func_def_191, type, sK118: !>[X0: $tType, X1: $tType, X2: $tType, X3: $tType, X4: $tType, X5: $tType, X6: $tType]:((product_prod @ X6 @ product_prod @ X5 @ product_prod @ X4 @ product_prod @ X3 @ product_prod @ X2 @ product_prod @ X1 @ X0 > $o) > X4)).
% 3.28/1.84  thf(func_def_192, type, sK119: !>[X0: $tType, X1: $tType, X2: $tType, X3: $tType, X4: $tType, X5: $tType, X6: $tType]:((product_prod @ X6 @ product_prod @ X5 @ product_prod @ X4 @ product_prod @ X3 @ product_prod @ X2 @ product_prod @ X1 @ X0 > $o) > X3)).
% 3.28/1.84  thf(func_def_193, type, sK120: !>[X0: $tType, X1: $tType, X2: $tType, X3: $tType, X4: $tType, X5: $tType, X6: $tType]:((product_prod @ X6 @ product_prod @ X5 @ product_prod @ X4 @ product_prod @ X3 @ product_prod @ X2 @ product_prod @ X1 @ X0 > $o) > X2)).
% 3.28/1.84  thf(func_def_194, type, sK121: !>[X0: $tType, X1: $tType, X2: $tType, X3: $tType, X4: $tType, X5: $tType, X6: $tType]:((product_prod @ X6 @ product_prod @ X5 @ product_prod @ X4 @ product_prod @ X3 @ product_prod @ X2 @ product_prod @ X1 @ X0 > $o) > X1)).
% 3.28/1.84  thf(func_def_195, type, sK122: !>[X0: $tType, X1: $tType, X2: $tType, X3: $tType, X4: $tType, X5: $tType, X6: $tType]:((product_prod @ X6 @ product_prod @ X5 @ product_prod @ X4 @ product_prod @ X3 @ product_prod @ X2 @ product_prod @ X1 @ X0 > $o) > X0)).
% 3.28/1.84  thf(func_def_196, type, sK123: !>[X0: $tType, X1: $tType, X2: $tType, X3: $tType, X4: $tType, X5: $tType]:(product_prod @ X0 @ product_prod @ X1 @ product_prod @ X2 @ product_prod @ X3 @ product_prod @ X4 @ X5 > X0)).
% 3.28/1.84  thf(func_def_197, type, sK124: !>[X0: $tType, X1: $tType, X2: $tType, X3: $tType, X4: $tType, X5: $tType]:(product_prod @ X0 @ product_prod @ X1 @ product_prod @ X2 @ product_prod @ X3 @ product_prod @ X4 @ X5 > X1)).
% 3.28/1.84  thf(func_def_198, type, sK125: !>[X0: $tType, X1: $tType, X2: $tType, X3: $tType, X4: $tType, X5: $tType]:(product_prod @ X0 @ product_prod @ X1 @ product_prod @ X2 @ product_prod @ X3 @ product_prod @ X4 @ X5 > X2)).
% 3.28/1.84  thf(func_def_199, type, sK126: !>[X0: $tType, X1: $tType, X2: $tType, X3: $tType, X4: $tType, X5: $tType]:(product_prod @ X0 @ product_prod @ X1 @ product_prod @ X2 @ product_prod @ X3 @ product_prod @ X4 @ X5 > X3)).
% 3.28/1.84  thf(func_def_200, type, sK127: !>[X0: $tType, X1: $tType, X2: $tType, X3: $tType, X4: $tType, X5: $tType]:(product_prod @ X0 @ product_prod @ X1 @ product_prod @ X2 @ product_prod @ X3 @ product_prod @ X4 @ X5 > X4)).
% 3.28/1.84  thf(func_def_201, type, sK128: !>[X0: $tType, X1: $tType, X2: $tType, X3: $tType, X4: $tType, X5: $tType]:(product_prod @ X0 @ product_prod @ X1 @ product_prod @ X2 @ product_prod @ X3 @ product_prod @ X4 @ X5 > X5)).
% 3.28/1.84  thf(func_def_202, type, sK129: !>[X0: $tType]:((list @ X0 > $o) > X0)).
% 3.28/1.84  thf(func_def_203, type, sK130: !>[X0: $tType]:((list @ X0 > $o) > list @ X0)).
% 3.28/1.84  thf(func_def_204, type, sK131: !>[X0: $tType, X1: $tType]:(product_prod @ X0 @ X1 > X0)).
% 3.28/1.84  thf(func_def_205, type, sK132: !>[X0: $tType, X1: $tType]:(product_prod @ X0 @ X1 > X1)).
% 3.28/1.84  thf(func_def_206, type, sK133: !>[X0: $tType, X1: $tType, X2: $tType, X3: $tType, X4: $tType, X5: $tType, X6: $tType]:(product_prod @ X0 @ product_prod @ X1 @ product_prod @ X2 @ product_prod @ X3 @ product_prod @ X4 @ product_prod @ X5 @ X6 > X0)).
% 3.28/1.84  thf(func_def_207, type, sK134: !>[X0: $tType, X1: $tType, X2: $tType, X3: $tType, X4: $tType, X5: $tType, X6: $tType]:(product_prod @ X0 @ product_prod @ X1 @ product_prod @ X2 @ product_prod @ X3 @ product_prod @ X4 @ product_prod @ X5 @ X6 > X1)).
% 3.28/1.84  thf(func_def_208, type, sK135: !>[X0: $tType, X1: $tType, X2: $tType, X3: $tType, X4: $tType, X5: $tType, X6: $tType]:(product_prod @ X0 @ product_prod @ X1 @ product_prod @ X2 @ product_prod @ X3 @ product_prod @ X4 @ product_prod @ X5 @ X6 > X2)).
% 3.28/1.84  thf(func_def_209, type, sK136: !>[X0: $tType, X1: $tType, X2: $tType, X3: $tType, X4: $tType, X5: $tType, X6: $tType]:(product_prod @ X0 @ product_prod @ X1 @ product_prod @ X2 @ product_prod @ X3 @ product_prod @ X4 @ product_prod @ X5 @ X6 > X3)).
% 3.28/1.84  thf(func_def_210, type, sK137: !>[X0: $tType, X1: $tType, X2: $tType, X3: $tType, X4: $tType, X5: $tType, X6: $tType]:(product_prod @ X0 @ product_prod @ X1 @ product_prod @ X2 @ product_prod @ X3 @ product_prod @ X4 @ product_prod @ X5 @ X6 > X4)).
% 3.28/1.84  thf(func_def_211, type, sK138: !>[X0: $tType, X1: $tType, X2: $tType, X3: $tType, X4: $tType, X5: $tType, X6: $tType]:(product_prod @ X0 @ product_prod @ X1 @ product_prod @ X2 @ product_prod @ X3 @ product_prod @ X4 @ product_prod @ X5 @ X6 > X5)).
% 3.28/1.84  thf(func_def_212, type, sK139: !>[X0: $tType, X1: $tType, X2: $tType, X3: $tType, X4: $tType, X5: $tType, X6: $tType]:(product_prod @ X0 @ product_prod @ X1 @ product_prod @ X2 @ product_prod @ X3 @ product_prod @ X4 @ product_prod @ X5 @ X6 > X6)).
% 3.28/1.84  thf(func_def_213, type, sK140: !>[X0: $tType, X1: $tType, X2: $tType]:(product_prod @ X0 @ product_prod @ X1 @ X2 > X0)).
% 3.28/1.84  thf(func_def_214, type, sK141: !>[X0: $tType, X1: $tType, X2: $tType]:(product_prod @ X0 @ product_prod @ X1 @ X2 > X1)).
% 3.28/1.84  thf(func_def_215, type, sK142: !>[X0: $tType, X1: $tType, X2: $tType]:(product_prod @ X0 @ product_prod @ X1 @ X2 > X2)).
% 3.28/1.84  thf(func_def_216, type, sK143: !>[X0: $tType]:((X0 > $o) > set @ product_prod @ X0 @ X0 > X0 > X0)).
% 3.28/1.84  thf(func_def_217, type, sK144: !>[X0: $tType]:((X0 > $o) > set @ product_prod @ X0 @ X0 > X0 > X0)).
% 3.28/1.84  thf(func_def_218, type, sK145: !>[X0: $tType]:(set @ product_prod @ X0 @ X0 > X0 > X0 > X0)).
% 3.28/1.84  thf(func_def_219, type, sK146: !>[X0: $tType]:((list @ X0 > $o) > X0)).
% 3.28/1.84  thf(func_def_220, type, sK147: !>[X0: $tType]:((list @ X0 > $o) > list @ X0)).
% 3.28/1.84  thf(func_def_221, type, sK148: !>[X0: $tType]:(product_prod @ (X0 > X0 > $o) @ list @ X0 > X0 > X0 > $o)).
% 3.28/1.84  thf(func_def_222, type, sK149: !>[X0: $tType]:(product_prod @ (X0 > X0 > $o) @ list @ X0 > X0)).
% 3.28/1.84  thf(func_def_223, type, sK150: !>[X0: $tType]:(product_prod @ (X0 > X0 > $o) @ list @ X0 > X0)).
% 3.28/1.84  thf(func_def_224, type, sK151: !>[X0: $tType]:(product_prod @ (X0 > X0 > $o) @ list @ X0 > list @ X0)).
% 3.28/1.84  thf(func_def_225, type, sK152: !>[X0: $tType]:(product_prod @ (X0 > X0 > $o) @ list @ X0 > X0 > X0 > $o)).
% 3.28/1.84  thf(func_def_226, type, sK153: !>[X0: $tType]:(product_prod @ (X0 > X0 > $o) @ list @ X0 > X0)).
% 3.28/1.84  thf(func_def_227, type, sK154: !>[X0: $tType]:(product_prod @ (X0 > X0 > $o) @ list @ X0 > X0 > X0 > $o)).
% 3.28/1.84  thf(func_def_228, type, sK155: !>[X0: $tType]:((list @ X0 > $o) > X0)).
% 3.28/1.84  thf(func_def_229, type, sK156: !>[X0: $tType]:((list @ X0 > $o) > list @ X0)).
% 3.28/1.84  thf(func_def_230, type, sK157: !>[X0: $tType]:((list @ X0 > $o) > X0)).
% 3.28/1.84  thf(func_def_231, type, sK158: !>[X0: $tType]:((list @ X0 > list @ X0 > $o) > X0)).
% 3.28/1.84  thf(func_def_232, type, sK159: !>[X0: $tType]:((list @ X0 > list @ X0 > $o) > list @ X0)).
% 3.28/1.84  thf(func_def_233, type, sK160: !>[X0: $tType]:((list @ X0 > list @ X0 > $o) > list @ X0)).
% 3.28/1.84  thf(func_def_234, type, sK161: !>[X0: $tType]:((list @ X0 > list @ X0 > $o) > list @ X0)).
% 3.28/1.84  thf(func_def_235, type, sK162: !>[X0: $tType]:((list @ X0 > $o) > X0)).
% 3.28/1.84  thf(func_def_236, type, sK163: !>[X0: $tType]:((list @ X0 > $o) > X0)).
% 3.28/1.84  thf(func_def_237, type, sK164: !>[X0: $tType]:((list @ X0 > $o) > X0)).
% 3.28/1.84  thf(func_def_238, type, sK165: !>[X0: $tType]:((list @ X0 > $o) > list @ X0)).
% 3.28/1.84  thf(func_def_239, type, sK166: !>[X0: $tType]:(((X0 > X0 > $o) > list @ X0 > $o) > X0 > X0 > $o)).
% 3.28/1.84  thf(func_def_240, type, sK167: !>[X0: $tType]:(((X0 > X0 > $o) > list @ X0 > $o) > X0 > X0 > $o)).
% 3.28/1.84  thf(func_def_241, type, sK168: !>[X0: $tType]:(((X0 > X0 > $o) > list @ X0 > $o) > X0)).
% 3.28/1.84  thf(func_def_242, type, sK169: !>[X0: $tType]:(((X0 > X0 > $o) > list @ X0 > $o) > X0 > X0 > $o)).
% 3.28/1.84  thf(func_def_243, type, sK170: !>[X0: $tType]:(((X0 > X0 > $o) > list @ X0 > $o) > X0)).
% 3.28/1.84  thf(func_def_244, type, sK171: !>[X0: $tType]:(((X0 > X0 > $o) > list @ X0 > $o) > X0)).
% 3.28/1.84  thf(func_def_245, type, sK172: !>[X0: $tType]:(((X0 > X0 > $o) > list @ X0 > $o) > list @ X0)).
% 3.28/1.84  thf(func_def_246, type, sK173: !>[X0: $tType]:(((X0 > X0 > $o) > list @ X0 > $o) > X0 > X0 > $o)).
% 3.28/1.84  thf(func_def_247, type, sK174: !>[X0: $tType]:(((X0 > X0 > $o) > list @ X0 > $o) > X0 > X0 > $o)).
% 3.28/1.84  thf(func_def_248, type, sK175: !>[X0: $tType]:(((X0 > X0 > $o) > list @ X0 > $o) > X0)).
% 3.28/1.84  thf(func_def_249, type, sK176: !>[X0: $tType]:(((X0 > X0 > $o) > list @ X0 > $o) > list @ X0)).
% 3.28/1.84  thf(func_def_250, type, sK177: !>[X0: $tType]:(list @ X0 > X0 > list @ X0 > list @ X0 > list @ X0)).
% 3.28/1.84  thf(func_def_251, type, sK178: !>[X0: $tType]:(list @ X0 > list @ X0)).
% 3.28/1.84  thf(func_def_252, type, sK179: !>[X0: $tType]:(list @ X0 > X0)).
% 3.28/1.84  thf(func_def_253, type, sK180: !>[X0: $tType, X1: $tType, X2: $tType, X3: $tType, X4: $tType]:((product_prod @ X4 @ product_prod @ X3 @ product_prod @ X2 @ product_prod @ X1 @ X0 > $o) > X4)).
% 3.28/1.84  thf(func_def_254, type, sK181: !>[X0: $tType, X1: $tType, X2: $tType, X3: $tType, X4: $tType]:((product_prod @ X4 @ product_prod @ X3 @ product_prod @ X2 @ product_prod @ X1 @ X0 > $o) > X3)).
% 3.28/1.84  thf(func_def_255, type, sK182: !>[X0: $tType, X1: $tType, X2: $tType, X3: $tType, X4: $tType]:((product_prod @ X4 @ product_prod @ X3 @ product_prod @ X2 @ product_prod @ X1 @ X0 > $o) > X2)).
% 3.28/1.84  thf(func_def_256, type, sK183: !>[X0: $tType, X1: $tType, X2: $tType, X3: $tType, X4: $tType]:((product_prod @ X4 @ product_prod @ X3 @ product_prod @ X2 @ product_prod @ X1 @ X0 > $o) > X1)).
% 3.28/1.84  thf(func_def_257, type, sK184: !>[X0: $tType, X1: $tType, X2: $tType, X3: $tType, X4: $tType]:((product_prod @ X4 @ product_prod @ X3 @ product_prod @ X2 @ product_prod @ X1 @ X0 > $o) > X0)).
% 3.28/1.84  thf(func_def_259, type, ph186: !>[X0: $tType]:(X0)).
% 3.28/1.84  thf(f1298,plain,(
% 3.28/1.84    $false),
% 3.28/1.84    inference(subsumption_resolution,[status(thm)],[f1297,f1078])).
% 3.28/1.84  thf(f1078,plain,(
% 3.28/1.84    ((termi @ c2 @ s2) != $true)),
% 3.28/1.84    inference(cnf_transformation,[status(thm)],[f644])).
% 3.28/1.84  thf(f644,plain,(
% 3.28/1.84    ((termi @ c2 @ s2) != $true)),
% 3.28/1.84    inference(flattening,[status(thm)],[f383])).
% 3.28/1.84  thf(f383,plain,(
% 3.28/1.84    ~((termi @ c2 @ s2) = $true)),
% 3.28/1.84    inference(fool_elimination,[status(thm)],[f382])).
% 3.28/1.84  thf(f382,plain,(
% 3.28/1.84    ~(termi @ c2 @ s2)),
% 3.28/1.84    inference(rectify,[status(thm)],[f266])).
% 3.28/1.84  thf(f266,negated_conjecture,(
% 3.28/1.84    ~(termi @ c2 @ s2)),
% 3.28/1.84    inference(negated_conjecture,[status(cth)],[f265])).
% 3.28/1.84  thf(f265,conjecture,(
% 3.28/1.84    (termi @ c2 @ s2)),
% 3.28/1.84    file('/export/starexec/sandbox2/tmp/tmp.esfxdFwDyU/DTF2THF_9204.p',conj_3)).
% 3.28/1.84  thf(f1297,plain,(
% 3.28/1.84    ((termi @ c2 @ s2) = $true)),
% 3.28/1.84    inference(subsumption_resolution,[status(thm)],[f1294,f1133])).
% 3.28/1.84  thf(f1133,plain,(
% 3.28/1.84    ((termi @ c @ s) = $true)),
% 3.28/1.84    inference(cnf_transformation,[status(thm)],[f353])).
% 3.28/1.84  thf(f353,plain,(
% 3.28/1.84    ((termi @ c @ s) = $true)),
% 3.28/1.84    inference(fool_elimination,[status(thm)],[f352])).
% 3.28/1.84  thf(f352,plain,(
% 3.28/1.84    (termi @ c @ s)),
% 3.28/1.84    inference(rectify,[status(thm)],[f263])).
% 3.28/1.84  thf(f263,axiom,(
% 3.28/1.84    (termi @ c @ s)),
% 3.28/1.84    file('/export/starexec/sandbox2/tmp/tmp.esfxdFwDyU/DTF2THF_9204.p',conj_1)).
% 3.28/1.84  thf(f1294,plain,(
% 3.28/1.84    ((termi @ c @ s) != $true) | ((termi @ c2 @ s2) = $true)),
% 3.28/1.84    inference(trivial_inequality_removal,[status(thm)],[f1285])).
% 3.28/1.84  thf(f1285,plain,(
% 3.28/1.84    ((termi @ c @ s) != $true) | ($true != $true) | ((termi @ c2 @ s2) = $true)),
% 3.28/1.84    inference(superposition,[status(thm)],[f1204,f1050])).
% 3.28/1.84  thf(f1050,plain,(
% 3.28/1.84    ((member @ product_prod @ product_prod @ list @ com @ state @ product_prod @ list @ com @ state @ (product_Pair @ product_prod @ list @ com @ state @ product_prod @ list @ com @ state @ (product_Pair @ list @ com @ state @ (cons @ com @ c @ nil @ com) @ s) @ (product_Pair @ list @ com @ state @ (cons @ com @ c2 @ cs) @ s2)) @ (transitive_rtrancl @ product_prod @ list @ com @ state @ pHoare1053570893_exec1)) = $true)),
% 3.28/1.84    inference(cnf_transformation,[status(thm)],[f437])).
% 3.28/1.84  thf(f437,plain,(
% 3.28/1.84    ((member @ product_prod @ product_prod @ list @ com @ state @ product_prod @ list @ com @ state @ (product_Pair @ product_prod @ list @ com @ state @ product_prod @ list @ com @ state @ (product_Pair @ list @ com @ state @ (cons @ com @ c @ nil @ com) @ s) @ (product_Pair @ list @ com @ state @ (cons @ com @ c2 @ cs) @ s2)) @ (transitive_rtrancl @ product_prod @ list @ com @ state @ pHoare1053570893_exec1)) = $true)),
% 3.28/1.84    inference(fool_elimination,[status(thm)],[f436])).
% 3.28/1.84  thf(f436,plain,(
% 3.28/1.84    (member @ product_prod @ product_prod @ list @ com @ state @ product_prod @ list @ com @ state @ (product_Pair @ product_prod @ list @ com @ state @ product_prod @ list @ com @ state @ (product_Pair @ list @ com @ state @ (cons @ com @ c @ nil @ com) @ s) @ (product_Pair @ list @ com @ state @ (cons @ com @ c2 @ cs) @ s2)) @ (transitive_rtrancl @ product_prod @ list @ com @ state @ pHoare1053570893_exec1))),
% 3.28/1.84    inference(rectify,[status(thm)],[f262])).
% 3.28/1.84  thf(f262,axiom,(
% 3.28/1.84    (member @ product_prod @ product_prod @ list @ com @ state @ product_prod @ list @ com @ state @ (product_Pair @ product_prod @ list @ com @ state @ product_prod @ list @ com @ state @ (product_Pair @ list @ com @ state @ (cons @ com @ c @ nil @ com) @ s) @ (product_Pair @ list @ com @ state @ (cons @ com @ c2 @ cs) @ s2)) @ (transitive_rtrancl @ product_prod @ list @ com @ state @ pHoare1053570893_exec1))),
% 3.28/1.84    file('/export/starexec/sandbox2/tmp/tmp.esfxdFwDyU/DTF2THF_9204.p',conj_0)).
% 3.28/1.84  thf(f1204,plain,(
% 3.28/1.84    ( ! [X0 : state,X1 : state] : (($true != (member @ product_prod @ product_prod @ list @ com @ state @ product_prod @ list @ com @ state @ (product_Pair @ product_prod @ list @ com @ state @ product_prod @ list @ com @ state @ (product_Pair @ list @ com @ state @ (cons @ com @ c @ nil @ com) @ X0) @ (product_Pair @ list @ com @ state @ (cons @ com @ c2 @ cs) @ X1)) @ (transitive_rtrancl @ product_prod @ list @ com @ state @ pHoare1053570893_exec1))) | ((termi @ c2 @ X1) = $true) | ((termi @ c @ X0) != $true)) )),
% 3.28/1.84    inference(cnf_transformation,[status(thm)],[f789])).
% 3.28/1.84  thf(f789,plain,(
% 3.28/1.84    ! [X0 : state,X1 : state] : (($true != (member @ product_prod @ product_prod @ list @ com @ state @ product_prod @ list @ com @ state @ (product_Pair @ product_prod @ list @ com @ state @ product_prod @ list @ com @ state @ (product_Pair @ list @ com @ state @ (cons @ com @ c @ nil @ com) @ X0) @ (product_Pair @ list @ com @ state @ (cons @ com @ c2 @ cs) @ X1)) @ (transitive_rtrancl @ product_prod @ list @ com @ state @ pHoare1053570893_exec1))) | ((termi @ c @ X0) != $true) | (((termi @ c2 @ X1) = $true) & ! [X2 : state] : (((pHoare1335526537termis @ cs @ X2) = $true) | ($true != (exec @ X1 @ c2 @ X2)))))),
% 3.28/1.84    inference(flattening,[status(thm)],[f788])).
% 3.28/1.84  thf(f788,plain,(
% 3.28/1.84    ! [X0 : state,X1 : state] : (((((termi @ c2 @ X1) = $true) & ! [X2 : state] : (((pHoare1335526537termis @ cs @ X2) = $true) | ($true != (exec @ X1 @ c2 @ X2)))) | ((termi @ c @ X0) != $true)) | ($true != (member @ product_prod @ product_prod @ list @ com @ state @ product_prod @ list @ com @ state @ (product_Pair @ product_prod @ list @ com @ state @ product_prod @ list @ com @ state @ (product_Pair @ list @ com @ state @ (cons @ com @ c @ nil @ com) @ X0) @ (product_Pair @ list @ com @ state @ (cons @ com @ c2 @ cs) @ X1)) @ (transitive_rtrancl @ product_prod @ list @ com @ state @ pHoare1053570893_exec1))))),
% 3.28/1.84    inference(ennf_transformation,[status(thm)],[f341])).
% 3.28/1.84  thf(f341,plain,(
% 3.28/1.84    ! [X0 : state,X1 : state] : (($true = (member @ product_prod @ product_prod @ list @ com @ state @ product_prod @ list @ com @ state @ (product_Pair @ product_prod @ list @ com @ state @ product_prod @ list @ com @ state @ (product_Pair @ list @ com @ state @ (cons @ com @ c @ nil @ com) @ X0) @ (product_Pair @ list @ com @ state @ (cons @ com @ c2 @ cs) @ X1)) @ (transitive_rtrancl @ product_prod @ list @ com @ state @ pHoare1053570893_exec1))) => (((termi @ c @ X0) = $true) => (((termi @ c2 @ X1) = $true) & ! [X2 : state] : (($true = (exec @ X1 @ c2 @ X2)) => ((pHoare1335526537termis @ cs @ X2) = $true)))))),
% 3.28/1.84    inference(fool_elimination,[status(thm)],[f340])).
% 3.28/1.84  thf(f340,plain,(
% 3.28/1.84    ! [X0 : state,X1 : state] : ((member @ product_prod @ product_prod @ list @ com @ state @ product_prod @ list @ com @ state @ (product_Pair @ product_prod @ list @ com @ state @ product_prod @ list @ com @ state @ (product_Pair @ list @ com @ state @ (cons @ com @ c @ nil @ com) @ X0) @ (product_Pair @ list @ com @ state @ (cons @ com @ c2 @ cs) @ X1)) @ (transitive_rtrancl @ product_prod @ list @ com @ state @ pHoare1053570893_exec1)) => ((termi @ c @ X0) => ((termi @ c2 @ X1) & ! [X2 : state] : ((exec @ X1 @ c2 @ X2) => (pHoare1335526537termis @ cs @ X2)))))),
% 3.28/1.84    inference(rectify,[status(thm)],[f264])).
% 3.28/1.84  thf(f264,axiom,(
% 3.28/1.84    ! [X157 : state,X158 : state] : ((member @ product_prod @ product_prod @ list @ com @ state @ product_prod @ list @ com @ state @ (product_Pair @ product_prod @ list @ com @ state @ product_prod @ list @ com @ state @ (product_Pair @ list @ com @ state @ (cons @ com @ c @ nil @ com) @ X157) @ (product_Pair @ list @ com @ state @ (cons @ com @ c2 @ cs) @ X158)) @ (transitive_rtrancl @ product_prod @ list @ com @ state @ pHoare1053570893_exec1)) => ((termi @ c @ X157) => ((termi @ c2 @ X158) & ! [X159 : state] : ((exec @ X158 @ c2 @ X159) => (pHoare1335526537termis @ cs @ X159)))))),
% 3.28/1.84    file('/export/starexec/sandbox2/tmp/tmp.esfxdFwDyU/DTF2THF_9204.p',conj_2)).
% 3.28/1.84  % SZS output end Proof for DTF2THF_9204
% 3.28/1.84  % (9397)------------------------------
% 3.28/1.84  % (9397)Version: Vampire 4.8 (commit 7b44b1c2f on 2025-07-15 09:50:17 +0100)
% 3.28/1.84  % (9397)Termination reason: Refutation
% 3.28/1.84  
% 3.28/1.84  % (9397)Memory used [KB]: 7803
% 3.28/1.84  % (9397)Time elapsed: 0.081 s
% 3.28/1.84  % (9397)Instructions burned: 194 (million)
% 3.28/1.84  % (9397)------------------------------
% 3.28/1.84  % (9397)------------------------------
% 3.28/1.84  % (9391)Success in time 0.113 s
%------------------------------------------------------------------------------