Components

Bishop-style real numbers and constructive analysis

Axeyum's CReal uses Bishop-style regular sequences of rational numbers. Each sequence carries a proved error bound. A setoid keeps those sequences as separate objects and supplies an equivalence relation saying when they denote the same real number. Real-number equality is the defined relation CReal.Equiv.

This choice creates proof obligations throughout the library. Arithmetic must preserve the equivalence relation. Approximation bounds must survive composition. A continuity modulus must supply the input precision needed for a requested output accuracy. The IVT and EVT dependency graphs show how the resulting facts support further analysis.

Axeyum's approximate Intermediate Value Theorem establishes points where a function is as close to zero as requested. Its approximate Extreme Value Theorem establishes points whose values are within the requested error of every value on the interval. Both assume uniform continuity with an explicit modulus. Their recorded proofs have empty axiom footprints.

The named mathlib counterparts establish exact existence in more general settings, with the axiom dependencies listed below. Axeyum's results preserve explicit approximation information under constructive foundations. They do not identify CReal with mathlib's real-number type or recover the classical conclusions unchanged.

Constructed-real implementation · Bishop-setoid design. Lean and mathlib also support constructive mathematics; the comparison concerns these specific developments.

Current ledger

2,971
fact records checked by the validator
2,676
distinct propositions established
267
open facts python3 scripts/validate-facts.py @ 03ae4a3c9, 2026-10-05

Classical and constructive foundations

mathlib supports both constructive and classical mathematics. Its axiom footprint therefore belongs to each declaration, not to the library as a whole. Lean can report that footprint.

Axeyum

The constructed base has no axioms

Axeyum constructs logic, natural numbers, integers, rational numbers, strings, constructive real and complex numbers, and constructive points inside its kernel. The current inventory reports a trusted surface of zero for all 8 packages. None uses propext, Classical.choice, or Quot.sound.

mathlib

Classical analysis can depend on three axioms

At the pinned mathlib commit, the standard intermediate value and compact-extremum declarations listed below each depend on propext, Classical.choice, and Quot.sound. Other mathlib declarations have smaller or empty footprints.

Measured mathlib analysis declarations

DeclarationAxiom footprint
intermediate_value_Icc propext, Classical.choice, Quot.sound
intermediate_value_Icc' propext, Classical.choice, Quot.sound
IsCompact.exists_isMaxOn propext, Classical.choice, Quot.sound
IsCompact.exists_isMinOn propext, Classical.choice, Quot.sound

One integer goal across four routes

RouteAxiom footprint
General ordered-ring proof none
Axeyum constructed Int none
Lean standard Int propext
Lean omega on the same goal propext, Quot.sound

Snapshot 03ae4a3c9 · 2026-10-05. Sources: python3 scripts/validate-facts.py @ 03ae4a3c9, 2026-10-05; nat_axiom_inventory @ a103b3db3, 2026-09-03; docs/mathematics-2026-08/01-decide-vs-certify.md and ADR-0875 @ 03ae4a3c9. mathlib c5ea00351c28e24afc9f0f84379aa41082b1188f; Lean 4.30.0.