The rewrite relation of the following TRS is considered.
purge(nil) | → | nil | (1) |
purge(.(x,y)) | → | .(x,purge(remove(x,y))) | (2) |
remove(x,nil) | → | nil | (3) |
remove(x,.(y,z)) | → | if(=(x,y),remove(x,z),.(y,remove(x,z))) | (4) |
purge#(.(x,y)) | → | remove#(x,y) | (5) |
remove#(x,.(y,z)) | → | remove#(x,z) | (6) |
purge#(.(x,y)) | → | purge#(remove(x,y)) | (7) |
remove#(x,.(y,z)) | → | remove#(x,z) | (6) |
The dependency pairs are split into 2 components.
purge#(.(x,y)) | → | purge#(remove(x,y)) | (7) |
[purge#(x1)] | = | x1 + 0 |
[purge(x1)] | = | 0 |
[if(x1, x2, x3)] | = | x1 + x2 + 0 |
[=(x1, x2)] | = | 1 |
[nil] | = | 16575 |
[.(x1, x2)] | = | x1 + x2 + 23677 |
[remove#(x1, x2)] | = | 0 |
[remove(x1, x2)] | = | x1 + x2 + 23676 |
remove(x,.(y,z)) | → | if(=(x,y),remove(x,z),.(y,remove(x,z))) | (4) |
remove(x,nil) | → | nil | (3) |
purge#(.(x,y)) | → | purge#(remove(x,y)) | (7) |
The dependency pairs are split into 0 components.
remove#(x,.(y,z)) | → | remove#(x,z) | (6) |
remove#(x,.(y,z)) | → | remove#(x,z) | (6) |
[purge#(x1)] | = | x1 + 0 |
[purge(x1)] | = | 0 |
[if(x1, x2, x3)] | = | x1 + x2 + 0 |
[=(x1, x2)] | = | 1 |
[nil] | = | 16575 |
[.(x1, x2)] | = | x1 + x2 + 23677 |
[remove#(x1, x2)] | = | x2 + 0 |
[remove(x1, x2)] | = | x1 + x2 + 20163 |
remove(x,.(y,z)) | → | if(=(x,y),remove(x,z),.(y,remove(x,z))) | (4) |
remove(x,nil) | → | nil | (3) |
remove#(x,.(y,z)) | → | remove#(x,z) | (6) |
remove#(x,.(y,z)) | → | remove#(x,z) | (6) |
The dependency pairs are split into 0 components.