Complete 1Fundamentalgroup/Quest0.agda

This commit is contained in:
germax26 2025-07-21 17:02:13 +10:00
parent ff0a653c0d
commit 553d41a5a4
Signed by: germax26
SSH Key Fingerprint: SHA256:N3w+8798IMWBt7SYH8G1C0iJlIa2HIIcRCXwILT5FvM

View File

@ -3,62 +3,77 @@ module 1FundamentalGroup.Quest0 where
open import 1FundamentalGroup.Preambles.P0 open import 1FundamentalGroup.Preambles.P0
Refl : base base Refl : base base
Refl = {!!} Refl = λ i base
Flip : Bool Bool Flip : Bool Bool
Flip x = {!!} Flip false = true
Flip true = false
flipIso : Bool Bool flipIso : Bool Bool
flipIso = {!!} flipIso = iso Flip Flip rightInv leftInv where
rightInv : section Flip Flip
rightInv false = refl
rightInv true = refl
leftInv : retract Flip Flip
leftInv false = refl
leftInv true = refl
flipPath : Bool Bool flipPath : Bool Bool
flipPath = {!!} flipPath = isoToPath flipIso
doubleCover : Type doubleCover : Type
doubleCover x = {!!} doubleCover base = Bool
doubleCover (loop i) = flipPath i
endPtOfTrue : base base doubleCover base endPtOfTrue : base base doubleCover base
endPtOfTrue p = {!!} endPtOfTrue p = endPt doubleCover p true
Refl≢loop : Refl loop Refl≢loop : Refl loop
Refl≢loop p = {!!} Refl≢loop p = true≢false (cong endPtOfTrue p)
------------------- Side Quest - Empty ------------------------- ------------------- Side Quest - Empty -------------------------
{-
-- This is a comment box, -- This is a comment box,
-- remove the {- and -} to do the side quests -- remove the {- and -} to do the side quests
toEmpty : (A : Type) Type toEmpty : (A : Type) Type
toEmpty A = {!!} toEmpty A = A
pathEmpty : (A : Type) Type₁ pathEmpty : (A : Type) Type₁
pathEmpty A = {!!} pathEmpty A = A
isoEmpty : (A : Type) Type isoEmpty : (A : Type) Type
isoEmpty A = {!!} isoEmpty A = A
outOf⊥ : (A : Type) A outOf⊥ : (A : Type) A
outOf⊥ A () outOf⊥ A ()
toEmpty→isoEmpty : (A : Type) toEmpty A isoEmpty A toEmpty→isoEmpty : (A : Type) toEmpty A isoEmpty A
toEmpty→isoEmpty A = {!!} toEmpty→isoEmpty A f = iso f (outOf⊥ A) leftInv rightInv where
leftInv : section f (outOf⊥ A)
leftInv ()
rightInv : retract f (outOf⊥ A)
rightInv x = outOf⊥ (outOf⊥ A (f x) x) (f x)
isoEmpty→pathEmpty : (A : Type) isoEmpty A pathEmpty A isoEmpty→pathEmpty : (A : Type) isoEmpty A pathEmpty A
isoEmpty→pathEmpty A = {!!} isoEmpty→pathEmpty A = isoToPath
pathEmpty→toEmpty : (A : Type) pathEmpty A toEmpty A pathEmpty→toEmpty : (A : Type) pathEmpty A toEmpty A
pathEmpty→toEmpty A = {!!} pathEmpty→toEmpty A p x = pathToFun p x
-}
------------------- Side Quests - true≢false -------------------- ------------------- Side Quests - true≢false --------------------
{-
-- This is a comment box, -- This is a comment box,
-- remove the {- and -} to do the side quests -- remove the {- and -} to do the side quests
true≢false' : true false true≢false' : true false
true≢false' = {!!} true≢false' true≡false = pathToFun (cong subsingleton true≡false) tt where
subsingleton : Bool Type
subsingleton false =
subsingleton true =
-}