Implementation, Simulation, and Emulation

From: Lee Corbin (
Date: Mon Mar 17 2008 - 01:53:36 MDT

Mike had asked Stathis

> On 17/03/2008, Mike Dougherty <> wrote:
>> On Sun, Mar 16, 2008 at 5:52 AM, Stathis Papaioannou <> wrote:
>> > No, I'm not being emulated by rocks, rocks and I are both being
>> > emulated in Platonia. That I appear to conscious due to brain activity
>> I have to ask, shouldn't it be that we are currently emulating what
>> exists in Platonia? I may be needlessly pedantic about language
>> usage, but I understand Platonia to be some concept of a thing's
>> Truest existence and all implementations of that in other
>> emulations/universes are local instances of the ideal form.

Now we know what to *implement* something means: a computer may
implement a certain algorithm, for example.

We also have a fairly good idea of what "to simulate" means because
of all the talk of the kind "*this could be a simulation", where "*this"
is a pointer to all the universes very much like ours---so far indistinguishable
from the "one" live in. (Every time, incidentally, that we discover a new
faraway star, we are living in a separate branch from those identical others
of ourselves who did not discover that star.)

So, many years ago I said, "Okay, but what if an advanced intelligence
simulates a human?" [Reacting to language that was going around at the
time.] "Hell," sez I, "doesn't a good actor simulate Hamlet? Can't
an advanced AI---cool and vast and unsympathetic---be actually
simulating my good friend Joe?" My answer was "Horrors! Yes! It could!
Jumping Joe has left and gone away... oh, oh, oh."

So I began using the term "emulate" to distinguish a sort of "true simulation"
from an ordinary simulation, i.e., when some machine, some computer,
for instance, *emulated* a human being. We called it downloading in
the late 80's, but the ilk I hang around with quickly pointed out that it
should be called "uploading". I don't know who first introduced that very
nice change in nomenclature, but I know that the cryonics community and
some northern California types were using way before, say, Moravec,
who continued to use "downloading" for an embarrassingly long time after.

So then tonight when Stathis wrote

> [Lee writes]
>> I don't quite understand this point. Aren't you being emulated by rocks,
>> or maybe large rocks also? Aren't you being emulated by some of the
>> patches of dust between the galaxies? Since you're being emulated in
>> so many many places (assume for a moment our Level One universe
>> is infinite like Tegmark says), surely the demise of a little bit of matter
>> in Australia (whether it's removed altogether from the universe, or
>> raised to 451 degrees Fahrenheit) can't make a difference, can it?
> No, I'm not being emulated by rocks, rocks and I are both being
> emulated in Platonia.

I recoiled in shock. Suddenly, I didn't know what was going on. What
is emulating what? How?

(I now rather think, by the way, that Stathis maybe should have said "No,
I'm being *implemented* in Platonia". And he might have corrected my
usage by something like "Lee, no, I'm not being emulated by a rock,
the rock and I are on an equal footing, we're both being *implemented*
in Platonia". Of course, I don't know yet if that's what Stathis might really
have thought or agreed with.)

Anyway, I decided tonight to ask a friend of mine about the terms "simulate"
and "emulate", who, by the way, was around at the time in the 50s and 60s
that he refers to, and was very active (and still keeps a hand) in the computer

Here is his response:

    The fight over the words 'simulation' and 'emulation' goes back
    to the middle 60's in CS [Computer Science] anyway.

    Then some preferred to refer to an ordinary program faking some
    computer as simulation, while when micro-code was used to the
    same end, it would be called 'emulation'.

    I was not impressed with the distinction and don't see that any
    distinction is necessary.

    Before the trick of dynamic translation translation to the native ISA,
    simulation was at least 20 times as slow as the real machine,
    neglecting circuit and architecture differences.

                                       (Attribution available upon request.)

It seems to me, BTW, (I'll have to ask my friends) that the CS community
has shifted to using "emulation" to describe, say, an Intel machine as
being able to "run" old Apple machine-language code, although because
it has to work so hard to actually implement the step by step Apple
instructions, the *program's* processing andoutput is really slow.

But you see, for our purposes, the program didn't "know" that it wasn't
running on Apple hardware, just as we might not know that we are living
in a simulation or a simulation of a simulation, etc.

Now if the Apple Operating System (OS) were, say, conscious when
running, and a user says "calculate this here for me", the Apple machine
thinks "yessir, I always do what the user wants". Well, the Apple
OS is having the same conscious experience that it would if it was really
running on Apple hardware. And the same goes for the Apple hardware:
if by the same stretch of imagination the Apple hardware were conscious,
then it wouldn't know that it was really being emulated (or simulated) by
the Intel and the Intel's OS.

But it is *so* important to know whether your husband has been
successfully uploaded, or if the incredibly smart AI is just faking it
(though faking it well enough to fool you). After all, if he's just
being faked---I call that simulation---then he's dead! Yikes!

So I will continue to insist that the goal of uploading is to emulate
a human consciousness, not simulate it, and we need some sort
of terminological distinction for this, if not the one I've been pushing
on this list and Extropians for five or ten years.


This archive was generated by hypermail 2.1.5 : Wed Jul 17 2013 - 04:01:02 MDT