Fix some

prime number *p*. The

p-adic valuation (which you

*really* should read about!)

*v*_{p} can be used to define a

norm on the

integers and on the

rationals (but it's not quite the

norm defined on

vector spaces; still, it's pretty close).

Just define |*a*/*b*|_{p} = *p*^{vp(b)-vp(a)}.

Denoting for convenience this norm by just |.|, note that the properties given in the

p-adic valuation node immediately imply these properties:

- |
*a*b*| = |*a*|*|*b*|
- |
*a+b*| <= max(|*a*|,|*b*|)

In particular, it follows that |

*x-y*| is a

metric; this metric is very different from the metric defined by the usual

absolute value norm. It measures how many digits past the "

decimal point" in the

base p expansions of

*x* and

*y* are the same, but counting from the rightmost digit. And property (2) even means it's an

ultrametric.

This makes for some very neat mathematics...