tptp-0.1.0.0: test-data/tptp/fof/SWV007+2.ax
%------------------------------------------------------------------------------
% File : SWV007+2 : TPTP v7.2.0. Released v3.3.0.
% Domain : Software Verification
% Axioms : Priority queue checker: system of lower bounds
% Version : [dNP05] axioms.
% English :
% Refs : [Pis06] Piskac (2006), Email to Geoff Sutcliffe
% : [dNP05] de Nivelle & Piskac (2005), Verification of an Off-Lin
% Source : [Pis06]
% Names :
% Status : Satisfiable
% Rating : <Don't worry about this one - we'll do it automatically>
% Syntax : Number of formulae : 13 ( 7 unit)
% Number of atoms : 24 ( 12 equality)
% Maximal formula depth : 9 ( 5 average)
% Number of connectives : 16 ( 5 ~ ; 2 |; 3 &)
% ( 2 <=>; 4 =>; 0 <=)
% ( 0 <~>; 0 ~|; 0 ~&)
% Number of predicates : 6 ( 0 propositional; 1-3 arity)
% Number of functors : 6 ( 1 constant; 0-2 arity)
% Number of variables : 38 ( 0 singleton; 38 !; 0 ?)
% Maximal term depth : 4 ( 2 average)
% SPC :
% Comments : Requires SWV007+0
%------------------------------------------------------------------------------
fof(ax18,axiom,(
~ isnonempty_slb(create_slb) )).
fof(ax19,axiom,(
! [U,V,W] : isnonempty_slb(insert_slb(U,pair(V,W))) )).
fof(ax20,axiom,(
! [U] : ~ contains_slb(create_slb,U) )).
fof(ax21,axiom,(
! [U,V,W,X] :
( contains_slb(insert_slb(U,pair(V,X)),W)
<=> ( contains_slb(U,W)
| V = W ) ) )).
fof(ax22,axiom,(
! [U,V] : ~ pair_in_list(create_slb,U,V) )).
fof(ax23,axiom,(
! [U,V,W,X,Y] :
( pair_in_list(insert_slb(U,pair(V,X)),W,Y)
<=> ( pair_in_list(U,W,Y)
| ( V = W
& X = Y ) ) ) )).
fof(ax24,axiom,(
! [U,V,W] : remove_slb(insert_slb(U,pair(V,W)),V) = U )).
fof(ax25,axiom,(
! [U,V,W,X] :
( ( V != W
& contains_slb(U,W) )
=> remove_slb(insert_slb(U,pair(V,X)),W) = insert_slb(remove_slb(U,W),pair(V,X)) ) )).
fof(ax26,axiom,(
! [U,V,W] : lookup_slb(insert_slb(U,pair(V,W)),V) = W )).
fof(ax27,axiom,(
! [U,V,W,X] :
( ( V != W
& contains_slb(U,W) )
=> lookup_slb(insert_slb(U,pair(V,X)),W) = lookup_slb(U,W) ) )).
fof(ax28,axiom,(
! [U] : update_slb(create_slb,U) = create_slb )).
fof(ax29,axiom,(
! [U,V,W,X] :
( strictly_less_than(X,W)
=> update_slb(insert_slb(U,pair(V,X)),W) = insert_slb(update_slb(U,W),pair(V,W)) ) )).
fof(ax30,axiom,(
! [U,V,W,X] :
( less_than(W,X)
=> update_slb(insert_slb(U,pair(V,X)),W) = insert_slb(update_slb(U,W),pair(V,X)) ) )).
%------------------------------------------------------------------------------