Skip to main content
Log in

Partial logics reconsidered: A conservative approach

  • Published:
Formal Aspects of Computing

Abstract

Partial functions play an important role in computer science. In order to reason about partial functions one may extend classical logic to a logic supporting partial functions, a so-called partial logic. Usually such an extension necessitates side-conditions on classical proof rules in order to ensure consistency, and introduces non-classical proof rules in order to maintain completeness. These complications depend on the choice of consequence relation and non-monotonic operators. In computer science applications such complications are undesirable, because they affect (semi-) mechanical reasoning methods, and make manual reasoning difficult for computer scientists who are not logicians.

By carefully choosing the consequence relation and non-monotonic operators, a simple calculus for partial functions arises. The resulting logic is “healthy” in the sense that “meaningless” formulas (such as top(emptystack) > 1) cannot be concluded, except from contradictory or false assumptions, and a meaningless assumption provides no information. This requires all axioms to be healthy; and as a consequence the “excluded middle” (a V ¬a) must be weakened (to meaningfula's). All the well-known classical rules preserve healthiness and are therefore sound in the logic, provided substitutions are restricted to meaningful terms. This means that program reasoning methods based on classical logic usually can be adapted to the presented partial logic.

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. Barringer, H., Cheng, J.H. and Jones, C.B.: “A Logic Covering Undefinedness in Program Proofs.”Acta Informatica,21, 251–269, (1984).

    Google Scholar 

  2. Blamey, S.: “Partial Logic.” InHandbook of Philosophical Logic, Volume III, D. Gabbay and F. Guenthner (eds.), D. Reidel Publishing Company, 1986.

  3. Blikle, A.: “Three-Valued Predicates for Software Specification and Validation.” InVDM — The Way Ahead, Lecture Notes in Computer Science 328, Springer Verlag, 1988.

  4. Cheng, J.H.: “A Logic for Partial Functions.” Ph.D. Thesis, Report UJMCS-86-7-1, Dept. of CS, University of Manchester, 1986.

  5. Cheng, J.H. and Jones, C.B.: “On the Usability of Logics which Handle Partial Functions.” InProceedings of the Third Refinement Workshop, C. Morgan and J. Woodcock (eds.), Springer Verlag, 1990.

  6. Dahl, O.-J., Langmyhr, D.F. and Owe, O.: “Preliminary Report on the Specification and Programming Language ABEL.” Research Report 106, Dept. of Informatics, University of Oslo, Norway, 1986.

    Google Scholar 

  7. Dahl, O.-J.:Verifiable Programming. The Hoare Series, Prentice Hall, 1992.

  8. Elvang-Gøransson, M.: “Some properties of WSL.” Preprint, Dept. of Informatics, University of Oslo, 1991.

  9. Gallier, J.H.:Logic for Computer Science. Harper & Row, 1986.

  10. Gavilanes-Franco, A.G. and Lucio-Carrasco, F.: “A First Order Logic for Partial Functions.” Report DIA/89/1, Dept. of Informatics, Universidad Complutense, Madrid, Spain, 1989.

    Google Scholar 

  11. Goguen, J.A.: “Abstract Errors for Abstract Data Types.” InFormal Description of Programming Concepts, North Holland, 1978.

  12. Holden, M.: “Weak Logic Theory.”Theoretical Computer Science,79, 295–321, (1991).

    Google Scholar 

  13. Hoogewijs, A.: “A Calculus of Partially Defined Predicates.” Technical Report, Rijksuniversiteit, Gent, 1977.

    Google Scholar 

  14. Hoogewijs, A.: “Partial Predicate Logic in Computer Science.”Acta Informatica,24, 381–393, (1987).

    Google Scholar 

  15. Kleene, S.C.:Introduction to Metamathematics. North Holland, 1952.

  16. Konikowska, B., Tarlecki, A. and Blikle, A.: “A Three-Valued Logic for Software Specification and Validation.” InVDM — The Way Ahead, Lecture Notes in Computer Science 328, Springer Verlag, 1988.

  17. Manna, Z.:Mathematical Theory of Computation. McGraw-Hill, 1974.

  18. Owe, O.: “An Approach to Program Reasoning Based on a First Order Logic for Partial Functions.” Report CS-081, Dept. of EECS, UCSD, USA, 1984.

    Google Scholar 

  19. Prawitz, D.:Natural Deduction. Almquist & Wiksell, Stockholm, 1965.

    Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Rights and permissions

Reprints and permissions

About this article

Cite this article

Owe, O. Partial logics reconsidered: A conservative approach. Formal Aspects of Computing 5, 208–223 (1993). https://doi.org/10.1007/BF01211555

Download citation

  • Received:

  • Accepted:

  • Issue Date:

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

Keywords

Navigation