Operational Annotations: A new method for sequential program verification
Paul C Attie

TL;DR
This paper introduces a novel method for program verification that replaces traditional assertions with terminating programs to specify state sets, enabling a new operational approach to partial correctness in sequential programs.
Contribution
It proposes using terminating programs as state set specifications and introduces the operational triple [A] P [B] for program verification, offering a new perspective beyond Hoare logic.
Findings
Operational triples effectively specify partial correctness.
Replacing assertions with programs simplifies verification.
The method provides a new operational semantics for program correctness.
Abstract
I present a new method for specifying and verifying the partial correctness of sequential programs. The key observation is that, in Hoare logic, assertions are used as selectors of states, that is, an assertion specifies the set of program states that satisfy the assertion. Hence, the usual meaning of the partial correctness Hoare triple : if execution is started in any of the states that satisfy assertion , then, upon termination, the resulting state will be some state that satisfies assertion . There are of course other ways to specify a set of states. I propose to replace assertions by terminating programs: a program specifies a set of states as follows: we start in any state whatsoever, and all the states that may terminate in constitute the specified set. I call this set the post-states of . I introduce the operational triple to…
Peer Reviews
No public reviews on file for this paper yet. If you reviewed it on a platform where reviews are public (OpenReview, ICLR, NeurIPS, ICML), you can paste yours below so the community can read it here.
Videos
No videos yet. Explain this paper in a talk, walkthrough, or lecture? Add one.
Taxonomy
TopicsLogic, programming, and type systems · Formal Methods in Verification · Logic, Reasoning, and Knowledge
