Abstract
We give an algorithm for deciding whether there exists a definable element of a finite model of an applied typed lambda calculus that passes certain tests, in the special case when all the constants and test arguments are of order at most one. When there is such an element, the algorithm outputs a term that passes the tests; otherwise, the algorithm outputs a logical relation that demonstrates the nonexistence of such an element. Several example applications of the C implementation of this algorithm are considered.
The research reported here was partially supported by ESPRIT project CLICS-II and was performed while the author was on the faculty of the School of Cognitive and Computing Sciences of the University of Sussex.
Preview
Unable to display preview. Download preview PDF.
References
S. Abramsky. The lazy lambda calculus. In D. L. Turner, editor, Research Topics in Functional Programming, pages 65–116. Addison-Wesley, 1990.
P.-L. Curien. Categorical Combinators, Sequential Algorithms and Functional Programming. Progress in Theoretical Computer Science. Birkhäuser, 1993.
A. Jung and A. Stoughton. Studying the fully abstract model of PCF within its continuous function model. In M. Bezem and J. F. Groote, editors, International Conference on Typed Lambda Calculi and Applications, volume 664 of Lecture Notes in Computer Science, pages 230–244. Springer-Verlag, 1993.
A. Jung and J. Tiuryn. A new characterization of lambda definability. In M. Bezem and J. F. Groote, editors, International Conference on Typed Lambda Calculi and Applications, volume 664 of Lecture Notes in Computer Science, pages 245–257. Springer-Verlag, 1993.
R. Loader. The undecidability of λ-definability. In M. Zeleny, editor, The Church Festschrift. CSLI/University of Chicago Press, 1994.
J. C. Mitchell. Type systems for programming languages. In J. van Leeuwen, editor, Handbook of Theoretical Computer Science, volume B, chapter 8, pages 367–458. Elsevier Science Publishers, 1990.
G. D. Plotkin. LCF considered as a programming language. Theoretical Computer Science, 5:223–256, 1977.
G. D. Plotkin. Lambda-definability in the full type hierarchy. In J. Seldin and J. Hindley, editors, To H. B. Curry: Essays on Combinatory Logic, Lambda Calculus and Formalism, pages 363–374. Academic Press, 1980.
K. Sieber. Reasoning about sequential functions via logical relations. In M. P. Fourman, P. T. Johnstone, and A. M. Pitts, editors, Applications of Categories in Computer Science, volume 177 of LMS Lecture Note Series, pages 258–269. Cambridge University Press, 1992.
Author information
Authors and Affiliations
Editor information
Rights and permissions
Copyright information
© 1994 Springer-Verlag Berlin Heidelberg
About this paper
Cite this paper
Stoughton, A. (1994). Mechanizing logical relations. In: Brookes, S., Main, M., Melton, A., Mislove, M., Schmidt, D. (eds) Mathematical Foundations of Programming Semantics. MFPS 1993. Lecture Notes in Computer Science, vol 802. Springer, Berlin, Heidelberg. https://doi.org/10.1007/3-540-58027-1_18
Download citation
DOI: https://doi.org/10.1007/3-540-58027-1_18
Published:
Publisher Name: Springer, Berlin, Heidelberg
Print ISBN: 978-3-540-58027-0
Online ISBN: 978-3-540-48419-6
eBook Packages: Springer Book Archive