So just had this question as extra credit on a final: Let D be an integral domain, and suppose f is a non-constant map from D to the non-negative integers, with f(xy) = f(x)f(y). Show that if a has an inverse in D, f(a) = 1. Couldn't figure it out in time. I was thinking the way to go about it was assume f(a) > 1 and show then the function would be constant, somehow using the fact that any y in D could be factored as a(a^- * y). Maybe: Suppose f(a) = n /= 1. Then f(a*a^-*y) = n*m*f(y), n*m /= 1 since we are in the integers and f(n or m) /=1 by assumption. But in D, a*a^-1* y = y, but n*m*f(y) /= f(y), a contradiction. Is this right? It doesn't make use of the hypothesis that f is non-constant I don't think.