ABOUT 
Foundations of Security Summer School, Oregon, 2003Introduction to Lectures on Coinduction and BisimilarityPrerequisitesWe assume that readers already have a reasonable understanding of
These lectures give an introduction to coinduction and bisimilarity. As a basic course for this summer school, they do not assume any knowledge of security, and they do not address security directly. The main topics are covered in two parts. In part I, we give a mathematical definition of coinduction, and bisimilarity, and outline some examples of how these notions can be applied. In part II, we look at an indepth example of the application of coinduction and bisimilarity, within the context of a (hopefully familiar) simple functional language. The use of coinduction to prove contextual equivalences via bisimulations is the central theme. In part III, we give a very brief survey of some security literature which makes use of coinduction and bisimilarity. The lectures present material developed in the literature over the past few years. A key feature is that they attempt to give a neat and uniform account of the key facts concerning (induction and) coinduction, and also bisimilarity. Another feature is that the functional language is based on simple function declarations, and so there is no variable binding. (The accounts in the literature focus on languages with nameless functions and recursion.) Thus we do not have to deal with the awkward consequences of binders, but still retain a framework in which key ideas and key technical issues can be explained. The lecture notes attempt to point out the key stages in proofs of results, giving just the proof procedure for easy results, and giving example steps from proofs of more difficult results. Learning OutcomesBy attending these lectures, and completing at least some of the exercises, you should
The Lecture Slides and Related Material

Author: Roy Crole. 