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.
Access this chapter
Tax calculation will be finalised at checkout
Purchases are for personal use only
Notes
- 1.
- 2.
Keywords in PVS are not case sensitive. Uppercase is used here to differentiate them from the rest of the tokens.
References
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
Burris, S., Sankappanavar, H.P.: A Course in Universal Algebra. Graduate Texts in Mathematics. Springer, Berlin (1981)
Enderton, H.B.: A Mathematical Introduction to Logic. Academic Press, New York (1972)
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)
Troelstra, A.S., Schwichtenberg, H.: Basic Proof Theory. Number 43 in Cambridge Tracts in Theoretical Computer Science. Cambridge University Press, Cambridge (1996)
Girard, J.Y., Lafont, Y., Taylor, P.: Proofs and Types. Number 7 in Cambridge Tracts in Theoretical Computer Science. Cambridge University Press, Cambridge (1989)
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)
Muñoz, C.: Rapid prototyping in PVS. Contractor report NASA/CR-2003-212418, NASA, Langley Research Center, Hampton VA 23681–2199, USA, May 2003
Ehrig, H., Mahr, B., Orejas, F.: Introduction to algebraic specification. Part 1: formal methods for software development. Comput. J. 35(5), 468–477 (1992)
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)
McLane, S.: Categories for Working Mathematician. Graduate Texts in Mathematics. Springer, Berlin (1971)
Pierce, B.C.: Basic Category Theory for Computer Scientists. MIT Press, Cambridge (1991)
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)
Goguen, J.A., Roşu, G.: Institution morphisms. Formal Aspects Comput. 13(3–5), 274–307 (2002)
Turski, W.M., Maibaum, T.S.E.: The Specification of Computer Programs. International Computer Science Series. Addison-Wesley Publishing Co., Inc., Boston (1987)
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)
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)
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
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
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
Zimmermann, T., Herbelin, H.: Automatic and transparent transfer of theorems along isomorphisms in the Coq proof assistant. arXiv preprint arXiv:1505.05028 (2015)
Sozeau, M.: A new look at generalized rewriting in type theory. J. Formalized Reasoning 2(1), 41–62 (2010)
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
Owre, S., Shankar, N.: Theory interpretations in PVS. Technical report SRI-CSL-01-01, Computer Science Laboratory, SRI International, Menlo Park, CA (2001)
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)
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
McBride, C.: Ornamental algebras, algebraic ornaments (2010). Unpublished
Dagand, P.É., Tabareau, N., Tanter, É.: Foundations of dependent interoperability. J. Funct. Program. 28 (2018)
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
Corresponding authors
Editor information
Editors and Affiliations
Rights and permissions
Copyright information
© 2018 Springer International Publishing AG, part of Springer Nature
About this paper
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)