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