Baire Category Theorem
Originally indexed under Analysis; canonical home is Topology since the result is a property of the space.
Statement
Let be a complete metric space (or, more generally, a locally compact Hausdorff space). If is a countable family of open dense subsets of , then
Equivalently: a complete metric space is not a countable union of nowhere-dense sets. A set is meager (first category) if it is a countable union of nowhere-dense sets; Baire's theorem says no complete metric space is meager.
Visualization
as countable union of nowhere-dense singletons — the irrationals are the dense residual:
ℝ (complete metric space):
────────────────────────────────────────────────────▶
ℚ = {0} ∪ {1} ∪ {1/2} ∪ {1/3} ∪ ... (each singleton nowhere-dense)
Meager (first category) — measure zero, topologically "small"
ℝ\ℚ = irrationals
Dense residual (complement of ℚ is dense everywhere)
U_n = ℝ\{q_n} (complement of the n-th rational, open and dense)
⋂ U_n = ℝ\ℚ = irrationals ← dense!
n≥1
The Baire theorem guarantees ⋂ U_n is dense because each U_n is open and dense
in the complete metric space ℝ. Nowhere does the intersection collapse to empty.
Nowhere-dense test for : its closure is , whose interior is empty. So each rational singleton is nowhere-dense, and is first-category, even though it is dense.
Proof Sketch
- Goal: show every non-empty open meets .
- Inductive construction: meets (since is dense), so pick and an open ball with compact and radius .
- Continue: meets ; pick with radius . At step , with radius .
- Cauchy sequence: centers form a Cauchy sequence because .
- Limit: by completeness, . Then for all , and .
- Conclusion: , so the intersection is dense.
Connections
- Heine–Borel TheoremHeine–Borel TheoremIn ℝⁿ, a subset is compact if and only if it is closed and boundedRead more → — compact subsets of are complete (as closed bounded sets), so Baire applies to and all of .
- Bolzano–Weierstrass TheoremBolzano–Weierstrass TheoremEvery bounded sequence in ℝⁿ has a convergent subsequenceRead more → — completeness of underlies both: Bolzano–Weierstrass gives sequential compactness, Baire gives category density.
- Intermediate Value TheoremIntermediate Value TheoremA continuous function on a closed interval hits every value between its endpointsRead more → — a corollary-style consequence: continuous functions on cannot be everywhere-differentiable with derivative identically zero except on a meager set.
- Urysohn's LemmaUrysohn's LemmaIn a normal space, disjoint closed sets can be separated by a continuous functionRead more → — Urysohn's construction works in normal spaces; Baire's theorem is the key to the open-mapping theorem in Banach spaces, which are complete metric spaces.
- Uniform Boundedness PrincipleUniform Boundedness PrincipleA pointwise-bounded family of bounded linear operators on a Banach space is uniformly bounded in operator normRead more → — the Banach–Steinhaus theorem is proved by applying Baire to the complete metric space structure of Banach spaces.
- Open Mapping Theorem (Banach)Open Mapping Theorem (Banach)A surjective bounded linear map between Banach spaces maps open sets to open setsRead more → — a surjective bounded linear map between Banach spaces is open; the proof partitions the codomain into meager sets and invokes Baire.
- Closed Graph TheoremClosed Graph TheoremA linear map between Banach spaces with closed graph is automatically continuousRead more → — a linear map between Banach spaces with a closed graph is bounded; the proof is a direct application of the Open Mapping Theorem, itself founded on Baire.
Lean4 Proof
import Mathlib.Topology.Baire.CompleteMetrizable
import Mathlib.Topology.Baire.Lemmas
/-- **Baire Category Theorem**: in a complete metric space, the intersection of
countably many dense open sets is dense.
Mathlib instance: `BaireSpace.of_completelyPseudoMetrizable` promotes any
completely metrizable space to a `BaireSpace`, then
`dense_iInter_of_isOpen_nat` gives the conclusion. -/
theorem baire_category_theorem
{X : Type*} [TopologicalSpace X] [CompleteSpace X] [PseudoMetricSpace X]
(U : ℕ → Set X) (hopen : ∀ n, IsOpen (U n)) (hdense : ∀ n, Dense (U n)) :
Dense (⋂ n, U n) := by
haveI : IsCompletelyPseudoMetrizableSpace X := ⟨⟨inferInstance, inferInstance, rfl⟩⟩
haveI : BaireSpace X := BaireSpace.of_completelyPseudoMetrizable
exact dense_iInter_of_isOpen_nat hopen hdenseReferenced by
- Separable SpacesTopology