 Nevertheless, these general operations should respect many of the laws governing ordinary arithmetic, such as commutativity, associativity and distributivity.The generalized Euclidean algorithm requires a "Euclidean function", i.e., a mapping from into the set of nonnegative integers such that, for any two nonzero elements and in , there exist and in such that and .Examples of such mappings are the absolute value for integers, the degree for univariate polynomials, and the norm for Gaussian integers above.