An Approach to Higher-Order Term-Rewriting Using lambda-Prolog