TheHoTTGame/1FundamentalGroup/Quest1Solutions.agda
2021-10-02 15:14:02 +01:00

52 lines
1.2 KiB
Agda
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

-- ignore
module 1FundamentalGroup.Quest1Solutions where
open import 1FundamentalGroup.Preambles.P1
loopSpace : (A : Type) (a : A) Type
loopSpace A a = a a
loop_times : loopSpace base
loop pos zero times = refl
loop pos (suc n) times = loop pos n times loop
loop negsuc zero times = sym loop
loop negsuc (suc n) times = loop negsuc n times sym loop
suc :
suc (pos n) = pos (suc n)
suc (negsuc zero) = pos zero
suc (negsuc (suc n)) = negsuc n
pred :
pred (pos zero) = negsuc zero
pred (pos (suc n)) = pos n
pred (negsuc n) = negsuc (suc n)
sucIso :
sucIso = iso suc pred s r where
s : section suc pred
s (pos zero) = refl
s (pos (suc n)) = refl
s (negsuc zero) = refl
s (negsuc (suc n)) = refl
r : retract suc pred
r (pos zero) = refl
r (pos (suc n)) = refl
r (negsuc zero) = refl
r (negsuc (suc n)) = refl
sucPath :
sucPath = isoToPath sucIso
helix : Type
helix base =
helix (loop i) = sucPath i
windingNumberBase : base base
windingNumberBase p = endPt helix p (pos zero)
windingNumber : (x : ) base x helix x
windingNumber x p = endPt helix p (pos zero)