Proving Algorithm Correctness - Northeastern University