Built with Alectryon. Bubbles () indicate interactive fragments: hover for details, tap to reveal contents. Use Ctrl+↑Ctrl+↓ to navigate, Ctrl+🖱️ to focus. On Mac, use ⌘ instead of Ctrl.
(** * Spectra *)Require Import HoTT.Basics HoTT.Types.Require Import Pointed.LocalOpen Scope nat_scope.LocalOpen Scope path_scope.LocalOpen Scope equiv_scope.LocalOpen Scope pointed_scope.(** ** Basic Definitions of Spectra *)RecordPrespectrum :=
{ deloop :> nat -> pType
; glue : foralln, deloop n ->* loops (deloop (n .+1)) }.ClassIsSpectrum (E : Prespectrum) :=
is_equiv_glue :: foralln, IsEquiv (glue E n).Definitionequiv_glue (E : Prespectrum) `{IsSpectrum E}
: foralln, E n <~>* loops (E n.+1)
:= funn => Build_pEquiv (glue E n) _.RecordSpectrum :=
{ to_prespectrum :> Prespectrum
; to_is_spectrum :: IsSpectrum to_prespectrum }.(** ** Truncations of spectra *)
H: Univalence k: trunc_index E: Spectrum
Spectrum
H: Univalence k: trunc_index E: Spectrum
Spectrum
H: Univalence k: trunc_index E: Spectrum
foralln : nat,
(funn0 : nat => pTr (trunc_index_inc k n0) (E n0)) n ->*
loops ((funn0 : nat => pTr (trunc_index_inc k n0) (E n0)) n.+1)
H: Univalence k: trunc_index E: Spectrum
IsSpectrum
{|
deloop := funn : nat => pTr (trunc_index_inc k n) (E n); glue := ?glue
|}
H: Univalence k: trunc_index E: Spectrum
foralln : nat,
(funn0 : nat => pTr (trunc_index_inc k n0) (E n0)) n ->*
loops ((funn0 : nat => pTr (trunc_index_inc k n0) (E n0)) n.+1)
H: Univalence k: trunc_index E: Spectrum n: nat
(funn0 : nat => pTr (trunc_index_inc k n0) (E n0)) n ->*
loops ((funn0 : nat => pTr (trunc_index_inc k n0) (E n0)) n.+1)
exact ((ptr_loops _ (E n.+1)) o*E (pequiv_ptr_functor _ (equiv_glue E n))).
H: Univalence k: trunc_index E: Spectrum
IsSpectrum
{|
deloop := funn : nat => pTr (trunc_index_inc k n) (E n);
glue :=
funn : nat =>
ptr_loops (trunc_index_inc k n) (E n.+1)
o*E pequiv_ptr_functor (trunc_index_inc k n) (equiv_glue E n)
|}
H: Univalence k: trunc_index E: Spectrum n: nat
IsEquiv
(glue
{|
deloop := funn0 : nat => pTr (trunc_index_inc k n0) (E n0);
glue :=
funn0 : nat =>
ptr_loops (trunc_index_inc k n0) (E n0.+1)
o*E pequiv_ptr_functor (trunc_index_inc k n0) (equiv_glue E n0)
|} n)
H: Univalence k: trunc_index E: Spectrum n: nat
IsEquiv
(ptr_loops (trunc_index_inc k n) (E n.+1)
o*E pequiv_ptr_functor (trunc_index_inc k n) (equiv_glue E n))