Circular Coinduction with Special Contexts

  • Dorel Lucanu
  • Grigore Roşu
Part of the Lecture Notes in Computer Science book series (LNCS, volume 5885)


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_2^0\)-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.


Special Context Special Hypothesis Proof System Reduction Rule Proof Tree 
These keywords were added by machine and not by the authors. This process is experimental and the keywords may be updated as the learning algorithm improves.


Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.


  1. 1.
    Adámek, J.: Introduction to coalgebra. Theory and Applications of Categories 14(8), 157–199 (2005)zbMATHMathSciNetGoogle Scholar
  2. 2.
    Allouche, J.-P., Shallit, J.: The ubiquitous Prouhet-Thue-Morse sequence. In: SETA 1998, pp. 1–16. Springer, Heidelberg (1999)Google Scholar
  3. 3.
    Bidoit, M., Hennicker, R., Kurz, A.: Observational logic, constructor-based logic, and their duality. Theoretical Computer Science 3(298), 471–510 (2003)CrossRefMathSciNetGoogle Scholar
  4. 4.
    Bouhoula, A., Rusinowitch, M.: Observational proofs by rewriting. Theoretical Computer Science 275(1-2), 675–698 (2002)zbMATHCrossRefMathSciNetGoogle Scholar
  5. 5.
    Clavel, M., Durán, F., Eker, S., Lincoln, P., Martí-Oliet, N., Meseguer, J., Talcott, C.L.: All about Maude - a high-performance logical framework, how to specify, program and verify systems in rewriting logic. In: All About Maude - A High-Performance Logical Framework. LNCS, vol. 4350. Springer, Heidelberg (2007)Google Scholar
  6. 6.
    Coquand, T.: Infinite objects in type theory. In: Barendregt, H., Nipkow, T. (eds.) TYPES 1993. LNCS, vol. 806, pp. 62–78. Springer, Heidelberg (1994)Google Scholar
  7. 7.
    Dennis, L.: Proof Planning Coinduction. PhD thesis, Edinburgh University (1998)Google Scholar
  8. 8.
    Dennis, L., Bundy, A., Green, I.: Using a generalisation critic to find bisimulations for coinductive proofs. In: McCune, W. (ed.) CADE 1997. LNCS (LNAI), vol. 1249, pp. 276–290. Springer, Heidelberg (1997)Google Scholar
  9. 9.
    Fokkink, W.: Introduction to Process Algebra. Springer, Berlin (2000)zbMATHGoogle Scholar
  10. 10.
    Goguen, J., Lin, K., Roşu, G.: Conditional circular coinductive rewriting with case analysis. In: Wirsing, M., Pattinson, D., Hennicker, R. (eds.) WADT 2003. LNCS, vol. 2755, pp. 216–232. Springer, Heidelberg (2003)Google Scholar
  11. 11.
    Goguen, J., Malcolm, G.: A hidden agenda. Theoretical Computer Science 245(1), 55–101 (2000)zbMATHCrossRefMathSciNetGoogle Scholar
  12. 12.
    Goguen, J., Meseguer, J.: Completeness of Many-Sorted Equational Logic. Houston Journal of Mathematics 11(3), 307–334 (1985)zbMATHMathSciNetGoogle Scholar
  13. 13.
    Hausmann, D., Mossakowski, T., Schröder, L.: Iterative circular coinduction for CoCasl in Isabelle/HOL. In: Cerioli, M. (ed.) FASE 2005. LNCS, vol. 3442, pp. 341–356. Springer, Heidelberg (2005)Google Scholar
  14. 14.
    Lucanu, D., Goriac, E.-I., Caltais, G., Roşu, G.: CIRC: A behavioral verification tool based on circular coinduction. In: Lenisa, M., Kurz, A., Tarlecki, A. (eds.) CALCO 2009. LNCS, vol. 5728, pp. 433–442. Springer, Heidelberg (2009)Google Scholar
  15. 15.
    Lucanu, D., Roşu, G.: Circ: A circular coinductive prover. In: Mossakowski, T., Montanari, U., Haveraaen, M. (eds.) CALCO 2007. LNCS, vol. 4624, pp. 372–378. Springer, Heidelberg (2007)CrossRefGoogle Scholar
  16. 16.
    Meseguer, J.: General logics. In: Ebbinghaus, H.D., et al. (eds.) Logic Colloquium 1987, pp. 275–329. North Holland, Amsterdam (1989)Google Scholar
  17. 17.
    Niqui, M.: Coinductive formal reasoning in exact real arithmetic. Logical Methods in Computer Science 4(3:6), 1–40 (2008)MathSciNetGoogle Scholar
  18. 18.
    Paulson, L.C.: Mechanizing coinduction and corecursion in higher-order logic. Logic and Computation 7, 175–204 (1997)zbMATHCrossRefMathSciNetGoogle Scholar
  19. 19.
    Roşu, G.: Hidden Logic. PhD thesis, University of California at San Diego (2000)Google Scholar
  20. 20.
    Roşu, G.: Equality of streams is a \(\Pi_2^0\)-complete problem. In: ICFP 2006, pp. 184–191. ACM, New York (2006)Google Scholar
  21. 21.
    Roşu, G., Goguen, J.: Circular coinduction, Short paper. In: IJCAR 2001 (2001)Google Scholar
  22. 22.
    Roşu, G., Lucanu, D.: Circular Coinduction – A Proof Theoretical Foundation. In: Lenisa, M., Kurz, A., Tarlecki, A. (eds.) CALCO 2009. LNCS, vol. 5728, pp. 127–144. Springer, Heidelberg (2009)Google Scholar
  23. 23.
    Rutten, J.: Behavioural Differential Equations: A Coinductive Calculus of Streams, Automata, and Power Series. Theoretical Computer Science 308(1-3), 1–53 (2003)zbMATHCrossRefMathSciNetGoogle Scholar
  24. 24.
    Rutten, J.: A coinductive calculus of streams. Mathematical Structures in Computer Science 15(1), 93–147 (2005)zbMATHCrossRefMathSciNetGoogle Scholar
  25. 25.
    Silva, A., Rutten, J.: Behavioural differential equations and coinduction for binary trees. In: Leivant, D., de Queiroz, R. (eds.) WoLLIC 2007. LNCS, vol. 4576, pp. 322–336. Springer, Heidelberg (2007)CrossRefGoogle Scholar
  26. 26.
    van Glabbeek, R.J.: The linear time - branching time spectrum II. In: Best, E. (ed.) CONCUR 1993. LNCS, vol. 715, pp. 66–81. Springer, Heidelberg (1993)Google Scholar
  27. 27.
    Zantema, H.: Well-definedness of streams by termination. In: Treinen, R. (ed.) RTA 2009. LNCS, vol. 5595, pp. 164–178. Springer, Heidelberg (2009)Google Scholar

Copyright information

© Springer-Verlag Berlin Heidelberg 2009

Authors and Affiliations

  • Dorel Lucanu
    • 1
  • Grigore Roşu
    • 2
  1. 1.Faculty of Computer ScienceAlexandru Ioan Cuza University, IaşiRomania
  2. 2.Department of Computer ScienceUniversity of Illinois at Urbana-ChampaignUSA

Personalised recommendations