Certification Problem
Input (TPDB TRS_Standard/Transformed_CSR_04/Ex25_Luc06_C)
The rewrite relation of the following TRS is considered.
active(f(f(X))) |
→ |
mark(c(f(g(f(X))))) |
(1) |
active(c(X)) |
→ |
mark(d(X)) |
(2) |
active(h(X)) |
→ |
mark(c(d(X))) |
(3) |
active(f(X)) |
→ |
f(active(X)) |
(4) |
active(h(X)) |
→ |
h(active(X)) |
(5) |
f(mark(X)) |
→ |
mark(f(X)) |
(6) |
h(mark(X)) |
→ |
mark(h(X)) |
(7) |
proper(f(X)) |
→ |
f(proper(X)) |
(8) |
proper(c(X)) |
→ |
c(proper(X)) |
(9) |
proper(g(X)) |
→ |
g(proper(X)) |
(10) |
proper(d(X)) |
→ |
d(proper(X)) |
(11) |
proper(h(X)) |
→ |
h(proper(X)) |
(12) |
f(ok(X)) |
→ |
ok(f(X)) |
(13) |
c(ok(X)) |
→ |
ok(c(X)) |
(14) |
g(ok(X)) |
→ |
ok(g(X)) |
(15) |
d(ok(X)) |
→ |
ok(d(X)) |
(16) |
h(ok(X)) |
→ |
ok(h(X)) |
(17) |
top(mark(X)) |
→ |
top(proper(X)) |
(18) |
top(ok(X)) |
→ |
top(active(X)) |
(19) |
Property / Task
Prove or disprove termination.Answer / Result
Yes.Proof (by ttt2 @ termCOMP 2023)
1 Rule Removal
Using the
Knuth Bendix order with w0 = 1 and the following precedence and weight functions
prec(top) |
= |
5 |
|
weight(top) |
= |
1 |
|
|
|
prec(ok) |
= |
1 |
|
weight(ok) |
= |
6 |
|
|
|
prec(proper) |
= |
15 |
|
weight(proper) |
= |
0 |
|
|
|
prec(h) |
= |
2 |
|
weight(h) |
= |
2 |
|
|
|
prec(d) |
= |
8 |
|
weight(d) |
= |
4 |
|
|
|
prec(mark) |
= |
0 |
|
weight(mark) |
= |
2 |
|
|
|
prec(c) |
= |
12 |
|
weight(c) |
= |
1 |
|
|
|
prec(g) |
= |
4 |
|
weight(g) |
= |
2 |
|
|
|
prec(active) |
= |
11 |
|
weight(active) |
= |
5 |
|
|
|
prec(f) |
= |
10 |
|
weight(f) |
= |
2 |
|
|
|
all of the following rules can be deleted.
active(f(f(X))) |
→ |
mark(c(f(g(f(X))))) |
(1) |
active(c(X)) |
→ |
mark(d(X)) |
(2) |
active(h(X)) |
→ |
mark(c(d(X))) |
(3) |
active(f(X)) |
→ |
f(active(X)) |
(4) |
active(h(X)) |
→ |
h(active(X)) |
(5) |
f(mark(X)) |
→ |
mark(f(X)) |
(6) |
h(mark(X)) |
→ |
mark(h(X)) |
(7) |
proper(f(X)) |
→ |
f(proper(X)) |
(8) |
proper(c(X)) |
→ |
c(proper(X)) |
(9) |
proper(g(X)) |
→ |
g(proper(X)) |
(10) |
proper(d(X)) |
→ |
d(proper(X)) |
(11) |
proper(h(X)) |
→ |
h(proper(X)) |
(12) |
f(ok(X)) |
→ |
ok(f(X)) |
(13) |
c(ok(X)) |
→ |
ok(c(X)) |
(14) |
g(ok(X)) |
→ |
ok(g(X)) |
(15) |
d(ok(X)) |
→ |
ok(d(X)) |
(16) |
h(ok(X)) |
→ |
ok(h(X)) |
(17) |
top(mark(X)) |
→ |
top(proper(X)) |
(18) |
top(ok(X)) |
→ |
top(active(X)) |
(19) |
1.1 R is empty
There are no rules in the TRS. Hence, it is terminating.