Article FUNCOP_1, MML version 4.99.1005
:: FUNCOP_1:th 2
theorem
for b1 being set holds
delta b1 = <:id b1,id b1:>;
:: FUNCOP_1:funcnot 1 => FUNCOP_1:func 1
definition
let a1 be Relation-like Function-like set;
func A1 ~ -> Relation-like Function-like set means
proj1 it = proj1 a1 &
(for b1 being set
st b1 in proj1 a1
holds (for b2, b3 being set
st a1 . b1 = [b2,b3]
holds it . b1 = [b3,b2]) &
(a1 . b1 <> it . b1 implies ex b2, b3 being set st
a1 . b1 = [b2,b3]));
involutiveness;
:: for a1 being Relation-like Function-like set holds
:: a1 ~ ~ = a1;
end;
:: FUNCOP_1:def 1
theorem
for b1, b2 being Relation-like Function-like set holds
b2 = b1 ~
iff
proj1 b2 = proj1 b1 &
(for b3 being set
st b3 in proj1 b1
holds (for b4, b5 being set
st b1 . b3 = [b4,b5]
holds b2 . b3 = [b5,b4]) &
(b1 . b3 <> b2 . b3 implies ex b4, b5 being set st
b1 . b3 = [b4,b5]));
:: FUNCOP_1:th 6
theorem
for b1, b2 being Relation-like Function-like set holds
<:b1,b2:> = <:b2,b1:> ~;
:: FUNCOP_1:th 7
theorem
for b1 being Relation-like Function-like set
for b2 being set holds
(b1 | b2) ~ = b1 ~ | b2;
:: FUNCOP_1:th 9
theorem
for b1 being set holds
(delta b1) ~ = delta b1;
:: FUNCOP_1:th 10
theorem
for b1, b2 being Relation-like Function-like set
for b3 being set holds
<:b1,b2:> | b3 = <:b1 | b3,b2:>;
:: FUNCOP_1:th 11
theorem
for b1, b2 being Relation-like Function-like set
for b3 being set holds
<:b1,b2:> | b3 = <:b1,b2 | b3:>;
:: FUNCOP_1:funcnot 2 => FUNCOP_1:func 2
definition
let a1, a2 be set;
func A1 --> A2 -> set equals
[:a1,{a2}:];
end;
:: FUNCOP_1:def 2
theorem
for b1, b2 being set holds
b1 --> b2 = [:b1,{b2}:];
:: FUNCOP_1:funcreg 1
registration
let a1, a2 be set;
cluster a1 --> a2 -> Relation-like Function-like;
end;
:: FUNCOP_1:th 13
theorem
for b1, b2, b3 being set
st b2 in b1
holds (b1 --> b3) . b2 = b3;
:: FUNCOP_1:th 14
theorem
for b1, b2 being set
st b1 <> {}
holds proj2 (b1 --> b2) = {b2};
:: FUNCOP_1:th 15
theorem
for b1 being Relation-like Function-like set
for b2 being set
st proj2 b1 = {b2}
holds b1 = (proj1 b1) --> b2;
:: FUNCOP_1:funcreg 2
registration
let a1 be set;
cluster {} --> a1 -> empty;
end;
:: FUNCOP_1:funcreg 3
registration
let a1 be set;
let a2 be empty set;
cluster a2 --> a1 -> empty;
end;
:: FUNCOP_1:th 16
theorem
for b1 being set holds
proj1 ({} --> b1) = {} & proj2 ({} --> b1) = {};
:: FUNCOP_1:th 17
theorem
for b1 being Relation-like Function-like set
for b2 being set
st for b3 being set
st b3 in proj1 b1
holds b1 . b3 = b2
holds b1 = (proj1 b1) --> b2;
:: FUNCOP_1:th 18
theorem
for b1, b2, b3 being set holds
(b1 --> b2) | b3 = (b1 /\ b3) --> b2;
:: FUNCOP_1:th 19
theorem
for b1, b2 being set holds
proj1 (b1 --> b2) = b1 & proj2 (b1 --> b2) c= {b2};
:: FUNCOP_1:th 20
theorem
for b1, b2, b3 being set
st b2 in b3
holds (b1 --> b2) " b3 = b1;
:: FUNCOP_1:th 21
theorem
for b1, b2 being set holds
(b1 --> b2) " {b2} = b1;
:: FUNCOP_1:th 22
theorem
for b1, b2, b3 being set
st not b2 in b3
holds (b1 --> b2) " b3 = {};
:: FUNCOP_1:th 23
theorem
for b1 being Relation-like Function-like set
for b2, b3 being set
st b3 in proj1 b1
holds (b2 --> b3) * b1 = b2 --> (b1 . b3);
:: FUNCOP_1:th 24
theorem
for b1 being Relation-like Function-like set
for b2, b3 being set
st b2 <> {} & b3 in proj1 b1
holds proj1 ((b2 --> b3) * b1) <> {};
:: FUNCOP_1:th 25
theorem
for b1 being Relation-like Function-like set
for b2, b3 being set holds
b1 * (b2 --> b3) = (b1 " b2) --> b3;
:: FUNCOP_1:th 26
theorem
for b1, b2, b3 being set holds
(b1 --> [b2,b3]) ~ = b1 --> [b3,b2];
:: FUNCOP_1:funcnot 3 => FUNCOP_1:func 3
definition
let a1, a2, a3 be Relation-like Function-like set;
func A1 .:(A2,A3) -> set equals
<:a2,a3:> * a1;
end;
:: FUNCOP_1:def 3
theorem
for b1, b2, b3 being Relation-like Function-like set holds
b1 .:(b2,b3) = <:b2,b3:> * b1;
:: FUNCOP_1:funcreg 4
registration
let a1, a2, a3 be Relation-like Function-like set;
cluster a1 .:(a2,a3) -> Relation-like Function-like;
end;
:: FUNCOP_1:th 27
theorem
for b1, b2, b3, b4 being Relation-like Function-like set
st proj1 b4 = proj1 (b3 .:(b1,b2)) &
(for b5 being set
st b5 in proj1 (b3 .:(b1,b2))
holds b4 . b5 = b3 .(b1 . b5,b2 . b5))
holds b4 = b3 .:(b1,b2);
:: FUNCOP_1:th 28
theorem
for b1, b2, b3 being Relation-like Function-like set
for b4 being set
st b4 in proj1 (b3 .:(b1,b2))
holds (b3 .:(b1,b2)) . b4 = b3 .(b1 . b4,b2 . b4);
:: FUNCOP_1:th 29
theorem
for b1, b2, b3 being Relation-like Function-like set
for b4 being set
for b5 being Relation-like Function-like set
st b1 | b4 = b2 | b4
holds (b5 .:(b1,b3)) | b4 = (b5 .:(b2,b3)) | b4;
:: FUNCOP_1:th 30
theorem
for b1, b2, b3 being Relation-like Function-like set
for b4 being set
for b5 being Relation-like Function-like set
st b1 | b4 = b2 | b4
holds (b5 .:(b3,b1)) | b4 = (b5 .:(b3,b2)) | b4;
:: FUNCOP_1:th 31
theorem
for b1, b2, b3, b4 being Relation-like Function-like set holds
b3 * (b4 .:(b1,b2)) = b4 .:(b3 * b1,b3 * b2);
:: FUNCOP_1:funcnot 4 => FUNCOP_1:func 4
definition
let a1, a2 be Relation-like Function-like set;
let a3 be set;
func A1 [:](A2,A3) -> set equals
<:a2,(proj1 a2) --> a3:> * a1;
end;
:: FUNCOP_1:def 4
theorem
for b1, b2 being Relation-like Function-like set
for b3 being set holds
b1 [:](b2,b3) = <:b2,(proj1 b2) --> b3:> * b1;
:: FUNCOP_1:funcreg 5
registration
let a1, a2 be Relation-like Function-like set;
let a3 be set;
cluster a1 [:](a2,a3) -> Relation-like Function-like;
end;
:: FUNCOP_1:th 34
theorem
for b1, b2 being Relation-like Function-like set
for b3 being set holds
b2 [:](b1,b3) = b2 .:(b1,(proj1 b1) --> b3);
:: FUNCOP_1:th 35
theorem
for b1, b2 being Relation-like Function-like set
for b3, b4 being set
st b3 in proj1 (b2 [:](b1,b4))
holds (b2 [:](b1,b4)) . b3 = b2 .(b1 . b3,b4);
:: FUNCOP_1:th 36
theorem
for b1, b2 being Relation-like Function-like set
for b3 being set
for b4 being Relation-like Function-like set
for b5 being set
st b1 | b3 = b2 | b3
holds (b4 [:](b1,b5)) | b3 = (b4 [:](b2,b5)) | b3;
:: FUNCOP_1:th 37
theorem
for b1, b2, b3 being Relation-like Function-like set
for b4 being set holds
b2 * (b3 [:](b1,b4)) = b3 [:](b2 * b1,b4);
:: FUNCOP_1:th 39
theorem
for b1 being Relation-like Function-like set
for b2 being set
for b3 being Relation-like Function-like set
for b4 being set holds
(id b2) * (b3 [:](b1,b4)) = b3 [:](b1 | b2,b4);
:: FUNCOP_1:funcnot 5 => FUNCOP_1:func 5
definition
let a1 be Relation-like Function-like set;
let a2 be set;
let a3 be Relation-like Function-like set;
func A1 [;](A2,A3) -> set equals
<:(proj1 a3) --> a2,a3:> * a1;
end;
:: FUNCOP_1:def 5
theorem
for b1 being Relation-like Function-like set
for b2 being set
for b3 being Relation-like Function-like set holds
b1 [;](b2,b3) = <:(proj1 b3) --> b2,b3:> * b1;
:: FUNCOP_1:funcreg 6
registration
let a1 be Relation-like Function-like set;
let a2 be set;
let a3 be Relation-like Function-like set;
cluster a1 [;](a2,a3) -> Relation-like Function-like;
end;
:: FUNCOP_1:th 41
theorem
for b1, b2 being Relation-like Function-like set
for b3 being set holds
b2 [;](b3,b1) = b2 .:((proj1 b1) --> b3,b1);
:: FUNCOP_1:th 42
theorem
for b1, b2 being Relation-like Function-like set
for b3, b4 being set
st b3 in proj1 (b2 [;](b4,b1))
holds (b2 [;](b4,b1)) . b3 = b2 .(b4,b1 . b3);
:: FUNCOP_1:th 43
theorem
for b1, b2 being Relation-like Function-like set
for b3 being set
for b4 being Relation-like Function-like set
for b5 being set
st b1 | b3 = b2 | b3
holds (b4 [;](b5,b1)) | b3 = (b4 [;](b5,b2)) | b3;
:: FUNCOP_1:th 44
theorem
for b1, b2, b3 being Relation-like Function-like set
for b4 being set holds
b2 * (b3 [;](b4,b1)) = b3 [;](b4,b2 * b1);
:: FUNCOP_1:th 46
theorem
for b1 being Relation-like Function-like set
for b2 being set
for b3 being Relation-like Function-like set
for b4 being set holds
(id b2) * (b3 [;](b4,b1)) = b3 [;](b4,b1 | b2);
:: FUNCOP_1:th 47
theorem
for b1, b2 being non empty set
for b3 being Function-like quasi_total Relation of [:b2,b2:],b2
for b4, b5 being Function-like quasi_total Relation of b1,b2 holds
b3 .:(b4,b5) is Function-like quasi_total Relation of b1,b2;
:: FUNCOP_1:funcnot 6 => FUNCOP_1:func 6
definition
let a1, a2 be non empty set;
let a3 be Function-like quasi_total Relation of [:a1,a1:],a1;
let a4, a5 be Function-like quasi_total Relation of a2,a1;
redefine func a3 .:(a4,a5) -> Function-like quasi_total Relation of a2,a1;
end;
:: FUNCOP_1:th 48
theorem
for b1, b2 being non empty set
for b3 being Function-like quasi_total Relation of [:b1,b1:],b1
for b4, b5 being Function-like quasi_total Relation of b2,b1
for b6 being Element of b2 holds
(b3 .:(b4,b5)) . b6 = b3 .(b4 . b6,b5 . b6);
:: FUNCOP_1:th 49
theorem
for b1, b2 being non empty set
for b3 being Function-like quasi_total Relation of [:b2,b2:],b2
for b4, b5, b6 being Function-like quasi_total Relation of b1,b2
st for b7 being Element of b1 holds
b6 . b7 = b3 .(b4 . b7,b5 . b7)
holds b6 = b3 .:(b4,b5);
:: FUNCOP_1:th 51
theorem
for b1, b2 being non empty set
for b3 being Function-like quasi_total Relation of [:b2,b2:],b2
for b4 being Function-like quasi_total Relation of b1,b2
for b5 being Function-like quasi_total Relation of b2,b2 holds
(b3 .:(id b2,b5)) * b4 = b3 .:(b4,b5 * b4);
:: FUNCOP_1:th 52
theorem
for b1, b2 being non empty set
for b3 being Function-like quasi_total Relation of [:b2,b2:],b2
for b4 being Function-like quasi_total Relation of b1,b2
for b5 being Function-like quasi_total Relation of b2,b2 holds
(b3 .:(b5,id b2)) * b4 = b3 .:(b5 * b4,b4);
:: FUNCOP_1:th 53
theorem
for b1, b2 being non empty set
for b3 being Function-like quasi_total Relation of [:b2,b2:],b2
for b4 being Function-like quasi_total Relation of b1,b2 holds
(b3 .:(id b2,id b2)) * b4 = b3 .:(b4,b4);
:: FUNCOP_1:th 54
theorem
for b1 being non empty set
for b2 being Function-like quasi_total Relation of [:b1,b1:],b1
for b3 being Element of b1
for b4 being Function-like quasi_total Relation of b1,b1 holds
(b2 .:(id b1,b4)) . b3 = b2 .(b3,b4 . b3);
:: FUNCOP_1:th 55
theorem
for b1 being non empty set
for b2 being Function-like quasi_total Relation of [:b1,b1:],b1
for b3 being Element of b1
for b4 being Function-like quasi_total Relation of b1,b1 holds
(b2 .:(b4,id b1)) . b3 = b2 .(b4 . b3,b3);
:: FUNCOP_1:th 56
theorem
for b1 being non empty set
for b2 being Function-like quasi_total Relation of [:b1,b1:],b1
for b3 being Element of b1 holds
(b2 .:(id b1,id b1)) . b3 = b2 .(b3,b3);
:: FUNCOP_1:th 57
theorem
for b1, b2, b3 being set
st b3 in b2
holds b1 --> b3 is Function-like quasi_total Relation of b1,b2;
:: FUNCOP_1:funcnot 7 => FUNCOP_1:func 7
definition
let a1, a2 be set;
redefine func a1 --> a2 -> Function-like quasi_total Relation of a1,{a2};
end;
:: FUNCOP_1:funcnot 8 => FUNCOP_1:func 8
definition
let a1 be non empty set;
let a2 be set;
let a3 be Element of a1;
redefine func a2 --> a3 -> Function-like quasi_total Relation of a2,a1;
end;
:: FUNCOP_1:th 58
theorem
for b1 being set
for b2 being non empty set
for b3 being Element of b2 holds
b1 --> b3 is Function-like quasi_total Relation of b1,b2;
:: FUNCOP_1:th 59
theorem
for b1, b2 being non empty set
for b3 being Function-like quasi_total Relation of [:b2,b2:],b2
for b4 being Function-like quasi_total Relation of b1,b2
for b5 being Element of b2 holds
b3 [:](b4,b5) is Function-like quasi_total Relation of b1,b2;
:: FUNCOP_1:funcnot 9 => FUNCOP_1:func 9
definition
let a1, a2 be non empty set;
let a3 be Function-like quasi_total Relation of [:a1,a1:],a1;
let a4 be Function-like quasi_total Relation of a2,a1;
let a5 be Element of a1;
redefine func a3 [:](a4,a5) -> Function-like quasi_total Relation of a2,a1;
end;
:: FUNCOP_1:th 60
theorem
for b1, b2 being non empty set
for b3 being Function-like quasi_total Relation of [:b1,b1:],b1
for b4 being Function-like quasi_total Relation of b2,b1
for b5 being Element of b1
for b6 being Element of b2 holds
(b3 [:](b4,b5)) . b6 = b3 .(b4 . b6,b5);
:: FUNCOP_1:th 61
theorem
for b1, b2 being non empty set
for b3 being Function-like quasi_total Relation of [:b1,b1:],b1
for b4, b5 being Function-like quasi_total Relation of b2,b1
for b6 being Element of b1
st for b7 being Element of b2 holds
b4 . b7 = b3 .(b5 . b7,b6)
holds b4 = b3 [:](b5,b6);
:: FUNCOP_1:th 63
theorem
for b1, b2 being non empty set
for b3 being Function-like quasi_total Relation of [:b2,b2:],b2
for b4 being Function-like quasi_total Relation of b1,b2
for b5 being Element of b2 holds
(b3 [:](id b2,b5)) * b4 = b3 [:](b4,b5);
:: FUNCOP_1:th 64
theorem
for b1 being non empty set
for b2 being Function-like quasi_total Relation of [:b1,b1:],b1
for b3 being Element of b1 holds
(b2 [:](id b1,b3)) . b3 = b2 .(b3,b3);
:: FUNCOP_1:th 65
theorem
for b1, b2 being non empty set
for b3 being Function-like quasi_total Relation of [:b2,b2:],b2
for b4 being Function-like quasi_total Relation of b1,b2
for b5 being Element of b2 holds
b3 [;](b5,b4) is Function-like quasi_total Relation of b1,b2;
:: FUNCOP_1:funcnot 10 => FUNCOP_1:func 10
definition
let a1, a2 be non empty set;
let a3 be Function-like quasi_total Relation of [:a1,a1:],a1;
let a4 be Element of a1;
let a5 be Function-like quasi_total Relation of a2,a1;
redefine func a3 [;](a4,a5) -> Function-like quasi_total Relation of a2,a1;
end;
:: FUNCOP_1:th 66
theorem
for b1, b2 being non empty set
for b3 being Function-like quasi_total Relation of [:b1,b1:],b1
for b4 being Function-like quasi_total Relation of b2,b1
for b5 being Element of b1
for b6 being Element of b2 holds
(b3 [;](b5,b4)) . b6 = b3 .(b5,b4 . b6);
:: FUNCOP_1:th 67
theorem
for b1, b2 being non empty set
for b3 being Function-like quasi_total Relation of [:b1,b1:],b1
for b4, b5 being Function-like quasi_total Relation of b2,b1
for b6 being Element of b1
st for b7 being Element of b2 holds
b4 . b7 = b3 .(b6,b5 . b7)
holds b4 = b3 [;](b6,b5);
:: FUNCOP_1:th 69
theorem
for b1, b2 being non empty set
for b3 being Function-like quasi_total Relation of [:b2,b2:],b2
for b4 being Function-like quasi_total Relation of b1,b2
for b5 being Element of b2 holds
(b3 [;](b5,id b2)) * b4 = b3 [;](b5,b4);
:: FUNCOP_1:th 70
theorem
for b1 being non empty set
for b2 being Function-like quasi_total Relation of [:b1,b1:],b1
for b3 being Element of b1 holds
(b2 [;](b3,id b1)) . b3 = b2 .(b3,b3);
:: FUNCOP_1:th 71
theorem
for b1, b2, b3 being non empty set
for b4 being Function-like quasi_total Relation of b1,[:b2,b3:]
for b5 being Element of b1 holds
b4 ~ . b5 = [(b4 . b5) `2,(b4 . b5) `1];
:: FUNCOP_1:th 72
theorem
for b1, b2, b3 being non empty set
for b4 being Function-like quasi_total Relation of b1,[:b2,b3:] holds
proj2 b4 is Relation of b2,b3;
:: FUNCOP_1:funcnot 11 => FUNCOP_1:func 11
definition
let a1, a2, a3 be non empty set;
let a4 be Function-like quasi_total Relation of a1,[:a2,a3:];
redefine func rng a4 -> Relation of a2,a3;
end;
:: FUNCOP_1:funcnot 12 => FUNCOP_1:func 12
definition
let a1, a2, a3 be non empty set;
let a4 be Function-like quasi_total Relation of a1,[:a2,a3:];
redefine func a4 ~ -> Function-like quasi_total Relation of a1,[:a3,a2:];
involutiveness;
:: for a1, a2, a3 being non empty set
:: for a4 being Function-like quasi_total Relation of a1,[:a2,a3:] holds
:: a4 ~ ~ = a4;
end;
:: FUNCOP_1:th 73
theorem
for b1, b2, b3 being non empty set
for b4 being Function-like quasi_total Relation of b1,[:b2,b3:] holds
rng (b4 ~) = (rng b4) ~;
:: FUNCOP_1:th 74
theorem
for b1, b2 being non empty set
for b3 being Function-like quasi_total Relation of [:b2,b2:],b2
for b4 being Function-like quasi_total Relation of b1,b2
for b5, b6 being Element of b2
st b3 is associative(b2)
holds b3 [:](b3 [;](b5,b4),b6) = b3 [;](b5,b3 [:](b4,b6));
:: FUNCOP_1:th 75
theorem
for b1, b2 being non empty set
for b3 being Function-like quasi_total Relation of [:b2,b2:],b2
for b4, b5 being Function-like quasi_total Relation of b1,b2
for b6 being Element of b2
st b3 is associative(b2)
holds b3 .:(b3 [:](b4,b6),b5) = b3 .:(b4,b3 [;](b6,b5));
:: FUNCOP_1:th 76
theorem
for b1, b2 being non empty set
for b3 being Function-like quasi_total Relation of [:b2,b2:],b2
for b4, b5, b6 being Function-like quasi_total Relation of b1,b2
st b3 is associative(b2)
holds b3 .:(b3 .:(b4,b5),b6) = b3 .:(b4,b3 .:(b5,b6));
:: FUNCOP_1:th 77
theorem
for b1, b2 being non empty set
for b3 being Function-like quasi_total Relation of [:b2,b2:],b2
for b4 being Function-like quasi_total Relation of b1,b2
for b5, b6 being Element of b2
st b3 is associative(b2)
holds b3 [;](b3 .(b5,b6),b4) = b3 [;](b5,b3 [;](b6,b4));
:: FUNCOP_1:th 78
theorem
for b1, b2 being non empty set
for b3 being Function-like quasi_total Relation of [:b2,b2:],b2
for b4 being Function-like quasi_total Relation of b1,b2
for b5, b6 being Element of b2
st b3 is associative(b2)
holds b3 [:](b4,b3 .(b5,b6)) = b3 [:](b3 [:](b4,b5),b6);
:: FUNCOP_1:th 79
theorem
for b1, b2 being non empty set
for b3 being Function-like quasi_total Relation of [:b2,b2:],b2
for b4 being Function-like quasi_total Relation of b1,b2
for b5 being Element of b2
st b3 is commutative(b2)
holds b3 [;](b5,b4) = b3 [:](b4,b5);
:: FUNCOP_1:th 80
theorem
for b1, b2 being non empty set
for b3 being Function-like quasi_total Relation of [:b2,b2:],b2
for b4, b5 being Function-like quasi_total Relation of b1,b2
st b3 is commutative(b2)
holds b3 .:(b4,b5) = b3 .:(b5,b4);
:: FUNCOP_1:th 81
theorem
for b1, b2 being non empty set
for b3 being Function-like quasi_total Relation of [:b2,b2:],b2
for b4 being Function-like quasi_total Relation of b1,b2
st b3 is idempotent(b2)
holds b3 .:(b4,b4) = b4;
:: FUNCOP_1:th 82
theorem
for b1, b2 being non empty set
for b3 being Function-like quasi_total Relation of [:b1,b1:],b1
for b4 being Function-like quasi_total Relation of b2,b1
for b5 being Element of b2
st b3 is idempotent(b1)
holds (b3 [;](b4 . b5,b4)) . b5 = b4 . b5;
:: FUNCOP_1:th 83
theorem
for b1, b2 being non empty set
for b3 being Function-like quasi_total Relation of [:b1,b1:],b1
for b4 being Function-like quasi_total Relation of b2,b1
for b5 being Element of b2
st b3 is idempotent(b1)
holds (b3 [:](b4,b4 . b5)) . b5 = b4 . b5;
:: FUNCOP_1:th 84
theorem
for b1, b2, b3 being Relation-like Function-like set
st [:proj2 b2,proj2 b3:] c= proj1 b1
holds proj1 (b1 .:(b2,b3)) = (proj1 b2) /\ proj1 b3;
:: FUNCOP_1:attrnot 1 => FUNCOP_1:attr 1
definition
let a1 be Relation-like Function-like set;
attr a1 is Function-yielding means
for b1 being set
st b1 in proj1 a1
holds a1 . b1 is Relation-like Function-like set;
end;
:: FUNCOP_1:dfs 6
definiens
let a1 be Relation-like Function-like set;
To prove
a1 is Function-yielding
it is sufficient to prove
thus for b1 being set
st b1 in proj1 a1
holds a1 . b1 is Relation-like Function-like set;
:: FUNCOP_1:def 6
theorem
for b1 being Relation-like Function-like set holds
b1 is Function-yielding
iff
for b2 being set
st b2 in proj1 b1
holds b1 . b2 is Relation-like Function-like set;
:: FUNCOP_1:exreg 1
registration
cluster Relation-like Function-like Function-yielding set;
end;
:: FUNCOP_1:funcreg 7
registration
let a1 be Relation-like Function-like Function-yielding set;
let a2 be set;
cluster a1 . a2 -> Relation-like Function-like;
end;
:: FUNCOP_1:funcreg 8
registration
let a1 be Relation-like Function-like Function-yielding set;
let a2 be Relation-like Function-like set;
cluster a2 * a1 -> Relation-like Function-yielding;
end;
:: FUNCOP_1:funcreg 9
registration
let a1 be set;
let a2 be non empty set;
cluster a1 --> a2 -> non-empty;
end;
:: FUNCOP_1:th 85
theorem
for b1 being set
for b2, b3 being non empty set
for b4 being Element of b2
for b5 being Element of b3 holds
([:b2,b3:] --> b1) .(b4,b5) = b1;
:: FUNCOP_1:funcnot 13 => FUNCOP_1:func 13
definition
let a1, a2, a3 be set;
func (A1,A2).--> A3 -> Relation-like Function-like set equals
{[a1,a2]} --> a3;
end;
:: FUNCOP_1:def 7
theorem
for b1, b2, b3 being set holds
(b1,b2).--> b3 = {[b1,b2]} --> b3;
:: FUNCOP_1:th 86
theorem
for b1, b2, b3 being set holds
((b1,b2).--> b3) .(b1,b2) = b3;
:: FUNCOP_1:funcnot 14 => FUNCOP_1:func 14
definition
let a1, a2, a3, a4 be set;
func IFEQ(A1,A2,A3,A4) -> set equals
a3
if a1 = a2
otherwise a4;
end;
:: FUNCOP_1:def 8
theorem
for b1, b2, b3, b4 being set holds
(b1 = b2 implies IFEQ(b1,b2,b3,b4) = b3) & (b1 = b2 or IFEQ(b1,b2,b3,b4) = b4);
:: FUNCOP_1:funcnot 15 => FUNCOP_1:func 15
definition
let a1, a2, a3 be set;
let a4, a5 be Element of a1;
redefine func IFEQ(a2,a3,a4,a5) -> Element of a1;
end;
:: FUNCOP_1:funcnot 16 => FUNCOP_1:func 16
definition
let a1, a2 be set;
func A1 .--> A2 -> set equals
{a1} --> a2;
end;
:: FUNCOP_1:def 9
theorem
for b1, b2 being set holds
b1 .--> b2 = {b1} --> b2;
:: FUNCOP_1:funcreg 10
registration
let a1, a2 be set;
cluster a1 .--> a2 -> Relation-like Function-like;
end;
:: FUNCOP_1:funcreg 11
registration
let a1, a2 be set;
cluster a1 .--> a2 -> one-to-one;
end;
:: FUNCOP_1:th 87
theorem
for b1, b2 being set holds
(b1 .--> b2) . b1 = b2;
:: FUNCOP_1:th 88
theorem
for b1, b2 being set
for b3 being Relation-like Function-like set holds
b1 .--> b2 c= b3
iff
b1 in proj1 b3 & b3 . b1 = b2;
:: FUNCOP_1:funcnot 17 => FUNCOP_1:func 13
notation
let a1, a2, a3 be set;
synonym (a1,a2):-> a3 for (a1,a2).--> a3;
end;
:: FUNCOP_1:funcnot 18 => FUNCOP_1:func 17
definition
let a1, a2, a3 be set;
redefine func (A1,A2):-> A3 -> Function-like quasi_total Relation of [:{a1},{a2}:],{a3} means
TRUE;
end;
:: FUNCOP_1:def 10
theorem
for b1, b2, b3 being set
for b4 being Function-like quasi_total Relation of [:{b1},{b2}:],{b3} holds
(b4 = (b1,b2):-> b3 implies TRUE) & b4 = (b1,b2):-> b3;