File: Mathlib/Topology/StoneCech.lean

full_name: ultrafilterBasis
code: /-- Basis for the topology on `Ultrafilter α`. -/
def ultrafilterBasis (α : Type u) : Set (Set (Ultrafilter α)) 
goal: Set (Set (Ultrafilter α))

full_name: Ultrafilter.topologicalSpace
code: instance Ultrafilter.topologicalSpace : TopologicalSpace (Ultrafilter α) 
goal: TopologicalSpace (Ultrafilter α)

full_name: ultrafilterBasis_is_basis
code: theorem ultrafilterBasis_is_basis : TopologicalSpace.IsTopologicalBasis (ultrafilterBasis α) 
goal: TopologicalSpace.IsTopologicalBasis (ultrafilterBasis α)

full_name: ultrafilter_isOpen_basic
code: /-- The basic open sets for the topology on ultrafilters are open. -/
theorem ultrafilter_isOpen_basic (s : Set α) : IsOpen { u : Ultrafilter α | s ∈ u } 
goal: IsOpen {u | s ∈ u}

full_name: ultrafilter_isClosed_basic
code: /-- The basic open sets for the topology on ultrafilters are also closed. -/
theorem ultrafilter_isClosed_basic (s : Set α) : IsClosed { u : Ultrafilter α | s ∈ u } 
goal: IsClosed {u | s ∈ u}

full_name: ultrafilter_converges_iff
code: /-- Every ultrafilter `u` on `Ultrafilter α` converges to a unique
  point of `Ultrafilter α`, namely `joinM u`. -/
theorem ultrafilter_converges_iff {u : Ultrafilter (Ultrafilter α)} {x : Ultrafilter α} :
    ↑u ≤ 𝓝 x ↔ x = joinM u 
goal: ↑u ≤ 𝓝 x ↔ x = joinM u

full_name: ultrafilter_compact
code: instance ultrafilter_compact : CompactSpace (Ultrafilter α) 
goal: CompactSpace (Ultrafilter α)

full_name: Ultrafilter.t2Space
code: instance Ultrafilter.t2Space : T2Space (Ultrafilter α) 
goal: T2Space (Ultrafilter α)

full_name: instTotallyDisconnectedSpaceUltrafilter
code: instance : TotallyDisconnectedSpace (Ultrafilter α) 
goal: TotallyDisconnectedSpace (Ultrafilter α)

full_name: Ultrafilter.tendsto_pure_self
code: @[simp] theorem Ultrafilter.tendsto_pure_self (b : Ultrafilter α) : Tendsto pure b (𝓝 b) 
goal: Filter.Tendsto pure (↑b) (𝓝 b)

full_name: ultrafilter_comap_pure_nhds
code: theorem ultrafilter_comap_pure_nhds (b : Ultrafilter α) : comap pure (𝓝 b) ≤ b 
goal: Filter.comap pure (𝓝 b) ≤ ↑b

full_name: ultrafilter_pure_injective
code: theorem ultrafilter_pure_injective : Function.Injective (pure : α → Ultrafilter α) 
goal: Function.Injective pure

full_name: denseRange_pure
code: /-- The range of `pure : α → Ultrafilter α` is dense in `Ultrafilter α`. -/
theorem denseRange_pure : DenseRange (pure : α → Ultrafilter α) 
goal: DenseRange pure

full_name: induced_topology_pure
code: /-- The map `pure : α → Ultrafilter α` induces on `α` the discrete topology. -/
theorem induced_topology_pure :
    TopologicalSpace.induced (pure : α → Ultrafilter α) Ultrafilter.topologicalSpace = ⊥ 
goal: TopologicalSpace.induced pure Ultrafilter.topologicalSpace = ⊥

full_name: denseInducing_pure
code: /-- `pure : α → Ultrafilter α` defines a dense inducing of `α` in `Ultrafilter α`. -/
theorem denseInducing_pure : @DenseInducing _ _ ⊥ _ (pure : α → Ultrafilter α) 
goal: DenseInducing pure

full_name: denseEmbedding_pure
code: /-- `pure : α → Ultrafilter α` defines a dense embedding of `α` in `Ultrafilter α`. -/
theorem denseEmbedding_pure : @DenseEmbedding _ _ ⊥ _ (pure : α → Ultrafilter α) 
goal: DenseEmbedding pure

full_name: Ultrafilter.extend
code: /-- The extension of a function `α → γ` to a function `Ultrafilter α → γ`.
  When `γ` is a compact Hausdorff space it will be continuous. -/
def Ultrafilter.extend (f : α → γ) : Ultrafilter α → γ 
goal: Ultrafilter α → γ

full_name: ultrafilter_extend_extends
code: theorem ultrafilter_extend_extends (f : α → γ) : Ultrafilter.extend f ∘ pure = f 
goal: Ultrafilter.extend f ∘ pure = f

full_name: continuous_ultrafilter_extend
code: theorem continuous_ultrafilter_extend (f : α → γ) : Continuous (Ultrafilter.extend f) 
goal: Continuous (Ultrafilter.extend f)

full_name: ultrafilter_extend_eq_iff
code: /-- The value of `Ultrafilter.extend f` on an ultrafilter `b` is the
  unique limit of the ultrafilter `b.map f` in `γ`. -/
theorem ultrafilter_extend_eq_iff {f : α → γ} {b : Ultrafilter α} {c : γ} :
    Ultrafilter.extend f b = c ↔ ↑(b.map f) ≤ 𝓝 c 
goal: Ultrafilter.extend f b = c ↔ ↑(Ultrafilter.map f b) ≤ 𝓝 c

full_name: PreStoneCech
code: /-- Auxilliary construction towards the Stone-Čech compactification of a topological space.
It should not be used after the Stone-Čech compactification is constructed. -/
def PreStoneCech : Type u 
goal: Type u

full_name: instTopologicalSpacePreStoneCech
code: instance : TopologicalSpace (PreStoneCech α) 
goal: TopologicalSpace (PreStoneCech α)

full_name: instCompactSpacePreStoneCech
code: instance : CompactSpace (PreStoneCech α) 
goal: CompactSpace (PreStoneCech α)

full_name: instInhabitedPreStoneCech
code: instance [Inhabited α] : Inhabited (PreStoneCech α) 
goal: Inhabited (PreStoneCech α)

full_name: preStoneCechUnit
code: /-- The natural map from α to its pre-Stone-Čech compactification. -/
def preStoneCechUnit (x : α) : PreStoneCech α 
goal: PreStoneCech α

full_name: continuous_preStoneCechUnit
code: theorem continuous_preStoneCechUnit : Continuous (preStoneCechUnit : α → PreStoneCech α) 
goal: Continuous preStoneCechUnit

full_name: denseRange_preStoneCechUnit
code: theorem denseRange_preStoneCechUnit : DenseRange (preStoneCechUnit : α → PreStoneCech α) 
goal: DenseRange preStoneCechUnit

full_name: preStoneCechCompat
code: lemma preStoneCechCompat {F G : Ultrafilter α} {x : α} (hF : ↑F ≤ 𝓝 x) (hG : ↑G ≤ 𝓝 x) :
    Ultrafilter.extend g F = Ultrafilter.extend g G 
goal: Ultrafilter.extend g F = Ultrafilter.extend g G

full_name: preStoneCechExtend
code: /-- The extension of a continuous function from `α` to a compact
  Hausdorff space `β` to the pre-Stone-Čech compactification of `α`. -/
def preStoneCechExtend : PreStoneCech α → β 
goal: PreStoneCech α → β

full_name: preStoneCechExtend_extends
code: theorem preStoneCechExtend_extends : preStoneCechExtend hg ∘ preStoneCechUnit = g 
goal: preStoneCechExtend hg ∘ preStoneCechUnit = g

full_name: eq_if_preStoneCechUnit_eq
code: lemma eq_if_preStoneCechUnit_eq {a b : α} (h : preStoneCechUnit a = preStoneCechUnit b) :
    g a = g b 
goal: g a = g b

full_name: continuous_preStoneCechExtend
code: theorem continuous_preStoneCechExtend : Continuous (preStoneCechExtend hg) 
goal: Continuous (preStoneCechExtend hg)

full_name: preStoneCech_hom_ext
code: theorem preStoneCech_hom_ext {g₁ g₂ : PreStoneCech α → β} (h₁ : Continuous g₁) (h₂ : Continuous g₂)
    (h : g₁ ∘ preStoneCechUnit = g₂ ∘ preStoneCechUnit) : g₁ = g₂ 
goal: g₁ = g₂

full_name: StoneCech
code: /-- The Stone-Čech compactification of a topological space. -/
def StoneCech : Type u 
goal: Type u

full_name: instTopologicalSpaceStoneCech
code: instance : TopologicalSpace (StoneCech α) 
goal: TopologicalSpace (StoneCech α)

full_name: instT2SpaceStoneCech
code: instance : T2Space (StoneCech α) 
goal: T2Space (StoneCech α)

full_name: instCompactSpaceStoneCech
code: instance : CompactSpace (StoneCech α) 
goal: CompactSpace (StoneCech α)

full_name: instInhabitedStoneCech
code: instance [Inhabited α] : Inhabited (StoneCech α) 
goal: Inhabited (StoneCech α)

full_name: stoneCechUnit
code: /-- The natural map from α to its Stone-Čech compactification. -/
def stoneCechUnit (x : α) : StoneCech α 
goal: StoneCech α

full_name: continuous_stoneCechUnit
code: theorem continuous_stoneCechUnit : Continuous (stoneCechUnit : α → StoneCech α) 
goal: Continuous stoneCechUnit

full_name: denseRange_stoneCechUnit
code: /-- The image of `stoneCechUnit` is dense. (But `stoneCechUnit` need
  not be an embedding, for example if the original space is not Hausdorff.) -/
theorem denseRange_stoneCechUnit : DenseRange (stoneCechUnit : α → StoneCech α) 
goal: DenseRange stoneCechUnit

full_name: stoneCechExtend
code: /-- The extension of a continuous function from `α` to a compact
  Hausdorff space `β` to the Stone-Čech compactification of `α`.
  This extension implements the universal property of this compactification. -/
def stoneCechExtend : StoneCech α → β 
goal: StoneCech α → β

full_name: stoneCechExtend_extends
code: theorem stoneCechExtend_extends : stoneCechExtend hg ∘ stoneCechUnit = g 
goal: stoneCechExtend hg ∘ stoneCechUnit = g

full_name: continuous_stoneCechExtend
code: theorem continuous_stoneCechExtend : Continuous (stoneCechExtend hg) 
goal: Continuous (stoneCechExtend hg)

full_name: eq_if_stoneCechUnit_eq
code: lemma eq_if_stoneCechUnit_eq {a b : α} {f : α → β} (hcf : Continuous f)
    (h : stoneCechUnit a = stoneCechUnit b) : f a = f b 
goal: f a = f b

full_name: stoneCech_hom_ext
code: theorem stoneCech_hom_ext {g₁ g₂ : StoneCech α → β} (h₁ : Continuous g₁) (h₂ : Continuous g₂)
    (h : g₁ ∘ stoneCechUnit = g₂ ∘ stoneCechUnit) : g₁ = g₂ 
goal: g₁ = g₂