Я не знаю, как тяжело люди думают, поэтому не могу сказать, проще ли. Однако вы правы в своем наблюдении, что неразрешимость проблемы (в целом) не означает, что все случаи этой проблемы неразрешимы. Например, я могу легко сказать, что такая программа, как while false do something
, завершается (при условии очевидной семантики while и false).
Такие проекты, как упомянутый вами проект Terminator, очевидно, существуют (и, возможно, даже работают в некоторых случаях), поэтому ясно, что не все безнадежно. Существует также конкурс (я считаю, что каждый год) для инструментов, которые пытаются доказать завершение для систем перезаписи, которые в основном являются моделью вычислений. Но дело в том, что прекращение во многих случаях очень трудно доказать.
Самый простой способ взглянуть на это - это, возможно, увидеть неразрешимость как максимум сложности задач, возникающих в процессе. Каждая инстанция находится где-то в масштабе от тривиального до этого максимума, и с более высоким максимумом вы обычно имеете, что инстанции также в среднем сложнее.