diff options
Diffstat (limited to 'Data/WiringDiagram/Balanced.agda')
| -rw-r--r-- | Data/WiringDiagram/Balanced.agda | 38 |
1 files changed, 38 insertions, 0 deletions
diff --git a/Data/WiringDiagram/Balanced.agda b/Data/WiringDiagram/Balanced.agda new file mode 100644 index 0000000..09656fc --- /dev/null +++ b/Data/WiringDiagram/Balanced.agda @@ -0,0 +1,38 @@ +{-# OPTIONS --without-K --safe #-} + +open import Categories.Category using (Category) +open import Category.Dagger.Semiadditive using (IdempotentSemiadditiveDagger) +open import Level using (Level) + +module Data.WiringDiagram.Balanced + {o â e : Level} + {đ : Category o â e} + (S : IdempotentSemiadditiveDagger đ) + where + +open import Categories.Functor using (Functor) +open import Data.WiringDiagram.Core S using (WiringDiagram; _âĄ_) +open import Data.WiringDiagram.Directed S using (DWD) +open import Function using (id) + +open Category đ using (Obj) + +-- The category of balanced wiring diagrams +BWD : Category o â e +BWD = record + { Obj = Obj + ; _â_ = Îť A B â WiringDiagram (A ⥠A) (B ⥠B) + ; Category DWD + } + +-- Inclusion functor from BWD to DWD +Include : Functor BWD DWD +Include = record + { Fâ = Îť A â A ⥠A + ; Fâ = id + ; identity = Equiv.refl + ; homomorphism = Equiv.refl + ; F-resp-â = id + } + where + open Category DWD using (module Equiv) |
