Could a program always tell whether another program will stop?
Watching a program run is not always enough to know whether it will eventually stop. The halting problem asks for something stronger: a checker that always finishes and answers correctly for every program and input. A carefully constructed self-reference shows why that universal promise is impossible, even though many particular programs can be checked.
Questions you could explore
- What useful promises could a software checker make if it cannot answer every possible case?
Start reading
- Cornell University, CS 2112, Fall 2021Hard problems and undecidability
States exactly what the imagined checker must do and walks through a contradiction using a program represented as its own input.
Ready to try your ideas aloud?
Your topic carries over. Record up to 2½ minutes, depending on your plan.