Skip to content

Commit 6a3e867

Browse files
committed
feat(Analysis.Seminorm): remove useless assumption (#5734)
This removes a chance to infer an argument, but I think that's a fairly good use case for using the new named arguments, because adding `(r := _)` to specify a radius feels completely right.
1 parent 0e13f2f commit 6a3e867

File tree

2 files changed

+22
-18
lines changed

2 files changed

+22
-18
lines changed

β€ŽMathlib/Analysis/LocallyConvex/WithSeminorms.leanβ€Ž

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -439,7 +439,7 @@ theorem SeminormFamily.withSeminorms_iff_nhds_eq_iInf (p : SeminormFamily π•œ E
439439
theorem WithSeminorms.continuous_seminorm [NontriviallyNormedField 𝕝] [Module 𝕝 E]
440440
[ContinuousConstSMul 𝕝 E] {p : SeminormFamily 𝕝 E ΞΉ} (hp : WithSeminorms p) (i : ΞΉ) :
441441
Continuous (p i) := by
442-
refine' Seminorm.continuous one_pos _
442+
refine' Seminorm.continuous (r := 1) _
443443
rw [p.withSeminorms_iff_nhds_eq_iInf.mp hp, ball_zero_eq_preimage_ball]
444444
exact Filter.mem_iInf_of_mem i (Filter.preimage_mem_comap <| Metric.ball_mem_nhds _ one_pos)
445445
#align with_seminorms.continuous_seminorm WithSeminorms.continuous_seminorm
@@ -717,7 +717,7 @@ lemma bound_of_continuous [Nonempty ΞΉ] [t : TopologicalSpace E] (hp : WithSemin
717717
letI : NormedSpace π•œ E := { norm_smul_le := fun a b ↦ le_of_eq (map_smul_eq_mul (s.sup p) a b) }
718718
-- The inclusion `hΞ΅` tells us exactly that `q` is *still* continuous for this new topology
719719
have : Continuous q :=
720-
Seminorm.continuous one_pos (mem_of_superset (Metric.ball_mem_nhds _ Ξ΅_pos) hΞ΅)
720+
Seminorm.continuous (r := 1) (mem_of_superset (Metric.ball_mem_nhds _ Ξ΅_pos) hΞ΅)
721721
-- Hence we can conclude by applying `bound_of_continuous_normed_space`.
722722
rcases bound_of_continuous_normedSpace q this with ⟨C, C_pos, hC⟩
723723
exact ⟨s, ⟨C, C_pos.le⟩, fun H ↦ C_pos.ne.symm (congr_arg NNReal.toReal H), hC⟩

β€ŽMathlib/Analysis/Seminorm.leanβ€Ž

Lines changed: 20 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -1132,25 +1132,29 @@ variable [NontriviallyNormedField π•œ] [SeminormedRing 𝕝] [AddCommGroup E] [
11321132

11331133
variable [Module 𝕝 E]
11341134

1135-
theorem continuousAt_zero' [TopologicalSpace E] [ContinuousConstSMul π•œ E] {p : Seminorm π•œ E} {r : ℝ}
1136-
(hr : 0 < r) (hp : p.closedBall 0 r ∈ (𝓝 0 : Filter E)) : ContinuousAt p 0 := by
1135+
theorem continuousAt_zero' [TopologicalSpace E] [ContinuousConstSMul π•œ E] {p : Seminorm π•œ E}
1136+
{r : ℝ} (hp : p.closedBall 0 r ∈ (𝓝 0 : Filter E)) : ContinuousAt p 0 := by
1137+
let r' := max 1 r
1138+
have hr' : 0 < r' := lt_max_of_lt_left one_pos
1139+
have hp' : p.closedBall 0 r' ∈ (𝓝 0 : Filter E) :=
1140+
mem_of_superset hp (closedBall_mono <| le_max_right _ _)
11371141
refine' Metric.nhds_basis_closedBall.tendsto_right_iff.mpr _
11381142
intro Ξ΅ hΞ΅
11391143
rw [map_zero]
11401144
suffices p.closedBall 0 Ξ΅ ∈ (𝓝 0 : Filter E) by
11411145
rwa [Seminorm.closedBall_zero_eq_preimage_closedBall] at this
1142-
rcases exists_norm_lt π•œ (div_pos hΞ΅ hr) with ⟨k, hk0, hkΡ⟩
1146+
rcases exists_norm_lt π•œ (div_pos hΞ΅ hr') with ⟨k, hk0, hkΡ⟩
11431147
have hk0' := norm_pos_iff.mp hk0
1144-
have := (set_smul_mem_nhds_zero_iff hk0').mpr hp
1148+
have := (set_smul_mem_nhds_zero_iff hk0').mpr hp'
11451149
refine' Filter.mem_of_superset this (smul_set_subset_iff.mpr fun x hx => _)
1146-
rw [mem_closedBall_zero, map_smul_eq_mul, ← div_mul_cancel Ξ΅ hr.ne.symm]
1150+
rw [mem_closedBall_zero, map_smul_eq_mul, ← div_mul_cancel Ξ΅ hr'.ne.symm]
11471151
gcongr
11481152
exact p.mem_closedBall_zero.mp hx
11491153
#align seminorm.continuous_at_zero' Seminorm.continuousAt_zero'
11501154

11511155
theorem continuousAt_zero [TopologicalSpace E] [ContinuousConstSMul π•œ E] {p : Seminorm π•œ E} {r : ℝ}
1152-
(hr : 0 < r) (hp : p.ball 0 r ∈ (𝓝 0 : Filter E)) : ContinuousAt p 0 :=
1153-
continuousAt_zero' hr (Filter.mem_of_superset hp <| p.ball_subset_closedBall _ _)
1156+
(hp : p.ball 0 r ∈ (𝓝 0 : Filter E)) : ContinuousAt p 0 :=
1157+
continuousAt_zero' (Filter.mem_of_superset hp <| p.ball_subset_closedBall _ _)
11541158
#align seminorm.continuous_at_zero Seminorm.continuousAt_zero
11551159

11561160
protected theorem uniformContinuous_of_continuousAt_zero [UniformSpace E] [UniformAddGroup E]
@@ -1171,32 +1175,32 @@ protected theorem continuous_of_continuousAt_zero [TopologicalSpace E] [Topologi
11711175
#align seminorm.continuous_of_continuous_at_zero Seminorm.continuous_of_continuousAt_zero
11721176

11731177
protected theorem uniformContinuous [UniformSpace E] [UniformAddGroup E] [ContinuousConstSMul π•œ E]
1174-
{p : Seminorm π•œ E} {r : ℝ} (hr : 0 < r) (hp : p.ball 0 r ∈ (𝓝 0 : Filter E)) :
1178+
{p : Seminorm π•œ E} {r : ℝ} (hp : p.ball 0 r ∈ (𝓝 0 : Filter E)) :
11751179
UniformContinuous p :=
1176-
Seminorm.uniformContinuous_of_continuousAt_zero (continuousAt_zero hr hp)
1180+
Seminorm.uniformContinuous_of_continuousAt_zero (continuousAt_zero hp)
11771181
#align seminorm.uniform_continuous Seminorm.uniformContinuous
11781182

11791183
protected theorem uniform_continuous' [UniformSpace E] [UniformAddGroup E] [ContinuousConstSMul π•œ E]
1180-
{p : Seminorm π•œ E} {r : ℝ} (hr : 0 < r) (hp : p.closedBall 0 r ∈ (𝓝 0 : Filter E)) :
1184+
{p : Seminorm π•œ E} {r : ℝ} (hp : p.closedBall 0 r ∈ (𝓝 0 : Filter E)) :
11811185
UniformContinuous p :=
1182-
Seminorm.uniformContinuous_of_continuousAt_zero (continuousAt_zero' hr hp)
1186+
Seminorm.uniformContinuous_of_continuousAt_zero (continuousAt_zero' hp)
11831187
#align seminorm.uniform_continuous' Seminorm.uniform_continuous'
11841188

11851189
protected theorem continuous [TopologicalSpace E] [TopologicalAddGroup E] [ContinuousConstSMul π•œ E]
1186-
{p : Seminorm π•œ E} {r : ℝ} (hr : 0 < r) (hp : p.ball 0 r ∈ (𝓝 0 : Filter E)) : Continuous p :=
1187-
Seminorm.continuous_of_continuousAt_zero (continuousAt_zero hr hp)
1190+
{p : Seminorm π•œ E} {r : ℝ} (hp : p.ball 0 r ∈ (𝓝 0 : Filter E)) : Continuous p :=
1191+
Seminorm.continuous_of_continuousAt_zero (continuousAt_zero hp)
11881192
#align seminorm.continuous Seminorm.continuous
11891193

11901194
protected theorem continuous' [TopologicalSpace E] [TopologicalAddGroup E] [ContinuousConstSMul π•œ E]
1191-
{p : Seminorm π•œ E} {r : ℝ} (hr : 0 < r) (hp : p.closedBall 0 r ∈ (𝓝 0 : Filter E)) :
1195+
{p : Seminorm π•œ E} {r : ℝ} (hp : p.closedBall 0 r ∈ (𝓝 0 : Filter E)) :
11921196
Continuous p :=
1193-
Seminorm.continuous_of_continuousAt_zero (continuousAt_zero' hr hp)
1197+
Seminorm.continuous_of_continuousAt_zero (continuousAt_zero' hp)
11941198
#align seminorm.continuous' Seminorm.continuous'
11951199

11961200
theorem continuous_of_le [TopologicalSpace E] [TopologicalAddGroup E] [ContinuousConstSMul π•œ E]
11971201
{p q : Seminorm π•œ E} (hq : Continuous q) (hpq : p ≀ q) : Continuous p := by
11981202
refine'
1199-
Seminorm.continuous one_pos
1203+
Seminorm.continuous (r := 1)
12001204
(Filter.mem_of_superset (IsOpen.mem_nhds _ <| q.mem_ball_self zero_lt_one)
12011205
(ball_antitone hpq))
12021206
rw [ball_zero_eq]

0 commit comments

Comments
Β (0)