LES definition similar to the one used by Floris, closes #25

This commit is contained in:
Michael Zhang 2024-10-10 04:41:21 -05:00
parent 705372bd9c
commit 65f9ec18c5
2 changed files with 95 additions and 0 deletions

View file

@ -0,0 +1,93 @@
{-# OPTIONS --cubical #-}
module HomotopyTheory.LES where
open import Cubical.Foundations.Prelude
open import Cubical.Foundations.Pointed
open import Cubical.Foundations.Equiv
open import Data.Nat
open import Data.Fin
open import Data.Product
open import Cubical.Homotopy.Base
open import Cubical.Homotopy.Loopspace
open import Cubical.Homotopy.Group.Base
open import Cubical.Homotopy.Group.LES
open import Cubical.HITs.SetTruncation renaming (map to mapTrunc)
open import Cubical.HITs.SetTruncation.Fibers
private
variable
X Y : Type
LES-node : {l} {X Y : Pointed l} (f : X Y) × Fin 3 Type l
LES-node {Y = Y} f (n , zero) = π n Y
LES-node {X = X} f (n , suc zero) = π n X
LES-node {X = (X , x)} {Y = (Y , y)} (f , f-eq) (n , suc (suc zero)) =
let F = fiber f y in
π n (F , x , f-eq)
sucF : × Fin 3 × Fin 3
sucF (n , zero) = n , suc zero
sucF (n , suc zero) = n , suc (suc zero)
sucF (n , suc (suc zero)) = suc n , zero
LES-edge : {l} {X∙ Y∙ : Pointed l} (f∙ : X∙ Y∙) (n : × Fin 3)
LES-node f∙ (sucF n) LES-node f∙ n
LES-edge {X∙ = X∙ @ (X , x)} {Y∙ = Y∙ @ (Y , y)} f∙ @ (f , f-eq) (n , zero) = h n where
h1 : (n : ) (Ω^ n) X∙ (Ω^ n) Y∙
h1 zero = f∙
h1 (suc n) = (λ x refl) , helper where
helper : refl snd (Ω ((Ω^ n) Y∙))
helper i j = (Ω^ n) (Y , y) .snd
-- helper = λ i j →
-- let
-- top : (Ω^ n) (Y , y) .fst
-- top = {! refl !}
-- u = λ k → λ where
-- (i = i0) → {! !}
-- (i = i1) → {! !}
-- (j = i0) → {! !}
-- (j = i1) → {! !}
-- in hcomp u {! !}
h : (n : ) π n X∙ π n Y∙
h n = mapTrunc (fst (h1 n))
-- h zero a ∣₂ = f a ∣₂
-- h (suc n) a ∣₂ = let IH = h n a i0 ∣₂ in {! !} ∣₂
-- h zero (squash₂ a b p q i j) = squash₂ (h 0 a) (h 0 b) (cong (h 0) p) (cong (h 0) q) i j
-- h (suc n) (squash₂ a b p q i j) = {! !}
LES-edge {X∙ = X∙ @ (X , x)} {Y∙ = Y∙ @ (Y , y)} f∙ @ (f , f-eq) (n , suc zero) = h n where
F = fiber f y
h1 : (n : ) (Ω^ n) (F , x , f-eq) (Ω^ n) X∙
h1 zero = fst , refl
h1 (suc n) = (λ f i (Ω^ n) (X , x) .snd) , λ i j (Ω^ n) (X , x) .snd
h : (n : ) π n (F , x , f-eq) π n X∙
h n = mapTrunc (fst (h1 n))
LES-edge {X∙ = X∙ @ (X , x)} {Y∙ = Y∙ @ (Y , y)} f∙ @ (f , f-eq) (n , suc (suc zero)) = h n where
F = fiber f y
h1 : (n : ) (Ω^ (suc n)) Y∙ (Ω^ n) (F , x , f-eq)
h1 zero = (λ y x , f-eq) , refl
h1 (suc n) = (λ y i (Ω^ n) (F , x , f-eq) .snd) , λ i j (Ω^ n) (F , x , f-eq) .snd
h : (n : ) π (suc n) Y∙ π n (F , x , f-eq)
h n = mapTrunc (fst (h1 n))
-- LES-edge f n_ with mapN n_
-- LES-edge {X = X∙ @ (X , x)} {Y = Y∙ @ (Y , y)} f n_ | (n , zero) = {! h !} where
-- h : π n X∙ → π n Y∙
-- h x ∣₂ = {! !} ∣₂
-- h (squash₂ z z₁ p q i i₁) = {! !}
-- -- z : LES-node f (mapN (suc n_))
-- -- z : π n X
-- -- z : ∥ typ ((Ω^ 0) X) ∥₂
-- -- z : ∥ typ X ∥₂
-- -- z : ∥ typ X ∥₂
-- LES-edge f n_ | (n , suc zero) = λ z → {! !}
-- LES-edge f n_ | (n , suc (suc zero)) = λ z → {! !}

View file

@ -1,3 +1,5 @@
-- https://www.cs.uoregon.edu/research/summerschool/summer24/lectures/Ahmed.pdf
module LogRel where
open import Data.Bool