TPTP Axioms File: DAT005_0.ax
%------------------------------------------------------------------------------
% File : DAT005_0 : TPTP v9.0.0. Released v5.5.0.
% Domain : Data Structures
% Axioms : Heap data types
% Version : [KIV] axioms.
% English :
% Refs : [Rei99] Reif (1999), Email to Geoff Sutcliffe
% Source : [Rei99]
% Names :
% Status : Satisfiable
% Syntax : Number of formulae : 18 ( 7 unt; 7 typ; 0 def)
% Number of atoms : 18 ( 11 equ)
% Maximal formula atoms : 3 ( 1 avg)
% Number of connectives : 10 ( 3 ~; 2 |; 2 &)
% ( 2 <=>; 1 =>; 0 <=; 0 <~>)
% Maximal formula depth : 7 ( 4 avg)
% Maximal term depth : 3 ( 1 avg)
% Number arithmetic : 10 ( 0 atm; 1 fun; 2 num; 7 var)
% Number of types : 3 ( 1 usr; 1 ari)
% Number of type conns : 7 ( 5 >; 2 *; 0 +; 0 <<)
% Number of predicates : 2 ( 1 usr; 0 prp; 2-2 aty)
% Number of functors : 8 ( 5 usr; 3 con; 0-2 aty)
% Number of variables : 21 ( 21 !; 0 ?; 21 :)
% SPC : TFF_SAT_EQU_ARI
% Comments :
%------------------------------------------------------------------------------
tff(heap_type,type,
heap: $tType ).
tff(empty_type,type,
empty: heap ).
tff(get_type,type,
get: heap > heap ).
tff(app_type,type,
app: ( heap * $int ) > heap ).
tff(toop_type,type,
toop: heap > $int ).
tff(length_type,type,
length: heap > $int ).
tff(lsls_type,type,
lsls: ( heap * heap ) > $o ).
tff(ax_17,axiom,
! [N: $int,H: heap] : ( get(app(H,N)) = H ) ).
tff(ax_18,axiom,
! [H: heap,N: $int] : ( toop(app(H,N)) = N ) ).
tff(ax_19,axiom,
! [H: heap,H0: heap,N: $int,N0: $int] :
( ( app(H,N) = app(H0,N0) )
<=> ( ( H = H0 )
& ( N = N0 ) ) ) ).
tff(ax_20,axiom,
! [H: heap,N: $int] : ( empty != app(H,N) ) ).
tff(ax_21,axiom,
! [H: heap] :
( ( H = empty )
| ( H = app(get(H),toop(H)) ) ) ).
tff(ax_22,axiom,
length(empty) = 0 ).
tff(ax_23,axiom,
! [N: $int,H: heap] : ( length(app(H,N)) = $sum(1,length(H)) ) ).
tff(ax_24,axiom,
! [H: heap] : ~ lsls(H,H) ).
tff(ax_25,axiom,
! [H0: heap,H: heap,H1: heap] :
( ( lsls(H,H0)
& lsls(H0,H1) )
=> lsls(H,H1) ) ).
tff(ax_26,axiom,
! [H: heap] : ~ lsls(H,empty) ).
tff(ax_27,axiom,
! [N: $int,H0: heap,H: heap] :
( lsls(H0,app(H,N))
<=> ( ( H0 = H )
| lsls(H0,H) ) ) ).
%------------------------------------------------------------------------------