begin
scheme
Separation{
F1()
-> set ,
P1[
set ] } :
ex
X being
set st
for
x being
set holds
(
x in X iff (
x in F1() &
P1[
x] ) )
definition
coherence
the empty set is set
;
let X,
Y be
set ;
func X \/ Y -> set means :
Def3:
for
x being
set holds
(
x in it iff (
x in X or
x in Y ) );
existence
ex b1 being set st
for x being set holds
( x in b1 iff ( x in X or x in Y ) )
uniqueness
for b1, b2 being set st ( for x being set holds
( x in b1 iff ( x in X or x in Y ) ) ) & ( for x being set holds
( x in b2 iff ( x in X or x in Y ) ) ) holds
b1 = b2
commutativity
for b1, X, Y being set st ( for x being set holds
( x in b1 iff ( x in X or x in Y ) ) ) holds
for x being set holds
( x in b1 iff ( x in Y or x in X ) )
;
idempotence
for X, x being set holds
( x in X iff ( x in X or x in X ) )
;
func X /\ Y -> set means :
Def4:
for
x being
set holds
(
x in it iff (
x in X &
x in Y ) );
existence
ex b1 being set st
for x being set holds
( x in b1 iff ( x in X & x in Y ) )
uniqueness
for b1, b2 being set st ( for x being set holds
( x in b1 iff ( x in X & x in Y ) ) ) & ( for x being set holds
( x in b2 iff ( x in X & x in Y ) ) ) holds
b1 = b2
commutativity
for b1, X, Y being set st ( for x being set holds
( x in b1 iff ( x in X & x in Y ) ) ) holds
for x being set holds
( x in b1 iff ( x in Y & x in X ) )
;
idempotence
for X, x being set holds
( x in X iff ( x in X & x in X ) )
;
func X \ Y -> set means :
Def5:
for
x being
set holds
(
x in it iff (
x in X & not
x in Y ) );
existence
ex b1 being set st
for x being set holds
( x in b1 iff ( x in X & not x in Y ) )
uniqueness
for b1, b2 being set st ( for x being set holds
( x in b1 iff ( x in X & not x in Y ) ) ) & ( for x being set holds
( x in b2 iff ( x in X & not x in Y ) ) ) holds
b1 = b2
end;
::
deftheorem Def5 defines
\ XBOOLE_0:def 5 :
for X, Y, b3 being set holds
( b3 = X \ Y iff for x being set holds
( x in b3 iff ( x in X & not x in Y ) ) );
theorem
for
x,
X,
Y being
set holds
(
x in X \+\ Y iff ( (
x in X & not
x in Y ) or (
x in Y & not
x in X ) ) )
theorem
for
X,
Y,
Z being
set st ( for
x being
set holds
( not
x in X iff (
x in Y iff
x in Z ) ) ) holds
X = Y \+\ Z
Lm1:
for X being set st X is empty holds
X = {}
theorem Th3:
for
X,
Y being
set holds
(
X meets Y iff ex
x being
set st
(
x in X &
x in Y ) )
scheme
Extensionality{
F1()
-> set ,
F2()
-> set ,
P1[
set ] } :
provided
A1:
for
x being
set holds
(
x in F1() iff
P1[
x] )
and A2:
for
x being
set holds
(
x in F2() iff
P1[
x] )
scheme
SetEq{
P1[
set ] } :
for
X1,
X2 being
set st ( for
x being
set holds
(
x in X1 iff
P1[
x] ) ) & ( for
x being
set holds
(
x in X2 iff
P1[
x] ) ) holds
X1 = X2
begin
theorem
for
X,
Y being
set st
X c< Y holds
ex
x being
set st
(
x in Y & not
x in X )