Identifier
F:ml430-int-fib-of-odd-66560495
Proof route
kernel-lean
External status
proved
Axiom footprint
Empty

Recorded description

The proposition declared as `Int.fib_of_odd` in the pinned Mathlib v4.30 source.

Formal statement
∀ {n : ℤ}, Odd n → Int.fib n = ↑(Nat.fib n.natAbs)

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. Multiplication on the integers Multiplication distributes over Multiplying an integer by one i Multiplying by negative one is Int.Odd n := Nat.Odd (natAbs n) Multiplying an integer by one o The successor case of integer e [generated] kernel theorem Nat. Current fact Mathlib v4.30 source propositio
10 direct dependencies 1 direct dependents Graph shows the first 8 on each side.

Evidence

kernel-Int.fib_of_odd

Kind
kernel-term
Status
checked

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

int_theorem_inventory lists every Declaration::Theorem in the integer prelude with its canonical type; the grep asserts the exact tab-anchored name. --release is MANDATORY: this binary also builds creal/complex/cpoint, which overflow the default debug thread stack.

footprint-Int.fib_of_odd

Kind
exhaustive-enumeration
Status
checked

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

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

Re-measured on this tree: integer trusted surface = 0. That bounds every declaration in the integer environment, including Int.fib_of_odd. --release is MANDATORY here.

evaluation-Int.fib_of_odd-both-signs

Kind
witness-replay
Status
checked

Supports: fib_of_odd instantiated at a concrete odd index of EACH sign: fib 3 = 2 (Nat.fib 3 = 2, and Odd 3 witnessed by 1) and fib (negSucc 2) [= fib (-3)] = 2, reusing the SAME Nat.Odd 3 witness at the opposite constructor -- confirming the negSucc branch's sign-cancellation ((-1)^m = 1 for even m, transported from Nat.Even m's witness) actually fires, not merely that the ofNat branch's free reduction does.

Checker command
cargo test -p axeyum-lean-kernel --lib int_prelude::int_prelude_tests::fib_of_odd_applies_at_a_concrete_odd_index_of_each_sign 2>&1 | grep -c '^test result: ok\. 1 passed'
Evidence notes

crates/axeyum-lean-kernel/src/int_prelude/int_prelude_tests.rs. The suite must be run with an explicit test-name filter and a NONZERO pass count confirmed -- `cargo test --lib int_prelude::` (bare form) substring-matches into an unrelated ~148s creal_point suite per this repository's own documented gotcha.

coverage-Int.fib_of_odd

Kind
witness-replay
Status
checked

Supports: int_prelude_tests.rs's every_int_declaration_is_checked_and_axiom_free asserts, against the ENVIRONMENT rather than a hand-maintained list, that every live Int.* Definition/Theorem (this one included) is listed in derived_laws/derived_lemmas/asserted_laws/definition_names and carries an empty axiom footprint.

Checker command
cargo test -p axeyum-lean-kernel --lib int_prelude::int_prelude_tests::every_int_declaration_is_checked_and_axiom_free 2>&1 | grep -c '^test result: ok\. 1 passed'
Evidence notes

Guards against the class of gap CLAUDE.md documents repeatedly: a Definition/Theorem live in the prelude but absent from every hand-maintained list, which would otherwise receive no axiom-footprint check at all.

Provenance

{
  "date": "2026-08-28",
  "established_by": "axeyum-lean-kernel build_int_prelude (crates/axeyum-lean-kernel/src/int_prelude/fibonacci.rs, declare_fib_of_odd)",
  "source": "canonical type read via int_theorem_inventory's own output (cargo run -q --release -p axeyum-lean-kernel --example int_theorem_inventory), which prints one row per Declaration::Theorem in the integer prelude with kernel.render_lean(declaration.ty()) as the last field. That row was grepped and copied verbatim into formal.statement, replacing the earlier statement-only lean4-surface extraction.",
  "prior_art": [
    {
      "who": "the Mathlib contributors",
      "what": "the theorem declaration `Int.fib_of_odd`",
      "where": "mathlib4 commit c5ea00351c28e24afc9f0f84379aa41082b1188f (v4.30.0)",
      "year": 2026,
      "attribution": "the proposition statement was read from the pinned statement-only inventory; the proof PRODUCED here is this kernel's own construction (F:int-odd's natAbs-based Odd, plus Nat.even_iff_odd_succ, plus the Weierstrass-style pow(-1)^m=1 induction over the k+k witness shape), not a transcription of Mathlib's tactic proof, which was never consulted."
    }
  ]
}