Abstract Reduction Systems
A set + a binary relation
An Abstract Reduction System (ARS) is the simplest possible "things that
rewrite" model: a pair where:
- is a set (the things you can rewrite)
- is a binary relation (the one-step reduction)
The reflexive-transitive closure captures "reduces in zero or more
steps". Sometimes we write to be explicit about the one-step relation.
Difference from transition systems. A transition system has THREE
components (states, actions, transitions). An ARS has TWO (a set, a relation).
You can recover the actions by labelling the relation, but the ARS is purely
about reachability: given , which can you reach? This is a useful
abstraction when the actions don't matter — only the structure of rewriting
does.
Examples of ARS:
- Arithmetic simplification:
- Lambda calculus:
- Unification: a substitution reduces a formula by applying it
- Term rewriting:
- Grammar derivation (from Ch7!):
Observation. Every ARS is the same thing as a
directed graph with vertex set and edge set . The reverse is also
true: any directed graph can be viewed as an ARS.
The point of using ARS instead of "just a graph" is that ARS comes with
terminology and theorems (confluence, termination, Newman's lemma) that we
study next.