blob: 09656fcc123608836b37e3f4aa5a9bc1dc4c021e (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
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)
|