put quest0 sie quests into quest0.

This commit is contained in:
Jlh18 2021-10-02 13:22:36 +01:00
parent 12c7044889
commit 87834c2ae0
11 changed files with 81 additions and 90 deletions

View File

@ -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

View File

@ -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

View File

@ -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

View File

@ -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' = {!!}
-}

View File

@ -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 = {!!}

View File

@ -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

View File

@ -1,6 +0,0 @@
module 1FundamentalGroup.Quest0SideQuests.TrueNotFalse where
open import 1FundamentalGroup.Preambles.PTrueNotFalse
true≢false : true false
true≢false = {!!}

View File

@ -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.
-}

View File

@ -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