Logic of Programs 1985: Logics of Programs pp 225-236 | Cite as

Second-order logical relations

Extended abstract
  • John C. Mitchell
  • Albert R. Meyer
Conference paper
Part of the Lecture Notes in Computer Science book series (LNCS, volume 193)


Logical relations are a generalization of homomorphisms between models of typed lambda calculus. We define logical relations for second-order typed lambda calculus and use these relations to give a semantic characterization of second-order lambda definability. Logical relations are also used to state and prove a general representation independence theorem. Representation independence implies that the meanings of expressions do not depend on whether true is represented by 1 and false by 0, as long as all the functions that manipulate truth values are represented correctly.


Inference Rule Fundamental Theorem Logical Relation Type Expression Type Inference 
These keywords were added by machine and not by the authors. This process is experimental and the keywords may be updated as the learning algorithm improves.


Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.


  1. [Barendregt 81]
    Barendregt, H.P, The Lambda Calculus: Its Syntax and Semantics. North Holland 1981.Google Scholar
  2. [Bruce and Meyer 84]
    Bruce, K. and Meyer, A., A Completeness Theorem for Second-Order Polymorphic Lambda Calculus. In Proc. Int. Symp. on Semantics of Data Types, Sophia-Antipolis (France), 1984, pages 131–144..Google Scholar
  3. [Bruce, Meyer and Mitchell 85]
    Bruce, K.B., Meyer, A.R. and Mitchell, J.C., The semantics of second-order lambda calculus. to appearGoogle Scholar
  4. [Donahue 79]
    Donahue, J., On the semantics of data type. SIAM J. Computing 8 1979, pages 546–560Google Scholar
  5. [Fortune, et al. 83]
    Fortune, S., Leivant, D. and O'Donnel, M., The Expressiveness of Simple and Second Order Type Structures. JACM 30, 1 1983. pages 151–185Google Scholar
  6. [Friedman 75]
    Friedman, H., Equality Between Functionals. In R. Parikh (ed.), Logic Colloquium, pages 22–37. Springer-Verlag 1975.Google Scholar
  7. [Girard 71]
    Girard, J.-Y., Une extension de l'interpretation de Gödel à l'analyse, et son application à l'élimination des coupures dans l'analyse et la théorie des types. In Fenstad, J.E. (ed.), 2 nd Scandinavian Logic Symp., pages 63–92. North-Holland 1971.Google Scholar
  8. [Haynes 84]
    Haynes, C.T., A Theory of Data Type Representation Independence. In Int. Symp. on Semantics of Data Types, Springer-Verlag, 1984, pages 157–176.Google Scholar
  9. [Henkin 50]
    Henkin, L., Completeness in the Theory of Types. Journal of Symbolic Logic 15, 2 June 1950. pages 81–91Google Scholar
  10. [Leivant 83a]
    Leivant, D., Polymorphic Type Inference. In Proc. 10-th ACM Symp. on Principles of Programming Languages, 1983, pages 88–98.Google Scholar
  11. [MacQueen, Plotkin and Sethi 84]
    MacQueen, D., Plotkin, G and Sethi, R., An Ideal Model for Polymorphic Types. In Proc. 11-th ACM Symp. on Principles of Prog. Lang, January, 1984, pages 165–174.Google Scholar
  12. [MacQueen and Sethi 82]
    MacQueen, D. and Sethi, R., A Semantic Model of Types for Applicative Languages. In ACM Symp. on Lisp and Functional Programming, 1982, pages 243–252..Google Scholar
  13. [McCracken 79]
    McCracken, N., An Investigation of a Programming Language with a Polymorphic Type Structure. Syracuse Univ. 1979.Google Scholar
  14. [McCracken 84]
    McCracken, N., The Typechecking of Programs with Implicit Type Structure. In Proc. Int'l Symp. on Semantics of Data Types, June, 1984, pages 301–316.Google Scholar
  15. [Mitchell 84b]
    Mitchell, J.C., Type Inference and Type Containment. In Proc. Int'l Symp. on Semantics of Data Types, June, 1984, pages 257–278.Google Scholar
  16. [Mitchell 84c]
    Mitchell, J.C., Semantic models for second-order lambda calculus. In Proc. 25-th IEEE Symp. on Foundations of Computer Science, 1984, pages 289–299.Google Scholar
  17. [Mitchell and Plotkin 85]
    Mitchell, J.C. and Plotkin, G.D., Abstract types have existential types. In Proc. 12-th ACM Symp. on Principles of Programming Languages, January, 1985. pp. 37–51.Google Scholar
  18. [Mulmuley 84]
    Mulmuley, K., A semantic characterization of full abstraction for typed lambda calculus. In Proc. 25-th IEEE Symp. on Foundations of Computer Science, 1984, pages 279–288.Google Scholar
  19. [Plotkin 80]
    Plotkin, G.D., Lambda definability in the full type hierarchy. In To H.B. Curry: Essays on Combinatory Logic, Lambda Calculus and Formalism, pages 363–373. Academic Press 1980.Google Scholar
  20. [Reynolds 74]
    Reynolds, J.C., Towards a Theory of Type Structure. In Paris Colloq. on Programming, Springer-Verlag, 1974, pages 408–425.Google Scholar
  21. [Reynolds 83]
    Reynolds, J.C., Types, Abstraction, and Parametric Polymorphism. In IFIP Congress, 1983.Google Scholar
  22. [Reynolds 84]
    Reynolds, J.C., Polymorphism is not Set-Theoretic. In Int. Symp. on Semantics of Data Types, Springer-Verlag, 1984, pages 145–156.Google Scholar
  23. [Statman 82]
    Statman, R., Logical relations and the typed lambda calculus. (Manuscript.) To appear in Information and Control.Google Scholar
  24. [Tait 67]
    Tait, W.W., Intensional interpretation of functionals of finite type. J. Symbolic Logic 32 1967. pages 198–212Google Scholar

Copyright information

© Springer-Verlag Berlin Heidelberg 1985

Authors and Affiliations

  • John C. Mitchell
    • 1
  • Albert R. Meyer
    • 2
  1. 1.AT&T Bell LaboratoriesMurray Hill
  2. 2.MIT Laboratory for Computer ScienceCambridge

Personalised recommendations