Step |
Hyp |
Ref |
Expression |
1 |
|
fuclid.q |
|- Q = ( C FuncCat D ) |
2 |
|
fuclid.n |
|- N = ( C Nat D ) |
3 |
|
fuclid.x |
|- .xb = ( comp ` Q ) |
4 |
|
fuclid.1 |
|- .1. = ( Id ` D ) |
5 |
|
fuclid.r |
|- ( ph -> R e. ( F N G ) ) |
6 |
|
eqid |
|- ( Base ` C ) = ( Base ` C ) |
7 |
|
eqid |
|- ( Base ` D ) = ( Base ` D ) |
8 |
|
relfunc |
|- Rel ( C Func D ) |
9 |
2
|
natrcl |
|- ( R e. ( F N G ) -> ( F e. ( C Func D ) /\ G e. ( C Func D ) ) ) |
10 |
5 9
|
syl |
|- ( ph -> ( F e. ( C Func D ) /\ G e. ( C Func D ) ) ) |
11 |
10
|
simpld |
|- ( ph -> F e. ( C Func D ) ) |
12 |
|
1st2ndbr |
|- ( ( Rel ( C Func D ) /\ F e. ( C Func D ) ) -> ( 1st ` F ) ( C Func D ) ( 2nd ` F ) ) |
13 |
8 11 12
|
sylancr |
|- ( ph -> ( 1st ` F ) ( C Func D ) ( 2nd ` F ) ) |
14 |
6 7 13
|
funcf1 |
|- ( ph -> ( 1st ` F ) : ( Base ` C ) --> ( Base ` D ) ) |
15 |
|
fvco3 |
|- ( ( ( 1st ` F ) : ( Base ` C ) --> ( Base ` D ) /\ x e. ( Base ` C ) ) -> ( ( .1. o. ( 1st ` F ) ) ` x ) = ( .1. ` ( ( 1st ` F ) ` x ) ) ) |
16 |
14 15
|
sylan |
|- ( ( ph /\ x e. ( Base ` C ) ) -> ( ( .1. o. ( 1st ` F ) ) ` x ) = ( .1. ` ( ( 1st ` F ) ` x ) ) ) |
17 |
16
|
oveq2d |
|- ( ( ph /\ x e. ( Base ` C ) ) -> ( ( R ` x ) ( <. ( ( 1st ` F ) ` x ) , ( ( 1st ` F ) ` x ) >. ( comp ` D ) ( ( 1st ` G ) ` x ) ) ( ( .1. o. ( 1st ` F ) ) ` x ) ) = ( ( R ` x ) ( <. ( ( 1st ` F ) ` x ) , ( ( 1st ` F ) ` x ) >. ( comp ` D ) ( ( 1st ` G ) ` x ) ) ( .1. ` ( ( 1st ` F ) ` x ) ) ) ) |
18 |
|
eqid |
|- ( Hom ` D ) = ( Hom ` D ) |
19 |
|
funcrcl |
|- ( F e. ( C Func D ) -> ( C e. Cat /\ D e. Cat ) ) |
20 |
11 19
|
syl |
|- ( ph -> ( C e. Cat /\ D e. Cat ) ) |
21 |
20
|
simprd |
|- ( ph -> D e. Cat ) |
22 |
21
|
adantr |
|- ( ( ph /\ x e. ( Base ` C ) ) -> D e. Cat ) |
23 |
14
|
ffvelrnda |
|- ( ( ph /\ x e. ( Base ` C ) ) -> ( ( 1st ` F ) ` x ) e. ( Base ` D ) ) |
24 |
|
eqid |
|- ( comp ` D ) = ( comp ` D ) |
25 |
10
|
simprd |
|- ( ph -> G e. ( C Func D ) ) |
26 |
|
1st2ndbr |
|- ( ( Rel ( C Func D ) /\ G e. ( C Func D ) ) -> ( 1st ` G ) ( C Func D ) ( 2nd ` G ) ) |
27 |
8 25 26
|
sylancr |
|- ( ph -> ( 1st ` G ) ( C Func D ) ( 2nd ` G ) ) |
28 |
6 7 27
|
funcf1 |
|- ( ph -> ( 1st ` G ) : ( Base ` C ) --> ( Base ` D ) ) |
29 |
28
|
ffvelrnda |
|- ( ( ph /\ x e. ( Base ` C ) ) -> ( ( 1st ` G ) ` x ) e. ( Base ` D ) ) |
30 |
2 5
|
nat1st2nd |
|- ( ph -> R e. ( <. ( 1st ` F ) , ( 2nd ` F ) >. N <. ( 1st ` G ) , ( 2nd ` G ) >. ) ) |
31 |
30
|
adantr |
|- ( ( ph /\ x e. ( Base ` C ) ) -> R e. ( <. ( 1st ` F ) , ( 2nd ` F ) >. N <. ( 1st ` G ) , ( 2nd ` G ) >. ) ) |
32 |
|
simpr |
|- ( ( ph /\ x e. ( Base ` C ) ) -> x e. ( Base ` C ) ) |
33 |
2 31 6 18 32
|
natcl |
|- ( ( ph /\ x e. ( Base ` C ) ) -> ( R ` x ) e. ( ( ( 1st ` F ) ` x ) ( Hom ` D ) ( ( 1st ` G ) ` x ) ) ) |
34 |
7 18 4 22 23 24 29 33
|
catrid |
|- ( ( ph /\ x e. ( Base ` C ) ) -> ( ( R ` x ) ( <. ( ( 1st ` F ) ` x ) , ( ( 1st ` F ) ` x ) >. ( comp ` D ) ( ( 1st ` G ) ` x ) ) ( .1. ` ( ( 1st ` F ) ` x ) ) ) = ( R ` x ) ) |
35 |
17 34
|
eqtrd |
|- ( ( ph /\ x e. ( Base ` C ) ) -> ( ( R ` x ) ( <. ( ( 1st ` F ) ` x ) , ( ( 1st ` F ) ` x ) >. ( comp ` D ) ( ( 1st ` G ) ` x ) ) ( ( .1. o. ( 1st ` F ) ) ` x ) ) = ( R ` x ) ) |
36 |
35
|
mpteq2dva |
|- ( ph -> ( x e. ( Base ` C ) |-> ( ( R ` x ) ( <. ( ( 1st ` F ) ` x ) , ( ( 1st ` F ) ` x ) >. ( comp ` D ) ( ( 1st ` G ) ` x ) ) ( ( .1. o. ( 1st ` F ) ) ` x ) ) ) = ( x e. ( Base ` C ) |-> ( R ` x ) ) ) |
37 |
1 2 4 11
|
fucidcl |
|- ( ph -> ( .1. o. ( 1st ` F ) ) e. ( F N F ) ) |
38 |
1 2 6 24 3 37 5
|
fucco |
|- ( ph -> ( R ( <. F , F >. .xb G ) ( .1. o. ( 1st ` F ) ) ) = ( x e. ( Base ` C ) |-> ( ( R ` x ) ( <. ( ( 1st ` F ) ` x ) , ( ( 1st ` F ) ` x ) >. ( comp ` D ) ( ( 1st ` G ) ` x ) ) ( ( .1. o. ( 1st ` F ) ) ` x ) ) ) ) |
39 |
2 30 6
|
natfn |
|- ( ph -> R Fn ( Base ` C ) ) |
40 |
|
dffn5 |
|- ( R Fn ( Base ` C ) <-> R = ( x e. ( Base ` C ) |-> ( R ` x ) ) ) |
41 |
39 40
|
sylib |
|- ( ph -> R = ( x e. ( Base ` C ) |-> ( R ` x ) ) ) |
42 |
36 38 41
|
3eqtr4d |
|- ( ph -> ( R ( <. F , F >. .xb G ) ( .1. o. ( 1st ` F ) ) ) = R ) |