Halting Still Standing – Programs versus Specifications

  • Cornelis Huizing
  • Ruurd Kuiper
  • Tom Verhoeff
Part of the Lecture Notes in Computer Science book series (LNCS, volume 6445)

Abstract

In UTP’06 [4], Hehner claims that the traditional proof of the incomputability of the Halting Function is rather a proof of the inconsistency of its specification. We identify where his argument fails.

Hehner claims that assuming a well-defined Halting Function for specifications leads to a contradiction by a very similar argument as assuming a computable Halting Function for programs does. In the case of programs, this argument leads to concluding that the Halting Function is not computable, porting the proof to the case of specifications, it is claimed to allow concluding that the Halting Function is ill-defined. He reasons that if the Halting Function for specifications is ill-defined, then the concept of the Halting Function in general is inconsistent, including the one for programs. We do not challenge this generalization, but rather point out a flaw in his argument for the specification case. We formalize his argument in UTP-style. This enables us to show that there is a subtle tacit assumption being made about the recursive definition that is used to arrive at the contradiction, namely that the defining equation has a solution. We also explain why this does not affect the proof for the program case. Furthermore, we analyze whether recursion in the language Hehner uses is essential for his argument and our refutation. Porting the arguments to a language without recursion shows that the issue of the existence of the contradicting specification remains. We conclude that this line of argument does not challenge the healthiness of the concept of the Halting Function, including its extension to specifications.

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

References

  1. 1.
    Hehner, E.C.R.: Formalist Heresy: Mathematics is Based on Programming (1986)Google Scholar
  2. 2.
    Hehner, E.C.R.: Beautifying Goedel. In: Feijen, V.G., Gries, M. (eds.) Beauty is our Business, New York. Springer-Verlag silver series, pp. 163–172 (1990)Google Scholar
  3. 3.
    Hehner, E.C.R.: A Practical Theory of Programming. Springer, Heidelberg (1993); also version 2004 on website HehnerMATHGoogle Scholar
  4. 4.
    Hehner, E.C.R.: Retrospective and Prospective for Unifying Theories of Programming. In: Dunne, S., Stoddart, B. (eds.) UTP 2006. LNCS, vol. 4010, pp. 1–17. Springer, Heidelberg (2006) ISBN 978-3-540-34750-7CrossRefGoogle Scholar
  5. 5.
    Hehner, E.C.R.: Problems with the Halting Problem, pp. 0–8, May 19 (2010), http://www.cs.toronto.edu/~hehner/PHP.pdf
  6. 6.
    Hoare, C.A.R., He, J.: Unifying Theories of Programming. Prentice-Hall, Englewood Cliffs (1998)Google Scholar
  7. 7.
    Turing, A.: On computable numbers, with an application to the Entscheidungs problem. In: Proceedings of the London Mathematical Society. Series, vol. 2(42), pp. 230–265 (1936)Google Scholar

Copyright information

© Springer-Verlag Berlin Heidelberg 2010

Authors and Affiliations

  • Cornelis Huizing
    • 1
  • Ruurd Kuiper
    • 1
  • Tom Verhoeff
    • 1
  1. 1.Department of Mathematics and Computer ScienceTechnische Universiteit EindhovenEindhovenThe Netherlands

Personalised recommendations