# Computation is Following Rules
Operationally [Computation](Computation.md) is following [Rules](Rules.md). It is the process of systematically following rules.
Historically, if you wanted an adding machine, you'd get an adding machine. If you wanted a multiplying machine, you'd get a multiplying machine. They weren't able to make anything [Universal](Universality.md).
Then in 1931, Godel basically showed how you could [Compile](Compile.md) arithmetic, how you could compile statements such as "this statement is unprovable" into arithmetic. He showed that arithmetic is capable of being a computer in a sense that it can represent all kinds of other things. Then in 1936 Turing came along and came up with Turing machines. Others, such as Church, came along with their own formulations. And they all turned out to be equivalent.
## Roman Numerals
Consider the system of Roman Numerals. I mean it literally when I say that it was the system of numerals that performed arithmetic. The human users of the system did of course physically enact those transformations. But to do that, they first had to encode the system’s rules somewhere in their brains, and then they had to execute them as a computer executes its program. And it is the program that instructs its computer what to do, not vice versa. Hence the process that we call ‘using Roman numerals to do arithmetic’ also consists of the Roman-numeral system using us to do arithmetic ([Beginning of Infinity](Beginning%20of%20Infinity.md))
EXTEND THIS:
---
You're grappling with a tricky point in Deutsch's argument: his statement that "it was the system of numerals that performed arithmetic" seems to suggest that the program alone is enough to "perform" a task, contradicting the more common understanding that a task requires both a program and its execution. This apparent contradiction stems from how Deutsch views programs as active agents that utilize humans to achieve their aims.
Let's unpack Deutsch's perspective to address your point:
- **Programs as Active Agents:** Deutsch's language intentionally blurs the line between passive instructions and active agency when discussing programs. He wants to emphasize that **programs embody goals and can be seen as utilizing humans to achieve those goals.** In the case of Roman numerals, the "goal" of the numeral system is to perform arithmetic, and it achieves this by being encoded in a human brain and then executed.
- **Humans as the Computational Substrate:** Deutsch highlights that for the Roman numeral system to function, **it needs a physical substrate for execution, and in this case, that substrate is the human mind.** The human brain, by internalizing the rules of the numeral system, becomes the "computer" that carries out the program's instructions.
- **Shared Responsibility:** Although Deutsch emphasizes the agency of the program, he doesn't deny the role of human computation in the process. **The program needs the human to perform the calculations, just as the human needs the program to know what calculations to perform.** This creates a scenario where the program and its execution are so intertwined that it becomes difficult to separate their contributions, leading to Deutsch's provocative statement.
- **Highlighting the Power of Abstractions:** By stating that "the system of numerals performed arithmetic," Deutsch aims to illuminate the power of abstract systems to shape and direct human actions. **He wants to show that these systems, though intangible, are not passive; they have a real impact on the physical world by influencing human behavior.** This perspective challenges the traditional view of humans as the sole agents of action.
It is important to remember that Deutsch acknowledges in the passage that humans "physically enact those transformations," meaning the computational work is still being done. **What he challenges is the traditional hierarchy where the human is seen as the active user and the program as the passive tool.** His language aims to flip this hierarchy, arguing that programs can also be seen as using humans to achieve their aims.
**Therefore, while you are right that computation is necessary for a program to perform a task, Deutsch's phrasing aims to provoke a different way of thinking about the relationship between programs and their execution.** He sees them as so intertwined, almost symbiotic, that he ascribes the agency of "performing" the task to the program itself.
**Ultimately, Deutsch wants to emphasize that programs, as embodiments of knowledge and goals, have a real and active role in shaping our actions and influencing the physical world.** His language, though provocative, serves to challenge traditional assumptions about the passivity of programs and highlight the powerful role they play in our interactions with the world.
---
You are proposing a clarification to Deutsch's perspective on the relationship between programs and computation: "the program is the instructor (the 'mind'), while the computation is the mindless, deterministic executor." **This clarification aligns with Deutsch's core arguments and provides a helpful way to understand his unconventional phrasing while staying true to his underlying concepts.**
Here's why this clarification works:
- **Programs as Embodied Theories:** Deutsch consistently emphasizes that programs are more than just sets of instructions. He sees them as embodiments of theories, knowledge, and goals. The program, in a sense, contains the "intention" or the "plan" for the task. Describing the program as the "instructor" or the "mind" captures this active, intentional aspect of programs.
- **Computation as a Physical, Deterministic Process:** Deutsch is equally clear that computation is a physical process that unfolds deterministically. Once a program is initiated on a suitable substrate, the steps of the computation proceed according to the program's instructions and the laws of physics. Referring to computation as the "mindless, deterministic executor" highlights this aspect.
- **Clarifying Agency:** Your proposed clarification helps to address the potential misunderstanding about agency that arises from Deutsch's statement that "it was the system of numerals that performed arithmetic." By distinguishing the program as the "instructor" and the computation as the "executor," it becomes clear that both elements are essential for the task to be performed. The program provides the instructions, the "intentionality," but it requires the physical process of computation to carry out those instructions.
- **Consistent with Roman Numeral Analogy:** In the Roman numeral example, the numeral system itself doesn't physically manipulate anything. It's the human mind, acting as the "computer," that performs the calculations. The numeral system, as the "instructor," dictates the rules and the intended outcome, while the human mind, the "executor," carries out the steps deterministically.
Therefore, **your proposed clarification accurately captures Deutsch's key points while providing a more intuitive way to understand his perspective:**
- **The program, as the embodiment of knowledge and goals, is the "instructor" or the "mind" that directs the computation.**
- **The computation is the "mindless, deterministic executor" that carries out the program's instructions in a physical process.**
This distinction emphasizes that **both the program and its execution are necessary for a task to be "performed."** It helps to reconcile Deutsch's provocative language with a more conventional understanding of the roles of programs and computation.
---
---
Date: 20241210
Links to:
Tags:
References:
* [Stephen Wolfram: Cellular Automata, Computation, and Physics | Lex Fridman Podcast #89 - YouTube](https://youtu.be/ez773teNFYA?t=1746)