A compositional logic for polymorphic higher-order functions

  • Authors:
  • Kohei Honda;Nobuko Yoshida

  • Affiliations:
  • Queen Mary, London, UK;Imperial College London, UK

  • Venue:
  • PPDP '04 Proceedings of the 6th ACM SIGPLAN international conference on Principles and practice of declarative programming
  • Year:
  • 2004

Quantified Score

Hi-index 0.00

Visualization

Abstract

This paper introduces a compositional program logic for higher-order polymorphic functions and standard data types. The logic enables us to reason about observable properties of polymorphic programs starting from those of their constituents. Just as types attached to programs offer information on their composability so as to guarantee basic safety of composite programs, formulae of the proposed logic attached to programs offer information on their composability so as to guarantee fine-grained behavioural properties of polymorphic programs. The central feature of the logic is a systematic usage of names and operations on them, whose origin is in the logics for typed π-calculi. The paper introduces the program logic and its proof rules and illustrates their usage by non-trivial reasoning examples, taking a prototypical call-by-value functional language with impredicative polymorphism and recursive types as a target language.