Automating Coinduction with Case Analysis

  • Eugen-Ioan Goriac
  • Dorel Lucanu
  • Grigore Roşu
Part of the Lecture Notes in Computer Science book series (LNCS, volume 6447)


Coinduction is a major technique employed to prove behavioral properties of systems, such as behavioral equivalence. Its automation is highly desirable, despite the fact that most behavioral problems are \(\Pi_2^0\)-complete. Circular coinduction, which is at the core of the CIRC prover, automates coinduction by systematically deriving new goals and proving existing ones until, hopefully, all goals are proved. Motivated by practical examples, circular coinduction and CIRC have been recently extended with several features, such as special contexts, generalization and simplification. Unfortunately, none of these extensions eliminates the need for case analysis and, consequently, there are still many natural behavioral properties that CIRC cannot prove automatically. This paper presents an extension of circular coinduction with case analysis constructs and reasoning, as well as its implementation in CIRC. To uniformly prove the soundness of this extension, as well as of past and future extensions of circular coinduction and CIRC, this paper also proposes a general correct-extension technique based on equational interpolants.


Case Analysis Special Context Proof System Behavioral Property Reduction Rule 
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.
    Bouhoula, A., Rusinowitch, M.: Automatic case analysis in proof by induction. In: IJCAI, pp. 88–94. Morgan Kaufmann Publishers Inc., San Francisco (1993)Google Scholar
  2. 2.
    Bouhoula, A., Rusinowitch, M.: Observational proofs by rewriting. Theor. Comput. Sci. 275(1-2), 675–698 (2002)MathSciNetCrossRefzbMATHGoogle Scholar
  3. 3.
    Dijkstra, E.W.: Guarded commands, non-determinacy and formal derivation of programs. Commun. ACM 18(8), 453–457 (1975)CrossRefzbMATHGoogle Scholar
  4. 4.
    Goguen, J., Lin, K., Roşu, G.: Circular coinductive rewriting. In: ASE 2000: Proceedings of the 15th IEEE International Conference on Automated Software Engineering, pp. 123–132. IEEE, Washington (2000)CrossRefGoogle Scholar
  5. 5.
    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)CrossRefGoogle Scholar
  6. 6.
    Goriac, E., Caltais, G., Lucanu, D.: Simplification and Generalization in CIRC. In: 12th International Symposium on Symbolic and Numeric Algorithms for Scientific Computing, IEEE Computer Society, Los Alamitos (2009)Google Scholar
  7. 7.
    Lucanu, D., Goriac, E.-I., Caltais, G., Roşu, G.: CIRC: A behavioral verification tool based on circular coinduction. In: Kurz, A., Lenisa, M., Tarlecki, A. (eds.) CALCO 2009. LNCS, vol. 5728, pp. 433–442. Springer, Heidelberg (2009)CrossRefGoogle Scholar
  8. 8.
    Lucanu, D., Roşu, G.: Circular coinduction with special contexts. In: Breitman, K., Cavalcanti, A. (eds.) ICFEM 2009. LNCS, vol. 5885, pp. 639–659. Springer, Heidelberg (2009)CrossRefGoogle Scholar
  9. 9.
    Niqui, M., Rutten, J.J.M.M.: Sampling, splitting and merging in coinductive stream calculus. In: Mathematics of Program Construction 2010 (MPC 2010) (to appear, 2010); See CWI Technical report SEN-E0904 (2009)
  10. 10.
    Roşu, G., Lucanu, D.: Circular Coinduction – A Proof Theoretical Foundation. In: Kurz, A., Lenisa, M., Tarlecki, A. (eds.) CALCO 2009. LNCS, vol. 5728, pp. 127–144. Springer, Heidelberg (2009)CrossRefGoogle Scholar
  11. 11.
    Rutten, J.J.M.M.: A coinductive calculus of streams. Mathematical Structures in Computer Science 15(1), 93–147 (2005)MathSciNetCrossRefzbMATHGoogle Scholar

Copyright information

© Springer-Verlag Berlin Heidelberg 2010

Authors and Affiliations

  • Eugen-Ioan Goriac
    • 1
  • Dorel Lucanu
    • 1
  • Grigore Roşu
    • 2
  1. 1.Faculty of Computer ScienceAlexandru Ioan Cuza UniversityRomania
  2. 2.Department of Computer ScienceUniversity of IllinoisUrbana-ChampaignUSA

Personalised recommendations