John Schwenkler kindly asked me to blog about my new book, Physical Computation: A Mechanistic Account. I am grateful for the invitation.
The original motivation for the research that led to the book was to make progress on the vexed question of whether cognition involves computation. That seems to require clarity on what computation amounts to. That’s what this book aims to deliver.
A preliminary source of confusion is that computation is a mathematical notion, and most mainstream philosophers notoriously think of mathematical notions as referring to abstract objects. Abstract objects, in turn, are objects that exist “outside” spacetime, where they have neither causes nor effects. This view is known as platonism in the philosophy of mathematics.
But computation is also supposed to somehow characterize physical systems, such as the one on which, chances are, you are reading this post. What gives? Is computation abstract or concrete?
It’s both, of course. On one hand, computation is a feature of at least some concrete, physical systems. Some physical systems perform (physical) computations. (That’s what my book is about.)
This rather pedestrian point has been surprisingly difficult to grasp for some philosophers, perhaps because they are so used to think of mathematical notions as referring to abstract objects, and they follow mainstream philosophy in thinking of abstract objects as categorically different from concrete ones.
On the other hand, computation is also abstract at least in the sense that in order to capture what a physical system is computing, we must abstract away from many of its more specific physical characteristics, such as its physical composition and even the specific physical variables that implement the computational vehicles being manipulated.
What about abstract objects? Is computation also an abstract object? As I pointed out, many philosophers think of mathematical objects as abstract objects, and computation is surely a mathematical notion. So many philosophers of computation think of computation as an abstract object. But what philosophers of computation often seem to forget is that the very notion of abstract object is rather obscure and contentious. There are other options in philosophy of mathematics besides the positing of abstract objects.
I find abstract objects unintelligible. Partly because I find them unintelligible, I don’t believe there are any. In writing the book, at some point I drafted an argument that there are no abstract objects, with a sketch of an alternative (nonplatonistic) ontology of mathematics. But a wise friend (Carl Craver) and an anonymous referee for OUP advised me to drop that material, as it went too far from the core of the book and was potentially distracting, not to mention insufficiently worked out.
I followed their good advice. My book is officially neutral between platonism about computation and antiplatonism. For all the book says, there may well be computations qua abstract objects. Regardless of your ontology of mathematics, my book proposes a mechanistic account of what it takes for a physical system to perform a computation. Hopefully this account helps clarify the foundations of the computational sciences, including computer science and (computational) cognitive neuroscience.