Circular Coinduction with Special Contexts

Coinductive proofs of behavioral equivalence often require human ingenuity, in that one is expected to provide a good relation extending one’s goal with additional lemmas, making automation of coinduction a challenging problem. Since behavioral satisfaction is a Pi_0^2 -hard problem, one can only expect techniques and methods that approximate the behavioral equivalence. Circular coinduction is an automated technique to prove behavioral equivalence by systematically exploring the behaviors of the property to prove: if all behaviors are circular then the property holds. Empirical evidence shows that one of the major reasons for which circular coinduction does not terminate in practice is that the circular behaviors may be guarded by a context. However, not all contexts are safe. This paper proposes a large class of contexts which are safe guards for circular behaviors, called special contexts, and extends circular coinduction appropriately. The resulting technique has been implemented in the CIRC prover and experiments show that the new technique can prove many interesting behavioral properties fully automatically.