YES
Confluence Proof
Confluence Proof
by Hakusan
Input
The rewrite relation of the following TRS is considered.
nats |
→ |
:(0,inc(nats)) |
inc(:(x,y)) |
→ |
:(s(x),inc(y)) |
inc(tl(nats)) |
→ |
tl(inc(nats)) |
hd(:(x,y)) |
→ |
x |
tl(:(x,y)) |
→ |
y |
d(:(x,y)) |
→ |
:(x,:(x,d(y))) |
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 = inc(tl(:(0,inc(nats)))) {1.1}←inc(tl(nats))→ε tl(inc(nats)) = t can be joined as follows.
s
↔ inc(inc(nats)) ↔ tl(:(s(0),inc(inc(nats)))) ↔ tl(inc(:(0,inc(nats)))) ↔
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.
inc(tl(nats)) |
→ |
inc(tl(:(0,inc(nats)))) |
inc(tl(nats)) |
→ |
tl(inc(nats)) |
Relative termination of P / R is proven as follows.
1.1 Rule Removal
Using the
linear polynomial interpretation over (2 x 2)-matrices with strict dimension 1
over the naturals
[:(x1, x2)] |
= |
· x1 + · x2 +
|
[tl(x1)] |
= |
· x1 +
|
[0] |
= |
|
[s(x1)] |
= |
· x1 +
|
[nats] |
= |
|
[d(x1)] |
= |
· x1 +
|
[hd(x1)] |
= |
· x1 +
|
[inc(x1)] |
= |
· x1 +
|
all rules of R could be removed.
Moreover,
the
rules
nats |
→ |
:(0,inc(nats)) |
inc(:(x,y)) |
→ |
:(s(x),inc(y)) |
d(:(x,y)) |
→ |
:(x,:(x,d(y))) |
remain in S.
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