Documentation

TauCeti.Topology.Category.TopCat.Pushout

Maps and homotopies out of pushouts in TopCat #

Let P = Z ∪_a Y be a pushout square in TopCat, with maps i : B → Y, a : B → Z, j : Y → P and k : Z → P. Continuous maps out of P are determined by their restrictions to Y and to Z. Since the unit interval I is locally compact, the cylinder I × P is again a pushout: a map out of I × P is glued from maps out of I × Y and I × Z which agree along a, as the uncurried form of the map P → C(I, W) glued from the curried ones. In particular, homotopies between maps out of P are glued from homotopies on Y and on Z.

Conversely, a space covered by a closed subspace A and finitely many closed pieces B k, any two of which meet only inside A, is the pushout of A and the coproduct of the B k along the parts S k where they meet A. This recognizes a space built by attaching finitely many closed pieces, such as cells or handles, without passing through a quotient. Without the covering hypothesis, a map out of such a pushout which restricts to closed embeddings on A and on finitely many pieces B k, any two of which meet only inside A, and meeting A only along the S k, is still a closed embedding.

Main declarations #

theorem CategoryTheory.IsPushout.w_apply {B Y Z P : TopCat} {i : B ⟶ Y} {a : B ⟶ Z} {j : Y ⟶ P} {k : Z ⟶ P} (h : IsPushout i a j k) (b : ↑B) :

The pointwise form of the commutativity of a pushout square in TopCat.

theorem CategoryTheory.IsPushout.continuousMap_ext {B Y Z P : TopCat} {i : B ⟶ Y} {a : B ⟶ Z} {j : Y ⟶ P} {k : Z ⟶ P} {W : Type u} [TopologicalSpace W] (h : IsPushout i a j k) {f g : C(↑P, W)} (hj : ∀ (y : ↑Y), f ((ConcreteCategory.hom j) y) = g ((ConcreteCategory.hom j) y)) (hk : ∀ (z : ↑Z), f ((ConcreteCategory.hom k) z) = g ((ConcreteCategory.hom k) z)) :
f = g

Two continuous maps out of a pushout in TopCat agree as soon as they agree on both legs.

noncomputable def CategoryTheory.IsPushout.cylinderDesc {B Y Z P : TopCat} {i : B ⟶ Y} {a : B ⟶ Z} {j : Y ⟶ P} {k : Z ⟶ P} {W : Type u} [TopologicalSpace W] (h : IsPushout i a j k) (F : C(↑unitInterval × ↑Y, W)) (G : C(↑unitInterval × ↑Z, W)) (hFG : ∀ (t : ↑unitInterval) (b : ↑B), F (t, (ConcreteCategory.hom i) b) = G (t, (ConcreteCategory.hom a) b)) :

The map out of the cylinder I × P on a pushout P = Z ∪_a Y glued from maps F : I × Y → W and G : I × Z → W which agree along the attaching map. Since I is locally compact, it is the uncurried map out of P glued from the curried maps into C(I, W); this is the form in which homotopies are glued on P.

Instances For
    @[simp]
    theorem CategoryTheory.IsPushout.cylinderDesc_inl {B Y Z P : TopCat} {i : B ⟶ Y} {a : B ⟶ Z} {j : Y ⟶ P} {k : Z ⟶ P} {W : Type u} [TopologicalSpace W] (h : IsPushout i a j k) (F : C(↑unitInterval × ↑Y, W)) (G : C(↑unitInterval × ↑Z, W)) (hFG : ∀ (t : ↑unitInterval) (b : ↑B), F (t, (ConcreteCategory.hom i) b) = G (t, (ConcreteCategory.hom a) b)) (t : ↑unitInterval) (y : ↑Y) :
    (h.cylinderDesc F G hFG) (t, (ConcreteCategory.hom j) y) = F (t, y)

    On the cylinder over Y, the glued map CategoryTheory.IsPushout.cylinderDesc is F.

    @[simp]
    theorem CategoryTheory.IsPushout.cylinderDesc_inr {B Y Z P : TopCat} {i : B ⟶ Y} {a : B ⟶ Z} {j : Y ⟶ P} {k : Z ⟶ P} {W : Type u} [TopologicalSpace W] (h : IsPushout i a j k) (F : C(↑unitInterval × ↑Y, W)) (G : C(↑unitInterval × ↑Z, W)) (hFG : ∀ (t : ↑unitInterval) (b : ↑B), F (t, (ConcreteCategory.hom i) b) = G (t, (ConcreteCategory.hom a) b)) (t : ↑unitInterval) (z : ↑Z) :
    (h.cylinderDesc F G hFG) (t, (ConcreteCategory.hom k) z) = G (t, z)

    On the cylinder over Z, the glued map CategoryTheory.IsPushout.cylinderDesc is G.

    theorem CategoryTheory.IsPushout.cylinderDesc_apply_eq {B Y Z P : TopCat} {i : B ⟶ Y} {a : B ⟶ Z} {j : Y ⟶ P} {k : Z ⟶ P} {W : Type u} [TopologicalSpace W] (h : IsPushout i a j k) (F : C(↑unitInterval × ↑Y, W)) (G : C(↑unitInterval × ↑Z, W)) (hFG : ∀ (t : ↑unitInterval) (b : ↑B), F (t, (ConcreteCategory.hom i) b) = G (t, (ConcreteCategory.hom a) b)) (t : ↑unitInterval) {w : C(↑P, W)} (hY : ∀ (y : ↑Y), F (t, y) = w ((ConcreteCategory.hom j) y)) (hZ : ∀ (z : ↑Z), G (t, z) = w ((ConcreteCategory.hom k) z)) (p : ↑P) :
    (h.cylinderDesc F G hFG) (t, p) = w p

    A slice of the glued map CategoryTheory.IsPushout.cylinderDesc is the map out of P which agrees with the corresponding slices of F and G on both legs.

    noncomputable def CategoryTheory.IsPushout.homotopyDesc {B Y Z P : TopCat} {i : B ⟶ Y} {a : B ⟶ Z} {j : Y ⟶ P} {k : Z ⟶ P} {W : Type u} [TopologicalSpace W] (h : IsPushout i a j k) {f g : C(↑P, W)} (HY : (f.comp (TopCat.Hom.hom j)).Homotopy (g.comp (TopCat.Hom.hom j))) (HZ : (f.comp (TopCat.Hom.hom k)).Homotopy (g.comp (TopCat.Hom.hom k))) (hYZ : ∀ (t : ↑unitInterval) (b : ↑B), HY (t, (ConcreteCategory.hom i) b) = HZ (t, (ConcreteCategory.hom a) b)) :

    The homotopy between two maps out of a pushout P = Z ∪_a Y glued from homotopies of their restrictions to Y and to Z which agree along the attaching map.

    Instances For
      @[simp]
      theorem CategoryTheory.IsPushout.homotopyDesc_apply_inl {B Y Z P : TopCat} {i : B ⟶ Y} {a : B ⟶ Z} {j : Y ⟶ P} {k : Z ⟶ P} {W : Type u} [TopologicalSpace W] (h : IsPushout i a j k) {f g : C(↑P, W)} (HY : (f.comp (TopCat.Hom.hom j)).Homotopy (g.comp (TopCat.Hom.hom j))) (HZ : (f.comp (TopCat.Hom.hom k)).Homotopy (g.comp (TopCat.Hom.hom k))) (hYZ : ∀ (t : ↑unitInterval) (b : ↑B), HY (t, (ConcreteCategory.hom i) b) = HZ (t, (ConcreteCategory.hom a) b)) (t : ↑unitInterval) (y : ↑Y) :
      (h.homotopyDesc HY HZ hYZ) (t, (ConcreteCategory.hom j) y) = HY (t, y)

      On Y, the glued homotopy CategoryTheory.IsPushout.homotopyDesc is HY.

      @[simp]
      theorem CategoryTheory.IsPushout.homotopyDesc_apply_inr {B Y Z P : TopCat} {i : B ⟶ Y} {a : B ⟶ Z} {j : Y ⟶ P} {k : Z ⟶ P} {W : Type u} [TopologicalSpace W] (h : IsPushout i a j k) {f g : C(↑P, W)} (HY : (f.comp (TopCat.Hom.hom j)).Homotopy (g.comp (TopCat.Hom.hom j))) (HZ : (f.comp (TopCat.Hom.hom k)).Homotopy (g.comp (TopCat.Hom.hom k))) (hYZ : ∀ (t : ↑unitInterval) (b : ↑B), HY (t, (ConcreteCategory.hom i) b) = HZ (t, (ConcreteCategory.hom a) b)) (t : ↑unitInterval) (z : ↑Z) :
      (h.homotopyDesc HY HZ hYZ) (t, (ConcreteCategory.hom k) z) = HZ (t, z)

      On Z, the glued homotopy CategoryTheory.IsPushout.homotopyDesc is HZ.

      theorem TopCat.exists_sigma_ι_eq {J : Type u} (F : J → TopCat) (z : ↑(∐ F)) :

      Every point of a coproduct in TopCat lies in the image of one of the coprojections.

      noncomputable def TopCat.sigmaCylinderDesc {J : Type u} {F : J → TopCat} {W : Type u} [TopologicalSpace W] (C : (j : J) → C(↑unitInterval × ↑(F j), W)) :
      C(↑unitInterval × ↑(∐ F), W)

      The map I × ∐ⱼ F j → W which is C j on the cylinder I × F j: the uncurried form of the map ∐ⱼ F j → C(I, W) glued from the curried maps.

      Instances For
        @[simp]
        theorem TopCat.sigmaCylinderDesc_ι {J : Type u} {F : J → TopCat} {W : Type u} [TopologicalSpace W] (C : (j : J) → C(↑unitInterval × ↑(F j), W)) (t : ↑unitInterval) (j : J) (x : ↑(F j)) :
        theorem TopCat.exists_glue_of_isClosedEmbedding {ι : Type u_1} [Finite ι] {A X Y : TopCat} {B : ι → TopCat} {i : A ⟶ X} {j : (k : ι) → B k ⟶ X} (hi : Topology.IsClosedEmbedding ⇑(CategoryTheory.ConcreteCategory.hom i)) (hj : ∀ (k : ι), Topology.IsClosedEmbedding ⇑(CategoryTheory.ConcreteCategory.hom (j k))) (hcover : Set.range ⇑(CategoryTheory.ConcreteCategory.hom i) ∪ ⋃ (k : ι), Set.range ⇑(CategoryTheory.ConcreteCategory.hom (j k)) = Set.univ) (hjj : Pairwise fun (k l : ι) => Set.range ⇑(CategoryTheory.ConcreteCategory.hom (j k)) ∩ Set.range ⇑(CategoryTheory.ConcreteCategory.hom (j l)) ⊆ Set.range ⇑(CategoryTheory.ConcreteCategory.hom i)) (a : A ⟶ Y) (b : (k : ι) → B k ⟶ Y) (hab : ∀ (k : ι) (x : ↑A) (y : ↑(B k)), (CategoryTheory.ConcreteCategory.hom i) x = (CategoryTheory.ConcreteCategory.hom (j k)) y → (CategoryTheory.ConcreteCategory.hom a) x = (CategoryTheory.ConcreteCategory.hom (b k)) y) :
        ∃ (d : X ⟶ Y), CategoryTheory.CategoryStruct.comp i d = a ∧ ∀ (k : ι), CategoryTheory.CategoryStruct.comp (j k) d = b k

        Gluing along a finite closed cover. Let X be covered by the ranges of a closed embedding i : A ⟶ X and of finitely many closed embeddings j k : B k ⟶ X, any two of which meet only inside the range of i. Maps a : A ⟶ Y and b k : B k ⟶ Y which agree wherever i meets j k glue to a map X ⟶ Y restricting to a along i and to b k along j k.

        theorem CategoryTheory.IsPushout.of_isClosedEmbedding {ι : Type u} [Finite ι] {S B : ι → TopCat} {A X : TopCat} {g : (k : ι) → S k ⟶ A} {m : (k : ι) → S k ⟶ B k} {i : A ⟶ X} {j : (k : ι) → B k ⟶ X} (w : ∀ (k : ι), CategoryStruct.comp (g k) i = CategoryStruct.comp (m k) (j k)) (hi : Topology.IsClosedEmbedding ⇑(ConcreteCategory.hom i)) (hj : ∀ (k : ι), Topology.IsClosedEmbedding ⇑(ConcreteCategory.hom (j k))) (hcover : Set.range ⇑(ConcreteCategory.hom i) ∪ ⋃ (k : ι), Set.range ⇑(ConcreteCategory.hom (j k)) = Set.univ) (hjj : Pairwise fun (k l : ι) => Set.range ⇑(ConcreteCategory.hom (j k)) ∩ Set.range ⇑(ConcreteCategory.hom (j l)) ⊆ Set.range ⇑(ConcreteCategory.hom i)) (hij : ∀ (k : ι) (a : ↑A) (b : ↑(B k)), (ConcreteCategory.hom i) a = (ConcreteCategory.hom (j k)) b → ∃ (s : ↑(S k)), (ConcreteCategory.hom (g k)) s = a ∧ (ConcreteCategory.hom (m k)) s = b) :

        A finite closed cover is a pushout. Let X be covered by the ranges of a closed embedding i : A ⟶ X and of finitely many closed embeddings j k : B k ⟶ X, any two of which meet only inside the range of i. Suppose that i meets each j k exactly along S k: the squares g k ≫ i = m k ≫ j k commute, and every point i a = j k b comes from a point s of S k with g k s = a and m k s = b. Then X is the pushout of A and ∐ₖ B k along ∐ₖ S k.

        For instance, a space which is the union of a closed subspace and finitely many disjoint closed handles, each meeting the subspace in its attaching region, is obtained by attaching the handles.

        Every point of a pushout of L and ⨆ᵢ D i comes from L or from one of the D i.

        theorem TauCeti.TopCat.exists_eq_inl_or_exists_eq_inr_of_isPushout_sigma {ι : Type u} {D : ι → TopCat} {L P : TopCat} {inl : L ⟶ P} {inr : ∐ D ⟶ P} {W : TopCat} {f : W ⟶ L} {h : W ⟶ ∐ D} (sq : CategoryTheory.IsPushout f h inl inr) (y : ↑P) :

        Every point of a pushout of L and ⨆ᵢ D i is the image of a point of L or of one of the D i. This is the pointwise form of TauCeti.TopCat.range_union_iUnion_range_of_isPushout_sigma.

        Let P be the pushout of L and ⨆ᵢ D i along ⨆ᵢ A i, and let φ : P ⟶ X restrict to injective maps g on L and χ i on the D i, with the ranges of any two χ i meeting only inside the range of g. If every point of D i carried by χ i into the range of g lies in the range of j i, then φ is injective.

        Let P be the pushout of L and ⨆ᵢ D i along ⨆ᵢ A i, for finitely many i, and let φ : P ⟶ X restrict to closed embeddings g on L and χ i on the D i, with the ranges of any two χ i meeting only inside the range of g. If every point of D i carried by χ i into the range of g lies in the range of j i, then φ is a closed embedding.