The rewrite relation of the following TRS is considered.
active(2nd(cons(X,cons(Y,Z)))) | → | mark(Y) | (1) |
active(from(X)) | → | mark(cons(X,from(s(X)))) | (2) |
active(2nd(X)) | → | 2nd(active(X)) | (3) |
active(cons(X1,X2)) | → | cons(active(X1),X2) | (4) |
active(from(X)) | → | from(active(X)) | (5) |
active(s(X)) | → | s(active(X)) | (6) |
2nd(mark(X)) | → | mark(2nd(X)) | (7) |
cons(mark(X1),X2) | → | mark(cons(X1,X2)) | (8) |
from(mark(X)) | → | mark(from(X)) | (9) |
s(mark(X)) | → | mark(s(X)) | (10) |
proper(2nd(X)) | → | 2nd(proper(X)) | (11) |
proper(cons(X1,X2)) | → | cons(proper(X1),proper(X2)) | (12) |
proper(from(X)) | → | from(proper(X)) | (13) |
proper(s(X)) | → | s(proper(X)) | (14) |
2nd(ok(X)) | → | ok(2nd(X)) | (15) |
cons(ok(X1),ok(X2)) | → | ok(cons(X1,X2)) | (16) |
from(ok(X)) | → | ok(from(X)) | (17) |
s(ok(X)) | → | ok(s(X)) | (18) |
top(mark(X)) | → | top(proper(X)) | (19) |
top(ok(X)) | → | top(active(X)) | (20) |
[from(x1)] | = |
|
||||||||||||||||||||||||||||||||||||
[top(x1)] | = |
|
||||||||||||||||||||||||||||||||||||
[2nd(x1)] | = |
|
||||||||||||||||||||||||||||||||||||
[mark(x1)] | = |
|
||||||||||||||||||||||||||||||||||||
[s(x1)] | = |
|
||||||||||||||||||||||||||||||||||||
[cons(x1, x2)] | = |
|
||||||||||||||||||||||||||||||||||||
[ok(x1)] | = |
|
||||||||||||||||||||||||||||||||||||
[proper(x1)] | = |
|
||||||||||||||||||||||||||||||||||||
[active(x1)] | = |
|
cons(ok(X1),ok(X2)) | → | ok(cons(X1,X2)) | (16) |
top(ok(X)) | → | top(active(X)) | (20) |
[from(x1)] | = |
|
||||||||||||||||||||||||||||||||||||
[top(x1)] | = |
|
||||||||||||||||||||||||||||||||||||
[2nd(x1)] | = |
|
||||||||||||||||||||||||||||||||||||
[mark(x1)] | = |
|
||||||||||||||||||||||||||||||||||||
[s(x1)] | = |
|
||||||||||||||||||||||||||||||||||||
[cons(x1, x2)] | = |
|
||||||||||||||||||||||||||||||||||||
[ok(x1)] | = |
|
||||||||||||||||||||||||||||||||||||
[proper(x1)] | = |
|
||||||||||||||||||||||||||||||||||||
[active(x1)] | = |
|
active(2nd(cons(X,cons(Y,Z)))) | → | mark(Y) | (1) |
active(from(X)) | → | mark(cons(X,from(s(X)))) | (2) |
prec(top) | = | 1 | weight(top) | = | 2 | ||||
prec(ok) | = | 2 | weight(ok) | = | 2 | ||||
prec(proper) | = | 15 | weight(proper) | = | 0 | ||||
prec(s) | = | 3 | weight(s) | = | 2 | ||||
prec(from) | = | 4 | weight(from) | = | 2 | ||||
prec(mark) | = | 0 | weight(mark) | = | 2 | ||||
prec(active) | = | 13 | weight(active) | = | 2 | ||||
prec(2nd) | = | 8 | weight(2nd) | = | 4 | ||||
prec(cons) | = | 12 | weight(cons) | = | 0 |
active(2nd(X)) | → | 2nd(active(X)) | (3) |
active(cons(X1,X2)) | → | cons(active(X1),X2) | (4) |
active(from(X)) | → | from(active(X)) | (5) |
active(s(X)) | → | s(active(X)) | (6) |
2nd(mark(X)) | → | mark(2nd(X)) | (7) |
cons(mark(X1),X2) | → | mark(cons(X1,X2)) | (8) |
from(mark(X)) | → | mark(from(X)) | (9) |
s(mark(X)) | → | mark(s(X)) | (10) |
proper(2nd(X)) | → | 2nd(proper(X)) | (11) |
proper(cons(X1,X2)) | → | cons(proper(X1),proper(X2)) | (12) |
proper(from(X)) | → | from(proper(X)) | (13) |
proper(s(X)) | → | s(proper(X)) | (14) |
2nd(ok(X)) | → | ok(2nd(X)) | (15) |
from(ok(X)) | → | ok(from(X)) | (17) |
s(ok(X)) | → | ok(s(X)) | (18) |
top(mark(X)) | → | top(proper(X)) | (19) |
There are no rules in the TRS. Hence, it is terminating.