Certification Problem
Input (COPS 100)
We consider the TRS containing the following rules:
H(I(x)) |
→ |
K(J(x)) |
(1) |
J(x) |
→ |
K(J(x)) |
(2) |
I(x) |
→ |
I(J(x)) |
(3) |
J(x) |
→ |
J(K(J(x))) |
(4) |
The underlying signature is as follows:
{H/1, I/1, K/1, J/1}Property / Task
Prove or disprove confluence.Answer / Result
Yes.Proof (by csi @ CoCo 2023)
1 Redundant Rules Transformation
To prove that the TRS is (non-)confluent, we show (non-)confluence of the following
modified system:
J(x) |
→ |
J(K(J(x))) |
(4) |
I(x) |
→ |
I(J(x)) |
(3) |
J(x) |
→ |
K(J(x)) |
(2) |
H(I(x)) |
→ |
K(J(x)) |
(1) |
H(I(J(x))) |
→ |
K(J(K(J(x)))) |
(5) |
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).
-
↦ 2
-
↦ 2
-
↦ 0
-
↦ 0
-
H(I(J(x))) |
→ |
K(J(K(J(x)))) |
(5) |
↦ 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 = J(K(J(x)))←→ε K(J(x)) = t can be joined as follows.
s
↔ K(J(K(J(x)))) ↔
t
-
The critical peak s = H(I(J(K(J(x)))))←→ε K(J(K(J(x)))) = t can be joined as follows.
s
↔ K(J(K(J(K(J(x)))))) ↔
t
-
The critical peak s = H(I(J(x)))←→ε K(J(x)) = t can be joined as follows.
s
↔ K(J(K(J(x)))) ↔
t
-
The critical peak s = H(I(J(J(x))))←→ε K(J(K(J(x)))) = t can be joined as follows.
s
↔ H(I(J(K(J(x))))) ↔ K(J(K(J(K(J(x)))))) ↔
t
-
The critical peak s = H(I(J(J(x))))←→ε K(J(K(J(x)))) = t can be joined as follows.
s
↔ K(J(K(J(J(x))))) ↔ K(J(K(J(K(J(x)))))) ↔
t
-
The critical peak s = K(J(x))←→ε J(K(J(x))) = t can be joined as follows.
s
↔ K(J(K(J(x)))) ↔
t
-
The critical peak s = H(I(K(J(x))))←→ε K(J(K(J(x)))) = t can be joined as follows.
s
↔
t
-
The critical peak s = K(J(J(x)))←→ε K(J(K(J(x)))) = t can be joined as follows.
s
↔
t
-
The critical peak s = K(J(K(J(x71))))←→ε K(J(J(x71))) = t can be joined as follows.
s
↔ K(J(K(J(x71)))) ↔
t
/>