Documentation

Mathlib.Topology.Sets.Opens

Open sets #

Summary #

We define the subtype of open sets in a topological space.

Main Definitions #

Bundled open sets #

Bundled open neighborhoods #

Main results #

We define order structures on both Opens α (CompleteLattice, Frame) and OpenNhdsOf x (OrderTop, DistribLattice).

TODO #

structure TopologicalSpace.Opens (α : Type u_2) [TopologicalSpace α] :
Type u_2

The type of open subsets of a topological space.

Instances For
    @[instance_reducible]
    Equations
    @[instance_reducible]
    Equations
    • One or more equations did not get rendered due to their size.
    theorem TopologicalSpace.Opens.forall {α : Type u_2} [TopologicalSpace α] {p : Opens α → Prop} :
    (∀ (U : Opens α), p U) ↔ ∀ (U : Set α) (hU : IsOpen U), p { carrier := U, is_open' := hU }
    @[simp]
    @[simp]
    theorem TopologicalSpace.Opens.coe_mk {α : Type u_2} [TopologicalSpace α] {U : Set α} {hU : IsOpen U} :
    ↑{ carrier := U, is_open' := hU } = U

    the coercion Opens α → Set α applied to a pair is the same as taking the first component

    @[simp]
    theorem TopologicalSpace.Opens.mem_mk {α : Type u_2} [TopologicalSpace α] {x : α} {U : Set α} {h : IsOpen U} :
    x ∈ { carrier := U, is_open' := h } ↔ x ∈ U
    theorem TopologicalSpace.Opens.nonempty_coe {α : Type u_2} [TopologicalSpace α] {U : Opens α} :
    (↑U).Nonempty ↔ ∃ (x : α), x ∈ U
    theorem TopologicalSpace.Opens.ext {α : Type u_2} [TopologicalSpace α] {U V : Opens α} (h : ↑U = ↑V) :
    U = V
    theorem TopologicalSpace.Opens.ext_iff {α : Type u_2} [TopologicalSpace α] {U V : Opens α} :
    U = V ↔ ↑U = ↑V
    theorem TopologicalSpace.Opens.coe_inj {α : Type u_2} [TopologicalSpace α] {U V : Opens α} :
    ↑U = ↑V ↔ U = V
    @[reducible, inline]
    abbrev TopologicalSpace.Opens.inclusion {α : Type u_2} [TopologicalSpace α] {U V : Opens α} (h : U ≤ V) :
    ↥U → ↥V

    A version of Set.inclusion not requiring definitional abuse

    Equations
    Instances For
      @[simp]
      theorem TopologicalSpace.Opens.mk_coe {α : Type u_2} [TopologicalSpace α] (U : Opens α) :
      { carrier := ↑U, is_open' := ⋯ } = U

      See Note [custom simps projection].

      Equations
      Instances For

        The interior of a set, as an element of Opens.

        Equations
        Instances For
          @[simp]

          The Galois coinsertion between sets and opens.

          Equations
          Instances For
            @[instance_reducible]
            Equations
            • One or more equations did not get rendered due to their size.
            @[simp]
            theorem TopologicalSpace.Opens.mk_inf_mk {α : Type u_2} [TopologicalSpace α] {U V : Set α} {hU : IsOpen U} {hV : IsOpen V} :
            { carrier := U, is_open' := hU } ⊓ { carrier := V, is_open' := hV } = { carrier := U ⊓ V, is_open' := ⋯ }
            @[simp]
            theorem TopologicalSpace.Opens.coe_inf {α : Type u_2} [TopologicalSpace α] (s t : Opens α) :
            ↑(s ⊓ t) = ↑s ∩ ↑t
            @[simp]
            theorem TopologicalSpace.Opens.mem_inf {α : Type u_2} [TopologicalSpace α] {s t : Opens α} {x : α} :
            x ∈ s ⊓ t ↔ x ∈ s ∧ x ∈ t
            @[simp]
            theorem TopologicalSpace.Opens.coe_sup {α : Type u_2} [TopologicalSpace α] (s t : Opens α) :
            ↑(s ⊔ t) = ↑s ∪ ↑t
            @[simp]
            theorem TopologicalSpace.Opens.mem_sup {α : Type u_2} [TopologicalSpace α] {s t : Opens α} {x : α} :
            x ∈ s ⊔ t ↔ x ∈ s ∨ x ∈ t
            @[simp]
            @[simp]
            theorem TopologicalSpace.Opens.mk_empty {α : Type u_2} [TopologicalSpace α] :
            { carrier := ∅, is_open' := ⋯ } = ⊥
            @[simp]
            theorem TopologicalSpace.Opens.coe_eq_empty {α : Type u_2} [TopologicalSpace α] {U : Opens α} :
            ↑U = ∅ ↔ U = ⊥
            @[simp]
            theorem TopologicalSpace.Opens.mem_top {α : Type u_2} [TopologicalSpace α] (x : α) :
            @[simp]
            theorem TopologicalSpace.Opens.mk_univ {α : Type u_2} [TopologicalSpace α] :
            { carrier := Set.univ, is_open' := ⋯ } = ⊤
            @[simp]
            @[simp]
            theorem TopologicalSpace.Opens.coe_sSup {α : Type u_2} [TopologicalSpace α] {S : Set (Opens α)} :
            ↑(sSup S) = ⋃ i ∈ S, ↑i
            @[simp]
            theorem TopologicalSpace.Opens.coe_finset_sup {ι : Type u_1} {α : Type u_2} [TopologicalSpace α] (f : ι → Opens α) (s : Finset ι) :
            ↑(s.sup f) = s.sup (SetLike.coe ∘ f)
            @[simp]
            theorem TopologicalSpace.Opens.coe_finset_inf {ι : Type u_1} {α : Type u_2} [TopologicalSpace α] (f : ι → Opens α) (s : Finset ι) :
            ↑(s.inf f) = s.inf (SetLike.coe ∘ f)
            @[simp]
            theorem TopologicalSpace.Opens.coe_disjoint {α : Type u_2} [TopologicalSpace α] {s t : Opens α} :
            Disjoint ↑s ↑t ↔ Disjoint s t
            @[instance_reducible]
            Equations
            @[simp]
            theorem TopologicalSpace.Opens.coe_iSup {α : Type u_2} [TopologicalSpace α] {ι : Sort u_5} (s : ι → Opens α) :
            ↑(⨆ (i : ι), s i) = ⋃ (i : ι), ↑(s i)
            theorem TopologicalSpace.Opens.coe_iInf {α : Type u_2} [TopologicalSpace α] {ι : Type u_5} [Finite ι] (U : ι → Opens α) :
            ↑(⨅ (i : ι), U i) = ⋂ (i : ι), ↑(U i)
            theorem TopologicalSpace.Opens.iSup_def {α : Type u_2} [TopologicalSpace α] {ι : Sort u_5} (s : ι → Opens α) :
            ⨆ (i : ι), s i = { carrier := ⋃ (i : ι), ↑(s i), is_open' := ⋯ }
            @[simp]
            theorem TopologicalSpace.Opens.iSup_mk {α : Type u_2} [TopologicalSpace α] {ι : Sort u_5} (s : ι → Set α) (h : ∀ (i : ι), IsOpen (s i)) :
            ⨆ (i : ι), { carrier := s i, is_open' := ⋯ } = { carrier := ⋃ (i : ι), s i, is_open' := ⋯ }
            @[simp]
            theorem TopologicalSpace.Opens.mem_iSup {α : Type u_2} [TopologicalSpace α] {ι : Sort u_5} {x : α} {s : ι → Opens α} :
            x ∈ iSup s ↔ ∃ (i : ι), x ∈ s i
            @[simp]
            theorem TopologicalSpace.Opens.mem_sSup {α : Type u_2} [TopologicalSpace α] {Us : Set (Opens α)} {x : α} :
            x ∈ sSup Us ↔ ∃ u ∈ Us, x ∈ u
            @[instance_reducible]
            Equations
            • One or more equations did not get rendered due to their size.
            theorem TopologicalSpace.Opens.mem_himp {α : Type u_2} [TopologicalSpace α] {U V : Opens α} {x : α} :
            x ∈ U ⇨ V ↔ ∃ (W : Opens α), W ⊓ U ≤ V ∧ x ∈ W
            theorem TopologicalSpace.Opens.himp_def {α : Type u_2} [TopologicalSpace α] {U V : Opens α} :
            U ⇨ V = Opens.interior (↑U ⇨ ↑V)
            theorem TopologicalSpace.Opens.coe_himp {α : Type u_2} [TopologicalSpace α] {U V : Opens α} :
            ↑(U ⇨ V) = interior (↑U ⇨ ↑V)
            theorem TopologicalSpace.Opens.mem_compl {α : Type u_2} [TopologicalSpace α] {U : Opens α} {x : α} :
            x ∈ Uᶜ ↔ ∃ (V : Opens α), Disjoint V U ∧ x ∈ V

            The coercion from open sets to sets as a FrameHom.

            Equations
            Instances For
              @[simp]
              theorem TopologicalSpace.Opens.frameHom_toFun {α : Type u_2} [TopologicalSpace α] (x✝ : Opens α) :
              Opens.frameHom x✝ = ↑x✝

              A set of opens α is a basis if the set of corresponding sets is a topological basis.

              Equations
              Instances For
                theorem TopologicalSpace.Opens.isBasis_iff_nbhd {α : Type u_2} [TopologicalSpace α] {B : Set (Opens α)} :
                IsBasis B ↔ ∀ {U : Opens α} {x : α}, x ∈ U → ∃ U' ∈ B, x ∈ U' ∧ U' ≤ U
                theorem TopologicalSpace.Opens.isBasis_iff_cover {α : Type u_2} [TopologicalSpace α] {B : Set (Opens α)} :
                IsBasis B ↔ ∀ (U : Opens α), ∃ Us ⊆ B, U = sSup Us
                theorem TopologicalSpace.Opens.IsBasis.exists_iSup_eq {X : Type u} [TopologicalSpace X] {ι : Type u_5} {U : ι → Opens X} (hU : IsBasis (Set.range U)) (W : Opens X) :
                ∃ (κ : Type u) (a : κ → ι), W = ⨆ (k : κ), U (a k)
                theorem TopologicalSpace.Opens.IsBasis.exists_iSup_eq_of_isCompact {X : Type u} [TopologicalSpace X] {ι : Type u_5} {U : ι → Opens X} (hU : IsBasis (Set.range U)) (W : Opens X) (hW : IsCompact W.carrier) :
                ∃ (κ : Type u) (_ : Finite κ) (a : κ → ι), W = ⨆ (k : κ), U (a k)
                theorem TopologicalSpace.Opens.IsBasis.isCompact_open_iff_eq_finite_iUnion {α : Type u_2} [TopologicalSpace α] {ι : Type u_5} (b : ι → Opens α) (hb : IsBasis (Set.range b)) (hb' : ∀ (i : ι), IsCompact ↑(b i)) (U : Set α) :
                IsCompact U ∧ IsOpen U ↔ ∃ (s : Set ι), s.Finite ∧ U = ⋃ i ∈ s, ↑(b i)

                If α has a basis consisting of compact opens, then an open set in α is compact open iff it is a finite union of some elements in the basis

                theorem TopologicalSpace.Opens.IsBasis.exists_finite_of_isCompact {α : Type u_2} [TopologicalSpace α] {B : Set (Opens α)} (hB : IsBasis B) {U : Opens α} (hU : IsCompact U.carrier) :
                ∃ Us ⊆ B, Us.Finite ∧ U = sSup Us
                theorem TopologicalSpace.Opens.IsBasis.le_iff {α : Type u_5} {t₁ t₂ : TopologicalSpace α} {Us : Set (Opens α)} (hUs : IsBasis Us) :
                t₁ ≤ t₂ ↔ ∀ U ∈ Us, IsOpen ↑U
                theorem TopologicalSpace.Opens.isBasis_sigma {ι : Type u_5} {α : ι → Type u_6} [(i : ι) → TopologicalSpace (α i)] {B : (i : ι) → Set (Opens (α i))} (hB : ∀ (i : ι), IsBasis (B i)) :
                IsBasis (⋃ (i : ι), (fun (U : Opens (α i)) => { carrier := Sigma.mk i '' U.carrier, is_open' := ⋯ }) '' B i)
                theorem TopologicalSpace.Opens.IsBasis.of_isInducing {α : Type u_2} {β : Type u_3} [TopologicalSpace α] [TopologicalSpace β] {B : Set (Opens β)} (H : IsBasis B) {f : α → β} (h : Topology.IsInducing f) :
                IsBasis {x : Opens α | ∃ U ∈ B, { carrier := f ⁻¹' ↑U, is_open' := ⋯ } = x}
                def TopologicalSpace.Opens.comap {α : Type u_2} {β : Type u_3} [TopologicalSpace α] [TopologicalSpace β] (f : C(α, β)) :
                FrameHom (Opens β) (Opens α)

                The preimage of an open set, as an open set.

                Equations
                Instances For
                  theorem TopologicalSpace.Opens.comap_mono {α : Type u_2} {β : Type u_3} [TopologicalSpace α] [TopologicalSpace β] (f : C(α, β)) {s t : Opens β} (h : s ≤ t) :
                  (comap f) s ≤ (comap f) t
                  @[simp]
                  theorem TopologicalSpace.Opens.coe_comap {α : Type u_2} {β : Type u_3} [TopologicalSpace α] [TopologicalSpace β] (f : C(α, β)) (U : Opens β) :
                  ↑((comap f) U) = ⇑f ⁻¹' ↑U
                  @[simp]
                  theorem TopologicalSpace.Opens.mem_comap {α : Type u_2} {β : Type u_3} [TopologicalSpace α] [TopologicalSpace β] {f : C(α, β)} {U : Opens β} {x : α} :
                  x ∈ (comap f) U ↔ f x ∈ U
                  theorem TopologicalSpace.Opens.comap_comp {α : Type u_2} {β : Type u_3} {γ : Type u_4} [TopologicalSpace α] [TopologicalSpace β] [TopologicalSpace γ] (g : C(β, γ)) (f : C(α, β)) :
                  comap (g.comp f) = (comap f).comp (comap g)
                  theorem TopologicalSpace.Opens.comap_comap {α : Type u_2} {β : Type u_3} {γ : Type u_4} [TopologicalSpace α] [TopologicalSpace β] [TopologicalSpace γ] (g : C(β, γ)) (f : C(α, β)) (U : Opens γ) :
                  (comap f) ((comap g) U) = (comap (g.comp f)) U

                  A homeomorphism induces an order-preserving equivalence on open sets, by taking comaps.

                  Equations
                  Instances For
                    @[simp]
                    @[simp]
                    structure TopologicalSpace.OpenNhdsOf {α : Type u_2} [TopologicalSpace α] (x : α) extends TopologicalSpace.Opens α :
                    Type u_2

                    The open neighborhoods of a point. See also Opens or nhds.

                    Instances For
                      @[instance_reducible]
                      Equations
                      @[instance_reducible]
                      Equations
                      • One or more equations did not get rendered due to their size.
                      instance TopologicalSpace.OpenNhdsOf.canLiftSet {α : Type u_2} [TopologicalSpace α] {x : α} :
                      CanLift (Set α) (OpenNhdsOf x) SetLike.coe fun (s : Set α) => IsOpen s ∧ x ∈ s
                      theorem TopologicalSpace.OpenNhdsOf.mem {α : Type u_2} [TopologicalSpace α] {x : α} (U : OpenNhdsOf x) :
                      x ∈ U
                      theorem TopologicalSpace.OpenNhdsOf.isOpen {α : Type u_2} [TopologicalSpace α] {x : α} (U : OpenNhdsOf x) :
                      IsOpen ↑U
                      @[instance_reducible]
                      Equations
                      @[instance_reducible]
                      Equations
                      @[instance_reducible]
                      Equations
                      @[instance_reducible]
                      Equations
                      @[instance_reducible]
                      Equations
                      • One or more equations did not get rendered due to their size.
                      def TopologicalSpace.OpenNhdsOf.comap {α : Type u_2} {β : Type u_3} [TopologicalSpace α] [TopologicalSpace β] (f : C(α, β)) (x : α) :

                      Preimage of an open neighborhood of f x under a continuous map f as a LatticeHom.

                      Equations
                      • One or more equations did not get rendered due to their size.
                      Instances For