Skip to main content

A three-valued logic for software specification and validation

Tertium tamen datur

  • Foundations And Theory
  • Conference paper
  • First Online:
Book cover VDM '88 VDM — The Way Ahead (VDM 1988)

Part of the book series: Lecture Notes in Computer Science ((LNCS,volume 328))

Included in the following conference series:

Abstract

Different calculi of partial or three-valued predicates have been used and studied by several authors in the context of software specification, development and validation. This paper offers a critical survey on the development of three-valued logics based on such calculi.

In the first part of the paper we review two three-valued predicate calculi, based on, respectively, McCarthy's and Kleene's propositional connectives and quantifiers, and point out that in a three-valued logic one should distinguish between two notions of validity: strong validity (always true) and weak validity (never false). We define in model-theoretic terms a number of consequence relations for three-valued logics. Each of them is determined by the choice of the underlying predicate calculus and of the weak or strong validity of axioms and of theorems. We discuss mutual relationships between consequence relations defined in such a way and study some of their basic properties.

The second part of the paper is devoted to the development of a formal deductive system of inference rules for a three-valued logic. We use the method of semantic tableaux (slightly modified to deal with three-valued formulas) to develop a Gentzenstyle system of inference rules for deriving valid sequents, which in turn is used to obtain a sound and complete system of natural deduction rules. We have chosen to study the consequence relation determined by the predicate calculus with McCarthy's propositional connectives and Kleene's quantifiers and by the strong interpretation of both axioms and theorems. Although we find this choice appropriate for applications in the area of software specification, verification and development, we regard this logic merely as an example and use it to present some general techniques of developing a sequent calculus and a natural deduction system for a three-valued logic.

Non-(tertium non datur)

This is a preview of subscription content, log in via an institution to check access.

Access this chapter

Institutional subscriptions

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

12 References

  1. Simple consequence relations. Report ECS-LFCS-87-30, Laboratory for Foundations of Computer Science, University of Edinburgh, June 1987.

    Google Scholar 

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

    Google Scholar 

  3. Beth, E.W. The Foundations of Mathematics. North-Holland 1959.

    Google Scholar 

  4. Blikle, A. On the development of correct specified programs. IEEE Transactions on Software Engineering SE-7 (1981), 251–169.

    Google Scholar 

  5. Blikle, A. The clean termination of iterative programs. Acta Informatica 16(1981), 199–217.

    Google Scholar 

  6. Blikle, A. MetaSoft Primer: Towards a Metalanguage for Applied Denotational Semantics. LNCS vol.288, Springer-Verlag 1987.

    Google Scholar 

  7. Blikle, A. A calculus of three-valued predicates for software specification and validation. in: Proc. VDM-Europe Symposium 1988, LNCS, Springer-Verlag 1988, this volume.

    Google Scholar 

  8. Cheng, J.H. A logic for partial functions. PhD thesis, Department of Computer Science, University of Manchester 1986; Report UMCS-86-7-1.

    Google Scholar 

  9. Goguen, J.A. Abstract errors for abstract data types. in: Proc. IFIP Working Conference on the Formal Description of Programming Concepts, St.Andrews 1977 (E.Neuhold, ed.), North-Holland 1978.

    Google Scholar 

  10. Hoogewijs, A. On a formalization of the non-definedness notion. Zeitschrift f. Math. Logik u. Grundlagen d. Math. 25(1979), 213–221.

    Google Scholar 

  11. Hoogewijs, A. A partial predicate calculus in a two-valued logic. Zeitschrift f. Math. Logik u. Grundlagen d. Math. 29(1983), 239–243.

    Google Scholar 

  12. Hoogewijs, A. Partial-predicate logic in computer science. Acta Informatica 24(1987), 381–393.

    Google Scholar 

  13. Jones, C.B. Systematic Software Development Using VDM. Prentice-Hall 1986.

    Google Scholar 

  14. Jones, C.B. VDM proof obligations and their justification. in: VDM — A Formal Method at Work, Proc. VDM-Europe Symposium 1987, LNCS vol.252, Springer-Verlag 1987, 260–286.

    Google Scholar 

  15. Kleene, S.C. On notation for ordinal numbers. Journal of Symbolic Logic 3(1938), 150–155.

    Google Scholar 

  16. Kleene, S.C. Introduction to Mathematics. North Holland 1952, then republished in 1957, 59, 62, 64, 71.

    Google Scholar 

  17. Koletsos, G. Sequent calculus and partial logic. MSc thesis, The University of Manchester 1976.

    Google Scholar 

  18. McCarthy, J. A basis for a mathematical theory of computation. Western Joint Computer Conference, May 1961; then published in: Computer Programming and Formal Systems (P.Braffort, D.Hirshberg, eds.) North-Holland 1967, 33–70.

    Google Scholar 

  19. Owe, O. An approach to program reasoning based on a first-order logic for partial functions. Research Report 89, Institute of Informatics, University of Oslo, February 1985.

    Google Scholar 

  20. Prawitz, D. Natural Deduction. Almquist & Wiksell, Stockholm 1965.

    Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Editor information

Robin E. Bloomfield Lynn S. Marshall Roger B. Jones

Rights and permissions

Reprints and permissions

Copyright information

© 1988 Springer-Verlag Berlin Heidelberg

About this paper

Cite this paper

Konikowska, B., Tarlecki, A., Blikle, A. (1988). A three-valued logic for software specification and validation. In: Bloomfield, R.E., Marshall, L.S., Jones, R.B. (eds) VDM '88 VDM — The Way Ahead. VDM 1988. Lecture Notes in Computer Science, vol 328. Springer, Berlin, Heidelberg. https://doi.org/10.1007/3-540-50214-9_19

Download citation

  • DOI: https://doi.org/10.1007/3-540-50214-9_19

  • Published:

  • Publisher Name: Springer, Berlin, Heidelberg

  • Print ISBN: 978-3-540-50214-2

  • Online ISBN: 978-3-540-45955-2

  • eBook Packages: Springer Book Archive

Publish with us

Policies and ethics