๐Ÿ“ Lean 4 vs Rocq (Coq) in 2025: Honest Assessment

๐Ÿ“‚ Type Theory & Formal Verification ๐Ÿ’ฌ Replies: 203 ๐Ÿ‘ Views: 18,847 ๐Ÿ‘ค Started by: LeanPaws ๐Ÿ• Jan 14, 2025 02:37 ๐Ÿ”ฅ HOT lean4 rocq
Page 1 of 9
#1   Lean 4 vs Rocq (Coq) in 2025: Honest Assessment [OP]
LeanPaws โœฆ Theorem Kitty ๐Ÿฑ CORE DEV
Posts: 2,891
Joined: Mar 2021
Rep: +847
online

Okay, I know this thread is going to get spicy and I'm prepared for the flame war. But I genuinely think we need to have a calm, evidence-based discussion about this in 2025 because the landscape has changed substantially and a lot of people are still operating on 2020-era assumptions.

Let me lay out my case for Lean 4 first, and then I expect the usual suspects to come in screaming about CompCert and Ltac.

Why I think Lean 4 has pulled ahead:

  • Mathlib is enormous. As of mid-2025, mathlib had formalized over 210,000 theorems and 100,000 definitions. That's not a library, that's a civilization. Nothing in the Rocq ecosystem comes close to this breadth.
  • Tactic ergonomics. The Lean 4 tactic language is just... nicer to write? simp, ring, linarith, aesop, omega โ€” these compose beautifully. Writing a proof in Lean feels like writing code, not casting ancient incantations.
  • It's also a real programming language. Lean 4 is "fully extensible: users can modify and extend the parser, elaborator, tactics, decision procedures, pretty printer, and code generator." You can write your proof automation IN Lean and it compiles to efficient C.
  • Momentum & AI tooling. DeepSeek-Prover-V2, Leanstral, every major AI theorem proving effort targets Lean 4 first. This is a feedback loop that's going to compound.
  • Universe polymorphism that doesn't make you want to cry. Lean uses a non-cumulative hierarchy, Rocq uses a cumulative one. Both have trade-offs, but Lean's Sort u approach is way more predictable in practice.

Here's a comparison of proving something dead simple โ€” commutativity of natural number addition โ€” to show the ergonomic difference:

LEAN 4
theorem Nat.add_comm (n m : โ„•) : n + m = m + n := by
  induction n with
  | zero => simp
  | succ n ih =>
    simp [Nat.succ_add, ih]

-- Or just: omega

That last comment is not a joke. For most arithmetic goals, omega just closes them. The degree to which Lean 4 can automate grunt work is genuinely remarkable in 2025.

I'm not saying Rocq is dead or bad. It has decades of industrial use and CompCert is still the gold standard for verified compilation. But for doing mathematics in 2025, Lean 4 is where I'd tell anyone to start.

Fight me. ๐Ÿฑ

// "A proof is a proof. What kind of a proof? A good proof." โ€” Lean kernel agrees.
#2   Re: Lean 4 vs Rocq (Coq) in 2025: Honest Assessment
CoqFanatic โœฆโœฆ Proof Engineer ๐Ÿฆ VETERAN
Posts: 5,120
Joined: Aug 2017
Rep: +1,203
online
LeanPaws wrote: for doing mathematics in 2025, Lean 4 is where I'd tell anyone to start.

Oh here we go. I was wondering when we'd get this thread. Let me put on my Rocq hat and push back methodically.

First: conflating "mathematics" with "Mathlib" is a category error.

Rocq has the Mathematical Components (MathComp) library and SSReflect, which has been the backbone of serious formal mathematics for over a decade โ€” the Feit-Thompson formalization (250,000 lines!), the Four Color Theorem proof, Kepler conjecture stuff. These aren't toy proofs.

Second: CompCert. You mentioned it yourself. CompCert is a formally verified C compiler, and it's used in production in aerospace and automotive safety-critical systems. It sees more use in the software industry than Lean, and has been formally verified entirely in Rocq. That's not legacy โ€” that's proven reliability. VST (Verified Software Toolchain) on top of it lets you verify real C programs. Show me the Lean 4 equivalent that's actually deployed anywhere safety-critical.

Third: Ltac vs "Lean 4 tactics."

Yes, Ltac has its issues. Yes, Ltac2 was supposed to fix them and it's... better. But the SSReflect tactic language is genuinely elegant for algebraic reasoning. Here's the Rocq version of your commutativity proof, SSReflect style:

ROCQ / SSReflect
From mathcomp Require Import ssreflect ssrnat.

Lemma addnC_demo : forall (n m : nat),
  n + m = m + n.
Proof.
  move=> n m.
  elim: n => [| n IHn] /=.
  - by rewrite addn0.
  - by rewrite addSn addnS IHn.
Qed.

Notice how move=> and the /= simplification flag compose. SSReflect proofs tend to be shorter and more structured than vanilla Ltac, and MathComp naming conventions mean you can almost guess lemma names.

Fourth: Rocq's foundations are more careful. Rocq's basic theory has a trusted termination checker baked into the kernel. Lean's handling of recursion is NOT part of the trusted code base โ€” it's verified externally. That's a non-trivial trust boundary difference that matters if you're doing safety-critical verification.

I'm not saying "never use Lean 4." For pure math exploration, knock yourself out. But calling it definitively "ahead" is just mathlib hype.

// Rocq (nรฉe Coq): because naming your theorem prover after a rooster was based.
#3   Re: Lean 4 vs Rocq (Coq) in 2025: Honest Assessment
AgdaCat โœฆ Dependent Dreamer ๐Ÿ˜ธ CONTRIBUTOR
Posts: 1,447
Joined: Nov 2019
Rep: +562
offline

Both of you are wrong because neither of you is using Agda.

I'll see myself out.

...

Okay fine, since I'm here: the elephant in the room is that both Lean 4 and Rocq are based on CIC (Calculus of Inductive Constructions), while Agda's type theory is more expressive in certain ways โ€” particularly around universe polymorphism and without the Prop/Set/Type distinction creating weird artifacts.

In Agda you write things like:

AGDA
open import Data.Nat
open import Data.Nat.Properties

-- The proof is literally: refl, from a ring solver
+-comm-demo : (n m : โ„•) โ†’ n + m โ‰ก m + n
+-comm-demo n m = +-comm n m

And you get proper universe-polymorphic definitions that work at any level without needing to sprinkle @[universe_polymorphism] or fiddle with Prop vs Set. The cubical Agda extension gives you actual HoTT with computational univalence.

The Lean 4 vs Rocq debate is basically two people arguing about whether Ford or Chevy is better while I'm driving a Tesla. Not perfect, but a fundamentally different vehicle.

(Library ecosystem: yes, Agda's stdlib is smaller. I know. Please don't @ me.)

// โˆ€ (x : Debate), ยฌ (valid x) โ†’ use Agda
#4   Re: Lean 4 vs Rocq (Coq) in 2025: Honest Assessment
LeanPaws โœฆ Theorem Kitty ๐Ÿฑ CORE DEV
Posts: 2,891
Joined: Mar 2021
Rep: +847
online
CoqFanatic wrote: Show me the Lean 4 equivalent [of CompCert] that's actually deployed anywhere safety-critical.

Fair point on CompCert. I'll concede that. CompCert's production deployment is real and Lean 4 doesn't have an equivalent yet. VST is genuinely impressive for C program verification and Rocq has years of institutional trust there.

But I want to push back on the kernel trust argument. You said Lean's recursion handling isn't part of the trusted code base โ€” that's actually a feature, not a bug! Lean's termination checker is verified against the kernel separately. The kernel stays small (a few thousand lines of C++) which is exactly what you want for high assurance. A smaller TCB is more auditable.

AgdaCat wrote: Both of you are wrong because neither of you is using Agda.

๐Ÿ‘† Predicted this within 30 minutes. Nobody ever said AgdaCat was wrong, just... completely useless for anything with a deadline. When's the last time Agda got a major library update that wasn't someone's PhD thesis? ๐Ÿ˜‚

Okay let me address the SSReflect point seriously though. I actually used SSReflect for about two years before moving to Lean 4. The move=> and elim: syntax is elegant, yes. But once you step outside MathComp's domain โ€” trying to use SSReflect for algebraic geometry or complex analysis โ€” you immediately run into the "setoid hell" problem. Quotienting in Rocq is painful because you're fighting setoids everywhere, whereas Lean's quotient types are built into the kernel.

Here's a real pain point from Rocq that I remember fondly (not):

ROCQ (Ltac โ€” the old way)
(* Trying to work with quotient types in vanilla Rocq... *)
Require Import Setoid Morphisms.

(* You need to prove your function "respects" the equivalence *)
Instance myFunc_proper : Proper (equiv ==> equiv) myFunc.
Proof.
  unfold Proper, respectful.
  intros x y Hxy.
  (* ... 40 more lines of setoid massage ... *)
Qed.

(* In Lean 4, Quotient.lift just WORKS if your function is well-defined *)

The setoid overhead in Rocq is death by a thousand cuts when doing commutative algebra. Lean's quotients by comparison:

LEAN 4
-- Quotient.lift requires a proof of well-definedness, but it's clean
def Quotient.myFunc : Quotient setoid โ†’ ฮฒ :=
  Quotient.lift f (fun a b hab => by
    simp [hab])

-- That's it. No Proper instances. No respectful unfolding.

The cognitive load difference for algebraic work is enormous.

// "A proof is a proof. What kind of a proof? A good proof." โ€” Lean kernel agrees.
#5   Re: Lean 4 vs Rocq (Coq) in 2025: Honest Assessment
IsabelleCat โœฆ HOL Witch ๐Ÿˆโ€โฌ› VETERAN
Posts: 3,334
Joined: Apr 2016
Rep: +991
offline

Nobody has mentioned Isabelle/HOL yet and that tells me everything about the state of this community's institutional memory.

While you all fight about CIC variants, Isabelle/HOL has quietly had:

  • Archive of Formal Proofs (AFP) โ€” thousands of formalized entries covering mathematics and CS theory
  • seL4 microkernel verification โ€” an actual deployed, formally verified OS kernel, verified in Isabelle
  • Sledgehammer โ€” the original "hammer" that calls external ATPs and SMT solvers, still among the best automation out there
  • Isar proof language โ€” structured, human-readable proofs that look closer to mathematical prose than any tactic-based system

An Isar proof looks like:

ISABELLE/HOL (Isar)
theorem add_comm_nat: "(n::nat) + m = m + n"
proof (induction n)
  case 0
  then show ?case by simp
next
  case (Suc n)
  then show ?case by simp
qed

The Isar language forces you to write proofs that are self-documenting. You can read an Isar proof and understand it without running it. Can you say the same for a Lean 4 tactic block that's just simp [*]; omega; aesop?

Yes, Isabelle/HOL is based on HOL (Higher-Order Logic) rather than dependent types, which means you can't express some things as cleanly. But Lean itself is "based on dependent type theory and constructs explicit proofs passed to a trusted small kernel, while Isabelle/HOL is based on higher-order logic and uses the LCF approach" โ€” meaning Isabelle's foundational approach is arguably more conservative and well-understood.

The dark horse is here, and it's wearing a tweed jacket and publishing in the AFP. Just saying. ๐Ÿˆโ€โฌ›

// Isar: because your proof should read like a proof, not a shell script.
#6   Re: Lean 4 vs Rocq (Coq) in 2025: Honest Assessment
CoqFanatic โœฆโœฆ Proof Engineer ๐Ÿฆ VETERAN
Posts: 5,120
Joined: Aug 2017
Rep: +1,203
online
LeanPaws wrote: The setoid overhead in Rocq is death by a thousand cuts when doing commutative algebra.

This is... actually a fair criticism and I'll admit it. Setoid hell is real and it's one of the most-complained-about things in the Rocq ecosystem. The MathComp team has worked around it with their own type hierarchy (the eqType, choiceType, etc. tower), which actually works well within MathComp, but integrating outside libraries is painful.

However โ€” and this is important โ€” Rocq is actively addressing this. The HoTT-Rocq direction is about modeling types as โˆž-groupoids to fix exactly this problem. And the "Coq Coq Correct!" work has formalized the Rocq engine itself, proving metatheoretic properties in Rocq. Lean doesn't have anything like that level of self-formalization of its own metatheory.

On the universe polymorphism argument: Lean uses a non-cumulative hierarchy, Rocq uses a cumulative one. LeanPaws said Lean's is "more predictable" โ€” I'd say that's debatable. Cumulativity means you can always use a proof at a higher universe level without casting. Non-cumulativity means you get tighter type-checking but more explicit universe annotations. Different trade-offs, not obviously better either way.

IsabelleCat wrote: Nobody has mentioned Isabelle/HOL yet and that tells me everything about the state of this community's institutional memory.

Valid. Isabelle/HOL deserves more respect here. Sledgehammer is still the best "call external ATPs" story in any ITP. Lean has exact?, apply?, and Lean-auto, which are getting good, but Sledgehammer with E + Vampire + CVC5 is still a different beast for first-order reasoning tasks.

I'd rank them for different use cases:

  • Pure Mathematics, modern: Lean 4 (Mathlib wins on breadth)
  • Software/Program Verification: Rocq (CompCert, VST, Iris in Rocq) or Isabelle/HOL (seL4)
  • Readability / Teaching: Isabelle/HOL (Isar is genuinely beautiful)
  • Type Theory Research: Agda (Cubical, HoTT, dependent pattern matching)
  • Industrial Automation / AI tooling: Lean 4 (the AI ecosystem is really Lean-focused now)

Maybe the honest assessment is that none of these is universally "better" and the question is ill-posed?

// Rocq (nรฉe Coq): because naming your theorem prover after a rooster was based.
#7   Re: Lean 4 vs Rocq (Coq) in 2025: Honest Assessment
PurrfectTypes โœฆ Cat Formalist ๐Ÿพ MEMBER
Posts: 342
Joined: Jun 2023
Rep: +78
online

First-time poster in a major thread, be gentle ๐Ÿ™

I'm a PhD student who had to pick one of these for their dissertation (formal verification of a distributed consensus algorithm) and I went with Lean 4 about 8 months ago. Here's my ground-level experience:

The good (Lean 4):

  • The VS Code integration with the Lean 4 infoview is genuinely magical. Seeing the proof state update in real time as you type tactics is something you can't un-experience.
  • decide tactic for decidable propositions is amazing โ€” you can just ask Lean to check small finite cases computationally.
  • The omega tactic closed about 40% of my arithmetic obligations automatically. That's not a joke.
  • Mathlib's Finset and Fintype infrastructure is excellent for my distributed systems work.

The rough edges (Lean 4):

  • Build times. lake exe cache get is your friend but a cold build of Mathlib is still painful on anything below 16GB RAM.
  • The error messages when something goes wrong in elaboration can be... cryptic. "Failed to synthesize instance" with a 3-screen stack trace is my Tuesday.
  • Universe polymorphism: when you need it, you really need it, and figuring out the right universe u v incantation takes trial and error.
  • Documentation for the less-traveled parts of Mathlib is sparse. You're often reading source code.

Would I switch to Rocq now? Probably not, sunk cost aside. But if I were doing something closer to program verification I'd seriously reconsider.

Also +1 to IsabelleCat on Sledgehammer. I tried an Isabelle port of one of my smaller lemmas and Sledgehammer closed it in 4 seconds where my Lean proof took an afternoon. The automation gap for first-order reasoning is real.

#8   Re: Lean 4 vs Rocq (Coq) in 2025: Honest Assessment
AgdaCat โœฆ Dependent Dreamer ๐Ÿ˜ธ CONTRIBUTOR
Posts: 1,447
Joined: Nov 2019
Rep: +562
offline
LeanPaws wrote: when's the last time Agda got a major library update that wasn't someone's PhD thesis?

I can't tell if you're insulting Agda or accidentally complimenting it. PhD theses tend to contain more rigorous mathematics than the average Mathlib PR. ๐Ÿ˜ค

But okay fine. Let me be more substantive. The real reason Agda is uniquely positioned (for those who care about foundations):

1. Cubical Agda gives you actual computational univalence.
In HoTT, the Univalence Axiom says that equivalent types are equal. In Lean 4 and Rocq, univalence is an axiom โ€” it's consistent but has no computational content. In Cubical Agda, univalence is a theorem that computes. Your transport along equivalences reduces, your proofs have computational behavior. This is not a minor difference for someone who cares about the computational interpretation of proofs.

2. Sized types for termination.
Agda's sized types let you write coinductive definitions and termination proofs that are structurally natural, without the productivity checker magic that Rocq uses or the termination_by annotations Lean requires.

3. Pattern matching is king.
Agda's dependent pattern matching (with with clauses, dot patterns, etc.) is the most expressive in any mainstream ITP. Writing definitions by pattern matching in Agda feels like writing mathematics directly.

โš ๏ธ COPE BLOCK (click to expand rationalization) Yes, Agda compilation is slow. Yes, the stdlib is small. Yes, half the Agda ecosystem is people's personal repos from 2016 that don't build anymore. I know. I KNOW. But the theory is so clean ๐Ÿ˜ญ

Anyway. Lean 4 > Rocq for most practical purposes in 2025, probably. There I said something useful. Don't @ me.

// โˆ€ (x : Debate), ยฌ (valid x) โ†’ use Agda
#9   Re: Lean 4 vs Rocq (Coq) in 2025: Honest Assessment
FermatWhiskers โœฆโœฆ Number Theorist ๐Ÿฑ VETERAN
Posts: 4,021
Joined: Jan 2018
Rep: +1,522
offline

Jumping in with a number theory / arithmetic geometry perspective.

The reason I migrated from Rocq to Lean 4 in 2023 and haven't looked back: the FLT project. Kevin Buzzard's formalization of Fermat's Last Theorem in Lean 4 is not just a proof engineering achievement โ€” it's reshaping how algebraic number theorists think about formalization. The community building around it is unlike anything I've seen in formal math.

Mathlib's algebraic hierarchy is genuinely impressive. Category theory, sheaves, schemes โ€” it's all there and growing. The structure looks like:

LEAN 4 (Mathlib algebraic hierarchy glimpse)
-- Everything is built on typeclasses, composing naturally
variable {R : Type*} [CommRing R] [IsDomain R]
variable {M : Type*} [AddCommGroup M] [Module R M]

-- Lean figures out the entire typeclass hierarchy automatically
example (f : M โ†’โ‚—[R] M) : f.ker.subtype.range = โŠฅ := by
  exact LinearMap.range_eq_bot.mpr (Submodule.ker_subtype _)

The typeclass synthesis โ€” where Lean automatically figures out that an IsDomain is a NoZeroDivisors, which gives you CancelMonoidWithZero instances โ€” happens silently and correctly. The "typeclass resolution procedure based on tabled resolution" is a genuine engineering achievement that makes Lean usable for complex algebraic reasoning at scale.

MathComp has a similar tower (eqType โ†’ choiceType โ†’ finType etc.) but it's more manual, less discoverable, and the inference is slower for deep hierarchies.

My hot take: by 2026, the Lean/Rocq debate will look like the Linux/BSD debate. Both fine, one has the momentum.

// 3 | FLT โ€” formally, in Lean 4. We're so back.
#10   Re: Lean 4 vs Rocq (Coq) in 2025: Honest Assessment
CoqFanatic โœฆโœฆ Proof Engineer ๐Ÿฆ VETERAN
Posts: 5,120
Joined: Aug 2017
Rep: +1,203
online

Okay. It's 7am. I've been at this for 4 hours. Let me write the post I'll probably regret.

I think Lean 4 has probably won for pure mathematics in 2025. There, I said it.

The Mathlib momentum is real. The AI tooling convergence on Lean is real. The "ACM SIGPLAN Programming Languages Software Award in 2025 for Lean, cited for its significant impact on mathematics, hardware and software verification, and AI" โ€” that's institutional recognition at the highest level.

But I will defend to the last breath:

  • For program verification: Rocq (CompCert + VST + Iris) or Isabelle (seL4) remain the gold standard for anything that flies, drives, or runs a hospital.
  • For foundational robustness: Rocq's kernel + trusted termination checker combination is a more conservative trust basis that I wouldn't trade for ergonomics in safety-critical work.
  • For theory research: Agda still has no equal for HoTT and cubical type theory.

The tactic language debate though... I'll concede that Lean 4's unified tactic framework (where tactics are just Lean 4 macros that anyone can write) is architecturally superior to Ltac. Ltac is essentially a separate dynamically-typed scripting language embedded in Rocq โ€” it's not reflected, it has weird meta-level inconsistencies, and debugging it involves a lot of Set Ltac Debug suffering. Ltac2 fixes a lot of this but it's still bolted on.

In Lean 4, writing a custom tactic is just writing a Lean 4 function that operates on TacticM. It's all one language. That's genuinely elegant.

Alright. I need sleep. Carry on being wrong about Rocq, all of you. ๐Ÿฆ

// Rocq (nรฉe Coq): because naming your theorem prover after a rooster was based.
#11   Re: Lean 4 vs Rocq (Coq) in 2025: Honest Assessment
KernelKitten โœง Lurker No More ๐Ÿฑ MEMBER
Posts: 67
Joined: Sep 2024
Rep: +12
online

Delurking to add something practical that nobody's mentioned: what's it actually like to set up and use day-to-day?

I tried both this year as a newcomer (PhD student, CS, interested in PL theory):

Lean 4 setup: elan + lake new MyProject + add mathlib dependency + lake exe cache get. Honestly pretty smooth. The VS Code extension (lean4) just works. The infoview showing the proof state in a side panel is excellent. Took me about 20 minutes from zero to first working proof.

Rocq setup: opam (if you know what that is...), then choosing between vanilla Rocq, MathComp, or SSReflect setups, then figuring out which editor extension (VsCoq2? Proof General in Emacs?). Getting Coq installed was... a non-trivial task on M1 Mac. Proof General is powerful once you know it but the learning curve is steep. VsCoq2 is getting better but still lags behind the Lean 4 VS Code experience.

For a newcomer in 2025: Lean 4 wins the onboarding experience decisively. The barrier to entry on Rocq is real and was enough to push me toward Lean for my dissertation work. Once you're in the Rocq ecosystem it's fine, but that initial friction matters a lot.

Also: Lean's exact? and apply? tactics that search Mathlib for applicable lemmas are underrated quality-of-life features. You can describe the shape of what you need and Lean will find it. Amazing for beginners and experts alike.

#12   Re: Lean 4 vs Rocq (Coq) in 2025: Honest Assessment
IsabelleCat โœฆ HOL Witch ๐Ÿˆโ€โฌ› VETERAN
Posts: 3,334
Joined: Apr 2016
Rep: +991
offline
CoqFanatic wrote: I think Lean 4 has probably won for pure mathematics in 2025. There, I said it.

CoqFanatic admitting this at 7am is the most dramatic thing to happen on this forum since the HoTT vs Set Theory Great Schism of 2022. Someone screenshot this for the wiki.

I'll add one more Isabelle/HOL point that people consistently underestimate: the Archive of Formal Proofs as a quality standard. Every AFP entry is peer-reviewed. You can't just dump half-formalized stuff in there with sorry placeholders. The result is a library that's smaller than Mathlib but where everything actually compiles and is mathematically rigorous to a higher editorial standard.

Is Isabelle/HOL going to capture the imagination of the 2025 ML-for-theorem-proving crowd? No. The AI systems mostly target Lean because Lean has the data (Mathlib + LeanWorkbook + miniF2F benchmarks). That's a real disadvantage that's probably going to compound.

But for a researcher who wants to formalize something and have it be understood by a mathematician without them needing to know Lean internals, Isar is still the most readable proof language in existence. The proof term isn't buried in tactic state gymnastics โ€” it reads like a proof.

Summary of my position: Isabelle/HOL is the Haskell of theorem provers. Technically excellent, academically respected, will not win the popularity contest, perfectly happy about it. ๐Ÿˆโ€โฌ›

// Isar: because your proof should read like a proof, not a shell script.
#13   Re: Lean 4 vs Rocq (Coq) in 2025: Honest Assessment
LeanPaws โœฆ Theorem Kitty ๐Ÿฑ CORE DEV
Posts: 2,891
Joined: Mar 2021
Rep: +847
online

This has been a remarkably good thread actually. Let me try to synthesize.

I think CoqFanatic's p6 breakdown was fair and I mostly agree with it. The "honest assessment" is not that one system is universally better, but that they occupy different niches with significant overlap:

HONEST 2025 ASSESSMENT (pseudocode)
type UseCase =
  | PureMath             -- winner: Lean 4 (Mathlib)
  | ProgramVerification  -- winner: Rocq (CompCert, VST)
  | SafetyCritical       -- winner: Isabelle (seL4) | Rocq
  | TypeTheoryResearch   -- winner: Agda (Cubical)
  | Teaching            -- winner: Lean 4 (resources) | Isabelle (Isar)
  | AITooling           -- winner: Lean 4 (by a mile)
  | IndustrialMath      -- winner: Lean 4 (trajectory)

let pick_prover (uc : UseCase) : Prover =
  match uc with
  | PureMath | Teaching | AITooling โ†’ Lean4
  | ProgramVerification โ†’ Rocq
  | SafetyCritical โ†’ Isabelle -- or Rocq
  | TypeTheoryResearch โ†’ Agda
  | IndustrialMath โ†’ Lean4 -- for now

The one thing I'll double down on: if you're choosing a first theorem prover in 2025 with no specific application in mind, pick Lean 4. The community, tooling, documentation, and AI assistance have reached a tipping point. You can always migrate later, but you'll learn the concepts fastest in Lean 4 right now.

Thanks for keeping this civil everyone. This is why I love CGPA. ๐Ÿฑ

[Thread continues for 190 more replies on pages 2โ€“9, including a spectacular derail on page 3 about whether Lean 4's classical axioms constitute a moral failing, a Mizar defender who appears briefly on page 5, and CoqFanatic returning on page 7 after sleep to walk back two of their concessions.]

// "A proof is a proof. What kind of a proof? A good proof." โ€” Lean kernel agrees.

โœ๏ธ Post a Reply

You must be logged in to reply. Currently posting as: PurrfectTypes
๐Ÿ‘ค 47 users viewing this thread
12 online now
๐Ÿ’ฌ 203 replies
๐Ÿ‘ 18,847 views
๐Ÿ”– 89 bookmarks
๐Ÿ“‚ Related Threads in Type Theory & Formal Verification
โ–ธ Mathlib hits 210k theorems โ€” what's still missing? (142 replies)
โ–ธ Ltac2 deep dive: is it finally good enough? (67 replies)
โ–ธ Cubical Agda for beginners: where do I even start? (88 replies)
โ–ธ CompCert + VST workflow in 2025 โ€” practical guide (54 replies)
โ–ธ Sledgehammer tricks and tips megathread (201 replies)
โ–ธ [ARCHIVED] The HoTT vs Set Theory Great Schism of 2022 (904 replies) ๐Ÿ”ฅ