| > because computation is not (classical) math Of course, computation is more foundational. It's mathematics that's just applied computation. > as it does not preserve equality under substitution You just need to stop using broken models. > but the recognition that their entire justification is not mathematical but pragmatic I don't see a distinction. To me, nothing is more pragmatic to use than a reliable mathematical model. > the (leaky) abstraction of those models Other than the finiteness of real computers, what else is leaky? Mind you, abstracting over the finiteness of the computer is an idea that even... uh... “less mathematically gifted” languages (such as Java) acknowledge as good. > such as empirical results showing a certain "affinity" to human cognition Experience shows that humans are incapable of understanding computation at all. But computation is here to stay, so the best we can do is rise to the challenge. Denying the nature of computation is denying reality itself. |
No computation preserves equality under substitution. If your model assumes that equality, it is a useful, but leaky abstraction.
> Other than the finiteness of real computers, what else is leaky?
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).
> Experience shows that humans are incapable of understanding computation at all.
Experience shows that humans are capable of creating very impressive software (the most impressive exemplars are almost all in C, Java etc., BTW).