Correctness proof of Dijkstra's Algorithm