@@ -155,7 +155,6 @@ public lemma global_dichotomy [DecidableEq G] [MeasurableSpace G] [DiscreteMeasu
155155
156156variable {q n : ℕ} [Module (ZMod q) G] {A₁ A₂ : Finset G} (S : Finset G) {α : ℝ}
157157
158- set_option linter.flexible false in
159158-- Public because it is in the blueprint
160159public lemma ap_in_ff [DecidableEq G] (hq : q.Prime) (hα₀ : 0 < α) (hα₂ : α ≤ 2 ⁻¹)
161160 (hε₀ : 0 < ε) (hε₁ : ε ≤ 1 ) (hαA₁ : α ≤ A₁.dens) (hαA₂ : α ≤ A₂.dens) :
@@ -171,7 +170,9 @@ public lemma ap_in_ff [DecidableEq G] (hq : q.Prime) (hα₀ : 0 < α) (hα₂ :
171170 have : 0 ≤ log α⁻¹ := by bound
172171 have : 0 ≤ log (ε * α)⁻¹ := by bound
173172 obtain rfl | hS := S.eq_empty_or_nonempty
174- · exact ⟨⊤, inferInstance, by simp [hε₀.le]; positivity⟩
173+ · refine ⟨⊤, inferInstance, ?_, by simp [hε₀.le]⟩
174+ simp only [finrank_top, tsub_self, CharP.cast_eq_zero, mul_inv_rev, inv_pow]
175+ positivity
175176 have hA₁ : σ[A₁, univ] ≤ α⁻¹ :=
176177 calc
177178 _ ≤ (A₁.dens⁻¹ : ℝ) := by norm_cast; exact addConst_le_inv_dens
@@ -262,7 +263,6 @@ lemma ap_in_ff' [DecidableEq G] (hq : q.Prime) (hα₀ : 0 < α) (hα₂ : α
262263 simpa [← conjneg_mu] using ap_in_ff S hq (A₂ := -A₂) hα₀ hα₂ hε₀ hε₁ hαA₁ (by simpa)
263264
264265set_option backward.isDefEq.respectTransparency false in
265- set_option linter.flexible false in
266266set_option maxHeartbeats 400000 in
267267-- FIXME: Get rid of raised heartbeats
268268-- Public because it is in the blueprint
@@ -278,7 +278,10 @@ public lemma di_in_ff [DecidableEq G] [MeasurableSpace G] [DiscreteMeasurableSpa
278278 let p : ℕ := 2 * ⌈𝓛 γ⌉₊
279279 let f : G → ℝ := balance (μ A)
280280 obtain rfl | hA₀ := A.eq_empty_or_nonempty
281- · exact ⟨⊤, Classical.decPred _, by simp; positivity⟩
281+ · refine ⟨⊤, Classical.decPred _, ?_, by simp⟩
282+ simp only [finrank_top, tsub_self, CharP.cast_eq_zero, dens_empty, NNRat.cast_zero, inv_zero,
283+ log_zero, add_zero, one_pow, mul_one]
284+ positivity
282285 obtain ⟨p', hp', unbalancing⟩ :
283286 ∃ p' : ℕ, p' ≤ 2 ^ 10 * (ε / 2 )⁻¹ ^ 2 * p ∧
284287 1 + ε / 2 / 2 ≤ ‖card G • (f ○ᵈ f) + 1 ‖_[p', μ univ] := by
@@ -327,7 +330,7 @@ public lemma di_in_ff [DecidableEq G] [MeasurableSpace G] [DiscreteMeasurableSpa
327330 (4 ⁻¹ : ℝ) * A.dens ^ (2 * q') ≤ A₁.dens ∧ (4 ⁻¹ : ℝ) * A.dens ^ (2 * q') ≤ A₂.dens := by
328331 refine sifting_cor (ε := ε / 16 ) (δ := ε / 32 ) (by positivity) (by linarith)
329332 (by positivity) (p := q') (even_two_mul _)
330- (le_mul_of_one_le_right zero_le_two <| by simp; positivity ) ?_ hA₀
333+ (le_mul_of_one_le_right zero_le_two <| by lia ) ?_ hA₀
331334 calc
332335 (ε / 16 )⁻¹ * log (2 / (ε / 32 )) = 2 ^ 4 * ε⁻¹ ^ 1 * log (64 / ε) := by ring_nf
333336 _ ≤ 2 ^ 8 * ε⁻¹ ^ 2 * log (64 / ε) := by gcongr <;> norm_num
@@ -447,9 +450,8 @@ public lemma di_in_ff [DecidableEq G] [MeasurableSpace G] [DiscreteMeasurableSpa
447450 rw [← wInner_one_dddconv_eq_ddconv_wInner_one, dddconv_right_comm,
448451 ddconv_dddconv_right_comm (μ A), wInner_one_dddconv_eq_ddconv_wInner_one,
449452 ← dddconv_wInner_one_eq_wInner_one_ddconv, ← conj_wInner_symm]
450- simp [wInner_one_eq_sum, smul_sum, mul_assoc]
451- congr! 1
452- group
453+ simp only [nsmul_eq_mul, mul_assoc, wInner_one_eq_sum, inner_apply, conj_trivial, map_sum,
454+ smul_sum]
453455 _ ≤ card G • (‖μ_[ℝ] (Set.toFinset V) ∗ᵈ μ A‖_[∞] * ‖μ_[ℝ] A ∗ᵈ μ A₂ ○ᵈ μ A₁‖_[1 ]) := by
454456 gcongr; exact wInner_one_le_dLpNorm_mul_dLpNorm _ _
455457 _ = _ := by
@@ -465,7 +467,6 @@ public lemma di_in_ff [DecidableEq G] [MeasurableSpace G] [DiscreteMeasurableSpa
465467 · exact ddconv_nonneg mu_nonneg mu_nonneg
466468 · exact mu_nonneg
467469
468- set_option linter.flexible false in
469470public theorem ff (hq₃ : 3 ≤ q) (hq : q.Prime) (hA₀ : A.Nonempty) (hA : ThreeAPFree (α := G) A) :
470471 finrank (ZMod q) G ≤ 2 ^ 156 * 𝓛 A.dens ^ 9 := by
471472 let n : ℝ := finrank (ZMod q) G
@@ -554,7 +555,7 @@ public theorem ff (hq₃ : 3 ≤ q) (hq : q.Prime) (hA₀ : A.Nonempty) (hA : Th
554555 (hB.vadd_set (a := -x) |>.mono <| by simp [B'])
555556 · calc
556557 α ≤ B.dens := hαβ
557- _ ≤ (1 + 64 ⁻¹) * B.dens := by simp [one_add_mul]; positivity
558+ _ ≤ (1 + 64 ⁻¹) * B.dens := by simp [one_add_mul, NNRat.cast_nonneg]
558559 _ ≤ B'.dens := hβ
559560 · refine (h.not_ge <| ?_).elim
560561 calc
0 commit comments