Skip to main content
    • Aa
    • Aa
  • Get access
    Check if you have access via personal or institutional login
  • Cited by 2
  • Cited by
    This article has been cited by the following publications. This list is generated based on data provided by CrossRef.

    Seidel, Daniel and Voigtländer, Janis 2011. Refined typing to localize the impact of forced strictness on free theorems. Acta Informatica, Vol. 48, Issue. 3, p. 191.

    Voigtländer, Janis and Johann, Patricia 2007. Selective strictness and parametricity in structural operational semantics, inequationally. Theoretical Computer Science, Vol. 388, Issue. 1-3, p. 290.

  • Mathematical Structures in Computer Science, Volume 15, Issue 2
  • April 2005, pp. 201-229

On proving the correctness of program transformations based on free theorems for higher-order polymorphic calculi

  • DOI:
  • Published online: 01 March 2005

A number of program transformations currently of interest can be derived from Wadler's ‘free theorems’ for calculi approximating modern functional languages. Although delicate but fundamental issues arise in proving the correctness of free theorems-based program transformations, these issues have usually been left unaddressed in the correctness proofs appearing in the literature. As a result, most such proofs are incomplete, and most free theorems-based transformations are applied to programs in calculi for which they are not actually known to be correct.

The purpose of this paper is three-fold. First, we raise and clarify some of the issues that must be addressed when constructing correctness proofs for free theorems-based program transformations. Second, we offer a principled approach to developing such proofs. Third, we use Pitts' recent work on parametricity and observational equivalence to show how our approach can be used to give the first proof that transformations based on the Acid Rain theorems preserve observational equivalence of programs in a polymorphic lambda calculus supporting FPC-style fixpoints and algebraic data types. Correctness of the foldr-build rule, the destroy-unfoldr rule, and the hylofusion program transformation for this calculus follows immediately. The same approach is expected to yield complete correctness proofs for free theorems-based transformations in calculi that even more closely resemble languages with which programmers are concerned in practice.

Recommend this journal

Email your librarian or administrator to recommend adding this journal to your organisation's collection.

Mathematical Structures in Computer Science
  • ISSN: 0960-1295
  • EISSN: 1469-8072
  • URL: /core/journals/mathematical-structures-in-computer-science
Please enter your name
Please enter a valid email address
Who would you like to send this to? *