TPTP Problem File: SWX200+1.p
View Solutions
- Solve Problem
%------------------------------------------------------------------------------
% File : SWX200+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_ord_not3.p [CST26]
% Status : Theorem
% Rating : 0.22 v9.3.0
% Syntax : Number of formulae : 16 ( 11 unt; 0 def)
% Number of atoms : 23 ( 9 equ)
% Maximal formula atoms : 3 ( 1 avg)
% Number of connectives : 13 ( 6 ~; 0 |; 1 &)
% ( 2 <=>; 4 =>; 0 <=; 0 <~>)
% Maximal formula depth : 7 ( 4 avg)
% Maximal term depth : 4 ( 1 avg)
% Number of predicates : 3 ( 2 usr; 0 prp; 1-2 aty)
% Number of functors : 8 ( 8 usr; 2 con; 0-2 aty)
% Number of variables : 29 ( 27 !; 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] : proj1S(s(X)) = X ).
fof(axiom_005,axiom,
! [X] : z != s(X) ).
fof(axiom_006,axiom,
! [Y] : leqNat(z,Y) ).
fof(axiom_007,axiom,
! [Z] : ~ leqNat(s(Z),z) ).
fof(axiom_008,axiom,
! [Z,M] :
( leqNat(s(Z),s(M))
<=> leqNat(Z,M) ) ).
fof(axiom_009,axiom,
! [Y] : merge(nil,Y) = Y ).
fof(axiom_010,axiom,
! [Z,Xs] : merge(cons(Z,Xs),nil) = cons(Z,Xs) ).
fof(axiom_011,axiom,
! [Z,Xs,Y2,Ys] :
( leqNat(Z,Y2)
=> merge(cons(Z,Xs),cons(Y2,Ys)) = cons(Z,merge(Xs,cons(Y2,Ys))) ) ).
fof(axiom_012,axiom,
! [Z,Xs,Y2,Ys] :
( ~ leqNat(Z,Y2)
=> merge(cons(Z,Xs),cons(Y2,Ys)) = cons(Y2,merge(cons(Z,Xs),Ys)) ) ).
fof(axiom_013,axiom,
ord(nil) ).
fof(axiom_014,axiom,
! [Y] : ord(cons(Y,nil)) ).
fof(axiom_015,axiom,
! [Y,Y2,Xs] :
( ord(cons(Y,cons(Y2,Xs)))
<=> ( leqNat(Y,Y2)
& ord(cons(Y2,Xs)) ) ) ).
fof(goal_016,conjecture,
? [Xs,Ys] :
~ ( ord(Xs)
=> ( ~ ord(Ys)
=> ord(merge(Xs,Ys)) ) ) ).
%------------------------------------------------------------------------------