TPTP Axioms File: SWV007+2.ax
%------------------------------------------------------------------------------
% File : SWV007+2 : TPTP v9.0.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 unt; 0 def)
% Number of atoms : 24 ( 12 equ)
% Maximal formula atoms : 4 ( 1 avg)
% Number of connectives : 16 ( 5 ~; 2 |; 3 &)
% ( 2 <=>; 4 =>; 0 <=; 0 <~>)
% Maximal formula depth : 9 ( 5 avg)
% Maximal term depth : 4 ( 1 avg)
% Number of predicates : 6 ( 5 usr; 0 prp; 1-3 aty)
% Number of functors : 6 ( 6 usr; 1 con; 0-2 aty)
% Number of variables : 38 ( 38 !; 0 ?)
% 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)) ) ).
%------------------------------------------------------------------------------