YES
Confluence Proof
Confluence Proof
by csi
Input
The rewrite relation of the following TRS is considered.
foo(0(x)) |
→ |
0(s(p(p(p(s(s(s(p(s(x)))))))))) |
foo(s(x)) |
→ |
p(s(p(p(p(s(s(p(s(s(p(s(foo(p(p(s(s(p(s(bar(p(p(s(s(p(s(x)))))))))))))))))))))))))) |
bar(0(x)) |
→ |
0(p(s(s(s(x))))) |
bar(s(x)) |
→ |
p(s(p(p(s(s(foo(s(p(p(s(s(x)))))))))))) |
p(p(s(x))) |
→ |
p(x) |
p(s(x)) |
→ |
x |
p(0(x)) |
→ |
0(s(s(s(s(x))))) |
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).
-
foo(0(x))→0(s(p(p(p(s(s(s(p(s(x)))))))))) ↦ 0
-
foo(s(x))→p(s(p(p(p(s(s(p(s(s(p(s(foo(p(p(s(s(p(s(bar(p(p(s(s(p(s(x)))))))))))))))))))))))))) ↦ 0
-
bar(0(x))→0(p(s(s(s(x))))) ↦ 0
-
bar(s(x))→p(s(p(p(s(s(foo(s(p(p(s(s(x)))))))))))) ↦ 0
-
p(p(s(x)))→p(x) ↦ 0
-
p(s(x))→x ↦ 0
-
p(0(x))→0(s(s(s(s(x))))) ↦ 0
There are no non-trivial critical pairs.
Tool configuration
csi
- version: csi 1.2.5 [hg: unknown]
- strategy:
(if 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)!