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

Theorem nati 18039
Description: Naturality property of a natural transformation. (Contributed by Mario Carneiro, 6-Jan-2017.)
Hypotheses
Ref Expression
natrcl.1 𝑁 = (𝐶 Nat 𝐷)
natixp.2 (𝜑𝐴 ∈ (⟨𝐹, 𝐺𝑁𝐾, 𝐿⟩))
natixp.b 𝐵 = (Base‘𝐶)
nati.h 𝐻 = (Hom ‘𝐶)
nati.o · = (comp‘𝐷)
nati.x (𝜑𝑋𝐵)
nati.y (𝜑𝑌𝐵)
nati.r (𝜑𝑅 ∈ (𝑋𝐻𝑌))
Assertion
Ref Expression
nati (𝜑 → ((𝐴𝑌)(⟨(𝐹𝑋), (𝐹𝑌)⟩ · (𝐾𝑌))((𝑋𝐺𝑌)‘𝑅)) = (((𝑋𝐿𝑌)‘𝑅)(⟨(𝐹𝑋), (𝐾𝑋)⟩ · (𝐾𝑌))(𝐴𝑋)))

Proof of Theorem nati
Dummy variables 𝑥 𝑓 𝑦 are mutually distinct and distinct from all other variables.
StepHypRef Expression
1 natixp.2 . . . 4 (𝜑𝐴 ∈ (⟨𝐹, 𝐺𝑁𝐾, 𝐿⟩))
2 natrcl.1 . . . . 5 𝑁 = (𝐶 Nat 𝐷)
3 natixp.b . . . . 5 𝐵 = (Base‘𝐶)
4 nati.h . . . . 5 𝐻 = (Hom ‘𝐶)
5 eqid 2765 . . . . 5 (Hom ‘𝐷) = (Hom ‘𝐷)
6 nati.o . . . . 5 · = (comp‘𝐷)
72natrcl 18034 . . . . . . . 8 (𝐴 ∈ (⟨𝐹, 𝐺𝑁𝐾, 𝐿⟩) → (⟨𝐹, 𝐺⟩ ∈ (𝐶 Func 𝐷) ∧ ⟨𝐾, 𝐿⟩ ∈ (𝐶 Func 𝐷)))
81, 7syl 18 . . . . . . 7 (𝜑 → (⟨𝐹, 𝐺⟩ ∈ (𝐶 Func 𝐷) ∧ ⟨𝐾, 𝐿⟩ ∈ (𝐶 Func 𝐷)))
98simpld 500 . . . . . 6 (𝜑 → ⟨𝐹, 𝐺⟩ ∈ (𝐶 Func 𝐷))
10 df-br 5112 . . . . . 6 (𝐹(𝐶 Func 𝐷)𝐺 ↔ ⟨𝐹, 𝐺⟩ ∈ (𝐶 Func 𝐷))
119, 10sylibr 237 . . . . 5 (𝜑𝐹(𝐶 Func 𝐷)𝐺)
128simprd 501 . . . . . 6 (𝜑 → ⟨𝐾, 𝐿⟩ ∈ (𝐶 Func 𝐷))
13 df-br 5112 . . . . . 6 (𝐾(𝐶 Func 𝐷)𝐿 ↔ ⟨𝐾, 𝐿⟩ ∈ (𝐶 Func 𝐷))
1412, 13sylibr 237 . . . . 5 (𝜑𝐾(𝐶 Func 𝐷)𝐿)
152, 3, 4, 5, 6, 11, 14isnat 18031 . . . 4 (𝜑 → (𝐴 ∈ (⟨𝐹, 𝐺𝑁𝐾, 𝐿⟩) ↔ (𝐴X𝑥𝐵 ((𝐹𝑥)(Hom ‘𝐷)(𝐾𝑥)) ∧ ∀𝑥𝐵𝑦𝐵𝑓 ∈ (𝑥𝐻𝑦)((𝐴𝑦)(⟨(𝐹𝑥), (𝐹𝑦)⟩ · (𝐾𝑦))((𝑥𝐺𝑦)‘𝑓)) = (((𝑥𝐿𝑦)‘𝑓)(⟨(𝐹𝑥), (𝐾𝑥)⟩ · (𝐾𝑦))(𝐴𝑥)))))
161, 15mpbid 235 . . 3 (𝜑 → (𝐴X𝑥𝐵 ((𝐹𝑥)(Hom ‘𝐷)(𝐾𝑥)) ∧ ∀𝑥𝐵𝑦𝐵𝑓 ∈ (𝑥𝐻𝑦)((𝐴𝑦)(⟨(𝐹𝑥), (𝐹𝑦)⟩ · (𝐾𝑦))((𝑥𝐺𝑦)‘𝑓)) = (((𝑥𝐿𝑦)‘𝑓)(⟨(𝐹𝑥), (𝐾𝑥)⟩ · (𝐾𝑦))(𝐴𝑥))))
1716simprd 501 . 2 (𝜑 → ∀𝑥𝐵𝑦𝐵𝑓 ∈ (𝑥𝐻𝑦)((𝐴𝑦)(⟨(𝐹𝑥), (𝐹𝑦)⟩ · (𝐾𝑦))((𝑥𝐺𝑦)‘𝑓)) = (((𝑥𝐿𝑦)‘𝑓)(⟨(𝐹𝑥), (𝐾𝑥)⟩ · (𝐾𝑦))(𝐴𝑥)))
18 nati.x . . 3 (𝜑𝑋𝐵)
19 nati.y . . . . 5 (𝜑𝑌𝐵)
2019adantr 486 . . . 4 ((𝜑𝑥 = 𝑋) → 𝑌𝐵)
21 nati.r . . . . . . 7 (𝜑𝑅 ∈ (𝑋𝐻𝑌))
2221ad2antrr 739 . . . . . 6 (((𝜑𝑥 = 𝑋) ∧ 𝑦 = 𝑌) → 𝑅 ∈ (𝑋𝐻𝑌))
23 simplr 781 . . . . . . 7 (((𝜑𝑥 = 𝑋) ∧ 𝑦 = 𝑌) → 𝑥 = 𝑋)
24 simpr 490 . . . . . . 7 (((𝜑𝑥 = 𝑋) ∧ 𝑦 = 𝑌) → 𝑦 = 𝑌)
2523, 24oveq12d 7437 . . . . . 6 (((𝜑𝑥 = 𝑋) ∧ 𝑦 = 𝑌) → (𝑥𝐻𝑦) = (𝑋𝐻𝑌))
2622, 25eleqtrrd 2868 . . . . 5 (((𝜑𝑥 = 𝑋) ∧ 𝑦 = 𝑌) → 𝑅 ∈ (𝑥𝐻𝑦))
27 simpllr 788 . . . . . . . . . 10 ((((𝜑𝑥 = 𝑋) ∧ 𝑦 = 𝑌) ∧ 𝑓 = 𝑅) → 𝑥 = 𝑋)
2827fveq2d 6889 . . . . . . . . 9 ((((𝜑𝑥 = 𝑋) ∧ 𝑦 = 𝑌) ∧ 𝑓 = 𝑅) → (𝐹𝑥) = (𝐹𝑋))
29 simplr 781 . . . . . . . . . 10 ((((𝜑𝑥 = 𝑋) ∧ 𝑦 = 𝑌) ∧ 𝑓 = 𝑅) → 𝑦 = 𝑌)
3029fveq2d 6889 . . . . . . . . 9 ((((𝜑𝑥 = 𝑋) ∧ 𝑦 = 𝑌) ∧ 𝑓 = 𝑅) → (𝐹𝑦) = (𝐹𝑌))
3128, 30opeq12d 4848 . . . . . . . 8 ((((𝜑𝑥 = 𝑋) ∧ 𝑦 = 𝑌) ∧ 𝑓 = 𝑅) → ⟨(𝐹𝑥), (𝐹𝑦)⟩ = ⟨(𝐹𝑋), (𝐹𝑌)⟩)
3229fveq2d 6889 . . . . . . . 8 ((((𝜑𝑥 = 𝑋) ∧ 𝑦 = 𝑌) ∧ 𝑓 = 𝑅) → (𝐾𝑦) = (𝐾𝑌))
3331, 32oveq12d 7437 . . . . . . 7 ((((𝜑𝑥 = 𝑋) ∧ 𝑦 = 𝑌) ∧ 𝑓 = 𝑅) → (⟨(𝐹𝑥), (𝐹𝑦)⟩ · (𝐾𝑦)) = (⟨(𝐹𝑋), (𝐹𝑌)⟩ · (𝐾𝑌)))
3429fveq2d 6889 . . . . . . 7 ((((𝜑𝑥 = 𝑋) ∧ 𝑦 = 𝑌) ∧ 𝑓 = 𝑅) → (𝐴𝑦) = (𝐴𝑌))
3527, 29oveq12d 7437 . . . . . . . 8 ((((𝜑𝑥 = 𝑋) ∧ 𝑦 = 𝑌) ∧ 𝑓 = 𝑅) → (𝑥𝐺𝑦) = (𝑋𝐺𝑌))
36 simpr 490 . . . . . . . 8 ((((𝜑𝑥 = 𝑋) ∧ 𝑦 = 𝑌) ∧ 𝑓 = 𝑅) → 𝑓 = 𝑅)
3735, 36fveq12d 6892 . . . . . . 7 ((((𝜑𝑥 = 𝑋) ∧ 𝑦 = 𝑌) ∧ 𝑓 = 𝑅) → ((𝑥𝐺𝑦)‘𝑓) = ((𝑋𝐺𝑌)‘𝑅))
3833, 34, 37oveq123d 7440 . . . . . 6 ((((𝜑𝑥 = 𝑋) ∧ 𝑦 = 𝑌) ∧ 𝑓 = 𝑅) → ((𝐴𝑦)(⟨(𝐹𝑥), (𝐹𝑦)⟩ · (𝐾𝑦))((𝑥𝐺𝑦)‘𝑓)) = ((𝐴𝑌)(⟨(𝐹𝑋), (𝐹𝑌)⟩ · (𝐾𝑌))((𝑋𝐺𝑌)‘𝑅)))
3927fveq2d 6889 . . . . . . . . 9 ((((𝜑𝑥 = 𝑋) ∧ 𝑦 = 𝑌) ∧ 𝑓 = 𝑅) → (𝐾𝑥) = (𝐾𝑋))
4028, 39opeq12d 4848 . . . . . . . 8 ((((𝜑𝑥 = 𝑋) ∧ 𝑦 = 𝑌) ∧ 𝑓 = 𝑅) → ⟨(𝐹𝑥), (𝐾𝑥)⟩ = ⟨(𝐹𝑋), (𝐾𝑋)⟩)
4140, 32oveq12d 7437 . . . . . . 7 ((((𝜑𝑥 = 𝑋) ∧ 𝑦 = 𝑌) ∧ 𝑓 = 𝑅) → (⟨(𝐹𝑥), (𝐾𝑥)⟩ · (𝐾𝑦)) = (⟨(𝐹𝑋), (𝐾𝑋)⟩ · (𝐾𝑌)))
4227, 29oveq12d 7437 . . . . . . . 8 ((((𝜑𝑥 = 𝑋) ∧ 𝑦 = 𝑌) ∧ 𝑓 = 𝑅) → (𝑥𝐿𝑦) = (𝑋𝐿𝑌))
4342, 36fveq12d 6892 . . . . . . 7 ((((𝜑𝑥 = 𝑋) ∧ 𝑦 = 𝑌) ∧ 𝑓 = 𝑅) → ((𝑥𝐿𝑦)‘𝑓) = ((𝑋𝐿𝑌)‘𝑅))
4427fveq2d 6889 . . . . . . 7 ((((𝜑𝑥 = 𝑋) ∧ 𝑦 = 𝑌) ∧ 𝑓 = 𝑅) → (𝐴𝑥) = (𝐴𝑋))
4541, 43, 44oveq123d 7440 . . . . . 6 ((((𝜑𝑥 = 𝑋) ∧ 𝑦 = 𝑌) ∧ 𝑓 = 𝑅) → (((𝑥𝐿𝑦)‘𝑓)(⟨(𝐹𝑥), (𝐾𝑥)⟩ · (𝐾𝑦))(𝐴𝑥)) = (((𝑋𝐿𝑌)‘𝑅)(⟨(𝐹𝑋), (𝐾𝑋)⟩ · (𝐾𝑌))(𝐴𝑋)))
4638, 45eqeq12d 2781 . . . . 5 ((((𝜑𝑥 = 𝑋) ∧ 𝑦 = 𝑌) ∧ 𝑓 = 𝑅) → (((𝐴𝑦)(⟨(𝐹𝑥), (𝐹𝑦)⟩ · (𝐾𝑦))((𝑥𝐺𝑦)‘𝑓)) = (((𝑥𝐿𝑦)‘𝑓)(⟨(𝐹𝑥), (𝐾𝑥)⟩ · (𝐾𝑦))(𝐴𝑥)) ↔ ((𝐴𝑌)(⟨(𝐹𝑋), (𝐹𝑌)⟩ · (𝐾𝑌))((𝑋𝐺𝑌)‘𝑅)) = (((𝑋𝐿𝑌)‘𝑅)(⟨(𝐹𝑋), (𝐾𝑋)⟩ · (𝐾𝑌))(𝐴𝑋))))
4726, 46rspcdv 3575 . . . 4 (((𝜑𝑥 = 𝑋) ∧ 𝑦 = 𝑌) → (∀𝑓 ∈ (𝑥𝐻𝑦)((𝐴𝑦)(⟨(𝐹𝑥), (𝐹𝑦)⟩ · (𝐾𝑦))((𝑥𝐺𝑦)‘𝑓)) = (((𝑥𝐿𝑦)‘𝑓)(⟨(𝐹𝑥), (𝐾𝑥)⟩ · (𝐾𝑦))(𝐴𝑥)) → ((𝐴𝑌)(⟨(𝐹𝑋), (𝐹𝑌)⟩ · (𝐾𝑌))((𝑋𝐺𝑌)‘𝑅)) = (((𝑋𝐿𝑌)‘𝑅)(⟨(𝐹𝑋), (𝐾𝑋)⟩ · (𝐾𝑌))(𝐴𝑋))))
4820, 47rspcimdv 3573 . . 3 ((𝜑𝑥 = 𝑋) → (∀𝑦𝐵𝑓 ∈ (𝑥𝐻𝑦)((𝐴𝑦)(⟨(𝐹𝑥), (𝐹𝑦)⟩ · (𝐾𝑦))((𝑥𝐺𝑦)‘𝑓)) = (((𝑥𝐿𝑦)‘𝑓)(⟨(𝐹𝑥), (𝐾𝑥)⟩ · (𝐾𝑦))(𝐴𝑥)) → ((𝐴𝑌)(⟨(𝐹𝑋), (𝐹𝑌)⟩ · (𝐾𝑌))((𝑋𝐺𝑌)‘𝑅)) = (((𝑋𝐿𝑌)‘𝑅)(⟨(𝐹𝑋), (𝐾𝑋)⟩ · (𝐾𝑌))(𝐴𝑋))))
4918, 48rspcimdv 3573 . 2 (𝜑 → (∀𝑥𝐵𝑦𝐵𝑓 ∈ (𝑥𝐻𝑦)((𝐴𝑦)(⟨(𝐹𝑥), (𝐹𝑦)⟩ · (𝐾𝑦))((𝑥𝐺𝑦)‘𝑓)) = (((𝑥𝐿𝑦)‘𝑓)(⟨(𝐹𝑥), (𝐾𝑥)⟩ · (𝐾𝑦))(𝐴𝑥)) → ((𝐴𝑌)(⟨(𝐹𝑋), (𝐹𝑌)⟩ · (𝐾𝑌))((𝑋𝐺𝑌)‘𝑅)) = (((𝑋𝐿𝑌)‘𝑅)(⟨(𝐹𝑋), (𝐾𝑋)⟩ · (𝐾𝑌))(𝐴𝑋))))
5017, 49mpd 16 1 (𝜑 → ((𝐴𝑌)(⟨(𝐹𝑋), (𝐹𝑌)⟩ · (𝐾𝑌))((𝑋𝐺𝑌)‘𝑅)) = (((𝑋𝐿𝑌)‘𝑅)(⟨(𝐹𝑋), (𝐾𝑋)⟩ · (𝐾𝑌))(𝐴𝑋)))
Colors of variables:    wff setvar class
This proof depends on syntax axioms:  wi 4  wa 401   = wceq 1570  wcel 2146  wral 3081  cop 4597   class class class wbr 5111  cfv 6540  (class class class)co 7419  Xcixp 8901  Basecbs 17293  Hom chom 17345  compcco 17346   Func cfunc 17935   Nat cnat 18025
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-rep 5240  ax-sep 5259  ax-nul 5271  ax-pow 5338  ax-pr 5406  ax-un 7742
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-reu 3372  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-pw 4566  df-sn 4592  df-pr 4594  df-op 4598  df-uni 4875  df-iun 4960  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-rn 5674  df-res 5675  df-ima 5676  df-iota 6496  df-fun 6542  df-fn 6543  df-f 6544  df-f1 6545  df-fo 6546  df-f1o 6547  df-fv 6548  df-ov 7422  df-oprab 7423  df-mpo 7424  df-1st 7992  df-2nd 7993  df-ixp 8902  df-func 17939  df-nat 18027
This theorem is used by:  fuccocl  18048  invfuc  18058  evlfcllem  18301  yonedalem3b  18359  yonedainv  18361  natoppf  50066  fuco22natlem1  50179  fuco22natlem2  50180  fuco23alem  50188  concom  50500  coccom  50501
  Copyright terms: Public domain W3C validator