There are questions we don’t know yet, questions we can’t know ever, and questions where the answer literally can’t fit inside the universe. Knowledge has a storage quota.
I know — that sounds a bit ominous. But as someone who loves asking questions, I find it oddly comforting that the universe still keeps secrets. It means there will always be mysteries left to chase. In this post, I’ll take you on a quick tour of the different kinds of limits on what we can know. We’ll meet unsolved puzzles, deterministic demons, unpredictable butterflies, indecisive cats, mathematical magicians, picky axioms, busy beavers, and a logician who proved math can’t handle all its own truths. Buckle up; it’s a wild ride through the edge of the knowable.
Open Problems: Questions We Don’t Know Yet
Some questions are unanswered simply because nobody has answered them yet. They’re not unanswerable in principle — we just haven’t cracked them. A lot of the time it’s because the problem is underspecified or just really hard. You’ve probably encountered an underspecified question in everyday life. (Ever been asked “Which programming language is the best?” with zero context? Yeah. Good luck answering that definitively.) If a question doesn’t pin down enough details, it can have multiple equally valid answers or no clear answer at all. It’s like asking “How do I get there?” without saying where “there” is — the question is incomplete by itself.
Then there are well-defined questions that are just open problems. These are the famous brain-busters that generations of experts have gnawed on with no success so far. For example, in computer science one of the biggest unsolved questions is “P vs NP” [Cook, 1971]. It asks whether every problem whose solution is easy to verify (that’s NP) is also easy to solve quickly (that’s P). Intuitively, it seems some problems are much harder to solve than to check, but no one has proven it. Similarly, in math, we’ve been stuck for centuries on the Goldbach Conjecture (posed in 1742) which says every even number is the sum of two primes [Goldbach, 1742]. It’s been tested up to ridiculously large numbers and it’s probably true, but a proof remains elusive. These kinds of questions might get solved tomorrow, or next year, or never — we don’t know. The point is, nothing fundamental (so far as we can tell) prevents us from knowing the answer eventually; we just don’t know it yet. It’s a reminder that sometimes the only barrier to knowledge is time, effort, and a lot of creative thinking.
Predictability vs Determinism
Okay, now let’s suppose we do have a well-defined question about a system that follows strict rules. You might think if the world is deterministic (rule-bound and cause-and-effect), we should be able to predict everything given enough data and brainpower. After all, if effect follows cause like clockwork, nothing is truly random, right? In principle, yes. But in practice, not so much. I like to illustrate this with a simple example: imagine tossing a die. The outcome seems random, but physicists will tell you it’s actually determined by the die’s initial position, the force of your throw, air currents, and so on. If you had a super-powered camera and computer, you could in theory calculate how it will land each time. The catch: you’d need ridiculous precision. A tiny change in the initial angle or speed, too small for you to measure, can change the result from a six to a three. So unless you’re an omniscient supercomputer, the die roll is effectively unpredictable for you.
This is a general theme: determinism does not automatically mean predictability for finite mortals like us (or even our best AI).
Determinism is not the same as predictability.
We see this even at astronomical scales. In the 1840s, scientists noticed Uranus wasn’t following its expected orbit; something was tugging on it. Two mathematicians (Urbain Le Verrier in France and John Couch Adams in England) crunched the numbers and predicted a new planet must be out there. Sure enough, Neptune was discovered in 1846 exactly where the math said it’d be — a triumph of determinism and prediction [Le Verrier, 1846]. Yet, ironically, we struggle to predict weather more than a week or two out. It’s not that weather doesn’t follow physical laws — it absolutely does — but it’s so sensitive to tiny details that any uncertainty blows up fast. In short, the universe can be 100% deterministic and still hide the future behind complexity. To know some outcomes, you’d basically have to turn the universe into your personal calculator (which kind of defeats the purpose!).
Laplace’s Demon and the Chaos Butterfly
Let’s talk about an infamous thought experiment in determinism. In 1814, mathematician Pierre-Simon Laplace imagined an intellect so vast that it could know the position and momentum of every particle in the universe at a given instant. If this demon (as it was later called) knew all the laws of physics too, it could, in Laplace’s words, “embrace in a single formula” the entire past and future of the universe — nothing would be uncertain, and it could predict everything that will ever happen [Laplace, 1814]. Essentially, Laplace’s Demon is the ultimate know-it-all, armed with perfect data and infinite computing power.
Sounds neat — but enter the butterfly. In 1963, meteorologist Edward Lorenz discovered something both fascinating and troubling while running weather simulations. He found that extremely small changes in starting conditions led to wildly different outcomes. In one anecdote, he rounded a number ever so slightly in his model, and the “forecast” diverged completely from the original after a while. He later popularized this as the Butterfly Effect: the poetic idea that a butterfly flapping its wings in Brazil could set off a tornado in Texas through a chain of subtle influences [Lorenz, 1963]. This was the birth of chaos theory in classical physics. It told us that even if the world is deterministic, tiny uncertainties in our knowledge can explode into big uncertainties in our predictions.
Chaos doesn’t break the laws — it weaponizes tiny measurement errors.
In real life, no measurement is perfect. You can’t know every decimal of every particle’s position and speed. There’s always a little rounding error or unknown detail. Chaos theory says those teeny unknowns can amplify until your prediction is nonsense. So Laplace’s poor demon, clutching its cosmic clipboard of initial data, could still get the future disastrously wrong because it missed a butterfly flapping somewhere. This is why we’ll never have a perfect weather forecast for next month, and why even deterministic systems can keep secrets. Predictability has limits, demon or no demon.
Quantum Indeterminacy: Nature’s Uncertainity
Up to now we’ve talked as if the universe were perfectly deterministic underneath it all. Classical physics kinda works like that. But when we zoom into the subatomic world, the rules get…fuzzy. Quantum mechanics famously introduces indeterminacy — outcomes that are fundamentally random, not just unknown due to lack of info. You’ve probably heard of the Heisenberg Uncertainty Principle, which Werner Heisenberg formulated in 1927. It says you can’t simultaneously know certain pairs of properties (like a particle’s position and momentum) with arbitrary precision — the more precisely you pin down one, the less you know about the other [Heisenberg, 1927]. This isn’t a limitation of our instruments; it’s a limitation of nature. It’s as if the universe says, “you can know this or that, but not both.” At a very basic level, the present can refuse to divulge all the details needed to predict the future.
And it gets weirder. In quantum physics, even if you know everything about a system allowed by Heisenberg’s rule, the outcome of a measurement can still be genuinely random. The poster child here is Schrödinger’s cat. In 1935, Erwin Schrödinger imagined a (hypothetical!) cat sealed in a box with a radioactive atom that has a 50/50 chance to decay and trigger a poison. Quantum theory says until you observe the system, the atom is in a strange superposition of “decayed” and “not decayed,” which by extension means the cat is both alive and dead at the same time. Absurd? Yes, Schrödinger meant it as a critique, but it captures the idea that outcomes aren’t determined until they “collapse” upon measurement [Schrödinger, 1935]. Before we check, nature itself hasn’t decided which way things go — it’s literally playing dice. (Einstein famously grumbled about this in the 1920s: “God does not play dice with the universe,” he wrote. Niels Bohr and colleagues replied, “Stop telling God what to do,” and kept rolling with the randomness.)
Quantum mechanics doesn’t always predict outcomes; it predicts distributions.
Now, there are different interpretations of quantum mechanics that try to make sense of this. The traditional Copenhagen interpretation basically says “just accept the probabilities; when you measure, the wavefunction collapses randomly according to those probabilities, end of story.” But there’s another wild idea from Hugh Everett in 1957: the Many-Worlds Interpretation. Everett suggested that when a quantum event happens, all outcomes occur, but each in a different branch of the universe — effectively spawning parallel universes for each possibility [Everett, 1957]. In Many-Worlds, nothing is truly random; it’s all deterministic, but it deterministically forks into multiple realities. However, from your perspective as an observer, you still can’t know which branch you’ll end up in, so it feels random. Either way, whether reality is fundamentally probabilistic or splitting into zillions of alternate timelines, the practical upshot is the same: there are limits on what we can predict or know. There’s no experiment you can do to get a sneak peek at a quantum outcome before it happens. Nature keeps those cards hidden until the moment of truth, and no Laplace’s Demon can intervene — the demon’s more likely to find itself tangled up with Schrödinger’s cat, shrugging in ignorance.
When Existence Isn’t Enough
Shifting gears from physics to pure mathematics: have you ever read a proof that something exists, but at the end you still have no clue what it is or how to find it? If so, you’ve met a non-constructive proof. These are proofs that show something is true or something exists without giving a concrete example or method. They’re the mathematical equivalent of saying “a treasure exists on this island” but providing no map to find it. In fact, the great mathematician Hermann Weyl quipped in 1946 that non-constructive existence proofs “inform the world that a treasure exists without disclosing its location” [Weyl, 1946]. You know the treasure is definitely there (because if it weren’t, you’d hit a logical contradiction), but you’re left scratching your head about where it is.
I remember the first time I encountered a proof like this — it was both awe-inspiring and frustrating. On one hand, logic somehow guaranteed a result was true; on the other, it gave me zero tools to actually see the truth in action. A classic example: there’s a simple proof that there exist two irrational numbers a and b such that a^b is rational. The proof basically says: take a = √2 and b = √2. We don’t know if aᵇ = √2^√2 is rational or not.
If it is rational, great — we found our pair. If it isn’t rational, then let a = √2^√2 and b = √2; in that case a^b = (√2^√2)^√2 = 2, which is definitely rational. Either way, such a and b exist. Ta-da! We proved it without ever pinning down exactly which case holds. The proof doesn’t tell us whether √2^√2 is rational or irrational (for the record, it’s believed to be irrational, but that’s a non-trivial fact). We got an existence result with no constructive witness.
Why is this a limit to knowledge? Well, if your proof doesn’t provide a way to construct or identify the thing whose existence it guarantees, then knowing that it exists is a very abstract kind of knowledge. It’s like being assured “a solution is out there” but not being able to actually compute or exhibit it. In computer science terms, it’s the difference between knowing a program terminates and actually being able to run it to get a result. Some mathematicians (especially the intuitionists in the early 20th century) were deeply uncomfortable with this. They argued that a proof should ideally show you the thing it’s talking about or at least give a method to find it — otherwise, have you really gained understanding? Constructive proofs do exactly that: if they say something exists, they show you how to build it step by step, or at least outline a procedure. Non-constructive proofs are more like magic tricks: now you see that something is true, but you don’t see how.
Both types of proofs are perfectly valid in standard math, but the non-constructive ones highlight a curious epistemic limit: you can “know” a truth in theory without being able to extract any concrete example or algorithm from that knowledge. It’s a bit of a tease — Mother Nature (or math nature) saying, “Yes, the answer exists, but I’m not telling you what it is!” As a result, we often have to refine our question if we want something actionable. It’s one thing to know some strategy will win a game of chess (in fact, it’s provable that either White can force a win, or Black can, or at least a draw must be forceable — one of those is true by logic), but it’s another thing entirely to know which strategy and actually play the winning moves. Until we can construct the solution, our knowledge, while true, remains tantalizingly incomplete.
Axioms and Assumptions: When the Answer Depends on the Rules
Not all truths are universal; some depend on which axioms or fundamental assumptions you start with. In mathematics, axioms are the basic rules of the game, the things you don’t prove but assume. What’s shocking is that certain statements turn out to be neither provably true nor provably false using a given set of axioms — they’re independent of those axioms. In such cases, if you want an answer, you have to change the rules a bit and adopt new axioms!
A historical example: for two thousand years, people accepted Euclid’s postulates as the foundation of geometry. One of these postulates (the infamous Fifth Postulate) basically says that given a line and a point not on that line, there’s exactly one parallel line you can draw through that point. Mathematicians tried to prove this postulate from the others, suspecting it was more of a theorem than an assumption — but they kept failing. Finally, in the 19th century, folks like Nikolai Lobachevsky and János Bolyai had a radical idea: what if the Fifth Postulate is not true? What if, say, more than one line through that point can be parallel to the given line? They developed entirely self-consistent non-Euclidean geometries on that premise. Lo and behold, these new geometries were just as logical as Euclid’s, but had wild implications (for instance, on a saddle-shaped space you can have infinite “parallel” lines through a point, and the angles of a triangle sum to less than 180°). This showed the parallel postulate wasn’t provable from the others — it was an independent assumption. You could take it or leave it, and geometry would go in different directions accordingly [Lobachevsky, 1829]. The truth of statements like “angles of a triangle sum to 180°” suddenly became conditional: true in one axiom system (Euclidean) and false in another (hyperbolic geometry). Which is the truth? There is no single answer; it depends on your axiom choice, like choosing different rulebooks.
Perhaps an even more striking case in modern math is the Axiom of Choice. This axiom, formulated by Ernst Zermelo in 1904, says roughly that given any collection of disjoint non-empty sets, you can pick exactly one element from each set (even if the collection is infinite) [Zermelo, 1904]. Sounds innocuous, even obvious, right? Well, adopting this axiom has some crazy consequences. With the Axiom of Choice in hand, mathematicians Banach and Tarski proved a 1924 result so counterintuitive it feels like a magic trick: you can take a solid ball, cut it into a finite number of weirdly shaped pieces, and reassemble those pieces to form two solid balls each the size of the original. Yes, you read that correctly — you get two for the price of one, violating volume conservation in a purely mathematical way (don’t try this at home, it only works in abstract math land) [Banach & Tarski, 1924]. The Banach-Tarski Paradox is a byproduct of accepting the Axiom of Choice. If you reject that axiom, such paradoxes don’t occur, but you lose some other nice results.
For a long time, it wasn’t clear if Axiom of Choice was actually a separate assumption or if someone clever would eventually prove it using the other axioms of set theory. This was settled in the 20th century: in 1963, Paul Cohen showed that Axiom of Choice is independent of the standard Zermelo-Fraenkel (ZF) axioms of set theory (building on earlier work by Gödel in 1940). In other words, you can’t prove or refute the Axiom of Choice from ZF; you have to either assume it or not assume it, and neither decision will make your system inconsistent [Cohen, 1963]. The same goes for another famous statement, the Continuum Hypothesis, which conjectures a specific size for the set of real numbers — Gödel and Cohen showed it’s independent of ZF as well.
The takeaway here is mind-bending: there are propositions for which no amount of logical deduction from our current axioms will ever give an answer. The question “is X true or false?” can be met with “well, that depends on which universe of math you’re in — the one where we assume Axiom Y or the one where we don’t.” These limits are not due to human ignorance or lack of trying; they’re built into the logical structure of mathematics. If the axioms don’t decide the issue, then that truth is literally unreachable unless you expand your axiom list. It’s a bit like trying to play a game and realizing a certain scenario can never be resolved because the rules didn’t cover it — you either add a house rule or live with ambiguity.
When Algorithms Hit a Wall: Busy Beavers and Ωmega
We’ve seen physical and logical limits; here’s a computational one. In 1936, Alan Turing proved there’s no general algorithm to solve the “halting problem” for all possible programs [Turing, 1936]. The halting problem asks: given a program and an input, will the program eventually stop or run forever? Turing showed that any supposed universal method to decide this will fail on some program, essentially because you can make programs that cleverly ask “what would the decider say about me?” and then do the opposite. It’s a brilliant proof, and it unveiled a fundamental truth: there are well-defined questions about the behavior of algorithms that are unanswerable by any algorithm. This result puts a cap on computational knowledge — some things no computer (no matter how advanced) can systematically figure out for all cases.
Building on that idea, mathematicians have explored specific unanswerable questions. One famous example is the Busy Beaver problem, introduced by Tibor Radó in 1962 [Radó, 1962]. The setup is actually fun: imagine all possible computer programs of a given size (say programs with n states, if we use the formal model of a Turing machine). Most of these programs either run forever or eventually halt with some output. Among those that halt, some run longer than others before stopping. The busy beaver BB(n) is defined as the maximum number of steps that an n-state program can execute before halting (assuming we only count programs that do halt). So BB(n) is like the Mount Everest of runtimes for programs of size n. The catch? Turing’s undecidability result implies that the busy beaver function grows faster than any computable function — and in fact, BB(n) itself is uncomputable for general n. You can determine a few initial values by brute force and ingenuity (researchers have figured out BB(1) through BB(4), and recently even nailed down BB(5) after decades of effort), but then it takes off into the stratosphere. Each time you increase n, BB(n) gets so astronomically large that it leaves everything else in the dust.
To give you a sense: No one knows the exact value of BB(6), but we have proven some lower bounds. In 2022, busy beaver hunters (yes, that’s a thing!) showed that BB(6) is at least on the order of 10^36,000,000 or more. That is a number with 36 million digits! In fact, it’s so huge that it’s literally impossible to write it out in full in our physical universe — even if you tried to write digits on every atom, you’d run out of atoms long before you finish [Brubaker, 2025]. The exact value of BB(6) could be much larger still, and we may never know it precisely. This is a clear-cut case of an answer that can exist in theory but can’t fit in the universe (as our opening hook teased). It’s not just that we humans can’t compute it — the number is so ridiculously big that the entire universe doesn’t have enough resources to represent it explicitly. And because determining BB(n) in general is tied up with the halting problem, we know no algorithm can crank out all busy beaver values. It’s a provable limit on knowledge: some well-defined numbers will forever evade exact capture.
Related to this is Chaitin’s Ω (Omega), a number Gregory Chaitin defined in 1975 using algorithmic information theory [Chaitin, 1975]. Ω is the probability that a random program will eventually halt. It’s a single real number between 0 and 1, but its binary expansion is chock-full of unknowable bits. You can prove Omega is a perfectly well-defined number, but you can also prove that its digits are uncomputable and even unprovable beyond a certain point. Each bit of Ω is like a true/false answer to some specific halting problem. If you could somehow obtain the first N bits of Ω, you’d effectively solve all halting problems for programs up to a certain size N. But Turing tells us we can’t have a general method for that, so the bits of Ω are fundamentally unknowable by any finite means. In fact, for any given axiomatic system (any formal theory of mathematics you might choose), there’s a limit to how many bits of Ω that system can determine for sure — beyond that, Ω’s bits are independent of the axioms (this is a result Chaitin derived, connecting to Gödel’s incompleteness). In plainer language, Ω is a number that contains infinitely many true mathematical facts that can never be proven within any fixed system. Talk about a locked vault of secrets!
Some answers exist in theory but don’t fit in the universe.
All this shows that even in the realm of computing and math, we hit hard ceilings. There are functions that outgrow not just our brain but any conceivable method. There are truths encoded in numbers that no amount of computation or theorem-proving can dig out. It’s both humbling and kind of beautiful. We’ve essentially found the spots in the landscape of knowledge marked “Here Be Dragons” — regions forever beyond algorithmic exploration.
Gödel’s Incompleteness: The Unprovable Truths
Our final stop is one of the most profound limitative results in intellectual history. In 1931, Austrian logician Kurt Gödel published a paper that shook the foundations of mathematics and logic [Gödel, 1931]. He proved the famous Incompleteness Theorems. The first incompleteness theorem, in rough terms, says: any sufficiently powerful and consistent formal system (essentially, any axiomatic system capable of doing basic arithmetic) will contain true statements that it cannot prove. In other words, if your axioms and rules of inference are consistent (they don’t lead to contradictions) and strong enough to describe the integers, then there will always be propositions about those integers that are true but that elude proof within the system.
Gödel’s method was ingenious and built on a self-referential trick. He constructed a statement in the language of the system that essentially says, “I am not provable in this system.” It’s like a mathematical version of the liar paradox (“this sentence is false”), but crafted with rigorous arithmetic coding. If the system could prove that statement, it would be proving a falsehood (since the statement asserts it’s unprovable), which would make the system inconsistent. So if the system is consistent, it cannot prove the statement. But if the system cannot prove it, then the statement is true (because that’s exactly what it claimed). Thus, the system has a true statement it cannot prove. Mic drop. Gödel showed not just one such statement, but an infinite family of them, lurking in any axiomatic theory that’s rich enough. His second incompleteness theorem added more spice: it said no such system can prove its own consistency either (assuming it is consistent). So you can’t even have a system that neatly says “I am consistent” unless it actually isn’t (in which case it could mistakenly prove that and everything else).
What does this mean for knowledge? It means that logic itself places a fundamental limit on formal knowledge systems. Even if you have an infinite list of perfectly true axioms (like, say, the axioms of arithmetic), you won’t capture all the truths about the natural numbers by mechanical proof. There will always be a “blind spot,” a true fact that lies outside the reach of your axioms unless you expand them. But if you do expand them, boom — there’ll be another truth out of reach in the new system. It’s an infinite game of whac-a-mole. There is no final complete theory of mathematics (unless you allow it to be inconsistent, which, trust me, you don’t want).
For example, the statement “This statement is unprovable” turned into a real arithmetical claim in Gödel’s work (often called the Gödel sentence G). G is true, but you can’t prove G within the theory. You can only prove G by stepping out of the system and reasoning about it from a meta-level (like we just did informally). This was a sobering blow to the program of people like David Hilbert, who earlier in the 20th century had hoped we’d eventually formalize all of mathematics in a complete, consistent set of axioms. Gödel showed that dream was in vain — there’s no one book of axioms that yields every mathematical truth by brute deduction. There will always be true statements with no proof in the book.
Gödel didn’t find a flaw in math — he found math’s horizon.
To put it in a more imaginative way, think of mathematical truths as an infinite library. Gödel proved that no matter how big a (consistent, organized) book you write, there will always be true statements that aren’t in that book. Or think of it as a game: no matter what finite set of rules you start with, you can always construct a true statement that those rules can’t win (prove). It’s like an ever-elusive level boss in a game that adapts to your powers. This inherently limits what we can know through formal deduction alone.
Gödel’s incompleteness is often mistaken to imply humans can somehow know these unprovable truths by intuition or other means. That’s a whole philosophical debate (are unprovable truths knowable in some other way? Who knows!). But the theorem itself is neutral on that — it just says no single formal system gets everything. For us, the key point is: even in the realm of pure logic, there are truths that are provably unreachable by certain sets of assumptions.
It’s hard to overstate how beautifully paradoxical and profound that is. Mathematics found a limit inside itself. It’s as if math wrote a note to mathematicians saying, “There are things I can see that you can’t — signed, Mathematics.” So even the most rigorous enterprise, math, has a built-in horizon beyond which it can’t guarantee to take us.
Conclusion: The Universe Keeps Its Secrets
Some truths are unreachable not because we’re weak, but because the rules of the game forbid it — physics caps what can be stored, computation caps what can be derived, and logic caps what can be proved. The universe contains truths it will not let itself fully explain.
This story is also part of the Recursive Rhymes on Reason newsletter.
Know It All: A Tour of Knowledge’s Limits was originally published in Recursive Rhymes on Reason on Medium, where people are continuing the conversation by highlighting and responding to this story.







