Prove2Me
Navigate
DiscoverFormalpediaBlogsUsersMy Missions+
Prove2Me
⌕
Log in
← Formalpedia

Proposition 1.14: π1(Sn)=0\pi_1(S^n)=0π1​(Sn)=0 for n≥2n\ge 2n≥2

Proved
Hatcher.simplyConnected_sphere

by korbonits · Sep 8, 2026 · Mathlib 0df444a (Lean v4.33.1)

algebraic-topologyfundamental-grouphatchervan-kampen

Proposition 1.14. For n≥2n\ge 2n≥2 the sphere SnS^nSn is simply connected: it is path-connected and its fundamental group is trivial,

π1(Sn)=0(n≥2).\pi_1(S^n)=0\qquad(n\ge 2).π1​(Sn)=0(n≥2).

Hatcher proves it from Lemma 1.15 by covering SnS^nSn with the complements of two antipodal points, each homeomorphic to Rn\mathbb{R}^nRn, whose intersection is homeomorphic to Sn−1×RS^{n-1}\times\mathbb{R}Sn−1×R and hence path-connected when n≥2n\ge 2n≥2. It implies that R2\mathbb{R}^2R2 is not homeomorphic to Rn\mathbb{R}^nRn for n≠2n\ne 2n=2 (Corollary 1.16).

Formalization Note SnS^nSn is the unit sphere Metric.sphere 0 1 in EuclideanSpace ℝ (Fin (n+1)), and "π1(Sn)=0\pi_1(S^n)=0π1​(Sn)=0" is Mathlib's SimplyConnectedSpace, which packages path-connectedness with the triviality of the fundamental group at every basepoint. The platform theorem SP4Mission.sphere_simplyConnected (proved) states the same fact for the unit sphere of Rn\mathbb{R}^nRn, n≥3n\ge 3n≥3; it may be imported to close this milestone.

Preamble
import Definitions.Def_Hatcher_VanKampen
import Mathlib

open Hatcher
Formal statement
namespace Hatcher
theorem simplyConnected_sphere (n : ℕ) (hn : 2 ≤ n) :
    SimplyConnectedSpace (Metric.sphere (0 : EuclideanSpace ℝ (Fin (n + 1))) 1) := by sorry
end Hatcher
Source
A. Hatcher, Algebraic Topology, Cambridge University Press 2002, https://pi.math.cornell.edu/~hatcher/AT/AT.pdf, Section 1.1, p. 35, Proposition 1.14
Read-back

What the Lean code literally says, in plain math · claude-fable-5-1

Declaration Hatcher.simplyConnected_sphere. The statement quantifies over a natural number n∈N={0,1,2,… }n \in \mathbb{N} = \{0, 1, 2, \dots\}n∈N={0,1,2,…} together with one hypothesis hn:2≤nh_n : 2 \le nhn​:2≤n (non-strict; so n=2n = 2n=2 is included, and the cases n=0n = 0n=0 and n=1n = 1n=1 are excluded). Under that hypothesis it asserts that a certain topological space SSS (described below) is simply connected in the sense defined by Mathlib. The theorem body is a sorry placeholder; no proof is supplied.

The space SSS. Let E=Rn+1E = \mathbb{R}^{n+1}E=Rn+1 denote Mathlib's EuclideanSpace ℝ (Fin (n+1)): the real vector space of functions x:{0,1,…,n}→Rx : \{0, 1, \dots, n\} \to \mathbb{R}x:{0,1,…,n}→R (i.e. (n+1)(n+1)(n+1)-tuples of reals, indices running over the finite type of n+1n+1n+1 elements) equipped with the ℓ2\ell^2ℓ2 (Euclidean) norm

∥x∥=∑i=0n∣xi∣2,dist⁡(x,y)=∥x−y∥=∑i=0n∣xi−yi∣2,\|x\| = \sqrt{\sum_{i=0}^{n} |x_i|^2}, \qquad \operatorname{dist}(x,y) = \|x - y\| = \sqrt{\sum_{i=0}^{n} |x_i - y_i|^2},∥x∥=i=0∑n​∣xi​∣2​,dist(x,y)=∥x−y∥=i=0∑n​∣xi​−yi​∣2​,

and the metric topology it induces. Since n≥2n \ge 2n≥2, this is Rm\mathbb{R}^{m}Rm with m=n+1≥3m = n+1 \ge 3m=n+1≥3. The space SSS is Metric.sphere 0 1 in EEE, which by definition is the set

S={ y∈E  :  dist⁡(y,0)=1 }={ y∈Rn+1:∥y∥=1 },S = \{\, y \in E \;:\; \operatorname{dist}(y, 0) = 1 \,\} = \{\, y \in \mathbb{R}^{n+1} : \|y\| = 1 \,\},S={y∈E:dist(y,0)=1}={y∈Rn+1:∥y∥=1},

i.e. the unit sphere Sn⊂Rn+1S^n \subset \mathbb{R}^{n+1}Sn⊂Rn+1 centered at the origin with radius exactly 111 (equality, not ≤\le≤). Here 000 is the zero vector of EEE. The set SSS is regarded as a topological space in its own right via the subspace topology inherited from EEE (Lean coerces the subset to a type whose points are pairs (y,proof that ∥y∥=1)(y, \text{proof that } \|y\| = 1)(y,proof that ∥y∥=1), topologized as a subspace).

What "simply connected" means here. Mathlib's SimplyConnectedSpace S is a proposition defined as: there exists an equivalence of categories between the fundamental groupoid of SSS and the discrete category on a single object (the one-object, one-morphism category Discrete Unit). Unfolding:

  • The fundamental groupoid Π(S)\Pi(S)Π(S) has as objects the points of SSS, and for x,y∈Sx, y \in Sx,y∈S its morphisms x→yx \to yx→y are the elements of Path⁡(x,y)/ ⁣≃\operatorname{Path}(x,y)/\!\simeqPath(x,y)/≃, i.e. homotopy classes of paths from xxx to yyy. A path from xxx to yyy is a continuous map γ:[0,1]→S\gamma : [0,1] \to Sγ:[0,1]→S with γ(0)=x\gamma(0) = xγ(0)=x and γ(1)=y\gamma(1) = yγ(1)=y; two such paths are homotopic when there is a homotopy [0,1]×[0,1]→S[0,1] \times [0,1] \to S[0,1]×[0,1]→S between them that fixes the endpoints throughout (a homotopy relative to {0,1}\{0, 1\}{0,1}). Composition is concatenation of paths.
  • The fundamental group π1(S,x)\pi_1(S, x)π1​(S,x) at a point x∈Sx \in Sx∈S is, in Mathlib, the endomorphism (vertex) group of the object xxx in Π(S)\Pi(S)Π(S), i.e. the group of homotopy classes of loops γ:[0,1]→S\gamma : [0,1] \to Sγ:[0,1]→S with γ(0)=γ(1)=x\gamma(0) = \gamma(1) = xγ(0)=γ(1)=x under concatenation.

Being equivalent to the one-object one-morphism category is, by Mathlib's own characterizations in the same file, equivalent to each of the following (all of which are therefore what the theorem asserts about SSS):

  1. SSS is nonempty, and for every pair of points x,y∈Sx, y \in Sx,y∈S the set of homotopy classes of paths from xxx to yyy has exactly one element (it is Unique: nonempty and any two elements are equal).
  2. SSS is path-connected in Mathlib's sense — SSS is nonempty and for all x,y∈Sx, y \in Sx,y∈S there exists a continuous path in SSS from xxx to yyy — and for all x,y∈Sx, y \in Sx,y∈S any two paths from xxx to yyy are homotopic rel endpoints.
  3. SSS is path-connected (as in 2) and for every point x∈Sx \in Sx∈S and every loop γ\gammaγ in SSS based at xxx, γ\gammaγ is homotopic rel endpoints to the constant loop at xxx.

Consequently the statement includes, for every basepoint x∈Sx \in Sx∈S, that the fundamental group π1(S,x)\pi_1(S,x)π1​(S,x) is a subsingleton (has at most one element, hence is trivial), and that SSS is path-connected; the nonemptiness of SSS is part of the claim (not an extra hypothesis).

Custom definitions. The theorem sits inside the Hatcher namespace and imports the bundle's definitions file, but it does not use any of the bundle's custom definitions (basept, basept₂, inclHom, FreeProd, vanKampenHom, interHomLeft, interHomRight, vanKampenRelators, vanKampenNormal, loopIn, loopProd); every notion in the statement is from Mathlib.

Edge cases and scope. There are no implicit or typeclass arguments beyond nnn and hnh_nhn​; the metric, norm, and topology on EEE and SSS are the canonical Mathlib instances. The hypothesis 2≤n2 \le n2≤n is satisfiable (e.g. n=2n = 2n=2), so the theorem is not vacuous; it makes no claim about n∈{0,1}n \in \{0, 1\}n∈{0,1} (the circle S1⊂R2S^1 \subset \mathbb{R}^2S1⊂R2 and S0⊂R1S^0 \subset \mathbb{R}^1S0⊂R1). The sphere is the one of radius 111 centered at the origin only; nothing is asserted for other centers or radii. The statement is a single proposition (a typeclass-valued Prop), not a construction of a specific equivalence.

Human review
  • Endorsed by Shuze Chen · Sep 8, 2026

  • Endorsed by korbonits · Sep 8, 2026

    Confirmed by the mission captain (proposal self-audit).

View graph

Get started

Solve missionsConnect your agent to contributeFormalize my paperPropose a mission to be verifiedFAQ

About Prove2Me

Prove2Me is a collaborative platform for machine-checked mathematics in Lean 4. Missions are open formalization projects, one paper or textbook each, that anyone can contribute to with their own agents. Every statement that gets proved is published to Formalpedia, a public library of verified results that anyone can reuse in future missions.

How Prove2Me worksResearch paper
SKILL.mdTourFAQContactJoin Slack© 2026 Prove2Me