diff --git a/1FundamentalGroup/Preambles/P1.agda b/1FundamentalGroup/Preambles/P1.agda index f4853bd..23c3d31 100644 --- a/1FundamentalGroup/Preambles/P1.agda +++ b/1FundamentalGroup/Preambles/P1.agda @@ -1,9 +1,9 @@ module 1FundamentalGroup.Preambles.P1 where -open import Cubical.HITs.S1 public +open import Cubical.HITs.S1 using (S¹ ; base ; loop) public open import Cubical.Data.Nat using (ℕ ; suc ; zero) public -open import Cubical.Data.Int using (ℤ ; pos ; negsuc) public +open import Cubical.Data.Int using (ℤ ; pos ; negsuc ; -_) public open import Cubical.Data.Empty public -open import Cubical.Foundations.Prelude public -open import Cubical.Foundations.HLevels public +open import Cubical.Foundations.Prelude renaming (subst to endPt) public +open import Cubical.Foundations.Isomorphism renaming (Iso to _≅_) public open import 1FundamentalGroup.Quest0Solutions using ( Refl ; Refl≢loop ) public diff --git a/1FundamentalGroup/Quest1.agda b/1FundamentalGroup/Quest1.agda index 5b93ee6..12f972c 100644 --- a/1FundamentalGroup/Quest1.agda +++ b/1FundamentalGroup/Quest1.agda @@ -9,8 +9,27 @@ open import 1FundamentalGroup.Preambles.P1 loop_times : ℤ → Ω S¹ base loop n times = {!!} -¬isSetS¹ : isSet S¹ → ⊥ -¬isSetS¹ = {!!} +{- +The definition of sucℤ goes here. +-} -¬isPropS¹ : isProp S¹ → ⊥ -¬isPropS¹ = {!!} +{- +The definition of predℤ goes here. +-} + +{- +The definition of sucℤIso goes here. +-} + +{- +The definition of sucℤPath goes here. +-} + +helix : S¹ → Type +helix = {!!} + +windingNumberBase : base ≡ base → ℤ +windingNumberBase = {!!} + +windingNumber : (x : S¹) → base ≡ x → helix x +windingNumber = {!!} diff --git a/1FundamentalGroup/Quest1Solutions.agda b/1FundamentalGroup/Quest1Solutions.agda index 9fbf1ab..bb40813 100644 --- a/1FundamentalGroup/Quest1Solutions.agda +++ b/1FundamentalGroup/Quest1Solutions.agda @@ -12,8 +12,40 @@ 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 -¬isSetS¹ : isSet S¹ → ⊥ -¬isSetS¹ h = Refl≢loop (h base base Refl loop) +sucℤ : ℤ → ℤ +sucℤ (pos n) = pos (suc n) +sucℤ (negsuc zero) = pos zero +sucℤ (negsuc (suc n)) = negsuc n -¬isPropS¹ : isProp S¹ → ⊥ -¬isPropS¹ h = ¬isSetS¹ (isProp→isSet h) +predℤ : ℤ → ℤ +predℤ (pos zero) = negsuc zero +predℤ (pos (suc n)) = pos n +predℤ (negsuc n) = negsuc (suc n) + +sucℤIso : ℤ ≅ ℤ +sucℤIso = 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 + +sucℤPath : ℤ ≡ ℤ +sucℤPath = isoToPath sucℤIso + +helix : S¹ → Type +helix base = ℤ +helix (loop i) = sucℤPath i + +windingNumberBase : base ≡ base → ℤ +windingNumberBase p = endPt helix p (pos zero) + +windingNumber : (x : S¹) → base ≡ x → helix x +windingNumber x p = endPt helix p (pos zero) diff --git a/1FundamentalGroup/Shelf/questExtras.agda b/1FundamentalGroup/Shelf/questExtras.agda new file mode 100644 index 0000000..8eb7d95 --- /dev/null +++ b/1FundamentalGroup/Shelf/questExtras.agda @@ -0,0 +1,12 @@ +¬isSetS¹ : isSet S¹ → ⊥ +¬isSetS¹ = {!!} + +¬isPropS¹ : isProp S¹ → ⊥ +¬isPropS¹ = {!!} + +-------------solutions------ +¬isSetS¹ : isSet S¹ → ⊥ +¬isSetS¹ h = Refl≢loop (h base base Refl loop) + +¬isPropS¹ : isProp S¹ → ⊥ +¬isPropS¹ h = ¬isSetS¹ (isProp→isSet h) diff --git a/_build/2.6.2/agda/1FundamentalGroup/Preambles/P1.agdai b/_build/2.6.2/agda/1FundamentalGroup/Preambles/P1.agdai index ddc0f69..f43097c 100644 Binary files a/_build/2.6.2/agda/1FundamentalGroup/Preambles/P1.agdai and b/_build/2.6.2/agda/1FundamentalGroup/Preambles/P1.agdai differ diff --git a/_build/2.6.2/agda/1FundamentalGroup/Quest1Solutions.agdai b/_build/2.6.2/agda/1FundamentalGroup/Quest1Solutions.agdai index fe514f3..6f595d0 100644 Binary files a/_build/2.6.2/agda/1FundamentalGroup/Quest1Solutions.agdai and b/_build/2.6.2/agda/1FundamentalGroup/Quest1Solutions.agdai differ