# Permutations of spans of families of types ```agda module foundation.permutations-spans-families-of-types where ``` <details><summary>Imports</summary> ```agda open import foundation.dependent-pair-types open import foundation.spans-families-of-types open import foundation.universe-levels open import foundation-core.equivalences open import foundation-core.function-types ``` </details> ## Idea Permutations of spans of families of types are a generalization of the [opposite](foundation.opposite-spans.md) of a [binary span](foundation.spans.md). Consider a [span](foundation.spans-families-of-types.md) `(S , f)` on a type family `A : I → 𝒰` and an [equivalence](foundation-core.equivalences.md) `e : I ≃ I`. Then the {{#concept "permutation" Disambiguation="spans of families of types"}} is the span `(S , f ∘ e)` on the type family `A ∘ e`. ## Definitions ### Permutations of spans of families of types ```agda module _ {l1 l2 l3 : Level} {I : UU l1} {A : I → UU l2} where permutation-span-type-family : (e : I ≃ I) → span-type-family l3 A → span-type-family l3 (A ∘ map-equiv e) pr1 (permutation-span-type-family e s) = spanning-type-span-type-family s pr2 (permutation-span-type-family e s) i = map-span-type-family s (map-equiv e i) ```