Weekly

News about Lean, the theorem prover and programming language.

The latest, page 6

Verification

ArkLib anchors a growing ecosystem of Lean libraries for verifying SNARKs

ArkLib, a project supported by the Ethereum Foundation, mechanizes the probabilistic security proofs that succinct non-interactive arguments of knowledge (SNARKs) depend on. It gives zk engineers and cryptography researchers machine-checked specifications and executable references for proof systems where a single soundness bug can be catastrophic.

Checked against: lean-lang.org

Lean core

Lean 4 moves deferred docstring checks onto the linter framework

A merged pull request by David Thrane Christiansen adapts Lean's deferred docstring check mechanism to use the linter mechanism, replacing custom CI setup with an interface akin to environment linters and governed by the option linter.doc.deferred. In a breaking change, custom Verso docstring elements now use a two-constructor type.

Checked against: lean4#14206

Papers and events

Gwern Net proposes measuring how Lean code predictability scales for LLMs

Gwern Net's research proposal would measure coding LLM perplexity over growing codebase context to estimate scaling laws of predictability by language. The essay predicts Lean suffers from a very high constant but would have the best scaling exponent, and so would eventually cross over more popular languages such as Python.

Checked against: gwern.net

Lean core

Joachim Breitner adds automatic try? suggestions to Lean at common proof sites

A merged pull request by Joachim Breitner makes Lean suggest try? output for empty by blocks, unsolved goals, and sorry tactics, gated by three options that default to off. It replaces the tactic.tryOnEmptyBy option from an earlier pull request with a different implementation.

Checked against: lean4#13830

Papers and events

Dwarkesh Patel relays idea of AIs forking Mathlib into parallel mathematics

In a post on X, Dwarkesh Patel described Grant's speculation that AIs could fork Mathlib, the Lean library of formalized math concepts and proofs, and build a "parallel math civilization." Dwarkesh Patel wrote that Lean guarantees any new conjectures would be logically valid, and that whether they would be interesting is another matter.

Image: x.com/dwarkesh_sp

Checked against: @dwarkesh_sp on X

AI and formalization

Mistral AI lists Leanstral 1.5, an updated Lean 4 proving model

Mistral AI's documentation lists Leanstral 1.5, dated June 30, 2026, as an updated Lean 4 formal proof engineering model optimised for automated theorem proving and autoformalization. The Apache 2.0 model has 119B total parameters (6.5B active) and a 256k context, though the page marks it deprecated with a deprecation date of 9/29/2026.

Leanstral 1.5 - Mistral AI
Image: docs.mistral.ai

Checked against: docs.mistral.ai

Lean core

Wojciech Różowski opens Lean pull requests for stateful linters and unusedVariables hint

A now-closed pull request adds stateful linters: command linters that thread state from one command to the next, so a linter can accumulate information across a file. A merged pull request adds a hint to the unusedVariables linter, suggesting to rename the unreferenced name with an underscore.

Checked against: lean4#14225lean4#14259

Papers and events

Leo de Moura gives AWS talk on Lean's use across AWS

In a June 2026 talk, Leo de Moura (Senior Principal Applied Scientist, AWS, and Chief Architect, Lean FRO) described AWS projects built with Lean, including Cedar, a verified authorization policy language, SampCert, verified differential privacy, and Waimea, a tensor compiler for Trainium. The slides are written in Verso.

Checked against: leodemoura.github.io

Lean core

Henrik Böving adds cost metrics for grind's e-matching graph

A merged Lean pull request by Henrik Böving adds optional diagnostics, enabled via grind.ematch.diagnostics, that flag instances with many direct follow-up children and instances that participated in a large, transitive closure of follow-up instances. The metric is based on the cost heuristic of smt-scope, and thresholds are configurable.

Checked against: lean4#14118

Lean core

David Thrane Christiansen adds extensible Markdown rendering for Verso docstrings

A merged Lean pull request lets custom elements in Verso docstrings define their own Markdown rendering, which is used for LSP hovers and for legacy clients that don't directly support Verso. Example uses include including one docstring in another and showing all currently-available instances of a class.

Checked against: lean4#14115

Lean core

Sebastian Graf renames mvcgen' to vcgen and adds frame support

Sebastian Graf merged pull requests renaming the experimental Sym-based mvcgen' tactic to vcgen, speeding up its matching, and adding a frames clause. A new @[frameproc] attribute lets a program type register how it frames a resource, so cost budgets, separation-logic footprints, and trace invariants frame through the same mechanism.

Checked against: lean4#14195lean4#14146lean4#14167lean4#14134

Lean core

Sebastian Ullrich speeds up Lean's test suite with shared header snapshots

A merged pull request lets about 389 elab tests that use import Lean reuse one pre-built snapshot, cutting CPU time by 26.0% (2222 s to 1645 s), with CI test wall-clock speedups of about 10-40% depending on platform. Related pull requests speed up .olean and snapshot serialization, one cutting snapshot save time by about 28%.

Checked against: lean4#14077lean4#14109lean4#14122

Lean core

Sebastian Graf ports mvcgen' to Std.Internal.Do and extends it to embedded languages

Sebastian Graf merged a port of the experimental mvcgen' tactic to the new Std.Internal.Do meta theory, where loop invariants no longer restate the exceptional postcondition. A follow-up extracts a WP type class from WPMonad, enabling verification of deeply embedded languages, tested on an IMP language whose WP instance has no accompanying WPMonad.

Checked against: lean4#14080lean4#14015

Lean core

Henrik Böving makes Lean's get_task_state_core thread safe

A merged pull request by Henrik Böving changes the m_imp field of lean_task to an atomic. get_task_state_core read m_imp to check whether a task had finished before taking the mutex, so that memory access was undefined behavior (UB).

Checked against: lean4#14108

Papers and events

Benjamin Pierce seeks contributors to translate Software Foundations to Lean

Software Foundations, a series of textbooks on formal proof and foundations of programming languages formalized in Rocq, is being translated to Lean for Fall courses at Penn and elsewhere. Benjamin Pierce says the team is ready to add a few people, especially educators, and will need alpha-testers later in the summer.

Checked against: leanprover.zulipchat.com

Lean core

Lake now deduplicates artifact transfers to and from its cache

A pull request by Mac Malone, merged into leanprover/lean4, has Lake deduplicate artifacts by their hash when uploading or downloading to the cache (for example in lake cache put or lake cache get). The change fixes possible errors when curl was asked to transfer to the same file or URL multiple times.

Checked against: lean4#14060

Lean core

Lean 4.31.0 released with new do loops, Lake linting, mvcgen'

Lean 4.31.0 lands 305 changes, including while let loops in do blocks, a built-in Lake linting framework, stricter transparency handling in definitional-equality checking, and the experimental mvcgen' tactic, which can outperform mvcgen by over 100x on some synthetic benchmarks. The bundled toolchain moves from LLVM 19 to LLVM 22.

Checked against: v4.31.0 release noteslean4 v4.31.0

Lean core

Wojciech Różowski adds the cbv tactic to grind's interactive sym mode

A merged Lean 4 pull request by Wojciech Różowski makes the cbv tactic available inside grind's interactive sym => mode. The tactic reduces the goal using call-by-value evaluation, supports at locations for hypotheses, and closes equation goals via refl when reduction finishes the proof.

Checked against: lean4#13971

Papers and events

Kevin Hartnett publishes The Proof in the Code, a book about Lean

Quanta Books published The Proof in the Code on June 9, 2026, in which Kevin Hartnett tells the story of the birth and rise of Lean, from a bug-checking program at Microsoft Research developed by Leo de Moura to its adoption by mathematicians and tech firms.

Checked against: amazon.com

Lean core

Sofia Rodrigues's pull request linking OpenSSL merged into Lean 4

Pull request leanprover/lean4#12030, "feat: link OpenSSL" by Sofia Rodrigues, was merged on 2026-06-05. The pull request was opened on 2026-01-16 and describes its change as linking OpenSSL.

Checked against: lean4#12030

Verification

Peter O'Hearn seeks a postdoc for Separation Logic in Lean at Meta

Peter O'Hearn is hiring a postdoc in the Meta London office who will work closely with Peter O'Hearn and others in the new AI Verification team, collaborating across Meta Superintelligence Labs and possibly building on lean/CSLib, Iris-Lean and loom/velvet.

Image: linkedin.com

Checked against: LinkedIn post

More news