Formalization of the Meta-Theory of a Programming Language with Binders

프로그래밍 언어 메타이론의 정형화 및 변수 묶기

  • 이계식 (산업기술총합연구소 정보보안연구센터)
  • Published : 2008.12.15

Abstract

We introduce some well-known approaches to formalization and automatization of the meta-theory of a programming language with binders. They represent the trends in POPLmark Challenge. We demonstrate some characteristics of each approach by showing how to formalize some basic notations and concepts of Lambda-calculus using the proof assistant Coq.

프로그래밍 언어의 구문 구조(syntax)와 메타이론을 정형화(formalization)하고 관련된 명세(specification)의 증명을 자동화(automatization)하는 과정에서 일어날 수 있는 모든 종류의 변수 묶기(variable binding)를 정형적(formal)으로 구현, 해결하는 방식을 개략적으로 소개한다. 또한 함수언어(functional language)의 기본으로 사용되는 Lambda calculus와 연계해서 POPLmark Challenge와 관련된 시도들의 공통점, 차이점 및 각각의 특성을 증명보조 툴인 Coq에서 구현된 간단한 예제들을 통해 보여준다.

Keywords

References

  1. N. G. de Bruijn, AUTOMATH, a language for mathematics. Technical Report 68-WSK-05, T.H.- Reports, Einhoven University of Technology, 1968
  2. M. Kaufmann, J. S. Moore, and P. Manolios. Computer-Aided Reasoning: An Approach. Kluwer Academic Publishers. 2000
  3. Y. Bertot and P. Casteran. Interactive Theorem Proving and Program Development (Coq'Art: The Calculus of Inductive Constructions), volume XXV of EATCS Texts in Theoretical Computer Science. Springer-Verlag, 2004
  4. M. J. C. Gordon and T. F. Melham, editors. Introduction to HOL: a theorem proving environment for higher order logic. Cambridge University Press. 1993
  5. T. Nipkow, L. C. Paulson, and M. Wenzel. Isabelle/HOL: A Proof Assistant For Higher-Order Logic, volume 2283 of Lecture Notes in Computer Science. Springer-Verlag. 2002
  6. Z. Luo and R. Pollack. The LEGO proof development system: A user's manual. Technical Report ECS-LFCS-92-211, University of Edinburgh, May 1992
  7. R. L. Constable, S. F. Allen, M. Bromley, R. Cleaveland, J. F. Cremer, R. W. Harper, D. J. Howe, T. B. Knoblock, P. Mendler, P. Panangaden, J. T. Sasaki, and S. F. Smith. Implementing Mathematics with the NuPRL Proof Development System. Prentice-Hall. 1986
  8. B. Aydemir, A. Bohannon, M. Fairbairn, J. Foster, B. Pierce, P. Sewell, D. Vytiniotis, G. Washburn, S. Weirich, and S. Zdancewic. Mechanized Metatheory for the Masses: The PoplMark Challenge. 2005. http://www.cis.upenn.edu/~plclub/wiki-static/ poplmark.pdf
  9. N. G. de Bruijn. Lambda calculus notation with nameless dummies, a tool for automatic formula manipulation, with application to the Church-Rosser theorem. Indagationes Mathematicae, 34(5):381-392, 1972
  10. B. Aydemir, A. Charguéraud, B. C. Pierce, R. Pollack, and S. Weirich. Engineering formal metatheory. In POPL '08: Proceedings of the 35th Annual ACM SIGPLAN-SIGACT Symposium on Principles of Programming Languages, pages 3-15. ACM Press, 2008
  11. J. McKinna and R. Pollack. Pure Type Systems formalized. In Typed Lambda Calculi and Applications (TLCA '93), volume 664 of LNCS, pages 289-305. 1993
  12. J. McKinna and R. Pollack. Some lambda calculus and type theory formalized. Journal of Automated Reasoning, 23(3-4):373-409, 1999 https://doi.org/10.1023/A:1006294005493
  13. F. Pfenning and C. Elliot. Higher-order abstract syntax. In PLDI '88: Proceedings of the ACM SIGPLAN 1988 Conference on Programming Language Design and Implementation, pages 199- 208. ACM Press, 1988
  14. H. P. Barendregt. The Lambda Calculus, Its Syntax and Semantics, volume 103 of Studies in Logic and the Foundations of Mathematics. North-Holland, 1984
  15. P. Martin-Lof. Intuitionistic Type Theory. Bibliopolis, Napoli, 1984
  16. B. Nordström, K. Petersson, and J. M. Smith. Programming in Martin-Lof's Type Theory. Oxford University Press, 1990
  17. J.-Y. Girard. The System F of Variable Types, Fifteen Years Later. Theor. Comput. Sci. 45(2): 159-192. 1986 https://doi.org/10.1016/0304-3975(86)90044-7
  18. Th. Coquand and G. Huet. The Calculus of Constructions. Information and Computation. 76(2/3). 1988
  19. H. Herbelin and G. Lee. Semantical normalisation using Kripke models for full predicate logic (a case study on the representation of binders). In preparation, 2008