 A description for lazy (non-innermost) rewriting can be found in "Lazy rewriting on eager machinery".A documented implementation of ARM (with the term rewriting language Epic) is available here.Note that site and software are no longer being actively maintained.