Infinitary Rewriting: From Syntax to Semantics - Kennaway, Richard; Severi, Paula; Sleep, Ronan; de Vries, Fer-Jan (Processes, Terms and Cycles: Steps on the Road to Infinity, 2005)
Rewriting is the repeated transformation of a structured object according to a set of rules. This simple concept has turned out to have a rich variety of elaborations, giving rise to many different theoretical frameworks for reasoning about computation. Aside from its theoretical importance, rewriting has also been a significant influence on the design and implementation of real programming languages, most notably the functional and logic programming families of languages. For a theoretical perspective on the place of rewriting in Computer Science, see for example [14]. For a programming language perspective, see for example [16].