Простыми словами
Не существует универсального способа заранее определить для любой программы, остановится она когда-нибудь или будет работать бесконечно. Это похоже на попытку создать один тест, который без запуска безошибочно предскажет поведение любой мыслимой инструкции. Поэтому некоторые вопросы о программах решаются только для ограниченных классов, а не вообще.
Механизм действия
Сначала проверяют, есть ли исходное условие из определения. Затем смотрят, как оно влияет на условия, ограничения, взаимодействия и наблюдаемые последствия. Если эту связь не удаётся наблюдать, принцип не стоит использовать как готовое объяснение.
Пример в работе
В задаче «Оценка реализуемости» сразу применить привычное решение и назвать происходящее «Проблема остановки», не проверив, действительно ли работает этот механизм. Так можно улучшить один симптом и пропустить основную причину.
Использовать «Проблема остановки» как гипотезу: сначала определить границы ситуации и исходное состояние, затем менять только то, что связано с проверяемым механизмом, и смотреть на результат.
Ограничения
«Проблема остановки» объясняет только часть происходящего в области «Фундаментальные пределы». Сам принцип не говорит, насколько сильным будет эффект в вашем случае, и не заменяет измерения. При другом масштабе, среде или временном горизонте результат может отличаться.
Источник
Alan Turing, “On Computable Numbers, with an Application to the Entscheidungsproblem”, 1936.