Skip to main content

On the Representation of Imperative Programs in a Logical Framework

  • Conference paper
Computer Aided Systems Theory – EUROCAST 2007 (EUROCAST 2007)

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

Included in the following conference series:

  • 1310 Accesses

Abstract

Research on formal verification of imperative programs using some form of representing them in a type theory has been done for years. Generally, the different approaches include a verification conditions generator, which from an annotated program including variants and invariants for while–loops and using a Hoare logic–like specification, produces some propositions to be proved in a logical framework, expressing the program correctness and termination.

In this paper we present a direct use of Coq [3] to model imperative programs. This method, and the fact that it is not possible to have not–ending programs in Coq, should allow a more deep understanding of imperative programs semantics [15], and people without big knowledge on type theory could use this theorem prover to verify imperative programs properties. This approach is based on using a fixed–point equality theorem [2] that represents the appropriate reduction rule to be used in our model.

In our approach no Hoare logic rules are used for verification of program specifications. This verification is achieved, in a pure constructive setting, directly with the type theory model.

Supported by: MEC, Spain, Project TIN2005-08986. FARMHANDS.

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

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

References

  1. Aczel, P.: Introduction to Inductive definitions. In: Barwise, J. (ed.) Handbook of Mathematical Logic, North Holland (1997)

    Google Scholar 

  2. Balaa, A.: Fonctions récursives générales dans le calcul des constructions. PhD. Theése. Université de Nice–Sophia Antipolis (2002)

    Google Scholar 

  3. Bertot, I., Castéran, P.: Interactive Theorem Proving and Program Development. Springer, Heidelberg (2004)

    MATH  Google Scholar 

  4. Bertot, I., Capretta, V., Barman, K.: Type–Theoretic Functional Semantics. In: Carreño, V.A., Muñoz, C.A., Tahar, S. (eds.) TPHOLs 2002. LNCS, vol. 2410, pp. 83–97. Springer, Heidelberg (2002)

    Chapter  Google Scholar 

  5. Bove, A.: Simple General Recursion in Type Theory. Technical Report. Chalmers University of Technology, Goteborg (2000)

    Google Scholar 

  6. Coquand, T.: An Introduction to Type Theory. Notes of the FPCL summer school, Glasgow (1989)

    Google Scholar 

  7. Coquand, T., Pauling-Mohring, C.: Inductively defined types. In: Martin-Löf, P., Mints, G. (eds.) COLOG-1988. LNCS, vol. 417, Springer, Heidelberg (1990)

    Google Scholar 

  8. Filliâtre, J.-C.: Why: a multi-language multi-prover verification tool, Research Report, LRI, 1366 (March 2003)

    Google Scholar 

  9. Barthe, G., Forest, J., Pichardie, D., Rusu, V.: Defining and reasoning about recursive functions: a practical tool for the Coq proof assistant

    Google Scholar 

  10. Nipkow, T.: Winskell is (almost) right: Towards a mechanised semantics test–book. In: Chandru, V., Vinay, V. (eds.) Foundations of Software Technology and Theoretical Computer Science. LNCS, vol. 1180, Springer, Heidelberg (1996)

    Google Scholar 

  11. Pauling-Mohring, C.: Inductive Definitions in the System Coq–Rules and Properties. In: Bezem, M., Groote, J.F. (eds.) TLCA 1993. LNCS, vol. 664, Springer, Heidelberg (1993)

    Google Scholar 

  12. Nordström, B.: Terminating General Recursion. BIT, vol. 28 (1988)

    Google Scholar 

  13. Pfenning, F., Pauling-Mohring, C.: Inductively defined types in the Calculus of Constructions. In: Schmidt, D.A., Main, M.G., Melton, A.C., Mislove, M.W. (eds.) Mathematical Foundations of Programming Semantics. LNCS, vol. 442, Springer, Heidelberg (1990)

    Chapter  Google Scholar 

  14. Werner, B., Paulin Mohrin, C.: ENSTA: Course Notes (1995)

    Google Scholar 

  15. Winskell, G.: The Formal Semantics of Programming Languages, an introduction. Foundatios of computing. The MIT Press, Cambridge (1993)

    Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Editor information

Roberto Moreno Díaz Franz Pichler Alexis Quesada Arencibia

Rights and permissions

Reprints and permissions

Copyright information

© 2007 Springer-Verlag Berlin Heidelberg

About this paper

Cite this paper

Nistal, J.L.F., Brañas, E.F., Ferro, A.B., Cabrero Souto, D. (2007). On the Representation of Imperative Programs in a Logical Framework. In: Moreno Díaz, R., Pichler, F., Quesada Arencibia, A. (eds) Computer Aided Systems Theory – EUROCAST 2007. EUROCAST 2007. Lecture Notes in Computer Science, vol 4739. Springer, Berlin, Heidelberg. https://doi.org/10.1007/978-3-540-75867-9_26

Download citation

  • DOI: https://doi.org/10.1007/978-3-540-75867-9_26

  • Publisher Name: Springer, Berlin, Heidelberg

  • Print ISBN: 978-3-540-75866-2

  • Online ISBN: 978-3-540-75867-9

  • eBook Packages: Computer ScienceComputer Science (R0)

Publish with us

Policies and ethics