Skip to main content

A PVS Proof Obligation Generator for Lustre Programs

  • Conference paper
  • First Online:
Logic for Programming and Automated Reasoning (LPAR 2000)

Part of the book series: Lecture Notes in Artificial Intelligence ((LNAI,volume 1955))

Abstract

This paper presents a tool for proving safety properties of Lustre programs in PVS, based on continuous induction. The tool applies off-line a repeated induction strategy and generates proof obligations left to PVS. We show on examples how it avoids some drawbacks of co-induction which needs to consider “absent elements” in the case of clocked streams.

This work has been partially supported by Esprit project Syrf and Inria action Presysa. This absent element is the analog of “silent” elements introduced by Milner in synchronizing trees [12].

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. J.-R. Abrial. The B-Book. Cambridge University Press, 1995. 187

    Google Scholar 

  2. R. Amadio and S. Coupet-Grimal. Analysis of a guard condition in type theory. In M. Nivat, editor, Foundations of Software Science and Computation Structures, volume 1378 of Lecture Notes in Computer Science. Springer Verlag, 1998. 179

    Chapter  Google Scholar 

  3. E.A. Ashcroft and W.W. Wadge. Lucid, a formal system for writing and proving programs. SIAM j. Comp., 3:336–354, 1976. 187

    Article  MathSciNet  Google Scholar 

  4. P. Caspi and M. Pouzet. A co-iterative characterization of synchronous stream functions. In Proceedings of the Workshop on Coalgebraic Methods in Computer Science, Lisbon, volume 11 of Electronic Notes in Theoretical Computer Science. Elsevier, 1998. 185

    Google Scholar 

  5. Th. Coquand. Infinite objects in type theory. In Types for Proofs and Programs, volume 806 of Lecture Notes in Computer Science. Springer Verlag, 1993. 179

    Google Scholar 

  6. Th. Coquand and G. Huet. The calculus of construction. Information and Computation, 76(2), 1988. 179

    Google Scholar 

  7. E. Gimenez. Codifying guarded definitions with recursive schemes. In Types for Proofs and Programs, TYPES’94, volume 996 of Lecture Notes in Computer Science. Springer Verlag, 1995. 179

    Google Scholar 

  8. N. Halbwachs, P. Caspi, P. Raymond, and D. Pilaud. The synchronous datafow programming language lustre. Proceedings of the IEEE, 79(9):1305–1320, September 1991. 179

    Google Scholar 

  9. U. Hensel and B. Jacobs. Coalgebraic theories of sequences in PVS. Technical Report CSI-R9708, Computer Science Institute, University of Nijmegen, 1997. 179

    Google Scholar 

  10. B. Jacobs and J. Rutten. A tutorial on (co)algebras and (co)induction. Bulletin of EATCS, 62:229–259, 1997. 184

    Google Scholar 

  11. G. Kahn. The semantics of a simple language for parallel programming. In IFIP 74. North Holland, 1974. 179

    Google Scholar 

  12. R. Milner. A Calculus of Communicating Systems, volume 92 of Lecture Notes in Computer Science. Springer Verlag, 1980. 179

    MATH  Google Scholar 

  13. P.S. Miner and S.D. Johnson. Verification of an optimized fault-tolerant clock synchronization circuit. In Designing Correct Circuits, Electronic Workshops in Computing, Bastad, Sweden, 1996. Springer-Verlag. 179

    Google Scholar 

  14. D. Nowak, J.R. Beauvais, and J.P. Talpin. Co-inductive axiomatization of a synchronous language. In Theorem Proving in Higher Order Logics, volume 1479 of Lecture Notes in Computer Science, pages 387–399. Springer Verlag, 1998. 179, 185

    Chapter  Google Scholar 

  15. S. Owre, J. Rushby, and N. Shankar. PVS: a prototype verification system. In 11th Conf. on Automated Deduction, volume 607 of Lecture Notes in Computer Science, pages 748–752. Springer Verlag, 1992. 179, 183

    Google Scholar 

  16. C. Paulin-Mohring. Circuits as streams in Coq, verification of a sequential multiplier. Research Report 95-16, Laboratoire de l'Informatique du Parallèlisme, September 1995. 179

    Google Scholar 

  17. L. Paulson. Logic and Computation, Interactive Proof with Cambridge LCF. Cambridge University Press, 1987. 187

    Google Scholar 

  18. D. Pavlović. Guarded induction on final coalgebras. In Proceedings of the Workshop on Coalgebraic Methods in Computer Science, Lisbon, volume 11 of Electronic Notes in Theoretical Computer Science, 1998. 187

    Google Scholar 

  19. P. Wadler. Deforestation: transforming programs to eliminate trees. Theoretical Computer Science, 73:231–248, 1990. 184

    Article  MATH  MathSciNet  Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Editor information

Editors and Affiliations

Rights and permissions

Reprints and permissions

Copyright information

© 2000 Springer-Verlag Berlin Heidelberg

About this paper

Cite this paper

Canovas-Dumas, C., Caspi, P. (2000). A PVS Proof Obligation Generator for Lustre Programs. In: Parigot, M., Voronkov, A. (eds) Logic for Programming and Automated Reasoning. LPAR 2000. Lecture Notes in Artificial Intelligence(), vol 1955. Springer, Berlin, Heidelberg. https://doi.org/10.1007/3-540-44404-1_12

Download citation

  • DOI: https://doi.org/10.1007/3-540-44404-1_12

  • Published:

  • Publisher Name: Springer, Berlin, Heidelberg

  • Print ISBN: 978-3-540-41285-4

  • Online ISBN: 978-3-540-44404-6

  • eBook Packages: Springer Book Archive

Publish with us

Policies and ethics