Skip to main content

Coq and hardware verification: A case study

  • Conference paper
  • First Online:
Theorem Proving in Higher Order Logics (TPHOLs 1996)

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

Included in the following conference series:

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.

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

Access this chapter

Institutional subscriptions

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

References

  1. M. Aagaard and M. Leeser. A Methodology for Reusable Hardware Proofs. In International Workshop on Higher Order Logic Theorem Proving and its Applications, 1992.

    Google Scholar 

  2. M. Allemand. Modélisation Formelle et Preuve de Circuits avec LP. PhD thesis, Université de Provence, July 1995.

    Google Scholar 

  3. 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.

    Google Scholar 

  4. J. Bertot and Y. Bertot. Ctcoq: a System Presentation. In CADE-13, 1996.

    Google Scholar 

  5. R. S. Boyer and J. S. Moore. A computational logic handbook. Academic Press Inc., 1988.

    Google Scholar 

  6. 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.

    Google Scholar 

  7. T. Coquand. Une Théorie des Constructions. PhD thesis, Université Paris 7, Janvier 1989.

    Google Scholar 

  8. T. Coquand and G. Huet. Constructions: A Higher Order Proof System For Mechanizing Mathematics. In EUROCAL'85, number 203 in LNCS. Springer-Verlag, 1985.

    Google Scholar 

  9. 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.

    Google Scholar 

  10. 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.

    Google Scholar 

  11. S. Coupet-Grimal and L. Jakubiec. Vérification Formelle de Circuits avec COQ. In Journées du GDR Programmation, Sept. 1994.

    Google Scholar 

  12. J.-Y. Girard. The System F of Variable Types, Fifteen Years Later. Theoretical Computer Science 45, 1986.

    Google Scholar 

  13. M. Gordon. LCF-LSM. Technical Report 41, University of Cambridge, 1984.

    Google Scholar 

  14. 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.

    Google Scholar 

  15. 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.

    Google Scholar 

  16. F. Hanna, N. Daeche, and M. Longley. Specification and Verification Using Dependent Types. IEEE Transactions on Software Engineering, 16(9):949–964, Sept. 1990.

    Article  Google Scholar 

  17. W. A. Hunt. Microprocessor Design Verification. Journal of Automated Reasonning, 5(4):429–460, 1989.

    Google Scholar 

  18. 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.

    Google Scholar 

  19. 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.

    Google Scholar 

  20. C. Parent. Synthèse de Preuves de Programmes dans le Calcul des Constructions Inductives. PhD thesis, Ecole Normale Supérieure de Lyon, Janvier 1995.

    Google Scholar 

  21. C. Paulin. Extraction de Programmes dans Coq. PhD thesis, Université Paris 7, Janvier 1989.

    Google Scholar 

  22. C. Paulin-Mohring. Inductive Definitions in the System Coq: Rules and Properties. Research Report 92-49, Ecole Normale Supérieure de Lyon, 1992.

    Google Scholar 

  23. C. Paulin-Mohring. Circuits as Streams in Coq. Verification of a Sequential Multiplier. Basic Research Action ”Types”, Juillet 1995.

    Google Scholar 

  24. 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.

    Google Scholar 

  25. M. K. Srivas and S. P. Miller. Applying Formal Verification to a Commercial Microprocessor. IFIP International Conference on Computer Hardware Description Languages, Aug. 1995.

    Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Editor information

Gerhard Goos Juris Hartmanis Jan van Leeuwen Joakim von Wright Jim Grundy John Harrison

Rights and permissions

Reprints 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

Publish with us

Policies and ethics