@@ -64,51 +64,20 @@ radius at `1`. -/
6464def centerAndRescale : SatelliteConfig E N τ where
6565 c i := (a.r (last N))⁻¹ • (a.c i - a.c (last N))
6666 r i := (a.r (last N))⁻¹ * a.r i
67- rpos i := mul_pos (inv_pos. 2 (a.rpos _)) (a.rpos _)
67+ rpos i := by positivity
6868 h i j hij := by
69- rcases a.h hij with (H | H)
70- · left
71- constructor
72- · rw [dist_eq_norm, ← smul_sub, norm_smul, Real.norm_eq_abs,
73- abs_of_nonneg (inv_nonneg.2 (a.rpos _).le)]
74- refine' mul_le_mul_of_nonneg_left _ (inv_nonneg.2 (a.rpos _).le)
75- rw [dist_eq_norm] at H
76- convert H.1 using 2
77- abel
78- · rw [← mul_assoc, mul_comm τ, mul_assoc]
79- refine' mul_le_mul_of_nonneg_left _ (inv_nonneg.2 (a.rpos _).le)
80- exact H.2
81- · right
82- constructor
83- · rw [dist_eq_norm, ← smul_sub, norm_smul, Real.norm_eq_abs,
84- abs_of_nonneg (inv_nonneg.2 (a.rpos _).le)]
85- refine' mul_le_mul_of_nonneg_left _ (inv_nonneg.2 (a.rpos _).le)
86- rw [dist_eq_norm] at H
87- convert H.1 using 2
88- abel
89- · rw [← mul_assoc, mul_comm τ, mul_assoc]
90- refine' mul_le_mul_of_nonneg_left _ (inv_nonneg.2 (a.rpos _).le)
91- exact H.2
69+ simp (disch := positivity) only [dist_smul₀, dist_sub_right, mul_left_comm τ,
70+ Real.norm_of_nonneg]
71+ rcases a.h hij with (⟨H₁, H₂⟩ | ⟨H₁, H₂⟩) <;> [left; right] <;> constructor <;> gcongr
9272 hlast i hi := by
93- have H := a.hlast i hi
94- constructor
95- · rw [dist_eq_norm, ← smul_sub, norm_smul, Real.norm_eq_abs,
96- abs_of_nonneg (inv_nonneg.2 (a.rpos _).le)]
97- refine' mul_le_mul_of_nonneg_left _ (inv_nonneg.2 (a.rpos _).le)
98- rw [dist_eq_norm] at H
99- convert H.1 using 2
100- abel
101- · rw [← mul_assoc, mul_comm τ, mul_assoc]
102- refine' mul_le_mul_of_nonneg_left _ (inv_nonneg.2 (a.rpos _).le)
103- exact H.2
73+ simp (disch := positivity) only [dist_smul₀, dist_sub_right, mul_left_comm τ,
74+ Real.norm_of_nonneg]
75+ have ⟨H₁, H₂⟩ := a.hlast i hi
76+ constructor <;> gcongr
10477 inter i hi := by
105- have H := a.inter i hi
106- rw [dist_eq_norm, ← smul_sub, norm_smul, Real.norm_eq_abs,
107- abs_of_nonneg (inv_nonneg.2 (a.rpos _).le), ← mul_add]
108- refine' mul_le_mul_of_nonneg_left _ (inv_nonneg.2 (a.rpos _).le)
109- rw [dist_eq_norm] at H
110- convert H using 2
111- abel
78+ simp (disch := positivity) only [dist_smul₀, ← mul_add, dist_sub_right, Real.norm_of_nonneg]
79+ gcongr
80+ exact a.inter i hi
11281#align besicovitch.satellite_config.center_and_rescale Besicovitch.SatelliteConfig.centerAndRescale
11382
11483theorem centerAndRescale_center : a.centerAndRescale.c (last N) = 0 := by
@@ -362,7 +331,7 @@ theorem exists_normalized_aux1 {N : ℕ} {τ : ℝ} (a : SatelliteConfig E N τ)
362331 have τpos : 0 < τ := _root_.zero_lt_one.trans_le hτ
363332 have I : (1 - δ / 4 ) * τ ≤ 1 :=
364333 calc
365- (1 - δ / 4 ) * τ ≤ (1 - δ / 4 ) * (1 + δ / 4 ) := mul_le_mul_of_nonneg_left hδ 1 D
334+ (1 - δ / 4 ) * τ ≤ (1 - δ / 4 ) * (1 + δ / 4 ) := by gcongr
366335 _ = (1 : ℝ) - δ ^ 2 / 16 := by ring
367336 _ ≤ 1 := by linarith only [sq_nonneg δ]
368337 have J : 1 - δ ≤ 1 - δ / 4 := by linarith only [δnonneg]
@@ -396,7 +365,6 @@ theorem exists_normalized_aux2 {N : ℕ} {τ : ℝ} (a : SatelliteConfig E N τ)
396365 simpa only [dist_eq_norm] using a.h
397366 have δnonneg : 0 ≤ δ := by linarith only [hτ, hδ1 ]
398367 have D : 0 ≤ 1 - δ / 4 := by linarith only [hδ2 ]
399- have τpos : 0 < τ := _root_.zero_lt_one.trans_le hτ
400368 have hcrj : ‖a.c j‖ ≤ a.r j + 1 := by simpa only [lastc, lastr, dist_zero_right] using a.inter' j
401369 have I : a.r i ≤ 2 := by
402370 rcases lt_or_le i (last N) with (H | H)
@@ -407,25 +375,25 @@ theorem exists_normalized_aux2 {N : ℕ} {τ : ℝ} (a : SatelliteConfig E N τ)
407375 exact one_le_two
408376 have J : (1 - δ / 4 ) * τ ≤ 1 :=
409377 calc
410- (1 - δ / 4 ) * τ ≤ (1 - δ / 4 ) * (1 + δ / 4 ) := mul_le_mul_of_nonneg_left hδ 1 D
378+ (1 - δ / 4 ) * τ ≤ (1 - δ / 4 ) * (1 + δ / 4 ) := by gcongr
411379 _ = (1 : ℝ) - δ ^ 2 / 16 := by ring
412380 _ ≤ 1 := by linarith only [sq_nonneg δ]
413381 have A : a.r j - δ ≤ ‖a.c i - a.c j‖ := by
414382 rcases ah inej.symm with (H | H); · rw [norm_sub_rev]; linarith [H.1 ]
415383 have C : a.r j ≤ 4 :=
416384 calc
417385 a.r j ≤ τ * a.r i := H.2
418- _ ≤ τ * 2 := mul_le_mul_of_nonneg_left I τpos.le
419- _ ≤ 5 / 4 * 2 := (mul_le_mul_of_nonneg_right ( by linarith only [hδ1 , hδ2 ]) zero_le_two)
386+ _ ≤ τ * 2 := by gcongr
387+ _ ≤ 5 / 4 * 2 := by gcongr; linarith only [hδ1 , hδ2 ]
420388 _ ≤ 4 := by norm_num
421389 calc
422390 a.r j - δ ≤ a.r j - a.r j / 4 * δ := by
423- refine' sub_le_sub le_rfl _
391+ gcongr _ - ? _
424392 refine' mul_le_of_le_one_left δnonneg _
425393 linarith only [C]
426394 _ = (1 - δ / 4 ) * a.r j := by ring
427395 _ ≤ (1 - δ / 4 ) * (τ * a.r i) := mul_le_mul_of_nonneg_left H.2 D
428- _ ≤ 1 * a.r i := by rw [← mul_assoc]; apply mul_le_mul_of_nonneg_right J (a.rpos _).le
396+ _ ≤ 1 * a.r i := by rw [← mul_assoc]; gcongr
429397 _ ≤ ‖a.c i - a.c j‖ := by rw [one_mul]; exact H.1
430398 set d := (2 / ‖a.c j‖) • a.c j with hd
431399 have : a.r j - δ ≤ ‖a.c i - d‖ + (a.r j - 1 ) :=
0 commit comments