Documentation

TauCeti.AlgebraicTopology.FundamentalGroup.VanKampen.Basic

The based Seifert--van Kampen theorem #

Suppose that the interiors of two sets A and B cover a space X, that A, B and A ∩ B are path connected, and that all three contain a basepoint x. This file proves that the square of fundamental groups induced by the inclusions

π₁(A ∩ B, x) ⟶ π₁(A, x)
     ↓             ↓
π₁(B, x)    ⟶  π₁(X, x)

is a pushout of groups: π₁(X, x) is the amalgamated free product of π₁(A, x) and π₁(B, x) over π₁(A ∩ B, x). When A ∩ B is moreover simply connected, the amalgamation is trivial and the canonical map π₁(A, x) ∗ π₁(B, x) →* π₁(X, x) from the free product is an isomorphism.

The same holds for a family of sets U i, with interiors covering X, whose pairwise intersections are all one path-connected set C ∋ x: π₁(X, x) is the wide pushout of the groups π₁(U i, x) over π₁(C, x), and their free product when C is simply connected. This is the form of the theorem that computes the fundamental group of a wedge sum, where U i is the i-th summand together with a contractible neighbourhood C of the wedge point.

The homomorphism out of π₁(X, x) induced by compatible homomorphisms fA and fB out of π₁(A, x) and π₁(B, x) is built from the fundamental-groupoid gluing theorem for two sets, TauCeti.FundamentalGroupoid.glueTwo. Choose for every point z of A a morphism from x to z in the fundamental groupoid of A, taken inside A ∩ B whenever z ∈ A ∩ B, and similarly for B. Conjugating by these morphisms turns fA and fB into functors out of the fundamental groupoids of A and B; on A ∩ B both functors are induced by the common restriction of fA and fB to π₁(A ∩ B, x), so they glue. Uniqueness is the generation half of van Kampen, TauCeti.FundamentalGroup.range_map_subtypeVal_sup_eq_top.

Main declarations #

References #

noncomputable def TauCeti.vanKampenDesc {X : Type u_1} [TopologicalSpace X] {A B : Set X} {x : X} {K : Type u_2} [Monoid K] (hCover : interior A ∪ interior B = Set.univ) (hA : IsPathConnected A) (hB : IsPathConnected B) (hAB : IsPathConnected (A ∩ B)) (hxA : x ∈ A) (hxB : x ∈ B) (fA : FundamentalGroup ↑A ⟨x, hxA⟩ →* K) (fB : FundamentalGroup ↑B ⟨x, hxB⟩ →* K) (h : fA.comp (FundamentalGroup.map (ContinuousMap.inclusion ⋯) ⟨x, ⋯⟩) = fB.comp (FundamentalGroup.map (ContinuousMap.inclusion ⋯) ⟨x, ⋯⟩)) :

The homomorphism out of π₁(X, x) given by the based Seifert--van Kampen theorem.

If the interiors of A and B cover X and A, B and A ∩ B are path connected, then two homomorphisms out of π₁(A, x) and π₁(B, x) which agree on π₁(A ∩ B, x) are the restrictions of this homomorphism out of π₁(X, x) (TauCeti.vanKampenDesc_map_left, TauCeti.vanKampenDesc_map_right); it is the unique such homomorphism (TauCeti.vanKampen_hom_ext).

Equations
  • One or more equations did not get rendered due to their size.
Instances For
    theorem TauCeti.vanKampenDesc_map_left {X : Type u_1} [TopologicalSpace X] {A B : Set X} {x : X} {K : Type u_2} [Monoid K] (hCover : interior A ∪ interior B = Set.univ) (hA : IsPathConnected A) (hB : IsPathConnected B) (hAB : IsPathConnected (A ∩ B)) (hxA : x ∈ A) (hxB : x ∈ B) (fA : FundamentalGroup ↑A ⟨x, hxA⟩ →* K) (fB : FundamentalGroup ↑B ⟨x, hxB⟩ →* K) (h : fA.comp (FundamentalGroup.map (ContinuousMap.inclusion ⋯) ⟨x, ⋯⟩) = fB.comp (FundamentalGroup.map (ContinuousMap.inclusion ⋯) ⟨x, ⋯⟩)) (g : FundamentalGroup ↑A ⟨x, hxA⟩) :
    (vanKampenDesc hCover hA hB hAB hxA hxB fA fB h) ((FundamentalGroup.map (ContinuousMap.subtypeVal A) ⟨x, hxA⟩) g) = fA g

    vanKampenDesc restricts to fA on π₁(A, x).

    theorem TauCeti.vanKampenDesc_map_right {X : Type u_1} [TopologicalSpace X] {A B : Set X} {x : X} {K : Type u_2} [Monoid K] (hCover : interior A ∪ interior B = Set.univ) (hA : IsPathConnected A) (hB : IsPathConnected B) (hAB : IsPathConnected (A ∩ B)) (hxA : x ∈ A) (hxB : x ∈ B) (fA : FundamentalGroup ↑A ⟨x, hxA⟩ →* K) (fB : FundamentalGroup ↑B ⟨x, hxB⟩ →* K) (h : fA.comp (FundamentalGroup.map (ContinuousMap.inclusion ⋯) ⟨x, ⋯⟩) = fB.comp (FundamentalGroup.map (ContinuousMap.inclusion ⋯) ⟨x, ⋯⟩)) (g : FundamentalGroup ↑B ⟨x, hxB⟩) :
    (vanKampenDesc hCover hA hB hAB hxA hxB fA fB h) ((FundamentalGroup.map (ContinuousMap.subtypeVal B) ⟨x, hxB⟩) g) = fB g

    vanKampenDesc restricts to fB on π₁(B, x).

    @[simp]
    theorem TauCeti.vanKampenDesc_comp_map_left {X : Type u_1} [TopologicalSpace X] {A B : Set X} {x : X} {K : Type u_2} [Monoid K] (hCover : interior A ∪ interior B = Set.univ) (hA : IsPathConnected A) (hB : IsPathConnected B) (hAB : IsPathConnected (A ∩ B)) (hxA : x ∈ A) (hxB : x ∈ B) (fA : FundamentalGroup ↑A ⟨x, hxA⟩ →* K) (fB : FundamentalGroup ↑B ⟨x, hxB⟩ →* K) (h : fA.comp (FundamentalGroup.map (ContinuousMap.inclusion ⋯) ⟨x, ⋯⟩) = fB.comp (FundamentalGroup.map (ContinuousMap.inclusion ⋯) ⟨x, ⋯⟩)) :
    (vanKampenDesc hCover hA hB hAB hxA hxB fA fB h).comp (FundamentalGroup.map (ContinuousMap.subtypeVal A) ⟨x, hxA⟩) = fA

    vanKampenDesc restricts to fA on π₁(A, x).

    @[simp]
    theorem TauCeti.vanKampenDesc_comp_map_right {X : Type u_1} [TopologicalSpace X] {A B : Set X} {x : X} {K : Type u_2} [Monoid K] (hCover : interior A ∪ interior B = Set.univ) (hA : IsPathConnected A) (hB : IsPathConnected B) (hAB : IsPathConnected (A ∩ B)) (hxA : x ∈ A) (hxB : x ∈ B) (fA : FundamentalGroup ↑A ⟨x, hxA⟩ →* K) (fB : FundamentalGroup ↑B ⟨x, hxB⟩ →* K) (h : fA.comp (FundamentalGroup.map (ContinuousMap.inclusion ⋯) ⟨x, ⋯⟩) = fB.comp (FundamentalGroup.map (ContinuousMap.inclusion ⋯) ⟨x, ⋯⟩)) :
    (vanKampenDesc hCover hA hB hAB hxA hxB fA fB h).comp (FundamentalGroup.map (ContinuousMap.subtypeVal B) ⟨x, hxB⟩) = fB

    vanKampenDesc restricts to fB on π₁(B, x).

    theorem TauCeti.vanKampen_hom_ext {X : Type u_1} [TopologicalSpace X] {A B : Set X} {x : X} {K : Type u_2} [Monoid K] (hCover : interior A ∪ interior B = Set.univ) (hA : IsPathConnected A) (hB : IsPathConnected B) (hAB : IsPathConnected (A ∩ B)) (hxA : x ∈ A) (hxB : x ∈ B) {f g : FundamentalGroup X x →* K} (hfgA : f.comp (FundamentalGroup.map (ContinuousMap.subtypeVal A) ⟨x, hxA⟩) = g.comp (FundamentalGroup.map (ContinuousMap.subtypeVal A) ⟨x, hxA⟩)) (hfgB : f.comp (FundamentalGroup.map (ContinuousMap.subtypeVal B) ⟨x, hxB⟩) = g.comp (FundamentalGroup.map (ContinuousMap.subtypeVal B) ⟨x, hxB⟩)) :
    f = g

    Uniqueness in the based Seifert--van Kampen theorem. If the interiors of A and B cover X and A, B and A ∩ B are path connected, then two homomorphisms out of π₁(X, x) which agree on the images of π₁(A, x) and π₁(B, x) are equal.

    The based Seifert--van Kampen theorem. If the interiors of A and B cover X, the sets A, B and A ∩ B are path connected, and all three contain the basepoint x, then the square of fundamental groups induced by the inclusions of A ∩ B into A and B and of A and B into X is a pushout of groups. That is, π₁(X, x) is the free product of π₁(A, x) and π₁(B, x) amalgamated over π₁(A ∩ B, x).

    noncomputable def TauCeti.vanKampenLift {X : Type u_1} [TopologicalSpace X] (A B : Set X) (x : X) (hxA : x ∈ A) (hxB : x ∈ B) :

    The canonical homomorphism from the free product of the fundamental groups of two subspaces to the fundamental group of the ambient space.

    Equations
    Instances For

      The canonical free-product map is the lift of the two inclusion-induced homomorphisms.

      @[simp]
      theorem TauCeti.vanKampenLift_apply_inl {X : Type u_1} [TopologicalSpace X] (A B : Set X) (x : X) (hxA : x ∈ A) (hxB : x ∈ B) {g : FundamentalGroup ↑A ⟨x, hxA⟩} :

      vanKampenLift restricts on the left factor to the map induced by inclusion.

      @[simp]
      theorem TauCeti.vanKampenLift_apply_inr {X : Type u_1} [TopologicalSpace X] (A B : Set X) (x : X) (hxA : x ∈ A) (hxB : x ∈ B) {g : FundamentalGroup ↑B ⟨x, hxB⟩} :

      vanKampenLift restricts on the right factor to the map induced by inclusion.

      theorem TauCeti.vanKampenLift_surjective {X : Type u_1} [TopologicalSpace X] {A B : Set X} {x : X} (hxA : x ∈ A) (hxB : x ∈ B) (hCover : interior A ∪ interior B = Set.univ) (hA : IsPathConnected A) (hB : IsPathConnected B) (hAB : IsPathConnected (A ∩ B)) :

      The generation half of the based van Kampen theorem. Every loop class is an image of an element of the free product of the two subspace groups.

      theorem TauCeti.vanKampenLift_bijective {X : Type u_1} [TopologicalSpace X] {A B : Set X} {x : X} (hCover : interior A ∪ interior B = Set.univ) (hA : IsPathConnected A) (hB : IsPathConnected B) (hAB : IsSimplyConnected (A ∩ B)) (hxA : x ∈ A) (hxB : x ∈ B) :

      The based Seifert--van Kampen theorem for a simply connected overlap.

      If the interiors of two path-connected sets cover X, their intersection is simply connected, and both contain the basepoint, then the canonical homomorphism from the free product of their fundamental groups to the fundamental group of X is bijective.

      noncomputable def TauCeti.vanKampenEquiv {X : Type u_1} [TopologicalSpace X] {A B : Set X} {x : X} (hCover : interior A ∪ interior B = Set.univ) (hA : IsPathConnected A) (hB : IsPathConnected B) (hAB : IsSimplyConnected (A ∩ B)) (hxA : x ∈ A) (hxB : x ∈ B) :

      The equivalence in the based Seifert--van Kampen theorem for two path-connected sets with simply connected intersection. Its underlying homomorphism is vanKampenLift.

      Equations
      Instances For
        @[simp]
        theorem TauCeti.vanKampenEquiv_toMonoidHom {X : Type u_1} [TopologicalSpace X] {A B : Set X} {x : X} (hCover : interior A ∪ interior B = Set.univ) (hA : IsPathConnected A) (hB : IsPathConnected B) (hAB : IsSimplyConnected (A ∩ B)) (hxA : x ∈ A) (hxB : x ∈ B) :
        ↑(vanKampenEquiv hCover hA hB hAB hxA hxB) = vanKampenLift A B x hxA hxB

        The homomorphism underlying vanKampenEquiv is vanKampenLift.

        Families of sets with a common pairwise intersection #

        Let U : ι → Set X be a family whose interiors cover X, all of whose members contain a path-connected set C ∋ x, and any two distinct members of which meet exactly in C. Then π₁(X, x) is the wide pushout of the groups π₁(U i, x) over π₁(C, x); when C is simply connected, it is their free product. For two sets, C is A ∩ B. The homomorphism out of π₁(X, x) is built as in the two-set case, gluing with TauCeti.FundamentalGroupoid.glue in place of TauCeti.FundamentalGroupoid.glueTwo.

        noncomputable def TauCeti.vanKampenWideDesc {X : Type u_1} [TopologicalSpace X] {ι : Type u_2} {U : ι → Set X} {C : Set X} {x : X} {K : Type u_3} [Monoid K] (hU : ∀ (y : X), ∃ (i : ι), U i ∈ nhds y) (hUp : ∀ (i : ι), IsPathConnected (U i)) (hC : IsPathConnected C) (hCU : ∀ (i : ι), C ⊆ U i) (hUC : Pairwise fun (i j : ι) => U i ∩ U j ⊆ C) (hx : x ∈ C) (f : (i : ι) → FundamentalGroup ↑(U i) ⟨x, ⋯⟩ →* K) (h : ∀ (i j : ι), (f i).comp (FundamentalGroup.map (ContinuousMap.inclusion ⋯) ⟨x, hx⟩) = (f j).comp (FundamentalGroup.map (ContinuousMap.inclusion ⋯) ⟨x, hx⟩)) :

        The homomorphism out of π₁(X, x) given by the Seifert--van Kampen theorem for a family with a common pairwise intersection.

        Let the sets U i have interiors covering X, be path connected, and contain the path-connected set C ∋ x, and let two distinct members meet inside C. Then homomorphisms out of the groups π₁(U i, x) which agree on π₁(C, x) are the restrictions of this homomorphism out of π₁(X, x) (TauCeti.vanKampenWideDesc_map); it is the unique such homomorphism (TauCeti.vanKampenWide_hom_ext).

        Equations
        • One or more equations did not get rendered due to their size.
        Instances For
          theorem TauCeti.vanKampenWideDesc_map {X : Type u_1} [TopologicalSpace X] {ι : Type u_2} {U : ι → Set X} {C : Set X} {x : X} {K : Type u_3} [Monoid K] (hU : ∀ (y : X), ∃ (i : ι), U i ∈ nhds y) (hUp : ∀ (i : ι), IsPathConnected (U i)) (hC : IsPathConnected C) (hCU : ∀ (i : ι), C ⊆ U i) (hUC : Pairwise fun (i j : ι) => U i ∩ U j ⊆ C) (hx : x ∈ C) (f : (i : ι) → FundamentalGroup ↑(U i) ⟨x, ⋯⟩ →* K) (h : ∀ (i j : ι), (f i).comp (FundamentalGroup.map (ContinuousMap.inclusion ⋯) ⟨x, hx⟩) = (f j).comp (FundamentalGroup.map (ContinuousMap.inclusion ⋯) ⟨x, hx⟩)) (i : ι) (g : FundamentalGroup ↑(U i) ⟨x, ⋯⟩) :
          (vanKampenWideDesc hU hUp hC hCU hUC hx f h) ((FundamentalGroup.map (ContinuousMap.subtypeVal (U i)) ⟨x, ⋯⟩) g) = (f i) g

          vanKampenWideDesc restricts to f i on π₁(U i, x).

          @[simp]
          theorem TauCeti.vanKampenWideDesc_comp_map {X : Type u_1} [TopologicalSpace X] {ι : Type u_2} {U : ι → Set X} {C : Set X} {x : X} {K : Type u_3} [Monoid K] (hU : ∀ (y : X), ∃ (i : ι), U i ∈ nhds y) (hUp : ∀ (i : ι), IsPathConnected (U i)) (hC : IsPathConnected C) (hCU : ∀ (i : ι), C ⊆ U i) (hUC : Pairwise fun (i j : ι) => U i ∩ U j ⊆ C) (hx : x ∈ C) (f : (i : ι) → FundamentalGroup ↑(U i) ⟨x, ⋯⟩ →* K) (h : ∀ (i j : ι), (f i).comp (FundamentalGroup.map (ContinuousMap.inclusion ⋯) ⟨x, hx⟩) = (f j).comp (FundamentalGroup.map (ContinuousMap.inclusion ⋯) ⟨x, hx⟩)) (i : ι) :
          (vanKampenWideDesc hU hUp hC hCU hUC hx f h).comp (FundamentalGroup.map (ContinuousMap.subtypeVal (U i)) ⟨x, ⋯⟩) = f i

          vanKampenWideDesc restricts to f i on π₁(U i, x).

          theorem TauCeti.vanKampenWide_hom_ext {X : Type u_1} [TopologicalSpace X] {ι : Type u_2} {U : ι → Set X} {x : X} {K : Type u_3} [Monoid K] (hU : ∀ (y : X), ∃ (i : ι), U i ∈ nhds y) (hx : ∀ (i : ι), x ∈ U i) (hpc : ∀ (i j : ι), IsPathConnected (U i ∩ U j)) {f g : FundamentalGroup X x →* K} (hfg : ∀ (i : ι), f.comp (FundamentalGroup.map (ContinuousMap.subtypeVal (U i)) ⟨x, ⋯⟩) = g.comp (FundamentalGroup.map (ContinuousMap.subtypeVal (U i)) ⟨x, ⋯⟩)) :
          f = g

          Uniqueness in the Seifert--van Kampen theorem for a family. If the interiors of the sets U i ∋ x cover X and their pairwise intersections are path connected, then two homomorphisms out of π₁(X, x) which agree on the image of every π₁(U i, x) are equal.

          @[reducible, inline]
          noncomputable abbrev TauCeti.fundamentalGroupWideSpan {X : Type u_1} [TopologicalSpace X] {ι : Type u_2} {U : ι → Set X} {C : Set X} {x : X} (hCU : ∀ (i : ι), C ⊆ U i) (hx : x ∈ C) :

          The wide span of fundamental groups of the inclusions of C into the sets U i.

          Equations
          • One or more equations did not get rendered due to their size.
          Instances For
            noncomputable def TauCeti.fundamentalGroupWideCocone {X : Type u_1} [TopologicalSpace X] {ι : Type u_2} {U : ι → Set X} {C : Set X} {x : X} (hCU : ∀ (i : ι), C ⊆ U i) (hx : x ∈ C) :

            The cocone over fundamentalGroupWideSpan with vertex π₁(X, x), whose legs are induced by the inclusions of C and of the sets U i into X.

            Equations
            • One or more equations did not get rendered due to their size.
            Instances For
              @[simp]
              theorem TauCeti.fundamentalGroupWideCocone_pt {X : Type u_1} [TopologicalSpace X] {ι : Type u_2} {U : ι → Set X} {C : Set X} {x : X} (hCU : ∀ (i : ι), C ⊆ U i) (hx : x ∈ C) :

              The vertex of fundamentalGroupWideCocone is π₁(X, x).

              @[simp]

              The leg of fundamentalGroupWideCocone at C is induced by the inclusion of C.

              @[simp]
              theorem TauCeti.fundamentalGroupWideCocone_ι_app_some {X : Type u_1} [TopologicalSpace X] {ι : Type u_2} {U : ι → Set X} {C : Set X} {x : X} (hCU : ∀ (i : ι), C ⊆ U i) (hx : x ∈ C) (i : ι) :

              The leg of fundamentalGroupWideCocone at U i is induced by the inclusion of U i.

              noncomputable def TauCeti.isColimitFundamentalGroupWideCocone {X : Type u_1} [TopologicalSpace X] {ι : Type u_2} {U : ι → Set X} {C : Set X} {x : X} (hU : ∀ (y : X), ∃ (i : ι), U i ∈ nhds y) (hUp : ∀ (i : ι), IsPathConnected (U i)) (hC : IsPathConnected C) (hCU : ∀ (i : ι), C ⊆ U i) (hUC : Pairwise fun (i j : ι) => U i ∩ U j ⊆ C) (hx : x ∈ C) :

              The Seifert--van Kampen theorem for a family with a common pairwise intersection. If the interiors of the path-connected sets U i cover X, all of them contain the path-connected set C ∋ x, and two distinct members meet inside C, then π₁(X, x) is the wide pushout in the category of groups of the groups π₁(U i, x) over π₁(C, x), along the maps induced by the inclusions.

              Equations
              • One or more equations did not get rendered due to their size.
              Instances For
                noncomputable def TauCeti.vanKampenWideLift {X : Type u_1} [TopologicalSpace X] {ι : Type u_2} (U : ι → Set X) (x : X) (hx : ∀ (i : ι), x ∈ U i) :
                (Monoid.CoprodI fun (i : ι) => FundamentalGroup ↑(U i) ⟨x, ⋯⟩) →* FundamentalGroup X x

                The canonical homomorphism from the free product of the fundamental groups of a family of subspaces containing x to the fundamental group of the ambient space.

                Equations
                Instances For
                  @[simp]
                  theorem TauCeti.vanKampenWideLift_of {X : Type u_1} [TopologicalSpace X] {ι : Type u_2} (U : ι → Set X) (x : X) (hx : ∀ (i : ι), x ∈ U i) {i : ι} (g : FundamentalGroup ↑(U i) ⟨x, ⋯⟩) :

                  vanKampenWideLift restricts on the i-th factor to the map induced by inclusion.

                  theorem TauCeti.vanKampenWideLift_surjective {X : Type u_1} [TopologicalSpace X] {ι : Type u_2} {U : ι → Set X} {x : X} (hU : ∀ (y : X), ∃ (i : ι), U i ∈ nhds y) (hxU : ∀ (i : ι), x ∈ U i) (hpc : ∀ (i j : ι), IsPathConnected (U i ∩ U j)) :

                  The generation half of van Kampen's theorem for a family. Every loop class is the image of an element of the indexed free product when all pairwise intersections of the cover members are path connected.

                  noncomputable def TauCeti.vanKampenWideEquiv {X : Type u_1} [TopologicalSpace X] {ι : Type u_2} {U : ι → Set X} {C : Set X} {x : X} (hU : ∀ (y : X), ∃ (i : ι), U i ∈ nhds y) (hUp : ∀ (i : ι), IsPathConnected (U i)) (hC : IsSimplyConnected C) (hCU : ∀ (i : ι), C ⊆ U i) (hUC : Pairwise fun (i j : ι) => U i ∩ U j ⊆ C) (hx : x ∈ C) :
                  (Monoid.CoprodI fun (i : ι) => FundamentalGroup ↑(U i) ⟨x, ⋯⟩) ≃* FundamentalGroup X x

                  The Seifert--van Kampen theorem for a family with a simply connected common pairwise intersection. If the interiors of the path-connected sets U i cover X, all of them contain the simply connected set C ∋ x, and two distinct members meet inside C, then the canonical homomorphism from the free product of the groups π₁(U i, x) to π₁(X, x) is an isomorphism. Its underlying homomorphism is vanKampenWideLift.

                  Equations
                  Instances For
                    @[simp]
                    theorem TauCeti.vanKampenWideEquiv_apply {X : Type u_1} [TopologicalSpace X] {ι : Type u_2} {U : ι → Set X} {C : Set X} {x : X} (hU : ∀ (y : X), ∃ (i : ι), U i ∈ nhds y) (hUp : ∀ (i : ι), IsPathConnected (U i)) (hC : IsSimplyConnected C) (hCU : ∀ (i : ι), C ⊆ U i) (hUC : Pairwise fun (i j : ι) => U i ∩ U j ⊆ C) (hx : x ∈ C) (g : Monoid.CoprodI fun (i : ι) => FundamentalGroup ↑(U i) ⟨x, ⋯⟩) :
                    (vanKampenWideEquiv hU hUp hC hCU hUC hx) g = (vanKampenWideLift U x ⋯) g

                    vanKampenWideEquiv is vanKampenWideLift.

                    @[simp]
                    theorem TauCeti.vanKampenWideEquiv_toMonoidHom {X : Type u_1} [TopologicalSpace X] {ι : Type u_2} {U : ι → Set X} {C : Set X} {x : X} (hU : ∀ (y : X), ∃ (i : ι), U i ∈ nhds y) (hUp : ∀ (i : ι), IsPathConnected (U i)) (hC : IsSimplyConnected C) (hCU : ∀ (i : ι), C ⊆ U i) (hUC : Pairwise fun (i j : ι) => U i ∩ U j ⊆ C) (hx : x ∈ C) :
                    ↑(vanKampenWideEquiv hU hUp hC hCU hUC hx) = vanKampenWideLift U x ⋯

                    The homomorphism underlying vanKampenWideEquiv is vanKampenWideLift.