Keyboard Navigation
W
A
S
D
or arrow keys · M for map · Q to exit
← Back to exhibits
Complexity & PerformanceAxiomAXM-002

Boolean & Propositional Logic — True, False, and the Excluded Middle

Every conditional branch is a proposition. Every bug is a proof that the proposition was wrong.

Timeless · Mathematics · 10 min read

Origin

George Boole, The Laws of Thought, 1854. Extended by Frege, Russell, and the propositional calculus. Applied to circuits by Shannon, 1937. Applied to software by Dijkstra, 1968.

The Principle

Propositional logic gives us exactly two values: true and false. A proposition is a statement that is one or the other. Compound propositions are built from simpler ones using AND (), OR (), NOT (¬), and implication ().

Every if statement in every program ever written is a proposition. Every while loop is a proposition evaluated repeatedly. Every conditional branch is an assertion: "I believe this statement is true, and I will act on that belief." When the proposition is wrong — when the developer's logical model diverges from reality — the program takes the wrong branch. That is a bug. Not a typo, not a mistake, not an oversight. A logical error. A proposition that was false when the developer believed it was true.

Why This Is Bedrock

Control flow is applied propositional logic. Dijkstra proved this in 1968. Everything above us in the museum — every tangled conditional, every impossible state, every mishandled edge case — is a failure of logical reasoning about propositions.

Archaeologist's Note

This pattern has been found in applications built by talented developers at respected organizations across every decade of software history. Its presence in a codebase is not a reflection of the developer who wrote it — it is a reflection of what that developer was taught, what tools they had, and the path that was easiest given what they were taught. The goal is not to find fault. The goal is to find the pattern — before it finds you.

Katie's Law: The developers were not wrong. The shortcut was not wrong. The context changed and the shortcut didn't.

The AxiomsBoolean & Propositional Logic2 / 4
Previous ExhibitMuseum MapNext Exhibit