Download PDFOpen PDF in browser

Towards Automated Property Discovery within Hume

17 pagesPublished: June 22, 2012

Abstract

Hume is a Turing-complete programming language, designed to guarantee space and time bounds whilst still working on a high-level. Formal properties of Hume programs, such as invariants and transformations, have previously been verified using the temporal logic of actions (TLA). TLA properties are verified in an inductive way, which often requires lemma discovery or generalisations. Rippling was developed for guiding inductive proofs, and supports lemmas and generalisation discovery through proof critics. In this paper we show how rippling and proof critics can be used in the verification of Hume invariants represented in TLA. Our approach is based on existing work on the problem of verifying and discovering loop invariants for an imperative program. We then extend this work to Hume program transformations.

In: Andrei Voronkov, Laura Kovacs and Nikolaj Bjorner (editors). WING 2010. Workshop on Invariant Generation 2010, vol 1, pages 111-127.

BibTeX entry
@inproceedings{WING2010:Towards_Automated_Property_Discovery,
  author    = {Gudmund Grov and Andrew Ireland},
  title     = {Towards Automated Property Discovery within Hume},
  booktitle = {WING 2010. Workshop on Invariant Generation 2010},
  editor    = {Andrei Voronkov and Laura Kovacs and Nikolaj Bjorner},
  series    = {EPiC Series in Computing},
  volume    = {1},
  publisher = {EasyChair},
  bibsource = {EasyChair, https://easychair.org},
  issn      = {2398-7340},
  url       = {/publications/paper/xSqp},
  doi       = {10.29007/svv8},
  pages     = {111-127},
  year      = {2012}}
Download PDFOpen PDF in browser