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