Abstract
Over the last decade, the increasing demand for the validation of safety critical systems lead to the development of domain-specific programming languages (e.g. synchronous languages) and automatic verification tools (e.g. model checkers). Conventionally, the verification of a reactive system is implemented by specifying a discrete model of the system (i.e. a finite-state machine) and then checking this model against temporal properties (e.g. using an automata-based tool). We investigate the use of a theorem prover, Coq, for the specification of infinite state systems and for the verification of co-inductive properties.
Preview
Unable to display preview. Download preview PDF.
References
Bruno Barras and al. The Coq Proof Assistant Reference Manual. Technical report, INRIA, 1996.
Saddek Bensalem, Paul Caspi, and Catherine Parent-Vigouroux. Handling dataflow programs in PVS. Research report (draft), Verimag, May 1996.
Albert Benveniste, Paul Le Guernic, and Christian Jacquemot. Synchronous programming with events and relations: the Signal language and its semantics. Science of Computer Programming, 16:103–149, 1991.
G. Berry. The Constructive Semantics of Pure Esterel. Book in preparation, current version 2.0, http://zenon.inria.fr/meije/esterel.
Gerard Berry and Georges Gonthier. The Esterel synchronous programming language: design, semantics, implementation. Science of Computer Programming, 19:87–152, 1992.
C. Cornes and D. Terrasse. Inverting inductive predicates in Coq. In BRA Workshop on Types for Proofs and Programs (TYPES'95), volume 1158 of LNCS, 1996.
Thierry Gautier, Paul Le Guernic, and FranÇois Dupont. Signal v4: manuel de référence (version préliminaire). Publication interne 832, IRISA, June 1994.
Thierry Gautier, Paul Le Guernic, and Olivier Maffeis. For a New Real-Time Methodology. Research report, INRIA, 1994.
Eduardo Giménez. An Application of Co-Inductive Types in Coq: Verification of the Alternating Bit Protocol. In Proceedings of the 1995 Workshop on Types for Proofs and Programs, number 1158 in LNCS, pages 135–152. Springer Verlag, 1995.
Eduardo Giménez. Types Co-Inductifs et Vérification de Systèmes Réactifs dans Coq. In Proceedings of the Journées du GDR Programmation, Grenoble, 1995.
Eduardo Giménez. Un Calcul de Constructions Infinies et son Application à la Vérification des Systèmes Communicants. PhD thesis, Laboratoire de l'Informatique du Parallélisme, Ecole Normale Supérieure de Lyon, December 1996.
Andrew D. Gordon. The Formal Definition of a Synchronous Hardware-Description Language in Higher Order Logic. In Proceedings of the International Conference on Computer Design, pages 531–534. IEEE Computer Society Press, October 1992.
Andrew D. Gordon. A Mechanised Definition of Silage in HOL. Research report 287, University of Cambridge Computer Laboratory, February 1993.
N. Halbwachs, P. Caspi, P. Raymond, and D. Pilaud. The synchronous dataflow programming language Lustre. Proc. of the IEEE, 79(9):1305–1320, September 1991.
Michel Le Borgne, Hervé Marchand, Eric Rutten, and Mazen Samaan. Formal Verification of Signal Programs: Application to a Power Transformer Station Controller. In Proc. of the 5th Int. Conf. on Algebraic Methodology and Software Technology (AMAST'96), number 1101 in LNCS, pages 270–285, July 1997.
Xavier Leroy. The Objective Caml system, release 1.07. Documentation and users's manual, INRIA, December 1997.
F. Maraninchi. The Argos language: Graphical Representation of Automata and Description of Reactive Systems. In IEEE Workshop on Visual Languages, oct 1991.
Robin Milner and Mads Tofte. Co-induction in relational semantics. Theoretical Computer Science, 87(1):209–220, 16 September 1991.
David Nowak. http://www.irisa.fr/prive/nowak/signal-coq/. Coq code, IRISA, 1997.
David Nowak, Jean-Pierre Talpin, Thierry Gautier, and Paul Le Guernic. An ML-Like Module System for the Synchronous Language Signal. In Proceedings of European Conference on Parallel Processing (Euro-Par'97), number 1300 in LNCS, pages 1244–1253. Springer Verlag, August 1997.
Christine Paulin-Mohring. Circuits as streams in Coq: Verification of a sequential multiplier. In S. Berardi and M. Coppo, editors, Types for Proofs and Programs, TYPES'95, volume 1158 of Lecture Notes in Computer Science, 1996.
K. V. S. Prasad. A calculus of broadcasting systems. Science of Computer Programming, 25(2–3):285–327, December 1995.
B. Werner. Une Théorie des Constructions Inductives. PhD thesis, Université Paris VII, Mai. 1994.
Author information
Authors and Affiliations
Editor information
Rights and permissions
Copyright information
© 1998 Springer-Verlag Berlin Heidelberg
About this paper
Cite this paper
Nowak, D., Beauvais, J.R., Talpin, J.P. (1998). Co-inductive axiomatization of a synchronous language. In: Grundy, J., Newey, M. (eds) Theorem Proving in Higher Order Logics. TPHOLs 1998. Lecture Notes in Computer Science, vol 1479. Springer, Berlin, Heidelberg. https://doi.org/10.1007/BFb0055148
Download citation
DOI: https://doi.org/10.1007/BFb0055148
Published:
Publisher Name: Springer, Berlin, Heidelberg
Print ISBN: 978-3-540-64987-8
Online ISBN: 978-3-540-49801-8
eBook Packages: Springer Book Archive