Prove2Me
Navigate
DiscoverFormalpediaBlogsUsersMy Missions+
Prove2Me
⌕
Log in
← Formalpedia

[ω]n=[ωn][\omega]^n=[\omega_n][ω]n=[ωn​] in π1(S1)\pi_1(S^1)π1​(S1)

Proved
Hatcher.omegaClass_zpow

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

algebraic-topologycovering-spacesfundamental-grouphatcher

Let ω(s)=(cos⁡2πs,sin⁡2πs)\omega(s)=(\cos 2\pi s,\sin 2\pi s)ω(s)=(cos2πs,sin2πs) be Hatcher's generating loop in S1S^1S1 based at (1,0)(1,0)(1,0) and let ωn(s)=(cos⁡2πns,sin⁡2πns)\omega_n(s)=(\cos 2\pi ns,\sin 2\pi ns)ωn​(s)=(cos2πns,sin2πns) for n∈Zn\in\mathbb{Z}n∈Z. In the fundamental group π1(S1,(1,0))\pi_1(S^1,(1,0))π1​(S1,(1,0)),

[ω]n=[ωn]for every n∈Z,[\omega]^n=[\omega_n]\qquad\text{for every }n\in\mathbb{Z},[ω]n=[ωn​]for every n∈Z,

where [ω]n[\omega]^n[ω]n is the nnn-th power in the group (for n<0n<0n<0 the power of the inverse class, represented by the reversed loop).

This is the remark Hatcher makes immediately after stating Theorem 1.7, and it is what converts the loop-by-loop statement "every loop is homotopic to a unique ωn\omega_nωn​" into the group-theoretic statement that π1(S1)\pi_1(S^1)π1​(S1) is infinite cyclic generated by [ω][\omega][ω].

Formalization Note π1(S1,(1,0))\pi_1(S^1,(1,0))π1​(S1,(1,0)) is Mathlib's FundamentalGroup Circle 1, whose multiplication is composition in the fundamental groupoid; since only powers of the single class [ω][\omega][ω] appear, the order of multiplication does not affect the statement. The proof requires comparing the nnn-fold concatenation of ω\omegaω with the reparametrised loop ωn\omega_nωn​.

Preamble
import Definitions.Def_Hatcher_Circle
import Mathlib

open unitInterval Hatcher
Formal statement
namespace Hatcher
theorem omegaClass_zpow (n : ℤ) :
    omegaClass ^ n = FundamentalGroup.fromPath ⟦omegaLoopN n⟧ := 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. 29, the remark 'Note that [ω]^n = [ω_n] where ω_n(s) = (cos 2πns, sin 2πns) for n ∈ ℤ' following Theorem 1.7
Read-back

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

Declaration Hatcher.omegaClass_zpow. For every integer n∈Zn \in \mathbb{Z}n∈Z (the only binder; there are no hypotheses and no typeclass assumptions beyond those fixed by the ambient types), the following equality holds in the group π1(S1,1)\pi_1(S^1, 1)π1​(S1,1):

ω n  =  [ ωn ],\omega^{\,n} \;=\; \bigl[\,\omega_n\,\bigr],ωn=[ωn​],

where every symbol is defined as follows.

The space S1S^1S1 and its basepoint. S1S^1S1 denotes the unit circle, realised as the metric sphere {z∈C:∣z−0∣=1}\{z \in \mathbb{C} : |z - 0| = 1\}{z∈C:∣z−0∣=1} inside C\mathbb{C}C, carrying the subspace topology and the commutative group structure given by complex multiplication (identity the complex number 111, inverse z↦z−1z \mapsto z^{-1}z↦z−1). The basepoint is 1∈S11 \in S^11∈S1. The map exp⁡S1:R→S1\exp_{S^1} : \mathbb{R} \to S^1expS1​:R→S1 is t↦eit=cos⁡t+isin⁡tt \mapsto e^{it} = \cos t + i \sin tt↦eit=cost+isint; it is continuous.

The custom loops. Define the continuous map c:R→S1c : \mathbb{R} \to S^1c:R→S1 by

c(s)  =  exp⁡S1(2πs)  =  e2πis.c(s) \;=\; \exp_{S^1}(2\pi s) \;=\; e^{2\pi i s}.c(s)=expS1​(2πs)=e2πis.

For an integer nnn, ωn\omega_nωn​ is the path in S1S^1S1 from 111 to 111 (a continuous map [0,1]→S1[0,1] \to S^1[0,1]→S1 sending 0↦10 \mapsto 10↦1 and 1↦11 \mapsto 11↦1) given by

ωn(s)  =  c(n⋅s)  =  e2πi ns,s∈[0,1],\omega_n(s) \;=\; c(n \cdot s) \;=\; e^{2\pi i\, n s}, \qquad s \in [0,1],ωn​(s)=c(n⋅s)=e2πins,s∈[0,1],

where nnn is regarded as a real number and s∈[0,1]⊂Rs \in [0,1] \subset \mathbb{R}s∈[0,1]⊂R. (At s=0s = 0s=0 this is e0=1e^{0} = 1e0=1; at s=1s = 1s=1 it is e2πin=1e^{2\pi i n} = 1e2πin=1 because nnn is an integer.) Separately, ωloop\omega_{\mathrm{loop}}ωloop​ is the path from 111 to 111 given by ωloop(s)=c(s)=e2πis\omega_{\mathrm{loop}}(s) = c(s) = e^{2\pi i s}ωloop​(s)=c(s)=e2πis; it is a distinct definition from ω1\omega_1ω1​, though ω1(s)=e2πi⋅1⋅s\omega_1(s) = e^{2\pi i \cdot 1 \cdot s}ω1​(s)=e2πi⋅1⋅s has the same values.

The group π1(S1,1)\pi_1(S^1,1)π1​(S1,1) and the bracket. Two paths p0,p1:[0,1]→S1p_0, p_1 : [0,1] \to S^1p0​,p1​:[0,1]→S1 from 111 to 111 are called homotopic if there is a continuous H:[0,1]×[0,1]→S1H : [0,1] \times [0,1] \to S^1H:[0,1]×[0,1]→S1 with H(0,s)=p0(s)H(0, s) = p_0(s)H(0,s)=p0​(s) and H(1,s)=p1(s)H(1, s) = p_1(s)H(1,s)=p1​(s) for all sss, and H(t,0)=p0(0)H(t, 0) = p_0(0)H(t,0)=p0​(0) and H(t,1)=p0(1)H(t, 1) = p_0(1)H(t,1)=p0​(1) for all ttt (i.e. endpoints fixed throughout; here both endpoints are 111). This is an equivalence relation, and [ p ][\,p\,][p] denotes the equivalence class of the path ppp. The set π1(S1,1)\pi_1(S^1, 1)π1​(S1,1) is exactly the set of such classes of paths from 111 to 111 (formally: the endomorphisms of the object 111 in the fundamental groupoid of S1S^1S1, whose morphisms x→yx \to yx→y are homotopy classes of paths from xxx to yyy; the conversion "from path class to group element" used on the right-hand side is the identity on this set). Its group structure is:

  • identity 1=[ const1 ]1 = [\,\mathrm{const}_1\,]1=[const1​], the class of the constant path s↦1s \mapsto 1s↦1;
  • product P⋅Q=[ q∗p ]P \cdot Q = [\,q \ast p\,]P⋅Q=[q∗p] for representatives p∈Pp \in Pp∈P, q∈Qq \in Qq∈Q, where the concatenation q∗pq \ast pq∗p is the path s↦q(2s)s \mapsto q(2s)s↦q(2s) for s≤12s \le \tfrac12s≤21​ and s↦p(2s−1)s \mapsto p(2s - 1)s↦p(2s−1) for s>12s > \tfrac12s>21​ — that is, the product P⋅QP \cdot QP⋅Q traverses a representative of QQQ first and then of PPP;
  • inverse P−1=[ pˉ ]P^{-1} = [\,\bar p\,]P−1=[pˉ​] where pˉ(s)=p(1−s)\bar p(s) = p(1 - s)pˉ​(s)=p(1−s) is the reversed path.

Integer powers. For P∈π1(S1,1)P \in \pi_1(S^1,1)P∈π1​(S1,1) and n∈Zn \in \mathbb{Z}n∈Z, P nP^{\,n}Pn is the standard group power: P0=1P^{0} = 1P0=1, Pk+1=Pk⋅PP^{k+1} = P^{k} \cdot PPk+1=Pk⋅P for k≥0k \ge 0k≥0, and P−(k+1)=(Pk+1)−1P^{-(k+1)} = \bigl(P^{k+1}\bigr)^{-1}P−(k+1)=(Pk+1)−1 for k≥0k \ge 0k≥0. Unfolding the product and inverse above, for k≥1k \ge 1k≥1 the element PkP^{k}Pk is the class of a kkk-fold concatenation of a representative loop with itself (with the particular bracketing dictated by the recursion), and P−kP^{-k}P−k is the class of the reversal of that concatenation.

The element ω\omegaω. ω\omegaω is the element of π1(S1,1)\pi_1(S^1, 1)π1​(S1,1) defined as ω=[ ωloop ]\omega = [\,\omega_{\mathrm{loop}}\,]ω=[ωloop​], the homotopy class of the loop s↦e2πiss \mapsto e^{2\pi i s}s↦e2πis.

Statement, fully expanded. For every integer nnn (including n=0n = 0n=0 and every negative nnn): the nnn-th power, in the group π1(S1,1)\pi_1(S^1,1)π1​(S1,1) described above, of the class of the loop s↦e2πiss \mapsto e^{2\pi i s}s↦e2πis equals the homotopy class (endpoints fixed at 111) of the single loop s↦e2πinss \mapsto e^{2\pi i n s}s↦e2πins on [0,1][0,1][0,1]. In the case n=0n = 0n=0 the left side is the identity element [const1][\mathrm{const}_1][const1​] and the right side is the class of the loop s↦e0=1s \mapsto e^{0} = 1s↦e0=1, which is literally the constant loop. For n<0n < 0n<0 the right side is the class of the loop s↦e2πinss \mapsto e^{2\pi i n s}s↦e2πins, which traverses the circle in the clockwise direction ∣n∣|n|∣n∣ times, while the left side is the inverse of the ∣n∣|n|∣n∣-th power of ω\omegaω.

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

  • Endorsed by korbonits · Sep 5, 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