IMC011 Semantics and Domain Theory Spring 2012
Teacher
Herman Geuvers: home page
Introduction
Denotational Semantics is about assigning a mathematical
meaning to syntax (in particular, that of programming languages) which
is, in some sense, independent of how the syntax is presented, or what
computational rules it may obey (which are properly the subject matter
of Operational Semantics).
Domain Theory is the mathematics of the objects,
sets-with-structure, and mappings between them, which serve as a
vehicle for denotational semantics.
Material
- Lecture Notes on Denotational Semantics by Andy Pitts and Glynn Winskel,
to be abbreviated to DENS for now. (Available via internet:
PDF file)
- Selected sections (Ch. 3.1 and 3.2) from Domains and Lambda Calculi
by Roberto Amadio and Pierre-Louis Curien, Cambridge University Press, 1998,
pp: 484
- Selected sections (Ch. 13)from Formal Semantics of Programming Languages
by Glynn Winskel, MIT Press, Cambridge, Massachusetts, 1993.
- Selected sections (Ch. 8)from Semantics of Programming Languages: Structures
and Techniques, by Carl Gunter, MIT Press, Cambridge, Massachusetts, 1992.
Background material, notably on operational semantics can be
found in Hanne Riis Nielson en Flemming
Nielson: Semantics
with applications, Wiley 1999 (now freely available).
Structure
The course is divided roughly into 3 parts:
- Introduction to Denotational Semantics
- Operational and Denotational Semantics of PCF
- Advanced topics
Set up
The course consists of 2 hours combined
"hoor-/werkcollege" TUESDAY, 15:45--17:30, in 5-7, 9-13, 16-17,
19-25 HG 01.057, plus "self study" and question time "on
demand".
The course by week
The following gives a rough schedule.
- week 5: Chapter 1 of DENS, Exercises: see Blackboard
- week 6: Chapter 1 of DENS,
Exercises:
- The two exercises of Winskel at the end of Chapter 1.
- Prove F(w_infty) = w_infty for F and w_infty in Winskel's notes
- Prove forall s exists n [F^n(bot)(s) = F^{n+1}(bot)(s)]
- Define a semantics for "repeat P until b"
- If you think "repeat" is easy, define a semantics for "for
x = a to b do P". First try with a, b numbers, then think about
the general situation, where a and b are arbitrary
expressions.
- week 7: Chapter 2 of DENS
- week 9: Chapter 3 of DENS
- week 10: Chapter 4 of DENS.
- week 11: Chapter 5 of DENS
- week 12: Chapter 5 of DENS
- week 13: Chapter 6 of DENS
- week 16: Chapter 7 of DENS
- week 17: Chapter 8 of DENS
- week 19: Recap of DENS
- week 20: NO LECTURE
- week 21: Chapter 3.1 of Amadio-Curien
- week 22: Chapter 3.2 of Amadio-Curien
- week 23: Chapter 13 of Winskel-MIT
- week 24: Chapter 8 of Gunter-MIT and hand out of test exam
- week 25: Recap of part 2, questions on test exam
Exam
Tuesday 15:30 -- 17:30, week 26, HG 00.310, written exam.
Links
- For those interested in a course on Lattices and Duality
(focussing partly on Domain theory), there is a course taught
by
Mai Gehrke. (Check when it is given.)
herman at cs dot ru dot nl