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.
Access this chapter
Tax calculation will be finalised at checkout
Purchases are for personal use only
Preview
Unable to display preview. Download preview PDF.
References
Hehner, E.C.R.: Formalist Heresy: Mathematics is Based on Programming (1986)
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)
Hehner, E.C.R.: A Practical Theory of Programming. Springer, Heidelberg (1993); also version 2004 on website Hehner
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-7
Hehner, E.C.R.: Problems with the Halting Problem, pp. 0–8, May 19 (2010), http://www.cs.toronto.edu/~hehner/PHP.pdf
Hoare, C.A.R., He, J.: Unifying Theories of Programming. Prentice-Hall, Englewood Cliffs (1998)
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)
Author information
Authors and Affiliations
Editor information
Editors and Affiliations
Rights and permissions
Copyright information
© 2010 Springer-Verlag Berlin Heidelberg
About this paper
Cite this paper
Huizing, C., Kuiper, R., Verhoeff, T. (2010). Halting Still Standing – Programs versus Specifications. In: Qin, S. (eds) Unifying Theories of Programming. UTP 2010. Lecture Notes in Computer Science, vol 6445. Springer, Berlin, Heidelberg. https://doi.org/10.1007/978-3-642-16690-7_11
Download citation
DOI: https://doi.org/10.1007/978-3-642-16690-7_11
Publisher Name: Springer, Berlin, Heidelberg
Print ISBN: 978-3-642-16689-1
Online ISBN: 978-3-642-16690-7
eBook Packages: Computer ScienceComputer Science (R0)