feat(spectrum): start on the LES of homotopy groups for spectra

This commit is contained in:
Floris van Doorn 2016-09-09 16:45:44 -04:00
parent c9af080cc2
commit 9d00ea2f6f

View file

@ -1,11 +1,11 @@
/- /-
Copyright (c) 2016 Michael Shulman. All rights reserved. Copyright (c) 2016 Michael Shulman. All rights reserved.
Released under Apache 2.0 license as described in the file LICENSE. Released under Apache 2.0 license as described in the file LICENSE.
Authors: Michael Shulman Authors: Michael Shulman, Floris van Doorn
-/ -/
import types.int types.pointed types.trunc homotopy.susp algebra.homotopy_group homotopy.chain_complex cubical import types.int types.pointed types.trunc homotopy.susp algebra.homotopy_group homotopy.chain_complex cubical .splice homotopy.LES_of_homotopy_groups
open eq nat int susp pointed pmap sigma is_equiv equiv fiber algebra trunc trunc_index pi open eq nat int susp pointed pmap sigma is_equiv equiv fiber algebra trunc trunc_index pi
/----------------------------------------- /-----------------------------------------
@ -23,6 +23,11 @@ namespace sigma
end sigma end sigma
open sigma open sigma
namespace group
open is_trunc
definition pSet_of_Group (G : Group) : Set* := ptrunctype.mk G _ 1
end group open group
namespace eq namespace eq
definition pathover_eq_Fl' {A B : Type} {f : A → B} {a₁ a₂ : A} {b : B} (p : a₁ = a₂) (q : f a₂ = b) : (ap f p) ⬝ q =[p] q := definition pathover_eq_Fl' {A B : Type} {f : A → B} {a₁ a₂ : A} {b : B} (p : a₁ = a₂) (q : f a₂ = b) : (ap f p) ⬝ q =[p] q :=
@ -351,9 +356,15 @@ namespace spectrum
-- read off the homotopy groups without any tedious case-analysis of -- read off the homotopy groups without any tedious case-analysis of
-- n. We increment by 2 in order to ensure that they are all -- n. We increment by 2 in order to ensure that they are all
-- automatically abelian groups. -- automatically abelian groups.
definition shomotopy_group [constructor] (n : ) (E : spectrum) : CommGroup := πag[0+2] (E (2 + n)) definition shomotopy_group [constructor] (n : ) (E : spectrum) : CommGroup := πag[0+2] (E (n + 2))
notation `πₛ[`:95 n:0 `] `:0 E:95 := shomotopy_group n E notation `πₛ[`:95 n:0 `]`:0 := shomotopy_group n
definition shomotopy_group_fun [constructor] (n : ) {E F : spectrum} (f : E →ₛ F) :
πₛ[n] E →g πₛ[n] F :=
π→g[1+1] (f (n + 2))
notation `πₛ→[`:95 n:0 `]`:0 := shomotopy_group_fun n
/------------------------------- /-------------------------------
Cotensor of spectra by types Cotensor of spectra by types
@ -377,10 +388,53 @@ namespace spectrum
Fibers and long exact sequences Fibers and long exact sequences
-----------------------------------------/ -----------------------------------------/
definition sfiber {N : succ_str} (E F : gen_spectrum N) (f : E →ₛ F) : gen_spectrum N := definition sfiber {N : succ_str} {X Y : gen_spectrum N} (f : X →ₛ Y) : gen_spectrum N :=
spectrum.MK (λn, pfiber (f n)) spectrum.MK (λn, pfiber (f n))
(λn, pfiber_loop_space (f (S n)) ∘*ᵉ pfiber_equiv_of_square (sglue_square f n)) (λn, pfiber_loop_space (f (S n)) ∘*ᵉ pfiber_equiv_of_square (sglue_square f n))
/- the map from the fiber to the domain. The fact that the square commutes requires work -/
-- definition spoint {N : succ_str} {X Y : gen_spectrum N} (f : X →ₛ Y) : sfiber f →ₛ X :=
-- smap.mk (λn, ppoint (f n))
-- begin
-- intro n, exact sorry
-- end
/- TODO: fill in sorry's (and possibly generalize 2 to n) -/
definition π_glue (X : spectrum) (n : ) : π*[2] (X (pred n)) ≃* π*[3] (X n) :=
sorry
definition π_glue_square {X Y : spectrum} (f : X →ₛ Y) (n : ) :
π_glue Y n ∘* π→*[2] (f (pred n)) ~* π→*[3] (f n) ∘* π_glue X n :=
sorry
section
open chain_complex prod fin group
universe variable u
parameters {X Y : spectrum.{u}} (f : X →ₛ Y)
definition LES_of_shomotopy_groups : chain_complex -3 :=
splice (λ(n : ), LES_of_homotopy_groups (f n)) (2, 0) (π_glue Y) (π_glue X) (π_glue_square f)
-- In the comments below is a start on an explicit description of the LES for spectra
-- Maybe it's slightly nicer to work with than the above version
-- definition shomotopy_groups [reducible] : -3 → CommGroup
-- | (n, fin.mk 0 H) := πₛ[n] Y
-- | (n, fin.mk 1 H) := πₛ[n] X
-- | (n, fin.mk k H) := πₛ[n] (sfiber f)
-- definition shomotopy_groups_fun : Π(n : -3), shomotopy_groups (S n) →g shomotopy_groups n
-- | (n, fin.mk 0 H) := proof π→g[1+1] (f (n + 2)) qed --π→*[2] f (n+2)
-- --pmap_of_homomorphism (πₛ→[n] f)
-- | (n, fin.mk 1 H) := proof π→g[1+1] (ppoint (f (n + 2))) qed
-- | (n, fin.mk 2 H) :=
-- proof _ ∘g π→g[1+1] equiv_glue Y (pred n + 2) qed
-- --π→*[n] boundary_map ∘* pcast (ap (ptrunc 0) (loop_space_succ_eq_in Y n))
-- | (n, fin.mk (k+3) H) := begin exfalso, apply lt_le_antisymm H, apply le_add_left end
end
structure sp_chain_complex (N : succ_str) : Type := structure sp_chain_complex (N : succ_str) : Type :=
(car : N → spectrum) (car : N → spectrum)
(fn : Π(n : N), car (S n) →ₛ car n) (fn : Π(n : N), car (S n) →ₛ car n)