Correct Programs, Executed Correctly: Verifying Specifications And Executions