How Do Words Make Truth? The Puzzle Inside Sentences
The Old Logic: Words as Buckets

Imagine you say, “All dogs are mammals.” For centuries, logicians thought this sentence works because the word “dogs” and the word “mammals” are connected like two buckets. Some thinkers, like Gottfried Leibniz (1646–1716), believed each bucket held a list of properties. The bucket for “dogs” contained properties like having fur and being warm-blooded, and since those same properties were already in the “mammals” bucket, the sentence was true. This way of thinking is called the intensional view—focusing on the inner meaning, or “intent,” of a word.
Other logicians, like George Boole (1815–1864), took an extensional view. They said words stand for the actual things in the world: the bucket for “dogs” holds Fido, Rover, and every particular dog. The bucket for “mammals” holds all mammals. The sentence is true because everything in the “dogs” bucket is also in the “mammals” bucket. This bucket logic worked well for simple statements, but it had a giant blind spot: it couldn’t handle sentences about relationships.
The Problem Nobody Could Solve with Buckets

Say you want to express “Maria loves Tom.” You could put Maria in one bucket and Tom in another, but where does the loving go? You can’t just stick the loving into Maria’s bucket, because then you’d be saying Maria is a “Tom-lover” and that still doesn’t connect her to Tom directly. The old logic could only handle statements about one subject and a property it has. Relationships—like loves, is taller than, or sits between—were a nightmare.
Charles Peirce (1839–1914) made a breakthrough. He invented a “logic of relatives” that treated relationships as a new kind of term. Instead of a bucket of single things, a relative term was like a bucket of pairs of things that stand in that relationship. For example, loves is a bucket holding pairs like ⟨Maria, Tom⟩ and ⟨Lila, her dog⟩. Peirce even developed special operators to combine these relatives—like a way to say “lover of a friend” that would find all pairs where one person loves someone who is a friend of the other.
But the real revolution came when he noticed that a relative term behaves almost like a chemical atom with dangling bonds. It is unsaturated—it needs to grab onto the right number of things before it becomes a complete thought. This chemical metaphor would become the seed of a whole new logic.
Frege’s Function Machine

Gottlob Frege (1848–1925) took the unsaturated idea and ran with it. He said: stop thinking about words as buckets. Think instead of concepts as functions. In math, a function like x + 3 takes a number and gives you another number. Frege’s brilliant move was to say a predicate like ”__ is asleep on the floor” is a function that takes an object—say, my dog Zermela—and returns a truth value. The output is either the True or the False.
So “Zermela is asleep on the floor” isn’t a bucket comparison. It’s the result of applying the concept-function __ is asleep on the floor to the object Zermela. The sentence becomes True because the function, when fed Zermela, returns the True. Frege called these concepts unsaturated because they have a blank spot that needs to be filled. They are incomplete until they hook onto an object.
Frege also realized something wild: the same sentence can be carved up in more than one way. The sentence “My dog is asleep on the floor” can be seen as applying the concept __ is asleep on the floor to my dog. Or it can be seen as applying a different concept, my dog is asleep on __, to the floor. This is the principle of multiple analyses—you can pull out different parts as functions depending on what you want to highlight. This simple idea would later become a powerful tool in linguistics and computer science.
Russell’s Paradox: The Snag in the System

Frege’s system inspired Bertrand Russell (1872–1970) to push logic even further. Russell invented the term propositional function to describe a pattern like “x is a dog”—an expression that contains a variable x and gives you a complete proposition once you fill in a specific object. He wanted logic to be a universal science, with variables ranging over absolutely everything. But that dream ran into a wall.
Russell discovered a paradox. Consider the propositional function R(x) that says: “x is a property that does not apply to itself.” Is R a property that applies to itself? If you suppose it does, then by its own definition it doesn’t. If you suppose it doesn’t, then it does. You get a contradiction either way. It’s like a barber who shaves all and only those people who do not shave themselves—does he shave himself?
The root of the trouble was self-application. A function like x is a dog takes ordinary objects, not functions. But if you let functions take any argument, including themselves, you can form the dangerous R. Russell’s solution was to build a type theory—a ladder of levels that forbids a function from applying to something of its own level or higher.
Building the Ladder of Types

Simple type theory starts with a base type i for individuals like Zermela or Tom. Predicates that talk about individuals, like __ barks, have the type . Predicates that talk about those predicates, like __ is a property of dogs, get the type <>, and so on. A function can only take arguments of a lower type. This blocks the self-application that caused the paradox, because there is no way to construct a function that applies to itself.
But Russell quickly realized that simple types weren’t enough. There was still the liar paradox: “This very sentence is false.” If it’s true, it’s false; if it’s false, it’s true. This paradox involves propositions themselves, not just functions on individuals. So Russell introduced ramified type theory, which assigns an order to propositions as well. A proposition cannot contain or refer to a proposition of the same or higher order. This forced a strict hierarchy even among statements that seem to be about the same subject.
Russell’s ramified theory was complicated and never made perfectly precise by him, but it forced logicians to ask: what are propositional functions really? Are they invented tools of the human mind, as some thought, or do they exist in the abstract world of logic independently of us? That debate among scholars still smolders today.
Why This Ancient Puzzle Still Matters to You

You might think this is just dusty history, but the story of propositional functions is baked into the devices you use every day. When you ask a voice assistant, “Play a song I like,” the system has to figure out what ”__ I like” contributes to the whole meaning. It must treat “I like” as an unsaturated function waiting for an object, exactly as Frege envisioned. Modern linguistics, especially the work of Richard Montague (1930–1971), uses lambda calculus—a direct descendant of propositional functions—to mathematically model how the grammar of a sentence builds up its truth conditions.
Even the principle of multiple analyses shows up when you read a sentence like “I dislike, and Mary enjoys, musicals.” Your brain effortlessly understands that the verb phrase is distributed across two subjects, something that categorial grammar explains by giving words multiple function types. The same string of words can have a whole ladder of logical forms, each highlighting a different aspect of what you’re saying.
The next time you argue about whether “everybody is happy” is true, you’re stepping into a 150-year-old conversation. You’re relying on the idea that a little unsaturated pattern, a function from objects to truth, can reach out and grab each person in the world. That invention of Frege and Russell is still spinning beneath your everyday thoughts.
Think about it
- If you say, “All my friends are honest,” what would the propositional function look like? Can you think of a situation where it’s hard to decide whether the sentence is true or false because of how friends are defined?
- Imagine a language where no relation words (like “loves” or “taller than”) existed—only one-place predicates like “is a dog” and “is asleep.” Could the speakers of that language ever communicate the same ideas we do? What would they miss?
- The liar paradox says, “This sentence is false.” Can you design a real-world game or rule whose statement creates a similar loop? Why is it so hard to resolve without stepping outside the system?





