YES
Confluence Proof
Confluence Proof
by Hakusan
Input
The rewrite relation of the following TRS is considered.
a1 |
→ |
b1 |
a1 |
→ |
c1 |
b1 |
→ |
b2 |
c1 |
→ |
c2 |
a2 |
→ |
b2 |
a2 |
→ |
c2 |
b2 |
→ |
b3 |
c2 |
→ |
c3 |
a3 |
→ |
b3 |
a3 |
→ |
c3 |
b3 |
→ |
b4 |
c3 |
→ |
c4 |
a4 |
→ |
b4 |
a4 |
→ |
c4 |
b4 |
→ |
b5 |
c4 |
→ |
c5 |
a5 |
→ |
b6 |
b5 |
→ |
b6 |
c5 |
→ |
b6 |
Proof
1 Compositional Parallel Critical Pair Systems
All parallel critical pairs of the TRS R are joinable by R.
This can be seen as follows:
The parallel 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 = c1 {ε}←a1→ε b1 = t can be joined as follows.
s
↔ c2 ↔ c3 ↔ c4 ↔ c5 ↔ b6 ↔ b5 ↔ b4 ↔ b3 ↔ b2 ↔
t
-
The critical peak s = b1 {ε}←a1→ε c1 = t can be joined as follows.
s
↔ b2 ↔ b3 ↔ b4 ↔ b5 ↔ b6 ↔ c5 ↔ c4 ↔ c3 ↔ c2 ↔
t
-
The critical peak s = c2 {ε}←a2→ε b2 = t can be joined as follows.
s
↔ c3 ↔ c4 ↔ c5 ↔ b6 ↔ b5 ↔ b4 ↔ b3 ↔
t
-
The critical peak s = b2 {ε}←a2→ε c2 = t can be joined as follows.
s
↔ b3 ↔ b4 ↔ b5 ↔ b6 ↔ c5 ↔ c4 ↔ c3 ↔
t
-
The critical peak s = c3 {ε}←a3→ε b3 = t can be joined as follows.
s
↔ c4 ↔ c5 ↔ b6 ↔ b5 ↔ b4 ↔
t
-
The critical peak s = b3 {ε}←a3→ε c3 = t can be joined as follows.
s
↔ b4 ↔ b5 ↔ b6 ↔ c5 ↔ c4 ↔
t
-
The critical peak s = c4 {ε}←a4→ε b4 = t can be joined as follows.
s
↔ c5 ↔ b6 ↔ b5 ↔
t
-
The critical peak s = b4 {ε}←a4→ε c4 = t can be joined as follows.
s
↔ b5 ↔ b6 ↔ c5 ↔
t
The TRS C is chosen as:
There are no rules.
Consequently, PCPS(R,C) is included in the following TRS P where
steps are used to show that certain pairs are C-convertible.
a1 |
→ |
c1 |
a1 |
→ |
b1 |
a2 |
→ |
c2 |
a2 |
→ |
b2 |
a3 |
→ |
c3 |
a3 |
→ |
b3 |
a4 |
→ |
c4 |
a4 |
→ |
b4 |
Relative termination of P / R is proven as follows.
1.1 Rule Removal
Using the
recursive path order with the following precedence and status
prec(b6) |
= |
0 |
|
stat(b6) |
= |
lex
|
prec(a5) |
= |
1 |
|
stat(a5) |
= |
lex
|
prec(c5) |
= |
2 |
|
stat(c5) |
= |
lex
|
prec(b5) |
= |
0 |
|
stat(b5) |
= |
lex
|
prec(b4) |
= |
0 |
|
stat(b4) |
= |
lex
|
prec(c4) |
= |
3 |
|
stat(c4) |
= |
lex
|
prec(a4) |
= |
3 |
|
stat(a4) |
= |
lex
|
prec(b3) |
= |
3 |
|
stat(b3) |
= |
lex
|
prec(c3) |
= |
3 |
|
stat(c3) |
= |
lex
|
prec(a3) |
= |
3 |
|
stat(a3) |
= |
lex
|
prec(b2) |
= |
8 |
|
stat(b2) |
= |
lex
|
prec(c2) |
= |
8 |
|
stat(c2) |
= |
lex
|
prec(a2) |
= |
8 |
|
stat(a2) |
= |
lex
|
prec(b1) |
= |
8 |
|
stat(b1) |
= |
lex
|
prec(c1) |
= |
8 |
|
stat(c1) |
= |
lex
|
prec(a1) |
= |
8 |
|
stat(a1) |
= |
lex
|
the
rules
a1 |
→ |
c1 |
a1 |
→ |
b1 |
a2 |
→ |
c2 |
a2 |
→ |
b2 |
a3 |
→ |
c3 |
a3 |
→ |
b3 |
a4 |
→ |
c4 |
remain in R.
Moreover,
the
rules
a1 |
→ |
b1 |
a1 |
→ |
c1 |
b1 |
→ |
b2 |
c1 |
→ |
c2 |
a2 |
→ |
b2 |
a2 |
→ |
c2 |
a3 |
→ |
b3 |
a3 |
→ |
c3 |
c3 |
→ |
c4 |
a4 |
→ |
c4 |
b4 |
→ |
b5 |
b5 |
→ |
b6 |
remain in S.
1.1.1 Rule Removal
Using the
recursive path order with the following precedence and status
prec(b6) |
= |
0 |
|
stat(b6) |
= |
lex
|
prec(b5) |
= |
8 |
|
stat(b5) |
= |
lex
|
prec(b4) |
= |
8 |
|
stat(b4) |
= |
lex
|
prec(c4) |
= |
0 |
|
stat(c4) |
= |
lex
|
prec(a4) |
= |
1 |
|
stat(a4) |
= |
lex
|
prec(b3) |
= |
0 |
|
stat(b3) |
= |
lex
|
prec(c3) |
= |
0 |
|
stat(c3) |
= |
lex
|
prec(a3) |
= |
0 |
|
stat(a3) |
= |
lex
|
prec(b2) |
= |
0 |
|
stat(b2) |
= |
lex
|
prec(c2) |
= |
0 |
|
stat(c2) |
= |
lex
|
prec(a2) |
= |
0 |
|
stat(a2) |
= |
lex
|
prec(b1) |
= |
0 |
|
stat(b1) |
= |
lex
|
prec(c1) |
= |
0 |
|
stat(c1) |
= |
lex
|
prec(a1) |
= |
0 |
|
stat(a1) |
= |
lex
|
the
rules
a1 |
→ |
c1 |
a1 |
→ |
b1 |
a2 |
→ |
c2 |
a2 |
→ |
b2 |
a3 |
→ |
c3 |
a3 |
→ |
b3 |
remain in R.
Moreover,
the
rules
a1 |
→ |
b1 |
a1 |
→ |
c1 |
b1 |
→ |
b2 |
c1 |
→ |
c2 |
a2 |
→ |
b2 |
a2 |
→ |
c2 |
a3 |
→ |
b3 |
a3 |
→ |
c3 |
c3 |
→ |
c4 |
b4 |
→ |
b5 |
remain in S.
1.1.1.1 Rule Removal
Using the
recursive path order with the following precedence and status
prec(b5) |
= |
0 |
|
stat(b5) |
= |
lex
|
prec(b4) |
= |
1 |
|
stat(b4) |
= |
lex
|
prec(c4) |
= |
1 |
|
stat(c4) |
= |
lex
|
prec(b3) |
= |
0 |
|
stat(b3) |
= |
lex
|
prec(c3) |
= |
1 |
|
stat(c3) |
= |
lex
|
prec(a3) |
= |
1 |
|
stat(a3) |
= |
lex
|
prec(b2) |
= |
0 |
|
stat(b2) |
= |
lex
|
prec(c2) |
= |
0 |
|
stat(c2) |
= |
lex
|
prec(a2) |
= |
0 |
|
stat(a2) |
= |
lex
|
prec(b1) |
= |
0 |
|
stat(b1) |
= |
lex
|
prec(c1) |
= |
0 |
|
stat(c1) |
= |
lex
|
prec(a1) |
= |
0 |
|
stat(a1) |
= |
lex
|
the
rules
a1 |
→ |
c1 |
a1 |
→ |
b1 |
a2 |
→ |
c2 |
a2 |
→ |
b2 |
a3 |
→ |
c3 |
remain in R.
Moreover,
the
rules
a1 |
→ |
b1 |
a1 |
→ |
c1 |
b1 |
→ |
b2 |
c1 |
→ |
c2 |
a2 |
→ |
b2 |
a2 |
→ |
c2 |
a3 |
→ |
c3 |
c3 |
→ |
c4 |
remain in S.
1.1.1.1.1 Rule Removal
Using the
recursive path order with the following precedence and status
prec(c4) |
= |
0 |
|
stat(c4) |
= |
lex
|
prec(c3) |
= |
8 |
|
stat(c3) |
= |
lex
|
prec(a3) |
= |
9 |
|
stat(a3) |
= |
lex
|
prec(b2) |
= |
0 |
|
stat(b2) |
= |
lex
|
prec(c2) |
= |
0 |
|
stat(c2) |
= |
lex
|
prec(a2) |
= |
0 |
|
stat(a2) |
= |
lex
|
prec(b1) |
= |
0 |
|
stat(b1) |
= |
lex
|
prec(c1) |
= |
0 |
|
stat(c1) |
= |
lex
|
prec(a1) |
= |
0 |
|
stat(a1) |
= |
lex
|
the
rules
a1 |
→ |
c1 |
a1 |
→ |
b1 |
a2 |
→ |
c2 |
a2 |
→ |
b2 |
remain in R.
Moreover,
the
rules
a1 |
→ |
b1 |
a1 |
→ |
c1 |
b1 |
→ |
b2 |
c1 |
→ |
c2 |
a2 |
→ |
b2 |
a2 |
→ |
c2 |
remain in S.
1.1.1.1.1.1 Rule Removal
Using the
recursive path order with the following precedence and status
prec(b2) |
= |
0 |
|
stat(b2) |
= |
lex
|
prec(c2) |
= |
1 |
|
stat(c2) |
= |
lex
|
prec(a2) |
= |
1 |
|
stat(a2) |
= |
lex
|
prec(b1) |
= |
4 |
|
stat(b1) |
= |
lex
|
prec(c1) |
= |
4 |
|
stat(c1) |
= |
lex
|
prec(a1) |
= |
4 |
|
stat(a1) |
= |
lex
|
the
rules
remain in R.
Moreover,
the
rules
remain in S.
1.1.1.1.1.1.1 Rule Removal
Using the
recursive path order with the following precedence and status
prec(c2) |
= |
0 |
|
stat(c2) |
= |
lex
|
prec(a2) |
= |
1 |
|
stat(a2) |
= |
lex
|
prec(b1) |
= |
0 |
|
stat(b1) |
= |
lex
|
prec(c1) |
= |
0 |
|
stat(c1) |
= |
lex
|
prec(a1) |
= |
0 |
|
stat(a1) |
= |
lex
|
the
rules
remain in R.
Moreover,
the
rules
remain in S.
1.1.1.1.1.1.1.1 Rule Removal
Using the
recursive path order with the following precedence and status
prec(b1) |
= |
0 |
|
stat(b1) |
= |
lex
|
prec(c1) |
= |
1 |
|
stat(c1) |
= |
lex
|
prec(a1) |
= |
1 |
|
stat(a1) |
= |
lex
|
the
rule
remains in R.
Moreover,
the
rule
remains in S.
1.1.1.1.1.1.1.1.1 Rule Removal
Using the
recursive path order with the following precedence and status
prec(c1) |
= |
0 |
|
stat(c1) |
= |
lex
|
prec(a1) |
= |
1 |
|
stat(a1) |
= |
lex
|
all rules of R could be removed.
Moreover,
all rules of S could be removed.
1.1.1.1.1.1.1.1.1.1 R is empty
There are no rules in the TRS R. Hence, R/S is relative terminating.
Confluence of C is proven as follows.
1.2 (Weakly) Orthogonal
Confluence is proven since the TRS is (weakly) orthogonal.
Tool configuration
Hakusan