Skip to main content

Boosting the Reuse of Formal Specifications

  • Conference paper
  • First Online:
Interactive Theorem Proving (ITP 2018)

Part of the book series: Lecture Notes in Computer Science ((LNTCS,volume 10895))

Included in the following conference series:

Abstract

Advances in theorem proving have enabled the emergence of a variety of formal developments that, over the years, have resulted in large corpuses of formalizations. For example, the NASA PVS Library is a collection of 55 formal developments written in the Prototype Verification System (PVS) over a period of almost 30 years and containing more than 28000 proofs. Unfortunately, the simple accumulation of formal developments does not guarantee their reusability. In fact, in formal systems with very expressive specification languages, it is often the case that a particular conceptual object is defined in different ways. This paper presents a technique to establish sound connections between formal definitions. Such connections support the possibility of (partial) borrowing of proved results from one formal description into another, improving the reusability of formal developments. The technique is described using concepts from the field of universal algebra and algebraic specification. The technique is illustrated with concrete examples taken from formalizations available in the NASA PVS Library.

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 79.99
Price excludes VAT (USA)
  • Available as EPUB and PDF
  • Read on any device
  • Instant download
  • Own it forever
Softcover Book
USD 99.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

Notes

  1. 1.

    https://shemesh.larc.nasa.gov/fm/ftp/larc/PVS-library/.

  2. 2.

    Keywords in PVS are not case sensitive. Uppercase is used here to differentiate them from the rest of the tokens.

References

  1. Owre, S., Rushby, J.M., Shankar, N.: PVS: a prototype verification system. In: Kapur, D. (ed.) CADE 1992. LNCS, vol. 607, pp. 748–752. Springer, Heidelberg (1992). https://doi.org/10.1007/3-540-55602-8_217

    Chapter  Google Scholar 

  2. Burris, S., Sankappanavar, H.P.: A Course in Universal Algebra. Graduate Texts in Mathematics. Springer, Berlin (1981)

    Book  Google Scholar 

  3. Enderton, H.B.: A Mathematical Introduction to Logic. Academic Press, New York (1972)

    MATH  Google Scholar 

  4. van Benthem, J., Doets, K.: Higher-order logic. In: Gabbay, D., Guenthner, F. (eds.) Handbook of Philosophical Logic, 2nd edn., vol. 1, pp. 189–243. Kluwer Academic Publishers (2001)

    Google Scholar 

  5. Troelstra, A.S., Schwichtenberg, H.: Basic Proof Theory. Number 43 in Cambridge Tracts in Theoretical Computer Science. Cambridge University Press, Cambridge (1996)

    Google Scholar 

  6. Girard, J.Y., Lafont, Y., Taylor, P.: Proofs and Types. Number 7 in Cambridge Tracts in Theoretical Computer Science. Cambridge University Press, Cambridge (1989)

    Google Scholar 

  7. Barendregt, H.P.: Lambda calculi with types. In: Abramsky, S., Gabbay, D., Maibaum, T.S.E. (eds.) Handbook of Logic in Computer Science, Volume II. Oxford University Press (1999)

    Google Scholar 

  8. Muñoz, C.: Rapid prototyping in PVS. Contractor report NASA/CR-2003-212418, NASA, Langley Research Center, Hampton VA 23681–2199, USA, May 2003

    Google Scholar 

  9. Ehrig, H., Mahr, B., Orejas, F.: Introduction to algebraic specification. Part 1: formal methods for software development. Comput. J. 35(5), 468–477 (1992)

    Article  Google Scholar 

  10. Ehrig, H., Mahr, B., Orejas, F.: Introduction to algebraic specification. Part 2: from classical view to foundations of system specifications. Comput. J. 35(5), 468–477 (1992)

    Article  Google Scholar 

  11. McLane, S.: Categories for Working Mathematician. Graduate Texts in Mathematics. Springer, Berlin (1971)

    Google Scholar 

  12. Pierce, B.C.: Basic Category Theory for Computer Scientists. MIT Press, Cambridge (1991)

    MATH  Google Scholar 

  13. Meseguer, J.: General logics. In: Ebbinghaus, H.D., Fernandez-Prida, J., Garrido, M., Lascar, D., Artalejo, M.R. (eds.) Proceedings of the Logic Colloquium 1987, Granada, Spain, North Holland, vol. 129, pp. 275–329 (1989)

    Google Scholar 

  14. Goguen, J.A., Roşu, G.: Institution morphisms. Formal Aspects Comput. 13(3–5), 274–307 (2002)

    Article  Google Scholar 

  15. Turski, W.M., Maibaum, T.S.E.: The Specification of Computer Programs. International Computer Science Series. Addison-Wesley Publishing Co., Inc., Boston (1987)

    Google Scholar 

  16. Bernstein, S.: Démonstration du théorème de weierstrass fondée sur le calcul des probabilités. Commun. Kharkov Math. Soc. 13(1), 1–2 (1912)

    MATH  Google Scholar 

  17. Muñoz, C., Narkawicz, A.: Formalization of a representation of Bernstein polynomials and applications to global optimization. J. Autom. Reasoning 51(2), 151–196 (2013)

    Article  Google Scholar 

  18. Nipkow, T., Wenzel, M., Paulson, L.C. (eds.): Isabelle/HOL – A Proof Assistant for Higher-Order Logic. LNCS, vol. 2283. Springer, Heidelberg (2002). https://doi.org/10.1007/3-540-45949-9

    Book  MATH  Google Scholar 

  19. Bertot, Y., Castéran, P.: Interactive Theorem Proving and Program Development: CoqArt: The Calculus of Inductive Constructions. Springer, Heidelberg (2013). https://doi.org/10.1007/978-3-662-07964-5

    Book  MATH  Google Scholar 

  20. Huffman, B., Kunčar, O.: Lifting and transfer: a modular design for quotients in Isabelle/HOL. In: Gonthier, G., Norrish, M. (eds.) CPP 2013. LNCS, vol. 8307, pp. 131–146. Springer, Cham (2013). https://doi.org/10.1007/978-3-319-03545-1_9

    Chapter  MATH  Google Scholar 

  21. Zimmermann, T., Herbelin, H.: Automatic and transparent transfer of theorems along isomorphisms in the Coq proof assistant. arXiv preprint arXiv:1505.05028 (2015)

  22. Sozeau, M.: A new look at generalized rewriting in type theory. J. Formalized Reasoning 2(1), 41–62 (2010)

    MathSciNet  MATH  Google Scholar 

  23. Magaud, N.: Changing data representation within the Coq system. In: Basin, D., Wolff, B. (eds.) TPHOLs 2003. LNCS, vol. 2758, pp. 87–102. Springer, Heidelberg (2003). https://doi.org/10.1007/10930755_6

    Chapter  Google Scholar 

  24. Owre, S., Shankar, N.: Theory interpretations in PVS. Technical report SRI-CSL-01-01, Computer Science Laboratory, SRI International, Menlo Park, CA (2001)

    Google Scholar 

  25. Lammich, P.: Refinement based verification of imperative data structures. In: Proceedings of the 5th ACM SIGPLAN Conference on Certified Programs and Proofs, CPP 2016, pp. 27–36. ACM, New York (2016)

    Google Scholar 

  26. Cohen, C., Dénès, M., Mörtberg, A.: Refinements for free!. In: Gonthier, G., Norrish, M. (eds.) CPP 2013. LNCS, vol. 8307, pp. 147–162. Springer, Cham (2013). https://doi.org/10.1007/978-3-319-03545-1_10

    Chapter  Google Scholar 

  27. McBride, C.: Ornamental algebras, algebraic ornaments (2010). Unpublished

    Google Scholar 

  28. Dagand, P.É., Tabareau, N., Tanter, É.: Foundations of dependent interoperability. J. Funct. Program. 28 (2018)

    Google Scholar 

Download references

Acknowledgments

Research by the first, second, and forth author was supported by the National Aeronautics and Space Administration under NASA/NIA Cooperative Agreement NNL09AA00A. Research by the second author was also supported by the Agencia Nacional de Promoción Científica y Tecnológica (ANPCyT) under grant PICT 2013-2129 and by the Consejo Nacional de Investigaciones Científicas y Técnicas (CONICET) under grant PIP 11220130100148CO.

Author information

Authors and Affiliations

Authors

Corresponding authors

Correspondence to Mariano M. Moscato , César A. Muñoz or Marco A. Feliú .

Editor information

Editors and Affiliations

Rights and permissions

Reprints and permissions

Copyright information

© 2018 Springer International Publishing AG, part of Springer Nature

About this paper

Check for updates. Verify currency and authenticity via CrossMark

Cite this paper

Moscato, M.M., Lopez Pombo, C.G., Muñoz, C.A., Feliú, M.A. (2018). Boosting the Reuse of Formal Specifications. In: Avigad, J., Mahboubi, A. (eds) Interactive Theorem Proving. ITP 2018. Lecture Notes in Computer Science(), vol 10895. Springer, Cham. https://doi.org/10.1007/978-3-319-94821-8_28

Download citation

  • DOI: https://doi.org/10.1007/978-3-319-94821-8_28

  • Published:

  • Publisher Name: Springer, Cham

  • Print ISBN: 978-3-319-94820-1

  • Online ISBN: 978-3-319-94821-8

  • eBook Packages: Computer ScienceComputer Science (R0)

Publish with us

Policies and ethics