Miranda: a non-strict functional language with polymorphic types
Proc. of a conference on Functional programming languages and computer architecture
Unique normal forms for Lambda calculus with surjective pairing
Information and Computation
Polymorphic rewriting conserves algebraic strong normalization
Selected papers of the 16th international colloquium on Automata, languages, and programming
Type systems for programming languages
Handbook of theoretical computer science (vol. B)
Denotational semantics and rewrite rules for FP
POPL '85 Proceedings of the 12th ACM SIGACT-SIGPLAN symposium on Principles of programming languages
Functional Programming
The Implementation of Functional Programming Languages (Prentice-Hall International Series in Computer Science)
Optimal derivations in weak lambda-calculi and in orthogonal term rewriting systems
POPL '91 Proceedings of the 18th ACM SIGPLAN-SIGACT symposium on Principles of programming languages
Hi-index | 0.00 |
PCF, as considered in this paper, is a lazy typed lambda calculus with functions, pairing, fixed-point operators and arbitrary algebraic data types. The natural equational axioms for PCF include &eegr;-equivalence and the so-called “surjective pairing” axiom for pairs. However, the reduction system pcf&eegr;,sp defined by directing each equational axiom is not confluent, for virtually any choice of algebraic data types. Moreover, neither &eegr;-reduction nor surjective pairing seems to have a counterpart in ordinary execution. Therefore, we consider a smaller reduction system pcf without &eegr;-reduction or surjective pairing. The system pcf is confluent when combined with any linear, confluent algebraic rewrite rules. The system is also computationally adequate, in the sense that whenever a closed term of “observable” type has a pcf&eegr;,sp normal form, this is also the unique pcf normal form. Moreover, the equational axioms for PCF, including (&eegr;) and surjective pairing, are sound for pcf observational equivalence. These results suggest that if we take the equational axioms as defining the language, the smaller reduction system gives an appropriate operational semantics.