TPTP Axioms File: SWV002-0.ax
%--------------------------------------------------------------------------
% File : SWV002-0 : TPTP v9.0.0. Released v1.0.0.
% Domain : Software Verification
% Axioms : Program verification axioms
% Version : [MOW76] axioms.
% English : These "clauses arose in a natural manner from work done
% in program verification" [MOW76] p.779.
% Refs : [MOW76] McCharen et al. (1976), Problems and Experiments for a
% Source : [MOW76]
% Names :
% Status : Satisfiable
% Syntax : Number of clauses : 22 ( 6 unt; 2 nHn; 19 RR)
% Number of literals : 52 ( 3 equ; 30 neg)
% Maximal clause size : 5 ( 2 avg)
% Maximal term depth : 2 ( 1 avg)
% Number of predicates : 11 ( 10 usr; 0 prp; 1-4 aty)
% Number of functors : 4 ( 4 usr; 2 con; 0-2 aty)
% Number of variables : 48 ( 5 sgn)
% SPC :
% Comments : These axioms were contributed to [MOW76] by E. McCharen. The
% axioms are incomplete.
% : Due to clause_2 being incomplete, no problems have been defined
% on these axioms.
%--------------------------------------------------------------------------
cnf(clause_1,axiom,
( ~ q1(Vj,Vt,Vx)
| q2(Vj,e(Vx,n1),Vx) ) ).
%----The second literal is not printed in [MOW76].
%----So this literal may be wrong
cnf(clause_2,axiom,
( ~ q2(Vj,Vt,Vx)
| q3(successor(n1),Vt,VWhat) ) ).
cnf(clause_3,axiom,
( ~ q3(Vj,Vt,Vx)
| ~ less_or_equal(Vj,n)
| q4(Vj,Vt,Vx) ) ).
cnf(clause_4,axiom,
( ~ q3(Vj,Vt,Vx)
| less_or_equal(Vj,n)
| q7(Vj,Vt,Vx) ) ).
cnf(clause_5,axiom,
( ~ q4(Vj,Vt,Vx)
| ~ d(Vj)
| ~ less_or_equal(e(Vx,Vj),Vt)
| q6(Vj,Vt,Vx) ) ).
cnf(clause_6,axiom,
( ~ q4(Vj,Vt,Vx)
| ~ d(Vj)
| less_or_equal(e(Vx,Vj),Vt)
| q5(Vj,Vt,Vx) ) ).
cnf(clause_7,axiom,
( ~ q5(Vj,Vt,Vx)
| ~ d(Vj)
| q6(Vj,e(Vx,Vj),Vx) ) ).
cnf(clause_8,axiom,
( ~ q6(Vj,Vt,Vx)
| q3(successor(Vj),Vt,Vx) ) ).
cnf(definition_of_d_1,axiom,
( ~ less_or_equal(n1,X)
| ~ less_or_equal(X,n)
| d(X) ) ).
cnf(definition_of_d_2,axiom,
( ~ d(X)
| ~ less_or_equal(n1,X) ) ).
cnf(definition_of_d_3,axiom,
( ~ d(X)
| less_or_equal(X,n) ) ).
cnf(one_is_d,axiom,
d(n1) ).
cnf(n_is_d,axiom,
d(n) ).
cnf(clause_9,axiom,
less_or_equal(n1,n) ).
cnf(clause_10,axiom,
( ~ ub(W1,X,Y,Z)
| ~ less_or_equal(W1,W2)
| ub(W2,X,Y,Z) ) ).
cnf(clause_11,axiom,
( ~ ub(W,X,Y,Z1)
| successor(Z1) != Z2
| ~ d(Z2)
| ~ less_or_equal(e(X,Z2),W)
| ub(W,X,Y,Z2) ) ).
cnf(successor_not_less_or_equal,axiom,
~ less_or_equal(successor(X),X) ).
cnf(less_or_equal_than_successor,axiom,
less_or_equal(X,successor(X)) ).
cnf(less_or_equal_reflexivity,axiom,
less_or_equal(X,X) ).
cnf(less_or_equal_implies_equal,axiom,
( ~ less_or_equal(X,Y)
| ~ less_or_equal(Y,X)
| X = Y ) ).
cnf(transitivity_of_less_or_equal,axiom,
( ~ less_or_equal(X,Y)
| ~ less_or_equal(Y,Z)
| less_or_equal(X,Z) ) ).
cnf(equal_implies_less_or_equal,axiom,
( less_or_equal(X,Y)
| X != Y ) ).
%--------------------------------------------------------------------------