Documentation

Mathlib.Topology.Closure

Interior, closure and frontier of a set #

This file provides lemmas relating to the functions interior, closure and frontier of a set endowed with a topology.

Notation #

Tags #

interior, closure, frontier

theorem mem_interior {X : Type u} [TopologicalSpace X] {x : X} {s : Set X} :
x interior s ts, IsOpen t x t
@[simp]
theorem isOpen_interior {X : Type u} [TopologicalSpace X] {s : Set X} :
theorem interior_subset {X : Type u} [TopologicalSpace X] {s : Set X} :
interior ss
theorem interior_maximal {X : Type u} [TopologicalSpace X] {s t : Set X} (h₁ : ts) (h₂ : IsOpen t) :
tinterior s
theorem IsOpen.interior_eq {X : Type u} [TopologicalSpace X] {s : Set X} (h : IsOpen s) :
theorem forall_isOpen_iff {X : Type u} [TopologicalSpace X] {p : Set XProp} :
(∀ (t : Set X), IsOpen tp t) ∀ (t : Set X), p (interior t)
theorem exists_isOpen_iff {X : Type u} [TopologicalSpace X] {p : Set XProp} :
(∃ (t : Set X), IsOpen t p t) ∃ (t : Set X), p (interior t)
theorem IsOpen.subset_interior_iff {X : Type u} [TopologicalSpace X] {s t : Set X} (h₁ : IsOpen s) :
sinterior t st
theorem subset_interior_iff {X : Type u} [TopologicalSpace X] {s t : Set X} :
tinterior s ∃ (U : Set X), IsOpen U tU Us
theorem interior_subset_iff {X : Type u} [TopologicalSpace X] {s t : Set X} :
interior st ∀ (U : Set X), IsOpen UUsUt
theorem interior_mono {X : Type u} [TopologicalSpace X] {s t : Set X} (h : st) :
@[simp]
@[simp]
@[simp]
theorem interior_inter {X : Type u} [TopologicalSpace X] {s t : Set X} :
theorem Set.Finite.interior_biInter {X : Type u} [TopologicalSpace X] {ι : Type u_1} {s : Set ι} (hs : s.Finite) (f : ιSet X) :
interior (⋂ is, f i) = is, interior (f i)
theorem Set.Finite.interior_sInter {X : Type u} [TopologicalSpace X] {S : Set (Set X)} (hS : S.Finite) :
interior (⋂₀ S) = sS, interior s
@[simp]
theorem Finset.interior_iInter {X : Type u} [TopologicalSpace X] {ι : Type u_1} (s : Finset ι) (f : ιSet X) :
interior (⋂ is, f i) = is, interior (f i)
@[simp]
theorem interior_iInter_of_finite {X : Type u} [TopologicalSpace X] {ι : Sort v} [Finite ι] (f : ιSet X) :
interior (⋂ (i : ι), f i) = ⋂ (i : ι), interior (f i)
@[simp]
theorem interior_iInter₂_lt_nat {X : Type u} [TopologicalSpace X] {n : } (f : Set X) :
interior (⋂ (m : ), ⋂ (_ : m < n), f m) = ⋂ (m : ), ⋂ (_ : m < n), interior (f m)
@[simp]
theorem interior_iInter₂_le_nat {X : Type u} [TopologicalSpace X] {n : } (f : Set X) :
interior (⋂ (m : ), ⋂ (_ : m n), f m) = ⋂ (m : ), ⋂ (_ : m n), interior (f m)
theorem isOpen_iff_forall_mem_open {X : Type u} [TopologicalSpace X] {s : Set X} :
IsOpen s xs, ts, IsOpen t x t
theorem interior_iInter_subset {X : Type u} [TopologicalSpace X] {ι : Sort v} (s : ιSet X) :
interior (⋂ (i : ι), s i)⋂ (i : ι), interior (s i)
theorem interior_iInter₂_subset {X : Type u} [TopologicalSpace X] {ι : Sort v} (p : ιSort u_1) (s : (i : ι) → p iSet X) :
interior (⋂ (i : ι), ⋂ (j : p i), s i j)⋂ (i : ι), ⋂ (j : p i), interior (s i j)
theorem interior_sInter_subset {X : Type u} [TopologicalSpace X] (S : Set (Set X)) :
interior (⋂₀ S)sS, interior s
theorem Filter.HasBasis.lift'_interior {X : Type u} [TopologicalSpace X] {ι : Sort v} {l : Filter X} {p : ιProp} {s : ιSet X} (h : l.HasBasis p s) :
(l.lift' interior).HasBasis p fun (i : ι) => interior (s i)
theorem Filter.HasBasis.lift'_interior_eq_self {X : Type u} [TopologicalSpace X] {ι : Sort v} {l : Filter X} {p : ιProp} {s : ιSet X} (h : l.HasBasis p s) (ho : ∀ (i : ι), p iIsOpen (s i)) :
@[simp]
theorem isClosed_closure {X : Type u} [TopologicalSpace X] {s : Set X} :
theorem subset_closure {X : Type u} [TopologicalSpace X] {s : Set X} :
sclosure s
theorem notMem_of_notMem_closure {X : Type u} [TopologicalSpace X] {s : Set X} {P : X} (hP : Pclosure s) :
Ps
theorem closure_minimal {X : Type u} [TopologicalSpace X] {s t : Set X} (h₁ : st) (h₂ : IsClosed t) :
closure st

closure, bundled as a ClosureOperator on Set X; its closed elements are the closed sets.

Equations
Instances For
    theorem Disjoint.closure_left {X : Type u} [TopologicalSpace X] {s t : Set X} (hd : Disjoint s t) (ht : IsOpen t) :
    theorem Disjoint.closure_right {X : Type u} [TopologicalSpace X] {s t : Set X} (hd : Disjoint s t) (hs : IsOpen s) :
    @[simp]
    theorem IsClosed.closure_eq {X : Type u} [TopologicalSpace X] {s : Set X} (h : IsClosed s) :
    theorem forall_isClosed_iff {X : Type u} [TopologicalSpace X] {p : Set XProp} :
    (∀ (t : Set X), IsClosed tp t) ∀ (t : Set X), p (closure t)
    theorem exists_isClosed_iff {X : Type u} [TopologicalSpace X] {p : Set XProp} :
    (∃ (t : Set X), IsClosed t p t) ∃ (t : Set X), p (closure t)
    theorem IsClosed.closure_subset {X : Type u} [TopologicalSpace X] {s : Set X} (hs : IsClosed s) :
    closure ss
    theorem IsClosed.closure_subset_iff {X : Type u} [TopologicalSpace X] {s t : Set X} (h₁ : IsClosed t) :
    closure st st
    theorem IsClosed.mem_iff_closure_subset {X : Type u} [TopologicalSpace X] {x : X} {s : Set X} (hs : IsClosed s) :
    x s closure {x}s
    theorem closure_mono {X : Type u} [TopologicalSpace X] {s t : Set X} (h : st) :
    theorem closure_inter_subset {X : Type u} [TopologicalSpace X] {s t : Set X} :
    closure (s t)closure s closure t
    theorem sdiff_subset_closure_iff {X : Type u} [TopologicalSpace X] {s t : Set X} :
    s \ tclosure t sclosure t
    @[deprecated sdiff_subset_closure_iff (since := "2026-06-03")]
    theorem diff_subset_closure_iff {X : Type u} [TopologicalSpace X] {s t : Set X} :
    s \ tclosure t sclosure t

    Alias of sdiff_subset_closure_iff.

    theorem isClosed_of_closure_subset {X : Type u} [TopologicalSpace X] {s : Set X} (h : closure ss) :
    @[simp]
    theorem closure_empty_iff {X : Type u} [TopologicalSpace X] (s : Set X) :
    @[simp]

    Alias of the reverse direction of closure_nonempty_iff.

    Alias of the forward direction of closure_nonempty_iff.

    @[simp]
    theorem closure_union {X : Type u} [TopologicalSpace X] {s t : Set X} :
    theorem Set.Finite.closure_biUnion {X : Type u} [TopologicalSpace X] {ι : Type u_1} {s : Set ι} (hs : s.Finite) (f : ιSet X) :
    closure (⋃ is, f i) = is, closure (f i)
    theorem Set.Finite.closure_sUnion {X : Type u} [TopologicalSpace X] {S : Set (Set X)} (hS : S.Finite) :
    closure (⋃₀ S) = sS, closure s
    @[simp]
    theorem Finset.closure_biUnion {X : Type u} [TopologicalSpace X] {ι : Type u_1} (s : Finset ι) (f : ιSet X) :
    closure (⋃ is, f i) = is, closure (f i)
    @[simp]
    theorem closure_iUnion_of_finite {X : Type u} [TopologicalSpace X] {ι : Sort v} [Finite ι] (f : ιSet X) :
    closure (⋃ (i : ι), f i) = ⋃ (i : ι), closure (f i)
    @[simp]
    theorem closure_iUnion₂_lt_nat {X : Type u} [TopologicalSpace X] {n : } (f : Set X) :
    closure (⋃ (m : ), ⋃ (_ : m < n), f m) = ⋃ (m : ), ⋃ (_ : m < n), closure (f m)
    @[simp]
    theorem closure_iUnion₂_le_nat {X : Type u} [TopologicalSpace X] {n : } (f : Set X) :
    closure (⋃ (m : ), ⋃ (_ : m n), f m) = ⋃ (m : ), ⋃ (_ : m n), closure (f m)
    @[simp]
    theorem interior_compl {X : Type u} [TopologicalSpace X] {s : Set X} :
    @[simp]
    theorem closure_compl {X : Type u} [TopologicalSpace X] {s : Set X} :
    theorem mem_closure_iff {X : Type u} [TopologicalSpace X] {x : X} {s : Set X} :
    x closure s ∀ (o : Set X), IsOpen ox o(o s).Nonempty
    theorem Filter.HasBasis.lift'_closure {X : Type u} [TopologicalSpace X] {ι : Sort v} {l : Filter X} {p : ιProp} {s : ιSet X} (h : l.HasBasis p s) :
    (l.lift' closure).HasBasis p fun (i : ι) => closure (s i)
    theorem Filter.HasBasis.lift'_closure_eq_self {X : Type u} [TopologicalSpace X] {ι : Sort v} {l : Filter X} {p : ιProp} {s : ιSet X} (h : l.HasBasis p s) (hc : ∀ (i : ι), p iIsClosed (s i)) :
    theorem Dense.closure_eq {X : Type u} [TopologicalSpace X] {s : Set X} :

    Alias of the forward direction of dense_iff_closure_eq.

    theorem Dense.interior_compl {X : Type u} [TopologicalSpace X] {s : Set X} (h : Dense s) :
    @[simp]
    theorem dense_closure {X : Type u} [TopologicalSpace X] {s : Set X} :

    The closure of a set s is dense if and only if s is dense.

    theorem Dense.closure {X : Type u} [TopologicalSpace X] {s : Set X} :
    Dense sDense (closure s)

    Alias of the reverse direction of dense_closure.


    The closure of a set s is dense if and only if s is dense.

    theorem Dense.of_closure {X : Type u} [TopologicalSpace X] {s : Set X} :
    Dense (closure s)Dense s

    Alias of the forward direction of dense_closure.


    The closure of a set s is dense if and only if s is dense.

    @[simp]
    theorem dense_iff_inter_open {X : Type u} [TopologicalSpace X] {s : Set X} :
    Dense s ∀ (U : Set X), IsOpen UU.Nonempty(U s).Nonempty

    A set is dense if and only if it has a nonempty intersection with each nonempty open set.

    theorem Dense.inter_open_nonempty {X : Type u} [TopologicalSpace X] {s : Set X} :
    Dense s∀ (U : Set X), IsOpen UU.Nonempty(U s).Nonempty

    Alias of the forward direction of dense_iff_inter_open.


    A set is dense if and only if it has a nonempty intersection with each nonempty open set.

    theorem Dense.exists_mem_open {X : Type u} [TopologicalSpace X] {s : Set X} (hs : Dense s) {U : Set X} (ho : IsOpen U) (hne : U.Nonempty) :
    xs, x U
    theorem Dense.nonempty_iff {X : Type u} [TopologicalSpace X] {s : Set X} (hs : Dense s) :
    theorem Dense.nonempty {X : Type u} [TopologicalSpace X] {s : Set X} [h : Nonempty X] (hs : Dense s) :
    theorem Dense.mono {X : Type u} [TopologicalSpace X] {s₁ s₂ : Set X} (h : s₁s₂) (hd : Dense s₁) :
    Dense s₂
    theorem DenseRange.of_comp {X : Type u} [TopologicalSpace X] {α : Type u_1} {β : Type u_2} {f : αX} {g : βα} (h : DenseRange (f g)) :

    Complement to a singleton is dense if and only if the singleton is not an open set.

    theorem Dense.induction {X : Type u} [TopologicalSpace X] {s : Set X} (hs : Dense s) {P : XProp} (mem : xs, P x) (isClosed : IsClosed {x : X | P x}) (x : X) :
    P x

    If a closed property holds for a dense subset, it holds for the whole space.

    theorem IsOpen.subset_interior_closure {X : Type u} [TopologicalSpace X] {s : Set X} (s_open : IsOpen s) :
    sinterior (closure s)
    theorem IsClosed.closure_interior_subset {X : Type u} [TopologicalSpace X] {s : Set X} (s_closed : IsClosed s) :
    closure (interior s)s
    @[simp]
    @[deprecated closure_sdiff_interior (since := "2026-06-03")]

    Alias of closure_sdiff_interior.

    Interior and frontier are disjoint.

    @[simp]
    @[deprecated closure_sdiff_frontier (since := "2026-06-03")]

    Alias of closure_sdiff_frontier.

    @[simp]
    theorem self_sdiff_frontier {X : Type u} [TopologicalSpace X] (s : Set X) :
    @[deprecated self_sdiff_frontier (since := "2026-06-03")]
    theorem self_diff_frontier {X : Type u} [TopologicalSpace X] (s : Set X) :

    Alias of self_sdiff_frontier.

    theorem mem_interior_iff_notMem_frontier {X : Type u} [TopologicalSpace X] {s : Set X} {x : X} (hx : x s) :
    x interior s xfrontier s
    theorem mem_frontier_iff_notMem_interior {X : Type u} [TopologicalSpace X] {s : Set X} {x : X} (hx : x s) :
    x frontier s xinterior s
    theorem IsClosed.frontier_subset {X : Type u} [TopologicalSpace X] {s : Set X} :
    IsClosed sfrontier ss

    Alias of the reverse direction of frontier_subset_iff_isClosed.

    @[simp]
    theorem frontier_compl {X : Type u} [TopologicalSpace X] (s : Set X) :

    The complement of a set has the same frontier as the original set.

    theorem Finset.frontier_biUnion_subset {X : Type u} [TopologicalSpace X] {ι : Type u_1} (I : Finset ι) (s : ιSet X) :
    frontier (⋃ iI, s i)iI, frontier (s i)
    theorem Set.Finite.frontier_biUnion_subset {X : Type u} [TopologicalSpace X] {ι : Type u_1} {I : Set ι} (hI : I.Finite) (s : ιSet X) :
    frontier (⋃ iI, s i)iI, frontier (s i)
    theorem IsClosed.frontier_eq {X : Type u} [TopologicalSpace X] {s : Set X} (hs : IsClosed s) :
    theorem IsOpen.frontier_eq {X : Type u} [TopologicalSpace X] {s : Set X} (hs : IsOpen s) :
    theorem IsOpen.inter_frontier_eq {X : Type u} [TopologicalSpace X] {s : Set X} (hs : IsOpen s) :
    theorem isClosed_frontier {X : Type u} [TopologicalSpace X] {s : Set X} :

    The frontier of a set is closed.

    theorem interior_frontier {X : Type u} [TopologicalSpace X] {s : Set X} (h : IsClosed s) :

    The frontier of a closed set has no interior point.

    theorem Disjoint.frontier_left {X : Type u} [TopologicalSpace X] {s t : Set X} (ht : IsOpen t) (hd : Disjoint s t) :
    theorem Disjoint.frontier_right {X : Type u} [TopologicalSpace X] {s t : Set X} (hs : IsOpen s) (hd : Disjoint s t) :