Metric Coinduction
Posted by David Corfield
Dexter Kozen and Nicholas Ruozzi have a paper Applications of Metric Coinduction which begins
Mathematical induction is firmly entrenched as a fundamental and ubiquitous proof principle for proving properties of inductively defined objects. Mathematics and computer science abound with such objects, and mathematical induction is certainly one of the most important tools, if not the most important, at our disposal.
Perhaps less well entrenched is the notion of coinduction. Despite recent interest, coinduction is still not fully established in our collective mathematical consciousness. A contributing factor is that coinduction is often presented in a relatively restricted form. Coinduction is often considered synonymous with bisimulation and is used to establish equality or other relations on infinite data objects such as streams or recursive types.
In reality, coinduction is far more general. For example, it has been recently been observed that coinductive reasoning can be used to avoid complicated arguments involving the limiting behavior of a stochastic process, replacing them with simpler algebraic arguments that establish a coinduction hypothesis as an invariant of the process, then automatically deriving the property in the limit by application of a coinduction principle. The notion of bisimulation is a special case of this: establishing that a certain relation is a bisimulation is tantamount to showing that a certain coinduction hypothesis is an invariant of some process.
The paper involves a series of applications of the ‘coinductive rule’ for complete metric spaces. Let be a complete metric space, and a contractive function, i.e., there exists such that for all ,
Any such map has a unique fixed point, in .
The authors then consider the category whose objects are nonempty closed subsets of and whose arrows are the reverse set inclusions. If we now define as the closure of , for , then is an endofunctor on . The terminal coalgebra for is , the singleton set of the fixed point.
Any nonempty closed subset, , of which contains its own image under is a coalgebra for . The finality of the coalgebra expresses itself then in the coinductive rule, that as above must contain .
A couple of things I’m wondering now. Whether I’ve quite grasped the distinction between coinduction and corecursion. From what I wrote there, this might seem better described as a ‘corecursive rule for complete metric spaces’. Please modify those Lab entries as necessary.
And second, relating to my current interest in ‘symmetry breaking’ in mathematics, couldn’t Kozen and Ruozzi have defined their category to be nonempty closed subsets of with inclusions as morphisms? Then would have been the initial algebra of , and all would go through as before, producing an ‘inductive rule for complete metric spaces’.
Surely the only way coinduction starts to look different from induction is when you have good reason to fix a non-self-dual category as the setting. So working in , algebras are about constructing sets from specific terms and constructors, whereas coalgebras are about unfolding the behaviour of a system. But this depends on certain features of .
Re: Metric Coinduction
I'd say yes. But I'd also warn anybody that the distinction between ‘induction’ and ‘recursion’ (and their duals) is not always observed in the literature.
There are actually three levels here. We produces proofs by (co)induction; that is, we define (which amounts to establishing the existence of, since they are necessarily unique) elements of a truth value. By (co)recursion, we define elements of a set, most fundamentally elements of a hom-set into a final coalgebra or out of an initial algebra. And then we can also define (co)inductive types, which are objects of a category.
Many people say ‘induction’ for all levels. Many people say ‘induction’, ‘recursion’, and then ‘induction’ again, while many people say ‘induction’, ‘recursion’, and then ‘recursion’ again. I'm inclined to say (which I just thought of, but now it looks obvious) to say ‘induction’, ‘recursion’, and ‘-recursion’.
For example, give the polynomial , we rely on abstract nonsense to assure us that the category of sets has an initial algebra for this endofunctor; in this way, we -recursively define the set of natural numbers. Then when we run across some algebra for this endofunctor, such as a metric space equipped with a point (the theorem that you cite doesn't hold for the empty space) and a contractive endomap, we recursively define an algebra homomorphism from to . Then when we run across some algebra homomorphism from to , we inductively (or -recursively) conclude that equals .