@@ -330,25 +330,18 @@ section TopologicalSpace
330
330
331
331
variable [TopologicalSpace E] [ContinuousSMul ℝ E]
332
332
333
+ open Filter in
333
334
theorem interior_subset_gauge_lt_one (s : Set E) : interior s ⊆ { x | gauge s x < 1 } := by
334
335
intro x hx
335
- let f : ℝ → E := fun t => t • x
336
- have hf : Continuous f := by continuity
337
- let s' := f ⁻¹' interior s
338
- have hs' : IsOpen s' := hf.isOpen_preimage _ isOpen_interior
339
- have one_mem : (1 : ℝ) ∈ s' := by simpa only [Set.mem_preimage, one_smul]
340
- obtain ⟨ε, hε₀, hε⟩ := (Metric.nhds_basis_closedBall.1 _).1 (isOpen_iff_mem_nhds.1 hs' 1 one_mem)
341
- rw [Real.closedBall_eq_Icc] at hε
342
- have hε₁ : 0 < 1 + ε := hε₀.trans (lt_one_add ε)
343
- have : (1 + ε)⁻¹ < 1 := by
344
- rw [inv_lt_one_iff]
345
- right
346
- linarith
347
- refine' (gauge_le_of_mem (inv_nonneg.2 hε₁.le) _).trans_lt this
348
- rw [mem_inv_smul_set_iff₀ hε₁.ne']
349
- exact
350
- interior_subset
351
- (hε ⟨(sub_le_self _ hε₀.le).trans ((le_add_iff_nonneg_right _).2 hε₀.le), le_rfl⟩)
336
+ have H₁ : Tendsto (fun r : ℝ ↦ r⁻¹ • x) (𝓝[<] 1 ) (𝓝 ((1 : ℝ)⁻¹ • x)) :=
337
+ ((tendsto_id.inv₀ one_ne_zero).smul tendsto_const_nhds).mono_left inf_le_left
338
+ rw [inv_one, one_smul] at H₁
339
+ have H₂ : ∀ᶠ r in 𝓝[<] (1 : ℝ), x ∈ r • s ∧ 0 < r ∧ r < 1
340
+ · filter_upwards [H₁ (mem_interior_iff_mem_nhds.1 hx), Ioo_mem_nhdsWithin_Iio' one_pos]
341
+ intro r h₁ h₂
342
+ exact ⟨(mem_smul_set_iff_inv_smul_mem₀ h₂.1 .ne' _ _).2 h₁, h₂⟩
343
+ rcases H₂.exists with ⟨r, hxr, hr₀, hr₁⟩
344
+ exact (gauge_le_of_mem hr₀.le hxr).trans_lt hr₁
352
345
#align interior_subset_gauge_lt_one interior_subset_gauge_lt_one
353
346
354
347
theorem gauge_lt_one_eq_self_of_open (hs₁ : Convex ℝ s) (hs₀ : (0 : E) ∈ s) (hs₂ : IsOpen s) :
@@ -358,17 +351,20 @@ theorem gauge_lt_one_eq_self_of_open (hs₁ : Convex ℝ s) (hs₀ : (0 : E) ∈
358
351
exact hs₂.interior_eq.symm
359
352
#align gauge_lt_one_eq_self_of_open gauge_lt_one_eq_self_of_open
360
353
361
- theorem gauge_lt_one_of_mem_of_open (hs₁ : Convex ℝ s) (hs₀ : (0 : E) ∈ s) (hs₂ : IsOpen s) {x : E}
362
- (hx : x ∈ s) : gauge s x < 1 := by rwa [← gauge_lt_one_eq_self_of_open hs₁ hs₀ hs₂] at hx
363
- #align gauge_lt_one_of_mem_of_open gauge_lt_one_of_mem_of_open
354
+ -- porting note: droped unneeded assumptions
355
+ theorem gauge_lt_one_of_mem_of_open (hs₂ : IsOpen s) {x : E} (hx : x ∈ s) :
356
+ gauge s x < 1 :=
357
+ interior_subset_gauge_lt_one s <| by rwa [hs₂.interior_eq]
358
+ #align gauge_lt_one_of_mem_of_open gauge_lt_one_of_mem_of_openₓ
364
359
365
- theorem gauge_lt_of_mem_smul (x : E) (ε : ℝ) (hε : 0 < ε) (hs₀ : (0 : E) ∈ s) (hs₁ : Convex ℝ s)
366
- (hs₂ : IsOpen s) (hx : x ∈ ε • s) : gauge s x < ε := by
360
+ -- porting note: droped unneeded assumptions
361
+ theorem gauge_lt_of_mem_smul (x : E) (ε : ℝ) (hε : 0 < ε) (hs₂ : IsOpen s) (hx : x ∈ ε • s) :
362
+ gauge s x < ε := by
367
363
have : ε⁻¹ • x ∈ s := by rwa [← mem_smul_set_iff_inv_smul_mem₀ hε.ne']
368
- have h_gauge_lt := gauge_lt_one_of_mem_of_open hs₁ hs₀ hs ₂ this
364
+ have h_gauge_lt := gauge_lt_one_of_mem_of_open hs₂ this
369
365
rwa [gauge_smul_of_nonneg (inv_nonneg.2 hε.le), smul_eq_mul, inv_mul_lt_iff hε, mul_one]
370
366
at h_gauge_lt
371
- #align gauge_lt_of_mem_smul gauge_lt_of_mem_smul
367
+ #align gauge_lt_of_mem_smul gauge_lt_of_mem_smulₓ
372
368
373
369
end TopologicalSpace
374
370
@@ -404,7 +400,7 @@ variable {hs₀ : Balanced 𝕜 s} {hs₁ : Convex ℝ s} {hs₂ : Absorbent ℝ
404
400
405
401
theorem gaugeSeminorm_lt_one_of_open (hs : IsOpen s) {x : E} (hx : x ∈ s) :
406
402
gaugeSeminorm hs₀ hs₁ hs₂ x < 1 :=
407
- gauge_lt_one_of_mem_of_open hs₁ hs₂.zero_mem hs hx
403
+ gauge_lt_one_of_mem_of_open hs hx
408
404
#align gauge_seminorm_lt_one_of_open gaugeSeminorm_lt_one_of_open
409
405
410
406
theorem gaugeSeminorm_ball_one (hs : IsOpen s) : (gaugeSeminorm hs₀ hs₁ hs₂).ball 0 1 = s := by
0 commit comments