Semantics of Programming languages (2nd unit)
- An introduction to Coq.
- Equivalence between Natural Semantics
and Structural Semantics
- Execution and mechanical treatement of Specifications
-
Describing a simple functional programming language (freely inspired from
the paper by D. Clément, J. Despeyroux, T. Despeyroux, and G. Kahn
"A Simple Applicative Language:{M}ini-{ML}", ACM Conference on Lisp and
Functional Programming, 1986), Prolog sources
- The rest of the course uses directly the book of
Hanne Riis Nielson and Flemming Nielson,
Semantics
with Applications, a formal introduction, John Wiley and Sons,
1992.
Previous exams and exercises.
- An example exercise for proofs of program transformations.
- An exercise in formal description of a language (exam of '04)
- An exercise in the formal proofs of semantic properties (exam of '04)
- An exercise in mechanical proof of semantics (exam of '04)
- Solutions
to the three exercises taken from the '04 exam
(don't get too worried, students only had to complete one of the exercises to get full
marks; also each solution contains some extra information, like Prolog programs
or Coq proofs).
- An exercice in the definition of a language with side-effects in expressions (exam of '05). and the solution
- An exercise on proofs of transformation in
the language of the course (exam of '06), and the solution
- Lab. session in November 2006: proofs in semantics, including the proof of
correctness for a loop transformation. The solution is voluntarily kept
private, but I can mail it to you if you request it.
- Lab.session in November 2005 and November 2007: proofs in
semantics, including the proof of correctness of substitution transformation.
- Another possible lab. session
proof of completeness for the Structural
operational semantics (little step) with respect to natural semantics (big step). The
solution actually is in the course notes.
Student project
The work presented in this page
should represent a work load of several
days. Here again, the solution is not provided, but I can discuss the
different issues by mail. This is the project proposed in 2007.
Yves Bertot
Last modified: Thu Oct 6 13:26:46 MEST 2005