Identifier
F:nat-dvd-two-pow-mul-classify
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 `Nat.dvd_two_pow_mul_classify` is a `Declaration::Theorem` admitted into the environment by `build_nat_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 Nat.dvd_two_pow_mul_classify SAYS has not been supplied, because a generator cannot supply one honestly -- see `notes`.

Formal statement
theorem Nat.dvd_two_pow_mul_classify : ((x0 : AxNat) -> ((x1 : AxNat) -> ((x2 : And (AxNat.le (AxNat.succ (AxNat.succ AxNat.zero)) x1) (((x2 : AxNat) -> ((x3 : AxNat.dvd x2 x1) -> Or (Eq.{1} AxNat x2 (AxNat.succ AxNat.zero)) (Eq.{1} AxNat x2 x1))))) -> ((x3 : Not (AxNat.dvd x1 (AxNat.succ (AxNat.succ AxNat.zero)))) -> ((x4 : AxNat) -> ((x5 : AxNat.dvd x4 (AxNat.mul (AxNat.pow (AxNat.succ (AxNat.succ AxNat.zero)) x0) x1)) -> Or (Exists.{1} AxNat (fun (x6 : AxNat) => And (AxNat.le x6 x0) (Eq.{1} AxNat x4 (AxNat.pow (AxNat.succ (AxNat.succ AxNat.zero)) x6)))) (Exists.{1} AxNat (fun (x6 : AxNat) => And (AxNat.le x6 x0) (Eq.{1} AxNat x4 (AxNat.mul (AxNat.pow (AxNat.succ (AxNat.succ AxNat.zero)) x6) 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 Nat. The natural gcd divides its fir The natural gcd divides its sec <= on the naturals is antisymme A divisor of a positive natural <= is preserved by successor on <= on the naturals is transitiv Multiplication on the naturals Current fact
15 direct dependencies 0 direct dependents Graph shows the first 8 on each side.

Evidence

kernel-Nat.dvd_two_pow_mul_classify

Kind
kernel-term
Status
checked

Supports: Nat.dvd_two_pow_mul_classify 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 -- Nat.dvd_two_pow_mul_classify 2>/dev/null | grep -cE '^Nat\.dvd_two_pow_mul_classify[[: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-Nat.dvd_two_pow_mul_classify

Kind
exhaustive-enumeration
Status
checked

Supports: axiom_footprint: [] -- the nat prelude's trusted surface is empty, which bounds Nat.dvd_two_pow_mul_classify.

Checker command
cargo run -q --release -p axeyum-lean-kernel --example nat_axiom_inventory -- --require-axiom-free nat
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 nat surface bounds every declaration in it, including Nat.dvd_two_pow_mul_classify. 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-27",
  "curation": "generated-unreviewed",
  "generated_by": "scripts/gen-kernel-facts.py",
  "established_by": "axeyum-lean-kernel build_nat_prelude (crates/axeyum-lean-kernel/src/nat_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."
}