Characteristic formulae for liveness properties of non-terminating CakeML programs
Paper in proceeding, 2019

There are useful programs that do not terminate, and yet standard Hoare logics are not able to prove liveness properties about non-terminating programs. This paper shows how a Hoare-like programming logic framework (characteristic formulae) can be extended to enable reasoning about the I/O behaviour of programs that do not terminate. The approach is inspired by transfinite induction rather than coinduction, and does not require non-terminating loops to be productive. This work has been developed in the HOL4 theorem prover and has been integrated into the ecosystem of proof tools surrounding the CakeML programming language.

Non-termination

Liveness

Hoare logic

Program verification

Author

Johannes Åman Pohjola

University of New South Wales (UNSW)

Henrik Rostedt

Chalmers, Computer Science and Engineering (Chalmers), Formal methods

Magnus Myreen

Chalmers, Computer Science and Engineering (Chalmers), Formal methods

Leibniz International Proceedings in Informatics, LIPIcs

18688969 (ISSN)

Vol. 141 32
978-395977122-1 (ISBN)

10th International Conference on Interactive Theorem Proving, ITP 2019
Portland, USA,

Subject Categories

Embedded Systems

Computer Science

Computer Systems

DOI

10.4230/LIPIcs.ITP.2019.32

More information

Latest update

11/21/2019