# Morphisms of inverse sequential diagrams of types ```agda module foundation.morphisms-inverse-sequential-diagrams where ``` <details><summary>Imports</summary> ```agda open import elementary-number-theory.natural-numbers open import foundation.action-on-identifications-functions open import foundation.binary-homotopies open import foundation.dependent-inverse-sequential-diagrams open import foundation.dependent-pair-types open import foundation.equality-dependent-function-types open import foundation.fundamental-theorem-of-identity-types open import foundation.homotopy-induction open import foundation.inverse-sequential-diagrams open import foundation.structure-identity-principle open import foundation.universe-levels open import foundation.whiskering-homotopies-composition open import foundation-core.equivalences open import foundation-core.function-types open import foundation-core.homotopies open import foundation-core.identity-types open import foundation-core.torsorial-type-families ``` </details> ## Idea A **morphism of inverse sequential diagrams** `A → B` is a commuting diagram of the form ```text ⋯ ----> Aₙ₊₁ ----> Aₙ ----> ⋯ ----> A₁ ----> A₀ | | | | | ⋯ | | ⋯ | | ∨ ∨ ∨ ∨ ∨ ⋯ ----> Bₙ₊₁ ----> Bₙ ----> ⋯ ----> B₁ ----> B₀. ``` ## Definitions ### Morphisms of inverse sequential diagrams of types ```agda naturality-hom-inverse-sequential-diagram : {l1 l2 : Level} (A : inverse-sequential-diagram l1) (B : inverse-sequential-diagram l2) (h : (n : ℕ) → family-inverse-sequential-diagram A n → family-inverse-sequential-diagram B n) (n : ℕ) → UU (l1 ⊔ l2) naturality-hom-inverse-sequential-diagram A B = naturality-section-dependent-inverse-sequential-diagram A ( const-dependent-inverse-sequential-diagram A B) hom-inverse-sequential-diagram : {l1 l2 : Level} (A : inverse-sequential-diagram l1) (B : inverse-sequential-diagram l2) → UU (l1 ⊔ l2) hom-inverse-sequential-diagram A B = section-dependent-inverse-sequential-diagram A ( const-dependent-inverse-sequential-diagram A B) module _ {l1 l2 : Level} (A : inverse-sequential-diagram l1) (B : inverse-sequential-diagram l2) where map-hom-inverse-sequential-diagram : hom-inverse-sequential-diagram A B → (n : ℕ) → family-inverse-sequential-diagram A n → family-inverse-sequential-diagram B n map-hom-inverse-sequential-diagram = map-section-dependent-inverse-sequential-diagram A ( const-dependent-inverse-sequential-diagram A B) naturality-map-hom-inverse-sequential-diagram : (f : hom-inverse-sequential-diagram A B) (n : ℕ) → naturality-hom-inverse-sequential-diagram A B ( map-hom-inverse-sequential-diagram f) ( n) naturality-map-hom-inverse-sequential-diagram = naturality-map-section-dependent-inverse-sequential-diagram A ( const-dependent-inverse-sequential-diagram A B) ``` ### Identity morphism on inverse sequential diagrams of types ```agda id-hom-inverse-sequential-diagram : {l : Level} (A : inverse-sequential-diagram l) → hom-inverse-sequential-diagram A A pr1 (id-hom-inverse-sequential-diagram A) n = id pr2 (id-hom-inverse-sequential-diagram A) n = refl-htpy ``` ### Composition of morphisms of inverse sequential diagrams of types ```agda map-comp-hom-inverse-sequential-diagram : {l : Level} (A B C : inverse-sequential-diagram l) → hom-inverse-sequential-diagram B C → hom-inverse-sequential-diagram A B → (n : ℕ) → family-inverse-sequential-diagram A n → family-inverse-sequential-diagram C n map-comp-hom-inverse-sequential-diagram A B C g f n = map-hom-inverse-sequential-diagram B C g n ∘ map-hom-inverse-sequential-diagram A B f n naturality-comp-hom-inverse-sequential-diagram : {l : Level} (A B C : inverse-sequential-diagram l) (g : hom-inverse-sequential-diagram B C) (f : hom-inverse-sequential-diagram A B) (n : ℕ) → naturality-hom-inverse-sequential-diagram A C ( map-comp-hom-inverse-sequential-diagram A B C g f) ( n) naturality-comp-hom-inverse-sequential-diagram A B C g f n x = ( ap ( map-hom-inverse-sequential-diagram B C g n) ( naturality-map-hom-inverse-sequential-diagram A B f n x)) ∙ ( naturality-map-hom-inverse-sequential-diagram B C g n ( map-hom-inverse-sequential-diagram A B f (succ-ℕ n) x)) comp-hom-inverse-sequential-diagram : {l : Level} (A B C : inverse-sequential-diagram l) → hom-inverse-sequential-diagram B C → hom-inverse-sequential-diagram A B → hom-inverse-sequential-diagram A C pr1 (comp-hom-inverse-sequential-diagram A B C g f) = map-comp-hom-inverse-sequential-diagram A B C g f pr2 (comp-hom-inverse-sequential-diagram A B C g f) = naturality-comp-hom-inverse-sequential-diagram A B C g f ``` ## Properties ### Characterization of equality of morphisms of inverse sequential diagrams of types ```agda module _ {l1 l2 : Level} (A : inverse-sequential-diagram l1) (B : inverse-sequential-diagram l2) where coherence-htpy-hom-inverse-sequential-diagram : (f g : hom-inverse-sequential-diagram A B) → ((n : ℕ) → map-hom-inverse-sequential-diagram A B f n ~ map-hom-inverse-sequential-diagram A B g n) → (n : ℕ) → UU (l1 ⊔ l2) coherence-htpy-hom-inverse-sequential-diagram f g H n = ( naturality-map-hom-inverse-sequential-diagram A B f n ∙h map-inverse-sequential-diagram B n ·l H (succ-ℕ n)) ~ ( H n ·r map-inverse-sequential-diagram A n ∙h naturality-map-hom-inverse-sequential-diagram A B g n) htpy-hom-inverse-sequential-diagram : (f g : hom-inverse-sequential-diagram A B) → UU (l1 ⊔ l2) htpy-hom-inverse-sequential-diagram f g = Σ ( (n : ℕ) → map-hom-inverse-sequential-diagram A B f n ~ map-hom-inverse-sequential-diagram A B g n) ( λ H → (n : ℕ) → coherence-htpy-hom-inverse-sequential-diagram f g H n) refl-htpy-hom-inverse-sequential-diagram : (f : hom-inverse-sequential-diagram A B) → htpy-hom-inverse-sequential-diagram f f pr1 (refl-htpy-hom-inverse-sequential-diagram f) n = refl-htpy pr2 (refl-htpy-hom-inverse-sequential-diagram f) n = right-unit-htpy htpy-eq-hom-inverse-sequential-diagram : (f g : hom-inverse-sequential-diagram A B) → f = g → htpy-hom-inverse-sequential-diagram f g htpy-eq-hom-inverse-sequential-diagram f .f refl = refl-htpy-hom-inverse-sequential-diagram f is-torsorial-htpy-hom-inverse-sequential-diagram : (f : hom-inverse-sequential-diagram A B) → is-torsorial (htpy-hom-inverse-sequential-diagram f) is-torsorial-htpy-hom-inverse-sequential-diagram f = is-torsorial-Eq-structure ( is-torsorial-binary-htpy (map-hom-inverse-sequential-diagram A B f)) ( map-hom-inverse-sequential-diagram A B f , refl-binary-htpy (map-hom-inverse-sequential-diagram A B f)) ( is-torsorial-Eq-Π ( λ n → is-torsorial-htpy ( naturality-map-hom-inverse-sequential-diagram A B f n ∙h refl-htpy))) is-equiv-htpy-eq-hom-inverse-sequential-diagram : (f g : hom-inverse-sequential-diagram A B) → is-equiv (htpy-eq-hom-inverse-sequential-diagram f g) is-equiv-htpy-eq-hom-inverse-sequential-diagram f = fundamental-theorem-id ( is-torsorial-htpy-hom-inverse-sequential-diagram f) ( htpy-eq-hom-inverse-sequential-diagram f) extensionality-hom-inverse-sequential-diagram : (f g : hom-inverse-sequential-diagram A B) → (f = g) ≃ htpy-hom-inverse-sequential-diagram f g pr1 (extensionality-hom-inverse-sequential-diagram f g) = htpy-eq-hom-inverse-sequential-diagram f g pr2 (extensionality-hom-inverse-sequential-diagram f g) = is-equiv-htpy-eq-hom-inverse-sequential-diagram f g eq-htpy-hom-inverse-sequential-diagram : (f g : hom-inverse-sequential-diagram A B) → htpy-hom-inverse-sequential-diagram f g → f = g eq-htpy-hom-inverse-sequential-diagram f g = map-inv-equiv (extensionality-hom-inverse-sequential-diagram f g) ``` ## Table of files about sequential limits The following table lists files that are about sequential limits as a general concept. {{#include tables/sequential-limits.md}}