agda / agda-stdlib

The Agda standard library

Home Page:https://wiki.portal.chalmers.se/agda/Libraries/StandardLibrary

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

[DRY] More redundant `zero` fields in `Algebra.Structures`

jamesmckinna opened this issue · comments

Cf. #2195 and #2253

  • IsNonAssociativeRing admits enough properties to make the zero field redundant by exactly the same argument as for IsRingWithoutOne (so the redundancy is a bug, and removing it would be breaking)
  • correspondingly, the argument for IsRingWithoutOne makes no use of *-assoc...

Possible remedy: introduce a further refinement in which a new IsNonAssociativeRingWithoutOne would the 'right' home for such an argument, with each of the above two structures inheriting from that...?

See for example this blob and prior refactoring via Quasiring... for a possible solution.