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

Theorem curf2 17481
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 2823 . . . . 5 (Hom ‘𝐷) = (Hom ‘𝐷)
9 eqid 2823 . . . . 5 (Id‘𝐶) = (Id‘𝐶)
10 curf2.h . . . . 5 𝐻 = (Hom ‘𝐶)
11 curf2.i . . . . 5 𝐼 = (Id‘𝐷)
122, 3, 4, 5, 6, 7, 8, 9, 10, 11curfval 17475 . . . 4 (𝜑𝐺 = ⟨(𝑥𝐴 ↦ ⟨(𝑦𝐵 ↦ (𝑥(1st𝐹)𝑦)), (𝑦𝐵, 𝑧𝐵 ↦ (𝑔 ∈ (𝑦(Hom ‘𝐷)𝑧) ↦ (((Id‘𝐶)‘𝑥)(⟨𝑥, 𝑦⟩(2nd𝐹)⟨𝑥, 𝑧⟩)𝑔)))⟩), (𝑥𝐴, 𝑦𝐴 ↦ (𝑔 ∈ (𝑥𝐻𝑦) ↦ (𝑧𝐵 ↦ (𝑔(⟨𝑥, 𝑧⟩(2nd𝐹)⟨𝑦, 𝑧⟩)(𝐼𝑧)))))⟩)
133fvexi 6686 . . . . . 6 𝐴 ∈ V
1413mptex 6988 . . . . 5 (𝑥𝐴 ↦ ⟨(𝑦𝐵 ↦ (𝑥(1st𝐹)𝑦)), (𝑦𝐵, 𝑧𝐵 ↦ (𝑔 ∈ (𝑦(Hom ‘𝐷)𝑧) ↦ (((Id‘𝐶)‘𝑥)(⟨𝑥, 𝑦⟩(2nd𝐹)⟨𝑥, 𝑧⟩)𝑔)))⟩) ∈ V
1513, 13mpoex 7779 . . . . 5 (𝑥𝐴, 𝑦𝐴 ↦ (𝑔 ∈ (𝑥𝐻𝑦) ↦ (𝑧𝐵 ↦ (𝑔(⟨𝑥, 𝑧⟩(2nd𝐹)⟨𝑦, 𝑧⟩)(𝐼𝑧))))) ∈ V
1614, 15op2ndd 7702 . . . 4 (𝐺 = ⟨(𝑥𝐴 ↦ ⟨(𝑦𝐵 ↦ (𝑥(1st𝐹)𝑦)), (𝑦𝐵, 𝑧𝐵 ↦ (𝑔 ∈ (𝑦(Hom ‘𝐷)𝑧) ↦ (((Id‘𝐶)‘𝑥)(⟨𝑥, 𝑦⟩(2nd𝐹)⟨𝑥, 𝑧⟩)𝑔)))⟩), (𝑥𝐴, 𝑦𝐴 ↦ (𝑔 ∈ (𝑥𝐻𝑦) ↦ (𝑧𝐵 ↦ (𝑔(⟨𝑥, 𝑧⟩(2nd𝐹)⟨𝑦, 𝑧⟩)(𝐼𝑧)))))⟩ → (2nd𝐺) = (𝑥𝐴, 𝑦𝐴 ↦ (𝑔 ∈ (𝑥𝐻𝑦) ↦ (𝑧𝐵 ↦ (𝑔(⟨𝑥, 𝑧⟩(2nd𝐹)⟨𝑦, 𝑧⟩)(𝐼𝑧))))))
1712, 16syl 17 . . 3 (𝜑 → (2nd𝐺) = (𝑥𝐴, 𝑦𝐴 ↦ (𝑔 ∈ (𝑥𝐻𝑦) ↦ (𝑧𝐵 ↦ (𝑔(⟨𝑥, 𝑧⟩(2nd𝐹)⟨𝑦, 𝑧⟩)(𝐼𝑧))))))
18 curf2.x . . . 4 (𝜑𝑋𝐴)
19 curf2.y . . . . 5 (𝜑𝑌𝐴)
2019adantr 483 . . . 4 ((𝜑𝑥 = 𝑋) → 𝑌𝐴)
21 ovex 7191 . . . . . 6 (𝑥𝐻𝑦) ∈ V
2221mptex 6988 . . . . 5 (𝑔 ∈ (𝑥𝐻𝑦) ↦ (𝑧𝐵 ↦ (𝑔(⟨𝑥, 𝑧⟩(2nd𝐹)⟨𝑦, 𝑧⟩)(𝐼𝑧)))) ∈ V
2322a1i 11 . . . 4 ((𝜑 ∧ (𝑥 = 𝑋𝑦 = 𝑌)) → (𝑔 ∈ (𝑥𝐻𝑦) ↦ (𝑧𝐵 ↦ (𝑔(⟨𝑥, 𝑧⟩(2nd𝐹)⟨𝑦, 𝑧⟩)(𝐼𝑧)))) ∈ V)
24 curf2.k . . . . . . 7 (𝜑𝐾 ∈ (𝑋𝐻𝑌))
2524adantr 483 . . . . . 6 ((𝜑 ∧ (𝑥 = 𝑋𝑦 = 𝑌)) → 𝐾 ∈ (𝑋𝐻𝑌))
26 simprl 769 . . . . . . 7 ((𝜑 ∧ (𝑥 = 𝑋𝑦 = 𝑌)) → 𝑥 = 𝑋)
27 simprr 771 . . . . . . 7 ((𝜑 ∧ (𝑥 = 𝑋𝑦 = 𝑌)) → 𝑦 = 𝑌)
2826, 27oveq12d 7176 . . . . . 6 ((𝜑 ∧ (𝑥 = 𝑋𝑦 = 𝑌)) → (𝑥𝐻𝑦) = (𝑋𝐻𝑌))
2925, 28eleqtrrd 2918 . . . . 5 ((𝜑 ∧ (𝑥 = 𝑋𝑦 = 𝑌)) → 𝐾 ∈ (𝑥𝐻𝑦))
307fvexi 6686 . . . . . . 7 𝐵 ∈ V
3130mptex 6988 . . . . . 6 (𝑧𝐵 ↦ (𝑔(⟨𝑥, 𝑧⟩(2nd𝐹)⟨𝑦, 𝑧⟩)(𝐼𝑧))) ∈ V
3231a1i 11 . . . . 5 (((𝜑 ∧ (𝑥 = 𝑋𝑦 = 𝑌)) ∧ 𝑔 = 𝐾) → (𝑧𝐵 ↦ (𝑔(⟨𝑥, 𝑧⟩(2nd𝐹)⟨𝑦, 𝑧⟩)(𝐼𝑧))) ∈ V)
33 simplrl 775 . . . . . . . . 9 (((𝜑 ∧ (𝑥 = 𝑋𝑦 = 𝑌)) ∧ 𝑔 = 𝐾) → 𝑥 = 𝑋)
3433opeq1d 4811 . . . . . . . 8 (((𝜑 ∧ (𝑥 = 𝑋𝑦 = 𝑌)) ∧ 𝑔 = 𝐾) → ⟨𝑥, 𝑧⟩ = ⟨𝑋, 𝑧⟩)
35 simplrr 776 . . . . . . . . 9 (((𝜑 ∧ (𝑥 = 𝑋𝑦 = 𝑌)) ∧ 𝑔 = 𝐾) → 𝑦 = 𝑌)
3635opeq1d 4811 . . . . . . . 8 (((𝜑 ∧ (𝑥 = 𝑋𝑦 = 𝑌)) ∧ 𝑔 = 𝐾) → ⟨𝑦, 𝑧⟩ = ⟨𝑌, 𝑧⟩)
3734, 36oveq12d 7176 . . . . . . 7 (((𝜑 ∧ (𝑥 = 𝑋𝑦 = 𝑌)) ∧ 𝑔 = 𝐾) → (⟨𝑥, 𝑧⟩(2nd𝐹)⟨𝑦, 𝑧⟩) = (⟨𝑋, 𝑧⟩(2nd𝐹)⟨𝑌, 𝑧⟩))
38 simpr 487 . . . . . . 7 (((𝜑 ∧ (𝑥 = 𝑋𝑦 = 𝑌)) ∧ 𝑔 = 𝐾) → 𝑔 = 𝐾)
39 eqidd 2824 . . . . . . 7 (((𝜑 ∧ (𝑥 = 𝑋𝑦 = 𝑌)) ∧ 𝑔 = 𝐾) → (𝐼𝑧) = (𝐼𝑧))
4037, 38, 39oveq123d 7179 . . . . . 6 (((𝜑 ∧ (𝑥 = 𝑋𝑦 = 𝑌)) ∧ 𝑔 = 𝐾) → (𝑔(⟨𝑥, 𝑧⟩(2nd𝐹)⟨𝑦, 𝑧⟩)(𝐼𝑧)) = (𝐾(⟨𝑋, 𝑧⟩(2nd𝐹)⟨𝑌, 𝑧⟩)(𝐼𝑧)))
4140mpteq2dv 5164 . . . . 5 (((𝜑 ∧ (𝑥 = 𝑋𝑦 = 𝑌)) ∧ 𝑔 = 𝐾) → (𝑧𝐵 ↦ (𝑔(⟨𝑥, 𝑧⟩(2nd𝐹)⟨𝑦, 𝑧⟩)(𝐼𝑧))) = (𝑧𝐵 ↦ (𝐾(⟨𝑋, 𝑧⟩(2nd𝐹)⟨𝑌, 𝑧⟩)(𝐼𝑧))))
4229, 32, 41fvmptdv2 6788 . . . 4 ((𝜑 ∧ (𝑥 = 𝑋𝑦 = 𝑌)) → ((𝑋(2nd𝐺)𝑌) = (𝑔 ∈ (𝑥𝐻𝑦) ↦ (𝑧𝐵 ↦ (𝑔(⟨𝑥, 𝑧⟩(2nd𝐹)⟨𝑦, 𝑧⟩)(𝐼𝑧)))) → ((𝑋(2nd𝐺)𝑌)‘𝐾) = (𝑧𝐵 ↦ (𝐾(⟨𝑋, 𝑧⟩(2nd𝐹)⟨𝑌, 𝑧⟩)(𝐼𝑧)))))
4318, 20, 23, 42ovmpodv 7309 . . 3 (𝜑 → ((2nd𝐺) = (𝑥𝐴, 𝑦𝐴 ↦ (𝑔 ∈ (𝑥𝐻𝑦) ↦ (𝑧𝐵 ↦ (𝑔(⟨𝑥, 𝑧⟩(2nd𝐹)⟨𝑦, 𝑧⟩)(𝐼𝑧))))) → ((𝑋(2nd𝐺)𝑌)‘𝐾) = (𝑧𝐵 ↦ (𝐾(⟨𝑋, 𝑧⟩(2nd𝐹)⟨𝑌, 𝑧⟩)(𝐼𝑧)))))
4417, 43mpd 15 . 2 (𝜑 → ((𝑋(2nd𝐺)𝑌)‘𝐾) = (𝑧𝐵 ↦ (𝐾(⟨𝑋, 𝑧⟩(2nd𝐹)⟨𝑌, 𝑧⟩)(𝐼𝑧))))
451, 44syl5eq 2870 1 (𝜑𝐿 = (𝑧𝐵 ↦ (𝐾(⟨𝑋, 𝑧⟩(2nd𝐹)⟨𝑌, 𝑧⟩)(𝐼𝑧))))
Colors of variables: wff setvar class
Syntax hints:  wi 4  wa 398   = wceq 1537  wcel 2114  Vcvv 3496  cop 4575  cmpt 5148  cfv 6357  (class class class)co 7158  cmpo 7160  1st c1st 7689  2nd c2nd 7690  Basecbs 16485  Hom chom 16578  Catccat 16937  Idccid 16938   Func cfunc 17126   ×c cxpc 17420   curryF ccurf 17462
This theorem was proved from axioms:  ax-mp 5  ax-1 6  ax-2 7  ax-3 8  ax-gen 1796  ax-4 1810  ax-5 1911  ax-6 1970  ax-7 2015  ax-8 2116  ax-9 2124  ax-10 2145  ax-11 2161  ax-12 2177  ax-ext 2795  ax-rep 5192  ax-sep 5205  ax-nul 5212  ax-pow 5268  ax-pr 5332  ax-un 7463
This theorem depends on definitions:  df-bi 209  df-an 399  df-or 844  df-3an 1085  df-tru 1540  df-ex 1781  df-nf 1785  df-sb 2070  df-mo 2622  df-eu 2654  df-clab 2802  df-cleq 2816  df-clel 2895  df-nfc 2965  df-ne 3019  df-ral 3145  df-rex 3146  df-reu 3147  df-rab 3149  df-v 3498  df-sbc 3775  df-csb 3886  df-dif 3941  df-un 3943  df-in 3945  df-ss 3954  df-nul 4294  df-if 4470  df-pw 4543  df-sn 4570  df-pr 4572  df-op 4576  df-uni 4841  df-iun 4923  df-br 5069  df-opab 5131  df-mpt 5149  df-id 5462  df-xp 5563  df-rel 5564  df-cnv 5565  df-co 5566  df-dm 5567  df-rn 5568  df-res 5569  df-ima 5570  df-iota 6316  df-fun 6359  df-fn 6360  df-f 6361  df-f1 6362  df-fo 6363  df-f1o 6364  df-fv 6365  df-ov 7161  df-oprab 7162  df-mpo 7163  df-1st 7691  df-2nd 7692  df-curf 17466
This theorem is referenced by:  curf2val  17482  curf2cl  17483  curfcl  17484  diag2  17497  curf2ndf  17499
  Copyright terms: Public domain W3C validator