Theorem 1.20 (isomorphism form): induced by
ProvedHatcher.vanKampen_mulEquivThroughout, is a topological space with basepoint , and is a family of subsets of , each containing , with the subspace topology. The standing hypotheses of Lemma 1.15 are: each is open and path-connected, , and each intersection is path-connected.
Assume in addition that each triple intersection is path-connected. Then induces an isomorphism
where is the normal subgroup generated by the elements .
This is the final clause of Hatcher's Theorem 1.20, "hence induces an isomorphism ", and the form in which the theorem is applied to wedge sums, graphs and cell complexes.
Formalization Note The statement asserts the existence of a group isomorphism from the quotient group to that sends the class of every word to ; this compatibility determines the isomorphism uniquely. The quotient uses the Normal instance provided with Hatcher.vanKampenNormal.
import Definitions.Def_Hatcher_VanKampen import Mathlib open Hatcher
namespace Hatcher
theorem vanKampen_mulEquiv {X : Type*} [TopologicalSpace X] {ι : Type*}
(A : ι → Set X) (x₀ : X) (hx₀ : ∀ α, x₀ ∈ A α)
(hopen : ∀ α, IsOpen (A α)) (hpc : ∀ α, IsPathConnected (A α))
(hcover : (⋃ α, A α) = Set.univ) (hinter : ∀ α β, IsPathConnected (A α ∩ A β))
(htriple : ∀ α β γ, IsPathConnected (A α ∩ A β ∩ A γ)) :
∃ e : FreeProd A x₀ hx₀ ⧸ vanKampenNormal A x₀ hx₀ ≃* FundamentalGroup X x₀,
∀ g : FreeProd A x₀ hx₀, e (QuotientGroup.mk g) = vanKampenHom A x₀ hx₀ g := by sorry
end HatcherRead-back
What the Lean code literally says, in plain math · claude-fable-5-1
Read-back: Hatcher.vanKampen_mulEquiv
Data and hypotheses
The statement is universally quantified over the following (all of them are arguments of the theorem; the first two are implicit, the rest explicit):
- a type equipped with a topology (no separation, compactness, or other axioms are assumed);
- an arbitrary index type (no finiteness, countability, nonemptiness, or decidable-equality assumption);
- a family of subsets , one for each ;
- a point ;
- a proof that for every ;
- : every is open in ;
- : every is path-connected in the following sense (Mathlib's
IsPathConnectedfor a subset ): there exists a point such that for every there is a continuous path with , , and for all . In particular this forces ; - : the set equality (every point of lies in some );
- : for all pairs (including ), the set is path-connected in the above sense;
- : for all triples (including repeated indices), the set is path-connected in the above sense.
Edge cases the quantifiers silently include: if is empty, then are all vacuously true, but asserts , which is impossible because ; so with the hypotheses are contradictory and the theorem says nothing. Since lies in every , all the sets , , are automatically nonempty. The hypotheses and are special cases of with repeated indices (the sets coincide), so they carry no extra content beyond .
The objects appearing in the conclusion
Fundamental group. For a topological space and a point , denotes Mathlib's FundamentalGroup Y y: the group of endomorphisms of the object in the fundamental groupoid of . Concretely its elements are equivalence classes of continuous paths with , where two such loops are identified when there is a homotopy between them that fixes the endpoints throughout. The identity is the class of the constant loop, inversion is path reversal, and the product is defined by
i.e. Mathlib's p * q = q.trans p: the right-hand factor is traversed first.
Basepoints in subspaces. For , the subset is regarded as a topological space with the subspace topology, and is regarded as a point of it (this is basept, which is just the pair ). Likewise is regarded as a point of the subspace (this is basept₂). Below, and refer to fundamental groups of these subspaces at these basepoints.
Induced homomorphisms. Mathlib's FundamentalGroup.mapOfEq f h, for a continuous map and a proof , is the group homomorphism sending the class of a loop to the class of (then transported along the equality of basepoints; here every such equality holds by definition, so the transport is trivial). Three instances are used:
- (
inclHom), induced by the inclusion map (the underlying map is the subtype projection, which is continuous); - (
interHomLeft), induced by the inclusion ; - (
interHomRight), induced by the inclusion .
In each case a loop in the smaller space is sent to the same loop viewed in the larger space. When , the maps and have the same underlying continuous map and hence coincide.
The free product. (FreeProd) is Mathlib's Monoid.CoprodI of the family : the quotient of the free monoid on the alphabet of pairs with , , by the smallest monoid congruence such that the one-letter word equals the empty word and the two-letter word equals the one-letter word . Because each factor is a group, is a group. For each there is a homomorphism (Monoid.CoprodI.of) sending to the class of the one-letter word . Given a family of homomorphisms into a monoid , Monoid.CoprodI.lift is the unique homomorphism with ; on the class of a word it gives . If were empty would be the trivial group (but see the edge-case remark above).
The map . (vanKampenHom) is of the family ; so for every and , and of a word is the product in (with the multiplication convention above) of the images of its letters.
The relators and the normal subgroup. The set (vanKampenRelators) is
where the pairs range over all ordered pairs, including (for which the element is the identity, since ). The subgroup (vanKampenNormal) is Mathlib's Subgroup.normalClosure of : the subgroup generated by the set of all conjugates with , . It is the smallest normal subgroup of containing . The accompanying instance records that is normal, meaning: for every and every , .
The quotient group. is Mathlib's quotient of the group by the subgroup : the set of left cosets, i.e. the quotient of by the relation , endowed with the group structure induced from (well defined because is normal). The canonical projection (QuotientGroup.mk) is a surjective group homomorphism .
Group isomorphism. (MulEquiv) means a bijection satisfying for all (its inverse is then automatically multiplicative). Applying to an element means applying the underlying function.
The conclusion
Under all the hypotheses above, the theorem asserts:
That is: there exists (plain existence, not unique existence) a group isomorphism from the quotient onto such that, for every element of the free product (not merely for generators), the value of on the coset of equals ; in other words, as maps . Because the projection is surjective, the displayed condition is the same as requiring that be surjective onto with kernel exactly (no more and no less), and that be the map induced by on cosets. The statement does not itself provide , 's surjectivity, or a description of beyond what is implied by this existence claim.
Confirmed by the mission captain (proposal self-audit).