# Halting problem

## Problem of determining whether a given program will finish running or continue forever / From Wikipedia, the free encyclopedia

#### Dear Wikiwand AI, let's keep it short by simply answering these key questions:

Can you list the top facts and stats about Halting problem?

Summarize this article for a 10 year old

In computability theory, the **halting problem** is the problem of determining, from a description of an arbitrary computer program and an input, whether the program will finish running, or continue to run forever. The halting problem is *undecidable*, meaning that no general algorithm exists that solves the halting problem for all possible program–input pairs.

This article includes a list of general references, but it lacks sufficient corresponding inline citations. (September 2018) |

A key part of the formal statement of the problem is a mathematical definition of a computer and program, usually via a Turing machine. The proof then shows, for any program `f` that might determine whether programs halt, that a "pathological" program `g`, called with some input, can pass its own source and its input to *f* and then specifically do the opposite of what *f* predicts *g* will do. No *f* can exist that handles this case, thus showing undecidability. This proof is significant to practical computing efforts, defining a class of applications which no programming invention can possibly perform perfectly.