← All stories
● Covered by 1 source · 1 reportMedium impact1 neutral

Lean Kernel Soundness Bug #14576 Fixed After AI-Assisted "Disproof" of Collatz Conjecture

🔄 Updated 1d ago
New to BrevFeed? We gather this story from every outlet covering it into one summary — ranked by real-world impact, not just the latest headline — so you never miss what matters. What is BrevFeed? →

Key points

  • Lean kernel bug #14576 was reported and fixed on July 28.
  • The bug allowed proofs of False via metaprogramming and nested inductive types.
  • An AI-assisted "disproof" of the Collatz conjecture exposed the flaw.
  • New patch releases for Lean have been issued to address the bug.

Discovery and Fix of Kernel Bug

A soundness bug, identified as #14576, in the Lean theorem prover's kernel was reported and subsequently fixed during the week of July 27. The issue gained visibility across various platforms, including Zulip and social media. The fix was implemented swiftly, within an hour of the bug's report, and new patch releases are now available.

How the Bug Was Exploited

On July 25, Ramana Kumar published a repository containing an AI-assisted "disproof" of the Collatz conjecture. This proof was not valid because it exploited the kernel bug. The bug specifically involved the kernel's handling of nested inductive types, where phantom parameters could disappear, allowing an ill-typed argument to be accepted as a proof of False. The vulnerability was only accessible through metaprogramming, as the frontend typically checks arguments and prevents such issues.

Nanoda's Role and Coincidental Bugs

The original Collatz repository also passed a week-old version of nanoda, an independent Lean kernel implemented in Rust. It was discovered that two distinct bugs were involved: the official Lean kernel's missing check in nested inductive type support, and a separate bug in nanoda where it did not verify the type name in a projection node. The nanoda bug was reported and fixed a week before the Lean kernel bug was reported. This situation highlights that while independent checking remains effective, users need current versions of both the main kernel and external checkers to ensure soundness.

Impact and Resolution

The kernel bug is an implementation flaw, not a fundamental hole in Lean's meta-theory. The rapid identification and resolution of the bug, along with the release of new patch versions, reinforce the integrity of the Lean theorem proving environment. Users of lean4lean are also affected by this kernel bug due to its handling of inductives, necessitating updates to ensure continued reliability.

✨ This summary was generated by AI from the outlets' reporting listed below. It is not independently verified and may contain errors — check the original sources. How BrevFeed works →

The daily brief

One email each morning: the day's tech stories, clustered across outlets and summarized. No account needed.

One email a day. Unsubscribe in one click, any time.

Today's brief

Spend a few minutes, get the whole day. Every topic's top stories in one hands-free rundown — listen, watch, or read the transcript.

~7 min · 6 stories · Aug 15

▶ Play today's brief Listen on Spotify

New every morning, and the back catalogue is archived by date.

Reporting from

A soundness bug in the Lean theorem prover's kernel was reported and fixed on July 28, after an AI-assisted "disproof" of the Collatz conjecture exploited it. The bug allowed the kernel to accept a proof of False due to incorrect handling of nested inductive types, but was only reachable through metaprogramming. This fix ensures the reliability of proofs generated within the Lean ecosystem, particularly for users relying on external checkers.