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.
Cf. #2195 and #2253
IsNonAssociativeRingadmits enough properties to make thezerofield redundant by exactly the same argument as forIsRingWithoutOne(so the redundancy is abug, and removing it would bebreaking)IsRingWithoutOnemakes no use of*-assoc...Possible remedy: introduce a further refinement in which a new
IsNonAssociativeRingWithoutOnewould 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.