Identifier
F:ml430-int-gcd-div-5e01872f
Proof route
kernel-lean
External status
proved
Axiom footprint
Empty

Recorded description

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

Formal statement
∀ {a b c : ℤ}, c ∣ a → c ∣ b → (a / c).gcd (b / c) = a.gcd b / c.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. Adding zero to an integer is th [generated] kernel theorem Int. [generated] kernel theorem Int. [generated] kernel theorem Int. [generated] kernel theorem Int. [generated] kernel theorem Int. [generated] kernel theorem Int. [generated] kernel theorem Int. Current fact
26 direct dependencies 0 direct dependents Graph shows the first 8 on each side.

Evidence

kernel-Int.gcd_div

Kind
kernel-term
Status
checked

Supports: The proposition declared as `Int.gcd_div` in the pinned Mathlib v4.30 source.

Checker command
cargo test -p axeyum-lean-kernel --lib int_prelude::
Evidence notes

`Int.gcd_div` in `crates/axeyum-lean-kernel/src/int_prelude/gcd.rs` (`declare_gcd_div`). Mirrors Mathlib v4.30's `Int.gcd_div` (`alias gcd_div := gcd_ediv`, `Mathlib/Data/Int/GCD.lean`) exactly: Lean 4 core's `Int.gcd_ediv` (`Init.Data.Int.Gcd`) states the same proposition over `/`, and core's own `instance : Div Int` binds `/` to `Int.ediv` "for compatibility with SMT-LIB" (`Init.Data.Int.DivMod.Basic`) -- the SAME division this development's `Int.ediv` matches bit for bit (verified against the pinned toolchain source, not inferred). This is a same-definition mirror (honest flip), not a restatement of a different proposition, and it carries NO restriction on `c`'s sign or `c = 0`, matching Mathlib's own unrestricted hypotheses (`c ∣ a`, `c ∣ b`) exactly -- `c = 0` is proved here as a genuine degenerate case, not excluded. Proved by mutual divisibility (Bezout on `a,b` and on `a/c,b/c`, entirely through `natAbs` identities with no case split on `c`'s sign needed for the algebra itself), NOT via Lean core's own route through `Nat.gcd_div`/`Nat.gcd_mul_left` -- neither exists in this development and either would need a fresh strong-induction principle over `Nat.gcd`'s well-founded recursion. `int_prelude::` sweep: 45 -> 47 (one bridge lemma `Int.emod_eq_zero_iff_dvd_general` plus this theorem).

footprint-Int.gcd_div

Kind
exhaustive-enumeration
Status
checked

Supports: axiom_footprint: [] -- this theorem's trusted closure is empty

Checker command
test "$(cargo run --release -q -p axeyum-lean-kernel --example theorem_axiom_footprint -- Int.gcd_div 2>/dev/null | /usr/bin/grep -xFc $'integer\tInt.gcd_div\t0\t')" -ge 1
Evidence notes

The matched row is `integer<TAB>Int.gcd_div<TAB>0<TAB>` with an EMPTY trailing footprint column, so a nonzero footprint or an absent declaration both give a count of 0 and fail. Uses `/usr/bin/grep` explicitly (not the interactive `ugrep` alias) and ANSI-C-quoted literal tabs, per this repository's own grep-dialect gotcha. Run `--release`: in debug, building the full constructed environment stack-overflows, which is a resource limit and not a fact about this theorem.

Provenance

{
  "date": "2026-08-18",
  "established_by": "the `int-gcd-div` lane, completing the `int-emod-negative` lane's two landed sign-general division-algorithm lemmas (`Int.emod_natAbs_bound`, `Int.ediv_emod_unique_general`) with a third bridge lemma (`Int.emod_eq_zero_iff_dvd_general`) and the mutual-divisibility argument for `Int.gcd_div` itself",
  "source": "statement-only extraction of `Int.gcd_div` from Mathlib v4.30.0; no proof value was exposed",
  "prior_art": [
    {
      "who": "the Mathlib contributors",
      "what": "the theorem declaration `Int.gcd_div`",
      "where": "mathlib4 commit c5ea00351c28e24afc9f0f84379aa41082b1188f (v4.30.0)",
      "year": 2026,
      "attribution": "the proposition was read from the pinned statement-only inventory; the proof term and tactic trace were not consulted"
    }
  ]
}