## TPTP Axioms File: SWV007+1.ax

```%------------------------------------------------------------------------------
% File     : SWV007+1 : TPTP v7.5.0. Released v3.3.0.
% Domain   : Software Verification
% Axioms   : Priority queue checker: priority queues
% Version  : [dNP05] axioms.
% English  : Priority queues are inductively defined.

% Refs     : [Pis06] Piskac (2006), Email to Geoff Sutcliffe
%          : [dNP05] de Nivelle & Piskac (2005), Verification of an Off-Lin
% Source   : [Pis06]
% Names    :

% Status   : Satisfiable
% Syntax   : Number of formulae    :   12 (   5 unit)
%            Number of atoms       :   26 (   9 equality)
%            Maximal formula depth :    7 (   4 average)
%            Number of connectives :   17 (   3 ~  ;   1  |;   5  &)
%                                         (   2 <=>;   6 =>;   0 <=)
%                                         (   0 <~>;   0 ~|;   0 ~&)
%            Number of predicates  :    5 (   0 propositional; 1-2 arity)
%            Number of functors    :    7 (   1 constant; 0-2 arity)
%            Number of variables   :   25 (   0 singleton;  25 !;   0 ?)
%            Maximal term depth    :    3 (   1 average)
% SPC      :

%------------------------------------------------------------------------------
fof(ax6,axiom,(
~ isnonempty_pq(create_pq) )).

fof(ax7,axiom,(
! [U,V] : isnonempty_pq(insert_pq(U,V)) )).

fof(ax8,axiom,(
! [U] : ~ contains_pq(create_pq,U) )).

fof(ax9,axiom,(
! [U,V,W] :
( contains_pq(insert_pq(U,V),W)
<=> ( contains_pq(U,W)
| V = W ) ) )).

fof(ax10,axiom,(
! [U,V] :
( issmallestelement_pq(U,V)
<=> ! [W] :
( contains_pq(U,W)
=> less_than(V,W) ) ) )).

fof(ax11,axiom,(
! [U,V] : remove_pq(insert_pq(U,V),V) = U )).

fof(ax12,axiom,(
! [U,V,W] :
( ( contains_pq(U,W)
& V != W )
=> remove_pq(insert_pq(U,V),W) = insert_pq(remove_pq(U,W),V) ) )).

fof(ax13,axiom,(
! [U,V] :
( ( contains_pq(U,V)
& issmallestelement_pq(U,V) )
=> findmin_pq_eff(U,V) = U ) )).

fof(ax14,axiom,(
! [U,V] :
( ( contains_pq(U,V)
& issmallestelement_pq(U,V) )
=> findmin_pq_res(U,V) = V ) )).

fof(ax15,axiom,(
! [U,V] :
( ( contains_pq(U,V)
& issmallestelement_pq(U,V) )
=> removemin_pq_eff(U,V) = remove_pq(U,V) ) )).

fof(ax16,axiom,(
! [U,V] :
( ( contains_pq(U,V)
& issmallestelement_pq(U,V) )
=> removemin_pq_res(U,V) = V ) )).

fof(ax17,axiom,(
! [U,V,W] : insert_pq(insert_pq(U,V),W) = insert_pq(insert_pq(U,W),V) )).

%------------------------------------------------------------------------------
```