Morphisms of retractive types
Content created by Fredrik Bakke.
Created on 2025-10-29.
Last modified on 2025-10-29.
module structured-types.morphisms-retractive-types where
Imports
open import foundation.commuting-tetrahedra-of-maps open import foundation.commuting-triangles-of-maps open import foundation.dependent-pair-types open import foundation.function-types open import foundation.universe-levels open import foundation-core.homotopies open import structured-types.retractive-types
Idea
A
morphism¶
between two retractive types A and B
under X is a map of the underlying types f : A → B such that the following
tetrahedron commutes
X ----------> B
| \\ ∧ |
| \\ / |
| / |
| f/ \\ |
∨ / \\ ∨
A ----------> X.
Definition
module _ {l l1 l2 : Level} {X : UU l} (A : Retractive-Type l1 X) (B : Retractive-Type l2 X) where coherence-of-coherence-hom-Retractive-Type : (f : type-Retractive-Type A → type-Retractive-Type B) → coherence-triangle-maps' ( inclusion-Retractive-Type B) ( f) ( inclusion-Retractive-Type A) → coherence-triangle-maps' ( map-retraction-Retractive-Type A) ( map-retraction-Retractive-Type B) ( f) → UU l coherence-of-coherence-hom-Retractive-Type f H K = coherence-reverse-tetrahedron-maps ( inclusion-Retractive-Type B) ( inclusion-Retractive-Type A) ( map-retraction-Retractive-Type B) ( map-retraction-Retractive-Type A) ( f) ( id' X) ( H) ( K) ( is-retract-Retractive-Type B) ( is-retract-Retractive-Type A) coherence-hom-Retractive-Type : (f : type-Retractive-Type A → type-Retractive-Type B) → UU (l ⊔ l1 ⊔ l2) coherence-hom-Retractive-Type f = Σ ( coherence-triangle-maps' ( inclusion-Retractive-Type B) ( f) ( inclusion-Retractive-Type A)) ( λ H → Σ ( coherence-triangle-maps' ( map-retraction-Retractive-Type A) ( map-retraction-Retractive-Type B) ( f)) ( λ K → coherence-of-coherence-hom-Retractive-Type f H K)) hom-Retractive-Type : UU (l ⊔ l1 ⊔ l2) hom-Retractive-Type = Σ ( type-Retractive-Type A → type-Retractive-Type B) ( coherence-hom-Retractive-Type) module _ {l l1 l2 : Level} {X : UU l} (A : Retractive-Type l1 X) (B : Retractive-Type l2 X) (f : hom-Retractive-Type A B) where map-type-hom-Retractive-Type : type-Retractive-Type A → type-Retractive-Type B map-type-hom-Retractive-Type = pr1 f coh-hom-Retractive-Type : coherence-hom-Retractive-Type A B map-type-hom-Retractive-Type coh-hom-Retractive-Type = pr2 f coh-inclusion-hom-Retractive-Type : coherence-triangle-maps' ( inclusion-Retractive-Type B) ( map-type-hom-Retractive-Type) ( inclusion-Retractive-Type A) coh-inclusion-hom-Retractive-Type = pr1 coh-hom-Retractive-Type coh-retraction-hom-Retractive-Type : coherence-triangle-maps' ( map-retraction-Retractive-Type A) ( map-retraction-Retractive-Type B) ( map-type-hom-Retractive-Type) coh-retraction-hom-Retractive-Type = pr1 (pr2 coh-hom-Retractive-Type) coh-coh-hom-Retractive-Type : coherence-of-coherence-hom-Retractive-Type A B ( map-type-hom-Retractive-Type) ( coh-inclusion-hom-Retractive-Type) ( coh-retraction-hom-Retractive-Type) coh-coh-hom-Retractive-Type = pr2 (pr2 coh-hom-Retractive-Type)
The identity morphism
id-hom-Retractive-Type : {l1 l2 : Level} {X : UU l1} (A : Retractive-Type l2 X) → hom-Retractive-Type A A id-hom-Retractive-Type A = ( id , refl-htpy , refl-htpy , refl-htpy)
Recent changes
- 2025-10-29. Fredrik Bakke. Retractive types and pointed type duality (#1580).