&gt; You just need to stop using broken models.<p>No computation preserves equality under substitution. If your model assumes that equality, it is a useful, but leaky abstraction.<p>&gt; Other than the finiteness of real computers, what else is leaky?<p>The assumption of equality between 2 + 2 and 4, which is true in classical math but false in computation (if 2+2 were equal to 4, then there would be no such thing as computation, whose entire work is to get from 2 + 2 to 4; also, getting from 2+2 to 4 does not imply the ability to get from 4 to 2+2).<p>&gt; Experience shows that humans are incapable of understanding computation at all.<p>Experience shows that humans are capable of creating very impressive software (the most impressive exemplars are almost all in C, Java etc., BTW).