Article XBOOLE_0, MML version 4.99.1005
:: XBOOLE_0:sch 1
scheme XBOOLE_0:sch 1
{F1 -> set}:
ex b1 being set st
for b2 being set holds
b2 in b1
iff
b2 in F1() & P1[b2]
:: XBOOLE_0:funcnot 1 => XBOOLE_0:func 1
definition
func {} -> set means
for b1 being set holds
not b1 in it;
end;
:: XBOOLE_0:def 1
theorem
for b1 being set holds
b1 = {}
iff
for b2 being set holds
not b2 in b1;
:: XBOOLE_0:funcnot 2 => XBOOLE_0:func 2
definition
let a1, a2 be set;
func A1 \/ A2 -> set means
for b1 being set holds
b1 in it
iff
(b1 in a1 or b1 in a2);
commutativity;
:: for a1, a2 being set holds
:: a1 \/ a2 = a2 \/ a1;
idempotence;
:: for a1 being set holds
:: a1 \/ a1 = a1;
end;
:: XBOOLE_0:def 2
theorem
for b1, b2, b3 being set holds
b3 = b1 \/ b2
iff
for b4 being set holds
b4 in b3
iff
(b4 in b1 or b4 in b2);
:: XBOOLE_0:funcnot 3 => XBOOLE_0:func 3
definition
let a1, a2 be set;
func A1 /\ A2 -> set means
for b1 being set holds
b1 in it
iff
b1 in a1 & b1 in a2;
commutativity;
:: for a1, a2 being set holds
:: a1 /\ a2 = a2 /\ a1;
idempotence;
:: for a1 being set holds
:: a1 /\ a1 = a1;
end;
:: XBOOLE_0:def 3
theorem
for b1, b2, b3 being set holds
b3 = b1 /\ b2
iff
for b4 being set holds
b4 in b3
iff
b4 in b1 & b4 in b2;
:: XBOOLE_0:funcnot 4 => XBOOLE_0:func 4
definition
let a1, a2 be set;
func A1 \ A2 -> set means
for b1 being set holds
b1 in it
iff
b1 in a1 & not b1 in a2;
end;
:: XBOOLE_0:def 4
theorem
for b1, b2, b3 being set holds
b3 = b1 \ b2
iff
for b4 being set holds
b4 in b3
iff
b4 in b1 & not b4 in b2;
:: XBOOLE_0:attrnot 1 => XBOOLE_0:attr 1
definition
let a1 be set;
attr a1 is empty means
a1 = {};
end;
:: XBOOLE_0:dfs 5
definiens
let a1 be set;
To prove
a1 is empty
it is sufficient to prove
thus a1 = {};
:: XBOOLE_0:def 5
theorem
for b1 being set holds
b1 is empty
iff
b1 = {};
:: XBOOLE_0:funcnot 5 => XBOOLE_0:func 5
definition
let a1, a2 be set;
func A1 \+\ A2 -> set equals
(a1 \ a2) \/ (a2 \ a1);
commutativity;
:: for a1, a2 being set holds
:: a1 \+\ a2 = a2 \+\ a1;
end;
:: XBOOLE_0:def 6
theorem
for b1, b2 being set holds
b1 \+\ b2 = (b1 \ b2) \/ (b2 \ b1);
:: XBOOLE_0:prednot 1 => XBOOLE_0:pred 1
definition
let a1, a2 be set;
pred A1 misses A2 means
a1 /\ a2 = {};
symmetry;
:: for a1, a2 being set
:: st a1 misses a2
:: holds a2 misses a1;
end;
:: XBOOLE_0:dfs 7
definiens
let a1, a2 be set;
To prove
a1 misses a2
it is sufficient to prove
thus a1 /\ a2 = {};
:: XBOOLE_0:def 7
theorem
for b1, b2 being set holds
b1 misses b2
iff
b1 /\ b2 = {};
:: XBOOLE_0:prednot 2 => XBOOLE_0:pred 2
definition
let a1, a2 be set;
pred A1 c< A2 means
a1 c= a2 & a1 <> a2;
irreflexivity;
:: for a1 being set holds
:: not a1 c< a1;
asymmetry;
:: for a1, a2 being set
:: st a1 c< a2
:: holds not a2 c< a1;
end;
:: XBOOLE_0:dfs 8
definiens
let a1, a2 be set;
To prove
a1 c< a2
it is sufficient to prove
thus a1 c= a2 & a1 <> a2;
:: XBOOLE_0:def 8
theorem
for b1, b2 being set holds
b1 c< b2
iff
b1 c= b2 & b1 <> b2;
:: XBOOLE_0:prednot 3 => XBOOLE_0:pred 3
definition
let a1, a2 be set;
pred A1,A2 are_c=-comparable means
(not a1 c= a2) implies a2 c= a1;
symmetry;
:: for a1, a2 being set
:: st a1,a2 are_c=-comparable
:: holds a2,a1 are_c=-comparable;
reflexivity;
:: for a1 being set holds
:: a1,a1 are_c=-comparable;
end;
:: XBOOLE_0:dfs 9
definiens
let a1, a2 be set;
To prove
a1,a2 are_c=-comparable
it is sufficient to prove
thus (not a1 c= a2) implies a2 c= a1;
:: XBOOLE_0:def 9
theorem
for b1, b2 being set holds
b1,b2 are_c=-comparable
iff
(b1 c= b2 or b2 c= b1);
:: XBOOLE_0:prednot 4 => HIDDEN:pred 1
definition
let a1, a2 be set;
pred A1 = A2 means
a1 c= a2 & a2 c= a1;
symmetry;
:: for a1, a2 being set
:: st a1 = a2
:: holds a2 = a1;
reflexivity;
:: for a1 being set holds
:: a1 = a1;
end;
:: XBOOLE_0:dfs 10
definiens
let a1, a2 be set;
To prove
a1 = a2
it is sufficient to prove
thus a1 c= a2 & a2 c= a1;
:: XBOOLE_0:def 10
theorem
for b1, b2 being set holds
b1 = b2
iff
b1 c= b2 & b2 c= b1;
:: XBOOLE_0:prednot 5 => not XBOOLE_0:pred 1
notation
let a1, a2 be set;
antonym a1 meets a2 for a1 misses a2;
end;
:: XBOOLE_0:th 1
theorem
for b1, b2, b3 being set holds
b1 in b2 \+\ b3
iff
(b1 in b2 & not b1 in b3 or b1 in b3 & not b1 in b2);
:: XBOOLE_0:th 2
theorem
for b1, b2, b3 being set
st for b4 being set holds
not b4 in b1
iff
b4 in b2
iff
b4 in b3
holds b1 = b2 \+\ b3;
:: XBOOLE_0:funcreg 1
registration
cluster {} -> empty;
end;
:: XBOOLE_0:exreg 1
registration
cluster empty set;
end;
:: XBOOLE_0:funcreg 2
registration
let a1 be set;
cluster {a1} -> non empty;
end;
:: XBOOLE_0:funcreg 3
registration
let a1, a2 be set;
cluster {a1,a2} -> non empty;
end;
:: XBOOLE_0:exreg 2
registration
cluster non empty set;
end;
:: XBOOLE_0:funcreg 4
registration
let a1 be non empty set;
let a2 be set;
cluster a1 \/ a2 -> non empty;
end;
:: XBOOLE_0:funcreg 5
registration
let a1 be non empty set;
let a2 be set;
cluster a2 \/ a1 -> non empty;
end;
:: XBOOLE_0:th 3
theorem
for b1, b2 being set holds
b1 meets b2
iff
ex b3 being set st
b3 in b1 & b3 in b2;
:: XBOOLE_0:th 4
theorem
for b1, b2 being set holds
b1 meets b2
iff
ex b3 being set st
b3 in b1 /\ b2;
:: XBOOLE_0:th 5
theorem
for b1, b2, b3 being set
st b1 misses b2 & b3 in b1 \/ b2 & (b3 in b1 implies b3 in b2)
holds b3 in b2 & not b3 in b1;
:: XBOOLE_0:sch 2
scheme XBOOLE_0:sch 2
{F1 -> set,
F2 -> set}:
F1() = F2()
provided
for b1 being set holds
b1 in F1()
iff
P1[b1]
and
for b1 being set holds
b1 in F2()
iff
P1[b1];
:: XBOOLE_0:sch 3
scheme XBOOLE_0:sch 3
for b1, b2 being set
st (for b3 being set holds
b3 in b1
iff
P1[b3]) &
(for b3 being set holds
b3 in b2
iff
P1[b3])
holds b1 = b2
:: XBOOLE_0:th 6
theorem
for b1, b2 being set
st b1 c< b2
holds ex b3 being set st
b3 in b2 & not b3 in b1;