# Base changes of span diagrams
```agda
module foundation.base-changes-span-diagrams where
```
<details><summary>Imports</summary>
```agda
open import foundation.cartesian-morphisms-arrows
open import foundation.cartesian-morphisms-span-diagrams
open import foundation.commuting-squares-of-maps
open import foundation.dependent-pair-types
open import foundation.morphisms-arrows
open import foundation.morphisms-span-diagrams
open import foundation.span-diagrams
open import foundation.universe-levels
```
</details>
## Idea
Consider a [span diagram](foundation.span-diagrams.md) `𝒮 := (A <-f- S -g-> B)`.
A
{{#concept "base change" Disambiguation="span diagram" Agda=base-change-span-diagram}}
of `𝒮` consists of a span diagram `𝒯` and a
[cartesian morphism](foundation.cartesian-morphisms-span-diagrams.md) of span
diagrams `𝒯 → 𝒮`.
## Definitions
### Base changes of span diagrams
```agda
module _
{l1 l2 l3 : Level} (l4 l5 l6 : Level) (𝒮 : span-diagram l1 l2 l3)
where
base-change-span-diagram :
UU (l1 ⊔ l2 ⊔ l3 ⊔ lsuc l4 ⊔ lsuc l5 ⊔ lsuc l6)
base-change-span-diagram =
Σ (span-diagram l4 l5 l6) (λ 𝒯 → cartesian-hom-span-diagram 𝒯 𝒮)
module _
{l1 l2 l3 l4 l5 l6 : Level} (𝒮 : span-diagram l1 l2 l3)
(f : base-change-span-diagram l4 l5 l6 𝒮)
where
span-diagram-base-change-span-diagram : span-diagram l4 l5 l6
span-diagram-base-change-span-diagram = pr1 f
domain-span-diagram-base-change-span-diagram : UU l4
domain-span-diagram-base-change-span-diagram =
domain-span-diagram span-diagram-base-change-span-diagram
codomain-span-diagram-base-change-span-diagram : UU l5
codomain-span-diagram-base-change-span-diagram =
codomain-span-diagram span-diagram-base-change-span-diagram
spanning-type-span-diagram-base-change-span-diagram : UU l6
spanning-type-span-diagram-base-change-span-diagram =
spanning-type-span-diagram span-diagram-base-change-span-diagram
left-map-span-diagram-base-change-span-diagram :
spanning-type-span-diagram-base-change-span-diagram →
domain-span-diagram-base-change-span-diagram
left-map-span-diagram-base-change-span-diagram =
left-map-span-diagram span-diagram-base-change-span-diagram
right-map-span-diagram-base-change-span-diagram :
spanning-type-span-diagram-base-change-span-diagram →
codomain-span-diagram-base-change-span-diagram
right-map-span-diagram-base-change-span-diagram =
right-map-span-diagram span-diagram-base-change-span-diagram
cartesian-hom-base-change-span-diagram :
cartesian-hom-span-diagram span-diagram-base-change-span-diagram 𝒮
cartesian-hom-base-change-span-diagram = pr2 f
hom-cartesian-hom-base-change-span-diagram :
hom-span-diagram span-diagram-base-change-span-diagram 𝒮
hom-cartesian-hom-base-change-span-diagram =
hom-cartesian-hom-span-diagram
( span-diagram-base-change-span-diagram)
( 𝒮)
( cartesian-hom-base-change-span-diagram)
map-domain-cartesian-hom-base-change-span-diagram :
domain-span-diagram span-diagram-base-change-span-diagram →
domain-span-diagram 𝒮
map-domain-cartesian-hom-base-change-span-diagram =
map-domain-hom-span-diagram
( span-diagram-base-change-span-diagram)
( 𝒮)
( hom-cartesian-hom-base-change-span-diagram)
map-codomain-cartesian-hom-base-change-span-diagram :
codomain-span-diagram span-diagram-base-change-span-diagram →
codomain-span-diagram 𝒮
map-codomain-cartesian-hom-base-change-span-diagram =
map-codomain-hom-span-diagram
( span-diagram-base-change-span-diagram)
( 𝒮)
( hom-cartesian-hom-base-change-span-diagram)
spanning-map-cartesian-hom-base-change-span-diagram :
spanning-type-span-diagram span-diagram-base-change-span-diagram →
spanning-type-span-diagram 𝒮
spanning-map-cartesian-hom-base-change-span-diagram =
spanning-map-hom-span-diagram
( span-diagram-base-change-span-diagram)
( 𝒮)
( hom-cartesian-hom-base-change-span-diagram)
left-square-cartesian-hom-base-change-span-diagram :
coherence-square-maps
( spanning-map-cartesian-hom-base-change-span-diagram)
( left-map-span-diagram span-diagram-base-change-span-diagram)
( left-map-span-diagram 𝒮)
( map-domain-cartesian-hom-base-change-span-diagram)
left-square-cartesian-hom-base-change-span-diagram =
left-square-hom-span-diagram
( span-diagram-base-change-span-diagram)
( 𝒮)
( hom-cartesian-hom-base-change-span-diagram)
left-hom-arrow-cartesian-hom-base-change-span-diagram :
hom-arrow
( left-map-span-diagram span-diagram-base-change-span-diagram)
( left-map-span-diagram 𝒮)
left-hom-arrow-cartesian-hom-base-change-span-diagram =
left-hom-arrow-hom-span-diagram
( span-diagram-base-change-span-diagram)
( 𝒮)
( hom-cartesian-hom-base-change-span-diagram)
right-square-cartesian-hom-base-change-span-diagram :
coherence-square-maps
( spanning-map-cartesian-hom-base-change-span-diagram)
( right-map-span-diagram span-diagram-base-change-span-diagram)
( right-map-span-diagram 𝒮)
( map-codomain-cartesian-hom-base-change-span-diagram)
right-square-cartesian-hom-base-change-span-diagram =
right-square-hom-span-diagram
( span-diagram-base-change-span-diagram)
( 𝒮)
( hom-cartesian-hom-base-change-span-diagram)
right-hom-arrow-cartesian-hom-base-change-span-diagram :
hom-arrow
( right-map-span-diagram span-diagram-base-change-span-diagram)
( right-map-span-diagram 𝒮)
right-hom-arrow-cartesian-hom-base-change-span-diagram =
right-hom-arrow-hom-span-diagram
( span-diagram-base-change-span-diagram)
( 𝒮)
( hom-cartesian-hom-base-change-span-diagram)
is-cartesian-cartesian-hom-base-change-span-diagram :
is-cartesian-hom-span-diagram
( span-diagram-base-change-span-diagram)
( 𝒮)
( hom-cartesian-hom-base-change-span-diagram)
is-cartesian-cartesian-hom-base-change-span-diagram =
is-cartesian-cartesian-hom-span-diagram
( span-diagram-base-change-span-diagram)
( 𝒮)
( cartesian-hom-base-change-span-diagram)
is-left-cartesian-cartesian-hom-base-change-span-diagram :
is-left-cartesian-hom-span-diagram
( span-diagram-base-change-span-diagram)
( 𝒮)
( hom-cartesian-hom-base-change-span-diagram)
is-left-cartesian-cartesian-hom-base-change-span-diagram =
is-left-cartesian-cartesian-hom-span-diagram
( span-diagram-base-change-span-diagram)
( 𝒮)
( cartesian-hom-base-change-span-diagram)
left-cartesian-hom-arrow-cartesian-hom-base-change-span-diagram :
cartesian-hom-arrow
( left-map-span-diagram span-diagram-base-change-span-diagram)
( left-map-span-diagram 𝒮)
left-cartesian-hom-arrow-cartesian-hom-base-change-span-diagram =
left-cartesian-hom-arrow-cartesian-hom-span-diagram
( span-diagram-base-change-span-diagram)
( 𝒮)
( cartesian-hom-base-change-span-diagram)
is-right-cartesian-cartesian-hom-base-change-span-diagram :
is-right-cartesian-hom-span-diagram
( span-diagram-base-change-span-diagram)
( 𝒮)
( hom-cartesian-hom-base-change-span-diagram)
is-right-cartesian-cartesian-hom-base-change-span-diagram =
is-right-cartesian-cartesian-hom-span-diagram
( span-diagram-base-change-span-diagram)
( 𝒮)
( cartesian-hom-base-change-span-diagram)
right-cartesian-hom-arrow-cartesian-hom-base-change-span-diagram :
cartesian-hom-arrow
( right-map-span-diagram span-diagram-base-change-span-diagram)
( right-map-span-diagram 𝒮)
right-cartesian-hom-arrow-cartesian-hom-base-change-span-diagram =
right-cartesian-hom-arrow-cartesian-hom-span-diagram
( span-diagram-base-change-span-diagram)
( 𝒮)
( cartesian-hom-base-change-span-diagram)
```