
On Thu, Nov 3, 2011 at 9:14 PM, Daniel Fischer < daniel.is.fischer@googlemail.com> wrote:
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),
This one has a fairly canonical representative for the classes of associated series: X^n, where n is the index of the first nonzero coefficient.
While this may seem "canonical" to a human eye, I would argue that it is rather ad-hoc. (for example a change of variable x -> (x+1) will change the notion of "canonical"?)
- 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.
True, but I think we'd need such functions to have well-defined "canonical" factorisations for example.
But if there is no canonical factorization, why do we want to force it? A normalized factorization in an algebra system is something between a design choice and an implementation detail, from my viewpoint.
(Independently of this, I also find the name "unit" a bit confusing for something which would be better called "an associated unit";
Except here, where 'associated' means 'equal up to multiplication with a unit'.
Actually, this seems to be consistent to me :) (since two "associated units" differ by a multiplication with a unit) Balazs