Everyone has heard of the idea that the universe might be a simulation - which we understand to mean that there is some computer in the "base" universe, which is running a program that is our universe. But it seems to me that this idea of a "simulation" lacks clear grounding. We understand what we mean by "simulation" only in an intuitive way, the same way we understand what a chair is. We "know it when we see it." However, without a precise, formal definition of "simulation," ideas regarding simulations don't seem legitimate to me. How can we say anything for sure about simulations, such as the probability of being in one, or even the possibility of consciousness existing inside one, when we're only relying on unclear intuition?

Broadly speaking, in order to have a "simulation", we must first have a physical computer of some kind. The simulation would then be some formal system that the physical computer implements. The "structure" of this formal system must in some way exist within the physical computer. How can we rigorously (mathematically) describe the relationship between the physical computer and the formal system being simulated? It seems to be a type of supervenience, but how can we be more specific?

  • "David Chalmers has argued that we should consider the 'simulation hypothesis' not as a skeptical hypothesis that threatens our having knowledge of the external world but as a metaphysical hypothesis regarding what our world is actually made of." from 'Are we living in a simulation? The evidence' philosophy.stackexchange.com/questions/48769/…
    – CriglCragl
    Commented Jul 22, 2021 at 10:55

5 Answers 5


Short Answer

Broadly speaking, in order to have a "simulation", we must first have a physical computer of some kind... How can we rigorously (mathematically) describe the relationship between the physical computer and the formal system being simulated?

If you are talking about a formal simulation on a computer, then you are talking about a computer simulation. An excellent example of how computers practically apply simulations is by emulating other software and hardware machines and are known as virtual machines. Formalizations of computer hardware and software are a topic of discussion in subjects like formal languages and their correspondence to automata, formal systems, and computability theory. There are more formalisms than a full-time academic can wrap her mind around.

Long Answer

Computation and the Digital Computer

There are several definitions of computation.

See Philosophy of information question on the nature of computation

However, if you are invoking the modern concept of digital computers such as those built to the von Neumann architecture and Harvard architecture and those that align with Turing-equivalent models of computation, then you are dealing not with computer models, but computer simulations. From WP:

Computer simulation is the process of mathematical modelling, performed on a computer, which is designed to predict the behaviour of or the outcome of a real-world or physical system. Since they allow to check the reliability of chosen mathematical models, computer simulations have become a useful tool for the mathematical modeling of many natural systems in physics (computational physics), astrophysics, climatology, chemistry, biology and manufacturing, as well as human systems in economics, psychology, social science, health care and engineering. Simulation of a system is represented as the running of the system's model. It can be used to explore and gain new insights into new technology and to estimate the performance of systems too complex for analytical solutions.1

That is, a simulation is software which is generally seen as a combination of data or state and instructions or process that allows a computing platform to predict physical systems which philosophically implies the belief in physicalism. That is to say, the sciences which often use proof-theoretic interpretations of physical laws, can be done by using encoding established scientific theories to attempt to conduct experiments about natural phenomena which might not be amenable to laboratory practice. This is of great utility in many disciplines, particularly when examining permutations of deterministic systems, such as distributed computations of protein folding such as Stanford's Folding@home project.

The Core of the CPU

As to the formal nature of these systems, what needs to be understood is what is at the core of the CPU, which from the perspective of software instructions, is the ALU. Ultimately, from a software engineer's perspective (as opposed to a computer engineer who has access to microcode), every platform consists of a series of layers of data and instructions that ultimately start with op codes:

In computing, an opcode1 ... is the portion of a machine language instruction that specifies the operation to be performed. Beside [sic] the opcode itself, most instructions also specify the data they will process, in the form of operands. In addition to opcodes used in the instruction set architectures of various CPUs, which are hardware devices, they can also be used in abstract computing machines as part of their byte code specifications.

Opcodes or machine instructions are the processing primitives of the system which largely consist of arithmetic and logical operations performed on data in registers inside the CPU. Because opcodes are mind-bogglingly small operations in an obtuse binary format, generally no programmer works with anything less than assembly language. But often, coders write in tools as sophisticated as fourth-generation langauges such as Java or C#.

Computers and Formalisms

Since the von Neumann architecture is an example of a general purpose computer, there is no one formalism. In fact, for simulations and computers, there are a dizzy array of formalisms. Formalisms for hardware design. Formalisms for OS design. Formalisms for programming languages and compilers. Formalisms for software design. Formalisms for logical and arithmetic systems. Formalisms for describing physical data.

To give a few examples, a computer language might be described abstractly by BNF, which is an artificial language specification. For instance:

<syntax>         ::= <rule> | <rule> <syntax>
<rule>           ::= <opt-whitespace> "<" <rule-name> ">" <opt-whitespace> "::=" <opt-whitespace> <expression> <line-end>
<opt-whitespace> ::= " " <opt-whitespace> | ""

Then a compiler is built that converts instructions in a programming language into opcodes.

But, perhaps the program itself is designed in UML and written in Java according to object-oriented design principles. And on top of those formalisms, it implements numerical analysis, SQL storage, and a physics engine. Each and every one of those will involve formalisms, including the last which implements the formalisms of physical laws. That's a lot of formalisms.

Philosophy of Computation

There are very important philosophical implications regarding simulations and computation, and perhaps one of the most important is the Curry-Howard correspondence which shows equivalencies between mathematical and computational formalisms:

In programming language theory and proof theory, the Curry–Howard correspondence (also known as the Curry–Howard isomorphism or equivalence, or the proofs-as-programs and propositions- or formulae-as-types interpretation) is the direct relationship between computer programs and mathematical proofs.

See Logic and Computation: a philosophical viewpoint on Curry-Howard isomorphism

Another important aspect of simulation are questions it raises about the relationship between physical and mental ontologies, such as Cartesian duality. One of the most famous philosophical problems in the philosophy of mind is the Chinese Room argument by Searle. See How does human intelligence differ from Searle's chinese room?

Lastly, computers are now being used not just to simulate physical systems such as molecules and weather systems, but aspects of epistemology and intentionality itself. In fact, a number of philosophers are collaborating with other cognitive scientists to build computers to simulate aspects of consciousness. See Computers, Artificial Intelligence, and Epistemology


There is no need for any special mapping between a simulation in general and the underlying "hardware". Neither a temporal correlation of simulation time and real-time, nor between parts of the simulated world and parts of the hardware processing units.

A simulation is a mere sequence of calculations, that can be done by humans on paper, given enough time (e.g. computers themselves had to be simulated on paper first before being built).

While a given simulation may have mappings between parts of the hardware and parts of the simulated model, this is in no way a necessity. Typical (discrete) simulations run on commodity hardware with the simulated model being stored in memory, and processing units fetching system instances from memory, computing a next state, and storing that next state back to memory. The atomic parts of the simulation are assigned an identity number, which easily solves the second problem mentioned in the question.

A special kind of simulation are "real-time simulations", the kind used for computer games or to train aircraft pilots, as examples. Philosophically those are of no special importance, they just need to run fast for the entertainment of the user.

And most generally speaking, for the purpose of philosophy, it does not matter if our reality as a simulation is run by a computer or by magic. In either case, the crucial questions of whether we can detect that we are part of a simulation and "look" into the host reality are the same.

Regarding any operator, designer or observer: Philosophically there is no need to assume any designer, operator or observer of our reality even if our reality was simulated. The host reality could just have naturally arising simulations happening all the time without the need for a dedicated computer to be built, started and operated. It is philosophically flawed to think that because we humans run simulations in a certain way, a host reality would have to run our reality as a simulation in a similar way.

  • 2
    "A simulation is a mere calculation, that can be done by humans on paper, given enough time" sure. Then what, formally, is a calculation? We must first have someone or something doing the calculation, but the calculation is somehow separate from the calculator. How can we mathematically say whether a particular calculation is being done, given a mathematical description of a person or thing that might or might not be doing it? You've simply exchanged the problem of defining "simulation" with the equivalent problem of defining "calculation."
    – causative
    Commented Dec 25, 2020 at 2:31
  • When a computer is used as a tool by an agent with an intention, this agent ought to know what the computer is doing, and what the simulation is doing can then be explained by that agent in terms of inputs and outputs of the simulation. When a computer is active but no such agent is available to explain the meaning, the meaning might remain forever mysterious to others, or there might be no meaning in the first place. By labelling a process a "calculation", we express that we see some meaningful relationship between inputs and outputs. As opposed to nonsense activity.
    – tkruse
    Commented Dec 25, 2020 at 5:03
  • It can be possible in some cases to guess the meaning of what a computer is doing by looking at how it works, but there is no guarantee. It's somewhat similar to deciphering texts written by an ancient civilizations in mysterious script. Typically symbols are correlated to concepts in natural language, but that does not mean we can decipher any such text, or even know whether a line of symbols originally had meaning or was just artful decoration.
    – tkruse
    Commented Dec 25, 2020 at 5:08
  • Also note that there are typically infinitely many ways a computer could be used to get the same output for given same inputs. Those could be called infinitely many programs. Some of those programs might be very orderly in keeping representations of systems "orderly", but some programs could use very distorted representations internally (e.g. to improve speed of computation, or for obfuscation of business secrets), so looking at software or ongoing computer processes is not trivial nor suitable for philosophy.
    – tkruse
    Commented Dec 25, 2020 at 5:12
  • 1
    Well, a simulated system has the structure of a state machine. It has an internal state, receives inputs, and undergoes state transitions. It is mathematically possible to say whether one state machine (a computer) contains the structure of a different state machine (the simulated system) inside it. Similar to the relationship between a group and a subgroup.
    – causative
    Commented Dec 25, 2020 at 7:34

From a systemic perspective, a simulation is the attempt to reproduce a behavior using a model.

If it helps, simulation is different from emulation, where a known physical component is replaced by some technology. So, a Commodore 64 emulator is the replacement of a physical classical computer by software. It features all its capabilities. But you can't produce a flight emulator, because it would imply emulating the climate conditions (which can't be done, as of now), the behavior of nature, and perhaps, the behavior of the crew. So, you will find flight simulators, not emulators. A simulation is a reproduction attempt based on a model; an emulation is a replacement of a known component.

Back to simulation. So, you can simulate being an old man in front of your kids (that is not just a calculation, as some answer states), you can run a simulation of the climate conditions using a specific model, you can play a flight simulation game, flying a Cessna, etc.

The specific case you refer to, is the simulation of human behavior. In the film "The Matrix", a computer (named as such) was able to run a simulation, that is, to simulate the human behavior, under controlled conditions, and project the simulation results into the brains of people.

The film has a solid logic, and had many people ask if they are not really existing and living in a similar computer, that is, in a simulation. The idea is not new. Many people speculates that aliens have created a computer where we are existing and living. Back to the 70's I myself had the idea that me and a puppeteer-God were the only existing creatures, and the rest of people were just puppets controlled by such god.

In any case, the idea is just speculative, and a self-fulfilling prophecy. We cannot prove an speculation,

  • first, because we cannot interact with the simulation exterior (kind of like pac-man can only interact with ghosts, not with me), and
  • second, because the speculation can take multiple forms. Has the computer running the simulation, a solid-state hard drive? Yes, for some, no, for others.

It is a self-fulfilling prophecy, because it explains our existence (which would be a valid premise in this case) based on facts that exceed our experience (which cannot be validated), which is just a fallacy, affirming the consequent. Just like religions.

So, the idea that we live in a simulation is equivalent to any religion, except that suits better to movie fans and tech geeks.


In a computer simulation of a target system (machine or natural system) the computer runs a description of the possible behaviour of the target system. The input to the computer describes a possible input to the target system and the output of the computer describes the output of the target system that the target system would have produced had it received the input described by the input to the computer. It's simple, really. That's the Turing-machine type answer. .

  • Given a description of a Turing machine, and a description of the target system, how is it possible to mathematically determine whether or not the Turing machine is (or can be interpreted as) running a simulation of the target system? To answer that question doesn't seem so simple. And I'm not speaking here of problems of computability, but just of definition.
    – causative
    Commented Apr 28, 2021 at 1:14
  • According to John McCarthy's flier for the 1956 Dartmouth conference, "The study is to proceed on the basis of the conjecture that every aspect of learning or any other feature of intelligence can in principle be so precisely described that a machine can be made to simulate it". If the target system is precisely described then the TM, by definition, is simulating it. Turing defines the universal TM as running a standardized description, or S. D., of a target machine. That's simply the definition of what a UTM operates on. Whatever it does is simulation, in my understanding. (time ran out)
    – Roddus
    Commented Apr 29, 2021 at 6:20
  • I think McCarthy's use of the term simulate is probably formal and speeks directly to Turing's definition of the UTM, and to the common (mis?) interpretation of the Church-Turing thesis, which says any system that can be quite precisely described can be simulated.
    – Roddus
    Commented Apr 29, 2021 at 6:24
  • McCarthy's quote is informal and does not rise to the level of a rigorous notion of "simulate." Also it is about artificial intelligence, which has very little to do with universal Turing machines. The concept of simulation among universal Turing machines might be made rigorous, but it is also only in a very limited domain.
    – causative
    Commented Apr 29, 2021 at 6:30
  • One thing seems very problematic in many many papers and books - the term simulation is used but never defined. Have you got a suggestion?
    – Roddus
    Commented Apr 29, 2021 at 6:36

I just want to add to Philip Klocking the link I posted wasn't an "It's in there" link.

"I highly suggest watching this to broaden your awareness of EARLY simulation theory theories"

Yes, it's 2 hours. An extremely valuable 2 hours for anyone genuinely interested in simulation theory, including the philosophy behind it. It's an entire discussion between experts in their fields that includes the various definitions of what a simulation is, the history behind it, the math behind it, the philosophical and theological implications...literally everything that's been brought up in this thread.

But I guess sure, by all means, feel free to discourage entirely relevant information because it can't be fit into xxx amount of characters

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .