Skip to main content

Iterative Circular Coinduction for CoCasl in Isabelle/HOL

  • Conference paper

Part of the Lecture Notes in Computer Science book series (LNTCS,volume 3442)

Abstract

Coalgebra has in recent years been recognized as the framework of choice for the treatment of reactive systems at an appropriate level of generality. Proofs about the reactive behavior of a coalgebraic system typically rely on the method of coinduction. In comparison to ‘traditional’ coinduction, which has the disadvantage of requiring the invention of a bisimulation relation, the method of circular coinduction allows a higher degree of automation. As part of an effort to provide proof support for the algebraic-coalgebraic specification language CoCasl, we develop a new coinductive proof strategy which iteratively constructs a bisimulation relation, thus arriving at a new variant of circular coinduction. Based on this result, we design and implement tactics for the theorem prover Isabelle which allow for both automatic and semiautomatic coinductive proofs. The flexibility of this approach is demonstrated by means of examples of (semi-)automatic proofs of consequences of CoCasl specifications, automatically translated into Isabelle theories by means of the Bremen heterogeneous Casl tool set Hets.

Keywords

  • Binary Tree
  • Iterative Construction
  • Automatic Proof
  • Left Subtree
  • Coalgebra Structure

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.

References

  1. Bidoit, M., Mosses, P.D.: CASL User Manual. LNCS, vol. 2900. Springer, Heidelberg (2004)

    MATH  CrossRef  Google Scholar 

  2. Dennis, L.: Proof planning coinduction, Ph.D. thesis, Edinburgh University (1998)

    Google Scholar 

  3. 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 

  4. Goguen, J., Lin, K., Rosu, 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)

    CrossRef  Google Scholar 

  5. Mossakowski, T.: HetCASL – heterogeneous specification. Language summary (2004)

    Google Scholar 

  6. Mossakowski, T.: Heterogeneous specification and the heterogeneous tool set, Habilitation thesis (draft), University of Bremen (2004)

    Google Scholar 

  7. Mossakowski, T., Schröder, L., Roggenbach, M., Reichel, H.: Algebraic-co-algebraic specification in CoCASL, J. Logic Algebraic Programming (to appear)

    Google Scholar 

  8. Mosses, P.D.: CASL reference manual. LNCS, vol. 2960. Springer, Heidelberg (2004)

    MATH  CrossRef  Google Scholar 

  9. Nipkow, T., Paulson, L.C., Wenzel, M.T.: Isabelle/HOL, vol. 2283. Springer, Heidelberg (2002)

    MATH  CrossRef  Google Scholar 

  10. Rosu, G.: Hidden logic, Ph.D. thesis, University of California at San Diego (2000)

    Google Scholar 

  11. Rutten, J.: Universal coalgebra: A theory of systems. Theoret. Comput. Sci. 249, 3–80 (2000)

    MATH  CrossRef  MathSciNet  Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Editor information

Editors and Affiliations

Rights and permissions

Reprints and Permissions

Copyright information

© 2005 Springer-Verlag Berlin Heidelberg

About this paper

Cite this paper

Hausmann, D., Mossakowski, T., Schröder, L. (2005). Iterative Circular Coinduction for CoCasl in Isabelle/HOL. In: Cerioli, M. (eds) Fundamental Approaches to Software Engineering. FASE 2005. Lecture Notes in Computer Science, vol 3442. Springer, Berlin, Heidelberg. https://doi.org/10.1007/978-3-540-31984-9_26

Download citation

  • DOI: https://doi.org/10.1007/978-3-540-31984-9_26

  • Publisher Name: Springer, Berlin, Heidelberg

  • Print ISBN: 978-3-540-25420-1

  • Online ISBN: 978-3-540-31984-9

  • eBook Packages: Computer ScienceComputer Science (R0)