Introduction.- Programming and Proving.- Case Study: IMP Expressions.- Logic and Proof Beyond Equality.- Isar: A Language for Structured Proofs.- IMP: A Simple Imperative Language.- Compiler.- Types.- Program Analysis.- Denotational Semantics.- Hoare Logic.- Abstract Interpretation.- App. A, Auxiliary Definitions.- App. B, Symbols.- References.
Prof. Tobias Nipkow received his Ph.D. in Manchester, after which he taught and carried out research at MIT and in Cambridge. He took up a professorship in 1992 at the Technische Universitat Munchen where he holds the Chair for Logic and Verification. He was one of the developers of Isabelle, a generic proof assistant, and he coauthored the related LNCS tutorial. He also coauthored the textbook "Term Rewriting and All That", and he is the Editor-in-Chief of the Journal of Automated Reasoning. His research interests include automatic and interactive theorem proving, formal verification, formalizing programming languages, type systems, semantics, rewriting and unification, and the lambda-calculus. Assoc. Prof. Gerwin Klein received his Ph.D. in Computer Science from the Technische Universitat Munchen. He is a Senior Principal Researcher/Research Leader at National ICT Australia (NICTA) and an adjunct professor in the School of Computer Science and Engineering, University of New South Wales. His research interests include interactive theorem proving, software verification, and the semantics of programming languages.