Identifier
F:nat-exponent-unique-of-exact-dvd
Proof route
kernel-lean
External status
proved
Axiom footprint
Empty

Recorded description

For naturals a and n and exponents c1 and c2: if a to the c1 divides n while a to the c1 plus one does not, and the same holds at c2, then c1 equals c2.

Formal statement
theorem Nat.exponent_unique_of_exact_dvd : ((x0 : AxNat) -> ((x1 : AxNat) -> ((x2 : AxNat) -> ((x3 : AxNat) -> ((x4 : AxNat.dvd (AxNat.pow x0 x2) x1) -> ((x5 : ((x5 : AxNat.dvd (AxNat.pow x0 (AxNat.succ x2)) x1) -> False)) -> ((x6 : AxNat.dvd (AxNat.pow x0 x3) x1) -> ((x7 : ((x7 : AxNat.dvd (AxNat.pow x0 (AxNat.succ x3)) x1) -> False)) -> Eq.{1} AxNat x2 x3))))))))

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. A power divides a higher power [generated] kernel theorem Nat. <= on the naturals is antisymme Divisibility is transitive Mathlib v4.30 source propositio Current fact Uniqueness of prime factorizati
5 direct dependencies 1 direct dependents

Evidence

kernel-exponent-unique-of-exact-dvd

Kind
kernel-term
Status
checked

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

Checker command
test "$(cargo run -q -p axeyum-lean-kernel --example nat_theorem_inventory -- exponent_unique_of_exact_dvd 2>/dev/null | grep -Ec '^Nat\.exponent_unique_of_exact_dvd[[:space:]]')" -ge 1
Evidence notes

`build_nat_prelude` admits this theorem only through the trusted kernel gate, so a successful build IS the type-check.

footprint-exponent-unique-of-exact-dvd

Kind
instance-pin
Status
checked

Supports: axiom_footprint: [] -- the Nat environment admits no trusted declaration

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

Reports `nat: axiom=0 opaque=0 quotient=0 total_trusted=0` over the FULL trusted surface (Axiom, Opaque and Quotient), not `Declaration::Axiom` alone, and exits non-zero unless the surface is empty. The enumeration is per-environment rather than per-theorem; it bounds this theorem's footprint because a proof cannot depend on a trusted declaration the environment does not contain. Read directly from `Kernel::axiom_footprint` for these ten `Nat.Multiset.*` theorems, `theorem_axiom_footprint` prints footprint size 0 and an empty axiom column for every one.

Provenance

{
  "date": "2026-09-02",
  "established_by": "axeyum-lean-kernel build_nat_prelude",
  "source": "theorem name and canonical type read directly via nat_theorem_inventory, which prints render_lean of the admitted type; declared by `nat_prelude/multiset.rs` (lane nat-multiset, ADR-1520)."
}