Kleene algebra with tests and coq tools for while programs

  • Authors:
  • Damien Pous

  • Affiliations:
  • CNRS --- LIP, ENS Lyon, UMR 5668, France

  • Venue:
  • ITP'13 Proceedings of the 4th international conference on Interactive Theorem Proving
  • Year:
  • 2013

Quantified Score

Hi-index 0.00

Visualization

Abstract

We present a Coq library about Kleene algebra with tests, including a proof of their completeness over the appropriate notion of languages, a decision procedure for their equational theory, and tools for exploiting hypotheses of a certain kind in such a theory. Kleene algebra with tests make it possible to represent if-then-else statements and while loops in imperative programming languages. They were actually introduced as an alternative to propositional Hoare logic. We show how to exploit the corresponding Coq tools in the context of program verification by proving equivalences of while programs, correctness of some standard compiler optimisations, Hoare rules for partial correctness, and a particularly challenging equivalence of flowchart schemes.