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

Theorem cofucl 15376
Description: The composition of two functors is a functor. Proposition 3.23 of [Adamek] p. 33. (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 2454 . . . 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 15370 . . 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 15371 . . . 4  |-  ( ph  ->  ( 1st `  ( G  o.func 
F ) )  =  ( ( 1st `  G
)  o.  ( 1st `  F ) ) )
64fveq2d 5852 . . . . 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 5858 . . . . . . 7  |-  ( 1st `  G )  e.  _V
8 fvex 5858 . . . . . . 7  |-  ( 1st `  F )  e.  _V
97, 8coex 6725 . . . . . 6  |-  ( ( 1st `  G )  o.  ( 1st `  F
) )  e.  _V
10 fvex 5858 . . . . . . 7  |-  ( Base `  C )  e.  _V
1110, 10mpt2ex 6850 . . . . . 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 6782 . . . . 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 2511 . . . 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 4211 . . 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 2498 . 2  |-  ( ph  ->  ( G  o.func  F )  =  <. ( 1st `  ( G  o.func 
F ) ) ,  ( 2nd `  ( G  o.func 
F ) ) >.
)
16 eqid 2454 . . . . . . 7  |-  ( Base `  D )  =  (
Base `  D )
17 eqid 2454 . . . . . . 7  |-  ( Base `  E )  =  (
Base `  E )
18 relfunc 15350 . . . . . . . 8  |-  Rel  ( D  Func  E )
19 1st2ndbr 6822 . . . . . . . 8  |-  ( ( Rel  ( D  Func  E )  /\  G  e.  ( D  Func  E
) )  ->  ( 1st `  G ) ( D  Func  E )
( 2nd `  G
) )
2018, 3, 19sylancr 661 . . . . . . 7  |-  ( ph  ->  ( 1st `  G
) ( D  Func  E ) ( 2nd `  G
) )
2116, 17, 20funcf1 15354 . . . . . 6  |-  ( ph  ->  ( 1st `  G
) : ( Base `  D ) --> ( Base `  E ) )
22 relfunc 15350 . . . . . . . 8  |-  Rel  ( C  Func  D )
23 1st2ndbr 6822 . . . . . . . 8  |-  ( ( Rel  ( C  Func  D )  /\  F  e.  ( C  Func  D
) )  ->  ( 1st `  F ) ( C  Func  D )
( 2nd `  F
) )
2422, 2, 23sylancr 661 . . . . . . 7  |-  ( ph  ->  ( 1st `  F
) ( C  Func  D ) ( 2nd `  F
) )
251, 16, 24funcf1 15354 . . . . . 6  |-  ( ph  ->  ( 1st `  F
) : ( Base `  C ) --> ( Base `  D ) )
26 fco 5723 . . . . . 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 659 . . . . 5  |-  ( ph  ->  ( ( 1st `  G
)  o.  ( 1st `  F ) ) : ( Base `  C
) --> ( Base `  E
) )
285feq1d 5699 . . . . 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 2454 . . . . . . 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 6298 . . . . . . . 8  |-  ( ( ( 1st `  F
) `  x )
( 2nd `  G
) ( ( 1st `  F ) `  y
) )  e.  _V
32 ovex 6298 . . . . . . . 8  |-  ( x ( 2nd `  F
) y )  e. 
_V
3331, 32coex 6725 . . . . . . 7  |-  ( ( ( ( 1st `  F
) `  x )
( 2nd `  G
) ( ( 1st `  F ) `  y
) )  o.  (
x ( 2nd `  F
) y ) )  e.  _V
3430, 33fnmpt2i 6842 . . . . . 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 5653 . . . . . 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 2454 . . . . . . . . . . 11  |-  ( Hom  `  D )  =  ( Hom  `  D )
38 eqid 2454 . . . . . . . . . . 11  |-  ( Hom  `  E )  =  ( Hom  `  E )
3920adantr 463 . . . . . . . . . . 11  |-  ( (
ph  /\  ( x  e.  ( Base `  C
)  /\  y  e.  ( Base `  C )
) )  ->  ( 1st `  G ) ( D  Func  E )
( 2nd `  G
) )
4025adantr 463 . . . . . . . . . . . 12  |-  ( (
ph  /\  ( x  e.  ( Base `  C
)  /\  y  e.  ( Base `  C )
) )  ->  ( 1st `  F ) : ( Base `  C
) --> ( Base `  D
) )
41 simprl 754 . . . . . . . . . . . 12  |-  ( (
ph  /\  ( x  e.  ( Base `  C
)  /\  y  e.  ( Base `  C )
) )  ->  x  e.  ( Base `  C
) )
4240, 41ffvelrnd 6008 . . . . . . . . . . 11  |-  ( (
ph  /\  ( x  e.  ( Base `  C
)  /\  y  e.  ( Base `  C )
) )  ->  (
( 1st `  F
) `  x )  e.  ( Base `  D
) )
43 simprr 755 . . . . . . . . . . . 12  |-  ( (
ph  /\  ( x  e.  ( Base `  C
)  /\  y  e.  ( Base `  C )
) )  ->  y  e.  ( Base `  C
) )
4440, 43ffvelrnd 6008 . . . . . . . . . . 11  |-  ( (
ph  /\  ( x  e.  ( Base `  C
)  /\  y  e.  ( Base `  C )
) )  ->  (
( 1st `  F
) `  y )  e.  ( Base `  D
) )
4516, 37, 38, 39, 42, 44funcf2 15356 . . . . . . . . . 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 2454 . . . . . . . . . . 11  |-  ( Hom  `  C )  =  ( Hom  `  C )
4724adantr 463 . . . . . . . . . . 11  |-  ( (
ph  /\  ( x  e.  ( Base `  C
)  /\  y  e.  ( Base `  C )
) )  ->  ( 1st `  F ) ( C  Func  D )
( 2nd `  F
) )
481, 46, 37, 47, 41, 43funcf2 15356 . . . . . . . . . 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 5723 . . . . . . . . . 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 659 . . . . . . . . 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 6298 . . . . . . . . . 10  |-  ( ( ( 1st `  G
) `  ( ( 1st `  F ) `  x ) ) ( Hom  `  E )
( ( 1st `  G
) `  ( ( 1st `  F ) `  y ) ) )  e.  _V
52 ovex 6298 . . . . . . . . . 10  |-  ( x ( Hom  `  C
) y )  e. 
_V
5351, 52elmap 7440 . . . . . . . . 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 463 . . . . . . . . 9  |-  ( (
ph  /\  ( x  e.  ( Base `  C
)  /\  y  e.  ( Base `  C )
) )  ->  F  e.  ( C  Func  D
) )
563adantr 463 . . . . . . . . 9  |-  ( (
ph  /\  ( x  e.  ( Base `  C
)  /\  y  e.  ( Base `  C )
) )  ->  G  e.  ( D  Func  E
) )
571, 55, 56, 41, 43cofu2nd 15373 . . . . . . . 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 15372 . . . . . . . . . 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 15372 . . . . . . . . . 10  |-  ( (
ph  /\  ( x  e.  ( Base `  C
)  /\  y  e.  ( Base `  C )
) )  ->  (
( 1st `  ( G  o.func 
F ) ) `  y )  =  ( ( 1st `  G
) `  ( ( 1st `  F ) `  y ) ) )
6058, 59oveq12d 6288 . . . . . . . . 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 6285 . . . . . . . 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 2557 . . . . . . 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 2875 . . . . . 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 5848 . . . . . . . . 9  |-  ( z  =  <. x ,  y
>.  ->  ( ( 2nd `  ( G  o.func  F )
) `  z )  =  ( ( 2nd `  ( G  o.func  F )
) `  <. x ,  y >. ) )
65 df-ov 6273 . . . . . . . . 9  |-  ( x ( 2nd `  ( G  o.func 
F ) ) y )  =  ( ( 2nd `  ( G  o.func 
F ) ) `  <. x ,  y >.
)
6664, 65syl6eqr 2513 . . . . . . . 8  |-  ( z  =  <. x ,  y
>.  ->  ( ( 2nd `  ( G  o.func  F )
) `  z )  =  ( x ( 2nd `  ( G  o.func 
F ) ) y ) )
67 vex 3109 . . . . . . . . . . . 12  |-  x  e. 
_V
68 vex 3109 . . . . . . . . . . . 12  |-  y  e. 
_V
6967, 68op1std 6783 . . . . . . . . . . 11  |-  ( z  =  <. x ,  y
>.  ->  ( 1st `  z
)  =  x )
7069fveq2d 5852 . . . . . . . . . 10  |-  ( z  =  <. x ,  y
>.  ->  ( ( 1st `  ( G  o.func  F )
) `  ( 1st `  z ) )  =  ( ( 1st `  ( G  o.func 
F ) ) `  x ) )
7167, 68op2ndd 6784 . . . . . . . . . . 11  |-  ( z  =  <. x ,  y
>.  ->  ( 2nd `  z
)  =  y )
7271fveq2d 5852 . . . . . . . . . 10  |-  ( z  =  <. x ,  y
>.  ->  ( ( 1st `  ( G  o.func  F )
) `  ( 2nd `  z ) )  =  ( ( 1st `  ( G  o.func 
F ) ) `  y ) )
7370, 72oveq12d 6288 . . . . . . . . 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 5848 . . . . . . . . . 10  |-  ( z  =  <. x ,  y
>.  ->  ( ( Hom  `  C ) `  z
)  =  ( ( Hom  `  C ) `  <. x ,  y
>. ) )
75 df-ov 6273 . . . . . . . . . 10  |-  ( x ( Hom  `  C
) y )  =  ( ( Hom  `  C
) `  <. x ,  y >. )
7674, 75syl6eqr 2513 . . . . . . . . 9  |-  ( z  =  <. x ,  y
>.  ->  ( ( Hom  `  C ) `  z
)  =  ( x ( Hom  `  C
) y ) )
7773, 76oveq12d 6288 . . . . . . . 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 2536 . . . . . . 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 5133 . . . . . 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 5858 . . . . . 6  |-  ( 2nd `  ( G  o.func  F )
)  e.  _V
8281elixp 7469 . . . . 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 662 . . . 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 2454 . . . . . . . . . 10  |-  ( Id
`  C )  =  ( Id `  C
)
85 eqid 2454 . . . . . . . . . 10  |-  ( Id
`  D )  =  ( Id `  D
)
8624adantr 463 . . . . . . . . . 10  |-  ( (
ph  /\  x  e.  ( Base `  C )
)  ->  ( 1st `  F ) ( C 
Func  D ) ( 2nd `  F ) )
87 simpr 459 . . . . . . . . . 10  |-  ( (
ph  /\  x  e.  ( Base `  C )
)  ->  x  e.  ( Base `  C )
)
881, 84, 85, 86, 87funcid 15358 . . . . . . . . 9  |-  ( (
ph  /\  x  e.  ( Base `  C )
)  ->  ( (
x ( 2nd `  F
) x ) `  ( ( Id `  C ) `  x
) )  =  ( ( Id `  D
) `  ( ( 1st `  F ) `  x ) ) )
8988fveq2d 5852 . . . . . . . 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 2454 . . . . . . . . 9  |-  ( Id
`  E )  =  ( Id `  E
)
9120adantr 463 . . . . . . . . 9  |-  ( (
ph  /\  x  e.  ( Base `  C )
)  ->  ( 1st `  G ) ( D 
Func  E ) ( 2nd `  G ) )
9225ffvelrnda 6007 . . . . . . . . 9  |-  ( (
ph  /\  x  e.  ( Base `  C )
)  ->  ( ( 1st `  F ) `  x )  e.  (
Base `  D )
)
9316, 85, 90, 91, 92funcid 15358 . . . . . . . 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 2495 . . . . . . 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 463 . . . . . . . 8  |-  ( (
ph  /\  x  e.  ( Base `  C )
)  ->  F  e.  ( C  Func  D ) )
963adantr 463 . . . . . . . 8  |-  ( (
ph  /\  x  e.  ( Base `  C )
)  ->  G  e.  ( D  Func  E ) )
97 funcrcl 15351 . . . . . . . . . . . 12  |-  ( F  e.  ( C  Func  D )  ->  ( C  e.  Cat  /\  D  e. 
Cat ) )
982, 97syl 16 . . . . . . . . . . 11  |-  ( ph  ->  ( C  e.  Cat  /\  D  e.  Cat )
)
9998simpld 457 . . . . . . . . . 10  |-  ( ph  ->  C  e.  Cat )
10099adantr 463 . . . . . . . . 9  |-  ( (
ph  /\  x  e.  ( Base `  C )
)  ->  C  e.  Cat )
1011, 46, 84, 100, 87catidcl 15171 . . . . . . . 8  |-  ( (
ph  /\  x  e.  ( Base `  C )
)  ->  ( ( Id `  C ) `  x )  e.  ( x ( Hom  `  C
) x ) )
1021, 95, 96, 87, 87, 46, 101cofu2 15374 . . . . . . 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 15372 . . . . . . . 8  |-  ( (
ph  /\  x  e.  ( Base `  C )
)  ->  ( ( 1st `  ( G  o.func  F ) ) `  x )  =  ( ( 1st `  G ) `  (
( 1st `  F
) `  x )
) )
104103fveq2d 5852 . . . . . . 7  |-  ( (
ph  /\  x  e.  ( Base `  C )
)  ->  ( ( Id `  E ) `  ( ( 1st `  ( G  o.func 
F ) ) `  x ) )  =  ( ( Id `  E ) `  (
( 1st `  G
) `  ( ( 1st `  F ) `  x ) ) ) )
10594, 102, 1043eqtr4d 2505 . . . . . 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 463 . . . . . . . . . . . . 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 753 . . . . . . . . . . . . 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 15356 . . . . . . . . . . . 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 2454 . . . . . . . . . . . . 13  |-  (comp `  C )  =  (comp `  C )
111100adantr 463 . . . . . . . . . . . . 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 15174 . . . . . . . . . . . 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 5925 . . . . . . . . . . . 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 659 . . . . . . . . . . 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 2454 . . . . . . . . . . . . 13  |-  (comp `  D )  =  (comp `  D )
1191, 46, 110, 118, 106, 107, 112, 108, 113, 114funcco 15359 . . . . . . . . . . . 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 5852 . . . . . . . . . . 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 2454 . . . . . . . . . . . 12  |-  (comp `  E )  =  (comp `  E )
12291adantr 463 . . . . . . . . . . . 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 463 . . . . . . . . . . . 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 463 . . . . . . . . . . . . . 14  |-  ( (
ph  /\  x  e.  ( Base `  C )
)  ->  ( 1st `  F ) : (
Base `  C ) --> ( Base `  D )
)
125124adantr 463 . . . . . . . . . . . . 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 6008 . . . . . . . . . . . 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 6008 . . . . . . . . . . . 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 15356 . . . . . . . . . . . . 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 6008 . . . . . . . . . . . 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 15356 . . . . . . . . . . . . 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 6008 . . . . . . . . . . . 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 15359 . . . . . . . . . . 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 2499 . . . . . . . . . 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 463 . . . . . . . . . . . 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 463 . . . . . . . . . . . 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 15373 . . . . . . . . . . 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 5850 . . . . . . . . . 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 463 . . . . . . . . . . . . 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 15372 . . . . . . . . . . . . 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 4211 . . . . . . . . . . . 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 15372 . . . . . . . . . . . 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 6288 . . . . . . . . . . 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 15374 . . . . . . . . . . 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 15374 . . . . . . . . . . 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 6291 . . . . . . . . . 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 2505 . . . . . . . . 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 646 . . . . . . . 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 2875 . . . . . . 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 2875 . . . . . 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 530 . . . . 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 2868 . . . 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 15351 . . . . . . 7  |-  ( G  e.  ( D  Func  E )  ->  ( D  e.  Cat  /\  E  e. 
Cat ) )
1533, 152syl 16 . . . . . 6  |-  ( ph  ->  ( D  e.  Cat  /\  E  e.  Cat )
)
154153simprd 461 . . . . 5  |-  ( ph  ->  E  e.  Cat )
1551, 17, 46, 38, 84, 90, 110, 121, 99, 154isfunc 15352 . . . 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 1177 . . 3  |-  ( ph  ->  ( 1st `  ( G  o.func 
F ) ) ( C  Func  E )
( 2nd `  ( G  o.func 
F ) ) )
157 df-br 4440 . . 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 2542 1  |-  ( ph  ->  ( G  o.func  F )  e.  ( C  Func  E
) )
Colors of variables: wff setvar class
Syntax hints:    -> wi 4    /\ wa 367    = wceq 1398    e. wcel 1823   A.wral 2804   <.cop 4022   class class class wbr 4439    X. cxp 4986    o. ccom 4992   Rel wrel 4993    Fn wfn 5565   -->wf 5566   ` cfv 5570  (class class class)co 6270    |-> cmpt2 6272   1stc1st 6771   2ndc2nd 6772    ^m cmap 7412   X_cixp 7462   Basecbs 14716   Hom chom 14795  compcco 14796   Catccat 15153   Idccid 15154    Func cfunc 15342    o.func ccofu 15344
This theorem was proved from axioms:  ax-mp 5  ax-1 6  ax-2 7  ax-3 8  ax-gen 1623  ax-4 1636  ax-5 1709  ax-6 1752  ax-7 1795  ax-8 1825  ax-9 1827  ax-10 1842  ax-11 1847  ax-12 1859  ax-13 2004  ax-ext 2432  ax-rep 4550  ax-sep 4560  ax-nul 4568  ax-pow 4615  ax-pr 4676  ax-un 6565
This theorem depends on definitions:  df-bi 185  df-or 368  df-an 369  df-3an 973  df-tru 1401  df-ex 1618  df-nf 1622  df-sb 1745  df-eu 2288  df-mo 2289  df-clab 2440  df-cleq 2446  df-clel 2449  df-nfc 2604  df-ne 2651  df-ral 2809  df-rex 2810  df-reu 2811  df-rmo 2812  df-rab 2813  df-v 3108  df-sbc 3325  df-csb 3421  df-dif 3464  df-un 3466  df-in 3468  df-ss 3475  df-nul 3784  df-if 3930  df-pw 4001  df-sn 4017  df-pr 4019  df-op 4023  df-uni 4236  df-iun 4317  df-br 4440  df-opab 4498  df-mpt 4499  df-id 4784  df-xp 4994  df-rel 4995  df-cnv 4996  df-co 4997  df-dm 4998  df-rn 4999  df-res 5000  df-ima 5001  df-iota 5534  df-fun 5572  df-fn 5573  df-f 5574  df-f1 5575  df-fo 5576  df-f1o 5577  df-fv 5578  df-riota 6232  df-ov 6273  df-oprab 6274  df-mpt2 6275  df-1st 6773  df-2nd 6774  df-map 7414  df-ixp 7463  df-cat 15157  df-cid 15158  df-func 15346  df-cofu 15348
This theorem is referenced by:  cofuass  15377  cofull  15422  cofth  15423  catccatid  15580  1st2ndprf  15674  uncfcl  15703  uncf1  15704  uncf2  15705  yonedalem1  15740  yonedalem21  15741  yonedalem22  15746  funcrngcsetcALT  33061
  Copyright terms: Public domain W3C validator