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

Theorem bcth 25541
Description: Baire's Category Theorem. If a nonempty metric space is complete, it is nonmeager in itself. In other words, no open set in the metric space can be the countable union of rare closed subsets (where rare means having a closure with empty interior), so some subset 𝑀𝑘 must have a nonempty interior. Theorem 4.7-2 of [Kreyszig] p. 247. (The terminology "meager" and "nonmeager" is used by Kreyszig to replace Baire's "of the first category" and "of the second category." The latter terms are going out of favor to avoid confusion with category theory.) See bcthlem5 25540 for an overview of the proof. (Contributed by NM, 28-Oct-2007.) (Proof shortened by Mario Carneiro, 6-Jan-2014.)
Hypothesis
Ref Expression
bcth.2 𝐽 = (MetOpen‘𝐷)
Assertion
Ref Expression
bcth ((𝐷 ∈ (CMet‘𝑋) ∧ 𝑀:ℕ⟶(Clsd‘𝐽) ∧ ((int‘𝐽)‘ ran 𝑀) ≠ ∅) → ∃𝑘 ∈ ℕ ((int‘𝐽)‘(𝑀𝑘)) ≠ ∅)
Distinct variable groups:   𝐷,𝑘   𝑘,𝐽   𝑘,𝑀   𝑘,𝑋

Proof of Theorem bcth
Dummy variables 𝑛 𝑟 𝑥 𝑧 𝑔 𝑚 𝑦 are mutually distinct and distinct from all other variables.
StepHypRef Expression
1 bcth.2 . . . . . 6 𝐽 = (MetOpen‘𝐷)
2 simpll 779 . . . . . 6 (((𝐷 ∈ (CMet‘𝑋) ∧ 𝑀:ℕ⟶(Clsd‘𝐽)) ∧ ∀𝑘 ∈ ℕ ((int‘𝐽)‘(𝑀𝑘)) = ∅) → 𝐷 ∈ (CMet‘𝑋))
3 eleq1w 2848 . . . . . . . . . . 11 (𝑥 = 𝑦 → (𝑥𝑋𝑦𝑋))
4 eleq1w 2848 . . . . . . . . . . 11 (𝑟 = 𝑚 → (𝑟 ∈ ℝ+𝑚 ∈ ℝ+))
53, 4bi2anan9 650 . . . . . . . . . 10 ((𝑥 = 𝑦𝑟 = 𝑚) → ((𝑥𝑋𝑟 ∈ ℝ+) ↔ (𝑦𝑋𝑚 ∈ ℝ+)))
6 simpr 490 . . . . . . . . . . . 12 ((𝑥 = 𝑦𝑟 = 𝑚) → 𝑟 = 𝑚)
76breq1d 5121 . . . . . . . . . . 11 ((𝑥 = 𝑦𝑟 = 𝑚) → (𝑟 < (1 / 𝑘) ↔ 𝑚 < (1 / 𝑘)))
8 oveq12 7428 . . . . . . . . . . . . 13 ((𝑥 = 𝑦𝑟 = 𝑚) → (𝑥(ball‘𝐷)𝑟) = (𝑦(ball‘𝐷)𝑚))
98fveq2d 6889 . . . . . . . . . . . 12 ((𝑥 = 𝑦𝑟 = 𝑚) → ((cls‘𝐽)‘(𝑥(ball‘𝐷)𝑟)) = ((cls‘𝐽)‘(𝑦(ball‘𝐷)𝑚)))
109sseq1d 3969 . . . . . . . . . . 11 ((𝑥 = 𝑦𝑟 = 𝑚) → (((cls‘𝐽)‘(𝑥(ball‘𝐷)𝑟)) ⊆ (((ball‘𝐷)‘𝑧) ∖ (𝑀𝑘)) ↔ ((cls‘𝐽)‘(𝑦(ball‘𝐷)𝑚)) ⊆ (((ball‘𝐷)‘𝑧) ∖ (𝑀𝑘))))
117, 10anbi12d 644 . . . . . . . . . 10 ((𝑥 = 𝑦𝑟 = 𝑚) → ((𝑟 < (1 / 𝑘) ∧ ((cls‘𝐽)‘(𝑥(ball‘𝐷)𝑟)) ⊆ (((ball‘𝐷)‘𝑧) ∖ (𝑀𝑘))) ↔ (𝑚 < (1 / 𝑘) ∧ ((cls‘𝐽)‘(𝑦(ball‘𝐷)𝑚)) ⊆ (((ball‘𝐷)‘𝑧) ∖ (𝑀𝑘)))))
125, 11anbi12d 644 . . . . . . . . 9 ((𝑥 = 𝑦𝑟 = 𝑚) → (((𝑥𝑋𝑟 ∈ ℝ+) ∧ (𝑟 < (1 / 𝑘) ∧ ((cls‘𝐽)‘(𝑥(ball‘𝐷)𝑟)) ⊆ (((ball‘𝐷)‘𝑧) ∖ (𝑀𝑘)))) ↔ ((𝑦𝑋𝑚 ∈ ℝ+) ∧ (𝑚 < (1 / 𝑘) ∧ ((cls‘𝐽)‘(𝑦(ball‘𝐷)𝑚)) ⊆ (((ball‘𝐷)‘𝑧) ∖ (𝑀𝑘))))))
1312cbvopabv 5186 . . . . . . . 8 {⟨𝑥, 𝑟⟩ ∣ ((𝑥𝑋𝑟 ∈ ℝ+) ∧ (𝑟 < (1 / 𝑘) ∧ ((cls‘𝐽)‘(𝑥(ball‘𝐷)𝑟)) ⊆ (((ball‘𝐷)‘𝑧) ∖ (𝑀𝑘))))} = {⟨𝑦, 𝑚⟩ ∣ ((𝑦𝑋𝑚 ∈ ℝ+) ∧ (𝑚 < (1 / 𝑘) ∧ ((cls‘𝐽)‘(𝑦(ball‘𝐷)𝑚)) ⊆ (((ball‘𝐷)‘𝑧) ∖ (𝑀𝑘))))}
14 oveq2 7427 . . . . . . . . . . . 12 (𝑘 = 𝑛 → (1 / 𝑘) = (1 / 𝑛))
1514breq2d 5123 . . . . . . . . . . 11 (𝑘 = 𝑛 → (𝑚 < (1 / 𝑘) ↔ 𝑚 < (1 / 𝑛)))
16 fveq2 6885 . . . . . . . . . . . . 13 (𝑘 = 𝑛 → (𝑀𝑘) = (𝑀𝑛))
1716difeq2d 4081 . . . . . . . . . . . 12 (𝑘 = 𝑛 → (((ball‘𝐷)‘𝑧) ∖ (𝑀𝑘)) = (((ball‘𝐷)‘𝑧) ∖ (𝑀𝑛)))
1817sseq2d 3970 . . . . . . . . . . 11 (𝑘 = 𝑛 → (((cls‘𝐽)‘(𝑦(ball‘𝐷)𝑚)) ⊆ (((ball‘𝐷)‘𝑧) ∖ (𝑀𝑘)) ↔ ((cls‘𝐽)‘(𝑦(ball‘𝐷)𝑚)) ⊆ (((ball‘𝐷)‘𝑧) ∖ (𝑀𝑛))))
1915, 18anbi12d 644 . . . . . . . . . 10 (𝑘 = 𝑛 → ((𝑚 < (1 / 𝑘) ∧ ((cls‘𝐽)‘(𝑦(ball‘𝐷)𝑚)) ⊆ (((ball‘𝐷)‘𝑧) ∖ (𝑀𝑘))) ↔ (𝑚 < (1 / 𝑛) ∧ ((cls‘𝐽)‘(𝑦(ball‘𝐷)𝑚)) ⊆ (((ball‘𝐷)‘𝑧) ∖ (𝑀𝑛)))))
2019anbi2d 642 . . . . . . . . 9 (𝑘 = 𝑛 → (((𝑦𝑋𝑚 ∈ ℝ+) ∧ (𝑚 < (1 / 𝑘) ∧ ((cls‘𝐽)‘(𝑦(ball‘𝐷)𝑚)) ⊆ (((ball‘𝐷)‘𝑧) ∖ (𝑀𝑘)))) ↔ ((𝑦𝑋𝑚 ∈ ℝ+) ∧ (𝑚 < (1 / 𝑛) ∧ ((cls‘𝐽)‘(𝑦(ball‘𝐷)𝑚)) ⊆ (((ball‘𝐷)‘𝑧) ∖ (𝑀𝑛))))))
2120opabbidv 5179 . . . . . . . 8 (𝑘 = 𝑛 → {⟨𝑦, 𝑚⟩ ∣ ((𝑦𝑋𝑚 ∈ ℝ+) ∧ (𝑚 < (1 / 𝑘) ∧ ((cls‘𝐽)‘(𝑦(ball‘𝐷)𝑚)) ⊆ (((ball‘𝐷)‘𝑧) ∖ (𝑀𝑘))))} = {⟨𝑦, 𝑚⟩ ∣ ((𝑦𝑋𝑚 ∈ ℝ+) ∧ (𝑚 < (1 / 𝑛) ∧ ((cls‘𝐽)‘(𝑦(ball‘𝐷)𝑚)) ⊆ (((ball‘𝐷)‘𝑧) ∖ (𝑀𝑛))))})
2213, 21eqtrid 2812 . . . . . . 7 (𝑘 = 𝑛 → {⟨𝑥, 𝑟⟩ ∣ ((𝑥𝑋𝑟 ∈ ℝ+) ∧ (𝑟 < (1 / 𝑘) ∧ ((cls‘𝐽)‘(𝑥(ball‘𝐷)𝑟)) ⊆ (((ball‘𝐷)‘𝑧) ∖ (𝑀𝑘))))} = {⟨𝑦, 𝑚⟩ ∣ ((𝑦𝑋𝑚 ∈ ℝ+) ∧ (𝑚 < (1 / 𝑛) ∧ ((cls‘𝐽)‘(𝑦(ball‘𝐷)𝑚)) ⊆ (((ball‘𝐷)‘𝑧) ∖ (𝑀𝑛))))})
23 fveq2 6885 . . . . . . . . . . . 12 (𝑧 = 𝑔 → ((ball‘𝐷)‘𝑧) = ((ball‘𝐷)‘𝑔))
2423difeq1d 4080 . . . . . . . . . . 11 (𝑧 = 𝑔 → (((ball‘𝐷)‘𝑧) ∖ (𝑀𝑛)) = (((ball‘𝐷)‘𝑔) ∖ (𝑀𝑛)))
2524sseq2d 3970 . . . . . . . . . 10 (𝑧 = 𝑔 → (((cls‘𝐽)‘(𝑦(ball‘𝐷)𝑚)) ⊆ (((ball‘𝐷)‘𝑧) ∖ (𝑀𝑛)) ↔ ((cls‘𝐽)‘(𝑦(ball‘𝐷)𝑚)) ⊆ (((ball‘𝐷)‘𝑔) ∖ (𝑀𝑛))))
2625anbi2d 642 . . . . . . . . 9 (𝑧 = 𝑔 → ((𝑚 < (1 / 𝑛) ∧ ((cls‘𝐽)‘(𝑦(ball‘𝐷)𝑚)) ⊆ (((ball‘𝐷)‘𝑧) ∖ (𝑀𝑛))) ↔ (𝑚 < (1 / 𝑛) ∧ ((cls‘𝐽)‘(𝑦(ball‘𝐷)𝑚)) ⊆ (((ball‘𝐷)‘𝑔) ∖ (𝑀𝑛)))))
2726anbi2d 642 . . . . . . . 8 (𝑧 = 𝑔 → (((𝑦𝑋𝑚 ∈ ℝ+) ∧ (𝑚 < (1 / 𝑛) ∧ ((cls‘𝐽)‘(𝑦(ball‘𝐷)𝑚)) ⊆ (((ball‘𝐷)‘𝑧) ∖ (𝑀𝑛)))) ↔ ((𝑦𝑋𝑚 ∈ ℝ+) ∧ (𝑚 < (1 / 𝑛) ∧ ((cls‘𝐽)‘(𝑦(ball‘𝐷)𝑚)) ⊆ (((ball‘𝐷)‘𝑔) ∖ (𝑀𝑛))))))
2827opabbidv 5179 . . . . . . 7 (𝑧 = 𝑔 → {⟨𝑦, 𝑚⟩ ∣ ((𝑦𝑋𝑚 ∈ ℝ+) ∧ (𝑚 < (1 / 𝑛) ∧ ((cls‘𝐽)‘(𝑦(ball‘𝐷)𝑚)) ⊆ (((ball‘𝐷)‘𝑧) ∖ (𝑀𝑛))))} = {⟨𝑦, 𝑚⟩ ∣ ((𝑦𝑋𝑚 ∈ ℝ+) ∧ (𝑚 < (1 / 𝑛) ∧ ((cls‘𝐽)‘(𝑦(ball‘𝐷)𝑚)) ⊆ (((ball‘𝐷)‘𝑔) ∖ (𝑀𝑛))))})
2922, 28cbvmpov 7514 . . . . . 6 (𝑘 ∈ ℕ, 𝑧 ∈ (𝑋 × ℝ+) ↦ {⟨𝑥, 𝑟⟩ ∣ ((𝑥𝑋𝑟 ∈ ℝ+) ∧ (𝑟 < (1 / 𝑘) ∧ ((cls‘𝐽)‘(𝑥(ball‘𝐷)𝑟)) ⊆ (((ball‘𝐷)‘𝑧) ∖ (𝑀𝑘))))}) = (𝑛 ∈ ℕ, 𝑔 ∈ (𝑋 × ℝ+) ↦ {⟨𝑦, 𝑚⟩ ∣ ((𝑦𝑋𝑚 ∈ ℝ+) ∧ (𝑚 < (1 / 𝑛) ∧ ((cls‘𝐽)‘(𝑦(ball‘𝐷)𝑚)) ⊆ (((ball‘𝐷)‘𝑔) ∖ (𝑀𝑛))))})
30 simplr 781 . . . . . 6 (((𝐷 ∈ (CMet‘𝑋) ∧ 𝑀:ℕ⟶(Clsd‘𝐽)) ∧ ∀𝑘 ∈ ℕ ((int‘𝐽)‘(𝑀𝑘)) = ∅) → 𝑀:ℕ⟶(Clsd‘𝐽))
3116fveqeq2d 6893 . . . . . . . 8 (𝑘 = 𝑛 → (((int‘𝐽)‘(𝑀𝑘)) = ∅ ↔ ((int‘𝐽)‘(𝑀𝑛)) = ∅))
3231cbvralvw 3245 . . . . . . 7 (∀𝑘 ∈ ℕ ((int‘𝐽)‘(𝑀𝑘)) = ∅ ↔ ∀𝑛 ∈ ℕ ((int‘𝐽)‘(𝑀𝑛)) = ∅)
3332bilani 510 . . . . . 6 (((𝐷 ∈ (CMet‘𝑋) ∧ 𝑀:ℕ⟶(Clsd‘𝐽)) ∧ ∀𝑘 ∈ ℕ ((int‘𝐽)‘(𝑀𝑘)) = ∅) → ∀𝑛 ∈ ℕ ((int‘𝐽)‘(𝑀𝑛)) = ∅)
341, 2, 29, 30, 33bcthlem5 25540 . . . . 5 (((𝐷 ∈ (CMet‘𝑋) ∧ 𝑀:ℕ⟶(Clsd‘𝐽)) ∧ ∀𝑘 ∈ ℕ ((int‘𝐽)‘(𝑀𝑘)) = ∅) → ((int‘𝐽)‘ ran 𝑀) = ∅)
3534ex 418 . . . 4 ((𝐷 ∈ (CMet‘𝑋) ∧ 𝑀:ℕ⟶(Clsd‘𝐽)) → (∀𝑘 ∈ ℕ ((int‘𝐽)‘(𝑀𝑘)) = ∅ → ((int‘𝐽)‘ ran 𝑀) = ∅))
3635necon3ad 2973 . . 3 ((𝐷 ∈ (CMet‘𝑋) ∧ 𝑀:ℕ⟶(Clsd‘𝐽)) → (((int‘𝐽)‘ ran 𝑀) ≠ ∅ → ¬ ∀𝑘 ∈ ℕ ((int‘𝐽)‘(𝑀𝑘)) = ∅))
37363impia 1135 . 2 ((𝐷 ∈ (CMet‘𝑋) ∧ 𝑀:ℕ⟶(Clsd‘𝐽) ∧ ((int‘𝐽)‘ ran 𝑀) ≠ ∅) → ¬ ∀𝑘 ∈ ℕ ((int‘𝐽)‘(𝑀𝑘)) = ∅)
38 df-ne 2961 . . . 4 (((int‘𝐽)‘(𝑀𝑘)) ≠ ∅ ↔ ¬ ((int‘𝐽)‘(𝑀𝑘)) = ∅)
3938rexbii 3114 . . 3 (∃𝑘 ∈ ℕ ((int‘𝐽)‘(𝑀𝑘)) ≠ ∅ ↔ ∃𝑘 ∈ ℕ ¬ ((int‘𝐽)‘(𝑀𝑘)) = ∅)
40 rexnal 3119 . . 3 (∃𝑘 ∈ ℕ ¬ ((int‘𝐽)‘(𝑀𝑘)) = ∅ ↔ ¬ ∀𝑘 ∈ ℕ ((int‘𝐽)‘(𝑀𝑘)) = ∅)
4139, 40bitri 278 . 2 (∃𝑘 ∈ ℕ ((int‘𝐽)‘(𝑀𝑘)) ≠ ∅ ↔ ¬ ∀𝑘 ∈ ℕ ((int‘𝐽)‘(𝑀𝑘)) = ∅)
4237, 41sylibr 237 1 ((𝐷 ∈ (CMet‘𝑋) ∧ 𝑀:ℕ⟶(Clsd‘𝐽) ∧ ((int‘𝐽)‘ ran 𝑀) ≠ ∅) → ∃𝑘 ∈ ℕ ((int‘𝐽)‘(𝑀𝑘)) ≠ ∅)
Colors of variables:    wff setvar class
This proof depends on syntax axioms:  ¬ wn 3  wi 4  wa 401  w3a 1103   = wceq 1570  wcel 2146  wne 2960  wral 3081  wrex 3091  cdif 3903  wss 3906  c0 4286   cuni 4874   class class class wbr 5111  {copab 5175   × cxp 5661  ran crn 5664  wf 6536  cfv 6540  (class class class)co 7419  cmpo 7421  1c1 11118   < clt 11260   / cdiv 11888  cn 12250  +crp 13034  ballcbl 21561  MetOpencmopn 21564  Clsdccld 23225  intcnt 23226  clsccl 23227  CMetccmet 25466
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  ax-inf2 9617  ax-dc 10445  ax-cnex 11173  ax-resscn 11174  ax-1cn 11175  ax-icn 11176  ax-addcl 11177  ax-addrcl 11178  ax-mulcl 11179  ax-mulrcl 11180  ax-mulcom 11181  ax-addass 11182  ax-mulass 11183  ax-distr 11184  ax-i2m1 11185  ax-1ne0 11186  ax-1rid 11187  ax-rnegex 11188  ax-rrecex 11189  ax-cnre 11190  ax-pre-lttri 11191  ax-pre-lttrn 11192  ax-pre-ltadd 11193  ax-pre-mulgt0 11194  ax-pre-sup 11195
This proof depends on definitions:  df-bi 210  df-an 402  df-or 862  df-3or 1104  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-nel 3067  df-ral 3082  df-rex 3092  df-rmo 3371  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-pss 3926  df-nul 4287  df-if 4490  df-pw 4566  df-sn 4592  df-pr 4594  df-op 4598  df-uni 4875  df-int 4915  df-iun 4960  df-iin 4961  df-br 5112  df-opab 5176  df-mpt 5195  df-tr 5221  df-id 5558  df-eprel 5563  df-po 5571  df-so 5572  df-fr 5616  df-we 5618  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-pred 6306  df-ord 6367  df-on 6368  df-lim 6369  df-suc 6370  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-riota 7376  df-ov 7422  df-oprab 7423  df-mpo 7424  df-om 7869  df-1st 7992  df-2nd 7993  df-frecs 8284  df-wrecs 8315  df-recs 8364  df-rdg 8403  df-1o 8459  df-er 8700  df-map 8832  df-pm 8833  df-en 8950  df-dom 8951  df-sdom 8952  df-sup 9409  df-inf 9410  df-pnf 11262  df-mnf 11263  df-xr 11264  df-ltxr 11265  df-le 11266  df-sub 11460  df-neg 11461  df-div 11889  df-nn 12251  df-2 12320  df-n0 12522  df-z 12609  df-uz 12881  df-q 12991  df-rp 13035  df-xneg 13155  df-xadd 13156  df-xmul 13157  df-ico 13396  df-rest 17499  df-topgen 17520  df-psmet 21566  df-xmet 21567  df-met 21568  df-bl 21569  df-mopn 21570  df-fbas 21571  df-fg 21572  df-top 23103  df-topon 23120  df-bases 23155  df-cld 23228  df-ntr 23229  df-cls 23230  df-nei 23307  df-lm 23438  df-fil 24056  df-fm 24148  df-flim 24149  df-flf 24150  df-cfil 25467  df-cau 25468  df-cmet 25469
This theorem is used by:  bcth2  25542  bcth3  25543
  Copyright terms: Public domain W3C validator