{"slug": "lean", "name": "Lean", "category": "other", "category_name": "Other software", "description": "Open-source functional programming language and interactive theorem prover for formal mathematics and verification.", "recommenders": 18, "commenters": 30, "warners": 0, "score": 20.025, "rising": 2.07, "first": "2025-12-16", "latest": "2026-10-31", "why": "Recommended as a proof assistant for formalizing mathematics and as a deterministic checker that pairs well with AI-generated proofs and code.", "why_is_quote": false, "has_verdict": true, "sentiment": {"recommend": 19, "neutral": 11, "compare": 1, "warn": 0}, "spark": [0, 1, 1, 1, 1, 2, 0, 3, 4, 0, 2, 4], "listed": true, "loved": ["AI pairing", "Trusted checking"], "caveat": "Kernel trust", "short_quote": "Lean wins for me without considering or using dependent types (for now).", "icon": true, "domain": null, "github_repo": "github.com/platypii/integer-mult-bounds-lean", "official_url": "https://lean-lang.org", "pricing": "open source", "aliases": ["Lean", "Lean 4", "Lean4"], "verdict": [{"text": "Recommended as a proof assistant for formalizing mathematics", "cites": [{"id": 799420272, "item_id": 49963767, "url": "https://news.ycombinator.com/item?id=49963767", "by": "seanhunter", "date": "2026-10-05", "stance": "recommend", "quote": "I use lean a lot, reasonably effectively", "excerpt": "I use lean a lot, reasonably effectively (although I\u2019m still just getting started) but I\u2019m using it as a proof assistant for mathematics. The background that is actually useful for understanding how lean works and most \u201cmathematical\u201d lean use cases is dependent type theory and homotopy type theory. So people who really want to go deep on lean often recommend the HoTT book (https://homotopytypetheory.org/book/) but th", "context": "mathematics user, still getting started", "use_case": "proof assistant for mathematics", "switched_from": "", "story": "Anatomy of a Lean proof for software engineers"}, {"id": 762130640, "item_id": 47633165, "url": "https://news.ycombinator.com/item?id=47633165", "by": "smj-edison", "date": "2026-04-03", "stance": "recommend", "quote": "Lean definitely has a lot going for it", "excerpt": "It's interesting to see a lot of formalized proofs gather around Lean (specifically Mathlib). I've in a formal math class right now, so it's a bit weird learning ZFC while messing around with Lean, which is based on dependant types. There's a lot of other proof assistants out there, like Mizar, Isabelle, Metamath, Metamath0, and Coq, each based on different foundations. Metamath0 in particular looks really intriguing", "context": "taking a formal math class", "use_case": "formal proofs", "switched_from": "", "story": "Automatic Textbook Formalization"}, {"id": 803056176, "item_id": 50191011, "url": "https://news.ycombinator.com/item?id=50191011", "by": "jdb1729", "date": "2026-10-22", "stance": "neutral", "quote": "The result is fully formalized in Lean by @platypii and myself", "excerpt": "> It would be good to have a formalised proof of the o(n log n) result, for example in Lean. As far as I can tell, one does not yet exist. The result is fully formalized in Lean by @platypii and myself (on Mathlib's TM2 machine), with ongoing improvements to the exponent (currently at 1-2^-14.38): https://github.com/platypii/integer-mult-bounds-lean Contributions are welcome!", "context": "", "use_case": "formal proof verification", "switched_from": "", "story": "The recently proposed o(n log n) integer multiplication algorithm [pdf]"}]}, {"text": " and as a deterministic checker that pairs well with AI-generated proofs and code.", "cites": [{"id": 802264112, "item_id": 50141507, "url": "https://news.ycombinator.com/item?id=50141507", "by": "5ersi", "date": "2026-10-18", "stance": "recommend", "quote": "Lean plus AI is a winning combo", "excerpt": "Lean plus AI is a winning combo: Lean is super precise but \"narrow\", AI is broad but lacks precision. Before AI it was super tedious to formally express your software models in Lean, with AI this is super easy. See formal verification of consensus core in Ultima Cluster: https://github.com/PeterKnego/ultima_cluster/blob/main/docs/VERIFICATION.md", "context": "", "use_case": "formal verification", "switched_from": "", "story": "Lean now ships with verified kernels"}, {"id": 774805328, "item_id": 48425333, "url": "https://news.ycombinator.com/item?id=48425333", "by": "permute", "date": "2026-06-06", "stance": "recommend", "quote": "that proof is checked automatically by a deterministic system, the lean checker, which we can trust, in constrast to error prone LLMs", "excerpt": "Sure, what the program does is not interesting by itself, neither is that you can use AI to create programs to do polygon intersection. The main feature, that I hope is interesting in this submission, is that the program is formally verified and how I used formal verification together with AI to create it. Formal verification means that a mathematical proof is provided that the program satisfies a specification. And ", "context": "", "use_case": "formal verification of proofs", "switched_from": "", "story": "Show HN: Formally verified polygon intersection \u2013 Opus 4.8 oneshots, prev failed"}, {"id": 785044064, "item_id": 49065254, "url": "https://news.ycombinator.com/item?id=49065254", "by": "m1el", "date": "2026-07-26", "stance": "recommend", "quote": "You don't even need to worry about hallucinations, you merely need to trust Lean core.", "excerpt": "Self-insert time. I spent some time exploring this topic. Here's my thesis: Formal verification was expensive. 20x expensive compared to just developing the software, as the author notes. The cost of finding and developing exploits also was high. That creates an incentive to put software verification aside, since it solves a relatively small problem, at an extremely high cost. We've seen how Mythos has found more vul", "context": "", "use_case": "formal verification proofs", "switched_from": "", "story": "We have proof automation now"}]}, {"text": " Commenters caution that AI-written Lean can be sloppy or light on actual theorems", "cites": [{"id": 785008128, "item_id": 49063008, "url": "https://news.ycombinator.com/item?id=49063008", "by": "Jhsto", "date": "2026-07-26", "stance": "recommend", "quote": "Nor did the project make use of Batteries or Mathlib which are arguably the one of the strongest motivation for me personally to use Lean4.", "excerpt": "As a meta-comment on the topic, something I have noticed is that there still exists confusion what it means to use theorem provers for projects -- the other day I read a tweet from Paradigm, a crypto-VC now seemingly AI-pilled. Some LP of theirs had made a Lean 4 formalization of the Ethereum's virtual machine. The tweet said this would have cost like $150k in API tokens (\"would have\", as in, I guess they get theirs ", "context": "uses theorem provers for projects", "use_case": "formal proofs", "switched_from": "", "story": "We have proof automation now"}, {"id": 740724544, "item_id": 46295284, "url": "https://news.ycombinator.com/item?id=46295284", "by": "yuppiemephisto", "date": "2025-12-16", "stance": "recommend", "quote": "", "excerpt": "I vibe code extremely extensively with Lean 4, enough to run out 2 claude code $200 accounts api limits every day for a week. I added LSP support for images to get better feedback loops and opus was able to debug https://github.com/alok/LeanPlot. The entire library was vibe coded by older ai. It also wrote https://github.com/alok/hexluthor (a hex color syntax highlighting extension that uses lean\u2019s metaprogramming an", "context": "vibe codes extensively with Lean", "use_case": "vibe coding with proofs", "switched_from": "", "story": "AI will make formal verification go mainstream"}]}, {"text": ", and that a proof is only as trustworthy as Lean's own kernel, which has had a soundness bug.", "cites": [{"id": 800013440, "item_id": 50000840, "url": "https://news.ycombinator.com/item?id=50000840", "by": "rtpg", "date": "2026-10-08", "stance": "neutral", "quote": "lean saying a proof is correct is \"if lean is correct then the proof is correct\".", "excerpt": "I've had discussions around this with theorem prover types (OPLSS, highly recommend for people who can take the two weeks off) The sort of head canon for any of the automated proof systems is that lean saying a proof is correct is \"if lean is correct then the proof is correct\". One can get the temptation to try and prove lean correctness with lean but I believe _that_ is impossible due to the incompleteness theory. _", "context": "", "use_case": "proof verification", "switched_from": "", "story": "Navier\u2013Stokes Lost in Translation"}, {"id": 786232544, "item_id": 49139534, "url": "https://news.ycombinator.com/item?id=49139534", "by": "estherney", "date": "2026-08-01", "stance": "neutral", "quote": "We want Lean4 (or any other deduction system that we use, for that matter) to be correct", "excerpt": "We want Lean4 (or any other deduction system that we use, for that matter) to be correct, i.e. \"what is a true statement\" and \"what is a derivable statement\" should be the same. \"every statement that can be derived also holds\" is the difficult part to show, and something we refer to as soundness. For some fancy logics, it's not even possible to show, hence the discovered Kernel Soundness Bug in Lean! \"every statement", "context": "graduate student", "use_case": "theorem proving", "switched_from": "", "story": "Postmortem for Kernel Soundness Bug #14576"}]}], "praise": [{"label": "AI pairing", "summary": "Commenters say AI makes writing Lean easy while Lean supplies the precision AI lacks.", "quotes": [{"id": 802264112, "item_id": 50141507, "url": "https://news.ycombinator.com/item?id=50141507", "by": "5ersi", "date": "2026-10-18", "stance": "recommend", "quote": "Lean plus AI is a winning combo", "excerpt": "Lean plus AI is a winning combo: Lean is super precise but \"narrow\", AI is broad but lacks precision. Before AI it was super tedious to formally express your software models in Lean, with AI this is super easy. See formal verification of consensus core in Ultima Cluster: https://github.com/PeterKnego/ultima_cluster/blob/main/docs/VERIFICATION.md", "context": "", "use_case": "formal verification", "switched_from": "", "story": "Lean now ships with verified kernels"}, {"id": 776477296, "item_id": 48529831, "url": "https://news.ycombinator.com/item?id=48529831", "by": "reinitctxoffset", "date": "2026-06-14", "stance": "recommend", "quote": "I only really got serious about `lean4` like six to eight months ago", "excerpt": "I caught the religion on using types in conjunction with LLMs about eighteen months ago, but I only really got serious about `lean4` like six to eight months ago and now I wouldn't even consider using AI assist in software work with a `CIC` proof substrate that has practical C/C++ (and therefore, everything) FFI. We've banned everything from JSON to Python, rewritten `nix` to have a compiler, and almost everything we", "context": "", "use_case": "proofs alongside AI-assisted code", "switched_from": "", "story": "Formal Methods and the Future of Programming"}, {"id": 792292400, "item_id": 49518275, "url": "https://news.ycombinator.com/item?id=49518275", "by": "contubernio", "date": "2026-09-01", "stance": "recommend", "quote": "it is effectively coupled with lean to automate theorem proving and discovery", "excerpt": "As a middle-aged mathematician, AI is provoking a serious crisis among the better mathematicians I know. Many are only half jokingly talking about retiring. We use AI a lot in research already and it's obvious that whoever doesn't will fall behind fast. At the very least it gives access to the full library in a few minutes, serving as a kind of knowledge oracle generally more useful than the expert who ought to be in", "context": "middle-aged mathematician", "use_case": "automated theorem proving", "switched_from": "", "story": "No country for mediocre mathematicians"}]}, {"label": "Trusted checking", "summary": "A deterministic proof checker means you trust Lean's core rather than an error-prone LLM.", "quotes": [{"id": 774805328, "item_id": 48425333, "url": "https://news.ycombinator.com/item?id=48425333", "by": "permute", "date": "2026-06-06", "stance": "recommend", "quote": "that proof is checked automatically by a deterministic system, the lean checker, which we can trust, in constrast to error prone LLMs", "excerpt": "Sure, what the program does is not interesting by itself, neither is that you can use AI to create programs to do polygon intersection. The main feature, that I hope is interesting in this submission, is that the program is formally verified and how I used formal verification together with AI to create it. Formal verification means that a mathematical proof is provided that the program satisfies a specification. And ", "context": "", "use_case": "formal verification of proofs", "switched_from": "", "story": "Show HN: Formally verified polygon intersection \u2013 Opus 4.8 oneshots, prev failed"}, {"id": 785044064, "item_id": 49065254, "url": "https://news.ycombinator.com/item?id=49065254", "by": "m1el", "date": "2026-07-26", "stance": "recommend", "quote": "You don't even need to worry about hallucinations, you merely need to trust Lean core.", "excerpt": "Self-insert time. I spent some time exploring this topic. Here's my thesis: Formal verification was expensive. 20x expensive compared to just developing the software, as the author notes. The cost of finding and developing exploits also was high. That creates an incentive to put software verification aside, since it solves a relatively small problem, at an extremely high cost. We've seen how Mythos has found more vul", "context": "", "use_case": "formal verification proofs", "switched_from": "", "story": "We have proof automation now"}, {"id": 805056352, "item_id": 50316022, "url": "https://news.ycombinator.com/item?id=50316022", "by": "wbeckler", "date": "2026-10-31", "stance": "recommend", "quote": "the Lean prover did identify some incorrect steps", "excerpt": "I think the royal combo is Lean 4/TLA+/etc. plus AI plus a deterministic generator. For large systems formal method assertions need to be compressed down to a human comprehensible size. This can happen when the assertions are confirming the accuracy of a model and its attached code generators. The generator can generate proofs of the generated code and a human only needs to ensure that the generator provably generate", "context": "works on the Open Markets Initiative", "use_case": "formal verification of trading protocol code", "switched_from": "", "story": "AI, Lean, and the Future of Formal Verification, with Lean Creator Leo de Moura"}]}, {"label": "Math formalization", "summary": "Commenters use it to formalize mathematics, and they see the field settling around Lean and Mathlib.", "quotes": [{"id": 799420272, "item_id": 49963767, "url": "https://news.ycombinator.com/item?id=49963767", "by": "seanhunter", "date": "2026-10-05", "stance": "recommend", "quote": "I use lean a lot, reasonably effectively", "excerpt": "I use lean a lot, reasonably effectively (although I\u2019m still just getting started) but I\u2019m using it as a proof assistant for mathematics. The background that is actually useful for understanding how lean works and most \u201cmathematical\u201d lean use cases is dependent type theory and homotopy type theory. So people who really want to go deep on lean often recommend the HoTT book (https://homotopytypetheory.org/book/) but th", "context": "mathematics user, still getting started", "use_case": "proof assistant for mathematics", "switched_from": "", "story": "Anatomy of a Lean proof for software engineers"}, {"id": 762130640, "item_id": 47633165, "url": "https://news.ycombinator.com/item?id=47633165", "by": "smj-edison", "date": "2026-04-03", "stance": "recommend", "quote": "Lean definitely has a lot going for it", "excerpt": "It's interesting to see a lot of formalized proofs gather around Lean (specifically Mathlib). I've in a formal math class right now, so it's a bit weird learning ZFC while messing around with Lean, which is based on dependant types. There's a lot of other proof assistants out there, like Mizar, Isabelle, Metamath, Metamath0, and Coq, each based on different foundations. Metamath0 in particular looks really intriguing", "context": "taking a formal math class", "use_case": "formal proofs", "switched_from": "", "story": "Automatic Textbook Formalization"}, {"id": 777571552, "item_id": 48598222, "url": "https://news.ycombinator.com/item?id=48598222", "by": "casey2", "date": "2026-06-19", "stance": "recommend", "quote": "I guess this means the whole space is settling around lean?", "excerpt": "I was just looking into this. Found https://github.com/PnVDiscord/software-foundations-lean and some other chatter about the concept, but it wasn't active, lots of sorry in the basic library etc. Oh it's by Benjamin Pierce's team too that inspires much more confidence lol. Ready in fall I'll set a reminder, exciting stuff. I guess this means the whole space is settling around lean? (at least for capital A Academia an", "context": "", "use_case": "proof assistant", "switched_from": "", "story": "Software Foundations is being translated to Lean"}]}, {"label": "Language design", "summary": "Some call it a better programming language than any they have used, and a modern alternative to Haskell.", "quotes": [{"id": 785819680, "item_id": 49113730, "url": "https://news.ycombinator.com/item?id=49113730", "by": "Syzygies", "date": "2026-07-30", "stance": "recommend", "quote": "Lean wins for me without considering or using dependent types (for now).", "excerpt": "https://github.com/Syzygies/Compare I spent far too long comparing dozens of languages, only some of which are part of the above project, before switching from Haskell to Lean for a new phase of my math research. Lean wins for me without considering or using dependent types (for now). It is simply a better programming language than any I have seen. This is a critical advantage for those interested in proof. One codes", "context": "math researcher", "use_case": "math research and proofs", "switched_from": "Haskell", "story": "Are We Stuck with Lean?"}, {"id": 740724544, "item_id": 46295284, "url": "https://news.ycombinator.com/item?id=46295284", "by": "yuppiemephisto", "date": "2025-12-16", "stance": "recommend", "quote": "", "excerpt": "I vibe code extremely extensively with Lean 4, enough to run out 2 claude code $200 accounts api limits every day for a week. I added LSP support for images to get better feedback loops and opus was able to debug https://github.com/alok/LeanPlot. The entire library was vibe coded by older ai. It also wrote https://github.com/alok/hexluthor (a hex color syntax highlighting extension that uses lean\u2019s metaprogramming an", "context": "vibe codes extensively with Lean", "use_case": "vibe coding with proofs", "switched_from": "", "story": "AI will make formal verification go mainstream"}, {"id": 784082336, "item_id": 49005146, "url": "https://news.ycombinator.com/item?id=49005146", "by": "dev_dan_2", "date": "2026-07-22", "stance": "recommend", "quote": "Lean4 might be a good language to check out", "excerpt": "Great tutorial, really enjoyed it! Personally, I think languages that can check very much at compile time in combinations with LLMs have a bright future ahead. Additionally, if one wanted to give Haskell a try, Lean4 might be a good language to check out before, as it is more modern and ticks many of the same boxes (Still has some unique features, and the communities quite a lot). Small feedback: - Great flow, explai", "context": "", "use_case": "formal verification", "switched_from": "", "story": "Introduction to Formal Verification with Lean Part 1"}]}, {"label": "Learning games", "summary": "The Natural Number Game and other Lean games are recommended as a way to start.", "quotes": [{"id": 745055600, "item_id": 46565975, "url": "https://news.ycombinator.com/item?id=46565975", "by": "tetha", "date": "2026-01-10", "stance": "recommend", "quote": "I'd recommend to check out the lean games[1].", "excerpt": "As the sibling comment says, in my experience, the difficulty of formalizing the problem varies greatly between different areas. Probability theory is another notorious field in which modelling a problem correctly can be very subtle and difficult. On the other hand, many problems in number theory and discrete structures tend to be rather simple to formalize. If you want to take your own look at that, I'd recommend to", "context": "", "use_case": "learning to formalize problems", "switched_from": "", "story": "AI solves Erdos problem #728 (Terence Tao mathstodon post)"}, {"id": 796200192, "item_id": 49762512, "url": "https://news.ycombinator.com/item?id=49762512", "by": "danabramov", "date": "2026-09-19", "stance": "recommend", "quote": "with later picking up Lean by doing Natural Number Game.", "excerpt": "OK this is probably not quite what you meant but I'll shoot: I highly recommend Terence Tao's Analysis textbook (which now also has a Lean counterpart on GitHub). You can skip Chapter 1 (it sets up the motivation but I couldn't answer most questions, which is part of the point). From Chapter 2, it builds up in a somewhat \"dry\" but actually very accessible and methodical way. It is \"mathematical\" but it is \"for people", "context": "", "use_case": "learning proofs", "switched_from": "", "story": "I vibed a proof of Conway's conjecture"}]}, {"label": "Tooling", "summary": "Verso gives typechecked literate docs, and lake build gives AI agents a feedback loop.", "quotes": [{"id": 756883856, "item_id": 47305241, "url": "https://news.ycombinator.com/item?id=47305241", "by": "yuppiemephisto", "date": "2026-03-08", "stance": "recommend", "quote": "It is integrated with Lean and gets proper typechecking etc which I find helpful.", "excerpt": "I do a form of literate programming for code review to help read AI code. I use [Lean 4](lean-lang.org) and its doc tool [Verso](https://github.com/leanprover/verso/) and have it explain the code through a literate essay. It is integrated with Lean and gets proper typechecking etc which I find helpful.", "context": "", "use_case": "literate code review", "switched_from": "", "story": "We should revisit literate programming in the agent era"}, {"id": 753618851, "item_id": 47101178, "url": "https://news.ycombinator.com/item?id=47101178", "by": "Gehinnn", "date": "2026-02-21", "stance": "recommend", "quote": "I have a single instruction file telling the AI to always run \"lake build ./lean-file.lean\" to get\n feedback.", "excerpt": "Here is a session that I just had with AI: https://gist.github.com/hediet/e3569a7c6b4b7c4f7d4a7db4101047de (summarized by AI). And here are some examples of the different philosophies of AI proofs and human proofs: https://gist.github.com/hediet/e3569a7c6b4b7c4f7d4a7db4101047de#file-2_human_vs_ai-lean I use VS Code in a beefy Codespace, with GitHub Copilot (Opus 4.5). I have a single instruction file telling the AI t", "context": "works on VS Code", "use_case": "proof-driven AI development", "switched_from": "", "story": "Lean 4: How the theorem prover works and why it's the new competitive edge in AI"}]}], "caveats": [{"label": "Kernel trust", "summary": "Correctness depends on Lean itself, and a kernel soundness bug has been found.", "quotes": [{"id": 800013440, "item_id": 50000840, "url": "https://news.ycombinator.com/item?id=50000840", "by": "rtpg", "date": "2026-10-08", "stance": "neutral", "quote": "lean saying a proof is correct is \"if lean is correct then the proof is correct\".", "excerpt": "I've had discussions around this with theorem prover types (OPLSS, highly recommend for people who can take the two weeks off) The sort of head canon for any of the automated proof systems is that lean saying a proof is correct is \"if lean is correct then the proof is correct\". One can get the temptation to try and prove lean correctness with lean but I believe _that_ is impossible due to the incompleteness theory. _", "context": "", "use_case": "proof verification", "switched_from": "", "story": "Navier\u2013Stokes Lost in Translation"}, {"id": 786232544, "item_id": 49139534, "url": "https://news.ycombinator.com/item?id=49139534", "by": "estherney", "date": "2026-08-01", "stance": "neutral", "quote": "We want Lean4 (or any other deduction system that we use, for that matter) to be correct", "excerpt": "We want Lean4 (or any other deduction system that we use, for that matter) to be correct, i.e. \"what is a true statement\" and \"what is a derivable statement\" should be the same. \"every statement that can be derived also holds\" is the difficult part to show, and something we refer to as soundness. For some fancy logics, it's not even possible to show, hence the discovered Kernel Soundness Bug in Lean! \"every statement", "context": "graduate student", "use_case": "theorem proving", "switched_from": "", "story": "Postmortem for Kernel Soundness Bug #14576"}]}, {"label": "AI output quality", "summary": "AI-generated Lean can be sloppy, and AI-produced formalizations can be light on theorems.", "quotes": [{"id": 740724544, "item_id": 46295284, "url": "https://news.ycombinator.com/item?id=46295284", "by": "yuppiemephisto", "date": "2025-12-16", "stance": "recommend", "quote": "", "excerpt": "I vibe code extremely extensively with Lean 4, enough to run out 2 claude code $200 accounts api limits every day for a week. I added LSP support for images to get better feedback loops and opus was able to debug https://github.com/alok/LeanPlot. The entire library was vibe coded by older ai. It also wrote https://github.com/alok/hexluthor (a hex color syntax highlighting extension that uses lean\u2019s metaprogramming an", "context": "vibe codes extensively with Lean", "use_case": "vibe coding with proofs", "switched_from": "", "story": "AI will make formal verification go mainstream"}, {"id": 785008128, "item_id": 49063008, "url": "https://news.ycombinator.com/item?id=49063008", "by": "Jhsto", "date": "2026-07-26", "stance": "recommend", "quote": "Nor did the project make use of Batteries or Mathlib which are arguably the one of the strongest motivation for me personally to use Lean4.", "excerpt": "As a meta-comment on the topic, something I have noticed is that there still exists confusion what it means to use theorem provers for projects -- the other day I read a tweet from Paradigm, a crypto-VC now seemingly AI-pilled. Some LP of theirs had made a Lean 4 formalization of the Ethereum's virtual machine. The tweet said this would have cost like $150k in API tokens (\"would have\", as in, I guess they get theirs ", "context": "uses theorem provers for projects", "use_case": "formal proofs", "switched_from": "", "story": "We have proof automation now"}]}, {"label": "Agent over-proving", "summary": "Putting Lean in agent specs can push coding agents to try to prove everything.", "quotes": [{"id": 753596560, "item_id": 47099785, "url": "https://news.ycombinator.com/item?id=47099785", "by": "SteveJS", "date": "2026-02-21", "stance": "neutral", "quote": "I am using lean as part of the prd.md description handed to a coding agent.", "excerpt": "I am using lean as part of the prd.md description handed to a coding agent. The definitions in lean compile and mean exactly what I want them to say. The implementation i want to build is in rust. HOWEVER \u2026 I hit something i now call a McLuhen vortex error: \u201cWhen a tool, language, or abstraction smuggles in an implied purpose at odds with your intended goal.\u201d Using Lean implies to the coding agent \u2018proven\u2019 is a perva", "context": "", "use_case": "formal definitions for coding agent", "switched_from": "", "story": "Lean 4: How the theorem prover works and why it's the new competitive edge in AI"}]}, {"label": "Learning curve", "summary": "Deep use benefits from a background in dependent type theory, and some workflows like Rust verification feel hard to approach.", "quotes": [{"id": 799420272, "item_id": 49963767, "url": "https://news.ycombinator.com/item?id=49963767", "by": "seanhunter", "date": "2026-10-05", "stance": "recommend", "quote": "I use lean a lot, reasonably effectively", "excerpt": "I use lean a lot, reasonably effectively (although I\u2019m still just getting started) but I\u2019m using it as a proof assistant for mathematics. The background that is actually useful for understanding how lean works and most \u201cmathematical\u201d lean use cases is dependent type theory and homotopy type theory. So people who really want to go deep on lean often recommend the HoTT book (https://homotopytypetheory.org/book/) but th", "context": "mathematics user, still getting started", "use_case": "proof assistant for mathematics", "switched_from": "", "story": "Anatomy of a Lean proof for software engineers"}, {"id": 803621681, "item_id": 50226355, "url": "https://news.ycombinator.com/item?id=50226355", "by": "weinzierl", "date": "2026-10-24", "stance": "neutral", "quote": "I suppose Rust with Lean involves Aeneas, but this is over my head.", "excerpt": "\"[..] the last time I taked to him about pgrust verification, he mentioned using Kani to verify some parts of the code. He's since switched to Lean and has been using Lean to verify things that are too complex to do in Kani. This would be another topic for another post,\" I'd love to read that post! I understand how to use Kani. I suppose Rust with Lean involves Aeneas, but this is over my head. I'd love someone to wr", "context": "", "use_case": "Rust code verification", "switched_from": "", "story": "We should be more ambitious with the software we build"}]}, {"label": "Hard domains", "summary": "Formalizing some areas, such as probability theory, can be subtle and difficult.", "quotes": [{"id": 745055600, "item_id": 46565975, "url": "https://news.ycombinator.com/item?id=46565975", "by": "tetha", "date": "2026-01-10", "stance": "recommend", "quote": "I'd recommend to check out the lean games[1].", "excerpt": "As the sibling comment says, in my experience, the difficulty of formalizing the problem varies greatly between different areas. Probability theory is another notorious field in which modelling a problem correctly can be very subtle and difficult. On the other hand, many problems in number theory and discrete structures tend to be rather simple to formalize. If you want to take your own look at that, I'd recommend to", "context": "", "use_case": "learning to formalize problems", "switched_from": "", "story": "AI solves Erdos problem #728 (Terence Tao mathstodon post)"}]}], "who": [{"by": "wbeckler", "context": "works on the Open Markets Initiative", "url": "https://news.ycombinator.com/item?id=50316022", "date": "2026-10-31"}, {"by": "Kotlopou", "context": "complete amateur", "url": "https://news.ycombinator.com/item?id=50200085", "date": "2026-10-22"}, {"by": "seanhunter", "context": "mathematics user, still getting started", "url": "https://news.ycombinator.com/item?id=49963767", "date": "2026-10-05"}, {"by": "eggy", "context": "Ada/SPARK developer in safety-critical work", "url": "https://news.ycombinator.com/item?id=49614893", "date": "2026-09-08"}, {"by": "henryrobbins00", "context": "PhD researcher", "url": "https://news.ycombinator.com/item?id=49569603", "date": "2026-09-04"}, {"by": "contubernio", "context": "middle-aged mathematician", "url": "https://news.ycombinator.com/item?id=49518275", "date": "2026-09-01"}, {"by": "estherney", "context": "graduate student", "url": "https://news.ycombinator.com/item?id=49139534", "date": "2026-08-01"}, {"by": "Syzygies", "context": "math researcher", "url": "https://news.ycombinator.com/item?id=49113730", "date": "2026-07-30"}, {"by": "Jhsto", "context": "uses theorem provers for projects", "url": "https://news.ycombinator.com/item?id=49063008", "date": "2026-07-26"}, {"by": "smj-edison", "context": "taking a formal math class", "url": "https://news.ycombinator.com/item?id=47633165", "date": "2026-04-03"}, {"by": "Gehinnn", "context": "works on VS Code", "url": "https://news.ycombinator.com/item?id=47101178", "date": "2026-02-21"}, {"by": "randomtoast", "context": "programmer", "url": "https://news.ycombinator.com/item?id=46324453", "date": "2025-12-19"}], "tags": ["for mathematicians", "for formal verification", "for AI-assisted coding", "for Haskell users", "for learners"], "use_cases": ["formal proof verification", "formal verification", "theorem proving", "formal proofs", "formal verification of trading protocol code", "rust code verification"], "compared": [{"slug": "claude-opus", "name": "Claude Opus", "co": 3, "switched_from": 0, "switched_to": 0}, {"slug": "coq", "name": "Coq", "co": 2, "switched_from": 0, "switched_to": 0}], "makers": [], "threads": [{"url": "https://news.ycombinator.com/item?id=50190455", "title": "The recently proposed o(n log n) integer multiplication algorithm [pdf]", "mentions": 3}, {"url": "https://news.ycombinator.com/item?id=49062291", "title": "We have proof automation now", "mentions": 2}, {"url": "https://news.ycombinator.com/item?id=47047027", "title": "Lean 4: How the theorem prover works and why it's the new competitive edge in AI", "mentions": 2}, {"url": "https://news.ycombinator.com/item?id=50290652", "title": "AI, Lean, and the Future of Formal Verification, with Lean Creator Leo de Moura", "mentions": 1}, {"url": "https://news.ycombinator.com/item?id=50225695", "title": "We should be more ambitious with the software we build", "mentions": 1}, {"url": "https://news.ycombinator.com/item?id=50189023", "title": "\u039a = 0.003 for integer multiplication crossed", "mentions": 1}], "sentiment_by_month": {"2025-11": {}, "2025-12": {"recommend": 1, "neutral": 1}, "2026-01": {"recommend": 1}, "2026-02": {"neutral": 1, "recommend": 1}, "2026-03": {"recommend": 1}, "2026-04": {"recommend": 2}, "2026-05": {}, "2026-06": {"recommend": 3}, "2026-07": {"compare": 1, "recommend": 4}, "2026-08": {"neutral": 3}, "2026-09": {"recommend": 2, "neutral": 2}, "2026-10": {"recommend": 4, "neutral": 4}}, "quotes": [{"id": 805056352, "item_id": 50316022, "url": "https://news.ycombinator.com/item?id=50316022", "by": "wbeckler", "date": "2026-10-31", "stance": "recommend", "quote": "the Lean prover did identify some incorrect steps", "excerpt": "I think the royal combo is Lean 4/TLA+/etc. plus AI plus a deterministic generator. For large systems formal method assertions need to be compressed down to a human comprehensible size. This can happen when the assertions are confirming the accuracy of a model and its attached code generators. The generator can generate proofs of the generated code and a human only needs to ensure that the generator provably generate", "context": "works on the Open Markets Initiative", "use_case": "formal verification of trading protocol code", "switched_from": "", "story": "AI, Lean, and the Future of Formal Verification, with Lean Creator Leo de Moura"}, {"id": 803621681, "item_id": 50226355, "url": "https://news.ycombinator.com/item?id=50226355", "by": "weinzierl", "date": "2026-10-24", "stance": "neutral", "quote": "I suppose Rust with Lean involves Aeneas, but this is over my head.", "excerpt": "\"[..] the last time I taked to him about pgrust verification, he mentioned using Kani to verify some parts of the code. He's since switched to Lean and has been using Lean to verify things that are too complex to do in Kani. This would be another topic for another post,\" I'd love to read that post! I understand how to use Kani. I suppose Rust with Lean involves Aeneas, but this is over my head. I'd love someone to wr", "context": "", "use_case": "Rust code verification", "switched_from": "", "story": "We should be more ambitious with the software we build"}, {"id": 803201360, "item_id": 50200085, "url": "https://news.ycombinator.com/item?id=50200085", "by": "Kotlopou", "date": "2026-10-22", "stance": "recommend", "quote": "I don't see a problem with contributing to Lean verifications", "excerpt": "(not GP) Coming back to the particular project at the top of this thread (not TFA but the top comment), I don't see a problem with contributing to Lean verifications. One of the problems with the OpenAI dump is that half of it might be wrong, and formalizations resolve that. This is particularly relevant for this result, which is one of the few claims that didn't go in the direction one would expect before the drop. ", "context": "complete amateur", "use_case": "formal verification of math results", "switched_from": "", "story": "The recently proposed o(n log n) integer multiplication algorithm [pdf]"}, {"id": 803056176, "item_id": 50191011, "url": "https://news.ycombinator.com/item?id=50191011", "by": "jdb1729", "date": "2026-10-22", "stance": "neutral", "quote": "The result is fully formalized in Lean by @platypii and myself", "excerpt": "> It would be good to have a formalised proof of the o(n log n) result, for example in Lean. As far as I can tell, one does not yet exist. The result is fully formalized in Lean by @platypii and myself (on Mathlib's TM2 machine), with ongoing improvements to the exponent (currently at 1-2^-14.38): https://github.com/platypii/integer-mult-bounds-lean Contributions are welcome!", "context": "", "use_case": "formal proof verification", "switched_from": "", "story": "The recently proposed o(n log n) integer multiplication algorithm [pdf]"}, {"id": 803050720, "item_id": 50190670, "url": "https://news.ycombinator.com/item?id=50190670", "by": "jdb1729", "date": "2026-10-22", "stance": "neutral", "quote": "@platypii and I obtained a Lean proof of the same improvement", "excerpt": "> The new result does not directly imply new complexity bounds for polynomial multiplication over a fixed finite field, say multiplication in F2[x]. The state of the art for this problem is an algorithm that multiplies polynomials of degree n in time O(n log n 4^log*(n)) [HvdH19]. @platypii and I obtained a Lean proof of the same improvement for DFT over prime-order finite fields (yielding polynomial multiplication v", "context": "", "use_case": "formal proof verification", "switched_from": "", "story": "The recently proposed o(n log n) integer multiplication algorithm [pdf]"}, {"id": 803039456, "item_id": 50189966, "url": "https://news.ycombinator.com/item?id=50189966", "by": "jdb1729", "date": "2026-10-22", "stance": "neutral", "quote": "", "excerpt": "@platypii and I have been pursuing Lean verification of improvements to kappa here: https://github.com/platypii/integer-mult-bounds-lean Current status of the campaign: kappa >= 2^-14.38 proved unconditionally on Mathlib's TM2 machine. Contributions welcome!", "context": "", "use_case": "formal proof verification", "switched_from": "", "story": "\u039a = 0.003 for integer multiplication crossed"}, {"id": 802264112, "item_id": 50141507, "url": "https://news.ycombinator.com/item?id=50141507", "by": "5ersi", "date": "2026-10-18", "stance": "recommend", "quote": "Lean plus AI is a winning combo", "excerpt": "Lean plus AI is a winning combo: Lean is super precise but \"narrow\", AI is broad but lacks precision. Before AI it was super tedious to formally express your software models in Lean, with AI this is super easy. See formal verification of consensus core in Ultima Cluster: https://github.com/PeterKnego/ultima_cluster/blob/main/docs/VERIFICATION.md", "context": "", "use_case": "formal verification", "switched_from": "", "story": "Lean now ships with verified kernels"}, {"id": 802007952, "item_id": 50125497, "url": "https://news.ycombinator.com/item?id=50125497", "by": "jaysonsantos", "date": "2026-10-16", "stance": "neutral", "quote": "proving that the ownership rules are sound with Lean", "excerpt": "I used AI to verify the text of the post, but working with Beni has been fun, mostly because in the AI era the feedback loop makes a lot of difference. Otherwise you have to wait for ages to create things, like when using Rust for personal projects, which take a long time to compile. Even though the code in the end is fast, iterating on it kills the vibe, or it makes it hard because you need a lot of compute. And giv", "context": "", "use_case": "proving ownership rules sound", "switched_from": "", "story": "Beni: A typed functional language for the browser, with no async/await"}, {"id": 800013440, "item_id": 50000840, "url": "https://news.ycombinator.com/item?id=50000840", "by": "rtpg", "date": "2026-10-08", "stance": "neutral", "quote": "lean saying a proof is correct is \"if lean is correct then the proof is correct\".", "excerpt": "I've had discussions around this with theorem prover types (OPLSS, highly recommend for people who can take the two weeks off) The sort of head canon for any of the automated proof systems is that lean saying a proof is correct is \"if lean is correct then the proof is correct\". One can get the temptation to try and prove lean correctness with lean but I believe _that_ is impossible due to the incompleteness theory. _", "context": "", "use_case": "proof verification", "switched_from": "", "story": "Navier\u2013Stokes Lost in Translation"}, {"id": 799420272, "item_id": 49963767, "url": "https://news.ycombinator.com/item?id=49963767", "by": "seanhunter", "date": "2026-10-05", "stance": "recommend", "quote": "I use lean a lot, reasonably effectively", "excerpt": "I use lean a lot, reasonably effectively (although I\u2019m still just getting started) but I\u2019m using it as a proof assistant for mathematics. The background that is actually useful for understanding how lean works and most \u201cmathematical\u201d lean use cases is dependent type theory and homotopy type theory. So people who really want to go deep on lean often recommend the HoTT book (https://homotopytypetheory.org/book/) but th", "context": "mathematics user, still getting started", "use_case": "proof assistant for mathematics", "switched_from": "", "story": "Anatomy of a Lean proof for software engineers"}, {"id": 796200192, "item_id": 49762512, "url": "https://news.ycombinator.com/item?id=49762512", "by": "danabramov", "date": "2026-09-19", "stance": "recommend", "quote": "with later picking up Lean by doing Natural Number Game.", "excerpt": "OK this is probably not quite what you meant but I'll shoot: I highly recommend Terence Tao's Analysis textbook (which now also has a Lean counterpart on GitHub). You can skip Chapter 1 (it sets up the motivation but I couldn't answer most questions, which is part of the point). From Chapter 2, it builds up in a somewhat \"dry\" but actually very accessible and methodical way. It is \"mathematical\" but it is \"for people", "context": "", "use_case": "learning proofs", "switched_from": "", "story": "I vibed a proof of Conway's conjecture"}, {"id": 793838288, "item_id": 49614893, "url": "https://news.ycombinator.com/item?id=49614893", "by": "eggy", "date": "2026-09-08", "stance": "neutral", "quote": "Lean is another one I have been playing with for some of the more overall logic proof of the system we are building.", "excerpt": "I've been on this horse for a while now. I've settled on learning Ada/SPARK. Ada 2022 will start feeding a new SPARK 2014 update. Yes, they are both verbose, if you don't like that sort of thing, and don't like Pascal-like syntax. Believe me, I like APL/J/k/uiua/BQN and Forth and ASM. I am usually syntax agnostic as long as the PL and the ecosystem (more important than most think), meet your needs. I tried Rust back ", "context": "Ada/SPARK developer in safety-critical work", "use_case": "logic proofs of system", "switched_from": "", "story": "C*: Unifying Programming and Verification in C (2025)"}, {"id": 793113648, "item_id": 49569603, "url": "https://news.ycombinator.com/item?id=49569603", "by": "henryrobbins00", "date": "2026-09-04", "stance": "neutral", "quote": "using Lean to formally verify automated optimization modeling outputs", "excerpt": "Back in February, I was talking with my PhD advisor about using Lean to formally verify automated optimization modeling outputs. It eventually turned into this paper [1]. It\u2019s been truly incredible to see how much the frontier models have progressed in both autoformalization and automated theorem proving in the last six months. Back in February, it was cool to see them prove the validity of some simple cutting planes", "context": "PhD researcher", "use_case": "formal verification", "switched_from": "", "story": "Formalizing Fermat's Last Theorem"}, {"id": 792292400, "item_id": 49518275, "url": "https://news.ycombinator.com/item?id=49518275", "by": "contubernio", "date": "2026-09-01", "stance": "recommend", "quote": "it is effectively coupled with lean to automate theorem proving and discovery", "excerpt": "As a middle-aged mathematician, AI is provoking a serious crisis among the better mathematicians I know. Many are only half jokingly talking about retiring. We use AI a lot in research already and it's obvious that whoever doesn't will fall behind fast. At the very least it gives access to the full library in a few minutes, serving as a kind of knowledge oracle generally more useful than the expert who ought to be in", "context": "middle-aged mathematician", "use_case": "automated theorem proving", "switched_from": "", "story": "No country for mediocre mathematicians"}, {"id": 788731857, "item_id": 49295741, "url": "https://news.ycombinator.com/item?id=49295741", "by": "antonvs", "date": "2026-08-14", "stance": "neutral", "quote": "Here are a couple of quotes from one of the Lean papers", "excerpt": "You should take a look at \"The Calculus of Constructions\" (1988), which is one of the seminal papers that describes the basis for the Coq (now Rocq) theorem prover: https://www.academia.edu/47789825/The_calculus_of_constructions Here's a very relevant quote from the introduction: > \"The calculus of constructions is a higher-order formalism for constructive proofs in natural deduction style. Every proof is a lambda-ex", "context": "", "use_case": "theorem proving", "switched_from": "", "story": "Tim Gowers: What sort of maths are LLMs good at?"}, {"id": 787480112, "item_id": 49217507, "url": "https://news.ycombinator.com/item?id=49217507", "by": "ur-whale", "date": "2026-08-07", "stance": "neutral", "quote": "An attempt at formalizing in Lean Mochizuki's ITU", "excerpt": "An attempt at formalizing in Lean Mochizuki's ITU and put an end to the controversy produced by a 500 pages \"proof\" that no one can actually understands. Additional information: https://github.com/katobungen/LANA_report_202607 Mochizuki himself has also started a \"skeleton\" formalization attempt of his theory: https://aitpm.github.io/slides/Mochizuki.pdf?utm_source=chatgpt.com Surprisingly enough, no one seem to have", "context": "", "use_case": "formalizing mathematical proofs", "switched_from": "", "story": "Project Lana attempts to formalize hard to understand Mochizuki's IUT in Lean"}, {"id": 786232544, "item_id": 49139534, "url": "https://news.ycombinator.com/item?id=49139534", "by": "estherney", "date": "2026-08-01", "stance": "neutral", "quote": "We want Lean4 (or any other deduction system that we use, for that matter) to be correct", "excerpt": "We want Lean4 (or any other deduction system that we use, for that matter) to be correct, i.e. \"what is a true statement\" and \"what is a derivable statement\" should be the same. \"every statement that can be derived also holds\" is the difficult part to show, and something we refer to as soundness. For some fancy logics, it's not even possible to show, hence the discovered Kernel Soundness Bug in Lean! \"every statement", "context": "graduate student", "use_case": "theorem proving", "switched_from": "", "story": "Postmortem for Kernel Soundness Bug #14576"}, {"id": 785819680, "item_id": 49113730, "url": "https://news.ycombinator.com/item?id=49113730", "by": "Syzygies", "date": "2026-07-30", "stance": "recommend", "quote": "Lean wins for me without considering or using dependent types (for now).", "excerpt": "https://github.com/Syzygies/Compare I spent far too long comparing dozens of languages, only some of which are part of the above project, before switching from Haskell to Lean for a new phase of my math research. Lean wins for me without considering or using dependent types (for now). It is simply a better programming language than any I have seen. This is a critical advantage for those interested in proof. One codes", "context": "math researcher", "use_case": "math research and proofs", "switched_from": "Haskell", "story": "Are We Stuck with Lean?"}, {"id": 785044064, "item_id": 49065254, "url": "https://news.ycombinator.com/item?id=49065254", "by": "m1el", "date": "2026-07-26", "stance": "recommend", "quote": "You don't even need to worry about hallucinations, you merely need to trust Lean core.", "excerpt": "Self-insert time. I spent some time exploring this topic. Here's my thesis: Formal verification was expensive. 20x expensive compared to just developing the software, as the author notes. The cost of finding and developing exploits also was high. That creates an incentive to put software verification aside, since it solves a relatively small problem, at an extremely high cost. We've seen how Mythos has found more vul", "context": "", "use_case": "formal verification proofs", "switched_from": "", "story": "We have proof automation now"}, {"id": 785008128, "item_id": 49063008, "url": "https://news.ycombinator.com/item?id=49063008", "by": "Jhsto", "date": "2026-07-26", "stance": "recommend", "quote": "Nor did the project make use of Batteries or Mathlib which are arguably the one of the strongest motivation for me personally to use Lean4.", "excerpt": "As a meta-comment on the topic, something I have noticed is that there still exists confusion what it means to use theorem provers for projects -- the other day I read a tweet from Paradigm, a crypto-VC now seemingly AI-pilled. Some LP of theirs had made a Lean 4 formalization of the Ethereum's virtual machine. The tweet said this would have cost like $150k in API tokens (\"would have\", as in, I guess they get theirs ", "context": "uses theorem provers for projects", "use_case": "formal proofs", "switched_from": "", "story": "We have proof automation now"}, {"id": 784082336, "item_id": 49005146, "url": "https://news.ycombinator.com/item?id=49005146", "by": "dev_dan_2", "date": "2026-07-22", "stance": "recommend", "quote": "Lean4 might be a good language to check out", "excerpt": "Great tutorial, really enjoyed it! Personally, I think languages that can check very much at compile time in combinations with LLMs have a bright future ahead. Additionally, if one wanted to give Haskell a try, Lean4 might be a good language to check out before, as it is more modern and ticks many of the same boxes (Still has some unique features, and the communities quite a lot). Small feedback: - Great flow, explai", "context": "", "use_case": "formal verification", "switched_from": "", "story": "Introduction to Formal Verification with Lean Part 1"}, {"id": 780095569, "item_id": 48755973, "url": "https://news.ycombinator.com/item?id=48755973", "by": "difc", "date": "2026-07-01", "stance": "compare", "quote": "do you see Z3 as a better fit than lean?", "excerpt": "Moving theorem proving upstream into compilers, sandboxes, and the browser seems like the future when we're dealing with increasingly sophisticated AIs. I'm working on similar formal methods but applied to agent sandboxing; do you see Z3 as a better fit than lean? https://github.com/coproduct-opensource/nucleus", "context": "", "use_case": "", "switched_from": "", "story": "Salt v1.0.0 \u2013 a systems language with Z3 theorem proving in the compiler"}, {"id": 777571552, "item_id": 48598222, "url": "https://news.ycombinator.com/item?id=48598222", "by": "casey2", "date": "2026-06-19", "stance": "recommend", "quote": "I guess this means the whole space is settling around lean?", "excerpt": "I was just looking into this. Found https://github.com/PnVDiscord/software-foundations-lean and some other chatter about the concept, but it wasn't active, lots of sorry in the basic library etc. Oh it's by Benjamin Pierce's team too that inspires much more confidence lol. Ready in fall I'll set a reminder, exciting stuff. I guess this means the whole space is settling around lean? (at least for capital A Academia an", "context": "", "use_case": "proof assistant", "switched_from": "", "story": "Software Foundations is being translated to Lean"}, {"id": 776477296, "item_id": 48529831, "url": "https://news.ycombinator.com/item?id=48529831", "by": "reinitctxoffset", "date": "2026-06-14", "stance": "recommend", "quote": "I only really got serious about `lean4` like six to eight months ago", "excerpt": "I caught the religion on using types in conjunction with LLMs about eighteen months ago, but I only really got serious about `lean4` like six to eight months ago and now I wouldn't even consider using AI assist in software work with a `CIC` proof substrate that has practical C/C++ (and therefore, everything) FFI. We've banned everything from JSON to Python, rewritten `nix` to have a compiler, and almost everything we", "context": "", "use_case": "proofs alongside AI-assisted code", "switched_from": "", "story": "Formal Methods and the Future of Programming"}, {"id": 774805328, "item_id": 48425333, "url": "https://news.ycombinator.com/item?id=48425333", "by": "permute", "date": "2026-06-06", "stance": "recommend", "quote": "that proof is checked automatically by a deterministic system, the lean checker, which we can trust, in constrast to error prone LLMs", "excerpt": "Sure, what the program does is not interesting by itself, neither is that you can use AI to create programs to do polygon intersection. The main feature, that I hope is interesting in this submission, is that the program is formally verified and how I used formal verification together with AI to create it. Formal verification means that a mathematical proof is provided that the program satisfies a specification. And ", "context": "", "use_case": "formal verification of proofs", "switched_from": "", "story": "Show HN: Formally verified polygon intersection \u2013 Opus 4.8 oneshots, prev failed"}, {"id": 764973232, "item_id": 47810827, "url": "https://news.ycombinator.com/item?id=47810827", "by": "tossandthrow", "date": "2026-04-17", "stance": "recommend", "quote": "I love being able to put my brain cells at lean, coq, haskell.", "excerpt": "I love being able to put my brain cells at lean, coq, haskell. All the fun stuff. And have my money job taken care of mostly with agents.", "context": "", "use_case": "theorem proving", "switched_from": "", "story": "I'm Coding by Hand"}, {"id": 762130640, "item_id": 47633165, "url": "https://news.ycombinator.com/item?id=47633165", "by": "smj-edison", "date": "2026-04-03", "stance": "recommend", "quote": "Lean definitely has a lot going for it", "excerpt": "It's interesting to see a lot of formalized proofs gather around Lean (specifically Mathlib). I've in a formal math class right now, so it's a bit weird learning ZFC while messing around with Lean, which is based on dependant types. There's a lot of other proof assistants out there, like Mizar, Isabelle, Metamath, Metamath0, and Coq, each based on different foundations. Metamath0 in particular looks really intriguing", "context": "taking a formal math class", "use_case": "formal proofs", "switched_from": "", "story": "Automatic Textbook Formalization"}, {"id": 756883856, "item_id": 47305241, "url": "https://news.ycombinator.com/item?id=47305241", "by": "yuppiemephisto", "date": "2026-03-08", "stance": "recommend", "quote": "It is integrated with Lean and gets proper typechecking etc which I find helpful.", "excerpt": "I do a form of literate programming for code review to help read AI code. I use [Lean 4](lean-lang.org) and its doc tool [Verso](https://github.com/leanprover/verso/) and have it explain the code through a literate essay. It is integrated with Lean and gets proper typechecking etc which I find helpful.", "context": "", "use_case": "literate code review", "switched_from": "", "story": "We should revisit literate programming in the agent era"}, {"id": 753618851, "item_id": 47101178, "url": "https://news.ycombinator.com/item?id=47101178", "by": "Gehinnn", "date": "2026-02-21", "stance": "recommend", "quote": "I have a single instruction file telling the AI to always run \"lake build ./lean-file.lean\" to get\n feedback.", "excerpt": "Here is a session that I just had with AI: https://gist.github.com/hediet/e3569a7c6b4b7c4f7d4a7db4101047de (summarized by AI). And here are some examples of the different philosophies of AI proofs and human proofs: https://gist.github.com/hediet/e3569a7c6b4b7c4f7d4a7db4101047de#file-2_human_vs_ai-lean I use VS Code in a beefy Codespace, with GitHub Copilot (Opus 4.5). I have a single instruction file telling the AI t", "context": "works on VS Code", "use_case": "proof-driven AI development", "switched_from": "", "story": "Lean 4: How the theorem prover works and why it's the new competitive edge in AI"}, {"id": 753596560, "item_id": 47099785, "url": "https://news.ycombinator.com/item?id=47099785", "by": "SteveJS", "date": "2026-02-21", "stance": "neutral", "quote": "I am using lean as part of the prd.md description handed to a coding agent.", "excerpt": "I am using lean as part of the prd.md description handed to a coding agent. The definitions in lean compile and mean exactly what I want them to say. The implementation i want to build is in rust. HOWEVER \u2026 I hit something i now call a McLuhen vortex error: \u201cWhen a tool, language, or abstraction smuggles in an implied purpose at odds with your intended goal.\u201d Using Lean implies to the coding agent \u2018proven\u2019 is a perva", "context": "", "use_case": "formal definitions for coding agent", "switched_from": "", "story": "Lean 4: How the theorem prover works and why it's the new competitive edge in AI"}, {"id": 745055600, "item_id": 46565975, "url": "https://news.ycombinator.com/item?id=46565975", "by": "tetha", "date": "2026-01-10", "stance": "recommend", "quote": "I'd recommend to check out the lean games[1].", "excerpt": "As the sibling comment says, in my experience, the difficulty of formalizing the problem varies greatly between different areas. Probability theory is another notorious field in which modelling a problem correctly can be very subtle and difficult. On the other hand, many problems in number theory and discrete structures tend to be rather simple to formalize. If you want to take your own look at that, I'd recommend to", "context": "", "use_case": "learning to formalize problems", "switched_from": "", "story": "AI solves Erdos problem #728 (Terence Tao mathstodon post)"}, {"id": 741191248, "item_id": 46324453, "url": "https://news.ycombinator.com/item?id=46324453", "by": "randomtoast", "date": "2025-12-19", "stance": "neutral", "quote": "I have been following recent progress in the formalization of mathematical proofs in Lean", "excerpt": "I have been following recent progress in the formalization of mathematical proofs in Lean, particularly in the context of large language models. One prominent advocate of this approach is Terence Tao, who regularly writes about developments in this area. From a programmer's perspective, this puts up an interesting parallel. Models such as Sonnet or Opus 4.5 can generate thousands of lines of code per hour. I can revi", "context": "programmer", "use_case": "formal proofs", "switched_from": "", "story": "From Zero to QED: An informal introduction to formality with Lean 4"}, {"id": 740724544, "item_id": 46295284, "url": "https://news.ycombinator.com/item?id=46295284", "by": "yuppiemephisto", "date": "2025-12-16", "stance": "recommend", "quote": "", "excerpt": "I vibe code extremely extensively with Lean 4, enough to run out 2 claude code $200 accounts api limits every day for a week. I added LSP support for images to get better feedback loops and opus was able to debug https://github.com/alok/LeanPlot. The entire library was vibe coded by older ai. It also wrote https://github.com/alok/hexluthor (a hex color syntax highlighting extension that uses lean\u2019s metaprogramming an", "context": "vibe codes extensively with Lean", "use_case": "vibe coding with proofs", "switched_from": "", "story": "AI will make formal verification go mainstream"}]}