TPTP Axioms File: DAT004_0.ax
%------------------------------------------------------------------------------
% File : DAT004_0 : TPTP v9.0.0. Released v5.5.0.
% Domain : Data Structures
% Axioms : Array data types
% Version : [KIV] axioms.
% English :
% Refs : [Rei99] Reif (1999), Email to Geoff Sutcliffe
% Source : [Rei99]
% Names :
% Status : Satisfiable
% Syntax : Number of formulae : 11 ( 3 unt; 6 typ; 0 def)
% Number of atoms : 7 ( 7 equ)
% Maximal formula atoms : 2 ( 0 avg)
% Number of connectives : 3 ( 1 ~; 0 |; 0 &)
% ( 1 <=>; 1 =>; 0 <=; 0 <~>)
% Maximal formula depth : 7 ( 5 avg)
% Maximal term depth : 3 ( 1 avg)
% Number arithmetic : 6 ( 0 atm; 0 fun; 0 num; 6 var)
% Number of types : 3 ( 2 usr; 1 ari)
% Number of type conns : 5 ( 2 >; 3 *; 0 +; 0 <<)
% Number of predicates : 1 ( 0 usr; 0 prp; 2-2 aty)
% Number of functors : 4 ( 4 usr; 2 con; 0-3 aty)
% Number of variables : 15 ( 15 !; 0 ?; 15 :)
% SPC : TFF_SAT_EQU_ARI
% Comments : From: /home/magenta/KIV/newtppl/case-studies/hashtable/
% specifications/array/
%------------------------------------------------------------------------------
tff(data_type,type,
data: $tType ).
tff(array_type,type,
array: $tType ).
tff(mkarray_type,type,
mkarray: array ).
tff(none_type,type,
none: data ).
tff(put_type,type,
put: ( array * $int * data ) > array ).
tff(get_type,type,
get: ( array * $int ) > data ).
tff(ax_17,axiom,
! [M: $int] : ( get(mkarray,M) = none ) ).
tff(ax_18,axiom,
! [Ar: array,M: $int,D: data] : ( get(put(Ar,M,D),M) = D ) ).
tff(ax_19,axiom,
! [N: $int,D: data,Ar: array,M: $int] :
( ( M != N )
=> ( get(put(Ar,N,D),M) = get(Ar,M) ) ) ).
tff(ax_20,axiom,
! [D2: data,Ar: array,M: $int,D1: data] : ( put(put(Ar,M,D2),M,D1) = put(Ar,M,D1) ) ).
tff(ax_21,axiom,
! [Ar: array,Ar0: array] :
( ( Ar = Ar0 )
<=> ! [N: $int] : ( get(Ar,N) = get(Ar0,N) ) ) ).
%------------------------------------------------------------------------------