Is there a true statement about numbers that no proof will ever reach?
Sounds like a trick question. Mathematics is supposed to be the one place where every true thing has a proof, given enough patience. Just grind through the logic, symbol by symbol, and eventually you get there.
Kurt Gödel showed that isn't true. In 1931, he proved that any formal system strong enough to describe basic arithmetic contains statements that are true but impossible to prove inside that system. Not hard to prove. Not unproven yet. Impossible, forever, no matter how the system gets patched.
That sounds like magic. It isn't. It's one very precise trick, and once you see the trick, the whole theorem falls into place.
Meet the robot that checks every proof
Imagine a robot with one job: generate every possible string of mathematical symbols, in order of length, and check each one to see if it's a valid proof of something. Short strings first, then longer ones, forever.
Whenever the robot finds a valid proof of some statement, it writes that statement on a big whiteboard: proved. Give the robot enough time, and it will eventually write down every statement that has a proof. That's what we mean by a "formal system", a fixed set of starting rules, plus a robot mechanically grinding through them.
Here's the question Gödel asked: will the robot eventually prove every true statement about numbers? To answer that, a statement first needs a way to talk about the robot itself, including statements about proofs. And for that, we need a strange little tool: turning sentences into numbers.
Can a sentence become a number?
Here's the move that makes everything else possible. We'll use a tiny alphabet: 0 for zero, S for "the next number after" (so S0 means one, SS0 means two), plus +, =, and parentheses.
Take any string built from that alphabet, like 0=0 or S0=S0, and give each symbol its own code number. Then use those codes as exponents on the first few primes, , and multiply everything together.
Why primes? Because prime factorization is unique. Every number breaks down into its prime factors in exactly one way, so this single, ordinary number can always be taken apart again to recover the exact sequence of symbols it came from. No two different formulas ever produce the same number.
Pick a formula below and watch it fold into one number.
Pick a formula. Hover a symbol to see the prime power it turns into.
Notice how fast that number grows, even for a formula this short. That's fine, the size doesn't matter. What matters is that every formula, and every proof, can be represented as an ordinary number, and numbers are exactly what arithmetic already knows how to talk about. A statement about numbers can now be a statement about formulas. Including statements about itself.
Can a sentence talk about itself?
...and here's where it gets interesting. If formulas are numbers, a formula can have some other formula's number plugged into it, the same way you'd plug into . Nothing stops you from plugging a formula's own number into itself.
Watch this construction happen step by step.
Step through the construction. Watch the loop close on the last step.
Start with P(x): "the robot will never check off the sentence numbered x."
Follow the loop all the way around. We start with a sentence about "the robot will never check off the sentence numbered ." We find that sentence's own number. We plug the number back into the blank. And the resulting sentence ends up talking about its own Gödel number, the one that belongs to itself.
Call this finished sentence . In plain English, says: "the robot will never check off this very sentence." It's the same move as "this sentence is false", except instead of truth, it's built entirely out of provability and arithmetic, precise enough to survive being nothing but a statement about numbers.
So does the robot ever prove G?
Now for the payoff. Suppose the robot does eventually check off . That means the robot has proved a statement that says "the robot will never check off this statement." A robot that proves its own failure like that is broken, it's proving something false. So if we trust the robot to only prove true things (that's what "consistent" means), the robot can never check off .
But wait. That's exactly what claims: "the robot will never check off this sentence." We just showed that's true. So is a true statement, sitting right there, and the robot will search forever without ever reaching it.
Press play and watch the robot work through longer and longer proofs. Ordinary statements light up sooner or later. G never does.
Let it run. Ordinary statements get checked off sooner or later, some quick, some agonizingly slow. never lights up, no matter how long the search runs. Not because the robot is slow. Because was built, on purpose, to sit outside the reach of any proof this system can produce.
Can we just patch the gap?
Reasonable question. If is the problem, why not just add as a new starting rule, hand it directly to the robot, and move on?
You can. Watch what happens.
Each ring is a bigger system. Every ring keeps exactly one gap, no matter how many rings you add.
Add as an axiom and you get a new, stronger system. Run the exact same trick on this new system, the one from the last two sections, and it builds a brand new sentence, , true but unprovable in the new system. Patch that one, and appears. The construction doesn't care how many rules you add. As long as the system is strong enough for basic arithmetic and consistent enough to trust, it can always build one more sentence about itself that it can't reach.
That's the incompleteness in Gödel's incompleteness theorem. It isn't a temporary gap waiting to be filled. It's structural.
The short version
Any formal system strong enough for arithmetic can encode its own sentences as numbers, using nothing but prime factorization. That trick lets us build a sentence that talks about its own provability, the same way "this sentence is false" talks about its own truth. Gödel's sentence says "the robot running this system will never check me off", and if the system is consistent, that has to be true, so the robot never does. Add as a new rule and the same trick builds another one just like it. Forever.
Mathematics isn't broken. It's just bigger than any single, fixed set of rules can ever capture.