| Step |
Hyp |
Ref |
Expression |
| 1 |
|
fmptcof2.x |
|- F/_ x S |
| 2 |
|
fmptcof2.y |
|- F/_ y T |
| 3 |
|
fmptcof2.1 |
|- F/_ x A |
| 4 |
|
fmptcof2.2 |
|- F/_ x B |
| 5 |
|
fmptcof2.3 |
|- F/ x ph |
| 6 |
|
fmptcof2.4 |
|- ( ph -> A. x e. A R e. B ) |
| 7 |
|
fmptcof2.5 |
|- ( ph -> F = ( x e. A |-> R ) ) |
| 8 |
|
fmptcof2.6 |
|- ( ph -> G = ( y e. B |-> S ) ) |
| 9 |
|
fmptcof2.7 |
|- ( y = R -> S = T ) |
| 10 |
|
relco |
|- Rel ( G o. F ) |
| 11 |
|
mptrel |
|- Rel ( x e. A |-> T ) |
| 12 |
6
|
r19.21bi |
|- ( ( ph /\ x e. A ) -> R e. B ) |
| 13 |
|
eqid |
|- ( x e. A |-> R ) = ( x e. A |-> R ) |
| 14 |
5 3 4 12 13
|
fmptdF |
|- ( ph -> ( x e. A |-> R ) : A --> B ) |
| 15 |
7
|
feq1d |
|- ( ph -> ( F : A --> B <-> ( x e. A |-> R ) : A --> B ) ) |
| 16 |
14 15
|
mpbird |
|- ( ph -> F : A --> B ) |
| 17 |
16
|
ffund |
|- ( ph -> Fun F ) |
| 18 |
|
funbrfv |
|- ( Fun F -> ( z F u -> ( F ` z ) = u ) ) |
| 19 |
18
|
imp |
|- ( ( Fun F /\ z F u ) -> ( F ` z ) = u ) |
| 20 |
17 19
|
sylan |
|- ( ( ph /\ z F u ) -> ( F ` z ) = u ) |
| 21 |
20
|
eqcomd |
|- ( ( ph /\ z F u ) -> u = ( F ` z ) ) |
| 22 |
21
|
a1d |
|- ( ( ph /\ z F u ) -> ( u G w -> u = ( F ` z ) ) ) |
| 23 |
22
|
expimpd |
|- ( ph -> ( ( z F u /\ u G w ) -> u = ( F ` z ) ) ) |
| 24 |
23
|
pm4.71rd |
|- ( ph -> ( ( z F u /\ u G w ) <-> ( u = ( F ` z ) /\ ( z F u /\ u G w ) ) ) ) |
| 25 |
24
|
exbidv |
|- ( ph -> ( E. u ( z F u /\ u G w ) <-> E. u ( u = ( F ` z ) /\ ( z F u /\ u G w ) ) ) ) |
| 26 |
|
fvex |
|- ( F ` z ) e. _V |
| 27 |
|
breq2 |
|- ( u = ( F ` z ) -> ( z F u <-> z F ( F ` z ) ) ) |
| 28 |
|
breq1 |
|- ( u = ( F ` z ) -> ( u G w <-> ( F ` z ) G w ) ) |
| 29 |
27 28
|
anbi12d |
|- ( u = ( F ` z ) -> ( ( z F u /\ u G w ) <-> ( z F ( F ` z ) /\ ( F ` z ) G w ) ) ) |
| 30 |
26 29
|
ceqsexv |
|- ( E. u ( u = ( F ` z ) /\ ( z F u /\ u G w ) ) <-> ( z F ( F ` z ) /\ ( F ` z ) G w ) ) |
| 31 |
|
funfvbrb |
|- ( Fun F -> ( z e. dom F <-> z F ( F ` z ) ) ) |
| 32 |
17 31
|
syl |
|- ( ph -> ( z e. dom F <-> z F ( F ` z ) ) ) |
| 33 |
16
|
fdmd |
|- ( ph -> dom F = A ) |
| 34 |
33
|
eleq2d |
|- ( ph -> ( z e. dom F <-> z e. A ) ) |
| 35 |
32 34
|
bitr3d |
|- ( ph -> ( z F ( F ` z ) <-> z e. A ) ) |
| 36 |
7
|
fveq1d |
|- ( ph -> ( F ` z ) = ( ( x e. A |-> R ) ` z ) ) |
| 37 |
|
eqidd |
|- ( ph -> w = w ) |
| 38 |
36 8 37
|
breq123d |
|- ( ph -> ( ( F ` z ) G w <-> ( ( x e. A |-> R ) ` z ) ( y e. B |-> S ) w ) ) |
| 39 |
35 38
|
anbi12d |
|- ( ph -> ( ( z F ( F ` z ) /\ ( F ` z ) G w ) <-> ( z e. A /\ ( ( x e. A |-> R ) ` z ) ( y e. B |-> S ) w ) ) ) |
| 40 |
3
|
nfcri |
|- F/ x z e. A |
| 41 |
|
nffvmpt1 |
|- F/_ x ( ( x e. A |-> R ) ` z ) |
| 42 |
4 1
|
nfmpt |
|- F/_ x ( y e. B |-> S ) |
| 43 |
|
nfcv |
|- F/_ x w |
| 44 |
41 42 43
|
nfbr |
|- F/ x ( ( x e. A |-> R ) ` z ) ( y e. B |-> S ) w |
| 45 |
|
nfcsb1v |
|- F/_ x [_ z / x ]_ T |
| 46 |
45
|
nfeq2 |
|- F/ x w = [_ z / x ]_ T |
| 47 |
44 46
|
nfbi |
|- F/ x ( ( ( x e. A |-> R ) ` z ) ( y e. B |-> S ) w <-> w = [_ z / x ]_ T ) |
| 48 |
5 47
|
nfim |
|- F/ x ( ph -> ( ( ( x e. A |-> R ) ` z ) ( y e. B |-> S ) w <-> w = [_ z / x ]_ T ) ) |
| 49 |
40 48
|
nfim |
|- F/ x ( z e. A -> ( ph -> ( ( ( x e. A |-> R ) ` z ) ( y e. B |-> S ) w <-> w = [_ z / x ]_ T ) ) ) |
| 50 |
|
eleq1w |
|- ( x = z -> ( x e. A <-> z e. A ) ) |
| 51 |
|
fveq2 |
|- ( x = z -> ( ( x e. A |-> R ) ` x ) = ( ( x e. A |-> R ) ` z ) ) |
| 52 |
51
|
breq1d |
|- ( x = z -> ( ( ( x e. A |-> R ) ` x ) ( y e. B |-> S ) w <-> ( ( x e. A |-> R ) ` z ) ( y e. B |-> S ) w ) ) |
| 53 |
|
csbeq1a |
|- ( x = z -> T = [_ z / x ]_ T ) |
| 54 |
53
|
eqeq2d |
|- ( x = z -> ( w = T <-> w = [_ z / x ]_ T ) ) |
| 55 |
52 54
|
bibi12d |
|- ( x = z -> ( ( ( ( x e. A |-> R ) ` x ) ( y e. B |-> S ) w <-> w = T ) <-> ( ( ( x e. A |-> R ) ` z ) ( y e. B |-> S ) w <-> w = [_ z / x ]_ T ) ) ) |
| 56 |
55
|
imbi2d |
|- ( x = z -> ( ( ph -> ( ( ( x e. A |-> R ) ` x ) ( y e. B |-> S ) w <-> w = T ) ) <-> ( ph -> ( ( ( x e. A |-> R ) ` z ) ( y e. B |-> S ) w <-> w = [_ z / x ]_ T ) ) ) ) |
| 57 |
50 56
|
imbi12d |
|- ( x = z -> ( ( x e. A -> ( ph -> ( ( ( x e. A |-> R ) ` x ) ( y e. B |-> S ) w <-> w = T ) ) ) <-> ( z e. A -> ( ph -> ( ( ( x e. A |-> R ) ` z ) ( y e. B |-> S ) w <-> w = [_ z / x ]_ T ) ) ) ) ) |
| 58 |
|
vex |
|- w e. _V |
| 59 |
|
nfv |
|- F/ y R e. B |
| 60 |
2
|
nfeq2 |
|- F/ y w = T |
| 61 |
59 60
|
nfan |
|- F/ y ( R e. B /\ w = T ) |
| 62 |
|
simpl |
|- ( ( y = R /\ u = w ) -> y = R ) |
| 63 |
62
|
eleq1d |
|- ( ( y = R /\ u = w ) -> ( y e. B <-> R e. B ) ) |
| 64 |
|
simpr |
|- ( ( y = R /\ u = w ) -> u = w ) |
| 65 |
9
|
adantr |
|- ( ( y = R /\ u = w ) -> S = T ) |
| 66 |
64 65
|
eqeq12d |
|- ( ( y = R /\ u = w ) -> ( u = S <-> w = T ) ) |
| 67 |
63 66
|
anbi12d |
|- ( ( y = R /\ u = w ) -> ( ( y e. B /\ u = S ) <-> ( R e. B /\ w = T ) ) ) |
| 68 |
|
df-mpt |
|- ( y e. B |-> S ) = { <. y , u >. | ( y e. B /\ u = S ) } |
| 69 |
61 67 68
|
brabgaf |
|- ( ( R e. B /\ w e. _V ) -> ( R ( y e. B |-> S ) w <-> ( R e. B /\ w = T ) ) ) |
| 70 |
12 58 69
|
sylancl |
|- ( ( ph /\ x e. A ) -> ( R ( y e. B |-> S ) w <-> ( R e. B /\ w = T ) ) ) |
| 71 |
|
simpr |
|- ( ( ph /\ x e. A ) -> x e. A ) |
| 72 |
3
|
fvmpt2f |
|- ( ( x e. A /\ R e. B ) -> ( ( x e. A |-> R ) ` x ) = R ) |
| 73 |
71 12 72
|
syl2anc |
|- ( ( ph /\ x e. A ) -> ( ( x e. A |-> R ) ` x ) = R ) |
| 74 |
73
|
breq1d |
|- ( ( ph /\ x e. A ) -> ( ( ( x e. A |-> R ) ` x ) ( y e. B |-> S ) w <-> R ( y e. B |-> S ) w ) ) |
| 75 |
12
|
biantrurd |
|- ( ( ph /\ x e. A ) -> ( w = T <-> ( R e. B /\ w = T ) ) ) |
| 76 |
70 74 75
|
3bitr4d |
|- ( ( ph /\ x e. A ) -> ( ( ( x e. A |-> R ) ` x ) ( y e. B |-> S ) w <-> w = T ) ) |
| 77 |
76
|
expcom |
|- ( x e. A -> ( ph -> ( ( ( x e. A |-> R ) ` x ) ( y e. B |-> S ) w <-> w = T ) ) ) |
| 78 |
49 57 77
|
chvarfv |
|- ( z e. A -> ( ph -> ( ( ( x e. A |-> R ) ` z ) ( y e. B |-> S ) w <-> w = [_ z / x ]_ T ) ) ) |
| 79 |
78
|
impcom |
|- ( ( ph /\ z e. A ) -> ( ( ( x e. A |-> R ) ` z ) ( y e. B |-> S ) w <-> w = [_ z / x ]_ T ) ) |
| 80 |
79
|
pm5.32da |
|- ( ph -> ( ( z e. A /\ ( ( x e. A |-> R ) ` z ) ( y e. B |-> S ) w ) <-> ( z e. A /\ w = [_ z / x ]_ T ) ) ) |
| 81 |
39 80
|
bitrd |
|- ( ph -> ( ( z F ( F ` z ) /\ ( F ` z ) G w ) <-> ( z e. A /\ w = [_ z / x ]_ T ) ) ) |
| 82 |
30 81
|
bitrid |
|- ( ph -> ( E. u ( u = ( F ` z ) /\ ( z F u /\ u G w ) ) <-> ( z e. A /\ w = [_ z / x ]_ T ) ) ) |
| 83 |
25 82
|
bitrd |
|- ( ph -> ( E. u ( z F u /\ u G w ) <-> ( z e. A /\ w = [_ z / x ]_ T ) ) ) |
| 84 |
|
vex |
|- z e. _V |
| 85 |
84 58
|
opelco |
|- ( <. z , w >. e. ( G o. F ) <-> E. u ( z F u /\ u G w ) ) |
| 86 |
|
df-mpt |
|- ( x e. A |-> T ) = { <. x , v >. | ( x e. A /\ v = T ) } |
| 87 |
86
|
eleq2i |
|- ( <. z , w >. e. ( x e. A |-> T ) <-> <. z , w >. e. { <. x , v >. | ( x e. A /\ v = T ) } ) |
| 88 |
45
|
nfeq2 |
|- F/ x v = [_ z / x ]_ T |
| 89 |
40 88
|
nfan |
|- F/ x ( z e. A /\ v = [_ z / x ]_ T ) |
| 90 |
|
nfv |
|- F/ v ( z e. A /\ w = [_ z / x ]_ T ) |
| 91 |
53
|
eqeq2d |
|- ( x = z -> ( v = T <-> v = [_ z / x ]_ T ) ) |
| 92 |
50 91
|
anbi12d |
|- ( x = z -> ( ( x e. A /\ v = T ) <-> ( z e. A /\ v = [_ z / x ]_ T ) ) ) |
| 93 |
|
eqeq1 |
|- ( v = w -> ( v = [_ z / x ]_ T <-> w = [_ z / x ]_ T ) ) |
| 94 |
93
|
anbi2d |
|- ( v = w -> ( ( z e. A /\ v = [_ z / x ]_ T ) <-> ( z e. A /\ w = [_ z / x ]_ T ) ) ) |
| 95 |
89 90 84 58 92 94
|
opelopabf |
|- ( <. z , w >. e. { <. x , v >. | ( x e. A /\ v = T ) } <-> ( z e. A /\ w = [_ z / x ]_ T ) ) |
| 96 |
87 95
|
bitri |
|- ( <. z , w >. e. ( x e. A |-> T ) <-> ( z e. A /\ w = [_ z / x ]_ T ) ) |
| 97 |
83 85 96
|
3bitr4g |
|- ( ph -> ( <. z , w >. e. ( G o. F ) <-> <. z , w >. e. ( x e. A |-> T ) ) ) |
| 98 |
10 11 97
|
eqrelrdv |
|- ( ph -> ( G o. F ) = ( x e. A |-> T ) ) |