diff --git a/src/synthetic-category-theory.lagda.md b/src/synthetic-category-theory.lagda.md index 9b8b60665e..5ff89a2169 100644 --- a/src/synthetic-category-theory.lagda.md +++ b/src/synthetic-category-theory.lagda.md @@ -25,7 +25,13 @@ Some core principles of higher category theory include: ```agda module synthetic-category-theory where -open import synthetic-category-theory.equivalence-of-synthetic-categories public +open import synthetic-category-theory.cone-diagrams-synthetic-categories public +open import synthetic-category-theory.cospans-synthetic-categories public +open import synthetic-category-theory.equivalences-synthetic-categories public +open import synthetic-category-theory.invertible-functors-synthetic-categories public +open import synthetic-category-theory.pullbacks-synthetic-categories public +open import synthetic-category-theory.retractions-synthetic-categories public +open import synthetic-category-theory.sections-synthetic-categories public open import synthetic-category-theory.synthetic-categories public ``` diff --git a/src/synthetic-category-theory/cone-diagrams-synthetic-categories.lagda.md b/src/synthetic-category-theory/cone-diagrams-synthetic-categories.lagda.md new file mode 100644 index 0000000000..b94a468b43 --- /dev/null +++ b/src/synthetic-category-theory/cone-diagrams-synthetic-categories.lagda.md @@ -0,0 +1,596 @@ +# Cone diagrams of synthetic categories + +```agda +{-# OPTIONS --guardedness #-} + +module synthetic-category-theory.cone-diagrams-synthetic-categories where +``` + +
Imports + +```agda +open import foundation.cartesian-product-types +open import foundation.dependent-pair-types +open import foundation.universe-levels + +open import structured-types.globular-types + +open import synthetic-category-theory.cospans-synthetic-categories +open import synthetic-category-theory.synthetic-categories +``` + +
+ +## Idea + +Consider a [cospan](synthetic-category-theory.cospans-synthetic-categories.md) S += D --g--> E <--f-- C of +[synthetic categories](synthetic-category-theory.synthetic-categories.md) and +let T be a synthetic category. A +{{#concept "cone diagram" Disambiguation="Synthetic categories}} over S with an +apex T is a pair of functors p : T → C and r : T → D that assemble into a +commutative square of the form: + +```text +T --p--> C +| | +r τ⇙ f +| | +v v +D --g--> E. +``` + +## Definition + +```agda +module _ + {l : Level} + where + + cone-diagram-Synthetic-Category-Theory : + (κ : language-Synthetic-Category-Theory l) + {C D E : category-Synthetic-Category-Theory κ} + (μ : composition-Synthetic-Category-Theory κ) + (S : cospan-Synthetic-Category-Theory κ C D E) + (T : category-Synthetic-Category-Theory κ) → UU l + cone-diagram-Synthetic-Category-Theory κ μ S T = + Σ ( functor-Synthetic-Category-Theory + κ T (right-source-cospan-Synthetic-Category-Theory κ S)) + ( λ tr → + Σ ( functor-Synthetic-Category-Theory + κ T (left-source-cospan-Synthetic-Category-Theory κ S)) + ( λ tl → + isomorphism-Synthetic-Category-Theory κ + ( comp-functor-Synthetic-Category-Theory μ + ( right-functor-cospan-Synthetic-Category-Theory κ S) tr) + ( comp-functor-Synthetic-Category-Theory μ + ( left-functor-cospan-Synthetic-Category-Theory κ S) tl))) +``` + +### The components of a cospan of synthetic categories + +```agda + apex-cone-diagram-Synthetic-Category-Theory : + (κ : language-Synthetic-Category-Theory l) + {C D E : category-Synthetic-Category-Theory κ} + (μ : composition-Synthetic-Category-Theory κ) + {S : cospan-Synthetic-Category-Theory κ C D E} + {T : category-Synthetic-Category-Theory κ} → + cone-diagram-Synthetic-Category-Theory κ μ S T → + category-Synthetic-Category-Theory κ + apex-cone-diagram-Synthetic-Category-Theory κ μ {T = T} c = T + + left-functor-cone-diagram-Synthetic-Category-Theory : + (κ : language-Synthetic-Category-Theory l) + {C D E : category-Synthetic-Category-Theory κ} + (μ : composition-Synthetic-Category-Theory κ) + {S : cospan-Synthetic-Category-Theory κ C D E} + {T : category-Synthetic-Category-Theory κ} + (c : cone-diagram-Synthetic-Category-Theory κ μ S T) → + functor-Synthetic-Category-Theory κ + ( apex-cone-diagram-Synthetic-Category-Theory κ μ c) + ( left-source-cospan-Synthetic-Category-Theory κ S) + left-functor-cone-diagram-Synthetic-Category-Theory κ μ c = pr1 (pr2 c) + + right-functor-cone-diagram-Synthetic-Category-Theory : + (κ : language-Synthetic-Category-Theory l) + {C D E : category-Synthetic-Category-Theory κ} + (μ : composition-Synthetic-Category-Theory κ) + {S : cospan-Synthetic-Category-Theory κ C D E} + {T : category-Synthetic-Category-Theory κ} + (c : cone-diagram-Synthetic-Category-Theory κ μ S T) → + functor-Synthetic-Category-Theory κ + ( apex-cone-diagram-Synthetic-Category-Theory κ μ c) + ( right-source-cospan-Synthetic-Category-Theory κ S) + right-functor-cone-diagram-Synthetic-Category-Theory κ μ c = pr1 c + + iso-cone-diagram-Synthetic-Category-Theory : + (κ : language-Synthetic-Category-Theory l) + {C D E : category-Synthetic-Category-Theory κ} + (μ : composition-Synthetic-Category-Theory κ) + {S : cospan-Synthetic-Category-Theory κ C D E} + {T : category-Synthetic-Category-Theory κ} + (c : cone-diagram-Synthetic-Category-Theory κ μ S T) → + isomorphism-Synthetic-Category-Theory κ + ( comp-functor-Synthetic-Category-Theory μ + ( right-functor-cospan-Synthetic-Category-Theory κ S) + ( right-functor-cone-diagram-Synthetic-Category-Theory κ μ c)) + ( comp-functor-Synthetic-Category-Theory μ + ( left-functor-cospan-Synthetic-Category-Theory κ S) + ( left-functor-cone-diagram-Synthetic-Category-Theory κ μ c)) + iso-cone-diagram-Synthetic-Category-Theory κ μ c = pr2 (pr2 c) +``` + +### Isomorphisms of cone diagrams + +An isomorphism between cone diagrams c = (tl, tr, τ) and c' = (tl', tr', τ') is +a pair of natural isomorphisms φl : tl ≅ tl' and φr : tr ≅ tr' together with an +isomorphism of natural isomorphisms H : τ ≅ τ'. + +```agda + iso-of-cone-diagrams-Synthetic-Category-Theory : + (κ : language-Synthetic-Category-Theory l) + {C D E : category-Synthetic-Category-Theory κ} + (μ : composition-Synthetic-Category-Theory κ) + (ι : identity-Synthetic-Category-Theory κ) + (Χ : horizontal-composition-Synthetic-Category-Theory κ μ) + {S : cospan-Synthetic-Category-Theory κ C D E} + {T : category-Synthetic-Category-Theory κ} → + cone-diagram-Synthetic-Category-Theory κ μ S T → + cone-diagram-Synthetic-Category-Theory κ μ S T → UU l + iso-of-cone-diagrams-Synthetic-Category-Theory κ μ ι Χ {S = S} c c' = + Σ ( isomorphism-Synthetic-Category-Theory κ + ( right-functor-cone-diagram-Synthetic-Category-Theory κ μ c) + ( right-functor-cone-diagram-Synthetic-Category-Theory κ μ c')) + ( λ φr → + Σ ( isomorphism-Synthetic-Category-Theory κ + ( left-functor-cone-diagram-Synthetic-Category-Theory κ μ c) + ( left-functor-cone-diagram-Synthetic-Category-Theory κ μ c')) + ( λ φl → + commuting-square-isomorphisms-Synthetic-Category-Theory κ μ + ( iso-cone-diagram-Synthetic-Category-Theory κ μ c) + ( horizontal-comp-iso-Synthetic-Category-Theory Χ + ( id-iso-Synthetic-Category-Theory ι + ( left-functor-cospan-Synthetic-Category-Theory κ S)) + ( φl)) + ( horizontal-comp-iso-Synthetic-Category-Theory Χ + ( id-iso-Synthetic-Category-Theory ι + ( right-functor-cospan-Synthetic-Category-Theory κ S)) + ( φr)) + ( iso-cone-diagram-Synthetic-Category-Theory κ μ c'))) +``` + +### The components of an isomorphism of cone diagrams + +```agda + right-functor-iso-of-cone-diagrams-Synthetic-Category-Theory : + (κ : language-Synthetic-Category-Theory l) + {C D E : category-Synthetic-Category-Theory κ} + (μ : composition-Synthetic-Category-Theory κ) + (ι : identity-Synthetic-Category-Theory κ) + (Χ : horizontal-composition-Synthetic-Category-Theory κ μ) + {S : cospan-Synthetic-Category-Theory κ C D E} + {T : category-Synthetic-Category-Theory κ} + {c c' : cone-diagram-Synthetic-Category-Theory κ μ S T} → + (iso-of-cone-diagrams-Synthetic-Category-Theory κ μ ι Χ c c') → + isomorphism-Synthetic-Category-Theory κ + ( right-functor-cone-diagram-Synthetic-Category-Theory κ μ c) + ( right-functor-cone-diagram-Synthetic-Category-Theory κ μ c') + right-functor-iso-of-cone-diagrams-Synthetic-Category-Theory + κ μ ι Χ = pr1 + + left-functor-iso-of-cone-diagrams-Synthetic-Category-Theory : + (κ : language-Synthetic-Category-Theory l) + {C D E : category-Synthetic-Category-Theory κ} + (μ : composition-Synthetic-Category-Theory κ) + (ι : identity-Synthetic-Category-Theory κ) + (Χ : horizontal-composition-Synthetic-Category-Theory κ μ) + {S : cospan-Synthetic-Category-Theory κ C D E} + {T : category-Synthetic-Category-Theory κ} + {c c' : cone-diagram-Synthetic-Category-Theory κ μ S T} → + (iso-of-cone-diagrams-Synthetic-Category-Theory κ μ ι Χ c c') → + isomorphism-Synthetic-Category-Theory κ + ( left-functor-cone-diagram-Synthetic-Category-Theory κ μ c) + ( left-functor-cone-diagram-Synthetic-Category-Theory κ μ c') + left-functor-iso-of-cone-diagrams-Synthetic-Category-Theory + κ μ ι Χ ϕ = pr1 (pr2 ϕ) + + isomorphism-iso-of-cone-diagrams-Synthetic-Category-Theory : + (κ : language-Synthetic-Category-Theory l) + {C D E : category-Synthetic-Category-Theory κ} + (μ : composition-Synthetic-Category-Theory κ) + (ι : identity-Synthetic-Category-Theory κ) + (Χ : horizontal-composition-Synthetic-Category-Theory κ μ) + {S : cospan-Synthetic-Category-Theory κ C D E} + {T : category-Synthetic-Category-Theory κ} + {c c' : cone-diagram-Synthetic-Category-Theory κ μ S T} → + (ϕ : iso-of-cone-diagrams-Synthetic-Category-Theory κ μ ι Χ c c') → + commuting-square-isomorphisms-Synthetic-Category-Theory κ μ + ( iso-cone-diagram-Synthetic-Category-Theory κ μ c) + ( horizontal-comp-iso-Synthetic-Category-Theory Χ + ( id-iso-Synthetic-Category-Theory ι + ( left-functor-cospan-Synthetic-Category-Theory κ S)) + ( left-functor-iso-of-cone-diagrams-Synthetic-Category-Theory + κ μ ι Χ ϕ)) + ( horizontal-comp-iso-Synthetic-Category-Theory Χ + ( id-iso-Synthetic-Category-Theory ι + ( right-functor-cospan-Synthetic-Category-Theory κ S)) + ( right-functor-iso-of-cone-diagrams-Synthetic-Category-Theory + κ μ ι Χ ϕ)) + ( iso-cone-diagram-Synthetic-Category-Theory κ μ c') + isomorphism-iso-of-cone-diagrams-Synthetic-Category-Theory + κ μ ι Χ ϕ = pr2 (pr2 ϕ) +``` + +## Isomorphisms of isomorphisms of cone diagrams + +If ϕ = (φl, φr, H) and Ψ = (ψl, ψr, K) are two isomorphisms between cone +diagrams c and c', an isomorphism between them is a pair of isomorphisms φl ≅ ψl +and φr ≅ ψr under which H becomes isomorphic to K. + +```agda + iso-of-isos-of-cone-diagrams-Synthetic-Category-Theory : + (κ : language-Synthetic-Category-Theory l) + {C D E : category-Synthetic-Category-Theory κ} + (μ : composition-Synthetic-Category-Theory κ) + (ι : identity-Synthetic-Category-Theory κ) + (ν : inverse-Synthetic-Category-Theory κ μ ι) + (Χ : horizontal-composition-Synthetic-Category-Theory κ μ) + (Μ : + preserves-isomorphism-horizontal-composition-Synthetic-Category-Theory + κ ι μ Χ) + {S : cospan-Synthetic-Category-Theory κ C D E} + {T : category-Synthetic-Category-Theory κ} + {c c' : cone-diagram-Synthetic-Category-Theory κ μ S T} + (ϕ ψ : iso-of-cone-diagrams-Synthetic-Category-Theory κ μ ι Χ c c') → UU l + iso-of-isos-of-cone-diagrams-Synthetic-Category-Theory + κ μ ι ν Χ Μ {S = S} {c = c} {c' = c'} ϕ ψ = + Σ ( isomorphism-Synthetic-Category-Theory + ( functor-globular-type-Synthetic-Category-Theory κ + ( _) + ( right-source-cospan-Synthetic-Category-Theory κ S)) + ( right-functor-iso-of-cone-diagrams-Synthetic-Category-Theory + κ μ ι Χ ϕ) + ( right-functor-iso-of-cone-diagrams-Synthetic-Category-Theory + κ μ ι Χ ψ)) + ( λ α → + Σ ( isomorphism-Synthetic-Category-Theory + ( functor-globular-type-Synthetic-Category-Theory κ + ( _) + ( left-source-cospan-Synthetic-Category-Theory κ S)) + ( left-functor-iso-of-cone-diagrams-Synthetic-Category-Theory + κ μ ι Χ ϕ) + ( left-functor-iso-of-cone-diagrams-Synthetic-Category-Theory + κ μ ι Χ ψ)) + ( λ β → + isomorphism-Synthetic-Category-Theory + ( functor-globular-type-Synthetic-Category-Theory + ( functor-globular-type-Synthetic-Category-Theory κ + ( _) + ( target-cospan-Synthetic-Category-Theory κ S)) + ( comp-functor-Synthetic-Category-Theory μ + ( right-functor-cospan-Synthetic-Category-Theory κ S) + ( right-functor-cone-diagram-Synthetic-Category-Theory + κ μ c)) + ( comp-functor-Synthetic-Category-Theory μ + ( left-functor-cospan-Synthetic-Category-Theory κ S) + ( left-functor-cone-diagram-Synthetic-Category-Theory + κ μ c'))) + ( comp-iso-Synthetic-Category-Theory + ( composition-isomorphism-Synthetic-Category-Theory μ) + ( horizontal-comp-iso-Synthetic-Category-Theory + ( horizontal-composition-isomorphism-Synthetic-Category-Theory + Χ) + ( id-iso-Synthetic-Category-Theory + ( identity-isomorphism-Synthetic-Category-Theory ι) + ( iso-cone-diagram-Synthetic-Category-Theory κ μ c')) + ( preserves-isomorphism-horizontal-comp-iso-Synthetic-Category-Theory + ( Μ) + ( α) + ( id-iso-Synthetic-Category-Theory + ( identity-isomorphism-Synthetic-Category-Theory ι) + ( id-iso-Synthetic-Category-Theory ι + ( right-functor-cospan-Synthetic-Category-Theory + κ S))))) + ( comp-iso-Synthetic-Category-Theory + ( composition-isomorphism-Synthetic-Category-Theory μ) + ( isomorphism-iso-of-cone-diagrams-Synthetic-Category-Theory + κ μ ι Χ ϕ) + ( horizontal-comp-iso-Synthetic-Category-Theory + ( horizontal-composition-isomorphism-Synthetic-Category-Theory + Χ) + ( preserves-isomorphism-horizontal-comp-iso-Synthetic-Category-Theory + ( Μ) + ( inv-iso-Synthetic-Category-Theory + ( inverse-isomorphism-Synthetic-Category-Theory ν) + ( β)) + ( id-iso-Synthetic-Category-Theory + ( identity-isomorphism-Synthetic-Category-Theory ι) + ( id-iso-Synthetic-Category-Theory ι + ( left-functor-cospan-Synthetic-Category-Theory + κ S)))) + ( id-iso-Synthetic-Category-Theory + ( identity-isomorphism-Synthetic-Category-Theory ι) + ( iso-cone-diagram-Synthetic-Category-Theory + κ μ c))))) + ( isomorphism-iso-of-cone-diagrams-Synthetic-Category-Theory + κ μ ι Χ ψ))) +``` + +## Induced cones + +Given a cone c = (tl, tr, τ) over S with apex T and a functor s : R → T we +construct an induced cone over S with apex R, defined as s*(c) = (tl∘s, tr∘s, +τ*idₛ). + +```agda +module _ + {l : Level} + where + + induced-cone-diagram-Synthetic-Category-Theory : + (κ : language-Synthetic-Category-Theory l) + {C D E : category-Synthetic-Category-Theory κ} + (μ : composition-Synthetic-Category-Theory κ) + (ι : identity-Synthetic-Category-Theory κ) + (ν : inverse-Synthetic-Category-Theory κ μ ι) + (Χ : horizontal-composition-Synthetic-Category-Theory κ μ) + (Α : associative-composition-Synthetic-Category-Theory κ μ) + (S : cospan-Synthetic-Category-Theory κ C D E) + {T : category-Synthetic-Category-Theory κ} + (c : cone-diagram-Synthetic-Category-Theory κ μ S T) + {R : category-Synthetic-Category-Theory κ} + (s : functor-Synthetic-Category-Theory κ R T) → + cone-diagram-Synthetic-Category-Theory κ μ S R + induced-cone-diagram-Synthetic-Category-Theory κ μ ι ν Χ Α S c s = + comp-functor-Synthetic-Category-Theory μ + ( right-functor-cone-diagram-Synthetic-Category-Theory κ μ c) + ( s) , + comp-functor-Synthetic-Category-Theory μ + ( left-functor-cone-diagram-Synthetic-Category-Theory κ μ c) + ( s) , + comp-iso-Synthetic-Category-Theory μ + ( associative-comp-functor-Synthetic-Category-Theory Α + ( left-functor-cospan-Synthetic-Category-Theory κ S) + ( left-functor-cone-diagram-Synthetic-Category-Theory κ μ c) + ( s)) + ( comp-iso-Synthetic-Category-Theory μ + ( horizontal-comp-iso-Synthetic-Category-Theory Χ + ( iso-cone-diagram-Synthetic-Category-Theory κ μ c) + ( id-iso-Synthetic-Category-Theory ι s)) + ( inv-iso-Synthetic-Category-Theory ν + ( associative-comp-functor-Synthetic-Category-Theory Α + ( right-functor-cospan-Synthetic-Category-Theory κ S) + ( right-functor-cone-diagram-Synthetic-Category-Theory κ μ c) + ( s)))) +``` + +## Induced isomorphisms of cone diagrams + +Given a cone over S with apex T and two functors s, t : R → T together with an +isomorphism s ≅ t, we construct an isomorphism of cone diagrams between s*(c) +and t*(c). + +```agda +module _ + {l : Level} + where + + induced-iso-cone-diagram-Synthetic-Category-Theory : + (κ : language-Synthetic-Category-Theory l) + {C D E : category-Synthetic-Category-Theory κ} + (μ : composition-Synthetic-Category-Theory κ) + (ι : identity-Synthetic-Category-Theory κ) + (ν : inverse-Synthetic-Category-Theory κ μ ι) + (Α : associative-composition-Synthetic-Category-Theory κ μ) + (Χ : horizontal-composition-Synthetic-Category-Theory κ μ) + (Λ : left-unit-law-composition-Synthetic-Category-Theory κ ι μ) + (Ρ : right-unit-law-composition-Synthetic-Category-Theory κ ι μ) + (Ξ : + preserves-associativity-composition-horizontal-composition-Synthetic-Category-Theory + κ μ Α Χ) + (I : interchange-composition-Synthetic-Category-Theory κ μ Χ) + (Μ : + preserves-isomorphism-horizontal-composition-Synthetic-Category-Theory + κ ι μ Χ) + (N : + preserves-identity-horizontal-composition-Synthetic-Category-Theory + κ ι μ Χ) + (S : cospan-Synthetic-Category-Theory κ C D E) + {T : category-Synthetic-Category-Theory κ} + (c : cone-diagram-Synthetic-Category-Theory κ μ S T) + {R : category-Synthetic-Category-Theory κ} + (s t : functor-Synthetic-Category-Theory κ R T) → + isomorphism-Synthetic-Category-Theory κ s t → + iso-of-cone-diagrams-Synthetic-Category-Theory κ μ ι Χ + ( induced-cone-diagram-Synthetic-Category-Theory κ μ ι ν Χ Α S c s) + ( induced-cone-diagram-Synthetic-Category-Theory κ μ ι ν Χ Α S c t) + induced-iso-cone-diagram-Synthetic-Category-Theory + κ μ ι ν Α Χ Λ Ρ Ξ I M N S c s t α = + horizontal-comp-iso-Synthetic-Category-Theory Χ + ( id-iso-Synthetic-Category-Theory ι + ( right-functor-cone-diagram-Synthetic-Category-Theory κ μ c)) α , + horizontal-comp-iso-Synthetic-Category-Theory Χ + ( id-iso-Synthetic-Category-Theory ι + ( left-functor-cone-diagram-Synthetic-Category-Theory κ μ c)) α , + pasting-commuting-squares-isomorphisms-Synthetic-Category-Theory κ μ ι ν Α Χ + ( comp-iso-Synthetic-Category-Theory μ + ( horizontal-comp-iso-Synthetic-Category-Theory Χ + ( iso-cone-diagram-Synthetic-Category-Theory κ μ c) + ( id-iso-Synthetic-Category-Theory ι + ( s))) + ( inv-iso-Synthetic-Category-Theory ν + ( associative-comp-functor-Synthetic-Category-Theory Α + ( right-functor-cospan-Synthetic-Category-Theory κ S) + ( right-functor-cone-diagram-Synthetic-Category-Theory κ μ c) + ( s)))) + ( associative-comp-functor-Synthetic-Category-Theory Α + ( left-functor-cospan-Synthetic-Category-Theory κ S) + ( left-functor-cone-diagram-Synthetic-Category-Theory κ μ c) + ( s)) + ( horizontal-comp-iso-Synthetic-Category-Theory Χ + ( id-iso-Synthetic-Category-Theory ι + ( left-functor-cospan-Synthetic-Category-Theory κ S)) + ( horizontal-comp-iso-Synthetic-Category-Theory Χ + ( id-iso-Synthetic-Category-Theory ι + ( left-functor-cone-diagram-Synthetic-Category-Theory κ μ c)) + ( α))) + ( horizontal-comp-iso-Synthetic-Category-Theory Χ + ( id-iso-Synthetic-Category-Theory ι + ( right-functor-cospan-Synthetic-Category-Theory κ S)) + ( horizontal-comp-iso-Synthetic-Category-Theory Χ + ( id-iso-Synthetic-Category-Theory ι + ( right-functor-cone-diagram-Synthetic-Category-Theory κ μ c)) + ( α))) + ( comp-iso-Synthetic-Category-Theory μ + ( horizontal-comp-iso-Synthetic-Category-Theory Χ + ( iso-cone-diagram-Synthetic-Category-Theory κ μ c) + ( id-iso-Synthetic-Category-Theory ι t)) + ( inv-iso-Synthetic-Category-Theory ν + ( associative-comp-functor-Synthetic-Category-Theory Α + ( right-functor-cospan-Synthetic-Category-Theory κ S) + ( right-functor-cone-diagram-Synthetic-Category-Theory κ μ c) + ( t)))) + ( associative-comp-functor-Synthetic-Category-Theory Α + ( left-functor-cospan-Synthetic-Category-Theory κ S) + ( left-functor-cone-diagram-Synthetic-Category-Theory κ μ c) + ( t)) + ( horizontal-comp-iso-Synthetic-Category-Theory Χ + ( horizontal-comp-iso-Synthetic-Category-Theory Χ + ( id-iso-Synthetic-Category-Theory ι + (left-functor-cospan-Synthetic-Category-Theory κ S)) + ( id-iso-Synthetic-Category-Theory ι + ( left-functor-cone-diagram-Synthetic-Category-Theory κ μ c))) + ( α)) + ( pasting-commuting-squares-isomorphisms-Synthetic-Category-Theory + κ μ ι ν Α Χ + ( inv-iso-Synthetic-Category-Theory ν + ( associative-comp-functor-Synthetic-Category-Theory Α + ( right-functor-cospan-Synthetic-Category-Theory κ S) + ( right-functor-cone-diagram-Synthetic-Category-Theory κ μ c) + ( s))) + ( horizontal-comp-iso-Synthetic-Category-Theory Χ + ( iso-cone-diagram-Synthetic-Category-Theory κ μ c) + ( id-iso-Synthetic-Category-Theory ι s)) + ( horizontal-comp-iso-Synthetic-Category-Theory Χ + ( horizontal-comp-iso-Synthetic-Category-Theory Χ + ( id-iso-Synthetic-Category-Theory ι + ( left-functor-cospan-Synthetic-Category-Theory κ S)) + ( id-iso-Synthetic-Category-Theory ι + ( left-functor-cone-diagram-Synthetic-Category-Theory κ μ c))) + ( α)) + ( horizontal-comp-iso-Synthetic-Category-Theory Χ + ( id-iso-Synthetic-Category-Theory ι + ( right-functor-cospan-Synthetic-Category-Theory κ S)) + ( horizontal-comp-iso-Synthetic-Category-Theory Χ + ( id-iso-Synthetic-Category-Theory ι + ( right-functor-cone-diagram-Synthetic-Category-Theory κ μ c)) + ( α))) + ( inv-iso-Synthetic-Category-Theory ν + ( associative-comp-functor-Synthetic-Category-Theory Α + ( right-functor-cospan-Synthetic-Category-Theory κ S) + ( right-functor-cone-diagram-Synthetic-Category-Theory κ μ c) + ( t))) + ( horizontal-comp-iso-Synthetic-Category-Theory Χ + ( iso-cone-diagram-Synthetic-Category-Theory κ μ c) + ( id-iso-Synthetic-Category-Theory ι t)) + ( horizontal-comp-iso-Synthetic-Category-Theory Χ + ( horizontal-comp-iso-Synthetic-Category-Theory Χ + ( id-iso-Synthetic-Category-Theory ι + ( right-functor-cospan-Synthetic-Category-Theory κ S)) + ( id-iso-Synthetic-Category-Theory ι + ( right-functor-cone-diagram-Synthetic-Category-Theory κ μ c))) + ( α)) + ( preserves-associativity-comp-functor-horizontal-comp-iso-inv-Synthetic-Category-Theory + κ μ ι ν Α Χ Λ Ρ Ξ + ( right-functor-cospan-Synthetic-Category-Theory κ S) + ( right-functor-cospan-Synthetic-Category-Theory κ S) + ( right-functor-cone-diagram-Synthetic-Category-Theory κ μ c) + ( right-functor-cone-diagram-Synthetic-Category-Theory κ μ c) + s t + ( id-iso-Synthetic-Category-Theory ι + ( right-functor-cospan-Synthetic-Category-Theory κ S)) + ( id-iso-Synthetic-Category-Theory ι + ( right-functor-cone-diagram-Synthetic-Category-Theory κ μ c)) + ( α)) + ( comp-iso-Synthetic-Category-Theory + ( composition-isomorphism-Synthetic-Category-Theory μ) + ( interchange-comp-functor-Synthetic-Category-Theory I + ( iso-cone-diagram-Synthetic-Category-Theory κ μ c) + ( horizontal-comp-iso-Synthetic-Category-Theory Χ + ( id-iso-Synthetic-Category-Theory ι + ( right-functor-cospan-Synthetic-Category-Theory κ S)) + ( id-iso-Synthetic-Category-Theory ι + ( right-functor-cone-diagram-Synthetic-Category-Theory κ μ c))) + ( id-iso-Synthetic-Category-Theory ι t) + ( α)) + ( comp-iso-Synthetic-Category-Theory + ( composition-isomorphism-Synthetic-Category-Theory μ) + ( preserves-isomorphism-horizontal-comp-iso-Synthetic-Category-Theory + ( M) + ( inv-iso-Synthetic-Category-Theory + ( inverse-isomorphism-Synthetic-Category-Theory ν) + ( left-unit-law-comp-functor-Synthetic-Category-Theory + ( left-unit-law-composition-isomorphism-Synthetic-Category-Theory + Λ) + ( α))) + ( comp-iso-Synthetic-Category-Theory + ( composition-isomorphism-Synthetic-Category-Theory μ) + ( horizontal-comp-iso-Synthetic-Category-Theory + ( horizontal-composition-isomorphism-Synthetic-Category-Theory + Χ) + ( id-iso-Synthetic-Category-Theory + ( identity-isomorphism-Synthetic-Category-Theory ι) + ( iso-cone-diagram-Synthetic-Category-Theory κ μ c)) + ( inv-iso-Synthetic-Category-Theory + ( inverse-isomorphism-Synthetic-Category-Theory ν) + ( preserves-identity-horizontal-comp-iso-Synthetic-Category-Theory + N))) + ( inv-iso-Synthetic-Category-Theory + ( inverse-isomorphism-Synthetic-Category-Theory ν) + ( right-unit-law-comp-functor-Synthetic-Category-Theory + ( right-unit-law-composition-isomorphism-Synthetic-Category-Theory + Ρ) + ( iso-cone-diagram-Synthetic-Category-Theory κ μ c))))) + ( comp-iso-Synthetic-Category-Theory + ( composition-isomorphism-Synthetic-Category-Theory μ) + ( preserves-isomorphism-horizontal-comp-iso-Synthetic-Category-Theory + ( M) + ( right-unit-law-comp-functor-Synthetic-Category-Theory + ( right-unit-law-composition-isomorphism-Synthetic-Category-Theory + Ρ) + ( α)) + ( comp-iso-Synthetic-Category-Theory + ( composition-isomorphism-Synthetic-Category-Theory μ) + ( left-unit-law-comp-functor-Synthetic-Category-Theory + ( left-unit-law-composition-isomorphism-Synthetic-Category-Theory + Λ) + ( iso-cone-diagram-Synthetic-Category-Theory κ μ c)) + ( horizontal-comp-iso-Synthetic-Category-Theory + ( horizontal-composition-isomorphism-Synthetic-Category-Theory + Χ) + ( preserves-identity-horizontal-comp-iso-Synthetic-Category-Theory + N) + ( id-iso-Synthetic-Category-Theory + ( identity-isomorphism-Synthetic-Category-Theory ι) + ( iso-cone-diagram-Synthetic-Category-Theory κ μ c))))) + ( inv-iso-Synthetic-Category-Theory + ( inverse-isomorphism-Synthetic-Category-Theory ν) + ( interchange-comp-functor-Synthetic-Category-Theory I + ( horizontal-comp-iso-Synthetic-Category-Theory Χ + ( id-iso-Synthetic-Category-Theory ι + ( left-functor-cospan-Synthetic-Category-Theory κ S)) + ( id-iso-Synthetic-Category-Theory ι + ( left-functor-cone-diagram-Synthetic-Category-Theory + κ μ c))) + ( iso-cone-diagram-Synthetic-Category-Theory κ μ c) + ( α) + ( id-iso-Synthetic-Category-Theory ι s))))))) + ( preserves-associativity-comp-functor-horizontal-comp-iso-Synthetic-Category-Theory + ( Ξ) + ( id-iso-Synthetic-Category-Theory ι + ( left-functor-cospan-Synthetic-Category-Theory κ S)) + ( id-iso-Synthetic-Category-Theory ι + ( left-functor-cone-diagram-Synthetic-Category-Theory κ μ c)) + ( α)) +``` diff --git a/src/synthetic-category-theory/cospans-synthetic-categories.lagda.md b/src/synthetic-category-theory/cospans-synthetic-categories.lagda.md new file mode 100644 index 0000000000..8051db1b1d --- /dev/null +++ b/src/synthetic-category-theory/cospans-synthetic-categories.lagda.md @@ -0,0 +1,411 @@ +# Cospans of synthetic categories + +```agda +{-# OPTIONS --guardedness #-} + +module synthetic-category-theory.cospans-synthetic-categories where +``` + +
Imports + +```agda +open import foundation.cartesian-product-types +open import foundation.dependent-pair-types +open import foundation.universe-levels + +open import structured-types.globular-types + +open import synthetic-category-theory.equivalences-synthetic-categories +open import synthetic-category-theory.synthetic-categories +``` + +
+ +## Idea + +A {{#concept "cospan" Disambiguation="Synthetic categories"}} of +[synthetic categories](synthetic-category-theory.synthetic-categories.md) is a +pair of functors f, g of synthetic categories with a common codomain: + +```text +C --f--> E <--g-- D. +``` + +## Definition + +```agda +module _ + {l : Level} + where + + cospan-Synthetic-Category-Theory : + (κ : language-Synthetic-Category-Theory l) + (C E D : category-Synthetic-Category-Theory κ) → UU l + cospan-Synthetic-Category-Theory κ C E D = + Σ ( functor-Synthetic-Category-Theory κ C E) + ( λ f → functor-Synthetic-Category-Theory κ D E) +``` + +### The components of a cospan of synthetic categories + +```agda + left-source-cospan-Synthetic-Category-Theory : + (κ : language-Synthetic-Category-Theory l) + {C E D : category-Synthetic-Category-Theory κ} → + cospan-Synthetic-Category-Theory κ C E D → + category-Synthetic-Category-Theory κ + left-source-cospan-Synthetic-Category-Theory κ {C = C} S = C + + right-source-cospan-Synthetic-Category-Theory : + (κ : language-Synthetic-Category-Theory l) + {C E D : category-Synthetic-Category-Theory κ} → + cospan-Synthetic-Category-Theory κ C E D → + category-Synthetic-Category-Theory κ + right-source-cospan-Synthetic-Category-Theory κ {D = D} S = D + + target-cospan-Synthetic-Category-Theory : + (κ : language-Synthetic-Category-Theory l) + {C E D : category-Synthetic-Category-Theory κ} → + cospan-Synthetic-Category-Theory κ C E D → + category-Synthetic-Category-Theory κ + target-cospan-Synthetic-Category-Theory κ {E = E} S = E + + left-functor-cospan-Synthetic-Category-Theory : + (κ : language-Synthetic-Category-Theory l) + {C E D : category-Synthetic-Category-Theory κ} + (S : cospan-Synthetic-Category-Theory κ C E D) → + functor-Synthetic-Category-Theory κ + ( left-source-cospan-Synthetic-Category-Theory κ S) + ( target-cospan-Synthetic-Category-Theory κ S) + left-functor-cospan-Synthetic-Category-Theory κ = pr1 + + right-functor-cospan-Synthetic-Category-Theory : + (κ : language-Synthetic-Category-Theory l) + {C E D : category-Synthetic-Category-Theory κ} + (S : cospan-Synthetic-Category-Theory κ C E D) → + functor-Synthetic-Category-Theory κ + ( right-source-cospan-Synthetic-Category-Theory κ S) + ( target-cospan-Synthetic-Category-Theory κ S) + right-functor-cospan-Synthetic-Category-Theory κ = pr2 +``` + +## Transformations of cospans of synthetic categories + +A transformation between cospans C --f--> E <--g-- D and C'--f'--> E' <--g'-- D' +is commutative diagram of the form: + +```text +C --f---> E <---g-- D +| | | +φ τ⇙ χ σ⇙ ψ +| | | +v v v +C'--f'--> E' <--g'--D'. +``` + +```agda +module _ + {l : Level} + where + + transformation-cospan-Synthetic-Category-Theory : + (κ : language-Synthetic-Category-Theory l) + (μ : composition-Synthetic-Category-Theory κ) + {C C' E E' D D' : category-Synthetic-Category-Theory κ} + (S : cospan-Synthetic-Category-Theory κ C E D) + (S' : cospan-Synthetic-Category-Theory κ C' E' D') → UU l + transformation-cospan-Synthetic-Category-Theory κ μ S S' = + Σ ( functor-Synthetic-Category-Theory κ + ( left-source-cospan-Synthetic-Category-Theory κ S) + ( left-source-cospan-Synthetic-Category-Theory κ S')) + ( λ φ → + Σ ( functor-Synthetic-Category-Theory κ + ( target-cospan-Synthetic-Category-Theory κ S) + ( target-cospan-Synthetic-Category-Theory κ S')) + ( λ χ → + Σ ( functor-Synthetic-Category-Theory κ + ( right-source-cospan-Synthetic-Category-Theory κ S) + ( right-source-cospan-Synthetic-Category-Theory κ S')) + ( λ ψ → + Σ ( commuting-square-functors-Synthetic-Category-Theory κ μ + ( left-functor-cospan-Synthetic-Category-Theory κ S) + ( χ) + ( φ) + ( left-functor-cospan-Synthetic-Category-Theory κ S')) + ( λ τ → + commuting-square-functors-Synthetic-Category-Theory κ μ + ( right-functor-cospan-Synthetic-Category-Theory κ S) + ( χ) + ( ψ) + ( right-functor-cospan-Synthetic-Category-Theory κ S'))))) +``` + +### The components of a transformation of cospans of synthetic categories + +```agda +module _ + {l : Level} + where + + left-functor-transformation-cospan-Synthetic-Category-Theory : + (κ : language-Synthetic-Category-Theory l) + (μ : composition-Synthetic-Category-Theory κ) + {C C' E E' D D' : category-Synthetic-Category-Theory κ} + {S : cospan-Synthetic-Category-Theory κ C E D} + {S' : cospan-Synthetic-Category-Theory κ C' E' D'} → + transformation-cospan-Synthetic-Category-Theory κ μ S S' → + functor-Synthetic-Category-Theory κ + ( left-source-cospan-Synthetic-Category-Theory κ S) + ( left-source-cospan-Synthetic-Category-Theory κ S') + left-functor-transformation-cospan-Synthetic-Category-Theory κ μ H = pr1 H + + right-functor-transformation-cospan-Synthetic-Category-Theory : + (κ : language-Synthetic-Category-Theory l) + (μ : composition-Synthetic-Category-Theory κ) + {C C' E E' D D' : category-Synthetic-Category-Theory κ} + {S : cospan-Synthetic-Category-Theory κ C E D} + {S' : cospan-Synthetic-Category-Theory κ C' E' D'} → + transformation-cospan-Synthetic-Category-Theory κ μ S S' → + functor-Synthetic-Category-Theory κ + ( right-source-cospan-Synthetic-Category-Theory κ S) + ( right-source-cospan-Synthetic-Category-Theory κ S') + right-functor-transformation-cospan-Synthetic-Category-Theory κ μ H = + pr1 (pr2 (pr2 H)) + + middle-functor-transformation-cospan-Synthetic-Category-Theory : + (κ : language-Synthetic-Category-Theory l) + (μ : composition-Synthetic-Category-Theory κ) + {C C' E E' D D' : category-Synthetic-Category-Theory κ} + {S : cospan-Synthetic-Category-Theory κ C E D} + {S' : cospan-Synthetic-Category-Theory κ C' E' D'} → + transformation-cospan-Synthetic-Category-Theory κ μ S S' → + functor-Synthetic-Category-Theory κ + ( target-cospan-Synthetic-Category-Theory κ S) + ( target-cospan-Synthetic-Category-Theory κ S') + middle-functor-transformation-cospan-Synthetic-Category-Theory κ μ H = + pr1 (pr2 H) + + left-commuting-square-transformation-cospan-Synthetic-Category-Theory : + (κ : language-Synthetic-Category-Theory l) + (μ : composition-Synthetic-Category-Theory κ) + {C C' E E' D D' : category-Synthetic-Category-Theory κ} + {S : cospan-Synthetic-Category-Theory κ C E D} + {S' : cospan-Synthetic-Category-Theory κ C' E' D'} + (H : transformation-cospan-Synthetic-Category-Theory κ μ S S') → + commuting-square-functors-Synthetic-Category-Theory κ μ + ( left-functor-cospan-Synthetic-Category-Theory κ S) + ( middle-functor-transformation-cospan-Synthetic-Category-Theory κ μ H) + ( left-functor-transformation-cospan-Synthetic-Category-Theory κ μ H) + ( left-functor-cospan-Synthetic-Category-Theory κ S') + left-commuting-square-transformation-cospan-Synthetic-Category-Theory κ μ H = + pr1 (pr2 (pr2 (pr2 H))) + + right-commuting-square-transformation-cospan-Synthetic-Category-Theory : + (κ : language-Synthetic-Category-Theory l) + (μ : composition-Synthetic-Category-Theory κ) + {C C' E E' D D' : category-Synthetic-Category-Theory κ} + {S : cospan-Synthetic-Category-Theory κ C E D} + {S' : cospan-Synthetic-Category-Theory κ C' E' D'} + (H : transformation-cospan-Synthetic-Category-Theory κ μ S S') → + commuting-square-functors-Synthetic-Category-Theory κ μ + ( right-functor-cospan-Synthetic-Category-Theory κ S) + ( middle-functor-transformation-cospan-Synthetic-Category-Theory κ μ H) + ( right-functor-transformation-cospan-Synthetic-Category-Theory κ μ H) + ( right-functor-cospan-Synthetic-Category-Theory κ S') + right-commuting-square-transformation-cospan-Synthetic-Category-Theory κ μ H = + pr2 (pr2 (pr2 (pr2 H))) +``` + +### Equivalences of cospans + +An equivalence of cospans S and S' is a transformations between S and S' such +that all three vertical functors are equivalences. + +```agda +module _ + {l : Level} + where + + equiv-cospan-Synthetic-Category-Theory : + (κ : language-Synthetic-Category-Theory l) + (μ : composition-Synthetic-Category-Theory κ) + (ι : identity-Synthetic-Category-Theory κ) + {C C' E E' D D' : category-Synthetic-Category-Theory κ} + (S : cospan-Synthetic-Category-Theory κ C E D) + (S' : cospan-Synthetic-Category-Theory κ C' E' D') → UU l + equiv-cospan-Synthetic-Category-Theory κ μ ι S S' = + Σ ( equiv-Synthetic-Category-Theory κ μ ι + ( left-source-cospan-Synthetic-Category-Theory κ S) + ( left-source-cospan-Synthetic-Category-Theory κ S')) + ( λ φ → + Σ ( equiv-Synthetic-Category-Theory κ μ ι + ( target-cospan-Synthetic-Category-Theory κ S) + ( target-cospan-Synthetic-Category-Theory κ S')) + ( λ χ → + Σ ( equiv-Synthetic-Category-Theory κ μ ι + ( right-source-cospan-Synthetic-Category-Theory κ S) + ( right-source-cospan-Synthetic-Category-Theory κ S')) + ( λ ψ → + Σ ( commuting-square-functors-Synthetic-Category-Theory κ μ + ( left-functor-cospan-Synthetic-Category-Theory κ S) + ( functor-equiv-Synthetic-Category-Theory κ μ ι χ) + ( functor-equiv-Synthetic-Category-Theory κ μ ι φ) + ( left-functor-cospan-Synthetic-Category-Theory κ S')) + ( λ τ → + commuting-square-functors-Synthetic-Category-Theory κ μ + ( right-functor-cospan-Synthetic-Category-Theory κ S) + ( functor-equiv-Synthetic-Category-Theory κ μ ι χ) + ( functor-equiv-Synthetic-Category-Theory κ μ ι ψ) + ( right-functor-cospan-Synthetic-Category-Theory κ S'))))) +``` + +### The components of an equivalence of cospans of synthetic categories + +```agda +module _ + {l : Level} + where + + left-equiv-equiv-cospan-Synthetic-Category-Theory : + (κ : language-Synthetic-Category-Theory l) + (μ : composition-Synthetic-Category-Theory κ) + (ι : identity-Synthetic-Category-Theory κ) + {C C' E E' D D' : category-Synthetic-Category-Theory κ} + {S : cospan-Synthetic-Category-Theory κ C E D} + {S' : cospan-Synthetic-Category-Theory κ C' E' D'} → + equiv-cospan-Synthetic-Category-Theory κ μ ι S S' → + equiv-Synthetic-Category-Theory κ μ ι + ( left-source-cospan-Synthetic-Category-Theory κ S) + ( left-source-cospan-Synthetic-Category-Theory κ S') + left-equiv-equiv-cospan-Synthetic-Category-Theory κ μ ι H = pr1 H + + left-functor-equiv-cospan-Synthetic-Category-Theory : + (κ : language-Synthetic-Category-Theory l) + (μ : composition-Synthetic-Category-Theory κ) + (ι : identity-Synthetic-Category-Theory κ) + {C C' E E' D D' : category-Synthetic-Category-Theory κ} + {S : cospan-Synthetic-Category-Theory κ C E D} + {S' : cospan-Synthetic-Category-Theory κ C' E' D'} → + equiv-cospan-Synthetic-Category-Theory κ μ ι S S' → + functor-Synthetic-Category-Theory κ + ( left-source-cospan-Synthetic-Category-Theory κ S) + ( left-source-cospan-Synthetic-Category-Theory κ S') + left-functor-equiv-cospan-Synthetic-Category-Theory κ μ ι H = + functor-equiv-Synthetic-Category-Theory κ μ ι + ( left-equiv-equiv-cospan-Synthetic-Category-Theory κ μ ι H) + + middle-equiv-equiv-cospan-Synthetic-Category-Theory : + (κ : language-Synthetic-Category-Theory l) + (μ : composition-Synthetic-Category-Theory κ) + (ι : identity-Synthetic-Category-Theory κ) + {C C' E E' D D' : category-Synthetic-Category-Theory κ} + {S : cospan-Synthetic-Category-Theory κ C E D} + {S' : cospan-Synthetic-Category-Theory κ C' E' D'} → + equiv-cospan-Synthetic-Category-Theory κ μ ι S S' → + equiv-Synthetic-Category-Theory κ μ ι + ( target-cospan-Synthetic-Category-Theory κ S) + ( target-cospan-Synthetic-Category-Theory κ S') + middle-equiv-equiv-cospan-Synthetic-Category-Theory κ μ ι H = + pr1 (pr2 H) + + middle-functor-equiv-cospan-Synthetic-Category-Theory : + (κ : language-Synthetic-Category-Theory l) + (μ : composition-Synthetic-Category-Theory κ) + (ι : identity-Synthetic-Category-Theory κ) + {C C' E E' D D' : category-Synthetic-Category-Theory κ} + {S : cospan-Synthetic-Category-Theory κ C E D} + {S' : cospan-Synthetic-Category-Theory κ C' E' D'} → + equiv-cospan-Synthetic-Category-Theory κ μ ι S S' → + functor-Synthetic-Category-Theory κ + ( target-cospan-Synthetic-Category-Theory κ S) + ( target-cospan-Synthetic-Category-Theory κ S') + middle-functor-equiv-cospan-Synthetic-Category-Theory κ μ ι H = + functor-equiv-Synthetic-Category-Theory κ μ ι + ( middle-equiv-equiv-cospan-Synthetic-Category-Theory κ μ ι H) + + right-equiv-equiv-cospan-Synthetic-Category-Theory : + (κ : language-Synthetic-Category-Theory l) + (μ : composition-Synthetic-Category-Theory κ) + (ι : identity-Synthetic-Category-Theory κ) + {C C' E E' D D' : category-Synthetic-Category-Theory κ} + {S : cospan-Synthetic-Category-Theory κ C E D} + {S' : cospan-Synthetic-Category-Theory κ C' E' D'} → + equiv-cospan-Synthetic-Category-Theory κ μ ι S S' → + equiv-Synthetic-Category-Theory κ μ ι + ( right-source-cospan-Synthetic-Category-Theory κ S) + ( right-source-cospan-Synthetic-Category-Theory κ S') + right-equiv-equiv-cospan-Synthetic-Category-Theory κ μ ι H = + pr1 (pr2 (pr2 H)) + + right-functor-equiv-cospan-Synthetic-Category-Theory : + (κ : language-Synthetic-Category-Theory l) + (μ : composition-Synthetic-Category-Theory κ) + (ι : identity-Synthetic-Category-Theory κ) + {C C' E E' D D' : category-Synthetic-Category-Theory κ} + {S : cospan-Synthetic-Category-Theory κ C E D} + {S' : cospan-Synthetic-Category-Theory κ C' E' D'} → + equiv-cospan-Synthetic-Category-Theory κ μ ι S S' → + functor-Synthetic-Category-Theory κ + ( right-source-cospan-Synthetic-Category-Theory κ S) + ( right-source-cospan-Synthetic-Category-Theory κ S') + right-functor-equiv-cospan-Synthetic-Category-Theory κ μ ι H = + functor-equiv-Synthetic-Category-Theory κ μ ι + ( right-equiv-equiv-cospan-Synthetic-Category-Theory κ μ ι H) + + left-commuting-square-equiv-cospan-Synthetic-Category-Theory : + (κ : language-Synthetic-Category-Theory l) + (μ : composition-Synthetic-Category-Theory κ) + (ι : identity-Synthetic-Category-Theory κ) + {C C' E E' D D' : category-Synthetic-Category-Theory κ} + {S : cospan-Synthetic-Category-Theory κ C E D} + {S' : cospan-Synthetic-Category-Theory κ C' E' D'} + (H : equiv-cospan-Synthetic-Category-Theory κ μ ι S S') → + ( commuting-square-functors-Synthetic-Category-Theory κ μ + ( left-functor-cospan-Synthetic-Category-Theory κ S) + ( middle-functor-equiv-cospan-Synthetic-Category-Theory κ μ ι H) + ( left-functor-equiv-cospan-Synthetic-Category-Theory κ μ ι H) + ( left-functor-cospan-Synthetic-Category-Theory κ S')) + left-commuting-square-equiv-cospan-Synthetic-Category-Theory κ μ ι H = + pr1 (pr2 (pr2 (pr2 H))) + + right-commuting-square-equiv-cospan-Synthetic-Category-Theory : + (κ : language-Synthetic-Category-Theory l) + (μ : composition-Synthetic-Category-Theory κ) + (ι : identity-Synthetic-Category-Theory κ) + {C C' E E' D D' : category-Synthetic-Category-Theory κ} + {S : cospan-Synthetic-Category-Theory κ C E D} + {S' : cospan-Synthetic-Category-Theory κ C' E' D'} + (H : equiv-cospan-Synthetic-Category-Theory κ μ ι S S') → + ( commuting-square-functors-Synthetic-Category-Theory κ μ + ( right-functor-cospan-Synthetic-Category-Theory κ S) + ( middle-functor-equiv-cospan-Synthetic-Category-Theory κ μ ι H) + ( right-functor-equiv-cospan-Synthetic-Category-Theory κ μ ι H) + ( right-functor-cospan-Synthetic-Category-Theory κ S')) + right-commuting-square-equiv-cospan-Synthetic-Category-Theory κ μ ι H = + pr2 (pr2 (pr2 (pr2 H))) + + transformation-cospan-equiv-cospan-Synthetic-Category-Theory : + (κ : language-Synthetic-Category-Theory l) + (μ : composition-Synthetic-Category-Theory κ) + (ι : identity-Synthetic-Category-Theory κ) + {C C' E E' D D' : category-Synthetic-Category-Theory κ} + {S : cospan-Synthetic-Category-Theory κ C E D} + {S' : cospan-Synthetic-Category-Theory κ C' E' D'} → + equiv-cospan-Synthetic-Category-Theory κ μ ι S S' → + transformation-cospan-Synthetic-Category-Theory κ μ S S' + pr1 + ( transformation-cospan-equiv-cospan-Synthetic-Category-Theory κ μ ι H) = + left-functor-equiv-cospan-Synthetic-Category-Theory κ μ ι H + pr1 (pr2 + ( transformation-cospan-equiv-cospan-Synthetic-Category-Theory κ μ ι H)) = + middle-functor-equiv-cospan-Synthetic-Category-Theory κ μ ι H + pr1 (pr2 (pr2 + (transformation-cospan-equiv-cospan-Synthetic-Category-Theory κ μ ι H))) = + right-functor-equiv-cospan-Synthetic-Category-Theory κ μ ι H + pr1 (pr2 (pr2 (pr2 + ( transformation-cospan-equiv-cospan-Synthetic-Category-Theory κ μ ι H)))) = + left-commuting-square-equiv-cospan-Synthetic-Category-Theory κ μ ι H + pr2 (pr2 (pr2 (pr2 + ( transformation-cospan-equiv-cospan-Synthetic-Category-Theory κ μ ι H)))) = + right-commuting-square-equiv-cospan-Synthetic-Category-Theory κ μ ι H +``` diff --git a/src/synthetic-category-theory/equivalence-of-synthetic-categories.lagda.md b/src/synthetic-category-theory/equivalence-of-synthetic-categories.lagda.md deleted file mode 100644 index cba83e234f..0000000000 --- a/src/synthetic-category-theory/equivalence-of-synthetic-categories.lagda.md +++ /dev/null @@ -1,332 +0,0 @@ -# Equivalence of synthetic categories - -```agda -{-# OPTIONS --guardedness #-} - -module synthetic-category-theory.equivalence-of-synthetic-categories where -``` - -
Imports - -```agda -open import foundation.cartesian-product-types -open import foundation.dependent-pair-types -open import foundation.universe-levels - -open import structured-types.globular-types - -open import synthetic-category-theory.synthetic-categories -``` - -
- -## Definitions - -### Sections, retractions and equivalences - -Consider a functor f : C → D. A section of f is a functor s : D → C together -with an isomorphism fs ≅ id_C. A retraction of f is a functor r : D → C together -with an isomorphism rf ≅ id_D. The functor f is an equivalence if there is a -functor g : D → C together with isomorphisms fg ≅ id_C and gf ≅ id_D. - -```agda -module _ - {l : Level} - where - - is-section-Synthetic-Category-Theory : - (κ : language-Synthetic-Category-Theory l) → - (μ : composition-Synthetic-Category-Theory κ) → - (ι : identity-Synthetic-Category-Theory κ) → - (C D : category-Synthetic-Category-Theory κ) → - (f : functor-Synthetic-Category-Theory κ C D) → - (s : functor-Synthetic-Category-Theory κ D C) → UU l - is-section-Synthetic-Category-Theory κ μ ι C D f s = - isomorphism-Synthetic-Category-Theory - ( κ) - ( comp-functor-Synthetic-Category-Theory μ f s) - ( id-functor-Synthetic-Category-Theory ι D) - - section-Synthetic-Category-Theory : - (κ : language-Synthetic-Category-Theory l) → - (μ : composition-Synthetic-Category-Theory κ) → - (ι : identity-Synthetic-Category-Theory κ) → - (C D : category-Synthetic-Category-Theory κ) → - (f : functor-Synthetic-Category-Theory κ C D) → UU l - section-Synthetic-Category-Theory κ μ ι C D f = - Σ ( functor-Synthetic-Category-Theory κ D C) - ( λ s → is-section-Synthetic-Category-Theory κ μ ι C D f s) - - map-section-Synthetic-Category-Theory : - (κ : language-Synthetic-Category-Theory l) → - (μ : composition-Synthetic-Category-Theory κ) → - (ι : identity-Synthetic-Category-Theory κ) → - (C D : category-Synthetic-Category-Theory κ) → - (f : functor-Synthetic-Category-Theory κ C D) → - section-Synthetic-Category-Theory κ μ ι C D f → - functor-Synthetic-Category-Theory κ D C - map-section-Synthetic-Category-Theory κ μ ι C D f sec = pr1 sec - - is-section-section-Synthetic-Category-Theory : - (κ : language-Synthetic-Category-Theory l) → - (μ : composition-Synthetic-Category-Theory κ) → - (ι : identity-Synthetic-Category-Theory κ) → - (C D : category-Synthetic-Category-Theory κ) → - (f : functor-Synthetic-Category-Theory κ C D) → - (sec : section-Synthetic-Category-Theory κ μ ι C D f) → - is-section-Synthetic-Category-Theory - κ μ ι C D f (map-section-Synthetic-Category-Theory κ μ ι C D f sec) - is-section-section-Synthetic-Category-Theory κ μ ι C D f sec = pr2 sec - - is-retraction-Synthetic-Category-Theory : - (κ : language-Synthetic-Category-Theory l) → - (μ : composition-Synthetic-Category-Theory κ) → - (ι : identity-Synthetic-Category-Theory κ) → - (C D : category-Synthetic-Category-Theory κ) → - (f : functor-Synthetic-Category-Theory κ C D) → - (r : functor-Synthetic-Category-Theory κ D C) → UU l - is-retraction-Synthetic-Category-Theory κ μ ι C D f r = - isomorphism-Synthetic-Category-Theory - ( κ) - ( comp-functor-Synthetic-Category-Theory μ r f) - ( id-functor-Synthetic-Category-Theory ι C) - - retraction-Synthetic-Category-Theory : - (κ : language-Synthetic-Category-Theory l) → - (μ : composition-Synthetic-Category-Theory κ) → - (ι : identity-Synthetic-Category-Theory κ) → - (C D : category-Synthetic-Category-Theory κ) → - (f : functor-Synthetic-Category-Theory κ C D) → UU l - retraction-Synthetic-Category-Theory κ μ ι C D f = - Σ ( functor-Synthetic-Category-Theory κ D C) - ( λ r → is-retraction-Synthetic-Category-Theory κ μ ι C D f r) - - map-retraction-Synthetic-Category-Theory : - (κ : language-Synthetic-Category-Theory l) → - (μ : composition-Synthetic-Category-Theory κ) → - (ι : identity-Synthetic-Category-Theory κ) → - (C D : category-Synthetic-Category-Theory κ) → - (f : functor-Synthetic-Category-Theory κ C D) → - (retraction-Synthetic-Category-Theory κ μ ι C D f) → - (functor-Synthetic-Category-Theory κ D C) - map-retraction-Synthetic-Category-Theory κ μ ι C D f ret = pr1 ret - - is-retraction-retraction-Synthetic-Category-Theory : - (κ : language-Synthetic-Category-Theory l) → - (μ : composition-Synthetic-Category-Theory κ) → - (ι : identity-Synthetic-Category-Theory κ) → - (C D : category-Synthetic-Category-Theory κ) → - (f : functor-Synthetic-Category-Theory κ C D) → - (ret : retraction-Synthetic-Category-Theory κ μ ι C D f) → - is-retraction-Synthetic-Category-Theory - κ μ ι C D f (map-retraction-Synthetic-Category-Theory κ μ ι C D f ret) - is-retraction-retraction-Synthetic-Category-Theory κ μ ι C D f ret = pr2 ret - - is-equivalence-Synthetic-Category-Theory : - (κ : language-Synthetic-Category-Theory l) → - (μ : composition-Synthetic-Category-Theory κ) → - (ι : identity-Synthetic-Category-Theory κ) → - (C D : category-Synthetic-Category-Theory κ) → - (f : functor-Synthetic-Category-Theory κ C D) - (g : functor-Synthetic-Category-Theory κ D C) → UU l - is-equivalence-Synthetic-Category-Theory κ μ ι C D f g = - ( is-section-Synthetic-Category-Theory κ μ ι C D f g) - × - ( is-retraction-Synthetic-Category-Theory κ μ ι C D f g) - - equivalence-Synthetic-Category-Theory : - (κ : language-Synthetic-Category-Theory l) → - (μ : composition-Synthetic-Category-Theory κ) → - (ι : identity-Synthetic-Category-Theory κ) → - (C D : category-Synthetic-Category-Theory κ) → - (f : functor-Synthetic-Category-Theory κ C D) → UU l - equivalence-Synthetic-Category-Theory κ μ ι C D f = - Σ ( functor-Synthetic-Category-Theory κ D C) - ( λ g → is-equivalence-Synthetic-Category-Theory κ μ ι C D f g) - - map-equivalence-Synthetic-Category-Theory : - (κ : language-Synthetic-Category-Theory l) → - (μ : composition-Synthetic-Category-Theory κ) → - (ι : identity-Synthetic-Category-Theory κ) → - (C D : category-Synthetic-Category-Theory κ) → - (f : functor-Synthetic-Category-Theory κ C D) → - equivalence-Synthetic-Category-Theory κ μ ι C D f → - functor-Synthetic-Category-Theory κ D C - map-equivalence-Synthetic-Category-Theory κ μ ι C D f eq = pr1 eq - - is-equivalence-equivalence-Synthetic-Category-Theory : - (κ : language-Synthetic-Category-Theory l) → - (μ : composition-Synthetic-Category-Theory κ) → - (ι : identity-Synthetic-Category-Theory κ) → - (C D : category-Synthetic-Category-Theory κ) → - (f : functor-Synthetic-Category-Theory κ C D) → - (eq : equivalence-Synthetic-Category-Theory κ μ ι C D f) → - is-equivalence-Synthetic-Category-Theory - κ μ ι C D f (map-equivalence-Synthetic-Category-Theory κ μ ι C D f eq) - is-equivalence-equivalence-Synthetic-Category-Theory κ μ ι C D f eq = pr2 eq - - is-section-equivalence-Synthetic-Category-Theory : - (κ : language-Synthetic-Category-Theory l) → - (μ : composition-Synthetic-Category-Theory κ) → - (ι : identity-Synthetic-Category-Theory κ) → - (C D : category-Synthetic-Category-Theory κ) → - (f : functor-Synthetic-Category-Theory κ C D) → - (eq : equivalence-Synthetic-Category-Theory κ μ ι C D f) → - is-section-Synthetic-Category-Theory - κ μ ι C D f (map-equivalence-Synthetic-Category-Theory κ μ ι C D f eq) - is-section-equivalence-Synthetic-Category-Theory κ μ ι C D f eq = - pr1 (is-equivalence-equivalence-Synthetic-Category-Theory κ μ ι C D f eq) - - is-retraction-equivalence-Synthetic-Category-Theory : - (κ : language-Synthetic-Category-Theory l) → - (μ : composition-Synthetic-Category-Theory κ) → - (ι : identity-Synthetic-Category-Theory κ) → - (C D : category-Synthetic-Category-Theory κ) → - (f : functor-Synthetic-Category-Theory κ C D) → - (eq : equivalence-Synthetic-Category-Theory κ μ ι C D f) → - is-retraction-Synthetic-Category-Theory - κ μ ι C D f (map-equivalence-Synthetic-Category-Theory κ μ ι C D f eq) - is-retraction-equivalence-Synthetic-Category-Theory κ μ ι C D f eq = - pr2 (is-equivalence-equivalence-Synthetic-Category-Theory κ μ ι C D f eq) -``` - -A functor f : C → D admits a section and a retraction iff it is an equivalence -(Lemma 1.1.6. in the book.) - -```agda - is-equivalence-admits-section-admits-retraction-Synthetic-Category-Theory : - (κ : language-Synthetic-Category-Theory l) → - (μ : composition-Synthetic-Category-Theory κ) → - (ι : identity-Synthetic-Category-Theory κ) → - (C D : category-Synthetic-Category-Theory κ) → - (f : functor-Synthetic-Category-Theory κ C D) → - equivalence-Synthetic-Category-Theory κ μ ι C D f → - (section-Synthetic-Category-Theory κ μ ι C D f) - × - (retraction-Synthetic-Category-Theory κ μ ι C D f) - is-equivalence-admits-section-admits-retraction-Synthetic-Category-Theory - κ μ ι C D f eq = - ( map-equivalence-Synthetic-Category-Theory κ μ ι C D f eq , - pr1 - (is-equivalence-equivalence-Synthetic-Category-Theory κ μ ι C D f eq)) , - ( map-equivalence-Synthetic-Category-Theory κ μ ι C D f eq , - pr2 - (is-equivalence-equivalence-Synthetic-Category-Theory κ μ ι C D f eq)) - - admits-section-admits-retraction-is-equivalence-Synthetic-Category-Theory : - (κ : language-Synthetic-Category-Theory l) → - (μ : composition-Synthetic-Category-Theory κ) → - (ι : identity-Synthetic-Category-Theory κ) → - (ν : inverse-Synthetic-Category-Theory κ) → - (Λ : left-unit-law-composition-Synthetic-Category-Theory κ ι μ) → - (Ρ : right-unit-law-composition-Synthetic-Category-Theory κ ι μ) → - (X : horizontal-composition-Synthetic-Category-Theory κ μ) → - (Α : associative-composition-Synthetic-Category-Theory κ μ) → - (C D : category-Synthetic-Category-Theory κ) → - (f : functor-Synthetic-Category-Theory κ C D) → - section-Synthetic-Category-Theory κ μ ι C D f → - retraction-Synthetic-Category-Theory κ μ ι C D f → - equivalence-Synthetic-Category-Theory κ μ ι C D f - admits-section-admits-retraction-is-equivalence-Synthetic-Category-Theory - κ μ ι ν Λ Ρ Χ Α C D f sec ret = - let - s = map-section-Synthetic-Category-Theory κ μ ι C D f sec - Ξ = is-section-section-Synthetic-Category-Theory κ μ ι C D f sec - r = map-retraction-Synthetic-Category-Theory κ μ ι C D f ret - Ψ = is-retraction-retraction-Synthetic-Category-Theory κ μ ι C D f ret - α = comp-iso-Synthetic-Category-Theory μ - ( comp-iso-Synthetic-Category-Theory μ - ( comp-iso-Synthetic-Category-Theory μ - ( comp-iso-Synthetic-Category-Theory μ - ( right-unit-law-comp-functor-Synthetic-Category-Theory Ρ r) - ( horizontal-comp-iso-Synthetic-Category-Theory Χ - (id-iso-Synthetic-Category-Theory ι r) Ξ)) - ( associative-comp-functor-Synthetic-Category-Theory Α r f s)) - ( horizontal-comp-iso-Synthetic-Category-Theory Χ - ( inv-iso-Synthetic-Category-Theory ν Ψ) - ( id-iso-Synthetic-Category-Theory ι s))) - ( inv-iso-Synthetic-Category-Theory ν - ( left-unit-law-comp-functor-Synthetic-Category-Theory Λ s)) - β = comp-iso-Synthetic-Category-Theory μ - ( Ψ) - ( horizontal-comp-iso-Synthetic-Category-Theory Χ - ( α) - ( id-iso-Synthetic-Category-Theory ι f)) - in - s , Ξ , β -``` - -Equivalences are closed under composition (lemma 1.1.8.) - -```agda -module _ - {l : Level} {κ : language-Synthetic-Category-Theory l} - {μ : composition-Synthetic-Category-Theory κ} - {ι : identity-Synthetic-Category-Theory κ} - {ν : inverse-Synthetic-Category-Theory κ} - {Λ : left-unit-law-composition-Synthetic-Category-Theory κ ι μ} - {Ρ : right-unit-law-composition-Synthetic-Category-Theory κ ι μ} - {Χ : horizontal-composition-Synthetic-Category-Theory κ μ} - {Α : associative-composition-Synthetic-Category-Theory κ μ} - where - - equiv-equiv-comp-equiv-Synthetic-Category-Theory : - (C D E : category-Synthetic-Category-Theory κ) → - (f' : functor-Synthetic-Category-Theory κ D E) → - (f : functor-Synthetic-Category-Theory κ C D) → - (eq-f' : equivalence-Synthetic-Category-Theory κ μ ι D E f') → - (eq-f : equivalence-Synthetic-Category-Theory κ μ ι C D f) → - equivalence-Synthetic-Category-Theory - κ μ ι C E (comp-functor-Synthetic-Category-Theory μ f' f) - equiv-equiv-comp-equiv-Synthetic-Category-Theory - C D E f' f eq-f' eq-f = - let - g = map-equivalence-Synthetic-Category-Theory κ μ ι C D f eq-f - g' = map-equivalence-Synthetic-Category-Theory κ μ ι D E f' eq-f' - in - comp-functor-Synthetic-Category-Theory μ g g' , - comp-iso-Synthetic-Category-Theory μ - ( is-section-equivalence-Synthetic-Category-Theory κ μ ι D E f' eq-f') - ( comp-iso-Synthetic-Category-Theory μ - ( horizontal-comp-iso-Synthetic-Category-Theory Χ - ( right-unit-law-comp-functor-Synthetic-Category-Theory Ρ f') - ( id-iso-Synthetic-Category-Theory ι g')) - ( comp-iso-Synthetic-Category-Theory μ - ( horizontal-comp-iso-Synthetic-Category-Theory Χ - ( horizontal-comp-iso-Synthetic-Category-Theory Χ - ( id-iso-Synthetic-Category-Theory ι f') - ( is-section-equivalence-Synthetic-Category-Theory - κ μ ι C D f eq-f)) - ( id-iso-Synthetic-Category-Theory ι g')) - ( comp-iso-Synthetic-Category-Theory μ - ( horizontal-comp-iso-Synthetic-Category-Theory Χ - ( associative-comp-functor-Synthetic-Category-Theory Α f' f g) - ( id-iso-Synthetic-Category-Theory ι g')) - ( inv-iso-Synthetic-Category-Theory ν - ( associative-comp-functor-Synthetic-Category-Theory Α - ( comp-functor-Synthetic-Category-Theory μ f' f) - ( g) - ( g')))))) , - comp-iso-Synthetic-Category-Theory μ - ( is-retraction-equivalence-Synthetic-Category-Theory κ μ ι C D f eq-f) - ( comp-iso-Synthetic-Category-Theory μ - ( horizontal-comp-iso-Synthetic-Category-Theory Χ - ( right-unit-law-comp-functor-Synthetic-Category-Theory Ρ g) - ( id-iso-Synthetic-Category-Theory ι f)) - ( comp-iso-Synthetic-Category-Theory μ - ( horizontal-comp-iso-Synthetic-Category-Theory Χ - ( horizontal-comp-iso-Synthetic-Category-Theory Χ - ( id-iso-Synthetic-Category-Theory ι g) - ( is-retraction-equivalence-Synthetic-Category-Theory - κ μ ι D E f' eq-f')) - ( id-iso-Synthetic-Category-Theory ι f)) - ( comp-iso-Synthetic-Category-Theory μ - ( horizontal-comp-iso-Synthetic-Category-Theory Χ - ( associative-comp-functor-Synthetic-Category-Theory Α g g' f') - ( id-iso-Synthetic-Category-Theory ι f)) - ( inv-iso-Synthetic-Category-Theory ν - ( associative-comp-functor-Synthetic-Category-Theory Α - ( comp-functor-Synthetic-Category-Theory μ g g') - ( f') - ( f)))))) -``` diff --git a/src/synthetic-category-theory/equivalences-synthetic-categories.lagda.md b/src/synthetic-category-theory/equivalences-synthetic-categories.lagda.md new file mode 100644 index 0000000000..7e6f9d6866 --- /dev/null +++ b/src/synthetic-category-theory/equivalences-synthetic-categories.lagda.md @@ -0,0 +1,168 @@ +# Equivalences between synthetic categories + +```agda +{-# OPTIONS --guardedness #-} + +module synthetic-category-theory.equivalences-synthetic-categories where +``` + +
Imports + +```agda +open import foundation.cartesian-product-types +open import foundation.dependent-pair-types +open import foundation.universe-levels + +open import structured-types.globular-types + +open import synthetic-category-theory.retractions-synthetic-categories +open import synthetic-category-theory.sections-synthetic-categories +open import synthetic-category-theory.synthetic-categories +``` + +
+ +## Idea + +A functor f: A → B of +[synthetic categories](synthetic-category-theory.synthetic-categories.md) is an +{{#concept "equivalence" Disambiguation="Synthetic categories}} if it has a +[section](synthetic-category-theory.sections-synthetic-categories.md) and a +[retraction](synthetic-category-theory.retractions-synthetic-categories.md). + +### The predicate of being an equivalence + +```agda +module _ + {l : Level} + where + + is-equiv-Synthetic-Category-Theory : + (κ : language-Synthetic-Category-Theory l) + {C D : category-Synthetic-Category-Theory κ} + (μ : composition-Synthetic-Category-Theory κ) + (ι : identity-Synthetic-Category-Theory κ) + (f : functor-Synthetic-Category-Theory κ C D) → UU l + is-equiv-Synthetic-Category-Theory κ μ ι f = + ( section-Synthetic-Category-Theory κ μ ι f) + × + ( retraction-Synthetic-Category-Theory κ μ ι f) +``` + +### The components of a proof of being an equivalence + +```agda +module _ + {l : Level} + where + + section-is-equiv-Synthetic-Category-Theory : + (κ : language-Synthetic-Category-Theory l) + (μ : composition-Synthetic-Category-Theory κ) + (ι : identity-Synthetic-Category-Theory κ) + {C D : category-Synthetic-Category-Theory κ} + {f : functor-Synthetic-Category-Theory κ C D} → + is-equiv-Synthetic-Category-Theory κ μ ι f → + section-Synthetic-Category-Theory κ μ ι f + section-is-equiv-Synthetic-Category-Theory κ μ ι = pr1 + + retraction-is-equiv-Synthetic-Category-Theory : + (κ : language-Synthetic-Category-Theory l) + (μ : composition-Synthetic-Category-Theory κ) + (ι : identity-Synthetic-Category-Theory κ) + {C D : category-Synthetic-Category-Theory κ} + {f : functor-Synthetic-Category-Theory κ C D} → + is-equiv-Synthetic-Category-Theory κ μ ι f → + retraction-Synthetic-Category-Theory κ μ ι f + retraction-is-equiv-Synthetic-Category-Theory κ μ ι = pr2 +``` + +### The type of equivalences between two given synthetic categories + +```agda +module _ + {l : Level} + where + + equiv-Synthetic-Category-Theory : + (κ : language-Synthetic-Category-Theory l) + (μ : composition-Synthetic-Category-Theory κ) + (ι : identity-Synthetic-Category-Theory κ) + (C D : category-Synthetic-Category-Theory κ) → UU l + equiv-Synthetic-Category-Theory κ μ ι C D = + Σ ( functor-Synthetic-Category-Theory κ C D) + ( is-equiv-Synthetic-Category-Theory κ μ ι) +``` + +### The components of an equivalence of synthetic categories + +```agda +module _ + {l : Level} + where + + functor-equiv-Synthetic-Category-Theory : + (κ : language-Synthetic-Category-Theory l) + {C D : category-Synthetic-Category-Theory κ} + (μ : composition-Synthetic-Category-Theory κ) + (ι : identity-Synthetic-Category-Theory κ) → + equiv-Synthetic-Category-Theory κ μ ι C D → + functor-Synthetic-Category-Theory κ C D + functor-equiv-Synthetic-Category-Theory κ μ ι = pr1 + + is-equiv-functor-equiv-Synthetic-Category-Theory : + (κ : language-Synthetic-Category-Theory l) + {C D : category-Synthetic-Category-Theory κ} + (μ : composition-Synthetic-Category-Theory κ) + (ι : identity-Synthetic-Category-Theory κ) → + (H : equiv-Synthetic-Category-Theory κ μ ι C D) → + is-equiv-Synthetic-Category-Theory κ μ ι + ( functor-equiv-Synthetic-Category-Theory κ μ ι H) + is-equiv-functor-equiv-Synthetic-Category-Theory κ μ ι = pr2 + + section-functor-equiv-Synthetic-Category-Theory : + (κ : language-Synthetic-Category-Theory l) + (μ : composition-Synthetic-Category-Theory κ) + (ι : identity-Synthetic-Category-Theory κ) + {C D : category-Synthetic-Category-Theory κ} + (H : equiv-Synthetic-Category-Theory κ μ ι C D) → + section-Synthetic-Category-Theory κ μ ι + ( functor-equiv-Synthetic-Category-Theory κ μ ι H) + section-functor-equiv-Synthetic-Category-Theory κ μ ι H = + section-is-equiv-Synthetic-Category-Theory κ μ ι + ( is-equiv-functor-equiv-Synthetic-Category-Theory κ μ ι H) + + functor-section-functor-equiv-Synthetic-Category-Theory : + (κ : language-Synthetic-Category-Theory l) + (μ : composition-Synthetic-Category-Theory κ) + (ι : identity-Synthetic-Category-Theory κ) + {C D : category-Synthetic-Category-Theory κ} + (H : equiv-Synthetic-Category-Theory κ μ ι C D) → + functor-Synthetic-Category-Theory κ D C + functor-section-functor-equiv-Synthetic-Category-Theory κ μ ι H = + functor-section-Synthetic-Category-Theory κ μ ι + ( section-functor-equiv-Synthetic-Category-Theory κ μ ι H) + + retraction-functor-equiv-Synthetic-Category-Theory : + (κ : language-Synthetic-Category-Theory l) + (μ : composition-Synthetic-Category-Theory κ) + (ι : identity-Synthetic-Category-Theory κ) + {C D : category-Synthetic-Category-Theory κ} + (H : equiv-Synthetic-Category-Theory κ μ ι C D) → + retraction-Synthetic-Category-Theory κ μ ι + ( functor-equiv-Synthetic-Category-Theory κ μ ι H) + retraction-functor-equiv-Synthetic-Category-Theory κ μ ι H = + retraction-is-equiv-Synthetic-Category-Theory κ μ ι + ( is-equiv-functor-equiv-Synthetic-Category-Theory κ μ ι H) + + functor-retraction-functor-equiv-Synthetic-Category-Theory : + (κ : language-Synthetic-Category-Theory l) + (μ : composition-Synthetic-Category-Theory κ) + (ι : identity-Synthetic-Category-Theory κ) + {C D : category-Synthetic-Category-Theory κ} + (H : equiv-Synthetic-Category-Theory κ μ ι C D) → + functor-Synthetic-Category-Theory κ D C + functor-retraction-functor-equiv-Synthetic-Category-Theory κ μ ι H = + functor-retraction-Synthetic-Category-Theory κ μ ι + ( retraction-functor-equiv-Synthetic-Category-Theory κ μ ι H) +``` diff --git a/src/synthetic-category-theory/invertible-functors-synthetic-categories.lagda.md b/src/synthetic-category-theory/invertible-functors-synthetic-categories.lagda.md new file mode 100644 index 0000000000..59b67d0c4f --- /dev/null +++ b/src/synthetic-category-theory/invertible-functors-synthetic-categories.lagda.md @@ -0,0 +1,357 @@ +# Invertible functors between synthetic categories + +```agda +{-# OPTIONS --guardedness #-} + +module synthetic-category-theory.invertible-functors-synthetic-categories where +``` + +
Imports + +```agda +open import foundation.cartesian-product-types +open import foundation.dependent-pair-types +open import foundation.universe-levels + +open import structured-types.globular-types + +open import synthetic-category-theory.equivalences-synthetic-categories +open import synthetic-category-theory.retractions-synthetic-categories +open import synthetic-category-theory.sections-synthetic-categories +open import synthetic-category-theory.synthetic-categories +``` + +
+ +## Idea + +A functor f: A → B of +[synthetic categories](synthetic-category-theory.synthetic-categories.md) is +{{#concept "invertible" Disambiguation="Synthetic categories"}} if it has an +inverse, i.e. if there exists a functor g: B → A together with natural +isomorphisms g∘f ≅ id and g∘f ≅ id. + +### The predicate of being an inverse to a functor f: A → B of synthetic categories + +```agda +module _ + {l : Level} + where + + is-inverse-Synthetic-Category-Theory : + (κ : language-Synthetic-Category-Theory l) + (μ : composition-Synthetic-Category-Theory κ) + (ι : identity-Synthetic-Category-Theory κ) + {C D : category-Synthetic-Category-Theory κ} + (f : functor-Synthetic-Category-Theory κ C D) + (g : functor-Synthetic-Category-Theory κ D C) → UU l + is-inverse-Synthetic-Category-Theory κ μ ι f g = + ( is-section-Synthetic-Category-Theory κ μ ι f g) + × + ( is-retraction-Synthetic-Category-Theory κ μ ι f g) +``` + +### The predicate of being an invertible functor of synthetic categories + +```agda +module _ + {l : Level} + where + + is-invertible-functor-Synthetic-Category-Theory : + (κ : language-Synthetic-Category-Theory l) + (μ : composition-Synthetic-Category-Theory κ) + (ι : identity-Synthetic-Category-Theory κ) + {C D : category-Synthetic-Category-Theory κ} + (f : functor-Synthetic-Category-Theory κ C D) → UU l + is-invertible-functor-Synthetic-Category-Theory κ μ ι f = + Σ ( functor-Synthetic-Category-Theory κ _ _) + ( is-inverse-Synthetic-Category-Theory κ μ ι f) +``` + +### The type of invertible functors between two given synthetic categories + +```agda +module _ + {l : Level} + where + + invertible-functor-Synthetic-Category-Theory : + (κ : language-Synthetic-Category-Theory l) + (μ : composition-Synthetic-Category-Theory κ) + (ι : identity-Synthetic-Category-Theory κ) + (C D : category-Synthetic-Category-Theory κ) → UU l + invertible-functor-Synthetic-Category-Theory κ μ ι C D = + Σ ( functor-Synthetic-Category-Theory κ C D) + ( is-invertible-functor-Synthetic-Category-Theory κ μ ι) +``` + +### The components of an invertible functor of synthetic categories + +```agda +module _ + {l : Level} + where + + functor-invertible-functor-Synthetic-Category-Theory : + (κ : language-Synthetic-Category-Theory l) + (μ : composition-Synthetic-Category-Theory κ) + (ι : identity-Synthetic-Category-Theory κ) + {C D : category-Synthetic-Category-Theory κ} → + invertible-functor-Synthetic-Category-Theory κ μ ι C D → + functor-Synthetic-Category-Theory κ C D + functor-invertible-functor-Synthetic-Category-Theory κ μ ι = pr1 +``` + +### The components of a proof of being an invertible functor of synthetic categories + +```agda + inverse-functor-is-invertible-functor-Synthetic-Category-Theory : + (κ : language-Synthetic-Category-Theory l) + (μ : composition-Synthetic-Category-Theory κ) + (ι : identity-Synthetic-Category-Theory κ) + {C D : category-Synthetic-Category-Theory κ} + {f : functor-Synthetic-Category-Theory κ C D} → + is-invertible-functor-Synthetic-Category-Theory κ μ ι f → + functor-Synthetic-Category-Theory κ D C + inverse-functor-is-invertible-functor-Synthetic-Category-Theory κ μ ι = pr1 + + is-inverse-inverse-functor-is-invertible-functor-Synthetic-Category-Theory : + (κ : language-Synthetic-Category-Theory l) + (μ : composition-Synthetic-Category-Theory κ) + (ι : identity-Synthetic-Category-Theory κ) + {C D : category-Synthetic-Category-Theory κ} + {f : functor-Synthetic-Category-Theory κ C D} + (H : is-invertible-functor-Synthetic-Category-Theory κ μ ι f) → + is-inverse-Synthetic-Category-Theory κ μ ι f + ( inverse-functor-is-invertible-functor-Synthetic-Category-Theory κ μ ι H) + is-inverse-inverse-functor-is-invertible-functor-Synthetic-Category-Theory + κ μ ι = + pr2 + + is-section-inverse-functor-is-invertible-functor-Synthetic-Category-Theory : + (κ : language-Synthetic-Category-Theory l) + (μ : composition-Synthetic-Category-Theory κ) + (ι : identity-Synthetic-Category-Theory κ) + {C D : category-Synthetic-Category-Theory κ} + {f : functor-Synthetic-Category-Theory κ C D} + (H : is-invertible-functor-Synthetic-Category-Theory κ μ ι f) → + is-section-Synthetic-Category-Theory κ μ ι f + ( inverse-functor-is-invertible-functor-Synthetic-Category-Theory κ μ ι H) + is-section-inverse-functor-is-invertible-functor-Synthetic-Category-Theory + κ μ ι H = + pr1 + ( is-inverse-inverse-functor-is-invertible-functor-Synthetic-Category-Theory + κ μ ι H) + + is-retraction-inverse-functor-is-invertible-functor-Synthetic-Category-Theory : + (κ : language-Synthetic-Category-Theory l) + (μ : composition-Synthetic-Category-Theory κ) + (ι : identity-Synthetic-Category-Theory κ) + {C D : category-Synthetic-Category-Theory κ} + {f : functor-Synthetic-Category-Theory κ C D} + (H : is-invertible-functor-Synthetic-Category-Theory κ μ ι f) → + is-retraction-Synthetic-Category-Theory κ μ ι f + ( inverse-functor-is-invertible-functor-Synthetic-Category-Theory κ μ ι H) + is-retraction-inverse-functor-is-invertible-functor-Synthetic-Category-Theory + κ μ ι H = + pr2 + ( is-inverse-inverse-functor-is-invertible-functor-Synthetic-Category-Theory + κ μ ι H) + + section-is-invertible-functor-Synthetic-Category-Theory : + (κ : language-Synthetic-Category-Theory l) + (μ : composition-Synthetic-Category-Theory κ) + (ι : identity-Synthetic-Category-Theory κ) + {C D : category-Synthetic-Category-Theory κ} + {f : functor-Synthetic-Category-Theory κ C D} → + is-invertible-functor-Synthetic-Category-Theory κ μ ι f → + section-Synthetic-Category-Theory κ μ ι f + pr1 (section-is-invertible-functor-Synthetic-Category-Theory κ μ ι H) = + inverse-functor-is-invertible-functor-Synthetic-Category-Theory κ μ ι H + pr2 (section-is-invertible-functor-Synthetic-Category-Theory κ μ ι H) = + is-section-inverse-functor-is-invertible-functor-Synthetic-Category-Theory + κ μ ι H + + retraction-is-invertible-functor-Synthetic-Category-Theory : + (κ : language-Synthetic-Category-Theory l) + (μ : composition-Synthetic-Category-Theory κ) + (ι : identity-Synthetic-Category-Theory κ) + {C D : category-Synthetic-Category-Theory κ} + {f : functor-Synthetic-Category-Theory κ C D} → + is-invertible-functor-Synthetic-Category-Theory κ μ ι f → + retraction-Synthetic-Category-Theory κ μ ι f + pr1 (retraction-is-invertible-functor-Synthetic-Category-Theory κ μ ι H) = + inverse-functor-is-invertible-functor-Synthetic-Category-Theory κ μ ι H + pr2 (retraction-is-invertible-functor-Synthetic-Category-Theory κ μ ι H) = + is-retraction-inverse-functor-is-invertible-functor-Synthetic-Category-Theory + κ μ ι H +``` + +### A functor f : C → D of synthetic categories is invertible iff it is an equivalence + +```agda +module _ + {l : Level} + where + + is-equiv-is-invertible-functor-Synthetic-Category-Theory : + (κ : language-Synthetic-Category-Theory l) + (μ : composition-Synthetic-Category-Theory κ) + (ι : identity-Synthetic-Category-Theory κ) + {C D : category-Synthetic-Category-Theory κ} + {f : functor-Synthetic-Category-Theory κ C D} → + is-invertible-functor-Synthetic-Category-Theory κ μ ι f → + is-equiv-Synthetic-Category-Theory κ μ ι f + pr1 (is-equiv-is-invertible-functor-Synthetic-Category-Theory κ μ ι H) = + section-is-invertible-functor-Synthetic-Category-Theory κ μ ι H + pr2 (is-equiv-is-invertible-functor-Synthetic-Category-Theory κ μ ι H) = + retraction-is-invertible-functor-Synthetic-Category-Theory κ μ ι H + + is-invertible-functor-is-equiv-Synthetic-Category-Theory : + (κ : language-Synthetic-Category-Theory l) + (μ : composition-Synthetic-Category-Theory κ) + (ι : identity-Synthetic-Category-Theory κ) + (ν : inverse-Synthetic-Category-Theory κ μ ι) + (Λ : left-unit-law-composition-Synthetic-Category-Theory κ ι μ) + (Ρ : right-unit-law-composition-Synthetic-Category-Theory κ ι μ) + (X : horizontal-composition-Synthetic-Category-Theory κ μ) + (Α : associative-composition-Synthetic-Category-Theory κ μ) + {C D : category-Synthetic-Category-Theory κ} + {f : functor-Synthetic-Category-Theory κ C D} → + is-equiv-Synthetic-Category-Theory κ μ ι f → + is-invertible-functor-Synthetic-Category-Theory κ μ ι f + pr1 + ( is-invertible-functor-is-equiv-Synthetic-Category-Theory + κ μ ι ν Λ Ρ Χ Α B) = + functor-section-Synthetic-Category-Theory κ μ ι + ( section-is-equiv-Synthetic-Category-Theory κ μ ι B) + pr1 (pr2 + ( is-invertible-functor-is-equiv-Synthetic-Category-Theory + κ μ ι ν Λ Ρ Χ Α B)) = + is-section-functor-section-Synthetic-Category-Theory κ μ ι + ( section-is-equiv-Synthetic-Category-Theory κ μ ι B) + pr2 (pr2 + ( is-invertible-functor-is-equiv-Synthetic-Category-Theory + κ μ ι ν Λ Ρ Χ Α B)) = + comp-iso-Synthetic-Category-Theory μ + ( is-retraction-functor-retraction-Synthetic-Category-Theory κ μ ι + ( retraction-is-equiv-Synthetic-Category-Theory κ μ ι B)) + ( horizontal-comp-iso-Synthetic-Category-Theory Χ + ( comp-iso-Synthetic-Category-Theory μ + ( comp-iso-Synthetic-Category-Theory μ + ( comp-iso-Synthetic-Category-Theory μ + ( comp-iso-Synthetic-Category-Theory μ + ( right-unit-law-comp-functor-Synthetic-Category-Theory Ρ + ( functor-retraction-Synthetic-Category-Theory κ μ ι + ( retraction-is-equiv-Synthetic-Category-Theory κ μ ι B))) + ( horizontal-comp-iso-Synthetic-Category-Theory Χ + ( id-iso-Synthetic-Category-Theory ι + ( functor-retraction-Synthetic-Category-Theory κ μ ι + ( retraction-is-equiv-Synthetic-Category-Theory κ μ ι B))) + ( is-section-functor-section-Synthetic-Category-Theory κ μ ι + ( section-is-equiv-Synthetic-Category-Theory κ μ ι B)))) + ( associative-comp-functor-Synthetic-Category-Theory Α + ( functor-retraction-Synthetic-Category-Theory κ μ ι + ( retraction-is-equiv-Synthetic-Category-Theory κ μ ι B)) + ( _) + ( functor-section-Synthetic-Category-Theory κ μ ι + ( section-is-equiv-Synthetic-Category-Theory κ μ ι B)))) + ( horizontal-comp-iso-Synthetic-Category-Theory Χ + ( inv-iso-Synthetic-Category-Theory ν + ( is-retraction-functor-retraction-Synthetic-Category-Theory + κ μ ι + ( retraction-is-equiv-Synthetic-Category-Theory κ μ ι B))) + ( id-iso-Synthetic-Category-Theory ι + ( functor-section-Synthetic-Category-Theory κ μ ι + ( section-is-equiv-Synthetic-Category-Theory κ μ ι B))))) + ( inv-iso-Synthetic-Category-Theory ν + ( left-unit-law-comp-functor-Synthetic-Category-Theory Λ + ( functor-section-Synthetic-Category-Theory κ μ ι + ( section-is-equiv-Synthetic-Category-Theory κ μ ι B))))) + ( id-iso-Synthetic-Category-Theory ι _)) +``` + +### Invertible functors of synthetic categories are closed under composition + +```agda +module _ + {l : Level} + where + + is-invertible-functor-comp-is-invertible-functor-Synthetic-Category-Theory : + (κ : language-Synthetic-Category-Theory l) + (μ : composition-Synthetic-Category-Theory κ) + (ι : identity-Synthetic-Category-Theory κ) + (ν : inverse-Synthetic-Category-Theory κ μ ι) + (Λ : left-unit-law-composition-Synthetic-Category-Theory κ ι μ) + (Ρ : right-unit-law-composition-Synthetic-Category-Theory κ ι μ) + (Χ : horizontal-composition-Synthetic-Category-Theory κ μ) + (Α : associative-composition-Synthetic-Category-Theory κ μ) + {C D E : category-Synthetic-Category-Theory κ} + {f' : functor-Synthetic-Category-Theory κ D E} + {f : functor-Synthetic-Category-Theory κ C D} → + is-invertible-functor-Synthetic-Category-Theory κ μ ι f' → + is-invertible-functor-Synthetic-Category-Theory κ μ ι f → + is-invertible-functor-Synthetic-Category-Theory κ μ ι + ( comp-functor-Synthetic-Category-Theory μ f' f) + pr1 + ( is-invertible-functor-comp-is-invertible-functor-Synthetic-Category-Theory + κ μ ι ν Λ Ρ Χ Α K H) = + comp-functor-Synthetic-Category-Theory μ _ _ + pr1 (pr2 + ( is-invertible-functor-comp-is-invertible-functor-Synthetic-Category-Theory + κ μ ι ν Λ Ρ Χ Α K H)) = + comp-iso-Synthetic-Category-Theory μ + ( is-section-functor-section-Synthetic-Category-Theory κ μ ι + ( section-is-invertible-functor-Synthetic-Category-Theory κ μ ι K)) + ( comp-iso-Synthetic-Category-Theory μ + ( horizontal-comp-iso-Synthetic-Category-Theory Χ + ( right-unit-law-comp-functor-Synthetic-Category-Theory Ρ _) + ( id-iso-Synthetic-Category-Theory ι + ( _))) + ( comp-iso-Synthetic-Category-Theory μ + ( horizontal-comp-iso-Synthetic-Category-Theory Χ + ( horizontal-comp-iso-Synthetic-Category-Theory Χ + ( id-iso-Synthetic-Category-Theory ι _) + ( is-section-functor-section-Synthetic-Category-Theory κ μ ι + ( section-is-invertible-functor-Synthetic-Category-Theory + κ μ ι H))) + ( id-iso-Synthetic-Category-Theory ι _)) + ( comp-iso-Synthetic-Category-Theory μ + ( horizontal-comp-iso-Synthetic-Category-Theory Χ + ( associative-comp-functor-Synthetic-Category-Theory Α _ _ _) + ( id-iso-Synthetic-Category-Theory ι _)) + ( inv-iso-Synthetic-Category-Theory ν + ( associative-comp-functor-Synthetic-Category-Theory Α + ( comp-functor-Synthetic-Category-Theory μ _ _) + ( _) + ( _)))))) + pr2 (pr2 + ( is-invertible-functor-comp-is-invertible-functor-Synthetic-Category-Theory + κ μ ι ν Λ Ρ Χ Α K H)) = + comp-iso-Synthetic-Category-Theory μ + ( is-retraction-functor-retraction-Synthetic-Category-Theory κ μ ι + ( retraction-is-invertible-functor-Synthetic-Category-Theory κ μ ι H)) + ( comp-iso-Synthetic-Category-Theory μ + ( horizontal-comp-iso-Synthetic-Category-Theory Χ + ( right-unit-law-comp-functor-Synthetic-Category-Theory Ρ _) + ( id-iso-Synthetic-Category-Theory ι _)) + ( comp-iso-Synthetic-Category-Theory μ + ( horizontal-comp-iso-Synthetic-Category-Theory Χ + ( horizontal-comp-iso-Synthetic-Category-Theory Χ + ( id-iso-Synthetic-Category-Theory ι _) + ( is-retraction-functor-retraction-Synthetic-Category-Theory κ μ ι + ( retraction-is-invertible-functor-Synthetic-Category-Theory + κ μ ι K))) + ( id-iso-Synthetic-Category-Theory ι _)) + ( comp-iso-Synthetic-Category-Theory μ + ( horizontal-comp-iso-Synthetic-Category-Theory Χ + ( associative-comp-functor-Synthetic-Category-Theory Α _ _ _) + ( id-iso-Synthetic-Category-Theory ι _)) + ( inv-iso-Synthetic-Category-Theory ν + ( associative-comp-functor-Synthetic-Category-Theory Α + ( comp-functor-Synthetic-Category-Theory μ _ _) + ( _) + ( _)))))) +``` diff --git a/src/synthetic-category-theory/pullbacks-synthetic-categories.lagda.md b/src/synthetic-category-theory/pullbacks-synthetic-categories.lagda.md new file mode 100644 index 0000000000..9da94176ce --- /dev/null +++ b/src/synthetic-category-theory/pullbacks-synthetic-categories.lagda.md @@ -0,0 +1,285 @@ +# Pullbacks of synthetic categories + +```agda +{-# OPTIONS --guardedness #-} + +module synthetic-category-theory.pullbacks-synthetic-categories where +``` + +
Imports + +```agda +open import foundation.cartesian-product-types +open import foundation.dependent-pair-types +open import foundation.universe-levels + +open import structured-types.globular-types + +open import synthetic-category-theory.cone-diagrams-synthetic-categories +open import synthetic-category-theory.cospans-synthetic-categories +open import synthetic-category-theory.equivalences-synthetic-categories +open import synthetic-category-theory.synthetic-categories +``` + +
+ +## Idea + +Consider a +[cospan diagram](synthetic-category-theory.cospans-synthetic-categories.md) S of +[synthetic categories](synthetic-category-theory.synthetic-categories.md). The +{{#concept "pullback" Disambiguation="Synthetic categories"}} of S is a cone +diagram cᵤ = (pr₀, pr₁, τᵤ) over S with apex P that is universal in the sense +that: + +```text +1) for every cone diagram c = (t₀, t₁, τ) over S with apex T there exists a functor + (t₀, t₁) : T → P together with an isomorphism of cone diagrams c ≅ (t₀, t₁)*(cᵤ) +2) given two functors f,g : T → P equipped with an isomorphism of cone diagrams + s*(cᵤ) ≅ t*(cᵤ), there exists a natural isomorphism s ≅ t that induces the said + isomorphism of cone diagrams. +``` + +```agda +module _ + {l : Level} + where + + record + pullback-Synthetic-Category-Theory + (κ : language-Synthetic-Category-Theory l) + (μ : composition-Synthetic-Category-Theory κ) + (ι : identity-Synthetic-Category-Theory κ) + (ν : inverse-Synthetic-Category-Theory κ μ ι) + (Α : associative-composition-Synthetic-Category-Theory κ μ) + (Χ : horizontal-composition-Synthetic-Category-Theory κ μ) + (Λ : left-unit-law-composition-Synthetic-Category-Theory κ ι μ) + (Ρ : right-unit-law-composition-Synthetic-Category-Theory κ ι μ) + (Ξ : + preserves-associativity-composition-horizontal-composition-Synthetic-Category-Theory + κ μ Α Χ) + (I : interchange-composition-Synthetic-Category-Theory κ μ Χ) + (M : + preserves-isomorphism-horizontal-composition-Synthetic-Category-Theory + κ ι μ Χ) + (N : + preserves-identity-horizontal-composition-Synthetic-Category-Theory + κ ι μ Χ) : UU l + where + coinductive + field + apex-pullback-Synthetic-Category-Theory : + {C D E : category-Synthetic-Category-Theory κ} → + cospan-Synthetic-Category-Theory κ C D E → + category-Synthetic-Category-Theory κ + cone-diagram-pullback-Synthetic-Category-Theory : + {C D E : category-Synthetic-Category-Theory κ} + (S : cospan-Synthetic-Category-Theory κ C D E) → + cone-diagram-Synthetic-Category-Theory + κ μ S ( apex-pullback-Synthetic-Category-Theory S) + universality-functor-pullback-Synthetic-Category-Theory : + {C D E : category-Synthetic-Category-Theory κ} + (S : cospan-Synthetic-Category-Theory κ C D E) + {T : category-Synthetic-Category-Theory κ} + (c : cone-diagram-Synthetic-Category-Theory κ μ S T) → + functor-Synthetic-Category-Theory κ + T ( apex-pullback-Synthetic-Category-Theory S) + universality-iso-pullback-Synthetic-Category-Theory : + {C D E : category-Synthetic-Category-Theory κ} + (S : cospan-Synthetic-Category-Theory κ C D E) + (T : category-Synthetic-Category-Theory κ) + (c : cone-diagram-Synthetic-Category-Theory κ μ S T) → + iso-of-cone-diagrams-Synthetic-Category-Theory κ μ ι Χ + ( c) + ( induced-cone-diagram-Synthetic-Category-Theory κ μ ι ν Χ Α S + ( cone-diagram-pullback-Synthetic-Category-Theory S) + ( universality-functor-pullback-Synthetic-Category-Theory S c)) + triviality-iso-of-cone-diagrams-pullback-Synthetic-Category-Theory : + {C D E : category-Synthetic-Category-Theory κ} + (S : cospan-Synthetic-Category-Theory κ C D E) + {T : category-Synthetic-Category-Theory κ} + (s t : + functor-Synthetic-Category-Theory κ T + ( apex-pullback-Synthetic-Category-Theory S)) + (H : iso-of-cone-diagrams-Synthetic-Category-Theory κ μ ι Χ + (induced-cone-diagram-Synthetic-Category-Theory κ μ ι ν Χ Α S + ( cone-diagram-pullback-Synthetic-Category-Theory S) + ( s)) + (induced-cone-diagram-Synthetic-Category-Theory κ μ ι ν Χ Α S + ( cone-diagram-pullback-Synthetic-Category-Theory S) + ( t))) → + Σ ( isomorphism-Synthetic-Category-Theory κ s t) + λ α → + iso-of-isos-of-cone-diagrams-Synthetic-Category-Theory κ μ ι ν Χ M + ( induced-iso-cone-diagram-Synthetic-Category-Theory + κ μ ι ν Α Χ Λ Ρ Ξ I M N S + ( cone-diagram-pullback-Synthetic-Category-Theory S) + s t α) + ( H) + +open pullback-Synthetic-Category-Theory public +``` + +### The left and right projection functors with domain the apex of the pullback cone + +```agda +module _ + {l : Level} + where + + left-functor-pullback-Synthetic-Category-Theory : + (κ : language-Synthetic-Category-Theory l) + (μ : composition-Synthetic-Category-Theory κ) + {ι : identity-Synthetic-Category-Theory κ} + {ν : inverse-Synthetic-Category-Theory κ μ ι} + {Α : associative-composition-Synthetic-Category-Theory κ μ} + {Χ : horizontal-composition-Synthetic-Category-Theory κ μ} + {Λ : left-unit-law-composition-Synthetic-Category-Theory κ ι μ} + {Ρ : right-unit-law-composition-Synthetic-Category-Theory κ ι μ} + {Ξ : + preserves-associativity-composition-horizontal-composition-Synthetic-Category-Theory + κ μ Α Χ} + {I : interchange-composition-Synthetic-Category-Theory κ μ Χ} + {Μ : + preserves-isomorphism-horizontal-composition-Synthetic-Category-Theory + κ ι μ Χ} + {Ν : + preserves-identity-horizontal-composition-Synthetic-Category-Theory + κ ι μ Χ} + (PB : pullback-Synthetic-Category-Theory κ μ ι ν Α Χ Λ Ρ Ξ I Μ Ν) + {C E D : category-Synthetic-Category-Theory κ} + (S : cospan-Synthetic-Category-Theory κ C E D) → + functor-Synthetic-Category-Theory κ + ( apex-pullback-Synthetic-Category-Theory PB S) + ( left-source-cospan-Synthetic-Category-Theory κ S) + left-functor-pullback-Synthetic-Category-Theory κ μ PB S = + left-functor-cone-diagram-Synthetic-Category-Theory κ μ + ( cone-diagram-pullback-Synthetic-Category-Theory PB S) + + right-functor-pullback-Synthetic-Category-Theory : + (κ : language-Synthetic-Category-Theory l) + (μ : composition-Synthetic-Category-Theory κ) + {ι : identity-Synthetic-Category-Theory κ} + {ν : inverse-Synthetic-Category-Theory κ μ ι} + {Α : associative-composition-Synthetic-Category-Theory κ μ} + {Χ : horizontal-composition-Synthetic-Category-Theory κ μ} + {Λ : left-unit-law-composition-Synthetic-Category-Theory κ ι μ} + {Ρ : right-unit-law-composition-Synthetic-Category-Theory κ ι μ} + {Ξ : + preserves-associativity-composition-horizontal-composition-Synthetic-Category-Theory + κ μ Α Χ} + {I : interchange-composition-Synthetic-Category-Theory κ μ Χ} + {Μ : + preserves-isomorphism-horizontal-composition-Synthetic-Category-Theory + κ ι μ Χ} + {Ν : + preserves-identity-horizontal-composition-Synthetic-Category-Theory + κ ι μ Χ} + (PB : pullback-Synthetic-Category-Theory κ μ ι ν Α Χ Λ Ρ Ξ I Μ Ν) + {C E D : category-Synthetic-Category-Theory κ} + (S : cospan-Synthetic-Category-Theory κ C E D) → + functor-Synthetic-Category-Theory κ + ( apex-pullback-Synthetic-Category-Theory PB S) + ( right-source-cospan-Synthetic-Category-Theory κ S) + right-functor-pullback-Synthetic-Category-Theory κ μ PB S = + right-functor-cone-diagram-Synthetic-Category-Theory κ μ + ( cone-diagram-pullback-Synthetic-Category-Theory PB S) +``` + +### Functoriality of pullbacks + +Taking pullbacks is functorial in the sense that given cospans S and S' and a +transformations of cospans S → S', there exists a preffered functor between the +pullback of S and the pullback of S'. + +```agda +module _ + {l : Level} + where + + functor-pullback-Synthetic-Category-Theory : + (κ : language-Synthetic-Category-Theory l) + (μ : composition-Synthetic-Category-Theory κ) + (ι : identity-Synthetic-Category-Theory κ) + (ν : inverse-Synthetic-Category-Theory κ μ ι) + (Α : associative-composition-Synthetic-Category-Theory κ μ) + (Χ : horizontal-composition-Synthetic-Category-Theory κ μ) + {Λ : left-unit-law-composition-Synthetic-Category-Theory κ ι μ} + {Ρ : right-unit-law-composition-Synthetic-Category-Theory κ ι μ} + {Ξ : + preserves-associativity-composition-horizontal-composition-Synthetic-Category-Theory + κ μ Α Χ} + {I : interchange-composition-Synthetic-Category-Theory κ μ Χ} + {M : + preserves-isomorphism-horizontal-composition-Synthetic-Category-Theory + κ ι μ Χ} + {N : + preserves-identity-horizontal-composition-Synthetic-Category-Theory + κ ι μ Χ} + (PB : pullback-Synthetic-Category-Theory κ μ ι ν Α Χ Λ Ρ Ξ I M N) + {C C' E E' D D' : category-Synthetic-Category-Theory κ} + {S : cospan-Synthetic-Category-Theory κ C E D} + {S' : cospan-Synthetic-Category-Theory κ C' E' D'} → + transformation-cospan-Synthetic-Category-Theory κ μ S S' → + functor-Synthetic-Category-Theory κ + ( apex-pullback-Synthetic-Category-Theory PB S) + ( apex-pullback-Synthetic-Category-Theory PB S') + functor-pullback-Synthetic-Category-Theory + κ μ ι ν Α Χ PB {S = S} {S' = S'} H = + universality-functor-pullback-Synthetic-Category-Theory PB S' + ( comp-functor-Synthetic-Category-Theory μ + ( right-functor-transformation-cospan-Synthetic-Category-Theory κ μ H) + ( right-functor-pullback-Synthetic-Category-Theory κ μ PB S) , + ( comp-functor-Synthetic-Category-Theory μ + ( left-functor-transformation-cospan-Synthetic-Category-Theory κ μ H) + ( left-functor-pullback-Synthetic-Category-Theory κ μ PB S)) , + ( comp-iso-Synthetic-Category-Theory μ + ( associative-comp-functor-Synthetic-Category-Theory Α + ( left-functor-cospan-Synthetic-Category-Theory κ S') + ( left-functor-transformation-cospan-Synthetic-Category-Theory κ μ H) + ( left-functor-pullback-Synthetic-Category-Theory κ μ PB S)) + ( comp-iso-Synthetic-Category-Theory μ + ( horizontal-comp-iso-Synthetic-Category-Theory Χ + ( left-commuting-square-transformation-cospan-Synthetic-Category-Theory + κ μ H) + ( id-iso-Synthetic-Category-Theory ι + ( left-functor-pullback-Synthetic-Category-Theory κ μ PB S))) + ( comp-iso-Synthetic-Category-Theory μ + ( inv-iso-Synthetic-Category-Theory ν + ( associative-comp-functor-Synthetic-Category-Theory Α + ( middle-functor-transformation-cospan-Synthetic-Category-Theory + κ μ H) + ( left-functor-cospan-Synthetic-Category-Theory κ S) + ( left-functor-cone-diagram-Synthetic-Category-Theory κ μ + ( cone-diagram-pullback-Synthetic-Category-Theory PB S)))) + ( comp-iso-Synthetic-Category-Theory μ + ( horizontal-comp-iso-Synthetic-Category-Theory Χ + ( id-iso-Synthetic-Category-Theory ι + ( middle-functor-transformation-cospan-Synthetic-Category-Theory + κ μ H)) + ( iso-cone-diagram-Synthetic-Category-Theory κ μ + ( cone-diagram-pullback-Synthetic-Category-Theory PB S))) + ( comp-iso-Synthetic-Category-Theory μ + ( associative-comp-functor-Synthetic-Category-Theory Α + ( middle-functor-transformation-cospan-Synthetic-Category-Theory + κ μ H) + ( right-functor-cospan-Synthetic-Category-Theory κ S) + ( right-functor-pullback-Synthetic-Category-Theory κ μ PB S)) + ( comp-iso-Synthetic-Category-Theory μ + ( horizontal-comp-iso-Synthetic-Category-Theory Χ + ( inv-iso-Synthetic-Category-Theory ν + ( right-commuting-square-transformation-cospan-Synthetic-Category-Theory + κ μ H)) + ( id-iso-Synthetic-Category-Theory ι + ( right-functor-cone-diagram-Synthetic-Category-Theory κ μ + ( cone-diagram-pullback-Synthetic-Category-Theory PB + S)))) + ( inv-iso-Synthetic-Category-Theory ν + ( associative-comp-functor-Synthetic-Category-Theory Α + ( right-functor-cospan-Synthetic-Category-Theory κ S') + ( right-functor-transformation-cospan-Synthetic-Category-Theory + κ μ H) + ( right-functor-cone-diagram-Synthetic-Category-Theory κ μ + ( cone-diagram-pullback-Synthetic-Category-Theory + PB S))))))))))) +``` diff --git a/src/synthetic-category-theory/retractions-synthetic-categories.lagda.md b/src/synthetic-category-theory/retractions-synthetic-categories.lagda.md new file mode 100644 index 0000000000..cf22e0f544 --- /dev/null +++ b/src/synthetic-category-theory/retractions-synthetic-categories.lagda.md @@ -0,0 +1,89 @@ +# Retractions of functors between synthetic categories + +```agda +{-# OPTIONS --guardedness #-} + +module synthetic-category-theory.retractions-synthetic-categories where +``` + +
Imports + +```agda +open import foundation.cartesian-product-types +open import foundation.dependent-pair-types +open import foundation.universe-levels + +open import structured-types.globular-types + +open import synthetic-category-theory.synthetic-categories +``` + +
+ +## Idea + +A retraction of a functor f: A → B is a functor g: B → A equipped with a natural +isomorphism g∘f ≅ id. + +### The predicate of being a retraction of a functor f: A → B + +```agda +module _ + {l : Level} + where + + is-retraction-Synthetic-Category-Theory : + (κ : language-Synthetic-Category-Theory l) + (μ : composition-Synthetic-Category-Theory κ) + (ι : identity-Synthetic-Category-Theory κ) + {C D : category-Synthetic-Category-Theory κ} + (f : functor-Synthetic-Category-Theory κ C D) → + functor-Synthetic-Category-Theory κ D C → UU l + is-retraction-Synthetic-Category-Theory κ μ ι f r = + isomorphism-Synthetic-Category-Theory κ + ( comp-functor-Synthetic-Category-Theory μ r f) + ( id-functor-Synthetic-Category-Theory ι _) +``` + +### The type of retractions of a functor f: A → B + +```agda +module _ + {l : Level} + where + + retraction-Synthetic-Category-Theory : + (κ : language-Synthetic-Category-Theory l) + (μ : composition-Synthetic-Category-Theory κ) + (ι : identity-Synthetic-Category-Theory κ) + {C D : category-Synthetic-Category-Theory κ} + (f : functor-Synthetic-Category-Theory κ C D) → UU l + retraction-Synthetic-Category-Theory κ μ ι f = + Σ ( functor-Synthetic-Category-Theory κ _ _) + ( is-retraction-Synthetic-Category-Theory κ μ ι f) +``` + +### The components of a retraction + +```agda + functor-retraction-Synthetic-Category-Theory : + (κ : language-Synthetic-Category-Theory l) + (μ : composition-Synthetic-Category-Theory κ) + (ι : identity-Synthetic-Category-Theory κ) + {C D : category-Synthetic-Category-Theory κ} + {f : functor-Synthetic-Category-Theory κ C D} → + retraction-Synthetic-Category-Theory κ μ ι f → + functor-Synthetic-Category-Theory κ D C + functor-retraction-Synthetic-Category-Theory κ μ ι = pr1 + + is-retraction-functor-retraction-Synthetic-Category-Theory : + (κ : language-Synthetic-Category-Theory l) + (μ : composition-Synthetic-Category-Theory κ) + (ι : identity-Synthetic-Category-Theory κ) + {C D : category-Synthetic-Category-Theory κ} + {f : functor-Synthetic-Category-Theory κ C D} + (r : retraction-Synthetic-Category-Theory κ μ ι f) → + is-retraction-Synthetic-Category-Theory κ μ ι f + ( functor-retraction-Synthetic-Category-Theory κ μ ι r) + is-retraction-functor-retraction-Synthetic-Category-Theory κ μ ι = pr2 +``` diff --git a/src/synthetic-category-theory/sections-synthetic-categories.lagda.md b/src/synthetic-category-theory/sections-synthetic-categories.lagda.md new file mode 100644 index 0000000000..acd4f1c5db --- /dev/null +++ b/src/synthetic-category-theory/sections-synthetic-categories.lagda.md @@ -0,0 +1,89 @@ +# Sections of functor between synthetic categories + +```agda +{-# OPTIONS --guardedness #-} + +module synthetic-category-theory.sections-synthetic-categories where +``` + +
Imports + +```agda +open import foundation.cartesian-product-types +open import foundation.dependent-pair-types +open import foundation.universe-levels + +open import structured-types.globular-types + +open import synthetic-category-theory.synthetic-categories +``` + +
+ +## Idea + +A section of a functor f: A → B is a functor g: B → A equipped with a natural +isomorphism f∘g ≅ id. + +### The predicate of being a section of a functor f: A → B + +```agda +module _ + {l : Level} + where + + is-section-Synthetic-Category-Theory : + (κ : language-Synthetic-Category-Theory l) + (μ : composition-Synthetic-Category-Theory κ) + (ι : identity-Synthetic-Category-Theory κ) + {C D : category-Synthetic-Category-Theory κ} + (f : functor-Synthetic-Category-Theory κ C D) → + functor-Synthetic-Category-Theory κ D C → UU l + is-section-Synthetic-Category-Theory κ μ ι f s = + isomorphism-Synthetic-Category-Theory κ + ( comp-functor-Synthetic-Category-Theory μ f s) + ( id-functor-Synthetic-Category-Theory ι _) +``` + +### The type of sections of a funcor f: A → B + +```agda +module _ + {l : Level} + where + + section-Synthetic-Category-Theory : + (κ : language-Synthetic-Category-Theory l) + (μ : composition-Synthetic-Category-Theory κ) + (ι : identity-Synthetic-Category-Theory κ) + {C D : category-Synthetic-Category-Theory κ} + (f : functor-Synthetic-Category-Theory κ C D) → UU l + section-Synthetic-Category-Theory κ μ ι f = + Σ ( functor-Synthetic-Category-Theory κ _ _) + ( is-section-Synthetic-Category-Theory κ μ ι f) +``` + +### The components of a section + +```agda + functor-section-Synthetic-Category-Theory : + (κ : language-Synthetic-Category-Theory l) + (μ : composition-Synthetic-Category-Theory κ) + (ι : identity-Synthetic-Category-Theory κ) + {C D : category-Synthetic-Category-Theory κ} + {f : functor-Synthetic-Category-Theory κ C D} → + section-Synthetic-Category-Theory κ μ ι f → + functor-Synthetic-Category-Theory κ D C + functor-section-Synthetic-Category-Theory κ μ ι = pr1 + + is-section-functor-section-Synthetic-Category-Theory : + (κ : language-Synthetic-Category-Theory l) + (μ : composition-Synthetic-Category-Theory κ) + (ι : identity-Synthetic-Category-Theory κ) + {C D : category-Synthetic-Category-Theory κ} + {f : functor-Synthetic-Category-Theory κ C D} + (s : section-Synthetic-Category-Theory κ μ ι f) → + is-section-Synthetic-Category-Theory κ μ ι f + ( functor-section-Synthetic-Category-Theory κ μ ι s) + is-section-functor-section-Synthetic-Category-Theory κ μ ι = pr2 +``` diff --git a/src/synthetic-category-theory/synthetic-categories.lagda.md b/src/synthetic-category-theory/synthetic-categories.lagda.md index e161385fc9..80066da1ba 100644 --- a/src/synthetic-category-theory/synthetic-categories.lagda.md +++ b/src/synthetic-category-theory/synthetic-categories.lagda.md @@ -107,6 +107,28 @@ module _ functor-Synthetic-Category-Theory = 1-cell-Globular-Type ``` +#### The source and target of a functor + +```agda +module _ + {l : Level} + where + + source-functor-Synthetic-Category-Theory : + (κ : language-Synthetic-Category-Theory l) + {C D : category-Synthetic-Category-Theory κ} → + functor-Synthetic-Category-Theory κ C D → + category-Synthetic-Category-Theory κ + source-functor-Synthetic-Category-Theory κ {C = C} f = C + + target-functor-Synthetic-Category-Theory : + (κ : language-Synthetic-Category-Theory l) + {C D : category-Synthetic-Category-Theory κ} → + functor-Synthetic-Category-Theory κ C D → + category-Synthetic-Category-Theory κ + target-functor-Synthetic-Category-Theory κ {D = D} f = D +``` + #### The globular type of functors between categories The globular type of functors from `C` to `D` in the language of synthetic @@ -125,7 +147,7 @@ module _ 1-cell-globular-type-Globular-Type ``` -#### The sort of isomorphisms between functors in the language of synthetic category theory +#### The sort of isomorphisms between functors in the language ofsynthetic category theory The sort of isomorphisms between functors `F` and `G` in the language of synthetic category theory is the type of `2`-cells between `F` and `G` in the @@ -143,28 +165,19 @@ module _ isomorphism-Synthetic-Category-Theory = 2-cell-Globular-Type ``` -#### Inverses of isomorphisms - -Isomorphisms between functors, as well as higher isomorphisms, are invertible. +#### Isomorphism between isomorphisms between functors in the language of synthetic category theory ```agda module _ {l : Level} where - record - inverse-Synthetic-Category-Theory - (κ : language-Synthetic-Category-Theory l) : UU l - where - coinductive - field - inv-iso-Synthetic-Category-Theory : - {C D : category-Synthetic-Category-Theory κ} → - {F G : functor-Synthetic-Category-Theory κ C D} → - (isomorphism-Synthetic-Category-Theory κ F G) → - (isomorphism-Synthetic-Category-Theory κ G F) - - open inverse-Synthetic-Category-Theory public + 3-isomorphism-Synthetic-Category-Theory : + (κ : language-Synthetic-Category-Theory l) + {C D : category-Synthetic-Category-Theory κ} + {F G : functor-Synthetic-Category-Theory κ C D} + (α β : isomorphism-Synthetic-Category-Theory κ F G) → UU l + 3-isomorphism-Synthetic-Category-Theory = 3-cell-Globular-Type ``` #### The structure of identity morphisms in the language of synthetic category theory @@ -249,6 +262,56 @@ module _ ( composition-isomorphism-Synthetic-Category-Theory μ) ``` +#### Inverses of isomorphisms + +Isomorphisms between functors, as well as higher isomorphisms, are invertible. + +```agda +module _ + {l : Level} + where + + record + inverse-Synthetic-Category-Theory + (κ : language-Synthetic-Category-Theory l) + (μ : composition-Synthetic-Category-Theory κ) + (ι : identity-Synthetic-Category-Theory κ) : UU l + where + coinductive + field + inv-iso-Synthetic-Category-Theory : + {C D : category-Synthetic-Category-Theory κ} → + {F G : functor-Synthetic-Category-Theory κ C D} → + (isomorphism-Synthetic-Category-Theory κ F G) → + (isomorphism-Synthetic-Category-Theory κ G F) + inv-iso-left-inv-Synthetic-Category-Theory : + {C D : category-Synthetic-Category-Theory κ} → + {F G : functor-Synthetic-Category-Theory κ C D} → + (α : isomorphism-Synthetic-Category-Theory κ F G) → + isomorphism-Synthetic-Category-Theory + ( functor-globular-type-Synthetic-Category-Theory κ C D) + ( comp-iso-Synthetic-Category-Theory μ + ( inv-iso-Synthetic-Category-Theory α) α) + ( id-iso-Synthetic-Category-Theory ι F) + inv-iso-right-inv-Synthetic-Category-Theory : + {C D : category-Synthetic-Category-Theory κ} → + {F G : functor-Synthetic-Category-Theory κ C D} → + (α : isomorphism-Synthetic-Category-Theory κ F G) → + isomorphism-Synthetic-Category-Theory + ( functor-globular-type-Synthetic-Category-Theory κ C D) + ( comp-iso-Synthetic-Category-Theory μ + α ( inv-iso-Synthetic-Category-Theory α)) + ( id-iso-Synthetic-Category-Theory ι G) + inverse-isomorphism-Synthetic-Category-Theory : + {C D : category-Synthetic-Category-Theory κ} → + inverse-Synthetic-Category-Theory + ( functor-globular-type-Synthetic-Category-Theory κ C D) + ( composition-isomorphism-Synthetic-Category-Theory μ) + ( identity-isomorphism-Synthetic-Category-Theory ι) + + open inverse-Synthetic-Category-Theory public +``` + #### Left unit law operators in the language of synthetic category theory ```agda @@ -378,6 +441,75 @@ module _ open horizontal-composition-Synthetic-Category-Theory public ``` +#### We can prove that taking an inverse is an idempotent operation + +```agda +module _ + {l : Level} + where + + inverse-idempotent-Synthetic-Category-Theory : + (κ : language-Synthetic-Category-Theory l) + (μ : composition-Synthetic-Category-Theory κ) + (ι : identity-Synthetic-Category-Theory κ) + (ν : inverse-Synthetic-Category-Theory κ μ ι) + (Α : associative-composition-Synthetic-Category-Theory κ μ) + (Χ : horizontal-composition-Synthetic-Category-Theory κ μ) + (Λ : left-unit-law-composition-Synthetic-Category-Theory κ ι μ) + (Ρ : right-unit-law-composition-Synthetic-Category-Theory κ ι μ) + {C D : category-Synthetic-Category-Theory κ} + {F G : functor-Synthetic-Category-Theory κ C D} + (α : isomorphism-Synthetic-Category-Theory κ F G) → + isomorphism-Synthetic-Category-Theory + ( functor-globular-type-Synthetic-Category-Theory κ C D) + ( inv-iso-Synthetic-Category-Theory ν + ( inv-iso-Synthetic-Category-Theory ν α)) + ( α) + inverse-idempotent-Synthetic-Category-Theory κ μ ι ν Α Χ Λ Ρ α = + comp-iso-Synthetic-Category-Theory + ( composition-isomorphism-Synthetic-Category-Theory μ) + ( left-unit-law-comp-functor-Synthetic-Category-Theory + ( left-unit-law-composition-isomorphism-Synthetic-Category-Theory Λ) + ( α)) + ( comp-iso-Synthetic-Category-Theory + ( composition-isomorphism-Synthetic-Category-Theory μ) + ( horizontal-comp-iso-Synthetic-Category-Theory + ( horizontal-composition-isomorphism-Synthetic-Category-Theory Χ) + ( inv-iso-left-inv-Synthetic-Category-Theory ν + ( inv-iso-Synthetic-Category-Theory ν α)) + ( id-iso-Synthetic-Category-Theory + ( identity-isomorphism-Synthetic-Category-Theory ι) + ( α))) + ( comp-iso-Synthetic-Category-Theory + ( composition-isomorphism-Synthetic-Category-Theory μ) + ( inv-iso-Synthetic-Category-Theory + ( inverse-isomorphism-Synthetic-Category-Theory ν) + ( associative-comp-functor-Synthetic-Category-Theory + ( associative-comp-isomorphism-Synthetic-Category-Theory Α) + ( inv-iso-Synthetic-Category-Theory ν + ( inv-iso-Synthetic-Category-Theory ν α)) + ( inv-iso-Synthetic-Category-Theory ν α) + ( α))) + ( comp-iso-Synthetic-Category-Theory + ( composition-isomorphism-Synthetic-Category-Theory μ) + ( horizontal-comp-iso-Synthetic-Category-Theory + ( horizontal-composition-isomorphism-Synthetic-Category-Theory Χ) + ( id-iso-Synthetic-Category-Theory + ( identity-isomorphism-Synthetic-Category-Theory ι) + ( inv-iso-Synthetic-Category-Theory ν + ( inv-iso-Synthetic-Category-Theory ν α))) + ( inv-iso-Synthetic-Category-Theory + ( inverse-isomorphism-Synthetic-Category-Theory ν) + ( inv-iso-left-inv-Synthetic-Category-Theory ν α))) + ( inv-iso-Synthetic-Category-Theory + ( inverse-isomorphism-Synthetic-Category-Theory ν) + ( right-unit-law-comp-functor-Synthetic-Category-Theory + ( right-unit-law-composition-isomorphism-Synthetic-Category-Theory + Ρ) + ( inv-iso-Synthetic-Category-Theory ν + ( inv-iso-Synthetic-Category-Theory ν α))))))) +``` + #### Identity preservation operators for horizontal composition in the language of synthetic category theory ```agda @@ -500,7 +632,54 @@ module _ ( comp-functor-Synthetic-Category-Theory μ g i) ``` -#### Commuting squares of isomorphisms in the language of synthetic category theory +#### Pasting of commutative squares of functors + +```agda +module _ + {l : Level} + where + + pasting-commuting-squares-functors-Synthetic-Category-Theory : + (κ : language-Synthetic-Category-Theory l) + (μ : composition-Synthetic-Category-Theory κ) + (ι : identity-Synthetic-Category-Theory κ) + (ν : inverse-Synthetic-Category-Theory κ μ ι) + (α : associative-composition-Synthetic-Category-Theory κ μ) + (Χ : horizontal-composition-Synthetic-Category-Theory κ μ) + {A B C X Y Z : category-Synthetic-Category-Theory κ} + (f : functor-Synthetic-Category-Theory κ A B) + (g : functor-Synthetic-Category-Theory κ B C) + (h : functor-Synthetic-Category-Theory κ C Z) + (r : functor-Synthetic-Category-Theory κ A X) + (s : functor-Synthetic-Category-Theory κ X Y) + (t : functor-Synthetic-Category-Theory κ Y Z) + (u : functor-Synthetic-Category-Theory κ B Y) → + (commuting-square-functors-Synthetic-Category-Theory κ μ f u r s) → + (commuting-square-functors-Synthetic-Category-Theory κ μ g h u t) → + commuting-square-functors-Synthetic-Category-Theory κ μ + ( comp-functor-Synthetic-Category-Theory μ g f) + ( h) + ( r) + ( comp-functor-Synthetic-Category-Theory μ t s) + pasting-commuting-squares-functors-Synthetic-Category-Theory + κ μ ι ν α Χ f g h r s t u τ σ = + comp-iso-Synthetic-Category-Theory μ + ( inv-iso-Synthetic-Category-Theory ν + ( associative-comp-functor-Synthetic-Category-Theory α t s r)) + ( comp-iso-Synthetic-Category-Theory μ + ( horizontal-comp-iso-Synthetic-Category-Theory Χ + (id-iso-Synthetic-Category-Theory ι t) τ) + ( comp-iso-Synthetic-Category-Theory μ + ( associative-comp-functor-Synthetic-Category-Theory α t u f) + ( comp-iso-Synthetic-Category-Theory μ + ( horizontal-comp-iso-Synthetic-Category-Theory Χ + ( σ) + ( id-iso-Synthetic-Category-Theory ι f)) + ( inv-iso-Synthetic-Category-Theory ν + ( associative-comp-functor-Synthetic-Category-Theory α h g f))))) +``` + +#### Commutative squares of isomorphisms in the language of synthetic category theory ```agda module _ @@ -522,6 +701,46 @@ module _ ( composition-isomorphism-Synthetic-Category-Theory μ) ``` +#### Pasting commutative squares of isomorphisms + +```agda +module _ + {l : Level} + where + + pasting-commuting-squares-isomorphisms-Synthetic-Category-Theory : + (κ : language-Synthetic-Category-Theory l) + (μ : composition-Synthetic-Category-Theory κ) + (ι : identity-Synthetic-Category-Theory κ) + (ν : inverse-Synthetic-Category-Theory κ μ ι) + (Α : associative-composition-Synthetic-Category-Theory κ μ) + (Χ : horizontal-composition-Synthetic-Category-Theory κ μ) + {C D : category-Synthetic-Category-Theory κ} + {f g h r s t : functor-Synthetic-Category-Theory κ C D} + (α : isomorphism-Synthetic-Category-Theory κ f g) + (β : isomorphism-Synthetic-Category-Theory κ g h) + (γ : isomorphism-Synthetic-Category-Theory κ h t) + (δ : isomorphism-Synthetic-Category-Theory κ f r) + (ε : isomorphism-Synthetic-Category-Theory κ r s) + (φ : isomorphism-Synthetic-Category-Theory κ s t) + (ξ : isomorphism-Synthetic-Category-Theory κ g s) → + (commuting-square-isomorphisms-Synthetic-Category-Theory κ μ α ξ δ ε) → + (commuting-square-isomorphisms-Synthetic-Category-Theory κ μ β γ ξ φ) → + commuting-square-isomorphisms-Synthetic-Category-Theory κ μ + ( comp-iso-Synthetic-Category-Theory μ β α) + ( γ) + ( δ) + ( comp-iso-Synthetic-Category-Theory μ φ ε) + pasting-commuting-squares-isomorphisms-Synthetic-Category-Theory κ μ ι ν Α Χ = + pasting-commuting-squares-functors-Synthetic-Category-Theory + ( functor-globular-type-Synthetic-Category-Theory κ _ _) + ( composition-isomorphism-Synthetic-Category-Theory μ) + ( identity-isomorphism-Synthetic-Category-Theory ι) + ( inverse-isomorphism-Synthetic-Category-Theory ν) + ( associative-comp-isomorphism-Synthetic-Category-Theory Α) + ( horizontal-composition-isomorphism-Synthetic-Category-Theory Χ) +``` + #### Left unit law preservation operators for horizontal composition ```agda @@ -559,6 +778,10 @@ module _ ( composition-isomorphism-Synthetic-Category-Theory μ) ( left-unit-law-composition-isomorphism-Synthetic-Category-Theory η) ( horizontal-composition-isomorphism-Synthetic-Category-Theory ν) + +open + preserves-left-unit-law-composition-horizontal-composition-Synthetic-Category-Theory + public ``` #### Right unit law preservation operators for horizontal composition @@ -598,6 +821,10 @@ module _ ( composition-isomorphism-Synthetic-Category-Theory μ) ( right-unit-law-composition-isomorphism-Synthetic-Category-Theory η) ( horizontal-composition-isomorphism-Synthetic-Category-Theory ν) + +open + preserves-right-unit-law-composition-horizontal-composition-Synthetic-Category-Theory + public ``` #### Associator preservation operators for horizontal composition @@ -633,4 +860,226 @@ module _ ( horizontal-comp-iso-Synthetic-Category-Theory ν γ β) ( α)) ( associative-comp-functor-Synthetic-Category-Theory η H' G' F') + +open + preserves-associativity-composition-horizontal-composition-Synthetic-Category-Theory + public +``` + +#### We can prove that the inverse of the associator preservers horizontal composition + +```agda +module _ + {l : Level} + where + + preserves-associativity-comp-functor-horizontal-comp-iso-inv-Synthetic-Category-Theory : + (κ : language-Synthetic-Category-Theory l) + (μ : composition-Synthetic-Category-Theory κ) + (ι : identity-Synthetic-Category-Theory κ) + (ν : inverse-Synthetic-Category-Theory κ μ ι) + (Α : associative-composition-Synthetic-Category-Theory κ μ) + (Χ : horizontal-composition-Synthetic-Category-Theory κ μ) + (Λ : left-unit-law-composition-Synthetic-Category-Theory κ ι μ) + (Ρ : right-unit-law-composition-Synthetic-Category-Theory κ ι μ) + (Ξ : + preserves-associativity-composition-horizontal-composition-Synthetic-Category-Theory + κ μ Α Χ) + {C1 C2 C3 C4 : category-Synthetic-Category-Theory κ} + (H H' : functor-Synthetic-Category-Theory κ C3 C4) + (G G' : functor-Synthetic-Category-Theory κ C2 C3) + (F F' : functor-Synthetic-Category-Theory κ C1 C2) + (γ : isomorphism-Synthetic-Category-Theory κ H H') + (β : isomorphism-Synthetic-Category-Theory κ G G') + (α : isomorphism-Synthetic-Category-Theory κ F F') → + commuting-square-isomorphisms-Synthetic-Category-Theory κ μ + ( inv-iso-Synthetic-Category-Theory ν + ( associative-comp-functor-Synthetic-Category-Theory Α H G F)) + ( horizontal-comp-iso-Synthetic-Category-Theory Χ + ( horizontal-comp-iso-Synthetic-Category-Theory Χ γ β) + ( α)) + ( horizontal-comp-iso-Synthetic-Category-Theory Χ γ + ( horizontal-comp-iso-Synthetic-Category-Theory Χ β α)) + ( inv-iso-Synthetic-Category-Theory ν + ( associative-comp-functor-Synthetic-Category-Theory Α H' G' F')) + preserves-associativity-comp-functor-horizontal-comp-iso-inv-Synthetic-Category-Theory + κ μ ι ν Α Χ Λ Ρ Ξ H H' G G' F F' γ β α = + comp-iso-Synthetic-Category-Theory + ( composition-isomorphism-Synthetic-Category-Theory μ) + ( right-unit-law-comp-functor-Synthetic-Category-Theory + ( right-unit-law-composition-isomorphism-Synthetic-Category-Theory Ρ) + ( comp-iso-Synthetic-Category-Theory μ + ( inv-iso-Synthetic-Category-Theory ν + ( associative-comp-functor-Synthetic-Category-Theory Α H' G' F')) + ( horizontal-comp-iso-Synthetic-Category-Theory Χ + ( γ) + ( horizontal-comp-iso-Synthetic-Category-Theory Χ β α)))) + ( comp-iso-Synthetic-Category-Theory + ( composition-isomorphism-Synthetic-Category-Theory μ) + ( horizontal-comp-iso-Synthetic-Category-Theory + ( horizontal-composition-isomorphism-Synthetic-Category-Theory Χ) + ( id-iso-Synthetic-Category-Theory + ( identity-isomorphism-Synthetic-Category-Theory ι) + ( comp-iso-Synthetic-Category-Theory μ + ( inv-iso-Synthetic-Category-Theory ν + ( associative-comp-functor-Synthetic-Category-Theory + Α H' G' F')) + ( horizontal-comp-iso-Synthetic-Category-Theory Χ γ + ( horizontal-comp-iso-Synthetic-Category-Theory Χ β α)))) + ( inv-iso-right-inv-Synthetic-Category-Theory ν + ( associative-comp-functor-Synthetic-Category-Theory Α H G F))) + ( comp-iso-Synthetic-Category-Theory + ( composition-isomorphism-Synthetic-Category-Theory μ) + ( associative-comp-functor-Synthetic-Category-Theory + ( associative-comp-isomorphism-Synthetic-Category-Theory Α) + ( comp-iso-Synthetic-Category-Theory μ + ( inv-iso-Synthetic-Category-Theory ν + ( associative-comp-functor-Synthetic-Category-Theory + Α H' G' F')) + ( horizontal-comp-iso-Synthetic-Category-Theory Χ + ( γ) + ( horizontal-comp-iso-Synthetic-Category-Theory Χ β α))) + ( associative-comp-functor-Synthetic-Category-Theory Α H G F) + ( inv-iso-Synthetic-Category-Theory ν + ( associative-comp-functor-Synthetic-Category-Theory Α H G F))) + ( comp-iso-Synthetic-Category-Theory + ( composition-isomorphism-Synthetic-Category-Theory μ) + ( horizontal-comp-iso-Synthetic-Category-Theory + ( horizontal-composition-isomorphism-Synthetic-Category-Theory Χ) + ( inv-iso-Synthetic-Category-Theory + ( inverse-isomorphism-Synthetic-Category-Theory ν) + ( associative-comp-functor-Synthetic-Category-Theory + ( associative-comp-isomorphism-Synthetic-Category-Theory Α) + ( inv-iso-Synthetic-Category-Theory ν + ( associative-comp-functor-Synthetic-Category-Theory + Α H' G' F')) + ( horizontal-comp-iso-Synthetic-Category-Theory Χ + ( γ) + ( horizontal-comp-iso-Synthetic-Category-Theory Χ β α)) + ( associative-comp-functor-Synthetic-Category-Theory + Α H G F))) + ( id-iso-Synthetic-Category-Theory + ( identity-isomorphism-Synthetic-Category-Theory ι) + ( inv-iso-Synthetic-Category-Theory ν + ( associative-comp-functor-Synthetic-Category-Theory + Α H G F)))) + ( comp-iso-Synthetic-Category-Theory + ( composition-isomorphism-Synthetic-Category-Theory μ) + ( horizontal-comp-iso-Synthetic-Category-Theory + ( horizontal-composition-isomorphism-Synthetic-Category-Theory + Χ) + ( horizontal-comp-iso-Synthetic-Category-Theory + ( horizontal-composition-isomorphism-Synthetic-Category-Theory + Χ) + ( id-iso-Synthetic-Category-Theory + ( identity-isomorphism-Synthetic-Category-Theory ι) + ( inv-iso-Synthetic-Category-Theory ν + ( associative-comp-functor-Synthetic-Category-Theory + Α H' G' F'))) + ( inv-iso-Synthetic-Category-Theory + ( inverse-isomorphism-Synthetic-Category-Theory ν) + ( preserves-associativity-comp-functor-horizontal-comp-iso-Synthetic-Category-Theory + Ξ γ β α))) + ( id-iso-Synthetic-Category-Theory + ( identity-isomorphism-Synthetic-Category-Theory ι) + ( inv-iso-Synthetic-Category-Theory ν + ( associative-comp-functor-Synthetic-Category-Theory + Α H G F)))) + ( comp-iso-Synthetic-Category-Theory + ( composition-isomorphism-Synthetic-Category-Theory μ) + ( horizontal-comp-iso-Synthetic-Category-Theory + ( horizontal-composition-isomorphism-Synthetic-Category-Theory + Χ) + ( associative-comp-functor-Synthetic-Category-Theory + ( associative-comp-isomorphism-Synthetic-Category-Theory Α) + ( inv-iso-Synthetic-Category-Theory ν + ( associative-comp-functor-Synthetic-Category-Theory + Α H' G' F')) + ( associative-comp-functor-Synthetic-Category-Theory + Α H' G' F') + ( horizontal-comp-iso-Synthetic-Category-Theory Χ + ( horizontal-comp-iso-Synthetic-Category-Theory Χ γ β) + ( α))) + ( id-iso-Synthetic-Category-Theory + ( identity-isomorphism-Synthetic-Category-Theory ι) + ( inv-iso-Synthetic-Category-Theory ν + ( associative-comp-functor-Synthetic-Category-Theory + Α H G F)))) + ( comp-iso-Synthetic-Category-Theory + ( composition-isomorphism-Synthetic-Category-Theory μ) + ( horizontal-comp-iso-Synthetic-Category-Theory + ( horizontal-composition-isomorphism-Synthetic-Category-Theory + Χ) + ( horizontal-comp-iso-Synthetic-Category-Theory + ( horizontal-composition-isomorphism-Synthetic-Category-Theory + Χ) + ( inv-iso-Synthetic-Category-Theory + ( inverse-isomorphism-Synthetic-Category-Theory ν) + ( inv-iso-left-inv-Synthetic-Category-Theory ν + ( associative-comp-functor-Synthetic-Category-Theory + Α H' G' F'))) + ( id-iso-Synthetic-Category-Theory + ( identity-isomorphism-Synthetic-Category-Theory ι) + ( horizontal-comp-iso-Synthetic-Category-Theory Χ + ( horizontal-comp-iso-Synthetic-Category-Theory Χ γ β) + (α)))) + ( id-iso-Synthetic-Category-Theory + ( identity-isomorphism-Synthetic-Category-Theory ι) + ( inv-iso-Synthetic-Category-Theory ν + ( associative-comp-functor-Synthetic-Category-Theory + Α H G F)))) + ( horizontal-comp-iso-Synthetic-Category-Theory + ( horizontal-composition-isomorphism-Synthetic-Category-Theory + Χ) + ( inv-iso-Synthetic-Category-Theory + ( inverse-isomorphism-Synthetic-Category-Theory ν) + ( left-unit-law-comp-functor-Synthetic-Category-Theory + ( left-unit-law-composition-isomorphism-Synthetic-Category-Theory + Λ) + ( horizontal-comp-iso-Synthetic-Category-Theory Χ + ( horizontal-comp-iso-Synthetic-Category-Theory Χ γ β) + ( α)))) + ( id-iso-Synthetic-Category-Theory + ( identity-isomorphism-Synthetic-Category-Theory ι) + ( inv-iso-Synthetic-Category-Theory ν + ( associative-comp-functor-Synthetic-Category-Theory + Α H G F)))))))))) +``` + +#### Preservation of isomorphisms of natural isomorphisms by horizontal composition + +We have to assume as an additional axiom that given natural isomorphism α, α', +β, β' with appropriate domains and codomains, together with isomorphisms α ≅ α' +and β ≅ β', there exists an isomorphisms between the horizontal composites β _ α +≅ β' _ α'. + +```agda +module _ + {l : Level} + where + + record + preserves-isomorphism-horizontal-composition-Synthetic-Category-Theory + (κ : language-Synthetic-Category-Theory l) + (ι : identity-Synthetic-Category-Theory κ) + (μ : composition-Synthetic-Category-Theory κ) + (Χ : horizontal-composition-Synthetic-Category-Theory κ μ) : UU l + where + coinductive + field + preserves-isomorphism-horizontal-comp-iso-Synthetic-Category-Theory : + {C D E : category-Synthetic-Category-Theory κ} + {F F' : functor-Synthetic-Category-Theory κ C D} + {G G' : functor-Synthetic-Category-Theory κ D E} + {α β : isomorphism-Synthetic-Category-Theory κ F F'} + {γ δ : isomorphism-Synthetic-Category-Theory κ G G'} → + 3-isomorphism-Synthetic-Category-Theory κ α β → + 3-isomorphism-Synthetic-Category-Theory κ γ δ → + 3-isomorphism-Synthetic-Category-Theory κ + ( horizontal-comp-iso-Synthetic-Category-Theory Χ γ α) + ( horizontal-comp-iso-Synthetic-Category-Theory Χ δ β) + +open + preserves-isomorphism-horizontal-composition-Synthetic-Category-Theory + public ```