The rewrite relation of the following TRS is considered.
g(A) | → | A | (1) |
g(B) | → | A | (2) |
g(B) | → | B | (3) |
g(C) | → | A | (4) |
g(C) | → | B | (5) |
g(C) | → | C | (6) |
foldB(t,0) | → | t | (7) |
foldB(t,s(n)) | → | f(foldB(t,n),B) | (8) |
foldC(t,0) | → | t | (9) |
foldC(t,s(n)) | → | f(foldC(t,n),C) | (10) |
f(t,x) | → | f'(t,g(x)) | (11) |
f'(triple(a,b,c),C) | → | triple(a,b,s(c)) | (12) |
f'(triple(a,b,c),B) | → | f(triple(a,b,c),A) | (13) |
f'(triple(a,b,c),A) | → | f''(foldB(triple(s(a),0,c),b)) | (14) |
f''(triple(a,b,c)) | → | foldC(triple(a,b,0),c) | (15) |
[0] | = |
|
||||||||||||||||||||||||||||||||||||||||||||||||
[foldC(x1, x2)] | = |
|
||||||||||||||||||||||||||||||||||||||||||||||||
[g(x1)] | = |
|
||||||||||||||||||||||||||||||||||||||||||||||||
[C] | = |
|
||||||||||||||||||||||||||||||||||||||||||||||||
[foldB(x1, x2)] | = |
|
||||||||||||||||||||||||||||||||||||||||||||||||
[triple(x1, x2, x3)] | = |
|
||||||||||||||||||||||||||||||||||||||||||||||||
[A] | = |
|
||||||||||||||||||||||||||||||||||||||||||||||||
[f(x1, x2)] | = |
|
||||||||||||||||||||||||||||||||||||||||||||||||
[f''(x1)] | = |
|
||||||||||||||||||||||||||||||||||||||||||||||||
[f'(x1, x2)] | = |
|
||||||||||||||||||||||||||||||||||||||||||||||||
[s(x1)] | = |
|
||||||||||||||||||||||||||||||||||||||||||||||||
[B] | = |
|
foldB(t,s(n)) | → | f(foldB(t,n),B) | (8) |
[0] | = |
|
||||||||||||||||||||||||||||||||||||||||||||||||
[foldC(x1, x2)] | = |
|
||||||||||||||||||||||||||||||||||||||||||||||||
[g(x1)] | = |
|
||||||||||||||||||||||||||||||||||||||||||||||||
[C] | = |
|
||||||||||||||||||||||||||||||||||||||||||||||||
[foldB(x1, x2)] | = |
|
||||||||||||||||||||||||||||||||||||||||||||||||
[triple(x1, x2, x3)] | = |
|
||||||||||||||||||||||||||||||||||||||||||||||||
[A] | = |
|
||||||||||||||||||||||||||||||||||||||||||||||||
[f(x1, x2)] | = |
|
||||||||||||||||||||||||||||||||||||||||||||||||
[f''(x1)] | = |
|
||||||||||||||||||||||||||||||||||||||||||||||||
[f'(x1, x2)] | = |
|
||||||||||||||||||||||||||||||||||||||||||||||||
[s(x1)] | = |
|
||||||||||||||||||||||||||||||||||||||||||||||||
[B] | = |
|
g(C) | → | A | (4) |
g(C) | → | B | (5) |
prec(f'') | = | 7 | weight(f'') | = | 1 | ||||
prec(triple) | = | 1 | weight(triple) | = | 0 | ||||
prec(f') | = | 4 | weight(f') | = | 0 | ||||
prec(foldC) | = | 6 | weight(foldC) | = | 0 | ||||
prec(f) | = | 5 | weight(f) | = | 0 | ||||
prec(s) | = | 2 | weight(s) | = | 1 | ||||
prec(foldB) | = | 0 | weight(foldB) | = | 2 | ||||
prec(0) | = | 10 | weight(0) | = | 1 | ||||
prec(C) | = | 9 | weight(C) | = | 1 | ||||
prec(B) | = | 8 | weight(B) | = | 7 | ||||
prec(g) | = | 15 | weight(g) | = | 0 | ||||
prec(A) | = | 12 | weight(A) | = | 6 |
g(A) | → | A | (1) |
g(B) | → | A | (2) |
g(B) | → | B | (3) |
g(C) | → | C | (6) |
foldB(t,0) | → | t | (7) |
foldC(t,0) | → | t | (9) |
foldC(t,s(n)) | → | f(foldC(t,n),C) | (10) |
f(t,x) | → | f'(t,g(x)) | (11) |
f'(triple(a,b,c),C) | → | triple(a,b,s(c)) | (12) |
f'(triple(a,b,c),B) | → | f(triple(a,b,c),A) | (13) |
f'(triple(a,b,c),A) | → | f''(foldB(triple(s(a),0,c),b)) | (14) |
f''(triple(a,b,c)) | → | foldC(triple(a,b,0),c) | (15) |
There are no rules in the TRS. Hence, it is terminating.