Null cocones under pointed span diagrams
Content created by Egbert Rijke.
Created on 2024-03-13.
Last modified on 2024-03-13.
module synthetic-homotopy-theory.null-cocones-under-pointed-span-diagrams where
Imports
open import foundation.action-on-identifications-functions open import foundation.commuting-squares-of-maps open import foundation.dependent-pair-types open import foundation.homotopies open import foundation.identity-types open import foundation.universe-levels open import foundation.whiskering-identifications-concatenation open import structured-types.commuting-squares-of-pointed-maps open import structured-types.constant-pointed-maps open import structured-types.pointed-homotopies open import structured-types.pointed-maps open import structured-types.pointed-span-diagrams open import structured-types.pointed-types open import synthetic-homotopy-theory.cocones-under-pointed-span-diagrams
Idea
The null cocone¶ under a
pointed span diagram 𝒮
given by
f g
A <---- S ----> B
with codomain X
is the
cocone under
𝒮
consisting of the
constant pointed maps A →∗ X
and
B →∗ X
and the canonical homotopy witnessing that the square of pointed maps
g
S -----> B
| |
f | | const
∨ ∨
A -----> X
const
commutes. The null
cocone under 𝒮
provides a canonical pointing of the type
cocone-Pointed-Type f g
.
Definitions
Null cocones under pointed span diagrams
module _ {l1 l2 l3 l4 : Level} (𝒮 : pointed-span-diagram l1 l2 l3) (X : Pointed-Type l4) where left-pointed-map-null-cocone-Pointed-Type : pointed-domain-pointed-span-diagram 𝒮 →∗ X left-pointed-map-null-cocone-Pointed-Type = constant-pointed-map _ X left-map-null-cocone-Pointed-Type : domain-pointed-span-diagram 𝒮 → type-Pointed-Type X left-map-null-cocone-Pointed-Type = map-pointed-map left-pointed-map-null-cocone-Pointed-Type preserves-point-left-map-null-cocone-Pointed-Type : left-map-null-cocone-Pointed-Type (point-domain-pointed-span-diagram 𝒮) = point-Pointed-Type X preserves-point-left-map-null-cocone-Pointed-Type = preserves-point-pointed-map left-pointed-map-null-cocone-Pointed-Type right-pointed-map-null-cocone-Pointed-Type : pointed-codomain-pointed-span-diagram 𝒮 →∗ X right-pointed-map-null-cocone-Pointed-Type = constant-pointed-map _ X right-map-null-cocone-Pointed-Type : codomain-pointed-span-diagram 𝒮 → type-Pointed-Type X right-map-null-cocone-Pointed-Type = map-pointed-map right-pointed-map-null-cocone-Pointed-Type preserves-point-right-map-null-cocone-Pointed-Type : right-map-null-cocone-Pointed-Type ( point-codomain-pointed-span-diagram 𝒮) = point-Pointed-Type X preserves-point-right-map-null-cocone-Pointed-Type = preserves-point-pointed-map right-pointed-map-null-cocone-Pointed-Type htpy-coherence-square-null-cocone-Pointed-Type : coherence-square-maps ( map-pointed-map (right-pointed-map-pointed-span-diagram 𝒮)) ( map-pointed-map (left-pointed-map-pointed-span-diagram 𝒮)) ( map-constant-pointed-map (pointed-codomain-pointed-span-diagram 𝒮) X) ( map-constant-pointed-map (pointed-domain-pointed-span-diagram 𝒮) X) htpy-coherence-square-null-cocone-Pointed-Type = refl-htpy coherence-point-coherence-square-null-cocone-Pointed-Type : coherence-point-unpointed-htpy-pointed-Π ( constant-pointed-map _ X ∘∗ (left-pointed-map-pointed-span-diagram 𝒮)) ( constant-pointed-map _ X ∘∗ (right-pointed-map-pointed-span-diagram 𝒮)) ( htpy-coherence-square-null-cocone-Pointed-Type) coherence-point-coherence-square-null-cocone-Pointed-Type = right-whisker-concat ( ( ap-const ( point-Pointed-Type X) ( preserves-point-left-map-pointed-span-diagram 𝒮)) ∙ ( inv ( ap-const ( point-Pointed-Type X) ( preserves-point-right-map-pointed-span-diagram 𝒮)))) ( refl) coherence-square-null-cocone-Pointed-Type : coherence-square-pointed-maps ( right-pointed-map-pointed-span-diagram 𝒮) ( left-pointed-map-pointed-span-diagram 𝒮) ( right-pointed-map-null-cocone-Pointed-Type) ( left-pointed-map-null-cocone-Pointed-Type) pr1 coherence-square-null-cocone-Pointed-Type = htpy-coherence-square-null-cocone-Pointed-Type pr2 coherence-square-null-cocone-Pointed-Type = coherence-point-coherence-square-null-cocone-Pointed-Type null-cocone-Pointed-Type : cocone-Pointed-Type ( left-pointed-map-pointed-span-diagram 𝒮) ( right-pointed-map-pointed-span-diagram 𝒮) ( X) pr1 null-cocone-Pointed-Type = left-pointed-map-null-cocone-Pointed-Type pr1 (pr2 null-cocone-Pointed-Type) = right-pointed-map-null-cocone-Pointed-Type pr2 (pr2 null-cocone-Pointed-Type) = coherence-square-null-cocone-Pointed-Type
The pointed type of cocones under pointed span diagrams
module _ {l1 l2 l3 l4 : Level} (𝒮 : pointed-span-diagram l1 l2 l3) (X : Pointed-Type l4) where type-cocone-pointed-type-Pointed-Type : UU (l1 ⊔ l2 ⊔ l3 ⊔ l4) type-cocone-pointed-type-Pointed-Type = cocone-Pointed-Type ( left-pointed-map-pointed-span-diagram 𝒮) ( right-pointed-map-pointed-span-diagram 𝒮) ( X) cocone-pointed-type-Pointed-Type : Pointed-Type (l1 ⊔ l2 ⊔ l3 ⊔ l4) pr1 cocone-pointed-type-Pointed-Type = type-cocone-pointed-type-Pointed-Type pr2 cocone-pointed-type-Pointed-Type = null-cocone-Pointed-Type 𝒮 X
Recent changes
- 2024-03-13. Egbert Rijke. Refactoring pointed types (#1056).