File: Mathlib/Topology/Sober.lean

full_name: IsGenericPoint
code: /-- `x` is a generic point of `S` if `S` is the closure of `x`. -/
def IsGenericPoint (x : α) (S : Set α) : Prop 
goal: Prop

full_name: isGenericPoint_def
code: theorem isGenericPoint_def {x : α} {S : Set α} : IsGenericPoint x S ↔ closure ({x} : Set α) = S 
goal: IsGenericPoint x S ↔ closure {x} = S

full_name: IsGenericPoint.def
code: theorem IsGenericPoint.def {x : α} {S : Set α} (h : IsGenericPoint x S) :
    closure ({x} : Set α) = S 
goal: closure {x} = S

full_name: isGenericPoint_closure
code: theorem isGenericPoint_closure {x : α} : IsGenericPoint x (closure ({x} : Set α)) 
goal: IsGenericPoint x (closure {x})

full_name: isGenericPoint_iff_specializes
code: theorem isGenericPoint_iff_specializes : IsGenericPoint x S ↔ ∀ y, x ⤳ y ↔ y ∈ S 
goal: IsGenericPoint x S ↔ ∀ (y : α), x ⤳ y ↔ y ∈ S

full_name: IsGenericPoint.specializes_iff_mem
code: theorem specializes_iff_mem (h : IsGenericPoint x S) : x ⤳ y ↔ y ∈ S 
goal: x ⤳ y ↔ y ∈ S

full_name: IsGenericPoint.specializes
code: protected theorem specializes (h : IsGenericPoint x S) (h' : y ∈ S) : x ⤳ y 
goal: x ⤳ y

full_name: IsGenericPoint.mem
code: protected theorem mem (h : IsGenericPoint x S) : x ∈ S 
goal: x ∈ S

full_name: IsGenericPoint.isClosed
code: protected theorem isClosed (h : IsGenericPoint x S) : IsClosed S 
goal: IsClosed S

full_name: IsGenericPoint.isIrreducible
code: protected theorem isIrreducible (h : IsGenericPoint x S) : IsIrreducible S 
goal: IsIrreducible S

full_name: IsGenericPoint.inseparable
code: protected theorem inseparable (h : IsGenericPoint x S) (h' : IsGenericPoint y S) :
    Inseparable x y 
goal: Inseparable x y

full_name: IsGenericPoint.eq
code: /-- In a T₀ space, each set has at most one generic point. -/
protected theorem eq [T0Space α] (h : IsGenericPoint x S) (h' : IsGenericPoint y S) : x = y 
goal: x = y

full_name: IsGenericPoint.mem_open_set_iff
code: theorem mem_open_set_iff (h : IsGenericPoint x S) (hU : IsOpen U) : x ∈ U ↔ (S ∩ U).Nonempty 
goal: x ∈ U ↔ (S ∩ U).Nonempty

full_name: IsGenericPoint.disjoint_iff
code: theorem disjoint_iff (h : IsGenericPoint x S) (hU : IsOpen U) : Disjoint S U ↔ x ∉ U 
goal: Disjoint S U ↔ x ∉ U

full_name: IsGenericPoint.mem_closed_set_iff
code: theorem mem_closed_set_iff (h : IsGenericPoint x S) (hZ : IsClosed Z) : x ∈ Z ↔ S ⊆ Z 
goal: x ∈ Z ↔ S ⊆ Z

full_name: IsGenericPoint.image
code: protected theorem image (h : IsGenericPoint x S) {f : α → β} (hf : Continuous f) :
    IsGenericPoint (f x) (closure (f '' S)) 
goal: IsGenericPoint (f x) (closure (f '' S))

full_name: isGenericPoint_iff_forall_closed
code: theorem isGenericPoint_iff_forall_closed (hS : IsClosed S) (hxS : x ∈ S) :
    IsGenericPoint x S ↔ ∀ Z : Set α, IsClosed Z → x ∈ Z → S ⊆ Z 
goal: IsGenericPoint x S ↔ ∀ (Z : Set α), IsClosed Z → x ∈ Z → S ⊆ Z

full_name: QuasiSober
code: /-- A space is sober if every irreducible closed subset has a generic point. -/
@[mk_iff]
class QuasiSober (α : Type*) [TopologicalSpace α] : Prop where
  sober : ∀ {S : Set α}, IsIrreducible S → IsClosed S → ∃ x, IsGenericPoint x S
goal: Prop

full_name: quasiSober_iff
code: /-- A space is sober if every irreducible closed subset has a generic point. -/
@[mk_iff]
class QuasiSober (α : Type*) [TopologicalSpace α] : Prop where
  sober : ∀ {S : Set α}, IsIrreducible S → IsClosed S → ∃ x, IsGenericPoint x S
goal: QuasiSober α ↔ ∀ {S : Set α}, IsIrreducible S → IsClosed S → ∃ x, IsGenericPoint x S

full_name: QuasiSober.sober
code: /-- A space is sober if every irreducible closed subset has a generic point. -/
@[mk_iff]
class QuasiSober (α : Type*) [TopologicalSpace α] : Prop where
  sober : ∀ {S : Set α}, IsIrreducible S → IsClosed S → ∃ x, IsGenericPoint x S
goal: IsIrreducible S → IsClosed S → ∃ x, IsGenericPoint x S

full_name: IsIrreducible.genericPoint
code: /-- A generic point of the closure of an irreducible space. -/
noncomputable def IsIrreducible.genericPoint [QuasiSober α] {S : Set α} (hS : IsIrreducible S) :
    α 
goal: α

full_name: IsIrreducible.genericPoint_spec
code: theorem IsIrreducible.genericPoint_spec [QuasiSober α] {S : Set α} (hS : IsIrreducible S) :
    IsGenericPoint hS.genericPoint (closure S) 
goal: IsGenericPoint hS.genericPoint (closure S)

full_name: IsIrreducible.genericPoint_closure_eq
code: @[simp]
theorem IsIrreducible.genericPoint_closure_eq [QuasiSober α] {S : Set α} (hS : IsIrreducible S) :
    closure ({hS.genericPoint} : Set α) = closure S 
goal: closure {hS.genericPoint} = closure S

full_name: genericPoint
code: /-- A generic point of a sober irreducible space. -/
noncomputable def genericPoint [QuasiSober α] [IrreducibleSpace α] : α 
goal: α

full_name: genericPoint_spec
code: theorem genericPoint_spec [QuasiSober α] [IrreducibleSpace α] :
    IsGenericPoint (genericPoint α) ⊤ 
goal: IsGenericPoint (genericPoint α) ⊤

full_name: genericPoint_closure
code: @[simp]
theorem genericPoint_closure [QuasiSober α] [IrreducibleSpace α] :
    closure ({genericPoint α} : Set α) = ⊤ 
goal: closure {genericPoint α} = ⊤

full_name: genericPoint_specializes
code: theorem genericPoint_specializes [QuasiSober α] [IrreducibleSpace α] (x : α) : genericPoint α ⤳ x 
goal: genericPoint α ⤳ x

full_name: irreducibleSetEquivPoints
code: /-- The closed irreducible subsets of a sober space bijects with the points of the space. -/
noncomputable def irreducibleSetEquivPoints [QuasiSober α] [T0Space α] :
    TopologicalSpace.IrreducibleCloseds α ≃o α 
goal: TopologicalSpace.IrreducibleCloseds α ≃o α

full_name: ClosedEmbedding.quasiSober
code: theorem ClosedEmbedding.quasiSober {f : α → β} (hf : ClosedEmbedding f) [QuasiSober β] :
    QuasiSober α 
goal: QuasiSober α

full_name: OpenEmbedding.quasiSober
code: theorem OpenEmbedding.quasiSober {f : α → β} (hf : OpenEmbedding f) [QuasiSober β] :
    QuasiSober α 
goal: QuasiSober α

full_name: quasiSober_of_open_cover
code: /-- A space is quasi sober if it can be covered by open quasi sober subsets. -/
theorem quasiSober_of_open_cover (S : Set (Set α)) (hS : ∀ s : S, IsOpen (s : Set α))
    [hS' : ∀ s : S, QuasiSober s] (hS'' : ⋃₀ S = ⊤) : QuasiSober α 
goal: QuasiSober α

full_name: T2Space.quasiSober
code: /-- Any Hausdorff space is a quasi-sober space because any irreducible set is a singleton. -/
instance (priority := 100) T2Space.quasiSober [T2Space α] : QuasiSober α 
goal: QuasiSober α