Dear all,


I am very sorry for something like misprinting tragically in the 
classic  gcd  definition.  I had written

" gcd(a,b)  is the  *greatest*   by inclusion ideal  (d)  among the
  ones with the property of 
             (d) = {x*d | x <- R}   to be  *contained inside*
             (a)+(b) =  {x*a + y*b | x,y <- R} 
"
 
while the right definition is 

---------------------------------------------------------------------
(D)
... least by inclusion ideal (d) among the ones that contain  (a)+(b)
    -----                                            -------
---------------------------------------------------------------------



This all concerns to the little discussion on whether it is good to
put  gcd(0,0) = 0   in Haskell.

Again,  gcd(0,0) = 0  does agree with this classic definition.

However, in the task where appear the expressions like  gcd(a,b),  
they usually consider the case  a=b=0  separately.

Again,  (D)  shows that for Rationals and the like domains  gcd  is
trivial:   a /= 0  =>  gcd(a,b) = 1.

So it looks strange speaking of gcd for rationals.



Sergey Mechveliani

[EMAIL PROTECTED]






Reply via email to