↑ Up

Z3---4.15.1.THM-Prf.s

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

% Computer : n001.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:00 AM UTC 2025

% Result   : Theorem 0.22s 0.40s
% Output   : Proof 0.22s
% 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       : 1148 ( 653 equ)
%            Maximal formula atoms :   16 ( 127 avg)
%            Number of connectives : 1722 ( 699   ~; 678   |; 178   &)
%                                         (  63 <=>; 104  =>;   0  <=;   0 <~>)
%            Maximal formula depth :   23 (  13 avg)
%            Maximal term depth    :    3 (   1 avg)
%            Number of FOOLs       :  116 ( 116 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    :    3 (   3 usr;   1 con; 0-2 aty)
%            Number of variables   :  246 ( 242   !;   0   ?; 246   :)

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

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

tff(app_type,type,
    app: ( $i * $i ) > $i ).

tff(cons_type,type,
    cons: ( $i * $i ) > $i ).

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

tff(ssItem_type,type,
    ssItem: $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(trans(monotonicity(trans(monotonicity(rewrite(( ( ( nil != V )
                                                              | ( V != X )
                                                              | ( U != W ) )
                                                          <=> ( ( U != W )
                                                              | ( V != X )
                                                              | ( nil != V ) ) )),
                                                          ( ( ( nil != V )
                                                            | ( V != X )
                                                            | ( U != W )
                                                            | ( nil = U ) )
                                                        <=> ( ( U != W )
                                                            | ( V != X )
                                                            | ( nil != V )
                                                            | ( nil = U ) ) )),
                                                        rewrite(( ( ( U != W )
                                                            | ( V != X )
                                                            | ( nil != V )
                                                            | ( nil = U ) )
                                                        <=> ( ( nil = U )
                                                            | ( U != W )
                                                            | ( V != X )
                                                            | ( nil != V ) ) )),
                                                        ( ( ( nil != V )
                                                          | ( V != X )
                                                          | ( U != W )
                                                          | ( nil = U ) )
                                                      <=> ( ( nil = U )
                                                          | ( U != W )
                                                          | ( V != X )
                                                          | ( nil != V ) ) )),
                                                      ( ( ( nil != V )
                                                        | ( V != X )
                                                        | ( U != W )
                                                        | ( nil = U )
                                                        | ( ( nil != W )
                                                          & ( nil = X ) ) )
                                                    <=> ( ( nil = U )
                                                        | ( U != W )
                                                        | ( V != X )
                                                        | ( nil != V )
                                                        | ( ( nil != W )
                                                          & ( nil = X ) ) ) )),
                                                    rewrite(( ( ( nil = U )
                                                        | ( U != W )
                                                        | ( V != X )
                                                        | ( nil != V )
                                                        | ( ( nil != W )
                                                          & ( nil = X ) ) )
                                                    <=> ( ( nil = U )
                                                        | ( U != W )
                                                        | ( V != X )
                                                        | ( ( nil != W )
                                                          & ( nil = X ) )
                                                        | ( nil != V ) ) )),
                                                    ( ( ( nil != V )
                                                      | ( V != X )
                                                      | ( U != W )
                                                      | ( nil = U )
                                                      | ( ( nil != W )
                                                        & ( nil = X ) ) )
                                                  <=> ( ( nil = U )
                                                      | ( U != W )
                                                      | ( V != X )
                                                      | ( ( nil != W )
                                                        & ( nil = X ) )
                                                      | ( nil != V ) ) )),
                                                  rewrite(( ( ! [Y: $i] :
                                                          ( ssItem(Y)
                                                         => ! [Z: $i] :
                                                              ( ssList(Z)
                                                             => ( ( app(cons(Y,nil),Z) != W )
                                                                | ( app(Z,cons(Y,nil)) != X ) ) ) )
                                                      & neq(X,nil) )
                                                  <=> ( ! [Y: $i] :
                                                          ( ~ ssItem(Y)
                                                          | ! [Z: $i] :
                                                              ( ( app(cons(Y,nil),Z) != W )
                                                              | ( app(Z,cons(Y,nil)) != X )
                                                              | ~ ssList(Z) ) )
                                                      & neq(X,nil) ) )),
                                                  ( ( ( nil != V )
                                                    | ( V != X )
                                                    | ( U != W )
                                                    | ( nil = U )
                                                    | ( ( nil != W )
                                                      & ( nil = X ) )
                                                    | ( ! [Y: $i] :
                                                          ( ssItem(Y)
                                                         => ! [Z: $i] :
                                                              ( ssList(Z)
                                                             => ( ( app(cons(Y,nil),Z) != W )
                                                                | ( app(Z,cons(Y,nil)) != X ) ) ) )
                                                      & neq(X,nil) ) )
                                                <=> ( ( nil = U )
                                                    | ( U != W )
                                                    | ( V != X )
                                                    | ( ( nil != W )
                                                      & ( nil = X ) )
                                                    | ( nil != V )
                                                    | ( ! [Y: $i] :
                                                          ( ~ ssItem(Y)
                                                          | ! [Z: $i] :
                                                              ( ( app(cons(Y,nil),Z) != W )
                                                              | ( app(Z,cons(Y,nil)) != X )
                                                              | ~ ssList(Z) ) )
                                                      & neq(X,nil) ) ) )),
                                                rewrite(( ( ( nil = U )
                                                    | ( U != W )
                                                    | ( V != X )
                                                    | ( ( nil != W )
                                                      & ( nil = X ) )
                                                    | ( nil != V )
                                                    | ( ! [Y: $i] :
                                                          ( ~ ssItem(Y)
                                                          | ! [Z: $i] :
                                                              ( ( app(cons(Y,nil),Z) != W )
                                                              | ( app(Z,cons(Y,nil)) != X )
                                                              | ~ ssList(Z) ) )
                                                      & neq(X,nil) ) )
                                                <=> ( ( nil = U )
                                                    | ( U != W )
                                                    | ( V != X )
                                                    | ( ( nil != W )
                                                      & ( nil = X ) )
                                                    | ( nil != V )
                                                    | ( ! [Y: $i] :
                                                          ( ~ ssItem(Y)
                                                          | ! [Z: $i] :
                                                              ( ( app(cons(Y,nil),Z) != W )
                                                              | ( app(Z,cons(Y,nil)) != X )
                                                              | ~ ssList(Z) ) )
                                                      & neq(X,nil) ) ) )),
                                                ( ( ( nil != V )
                                                  | ( V != X )
                                                  | ( U != W )
                                                  | ( nil = U )
                                                  | ( ( nil != W )
                                                    & ( nil = X ) )
                                                  | ( ! [Y: $i] :
                                                        ( ssItem(Y)
                                                       => ! [Z: $i] :
                                                            ( ssList(Z)
                                                           => ( ( app(cons(Y,nil),Z) != W )
                                                              | ( app(Z,cons(Y,nil)) != X ) ) ) )
                                                    & neq(X,nil) ) )
                                              <=> ( ( nil = U )
                                                  | ( U != W )
                                                  | ( V != X )
                                                  | ( ( nil != W )
                                                    & ( nil = X ) )
                                                  | ( nil != V )
                                                  | ( ! [Y: $i] :
                                                        ( ~ ssItem(Y)
                                                        | ! [Z: $i] :
                                                            ( ( app(cons(Y,nil),Z) != W )
                                                            | ( app(Z,cons(Y,nil)) != X )
                                                            | ~ ssList(Z) ) )
                                                    & neq(X,nil) ) ) )),
                                              ( ( ssList(X)
                                               => ( ( nil != V )
                                                  | ( V != X )
                                                  | ( U != W )
                                                  | ( nil = U )
                                                  | ( ( nil != W )
                                                    & ( nil = X ) )
                                                  | ( ! [Y: $i] :
                                                        ( ssItem(Y)
                                                       => ! [Z: $i] :
                                                            ( ssList(Z)
                                                           => ( ( app(cons(Y,nil),Z) != W )
                                                              | ( app(Z,cons(Y,nil)) != X ) ) ) )
                                                    & neq(X,nil) ) ) )
                                            <=> ( ssList(X)
                                               => ( ( nil = U )
                                                  | ( U != W )
                                                  | ( V != X )
                                                  | ( ( nil != W )
                                                    & ( nil = X ) )
                                                  | ( nil != V )
                                                  | ( ! [Y: $i] :
                                                        ( ~ ssItem(Y)
                                                        | ! [Z: $i] :
                                                            ( ( app(cons(Y,nil),Z) != W )
                                                            | ( app(Z,cons(Y,nil)) != X )
                                                            | ~ ssList(Z) ) )
                                                    & neq(X,nil) ) ) ) )),
                                            rewrite(( ( ssList(X)
                                               => ( ( nil = U )
                                                  | ( U != W )
                                                  | ( V != X )
                                                  | ( ( nil != W )
                                                    & ( nil = X ) )
                                                  | ( nil != V )
                                                  | ( ! [Y: $i] :
                                                        ( ~ ssItem(Y)
                                                        | ! [Z: $i] :
                                                            ( ( app(cons(Y,nil),Z) != W )
                                                            | ( app(Z,cons(Y,nil)) != X )
                                                            | ~ ssList(Z) ) )
                                                    & neq(X,nil) ) ) )
                                            <=> ( ( nil = U )
                                                | ( U != W )
                                                | ( V != X )
                                                | ( ( nil != W )
                                                  & ( nil = X ) )
                                                | ( nil != V )
                                                | ~ ssList(X)
                                                | ( ! [Y: $i] :
                                                      ( ~ ssItem(Y)
                                                      | ! [Z: $i] :
                                                          ( ( app(cons(Y,nil),Z) != W )
                                                          | ( app(Z,cons(Y,nil)) != X )
                                                          | ~ ssList(Z) ) )
                                                  & neq(X,nil) ) ) )),
                                            ( ( ssList(X)
                                             => ( ( nil != V )
                                                | ( V != X )
                                                | ( U != W )
                                                | ( nil = U )
                                                | ( ( nil != W )
                                                  & ( nil = X ) )
                                                | ( ! [Y: $i] :
                                                      ( ssItem(Y)
                                                     => ! [Z: $i] :
                                                          ( ssList(Z)
                                                         => ( ( app(cons(Y,nil),Z) != W )
                                                            | ( app(Z,cons(Y,nil)) != X ) ) ) )
                                                  & neq(X,nil) ) ) )
                                          <=> ( ( nil = U )
                                              | ( U != W )
                                              | ( V != X )
                                              | ( ( nil != W )
                                                & ( nil = X ) )
                                              | ( nil != V )
                                              | ~ ssList(X)
                                              | ( ! [Y: $i] :
                                                    ( ~ ssItem(Y)
                                                    | ! [Z: $i] :
                                                        ( ( app(cons(Y,nil),Z) != W )
                                                        | ( app(Z,cons(Y,nil)) != X )
                                                        | ~ ssList(Z) ) )
                                                & neq(X,nil) ) ) ))),
                                      ( ! [X: $i] :
                                          ( ssList(X)
                                         => ( ( nil != V )
                                            | ( V != X )
                                            | ( U != W )
                                            | ( nil = U )
                                            | ( ( nil != W )
                                              & ( nil = X ) )
                                            | ( ! [Y: $i] :
                                                  ( ssItem(Y)
                                                 => ! [Z: $i] :
                                                      ( ssList(Z)
                                                     => ( ( app(cons(Y,nil),Z) != W )
                                                        | ( app(Z,cons(Y,nil)) != X ) ) ) )
                                              & neq(X,nil) ) ) )
                                    <=> ! [X: $i] :
                                          ( ( nil = U )
                                          | ( U != W )
                                          | ( V != X )
                                          | ( ( nil != W )
                                            & ( nil = X ) )
                                          | ( nil != V )
                                          | ~ ssList(X)
                                          | ( ! [Y: $i] :
                                                ( ~ ssItem(Y)
                                                | ! [Z: $i] :
                                                    ( ( app(cons(Y,nil),Z) != W )
                                                    | ( app(Z,cons(Y,nil)) != X )
                                                    | ~ ssList(Z) ) )
                                            & neq(X,nil) ) ) )),
                                    trans(trans(der(( ! [X: $i] :
                                              ( ( nil = U )
                                              | ( U != W )
                                              | ( V != X )
                                              | ( ( nil != W )
                                                & ( nil = X ) )
                                              | ( nil != V )
                                              | ~ ssList(X)
                                              | ( ! [Y: $i] :
                                                    ( ~ ssItem(Y)
                                                    | ! [Z: $i] :
                                                        ( ( app(cons(Y,nil),Z) != W )
                                                        | ( app(Z,cons(Y,nil)) != X )
                                                        | ~ ssList(Z) ) )
                                                & neq(X,nil) ) )
                                        <=> ! [X: $i] :
                                              ( ( ! [Y: $i] :
                                                    ( ~ ssItem(Y)
                                                    | ! [Z: $i] :
                                                        ( ( app(cons(Y,nil),Z) != W )
                                                        | ( app(Z,cons(Y,nil)) != V )
                                                        | ~ ssList(Z) ) )
                                                & neq(V,nil) )
                                              | ( nil = U )
                                              | ( U != W )
                                              | ( ( nil != W )
                                                & ( nil = V ) )
                                              | ( nil != V )
                                              | ~ ssList(V) ) )),
                                        elim_unused(( ! [X: $i] :
                                              ( ( ! [Y: $i] :
                                                    ( ~ ssItem(Y)
                                                    | ! [Z: $i] :
                                                        ( ( app(cons(Y,nil),Z) != W )
                                                        | ( app(Z,cons(Y,nil)) != V )
                                                        | ~ ssList(Z) ) )
                                                & neq(V,nil) )
                                              | ( nil = U )
                                              | ( U != W )
                                              | ( ( nil != W )
                                                & ( nil = V ) )
                                              | ( nil != V )
                                              | ~ ssList(V) )
                                        <=> ( ( ! [Y: $i] :
                                                  ( ~ ssItem(Y)
                                                  | ! [Z: $i] :
                                                      ( ( app(cons(Y,nil),Z) != W )
                                                      | ( app(Z,cons(Y,nil)) != V )
                                                      | ~ ssList(Z) ) )
                                              & neq(V,nil) )
                                            | ( nil = U )
                                            | ( U != W )
                                            | ( ( nil != W )
                                              & ( nil = V ) )
                                            | ( nil != V )
                                            | ~ ssList(V) ) )),
                                        ( ! [X: $i] :
                                            ( ( nil = U )
                                            | ( U != W )
                                            | ( V != X )
                                            | ( ( nil != W )
                                              & ( nil = X ) )
                                            | ( nil != V )
                                            | ~ ssList(X)
                                            | ( ! [Y: $i] :
                                                  ( ~ ssItem(Y)
                                                  | ! [Z: $i] :
                                                      ( ( app(cons(Y,nil),Z) != W )
                                                      | ( app(Z,cons(Y,nil)) != X )
                                                      | ~ ssList(Z) ) )
                                              & neq(X,nil) ) )
                                      <=> ( ( ! [Y: $i] :
                                                ( ~ ssItem(Y)
                                                | ! [Z: $i] :
                                                    ( ( app(cons(Y,nil),Z) != W )
                                                    | ( app(Z,cons(Y,nil)) != V )
                                                    | ~ ssList(Z) ) )
                                            & neq(V,nil) )
                                          | ( nil = U )
                                          | ( U != W )
                                          | ( ( nil != W )
                                            & ( nil = V ) )
                                          | ( nil != V )
                                          | ~ ssList(V) ) )),
                                      trans(monotonicity(rewrite(( ( ! [Y: $i] :
                                                  ( ~ ssItem(Y)
                                                  | ! [Z: $i] :
                                                      ( ( app(cons(Y,nil),Z) != W )
                                                      | ( app(Z,cons(Y,nil)) != V )
                                                      | ~ ssList(Z) ) )
                                              & neq(V,nil) )
                                          <=> ( ! [Y: $i] :
                                                  ( ~ ssItem(Y)
                                                  | ! [Z: $i] :
                                                      ( ~ ssList(Z)
                                                      | ( app(cons(Y,nil),Z) != W )
                                                      | ( app(Z,cons(Y,nil)) != V ) ) )
                                              & neq(V,nil) ) )),
                                          ( ( ( ! [Y: $i] :
                                                  ( ~ ssItem(Y)
                                                  | ! [Z: $i] :
                                                      ( ( app(cons(Y,nil),Z) != W )
                                                      | ( app(Z,cons(Y,nil)) != V )
                                                      | ~ ssList(Z) ) )
                                              & neq(V,nil) )
                                            | ( nil = U )
                                            | ( U != W )
                                            | ( ( nil != W )
                                              & ( nil = V ) )
                                            | ( nil != V )
                                            | ~ ssList(V) )
                                        <=> ( ( ! [Y: $i] :
                                                  ( ~ ssItem(Y)
                                                  | ! [Z: $i] :
                                                      ( ~ ssList(Z)
                                                      | ( app(cons(Y,nil),Z) != W )
                                                      | ( app(Z,cons(Y,nil)) != V ) ) )
                                              & neq(V,nil) )
                                            | ( nil = U )
                                            | ( U != W )
                                            | ( ( nil != W )
                                              & ( nil = V ) )
                                            | ( nil != V )
                                            | ~ ssList(V) ) )),
                                        rewrite(( ( ( ! [Y: $i] :
                                                  ( ~ ssItem(Y)
                                                  | ! [Z: $i] :
                                                      ( ~ ssList(Z)
                                                      | ( app(cons(Y,nil),Z) != W )
                                                      | ( app(Z,cons(Y,nil)) != V ) ) )
                                              & neq(V,nil) )
                                            | ( nil = U )
                                            | ( U != W )
                                            | ( ( nil != W )
                                              & ( nil = V ) )
                                            | ( nil != V )
                                            | ~ ssList(V) )
                                        <=> ( ( nil != V )
                                            | ( U != W )
                                            | ( nil = U )
                                            | ~ ssList(V)
                                            | ( ( nil != W )
                                              & ( nil = V ) )
                                            | ( ! [Y: $i] :
                                                  ( ~ ssItem(Y)
                                                  | ! [Z: $i] :
                                                      ( ~ ssList(Z)
                                                      | ( app(cons(Y,nil),Z) != W )
                                                      | ( app(Z,cons(Y,nil)) != V ) ) )
                                              & neq(V,nil) ) ) )),
                                        ( ( ( ! [Y: $i] :
                                                ( ~ ssItem(Y)
                                                | ! [Z: $i] :
                                                    ( ( app(cons(Y,nil),Z) != W )
                                                    | ( app(Z,cons(Y,nil)) != V )
                                                    | ~ ssList(Z) ) )
                                            & neq(V,nil) )
                                          | ( nil = U )
                                          | ( U != W )
                                          | ( ( nil != W )
                                            & ( nil = V ) )
                                          | ( nil != V )
                                          | ~ ssList(V) )
                                      <=> ( ( nil != V )
                                          | ( U != W )
                                          | ( nil = U )
                                          | ~ ssList(V)
                                          | ( ( nil != W )
                                            & ( nil = V ) )
                                          | ( ! [Y: $i] :
                                                ( ~ ssItem(Y)
                                                | ! [Z: $i] :
                                                    ( ~ ssList(Z)
                                                    | ( app(cons(Y,nil),Z) != W )
                                                    | ( app(Z,cons(Y,nil)) != V ) ) )
                                            & neq(V,nil) ) ) )),
                                      ( ! [X: $i] :
                                          ( ( nil = U )
                                          | ( U != W )
                                          | ( V != X )
                                          | ( ( nil != W )
                                            & ( nil = X ) )
                                          | ( nil != V )
                                          | ~ ssList(X)
                                          | ( ! [Y: $i] :
                                                ( ~ ssItem(Y)
                                                | ! [Z: $i] :
                                                    ( ( app(cons(Y,nil),Z) != W )
                                                    | ( app(Z,cons(Y,nil)) != X )
                                                    | ~ ssList(Z) ) )
                                            & neq(X,nil) ) )
                                    <=> ( ( nil != V )
                                        | ( U != W )
                                        | ( nil = U )
                                        | ~ ssList(V)
                                        | ( ( nil != W )
                                          & ( nil = V ) )
                                        | ( ! [Y: $i] :
                                              ( ~ ssItem(Y)
                                              | ! [Z: $i] :
                                                  ( ~ ssList(Z)
                                                  | ( app(cons(Y,nil),Z) != W )
                                                  | ( app(Z,cons(Y,nil)) != V ) ) )
                                          & neq(V,nil) ) ) )),
                                    ( ! [X: $i] :
                                        ( ssList(X)
                                       => ( ( nil != V )
                                          | ( V != X )
                                          | ( U != W )
                                          | ( nil = U )
                                          | ( ( nil != W )
                                            & ( nil = X ) )
                                          | ( ! [Y: $i] :
                                                ( ssItem(Y)
                                               => ! [Z: $i] :
                                                    ( ssList(Z)
                                                   => ( ( app(cons(Y,nil),Z) != W )
                                                      | ( app(Z,cons(Y,nil)) != X ) ) ) )
                                            & neq(X,nil) ) ) )
                                  <=> ( ( nil != V )
                                      | ( U != W )
                                      | ( nil = U )
                                      | ~ ssList(V)
                                      | ( ( nil != W )
                                        & ( nil = V ) )
                                      | ( ! [Y: $i] :
                                            ( ~ ssItem(Y)
                                            | ! [Z: $i] :
                                                ( ~ ssList(Z)
                                                | ( app(cons(Y,nil),Z) != W )
                                                | ( app(Z,cons(Y,nil)) != V ) ) )
                                        & neq(V,nil) ) ) )),
                                  ( ( ssList(W)
                                   => ! [X: $i] :
                                        ( ssList(X)
                                       => ( ( nil != V )
                                          | ( V != X )
                                          | ( U != W )
                                          | ( nil = U )
                                          | ( ( nil != W )
                                            & ( nil = X ) )
                                          | ( ! [Y: $i] :
                                                ( ssItem(Y)
                                               => ! [Z: $i] :
                                                    ( ssList(Z)
                                                   => ( ( app(cons(Y,nil),Z) != W )
                                                      | ( app(Z,cons(Y,nil)) != X ) ) ) )
                                            & neq(X,nil) ) ) ) )
                                <=> ( ssList(W)
                                   => ( ( nil != V )
                                      | ( U != W )
                                      | ( nil = U )
                                      | ~ ssList(V)
                                      | ( ( nil != W )
                                        & ( nil = V ) )
                                      | ( ! [Y: $i] :
                                            ( ~ ssItem(Y)
                                            | ! [Z: $i] :
                                                ( ~ ssList(Z)
                                                | ( app(cons(Y,nil),Z) != W )
                                                | ( app(Z,cons(Y,nil)) != V ) ) )
                                        & neq(V,nil) ) ) ) )),
                                rewrite(( ( ssList(W)
                                   => ( ( nil != V )
                                      | ( U != W )
                                      | ( nil = U )
                                      | ~ ssList(V)
                                      | ( ( nil != W )
                                        & ( nil = V ) )
                                      | ( ! [Y: $i] :
                                            ( ~ ssItem(Y)
                                            | ! [Z: $i] :
                                                ( ~ ssList(Z)
                                                | ( app(cons(Y,nil),Z) != W )
                                                | ( app(Z,cons(Y,nil)) != V ) ) )
                                        & neq(V,nil) ) ) )
                                <=> ( ( nil != V )
                                    | ( U != W )
                                    | ( nil = U )
                                    | ~ ssList(W)
                                    | ~ ssList(V)
                                    | ( ( nil != W )
                                      & ( nil = V ) )
                                    | ( ! [Y: $i] :
                                          ( ~ ssItem(Y)
                                          | ! [Z: $i] :
                                              ( ~ ssList(Z)
                                              | ( app(cons(Y,nil),Z) != W )
                                              | ( app(Z,cons(Y,nil)) != V ) ) )
                                      & neq(V,nil) ) ) )),
                                ( ( ssList(W)
                                 => ! [X: $i] :
                                      ( ssList(X)
                                     => ( ( nil != V )
                                        | ( V != X )
                                        | ( U != W )
                                        | ( nil = U )
                                        | ( ( nil != W )
                                          & ( nil = X ) )
                                        | ( ! [Y: $i] :
                                              ( ssItem(Y)
                                             => ! [Z: $i] :
                                                  ( ssList(Z)
                                                 => ( ( app(cons(Y,nil),Z) != W )
                                                    | ( app(Z,cons(Y,nil)) != X ) ) ) )
                                          & neq(X,nil) ) ) ) )
                              <=> ( ( nil != V )
                                  | ( U != W )
                                  | ( nil = U )
                                  | ~ ssList(W)
                                  | ~ ssList(V)
                                  | ( ( nil != W )
                                    & ( nil = V ) )
                                  | ( ! [Y: $i] :
                                        ( ~ ssItem(Y)
                                        | ! [Z: $i] :
                                            ( ~ ssList(Z)
                                            | ( app(cons(Y,nil),Z) != W )
                                            | ( app(Z,cons(Y,nil)) != V ) ) )
                                    & neq(V,nil) ) ) ))),
                          ( ! [W: $i] :
                              ( ssList(W)
                             => ! [X: $i] :
                                  ( ssList(X)
                                 => ( ( nil != V )
                                    | ( V != X )
                                    | ( U != W )
                                    | ( nil = U )
                                    | ( ( nil != W )
                                      & ( nil = X ) )
                                    | ( ! [Y: $i] :
                                          ( ssItem(Y)
                                         => ! [Z: $i] :
                                              ( ssList(Z)
                                             => ( ( app(cons(Y,nil),Z) != W )
                                                | ( app(Z,cons(Y,nil)) != X ) ) ) )
                                      & neq(X,nil) ) ) ) )
                        <=> ! [W: $i] :
                              ( ( nil != V )
                              | ( U != W )
                              | ( nil = U )
                              | ~ ssList(W)
                              | ~ ssList(V)
                              | ( ( nil != W )
                                & ( nil = V ) )
                              | ( ! [Y: $i] :
                                    ( ~ ssItem(Y)
                                    | ! [Z: $i] :
                                        ( ~ ssList(Z)
                                        | ( app(cons(Y,nil),Z) != W )
                                        | ( app(Z,cons(Y,nil)) != V ) ) )
                                & neq(V,nil) ) ) )),
                        trans(trans(der(( ! [W: $i] :
                                  ( ( nil != V )
                                  | ( U != W )
                                  | ( nil = U )
                                  | ~ ssList(W)
                                  | ~ ssList(V)
                                  | ( ( nil != W )
                                    & ( nil = V ) )
                                  | ( ! [Y: $i] :
                                        ( ~ ssItem(Y)
                                        | ! [Z: $i] :
                                            ( ~ ssList(Z)
                                            | ( app(cons(Y,nil),Z) != W )
                                            | ( app(Z,cons(Y,nil)) != V ) ) )
                                    & neq(V,nil) ) )
                            <=> ! [W: $i] :
                                  ( ( ! [Y: $i] :
                                        ( ~ ssItem(Y)
                                        | ! [Z: $i] :
                                            ( ~ ssList(Z)
                                            | ( app(cons(Y,nil),Z) != U )
                                            | ( app(Z,cons(Y,nil)) != V ) ) )
                                    & neq(V,nil) )
                                  | ( nil != V )
                                  | ( nil = U )
                                  | ~ ssList(U)
                                  | ~ ssList(V)
                                  | ( ( nil != U )
                                    & ( nil = V ) ) ) )),
                            elim_unused(( ! [W: $i] :
                                  ( ( ! [Y: $i] :
                                        ( ~ ssItem(Y)
                                        | ! [Z: $i] :
                                            ( ~ ssList(Z)
                                            | ( app(cons(Y,nil),Z) != U )
                                            | ( app(Z,cons(Y,nil)) != V ) ) )
                                    & neq(V,nil) )
                                  | ( nil != V )
                                  | ( nil = U )
                                  | ~ ssList(U)
                                  | ~ ssList(V)
                                  | ( ( nil != U )
                                    & ( nil = V ) ) )
                            <=> ( ( ! [Y: $i] :
                                      ( ~ ssItem(Y)
                                      | ! [Z: $i] :
                                          ( ~ ssList(Z)
                                          | ( app(cons(Y,nil),Z) != U )
                                          | ( app(Z,cons(Y,nil)) != V ) ) )
                                  & neq(V,nil) )
                                | ( nil != V )
                                | ( nil = U )
                                | ~ ssList(U)
                                | ~ ssList(V)
                                | ( ( nil != U )
                                  & ( nil = V ) ) ) )),
                            ( ! [W: $i] :
                                ( ( nil != V )
                                | ( U != W )
                                | ( nil = U )
                                | ~ ssList(W)
                                | ~ ssList(V)
                                | ( ( nil != W )
                                  & ( nil = V ) )
                                | ( ! [Y: $i] :
                                      ( ~ ssItem(Y)
                                      | ! [Z: $i] :
                                          ( ~ ssList(Z)
                                          | ( app(cons(Y,nil),Z) != W )
                                          | ( app(Z,cons(Y,nil)) != V ) ) )
                                  & neq(V,nil) ) )
                          <=> ( ( ! [Y: $i] :
                                    ( ~ ssItem(Y)
                                    | ! [Z: $i] :
                                        ( ~ ssList(Z)
                                        | ( app(cons(Y,nil),Z) != U )
                                        | ( app(Z,cons(Y,nil)) != V ) ) )
                                & neq(V,nil) )
                              | ( nil != V )
                              | ( nil = U )
                              | ~ ssList(U)
                              | ~ ssList(V)
                              | ( ( nil != U )
                                & ( nil = V ) ) ) )),
                          trans(monotonicity(rewrite(( ( ! [Y: $i] :
                                      ( ~ ssItem(Y)
                                      | ! [Z: $i] :
                                          ( ~ ssList(Z)
                                          | ( app(cons(Y,nil),Z) != U )
                                          | ( app(Z,cons(Y,nil)) != V ) ) )
                                  & neq(V,nil) )
                              <=> ( ! [Y: $i] :
                                      ( ~ ssItem(Y)
                                      | ! [Z: $i] :
                                          ( ~ ssList(Z)
                                          | ( app(cons(Y,nil),Z) != U )
                                          | ( app(Z,cons(Y,nil)) != V ) ) )
                                  & neq(V,nil) ) )),
                              ( ( ( ! [Y: $i] :
                                      ( ~ ssItem(Y)
                                      | ! [Z: $i] :
                                          ( ~ ssList(Z)
                                          | ( app(cons(Y,nil),Z) != U )
                                          | ( app(Z,cons(Y,nil)) != V ) ) )
                                  & neq(V,nil) )
                                | ( nil != V )
                                | ( nil = U )
                                | ~ ssList(U)
                                | ~ ssList(V)
                                | ( ( nil != U )
                                  & ( nil = V ) ) )
                            <=> ( ( ! [Y: $i] :
                                      ( ~ ssItem(Y)
                                      | ! [Z: $i] :
                                          ( ~ ssList(Z)
                                          | ( app(cons(Y,nil),Z) != U )
                                          | ( app(Z,cons(Y,nil)) != V ) ) )
                                  & neq(V,nil) )
                                | ( nil != V )
                                | ( nil = U )
                                | ~ ssList(U)
                                | ~ ssList(V)
                                | ( ( nil != U )
                                  & ( nil = V ) ) ) )),
                            rewrite(( ( ( ! [Y: $i] :
                                      ( ~ ssItem(Y)
                                      | ! [Z: $i] :
                                          ( ~ ssList(Z)
                                          | ( app(cons(Y,nil),Z) != U )
                                          | ( app(Z,cons(Y,nil)) != V ) ) )
                                  & neq(V,nil) )
                                | ( nil != V )
                                | ( nil = U )
                                | ~ ssList(U)
                                | ~ ssList(V)
                                | ( ( nil != U )
                                  & ( nil = V ) ) )
                            <=> ( ( nil != V )
                                | ( nil = U )
                                | ( ( nil != U )
                                  & ( nil = V ) )
                                | ~ ssList(V)
                                | ~ ssList(U)
                                | ( ! [Y: $i] :
                                      ( ~ ssItem(Y)
                                      | ! [Z: $i] :
                                          ( ~ ssList(Z)
                                          | ( app(cons(Y,nil),Z) != U )
                                          | ( app(Z,cons(Y,nil)) != V ) ) )
                                  & neq(V,nil) ) ) )),
                            ( ( ( ! [Y: $i] :
                                    ( ~ ssItem(Y)
                                    | ! [Z: $i] :
                                        ( ~ ssList(Z)
                                        | ( app(cons(Y,nil),Z) != U )
                                        | ( app(Z,cons(Y,nil)) != V ) ) )
                                & neq(V,nil) )
                              | ( nil != V )
                              | ( nil = U )
                              | ~ ssList(U)
                              | ~ ssList(V)
                              | ( ( nil != U )
                                & ( nil = V ) ) )
                          <=> ( ( nil != V )
                              | ( nil = U )
                              | ( ( nil != U )
                                & ( nil = V ) )
                              | ~ ssList(V)
                              | ~ ssList(U)
                              | ( ! [Y: $i] :
                                    ( ~ ssItem(Y)
                                    | ! [Z: $i] :
                                        ( ~ ssList(Z)
                                        | ( app(cons(Y,nil),Z) != U )
                                        | ( app(Z,cons(Y,nil)) != V ) ) )
                                & neq(V,nil) ) ) )),
                          ( ! [W: $i] :
                              ( ( nil != V )
                              | ( U != W )
                              | ( nil = U )
                              | ~ ssList(W)
                              | ~ ssList(V)
                              | ( ( nil != W )
                                & ( nil = V ) )
                              | ( ! [Y: $i] :
                                    ( ~ ssItem(Y)
                                    | ! [Z: $i] :
                                        ( ~ ssList(Z)
                                        | ( app(cons(Y,nil),Z) != W )
                                        | ( app(Z,cons(Y,nil)) != V ) ) )
                                & neq(V,nil) ) )
                        <=> ( ( nil != V )
                            | ( nil = U )
                            | ( ( nil != U )
                              & ( nil = V ) )
                            | ~ ssList(V)
                            | ~ ssList(U)
                            | ( ! [Y: $i] :
                                  ( ~ ssItem(Y)
                                  | ! [Z: $i] :
                                      ( ~ ssList(Z)
                                      | ( app(cons(Y,nil),Z) != U )
                                      | ( app(Z,cons(Y,nil)) != V ) ) )
                              & neq(V,nil) ) ) )),
                        ( ! [W: $i] :
                            ( ssList(W)
                           => ! [X: $i] :
                                ( ssList(X)
                               => ( ( nil != V )
                                  | ( V != X )
                                  | ( U != W )
                                  | ( nil = U )
                                  | ( ( nil != W )
                                    & ( nil = X ) )
                                  | ( ! [Y: $i] :
                                        ( ssItem(Y)
                                       => ! [Z: $i] :
                                            ( ssList(Z)
                                           => ( ( app(cons(Y,nil),Z) != W )
                                              | ( app(Z,cons(Y,nil)) != X ) ) ) )
                                    & neq(X,nil) ) ) ) )
                      <=> ( ( nil != V )
                          | ( nil = U )
                          | ( ( nil != U )
                            & ( nil = V ) )
                          | ~ ssList(V)
                          | ~ ssList(U)
                          | ( ! [Y: $i] :
                                ( ~ ssItem(Y)
                                | ! [Z: $i] :
                                    ( ~ ssList(Z)
                                    | ( app(cons(Y,nil),Z) != U )
                                    | ( app(Z,cons(Y,nil)) != V ) ) )
                            & neq(V,nil) ) ) )),
                      ( ( ssList(V)
                       => ! [W: $i] :
                            ( ssList(W)
                           => ! [X: $i] :
                                ( ssList(X)
                               => ( ( nil != V )
                                  | ( V != X )
                                  | ( U != W )
                                  | ( nil = U )
                                  | ( ( nil != W )
                                    & ( nil = X ) )
                                  | ( ! [Y: $i] :
                                        ( ssItem(Y)
                                       => ! [Z: $i] :
                                            ( ssList(Z)
                                           => ( ( app(cons(Y,nil),Z) != W )
                                              | ( app(Z,cons(Y,nil)) != X ) ) ) )
                                    & neq(X,nil) ) ) ) ) )
                    <=> ( ssList(V)
                       => ( ( nil != V )
                          | ( nil = U )
                          | ( ( nil != U )
                            & ( nil = V ) )
                          | ~ ssList(V)
                          | ~ ssList(U)
                          | ( ! [Y: $i] :
                                ( ~ ssItem(Y)
                                | ! [Z: $i] :
                                    ( ~ ssList(Z)
                                    | ( app(cons(Y,nil),Z) != U )
                                    | ( app(Z,cons(Y,nil)) != V ) ) )
                            & neq(V,nil) ) ) ) )),
                    rewrite(( ( ssList(V)
                       => ( ( nil != V )
                          | ( nil = U )
                          | ( ( nil != U )
                            & ( nil = V ) )
                          | ~ ssList(V)
                          | ~ ssList(U)
                          | ( ! [Y: $i] :
                                ( ~ ssItem(Y)
                                | ! [Z: $i] :
                                    ( ~ ssList(Z)
                                    | ( app(cons(Y,nil),Z) != U )
                                    | ( app(Z,cons(Y,nil)) != V ) ) )
                            & neq(V,nil) ) ) )
                    <=> ( ( nil != V )
                        | ( nil = U )
                        | ( ( nil != U )
                          & ( nil = V ) )
                        | ~ ssList(V)
                        | ~ ssList(U)
                        | ( ! [Y: $i] :
                              ( ~ ssItem(Y)
                              | ! [Z: $i] :
                                  ( ~ ssList(Z)
                                  | ( app(cons(Y,nil),Z) != U )
                                  | ( app(Z,cons(Y,nil)) != V ) ) )
                          & neq(V,nil) ) ) )),
                    ( ( ssList(V)
                     => ! [W: $i] :
                          ( ssList(W)
                         => ! [X: $i] :
                              ( ssList(X)
                             => ( ( nil != V )
                                | ( V != X )
                                | ( U != W )
                                | ( nil = U )
                                | ( ( nil != W )
                                  & ( nil = X ) )
                                | ( ! [Y: $i] :
                                      ( ssItem(Y)
                                     => ! [Z: $i] :
                                          ( ssList(Z)
                                         => ( ( app(cons(Y,nil),Z) != W )
                                            | ( app(Z,cons(Y,nil)) != X ) ) ) )
                                  & neq(X,nil) ) ) ) ) )
                  <=> ( ( nil != V )
                      | ( nil = U )
                      | ( ( nil != U )
                        & ( nil = V ) )
                      | ~ ssList(V)
                      | ~ ssList(U)
                      | ( ! [Y: $i] :
                            ( ~ ssItem(Y)
                            | ! [Z: $i] :
                                ( ~ ssList(Z)
                                | ( app(cons(Y,nil),Z) != U )
                                | ( app(Z,cons(Y,nil)) != V ) ) )
                        & neq(V,nil) ) ) ))),
              ( ! [V: $i] :
                  ( ssList(V)
                 => ! [W: $i] :
                      ( ssList(W)
                     => ! [X: $i] :
                          ( ssList(X)
                         => ( ( nil != V )
                            | ( V != X )
                            | ( U != W )
                            | ( nil = U )
                            | ( ( nil != W )
                              & ( nil = X ) )
                            | ( ! [Y: $i] :
                                  ( ssItem(Y)
                                 => ! [Z: $i] :
                                      ( ssList(Z)
                                     => ( ( app(cons(Y,nil),Z) != W )
                                        | ( app(Z,cons(Y,nil)) != X ) ) ) )
                              & neq(X,nil) ) ) ) ) )
            <=> ! [V: $i] :
                  ( ( nil != V )
                  | ( nil = U )
                  | ( ( nil != U )
                    & ( nil = V ) )
                  | ~ ssList(V)
                  | ~ ssList(U)
                  | ( ! [Y: $i] :
                        ( ~ ssItem(Y)
                        | ! [Z: $i] :
                            ( ~ ssList(Z)
                            | ( app(cons(Y,nil),Z) != U )
                            | ( app(Z,cons(Y,nil)) != V ) ) )
                    & neq(V,nil) ) ) )),
            trans(trans(der(( ! [V: $i] :
                      ( ( nil != V )
                      | ( nil = U )
                      | ( ( nil != U )
                        & ( nil = V ) )
                      | ~ ssList(V)
                      | ~ ssList(U)
                      | ( ! [Y: $i] :
                            ( ~ ssItem(Y)
                            | ! [Z: $i] :
                                ( ~ ssList(Z)
                                | ( app(cons(Y,nil),Z) != U )
                                | ( app(Z,cons(Y,nil)) != V ) ) )
                        & neq(V,nil) ) )
                <=> ! [V: $i] :
                      ( ( ! [Y: $i] :
                            ( ~ ssItem(Y)
                            | ! [Z: $i] :
                                ( ~ ssList(Z)
                                | ( app(cons(Y,nil),Z) != U )
                                | ( app(Z,cons(Y,nil)) != nil ) ) )
                        & neq(nil,nil) )
                      | ( nil = U )
                      | ( ( nil != U )
                        & ( nil = nil ) )
                      | ~ ssList(nil)
                      | ~ ssList(U) ) )),
                elim_unused(( ! [V: $i] :
                      ( ( ! [Y: $i] :
                            ( ~ ssItem(Y)
                            | ! [Z: $i] :
                                ( ~ ssList(Z)
                                | ( app(cons(Y,nil),Z) != U )
                                | ( app(Z,cons(Y,nil)) != nil ) ) )
                        & neq(nil,nil) )
                      | ( nil = U )
                      | ( ( nil != U )
                        & ( nil = nil ) )
                      | ~ ssList(nil)
                      | ~ ssList(U) )
                <=> ( ( ! [Y: $i] :
                          ( ~ ssItem(Y)
                          | ! [Z: $i] :
                              ( ~ ssList(Z)
                              | ( app(cons(Y,nil),Z) != U )
                              | ( app(Z,cons(Y,nil)) != nil ) ) )
                      & neq(nil,nil) )
                    | ( nil = U )
                    | ( ( nil != U )
                      & ( nil = nil ) )
                    | ~ ssList(nil)
                    | ~ ssList(U) ) )),
                ( ! [V: $i] :
                    ( ( nil != V )
                    | ( nil = U )
                    | ( ( nil != U )
                      & ( nil = V ) )
                    | ~ ssList(V)
                    | ~ ssList(U)
                    | ( ! [Y: $i] :
                          ( ~ ssItem(Y)
                          | ! [Z: $i] :
                              ( ~ ssList(Z)
                              | ( app(cons(Y,nil),Z) != U )
                              | ( app(Z,cons(Y,nil)) != V ) ) )
                      & neq(V,nil) ) )
              <=> ( ( ! [Y: $i] :
                        ( ~ ssItem(Y)
                        | ! [Z: $i] :
                            ( ~ ssList(Z)
                            | ( app(cons(Y,nil),Z) != U )
                            | ( app(Z,cons(Y,nil)) != nil ) ) )
                    & neq(nil,nil) )
                  | ( nil = U )
                  | ( ( nil != U )
                    & ( nil = nil ) )
                  | ~ ssList(nil)
                  | ~ ssList(U) ) )),
              trans(monotonicity(rewrite(( ( ! [Y: $i] :
                          ( ~ ssItem(Y)
                          | ! [Z: $i] :
                              ( ~ ssList(Z)
                              | ( app(cons(Y,nil),Z) != U )
                              | ( app(Z,cons(Y,nil)) != nil ) ) )
                      & neq(nil,nil) )
                  <=> ( ! [Y: $i] :
                          ( ~ ssItem(Y)
                          | ! [Z: $i] :
                              ( ~ ssList(Z)
                              | ( app(cons(Y,nil),Z) != U )
                              | ( app(Z,cons(Y,nil)) != nil ) ) )
                      & neq(nil,nil) ) )),
                  trans(monotonicity(rewrite(( ( nil = nil )
                      <=> $true )),
                      ( ( ( nil != U )
                        & ( nil = nil ) )
                    <=> ( ( nil != U )
                        & $true ) )),
                    rewrite(( ( ( nil != U )
                        & $true )
                    <=> ( nil != U ) )),
                    ( ( ( nil != U )
                      & ( nil = nil ) )
                  <=> ( nil != U ) )),
                  ( ( ( ! [Y: $i] :
                          ( ~ ssItem(Y)
                          | ! [Z: $i] :
                              ( ~ ssList(Z)
                              | ( app(cons(Y,nil),Z) != U )
                              | ( app(Z,cons(Y,nil)) != nil ) ) )
                      & neq(nil,nil) )
                    | ( nil = U )
                    | ( ( nil != U )
                      & ( nil = nil ) )
                    | ~ ssList(nil)
                    | ~ ssList(U) )
                <=> ( ( ! [Y: $i] :
                          ( ~ ssItem(Y)
                          | ! [Z: $i] :
                              ( ~ ssList(Z)
                              | ( app(cons(Y,nil),Z) != U )
                              | ( app(Z,cons(Y,nil)) != nil ) ) )
                      & neq(nil,nil) )
                    | ( nil = U )
                    | ( nil != U )
                    | ~ ssList(nil)
                    | ~ ssList(U) ) )),
                rewrite(( ( ( ! [Y: $i] :
                          ( ~ ssItem(Y)
                          | ! [Z: $i] :
                              ( ~ ssList(Z)
                              | ( app(cons(Y,nil),Z) != U )
                              | ( app(Z,cons(Y,nil)) != nil ) ) )
                      & neq(nil,nil) )
                    | ( nil = U )
                    | ( nil != U )
                    | ~ ssList(nil)
                    | ~ ssList(U) )
                <=> $true )),
                ( ( ( ! [Y: $i] :
                        ( ~ ssItem(Y)
                        | ! [Z: $i] :
                            ( ~ ssList(Z)
                            | ( app(cons(Y,nil),Z) != U )
                            | ( app(Z,cons(Y,nil)) != nil ) ) )
                    & neq(nil,nil) )
                  | ( nil = U )
                  | ( ( nil != U )
                    & ( nil = nil ) )
                  | ~ ssList(nil)
                  | ~ ssList(U) )
              <=> $true )),
              ( ! [V: $i] :
                  ( ( nil != V )
                  | ( nil = U )
                  | ( ( nil != U )
                    & ( nil = V ) )
                  | ~ ssList(V)
                  | ~ ssList(U)
                  | ( ! [Y: $i] :
                        ( ~ ssItem(Y)
                        | ! [Z: $i] :
                            ( ~ ssList(Z)
                            | ( app(cons(Y,nil),Z) != U )
                            | ( app(Z,cons(Y,nil)) != V ) ) )
                    & neq(V,nil) ) )
            <=> $true )),
            ( ! [V: $i] :
                ( ssList(V)
               => ! [W: $i] :
                    ( ssList(W)
                   => ! [X: $i] :
                        ( ssList(X)
                       => ( ( nil != V )
                          | ( V != X )
                          | ( U != W )
                          | ( nil = U )
                          | ( ( nil != W )
                            & ( nil = X ) )
                          | ( ! [Y: $i] :
                                ( ssItem(Y)
                               => ! [Z: $i] :
                                    ( ssList(Z)
                                   => ( ( app(cons(Y,nil),Z) != W )
                                      | ( app(Z,cons(Y,nil)) != X ) ) ) )
                            & neq(X,nil) ) ) ) ) )
          <=> $true )),
          ( ( ssList(U)
           => ! [V: $i] :
                ( ssList(V)
               => ! [W: $i] :
                    ( ssList(W)
                   => ! [X: $i] :
                        ( ssList(X)
                       => ( ( nil != V )
                          | ( V != X )
                          | ( U != W )
                          | ( nil = U )
                          | ( ( nil != W )
                            & ( nil = X ) )
                          | ( ! [Y: $i] :
                                ( ssItem(Y)
                               => ! [Z: $i] :
                                    ( ssList(Z)
                                   => ( ( app(cons(Y,nil),Z) != W )
                                      | ( app(Z,cons(Y,nil)) != X ) ) ) )
                            & 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)
                     => ( ( nil != V )
                        | ( V != X )
                        | ( U != W )
                        | ( nil = U )
                        | ( ( nil != W )
                          & ( nil = X ) )
                        | ( ! [Y: $i] :
                              ( ssItem(Y)
                             => ! [Z: $i] :
                                  ( ssList(Z)
                                 => ( ( app(cons(Y,nil),Z) != W )
                                    | ( app(Z,cons(Y,nil)) != X ) ) ) )
                          & 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)
                   => ( ( nil != V )
                      | ( V != X )
                      | ( U != W )
                      | ( nil = U )
                      | ( ( nil != W )
                        & ( nil = X ) )
                      | ( ! [Y: $i] :
                            ( ssItem(Y)
                           => ! [Z: $i] :
                                ( ssList(Z)
                               => ( ( app(cons(Y,nil),Z) != W )
                                  | ( app(Z,cons(Y,nil)) != X ) ) ) )
                        & 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)
                   => ( ( nil != V )
                      | ( V != X )
                      | ( U != W )
                      | ( nil = U )
                      | ( ( nil != W )
                        & ( nil = X ) )
                      | ( ! [Y: $i] :
                            ( ssItem(Y)
                           => ! [Z: $i] :
                                ( ssList(Z)
                               => ( ( app(cons(Y,nil),Z) != W )
                                  | ( app(Z,cons(Y,nil)) != X ) ) ) )
                        & 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)
                     => ( ( nil != V )
                        | ( V != X )
                        | ( U != W )
                        | ( nil = U )
                        | ( ( nil != W )
                          & ( nil = X ) )
                        | ( ! [Y: $i] :
                              ( ssItem(Y)
                             => ! [Z: $i] :
                                  ( ssList(Z)
                                 => ( ( app(cons(Y,nil),Z) != W )
                                    | ( app(Z,cons(Y,nil)) != X ) ) ) )
                          & 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)
                     => ( ( nil != V )
                        | ( V != X )
                        | ( U != W )
                        | ( nil = U )
                        | ( ( nil != W )
                          & ( nil = X ) )
                        | ( ! [Y: $i] :
                              ( ssItem(Y)
                             => ! [Z: $i] :
                                  ( ssList(Z)
                                 => ( ( app(cons(Y,nil),Z) != W )
                                    | ( app(Z,cons(Y,nil)) != X ) ) ) )
                          & 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)
                   => ( ( nil != V )
                      | ( V != X )
                      | ( U != W )
                      | ( nil = U )
                      | ( ( nil != W )
                        & ( nil = X ) )
                      | ( ! [Y: $i] :
                            ( ssItem(Y)
                           => ! [Z: $i] :
                                ( ssList(Z)
                               => ( ( app(cons(Y,nil),Z) != W )
                                  | ( app(Z,cons(Y,nil)) != X ) ) ) )
                        & 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.13  % Problem    : SWC040+1 : TPTP v9.0.0. Released v2.4.0.
% 0.07/0.13  % Command    : run_E %s %d THM
% 0.12/0.34  % Computer : n001.cluster.edu
% 0.12/0.34  % Model    : x86_64 x86_64
% 0.12/0.34  % CPU      : Intel(R) Xeon(R) CPU E5-2620 v4 @ 2.10GHz
% 0.12/0.34  % Memory   : 8042.1875MB
% 0.12/0.34  % OS       : Linux 3.10.0-693.el7.x86_64
% 0.12/0.34  % CPULimit   : 300
% 0.12/0.34  % WCLimit    : 300
% 0.12/0.34  % DateTime   : Fri Jun 20 08:09:50 EDT 2025
% 0.12/0.35  % CPUTime    : 
% 0.22/0.40  % SZS status Theorem
% 0.22/0.40  % SZS output start Proof
% See solution above
% 0.22/0.42  % E exiting
%------------------------------------------------------------------------------