Тому що майже кожне запитання про поведінку програм не можна вирішити. За теоремою Райса будь-яка проблема рішення форми:
Деякі програми обчислюють функції, які мають це властивість, інші програми обчислюють функції, які не мають цього властивості. Враховуючи програму P, чи має обчислена P функція вищезазначене властивість чи ні?
не можна визначити. Так, наприклад, ви не завжди можете відрізнити код, який обчислює квадрат введення від коду, який не відповідає. Хоча в простих випадках часто можна довести, що функція робить це чи не робить, не існує загальної процедури, яка працює для всієї програми.
Практично будь-який цікавий поведінковий інваріант підпадає під теорему Райса, оскільки ці твердження рідко (якщо взагалі колись) говорять про те, як метод виглядає внутрішньо, лише про те, що він повертає та які побічні ефекти викликає у відповідь на певні дані.