diff options
Diffstat (limited to 'Category/Monoidal')
-rw-r--r-- | Category/Monoidal/Instance/Cospans.agda | 49 |
1 files changed, 43 insertions, 6 deletions
diff --git a/Category/Monoidal/Instance/Cospans.agda b/Category/Monoidal/Instance/Cospans.agda index c2ab8ed..228ddea 100644 --- a/Category/Monoidal/Instance/Cospans.agda +++ b/Category/Monoidal/Instance/Cospans.agda @@ -11,22 +11,26 @@ import Categories.Morphism.Reasoning.Iso as IsoReasoning open import Categories.Category using (_[_,_]; _[_β_]; _[_β_]; Category) open import Categories.Category.BinaryProducts using (BinaryProducts) open import Categories.Category.Cartesian.Bundle using (CartesianCategory) -open import Categories.Category.Cocartesian using (module CocartesianMonoidal) +open import Categories.Category.Cocartesian using (module CocartesianMonoidal; module CocartesianSymmetricMonoidal) +open import Categories.Category.Monoidal.Symmetric using (Symmetric) open import Categories.Category.Monoidal.Braided using (Braided) open import Categories.Category.Monoidal.Core using (Monoidal) open import Categories.Functor using (Functor) open import Categories.Functor.Properties using ([_]-resp-β
) -open import Category.Instance.Cospans π using (Cospans) +open import Categories.NaturalTransformation.NaturalIsomorphism using (niHelper) +open import Category.Instance.Cospans π using (Cospans; Cospan) open import Category.Instance.Properties.FinitelyCocompletes {o} {β} {e} using (FinitelyCocompletes-CC) -open import Category.Monoidal.Instance.Cospans.Newsquare {o} {β} {e} using (module NewSquare) +open import Category.Monoidal.Instance.Cospans.Lift {o} {β} {e} using (module Square) open import Data.Product.Base using (_,_) open import Functor.Instance.Cospan.Stack π using (β) open import Functor.Instance.Cospan.Embed π using (L; L-resp-β) module π = FinitelyCocompleteCategory π open CocartesianMonoidal π.U π.cocartesian using (β₯+--id; -+β₯-id; β₯+Aβ
A; A+β₯β
A; +-monoidal) +open CocartesianSymmetricMonoidal π.U π.cocartesian using (+-symmetric) open Monoidal +-monoidal using () renaming (triangle to tri; pentagon to pent) +open Symmetric +-symmetric using (braiding) renaming (hexagonβ to hexβ; hexagonβ to hexβ; commutative to comm) open import Categories.Category.Monoidal.Utilities +-monoidal using (associator-naturalIsomorphism) module _ where @@ -34,6 +38,9 @@ module _ where open CartesianCategory FinitelyCocompletes-CC using (products) open BinaryProducts products using (_Γ_) + πΓπ : FinitelyCocompleteCategory o β e + πΓπ = π Γ π + [πΓπ]Γπ : FinitelyCocompleteCategory o β e [πΓπ]Γπ = (π Γ π) Γ π @@ -56,9 +63,9 @@ CospansMonoidal = record where module β = Functor β module Cospans = Category Cospans - module UnitorΛ‘ = NewSquare β₯+--id - module UnitorΚ³ = NewSquare -+β₯-id - module Associator = NewSquare {[πΓπ]Γπ} {π} associator-naturalIsomorphism + module UnitorΛ‘ = Square β₯+--id + module UnitorΚ³ = Square -+β₯-id + module Associator = Square {[πΓπ]Γπ} {π} associator-naturalIsomorphism open Cospans.HomReasoning open Cospans using (id) open Cospans.Equiv @@ -72,3 +79,33 @@ CospansMonoidal = record triangle = sym L-resp-β β©ββ¨refl β sym homomorphism β L-resp-β tri β L-resp-β pentagon : {W X Y Z : Obj} β Cospans [ Cospans [ β.β (id {W} , Ξ±β {(X , Y) , Z}) β Cospans [ Ξ±β β β.β (Ξ±β , id) ] ] β Cospans [ Ξ±β β Ξ±β ] ] pentagon = sym L-resp-β β©ββ¨ refl β©ββ¨ sym L-resp-β β reflβ©ββ¨ sym homomorphism β sym homomorphism β L-resp-β pent β homomorphism + +CospansBraided : Braided CospansMonoidal +CospansBraided = record + { braiding = niHelper record + { Ξ· = Ξ» { (X , Y) β Braiding.FXβ
GXβ².from {X , Y} } + ; Ξ·β»ΒΉ = Ξ» { (Y , X) β Braiding.FXβ
GXβ².to {Y , X} } + ; commute = Ξ» { {X , Y} {Xβ² , Yβ²} (f , g) β Braiding.from (record { fβ = fβ f , fβ g ; fβ = fβ f , fβ g }) } + ; iso = Ξ» { (X , Y) β Braiding.FXβ
GXβ².iso {X , Y} } + } + ; hexagonβ = sym L-resp-β β©ββ¨ refl β©ββ¨ sym L-resp-β β reflβ©ββ¨ sym homomorphism β sym homomorphism β L-resp-β hexβ β homomorphism β reflβ©ββ¨ homomorphism + ; hexagonβ = sym L-resp-β β©ββ¨refl β©ββ¨ sym L-resp-β β sym homomorphism β©ββ¨refl β sym homomorphism β L-resp-β hexβ β homomorphism β homomorphism β©ββ¨refl + } + where + open Cospan + module Cospans = Category Cospans + open Cospans.Equiv + open Cospans.HomReasoning + module Braiding = Square {πΓπ} {π} braiding + open Functor L renaming (F-resp-β to L-resp-β) + +CospansSymmetric : Symmetric CospansMonoidal +CospansSymmetric = record + { braided = CospansBraided + ; commutative = sym homomorphism β L-resp-β comm β identity + } + where + module Cospans = Category Cospans + open Cospans.Equiv + open Cospans.HomReasoning + open Functor L renaming (F-resp-β to L-resp-β) |