Abstract
In this case study we investigate the use of PVS for developing type theoretical concepts and verifying the correctness of a typing algorithm. PVS turns out to be very useful for the efficient development of a sound basic theory about polymorphic typing. The PVS formalization is also intended as the first step towards a functional training vehicle for the education of compiler construction.
Access this chapter
Tax calculation will be finalised at checkout
Purchases are for personal use only
Preview
Unable to display preview. Download preview PDF.
References
Aydemir, B.E., Bohannon, A., Fairbairn, M., Nathan Foster, J., Pierce, B.C., Sewell, P., Vytiniotis, D., Washburn, G., Weirich, S., Zdancewic, S.: Mechanized metatheory for the masses: The poplMark challenge. In: Hurd, J., Melham, T.F. (eds.) TPHOLs 2005. LNCS, vol. 3603, pp. 50–65. Springer, Heidelberg (2005)
Barendregt, H.P.: Lambda calculi with types. In: Abramsky, S., M. Gabbai, D.M., Maibaum, T.S.E. (eds.) Handbook of Logic in Computer Science, vol. 2, pp. 117–309. Oxford Univ. Press (1992)
Barendsen, E., Smetsers, J.E.W.: Uniqueness typing for functional languages with graph rewriting semantics. MSCS 6, 579–612 (1996)
Barendsen, E., Smetsers, J.E.W.: Graph rewriting aspects of functional programming. In: Ehrig, H., Engels, G., Kreowski, H.-J., Rozenberg, G. (eds.) Handbook of Graph Grammars and Computing by Graph Transformation, vol. 2, pp. 63–102. World Scientific Publishing (1999)
Berghofer, S.: A solution to the poplmark challenge in Isabelle/Hol. Technical report, Department of Computer Science, Technical University of Munich, Germany (2006)
Clément, D., Despeyroux, T., Kahn, G., Despeyroux, J.: A simple applicative language: mini-ml. In: LFP 1986: Proceedings of the 1986 ACM Conference on LISP and Functional Programming, pp. 13–27. ACM, New York (1986)
Hohmuth, M., Tews, H.: The semantics of C++ data types: Towards verifying low-level system components. In: Basin, D., Wolff, B. (eds.) TPHOLs 2003, pp. 127–144. Technical Report No. 187. Institut für Informatik Universität Freiburg (2003)
Jacobs, B., Smetsers, S., Schreur, R.W.: Code-carrying theories. Form. Asp. Comput. 19(2), 191–203 (2007)
Lee, D.K., Crary, K., Harper, R.: Towards a mechanized metatheory of standard ml. In: Hofmann, M., Felleisen, M. (eds.) POPL, pp. 173–184. ACM (2007)
Lensink, L., Smetsers, S., van Eekelen, M.: Machine checked formal proof of a scheduling protocol for smartcard personalization. In: Leue, S., Merino, P. (eds.) FMICS 2007. LNCS, vol. 4916, pp. 115–132. Springer, Heidelberg (2008)
Leroy, X.: A formally verified compiler back-end. J. Autom. Reason. 43(4), 363–446 (2009)
Milner, R.: A theory of type polymorphism in programming. J. Comput. Syst. Sci. 17(3), 348–375 (1978)
Mitchell, J.C.: Foundations for Programming Languages. MIT Press (1996)
Naraschewski, W., Nipkow, T.: Type inference verified: Algorithm \(\mathcal{W}\) in Isabelle/HOL. Journal of Automated Reasoning 23, 299–318 (1999)
Nazareth, D., Nipkow, T.: Formal verification of algorithm \(\mathcal{W}\): The monomorphic case. In: von Wright, J., Harrison, J., Grundy, J. (eds.) TPHOLs 1996. LNCS, vol. 1125, pp. 331–346. Springer, Heidelberg (1996)
Nipkow, T., Paulson, L.C., Wenzel, M.T.: Isabelle/HOL. LNCS, vol. 2283. Springer, Heidelberg (2002)
Owre, S., Shankar, N., Rushby, J.M., Stringer-Calvert, D.W.J.: PVS language reference (version 2.4). Technical report, Computer Science Laboratory, SRI International, Menlo Park, CA (November 2001)
Robinson, J.A.: A machine-oriented logic based on the resolution principle. Journal of the ACM 12, 23–41 (1965)
Urban, C., Tasson, C.: Nominal techniques in isabelle/HOL. In: Nieuwenhuis, R. (ed.) CADE 2005. LNCS (LNAI), vol. 3632, pp. 38–53. Springer, Heidelberg (2005)
van Weelden, A.: Putting Types to Good Use. PhD thesis, Radboud University Nijmegen (2007)
Wand, M.: A simple algorithm and proof for type inference. Fundamenta Infomaticae X, 115–122 (1987)
Author information
Authors and Affiliations
Editor information
Editors and Affiliations
Rights and permissions
Copyright information
© 2013 Springer-Verlag Berlin Heidelberg
About this chapter
Cite this chapter
Smetsers, S., Barendsen, E. (2013). Verifying Functional Formalizations – A Type-Theoretical Case Study in PVS. In: Achten, P., Koopman, P. (eds) The Beauty of Functional Code. Lecture Notes in Computer Science, vol 8106. Springer, Berlin, Heidelberg. https://doi.org/10.1007/978-3-642-40355-2_5
Download citation
DOI: https://doi.org/10.1007/978-3-642-40355-2_5
Publisher Name: Springer, Berlin, Heidelberg
Print ISBN: 978-3-642-40354-5
Online ISBN: 978-3-642-40355-2
eBook Packages: Computer ScienceComputer Science (R0)