TPTP Problem File: SWX217+1.p

View Solutions - Solve Problem

%------------------------------------------------------------------------------
% File     : SWX217+1 : TPTP v9.3.0. Released v9.3.0.
% Domain   : Software Verification
% Problem  : Faulty property of binary numbers
% Version  : Especial.
% English  :

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

% Status   : Theorem
% Rating   : 0.39 v9.3.0
% Syntax   : Number of formulae    :   24 (  21 unt;   0 def)
%            Number of atoms       :   27 (  22 equ)
%            Maximal formula atoms :    2 (   1 avg)
%            Number of connectives :    9 (   6   ~;   0   |;   0   &)
%                                         (   1 <=>;   2  =>;   0  <=;   0 <~>)
%            Maximal formula depth :    4 (   2 avg)
%            Maximal term depth    :    5 (   2 avg)
%            Number of predicates  :    2 (   1 usr;   0 prp; 1-2 aty)
%            Number of functors    :   16 (  16 usr;   4 con; 0-2 aty)
%            Number of variables   :   26 (  24   !;   2   ?)
% 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] : proj1Suc(suc(X)) = X ).

fof(axiom_005,axiom,
    ! [X] : zero != suc(X) ).

fof(axiom_006,axiom,
    i != o ).

fof(axiom_007,axiom,
    half(zero) = zero ).

fof(axiom_008,axiom,
    half(suc(zero)) = zero ).

fof(axiom_009,axiom,
    ! [N] : half(suc(suc(N))) = suc(half(N)) ).

fof(axiom_010,axiom,
    evenNat(zero) ).

fof(axiom_011,axiom,
    ! [N] :
      ( evenNat(suc(N))
    <=> ~ evenNat(N) ) ).

fof(axiom_012,axiom,
    shw(zero) = nil ).

fof(axiom_013,axiom,
    ! [Y] :
      ( evenNat(suc(Y))
     => shw(suc(Y)) = cons(o,shw(half(suc(Y)))) ) ).

fof(axiom_014,axiom,
    ! [Y] :
      ( ~ evenNat(suc(Y))
     => shw(suc(Y)) = cons(i,shw(half(suc(Y)))) ) ).

fof(axiom_015,axiom,
    ! [Y] : append(nil,Y) = Y ).

fof(axiom_016,axiom,
    ! [Y,Z,Xs] : append(cons(Z,Xs),Y) = cons(Z,append(Xs,Y)) ).

fof(axiom_017,axiom,
    ! [Y] : addNat(zero,Y) = Y ).

fof(axiom_018,axiom,
    ! [Y,Z] : addNat(suc(Z),Y) = suc(addNat(Z,Y)) ).

fof(axiom_019,axiom,
    ! [X] : double(X) = addNat(X,X) ).

fof(axiom_020,axiom,
    rd(nil) = zero ).

fof(axiom_021,axiom,
    ! [Xs] : rd(cons(i,Xs)) = suc(double(rd(Xs))) ).

fof(axiom_022,axiom,
    ! [Xs] : rd(cons(o,Xs)) = double(rd(Xs)) ).

fof(axiom_023,axiom,
    ! [X,Y] : x(X,Y) = rd(append(shw(X),shw(Y))) ).

fof(goal_024,conjecture,
    ? [X,Y] : x(X,Y) != x(Y,X) ).

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