TPTP Problem File: SWX199-1.p

View Solutions - Solve Problem

%------------------------------------------------------------------------------
% File     : SWX199-1 : TPTP v9.3.0. Released v9.3.0.
% Domain   : Software Verification
% Problem  : Faulty property about merge
% Version  : Especial.
% English  :

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

% Status   : Unsatisfiable
% Rating   : 0.00 v9.3.0
% Syntax   : Number of clauses     :   24 (  22 unt;   0 nHn;   3 RR)
%            Number of literals    :   26 (  26 equ;   3 neg)
%            Maximal clause size   :    2 (   1 avg)
%            Maximal term depth    :    5 (   1 avg)
%            Number of predicates  :    1 (   0 usr;   0 prp; 2-2 aty)
%            Number of functors    :   14 (  14 usr;   4 con; 0-5 aty)
%            Number of variables   :   46 (  14 sgn)
% SPC      : CNF_UNS_RFO_PEQ_NUE

% Comments :
%------------------------------------------------------------------------------
cnf(axiom,axiom,
    aux(Z,Xs,Y2,Ys,btrue) = cons(Z,merge(Xs,cons(Y2,Ys))) ).

cnf(axiom_001,axiom,
    aux(Z,Xs,Y2,Ys,bfalse) = cons(Y2,merge(cons(Z,Xs),Ys)) ).

cnf(axiom_002,axiom,
    leqNat(z,Y) = btrue ).

cnf(axiom_003,axiom,
    leqNat(s(Z),z) = bfalse ).

cnf(axiom_004,axiom,
    leqNat(s(Z),s(M)) = leqNat(Z,M) ).

cnf(axiom_005,axiom,
    merge(nil,Y) = Y ).

cnf(axiom_006,axiom,
    merge(cons(Z,Xs),nil) = cons(Z,Xs) ).

cnf(axiom_007,axiom,
    merge(cons(Z,Xs),cons(Y2,Ys)) = aux(Z,Xs,Y2,Ys,leqNat(Z,Y2)) ).

cnf(axiom_008,axiom,
    impl(btrue,Q) = Q ).

cnf(axiom_009,axiom,
    impl(bfalse,Q) = btrue ).

cnf(axiom_010,axiom,
    prop_merge_comm(X,Y,Z) = impl(eq(merge(X,Y),merge(Y,X)),impl(eq(merge(X,Z),merge(Z,X)),eq(merge(Y,Z),merge(Z,Y)))) ).

cnf(axiom_011,axiom,
    eq3(bfalse,btrue) = bfalse ).

cnf(axiom_012,axiom,
    eq3(btrue,bfalse) = bfalse ).

cnf(axiom_013,axiom,
    eq2(s(X),s(Y)) = eq2(X,Y) ).

cnf(axiom_014,axiom,
    eq2(z,s(X)) = bfalse ).

cnf(axiom_015,axiom,
    eq2(s(X),z) = bfalse ).

cnf(axiom_016,axiom,
    eq(X,X) = btrue ).

cnf(axiom_017,axiom,
    eq2(X,X) = btrue ).

cnf(axiom_018,axiom,
    eq3(X,X) = btrue ).

cnf(axiom_019,axiom,
    ( eq2(X,Z) != bfalse
    | eq(cons(X,Y),cons(Z,X2)) = bfalse ) ).

cnf(axiom_020,axiom,
    ( eq2(X,Z) != btrue
    | eq(cons(X,Y),cons(Z,X2)) = eq(Y,X2) ) ).

cnf(axiom_021,axiom,
    eq(nil,cons(X,Y)) = bfalse ).

cnf(axiom_022,axiom,
    eq(cons(X,Y),nil) = bfalse ).

cnf(goal,negated_conjecture,
    eq3(prop_merge_comm(X,Y,Z),bfalse) != btrue ).

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