pushing all my code from desktop

This commit is contained in:
Michael Zhang 2024-11-01 11:07:57 -05:00
parent 1eb6441aa0
commit 26ea102563
9 changed files with 187 additions and 6 deletions

View file

@ -3,6 +3,7 @@
module CubicalHott.Lemma6-10-2 where
open import Cubical.Foundations.Prelude
open import Cubical.Foundations.Equiv
open import Cubical.Functions.Surjection
open import Cubical.HITs.SetQuotients
open import Cubical.HITs.PropositionalTruncation
@ -14,4 +15,9 @@ private
lemma : (A : Type l) (R : A A Type l)
(q : A A / R)
isSurjection q
lemma {l} A R q x = {! !}
lemma {l} A R q x = elimProp f1 f2 x where
f1 : (z : A / R) isProp fiber q x ∥₁
f1 z x y = {! !}
f2 : (a : A) fiber q x ∥₁
f2 a = (a , {! !}) ∣₁

View file

@ -0,0 +1,13 @@
{-# OPTIONS --cubical #-}
module CubicalHott.Lemma7-2-8 where
open import Cubical.Foundations.Prelude
open import Cubical.Foundations.HLevels
open import Data.Nat
lemma : {n : } {X : Type}
((x : X) isOfHLevel (suc n) X)
isOfHLevel (suc n) X
lemma {zero} {X} f x y = f x x y
lemma {suc n} {X} f x y = f x x y

View file

@ -4,8 +4,13 @@ module CubicalHott.Lemma7-3-1 where
open import Cubical.Foundations.Prelude
open import Cubical.Foundations.HLevels
open import Cubical.Data.Unit
open import Cubical.HITs.Truncation
open import Data.Nat
open import Cubical.Data.Nat
lemma : {A : Type} (n : ) isOfHLevel n ( A n)
lemma {A} n = {! !}
lemma {A} zero = tt* , helper where
helper : (y : A zero) tt* y
helper tt* = refl
lemma {A} (suc zero) x y = {! !}
lemma {A} (suc (suc n)) = {! !}

View file

@ -0,0 +1,24 @@
{-# OPTIONS --cubical #-}
module CubicalHott.Theorem3-2-2 where
open import Cubical.Foundations.Prelude
open import Cubical.Foundations.Equiv
open import Cubical.Foundations.Isomorphism
open import Cubical.Relation.Nullary
open import Cubical.Data.Nat
open import Cubical.Data.Bool
-- Trying to give a cubical interpretation of this
theorem : ¬ ((A : Type) (¬ (¬ A) A))
theorem f = {! !} where
apdfp : PathP (λ i ¬ ¬ notEq i notEq i) (f Bool) (f Bool)
apdfp = congP (λ i A {! ¬ ¬ A → A !}) notEq
u : ¬ ¬ Bool
u = λ p p true
-- foranyu : PathP (λ i → {! !}) (fbool u) (fbool u)
-- foranyu i = {! apdfp i u !}

View file

@ -73,9 +73,13 @@ lemma zero (A , a , Acontr) (B , b , Bcontr) i =
-- in hfill u (inS (a≡b {! j !})) j
-- in {! !}
lemma (suc zero) (A , A-prop) (B , B-prop) p q =
let IH = lemma zero in
{! !}
lemma {l = l} (suc zero) (A , A-prop) (B , B-prop) p q i j = {! !} , {! !} where
z1 = let z = lemma {l = l} zero in {! !}
-- overall goal is p ≡ q
-- p : (A , A-prop) ≡ (B , B-prop) where both are type Σ Type isProp
-- q : (A , A-prop) ≡ (B , B-prop)
-- cong_fst(p) : A ≡ B
lemma (suc (suc n)) x y p q =
let IH = lemma (suc n) in

View file

@ -0,0 +1,17 @@
{-# OPTIONS --cubical #-}
module CubicalHott.Theorem7-2-7 where
open import Cubical.Foundations.Prelude
open import Cubical.Foundations.HLevels
open import Cubical.Foundations.Structure
open import Cubical.Homotopy.Loopspace
open import Data.Nat
open import CubicalHott.Lemma7-2-8 renaming (lemma to lemma7-2-8)
theorem : {n : } {X : Type}
((x : X) isOfHLevel (suc n) (typ (Ω (X , x))))
isOfHLevel (suc (suc n)) X
theorem {n} {X} f x y =
lemma7-2-8 λ p J (λ y' p' isOfHLevel (suc n) (x y')) (f x) p

View file

@ -0,0 +1,20 @@
{-# OPTIONS --cubical #-}
module CubicalHott.Theorem7-2-9 where
open import Cubical.Foundations.Prelude
open import Cubical.Foundations.HLevels
open import Cubical.Foundations.Equiv
open import Cubical.Foundations.Structure
open import Cubical.Homotopy.Loopspace
open import Cubical.Data.Nat
open import CubicalHott.Exercise3-5 renaming (exercise to exercise3-5)
open import CubicalHott.Theorem7-2-1 renaming (forwards to theorem7-2-1)
theorem : {n : } {A : Type}
((a : A) isContr (typ ((Ω^ suc (suc n)) (A , a))))
isOfHLevel (suc n) A
theorem {zero} f = invEq exercise3-5 λ x x , λ y {! !}
theorem {suc zero} f = theorem7-2-1 (λ x p let z = snd (f x) in {! !})
theorem {suc (suc n)} f x y = {! !}

88
src/Misc/FiveLemma.agda Normal file
View file

@ -0,0 +1,88 @@
{-# OPTIONS --cubical #-}
module Misc.FiveLemma where
open import Agda.Primitive
open import Cubical.Data.Sigma
open import Cubical.Categories.Abelian
open import Cubical.Categories.Additive
open import Cubical.Categories.Category
open import Cubical.Foundations.Isomorphism
open import Cubical.Foundations.Equiv
open import Cubical.Foundations.Pointed
open import Cubical.Foundations.Prelude
open import Cubical.Foundations.Structure
open import Cubical.Functions.Embedding
open import Cubical.Functions.Surjection
private
variable
' : Level
-- kernel : {l : Level} → {A B : Pointed l} → (f : A →∙ B) → Type l
-- kernel {l} {A = A @ A , a} {B = B @ B , b} (f , f-eq) =
-- -- all elements of A that map to the base point b of B
-- Σ A λ a → f a ≡ b
-- image : {l : Level} → {A B : Pointed l} → (f : A →∙ B) → Type l
-- image {l} {A = A @ A , a} {B = B @ B , b} (f , f-eq) =
-- -- all elements of B such that
-- Σ B (λ b →
-- -- there exists some A such that f(a) is b
-- Σ A λ a → f a ≡ b
-- )
-- module _ (C : Category ') where
-- open Category C
-- module _ {x y : ob} where
-- record IsImage {i : ob} (f : Hom[ x , y ]) (m : Hom[ i , y ]) : Type (-max ') where
-- field
-- e : Hom[ x , i ]
-- req1 : f ≡ (_⋆_ e m)
-- req2 : (i' : ob) → (e' : Hom[ x , i' ]) → (m' : Hom[ i' , y ]) → f ≡ (_⋆_ e' m')
-- → ∃![ v ∈ Hom[ i , i' ] ] (m ≡ (_⋆_ v m'))
-- record Image (f : Hom[ x , y ]) : Type (-max ') where
-- field
-- i : ob
-- m : Hom[ i , y ]
-- isIm : IsImage f m
-- im : ∀ {x y : ob} → (f : Hom[ x , y ]) → Image f
-- im {x} {y} f = record { i = {! !} ; m = {! !} ; isIm = {! !} }
module fiveLemma (AC : AbelianCategory ') where
open AbelianCategory AC
module _
(A B C D E A' B' C' D' E' : ob)
(f : Hom[ A , B ])
(g : Hom[ B , C ])
(h : Hom[ C , D ])
(j : Hom[ D , E ])
(l : Hom[ A , A' ])
(m : Hom[ B , B' ])
(n : Hom[ C , C' ])
(p : Hom[ D , D' ])
(q : Hom[ E , E' ])
(r : Hom[ A' , B' ])
(s : Hom[ B' , C' ])
(t : Hom[ C' , D' ])
(u : Hom[ D' , E' ])
(fgExact : ker g ?)
where
z = let z1 = ker f in {! !}
-- lemma : isExact f g → isExact g h → isExact h j
-- → isExact r s → isExact s t → isExact t u
-- → isSurjection (fst l) → isEquiv (fst m) → isEquiv (fst p) → isEmbedding (fst q)
-- → isEquiv (fst n)
-- lemma fgIsExact ghIsExact hjIsExact rsIsExact stIsExact tuIsExact lIsSurjection mIsEquiv pIsEquiv qIsInjection =
-- isEmbedding×isSurjection→isEquiv (nIsEmbedding , nIsSurjection) where
-- nIsEmbedding : isEmbedding (fst n)
-- nIsEmbedding c1 c2 = {! !}
-- nIsSurjection : isSurjection (fst n)
-- nIsSurjection b = {! !}

4
src/Misc/SnakeLemma.agda Normal file
View file

@ -0,0 +1,4 @@
{-# OPTIONS --cubical #-}
module Misc.SnakeLemma where