aboutsummaryrefslogtreecommitdiff
path: root/Data/WiringDiagram/Monoidal/Core.agda
diff options
context:
space:
mode:
authorJacques Comeaux <jacquesrcomeaux@protonmail.com>2026-08-03 19:08:47 -0500
committerJacques Comeaux <jacquesrcomeaux@protonmail.com>2026-08-03 19:08:47 -0500
commit514bb6e3e235f37c4e49bd703ad02a5ab31e8c0a (patch)
treeca0b19b2dfda49d0e2ac6c1aa0b87cabca89737e /Data/WiringDiagram/Monoidal/Core.agda
parent014e65626daa7bbd0375e5b9ad9bf0ad8addabdc (diff)
Show category of maps is monoidal
Diffstat (limited to 'Data/WiringDiagram/Monoidal/Core.agda')
-rw-r--r--Data/WiringDiagram/Monoidal/Core.agda24
1 files changed, 2 insertions, 22 deletions
diff --git a/Data/WiringDiagram/Monoidal/Core.agda b/Data/WiringDiagram/Monoidal/Core.agda
index 5abd60f..daed109 100644
--- a/Data/WiringDiagram/Monoidal/Core.agda
+++ b/Data/WiringDiagram/Monoidal/Core.agda
@@ -13,33 +13,28 @@ module Data.WiringDiagram.Monoidal.Core
import Categories.Category.Monoidal.Reasoning as βŠ—-Reasoning
import Categories.Morphism as Morphism
import Categories.Morphism.Reasoning π’ž as β‡’-Reasoning
+import Category.Semiadditive.Monoidal as SemiadditiveMonoidal
import Data.WiringDiagram.Balanced as BalancedWD
import Data.WiringDiagram.Core as WD
import Data.WiringDiagram.Directed as DirectedWD
open import Categories.Category.Monoidal using (Monoidal)
-open import Categories.Category.Monoidal.Symmetric using (module Symmetric)
open import Categories.Category.Monoidal.Utilities using (pentagon-inv)
open import Categories.Functor.Bifunctor using (Bifunctor)
open import Categories.Object.Initial using (Initial; IsInitial)
open import Data.Product using (_,_; uncurryβ€²)
open SemiadditiveDagger S
+open SemiadditiveMonoidal semiadditive using (monoidal)
open BalancedWD S using (BWD)
open Category π’ž
open DirectedWD S using (DWD)
open Monoidal monoidal using (triangle; pentagon)
-open Symmetric symmetric using (braided)
open WD S using (Box; WiringDiagram; _β–‘_; _⧈_; _β‰ˆ-⧈_; _⌸_; id-⧈; _⌻_; β‰ˆ-sym)
module DWD = Category DWD
--- Swap middle two of four
-
-σ₂₃ : {A B C D : Obj} β†’ (A βŠ• B) βŠ• (C βŠ• D) β‡’ (A βŠ• C) βŠ• (B βŠ• D)
-σ₂₃ = ⟨ π₁ ×₁ π₁ , Ο€β‚‚ ×₁ Ο€β‚‚ ⟩
-
-- Monoidal unit and initial object
𝟘-β–‘ : Box
@@ -123,21 +118,6 @@ open Equiv
⟨ ⟨ π₁ , id ⟩ ∘ π₁ ×₁ π₁ , ⟨ π₁ , id ⟩ ∘ Ο€β‚‚ ×₁ Ο€β‚‚ ⟩ β‰ˆβŸ¨ Γ—β‚βˆ˜βŸ¨βŸ© ⟨
⟨ π₁ , id ⟩ ×₁ ⟨ π₁ , id ⟩ ∘ ⟨ π₁ ×₁ π₁ , Ο€β‚‚ ×₁ Ο€β‚‚ ⟩ ∎
-σ₂₃-×₁
- : {A Aβ€² B Bβ€² C Cβ€² D Dβ€² : Obj}
- {f : A β‡’ Aβ€²}
- {g : B β‡’ Bβ€²}
- {h : C β‡’ Cβ€²}
- {i : D β‡’ Dβ€²}
- β†’ (f ×₁ g) ×₁ (h ×₁ i) ∘ σ₂₃ β‰ˆ σ₂₃ ∘ (f ×₁ h) ×₁ (g ×₁ i)
-σ₂₃-×₁ {f = f} {g} {h} {i} = begin
- (f ×₁ g) ×₁ (h ×₁ i) ∘ ⟨ π₁ ×₁ π₁ , Ο€β‚‚ ×₁ Ο€β‚‚ ⟩ β‰ˆβŸ¨ Γ—β‚βˆ˜βŸ¨βŸ© ⟩
- ⟨ f ×₁ g ∘ π₁ ×₁ π₁ , h ×₁ i ∘ Ο€β‚‚ ×₁ Ο€β‚‚ ⟩ β‰ˆβŸ¨ ⟨⟩-congβ‚‚ Γ—β‚βˆ˜Γ—β‚ Γ—β‚βˆ˜Γ—β‚ ⟩
- ⟨ (f ∘ π₁) ×₁ (g ∘ π₁) , (h ∘ Ο€β‚‚) ×₁ (i ∘ Ο€β‚‚) ⟩ β‰ˆβŸ¨ ⟨⟩-congβ‚‚ (×₁-congβ‚‚ Ο€β‚βˆ˜Γ—β‚ Ο€β‚βˆ˜Γ—β‚) (×₁-congβ‚‚ Ο€β‚‚βˆ˜Γ—β‚ Ο€β‚‚βˆ˜Γ—β‚) ⟨
- ⟨ (π₁ ∘ f ×₁ h) ×₁ (π₁ ∘ g ×₁ i) , (Ο€β‚‚ ∘ f ×₁ h) ×₁ (Ο€β‚‚ ∘ g ×₁ i) ⟩ β‰ˆβŸ¨ ⟨⟩-congβ‚‚ Γ—β‚βˆ˜Γ—β‚ Γ—β‚βˆ˜Γ—β‚ ⟨
- ⟨ π₁ ×₁ π₁ ∘ (f ×₁ h) ×₁ (g ×₁ i) , Ο€β‚‚ ×₁ Ο€β‚‚ ∘ (f ×₁ h) ×₁ (g ×₁ i) ⟩ β‰ˆβŸ¨ ⟨⟩∘ ⟨
- σ₂₃ ∘ (f ×₁ h) ×₁ (g ×₁ i) ∎
-
⊞-homo
: {A B C D E F : Box}
{f : WiringDiagram A C}