↑ Up

Z3---4.15.1.THM-Prf.s

View TPTP
Problem
Process solution in
SystemOnTSTP
Download .tgz
%------------------------------------------------------------------------------
% File     : Z3---4.15.1
% Problem  : SWC255+1 : TPTP v9.0.0. Released v2.4.0.
% Transfm  : none
% Format   : tptp
% Command  : run_E %s %d THM

% Computer : n007.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 : Sat Jun 21 05:30:42 AM UTC 2025

% Result   : Theorem 0.19s 0.38s
% Output   : Proof 0.19s
% Verified : 
% SZS Type : Refutation
%            Derivation depth      :    5
%            Number of leaves      :    4
% Syntax   : Number of formulae    :    9 (   2 unt;   0 typ;   0 def)
%            Number of atoms       :  550 (  86 equ)
%            Maximal formula atoms :   12 (  61 avg)
%            Number of connectives :  772 ( 313   ~; 308   |;  45   &)
%                                         (  46 <=>;  60  =>;   0  <=;   0 <~>)
%            Maximal formula depth :   17 (  10 avg)
%            Maximal term depth    :    1 (   1 avg)
%            Number of FOOLs       :   82 (  82 fml;   0 var)
%            Number of types       :    2 (   0 usr)
%            Number of type conns  :    0 (   0   >;   0   *;   0   +;   0  <<)
%            Number of predicates  :   14 (  11 usr;   2 prp; 0-3 aty)
%            Number of functors    :    1 (   1 usr;   1 con; 0-0 aty)
%            Number of variables   :   64 (  60   !;   0   ?;  64   :)

% Comments : 
%------------------------------------------------------------------------------
tff(neq_type,type,
    neq: ( $i * $i ) > $o ).

tff(nil_type,type,
    nil: $i ).

tff(singletonP_type,type,
    singletonP: $i > $o ).

tff(ssList_type,type,
    ssList: $i > $o ).

tff(1,plain,
    ( ~ $true
  <=> $false ),
    inference(rewrite,[status(thm)],[]) ).

tff(2,plain,
    ( ! [U: $i] : $true
  <=> $true ),
    inference(elim_unused_vars,[status(thm)],[]) ).

tff(3,plain,
    ^ [U: $i] :
      trans(monotonicity(trans(quant_intro(proof_bind(^ [V: $i] :
                  trans(monotonicity(trans(quant_intro(proof_bind(^ [W: $i] :
                              trans(monotonicity(trans(quant_intro(proof_bind(^ [X: $i] :
                                          trans(monotonicity(trans(monotonicity(rewrite(( ( ( ~ neq(V,nil)
                                                        | ~ singletonP(W)
                                                        | singletonP(U) )
                                                      & ( ~ neq(V,nil)
                                                        | neq(X,nil) ) )
                                                  <=> ( ( singletonP(U)
                                                        | ~ neq(V,nil)
                                                        | ~ singletonP(W) )
                                                      & ( ~ neq(V,nil)
                                                        | neq(X,nil) ) ) )),
                                                  ( ( ( V != X )
                                                    | ( U != W )
                                                    | ( ( ~ neq(V,nil)
                                                        | ~ singletonP(W)
                                                        | singletonP(U) )
                                                      & ( ~ neq(V,nil)
                                                        | neq(X,nil) ) ) )
                                                <=> ( ( V != X )
                                                    | ( U != W )
                                                    | ( ( singletonP(U)
                                                        | ~ neq(V,nil)
                                                        | ~ singletonP(W) )
                                                      & ( ~ neq(V,nil)
                                                        | neq(X,nil) ) ) ) )),
                                                rewrite(( ( ( V != X )
                                                    | ( U != W )
                                                    | ( ( singletonP(U)
                                                        | ~ neq(V,nil)
                                                        | ~ singletonP(W) )
                                                      & ( ~ neq(V,nil)
                                                        | neq(X,nil) ) ) )
                                                <=> ( ( U != W )
                                                    | ( V != X )
                                                    | ( ( singletonP(U)
                                                        | ~ neq(V,nil)
                                                        | ~ singletonP(W) )
                                                      & ( ~ neq(V,nil)
                                                        | neq(X,nil) ) ) ) )),
                                                ( ( ( V != X )
                                                  | ( U != W )
                                                  | ( ( ~ neq(V,nil)
                                                      | ~ singletonP(W)
                                                      | singletonP(U) )
                                                    & ( ~ neq(V,nil)
                                                      | neq(X,nil) ) ) )
                                              <=> ( ( U != W )
                                                  | ( V != X )
                                                  | ( ( singletonP(U)
                                                      | ~ neq(V,nil)
                                                      | ~ singletonP(W) )
                                                    & ( ~ neq(V,nil)
                                                      | neq(X,nil) ) ) ) )),
                                              ( ( ssList(X)
                                               => ( ( V != X )
                                                  | ( U != W )
                                                  | ( ( ~ neq(V,nil)
                                                      | ~ singletonP(W)
                                                      | singletonP(U) )
                                                    & ( ~ neq(V,nil)
                                                      | neq(X,nil) ) ) ) )
                                            <=> ( ssList(X)
                                               => ( ( U != W )
                                                  | ( V != X )
                                                  | ( ( singletonP(U)
                                                      | ~ neq(V,nil)
                                                      | ~ singletonP(W) )
                                                    & ( ~ neq(V,nil)
                                                      | neq(X,nil) ) ) ) ) )),
                                            rewrite(( ( ssList(X)
                                               => ( ( U != W )
                                                  | ( V != X )
                                                  | ( ( singletonP(U)
                                                      | ~ neq(V,nil)
                                                      | ~ singletonP(W) )
                                                    & ( ~ neq(V,nil)
                                                      | neq(X,nil) ) ) ) )
                                            <=> ( ( U != W )
                                                | ( V != X )
                                                | ~ ssList(X)
                                                | ( ( singletonP(U)
                                                    | ~ neq(V,nil)
                                                    | ~ singletonP(W) )
                                                  & ( ~ neq(V,nil)
                                                    | neq(X,nil) ) ) ) )),
                                            ( ( ssList(X)
                                             => ( ( V != X )
                                                | ( U != W )
                                                | ( ( ~ neq(V,nil)
                                                    | ~ singletonP(W)
                                                    | singletonP(U) )
                                                  & ( ~ neq(V,nil)
                                                    | neq(X,nil) ) ) ) )
                                          <=> ( ( U != W )
                                              | ( V != X )
                                              | ~ ssList(X)
                                              | ( ( singletonP(U)
                                                  | ~ neq(V,nil)
                                                  | ~ singletonP(W) )
                                                & ( ~ neq(V,nil)
                                                  | neq(X,nil) ) ) ) ))),
                                      ( ! [X: $i] :
                                          ( ssList(X)
                                         => ( ( V != X )
                                            | ( U != W )
                                            | ( ( ~ neq(V,nil)
                                                | ~ singletonP(W)
                                                | singletonP(U) )
                                              & ( ~ neq(V,nil)
                                                | neq(X,nil) ) ) ) )
                                    <=> ! [X: $i] :
                                          ( ( U != W )
                                          | ( V != X )
                                          | ~ ssList(X)
                                          | ( ( singletonP(U)
                                              | ~ neq(V,nil)
                                              | ~ singletonP(W) )
                                            & ( ~ neq(V,nil)
                                              | neq(X,nil) ) ) ) )),
                                    trans(trans(der(( ! [X: $i] :
                                              ( ( U != W )
                                              | ( V != X )
                                              | ~ ssList(X)
                                              | ( ( singletonP(U)
                                                  | ~ neq(V,nil)
                                                  | ~ singletonP(W) )
                                                & ( ~ neq(V,nil)
                                                  | neq(X,nil) ) ) )
                                        <=> ! [X: $i] :
                                              ( ( ( singletonP(U)
                                                  | ~ neq(V,nil)
                                                  | ~ singletonP(W) )
                                                & ( ~ neq(V,nil)
                                                  | neq(V,nil) ) )
                                              | ( U != W )
                                              | ~ ssList(V) ) )),
                                        elim_unused(( ! [X: $i] :
                                              ( ( ( singletonP(U)
                                                  | ~ neq(V,nil)
                                                  | ~ singletonP(W) )
                                                & ( ~ neq(V,nil)
                                                  | neq(V,nil) ) )
                                              | ( U != W )
                                              | ~ ssList(V) )
                                        <=> ( ( ( singletonP(U)
                                                | ~ neq(V,nil)
                                                | ~ singletonP(W) )
                                              & ( ~ neq(V,nil)
                                                | neq(V,nil) ) )
                                            | ( U != W )
                                            | ~ ssList(V) ) )),
                                        ( ! [X: $i] :
                                            ( ( U != W )
                                            | ( V != X )
                                            | ~ ssList(X)
                                            | ( ( singletonP(U)
                                                | ~ neq(V,nil)
                                                | ~ singletonP(W) )
                                              & ( ~ neq(V,nil)
                                                | neq(X,nil) ) ) )
                                      <=> ( ( ( singletonP(U)
                                              | ~ neq(V,nil)
                                              | ~ singletonP(W) )
                                            & ( ~ neq(V,nil)
                                              | neq(V,nil) ) )
                                          | ( U != W )
                                          | ~ ssList(V) ) )),
                                      trans(monotonicity(trans(monotonicity(rewrite(( ( singletonP(U)
                                                  | ~ neq(V,nil)
                                                  | ~ singletonP(W) )
                                              <=> ( singletonP(U)
                                                  | ~ neq(V,nil)
                                                  | ~ singletonP(W) ) )),
                                              rewrite(( ( ~ neq(V,nil)
                                                  | neq(V,nil) )
                                              <=> $true )),
                                              ( ( ( singletonP(U)
                                                  | ~ neq(V,nil)
                                                  | ~ singletonP(W) )
                                                & ( ~ neq(V,nil)
                                                  | neq(V,nil) ) )
                                            <=> ( ( singletonP(U)
                                                  | ~ neq(V,nil)
                                                  | ~ singletonP(W) )
                                                & $true ) )),
                                            rewrite(( ( ( singletonP(U)
                                                  | ~ neq(V,nil)
                                                  | ~ singletonP(W) )
                                                & $true )
                                            <=> ( singletonP(U)
                                                | ~ neq(V,nil)
                                                | ~ singletonP(W) ) )),
                                            ( ( ( singletonP(U)
                                                | ~ neq(V,nil)
                                                | ~ singletonP(W) )
                                              & ( ~ neq(V,nil)
                                                | neq(V,nil) ) )
                                          <=> ( singletonP(U)
                                              | ~ neq(V,nil)
                                              | ~ singletonP(W) ) )),
                                          ( ( ( ( singletonP(U)
                                                | ~ neq(V,nil)
                                                | ~ singletonP(W) )
                                              & ( ~ neq(V,nil)
                                                | neq(V,nil) ) )
                                            | ( U != W )
                                            | ~ ssList(V) )
                                        <=> ( singletonP(U)
                                            | ~ neq(V,nil)
                                            | ~ singletonP(W)
                                            | ( U != W )
                                            | ~ ssList(V) ) )),
                                        rewrite(( ( singletonP(U)
                                            | ~ neq(V,nil)
                                            | ~ singletonP(W)
                                            | ( U != W )
                                            | ~ ssList(V) )
                                        <=> ( ( U != W )
                                            | singletonP(U)
                                            | ~ neq(V,nil)
                                            | ~ singletonP(W)
                                            | ~ ssList(V) ) )),
                                        ( ( ( ( singletonP(U)
                                              | ~ neq(V,nil)
                                              | ~ singletonP(W) )
                                            & ( ~ neq(V,nil)
                                              | neq(V,nil) ) )
                                          | ( U != W )
                                          | ~ ssList(V) )
                                      <=> ( ( U != W )
                                          | singletonP(U)
                                          | ~ neq(V,nil)
                                          | ~ singletonP(W)
                                          | ~ ssList(V) ) )),
                                      ( ! [X: $i] :
                                          ( ( U != W )
                                          | ( V != X )
                                          | ~ ssList(X)
                                          | ( ( singletonP(U)
                                              | ~ neq(V,nil)
                                              | ~ singletonP(W) )
                                            & ( ~ neq(V,nil)
                                              | neq(X,nil) ) ) )
                                    <=> ( ( U != W )
                                        | singletonP(U)
                                        | ~ neq(V,nil)
                                        | ~ singletonP(W)
                                        | ~ ssList(V) ) )),
                                    ( ! [X: $i] :
                                        ( ssList(X)
                                       => ( ( V != X )
                                          | ( U != W )
                                          | ( ( ~ neq(V,nil)
                                              | ~ singletonP(W)
                                              | singletonP(U) )
                                            & ( ~ neq(V,nil)
                                              | neq(X,nil) ) ) ) )
                                  <=> ( ( U != W )
                                      | singletonP(U)
                                      | ~ neq(V,nil)
                                      | ~ singletonP(W)
                                      | ~ ssList(V) ) )),
                                  ( ( ssList(W)
                                   => ! [X: $i] :
                                        ( ssList(X)
                                       => ( ( V != X )
                                          | ( U != W )
                                          | ( ( ~ neq(V,nil)
                                              | ~ singletonP(W)
                                              | singletonP(U) )
                                            & ( ~ neq(V,nil)
                                              | neq(X,nil) ) ) ) ) )
                                <=> ( ssList(W)
                                   => ( ( U != W )
                                      | singletonP(U)
                                      | ~ neq(V,nil)
                                      | ~ singletonP(W)
                                      | ~ ssList(V) ) ) )),
                                rewrite(( ( ssList(W)
                                   => ( ( U != W )
                                      | singletonP(U)
                                      | ~ neq(V,nil)
                                      | ~ singletonP(W)
                                      | ~ ssList(V) ) )
                                <=> ( ( U != W )
                                    | ~ ssList(W)
                                    | singletonP(U)
                                    | ~ neq(V,nil)
                                    | ~ singletonP(W)
                                    | ~ ssList(V) ) )),
                                ( ( ssList(W)
                                 => ! [X: $i] :
                                      ( ssList(X)
                                     => ( ( V != X )
                                        | ( U != W )
                                        | ( ( ~ neq(V,nil)
                                            | ~ singletonP(W)
                                            | singletonP(U) )
                                          & ( ~ neq(V,nil)
                                            | neq(X,nil) ) ) ) ) )
                              <=> ( ( U != W )
                                  | ~ ssList(W)
                                  | singletonP(U)
                                  | ~ neq(V,nil)
                                  | ~ singletonP(W)
                                  | ~ ssList(V) ) ))),
                          ( ! [W: $i] :
                              ( ssList(W)
                             => ! [X: $i] :
                                  ( ssList(X)
                                 => ( ( V != X )
                                    | ( U != W )
                                    | ( ( ~ neq(V,nil)
                                        | ~ singletonP(W)
                                        | singletonP(U) )
                                      & ( ~ neq(V,nil)
                                        | neq(X,nil) ) ) ) ) )
                        <=> ! [W: $i] :
                              ( ( U != W )
                              | ~ ssList(W)
                              | singletonP(U)
                              | ~ neq(V,nil)
                              | ~ singletonP(W)
                              | ~ ssList(V) ) )),
                        trans(trans(der(( ! [W: $i] :
                                  ( ( U != W )
                                  | ~ ssList(W)
                                  | singletonP(U)
                                  | ~ neq(V,nil)
                                  | ~ singletonP(W)
                                  | ~ ssList(V) )
                            <=> ! [W: $i] :
                                  ( ~ ssList(V)
                                  | ~ ssList(U)
                                  | singletonP(U)
                                  | ~ neq(V,nil)
                                  | ~ singletonP(U) ) )),
                            elim_unused(( ! [W: $i] :
                                  ( ~ ssList(V)
                                  | ~ ssList(U)
                                  | singletonP(U)
                                  | ~ neq(V,nil)
                                  | ~ singletonP(U) )
                            <=> ( ~ ssList(V)
                                | ~ ssList(U)
                                | singletonP(U)
                                | ~ neq(V,nil)
                                | ~ singletonP(U) ) )),
                            ( ! [W: $i] :
                                ( ( U != W )
                                | ~ ssList(W)
                                | singletonP(U)
                                | ~ neq(V,nil)
                                | ~ singletonP(W)
                                | ~ ssList(V) )
                          <=> ( ~ ssList(V)
                              | ~ ssList(U)
                              | singletonP(U)
                              | ~ neq(V,nil)
                              | ~ singletonP(U) ) )),
                          rewrite(( ( ~ ssList(V)
                              | ~ ssList(U)
                              | singletonP(U)
                              | ~ neq(V,nil)
                              | ~ singletonP(U) )
                          <=> $true )),
                          ( ! [W: $i] :
                              ( ( U != W )
                              | ~ ssList(W)
                              | singletonP(U)
                              | ~ neq(V,nil)
                              | ~ singletonP(W)
                              | ~ ssList(V) )
                        <=> $true )),
                        ( ! [W: $i] :
                            ( ssList(W)
                           => ! [X: $i] :
                                ( ssList(X)
                               => ( ( V != X )
                                  | ( U != W )
                                  | ( ( ~ neq(V,nil)
                                      | ~ singletonP(W)
                                      | singletonP(U) )
                                    & ( ~ neq(V,nil)
                                      | neq(X,nil) ) ) ) ) )
                      <=> $true )),
                      ( ( ssList(V)
                       => ! [W: $i] :
                            ( ssList(W)
                           => ! [X: $i] :
                                ( ssList(X)
                               => ( ( V != X )
                                  | ( U != W )
                                  | ( ( ~ neq(V,nil)
                                      | ~ singletonP(W)
                                      | singletonP(U) )
                                    & ( ~ neq(V,nil)
                                      | neq(X,nil) ) ) ) ) ) )
                    <=> ( ssList(V)
                       => $true ) )),
                    rewrite(( ( ssList(V)
                       => $true )
                    <=> $true )),
                    ( ( ssList(V)
                     => ! [W: $i] :
                          ( ssList(W)
                         => ! [X: $i] :
                              ( ssList(X)
                             => ( ( V != X )
                                | ( U != W )
                                | ( ( ~ neq(V,nil)
                                    | ~ singletonP(W)
                                    | singletonP(U) )
                                  & ( ~ neq(V,nil)
                                    | neq(X,nil) ) ) ) ) ) )
                  <=> $true ))),
              ( ! [V: $i] :
                  ( ssList(V)
                 => ! [W: $i] :
                      ( ssList(W)
                     => ! [X: $i] :
                          ( ssList(X)
                         => ( ( V != X )
                            | ( U != W )
                            | ( ( ~ neq(V,nil)
                                | ~ singletonP(W)
                                | singletonP(U) )
                              & ( ~ neq(V,nil)
                                | neq(X,nil) ) ) ) ) ) )
            <=> ! [V: $i] : $true )),
            elim_unused(( ! [V: $i] : $true
            <=> $true )),
            ( ! [V: $i] :
                ( ssList(V)
               => ! [W: $i] :
                    ( ssList(W)
                   => ! [X: $i] :
                        ( ssList(X)
                       => ( ( V != X )
                          | ( U != W )
                          | ( ( ~ neq(V,nil)
                              | ~ singletonP(W)
                              | singletonP(U) )
                            & ( ~ neq(V,nil)
                              | neq(X,nil) ) ) ) ) ) )
          <=> $true )),
          ( ( ssList(U)
           => ! [V: $i] :
                ( ssList(V)
               => ! [W: $i] :
                    ( ssList(W)
                   => ! [X: $i] :
                        ( ssList(X)
                       => ( ( V != X )
                          | ( U != W )
                          | ( ( ~ neq(V,nil)
                              | ~ singletonP(W)
                              | singletonP(U) )
                            & ( ~ neq(V,nil)
                              | neq(X,nil) ) ) ) ) ) ) )
        <=> ( ssList(U)
           => $true ) )),
        rewrite(( ( ssList(U)
           => $true )
        <=> $true )),
        ( ( ssList(U)
         => ! [V: $i] :
              ( ssList(V)
             => ! [W: $i] :
                  ( ssList(W)
                 => ! [X: $i] :
                      ( ssList(X)
                     => ( ( V != X )
                        | ( U != W )
                        | ( ( ~ neq(V,nil)
                            | ~ singletonP(W)
                            | singletonP(U) )
                          & ( ~ neq(V,nil)
                            | neq(X,nil) ) ) ) ) ) ) )
      <=> $true )),
    inference(bind,[status(th)],[]) ).

tff(4,plain,
    ( ! [U: $i] :
        ( ssList(U)
       => ! [V: $i] :
            ( ssList(V)
           => ! [W: $i] :
                ( ssList(W)
               => ! [X: $i] :
                    ( ssList(X)
                   => ( ( V != X )
                      | ( U != W )
                      | ( ( ~ neq(V,nil)
                          | ~ singletonP(W)
                          | singletonP(U) )
                        & ( ~ neq(V,nil)
                          | neq(X,nil) ) ) ) ) ) ) )
  <=> ! [U: $i] : $true ),
    inference(quant_intro,[status(thm)],[3]) ).

tff(5,plain,
    ( ! [U: $i] :
        ( ssList(U)
       => ! [V: $i] :
            ( ssList(V)
           => ! [W: $i] :
                ( ssList(W)
               => ! [X: $i] :
                    ( ssList(X)
                   => ( ( V != X )
                      | ( U != W )
                      | ( ( ~ neq(V,nil)
                          | ~ singletonP(W)
                          | singletonP(U) )
                        & ( ~ neq(V,nil)
                          | neq(X,nil) ) ) ) ) ) ) )
  <=> $true ),
    inference(transitivity,[status(thm)],[4,2]) ).

tff(6,plain,
    ( ~ ! [U: $i] :
          ( ssList(U)
         => ! [V: $i] :
              ( ssList(V)
             => ! [W: $i] :
                  ( ssList(W)
                 => ! [X: $i] :
                      ( ssList(X)
                     => ( ( V != X )
                        | ( U != W )
                        | ( ( ~ neq(V,nil)
                            | ~ singletonP(W)
                            | singletonP(U) )
                          & ( ~ neq(V,nil)
                            | neq(X,nil) ) ) ) ) ) ) )
  <=> ~ $true ),
    inference(monotonicity,[status(thm)],[5]) ).

tff(7,plain,
    ( ~ ! [U: $i] :
          ( ssList(U)
         => ! [V: $i] :
              ( ssList(V)
             => ! [W: $i] :
                  ( ssList(W)
                 => ! [X: $i] :
                      ( ssList(X)
                     => ( ( V != X )
                        | ( U != W )
                        | ( ( ~ neq(V,nil)
                            | ~ singletonP(W)
                            | singletonP(U) )
                          & ( ~ neq(V,nil)
                            | neq(X,nil) ) ) ) ) ) ) )
  <=> $false ),
    inference(transitivity,[status(thm)],[6,1]) ).

tff(8,axiom,
    ~ ! [U: $i] :
        ( ssList(U)
       => ! [V: $i] :
            ( ssList(V)
           => ! [W: $i] :
                ( ssList(W)
               => ! [X: $i] :
                    ( ssList(X)
                   => ( ( V != X )
                      | ( U != W )
                      | ( ( ~ neq(V,nil)
                          | ~ singletonP(W)
                          | singletonP(U) )
                        & ( ~ neq(V,nil)
                          | neq(X,nil) ) ) ) ) ) ) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',co1) ).

tff(9,plain,
    $false,
    inference(modus_ponens,[status(thm)],[8,7]) ).

%------------------------------------------------------------------------------
%----ORIGINAL SYSTEM OUTPUT
% 0.07/0.12  % Problem    : SWC255+1 : TPTP v9.0.0. Released v2.4.0.
% 0.07/0.12  % Command    : run_E %s %d THM
% 0.12/0.33  % Computer : n007.cluster.edu
% 0.12/0.33  % Model    : x86_64 x86_64
% 0.12/0.33  % CPU      : Intel(R) Xeon(R) CPU E5-2620 v4 @ 2.10GHz
% 0.12/0.33  % Memory   : 8042.1875MB
% 0.12/0.33  % OS       : Linux 3.10.0-693.el7.x86_64
% 0.12/0.33  % CPULimit   : 300
% 0.12/0.33  % WCLimit    : 300
% 0.12/0.33  % DateTime   : Fri Jun 20 08:46:20 EDT 2025
% 0.12/0.33  % CPUTime    : 
% 0.19/0.38  % SZS status Theorem
% 0.19/0.38  % SZS output start Proof
% See solution above
% 0.19/0.39  % E exiting
%------------------------------------------------------------------------------