900 B
900 B
Comparison maps between Ω S¹ base
and ℤ
In Quest1
we have defined the map loop_times : ℤ → Ω S¹ base
.
Creating the inverse map is difficult without access to the entire circle.
Similarly to how we used doubleCover
to distinguish refl
and base
,
the idea is to replace Bool
with ℤ
,
allowing us to distinguish between all loops on S¹
.
The plan is :
- Define a function
sucℤ : ℤ → ℤ
that increases every integer by one - Prove that
sucℤ
is an isomorphism by constructing an inverse mappredℤ : ℤ → ℤ
. - Turn
sucℤ
into a pathsucPath : ℤ ≡ ℤ
usingisoToPath
- Define
helix : S¹ → Type
by mappingbase
toℤ
and a generic pointloop i
tosucPath i
. - Use
helix
andendPt
to define the mapbase ≡ x → helix x
on allx : S¹
, in particular giving usΩ S¹ base → ℤ
when applied tobase
.