@@ -197,6 +197,19 @@ theorem ext_iff_inner_left_threefold {x y : E ⊗[𝕜] F ⊗[𝕜] G} :
197197 simpa only [← inner_conj_symm x, ← inner_conj_symm y, starRingEnd_apply, star_inj] using
198198 ext_iff_inner_right_threefold (x := x) (y := y)
199199
200+ variable (𝕜 E F) in
201+ /-- The canonical continuous bilinear map `E → F → E ⊗ F`. This is the continuous version of
202+ `mk`. -/
203+ noncomputable def mkL : E →L[𝕜] F →L[𝕜] E ⊗[𝕜] F := (mk 𝕜 E F).mkContinuous₂ 1 fun _ _ ↦ by simp
204+
205+ @[simp] lemma coe_mkL_apply (x : E) : ⇑(mkL 𝕜 E F x) = mk 𝕜 E F x := rfl
206+ @[simp] lemma toLinearMap₁₂_mkL : (mkL 𝕜 E F).toLinearMap₁₂ = mk 𝕜 E F := rfl
207+ @[simp] lemma toLinearMap_mkL_apply (x : E) : (mkL 𝕜 E F x).toLinearMap = mk 𝕜 E F x := rfl
208+ lemma mkL_apply_apply (x : E) (y : F) : mkL 𝕜 E F x y = x ⊗ₜ y := rfl
209+
210+ @[fun_prop] lemma continuous_tmul : Continuous fun x : E × F ↦ x.1 ⊗ₜ[𝕜] x.2 :=
211+ (mkL 𝕜 E F).continuous₂
212+
200213section isometry
201214
202215/-- The tensor product map of two linear isometries is a linear isometry. In particular, this is
@@ -360,21 +373,53 @@ variable (𝕜 E) in
360373noncomputable def lidIsometry : 𝕜 ⊗[𝕜] E ≃ₗᵢ[𝕜] E :=
361374 TensorProduct.lid 𝕜 E |>.isometryOfInner inner_lid_lid
362375
363- @[simp] lemma lidIsometry_apply (x : 𝕜 ⊗[𝕜] E) :
364- lidIsometry 𝕜 E x = TensorProduct.lid 𝕜 E x := rfl
365- @[simp] lemma lidIsometry_symm_apply (x : E) :
366- (lidIsometry 𝕜 E).symm x = 1 ⊗ₜ x := rfl
367-
368376@[simp] lemma toLinearEquiv_lidIsometry :
369377 (lidIsometry 𝕜 E).toLinearEquiv = TensorProduct.lid 𝕜 E := rfl
370378
371- @[simp] lemma norm_lid (x : 𝕜 ⊗[𝕜] E) :
372- ‖TensorProduct.lid 𝕜 E x‖ = ‖x‖ := lidIsometry 𝕜 E |>.norm_map x
373- @[simp] lemma nnnorm_lid (x : 𝕜 ⊗[𝕜] E) :
374- ‖TensorProduct.lid 𝕜 E x‖₊ = ‖x‖₊ := lidIsometry 𝕜 E |>.nnnorm_map x
379+ lemma toContinuousLinearMap_symm_lidIsometry :
380+ (lidIsometry 𝕜 E).symm.toContinuousLinearEquiv.toContinuousLinearMap = mkL 𝕜 𝕜 E 1 := rfl
381+
382+ @[simp] lemma lidIsometry_apply (x : 𝕜 ⊗[𝕜] E) : lidIsometry 𝕜 E x = TensorProduct.lid 𝕜 E x := rfl
383+ @[simp] lemma lidIsometry_symm_apply (x : E) : (lidIsometry 𝕜 E).symm x = 1 ⊗ₜ x := rfl
384+
385+ @[simp] lemma norm_lid (x) : ‖TensorProduct.lid 𝕜 E x‖ = ‖x‖ := (lidIsometry 𝕜 E).norm_map x
386+ @[simp] lemma nnnorm_lid (x) : ‖TensorProduct.lid 𝕜 E x‖₊ = ‖x‖₊ := lidIsometry 𝕜 E |>.nnnorm_map x
387+
375388@[simp] lemma enorm_lid (x : 𝕜 ⊗[𝕜] E) :
376389 ‖TensorProduct.lid 𝕜 E x‖ₑ = ‖x‖ₑ := lidIsometry 𝕜 E |>.toLinearIsometry.enorm_map x
377390
391+ @[simp] theorem inner_rid_rid (x y : E ⊗[𝕜] 𝕜) :
392+ inner 𝕜 (TensorProduct.rid 𝕜 E x) (TensorProduct.rid 𝕜 E y) = inner 𝕜 x y := by
393+ simp [← lid_comm]
394+
395+ variable (𝕜 E) in
396+ /-- The linear isometry equivalence version of `TensorProduct.rid`. -/
397+ noncomputable def ridIsometry : E ⊗[𝕜] 𝕜 ≃ₗᵢ[𝕜] E :=
398+ TensorProduct.rid 𝕜 E |>.isometryOfInner inner_rid_rid
399+
400+ @[simp] lemma toLinearEquiv_ridIsometry :
401+ (ridIsometry 𝕜 E).toLinearEquiv = TensorProduct.rid 𝕜 E := rfl
402+
403+ lemma toContinuousLinearMap_symm_ridIsometry :
404+ (ridIsometry 𝕜 E).symm.toContinuousLinearEquiv.toContinuousLinearMap = (mkL 𝕜 E 𝕜).flip 1 := rfl
405+
406+ @[simp] lemma ridIsometry_apply (x) : ridIsometry 𝕜 E x = TensorProduct.rid 𝕜 E x := rfl
407+ @[simp] lemma symm_ridIsometry_apply (x) : (ridIsometry 𝕜 E).symm x = x ⊗ₜ 1 := rfl
408+
409+ lemma lidIsometry_eq_ridIsometry : lidIsometry 𝕜 𝕜 = ridIsometry 𝕜 𝕜 := by ext; simp [lid_eq_rid]
410+
411+ @[simp] lemma norm_rid (x) : ‖TensorProduct.rid 𝕜 E x‖ = ‖x‖ := (ridIsometry 𝕜 E).norm_map x
412+ @[simp] lemma nnnorm_rid (x) : ‖TensorProduct.rid 𝕜 E x‖₊ = ‖x‖₊ := by simp [← NNReal.coe_inj]
413+
414+ @[simp] lemma enorm_rid (x) : ‖TensorProduct.rid 𝕜 E x‖ₑ = ‖x‖ₑ :=
415+ ridIsometry 𝕜 E |>.toLinearIsometry.enorm_map x
416+
417+ @[simp] lemma commIsometry_trans_lidIsometry :
418+ (commIsometry 𝕜 E 𝕜).trans (lidIsometry 𝕜 E) = ridIsometry 𝕜 E := by ext; simp
419+
420+ @[simp] lemma commIsometry_trans_ridIsometry :
421+ (commIsometry 𝕜 𝕜 E).trans (ridIsometry 𝕜 E) = lidIsometry 𝕜 E := by ext; simp
422+
378423@[simp] theorem inner_assoc_assoc (x y : E ⊗[𝕜] F ⊗[𝕜] G) :
379424 inner 𝕜 (TensorProduct.assoc 𝕜 E F G x) (TensorProduct.assoc 𝕜 E F G y) = inner 𝕜 x y :=
380425 x.induction_on (by simp) (fun a _ =>
0 commit comments