Proposition 1.33 (lifting criterion): lifts iff
ProvedHatcher.lifting_criterionThroughout, 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.33. Suppose given a covering space and a map with path-connected and locally path-connected. Then a lift of (a continuous map with and ) exists iff
Formalization Note The "only if" direction holds for any ; the "if" direction is where path-connectedness and local path-connectedness of enter (Hatcher notes the criterion fails without local path-connectedness, Exercise 7). Mathlib's IsCoveringMap.existsUnique_continuousMap_lifts_of_range_le proves the "if" direction (with uniqueness) and may be used.
import Definitions.Def_Hatcher_Covering import Mathlib open Hatcher unitInterval
namespace Hatcher
theorem lifting_criterion {E X Y : Type*} [TopologicalSpace E] [TopologicalSpace X]
[TopologicalSpace Y] [PathConnectedSpace Y] [LocallyPathConnectedSpace Y]
{p : E → X} (hp : IsCoveringMap p) {e₀ : E} {x₀ : X} (he : p e₀ = x₀)
(f : C(Y, X)) {y₀ : Y} (hf : f y₀ = x₀) :
(∃ F : C(Y, E), p ∘ F = f ∧ F y₀ = e₀) ↔
(FundamentalGroup.mapOfEq f hf).range ≤ coverSubgroup p hp.continuous he := by sorry
end HatcherRead-back
What the Lean code literally says, in plain math · claude-fable-5-1
Read-back of Hatcher.lifting_criterion.
theorem lifting_criterion {E X Y : Type*} [TopologicalSpace E] [TopologicalSpace X]
[TopologicalSpace Y] [PathConnectedSpace Y] [LocallyPathConnectedSpace Y]
{p : E → X} (hp : IsCoveringMap p) {e₀ : E} {x₀ : X} (he : p e₀ = x₀)
(f : C(Y, X)) {y₀ : Y} (hf : f y₀ = x₀) :
(∃ F : C(Y, E), p ∘ F = f ∧ F y₀ = e₀) ↔
(FundamentalGroup.mapOfEq f hf).range ≤ coverSubgroup p hp.continuous he
Setting and binders
E X Y : Type*— three types in three independent universes.[TopologicalSpace E] [TopologicalSpace X] [TopologicalSpace Y]— arbitrary topologies. No connectedness or local connectedness is assumed on or .[PathConnectedSpace Y]— is nonempty and any two points of are joined by a continuous path (Joined x y := Nonempty (Path x y)).[LocallyPathConnectedSpace Y]— Mathlib's class:∀ y, (𝓝 y).HasBasis (fun s => s ∈ 𝓝 y ∧ IsPathConnected s) id. Unfolded: for every and every neighbourhood of there is a set which is itself a neighbourhood of (contains an open set containing ; need not be open) and is path-connected.IsPathConnected s := ∃ x ∈ s, ∀ y ∈ s, JoinedIn s x y, whereJoinedIn s x y := ∃ γ : Path x y, ∀ t, γ t ∈ s— so is nonempty and any two points of are joined by a path inside . This is Hatcher's "locally path-connected".{p : E → X},hp : IsCoveringMap p— Mathlib covering map: for every , the fibre is discrete and there is an open with open and a homeomorphism over . Fibres may be empty (no surjectivity).hp.continuous : Continuous p.{e₀ : E} {x₀ : X},he : p e₀ = x₀— basepoints, .f : C(Y, X)— a bundled continuous map (ContinuousMap). It is coerced to a function where needed.{y₀ : Y},hf : f y₀ = x₀— basepoint of mapped to .
Definitions from the bundle / Mathlib appearing in the conclusion:
FundamentalGroup.mapOfEq f hf : FundamentalGroup Y y₀ →* FundamentalGroup X x₀is (push-forward of loop classes along , then transport along the equality ).(…).range : Subgroup (FundamentalGroup X x₀)— the image subgroup .coverSubgroup p hp.continuous he = (FundamentalGroup.mapOfEq ⟨p, hp.continuous⟩ he).range— the image subgroup .≤onSubgroupis inclusion of underlying sets.
Hypotheses
- is a nonempty, path-connected, locally path-connected space.
- is a covering map (Mathlib sense); .
- is continuous with .
Conclusion
An if-and-only-if:
Left side. ∃ F : C(Y, E), p ∘ F = f ∧ F y₀ = e₀: there exists a continuous map with (equality of functions , i.e. for all ) and . That is, a lift of through sending to exists.
Right side. (mapOfEq f hf).range ≤ coverSubgroup p hp.continuous he:
So the theorem asserts: a based lift of exists iff .
Remarks
- Match with Hatcher Prop. 1.33. Hatcher: "Suppose given a covering space and a map with path-connected and locally path-connected. Then a lift of exists iff ." The Lean statement has exactly these hypotheses and conclusion. Hatcher makes no connectedness assumption on or , and neither does the Lean.
- Direction-by-direction. The forward implication (lift exists ⟹ inclusion) is pure functoriality, , and needs none of the hypotheses on . The reverse implication is where path-connectedness (to define the lift via paths from ) and local path-connectedness (for continuity of the lift) of are used. The statement bundles both into one iff, so as stated it requires the -hypotheses for the whole biconditional.
- Uniqueness is not asserted. The left side is a bare existential; nothing says the lift is unique (that is a separate theorem,
unique_lifting). - Surjectivity of is not assumed. Mathlib's
IsCoveringMapallows empty fibres. This is harmless here: the fibre over contains , and the lift constructed in the reverse direction only ever lands in the path-component of . Also, nothing forces to be path-connected;coverSubgroupis just the image of the basepoint component's . - Degenerate instances. If is a one-point space, both sides are true (constant lift at ; trivial group is contained in anything), so no contradiction. If is simply connected the right side says is trivial, recovering "maps from lift to the universal cover iff they kill ".
p ∘ F = f. HereFandfare coerced to functions; the equation isp ∘ ⇑F = ⇑f, i.e. pointwise equality for ally : Y. It is not an equality inC(Y, X), but the two are equivalent by extensionality.- Neighbourhoods in
LocallyPathConnectedSpaceneed not be open. Mathlib's basis condition allows non-open path-connected neighbourhoods; this is equivalent to the usual definition (Mathlib proves an open-basis version), so no gap versus the textbook. - Universes. may be in different universes; the conclusion mentions only
Props and subgroups, so there is no universe constraint of note. - Nothing is vacuous: the hypotheses are satisfiable (e.g. a manifold, any covering) and both sides are genuine conditions.
Confirmed by the mission captain (proposal self-audit).