| Step |
Hyp |
Ref |
Expression |
| 1 |
|
mpocurryd.f |
|- F = ( x e. X , y e. Y |-> C ) |
| 2 |
|
mpocurryd.c |
|- ( ph -> A. x e. X A. y e. Y C e. V ) |
| 3 |
|
mpocurryd.n |
|- ( ph -> Y =/= (/) ) |
| 4 |
|
df-cur |
|- curry F = ( x e. dom dom F |-> { <. y , z >. | <. x , y >. F z } ) |
| 5 |
1
|
dmmpoga |
|- ( A. x e. X A. y e. Y C e. V -> dom F = ( X X. Y ) ) |
| 6 |
2 5
|
syl |
|- ( ph -> dom F = ( X X. Y ) ) |
| 7 |
6
|
dmeqd |
|- ( ph -> dom dom F = dom ( X X. Y ) ) |
| 8 |
|
dmxp |
|- ( Y =/= (/) -> dom ( X X. Y ) = X ) |
| 9 |
3 8
|
syl |
|- ( ph -> dom ( X X. Y ) = X ) |
| 10 |
7 9
|
eqtrd |
|- ( ph -> dom dom F = X ) |
| 11 |
10
|
mpteq1d |
|- ( ph -> ( x e. dom dom F |-> { <. y , z >. | <. x , y >. F z } ) = ( x e. X |-> { <. y , z >. | <. x , y >. F z } ) ) |
| 12 |
|
df-mpt |
|- ( y e. Y |-> C ) = { <. y , z >. | ( y e. Y /\ z = C ) } |
| 13 |
1
|
mpofun |
|- Fun F |
| 14 |
|
funbrfv2b |
|- ( Fun F -> ( <. x , y >. F z <-> ( <. x , y >. e. dom F /\ ( F ` <. x , y >. ) = z ) ) ) |
| 15 |
13 14
|
mp1i |
|- ( ( ph /\ x e. X ) -> ( <. x , y >. F z <-> ( <. x , y >. e. dom F /\ ( F ` <. x , y >. ) = z ) ) ) |
| 16 |
6
|
adantr |
|- ( ( ph /\ x e. X ) -> dom F = ( X X. Y ) ) |
| 17 |
16
|
eleq2d |
|- ( ( ph /\ x e. X ) -> ( <. x , y >. e. dom F <-> <. x , y >. e. ( X X. Y ) ) ) |
| 18 |
|
opelxp |
|- ( <. x , y >. e. ( X X. Y ) <-> ( x e. X /\ y e. Y ) ) |
| 19 |
17 18
|
bitrdi |
|- ( ( ph /\ x e. X ) -> ( <. x , y >. e. dom F <-> ( x e. X /\ y e. Y ) ) ) |
| 20 |
19
|
anbi1d |
|- ( ( ph /\ x e. X ) -> ( ( <. x , y >. e. dom F /\ ( F ` <. x , y >. ) = z ) <-> ( ( x e. X /\ y e. Y ) /\ ( F ` <. x , y >. ) = z ) ) ) |
| 21 |
|
an21 |
|- ( ( ( x e. X /\ y e. Y ) /\ ( F ` <. x , y >. ) = z ) <-> ( y e. Y /\ ( x e. X /\ ( F ` <. x , y >. ) = z ) ) ) |
| 22 |
|
ibar |
|- ( x e. X -> ( ( F ` <. x , y >. ) = z <-> ( x e. X /\ ( F ` <. x , y >. ) = z ) ) ) |
| 23 |
22
|
bicomd |
|- ( x e. X -> ( ( x e. X /\ ( F ` <. x , y >. ) = z ) <-> ( F ` <. x , y >. ) = z ) ) |
| 24 |
23
|
adantl |
|- ( ( ph /\ x e. X ) -> ( ( x e. X /\ ( F ` <. x , y >. ) = z ) <-> ( F ` <. x , y >. ) = z ) ) |
| 25 |
24
|
adantr |
|- ( ( ( ph /\ x e. X ) /\ y e. Y ) -> ( ( x e. X /\ ( F ` <. x , y >. ) = z ) <-> ( F ` <. x , y >. ) = z ) ) |
| 26 |
|
df-ov |
|- ( x F y ) = ( F ` <. x , y >. ) |
| 27 |
|
nfcv |
|- F/_ a C |
| 28 |
|
nfcv |
|- F/_ b C |
| 29 |
|
nfcv |
|- F/_ x b |
| 30 |
|
nfcsb1v |
|- F/_ x [_ a / x ]_ C |
| 31 |
29 30
|
nfcsbw |
|- F/_ x [_ b / y ]_ [_ a / x ]_ C |
| 32 |
|
nfcsb1v |
|- F/_ y [_ b / y ]_ [_ a / x ]_ C |
| 33 |
|
csbeq1a |
|- ( x = a -> C = [_ a / x ]_ C ) |
| 34 |
|
csbeq1a |
|- ( y = b -> [_ a / x ]_ C = [_ b / y ]_ [_ a / x ]_ C ) |
| 35 |
33 34
|
sylan9eq |
|- ( ( x = a /\ y = b ) -> C = [_ b / y ]_ [_ a / x ]_ C ) |
| 36 |
27 28 31 32 35
|
cbvmpo |
|- ( x e. X , y e. Y |-> C ) = ( a e. X , b e. Y |-> [_ b / y ]_ [_ a / x ]_ C ) |
| 37 |
1 36
|
eqtri |
|- F = ( a e. X , b e. Y |-> [_ b / y ]_ [_ a / x ]_ C ) |
| 38 |
37
|
a1i |
|- ( ( ( ph /\ x e. X ) /\ y e. Y ) -> F = ( a e. X , b e. Y |-> [_ b / y ]_ [_ a / x ]_ C ) ) |
| 39 |
33
|
eqcomd |
|- ( x = a -> [_ a / x ]_ C = C ) |
| 40 |
39
|
equcoms |
|- ( a = x -> [_ a / x ]_ C = C ) |
| 41 |
40
|
csbeq2dv |
|- ( a = x -> [_ b / y ]_ [_ a / x ]_ C = [_ b / y ]_ C ) |
| 42 |
|
csbeq1a |
|- ( y = b -> C = [_ b / y ]_ C ) |
| 43 |
42
|
eqcomd |
|- ( y = b -> [_ b / y ]_ C = C ) |
| 44 |
43
|
equcoms |
|- ( b = y -> [_ b / y ]_ C = C ) |
| 45 |
41 44
|
sylan9eq |
|- ( ( a = x /\ b = y ) -> [_ b / y ]_ [_ a / x ]_ C = C ) |
| 46 |
45
|
adantl |
|- ( ( ( ( ph /\ x e. X ) /\ y e. Y ) /\ ( a = x /\ b = y ) ) -> [_ b / y ]_ [_ a / x ]_ C = C ) |
| 47 |
|
simpr |
|- ( ( ph /\ x e. X ) -> x e. X ) |
| 48 |
47
|
adantr |
|- ( ( ( ph /\ x e. X ) /\ y e. Y ) -> x e. X ) |
| 49 |
|
simpr |
|- ( ( ( ph /\ x e. X ) /\ y e. Y ) -> y e. Y ) |
| 50 |
|
rsp2 |
|- ( A. x e. X A. y e. Y C e. V -> ( ( x e. X /\ y e. Y ) -> C e. V ) ) |
| 51 |
2 50
|
syl |
|- ( ph -> ( ( x e. X /\ y e. Y ) -> C e. V ) ) |
| 52 |
51
|
impl |
|- ( ( ( ph /\ x e. X ) /\ y e. Y ) -> C e. V ) |
| 53 |
38 46 48 49 52
|
ovmpod |
|- ( ( ( ph /\ x e. X ) /\ y e. Y ) -> ( x F y ) = C ) |
| 54 |
26 53
|
eqtr3id |
|- ( ( ( ph /\ x e. X ) /\ y e. Y ) -> ( F ` <. x , y >. ) = C ) |
| 55 |
54
|
eqeq1d |
|- ( ( ( ph /\ x e. X ) /\ y e. Y ) -> ( ( F ` <. x , y >. ) = z <-> C = z ) ) |
| 56 |
|
eqcom |
|- ( C = z <-> z = C ) |
| 57 |
55 56
|
bitrdi |
|- ( ( ( ph /\ x e. X ) /\ y e. Y ) -> ( ( F ` <. x , y >. ) = z <-> z = C ) ) |
| 58 |
25 57
|
bitrd |
|- ( ( ( ph /\ x e. X ) /\ y e. Y ) -> ( ( x e. X /\ ( F ` <. x , y >. ) = z ) <-> z = C ) ) |
| 59 |
58
|
pm5.32da |
|- ( ( ph /\ x e. X ) -> ( ( y e. Y /\ ( x e. X /\ ( F ` <. x , y >. ) = z ) ) <-> ( y e. Y /\ z = C ) ) ) |
| 60 |
21 59
|
bitrid |
|- ( ( ph /\ x e. X ) -> ( ( ( x e. X /\ y e. Y ) /\ ( F ` <. x , y >. ) = z ) <-> ( y e. Y /\ z = C ) ) ) |
| 61 |
15 20 60
|
3bitrrd |
|- ( ( ph /\ x e. X ) -> ( ( y e. Y /\ z = C ) <-> <. x , y >. F z ) ) |
| 62 |
61
|
opabbidv |
|- ( ( ph /\ x e. X ) -> { <. y , z >. | ( y e. Y /\ z = C ) } = { <. y , z >. | <. x , y >. F z } ) |
| 63 |
12 62
|
eqtr2id |
|- ( ( ph /\ x e. X ) -> { <. y , z >. | <. x , y >. F z } = ( y e. Y |-> C ) ) |
| 64 |
63
|
mpteq2dva |
|- ( ph -> ( x e. X |-> { <. y , z >. | <. x , y >. F z } ) = ( x e. X |-> ( y e. Y |-> C ) ) ) |
| 65 |
11 64
|
eqtrd |
|- ( ph -> ( x e. dom dom F |-> { <. y , z >. | <. x , y >. F z } ) = ( x e. X |-> ( y e. Y |-> C ) ) ) |
| 66 |
4 65
|
eqtrid |
|- ( ph -> curry F = ( x e. X |-> ( y e. Y |-> C ) ) ) |