@@ -117,24 +117,29 @@ lemma isIntegralCurveOn_comp_mul_ne_zero {a : ℝ} (ha : a ≠ 0) :
117117 rw [mem_inv_smul_set_iff₀ ha, smul_eq_mul, mul_comm]
118118 rfl
119119 refine ⟨fun hγ ↦ ?_, heq ▸ fun hγ ↦ hγ.comp_mul a⟩
120- convert! hγ.comp_mul a⁻¹
120+ have hs : {t | t * a⁻¹ ∈ a⁻¹ • s} = s := by
121+ ext t
122+ rw [mem_ofPred_eq, mul_comm _ a⁻¹, ← smul_eq_mul, mem_inv_smul_set_iff₀ ha,
123+ smul_inv_smul₀ ha]
124+ have h2 := hγ.comp_mul a⁻¹
125+ rw [hs] at h2
126+ convert! h2
121127 · ext t
122128 simp only [comp_apply, mul_assoc, inv_mul_eq_div, div_self ha, mul_one]
123129 · ext t
124130 simp only [comp_apply, Pi.smul_apply, mul_assoc, inv_mul_eq_div, div_self ha, mul_one,
125131 smul_smul, one_smul]
126- · simp only [mul_comm _ a⁻¹, ← smul_eq_mul, mem_inv_smul_set_iff₀ ha, smul_inv_smul₀ ha,
127- ofPred_mem_eq]
128132
129133lemma IsIntegralCurveAt.comp_mul_ne_zero (hγ : IsIntegralCurveAt γ v t₀) {a : ℝ} (ha : a ≠ 0 ) :
130134 IsIntegralCurveAt (γ ∘ (· * a)) (a • v ∘ (· * a)) (t₀ / a) := by
131135 rw [isIntegralCurveAt_iff_exists_pos] at *
132136 obtain ⟨ε, hε, h⟩ := hγ
133137 refine ⟨ε / |a|, by positivity, ?_⟩
134- convert! h.comp_mul a
135- ext t
136- rw [mem_ofPred_eq, Metric.mem_ball, Metric.mem_ball, Real.dist_eq, Real.dist_eq,
137- lt_div_iff₀ (abs_pos.mpr ha), ← abs_mul, sub_mul, div_mul_cancel₀ _ ha]
138+ have hs : {t | t * a ∈ Metric.ball t₀ ε} = Metric.ball (t₀ / a) (ε / |a|) := by
139+ ext t
140+ rw [mem_ofPred_eq, Metric.mem_ball, Metric.mem_ball, Real.dist_eq, Real.dist_eq,
141+ lt_div_iff₀ (abs_pos.mpr ha), ← abs_mul, sub_mul, div_mul_cancel₀ _ ha]
142+ exact hs ▸ h.comp_mul a
138143
139144lemma isIntegralCurveAt_comp_mul_ne_zero {a : ℝ} (ha : a ≠ 0 ) :
140145 IsIntegralCurveAt (γ ∘ (· * a)) (a • v ∘ (· * a)) (t₀ / a) ↔ IsIntegralCurveAt γ v t₀ := by
0 commit comments