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

Theorem hofval 14350
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 14348 . . . 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 449 . . . . 5  |-  ( (
ph  /\  c  =  C )  ->  c  =  C )
54fveq2d 5733 . . . 4  |-  ( (
ph  /\  c  =  C )  ->  (  Homf  `  c )  =  (  Homf 
`  C ) )
6 fvex 5743 . . . . . 6  |-  ( Base `  c )  e.  _V
76a1i 11 . . . . 5  |-  ( (
ph  /\  c  =  C )  ->  ( Base `  c )  e. 
_V )
84fveq2d 5733 . . . . . 6  |-  ( (
ph  /\  c  =  C )  ->  ( Base `  c )  =  ( Base `  C
) )
9 hofval.b . . . . . 6  |-  B  =  ( Base `  C
)
108, 9syl6eqr 2487 . . . . 5  |-  ( (
ph  /\  c  =  C )  ->  ( Base `  c )  =  B )
11 simpr 449 . . . . . . 7  |-  ( ( ( ph  /\  c  =  C )  /\  b  =  B )  ->  b  =  B )
1211, 11xpeq12d 4904 . . . . . 6  |-  ( ( ( ph  /\  c  =  C )  /\  b  =  B )  ->  (
b  X.  b )  =  ( B  X.  B ) )
13 simplr 733 . . . . . . . . . 10  |-  ( ( ( ph  /\  c  =  C )  /\  b  =  B )  ->  c  =  C )
1413fveq2d 5733 . . . . . . . . 9  |-  ( ( ( ph  /\  c  =  C )  /\  b  =  B )  ->  (  Hom  `  c )  =  (  Hom  `  C
) )
15 hofval.h . . . . . . . . 9  |-  H  =  (  Hom  `  C
)
1614, 15syl6eqr 2487 . . . . . . . 8  |-  ( ( ( ph  /\  c  =  C )  /\  b  =  B )  ->  (  Hom  `  c )  =  H )
1716oveqd 6099 . . . . . . 7  |-  ( ( ( ph  /\  c  =  C )  /\  b  =  B )  ->  (
( 1st `  y
) (  Hom  `  c
) ( 1st `  x
) )  =  ( ( 1st `  y
) H ( 1st `  x ) ) )
1816oveqd 6099 . . . . . . 7  |-  ( ( ( ph  /\  c  =  C )  /\  b  =  B )  ->  (
( 2nd `  x
) (  Hom  `  c
) ( 2nd `  y
) )  =  ( ( 2nd `  x
) H ( 2nd `  y ) ) )
1916fveq1d 5731 . . . . . . . 8  |-  ( ( ( ph  /\  c  =  C )  /\  b  =  B )  ->  (
(  Hom  `  c ) `
 x )  =  ( H `  x
) )
2013fveq2d 5733 . . . . . . . . . . 11  |-  ( ( ( ph  /\  c  =  C )  /\  b  =  B )  ->  (comp `  c )  =  (comp `  C ) )
21 hofval.o . . . . . . . . . . 11  |-  .x.  =  (comp `  C )
2220, 21syl6eqr 2487 . . . . . . . . . 10  |-  ( ( ( ph  /\  c  =  C )  /\  b  =  B )  ->  (comp `  c )  =  .x.  )
2322oveqd 6099 . . . . . . . . 9  |-  ( ( ( ph  /\  c  =  C )  /\  b  =  B )  ->  ( <. ( 1st `  y
) ,  ( 1st `  x ) >. (comp `  c ) ( 2nd `  y ) )  =  ( <. ( 1st `  y
) ,  ( 1st `  x ) >.  .x.  ( 2nd `  y ) ) )
2422oveqd 6099 . . . . . . . . . 10  |-  ( ( ( ph  /\  c  =  C )  /\  b  =  B )  ->  (
x (comp `  c
) ( 2nd `  y
) )  =  ( x  .x.  ( 2nd `  y ) ) )
2524oveqd 6099 . . . . . . . . 9  |-  ( ( ( ph  /\  c  =  C )  /\  b  =  B )  ->  (
g ( x (comp `  c ) ( 2nd `  y ) ) h )  =  ( g ( x  .x.  ( 2nd `  y ) ) h ) )
26 eqidd 2438 . . . . . . . . 9  |-  ( ( ( ph  /\  c  =  C )  /\  b  =  B )  ->  f  =  f )
2723, 25, 26oveq123d 6103 . . . . . . . 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 4288 . . . . . . 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 6137 . . . . . 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 6137 . . . . 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 3295 . . . 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 3993 . . 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 4428 . . . 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 5811 . 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 2481 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 360    = wceq 1653    e. wcel 1726   _Vcvv 2957   [_csb 3252   <.cop 3818    e. cmpt 4267    X. cxp 4877   ` cfv 5455  (class class class)co 6082    e. cmpt2 6084   1stc1st 6348   2ndc2nd 6349   Basecbs 13470    Hom chom 13541  compcco 13542   Catccat 13890    Homf chomf 13892  HomFchof 14346
This theorem is referenced by:  hof1fval  14351  hof2fval  14353  hofcl  14357  hofpropd  14365
This theorem was proved from axioms:  ax-1 5  ax-2 6  ax-3 7  ax-mp 8  ax-gen 1556  ax-5 1567  ax-17 1627  ax-9 1667  ax-8 1688  ax-14 1730  ax-6 1745  ax-7 1750  ax-11 1762  ax-12 1951  ax-ext 2418  ax-sep 4331  ax-nul 4339  ax-pr 4404
This theorem depends on definitions:  df-bi 179  df-or 361  df-an 362  df-3an 939  df-tru 1329  df-ex 1552  df-nf 1555  df-sb 1660  df-eu 2286  df-mo 2287  df-clab 2424  df-cleq 2430  df-clel 2433  df-nfc 2562  df-ne 2602  df-ral 2711  df-rex 2712  df-rab 2715  df-v 2959  df-sbc 3163  df-csb 3253  df-dif 3324  df-un 3326  df-in 3328  df-ss 3335  df-nul 3630  df-if 3741  df-sn 3821  df-pr 3822  df-op 3824  df-uni 4017  df-br 4214  df-opab 4268  df-mpt 4269  df-id 4499  df-xp 4885  df-rel 4886  df-cnv 4887  df-co 4888  df-dm 4889  df-iota 5419  df-fun 5457  df-fv 5463  df-ov 6085  df-oprab 6086  df-mpt2 6087  df-hof 14348
  Copyright terms: Public domain W3C validator