MPE Home Metamath Proof Explorer < Previous   Next >
Nearby theorems
Mirrors  >  Home  >  MPE Home  >  Th. List  >  cofucl Structured version   Unicode version

Theorem cofucl 15115
Description: The composition of two functors is a functor. (Contributed by Mario Carneiro, 3-Jan-2017.)
Hypotheses
Ref Expression
cofucl.f  |-  ( ph  ->  F  e.  ( C 
Func  D ) )
cofucl.g  |-  ( ph  ->  G  e.  ( D 
Func  E ) )
Assertion
Ref Expression
cofucl  |-  ( ph  ->  ( G  o.func  F )  e.  ( C  Func  E
) )

Proof of Theorem cofucl
Dummy variables  f 
g  x  y  z are mutually distinct and distinct from all other variables.
StepHypRef Expression
1 eqid 2467 . . . 4  |-  ( Base `  C )  =  (
Base `  C )
2 cofucl.f . . . 4  |-  ( ph  ->  F  e.  ( C 
Func  D ) )
3 cofucl.g . . . 4  |-  ( ph  ->  G  e.  ( D 
Func  E ) )
41, 2, 3cofuval 15109 . . 3  |-  ( ph  ->  ( G  o.func  F )  =  <. ( ( 1st `  G )  o.  ( 1st `  F ) ) ,  ( x  e.  ( Base `  C
) ,  y  e.  ( Base `  C
)  |->  ( ( ( ( 1st `  F
) `  x )
( 2nd `  G
) ( ( 1st `  F ) `  y
) )  o.  (
x ( 2nd `  F
) y ) ) ) >. )
51, 2, 3cofu1st 15110 . . . 4  |-  ( ph  ->  ( 1st `  ( G  o.func 
F ) )  =  ( ( 1st `  G
)  o.  ( 1st `  F ) ) )
64fveq2d 5870 . . . . 5  |-  ( ph  ->  ( 2nd `  ( G  o.func 
F ) )  =  ( 2nd `  <. ( ( 1st `  G
)  o.  ( 1st `  F ) ) ,  ( x  e.  (
Base `  C ) ,  y  e.  ( Base `  C )  |->  ( ( ( ( 1st `  F ) `  x
) ( 2nd `  G
) ( ( 1st `  F ) `  y
) )  o.  (
x ( 2nd `  F
) y ) ) ) >. ) )
7 fvex 5876 . . . . . . 7  |-  ( 1st `  G )  e.  _V
8 fvex 5876 . . . . . . 7  |-  ( 1st `  F )  e.  _V
97, 8coex 6736 . . . . . 6  |-  ( ( 1st `  G )  o.  ( 1st `  F
) )  e.  _V
10 fvex 5876 . . . . . . 7  |-  ( Base `  C )  e.  _V
1110, 10mpt2ex 6860 . . . . . 6  |-  ( x  e.  ( Base `  C
) ,  y  e.  ( Base `  C
)  |->  ( ( ( ( 1st `  F
) `  x )
( 2nd `  G
) ( ( 1st `  F ) `  y
) )  o.  (
x ( 2nd `  F
) y ) ) )  e.  _V
129, 11op2nd 6793 . . . . 5  |-  ( 2nd `  <. ( ( 1st `  G )  o.  ( 1st `  F ) ) ,  ( x  e.  ( Base `  C
) ,  y  e.  ( Base `  C
)  |->  ( ( ( ( 1st `  F
) `  x )
( 2nd `  G
) ( ( 1st `  F ) `  y
) )  o.  (
x ( 2nd `  F
) y ) ) ) >. )  =  ( x  e.  ( Base `  C ) ,  y  e.  ( Base `  C
)  |->  ( ( ( ( 1st `  F
) `  x )
( 2nd `  G
) ( ( 1st `  F ) `  y
) )  o.  (
x ( 2nd `  F
) y ) ) )
136, 12syl6eq 2524 . . . 4  |-  ( ph  ->  ( 2nd `  ( G  o.func 
F ) )  =  ( x  e.  (
Base `  C ) ,  y  e.  ( Base `  C )  |->  ( ( ( ( 1st `  F ) `  x
) ( 2nd `  G
) ( ( 1st `  F ) `  y
) )  o.  (
x ( 2nd `  F
) y ) ) ) )
145, 13opeq12d 4221 . . 3  |-  ( ph  -> 
<. ( 1st `  ( G  o.func 
F ) ) ,  ( 2nd `  ( G  o.func 
F ) ) >.  =  <. ( ( 1st `  G )  o.  ( 1st `  F ) ) ,  ( x  e.  ( Base `  C
) ,  y  e.  ( Base `  C
)  |->  ( ( ( ( 1st `  F
) `  x )
( 2nd `  G
) ( ( 1st `  F ) `  y
) )  o.  (
x ( 2nd `  F
) y ) ) ) >. )
154, 14eqtr4d 2511 . 2  |-  ( ph  ->  ( G  o.func  F )  =  <. ( 1st `  ( G  o.func 
F ) ) ,  ( 2nd `  ( G  o.func 
F ) ) >.
)
16 eqid 2467 . . . . . . 7  |-  ( Base `  D )  =  (
Base `  D )
17 eqid 2467 . . . . . . 7  |-  ( Base `  E )  =  (
Base `  E )
18 relfunc 15089 . . . . . . . 8  |-  Rel  ( D  Func  E )
19 1st2ndbr 6833 . . . . . . . 8  |-  ( ( Rel  ( D  Func  E )  /\  G  e.  ( D  Func  E
) )  ->  ( 1st `  G ) ( D  Func  E )
( 2nd `  G
) )
2018, 3, 19sylancr 663 . . . . . . 7  |-  ( ph  ->  ( 1st `  G
) ( D  Func  E ) ( 2nd `  G
) )
2116, 17, 20funcf1 15093 . . . . . 6  |-  ( ph  ->  ( 1st `  G
) : ( Base `  D ) --> ( Base `  E ) )
22 relfunc 15089 . . . . . . . 8  |-  Rel  ( C  Func  D )
23 1st2ndbr 6833 . . . . . . . 8  |-  ( ( Rel  ( C  Func  D )  /\  F  e.  ( C  Func  D
) )  ->  ( 1st `  F ) ( C  Func  D )
( 2nd `  F
) )
2422, 2, 23sylancr 663 . . . . . . 7  |-  ( ph  ->  ( 1st `  F
) ( C  Func  D ) ( 2nd `  F
) )
251, 16, 24funcf1 15093 . . . . . 6  |-  ( ph  ->  ( 1st `  F
) : ( Base `  C ) --> ( Base `  D ) )
26 fco 5741 . . . . . 6  |-  ( ( ( 1st `  G
) : ( Base `  D ) --> ( Base `  E )  /\  ( 1st `  F ) : ( Base `  C
) --> ( Base `  D
) )  ->  (
( 1st `  G
)  o.  ( 1st `  F ) ) : ( Base `  C
) --> ( Base `  E
) )
2721, 25, 26syl2anc 661 . . . . 5  |-  ( ph  ->  ( ( 1st `  G
)  o.  ( 1st `  F ) ) : ( Base `  C
) --> ( Base `  E
) )
285feq1d 5717 . . . . 5  |-  ( ph  ->  ( ( 1st `  ( G  o.func 
F ) ) : ( Base `  C
) --> ( Base `  E
)  <->  ( ( 1st `  G )  o.  ( 1st `  F ) ) : ( Base `  C
) --> ( Base `  E
) ) )
2927, 28mpbird 232 . . . 4  |-  ( ph  ->  ( 1st `  ( G  o.func 
F ) ) : ( Base `  C
) --> ( Base `  E
) )
30 eqid 2467 . . . . . . 7  |-  ( x  e.  ( Base `  C
) ,  y  e.  ( Base `  C
)  |->  ( ( ( ( 1st `  F
) `  x )
( 2nd `  G
) ( ( 1st `  F ) `  y
) )  o.  (
x ( 2nd `  F
) y ) ) )  =  ( x  e.  ( Base `  C
) ,  y  e.  ( Base `  C
)  |->  ( ( ( ( 1st `  F
) `  x )
( 2nd `  G
) ( ( 1st `  F ) `  y
) )  o.  (
x ( 2nd `  F
) y ) ) )
31 ovex 6309 . . . . . . . 8  |-  ( ( ( 1st `  F
) `  x )
( 2nd `  G
) ( ( 1st `  F ) `  y
) )  e.  _V
32 ovex 6309 . . . . . . . 8  |-  ( x ( 2nd `  F
) y )  e. 
_V
3331, 32coex 6736 . . . . . . 7  |-  ( ( ( ( 1st `  F
) `  x )
( 2nd `  G
) ( ( 1st `  F ) `  y
) )  o.  (
x ( 2nd `  F
) y ) )  e.  _V
3430, 33fnmpt2i 6853 . . . . . 6  |-  ( x  e.  ( Base `  C
) ,  y  e.  ( Base `  C
)  |->  ( ( ( ( 1st `  F
) `  x )
( 2nd `  G
) ( ( 1st `  F ) `  y
) )  o.  (
x ( 2nd `  F
) y ) ) )  Fn  ( (
Base `  C )  X.  ( Base `  C
) )
3513fneq1d 5671 . . . . . 6  |-  ( ph  ->  ( ( 2nd `  ( G  o.func 
F ) )  Fn  ( ( Base `  C
)  X.  ( Base `  C ) )  <->  ( x  e.  ( Base `  C
) ,  y  e.  ( Base `  C
)  |->  ( ( ( ( 1st `  F
) `  x )
( 2nd `  G
) ( ( 1st `  F ) `  y
) )  o.  (
x ( 2nd `  F
) y ) ) )  Fn  ( (
Base `  C )  X.  ( Base `  C
) ) ) )
3634, 35mpbiri 233 . . . . 5  |-  ( ph  ->  ( 2nd `  ( G  o.func 
F ) )  Fn  ( ( Base `  C
)  X.  ( Base `  C ) ) )
37 eqid 2467 . . . . . . . . . . 11  |-  ( Hom  `  D )  =  ( Hom  `  D )
38 eqid 2467 . . . . . . . . . . 11  |-  ( Hom  `  E )  =  ( Hom  `  E )
3920adantr 465 . . . . . . . . . . 11  |-  ( (
ph  /\  ( x  e.  ( Base `  C
)  /\  y  e.  ( Base `  C )
) )  ->  ( 1st `  G ) ( D  Func  E )
( 2nd `  G
) )
4025adantr 465 . . . . . . . . . . . 12  |-  ( (
ph  /\  ( x  e.  ( Base `  C
)  /\  y  e.  ( Base `  C )
) )  ->  ( 1st `  F ) : ( Base `  C
) --> ( Base `  D
) )
41 simprl 755 . . . . . . . . . . . 12  |-  ( (
ph  /\  ( x  e.  ( Base `  C
)  /\  y  e.  ( Base `  C )
) )  ->  x  e.  ( Base `  C
) )
4240, 41ffvelrnd 6022 . . . . . . . . . . 11  |-  ( (
ph  /\  ( x  e.  ( Base `  C
)  /\  y  e.  ( Base `  C )
) )  ->  (
( 1st `  F
) `  x )  e.  ( Base `  D
) )
43 simprr 756 . . . . . . . . . . . 12  |-  ( (
ph  /\  ( x  e.  ( Base `  C
)  /\  y  e.  ( Base `  C )
) )  ->  y  e.  ( Base `  C
) )
4440, 43ffvelrnd 6022 . . . . . . . . . . 11  |-  ( (
ph  /\  ( x  e.  ( Base `  C
)  /\  y  e.  ( Base `  C )
) )  ->  (
( 1st `  F
) `  y )  e.  ( Base `  D
) )
4516, 37, 38, 39, 42, 44funcf2 15095 . . . . . . . . . 10  |-  ( (
ph  /\  ( x  e.  ( Base `  C
)  /\  y  e.  ( Base `  C )
) )  ->  (
( ( 1st `  F
) `  x )
( 2nd `  G
) ( ( 1st `  F ) `  y
) ) : ( ( ( 1st `  F
) `  x )
( Hom  `  D ) ( ( 1st `  F
) `  y )
) --> ( ( ( 1st `  G ) `
 ( ( 1st `  F ) `  x
) ) ( Hom  `  E ) ( ( 1st `  G ) `
 ( ( 1st `  F ) `  y
) ) ) )
46 eqid 2467 . . . . . . . . . . 11  |-  ( Hom  `  C )  =  ( Hom  `  C )
4724adantr 465 . . . . . . . . . . 11  |-  ( (
ph  /\  ( x  e.  ( Base `  C
)  /\  y  e.  ( Base `  C )
) )  ->  ( 1st `  F ) ( C  Func  D )
( 2nd `  F
) )
481, 46, 37, 47, 41, 43funcf2 15095 . . . . . . . . . 10  |-  ( (
ph  /\  ( x  e.  ( Base `  C
)  /\  y  e.  ( Base `  C )
) )  ->  (
x ( 2nd `  F
) y ) : ( x ( Hom  `  C ) y ) --> ( ( ( 1st `  F ) `  x
) ( Hom  `  D
) ( ( 1st `  F ) `  y
) ) )
49 fco 5741 . . . . . . . . . 10  |-  ( ( ( ( ( 1st `  F ) `  x
) ( 2nd `  G
) ( ( 1st `  F ) `  y
) ) : ( ( ( 1st `  F
) `  x )
( Hom  `  D ) ( ( 1st `  F
) `  y )
) --> ( ( ( 1st `  G ) `
 ( ( 1st `  F ) `  x
) ) ( Hom  `  E ) ( ( 1st `  G ) `
 ( ( 1st `  F ) `  y
) ) )  /\  ( x ( 2nd `  F ) y ) : ( x ( Hom  `  C )
y ) --> ( ( ( 1st `  F
) `  x )
( Hom  `  D ) ( ( 1st `  F
) `  y )
) )  ->  (
( ( ( 1st `  F ) `  x
) ( 2nd `  G
) ( ( 1st `  F ) `  y
) )  o.  (
x ( 2nd `  F
) y ) ) : ( x ( Hom  `  C )
y ) --> ( ( ( 1st `  G
) `  ( ( 1st `  F ) `  x ) ) ( Hom  `  E )
( ( 1st `  G
) `  ( ( 1st `  F ) `  y ) ) ) )
5045, 48, 49syl2anc 661 . . . . . . . . 9  |-  ( (
ph  /\  ( x  e.  ( Base `  C
)  /\  y  e.  ( Base `  C )
) )  ->  (
( ( ( 1st `  F ) `  x
) ( 2nd `  G
) ( ( 1st `  F ) `  y
) )  o.  (
x ( 2nd `  F
) y ) ) : ( x ( Hom  `  C )
y ) --> ( ( ( 1st `  G
) `  ( ( 1st `  F ) `  x ) ) ( Hom  `  E )
( ( 1st `  G
) `  ( ( 1st `  F ) `  y ) ) ) )
51 ovex 6309 . . . . . . . . . 10  |-  ( ( ( 1st `  G
) `  ( ( 1st `  F ) `  x ) ) ( Hom  `  E )
( ( 1st `  G
) `  ( ( 1st `  F ) `  y ) ) )  e.  _V
52 ovex 6309 . . . . . . . . . 10  |-  ( x ( Hom  `  C
) y )  e. 
_V
5351, 52elmap 7447 . . . . . . . . 9  |-  ( ( ( ( ( 1st `  F ) `  x
) ( 2nd `  G
) ( ( 1st `  F ) `  y
) )  o.  (
x ( 2nd `  F
) y ) )  e.  ( ( ( ( 1st `  G
) `  ( ( 1st `  F ) `  x ) ) ( Hom  `  E )
( ( 1st `  G
) `  ( ( 1st `  F ) `  y ) ) )  ^m  ( x ( Hom  `  C )
y ) )  <->  ( (
( ( 1st `  F
) `  x )
( 2nd `  G
) ( ( 1st `  F ) `  y
) )  o.  (
x ( 2nd `  F
) y ) ) : ( x ( Hom  `  C )
y ) --> ( ( ( 1st `  G
) `  ( ( 1st `  F ) `  x ) ) ( Hom  `  E )
( ( 1st `  G
) `  ( ( 1st `  F ) `  y ) ) ) )
5450, 53sylibr 212 . . . . . . . 8  |-  ( (
ph  /\  ( x  e.  ( Base `  C
)  /\  y  e.  ( Base `  C )
) )  ->  (
( ( ( 1st `  F ) `  x
) ( 2nd `  G
) ( ( 1st `  F ) `  y
) )  o.  (
x ( 2nd `  F
) y ) )  e.  ( ( ( ( 1st `  G
) `  ( ( 1st `  F ) `  x ) ) ( Hom  `  E )
( ( 1st `  G
) `  ( ( 1st `  F ) `  y ) ) )  ^m  ( x ( Hom  `  C )
y ) ) )
552adantr 465 . . . . . . . . 9  |-  ( (
ph  /\  ( x  e.  ( Base `  C
)  /\  y  e.  ( Base `  C )
) )  ->  F  e.  ( C  Func  D
) )
563adantr 465 . . . . . . . . 9  |-  ( (
ph  /\  ( x  e.  ( Base `  C
)  /\  y  e.  ( Base `  C )
) )  ->  G  e.  ( D  Func  E
) )
571, 55, 56, 41, 43cofu2nd 15112 . . . . . . . 8  |-  ( (
ph  /\  ( x  e.  ( Base `  C
)  /\  y  e.  ( Base `  C )
) )  ->  (
x ( 2nd `  ( G  o.func 
F ) ) y )  =  ( ( ( ( 1st `  F
) `  x )
( 2nd `  G
) ( ( 1st `  F ) `  y
) )  o.  (
x ( 2nd `  F
) y ) ) )
581, 55, 56, 41cofu1 15111 . . . . . . . . . 10  |-  ( (
ph  /\  ( x  e.  ( Base `  C
)  /\  y  e.  ( Base `  C )
) )  ->  (
( 1st `  ( G  o.func 
F ) ) `  x )  =  ( ( 1st `  G
) `  ( ( 1st `  F ) `  x ) ) )
591, 55, 56, 43cofu1 15111 . . . . . . . . . 10  |-  ( (
ph  /\  ( x  e.  ( Base `  C
)  /\  y  e.  ( Base `  C )
) )  ->  (
( 1st `  ( G  o.func 
F ) ) `  y )  =  ( ( 1st `  G
) `  ( ( 1st `  F ) `  y ) ) )
6058, 59oveq12d 6302 . . . . . . . . 9  |-  ( (
ph  /\  ( x  e.  ( Base `  C
)  /\  y  e.  ( Base `  C )
) )  ->  (
( ( 1st `  ( G  o.func 
F ) ) `  x ) ( Hom  `  E ) ( ( 1st `  ( G  o.func 
F ) ) `  y ) )  =  ( ( ( 1st `  G ) `  (
( 1st `  F
) `  x )
) ( Hom  `  E
) ( ( 1st `  G ) `  (
( 1st `  F
) `  y )
) ) )
6160oveq1d 6299 . . . . . . . 8  |-  ( (
ph  /\  ( x  e.  ( Base `  C
)  /\  y  e.  ( Base `  C )
) )  ->  (
( ( ( 1st `  ( G  o.func  F )
) `  x )
( Hom  `  E ) ( ( 1st `  ( G  o.func 
F ) ) `  y ) )  ^m  ( x ( Hom  `  C ) y ) )  =  ( ( ( ( 1st `  G
) `  ( ( 1st `  F ) `  x ) ) ( Hom  `  E )
( ( 1st `  G
) `  ( ( 1st `  F ) `  y ) ) )  ^m  ( x ( Hom  `  C )
y ) ) )
6254, 57, 613eltr4d 2570 . . . . . . 7  |-  ( (
ph  /\  ( x  e.  ( Base `  C
)  /\  y  e.  ( Base `  C )
) )  ->  (
x ( 2nd `  ( G  o.func 
F ) ) y )  e.  ( ( ( ( 1st `  ( G  o.func 
F ) ) `  x ) ( Hom  `  E ) ( ( 1st `  ( G  o.func 
F ) ) `  y ) )  ^m  ( x ( Hom  `  C ) y ) ) )
6362ralrimivva 2885 . . . . . 6  |-  ( ph  ->  A. x  e.  (
Base `  C ) A. y  e.  ( Base `  C ) ( x ( 2nd `  ( G  o.func 
F ) ) y )  e.  ( ( ( ( 1st `  ( G  o.func 
F ) ) `  x ) ( Hom  `  E ) ( ( 1st `  ( G  o.func 
F ) ) `  y ) )  ^m  ( x ( Hom  `  C ) y ) ) )
64 fveq2 5866 . . . . . . . . 9  |-  ( z  =  <. x ,  y
>.  ->  ( ( 2nd `  ( G  o.func  F )
) `  z )  =  ( ( 2nd `  ( G  o.func  F )
) `  <. x ,  y >. ) )
65 df-ov 6287 . . . . . . . . 9  |-  ( x ( 2nd `  ( G  o.func 
F ) ) y )  =  ( ( 2nd `  ( G  o.func 
F ) ) `  <. x ,  y >.
)
6664, 65syl6eqr 2526 . . . . . . . 8  |-  ( z  =  <. x ,  y
>.  ->  ( ( 2nd `  ( G  o.func  F )
) `  z )  =  ( x ( 2nd `  ( G  o.func 
F ) ) y ) )
67 vex 3116 . . . . . . . . . . . 12  |-  x  e. 
_V
68 vex 3116 . . . . . . . . . . . 12  |-  y  e. 
_V
6967, 68op1std 6794 . . . . . . . . . . 11  |-  ( z  =  <. x ,  y
>.  ->  ( 1st `  z
)  =  x )
7069fveq2d 5870 . . . . . . . . . 10  |-  ( z  =  <. x ,  y
>.  ->  ( ( 1st `  ( G  o.func  F )
) `  ( 1st `  z ) )  =  ( ( 1st `  ( G  o.func 
F ) ) `  x ) )
7167, 68op2ndd 6795 . . . . . . . . . . 11  |-  ( z  =  <. x ,  y
>.  ->  ( 2nd `  z
)  =  y )
7271fveq2d 5870 . . . . . . . . . 10  |-  ( z  =  <. x ,  y
>.  ->  ( ( 1st `  ( G  o.func  F )
) `  ( 2nd `  z ) )  =  ( ( 1st `  ( G  o.func 
F ) ) `  y ) )
7370, 72oveq12d 6302 . . . . . . . . 9  |-  ( z  =  <. x ,  y
>.  ->  ( ( ( 1st `  ( G  o.func 
F ) ) `  ( 1st `  z ) ) ( Hom  `  E
) ( ( 1st `  ( G  o.func  F )
) `  ( 2nd `  z ) ) )  =  ( ( ( 1st `  ( G  o.func 
F ) ) `  x ) ( Hom  `  E ) ( ( 1st `  ( G  o.func 
F ) ) `  y ) ) )
74 fveq2 5866 . . . . . . . . . 10  |-  ( z  =  <. x ,  y
>.  ->  ( ( Hom  `  C ) `  z
)  =  ( ( Hom  `  C ) `  <. x ,  y
>. ) )
75 df-ov 6287 . . . . . . . . . 10  |-  ( x ( Hom  `  C
) y )  =  ( ( Hom  `  C
) `  <. x ,  y >. )
7674, 75syl6eqr 2526 . . . . . . . . 9  |-  ( z  =  <. x ,  y
>.  ->  ( ( Hom  `  C ) `  z
)  =  ( x ( Hom  `  C
) y ) )
7773, 76oveq12d 6302 . . . . . . . 8  |-  ( z  =  <. x ,  y
>.  ->  ( ( ( ( 1st `  ( G  o.func 
F ) ) `  ( 1st `  z ) ) ( Hom  `  E
) ( ( 1st `  ( G  o.func  F )
) `  ( 2nd `  z ) ) )  ^m  ( ( Hom  `  C ) `  z
) )  =  ( ( ( ( 1st `  ( G  o.func  F )
) `  x )
( Hom  `  E ) ( ( 1st `  ( G  o.func 
F ) ) `  y ) )  ^m  ( x ( Hom  `  C ) y ) ) )
7866, 77eleq12d 2549 . . . . . . 7  |-  ( z  =  <. x ,  y
>.  ->  ( ( ( 2nd `  ( G  o.func 
F ) ) `  z )  e.  ( ( ( ( 1st `  ( G  o.func  F )
) `  ( 1st `  z ) ) ( Hom  `  E )
( ( 1st `  ( G  o.func 
F ) ) `  ( 2nd `  z ) ) )  ^m  (
( Hom  `  C ) `
 z ) )  <-> 
( x ( 2nd `  ( G  o.func  F )
) y )  e.  ( ( ( ( 1st `  ( G  o.func 
F ) ) `  x ) ( Hom  `  E ) ( ( 1st `  ( G  o.func 
F ) ) `  y ) )  ^m  ( x ( Hom  `  C ) y ) ) ) )
7978ralxp 5144 . . . . . 6  |-  ( A. z  e.  ( ( Base `  C )  X.  ( Base `  C
) ) ( ( 2nd `  ( G  o.func 
F ) ) `  z )  e.  ( ( ( ( 1st `  ( G  o.func  F )
) `  ( 1st `  z ) ) ( Hom  `  E )
( ( 1st `  ( G  o.func 
F ) ) `  ( 2nd `  z ) ) )  ^m  (
( Hom  `  C ) `
 z ) )  <->  A. x  e.  ( Base `  C ) A. y  e.  ( Base `  C ) ( x ( 2nd `  ( G  o.func 
F ) ) y )  e.  ( ( ( ( 1st `  ( G  o.func 
F ) ) `  x ) ( Hom  `  E ) ( ( 1st `  ( G  o.func 
F ) ) `  y ) )  ^m  ( x ( Hom  `  C ) y ) ) )
8063, 79sylibr 212 . . . . 5  |-  ( ph  ->  A. z  e.  ( ( Base `  C
)  X.  ( Base `  C ) ) ( ( 2nd `  ( G  o.func 
F ) ) `  z )  e.  ( ( ( ( 1st `  ( G  o.func  F )
) `  ( 1st `  z ) ) ( Hom  `  E )
( ( 1st `  ( G  o.func 
F ) ) `  ( 2nd `  z ) ) )  ^m  (
( Hom  `  C ) `
 z ) ) )
81 fvex 5876 . . . . . 6  |-  ( 2nd `  ( G  o.func  F )
)  e.  _V
8281elixp 7476 . . . . 5  |-  ( ( 2nd `  ( G  o.func 
F ) )  e.  X_ z  e.  (
( Base `  C )  X.  ( Base `  C
) ) ( ( ( ( 1st `  ( G  o.func 
F ) ) `  ( 1st `  z ) ) ( Hom  `  E
) ( ( 1st `  ( G  o.func  F )
) `  ( 2nd `  z ) ) )  ^m  ( ( Hom  `  C ) `  z
) )  <->  ( ( 2nd `  ( G  o.func  F ) )  Fn  ( (
Base `  C )  X.  ( Base `  C
) )  /\  A. z  e.  ( ( Base `  C )  X.  ( Base `  C
) ) ( ( 2nd `  ( G  o.func 
F ) ) `  z )  e.  ( ( ( ( 1st `  ( G  o.func  F )
) `  ( 1st `  z ) ) ( Hom  `  E )
( ( 1st `  ( G  o.func 
F ) ) `  ( 2nd `  z ) ) )  ^m  (
( Hom  `  C ) `
 z ) ) ) )
8336, 80, 82sylanbrc 664 . . . 4  |-  ( ph  ->  ( 2nd `  ( G  o.func 
F ) )  e.  X_ z  e.  (
( Base `  C )  X.  ( Base `  C
) ) ( ( ( ( 1st `  ( G  o.func 
F ) ) `  ( 1st `  z ) ) ( Hom  `  E
) ( ( 1st `  ( G  o.func  F )
) `  ( 2nd `  z ) ) )  ^m  ( ( Hom  `  C ) `  z
) ) )
84 eqid 2467 . . . . . . . . . 10  |-  ( Id
`  C )  =  ( Id `  C
)
85 eqid 2467 . . . . . . . . . 10  |-  ( Id
`  D )  =  ( Id `  D
)
8624adantr 465 . . . . . . . . . 10  |-  ( (
ph  /\  x  e.  ( Base `  C )
)  ->  ( 1st `  F ) ( C 
Func  D ) ( 2nd `  F ) )
87 simpr 461 . . . . . . . . . 10  |-  ( (
ph  /\  x  e.  ( Base `  C )
)  ->  x  e.  ( Base `  C )
)
881, 84, 85, 86, 87funcid 15097 . . . . . . . . 9  |-  ( (
ph  /\  x  e.  ( Base `  C )
)  ->  ( (
x ( 2nd `  F
) x ) `  ( ( Id `  C ) `  x
) )  =  ( ( Id `  D
) `  ( ( 1st `  F ) `  x ) ) )
8988fveq2d 5870 . . . . . . . 8  |-  ( (
ph  /\  x  e.  ( Base `  C )
)  ->  ( (
( ( 1st `  F
) `  x )
( 2nd `  G
) ( ( 1st `  F ) `  x
) ) `  (
( x ( 2nd `  F ) x ) `
 ( ( Id
`  C ) `  x ) ) )  =  ( ( ( ( 1st `  F
) `  x )
( 2nd `  G
) ( ( 1st `  F ) `  x
) ) `  (
( Id `  D
) `  ( ( 1st `  F ) `  x ) ) ) )
90 eqid 2467 . . . . . . . . 9  |-  ( Id
`  E )  =  ( Id `  E
)
9120adantr 465 . . . . . . . . 9  |-  ( (
ph  /\  x  e.  ( Base `  C )
)  ->  ( 1st `  G ) ( D 
Func  E ) ( 2nd `  G ) )
9225ffvelrnda 6021 . . . . . . . . 9  |-  ( (
ph  /\  x  e.  ( Base `  C )
)  ->  ( ( 1st `  F ) `  x )  e.  (
Base `  D )
)
9316, 85, 90, 91, 92funcid 15097 . . . . . . . 8  |-  ( (
ph  /\  x  e.  ( Base `  C )
)  ->  ( (
( ( 1st `  F
) `  x )
( 2nd `  G
) ( ( 1st `  F ) `  x
) ) `  (
( Id `  D
) `  ( ( 1st `  F ) `  x ) ) )  =  ( ( Id
`  E ) `  ( ( 1st `  G
) `  ( ( 1st `  F ) `  x ) ) ) )
9489, 93eqtrd 2508 . . . . . . 7  |-  ( (
ph  /\  x  e.  ( Base `  C )
)  ->  ( (
( ( 1st `  F
) `  x )
( 2nd `  G
) ( ( 1st `  F ) `  x
) ) `  (
( x ( 2nd `  F ) x ) `
 ( ( Id
`  C ) `  x ) ) )  =  ( ( Id
`  E ) `  ( ( 1st `  G
) `  ( ( 1st `  F ) `  x ) ) ) )
952adantr 465 . . . . . . . 8  |-  ( (
ph  /\  x  e.  ( Base `  C )
)  ->  F  e.  ( C  Func  D ) )
963adantr 465 . . . . . . . 8  |-  ( (
ph  /\  x  e.  ( Base `  C )
)  ->  G  e.  ( D  Func  E ) )
97 funcrcl 15090 . . . . . . . . . . . 12  |-  ( F  e.  ( C  Func  D )  ->  ( C  e.  Cat  /\  D  e. 
Cat ) )
982, 97syl 16 . . . . . . . . . . 11  |-  ( ph  ->  ( C  e.  Cat  /\  D  e.  Cat )
)
9998simpld 459 . . . . . . . . . 10  |-  ( ph  ->  C  e.  Cat )
10099adantr 465 . . . . . . . . 9  |-  ( (
ph  /\  x  e.  ( Base `  C )
)  ->  C  e.  Cat )
1011, 46, 84, 100, 87catidcl 14937 . . . . . . . 8  |-  ( (
ph  /\  x  e.  ( Base `  C )
)  ->  ( ( Id `  C ) `  x )  e.  ( x ( Hom  `  C
) x ) )
1021, 95, 96, 87, 87, 46, 101cofu2 15113 . . . . . . 7  |-  ( (
ph  /\  x  e.  ( Base `  C )
)  ->  ( (
x ( 2nd `  ( G  o.func 
F ) ) x ) `  ( ( Id `  C ) `
 x ) )  =  ( ( ( ( 1st `  F
) `  x )
( 2nd `  G
) ( ( 1st `  F ) `  x
) ) `  (
( x ( 2nd `  F ) x ) `
 ( ( Id
`  C ) `  x ) ) ) )
1031, 95, 96, 87cofu1 15111 . . . . . . . 8  |-  ( (
ph  /\  x  e.  ( Base `  C )
)  ->  ( ( 1st `  ( G  o.func  F ) ) `  x )  =  ( ( 1st `  G ) `  (
( 1st `  F
) `  x )
) )
104103fveq2d 5870 . . . . . . 7  |-  ( (
ph  /\  x  e.  ( Base `  C )
)  ->  ( ( Id `  E ) `  ( ( 1st `  ( G  o.func 
F ) ) `  x ) )  =  ( ( Id `  E ) `  (
( 1st `  G
) `  ( ( 1st `  F ) `  x ) ) ) )
10594, 102, 1043eqtr4d 2518 . . . . . 6  |-  ( (
ph  /\  x  e.  ( Base `  C )
)  ->  ( (
x ( 2nd `  ( G  o.func 
F ) ) x ) `  ( ( Id `  C ) `
 x ) )  =  ( ( Id
`  E ) `  ( ( 1st `  ( G  o.func 
F ) ) `  x ) ) )
10686adantr 465 . . . . . . . . . . . . 13  |-  ( ( ( ph  /\  x  e.  ( Base `  C
) )  /\  (
( y  e.  (
Base `  C )  /\  z  e.  ( Base `  C ) )  /\  ( f  e.  ( x ( Hom  `  C ) y )  /\  g  e.  ( y ( Hom  `  C
) z ) ) ) )  ->  ( 1st `  F ) ( C  Func  D )
( 2nd `  F
) )
107 simplr 754 . . . . . . . . . . . . 13  |-  ( ( ( ph  /\  x  e.  ( Base `  C
) )  /\  (
( y  e.  (
Base `  C )  /\  z  e.  ( Base `  C ) )  /\  ( f  e.  ( x ( Hom  `  C ) y )  /\  g  e.  ( y ( Hom  `  C
) z ) ) ) )  ->  x  e.  ( Base `  C
) )
108 simprlr 762 . . . . . . . . . . . . 13  |-  ( ( ( ph  /\  x  e.  ( Base `  C
) )  /\  (
( y  e.  (
Base `  C )  /\  z  e.  ( Base `  C ) )  /\  ( f  e.  ( x ( Hom  `  C ) y )  /\  g  e.  ( y ( Hom  `  C
) z ) ) ) )  ->  z  e.  ( Base `  C
) )
1091, 46, 37, 106, 107, 108funcf2 15095 . . . . . . . . . . . 12  |-  ( ( ( ph  /\  x  e.  ( Base `  C
) )  /\  (
( y  e.  (
Base `  C )  /\  z  e.  ( Base `  C ) )  /\  ( f  e.  ( x ( Hom  `  C ) y )  /\  g  e.  ( y ( Hom  `  C
) z ) ) ) )  ->  (
x ( 2nd `  F
) z ) : ( x ( Hom  `  C ) z ) --> ( ( ( 1st `  F ) `  x
) ( Hom  `  D
) ( ( 1st `  F ) `  z
) ) )
110 eqid 2467 . . . . . . . . . . . . 13  |-  (comp `  C )  =  (comp `  C )
111100adantr 465 . . . . . . . . . . . . 13  |-  ( ( ( ph  /\  x  e.  ( Base `  C
) )  /\  (
( y  e.  (
Base `  C )  /\  z  e.  ( Base `  C ) )  /\  ( f  e.  ( x ( Hom  `  C ) y )  /\  g  e.  ( y ( Hom  `  C
) z ) ) ) )  ->  C  e.  Cat )
112 simprll 761 . . . . . . . . . . . . 13  |-  ( ( ( ph  /\  x  e.  ( Base `  C
) )  /\  (
( y  e.  (
Base `  C )  /\  z  e.  ( Base `  C ) )  /\  ( f  e.  ( x ( Hom  `  C ) y )  /\  g  e.  ( y ( Hom  `  C
) z ) ) ) )  ->  y  e.  ( Base `  C
) )
113 simprrl 763 . . . . . . . . . . . . 13  |-  ( ( ( ph  /\  x  e.  ( Base `  C
) )  /\  (
( y  e.  (
Base `  C )  /\  z  e.  ( Base `  C ) )  /\  ( f  e.  ( x ( Hom  `  C ) y )  /\  g  e.  ( y ( Hom  `  C
) z ) ) ) )  ->  f  e.  ( x ( Hom  `  C ) y ) )
114 simprrr 764 . . . . . . . . . . . . 13  |-  ( ( ( ph  /\  x  e.  ( Base `  C
) )  /\  (
( y  e.  (
Base `  C )  /\  z  e.  ( Base `  C ) )  /\  ( f  e.  ( x ( Hom  `  C ) y )  /\  g  e.  ( y ( Hom  `  C
) z ) ) ) )  ->  g  e.  ( y ( Hom  `  C ) z ) )
1151, 46, 110, 111, 107, 112, 108, 113, 114catcocl 14940 . . . . . . . . . . . 12  |-  ( ( ( ph  /\  x  e.  ( Base `  C
) )  /\  (
( y  e.  (
Base `  C )  /\  z  e.  ( Base `  C ) )  /\  ( f  e.  ( x ( Hom  `  C ) y )  /\  g  e.  ( y ( Hom  `  C
) z ) ) ) )  ->  (
g ( <. x ,  y >. (comp `  C ) z ) f )  e.  ( x ( Hom  `  C
) z ) )
116 fvco3 5944 . . . . . . . . . . . 12  |-  ( ( ( x ( 2nd `  F ) z ) : ( x ( Hom  `  C )
z ) --> ( ( ( 1st `  F
) `  x )
( Hom  `  D ) ( ( 1st `  F
) `  z )
)  /\  ( g
( <. x ,  y
>. (comp `  C )
z ) f )  e.  ( x ( Hom  `  C )
z ) )  -> 
( ( ( ( ( 1st `  F
) `  x )
( 2nd `  G
) ( ( 1st `  F ) `  z
) )  o.  (
x ( 2nd `  F
) z ) ) `
 ( g (
<. x ,  y >.
(comp `  C )
z ) f ) )  =  ( ( ( ( 1st `  F
) `  x )
( 2nd `  G
) ( ( 1st `  F ) `  z
) ) `  (
( x ( 2nd `  F ) z ) `
 ( g (
<. x ,  y >.
(comp `  C )
z ) f ) ) ) )
117109, 115, 116syl2anc 661 . . . . . . . . . . 11  |-  ( ( ( ph  /\  x  e.  ( Base `  C
) )  /\  (
( y  e.  (
Base `  C )  /\  z  e.  ( Base `  C ) )  /\  ( f  e.  ( x ( Hom  `  C ) y )  /\  g  e.  ( y ( Hom  `  C
) z ) ) ) )  ->  (
( ( ( ( 1st `  F ) `
 x ) ( 2nd `  G ) ( ( 1st `  F
) `  z )
)  o.  ( x ( 2nd `  F
) z ) ) `
 ( g (
<. x ,  y >.
(comp `  C )
z ) f ) )  =  ( ( ( ( 1st `  F
) `  x )
( 2nd `  G
) ( ( 1st `  F ) `  z
) ) `  (
( x ( 2nd `  F ) z ) `
 ( g (
<. x ,  y >.
(comp `  C )
z ) f ) ) ) )
118 eqid 2467 . . . . . . . . . . . . 13  |-  (comp `  D )  =  (comp `  D )
1191, 46, 110, 118, 106, 107, 112, 108, 113, 114funcco 15098 . . . . . . . . . . . 12  |-  ( ( ( ph  /\  x  e.  ( Base `  C
) )  /\  (
( y  e.  (
Base `  C )  /\  z  e.  ( Base `  C ) )  /\  ( f  e.  ( x ( Hom  `  C ) y )  /\  g  e.  ( y ( Hom  `  C
) z ) ) ) )  ->  (
( x ( 2nd `  F ) z ) `
 ( g (
<. x ,  y >.
(comp `  C )
z ) f ) )  =  ( ( ( y ( 2nd `  F ) z ) `
 g ) (
<. ( ( 1st `  F
) `  x ) ,  ( ( 1st `  F ) `  y
) >. (comp `  D
) ( ( 1st `  F ) `  z
) ) ( ( x ( 2nd `  F
) y ) `  f ) ) )
120119fveq2d 5870 . . . . . . . . . . 11  |-  ( ( ( ph  /\  x  e.  ( Base `  C
) )  /\  (
( y  e.  (
Base `  C )  /\  z  e.  ( Base `  C ) )  /\  ( f  e.  ( x ( Hom  `  C ) y )  /\  g  e.  ( y ( Hom  `  C
) z ) ) ) )  ->  (
( ( ( 1st `  F ) `  x
) ( 2nd `  G
) ( ( 1st `  F ) `  z
) ) `  (
( x ( 2nd `  F ) z ) `
 ( g (
<. x ,  y >.
(comp `  C )
z ) f ) ) )  =  ( ( ( ( 1st `  F ) `  x
) ( 2nd `  G
) ( ( 1st `  F ) `  z
) ) `  (
( ( y ( 2nd `  F ) z ) `  g
) ( <. (
( 1st `  F
) `  x ) ,  ( ( 1st `  F ) `  y
) >. (comp `  D
) ( ( 1st `  F ) `  z
) ) ( ( x ( 2nd `  F
) y ) `  f ) ) ) )
121 eqid 2467 . . . . . . . . . . . 12  |-  (comp `  E )  =  (comp `  E )
12291adantr 465 . . . . . . . . . . . 12  |-  ( ( ( ph  /\  x  e.  ( Base `  C
) )  /\  (
( y  e.  (
Base `  C )  /\  z  e.  ( Base `  C ) )  /\  ( f  e.  ( x ( Hom  `  C ) y )  /\  g  e.  ( y ( Hom  `  C
) z ) ) ) )  ->  ( 1st `  G ) ( D  Func  E )
( 2nd `  G
) )
12392adantr 465 . . . . . . . . . . . 12  |-  ( ( ( ph  /\  x  e.  ( Base `  C
) )  /\  (
( y  e.  (
Base `  C )  /\  z  e.  ( Base `  C ) )  /\  ( f  e.  ( x ( Hom  `  C ) y )  /\  g  e.  ( y ( Hom  `  C
) z ) ) ) )  ->  (
( 1st `  F
) `  x )  e.  ( Base `  D
) )
12425adantr 465 . . . . . . . . . . . . . 14  |-  ( (
ph  /\  x  e.  ( Base `  C )
)  ->  ( 1st `  F ) : (
Base `  C ) --> ( Base `  D )
)
125124adantr 465 . . . . . . . . . . . . 13  |-  ( ( ( ph  /\  x  e.  ( Base `  C
) )  /\  (
( y  e.  (
Base `  C )  /\  z  e.  ( Base `  C ) )  /\  ( f  e.  ( x ( Hom  `  C ) y )  /\  g  e.  ( y ( Hom  `  C
) z ) ) ) )  ->  ( 1st `  F ) : ( Base `  C
) --> ( Base `  D
) )
126125, 112ffvelrnd 6022 . . . . . . . . . . . 12  |-  ( ( ( ph  /\  x  e.  ( Base `  C
) )  /\  (
( y  e.  (
Base `  C )  /\  z  e.  ( Base `  C ) )  /\  ( f  e.  ( x ( Hom  `  C ) y )  /\  g  e.  ( y ( Hom  `  C
) z ) ) ) )  ->  (
( 1st `  F
) `  y )  e.  ( Base `  D
) )
127125, 108ffvelrnd 6022 . . . . . . . . . . . 12  |-  ( ( ( ph  /\  x  e.  ( Base `  C
) )  /\  (
( y  e.  (
Base `  C )  /\  z  e.  ( Base `  C ) )  /\  ( f  e.  ( x ( Hom  `  C ) y )  /\  g  e.  ( y ( Hom  `  C
) z ) ) ) )  ->  (
( 1st `  F
) `  z )  e.  ( Base `  D
) )
1281, 46, 37, 106, 107, 112funcf2 15095 . . . . . . . . . . . . 13  |-  ( ( ( ph  /\  x  e.  ( Base `  C
) )  /\  (
( y  e.  (
Base `  C )  /\  z  e.  ( Base `  C ) )  /\  ( f  e.  ( x ( Hom  `  C ) y )  /\  g  e.  ( y ( Hom  `  C
) z ) ) ) )  ->  (
x ( 2nd `  F
) y ) : ( x ( Hom  `  C ) y ) --> ( ( ( 1st `  F ) `  x
) ( Hom  `  D
) ( ( 1st `  F ) `  y
) ) )
129128, 113ffvelrnd 6022 . . . . . . . . . . . 12  |-  ( ( ( ph  /\  x  e.  ( Base `  C
) )  /\  (
( y  e.  (
Base `  C )  /\  z  e.  ( Base `  C ) )  /\  ( f  e.  ( x ( Hom  `  C ) y )  /\  g  e.  ( y ( Hom  `  C
) z ) ) ) )  ->  (
( x ( 2nd `  F ) y ) `
 f )  e.  ( ( ( 1st `  F ) `  x
) ( Hom  `  D
) ( ( 1st `  F ) `  y
) ) )
1301, 46, 37, 106, 112, 108funcf2 15095 . . . . . . . . . . . . 13  |-  ( ( ( ph  /\  x  e.  ( Base `  C
) )  /\  (
( y  e.  (
Base `  C )  /\  z  e.  ( Base `  C ) )  /\  ( f  e.  ( x ( Hom  `  C ) y )  /\  g  e.  ( y ( Hom  `  C
) z ) ) ) )  ->  (
y ( 2nd `  F
) z ) : ( y ( Hom  `  C ) z ) --> ( ( ( 1st `  F ) `  y
) ( Hom  `  D
) ( ( 1st `  F ) `  z
) ) )
131130, 114ffvelrnd 6022 . . . . . . . . . . . 12  |-  ( ( ( ph  /\  x  e.  ( Base `  C
) )  /\  (
( y  e.  (
Base `  C )  /\  z  e.  ( Base `  C ) )  /\  ( f  e.  ( x ( Hom  `  C ) y )  /\  g  e.  ( y ( Hom  `  C
) z ) ) ) )  ->  (
( y ( 2nd `  F ) z ) `
 g )  e.  ( ( ( 1st `  F ) `  y
) ( Hom  `  D
) ( ( 1st `  F ) `  z
) ) )
13216, 37, 118, 121, 122, 123, 126, 127, 129, 131funcco 15098 . . . . . . . . . . 11  |-  ( ( ( ph  /\  x  e.  ( Base `  C
) )  /\  (
( y  e.  (
Base `  C )  /\  z  e.  ( Base `  C ) )  /\  ( f  e.  ( x ( Hom  `  C ) y )  /\  g  e.  ( y ( Hom  `  C
) z ) ) ) )  ->  (
( ( ( 1st `  F ) `  x
) ( 2nd `  G
) ( ( 1st `  F ) `  z
) ) `  (
( ( y ( 2nd `  F ) z ) `  g
) ( <. (
( 1st `  F
) `  x ) ,  ( ( 1st `  F ) `  y
) >. (comp `  D
) ( ( 1st `  F ) `  z
) ) ( ( x ( 2nd `  F
) y ) `  f ) ) )  =  ( ( ( ( ( 1st `  F
) `  y )
( 2nd `  G
) ( ( 1st `  F ) `  z
) ) `  (
( y ( 2nd `  F ) z ) `
 g ) ) ( <. ( ( 1st `  G ) `  (
( 1st `  F
) `  x )
) ,  ( ( 1st `  G ) `
 ( ( 1st `  F ) `  y
) ) >. (comp `  E ) ( ( 1st `  G ) `
 ( ( 1st `  F ) `  z
) ) ) ( ( ( ( 1st `  F ) `  x
) ( 2nd `  G
) ( ( 1st `  F ) `  y
) ) `  (
( x ( 2nd `  F ) y ) `
 f ) ) ) )
133117, 120, 1323eqtrd 2512 . . . . . . . . . 10  |-  ( ( ( ph  /\  x  e.  ( Base `  C
) )  /\  (
( y  e.  (
Base `  C )  /\  z  e.  ( Base `  C ) )  /\  ( f  e.  ( x ( Hom  `  C ) y )  /\  g  e.  ( y ( Hom  `  C
) z ) ) ) )  ->  (
( ( ( ( 1st `  F ) `
 x ) ( 2nd `  G ) ( ( 1st `  F
) `  z )
)  o.  ( x ( 2nd `  F
) z ) ) `
 ( g (
<. x ,  y >.
(comp `  C )
z ) f ) )  =  ( ( ( ( ( 1st `  F ) `  y
) ( 2nd `  G
) ( ( 1st `  F ) `  z
) ) `  (
( y ( 2nd `  F ) z ) `
 g ) ) ( <. ( ( 1st `  G ) `  (
( 1st `  F
) `  x )
) ,  ( ( 1st `  G ) `
 ( ( 1st `  F ) `  y
) ) >. (comp `  E ) ( ( 1st `  G ) `
 ( ( 1st `  F ) `  z
) ) ) ( ( ( ( 1st `  F ) `  x
) ( 2nd `  G
) ( ( 1st `  F ) `  y
) ) `  (
( x ( 2nd `  F ) y ) `
 f ) ) ) )
13495adantr 465 . . . . . . . . . . . 12  |-  ( ( ( ph  /\  x  e.  ( Base `  C
) )  /\  (
( y  e.  (
Base `  C )  /\  z  e.  ( Base `  C ) )  /\  ( f  e.  ( x ( Hom  `  C ) y )  /\  g  e.  ( y ( Hom  `  C
) z ) ) ) )  ->  F  e.  ( C  Func  D
) )
13596adantr 465 . . . . . . . . . . . 12  |-  ( ( ( ph  /\  x  e.  ( Base `  C
) )  /\  (
( y  e.  (
Base `  C )  /\  z  e.  ( Base `  C ) )  /\  ( f  e.  ( x ( Hom  `  C ) y )  /\  g  e.  ( y ( Hom  `  C
) z ) ) ) )  ->  G  e.  ( D  Func  E
) )
1361, 134, 135, 107, 108cofu2nd 15112 . . . . . . . . . . 11  |-  ( ( ( ph  /\  x  e.  ( Base `  C
) )  /\  (
( y  e.  (
Base `  C )  /\  z  e.  ( Base `  C ) )  /\  ( f  e.  ( x ( Hom  `  C ) y )  /\  g  e.  ( y ( Hom  `  C
) z ) ) ) )  ->  (
x ( 2nd `  ( G  o.func 
F ) ) z )  =  ( ( ( ( 1st `  F
) `  x )
( 2nd `  G
) ( ( 1st `  F ) `  z
) )  o.  (
x ( 2nd `  F
) z ) ) )
137136fveq1d 5868 . . . . . . . . . 10  |-  ( ( ( ph  /\  x  e.  ( Base `  C
) )  /\  (
( y  e.  (
Base `  C )  /\  z  e.  ( Base `  C ) )  /\  ( f  e.  ( x ( Hom  `  C ) y )  /\  g  e.  ( y ( Hom  `  C
) z ) ) ) )  ->  (
( x ( 2nd `  ( G  o.func  F )
) z ) `  ( g ( <.
x ,  y >.
(comp `  C )
z ) f ) )  =  ( ( ( ( ( 1st `  F ) `  x
) ( 2nd `  G
) ( ( 1st `  F ) `  z
) )  o.  (
x ( 2nd `  F
) z ) ) `
 ( g (
<. x ,  y >.
(comp `  C )
z ) f ) ) )
138103adantr 465 . . . . . . . . . . . . 13  |-  ( ( ( ph  /\  x  e.  ( Base `  C
) )  /\  (
( y  e.  (
Base `  C )  /\  z  e.  ( Base `  C ) )  /\  ( f  e.  ( x ( Hom  `  C ) y )  /\  g  e.  ( y ( Hom  `  C
) z ) ) ) )  ->  (
( 1st `  ( G  o.func 
F ) ) `  x )  =  ( ( 1st `  G
) `  ( ( 1st `  F ) `  x ) ) )
1391, 134, 135, 112cofu1 15111 . . . . . . . . . . . . 13  |-  ( ( ( ph  /\  x  e.  ( Base `  C
) )  /\  (
( y  e.  (
Base `  C )  /\  z  e.  ( Base `  C ) )  /\  ( f  e.  ( x ( Hom  `  C ) y )  /\  g  e.  ( y ( Hom  `  C
) z ) ) ) )  ->  (
( 1st `  ( G  o.func 
F ) ) `  y )  =  ( ( 1st `  G
) `  ( ( 1st `  F ) `  y ) ) )
140138, 139opeq12d 4221 . . . . . . . . . . . 12  |-  ( ( ( ph  /\  x  e.  ( Base `  C
) )  /\  (
( y  e.  (
Base `  C )  /\  z  e.  ( Base `  C ) )  /\  ( f  e.  ( x ( Hom  `  C ) y )  /\  g  e.  ( y ( Hom  `  C
) z ) ) ) )  ->  <. (
( 1st `  ( G  o.func 
F ) ) `  x ) ,  ( ( 1st `  ( G  o.func 
F ) ) `  y ) >.  =  <. ( ( 1st `  G
) `  ( ( 1st `  F ) `  x ) ) ,  ( ( 1st `  G
) `  ( ( 1st `  F ) `  y ) ) >.
)
1411, 134, 135, 108cofu1 15111 . . . . . . . . . . . 12  |-  ( ( ( ph  /\  x  e.  ( Base `  C
) )  /\  (
( y  e.  (
Base `  C )  /\  z  e.  ( Base `  C ) )  /\  ( f  e.  ( x ( Hom  `  C ) y )  /\  g  e.  ( y ( Hom  `  C
) z ) ) ) )  ->  (
( 1st `  ( G  o.func 
F ) ) `  z )  =  ( ( 1st `  G
) `  ( ( 1st `  F ) `  z ) ) )
142140, 141oveq12d 6302 . . . . . . . . . . 11  |-  ( ( ( ph  /\  x  e.  ( Base `  C
) )  /\  (
( y  e.  (
Base `  C )  /\  z  e.  ( Base `  C ) )  /\  ( f  e.  ( x ( Hom  `  C ) y )  /\  g  e.  ( y ( Hom  `  C
) z ) ) ) )  ->  ( <. ( ( 1st `  ( G  o.func 
F ) ) `  x ) ,  ( ( 1st `  ( G  o.func 
F ) ) `  y ) >. (comp `  E ) ( ( 1st `  ( G  o.func 
F ) ) `  z ) )  =  ( <. ( ( 1st `  G ) `  (
( 1st `  F
) `  x )
) ,  ( ( 1st `  G ) `
 ( ( 1st `  F ) `  y
) ) >. (comp `  E ) ( ( 1st `  G ) `
 ( ( 1st `  F ) `  z
) ) ) )
1431, 134, 135, 112, 108, 46, 114cofu2 15113 . . . . . . . . . . 11  |-  ( ( ( ph  /\  x  e.  ( Base `  C
) )  /\  (
( y  e.  (
Base `  C )  /\  z  e.  ( Base `  C ) )  /\  ( f  e.  ( x ( Hom  `  C ) y )  /\  g  e.  ( y ( Hom  `  C
) z ) ) ) )  ->  (
( y ( 2nd `  ( G  o.func  F )
) z ) `  g )  =  ( ( ( ( 1st `  F ) `  y
) ( 2nd `  G
) ( ( 1st `  F ) `  z
) ) `  (
( y ( 2nd `  F ) z ) `
 g ) ) )
1441, 134, 135, 107, 112, 46, 113cofu2 15113 . . . . . . . . . . 11  |-  ( ( ( ph  /\  x  e.  ( Base `  C
) )  /\  (
( y  e.  (
Base `  C )  /\  z  e.  ( Base `  C ) )  /\  ( f  e.  ( x ( Hom  `  C ) y )  /\  g  e.  ( y ( Hom  `  C
) z ) ) ) )  ->  (
( x ( 2nd `  ( G  o.func  F )
) y ) `  f )  =  ( ( ( ( 1st `  F ) `  x
) ( 2nd `  G
) ( ( 1st `  F ) `  y
) ) `  (
( x ( 2nd `  F ) y ) `
 f ) ) )
145142, 143, 144oveq123d 6305 . . . . . . . . . 10  |-  ( ( ( ph  /\  x  e.  ( Base `  C
) )  /\  (
( y  e.  (
Base `  C )  /\  z  e.  ( Base `  C ) )  /\  ( f  e.  ( x ( Hom  `  C ) y )  /\  g  e.  ( y ( Hom  `  C
) z ) ) ) )  ->  (
( ( y ( 2nd `  ( G  o.func 
F ) ) z ) `  g ) ( <. ( ( 1st `  ( G  o.func  F )
) `  x ) ,  ( ( 1st `  ( G  o.func  F )
) `  y ) >. (comp `  E )
( ( 1st `  ( G  o.func 
F ) ) `  z ) ) ( ( x ( 2nd `  ( G  o.func  F )
) y ) `  f ) )  =  ( ( ( ( ( 1st `  F
) `  y )
( 2nd `  G
) ( ( 1st `  F ) `  z
) ) `  (
( y ( 2nd `  F ) z ) `
 g ) ) ( <. ( ( 1st `  G ) `  (
( 1st `  F
) `  x )
) ,  ( ( 1st `  G ) `
 ( ( 1st `  F ) `  y
) ) >. (comp `  E ) ( ( 1st `  G ) `
 ( ( 1st `  F ) `  z
) ) ) ( ( ( ( 1st `  F ) `  x
) ( 2nd `  G
) ( ( 1st `  F ) `  y
) ) `  (
( x ( 2nd `  F ) y ) `
 f ) ) ) )
146133, 137, 1453eqtr4d 2518 . . . . . . . . 9  |-  ( ( ( ph  /\  x  e.  ( Base `  C
) )  /\  (
( y  e.  (
Base `  C )  /\  z  e.  ( Base `  C ) )  /\  ( f  e.  ( x ( Hom  `  C ) y )  /\  g  e.  ( y ( Hom  `  C
) z ) ) ) )  ->  (
( x ( 2nd `  ( G  o.func  F )
) z ) `  ( g ( <.
x ,  y >.
(comp `  C )
z ) f ) )  =  ( ( ( y ( 2nd `  ( G  o.func  F )
) z ) `  g ) ( <.
( ( 1st `  ( G  o.func 
F ) ) `  x ) ,  ( ( 1st `  ( G  o.func 
F ) ) `  y ) >. (comp `  E ) ( ( 1st `  ( G  o.func 
F ) ) `  z ) ) ( ( x ( 2nd `  ( G  o.func  F )
) y ) `  f ) ) )
147146anassrs 648 . . . . . . . 8  |-  ( ( ( ( ph  /\  x  e.  ( Base `  C ) )  /\  ( y  e.  (
Base `  C )  /\  z  e.  ( Base `  C ) ) )  /\  ( f  e.  ( x ( Hom  `  C )
y )  /\  g  e.  ( y ( Hom  `  C ) z ) ) )  ->  (
( x ( 2nd `  ( G  o.func  F )
) z ) `  ( g ( <.
x ,  y >.
(comp `  C )
z ) f ) )  =  ( ( ( y ( 2nd `  ( G  o.func  F )
) z ) `  g ) ( <.
( ( 1st `  ( G  o.func 
F ) ) `  x ) ,  ( ( 1st `  ( G  o.func 
F ) ) `  y ) >. (comp `  E ) ( ( 1st `  ( G  o.func 
F ) ) `  z ) ) ( ( x ( 2nd `  ( G  o.func  F )
) y ) `  f ) ) )
148147ralrimivva 2885 . . . . . . 7  |-  ( ( ( ph  /\  x  e.  ( Base `  C
) )  /\  (
y  e.  ( Base `  C )  /\  z  e.  ( Base `  C
) ) )  ->  A. f  e.  (
x ( Hom  `  C
) y ) A. g  e.  ( y
( Hom  `  C ) z ) ( ( x ( 2nd `  ( G  o.func 
F ) ) z ) `  ( g ( <. x ,  y
>. (comp `  C )
z ) f ) )  =  ( ( ( y ( 2nd `  ( G  o.func  F )
) z ) `  g ) ( <.
( ( 1st `  ( G  o.func 
F ) ) `  x ) ,  ( ( 1st `  ( G  o.func 
F ) ) `  y ) >. (comp `  E ) ( ( 1st `  ( G  o.func 
F ) ) `  z ) ) ( ( x ( 2nd `  ( G  o.func  F )
) y ) `  f ) ) )
149148ralrimivva 2885 . . . . . 6  |-  ( (
ph  /\  x  e.  ( Base `  C )
)  ->  A. y  e.  ( Base `  C
) A. z  e.  ( Base `  C
) A. f  e.  ( x ( Hom  `  C ) y ) A. g  e.  ( y ( Hom  `  C
) z ) ( ( x ( 2nd `  ( G  o.func  F )
) z ) `  ( g ( <.
x ,  y >.
(comp `  C )
z ) f ) )  =  ( ( ( y ( 2nd `  ( G  o.func  F )
) z ) `  g ) ( <.
( ( 1st `  ( G  o.func 
F ) ) `  x ) ,  ( ( 1st `  ( G  o.func 
F ) ) `  y ) >. (comp `  E ) ( ( 1st `  ( G  o.func 
F ) ) `  z ) ) ( ( x ( 2nd `  ( G  o.func  F )
) y ) `  f ) ) )
150105, 149jca 532 . . . . 5  |-  ( (
ph  /\  x  e.  ( Base `  C )
)  ->  ( (
( x ( 2nd `  ( G  o.func  F )
) x ) `  ( ( Id `  C ) `  x
) )  =  ( ( Id `  E
) `  ( ( 1st `  ( G  o.func  F ) ) `  x ) )  /\  A. y  e.  ( Base `  C
) A. z  e.  ( Base `  C
) A. f  e.  ( x ( Hom  `  C ) y ) A. g  e.  ( y ( Hom  `  C
) z ) ( ( x ( 2nd `  ( G  o.func  F )
) z ) `  ( g ( <.
x ,  y >.
(comp `  C )
z ) f ) )  =  ( ( ( y ( 2nd `  ( G  o.func  F )
) z ) `  g ) ( <.
( ( 1st `  ( G  o.func 
F ) ) `  x ) ,  ( ( 1st `  ( G  o.func 
F ) ) `  y ) >. (comp `  E ) ( ( 1st `  ( G  o.func 
F ) ) `  z ) ) ( ( x ( 2nd `  ( G  o.func  F )
) y ) `  f ) ) ) )
151150ralrimiva 2878 . . . 4  |-  ( ph  ->  A. x  e.  (
Base `  C )
( ( ( x ( 2nd `  ( G  o.func 
F ) ) x ) `  ( ( Id `  C ) `
 x ) )  =  ( ( Id
`  E ) `  ( ( 1st `  ( G  o.func 
F ) ) `  x ) )  /\  A. y  e.  ( Base `  C ) A. z  e.  ( Base `  C
) A. f  e.  ( x ( Hom  `  C ) y ) A. g  e.  ( y ( Hom  `  C
) z ) ( ( x ( 2nd `  ( G  o.func  F )
) z ) `  ( g ( <.
x ,  y >.
(comp `  C )
z ) f ) )  =  ( ( ( y ( 2nd `  ( G  o.func  F )
) z ) `  g ) ( <.
( ( 1st `  ( G  o.func 
F ) ) `  x ) ,  ( ( 1st `  ( G  o.func 
F ) ) `  y ) >. (comp `  E ) ( ( 1st `  ( G  o.func 
F ) ) `  z ) ) ( ( x ( 2nd `  ( G  o.func  F )
) y ) `  f ) ) ) )
152 funcrcl 15090 . . . . . . 7  |-  ( G  e.  ( D  Func  E )  ->  ( D  e.  Cat  /\  E  e. 
Cat ) )
1533, 152syl 16 . . . . . 6  |-  ( ph  ->  ( D  e.  Cat  /\  E  e.  Cat )
)
154153simprd 463 . . . . 5  |-  ( ph  ->  E  e.  Cat )
1551, 17, 46, 38, 84, 90, 110, 121, 99, 154isfunc 15091 . . . 4  |-  ( ph  ->  ( ( 1st `  ( G  o.func 
F ) ) ( C  Func  E )
( 2nd `  ( G  o.func 
F ) )  <->  ( ( 1st `  ( G  o.func  F ) ) : ( Base `  C ) --> ( Base `  E )  /\  ( 2nd `  ( G  o.func  F ) )  e.  X_ z  e.  ( ( Base `  C
)  X.  ( Base `  C ) ) ( ( ( ( 1st `  ( G  o.func  F )
) `  ( 1st `  z ) ) ( Hom  `  E )
( ( 1st `  ( G  o.func 
F ) ) `  ( 2nd `  z ) ) )  ^m  (
( Hom  `  C ) `
 z ) )  /\  A. x  e.  ( Base `  C
) ( ( ( x ( 2nd `  ( G  o.func 
F ) ) x ) `  ( ( Id `  C ) `
 x ) )  =  ( ( Id
`  E ) `  ( ( 1st `  ( G  o.func 
F ) ) `  x ) )  /\  A. y  e.  ( Base `  C ) A. z  e.  ( Base `  C
) A. f  e.  ( x ( Hom  `  C ) y ) A. g  e.  ( y ( Hom  `  C
) z ) ( ( x ( 2nd `  ( G  o.func  F )
) z ) `  ( g ( <.
x ,  y >.
(comp `  C )
z ) f ) )  =  ( ( ( y ( 2nd `  ( G  o.func  F )
) z ) `  g ) ( <.
( ( 1st `  ( G  o.func 
F ) ) `  x ) ,  ( ( 1st `  ( G  o.func 
F ) ) `  y ) >. (comp `  E ) ( ( 1st `  ( G  o.func 
F ) ) `  z ) ) ( ( x ( 2nd `  ( G  o.func  F )
) y ) `  f ) ) ) ) ) )
15629, 83, 151, 155mpbir3and 1179 . . 3  |-  ( ph  ->  ( 1st `  ( G  o.func 
F ) ) ( C  Func  E )
( 2nd `  ( G  o.func 
F ) ) )
157 df-br 4448 . . 3  |-  ( ( 1st `  ( G  o.func 
F ) ) ( C  Func  E )
( 2nd `  ( G  o.func 
F ) )  <->  <. ( 1st `  ( G  o.func  F )
) ,  ( 2nd `  ( G  o.func  F )
) >.  e.  ( C 
Func  E ) )
158156, 157sylib 196 . 2  |-  ( ph  -> 
<. ( 1st `  ( G  o.func 
F ) ) ,  ( 2nd `  ( G  o.func 
F ) ) >.  e.  ( C  Func  E
) )
15915, 158eqeltrd 2555 1  |-  ( ph  ->  ( G  o.func  F )  e.  ( C  Func  E
) )
Colors of variables: wff setvar class
Syntax hints:    -> wi 4    /\ wa 369    = wceq 1379    e. wcel 1767   A.wral 2814   <.cop 4033   class class class wbr 4447    X. cxp 4997    o. ccom 5003   Rel wrel 5004    Fn wfn 5583   -->wf 5584   ` cfv 5588  (class class class)co 6284    |-> cmpt2 6286   1stc1st 6782   2ndc2nd 6783    ^m cmap 7420   X_cixp 7469   Basecbs 14490   Hom chom 14566  compcco 14567   Catccat 14919   Idccid 14920    Func cfunc 15081    o.func ccofu 15083
This theorem was proved from axioms:  ax-mp 5  ax-1 6  ax-2 7  ax-3 8  ax-gen 1601  ax-4 1612  ax-5 1680  ax-6 1719  ax-7 1739  ax-8 1769  ax-9 1771  ax-10 1786  ax-11 1791  ax-12 1803  ax-13 1968  ax-ext 2445  ax-rep 4558  ax-sep 4568  ax-nul 4576  ax-pow 4625  ax-pr 4686  ax-un 6576
This theorem depends on definitions:  df-bi 185  df-or 370  df-an 371  df-3an 975  df-tru 1382  df-ex 1597  df-nf 1600  df-sb 1712  df-eu 2279  df-mo 2280  df-clab 2453  df-cleq 2459  df-clel 2462  df-nfc 2617  df-ne 2664  df-ral 2819  df-rex 2820  df-reu 2821  df-rmo 2822  df-rab 2823  df-v 3115  df-sbc 3332  df-csb 3436  df-dif 3479  df-un 3481  df-in 3483  df-ss 3490  df-nul 3786  df-if 3940  df-pw 4012  df-sn 4028  df-pr 4030  df-op 4034  df-uni 4246  df-iun 4327  df-br 4448  df-opab 4506  df-mpt 4507  df-id 4795  df-xp 5005  df-rel 5006  df-cnv 5007  df-co 5008  df-dm 5009  df-rn 5010  df-res 5011  df-ima 5012  df-iota 5551  df-fun 5590  df-fn 5591  df-f 5592  df-f1 5593  df-fo 5594  df-f1o 5595  df-fv 5596  df-riota 6245  df-ov 6287  df-oprab 6288  df-mpt2 6289  df-1st 6784  df-2nd 6785  df-map 7422  df-ixp 7470  df-cat 14923  df-cid 14924  df-func 15085  df-cofu 15087
This theorem is referenced by:  cofuass  15116  cofull  15161  cofth  15162  catccatid  15287  1st2ndprf  15333  uncfcl  15362  uncf1  15363  uncf2  15364  yonedalem1  15399  yonedalem21  15400  yonedalem22  15405
  Copyright terms: Public domain W3C validator