Theory of computation

Summarize the significance of the halting problem in the field of theoretical computer science.

© SolutionLibrary Inc. solutionlibary.com 9836dcf9d7 https://solutionlibrary.com/computer-science/theoretical-computer-science/theory-of-computation-7f7e

Solution Preview

...given input to the program.
There is no algorithm developed yet, that decides whether a particular program will halt with the given input.
For an example consider the following set of codes...
a.) for(i=0; i>-1; i++)
b.) int a;

In the first equation we can see that there is an infinite loop there, so the program will never come to halt in that case. And, now in the second we see that it is just doing an assignment, so it will execute in a moment and come to halt.
The representation of the halting problem as a set is given in the following way,
K := { (i, x) | program i will eventually halt if run with input x}
This set is a recursive enumerable set, which means there is a computable function that lists all the pairs(i, x) it contains.
So what does it mean that there is no program that can determine whether any given program will halt on a given input? Perhaps surprisingly, quite a bit. In fact, there are quite a few examples that are incredibly surprising -- for instance, it's not possible to write a program that can determine whether any given program will output its own binary.
How can this be? Well, remember that if we can determine whether or not a particular condition is ...