Descent data for families of function types over the circle
Content created by Egbert Rijke, Fredrik Bakke and Vojtěch Štěpančík.
Created on 2023-08-28.
Last modified on 2024-04-25.
module synthetic-homotopy-theory.descent-circle-function-types where
Imports
open import foundation.commuting-squares-of-maps open import foundation.commuting-triangles-of-maps open import foundation.dependent-pair-types open import foundation.equivalences open import foundation.function-extensionality open import foundation.function-types open import foundation.functoriality-dependent-pair-types open import foundation.functoriality-function-types open import foundation.homotopies open import foundation.homotopy-algebra open import foundation.identity-types open import foundation.postcomposition-functions open import foundation.transport-along-identifications open import foundation.universal-property-equivalences open import foundation.universe-levels open import foundation.whiskering-homotopies-composition open import synthetic-homotopy-theory.descent-circle open import synthetic-homotopy-theory.free-loops open import synthetic-homotopy-theory.morphisms-descent-data-circle open import synthetic-homotopy-theory.sections-descent-circle open import synthetic-homotopy-theory.universal-property-circle
Idea
Given two families A, B : 𝕊¹ → U
over the
circle, the
descent data for the family of
function types λ t → (A t → B t)
is (X → Y, λ h → f ∘ h ∘ e⁻¹)
, where
(X, e)
is descent data for A
and (Y, f)
is descent data for B
.
This correspondence allows us to characterize sections of this family as
homomorphisms from (X, e)
to (Y, f)
.
Definitions
Descent data for families of function types over the circle
module _ { l1 l2 l3 : Level} {S : UU l1} (l : free-loop S) ( A : family-with-descent-data-circle l l2) ( B : family-with-descent-data-circle l l3) where family-descent-data-circle-function-type : S → UU (l2 ⊔ l3) family-descent-data-circle-function-type x = family-family-with-descent-data-circle A x → family-family-with-descent-data-circle B x descent-data-circle-function-type : descent-data-circle (l2 ⊔ l3) pr1 descent-data-circle-function-type = type-family-with-descent-data-circle A → type-family-with-descent-data-circle B pr2 descent-data-circle-function-type = ( equiv-postcomp ( type-family-with-descent-data-circle A) ( aut-family-with-descent-data-circle B)) ∘e ( equiv-precomp ( inv-equiv (aut-family-with-descent-data-circle A)) ( type-family-with-descent-data-circle B))
Properties
Characterization of descent data for families of function types over the circle
module _ { l1 l2 l3 : Level} {S : UU l1} (l : free-loop S) ( A : family-with-descent-data-circle l l2) ( B : family-with-descent-data-circle l l3) where eq-descent-data-circle-function-type : equiv-descent-data-circle ( descent-data-circle-function-type l A B) ( descent-data-family-circle ( l) ( family-descent-data-circle-function-type l A B)) pr1 eq-descent-data-circle-function-type = ( equiv-postcomp ( family-family-with-descent-data-circle A (base-free-loop l)) ( equiv-family-with-descent-data-circle B)) ∘e ( equiv-precomp ( inv-equiv (equiv-family-with-descent-data-circle A)) ( type-family-with-descent-data-circle B)) pr2 eq-descent-data-circle-function-type h = ( eq-htpy ( horizontal-concat-htpy ( coherence-square-family-with-descent-data-circle B) ( h ·l inv-htpy ( coherence-square-maps-inv-equiv ( equiv-family-with-descent-data-circle A) ( aut-family-with-descent-data-circle A) ( equiv-tr ( family-family-with-descent-data-circle A) ( loop-free-loop l)) ( equiv-family-with-descent-data-circle A) ( coherence-square-family-with-descent-data-circle A))))) ∙ ( inv ( ( tr-function-type ( family-family-with-descent-data-circle A) ( family-family-with-descent-data-circle B) (loop-free-loop l)) ( map-equiv-descent-data-circle ( descent-data-circle-function-type l A B) ( descent-data-family-circle ( l) ( family-descent-data-circle-function-type l A B)) ( eq-descent-data-circle-function-type) ( h)))) family-with-descent-data-circle-function-type : family-with-descent-data-circle l (l2 ⊔ l3) pr1 family-with-descent-data-circle-function-type = family-descent-data-circle-function-type l A B pr1 (pr2 family-with-descent-data-circle-function-type) = descent-data-circle-function-type l A B pr2 (pr2 family-with-descent-data-circle-function-type) = eq-descent-data-circle-function-type
Maps between families over the circle are equivalent to homomorphisms between the families’ descent data
module _ { l1 l2 l3 : Level} {S : UU l1} (l : free-loop S) ( A : family-with-descent-data-circle l l2) ( B : family-with-descent-data-circle l l3) where equiv-fixpoint-descent-data-circle-function-type-hom : fixpoint-descent-data-circle (descent-data-circle-function-type l A B) ≃ hom-descent-data-circle ( descent-data-family-with-descent-data-circle A) ( descent-data-family-with-descent-data-circle B) equiv-fixpoint-descent-data-circle-function-type-hom = equiv-tot ( λ h → ( equiv-inv-htpy ( map-aut-family-with-descent-data-circle B ∘ h) ( h ∘ map-aut-family-with-descent-data-circle A)) ∘e ( inv-equiv ( equiv-coherence-triangle-maps-inv-top ( map-aut-family-with-descent-data-circle B ∘ h) ( h) ( aut-family-with-descent-data-circle A))) ∘e ( equiv-inv-htpy _ _) ∘e ( equiv-funext)) equiv-descent-data-family-circle-function-type-hom : dependent-universal-property-circle l → ( (x : S) → family-descent-data-circle-function-type l A B x) ≃ hom-descent-data-circle ( descent-data-family-with-descent-data-circle A) ( descent-data-family-with-descent-data-circle B) equiv-descent-data-family-circle-function-type-hom dup-circle = equiv-fixpoint-descent-data-circle-function-type-hom ∘e ( equiv-ev-fixpoint-descent-data-circle ( l) ( family-with-descent-data-circle-function-type l A B) ( dup-circle))
Recent changes
- 2024-04-25. Fredrik Bakke. chore: Universal properties of colimits quantify over all universe levels (#1126).
- 2024-02-19. Fredrik Bakke. Additions for coherently invertible maps (#1024).
- 2024-02-06. Egbert Rijke and Fredrik Bakke. Refactor files about identity types and homotopies (#1014).
- 2023-11-24. Egbert Rijke. Refactor precomposition (#937).
- 2023-10-08. Egbert Rijke and Fredrik Bakke. Refactoring types with automorphisms/endomorphisms and descent data for the circle (#812).