## TPTP Axioms File: SET006+0.ax

```%------------------------------------------------------------------------------
% File     : SET006+0 : TPTP v7.5.0. Released v2.2.0.
% Domain   : Set Theory
% Axioms   : Naive set theory based on Goedel's set theory
% Version  : [Pas99] axioms.
% English  :

% Refs     : [Pas99] Pastre (1999), Email to G. Sutcliffe
% Source   : [Pas99]
% Names    :

% Status   : Satisfiable
% Syntax   : Number of formulae    :   11 (   1 unit)
%            Number of atoms       :   29 (   3 equality)
%            Maximal formula depth :    7 (   5 average)
%            Number of connectives :   20 (   2 ~  ;   2  |;   4  &)
%                                         (  10 <=>;   2 =>;   0 <=)
%                                         (   0 <~>;   0 ~|;   0 ~&)
%            Number of predicates  :    4 (   0 propositional; 2-2 arity)
%            Number of functors    :    9 (   1 constant; 0-2 arity)
%            Number of variables   :   28 (   0 singleton;  27 !;   1 ?)
%            Maximal term depth    :    2 (   1 average)
% SPC      :

%------------------------------------------------------------------------------
%----Axioms of operations on sets
fof(subset,axiom,
( ! [A,B] :
( subset(A,B)
<=> ! [X] :
( member(X,A)
=> member(X,B) ) ) )).

fof(equal_set,axiom,
( ! [A,B] :
( equal_set(A,B)
<=> ( subset(A,B)
& subset(B,A) ) ) )).

fof(power_set,axiom,
( ! [X,A] :
( member(X,power_set(A))
<=> subset(X,A) ) )).

fof(intersection,axiom,
( ! [X,A,B] :
( member(X,intersection(A,B))
<=> ( member(X,A)
& member(X,B) ) ) )).

fof(union,axiom,
( ! [X,A,B] :
( member(X,union(A,B))
<=> ( member(X,A)
| member(X,B) ) ) )).

fof(empty_set,axiom,
( ! [X] : ~ member(X,empty_set) )).

fof(difference,axiom,
( ! [B,A,E] :
( member(B,difference(E,A))
<=> ( member(B,E)
& ~ member(B,A) ) ) )).

fof(singleton,axiom,
( ! [X,A] :
( member(X,singleton(A))
<=> X = A ) )).

fof(unordered_pair,axiom,
( ! [X,A,B] :
( member(X,unordered_pair(A,B))
<=> ( X = A
| X = B ) ) )).

fof(sum,axiom,
( ! [X,A] :
( member(X,sum(A))
<=> ? [Y] :
( member(Y,A)
& member(X,Y) ) ) )).

fof(product,axiom,
( ! [X,A] :
( member(X,product(A))
<=> ! [Y] :
( member(Y,A)
=> member(X,Y) ) ) )).

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