Skip to content
This repository was archived by the owner on Jul 24, 2024. It is now read-only.

Commit 583cae7

Browse files
committed
chore(analysis/normed_space/operator_norm): fix naming of continuous_linear_map.lmul and similar (#15968)
This renames the continuous linear (bilinear) map given by multiplication in a non-unital algebra to match the non-continuous version (`linear_map.mul`). The changes are as follows: 1. `continuous_linear_map.lmul` → `continuous_linear_map.mul` (the "l" was for "linear", which is redundant) 2. `continuous_linear_map.lmul_right` is deleted. This is literally just the `continuous_linear_map.flip` of the map in (1) above. It's only use in mathlib is to define the map in (3) below, and creating it as a separate def seems unnecessary (and actively obscures the `.flip`) 3. `continuous_linear_map.lmul_left_right` → `continuous_linear_map.mul_left_right`. This matches `linear_map.mul_left_right` (although the latter is uncurried). Docstrings have also been updated, both to reflect the non-unital generalization from #15868, but also because the old docstrings mentioned "left multiplication", but this should just be called "multiplication".
1 parent 3605313 commit 583cae7

File tree

5 files changed

+55
-77
lines changed

5 files changed

+55
-77
lines changed

src/analysis/calculus/cont_diff.lean

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -2582,7 +2582,7 @@ variables {𝔸 𝔸' ι 𝕜' : Type*} [normed_ring 𝔸] [normed_algebra 𝕜
25822582

25832583
/- The product is smooth. -/
25842584
lemma cont_diff_mul : cont_diff 𝕜 n (λ p : 𝔸 × 𝔸, p.1 * p.2) :=
2585-
(continuous_linear_map.lmul 𝕜 𝔸).is_bounded_bilinear_map.cont_diff
2585+
(continuous_linear_map.mul 𝕜 𝔸).is_bounded_bilinear_map.cont_diff
25862586

25872587
/-- The product of two `C^n` functions within a set at a point is `C^n` within this set
25882588
at this point. -/
@@ -2881,12 +2881,12 @@ begin
28812881
exact (inverse_continuous_at x').continuous_within_at },
28822882
{ simp [ftaylor_series_within] } } },
28832883
{ apply cont_diff_at_succ_iff_has_fderiv_at.mpr,
2884-
refine ⟨λ (x : R), - lmul_left_right 𝕜 R (inverse x) (inverse x), _, _⟩,
2884+
refine ⟨λ (x : R), - mul_left_right 𝕜 R (inverse x) (inverse x), _, _⟩,
28852885
{ refine ⟨{y : R | is_unit y}, x.nhds, _⟩,
28862886
rintros _ ⟨y, rfl⟩,
28872887
rw [inverse_unit],
28882888
exact has_fderiv_at_ring_inverse y },
2889-
{ convert (lmul_left_right_is_bounded_bilinear 𝕜 R).cont_diff.neg.comp_cont_diff_at
2889+
{ convert (mul_left_right_is_bounded_bilinear 𝕜 R).cont_diff.neg.comp_cont_diff_at
28902890
(x : R) (IH.prod IH) } },
28912891
{ exact cont_diff_at_top.mpr Itop }
28922892
end

src/analysis/calculus/fderiv.lean

Lines changed: 12 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -2371,7 +2371,7 @@ variables {𝔸 𝔸' : Type*} [normed_ring 𝔸] [normed_comm_ring 𝔸'] [norm
23712371
theorem has_strict_fderiv_at.mul' {x : E} (ha : has_strict_fderiv_at a a' x)
23722372
(hb : has_strict_fderiv_at b b' x) :
23732373
has_strict_fderiv_at (λ y, a y * b y) (a x • b' + a'.smul_right (b x)) x :=
2374-
((continuous_linear_map.lmul 𝕜 𝔸).is_bounded_bilinear_map.has_strict_fderiv_at (a x, b x)).comp x
2374+
((continuous_linear_map.mul 𝕜 𝔸).is_bounded_bilinear_map.has_strict_fderiv_at (a x, b x)).comp x
23752375
(ha.prod hb)
23762376

23772377
theorem has_strict_fderiv_at.mul
@@ -2382,7 +2382,7 @@ by { convert hc.mul' hd, ext z, apply mul_comm }
23822382
theorem has_fderiv_within_at.mul'
23832383
(ha : has_fderiv_within_at a a' s x) (hb : has_fderiv_within_at b b' s x) :
23842384
has_fderiv_within_at (λ y, a y * b y) (a x • b' + a'.smul_right (b x)) s x :=
2385-
((continuous_linear_map.lmul 𝕜 𝔸).is_bounded_bilinear_map.has_fderiv_at
2385+
((continuous_linear_map.mul 𝕜 𝔸).is_bounded_bilinear_map.has_fderiv_at
23862386
(a x, b x)).comp_has_fderiv_within_at x (ha.prod hb)
23872387

23882388
theorem has_fderiv_within_at.mul
@@ -2393,7 +2393,7 @@ by { convert hc.mul' hd, ext z, apply mul_comm }
23932393
theorem has_fderiv_at.mul'
23942394
(ha : has_fderiv_at a a' x) (hb : has_fderiv_at b b' x) :
23952395
has_fderiv_at (λ y, a y * b y) (a x • b' + a'.smul_right (b x)) x :=
2396-
((continuous_linear_map.lmul 𝕜 𝔸).is_bounded_bilinear_map.has_fderiv_at (a x, b x)).comp x
2396+
((continuous_linear_map.mul 𝕜 𝔸).is_bounded_bilinear_map.has_fderiv_at (a x, b x)).comp x
23972397
(ha.prod hb)
23982398

23992399
theorem has_fderiv_at.mul (hc : has_fderiv_at c c' x) (hd : has_fderiv_at d d' x) :
@@ -2458,23 +2458,23 @@ lemma fderiv_mul (hc : differentiable_at 𝕜 c x) (hd : differentiable_at 𝕜
24582458

24592459
theorem has_strict_fderiv_at.mul_const' (ha : has_strict_fderiv_at a a' x) (b : 𝔸) :
24602460
has_strict_fderiv_at (λ y, a y * b) (a'.smul_right b) x :=
2461-
(((continuous_linear_map.lmul 𝕜 𝔸).flip b).has_strict_fderiv_at).comp x ha
2461+
(((continuous_linear_map.mul 𝕜 𝔸).flip b).has_strict_fderiv_at).comp x ha
24622462

24632463
theorem has_strict_fderiv_at.mul_const (hc : has_strict_fderiv_at c c' x) (d : 𝔸') :
24642464
has_strict_fderiv_at (λ y, c y * d) (d • c') x :=
24652465
by { convert hc.mul_const' d, ext z, apply mul_comm }
24662466

24672467
theorem has_fderiv_within_at.mul_const' (ha : has_fderiv_within_at a a' s x) (b : 𝔸) :
24682468
has_fderiv_within_at (λ y, a y * b) (a'.smul_right b) s x :=
2469-
(((continuous_linear_map.lmul 𝕜 𝔸).flip b).has_fderiv_at).comp_has_fderiv_within_at x ha
2469+
(((continuous_linear_map.mul 𝕜 𝔸).flip b).has_fderiv_at).comp_has_fderiv_within_at x ha
24702470

24712471
theorem has_fderiv_within_at.mul_const (hc : has_fderiv_within_at c c' s x) (d : 𝔸') :
24722472
has_fderiv_within_at (λ y, c y * d) (d • c') s x :=
24732473
by { convert hc.mul_const' d, ext z, apply mul_comm }
24742474

24752475
theorem has_fderiv_at.mul_const' (ha : has_fderiv_at a a' x) (b : 𝔸) :
24762476
has_fderiv_at (λ y, a y * b) (a'.smul_right b) x :=
2477-
(((continuous_linear_map.lmul 𝕜 𝔸).flip b).has_fderiv_at).comp x ha
2477+
(((continuous_linear_map.mul 𝕜 𝔸).flip b).has_fderiv_at).comp x ha
24782478

24792479
theorem has_fderiv_at.mul_const (hc : has_fderiv_at c c' x) (d : 𝔸') :
24802480
has_fderiv_at (λ y, c y * d) (d • c') x :=
@@ -2517,16 +2517,16 @@ lemma fderiv_mul_const (hc : differentiable_at 𝕜 c x) (d : 𝔸') :
25172517

25182518
theorem has_strict_fderiv_at.const_mul (ha : has_strict_fderiv_at a a' x) (b : 𝔸) :
25192519
has_strict_fderiv_at (λ y, b * a y) (b • a') x :=
2520-
(((continuous_linear_map.lmul 𝕜 𝔸) b).has_strict_fderiv_at).comp x ha
2520+
(((continuous_linear_map.mul 𝕜 𝔸) b).has_strict_fderiv_at).comp x ha
25212521

25222522
theorem has_fderiv_within_at.const_mul
25232523
(ha : has_fderiv_within_at a a' s x) (b : 𝔸) :
25242524
has_fderiv_within_at (λ y, b * a y) (b • a') s x :=
2525-
(((continuous_linear_map.lmul 𝕜 𝔸) b).has_fderiv_at).comp_has_fderiv_within_at x ha
2525+
(((continuous_linear_map.mul 𝕜 𝔸) b).has_fderiv_at).comp_has_fderiv_within_at x ha
25262526

25272527
theorem has_fderiv_at.const_mul (ha : has_fderiv_at a a' x) (b : 𝔸) :
25282528
has_fderiv_at (λ y, b * a y) (b • a') x :=
2529-
(((continuous_linear_map.lmul 𝕜 𝔸) b).has_fderiv_at).comp x ha
2529+
(((continuous_linear_map.mul 𝕜 𝔸) b).has_fderiv_at).comp x ha
25302530

25312531
lemma differentiable_within_at.const_mul
25322532
(ha : differentiable_within_at 𝕜 a s x) (b : 𝔸) :
@@ -2563,7 +2563,7 @@ open normed_ring continuous_linear_map ring
25632563
/-- At an invertible element `x` of a normed algebra `R`, the Fréchet derivative of the inversion
25642564
operation is the linear map `λ t, - x⁻¹ * t * x⁻¹`. -/
25652565
lemma has_fderiv_at_ring_inverse (x : Rˣ) :
2566-
has_fderiv_at ring.inverse (-lmul_left_right 𝕜 R ↑x⁻¹ ↑x⁻¹) x :=
2566+
has_fderiv_at ring.inverse (-mul_left_right 𝕜 R ↑x⁻¹ ↑x⁻¹) x :=
25672567
begin
25682568
have h_is_o : (λ (t : R), inverse (↑x + t) - ↑x⁻¹ + ↑x⁻¹ * t * ↑x⁻¹) =o[𝓝 0] (λ (t : R), t),
25692569
{ refine (inverse_add_norm_diff_second_order x).trans_is_o ((is_o_norm_norm).mp _),
@@ -2577,15 +2577,15 @@ begin
25772577
simp only [has_fderiv_at, has_fderiv_at_filter],
25782578
convert h_is_o.comp_tendsto h_lim,
25792579
ext y,
2580-
simp only [coe_comp', function.comp_app, lmul_left_right_apply, neg_apply, inverse_unit x,
2580+
simp only [coe_comp', function.comp_app, mul_left_right_apply, neg_apply, inverse_unit x,
25812581
units.inv_mul, add_sub_cancel'_right, mul_sub, sub_mul, one_mul, sub_neg_eq_add]
25822582
end
25832583

25842584
lemma differentiable_at_inverse (x : Rˣ) : differentiable_at 𝕜 (@ring.inverse R _) x :=
25852585
(has_fderiv_at_ring_inverse x).differentiable_at
25862586

25872587
lemma fderiv_inverse (x : Rˣ) :
2588-
fderiv 𝕜 (@ring.inverse R _) x = - lmul_left_right 𝕜 R ↑x⁻¹ ↑x⁻¹ :=
2588+
fderiv 𝕜 (@ring.inverse R _) x = - mul_left_right 𝕜 R ↑x⁻¹ ↑x⁻¹ :=
25892589
(has_fderiv_at_ring_inverse x).fderiv
25902590

25912591
end algebra_inverse

src/analysis/convolution.lean

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -18,7 +18,7 @@ group as domain. We use a continuous bilinear operation `L` on these function va
1818
"multiplication". The domain must be equipped with a Haar measure `μ`
1919
(though many individual results have weaker conditions on `μ`).
2020
21-
For many applications we can take `L = lsmul ℝ ℝ` or `L = lmul ℝ ℝ`.
21+
For many applications we can take `L = lsmul ℝ ℝ` or `L = mul ℝ ℝ`.
2222
2323
We also define `convolution_exists` and `convolution_exists_at` to state that the convolution is
2424
well-defined (everywhere or at a single point). These conditions are needed for pointwise
@@ -375,8 +375,8 @@ lemma convolution_lsmul [has_sub G] {f : G → 𝕜} {g : G → F} :
375375
(f ⋆[lsmul 𝕜 𝕜, μ] g : G → F) x = ∫ t, f t • g (x - t) ∂μ := rfl
376376

377377
/-- The definition of convolution where the bilinear operator is multiplication. -/
378-
lemma convolution_lmul [has_sub G] [normed_space ℝ 𝕜] [complete_space 𝕜] {f : G → 𝕜} {g : G → 𝕜} :
379-
(f ⋆[lmul 𝕜 𝕜, μ] g) x = ∫ t, f t * g (x - t) ∂μ := rfl
378+
lemma convolution_mul [has_sub G] [normed_space ℝ 𝕜] [complete_space 𝕜] {f : G → 𝕜} {g : G → 𝕜} :
379+
(f ⋆[mul 𝕜 𝕜, μ] g) x = ∫ t, f t * g (x - t) ∂μ := rfl
380380

381381
section group
382382

@@ -547,8 +547,8 @@ lemma convolution_lsmul_swap {f : G → 𝕜} {g : G → F}:
547547
convolution_eq_swap _
548548

549549
/-- The symmetric definition of convolution where the bilinear operator is multiplication. -/
550-
lemma convolution_lmul_swap [normed_space ℝ 𝕜] [complete_space 𝕜] {f : G → 𝕜} {g : G → 𝕜} :
551-
(f ⋆[lmul 𝕜 𝕜, μ] g) x = ∫ t, f (x - t) * g t ∂μ :=
550+
lemma convolution_mul_swap [normed_space ℝ 𝕜] [complete_space 𝕜] {f : G → 𝕜} {g : G → 𝕜} :
551+
(f ⋆[mul 𝕜 𝕜, μ] g) x = ∫ t, f (x - t) * g t ∂μ :=
552552
convolution_eq_swap _
553553

554554
end measurable

src/analysis/normed_space/bounded_linear_maps.lean

Lines changed: 5 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -488,11 +488,12 @@ end
488488

489489
variables (𝕜)
490490

491-
/-- The function `lmul_left_right : 𝕜' × 𝕜' → (𝕜' →L[𝕜] 𝕜')` is a bounded bilinear map. -/
492-
lemma continuous_linear_map.lmul_left_right_is_bounded_bilinear
491+
/-- The function `continuous_linear_map.mul_left_right : 𝕜' × 𝕜' → (𝕜' →L[𝕜] 𝕜')` is a bounded
492+
bilinear map. -/
493+
lemma continuous_linear_map.mul_left_right_is_bounded_bilinear
493494
(𝕜' : Type*) [normed_ring 𝕜'] [normed_algebra 𝕜 𝕜'] :
494-
is_bounded_bilinear_map 𝕜 (λ p : 𝕜' × 𝕜', continuous_linear_map.lmul_left_right 𝕜 𝕜' p.1 p.2) :=
495-
(continuous_linear_map.lmul_left_right 𝕜 𝕜').is_bounded_bilinear_map
495+
is_bounded_bilinear_map 𝕜 (λ p : 𝕜' × 𝕜', continuous_linear_map.mul_left_right 𝕜 𝕜' p.1 p.2) :=
496+
(continuous_linear_map.mul_left_right 𝕜 𝕜').is_bounded_bilinear_map
496497

497498
variables {𝕜}
498499

src/analysis/normed_space/operator_norm.lean

Lines changed: 30 additions & 53 deletions
Original file line numberDiff line numberDiff line change
@@ -828,77 +828,56 @@ section non_unital
828828
variables (𝕜) (𝕜' : Type*) [non_unital_semi_normed_ring 𝕜'] [normed_space 𝕜 𝕜']
829829
[is_scalar_tower 𝕜 𝕜' 𝕜'] [smul_comm_class 𝕜 𝕜' 𝕜']
830830

831-
/-- Left multiplication in a normed algebra as a continuous bilinear map. -/
832-
def lmul : 𝕜' →L[𝕜] 𝕜' →L[𝕜] 𝕜' :=
833-
(linear_map.mul 𝕜 𝕜').mk_continuous₂ 1 $
831+
/-- Multiplication in a non-unital normed algebra as a continuous bilinear map. -/
832+
def mul : 𝕜' →L[𝕜] 𝕜' →L[𝕜] 𝕜' := (linear_map.mul 𝕜 𝕜').mk_continuous₂ 1 $
834833
λ x y, by simpa using norm_mul_le x y
835834

836-
@[simp] lemma lmul_apply (x y : 𝕜') : lmul 𝕜 𝕜' x y = x * y := rfl
835+
@[simp] lemma mul_apply' (x y : 𝕜') : mul 𝕜 𝕜' x y = x * y := rfl
837836

838-
@[simp] lemma op_norm_lmul_apply_le (x : 𝕜') : ∥lmul 𝕜 𝕜' x∥ ≤ ∥x∥ :=
837+
@[simp] lemma op_norm_mul_apply_le (x : 𝕜') : ∥mul 𝕜 𝕜' x∥ ≤ ∥x∥ :=
839838
(op_norm_le_bound _ (norm_nonneg x) (norm_mul_le x))
840839

841-
/-- Right-multiplication in a normed algebra, considered as a continuous linear map. -/
842-
def lmul_right : 𝕜' →L[𝕜] 𝕜' →L[𝕜] 𝕜' := (lmul 𝕜 𝕜').flip
840+
/-- Simultaneous left- and right-multiplication in a non-unital normed algebra, considered as a
841+
continuous trilinear map. This is akin to its non-continuous version `linear_map.mul_left_right`,
842+
but there is a minor difference: `linear_map.mul_left_right` is uncurried. -/
843+
def mul_left_right : 𝕜' →L[𝕜] 𝕜' →L[𝕜] 𝕜' →L[𝕜] 𝕜' :=
844+
((compL 𝕜 𝕜' 𝕜' 𝕜').comp (mul 𝕜 𝕜').flip).flip.comp (mul 𝕜 𝕜')
843845

844-
@[simp] lemma lmul_right_apply (x y : 𝕜') : lmul_right 𝕜 𝕜' x y = y * x := rfl
846+
@[simp] lemma mul_left_right_apply (x y z : 𝕜') :
847+
mul_left_right 𝕜 𝕜' x y z = x * z * y := rfl
845848

846-
@[simp] lemma op_norm_lmul_right_apply_le (x : 𝕜') : ∥lmul_right 𝕜 𝕜' x∥ ≤ ∥x∥ :=
847-
op_norm_le_bound _ (norm_nonneg x) (λ y, (norm_mul_le y x).trans_eq (mul_comm _ _))
848-
849-
/-- Simultaneous left- and right-multiplication in a normed algebra, considered as a continuous
850-
trilinear map. -/
851-
def lmul_left_right : 𝕜' →L[𝕜] 𝕜' →L[𝕜] 𝕜' →L[𝕜] 𝕜' :=
852-
((compL 𝕜 𝕜' 𝕜' 𝕜').comp (lmul_right 𝕜 𝕜')).flip.comp (lmul 𝕜 𝕜')
853-
854-
@[simp] lemma lmul_left_right_apply (x y z : 𝕜') :
855-
lmul_left_right 𝕜 𝕜' x y z = x * z * y := rfl
856-
857-
lemma op_norm_lmul_left_right_apply_apply_le (x y : 𝕜') :
858-
∥lmul_left_right 𝕜 𝕜' x y∥ ≤ ∥x∥ * ∥y∥ :=
849+
lemma op_norm_mul_left_right_apply_apply_le (x y : 𝕜') :
850+
∥mul_left_right 𝕜 𝕜' x y∥ ≤ ∥x∥ * ∥y∥ :=
859851
(op_norm_comp_le _ _).trans $ (mul_comm _ _).trans_le $
860-
mul_le_mul (op_norm_lmul_apply_le _ _ _) (op_norm_lmul_right_apply_le _ _ _)
852+
mul_le_mul (op_norm_mul_apply_le _ _ _)
853+
(op_norm_le_bound _ (norm_nonneg _) (λ _, (norm_mul_le _ _).trans_eq (mul_comm _ _)))
861854
(norm_nonneg _) (norm_nonneg _)
862855

863-
lemma op_norm_lmul_left_right_apply_le (x : 𝕜') :
864-
lmul_left_right 𝕜 𝕜' x∥ ≤ ∥x∥ :=
865-
op_norm_le_bound _ (norm_nonneg x) (op_norm_lmul_left_right_apply_apply_le 𝕜 𝕜' x)
856+
lemma op_norm_mul_left_right_apply_le (x : 𝕜') :
857+
mul_left_right 𝕜 𝕜' x∥ ≤ ∥x∥ :=
858+
op_norm_le_bound _ (norm_nonneg x) (op_norm_mul_left_right_apply_apply_le 𝕜 𝕜' x)
866859

867-
lemma op_norm_lmul_left_right_le :
868-
lmul_left_right 𝕜 𝕜'∥ ≤ 1 :=
869-
op_norm_le_bound _ zero_le_one (λ x, (one_mul ∥x∥).symm ▸ op_norm_lmul_left_right_apply_le 𝕜 𝕜' x)
860+
lemma op_norm_mul_left_right_le :
861+
mul_left_right 𝕜 𝕜'∥ ≤ 1 :=
862+
op_norm_le_bound _ zero_le_one (λ x, (one_mul ∥x∥).symm ▸ op_norm_mul_left_right_apply_le 𝕜 𝕜' x)
870863

871864
end non_unital
872865

873866
section unital
874867
variables (𝕜) (𝕜' : Type*) [semi_normed_ring 𝕜'] [normed_algebra 𝕜 𝕜'] [norm_one_class 𝕜']
875868

876-
/-- Left multiplication in a normed algebra as a linear isometry to the space of
869+
/-- Multiplication in a normed algebra as a linear isometry to the space of
877870
continuous linear maps. -/
878-
def lmulₗᵢ : 𝕜' →ₗᵢ[𝕜] 𝕜' →L[𝕜] 𝕜' :=
879-
{ to_linear_map := lmul 𝕜 𝕜',
880-
norm_map' := λ x, le_antisymm (op_norm_lmul_apply_le _ _ _)
871+
def mulₗᵢ : 𝕜' →ₗᵢ[𝕜] 𝕜' →L[𝕜] 𝕜' :=
872+
{ to_linear_map := mul 𝕜 𝕜',
873+
norm_map' := λ x, le_antisymm (op_norm_mul_apply_le _ _ _)
881874
(by { convert ratio_le_op_norm _ (1 : 𝕜'), simp [norm_one],
882875
apply_instance }) }
883876

884-
@[simp] lemma coe_lmulₗᵢ : ⇑(lmulₗᵢ 𝕜 𝕜') = lmul 𝕜 𝕜' := rfl
885-
886-
@[simp] lemma op_norm_lmul_apply (x : 𝕜') : ∥lmul 𝕜 𝕜' x∥ = ∥x∥ :=
887-
(lmulₗᵢ 𝕜 𝕜').norm_map x
888-
889-
@[simp] lemma op_norm_lmul_right_apply (x : 𝕜') : ∥lmul_right 𝕜 𝕜' x∥ = ∥x∥ :=
890-
le_antisymm
891-
(op_norm_lmul_right_apply_le _ _ _)
892-
(by { convert ratio_le_op_norm _ (1 : 𝕜'), simp [norm_one],
893-
apply_instance })
894-
895-
/-- Right-multiplication in a normed algebra, considered as a linear isometry to the space of
896-
continuous linear maps. -/
897-
def lmul_rightₗᵢ : 𝕜' →ₗᵢ[𝕜] 𝕜' →L[𝕜] 𝕜' :=
898-
{ to_linear_map := lmul_right 𝕜 𝕜',
899-
norm_map' := op_norm_lmul_right_apply 𝕜 𝕜' }
877+
@[simp] lemma coe_mulₗᵢ : ⇑(mulₗᵢ 𝕜 𝕜') = mul 𝕜 𝕜' := rfl
900878

901-
@[simp] lemma coe_lmul_rightₗᵢ : ⇑(lmul_rightₗᵢ 𝕜 𝕜') = lmul_right 𝕜 𝕜' := rfl
879+
@[simp] lemma op_norm_mul_apply (x : 𝕜') : ∥mul 𝕜 𝕜' x∥ = ∥x∥ :=
880+
(mulₗᵢ 𝕜 𝕜').norm_map x
902881

903882
end unital
904883

@@ -1659,11 +1638,9 @@ variables (𝕜) (𝕜' : Type*)
16591638
section
16601639
variables [normed_ring 𝕜'] [normed_algebra 𝕜 𝕜']
16611640

1662-
@[simp] lemma op_norm_lmul [norm_one_class 𝕜'] : ∥lmul 𝕜 𝕜'∥ = 1 :=
1663-
by haveI := norm_one_class.nontrivial 𝕜'; exact (lmulₗᵢ 𝕜 𝕜').norm_to_continuous_linear_map
1641+
@[simp] lemma op_norm_mul [norm_one_class 𝕜'] : ∥mul 𝕜 𝕜'∥ = 1 :=
1642+
by haveI := norm_one_class.nontrivial 𝕜'; exact (mulₗᵢ 𝕜 𝕜').norm_to_continuous_linear_map
16641643

1665-
@[simp] lemma op_norm_lmul_right [norm_one_class 𝕜'] : ∥lmul_right 𝕜 𝕜'∥ = 1 :=
1666-
(op_norm_flip (lmul 𝕜 𝕜')).trans (op_norm_lmul _ _)
16671644
end
16681645

16691646
/-- The norm of `lsmul` equals 1 in any nontrivial normed group.

0 commit comments

Comments
 (0)