Acta Informatica

, Volume 21, Issue 3, pp 251–269

A logic covering undefinedness in program proofs

  • H. Barringer
  • J. H. Cheng
  • C. B. Jones
Article

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.

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

References

  1. 1.
    Abrial, J.R.: Formal Programming. Privately circulated, March 1982Google Scholar
  2. 2.
    Abrial, J.R.: A Theoretical Foundation to Formal Programming. Privately circulated, May 1982Google Scholar
  3. 3.
    Bird, R.: Programs and Machines. New York: John Wiley, 1976Google Scholar
  4. 4.
    Bjorner, D., Jones, C.B.: Formal Specification and Software Development. New York: Prentice-Hall, 1982Google Scholar
  5. 5.
    Blamey, S.R.: Partial-Valued Logic. Ph.D. Thesis, Oxford University, 1980Google Scholar
  6. 6.
    Blamey, S.R.: Partial Logic. In: Handbook of Philosophical Logic. (To appear)Google Scholar
  7. 7.
    Broy, M., Wirsing, M.: Partial Abstract Types. Acta Informat. 18, 47–64 (1982)Google Scholar
  8. 8.
    Constable, R.L., O'Donnell, M.J.: A Programming Logic. Cambridge, MA: Winthrop Publishers, 1978Google Scholar
  9. 9.
    Constable, R.L., Johnson, S.D., Eichenlaub, C.D.: An Introduction to the PL/CV2 Programming Logic. Berlin, Heidelberg, New York: Springer 1982Google Scholar
  10. 10.
    Constable, R.L.: Partial functions in Constructive Formal Theories. Lecture Notes in Computer Science, Vol. 145. Berlin, Heidelberg, New York: Springer, 1983Google Scholar
  11. 11.
    Dijkstra, E.W.: A Discipline of Programming. New York: Prentice-Hall, 1976Google Scholar
  12. 12.
    Gordon, M.J., Milner, R., Wadsworth, C.P.: Edinburgh LCF. Lecture Notes in Computer Science, Vol. 78. Berlin, Heidelberg, New York: Springer, 1979Google Scholar
  13. 13.
    Gries, D.: Science of Programming. Berlin, Heidelberg, New York: Springer, 1981Google Scholar
  14. 14.
    Haack, S.: Deviant Logic. Cambridge: Cambridge University Press, 1974Google Scholar
  15. 15.
    Haack, S.: Philosophy of Logics. Cambridge: Cambridge University Press, 1978Google Scholar
  16. 16.
    Hoogewijs, A.: On a Formalization of the Non-definedness Notion. Z. Math. Logik 25, 213–221 (1979)Google Scholar
  17. 17.
    Jones, C.B.: Formal Development of Correct Algorithms: An Example Based on Earley's Recognizer. SIGPLAN 7, (1972)Google Scholar
  18. 18.
    Jones, C.B.: Software Development: A Rigorous Approach. London: Prentice-Hall, 1980Google Scholar
  19. 19.
    Jones, C.B.: Systematic Program Development. Talk given at CWI Amsterdam December 1983. (In press)Google Scholar
  20. 20.
    Kleene, S.C.: Introduction to Metamathematics. Princeton: Van Nostrand, 1952Google Scholar
  21. 21.
    Kleene, S.C.: Mathematical Logic. New York: John Wiley, 1967Google Scholar
  22. 22.
    Koletsos, G.: Sequent Calculus and Partial Logic. M.Sc. Thesis, Manchester University, 1976Google Scholar
  23. 23.
    Lucas, P., Walk, K.: On the Formal Description of P1/I. Ann. Rev. Automatic Progr. 6, 105–182 (1969)Google Scholar
  24. 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, 1967Google Scholar
  25. 25.
    Manna, Z.: Mathematical Theory of computation. New York: McGraw Hill, 1974Google Scholar
  26. 26.
    Owe, O.: Program Reasoning Based on a Logic for Partial Functions. Privately circulated, 1982Google Scholar
  27. 27.
    Plotkin, G.D.: Types and Partial Functions. Seminar, University of Manchester, 1984Google Scholar
  28. 28.
    Prawitz, D.: Natural Deduction. Stockholm: Almgrist and Wiksell, 1965Google Scholar
  29. 29.
    Rescher, N.: Many-valued Logic. New York: McGraw Hill, 1969Google Scholar
  30. 30.
    Scott, D.S.: Combinators and Classes. In: Lecture Notes in Computer Science, Vol. 37. Böhm, C. (ed.). Berlin, Heidelberg, New York: Springer, 1975Google Scholar
  31. 31.
    Scott, D.S.: Identity and Existence in Intuitionistic Logic. In: Lecture Notes in Mathematics, Vol.735. Berlin, Heidelberg, New York: Springer, 1979Google Scholar
  32. 32.
    Wang, H.: The Calculus of Partial Predicates and Its Extension to Set Theory I. Math. Logik 7, 283–288 (1961)Google Scholar
  33. 33.
    Woodruff, P.: Logic and Truth-Value Gaps in Philosophical Problems in Logic. Lambert, K. (ed.). Reidel, 1970Google Scholar

Copyright information

© Springer-Verlag 1984

Authors and Affiliations

  • H. Barringer
    • 1
  • J. H. Cheng
    • 1
  • C. B. Jones
    • 1
  1. 1.Department of Computer ScienceUniversity of ManchesterManchesterGB

Personalised recommendations