Resolving Inductive Definitions with Binders in Higher-Order Typed Functional Programming

  • Authors:
  • Matthew R. Lakin;Andrew M. Pitts

  • Affiliations:
  • Computer Laboratory, University of Cambridge, Cambridge, UK CB3 0FD;Computer Laboratory, University of Cambridge, Cambridge, UK CB3 0FD

  • Venue:
  • ESOP '09 Proceedings of the 18th European Symposium on Programming Languages and Systems: Held as Part of the Joint European Conferences on Theory and Practice of Software, ETAPS 2009
  • Year:
  • 2009

Quantified Score

Hi-index 0.00

Visualization

Abstract

This paper studies inductive definitions involving binders, in which aliasing between free and bound names is permitted. Such aliasing occurs in informal specifications of operational semantics, but is excluded by the common representation of binding as meta-level *** -abstraction. Drawing upon ideas from functional logic programming, we represent such definitions with aliasing as recursively defined functions in a higher-order typed functional programming language that extends core ML with types for name-binding, a type of "semi-decidable propositions" and existential quantification for types with decidable equality. We show that the representation is sound and complete with respect to the language's operational semantics, which combines the use of evaluation contexts with constraint programming. We also give a new and simple proof that the associated constraint problem is NP-complete.