(VAR n m l b r x y) (RULES isEmpty(empty) -> true isEmpty(node(l,r)) -> false left(empty) -> empty left(node(l,r)) -> l right(empty) -> empty right(node(l,r)) -> r inc(0) -> s(0) inc(s(x)) -> s(inc(x)) count(n,x) -> if(isEmpty(n), isEmpty(left(n)), right(n), node(left(left(n)), node(right(left(n)),right(n))), x, inc(x)) if(true, b, n, m, x, y) -> x if(false, false, n, m, x, y) -> count(m, x) if(false, true, n, m, x, y) -> count(n, y) nrOfNodes(n) -> count(n,0) ) (COMMENT counts the nr of nodes in a binary tree )