The rewrite relation of the following TRS is considered.
comp(s,id) | → | s | (1) |
cons(one,shift) | → | id | (2) |
cons(comp(one,s),comp(shift,s)) | → | s | (3) |
comp(one,cons(s,t)) | → | s | (4) |
comp(shift,cons(s,t)) | → | t | (5) |
comp(abs(s),t) | → | abs(comp(s,cons(one,comp(t,shift)))) | (6) |
comp(cons(s,t),u) | → | cons(comp(s,u),comp(t,u)) | (7) |
comp(id,s) | → | s | (8) |
comp(comp(s,t),u) | → | comp(s,comp(t,u)) | (9) |
comp#(abs(s),t) | → | cons#(one,comp(t,shift)) | (10) |
comp#(cons(s,t),u) | → | cons#(comp(s,u),comp(t,u)) | (11) |
comp#(cons(s,t),u) | → | comp#(s,u) | (12) |
comp#(comp(s,t),u) | → | comp#(t,u) | (13) |
comp#(abs(s),t) | → | comp#(t,shift) | (14) |
comp#(abs(s),t) | → | comp#(s,cons(one,comp(t,shift))) | (15) |
comp#(cons(s,t),u) | → | comp#(t,u) | (16) |
comp#(comp(s,t),u) | → | comp#(s,comp(t,u)) | (17) |
The dependency pairs are split into 1 component.
comp#(comp(s,t),u) | → | comp#(s,comp(t,u)) | (17) |
comp#(cons(s,t),u) | → | comp#(t,u) | (16) |
comp#(abs(s),t) | → | comp#(s,cons(one,comp(t,shift))) | (15) |
comp#(abs(s),t) | → | comp#(t,shift) | (14) |
comp#(comp(s,t),u) | → | comp#(t,u) | (13) |
comp#(cons(s,t),u) | → | comp#(s,u) | (12) |
[cons#(x1, x2)] | = | max(0) |
[one] | = | 0 |
[abs(x1)] | = | x1 + 1 |
[comp#(x1, x2)] | = | x1 + x2 + 0 |
[cons(x1, x2)] | = | max(x1 + 0, x2 + 0, 0) |
[id] | = | 0 |
[shift] | = | 0 |
[comp(x1, x2)] | = | x1 + x2 + 0 |
comp(one,cons(s,t)) | → | s | (4) |
comp(id,s) | → | s | (8) |
comp(s,id) | → | s | (1) |
cons(comp(one,s),comp(shift,s)) | → | s | (3) |
comp(shift,cons(s,t)) | → | t | (5) |
comp(cons(s,t),u) | → | cons(comp(s,u),comp(t,u)) | (7) |
comp(comp(s,t),u) | → | comp(s,comp(t,u)) | (9) |
comp(abs(s),t) | → | abs(comp(s,cons(one,comp(t,shift)))) | (6) |
cons(one,shift) | → | id | (2) |
comp#(abs(s),t) | → | comp#(s,cons(one,comp(t,shift))) | (15) |
comp#(abs(s),t) | → | comp#(t,shift) | (14) |
The dependency pairs are split into 1 component.
comp#(cons(s,t),u) | → | comp#(t,u) | (16) |
comp#(cons(s,t),u) | → | comp#(s,u) | (12) |
comp#(comp(s,t),u) | → | comp#(t,u) | (13) |
comp#(comp(s,t),u) | → | comp#(s,comp(t,u)) | (17) |
[cons#(x1, x2)] | = | 0 |
[one] | = | 1 |
[abs(x1)] | = | x1 + 23676 |
[comp#(x1, x2)] | = | x1 + 0 |
[cons(x1, x2)] | = | x1 + x2 + 1 |
[id] | = | 4 |
[shift] | = | 1 |
[comp(x1, x2)] | = | x1 + x2 + 1 |
comp#(cons(s,t),u) | → | comp#(t,u) | (16) |
comp#(cons(s,t),u) | → | comp#(s,u) | (12) |
comp#(comp(s,t),u) | → | comp#(t,u) | (13) |
comp#(comp(s,t),u) | → | comp#(s,comp(t,u)) | (17) |
The dependency pairs are split into 0 components.