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

Theorem cofucl 14783
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 2435 . . . 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 14777 . . 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 14778 . . . 4  |-  ( ph  ->  ( 1st `  ( G  o.func 
F ) )  =  ( ( 1st `  G
)  o.  ( 1st `  F ) ) )
64fveq2d 5685 . . . . 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 5691 . . . . . . 7  |-  ( 1st `  G )  e.  _V
8 fvex 5691 . . . . . . 7  |-  ( 1st `  F )  e.  _V
97, 8coex 6520 . . . . . 6  |-  ( ( 1st `  G )  o.  ( 1st `  F
) )  e.  _V
10 fvex 5691 . . . . . . 7  |-  ( Base `  C )  e.  _V
1110, 10mpt2ex 6641 . . . . . 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 6577 . . . . 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 2483 . . . 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 4057 . . 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 2470 . 2  |-  ( ph  ->  ( G  o.func  F )  =  <. ( 1st `  ( G  o.func 
F ) ) ,  ( 2nd `  ( G  o.func 
F ) ) >.
)
16 eqid 2435 . . . . . . 7  |-  ( Base `  D )  =  (
Base `  D )
17 eqid 2435 . . . . . . 7  |-  ( Base `  E )  =  (
Base `  E )
18 relfunc 14757 . . . . . . . 8  |-  Rel  ( D  Func  E )
19 1st2ndbr 6614 . . . . . . . 8  |-  ( ( Rel  ( D  Func  E )  /\  G  e.  ( D  Func  E
) )  ->  ( 1st `  G ) ( D  Func  E )
( 2nd `  G
) )
2018, 3, 19sylancr 658 . . . . . . 7  |-  ( ph  ->  ( 1st `  G
) ( D  Func  E ) ( 2nd `  G
) )
2116, 17, 20funcf1 14761 . . . . . 6  |-  ( ph  ->  ( 1st `  G
) : ( Base `  D ) --> ( Base `  E ) )
22 relfunc 14757 . . . . . . . 8  |-  Rel  ( C  Func  D )
23 1st2ndbr 6614 . . . . . . . 8  |-  ( ( Rel  ( C  Func  D )  /\  F  e.  ( C  Func  D
) )  ->  ( 1st `  F ) ( C  Func  D )
( 2nd `  F
) )
2422, 2, 23sylancr 658 . . . . . . 7  |-  ( ph  ->  ( 1st `  F
) ( C  Func  D ) ( 2nd `  F
) )
251, 16, 24funcf1 14761 . . . . . 6  |-  ( ph  ->  ( 1st `  F
) : ( Base `  C ) --> ( Base `  D ) )
26 fco 5558 . . . . . 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 656 . . . . 5  |-  ( ph  ->  ( ( 1st `  G
)  o.  ( 1st `  F ) ) : ( Base `  C
) --> ( Base `  E
) )
285feq1d 5536 . . . . 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 2435 . . . . . . 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 6107 . . . . . . . 8  |-  ( ( ( 1st `  F
) `  x )
( 2nd `  G
) ( ( 1st `  F ) `  y
) )  e.  _V
32 ovex 6107 . . . . . . . 8  |-  ( x ( 2nd `  F
) y )  e. 
_V
3331, 32coex 6520 . . . . . . 7  |-  ( ( ( ( 1st `  F
) `  x )
( 2nd `  G
) ( ( 1st `  F ) `  y
) )  o.  (
x ( 2nd `  F
) y ) )  e.  _V
3430, 33fnmpt2i 6634 . . . . . 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 5491 . . . . . 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 2435 . . . . . . . . . . 11  |-  ( Hom  `  D )  =  ( Hom  `  D )
38 eqid 2435 . . . . . . . . . . 11  |-  ( Hom  `  E )  =  ( Hom  `  E )
3920adantr 462 . . . . . . . . . . 11  |-  ( (
ph  /\  ( x  e.  ( Base `  C
)  /\  y  e.  ( Base `  C )
) )  ->  ( 1st `  G ) ( D  Func  E )
( 2nd `  G
) )
4025adantr 462 . . . . . . . . . . . 12  |-  ( (
ph  /\  ( x  e.  ( Base `  C
)  /\  y  e.  ( Base `  C )
) )  ->  ( 1st `  F ) : ( Base `  C
) --> ( Base `  D
) )
41 simprl 750 . . . . . . . . . . . 12  |-  ( (
ph  /\  ( x  e.  ( Base `  C
)  /\  y  e.  ( Base `  C )
) )  ->  x  e.  ( Base `  C
) )
4240, 41ffvelrnd 5834 . . . . . . . . . . 11  |-  ( (
ph  /\  ( x  e.  ( Base `  C
)  /\  y  e.  ( Base `  C )
) )  ->  (
( 1st `  F
) `  x )  e.  ( Base `  D
) )
43 simprr 751 . . . . . . . . . . . 12  |-  ( (
ph  /\  ( x  e.  ( Base `  C
)  /\  y  e.  ( Base `  C )
) )  ->  y  e.  ( Base `  C
) )
4440, 43ffvelrnd 5834 . . . . . . . . . . 11  |-  ( (
ph  /\  ( x  e.  ( Base `  C
)  /\  y  e.  ( Base `  C )
) )  ->  (
( 1st `  F
) `  y )  e.  ( Base `  D
) )
4516, 37, 38, 39, 42, 44funcf2 14763 . . . . . . . . . 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 2435 . . . . . . . . . . 11  |-  ( Hom  `  C )  =  ( Hom  `  C )
4724adantr 462 . . . . . . . . . . 11  |-  ( (
ph  /\  ( x  e.  ( Base `  C
)  /\  y  e.  ( Base `  C )
) )  ->  ( 1st `  F ) ( C  Func  D )
( 2nd `  F
) )
481, 46, 37, 47, 41, 43funcf2 14763 . . . . . . . . . 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 5558 . . . . . . . . . 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 656 . . . . . . . . 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 6107 . . . . . . . . . 10  |-  ( ( ( 1st `  G
) `  ( ( 1st `  F ) `  x ) ) ( Hom  `  E )
( ( 1st `  G
) `  ( ( 1st `  F ) `  y ) ) )  e.  _V
52 ovex 6107 . . . . . . . . . 10  |-  ( x ( Hom  `  C
) y )  e. 
_V
5351, 52elmap 7231 . . . . . . . . 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 462 . . . . . . . . 9  |-  ( (
ph  /\  ( x  e.  ( Base `  C
)  /\  y  e.  ( Base `  C )
) )  ->  F  e.  ( C  Func  D
) )
563adantr 462 . . . . . . . . 9  |-  ( (
ph  /\  ( x  e.  ( Base `  C
)  /\  y  e.  ( Base `  C )
) )  ->  G  e.  ( D  Func  E
) )
571, 55, 56, 41, 43cofu2nd 14780 . . . . . . . 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 14779 . . . . . . . . . 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 14779 . . . . . . . . . 10  |-  ( (
ph  /\  ( x  e.  ( Base `  C
)  /\  y  e.  ( Base `  C )
) )  ->  (
( 1st `  ( G  o.func 
F ) ) `  y )  =  ( ( 1st `  G
) `  ( ( 1st `  F ) `  y ) ) )
6058, 59oveq12d 6100 . . . . . . . . 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 6097 . . . . . . . 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 2516 . . . . . . 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 2800 . . . . . 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 5681 . . . . . . . . 9  |-  ( z  =  <. x ,  y
>.  ->  ( ( 2nd `  ( G  o.func  F )
) `  z )  =  ( ( 2nd `  ( G  o.func  F )
) `  <. x ,  y >. ) )
65 df-ov 6085 . . . . . . . . 9  |-  ( x ( 2nd `  ( G  o.func 
F ) ) y )  =  ( ( 2nd `  ( G  o.func 
F ) ) `  <. x ,  y >.
)
6664, 65syl6eqr 2485 . . . . . . . 8  |-  ( z  =  <. x ,  y
>.  ->  ( ( 2nd `  ( G  o.func  F )
) `  z )  =  ( x ( 2nd `  ( G  o.func 
F ) ) y ) )
67 vex 2967 . . . . . . . . . . . 12  |-  x  e. 
_V
68 vex 2967 . . . . . . . . . . . 12  |-  y  e. 
_V
6967, 68op1std 6578 . . . . . . . . . . 11  |-  ( z  =  <. x ,  y
>.  ->  ( 1st `  z
)  =  x )
7069fveq2d 5685 . . . . . . . . . 10  |-  ( z  =  <. x ,  y
>.  ->  ( ( 1st `  ( G  o.func  F )
) `  ( 1st `  z ) )  =  ( ( 1st `  ( G  o.func 
F ) ) `  x ) )
7167, 68op2ndd 6579 . . . . . . . . . . 11  |-  ( z  =  <. x ,  y
>.  ->  ( 2nd `  z
)  =  y )
7271fveq2d 5685 . . . . . . . . . 10  |-  ( z  =  <. x ,  y
>.  ->  ( ( 1st `  ( G  o.func  F )
) `  ( 2nd `  z ) )  =  ( ( 1st `  ( G  o.func 
F ) ) `  y ) )
7370, 72oveq12d 6100 . . . . . . . . 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 5681 . . . . . . . . . 10  |-  ( z  =  <. x ,  y
>.  ->  ( ( Hom  `  C ) `  z
)  =  ( ( Hom  `  C ) `  <. x ,  y
>. ) )
75 df-ov 6085 . . . . . . . . . 10  |-  ( x ( Hom  `  C
) y )  =  ( ( Hom  `  C
) `  <. x ,  y >. )
7674, 75syl6eqr 2485 . . . . . . . . 9  |-  ( z  =  <. x ,  y
>.  ->  ( ( Hom  `  C ) `  z
)  =  ( x ( Hom  `  C
) y ) )
7773, 76oveq12d 6100 . . . . . . . 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 2503 . . . . . . 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 4970 . . . . . 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 5691 . . . . . 6  |-  ( 2nd `  ( G  o.func  F )
)  e.  _V
8281elixp 7260 . . . . 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 659 . . . 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 2435 . . . . . . . . . 10  |-  ( Id
`  C )  =  ( Id `  C
)
85 eqid 2435 . . . . . . . . . 10  |-  ( Id
`  D )  =  ( Id `  D
)
8624adantr 462 . . . . . . . . . 10  |-  ( (
ph  /\  x  e.  ( Base `  C )
)  ->  ( 1st `  F ) ( C 
Func  D ) ( 2nd `  F ) )
87 simpr 458 . . . . . . . . . 10  |-  ( (
ph  /\  x  e.  ( Base `  C )
)  ->  x  e.  ( Base `  C )
)
881, 84, 85, 86, 87funcid 14765 . . . . . . . . 9  |-  ( (
ph  /\  x  e.  ( Base `  C )
)  ->  ( (
x ( 2nd `  F
) x ) `  ( ( Id `  C ) `  x
) )  =  ( ( Id `  D
) `  ( ( 1st `  F ) `  x ) ) )
8988fveq2d 5685 . . . . . . . 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 2435 . . . . . . . . 9  |-  ( Id
`  E )  =  ( Id `  E
)
9120adantr 462 . . . . . . . . 9  |-  ( (
ph  /\  x  e.  ( Base `  C )
)  ->  ( 1st `  G ) ( D 
Func  E ) ( 2nd `  G ) )
9225ffvelrnda 5833 . . . . . . . . 9  |-  ( (
ph  /\  x  e.  ( Base `  C )
)  ->  ( ( 1st `  F ) `  x )  e.  (
Base `  D )
)
9316, 85, 90, 91, 92funcid 14765 . . . . . . . 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 2467 . . . . . . 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 462 . . . . . . . 8  |-  ( (
ph  /\  x  e.  ( Base `  C )
)  ->  F  e.  ( C  Func  D ) )
963adantr 462 . . . . . . . 8  |-  ( (
ph  /\  x  e.  ( Base `  C )
)  ->  G  e.  ( D  Func  E ) )
97 funcrcl 14758 . . . . . . . . . . . 12  |-  ( F  e.  ( C  Func  D )  ->  ( C  e.  Cat  /\  D  e. 
Cat ) )
982, 97syl 16 . . . . . . . . . . 11  |-  ( ph  ->  ( C  e.  Cat  /\  D  e.  Cat )
)
9998simpld 456 . . . . . . . . . 10  |-  ( ph  ->  C  e.  Cat )
10099adantr 462 . . . . . . . . 9  |-  ( (
ph  /\  x  e.  ( Base `  C )
)  ->  C  e.  Cat )
1011, 46, 84, 100, 87catidcl 14605 . . . . . . . 8  |-  ( (
ph  /\  x  e.  ( Base `  C )
)  ->  ( ( Id `  C ) `  x )  e.  ( x ( Hom  `  C
) x ) )
1021, 95, 96, 87, 87, 46, 101cofu2 14781 . . . . . . 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 14779 . . . . . . . 8  |-  ( (
ph  /\  x  e.  ( Base `  C )
)  ->  ( ( 1st `  ( G  o.func  F ) ) `  x )  =  ( ( 1st `  G ) `  (
( 1st `  F
) `  x )
) )
104103fveq2d 5685 . . . . . . 7  |-  ( (
ph  /\  x  e.  ( Base `  C )
)  ->  ( ( Id `  E ) `  ( ( 1st `  ( G  o.func 
F ) ) `  x ) )  =  ( ( Id `  E ) `  (
( 1st `  G
) `  ( ( 1st `  F ) `  x ) ) ) )
10594, 102, 1043eqtr4d 2477 . . . . . 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 462 . . . . . . . . . . . . 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 749 . . . . . . . . . . . . 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 757 . . . . . . . . . . . . 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 14763 . . . . . . . . . . . 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 2435 . . . . . . . . . . . . 13  |-  (comp `  C )  =  (comp `  C )
111100adantr 462 . . . . . . . . . . . . 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 756 . . . . . . . . . . . . 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 758 . . . . . . . . . . . . 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 759 . . . . . . . . . . . . 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 14608 . . . . . . . . . . . 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 5758 . . . . . . . . . . . 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 656 . . . . . . . . . . 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 2435 . . . . . . . . . . . . 13  |-  (comp `  D )  =  (comp `  D )
1191, 46, 110, 118, 106, 107, 112, 108, 113, 114funcco 14766 . . . . . . . . . . . 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 5685 . . . . . . . . . . 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 2435 . . . . . . . . . . . 12  |-  (comp `  E )  =  (comp `  E )
12291adantr 462 . . . . . . . . . . . 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 462 . . . . . . . . . . . 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 462 . . . . . . . . . . . . . 14  |-  ( (
ph  /\  x  e.  ( Base `  C )
)  ->  ( 1st `  F ) : (
Base `  C ) --> ( Base `  D )
)
125124adantr 462 . . . . . . . . . . . . 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 5834 . . . . . . . . . . . 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 5834 . . . . . . . . . . . 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 14763 . . . . . . . . . . . . 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 5834 . . . . . . . . . . . 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 14763 . . . . . . . . . . . . 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 5834 . . . . . . . . . . . 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 14766 . . . . . . . . . . 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 2471 . . . . . . . . . 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 462 . . . . . . . . . . . 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 462 . . . . . . . . . . . 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 14780 . . . . . . . . . . 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 5683 . . . . . . . . . 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 462 . . . . . . . . . . . . 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 14779 . . . . . . . . . . . . 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 4057 . . . . . . . . . . . 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 14779 . . . . . . . . . . . 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 6100 . . . . . . . . . . 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 14781 . . . . . . . . . . 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 14781 . . . . . . . . . . 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 6103 . . . . . . . . . 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 2477 . . . . . . . . 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 643 . . . . . . . 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 2800 . . . . . . 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 2800 . . . . . 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 529 . . . . 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 2791 . . . 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 14758 . . . . . . 7  |-  ( G  e.  ( D  Func  E )  ->  ( D  e.  Cat  /\  E  e. 
Cat ) )
1533, 152syl 16 . . . . . 6  |-  ( ph  ->  ( D  e.  Cat  /\  E  e.  Cat )
)
154153simprd 460 . . . . 5  |-  ( ph  ->  E  e.  Cat )
1551, 17, 46, 38, 84, 90, 110, 121, 99, 154isfunc 14759 . . . 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 1166 . . 3  |-  ( ph  ->  ( 1st `  ( G  o.func 
F ) ) ( C  Func  E )
( 2nd `  ( G  o.func 
F ) ) )
157 df-br 4283 . . 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 2509 1  |-  ( ph  ->  ( G  o.func  F )  e.  ( C  Func  E
) )
Colors of variables: wff setvar class
Syntax hints:    -> wi 4    /\ wa 369    = wceq 1364    e. wcel 1757   A.wral 2707   <.cop 3873   class class class wbr 4282    X. cxp 4827    o. ccom 4833   Rel wrel 4834    Fn wfn 5403   -->wf 5404   ` cfv 5408  (class class class)co 6082    e. cmpt2 6084   1stc1st 6566   2ndc2nd 6567    ^m cmap 7204   X_cixp 7253   Basecbs 14159   Hom chom 14234  compcco 14235   Catccat 14587   Idccid 14588    Func cfunc 14749    o.func ccofu 14751
This theorem was proved from axioms:  ax-mp 5  ax-1 6  ax-2 7  ax-3 8  ax-gen 1596  ax-4 1607  ax-5 1671  ax-6 1709  ax-7 1729  ax-8 1759  ax-9 1761  ax-10 1776  ax-11 1781  ax-12 1793  ax-13 1944  ax-ext 2416  ax-rep 4393  ax-sep 4403  ax-nul 4411  ax-pow 4460  ax-pr 4521  ax-un 6363
This theorem depends on definitions:  df-bi 185  df-or 370  df-an 371  df-3an 962  df-tru 1367  df-ex 1592  df-nf 1595  df-sb 1702  df-eu 2260  df-mo 2261  df-clab 2422  df-cleq 2428  df-clel 2431  df-nfc 2560  df-ne 2600  df-ral 2712  df-rex 2713  df-reu 2714  df-rmo 2715  df-rab 2716  df-v 2966  df-sbc 3178  df-csb 3279  df-dif 3321  df-un 3323  df-in 3325  df-ss 3332  df-nul 3628  df-if 3782  df-pw 3852  df-sn 3868  df-pr 3870  df-op 3874  df-uni 4082  df-iun 4163  df-br 4283  df-opab 4341  df-mpt 4342  df-id 4625  df-xp 4835  df-rel 4836  df-cnv 4837  df-co 4838  df-dm 4839  df-rn 4840  df-res 4841  df-ima 4842  df-iota 5371  df-fun 5410  df-fn 5411  df-f 5412  df-f1 5413  df-fo 5414  df-f1o 5415  df-fv 5416  df-riota 6041  df-ov 6085  df-oprab 6086  df-mpt2 6087  df-1st 6568  df-2nd 6569  df-map 7206  df-ixp 7254  df-cat 14591  df-cid 14592  df-func 14753  df-cofu 14755
This theorem is referenced by:  cofuass  14784  cofull  14829  cofth  14830  catccatid  14955  1st2ndprf  15001  uncfcl  15030  uncf1  15031  uncf2  15032  yonedalem1  15067  yonedalem21  15068  yonedalem22  15073
  Copyright terms: Public domain W3C validator