On Thu, Nov 3, 2011 at 5:11 PM, Paterson, Ross
<R.Paterson@city.ac.uk> wrote:
Units are invertible elements, and two elements are associates if they're
factors of each other. So association is an equivalence relation; in
particular the associates of 1 are the units, and the only associate of
0 is itself.
Now choose a member from each association equivalence class to be the
canonical associate for all the members of that class, choosing 1 as
the canonical associate for the unit class. Because there are no zero
divisors, that uniquely determines the canonical unit for each element.
It seems to me that a typical Euclidean domain does not have any kind of
meaningful canonical associate / unit map. Examples:
- The Gaussian integers Z[i] (units are 1,-1,i,-i; what would be the associated element of 5+7i ?)
- Formal power series K[[x]] over a field (units are every series with nonzero constant coefficients),
- and probably just about any other interesting structure satisfying the definition.
A function "a -> a" in a type class suggests to me a canonical mapping. Thus, I would
advocate against putting associate/unit into such a Euclidean domain type class.
(Independently of this, I also find the name "unit" a bit confusing for something
which would be better called "an associated unit"; "unit" is already a very
overloaded word)
Balazs