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

Theorem hofval 18330
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‘𝐶) × 𝐶 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 𝑀 = (HomF𝐶)
hofval.c (𝜑𝐶 ∈ Cat)
hofval.b 𝐵 = (Base‘𝐶)
hofval.h 𝐻 = (Hom ‘𝐶)
hofval.o · = (comp‘𝐶)
Assertion
Ref Expression
hofval (𝜑𝑀 = ⟨(Homf𝐶), (𝑥 ∈ (𝐵 × 𝐵), 𝑦 ∈ (𝐵 × 𝐵) ↦ (𝑓 ∈ ((1st𝑦)𝐻(1st𝑥)), 𝑔 ∈ ((2nd𝑥)𝐻(2nd𝑦)) ↦ ( ∈ (𝐻𝑥) ↦ ((𝑔(𝑥 · (2nd𝑦)))(⟨(1st𝑦), (1st𝑥)⟩ · (2nd𝑦))𝑓))))⟩)
Distinct variable groups:   𝑓,𝑔,,𝑥,𝑦,𝐵   𝜑,𝑓,𝑔,,𝑥,𝑦   𝐶,𝑓,𝑔,,𝑥,𝑦   𝑓,𝐻,𝑔,,𝑥,𝑦   · ,𝑓,𝑔,,𝑥,𝑦
Allowed substitution hints:   𝑀(𝑥, 𝑦, 𝑓, 𝑔, )

Proof of Theorem hofval
Dummy variables 𝑏 𝑐 are mutually distinct and distinct from all other variables.
StepHypRef Expression
1 hofval.m . 2 𝑀 = (HomF𝐶)
2 df-hof 18328 . . 3 HomF = (𝑐 ∈ Cat ↦ ⟨(Homf𝑐), (Base‘𝑐) / 𝑏(𝑥 ∈ (𝑏 × 𝑏), 𝑦 ∈ (𝑏 × 𝑏) ↦ (𝑓 ∈ ((1st𝑦)(Hom ‘𝑐)(1st𝑥)), 𝑔 ∈ ((2nd𝑥)(Hom ‘𝑐)(2nd𝑦)) ↦ ( ∈ ((Hom ‘𝑐)‘𝑥) ↦ ((𝑔(𝑥(comp‘𝑐)(2nd𝑦)))(⟨(1st𝑦), (1st𝑥)⟩(comp‘𝑐)(2nd𝑦))𝑓))))⟩)
3 simpr 490 . . . . 5 ((𝜑𝑐 = 𝐶) → 𝑐 = 𝐶)
43fveq2d 6889 . . . 4 ((𝜑𝑐 = 𝐶) → (Homf𝑐) = (Homf𝐶))
5 fvexd 6900 . . . . 5 ((𝜑𝑐 = 𝐶) → (Base‘𝑐) ∈ V)
63fveq2d 6889 . . . . . 6 ((𝜑𝑐 = 𝐶) → (Base‘𝑐) = (Base‘𝐶))
7 hofval.b . . . . . 6 𝐵 = (Base‘𝐶)
86, 7eqtr4di 2818 . . . . 5 ((𝜑𝑐 = 𝐶) → (Base‘𝑐) = 𝐵)
9 simpr 490 . . . . . . 7 (((𝜑𝑐 = 𝐶) ∧ 𝑏 = 𝐵) → 𝑏 = 𝐵)
109sqxpeqd 5695 . . . . . 6 (((𝜑𝑐 = 𝐶) ∧ 𝑏 = 𝐵) → (𝑏 × 𝑏) = (𝐵 × 𝐵))
11 simplr 781 . . . . . . . . . 10 (((𝜑𝑐 = 𝐶) ∧ 𝑏 = 𝐵) → 𝑐 = 𝐶)
1211fveq2d 6889 . . . . . . . . 9 (((𝜑𝑐 = 𝐶) ∧ 𝑏 = 𝐵) → (Hom ‘𝑐) = (Hom ‘𝐶))
13 hofval.h . . . . . . . . 9 𝐻 = (Hom ‘𝐶)
1412, 13eqtr4di 2818 . . . . . . . 8 (((𝜑𝑐 = 𝐶) ∧ 𝑏 = 𝐵) → (Hom ‘𝑐) = 𝐻)
1514oveqd 7436 . . . . . . 7 (((𝜑𝑐 = 𝐶) ∧ 𝑏 = 𝐵) → ((1st𝑦)(Hom ‘𝑐)(1st𝑥)) = ((1st𝑦)𝐻(1st𝑥)))
1614oveqd 7436 . . . . . . 7 (((𝜑𝑐 = 𝐶) ∧ 𝑏 = 𝐵) → ((2nd𝑥)(Hom ‘𝑐)(2nd𝑦)) = ((2nd𝑥)𝐻(2nd𝑦)))
1714fveq1d 6887 . . . . . . . 8 (((𝜑𝑐 = 𝐶) ∧ 𝑏 = 𝐵) → ((Hom ‘𝑐)‘𝑥) = (𝐻𝑥))
1811fveq2d 6889 . . . . . . . . . . 11 (((𝜑𝑐 = 𝐶) ∧ 𝑏 = 𝐵) → (comp‘𝑐) = (comp‘𝐶))
19 hofval.o . . . . . . . . . . 11 · = (comp‘𝐶)
2018, 19eqtr4di 2818 . . . . . . . . . 10 (((𝜑𝑐 = 𝐶) ∧ 𝑏 = 𝐵) → (comp‘𝑐) = · )
2120oveqd 7436 . . . . . . . . 9 (((𝜑𝑐 = 𝐶) ∧ 𝑏 = 𝐵) → (⟨(1st𝑦), (1st𝑥)⟩(comp‘𝑐)(2nd𝑦)) = (⟨(1st𝑦), (1st𝑥)⟩ · (2nd𝑦)))
2220oveqd 7436 . . . . . . . . . 10 (((𝜑𝑐 = 𝐶) ∧ 𝑏 = 𝐵) → (𝑥(comp‘𝑐)(2nd𝑦)) = (𝑥 · (2nd𝑦)))
2322oveqd 7436 . . . . . . . . 9 (((𝜑𝑐 = 𝐶) ∧ 𝑏 = 𝐵) → (𝑔(𝑥(comp‘𝑐)(2nd𝑦))) = (𝑔(𝑥 · (2nd𝑦))))
24 eqidd 2766 . . . . . . . . 9 (((𝜑𝑐 = 𝐶) ∧ 𝑏 = 𝐵) → 𝑓 = 𝑓)
2521, 23, 24oveq123d 7440 . . . . . . . 8 (((𝜑𝑐 = 𝐶) ∧ 𝑏 = 𝐵) → ((𝑔(𝑥(comp‘𝑐)(2nd𝑦)))(⟨(1st𝑦), (1st𝑥)⟩(comp‘𝑐)(2nd𝑦))𝑓) = ((𝑔(𝑥 · (2nd𝑦)))(⟨(1st𝑦), (1st𝑥)⟩ · (2nd𝑦))𝑓))
2617, 25mpteq12dv 5200 . . . . . . 7 (((𝜑𝑐 = 𝐶) ∧ 𝑏 = 𝐵) → ( ∈ ((Hom ‘𝑐)‘𝑥) ↦ ((𝑔(𝑥(comp‘𝑐)(2nd𝑦)))(⟨(1st𝑦), (1st𝑥)⟩(comp‘𝑐)(2nd𝑦))𝑓)) = ( ∈ (𝐻𝑥) ↦ ((𝑔(𝑥 · (2nd𝑦)))(⟨(1st𝑦), (1st𝑥)⟩ · (2nd𝑦))𝑓)))
2715, 16, 26mpoeq123dv 7494 . . . . . 6 (((𝜑𝑐 = 𝐶) ∧ 𝑏 = 𝐵) → (𝑓 ∈ ((1st𝑦)(Hom ‘𝑐)(1st𝑥)), 𝑔 ∈ ((2nd𝑥)(Hom ‘𝑐)(2nd𝑦)) ↦ ( ∈ ((Hom ‘𝑐)‘𝑥) ↦ ((𝑔(𝑥(comp‘𝑐)(2nd𝑦)))(⟨(1st𝑦), (1st𝑥)⟩(comp‘𝑐)(2nd𝑦))𝑓))) = (𝑓 ∈ ((1st𝑦)𝐻(1st𝑥)), 𝑔 ∈ ((2nd𝑥)𝐻(2nd𝑦)) ↦ ( ∈ (𝐻𝑥) ↦ ((𝑔(𝑥 · (2nd𝑦)))(⟨(1st𝑦), (1st𝑥)⟩ · (2nd𝑦))𝑓))))
2810, 10, 27mpoeq123dv 7494 . . . . 5 (((𝜑𝑐 = 𝐶) ∧ 𝑏 = 𝐵) → (𝑥 ∈ (𝑏 × 𝑏), 𝑦 ∈ (𝑏 × 𝑏) ↦ (𝑓 ∈ ((1st𝑦)(Hom ‘𝑐)(1st𝑥)), 𝑔 ∈ ((2nd𝑥)(Hom ‘𝑐)(2nd𝑦)) ↦ ( ∈ ((Hom ‘𝑐)‘𝑥) ↦ ((𝑔(𝑥(comp‘𝑐)(2nd𝑦)))(⟨(1st𝑦), (1st𝑥)⟩(comp‘𝑐)(2nd𝑦))𝑓)))) = (𝑥 ∈ (𝐵 × 𝐵), 𝑦 ∈ (𝐵 × 𝐵) ↦ (𝑓 ∈ ((1st𝑦)𝐻(1st𝑥)), 𝑔 ∈ ((2nd𝑥)𝐻(2nd𝑦)) ↦ ( ∈ (𝐻𝑥) ↦ ((𝑔(𝑥 · (2nd𝑦)))(⟨(1st𝑦), (1st𝑥)⟩ · (2nd𝑦))𝑓)))))
295, 8, 28csbied2 3891 . . . 4 ((𝜑𝑐 = 𝐶) → (Base‘𝑐) / 𝑏(𝑥 ∈ (𝑏 × 𝑏), 𝑦 ∈ (𝑏 × 𝑏) ↦ (𝑓 ∈ ((1st𝑦)(Hom ‘𝑐)(1st𝑥)), 𝑔 ∈ ((2nd𝑥)(Hom ‘𝑐)(2nd𝑦)) ↦ ( ∈ ((Hom ‘𝑐)‘𝑥) ↦ ((𝑔(𝑥(comp‘𝑐)(2nd𝑦)))(⟨(1st𝑦), (1st𝑥)⟩(comp‘𝑐)(2nd𝑦))𝑓)))) = (𝑥 ∈ (𝐵 × 𝐵), 𝑦 ∈ (𝐵 × 𝐵) ↦ (𝑓 ∈ ((1st𝑦)𝐻(1st𝑥)), 𝑔 ∈ ((2nd𝑥)𝐻(2nd𝑦)) ↦ ( ∈ (𝐻𝑥) ↦ ((𝑔(𝑥 · (2nd𝑦)))(⟨(1st𝑦), (1st𝑥)⟩ · (2nd𝑦))𝑓)))))
304, 29opeq12d 4848 . . 3 ((𝜑𝑐 = 𝐶) → ⟨(Homf𝑐), (Base‘𝑐) / 𝑏(𝑥 ∈ (𝑏 × 𝑏), 𝑦 ∈ (𝑏 × 𝑏) ↦ (𝑓 ∈ ((1st𝑦)(Hom ‘𝑐)(1st𝑥)), 𝑔 ∈ ((2nd𝑥)(Hom ‘𝑐)(2nd𝑦)) ↦ ( ∈ ((Hom ‘𝑐)‘𝑥) ↦ ((𝑔(𝑥(comp‘𝑐)(2nd𝑦)))(⟨(1st𝑦), (1st𝑥)⟩(comp‘𝑐)(2nd𝑦))𝑓))))⟩ = ⟨(Homf𝐶), (𝑥 ∈ (𝐵 × 𝐵), 𝑦 ∈ (𝐵 × 𝐵) ↦ (𝑓 ∈ ((1st𝑦)𝐻(1st𝑥)), 𝑔 ∈ ((2nd𝑥)𝐻(2nd𝑦)) ↦ ( ∈ (𝐻𝑥) ↦ ((𝑔(𝑥 · (2nd𝑦)))(⟨(1st𝑦), (1st𝑥)⟩ · (2nd𝑦))𝑓))))⟩)
31 hofval.c . . 3 (𝜑𝐶 ∈ Cat)
32 opex 5447 . . . 4 ⟨(Homf𝐶), (𝑥 ∈ (𝐵 × 𝐵), 𝑦 ∈ (𝐵 × 𝐵) ↦ (𝑓 ∈ ((1st𝑦)𝐻(1st𝑥)), 𝑔 ∈ ((2nd𝑥)𝐻(2nd𝑦)) ↦ ( ∈ (𝐻𝑥) ↦ ((𝑔(𝑥 · (2nd𝑦)))(⟨(1st𝑦), (1st𝑥)⟩ · (2nd𝑦))𝑓))))⟩ ∈ V
3332a1i 11 . . 3 (𝜑 → ⟨(Homf𝐶), (𝑥 ∈ (𝐵 × 𝐵), 𝑦 ∈ (𝐵 × 𝐵) ↦ (𝑓 ∈ ((1st𝑦)𝐻(1st𝑥)), 𝑔 ∈ ((2nd𝑥)𝐻(2nd𝑦)) ↦ ( ∈ (𝐻𝑥) ↦ ((𝑔(𝑥 · (2nd𝑦)))(⟨(1st𝑦), (1st𝑥)⟩ · (2nd𝑦))𝑓))))⟩ ∈ V)
342, 30, 31, 33fvmptd2 7002 . 2 (𝜑 → (HomF𝐶) = ⟨(Homf𝐶), (𝑥 ∈ (𝐵 × 𝐵), 𝑦 ∈ (𝐵 × 𝐵) ↦ (𝑓 ∈ ((1st𝑦)𝐻(1st𝑥)), 𝑔 ∈ ((2nd𝑥)𝐻(2nd𝑦)) ↦ ( ∈ (𝐻𝑥) ↦ ((𝑔(𝑥 · (2nd𝑦)))(⟨(1st𝑦), (1st𝑥)⟩ · (2nd𝑦))𝑓))))⟩)
351, 34eqtrid 2812 1 (𝜑𝑀 = ⟨(Homf𝐶), (𝑥 ∈ (𝐵 × 𝐵), 𝑦 ∈ (𝐵 × 𝐵) ↦ (𝑓 ∈ ((1st𝑦)𝐻(1st𝑥)), 𝑔 ∈ ((2nd𝑥)𝐻(2nd𝑦)) ↦ ( ∈ (𝐻𝑥) ↦ ((𝑔(𝑥 · (2nd𝑦)))(⟨(1st𝑦), (1st𝑥)⟩ · (2nd𝑦))𝑓))))⟩)
Colors of variables:    wff setvar class
This proof depends on syntax axioms:  wi 4  wa 401   = wceq 1570  wcel 2146  Vcvv 3457  csb 3854  cop 4597  cmpt 5194   × cxp 5661  cfv 6540  (class class class)co 7419  cmpo 7421  1st c1st 7990  2nd c2nd 7991  Basecbs 17291  Hom chom 17343  compcco 17344  Catccat 17742  Homf chomf 17744  HomFchof 18326
This proof depends on axioms:  ax-mp 5  ax-1 6  ax-2 7  ax-3 8  ax-gen 1828  ax-4 1842  ax-5 1943  ax-6 2000  ax-7 2041  ax-8 2148  ax-9 2156  ax-10 2179  ax-11 2195  ax-12 2216  ax-ext 2737  ax-sep 5259  ax-nul 5271  ax-pr 5406
This proof depends on definitions:  df-bi 210  df-an 402  df-or 862  df-3an 1105  df-tru 1573  df-fal 1583  df-ex 1813  df-nf 1817  df-sb 2100  df-mo 2569  df-eu 2599  df-clab 2744  df-cleq 2757  df-clel 2840  df-nfc 2914  df-ne 2961  df-ral 3082  df-rex 3092  df-rab 3419  df-v 3459  df-sbc 3747  df-csb 3855  df-dif 3909  df-un 3911  df-in 3913  df-ss 3923  df-nul 4287  df-if 4490  df-sn 4592  df-pr 4594  df-op 4598  df-uni 4875  df-br 5112  df-opab 5176  df-mpt 5195  df-id 5558  df-xp 5669  df-rel 5670  df-cnv 5671  df-co 5672  df-dm 5673  df-iota 6496  df-fun 6542  df-fv 6548  df-ov 7422  df-oprab 7423  df-mpo 7424  df-hof 18328
This theorem is used by:  hof1fval  18331  hof2fval  18333  hofcl  18337  hofpropd  18345
  Copyright terms: Public domain W3C validator