Let me try again:
greatest -> maximum/supremum of a set of integers (plain everyday order) common -> intersection (plain everyday intersection of sets) divisor (of an integer value v) -> an integer value m, such that v/m is defined and, if so, is an integer factor (of an integer value v) -> an integer value m, such that there is an integer value n such that m*n=v So (mock Haskell syntax; set expression really): greatest_common_divisor a b = max (intersection {all divisors of a} {all divisors of b}) What is the supremum (result of max in the expression above) if a and b are both 0? (You're allowed to use values not prescribed by Haskell to exist. ;-) (You can replace "divisors" by "factors" in that expression and still get the same result.) I may agree that an operation *similar* to gcd, where <0,0> as argument returns 0 is useful (maybe even more useful than gcd!). But that operation is still not the gcd (and might even return other results thaN gcd also for other value pairs than <0,0>; in particlar negatives; depending on what is found most useful). If you want to replace gcd by some other, similar, operation, please go ahead. But call it something else, because it is something else. If you want to generalise that to polynomials or Gaussian integers (or at least imaginary integers, as opposed to complex integers), fine (though not for the current standard Haskell library). (Micheal, I am interested in the Guassian integer variety of this. If you like, you can expand on what you said in an off-list message, or give me a reference.) Kind (and somewhat fundamentalist) regards /kent k > -----Original Message----- > From: [EMAIL PROTECTED] [mailto:[EMAIL PROTECTED]]On > Behalf Of Jan de Wit > Sent: den 19 december 2001 01:15 > To: [EMAIL PROTECTED] > Subject: Re: gcd 0 0 = 0 > > > Why not define gcd a b as the largest (in 'normal' order) > integer d such > that the set of sums of > multiples of a and b {na+mb | n <- Z, m <- Z} is equal to the set of > multiples of d > {nd | n <- Z}? Easy to understand, no talk of division, > lattices, rings, > ideals etcetera, and it covers the cases with 0. > > Cheers, Jan de Wit > > > > _______________________________________________ > Haskell mailing list > [EMAIL PROTECTED] > http://www.haskell.org/mailman/listinfo/haskell _______________________________________________ Haskell mailing list [EMAIL PROTECTED] http://www.haskell.org/mailman/listinfo/haskell