Pattern Matching Overview
We have emphasized the use of design patterns in writing programs. We would like to use patterns automatically to generate, improve, or transform programs, equations, and other tree-like data structures.
We will use rewrite rules, each consisting of an input pattern and an output pattern.