TPTP Problem File: SWX187+1.p

View Solutions - Solve Problem

%------------------------------------------------------------------------------
% File     : SWX187+1 : TPTP v9.3.0. Released v9.3.0.
% Domain   : Software Verification
% Problem  : Faulty property of the function rot
% Version  : Especial.
% English  :

% Refs     : [CST26] Claessen et al. (2026), Email to Geoff Sutcliffe
% Source   : [CST26]
% Names    : Definitions_prop_rot_inj0.p [CST26]

% Status   : Theorem
% Rating   : 0.48 v9.3.0
% Syntax   : Number of formulae    :   17 (  15 unt;   0 def)
%            Number of atoms       :   23 (  16 equ)
%            Maximal formula atoms :    6 (   1 avg)
%            Number of connectives :   12 (   6   ~;   0   |;   0   &)
%                                         (   1 <=>;   5  =>;   0  <=;   0 <~>)
%            Maximal formula depth :   11 (   3 avg)
%            Maximal term depth    :    4 (   1 avg)
%            Number of predicates  :    2 (   1 usr;   0 prp; 2-2 aty)
%            Number of functors    :   10 (  10 usr;   2 con; 0-2 aty)
%            Number of variables   :   27 (  23   !;   4   ?)
% SPC      : FOF_THM_RFO_SEQ

% Comments :
%------------------------------------------------------------------------------
fof(axiom_001,axiom,
    ! [X,X2] : head(cons(X,X2)) = X ).

fof(axiom_002,axiom,
    ! [X,X2] : tail(cons(X,X2)) = X2 ).

fof(axiom_003,axiom,
    ! [X,X2] : nil != cons(X,X2) ).

fof(axiom_004,axiom,
    ! [X] : proj1S(s(X)) = X ).

fof(axiom_005,axiom,
    ! [X] : s(X) != z ).

fof(axiom_006,axiom,
    length(nil) = z ).

fof(axiom_007,axiom,
    ! [Y,Xs] : length(cons(Y,Xs)) = s(length(Xs)) ).

fof(axiom_008,axiom,
    ! [Z,Y2] :
      ( x2(s(Z),s(Y2))
    <=> x2(Z,Y2) ) ).

fof(axiom_009,axiom,
    ! [Z] : ~ x2(s(Z),z) ).

fof(axiom_010,axiom,
    ! [X2] : x2(z,s(X2)) ).

fof(axiom_011,axiom,
    ~ x2(z,z) ).

fof(axiom_012,axiom,
    ! [Y] : x(nil,Y) = Y ).

fof(axiom_013,axiom,
    ! [Y,Z,Xs] : x(cons(Z,Xs),Y) = cons(Z,x(Xs,Y)) ).

fof(axiom_014,axiom,
    ! [Z] : rotate(s(Z),nil) = nil ).

fof(axiom_015,axiom,
    ! [Z,X2,X3] : rotate(s(Z),cons(X2,X3)) = rotate(Z,x(X3,cons(X2,nil))) ).

fof(axiom_016,axiom,
    ! [Y] : rotate(z,Y) = Y ).

fof(goal_017,conjecture,
    ? [N,M,Ys,Xs] :
      ~ ( x2(N,length(Xs))
       => ( x2(M,length(Ys))
         => ( Xs = Ys
           => ( rotate(s(z),Xs) != Xs
             => ( rotate(N,Xs) = rotate(M,Ys)
               => N = M ) ) ) ) ) ).

%------------------------------------------------------------------------------