Certification Problem
Input (COPS 953)
We consider the TRS containing the following rules:
a(a(x)) |
→ |
a(b(a(x))) |
(1) |
b(a(b(x))) |
→ |
a(c(a(x))) |
(2) |
The underlying signature is as follows:
{a/1, b/1, c/1}Property / Task
Prove or disprove confluence.Answer / Result
Yes.Proof (by csi @ CoCo 2021)
1 Redundant Rules Transformation
To prove that the TRS is (non-)confluent, we show (non-)confluence of the following
modified system:
b(a(b(x))) |
→ |
a(c(a(x))) |
(2) |
a(a(x)) |
→ |
a(b(a(x))) |
(1) |
All redundant rules that were added or removed can be
simulated in 2 steps
.
1.1 Decreasing Diagrams
1.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).
-
b(a(b(x))) |
→ |
a(c(a(x))) |
(2) |
↦ 2
-
↦ 0
The critical pairs can be joined as follows. Here,
↔ is always chosen as an appropriate rewrite relation which
is automatically inferred by the certifier.
-
The critical peak s = b(a(a(c(a(x23)))))←→ε a(c(a(a(b(x23))))) = t can be joined as follows.
s
↔ b(a(b(a(c(a(x23)))))) ↔ a(c(a(a(c(a(x23)))))) ↔ a(c(a(b(a(b(x23)))))) ↔
t
-
The critical peak s = a(a(b(a(x24))))←→ε a(b(a(a(x24)))) = t can be joined as follows.
s
↔ a(b(a(b(a(x24))))) ↔
t
/>