We consider the TRS containing the following rules:
f(a) | → | f(g(b,b)) | (1) |
a | → | g(c,c) | (2) |
c | → | d | (3) |
d | → | b | (4) |
b | → | d | (5) |
The underlying signature is as follows:
{f/1, a/0, g/2, b/0, c/0, d/0}To prove that the TRS is (non-)confluent, we show (non-)confluence of the following modified system:
b | → | d | (5) |
d | → | b | (4) |
c | → | d | (3) |
a | → | g(c,c) | (2) |
f(a) | → | f(g(b,b)) | (1) |
f(g(c,c)) | → | f(g(d,d)) | (6) |
f(g(b,b)) | → | f(g(d,d)) | (7) |
All redundant rules that were added or removed can be simulated in 2 steps .
Confluence is proven using the following terminating critical-pair-closing-system R:
b | → | d | (5) |
c | → | d | (3) |
f(g(c,c)) | → | f(g(d,d)) | (6) |
f(g(b,b)) | → | f(g(d,d)) | (7) |
[d] | = | 2 |
[c] | = | 4 |
[g(x1, x2)] | = | 2 · x1 + 4 · x2 + 1 |
[b] | = | 4 |
[f(x1)] | = | 1 · x1 + 2 |
b | → | d | (5) |
c | → | d | (3) |
f(g(c,c)) | → | f(g(d,d)) | (6) |
f(g(b,b)) | → | f(g(d,d)) | (7) |
There are no rules in the TRS. Hence, it is terminating.