The rewrite relation of the following TRS is considered.
msort(nil) | → | nil | (1) |
msort(.(x,y)) | → | .(min(x,y),msort(del(min(x,y),.(x,y)))) | (2) |
min(x,nil) | → | x | (3) |
min(x,.(y,z)) | → | if(<=(x,y),min(x,z),min(y,z)) | (4) |
del(x,nil) | → | nil | (5) |
del(x,.(y,z)) | → | if(=(x,y),z,.(y,del(x,z))) | (6) |
msort#(.(x,y)) | → | msort#(del(min(x,y),.(x,y))) | (7) |
min#(x,.(y,z)) | → | min#(x,z) | (8) |
min#(x,.(y,z)) | → | min#(y,z) | (9) |
del#(x,.(y,z)) | → | del#(x,z) | (10) |
msort#(.(x,y)) | → | del#(min(x,y),.(x,y)) | (11) |
msort#(.(x,y)) | → | min#(x,y) | (12) |
msort#(.(x,y)) | → | min#(x,y) | (12) |
The dependency pairs are split into 3 components.
msort#(.(x,y)) | → | msort#(del(min(x,y),.(x,y))) | (7) |
[del#(x1, x2)] | = | 0 |
[msort#(x1)] | = | x1 + 0 |
[<=(x1, x2)] | = | 1 |
[min#(x1, x2)] | = | 0 |
[msort(x1)] | = | 0 |
[if(x1, x2, x3)] | = | x1 + 0 |
[del(x1, x2)] | = | x1 + 1 |
[=(x1, x2)] | = | 1 |
[nil] | = | 1 |
[.(x1, x2)] | = | x1 + x2 + 23678 |
[min(x1, x2)] | = | x1 + 23676 |
min(x,.(y,z)) | → | if(<=(x,y),min(x,z),min(y,z)) | (4) |
min(x,nil) | → | x | (3) |
del(x,nil) | → | nil | (5) |
del(x,.(y,z)) | → | if(=(x,y),z,.(y,del(x,z))) | (6) |
msort#(.(x,y)) | → | msort#(del(min(x,y),.(x,y))) | (7) |
The dependency pairs are split into 0 components.
del#(x,.(y,z)) | → | del#(x,z) | (10) |
[del#(x1, x2)] | = | x2 + 0 |
[msort#(x1)] | = | x1 + 0 |
[<=(x1, x2)] | = | 1 |
[min#(x1, x2)] | = | 0 |
[msort(x1)] | = | 0 |
[if(x1, x2, x3)] | = | x1 + 0 |
[del(x1, x2)] | = | x1 + 1 |
[=(x1, x2)] | = | 1 |
[nil] | = | 1 |
[.(x1, x2)] | = | x1 + x2 + 1 |
[min(x1, x2)] | = | x1 + 23676 |
min(x,.(y,z)) | → | if(<=(x,y),min(x,z),min(y,z)) | (4) |
min(x,nil) | → | x | (3) |
del(x,nil) | → | nil | (5) |
del(x,.(y,z)) | → | if(=(x,y),z,.(y,del(x,z))) | (6) |
del#(x,.(y,z)) | → | del#(x,z) | (10) |
The dependency pairs are split into 0 components.
min#(x,.(y,z)) | → | min#(x,z) | (8) |
min#(x,.(y,z)) | → | min#(y,z) | (9) |
[del#(x1, x2)] | = | 0 |
[msort#(x1)] | = | x1 + 0 |
[<=(x1, x2)] | = | 1 |
[min#(x1, x2)] | = | x2 + 0 |
[msort(x1)] | = | 0 |
[if(x1, x2, x3)] | = | x1 + 8855 |
[del(x1, x2)] | = | x1 + 8856 |
[=(x1, x2)] | = | 1 |
[nil] | = | 1 |
[.(x1, x2)] | = | x1 + x2 + 1 |
[min(x1, x2)] | = | x1 + 23676 |
min(x,.(y,z)) | → | if(<=(x,y),min(x,z),min(y,z)) | (4) |
min(x,nil) | → | x | (3) |
del(x,nil) | → | nil | (5) |
del(x,.(y,z)) | → | if(=(x,y),z,.(y,del(x,z))) | (6) |
min#(x,.(y,z)) | → | min#(x,z) | (8) |
min#(x,.(y,z)) | → | min#(y,z) | (9) |
The dependency pairs are split into 0 components.