aboutsummaryrefslogtreecommitdiff
path: root/Category/Semiadditive.agda
diff options
context:
space:
mode:
authorJacques Comeaux <jacquesrcomeaux@protonmail.com>2026-08-04 06:37:48 -0500
committerJacques Comeaux <jacquesrcomeaux@protonmail.com>2026-08-04 06:37:48 -0500
commite171bf8948f8655eccdf27ba4824bdb28d497076 (patch)
tree974526482f8ec0ed5a20e575fc3b8d0eb4d7cb21 /Category/Semiadditive.agda
parent514bb6e3e235f37c4e49bd703ad02a5ab31e8c0a (diff)
Construct monoidal merge functor
Diffstat (limited to 'Category/Semiadditive.agda')
-rw-r--r--Category/Semiadditive.agda18
1 files changed, 18 insertions, 0 deletions
diff --git a/Category/Semiadditive.agda b/Category/Semiadditive.agda
index 86b5585..7d34fbf 100644
--- a/Category/Semiadditive.agda
+++ b/Category/Semiadditive.agda
@@ -49,6 +49,24 @@ record Semiadditive : Set (levelOfTerm π’ž) where
zeroβ‡’ {A} ∘ Ο€β‚‚ ∘ i₁ β‰ˆβŸ¨ zero-∘ʳ (Ο€β‚‚ ∘ i₁) ⟩
zeroβ‡’ ∎
+ Ξ”-βŠ• : {X Y : Obj} β†’ Ξ” {X βŠ• Y} β‰ˆ σ₂₃ ∘ Ξ” ×₁ Ξ”
+ Ξ”-βŠ• {X} {Y} = begin
+ ⟨ id , id ⟩ β‰ˆβŸ¨ ⟨⟩-congβ‚‚ id×₁id id×₁id ⟨
+ ⟨ id ×₁ id , id ×₁ id ⟩ β‰ˆβŸ¨ ⟨⟩-congβ‚‚ (×₁-congβ‚‚ project₁ project₁) (×₁-congβ‚‚ projectβ‚‚ projectβ‚‚) ⟨
+ ⟨ (π₁ ∘ Ξ”) ×₁ (π₁ ∘ Ξ”) , (Ο€β‚‚ ∘ Ξ”) ×₁ (Ο€β‚‚ ∘ Ξ”) ⟩ β‰ˆβŸ¨ ⟨⟩-congβ‚‚ Γ—β‚βˆ˜Γ—β‚ Γ—β‚βˆ˜Γ—β‚ ⟨
+ ⟨ π₁ ×₁ π₁ ∘ Ξ” ×₁ Ξ” , Ο€β‚‚ ×₁ Ο€β‚‚ ∘ Ξ” ×₁ Ξ” ⟩ β‰ˆβŸ¨ ⟨⟩∘ ⟨
+ σ₂₃ ∘ Ξ” ×₁ Ξ” ∎
+
+ βˆ‡-βŠ• : {X Y : Obj} β†’ βˆ‡ {X βŠ• Y} β‰ˆ βˆ‡ ×₁ βˆ‡ ∘ σ₂₃
+ βˆ‡-βŠ• {X} {Y} = begin
+ [ id , id ] β‰ˆβŸ¨ []-congβ‚‚ id×₁id id×₁id ⟨
+ [ id ×₁ id , id ×₁ id ] β‰ˆβŸ¨ []-congβ‚‚ (×₁-congβ‚‚ inject₁ inject₁) (×₁-congβ‚‚ injectβ‚‚ injectβ‚‚) ⟨
+ [ (βˆ‡ ∘ i₁) ×₁ (βˆ‡ ∘ i₁) , (βˆ‡ ∘ iβ‚‚) ×₁ (βˆ‡ ∘ iβ‚‚) ] β‰ˆβŸ¨ []-congβ‚‚ Γ—β‚βˆ˜Γ—β‚ Γ—β‚βˆ˜Γ—β‚ ⟨
+ [ βˆ‡ ×₁ βˆ‡ ∘ i₁ ×₁ i₁ , βˆ‡ ×₁ βˆ‡ ∘ iβ‚‚ ×₁ iβ‚‚ ] β‰ˆβŸ¨ ∘[] ⟨
+ βˆ‡ ×₁ βˆ‡ ∘ [ i₁ ×₁ i₁ , iβ‚‚ ×₁ iβ‚‚ ] β‰ˆβŸ¨ refl⟩∘⟨ ⟨⟩-unique (∘[] β—‹ []-congβ‚‚ Ο€β‚βˆ˜Γ—β‚ Ο€β‚βˆ˜Γ—β‚) (∘[] β—‹ []-congβ‚‚ Ο€β‚‚βˆ˜Γ—β‚ Ο€β‚‚βˆ˜Γ—β‚) ⟨
+ βˆ‡ ×₁ βˆ‡ ∘ ⟨ π₁ +₁ π₁ , Ο€β‚‚ +₁ Ο€β‚‚ ⟩ β‰ˆβŸ¨ refl⟩∘⟨ ⟨⟩-congβ‚‚ (×₁-+₁ π₁ π₁) (×₁-+₁ Ο€β‚‚ Ο€β‚‚) ⟨
+ βˆ‡ ×₁ βˆ‡ ∘ σ₂₃ ∎
+
module _ {A B : Obj} where
_+_ _+β€²_Β : A β‡’ B β†’ A β‡’ B β†’ A β‡’ B