(VAR x ) (RULES f(tt,x) -> f(isList(x),x) isList(Cons(x,xs)) -> isList(xs) isList(nil) -> tt )