Identifier
F:creal-two-le-pi
Proof route
kernel-lean
External status
proved
Axiom footprint
Empty

Recorded description

le two pi. piHalfSeriesPartial 1 is add zero (piHalfTerm 0), which delta-iota-reduces to CReal.one's own Rat.mk (Rat.add Rat.zero (natDivSucc 1 0) normalises to 1/1), so CReal.le_refl at one type-checks against le one (sumRange piHalfTerm 1) with no rewrite -- the exact analogue of how CReal.two_le_e reads expSeriesPartial 2 as two. Every later partial sum is at least as large (CReal.sumRange_mono_outer at the nonnegative piHalfTerm), so CReal.converges_lower_bound_shift at shift 1 gives 1 <= piHalf, and scaling by two gives 2 <= pi. Registered alongside the sharper F:creal-three-le-pi because it is FREE -- it forms no rational larger than 1, whereas the sharper bound is the entire measured cost of this family on the prelude build.

Formal statement
theorem CReal.twoLePi : CReal.le (CReal.ofRat (Rat.normalize (Int.ofNat (AxNat.succ (AxNat.succ AxNat.zero))) (AxNat.succ AxNat.zero) (AxNat.le.refl (AxNat.succ AxNat.zero)))) CReal.pi

Dependencies

The graph shows direct ledger edges. Follow a node to open its artifact page.

Direct dependencies appear to the left. The current fact is in the center. Facts that depend directly on it appear to the right. pi is constructed as a total, a [generated] kernel theorem CRea CReal.Equiv is reflexive The order on the constructed re The order on the constructed re The order on the constructed re Constructed-real order is prese One is a right multiplicative i Current fact
13 direct dependencies 0 direct dependents Graph shows the first 8 on each side.

Evidence

kernel-CReal.twoLePi

Kind
kernel-term
Status
checked

Supports: CReal.twoLePi is admitted by the trusted kernel gate with the type recorded in formal.statement.

Checker command
cargo run -q --release -p axeyum-lean-kernel --example theorem_dependency_inventory -- twoLePi 2>/dev/null | grep -cE '^CReal\.twoLePi[[:space:]]'
Evidence notes

build_creal_prelude admits this theorem through the trusted Kernel::add_declaration gate. theorem_dependency_inventory exits non-zero for a named filter matching nothing; grep -c (never -q) both consumes the pipe and asserts the exact tab-anchored line is present. ONE NAME PER INVOCATION: this tool silently discards every name argument after the first. --release is MANDATORY.

footprint-CReal.twoLePi

Kind
exhaustive-enumeration
Status
checked

Supports: axiom_footprint: [] -- the creal prelude's trusted surface is empty, which bounds this declaration

Checker command
cargo run -q --release -p axeyum-lean-kernel --example nat_axiom_inventory -- --include-constructed --require-axiom-free creal
Evidence notes

creal: axiom=0 opaque=0 quotient=0 total_trusted=0, exits 0 printing 'ok: creal trusted surface = 0'. That bounds every declaration in the creal environment, including this one. --require-axiom-free <name> errors for a prelude never built by this run rather than silently passing on zero rows. --release is MANDATORY: this tool builds creal/complex/cpoint, which overflow the default debug thread stack. Independently re-measured this session by kernel_declaration_projection, whose footprint-size column reads 0 for all fourteen CReal.pi* declarations.

Provenance

{
  "date": "2026-08-31",
  "established_by": "axeyum-lean-kernel build_creal_prelude (crates/axeyum-lean-kernel/src/creal/pi.rs, declare_pi_family)",
  "source": "canonical type and axiom-footprint size read from kernel_declaration_projection --release on this tree (the creal-prelude row), not from source text or a doc comment."
}