Documentation

Mathlib.Topology.Maps.Strict.Basic

Bourbaki Strict Maps #

This file defines Bourbaki strict maps (Topology.IsStrictMap) and proves some of their basic properties.

A map f : X → Y between topological spaces is called strict in the sense of Bourbaki if the natural corestriction to its image (i.e., Set.rangeFactorization f) is a quotient map. Equivalently, these are precisely the maps for which the first isomorphism theorem yields a homeomorphism: the canonical bijection X ⧸ ker f ≃ range f is a homeomorphism if and only if f is strict. This provides a natural generalization of quotient maps to non-surjective maps.

Many important classes of maps are automatically continuous strict maps, including:

Equivalent characterizations #

We provide several equivalent ways to characterize a strict map f:

Group homomorphisms #

In general, the product (in the sense of Prod.map) of two strict maps need not be strict. But thanks to MonoidHom.isOpenQuotientMap_of_isQuotientMap, we can replace IsQuotientMap by IsOpenQuotientMap in the setting of group homomorphisms. Therefore we provide several important properties of strict group homomorphisms :

def Topology.IsStrictMap {X : Type u_1} {Y : Type u_2} [TopologicalSpace X] [TopologicalSpace Y] (f : XY) :

A map is a strict map in the sense of Bourbaki if the natural map to its image is a quotient map.

Equations
Instances For

    A map is a strict map if and only if the canonical bijection Quotient (Setoid.ker f) ≃ Set.range f is a homeomorphism.

    noncomputable def Topology.Homeomorph.quotientKerEquivRange {X : Type u_1} {Y : Type u_2} [TopologicalSpace X] [TopologicalSpace Y] {f : XY} (hf : IsStrictMap f) :

    The homeomorphism Quotient (Setoid.ker f) ≃ₜ Set.range f given by a strict map f. This is the homeomorphism obtained from the first isomorphism theorem.

    Equations
    Instances For

      A map is a strict map if and only if the canonical injection Quotient (Setoid.ker f) → Y (Setoid.kerLift f) is an embedding.

      theorem Topology.IsStrictMap.continuous {X : Type u_1} {Y : Type u_2} [TopologicalSpace X] [TopologicalSpace Y] {f : XY} (hf : IsStrictMap f) :

      A strict map is continuous, since the range factorization is continuous.

      theorem Topology.IsOpenMap.isStrictMap {X : Type u_1} {Y : Type u_2} [TopologicalSpace X] [TopologicalSpace Y] {f : XY} (ho : IsOpenMap f) (h_cont : Continuous f) :

      A open continuous map is a strict map.

      theorem Topology.IsClosedMap.isStrictMap {X : Type u_1} {Y : Type u_2} [TopologicalSpace X] [TopologicalSpace Y] {f : XY} (hc : IsClosedMap f) (h_cont : Continuous f) :

      A closed continuous map is a strict map.

      theorem Topology.IsHomeomorph.isStrictMap {X : Type u_1} {Y : Type u_2} [TopologicalSpace X] [TopologicalSpace Y] {f : XY} (f_homeo : IsHomeomorph f) :

      A homeomorphism is a strict map.

      The identity is a strict map.

      theorem Topology.IsQuotientMap.isStrictMap_iff {X : Type u_1} {Y : Type u_2} {Z : Type u_3} [TopologicalSpace X] [TopologicalSpace Y] [TopologicalSpace Z] {f : XY} {g : YZ} (f_quot : IsQuotientMap f) :

      Assume that f : X → Y is a quotient map. Then g : Y → Z is strict if and only if g ∘ f is strict.

      theorem Topology.IsQuotientMap.isStrictMap {X : Type u_1} {Y : Type u_2} [TopologicalSpace X] [TopologicalSpace Y] {f : XY} (f_quot : IsQuotientMap f) :

      A quotient map is strict. See also isQuotientMap_iff_isStrictMap_surjective.

      theorem Topology.IsEmbedding.isStrictMap_iff {X : Type u_1} {Y : Type u_2} {Z : Type u_3} [TopologicalSpace X] [TopologicalSpace Y] [TopologicalSpace Z] {f : XY} {g : YZ} (g_emb : IsEmbedding g) :

      Assume that g : Y → Z is an embedding. Then f : X → Y is strict if and only if g ∘ f is strict.

      theorem Topology.IsEmbedding.isStrictMap {X : Type u_1} {Y : Type u_2} [TopologicalSpace X] [TopologicalSpace Y] {f : XY} (f_emb : IsEmbedding f) :

      An embedding is strict. See also isEmbedding_iff_isStrictMap_injective.

      Quotient maps are precisely surjective strict maps.

      Embeddings are precisely injective strict maps.

      theorem Topology.Homeomorph.isStrictMap_comp_iff {X : Type u_1} {Y : Type u_2} {Z : Type u_3} [TopologicalSpace X] [TopologicalSpace Y] [TopologicalSpace Z] (e : X ≃ₜ Y) {f : YZ} :

      Strict maps are preserved when precomposing with a homeomorphism.

      theorem Topology.Homeomorph.comp_isStrictMap_iff {X : Type u_1} {Y : Type u_2} {Z : Type u_3} [TopologicalSpace X] [TopologicalSpace Y] [TopologicalSpace Z] (e : Y ≃ₜ Z) {f : XY} :

      Strict maps are preserved when postcomposing with a homeomorphism.

      A group homomorphism is strict if and only if its rangeRestrict is an open quotient map.

      The product (in the sense of Prod.map) of group homomorphisms is strict if and only if each of the morphisms is strict.

      theorem MonoidHom.isStrictMap_prodMap {G : Type u_1} {H : Type u_2} {G' : Type u_3} {H' : Type u_4} [Group G'] [Group H'] [Group G] [Group H] {f : G →* H} {g : G' →* H'} [TopologicalSpace G] [IsTopologicalGroup G] [TopologicalSpace H] [TopologicalSpace G'] [IsTopologicalGroup G'] [TopologicalSpace H'] (hf : Topology.IsStrictMap f) (hg : Topology.IsStrictMap g) :

      The product (in the sense of Prod.map) of strict group homomorphisms is strict