Skip to main content

Three-valued predicates for software specification and validation

  • Foundations And Theory
  • Conference paper
  • First Online:
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

Partial functions, hence also partial predicates, cannot be avoided in algorithms. Although the former fact has been accepted in the theory of software very early, the latter is still not quite commonly recognized. In many programming- and software-specification languages the partiality of predicates (Boolean expressions) is treated only semiformally. On the other hand it is quite well known today that an explicit formal treatment of partial predicates substantially improves the discipline of software specification, programming and validation.

Partial predicates are usually formalized as three-valued functions where the third value corresponds to an undefinedness. This leads, of course, to the necessity of developing a new calculus of predicates and new rules of proving facts expressed by three-valued predicates. One possible approach to the latter problem, which has been already explored by several authors, consists in developing a three-valued logic which is used later in proving properties of software. In this paper we are surveying and analyzing another approach. We show how to combine a calculus of three-valued predicates — to be used in the construction of algorithms — with a two-valued logic — to be used in proving facts about these algorithms. We briefly discuss the possible applications of this approach in the construction of software and of software-specification metalanguages. In the opinion of the author our approach has the advantage of using classical techniques of proofs which are better understood by the majority of users and which are supported by many existing software systems such as e.g. LCF or MIZAR.

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.

References

  1. BARRINGER H., CHENG J.H., JONES C.B. A logic covering undefinedness in program proofs, Acta Informatica 21 (1984), 251–269

    Google Scholar 

  2. BLIKLE A. On the development of correct specified programs, IEEE Trans. on Soft. Eng. SE-7 (1981), 519–527

    Google Scholar 

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

    Google Scholar 

  4. BLIKLE A. MetaSoft Primer, Towards a Metalanguage for Applied Denotational Semantics, LNCS 288, Springer-Verlag 1987

    Google Scholar 

  5. BLIKLE A. A guided tour of the mathematics of MetaSoft'88, Information Processing Letters (to appear in 1988)

    Google Scholar 

  6. COLMERAUER A., PIQUE J.F. About natural logic, in: Advances in Data Base Theory (H.Gallaire and J.Minker, eds.), Vol.1 (1981), 343–365

    Google Scholar 

  7. DIJKSTRA E.W. A Discipline of Programming, Prentice Hall 1976

    Google Scholar 

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

    Google Scholar 

  9. A partial predicate calculus in a two-valued logic, ibid. Vol.29 (1983), 239–243

    Google Scholar 

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

    Google Scholar 

  11. JONES C.B. Systematic Software Development Using VDM, Prentice-Hall International Series in Computer Science 1986

    Google Scholar 

  12. JONES C.B. VDM proof obligations and their justification, in: VDM — A Formal Method at Work, Proc. VDM-Europe Symposium 1987, LNCS 252, Springer-Verlag 1987

    Google Scholar 

  13. KLEENE S.C. On notation for ordinal numbers, Journal of Symb. Logic, Vol.3 (1938), 150–155

    Google Scholar 

  14. KLEENE S.C. Introduction to Metamathematics, North Holland 1952; since then republished in 1957, 59, 62, 64, 67, 71

    Google Scholar 

  15. KONIKOWSKA B., TARLECKI A., BLIKLE A. A three-valued logic for software specification and validation, a manuscript submitted to VDM'88

    Google Scholar 

  16. LUKASIEWICZ J. O logice trojwartosciowej (On three-valued logic), Ruch Filozoficzny, Vol.5, Lwow 1920, 169–171

    Google Scholar 

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

    Google Scholar 

  18. OWE, O. An approach to program reasoning based on a first order logic for partial functions, Res.Rep. Institute of Informatics, University of Oslo, no.89 1985

    Google Scholar 

  19. TRYBULEC A., BLAIR H. Computer assisted reasoning with Mizar, Proc. International Joint Conference on Artificial Intelligence 1985, Los Angeles 1985

    Google Scholar 

  20. TRYBULEC A., BLAIR H. Computer aided reasoning, in: Logic of programs 1985, LNCS 193, Springer-Verlag 1985

    Google Scholar 

  21. WORONOWICZ E. Wspomaganie procesu konstrukcji programow poprawnych w eksperymentalnym srodowisku programistycznym (Supporting the process of correct-program derivation in an experimental programming environment), Ph.D. dissertation, Bialystok Branch of Warsaw University 1986

    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

Blikle, A. (1988). Three-valued predicates 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_20

Download citation

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

  • 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