Skip to content

Commit d191734

Browse files
committed
chore(Analysis/NormedSpace/OperatorNorm): remove local instance in favor of letI (#9653)
The former creates `def`s that are just noise, and have horrible names that the doc linter will complain about if the autogenerated name changes.
1 parent 40e4877 commit d191734

File tree

2 files changed

+22
-27
lines changed

2 files changed

+22
-27
lines changed

Mathlib/Analysis/NormedSpace/OperatorNorm.lean

Lines changed: 22 additions & 25 deletions
Original file line numberDiff line numberDiff line change
@@ -869,11 +869,11 @@ def compSL : (F →SL[σ₂₃] G) →L[𝕜₃] (E →SL[σ₁₂] F) →SL[σ
869869
1 fun f g => by simpa only [one_mul] using op_norm_comp_le f g
870870
#align continuous_linear_map.compSL ContinuousLinearMap.compSL
871871

872-
/-- Porting note: Local instance for `norm_compSL_le`.
873-
Should be by `inferInstance`, and indeed not be needed. -/
874-
local instance : Norm ((F →SL[σ₂₃] G) →L[𝕜₃] (E →SL[σ₁₂] F) →SL[σ₂₃] E →SL[σ₁₃] G) :=
875-
hasOpNorm (E := F →SL[σ₂₃] G) (F := (E →SL[σ₁₂] F) →SL[σ₂₃] E →SL[σ₁₃] G) in
876-
theorem norm_compSL_le : ‖compSL E F G σ₁₂ σ₂₃‖ ≤ 1 :=
872+
theorem norm_compSL_le :
873+
-- porting note: added
874+
letI : Norm ((F →SL[σ₂₃] G) →L[𝕜₃] (E →SL[σ₁₂] F) →SL[σ₂₃] E →SL[σ₁₃] G) :=
875+
hasOpNorm (E := F →SL[σ₂₃] G) (F := (E →SL[σ₁₂] F) →SL[σ₂₃] E →SL[σ₁₃] G)
876+
‖compSL E F G σ₁₂ σ₂₃‖ ≤ 1 :=
877877
LinearMap.mkContinuous₂_norm_le _ zero_le_one _
878878
#align continuous_linear_map.norm_compSL_le ContinuousLinearMap.norm_compSL_le
879879

@@ -905,11 +905,10 @@ def compL : (Fₗ →L[𝕜] Gₗ) →L[𝕜] (E →L[𝕜] Fₗ) →L[𝕜] E
905905
compSL E Fₗ Gₗ (RingHom.id 𝕜) (RingHom.id 𝕜)
906906
#align continuous_linear_map.compL ContinuousLinearMap.compL
907907

908-
/-- Porting note: Local instance for `norm_compL_le`.
909-
Should be by `inferInstance`, and indeed not be needed. -/
910-
local instance : Norm ((Fₗ →L[𝕜] Gₗ) →L[𝕜] (E →L[𝕜] Fₗ) →L[𝕜] E →L[𝕜] Gₗ) :=
911-
hasOpNorm (E := Fₗ →L[𝕜] Gₗ) (F := (E →L[𝕜] Fₗ) →L[𝕜] E →L[𝕜] Gₗ) in
912-
theorem norm_compL_le : ‖compL 𝕜 E Fₗ Gₗ‖ ≤ 1 :=
908+
theorem norm_compL_le :
909+
letI : Norm ((Fₗ →L[𝕜] Gₗ) →L[𝕜] (E →L[𝕜] Fₗ) →L[𝕜] E →L[𝕜] Gₗ) :=
910+
hasOpNorm (E := Fₗ →L[𝕜] Gₗ) (F := (E →L[𝕜] Fₗ) →L[𝕜] E →L[𝕜] Gₗ)
911+
‖compL 𝕜 E Fₗ Gₗ‖ ≤ 1 :=
913912
norm_compSL_le _ _ _ _ _
914913
#align continuous_linear_map.norm_compL_le ContinuousLinearMap.norm_compL_le
915914

@@ -931,22 +930,22 @@ def precompL (L : E →L[𝕜] Fₗ →L[𝕜] Gₗ) : (Eₗ →L[𝕜] E) →L[
931930
(precompR Eₗ (flip L)).flip
932931
#align continuous_linear_map.precompL ContinuousLinearMap.precompL
933932

934-
/-- Porting note: Local instances for `norm_precompR_le`.
935-
Should be by `inferInstance`, and indeed not be needed. -/
936-
local instance : SeminormedAddCommGroup ((Eₗ →L[𝕜] Fₗ) →L[𝕜] Eₗ →L[𝕜] Gₗ) := inferInstance in
937-
local instance : NormedSpace 𝕜 ((Eₗ →L[𝕜] Fₗ) →L[𝕜] Eₗ →L[𝕜] Gₗ) := inferInstance in
938-
theorem norm_precompR_le (L : E →L[𝕜] Fₗ →L[𝕜] Gₗ) : ‖precompR Eₗ L‖ ≤ ‖L‖ :=
933+
theorem norm_precompR_le (L : E →L[𝕜] Fₗ →L[𝕜] Gₗ) :
934+
-- porting note: added
935+
letI : SeminormedAddCommGroup ((Eₗ →L[𝕜] Fₗ) →L[𝕜] Eₗ →L[𝕜] Gₗ) := inferInstance
936+
letI : NormedSpace 𝕜 ((Eₗ →L[𝕜] Fₗ) →L[𝕜] Eₗ →L[𝕜] Gₗ) := inferInstance
937+
‖precompR Eₗ L‖ ≤ ‖L‖ :=
939938
calc
940939
‖precompR Eₗ L‖ ≤ ‖compL 𝕜 Eₗ Fₗ Gₗ‖ * ‖L‖ := op_norm_comp_le _ _
941940
_ ≤ 1 * ‖L‖ := (mul_le_mul_of_nonneg_right (norm_compL_le _ _ _ _) (norm_nonneg _))
942941
_ = ‖L‖ := by rw [one_mul]
943942
#align continuous_linear_map.norm_precompR_le ContinuousLinearMap.norm_precompR_le
944943

945-
/-- Porting note: Local instance for `norm_precompL_le`.
946-
Should be by `inferInstance`, and indeed not be needed. -/
947-
local instance : Norm ((Eₗ →L[𝕜] E) →L[𝕜] Fₗ →L[𝕜] Eₗ →L[𝕜] Gₗ) :=
948-
hasOpNorm (E := Eₗ →L[𝕜] E) (F := Fₗ →L[𝕜] Eₗ →L[𝕜] Gₗ) in
949-
theorem norm_precompL_le (L : E →L[𝕜] Fₗ →L[𝕜] Gₗ) : ‖precompL Eₗ L‖ ≤ ‖L‖ := by
944+
theorem norm_precompL_le (L : E →L[𝕜] Fₗ →L[𝕜] Gₗ) :
945+
-- porting note: added
946+
letI : Norm ((Eₗ →L[𝕜] E) →L[𝕜] Fₗ →L[𝕜] Eₗ →L[𝕜] Gₗ) :=
947+
hasOpNorm (E := Eₗ →L[𝕜] E) (F := Fₗ →L[𝕜] Eₗ →L[𝕜] Gₗ)
948+
‖precompL Eₗ L‖ ≤ ‖L‖ := by
950949
rw [precompL, op_norm_flip, ← op_norm_flip L]
951950
exact norm_precompR_le _ L.flip
952951
#align continuous_linear_map.norm_precompL_le ContinuousLinearMap.norm_precompL_le
@@ -1105,11 +1104,9 @@ theorem op_norm_mulLeftRight_apply_le (x : 𝕜') : ‖mulLeftRight 𝕜 𝕜' x
11051104
op_norm_le_bound _ (norm_nonneg x) (op_norm_mulLeftRight_apply_apply_le 𝕜 𝕜' x)
11061105
#align continuous_linear_map.op_norm_mul_left_right_apply_le ContinuousLinearMap.op_norm_mulLeftRight_apply_le
11071106

1108-
/-- Porting note: Local instance for `op_norm_mulLeftRight_le`.
1109-
Should be by `inferInstance`, and indeed not be needed. -/
1110-
local instance : Norm (𝕜' →L[𝕜] 𝕜' →L[𝕜] 𝕜' →L[𝕜] 𝕜') :=
1111-
hasOpNorm (E := 𝕜') (F := 𝕜' →L[𝕜] 𝕜' →L[𝕜] 𝕜') in
1112-
theorem op_norm_mulLeftRight_le : ‖mulLeftRight 𝕜 𝕜'‖ ≤ 1 :=
1107+
theorem op_norm_mulLeftRight_le :
1108+
letI : Norm (𝕜' →L[𝕜] 𝕜' →L[𝕜] 𝕜' →L[𝕜] 𝕜') := hasOpNorm (E := 𝕜') (F := 𝕜' →L[𝕜] 𝕜' →L[𝕜] 𝕜')
1109+
‖mulLeftRight 𝕜 𝕜'‖ ≤ 1 :=
11131110
op_norm_le_bound _ zero_le_one fun x => (one_mul ‖x‖).symm ▸ op_norm_mulLeftRight_apply_le 𝕜 𝕜' x
11141111
#align continuous_linear_map.op_norm_mul_left_right_le ContinuousLinearMap.op_norm_mulLeftRight_le
11151112

scripts/nolints.json

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -266,8 +266,6 @@
266266
["docBlame", "ContinuousAffineMap.cont"],
267267
["docBlame", "ContinuousDiv.continuous_div'"],
268268
["docBlame", "ContinuousInv.continuous_inv"],
269-
["docBlame",
270-
"ContinuousLinearMap.instNormedSpaceContinuousLinearMapToSemiringToDivisionSemiringToSemifieldToFieldToNormedFieldIdToNonAssocSemiringContinuousLinearMapToTopologicalSpaceToUniformSpaceToPseudoMetricSpaceToAddCommMonoidToAddCommGroupToTopologicalSpaceToUniformSpaceToPseudoMetricSpaceToAddCommMonoidToAddCommGroupToModuleToModuleTopologicalSpaceToTopologicalAddGroupAddCommMonoidToContinuousAddToAddGroupToSeminormedAddGroupContinuousLinearMapToTopologicalSpaceToUniformSpaceToPseudoMetricSpaceToAddCommMonoidToAddCommGroupToModuleTopologicalSpaceToTopologicalAddGroupAddCommMonoidToContinuousAddToAddGroupToSeminormedAddGroupModuleSmulCommClass_selfToCommMonoidToCommRingToEuclideanDomainToMulActionToMonoidWithZeroToZeroToNegZeroClassToSubNegZeroMonoidToSubtractionMonoidToDivisionAddCommMonoidToMulActionWithZeroContinuousConstSMulToTopologicalSpaceToUniformSpaceToPseudoMetricSpaceToSeminormedRingToSeminormedCommRingToNormedCommRingToSMulToZeroToAddMonoidToSMulZeroClassToZeroToSMulWithZeroContinuousSMulToZeroToCommMonoidWithZeroToCommGroupWithZeroBoundedSMulModuleSmulCommClass_selfToMulActionToZeroToNegZeroClassToSubNegZeroMonoidToSubtractionMonoidToDivisionAddCommMonoidToMulActionWithZeroContinuousConstSMulToSMulToZeroToAddMonoidToSMulZeroClassToSMulWithZeroContinuousSMulBoundedSMulInstSeminormedAddCommGroupContinuousLinearMapToSemiringToDivisionSemiringToSemifieldToFieldToNormedFieldIdToNonAssocSemiringContinuousLinearMapToTopologicalSpaceToUniformSpaceToPseudoMetricSpaceToAddCommMonoidToAddCommGroupToTopologicalSpaceToUniformSpaceToPseudoMetricSpaceToAddCommMonoidToAddCommGroupToModuleToModuleTopologicalSpaceToTopologicalAddGroupAddCommMonoidToContinuousAddToAddGroupToSeminormedAddGroupContinuousLinearMapToTopologicalSpaceToUniformSpaceToPseudoMetricSpaceToAddCommMonoidToAddCommGroupToModuleTopologicalSpaceToTopologicalAddGroupAddCommMonoidToContinuousAddToAddGroupToSeminormedAddGroupModuleSmulCommClass_selfToCommMonoidToCommRingToEuclideanDomainToMulActionToMonoidWithZeroToZeroToNegZeroClassToSubNegZeroMonoidToSubtractionMonoidToDivisionAddCommMonoidToMulActionWithZeroContinuousConstSMulToTopologicalSpaceToUniformSpaceToPseudoMetricSpaceToSeminormedRingToSeminormedCommRingToNormedCommRingToSMulToZeroToAddMonoidToSMulZeroClassToZeroToSMulWithZeroContinuousSMulToZeroToCommMonoidWithZeroToCommGroupWithZeroBoundedSMulModuleSmulCommClass_selfToMulActionToZeroToNegZeroClassToSubNegZeroMonoidToSubtractionMonoidToDivisionAddCommMonoidToMulActionWithZeroContinuousConstSMulToSMulToZeroToAddMonoidToSMulZeroClassToSMulWithZeroContinuousSMulBoundedSMul"],
271269
["docBlame", "ContinuousMap.«term_≃ₕ_»"],
272270
["docBlame", "ContinuousMul.continuous_mul"],
273271
["docBlame", "ContinuousNeg.continuous_neg"],

0 commit comments

Comments
 (0)