Skip to content

IsCommutativeMonoid should use IsMonoid not IsSemigroup #239

Closed
@MatthewDaggitt

Description

@MatthewDaggitt

Obviously Maybe a case of mis-subclassing. It leads to unobvious requirements and also makes the record much longer than it needs to be.

record IsCommutativeMonoid {a ℓ} {A : Set a} (≈ : Rel A ℓ)
(_∙_ : Op₂ A) (ε : A) : Set (a ⊔ ℓ) where
open FunctionProperties
field
isSemigroup : IsSemigroup ≈ _∙_
identityˡ : LeftIdentity ε _∙_
comm : Commutative _∙_

Metadata

Metadata

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions