kirancodes.me
To Proof Maintenance & Beyond!

Cyclic proofs of program termination in separation logic

James Brotherston, Richard Bornat, Cristiano Calcagno

Abstract

We propose a novel approach to proving the termination of heap-manipulating programs, which combines separation logic with cyclic proof within a Hoare-style proof system.Judgements in this system express (guaranteed) termination of the program when started from a given line in the program and in a state satisfying a given precondition, which is expressed as a formula of separation logic. The proof rules of our system are of two types: logical rules that operate on preconditions; and symbolic execution rules that capture the effect of executing program commands.

Related papers