Operations on span diagrams
Content created by Egbert Rijke.
Created on 2024-01-28.
Last modified on 2024-04-25.
module foundation.operations-span-diagrams where open import foundation-core.operations-span-diagrams public
Imports
open import foundation.dependent-pair-types open import foundation.equivalences-arrows open import foundation.operations-spans open import foundation.span-diagrams open import foundation.spans open import foundation.universe-levels
Idea
This file contains some further operations on
span diagrams that produce new span diagrams from
given span diagrams and possibly other data. Previous operations on span
diagrams were defined in
foundation-core.operations-span-diagrams
.
Definitions
Concatenating span diagrams and equivalences of arrows on the left
Consider a span diagram 𝒮
given by
f g
A <----- S -----> B
and an equivalence of arrows
h : equiv-arrow f' f
as indicated in the diagram
f'
A' <---- S'
| |
h₀ | ≃ ≃ | h₁
∨ ∨
A <----- S -----> B.
f g
Then we obtain a span diagram A' <- S' -> B
.
module _ {l1 l2 l3 l4 l5 : Level} (𝒮 : span-diagram l1 l2 l3) {S' : UU l4} {A' : UU l5} (f' : S' → A') (h : equiv-arrow f' (left-map-span-diagram 𝒮)) where domain-left-concat-equiv-arrow-span-diagram : UU l5 domain-left-concat-equiv-arrow-span-diagram = A' codomain-left-concat-equiv-arrow-span-diagram : UU l2 codomain-left-concat-equiv-arrow-span-diagram = codomain-span-diagram 𝒮 span-left-concat-equiv-arrow-span-diagram : span l4 ( domain-left-concat-equiv-arrow-span-diagram) ( codomain-left-concat-equiv-arrow-span-diagram) span-left-concat-equiv-arrow-span-diagram = left-concat-equiv-arrow-span (span-span-diagram 𝒮) f' h left-concat-equiv-arrow-span-diagram : span-diagram l5 l2 l4 pr1 left-concat-equiv-arrow-span-diagram = domain-left-concat-equiv-arrow-span-diagram pr1 (pr2 left-concat-equiv-arrow-span-diagram) = codomain-left-concat-equiv-arrow-span-diagram pr2 (pr2 left-concat-equiv-arrow-span-diagram) = span-left-concat-equiv-arrow-span-diagram spanning-type-left-concat-equiv-arrow-span-diagram : UU l4 spanning-type-left-concat-equiv-arrow-span-diagram = spanning-type-span-diagram left-concat-equiv-arrow-span-diagram left-map-left-concat-equiv-arrow-span-diagram : spanning-type-left-concat-equiv-arrow-span-diagram → domain-left-concat-equiv-arrow-span-diagram left-map-left-concat-equiv-arrow-span-diagram = left-map-span-diagram left-concat-equiv-arrow-span-diagram right-map-left-concat-equiv-arrow-span-diagram : spanning-type-left-concat-equiv-arrow-span-diagram → codomain-left-concat-equiv-arrow-span-diagram right-map-left-concat-equiv-arrow-span-diagram = right-map-span-diagram left-concat-equiv-arrow-span-diagram
Concatenating span diagrams and equivalences of arrows on the right
Consider a span diagram 𝒮
given by
f g
A <----- S -----> B
and a equivalence of arrows
h : equiv-arrow g' g
as indicated in the diagram
g'
S' ----> B'
| |
h₀ | ≃ ≃ | h₁
∨ ∨
A <----- S -----> B.
f g
Then we obtain a span diagram A <- S' -> B'
.
module _ {l1 l2 l3 l4 l5 : Level} (𝒮 : span-diagram l1 l2 l3) {S' : UU l4} {B' : UU l5} (g' : S' → B') (h : equiv-arrow g' (right-map-span-diagram 𝒮)) where domain-right-concat-equiv-arrow-span-diagram : UU l1 domain-right-concat-equiv-arrow-span-diagram = domain-span-diagram 𝒮 codomain-right-concat-equiv-arrow-span-diagram : UU l5 codomain-right-concat-equiv-arrow-span-diagram = B' span-right-concat-equiv-arrow-span-diagram : span l4 ( domain-right-concat-equiv-arrow-span-diagram) ( codomain-right-concat-equiv-arrow-span-diagram) span-right-concat-equiv-arrow-span-diagram = right-concat-equiv-arrow-span (span-span-diagram 𝒮) g' h right-concat-equiv-arrow-span-diagram : span-diagram l1 l5 l4 pr1 right-concat-equiv-arrow-span-diagram = domain-right-concat-equiv-arrow-span-diagram pr1 (pr2 right-concat-equiv-arrow-span-diagram) = codomain-right-concat-equiv-arrow-span-diagram pr2 (pr2 right-concat-equiv-arrow-span-diagram) = span-right-concat-equiv-arrow-span-diagram spanning-type-right-concat-equiv-arrow-span-diagram : UU l4 spanning-type-right-concat-equiv-arrow-span-diagram = spanning-type-span-diagram right-concat-equiv-arrow-span-diagram left-map-right-concat-equiv-arrow-span-diagram : spanning-type-right-concat-equiv-arrow-span-diagram → domain-right-concat-equiv-arrow-span-diagram left-map-right-concat-equiv-arrow-span-diagram = left-map-span-diagram right-concat-equiv-arrow-span-diagram right-map-right-concat-equiv-arrow-span-diagram : spanning-type-right-concat-equiv-arrow-span-diagram → codomain-right-concat-equiv-arrow-span-diagram right-map-right-concat-equiv-arrow-span-diagram = right-map-span-diagram right-concat-equiv-arrow-span-diagram
Recent changes
- 2024-04-25. Fredrik Bakke. chore: Fix arrowheads in character diagrams (#1124).
- 2024-01-28. Egbert Rijke. Span diagrams (#1007).