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