Skip to main content

Closure Induction in a Z-Like Language

  • Conference paper
  • First Online:
Book cover ZB 2000: Formal Specification and Development in Z and B (ZB 2000)

Part of the book series: Lecture Notes in Computer Science ((LNCS,volume 1878))

Included in the following conference series:

  • 186 Accesses

Abstract

Simply-typed set-theoretic languages such as Z and B are widely used for program and system specifications. The main technique for reasoning about such specifications is induction. However, while partiality is an important concept in these languages, many standard approaches to automating induction proofs rely on the totality of all occurring functions. Reinterpreting the second author’s recently proposed induction technique for partial functional programs, we introduce in this paper the new principle of “closure induction” for reasoning about the inductive properties of partial functions in simply-typed set-theoretic languages. In particular, closure induction allows us to prove partial correctness, that is, to prove those instances of conjectures for which designated partial functions are explicitly defined.

D. Duffy was supported by the EPSRC under grant no. GR/L31104.

J. Giesl was supported by the DFG under grant no. GI 274/4-1.

This is a preview of subscription content, log in via an institution to check access.

Access this chapter

Chapter
USD 29.95
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
eBook
USD 39.99
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
Softcover Book
USD 54.99
Price excludes VAT (USA)
  • Compact, lightweight edition
  • Dispatched in 3 to 5 business days
  • Free shipping worldwide - see info

Tax calculation will be finalised at checkout

Purchases are for personal use only

Institutional subscriptions

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

References

  1. R. D. Arthan. Undefinedness in Z: Issues for specification and proof. In CADE-13 Workshop on Mechanisation of Partial Functions. New Brunswick, New Jersey, USA, 1996.

    Google Scholar 

  2. F. Baader and T. Nipkow. Term rewriting and all that.Cambridge University Press, 1998.

    Google Scholar 

  3. G. Birkhoff. On the structure of abstract algebras. Proc. Cambridge Philos. Soc. 31:433–454, 1934.

    Article  Google Scholar 

  4. A. Bouhoula and M. Rusinowitch. Implicit induction in conditional theories. Journal of Automated Reasoning, 14:189–235, 1995.

    Article  MATH  MathSciNet  Google Scholar 

  5. R. S. Boyer and J S. Moore. A Computational Logic. Academic Press, 1979.

    Google Scholar 

  6. J. Brauburger and J. Giesl. Termination analysis by inductive evaluation. In Proc. CADE-15, LNAI 1421, pages 254–269. Springer, 1998.

    Google Scholar 

  7. J. Brauburger and J. Giesl. Approximating the domains of functional and imperative programs. Science of Computer Programming, 35:113–136, 1999.

    Article  MATH  MathSciNet  Google Scholar 

  8. F. Bronsard, U. S. Reddy, and R. W. Hasker. Induction using term orders. Journal of Automated Reasoning, 16:3–37, 1996.

    Article  MATH  MathSciNet  Google Scholar 

  9. A. Bundy, A. Stevens, F. van Harmelen, A. Ireland, and A. Smaill. Rippling: A heuristic for guiding inductive proofs. Artificial Intelligence, 62:185–253, 1993.

    Article  MATH  MathSciNet  Google Scholar 

  10. N. Dershowitz and J.-P. Jouannaud. Rewrite systems. In Handbook of Theoretical Computer Science, volume B, pages 243–320. North-Holland, 1990.

    MathSciNet  Google Scholar 

  11. D. A. Duffy. On partial-function application in Z. In 3rd Northern Formal Methods Workshop, Ilkley, UK, 1998. Springer. http://www.ewic.org.uk/ewic/.

  12. J. Giesl. The critical pair lemma: A case study for induction proofs with partial functions. Technical Report IBN 98/49, TU Darmstadt, 1998. http://www. inferenzsysteme.informatik.tu-darmstadt.de/~reports/notes/ibn-98-49.ps.

    Google Scholar 

  13. J. Giesl. Induction proofs with partial functions. Journal of Automated Reasoning, 2000. To appear. Preliminary version appeared as Technical Report IBN 98/48, TU Darmstadt, Germany. Available from http://www.inferenzsysteme.informatik.tudarmstadt.de/~giesl/ibn-98-48.ps.

    Google Scholar 

  14. J. Giesl, C. Walther, and J. Brauburger. Termination analysis for functional programs. In W. Bibel and P. Schmitt, editors, Automated Deduction-A Basis for Applications, Vol. III, Applied Logic Series 10, pages 135–164. Kluwer, 1998.

    Google Scholar 

  15. J. A. Goguen, J. W. Thatcher, and E. G. Wagner. An initial algebra approach to the specification, correctness, and implementation of abstract data types. In R. T. Yeh, editor, Current Trends in Programming Methodology, volume 4. Prentice-Hall, 1978.

    Google Scholar 

  16. B. Gramlich. Abstract relations between restricted termination and confluence properties of rewrite systems. Fundamenta Informaticae, 34:3–23, 1995.

    MathSciNet  Google Scholar 

  17. C. B. Jones. Partial functions and logics: A warning. Information Processing Letters, 54:65–67, 1995.

    Article  MATH  Google Scholar 

  18. D. Kapur. Constructors can be partial, too. In R. Veroff, editor, Automated Reasoning and its Applications-Essays in Honor of Larry Wos, pages 177–210. MIT Press, 1997.

    Google Scholar 

  19. D. Kapur and M. Subramaniam. New uses of linear arithmetic in automated theorem proving by induction. Journal of Automated Reasoning, 16:39–78, 1996.

    Article  MATH  MathSciNet  Google Scholar 

  20. J. M. Spivey. The Z Notation: A Reference Manual, Second Edition. Prentice Hall, 1992.

    Google Scholar 

  21. I. Toyn. Z standard(draft). Available from the Department of Computer Science, University of York at http://www.cs.york.ac.uk/~ian/zstan, 1999.

  22. I. Toyn. CADiZ. Available from the Department of Computer Science, University of York at the web address http://www.cs.york.ac.uk/~ian/cadiz/home.html, 2000.

  23. I. Toyn, S. H. Valentine, and D. A. Duffy. On mutually recursive free types in Z. In Proceedings International Conference of Z and B Users, ZB2000, LNCS. Springer, 2000. To appear.

    Google Scholar 

  24. S. Valentine. Inconsistency and undefinedness in Z-a practical guide. In Proceedings 11th International Conference of Z Users, ZUM’98, LNCS 1493, pages 233–249. Springer, 1998.

    Google Scholar 

  25. C. Walther. Mathematical induction. In D. M. Gabbay, C. J. Hogger, and J. A. Robinson, editors, Handbook of Logic in Artificial Intelligence and Logic Programming, volume 2. Oxford University Press, 1994.

    Google Scholar 

  26. C.-P. Wirth and B. Gramlich. On notions of inductive validity for first-order equational clauses. In Proc. CADE-12, LNAI 814. Springer, 1994.

    Google Scholar 

  27. H. Zhang, D. Kapur, and M. S. Krishnamoorthy. A mechanizable principle of induction for equational specifications. In Proc. CADE-9, LNAI 310, pages 162–181. Springer, 1988.

    Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Rights and permissions

Reprints and permissions

Copyright information

© 2000 Springer-Verlag Berlin Heidelberg

About this paper

Cite this paper

Duffy, D.A., Giesl, J. (2000). Closure Induction in a Z-Like Language. In: ZB 2000: Formal Specification and Development in Z and B. ZB 2000. Lecture Notes in Computer Science, vol 1878. Springer, Berlin, Heidelberg. https://doi.org/10.1007/3-540-44525-0_28

Download citation

  • DOI: https://doi.org/10.1007/3-540-44525-0_28

  • Published:

  • Publisher Name: Springer, Berlin, Heidelberg

  • Print ISBN: 978-3-540-67944-8

  • Online ISBN: 978-3-540-44525-8

  • eBook Packages: Springer Book Archive

Publish with us

Policies and ethics