Простыми словами
Нельзя построить универсальный алгоритм, который для любой программы безошибочно проверит любое содержательное свойство её поведения. Например, общего теста «эта программа всегда делает именно то, что задумано» не существует. Поэтому реальные анализаторы работают с ограничениями, приближениями и конкретными классами программ.
Механизм действия
Сначала проверяют, есть ли исходное условие из определения. Затем смотрят, как оно влияет на условия, ограничения, взаимодействия и наблюдаемые последствия. Если эту связь не удаётся наблюдать, принцип не стоит использовать как готовое объяснение.
Пример в работе
В задаче «Оценка реализуемости» сразу применить привычное решение и назвать происходящее «Теорема Райса», не проверив, действительно ли работает этот механизм. Так можно улучшить один симптом и пропустить основную причину.
Использовать «Теорема Райса» как гипотезу: сначала определить границы ситуации и исходное состояние, затем менять только то, что связано с проверяемым механизмом, и смотреть на результат.
Ограничения
«Теорема Райса» объясняет только часть происходящего в области «Фундаментальные пределы». Сам принцип не говорит, насколько сильным будет эффект в вашем случае, и не заменяет измерения. При другом масштабе, среде или временном горизонте результат может отличаться.
Источник
Henry Gordon Rice. Classes of Recursively Enumerable Sets and Their Decision Problems (1953).