Can Something Be Half‑True? The Logic of Fuzzy Truth
The Vanishing Heap: A Paradox with Blurry Words

Imagine a pile of sand on a beach — maybe a million grains. You take away one grain. Is it still a heap? Everyone says yes. Take away another. Still a heap. No single grain makes the difference. Yet if you keep going, eventually you’ll have just one grain, and that is not a heap. What went wrong?
This is the sorites paradox, a puzzle about words with blurry boundaries. Ordinary logic treats statements as either true or false. “This pile is a heap” must be true or false, with a sharp cutoff somewhere. But that seems wrong. The word “heap” fades out gradually. If you had to name the exact grain that makes the pile stop being a heap, you couldn’t.
Some philosophers think the problem lies in the idea that truth only comes in two flavours. They say truth can have degrees — like a dimmer switch, not a light switch. This way of thinking is called fuzzy logic. Instead of just True and False, it uses all the numbers between 0 and 1, where 0 means “completely false” and 1 means “completely true.” A half‑truth gets a number like 0.5. The pile that is barely a heap might have a truth value of 0.6.
Truth on a Dimmer Switch: The Original Idea

In 1975, Joseph Goguen proposed a simple way to make logic work with degrees of truth. He kept the numbers between 0 and 1 and defined rules for “and,” “or,” and “not” that feel natural.
If you think of truths as degrees, then “A and B” should be only as strong as the weaker of the two. Goguen used minimum for “and”: the truth of “A and B” is the smaller of the two numbers. So if “the pile is a heap” has truth 0.6 and “the pile is tall” has 0.8, then “the pile is a heap and the pile is tall” gets 0.6.
For “A or B” he used maximum: you take the larger number. So “the pile is a heap or the pile is tall” would be 0.8.
For “not A” he used the simple formula 1 minus the truth: if “it is a heap” is 0.6, then “it is not a heap” is 0.4.
These three rules — minimum for “and,” maximum for “or,” and 1−x for “not” — are called truth functions. They feel a lot like how we use vague words in everyday life. But logicians quickly noticed a problem. The minimum rule makes “A and A” exactly as true as A. That’s fine in some cases, but what if saying the same thing twice should lower the strength, like when you hear a rumour repeated? They needed an “and” that could wear down truth.
Stronger ‘and’ — and the Birth of MTL

So logicians added a second kind of conjunction, written with the symbol & (called “strong conjunction” or “fusion”). Unlike the minimum‑and, this new “and” can make the truth shrink when you combine the same fact with itself. It behaves like a t‑norm.
A t‑norm is an operation that takes two truth values and produces a new one, following a few sensible rules: combining any truth with 1 gives that truth back; the order doesn’t matter; and combining three items in any order gives the same result. The minimum is itself a t‑norm, but there are many others. The three most famous ones are:
- Minimum: Combine x and y by taking the smaller one.
- Product: Multiply x and y as ordinary numbers.
- Łukasiewicz t‑norm: Take x + y − 1, but never go below 0 (so the result is max(0, x+y−1)).
Fuzzy logic also rethinks “if … then.” For each t‑norm there is a matching implication, called the residuum. It is defined as the largest number z such that combining x with z (using the t‑norm) stays less than or equal to y. For the Łukasiewicz t‑norm, the implication is: x → y = min(1, 1 − x + y). For the product t‑norm it is: if x ≤ y then 1, otherwise y/x.
Putting all this together, logicians Francesc Esteva and Lluís Godo introduced the MTL logic (Monoidal T‑norm based Logic) in 2001. MTL is a common backbone for fuzzy logics that use any t‑norm that is left‑continuous (a technical condition that makes the residuum work nicely). In MTL you have two conjunctions: the weak one (minimum, written ∧) and the strong one (the t‑norm, written &). The strong “and” is indeed stronger: the formula “A & B → A ∧ B” is always completely true in MTL, but the reverse “A ∧ B → A & B” isn’t — the strong “and” can squash truth more than the minimum. MTL also has a complete proof system with modus ponens (from A and A→B, derive B), and its valid formulas can be checked by a computer, though exactly how hard that checking is remains an open question.
Two Star Logics: Łukasiewicz and Gödel

Long before fuzzy sets existed, the Polish logician Jan Łukasiewicz and Alfred Tarski (1930) studied a many‑valued logic that uses the real numbers between 0 and 1. Today we call it Łukasiewicz logic. It matches the Łukasiewicz t‑norm and its residuum. Negation in this logic is involutive: double negation brings you back to the original truth value. All its connectives are continuous functions, and McNaughton’s theorem (1951) tells us that every truth function expressible in Łukasiewicz logic is a piecewise linear function with integer coefficients. Checking whether a formula is always true turns out to be no harder than in classical logic — the problem is coNP‑complete.
A very different path leads to Gödel logic (or Gödel–Dummett logic). The philosopher Michael Dummett (1959) introduced it by extending intuitionistic logic with a principle that forces truth values to be arranged in a line. In fuzzy terms, Gödel logic corresponds to the minimum t‑norm. Because the minimum is idempotent (combining a truth with itself gives the same truth), the strong conjunction & and the weak conjunction ∧ collapse into one. So truth values in Gödel logic behave differently: what matters is only the order of the truths, not the exact numbers. Two statements with the same ranking will behave exactly the same. It is a logic of comparative truth, and its validity problem is also coNP‑complete.
These two logics are extensions of MTL: add one extra axiom to MTL and you get Łukasiewicz; add a different one and you get Gödel. They show that fuzzy logic is not a single system but a family of related logics, each tailored to a different way truth degrees can combine.
How Fuzzy Logic Dissolves the Sorites

Now we can return to the heap — or to an even simpler version. Think about huge numbers:
- 10¹⁰⁰ is a huge number. (perfectly true, value 1)
- If n is a huge number, then n−1 is also huge.
If you accept both and use ordinary logic, you get a catastrophe: by repeatedly applying step 2, you conclude that 0 is a huge number, which is obviously false. In fuzzy logic, nothing forces you to treat the “if … then” sentence as perfectly true. You can say it is almost true — for instance, true to degree 1−ε, where ε is a tiny amount like 0.0001.
Now when you do modus ponens, fuzzy logic calculates the truth of the conclusion using the strong conjunction & of the premises. A sound principle says the conclusion should be at least as true as the combination of the premises under & (the t‑norm). In Łukasiewicz logic, combining 1 (from step 1) with 0.9999 (the implication) using the Łukasiewicz t‑norm gives 0.9999. So 10¹⁰⁰−1 is huge with truth 0.9999. Next step combines the same implication with a truth of 0.9999, yielding about 0.9998. As you descend, the truth keeps slipping, and by the time you reach 0 it has dropped all the way to 0 — perfectly false. Every step is sound, yet the absurd conclusion never receives any support. The paradox disappears because the truth degrades gently, just as the word “huge” degrades.
Philosopher Nicholas J.J. Smith (2005, 2008) has argued that vagueness obeys a closeness principle: statements about objects that are indistinguishable in the relevant respect should have very close truth values. Fuzzy logics, unlike classical logic, naturally respect this. If two sand piles differ by a single grain, their heap‑truths are almost the same. The sorites trick is that tiny differences accumulate over many steps — and fuzzy logic tracks exactly that.
Why Degrees of Truth Still Matter

You might never calculate an implication on paper, but you use vague words every day. Is the soup “hot”? Is your friend “tall”? When a weather app says “80% chance of rain,” it’s not giving a yes‑or‑no — it’s giving a degree of confidence. Washing machines use fuzzy controllers to decide how much water and time to use for “slightly dirty” clothes.
Philosophers still argue about what the numbers in fuzzy logic really mean. Are they genuine degrees of truth that exist in the world, or just measures of our ignorance? These debates touch on deep questions about language and reality. But the toolkit of fuzzy logic has shown that you can build precise, rigorous reasoning systems that respect the blurriness of the world, without pretending every question has a sharp yes‑or‑no answer. The heap of sand on your desk doesn’t need a magic boundary — and neither do the words in your head.
Think about it
- Think of a word like “messy.” At what exact point does a room become messy? Could a single sock make the difference? Why do we feel there’s no sharp line?
- If a weather app said it was 0.8 true that it will rain, would you bring an umbrella? How does your decision differ from when you just hear “maybe”?
- Suppose a rule says you are an adult at age 18. Could fuzzy truth make a better rule (e.g., degrees of “adultness”)? What would be gained, and what might be lost?





