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

Theorem funcco 15094
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 2467 . . . . 5  |-  ( Base `  E )  =  (
Base `  E )
4 funcco.h . . . . 5  |-  H  =  ( Hom  `  D
)
5 eqid 2467 . . . . 5  |-  ( Hom  `  E )  =  ( Hom  `  E )
6 eqid 2467 . . . . 5  |-  ( Id
`  D )  =  ( Id `  D
)
7 eqid 2467 . . . . 5  |-  ( Id
`  E )  =  ( Id `  E
)
8 funcco.o . . . . 5  |-  .x.  =  (comp `  D )
9 funcco.O . . . . 5  |-  O  =  (comp `  E )
10 df-br 4448 . . . . . . . 8  |-  ( F ( D  Func  E
) G  <->  <. F ,  G >.  e.  ( D 
Func  E ) )
111, 10sylib 196 . . . . . . 7  |-  ( ph  -> 
<. F ,  G >.  e.  ( D  Func  E
) )
12 funcrcl 15086 . . . . . . 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 459 . . . . 5  |-  ( ph  ->  D  e.  Cat )
1513simprd 463 . . . . 5  |-  ( ph  ->  E  e.  Cat )
162, 3, 4, 5, 6, 7, 8, 9, 14, 15isfunc 15087 . . . 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 210 . . 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 1010 . 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 465 . . . . 5  |-  ( (
ph  /\  x  =  X )  ->  Y  e.  B )
22 funcco.z . . . . . . 7  |-  ( ph  ->  Z  e.  B )
2322ad2antrr 725 . . . . . 6  |-  ( ( ( ph  /\  x  =  X )  /\  y  =  Y )  ->  Z  e.  B )
24 funcco.m . . . . . . . . 9  |-  ( ph  ->  M  e.  ( X H Y ) )
2524ad3antrrr 729 . . . . . . . 8  |-  ( ( ( ( ph  /\  x  =  X )  /\  y  =  Y
)  /\  z  =  Z )  ->  M  e.  ( X H Y ) )
26 simpllr 758 . . . . . . . . 9  |-  ( ( ( ( ph  /\  x  =  X )  /\  y  =  Y
)  /\  z  =  Z )  ->  x  =  X )
27 simplr 754 . . . . . . . . 9  |-  ( ( ( ( ph  /\  x  =  X )  /\  y  =  Y
)  /\  z  =  Z )  ->  y  =  Y )
2826, 27oveq12d 6300 . . . . . . . 8  |-  ( ( ( ( ph  /\  x  =  X )  /\  y  =  Y
)  /\  z  =  Z )  ->  (
x H y )  =  ( X H Y ) )
2925, 28eleqtrrd 2558 . . . . . . 7  |-  ( ( ( ( ph  /\  x  =  X )  /\  y  =  Y
)  /\  z  =  Z )  ->  M  e.  ( x H y ) )
30 funcco.n . . . . . . . . . 10  |-  ( ph  ->  N  e.  ( Y H Z ) )
3130ad4antr 731 . . . . . . . . 9  |-  ( ( ( ( ( ph  /\  x  =  X )  /\  y  =  Y )  /\  z  =  Z )  /\  m  =  M )  ->  N  e.  ( Y H Z ) )
32 simpllr 758 . . . . . . . . . 10  |-  ( ( ( ( ( ph  /\  x  =  X )  /\  y  =  Y )  /\  z  =  Z )  /\  m  =  M )  ->  y  =  Y )
33 simplr 754 . . . . . . . . . 10  |-  ( ( ( ( ( ph  /\  x  =  X )  /\  y  =  Y )  /\  z  =  Z )  /\  m  =  M )  ->  z  =  Z )
3432, 33oveq12d 6300 . . . . . . . . 9  |-  ( ( ( ( ( ph  /\  x  =  X )  /\  y  =  Y )  /\  z  =  Z )  /\  m  =  M )  ->  (
y H z )  =  ( Y H Z ) )
3531, 34eleqtrrd 2558 . . . . . . . 8  |-  ( ( ( ( ( ph  /\  x  =  X )  /\  y  =  Y )  /\  z  =  Z )  /\  m  =  M )  ->  N  e.  ( y H z ) )
36 simp-5r 768 . . . . . . . . . . 11  |-  ( ( ( ( ( (
ph  /\  x  =  X )  /\  y  =  Y )  /\  z  =  Z )  /\  m  =  M )  /\  n  =  N )  ->  x  =  X )
37 simpllr 758 . . . . . . . . . . 11  |-  ( ( ( ( ( (
ph  /\  x  =  X )  /\  y  =  Y )  /\  z  =  Z )  /\  m  =  M )  /\  n  =  N )  ->  z  =  Z )
3836, 37oveq12d 6300 . . . . . . . . . 10  |-  ( ( ( ( ( (
ph  /\  x  =  X )  /\  y  =  Y )  /\  z  =  Z )  /\  m  =  M )  /\  n  =  N )  ->  (
x G z )  =  ( X G Z ) )
39 simp-4r 766 . . . . . . . . . . . . 13  |-  ( ( ( ( ( (
ph  /\  x  =  X )  /\  y  =  Y )  /\  z  =  Z )  /\  m  =  M )  /\  n  =  N )  ->  y  =  Y )
4036, 39opeq12d 4221 . . . . . . . . . . . 12  |-  ( ( ( ( ( (
ph  /\  x  =  X )  /\  y  =  Y )  /\  z  =  Z )  /\  m  =  M )  /\  n  =  N )  ->  <. x ,  y >.  =  <. X ,  Y >. )
4140, 37oveq12d 6300 . . . . . . . . . . 11  |-  ( ( ( ( ( (
ph  /\  x  =  X )  /\  y  =  Y )  /\  z  =  Z )  /\  m  =  M )  /\  n  =  N )  ->  ( <. x ,  y >.  .x.  z )  =  (
<. X ,  Y >.  .x. 
Z ) )
42 simpr 461 . . . . . . . . . . 11  |-  ( ( ( ( ( (
ph  /\  x  =  X )  /\  y  =  Y )  /\  z  =  Z )  /\  m  =  M )  /\  n  =  N )  ->  n  =  N )
43 simplr 754 . . . . . . . . . . 11  |-  ( ( ( ( ( (
ph  /\  x  =  X )  /\  y  =  Y )  /\  z  =  Z )  /\  m  =  M )  /\  n  =  N )  ->  m  =  M )
4441, 42, 43oveq123d 6303 . . . . . . . . . 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 5870 . . . . . . . . 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 5868 . . . . . . . . . . . 12  |-  ( ( ( ( ( (
ph  /\  x  =  X )  /\  y  =  Y )  /\  z  =  Z )  /\  m  =  M )  /\  n  =  N )  ->  ( F `  x )  =  ( F `  X ) )
4739fveq2d 5868 . . . . . . . . . . . 12  |-  ( ( ( ( ( (
ph  /\  x  =  X )  /\  y  =  Y )  /\  z  =  Z )  /\  m  =  M )  /\  n  =  N )  ->  ( F `  y )  =  ( F `  Y ) )
4846, 47opeq12d 4221 . . . . . . . . . . 11  |-  ( ( ( ( ( (
ph  /\  x  =  X )  /\  y  =  Y )  /\  z  =  Z )  /\  m  =  M )  /\  n  =  N )  ->  <. ( F `  x ) ,  ( F `  y ) >.  =  <. ( F `  X ) ,  ( F `  Y ) >. )
4937fveq2d 5868 . . . . . . . . . . 11  |-  ( ( ( ( ( (
ph  /\  x  =  X )  /\  y  =  Y )  /\  z  =  Z )  /\  m  =  M )  /\  n  =  N )  ->  ( F `  z )  =  ( F `  Z ) )
5048, 49oveq12d 6300 . . . . . . . . . 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 6300 . . . . . . . . . . 11  |-  ( ( ( ( ( (
ph  /\  x  =  X )  /\  y  =  Y )  /\  z  =  Z )  /\  m  =  M )  /\  n  =  N )  ->  (
y G z )  =  ( Y G Z ) )
5251, 42fveq12d 5870 . . . . . . . . . 10  |-  ( ( ( ( ( (
ph  /\  x  =  X )  /\  y  =  Y )  /\  z  =  Z )  /\  m  =  M )  /\  n  =  N )  ->  (
( y G z ) `  n )  =  ( ( Y G Z ) `  N ) )
5336, 39oveq12d 6300 . . . . . . . . . . 11  |-  ( ( ( ( ( (
ph  /\  x  =  X )  /\  y  =  Y )  /\  z  =  Z )  /\  m  =  M )  /\  n  =  N )  ->  (
x G y )  =  ( X G Y ) )
5453, 43fveq12d 5870 . . . . . . . . . 10  |-  ( ( ( ( ( (
ph  /\  x  =  X )  /\  y  =  Y )  /\  z  =  Z )  /\  m  =  M )  /\  n  =  N )  ->  (
( x G y ) `  m )  =  ( ( X G Y ) `  M ) )
5550, 52, 54oveq123d 6303 . . . . . . . . 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 2489 . . . . . . . 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 3217 . . . . . . 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 3215 . . . . . 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 3215 . . . . 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 3215 . . . 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 467 . . 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 3215 . 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 setvar class
Syntax hints:    -> wi 4    /\ wa 369    /\ w3a 973    = wceq 1379    e. wcel 1767   A.wral 2814   <.cop 4033   class class class wbr 4447    X. cxp 4997   -->wf 5582   ` cfv 5586  (class class class)co 6282   1stc1st 6779   2ndc2nd 6780    ^m cmap 7417   X_cixp 7466   Basecbs 14486   Hom chom 14562  compcco 14563   Catccat 14915   Idccid 14916    Func cfunc 15077
This theorem was proved from axioms:  ax-mp 5  ax-1 6  ax-2 7  ax-3 8  ax-gen 1601  ax-4 1612  ax-5 1680  ax-6 1719  ax-7 1739  ax-8 1769  ax-9 1771  ax-10 1786  ax-11 1791  ax-12 1803  ax-13 1968  ax-ext 2445  ax-rep 4558  ax-sep 4568  ax-nul 4576  ax-pow 4625  ax-pr 4686  ax-un 6574
This theorem depends on definitions:  df-bi 185  df-or 370  df-an 371  df-3an 975  df-tru 1382  df-ex 1597  df-nf 1600  df-sb 1712  df-eu 2279  df-mo 2280  df-clab 2453  df-cleq 2459  df-clel 2462  df-nfc 2617  df-ne 2664  df-ral 2819  df-rex 2820  df-reu 2821  df-rab 2823  df-v 3115  df-sbc 3332  df-csb 3436  df-dif 3479  df-un 3481  df-in 3483  df-ss 3490  df-nul 3786  df-if 3940  df-pw 4012  df-sn 4028  df-pr 4030  df-op 4034  df-uni 4246  df-iun 4327  df-br 4448  df-opab 4506  df-mpt 4507  df-id 4795  df-xp 5005  df-rel 5006  df-cnv 5007  df-co 5008  df-dm 5009  df-rn 5010  df-res 5011  df-ima 5012  df-iota 5549  df-fun 5588  df-fn 5589  df-f 5590  df-f1 5591  df-fo 5592  df-f1o 5593  df-fv 5594  df-ov 6285  df-oprab 6286  df-mpt2 6287  df-map 7419  df-ixp 7467  df-func 15081
This theorem is referenced by:  funcsect  15095  funcoppc  15098  cofucl  15111  funcres  15119  fthsect  15148  fthmon  15150  catcisolem  15287  prfcl  15326  evlfcllem  15344  curf1cl  15351  curf2cl  15354  curfcl  15355  uncfcurf  15362  yonedalem4c  15400
  Copyright terms: Public domain W3C validator