Article PBOOLE, MML version 4.99.1005
:: PBOOLE:th 1
theorem
for b1 being Relation-like Function-like set
st b1 is non-empty
holds proj2 b1 is with_non-empty_elements;
:: PBOOLE:th 2
theorem
for b1 being Relation-like Function-like set holds
b1 is empty-yielding
iff
(b1 = {} or proj2 b1 = {{}});
:: PBOOLE:modenot 1 => PBOOLE:mode 1
definition
let a1 be set;
mode ManySortedSet of A1 -> Relation-like Function-like set means
proj1 it = a1;
end;
:: PBOOLE:dfs 1
definiens
let a1 be set;
let a2 be Relation-like Function-like set;
To prove
a2 is ManySortedSet of a1
it is sufficient to prove
thus proj1 a2 = a1;
:: PBOOLE:def 3
theorem
for b1 being set
for b2 being Relation-like Function-like set holds
b2 is ManySortedSet of b1
iff
proj1 b2 = b1;
:: PBOOLE:sch 1
scheme PBOOLE:sch 1
{F1 -> set,
F2 -> set}:
ex b1 being ManySortedSet of F1() st
for b2 being set
st b2 in F1()
holds b1 . b2 in F2(b2)
provided
for b1 being set
st b1 in F1()
holds F2(b1) <> {};
:: PBOOLE:prednot 1 => PBOOLE:pred 1
definition
let a1 be set;
let a2, a3 be ManySortedSet of a1;
pred A2 in A3 means
for b1 being set
st b1 in a1
holds a2 . b1 in a3 . b1;
end;
:: PBOOLE:dfs 2
definiens
let a1 be set;
let a2, a3 be ManySortedSet of a1;
To prove
a2 in a3
it is sufficient to prove
thus for b1 being set
st b1 in a1
holds a2 . b1 in a3 . b1;
:: PBOOLE:def 4
theorem
for b1 being set
for b2, b3 being ManySortedSet of b1 holds
b2 in b3
iff
for b4 being set
st b4 in b1
holds b2 . b4 in b3 . b4;
:: PBOOLE:prednot 2 => PBOOLE:pred 2
definition
let a1 be set;
let a2, a3 be ManySortedSet of a1;
pred A2 c= A3 means
for b1 being set
st b1 in a1
holds a2 . b1 c= a3 . b1;
reflexivity;
:: for a1 being set
:: for a2 being ManySortedSet of a1 holds
:: a2 c= a2;
end;
:: PBOOLE:dfs 3
definiens
let a1 be set;
let a2, a3 be ManySortedSet of a1;
To prove
a2 c= a3
it is sufficient to prove
thus for b1 being set
st b1 in a1
holds a2 . b1 c= a3 . b1;
:: PBOOLE:def 5
theorem
for b1 being set
for b2, b3 being ManySortedSet of b1 holds
b2 c= b3
iff
for b4 being set
st b4 in b1
holds b2 . b4 c= b3 . b4;
:: PBOOLE:prednot 3 => PBOOLE:pred 3
definition
let a1 be non empty set;
let a2, a3 be ManySortedSet of a1;
redefine pred a2 in a3;
asymmetry;
:: for a1 being non empty set
:: for a2, a3 being ManySortedSet of a1
:: st a2 in a3
:: holds not a3 in a2;
end;
:: PBOOLE:sch 2
scheme PBOOLE:sch 2
{F1 -> set,
F2 -> ManySortedSet of F1()}:
ex b1 being ManySortedSet of F1() st
for b2 being set
st b2 in F1()
for b3 being set holds
b3 in b1 . b2
iff
b3 in F2() . b2 & P1[b2, b3]
:: PBOOLE:th 3
theorem
for b1 being set
for b2, b3 being ManySortedSet of b1
st for b4 being set
st b4 in b1
holds b2 . b4 = b3 . b4
holds b2 = b3;
:: PBOOLE:funcnot 1 => PBOOLE:func 1
definition
let a1 be set;
func [0] A1 -> ManySortedSet of a1 equals
a1 --> {};
end;
:: PBOOLE:def 6
theorem
for b1 being set holds
[0] b1 = b1 --> {};
:: PBOOLE:funcnot 2 => PBOOLE:func 2
definition
let a1 be set;
let a2, a3 be ManySortedSet of a1;
func A2 \/ A3 -> ManySortedSet of a1 means
for b1 being set
st b1 in a1
holds it . b1 = (a2 . b1) \/ (a3 . b1);
commutativity;
:: for a1 being set
:: for a2, a3 being ManySortedSet of a1 holds
:: a2 \/ a3 = a3 \/ a2;
idempotence;
:: for a1 being set
:: for a2 being ManySortedSet of a1 holds
:: a2 \/ a2 = a2;
end;
:: PBOOLE:def 7
theorem
for b1 being set
for b2, b3, b4 being ManySortedSet of b1 holds
b4 = b2 \/ b3
iff
for b5 being set
st b5 in b1
holds b4 . b5 = (b2 . b5) \/ (b3 . b5);
:: PBOOLE:funcnot 3 => PBOOLE:func 3
definition
let a1 be set;
let a2, a3 be ManySortedSet of a1;
func A2 /\ A3 -> ManySortedSet of a1 means
for b1 being set
st b1 in a1
holds it . b1 = (a2 . b1) /\ (a3 . b1);
commutativity;
:: for a1 being set
:: for a2, a3 being ManySortedSet of a1 holds
:: a2 /\ a3 = a3 /\ a2;
idempotence;
:: for a1 being set
:: for a2 being ManySortedSet of a1 holds
:: a2 /\ a2 = a2;
end;
:: PBOOLE:def 8
theorem
for b1 being set
for b2, b3, b4 being ManySortedSet of b1 holds
b4 = b2 /\ b3
iff
for b5 being set
st b5 in b1
holds b4 . b5 = (b2 . b5) /\ (b3 . b5);
:: PBOOLE:funcnot 4 => PBOOLE:func 4
definition
let a1 be set;
let a2, a3 be ManySortedSet of a1;
func A2 \ A3 -> ManySortedSet of a1 means
for b1 being set
st b1 in a1
holds it . b1 = (a2 . b1) \ (a3 . b1);
end;
:: PBOOLE:def 9
theorem
for b1 being set
for b2, b3, b4 being ManySortedSet of b1 holds
b4 = b2 \ b3
iff
for b5 being set
st b5 in b1
holds b4 . b5 = (b2 . b5) \ (b3 . b5);
:: PBOOLE:prednot 4 => PBOOLE:pred 4
definition
let a1 be set;
let a2, a3 be ManySortedSet of a1;
pred A2 overlaps A3 means
for b1 being set
st b1 in a1
holds a2 . b1 meets a3 . b1;
symmetry;
:: for a1 being set
:: for a2, a3 being ManySortedSet of a1
:: st a2 overlaps a3
:: holds a3 overlaps a2;
end;
:: PBOOLE:dfs 8
definiens
let a1 be set;
let a2, a3 be ManySortedSet of a1;
To prove
a2 overlaps a3
it is sufficient to prove
thus for b1 being set
st b1 in a1
holds a2 . b1 meets a3 . b1;
:: PBOOLE:def 10
theorem
for b1 being set
for b2, b3 being ManySortedSet of b1 holds
b2 overlaps b3
iff
for b4 being set
st b4 in b1
holds b2 . b4 meets b3 . b4;
:: PBOOLE:prednot 5 => PBOOLE:pred 5
definition
let a1 be set;
let a2, a3 be ManySortedSet of a1;
pred A2 misses A3 means
for b1 being set
st b1 in a1
holds a2 . b1 misses a3 . b1;
symmetry;
:: for a1 being set
:: for a2, a3 being ManySortedSet of a1
:: st a2 misses a3
:: holds a3 misses a2;
end;
:: PBOOLE:dfs 9
definiens
let a1 be set;
let a2, a3 be ManySortedSet of a1;
To prove
a2 misses a3
it is sufficient to prove
thus for b1 being set
st b1 in a1
holds a2 . b1 misses a3 . b1;
:: PBOOLE:def 11
theorem
for b1 being set
for b2, b3 being ManySortedSet of b1 holds
b2 misses b3
iff
for b4 being set
st b4 in b1
holds b2 . b4 misses b3 . b4;
:: PBOOLE:prednot 6 => not PBOOLE:pred 4
notation
let a1 be set;
let a2, a3 be ManySortedSet of a1;
antonym a2 does_not_overlap a3 for a2 overlaps a3;
end;
:: PBOOLE:prednot 7 => not PBOOLE:pred 5
notation
let a1 be set;
let a2, a3 be ManySortedSet of a1;
antonym a2 meets a3 for a2 misses a3;
end;
:: PBOOLE:funcnot 5 => PBOOLE:func 5
definition
let a1 be set;
let a2, a3 be ManySortedSet of a1;
func A2 \+\ A3 -> ManySortedSet of a1 equals
(a2 \ a3) \/ (a3 \ a2);
commutativity;
:: for a1 being set
:: for a2, a3 being ManySortedSet of a1 holds
:: a2 \+\ a3 = a3 \+\ a2;
end;
:: PBOOLE:def 12
theorem
for b1 being set
for b2, b3 being ManySortedSet of b1 holds
b2 \+\ b3 = (b2 \ b3) \/ (b3 \ b2);
:: PBOOLE:th 4
theorem
for b1 being set
for b2, b3 being ManySortedSet of b1
for b4 being set
st b4 in b1
holds (b2 \+\ b3) . b4 = (b2 . b4) \+\ (b3 . b4);
:: PBOOLE:th 5
theorem
for b1, b2 being set holds
([0] b2) . b1 = {};
:: PBOOLE:th 6
theorem
for b1 being set
for b2 being ManySortedSet of b1
st for b3 being set
st b3 in b1
holds b2 . b3 = {}
holds b2 = [0] b1;
:: PBOOLE:th 7
theorem
for b1 being set
for b2, b3, b4 being ManySortedSet of b1
st (b2 in b3 or b2 in b4)
holds b2 in b3 \/ b4;
:: PBOOLE:th 8
theorem
for b1 being set
for b2, b3, b4 being ManySortedSet of b1 holds
b2 in b3 /\ b4
iff
b2 in b3 & b2 in b4;
:: PBOOLE:th 9
theorem
for b1 being set
for b2, b3, b4 being ManySortedSet of b1
st b2 in b3 & b3 c= b4
holds b2 in b4;
:: PBOOLE:th 10
theorem
for b1 being set
for b2, b3, b4 being ManySortedSet of b1
st b2 in b3 & b2 in b4
holds b3 overlaps b4;
:: PBOOLE:th 11
theorem
for b1 being set
for b2, b3 being ManySortedSet of b1
st b2 overlaps b3
holds ex b4 being ManySortedSet of b1 st
b4 in b2 & b4 in b3;
:: PBOOLE:th 12
theorem
for b1 being set
for b2, b3, b4 being ManySortedSet of b1
st b2 in b3 \ b4
holds b2 in b3;
:: PBOOLE:prednot 8 => PBOOLE:pred 6
definition
let a1 be set;
let a2, a3 be ManySortedSet of a1;
redefine pred A2 = A3 means
a2 c= a3 & a3 c= a2;
symmetry;
:: for a1 being set
:: for a2, a3 being ManySortedSet of a1
:: st a2 = a3
:: holds a3 = a2;
reflexivity;
:: for a1 being set
:: for a2 being ManySortedSet of a1 holds
:: a2 = a2;
end;
:: PBOOLE:dfs 11
definiens
let a1 be set;
let a2, a3 be ManySortedSet of a1;
To prove
a2 = a3
it is sufficient to prove
thus a2 c= a3 & a3 c= a2;
:: PBOOLE:def 13
theorem
for b1 being set
for b2, b3 being ManySortedSet of b1 holds
b2 = b3
iff
b2 c= b3 & b3 c= b2;
:: PBOOLE:th 15
theorem
for b1 being set
for b2, b3, b4 being ManySortedSet of b1
st b2 c= b3 & b3 c= b4
holds b2 c= b4;
:: PBOOLE:th 16
theorem
for b1 being set
for b2, b3 being ManySortedSet of b1 holds
b2 c= b2 \/ b3 & b3 c= b2 \/ b3;
:: PBOOLE:th 17
theorem
for b1 being set
for b2, b3 being ManySortedSet of b1 holds
b2 /\ b3 c= b2 & b2 /\ b3 c= b3;
:: PBOOLE:th 18
theorem
for b1 being set
for b2, b3, b4 being ManySortedSet of b1
st b2 c= b3 & b4 c= b3
holds b2 \/ b4 c= b3;
:: PBOOLE:th 19
theorem
for b1 being set
for b2, b3, b4 being ManySortedSet of b1
st b2 c= b3 & b2 c= b4
holds b2 c= b3 /\ b4;
:: PBOOLE:th 20
theorem
for b1 being set
for b2, b3, b4 being ManySortedSet of b1
st b2 c= b3
holds b2 \/ b4 c= b3 \/ b4 & b4 \/ b2 c= b4 \/ b3;
:: PBOOLE:th 21
theorem
for b1 being set
for b2, b3, b4 being ManySortedSet of b1
st b2 c= b3
holds b2 /\ b4 c= b3 /\ b4 & b4 /\ b2 c= b4 /\ b3;
:: PBOOLE:th 22
theorem
for b1 being set
for b2, b3, b4, b5 being ManySortedSet of b1
st b2 c= b3 & b4 c= b5
holds b2 \/ b4 c= b3 \/ b5;
:: PBOOLE:th 23
theorem
for b1 being set
for b2, b3, b4, b5 being ManySortedSet of b1
st b2 c= b3 & b4 c= b5
holds b2 /\ b4 c= b3 /\ b5;
:: PBOOLE:th 24
theorem
for b1 being set
for b2, b3 being ManySortedSet of b1
st b2 c= b3
holds b2 \/ b3 = b3 & b3 \/ b2 = b3;
:: PBOOLE:th 25
theorem
for b1 being set
for b2, b3 being ManySortedSet of b1
st b2 c= b3
holds b2 /\ b3 = b2 & b3 /\ b2 = b2;
:: PBOOLE:th 26
theorem
for b1 being set
for b2, b3, b4 being ManySortedSet of b1 holds
b2 /\ b3 c= b2 \/ b4;
:: PBOOLE:th 27
theorem
for b1 being set
for b2, b3, b4 being ManySortedSet of b1
st b2 c= b3
holds b2 \/ (b4 /\ b3) = (b2 \/ b4) /\ b3;
:: PBOOLE:th 28
theorem
for b1 being set
for b2, b3, b4 being ManySortedSet of b1 holds
b2 = b3 \/ b4
iff
b3 c= b2 &
b4 c= b2 &
(for b5 being ManySortedSet of b1
st b3 c= b5 & b4 c= b5
holds b2 c= b5);
:: PBOOLE:th 29
theorem
for b1 being set
for b2, b3, b4 being ManySortedSet of b1 holds
b2 = b3 /\ b4
iff
b2 c= b3 &
b2 c= b4 &
(for b5 being ManySortedSet of b1
st b5 c= b3 & b5 c= b4
holds b5 c= b2);
:: PBOOLE:th 34
theorem
for b1 being set
for b2, b3, b4 being ManySortedSet of b1 holds
(b2 \/ b3) \/ b4 = b2 \/ (b3 \/ b4);
:: PBOOLE:th 35
theorem
for b1 being set
for b2, b3, b4 being ManySortedSet of b1 holds
(b2 /\ b3) /\ b4 = b2 /\ (b3 /\ b4);
:: PBOOLE:th 36
theorem
for b1 being set
for b2, b3 being ManySortedSet of b1 holds
b2 /\ (b2 \/ b3) = b2 & (b2 \/ b3) /\ b2 = b2 & b2 /\ (b3 \/ b2) = b2 & (b3 \/ b2) /\ b2 = b2;
:: PBOOLE:th 37
theorem
for b1 being set
for b2, b3 being ManySortedSet of b1 holds
b2 \/ (b2 /\ b3) = b2 & (b2 /\ b3) \/ b2 = b2 & b2 \/ (b3 /\ b2) = b2 & (b3 /\ b2) \/ b2 = b2;
:: PBOOLE:th 38
theorem
for b1 being set
for b2, b3, b4 being ManySortedSet of b1 holds
b2 /\ (b3 \/ b4) = (b2 /\ b3) \/ (b2 /\ b4);
:: PBOOLE:th 39
theorem
for b1 being set
for b2, b3, b4 being ManySortedSet of b1 holds
b2 \/ (b3 /\ b4) = (b2 \/ b3) /\ (b2 \/ b4) &
(b3 /\ b4) \/ b2 = (b3 \/ b2) /\ (b4 \/ b2);
:: PBOOLE:th 40
theorem
for b1 being set
for b2, b3, b4 being ManySortedSet of b1
st (b2 /\ b3) \/ (b2 /\ b4) = b2
holds b2 c= b3 \/ b4;
:: PBOOLE:th 41
theorem
for b1 being set
for b2, b3, b4 being ManySortedSet of b1
st (b2 \/ b3) /\ (b2 \/ b4) = b2
holds b3 /\ b4 c= b2;
:: PBOOLE:th 42
theorem
for b1 being set
for b2, b3, b4 being ManySortedSet of b1 holds
((b2 /\ b3) \/ (b3 /\ b4)) \/ (b4 /\ b2) = ((b2 \/ b3) /\ (b3 \/ b4)) /\ (b4 \/ b2);
:: PBOOLE:th 43
theorem
for b1 being set
for b2, b3, b4 being ManySortedSet of b1
st b2 \/ b3 c= b4
holds b2 c= b4 & b3 c= b4;
:: PBOOLE:th 44
theorem
for b1 being set
for b2, b3, b4 being ManySortedSet of b1
st b2 c= b3 /\ b4
holds b2 c= b3 & b2 c= b4;
:: PBOOLE:th 45
theorem
for b1 being set
for b2, b3, b4 being ManySortedSet of b1 holds
(b2 \/ b3) \/ b4 = (b2 \/ b4) \/ (b3 \/ b4) &
b2 \/ (b3 \/ b4) = (b2 \/ b3) \/ (b2 \/ b4);
:: PBOOLE:th 46
theorem
for b1 being set
for b2, b3, b4 being ManySortedSet of b1 holds
(b2 /\ b3) /\ b4 = (b2 /\ b4) /\ (b3 /\ b4) &
b2 /\ (b3 /\ b4) = (b2 /\ b3) /\ (b2 /\ b4);
:: PBOOLE:th 47
theorem
for b1 being set
for b2, b3 being ManySortedSet of b1 holds
b2 \/ (b2 \/ b3) = b2 \/ b3 & (b2 \/ b3) \/ b3 = b2 \/ b3;
:: PBOOLE:th 48
theorem
for b1 being set
for b2, b3 being ManySortedSet of b1 holds
b2 /\ (b2 /\ b3) = b2 /\ b3 & (b2 /\ b3) /\ b3 = b2 /\ b3;
:: PBOOLE:th 49
theorem
for b1 being set
for b2 being ManySortedSet of b1 holds
[0] b1 c= b2;
:: PBOOLE:th 50
theorem
for b1 being set
for b2 being ManySortedSet of b1
st b2 c= [0] b1
holds b2 = [0] b1;
:: PBOOLE:th 51
theorem
for b1 being set
for b2, b3, b4 being ManySortedSet of b1
st b2 c= b3 & b2 c= b4 & b3 /\ b4 = [0] b1
holds b2 = [0] b1;
:: PBOOLE:th 52
theorem
for b1 being set
for b2, b3, b4 being ManySortedSet of b1
st b2 c= b3 & b3 /\ b4 = [0] b1
holds b2 /\ b4 = [0] b1;
:: PBOOLE:th 53
theorem
for b1 being set
for b2 being ManySortedSet of b1 holds
b2 \/ [0] b1 = b2 & ([0] b1) \/ b2 = b2;
:: PBOOLE:th 54
theorem
for b1 being set
for b2, b3 being ManySortedSet of b1
st b2 \/ b3 = [0] b1
holds b2 = [0] b1 & b3 = [0] b1;
:: PBOOLE:th 55
theorem
for b1 being set
for b2 being ManySortedSet of b1 holds
b2 /\ [0] b1 = [0] b1 & ([0] b1) /\ b2 = [0] b1;
:: PBOOLE:th 56
theorem
for b1 being set
for b2, b3, b4 being ManySortedSet of b1
st b2 c= b3 \/ b4 & b2 /\ b4 = [0] b1
holds b2 c= b3;
:: PBOOLE:th 57
theorem
for b1 being set
for b2, b3 being ManySortedSet of b1
st b2 c= b3 & b3 /\ b2 = [0] b1
holds b2 = [0] b1;
:: PBOOLE:th 58
theorem
for b1 being set
for b2, b3 being ManySortedSet of b1 holds
b2 \ b3 = [0] b1
iff
b2 c= b3;
:: PBOOLE:th 59
theorem
for b1 being set
for b2, b3, b4 being ManySortedSet of b1
st b2 c= b3
holds b2 \ b4 c= b3 \ b4;
:: PBOOLE:th 60
theorem
for b1 being set
for b2, b3, b4 being ManySortedSet of b1
st b2 c= b3
holds b4 \ b3 c= b4 \ b2;
:: PBOOLE:th 61
theorem
for b1 being set
for b2, b3, b4, b5 being ManySortedSet of b1
st b2 c= b3 & b4 c= b5
holds b2 \ b5 c= b3 \ b4;
:: PBOOLE:th 62
theorem
for b1 being set
for b2, b3 being ManySortedSet of b1 holds
b2 \ b3 c= b2;
:: PBOOLE:th 63
theorem
for b1 being set
for b2, b3 being ManySortedSet of b1
st b2 c= b3 \ b2
holds b2 = [0] b1;
:: PBOOLE:th 64
theorem
for b1 being set
for b2 being ManySortedSet of b1 holds
b2 \ b2 = [0] b1;
:: PBOOLE:th 65
theorem
for b1 being set
for b2 being ManySortedSet of b1 holds
b2 \ [0] b1 = b2;
:: PBOOLE:th 66
theorem
for b1 being set
for b2 being ManySortedSet of b1 holds
([0] b1) \ b2 = [0] b1;
:: PBOOLE:th 67
theorem
for b1 being set
for b2, b3 being ManySortedSet of b1 holds
b2 \ (b2 \/ b3) = [0] b1 & b2 \ (b3 \/ b2) = [0] b1;
:: PBOOLE:th 68
theorem
for b1 being set
for b2, b3, b4 being ManySortedSet of b1 holds
b2 /\ (b3 \ b4) = (b2 /\ b3) \ b4;
:: PBOOLE:th 69
theorem
for b1 being set
for b2, b3 being ManySortedSet of b1 holds
(b2 \ b3) /\ b3 = [0] b1 & b3 /\ (b2 \ b3) = [0] b1;
:: PBOOLE:th 70
theorem
for b1 being set
for b2, b3, b4 being ManySortedSet of b1 holds
b2 \ (b3 \ b4) = (b2 \ b3) \/ (b2 /\ b4);
:: PBOOLE:th 71
theorem
for b1 being set
for b2, b3 being ManySortedSet of b1 holds
(b2 \ b3) \/ (b2 /\ b3) = b2 & (b2 /\ b3) \/ (b2 \ b3) = b2;
:: PBOOLE:th 72
theorem
for b1 being set
for b2, b3 being ManySortedSet of b1
st b2 c= b3
holds b3 = b2 \/ (b3 \ b2) & b3 = (b3 \ b2) \/ b2;
:: PBOOLE:th 73
theorem
for b1 being set
for b2, b3 being ManySortedSet of b1 holds
b2 \/ (b3 \ b2) = b2 \/ b3 & (b3 \ b2) \/ b2 = b3 \/ b2;
:: PBOOLE:th 74
theorem
for b1 being set
for b2, b3 being ManySortedSet of b1 holds
b2 \ (b2 \ b3) = b2 /\ b3;
:: PBOOLE:th 75
theorem
for b1 being set
for b2, b3, b4 being ManySortedSet of b1 holds
b2 \ (b3 /\ b4) = (b2 \ b3) \/ (b2 \ b4);
:: PBOOLE:th 76
theorem
for b1 being set
for b2, b3 being ManySortedSet of b1 holds
b2 \ (b2 /\ b3) = b2 \ b3 & b2 \ (b3 /\ b2) = b2 \ b3;
:: PBOOLE:th 77
theorem
for b1 being set
for b2, b3 being ManySortedSet of b1 holds
b2 /\ b3 = [0] b1
iff
b2 \ b3 = b2;
:: PBOOLE:th 78
theorem
for b1 being set
for b2, b3, b4 being ManySortedSet of b1 holds
(b2 \/ b3) \ b4 = (b2 \ b4) \/ (b3 \ b4);
:: PBOOLE:th 79
theorem
for b1 being set
for b2, b3, b4 being ManySortedSet of b1 holds
(b2 \ b3) \ b4 = b2 \ (b3 \/ b4);
:: PBOOLE:th 80
theorem
for b1 being set
for b2, b3, b4 being ManySortedSet of b1 holds
(b2 /\ b3) \ b4 = (b2 \ b4) /\ (b3 \ b4);
:: PBOOLE:th 81
theorem
for b1 being set
for b2, b3 being ManySortedSet of b1 holds
(b2 \/ b3) \ b3 = b2 \ b3;
:: PBOOLE:th 82
theorem
for b1 being set
for b2, b3, b4 being ManySortedSet of b1
st b2 c= b3 \/ b4
holds b2 \ b3 c= b4 & b2 \ b4 c= b3;
:: PBOOLE:th 83
theorem
for b1 being set
for b2, b3 being ManySortedSet of b1 holds
(b2 \/ b3) \ (b2 /\ b3) = (b2 \ b3) \/ (b3 \ b2);
:: PBOOLE:th 84
theorem
for b1 being set
for b2, b3 being ManySortedSet of b1 holds
(b2 \ b3) \ b3 = b2 \ b3;
:: PBOOLE:th 85
theorem
for b1 being set
for b2, b3, b4 being ManySortedSet of b1 holds
b2 \ (b3 \/ b4) = (b2 \ b3) /\ (b2 \ b4);
:: PBOOLE:th 86
theorem
for b1 being set
for b2, b3 being ManySortedSet of b1
st b2 \ b3 = b3 \ b2
holds b2 = b3;
:: PBOOLE:th 87
theorem
for b1 being set
for b2, b3, b4 being ManySortedSet of b1 holds
b2 /\ (b3 \ b4) = (b2 /\ b3) \ (b2 /\ b4);
:: PBOOLE:th 88
theorem
for b1 being set
for b2, b3, b4 being ManySortedSet of b1
st b2 \ b3 c= b4
holds b2 c= b3 \/ b4;
:: PBOOLE:th 89
theorem
for b1 being set
for b2, b3 being ManySortedSet of b1 holds
b2 \ b3 c= b2 \+\ b3;
:: PBOOLE:th 91
theorem
for b1 being set
for b2 being ManySortedSet of b1 holds
b2 \+\ [0] b1 = b2 & ([0] b1) \+\ b2 = b2;
:: PBOOLE:th 92
theorem
for b1 being set
for b2 being ManySortedSet of b1 holds
b2 \+\ b2 = [0] b1;
:: PBOOLE:th 94
theorem
for b1 being set
for b2, b3 being ManySortedSet of b1 holds
b2 \/ b3 = (b2 \+\ b3) \/ (b2 /\ b3);
:: PBOOLE:th 95
theorem
for b1 being set
for b2, b3 being ManySortedSet of b1 holds
b2 \+\ b3 = (b2 \/ b3) \ (b2 /\ b3);
:: PBOOLE:th 96
theorem
for b1 being set
for b2, b3, b4 being ManySortedSet of b1 holds
(b2 \+\ b3) \ b4 = (b2 \ (b3 \/ b4)) \/ (b3 \ (b2 \/ b4));
:: PBOOLE:th 97
theorem
for b1 being set
for b2, b3, b4 being ManySortedSet of b1 holds
b2 \ (b3 \+\ b4) = (b2 \ (b3 \/ b4)) \/ ((b2 /\ b3) /\ b4);
:: PBOOLE:th 98
theorem
for b1 being set
for b2, b3, b4 being ManySortedSet of b1 holds
(b2 \+\ b3) \+\ b4 = b2 \+\ (b3 \+\ b4);
:: PBOOLE:th 99
theorem
for b1 being set
for b2, b3, b4 being ManySortedSet of b1
st b2 \ b3 c= b4 & b3 \ b2 c= b4
holds b2 \+\ b3 c= b4;
:: PBOOLE:th 100
theorem
for b1 being set
for b2, b3 being ManySortedSet of b1 holds
b2 \/ b3 = b2 \+\ (b3 \ b2);
:: PBOOLE:th 101
theorem
for b1 being set
for b2, b3 being ManySortedSet of b1 holds
b2 /\ b3 = b2 \+\ (b2 \ b3);
:: PBOOLE:th 102
theorem
for b1 being set
for b2, b3 being ManySortedSet of b1 holds
b2 \ b3 = b2 \+\ (b2 /\ b3);
:: PBOOLE:th 103
theorem
for b1 being set
for b2, b3 being ManySortedSet of b1 holds
b2 \ b3 = b3 \+\ (b3 \/ b2);
:: PBOOLE:th 104
theorem
for b1 being set
for b2, b3 being ManySortedSet of b1 holds
b2 \/ b3 = (b2 \+\ b3) \+\ (b2 /\ b3);
:: PBOOLE:th 105
theorem
for b1 being set
for b2, b3 being ManySortedSet of b1 holds
b2 /\ b3 = (b2 \+\ b3) \+\ (b2 \/ b3);
:: PBOOLE:th 106
theorem
for b1 being set
for b2, b3, b4 being ManySortedSet of b1
st (b2 overlaps b3 or b2 overlaps b4)
holds b2 overlaps b3 \/ b4;
:: PBOOLE:th 108
theorem
for b1 being set
for b2, b3, b4 being ManySortedSet of b1
st b2 overlaps b3 & b3 c= b4
holds b2 overlaps b4;
:: PBOOLE:th 109
theorem
for b1 being set
for b2, b3, b4 being ManySortedSet of b1
st b2 overlaps b3 & b2 c= b4
holds b4 overlaps b3;
:: PBOOLE:th 110
theorem
for b1 being set
for b2, b3, b4, b5 being ManySortedSet of b1
st b2 c= b3 & b4 c= b5 & b2 overlaps b4
holds b3 overlaps b5;
:: PBOOLE:th 111
theorem
for b1 being set
for b2, b3, b4 being ManySortedSet of b1
st b2 overlaps b3 /\ b4
holds b2 overlaps b3 & b2 overlaps b4;
:: PBOOLE:th 112
theorem
for b1 being set
for b2, b3, b4 being ManySortedSet of b1
st b2 overlaps b3 & b2 c= b4
holds b2 overlaps b3 /\ b4;
:: PBOOLE:th 113
theorem
for b1 being set
for b2, b3, b4 being ManySortedSet of b1
st b2 overlaps b3 \ b4
holds b2 overlaps b3;
:: PBOOLE:th 114
theorem
for b1 being set
for b2, b3, b4 being ManySortedSet of b1
st b2 does_not_overlap b3
holds b4 /\ b2 does_not_overlap b4 /\ b3;
:: PBOOLE:th 115
theorem
for b1 being set
for b2, b3, b4 being ManySortedSet of b1
st b2 overlaps b3 \ b4
holds b3 overlaps b2 \ b4;
:: PBOOLE:th 116
theorem
for b1 being set
for b2, b3, b4 being ManySortedSet of b1
st b2 meets b3 & b3 c= b4
holds b2 meets b4;
:: PBOOLE:th 118
theorem
for b1 being set
for b2, b3 being ManySortedSet of b1 holds
b2 misses b3 \ b2;
:: PBOOLE:th 119
theorem
for b1 being set
for b2, b3 being ManySortedSet of b1 holds
b2 /\ b3 misses b2 \ b3;
:: PBOOLE:th 120
theorem
for b1 being set
for b2, b3 being ManySortedSet of b1 holds
b2 /\ b3 misses b2 \+\ b3;
:: PBOOLE:th 121
theorem
for b1 being set
for b2, b3 being ManySortedSet of b1
st b2 misses b3
holds b2 /\ b3 = [0] b1;
:: PBOOLE:th 122
theorem
for b1 being set
for b2 being ManySortedSet of b1
st b2 <> [0] b1
holds b2 meets b2;
:: PBOOLE:th 123
theorem
for b1 being set
for b2, b3, b4 being ManySortedSet of b1
st b2 c= b3 & b2 c= b4 & b3 misses b4
holds b2 = [0] b1;
:: PBOOLE:th 124
theorem
for b1 being set
for b2, b3, b4, b5 being ManySortedSet of b1
st b2 \/ b3 = b4 \/ b5 & b4 misses b2 & b5 misses b3
holds b4 = b3 & b5 = b2;
:: PBOOLE:th 126
theorem
for b1 being set
for b2, b3 being ManySortedSet of b1
st b2 misses b3
holds b2 \ b3 = b2;
:: PBOOLE:th 127
theorem
for b1 being set
for b2, b3 being ManySortedSet of b1
st b2 misses b3
holds (b2 \/ b3) \ b3 = b2;
:: PBOOLE:th 128
theorem
for b1 being set
for b2, b3 being ManySortedSet of b1
st b2 \ b3 = b2
holds b2 misses b3;
:: PBOOLE:th 129
theorem
for b1 being set
for b2, b3 being ManySortedSet of b1 holds
b2 \ b3 misses b3 \ b2;
:: PBOOLE:prednot 9 => PBOOLE:pred 7
definition
let a1 be set;
let a2, a3 be ManySortedSet of a1;
pred A2 [= A3 means
for b1 being ManySortedSet of a1
st b1 in a2
holds b1 in a3;
reflexivity;
:: for a1 being set
:: for a2 being ManySortedSet of a1 holds
:: a2 [= a2;
end;
:: PBOOLE:dfs 12
definiens
let a1 be set;
let a2, a3 be ManySortedSet of a1;
To prove
a2 [= a3
it is sufficient to prove
thus for b1 being ManySortedSet of a1
st b1 in a2
holds b1 in a3;
:: PBOOLE:def 14
theorem
for b1 being set
for b2, b3 being ManySortedSet of b1 holds
b2 [= b3
iff
for b4 being ManySortedSet of b1
st b4 in b2
holds b4 in b3;
:: PBOOLE:th 130
theorem
for b1 being set
for b2, b3 being ManySortedSet of b1
st b2 c= b3
holds b2 [= b3;
:: PBOOLE:th 132
theorem
for b1 being set
for b2, b3, b4 being ManySortedSet of b1
st b2 [= b3 & b3 [= b4
holds b2 [= b4;
:: PBOOLE:th 133
theorem
[0] {} in [0] {};
:: PBOOLE:th 134
theorem
for b1 being ManySortedSet of {} holds
b1 = {};
:: PBOOLE:th 135
theorem
for b1 being non empty set
for b2, b3 being ManySortedSet of b1
st b2 overlaps b3
holds b2 meets b3;
:: PBOOLE:th 136
theorem
for b1 being non empty set
for b2 being ManySortedSet of b1 holds
not b2 in [0] b1;
:: PBOOLE:th 137
theorem
for b1 being non empty set
for b2, b3, b4 being ManySortedSet of b1
st b2 in b3 & b2 in b4
holds b3 /\ b4 <> [0] b1;
:: PBOOLE:th 138
theorem
for b1 being non empty set
for b2 being ManySortedSet of b1 holds
b2 does_not_overlap [0] b1 & [0] b1 does_not_overlap b2;
:: PBOOLE:th 139
theorem
for b1 being non empty set
for b2, b3 being ManySortedSet of b1
st b2 /\ b3 = [0] b1
holds b2 does_not_overlap b3;
:: PBOOLE:th 140
theorem
for b1 being non empty set
for b2 being ManySortedSet of b1
st b2 overlaps b2
holds b2 <> [0] b1;
:: PBOOLE:attrnot 1 => PBOOLE:attr 1
definition
let a1 be set;
let a2 be ManySortedSet of a1;
redefine attr a2 is empty-yielding means
for b1 being set
st b1 in a1
holds a2 . b1 is empty;
end;
:: PBOOLE:dfs 13
definiens
let a1 be set;
let a2 be ManySortedSet of a1;
To prove
a1 is empty-yielding
it is sufficient to prove
thus for b1 being set
st b1 in a1
holds a2 . b1 is empty;
:: PBOOLE:def 15
theorem
for b1 being set
for b2 being ManySortedSet of b1 holds
b2 is empty-yielding
iff
for b3 being set
st b3 in b1
holds b2 . b3 is empty;
:: PBOOLE:attrnot 2 => PBOOLE:attr 2
definition
let a1 be set;
let a2 be ManySortedSet of a1;
redefine attr a2 is non-empty means
for b1 being set
st b1 in a1
holds a2 . b1 is not empty;
end;
:: PBOOLE:dfs 14
definiens
let a1 be set;
let a2 be ManySortedSet of a1;
To prove
a1 is non-empty
it is sufficient to prove
thus for b1 being set
st b1 in a1
holds a2 . b1 is not empty;
:: PBOOLE:def 16
theorem
for b1 being set
for b2 being ManySortedSet of b1 holds
b2 is non-empty
iff
for b3 being set
st b3 in b1
holds b2 . b3 is not empty;
:: PBOOLE:exreg 1
registration
let a1 be set;
cluster Relation-like empty-yielding Function-like ManySortedSet of a1;
end;
:: PBOOLE:exreg 2
registration
let a1 be set;
cluster Relation-like non-empty Function-like ManySortedSet of a1;
end;
:: PBOOLE:condreg 1
registration
let a1 be non empty set;
cluster non-empty -> non empty-yielding (ManySortedSet of a1);
end;
:: PBOOLE:condreg 2
registration
let a1 be non empty set;
cluster empty-yielding -> non non-empty (ManySortedSet of a1);
end;
:: PBOOLE:th 141
theorem
for b1 being set
for b2 being ManySortedSet of b1 holds
b2 is empty-yielding
iff
b2 = [0] b1;
:: PBOOLE:th 142
theorem
for b1 being set
for b2, b3 being ManySortedSet of b1
st b2 is empty-yielding & b3 c= b2
holds b3 is empty-yielding;
:: PBOOLE:th 143
theorem
for b1 being set
for b2, b3 being ManySortedSet of b1
st b2 is non-empty & b2 c= b3
holds b3 is non-empty;
:: PBOOLE:th 144
theorem
for b1 being set
for b2, b3 being ManySortedSet of b1
st b2 is non-empty & b2 [= b3
holds b2 c= b3;
:: PBOOLE:th 145
theorem
for b1 being set
for b2, b3 being ManySortedSet of b1
st b2 is non-empty & b2 [= b3
holds b3 is non-empty;
:: PBOOLE:th 146
theorem
for b1 being set
for b2 being non-empty ManySortedSet of b1 holds
ex b3 being ManySortedSet of b1 st
b3 in b2;
:: PBOOLE:th 147
theorem
for b1 being set
for b2 being ManySortedSet of b1
for b3 being non-empty ManySortedSet of b1
st for b4 being ManySortedSet of b1 holds
b4 in b3
iff
b4 in b2
holds b3 = b2;
:: PBOOLE:th 148
theorem
for b1 being set
for b2, b3 being ManySortedSet of b1
for b4 being non-empty ManySortedSet of b1
st for b5 being ManySortedSet of b1 holds
b5 in b4
iff
b5 in b2 & b5 in b3
holds b4 = b2 /\ b3;
:: PBOOLE:sch 3
scheme PBOOLE:sch 3
{F1 -> set}:
ex b1 being ManySortedSet of F1() st
for b2 being set
st b2 in F1()
holds P1[b2, b1 . b2]
provided
for b1 being set
st b1 in F1()
holds ex b2 being set st
P1[b1, b2];
:: PBOOLE:sch 4
scheme PBOOLE:sch 4
{F1 -> set,
F2 -> set}:
ex b1 being ManySortedSet of F1() st
for b2 being set
st b2 in F1()
holds b1 . b2 = F2(b2)
:: PBOOLE:exreg 3
registration
let a1 be set;
cluster Relation-like Function-like Function-yielding ManySortedSet of a1;
end;
:: PBOOLE:modenot 2
definition
let a1 be set;
mode ManySortedFunction of a1 is Function-yielding ManySortedSet of a1;
end;
:: PBOOLE:th 149
theorem
for b1 being set
for b2 being non-empty ManySortedSet of b1 holds
not {} in proj2 b2;
:: PBOOLE:modenot 3
definition
let a1 be set;
let a2 be ManySortedSet of a1;
mode Component of a2 is Element of proj2 a2;
end;
:: PBOOLE:th 150
theorem
for b1 being non empty set
for b2 being ManySortedSet of b1
for b3 being Element of proj2 b2 holds
ex b4 being set st
b4 in b1 & b3 = b2 . b4;
:: PBOOLE:th 151
theorem
for b1 being set
for b2 being ManySortedSet of b1
for b3 being set
st b3 in b1
holds b2 . b3 is Element of proj2 b2;
:: PBOOLE:modenot 4 => PBOOLE:mode 2
definition
let a1 be set;
let a2 be ManySortedSet of a1;
mode Element of A2 -> ManySortedSet of a1 means
for b1 being set
st b1 in a1
holds it . b1 is Element of a2 . b1;
end;
:: PBOOLE:dfs 15
definiens
let a1 be set;
let a2, a3 be ManySortedSet of a1;
To prove
a3 is Element of a2
it is sufficient to prove
thus for b1 being set
st b1 in a1
holds a3 . b1 is Element of a2 . b1;
:: PBOOLE:def 17
theorem
for b1 being set
for b2, b3 being ManySortedSet of b1 holds
b3 is Element of b2
iff
for b4 being set
st b4 in b1
holds b3 . b4 is Element of b2 . b4;
:: PBOOLE:modenot 5 => PBOOLE:mode 3
definition
let a1 be set;
let a2, a3 be ManySortedSet of a1;
mode ManySortedFunction of A2,A3 -> ManySortedSet of a1 means
for b1 being set
st b1 in a1
holds it . b1 is Function-like quasi_total Relation of a2 . b1,a3 . b1;
end;
:: PBOOLE:dfs 16
definiens
let a1 be set;
let a2, a3, a4 be ManySortedSet of a1;
To prove
a4 is ManySortedFunction of a2,a3
it is sufficient to prove
thus for b1 being set
st b1 in a1
holds a4 . b1 is Function-like quasi_total Relation of a2 . b1,a3 . b1;
:: PBOOLE:def 18
theorem
for b1 being set
for b2, b3, b4 being ManySortedSet of b1 holds
b4 is ManySortedFunction of b2,b3
iff
for b5 being set
st b5 in b1
holds b4 . b5 is Function-like quasi_total Relation of b2 . b5,b3 . b5;
:: PBOOLE:condreg 3
registration
let a1 be set;
let a2, a3 be ManySortedSet of a1;
cluster -> Function-yielding (ManySortedFunction of a2,a3);
end;
:: PBOOLE:funcnot 6 => PBOOLE:func 6
definition
let a1 be set;
let a2 be ManySortedSet of a1;
func A2 # -> ManySortedSet of a1 * means
for b1 being Element of a1 * holds
it . b1 = product (b1 * a2);
end;
:: PBOOLE:def 19
theorem
for b1 being set
for b2 being ManySortedSet of b1
for b3 being ManySortedSet of b1 * holds
b3 = b2 #
iff
for b4 being Element of b1 * holds
b3 . b4 = product (b4 * b2);
:: PBOOLE:funcreg 1
registration
let a1 be set;
let a2 be non-empty ManySortedSet of a1;
cluster a2 # -> non-empty;
end;
:: PBOOLE:funcnot 7 => PBOOLE:func 7
definition
let a1 be set;
let a2 be non empty set;
let a3 be Function-like quasi_total Relation of a1,a2;
let a4 be ManySortedSet of a2;
redefine func a4 * a3 -> ManySortedSet of a1;
end;
:: PBOOLE:funcnot 8 => PBOOLE:func 8
definition
let a1 be set;
func *--> A1 -> Function-like quasi_total Relation of NAT,{a1} * means
for b1 being Element of NAT holds
it . b1 = b1 |-> a1;
end;
:: PBOOLE:def 20
theorem
for b1 being set
for b2 being Function-like quasi_total Relation of NAT,{b1} * holds
b2 = *--> b1
iff
for b3 being Element of NAT holds
b2 . b3 = b3 |-> b1;
:: PBOOLE:th 152
theorem
for b1 being Element of NAT
for b2, b3 being set holds
(b1 |-> b2) * ({b2} --> b3) = b1 |-> b3;
:: PBOOLE:th 153
theorem
for b1 being non empty set
for b2 being Element of NAT
for b3 being set
for b4 being ManySortedSet of {b3}
st b4 = {b3} --> b1
holds (b4 # * *--> b3) . b2 = Funcs(Seg b2,b1);
:: PBOOLE:sch 5
scheme PBOOLE:sch 5
{F1 -> non empty set,
F2 -> set}:
ex b1 being ManySortedSet of F1() st
for b2 being Element of F1() holds
b1 . b2 = F2(b2)
:: PBOOLE:funcreg 2
registration
let a1 be non empty set;
let a2 be non-empty ManySortedSet of a1;
let a3 be Element of a1;
cluster a2 . a3 -> non empty;
end;
:: PBOOLE:funcnot 9 => PBOOLE:func 9
definition
let a1 be set;
let a2, a3 be ManySortedSet of a1;
func [|A2,A3|] -> ManySortedSet of a1 means
for b1 being set
st b1 in a1
holds it . b1 = [:a2 . b1,a3 . b1:];
end;
:: PBOOLE:def 21
theorem
for b1 being set
for b2, b3, b4 being ManySortedSet of b1 holds
b4 = [|b2,b3|]
iff
for b5 being set
st b5 in b1
holds b4 . b5 = [:b2 . b5,b3 . b5:];
:: PBOOLE:funcnot 10 => PBOOLE:func 10
definition
let a1 be set;
let a2, a3 be ManySortedSet of a1;
func MSFuncs(A2,A3) -> ManySortedSet of a1 means
for b1 being set
st b1 in a1
holds it . b1 = Funcs(a2 . b1,a3 . b1);
end;
:: PBOOLE:def 22
theorem
for b1 being set
for b2, b3, b4 being ManySortedSet of b1 holds
b4 = MSFuncs(b2,b3)
iff
for b5 being set
st b5 in b1
holds b4 . b5 = Funcs(b2 . b5,b3 . b5);
:: PBOOLE:modenot 6 => PBOOLE:mode 4
definition
let a1 be set;
let a2 be ManySortedSet of a1;
mode ManySortedSubset of A2 -> ManySortedSet of a1 means
it c= a2;
end;
:: PBOOLE:dfs 21
definiens
let a1 be set;
let a2, a3 be ManySortedSet of a1;
To prove
a3 is ManySortedSubset of a2
it is sufficient to prove
thus a3 c= a2;
:: PBOOLE:def 23
theorem
for b1 being set
for b2, b3 being ManySortedSet of b1 holds
b3 is ManySortedSubset of b2
iff
b3 c= b2;
:: PBOOLE:exreg 4
registration
let a1 be set;
let a2 be non-empty ManySortedSet of a1;
cluster Relation-like non-empty Function-like ManySortedSubset of a2;
end;
:: PBOOLE:funcnot 11 => PBOOLE:func 11
definition
let a1, a2 be Relation-like Function-like Function-yielding set;
func A2 ** A1 -> Relation-like Function-like Function-yielding set means
proj1 it = (proj1 a1) /\ proj1 a2 &
(for b1 being set
st b1 in proj1 it
holds it . b1 = (a1 . b1) * (a2 . b1));
end;
:: PBOOLE:def 24
theorem
for b1, b2, b3 being Relation-like Function-like Function-yielding set holds
b3 = b2 ** b1
iff
proj1 b3 = (proj1 b1) /\ proj1 b2 &
(for b4 being set
st b4 in proj1 b3
holds b3 . b4 = (b1 . b4) * (b2 . b4));
:: PBOOLE:funcnot 12 => PBOOLE:func 12
definition
let a1 be set;
let a2 be ManySortedSet of a1;
let a3 be Function-yielding ManySortedSet of a1;
func A3 .:.: A2 -> ManySortedSet of a1 means
for b1 being set
st b1 in a1
holds it . b1 = (a3 . b1) .: (a2 . b1);
end;
:: PBOOLE:def 25
theorem
for b1 being set
for b2 being ManySortedSet of b1
for b3 being Function-yielding ManySortedSet of b1
for b4 being ManySortedSet of b1 holds
b4 = b3 .:.: b2
iff
for b5 being set
st b5 in b1
holds b4 . b5 = (b3 . b5) .: (b2 . b5);
:: PBOOLE:funcreg 3
registration
let a1 be set;
cluster [0] a1 -> empty-yielding;
end;