| Step |
Hyp |
Ref |
Expression |
| 1 |
|
cofuswapf1.c |
|- ( ph -> C e. Cat ) |
| 2 |
|
cofuswapf1.d |
|- ( ph -> D e. Cat ) |
| 3 |
|
cofuswapf1.f |
|- ( ph -> F e. ( ( D Xc. C ) Func E ) ) |
| 4 |
|
cofuswapf1.g |
|- ( ph -> G = ( F o.func ( C swapF D ) ) ) |
| 5 |
|
cofuswapf1.a |
|- A = ( Base ` C ) |
| 6 |
|
cofuswapf1.b |
|- B = ( Base ` D ) |
| 7 |
|
cofuswapf1.x |
|- ( ph -> X e. A ) |
| 8 |
|
cofuswapf1.y |
|- ( ph -> Y e. B ) |
| 9 |
|
df-ov |
|- ( X ( 1st ` G ) Y ) = ( ( 1st ` G ) ` <. X , Y >. ) |
| 10 |
4
|
fveq2d |
|- ( ph -> ( 1st ` G ) = ( 1st ` ( F o.func ( C swapF D ) ) ) ) |
| 11 |
10
|
fveq1d |
|- ( ph -> ( ( 1st ` G ) ` <. X , Y >. ) = ( ( 1st ` ( F o.func ( C swapF D ) ) ) ` <. X , Y >. ) ) |
| 12 |
9 11
|
eqtrid |
|- ( ph -> ( X ( 1st ` G ) Y ) = ( ( 1st ` ( F o.func ( C swapF D ) ) ) ` <. X , Y >. ) ) |
| 13 |
|
eqid |
|- ( C Xc. D ) = ( C Xc. D ) |
| 14 |
13 5 6
|
xpcbas |
|- ( A X. B ) = ( Base ` ( C Xc. D ) ) |
| 15 |
|
eqid |
|- ( D Xc. C ) = ( D Xc. C ) |
| 16 |
1 2 13 15
|
swapffunca |
|- ( ph -> ( C swapF D ) e. ( ( C Xc. D ) Func ( D Xc. C ) ) ) |
| 17 |
7 8
|
opelxpd |
|- ( ph -> <. X , Y >. e. ( A X. B ) ) |
| 18 |
14 16 3 17
|
cofu1 |
|- ( ph -> ( ( 1st ` ( F o.func ( C swapF D ) ) ) ` <. X , Y >. ) = ( ( 1st ` F ) ` ( ( 1st ` ( C swapF D ) ) ` <. X , Y >. ) ) ) |
| 19 |
|
df-ov |
|- ( X ( 1st ` ( C swapF D ) ) Y ) = ( ( 1st ` ( C swapF D ) ) ` <. X , Y >. ) |
| 20 |
1 2
|
swapfelvv |
|- ( ph -> ( C swapF D ) e. ( _V X. _V ) ) |
| 21 |
|
1st2nd2 |
|- ( ( C swapF D ) e. ( _V X. _V ) -> ( C swapF D ) = <. ( 1st ` ( C swapF D ) ) , ( 2nd ` ( C swapF D ) ) >. ) |
| 22 |
20 21
|
syl |
|- ( ph -> ( C swapF D ) = <. ( 1st ` ( C swapF D ) ) , ( 2nd ` ( C swapF D ) ) >. ) |
| 23 |
7 5
|
eleqtrdi |
|- ( ph -> X e. ( Base ` C ) ) |
| 24 |
8 6
|
eleqtrdi |
|- ( ph -> Y e. ( Base ` D ) ) |
| 25 |
22 23 24
|
swapf1 |
|- ( ph -> ( X ( 1st ` ( C swapF D ) ) Y ) = <. Y , X >. ) |
| 26 |
19 25
|
eqtr3id |
|- ( ph -> ( ( 1st ` ( C swapF D ) ) ` <. X , Y >. ) = <. Y , X >. ) |
| 27 |
26
|
fveq2d |
|- ( ph -> ( ( 1st ` F ) ` ( ( 1st ` ( C swapF D ) ) ` <. X , Y >. ) ) = ( ( 1st ` F ) ` <. Y , X >. ) ) |
| 28 |
12 18 27
|
3eqtrd |
|- ( ph -> ( X ( 1st ` G ) Y ) = ( ( 1st ` F ) ` <. Y , X >. ) ) |
| 29 |
|
df-ov |
|- ( Y ( 1st ` F ) X ) = ( ( 1st ` F ) ` <. Y , X >. ) |
| 30 |
28 29
|
eqtr4di |
|- ( ph -> ( X ( 1st ` G ) Y ) = ( Y ( 1st ` F ) X ) ) |