Added 1FundamentalGroup/Quest2Part0.md

This commit is contained in:
kl-i 2021-09-20 15:11:10 +01:00
parent 7e1e1f2064
commit 0b24937e0c
7 changed files with 39 additions and 13 deletions

View File

@ -7,7 +7,7 @@ open import Cubical.Data.Int
open import Cubical.Data.Empty
open import Cubical.Foundations.Prelude
open import Cubical.Foundations.HLevels
open import 1FundamentalGroup.Quest0 using ( Refl ; Refl≢loop )
open import 1FundamentalGroup.Quest0Solutions using ( Refl ; Refl≢loop )
Ω : (A : Type) (a : A) Type
Ω A a = a a

View File

@ -77,6 +77,10 @@ Try giving it '`loop n times`' composed with `loop`.
Then try to also define the map on the negative integers.
You will need to invert paths using `sym`.
```agda
sym : x ≡ y → y ≡ x
```
<p>
<details>
<summary>Looking up definitions</summary>

View File

@ -1,8 +1,9 @@
# Homotopy Levels
The loop space can contain higher homotopical information that
the fundamental group does not capture.
For example, consider `S²`.
```agda
data S² : Type where
base : S²
@ -32,7 +33,7 @@ So `base ≡ base` has non-trivial path structure.
<img src="images/S2.png"
alt="S2"
width="500"
width="1000"
class="center"/>
Let's be more precise about homotopical data :
@ -81,6 +82,11 @@ In the cubical library we have the result
isProp→isSet : (A : Type) → isProp A → isSet A
```
which we will not prove.
Assuming `¬isSetS¹`, use `isProp→isSet` to deduce `¬isPropS¹`.
<!-- from now you should fill in the hypotheses of the proof yourself -->
<!-- (put `h` before the `=` sign or use `C-c C-r`). -->
<p>
<details>
<summary>HLevel</summary>
@ -90,27 +96,21 @@ Generalisation to HLevel and isHLevel n → isHLevel suc n??
</details>
</p>
which we will not prove.
Use `isProp→isSet` to conclude `¬isPropS¹` (using `¬isSetS¹`),
from now you should fill in the hypotheses of the proof yourself
(put `h` before the `=` sign or use `C-c C-r`).
Turning our attention to `¬isSetS¹`,
again supposing `h : isSet S¹` -
again given `h : isSet S¹` -
a map continuously taking each pair `x y : A`
to a point in `isProp (x ≡ y)`.
We can apply `h` twice to the only point `base` available to us,
obtaining a point of `isProp (base ≡ base)`.
Can we map this into the empty space?
Try mapping from this into the empty space.
<p>
<details>
<summary>Hint 0</summary>
We have already shown that `Refl ≡ loop` is the empty space.
We have imported `Quest0` for you, so you can just quote the
result from there.
We have imported `Quest0Solutions.agda` for you,
so you can just quote the result from there.
</details>
</p>

View File

@ -0,0 +1,3 @@
# Set Truncation and Higher Homotopy Groups
We've seen what it means for a space to be a "set".

View File

@ -0,0 +1,19 @@
# 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 map `pred : `.
- Turn `suc` into a path `sucPath : ` using `isoToPath`
- Define `helix : S¹ → Type` by mapping `base` to `` and
a generic point `loop i` to `sucPath i`.
- Use `helix` and `endPt` to define the map `base ≡ x → helix x`
on all `x : S¹`, in particular giving us `Ω S¹ base → `
when applied to `base`.

Binary file not shown.