In the theory of computation, the halting problem is a special Turing machine problem of determining whether a Turing machine will halt (accept or reject) on a given input. The halting problem is provably undecidable.