We consider the TRS containing the following rules:
nats | → | :(0,inc(nats)) | (1) |
inc(:(x,y)) | → | :(s(x),inc(y)) | (2) |
inc(tl(nats)) | → | tl(inc(nats)) | (3) |
hd(:(x,y)) | → | x | (4) |
tl(:(x,y)) | → | y | (5) |
d(:(x,y)) | → | :(x,:(x,d(y))) | (6) |
The underlying signature is as follows:
{nats/0, :/2, 0/0, inc/1, s/1, tl/1, hd/1, d/1}To prove that the TRS is (non-)confluent, we show (non-)confluence of the following modified system:
nats | → | :(0,inc(nats)) | (1) |
inc(:(x,y)) | → | :(s(x),inc(y)) | (2) |
hd(:(x,y)) | → | x | (4) |
tl(:(x,y)) | → | y | (5) |
d(:(x,y)) | → | :(x,:(x,d(y))) | (6) |
All redundant rules that were added or removed can be simulated in 4 steps .
Confluence is proven using the following terminating critical-pair-closing-system R:
There are no rules.
There are no rules in the TRS. Hence, it is terminating.