From Chaos to Undefinedness

  • Manfred Broy
Part of the Lecture Notes in Computer Science book series (LNCS, volume 4060)


The semantic and logical treatment of recursion and of recursive definitions in computer science, in particular in requirements specification, in programming languages and related formalisms such as λ-calculus or recursively defined functions is one of the key issues of the semantic theory of programming and programming languages. As it has been recognised already in the early days of the theory of programming there are several options to formalise and give a theory of the semantics of recursive function declarations. In different branches of computer science, logics, and mathematics various techniques for dealing with the semantics of recursion have been developed and established. We outline, compare, and shortly discuss advantages and disadvantages of these different possibilities, illustrate them by a simple running example, and relate these approaches.


Function Symbol Partial Function Complete Lattice Logical Theory Total Function 


Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.


  1. [Broy 86]
    Broy, M.: Partial interpretations of higher order algebraic types. In: Wiedermann, J., Gruska, J., Rovan, B. (eds.) MFCS 1986. LNCS, vol. 233, pp. 29–43. Springer, Heidelberg (1986)CrossRefGoogle Scholar
  2. [Broy, Wirsing 80]
    Wirsing, M., Broy, M.: Abstract data types as lattices of finitely generated models. In: Dembinski, P. (ed.) MFCS 1980. LNCS, vol. 88, pp. 673–685. Springer, Heidelberg (1980)CrossRefGoogle Scholar
  3. [Broy, Wirsing 82]
    Broy, M., Wirsing, M.: Initial versus terminal algebra semantics for partially defined abstract types. Technische Universität München, Institut für Informatik, TUM-I8018 (December 1981), Revidierte Fassung: Partial Abstract Types, Acta Informatica 18, 47–64 (1982)Google Scholar
  4. [Broy, Pepper, Wirsing 87]
    Broy, M., Pepper, M., Wirsing, M.: On the algebraic definition of programming languages. Technische Universität München, Institut für Informatik, TUM-I8204 (1982), Revised version in TOPLAS 9(1) 54–99 (1987)Google Scholar
  5. [de Bakker, Zucker 84]
    de Bakker, J.W., Zucker, J.I.: Processes and the denotational semantics of concurrency. Information and Control 54(1/2), 70–120 (1984)Google Scholar
  6. [Hehner 84]
    Hehner, E.C.R.: Predicative Programming. Comm. ACM 27(2), 134–151 (1984)MATHCrossRefMathSciNetGoogle Scholar
  7. [Knaster-Tarski ]
    Tarski, A.: A lattice-theoretical fixpoint theorem and its application. Pacific Journal of Mathematics 5, 285–309 (1955)MATHMathSciNetGoogle Scholar
  8. [Larch 93]
    Guttag, J.V., Horning, J.J., Garland, S.J., Jones, K.D., Modet, A., Wing, J.M.: Larch: Languages and Tools for Formal Specification. Texts and Monographs in Computer Science. Springer, Heidelberg (1993)MATHGoogle Scholar
  9. [λ-calculus 81]
    Barendregt, H.P.: The Lambda Calculus: Its Syntax and Semantics. North-Holland, Amsterdam (1981)MATHGoogle Scholar
  10. [μ-calculus 73]
    Hitchcock, P., Park, D.: Induction rules and termination proofs. In: Nivat, M. (ed.) Proc. Ist ICALP, p. 73. North Holland, Amsterdam (1973)Google Scholar
  11. [π-calculus 99]
    Milner, R.: Communication and mobile systems: the π-calculus. Cambridge University Press, Cambridge (1999)Google Scholar
  12. [Prolog/Herbrand Universe 87]
    Lloyd, J.: Foundations of Logic Programming, 2nd edn. Springer, Heidelberg (1987)MATHGoogle Scholar
  13. [PVS 92]
    Owre, S., Rushby, J.M., Shankar, N.: PVS: A Prototype Verification System. In: Kapur, D. (ed.) 11th Conference on Automated Deduction, Saratoga, NY (June 1992)Google Scholar
  14. [Schieder, Broy 99]
    Schieder, B., Broy, M.: Adapting Calculational Logic to the Undefined. The Computer Journal 42(2) (1999)Google Scholar
  15. [Sintzoff 87]
    Sintzoff, M.: Expressing program developments in a design calculus. In: Broy, M. (ed.) Logic of programming and calculi of discrete design. NATO ASI Series, Series F:Computer and System Sciences, vol. 36, pp. 343–365. Springer, Heidelberg (1987)Google Scholar
  16. [Scott 81]
    Scott, D.: Lectures on a mathematical theory of computation. In: Broy, M., Schmidt, G. (eds.) Theoretical Foundations of Programming Methodology, pp. 145–292. D. Reidel Publishing Company, Dordrechtz (1982)Google Scholar

Copyright information

© Springer-Verlag Berlin Heidelberg 2006

Authors and Affiliations

  • Manfred Broy
    • 1
  1. 1.Institut für InformatikTechnische Universität MünchenMünchenGermany

Personalised recommendations