MOD 2014/15 (375AA, 9 CFU)
Lecturer: Roberto Bruni
web - CLI - email - phone 050 2212785 - fax 050 2212726
Office hours: Wednesday 15:00-17:00 or by appointment
The objective of the course is to present:
and also to present some intellectual tools/techniques:
To this aim, a rigorous approach will be followed for both the syntax and the semantics of the paradigms we work on:
The focus will be on basic proof techniques (there will be not time to introduce more advanced topics in detail).
In doing so, several important notions will be presented (not necessarily in this order): context-free grammars, proof systems (axioms and inference rules), goal-driven derivations, various incarnations of well-founded induction, structural recursion, lambda-calculus, program equivalence, compositionality, completeness and correctness, type systems, domain theory (complete partial orders, continuous functions, fixpoint), labelled transition systems, bisimulation equivalences, temporal and modal logics, Markov chains, probabilistic reactive and generative systems.
We introduce the principles of operational semantics, the principles of denotational semantics, and the techniques to relate one to the other for an imperative language and for a higher order functional language. Operational and observational semantics of two process description languages (CCS and pi-calculus) are presented. Several examples of temporal and modal logics are also discussed (HM, LTL, CTL*, mu-calculus). Finally, we consider operational nondeterministic models with discrete probabilities, and we present them from the perspective of probabilistic and stochastic automata, and of the PEPA calculus.
The evaluation will be based on written and oral exams.
The written exam is not necessary if the two (written) mid-terms exams are evaluated positively.
Registration to written exams (mandatory): Exams registration system
In the written exam the student must demonstrate
During the oral exam the student must demonstrate
N | Date | Time | Room | Lecture notes | Links |
---|---|---|---|---|---|
1 | Mon 23/02 | 14:00-16:00 | C1 | Introduction to the course | |
2 | Wed 25/02 | 11:00-13:00 | L1 | Preliminaries | |
3 | Thu 26/02 | 11:00-13:00 | L1 | Preliminaries Unification | A short note on unification |
4 | Mon 02/03 | 14:00-16:00 | C1 | Operational semantics of IMP | |
5 | Wed 04/03 | 11:00-13:00 | L1 | Operational semantics of IMP: non-termination, equivalence | |
6 | Thu 05/03 | 11:00-13:00 | L1 | Canceled To recover, an additional lecture has been scheduled on Thu 12/03/2015 from 14:00 to 16:00 | |
7 | Mon 09/03 | 14:00-16:00 | C1 | Induction and recursion: well-founded induction, mathematical inductions, structural induction | |
8 | Wed 11/03 | 11:00-13:00 | L1 | Induction and recursion: induction on derivations, rule induction | |
9 | Thu 12/03 | 11:00-13:00 | L1 | Induction and recursion: well-founded recursion Partial orders and fixpoints: partial orders, Hasse diagrams, least upper bound | |
10 | Thu 12/03 | 14:00-16:00 | B | Exercises on the operational semantics of IMP and induction | |
11 | Mon 16/03 | 14:00-16:00 | C1 | Partial orders and fixpoints: chains, complete partial orders, continuity and fixpoints immediate consequences operator | |
12 | Wed 18/03 | 11:00-13:00 | L1 | Partial orders and fixpoints: immediate consequences operator Introduction to the lambda-notation | |
13 | Thu 19/03 | 11:00-13:00 | L1 | Denotational semantics of IMP | A short note on lambda-notation |
14 | Mon 23/03 | 14:00-16:00 | C1 | Denotational semantics of IMP: Equivalence between operational and denotational semantics: completeness | |
15 | Wed 25/03 | 11:00-13:00 | L1 | Denotational semantics of IMP: Equivalence between operational and denotational semantics: correctness Computational induction (optional argument) | |
16 | Thu 26/03 | 11:00-13:00 | L1 | Exercises about CPO and the denotational semantics of IMP | |
17 | Mon 30/03 | 14:00-16:00 | C1 | Operational semantics of HOFL: Pre-terms, well-formed terms, typability | |
18 | Wed 01/04 | 11:00-13:00 | L1 | Operational semantics of HOFL: Lazy and eager semantics, canonical forms | |
19 | Thu 02/04 | 11:00-13:00 | L1 | Exercises: preparation to mid-term exam | |
20 | Mon 13/04 | 14:00-16:00 | A1 | First mid-term written exam Exam | |
21 | Wed 15/04 | 11:00-13:00 | L1 | Solutions to the first mid-term exam Exercises on the operational semantics of HOFL | |
22 | Thu 16/04 | 11:00-13:00 | L1 | Canceled due to a student assembly | |
23 | Mon 20/04 | 14:00-16:00 | C1 | Exercises on the equivalence between the operational and denotational semantics of IMP and on the operational semantics of HOFL | |
24 | Wed 22/04 | 11:00-13:00 | L1 | Domain theory: Integers with bottom, cartesian product, functional domains, lifting | |
25 | Thu 23/04 | 11:00-13:00 | L1 | Domain theory: continuity theorems, apply, currry, fix | |
26 | Mon 27/04 | 14:00-16:00 | C1 | HOFL denotational semantics | |
27 | Wed 29/04 | 11:00-13:00 | L1 | Equivalence between the operational and denotational semantics of HOFL | |
28 | Thu 30/04 | 11:00-13:00 | L1 | Exercises on the denotational semantics of HOFL and on the equivalence between the operational and denotational semantics of HOFL | |
29 | Mon 04/05 | 14:00-16:00 | C1 | CCS: operational semantics | |
30 | Wed 06/05 | 11:00-13:00 | L1 | CCS: abstract semantics, strong bisimilarity | |
31 | Thu 07/05 | 11:00-13:00 | L1 | CCS: Modelling with CCS, Hennessy-Milner logic, weak bisimilarity | A short note on CCS |
32 | Mon 11/05 | 14:00-16:00 | C1 | CCS: Milner's tau-laws, dynamic bisimilarity, modelling with CCS Temporal and modal logics: linear temporal logic (LTL) | PseuCo TAPAS |
33 | Wed 13/05 | 11:00-13:00 | L1 | Temporal and modal logics: computational tree logic (CTL* and CTL), mu-calculus | |
34 | Thu 14/05 | 11:00-13:00 | L1 | Pi-calculus: syntax and operational semantics, structural equivalence and reduction semantics (optional reading) abstract semantics, early and late bisimilarities | A short note on Google Go Google Go |
Mon 18/05 | 14:00-16:00 | C1 | Exercises on CCS, modal logic and pi-calculus | ||
Wed 20/05 | 11:00-13:00 | L1 | Measure theory and Markov chains: probability space, stochastic processes, DTMC | ||
Thu 21/05 | 11:00-13:00 | L1 | Measure theory and Markov chains: steady state distribution, CTMC Markov chains with actions and nondeterminism: reactive systems, generative systems, simple Segala automata, Segala automata alternative and bundle transitions systems (optional reading) | ||
Thu 21/05 | 14:00-16:00 | L1 | PEPA Exercises: preparation to mid-term exam | PEPA | |
Mon 25/05 | 14:00-16:00 | C1 | Exercises on probabilistic systems | ||
Thu 28/05 | 14:00-16:00 | A1 | Second mid-term written exam Exam | ||
Wed 10/06 | 11:00-13:00 | L1 | Exam | ||
Wed 01/07 | 11:00-13:00 | L1 | Exam | ||
Wed 22/07 | 11:00-13:00 | L1 | Exam | ||
Wed 09/09 | 11:00-13:00 | A1 | Exam | ||
Wed 20/01 | 14:00-16:00 | N1 | Exam | ||
Wed 10/02 | 14:00-16:00 | N1 | Exam |