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

Theorem cofucl 16548
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 2622 . . . 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 16542 . . 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 16543 . . . 4  |-  ( ph  ->  ( 1st `  ( G  o.func 
F ) )  =  ( ( 1st `  G
)  o.  ( 1st `  F ) ) )
64fveq2d 6195 . . . . 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 6201 . . . . . . 7  |-  ( 1st `  G )  e.  _V
8 fvex 6201 . . . . . . 7  |-  ( 1st `  F )  e.  _V
97, 8coex 7118 . . . . . 6  |-  ( ( 1st `  G )  o.  ( 1st `  F
) )  e.  _V
10 fvex 6201 . . . . . . 7  |-  ( Base `  C )  e.  _V
1110, 10mpt2ex 7247 . . . . . 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 7177 . . . . 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 2672 . . . 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 4410 . . 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 2659 . 2  |-  ( ph  ->  ( G  o.func  F )  =  <. ( 1st `  ( G  o.func 
F ) ) ,  ( 2nd `  ( G  o.func 
F ) ) >.
)
16 eqid 2622 . . . . . . 7  |-  ( Base `  D )  =  (
Base `  D )
17 eqid 2622 . . . . . . 7  |-  ( Base `  E )  =  (
Base `  E )
18 relfunc 16522 . . . . . . . 8  |-  Rel  ( D  Func  E )
19 1st2ndbr 7217 . . . . . . . 8  |-  ( ( Rel  ( D  Func  E )  /\  G  e.  ( D  Func  E
) )  ->  ( 1st `  G ) ( D  Func  E )
( 2nd `  G
) )
2018, 3, 19sylancr 695 . . . . . . 7  |-  ( ph  ->  ( 1st `  G
) ( D  Func  E ) ( 2nd `  G
) )
2116, 17, 20funcf1 16526 . . . . . 6  |-  ( ph  ->  ( 1st `  G
) : ( Base `  D ) --> ( Base `  E ) )
22 relfunc 16522 . . . . . . . 8  |-  Rel  ( C  Func  D )
23 1st2ndbr 7217 . . . . . . . 8  |-  ( ( Rel  ( C  Func  D )  /\  F  e.  ( C  Func  D
) )  ->  ( 1st `  F ) ( C  Func  D )
( 2nd `  F
) )
2422, 2, 23sylancr 695 . . . . . . 7  |-  ( ph  ->  ( 1st `  F
) ( C  Func  D ) ( 2nd `  F
) )
251, 16, 24funcf1 16526 . . . . . 6  |-  ( ph  ->  ( 1st `  F
) : ( Base `  C ) --> ( Base `  D ) )
26 fco 6058 . . . . . 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 693 . . . . 5  |-  ( ph  ->  ( ( 1st `  G
)  o.  ( 1st `  F ) ) : ( Base `  C
) --> ( Base `  E
) )
285feq1d 6030 . . . . 5  |-  ( ph  ->  ( ( 1st `  ( G  o.func 
F ) ) : ( Base `  C
) --> ( Base `  E
)  <->  ( ( 1st `  G )  o.  ( 1st `  F ) ) : ( Base `  C
) --> ( Base `  E
) ) )
2927, 28mpbird 247 . . . 4  |-  ( ph  ->  ( 1st `  ( G  o.func 
F ) ) : ( Base `  C
) --> ( Base `  E
) )
30 eqid 2622 . . . . . . 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 6678 . . . . . . . 8  |-  ( ( ( 1st `  F
) `  x )
( 2nd `  G
) ( ( 1st `  F ) `  y
) )  e.  _V
32 ovex 6678 . . . . . . . 8  |-  ( x ( 2nd `  F
) y )  e. 
_V
3331, 32coex 7118 . . . . . . 7  |-  ( ( ( ( 1st `  F
) `  x )
( 2nd `  G
) ( ( 1st `  F ) `  y
) )  o.  (
x ( 2nd `  F
) y ) )  e.  _V
3430, 33fnmpt2i 7239 . . . . . 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 5981 . . . . . 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 248 . . . . 5  |-  ( ph  ->  ( 2nd `  ( G  o.func 
F ) )  Fn  ( ( Base `  C
)  X.  ( Base `  C ) ) )
37 eqid 2622 . . . . . . . . . . 11  |-  ( Hom  `  D )  =  ( Hom  `  D )
38 eqid 2622 . . . . . . . . . . 11  |-  ( Hom  `  E )  =  ( Hom  `  E )
3920adantr 481 . . . . . . . . . . 11  |-  ( (
ph  /\  ( x  e.  ( Base `  C
)  /\  y  e.  ( Base `  C )
) )  ->  ( 1st `  G ) ( D  Func  E )
( 2nd `  G
) )
4025adantr 481 . . . . . . . . . . . 12  |-  ( (
ph  /\  ( x  e.  ( Base `  C
)  /\  y  e.  ( Base `  C )
) )  ->  ( 1st `  F ) : ( Base `  C
) --> ( Base `  D
) )
41 simprl 794 . . . . . . . . . . . 12  |-  ( (
ph  /\  ( x  e.  ( Base `  C
)  /\  y  e.  ( Base `  C )
) )  ->  x  e.  ( Base `  C
) )
4240, 41ffvelrnd 6360 . . . . . . . . . . 11  |-  ( (
ph  /\  ( x  e.  ( Base `  C
)  /\  y  e.  ( Base `  C )
) )  ->  (
( 1st `  F
) `  x )  e.  ( Base `  D
) )
43 simprr 796 . . . . . . . . . . . 12  |-  ( (
ph  /\  ( x  e.  ( Base `  C
)  /\  y  e.  ( Base `  C )
) )  ->  y  e.  ( Base `  C
) )
4440, 43ffvelrnd 6360 . . . . . . . . . . 11  |-  ( (
ph  /\  ( x  e.  ( Base `  C
)  /\  y  e.  ( Base `  C )
) )  ->  (
( 1st `  F
) `  y )  e.  ( Base `  D
) )
4516, 37, 38, 39, 42, 44funcf2 16528 . . . . . . . . . 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 2622 . . . . . . . . . . 11  |-  ( Hom  `  C )  =  ( Hom  `  C )
4724adantr 481 . . . . . . . . . . 11  |-  ( (
ph  /\  ( x  e.  ( Base `  C
)  /\  y  e.  ( Base `  C )
) )  ->  ( 1st `  F ) ( C  Func  D )
( 2nd `  F
) )
481, 46, 37, 47, 41, 43funcf2 16528 . . . . . . . . . 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 6058 . . . . . . . . . 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 693 . . . . . . . . 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 6678 . . . . . . . . . 10  |-  ( ( ( 1st `  G
) `  ( ( 1st `  F ) `  x ) ) ( Hom  `  E )
( ( 1st `  G
) `  ( ( 1st `  F ) `  y ) ) )  e.  _V
52 ovex 6678 . . . . . . . . . 10  |-  ( x ( Hom  `  C
) y )  e. 
_V
5351, 52elmap 7886 . . . . . . . . 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 224 . . . . . . . 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 481 . . . . . . . . 9  |-  ( (
ph  /\  ( x  e.  ( Base `  C
)  /\  y  e.  ( Base `  C )
) )  ->  F  e.  ( C  Func  D
) )
563adantr 481 . . . . . . . . 9  |-  ( (
ph  /\  ( x  e.  ( Base `  C
)  /\  y  e.  ( Base `  C )
) )  ->  G  e.  ( D  Func  E
) )
571, 55, 56, 41, 43cofu2nd 16545 . . . . . . . 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 16544 . . . . . . . . . 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 16544 . . . . . . . . . 10  |-  ( (
ph  /\  ( x  e.  ( Base `  C
)  /\  y  e.  ( Base `  C )
) )  ->  (
( 1st `  ( G  o.func 
F ) ) `  y )  =  ( ( 1st `  G
) `  ( ( 1st `  F ) `  y ) ) )
6058, 59oveq12d 6668 . . . . . . . . 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 6665 . . . . . . . 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 2716 . . . . . . 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 2971 . . . . . 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 6191 . . . . . . . . 9  |-  ( z  =  <. x ,  y
>.  ->  ( ( 2nd `  ( G  o.func  F )
) `  z )  =  ( ( 2nd `  ( G  o.func  F )
) `  <. x ,  y >. ) )
65 df-ov 6653 . . . . . . . . 9  |-  ( x ( 2nd `  ( G  o.func 
F ) ) y )  =  ( ( 2nd `  ( G  o.func 
F ) ) `  <. x ,  y >.
)
6664, 65syl6eqr 2674 . . . . . . . 8  |-  ( z  =  <. x ,  y
>.  ->  ( ( 2nd `  ( G  o.func  F )
) `  z )  =  ( x ( 2nd `  ( G  o.func 
F ) ) y ) )
67 vex 3203 . . . . . . . . . . . 12  |-  x  e. 
_V
68 vex 3203 . . . . . . . . . . . 12  |-  y  e. 
_V
6967, 68op1std 7178 . . . . . . . . . . 11  |-  ( z  =  <. x ,  y
>.  ->  ( 1st `  z
)  =  x )
7069fveq2d 6195 . . . . . . . . . 10  |-  ( z  =  <. x ,  y
>.  ->  ( ( 1st `  ( G  o.func  F )
) `  ( 1st `  z ) )  =  ( ( 1st `  ( G  o.func 
F ) ) `  x ) )
7167, 68op2ndd 7179 . . . . . . . . . . 11  |-  ( z  =  <. x ,  y
>.  ->  ( 2nd `  z
)  =  y )
7271fveq2d 6195 . . . . . . . . . 10  |-  ( z  =  <. x ,  y
>.  ->  ( ( 1st `  ( G  o.func  F )
) `  ( 2nd `  z ) )  =  ( ( 1st `  ( G  o.func 
F ) ) `  y ) )
7370, 72oveq12d 6668 . . . . . . . . 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 6191 . . . . . . . . . 10  |-  ( z  =  <. x ,  y
>.  ->  ( ( Hom  `  C ) `  z
)  =  ( ( Hom  `  C ) `  <. x ,  y
>. ) )
75 df-ov 6653 . . . . . . . . . 10  |-  ( x ( Hom  `  C
) y )  =  ( ( Hom  `  C
) `  <. x ,  y >. )
7674, 75syl6eqr 2674 . . . . . . . . 9  |-  ( z  =  <. x ,  y
>.  ->  ( ( Hom  `  C ) `  z
)  =  ( x ( Hom  `  C
) y ) )
7773, 76oveq12d 6668 . . . . . . . 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 2695 . . . . . . 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 5263 . . . . . 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 224 . . . . 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 6201 . . . . . 6  |-  ( 2nd `  ( G  o.func  F )
)  e.  _V
8281elixp 7915 . . . . 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 698 . . . 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 2622 . . . . . . . . . 10  |-  ( Id
`  C )  =  ( Id `  C
)
85 eqid 2622 . . . . . . . . . 10  |-  ( Id
`  D )  =  ( Id `  D
)
8624adantr 481 . . . . . . . . . 10  |-  ( (
ph  /\  x  e.  ( Base `  C )
)  ->  ( 1st `  F ) ( C 
Func  D ) ( 2nd `  F ) )
87 simpr 477 . . . . . . . . . 10  |-  ( (
ph  /\  x  e.  ( Base `  C )
)  ->  x  e.  ( Base `  C )
)
881, 84, 85, 86, 87funcid 16530 . . . . . . . . 9  |-  ( (
ph  /\  x  e.  ( Base `  C )
)  ->  ( (
x ( 2nd `  F
) x ) `  ( ( Id `  C ) `  x
) )  =  ( ( Id `  D
) `  ( ( 1st `  F ) `  x ) ) )
8988fveq2d 6195 . . . . . . . 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 2622 . . . . . . . . 9  |-  ( Id
`  E )  =  ( Id `  E
)
9120adantr 481 . . . . . . . . 9  |-  ( (
ph  /\  x  e.  ( Base `  C )
)  ->  ( 1st `  G ) ( D 
Func  E ) ( 2nd `  G ) )
9225ffvelrnda 6359 . . . . . . . . 9  |-  ( (
ph  /\  x  e.  ( Base `  C )
)  ->  ( ( 1st `  F ) `  x )  e.  (
Base `  D )
)
9316, 85, 90, 91, 92funcid 16530 . . . . . . . 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 2656 . . . . . . 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 481 . . . . . . . 8  |-  ( (
ph  /\  x  e.  ( Base `  C )
)  ->  F  e.  ( C  Func  D ) )
963adantr 481 . . . . . . . 8  |-  ( (
ph  /\  x  e.  ( Base `  C )
)  ->  G  e.  ( D  Func  E ) )
97 funcrcl 16523 . . . . . . . . . . . 12  |-  ( F  e.  ( C  Func  D )  ->  ( C  e.  Cat  /\  D  e. 
Cat ) )
982, 97syl 17 . . . . . . . . . . 11  |-  ( ph  ->  ( C  e.  Cat  /\  D  e.  Cat )
)
9998simpld 475 . . . . . . . . . 10  |-  ( ph  ->  C  e.  Cat )
10099adantr 481 . . . . . . . . 9  |-  ( (
ph  /\  x  e.  ( Base `  C )
)  ->  C  e.  Cat )
1011, 46, 84, 100, 87catidcl 16343 . . . . . . . 8  |-  ( (
ph  /\  x  e.  ( Base `  C )
)  ->  ( ( Id `  C ) `  x )  e.  ( x ( Hom  `  C
) x ) )
1021, 95, 96, 87, 87, 46, 101cofu2 16546 . . . . . . 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 16544 . . . . . . . 8  |-  ( (
ph  /\  x  e.  ( Base `  C )
)  ->  ( ( 1st `  ( G  o.func  F ) ) `  x )  =  ( ( 1st `  G ) `  (
( 1st `  F
) `  x )
) )
104103fveq2d 6195 . . . . . . 7  |-  ( (
ph  /\  x  e.  ( Base `  C )
)  ->  ( ( Id `  E ) `  ( ( 1st `  ( G  o.func 
F ) ) `  x ) )  =  ( ( Id `  E ) `  (
( 1st `  G
) `  ( ( 1st `  F ) `  x ) ) ) )
10594, 102, 1043eqtr4d 2666 . . . . . 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 481 . . . . . . . . . . . . 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 792 . . . . . . . . . . . . 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 803 . . . . . . . . . . . . 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 16528 . . . . . . . . . . . 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 2622 . . . . . . . . . . . . 13  |-  (comp `  C )  =  (comp `  C )
111100adantr 481 . . . . . . . . . . . . 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 802 . . . . . . . . . . . . 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 804 . . . . . . . . . . . . 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 805 . . . . . . . . . . . . 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 16346 . . . . . . . . . . . 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 6275 . . . . . . . . . . . 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 693 . . . . . . . . . . 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 2622 . . . . . . . . . . . . 13  |-  (comp `  D )  =  (comp `  D )
1191, 46, 110, 118, 106, 107, 112, 108, 113, 114funcco 16531 . . . . . . . . . . . 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 6195 . . . . . . . . . . 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 2622 . . . . . . . . . . . 12  |-  (comp `  E )  =  (comp `  E )
12291adantr 481 . . . . . . . . . . . 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 481 . . . . . . . . . . . 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 481 . . . . . . . . . . . . . 14  |-  ( (
ph  /\  x  e.  ( Base `  C )
)  ->  ( 1st `  F ) : (
Base `  C ) --> ( Base `  D )
)
125124adantr 481 . . . . . . . . . . . . 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 6360 . . . . . . . . . . . 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 6360 . . . . . . . . . . . 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 16528 . . . . . . . . . . . . 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 6360 . . . . . . . . . . . 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 16528 . . . . . . . . . . . . 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 6360 . . . . . . . . . . . 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 16531 . . . . . . . . . . 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 2660 . . . . . . . . . 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 481 . . . . . . . . . . . 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 481 . . . . . . . . . . . 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 16545 . . . . . . . . . . 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 6193 . . . . . . . . . 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 481 . . . . . . . . . . . . 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 16544 . . . . . . . . . . . . 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 4410 . . . . . . . . . . . 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 16544 . . . . . . . . . . . 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 6668 . . . . . . . . . . 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 16546 . . . . . . . . . . 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 16546 . . . . . . . . . . 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 6671 . . . . . . . . . 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 2666 . . . . . . . . 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 680 . . . . . . . 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 2971 . . . . . . 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 2971 . . . . . 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 554 . . . . 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 2966 . . . 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 16523 . . . . . . 7  |-  ( G  e.  ( D  Func  E )  ->  ( D  e.  Cat  /\  E  e. 
Cat ) )
1533, 152syl 17 . . . . . 6  |-  ( ph  ->  ( D  e.  Cat  /\  E  e.  Cat )
)
154153simprd 479 . . . . 5  |-  ( ph  ->  E  e.  Cat )
1551, 17, 46, 38, 84, 90, 110, 121, 99, 154isfunc 16524 . . . 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 1245 . . 3  |-  ( ph  ->  ( 1st `  ( G  o.func 
F ) ) ( C  Func  E )
( 2nd `  ( G  o.func 
F ) ) )
157 df-br 4654 . . 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 208 . 2  |-  ( ph  -> 
<. ( 1st `  ( G  o.func 
F ) ) ,  ( 2nd `  ( G  o.func 
F ) ) >.  e.  ( C  Func  E
) )
15915, 158eqeltrd 2701 1  |-  ( ph  ->  ( G  o.func  F )  e.  ( C  Func  E
) )
Colors of variables: wff setvar class
Syntax hints:    -> wi 4    /\ wa 384    = wceq 1483    e. wcel 1990   A.wral 2912   <.cop 4183   class class class wbr 4653    X. cxp 5112    o. ccom 5118   Rel wrel 5119    Fn wfn 5883   -->wf 5884   ` cfv 5888  (class class class)co 6650    |-> cmpt2 6652   1stc1st 7166   2ndc2nd 7167    ^m cmap 7857   X_cixp 7908   Basecbs 15857   Hom chom 15952  compcco 15953   Catccat 16325   Idccid 16326    Func cfunc 16514    o.func ccofu 16516
This theorem was proved from axioms:  ax-mp 5  ax-1 6  ax-2 7  ax-3 8  ax-gen 1722  ax-4 1737  ax-5 1839  ax-6 1888  ax-7 1935  ax-8 1992  ax-9 1999  ax-10 2019  ax-11 2034  ax-12 2047  ax-13 2246  ax-ext 2602  ax-rep 4771  ax-sep 4781  ax-nul 4789  ax-pow 4843  ax-pr 4906  ax-un 6949
This theorem depends on definitions:  df-bi 197  df-or 385  df-an 386  df-3an 1039  df-tru 1486  df-ex 1705  df-nf 1710  df-sb 1881  df-eu 2474  df-mo 2475  df-clab 2609  df-cleq 2615  df-clel 2618  df-nfc 2753  df-ne 2795  df-ral 2917  df-rex 2918  df-reu 2919  df-rmo 2920  df-rab 2921  df-v 3202  df-sbc 3436  df-csb 3534  df-dif 3577  df-un 3579  df-in 3581  df-ss 3588  df-nul 3916  df-if 4087  df-pw 4160  df-sn 4178  df-pr 4180  df-op 4184  df-uni 4437  df-iun 4522  df-br 4654  df-opab 4713  df-mpt 4730  df-id 5024  df-xp 5120  df-rel 5121  df-cnv 5122  df-co 5123  df-dm 5124  df-rn 5125  df-res 5126  df-ima 5127  df-iota 5851  df-fun 5890  df-fn 5891  df-f 5892  df-f1 5893  df-fo 5894  df-f1o 5895  df-fv 5896  df-riota 6611  df-ov 6653  df-oprab 6654  df-mpt2 6655  df-1st 7168  df-2nd 7169  df-map 7859  df-ixp 7909  df-cat 16329  df-cid 16330  df-func 16518  df-cofu 16520
This theorem is referenced by:  cofuass  16549  cofull  16594  cofth  16595  catccatid  16752  1st2ndprf  16846  uncfcl  16875  uncf1  16876  uncf2  16877  yonedalem1  16912  yonedalem21  16913  yonedalem22  16918  funcrngcsetcALT  41999
  Copyright terms: Public domain W3C validator