Skip to main content
Log in

Partial Functions in a Total Setting

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

Abstract

We discuss a scheme for defining and reasoning about partial recursive functions within a classical two-valued logic in which all terms denote. We show how a total extension of the partial function introduced by a recursive declaration may be axiomatized within a classical logic, and illustrate by an example the kind of reasoning that our scheme supports. By presenting a naive set-theoretic semantics, we show that the system we propose is logically consistent. Our work is motivated largely by the pragmatic issues arising from mechanical theorem proving – we discuss some of the practical benefits and limitations of our scheme for mechanical verification of software and hardware systems.

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.

Institutional subscriptions

Similar content being viewed by others

References

  1. Barringer, H., Cheng, J. H., and Jones, C. B.: A logic covering undefinedness in program proofs, Acta Informatica 21(1984), 251–269.

    Google Scholar 

  2. Boyer, R. S. and Moore, J S.: A Computational Logic, ACM Monograph Series, Academic Press, 1979.

  3. Cheng, J. H. and Jones, C. B.: On the usability of logics which handle partial functions, in C. Morgan and J. Woodcock (eds), Proceedings of the Third Refinement Workshop, Springer-Verlag, 1990.

  4. Finn, S. and Fourman, M. P.: Logic Manual for the Lambda System, Abstract Hardware Limited, version 3.2, 1990.

  5. Finn, S. and Fourman, M. P.: Logic Manual for the Lambda System, Abstract Hardware Limited, version 4.2.1, 1992.

  6. Farmer, W. M.: A partial functions version of Church’s simple theory of types, J. Symbolic Logic 55(3) (1990), 1269–1291.

    Google Scholar 

  7. Gordon, M. J. C.: HOL: A proof generating system for higher-order logic, in G. Birtwistle and P. A. Subrahmanyam (eds), VLSI Specification, Verification and Synthesis,Kluwer Academic Publishers, 1987, pp. 73–128.

  8. Gordon, M., Milner, R., and Wadsworth, C.: Edinburgh LCF, Lecture Notes in Computer Science 78, Springer-Verlag, 1979.

  9. Jones, C. B.: Systematic Software Development Using VDM, Prentice Hall International, 1986.

  10. Jones, C. B. et al. (eds), Mural: A Formal Development Support System, Springer-Verlag, 1991.

  11. Luo, Z. and Pollack, R.: LEGO Proof Development System: User’s Manual, LFCS Report Series ECS-LFCS-92-211, Department of Computer Science, University of Edinburgh, 1992.

  12. Owre, S. et al.: Formal verification for fault-tolerant architectures: Prolegomena to the design of PVS, IEEE Transactions on Software Engineering 21(2) (1995), 107–125.

    Google Scholar 

  13. Rushby, J., von Henke, F., and Owre, S.: An Introduction to Formal Specification and Verification using EHDM, Technical Report SRI-CSL-91-02, SRI International, 1991.

  14. Scott, D. S.: Identity and existence in intuitionistic logic, in Lecture Notes in Mathematics, Vol. 735, Springer-Verlag, 1979, pp. 661–696.

    Google Scholar 

  15. Spivey, J. M.: Understanding Z–A Specification Language and Its Formal Semantics,Cam-bridge Tracts in Computer Science 3, CUP, 1988.

Download references

Author information

Authors and Affiliations

Authors

Rights and permissions

Reprints and permissions

About this article

Cite this article

Finn, S., Fourman, M.P. & Longley, J. Partial Functions in a Total Setting. Journal of Automated Reasoning 18, 85–104 (1997). https://doi.org/10.1023/A:1005702928286

Download citation

  • Issue Date:

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

Navigation