Around 350 BCE, Aristotle drew a line that every programmer crosses every day without knowing it.
He was not writing about computers. He was writing about argumentation — how to distinguish valid reasoning from sophistry. But in doing so, he identified the atomic unit of all logical thought: a declarative sentence that is either true or false, never both, never neither.
He called it a proposition. We now call it a boolean.
Every if statement ever written — in C, Python, SQL,
assembly — bottoms out at this idea. Before you can understand state
machines, distributed consensus, or database transaction models, you
have to understand what it means for a sentence to have a truth value.
That is where this chapter begins.