YES Problem: msort(nil()) -> nil() msort(.(x,y)) -> .(min(x,y),msort(del(min(x,y),.(x,y)))) min(x,nil()) -> x min(x,.(y,z)) -> if(<=(x,y),min(x,z),min(y,z)) del(x,nil()) -> nil() del(x,.(y,z)) -> if(=(x,y),z,.(y,del(x,z))) Proof: DP Processor: DPs: msort#(.(x,y)) -> del#(min(x,y),.(x,y)) msort#(.(x,y)) -> msort#(del(min(x,y),.(x,y))) msort#(.(x,y)) -> min#(x,y) min#(x,.(y,z)) -> min#(y,z) min#(x,.(y,z)) -> min#(x,z) del#(x,.(y,z)) -> del#(x,z) TRS: msort(nil()) -> nil() msort(.(x,y)) -> .(min(x,y),msort(del(min(x,y),.(x,y)))) min(x,nil()) -> x min(x,.(y,z)) -> if(<=(x,y),min(x,z),min(y,z)) del(x,nil()) -> nil() del(x,.(y,z)) -> if(=(x,y),z,.(y,del(x,z))) Usable Rule Processor: DPs: msort#(.(x,y)) -> del#(min(x,y),.(x,y)) msort#(.(x,y)) -> msort#(del(min(x,y),.(x,y))) msort#(.(x,y)) -> min#(x,y) min#(x,.(y,z)) -> min#(y,z) min#(x,.(y,z)) -> min#(x,z) del#(x,.(y,z)) -> del#(x,z) TRS: min(x,nil()) -> x min(x,.(y,z)) -> if(<=(x,y),min(x,z),min(y,z)) del(x,.(y,z)) -> if(=(x,y),z,.(y,del(x,z))) del(x,nil()) -> nil() Matrix Interpretation Processor: dim=1 usable rules: del(x,.(y,z)) -> if(=(x,y),z,.(y,del(x,z))) del(x,nil()) -> nil() interpretation: [min#](x0, x1) = x1 + 2, [del#](x0, x1) = 2x1, [msort#](x0) = 2x0 + 7/2, [=](x0, x1) = 0, [if](x0, x1, x2) = 2x0 + 5/2, [<=](x0, x1) = x0 + 2x1, [del](x0, x1) = 5/2, [min](x0, x1) = x1 + 2, [.](x0, x1) = 2x1 + 3, [nil] = 1/2 orientation: msort#(.(x,y)) = 4y + 19/2 >= 4y + 6 = del#(min(x,y),.(x,y)) msort#(.(x,y)) = 4y + 19/2 >= 17/2 = msort#(del(min(x,y),.(x,y))) msort#(.(x,y)) = 4y + 19/2 >= y + 2 = min#(x,y) min#(x,.(y,z)) = 2z + 5 >= z + 2 = min#(y,z) min#(x,.(y,z)) = 2z + 5 >= z + 2 = min#(x,z) del#(x,.(y,z)) = 4z + 6 >= 2z = del#(x,z) min(x,nil()) = 5/2 >= x = x min(x,.(y,z)) = 2z + 5 >= 2x + 4y + 5/2 = if(<=(x,y),min(x,z),min(y,z)) del(x,.(y,z)) = 5/2 >= 5/2 = if(=(x,y),z,.(y,del(x,z))) del(x,nil()) = 5/2 >= 1/2 = nil() problem: DPs: TRS: min(x,nil()) -> x min(x,.(y,z)) -> if(<=(x,y),min(x,z),min(y,z)) del(x,.(y,z)) -> if(=(x,y),z,.(y,del(x,z))) del(x,nil()) -> nil() Qed