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) |
f#(t,x) | → | f'#(t,g(x)) | (14) |
f'#(triple(a,b,c),A) | → | foldf#(triple(cons(A,a),nil,c),b) | (15) |
foldf#(x,cons(y,z)) | → | f#(foldf(x,z),y) | (16) |
f'#(triple(a,b,c),A) | → | f''#(foldf(triple(cons(A,a),nil,c),b)) | (17) |
f#(t,x) | → | g#(x) | (18) |
f''#(triple(a,b,c)) | → | foldf#(triple(a,b,nil),c) | (19) |
foldf#(x,cons(y,z)) | → | foldf#(x,z) | (20) |
f'#(triple(a,b,c),B) | → | f#(triple(a,b,c),A) | (21) |
The dependency pairs are split into 1 component.
f'#(triple(a,b,c),B) | → | f#(triple(a,b,c),A) | (21) |
foldf#(x,cons(y,z)) | → | foldf#(x,z) | (20) |
f''#(triple(a,b,c)) | → | foldf#(triple(a,b,nil),c) | (19) |
f'#(triple(a,b,c),A) | → | foldf#(triple(cons(A,a),nil,c),b) | (15) |
f'#(triple(a,b,c),A) | → | f''#(foldf(triple(cons(A,a),nil,c),b)) | (17) |
foldf#(x,cons(y,z)) | → | f#(foldf(x,z),y) | (16) |
f#(t,x) | → | f'#(t,g(x)) | (14) |
[f'#(x1, x2)] | = | x1 + x2 + 0 |
[triple(x1, x2, x3)] | = | x2 + x3 + 17888 |
[foldf#(x1, x2)] | = | x1 + x2 + 28225 |
[C] | = | 28230 |
[f(x1, x2)] | = | x1 + x2 + 0 |
[B] | = | 28230 |
[A] | = | 28229 |
[nil] | = | 1 |
[f#(x1, x2)] | = | x1 + x2 + 1 |
[g#(x1)] | = | 0 |
[f'(x1, x2)] | = | x1 + x2 + 0 |
[cons(x1, x2)] | = | x1 + x2 + 0 |
[foldf(x1, x2)] | = | x1 + x2 + 0 |
[g(x1)] | = | x1 + 0 |
[f''(x1)] | = | x1 + 28228 |
[f''#(x1)] | = | x1 + 28227 |
g(C) | → | A | (4) |
foldf(x,cons(y,z)) | → | f(foldf(x,z),y) | (8) |
g(A) | → | A | (1) |
g(B) | → | B | (3) |
g(C) | → | B | (5) |
f'(triple(a,b,c),C) | → | triple(a,b,cons(C,c)) | (10) |
foldf(x,nil) | → | x | (7) |
f'(triple(a,b,c),A) | → | f''(foldf(triple(cons(A,a),nil,c),b)) | (12) |
f'(triple(a,b,c),B) | → | f(triple(a,b,c),A) | (11) |
f(t,x) | → | f'(t,g(x)) | (9) |
f''(triple(a,b,c)) | → | foldf(triple(a,b,nil),c) | (13) |
g(C) | → | C | (6) |
g(B) | → | A | (2) |
f''#(triple(a,b,c)) | → | foldf#(triple(a,b,nil),c) | (19) |
f'#(triple(a,b,c),A) | → | foldf#(triple(cons(A,a),nil,c),b) | (15) |
f'#(triple(a,b,c),A) | → | f''#(foldf(triple(cons(A,a),nil,c),b)) | (17) |
foldf#(x,cons(y,z)) | → | f#(foldf(x,z),y) | (16) |
f#(t,x) | → | f'#(t,g(x)) | (14) |
The dependency pairs are split into 1 component.
foldf#(x,cons(y,z)) | → | foldf#(x,z) | (20) |
[f'#(x1, x2)] | = | x2 + 0 |
[triple(x1, x2, x3)] | = | x2 + x3 + 1 |
[foldf#(x1, x2)] | = | x2 + 28225 |
[C] | = | 1 |
[f(x1, x2)] | = | x1 + 2 |
[B] | = | 1 |
[A] | = | 1 |
[nil] | = | 1 |
[f#(x1, x2)] | = | x1 + 1 |
[g#(x1)] | = | 0 |
[f'(x1, x2)] | = | x1 + 2 |
[cons(x1, x2)] | = | x2 + 2 |
[foldf(x1, x2)] | = | x1 + x2 + 0 |
[g(x1)] | = | x1 + 1 |
[f''(x1)] | = | x1 + 1 |
[f''#(x1)] | = | x1 + 28227 |
g(C) | → | A | (4) |
foldf(x,cons(y,z)) | → | f(foldf(x,z),y) | (8) |
g(A) | → | A | (1) |
g(B) | → | B | (3) |
g(C) | → | B | (5) |
f'(triple(a,b,c),C) | → | triple(a,b,cons(C,c)) | (10) |
foldf(x,nil) | → | x | (7) |
f'(triple(a,b,c),A) | → | f''(foldf(triple(cons(A,a),nil,c),b)) | (12) |
f'(triple(a,b,c),B) | → | f(triple(a,b,c),A) | (11) |
f(t,x) | → | f'(t,g(x)) | (9) |
f''(triple(a,b,c)) | → | foldf(triple(a,b,nil),c) | (13) |
g(C) | → | C | (6) |
g(B) | → | A | (2) |
foldf#(x,cons(y,z)) | → | foldf#(x,z) | (20) |
The dependency pairs are split into 0 components.