Formal Proof Systems for Program Equivalence