| What do you mean by 'is defined by group operation'? Reals/integers with multiplication don't form a group. 'Multiplying 0 by itself 0 times' is what Wikipedia calls 'empty product'. For me is is good intuition, but that's a matter of taste. AFAIK the usual convention is: * in contexts where the exponent is varying continuously and a is a real number, a^b is undefined for a=b=0 * in contexts where the exponent is varying discretely (as an integer/natural number), a^b = 1 for b=0 and any a Haskell quite nicely distinguishes between these two: (^) :: (Num a, Integral b) => a -> b -> a (* * ) :: (Floating a) => a -> a -> a but it still gives 0 * * 0 and 0^0 as 1. (There shouldn't be spaces between asterisks, HN treats them as italics) |