Introduction to "Interaction and Concurrency" and the course dynamics. Labelled transition systems. Morphisms between transition systems. Notions of trace, simulation and bisimulation. Bisimilarity.
Specification of reactive systems with process algebras. Introduction to CCS: motivation, examples.
CCS process combinators: syntax and operational semantics.
The calculus of (strict) bisimilarity. The expansion theorem. I
Introduction to observational equivalences. How to turn observational equivalence into a congruence? Observational calculi.
Specification of process properties. Brief introduction to modal logic. The Hennessy-Milner logic for processes.
Describing process properties in the Hennessy-Milner logic. Modal equivalence and its relation with bisimulation.
Introduction to quantum processes: quantum information and quantum computation. From bits to quibits.
Computing with qubits. My first quantum program: the Deutsch algorithm.
Principles of quantum conputation. Quantum gates and the curcuit model.
The teleportation protocol. Quantum algorithms for unstructured search: Introduction to Grover's algorithm.
Grover's algorithm. A classification of quantum algorithms.
Exercises on labelled transition systems and bisimilarity.
Conclusion of the previous lecture. Exercises on process algebra: CCS combinators.
Exercises on process algebra: modelling reactive systems in CCS.
Exercises on process algebra: strict equivalence calculus.
A brief tutorial on modelling processes in mCRL2 [slides], [demo], [file], and [hands-on self tutorial]
Exercises on process algebra: observational equivalence calculi.
Exercises on process logic [Exercise Sheet 5].
Introduction to quantum computing using Qiskit [Jupyter Notebook (updated)] [images].