[DRY] More redundant `zero` fields in `Algebra.Structures`
jamesmckinna opened this issue · comments
jamesmckinna commented
IsNonAssociativeRing
admits enough properties to make thezero
field redundant by exactly the same argument as forIsRingWithoutOne
(so the redundancy is abug
, and removing it would bebreaking
)- 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.