Functoriality of higher modalities
Content created by Fredrik Bakke and Egbert Rijke.
Created on 2023-11-24.
Last modified on 2024-04-25.
module orthogonal-factorization-systems.functoriality-higher-modalities where
Imports
open import foundation.action-on-identifications-functions open import foundation.dependent-pair-types open import foundation.function-extensionality open import foundation.function-types open import foundation.homotopies open import foundation.identity-types open import foundation.path-algebra open import foundation.small-types open import foundation.transport-along-identifications open import foundation.univalence open import foundation.universe-levels open import foundation.whiskering-identifications-concatenation open import orthogonal-factorization-systems.higher-modalities open import orthogonal-factorization-systems.modal-induction open import orthogonal-factorization-systems.modal-operators open import orthogonal-factorization-systems.modal-subuniverse-induction
Idea
Every higher modality
○
is functorial. Given a map f : A → B
, there is a
unique map ○f : ○A → ○B
that fits
into a natural square
f
X ------> Y
| |
| |
∨ ∨
○ X ----> ○ Y.
○ f
This construction preserves composition, identifications, homotopies, and equivalences.
Properties
Action on maps
module _ {l1 l2 : Level} (m : higher-modality l1 l2) where ap-map-higher-modality : {X Y : UU l1} → (X → Y) → operator-higher-modality m X → operator-higher-modality m Y ap-map-higher-modality = ap-map-ind-modality (unit-higher-modality m) (ind-higher-modality m)
Functoriality
module _ {l : Level} (m : higher-modality l l) where functoriality-higher-modality : {X Y Z : UU l} (g : Y → Z) (f : X → Y) → ( ap-map-higher-modality m g ∘ ap-map-higher-modality m f) ~ ( ap-map-higher-modality m (g ∘ f)) functoriality-higher-modality {X} {Y} {Z} g f = ind-subuniverse-Id-higher-modality m ( ap-map-higher-modality m g ∘ ap-map-higher-modality m f) ( ap-map-higher-modality m (g ∘ f)) ( λ x → ( ap ( ap-map-higher-modality m g) ( compute-rec-higher-modality m (unit-higher-modality m ∘ f) x)) ∙ ( ( compute-rec-higher-modality m (unit-higher-modality m ∘ g) (f x)) ∙ ( inv ( compute-rec-higher-modality m ( unit-higher-modality m ∘ (g ∘ f)) ( x)))))
Naturality of the unit of a higher modality
For every map f : X → Y
there is a naturality square
f
X ------> Y
| |
| |
∨ ∨
○ X ----> ○ Y.
○ f
module _ {l1 l2 : Level} (m : higher-modality l1 l2) where naturality-unit-higher-modality : {X Y : UU l1} (f : X → Y) → ( ap-map-higher-modality m f ∘ unit-higher-modality m) ~ ( unit-higher-modality m ∘ f) naturality-unit-higher-modality = naturality-unit-ind-modality ( unit-higher-modality m) ( ind-higher-modality m) ( compute-ind-higher-modality m)
naturality-unit-higher-modality' : {X Y : UU l1} (f : X → Y) {x x' : X} → unit-higher-modality m x = unit-higher-modality m x' → unit-higher-modality m (f x) = unit-higher-modality m (f x') naturality-unit-higher-modality' = naturality-unit-ind-modality' ( unit-higher-modality m) ( ind-higher-modality m) ( compute-ind-higher-modality m) module _ {l : Level} (m : higher-modality l l) where compute-naturality-unit-ind-modality : {X Y Z : UU l} (g : Y → Z) (f : X → Y) (x : X) → ( ( functoriality-higher-modality m g f (unit-higher-modality m x)) ∙ ( naturality-unit-higher-modality m (g ∘ f) x)) = ( ( ap ( ap-map-higher-modality m g) ( naturality-unit-higher-modality m f x)) ∙ ( naturality-unit-higher-modality m g (f x))) compute-naturality-unit-ind-modality g f x = ( right-whisker-concat ( compute-ind-subuniverse-Id-higher-modality m ( ap-map-higher-modality m g ∘ ap-map-higher-modality m f) ( ap-map-higher-modality m (g ∘ f)) ( _) ( x)) ( compute-rec-higher-modality m (unit-higher-modality m ∘ (g ∘ f)) x)) ∙ ( assoc ( ap ( ap-map-higher-modality m g) ( compute-rec-higher-modality m (unit-higher-modality m ∘ f) x)) ( ( compute-rec-higher-modality m (unit-higher-modality m ∘ g) (f x)) ∙ ( inv ( compute-rec-higher-modality m (unit-higher-modality m ∘ g ∘ f) x))) ( compute-rec-higher-modality m (unit-higher-modality m ∘ g ∘ f) x)) ∙ ( left-whisker-concat ( ap ( ap-map-higher-modality m g) ( compute-rec-higher-modality m (unit-higher-modality m ∘ f) x)) ( is-section-inv-concat' ( compute-rec-higher-modality m (unit-higher-modality m ∘ g ∘ f) x) ( compute-rec-higher-modality m (unit-higher-modality m ∘ g) (f x))))
Action on homotopies
This definition of action on homotopies is meant to avoid using function extensionality. This is left for future work.
module _ {l : Level} (m : higher-modality l l) where htpy-ap-higher-modality : {X Y : UU l} {f g : X → Y} → f ~ g → ap-map-higher-modality m f ~ ap-map-higher-modality m g htpy-ap-higher-modality H x' = ap (λ f → ap-map-higher-modality m f x') (eq-htpy H)
References
- [Che]
- Felix Cherubini. Felixwellen/DCHoTT-Agda. GitHub repository. URL: https://github.com/felixwellen/DCHoTT-Agda.
Recent changes
- 2024-04-25. Fredrik Bakke. chore: Fix arrowheads in character diagrams (#1124).
- 2024-03-12. Fredrik Bakke. Bibliographies (#1058).
- 2024-02-06. Egbert Rijke and Fredrik Bakke. Refactor files about identity types and homotopies (#1014).
- 2023-11-24. Fredrik Bakke. Modal type theory (#701).