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) |
| foldf(x,nil) | → | x | (7) |
| foldf(x,cons(y,z)) | → | f(foldf(x,z),y) | (8) |
| f(t,x) | → | f'(t,g(x)) | (9) |
| f'(triple(a,b,c),C) | → | triple(a,b,cons(C,c)) | (10) |
| f'(triple(a,b,c),B) | → | f(triple(a,b,c),A) | (11) |
| f'(triple(a,b,c),A) | → | f''(foldf(triple(cons(A,a),nil,c),b)) | (12) |
| f''(triple(a,b,c)) | → | foldf(triple(a,b,nil),c) | (13) |
| [nil] | = |
|
||||||||||||||||||||||||||||||||||||||||||||||||
| [f'(x1, x2)] | = |
|
||||||||||||||||||||||||||||||||||||||||||||||||
| [g(x1)] | = |
|
||||||||||||||||||||||||||||||||||||||||||||||||
| [C] | = |
|
||||||||||||||||||||||||||||||||||||||||||||||||
| [foldf(x1, x2)] | = |
|
||||||||||||||||||||||||||||||||||||||||||||||||
| [f''(x1)] | = |
|
||||||||||||||||||||||||||||||||||||||||||||||||
| [A] | = |
|
||||||||||||||||||||||||||||||||||||||||||||||||
| [f(x1, x2)] | = |
|
||||||||||||||||||||||||||||||||||||||||||||||||
| [triple(x1, x2, x3)] | = |
|
||||||||||||||||||||||||||||||||||||||||||||||||
| [cons(x1, x2)] | = |
|
||||||||||||||||||||||||||||||||||||||||||||||||
| [B] | = |
|
| f'(triple(a,b,c),B) | → | f(triple(a,b,c),A) | (11) |
| [nil] | = |
|
||||||||||||||||||||||||||||||||||||||||||||||||
| [f'(x1, x2)] | = |
|
||||||||||||||||||||||||||||||||||||||||||||||||
| [g(x1)] | = |
|
||||||||||||||||||||||||||||||||||||||||||||||||
| [C] | = |
|
||||||||||||||||||||||||||||||||||||||||||||||||
| [foldf(x1, x2)] | = |
|
||||||||||||||||||||||||||||||||||||||||||||||||
| [f''(x1)] | = |
|
||||||||||||||||||||||||||||||||||||||||||||||||
| [A] | = |
|
||||||||||||||||||||||||||||||||||||||||||||||||
| [f(x1, x2)] | = |
|
||||||||||||||||||||||||||||||||||||||||||||||||
| [triple(x1, x2, x3)] | = |
|
||||||||||||||||||||||||||||||||||||||||||||||||
| [cons(x1, x2)] | = |
|
||||||||||||||||||||||||||||||||||||||||||||||||
| [B] | = |
|
| g(A) | → | A | (1) |
| [nil] | = |
|
||||||||||||||||||||||||||||||||||||||||||||||||
| [f'(x1, x2)] | = |
|
||||||||||||||||||||||||||||||||||||||||||||||||
| [g(x1)] | = |
|
||||||||||||||||||||||||||||||||||||||||||||||||
| [C] | = |
|
||||||||||||||||||||||||||||||||||||||||||||||||
| [foldf(x1, x2)] | = |
|
||||||||||||||||||||||||||||||||||||||||||||||||
| [f''(x1)] | = |
|
||||||||||||||||||||||||||||||||||||||||||||||||
| [A] | = |
|
||||||||||||||||||||||||||||||||||||||||||||||||
| [f(x1, x2)] | = |
|
||||||||||||||||||||||||||||||||||||||||||||||||
| [triple(x1, x2, x3)] | = |
|
||||||||||||||||||||||||||||||||||||||||||||||||
| [cons(x1, x2)] | = |
|
||||||||||||||||||||||||||||||||||||||||||||||||
| [B] | = |
|
| foldf(x,nil) | → | x | (7) |
| [nil] | = |
|
||||||||||||||||||||||||||||||||||||||||||||||||
| [f'(x1, x2)] | = |
|
||||||||||||||||||||||||||||||||||||||||||||||||
| [g(x1)] | = |
|
||||||||||||||||||||||||||||||||||||||||||||||||
| [C] | = |
|
||||||||||||||||||||||||||||||||||||||||||||||||
| [foldf(x1, x2)] | = |
|
||||||||||||||||||||||||||||||||||||||||||||||||
| [f''(x1)] | = |
|
||||||||||||||||||||||||||||||||||||||||||||||||
| [A] | = |
|
||||||||||||||||||||||||||||||||||||||||||||||||
| [f(x1, x2)] | = |
|
||||||||||||||||||||||||||||||||||||||||||||||||
| [triple(x1, x2, x3)] | = |
|
||||||||||||||||||||||||||||||||||||||||||||||||
| [cons(x1, x2)] | = |
|
||||||||||||||||||||||||||||||||||||||||||||||||
| [B] | = |
|
| foldf(x,cons(y,z)) | → | f(foldf(x,z),y) | (8) |
| f'(triple(a,b,c),C) | → | triple(a,b,cons(C,c)) | (10) |
| prec(f'') | = | 3 | weight(f'') | = | 2 | ||||
| prec(triple) | = | 4 | weight(triple) | = | 0 | ||||
| prec(f') | = | 5 | weight(f') | = | 4 | ||||
| prec(f) | = | 6 | weight(f) | = | 4 | ||||
| prec(cons) | = | 1 | weight(cons) | = | 0 | ||||
| prec(foldf) | = | 0 | weight(foldf) | = | 0 | ||||
| prec(nil) | = | 9 | weight(nil) | = | 2 | ||||
| prec(C) | = | 7 | weight(C) | = | 4 | ||||
| prec(B) | = | 2 | weight(B) | = | 4 | ||||
| prec(g) | = | 11 | weight(g) | = | 0 | ||||
| prec(A) | = | 8 | weight(A) | = | 4 |
| g(B) | → | A | (2) |
| g(B) | → | B | (3) |
| g(C) | → | A | (4) |
| g(C) | → | B | (5) |
| g(C) | → | C | (6) |
| f(t,x) | → | f'(t,g(x)) | (9) |
| f'(triple(a,b,c),A) | → | f''(foldf(triple(cons(A,a),nil,c),b)) | (12) |
| f''(triple(a,b,c)) | → | foldf(triple(a,b,nil),c) | (13) |
There are no rules in the TRS. Hence, it is terminating.