algebra
algebra copied to clipboard
Weaken PID superclass from Euclidean
It suffices to assume ZeroProductSemiring (ie the semiring variant of
Domain). Then Natural can be given a Euclidean instance.
Possibly doable by splitting Euclidean into EuclideanSemiring containing
the functions and Euclidean containing the PID superclass.
The PID constraint does make sense the moment we actually have a Ring,
since all euclidean domains are PIDs.
Works for me.