# Baire spaces #

A topological space is called a Baire space if a countable intersection of dense open subsets is dense. Baire theorems say that all completely metrizable spaces and all locally compact regular spaces are Baire spaces. We prove the theorems in Mathlib/Topology/Baire/CompleteMetrizable and Mathlib/Topology/Baire/LocallyCompactRegular.

In this file we prove various corollaries of Baire theorems.

The good concept underlying the theorems is that of a Gδ set, i.e., a countable intersection of open sets. Then Baire theorem can also be formulated as the fact that a countable intersection of dense Gδ sets is a dense Gδ set. We deduce this version from Baire property. We also prove the important consequence that, if the space is covered by a countable union of closed sets, then the union of their interiors is dense.

We also prove that in Baire spaces, the residual sets are exactly those containing a dense Gδ set.

theorem dense_iInter_of_isOpen_nat {X : Type u_1} [] [] {f : Set X} (ho : ∀ (n : ), IsOpen (f n)) (hd : ∀ (n : ), Dense (f n)) :
Dense (⋂ (n : ), f n)

Definition of a Baire space.

theorem dense_sInter_of_isOpen {X : Type u_1} [] [] {S : Set (Set X)} (ho : sS, ) (hS : S.Countable) (hd : sS, ) :

Baire theorem: a countable intersection of dense open sets is dense. Formulated here with ⋂₀.

theorem dense_biInter_of_isOpen {X : Type u_1} {α : Type u_2} [] [] {S : Set α} {f : αSet X} (ho : sS, IsOpen (f s)) (hS : S.Countable) (hd : sS, Dense (f s)) :
Dense (sS, f s)

Baire theorem: a countable intersection of dense open sets is dense. Formulated here with an index set which is a countable set in any type.

theorem dense_iInter_of_isOpen {X : Type u_1} {ι : Sort u_3} [] [] [] {f : ιSet X} (ho : ∀ (i : ι), IsOpen (f i)) (hd : ∀ (i : ι), Dense (f i)) :
Dense (⋂ (s : ι), f s)

Baire theorem: a countable intersection of dense open sets is dense. Formulated here with an index set which is a countable type.

theorem mem_residual {X : Type u_1} [] [] {s : Set X} :
s ts, IsGδ t

A set is residual (comeagre) if and only if it includes a dense Gδ set.

theorem eventually_residual {X : Type u_1} [] [] {p : XProp} :
(∀ᶠ (x : X) in , p x) ∃ (t : Set X), IsGδ t xt, p x

A property holds on a residual (comeagre) set if and only if it holds on some dense Gδ set.

theorem dense_of_mem_residual {X : Type u_1} [] [] {s : Set X} (hs : s ) :
theorem dense_sInter_of_Gδ {X : Type u_1} [] [] {S : Set (Set X)} (ho : sS, IsGδ s) (hS : S.Countable) (hd : sS, ) :

Baire theorem: a countable intersection of dense Gδ sets is dense. Formulated here with ⋂₀.

theorem dense_iInter_of_Gδ {X : Type u_1} {ι : Sort u_3} [] [] [] {f : ιSet X} (ho : ∀ (s : ι), IsGδ (f s)) (hd : ∀ (s : ι), Dense (f s)) :
Dense (⋂ (s : ι), f s)

Baire theorem: a countable intersection of dense Gδ sets is dense. Formulated here with an index set which is a countable type.

theorem dense_biInter_of_Gδ {X : Type u_1} {α : Type u_2} [] [] {S : Set α} {f : (x : α) → x SSet X} (ho : ∀ (s : α) (H : s S), IsGδ (f s H)) (hS : S.Countable) (hd : ∀ (s : α) (H : s S), Dense (f s H)) :
Dense (⋂ (s : α), ⋂ (h : s S), f s h)

Baire theorem: a countable intersection of dense Gδ sets is dense. Formulated here with an index set which is a countable set in any type.

theorem Dense.inter_of_Gδ {X : Type u_1} [] [] {s : Set X} {t : Set X} (hs : IsGδ s) (ht : IsGδ t) (hsc : ) (htc : ) :
Dense (s t)

Baire theorem: the intersection of two dense Gδ sets is dense.

theorem IsGδ.dense_iUnion_interior_of_closed {X : Type u_1} {ι : Sort u_3} [] [] [] {s : Set X} (hs : IsGδ s) (hd : ) {f : ιSet X} (hc : ∀ (i : ι), IsClosed (f i)) (hU : s ⋃ (i : ι), f i) :
Dense (⋃ (i : ι), interior (f i))

If a countable family of closed sets cover a dense Gδ set, then the union of their interiors is dense. Formulated here with ⋃.

theorem IsGδ.dense_biUnion_interior_of_closed {X : Type u_1} {α : Type u_2} [] [] {t : Set α} {s : Set X} (hs : IsGδ s) (hd : ) (ht : t.Countable) {f : αSet X} (hc : it, IsClosed (f i)) (hU : s it, f i) :
Dense (it, interior (f i))

If a countable family of closed sets cover a dense Gδ set, then the union of their interiors is dense. Formulated here with a union over a countable set in any type.

theorem IsGδ.dense_sUnion_interior_of_closed {X : Type u_1} [] [] {T : Set (Set X)} {s : Set X} (hs : IsGδ s) (hd : ) (hc : T.Countable) (hc' : tT, ) (hU : s ⋃₀ T) :
Dense (tT, )

If a countable family of closed sets cover a dense Gδ set, then the union of their interiors is dense. Formulated here with ⋃₀.

theorem dense_biUnion_interior_of_closed {X : Type u_1} {α : Type u_2} [] [] {S : Set α} {f : αSet X} (hc : sS, IsClosed (f s)) (hS : S.Countable) (hU : sS, f s = Set.univ) :
Dense (sS, interior (f s))

Baire theorem: if countably many closed sets cover the whole space, then their interiors are dense. Formulated here with an index set which is a countable set in any type.

theorem dense_sUnion_interior_of_closed {X : Type u_1} [] [] {S : Set (Set X)} (hc : sS, ) (hS : S.Countable) (hU : ⋃₀ S = Set.univ) :
Dense (sS, )

Baire theorem: if countably many closed sets cover the whole space, then their interiors are dense. Formulated here with ⋃₀.

theorem dense_iUnion_interior_of_closed {X : Type u_1} {ι : Sort u_3} [] [] [] {f : ιSet X} (hc : ∀ (i : ι), IsClosed (f i)) (hU : ⋃ (i : ι), f i = Set.univ) :
Dense (⋃ (i : ι), interior (f i))

Baire theorem: if countably many closed sets cover the whole space, then their interiors are dense. Formulated here with an index set which is a countable type.

theorem nonempty_interior_of_iUnion_of_closed {X : Type u_1} {ι : Sort u_3} [] [] [] [] {f : ιSet X} (hc : ∀ (i : ι), IsClosed (f i)) (hU : ⋃ (i : ι), f i = Set.univ) :
∃ (i : ι), (interior (f i)).Nonempty

One of the most useful consequences of Baire theorem: if a countable union of closed sets covers the space, then one of the sets has nonempty interior.