So indeed it is the case that circularity and self-reference appear under many areas in rational thinking. And implicit definitions are probably the most common and important examples of virtuous circles in rational reasoning. And indeed it is all the idea of functional programming is to build upon and to capitalise on how much easier it is to define things circularly. But there are many crucial examples from informatics, but they are not only form computer sciences, so let's just have a quick look at other situations where you have recursive circular definitions. Of course recursive programmes, metacircular interpreters, reflexive domains, but in set theory we have hypersets. Just think of the collection of all objects that I have considered today. Of course we are used to sets which are well founded, but this set is not well founded, it belongs to itself because today I have considered also this set collection. In recursion theory and l calculus we have universal machines, self-reproducing automata and various other situations. In philosophy, in the theories of common knowledge it is very often the case that we have to describe situations which are circular. For instance, I know that others know that I know that others know that I know that. All this is a situation which we cannot describe by just saying that in a given state s the following sigma proposition sigma holds because I also have to say that a is aware of the fact that b is aware of. So all the information s, it is the state s has to satisfy a proposition which speaks about s itself. It would be nice to have time to illustrate Conway's paradox here which is again a paradoxical situation where the difference is really into the fact that some knowledge is common rather than private. In many theories of intentional phenomena we have circularity.