Theorems / mh_numb_b96188

Mathlib held-out

Number theory · hard

Statement, exactly as the model and Lean see it
theorem lg_target {n : ℕ} (hn : 1 < n) (hpn : ¬IsPrimePow n) : (Finset.Icc 1 (n - 1)).gcd n.choose = 1 := by
Mathlib declaration
Choose.gcd_choose_eq_one_of_not_isPrimePow
Held-out module
Mathlib.Data.Nat.Choose.Lucas
Banned modules (itself + downstream)
1
Reference proof premises (reachable / held-out)
9 / 1

Traces

Each configuration's full record: what was retrieved, what the model wrote, what Lean said back.

No configuration has attempted this theorem yet.

Reference proof

Mathlib's own source for this declaration, shown for comparison. It may use lemmas the prover is not allowed to use.

/-- For a natural number `n` greater than `1`, assume that `n` is not a prime power, then
the greatest common divisor of  `choose n 1, ⋯, choose n (n - 1)` is `1`. -/
theorem gcd_choose_eq_one_of_not_isPrimePow (hn : 1 < n) (hpn : ¬ IsPrimePow n) :
    (Icc 1 (n - 1)).gcd n.choose = 1 := by
  contrapose! hpn
  obtain ⟨q, hq, h⟩ := Nat.exists_prime_and_dvd hpn
  simp_rw [Finset.dvd_gcd_iff, ← modEq_zero_iff_dvd] at h
  have : Fact (Nat.Prime q) := ⟨hq⟩
  have := eq_pow_multiplicity_of_choose_modEq_zero_nat (zero_lt_of_lt hn) h
  refine (isPrimePow_nat_iff n).mpr ⟨q, _, hq, Dvd.multiplicity_pos ?_, this.symm⟩
  specialize h 1 (by grind)
  rw [choose_one_right, modEq_zero_iff_dvd] at h
  exact h