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

Definition df-hof 16890
Description: Define 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, 11-Jan-2017.)
Assertion
Ref Expression
df-hof  |- HomF  =  ( c  e.  Cat  |->  <. ( Hom f  `  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 ) ) ) ) >.
)
Distinct variable group:    b, c, f, g, h, x, y

Detailed syntax breakdown of Definition df-hof
StepHypRef Expression
1 chof 16888 . 2  class HomF
2 vc . . 3  setvar  c
3 ccat 16325 . . 3  class  Cat
42cv 1482 . . . . 5  class  c
5 chomf 16327 . . . . 5  class  Hom f
64, 5cfv 5888 . . . 4  class  ( Hom f  `  c )
7 vb . . . . 5  setvar  b
8 cbs 15857 . . . . . 6  class  Base
94, 8cfv 5888 . . . . 5  class  ( Base `  c )
10 vx . . . . . 6  setvar  x
11 vy . . . . . 6  setvar  y
127cv 1482 . . . . . . 7  class  b
1312, 12cxp 5112 . . . . . 6  class  ( b  X.  b )
14 vf . . . . . . 7  setvar  f
15 vg . . . . . . 7  setvar  g
1611cv 1482 . . . . . . . . 9  class  y
17 c1st 7166 . . . . . . . . 9  class  1st
1816, 17cfv 5888 . . . . . . . 8  class  ( 1st `  y )
1910cv 1482 . . . . . . . . 9  class  x
2019, 17cfv 5888 . . . . . . . 8  class  ( 1st `  x )
21 chom 15952 . . . . . . . . 9  class  Hom
224, 21cfv 5888 . . . . . . . 8  class  ( Hom  `  c )
2318, 20, 22co 6650 . . . . . . 7  class  ( ( 1st `  y ) ( Hom  `  c
) ( 1st `  x
) )
24 c2nd 7167 . . . . . . . . 9  class  2nd
2519, 24cfv 5888 . . . . . . . 8  class  ( 2nd `  x )
2616, 24cfv 5888 . . . . . . . 8  class  ( 2nd `  y )
2725, 26, 22co 6650 . . . . . . 7  class  ( ( 2nd `  x ) ( Hom  `  c
) ( 2nd `  y
) )
28 vh . . . . . . . 8  setvar  h
2919, 22cfv 5888 . . . . . . . 8  class  ( ( Hom  `  c ) `  x )
3015cv 1482 . . . . . . . . . 10  class  g
3128cv 1482 . . . . . . . . . 10  class  h
32 cco 15953 . . . . . . . . . . . 12  class comp
334, 32cfv 5888 . . . . . . . . . . 11  class  (comp `  c )
3419, 26, 33co 6650 . . . . . . . . . 10  class  ( x (comp `  c )
( 2nd `  y
) )
3530, 31, 34co 6650 . . . . . . . . 9  class  ( g ( x (comp `  c ) ( 2nd `  y ) ) h )
3614cv 1482 . . . . . . . . 9  class  f
3718, 20cop 4183 . . . . . . . . . 10  class  <. ( 1st `  y ) ,  ( 1st `  x
) >.
3837, 26, 33co 6650 . . . . . . . . 9  class  ( <.
( 1st `  y
) ,  ( 1st `  x ) >. (comp `  c ) ( 2nd `  y ) )
3935, 36, 38co 6650 . . . . . . . 8  class  ( ( g ( x (comp `  c ) ( 2nd `  y ) ) h ) ( <. ( 1st `  y ) ,  ( 1st `  x
) >. (comp `  c
) ( 2nd `  y
) ) f )
4028, 29, 39cmpt 4729 . . . . . . 7  class  ( h  e.  ( ( Hom  `  c ) `  x
)  |->  ( ( g ( x (comp `  c ) ( 2nd `  y ) ) h ) ( <. ( 1st `  y ) ,  ( 1st `  x
) >. (comp `  c
) ( 2nd `  y
) ) f ) )
4114, 15, 23, 27, 40cmpt2 6652 . . . . . 6  class  ( 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 ) ) )
4210, 11, 13, 13, 41cmpt2 6652 . . . . 5  class  ( 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 ) ) ) )
437, 9, 42csb 3533 . . . 4  class  [_ ( 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 ) ) ) )
446, 43cop 4183 . . 3  class  <. ( Hom f  `  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 ) ) ) ) >.
452, 3, 44cmpt 4729 . 2  class  ( c  e.  Cat  |->  <. ( Hom f  `  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 ) ) ) ) >.
)
461, 45wceq 1483 1  wff HomF  =  ( c  e.  Cat  |->  <. ( Hom f  `  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 ) ) ) ) >.
)
Colors of variables: wff setvar class
This definition is referenced by:  hofval  16892
  Copyright terms: Public domain W3C validator