Estimado Ruben, en lo que respecta a que 55 = 5*5 es una falacia, por supuesto que tienes razon, especialmente si interpretamos el operador "=" como en matematica : simbolo de igualdad, claro que 55 != 5*5.
Pero piensa un poco como aficionado al c++. En este caso el operador "=" es un operador que pasa valores del lado derecho al izquierdo, y no simbolo de igualdad.
Bueno en este caso no podemos pasar el valor 5*5 a una constante literal, pero si reescribimos el ejemplo asi :
int a = 55;
a = 5*5;
No verias en esto una "falacia", de ninguna manera,
Te escribo todo esto, por hace tiempo, cuando empeze a estudiar programacion, me choco mucho cuando vi la expresion a = a + 1. La leia en idioma matematico, y la pude dirigir despues despues de una fuerte dosis de programacion.