diff options
Diffstat (limited to 'Data/WiringDiagram/Looped.agda')
| -rw-r--r-- | Data/WiringDiagram/Looped.agda | 28 |
1 files changed, 15 insertions, 13 deletions
diff --git a/Data/WiringDiagram/Looped.agda b/Data/WiringDiagram/Looped.agda index 6f63e88..9669e4a 100644 --- a/Data/WiringDiagram/Looped.agda +++ b/Data/WiringDiagram/Looped.agda @@ -2,7 +2,7 @@ open import Categories.Category using (Category) open import Categories.Functor using (Functor; _βF_) -open import Category.Dagger.Semiadditive using (IdempotentSemiadditiveDagger) +open import Category.Dagger.Semiadditive using (SemiadditiveDagger; IdempotentSemiadditiveDagger) open import Category.KaroubiComplete using (KaroubiComplete) open import Data.WiringDiagram.Balanced using (BWD) open import Level using (Level) @@ -12,8 +12,10 @@ module Data.WiringDiagram.Looped {π : Category o β e} {π : Category oβ² ββ² eβ²} {S : IdempotentSemiadditiveDagger π} + (let module S = IdempotentSemiadditiveDagger S) + (let Sβ² = S.semiadditiveDagger) (karoubiComplete : KaroubiComplete π) - (F : Functor (BWD S) π) + (F : Functor (BWD Sβ²) π) where import Categories.Morphism.Idempotent as Idempotent @@ -22,11 +24,11 @@ import Categories.Morphism.Reasoning as β-Reasoning open import Categories.Category using (Category) open import Categories.Functor.Properties using ([_]-resp-β) open import Category.Dagger.2-Poset using (Dagger-2-Poset; dagger-2-poset; Maps; Map) -open import Data.WiringDiagram.Balanced S using (Include; Push; Pull) -open import Data.WiringDiagram.Core S using (loop; id-β§; _β‘_) +open import Data.WiringDiagram.Balanced Sβ² using (Include; Push; Pull) +open import Data.WiringDiagram.Core Sβ² using (loop; id-β§; _β‘_) open import Data.WiringDiagram.Equalities S using (loopβloop; loopβpushβloop; loopβpullβloop) -module BWD = Category (BWD S) +module BWD = Category (BWD Sβ²) module F = Functor F module π = Category π module π = Category π @@ -67,10 +69,10 @@ module _ (A : π.Obj) where module Push = Functor Push module Pull = Functor Pull -Sβ² : Dagger-2-Poset -Sβ² = dagger-2-poset S +S-β€ : Dagger-2-Poset +S-β€ = dagger-2-poset S -Merge : Functor (Maps Sβ²) π +Merge : Functor (Maps S-β€) π Merge = record { Fβ = Looped ; Fβ = Ξ» {A} {B} f β Ο B β F.β (Push.β (map f)) β forget A @@ -91,8 +93,8 @@ Merge = record π.id β homo : {X Y Z : π.Obj} - {f : Map Sβ² X Y} - {g : Map Sβ² Y Z} + {f : Map S-β€ X Y} + {g : Map S-β€ Y Z} β Ο Z β F.β (Push.β (map g π.β map f)) β forget X π.β (Ο Z β F.β (Push.β (map g)) β forget Y) β Ο Y β F.β (Push.β (map f)) β forget X homo {X} {Y} {Z} {fβ²} {gβ²} = begin Ο Z β F.β (Push.β (g π.β f)) β forget X ββ¨ reflβ©ββ¨ F.F-resp-β Push.homomorphism β©ββ¨refl β© @@ -113,7 +115,7 @@ Merge = record resp : {A B : π.Obj} {f g : A π.β B} β f π.β g β Ο B β F.β (Push.β f) β forget A π.β Ο B β F.β (Push.β g) β forget A resp {A} {B} {f} {g} fβg = reflβ©ββ¨ F.F-resp-β (Push.F-resp-β fβg) β©ββ¨refl -Split : Functor (op (Maps Sβ²)) π +Split : Functor (op (Maps S-β€)) π Split = record { Fβ = Looped ; Fβ = Ξ» {A} {B} f β Ο B β F.β (Pull.β (map f)) β forget A @@ -134,8 +136,8 @@ Split = record π.id β homo : {X Y Z : π.Obj} - {f : Map Sβ² Y X} - {g : Map Sβ² Z Y} + {f : Map S-β€ Y X} + {g : Map S-β€ Z Y} β Ο Z β F.β (Pull.β (map f π.β map g)) β forget X π.β (Ο Z β F.β (Pull.β (map g)) β forget Y) β Ο Y β F.β (Pull.β (map f)) β forget X homo {X} {Y} {Z} {fβ²} {gβ²} = begin Ο Z β F.β (Pull.β (f π.β g)) β forget X ββ¨ reflβ©ββ¨ F.F-resp-β Pull.homomorphism β©ββ¨refl β© |
