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

View Problem - Process Solution

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

% Computer : art01.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:22 EST 2010

% Result   : Theorem 0.58s
% Output   : CNFRefutation 0.58s
% Verified : 
% SZS Type : Refutation
%            Derivation depth      :   16
%            Number of leaves      :   10
% Syntax   : Number of formulae    :   50 (  14 unt;   0 def)
%            Number of atoms       :  496 ( 264 equ)
%            Maximal formula atoms :  149 (   9 avg)
%            Number of connectives :  641 ( 195   ~; 294   |; 141   &)
%                                         (   9 <=>;   2  =>;   0  <=;   0 <~>)
%            Maximal formula depth :   37 (   6 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   :   88 (   1 sgn  59   !;   0   ?)

% Comments : 
%------------------------------------------------------------------------------
fof(1,axiom,
    ! [X1,X2,X3] :
      ( ( happens(X1,X2)
        & terminates(X1,X3,X2) )
     => ~ holdsAt(X3,plus(X2,n1)) ),
    file('/tmp/tmpeMJIzY/sel_CSR021+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/tmpeMJIzY/sel_CSR021+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/tmpeMJIzY/sel_CSR021+1.p_1',happens_all_defn) ).

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

fof(17,conjecture,
    ~ holdsAt(backwards,n3),
    file('/tmp/tmpeMJIzY/sel_CSR021+1.p_1',not_backwards_3) ).

fof(29,axiom,
    ! [X4,X5] : plus(X4,X5) = plus(X5,X4),
    file('/tmp/tmpeMJIzY/sel_CSR021+1.p_1',symmetry_of_plus) ).

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

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(49,negated_conjecture,
    holdsAt(backwards,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(95,plain,
    ( happens(X1,X2)
    | X2 != n2
    | X1 != push ),
    inference(split_conjunct,[status(thm)],[94]) ).

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]) ).

cnf(128,negated_conjecture,
    holdsAt(backwards,n3),
    inference(split_conjunct,[status(thm)],[49]) ).

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

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

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(265,plain,
    ( epred3_3(X1,X2,X3)
    | ~ happens(push,X1)
    | X2 != backwards
    | X3 != pull ),
    inference(split_conjunct,[status(thm)],[262]) ).

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

cnf(907,plain,
    ( ~ holdsAt(X1,n3)
    | ~ terminates(X2,X1,n2)
    | ~ happens(X2,n2) ),
    inference(spm,[status(thm)],[403,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(1836,plain,
    ( ~ holdsAt(X1,n3)
    | ~ happens(X2,n2)
    | pull != X2
    | backwards != X1
    | ~ happens(push,n2) ),
    inference(spm,[status(thm)],[1607,265,theory(equality)]) ).

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

cnf(5716,plain,
    ( epred16_0
    | ~ happens(X2,n2)
    | ~ happens(push,n2)
    | pull != X2 ),
    inference(split_equiv,[status(thm)],[5715]) ).

fof(5717,plain,
    ( ~ epred17_0
  <=> ! [X1] :
        ( ~ holdsAt(X1,n3)
        | backwards != X1 ) ),
    introduced(definition),
    [split] ).

cnf(5718,plain,
    ( epred17_0
    | ~ holdsAt(X1,n3)
    | backwards != X1 ),
    inference(split_equiv,[status(thm)],[5717]) ).

cnf(5719,plain,
    ( ~ epred17_0
    | ~ epred16_0 ),
    inference(apply_def,[status(esa)],[inference(apply_def,[status(esa)],[1836,5715,theory(equality)]),5717,theory(equality)]),
    [split] ).

cnf(5720,negated_conjecture,
    epred17_0,
    inference(spm,[status(thm)],[5718,128,theory(equality)]) ).

cnf(5728,plain,
    ( $false
    | ~ epred16_0 ),
    inference(rw,[status(thm)],[5719,5720,theory(equality)]) ).

cnf(5729,plain,
    ~ epred16_0,
    inference(cn,[status(thm)],[5728,theory(equality)]) ).

cnf(5739,plain,
    ( ~ happens(X2,n2)
    | ~ happens(push,n2)
    | pull != X2 ),
    inference(sr,[status(thm)],[5716,5729,theory(equality)]) ).

cnf(5742,plain,
    ( pull != X1
    | ~ happens(X1,n2) ),
    inference(spm,[status(thm)],[5739,95,theory(equality)]) ).

cnf(5760,plain,
    pull != X1,
    inference(spm,[status(thm)],[5742,96,theory(equality)]) ).

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

cnf(5817,plain,
    $false,
    5811,
    [proof] ).

%------------------------------------------------------------------------------
%----ORIGINAL SYSTEM OUTPUT
% % SZS status Started for /home/graph/tptp/TPTP/Problems/CSR/CSR021+1.p
% --creating new selector for [CSR001+0.ax, CSR001+2.ax]
% -running prover on /tmp/tmpeMJIzY/sel_CSR021+1.p_1 with time limit 29
% -prover status Theorem
% Problem CSR021+1.p solved in phase 0.
% % SZS status Theorem for /home/graph/tptp/TPTP/Problems/CSR/CSR021+1.p
% % SZS status Ended for /home/graph/tptp/TPTP/Problems/CSR/CSR021+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
% 
%------------------------------------------------------------------------------