## TPTP Axioms File: DAT002=0.ax

```%------------------------------------------------------------------------------
% File     : DAT002=0 : TPTP v7.5.0. Released v5.0.0.
% Domain   : Data Structures
% Axioms   : Integer collections
% Version  : [Wal10] axioms.
% English  :

% Refs     : [PW06]  Prevosto & Waldmann (2006), SPASS+T
%          : [Wal10] Waldmann (2010), Email to Geoff Sutcliffe
% Source   : [Wal10]
% Names    :

% Status   : Satisfiable
% Syntax   : Number of formulae    :   10 (   3 unit;   5 type)
%            Number of atoms       :    9 (   2 equality)
%            Maximal formula depth :    7 (   4 average)
%            Number of connectives :    7 (   3   ~;   1   |;   1   &)
%                                         (   2 <=>;   0  =>;   0  <=;   0 <~>)
%                                         (   0  ~|;   0  ~&)
%            Number of type conns  :    6 (   3   >;   3   *;   0   +;   0  <<)
%            Number of predicates  :   10 (   8 propositional; 0-2 arity)
%            Number of functors    :    3 (   1 constant; 0-2 arity)
%            Number of variables   :   11 (   0 sgn;  11   !;   0   ?)
%                                         (  11   :;   0  !>;   0  ?*)
%            Maximal term depth    :    2 (   1 average)
%            Arithmetic symbols    :    7 (   0 prd;   0 fun;   0 num;   7 var)
% SPC      : TFF_SAT_RFO_SEQ_SAR

%------------------------------------------------------------------------------
tff(collection_type,type,(
collection: \$tType )).

tff(empty_type,type,(
empty: collection )).

add: ( \$int * collection ) > collection )).

tff(remove_type,type,(
remove: ( \$int * collection ) > collection )).

tff(in_type,type,(
in: ( \$int * collection ) > \$o )).

tff(ax1,axiom,(
! [U: \$int] : ~ in(U,empty) )).

tff(ax2,axiom,(
! [V: \$int,W: collection] : in(V,add(V,W)) )).

tff(ax3,axiom,(
! [X: \$int,Y: collection] : ~ in(X,remove(X,Y)) )).

tff(ax4,axiom,(
! [Z: \$int,X1: collection,X2: \$int] :
( ( in(Z,X1)
| Z = X2 )
<=> in(Z,add(X2,X1)) ) )).

tff(ax5,axiom,(
! [X3: \$int,X4: collection,X5: \$int] :
( ( in(X3,X4)
& X3 != X5 )
<=> in(X3,remove(X5,X4)) ) )).

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