Digital computers carry out algorithms coded in high level programs. These abstract entities determine what happens at the physical level: they control whether electrons flow through specific transistors at specific times or not, entailing downward causation in both the logical and implementation hierarchies. This paper explores how this is possible in the light of the alleged causal completeness of physics at the bottom level, and highlights the mechanism that enables strong emergence (the manifest causal effectiveness of application programs) to occur. Although synchronic emergence of higher levels from lower levels is manifestly true, diachronic emergence is generically not the case; indeed we give specific examples where it cannot occur because of the causal effectiveness of higher level variables.
IntroductionThe issue of whether strong emergence is possible is a highly contested topic, see for example [Hohwy and Kallestrup (2008)], [Humphreys (2016)], and [Gibb et al (2019)] for discussion. This is closely linked to the issue of downwards causation ([Ellis et al (2012)]), because if higher emergent levels have real causal powers in their own right, as claimed by [Noble (2011)] in the case of biology, they must have the ability to act down to lower levels in order to shape lower level dynamics so as to meet higher level needs. The purpose of the present paper is to show how this occurs in digital computers, where algorithms embodied in computer programs, together with data, are causally effective by shaping outcomes at the electron level. This is what enables the causal power of computer programs in the physical world world, as for instance in car manufacture, landing an aircraft, playing music, playing chess, or searching the web ([McCormack (2011)]). Thus strong emergence certainly takes place in those cases: these outcomes cannot be derived in a solely bottom-up way, because they enable conditional branching logic to have causal power, for example ("IF {aircraft too high} THEN {reduce engine power}"), and so on, where "too high" is a highly contextual variable.Here 'causation' is understood in a counter-factual way [Menzies, (2017)]: if the application program were different, which would be the case if a different algorithm were employed (for example computing airflow over wings, rather than the next move in a chess game), there would be different flows of electrons through gates at the transistor level. Thus both the dynamics of the gates (the time-dependent way they implement Boolean logic) and of the electrons (which carriers flow through which semi-conductor materials at what time) is controlled jointly by the application programs implemented in the computer, the data loaded, and the time the program is turned on. These are in turn determined by the computer operator in the social setting which is the context in which this all happens, which social context also led to the existence of the computer in the first place. Physics is not causally complete by itself; it is only causally complete