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

Theorem funcco 16531
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 2622 . . . . 5  |-  ( Base `  E )  =  (
Base `  E )
4 funcco.h . . . . 5  |-  H  =  ( Hom  `  D
)
5 eqid 2622 . . . . 5  |-  ( Hom  `  E )  =  ( Hom  `  E )
6 eqid 2622 . . . . 5  |-  ( Id
`  D )  =  ( Id `  D
)
7 eqid 2622 . . . . 5  |-  ( Id
`  E )  =  ( Id `  E
)
8 funcco.o . . . . 5  |-  .x.  =  (comp `  D )
9 funcco.O . . . . 5  |-  O  =  (comp `  E )
10 df-br 4654 . . . . . . . 8  |-  ( F ( D  Func  E
) G  <->  <. F ,  G >.  e.  ( D 
Func  E ) )
111, 10sylib 208 . . . . . . 7  |-  ( ph  -> 
<. F ,  G >.  e.  ( D  Func  E
) )
12 funcrcl 16523 . . . . . . 7  |-  ( <. F ,  G >.  e.  ( D  Func  E
)  ->  ( D  e.  Cat  /\  E  e. 
Cat ) )
1311, 12syl 17 . . . . . 6  |-  ( ph  ->  ( D  e.  Cat  /\  E  e.  Cat )
)
1413simpld 475 . . . . 5  |-  ( ph  ->  D  e.  Cat )
1513simprd 479 . . . . 5  |-  ( ph  ->  E  e.  Cat )
162, 3, 4, 5, 6, 7, 8, 9, 14, 15isfunc 16524 . . . 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 222 . . 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 1075 . 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 481 . . . . 5  |-  ( (
ph  /\  x  =  X )  ->  Y  e.  B )
22 funcco.z . . . . . . 7  |-  ( ph  ->  Z  e.  B )
2322ad2antrr 762 . . . . . 6  |-  ( ( ( ph  /\  x  =  X )  /\  y  =  Y )  ->  Z  e.  B )
24 funcco.m . . . . . . . . 9  |-  ( ph  ->  M  e.  ( X H Y ) )
2524ad3antrrr 766 . . . . . . . 8  |-  ( ( ( ( ph  /\  x  =  X )  /\  y  =  Y
)  /\  z  =  Z )  ->  M  e.  ( X H Y ) )
26 simpllr 799 . . . . . . . . 9  |-  ( ( ( ( ph  /\  x  =  X )  /\  y  =  Y
)  /\  z  =  Z )  ->  x  =  X )
27 simplr 792 . . . . . . . . 9  |-  ( ( ( ( ph  /\  x  =  X )  /\  y  =  Y
)  /\  z  =  Z )  ->  y  =  Y )
2826, 27oveq12d 6668 . . . . . . . 8  |-  ( ( ( ( ph  /\  x  =  X )  /\  y  =  Y
)  /\  z  =  Z )  ->  (
x H y )  =  ( X H Y ) )
2925, 28eleqtrrd 2704 . . . . . . 7  |-  ( ( ( ( ph  /\  x  =  X )  /\  y  =  Y
)  /\  z  =  Z )  ->  M  e.  ( x H y ) )
30 funcco.n . . . . . . . . . 10  |-  ( ph  ->  N  e.  ( Y H Z ) )
3130ad4antr 768 . . . . . . . . 9  |-  ( ( ( ( ( ph  /\  x  =  X )  /\  y  =  Y )  /\  z  =  Z )  /\  m  =  M )  ->  N  e.  ( Y H Z ) )
32 simpllr 799 . . . . . . . . . 10  |-  ( ( ( ( ( ph  /\  x  =  X )  /\  y  =  Y )  /\  z  =  Z )  /\  m  =  M )  ->  y  =  Y )
33 simplr 792 . . . . . . . . . 10  |-  ( ( ( ( ( ph  /\  x  =  X )  /\  y  =  Y )  /\  z  =  Z )  /\  m  =  M )  ->  z  =  Z )
3432, 33oveq12d 6668 . . . . . . . . 9  |-  ( ( ( ( ( ph  /\  x  =  X )  /\  y  =  Y )  /\  z  =  Z )  /\  m  =  M )  ->  (
y H z )  =  ( Y H Z ) )
3531, 34eleqtrrd 2704 . . . . . . . 8  |-  ( ( ( ( ( ph  /\  x  =  X )  /\  y  =  Y )  /\  z  =  Z )  /\  m  =  M )  ->  N  e.  ( y H z ) )
36 simp-5r 809 . . . . . . . . . . 11  |-  ( ( ( ( ( (
ph  /\  x  =  X )  /\  y  =  Y )  /\  z  =  Z )  /\  m  =  M )  /\  n  =  N )  ->  x  =  X )
37 simpllr 799 . . . . . . . . . . 11  |-  ( ( ( ( ( (
ph  /\  x  =  X )  /\  y  =  Y )  /\  z  =  Z )  /\  m  =  M )  /\  n  =  N )  ->  z  =  Z )
3836, 37oveq12d 6668 . . . . . . . . . 10  |-  ( ( ( ( ( (
ph  /\  x  =  X )  /\  y  =  Y )  /\  z  =  Z )  /\  m  =  M )  /\  n  =  N )  ->  (
x G z )  =  ( X G Z ) )
39 simp-4r 807 . . . . . . . . . . . . 13  |-  ( ( ( ( ( (
ph  /\  x  =  X )  /\  y  =  Y )  /\  z  =  Z )  /\  m  =  M )  /\  n  =  N )  ->  y  =  Y )
4036, 39opeq12d 4410 . . . . . . . . . . . 12  |-  ( ( ( ( ( (
ph  /\  x  =  X )  /\  y  =  Y )  /\  z  =  Z )  /\  m  =  M )  /\  n  =  N )  ->  <. x ,  y >.  =  <. X ,  Y >. )
4140, 37oveq12d 6668 . . . . . . . . . . 11  |-  ( ( ( ( ( (
ph  /\  x  =  X )  /\  y  =  Y )  /\  z  =  Z )  /\  m  =  M )  /\  n  =  N )  ->  ( <. x ,  y >.  .x.  z )  =  (
<. X ,  Y >.  .x. 
Z ) )
42 simpr 477 . . . . . . . . . . 11  |-  ( ( ( ( ( (
ph  /\  x  =  X )  /\  y  =  Y )  /\  z  =  Z )  /\  m  =  M )  /\  n  =  N )  ->  n  =  N )
43 simplr 792 . . . . . . . . . . 11  |-  ( ( ( ( ( (
ph  /\  x  =  X )  /\  y  =  Y )  /\  z  =  Z )  /\  m  =  M )  /\  n  =  N )  ->  m  =  M )
4441, 42, 43oveq123d 6671 . . . . . . . . . 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 6197 . . . . . . . . 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 6195 . . . . . . . . . . . 12  |-  ( ( ( ( ( (
ph  /\  x  =  X )  /\  y  =  Y )  /\  z  =  Z )  /\  m  =  M )  /\  n  =  N )  ->  ( F `  x )  =  ( F `  X ) )
4739fveq2d 6195 . . . . . . . . . . . 12  |-  ( ( ( ( ( (
ph  /\  x  =  X )  /\  y  =  Y )  /\  z  =  Z )  /\  m  =  M )  /\  n  =  N )  ->  ( F `  y )  =  ( F `  Y ) )
4846, 47opeq12d 4410 . . . . . . . . . . 11  |-  ( ( ( ( ( (
ph  /\  x  =  X )  /\  y  =  Y )  /\  z  =  Z )  /\  m  =  M )  /\  n  =  N )  ->  <. ( F `  x ) ,  ( F `  y ) >.  =  <. ( F `  X ) ,  ( F `  Y ) >. )
4937fveq2d 6195 . . . . . . . . . . 11  |-  ( ( ( ( ( (
ph  /\  x  =  X )  /\  y  =  Y )  /\  z  =  Z )  /\  m  =  M )  /\  n  =  N )  ->  ( F `  z )  =  ( F `  Z ) )
5048, 49oveq12d 6668 . . . . . . . . . 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 6668 . . . . . . . . . . 11  |-  ( ( ( ( ( (
ph  /\  x  =  X )  /\  y  =  Y )  /\  z  =  Z )  /\  m  =  M )  /\  n  =  N )  ->  (
y G z )  =  ( Y G Z ) )
5251, 42fveq12d 6197 . . . . . . . . . 10  |-  ( ( ( ( ( (
ph  /\  x  =  X )  /\  y  =  Y )  /\  z  =  Z )  /\  m  =  M )  /\  n  =  N )  ->  (
( y G z ) `  n )  =  ( ( Y G Z ) `  N ) )
5336, 39oveq12d 6668 . . . . . . . . . . 11  |-  ( ( ( ( ( (
ph  /\  x  =  X )  /\  y  =  Y )  /\  z  =  Z )  /\  m  =  M )  /\  n  =  N )  ->  (
x G y )  =  ( X G Y ) )
5453, 43fveq12d 6197 . . . . . . . . . 10  |-  ( ( ( ( ( (
ph  /\  x  =  X )  /\  y  =  Y )  /\  z  =  Z )  /\  m  =  M )  /\  n  =  N )  ->  (
( x G y ) `  m )  =  ( ( X G Y ) `  M ) )
5550, 52, 54oveq123d 6671 . . . . . . . . 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 2637 . . . . . . . 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 3312 . . . . . . 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 3310 . . . . . 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 3310 . . . . 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 3310 . . . 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 483 . . 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 3310 . 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 384    /\ w3a 1037    = wceq 1483    e. wcel 1990   A.wral 2912   <.cop 4183   class class class wbr 4653    X. cxp 5112   -->wf 5884   ` cfv 5888  (class class class)co 6650   1stc1st 7166   2ndc2nd 7167    ^m cmap 7857   X_cixp 7908   Basecbs 15857   Hom chom 15952  compcco 15953   Catccat 16325   Idccid 16326    Func cfunc 16514
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-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-ov 6653  df-oprab 6654  df-mpt2 6655  df-map 7859  df-ixp 7909  df-func 16518
This theorem is referenced by:  funcsect  16532  funcoppc  16535  cofucl  16548  funcres  16556  fthsect  16585  fthmon  16587  catcisolem  16756  prfcl  16843  evlfcllem  16861  curf1cl  16868  curf2cl  16871  curfcl  16872  uncfcurf  16879  yonedalem4c  16917
  Copyright terms: Public domain W3C validator