| Step |
Hyp |
Ref |
Expression |
| 1 |
|
ffvelcdm |
|- ( ( F : A --> ( C ^m B ) /\ x e. A ) -> ( F ` x ) e. ( C ^m B ) ) |
| 2 |
|
elmapi |
|- ( ( F ` x ) e. ( C ^m B ) -> ( F ` x ) : B --> C ) |
| 3 |
1 2
|
syl |
|- ( ( F : A --> ( C ^m B ) /\ x e. A ) -> ( F ` x ) : B --> C ) |
| 4 |
3
|
ffvelcdmda |
|- ( ( ( F : A --> ( C ^m B ) /\ x e. A ) /\ y e. B ) -> ( ( F ` x ) ` y ) e. C ) |
| 5 |
4
|
anasss |
|- ( ( F : A --> ( C ^m B ) /\ ( x e. A /\ y e. B ) ) -> ( ( F ` x ) ` y ) e. C ) |
| 6 |
5
|
ralrimivva |
|- ( F : A --> ( C ^m B ) -> A. x e. A A. y e. B ( ( F ` x ) ` y ) e. C ) |
| 7 |
|
df-unc |
|- uncurry F = { <. <. x , y >. , z >. | y ( F ` x ) z } |
| 8 |
|
df-br |
|- ( y ( F ` x ) z <-> <. y , z >. e. ( F ` x ) ) |
| 9 |
|
elfvdm |
|- ( <. y , z >. e. ( F ` x ) -> x e. dom F ) |
| 10 |
8 9
|
sylbi |
|- ( y ( F ` x ) z -> x e. dom F ) |
| 11 |
|
fdm |
|- ( F : A --> ( C ^m B ) -> dom F = A ) |
| 12 |
11
|
eleq2d |
|- ( F : A --> ( C ^m B ) -> ( x e. dom F <-> x e. A ) ) |
| 13 |
10 12
|
imbitrid |
|- ( F : A --> ( C ^m B ) -> ( y ( F ` x ) z -> x e. A ) ) |
| 14 |
13
|
pm4.71rd |
|- ( F : A --> ( C ^m B ) -> ( y ( F ` x ) z <-> ( x e. A /\ y ( F ` x ) z ) ) ) |
| 15 |
|
elmapfun |
|- ( ( F ` x ) e. ( C ^m B ) -> Fun ( F ` x ) ) |
| 16 |
|
funbrfv2b |
|- ( Fun ( F ` x ) -> ( y ( F ` x ) z <-> ( y e. dom ( F ` x ) /\ ( ( F ` x ) ` y ) = z ) ) ) |
| 17 |
1 15 16
|
3syl |
|- ( ( F : A --> ( C ^m B ) /\ x e. A ) -> ( y ( F ` x ) z <-> ( y e. dom ( F ` x ) /\ ( ( F ` x ) ` y ) = z ) ) ) |
| 18 |
|
fdm |
|- ( ( F ` x ) : B --> C -> dom ( F ` x ) = B ) |
| 19 |
1 2 18
|
3syl |
|- ( ( F : A --> ( C ^m B ) /\ x e. A ) -> dom ( F ` x ) = B ) |
| 20 |
19
|
eleq2d |
|- ( ( F : A --> ( C ^m B ) /\ x e. A ) -> ( y e. dom ( F ` x ) <-> y e. B ) ) |
| 21 |
|
eqcom |
|- ( ( ( F ` x ) ` y ) = z <-> z = ( ( F ` x ) ` y ) ) |
| 22 |
21
|
a1i |
|- ( ( F : A --> ( C ^m B ) /\ x e. A ) -> ( ( ( F ` x ) ` y ) = z <-> z = ( ( F ` x ) ` y ) ) ) |
| 23 |
20 22
|
anbi12d |
|- ( ( F : A --> ( C ^m B ) /\ x e. A ) -> ( ( y e. dom ( F ` x ) /\ ( ( F ` x ) ` y ) = z ) <-> ( y e. B /\ z = ( ( F ` x ) ` y ) ) ) ) |
| 24 |
17 23
|
bitrd |
|- ( ( F : A --> ( C ^m B ) /\ x e. A ) -> ( y ( F ` x ) z <-> ( y e. B /\ z = ( ( F ` x ) ` y ) ) ) ) |
| 25 |
24
|
pm5.32da |
|- ( F : A --> ( C ^m B ) -> ( ( x e. A /\ y ( F ` x ) z ) <-> ( x e. A /\ ( y e. B /\ z = ( ( F ` x ) ` y ) ) ) ) ) |
| 26 |
14 25
|
bitrd |
|- ( F : A --> ( C ^m B ) -> ( y ( F ` x ) z <-> ( x e. A /\ ( y e. B /\ z = ( ( F ` x ) ` y ) ) ) ) ) |
| 27 |
|
anass |
|- ( ( ( x e. A /\ y e. B ) /\ z = ( ( F ` x ) ` y ) ) <-> ( x e. A /\ ( y e. B /\ z = ( ( F ` x ) ` y ) ) ) ) |
| 28 |
26 27
|
bitr4di |
|- ( F : A --> ( C ^m B ) -> ( y ( F ` x ) z <-> ( ( x e. A /\ y e. B ) /\ z = ( ( F ` x ) ` y ) ) ) ) |
| 29 |
28
|
oprabbidv |
|- ( F : A --> ( C ^m B ) -> { <. <. x , y >. , z >. | y ( F ` x ) z } = { <. <. x , y >. , z >. | ( ( x e. A /\ y e. B ) /\ z = ( ( F ` x ) ` y ) ) } ) |
| 30 |
7 29
|
eqtrid |
|- ( F : A --> ( C ^m B ) -> uncurry F = { <. <. x , y >. , z >. | ( ( x e. A /\ y e. B ) /\ z = ( ( F ` x ) ` y ) ) } ) |
| 31 |
30
|
feq1d |
|- ( F : A --> ( C ^m B ) -> ( uncurry F : ( A X. B ) --> C <-> { <. <. x , y >. , z >. | ( ( x e. A /\ y e. B ) /\ z = ( ( F ` x ) ` y ) ) } : ( A X. B ) --> C ) ) |
| 32 |
|
df-mpo |
|- ( x e. A , y e. B |-> ( ( F ` x ) ` y ) ) = { <. <. x , y >. , z >. | ( ( x e. A /\ y e. B ) /\ z = ( ( F ` x ) ` y ) ) } |
| 33 |
32
|
eqcomi |
|- { <. <. x , y >. , z >. | ( ( x e. A /\ y e. B ) /\ z = ( ( F ` x ) ` y ) ) } = ( x e. A , y e. B |-> ( ( F ` x ) ` y ) ) |
| 34 |
33
|
fmpo |
|- ( A. x e. A A. y e. B ( ( F ` x ) ` y ) e. C <-> { <. <. x , y >. , z >. | ( ( x e. A /\ y e. B ) /\ z = ( ( F ` x ) ` y ) ) } : ( A X. B ) --> C ) |
| 35 |
31 34
|
bitr4di |
|- ( F : A --> ( C ^m B ) -> ( uncurry F : ( A X. B ) --> C <-> A. x e. A A. y e. B ( ( F ` x ) ` y ) e. C ) ) |
| 36 |
6 35
|
mpbird |
|- ( F : A --> ( C ^m B ) -> uncurry F : ( A X. B ) --> C ) |