Abstract
In programming languages that feature unrestricted recursion, the equational theory corresponding to evaluation of data type expressions must be distinguished from the classical theory of the data as given by, say, algebraic specifications. Aiming to preserve classical reasoning about the underlying data types, that is, for the equational theory of the programming language to be a conservative extension of the theory given by the data type specification, we investigate, alternative computational settings given by typed lambda calculi, specifically here by the Girard-Reynolds polymorphic lambda calculus (
Using purely syntactic methods, we give transformational proofs of these results for certain systems of equational reasoning. A new technique for analyzing polymorphic equational proofs is developed to this purpose.
Finally, we prove, with a semantics argument, that it is possible to combine arbitrary algebraic data type specifications and the
Get full access to this article
View all access options for this article.
