# Equivalences of spans of families of types ```agda module foundation.equivalences-spans-families-of-types where ``` <details><summary>Imports</summary> ```agda open import foundation.dependent-pair-types open import foundation.equality-dependent-function-types open import foundation.fundamental-theorem-of-identity-types open import foundation.homotopies open import foundation.homotopy-induction open import foundation.identity-types open import foundation.morphisms-spans-families-of-types open import foundation.spans-families-of-types open import foundation.structure-identity-principle open import foundation.univalence open import foundation.universe-levels open import foundation-core.commuting-triangles-of-maps open import foundation-core.equivalences open import foundation-core.torsorial-type-families ``` </details> ## Idea An {{#concept "equivalence of spans on a family of types" Agda=equiv-span-type-family}} from a [span](foundation.spans-families-of-types.md) `s` on `A : I โ ๐ฐ` to a span `t` on `A` consists of an [equivalence](foundation-core.equivalences.md) `e : S โ T` [equipped](foundation.structure.md) with a family of [homotopies](foundation-core.homotopies.md) witnessing that the triangle ```text e S ----> T \ / \ / โจ โจ Aแตข ``` [commutes](foundation.commuting-triangles-of-maps.md) for each `i : I`. ## Definitions ### Equivalences of spans of families of types ```agda module _ {l1 l2 l3 l4 : Level} {I : UU l1} {A : I โ UU l2} (S : span-type-family l3 A) (T : span-type-family l4 A) where equiv-span-type-family : UU (l1 โ l2 โ l3 โ l4) equiv-span-type-family = ฮฃ ( spanning-type-span-type-family S โ spanning-type-span-type-family T) ( ฮป e โ (i : I) โ coherence-triangle-maps ( map-span-type-family S i) ( map-span-type-family T i) ( map-equiv e)) module _ (e : equiv-span-type-family) where equiv-equiv-span-type-family : spanning-type-span-type-family S โ spanning-type-span-type-family T equiv-equiv-span-type-family = pr1 e map-equiv-span-type-family : spanning-type-span-type-family S โ spanning-type-span-type-family T map-equiv-span-type-family = map-equiv equiv-equiv-span-type-family is-equiv-equiv-span-type-family : is-equiv map-equiv-span-type-family is-equiv-equiv-span-type-family = is-equiv-map-equiv equiv-equiv-span-type-family triangle-equiv-span-type-family : (i : I) โ coherence-triangle-maps ( map-span-type-family S i) ( map-span-type-family T i) ( map-equiv-span-type-family) triangle-equiv-span-type-family = pr2 e hom-equiv-span-type-family : hom-span-type-family S T pr1 hom-equiv-span-type-family = map-equiv-span-type-family pr2 hom-equiv-span-type-family = triangle-equiv-span-type-family ``` ### Identity equivalences of spans of families of types ```agda module _ {l1 l2 l3 : Level} {I : UU l1} {A : I โ UU l2} {S : span-type-family l3 A} where id-equiv-span-type-family : equiv-span-type-family S S pr1 id-equiv-span-type-family = id-equiv pr2 id-equiv-span-type-family i = refl-htpy ``` ## Properties ### Characterizing the identity type of the type of spans of families of types ```agda module _ {l1 l2 l3 : Level} {I : UU l1} {A : I โ UU l2} (S : span-type-family l3 A) where equiv-eq-span-type-family : (T : span-type-family l3 A) โ S ๏ผ T โ equiv-span-type-family S T equiv-eq-span-type-family .S refl = id-equiv-span-type-family is-torsorial-equiv-span-type-family : is-torsorial (equiv-span-type-family S) is-torsorial-equiv-span-type-family = is-torsorial-Eq-structure ( is-torsorial-equiv _) ( spanning-type-span-type-family S , id-equiv) ( is-torsorial-Eq-ฮ (ฮป i โ is-torsorial-htpy _)) is-equiv-equiv-eq-span-type-family : (T : span-type-family l3 A) โ is-equiv (equiv-eq-span-type-family T) is-equiv-equiv-eq-span-type-family = fundamental-theorem-id ( is-torsorial-equiv-span-type-family) ( equiv-eq-span-type-family) extensionality-span-type-family : (T : span-type-family l3 A) โ (S ๏ผ T) โ equiv-span-type-family S T pr1 (extensionality-span-type-family T) = equiv-eq-span-type-family T pr2 (extensionality-span-type-family T) = is-equiv-equiv-eq-span-type-family T eq-equiv-span-type-family : (T : span-type-family l3 A) โ equiv-span-type-family S T โ S ๏ผ T eq-equiv-span-type-family T = map-inv-equiv (extensionality-span-type-family T) ``` ## See also - [Equivalences of span diagrams on families of types](foundation.equivalences-span-diagrams-families-of-types.md)