Logical reasoning for higher-order functions with local state

  • Authors:
  • Nobuko Yoshida;Kohei Honda;Martin Berger

  • Affiliations:
  • Department of Computing, Imperial College, London;Department of Computer Science, Queen Mary, University of London;Department of Computing, Imperial College, London

  • Venue:
  • FOSSACS'07 Proceedings of the 10th international conference on Foundations of software science and computational structures
  • Year:
  • 2007

Quantified Score

Hi-index 0.00

Visualization

Abstract

We introduce an extension of Hoare logic for call-by-value higher-order functions with ML-like local reference generation. Local references may be generated dynamically and exported outside their scope, may store higher-order functions and may be used to construct complex mutable data structures. This primitive is captured logically using a predicate asserting reachability of a reference name from a possibly higher-order datum and quantifiers over hidden references. The logic enjoys three completeness properties: relative completeness, a logical characterisation of the contextual congruence and derivability of characteristic formulae. The axioms for reachability and local invariants play a fundamental role in reasoning about non-trivial programs combining higher-order procedures and dynamically generated references.