@@ -110,23 +110,11 @@ lemma sum_piFinset_Icc_rpow_le {ι : Type*} [Fintype ι] [DecidableEq ι]
110110 simp [hd, hr'.ne]
111111 replace hd : 1 ≤ d := by rwa [Nat.one_le_iff_ne_zero]
112112 have hs0 : s 0 = {0 } := by ext; simp [s, funext_iff]
113- have hs {a b : ℕ} (ha : a ≤ b) : s a ⊆ s b := by
114- intros x hx
115- simp only [Fintype.mem_piFinset, s] at hx ⊢
116- exact fun i ↦ Icc_subset_Icc (by simpa) (by simpa) (hx i)
113+ have hs {a b : ℕ} (ha : a ≤ b) : s a ⊆ s b := by grind
117114 have (k : ℕ) : #(s (k + 1 ) \ s k) ≤ 2 * d * (2 * k + 3 ) ^ (d - 1 ) := by
118- -- We do not yet replace `omega` with `lia` here, as it is measurably slower.
119- trans (2 * k + 3 ) ^ d - (2 * k + 1 ) ^ d
120- · simp only [le_add_iff_nonneg_right, zero_le, hs, card_sdiff_of_subset, s]
121- simp only [Fintype.card_piFinset, Int.card_Icc, sub_neg_eq_add, prod_const, card_univ]
122- gcongr <;> norm_cast <;> omega
123- · have := abs_pow_sub_pow_le (α := ℤ) ↑(2 * k + 3 ) ↑(2 * k + 1 ) d
124- norm_num at this
125- zify
126- convert this using 3
127- · rw [abs_eq_self.mpr (sub_nonneg.mpr (by gcongr; lia)), Nat.cast_sub (by gcongr; lia)]
128- simp
129- · rw [max_eq_left (by gcongr; lia), abs_eq_self.mpr (by positivity)]
115+ simp only [le_add_iff_nonneg_right, zero_le, hs, card_sdiff_of_subset, s, Fintype.card_piFinset,
116+ Int.card_Icc, prod_const]
117+ grind [abs_pow_sub_pow_le (α := ℤ) (2 * k + 3 ) (2 * k + 1 ) d]
130118 let ε := normBound b
131119 have hε : 0 < ε := normBound_pos b
132120 calc ∑ p ∈ s n, ‖∑ i, p i • b i‖ ^ r
0 commit comments