Abstract
We present several approaches to verifying a class of circuits with the Coq proof-assistant, using the example of a left-to-right comparator. The large capacity of expression of the Calculus of Inductive Constructions allows us to give precise and general specifications. Using Coq’s higher order logic, we state general results useful in establishing the correctness of the circuits. Finally, exploiting the constructive aspect of the logic, we can show how a certified circuit can be automatically synthesized from its specification.
This work was supported by the GDR-Programmation; it was partially done during a six-month visit of Solange Coupet-Grimal at ENS-Lyon, in the Coq group.
Preview
Unable to display preview. Download preview PDF.
References
M. Aagaard and M. Leeser. A Methodology for Reusable Hardware Proofs. In International Workshop on Higher Order Logic Theorem Proving and its Applications, 1992.
M. Allemand. Modélisation Formelle et Preuve de Circuits avec LP. PhD thesis, Université de Provence, July 1995.
L. Arditi. Formal Verification of Microprocessors: a First Experiment with the Coq Proof Assistant. Research Report I3S/Université de Nice-Sophia Antipolis. RR-96-31, 1996.
J. Bertot and Y. Bertot. Ctcoq: a System Presentation. In CADE-13, 1996.
R. S. Boyer and J. S. Moore. A computational logic handbook. Academic Press Inc., 1988.
A. Camilleri, M. Gordon, and T. Melham. Hardware Verification Using Higher Order Logic. In From HDL Descriptions to Guaranteed Correct Circuit Designs. Elsevier Scientific Publishers, 1987.
T. Coquand. Une Théorie des Constructions. PhD thesis, Université Paris 7, Janvier 1989.
T. Coquand and G. Huet. Constructions: A Higher Order Proof System For Mechanizing Mathematics. In EUROCAL'85, number 203 in LNCS. Springer-Verlag, 1985.
C. Cornes, J. Courant, J.-C. Filliâtre, G. Huet, P. Manoury, C. Muñoz, C. Murthy, C. Parent, C. Paulin-Mohring, A. Saïbi, and W. Benjamin. The Coq Proof Assistant Reference Manual. Technical report, INRIA-Rocquencourt, CNRS-ENS Lyon, Feb. 1996.
Y. Coscoy, G. Kahn, and L. Théry. Extracting Text from Proof. In Typed Lambda-Calculi and Applications, number 905 in LNCS. Springer-Verlag, April 1995.
S. Coupet-Grimal and L. Jakubiec. Vérification Formelle de Circuits avec COQ. In Journées du GDR Programmation, Sept. 1994.
J.-Y. Girard. The System F of Variable Types, Fifteen Years Later. Theoretical Computer Science 45, 1986.
M. Gordon. LCF-LSM. Technical Report 41, University of Cambridge, 1984.
M. Gordon. Why Higher-Order Logic is a Good Formalism for Specifying and Verifying Hardware. Technical Report 77, University of Cambridge Computer Laboratory, 1986. edited by G. Milne and P. A. Subrahmanyam, North Holland.
M. Gordon, R. Milner, and C. Wadsworth. Edinburgh LCF: A Mechanized Logic of Computation, volume 78 of LNCS. Springer-Verlag, Department of Computer Science, University of Edinburgh, 1979.
F. Hanna, N. Daeche, and M. Longley. Specification and Verification Using Dependent Types. IEEE Transactions on Software Engineering, 16(9):949–964, Sept. 1990.
W. A. Hunt. Microprocessor Design Verification. Journal of Automated Reasonning, 5(4):429–460, 1989.
M. Leeser. Using Nuprl for the Verification and Synthesis of Hardware. In C. A. R. Hoare and M. J. C. Gordon, editors, Mechanized Reasoning and Hardware Design, International Series on Computer Science. Prentice Hall, 1992.
S. Owre, J. Rushby, N. Shankar, and M. Srivas. A Tutorial on Using PVS for Hardware Verification. In 2nd International Conference on Theorem Provers in Circuit Design, number 901 in LNCS, pages 258–279. Springer Verlag, Sept. 1994.
C. Parent. Synthèse de Preuves de Programmes dans le Calcul des Constructions Inductives. PhD thesis, Ecole Normale Supérieure de Lyon, Janvier 1995.
C. Paulin. Extraction de Programmes dans Coq. PhD thesis, Université Paris 7, Janvier 1989.
C. Paulin-Mohring. Inductive Definitions in the System Coq: Rules and Properties. Research Report 92-49, Ecole Normale Supérieure de Lyon, 1992.
C. Paulin-Mohring. Circuits as Streams in Coq. Verification of a Sequential Multiplier. Basic Research Action ”Types”, Juillet 1995.
J. B. Saxe, S. J. Garland, J. V. Guttag, and J. J. Horning. Using Transformations and Verification in Circuit Design. Formal Methods in System Design, (3):181–209, Dec. 1993.
M. K. Srivas and S. P. Miller. Applying Formal Verification to a Commercial Microprocessor. IFIP International Conference on Computer Hardware Description Languages, Aug. 1995.
Author information
Authors and Affiliations
Editor information
Rights and permissions
Copyright information
© 1996 Springer-Verlag Berlin Heidelberg
About this paper
Cite this paper
Coupet-Grimal, S., Jakubiec, L. (1996). Coq and hardware verification: A case study. In: Goos, G., Hartmanis, J., van Leeuwen, J., von Wright, J., Grundy, J., Harrison, J. (eds) Theorem Proving in Higher Order Logics. TPHOLs 1996. Lecture Notes in Computer Science, vol 1125. Springer, Berlin, Heidelberg. https://doi.org/10.1007/BFb0105401
Download citation
DOI: https://doi.org/10.1007/BFb0105401
Published:
Publisher Name: Springer, Berlin, Heidelberg
Print ISBN: 978-3-540-61587-3
Online ISBN: 978-3-540-70641-0
eBook Packages: Springer Book Archive