# Alexandrov-discrete topological spaces #

This file defines Alexandrov-discrete spaces, aka finitely generated spaces.

A space is Alexandrov-discrete if the (arbitrary) intersection of open sets is open. As such, the intersection of all neighborhoods of a set is a neighborhood itself. Hence every set has a minimal neighborhood, which we call the exterior of the set.

## Main declarations #

• AlexandrovDiscrete: Prop-valued typeclass for a topological space to be Alexandrov-discrete
• exterior: Intersection of all neighborhoods of a set. When the space is Alexandrov-discrete, this is the minimal neighborhood of the set.

## Notes #

The "minimal neighborhood of a set" construction is not named in the literature. We chose the name "exterior" with analogy to the interior. interior and exterior have the same properties up to

## TODO #

Finite product of Alexandrov-discrete spaces is Alexandrov-discrete.

## Tags #

Alexandroff, discrete, finitely generated, fg space

class AlexandrovDiscrete (α : Type u_1) [] :

A topological space is Alexandrov-discrete or finitely generated if the intersection of a family of open sets is open.

• isOpen_sInter : ∀ (S : Set (Set α)), (sS, )IsOpen (⋂₀ S)

The intersection of a family of open sets is an open set. Use isOpen_sInter in the root namespace instead.

Instances
instance DiscreteTopology.toAlexandrovDiscrete {α : Type u_3} [] [] :
Equations
• =
instance Finite.toAlexandrovDiscrete {α : Type u_3} [] [] :
Equations
• =
theorem isOpen_sInter {α : Type u_3} [] {S : Set (Set α)} :
(sS, )IsOpen (⋂₀ S)
theorem isOpen_iInter {ι : Sort u_1} {α : Type u_3} [] {f : ιSet α} (hf : ∀ (i : ι), IsOpen (f i)) :
IsOpen (⋂ (i : ι), f i)
theorem isOpen_iInter₂ {ι : Sort u_1} {κ : ιSort u_2} {α : Type u_3} [] {f : (i : ι) → κ iSet α} (hf : ∀ (i : ι) (j : κ i), IsOpen (f i j)) :
IsOpen (⋂ (i : ι), ⋂ (j : κ i), f i j)
theorem isClosed_sUnion {α : Type u_3} [] {S : Set (Set α)} (hS : sS, ) :
theorem isClosed_iUnion {ι : Sort u_1} {α : Type u_3} [] {f : ιSet α} (hf : ∀ (i : ι), IsClosed (f i)) :
IsClosed (⋃ (i : ι), f i)
theorem isClosed_iUnion₂ {ι : Sort u_1} {κ : ιSort u_2} {α : Type u_3} [] {f : (i : ι) → κ iSet α} (hf : ∀ (i : ι) (j : κ i), IsClosed (f i j)) :
IsClosed (⋃ (i : ι), ⋃ (j : κ i), f i j)
theorem isClopen_sInter {α : Type u_3} [] {S : Set (Set α)} (hS : sS, ) :
theorem isClopen_iInter {ι : Sort u_1} {α : Type u_3} [] {f : ιSet α} (hf : ∀ (i : ι), IsClopen (f i)) :
IsClopen (⋂ (i : ι), f i)
theorem isClopen_iInter₂ {ι : Sort u_1} {κ : ιSort u_2} {α : Type u_3} [] {f : (i : ι) → κ iSet α} (hf : ∀ (i : ι) (j : κ i), IsClopen (f i j)) :
IsClopen (⋂ (i : ι), ⋂ (j : κ i), f i j)
theorem isClopen_sUnion {α : Type u_3} [] {S : Set (Set α)} (hS : sS, ) :
theorem isClopen_iUnion {ι : Sort u_1} {α : Type u_3} [] {f : ιSet α} (hf : ∀ (i : ι), IsClopen (f i)) :
IsClopen (⋃ (i : ι), f i)
theorem isClopen_iUnion₂ {ι : Sort u_1} {κ : ιSort u_2} {α : Type u_3} [] {f : (i : ι) → κ iSet α} (hf : ∀ (i : ι) (j : κ i), IsClopen (f i j)) :
IsClopen (⋃ (i : ι), ⋃ (j : κ i), f i j)
theorem interior_iInter {ι : Sort u_1} {α : Type u_3} [] (f : ιSet α) :
interior (⋂ (i : ι), f i) = ⋂ (i : ι), interior (f i)
theorem interior_sInter {α : Type u_3} [] (S : Set (Set α)) :
interior (⋂₀ S) = ⋂ s ∈ S,
theorem closure_iUnion {ι : Sort u_1} {α : Type u_3} [] (f : ιSet α) :
closure (⋃ (i : ι), f i) = ⋃ (i : ι), closure (f i)
theorem closure_sUnion {α : Type u_3} [] (S : Set (Set α)) :
closure (⋃₀ S) = ⋃ s ∈ S,
def exterior {α : Type u_3} [] (s : Set α) :
Set α

The exterior of a set is the intersection of all its neighborhoods. In an Alexandrov-discrete space, this is the smallest neighborhood of the set.

Note that this construction is unnamed in the literature. We choose the name in analogy to interior.

Equations
Instances For
theorem exterior_singleton_eq_ker_nhds {α : Type u_3} [] (a : α) :
theorem exterior_def {α : Type u_3} [] (s : Set α) :
= ⋂₀ {t : Set α | s t}
theorem mem_exterior {α : Type u_3} [] {s : Set α} {a : α} :
a ∀ (U : Set α), s Ua U
theorem subset_exterior_iff {α : Type u_3} [] {s : Set α} {t : Set α} :
s ∀ (U : Set α), t Us U
theorem subset_exterior {α : Type u_3} [] {s : Set α} :
s
theorem exterior_minimal {α : Type u_3} [] {s : Set α} {t : Set α} (h₁ : s t) (h₂ : ) :
t
theorem IsOpen.exterior_eq {α : Type u_3} [] {s : Set α} (h : ) :
= s
theorem IsOpen.exterior_subset_iff {α : Type u_3} [] {s : Set α} {t : Set α} (ht : ) :
t s t
theorem exterior_mono {α : Type u_3} [] :
Monotone exterior
@[simp]
theorem exterior_empty {α : Type u_3} [] :
@[simp]
theorem exterior_univ {α : Type u_3} [] :
exterior Set.univ = Set.univ
@[simp]
theorem exterior_eq_empty {α : Type u_3} [] {s : Set α} :
s =
@[simp]
theorem isOpen_exterior {α : Type u_3} [] {s : Set α} :
theorem exterior_mem_nhdsSet {α : Type u_3} [] {s : Set α} :
@[simp]
theorem exterior_eq_iff_isOpen {α : Type u_3} [] {s : Set α} :
= s
@[simp]
theorem exterior_subset_iff_isOpen {α : Type u_3} [] {s : Set α} :
s
theorem exterior_subset_iff {α : Type u_3} [] {s : Set α} {t : Set α} :
t ∃ (U : Set α), s U U t
theorem exterior_subset_iff_mem_nhdsSet {α : Type u_3} [] {s : Set α} {t : Set α} :
t t
theorem exterior_singleton_subset_iff_mem_nhds {α : Type u_3} [] {t : Set α} {a : α} :
exterior {a} t t nhds a
theorem IsOpen.exterior_subset {α : Type u_3} [] {s : Set α} {t : Set α} (ht : ) :
t s t
theorem gc_exterior_interior {α : Type u_3} [] :
GaloisConnection exterior interior
@[simp]
theorem exterior_exterior {α : Type u_3} [] (s : Set α) :
@[simp]
theorem exterior_union {α : Type u_3} [] (s : Set α) (t : Set α) :
exterior (s t) =
@[simp]
theorem nhdsSet_exterior {α : Type u_3} [] (s : Set α) :
@[simp]
theorem principal_exterior {α : Type u_3} [] (s : Set α) :
@[simp]
theorem exterior_subset_exterior {α : Type u_3} [] {s : Set α} {t : Set α} :
theorem specializes_iff_exterior_subset {α : Type u_3} [] {x : α} {y : α} :
theorem isOpen_iff_forall_specializes {α : Type u_3} [] {s : Set α} :
∀ (x y : α), x yy sx s
theorem Set.Finite.isCompact_exterior {α : Type u_3} [] {s : Set α} (hs : ) :
theorem Inducing.alexandrovDiscrete {α : Type u_3} {β : Type u_4} [] [] {f : βα} (h : ) :
theorem alexandrovDiscrete_coinduced {α : Type u_3} [] {β : Type u_5} {f : αβ} :
theorem AlexandrovDiscrete.sup {α : Type u_3} {t₁ : } {t₂ : } :
theorem alexandrovDiscrete_iSup {ι : Sort u_1} {α : Type u_3} {t : ι} :
(∀ (i : ι), )
instance AlexandrovDiscrete.toFirstCountable {α : Type u_3} [] :
Equations
• =
Equations
• =
instance Subtype.instAlexandrovDiscrete {α : Type u_3} [] {p : αProp} :
AlexandrovDiscrete { a : α // p a }
Equations
• =
instance Quotient.instAlexandrovDiscrete {α : Type u_3} [] {s : } :
Equations
• =
instance Sum.instAlexandrovDiscrete {α : Type u_3} {β : Type u_4} [] [] :
Equations
• =
instance Sigma.instAlexandrovDiscrete {ι : Type u_5} {π : ιType u_6} [(i : ι) → TopologicalSpace (π i)] [∀ (i : ι), AlexandrovDiscrete (π i)] :
AlexandrovDiscrete ((i : ι) × π i)
Equations
• =