YES
Confluence Proof
Confluence Proof
by csi
Input
The rewrite relation of the following TRS is considered.
nats |
→ |
:(0,inc(nats)) |
inc(:(x,y)) |
→ |
:(s(x),inc(y)) |
hd(:(x,y)) |
→ |
x |
tl(:(x,y)) |
→ |
y |
inc(tl(nats)) |
→ |
tl(inc(nats)) |
Proof
1 Decreasing Diagrams
1.1 Relative Termination Proof
The duplicating rules (R) terminate relative to the other rules (S).
1.1.1 R is empty
There are no rules in the TRS R. Hence, R/S is relative terminating.
1.2 Rule Labeling
Confluence is proven, because all critical peaks can be joined decreasingly
using the following rule labeling function (rules that are not shown have label 0).
-
nats→:(0,inc(nats)) ↦ 0
-
inc(:(x,y))→:(s(x),inc(y)) ↦ 0
-
hd(:(x,y))→x ↦ 0
-
tl(:(x,y))→y ↦ 0
-
inc(tl(nats))→tl(inc(nats)) ↦ 1
All critical pairs are joinable:
-
inc(tl(:(0,inc(nats))))→inc(inc(nats))←tl(:(s(0),inc(inc(nats))))←tl(inc(:(0,inc(nats))))←tl(inc(nats))
Tool configuration
csi
- version: csi 1.2.5 [hg: unknown]
- strategy:
(if left-linear then (cr -dup;(( lpo -quasi || (matrix -dim 1 -ib 3 -ob 4 | matrix -dim 2 -ib 2 -ob 2 | matrix -dim 3 -ib 1 -ob 2 | arctic -dim 2 -ib 2 -ob 2) || (if duplicating then fail else (bounds -rt || bounds -rt -qc))[1] || poly -ib 2 -ob 4 -nl2 -heuristic 1 || fail )[5]*);shift -lstar);(rule_labeling | rule_labeling -left)?;decreasing else fail)!