Identifier
F:int-gcd-comm
Proof route
kernel-lean
External status
proved
Axiom footprint
Empty

Recorded description

For all integers a and b, gcd(a, b) = gcd(b, a). (The integer gcd returns a natural number.)

Formal statement
theorem Int.gcd_comm : ((x0 : Int) -> ((x1 : Int) -> Eq.{1} AxNat (Int.gcd x0 x1) (Int.gcd x1 x0)))

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 common divisor divides the gc The natural gcd divides its fir The natural gcd divides its sec <= on the naturals is antisymme A divisor of a positive natural A divisor of a positive natural [generated] kernel theorem Nat. Zero is a left absorbing elemen Current fact [generated] kernel theorem Int.
10 direct dependencies 1 direct dependents Graph shows the first 8 on each side.

Evidence

kernel-Int.gcd_comm

Kind
kernel-term
Status
checked

Supports: For all integers a and b, gcd(a, b) = gcd(b, a). (The integer gcd returns a natural number.)

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

`build_int_prelude` admits this theorem through the trusted `Kernel::add_declaration` gate, which re-checks the proof term against the stated type, so producing this row at all is a machine-checked proof. `int_theorem_inventory` exits non-zero for a name that does not exist, and the `grep -q` requires the admitted `theorem`-kind row to be printed.

footprint-Int.gcd_comm

Kind
exhaustive-enumeration
Status
checked

Supports: axiom_footprint: [] -- the Int prelude's trusted surface is empty

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

`nat_axiom_inventory --require-axiom-free integer` enumerates the built Int environment (which nests the Nat development) and exits non-zero unless it admits no Axiom, Opaque or Quotient declaration (measured: axiom=0 opaque=0 quotient=0). A theorem cannot depend on a trusted declaration the environment does not contain, so an empty trusted surface bounds every individual theorem's footprint by [].

Provenance

{
  "date": "2026-08-25",
  "established_by": "axeyum-lean-kernel build_int_prelude, lane rado-claim-ledger",
  "source": "one of the theorems build_int_prelude admits; registered to close the flywheel's fact-ledger arrow for recently landed Int theorems"
}