Results 1 
4 of
4
Cyclic proofs of program termination in separation logic. Forthcoming
"... We propose a novel approach to proving the termination of heapmanipulating programs, which combines separation logic with cyclic proof within a Hoarestyle proof system. Judgements in this system express (guaranteed) termination of the program when started from a given line in the program and in a s ..."
Abstract

Cited by 17 (6 self)
 Add to MetaCart
We propose a novel approach to proving the termination of heapmanipulating programs, which combines separation logic with cyclic proof within a Hoarestyle 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. Our logical preconditions employ inductively defined predicates to describe heap properties, and proofs in our system are cyclic proofs: cyclic derivations in which some inductive predicate is unfolded infinitely often along every infinite path, thus allowing us to discard all infinite paths in the proof by an infinite descent argument. Moreover, the use of this soundness condition enables us to avoid the explicit construction and use of ranking functions for termination. We also give a completeness result for our system, which is relative in that it relies upon completeness of a proof system for logical implications in separation logic. We give examples illustrating our approach, including one example for which the corresponding ranking function is nonobvious: termination of the classical algorithm for inplace reversal of a (possibly cyclic) linked list.
Sequent Calculi for Process Verification: HennessyMilner Logic for an Arbitrary GSOS
, 2003
"... We argue that, by supporting a mixture of “compositional” and “structural” styles of proof, sequentbased proof systems provide a useful framework for the formal verification of processes. As a worked example, we present a sequent calculus for establishing that processes from a process algebra satis ..."
Abstract

Cited by 11 (1 self)
 Add to MetaCart
(Show Context)
We argue that, by supporting a mixture of “compositional” and “structural” styles of proof, sequentbased proof systems provide a useful framework for the formal verification of processes. As a worked example, we present a sequent calculus for establishing that processes from a process algebra satisfy assertions in HennessyMilner logic. The main novelty lies in the use of the operational semantics to derive introduction rules, on the left and right of sequents, for the operators of the process calculus. This gives a generic proof system applicable to any process algebra with an operational semantics specified in the GSOS format. Using a general algebraic notion of GSOS model, we prove a completeness theorem for the cutfree fragment of the proof system, thereby establishing the admissibility of the cut rule. Under mild (and necessary) conditions on the process algebra, an ωcompleteness result, relative to the “intended” model of closed process terms, follows.
A generic cyclic theorem prover
 In APLAS’12, volume 7705 of LNCS
, 2012
"... Abstract. We describe the design and implementation of an automated theorem prover realising a fully general notion of cyclic proof. Our tool, called Cyclist, is able to construct proofs obeying a very general cycle scheme in which leaves may be linked to any other matching node in the proof, and to ..."
Abstract

Cited by 5 (4 self)
 Add to MetaCart
(Show Context)
Abstract. We describe the design and implementation of an automated theorem prover realising a fully general notion of cyclic proof. Our tool, called Cyclist, is able to construct proofs obeying a very general cycle scheme in which leaves may be linked to any other matching node in the proof, and to verify the general, global infinitary condition on such proof objects ensuring their soundness. Cyclist is based on a new, generic theory of cyclic proofs that can be instantiated to a wide variety of logics. We have developed three such concrete instantiations, based on: (a) firstorder logic with inductive definitions; (b) entailments of pure separation logic; and (c) Hoarestyle termination proofs for pointer programs. Experiments run on these instantiations indicate that Cyclist offers significant potential as a future platform for inductive theorem proving. 1
Reducing Behavioural to Structural Properties of Programs with Procedures
"... Abstract There is an intimate link between program structure and behaviour. Exploiting this link to phrase program correctness problems in terms of the structural properties of a program graph rather than in terms of its unfoldings is a useful strategy for making analyses more tractable. The present ..."
Abstract
 Add to MetaCart
(Show Context)
Abstract There is an intimate link between program structure and behaviour. Exploiting this link to phrase program correctness problems in terms of the structural properties of a program graph rather than in terms of its unfoldings is a useful strategy for making analyses more tractable. The present paper presents a characterisation of behavioural program properties through sets of structural properties by means of a translation. The characterisation is given in the context of a program model based on control flow graphs of sequential programs with procedures, and properties expressed in a fragment of the modal µcalculus with boxes and greatest fixedpoints only. The property translation is based on a tableau construction that conceptually amounts to symbolic execution of the behavioural formula, collecting structural constraints along the way. By keeping track of the subformulae that have been examined, recursion in the structural constraints can be identified and captured by fixedpoint formulae. The tableau construction terminates, and the characterisation is exact, i.e. the translation is sound and complete. A prototype implementation has been developed. We discuss several applications of the characterisation, in particular sound and complete compositional verification for behavioural properties based on maximal models. 1