TPTP Problem File: SWX202-1.p
View Solutions
- Solve Problem
%------------------------------------------------------------------------------
% File : SWX202-1 : TPTP v9.3.0. Released v9.3.0.
% Domain : Software Verification
% Problem : Faulty property about permutations
% Version : Especial.
% English :
% Refs : [CST26] Claessen et al. (2026), Email to Geoff Sutcliffe
% Source : [CST26]
% Names : MergeSort_prop_permutation_wrong2.p [CST26]
% Status : Unsatisfiable
% Rating : 0.72 v9.3.0
% Syntax : Number of clauses : 36 ( 36 unt; 0 nHn; 7 RR)
% Number of literals : 36 ( 36 equ; 1 neg)
% Maximal clause size : 1 ( 1 avg)
% Maximal term depth : 9 ( 2 avg)
% Number of predicates : 1 ( 0 usr; 0 prp; 2-2 aty)
% Number of functors : 22 ( 22 usr; 4 con; 0-5 aty)
% Number of variables : 63 ( 17 sgn)
% SPC : CNF_UNS_RFO_PEQ_UEQ
% Comments :
%------------------------------------------------------------------------------
cnf(axiom,axiom,
aux(Z,X2,X3,pair2(Ys1,Zs)) = pair2(cons(X2,Ys1),Zs) ).
cnf(axiom_001,axiom,
aux2(Z,Xs,Y2,Ys,btrue) = cons(Z,merge(Xs,cons(Y2,Ys))) ).
cnf(axiom_002,axiom,
aux2(Z,Xs,Y2,Ys,bfalse) = cons(Y2,merge(cons(Z,Xs),Ys)) ).
cnf(axiom_003,axiom,
aux3(Y,X2,X3,pair2(Ys1,Zs)) = merge(msort(Ys1),msort(Zs)) ).
cnf(axiom_004,axiom,
aux4(X,Z,Xs,btrue) = s(count(X,Xs)) ).
cnf(axiom_005,axiom,
aux4(X,Z,Xs,bfalse) = count(X,Xs) ).
cnf(axiom_006,axiom,
splitAtNat(z,Y) = pair2(nil,Y) ).
cnf(axiom_007,axiom,
splitAtNat(s(Z),nil) = pair2(nil,nil) ).
cnf(axiom_008,axiom,
splitAtNat(s(Z),cons(X2,X3)) = aux(Z,X2,X3,splitAtNat(Z,X3)) ).
cnf(axiom_009,axiom,
leqNat(z,Y) = btrue ).
cnf(axiom_010,axiom,
leqNat(s(Z),z) = bfalse ).
cnf(axiom_011,axiom,
leqNat(s(Z),s(M)) = leqNat(Z,M) ).
cnf(axiom_012,axiom,
merge(nil,Y) = Y ).
cnf(axiom_013,axiom,
merge(cons(Z,Xs),nil) = cons(Z,Xs) ).
cnf(axiom_014,axiom,
merge(cons(Z,Xs),cons(Y2,Ys)) = aux2(Z,Xs,Y2,Ys,leqNat(Z,Y2)) ).
cnf(axiom_015,axiom,
lengthNat(nil) = z ).
cnf(axiom_016,axiom,
lengthNat(cons(Y,Xs)) = s(lengthNat(Xs)) ).
cnf(axiom_017,axiom,
impl(btrue,Q) = Q ).
cnf(axiom_018,axiom,
impl(bfalse,Q) = btrue ).
cnf(axiom_019,axiom,
div2(z) = z ).
cnf(axiom_020,axiom,
div2(s(z)) = z ).
cnf(axiom_021,axiom,
div2(s(s(N))) = s(div2(N)) ).
cnf(axiom_022,axiom,
msort(nil) = nil ).
cnf(axiom_023,axiom,
msort(cons(Y,nil)) = cons(Y,nil) ).
cnf(axiom_024,axiom,
msort(cons(Y,cons(X2,X3))) = aux3(Y,X2,X3,splitAtNat(div2(lengthNat(cons(Y,cons(X2,X3)))),cons(Y,cons(X2,X3)))) ).
cnf(axiom_025,axiom,
count(X,nil) = z ).
cnf(axiom_026,axiom,
count(X,cons(Z,Xs)) = aux4(X,Z,Xs,eq(Z,X)) ).
cnf(axiom_027,axiom,
prop_msort_permutation_wrong2(X,Y) = impl(eq2(leqNat(count(Y,X),s(s(s(s(s(z)))))),bfalse),eq(count(s(Y),X),count(Y,msort(X)))) ).
cnf(axiom_028,axiom,
eq2(bfalse,btrue) = bfalse ).
cnf(axiom_029,axiom,
eq2(btrue,bfalse) = bfalse ).
cnf(axiom_030,axiom,
eq(s(X),s(Y)) = eq(X,Y) ).
cnf(axiom_031,axiom,
eq(z,s(X)) = bfalse ).
cnf(axiom_032,axiom,
eq(s(X),z) = bfalse ).
cnf(axiom_033,axiom,
eq(X,X) = btrue ).
cnf(axiom_034,axiom,
eq2(X,X) = btrue ).
cnf(goal,negated_conjecture,
eq2(prop_msort_permutation_wrong2(X,Y),bfalse) != btrue ).
%------------------------------------------------------------------------------