Re-proving native_decide facts in Lean's kernel: a study of 16 public packages and a converter

Lean's native_decide proves a decidable proposition by running compiled code and records the result as an axiom, which Mathlib forbids and which lake check and Comparator in Lean 4.35, as well as the independent proof checkers, reject. NativeTrust re-proves such recorded facts in Lean's kernel, with only the standard axioms and without editing the projects that contain them. Where a definition blocks kernel evaluation and a version proved equal to it is available, such as a fuel-indexed form of well-founded recursion, the converter evaluates a copy that uses it and proves the copy equal to the original, usually by congruence. Of 52,821 native facts in 16 public packages, 98.0% were converted in our study. Three packages account for most of the facts, and without them the rate is 65.9%. Nearly every converted fact needed nothing beyond plain kernel evaluation. The failures come mostly from string processing at check time and from resource limits, which were usually reached in the converter's own search for ways to split a check rather than in the kernel. For projects that keep the tactic, a single import and a source rewriter remove the native axioms that the kernel can prove within a budget.

Authors

Publication Details

Journal
Zenodo (CERN European Organization for Nuclear Research)
Published
2026-10-27
DOI
https://doi.org/10.5281/zenodo.23628413
Primary Topic
Logic, programming, and type systems
Type
preprint
Controls
|||
ALL TIME
JAN
FEB
MAR
APR
MAY
JUN
JUL
AUG
SEP
OCT
preprint

Re-proving native_decide facts in Lean's kernel: a study of 16 public packages and a converter

Tejasvi Singh Tomar
5 links
Zenodo (CERN European Organization for Nuclear Research)
Logic, programming, and type systems
preprint

Re-proving native_decide facts in Lean's kernel: a study of 16 public packages and a converter

Tejasvi Singh Tomar
preprint en

Abstract

Lean's native_decide proves a decidable proposition by running compiled code and records the result as an axiom, which Mathlib forbids and which lake check and Comparator in Lean 4.35, as well as the independent proof checkers, reject. NativeTrust re-proves such recorded facts in Lean's kernel, with only the standard axioms and without editing the projects that contain them. Where a definition blocks kernel evaluation and a version proved equal to it is available, such as a fuel-indexed form of well-founded recursion, the converter evaluates a copy that uses it and proves the copy equal to the original, usually by congruence. Of 52,821 native facts in 16 public packages, 98.0% were converted in our study. Three packages account for most of the facts, and without them the rate is 65.9%. Nearly every converted fact needed nothing beyond plain kernel evaluation. The failures come mostly from string processing at check time and from resource limits, which were usually reached in the converter's own search for ways to split a check rather than in the kernel. For projects that keep the tactic, a single import and a source rewriter remove the native axioms that the kernel can prove within a budget.

Zenodo (CERN European Organization for Nuclear Research)
Logic, programming, and type systems
AI Navigator

Ask Laika to Summarize, Analyze, and Connect papers live on the map.

Summarize Papers & Methodologies

Extract key findings, datasets, and comparative methods across publications.

Benchmark Rankings & Visual Analytics

Rank top research institutions, authors, funders, topics, and journals by Field-Weighted Citation Impact (FWCI) and paper volume with instant charts.

Connect Distant Disciplines

Bridge topological clusters on the map to find hidden collaborative intersections.

Laika access coming soon