diff options
| author | Jacques Comeaux <jacquesrcomeaux@protonmail.com> | 2026-08-15 12:34:15 -0500 |
|---|---|---|
| committer | Jacques Comeaux <jacquesrcomeaux@protonmail.com> | 2026-08-15 12:34:15 -0500 |
| commit | 9a65579633967a0c02b912e6baa3e575a02b868f (patch) | |
| tree | c0398cf53de1b2c0b0e2211bb81f2501c4d8688f /Category/Dagger | |
| parent | 154ad08032f9719b0ad32aa357742fe12ff4899a (diff) | |
Add monoidal structure to system functor
Diffstat (limited to 'Category/Dagger')
| -rw-r--r-- | Category/Dagger/Semiadditive.agda | 44 |
1 files changed, 42 insertions, 2 deletions
diff --git a/Category/Dagger/Semiadditive.agda b/Category/Dagger/Semiadditive.agda index adcf6ed..41be19e 100644 --- a/Category/Dagger/Semiadditive.agda +++ b/Category/Dagger/Semiadditive.agda @@ -11,8 +11,11 @@ import Category.Semiadditive.Monoidal as SemiadditiveMonoidal open import Categories.Category.Dagger using (HasDagger) open import Categories.Category.Monoidal using (Monoidal) +open import Categories.Category.Monoidal.Braided using (Braided) +open import Categories.Category.Monoidal.Symmetric using (Symmetric) open import Categories.Category.Monoidal.Bundle using (MonoidalCategory; SymmetricMonoidalCategory) -open import Categories.Functor.Bifunctor using (Bifunctor) +open import Categories.NaturalTransformation.NaturalIsomorphism using (_β_; niHelper) +open import Categories.Functor.Bifunctor using (Bifunctor; flip-bifunctor) open import Categories.Morphism using (Iso) open import Categories.Morphism.Properties π using (Iso-resp-β; Iso-swap) open import Category.Dagger.2-Poset using (Dagger-2-Poset; Map; Maps; unitary-isMap) @@ -272,9 +275,10 @@ record IdempotentSemiadditiveDagger : Set (suc (o β β β e)) where maps = Maps dagger-2-poset open Dagger-2-Poset dagger-2-poset using (category) - open SemiadditiveMonoidal semiadditive using (monoidal) + open SemiadditiveMonoidal semiadditive using (monoidal; symmetric) module M = Monoidal monoidal + module SM = Symmetric symmetric Γβ-functional : {A B C D : Obj} @@ -392,8 +396,44 @@ record IdempotentSemiadditiveDagger : Set (suc (o β β β e)) where ; M } + swap-unitary : {X Y : Obj} β Iso category (swap {X} {Y}) (swap β ) + swap-unitary {X} {Y} = record { Iso (Iso-resp-β (SM.braiding.iso (X , Y)) refl (sym swapβ )) } + + swap-map : {X Y : Obj} β Map dagger-2-poset (X β Y) (Y β X) + swap-map = record + { map = swap + ; isMap = unitary-isMap dagger-2-poset swap-unitary + } + + Ο : β β flip-bifunctorΒ β + Ο = niHelper record + { Ξ· = Ξ» _ β swap-map + ; Ξ·β»ΒΉ = Ξ» _ β swap-map + ; commute = Ξ» _ β swapβΓβ + ; iso = Ξ» X β record { SM.braiding.iso X } + } + + maps-braided : Braided maps-monoidal + maps-braided = record + { braiding = Ο + ; SM + } + + maps-symmetric : Symmetric maps-monoidal + maps-symmetric = record + { braided = maps-braided + ; SM + } + maps-MC : MonoidalCategory o (β β e) e maps-MC = record { U = maps ; monoidal = maps-monoidal } + + maps-SMC : SymmetricMonoidalCategory o (β β e) e + maps-SMC = record + { U = maps + ; monoidal = maps-monoidal + ; symmetric = maps-symmetric + } |
