TPTP Axioms File: SWV007+4.ax


%------------------------------------------------------------------------------
% File     : SWV007+4 : TPTP v8.2.0. Released v3.3.0.
% Domain   : Software Verification
% Axioms   : Priority queue checker: implementation function, Pi, Pi#
% 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    :    9 (   2 unt;   0 def)
%            Number of atoms       :   20 (   2 equ)
%            Maximal formula atoms :    4 (   2 avg)
%            Number of connectives :   11 (   0   ~;   0   |;   4   &)
%                                         (   7 <=>;   0  =>;   0  <=;   0 <~>)
%            Maximal formula depth :    6 (   5 avg)
%            Maximal term depth    :    5 (   1 avg)
%            Number of predicates  :   13 (  12 usr;   0 prp; 1-2 aty)
%            Number of functors    :    7 (   7 usr;   2 con; 0-3 aty)
%            Number of variables   :   21 (  18   !;   3   ?)
% SPC      : 

% Comments : Requires SWV007+0 SWV007+1 SWV007+2 SWV007+3
%------------------------------------------------------------------------------
fof(ax54,axiom,
    ! [U,V] : i(triple(U,create_slb,V)) = create_pq ).

fof(ax55,axiom,
    ! [U,V,W,X,Y] : i(triple(U,insert_slb(V,pair(X,Y)),W)) = insert_pq(i(triple(U,V,W)),X) ).

%----All below here are definitions
fof(ax56,axiom,
    ! [U,V] :
      ( pi_sharp_remove(U,V)
    <=> contains_pq(U,V) ) ).

fof(ax57,axiom,
    ! [U,V] :
      ( pi_remove(U,V)
    <=> pi_sharp_remove(i(U),V) ) ).

fof(ax58,axiom,
    ! [U,V] :
      ( pi_sharp_find_min(U,V)
    <=> ( contains_pq(U,V)
        & issmallestelement_pq(U,V) ) ) ).

fof(ax59,axiom,
    ! [U] :
      ( pi_find_min(U)
    <=> ? [V] : pi_sharp_find_min(i(U),V) ) ).

fof(ax60,axiom,
    ! [U,V] :
      ( pi_sharp_removemin(U,V)
    <=> ( contains_pq(U,V)
        & issmallestelement_pq(U,V) ) ) ).

fof(ax61,axiom,
    ! [U] :
      ( pi_removemin(U)
    <=> ? [V] : pi_sharp_find_min(i(U),V) ) ).

fof(ax62,axiom,
    ! [U] :
      ( phi(U)
    <=> ? [V] :
          ( succ_cpq(U,V)
          & ok(V)
          & check_cpq(V) ) ) ).

%------------------------------------------------------------------------------