| Step |
Hyp |
Ref |
Expression |
| 1 |
|
cofidvala.i |
|- I = ( idFunc ` D ) |
| 2 |
|
cofidvala.b |
|- B = ( Base ` D ) |
| 3 |
|
cofidvala.f |
|- ( ph -> F e. ( D Func E ) ) |
| 4 |
|
cofidvala.g |
|- ( ph -> G e. ( E Func D ) ) |
| 5 |
|
cofidvala.o |
|- ( ph -> ( G o.func F ) = I ) |
| 6 |
|
cofidvala.h |
|- H = ( Hom ` D ) |
| 7 |
|
cofidf2a.j |
|- J = ( Hom ` E ) |
| 8 |
|
cofidf2a.x |
|- ( ph -> X e. B ) |
| 9 |
|
cofidf2a.y |
|- ( ph -> Y e. B ) |
| 10 |
3
|
func1st2nd |
|- ( ph -> ( 1st ` F ) ( D Func E ) ( 2nd ` F ) ) |
| 11 |
2 6 7 10 8 9
|
funcf2 |
|- ( ph -> ( X ( 2nd ` F ) Y ) : ( X H Y ) --> ( ( ( 1st ` F ) ` X ) J ( ( 1st ` F ) ` Y ) ) ) |
| 12 |
5
|
fveq2d |
|- ( ph -> ( 2nd ` ( G o.func F ) ) = ( 2nd ` I ) ) |
| 13 |
12
|
oveqd |
|- ( ph -> ( X ( 2nd ` ( G o.func F ) ) Y ) = ( X ( 2nd ` I ) Y ) ) |
| 14 |
2 3 4 8 9
|
cofu2nd |
|- ( ph -> ( X ( 2nd ` ( G o.func F ) ) Y ) = ( ( ( ( 1st ` F ) ` X ) ( 2nd ` G ) ( ( 1st ` F ) ` Y ) ) o. ( X ( 2nd ` F ) Y ) ) ) |
| 15 |
10
|
funcrcl2 |
|- ( ph -> D e. Cat ) |
| 16 |
1 2 15 6 8 9
|
idfu2nd |
|- ( ph -> ( X ( 2nd ` I ) Y ) = ( _I |` ( X H Y ) ) ) |
| 17 |
13 14 16
|
3eqtr3d |
|- ( ph -> ( ( ( ( 1st ` F ) ` X ) ( 2nd ` G ) ( ( 1st ` F ) ` Y ) ) o. ( X ( 2nd ` F ) Y ) ) = ( _I |` ( X H Y ) ) ) |
| 18 |
|
fcof1 |
|- ( ( ( X ( 2nd ` F ) Y ) : ( X H Y ) --> ( ( ( 1st ` F ) ` X ) J ( ( 1st ` F ) ` Y ) ) /\ ( ( ( ( 1st ` F ) ` X ) ( 2nd ` G ) ( ( 1st ` F ) ` Y ) ) o. ( X ( 2nd ` F ) Y ) ) = ( _I |` ( X H Y ) ) ) -> ( X ( 2nd ` F ) Y ) : ( X H Y ) -1-1-> ( ( ( 1st ` F ) ` X ) J ( ( 1st ` F ) ` Y ) ) ) |
| 19 |
11 17 18
|
syl2anc |
|- ( ph -> ( X ( 2nd ` F ) Y ) : ( X H Y ) -1-1-> ( ( ( 1st ` F ) ` X ) J ( ( 1st ` F ) ` Y ) ) ) |
| 20 |
1 2 8 3 4 5
|
cofid1a |
|- ( ph -> ( ( 1st ` G ) ` ( ( 1st ` F ) ` X ) ) = X ) |
| 21 |
1 2 9 3 4 5
|
cofid1a |
|- ( ph -> ( ( 1st ` G ) ` ( ( 1st ` F ) ` Y ) ) = Y ) |
| 22 |
20 21
|
oveq12d |
|- ( ph -> ( ( ( 1st ` G ) ` ( ( 1st ` F ) ` X ) ) H ( ( 1st ` G ) ` ( ( 1st ` F ) ` Y ) ) ) = ( X H Y ) ) |
| 23 |
|
eqid |
|- ( Base ` E ) = ( Base ` E ) |
| 24 |
4
|
func1st2nd |
|- ( ph -> ( 1st ` G ) ( E Func D ) ( 2nd ` G ) ) |
| 25 |
2 23 10
|
funcf1 |
|- ( ph -> ( 1st ` F ) : B --> ( Base ` E ) ) |
| 26 |
25 8
|
ffvelcdmd |
|- ( ph -> ( ( 1st ` F ) ` X ) e. ( Base ` E ) ) |
| 27 |
25 9
|
ffvelcdmd |
|- ( ph -> ( ( 1st ` F ) ` Y ) e. ( Base ` E ) ) |
| 28 |
23 7 6 24 26 27
|
funcf2 |
|- ( ph -> ( ( ( 1st ` F ) ` X ) ( 2nd ` G ) ( ( 1st ` F ) ` Y ) ) : ( ( ( 1st ` F ) ` X ) J ( ( 1st ` F ) ` Y ) ) --> ( ( ( 1st ` G ) ` ( ( 1st ` F ) ` X ) ) H ( ( 1st ` G ) ` ( ( 1st ` F ) ` Y ) ) ) ) |
| 29 |
22 28
|
feq3dd |
|- ( ph -> ( ( ( 1st ` F ) ` X ) ( 2nd ` G ) ( ( 1st ` F ) ` Y ) ) : ( ( ( 1st ` F ) ` X ) J ( ( 1st ` F ) ` Y ) ) --> ( X H Y ) ) |
| 30 |
|
fcofo |
|- ( ( ( ( ( 1st ` F ) ` X ) ( 2nd ` G ) ( ( 1st ` F ) ` Y ) ) : ( ( ( 1st ` F ) ` X ) J ( ( 1st ` F ) ` Y ) ) --> ( X H Y ) /\ ( X ( 2nd ` F ) Y ) : ( X H Y ) --> ( ( ( 1st ` F ) ` X ) J ( ( 1st ` F ) ` Y ) ) /\ ( ( ( ( 1st ` F ) ` X ) ( 2nd ` G ) ( ( 1st ` F ) ` Y ) ) o. ( X ( 2nd ` F ) Y ) ) = ( _I |` ( X H Y ) ) ) -> ( ( ( 1st ` F ) ` X ) ( 2nd ` G ) ( ( 1st ` F ) ` Y ) ) : ( ( ( 1st ` F ) ` X ) J ( ( 1st ` F ) ` Y ) ) -onto-> ( X H Y ) ) |
| 31 |
29 11 17 30
|
syl3anc |
|- ( ph -> ( ( ( 1st ` F ) ` X ) ( 2nd ` G ) ( ( 1st ` F ) ` Y ) ) : ( ( ( 1st ` F ) ` X ) J ( ( 1st ` F ) ` Y ) ) -onto-> ( X H Y ) ) |
| 32 |
19 31
|
jca |
|- ( ph -> ( ( X ( 2nd ` F ) Y ) : ( X H Y ) -1-1-> ( ( ( 1st ` F ) ` X ) J ( ( 1st ` F ) ` Y ) ) /\ ( ( ( 1st ` F ) ` X ) ( 2nd ` G ) ( ( 1st ` F ) ` Y ) ) : ( ( ( 1st ` F ) ` X ) J ( ( 1st ` F ) ` Y ) ) -onto-> ( X H Y ) ) ) |