add(z, M, M).
add(s(N), M, s(U)) :- add(N, M, U).

mul(z, _, z).
mul(s(N), M, U) :- mul(N, M, U0), add(U0, M, U).
