From e171bf8948f8655eccdf27ba4824bdb28d497076 Mon Sep 17 00:00:00 2001 From: Jacques Comeaux Date: Tue, 4 Aug 2026 06:37:48 -0500 Subject: Construct monoidal merge functor --- Category/Semiadditive.agda | 18 ++++++++++++++++++ 1 file changed, 18 insertions(+) (limited to 'Category/Semiadditive.agda') 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 -- cgit v1.2.3