Falsehoods Programmers Believe About Reality
18 points by xvello
18 points by xvello
This is not a bad humanities-oriented view of the situation. The physics-oriented view is more dire.
Reality is contextual. That is, reality is neither objective (determined by objects under observation) nor subjective (determined by observers) but created by the participatory interaction between objects and observers. The speaker danced around it, but some objects provably do not have properties independent of observation. Worse, physical theories aren't deterministic; quantum mechanics and general relativity are well-known to have this problem, but there are counterexamples to determinism in Newtonian mechanics as well.
There are four tenses of relativistic spacetime. Most languages only have three. This is remarkably hard to understand and definitely counts as a falsehood that many programmers have trouble giving up when learning distributed systems; even the fallacies of distributed computing don't list this one!
Finally, the principle of excluded middle is sometimes false and classical logic is not absolute; it's not the case that every logical statement about reality is true or false. That's not merely a statement about quantum mechanics, but also about computer science; the effective topos refutes LEM, and so does Johnstone's topological topos, for a Grothendieck example. Adding that semantic truth is undefinable, it's not even the case that every logical statement about reality is eligible to be true or false.
Please point out some study materials for the requisite knowledge needed to even begin to understand your comment.
By the way, how long, far or deep one might need to study to make sense of this?
I'll go by topic. In toto it looks like this is about three or four months of study for the easy parts; somebody should make it into a proper course!
The Kochen-Specker and Free Will theorems are explained in detail by John Horton Conway in this 6hr series of lectures. The core of Kochen-Specker is that there are 33 measurements on a single particle, corresponding to 33 observers sitting around a single object of study, such that there's no consistent assignment to all 33 measurements simultaneously. We must conclude that the object doesn't have the measured property prior to measurement (KS) and further that any freedom of the observers corresponds to a freedom of the object (FW). This takes a weekend to accept, given the pile of evidence formed by Bell tests and GHZ tests.
Indeterminism of physics is obvious once one studies enough differential equations; see e.g. Tegmark 1997 for details. I'm not there yet, so I had to go the tougher route, via Conway's Shock: no experiment demonstrates determinism on its own, but only confirms an assumption of determinism. (Stop for a moment and think about it!) This can take as little as an afternoon.
I know of no good way to accept relativistic reasoning. The linked discussion is about how to add the fourth tense to Lojban and there are multiple smart people in there, including PLT legend Guy Steele and astrophysicist Bob "lojbab" LeChevelier, who struggle to understand. The given examples about computer engineering are probably the easiest way for our tribe to see what's going on: light is sufficiently slow compared to computation that a computer built from multiple interacting spacelike-separated components can have multiple events occurring "simultaneously"; that is, occurring within the fourth tense in a way that we often squish down into one of the three existing tenses. This is something that some folks will refuse to ever understand; it can take decades! That said, all one has to do is notice that a total order has three possibilities (less-than, equivalent, greater-than) and a partial order has a fourth possibility (neither less-than nor greater-than nor equivalent); events are partially ordered, not totally ordered.
Coming to accept constructive mathematics is non-trivial. I did link Bauer 2016, which happens to be titled "Five stages of accepting constructive mathematics", and it can be read multiple times over a period of several years, with the reader making a little more progress each time. The argument in Section 3, on p6-8, is the most applicable to us as programmers: if we want to translate a mathematical theorem into a program whose execution is a search for a proof witness then we cannot translate excluded middle. That part can be accepted in an afternoon, although most people (myself included) will rage against it for months first.
An aside on topoi! A topos is a structure that represents all of the common things we do with maths: basic first-order logic, arithmetic, basic algebra, calculus, even topology. You've spent most of your life working inside two specific topoi, the worlds of finite sets and possibly-infinite sets respectively, and as such might not understand why we would talk of any other topos. The world of possibly-infinite sets has Choice (if a set is non-empty then it has an inhabitant which we can select) and therefore excluded middle. My first example is of the effective topos, which describes the mathematical world inside Kleene's primitive-recursive functions; in this world, a computation might not be true or false because it diverges. A Grothendieck topos is a study of a topological space that also happens to behave like a universe of maths; the worlds of sets are Grothendieck, built upon the study of a trivial space with one single point. My second example is a Grothendieck topos built upon the extended natural numbers, which are just the natural numbers with an extra point at infinity (along with the implied topology); inside that topos we can refute excluded middle for topological reasons. Fully understanding this apparently takes a lifetime, but getting enough of it to understand this paragraph is only a couple months of study.
Finally, the undefinability of semantic truth (over e.g. natural numbers) is best understood as one of the fruits of Lawvere 1967 (2005 reprint with commentary). This path requires category theory, though; first one must understand what a Cartesian closed category is, and that can take a couple weeks to properly internalize (or longer if one is stuck with bad functional-programming memes!) Then one can read Yanofsky 2003 and spend an afternoon thinking about each paradox, including Tarski's Undefinability. That's the easy path; the harder path is the heady bog of Smith 2007 or another good Gödel explainer, and that's not going to give the reader an appreciation for the underlying structure of diagonalization and logic. If all you want to be convinced of is that some things aren't computable, consider the five paths I've laid out here, including three I've not yet mentioned; each path takes a couple weeks. Or spend a season slowly reading GEB; it's still a slog but it's scenic.
I know of no good way to accept relativistic reasoning.
In case it helps someone else, I grokked it (for special relativity at least) by thinking about Einstein's Train Problem. Wish I could remember the book I read it in, it was about 80 pages, aimed at high-school students, and did a very good job of it.
It also helped me to actually sit down and do some of the basic math around it. If you have time, distance and speed defined in terms of each other with x = v*t, and one of them is fixed, then the other two depend on each other. If you assume that time is fixed (ie there is a single simultaneous clock that doesn't depend on velocity or position), then speed can vary at different places in space and vice versa, which is what people tried to measure with stuff like the Michelson-Morley experiment. But if you assume speed is fixed instead, then time and distance have to vary with each other.
What the hell to do with all of this is still usually beyond me, but the broad implications aren't too complicated: time and distance are context-dependent, so if you're trying to talk about time or distance then you can only do it by comparison to another point, and your answer will change depending on what that point is. But it works out in the end because it has, as you say, partial ordering, and dealing with how that partial ordering works is something I can mostly ignore. :-) Dealing with the nitty-gritty of NTP and GPS make this theoretical stuff come into very sharp focus: we pretend there's a single universal time across the entire Earth, but really that's a statistical fiction, it takes >40 milliseconds (an eternity!) for something on one side of earth to affect the other side. Fortunately the Earth isn't very big or moving very fast, so if you average together "now" across every point on Earth (and some satellites) its actual error bars are pretty small, less than a microsecond, so most machines can ignore it... Until we build machines that operate over long distances very quickly, like computer networks.
(In other news, whew, the 20th century sure was a roller-coaster for mathematics, wasn't it?)
Thanks for explaining and for all the pointers. I'll slowly read through them and see how far can I go.
The four tenses of relativistic spacetime is probably the easiest to comprehend. I think I can explain it in right here, with some handwaving:
For any two events, A and B:
A happens, and we start expanding the radius of a sphere centered at A at the speed of light. If that sphere includes the location of B before B happens, then A could have caused B. That's the first tense - A is in the past of B. This is a "light cone" or "expanding sphere of causality".
If the reverse occurs -- just swap A and B above -- then B could have caused A. Second tense: A is in the future of B.
It could be that A and B happen at the same time and place. Third tense. "Same time and place" is kind of weird, though, because "same time" is dependent on the relative acceleration of events and observers.
Finally, if A happens, and B happens before the light-speed sphere of causality reaches B, then A definitely did not cause B, and B definitely did not cause A, even though there can be observers with clocks far enough away who can swear that A happened first.
For the third tense: because they're in the same place, "same time" is no longer dependent on the relative acceleration of events and observers. Disagreement about simultaneity/ordering can only occur in fourth-tense situations, where events A and B occur outside each other's light cones. Because they're at the same (t, x, y, z) spacetime location, they'll be observed as simultaneous in all reference frames. I can't really think of many things that happen in truly the same place, though. Maybe some kind of fundamental particle decay?
Since it sounds like you know more about it than me... would it be accurate-ish to say that quantum physics is not made out of objects, but rather out of the sum of interactions between them? Basically you can't define the state of a particle alone, you have to define the state of everything it's interacting with? That's how I've framed it in my head for a little while, and an undergrad class described the "interaction between objects and observers" part as "you have to interact with something to observe it, you can't observe something entirely passively". Is this at all on the right track?
The thing I like to think about is the overall state of a system. Just like in programming: what are you data structures?
In classical physics, if you have N particles then you can describe their state with N positions and velocities or whatnot.
In quantum mechanics, to describe their state you have to give a quantum amplitude (a complex number) for each possible classical state. With the rule that the squares of the absolute values of these amplitudes must sum to 1. This is a huge amount of data! (This is why you can simulate a quantum computer with a classical computer, but it takes exponentially more space.) So yes, in quantum mechanics you can't describe the state of a system just in terms of the state of each objects in it, you need to think about the system as a whole.
Talking about particles is complicated, so for an example think about a quantum computer with 3 bits. A classical computer with 3 bits has eight states: 000, 001, 010, 011, 100, 101, 110, 111. A state of our quantum computer with 3 bits is eight complex numbers x1, ..., x8 where x1 is the amplitude of 000, x2 is the amplitude of 001, ..., x8 is the amplitude of 111.
BTW, the term "observation" in quantum mechanics can be very misleading. It does not mean what it means in English. In the double slit experiment, if you observe which path each photon goes through, the interference pattern vanishes. But if you set up a detector to check which way it goes, then have the detector immediately erase that bit so that you don't know which way it went and couldn't possibly recover that information, the interference pattern still vanishes. More extremely, if a single air molecule gets bumped, the interference pattern vanishes. This isn't what a person would call "observation". A lot of woo has been sold on this confusion. (I would say that "entanglement" is a better word, but that might start a fight with the Copenhagenists.)
The amount of information needed to describe the system is an interesting way of distinguishing the two, thanks! So, yes, kind of, the system's state is greater than the sum of the states of objects inside it.
Yeah I'm wondering whether "observation" could be better phrased as "interaction". The interference pattern vanishes because something has touched your light wave/electron as it goes, and that can't be undone just by deleting a bit. The weird part to me isn't that the interference pattern vanishes when it's poked, it's that when you don't poke it then you get interference even with a single electron.
Or I suppose if you try to poke it and fail (your detector is on one slit and the particle passes through the other, so you don't detect it) then it still makes the interference pattern vanish. Makes much more sense when you view the electron as some funky delocalized cloud that smooshes its way through the slits (like shredding cheese, as Corbin said), and then if you poke it when it passes through one slit then it stops doing that. It just also happens when you poke-it-by-not-poking-it, because your detector is also interacting with this funky delocalized cloud just by being inside it, even when the actual particle whizzes through the other slit without triggering it.
It's fun. Spooky, but fun.
The weird part to me isn't that the interference pattern vanishes when it's poked, it's that when you don't poke it then you get interference even with a single electron.
Yes, that part is in fact very weird.
Yeah I'm wondering whether "observation" could be better phrased as "interaction".
I almost suggested "interaction". I think it's not entirely accurate, though. In the double slit experiment, I'm pretty sure the light is often hitting air molecules and getting absorbed and re-emitted. That's how light works, right, and why it travels slower in a medium like air? My understanding is that it's doing this, which definitely counts as "interaction" by normal definitions, but it's leaving the air molecules entirely unchanged so you still get interference? I'm not actually a physicist, would very much appreciate confirmation or correct by someone who knows more physics.
I only know a lot about this topic from the specific angle of refuting cranks and inspecting foundations. I'm not at the frontier of research. The short answers to your questions are: yes but objects do exist, yes but sometimes outcomes are predictable, and yes you're on a track which will empirically work.
Let's follow how Bell and Wheeler worded the situation. The verb "is", which I'll bold from now on, only applies to an object during measurement; properties not measured might not exist. If we measure the smallest objects, we might measure e.g. their mass or wavelength. When we measure mass, the object is a particle; when we measure wavelength, the object is a wave. Nothing seems exempt from this; even an electron can be diffracted over a small-enough grate like shredding cheese, and even gravitational waves carry energy like photons. Bell called these objects "be-ables" because it seems that the most important thing that they can do is to be something during measurement.
When we measure a composite system, we might start at one end and slowly consume it with multiple measurements. Each time we measure, the composite system is a product of the measured objects, which themselves are particles or waves according to the chosen measurement, and the rest of the system. However, prior to measurement, the composite system's state evolves as a single object. We call the obvious tension the measurement problem and lack a holistic answer.
Its not represented as a tense, but isn't a strict use of "coincidence" applicable?
a
remarkableconcurrence of events or circumstances withoutapparentdirect causal connection.
I also don't think it would stop at 4? A and B having causality to each other (at least in theoretical retrocausality, I don't know if there are other cases like spacetime sillyness that allows A and B to be before each other too) (I only know what youtube and wikipedia tells me to know)
This does feel ironic to discuss categorization of something in relation to a video talking about over-reliance of categorization to the point of ignoring the underlying task/thing