(VAR x y ) (RULES f(x,y) -> cond(and(isNat(x),isNat(y)),x,y) cond(tt,x,y) -> f(s(x),s(y)) isNat(s(x)) -> isNat(x) isNat(0) -> tt and(tt,tt) -> tt and(ff,x) -> ff and(x,ff) -> ff )