Skip to main content

Formalization of the Undecidability of the Halting Problem for a Functional Language

  • Conference paper
  • First Online:
Logic, Language, Information, and Computation (WoLLIC 2018)

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.

This is a preview of subscription content, log in via an institution to check access.

Access this chapter

Chapter
USD 29.95
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
eBook
USD 59.99
Price excludes VAT (USA)
  • Available as EPUB and PDF
  • Read on any device
  • Instant download
  • Own it forever
Softcover Book
USD 74.99
Price excludes VAT (USA)
  • Compact, lightweight edition
  • Dispatched in 3 to 5 business days
  • Free shipping worldwide - see info

Tax calculation will be finalised at checkout

Purchases are for personal use only

Institutional subscriptions

Notes

  1. 1.

    https://github.com/nasa/pvslib.

  2. 2.

    Polymorphism in PVS allow for the use of the same function or predicate name with different types.

References

  1. 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

    Chapter  Google Scholar 

  2. Arts, T., Giesl, J.: Termination of term rewriting using dependency pairs. Theor. Comput. Sci. 236(1–2), 133–178 (2000)

    Article  MathSciNet  Google Scholar 

  3. 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

    Google Scholar 

  4. 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

    Chapter  Google Scholar 

  5. 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

    Chapter  Google Scholar 

  6. 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

    Chapter  Google Scholar 

  7. 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)

    Google Scholar 

  8. 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

    Chapter  Google Scholar 

  9. 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

    Chapter  Google Scholar 

  10. 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

    Chapter  Google Scholar 

  11. 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

    Chapter  MATH  Google Scholar 

  12. Turing, A.M.: On computable numbers, with an application to the Entscheidungsproblem. Proc. London Math. Soc. 42(1), 230–265 (1937)

    Article  MathSciNet  Google Scholar 

  13. Turing, A.M.: Checking a large routine. In: Campbell-Kelly, M. (ed.) The Early British Computer Conferences, pp. 70–72. MIT Press, Cambridge (1989)

    Google Scholar 

  14. 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

    Chapter  Google Scholar 

  15. 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)

    Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Corresponding authors

Correspondence to Thiago Mendonça Ferreira Ramos , César Muñoz , Mauricio Ayala-Rincón or Mariano Moscato .

Editor information

Editors and Affiliations

Rights and permissions

Reprints and permissions

Copyright information

© 2018 Springer-Verlag GmbH Germany, part of Springer Nature

About this paper

Check for updates. Verify currency and authenticity via CrossMark

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)

Publish with us

Policies and ethics