OK, I give up. Especially since anyone who agrees with me can just In[895]:= Unprotect[GCD]; GCD[a_, b_] /; a/b ∉ Rationals = 0; In[896]:= GCD[1/6, 1/9] Out[896]= 1/18 In[897]:= {GCD[π, 1], GCD[1, π]} Out[897]= {0, 0} In[908]:= GCD[E,π] Out[908]= GCD[E, π] In[909]:= GCD[Sqrt[2], π] Out[909]= 0 Mma is surprisingly accommodating this way. E.g., Unprotect[Numerator, Denominator]; Numerator[ComplexInfinity] = 1; Denominator[ComplexInfinity] = 0; Off[Power::infy] Then if In[903]:= Clear[mediant]; mediant[a__] := Divide @@ (Plus @@ # & /@ {Numerator[{a}], Denominator[{a}]}) E.g., In[904]:= mediant[a/b, c/d, e/f] Out[904]= (a + c + e)/(b + d + f) you can In[907]:= mediant[0, 1/0] Out[907]= 1 which is acutally useful for Farey interpolation. --rwg