aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJacques Comeaux <jacquesrcomeaux@protonmail.com>2025-10-15 20:54:35 -0500
committerJacques Comeaux <jacquesrcomeaux@protonmail.com>2025-10-15 20:54:35 -0500
commit970edad9a35db978d66e648bf5d4379787197eb0 (patch)
treed66b9e0c8c038dd172e858d2c5da868702e88036
parent5f18ab3cac36f29e612886eca114ff3e07c26b4e (diff)
Add monoidal categories for Nat and Nat-op
-rw-r--r--Category/Monoidal/Instance/Nat.agda37
1 files changed, 37 insertions, 0 deletions
diff --git a/Category/Monoidal/Instance/Nat.agda b/Category/Monoidal/Instance/Nat.agda
new file mode 100644
index 0000000..9f1b990
--- /dev/null
+++ b/Category/Monoidal/Instance/Nat.agda
@@ -0,0 +1,37 @@
+{-# OPTIONS --without-K --safe #-}
+
+module Category.Monoidal.Instance.Nat where
+
+open import Level using (0ℓ)
+open import Categories.Category.Monoidal.Bundle using (MonoidalCategory)
+open import Categories.Category.Instance.Nat using (Nat; Nat-Cartesian; Nat-Cocartesian; Natop)
+open import Categories.Category.Cartesian using (Cartesian)
+open import Categories.Category.Cocartesian using (Cocartesian; module CocartesianMonoidal)
+open import Categories.Category.Cartesian.Monoidal using (module CartesianMonoidal)
+open import Categories.Category.Duality using (coCartesian⇒Cocartesian; Cocartesian⇒coCartesian)
+
+open CartesianMonoidal using () renaming (monoidal to ×-monoidal)
+open CocartesianMonoidal using (+-monoidal)
+open MonoidalCategory
+
+Natop-Cartesian : Cartesian Natop
+Natop-Cartesian = Cocartesian⇒coCartesian Nat Nat-Cocartesian
+
+Natop-Cocartesian : Cocartesian Natop
+Natop-Cocartesian = coCartesian⇒Cocartesian Natop Nat-Cartesian
+
+Nat,+,0 : MonoidalCategory 0ℓ 0ℓ 0ℓ
+Nat,+,0 .U = Nat
+Nat,+,0 .monoidal = +-monoidal Nat Nat-Cocartesian
+
+Nat,×,1 : MonoidalCategory 0ℓ 0ℓ 0ℓ
+Nat,×,1 .U = Nat
+Nat,×,1 .monoidal = ×-monoidal Nat-Cartesian
+
+Natop,+,0 : MonoidalCategory 0ℓ 0ℓ 0ℓ
+Natop,+,0 .U = Natop
+Natop,+,0 .monoidal = ×-monoidal Natop-Cartesian
+
+Natop,×,1 : MonoidalCategory 0ℓ 0ℓ 0ℓ
+Natop,×,1 .U = Natop
+Natop,×,1 .monoidal = +-monoidal Natop Natop-Cocartesian