Identifier
F:int-prodrange-scaledindexeqpowmulfactorial
Proof route
kernel-lean
External status
Not recorded
Axiom footprint
Empty

Recorded description

MECHANICALLY GENERATED, UNREVIEWED PROSE -- this sentence deliberately makes NO mathematical characterisation of the theorem. What is asserted, and all that is asserted, is this: the kernel declaration `Int.prodRange_scaledIndexEqPowMulFactorial` is a `Declaration::Theorem` admitted into the environment by `build_int_prelude` through the trusted `Kernel::add_declaration` gate, which re-derives its type from its proof term; its type is recorded verbatim in `formal.statement`; and its axiom footprint, as computed by `Kernel::axiom_footprint`, is empty. The authoritative content of this fact is `formal.statement`. A human-readable characterisation of what Int.prodRange_scaledIndexEqPowMulFactorial SAYS has not been supplied, because a generator cannot supply one honestly -- see `notes`.

Formal statement
theorem Int.prodRange_scaledIndexEqPowMulFactorial : ((x0 : Int) -> ((x1 : AxNat) -> Eq.{1} Int (Int.prodRange (fun (x2 : AxNat) => Int.mul x0 (Int.ofNat (AxNat.succ x2))) x1) (Int.mul (Int.pow x0 x1) (Int.factorial x1))))

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. [generated] kernel theorem Int. [generated] kernel theorem Int. Current fact Gauss's lemma (quadratic residu Wilson's theorem split at the h
2 direct dependencies 2 direct dependents

Evidence

kernel-Int.prodRange_scaledIndexEqPowMulFactorial

Kind
kernel-term
Status
checked

Supports: Int.prodRange_scaledIndexEqPowMulFactorial 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 -- Int.prodRange_scaledIndexEqPowMulFactorial 2>/dev/null | grep -cE '^Int\.prodRange_scaledIndexEqPowMulFactorial[[:space:]]'
Evidence notes

Two independent failure modes, so the exit status depends on the finding rather than on the run completing: theorem_dependency_inventory exits non-zero when a NAMED filter matches nothing, and grep -c exits 1 printing 0 when the anchored line is absent. Anchored with [[:space:]], never \t -- in a scripted (GNU) grep \t is a literal t. grep -c rather than grep -q, which would SIGPIPE the producer under pipefail. --release is MANDATORY: this tool builds creal/complex/cpoint, which overflow the default debug thread stack.

footprint-Int.prodRange_scaledIndexEqPowMulFactorial

Kind
exhaustive-enumeration
Status
checked

Supports: axiom_footprint: [] -- the integer prelude's trusted surface is empty, which bounds Int.prodRange_scaledIndexEqPowMulFactorial.

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

--require-axiom-free exits non-zero when the named prelude's trusted surface (Axiom + Opaque + Quotient) is not empty, and errors rather than silently passing for a prelude the run never built. A declaration cannot depend on a trusted declaration the environment does not contain, so an empty integer surface bounds every declaration in it, including Int.prodRange_scaledIndexEqPowMulFactorial. This is a whole-prelude bound, not a per-declaration measurement; the per-declaration figure is the footprint column of kernel_declaration_projection, measured 0 for this row.

Provenance

{
  "date": "2026-08-31",
  "curation": "generated-unreviewed",
  "generated_by": "scripts/gen-kernel-facts.py",
  "established_by": "axeyum-lean-kernel build_int_prelude (crates/axeyum-lean-kernel/src/int_prelude/)",
  "source": "Derived mechanically from the unfiltered emit of `cargo run -q --release -p axeyum-lean-kernel --example kernel_declaration_projection`, which prints one TSV row per declaration whose fields are (prelude, kind, display name, axiom-footprint size, direct type declarations, direct declarations, direct theorems, Kernel::render_lean(declaration.ty())). formal.statement is that last field verbatim; depends_on is the direct-theorem column intersected with this ledger's registered facts; axiom_footprint is the footprint-size column, cross-checked by the whole-prelude nat_axiom_inventory run recorded in the second evidence row. No field was hand-transcribed and no prose was authored."
}