TSTP Solution File: CSR022+1 by SInE---0.4

View Problem - Process Solution

%------------------------------------------------------------------------------
% File     : SInE---0.4
% Problem  : CSR022+1 : TPTP v5.0.0. Bugfixed v3.1.0.
% Transfm  : none
% Format   : tptp:raw
% Command  : Source/sine.py -e eprover -t %d %s

% Computer : art09.cs.miami.edu
% Model    : i686 i686
% CPU      : Intel(R) Pentium(R) 4 CPU 2.80GHz @ 2793MHz
% Memory   : 2018MB
% OS       : Linux 2.6.26.8-57.fc8
% CPULimit : 300s
% DateTime : Sat Dec 25 06:00:27 EST 2010

% Result   : Theorem 0.29s
% Output   : CNFRefutation 0.29s
% Verified : 
% SZS Type : Refutation
%            Derivation depth      :   15
%            Number of leaves      :   10
% Syntax   : Number of formulae    :   55 (  14 unt;   0 def)
%            Number of atoms       :  659 ( 349 equ)
%            Maximal formula atoms :  149 (  11 avg)
%            Number of connectives :  870 ( 266   ~; 405   |; 188   &)
%                                         (   9 <=>;   2  =>;   0  <=;   0 <~>)
%            Maximal formula depth :   37 (   7 avg)
%            Maximal term depth    :    2 (   1 avg)
%            Number of predicates  :    9 (   7 usr;   3 prp; 0-3 aty)
%            Number of functors    :   10 (  10 usr;   9 con; 0-2 aty)
%            Number of variables   :  105 (   3 sgn  68   !;   0   ?)

% Comments : 
%------------------------------------------------------------------------------
fof(1,axiom,
    ! [X1,X2,X3] :
      ( ( happens(X1,X2)
        & terminates(X1,X3,X2) )
     => ~ holdsAt(X3,plus(X2,n1)) ),
    file('/tmp/tmpyQgvkq/sel_CSR022+1.p_1',happens_terminates_not_holds) ).

fof(5,axiom,
    ! [X1,X3,X2] :
      ( terminates(X1,X3,X2)
    <=> ( ( X1 = push
          & X3 = backwards
          & ~ happens(pull,X2) )
        | ( X1 = pull
          & X3 = forwards
          & ~ happens(push,X2) )
        | ( X1 = pull
          & X3 = forwards
          & happens(push,X2) )
        | ( X1 = pull
          & X3 = backwards
          & happens(push,X2) )
        | ( X1 = push
          & X3 = spinning
          & ~ happens(pull,X2) )
        | ( X1 = pull
          & X3 = spinning
          & ~ happens(push,X2) ) ) ),
    file('/tmp/tmpyQgvkq/sel_CSR022+1.p_1',terminates_all_defn) ).

fof(10,axiom,
    ! [X1,X2] :
      ( happens(X1,X2)
    <=> ( ( X1 = push
          & X2 = n0 )
        | ( X1 = pull
          & X2 = n1 )
        | ( X1 = pull
          & X2 = n2 )
        | ( X1 = push
          & X2 = n2 ) ) ),
    file('/tmp/tmpyQgvkq/sel_CSR022+1.p_1',happens_all_defn) ).

fof(15,axiom,
    plus(n1,n2) = n3,
    file('/tmp/tmpyQgvkq/sel_CSR022+1.p_1',plus1_2) ).

fof(28,axiom,
    ! [X4,X5] : plus(X4,X5) = plus(X5,X4),
    file('/tmp/tmpyQgvkq/sel_CSR022+1.p_1',symmetry_of_plus) ).

fof(29,conjecture,
    ~ holdsAt(forwards,n3),
    file('/tmp/tmpyQgvkq/sel_CSR022+1.p_1',not_forwards_3) ).

fof(42,negated_conjecture,
    ~ ~ holdsAt(forwards,n3),
    inference(assume_negation,[status(cth)],[29]) ).

fof(43,plain,
    ! [X1,X2,X3] :
      ( ( happens(X1,X2)
        & terminates(X1,X3,X2) )
     => ~ holdsAt(X3,plus(X2,n1)) ),
    inference(fof_simplification,[status(thm)],[1,theory(equality)]) ).

fof(45,plain,
    ! [X1,X3,X2] :
      ( terminates(X1,X3,X2)
    <=> ( ( X1 = push
          & X3 = backwards
          & ~ happens(pull,X2) )
        | ( X1 = pull
          & X3 = forwards
          & ~ happens(push,X2) )
        | ( X1 = pull
          & X3 = forwards
          & happens(push,X2) )
        | ( X1 = pull
          & X3 = backwards
          & happens(push,X2) )
        | ( X1 = push
          & X3 = spinning
          & ~ happens(pull,X2) )
        | ( X1 = pull
          & X3 = spinning
          & ~ happens(push,X2) ) ) ),
    inference(fof_simplification,[status(thm)],[5,theory(equality)]) ).

fof(53,negated_conjecture,
    holdsAt(forwards,n3),
    inference(fof_simplification,[status(thm)],[42,theory(equality)]) ).

fof(56,plain,
    ! [X1,X3,X2] :
      ( epred2_3(X2,X3,X1)
    <=> ( ( X1 = push
          & X3 = backwards
          & ~ happens(pull,X2) )
        | ( X1 = pull
          & X3 = forwards
          & ~ happens(push,X2) )
        | ( X1 = pull
          & X3 = forwards
          & happens(push,X2) ) ) ),
    introduced(definition) ).

fof(57,plain,
    ! [X1,X3,X2] :
      ( epred3_3(X2,X3,X1)
    <=> ( ( X1 = push
          & X3 = backwards
          & ~ happens(pull,X2) )
        | ( X1 = pull
          & X3 = forwards
          & ~ happens(push,X2) )
        | ( X1 = pull
          & X3 = forwards
          & happens(push,X2) )
        | ( X1 = pull
          & X3 = backwards
          & happens(push,X2) )
        | ( X1 = push
          & X3 = spinning
          & ~ happens(pull,X2) )
        | ( X1 = pull
          & X3 = spinning
          & ~ happens(push,X2) ) ) ),
    introduced(definition) ).

fof(59,plain,
    ! [X1,X3,X2] :
      ( terminates(X1,X3,X2)
    <=> epred3_3(X2,X3,X1) ),
    inference(apply_def,[status(esa)],[45,57,theory(equality)]) ).

fof(60,plain,
    ! [X1,X3,X2] :
      ( epred3_3(X2,X3,X1)
    <=> ( epred2_3(X2,X3,X1)
        | ( X1 = pull
          & X3 = backwards
          & happens(push,X2) )
        | ( X1 = push
          & X3 = spinning
          & ~ happens(pull,X2) )
        | ( X1 = pull
          & X3 = spinning
          & ~ happens(push,X2) ) ) ),
    inference(apply_def,[status(esa)],[57,56,theory(equality)]) ).

fof(61,plain,
    ! [X1,X2,X3] :
      ( ~ happens(X1,X2)
      | ~ terminates(X1,X3,X2)
      | ~ holdsAt(X3,plus(X2,n1)) ),
    inference(fof_nnf,[status(thm)],[43]) ).

fof(62,plain,
    ! [X4,X5,X6] :
      ( ~ happens(X4,X5)
      | ~ terminates(X4,X6,X5)
      | ~ holdsAt(X6,plus(X5,n1)) ),
    inference(variable_rename,[status(thm)],[61]) ).

cnf(63,plain,
    ( ~ holdsAt(X1,plus(X2,n1))
    | ~ terminates(X3,X1,X2)
    | ~ happens(X3,X2) ),
    inference(split_conjunct,[status(thm)],[62]) ).

fof(70,plain,
    ! [X1,X3,X2] :
      ( ( ~ terminates(X1,X3,X2)
        | epred3_3(X2,X3,X1) )
      & ( ~ epred3_3(X2,X3,X1)
        | terminates(X1,X3,X2) ) ),
    inference(fof_nnf,[status(thm)],[59]) ).

fof(71,plain,
    ! [X4,X5,X6] :
      ( ( ~ terminates(X4,X5,X6)
        | epred3_3(X6,X5,X4) )
      & ( ~ epred3_3(X6,X5,X4)
        | terminates(X4,X5,X6) ) ),
    inference(variable_rename,[status(thm)],[70]) ).

cnf(72,plain,
    ( terminates(X1,X2,X3)
    | ~ epred3_3(X3,X2,X1) ),
    inference(split_conjunct,[status(thm)],[71]) ).

fof(92,plain,
    ! [X1,X2] :
      ( ( ~ happens(X1,X2)
        | ( X1 = push
          & X2 = n0 )
        | ( X1 = pull
          & X2 = n1 )
        | ( X1 = pull
          & X2 = n2 )
        | ( X1 = push
          & X2 = n2 ) )
      & ( ( ( X1 != push
            | X2 != n0 )
          & ( X1 != pull
            | X2 != n1 )
          & ( X1 != pull
            | X2 != n2 )
          & ( X1 != push
            | X2 != n2 ) )
        | happens(X1,X2) ) ),
    inference(fof_nnf,[status(thm)],[10]) ).

fof(93,plain,
    ! [X3,X4] :
      ( ( ~ happens(X3,X4)
        | ( X3 = push
          & X4 = n0 )
        | ( X3 = pull
          & X4 = n1 )
        | ( X3 = pull
          & X4 = n2 )
        | ( X3 = push
          & X4 = n2 ) )
      & ( ( ( X3 != push
            | X4 != n0 )
          & ( X3 != pull
            | X4 != n1 )
          & ( X3 != pull
            | X4 != n2 )
          & ( X3 != push
            | X4 != n2 ) )
        | happens(X3,X4) ) ),
    inference(variable_rename,[status(thm)],[92]) ).

fof(94,plain,
    ! [X3,X4] :
      ( ( X3 = push
        | X3 = pull
        | X3 = pull
        | X3 = push
        | ~ happens(X3,X4) )
      & ( X4 = n2
        | X3 = pull
        | X3 = pull
        | X3 = push
        | ~ happens(X3,X4) )
      & ( X3 = push
        | X4 = n2
        | X3 = pull
        | X3 = push
        | ~ happens(X3,X4) )
      & ( X4 = n2
        | X4 = n2
        | X3 = pull
        | X3 = push
        | ~ happens(X3,X4) )
      & ( X3 = push
        | X3 = pull
        | X4 = n1
        | X3 = push
        | ~ happens(X3,X4) )
      & ( X4 = n2
        | X3 = pull
        | X4 = n1
        | X3 = push
        | ~ happens(X3,X4) )
      & ( X3 = push
        | X4 = n2
        | X4 = n1
        | X3 = push
        | ~ happens(X3,X4) )
      & ( X4 = n2
        | X4 = n2
        | X4 = n1
        | X3 = push
        | ~ happens(X3,X4) )
      & ( X3 = push
        | X3 = pull
        | X3 = pull
        | X4 = n0
        | ~ happens(X3,X4) )
      & ( X4 = n2
        | X3 = pull
        | X3 = pull
        | X4 = n0
        | ~ happens(X3,X4) )
      & ( X3 = push
        | X4 = n2
        | X3 = pull
        | X4 = n0
        | ~ happens(X3,X4) )
      & ( X4 = n2
        | X4 = n2
        | X3 = pull
        | X4 = n0
        | ~ happens(X3,X4) )
      & ( X3 = push
        | X3 = pull
        | X4 = n1
        | X4 = n0
        | ~ happens(X3,X4) )
      & ( X4 = n2
        | X3 = pull
        | X4 = n1
        | X4 = n0
        | ~ happens(X3,X4) )
      & ( X3 = push
        | X4 = n2
        | X4 = n1
        | X4 = n0
        | ~ happens(X3,X4) )
      & ( X4 = n2
        | X4 = n2
        | X4 = n1
        | X4 = n0
        | ~ happens(X3,X4) )
      & ( X3 != push
        | X4 != n0
        | happens(X3,X4) )
      & ( X3 != pull
        | X4 != n1
        | happens(X3,X4) )
      & ( X3 != pull
        | X4 != n2
        | happens(X3,X4) )
      & ( X3 != push
        | X4 != n2
        | happens(X3,X4) ) ),
    inference(distribute,[status(thm)],[93]) ).

cnf(96,plain,
    ( happens(X1,X2)
    | X2 != n2
    | X1 != pull ),
    inference(split_conjunct,[status(thm)],[94]) ).

cnf(126,plain,
    plus(n1,n2) = n3,
    inference(split_conjunct,[status(thm)],[15]) ).

fof(145,plain,
    ! [X6,X7] : plus(X6,X7) = plus(X7,X6),
    inference(variable_rename,[status(thm)],[28]) ).

cnf(146,plain,
    plus(X1,X2) = plus(X2,X1),
    inference(split_conjunct,[status(thm)],[145]) ).

cnf(147,negated_conjecture,
    holdsAt(forwards,n3),
    inference(split_conjunct,[status(thm)],[53]) ).

fof(227,plain,
    ! [X1,X3,X2] :
      ( ( ~ epred2_3(X2,X3,X1)
        | ( X1 = push
          & X3 = backwards
          & ~ happens(pull,X2) )
        | ( X1 = pull
          & X3 = forwards
          & ~ happens(push,X2) )
        | ( X1 = pull
          & X3 = forwards
          & happens(push,X2) ) )
      & ( ( ( X1 != push
            | X3 != backwards
            | happens(pull,X2) )
          & ( X1 != pull
            | X3 != forwards
            | happens(push,X2) )
          & ( X1 != pull
            | X3 != forwards
            | ~ happens(push,X2) ) )
        | epred2_3(X2,X3,X1) ) ),
    inference(fof_nnf,[status(thm)],[56]) ).

fof(228,plain,
    ! [X4,X5,X6] :
      ( ( ~ epred2_3(X6,X5,X4)
        | ( X4 = push
          & X5 = backwards
          & ~ happens(pull,X6) )
        | ( X4 = pull
          & X5 = forwards
          & ~ happens(push,X6) )
        | ( X4 = pull
          & X5 = forwards
          & happens(push,X6) ) )
      & ( ( ( X4 != push
            | X5 != backwards
            | happens(pull,X6) )
          & ( X4 != pull
            | X5 != forwards
            | happens(push,X6) )
          & ( X4 != pull
            | X5 != forwards
            | ~ happens(push,X6) ) )
        | epred2_3(X6,X5,X4) ) ),
    inference(variable_rename,[status(thm)],[227]) ).

fof(229,plain,
    ! [X4,X5,X6] :
      ( ( X4 = pull
        | X4 = pull
        | X4 = push
        | ~ epred2_3(X6,X5,X4) )
      & ( X5 = forwards
        | X4 = pull
        | X4 = push
        | ~ epred2_3(X6,X5,X4) )
      & ( happens(push,X6)
        | X4 = pull
        | X4 = push
        | ~ epred2_3(X6,X5,X4) )
      & ( X4 = pull
        | X5 = forwards
        | X4 = push
        | ~ epred2_3(X6,X5,X4) )
      & ( X5 = forwards
        | X5 = forwards
        | X4 = push
        | ~ epred2_3(X6,X5,X4) )
      & ( happens(push,X6)
        | X5 = forwards
        | X4 = push
        | ~ epred2_3(X6,X5,X4) )
      & ( X4 = pull
        | ~ happens(push,X6)
        | X4 = push
        | ~ epred2_3(X6,X5,X4) )
      & ( X5 = forwards
        | ~ happens(push,X6)
        | X4 = push
        | ~ epred2_3(X6,X5,X4) )
      & ( happens(push,X6)
        | ~ happens(push,X6)
        | X4 = push
        | ~ epred2_3(X6,X5,X4) )
      & ( X4 = pull
        | X4 = pull
        | X5 = backwards
        | ~ epred2_3(X6,X5,X4) )
      & ( X5 = forwards
        | X4 = pull
        | X5 = backwards
        | ~ epred2_3(X6,X5,X4) )
      & ( happens(push,X6)
        | X4 = pull
        | X5 = backwards
        | ~ epred2_3(X6,X5,X4) )
      & ( X4 = pull
        | X5 = forwards
        | X5 = backwards
        | ~ epred2_3(X6,X5,X4) )
      & ( X5 = forwards
        | X5 = forwards
        | X5 = backwards
        | ~ epred2_3(X6,X5,X4) )
      & ( happens(push,X6)
        | X5 = forwards
        | X5 = backwards
        | ~ epred2_3(X6,X5,X4) )
      & ( X4 = pull
        | ~ happens(push,X6)
        | X5 = backwards
        | ~ epred2_3(X6,X5,X4) )
      & ( X5 = forwards
        | ~ happens(push,X6)
        | X5 = backwards
        | ~ epred2_3(X6,X5,X4) )
      & ( happens(push,X6)
        | ~ happens(push,X6)
        | X5 = backwards
        | ~ epred2_3(X6,X5,X4) )
      & ( X4 = pull
        | X4 = pull
        | ~ happens(pull,X6)
        | ~ epred2_3(X6,X5,X4) )
      & ( X5 = forwards
        | X4 = pull
        | ~ happens(pull,X6)
        | ~ epred2_3(X6,X5,X4) )
      & ( happens(push,X6)
        | X4 = pull
        | ~ happens(pull,X6)
        | ~ epred2_3(X6,X5,X4) )
      & ( X4 = pull
        | X5 = forwards
        | ~ happens(pull,X6)
        | ~ epred2_3(X6,X5,X4) )
      & ( X5 = forwards
        | X5 = forwards
        | ~ happens(pull,X6)
        | ~ epred2_3(X6,X5,X4) )
      & ( happens(push,X6)
        | X5 = forwards
        | ~ happens(pull,X6)
        | ~ epred2_3(X6,X5,X4) )
      & ( X4 = pull
        | ~ happens(push,X6)
        | ~ happens(pull,X6)
        | ~ epred2_3(X6,X5,X4) )
      & ( X5 = forwards
        | ~ happens(push,X6)
        | ~ happens(pull,X6)
        | ~ epred2_3(X6,X5,X4) )
      & ( happens(push,X6)
        | ~ happens(push,X6)
        | ~ happens(pull,X6)
        | ~ epred2_3(X6,X5,X4) )
      & ( X4 != push
        | X5 != backwards
        | happens(pull,X6)
        | epred2_3(X6,X5,X4) )
      & ( X4 != pull
        | X5 != forwards
        | happens(push,X6)
        | epred2_3(X6,X5,X4) )
      & ( X4 != pull
        | X5 != forwards
        | ~ happens(push,X6)
        | epred2_3(X6,X5,X4) ) ),
    inference(distribute,[status(thm)],[228]) ).

cnf(230,plain,
    ( epred2_3(X1,X2,X3)
    | ~ happens(push,X1)
    | X2 != forwards
    | X3 != pull ),
    inference(split_conjunct,[status(thm)],[229]) ).

cnf(231,plain,
    ( epred2_3(X1,X2,X3)
    | happens(push,X1)
    | X2 != forwards
    | X3 != pull ),
    inference(split_conjunct,[status(thm)],[229]) ).

fof(260,plain,
    ! [X1,X3,X2] :
      ( ( ~ epred3_3(X2,X3,X1)
        | epred2_3(X2,X3,X1)
        | ( X1 = pull
          & X3 = backwards
          & happens(push,X2) )
        | ( X1 = push
          & X3 = spinning
          & ~ happens(pull,X2) )
        | ( X1 = pull
          & X3 = spinning
          & ~ happens(push,X2) ) )
      & ( ( ~ epred2_3(X2,X3,X1)
          & ( X1 != pull
            | X3 != backwards
            | ~ happens(push,X2) )
          & ( X1 != push
            | X3 != spinning
            | happens(pull,X2) )
          & ( X1 != pull
            | X3 != spinning
            | happens(push,X2) ) )
        | epred3_3(X2,X3,X1) ) ),
    inference(fof_nnf,[status(thm)],[60]) ).

fof(261,plain,
    ! [X4,X5,X6] :
      ( ( ~ epred3_3(X6,X5,X4)
        | epred2_3(X6,X5,X4)
        | ( X4 = pull
          & X5 = backwards
          & happens(push,X6) )
        | ( X4 = push
          & X5 = spinning
          & ~ happens(pull,X6) )
        | ( X4 = pull
          & X5 = spinning
          & ~ happens(push,X6) ) )
      & ( ( ~ epred2_3(X6,X5,X4)
          & ( X4 != pull
            | X5 != backwards
            | ~ happens(push,X6) )
          & ( X4 != push
            | X5 != spinning
            | happens(pull,X6) )
          & ( X4 != pull
            | X5 != spinning
            | happens(push,X6) ) )
        | epred3_3(X6,X5,X4) ) ),
    inference(variable_rename,[status(thm)],[260]) ).

fof(262,plain,
    ! [X4,X5,X6] :
      ( ( X4 = pull
        | X4 = push
        | X4 = pull
        | epred2_3(X6,X5,X4)
        | ~ epred3_3(X6,X5,X4) )
      & ( X5 = spinning
        | X4 = push
        | X4 = pull
        | epred2_3(X6,X5,X4)
        | ~ epred3_3(X6,X5,X4) )
      & ( ~ happens(push,X6)
        | X4 = push
        | X4 = pull
        | epred2_3(X6,X5,X4)
        | ~ epred3_3(X6,X5,X4) )
      & ( X4 = pull
        | X5 = spinning
        | X4 = pull
        | epred2_3(X6,X5,X4)
        | ~ epred3_3(X6,X5,X4) )
      & ( X5 = spinning
        | X5 = spinning
        | X4 = pull
        | epred2_3(X6,X5,X4)
        | ~ epred3_3(X6,X5,X4) )
      & ( ~ happens(push,X6)
        | X5 = spinning
        | X4 = pull
        | epred2_3(X6,X5,X4)
        | ~ epred3_3(X6,X5,X4) )
      & ( X4 = pull
        | ~ happens(pull,X6)
        | X4 = pull
        | epred2_3(X6,X5,X4)
        | ~ epred3_3(X6,X5,X4) )
      & ( X5 = spinning
        | ~ happens(pull,X6)
        | X4 = pull
        | epred2_3(X6,X5,X4)
        | ~ epred3_3(X6,X5,X4) )
      & ( ~ happens(push,X6)
        | ~ happens(pull,X6)
        | X4 = pull
        | epred2_3(X6,X5,X4)
        | ~ epred3_3(X6,X5,X4) )
      & ( X4 = pull
        | X4 = push
        | X5 = backwards
        | epred2_3(X6,X5,X4)
        | ~ epred3_3(X6,X5,X4) )
      & ( X5 = spinning
        | X4 = push
        | X5 = backwards
        | epred2_3(X6,X5,X4)
        | ~ epred3_3(X6,X5,X4) )
      & ( ~ happens(push,X6)
        | X4 = push
        | X5 = backwards
        | epred2_3(X6,X5,X4)
        | ~ epred3_3(X6,X5,X4) )
      & ( X4 = pull
        | X5 = spinning
        | X5 = backwards
        | epred2_3(X6,X5,X4)
        | ~ epred3_3(X6,X5,X4) )
      & ( X5 = spinning
        | X5 = spinning
        | X5 = backwards
        | epred2_3(X6,X5,X4)
        | ~ epred3_3(X6,X5,X4) )
      & ( ~ happens(push,X6)
        | X5 = spinning
        | X5 = backwards
        | epred2_3(X6,X5,X4)
        | ~ epred3_3(X6,X5,X4) )
      & ( X4 = pull
        | ~ happens(pull,X6)
        | X5 = backwards
        | epred2_3(X6,X5,X4)
        | ~ epred3_3(X6,X5,X4) )
      & ( X5 = spinning
        | ~ happens(pull,X6)
        | X5 = backwards
        | epred2_3(X6,X5,X4)
        | ~ epred3_3(X6,X5,X4) )
      & ( ~ happens(push,X6)
        | ~ happens(pull,X6)
        | X5 = backwards
        | epred2_3(X6,X5,X4)
        | ~ epred3_3(X6,X5,X4) )
      & ( X4 = pull
        | X4 = push
        | happens(push,X6)
        | epred2_3(X6,X5,X4)
        | ~ epred3_3(X6,X5,X4) )
      & ( X5 = spinning
        | X4 = push
        | happens(push,X6)
        | epred2_3(X6,X5,X4)
        | ~ epred3_3(X6,X5,X4) )
      & ( ~ happens(push,X6)
        | X4 = push
        | happens(push,X6)
        | epred2_3(X6,X5,X4)
        | ~ epred3_3(X6,X5,X4) )
      & ( X4 = pull
        | X5 = spinning
        | happens(push,X6)
        | epred2_3(X6,X5,X4)
        | ~ epred3_3(X6,X5,X4) )
      & ( X5 = spinning
        | X5 = spinning
        | happens(push,X6)
        | epred2_3(X6,X5,X4)
        | ~ epred3_3(X6,X5,X4) )
      & ( ~ happens(push,X6)
        | X5 = spinning
        | happens(push,X6)
        | epred2_3(X6,X5,X4)
        | ~ epred3_3(X6,X5,X4) )
      & ( X4 = pull
        | ~ happens(pull,X6)
        | happens(push,X6)
        | epred2_3(X6,X5,X4)
        | ~ epred3_3(X6,X5,X4) )
      & ( X5 = spinning
        | ~ happens(pull,X6)
        | happens(push,X6)
        | epred2_3(X6,X5,X4)
        | ~ epred3_3(X6,X5,X4) )
      & ( ~ happens(push,X6)
        | ~ happens(pull,X6)
        | happens(push,X6)
        | epred2_3(X6,X5,X4)
        | ~ epred3_3(X6,X5,X4) )
      & ( ~ epred2_3(X6,X5,X4)
        | epred3_3(X6,X5,X4) )
      & ( X4 != pull
        | X5 != backwards
        | ~ happens(push,X6)
        | epred3_3(X6,X5,X4) )
      & ( X4 != push
        | X5 != spinning
        | happens(pull,X6)
        | epred3_3(X6,X5,X4) )
      & ( X4 != pull
        | X5 != spinning
        | happens(push,X6)
        | epred3_3(X6,X5,X4) ) ),
    inference(distribute,[status(thm)],[261]) ).

cnf(266,plain,
    ( epred3_3(X1,X2,X3)
    | ~ epred2_3(X1,X2,X3) ),
    inference(split_conjunct,[status(thm)],[262]) ).

cnf(398,plain,
    ( epred2_3(X1,X2,X3)
    | forwards != X2
    | pull != X3 ),
    inference(csr,[status(thm)],[230,231]) ).

cnf(410,plain,
    ( ~ holdsAt(X1,plus(n1,X2))
    | ~ terminates(X3,X1,X2)
    | ~ happens(X3,X2) ),
    inference(spm,[status(thm)],[63,146,theory(equality)]) ).

cnf(907,plain,
    ( ~ holdsAt(X1,n3)
    | ~ terminates(X2,X1,n2)
    | ~ happens(X2,n2) ),
    inference(spm,[status(thm)],[410,126,theory(equality)]) ).

cnf(1607,plain,
    ( ~ holdsAt(X1,n3)
    | ~ happens(X2,n2)
    | ~ epred3_3(n2,X1,X2) ),
    inference(spm,[status(thm)],[907,72,theory(equality)]) ).

cnf(1985,plain,
    ( ~ holdsAt(X1,n3)
    | ~ happens(X2,n2)
    | ~ epred2_3(n2,X1,X2) ),
    inference(spm,[status(thm)],[1607,266,theory(equality)]) ).

cnf(2000,plain,
    ( ~ holdsAt(X1,n3)
    | ~ happens(X2,n2)
    | forwards != X1
    | pull != X2 ),
    inference(spm,[status(thm)],[1985,398,theory(equality)]) ).

fof(2002,plain,
    ( ~ epred6_0
  <=> ! [X1] :
        ( ~ holdsAt(X1,n3)
        | forwards != X1 ) ),
    introduced(definition),
    [split] ).

cnf(2003,plain,
    ( epred6_0
    | ~ holdsAt(X1,n3)
    | forwards != X1 ),
    inference(split_equiv,[status(thm)],[2002]) ).

fof(2004,plain,
    ( ~ epred7_0
  <=> ! [X2] :
        ( ~ happens(X2,n2)
        | pull != X2 ) ),
    introduced(definition),
    [split] ).

cnf(2005,plain,
    ( epred7_0
    | ~ happens(X2,n2)
    | pull != X2 ),
    inference(split_equiv,[status(thm)],[2004]) ).

cnf(2006,plain,
    ( ~ epred7_0
    | ~ epred6_0 ),
    inference(apply_def,[status(esa)],[inference(apply_def,[status(esa)],[2000,2002,theory(equality)]),2004,theory(equality)]),
    [split] ).

cnf(2007,negated_conjecture,
    epred6_0,
    inference(spm,[status(thm)],[2003,147,theory(equality)]) ).

cnf(2009,plain,
    ( ~ epred7_0
    | $false ),
    inference(rw,[status(thm)],[2006,2007,theory(equality)]) ).

cnf(2010,plain,
    ~ epred7_0,
    inference(cn,[status(thm)],[2009,theory(equality)]) ).

cnf(2014,plain,
    ( epred7_0
    | pull != X1 ),
    inference(spm,[status(thm)],[2005,96,theory(equality)]) ).

cnf(2016,plain,
    pull != X1,
    inference(sr,[status(thm)],[2014,2010,theory(equality)]) ).

cnf(2017,plain,
    $false,
    inference(er,[status(thm)],[2016,theory(equality)]) ).

cnf(2019,plain,
    $false,
    2017,
    [proof] ).

%------------------------------------------------------------------------------
%----ORIGINAL SYSTEM OUTPUT
% % SZS status Started for /home/graph/tptp/TPTP/Problems/CSR/CSR022+1.p
% --creating new selector for [CSR001+0.ax, CSR001+2.ax]
% -running prover on /tmp/tmpyQgvkq/sel_CSR022+1.p_1 with time limit 29
% -prover status Theorem
% Problem CSR022+1.p solved in phase 0.
% % SZS status Theorem for /home/graph/tptp/TPTP/Problems/CSR/CSR022+1.p
% % SZS status Ended for /home/graph/tptp/TPTP/Problems/CSR/CSR022+1.p
% Solved 1 out of 1.
% # Problem is unsatisfiable (or provable), constructing proof object
% # SZS status Theorem
% # SZS output start CNFRefutation.
% See solution above
% # SZS output end CNFRefutation
% 
%------------------------------------------------------------------------------