Abstract
This paper presents a formalization of the proof of the undecidability of the halting problem for a functional programming language. The computational model consists of a simple first-order functional language called PVS0 whose operational semantics is specified in the Prototype Verification System (PVS). The formalization is part of a termination analysis library in PVS that includes the specification and equivalence proofs of several notions of termination. The proof of the undecidability of the halting problem required classical constructions such as mappings between naturals and PVS0 programs and inputs. These constructs are used to disprove the existence of a PVS0 program that decides termination of other programs, which gives rise to a contradiction.
Access this chapter
Tax calculation will be finalised at checkout
Purchases are for personal use only
Similar content being viewed by others
Notes
- 1.
- 2.
Polymorphism in PVS allow for the use of the same function or predicate name with different types.
References
Arts, T.: Termination by absence of infinite chains of dependency pairs. In: Kirchner, H. (ed.) CAAP 1996. LNCS, vol. 1059, pp. 196–210. Springer, Heidelberg (1996). https://doi.org/10.1007/3-540-61064-2_38
Arts, T., Giesl, J.: Termination of term rewriting using dependency pairs. Theor. Comput. Sci. 236(1–2), 133–178 (2000)
Avelar, A.B.: Formalização da automação da terminação através de grafos com matrizes de medida. Ph.D. thesis, Universidade de Brasília, Departamento de Matemática, Brasília, Distrito Federal, Brasil (2015). In Portuguese
Forster, Y., Smolka, G.: Weak call-by-value lambda calculus as a model of computation in Coq. In: Ayala-Rincón, M., Muñoz, C.A. (eds.) ITP 2017. LNCS, vol. 10499, pp. 189–206. Springer, Cham (2017). https://doi.org/10.1007/978-3-319-66107-0_13
Krauss, A., Sternagel, C., Thiemann, R., Fuhs, C., Giesl, J.: Termination of Isabelle functions via termination of rewriting. In: van Eekelen, M., Geuvers, H., Schmaltz, J., Wiedijk, F. (eds.) ITP 2011. LNCS, vol. 6898, pp. 152–167. Springer, Heidelberg (2011). https://doi.org/10.1007/978-3-642-22863-6_13
Larchey-Wendling, D.: Typing total recursive functions in Coq. In: Ayala-Rincón, M., Muñoz, C.A. (eds.) ITP 2017. LNCS, vol. 10499, pp. 371–388. Springer, Cham (2017). https://doi.org/10.1007/978-3-319-66107-0_24
Lee, C.S., Jones, N.D., Ben-Amram, A.M.: The size-change principle for program termination. In: Conference Record of POPL 2001: The 28th ACM SIGPLAN-SIGACT Symposium on Principles of Programming Languages, pp. 81–92 (2001)
Manolios, P., Vroon, D.: Termination analysis with calling context graphs. In: Ball, T., Jones, R.B. (eds.) CAV 2006. LNCS, vol. 4144, pp. 401–414. Springer, Heidelberg (2006). https://doi.org/10.1007/11817963_36
Norrish, M.: Mechanised computability theory. In: van Eekelen, M., Geuvers, H., Schmaltz, J., Wiedijk, F. (eds.) ITP 2011. LNCS, vol. 6898, pp. 297–311. Springer, Heidelberg (2011). https://doi.org/10.1007/978-3-642-22863-6_22
Owre, S., Rushby, J.M., Shankar, N.: PVS: a prototype verification system. In: Kapur, D. (ed.) CADE 1992. LNCS, vol. 607, pp. 748–752. Springer, Heidelberg (1992). https://doi.org/10.1007/3-540-55602-8_217
Thiemann, R., Giesl, J.: Size-change termination for term rewriting. In: Nieuwenhuis, R. (ed.) RTA 2003. LNCS, vol. 2706, pp. 264–278. Springer, Heidelberg (2003). https://doi.org/10.1007/3-540-44881-0_19
Turing, A.M.: On computable numbers, with an application to the Entscheidungsproblem. Proc. London Math. Soc. 42(1), 230–265 (1937)
Turing, A.M.: Checking a large routine. In: Campbell-Kelly, M. (ed.) The Early British Computer Conferences, pp. 70–72. MIT Press, Cambridge (1989)
Xu, J., Zhang, X., Urban, C.: Mechanising Turing machines and computability theory in Isabelle/HOL. In: Blazy, S., Paulin-Mohring, C., Pichardie, D. (eds.) ITP 2013. LNCS, vol. 7998, pp. 147–162. Springer, Heidelberg (2013). https://doi.org/10.1007/978-3-642-39634-2_13
Yamada, A., Sternagel, C., Thiemann, R., Kusakari, K.: AC dependency pairs revisited. In: Proceedings 25th EACSL Annual Conference on Computer Science Logic, CSL 2016, LIPIcs, vol. 62, pp. 8:1–8:16. Schloss Dagstuhl - Leibniz-Zentrum fuer Informatik (2016)
Author information
Authors and Affiliations
Corresponding authors
Editor information
Editors and Affiliations
Rights and permissions
Copyright information
© 2018 Springer-Verlag GmbH Germany, part of Springer Nature
About this paper
Cite this paper
Ramos, T.M.F., Muñoz, C., Ayala-Rincón, M., Moscato, M., Dutle, A., Narkawicz, A. (2018). Formalization of the Undecidability of the Halting Problem for a Functional Language. In: Moss, L., de Queiroz, R., Martinez, M. (eds) Logic, Language, Information, and Computation. WoLLIC 2018. Lecture Notes in Computer Science(), vol 10944. Springer, Berlin, Heidelberg. https://doi.org/10.1007/978-3-662-57669-4_11
Download citation
DOI: https://doi.org/10.1007/978-3-662-57669-4_11
Published:
Publisher Name: Springer, Berlin, Heidelberg
Print ISBN: 978-3-662-57668-7
Online ISBN: 978-3-662-57669-4
eBook Packages: Computer ScienceComputer Science (R0)