category_theory.enriched.basic
⟷
Mathlib.CategoryTheory.Enriched.Basic
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.
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(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)
mathlib commit https://github.com/leanprover-community/mathlib/commit/65a1391a0106c9204fe45bc73a039f056558cb83
@@ -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
-/
mathlib commit https://github.com/leanprover-community/mathlib/commit/65a1391a0106c9204fe45bc73a039f056558cb83
@@ -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 ⟶[] » -/
mathlib commit https://github.com/leanprover-community/mathlib/commit/65a1391a0106c9204fe45bc73a039f056558cb83
@@ -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 ⟶[] » -/
mathlib commit https://github.com/leanprover-community/mathlib/commit/ce64cd319bb6b3e82f31c2d38e79080d377be451
@@ -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 ⟶[] » -/
mathlib commit https://github.com/leanprover-community/mathlib/commit/442a83d738cb208d3600056c489be16900ba701d
@@ -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
mathlib commit https://github.com/leanprover-community/mathlib/commit/8ea5598db6caeddde6cb734aa179cc2408dbd345
@@ -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
mathlib commit https://github.com/leanprover-community/mathlib/commit/0723536a0522d24fc2f159a096fb3304bef77472
@@ -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.
mathlib commit https://github.com/leanprover-community/mathlib/commit/2a0ce625dbb0ffbc7d1316597de0b25c1ec75303
@@ -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
-/
mathlib commit https://github.com/leanprover-community/mathlib/commit/2a0ce625dbb0ffbc7d1316597de0b25c1ec75303
@@ -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
mathlib commit https://github.com/leanprover-community/mathlib/commit/9fb8964792b4237dac6200193a0d533f1b3f7423
@@ -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]
mathlib commit https://github.com/leanprover-community/mathlib/commit/5f25c089cb34db4db112556f23c50d12da81b297
@@ -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
mathlib commit https://github.com/leanprover-community/mathlib/commit/cca40788df1b8755d5baf17ab2f27dacc2e17acb
@@ -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] }
mathlib commit https://github.com/leanprover-community/mathlib/commit/917c3c072e487b3cccdbfeff17e75b40e45f66cb
@@ -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
mathlib commit https://github.com/leanprover-community/mathlib/commit/75e7fca56381d056096ce5d05e938f63a6567828
@@ -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]
mathlib commit https://github.com/leanprover-community/mathlib/commit/95a87616d63b3cb49d3fe678d416fbe9c4217bf4
@@ -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
mathlib commit https://github.com/leanprover-community/mathlib/commit/09079525fd01b3dda35e96adaa08d2f943e1648c
@@ -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 ⟶[] » -/
mathlib commit https://github.com/leanprover-community/mathlib/commit/bd9851ca476957ea4549eb19b40e7b5ade9428cc
@@ -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.
-/
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)
@@ -344,7 +344,6 @@ end
section
variable {V}
-
variable {D : Type u₂} [EnrichedCategory V D]
/-!
Homogenises porting notes via capitalisation and addition of whitespace.
It makes the following changes:
@@ -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.
-/
@@ -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
@@ -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
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.
@@ -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
@@ -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`.
The unported dependencies are