Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
6 changes: 6 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -151,6 +151,12 @@ Additions to existing modules
⊕-∧-booleanRing : BooleanRing _ _
```

* In `Algebra.Morphism.Structures.IsMagmaHomomorphism`:
```agda
⟦_⟧∙_ : A → B → B
_∙⟦_⟧ : B → A → B
```

* In `Algebra.Properties.RingWithoutOne`:
```agda
[-x][-y]≈xy : ∀ x y → - x * - y ≈ x * y
Expand Down
1 change: 1 addition & 0 deletions src/Algebra/Lattice/Morphism/Structures.agda
Original file line number Diff line number Diff line change
Expand Up @@ -87,6 +87,7 @@ module LatticeMorphisms (L₁ : RawLattice a ℓ₁) (L₂ : RawLattice b ℓ₂

open ∧.IsMagmaMonomorphism ∧-isMagmaMonomorphism public
using (isRelMonomorphism)
renaming (⟦_⟧∙_ to ⟦_⟧∧_; _∙⟦_⟧ to _∧⟦_⟧)


record IsLatticeIsomorphism (⟦_⟧ : A → B) : Set (a ⊔ b ⊔ ℓ₁ ⊔ ℓ₂) where
Expand Down
10 changes: 5 additions & 5 deletions src/Algebra/Module/Morphism/Structures.agda
Original file line number Diff line number Diff line change
Expand Up @@ -35,7 +35,7 @@ module LeftSemimoduleMorphisms

open IsMonoidHomomorphism +ᴹ-isMonoidHomomorphism public
using (isRelHomomorphism; ⟦⟧-cong)
renaming (isMagmaHomomorphism to +ᴹ-isMagmaHomomorphism; homo to +ᴹ-homo; ε-homo to 0ᴹ-homo)
renaming (isMagmaHomomorphism to +ᴹ-isMagmaHomomorphism; homo to +ᴹ-homo; ε-homo to 0ᴹ-homo; ⟦_⟧∙_ to ⟦_⟧+ᴹ_; _∙⟦_⟧ to _+ᴹ⟦_⟧)

record IsLeftSemimoduleMonomorphism (⟦_⟧ : A → B) : Set (r ⊔ m₁ ⊔ ℓm₁ ⊔ ℓm₂) where
field
Expand Down Expand Up @@ -92,7 +92,7 @@ module LeftModuleMorphisms
using (isRelHomomorphism; ⟦⟧-cong)
renaming ( isMagmaHomomorphism to +ᴹ-isMagmaHomomorphism; isMonoidHomomorphism to +ᴹ-isMonoidHomomorphism
; homo to +ᴹ-homo; ε-homo to 0ᴹ-homo; ⁻¹-homo to -ᴹ-homo
)
; ⟦_⟧∙_ to ⟦_⟧+ᴹ_; _∙⟦_⟧ to _+ᴹ⟦_⟧)

isLeftSemimoduleHomomorphism : IsLeftSemimoduleHomomorphism ⟦_⟧
isLeftSemimoduleHomomorphism = record
Expand Down Expand Up @@ -162,7 +162,7 @@ module RightSemimoduleMorphisms

open IsMonoidHomomorphism +ᴹ-isMonoidHomomorphism public
using (isRelHomomorphism; ⟦⟧-cong)
renaming (isMagmaHomomorphism to +ᴹ-isMagmaHomomorphism; homo to +ᴹ-homo; ε-homo to 0ᴹ-homo)
renaming (isMagmaHomomorphism to +ᴹ-isMagmaHomomorphism; homo to +ᴹ-homo; ε-homo to 0ᴹ-homo; ⟦_⟧∙_ to ⟦_⟧+ᴹ_; _∙⟦_⟧ to _+ᴹ⟦_⟧)

record IsRightSemimoduleMonomorphism (⟦_⟧ : A → B) : Set (r ⊔ m₁ ⊔ ℓm₁ ⊔ ℓm₂) where
field
Expand Down Expand Up @@ -219,7 +219,7 @@ module RightModuleMorphisms
using (isRelHomomorphism; ⟦⟧-cong)
renaming ( isMagmaHomomorphism to +ᴹ-isMagmaHomomorphism; isMonoidHomomorphism to +ᴹ-isMonoidHomomorphism
; homo to +ᴹ-homo; ε-homo to 0ᴹ-homo; ⁻¹-homo to -ᴹ-homo
)
; ⟦_⟧∙_ to ⟦_⟧+ᴹ_; _∙⟦_⟧ to _+ᴹ⟦_⟧)
isRightSemimoduleHomomorphism : IsRightSemimoduleHomomorphism ⟦_⟧
isRightSemimoduleHomomorphism = record
{ +ᴹ-isMonoidHomomorphism = +ᴹ-isMonoidHomomorphism
Expand Down Expand Up @@ -376,7 +376,7 @@ module BimoduleMorphisms
using (isRelHomomorphism; ⟦⟧-cong)
renaming ( isMagmaHomomorphism to +ᴹ-isMagmaHomomorphism; isMonoidHomomorphism to +ᴹ-isMonoidHomomorphism
; homo to +ᴹ-homo; ε-homo to 0ᴹ-homo; ⁻¹-homo to -ᴹ-homo
)
; ⟦_⟧∙_ to ⟦_⟧+ᴹ_; _∙⟦_⟧ to _+ᴹ⟦_⟧)

isBisemimoduleHomomorphism : IsBisemimoduleHomomorphism ⟦_⟧
isBisemimoduleHomomorphism = record
Expand Down
3 changes: 2 additions & 1 deletion src/Algebra/Morphism/Bundles.agda
Original file line number Diff line number Diff line change
Expand Up @@ -163,7 +163,8 @@ record KleeneAlgebraHomomorphism
semiringHomomorphism = record { isSemiringHomomorphism = isSemiringHomomorphism }

open SemiringHomomorphism semiringHomomorphism public
hiding (*-isMagmaHomomorphism; *-isMonoidHomomorphism)
hiding (*-isMagmaHomomorphism; *-isMonoidHomomorphism
; ⟦_⟧+_; _+⟦_⟧; ⟦_⟧*_; _*⟦_⟧)

------------------------------------------------------------------------
-- Morphisms between RingWithoutOnes
Expand Down
25 changes: 23 additions & 2 deletions src/Algebra/Morphism/Structures.agda
Original file line number Diff line number Diff line change
Expand Up @@ -89,6 +89,12 @@ module MagmaMorphisms (M₁ : RawMagma a ℓ₁) (M₂ : RawMagma b ℓ₂) wher
open IsRelHomomorphism isRelHomomorphism public
renaming (cong to ⟦⟧-cong)

⟦_⟧∙_ : A → B → B
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Fairbairn threshold? Do we really gain anything by adding these synonyms? The code already says we lose a bit (via the need to add hiding).

Personally I think that IsMagmaHomomorphism should be more minimalistic, and we should also have accompanying "extra kit" modules that we can use when needed. I've partially refactored agda-categories in that direction. And, in that case, seriously shrank the size of .agdai files and load times. I don't expect such an effect for Magma-related stuff, but this more "kitchen-sink" design approach is exactly what made working with Monoidal Categories so heavy.

⟦ x ⟧∙ y = ⟦ x ⟧ ◦ y

_∙⟦_⟧ : B → A → B
y ∙⟦ x ⟧ = y ◦ ⟦ x ⟧


record IsMagmaMonomorphism (⟦_⟧ : A → B) : Set (a ⊔ ℓ₁ ⊔ ℓ₂) where
field
Expand Down Expand Up @@ -261,14 +267,21 @@ module NearSemiringMorphisms (R₁ : RawNearSemiring a ℓ₁) (R₂ : RawNearSe
*-homo : Homomorphic₂ ⟦_⟧ _*₁_ _*₂_

open +.IsMonoidHomomorphism +-isMonoidHomomorphism public
renaming (homo to +-homo; ε-homo to 0#-homo; isMagmaHomomorphism to +-isMagmaHomomorphism)
renaming (homo to +-homo; ε-homo to 0#-homo
; isMagmaHomomorphism to +-isMagmaHomomorphism
; ⟦_⟧∙_ to ⟦_⟧+_; _∙⟦_⟧ to _+⟦_⟧
)

*-isMagmaHomomorphism : *.IsMagmaHomomorphism ⟦_⟧
*-isMagmaHomomorphism = record
{ isRelHomomorphism = isRelHomomorphism
; homo = *-homo
}

open *.IsMagmaHomomorphism *-isMagmaHomomorphism public
using ()
renaming (⟦_⟧∙_ to ⟦_⟧*_; _∙⟦_⟧ to _*⟦_⟧)

record IsNearSemiringMonomorphism (⟦_⟧ : A → B) : Set (a ⊔ ℓ₁ ⊔ ℓ₂) where
field
isNearSemiringHomomorphism : IsNearSemiringHomomorphism ⟦_⟧
Expand Down Expand Up @@ -429,7 +442,11 @@ module RingWithoutOneMorphisms (R₁ : RawRingWithoutOne a ℓ₁) (R₂ : RawRi
*-homo : Homomorphic₂ ⟦_⟧ _*₁_ _*₂_

open +.IsGroupHomomorphism +-isGroupHomomorphism public
renaming (homo to +-homo; ε-homo to 0#-homo; isMagmaHomomorphism to +-isMagmaHomomorphism; isMonoidHomomorphism to +-isMonoidHomomorphism)
renaming (homo to +-homo; ε-homo to 0#-homo
; isMagmaHomomorphism to +-isMagmaHomomorphism
; isMonoidHomomorphism to +-isMonoidHomomorphism
; ⟦_⟧∙_ to ⟦_⟧+_; _∙⟦_⟧ to _+⟦_⟧
)

isNearSemiringHomomorphism : +*.IsNearSemiringHomomorphism ⟦_⟧
isNearSemiringHomomorphism = record
Expand All @@ -443,6 +460,10 @@ module RingWithoutOneMorphisms (R₁ : RawRingWithoutOne a ℓ₁) (R₂ : RawRi
; homo = *-homo
}

open *.IsMagmaHomomorphism *-isMagmaHomomorphism public
using ()
renaming (⟦_⟧∙_ to ⟦_⟧*_; _∙⟦_⟧ to _*⟦_⟧)

record IsRingWithoutOneMonomorphism (⟦_⟧ : A → B) : Set (a ⊔ ℓ₁ ⊔ ℓ₂) where
field
isRingWithoutOneHomomorphism : IsRingWithoutOneHomomorphism ⟦_⟧
Expand Down