The rewrite relation of the following TRS is considered.
t(N) | → | cs(r(q(N)),nt(ns(N))) | (1) |
q(0) | → | 0 | (2) |
q(s(X)) | → | s(p(q(X),d(X))) | (3) |
d(0) | → | 0 | (4) |
d(s(X)) | → | s(s(d(X))) | (5) |
p(0,X) | → | X | (6) |
p(X,0) | → | X | (7) |
p(s(X),s(Y)) | → | s(s(p(X,Y))) | (8) |
f(0,X) | → | nil | (9) |
f(s(X),cs(Y,Z)) | → | cs(Y,nf(X,a(Z))) | (10) |
t(X) | → | nt(X) | (11) |
s(X) | → | ns(X) | (12) |
f(X1,X2) | → | nf(X1,X2) | (13) |
a(nt(X)) | → | t(a(X)) | (14) |
a(ns(X)) | → | s(a(X)) | (15) |
a(nf(X1,X2)) | → | f(a(X1),a(X2)) | (16) |
a(X) | → | X | (17) |
prec(nf) | = | 0 | status(nf) | = | [2, 1] | list-extension(nf) | = | Lex | ||
prec(a) | = | 12 | status(a) | = | [1] | list-extension(a) | = | Lex | ||
prec(nil) | = | 0 | status(nil) | = | [] | list-extension(nil) | = | Lex | ||
prec(f) | = | 1 | status(f) | = | [2, 1] | list-extension(f) | = | Lex | ||
prec(p) | = | 4 | status(p) | = | [1, 2] | list-extension(p) | = | Lex | ||
prec(d) | = | 4 | status(d) | = | [1] | list-extension(d) | = | Lex | ||
prec(s) | = | 1 | status(s) | = | [1] | list-extension(s) | = | Lex | ||
prec(0) | = | 0 | status(0) | = | [] | list-extension(0) | = | Lex | ||
prec(cs) | = | 0 | status(cs) | = | [2, 1] | list-extension(cs) | = | Lex | ||
prec(nt) | = | 0 | status(nt) | = | [1] | list-extension(nt) | = | Lex | ||
prec(ns) | = | 0 | status(ns) | = | [1] | list-extension(ns) | = | Lex | ||
prec(r) | = | 0 | status(r) | = | [1] | list-extension(r) | = | Lex | ||
prec(q) | = | 8 | status(q) | = | [1] | list-extension(q) | = | Lex | ||
prec(t) | = | 11 | status(t) | = | [1] | list-extension(t) | = | Lex |
[nf(x1, x2)] | = | max(0, 0 + 1 · x1, 1 + 1 · x2) |
[a(x1)] | = | max(0, 0 + 1 · x1) |
[nil] | = | max(1) |
[f(x1, x2)] | = | max(0, 0 + 1 · x1, 1 + 1 · x2) |
[p(x1, x2)] | = | max(0, 0 + 1 · x1, 0 + 1 · x2) |
[d(x1)] | = | max(0, 0 + 1 · x1) |
[s(x1)] | = | max(0, 0 + 1 · x1) |
[0] | = | max(0) |
[cs(x1, x2)] | = | max(0, 0 + 1 · x1, 0 + 1 · x2) |
[nt(x1)] | = | 0 + 1 · x1 |
[ns(x1)] | = | max(0, 0 + 1 · x1) |
[r(x1)] | = | 0 + 1 · x1 |
[q(x1)] | = | max(0, 0 + 1 · x1) |
[t(x1)] | = | max(0, 0 + 1 · x1) |
t(N) | → | cs(r(q(N)),nt(ns(N))) | (1) |
q(0) | → | 0 | (2) |
q(s(X)) | → | s(p(q(X),d(X))) | (3) |
d(0) | → | 0 | (4) |
d(s(X)) | → | s(s(d(X))) | (5) |
p(0,X) | → | X | (6) |
p(X,0) | → | X | (7) |
p(s(X),s(Y)) | → | s(s(p(X,Y))) | (8) |
f(0,X) | → | nil | (9) |
f(s(X),cs(Y,Z)) | → | cs(Y,nf(X,a(Z))) | (10) |
t(X) | → | nt(X) | (11) |
s(X) | → | ns(X) | (12) |
f(X1,X2) | → | nf(X1,X2) | (13) |
a(nt(X)) | → | t(a(X)) | (14) |
a(ns(X)) | → | s(a(X)) | (15) |
a(nf(X1,X2)) | → | f(a(X1),a(X2)) | (16) |
a(X) | → | X | (17) |
There are no rules in the TRS. Hence, it is terminating.