Concrete Semantics: With Isabelle/HOL
by Tobias Nipkow, Gerwin Klein
Publisher: Springer 2016
Number of pages: 308
The book teaches the reader the art of precise logical reasoning and the practical use of a proof assistant as a surgical tool for formal proofs about computer science artefacts. The distinguishing feature is that all the mathematics has been formalised in Isabelle and much of it is executable.
Home page url
Download or read it online for free here:
by J. Girard, Y. Lafont, P. Taylor - Cambridge University Press
This little book comes from a short graduate course on typed lambda-calculus given at the Universite Paris. It is not intended to be encyclopedic and the selection of topics was really quite haphazard. Some very basic knowledge of logic is needed.
by Andrew M. Pitts - University of Cambridge
These notes introduce the structural, operational approach to programming language semantics. The course shows how to specify the meaning of some simple programming language constructs and to reason formally about semantic properties of programs.
by Michael I. Schwartzbach - IT University of Copenhagen
These notes present principles and applications of static analysis of programs. We cover type analysis, lattice theory, control flow graphs, dataflow analysis, fixed-point algorithms, narrowing and widening, control flow analysis, pointer analysis.
by Robert Harper
Provides an account of the role of type theory in programming language design and implementation. The stress is on the use of types as a tool for analyzing programming language features and studying their implementation.