Proposition 1.31 (second part): consists of the loops whose lifts at are loops
ProvedHatcher.mem_coverSubgroup_iffThroughout, a covering space of is a space with a map such that each has an open neighborhood whose preimage is a disjoint union of open sets each mapped homeomorphically onto by (Hatcher, p. 56; Mathlib's IsCoveringMap). Given basepoints , , we write for the induced homomorphism (Hatcher.coverHom) and for its image (Hatcher.coverSubgroup).
Proposition 1.31, second sentence. The image subgroup consists of the homotopy classes of loops in based at whose lifts to starting at are loops.
Formally: a class lies in iff every loop at representing admits a lift with and .
Formalization Note Since lifts with a given starting point are unique, "admits a loop lift" is the same as "the lift starting at is a loop". The condition is required of every representative; by homotopy lifting it holds for one representative iff it holds for all, so this matches Hatcher's statement.
import Definitions.Def_Hatcher_Covering import Mathlib open Hatcher unitInterval
namespace Hatcher
theorem mem_coverSubgroup_iff {E X : Type*} [TopologicalSpace E] [TopologicalSpace X]
{p : E → X} (hp : IsCoveringMap p) {e₀ : E} {x₀ : X} (he : p e₀ = x₀)
(g : FundamentalGroup X x₀) :
g ∈ coverSubgroup p hp.continuous he ↔
∀ γ : Path x₀ x₀, FundamentalGroup.fromPath ⟦γ⟧ = g →
∃ Γ : Path e₀ e₀, ∀ t, p (Γ t) = γ t := by sorry
end HatcherRead-back
What the Lean code literally says, in plain math · claude-fable-5-1
Read-back of Hatcher.mem_coverSubgroup_iff.
theorem mem_coverSubgroup_iff {E X : Type*} [TopologicalSpace E] [TopologicalSpace X]
{p : E → X} (hp : IsCoveringMap p) {e₀ : E} {x₀ : X} (he : p e₀ = x₀)
(g : FundamentalGroup X x₀) :
g ∈ coverSubgroup p hp.continuous he ↔
∀ γ : Path x₀ x₀, FundamentalGroup.fromPath ⟦γ⟧ = g →
∃ Γ : Path e₀ e₀, ∀ t, p (Γ t) = γ t
Setting and binders
E X : Type*with[TopologicalSpace E] [TopologicalSpace X]— arbitrary topological spaces in independent universes; no connectedness, Hausdorff, or nonemptiness assumptions (Eis nonempty becausee₀ : E).{p : E → X}— a function, implicit.(hp : IsCoveringMap p)— Mathlib covering map: every has an open with open and a fibre-preserving homeomorphism , the fibre carrying the discrete topology. Fibres may be empty (no surjectivity).hp.continuous : Continuous p.{e₀ : E} {x₀ : X},(he : p e₀ = x₀)— basepoints with .(g : FundamentalGroup X x₀)— an element of Mathlib's =Path.Homotopic.Quotient x₀ x₀(homotopy classes rel endpoints of loops at ; multiplicationp * q = q.trans p, reversed relative to Hatcher, irrelevant here).coverSubgroup p hp.continuous he : Subgroup (FundamentalGroup X x₀)is(coverHom p hp.continuous he).range, andcoverHom p hp.continuous he = FundamentalGroup.mapOfEq ⟨p, hp.continuous⟩ heis (endpoints recast from to viahe). Hence, byMonoidHom.mem_range,
γ : Path x₀ x₀— a loop at ;Γ : Path e₀ e₀— a loop at .⟦γ⟧isQuotient.mk _ γ, the setoid being inferred from the expected type asPath.Homotopic.setoid x₀ x₀; so⟦γ⟧ : Path.Homotopic.Quotient x₀ x₀is the path-homotopy class .FundamentalGroup.fromPath : Path.Homotopic.Quotient x x → FundamentalGroup X xis anabbrevthat is definitionally the identity (fromArrow p = p), sinceFundamentalGroup X xisEnd (FundamentalGroupoid.mk x)whose underlying type isPath.Homotopic.Quotient x x. SoFundamentalGroup.fromPath ⟦γ⟧ = gsays exactly: , i.e. is a representative of .∀ t, p (Γ t) = γ t— for every (the typeunitInterval; theopen unitIntervalin the file only provides notation), . That is, as functions, hence is a lift of through .
Hypotheses
hp : IsCoveringMap p and he : p e₀ = x₀ only. No path-connectedness or local path-connectedness of E or X, no surjectivity.
Conclusion
For every :
In words: lies in the image of if and only if every loop at representing admits a lift through that starts and ends at (a loop at ).
Unpacking the two directions:
- () If for some loop at , then for every loop at homotopic to there is a loop at with . (This direction needs homotopy lifting and uniqueness of lifts: the lift of starting at ends where the lift of , namely , ends.)
- () If every representative of lifts to a loop at , then . (Choose any representative — one exists since the quotient map is surjective — get , and then .)
Remarks
- Textbook match. Hatcher, Proposition 1.31(b): "The image subgroup in consists of the homotopy classes of loops in based at whose lifts to starting at are loops." Hatcher speaks of the lift starting at (unique by the lifting property); the Lean statement instead says some lift with exists. For a covering map these agree, because a lift of starting at is unique ([0,1] is connected), so "some loop-lift at exists" is the same as "the lift starting at is a loop". A reader should note this reformulation but it is equivalent under
hp. - Quantifier over representatives. The right-hand side quantifies over all loops with . Hatcher's phrasing is about "loops whose lift is a loop", implicitly for any/all representatives (well-definedness on classes follows from homotopy lifting). The
∀form makes the () direction the substantive one; the () direction is easy but not vacuous, because every has at least one representative (Quotient.exists_rep), so the antecedent⟦γ⟧ = gis satisfiable. An∃ γformulation would also be correct and equivalent underhp; the∀version is the stronger reading of (). - Not vacuous or trivial. (contains ), the fibre over is nonempty, and the statement is a genuine consequence of path- and homotopy-lifting, not a definitional unfolding.
- Non-surjective
p. Irrelevant to the statement: only loops at , which lies in the image, are involved. If has points outside , still includes loops that may wander only inside 's path component of , and the equivalence holds as stated. - No connectedness assumptions. Hatcher's Prop 1.31 is stated for a covering space with no connectivity requirement and its proof uses only lifting properties, so the absence of such hypotheses here does not weaken the match. (Connectedness is needed later, e.g. for the classification theorem, not here.)
- Coercions.
Γ tandγ tuse thePathfunction coercion tounitInterval → E(resp.→ X). The equalityp (Γ t) = γ tis pointwise equality inX; via path extensionality it is equivalent toΓ.map hp.continuous = γafter recasting endpoints withhe. - Universe.
EandXin independent universes; no restriction. - Group-law orientation. Membership in a subgroup, and the range of a homomorphism, are insensitive to Mathlib's reversed multiplication convention on
FundamentalGroup. - The statement is a
theoremwith proofsorryin the audited file; the read-back concerns only the statement.
Confirmed by the mission captain (proposal self-audit).