# Opposite spans
```agda
module foundation.opposite-spans where
```
<details><summary>Imports</summary>
```agda
open import foundation.dependent-pair-types
open import foundation.spans
open import foundation.universe-levels
```
</details>
## Idea
Consider a [span](foundation.spans.md) `(S , f , g)` from `A` to `B`. The
{{#concept "opposite span" Agda=opposite-span}} of `(S , f , g)` is the span
`(S , g , f)` from `B` to `A`. In other words, the opposite of a span
```text
f g
A <----- S -----> B
```
is the span
```text
g f
B <----- S -----> A.
```
Recall that [binary type duality](foundation.binary-type-duality.md) shows that
spans are equivalent to [binary relations](foundation.binary-relations.md) from
`A` to `B`. The opposite of a span corresponds to the opposite of a binary
relation.
## Definitions
### The opposite of a span
```agda
module _
{l1 l2 l3 : Level} {A : UU l1} {B : UU l2}
where
opposite-span : span l3 A B → span l3 B A
pr1 (opposite-span s) = spanning-type-span s
pr1 (pr2 (opposite-span s)) = right-map-span s
pr2 (pr2 (opposite-span s)) = left-map-span s
```
## See also
- [Transpositions of span diagrams](foundation.transposition-span-diagrams.md)