(** * Spectra *)Require Import Pointed. Local Open Scope nat_scope. Local Open Scope path_scope. Local Open Scope equiv_scope. Local Open Scope pointed_scope. (** ** Basic Definitions of Spectra *) Record Prespectrum := { deloop :> nat -> pType ; glue : forall n, deloop n ->* loops (deloop (n .+1)) }. Class IsSpectrum (E : Prespectrum) := is_equiv_glue :: forall n, IsEquiv (glue E n). Definition equiv_glue (E : Prespectrum) `{IsSpectrum E} : forall n, E n <~>* loops (E n.+1) := fun n => Build_pEquiv (glue E n) _. Record Spectrum := { to_prespectrum :> Prespectrum ; to_is_spectrum :: IsSpectrum to_prespectrum }. (** ** Truncations of spectra *)H: Univalence
k: trunc_index
E: SpectrumSpectrumH: Univalence
k: trunc_index
E: SpectrumSpectrumH: Univalence
k: trunc_index
E: Spectrumforall n : nat, (fun n0 : nat => pTr (trunc_index_inc k n0) (E n0)) n ->* loops ((fun n0 : nat => pTr (trunc_index_inc k n0) (E n0)) n.+1)H: Univalence
k: trunc_index
E: SpectrumIsSpectrum {| deloop := fun n : nat => pTr (trunc_index_inc k n) (E n); glue := ?glue |}H: Univalence
k: trunc_index
E: Spectrumforall n : nat, (fun n0 : nat => pTr (trunc_index_inc k n0) (E n0)) n ->* loops ((fun n0 : 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
n: nat(fun n : nat => pTr (trunc_index_inc k n) (E n)) n ->* loops ((fun n : nat => pTr (trunc_index_inc k n) (E n)) n.+1)H: Univalence
k: trunc_index
E: SpectrumIsSpectrum {| deloop := fun n : nat => pTr (trunc_index_inc k n) (E n); glue := fun n : 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: natIsEquiv (glue {| deloop := fun n : nat => pTr (trunc_index_inc k n) (E n); glue := fun n : 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) |} n)rapply isequiv_compose. Defined.H: Univalence
k: trunc_index
E: Spectrum
n: natIsEquiv (ptr_loops (trunc_index_inc k n) (E n.+1) o*E pequiv_ptr_functor (trunc_index_inc k n) (equiv_glue E n))