A call-by-need lambda calculus with locally bottom-avoiding choice: Context lemma and correctness of transformations

  • Authors:
  • David Sabel;Manfred Schmidt-schauss

  • Affiliations:
  • Institut für informatik, fachbereich informatik und mathematik, johann wolfgang goethe-universität, postfach 11 19 32, d-60054 frankfurt, germany email: sabel@ki.informatik.uni-frankfurt ...;Institut für informatik, fachbereich informatik und mathematik, johann wolfgang goethe-universität, postfach 11 19 32, d-60054 frankfurt, germany email: sabel@ki.informatik.uni-frankfurt ...

  • Venue:
  • Mathematical Structures in Computer Science
  • Year:
  • 2008

Quantified Score

Hi-index 0.00

Visualization

Abstract

We present a higher-order call-by-need lambda calculus enriched with constructors, case expressions, recursive letrec expressions, a seq operator for sequential evaluation and a non-deterministic operator amb that is locally bottom-avoiding. We use a small-step operational semantics in the form of a single-step rewriting system that defines a (non-deterministic) normal-order reduction. This strategy can be made fair by adding resources for book-keeping. As equational theory, we use contextual equivalence (that is, terms are equal if, when plugged into any program context, their termination behaviour is the same), in which we use a combination of may-and must-convergence, which is appropriate for non-deterministic computations. We show that we can drop the fairness condition for equational reasoning, since the valid equations with respect to normal-order reduction are the same as for fair normal-order reduction. We develop a number of proof tools for proving correctness of program transformations. In particular, we prove a context lemma for both may-and must-convergence that restricts the number of contexts that need to be examined for proving contextual equivalence. Combining this with so-called complete sets of commuting and forking diagrams, we show that all the deterministic reduction rules and some additional transformations preserve contextual equivalence. We also prove a standardisation theorem for fair normal-order reduction. The structure of the ordering ≤c is also analysed, and we show that Ω is not a least element and ≤c already implies contextual equivalence with respect to may-convergence.