Confluence and Termination
When two paths converge, or stop
When you rewrite things, you can take different paths. Confluence asks: do
those paths always come back together?
Formally, an ARS is confluent iff for all
:
This is the "diamond" drawn vertically: anything reachable in two ways from
can be brought together to a common .
Three closely related notions (weaker to stronger):
1. Diamond property (one-step): implies
. Strictly one-step reductions
can be joined in one step.
2. Weak confluence: implies
. One-step reductions join in
any number of steps.
3. Confluence: implies
. Multi-step reductions join in
any number of steps.
Confluence is stronger than weak confluence which is stronger than the diamond.
Termination is a separate property: an ARS is terminating iff there is
no infinite chain . Equivalently, every
reduction sequence eventually hits a normal form.
Why termination matters. Without termination, "the answer" might not exist.
With termination, every reduction sequence eventually reaches a normal form.
If also confluent, ALL sequences reach THE SAME normal form — the answer is
unique regardless of strategy.
- 0.0sConfluence: the diamond property
- 1.1sFour cyan nodes appear: t on top, a, b in middle, u below
- 2.1sAmber arrows t to a and t to b
- 3.1sGreen arrows a to u and b to u form the diamond
- 4.4sIf both a goes to u and b goes to u, the system is confluent
- 6.8sDiamond fades, counter-example appears
- 7.8sFive cyan nodes: x, a, b, c, d in a non-converging shape
- 9.2sAmber arrows x to a and x to b, red arrows a to c and b to d
- 10.2sNot every ARS is confluent