# Is causality concurrent (ie. multi-threaded)? [closed]

There exist well-known problems in programming concurrency and multi-threading such as deadlocks and race conditions that can cause undefined behavior when running such programs.

A race condition is where two or more threads share access to the same data to perform some sort of operation, with no guarantee of the order in which these operations will take place. Simple things such as incrementing a value with a finite amount of iterations concurrently yield random results.

Deadlocks are caused by synchronization mechanisms used to serialize certain operations to ensure they are run in a certain order. The first thread to enter this region acquires an exclusive lock to run this piece of code. Once it's finished the thread releases the lock. Other threads that try to enter this region are forced to wait for the lock to become available again. A deadlock occurs when a thread that acquires a lock never releases it, causing all other threads to wait indefinitely and hang.

This makes me wonder if these sorts of behaviors and issues also exist in the real world outside of software.

The closest analog I could think of is 2 workers sharing a hammer to build a house. They must take turns using the hammer and their work is completely serialized because it is impossible for both to use a hammer at the same time.

But say for example we had an electron and two machines that had the ability to change the spin of the electron - one can change the spin to up, the other can change the spin to down. Let's say we also have a very accurate atomic clock that synchronizes both machines to operate at the same time on an incoming electron. Wwhat sort of behavior would we observe? Would the two operations cancel out? Would the resulting electron spin be random?

Perhaps the atomic clock is not accurate enough, and instead we need to synchronize both machines to 1 Planck Time instead to ensure true parallel operation. Would we observe different behavior?

Another example : Say we have a nuclear reaction involving protons that break off their neutrons. At the same time that a proton is to break off neutrons, another proton nearby releases it's neutrons which collide with the current proton causing it to be captured. Lets say the timing of both of these events is extremely precise as to say they both happen simultaneously. How does the reaction behave?

It seems to me that there must be some predefined order in which simultaneous events occur for causality to remain consistent ($$A+B \Rightarrow C$$), otherwise you could get results such as ($$A+B \Rightarrow D / E / F /...$$). In computing terms we have atomic operations that cannot be broken down any further in parallel execution, ensuring consistency. Is there such a thing as a smallest operation in nature that cannot be broken down into smaller steps?

Is causality concurrent in our universe? If so, do race conditions exist in the way causality is propagated through the universe?

• Causality is local. Trying to frame that in terms of a Von Neumann computer is a category error. – dmckee --- ex-moderator kitten Jan 11 at 22:38
• Yes it is local, but is it propagated serially in discrete steps of time, or concurrently? – Igneous01 Jan 11 at 22:43
• I am not sure to understand the question, why the fact that it happens in the computer is not a proof that the answer is yes? – Wolphram jonny Jan 12 at 1:08
• Please could you provide a better connecting explanation between the first 3 paragraphs and your final question, for those of us who do not find the connection obvious, – sammy gerbil Jan 12 at 9:19
• @sammygerbil I have updated the question with better examples. – Igneous01 Jan 12 at 15:10

There are well studied examples of so-called frustrated materials, where the question of 'what comes first' doesn't even arise, because already the static forces on a test-spin in a magnetic equilateral triangle are in conflict w.r.t each other (see Fig.1 in the wiki link).

What we learn from studying those materials is that nature will choose either spin up or down (which it has to), depending on the initial conditions of the spin, and the magnetic equilibrium in the triangle is unstable.

The same would hold true for your example where spins try to turn each other one after the other. If the action on the electron from both machines is equal, then the net effect will cancel out - why wouldn't it? If the effects of the machines come one after the other, then the spin will turn up first, then down, or vice versa.

Race conditions in parallel programming are (humanly) undesired outcomes of a physical system, but they are still logical outcomes of the computer physics - the physics itself doesn't care what humans interpret it as, it just does its thing.

Think of the logically unusable states that arise when we try to model arithmetic operations using transistors - those states are also an outcome of the physics, but just don't adhere to the truth-table one is trying to build at that moment. In the same way the concept of race conditions just doesn't work on a physics level - the universe works in a necessarily self-consistent way, or we wouldn't be here.

The examples you gave seem to be completely analogous to the computer example.

In the case of the machine changing electron spins, I do not think they could act simultaneously, but always one after another. In the case they could really act simultaneously, the end result would depend on the entire mechanism of how the machines interact. In the more realistic case in which the machines act sequentially, the result will be random, depending on which machine acted first.

So my point of view is that the answer to your question is Yes.

Actually the fact that these phenomena can happen in a physical computer is already enough to conclude that the answer is Yes without the need of further examples. This is due to the fact that the computer IS a physical system like any other. It is not a device whose rules are beyond the laws of physics

• feedback from down vote would be greatly appreciated as as courtesy. – Wolphram jonny Jan 12 at 16:19