↑ Up

DT2H2X---1.9.5.THM-Ref.s

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

% Computer : n004.cluster.edu
% Model    : x86_64 x86_64
% CPU      : Intel(R) Xeon(R) CPU E5-2620 v4 2.10GHz
% Memory   : 8042.1875MB
% OS       : Linux 3.10.0-693.el7.x86_64
% CPULimit : 300s
% WCLimit  : 300s
% DateTime : Wed Feb 25 08:45:38 AM UTC 2026

% Result   : Theorem 1.88s 1.40s
% Output   : Refutation 1.88s
% Verified : 
% SZS Type : Refutation
%            Derivation depth      :    9
%            Number of leaves      :    3
% Syntax   : Number of formulae    :   16 (   8 unt;   0 typ;   0 def)
%            Number of atoms       :  100 (  31 equ;   0 cnn)
%            Maximal formula atoms :    8 (   6 avg)
%            Number of connectives :  924 (  10   ~;   0   |;  15   &; 886   @)
%                                         (   0 <=>;  13  =>;   0  <=;   0 <~>)
%            Maximal formula depth :   19 (   7 avg)
%            Number of types       :    4 (   3 usr)
%            Number of type conns  :    0 (   0   >;   0   *;   0   +;   0  <<)
%            Number of symbols     :   19 (  16 usr;   9 con; 0-4 aty)
%            Number of variables   :   41 (   0   ^;  26   !;  15   ?;  41   :)

% Comments : 
%------------------------------------------------------------------------------
thf(type_def_6,type,
    elem: $tType ).

thf(type_def_7,type,
    nat: $tType ).

thf(type_def_8,type,
    list: $tType ).

thf(func_def_0,type,
    isPer: 
      !>[X0: $tType] : ( ( X0 > X0 > $o ) > $o ) ).

thf(func_def_2,type,
    elem: $tType ).

thf(func_def_3,type,
    elemStar: elem > elem > $o ).

thf(func_def_4,type,
    nat: $tType ).

thf(func_def_5,type,
    natStar: nat > nat > $o ).

thf(func_def_6,type,
    zero: nat ).

thf(func_def_7,type,
    suc: nat > nat ).

thf(func_def_8,type,
    plus: nat > nat > nat ).

thf(func_def_9,type,
    list: $tType ).

thf(func_def_10,type,
    listStar: nat > list > list > $o ).

thf(func_def_11,type,
    nil: list ).

thf(func_def_12,type,
    cons: nat > elem > list > list ).

thf(func_def_13,type,
    app: nat > nat > list > list > list ).

thf(func_def_14,type,
    rev: nat > list > list ).

thf(func_def_17,type,
    sK0: nat ).

thf(func_def_18,type,
    sK1: elem ).

thf(func_def_19,type,
    sK2: list ).

thf(func_def_20,type,
    sK3: nat ).

thf(func_def_21,type,
    sK4: list ).

thf(f78,plain,
    $false,
    inference(subsumption_resolution,[status(thm)],[f77,f76]) ).

thf(f76,plain,
    ( ( listStar @ ( plus @ sK0 @ ( suc @ sK3 ) ) @ ( rev @ ( plus @ sK0 @ ( suc @ sK3 ) ) @ ( app @ ( suc @ sK0 ) @ sK3 @ ( rev @ ( suc @ sK0 ) @ ( cons @ sK0 @ sK1 @ sK2 ) ) @ sK4 ) ) @ ( rev @ ( plus @ sK0 @ ( suc @ sK3 ) ) @ ( app @ sK0 @ ( suc @ sK3 ) @ ( rev @ sK0 @ sK2 ) @ ( cons @ sK3 @ sK1 @ sK4 ) ) ) )
   != $true ),
    inference(forward_demodulation,[status(thm)],[f73,f67]) ).

thf(f67,plain,
    ! [X0: nat,X1: nat] :
      ( ( plus @ ( suc @ X0 ) @ X1 )
      = ( plus @ X0 @ ( suc @ X1 ) ) ),
    inference(cnf_transformation,[status(thm)],[f50]) ).

thf(f50,plain,
    ! [X0: nat,X1: nat] :
      ( ( plus @ ( suc @ X0 ) @ X1 )
      = ( plus @ X0 @ ( suc @ X1 ) ) ),
    inference(rectify,[status(thm)],[f20]) ).

thf(f20,axiom,
    ! [X6: nat,X10: nat] :
      ( ( plus @ ( suc @ X6 ) @ X10 )
      = ( plus @ X6 @ ( suc @ X10 ) ) ),
    file('/export/starexec/sandbox/tmp/tmp.lmrxhHgLnQ/DTF2THF_25022.p',plus_s_l_r) ).

thf(f73,plain,
    ( ( listStar @ ( plus @ ( suc @ sK0 ) @ sK3 ) @ ( rev @ ( plus @ ( suc @ sK0 ) @ sK3 ) @ ( app @ ( suc @ sK0 ) @ sK3 @ ( rev @ ( suc @ sK0 ) @ ( cons @ sK0 @ sK1 @ sK2 ) ) @ sK4 ) ) @ ( rev @ ( plus @ sK0 @ ( suc @ sK3 ) ) @ ( app @ sK0 @ ( suc @ sK3 ) @ ( rev @ sK0 @ sK2 ) @ ( cons @ sK3 @ sK1 @ sK4 ) ) ) )
   != $true ),
    inference(cnf_transformation,[status(thm)],[f62]) ).

thf(f62,plain,
    ( ( ( listStar @ ( plus @ ( suc @ sK0 ) @ sK3 ) @ ( rev @ ( plus @ ( suc @ sK0 ) @ sK3 ) @ ( app @ ( suc @ sK0 ) @ sK3 @ ( rev @ ( suc @ sK0 ) @ ( cons @ sK0 @ sK1 @ sK2 ) ) @ sK4 ) ) @ ( rev @ ( plus @ sK0 @ ( suc @ sK3 ) ) @ ( app @ sK0 @ ( suc @ sK3 ) @ ( rev @ sK0 @ sK2 ) @ ( cons @ sK3 @ sK1 @ sK4 ) ) ) )
     != $true )
    & ( ( listStar @ ( plus @ ( suc @ sK0 ) @ sK3 ) @ ( rev @ ( plus @ ( suc @ sK0 ) @ sK3 ) @ ( app @ ( suc @ sK0 ) @ sK3 @ ( rev @ ( suc @ sK0 ) @ ( cons @ sK0 @ sK1 @ sK2 ) ) @ sK4 ) ) @ ( rev @ ( plus @ ( suc @ sK0 ) @ sK3 ) @ ( app @ sK0 @ ( suc @ sK3 ) @ ( rev @ sK0 @ sK2 ) @ ( cons @ sK3 @ sK1 @ sK4 ) ) ) )
      = $true )
    & ( ( listStar @ sK3 @ sK4 @ sK4 )
      = $true )
    & ( ( listStar @ sK0 @ sK2 @ sK2 )
      = $true ) ),
    inference(skolemisation,[status(esa),new_symbols(skolem,[sK0,sK1,sK2,sK3,sK4])],[f56,f61]) ).

thf(f61,plain,
    ( ? [X0: nat,X1: elem,X2: list,X3: nat,X4: list] :
        ( ( $true
         != ( listStar @ ( plus @ ( suc @ X0 ) @ X3 ) @ ( rev @ ( plus @ ( suc @ X0 ) @ X3 ) @ ( app @ ( suc @ X0 ) @ X3 @ ( rev @ ( suc @ X0 ) @ ( cons @ X0 @ X1 @ X2 ) ) @ X4 ) ) @ ( rev @ ( plus @ X0 @ ( suc @ X3 ) ) @ ( app @ X0 @ ( suc @ X3 ) @ ( rev @ X0 @ X2 ) @ ( cons @ X3 @ X1 @ X4 ) ) ) ) )
        & ( ( listStar @ ( plus @ ( suc @ X0 ) @ X3 ) @ ( rev @ ( plus @ ( suc @ X0 ) @ X3 ) @ ( app @ ( suc @ X0 ) @ X3 @ ( rev @ ( suc @ X0 ) @ ( cons @ X0 @ X1 @ X2 ) ) @ X4 ) ) @ ( rev @ ( plus @ ( suc @ X0 ) @ X3 ) @ ( app @ X0 @ ( suc @ X3 ) @ ( rev @ X0 @ X2 ) @ ( cons @ X3 @ X1 @ X4 ) ) ) )
          = $true )
        & ( $true
          = ( listStar @ X3 @ X4 @ X4 ) )
        & ( $true
          = ( listStar @ X0 @ X2 @ X2 ) ) )
   => ( ( ( listStar @ ( plus @ ( suc @ sK0 ) @ sK3 ) @ ( rev @ ( plus @ ( suc @ sK0 ) @ sK3 ) @ ( app @ ( suc @ sK0 ) @ sK3 @ ( rev @ ( suc @ sK0 ) @ ( cons @ sK0 @ sK1 @ sK2 ) ) @ sK4 ) ) @ ( rev @ ( plus @ sK0 @ ( suc @ sK3 ) ) @ ( app @ sK0 @ ( suc @ sK3 ) @ ( rev @ sK0 @ sK2 ) @ ( cons @ sK3 @ sK1 @ sK4 ) ) ) )
       != $true )
      & ( ( listStar @ ( plus @ ( suc @ sK0 ) @ sK3 ) @ ( rev @ ( plus @ ( suc @ sK0 ) @ sK3 ) @ ( app @ ( suc @ sK0 ) @ sK3 @ ( rev @ ( suc @ sK0 ) @ ( cons @ sK0 @ sK1 @ sK2 ) ) @ sK4 ) ) @ ( rev @ ( plus @ ( suc @ sK0 ) @ sK3 ) @ ( app @ sK0 @ ( suc @ sK3 ) @ ( rev @ sK0 @ sK2 ) @ ( cons @ sK3 @ sK1 @ sK4 ) ) ) )
        = $true )
      & ( ( listStar @ sK3 @ sK4 @ sK4 )
        = $true )
      & ( ( listStar @ sK0 @ sK2 @ sK2 )
        = $true ) ) ),
    introduced(definition,[],[choice_axiom]) ).

thf(f56,plain,
    ? [X0: nat,X1: elem,X2: list,X3: nat,X4: list] :
      ( ( $true
       != ( listStar @ ( plus @ ( suc @ X0 ) @ X3 ) @ ( rev @ ( plus @ ( suc @ X0 ) @ X3 ) @ ( app @ ( suc @ X0 ) @ X3 @ ( rev @ ( suc @ X0 ) @ ( cons @ X0 @ X1 @ X2 ) ) @ X4 ) ) @ ( rev @ ( plus @ X0 @ ( suc @ X3 ) ) @ ( app @ X0 @ ( suc @ X3 ) @ ( rev @ X0 @ X2 ) @ ( cons @ X3 @ X1 @ X4 ) ) ) ) )
      & ( ( listStar @ ( plus @ ( suc @ X0 ) @ X3 ) @ ( rev @ ( plus @ ( suc @ X0 ) @ X3 ) @ ( app @ ( suc @ X0 ) @ X3 @ ( rev @ ( suc @ X0 ) @ ( cons @ X0 @ X1 @ X2 ) ) @ X4 ) ) @ ( rev @ ( plus @ ( suc @ X0 ) @ X3 ) @ ( app @ X0 @ ( suc @ X3 ) @ ( rev @ X0 @ X2 ) @ ( cons @ X3 @ X1 @ X4 ) ) ) )
        = $true )
      & ( $true
        = ( listStar @ X3 @ X4 @ X4 ) )
      & ( $true
        = ( listStar @ X0 @ X2 @ X2 ) ) ),
    inference(flattening,[status(thm)],[f55]) ).

thf(f55,plain,
    ? [X0: nat,X1: elem,X2: list,X3: nat,X4: list] :
      ( ( $true
       != ( listStar @ ( plus @ ( suc @ X0 ) @ X3 ) @ ( rev @ ( plus @ ( suc @ X0 ) @ X3 ) @ ( app @ ( suc @ X0 ) @ X3 @ ( rev @ ( suc @ X0 ) @ ( cons @ X0 @ X1 @ X2 ) ) @ X4 ) ) @ ( rev @ ( plus @ X0 @ ( suc @ X3 ) ) @ ( app @ X0 @ ( suc @ X3 ) @ ( rev @ X0 @ X2 ) @ ( cons @ X3 @ X1 @ X4 ) ) ) ) )
      & ( ( listStar @ ( plus @ ( suc @ X0 ) @ X3 ) @ ( rev @ ( plus @ ( suc @ X0 ) @ X3 ) @ ( app @ ( suc @ X0 ) @ X3 @ ( rev @ ( suc @ X0 ) @ ( cons @ X0 @ X1 @ X2 ) ) @ X4 ) ) @ ( rev @ ( plus @ ( suc @ X0 ) @ X3 ) @ ( app @ X0 @ ( suc @ X3 ) @ ( rev @ X0 @ X2 ) @ ( cons @ X3 @ X1 @ X4 ) ) ) )
        = $true )
      & ( $true
        = ( listStar @ X3 @ X4 @ X4 ) )
      & ( $true
        = ( listStar @ X0 @ X2 @ X2 ) ) ),
    inference(ennf_transformation,[status(thm)],[f33]) ).

thf(f33,plain,
    ~ ! [X0: nat,X1: elem,X2: list,X3: nat,X4: list] :
        ( ( $true
          = ( listStar @ X0 @ X2 @ X2 ) )
       => ( ( $true
            = ( listStar @ X3 @ X4 @ X4 ) )
         => ( ( ( listStar @ ( plus @ ( suc @ X0 ) @ X3 ) @ ( rev @ ( plus @ ( suc @ X0 ) @ X3 ) @ ( app @ ( suc @ X0 ) @ X3 @ ( rev @ ( suc @ X0 ) @ ( cons @ X0 @ X1 @ X2 ) ) @ X4 ) ) @ ( rev @ ( plus @ ( suc @ X0 ) @ X3 ) @ ( app @ X0 @ ( suc @ X3 ) @ ( rev @ X0 @ X2 ) @ ( cons @ X3 @ X1 @ X4 ) ) ) )
              = $true )
           => ( $true
              = ( listStar @ ( plus @ ( suc @ X0 ) @ X3 ) @ ( rev @ ( plus @ ( suc @ X0 ) @ X3 ) @ ( app @ ( suc @ X0 ) @ X3 @ ( rev @ ( suc @ X0 ) @ ( cons @ X0 @ X1 @ X2 ) ) @ X4 ) ) @ ( rev @ ( plus @ X0 @ ( suc @ X3 ) ) @ ( app @ X0 @ ( suc @ X3 ) @ ( rev @ X0 @ X2 ) @ ( cons @ X3 @ X1 @ X4 ) ) ) ) ) ) ) ),
    inference(fool_elimination,[status(thm)],[f32]) ).

thf(f32,plain,
    ~ ! [X0: nat,X1: elem,X2: list,X3: nat,X4: list] :
        ( ( listStar @ X0 @ X2 @ X2 )
       => ( ( listStar @ X3 @ X4 @ X4 )
         => ( ( listStar @ ( plus @ ( suc @ X0 ) @ X3 ) @ ( rev @ ( plus @ ( suc @ X0 ) @ X3 ) @ ( app @ ( suc @ X0 ) @ X3 @ ( rev @ ( suc @ X0 ) @ ( cons @ X0 @ X1 @ X2 ) ) @ X4 ) ) @ ( rev @ ( plus @ ( suc @ X0 ) @ X3 ) @ ( app @ X0 @ ( suc @ X3 ) @ ( rev @ X0 @ X2 ) @ ( cons @ X3 @ X1 @ X4 ) ) ) )
           => ( listStar @ ( plus @ ( suc @ X0 ) @ X3 ) @ ( rev @ ( plus @ ( suc @ X0 ) @ X3 ) @ ( app @ ( suc @ X0 ) @ X3 @ ( rev @ ( suc @ X0 ) @ ( cons @ X0 @ X1 @ X2 ) ) @ X4 ) ) @ ( rev @ ( plus @ X0 @ ( suc @ X3 ) ) @ ( app @ X0 @ ( suc @ X3 ) @ ( rev @ X0 @ X2 ) @ ( cons @ X3 @ X1 @ X4 ) ) ) ) ) ) ),
    inference(rectify,[status(thm)],[f22]) ).

thf(f22,negated_conjecture,
    ~ ! [X6: nat,X2: elem,X16: list,X14: nat,X17: list] :
        ( ( listStar @ X6 @ X16 @ X16 )
       => ( ( listStar @ X14 @ X17 @ X17 )
         => ( ( listStar @ ( plus @ ( suc @ X6 ) @ X14 ) @ ( rev @ ( plus @ ( suc @ X6 ) @ X14 ) @ ( app @ ( suc @ X6 ) @ X14 @ ( rev @ ( suc @ X6 ) @ ( cons @ X6 @ X2 @ X16 ) ) @ X17 ) ) @ ( rev @ ( plus @ ( suc @ X6 ) @ X14 ) @ ( app @ X6 @ ( suc @ X14 ) @ ( rev @ X6 @ X16 ) @ ( cons @ X14 @ X2 @ X17 ) ) ) )
           => ( listStar @ ( plus @ ( suc @ X6 ) @ X14 ) @ ( rev @ ( plus @ ( suc @ X6 ) @ X14 ) @ ( app @ ( suc @ X6 ) @ X14 @ ( rev @ ( suc @ X6 ) @ ( cons @ X6 @ X2 @ X16 ) ) @ X17 ) ) @ ( rev @ ( plus @ X6 @ ( suc @ X14 ) ) @ ( app @ X6 @ ( suc @ X14 ) @ ( rev @ X6 @ X16 ) @ ( cons @ X14 @ X2 @ X17 ) ) ) ) ) ) ),
    inference(negated_conjecture,[status(cth)],[f21]) ).

thf(f21,conjecture,
    ! [X6: nat,X2: elem,X16: list,X14: nat,X17: list] :
      ( ( listStar @ X6 @ X16 @ X16 )
     => ( ( listStar @ X14 @ X17 @ X17 )
       => ( ( listStar @ ( plus @ ( suc @ X6 ) @ X14 ) @ ( rev @ ( plus @ ( suc @ X6 ) @ X14 ) @ ( app @ ( suc @ X6 ) @ X14 @ ( rev @ ( suc @ X6 ) @ ( cons @ X6 @ X2 @ X16 ) ) @ X17 ) ) @ ( rev @ ( plus @ ( suc @ X6 ) @ X14 ) @ ( app @ X6 @ ( suc @ X14 ) @ ( rev @ X6 @ X16 ) @ ( cons @ X14 @ X2 @ X17 ) ) ) )
         => ( listStar @ ( plus @ ( suc @ X6 ) @ X14 ) @ ( rev @ ( plus @ ( suc @ X6 ) @ X14 ) @ ( app @ ( suc @ X6 ) @ X14 @ ( rev @ ( suc @ X6 ) @ ( cons @ X6 @ X2 @ X16 ) ) @ X17 ) ) @ ( rev @ ( plus @ X6 @ ( suc @ X14 ) ) @ ( app @ X6 @ ( suc @ X14 ) @ ( rev @ X6 @ X16 ) @ ( cons @ X14 @ X2 @ X17 ) ) ) ) ) ) ),
    file('/export/starexec/sandbox/tmp/tmp.lmrxhHgLnQ/DTF2THF_25022.p',list_rev_invol_lem_indstep3) ).

thf(f77,plain,
    ( ( listStar @ ( plus @ sK0 @ ( suc @ sK3 ) ) @ ( rev @ ( plus @ sK0 @ ( suc @ sK3 ) ) @ ( app @ ( suc @ sK0 ) @ sK3 @ ( rev @ ( suc @ sK0 ) @ ( cons @ sK0 @ sK1 @ sK2 ) ) @ sK4 ) ) @ ( rev @ ( plus @ sK0 @ ( suc @ sK3 ) ) @ ( app @ sK0 @ ( suc @ sK3 ) @ ( rev @ sK0 @ sK2 ) @ ( cons @ sK3 @ sK1 @ sK4 ) ) ) )
    = $true ),
    inference(forward_demodulation,[status(thm)],[f72,f67]) ).

thf(f72,plain,
    ( ( listStar @ ( plus @ ( suc @ sK0 ) @ sK3 ) @ ( rev @ ( plus @ ( suc @ sK0 ) @ sK3 ) @ ( app @ ( suc @ sK0 ) @ sK3 @ ( rev @ ( suc @ sK0 ) @ ( cons @ sK0 @ sK1 @ sK2 ) ) @ sK4 ) ) @ ( rev @ ( plus @ ( suc @ sK0 ) @ sK3 ) @ ( app @ sK0 @ ( suc @ sK3 ) @ ( rev @ sK0 @ sK2 ) @ ( cons @ sK3 @ sK1 @ sK4 ) ) ) )
    = $true ),
    inference(cnf_transformation,[status(thm)],[f62]) ).

%------------------------------------------------------------------------------
%----ORIGINAL SYSTEM OUTPUT
% 0.00/0.12  % Problem  : DAT390^1 : TPTP v9.2.1. Released v9.2.0.
% 0.12/0.13  % Command  : /export/starexec/sandbox/solver/bin/run_DT2H2X /export/starexec/sandbox/benchmark/theBenchmark.p 300
% 0.17/0.34  % Computer : n004.cluster.edu
% 0.17/0.34  % Model    : x86_64 x86_64
% 0.17/0.34  % CPU      : Intel(R) Xeon(R) CPU E5-2620 v4 @ 2.10GHz
% 0.17/0.34  % Memory   : 8042.1875MB
% 0.17/0.34  % OS       : Linux 3.10.0-693.el7.x86_64
% 0.17/0.34  % CPULimit : 300
% 0.17/0.34  % WCLimit  : 300
% 0.17/0.34  % DateTime : Tue Feb 24 06:16:26 EST 2026
% 0.21/0.35  % CPUTime  : 
% 0.21/0.35  Running /export/starexec/sandbox/solver/bin/run_DT2H2X /export/starexec/sandbox/benchmark/theBenchmark.p 300
% 0.32/0.50  ---- Original DTF file ---
% 0.32/0.50  thf(spec,logic,$$dhol).
% 0.32/0.50  %------------------------------------------------------------------------------
% 0.32/0.50  % File     : DAT390^1 : TPTP v9.2.1. Released v9.2.0.
% 0.32/0.50  % Domain   : Data Structures
% 0.32/0.50  % Problem  : List involution lemma, induction step 3
% 0.32/0.50  % Version  : Especial.
% 0.32/0.50  % English  : List involution lemma. The proof is by induction with a separate
% 0.32/0.50  %            problem file for the base and step case (with multiple subcases)
% 0.32/0.50  %            as well as the correct instantiation of the induction axiom for
% 0.32/0.50  %            lists. The main file uses the conjectures of the other files as
% 0.32/0.50  %            lemmas in order to prove the final result. To simplify proof
% 0.32/0.50  %            search, the axioms in each problem file have been preselected. 
% 0.32/0.50  %            For the actual induction proof, it is sufficient to consider the 
% 0.32/0.50  %            "step" problem files. 
% 0.32/0.50  
% 0.32/0.50  % Refs     : [RRB23] Rothgang et al. (2023), Theorem Proving in Dependently
% 0.32/0.50  %          : [Rot25] Rothgang (2025), Email to Geoff Sutcliffe
% 0.32/0.50  %          : [RK+25] Ranalter et al. (2025), The Dependently Typed Higher-O
% 0.32/0.50  % Source   : [Rot25]
% 0.32/0.50  % Names    : ListReversalInvolutionLemma/list-rev-invol-lem-indstep3.p [Rot25]
% 0.32/0.50  
% 0.32/0.50  % Status   : Theorem
% 0.32/0.50  % Rating   : ? v9.2.0
% 0.32/0.50  % Syntax   : Number of formulae    :   23 (  10 unt;  10 typ;   0 def)
% 0.32/0.50  %            Number of atoms       :   14 (  14 equ;   0 cnn)
% 0.32/0.50  %            Maximal formula atoms :    2 (   1 avg)
% 0.32/0.50  %            Number of connectives :  147 (   3   ~;   0   |;   0   &; 139   @)
% 0.32/0.50  %                                         (   0 <=>;   5  =>;   0  <=;   0 <~>)
% 0.32/0.50  %            Maximal formula depth :    8 (   4 avg)
% 0.32/0.50  %            Number of types       :    3 (   2 usr)
% 0.32/0.50  %            Number of type decls  :   10 (   0 !>P;   3 !>D)
% 0.32/0.50  %            Number of type conns  :   10 (  10   >;   0   *;   0   +;   0  <<)
% 0.32/0.50  %            Number of symbols     :    9 (   8 usr;   2 con; 0-4 aty)
% 0.32/0.50  %            Number of variables   :   34 (   0   ^;  30   !;   0   ?;  34   :)
% 0.32/0.50  %                                         (   4  !>;   0  ?*;   0  @-;   0  @+)
% 0.32/0.50  % SPC      : DH0_THM_EQU_NAR
% 0.32/0.50  
% 0.32/0.50  % Comments :
% 0.32/0.50  %------------------------------------------------------------------------------
% 0.32/0.50  thf(elem_type,type,
% 0.32/0.50      elem: $tType ).
% 0.32/0.50  
% 0.32/0.50  thf(nat_type,type,
% 0.32/0.50      nat: $tType ).
% 0.32/0.50  
% 0.32/0.50  thf(zero_type,type,
% 0.32/0.50      zero: nat ).
% 0.32/0.50  
% 0.32/0.50  thf(suc_type,type,
% 0.32/0.50      suc: nat > nat ).
% 0.32/0.50  
% 0.32/0.50  thf(plus_type,type,
% 0.32/0.50      plus: nat > nat > nat ).
% 0.32/0.50  
% 0.32/0.50  thf(list_type,type,
% 0.32/0.50      list: nat > $tType ).
% 0.32/0.50  
% 0.32/0.50  thf(nil_type,type,
% 0.32/0.50      nil: list @ zero ).
% 0.32/0.50  
% 0.32/0.50  thf(cons_type,type,
% 0.32/0.50      cons: 
% 0.32/0.50        !>[N: nat] : ( elem > ( list @ N ) > ( list @ ( suc @ N ) ) ) ).
% 0.32/0.50  
% 0.32/0.50  thf(app_type,type,
% 0.32/0.50      app: 
% 0.32/0.50        !>[N: nat,M: nat] : ( ( list @ N ) > ( list @ M ) > ( list @ ( plus @ N @ M ) ) ) ).
% 0.32/0.50  
% 0.32/0.50  thf(rev_type,type,
% 0.32/0.50      rev: 
% 0.32/0.50        !>[N: nat] : ( ( list @ N ) > ( list @ N ) ) ).
% 0.32/0.50  
% 0.32/0.50  thf(peano1,axiom,
% 0.32/0.50      ! [N: nat] :
% 0.32/0.50        ( ( suc @ N )
% 0.32/0.50       != zero ) ).
% 0.32/0.50  
% 0.32/0.50  thf(peano2,axiom,
% 0.32/0.50      ! [N: nat,M: nat] :
% 0.32/0.50        ( ( N != M )
% 0.32/0.50       => ( ( suc @ N )
% 0.32/0.50         != ( suc @ M ) ) ) ).
% 0.32/0.50  
% 0.32/0.50  thf(peano3,axiom,
% 0.32/0.50      ! [P: nat > $o] :
% 0.32/0.50        ( ( P @ zero )
% 0.32/0.50       => ( ! [M: nat] :
% 0.32/0.50              ( ( P @ M )
% 0.32/0.50             => ( P @ ( suc @ M ) ) )
% 0.32/0.50         => ! [N: nat] : ( P @ N ) ) ) ).
% 0.32/0.50  
% 0.32/0.50  thf(ax1,axiom,
% 0.32/0.50      ! [N: nat] :
% 0.32/0.50        ( ( plus @ zero @ N )
% 0.32/0.50        = N ) ).
% 0.32/0.50  
% 0.32/0.50  thf(ax2,axiom,
% 0.32/0.50      ! [N: nat,M: nat] :
% 0.32/0.50        ( ( plus @ ( suc @ N ) @ M )
% 0.32/0.50        = ( suc @ ( plus @ N @ M ) ) ) ).
% 0.32/0.50  
% 0.32/0.50  thf(ax3,axiom,
% 0.32/0.50      ! [N: nat,X: list @ N] :
% 0.32/0.50        ( ( app @ zero @ N @ nil @ X )
% 0.32/0.50        = X ) ).
% 0.32/0.50  
% 0.32/0.50  thf(ax4,axiom,
% 0.32/0.50      ! [N: nat,M: nat,X: elem,Y: list @ N,Z: list @ M] :
% 0.32/0.50        ( ( app @ ( suc @ N ) @ M @ ( cons @ N @ X @ Y ) @ Z )
% 0.32/0.50        = ( cons @ ( plus @ N @ M ) @ X @ ( app @ N @ M @ Y @ Z ) ) ) ).
% 0.32/0.50  
% 0.32/0.50  thf(plus_zero_r,axiom,
% 0.32/0.50      ! [M: nat] :
% 0.32/0.50        ( ( plus @ M @ zero )
% 0.32/0.50        = M ) ).
% 0.32/0.50  
% 0.32/0.50  thf(plus_com,axiom,
% 0.32/0.50      ! [N: nat,M: nat] :
% 0.32/0.50        ( ( plus @ N @ M )
% 0.32/0.50        = ( plus @ M @ N ) ) ).
% 0.32/0.50  
% 0.32/0.50  thf(plus_assoc,axiom,
% 0.32/0.50      ! [M1: nat,M2: nat,M3: nat] :
% 0.32/0.50        ( ( plus @ M1 @ ( plus @ M2 @ M3 ) )
% 0.32/0.50        = ( plus @ ( plus @ M1 @ M2 ) @ M3 ) ) ).
% 0.32/0.50  
% 0.32/0.50  thf(plus1r,axiom,
% 0.32/0.50      ! [N: nat] :
% 0.32/0.50        ( ( suc @ N )
% 0.32/0.50        = ( plus @ N @ ( suc @ zero ) ) ) ).
% 0.32/0.50  
% 0.32/0.50  thf(plus_s_l_r,axiom,
% 0.32/0.50      ! [N: nat,M: nat] :
% 0.32/0.50        ( ( plus @ ( suc @ N ) @ M )
% 0.32/0.50        = ( plus @ N @ ( suc @ M ) ) ) ).
% 0.32/0.50  
% 0.32/0.50  thf(list_rev_invol_lem_indstep3,conjecture,
% 0.32/0.50      ! [N: nat,X: elem,L: list @ N,M2: nat,L2: list @ M2] :
% 0.32/0.50        ( ( ( rev @ ( plus @ ( suc @ N ) @ M2 ) @ ( app @ ( suc @ N ) @ M2 @ ( rev @ ( suc @ N ) @ ( cons @ N @ X @ L ) ) @ L2 ) )
% 0.32/0.50          = ( rev @ ( plus @ ( suc @ N ) @ M2 ) @ ( app @ N @ ( suc @ M2 ) @ ( rev @ N @ L ) @ ( cons @ M2 @ X @ L2 ) ) ) )
% 0.32/0.50       => ( ( rev @ ( plus @ ( suc @ N ) @ M2 ) @ ( app @ ( suc @ N ) @ M2 @ ( rev @ ( suc @ N ) @ ( cons @ N @ X @ L ) ) @ L2 ) )
% 0.32/0.50          = ( rev @ ( plus @ N @ ( suc @ M2 ) ) @ ( app @ N @ ( suc @ M2 ) @ ( rev @ N @ L ) @ ( cons @ M2 @ X @ L2 ) ) ) ) ) ).
% 0.32/0.50  
% 0.32/0.50  %------------------------------------------------------------------------------
% 0.32/0.50  ------------------------
% 1.72/1.36  ---- Embedded in THF ---
% 1.72/1.36  %%% This output was generated by embedproblem, version 1.9.5 (library version 1.9).
% 1.72/1.36  %%% Generated on Tue Feb 24 06:16:27 EST 2026
% 1.72/1.36  %%% using '$$dhol' embedding, version 1.3.0.
% 1.72/1.36  %%% Logic specification used:
% 1.72/1.36  %%% thf(spec, logic, $$dhol).
% 1.72/1.36  
% 1.72/1.36  % SZS output start ListOfTHF for /export/starexec/sandbox/tmp/tmp.lmrxhHgLnQ/DTF2DTF25022.p
% See solution above
% 1.72/1.36  ------------------------
% 1.72/1.37  ---- Cleaned THF ---
% 1.72/1.37  thf(is_per_type,type,
% 1.72/1.37      isPer: 
% 1.72/1.37        !>[A: $tType] : ( ( A > A > $o ) > $o ) ).
% 1.72/1.37  
% 1.72/1.37  thf(is_per,definition,
% 1.72/1.37      ! [A: $tType,AStar: A > A > $o] :
% 1.72/1.37        ( ( isPer @ A @ AStar )
% 1.72/1.37      <=> ( ! [X: A,Y: A] :
% 1.72/1.37              ( ( AStar @ X @ Y )
% 1.72/1.37             => ( AStar @ Y @ X ) )
% 1.72/1.37          & ! [X: A,Y: A,Z: A] :
% 1.72/1.37              ( ( AStar @ X @ Y )
% 1.72/1.37             => ( ( AStar @ Y @ Z )
% 1.72/1.37               => ( AStar @ X @ Z ) ) ) ) ) ).
% 1.72/1.37  
% 1.72/1.37  thf(elem_type,type,
% 1.72/1.37      elem: $tType ).
% 1.72/1.37  
% 1.72/1.37  thf(elemStar,type,
% 1.72/1.37      elemStar: elem > elem > $o ).
% 1.72/1.37  
% 1.72/1.37  thf(elemStar_is_eq,axiom,
% 1.72/1.37      ! [X: elem,Y: elem] :
% 1.72/1.37        ( ( elemStar @ X @ Y )
% 1.72/1.37      <=> ( X = Y ) ) ).
% 1.72/1.37  
% 1.72/1.37  thf(nat_type,type,
% 1.72/1.37      nat: $tType ).
% 1.72/1.37  
% 1.72/1.37  thf(natStar,type,
% 1.72/1.37      natStar: nat > nat > $o ).
% 1.72/1.37  
% 1.72/1.37  thf(natStar_is_eq,axiom,
% 1.72/1.37      ! [X: nat,Y: nat] :
% 1.72/1.37        ( ( natStar @ X @ Y )
% 1.72/1.37      <=> ( X = Y ) ) ).
% 1.72/1.37  
% 1.72/1.37  thf(zero_type,type,
% 1.72/1.37      zero: nat ).
% 1.72/1.37  
% 1.72/1.37  thf(suc_type,type,
% 1.72/1.37      suc: nat > nat ).
% 1.72/1.37  
% 1.72/1.37  thf(plus_type,type,
% 1.72/1.37      plus: nat > nat > nat ).
% 1.72/1.37  
% 1.72/1.37  thf(list_type,type,
% 1.72/1.37      list: $tType ).
% 1.72/1.37  
% 1.72/1.37  thf(listStar,type,
% 1.72/1.37      listStar: nat > list > list > $o ).
% 1.72/1.37  
% 1.72/1.37  thf('\'listStar\'_is_per',axiom,
% 1.72/1.37      ! [C: nat] : ( isPer @ list @ ( listStar @ C ) ) ).
% 1.72/1.37  
% 1.72/1.37  thf(nil_type,type,
% 1.72/1.37      nil: list ).
% 1.72/1.37  
% 1.72/1.37  thf(nil_tp_ax,axiom,
% 1.72/1.37      listStar @ zero @ nil @ nil ).
% 1.72/1.37  
% 1.72/1.37  thf(cons_type,type,
% 1.72/1.37      cons: nat > elem > list > list ).
% 1.72/1.37  
% 1.72/1.37  thf(cons_tp_ax,axiom,
% 1.72/1.37      ! [N: nat,D: elem,D0: list,D0_prime: list] :
% 1.72/1.37        ( ( listStar @ N @ D0 @ D0_prime )
% 1.72/1.37       => ( listStar @ ( suc @ N ) @ ( cons @ N @ D @ D0 ) @ ( cons @ N @ D @ D0_prime ) ) ) ).
% 1.72/1.37  
% 1.72/1.37  thf(app_type,type,
% 1.72/1.37      app: nat > nat > list > list > list ).
% 1.72/1.37  
% 1.72/1.37  thf(app_tp_ax,axiom,
% 1.72/1.37      ! [N: nat,M: nat,D: list,D_prime: list] :
% 1.72/1.37        ( ( listStar @ N @ D @ D_prime )
% 1.72/1.37       => ! [D0: list,D0_prime: list] :
% 1.72/1.37            ( ( listStar @ M @ D0 @ D0_prime )
% 1.72/1.37           => ( listStar @ ( plus @ N @ M ) @ ( app @ N @ M @ D @ D0 ) @ ( app @ N @ M @ D_prime @ D0_prime ) ) ) ) ).
% 1.72/1.37  
% 1.72/1.37  thf(rev_type,type,
% 1.72/1.37      rev: nat > list > list ).
% 1.72/1.37  
% 1.72/1.37  thf(rev_tp_ax,axiom,
% 1.72/1.37      ! [N: nat,D: list,D_prime: list] :
% 1.72/1.37        ( ( listStar @ N @ D @ D_prime )
% 1.72/1.37       => ( listStar @ N @ ( rev @ N @ D ) @ ( rev @ N @ D_prime ) ) ) ).
% 1.72/1.37  
% 1.72/1.37  thf(peano1,axiom,
% 1.72/1.37      ! [N: nat] :
% 1.72/1.37        ( ( suc @ N )
% 1.72/1.37       != zero ) ).
% 1.72/1.37  
% 1.72/1.37  thf(peano2,axiom,
% 1.72/1.37      ! [N: nat,M: nat] :
% 1.72/1.37        ( ( N != M )
% 1.72/1.37       => ( ( suc @ N )
% 1.72/1.37         != ( suc @ M ) ) ) ).
% 1.72/1.37  
% 1.72/1.37  thf(peano3,axiom,
% 1.72/1.37      ! [P: nat > $o] :
% 1.72/1.37        ( ( P @ zero )
% 1.72/1.37       => ( ! [M: nat] :
% 1.72/1.37              ( ( P @ M )
% 1.72/1.37             => ( P @ ( suc @ M ) ) )
% 1.72/1.37         => ! [N: nat] : ( P @ N ) ) ) ).
% 1.72/1.37  
% 1.72/1.37  thf(ax1,axiom,
% 1.72/1.37      ! [N: nat] :
% 1.72/1.37        ( ( plus @ zero @ N )
% 1.72/1.37        = N ) ).
% 1.72/1.37  
% 1.72/1.37  thf(ax2,axiom,
% 1.72/1.37      ! [N: nat,M: nat] :
% 1.72/1.37        ( ( plus @ ( suc @ N ) @ M )
% 1.72/1.37        = ( suc @ ( plus @ N @ M ) ) ) ).
% 1.72/1.37  
% 1.72/1.37  thf(ax3,axiom,
% 1.72/1.37      ! [N: nat,X: list] :
% 1.72/1.37        ( ( listStar @ N @ X @ X )
% 1.72/1.37       => ( listStar @ ( plus @ zero @ N ) @ ( app @ zero @ N @ nil @ X ) @ X ) ) ).
% 1.72/1.37  
% 1.72/1.37  thf(ax4,axiom,
% 1.72/1.37      ! [N: nat,M: nat,X: elem,Y: list,Z: list] :
% 1.72/1.37        ( ( listStar @ N @ Y @ Y )
% 1.72/1.37       => ( ( listStar @ M @ Z @ Z )
% 1.72/1.37         => ( listStar @ ( plus @ ( suc @ N ) @ M ) @ ( app @ ( suc @ N ) @ M @ ( cons @ N @ X @ Y ) @ Z ) @ ( cons @ ( plus @ N @ M ) @ X @ ( app @ N @ M @ Y @ Z ) ) ) ) ) ).
% 1.72/1.37  
% 1.72/1.37  thf(plus_zero_r,axiom,
% 1.72/1.37      ! [M: nat] :
% 1.72/1.37        ( ( plus @ M @ zero )
% 1.72/1.37        = M ) ).
% 1.72/1.37  
% 1.72/1.37  thf(plus_com,axiom,
% 1.72/1.37      ! [N: nat,M: nat] :
% 1.72/1.37        ( ( plus @ N @ M )
% 1.72/1.37        = ( plus @ M @ N ) ) ).
% 1.72/1.37  
% 1.72/1.37  thf(plus_assoc,axiom,
% 1.72/1.37      ! [M1: nat,M2: nat,M3: nat] :
% 1.72/1.37        ( ( plus @ M1 @ ( plus @ M2 @ M3 ) )
% 1.72/1.37        = ( plus @ ( plus @ M1 @ M2 ) @ M3 ) ) ).
% 1.72/1.37  
% 1.72/1.37  thf(plus1r,axiom,
% 1.72/1.37      ! [N: nat] :
% 1.72/1.37        ( ( suc @ N )
% 1.72/1.37        = ( plus @ N @ ( suc @ zero ) ) ) ).
% 1.72/1.37  
% 1.72/1.37  thf(plus_s_l_r,axiom,
% 1.72/1.37      ! [N: nat,M: nat] :
% 1.72/1.37        ( ( plus @ ( suc @ N ) @ M )
% 1.72/1.37        = ( plus @ N @ ( suc @ M ) ) ) ).
% 1.72/1.37  
% 1.72/1.37  thf(list_rev_invol_lem_indstep3,conjecture,
% 1.72/1.37      ! [N: nat,X: elem,L: list,M2: nat,L2: list] :
% 1.72/1.37        ( ( listStar @ N @ L @ L )
% 1.72/1.37       => ( ( listStar @ M2 @ L2 @ L2 )
% 1.72/1.37         => ( ( listStar @ ( plus @ ( suc @ N ) @ M2 ) @ ( rev @ ( plus @ ( suc @ N ) @ M2 ) @ ( app @ ( suc @ N ) @ M2 @ ( rev @ ( suc @ N ) @ ( cons @ N @ X @ L ) ) @ L2 ) ) @ ( rev @ ( plus @ ( suc @ N ) @ M2 ) @ ( app @ N @ ( suc @ M2 ) @ ( rev @ N @ L ) @ ( cons @ M2 @ X @ L2 ) ) ) )
% 1.72/1.37           => ( listStar @ ( plus @ ( suc @ N ) @ M2 ) @ ( rev @ ( plus @ ( suc @ N ) @ M2 ) @ ( app @ ( suc @ N ) @ M2 @ ( rev @ ( suc @ N ) @ ( cons @ N @ X @ L ) ) @ L2 ) ) @ ( rev @ ( plus @ N @ ( suc @ M2 ) ) @ ( app @ N @ ( suc @ M2 ) @ ( rev @ N @ L ) @ ( cons @ M2 @ X @ L2 ) ) ) ) ) ) ) ).
% 1.72/1.37  ------------------------
% 1.72/1.39  % (25355)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_25022 for (2999ds/2Mi)
% 1.72/1.39  % (25355)Instruction limit reached!
% 1.72/1.39  % (25355)------------------------------
% 1.72/1.39  % (25355)Version: Vampire 4.8 (commit 7b44b1c2f on 2025-07-15 09:50:17 +0100)
% 1.72/1.39  % (25355)Termination reason: Unknown
% 1.72/1.39  % (25355)Termination phase: shuffling
% 1.72/1.39  
% 1.72/1.39  % (25355)Memory used [KB]: 1023
% 1.72/1.39  % (25355)Time elapsed: 0.002 s
% 1.72/1.39  % (25355)Instructions burned: 3 (million)
% 1.72/1.39  % (25355)------------------------------
% 1.72/1.39  % (25355)------------------------------
% 1.72/1.39  % (25353)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_25022 for (2999ds/27Mi)
% 1.72/1.40  % (25351)lrs+1002_1:8_bd=off:fd=off:hud=10:tnu=1:i=183:si=on:rtra=on_0 on DTF2THF_25022 for (2999ds/183Mi)
% 1.72/1.40  % (25352)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_25022 for (2999ds/4Mi)
% 1.72/1.40  % (25354)lrs+10_1:1_au=on:inj=on:i=2:si=on:rtra=on_0 on DTF2THF_25022 for (2999ds/2Mi)
% 1.72/1.40  % (25356)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_25022 for (2999ds/275Mi)
% 1.72/1.40  % (25357)lrs+1004_1:128_cond=on:e2e=on:sp=weighted_frequency:i=18:si=on:rtra=on_0 on DTF2THF_25022 for (2999ds/18Mi)
% 1.72/1.40  % (25354)Instruction limit reached!
% 1.72/1.40  % (25354)------------------------------
% 1.72/1.40  % (25354)Version: Vampire 4.8 (commit 7b44b1c2f on 2025-07-15 09:50:17 +0100)
% 1.72/1.40  % (25354)Termination reason: Unknown
% 1.72/1.40  % (25354)Termination phase: shuffling
% 1.72/1.40  
% 1.72/1.40  % (25354)Memory used [KB]: 1023
% 1.72/1.40  % (25354)Time elapsed: 0.003 s
% 1.72/1.40  % (25354)Instructions burned: 2 (million)
% 1.72/1.40  % (25354)------------------------------
% 1.72/1.40  % (25354)------------------------------
% 1.88/1.40  % (25352)Instruction limit reached!
% 1.88/1.40  % (25352)------------------------------
% 1.88/1.40  % (25352)Version: Vampire 4.8 (commit 7b44b1c2f on 2025-07-15 09:50:17 +0100)
% 1.88/1.40  % (25352)Termination reason: Unknown
% 1.88/1.40  % (25352)Termination phase: shuffling
% 1.88/1.40  
% 1.88/1.40  % (25352)Memory used [KB]: 1023
% 1.88/1.40  % (25352)Time elapsed: 0.004 s
% 1.88/1.40  % (25352)Instructions burned: 4 (million)
% 1.88/1.40  % (25352)------------------------------
% 1.88/1.40  % (25352)------------------------------
% 1.88/1.40  % (25358)lrs+10_1:1_bet=on:cnfonf=off:fd=off:hud=5:inj=on:i=3:si=on:rtra=on_0 on DTF2THF_25022 for (2999ds/3Mi)
% 1.88/1.40  % (25353)Instruction limit reached!
% 1.88/1.40  % (25353)------------------------------
% 1.88/1.40  % (25353)Version: Vampire 4.8 (commit 7b44b1c2f on 2025-07-15 09:50:17 +0100)
% 1.88/1.40  % (25353)Termination reason: Unknown
% 1.88/1.40  % (25353)Termination phase: Saturation
% 1.88/1.40  
% 1.88/1.40  % (25353)Memory used [KB]: 5628
% 1.88/1.40  % (25353)Time elapsed: 0.011 s
% 1.88/1.40  % (25353)Instructions burned: 27 (million)
% 1.88/1.40  % (25353)------------------------------
% 1.88/1.40  % (25353)------------------------------
% 1.88/1.40  % (25358)Instruction limit reached!
% 1.88/1.40  % (25358)------------------------------
% 1.88/1.40  % (25358)Version: Vampire 4.8 (commit 7b44b1c2f on 2025-07-15 09:50:17 +0100)
% 1.88/1.40  % (25358)Termination reason: Unknown
% 1.88/1.40  % (25358)Termination phase: shuffling
% 1.88/1.40  
% 1.88/1.40  % (25358)Memory used [KB]: 1023
% 1.88/1.40  % (25358)Time elapsed: 0.002 s
% 1.88/1.40  % (25358)Instructions burned: 3 (million)
% 1.88/1.40  % (25358)------------------------------
% 1.88/1.40  % (25358)------------------------------
% 1.88/1.40  % (25356)First to succeed.
% 1.88/1.40  % (25356)Refutation found. Thanks to Tanya!
% 1.88/1.40  % SZS status Theorem for DTF2THF_25022
% 1.88/1.40  % SZS output start Proof for DTF2THF_25022
% 1.88/1.40  thf(type_def_6, type, elem: $tType).
% 1.88/1.40  thf(type_def_7, type, nat: $tType).
% 1.88/1.40  thf(type_def_8, type, list: $tType).
% 1.88/1.40  thf(func_def_0, type, isPer: !>[X0: $tType]:((X0 > X0 > $o) > $o)).
% 1.88/1.40  thf(func_def_2, type, elem: $tType).
% 1.88/1.40  thf(func_def_3, type, elemStar: elem > elem > $o).
% 1.88/1.40  thf(func_def_4, type, nat: $tType).
% 1.88/1.40  thf(func_def_5, type, natStar: nat > nat > $o).
% 1.88/1.40  thf(func_def_6, type, zero: nat).
% 1.88/1.40  thf(func_def_7, type, suc: nat > nat).
% 1.88/1.40  thf(func_def_8, type, plus: nat > nat > nat).
% 1.88/1.40  thf(func_def_9, type, list: $tType).
% 1.88/1.40  thf(func_def_10, type, listStar: nat > list > list > $o).
% 1.88/1.40  thf(func_def_11, type, nil: list).
% 1.88/1.40  thf(func_def_12, type, cons: nat > elem > list > list).
% 1.88/1.40  thf(func_def_13, type, app: nat > nat > list > list > list).
% 1.88/1.40  thf(func_def_14, type, rev: nat > list > list).
% 1.88/1.40  thf(func_def_17, type, sK0: nat).
% 1.88/1.40  thf(func_def_18, type, sK1: elem).
% 1.88/1.40  thf(func_def_19, type, sK2: list).
% 1.88/1.40  thf(func_def_20, type, sK3: nat).
% 1.88/1.40  thf(func_def_21, type, sK4: list).
% 1.88/1.40  thf(f78,plain,(
% 1.88/1.40    $false),
% 1.88/1.40    inference(subsumption_resolution,[status(thm)],[f77,f76])).
% 1.88/1.40  thf(f76,plain,(
% 1.88/1.40    ((listStar @ (plus @ sK0 @ (suc @ sK3)) @ (rev @ (plus @ sK0 @ (suc @ sK3)) @ (app @ (suc @ sK0) @ sK3 @ (rev @ (suc @ sK0) @ (cons @ sK0 @ sK1 @ sK2)) @ sK4)) @ (rev @ (plus @ sK0 @ (suc @ sK3)) @ (app @ sK0 @ (suc @ sK3) @ (rev @ sK0 @ sK2) @ (cons @ sK3 @ sK1 @ sK4)))) != $true)),
% 1.88/1.40    inference(forward_demodulation,[status(thm)],[f73,f67])).
% 1.88/1.40  thf(f67,plain,(
% 1.88/1.40    ( ! [X0 : nat,X1 : nat] : (((plus @ (suc @ X0) @ X1) = (plus @ X0 @ (suc @ X1)))) )),
% 1.88/1.40    inference(cnf_transformation,[status(thm)],[f50])).
% 1.88/1.40  thf(f50,plain,(
% 1.88/1.40    ! [X0 : nat,X1 : nat] : ((plus @ (suc @ X0) @ X1) = (plus @ X0 @ (suc @ X1)))),
% 1.88/1.40    inference(rectify,[status(thm)],[f20])).
% 1.88/1.40  thf(f20,axiom,(
% 1.88/1.40    ! [X6 : nat,X10 : nat] : ((plus @ (suc @ X6) @ X10) = (plus @ X6 @ (suc @ X10)))),
% 1.88/1.40    file('/export/starexec/sandbox/tmp/tmp.lmrxhHgLnQ/DTF2THF_25022.p',plus_s_l_r)).
% 1.88/1.40  thf(f73,plain,(
% 1.88/1.40    ((listStar @ (plus @ (suc @ sK0) @ sK3) @ (rev @ (plus @ (suc @ sK0) @ sK3) @ (app @ (suc @ sK0) @ sK3 @ (rev @ (suc @ sK0) @ (cons @ sK0 @ sK1 @ sK2)) @ sK4)) @ (rev @ (plus @ sK0 @ (suc @ sK3)) @ (app @ sK0 @ (suc @ sK3) @ (rev @ sK0 @ sK2) @ (cons @ sK3 @ sK1 @ sK4)))) != $true)),
% 1.88/1.40    inference(cnf_transformation,[status(thm)],[f62])).
% 1.88/1.40  thf(f62,plain,(
% 1.88/1.40    ((listStar @ (plus @ (suc @ sK0) @ sK3) @ (rev @ (plus @ (suc @ sK0) @ sK3) @ (app @ (suc @ sK0) @ sK3 @ (rev @ (suc @ sK0) @ (cons @ sK0 @ sK1 @ sK2)) @ sK4)) @ (rev @ (plus @ sK0 @ (suc @ sK3)) @ (app @ sK0 @ (suc @ sK3) @ (rev @ sK0 @ sK2) @ (cons @ sK3 @ sK1 @ sK4)))) != $true) & ((listStar @ (plus @ (suc @ sK0) @ sK3) @ (rev @ (plus @ (suc @ sK0) @ sK3) @ (app @ (suc @ sK0) @ sK3 @ (rev @ (suc @ sK0) @ (cons @ sK0 @ sK1 @ sK2)) @ sK4)) @ (rev @ (plus @ (suc @ sK0) @ sK3) @ (app @ sK0 @ (suc @ sK3) @ (rev @ sK0 @ sK2) @ (cons @ sK3 @ sK1 @ sK4)))) = $true) & ((listStar @ sK3 @ sK4 @ sK4) = $true) & ((listStar @ sK0 @ sK2 @ sK2) = $true)),
% 1.88/1.40    inference(skolemisation,[status(esa),new_symbols(skolem,[sK0,sK1,sK2,sK3,sK4])],[f56,f61])).
% 1.88/1.40  thf(f61,plain,(
% 1.88/1.40    ? [X0 : nat,X1 : elem,X2 : list,X3 : nat,X4 : list] : (($true != (listStar @ (plus @ (suc @ X0) @ X3) @ (rev @ (plus @ (suc @ X0) @ X3) @ (app @ (suc @ X0) @ X3 @ (rev @ (suc @ X0) @ (cons @ X0 @ X1 @ X2)) @ X4)) @ (rev @ (plus @ X0 @ (suc @ X3)) @ (app @ X0 @ (suc @ X3) @ (rev @ X0 @ X2) @ (cons @ X3 @ X1 @ X4))))) & ((listStar @ (plus @ (suc @ X0) @ X3) @ (rev @ (plus @ (suc @ X0) @ X3) @ (app @ (suc @ X0) @ X3 @ (rev @ (suc @ X0) @ (cons @ X0 @ X1 @ X2)) @ X4)) @ (rev @ (plus @ (suc @ X0) @ X3) @ (app @ X0 @ (suc @ X3) @ (rev @ X0 @ X2) @ (cons @ X3 @ X1 @ X4)))) = $true) & ($true = (listStar @ X3 @ X4 @ X4)) & ($true = (listStar @ X0 @ X2 @ X2))) => (((listStar @ (plus @ (suc @ sK0) @ sK3) @ (rev @ (plus @ (suc @ sK0) @ sK3) @ (app @ (suc @ sK0) @ sK3 @ (rev @ (suc @ sK0) @ (cons @ sK0 @ sK1 @ sK2)) @ sK4)) @ (rev @ (plus @ sK0 @ (suc @ sK3)) @ (app @ sK0 @ (suc @ sK3) @ (rev @ sK0 @ sK2) @ (cons @ sK3 @ sK1 @ sK4)))) != $true) & ((listStar @ (plus @ (suc @ sK0) @ sK3) @ (rev @ (plus @ (suc @ sK0) @ sK3) @ (app @ (suc @ sK0) @ sK3 @ (rev @ (suc @ sK0) @ (cons @ sK0 @ sK1 @ sK2)) @ sK4)) @ (rev @ (plus @ (suc @ sK0) @ sK3) @ (app @ sK0 @ (suc @ sK3) @ (rev @ sK0 @ sK2) @ (cons @ sK3 @ sK1 @ sK4)))) = $true) & ((listStar @ sK3 @ sK4 @ sK4) = $true) & ((listStar @ sK0 @ sK2 @ sK2) = $true))),
% 1.88/1.40    introduced(definition,[],[choice_axiom])).
% 1.88/1.40  thf(f56,plain,(
% 1.88/1.40    ? [X0 : nat,X1 : elem,X2 : list,X3 : nat,X4 : list] : (($true != (listStar @ (plus @ (suc @ X0) @ X3) @ (rev @ (plus @ (suc @ X0) @ X3) @ (app @ (suc @ X0) @ X3 @ (rev @ (suc @ X0) @ (cons @ X0 @ X1 @ X2)) @ X4)) @ (rev @ (plus @ X0 @ (suc @ X3)) @ (app @ X0 @ (suc @ X3) @ (rev @ X0 @ X2) @ (cons @ X3 @ X1 @ X4))))) & ((listStar @ (plus @ (suc @ X0) @ X3) @ (rev @ (plus @ (suc @ X0) @ X3) @ (app @ (suc @ X0) @ X3 @ (rev @ (suc @ X0) @ (cons @ X0 @ X1 @ X2)) @ X4)) @ (rev @ (plus @ (suc @ X0) @ X3) @ (app @ X0 @ (suc @ X3) @ (rev @ X0 @ X2) @ (cons @ X3 @ X1 @ X4)))) = $true) & ($true = (listStar @ X3 @ X4 @ X4)) & ($true = (listStar @ X0 @ X2 @ X2)))),
% 1.88/1.40    inference(flattening,[status(thm)],[f55])).
% 1.88/1.40  thf(f55,plain,(
% 1.88/1.40    ? [X0 : nat,X1 : elem,X2 : list,X3 : nat,X4 : list] : (((($true != (listStar @ (plus @ (suc @ X0) @ X3) @ (rev @ (plus @ (suc @ X0) @ X3) @ (app @ (suc @ X0) @ X3 @ (rev @ (suc @ X0) @ (cons @ X0 @ X1 @ X2)) @ X4)) @ (rev @ (plus @ X0 @ (suc @ X3)) @ (app @ X0 @ (suc @ X3) @ (rev @ X0 @ X2) @ (cons @ X3 @ X1 @ X4))))) & ((listStar @ (plus @ (suc @ X0) @ X3) @ (rev @ (plus @ (suc @ X0) @ X3) @ (app @ (suc @ X0) @ X3 @ (rev @ (suc @ X0) @ (cons @ X0 @ X1 @ X2)) @ X4)) @ (rev @ (plus @ (suc @ X0) @ X3) @ (app @ X0 @ (suc @ X3) @ (rev @ X0 @ X2) @ (cons @ X3 @ X1 @ X4)))) = $true)) & ($true = (listStar @ X3 @ X4 @ X4))) & ($true = (listStar @ X0 @ X2 @ X2)))),
% 1.88/1.40    inference(ennf_transformation,[status(thm)],[f33])).
% 1.88/1.40  thf(f33,plain,(
% 1.88/1.40    ~! [X0 : nat,X1 : elem,X2 : list,X3 : nat,X4 : list] : (($true = (listStar @ X0 @ X2 @ X2)) => (($true = (listStar @ X3 @ X4 @ X4)) => (((listStar @ (plus @ (suc @ X0) @ X3) @ (rev @ (plus @ (suc @ X0) @ X3) @ (app @ (suc @ X0) @ X3 @ (rev @ (suc @ X0) @ (cons @ X0 @ X1 @ X2)) @ X4)) @ (rev @ (plus @ (suc @ X0) @ X3) @ (app @ X0 @ (suc @ X3) @ (rev @ X0 @ X2) @ (cons @ X3 @ X1 @ X4)))) = $true) => ($true = (listStar @ (plus @ (suc @ X0) @ X3) @ (rev @ (plus @ (suc @ X0) @ X3) @ (app @ (suc @ X0) @ X3 @ (rev @ (suc @ X0) @ (cons @ X0 @ X1 @ X2)) @ X4)) @ (rev @ (plus @ X0 @ (suc @ X3)) @ (app @ X0 @ (suc @ X3) @ (rev @ X0 @ X2) @ (cons @ X3 @ X1 @ X4))))))))),
% 1.88/1.40    inference(fool_elimination,[status(thm)],[f32])).
% 1.88/1.40  thf(f32,plain,(
% 1.88/1.40    ~! [X0 : nat,X1 : elem,X2 : list,X3 : nat,X4 : list] : ((listStar @ X0 @ X2 @ X2) => ((listStar @ X3 @ X4 @ X4) => ((listStar @ (plus @ (suc @ X0) @ X3) @ (rev @ (plus @ (suc @ X0) @ X3) @ (app @ (suc @ X0) @ X3 @ (rev @ (suc @ X0) @ (cons @ X0 @ X1 @ X2)) @ X4)) @ (rev @ (plus @ (suc @ X0) @ X3) @ (app @ X0 @ (suc @ X3) @ (rev @ X0 @ X2) @ (cons @ X3 @ X1 @ X4)))) => (listStar @ (plus @ (suc @ X0) @ X3) @ (rev @ (plus @ (suc @ X0) @ X3) @ (app @ (suc @ X0) @ X3 @ (rev @ (suc @ X0) @ (cons @ X0 @ X1 @ X2)) @ X4)) @ (rev @ (plus @ X0 @ (suc @ X3)) @ (app @ X0 @ (suc @ X3) @ (rev @ X0 @ X2) @ (cons @ X3 @ X1 @ X4)))))))),
% 1.88/1.40    inference(rectify,[status(thm)],[f22])).
% 1.88/1.40  thf(f22,negated_conjecture,(
% 1.88/1.40    ~! [X6 : nat,X2 : elem,X16 : list,X14 : nat,X17 : list] : ((listStar @ X6 @ X16 @ X16) => ((listStar @ X14 @ X17 @ X17) => ((listStar @ (plus @ (suc @ X6) @ X14) @ (rev @ (plus @ (suc @ X6) @ X14) @ (app @ (suc @ X6) @ X14 @ (rev @ (suc @ X6) @ (cons @ X6 @ X2 @ X16)) @ X17)) @ (rev @ (plus @ (suc @ X6) @ X14) @ (app @ X6 @ (suc @ X14) @ (rev @ X6 @ X16) @ (cons @ X14 @ X2 @ X17)))) => (listStar @ (plus @ (suc @ X6) @ X14) @ (rev @ (plus @ (suc @ X6) @ X14) @ (app @ (suc @ X6) @ X14 @ (rev @ (suc @ X6) @ (cons @ X6 @ X2 @ X16)) @ X17)) @ (rev @ (plus @ X6 @ (suc @ X14)) @ (app @ X6 @ (suc @ X14) @ (rev @ X6 @ X16) @ (cons @ X14 @ X2 @ X17)))))))),
% 1.88/1.40    inference(negated_conjecture,[status(cth)],[f21])).
% 1.88/1.40  thf(f21,conjecture,(
% 1.88/1.40    ! [X6 : nat,X2 : elem,X16 : list,X14 : nat,X17 : list] : ((listStar @ X6 @ X16 @ X16) => ((listStar @ X14 @ X17 @ X17) => ((listStar @ (plus @ (suc @ X6) @ X14) @ (rev @ (plus @ (suc @ X6) @ X14) @ (app @ (suc @ X6) @ X14 @ (rev @ (suc @ X6) @ (cons @ X6 @ X2 @ X16)) @ X17)) @ (rev @ (plus @ (suc @ X6) @ X14) @ (app @ X6 @ (suc @ X14) @ (rev @ X6 @ X16) @ (cons @ X14 @ X2 @ X17)))) => (listStar @ (plus @ (suc @ X6) @ X14) @ (rev @ (plus @ (suc @ X6) @ X14) @ (app @ (suc @ X6) @ X14 @ (rev @ (suc @ X6) @ (cons @ X6 @ X2 @ X16)) @ X17)) @ (rev @ (plus @ X6 @ (suc @ X14)) @ (app @ X6 @ (suc @ X14) @ (rev @ X6 @ X16) @ (cons @ X14 @ X2 @ X17)))))))),
% 1.88/1.40    file('/export/starexec/sandbox/tmp/tmp.lmrxhHgLnQ/DTF2THF_25022.p',list_rev_invol_lem_indstep3)).
% 1.88/1.40  thf(f77,plain,(
% 1.88/1.40    ((listStar @ (plus @ sK0 @ (suc @ sK3)) @ (rev @ (plus @ sK0 @ (suc @ sK3)) @ (app @ (suc @ sK0) @ sK3 @ (rev @ (suc @ sK0) @ (cons @ sK0 @ sK1 @ sK2)) @ sK4)) @ (rev @ (plus @ sK0 @ (suc @ sK3)) @ (app @ sK0 @ (suc @ sK3) @ (rev @ sK0 @ sK2) @ (cons @ sK3 @ sK1 @ sK4)))) = $true)),
% 1.88/1.40    inference(forward_demodulation,[status(thm)],[f72,f67])).
% 1.88/1.40  thf(f72,plain,(
% 1.88/1.40    ((listStar @ (plus @ (suc @ sK0) @ sK3) @ (rev @ (plus @ (suc @ sK0) @ sK3) @ (app @ (suc @ sK0) @ sK3 @ (rev @ (suc @ sK0) @ (cons @ sK0 @ sK1 @ sK2)) @ sK4)) @ (rev @ (plus @ (suc @ sK0) @ sK3) @ (app @ sK0 @ (suc @ sK3) @ (rev @ sK0 @ sK2) @ (cons @ sK3 @ sK1 @ sK4)))) = $true)),
% 1.88/1.40    inference(cnf_transformation,[status(thm)],[f62])).
% 1.88/1.40  % SZS output end Proof for DTF2THF_25022
% 1.88/1.40  % (25356)------------------------------
% 1.88/1.40  % (25356)Version: Vampire 4.8 (commit 7b44b1c2f on 2025-07-15 09:50:17 +0100)
% 1.88/1.40  % (25356)Termination reason: Refutation
% 1.88/1.40  
% 1.88/1.40  % (25356)Memory used [KB]: 5628
% 1.88/1.40  % (25356)Time elapsed: 0.010 s
% 1.88/1.40  % (25356)Instructions burned: 8 (million)
% 1.88/1.40  % (25356)------------------------------
% 1.88/1.40  % (25356)------------------------------
% 1.88/1.40  % (25350)Success in time 0.024 s
%------------------------------------------------------------------------------