%------------------------------------------------------------------------------ % File : DAT004=0 : TPTP v7.2.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 unit; 6 type) % Number of atoms : 7 ( 7 equality) % Maximal formula depth : 7 ( 4 average) % Number of connectives : 3 ( 1 ~; 0 |; 0 &) % ( 1 <=>; 1 =>; 0 <=; 0 <~>) % ( 0 ~|; 0 ~&) % Number of type conns : 5 ( 2 >; 3 *; 0 +; 0 <<) % Number of predicates : 9 ( 8 propositional; 0-2 arity) % Number of functors : 4 ( 2 constant; 0-3 arity) % Number of variables : 15 ( 0 sgn; 15 !; 0 ?) % ( 15 :; 0 !>; 0 ?*) % Maximal term depth : 3 ( 2 average) % Arithmetic symbols : 6 ( 0 prd; 0 fun; 0 num; 6 var) % 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) ) )). %------------------------------------------------------------------------------