Skip to main content
Log in

Studies of a Theory of Specifications with Built-in Program Extraction

  • Published:
Journal of Automated Reasoning Aims and scope Submit manuscript

Abstract

We present a Theory of Specifications based on Martin-Löf's type theory, with rules for simultaneously constructing programs and their correctness proofs. The theory contains types for representing specifications whose corresponding notion of implementation is that of a pair formed by a program and a correctness proof. The rules of the theory are such that in implementations the program parts appear mixed together with the proof parts. A confluent and normalizing computational relation performs the task of separating programs from proofs. As a consequence, every implementation computes to a pair composed of a program and a proof of its correctness, and so the program extraction procedure is immediate.

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

Access this article

Price excludes VAT (USA)
Tax calculation will be finalised during checkout.

Instant access to the full article PDF.

Similar content being viewed by others

References

  1. Barendregt, H. P.: Lambda calculi with types, in S. Abramsky, D. Gabbay, and T. Maibaum (eds.), Handbook of Logic in Computer Science, Vol. 1, Oxford University Press, 1992, pp. 118–310.

  2. Barras et al.: The Coq proof assistant reference manual, Technical report, INRIA, 1999.

  3. Berardi, S.: Type Dependency and Constructive Mathematics, Ph.D. Thesis, Carnegie Mellon University and Universitá di Torino, 1990.

  4. Betarte, G.: Dependent Record Types and Algebraic Structures in Type Theory, Ph.D. Thesis, Department of Computing Science, University of Göteborg, Göteborg, Sweden, 1998.

    Google Scholar 

  5. Burstall, R. and McKinna, J.: Deliverables: An approach to program development in the calculus of constructions, in Proceedings of the First Workshop on Logical Frameworks, Antibes, 1990, pp. 113, 121.

  6. Magnusson, L.: The Implementation of Alf-a Proof Editor Based on Martin-Löf 's Monomorphic Type Theory with Explicit Substitution, Ph.D. Thesis, Chalmers University of Technology, Göteborg, Sweden, 1994.

    Google Scholar 

  7. Nordström, B., Petersson,K., and Smith, J. M.: Programming in Martin-Löf 's Type Theory: An Introduction, Oxford University Press, 1990.

  8. Parent, C.: Developing certified programs in the system Coq, in H. Barendregt and T. Nipkow (eds.), Types for Proofs and Programs, 1994, pp. 291–312.

  9. Paulin-Mohring, C.: Extracting 's programs from proofs in the calculus of constructions, in Sixteenth Anual ACM Symposium on Principles of Programming Languages, Austin, 1989, pp. 32–49.

  10. Paulin-Mohring, C. and Werner, B.: Synthesis of ML programs in the system Coq, J. Symbolic Comput. 15 (1993), 607–640.

    Google Scholar 

  11. Poll, E.: A Programming Logic Based on Type Theory, Ph.D. Thesis, Eindhoven University of Technology, 1994.

  12. Severi, P.: Normalisation on Lambda Calculus and its Relation to Type Inference, Ph.D.Thesis, Eindhoven University of Technology, 1996.

  13. Szasz, N.: A Theory of Specifications, Programs and Proofs, Ph.D. Thesis, Department of Computing Science, Chalmers University of Technology, S-412 96, Göteborg, Sweden, 1997.

    Google Scholar 

  14. Terlouw, J.: Een nadere bewijstheoretische analyse van GSTT's, Manuscript, 1989.

Download references

Authors

Rights and permissions

Reprints and permissions

About this article

Cite this article

Severi, P., Szasz, N. Studies of a Theory of Specifications with Built-in Program Extraction. Journal of Automated Reasoning 27, 61–87 (2001). https://doi.org/10.1023/A:1010663224299

Download citation

  • Issue Date:

  • DOI: https://doi.org/10.1023/A:1010663224299

Navigation