This Article 
 Bibliographic References 
 Add to: 
Predicate Logic for Software Engineering
September 1993 (vol. 19 no. 9)
pp. 856-862

The interpretations of logical expressions found in most introductory textbooks are not suitable for use in software engineering applications because they do not deal with partial functions. More advanced papers and texts deal with partial functions in a variety of complex ways. This paper proposes a very simple change to the classic interpretation of predicate expressions, one that defines their value for all values of all variables, yet is almost identical to the standard definitions. It then illustrates the application of this interpretation in software documentation.

[1] J. H. Cheng and C. B. Jones, "On the usability of logics which handle partial functions," inProc. Third Refinement Workshop, C. Morgan and J. Woodcock, Eds. Heidelberg Germany: Springer-Verlag, 1991.
[2] E. W. Dijkstra,A Discipline of Programming. Englewood Cliffs, NJ: Prentice-Hall, 1976.
[3] William F. Farmer, "A partial functions version of Church's simple theory of types,"J. Symbolic Logic, pp. 1269-1291, Sept. 1990.
[4] P. R. Halmos,Naive Set Theory. New York: Van Nostrand Rheinhold, 1960.
[5] E. Mendelson,Introduction to Mathematical Logic. Princeton, NJ: Van Nostrand, 1964.
[6] D. L. Parnas, "Tabular representation of relations," CRL Report 260, McMaster University, TRIO (Telecommunications Research Institute of Ontario), Oct. 1992.
[7] D. L. Parnas, G. J. K. Asmis, and J. Madey, "Assessment of safety-critical software in nuclear power plants,"Nuclear Safety, vol. 32, no. 2, pp. 189-198, Apr.-June 1991.
[8] D. L. Parnas and J. Madey, "Functional documentation for computer systems engineering (version 2)," CRL Report 237, McMaster University, Hamilton Canada, TRIO (Telecommunications Research Institute of Ontario), Sept. 1991.
[9] D. L. Parnas, J. Madey, and M. Iglewski, "Formal documentation of well-structured programs," CRL Report 259, McMaster University, TRIO (Telecommunications Research Institute of Ontario), Sept. 1992.

Index Terms:
software engineering; logical expressions; partial functions; predicate expressions; predicate logic; software documentation; tabular expressions; formal logic; software engineering
D.L. Parnas, "Predicate Logic for Software Engineering," IEEE Transactions on Software Engineering, vol. 19, no. 9, pp. 856-862, Sept. 1993, doi:10.1109/32.241769
Usage of this product signifies your acceptance of the Terms of Use.