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

Theorem hofval 14304
Description: Value of the Hom functor, which is a bifunctor (a functor of two arguments), contravariant in the first argument and covariant in the second, from  (oppCat `  C )  X.  C to  SetCat, whose object part is the hom-function 
Hom, and with morphism part given by pre- and post-composition. (Contributed by Mario Carneiro, 15-Jan-2017.)
Hypotheses
Ref Expression
hofval.m  |-  M  =  (HomF
`  C )
hofval.c  |-  ( ph  ->  C  e.  Cat )
hofval.b  |-  B  =  ( Base `  C
)
hofval.h  |-  H  =  (  Hom  `  C
)
hofval.o  |-  .x.  =  (comp `  C )
Assertion
Ref Expression
hofval  |-  ( ph  ->  M  =  <. (  Homf  `  C ) ,  ( x  e.  ( B  X.  B ) ,  y  e.  ( B  X.  B )  |->  ( f  e.  ( ( 1st `  y ) H ( 1st `  x
) ) ,  g  e.  ( ( 2nd `  x ) H ( 2nd `  y ) )  |->  ( h  e.  ( H `  x
)  |->  ( ( g ( x  .x.  ( 2nd `  y ) ) h ) ( <.
( 1st `  y
) ,  ( 1st `  x ) >.  .x.  ( 2nd `  y ) ) f ) ) ) ) >. )
Distinct variable groups:    f, g, h, x, y, B    ph, f,
g, h, x, y    C, f, g, h, x, y    f, H, g, h, x, y    .x. , f,
g, h, x, y
Allowed substitution hints:    M( x, y, f, g, h)

Proof of Theorem hofval
Dummy variables  b 
c are mutually distinct and distinct from all other variables.
StepHypRef Expression
1 hofval.m . 2  |-  M  =  (HomF
`  C )
2 df-hof 14302 . . . 4  |- HomF  =  ( c  e.  Cat  |->  <. (  Homf  `  c ) ,  [_ ( Base `  c )  /  b ]_ ( x  e.  ( b  X.  b ) ,  y  e.  ( b  X.  b ) 
|->  ( f  e.  ( ( 1st `  y
) (  Hom  `  c
) ( 1st `  x
) ) ,  g  e.  ( ( 2nd `  x ) (  Hom  `  c ) ( 2nd `  y ) )  |->  ( h  e.  ( (  Hom  `  c ) `  x )  |->  ( ( g ( x (comp `  c ) ( 2nd `  y ) ) h ) ( <. ( 1st `  y ) ,  ( 1st `  x
) >. (comp `  c
) ( 2nd `  y
) ) f ) ) ) ) >.
)
32a1i 11 . . 3  |-  ( ph  -> HomF  =  ( c  e.  Cat  |->  <. (  Homf 
`  c ) , 
[_ ( Base `  c
)  /  b ]_ ( x  e.  (
b  X.  b ) ,  y  e.  ( b  X.  b ) 
|->  ( f  e.  ( ( 1st `  y
) (  Hom  `  c
) ( 1st `  x
) ) ,  g  e.  ( ( 2nd `  x ) (  Hom  `  c ) ( 2nd `  y ) )  |->  ( h  e.  ( (  Hom  `  c ) `  x )  |->  ( ( g ( x (comp `  c ) ( 2nd `  y ) ) h ) ( <. ( 1st `  y ) ,  ( 1st `  x
) >. (comp `  c
) ( 2nd `  y
) ) f ) ) ) ) >.
) )
4 simpr 448 . . . . 5  |-  ( (
ph  /\  c  =  C )  ->  c  =  C )
54fveq2d 5691 . . . 4  |-  ( (
ph  /\  c  =  C )  ->  (  Homf  `  c )  =  (  Homf 
`  C ) )
6 fvex 5701 . . . . . 6  |-  ( Base `  c )  e.  _V
76a1i 11 . . . . 5  |-  ( (
ph  /\  c  =  C )  ->  ( Base `  c )  e. 
_V )
84fveq2d 5691 . . . . . 6  |-  ( (
ph  /\  c  =  C )  ->  ( Base `  c )  =  ( Base `  C
) )
9 hofval.b . . . . . 6  |-  B  =  ( Base `  C
)
108, 9syl6eqr 2454 . . . . 5  |-  ( (
ph  /\  c  =  C )  ->  ( Base `  c )  =  B )
11 simpr 448 . . . . . . 7  |-  ( ( ( ph  /\  c  =  C )  /\  b  =  B )  ->  b  =  B )
1211, 11xpeq12d 4862 . . . . . 6  |-  ( ( ( ph  /\  c  =  C )  /\  b  =  B )  ->  (
b  X.  b )  =  ( B  X.  B ) )
13 simplr 732 . . . . . . . . . 10  |-  ( ( ( ph  /\  c  =  C )  /\  b  =  B )  ->  c  =  C )
1413fveq2d 5691 . . . . . . . . 9  |-  ( ( ( ph  /\  c  =  C )  /\  b  =  B )  ->  (  Hom  `  c )  =  (  Hom  `  C
) )
15 hofval.h . . . . . . . . 9  |-  H  =  (  Hom  `  C
)
1614, 15syl6eqr 2454 . . . . . . . 8  |-  ( ( ( ph  /\  c  =  C )  /\  b  =  B )  ->  (  Hom  `  c )  =  H )
1716oveqd 6057 . . . . . . 7  |-  ( ( ( ph  /\  c  =  C )  /\  b  =  B )  ->  (
( 1st `  y
) (  Hom  `  c
) ( 1st `  x
) )  =  ( ( 1st `  y
) H ( 1st `  x ) ) )
1816oveqd 6057 . . . . . . 7  |-  ( ( ( ph  /\  c  =  C )  /\  b  =  B )  ->  (
( 2nd `  x
) (  Hom  `  c
) ( 2nd `  y
) )  =  ( ( 2nd `  x
) H ( 2nd `  y ) ) )
1916fveq1d 5689 . . . . . . . 8  |-  ( ( ( ph  /\  c  =  C )  /\  b  =  B )  ->  (
(  Hom  `  c ) `
 x )  =  ( H `  x
) )
2013fveq2d 5691 . . . . . . . . . . 11  |-  ( ( ( ph  /\  c  =  C )  /\  b  =  B )  ->  (comp `  c )  =  (comp `  C ) )
21 hofval.o . . . . . . . . . . 11  |-  .x.  =  (comp `  C )
2220, 21syl6eqr 2454 . . . . . . . . . 10  |-  ( ( ( ph  /\  c  =  C )  /\  b  =  B )  ->  (comp `  c )  =  .x.  )
2322oveqd 6057 . . . . . . . . 9  |-  ( ( ( ph  /\  c  =  C )  /\  b  =  B )  ->  ( <. ( 1st `  y
) ,  ( 1st `  x ) >. (comp `  c ) ( 2nd `  y ) )  =  ( <. ( 1st `  y
) ,  ( 1st `  x ) >.  .x.  ( 2nd `  y ) ) )
2422oveqd 6057 . . . . . . . . . 10  |-  ( ( ( ph  /\  c  =  C )  /\  b  =  B )  ->  (
x (comp `  c
) ( 2nd `  y
) )  =  ( x  .x.  ( 2nd `  y ) ) )
2524oveqd 6057 . . . . . . . . 9  |-  ( ( ( ph  /\  c  =  C )  /\  b  =  B )  ->  (
g ( x (comp `  c ) ( 2nd `  y ) ) h )  =  ( g ( x  .x.  ( 2nd `  y ) ) h ) )
26 eqidd 2405 . . . . . . . . 9  |-  ( ( ( ph  /\  c  =  C )  /\  b  =  B )  ->  f  =  f )
2723, 25, 26oveq123d 6061 . . . . . . . 8  |-  ( ( ( ph  /\  c  =  C )  /\  b  =  B )  ->  (
( g ( x (comp `  c )
( 2nd `  y
) ) h ) ( <. ( 1st `  y
) ,  ( 1st `  x ) >. (comp `  c ) ( 2nd `  y ) ) f )  =  ( ( g ( x  .x.  ( 2nd `  y ) ) h ) (
<. ( 1st `  y
) ,  ( 1st `  x ) >.  .x.  ( 2nd `  y ) ) f ) )
2819, 27mpteq12dv 4247 . . . . . . 7  |-  ( ( ( ph  /\  c  =  C )  /\  b  =  B )  ->  (
h  e.  ( (  Hom  `  c ) `  x )  |->  ( ( g ( x (comp `  c ) ( 2nd `  y ) ) h ) ( <. ( 1st `  y ) ,  ( 1st `  x
) >. (comp `  c
) ( 2nd `  y
) ) f ) )  =  ( h  e.  ( H `  x )  |->  ( ( g ( x  .x.  ( 2nd `  y ) ) h ) (
<. ( 1st `  y
) ,  ( 1st `  x ) >.  .x.  ( 2nd `  y ) ) f ) ) )
2917, 18, 28mpt2eq123dv 6095 . . . . . 6  |-  ( ( ( ph  /\  c  =  C )  /\  b  =  B )  ->  (
f  e.  ( ( 1st `  y ) (  Hom  `  c
) ( 1st `  x
) ) ,  g  e.  ( ( 2nd `  x ) (  Hom  `  c ) ( 2nd `  y ) )  |->  ( h  e.  ( (  Hom  `  c ) `  x )  |->  ( ( g ( x (comp `  c ) ( 2nd `  y ) ) h ) ( <. ( 1st `  y ) ,  ( 1st `  x
) >. (comp `  c
) ( 2nd `  y
) ) f ) ) )  =  ( f  e.  ( ( 1st `  y ) H ( 1st `  x
) ) ,  g  e.  ( ( 2nd `  x ) H ( 2nd `  y ) )  |->  ( h  e.  ( H `  x
)  |->  ( ( g ( x  .x.  ( 2nd `  y ) ) h ) ( <.
( 1st `  y
) ,  ( 1st `  x ) >.  .x.  ( 2nd `  y ) ) f ) ) ) )
3012, 12, 29mpt2eq123dv 6095 . . . . 5  |-  ( ( ( ph  /\  c  =  C )  /\  b  =  B )  ->  (
x  e.  ( b  X.  b ) ,  y  e.  ( b  X.  b )  |->  ( f  e.  ( ( 1st `  y ) (  Hom  `  c
) ( 1st `  x
) ) ,  g  e.  ( ( 2nd `  x ) (  Hom  `  c ) ( 2nd `  y ) )  |->  ( h  e.  ( (  Hom  `  c ) `  x )  |->  ( ( g ( x (comp `  c ) ( 2nd `  y ) ) h ) ( <. ( 1st `  y ) ,  ( 1st `  x
) >. (comp `  c
) ( 2nd `  y
) ) f ) ) ) )  =  ( x  e.  ( B  X.  B ) ,  y  e.  ( B  X.  B ) 
|->  ( f  e.  ( ( 1st `  y
) H ( 1st `  x ) ) ,  g  e.  ( ( 2nd `  x ) H ( 2nd `  y
) )  |->  ( h  e.  ( H `  x )  |->  ( ( g ( x  .x.  ( 2nd `  y ) ) h ) (
<. ( 1st `  y
) ,  ( 1st `  x ) >.  .x.  ( 2nd `  y ) ) f ) ) ) ) )
317, 10, 30csbied2 3254 . . . 4  |-  ( (
ph  /\  c  =  C )  ->  [_ ( Base `  c )  / 
b ]_ ( x  e.  ( b  X.  b
) ,  y  e.  ( b  X.  b
)  |->  ( f  e.  ( ( 1st `  y
) (  Hom  `  c
) ( 1st `  x
) ) ,  g  e.  ( ( 2nd `  x ) (  Hom  `  c ) ( 2nd `  y ) )  |->  ( h  e.  ( (  Hom  `  c ) `  x )  |->  ( ( g ( x (comp `  c ) ( 2nd `  y ) ) h ) ( <. ( 1st `  y ) ,  ( 1st `  x
) >. (comp `  c
) ( 2nd `  y
) ) f ) ) ) )  =  ( x  e.  ( B  X.  B ) ,  y  e.  ( B  X.  B ) 
|->  ( f  e.  ( ( 1st `  y
) H ( 1st `  x ) ) ,  g  e.  ( ( 2nd `  x ) H ( 2nd `  y
) )  |->  ( h  e.  ( H `  x )  |->  ( ( g ( x  .x.  ( 2nd `  y ) ) h ) (
<. ( 1st `  y
) ,  ( 1st `  x ) >.  .x.  ( 2nd `  y ) ) f ) ) ) ) )
325, 31opeq12d 3952 . . 3  |-  ( (
ph  /\  c  =  C )  ->  <. (  Homf  `  c ) ,  [_ ( Base `  c )  /  b ]_ (
x  e.  ( b  X.  b ) ,  y  e.  ( b  X.  b )  |->  ( f  e.  ( ( 1st `  y ) (  Hom  `  c
) ( 1st `  x
) ) ,  g  e.  ( ( 2nd `  x ) (  Hom  `  c ) ( 2nd `  y ) )  |->  ( h  e.  ( (  Hom  `  c ) `  x )  |->  ( ( g ( x (comp `  c ) ( 2nd `  y ) ) h ) ( <. ( 1st `  y ) ,  ( 1st `  x
) >. (comp `  c
) ( 2nd `  y
) ) f ) ) ) ) >.  =  <. (  Homf  `  C ) ,  ( x  e.  ( B  X.  B
) ,  y  e.  ( B  X.  B
)  |->  ( f  e.  ( ( 1st `  y
) H ( 1st `  x ) ) ,  g  e.  ( ( 2nd `  x ) H ( 2nd `  y
) )  |->  ( h  e.  ( H `  x )  |->  ( ( g ( x  .x.  ( 2nd `  y ) ) h ) (
<. ( 1st `  y
) ,  ( 1st `  x ) >.  .x.  ( 2nd `  y ) ) f ) ) ) ) >. )
33 hofval.c . . 3  |-  ( ph  ->  C  e.  Cat )
34 opex 4387 . . . 4  |-  <. (  Homf  `  C ) ,  ( x  e.  ( B  X.  B ) ,  y  e.  ( B  X.  B )  |->  ( f  e.  ( ( 1st `  y ) H ( 1st `  x
) ) ,  g  e.  ( ( 2nd `  x ) H ( 2nd `  y ) )  |->  ( h  e.  ( H `  x
)  |->  ( ( g ( x  .x.  ( 2nd `  y ) ) h ) ( <.
( 1st `  y
) ,  ( 1st `  x ) >.  .x.  ( 2nd `  y ) ) f ) ) ) ) >.  e.  _V
3534a1i 11 . . 3  |-  ( ph  -> 
<. (  Homf 
`  C ) ,  ( x  e.  ( B  X.  B ) ,  y  e.  ( B  X.  B ) 
|->  ( f  e.  ( ( 1st `  y
) H ( 1st `  x ) ) ,  g  e.  ( ( 2nd `  x ) H ( 2nd `  y
) )  |->  ( h  e.  ( H `  x )  |->  ( ( g ( x  .x.  ( 2nd `  y ) ) h ) (
<. ( 1st `  y
) ,  ( 1st `  x ) >.  .x.  ( 2nd `  y ) ) f ) ) ) ) >.  e.  _V )
363, 32, 33, 35fvmptd 5769 . 2  |-  ( ph  ->  (HomF
`  C )  = 
<. (  Homf 
`  C ) ,  ( x  e.  ( B  X.  B ) ,  y  e.  ( B  X.  B ) 
|->  ( f  e.  ( ( 1st `  y
) H ( 1st `  x ) ) ,  g  e.  ( ( 2nd `  x ) H ( 2nd `  y
) )  |->  ( h  e.  ( H `  x )  |->  ( ( g ( x  .x.  ( 2nd `  y ) ) h ) (
<. ( 1st `  y
) ,  ( 1st `  x ) >.  .x.  ( 2nd `  y ) ) f ) ) ) ) >. )
371, 36syl5eq 2448 1  |-  ( ph  ->  M  =  <. (  Homf  `  C ) ,  ( x  e.  ( B  X.  B ) ,  y  e.  ( B  X.  B )  |->  ( f  e.  ( ( 1st `  y ) H ( 1st `  x
) ) ,  g  e.  ( ( 2nd `  x ) H ( 2nd `  y ) )  |->  ( h  e.  ( H `  x
)  |->  ( ( g ( x  .x.  ( 2nd `  y ) ) h ) ( <.
( 1st `  y
) ,  ( 1st `  x ) >.  .x.  ( 2nd `  y ) ) f ) ) ) ) >. )
Colors of variables: wff set class
Syntax hints:    -> wi 4    /\ wa 359    = wceq 1649    e. wcel 1721   _Vcvv 2916   [_csb 3211   <.cop 3777    e. cmpt 4226    X. cxp 4835   ` cfv 5413  (class class class)co 6040    e. cmpt2 6042   1stc1st 6306   2ndc2nd 6307   Basecbs 13424    Hom chom 13495  compcco 13496   Catccat 13844    Homf chomf 13846  HomFchof 14300
This theorem is referenced by:  hof1fval  14305  hof2fval  14307  hofcl  14311  hofpropd  14319
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-14 1725  ax-6 1740  ax-7 1745  ax-11 1757  ax-12 1946  ax-ext 2385  ax-sep 4290  ax-nul 4298  ax-pr 4363
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-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-sn 3780  df-pr 3781  df-op 3783  df-uni 3976  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-iota 5377  df-fun 5415  df-fv 5421  df-ov 6043  df-oprab 6044  df-mpt2 6045  df-hof 14302
  Copyright terms: Public domain W3C validator