Metamath Proof Explorer


Definition df-hof

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 ( oppCatC ) 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)

Ref Expression
Assertion df-hof HomF = ( 𝑐 ∈ Cat ↦ ⟨ ( Homf𝑐 ) , ( Base ‘ 𝑐 ) / 𝑏 ( 𝑥 ∈ ( 𝑏 × 𝑏 ) , 𝑦 ∈ ( 𝑏 × 𝑏 ) ↦ ( 𝑓 ∈ ( ( 1st𝑦 ) ( Hom ‘ 𝑐 ) ( 1st𝑥 ) ) , 𝑔 ∈ ( ( 2nd𝑥 ) ( Hom ‘ 𝑐 ) ( 2nd𝑦 ) ) ↦ ( ∈ ( ( Hom ‘ 𝑐 ) ‘ 𝑥 ) ↦ ( ( 𝑔 ( 𝑥 ( comp ‘ 𝑐 ) ( 2nd𝑦 ) ) ) ( ⟨ ( 1st𝑦 ) , ( 1st𝑥 ) ⟩ ( comp ‘ 𝑐 ) ( 2nd𝑦 ) ) 𝑓 ) ) ) ) ⟩ )

Detailed syntax breakdown

Step Hyp Ref Expression
0 chof HomF
1 vc 𝑐
2 ccat Cat
3 chomf Homf
4 1 cv 𝑐
5 4 3 cfv ( Homf𝑐 )
6 cbs Base
7 4 6 cfv ( Base ‘ 𝑐 )
8 vb 𝑏
9 vx 𝑥
10 8 cv 𝑏
11 10 10 cxp ( 𝑏 × 𝑏 )
12 vy 𝑦
13 vf 𝑓
14 c1st 1st
15 12 cv 𝑦
16 15 14 cfv ( 1st𝑦 )
17 chom Hom
18 4 17 cfv ( Hom ‘ 𝑐 )
19 9 cv 𝑥
20 19 14 cfv ( 1st𝑥 )
21 16 20 18 co ( ( 1st𝑦 ) ( Hom ‘ 𝑐 ) ( 1st𝑥 ) )
22 vg 𝑔
23 c2nd 2nd
24 19 23 cfv ( 2nd𝑥 )
25 15 23 cfv ( 2nd𝑦 )
26 24 25 18 co ( ( 2nd𝑥 ) ( Hom ‘ 𝑐 ) ( 2nd𝑦 ) )
27 vh
28 19 18 cfv ( ( Hom ‘ 𝑐 ) ‘ 𝑥 )
29 22 cv 𝑔
30 cco comp
31 4 30 cfv ( comp ‘ 𝑐 )
32 19 25 31 co ( 𝑥 ( comp ‘ 𝑐 ) ( 2nd𝑦 ) )
33 27 cv
34 29 33 32 co ( 𝑔 ( 𝑥 ( comp ‘ 𝑐 ) ( 2nd𝑦 ) ) )
35 16 20 cop ⟨ ( 1st𝑦 ) , ( 1st𝑥 ) ⟩
36 35 25 31 co ( ⟨ ( 1st𝑦 ) , ( 1st𝑥 ) ⟩ ( comp ‘ 𝑐 ) ( 2nd𝑦 ) )
37 13 cv 𝑓
38 34 37 36 co ( ( 𝑔 ( 𝑥 ( comp ‘ 𝑐 ) ( 2nd𝑦 ) ) ) ( ⟨ ( 1st𝑦 ) , ( 1st𝑥 ) ⟩ ( comp ‘ 𝑐 ) ( 2nd𝑦 ) ) 𝑓 )
39 27 28 38 cmpt ( ∈ ( ( Hom ‘ 𝑐 ) ‘ 𝑥 ) ↦ ( ( 𝑔 ( 𝑥 ( comp ‘ 𝑐 ) ( 2nd𝑦 ) ) ) ( ⟨ ( 1st𝑦 ) , ( 1st𝑥 ) ⟩ ( comp ‘ 𝑐 ) ( 2nd𝑦 ) ) 𝑓 ) )
40 13 22 21 26 39 cmpo ( 𝑓 ∈ ( ( 1st𝑦 ) ( Hom ‘ 𝑐 ) ( 1st𝑥 ) ) , 𝑔 ∈ ( ( 2nd𝑥 ) ( Hom ‘ 𝑐 ) ( 2nd𝑦 ) ) ↦ ( ∈ ( ( Hom ‘ 𝑐 ) ‘ 𝑥 ) ↦ ( ( 𝑔 ( 𝑥 ( comp ‘ 𝑐 ) ( 2nd𝑦 ) ) ) ( ⟨ ( 1st𝑦 ) , ( 1st𝑥 ) ⟩ ( comp ‘ 𝑐 ) ( 2nd𝑦 ) ) 𝑓 ) ) )
41 9 12 11 11 40 cmpo ( 𝑥 ∈ ( 𝑏 × 𝑏 ) , 𝑦 ∈ ( 𝑏 × 𝑏 ) ↦ ( 𝑓 ∈ ( ( 1st𝑦 ) ( Hom ‘ 𝑐 ) ( 1st𝑥 ) ) , 𝑔 ∈ ( ( 2nd𝑥 ) ( Hom ‘ 𝑐 ) ( 2nd𝑦 ) ) ↦ ( ∈ ( ( Hom ‘ 𝑐 ) ‘ 𝑥 ) ↦ ( ( 𝑔 ( 𝑥 ( comp ‘ 𝑐 ) ( 2nd𝑦 ) ) ) ( ⟨ ( 1st𝑦 ) , ( 1st𝑥 ) ⟩ ( comp ‘ 𝑐 ) ( 2nd𝑦 ) ) 𝑓 ) ) ) )
42 8 7 41 csb ( Base ‘ 𝑐 ) / 𝑏 ( 𝑥 ∈ ( 𝑏 × 𝑏 ) , 𝑦 ∈ ( 𝑏 × 𝑏 ) ↦ ( 𝑓 ∈ ( ( 1st𝑦 ) ( Hom ‘ 𝑐 ) ( 1st𝑥 ) ) , 𝑔 ∈ ( ( 2nd𝑥 ) ( Hom ‘ 𝑐 ) ( 2nd𝑦 ) ) ↦ ( ∈ ( ( Hom ‘ 𝑐 ) ‘ 𝑥 ) ↦ ( ( 𝑔 ( 𝑥 ( comp ‘ 𝑐 ) ( 2nd𝑦 ) ) ) ( ⟨ ( 1st𝑦 ) , ( 1st𝑥 ) ⟩ ( comp ‘ 𝑐 ) ( 2nd𝑦 ) ) 𝑓 ) ) ) )
43 5 42 cop ⟨ ( Homf𝑐 ) , ( Base ‘ 𝑐 ) / 𝑏 ( 𝑥 ∈ ( 𝑏 × 𝑏 ) , 𝑦 ∈ ( 𝑏 × 𝑏 ) ↦ ( 𝑓 ∈ ( ( 1st𝑦 ) ( Hom ‘ 𝑐 ) ( 1st𝑥 ) ) , 𝑔 ∈ ( ( 2nd𝑥 ) ( Hom ‘ 𝑐 ) ( 2nd𝑦 ) ) ↦ ( ∈ ( ( Hom ‘ 𝑐 ) ‘ 𝑥 ) ↦ ( ( 𝑔 ( 𝑥 ( comp ‘ 𝑐 ) ( 2nd𝑦 ) ) ) ( ⟨ ( 1st𝑦 ) , ( 1st𝑥 ) ⟩ ( comp ‘ 𝑐 ) ( 2nd𝑦 ) ) 𝑓 ) ) ) ) ⟩
44 1 2 43 cmpt ( 𝑐 ∈ Cat ↦ ⟨ ( Homf𝑐 ) , ( Base ‘ 𝑐 ) / 𝑏 ( 𝑥 ∈ ( 𝑏 × 𝑏 ) , 𝑦 ∈ ( 𝑏 × 𝑏 ) ↦ ( 𝑓 ∈ ( ( 1st𝑦 ) ( Hom ‘ 𝑐 ) ( 1st𝑥 ) ) , 𝑔 ∈ ( ( 2nd𝑥 ) ( Hom ‘ 𝑐 ) ( 2nd𝑦 ) ) ↦ ( ∈ ( ( Hom ‘ 𝑐 ) ‘ 𝑥 ) ↦ ( ( 𝑔 ( 𝑥 ( comp ‘ 𝑐 ) ( 2nd𝑦 ) ) ) ( ⟨ ( 1st𝑦 ) , ( 1st𝑥 ) ⟩ ( comp ‘ 𝑐 ) ( 2nd𝑦 ) ) 𝑓 ) ) ) ) ⟩ )
45 0 44 wceq HomF = ( 𝑐 ∈ Cat ↦ ⟨ ( Homf𝑐 ) , ( Base ‘ 𝑐 ) / 𝑏 ( 𝑥 ∈ ( 𝑏 × 𝑏 ) , 𝑦 ∈ ( 𝑏 × 𝑏 ) ↦ ( 𝑓 ∈ ( ( 1st𝑦 ) ( Hom ‘ 𝑐 ) ( 1st𝑥 ) ) , 𝑔 ∈ ( ( 2nd𝑥 ) ( Hom ‘ 𝑐 ) ( 2nd𝑦 ) ) ↦ ( ∈ ( ( Hom ‘ 𝑐 ) ‘ 𝑥 ) ↦ ( ( 𝑔 ( 𝑥 ( comp ‘ 𝑐 ) ( 2nd𝑦 ) ) ) ( ⟨ ( 1st𝑦 ) , ( 1st𝑥 ) ⟩ ( comp ‘ 𝑐 ) ( 2nd𝑦 ) ) 𝑓 ) ) ) ) ⟩ )