category_theory.enriched.basicMathlib.CategoryTheory.Enriched.Basic

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)

(last sync)

Changes in mathlib3port

mathlib3
mathlib3port
Diff
@@ -416,7 +416,7 @@ def EnrichedFunctor.forget {C : Type u₁} {D : Type u₂} [EnrichedCategory W C
     · simp only [iso.cancel_iso_inv_left, category.assoc, tensor_comp,
         forget_enrichment.hom_to_hom_of, enriched_functor.map_comp, forget_enrichment_comp]
       rfl
-    · intro f g w; apply_fun forget_enrichment.hom_of W at w ; simpa using w
+    · intro f g w; apply_fun forget_enrichment.hom_of W at w; simpa using w
 #align category_theory.enriched_functor.forget CategoryTheory.EnrichedFunctor.forget
 -/
 
Diff
@@ -48,7 +48,7 @@ open MonoidalCategory
 variable (V : Type v) [Category.{w} V] [MonoidalCategory V]
 
 #print CategoryTheory.EnrichedCategory /-
-/- ./././Mathport/Syntax/Translate/Command.lean:417:24: unsupported: (notation) in structure -/
+/- ./././Mathport/Syntax/Translate/Command.lean:413:24: unsupported: (notation) in structure -/
 /- ./././Mathport/Syntax/Translate/Expr.lean:207:4: warning: unsupported notation `«expr ⟶[] » -/
 /- ./././Mathport/Syntax/Translate/Expr.lean:177:8: unsupported: ambiguous notation -/
 /- ./././Mathport/Syntax/Translate/Expr.lean:207:4: warning: unsupported notation `«expr ⟶[] » -/
Diff
@@ -48,7 +48,7 @@ open MonoidalCategory
 variable (V : Type v) [Category.{w} V] [MonoidalCategory V]
 
 #print CategoryTheory.EnrichedCategory /-
-/- ./././Mathport/Syntax/Translate/Command.lean:407:24: unsupported: (notation) in structure -/
+/- ./././Mathport/Syntax/Translate/Command.lean:417:24: unsupported: (notation) in structure -/
 /- ./././Mathport/Syntax/Translate/Expr.lean:207:4: warning: unsupported notation `«expr ⟶[] » -/
 /- ./././Mathport/Syntax/Translate/Expr.lean:177:8: unsupported: ambiguous notation -/
 /- ./././Mathport/Syntax/Translate/Expr.lean:207:4: warning: unsupported notation `«expr ⟶[] » -/
Diff
@@ -3,10 +3,10 @@ Copyright (c) 2021 Scott Morrison. All rights reserved.
 Released under Apache 2.0 license as described in the file LICENSE.
 Authors: Scott Morrison
 -/
-import Mathbin.CategoryTheory.Monoidal.Types.Symmetric
-import Mathbin.CategoryTheory.Monoidal.Types.Coyoneda
-import Mathbin.CategoryTheory.Monoidal.Center
-import Mathbin.Tactic.ApplyFun
+import CategoryTheory.Monoidal.Types.Symmetric
+import CategoryTheory.Monoidal.Types.Coyoneda
+import CategoryTheory.Monoidal.Center
+import Tactic.ApplyFun
 
 #align_import category_theory.enriched.basic from "leanprover-community/mathlib"@"e160cefedc932ce41c7049bf0c4b0f061d06216e"
 
@@ -48,7 +48,7 @@ open MonoidalCategory
 variable (V : Type v) [Category.{w} V] [MonoidalCategory V]
 
 #print CategoryTheory.EnrichedCategory /-
-/- ./././Mathport/Syntax/Translate/Command.lean:406:24: unsupported: (notation) in structure -/
+/- ./././Mathport/Syntax/Translate/Command.lean:407:24: unsupported: (notation) in structure -/
 /- ./././Mathport/Syntax/Translate/Expr.lean:207:4: warning: unsupported notation `«expr ⟶[] » -/
 /- ./././Mathport/Syntax/Translate/Expr.lean:177:8: unsupported: ambiguous notation -/
 /- ./././Mathport/Syntax/Translate/Expr.lean:207:4: warning: unsupported notation `«expr ⟶[] » -/
Diff
@@ -366,10 +366,6 @@ structure EnrichedFunctor (C : Type u₁) [EnrichedCategory V C] (D : Type u₂)
 #align category_theory.enriched_functor CategoryTheory.EnrichedFunctor
 -/
 
-restate_axiom enriched_functor.map_id'
-
-restate_axiom enriched_functor.map_comp'
-
 attribute [simp, reassoc] enriched_functor.map_id
 
 attribute [simp, reassoc] enriched_functor.map_comp
Diff
@@ -2,17 +2,14 @@
 Copyright (c) 2021 Scott Morrison. All rights reserved.
 Released under Apache 2.0 license as described in the file LICENSE.
 Authors: Scott Morrison
-
-! This file was ported from Lean 3 source module category_theory.enriched.basic
-! leanprover-community/mathlib commit e160cefedc932ce41c7049bf0c4b0f061d06216e
-! Please do not edit these lines, except to modify the commit id
-! if you have ported upstream changes.
 -/
 import Mathbin.CategoryTheory.Monoidal.Types.Symmetric
 import Mathbin.CategoryTheory.Monoidal.Types.Coyoneda
 import Mathbin.CategoryTheory.Monoidal.Center
 import Mathbin.Tactic.ApplyFun
 
+#align_import category_theory.enriched.basic from "leanprover-community/mathlib"@"e160cefedc932ce41c7049bf0c4b0f061d06216e"
+
 /-!
 # Enriched categories
 
Diff
@@ -4,7 +4,7 @@ Released under Apache 2.0 license as described in the file LICENSE.
 Authors: Scott Morrison
 
 ! This file was ported from Lean 3 source module category_theory.enriched.basic
-! leanprover-community/mathlib commit 95a87616d63b3cb49d3fe678d416fbe9c4217bf4
+! leanprover-community/mathlib commit e160cefedc932ce41c7049bf0c4b0f061d06216e
 ! Please do not edit these lines, except to modify the commit id
 ! if you have ported upstream changes.
 -/
@@ -16,6 +16,9 @@ import Mathbin.Tactic.ApplyFun
 /-!
 # Enriched categories
 
+> THIS FILE IS SYNCHRONIZED WITH MATHLIB4.
+> Any changes to this file require a corresponding PR to mathlib4.
+
 We set up the basic theory of `V`-enriched categories,
 for `V` an arbitrary monoidal category.
 
Diff
@@ -204,8 +204,8 @@ def enrichedCategoryTypeEquivCategory (C : Type u₁) : EnrichedCategory (Type v
     cases 𝒞
     dsimp [enriched_category_Type_of_category]
     congr
-    · ext (X⟨⟩); rfl
-    · ext (X Y Z⟨f, g⟩); rfl
+    · ext X ⟨⟩; rfl
+    · ext X Y Z ⟨f, g⟩; rfl
   right_inv 𝒞 := by rcases 𝒞 with @⟨@⟨⟨⟩⟩⟩; dsimp; congr
 #align category_theory.enriched_category_Type_equiv_category CategoryTheory.enrichedCategoryTypeEquivCategory
 -/
Diff
@@ -47,6 +47,7 @@ open MonoidalCategory
 
 variable (V : Type v) [Category.{w} V] [MonoidalCategory V]
 
+#print CategoryTheory.EnrichedCategory /-
 /- ./././Mathport/Syntax/Translate/Command.lean:406:24: unsupported: (notation) in structure -/
 /- ./././Mathport/Syntax/Translate/Expr.lean:207:4: warning: unsupported notation `«expr ⟶[] » -/
 /- ./././Mathport/Syntax/Translate/Expr.lean:177:8: unsupported: ambiguous notation -/
@@ -75,50 +76,64 @@ class EnrichedCategory (C : Type u₁) where
       (α_ _ _ _).inv ≫ (comp W X Y ⊗ 𝟙 _) ≫ comp W Y Z = (𝟙 _ ⊗ comp X Y Z) ≫ comp W X Z := by
     obviously
 #align category_theory.enriched_category CategoryTheory.EnrichedCategory
+-/
 
 notation X " ⟶[" V "] " Y:10 => (EnrichedCategory.hom X Y : V)
 
 variable (V) {C : Type u₁} [EnrichedCategory V C]
 
+#print CategoryTheory.eId /-
 /-- The `𝟙_ V`-shaped generalized element giving the identity in a `V`-enriched category.
 -/
 def eId (X : C) : 𝟙_ V ⟶ X ⟶[V] X :=
   EnrichedCategory.id X
 #align category_theory.e_id CategoryTheory.eId
+-/
 
 /- ./././Mathport/Syntax/Translate/Expr.lean:177:8: unsupported: ambiguous notation -/
+#print CategoryTheory.eComp /-
 /-- The composition `V`-morphism for a `V`-enriched category.
 -/
 def eComp (X Y Z : C) : ((X ⟶[V] Y) ⊗ Y ⟶[V] Z) ⟶ X ⟶[V] Z :=
   EnrichedCategory.comp X Y Z
 #align category_theory.e_comp CategoryTheory.eComp
+-/
 
 /- ./././Mathport/Syntax/Translate/Expr.lean:177:8: unsupported: ambiguous notation -/
+#print CategoryTheory.e_id_comp /-
 -- We don't just use `restate_axiom` here; that would leave `V` as an implicit argument.
 @[simp, reassoc]
-theorem eId_comp (X Y : C) : (λ_ (X ⟶[V] Y)).inv ≫ (eId V X ⊗ 𝟙 _) ≫ eComp V X X Y = 𝟙 (X ⟶[V] Y) :=
+theorem e_id_comp (X Y : C) :
+    (λ_ (X ⟶[V] Y)).inv ≫ (eId V X ⊗ 𝟙 _) ≫ eComp V X X Y = 𝟙 (X ⟶[V] Y) :=
   EnrichedCategory.id_comp X Y
-#align category_theory.e_id_comp CategoryTheory.eId_comp
+#align category_theory.e_id_comp CategoryTheory.e_id_comp
+-/
 
 /- ./././Mathport/Syntax/Translate/Expr.lean:177:8: unsupported: ambiguous notation -/
+#print CategoryTheory.e_comp_id /-
 @[simp, reassoc]
-theorem eComp_id (X Y : C) : (ρ_ (X ⟶[V] Y)).inv ≫ (𝟙 _ ⊗ eId V Y) ≫ eComp V X Y Y = 𝟙 (X ⟶[V] Y) :=
+theorem e_comp_id (X Y : C) :
+    (ρ_ (X ⟶[V] Y)).inv ≫ (𝟙 _ ⊗ eId V Y) ≫ eComp V X Y Y = 𝟙 (X ⟶[V] Y) :=
   EnrichedCategory.comp_id X Y
-#align category_theory.e_comp_id CategoryTheory.eComp_id
+#align category_theory.e_comp_id CategoryTheory.e_comp_id
+-/
 
 /- ./././Mathport/Syntax/Translate/Expr.lean:177:8: unsupported: ambiguous notation -/
 /- ./././Mathport/Syntax/Translate/Expr.lean:177:8: unsupported: ambiguous notation -/
+#print CategoryTheory.e_assoc /-
 @[simp, reassoc]
 theorem e_assoc (W X Y Z : C) :
     (α_ _ _ _).inv ≫ (eComp V W X Y ⊗ 𝟙 _) ≫ eComp V W Y Z =
       (𝟙 _ ⊗ eComp V X Y Z) ≫ eComp V W X Z :=
   EnrichedCategory.assoc W X Y Z
 #align category_theory.e_assoc CategoryTheory.e_assoc
+-/
 
 section
 
 variable {V} {W : Type v} [Category.{w} W] [MonoidalCategory W]
 
+#print CategoryTheory.TransportEnrichment /-
 /-- A type synonym for `C`, which should come equipped with a `V`-enriched category structure.
 In a moment we will equip this with the `W`-enriched category structure
 obtained by applying the functor `F : lax_monoidal_functor V W` to each hom object.
@@ -127,6 +142,7 @@ obtained by applying the functor `F : lax_monoidal_functor V W` to each hom obje
 def TransportEnrichment (F : LaxMonoidalFunctor V W) (C : Type u₁) :=
   C
 #align category_theory.transport_enrichment CategoryTheory.TransportEnrichment
+-/
 
 instance (F : LaxMonoidalFunctor V W) : EnrichedCategory W (TransportEnrichment F C)
     where
@@ -149,6 +165,7 @@ instance (F : LaxMonoidalFunctor V W) : EnrichedCategory W (TransportEnrichment
 
 end
 
+#print CategoryTheory.categoryOfEnrichedCategoryType /-
 /-- Construct an honest category from a `Type v`-enriched category.
 -/
 def categoryOfEnrichedCategoryType (C : Type u₁) [𝒞 : EnrichedCategory (Type v) C] : Category.{v} C
@@ -156,11 +173,13 @@ def categoryOfEnrichedCategoryType (C : Type u₁) [𝒞 : EnrichedCategory (Typ
   Hom := 𝒞.Hom
   id X := eId (Type v) X PUnit.unit
   comp X Y Z f g := eComp (Type v) X Y Z ⟨f, g⟩
-  id_comp' X Y f := congr_fun (eId_comp (Type v) X Y) f
-  comp_id' X Y f := congr_fun (eComp_id (Type v) X Y) f
+  id_comp' X Y f := congr_fun (e_id_comp (Type v) X Y) f
+  comp_id' X Y f := congr_fun (e_comp_id (Type v) X Y) f
   assoc' W X Y Z f g h := (congr_fun (e_assoc (Type v) W X Y Z) ⟨f, g, h⟩ : _)
 #align category_theory.category_of_enriched_category_Type CategoryTheory.categoryOfEnrichedCategoryType
+-/
 
+#print CategoryTheory.enrichedCategoryTypeOfCategory /-
 /-- Construct a `Type v`-enriched category from an honest category.
 -/
 def enrichedCategoryTypeOfCategory (C : Type u₁) [𝒞 : Category.{v} C] : EnrichedCategory (Type v) C
@@ -172,7 +191,9 @@ def enrichedCategoryTypeOfCategory (C : Type u₁) [𝒞 : Category.{v} C] : Enr
   comp_id X Y := by ext; simp
   and_assoc W X Y Z := by ext ⟨f, g, h⟩; simp
 #align category_theory.enriched_category_Type_of_category CategoryTheory.enrichedCategoryTypeOfCategory
+-/
 
+#print CategoryTheory.enrichedCategoryTypeEquivCategory /-
 /-- We verify that an enriched category in `Type u` is just the same thing as an honest category.
 -/
 def enrichedCategoryTypeEquivCategory (C : Type u₁) : EnrichedCategory (Type v) C ≃ Category.{v} C
@@ -187,11 +208,13 @@ def enrichedCategoryTypeEquivCategory (C : Type u₁) : EnrichedCategory (Type v
     · ext (X Y Z⟨f, g⟩); rfl
   right_inv 𝒞 := by rcases 𝒞 with @⟨@⟨⟨⟩⟩⟩; dsimp; congr
 #align category_theory.enriched_category_Type_equiv_category CategoryTheory.enrichedCategoryTypeEquivCategory
+-/
 
 section
 
 variable {W : Type (v + 1)} [Category.{v} W] [MonoidalCategory W] [EnrichedCategory W C]
 
+#print CategoryTheory.ForgetEnrichment /-
 /-- A type synonym for `C`, which should come equipped with a `V`-enriched category structure.
 In a moment we will equip this with the (honest) category structure
 so that `X ⟶ Y` is `(𝟙_ W) ⟶ (X ⟶[W] Y)`.
@@ -214,36 +237,47 @@ def ForgetEnrichment (W : Type (v + 1)) [Category.{v} W] [MonoidalCategory W] (C
     [EnrichedCategory W C] :=
   C
 #align category_theory.forget_enrichment CategoryTheory.ForgetEnrichment
+-/
 
 variable (W)
 
+#print CategoryTheory.ForgetEnrichment.of /-
 /-- Typecheck an object of `C` as an object of `forget_enrichment W C`. -/
 def ForgetEnrichment.of (X : C) : ForgetEnrichment W C :=
   X
 #align category_theory.forget_enrichment.of CategoryTheory.ForgetEnrichment.of
+-/
 
+#print CategoryTheory.ForgetEnrichment.to /-
 /-- Typecheck an object of `forget_enrichment W C` as an object of `C`. -/
 def ForgetEnrichment.to (X : ForgetEnrichment W C) : C :=
   X
 #align category_theory.forget_enrichment.to CategoryTheory.ForgetEnrichment.to
+-/
 
+#print CategoryTheory.ForgetEnrichment.to_of /-
 @[simp]
 theorem ForgetEnrichment.to_of (X : C) : ForgetEnrichment.to W (ForgetEnrichment.of W X) = X :=
   rfl
 #align category_theory.forget_enrichment.to_of CategoryTheory.ForgetEnrichment.to_of
+-/
 
+#print CategoryTheory.ForgetEnrichment.of_to /-
 @[simp]
 theorem ForgetEnrichment.of_to (X : ForgetEnrichment W C) :
     ForgetEnrichment.of W (ForgetEnrichment.to W X) = X :=
   rfl
 #align category_theory.forget_enrichment.of_to CategoryTheory.ForgetEnrichment.of_to
+-/
 
+#print CategoryTheory.categoryForgetEnrichment /-
 instance categoryForgetEnrichment : Category (ForgetEnrichment W C) :=
   by
   let I : enriched_category (Type v) (transport_enrichment (coyoneda_tensor_unit W) C) :=
     inferInstance
   exact enriched_category_Type_equiv_category C I
 #align category_theory.category_forget_enrichment CategoryTheory.categoryForgetEnrichment
+-/
 
 /-- We verify that the morphism types in `forget_enrichment W C` are `(𝟙_ W) ⟶ (X ⟶[W] Y)`.
 -/
@@ -251,44 +285,57 @@ example (X Y : ForgetEnrichment W C) :
     (X ⟶ Y) = (𝟙_ W ⟶ ForgetEnrichment.to W X ⟶[W] ForgetEnrichment.to W Y) :=
   rfl
 
+#print CategoryTheory.ForgetEnrichment.homOf /-
 /-- Typecheck a `(𝟙_ W)`-shaped `W`-morphism as a morphism in `forget_enrichment W C`. -/
 def ForgetEnrichment.homOf {X Y : C} (f : 𝟙_ W ⟶ X ⟶[W] Y) :
     ForgetEnrichment.of W X ⟶ ForgetEnrichment.of W Y :=
   f
 #align category_theory.forget_enrichment.hom_of CategoryTheory.ForgetEnrichment.homOf
+-/
 
+#print CategoryTheory.ForgetEnrichment.homTo /-
 /-- Typecheck a morphism in `forget_enrichment W C` as a `(𝟙_ W)`-shaped `W`-morphism. -/
 def ForgetEnrichment.homTo {X Y : ForgetEnrichment W C} (f : X ⟶ Y) :
     𝟙_ W ⟶ ForgetEnrichment.to W X ⟶[W] ForgetEnrichment.to W Y :=
   f
 #align category_theory.forget_enrichment.hom_to CategoryTheory.ForgetEnrichment.homTo
+-/
 
+#print CategoryTheory.ForgetEnrichment.homTo_homOf /-
 @[simp]
 theorem ForgetEnrichment.homTo_homOf {X Y : C} (f : 𝟙_ W ⟶ X ⟶[W] Y) :
     ForgetEnrichment.homTo W (ForgetEnrichment.homOf W f) = f :=
   rfl
 #align category_theory.forget_enrichment.hom_to_hom_of CategoryTheory.ForgetEnrichment.homTo_homOf
+-/
 
+#print CategoryTheory.ForgetEnrichment.homOf_homTo /-
 @[simp]
 theorem ForgetEnrichment.homOf_homTo {X Y : ForgetEnrichment W C} (f : X ⟶ Y) :
     ForgetEnrichment.homOf W (ForgetEnrichment.homTo W f) = f :=
   rfl
 #align category_theory.forget_enrichment.hom_of_hom_to CategoryTheory.ForgetEnrichment.homOf_homTo
+-/
 
+#print CategoryTheory.forgetEnrichment_id /-
 /-- The identity in the "underlying" category of an enriched category. -/
 @[simp]
 theorem forgetEnrichment_id (X : ForgetEnrichment W C) :
     ForgetEnrichment.homTo W (𝟙 X) = eId W (ForgetEnrichment.to W X : C) :=
   Category.id_comp _
 #align category_theory.forget_enrichment_id CategoryTheory.forgetEnrichment_id
+-/
 
+#print CategoryTheory.forgetEnrichment_id' /-
 @[simp]
 theorem forgetEnrichment_id' (X : C) :
     ForgetEnrichment.homOf W (eId W X) = 𝟙 (ForgetEnrichment.of W X : C) :=
   (forgetEnrichment_id W (ForgetEnrichment.of W X)).symm
 #align category_theory.forget_enrichment_id' CategoryTheory.forgetEnrichment_id'
+-/
 
 /- ./././Mathport/Syntax/Translate/Expr.lean:177:8: unsupported: ambiguous notation -/
+#print CategoryTheory.forgetEnrichment_comp /-
 /-- Composition in the "underlying" category of an enriched category. -/
 @[simp]
 theorem forgetEnrichment_comp {X Y Z : ForgetEnrichment W C} (f : X ⟶ Y) (g : Y ⟶ Z) :
@@ -297,9 +344,11 @@ theorem forgetEnrichment_comp {X Y Z : ForgetEnrichment W C} (f : X ⟶ Y) (g :
         eComp W _ _ _ :=
   rfl
 #align category_theory.forget_enrichment_comp CategoryTheory.forgetEnrichment_comp
+-/
 
 end
 
+#print CategoryTheory.EnrichedFunctor /-
 /- ./././Mathport/Syntax/Translate/Expr.lean:177:8: unsupported: ambiguous notation -/
 /-- A `V`-functor `F` between `V`-enriched categories
 has a `V`-morphism from `X ⟶[V] Y` to `F.obj X ⟶[V] F.obj Y`,
@@ -315,6 +364,7 @@ structure EnrichedFunctor (C : Type u₁) [EnrichedCategory V C] (D : Type u₂)
       eComp V X Y Z ≫ map X Z = (map X Y ⊗ map Y Z) ≫ eComp V (obj X) (obj Y) (obj Z) := by
     obviously
 #align category_theory.enriched_functor CategoryTheory.EnrichedFunctor
+-/
 
 restate_axiom enriched_functor.map_id'
 
@@ -324,6 +374,7 @@ attribute [simp, reassoc] enriched_functor.map_id
 
 attribute [simp, reassoc] enriched_functor.map_comp
 
+#print CategoryTheory.EnrichedFunctor.id /-
 /-- The identity enriched functor. -/
 @[simps]
 def EnrichedFunctor.id (C : Type u₁) [EnrichedCategory V C] : EnrichedFunctor V C C
@@ -331,10 +382,12 @@ def EnrichedFunctor.id (C : Type u₁) [EnrichedCategory V C] : EnrichedFunctor
   obj X := X
   map X Y := 𝟙 _
 #align category_theory.enriched_functor.id CategoryTheory.EnrichedFunctor.id
+-/
 
 instance : Inhabited (EnrichedFunctor V C C) :=
   ⟨EnrichedFunctor.id V C⟩
 
+#print CategoryTheory.EnrichedFunctor.comp /-
 /-- Composition of enriched functors. -/
 @[simps]
 def EnrichedFunctor.comp {C : Type u₁} {D : Type u₂} {E : Type u₃} [EnrichedCategory V C]
@@ -344,11 +397,13 @@ def EnrichedFunctor.comp {C : Type u₁} {D : Type u₂} {E : Type u₃} [Enrich
   obj X := G.obj (F.obj X)
   map X Y := F.map _ _ ≫ G.map _ _
 #align category_theory.enriched_functor.comp CategoryTheory.EnrichedFunctor.comp
+-/
 
 section
 
 variable {W : Type (v + 1)} [Category.{v} W] [MonoidalCategory W]
 
+#print CategoryTheory.EnrichedFunctor.forget /-
 /-- An enriched functor induces an honest functor of the underlying categories,
 by mapping the `(𝟙_ W)`-shaped morphisms.
 -/
@@ -367,6 +422,7 @@ def EnrichedFunctor.forget {C : Type u₁} {D : Type u₂} [EnrichedCategory W C
       rfl
     · intro f g w; apply_fun forget_enrichment.hom_of W at w ; simpa using w
 #align category_theory.enriched_functor.forget CategoryTheory.EnrichedFunctor.forget
+-/
 
 end
 
@@ -421,6 +477,7 @@ coming from the ambient braiding on `V`.)
 -/
 
 
+#print CategoryTheory.GradedNatTrans /-
 /- ./././Mathport/Syntax/Translate/Expr.lean:177:8: unsupported: ambiguous notation -/
 /- ./././Mathport/Syntax/Translate/Expr.lean:177:8: unsupported: ambiguous notation -/
 /-- The type of `A`-graded natural transformations between `V`-functors `F` and `G`.
@@ -434,11 +491,13 @@ structure GradedNatTrans (A : Center V) (F G : EnrichedFunctor V C D) where
       (A.2.β (X ⟶[V] Y)).Hom ≫ (F.map X Y ⊗ app Y) ≫ eComp V _ _ _ =
         (app X ⊗ G.map X Y) ≫ eComp V _ _ _
 #align category_theory.graded_nat_trans CategoryTheory.GradedNatTrans
+-/
 
 variable [BraidedCategory V]
 
 open BraidedCategory
 
+#print CategoryTheory.enrichedNatTransYoneda /-
 /-- A presheaf isomorphic to the Yoneda embedding of
 the `V`-object of natural transformations from `F` to `G`.
 -/
@@ -455,6 +514,7 @@ def enrichedNatTransYoneda (F G : EnrichedFunctor V C D) : Vᵒᵖ ⥤ Type max
           category.assoc, ← braiding_naturality_assoc, id_tensor_comp_tensor_id_assoc, p, ←
           tensor_comp_assoc, category.id_comp] }
 #align category_theory.enriched_nat_trans_yoneda CategoryTheory.enrichedNatTransYoneda
+-/
 
 -- TODO assuming `[has_limits C]` construct the actual object of natural transformations
 -- and show that the functor category is `V`-enriched.
@@ -464,6 +524,7 @@ section
 
 attribute [local instance] category_of_enriched_category_Type
 
+#print CategoryTheory.enrichedFunctorTypeEquivFunctor /-
 /-- We verify that an enriched functor between `Type v` enriched categories
 is just the same thing as an honest functor.
 -/
@@ -484,7 +545,9 @@ def enrichedFunctorTypeEquivFunctor {C : Type u₁} [𝒞 : EnrichedCategory (Ty
   left_inv F := by cases F; simp
   right_inv F := by cases F; simp
 #align category_theory.enriched_functor_Type_equiv_functor CategoryTheory.enrichedFunctorTypeEquivFunctor
+-/
 
+#print CategoryTheory.enrichedNatTransYonedaTypeIsoYonedaNatTrans /-
 /-- We verify that the presheaf representing natural transformations
 between `Type v`-enriched functors is actually represented by
 the usual type of natural transformations!
@@ -503,6 +566,7 @@ def enrichedNatTransYonedaTypeIsoYonedaNatTrans {C : Type v} [EnrichedCategory (
             naturality := fun X Y => by ext ⟨x, f⟩; exact (σ x).naturality f } })
     (by tidy)
 #align category_theory.enriched_nat_trans_yoneda_Type_iso_yoneda_nat_trans CategoryTheory.enrichedNatTransYonedaTypeIsoYonedaNatTrans
+-/
 
 end
 
Diff
@@ -47,7 +47,7 @@ open MonoidalCategory
 
 variable (V : Type v) [Category.{w} V] [MonoidalCategory V]
 
-/- ./././Mathport/Syntax/Translate/Command.lean:407:24: unsupported: (notation) in structure -/
+/- ./././Mathport/Syntax/Translate/Command.lean:406:24: unsupported: (notation) in structure -/
 /- ./././Mathport/Syntax/Translate/Expr.lean:207:4: warning: unsupported notation `«expr ⟶[] » -/
 /- ./././Mathport/Syntax/Translate/Expr.lean:177:8: unsupported: ambiguous notation -/
 /- ./././Mathport/Syntax/Translate/Expr.lean:207:4: warning: unsupported notation `«expr ⟶[] » -/
@@ -76,7 +76,6 @@ class EnrichedCategory (C : Type u₁) where
     obviously
 #align category_theory.enriched_category CategoryTheory.EnrichedCategory
 
--- mathport name: enriched_category.hom
 notation X " ⟶[" V "] " Y:10 => (EnrichedCategory.hom X Y : V)
 
 variable (V) {C : Type u₁} [EnrichedCategory V C]
Diff
@@ -47,7 +47,7 @@ open MonoidalCategory
 
 variable (V : Type v) [Category.{w} V] [MonoidalCategory V]
 
-/- ./././Mathport/Syntax/Translate/Command.lean:406:24: unsupported: (notation) in structure -/
+/- ./././Mathport/Syntax/Translate/Command.lean:407:24: unsupported: (notation) in structure -/
 /- ./././Mathport/Syntax/Translate/Expr.lean:207:4: warning: unsupported notation `«expr ⟶[] » -/
 /- ./././Mathport/Syntax/Translate/Expr.lean:177:8: unsupported: ambiguous notation -/
 /- ./././Mathport/Syntax/Translate/Expr.lean:207:4: warning: unsupported notation `«expr ⟶[] » -/
@@ -366,7 +366,7 @@ def EnrichedFunctor.forget {C : Type u₁} {D : Type u₂} [EnrichedCategory W C
     · simp only [iso.cancel_iso_inv_left, category.assoc, tensor_comp,
         forget_enrichment.hom_to_hom_of, enriched_functor.map_comp, forget_enrichment_comp]
       rfl
-    · intro f g w; apply_fun forget_enrichment.hom_of W  at w ; simpa using w
+    · intro f g w; apply_fun forget_enrichment.hom_of W at w ; simpa using w
 #align category_theory.enriched_functor.forget CategoryTheory.EnrichedFunctor.forget
 
 end
Diff
@@ -307,7 +307,7 @@ has a `V`-morphism from `X ⟶[V] Y` to `F.obj X ⟶[V] F.obj Y`,
 satisfying the usual axioms.
 -/
 structure EnrichedFunctor (C : Type u₁) [EnrichedCategory V C] (D : Type u₂)
-  [EnrichedCategory V D] where
+    [EnrichedCategory V D] where
   obj : C → D
   map : ∀ X Y : C, (X ⟶[V] Y) ⟶ obj X ⟶[V] obj Y
   map_id' : ∀ X : C, eId V X ≫ map X X = eId V (obj X) := by obviously
@@ -366,7 +366,7 @@ def EnrichedFunctor.forget {C : Type u₁} {D : Type u₂} [EnrichedCategory W C
     · simp only [iso.cancel_iso_inv_left, category.assoc, tensor_comp,
         forget_enrichment.hom_to_hom_of, enriched_functor.map_comp, forget_enrichment_comp]
       rfl
-    · intro f g w; apply_fun forget_enrichment.hom_of W  at w; simpa using w
+    · intro f g w; apply_fun forget_enrichment.hom_of W  at w ; simpa using w
 #align category_theory.enriched_functor.forget CategoryTheory.EnrichedFunctor.forget
 
 end
@@ -451,7 +451,7 @@ def enrichedNatTransYoneda (F G : EnrichedFunctor V C D) : Vᵒᵖ ⥤ Type max
     { app := fun X => f.unop ≫ σ.app X
       naturality := fun X Y => by
         have p := σ.naturality X Y
-        dsimp at p⊢
+        dsimp at p ⊢
         rw [← id_tensor_comp_tensor_id (f.unop ≫ σ.app Y) _, id_tensor_comp, category.assoc,
           category.assoc, ← braiding_naturality_assoc, id_tensor_comp_tensor_id_assoc, p, ←
           tensor_comp_assoc, category.id_comp] }
Diff
@@ -169,15 +169,9 @@ def enrichedCategoryTypeOfCategory (C : Type u₁) [𝒞 : Category.{v} C] : Enr
   Hom := 𝒞.Hom
   id X p := 𝟙 X
   comp X Y Z p := p.1 ≫ p.2
-  id_comp X Y := by
-    ext
-    simp
-  comp_id X Y := by
-    ext
-    simp
-  and_assoc W X Y Z := by
-    ext ⟨f, g, h⟩
-    simp
+  id_comp X Y := by ext; simp
+  comp_id X Y := by ext; simp
+  and_assoc W X Y Z := by ext ⟨f, g, h⟩; simp
 #align category_theory.enriched_category_Type_of_category CategoryTheory.enrichedCategoryTypeOfCategory
 
 /-- We verify that an enriched category in `Type u` is just the same thing as an honest category.
@@ -190,14 +184,9 @@ def enrichedCategoryTypeEquivCategory (C : Type u₁) : EnrichedCategory (Type v
     cases 𝒞
     dsimp [enriched_category_Type_of_category]
     congr
-    · ext (X⟨⟩)
-      rfl
-    · ext (X Y Z⟨f, g⟩)
-      rfl
-  right_inv 𝒞 := by
-    rcases 𝒞 with @⟨@⟨⟨⟩⟩⟩
-    dsimp
-    congr
+    · ext (X⟨⟩); rfl
+    · ext (X Y Z⟨f, g⟩); rfl
+  right_inv 𝒞 := by rcases 𝒞 with @⟨@⟨⟨⟩⟩⟩; dsimp; congr
 #align category_theory.enriched_category_Type_equiv_category CategoryTheory.enrichedCategoryTypeEquivCategory
 
 section
@@ -377,9 +366,7 @@ def EnrichedFunctor.forget {C : Type u₁} {D : Type u₂} [EnrichedCategory W C
     · simp only [iso.cancel_iso_inv_left, category.assoc, tensor_comp,
         forget_enrichment.hom_to_hom_of, enriched_functor.map_comp, forget_enrichment_comp]
       rfl
-    · intro f g w
-      apply_fun forget_enrichment.hom_of W  at w
-      simpa using w
+    · intro f g w; apply_fun forget_enrichment.hom_of W  at w; simpa using w
 #align category_theory.enriched_functor.forget CategoryTheory.EnrichedFunctor.forget
 
 end
@@ -493,18 +480,10 @@ def enrichedFunctorTypeEquivFunctor {C : Type u₁} [𝒞 : EnrichedCategory (Ty
   invFun F :=
     { obj := fun X => F.obj X
       map := fun X Y f => F.map f
-      map_id' := fun X => by
-        ext ⟨⟩
-        exact F.map_id X
-      map_comp' := fun X Y Z => by
-        ext ⟨f, g⟩
-        exact F.map_comp f g }
-  left_inv F := by
-    cases F
-    simp
-  right_inv F := by
-    cases F
-    simp
+      map_id' := fun X => by ext ⟨⟩; exact F.map_id X
+      map_comp' := fun X Y Z => by ext ⟨f, g⟩; exact F.map_comp f g }
+  left_inv F := by cases F; simp
+  right_inv F := by cases F; simp
 #align category_theory.enriched_functor_Type_equiv_functor CategoryTheory.enrichedFunctorTypeEquivFunctor
 
 /-- We verify that the presheaf representing natural transformations
@@ -522,9 +501,7 @@ def enrichedNatTransYonedaTypeIsoYonedaNatTrans {C : Type v} [EnrichedCategory (
             naturality' := fun X Y f => congr_fun (σ.naturality X Y) ⟨x, f⟩ }
         inv := fun σ =>
           { app := fun X x => (σ x).app X
-            naturality := fun X Y => by
-              ext ⟨x, f⟩
-              exact (σ x).naturality f } })
+            naturality := fun X Y => by ext ⟨x, f⟩; exact (σ x).naturality f } })
     (by tidy)
 #align category_theory.enriched_nat_trans_yoneda_Type_iso_yoneda_nat_trans CategoryTheory.enrichedNatTransYonedaTypeIsoYonedaNatTrans
 
Diff
@@ -96,20 +96,20 @@ def eComp (X Y Z : C) : ((X ⟶[V] Y) ⊗ Y ⟶[V] Z) ⟶ X ⟶[V] Z :=
 
 /- ./././Mathport/Syntax/Translate/Expr.lean:177:8: unsupported: ambiguous notation -/
 -- We don't just use `restate_axiom` here; that would leave `V` as an implicit argument.
-@[simp, reassoc.1]
+@[simp, reassoc]
 theorem eId_comp (X Y : C) : (λ_ (X ⟶[V] Y)).inv ≫ (eId V X ⊗ 𝟙 _) ≫ eComp V X X Y = 𝟙 (X ⟶[V] Y) :=
   EnrichedCategory.id_comp X Y
 #align category_theory.e_id_comp CategoryTheory.eId_comp
 
 /- ./././Mathport/Syntax/Translate/Expr.lean:177:8: unsupported: ambiguous notation -/
-@[simp, reassoc.1]
+@[simp, reassoc]
 theorem eComp_id (X Y : C) : (ρ_ (X ⟶[V] Y)).inv ≫ (𝟙 _ ⊗ eId V Y) ≫ eComp V X Y Y = 𝟙 (X ⟶[V] Y) :=
   EnrichedCategory.comp_id X Y
 #align category_theory.e_comp_id CategoryTheory.eComp_id
 
 /- ./././Mathport/Syntax/Translate/Expr.lean:177:8: unsupported: ambiguous notation -/
 /- ./././Mathport/Syntax/Translate/Expr.lean:177:8: unsupported: ambiguous notation -/
-@[simp, reassoc.1]
+@[simp, reassoc]
 theorem e_assoc (W X Y Z : C) :
     (α_ _ _ _).inv ≫ (eComp V W X Y ⊗ 𝟙 _) ≫ eComp V W Y Z =
       (𝟙 _ ⊗ eComp V X Y Z) ≫ eComp V W X Z :=
@@ -332,9 +332,9 @@ restate_axiom enriched_functor.map_id'
 
 restate_axiom enriched_functor.map_comp'
 
-attribute [simp, reassoc.1] enriched_functor.map_id
+attribute [simp, reassoc] enriched_functor.map_id
 
-attribute [simp, reassoc.1] enriched_functor.map_comp
+attribute [simp, reassoc] enriched_functor.map_comp
 
 /-- The identity enriched functor. -/
 @[simps]
Diff
@@ -4,11 +4,12 @@ Released under Apache 2.0 license as described in the file LICENSE.
 Authors: Scott Morrison
 
 ! This file was ported from Lean 3 source module category_theory.enriched.basic
-! leanprover-community/mathlib commit c3019c79074b0619edb4b27553a91b2e82242395
+! leanprover-community/mathlib commit 95a87616d63b3cb49d3fe678d416fbe9c4217bf4
 ! Please do not edit these lines, except to modify the commit id
 ! if you have ported upstream changes.
 -/
-import Mathbin.CategoryTheory.Monoidal.Types
+import Mathbin.CategoryTheory.Monoidal.Types.Symmetric
+import Mathbin.CategoryTheory.Monoidal.Types.Coyoneda
 import Mathbin.CategoryTheory.Monoidal.Center
 import Mathbin.Tactic.ApplyFun
 
Diff
@@ -46,7 +46,7 @@ open MonoidalCategory
 
 variable (V : Type v) [Category.{w} V] [MonoidalCategory V]
 
-/- ./././Mathport/Syntax/Translate/Command.lean:401:24: unsupported: (notation) in structure -/
+/- ./././Mathport/Syntax/Translate/Command.lean:406:24: unsupported: (notation) in structure -/
 /- ./././Mathport/Syntax/Translate/Expr.lean:207:4: warning: unsupported notation `«expr ⟶[] » -/
 /- ./././Mathport/Syntax/Translate/Expr.lean:177:8: unsupported: ambiguous notation -/
 /- ./././Mathport/Syntax/Translate/Expr.lean:207:4: warning: unsupported notation `«expr ⟶[] » -/

Changes in mathlib4

mathlib3
mathlib4
chore: classify porting notes referring to missing linters (#12098)

Reference the newly created issues #12094 and #12096, as well as the pre-existing #5171. Change all references to #10927 to #5171. Some of these changes were not labelled as "porting note"; change this for good measure.

Diff
@@ -172,7 +172,7 @@ section
 
 variable {W : Type (v + 1)} [Category.{v} W] [MonoidalCategory W] [EnrichedCategory W C]
 
--- Porting note: removed `@[nolint has_nonempty_instance]`
+-- Porting note(#5171): removed `@[nolint has_nonempty_instance]`
 /-- A type synonym for `C`, which should come equipped with a `V`-enriched category structure.
 In a moment we will equip this with the (honest) category structure
 so that `X ⟶ Y` is `(𝟙_ W) ⟶ (X ⟶[W] Y)`.
@@ -391,7 +391,7 @@ coming from the ambient braiding on `V`.)
 -/
 
 
--- Porting note: removed `@[nolint has_nonempty_instance]`
+-- Porting note(#5171): removed `@[nolint has_nonempty_instance]`
 /-- The type of `A`-graded natural transformations between `V`-functors `F` and `G`.
 This is the type of morphisms in `V` from `A` to the `V`-object of natural transformations.
 -/
chore(*): remove empty lines between variable statements (#11418)

Empty lines were removed by executing the following Python script twice

import os
import re


# Loop through each file in the repository
for dir_path, dirs, files in os.walk('.'):
  for filename in files:
    if filename.endswith('.lean'):
      file_path = os.path.join(dir_path, filename)

      # Open the file and read its contents
      with open(file_path, 'r') as file:
        content = file.read()

      # Use a regular expression to replace sequences of "variable" lines separated by empty lines
      # with sequences without empty lines
      modified_content = re.sub(r'(variable.*\n)\n(variable(?! .* in))', r'\1\2', content)

      # Write the modified content back to the file
      with open(file_path, 'w') as file:
        file.write(modified_content)
Diff
@@ -344,7 +344,6 @@ end
 section
 
 variable {V}
-
 variable {D : Type u₂} [EnrichedCategory V D]
 
 /-!
style: homogenise porting notes (#11145)

Homogenises porting notes via capitalisation and addition of whitespace.

It makes the following changes:

  • converts "--porting note" into "-- Porting note";
  • converts "porting note" into "Porting note".
Diff
@@ -99,7 +99,7 @@ section
 
 variable {V} {W : Type v} [Category.{w} W] [MonoidalCategory W]
 
--- porting note: removed `@[nolint hasNonemptyInstance]`
+-- Porting note: removed `@[nolint hasNonemptyInstance]`
 /-- A type synonym for `C`, which should come equipped with a `V`-enriched category structure.
 In a moment we will equip this with the `W`-enriched category structure
 obtained by applying the functor `F : LaxMonoidalFunctor V W` to each hom object.
@@ -172,7 +172,7 @@ section
 
 variable {W : Type (v + 1)} [Category.{v} W] [MonoidalCategory W] [EnrichedCategory W C]
 
--- porting note: removed `@[nolint has_nonempty_instance]`
+-- Porting note: removed `@[nolint has_nonempty_instance]`
 /-- A type synonym for `C`, which should come equipped with a `V`-enriched category structure.
 In a moment we will equip this with the (honest) category structure
 so that `X ⟶ Y` is `(𝟙_ W) ⟶ (X ⟶[W] Y)`.
@@ -392,7 +392,7 @@ coming from the ambient braiding on `V`.)
 -/
 
 
--- porting note: removed `@[nolint has_nonempty_instance]`
+-- Porting note: removed `@[nolint has_nonempty_instance]`
 /-- The type of `A`-graded natural transformations between `V`-functors `F` and `G`.
 This is the type of morphisms in `V` from `A` to the `V`-object of natural transformations.
 -/
feat(CategoryTheory/Monoidal): replace 𝟙 X ⊗ f with X ◁ f (#10912)

We set id_tensorHom and tensorHom_id as simp lemmas. Partially extracted from #6307.

Diff
@@ -53,10 +53,10 @@ class EnrichedCategory (C : Type u₁) where
   Hom : C → C → V
   id (X : C) : 𝟙_ V ⟶ Hom X X
   comp (X Y Z : C) : Hom X Y ⊗ Hom Y Z ⟶ Hom X Z
-  id_comp (X Y : C) : (λ_ (Hom X Y)).inv ≫ (id X ⊗ 𝟙 _) ≫ comp X X Y = 𝟙 _ := by aesop_cat
-  comp_id (X Y : C) : (ρ_ (Hom X Y)).inv ≫ (𝟙 _ ⊗ id Y) ≫ comp X Y Y = 𝟙 _ := by aesop_cat
-  assoc (W X Y Z : C) : (α_ _ _ _).inv ≫ (comp W X Y ⊗ 𝟙 _) ≫ comp W Y Z =
-    (𝟙 _ ⊗ comp X Y Z) ≫ comp W X Z := by aesop_cat
+  id_comp (X Y : C) : (λ_ (Hom X Y)).inv ≫ id X ▷ _ ≫ comp X X Y = 𝟙 _ := by aesop_cat
+  comp_id (X Y : C) : (ρ_ (Hom X Y)).inv ≫ _ ◁ id Y ≫ comp X Y Y = 𝟙 _ := by aesop_cat
+  assoc (W X Y Z : C) : (α_ _ _ _).inv ≫ comp W X Y ▷ _ ≫ comp W Y Z =
+    _ ◁ comp X Y Z ≫ comp W X Z := by aesop_cat
 #align category_theory.enriched_category CategoryTheory.EnrichedCategory
 
 notation X " ⟶[" V "] " Y:10 => (EnrichedCategory.Hom X Y : V)
@@ -78,20 +78,20 @@ def eComp (X Y Z : C) : ((X ⟶[V] Y) ⊗ Y ⟶[V] Z) ⟶ X ⟶[V] Z :=
 -- We don't just use `restate_axiom` here; that would leave `V` as an implicit argument.
 @[reassoc (attr := simp)]
 theorem e_id_comp (X Y : C) :
-    (λ_ (X ⟶[V] Y)).inv ≫ (eId V X ⊗ 𝟙 _) ≫ eComp V X X Y = 𝟙 (X ⟶[V] Y) :=
+    (λ_ (X ⟶[V] Y)).inv ≫ eId V X ▷ _ ≫ eComp V X X Y = 𝟙 (X ⟶[V] Y) :=
   EnrichedCategory.id_comp X Y
 #align category_theory.e_id_comp CategoryTheory.e_id_comp
 
 @[reassoc (attr := simp)]
 theorem e_comp_id (X Y : C) :
-    (ρ_ (X ⟶[V] Y)).inv ≫ (𝟙 _ ⊗ eId V Y) ≫ eComp V X Y Y = 𝟙 (X ⟶[V] Y) :=
+    (ρ_ (X ⟶[V] Y)).inv ≫ _ ◁ eId V Y ≫ eComp V X Y Y = 𝟙 (X ⟶[V] Y) :=
   EnrichedCategory.comp_id X Y
 #align category_theory.e_comp_id CategoryTheory.e_comp_id
 
 @[reassoc (attr := simp)]
 theorem e_assoc (W X Y Z : C) :
-    (α_ _ _ _).inv ≫ (eComp V W X Y ⊗ 𝟙 _) ≫ eComp V W Y Z =
-      (𝟙 _ ⊗ eComp V X Y Z) ≫ eComp V W X Z :=
+    (α_ _ _ _).inv ≫ eComp V W X Y ▷ _ ≫ eComp V W Y Z =
+      _ ◁ eComp V X Y Z ≫ eComp V W X Z :=
   EnrichedCategory.assoc W X Y Z
 #align category_theory.e_assoc CategoryTheory.e_assoc
 
@@ -114,18 +114,23 @@ instance (F : LaxMonoidalFunctor V W) : EnrichedCategory W (TransportEnrichment
   id := fun X : C => F.ε ≫ F.map (eId V X)
   comp := fun X Y Z : C => F.μ _ _ ≫ F.map (eComp V X Y Z)
   id_comp X Y := by
-    rw [comp_tensor_id, Category.assoc, ← F.toFunctor.map_id, F.μ_natural_assoc,
-      F.toFunctor.map_id, F.left_unitality_inv_assoc, ← F.toFunctor.map_comp, ←
-      F.toFunctor.map_comp, e_id_comp, F.toFunctor.map_id]
+    simp only [comp_whiskerRight, Category.assoc, LaxMonoidalFunctor.μ_natural_left_assoc,
+      LaxMonoidalFunctor.left_unitality_inv_assoc]
+    simp_rw [← F.map_comp]
+    convert F.map_id _
+    simp
   comp_id X Y := by
-    rw [id_tensor_comp, Category.assoc, ← F.toFunctor.map_id, F.μ_natural_assoc,
-      F.toFunctor.map_id, F.right_unitality_inv_assoc, ← F.toFunctor.map_comp, ←
-      F.toFunctor.map_comp, e_comp_id, F.toFunctor.map_id]
+    simp only [MonoidalCategory.whiskerLeft_comp, Category.assoc,
+      LaxMonoidalFunctor.μ_natural_right_assoc,
+      LaxMonoidalFunctor.right_unitality_inv_assoc]
+    simp_rw [← F.map_comp]
+    convert F.map_id _
+    simp
   assoc P Q R S := by
-    rw [comp_tensor_id, Category.assoc, ← F.toFunctor.map_id, F.μ_natural_assoc,
-      F.toFunctor.map_id, ← F.associativity_inv_assoc, ← F.toFunctor.map_comp, ←
-      F.toFunctor.map_comp, e_assoc, id_tensor_comp, Category.assoc, ← F.toFunctor.map_id,
-      F.μ_natural_assoc, F.toFunctor.map_comp]
+    rw [comp_whiskerRight, Category.assoc, F.μ_natural_left_assoc,
+      ← F.associativity_inv_assoc, ← F.map_comp, ← F.map_comp, e_assoc,
+      F.map_comp, MonoidalCategory.whiskerLeft_comp, Category.assoc,
+      LaxMonoidalFunctor.μ_natural_right_assoc]
 
 end
 
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,17 +2,14 @@
 Copyright (c) 2021 Scott Morrison. All rights reserved.
 Released under Apache 2.0 license as described in the file LICENSE.
 Authors: Scott Morrison
-
-! This file was ported from Lean 3 source module category_theory.enriched.basic
-! leanprover-community/mathlib commit 95a87616d63b3cb49d3fe678d416fbe9c4217bf4
-! Please do not edit these lines, except to modify the commit id
-! if you have ported upstream changes.
 -/
 import Mathlib.CategoryTheory.Monoidal.Types.Symmetric
 import Mathlib.CategoryTheory.Monoidal.Types.Coyoneda
 import Mathlib.CategoryTheory.Monoidal.Center
 import Mathlib.Tactic.ApplyFun
 
+#align_import category_theory.enriched.basic from "leanprover-community/mathlib"@"95a87616d63b3cb49d3fe678d416fbe9c4217bf4"
+
 /-!
 # Enriched categories
 
chore: remove occurrences of semicolon after space (#5713)

This is the second half of the changes originally in #5699, removing all occurrences of ; after a space and implementing a linter rule to enforce it.

In most cases this 2-character substring has a space after it, so the following command was run first:

find . -type f -name "*.lean" -exec sed -i -E 's/ ; /; /g' {} \;

The remaining cases were few enough in number that they were done manually.

Diff
@@ -334,7 +334,7 @@ def EnrichedFunctor.forget {C : Type u₁} {D : Type u₂} [EnrichedCategory W C
     · simp only [Iso.cancel_iso_inv_left, Category.assoc, tensor_comp,
         ForgetEnrichment.homTo_homOf, EnrichedFunctor.map_comp, forgetEnrichment_comp]
       rfl
-    · intro f g w; apply_fun ForgetEnrichment.homOf W at w ; simpa using w
+    · intro f g w; apply_fun ForgetEnrichment.homOf W at w; simpa using w
 #align category_theory.enriched_functor.forget CategoryTheory.EnrichedFunctor.forget
 
 end
chore: fix grammar in docs (#5668)
Diff
@@ -20,7 +20,7 @@ We set up the basic theory of `V`-enriched categories,
 for `V` an arbitrary monoidal category.
 
 We do not assume here that `V` is a concrete category,
-so there does not need to be a "honest" underlying category!
+so there does not need to be an "honest" underlying category!
 
 Use `X ⟶[V] Y` to obtain the `V` object of morphisms from `X` to `Y`.
 
feat: port CategoryTheory.Enriched.Basic (#5154)

Dependencies 2 + 261

262 files ported (99.2%)
106524 lines ported (99.9%)
Show graph

The unported dependencies are