The computational turn
oftware developers stand on firmer foundations than engineers
What this paper is about
Abstractions and implementations in computer science
Computer programs: what people in my field work with
Computer programs have both a static and dynamic aspect
A computer program organizes the computational capabilities of a machine so that a desired
computation will result
Implementing a computation defined in one formalism in terms of another
Emergence without the mystery
The special sciences and their relation to physics
More about why there is something besides physics
Do the laws of physics entail all other laws?
Summary position on the special sciences
Downward causality and downward entailment
Introduction to downward causation
A better way to look at downward causation
What have we said?
nces (some of the following are not cited and should be removed)
Appendix 1: An introduction to higher level entities
Appendix 2: The first two definitions of causality in Ellis (2012)
re is near universal agreement that the
fundamental laws of physics are sufficient to
all observed phenomena
nature is causally closed.
Downward (or top
does not fit within this paradigm. Yet
like a zombie idea, it
refuses to die.
reviewing basic issues
causality, emergence, and the autonomy of the laws of the special sciences, I argue that
and appears to
the result of
analysis and synthesis
explain why e
mergence and the special sciences are central to understanding how the world works
laws of the special sciences
A key idea is
that the special sciences characterize
domains that are autonomous in their functioning
limited by the requirement that they
implemented within a world governed by physics.
An examination of how a modern
demon also demonstrates the nee
d for the special sciences.
is that the Theory of Computability is autonomous of the rules governing
the Game of Life
it is possible to implement a Turing machine
(as an emergent phenomenon)
Life grid. Furthermore, the possibility of that imple
entation entails the undecidability of the
halting problem for the Game of Life
, thereby illustrating downward entailment
but not downward
shows how modes of thinking
to problems in philosophy
, thereby illustrating “the computational turn
hat do emergence,
downward causation, and
the relationship between
special sciences have in common?
the special science
version of th
of the special sciences testifies to reliable macro
level regularities t
hat are realized by
mechanisms whose physical substance is quite typically heterogeneous. Does anybody really doubt that
mountains are made of all sorts of stuff? Does anybody really think that, since they are, generalizations about
continue to serve geology in good stead? Damn near everything we know about the
world suggests that unimaginably complicated to
ings and fro
ings of bits and pieces at the extreme
level manage somehow to converge on stable
On the other hand, the 'somehow' really is entirely mysterious. [
Why should there be (h
ow could there be
level regularities at all in a world where, by common consent, macro
level stabilities have to supervene
on a buzzing, blooming confusion of mi
why is there anything except physics
? … Well, I admit that I don't know why. I don't even know how
I expect to figure out why there is
anything except physics
the day before I figure out why
anything at all.
The world, it seems, runs in parallel, at many levels of description. You may find that perplexing; you certainly
aren’t obliged to like it. But I do think we had all better learn to live with it.
I am not a professional philosopher
My PhD is in Computer Science, and I teach in a Department of
I don’t find a world that runs on many level perplexing, and I don’t not like it. In fact,
I like it a lot.
In this paper I
ll explain why
and why that might be of interest to
The computational turn
The International Association for Computing and Philosophy
mission as promoting
“scholarly dialogue on all aspects of the computational/informational turn and the use of computers in
the service of
What is the “computational turn?” My sense is that it has to do with how we
computer scientists tend to think.
Well, how do we think?
Overwhelmingly the task of software development is to
and then implement those abstractions as software
already implemented software
An example familiar to nearly everyone is a word processing program
such as Microsoft
offer users the ability to
. They offer this
capability my making available
the use and manipulation of
abstractions such as words, paragraphs,
footnotes, sections, etc.
has two important tasks. One
is to understand
i.e., how the potential users of her software
. The second task
is to write software that implements those abstractions and
potential users access to
operations on them. These implementatio
ns are created by putting together existing abstractions such
as those defined by programming languages and software libraries.
stand on firmer foundations than engineers
Much of what I said
about creating and implementing abstractions
applies to engineers as well as
And they do it
by putting together
ability to re
display (portrait or landscape)
depending on how the phone is held.
How do engineers get phones to do that? They
, the small
which had been developed
and has a wide range of uses in
ial and commercial products
. One of its more familiar uses is
in game controllers
such as the
An accelerometer in a game controller can tell the software in the controller
. When the user swings
a tennis racket, the controller can display a
picture of someone swinging a racket in a way that parallels the user
s movements. In a smart phone,
the accelerometer is used much more simply
to let the software in the phone know how the phone
was moved and how it is oriented.
The point is that
a device whose functionality had been used for one
purpose is now used for another.
I have had a long
standing interest in questions on the boundary of Computer Science and Philosophy and have
presented and published
papers in this area, for example (Abbott, 2008, 2009, 2010a, and 2010b).
From the mission page of the IACAP website:
One might make the same amazed observation about Microsoft Word as Fodor did about mountains.
Unimaginably complicated to
ings and fro
ings of bits
although perhaps not pieces
in a computer manage
somehow to converge on Microsoft Word.
Software developers have an
important advantage over engineers
not be concerned about
primitives. The lowest level software element is the bit. It is an atomic ideal. It
cannot be decomposed into smaller elements
it cannot wear out
As far as software developers are
concerned, bits a
ou can’t break a bit.
Engineers have no such solid foundation. When
building something they must always be concerned about whether the
components are appropriate for
This is not a trivial issue; there is no
limit to the depth of analysis
that the components will work when the device is put to use
there are many different types of accelerometers. Some are quite rugged; others fail when not
in a laborator
y environment. In addition, there is trade
off between accelerometer size and sensitivity.
Larger accelerometers are better at sensing smaller movements, but heavier mobile phones don’t sell as
For example, see (
2005). Issues of
be looking down
of the devices they use
as well as up toward the new abstractions
can be secure in
the certainty of
ental elements of their universes
for additional discussion.)
What this paper is about
our job is the creation and implementation of abstractions
typically skilled in understanding both (a)
means to define new level
of abstraction and (b)
it takes (and whether it is even possible) to
those new abstractions in terms of existing
Because we do this work in a world with an indestructible primitive, we are free of
about the strength of our foundations
and can focus exclusively on abstractions
One of my goals in this paper is to apply
our approach to
and embodying abstractions to
n particular, I’l
l explore abstraction and implementation in emergence,
have a number of other things to say about these
areas. In particular, I’ll be dismissive of strong emergence
and eventually of emergence
in general. I’ll
propose a way of settling the
whether the laws of physics entail the laws of the special
sciences, and I’ll suggest downward entailment as
some of the app
arent consequences of
lthough the multi
level mystery is often associated with
the theory of mind, this paper is
not about mind or consciousness. I don’t believe we know enough about consciousness to be able to say
other than that it’s a puzzle we have hardly begun to
are developers are often referred to as software engineers.
Analogy suggested by Debora Shuger, private correspondence. She cited Barkan (2013, p 13) for a discussion of
Plato’s transmutation of the “public craftsman,” i.e., engineer, into an equivalent
are often used synonymously in the literature. My
preference is for
because it does not imply that one is starting from a top
r, one of the primary references for this paper uses
. I will use the two terms interchangeably and intend no difference between
Abstractions and implementations in computer science
As background for the rest of this paper, I
want to spend a brief time reviewing
Computer programs: what people in my field work with
For those of us who spend our professional lives in the field of computing, the primary object of study is
the computer program. I had a hard time writing that sentence because the te
sounds like it describes such a pedestrian object, hardly a work of intellectual depth and sophistication. I
could have written
, but that’s no better. Yet it is computer programs that we deal with, both as
developers and theori
Theoretical computer scientists
those who study computability
may talk about Turing machines, but
since any Turing machine can be understood as a program to be executed by a universal Turing machine,
a Turing machine is really just a computer program
. The same can be said about those who study the λ
calculus and related formalisms. These too are really programming languages
which allow one to write
computer programs, which can be run on λ
calculus abstract machines. So we are stuck with the fact
computer scientists study computer programs.
Computer programs have both a static and dynamic aspect
Computer programs must be understood from two perspectives: as a static expression of a computation
and as the dynamic process that
s the described compu
tation. Issues related to programs as static
objects derive from their status as expressions in a language.
he semantics of a programming language
determines what one can say about the process a program describes. The primary issues involve
ructures (what one can say about how the process proceeds)
data types and
structures (what one can say about the elements the process operates on)
, and (c)
in which the language allows programs to be decomposed into what will
be interacting dynamic
Issues related to programs as dynamic processes span the range from theory to practicality. There are
theoretical questions such as whether the program
process will ever terminate. There are questions
that are both
theoretical and practical such as how long (as a function of the size of the input) the
will take to terminate
assuming we know that it will. There are abstract questions
such as how
describe the dynamic structure of the program
rocess as it runs. And there are more
practical questions such as what will it be like for the program
process to interact with the rest of the
world, including both
it may encounter
it may monitor and control.
e is not the only discipline whose products have significant static and dynamic aspects.
Others include music, theater, film, and many (perhaps most) engineering specializations. For them as
for us what is generally produced is a static product (a)
tatic properties are important but
whose primary value is as a dynamic process.
Even though p
eople in these fields spend
A software component is typically a description of a (parameterized) template for a more
process which can be instantiated and included dynamically during a program’s overall course of action.
time producing static objects
a computer program, a script, an automobile, a computer, etc.
primary value in thos
e static objects inheres in their performance as a process.
This is an especially important point to keep in mind
about computer programs
. Since the static
products we produce
it’s easy to ignore their
aspects and to imagine that their
static properties are their most important features. To do so would
be a mistake. As symbolic objects,
computer programs may look like mathematical objects; it is even possible to analyze computer
programs as mathematical
objects; but what’s most important about computer programs is that they
describe processes. These processes occur in time and do something in the world
My impression is that philosophy tends to be interested in expressi
ons in formal (and even informal)
statements with a truth value.
A computer programs is not a
predicate (or a collection of predicates). A computer program is a recipe for
, i.e. for a
It’s important not to think about it as one would about a predicate.
A computer program organizes the computational capabilities of a machine so that a
desired computation will result
What does it mean for a computer program
a recipe for how something is
to be computed? The job of a program is to build a bridge between two things: the machine for which
the program is written and a desired computation. Whether one is programming a Turing machine, a λ
calculus abstract machine,
or something else, the raw material with which one starts is the
computational capabilities of a machine. So, what is a machine?
The standard definitions of
typically refer to devices that apply power mechanically in the
service of a task. Of cou
rse, that’s not what
in computer science. Informally, a machine
is an abstract, virtual, or concrete object
that is capable of being in any of a number of states and for
which there are rules that determine how it transitions from state to s
tate. Of course this can be
and it has been
but what I’m trying to get at is the intuition behind the formalism.
That’s true even
rogramming languages are often placed on a
calculus is declarative since it allows one to define functions as compositions of
Since any sound evaluation strategy will yield the same result
step instructions for
evaluating those expressions are not provided. The same is true about logic programming languages such as
Turing machines are imperative
hey are programmed by describing how they are to change from state to
computation progresses. In either case
a computation occurs when the program is run, and it’s
The first and most influential λ
calculus abstract machine was the SECD machine. See (Landin, 1964) and
We frequently talk about abstract machines, virtual machines, and physical machines. An abstract machine is
one defined through a formalism. A physical machine is one that exists physically. A virtual machine is a software
of an abstract machine.
For our purposes what is most important is that a machine transitions from one state to another.
sequence of states thr
ough which a machine transitions defines a process.
What are the computational capabilities of a machine.
The transition rules
that determine how a
machine may move from one state to another
are the machine’s computational capabilities. At each
step, by a
pplying a rule the machine performs
computation. The job of a program
is to direct
and control that process by directing and controlling the application of the machine’s rules.
So our fundamental notions are (a)
a machine that is capable of
performing computational operations as
it transitions from state to state and (b)
a program that directs and controls those transitions
defines a computation.
Implementing a computation defined in one formalism in terms of another
So far we ha
two kinds of
machines: Turing machines and λ
The computational capability of a Turing machine is its ability to transition from state to state and in the
process to read and write symbols on an unbounded tape. One p
rograms a (universal) Turing machine
by creating a tape with some initial contents and then setting the machine loose on it. The state
transitions made by a Turing machine
read the symbol on the tape cell under its read head,
state of its finite
, and move its read/write head
very low level. Each does very little computing. The order in which these operations are performed is
The computational capability of a λ
act machine is its ability to reduce, i.e., evaluate,
expressions. One programs a λ
calculus abstract machine by writing a collection of λ
expressions and setting the machine loose on them. The state transitions made by a λ
substitute a value for a variable, replace an expression with a value
are higher level. Each is
a significant step in the process of expression evaluation. The order in which these operations are
performed is more flexible. They may be done as needed
as encountered (called
calculus abstract machine is in some sense smarter and more flexible than a Turing machine. It
allows its programmers to write programs on a higher level (λ
expressions) than that required by Turing
hines (tables of state transitions). Even so, we know that the λ
calculus and Turing machine
computationally equivalent. For every program one can write using either formalism, it is possible to
write a program in the other formalism that performs an
There is some ambiguity in the notion of state. For a Turing machine, for example, the term
is used to refer
either to the state of the finite automaton that the machine’s transition rules direct or to that state along with
contents of the machine’s tape and the position of the read head on the tape. Normally it is clear which sense of
state is intended.
There is a second ambiguity, which can also be illustrated by considering Turing machines. By a Turing machine
m one may be referring
to the machine’s transiti
or to the initial content of the machine’s
tape. A program in either sense can be understood as directing and controlling how the machine transitions from
one state to another. This is especia
lly clear in the case of a universal Turing machine, where the initial content of
the tape specifies the state transitions of the Turing machine that the universal machine is running.
Program consisting of λ
Executed by a λ
Program consisting of Turing machine transitions
ted by a Turing machine
It’s worth looking at that a bit more closely. Suppose I write a program using the λ
calculus. What we
just said is that we can write a Turing machine program that performs an equivalent computation. In
writing such a Turing
machine program we are tying together two abstractions: the computation defined
by the λ
program and the computational abstractions defined by the Turing machine. Another
way of putting this is that we are implementing a λ
tation on a Turing machine.
One way to demonstrate
that two formalisms are computationally equivalent
implementing not just
as a program in the other
formalism in terms of the other.
diagram below shows a Turing machine program that
implements the λ
calculus abstract machine. In fact, to implement the λ
calculus abstract machine on a
Turing machine would be very complex. The equivalence of Turing machines and the λ
y proven by showing that each can compute the same set of functions as the other. For our
purposes here, though, let’s imagine such an implementation.
implements the λ
A Turing machine program that
we have a λ
calculus abstract machine running as a Turing machine program we know that simply
expressions to that
it will perform that λ
This, in short, is the sort of thing software developers spend their time doing. A software developer is
given a description of a desired computation
much as we were given a description of a desi
computation as a program in the λ
or even the λ
calculus abstract machine
. It’s the
programmer’s job to write a program in some programming language that performs that computation
much as we said we could write a Turing machine program to
perform an equivalent computation. Of
course software developers write their programs in more sophisticated programming languages
Turing machines. But the idea is the same.
This has been perhaps a long way of saying that the job of a software devel
oper is to write a program
that puts together the computational capabilities of a
machine in such a way that it will perform a
are given as abstractions. The desired
computation is given as an a
, e.g., a program in the λ
. The available
computational capabilities are described in terms of operational abstractions that the machine can
, e.g., those of a Turing machine
. So one can say that the job of a software dev
eloper is to
implement one abstraction in terms
software developers build bridges between what are often referred to as layers of
abstraction. The lower layer is generally not solely the computational capabilities of a machine.
includes additional computational capabilities
as a library. The higher level, the computation
being implemented, is generally not what one thinks of as a bare computation. As discussed earlier, the
computation being implemented may be
something like a word processor, which is described in terms a
significant number of abstractions.
A program describes a process in time. As the machine it controls transitions from state to state, one
can think of it as an animation
much like an animate
d film, which transition from the state represented
in one film cell to the state represented in another.
An implementation is therefore a way to animate a
collection of abstractions. Jeanette Wing
(2008) describes it this way.
The essence of computationa
l thinking is abstraction. … The abstraction process introduces layers. In
computing, we work simultaneously with at least two, usually more, layers of abstraction: the layer of interest
and the layer below; or the layer of interest and the layer above. …
Computing is … all about making
abstractions come alive!
seem too breathless? Of course Wing is not talking about biological life.
he is talking
way in which
programs such as Microsoft Word respond to user actions depending on
the specific action the user takes and the abstraction on which that action is performed.
of a document
positions the cursor. Clicking a style button
the style of the paragraph where
the cursor is positioned. Dragging sel
ected text cuts the text from one place and pastes it somewhere
a tab or margin indicator on the ruler, changes a tab or margin.
A computer program
A programming language defines a machine whose computational capabilit
ies depend on the semantics of the
language. There are a number of formal ways to define the semantics of a programming language. The two most
widely used are denotational semantics and operational semantics. (Simpson, 2012) has an introduction.
Wing is the
President's Professor of
Computer Science at Carnegie Mellon University. Wing
argued that what she called
had much to offer those outside computing and should be
taught to everyone.
makes abstractions come alive in the sense that the
to user actions in
for that abstraction
The point here is that those of us in computers science spend most of our professional lives thinking
about implementations of abstractions. As a consequence we find the notion quite familiar.
I will h
more to say about this in the section on the special sciences.
A word about
. In the philosophical literature the term
is used in
much the same way as
is used in software. In both cases one is talking a
bout a concrete
embodiment of something that has a functional description.
A difference, though, is that
implicitly incorporates a sense of intentionality whereas
doesn’t. A software developer
deliberately implements some ideas as software. Nature realizes some (apparent) functionality with no
That doesn’t make a naturally occurring realization of an abstraction less faithful
to the abstrac
tion than a programmer
Although nature is not intentional, a
naturalized version of
is useful for understanding how evolution produces the complex
(apparent) functionality it does. Either way, whether an implementation/rea
lization is explicitly
intentional or not the result is a concrete embodiment of a domain that can usefully be characterized
Emergence has been on the philosophical stage for over a century and a half. McLaughlin (1992) traces
ck to work by Mill in the mid
web of ideas
associated with complex systems.
and Wong (2012)
it this way.
[E]mergent entities (properties or substances) ‘arise’ out of more funda
mental entities and yet are ‘novel’ or
‘irreducible’ with respect to them.
Each of the quoted terms is slippery in its own right, and their
specifications yield the varied notions of emergence.
mergence appears to be something of a free lunch. Put a bu
nch of familiar things together and
something new (and surprising and interesting and
useful) may pop out.
In the late 20
seemed to represent all that was good about complex systems
he term became
owever, by the
of the century
itself had become so
the language associated with it
terms in the field
lost much of
had become more of a buzzword than a
tool for clear
d using it
although I’ll relent for this paper.
In the philosophical literature
had another fate.
diced to the point that I hardly recognize some of
es. The primary divisions are weak and
strong emergence. But there is also nominal emergence, pattern emergence, synchronic and diachronic
emergence, static and dynamic emergence, epistemological and ontological emergence, various
combinations of these, an
which I am
aware. I would like to step back from all
that and take another look.
Other ideas related to complex systems include agent
based modeling, evolutionary processes, and various
network topologies and effects.
I have always thought that what was most important about emergence was the idea that a new and
conceptually autonomous domain can be created from e
lements that have nothing to do with that
domain. To take
one of the standard
the study of biological phenomena is in many ways autonomous of chemistry.
In particular, t
ea in biology
evolution through diversity and selection
has no counterpart in
and cannot be expressed using concepts from chemistry
It also bec
me clear to me that what software developers do for a living
to produce emergence. As a
should no longer seem mysterious. As I’ll explain in the next
I believe it can be
it has received
without the mystery
In software the t
to the collection of ideas that define how
application operates. Consider the example of a word processor mentioned earlier. Its conceptual model
is essentially what its
system says about it. The
ribes the program in terms of the
abstractions that are relevant to how the user thinks about what the program can do.
e.g., words, documents, tabs, rulers, ribbons, styles, formats, tables of contents,
footnotes, possible errors (indic
ated, perhaps, by red underscores), etc.
refer to types (e.g. paragraph),
relations (e.g., orphan
line rules for how paragraphs should be formatted on pages), and operations
(e.g., how one can change the default settings for those rules
, or drag a selected
piece of text from one
place to another,
or correct a spelling error).
Standard (and best) practice in software development is to define a conceptual model independently of
how it has been or will be implemented. Imagine writ
system before star
ting to write the
program that it describes and then writing the program to be consistent with what
In other words, a conceptual model is autonomous of and often precedes its implementation.
The autonomy of some collection of entitie
s, properties, etc. from the elements from which they “arise”
is, of course, one of the distinguishing features of so
called emergent phenomena. In the case of
software, the elements from which software “arises” are the things one can write in a programmin
language. The conceptual model “arises” as an autonomous phenomenon when the programmer puts
those elements together in the right way.
Admittedly the creation of something new from something old is in some ways magical. How is it
possible to build a wor
d processor by putting together lines of code in a programming language in which
no word processor
are defined? Yet we do this sort of thing all the time. In fact every creative
the composition of music, the authoring of a work of fiction, the
construction of an architecturally
original building, the evolution of a species with a new way to survive in the world, etc.
same miracle. Human beings and nature both do it.
It is this sort of constructive creativity that I think is
ant about emergence. C
vity may be mysterious; i
A longer discussion is
available in Abbott (2010b).
Of course we now know
although Darwin didn’t
that evolution depends on DNA, which is understood
chemically, but that
’s a matter of implementation, not conceptualization.
Or at least how the software developer thinks the user thinks.
Although we often speak as if emergence is about higher
level elements emerging from lower
elements, that’s not always the c
ot all emergent phenomena are implemented in terms of lower
level elements. The (emergent) lifecycles of parasites
and there are probably as many species of
parasites as non
elements that are macro to their micro.
particularly interesting example.
a species of fungus that infects a species of ants. Infected
s (are somehow induced by the fungal infection to) climb up and
“clamp onto a leaf vein about 25
centimeters off the ground
spot where th
e humidity and other conditions may be ideal for a fungus
(Zimmer 2011) Once the ant clamps onto a leaf, the fungus attacks the muscles that would
allow the ant to release its grip
dooming it to stay clamped onto the leaf. The fungus then produce
stalk, which releases fungal spores, which drift to the ground below and infect other ants.
, like every parasite, exploits its host
resources for its own needs.
e.g., the ability to climb a pla
and clamp onto a leaf
it doesn’t use its host
primary source of
’ lifecycle is emergent; it
didn’t exist before
(Of course that’s true for virtually any species. But the
is unusually distinctive.)
t is fairly easy to explain
’ life cycle. T
explanation is in terms of both higher and lower level elements. The higher level elements are plants
and ants and their properties and behaviors. The low
er level elements include the biochemical reactions
that result in the observed ant behavior.
implements its strange life
cycle by putting
together the capabilities of both higher
level and lower
I want to emphasize that
relies on the
of ants and plants
use ants simply as biochemical fuel as many decomposer
relies on ants ability, as
ants, to climb plants
as plants. For this step in its life cycle it
to position itself about 25
centimeters above the ground. It uses the macro properties of ants and plants to do this. It also needs a
stable platform while it grows its stalk. Again it uses the macro properties of ants (their mandibles and
muscles) and plants (their leaves) to achieve this.
is quite micro compared
, it buil
) lifecycle upon the macro
level properties of those
Although it is not always the case that an emergent macro is built on a base of the relative micro, what
is always the case is that if the emergent phenomenon is biological or social, it requires a source of
energy to persist. That source of energy must co
me from its “base,” i.e., the elements from which it is
relies on energy supplied by ants to run its life cycle. So emergence is not always micro
to macro, it is always from energy source to energy expense. (See Appendix 1 for a discussion
Engineers engage in similar pursuits.
As we said before
built by engineers
. Many of
their components are pre
existing, but t
properties and functionalities are new. The phone
itself is as emergent as any
thing one can point to. But of course their functionalities can all be explained
in terms of the properties and functionalities of their components.
elements that cannot be said to be micro to their macro. The
telephone system itself is of course massive as is the GPS satellite system
many of them use for
These are both pre
existing elements of the
As in the case o
is not always a matter of micro to macro
and may not be
as simple as
Emergence is all a
us. The creativity that produces it may amaze us. The implementation of the
phenomena that exhibit it should n
ot mystify us.
In this section
I’d like to comment on what has been called strong emergence
In particular, I’d like to
respond to the implicit disparagement of science that typically accompanies discussions of strong
are said to be strongly emergent when they have
irreducible causal powers. These macro
causal powers have effects at both macro and micro levels, and
micro effects are termed “downward” causation.
does not use the te
defines what he calls
Emergence: Productive causal
Systemic properties that exer
t a nonredundant, productive causal influence
the behaviour of the system’s more fundamental parts.
The common idea is that strong emergence implies the appearance of a new causal force that (a)
capable of acting on lower
level elements and (b)
cannot be explained in terms of anything known about
2010), (Chalmers 2006), (Kim 2005), (O’Connor
is fairly unanimous that strong emergence,
were anything to exhibit it, would imply not only that
physics is not causally closed but that its position as the ultimate authority for how the
works is under challenge. In other words, strong emergence, were it shown to exist,
may lead to the overthrow of science.
Chalmers (2006) puts it like this.
Strong emergence, if it exists, can be used to reject the physic
alist picture of the world as fundamentally
violation of causal closure as a threat to science.
d like to consider two
are good candidates for being labeled strong emergence
. Both have
rather than weaken
ark energy is reducible neither to the forces of the standard model of physics nor to gravity
i.e., it is a
new force. It is not redundant. It is causally productive: it causes the universe to expand in a
physical way. In addition, dark energy satisfies Chalmers’ condition for strong emergence that “
[strongly emergent phenomena]
even in principle from truths in the low
.” As the NASA
no one understands why
should be there
But is dark energy emergent? As
a property of space itself, wasn’t dark energy there from the
beginning? Perhaps not. According to Smolin
(2012, p 172)
along with its inherent
may be emergent.
I think it is likely that space will turn out to be an illusion of the sort that temperature and pressure are
useful way to organize our impressions of things on a large scale but only a rough and emergent way to see
ld as whole. …
As we’ll see in this chapter, [the separation of time from space] leads to the revolutionary insight that space,
at the quantum
mechanical level, is not fundamental at all but emergent from a deeper order.
Sean Carroll agrees.
Our best th
eories of reality are based on
, not on relativity, and I think that eventually we
will understand space
time as an emergent semi
classical property, not at all fundamental.
is very crucial
in quantum mechanics, but space is only an a
Yet even though dark energy violates what the known laws of physics
were before dark energy was
it has not brought physics to its knees. Why not? Because physics has expanded to include
it. There is now
in physics f
or dark energy.
Should energy fro
an example of strong emergence?
seems to satisfy the
the atomic nuclei of deuterium
(a proton and a neutron)
(a proton and two neutrons)
are put together to create a larger
the atomic nucleus of helium
(two protons and two neutrons) plus an unattached neutron
number of protons and neutrons going into the reaction and coming out of the reac
tion are the same.)
he fusion process also produces energy.
In emergence terms, helium nuclei emerge from a base of
deuterium and tritium nuclei. Along with the helium nuclei one gets an extraordinary amount of energy.
century science s
would have been irreducible
would have seemed
strongly emergent. Now that we know how it works,
Violation of causal closure is not a problem
hether something violates the causal closure of the known laws of physics
not a problem for the
scientific view of nature
. All newly discovered forces
example the strong and weak nuclear forces
causal closure of the existing
forces and the known laws of physics
new forces. But once discovered, any new force will be (co
integrated into physics
. Physics will not be
Being outside the causal closure of the known forces
of physics is the signature of a new force
and the need for new science
, not a sign of the death of science.
The same would go for any other strongly emergent phenomenon.
If, for example, aspects of
sciousness were shown to have
measurable physical effect
could not be explained by known
From an online interview:
science, science would
calling themselves experts in
hat might be known a
grant applications and
That’s how science advances.
This is not as far
fetched as it seems.
Neural engineering has established itself as a recognized
engineering discipline. One of its most important applic
ation areas is for motor rehabilitation, i.e., to
allows people to manipulate objects by thinking about what they want to do. Techniques exist for
monitoring brain activity and translat
into control signals for engineered devices. See (Farina,
, and Akay, 2013) for an up
date survey of the state of the art.
Work in this area has been ongoing for a quarter of a century. Does
show that consciousness has
causal powers? There has been no revolution in either physics or philosophy as a result
of this work.
Why not? Perhaps because subjective experience
itself (whatever that means)
is not being used to
control external physical devices. But if as most naturalists agree consciousness supervenes on brain
activity and brain activity is being used t
o control external physical devices, is this not close to causal
consciousness? After all, subjective experience is by definition subjective.
This work make
progress in understanding what subjective experience is and how it comes about.
agree that C
halmers was right to identify subjective experience as the hard problem of consciousness.
But if the only way for subjective experience to have a physical effect is through its physical
manifestation, how much closer can one get to causal consciousness?
’s just not clear how the notion
of strong emergence helps. Researchers in Artificial intelligence (AI) complain that feats that would once
have been considered demonstrations of “true” AI lose that status once we figure out how to do them.
Perhaps the sam
e should be said of strong emergence.
All this leads me to the view that emergence is best understood
as the implementation of new
functionality in what may be a new (implicit or explicit) conceptual domain. Other
dness of diamonds, flocks of birds, traffic jams,
(it floats even though its parts don’t)
and even life
What is most important about emergence is that it
has a clear
implementation may be complex
millions of lines of code
involve complex, sophisticated, and coordinated chemistry
from a single cell to
organisms with trillions of cells
. But there is always a replicable implementation. In other words,
is a matter of
refers to phenomena we can’t (yet) imagine how
to explain or produce
through known science o
But I don’t believe that any phenomena will
permanent status as stro
In fact I would recommend that
erhaps the notion of emergence
itself should be retired and replace
by the notion of the
he special sciences
The three subsection
s in this section discuss the special sciences and their relation to physics. The first
between the special sciences and the kinds of conceptual models developed for
computer applications. The second explores how a possible modern
Laplacian demon might work.
The upshot is that for it to have any chance of working successfully requires that it be informed about
the special sciences. The third subsection examines the debate about whether the laws of physics entail
the laws of the spec
The special sciences
as software applications are to
Recall the extract from Fodor in which he
amazement that “unimaginably complicated to
ings and fro
ings of bits and pieces at the extreme
evel manage somehow to converge on stable
[studied by, e.g., geology]
One might make a similar observation about
Microsoft Word. Unimaginably complicated to
ings and fro
ings of bits
in a computer manage somehow
to converge on Micr
Is this a fair comparison? What is the conceptual distance between the two ends of these two
See table 1.
In Fodor’s case one might count: quantum physics to atomic physics, to
the special science of
geology. In the
case of Microsoft Word one might count:
machine to virtual machine to
sequence four steps.
Could the steps be divided differently? Probably.
complex? It’s difficult to say. But
that the two conceptual distances
the same order of magnitude.
The point I am going to make will not depend on the specific sizes
of each step. It will depend on the number of steps a
the claim that each step defines an
autonomous level of abstraction.
Table 1. Layers
of abstraction in
the special sciences and computer applications
Special sciences (e.g, geology
To clarify what the steps on the right are referring to
take a moment to explain the
. Microsoft Word
(and all other
) exist as lines of code
written in a programming language. The two
most widely used language
s are the C/C++ family and
. Other widely used
languages are C# for Microsoft applications and Objective C for Macintosh applications.
ng those lines of code the programmer
by the programming language in such a way as to produce the abstraction of Microsoft Word
Programs in programmi
ng languages are processed by compilers. A compiler is a prog
ram that translates
lines of code in a programming languages
into a program written in a lower level language. This is similar
to what we discussed when talking about translating
calculus expressions to Turing machine
In software levels of abstraction are often referred to as layers of abs
transitions. In practice most compil
ers translate what
into instructions for a virtual
machine. Perhaps confusingly, the virtual machine is not a software implementation of the
programming language abstract machine. It is a software implementation of an idealized physical
computer for that abstract machine.
For Java that virtual machine is known as the Java Virtual machine.
For Microsoft programming languages th
known as the Common
The final step
is the implementation
of the virtual
machine in terms of instructions of some physical
computer. For each family of physical computers
e.g., the one or more families of computers built by
is a separate implementation
each virtual machine
, i.e., one for the Java
rtual machine, one for Microsoft’s Common Language Runtime, etc
Each of those
manipulates the abstractions of
to implement the abstractions of a
This is similar to our earlier example of impl
ementing the λ
calculus by a Turing
Given the number of translations and implementations between Microsoft word and the physical
computer on which it is running, i
would be virtually impossible for anyone to
gs of bits
how they correspond to the manipulation of
. Yet the convergence
ings and fro
ings to Microsoft Word
Applications (“apps”) like Microsoft Word are a relatively simple case. Consider web pages that run in a
browser: Gmail, Facebook,
the New York Times website,
Twitter, Google maps, etc. Running in a
browser adds a few additional layers of abstraction. The
is an app, whose connection to a
physical computer is similar to the connection described above
One interacts with a
browser as an app when one clicks the back button or enters a web address into the browser’s address
. But browsers are not web pages. Browsers provide a set of abstractions in terms of which web
pages are implemented.
abstractions are defined in terms of languages such as
of a web page in a br
owser is similar in concept to
implementation of a set of abstractions in a programming language. But
there is often a significant
conceptual distance between
a browser’s abstractions and those of
a web page
. To help bridge that gap
yet more levels of abstraction.
Although the analogy is not perfect, one may think of the relationship between these and the browser
as comparable to the relationship between a programming language and a phys
frameworks and libraries define
abstraction that are more convenient
for implementing web pages
It’s also worth noting that there are a number of different
browsers. The best known as Microsoft
’s Internet Explorer, Mozilla’s Firefox, and Google’s Chrome.
These play roles similar to those played by the multiple hardware manufacturers.
As you can see
The advantage of generating programs for a virtual machine is that when a program is run on a virtual machine
the physical computer on which it is running is irrelevant. Java’s motto is “Write once; run anywhere,” which
promises that a Java pr
ogram will run the same way whether it is being run on a laptop manufactured by Asis or a
desktop manufactured by Dell. So a compiler generates instructions to manipulate the abstractions of a virtual
machine in a way that will produce the abstractions of
the programming language’s abstract machine.
a great many
implementations of abstractions, which in the end are intended to a
same to users.
Beyond all that, many organizations that offer
also provide apps that run on
mobile phones. Again, consider the web
based services listed above. Most of these mobile phone apps
are not browser based. The
y are applications that run on the computers in mobile phones the same way
that Microsoft Word runs on a laptop or desktop computer. Consider what that means. The abstractions
that users associate with Gmail, Facebook, etc. are fairly stable whether these
services are accessed via
a browser or via a mobile phone application. Yet in almost all cases the apps that run on mobile phones
offer significantly different access to those abstractions. If you have used any of these services on both a
laptop (or deskto
p) and a mobile phone you will have noticed the differences.
So the abstractions are
the same. Gmail deals with messages; the New York Time website deals with articles. But users have
somewhat different ways to interact with those abstractions depending on
the platform. This is
like convergent evolution
than multiple realization.
Furthermore, the apps that run on mobile phones differ from each other depending on the mobile
phone family. App for Android
based mobile phones are written in Java; apps for
iPhones are written in
To the extent that the apps provide the same access to the same abstractions, this is much
closer to multiple realizations.
y have I spent
of abstractions and their implementations?
that it’s not at all unusual to find low level to
ings and fro
ings that converge
levels of abstraction
to some higher level of abstraction. In other words, that there are regularities
the special sciences to study which are
implemented in terms of the to
ings and fro
bits and pieces is not at all a unique situation.
Furthermore, those of us in computer science are
familiar with this sort of phenomenon an
d understand how it works.
One might point out that in the case of software
, the to
ings and fro
bits are all planned and coordinated in advance; so of course it’s successful. Since nature doesn’t plan
how can a similar co
nvergence take place? The answer is that it doesn’t always happen. When to
don’t converge to stable macro
level properties, macro
level properties don’t
ountains are made of all sorts of stuff, but mountains are
t made of all sorts of stuff.
We don’t have mountains of sand because sand isn’t the sort of stuff whose to
ings and fro
converge to a stable mountain. If it were, perhaps we would.
More generally a point made in a recent
applies. Dennett (2012)
evolution as an example of competence without comprehension. One can generalize this to nature in
ature implements many
without comprehending how the
i.e., without planning and
. Nature often achieves competence in implementing
abstractions by substituting trial
long periods of time for insight
Is it conceivable that nature can do in hundreds of millions (perhaps billions)
in the complexity of its abstraction layers
teams of programmers have done in (mere)
I wouldn’t bet against it.
One reason the convergence works even though the complexity is enormous is that the complexity is
divided into independent pieces. Each piece can be implemented and tested separately. Once a level is
complete, the level built on top of it can rely on it an
d need not be concerned about how the lower level
. All that matters is that it works as advertised.
In our example of implementing a λ
abstract machine as a Turing machine program, once that implementation
has been done, one can
on writing λ
calculus programs and not worry about the to
ing and fro
ing of the underlying
Turing machine as it runs back and forth on its tape.
That complexity is now hidden and no longer of any
In discussions of software architecture one often
sees diagrams of the sort
shown in Figure x
he specific words don’t matter. It’s the structure that counts.) This is a relatively
uncomplicated example of this sort of diagram, often called
layered or tiered architecture.
x. A relatively simple multi
tier architecture diagram.
Each box represents a collection of abstractions. The boxes
higher in the diagram
are implemented using
the abstractions of the boxes immediately below them. Some boxes are shown with internal
. That means that the overall collection of abstraction
that box makes available can be
of the abstractions of the internal boxes.
As in this diagram most software
architectures are not strict hierarchies. There is a sense of lower
and higher levels
ut sometime a level
reaches down to a level that is not immediately below it. This is similar to the way in which biology
reaches down below chemistry to make use of quantum physics for photosynthesis.
The same can be
I’m granting the programmers decades to allow for both the implementation of the various intermediate levels
of abstraction and the implementation of increasingly sophisticated versions of Microsoft Word.
said for the spec
ial sciences. Each level is implemented
in terms of pre
that not all newly implemented abstractions form a hierarchy.
implements its life cycle by
using capabilities from what would normally be considered higher
The lesson of software architectures is that it makes perfectly good sense
to understand nature as
layers of abstraction
and to believe that the best way to study nature is to
establish a special science to
as an autonomous
For both nature and software, though, it’s important to remember that nothing would actually happen
were the lowe
level not to
ing and fro
ing. I’ll discuss causality further below. Here I’ll simply point out
there are no higher
It is only the
lowest level of
make the world
both physical and software
A platform generalizes the notion of a level of abstraction and extends it beyond software. A platform is
a level of abstraction that enables the interaction among users. Facebook, the social network, is a good
example. Facebook users interact by posting i
tems to their Facebook pages and by looking at and
commenting on items of the pages of other users.
he computational abstractions that Facebook makes
A platform often gives rise to what is known as an ecosystem of
. In the case of Facebook, the ecosystem includes companies that develop games
for Facebook users,
companies that develop tools to help companies that develop Facebook apps,
companies that advertise on Facebook. An important com
putational abstraction that Facebook
makes available to app developers is a means to transfer money from a game user to a game developer.
Most platforms are multi
sided, which means that users
can be grouped
into multiple categories. The
“sides” for Faceb
ook include regular users (the more than a billion of them), app developers, and
advertisers. Each group uses Facebook for a different purpose. The more
users there are, the
more valuable the
platform is to
all three groups. It’s more valuable to
want to be on a social network with no one else
. It’s more valuable
game and app
the more users the more potential customers for your games. It’s more valuable
there must be an audie
nce for ads. Similarly the more
app developers there are, the more
valuable the platform is to the regular users because they will have a wider variety of
from which to choose.
group size is so important there is intens
e competition among
platform developers to become the preferred platform in a given area.
And the more popular a platform
becomes, the more niches it can support. For example if there are enough users it is likely that there will
be enough chess players
that it will make sense for a game developer to develop a
that allows users to play
with each other.
In other words, as a platform grows in popularity it is
likely to become increasingly rich and diverse.
sided platforms are not
limited to computer systems. Many businesses also illustrate emergence.
Among the first cited examples (Rochet and Tirole, 2003) was the credit card service. It serves buyers (by
making it possible make purchases without carrying money or establishing cred
worthiness) and sellers
(by making it easier to make sales to unknown customers and then to collect payment). Other multi
sided platforms include shopping malls
(customers and stores),
markets (such as
farmer’s markets and
stock markets) where buyers an
d sellers meet to transact business, communication systems like the
telephone and the postal systems (there is a single group of users who want to communicate among
themselves), and advertiser
supported media like television (the sides are viewers, show pr
For more on multi
sided platforms see (
, and (
important for the relationship between the special sciences and physics
There are two reasons.
The phenomenon of multi
offers a model for how
ecosystems can develop. It also illustrates
platforms. Recall that
and becomes richer and more diverse because it starts out
with a broad and rich collection of
. That base of abstractions must be
to a large enough group of users to
produce a self
reinforcing growth and devel
Starting with the laws of physics it will take
quite a few levels of abstraction development to reach that point.
But as noted before, even though all
the activity at each level depends ultimately on the to
ing and fro
ing of the most element
ary bits and
a platform with multiple abstractions
is not a single house of cards
that will come tumbling down
if one thing goes wrong. Unlike a Rube Goldberg machine th
sort of complexity
one finds in platforms
built on independently developed
and autonomous abstractions
that are all available in one
hy there is something besides physics
In this section I’d like to approach th
of why there is anything besides physics
perspective of a modern
day Laplacian demon
I will take as a starting point a claim raised by
In discussing whether or not higher level laws are deducible from lower level laws, h
e writes that
whether they are or not,
must be deducible from lower level
f one knows the complete distribution of atoms in space and time, it remains plausible that one can deduce
from there the complete distribution of chemical molecules, whether or not the laws [of chemistry] are
immediately deducible from the laws [of physi
I want to
whether this really is
For one thing, Chalmers must mean more than
this passage seems to
. If one knows the complete
distribution of atoms in space and time then since (
as I suppose
Chalmers is assuming) molecules ar
(more or less) well defined combinations of atoms, one
knows the complete distribution of
It seems to me that what
he is saying
need the laws of chemistry
the possibility of computing a future configuration of mole
cules from a current configuration of atoms.
be claiming t
he plausibility, in principle, of
demon. I think
there are important reasons for saying that we can’t
construct such a demon
and important lessons in
The fundamental elements of physics is
quantum fields, not atoms.
ecause atoms are not
special to fundamental physics, which is what Chalmers wants to use as the starting point
oewer, 2008) makes a similar claim.
See (Hobson, 2013) for a discussion of this view from the perspective of a college physics instructor. The
field for what might
otherwise be called a particle
fills all of space. Its value at any point is the
that the demon is starting with quantum
fields instead of atoms.
There are a number of reasons why it’s
can deduce a future complete distribution of chemical
molecules from knowledge of a current distribution of quantum fields.
, given quantum u
ncertainty it’s not clear what it means to say that one has
complete distribution in space and time of some
of quantum fields. The best one can
have, even in principle, is an approximate distribution. So the first problem is the
likely chaotic effects.
Secondly, since every quantum field fills the entire universe, to compute/deduce the future distribution
set of quantum fields one
, at least in principle, take into account the influence on
that set of all the
quantum fields in the universe. One could get around this problem by considering
the quantum fields with
in the region of concern. But that
computation to an approximation
perhaps a very good approximation, but
still an approximation.
But let’s ignore these problems and consider the actual computation. What such a computation would