improved substitution by substituting an anonymous variable in terms of a named variable; --prove now outputs true on success