YAP (was Re: Proposal: Remove Show and Eq superclasses of Num)

Tyson Whitehead twhitehead at gmail.com
Wed Nov 2 22:28:39 CET 2011

On October 17, 2011 19:19:18 Paterson, Ross wrote:
> Balazs Komuves writes:
> > Rings with unity have a canonical map, actually a ring homomorphism (but
> > not necessarily injection) from the integers, namely for the natural
> > integer N, you add together the unit element with itself N times. For
> > negative N, you take the additive inverse.
> > 
> > For fields, you would try to extend this to rationals; however, it seems
> > that because of the non-injectivity of the above, this won't always
> > work. Example: finite fields. In a finite field of order P, we would
> > have f(N/P) = f(N)/f(P) = f(N)/0 which is not defined.
> Good point.  Mind you we already have this with Ratio Int and friends.

I was also wondering about the EuclidanDomain "associate" and "unit" 
functions.  YAP requires, for all x

  x = associated x * unit x  (where unit x has an multiplicative inverse)
  associate (unit x) = unit (associate x) = 1


This seem very much like generalized absolute and signum functions.

The wikipedia page on Euclidean Domains, however, doesn't mention such 
functions.  Rather it works with the concept of a "euclidian" function which 
gives a mapping onto the non-negative integers such that

  euclidean (mod a b) < euclidean b  whenever  mod a b /= 0


Are these two viewpoints connected?  Does a Euclidian domain's euclidian 
function somehow give rise to the "associate" and "unit" functions?

Thanks!  -Tyson

More information about the Libraries mailing list