In pratica guardando lo schema, inizialmente viene chiamata la ricorsività di merge_sort(a,from,mid) e merge_sort (a,mid+1,to), poi quando il vettore disordinato iniziale è stato scomposto in singoli elementi viene di volta in volta chiamata merge che riscostruisce quindi il vettore ordinato... È così che funziona? Poi però non capisco quando viene verificato il caso base, ovvero from == to, guardando sempre lo schema quand'è che from è uguale a to?