Journal of Automated Reasoning

, Volume 49, Issue 2, pp 209–239 | Cite as

Formalizing Adequacy: A Case Study for Higher-order Abstract Syntax



Adequacy is an important criterion for judging whether a formalization is suitable for reasoning about the actual object of study. The issue is particularly subtle in the expansive case of approaches to languages with name-binding. In prior work, adequacy has been formalized only with respect to specific representation techniques. In this article, we give a general formal definition based on model-theoretic isomorphisms or interpretations. We investigate and formalize an adequate interpretation of untyped lambda-calculus within a higher-order metalanguage in Isabelle/HOL using the Nominal Datatype Package. Formalization elucidates some subtle issues that have been neglected in informal arguments concerning adequacy.


Adequacy Isomorphism Interpretation Nominal abstract syntax Higher-order abstract syntax 


Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.


  1. 1.
    Abel, A.: A third-order representation of the λμ-calculus. In: Ambler, S., Crole, R., Momigliano, A. (eds.) Electronic Notes in Theoretical Computer Science, vol. 58. Elsevier Science Publishers (2001)Google Scholar
  2. 2.
    Cheney, J.: A simple nominal type theory. In: Logical Frameworks and Meta-Languages: Theory and Practice, pp. 90–104 (2008)Google Scholar
  3. 3.
    Cheney, J., Urban, C.: Nominal logic programming. ACM Trans. Program. Lang. Syst. 30(5), 26 (2008)CrossRefGoogle Scholar
  4. 4.
    Coquand, T.: An algorithm for testing conversion in type theory. In: Logical Frameworks, pp. 255–279. Cambridge University Press, New York (1991)CrossRefGoogle Scholar
  5. 5.
    Crary, K.: Logical relations and a case study in equivalence checking. In: Pierce, B.C. (ed.) Advanced Topics in Types and Programming Languages, pp. 223–244. MIT Press (2005)Google Scholar
  6. 6.
    Crary, K., Harper, R.: Higher-order abstract syntax: setting the record straight. SIGACT News 37(3), 93–96 (2006)CrossRefGoogle Scholar
  7. 7.
    Crole, R.: The representational adequacy of hybrid. Math. Struct. Comput. Sci. (2011, to appear)Google Scholar
  8. 8.
    Gabbay, M.J., Pitts, A.M.: A new approach to abstract syntax with variable binding. Form. Asp. Comput. 13, 341–363 (2002)MATHCrossRefGoogle Scholar
  9. 9.
    Gardner, P.: Equivalences between logics and their representing type theories. Math. Struct. Comput. Sci. 5(3), 323–349 (1995)MATHCrossRefGoogle Scholar
  10. 10.
    Harper, R., Honsell, F., Plotkin, G.D.: A framework for defining logics. J. ACM 40(1), 143–184 (1993)MathSciNetMATHCrossRefGoogle Scholar
  11. 11.
    Harper, R., Licata, D.R.: Mechanizing metatheory in a logical framework. J. Funct. Program. 17(4–5), 613–673 (2007)MathSciNetMATHCrossRefGoogle Scholar
  12. 12.
    Harper, R., Pfenning, F.: On equivalence and canonical forms in the LF type theory. ACM Trans. Comput. Log. 6(1), 61–101 (2005)MathSciNetCrossRefGoogle Scholar
  13. 13.
    Hodges, W.: A Shorter Model Theory. Cambridge University Press (1997)Google Scholar
  14. 14.
    Miller, D., Nadathur, G.: A logic programming approach to manipulating formulas and programs. In: Haridi, S. (ed.) IEEE Symposium on Logic Programming, pp. 379–388. San Francisco (1987)Google Scholar
  15. 15.
    Miller, D., Nadathur, G., Pfenning, F., Scedrov, A.: Uniform proofs as a foundation for logic programming. Ann. Pure Appl. Logic 51, 125–157 (1991)MathSciNetMATHCrossRefGoogle Scholar
  16. 16.
    Narboux, J., Urban, C.: Formalising in nominal Isabelle Crary’s completeness proof for equivalence checking. In: LFMTP, vol. 196 of ENTCS (2007)Google Scholar
  17. 17.
    Norrish, M., Vestergaard, R.: Proof pearl: De Bruijn terms really do work. In: Schneider, K., Brandt, J. (eds.) TPHOLs. Lecture Notes in Computer Science, vol. 4732, pp. 207–222. Springer (2007)Google Scholar
  18. 18.
    Pfenning, F.: Logical frameworks. In: Robinson, A., Voronkov, A. (eds.) Handbook of Automated Reasoning, vol. II, chapter 17, pp. 1063–1147. Elsevier Science (2001)Google Scholar
  19. 19.
    Pitts, A.: Nominal system T. In: POPL, pp. 159–170 (2010)Google Scholar
  20. 20.
    Pitts, A.M.: Alpha-structural recursion and induction. J. ACM 53(3), 459–506 (2006)MathSciNetCrossRefGoogle Scholar
  21. 21.
    Urban, C.: Nominal techniques in Isabelle/HOL. J. Autom. Reason. 40(4), 327–356 (2008)MathSciNetMATHCrossRefGoogle Scholar
  22. 22.
    Urban, C., Berghofer, S., Norrish, M.: Barendregt’s variable convention in rule inductions. In: CADE. LNAI, vol. 4603, pp. 35–50 (2007)Google Scholar
  23. 23.
    Urban, C., Cheney, J., Berghofer, S.: Mechanizing the metatheory of LF. ACM Trans. Comput. Log. (2010, in press)Google Scholar
  24. 24.
    Watkins, K., Cervesato, I., Pfenning, F., Walker, D.: A concurrent logical framework I: judgments and properties. Technical Report CMU-CS-02-101, Carnegie Mellon University (2003)Google Scholar

Copyright information

© Springer Science+Business Media B.V. 2011

Authors and Affiliations

  • James Cheney
    • 1
  • Michael Norrish
    • 2
    • 3
  • René Vestergaard
    • 4
  1. 1.Laboratory for Foundations of Computer ScienceUniversity of EdinburghEdinburghUK
  2. 2.Canberra Research LabNICTACanberraAustralia
  3. 3.Australian National UniversityCanberraAustralia
  4. 4.Research Center for Integrated ScienceJAISTIshikawaJapan

Personalised recommendations