Exists nice factorization
exists_nice_factorization
Plain-language statement
Proposition 2.5. The bulk of the proof is in the section NiceFactorization.
Exact Lean statement
theorem exists_nice_factorization
{ε : ℝ}
(hε_pos : 0 < ε)
(hε : ε < 1/2)
{d : ℕ}
(hd : d = ⌊5/2 * ε⁻¹^2⌋₊)
{n : ℕ}
{X : ℕ}
(h1n : 1 ≤ n)
(hnX : n ≤ X) :
∃ (x : (Fin d) → ℕ), ∃ c : ℕ,
n = c * ∏ j, x j ^ (j.val + 1 : ℕ) ∧
c ≤ (X : ℝ) ^ ε ∧
(∀ i j, i ≠ j → Nat.gcd (x i) (x j) = 1) ∧
(X:ℝ)^(- ε) * ∏ j, x j ≤ (radical n : ℕ) ∧ (radical n : ℕ) ≤ (X:ℝ)^(ε) * ∏ j, x j ∧
0 < c ∧ (∀ i, 0 < x i) ∧ (∀ i, x i ≤ X)Formal artifact
Lean source
theorem exists_nice_factorization {ε : ℝ} (hε_pos : 0 < ε) (hε : ε < 1/2) {d : ℕ} (hd : d = ⌊5/2 * ε⁻¹^2⌋₊) {n : ℕ} {X : ℕ} (h1n : 1 ≤ n) (hnX : n ≤ X) : ∃ (x : (Fin d) → ℕ), ∃ c : ℕ, n = c * ∏ j, x j ^ (j.val + 1 : ℕ) ∧ c ≤ (X : ℝ) ^ ε ∧ (∀ i j, i ≠ j → Nat.gcd (x i) (x j) = 1) ∧ (X:ℝ)^(- ε) * ∏ j, x j ≤ (radical n : ℕ) ∧ (radical n : ℕ) ≤ (X:ℝ)^(ε) * ∏ j, x j ∧ 0 < c ∧ (∀ i, 0 < x i) ∧ (∀ i, x i ≤ X) := by let data : NiceFactorization.ProofData := ⟨ ε, hε_pos, hε, d, hd, n, X, h1n, hnX ⟩ obtain ⟨x, c, hn, hc, hcop, h_le_rad, h_rad_le⟩ := NiceFactorization.exists_nice_factorization have : NeZero ProofData.d := by infer_instance simp_rw [data] at * have hc_pos : 0 < c := by have : 0 < n := by omega apply Nat.pos_of_mul_pos_right (hn ▸ this) have x_le_X (i : Fin d) : x i ≤ X := by apply le_trans _ hnX apply Nat.le_of_dvd · omega rw [hn] apply Dvd.dvd.mul_left trans x i ^ (i.val + 1) · apply dvd_pow (dvd_rfl) omega apply Finset.dvd_prod_of_mem exact Finset.mem_univ i have hx_pos (i : Fin d) : 0 < x i := by apply Nat.pos_of_ne_zero intro h rw [Finset.prod_eq_zero (Finset.mem_univ i)] at hn · omega · simp [h] exact ⟨x, c, hn, hc, hcop, h_le_rad, h_rad_le, hc_pos, hx_pos, x_le_X⟩- Project
- ABC Exceptions
- License
- Apache-2.0
- Commit
- d8ace7bbaa23
- Source
- ABCExceptions/Section2.lean:1112-1154
Reuse this declaration
Bring the exact result into your workflow
The import identifies the source module. Your project still needs the pinned package dependency shown on this page.
What this badge means
This completion status comes from the project or community source. It has not yet been represented here as an independent rebuild and axiom audit.
Continue in this project
Related declarations
Determinant Bound application
DeterminantBound.application
Plain-language statement
A particular application of the determinant bound used in subcase 2.1
Source project: ABC Exceptions
Person-level attribution pending.
Exists nice factorization
exists_nice_factorization'
Plain-language statement
Some basic consequences of Proposition 2.5, phrased in a way that make them more useful in the proof of Proposition 2.6.
Source project: ABC Exceptions
Person-level attribution pending.
Geometry Bound set finite
geometryBound_set_finite
Plain-language statement
The set that we are taking the infimum over in the geometry bound is a finite set.
Source project: ABC Exceptions
Person-level attribution pending.