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

Theorem funcco 14023
Description: A functor maps composition in the source category to composition in the target. (Contributed by Mario Carneiro, 2-Jan-2017.)
Hypotheses
Ref Expression
funcco.b  |-  B  =  ( Base `  D
)
funcco.h  |-  H  =  (  Hom  `  D
)
funcco.o  |-  .x.  =  (comp `  D )
funcco.O  |-  O  =  (comp `  E )
funcco.f  |-  ( ph  ->  F ( D  Func  E ) G )
funcco.x  |-  ( ph  ->  X  e.  B )
funcco.y  |-  ( ph  ->  Y  e.  B )
funcco.z  |-  ( ph  ->  Z  e.  B )
funcco.m  |-  ( ph  ->  M  e.  ( X H Y ) )
funcco.n  |-  ( ph  ->  N  e.  ( Y H Z ) )
Assertion
Ref Expression
funcco  |-  ( ph  ->  ( ( X G Z ) `  ( N ( <. X ,  Y >.  .x.  Z ) M ) )  =  ( ( ( Y G Z ) `  N ) ( <.
( F `  X
) ,  ( F `
 Y ) >. O ( F `  Z ) ) ( ( X G Y ) `  M ) ) )

Proof of Theorem funcco
Dummy variables  m  n  x  y  z are mutually distinct and distinct from all other variables.
StepHypRef Expression
1 funcco.f . . . 4  |-  ( ph  ->  F ( D  Func  E ) G )
2 funcco.b . . . . 5  |-  B  =  ( Base `  D
)
3 eqid 2404 . . . . 5  |-  ( Base `  E )  =  (
Base `  E )
4 funcco.h . . . . 5  |-  H  =  (  Hom  `  D
)
5 eqid 2404 . . . . 5  |-  (  Hom  `  E )  =  (  Hom  `  E )
6 eqid 2404 . . . . 5  |-  ( Id
`  D )  =  ( Id `  D
)
7 eqid 2404 . . . . 5  |-  ( Id
`  E )  =  ( Id `  E
)
8 funcco.o . . . . 5  |-  .x.  =  (comp `  D )
9 funcco.O . . . . 5  |-  O  =  (comp `  E )
10 df-br 4173 . . . . . . . 8  |-  ( F ( D  Func  E
) G  <->  <. F ,  G >.  e.  ( D 
Func  E ) )
111, 10sylib 189 . . . . . . 7  |-  ( ph  -> 
<. F ,  G >.  e.  ( D  Func  E
) )
12 funcrcl 14015 . . . . . . 7  |-  ( <. F ,  G >.  e.  ( D  Func  E
)  ->  ( D  e.  Cat  /\  E  e. 
Cat ) )
1311, 12syl 16 . . . . . 6  |-  ( ph  ->  ( D  e.  Cat  /\  E  e.  Cat )
)
1413simpld 446 . . . . 5  |-  ( ph  ->  D  e.  Cat )
1513simprd 450 . . . . 5  |-  ( ph  ->  E  e.  Cat )
162, 3, 4, 5, 6, 7, 8, 9, 14, 15isfunc 14016 . . . 4  |-  ( ph  ->  ( F ( D 
Func  E ) G  <->  ( F : B --> ( Base `  E
)  /\  G  e.  X_ z  e.  ( B  X.  B ) ( ( ( F `  ( 1st `  z ) ) (  Hom  `  E
) ( F `  ( 2nd `  z ) ) )  ^m  ( H `  z )
)  /\  A. x  e.  B  ( (
( x G x ) `  ( ( Id `  D ) `
 x ) )  =  ( ( Id
`  E ) `  ( F `  x ) )  /\  A. y  e.  B  A. z  e.  B  A. m  e.  ( x H y ) A. n  e.  ( y H z ) ( ( x G z ) `  ( n ( <.
x ,  y >.  .x.  z ) m ) )  =  ( ( ( y G z ) `  n ) ( <. ( F `  x ) ,  ( F `  y )
>. O ( F `  z ) ) ( ( x G y ) `  m ) ) ) ) ) )
171, 16mpbid 202 . . 3  |-  ( ph  ->  ( F : B --> ( Base `  E )  /\  G  e.  X_ z  e.  ( B  X.  B
) ( ( ( F `  ( 1st `  z ) ) (  Hom  `  E )
( F `  ( 2nd `  z ) ) )  ^m  ( H `
 z ) )  /\  A. x  e.  B  ( ( ( x G x ) `
 ( ( Id
`  D ) `  x ) )  =  ( ( Id `  E ) `  ( F `  x )
)  /\  A. y  e.  B  A. z  e.  B  A. m  e.  ( x H y ) A. n  e.  ( y H z ) ( ( x G z ) `  ( n ( <.
x ,  y >.  .x.  z ) m ) )  =  ( ( ( y G z ) `  n ) ( <. ( F `  x ) ,  ( F `  y )
>. O ( F `  z ) ) ( ( x G y ) `  m ) ) ) ) )
1817simp3d 971 . 2  |-  ( ph  ->  A. x  e.  B  ( ( ( x G x ) `  ( ( Id `  D ) `  x
) )  =  ( ( Id `  E
) `  ( F `  x ) )  /\  A. y  e.  B  A. z  e.  B  A. m  e.  ( x H y ) A. n  e.  ( y H z ) ( ( x G z ) `  ( n ( <. x ,  y
>.  .x.  z ) m ) )  =  ( ( ( y G z ) `  n
) ( <. ( F `  x ) ,  ( F `  y ) >. O ( F `  z ) ) ( ( x G y ) `  m ) ) ) )
19 funcco.x . . 3  |-  ( ph  ->  X  e.  B )
20 funcco.y . . . . . 6  |-  ( ph  ->  Y  e.  B )
2120adantr 452 . . . . 5  |-  ( (
ph  /\  x  =  X )  ->  Y  e.  B )
22 funcco.z . . . . . . 7  |-  ( ph  ->  Z  e.  B )
2322ad2antrr 707 . . . . . 6  |-  ( ( ( ph  /\  x  =  X )  /\  y  =  Y )  ->  Z  e.  B )
24 funcco.m . . . . . . . . 9  |-  ( ph  ->  M  e.  ( X H Y ) )
2524ad3antrrr 711 . . . . . . . 8  |-  ( ( ( ( ph  /\  x  =  X )  /\  y  =  Y
)  /\  z  =  Z )  ->  M  e.  ( X H Y ) )
26 simpllr 736 . . . . . . . . 9  |-  ( ( ( ( ph  /\  x  =  X )  /\  y  =  Y
)  /\  z  =  Z )  ->  x  =  X )
27 simplr 732 . . . . . . . . 9  |-  ( ( ( ( ph  /\  x  =  X )  /\  y  =  Y
)  /\  z  =  Z )  ->  y  =  Y )
2826, 27oveq12d 6058 . . . . . . . 8  |-  ( ( ( ( ph  /\  x  =  X )  /\  y  =  Y
)  /\  z  =  Z )  ->  (
x H y )  =  ( X H Y ) )
2925, 28eleqtrrd 2481 . . . . . . 7  |-  ( ( ( ( ph  /\  x  =  X )  /\  y  =  Y
)  /\  z  =  Z )  ->  M  e.  ( x H y ) )
30 funcco.n . . . . . . . . . 10  |-  ( ph  ->  N  e.  ( Y H Z ) )
3130ad4antr 713 . . . . . . . . 9  |-  ( ( ( ( ( ph  /\  x  =  X )  /\  y  =  Y )  /\  z  =  Z )  /\  m  =  M )  ->  N  e.  ( Y H Z ) )
32 simpllr 736 . . . . . . . . . 10  |-  ( ( ( ( ( ph  /\  x  =  X )  /\  y  =  Y )  /\  z  =  Z )  /\  m  =  M )  ->  y  =  Y )
33 simplr 732 . . . . . . . . . 10  |-  ( ( ( ( ( ph  /\  x  =  X )  /\  y  =  Y )  /\  z  =  Z )  /\  m  =  M )  ->  z  =  Z )
3432, 33oveq12d 6058 . . . . . . . . 9  |-  ( ( ( ( ( ph  /\  x  =  X )  /\  y  =  Y )  /\  z  =  Z )  /\  m  =  M )  ->  (
y H z )  =  ( Y H Z ) )
3531, 34eleqtrrd 2481 . . . . . . . 8  |-  ( ( ( ( ( ph  /\  x  =  X )  /\  y  =  Y )  /\  z  =  Z )  /\  m  =  M )  ->  N  e.  ( y H z ) )
36 simp-5r 746 . . . . . . . . . . 11  |-  ( ( ( ( ( (
ph  /\  x  =  X )  /\  y  =  Y )  /\  z  =  Z )  /\  m  =  M )  /\  n  =  N )  ->  x  =  X )
37 simpllr 736 . . . . . . . . . . 11  |-  ( ( ( ( ( (
ph  /\  x  =  X )  /\  y  =  Y )  /\  z  =  Z )  /\  m  =  M )  /\  n  =  N )  ->  z  =  Z )
3836, 37oveq12d 6058 . . . . . . . . . 10  |-  ( ( ( ( ( (
ph  /\  x  =  X )  /\  y  =  Y )  /\  z  =  Z )  /\  m  =  M )  /\  n  =  N )  ->  (
x G z )  =  ( X G Z ) )
39 simp-4r 744 . . . . . . . . . . . . 13  |-  ( ( ( ( ( (
ph  /\  x  =  X )  /\  y  =  Y )  /\  z  =  Z )  /\  m  =  M )  /\  n  =  N )  ->  y  =  Y )
4036, 39opeq12d 3952 . . . . . . . . . . . 12  |-  ( ( ( ( ( (
ph  /\  x  =  X )  /\  y  =  Y )  /\  z  =  Z )  /\  m  =  M )  /\  n  =  N )  ->  <. x ,  y >.  =  <. X ,  Y >. )
4140, 37oveq12d 6058 . . . . . . . . . . 11  |-  ( ( ( ( ( (
ph  /\  x  =  X )  /\  y  =  Y )  /\  z  =  Z )  /\  m  =  M )  /\  n  =  N )  ->  ( <. x ,  y >.  .x.  z )  =  (
<. X ,  Y >.  .x. 
Z ) )
42 simpr 448 . . . . . . . . . . 11  |-  ( ( ( ( ( (
ph  /\  x  =  X )  /\  y  =  Y )  /\  z  =  Z )  /\  m  =  M )  /\  n  =  N )  ->  n  =  N )
43 simplr 732 . . . . . . . . . . 11  |-  ( ( ( ( ( (
ph  /\  x  =  X )  /\  y  =  Y )  /\  z  =  Z )  /\  m  =  M )  /\  n  =  N )  ->  m  =  M )
4441, 42, 43oveq123d 6061 . . . . . . . . . 10  |-  ( ( ( ( ( (
ph  /\  x  =  X )  /\  y  =  Y )  /\  z  =  Z )  /\  m  =  M )  /\  n  =  N )  ->  (
n ( <. x ,  y >.  .x.  z
) m )  =  ( N ( <. X ,  Y >.  .x. 
Z ) M ) )
4538, 44fveq12d 5693 . . . . . . . . 9  |-  ( ( ( ( ( (
ph  /\  x  =  X )  /\  y  =  Y )  /\  z  =  Z )  /\  m  =  M )  /\  n  =  N )  ->  (
( x G z ) `  ( n ( <. x ,  y
>.  .x.  z ) m ) )  =  ( ( X G Z ) `  ( N ( <. X ,  Y >.  .x.  Z ) M ) ) )
4636fveq2d 5691 . . . . . . . . . . . 12  |-  ( ( ( ( ( (
ph  /\  x  =  X )  /\  y  =  Y )  /\  z  =  Z )  /\  m  =  M )  /\  n  =  N )  ->  ( F `  x )  =  ( F `  X ) )
4739fveq2d 5691 . . . . . . . . . . . 12  |-  ( ( ( ( ( (
ph  /\  x  =  X )  /\  y  =  Y )  /\  z  =  Z )  /\  m  =  M )  /\  n  =  N )  ->  ( F `  y )  =  ( F `  Y ) )
4846, 47opeq12d 3952 . . . . . . . . . . 11  |-  ( ( ( ( ( (
ph  /\  x  =  X )  /\  y  =  Y )  /\  z  =  Z )  /\  m  =  M )  /\  n  =  N )  ->  <. ( F `  x ) ,  ( F `  y ) >.  =  <. ( F `  X ) ,  ( F `  Y ) >. )
4937fveq2d 5691 . . . . . . . . . . 11  |-  ( ( ( ( ( (
ph  /\  x  =  X )  /\  y  =  Y )  /\  z  =  Z )  /\  m  =  M )  /\  n  =  N )  ->  ( F `  z )  =  ( F `  Z ) )
5048, 49oveq12d 6058 . . . . . . . . . 10  |-  ( ( ( ( ( (
ph  /\  x  =  X )  /\  y  =  Y )  /\  z  =  Z )  /\  m  =  M )  /\  n  =  N )  ->  ( <. ( F `  x
) ,  ( F `
 y ) >. O ( F `  z ) )  =  ( <. ( F `  X ) ,  ( F `  Y )
>. O ( F `  Z ) ) )
5139, 37oveq12d 6058 . . . . . . . . . . 11  |-  ( ( ( ( ( (
ph  /\  x  =  X )  /\  y  =  Y )  /\  z  =  Z )  /\  m  =  M )  /\  n  =  N )  ->  (
y G z )  =  ( Y G Z ) )
5251, 42fveq12d 5693 . . . . . . . . . 10  |-  ( ( ( ( ( (
ph  /\  x  =  X )  /\  y  =  Y )  /\  z  =  Z )  /\  m  =  M )  /\  n  =  N )  ->  (
( y G z ) `  n )  =  ( ( Y G Z ) `  N ) )
5336, 39oveq12d 6058 . . . . . . . . . . 11  |-  ( ( ( ( ( (
ph  /\  x  =  X )  /\  y  =  Y )  /\  z  =  Z )  /\  m  =  M )  /\  n  =  N )  ->  (
x G y )  =  ( X G Y ) )
5453, 43fveq12d 5693 . . . . . . . . . 10  |-  ( ( ( ( ( (
ph  /\  x  =  X )  /\  y  =  Y )  /\  z  =  Z )  /\  m  =  M )  /\  n  =  N )  ->  (
( x G y ) `  m )  =  ( ( X G Y ) `  M ) )
5550, 52, 54oveq123d 6061 . . . . . . . . 9  |-  ( ( ( ( ( (
ph  /\  x  =  X )  /\  y  =  Y )  /\  z  =  Z )  /\  m  =  M )  /\  n  =  N )  ->  (
( ( y G z ) `  n
) ( <. ( F `  x ) ,  ( F `  y ) >. O ( F `  z ) ) ( ( x G y ) `  m ) )  =  ( ( ( Y G Z ) `  N ) ( <.
( F `  X
) ,  ( F `
 Y ) >. O ( F `  Z ) ) ( ( X G Y ) `  M ) ) )
5645, 55eqeq12d 2418 . . . . . . . 8  |-  ( ( ( ( ( (
ph  /\  x  =  X )  /\  y  =  Y )  /\  z  =  Z )  /\  m  =  M )  /\  n  =  N )  ->  (
( ( x G z ) `  (
n ( <. x ,  y >.  .x.  z
) m ) )  =  ( ( ( y G z ) `
 n ) (
<. ( F `  x
) ,  ( F `
 y ) >. O ( F `  z ) ) ( ( x G y ) `  m ) )  <->  ( ( X G Z ) `  ( N ( <. X ,  Y >.  .x.  Z ) M ) )  =  ( ( ( Y G Z ) `  N ) ( <.
( F `  X
) ,  ( F `
 Y ) >. O ( F `  Z ) ) ( ( X G Y ) `  M ) ) ) )
5735, 56rspcdv 3015 . . . . . . 7  |-  ( ( ( ( ( ph  /\  x  =  X )  /\  y  =  Y )  /\  z  =  Z )  /\  m  =  M )  ->  ( A. n  e.  (
y H z ) ( ( x G z ) `  (
n ( <. x ,  y >.  .x.  z
) m ) )  =  ( ( ( y G z ) `
 n ) (
<. ( F `  x
) ,  ( F `
 y ) >. O ( F `  z ) ) ( ( x G y ) `  m ) )  ->  ( ( X G Z ) `  ( N ( <. X ,  Y >.  .x.  Z ) M ) )  =  ( ( ( Y G Z ) `  N ) ( <.
( F `  X
) ,  ( F `
 Y ) >. O ( F `  Z ) ) ( ( X G Y ) `  M ) ) ) )
5829, 57rspcimdv 3013 . . . . . 6  |-  ( ( ( ( ph  /\  x  =  X )  /\  y  =  Y
)  /\  z  =  Z )  ->  ( A. m  e.  (
x H y ) A. n  e.  ( y H z ) ( ( x G z ) `  (
n ( <. x ,  y >.  .x.  z
) m ) )  =  ( ( ( y G z ) `
 n ) (
<. ( F `  x
) ,  ( F `
 y ) >. O ( F `  z ) ) ( ( x G y ) `  m ) )  ->  ( ( X G Z ) `  ( N ( <. X ,  Y >.  .x.  Z ) M ) )  =  ( ( ( Y G Z ) `  N ) ( <.
( F `  X
) ,  ( F `
 Y ) >. O ( F `  Z ) ) ( ( X G Y ) `  M ) ) ) )
5923, 58rspcimdv 3013 . . . . 5  |-  ( ( ( ph  /\  x  =  X )  /\  y  =  Y )  ->  ( A. z  e.  B  A. m  e.  (
x H y ) A. n  e.  ( y H z ) ( ( x G z ) `  (
n ( <. x ,  y >.  .x.  z
) m ) )  =  ( ( ( y G z ) `
 n ) (
<. ( F `  x
) ,  ( F `
 y ) >. O ( F `  z ) ) ( ( x G y ) `  m ) )  ->  ( ( X G Z ) `  ( N ( <. X ,  Y >.  .x.  Z ) M ) )  =  ( ( ( Y G Z ) `  N ) ( <.
( F `  X
) ,  ( F `
 Y ) >. O ( F `  Z ) ) ( ( X G Y ) `  M ) ) ) )
6021, 59rspcimdv 3013 . . . 4  |-  ( (
ph  /\  x  =  X )  ->  ( A. y  e.  B  A. z  e.  B  A. m  e.  (
x H y ) A. n  e.  ( y H z ) ( ( x G z ) `  (
n ( <. x ,  y >.  .x.  z
) m ) )  =  ( ( ( y G z ) `
 n ) (
<. ( F `  x
) ,  ( F `
 y ) >. O ( F `  z ) ) ( ( x G y ) `  m ) )  ->  ( ( X G Z ) `  ( N ( <. X ,  Y >.  .x.  Z ) M ) )  =  ( ( ( Y G Z ) `  N ) ( <.
( F `  X
) ,  ( F `
 Y ) >. O ( F `  Z ) ) ( ( X G Y ) `  M ) ) ) )
6160adantld 454 . . 3  |-  ( (
ph  /\  x  =  X )  ->  (
( ( ( x G x ) `  ( ( Id `  D ) `  x
) )  =  ( ( Id `  E
) `  ( F `  x ) )  /\  A. y  e.  B  A. z  e.  B  A. m  e.  ( x H y ) A. n  e.  ( y H z ) ( ( x G z ) `  ( n ( <. x ,  y
>.  .x.  z ) m ) )  =  ( ( ( y G z ) `  n
) ( <. ( F `  x ) ,  ( F `  y ) >. O ( F `  z ) ) ( ( x G y ) `  m ) ) )  ->  ( ( X G Z ) `  ( N ( <. X ,  Y >.  .x.  Z ) M ) )  =  ( ( ( Y G Z ) `  N ) ( <.
( F `  X
) ,  ( F `
 Y ) >. O ( F `  Z ) ) ( ( X G Y ) `  M ) ) ) )
6219, 61rspcimdv 3013 . 2  |-  ( ph  ->  ( A. x  e.  B  ( ( ( x G x ) `
 ( ( Id
`  D ) `  x ) )  =  ( ( Id `  E ) `  ( F `  x )
)  /\  A. y  e.  B  A. z  e.  B  A. m  e.  ( x H y ) A. n  e.  ( y H z ) ( ( x G z ) `  ( n ( <.
x ,  y >.  .x.  z ) m ) )  =  ( ( ( y G z ) `  n ) ( <. ( F `  x ) ,  ( F `  y )
>. O ( F `  z ) ) ( ( x G y ) `  m ) ) )  ->  (
( X G Z ) `  ( N ( <. X ,  Y >.  .x.  Z ) M ) )  =  ( ( ( Y G Z ) `  N
) ( <. ( F `  X ) ,  ( F `  Y ) >. O ( F `  Z ) ) ( ( X G Y ) `  M ) ) ) )
6318, 62mpd 15 1  |-  ( ph  ->  ( ( X G Z ) `  ( N ( <. X ,  Y >.  .x.  Z ) M ) )  =  ( ( ( Y G Z ) `  N ) ( <.
( F `  X
) ,  ( F `
 Y ) >. O ( F `  Z ) ) ( ( X G Y ) `  M ) ) )
Colors of variables: wff set class
Syntax hints:    -> wi 4    /\ wa 359    /\ w3a 936    = wceq 1649    e. wcel 1721   A.wral 2666   <.cop 3777   class class class wbr 4172    X. cxp 4835   -->wf 5409   ` cfv 5413  (class class class)co 6040   1stc1st 6306   2ndc2nd 6307    ^m cmap 6977   X_cixp 7022   Basecbs 13424    Hom chom 13495  compcco 13496   Catccat 13844   Idccid 13845    Func cfunc 14006
This theorem is referenced by:  funcsect  14024  funcoppc  14027  cofucl  14040  funcres  14048  fthsect  14077  fthmon  14079  catcisolem  14216  prfcl  14255  evlfcllem  14273  curf1cl  14280  curf2cl  14283  curfcl  14284  uncfcurf  14291  yonedalem4c  14329
This theorem was proved from axioms:  ax-1 5  ax-2 6  ax-3 7  ax-mp 8  ax-gen 1552  ax-5 1563  ax-17 1623  ax-9 1662  ax-8 1683  ax-13 1723  ax-14 1725  ax-6 1740  ax-7 1745  ax-11 1757  ax-12 1946  ax-ext 2385  ax-rep 4280  ax-sep 4290  ax-nul 4298  ax-pow 4337  ax-pr 4363  ax-un 4660
This theorem depends on definitions:  df-bi 178  df-or 360  df-an 361  df-3an 938  df-tru 1325  df-ex 1548  df-nf 1551  df-sb 1656  df-eu 2258  df-mo 2259  df-clab 2391  df-cleq 2397  df-clel 2400  df-nfc 2529  df-ne 2569  df-ral 2671  df-rex 2672  df-reu 2673  df-rab 2675  df-v 2918  df-sbc 3122  df-csb 3212  df-dif 3283  df-un 3285  df-in 3287  df-ss 3294  df-nul 3589  df-if 3700  df-pw 3761  df-sn 3780  df-pr 3781  df-op 3783  df-uni 3976  df-iun 4055  df-br 4173  df-opab 4227  df-mpt 4228  df-id 4458  df-xp 4843  df-rel 4844  df-cnv 4845  df-co 4846  df-dm 4847  df-rn 4848  df-res 4849  df-ima 4850  df-iota 5377  df-fun 5415  df-fn 5416  df-f 5417  df-f1 5418  df-fo 5419  df-f1o 5420  df-fv 5421  df-ov 6043  df-oprab 6044  df-mpt2 6045  df-map 6979  df-ixp 7023  df-func 14010
  Copyright terms: Public domain W3C validator