Skip to main content
Log in

A logic covering undefinedness in program proofs

  • Published:
Acta Informatica Aims and scope Submit manuscript

Summary

Recursive definition often results in partial functions; iteration gives rise to programs which may fail to terminate for some imputs. Proofs about such functions or programs should be conducted in logical systems which reflect the possibility of “undefined values”. This paper provides an axiomatization of such a logic together with examples of its use.

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. Abrial, J.R.: Formal Programming. Privately circulated, March 1982

  2. Abrial, J.R.: A Theoretical Foundation to Formal Programming. Privately circulated, May 1982

  3. Bird, R.: Programs and Machines. New York: John Wiley, 1976

    Google Scholar 

  4. Bjorner, D., Jones, C.B.: Formal Specification and Software Development. New York: Prentice-Hall, 1982

    Google Scholar 

  5. Blamey, S.R.: Partial-Valued Logic. Ph.D. Thesis, Oxford University, 1980

  6. Blamey, S.R.: Partial Logic. In: Handbook of Philosophical Logic. (To appear)

  7. Broy, M., Wirsing, M.: Partial Abstract Types. Acta Informat. 18, 47–64 (1982)

    Google Scholar 

  8. Constable, R.L., O'Donnell, M.J.: A Programming Logic. Cambridge, MA: Winthrop Publishers, 1978

    Google Scholar 

  9. Constable, R.L., Johnson, S.D., Eichenlaub, C.D.: An Introduction to the PL/CV2 Programming Logic. Berlin, Heidelberg, New York: Springer 1982

    Google Scholar 

  10. Constable, R.L.: Partial functions in Constructive Formal Theories. Lecture Notes in Computer Science, Vol. 145. Berlin, Heidelberg, New York: Springer, 1983

    Google Scholar 

  11. Dijkstra, E.W.: A Discipline of Programming. New York: Prentice-Hall, 1976

    Google Scholar 

  12. Gordon, M.J., Milner, R., Wadsworth, C.P.: Edinburgh LCF. Lecture Notes in Computer Science, Vol. 78. Berlin, Heidelberg, New York: Springer, 1979

    Google Scholar 

  13. Gries, D.: Science of Programming. Berlin, Heidelberg, New York: Springer, 1981

    Google Scholar 

  14. Haack, S.: Deviant Logic. Cambridge: Cambridge University Press, 1974

    Google Scholar 

  15. Haack, S.: Philosophy of Logics. Cambridge: Cambridge University Press, 1978

    Google Scholar 

  16. Hoogewijs, A.: On a Formalization of the Non-definedness Notion. Z. Math. Logik 25, 213–221 (1979)

    Google Scholar 

  17. Jones, C.B.: Formal Development of Correct Algorithms: An Example Based on Earley's Recognizer. SIGPLAN 7, (1972)

  18. Jones, C.B.: Software Development: A Rigorous Approach. London: Prentice-Hall, 1980

    Google Scholar 

  19. Jones, C.B.: Systematic Program Development. Talk given at CWI Amsterdam December 1983. (In press)

  20. Kleene, S.C.: Introduction to Metamathematics. Princeton: Van Nostrand, 1952

    Google Scholar 

  21. Kleene, S.C.: Mathematical Logic. New York: John Wiley, 1967

    Google Scholar 

  22. Koletsos, G.: Sequent Calculus and Partial Logic. M.Sc. Thesis, Manchester University, 1976

  23. Lucas, P., Walk, K.: On the Formal Description of P1/I. Ann. Rev. Automatic Progr. 6, 105–182 (1969)

    Google Scholar 

  24. McCarthy, J.: A Basis for a Mathematical Theory of Computation. In: Computer Programming and Formal Systems. P. Braffort, D. Hirschberg (eds.). Amsterdam: North-Holland, 1967

    Google Scholar 

  25. Manna, Z.: Mathematical Theory of computation. New York: McGraw Hill, 1974

    Google Scholar 

  26. Owe, O.: Program Reasoning Based on a Logic for Partial Functions. Privately circulated, 1982

  27. Plotkin, G.D.: Types and Partial Functions. Seminar, University of Manchester, 1984

  28. Prawitz, D.: Natural Deduction. Stockholm: Almgrist and Wiksell, 1965

    Google Scholar 

  29. Rescher, N.: Many-valued Logic. New York: McGraw Hill, 1969

    Google Scholar 

  30. Scott, D.S.: Combinators and Classes. In: Lecture Notes in Computer Science, Vol. 37. Böhm, C. (ed.). Berlin, Heidelberg, New York: Springer, 1975

    Google Scholar 

  31. Scott, D.S.: Identity and Existence in Intuitionistic Logic. In: Lecture Notes in Mathematics, Vol.735. Berlin, Heidelberg, New York: Springer, 1979

    Google Scholar 

  32. Wang, H.: The Calculus of Partial Predicates and Its Extension to Set Theory I. Math. Logik 7, 283–288 (1961)

    Google Scholar 

  33. Woodruff, P.: Logic and Truth-Value Gaps in Philosophical Problems in Logic. Lambert, K. (ed.). Reidel, 1970

Download references

Author information

Authors and Affiliations

Authors

Rights and permissions

Reprints and permissions

About this article

Cite this article

Barringer, H., Cheng, J.H. & Jones, C.B. A logic covering undefinedness in program proofs. Acta Informatica 21, 251–269 (1984). https://doi.org/10.1007/BF00264250

Download citation

  • Received:

  • Issue Date:

  • DOI: https://doi.org/10.1007/BF00264250

Keywords

Navigation