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].
Access this chapter
Tax calculation will be finalised at checkout
Purchases are for personal use only
Preview
Unable to display preview. Download preview PDF.
References
J.-R. Abrial. The B-Book. Cambridge University Press, 1995. 187
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
E.A. Ashcroft and W.W. Wadge. Lucid, a formal system for writing and proving programs. SIAM j. Comp., 3:336–354, 1976. 187
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
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
Th. Coquand and G. Huet. The calculus of construction. Information and Computation, 76(2), 1988. 179
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
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
U. Hensel and B. Jacobs. Coalgebraic theories of sequences in PVS. Technical Report CSI-R9708, Computer Science Institute, University of Nijmegen, 1997. 179
B. Jacobs and J. Rutten. A tutorial on (co)algebras and (co)induction. Bulletin of EATCS, 62:229–259, 1997. 184
G. Kahn. The semantics of a simple language for parallel programming. In IFIP 74. North Holland, 1974. 179
R. Milner. A Calculus of Communicating Systems, volume 92 of Lecture Notes in Computer Science. Springer Verlag, 1980. 179
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
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
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
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
L. Paulson. Logic and Computation, Interactive Proof with Cambridge LCF. Cambridge University Press, 1987. 187
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
P. Wadler. Deforestation: transforming programs to eliminate trees. Theoretical Computer Science, 73:231–248, 1990. 184
Author information
Authors and Affiliations
Editor information
Editors and Affiliations
Rights 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