analysis.normed_space.enorm ⟷ Mathlib.Analysis.NormedSpace.ENorm

This file has been ported!

Changes since the initial port

The following section lists changes to this file in mathlib3 and mathlib4 that occured after the initial port. Most recent changes are shown first. Hovering over a commit will show all commits associated with the same mathlib3 commit.

Changes in mathlib3

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(last sync)

Changes in mathlib3port

mathlib3
mathlib3port
Diff
@@ -162,7 +162,7 @@ noncomputable instance : Top (ENorm π•œ V) :=
         simpa [hx, hy] using hxy
       map_smul_le' := fun c x =>
         by
-        split_ifs with hcx hx hx <;> simp only [smul_eq_zero, not_or] at hcx 
+        split_ifs with hcx hx hx <;> simp only [smul_eq_zero, not_or] at hcx
         Β· simp only [MulZeroClass.mul_zero, le_refl]
         Β· have : c = 0 := by tauto
           simp [this]
Diff
@@ -3,7 +3,7 @@ Copyright (c) 2020 Yury G. Kudryashov. All rights reserved.
 Released under Apache 2.0 license as described in the file LICENSE.
 Authors: Yury G. Kudryashov
 -/
-import Mathbin.Analysis.NormedSpace.Basic
+import Analysis.NormedSpace.Basic
 
 #align_import analysis.normed_space.enorm from "leanprover-community/mathlib"@"6b31d1eebd64eab86d5bd9936bfaada6ca8b5842"
 
Diff
@@ -2,14 +2,11 @@
 Copyright (c) 2020 Yury G. Kudryashov. All rights reserved.
 Released under Apache 2.0 license as described in the file LICENSE.
 Authors: Yury G. Kudryashov
-
-! This file was ported from Lean 3 source module analysis.normed_space.enorm
-! leanprover-community/mathlib commit 6b31d1eebd64eab86d5bd9936bfaada6ca8b5842
-! Please do not edit these lines, except to modify the commit id
-! if you have ported upstream changes.
 -/
 import Mathbin.Analysis.NormedSpace.Basic
 
+#align_import analysis.normed_space.enorm from "leanprover-community/mathlib"@"6b31d1eebd64eab86d5bd9936bfaada6ca8b5842"
+
 /-!
 # Extended norm
 
Diff
@@ -69,20 +69,27 @@ theorem coeFn_injective : Function.Injective (coeFn : ENorm π•œ V β†’ V β†’ ℝ
 #align enorm.coe_fn_injective ENorm.coeFn_injective
 -/
 
+#print ENorm.ext /-
 @[ext]
 theorem ext {e₁ eβ‚‚ : ENorm π•œ V} (h : βˆ€ x, e₁ x = eβ‚‚ x) : e₁ = eβ‚‚ :=
   coeFn_injective <| funext h
 #align enorm.ext ENorm.ext
+-/
 
+#print ENorm.ext_iff /-
 theorem ext_iff {e₁ eβ‚‚ : ENorm π•œ V} : e₁ = eβ‚‚ ↔ βˆ€ x, e₁ x = eβ‚‚ x :=
   ⟨fun h x => h β–Έ rfl, ext⟩
 #align enorm.ext_iff ENorm.ext_iff
+-/
 
+#print ENorm.coe_inj /-
 @[simp, norm_cast]
 theorem coe_inj {e₁ eβ‚‚ : ENorm π•œ V} : (e₁ : V β†’ ℝβ‰₯0∞) = eβ‚‚ ↔ e₁ = eβ‚‚ :=
   coeFn_injective.eq_iff
 #align enorm.coe_inj ENorm.coe_inj
+-/
 
+#print ENorm.map_smul /-
 @[simp]
 theorem map_smul (c : π•œ) (x : V) : e (c β€’ x) = β€–cβ€–β‚Š * e x :=
   le_antisymm (e.map_smul_le' c x) <| by
@@ -97,36 +104,49 @@ theorem map_smul (c : π•œ) (x : V) : e (c β€’ x) = β€–cβ€–β‚Š * e x :=
           one_mul] <;>
         simp [hc]
 #align enorm.map_smul ENorm.map_smul
+-/
 
+#print ENorm.map_zero /-
 @[simp]
 theorem map_zero : e 0 = 0 := by rw [← zero_smul π•œ (0 : V), e.map_smul]; norm_num
 #align enorm.map_zero ENorm.map_zero
+-/
 
+#print ENorm.eq_zero_iff /-
 @[simp]
 theorem eq_zero_iff {x : V} : e x = 0 ↔ x = 0 :=
   ⟨e.eq_zero' x, fun h => h.symm β–Έ e.map_zero⟩
 #align enorm.eq_zero_iff ENorm.eq_zero_iff
+-/
 
+#print ENorm.map_neg /-
 @[simp]
 theorem map_neg (x : V) : e (-x) = e x :=
   calc
     e (-x) = β€–(-1 : π•œ)β€–β‚Š * e x := by rw [← map_smul, neg_one_smul]
     _ = e x := by simp
 #align enorm.map_neg ENorm.map_neg
+-/
 
+#print ENorm.map_sub_rev /-
 theorem map_sub_rev (x y : V) : e (x - y) = e (y - x) := by rw [← neg_sub, e.map_neg]
 #align enorm.map_sub_rev ENorm.map_sub_rev
+-/
 
+#print ENorm.map_add_le /-
 theorem map_add_le (x y : V) : e (x + y) ≀ e x + e y :=
   e.map_add_le' x y
 #align enorm.map_add_le ENorm.map_add_le
+-/
 
+#print ENorm.map_sub_le /-
 theorem map_sub_le (x y : V) : e (x - y) ≀ e x + e y :=
   calc
     e (x - y) = e (x + -y) := by rw [sub_eq_add_neg]
     _ ≀ e x + e (-y) := (e.map_add_le x (-y))
     _ = e x + e y := by rw [e.map_neg]
 #align enorm.map_sub_le ENorm.map_sub_le
+-/
 
 instance : PartialOrder (ENorm π•œ V)
     where
@@ -155,9 +175,11 @@ noncomputable instance : Top (ENorm π•œ V) :=
 noncomputable instance : Inhabited (ENorm π•œ V) :=
   ⟨⊀⟩
 
+#print ENorm.top_map /-
 theorem top_map {x : V} (hx : x β‰  0) : (⊀ : ENorm π•œ V) x = ⊀ :=
   if_neg hx
 #align enorm.top_map ENorm.top_map
+-/
 
 noncomputable instance : OrderTop (ENorm π•œ V)
     where
@@ -179,15 +201,19 @@ noncomputable instance : SemilatticeSup (ENorm π•œ V) :=
     le_sup_right := fun e₁ eβ‚‚ x => le_max_right _ _
     sup_le := fun e₁ eβ‚‚ e₃ h₁ hβ‚‚ x => max_le (h₁ x) (hβ‚‚ x) }
 
+#print ENorm.coe_max /-
 @[simp, norm_cast]
 theorem coe_max (e₁ eβ‚‚ : ENorm π•œ V) : ⇑(e₁ βŠ” eβ‚‚) = fun x => max (e₁ x) (eβ‚‚ x) :=
   rfl
 #align enorm.coe_max ENorm.coe_max
+-/
 
+#print ENorm.max_map /-
 @[norm_cast]
 theorem max_map (e₁ eβ‚‚ : ENorm π•œ V) (x : V) : (e₁ βŠ” eβ‚‚) x = max (e₁ x) (eβ‚‚ x) :=
   rfl
 #align enorm.max_map ENorm.max_map
+-/
 
 #print ENorm.emetricSpace /-
 /-- Structure of an `emetric_space` defined by an extended norm. -/
@@ -226,13 +252,17 @@ instance : MetricSpace e.finiteSubspace :=
   change e (x - y) β‰  ⊀
   exact ne_top_of_le_ne_top (ENNReal.add_lt_top.2 ⟨x.2, y.2⟩).Ne (e.map_sub_le x y)
 
+#print ENorm.finite_dist_eq /-
 theorem finite_dist_eq (x y : e.finiteSubspace) : dist x y = (e (x - y)).toReal :=
   rfl
 #align enorm.finite_dist_eq ENorm.finite_dist_eq
+-/
 
+#print ENorm.finite_edist_eq /-
 theorem finite_edist_eq (x y : e.finiteSubspace) : edist x y = e (x - y) :=
   rfl
 #align enorm.finite_edist_eq ENorm.finite_edist_eq
+-/
 
 /-- Normed group instance on `e.finite_subspace`. -/
 instance : NormedAddCommGroup e.finiteSubspace :=
@@ -241,9 +271,11 @@ instance : NormedAddCommGroup e.finiteSubspace :=
     norm := fun x => (e x).toReal
     dist_eq := fun x y => rfl }
 
+#print ENorm.finite_norm_eq /-
 theorem finite_norm_eq (x : e.finiteSubspace) : β€–xβ€– = (e x).toReal :=
   rfl
 #align enorm.finite_norm_eq ENorm.finite_norm_eq
+-/
 
 /-- Normed space instance on `e.finite_subspace`. -/
 instance : NormedSpace π•œ e.finiteSubspace
Diff
@@ -4,7 +4,7 @@ Released under Apache 2.0 license as described in the file LICENSE.
 Authors: Yury G. Kudryashov
 
 ! This file was ported from Lean 3 source module analysis.normed_space.enorm
-! leanprover-community/mathlib commit 57ac39bd365c2f80589a700f9fbb664d3a1a30c2
+! leanprover-community/mathlib commit 6b31d1eebd64eab86d5bd9936bfaada6ca8b5842
 ! Please do not edit these lines, except to modify the commit id
 ! if you have ported upstream changes.
 -/
@@ -13,6 +13,9 @@ import Mathbin.Analysis.NormedSpace.Basic
 /-!
 # Extended norm
 
+> THIS FILE IS SYNCHRONIZED WITH MATHLIB4.
+> Any changes to this file require a corresponding PR to mathlib4.
+
 In this file we define a structure `enorm π•œ V` representing an extended norm (i.e., a norm that can
 take the value `∞`) on a vector space `V` over a normed field `π•œ`. We do not use `class` for
 an `enorm` because the same space can have more than one extended norm. For example, the space of
Diff
@@ -88,7 +88,6 @@ theorem map_smul (c : π•œ) (x : V) : e (c β€’ x) = β€–cβ€–β‚Š * e x :=
       (β€–cβ€–β‚Š : ℝβ‰₯0∞) * e x = β€–cβ€–β‚Š * e (c⁻¹ β€’ c β€’ x) := by rw [inv_smul_smulβ‚€ hc]
       _ ≀ β€–cβ€–β‚Š * (β€–cβ»ΒΉβ€–β‚Š * e (c β€’ x)) := _
       _ = e (c β€’ x) := _
-      
     Β· exact mul_le_mul_left' (e.map_smul_le' _ _) _
     Β·
       rw [← mul_assoc, nnnorm_inv, ENNReal.coe_inv, ENNReal.mul_inv_cancel _ ENNReal.coe_ne_top,
@@ -110,7 +109,6 @@ theorem map_neg (x : V) : e (-x) = e x :=
   calc
     e (-x) = β€–(-1 : π•œ)β€–β‚Š * e x := by rw [← map_smul, neg_one_smul]
     _ = e x := by simp
-    
 #align enorm.map_neg ENorm.map_neg
 
 theorem map_sub_rev (x y : V) : e (x - y) = e (y - x) := by rw [← neg_sub, e.map_neg]
@@ -125,7 +123,6 @@ theorem map_sub_le (x y : V) : e (x - y) ≀ e x + e y :=
     e (x - y) = e (x + -y) := by rw [sub_eq_add_neg]
     _ ≀ e x + e (-y) := (e.map_add_le x (-y))
     _ = e x + e y := by rw [e.map_neg]
-    
 #align enorm.map_sub_le ENorm.map_sub_le
 
 instance : PartialOrder (ENorm π•œ V)
@@ -201,7 +198,6 @@ def emetricSpace : EMetricSpace V where
     calc
       e (x - z) = e (x - y + (y - z)) := by rw [sub_add_sub_cancel]
       _ ≀ e (x - y) + e (y - z) := e.map_add_le (x - y) (y - z)
-      
 #align enorm.emetric_space ENorm.emetricSpace
 -/
 
@@ -215,7 +211,6 @@ def finiteSubspace : Subspace π•œ V where
     calc
       e (c β€’ x) = β€–cβ€–β‚Š * e x := e.map_smul c x
       _ < ⊀ := ENNReal.mul_lt_top ENNReal.coe_ne_top hx.Ne
-      
 #align enorm.finite_subspace ENorm.finiteSubspace
 -/
 
Diff
@@ -42,39 +42,43 @@ attribute [local instance 1001] Classical.propDecidable
 
 open scoped ENNReal
 
+#print ENorm /-
 /-- Extended norm on a vector space. As in the case of normed spaces, we require only
 `β€–c β€’ xβ€– ≀ β€–cβ€– * β€–xβ€–` in the definition, then prove an equality in `map_smul`. -/
-structure Enorm (π•œ : Type _) (V : Type _) [NormedField π•œ] [AddCommGroup V] [Module π•œ V] where
+structure ENorm (π•œ : Type _) (V : Type _) [NormedField π•œ] [AddCommGroup V] [Module π•œ V] where
   toFun : V β†’ ℝβ‰₯0∞
   eq_zero' : βˆ€ x, to_fun x = 0 β†’ x = 0
   map_add_le' : βˆ€ x y : V, to_fun (x + y) ≀ to_fun x + to_fun y
   map_smul_le' : βˆ€ (c : π•œ) (x : V), to_fun (c β€’ x) ≀ β€–cβ€–β‚Š * to_fun x
-#align enorm Enorm
+#align enorm ENorm
+-/
 
-namespace Enorm
+namespace ENorm
 
-variable {π•œ : Type _} {V : Type _} [NormedField π•œ] [AddCommGroup V] [Module π•œ V] (e : Enorm π•œ V)
+variable {π•œ : Type _} {V : Type _} [NormedField π•œ] [AddCommGroup V] [Module π•œ V] (e : ENorm π•œ V)
 
-instance : CoeFun (Enorm π•œ V) fun _ => V β†’ ℝβ‰₯0∞ :=
-  ⟨Enorm.toFun⟩
+instance : CoeFun (ENorm π•œ V) fun _ => V β†’ ℝβ‰₯0∞ :=
+  ⟨ENorm.toFun⟩
 
-theorem coeFn_injective : Function.Injective (coeFn : Enorm π•œ V β†’ V β†’ ℝβ‰₯0∞) := fun e₁ eβ‚‚ h => by
+#print ENorm.coeFn_injective /-
+theorem coeFn_injective : Function.Injective (coeFn : ENorm π•œ V β†’ V β†’ ℝβ‰₯0∞) := fun e₁ eβ‚‚ h => by
   cases e₁ <;> cases eβ‚‚ <;> congr <;> exact h
-#align enorm.coe_fn_injective Enorm.coeFn_injective
+#align enorm.coe_fn_injective ENorm.coeFn_injective
+-/
 
 @[ext]
-theorem ext {e₁ eβ‚‚ : Enorm π•œ V} (h : βˆ€ x, e₁ x = eβ‚‚ x) : e₁ = eβ‚‚ :=
+theorem ext {e₁ eβ‚‚ : ENorm π•œ V} (h : βˆ€ x, e₁ x = eβ‚‚ x) : e₁ = eβ‚‚ :=
   coeFn_injective <| funext h
-#align enorm.ext Enorm.ext
+#align enorm.ext ENorm.ext
 
-theorem ext_iff {e₁ eβ‚‚ : Enorm π•œ V} : e₁ = eβ‚‚ ↔ βˆ€ x, e₁ x = eβ‚‚ x :=
+theorem ext_iff {e₁ eβ‚‚ : ENorm π•œ V} : e₁ = eβ‚‚ ↔ βˆ€ x, e₁ x = eβ‚‚ x :=
   ⟨fun h x => h β–Έ rfl, ext⟩
-#align enorm.ext_iff Enorm.ext_iff
+#align enorm.ext_iff ENorm.ext_iff
 
 @[simp, norm_cast]
-theorem coe_inj {e₁ eβ‚‚ : Enorm π•œ V} : (e₁ : V β†’ ℝβ‰₯0∞) = eβ‚‚ ↔ e₁ = eβ‚‚ :=
+theorem coe_inj {e₁ eβ‚‚ : ENorm π•œ V} : (e₁ : V β†’ ℝβ‰₯0∞) = eβ‚‚ ↔ e₁ = eβ‚‚ :=
   coeFn_injective.eq_iff
-#align enorm.coe_inj Enorm.coe_inj
+#align enorm.coe_inj ENorm.coe_inj
 
 @[simp]
 theorem map_smul (c : π•œ) (x : V) : e (c β€’ x) = β€–cβ€–β‚Š * e x :=
@@ -90,16 +94,16 @@ theorem map_smul (c : π•œ) (x : V) : e (c β€’ x) = β€–cβ€–β‚Š * e x :=
       rw [← mul_assoc, nnnorm_inv, ENNReal.coe_inv, ENNReal.mul_inv_cancel _ ENNReal.coe_ne_top,
           one_mul] <;>
         simp [hc]
-#align enorm.map_smul Enorm.map_smul
+#align enorm.map_smul ENorm.map_smul
 
 @[simp]
 theorem map_zero : e 0 = 0 := by rw [← zero_smul π•œ (0 : V), e.map_smul]; norm_num
-#align enorm.map_zero Enorm.map_zero
+#align enorm.map_zero ENorm.map_zero
 
 @[simp]
 theorem eq_zero_iff {x : V} : e x = 0 ↔ x = 0 :=
   ⟨e.eq_zero' x, fun h => h.symm β–Έ e.map_zero⟩
-#align enorm.eq_zero_iff Enorm.eq_zero_iff
+#align enorm.eq_zero_iff ENorm.eq_zero_iff
 
 @[simp]
 theorem map_neg (x : V) : e (-x) = e x :=
@@ -107,14 +111,14 @@ theorem map_neg (x : V) : e (-x) = e x :=
     e (-x) = β€–(-1 : π•œ)β€–β‚Š * e x := by rw [← map_smul, neg_one_smul]
     _ = e x := by simp
     
-#align enorm.map_neg Enorm.map_neg
+#align enorm.map_neg ENorm.map_neg
 
 theorem map_sub_rev (x y : V) : e (x - y) = e (y - x) := by rw [← neg_sub, e.map_neg]
-#align enorm.map_sub_rev Enorm.map_sub_rev
+#align enorm.map_sub_rev ENorm.map_sub_rev
 
 theorem map_add_le (x y : V) : e (x + y) ≀ e x + e y :=
   e.map_add_le' x y
-#align enorm.map_add_le Enorm.map_add_le
+#align enorm.map_add_le ENorm.map_add_le
 
 theorem map_sub_le (x y : V) : e (x - y) ≀ e x + e y :=
   calc
@@ -122,9 +126,9 @@ theorem map_sub_le (x y : V) : e (x - y) ≀ e x + e y :=
     _ ≀ e x + e (-y) := (e.map_add_le x (-y))
     _ = e x + e y := by rw [e.map_neg]
     
-#align enorm.map_sub_le Enorm.map_sub_le
+#align enorm.map_sub_le ENorm.map_sub_le
 
-instance : PartialOrder (Enorm π•œ V)
+instance : PartialOrder (ENorm π•œ V)
     where
   le e₁ eβ‚‚ := βˆ€ x, e₁ x ≀ eβ‚‚ x
   le_refl e x := le_rfl
@@ -132,7 +136,7 @@ instance : PartialOrder (Enorm π•œ V)
   le_antisymm e₁ eβ‚‚ h₁₂ h₂₁ := ext fun x => le_antisymm (h₁₂ x) (h₂₁ x)
 
 /-- The `enorm` sending each non-zero vector to infinity. -/
-noncomputable instance : Top (Enorm π•œ V) :=
+noncomputable instance : Top (ENorm π•œ V) :=
   ⟨{  toFun := fun x => if x = 0 then 0 else ⊀
       eq_zero' := fun x => by split_ifs <;> simp [*]
       map_add_le' := fun x y =>
@@ -148,20 +152,20 @@ noncomputable instance : Top (Enorm π•œ V) :=
         Β· tauto
         · simp [hcx.1] }⟩
 
-noncomputable instance : Inhabited (Enorm π•œ V) :=
+noncomputable instance : Inhabited (ENorm π•œ V) :=
   ⟨⊀⟩
 
-theorem top_map {x : V} (hx : x β‰  0) : (⊀ : Enorm π•œ V) x = ⊀ :=
+theorem top_map {x : V} (hx : x β‰  0) : (⊀ : ENorm π•œ V) x = ⊀ :=
   if_neg hx
-#align enorm.top_map Enorm.top_map
+#align enorm.top_map ENorm.top_map
 
-noncomputable instance : OrderTop (Enorm π•œ V)
+noncomputable instance : OrderTop (ENorm π•œ V)
     where
   top := ⊀
   le_top e x := if h : x = 0 then by simp [h] else by simp [top_map h]
 
-noncomputable instance : SemilatticeSup (Enorm π•œ V) :=
-  { Enorm.partialOrder with
+noncomputable instance : SemilatticeSup (ENorm π•œ V) :=
+  { ENorm.partialOrder with
     le := (Β· ≀ Β·)
     lt := (Β· < Β·)
     sup := fun e₁ eβ‚‚ =>
@@ -176,15 +180,16 @@ noncomputable instance : SemilatticeSup (Enorm π•œ V) :=
     sup_le := fun e₁ eβ‚‚ e₃ h₁ hβ‚‚ x => max_le (h₁ x) (hβ‚‚ x) }
 
 @[simp, norm_cast]
-theorem coe_max (e₁ eβ‚‚ : Enorm π•œ V) : ⇑(e₁ βŠ” eβ‚‚) = fun x => max (e₁ x) (eβ‚‚ x) :=
+theorem coe_max (e₁ eβ‚‚ : ENorm π•œ V) : ⇑(e₁ βŠ” eβ‚‚) = fun x => max (e₁ x) (eβ‚‚ x) :=
   rfl
-#align enorm.coe_max Enorm.coe_max
+#align enorm.coe_max ENorm.coe_max
 
 @[norm_cast]
-theorem max_map (e₁ eβ‚‚ : Enorm π•œ V) (x : V) : (e₁ βŠ” eβ‚‚) x = max (e₁ x) (eβ‚‚ x) :=
+theorem max_map (e₁ eβ‚‚ : ENorm π•œ V) (x : V) : (e₁ βŠ” eβ‚‚) x = max (e₁ x) (eβ‚‚ x) :=
   rfl
-#align enorm.max_map Enorm.max_map
+#align enorm.max_map ENorm.max_map
 
+#print ENorm.emetricSpace /-
 /-- Structure of an `emetric_space` defined by an extended norm. -/
 @[reducible]
 def emetricSpace : EMetricSpace V where
@@ -197,8 +202,10 @@ def emetricSpace : EMetricSpace V where
       e (x - z) = e (x - y + (y - z)) := by rw [sub_add_sub_cancel]
       _ ≀ e (x - y) + e (y - z) := e.map_add_le (x - y) (y - z)
       
-#align enorm.emetric_space Enorm.emetricSpace
+#align enorm.emetric_space ENorm.emetricSpace
+-/
 
+#print ENorm.finiteSubspace /-
 /-- The subspace of vectors with finite enorm. -/
 def finiteSubspace : Subspace π•œ V where
   carrier := {x | e x < ⊀}
@@ -209,7 +216,8 @@ def finiteSubspace : Subspace π•œ V where
       e (c β€’ x) = β€–cβ€–β‚Š * e x := e.map_smul c x
       _ < ⊀ := ENNReal.mul_lt_top ENNReal.coe_ne_top hx.Ne
       
-#align enorm.finite_subspace Enorm.finiteSubspace
+#align enorm.finite_subspace ENorm.finiteSubspace
+-/
 
 /-- Metric space structure on `e.finite_subspace`. We use `emetric_space.to_metric_space`
 to ensure that this definition agrees with `e.emetric_space`. -/
@@ -222,11 +230,11 @@ instance : MetricSpace e.finiteSubspace :=
 
 theorem finite_dist_eq (x y : e.finiteSubspace) : dist x y = (e (x - y)).toReal :=
   rfl
-#align enorm.finite_dist_eq Enorm.finite_dist_eq
+#align enorm.finite_dist_eq ENorm.finite_dist_eq
 
 theorem finite_edist_eq (x y : e.finiteSubspace) : edist x y = e (x - y) :=
   rfl
-#align enorm.finite_edist_eq Enorm.finite_edist_eq
+#align enorm.finite_edist_eq ENorm.finite_edist_eq
 
 /-- Normed group instance on `e.finite_subspace`. -/
 instance : NormedAddCommGroup e.finiteSubspace :=
@@ -237,11 +245,11 @@ instance : NormedAddCommGroup e.finiteSubspace :=
 
 theorem finite_norm_eq (x : e.finiteSubspace) : β€–xβ€– = (e x).toReal :=
   rfl
-#align enorm.finite_norm_eq Enorm.finite_norm_eq
+#align enorm.finite_norm_eq ENorm.finite_norm_eq
 
 /-- Normed space instance on `e.finite_subspace`. -/
 instance : NormedSpace π•œ e.finiteSubspace
     where norm_smul_le c x := le_of_eq <| by simp [finite_norm_eq, ENNReal.toReal_mul]
 
-end Enorm
+end ENorm
 
Diff
@@ -200,9 +200,8 @@ def emetricSpace : EMetricSpace V where
 #align enorm.emetric_space Enorm.emetricSpace
 
 /-- The subspace of vectors with finite enorm. -/
-def finiteSubspace : Subspace π•œ V
-    where
-  carrier := { x | e x < ⊀ }
+def finiteSubspace : Subspace π•œ V where
+  carrier := {x | e x < ⊀}
   zero_mem' := by simp
   add_mem' x y hx hy := lt_of_le_of_lt (e.map_add_le x y) (ENNReal.add_lt_top.2 ⟨hx, hy⟩)
   smul_mem' c x (hx : _ < _) :=
Diff
@@ -141,7 +141,7 @@ noncomputable instance : Top (Enorm π•œ V) :=
         simpa [hx, hy] using hxy
       map_smul_le' := fun c x =>
         by
-        split_ifs with hcx hx hx <;> simp only [smul_eq_zero, not_or] at hcx
+        split_ifs with hcx hx hx <;> simp only [smul_eq_zero, not_or] at hcx 
         Β· simp only [MulZeroClass.mul_zero, le_refl]
         Β· have : c = 0 := by tauto
           simp [this]
Diff
@@ -40,7 +40,7 @@ noncomputable section
 
 attribute [local instance 1001] Classical.propDecidable
 
-open ENNReal
+open scoped ENNReal
 
 /-- Extended norm on a vector space. As in the case of normed spaces, we require only
 `β€–c β€’ xβ€– ≀ β€–cβ€– * β€–xβ€–` in the definition, then prove an equality in `map_smul`. -/
Diff
@@ -93,9 +93,7 @@ theorem map_smul (c : π•œ) (x : V) : e (c β€’ x) = β€–cβ€–β‚Š * e x :=
 #align enorm.map_smul Enorm.map_smul
 
 @[simp]
-theorem map_zero : e 0 = 0 := by
-  rw [← zero_smul π•œ (0 : V), e.map_smul]
-  norm_num
+theorem map_zero : e 0 = 0 := by rw [← zero_smul π•œ (0 : V), e.map_smul]; norm_num
 #align enorm.map_zero Enorm.map_zero
 
 @[simp]
Diff
@@ -38,7 +38,7 @@ normed space, extended norm
 
 noncomputable section
 
-attribute [local instance] Classical.propDecidable
+attribute [local instance 1001] Classical.propDecidable
 
 open ENNReal
 
Diff
@@ -144,7 +144,7 @@ noncomputable instance : Top (Enorm π•œ V) :=
       map_smul_le' := fun c x =>
         by
         split_ifs with hcx hx hx <;> simp only [smul_eq_zero, not_or] at hcx
-        Β· simp only [mul_zero, le_refl]
+        Β· simp only [MulZeroClass.mul_zero, le_refl]
         Β· have : c = 0 := by tauto
           simp [this]
         Β· tauto
Diff
@@ -189,7 +189,7 @@ theorem max_map (e₁ eβ‚‚ : Enorm π•œ V) (x : V) : (e₁ βŠ” eβ‚‚) x = max (e
 
 /-- Structure of an `emetric_space` defined by an extended norm. -/
 @[reducible]
-def emetricSpace : EmetricSpace V where
+def emetricSpace : EMetricSpace V where
   edist x y := e (x - y)
   edist_self x := by simp
   eq_of_edist_eq_zero x y := by simp [sub_eq_zero]
@@ -219,7 +219,7 @@ to ensure that this definition agrees with `e.emetric_space`. -/
 instance : MetricSpace e.finiteSubspace :=
   by
   letI := e.emetric_space
-  refine' EmetricSpace.toMetricSpace fun x y => _
+  refine' EMetricSpace.toMetricSpace fun x y => _
   change e (x - y) β‰  ⊀
   exact ne_top_of_le_ne_top (ENNReal.add_lt_top.2 ⟨x.2, y.2⟩).Ne (e.map_sub_le x y)
 
Diff
@@ -121,7 +121,7 @@ theorem map_add_le (x y : V) : e (x + y) ≀ e x + e y :=
 theorem map_sub_le (x y : V) : e (x - y) ≀ e x + e y :=
   calc
     e (x - y) = e (x + -y) := by rw [sub_eq_add_neg]
-    _ ≀ e x + e (-y) := e.map_add_le x (-y)
+    _ ≀ e x + e (-y) := (e.map_add_le x (-y))
     _ = e x + e y := by rw [e.map_neg]
     
 #align enorm.map_sub_le Enorm.map_sub_le
Diff
@@ -4,7 +4,7 @@ Released under Apache 2.0 license as described in the file LICENSE.
 Authors: Yury G. Kudryashov
 
 ! This file was ported from Lean 3 source module analysis.normed_space.enorm
-! leanprover-community/mathlib commit 17ef379e997badd73e5eabb4d38f11919ab3c4b3
+! leanprover-community/mathlib commit 57ac39bd365c2f80589a700f9fbb664d3a1a30c2
 ! Please do not edit these lines, except to modify the commit id
 ! if you have ported upstream changes.
 -/
@@ -85,7 +85,7 @@ theorem map_smul (c : π•œ) (x : V) : e (c β€’ x) = β€–cβ€–β‚Š * e x :=
       _ ≀ β€–cβ€–β‚Š * (β€–cβ»ΒΉβ€–β‚Š * e (c β€’ x)) := _
       _ = e (c β€’ x) := _
       
-    Β· exact ENNReal.mul_le_mul le_rfl (e.map_smul_le' _ _)
+    Β· exact mul_le_mul_left' (e.map_smul_le' _ _) _
     Β·
       rw [← mul_assoc, nnnorm_inv, ENNReal.coe_inv, ENNReal.mul_inv_cancel _ ENNReal.coe_ne_top,
           one_mul] <;>
Diff
@@ -40,7 +40,7 @@ noncomputable section
 
 attribute [local instance] Classical.propDecidable
 
-open Ennreal
+open ENNReal
 
 /-- Extended norm on a vector space. As in the case of normed spaces, we require only
 `β€–c β€’ xβ€– ≀ β€–cβ€– * β€–xβ€–` in the definition, then prove an equality in `map_smul`. -/
@@ -85,9 +85,9 @@ theorem map_smul (c : π•œ) (x : V) : e (c β€’ x) = β€–cβ€–β‚Š * e x :=
       _ ≀ β€–cβ€–β‚Š * (β€–cβ»ΒΉβ€–β‚Š * e (c β€’ x)) := _
       _ = e (c β€’ x) := _
       
-    Β· exact Ennreal.mul_le_mul le_rfl (e.map_smul_le' _ _)
+    Β· exact ENNReal.mul_le_mul le_rfl (e.map_smul_le' _ _)
     Β·
-      rw [← mul_assoc, nnnorm_inv, Ennreal.coe_inv, Ennreal.mul_inv_cancel _ Ennreal.coe_ne_top,
+      rw [← mul_assoc, nnnorm_inv, ENNReal.coe_inv, ENNReal.mul_inv_cancel _ ENNReal.coe_ne_top,
           one_mul] <;>
         simp [hc]
 #align enorm.map_smul Enorm.map_smul
@@ -168,11 +168,11 @@ noncomputable instance : SemilatticeSup (Enorm π•œ V) :=
     lt := (Β· < Β·)
     sup := fun e₁ eβ‚‚ =>
       { toFun := fun x => max (e₁ x) (eβ‚‚ x)
-        eq_zero' := fun x h => e₁.eq_zero_iff.1 (Ennreal.max_eq_zero_iff.1 h).1
+        eq_zero' := fun x h => e₁.eq_zero_iff.1 (ENNReal.max_eq_zero_iff.1 h).1
         map_add_le' := fun x y =>
           max_le (le_trans (e₁.map_add_le _ _) <| add_le_add (le_max_left _ _) (le_max_left _ _))
             (le_trans (eβ‚‚.map_add_le _ _) <| add_le_add (le_max_right _ _) (le_max_right _ _))
-        map_smul_le' := fun c x => le_of_eq <| by simp only [map_smul, Ennreal.mul_max] }
+        map_smul_le' := fun c x => le_of_eq <| by simp only [map_smul, ENNReal.mul_max] }
     le_sup_left := fun e₁ eβ‚‚ x => le_max_left _ _
     le_sup_right := fun e₁ eβ‚‚ x => le_max_right _ _
     sup_le := fun e₁ eβ‚‚ e₃ h₁ hβ‚‚ x => max_le (h₁ x) (hβ‚‚ x) }
@@ -206,11 +206,11 @@ def finiteSubspace : Subspace π•œ V
     where
   carrier := { x | e x < ⊀ }
   zero_mem' := by simp
-  add_mem' x y hx hy := lt_of_le_of_lt (e.map_add_le x y) (Ennreal.add_lt_top.2 ⟨hx, hy⟩)
+  add_mem' x y hx hy := lt_of_le_of_lt (e.map_add_le x y) (ENNReal.add_lt_top.2 ⟨hx, hy⟩)
   smul_mem' c x (hx : _ < _) :=
     calc
       e (c β€’ x) = β€–cβ€–β‚Š * e x := e.map_smul c x
-      _ < ⊀ := Ennreal.mul_lt_top Ennreal.coe_ne_top hx.Ne
+      _ < ⊀ := ENNReal.mul_lt_top ENNReal.coe_ne_top hx.Ne
       
 #align enorm.finite_subspace Enorm.finiteSubspace
 
@@ -221,7 +221,7 @@ instance : MetricSpace e.finiteSubspace :=
   letI := e.emetric_space
   refine' EmetricSpace.toMetricSpace fun x y => _
   change e (x - y) β‰  ⊀
-  exact ne_top_of_le_ne_top (Ennreal.add_lt_top.2 ⟨x.2, y.2⟩).Ne (e.map_sub_le x y)
+  exact ne_top_of_le_ne_top (ENNReal.add_lt_top.2 ⟨x.2, y.2⟩).Ne (e.map_sub_le x y)
 
 theorem finite_dist_eq (x y : e.finiteSubspace) : dist x y = (e (x - y)).toReal :=
   rfl
@@ -244,7 +244,7 @@ theorem finite_norm_eq (x : e.finiteSubspace) : β€–xβ€– = (e x).toReal :=
 
 /-- Normed space instance on `e.finite_subspace`. -/
 instance : NormedSpace π•œ e.finiteSubspace
-    where norm_smul_le c x := le_of_eq <| by simp [finite_norm_eq, Ennreal.toReal_mul]
+    where norm_smul_le c x := le_of_eq <| by simp [finite_norm_eq, ENNReal.toReal_mul]
 
 end Enorm
 

Changes in mathlib4

mathlib3
mathlib4
chore: superfluous parentheses part 2 (#12131)

Co-authored-by: Moritz Firsching <firsching@google.com>

Diff
@@ -120,7 +120,7 @@ theorem map_add_le (x y : V) : e (x + y) ≀ e x + e y :=
 theorem map_sub_le (x y : V) : e (x - y) ≀ e x + e y :=
   calc
     e (x - y) = e (x + -y) := by rw [sub_eq_add_neg]
-    _ ≀ e x + e (-y) := (e.map_add_le x (-y))
+    _ ≀ e x + e (-y) := e.map_add_le x (-y)
     _ = e x + e y := by rw [e.map_neg]
 #align enorm.map_sub_le ENorm.map_sub_le
 
perf: remove overspecified fields (#6965)

This removes redundant field values of the form add := add for smaller terms and less unfolding during unification.

A list of all files containing a structure instance of the form { a1, ... with x1 := val, ... } where some xi is a field of some aj was generated by modifying the structure instance elaboration algorithm to print such overlaps to stdout in a custom toolchain.

Using that toolchain, I went through each file on the list and attempted to remove algebraic fields that overlapped and were redundant, eg add := add and not toFun (though some other ones did creep in). If things broke (which was the case in a couple of cases), I did not push further and reverted.

It is possible that pushing harder and trying to remove all redundant overlaps will yield further improvements.

Diff
@@ -225,8 +225,7 @@ theorem finite_edist_eq (x y : e.finiteSubspace) : edist x y = e (x - y) :=
 
 /-- Normed group instance on `e.finiteSubspace`. -/
 instance normedAddCommGroup : NormedAddCommGroup e.finiteSubspace :=
-  { e.metricSpace,
-    Submodule.addCommGroup _ with
+  { e.metricSpace with
     norm := fun x => (e x).toReal
     dist_eq := fun _ _ => rfl }
 
chore: drop MulZeroClass. in mul_zero/zero_mul (#6682)

Search&replace MulZeroClass.mul_zero -> mul_zero, MulZeroClass.zero_mul -> zero_mul.

These were introduced by Mathport, as the full name of mul_zero is actually MulZeroClass.mul_zero (it's exported with the short name).

Diff
@@ -141,7 +141,7 @@ noncomputable instance : Top (ENorm π•œ V) :=
       map_smul_le' := fun c x => by
         simp only
         split_ifs with hcx hx hx <;> simp only [smul_eq_zero, not_or] at hcx
-        Β· simp only [MulZeroClass.mul_zero, le_refl]
+        Β· simp only [mul_zero, le_refl]
         Β· have : c = 0 := by tauto
           simp [this]
         Β· tauto
chore: banish Type _ and Sort _ (#6499)

We remove all possible occurences of Type _ and Sort _ in favor of Type* and Sort*.

This has nice performance benefits.

Diff
@@ -41,7 +41,7 @@ open ENNReal
 
 /-- Extended norm on a vector space. As in the case of normed spaces, we require only
 `β€–c β€’ xβ€– ≀ β€–cβ€– * β€–xβ€–` in the definition, then prove an equality in `map_smul`. -/
-structure ENorm (π•œ : Type _) (V : Type _) [NormedField π•œ] [AddCommGroup V] [Module π•œ V] where
+structure ENorm (π•œ : Type*) (V : Type*) [NormedField π•œ] [AddCommGroup V] [Module π•œ V] where
   toFun : V β†’ ℝβ‰₯0∞
   eq_zero' : βˆ€ x, toFun x = 0 β†’ x = 0
   map_add_le' : βˆ€ x y : V, toFun (x + y) ≀ toFun x + toFun y
@@ -50,7 +50,7 @@ structure ENorm (π•œ : Type _) (V : Type _) [NormedField π•œ] [AddCommGroup V]
 
 namespace ENorm
 
-variable {π•œ : Type _} {V : Type _} [NormedField π•œ] [AddCommGroup V] [Module π•œ V] (e : ENorm π•œ V)
+variable {π•œ : Type*} {V : Type*} [NormedField π•œ] [AddCommGroup V] [Module π•œ V] (e : ENorm π•œ V)
 
 -- Porting note: added to appease norm_cast complaints
 attribute [coe] ENorm.toFun
chore: script to replace headers with #align_import statements (#5979)

Open in Gitpod

Co-authored-by: Eric Wieser <wieser.eric@gmail.com> Co-authored-by: Scott Morrison <scott.morrison@gmail.com>

Diff
@@ -2,14 +2,11 @@
 Copyright (c) 2020 Yury G. Kudryashov. All rights reserved.
 Released under Apache 2.0 license as described in the file LICENSE.
 Authors: Yury G. Kudryashov
-
-! This file was ported from Lean 3 source module analysis.normed_space.enorm
-! leanprover-community/mathlib commit 57ac39bd365c2f80589a700f9fbb664d3a1a30c2
-! Please do not edit these lines, except to modify the commit id
-! if you have ported upstream changes.
 -/
 import Mathlib.Analysis.NormedSpace.Basic
 
+#align_import analysis.normed_space.enorm from "leanprover-community/mathlib"@"57ac39bd365c2f80589a700f9fbb664d3a1a30c2"
+
 /-!
 # Extended norm
 
feat: port Analysis.NormedSpace.ENorm (#3469)

Co-authored-by: Matthew Ballard <matt@mrb.email> Co-authored-by: Parcly Taxel <reddeloostw@gmail.com>

Dependencies 10 + 609

610 files ported (98.4%)
266693 lines ported (98.0%)
Show graph

The unported dependencies are

The following 1 dependencies have changed in mathlib3 since they were ported, which may complicate porting this file