Deriving structural induction in LCF.
Proc. of the international symposium on Semantics of data types
Three approaches to type structure
Proc. of the international joint conference on theory and practice of software development (TAPSOFT) Berlin, March 25-29, 1985 on Mathematical foundations of software development, Vol. 1: Colloquium on trees in algebra and programming (CAAP'85)
Extensional models for polymorphism
II and Colloquium on Functional and Logic Programming and Specifications (CFLP) on TAPSOFT '87: Advanced Seminar on Foundations of Innovative Software Development
The Expressiveness of Simple and Second-Order Type Structures
Journal of the ACM (JACM)
Abstract data types and software validation
Communications of the ACM
Correspondence between ALGOL 60 and Church's Lambda-notation: part I
Communications of the ACM
POPL '86 Proceedings of the 13th ACM SIGACT-SIGPLAN symposium on Principles of programming languages
Towards a theory of type structure
Programming Symposium, Proceedings Colloque sur la Programmation
Delimiting the scope of effects
FPCA '93 Proceedings of the conference on Functional programming languages and computer architecture
Higher-order equational logic programming
POPL '94 Proceedings of the 21st ACM SIGPLAN-SIGACT symposium on Principles of programming languages
Conditions for the completeness of functional and algebraic equational reasoning
Mathematical Structures in Computer Science
On the confluence of lambda-calculus with conditional rewriting
Theoretical Computer Science
Hi-index | 0.00 |
In programming languages of universal power, the computational integers must be distinguished from the classical integers because of the “divergent” integer. Even the equational theory corresponding to evaluation of integer expressions is distinct from the theory of classical integers, and classical reasoning about computational integers yields inconsistencies. We show that there exist “programming languages”, actually extensions of the polymorphic lambda calculus, that have tremendous computing power and yet whose computational integers, or any other algebraically specified abstract data type, coincide with their classical counterpart. In particular, the equational theory of the programming language is a conservative extension of the theory of the underlying base types as given by algebraic data type specifications.