nat(z).
nat(s(X)) :- nat(X).

add(z, Y, Y) :- nat(Y).
add(s(X), Y, s(Z)) :- add(X, Y, Z).

mult(z, Y, z) :- nat(Y).
mult(s(X), Y, Z) :- mult(X, Y, W), add(Y, W, Z).
