Porque casi todas las preguntas sobre el comportamiento de los programas son indecidibles. Según el teorema de Rice , cualquier problema de decisión de la forma:
Algunos programas calculan funciones que tienen esta propiedad, otros programas calculan funciones que no tienen esta propiedad. Dado un programa P, ¿la función calculada por P tiene la propiedad mencionada o no?
Es indecidible. Entonces, por ejemplo, no siempre se puede distinguir el código que calcula el cuadrado de una entrada del código que no lo hace. Aunque en casos simples, a menudo es posible demostrar que una función lo hace o no, no existe un procedimiento general que funcione para todos los programas.
Casi cualquier invariante conductual interesante cae dentro del teorema de Rice, ya que esas afirmaciones rara vez (si alguna vez) hablan sobre cómo se ve internamente el método, solo qué devuelve y qué efectos secundarios causa en respuesta a ciertas entradas.