(VAR x y z) (RULES 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))) ) (COMMENT Example 4.60 (Minimum-Sort) in \cite{SK90})