diff --git a/1FundamentalGroup/Preambles/P0.agda b/1FundamentalGroup/Preambles/P0.agda index 910aeae..4dc19c6 100644 --- a/1FundamentalGroup/Preambles/P0.agda +++ b/1FundamentalGroup/Preambles/P0.agda @@ -1,6 +1,6 @@ module 1FundamentalGroup.Preambles.P0 where -open import Cubical.Data.Empty public +open import Cubical.Data.Empty using (⊥) public open import Cubical.Data.Unit renaming ( Unit to ⊤ ) public open import Cubical.Data.Bool public open import Cubical.Foundations.Prelude renaming ( subst to endPt ) public diff --git a/1FundamentalGroup/Preambles/PEmpty.agda b/1FundamentalGroup/Preambles/PEmpty.agda deleted file mode 100644 index 1323bf0..0000000 --- a/1FundamentalGroup/Preambles/PEmpty.agda +++ /dev/null @@ -1,6 +0,0 @@ -module 1FundamentalGroup.Preambles.PEmpty where - -open import Cubical.Foundations.Prelude public -open import Cubical.Data.Empty renaming (rec to ⊥Rec) public -open import Cubical.Foundations.Isomorphism renaming (Iso to _≅_) public - diff --git a/1FundamentalGroup/Preambles/PTrueNotFalse.agda b/1FundamentalGroup/Preambles/PTrueNotFalse.agda deleted file mode 100644 index c2e38b9..0000000 --- a/1FundamentalGroup/Preambles/PTrueNotFalse.agda +++ /dev/null @@ -1,6 +0,0 @@ -module 1FundamentalGroup.Preambles.PTrueNotFalse where - -open import Cubical.Data.Empty public -open import Cubical.Data.Unit renaming ( Unit to ⊤ ) public -open import Cubical.Data.Bool using (Bool ; true ; false) public -open import Cubical.Foundations.Prelude public diff --git a/1FundamentalGroup/Quest0.agda b/1FundamentalGroup/Quest0.agda index 5936e14..7256b77 100644 --- a/1FundamentalGroup/Quest0.agda +++ b/1FundamentalGroup/Quest0.agda @@ -23,3 +23,42 @@ endPtOfTrue p = {!!} Refl≢loop : Refl ≡ loop → ⊥ Refl≢loop p = {!!} + +------------------- Side Quest - Empty ------------------------- + +{- +-- This is a comment box, +-- remove the {- and -} to do the side quests + +toEmpty : (A : Type) → Type +toEmpty A = {!!} + +pathEmpty : (A : Type) → Type₁ +pathEmpty A = {!!} + +isoEmpty : (A : Type) → Type +isoEmpty A = {!!} + +outOf⊥ : (A : Type) → ⊥ → A +outOf⊥ A () + +toEmpty→isoEmpty : (A : Type) → toEmpty A → isoEmpty A +toEmpty→isoEmpty A = {!!} + +isoEmpty→pathEmpty : (A : Type) → isoEmpty A → pathEmpty A +isoEmpty→pathEmpty A = {!!} + +pathEmpty→toEmpty : (A : Type) → pathEmpty A → toEmpty A +pathEmpty→toEmpty A = {!!} +-} + +------------------- Side Quests - true≢false -------------------- + +{- +-- This is a comment box, +-- remove the {- and -} to do the side quests + +true≢false' : true ≡ false → ⊥ +true≢false' = {!!} + +-} diff --git a/1FundamentalGroup/Quest0SideQuests/Empty.agda b/1FundamentalGroup/Quest0SideQuests/Empty.agda deleted file mode 100644 index 2bcb98c..0000000 --- a/1FundamentalGroup/Quest0SideQuests/Empty.agda +++ /dev/null @@ -1,21 +0,0 @@ -module 1FundamentalGroup.Quest0SideQuests.Empty where - -open import 1FundamentalGroup.Preambles.PEmpty - -toEmpty : (A : Type) → Type -toEmpty A = {!!} - -pathEmpty : (A : Type) → Type₁ -pathEmpty A = {!!} - -isoEmpty : (A : Type) → Type -isoEmpty A = {!!} - -toEmpty→isoEmpty : (A : Type) → toEmpty A → isoEmpty A -toEmpty→isoEmpty A = {!!} - -isoEmpty→pathEmpty : (A : Type) → isoEmpty A → pathEmpty A -isoEmpty→pathEmpty A = {!!} - -pathEmpty→toEmpty : (A : Type) → pathEmpty A → toEmpty A -pathEmpty→toEmpty A = {!!} diff --git a/1FundamentalGroup/Quest0SideQuests/EmptySolutions.agda b/1FundamentalGroup/Quest0SideQuests/EmptySolutions.agda deleted file mode 100644 index 901dce0..0000000 --- a/1FundamentalGroup/Quest0SideQuests/EmptySolutions.agda +++ /dev/null @@ -1,27 +0,0 @@ -module 1FundamentalGroup.Quest0SideQuests.EmptySolutions where - -open import 1FundamentalGroup.Preambles.PEmpty - -toEmpty : (A : Type) → Type -toEmpty A = A → ⊥ - -pathEmpty : (A : Type) → Type₁ -pathEmpty A = A ≡ ⊥ - -isoEmpty : (A : Type) → Type -isoEmpty A = A ≅ ⊥ - -toEmpty→isoEmpty : (A : Type) → toEmpty A → isoEmpty A -toEmpty→isoEmpty A f = iso f ⊥Rec rightInv leftInv where - - rightInv : section f ⊥Rec - rightInv () - - leftInv : retract f ⊥Rec - leftInv x = ⊥Rec (f x) - -isoEmpty→pathEmpty : (A : Type) → isoEmpty A → pathEmpty A -isoEmpty→pathEmpty A = isoToPath - -pathEmpty→toEmpty : (A : Type) → pathEmpty A → toEmpty A -pathEmpty→toEmpty A p x = transport p x diff --git a/1FundamentalGroup/Quest0SideQuests/TrueNotFalse.agda b/1FundamentalGroup/Quest0SideQuests/TrueNotFalse.agda deleted file mode 100644 index 41aa677..0000000 --- a/1FundamentalGroup/Quest0SideQuests/TrueNotFalse.agda +++ /dev/null @@ -1,6 +0,0 @@ -module 1FundamentalGroup.Quest0SideQuests.TrueNotFalse where - -open import 1FundamentalGroup.Preambles.PTrueNotFalse - -true≢false : true ≡ false → ⊥ -true≢false = {!!} diff --git a/1FundamentalGroup/Quest0SideQuests/TrueNotFalseSolutions.agda b/1FundamentalGroup/Quest0SideQuests/TrueNotFalseSolutions.agda deleted file mode 100644 index f6bc6f7..0000000 --- a/1FundamentalGroup/Quest0SideQuests/TrueNotFalseSolutions.agda +++ /dev/null @@ -1,23 +0,0 @@ -module 1FundamentalGroup.Quest0SideQuests.TrueNotFalseSolutions where - -open import 1FundamentalGroup.Preambles.PTrueNotFalse - -true≢false : true ≡ false → ⊥ -true≢false h = transport ⊤≡⊥ tt where - - propify : Bool → Type - propify false = ⊥ - propify true = ⊤ - - ⊤≡⊥ : ⊤ ≡ ⊥ - ⊤≡⊥ = cong propify h -{- transport - -To follow a point in `a : A` along a path `p : A ≡ B` -we use - - transport : {A B : Type u} → A ≡ B → A → B - -Why do we propify? Discuss. - --} diff --git a/1FundamentalGroup/Quest0Solutions.agda b/1FundamentalGroup/Quest0Solutions.agda index 26b6170..de9b7ea 100644 --- a/1FundamentalGroup/Quest0Solutions.agda +++ b/1FundamentalGroup/Quest0Solutions.agda @@ -33,3 +33,44 @@ endPtOfTrue p = endPt doubleCover p true Refl≢loop : Refl ≡ loop → ⊥ Refl≢loop p = true≢false (cong endPtOfTrue p) + +------------------- Side Quest - Empty ------------------------- + +toEmpty : (A : Type) → Type +toEmpty A = A → ⊥ + +pathEmpty : (A : Type) → Type₁ +pathEmpty A = A ≡ ⊥ + +isoEmpty : (A : Type) → Type +isoEmpty A = A ≅ ⊥ + +outOf⊥ : (A : Type) → ⊥ → A +outOf⊥ A () + +toEmpty→isoEmpty : (A : Type) → toEmpty A → isoEmpty A +toEmpty→isoEmpty A f = iso f (outOf⊥ A) rightInv leftInv where + + rightInv : section f (outOf⊥ A) + rightInv () + + leftInv : retract f (outOf⊥ A) + leftInv x = outOf⊥ (outOf⊥ A (f x) ≡ x) (f x) + +isoEmpty→pathEmpty : (A : Type) → isoEmpty A → pathEmpty A +isoEmpty→pathEmpty A = isoToPath + +pathEmpty→toEmpty : (A : Type) → pathEmpty A → toEmpty A +pathEmpty→toEmpty A p x = transport p x + +------------------- Side Quests - true≢false -------------------- + +true≢false' : true ≡ false → ⊥ +true≢false' h = transport ⊤≡⊥ tt where + + propify : Bool → Type + propify false = ⊥ + propify true = ⊤ + + ⊤≡⊥ : ⊤ ≡ ⊥ + ⊤≡⊥ = cong propify h diff --git a/_build/2.6.2/agda/1FundamentalGroup/Preambles/P0.agdai b/_build/2.6.2/agda/1FundamentalGroup/Preambles/P0.agdai index 2950e3f..cbed4c1 100644 Binary files a/_build/2.6.2/agda/1FundamentalGroup/Preambles/P0.agdai and b/_build/2.6.2/agda/1FundamentalGroup/Preambles/P0.agdai differ diff --git a/_build/2.6.2/agda/1FundamentalGroup/Quest0Solutions.agdai b/_build/2.6.2/agda/1FundamentalGroup/Quest0Solutions.agdai index 19ec25a..5b219a6 100644 Binary files a/_build/2.6.2/agda/1FundamentalGroup/Quest0Solutions.agdai and b/_build/2.6.2/agda/1FundamentalGroup/Quest0Solutions.agdai differ