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

Theorem curf2 18178
Description: Value of the curry functor at a morphism. (Contributed by Mario Carneiro, 13-Jan-2017.)
Hypotheses
Ref Expression
curf2.g 𝐺 = (⟨𝐶, 𝐷⟩ curryF 𝐹)
curf2.a 𝐴 = (Base‘𝐶)
curf2.c (𝜑𝐶 ∈ Cat)
curf2.d (𝜑𝐷 ∈ Cat)
curf2.f (𝜑𝐹 ∈ ((𝐶 ×c 𝐷) Func 𝐸))
curf2.b 𝐵 = (Base‘𝐷)
curf2.h 𝐻 = (Hom ‘𝐶)
curf2.i 𝐼 = (Id‘𝐷)
curf2.x (𝜑𝑋𝐴)
curf2.y (𝜑𝑌𝐴)
curf2.k (𝜑𝐾 ∈ (𝑋𝐻𝑌))
curf2.l 𝐿 = ((𝑋(2nd𝐺)𝑌)‘𝐾)
Assertion
Ref Expression
curf2 (𝜑𝐿 = (𝑧𝐵 ↦ (𝐾(⟨𝑋, 𝑧⟩(2nd𝐹)⟨𝑌, 𝑧⟩)(𝐼𝑧))))
Distinct variable groups:   𝑧,𝐶   𝑧,𝐹   𝑧,𝐻   𝑧,𝐿   𝑧,𝐸   𝑧,𝐺   𝑧,𝐼   𝜑,𝑧   𝑧,𝐵   𝑧,𝐷   𝑧,𝑋   𝑧,𝐾   𝑧,𝑌
Allowed substitution hint:   𝐴(𝑧)

Proof of Theorem curf2
Dummy variables 𝑥 𝑦 𝑔 are mutually distinct and distinct from all other variables.
StepHypRef Expression
1 curf2.l . 2 𝐿 = ((𝑋(2nd𝐺)𝑌)‘𝐾)
2 curf2.g . . . . 5 𝐺 = (⟨𝐶, 𝐷⟩ curryF 𝐹)
3 curf2.a . . . . 5 𝐴 = (Base‘𝐶)
4 curf2.c . . . . 5 (𝜑𝐶 ∈ Cat)
5 curf2.d . . . . 5 (𝜑𝐷 ∈ Cat)
6 curf2.f . . . . 5 (𝜑𝐹 ∈ ((𝐶 ×c 𝐷) Func 𝐸))
7 curf2.b . . . . 5 𝐵 = (Base‘𝐷)
8 eqid 2732 . . . . 5 (Hom ‘𝐷) = (Hom ‘𝐷)
9 eqid 2732 . . . . 5 (Id‘𝐶) = (Id‘𝐶)
10 curf2.h . . . . 5 𝐻 = (Hom ‘𝐶)
11 curf2.i . . . . 5 𝐼 = (Id‘𝐷)
122, 3, 4, 5, 6, 7, 8, 9, 10, 11curfval 18172 . . . 4 (𝜑𝐺 = ⟨(𝑥𝐴 ↦ ⟨(𝑦𝐵 ↦ (𝑥(1st𝐹)𝑦)), (𝑦𝐵, 𝑧𝐵 ↦ (𝑔 ∈ (𝑦(Hom ‘𝐷)𝑧) ↦ (((Id‘𝐶)‘𝑥)(⟨𝑥, 𝑦⟩(2nd𝐹)⟨𝑥, 𝑧⟩)𝑔)))⟩), (𝑥𝐴, 𝑦𝐴 ↦ (𝑔 ∈ (𝑥𝐻𝑦) ↦ (𝑧𝐵 ↦ (𝑔(⟨𝑥, 𝑧⟩(2nd𝐹)⟨𝑦, 𝑧⟩)(𝐼𝑧)))))⟩)
133fvexi 6902 . . . . . 6 𝐴 ∈ V
1413mptex 7221 . . . . 5 (𝑥𝐴 ↦ ⟨(𝑦𝐵 ↦ (𝑥(1st𝐹)𝑦)), (𝑦𝐵, 𝑧𝐵 ↦ (𝑔 ∈ (𝑦(Hom ‘𝐷)𝑧) ↦ (((Id‘𝐶)‘𝑥)(⟨𝑥, 𝑦⟩(2nd𝐹)⟨𝑥, 𝑧⟩)𝑔)))⟩) ∈ V
1513, 13mpoex 8062 . . . . 5 (𝑥𝐴, 𝑦𝐴 ↦ (𝑔 ∈ (𝑥𝐻𝑦) ↦ (𝑧𝐵 ↦ (𝑔(⟨𝑥, 𝑧⟩(2nd𝐹)⟨𝑦, 𝑧⟩)(𝐼𝑧))))) ∈ V
1614, 15op2ndd 7982 . . . 4 (𝐺 = ⟨(𝑥𝐴 ↦ ⟨(𝑦𝐵 ↦ (𝑥(1st𝐹)𝑦)), (𝑦𝐵, 𝑧𝐵 ↦ (𝑔 ∈ (𝑦(Hom ‘𝐷)𝑧) ↦ (((Id‘𝐶)‘𝑥)(⟨𝑥, 𝑦⟩(2nd𝐹)⟨𝑥, 𝑧⟩)𝑔)))⟩), (𝑥𝐴, 𝑦𝐴 ↦ (𝑔 ∈ (𝑥𝐻𝑦) ↦ (𝑧𝐵 ↦ (𝑔(⟨𝑥, 𝑧⟩(2nd𝐹)⟨𝑦, 𝑧⟩)(𝐼𝑧)))))⟩ → (2nd𝐺) = (𝑥𝐴, 𝑦𝐴 ↦ (𝑔 ∈ (𝑥𝐻𝑦) ↦ (𝑧𝐵 ↦ (𝑔(⟨𝑥, 𝑧⟩(2nd𝐹)⟨𝑦, 𝑧⟩)(𝐼𝑧))))))
1712, 16syl 17 . . 3 (𝜑 → (2nd𝐺) = (𝑥𝐴, 𝑦𝐴 ↦ (𝑔 ∈ (𝑥𝐻𝑦) ↦ (𝑧𝐵 ↦ (𝑔(⟨𝑥, 𝑧⟩(2nd𝐹)⟨𝑦, 𝑧⟩)(𝐼𝑧))))))
18 curf2.x . . . 4 (𝜑𝑋𝐴)
19 curf2.y . . . . 5 (𝜑𝑌𝐴)
2019adantr 481 . . . 4 ((𝜑𝑥 = 𝑋) → 𝑌𝐴)
21 ovex 7438 . . . . . 6 (𝑥𝐻𝑦) ∈ V
2221mptex 7221 . . . . 5 (𝑔 ∈ (𝑥𝐻𝑦) ↦ (𝑧𝐵 ↦ (𝑔(⟨𝑥, 𝑧⟩(2nd𝐹)⟨𝑦, 𝑧⟩)(𝐼𝑧)))) ∈ V
2322a1i 11 . . . 4 ((𝜑 ∧ (𝑥 = 𝑋𝑦 = 𝑌)) → (𝑔 ∈ (𝑥𝐻𝑦) ↦ (𝑧𝐵 ↦ (𝑔(⟨𝑥, 𝑧⟩(2nd𝐹)⟨𝑦, 𝑧⟩)(𝐼𝑧)))) ∈ V)
24 curf2.k . . . . . . 7 (𝜑𝐾 ∈ (𝑋𝐻𝑌))
2524adantr 481 . . . . . 6 ((𝜑 ∧ (𝑥 = 𝑋𝑦 = 𝑌)) → 𝐾 ∈ (𝑋𝐻𝑌))
26 simprl 769 . . . . . . 7 ((𝜑 ∧ (𝑥 = 𝑋𝑦 = 𝑌)) → 𝑥 = 𝑋)
27 simprr 771 . . . . . . 7 ((𝜑 ∧ (𝑥 = 𝑋𝑦 = 𝑌)) → 𝑦 = 𝑌)
2826, 27oveq12d 7423 . . . . . 6 ((𝜑 ∧ (𝑥 = 𝑋𝑦 = 𝑌)) → (𝑥𝐻𝑦) = (𝑋𝐻𝑌))
2925, 28eleqtrrd 2836 . . . . 5 ((𝜑 ∧ (𝑥 = 𝑋𝑦 = 𝑌)) → 𝐾 ∈ (𝑥𝐻𝑦))
307fvexi 6902 . . . . . . 7 𝐵 ∈ V
3130mptex 7221 . . . . . 6 (𝑧𝐵 ↦ (𝑔(⟨𝑥, 𝑧⟩(2nd𝐹)⟨𝑦, 𝑧⟩)(𝐼𝑧))) ∈ V
3231a1i 11 . . . . 5 (((𝜑 ∧ (𝑥 = 𝑋𝑦 = 𝑌)) ∧ 𝑔 = 𝐾) → (𝑧𝐵 ↦ (𝑔(⟨𝑥, 𝑧⟩(2nd𝐹)⟨𝑦, 𝑧⟩)(𝐼𝑧))) ∈ V)
33 simplrl 775 . . . . . . . . 9 (((𝜑 ∧ (𝑥 = 𝑋𝑦 = 𝑌)) ∧ 𝑔 = 𝐾) → 𝑥 = 𝑋)
3433opeq1d 4878 . . . . . . . 8 (((𝜑 ∧ (𝑥 = 𝑋𝑦 = 𝑌)) ∧ 𝑔 = 𝐾) → ⟨𝑥, 𝑧⟩ = ⟨𝑋, 𝑧⟩)
35 simplrr 776 . . . . . . . . 9 (((𝜑 ∧ (𝑥 = 𝑋𝑦 = 𝑌)) ∧ 𝑔 = 𝐾) → 𝑦 = 𝑌)
3635opeq1d 4878 . . . . . . . 8 (((𝜑 ∧ (𝑥 = 𝑋𝑦 = 𝑌)) ∧ 𝑔 = 𝐾) → ⟨𝑦, 𝑧⟩ = ⟨𝑌, 𝑧⟩)
3734, 36oveq12d 7423 . . . . . . 7 (((𝜑 ∧ (𝑥 = 𝑋𝑦 = 𝑌)) ∧ 𝑔 = 𝐾) → (⟨𝑥, 𝑧⟩(2nd𝐹)⟨𝑦, 𝑧⟩) = (⟨𝑋, 𝑧⟩(2nd𝐹)⟨𝑌, 𝑧⟩))
38 simpr 485 . . . . . . 7 (((𝜑 ∧ (𝑥 = 𝑋𝑦 = 𝑌)) ∧ 𝑔 = 𝐾) → 𝑔 = 𝐾)
39 eqidd 2733 . . . . . . 7 (((𝜑 ∧ (𝑥 = 𝑋𝑦 = 𝑌)) ∧ 𝑔 = 𝐾) → (𝐼𝑧) = (𝐼𝑧))
4037, 38, 39oveq123d 7426 . . . . . 6 (((𝜑 ∧ (𝑥 = 𝑋𝑦 = 𝑌)) ∧ 𝑔 = 𝐾) → (𝑔(⟨𝑥, 𝑧⟩(2nd𝐹)⟨𝑦, 𝑧⟩)(𝐼𝑧)) = (𝐾(⟨𝑋, 𝑧⟩(2nd𝐹)⟨𝑌, 𝑧⟩)(𝐼𝑧)))
4140mpteq2dv 5249 . . . . 5 (((𝜑 ∧ (𝑥 = 𝑋𝑦 = 𝑌)) ∧ 𝑔 = 𝐾) → (𝑧𝐵 ↦ (𝑔(⟨𝑥, 𝑧⟩(2nd𝐹)⟨𝑦, 𝑧⟩)(𝐼𝑧))) = (𝑧𝐵 ↦ (𝐾(⟨𝑋, 𝑧⟩(2nd𝐹)⟨𝑌, 𝑧⟩)(𝐼𝑧))))
4229, 32, 41fvmptdv2 7013 . . . 4 ((𝜑 ∧ (𝑥 = 𝑋𝑦 = 𝑌)) → ((𝑋(2nd𝐺)𝑌) = (𝑔 ∈ (𝑥𝐻𝑦) ↦ (𝑧𝐵 ↦ (𝑔(⟨𝑥, 𝑧⟩(2nd𝐹)⟨𝑦, 𝑧⟩)(𝐼𝑧)))) → ((𝑋(2nd𝐺)𝑌)‘𝐾) = (𝑧𝐵 ↦ (𝐾(⟨𝑋, 𝑧⟩(2nd𝐹)⟨𝑌, 𝑧⟩)(𝐼𝑧)))))
4318, 20, 23, 42ovmpodv 7561 . . 3 (𝜑 → ((2nd𝐺) = (𝑥𝐴, 𝑦𝐴 ↦ (𝑔 ∈ (𝑥𝐻𝑦) ↦ (𝑧𝐵 ↦ (𝑔(⟨𝑥, 𝑧⟩(2nd𝐹)⟨𝑦, 𝑧⟩)(𝐼𝑧))))) → ((𝑋(2nd𝐺)𝑌)‘𝐾) = (𝑧𝐵 ↦ (𝐾(⟨𝑋, 𝑧⟩(2nd𝐹)⟨𝑌, 𝑧⟩)(𝐼𝑧)))))
4417, 43mpd 15 . 2 (𝜑 → ((𝑋(2nd𝐺)𝑌)‘𝐾) = (𝑧𝐵 ↦ (𝐾(⟨𝑋, 𝑧⟩(2nd𝐹)⟨𝑌, 𝑧⟩)(𝐼𝑧))))
451, 44eqtrid 2784 1 (𝜑𝐿 = (𝑧𝐵 ↦ (𝐾(⟨𝑋, 𝑧⟩(2nd𝐹)⟨𝑌, 𝑧⟩)(𝐼𝑧))))
Colors of variables: wff setvar class
Syntax hints:  wi 4  wa 396   = wceq 1541  wcel 2106  Vcvv 3474  cop 4633  cmpt 5230  cfv 6540  (class class class)co 7405  cmpo 7407  1st c1st 7969  2nd c2nd 7970  Basecbs 17140  Hom chom 17204  Catccat 17604  Idccid 17605   Func cfunc 17800   ×c cxpc 18116   curryF ccurf 18159
This theorem was proved from axioms:  ax-mp 5  ax-1 6  ax-2 7  ax-3 8  ax-gen 1797  ax-4 1811  ax-5 1913  ax-6 1971  ax-7 2011  ax-8 2108  ax-9 2116  ax-10 2137  ax-11 2154  ax-12 2171  ax-ext 2703  ax-rep 5284  ax-sep 5298  ax-nul 5305  ax-pow 5362  ax-pr 5426  ax-un 7721
This theorem depends on definitions:  df-bi 206  df-an 397  df-or 846  df-3an 1089  df-tru 1544  df-fal 1554  df-ex 1782  df-nf 1786  df-sb 2068  df-mo 2534  df-eu 2563  df-clab 2710  df-cleq 2724  df-clel 2810  df-nfc 2885  df-ne 2941  df-ral 3062  df-rex 3071  df-reu 3377  df-rab 3433  df-v 3476  df-sbc 3777  df-csb 3893  df-dif 3950  df-un 3952  df-in 3954  df-ss 3964  df-nul 4322  df-if 4528  df-pw 4603  df-sn 4628  df-pr 4630  df-op 4634  df-uni 4908  df-iun 4998  df-br 5148  df-opab 5210  df-mpt 5231  df-id 5573  df-xp 5681  df-rel 5682  df-cnv 5683  df-co 5684  df-dm 5685  df-rn 5686  df-res 5687  df-ima 5688  df-iota 6492  df-fun 6542  df-fn 6543  df-f 6544  df-f1 6545  df-fo 6546  df-f1o 6547  df-fv 6548  df-ov 7408  df-oprab 7409  df-mpo 7410  df-1st 7971  df-2nd 7972  df-curf 18163
This theorem is referenced by:  curf2val  18179  curf2cl  18180  curfcl  18181  diag2  18194  curf2ndf  18196
  Copyright terms: Public domain W3C validator