YES 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))) max/plus interpretations on N: msort_A(x1) = max{8, 7 + x1} msort#_A(x1) = max{4, 7 + x1} nil_A = 9 nil#_A = 5 ._A(x1,x2) = max{14, -2, 4 + x2} .#_A(x1,x2) = max{0, 1, 1} min_A(x1,x2) = max{9, 2 + x1, 4 + x2} min#_A(x1,x2) = max{12, 10, 9 + x2} del_A(x1,x2) = max{1, -6, 10} del#_A(x1,x2) = max{1, 3, 3} if_A(x1,x2,x3) = max{10, -6, 9, 2} if#_A(x1,x2,x3) = max{3, 0, 0, 3} <=_A(x1,x2) = max{1, 1 + x1, 1 + x2} <=#_A(x1,x2) = max{11, 6, 6} =_A(x1,x2) = max{1, 1 + x1, 1 + x2} =#_A(x1,x2) = max{2, 0, 0} precedence: del > msort = <= = = > nil = min > . = if