Skip to main content
Article thumbnail
Location of Repository

Contextual equivalence in lambda-calculi extended with letrec and with a parametric polymorphic type system

By Manfred Schmidt-Schauß, David Sabel and Frederik Harwath


This paper describes a method to treat contextual equivalence in polymorphically typed lambda-calculi, and also how to transfer equivalences from the untyped versions of lambda-calculi to their typed variant, where our specific calculus has letrec, recursive types and is nondeterministic. An addition of a type label to every subexpression is all that is needed, together with some natural constraints for the consistency of the type labels and well-scopedness of expressions. One result is that an elementary but typed notion of program transformation is obtained and that untyped contextual equivalences also hold in the typed calculus as long as the expressions are well-typed. In order to have a nice interaction between reduction and typing, some reduction rules have to be accompanied with a type modification by generalizing or instantiating types

Topics: ddc:004
Year: 2009
OAI identifier:

Suggested articles


  1. (2007). A bisimulation for type abstraction and recursion.
  2. (2008). A call-by-need lambda-calculus with locally bottom-avoiding choice: Context lemma and correctness of transformations.
  3. (2008). Adequacy of compositional translations for observational semantics.
  4. (2008). and Frederik Harwath Sab08. David Sabel. Semantics of a Call-by-Need Lambda Calculus with McCarthy’s amb for Program Equivalence. Dissertation,
  5. (1989). How to make ad-hoc polymorphism less ad-hoc. In POPL
  6. (1993). Jerzy Tiuryn, and Pawel Urzyczyn. The undecidability of the semi-unification problem.
  7. (1997). Lambda calculus with explicit recursion.
  8. (2007). On generic context lemmas for lambda calculi with sharing.
  9. (2005). On the representation of McCarthy’s amb in the pi-calculus.
  10. Operational semantics and program equivalence.
  11. (2003). Parametric polymorphism and operational equivalence.
  12. (2007). Program transformation for functional circuit descriptions. Frank report 30,
  13. (2008). Prototypische Validierung eines parametrischen polymorphen Typsystems f¨ ur eine Kernsprache von Haskell,
  14. (2007). Selective strictness and parametricity in structural operational semantics, inequationally.
  15. (1998). Søren Bøgh Lassen. Relational Reasoning about Functions and Nondeterminism.
  16. (1991). Type classes and overloading resolution via order-sorted unification.
  17. (2008). Typed normal form bisimulation for parametric polymorphism.

To submit an update or takedown request for this paper, please submit an Update/Correction/Removal Request.