Embedding Programming Languages in Theorem Provers

  • Tobias Nipkow
Conference paper
Part of the Lecture Notes in Computer Science book series (LNCS, volume 1632)


The theory of programming languages is one of the core areas of computer sci- ence offering a wealth of models and methods. Yet the complexity of most real programming languages means that a complete formalization of their semantics is only of limited use unless it is supported by mechanical means for reasoning about the formalization. This line of research started in earnest with the seminal paper by Gordon [1] who dened the semantics of a simple while-language in the HOL system and derived Hoare logic from the semantics. Since then, an ever growing number of more and more sophisticated programming languages have been embedded in theorem provers. This talk surveys some of the important developments in this area before concentrating on a specic instance, Bali. Bali ( is an embedding of a subset of Java in Isabelle/HOL. So far, the following aspects have been covered:


Programming Language Virtual Machine Programming Logic Core Area Type System 
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.


  1. 1.
    M. Gordon. Mechanizing programming logics in higher order logic. In G. Birtwistle and P. Subrahmanyam, editors, Current Trends in Hardware Verification and Automated Theorem Proving. Springer-Verlag, 1989.Google Scholar
  2. 2.
    T. Nipkow and D. v. Oheimb. Javalight is type-safe’ definitely. In Proc. 25th ACM Symp. Principles of Programming Languages, pages 161–170. ACM Press, 1998.Google Scholar
  3. 3.
    D. v. Oheimb and T. Nipkow. Machine-checking the Java specification: Proving type-safety. In J. Alves-Foss, editor, Formal Syntax and Semantics of Java, volume 1523 of Lect. Notes in Comp. Sci. Springer-Verlag, 1999.Google Scholar
  4. 4.
    C. Pusch. Proving the soundness of a Java bytecode verifier specification in Isabelle/ HOL. In W. Cleaveland, editor, Tools and Algorithms for the Construction and Analysis of Systems (TACAS’99), volume 1579 of Lect. Notes in Comp. Sci., pages 89–103. Springer-VerlagGoogle Scholar

Copyright information

© Springer-Verlag Berlin Heidelberg 1999

Authors and Affiliations

  • Tobias Nipkow
    • 1
  1. 1.Technische Universität München Institut für InformatikGermany

Personalised recommendations