Article FUNCT_4, MML version 4.99.1005
:: FUNCT_4:th 1
theorem
for b1 being set
st for b2 being set
st b2 in b1
holds ex b3, b4 being set st
b2 = [b3,b4]
holds ex b2, b3 being set st
b1 c= [:b2,b3:];
:: FUNCT_4:th 2
theorem
for b1, b2 being Relation-like Function-like set holds
b2 * b1 = b2 * (b1 | proj2 b2);
:: FUNCT_4:th 4
theorem
for b1, b2 being set holds
id b1 c= id b2
iff
b1 c= b2;
:: FUNCT_4:th 5
theorem
for b1, b2, b3 being set
st b1 c= b2
holds b1 --> b3 c= b2 --> b3;
:: FUNCT_4:th 6
theorem
for b1, b2, b3, b4 being set
st b1 --> b2 c= b3 --> b4
holds b1 c= b3;
:: FUNCT_4:th 7
theorem
for b1, b2, b3, b4 being set
st b1 <> {} & b1 --> b2 c= b3 --> b4
holds b2 = b4;
:: FUNCT_4:th 8
theorem
for b1 being set
for b2 being Relation-like Function-like set
st b1 in proj1 b2
holds {b1} --> (b2 . b1) c= b2;
:: FUNCT_4:prednot 1 => TARSKI:pred 1
notation
let a1, a2 be Relation-like Function-like set;
synonym a1 <= a2 for a1 c= a2;
end;
:: FUNCT_4:th 9
theorem
for b1, b2 being set
for b3 being Relation-like Function-like set holds
(b1 | b3) | b2 c= b3;
:: FUNCT_4:th 10
theorem
for b1, b2 being set
for b3, b4 being Relation-like Function-like set
st b3 c= b4
holds (b1 | b3) | b2 c= (b1 | b4) | b2;
:: FUNCT_4:funcnot 1 => FUNCT_4:func 1
definition
let a1, a2 be Relation-like Function-like set;
func A1 +* A2 -> Relation-like Function-like set means
proj1 it = (proj1 a1) \/ proj1 a2 &
(for b1 being set
st b1 in (proj1 a1) \/ proj1 a2
holds (b1 in proj1 a2 implies it . b1 = a2 . b1) &
(b1 in proj1 a2 or it . b1 = a1 . b1));
idempotence;
:: for a1 being Relation-like Function-like set holds
:: a1 +* a1 = a1;
end;
:: FUNCT_4:def 1
theorem
for b1, b2, b3 being Relation-like Function-like set holds
b3 = b1 +* b2
iff
proj1 b3 = (proj1 b1) \/ proj1 b2 &
(for b4 being set
st b4 in (proj1 b1) \/ proj1 b2
holds (b4 in proj1 b2 implies b3 . b4 = b2 . b4) &
(b4 in proj1 b2 or b3 . b4 = b1 . b4));
:: FUNCT_4:th 11
theorem
for b1, b2 being Relation-like Function-like set holds
proj1 b1 c= proj1 (b1 +* b2) & proj1 b2 c= proj1 (b1 +* b2);
:: FUNCT_4:th 12
theorem
for b1 being set
for b2, b3 being Relation-like Function-like set
st not b1 in proj1 b2
holds (b3 +* b2) . b1 = b3 . b1;
:: FUNCT_4:th 13
theorem
for b1 being set
for b2, b3 being Relation-like Function-like set holds
b1 in proj1 (b2 +* b3)
iff
(b1 in proj1 b2 or b1 in proj1 b3);
:: FUNCT_4:th 14
theorem
for b1 being set
for b2, b3 being Relation-like Function-like set
st b1 in proj1 b2
holds (b3 +* b2) . b1 = b2 . b1;
:: FUNCT_4:th 15
theorem
for b1, b2, b3 being Relation-like Function-like set holds
(b1 +* b2) +* b3 = b1 +* (b2 +* b3);
:: FUNCT_4:th 16
theorem
for b1 being set
for b2, b3 being Relation-like Function-like set
st b2 tolerates b3 & b1 in proj1 b2
holds (b2 +* b3) . b1 = b2 . b1;
:: FUNCT_4:th 17
theorem
for b1 being set
for b2, b3 being Relation-like Function-like set
st proj1 b2 misses proj1 b3 & b1 in proj1 b2
holds (b2 +* b3) . b1 = b2 . b1;
:: FUNCT_4:th 18
theorem
for b1, b2 being Relation-like Function-like set holds
proj2 (b1 +* b2) c= (proj2 b1) \/ proj2 b2;
:: FUNCT_4:th 19
theorem
for b1, b2 being Relation-like Function-like set holds
proj2 b1 c= proj2 (b2 +* b1);
:: FUNCT_4:th 20
theorem
for b1, b2 being Relation-like Function-like set
st proj1 b1 c= proj1 b2
holds b1 +* b2 = b2;
:: FUNCT_4:th 21
theorem
for b1 being Relation-like Function-like set holds
{} +* b1 = b1;
:: FUNCT_4:th 22
theorem
for b1 being Relation-like Function-like set holds
b1 +* {} = b1;
:: FUNCT_4:th 23
theorem
for b1, b2 being set holds
(id b1) +* id b2 = id (b1 \/ b2);
:: FUNCT_4:th 24
theorem
for b1, b2 being Relation-like Function-like set holds
(b1 +* b2) | proj1 b2 = b2;
:: FUNCT_4:th 25
theorem
for b1, b2 being Relation-like Function-like set holds
(b1 +* b2) | ((proj1 b1) \ proj1 b2) c= b1;
:: FUNCT_4:th 26
theorem
for b1, b2 being Relation-like Function-like set holds
b1 c= b2 +* b1;
:: FUNCT_4:th 27
theorem
for b1, b2, b3 being Relation-like Function-like set
st b1 tolerates b2 +* b3
holds b1 | ((proj1 b1) \ proj1 b3) tolerates b2;
:: FUNCT_4:th 28
theorem
for b1, b2, b3 being Relation-like Function-like set
st b1 tolerates b2 +* b3
holds b1 tolerates b3;
:: FUNCT_4:th 29
theorem
for b1, b2 being Relation-like Function-like set holds
b1 tolerates b2
iff
b1 c= b1 +* b2;
:: FUNCT_4:th 30
theorem
for b1, b2 being Relation-like Function-like set holds
b1 +* b2 c= b1 \/ b2;
:: FUNCT_4:th 31
theorem
for b1, b2 being Relation-like Function-like set holds
b1 tolerates b2
iff
b1 \/ b2 = b1 +* b2;
:: FUNCT_4:th 32
theorem
for b1, b2 being Relation-like Function-like set
st proj1 b1 misses proj1 b2
holds b1 \/ b2 = b1 +* b2;
:: FUNCT_4:th 33
theorem
for b1, b2 being Relation-like Function-like set
st proj1 b1 misses proj1 b2
holds b1 c= b1 +* b2;
:: FUNCT_4:th 34
theorem
for b1, b2 being Relation-like Function-like set
st proj1 b1 misses proj1 b2
holds (b1 +* b2) | proj1 b1 = b1;
:: FUNCT_4:th 35
theorem
for b1, b2 being Relation-like Function-like set holds
b1 tolerates b2
iff
b1 +* b2 = b2 +* b1;
:: FUNCT_4:th 36
theorem
for b1, b2 being Relation-like Function-like set
st proj1 b1 misses proj1 b2
holds b1 +* b2 = b2 +* b1;
:: FUNCT_4:th 37
theorem
for b1, b2 being set
for b3, b4 being Function-like Relation of b1,b2
st b4 is total(b1, b2)
holds b3 +* b4 = b4;
:: FUNCT_4:th 38
theorem
for b1, b2 being set
for b3, b4 being Function-like quasi_total Relation of b1,b2
st (b2 = {} implies b1 = {})
holds b3 +* b4 = b4;
:: FUNCT_4:th 39
theorem
for b1 being set
for b2, b3 being Function-like quasi_total Relation of b1,b1 holds
b2 +* b3 = b3;
:: FUNCT_4:th 40
theorem
for b1 being set
for b2 being non empty set
for b3, b4 being Function-like quasi_total Relation of b1,b2 holds
b3 +* b4 = b4;
:: FUNCT_4:th 41
theorem
for b1, b2 being set
for b3, b4 being Function-like Relation of b1,b2 holds
b3 +* b4 is Function-like Relation of b1,b2;
:: FUNCT_4:funcnot 2 => FUNCT_4:func 2
definition
let a1 be Relation-like Function-like set;
func ~ A1 -> Relation-like Function-like set means
(for b1 being set holds
b1 in proj1 it
iff
ex b2, b3 being set st
b1 = [b3,b2] & [b2,b3] in proj1 a1) &
(for b1, b2 being set
st [b1,b2] in proj1 a1
holds it .(b2,b1) = a1 .(b1,b2));
end;
:: FUNCT_4:def 2
theorem
for b1, b2 being Relation-like Function-like set holds
b2 = ~ b1
iff
(for b3 being set holds
b3 in proj1 b2
iff
ex b4, b5 being set st
b3 = [b5,b4] & [b4,b5] in proj1 b1) &
(for b3, b4 being set
st [b3,b4] in proj1 b1
holds b2 .(b4,b3) = b1 .(b3,b4));
:: FUNCT_4:th 42
theorem
for b1 being Relation-like Function-like set holds
proj2 ~ b1 c= proj2 b1;
:: FUNCT_4:th 43
theorem
for b1, b2 being set
for b3 being Relation-like Function-like set holds
[b1,b2] in proj1 b3
iff
[b2,b1] in proj1 ~ b3;
:: FUNCT_4:th 44
theorem
for b1, b2 being set
for b3 being Relation-like Function-like set
st [b1,b2] in proj1 ~ b3
holds (~ b3) .(b1,b2) = b3 .(b2,b1);
:: FUNCT_4:th 45
theorem
for b1 being Relation-like Function-like set holds
ex b2, b3 being set st
proj1 ~ b1 c= [:b2,b3:];
:: FUNCT_4:th 46
theorem
for b1, b2 being set
for b3 being Relation-like Function-like set
st proj1 b3 c= [:b1,b2:]
holds proj1 ~ b3 c= [:b2,b1:];
:: FUNCT_4:th 47
theorem
for b1, b2 being set
for b3 being Relation-like Function-like set
st proj1 b3 = [:b1,b2:]
holds proj1 ~ b3 = [:b2,b1:];
:: FUNCT_4:th 48
theorem
for b1, b2 being set
for b3 being Relation-like Function-like set
st proj1 b3 c= [:b1,b2:]
holds proj2 ~ b3 = proj2 b3;
:: FUNCT_4:th 49
theorem
for b1, b2, b3 being set
for b4 being Function-like Relation of [:b1,b2:],b3 holds
~ b4 is Function-like Relation of [:b2,b1:],b3;
:: FUNCT_4:th 50
theorem
for b1, b2, b3 being set
for b4 being Function-like quasi_total Relation of [:b1,b2:],b3
st b3 <> {}
holds ~ b4 is Function-like quasi_total Relation of [:b2,b1:],b3;
:: FUNCT_4:th 51
theorem
for b1, b2 being set
for b3 being non empty set
for b4 being Function-like quasi_total Relation of [:b1,b2:],b3 holds
~ b4 is Function-like quasi_total Relation of [:b2,b1:],b3;
:: FUNCT_4:th 52
theorem
for b1 being Relation-like Function-like set holds
~ ~ b1 c= b1;
:: FUNCT_4:th 53
theorem
for b1, b2 being set
for b3 being Relation-like Function-like set
st proj1 b3 c= [:b1,b2:]
holds ~ ~ b3 = b3;
:: FUNCT_4:th 54
theorem
for b1, b2, b3 being set
for b4 being Function-like Relation of [:b1,b2:],b3 holds
~ ~ b4 = b4;
:: FUNCT_4:funcnot 3 => FUNCT_4:func 3
definition
let a1, a2 be Relation-like Function-like set;
func |:A1,A2:| -> Relation-like Function-like set means
(for b1 being set holds
b1 in proj1 it
iff
ex b2, b3, b4, b5 being set st
b1 = [[b2,b4],[b3,b5]] &
[b2,b3] in proj1 a1 &
[b4,b5] in proj1 a2) &
(for b1, b2, b3, b4 being set
st [b1,b2] in proj1 a1 & [b3,b4] in proj1 a2
holds it .([b1,b3],[b2,b4]) = [a1 .(b1,b2),a2 .(b3,b4)]);
end;
:: FUNCT_4:def 3
theorem
for b1, b2, b3 being Relation-like Function-like set holds
b3 = |:b1,b2:|
iff
(for b4 being set holds
b4 in proj1 b3
iff
ex b5, b6, b7, b8 being set st
b4 = [[b5,b7],[b6,b8]] &
[b5,b6] in proj1 b1 &
[b7,b8] in proj1 b2) &
(for b4, b5, b6, b7 being set
st [b4,b5] in proj1 b1 & [b6,b7] in proj1 b2
holds b3 .([b4,b6],[b5,b7]) = [b1 .(b4,b5),b2 .(b6,b7)]);
:: FUNCT_4:th 57
theorem
for b1, b2, b3, b4 being set
for b5, b6 being Relation-like Function-like set holds
[[b1,b2],[b3,b4]] in proj1 |:b5,b6:|
iff
[b1,b3] in proj1 b5 & [b2,b4] in proj1 b6;
:: FUNCT_4:th 58
theorem
for b1, b2, b3, b4 being set
for b5, b6 being Relation-like Function-like set
st [[b1,b2],[b3,b4]] in proj1 |:b5,b6:|
holds |:b5,b6:| .([b1,b2],[b3,b4]) = [b5 .(b1,b3),b6 .(b2,b4)];
:: FUNCT_4:th 59
theorem
for b1, b2 being Relation-like Function-like set holds
proj2 |:b1,b2:| c= [:proj2 b1,proj2 b2:];
:: FUNCT_4:th 60
theorem
for b1, b2, b3, b4 being set
for b5, b6 being Relation-like Function-like set
st proj1 b5 c= [:b1,b2:] & proj1 b6 c= [:b3,b4:]
holds proj1 |:b5,b6:| c= [:[:b1,b3:],[:b2,b4:]:];
:: FUNCT_4:th 61
theorem
for b1, b2, b3, b4 being set
for b5, b6 being Relation-like Function-like set
st proj1 b5 = [:b1,b2:] & proj1 b6 = [:b3,b4:]
holds proj1 |:b5,b6:| = [:[:b1,b3:],[:b2,b4:]:];
:: FUNCT_4:th 62
theorem
for b1, b2, b3, b4, b5, b6 being set
for b7 being Function-like Relation of [:b1,b2:],b3
for b8 being Function-like Relation of [:b4,b5:],b6 holds
|:b7,b8:| is Function-like Relation of [:[:b1,b4:],[:b2,b5:]:],[:b3,b6:];
:: FUNCT_4:th 63
theorem
for b1, b2, b3, b4, b5, b6 being set
for b7 being Function-like quasi_total Relation of [:b1,b2:],b3
for b8 being Function-like quasi_total Relation of [:b4,b5:],b6
st b3 <> {} & b6 <> {}
holds |:b7,b8:| is Function-like quasi_total Relation of [:[:b1,b4:],[:b2,b5:]:],[:b3,b6:];
:: FUNCT_4:th 64
theorem
for b1, b2, b3, b4 being set
for b5, b6 being non empty set
for b7 being Function-like quasi_total Relation of [:b1,b2:],b5
for b8 being Function-like quasi_total Relation of [:b3,b4:],b6 holds
|:b7,b8:| is Function-like quasi_total Relation of [:[:b1,b3:],[:b2,b4:]:],[:b5,b6:];
:: FUNCT_4:funcnot 4 => FUNCT_4:func 4
definition
let a1, a2, a3, a4 be set;
func (A1,A2)-->(A3,A4) -> set equals
({a1} --> a3) +* ({a2} --> a4);
end;
:: FUNCT_4:def 4
theorem
for b1, b2, b3, b4 being set holds
(b1,b2)-->(b3,b4) = ({b1} --> b3) +* ({b2} --> b4);
:: FUNCT_4:funcreg 1
registration
let a1, a2, a3, a4 be set;
cluster (a1,a2)-->(a3,a4) -> Relation-like Function-like;
end;
:: FUNCT_4:th 65
theorem
for b1, b2, b3, b4 being set holds
proj1 ((b1,b2)-->(b3,b4)) = {b1,b2} &
proj2 ((b1,b2)-->(b3,b4)) c= {b3,b4};
:: FUNCT_4:th 66
theorem
for b1, b2, b3, b4 being set holds
(b1 = b2 or ((b1,b2)-->(b3,b4)) . b1 = b3) &
((b1,b2)-->(b3,b4)) . b2 = b4;
:: FUNCT_4:th 67
theorem
for b1, b2, b3, b4 being set
st b1 <> b2
holds proj2 ((b1,b2)-->(b3,b4)) = {b3,b4};
:: FUNCT_4:th 68
theorem
for b1, b2, b3 being set holds
(b1,b2)-->(b3,b3) = {b1,b2} --> b3;
:: FUNCT_4:funcnot 5 => FUNCT_4:func 5
definition
let a1 be non empty set;
let a2, a3 be set;
let a4, a5 be Element of a1;
redefine func (a2,a3)-->(a4,a5) -> Function-like quasi_total Relation of {a2,a3},a1;
end;
:: FUNCT_4:th 69
theorem
for b1, b2, b3, b4 being set
for b5 being Relation-like Function-like set
st proj1 b5 = {b1,b2} & b5 . b1 = b3 & b5 . b2 = b4
holds b5 = (b1,b2)-->(b3,b4);
:: FUNCT_4:th 71
theorem
for b1, b2, b3, b4 being set
st b1 <> b3
holds (b1,b3)-->(b2,b4) = {[b1,b2],[b3,b4]};
:: FUNCT_4:th 72
theorem
for b1, b2, b3, b4, b5, b6 being set
st b1 <> b2 & (b1,b2)-->(b3,b4) = (b1,b2)-->(b5,b6)
holds b3 = b5 & b4 = b6;
:: FUNCT_4:th 73
theorem
for b1, b2, b3, b4 being Relation-like Function-like set
st proj2 b3 c= proj1 b1 & proj2 b4 c= proj1 b2 & b1 tolerates b2
holds (b3 +* b4) * (b1 +* b2) = (b3 * b1) +* (b4 * b2);
:: FUNCT_4:th 74
theorem
for b1 being Relation-like Function-like set
for b2, b3 being set
st proj1 b1 c= b2 \/ b3
holds (b1 | b2) +* (b1 | b3) = b1;
:: FUNCT_4:th 75
theorem
for b1, b2 being Relation-like Function-like set
for b3 being set holds
(b1 +* b2) | b3 = (b1 | b3) +* (b2 | b3);
:: FUNCT_4:th 76
theorem
for b1, b2 being Relation-like Function-like set
for b3 being set
st b3 misses proj1 b2
holds (b1 +* b2) | b3 = b1 | b3;
:: FUNCT_4:th 77
theorem
for b1, b2 being Relation-like Function-like set
for b3 being set
st proj1 b1 misses b3
holds (b1 +* b2) | b3 = b2 | b3;
:: FUNCT_4:th 78
theorem
for b1, b2, b3 being Relation-like Function-like set
st proj1 b2 = proj1 b3
holds (b1 +* b2) +* b3 = b1 +* b3;
:: FUNCT_4:th 79
theorem
for b1, b2 being Relation-like Function-like set
st b1 c= b2
holds b1 +* b2 = b2 & b2 +* b1 = b2;
:: FUNCT_4:th 80
theorem
for b1 being Relation-like Function-like set
for b2 being set holds
b1 +* (b1 | b2) = b1;
:: FUNCT_4:th 81
theorem
for b1, b2 being Relation-like Function-like set
for b3, b4 being set
st proj1 b1 c= b3 & proj1 b2 c= b4 & b3 misses b4
holds (b1 +* b2) | b3 = b1 & (b1 +* b2) | b4 = b2;
:: FUNCT_4:th 82
theorem
for b1, b2 being Relation-like Function-like set
for b3 being set
st proj1 b1 c= b3 & proj1 b2 misses b3
holds (b1 +* b2) | b3 = b1;
:: FUNCT_4:th 83
theorem
for b1 being Relation-like Function-like set
for b2, b3 being set holds
b1 | (b2 \/ b3) = (b1 | b2) +* (b1 | b3);
:: FUNCT_4:th 84
theorem
for b1, b2, b3 being set holds
(b1,b2):-> b3 = [b1,b2] .--> b3;
:: FUNCT_4:th 85
theorem
for b1, b2, b3 being set holds
((b1,b2):-> b3) .(b1,b2) = b3;
:: FUNCT_4:th 86
theorem
for b1, b2, b3 being set holds
(b1,b1)-->(b2,b3) = b1 .--> b3;
:: FUNCT_4:th 87
theorem
for b1, b2 being set holds
b1 .--> b2 = {[b1,b2]};
:: FUNCT_4:th 88
theorem
for b1 being Relation-like Function-like set
for b2, b3, b4 being set
st b2 <> b4
holds (b1 +* (b2 .--> b3)) . b4 = b1 . b4;
:: FUNCT_4:th 89
theorem
for b1 being Relation-like Function-like set
for b2, b3, b4, b5 being set
st b2 <> b3
holds (b1 +* ((b2,b3)-->(b4,b5))) . b2 = b4 & (b1 +* ((b2,b3)-->(b4,b5))) . b3 = b5;
:: FUNCT_4:th 90
theorem
for b1, b2 being set
for b3 being Relation-like Function-like set
st b1 in proj1 b3 & b3 . b1 = b2
holds b1 .--> b2 c= b3;
:: FUNCT_4:th 91
theorem
for b1, b2, b3, b4 being set
for b5 being Relation-like Function-like set
st b1 in proj1 b5 & b3 in proj1 b5 & b5 . b1 = b2 & b5 . b3 = b4
holds (b1,b3)-->(b2,b4) c= b5;
:: FUNCT_4:th 92
theorem
for b1, b2, b3 being Relation-like Function-like set
st b1 c= b3 & b2 c= b3
holds b1 +* b2 c= b3;
:: FUNCT_4:th 93
theorem
for b1, b2 being Relation-like Function-like set
for b3 being set
st b3 /\ proj1 b1 c= b3 /\ proj1 b2
holds (b1 +* (b2 | b3)) | b3 = b2 | b3;
:: FUNCT_4:th 94
theorem
for b1, b2 being Relation-like Function-like set
for b3 being set
st proj1 b2 misses b3
holds (b1 +* b2) | b3 = b1 | b3;
:: FUNCT_4:th 95
theorem
for b1 being Relation-like Function-like set
for b2, b3, b4, b5 being set holds
((b1 +* (b2 .--> b3)) +* (b5 .--> b4)) . b5 = b4;
:: FUNCT_4:th 96
theorem
for b1 being Relation-like Function-like set
for b2, b3 being set holds
((b1 +* (b2 .--> b3)) +* (b3 .--> b2)) . b2 = b3;
:: FUNCT_4:th 97
theorem
for b1 being Relation-like Function-like set
for b2, b3, b4, b5, b6 being set
st b6 <> b5 & b6 <> b2
holds ((b1 +* (b2 .--> b3)) +* (b5 .--> b4)) . b6 = b1 . b6;
:: FUNCT_4:th 98
theorem
for b1, b2 being Relation-like Function-like set
st b1 is one-to-one & b2 is one-to-one & proj2 b1 misses proj2 b2
holds b1 +* b2 is one-to-one;