Nominal Sets and Their Applications

Principal lecturer:Prof Andrew PittsTaken by:MPhil ACS, Part IIICode: L23Hours: 8Prerequisites: Logic and set theory (e.g. Discrete Mathematics I and II from CST Part IA) and operational semantics of typed programming languages (e.g. Semantics of Programming Languages from CST Part IB). Familiarity with some elementary category theory (such as the Category Theory and Logic L108 module).

Aims

Names and constructs that bind names are ubiquitous in programming
languages. Nominal sets provide a mathematical theory of structures
involving names, based on some simple, but subtle ideas to do with
symmetry and computing with data structures that are infinite, but
finite modulo symmetry. The theory has applications to programming
language semantics, machine-assisted theorem proving and the design of
functional and logical metaprogramming languages. The course
introduces the theory of nominal sets, survey some of its applications
and highlight potential areas for further research.

Syllabus

Structural recursion and induction in the presence of
name-binding operations. [1 lecture]

Permutations, support and freshness; the category of nominal
sets. [2 lectures]