:: FUNCT_5 semantic presentation
theorem Th1: :: FUNCT_5:1
definition
let c1 be
set ;
func proj1 c1 -> set means :
Def1:
:: FUNCT_5:def 1
for
b1 being
set holds
(
b1 in a2 iff ex
b2 being
set st
[b1,b2] in a1 );
existence
ex b1 being set st
for b2 being set holds
( b2 in b1 iff ex b3 being set st [b2,b3] in c1 )
uniqueness
for b1, b2 being set st ( for b3 being set holds
( b3 in b1 iff ex b4 being set st [b3,b4] in c1 ) ) & ( for b3 being set holds
( b3 in b2 iff ex b4 being set st [b3,b4] in c1 ) ) holds
b1 = b2
func proj2 c1 -> set means :
Def2:
:: FUNCT_5:def 2
for
b1 being
set holds
(
b1 in a2 iff ex
b2 being
set st
[b2,b1] in a1 );
existence
ex b1 being set st
for b2 being set holds
( b2 in b1 iff ex b3 being set st [b3,b2] in c1 )
uniqueness
for b1, b2 being set st ( for b3 being set holds
( b3 in b1 iff ex b4 being set st [b4,b3] in c1 ) ) & ( for b3 being set holds
( b3 in b2 iff ex b4 being set st [b4,b3] in c1 ) ) holds
b1 = b2
end;
:: deftheorem Def1 defines proj1 FUNCT_5:def 1 :
for
b1,
b2 being
set holds
(
b2 = proj1 b1 iff for
b3 being
set holds
(
b3 in b2 iff ex
b4 being
set st
[b3,b4] in b1 ) );
:: deftheorem Def2 defines proj2 FUNCT_5:def 2 :
for
b1,
b2 being
set holds
(
b2 = proj2 b1 iff for
b3 being
set holds
(
b3 in b2 iff ex
b4 being
set st
[b4,b3] in b1 ) );
theorem Th2: :: FUNCT_5:2
canceled;
theorem Th3: :: FUNCT_5:3
canceled;
theorem Th4: :: FUNCT_5:4
theorem Th5: :: FUNCT_5:5
theorem Th6: :: FUNCT_5:6
theorem Th7: :: FUNCT_5:7
theorem Th8: :: FUNCT_5:8
theorem Th9: :: FUNCT_5:9
theorem Th10: :: FUNCT_5:10
theorem Th11: :: FUNCT_5:11
theorem Th12: :: FUNCT_5:12
theorem Th13: :: FUNCT_5:13
theorem Th14: :: FUNCT_5:14
canceled;
theorem Th15: :: FUNCT_5:15
theorem Th16: :: FUNCT_5:16
for
b1,
b2,
b3,
b4 being
set holds
(
proj1 {[b1,b2],[b3,b4]} = {b1,b3} &
proj2 {[b1,b2],[b3,b4]} = {b2,b4} )
theorem Th17: :: FUNCT_5:17
theorem Th18: :: FUNCT_5:18
theorem Th19: :: FUNCT_5:19
theorem Th20: :: FUNCT_5:20
theorem Th21: :: FUNCT_5:21
definition
let c1 be
Function;
func curry c1 -> Function means :
Def3:
:: FUNCT_5:def 3
(
dom a2 = proj1 (dom a1) & ( for
b1 being
set st
b1 in proj1 (dom a1) holds
ex
b2 being
Function st
(
a2 . b1 = b2 &
dom b2 = proj2 ((dom a1) /\ [:{b1},(proj2 (dom a1)):]) & ( for
b3 being
set st
b3 in dom b2 holds
b2 . b3 = a1 . [b1,b3] ) ) ) );
existence
ex b1 being Function st
( dom b1 = proj1 (dom c1) & ( for b2 being set st b2 in proj1 (dom c1) holds
ex b3 being Function st
( b1 . b2 = b3 & dom b3 = proj2 ((dom c1) /\ [:{b2},(proj2 (dom c1)):]) & ( for b4 being set st b4 in dom b3 holds
b3 . b4 = c1 . [b2,b4] ) ) ) )
uniqueness
for b1, b2 being Function st dom b1 = proj1 (dom c1) & ( for b3 being set st b3 in proj1 (dom c1) holds
ex b4 being Function st
( b1 . b3 = b4 & dom b4 = proj2 ((dom c1) /\ [:{b3},(proj2 (dom c1)):]) & ( for b5 being set st b5 in dom b4 holds
b4 . b5 = c1 . [b3,b5] ) ) ) & dom b2 = proj1 (dom c1) & ( for b3 being set st b3 in proj1 (dom c1) holds
ex b4 being Function st
( b2 . b3 = b4 & dom b4 = proj2 ((dom c1) /\ [:{b3},(proj2 (dom c1)):]) & ( for b5 being set st b5 in dom b4 holds
b4 . b5 = c1 . [b3,b5] ) ) ) holds
b1 = b2
func uncurry c1 -> Function means :
Def4:
:: FUNCT_5:def 4
( ( for
b1 being
set holds
(
b1 in dom a2 iff ex
b2 being
set ex
b3 being
Functionex
b4 being
set st
(
b1 = [b2,b4] &
b2 in dom a1 &
b3 = a1 . b2 &
b4 in dom b3 ) ) ) & ( for
b1 being
set for
b2 being
Function st
b1 in dom a2 &
b2 = a1 . (b1 `1 ) holds
a2 . b1 = b2 . (b1 `2 ) ) );
existence
ex b1 being Function st
( ( for b2 being set holds
( b2 in dom b1 iff ex b3 being set ex b4 being Functionex b5 being set st
( b2 = [b3,b5] & b3 in dom c1 & b4 = c1 . b3 & b5 in dom b4 ) ) ) & ( for b2 being set
for b3 being Function st b2 in dom b1 & b3 = c1 . (b2 `1 ) holds
b1 . b2 = b3 . (b2 `2 ) ) )
uniqueness
for b1, b2 being Function st ( for b3 being set holds
( b3 in dom b1 iff ex b4 being set ex b5 being Functionex b6 being set st
( b3 = [b4,b6] & b4 in dom c1 & b5 = c1 . b4 & b6 in dom b5 ) ) ) & ( for b3 being set
for b4 being Function st b3 in dom b1 & b4 = c1 . (b3 `1 ) holds
b1 . b3 = b4 . (b3 `2 ) ) & ( for b3 being set holds
( b3 in dom b2 iff ex b4 being set ex b5 being Functionex b6 being set st
( b3 = [b4,b6] & b4 in dom c1 & b5 = c1 . b4 & b6 in dom b5 ) ) ) & ( for b3 being set
for b4 being Function st b3 in dom b2 & b4 = c1 . (b3 `1 ) holds
b2 . b3 = b4 . (b3 `2 ) ) holds
b1 = b2
end;
:: deftheorem Def3 defines curry FUNCT_5:def 3 :
:: deftheorem Def4 defines uncurry FUNCT_5:def 4 :
:: deftheorem Def5 defines curry' FUNCT_5:def 5 :
:: deftheorem Def6 defines uncurry' FUNCT_5:def 6 :
theorem Th22: :: FUNCT_5:22
canceled;
theorem Th23: :: FUNCT_5:23
canceled;
theorem Th24: :: FUNCT_5:24
canceled;
theorem Th25: :: FUNCT_5:25
canceled;
theorem Th26: :: FUNCT_5:26
theorem Th27: :: FUNCT_5:27
theorem Th28: :: FUNCT_5:28
theorem Th29: :: FUNCT_5:29
theorem Th30: :: FUNCT_5:30
theorem Th31: :: FUNCT_5:31
theorem Th32: :: FUNCT_5:32
theorem Th33: :: FUNCT_5:33
theorem Th34: :: FUNCT_5:34
theorem Th35: :: FUNCT_5:35
theorem Th36: :: FUNCT_5:36
theorem Th37: :: FUNCT_5:37
theorem Th38: :: FUNCT_5:38
theorem Th39: :: FUNCT_5:39
theorem Th40: :: FUNCT_5:40
theorem Th41: :: FUNCT_5:41
theorem Th42: :: FUNCT_5:42
theorem Th43: :: FUNCT_5:43
theorem Th44: :: FUNCT_5:44
theorem Th45: :: FUNCT_5:45
theorem Th46: :: FUNCT_5:46
theorem Th47: :: FUNCT_5:47
theorem Th48: :: FUNCT_5:48
theorem Th49: :: FUNCT_5:49
theorem Th50: :: FUNCT_5:50
theorem Th51: :: FUNCT_5:51
theorem Th52: :: FUNCT_5:52
theorem Th53: :: FUNCT_5:53
theorem Th54: :: FUNCT_5:54
theorem Th55: :: FUNCT_5:55
theorem Th56: :: FUNCT_5:56
theorem Th57: :: FUNCT_5:57
theorem Th58: :: FUNCT_5:58
theorem Th59: :: FUNCT_5:59
theorem Th60: :: FUNCT_5:60
theorem Th61: :: FUNCT_5:61
theorem Th62: :: FUNCT_5:62
theorem Th63: :: FUNCT_5:63
theorem Th64: :: FUNCT_5:64
theorem Th65: :: FUNCT_5:65
theorem Th66: :: FUNCT_5:66
theorem Th67: :: FUNCT_5:67
for
b1,
b2,
b3,
b4 being
set st
b1,
b2 are_equipotent &
b3,
b4 are_equipotent holds
(
Funcs b1,
b3,
Funcs b2,
b4 are_equipotent &
Card (Funcs b1,b3) = Card (Funcs b2,b4) )
theorem Th68: :: FUNCT_5:68
theorem Th69: :: FUNCT_5:69
for
b1,
b2,
b3 being
set st
b1 misses b2 holds
(
Funcs (b1 \/ b2),
b3,
[:(Funcs b1,b3),(Funcs b2,b3):] are_equipotent &
Card (Funcs (b1 \/ b2),b3) = Card [:(Funcs b1,b3),(Funcs b2,b3):] )
theorem Th70: :: FUNCT_5:70
for
b1,
b2,
b3 being
set holds
(
Funcs [:b1,b2:],
b3,
Funcs b1,
(Funcs b2,b3) are_equipotent &
Card (Funcs [:b1,b2:],b3) = Card (Funcs b1,(Funcs b2,b3)) )
theorem Th71: :: FUNCT_5:71
for
b1,
b2,
b3 being
set holds
(
Funcs b1,
[:b2,b3:],
[:(Funcs b1,b2),(Funcs b1,b3):] are_equipotent &
Card (Funcs b1,[:b2,b3:]) = Card [:(Funcs b1,b2),(Funcs b1,b3):] )
theorem Th72: :: FUNCT_5:72
theorem Th73: :: FUNCT_5:73