A formalized proof system for total correctness of while programs

We introduce datatype specifications based on schemes, a slight generalization of first order specifications. For a schematic specification (Σ, \(\mathbb{E}\)), Hoare's Logic HL (Σ, \(\mathbb{E}\)) for partial correctness is defined as usual and on top of it a proof system (Σ, \(\mathbb{E}\)) ⊢ p → S ↓ for termination assertions is defined. The system is first order in nature, but we prove it sound and complete w.r.t. a second order semantics. We provide a translation of a standard proof system HLT(A) for total correctness on a structure A into our format.

[1]  Ernst-Rüdiger Olderog,et al.  Proof Rules Dealing with Fairness , 1981, Logic of Programs.

[2]  Jan A. Bergstra,et al.  Hoare's Logic and Peano's Arithmetic , 1983, Theor. Comput. Sci..

[3]  Jan A. Bergstra,et al.  Proving Program Inclusion Using Hoare's Logic , 1984, Theor. Comput. Sci..

[4]  David Harel,et al.  Proving the Correctness of Regular Deterministic Programs: A Unifying Survey Using Dynamic Logic , 1980, Theor. Comput. Sci..

[5]  David Harel,et al.  First-Order Dynamic Logic , 1979, Lecture Notes in Computer Science.