**Example.** Multiplication of two numbers.

The key new feature here is the use of a previously defined function, add, in the
definition of a new function. We skip the step of playing around with the p_{i}
functions to pick out the right parts, and go right to the simplified form.

multiply(x, s(z(x))) = x

multiply(x, s(y)) = add(x, multiply(x, y))

**Example.** Predecessor.

The trick here is that we can't drop below zero, so effectively 0-1=0. To show this, we
write a dot above the minus sign and call it a *monus* (and no, you don't need to
remember this!). In any case, the function is easy to define:

pred(z(x)) = z(x)

pred(s(x)) = x

(We have taken some liberties with the notation, because the form allowed by the textbook doesn't allow us to define a function of one variable; we would have to define a function of two variables, and just ignore one of them.)

**Example.** Subtraction.

subtract(x, z(x)) = x

subtract(x, s(y)) = pred(subtract(x, y))

Copyright © 1996 by David Matuszek

Last modified Apr 18, 1996