@@ -12,17 +12,18 @@ open import Level
1212open import Data.Product using (_,_)
1313
1414open import Categories.Category.Monoidal.Symmetric M
15+ open import Categories.Category.Monoidal.Reasoning M
1516
1617private
1718 variable
1819 A B X Y : Obj
1920 f g : A ⇒ B
2021
2122------------------------------------------------------------------------------
22- -- Def from http://ncatlab.org/nlab/show/traced+ monoidal+category
23+ -- Def from Traced monoidal categories (Joyal, Street, & Verity, 1996)
2324--
2425-- A symmetric monoidal category (C,⊗,1,b) (where b is the symmetry) is
25- -- said to be traced if it is equipped with a natural family of functions
26+ -- said to be traced if it is equipped with a natural family* of functions
2627--
2728-- TrXA,B:C(A⊗X,B⊗X)→C(A,B)
2829-- satisfying three axioms:
@@ -33,6 +34,8 @@ private
3334-- Superposing: TrXC⊗A,C⊗B(idC⊗f)=idC⊗TrXA,B(f) (for all f:A⊗X→B⊗X)
3435--
3536-- Yanking: TrXX,X(bX,X)=idX
37+ --
38+ -- (*) this means the family needs to be "natural" in A, B, and X!
3639
3740-- Traced monoidal category
3841-- is a symmetric monoidal category with a trace operation
@@ -47,6 +50,13 @@ record Traced : Set (levelOfTerm M) where
4750
4851 field
4952 trace : ∀ {X A B} → A ⊗₀ X ⇒ B ⊗₀ X → A ⇒ B
53+ trace-resp-≈ : f ≈ g → trace f ≈ trace g
54+
55+ -- dinaturality in X
56+ slide : trace (f ∘ id ⊗₁ g) ≈ trace (id ⊗₁ g ∘ f)
57+ -- naturality in A and B
58+ tightenₗ : trace (f ⊗₁ id ∘ g) ≈ f ∘ trace g
59+ tightenᵣ : trace (f ∘ g ⊗₁ id) ≈ trace f ∘ g
5060
5161 vanishing₁ : trace {X = unit} (f ⊗₁ id) ≈ f
5262 vanishing₂ : trace {X = X} (trace {X = Y} (associator.to ∘ f ∘ associator.from))
0 commit comments