category_theory.monoidal.Mod_Mathlib.CategoryTheory.Monoidal.Mod_

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)

(last sync)

Changes in mathlib3port

mathlib3
mathlib3port
Diff
@@ -3,7 +3,7 @@ Copyright (c) 2020 Scott Morrison. All rights reserved.
 Released under Apache 2.0 license as described in the file LICENSE.
 Authors: Scott Morrison
 -/
-import Mathbin.CategoryTheory.Monoidal.Mon_
+import CategoryTheory.Monoidal.Mon_
 
 #align_import category_theory.monoidal.Mod_ from "leanprover-community/mathlib"@"fd4551cfe4b7484b81c2c9ba3405edae27659676"
 
Diff
@@ -39,10 +39,6 @@ structure Mod_ (A : Mon_ C) where
 #align Mod_ Mod_
 -/
 
-restate_axiom Mod_.one_act'
-
-restate_axiom Mod_.assoc'
-
 attribute [simp, reassoc] Mod_.one_act Mod_.assoc
 
 namespace Mod_
@@ -67,8 +63,6 @@ structure Hom (M N : Mod_ A) where
 #align Mod_.hom Mod_.Hom
 -/
 
-restate_axiom hom.act_hom'
-
 attribute [simp, reassoc] hom.act_hom
 
 #print Mod_.id /-
Diff
@@ -2,14 +2,11 @@
 Copyright (c) 2020 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.monoidal.Mod_
-! leanprover-community/mathlib commit fd4551cfe4b7484b81c2c9ba3405edae27659676
-! Please do not edit these lines, except to modify the commit id
-! if you have ported upstream changes.
 -/
 import Mathbin.CategoryTheory.Monoidal.Mon_
 
+#align_import category_theory.monoidal.Mod_ from "leanprover-community/mathlib"@"fd4551cfe4b7484b81c2c9ba3405edae27659676"
+
 /-!
 # The category of module objects over a monoid object.
 
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.monoidal.Mod_
-! leanprover-community/mathlib commit 33085c9739c41428651ac461a323fde9a2688d9b
+! leanprover-community/mathlib commit fd4551cfe4b7484b81c2c9ba3405edae27659676
 ! Please do not edit these lines, except to modify the commit id
 ! if you have ported upstream changes.
 -/
@@ -12,6 +12,9 @@ import Mathbin.CategoryTheory.Monoidal.Mon_
 
 /-!
 # The category of module objects over a monoid object.
+
+> THIS FILE IS SYNCHRONIZED WITH MATHLIB4.
+> Any changes to this file require a corresponding PR to mathlib4.
 -/
 
 
Diff
@@ -25,6 +25,7 @@ variable (C : Type u₁) [Category.{v₁} C] [MonoidalCategory.{v₁} C]
 
 variable {C}
 
+#print Mod_ /-
 /- ./././Mathport/Syntax/Translate/Expr.lean:177:8: unsupported: ambiguous notation -/
 /- ./././Mathport/Syntax/Translate/Expr.lean:177:8: unsupported: ambiguous notation -/
 /- ./././Mathport/Syntax/Translate/Expr.lean:177:8: unsupported: ambiguous notation -/
@@ -36,6 +37,7 @@ structure Mod_ (A : Mon_ C) where
   one_act' : (A.one ⊗ 𝟙 X) ≫ act = (λ_ X).Hom := by obviously
   assoc' : (A.mul ⊗ 𝟙 X) ≫ act = (α_ A.pt A.pt X).Hom ≫ (𝟙 A.pt ⊗ act) ≫ act := by obviously
 #align Mod_ Mod_
+-/
 
 restate_axiom Mod_.one_act'
 
@@ -49,10 +51,13 @@ variable {A : Mon_ C} (M : Mod_ A)
 
 /- ./././Mathport/Syntax/Translate/Expr.lean:177:8: unsupported: ambiguous notation -/
 /- ./././Mathport/Syntax/Translate/Expr.lean:177:8: unsupported: ambiguous notation -/
+#print Mod_.assoc_flip /-
 theorem assoc_flip :
     (𝟙 A.pt ⊗ M.act) ≫ M.act = (α_ A.pt A.pt M.pt).inv ≫ (A.mul ⊗ 𝟙 M.pt) ≫ M.act := by simp
 #align Mod_.assoc_flip Mod_.assoc_flip
+-/
 
+#print Mod_.Hom /-
 /- ./././Mathport/Syntax/Translate/Expr.lean:177:8: unsupported: ambiguous notation -/
 /-- A morphism of module objects. -/
 @[ext]
@@ -60,62 +65,78 @@ structure Hom (M N : Mod_ A) where
   Hom : M.pt ⟶ N.pt
   act_hom' : M.act ≫ hom = (𝟙 A.pt ⊗ hom) ≫ N.act := by obviously
 #align Mod_.hom Mod_.Hom
+-/
 
 restate_axiom hom.act_hom'
 
 attribute [simp, reassoc] hom.act_hom
 
+#print Mod_.id /-
 /-- The identity morphism on a module object. -/
 @[simps]
 def id (M : Mod_ A) : Hom M M where Hom := 𝟙 M.pt
 #align Mod_.id Mod_.id
+-/
 
+#print Mod_.homInhabited /-
 instance homInhabited (M : Mod_ A) : Inhabited (Hom M M) :=
   ⟨id M⟩
 #align Mod_.hom_inhabited Mod_.homInhabited
+-/
 
+#print Mod_.comp /-
 /-- Composition of module object morphisms. -/
 @[simps]
 def comp {M N O : Mod_ A} (f : Hom M N) (g : Hom N O) : Hom M O where Hom := f.Hom ≫ g.Hom
 #align Mod_.comp Mod_.comp
+-/
 
 instance : Category (Mod_ A) where
   Hom M N := Hom M N
   id := id
   comp M N O f g := comp f g
 
+#print Mod_.id_hom' /-
 @[simp]
 theorem id_hom' (M : Mod_ A) : (𝟙 M : Hom M M).Hom = 𝟙 M.pt :=
   rfl
 #align Mod_.id_hom' Mod_.id_hom'
+-/
 
+#print Mod_.comp_hom' /-
 @[simp]
 theorem comp_hom' {M N K : Mod_ A} (f : M ⟶ N) (g : N ⟶ K) :
     (f ≫ g : Hom M K).Hom = f.Hom ≫ g.Hom :=
   rfl
 #align Mod_.comp_hom' Mod_.comp_hom'
+-/
 
 variable (A)
 
+#print Mod_.regular /-
 /-- A monoid object as a module over itself. -/
 @[simps]
 def regular : Mod_ A where
   pt := A.pt
   act := A.mul
 #align Mod_.regular Mod_.regular
+-/
 
 instance : Inhabited (Mod_ A) :=
   ⟨regular A⟩
 
+#print Mod_.forget /-
 /-- The forgetful functor from module objects to the ambient category. -/
 def forget : Mod_ A ⥤ C where
   obj A := A.pt
   map A B f := f.Hom
 #align Mod_.forget Mod_.forget
+-/
 
 open CategoryTheory.MonoidalCategory
 
 /- ./././Mathport/Syntax/Translate/Expr.lean:177:8: unsupported: ambiguous notation -/
+#print Mod_.comap /-
 /-- A morphism of monoid objects induces a "restriction" or "comap" functor
 between the categories of module objects.
 -/
@@ -148,6 +169,7 @@ def comap {A B : Mon_ C} (f : A ⟶ B) : Mod_ B ⥤ Mod_ A
         slice_rhs 2 3 => rw [← g.act_hom]
         rw [category.assoc] }
 #align Mod_.comap Mod_.comap
+-/
 
 -- Lots more could be said about `comap`, e.g. how it interacts with
 -- identities, compositions, and equalities of monoid object morphisms.
Diff
@@ -41,7 +41,7 @@ restate_axiom Mod_.one_act'
 
 restate_axiom Mod_.assoc'
 
-attribute [simp, reassoc.1] Mod_.one_act Mod_.assoc
+attribute [simp, reassoc] Mod_.one_act Mod_.assoc
 
 namespace Mod_
 
@@ -63,7 +63,7 @@ structure Hom (M N : Mod_ A) where
 
 restate_axiom hom.act_hom'
 
-attribute [simp, reassoc.1] hom.act_hom
+attribute [simp, reassoc] hom.act_hom
 
 /-- The identity morphism on a module object. -/
 @[simps]
Diff
@@ -3,8 +3,8 @@ Copyright (c) 2020 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.monoidal.Mod
-! leanprover-community/mathlib commit 7013e5b7c9aba9a165023c1f20cd8d238d58f433
+! This file was ported from Lean 3 source module category_theory.monoidal.Mod_
+! leanprover-community/mathlib commit 33085c9739c41428651ac461a323fde9a2688d9b
 ! Please do not edit these lines, except to modify the commit id
 ! if you have ported upstream changes.
 -/
@@ -30,36 +30,36 @@ variable {C}
 /- ./././Mathport/Syntax/Translate/Expr.lean:177:8: unsupported: ambiguous notation -/
 /- ./././Mathport/Syntax/Translate/Expr.lean:177:8: unsupported: ambiguous notation -/
 /-- A module object for a monoid object, all internal to some monoidal category. -/
-structure ModCat (A : Mon_ C) where
+structure Mod_ (A : Mon_ C) where
   pt : C
   act : A.pt ⊗ X ⟶ X
   one_act' : (A.one ⊗ 𝟙 X) ≫ act = (λ_ X).Hom := by obviously
   assoc' : (A.mul ⊗ 𝟙 X) ≫ act = (α_ A.pt A.pt X).Hom ≫ (𝟙 A.pt ⊗ act) ≫ act := by obviously
-#align Mod ModCat
+#align Mod_ Mod_
 
-restate_axiom ModCat.one_act'
+restate_axiom Mod_.one_act'
 
-restate_axiom ModCat.assoc'
+restate_axiom Mod_.assoc'
 
-attribute [simp, reassoc.1] ModCat.one_act ModCat.assoc
+attribute [simp, reassoc.1] Mod_.one_act Mod_.assoc
 
-namespace ModCat
+namespace Mod_
 
-variable {A : Mon_ C} (M : ModCat A)
+variable {A : Mon_ C} (M : Mod_ A)
 
 /- ./././Mathport/Syntax/Translate/Expr.lean:177:8: unsupported: ambiguous notation -/
 /- ./././Mathport/Syntax/Translate/Expr.lean:177:8: unsupported: ambiguous notation -/
 theorem assoc_flip :
     (𝟙 A.pt ⊗ M.act) ≫ M.act = (α_ A.pt A.pt M.pt).inv ≫ (A.mul ⊗ 𝟙 M.pt) ≫ M.act := by simp
-#align Mod.assoc_flip ModCat.assoc_flip
+#align Mod_.assoc_flip Mod_.assoc_flip
 
 /- ./././Mathport/Syntax/Translate/Expr.lean:177:8: unsupported: ambiguous notation -/
 /-- A morphism of module objects. -/
 @[ext]
-structure Hom (M N : ModCat A) where
+structure Hom (M N : Mod_ A) where
   Hom : M.pt ⟶ N.pt
   act_hom' : M.act ≫ hom = (𝟙 A.pt ⊗ hom) ≫ N.act := by obviously
-#align Mod.hom ModCat.Hom
+#align Mod_.hom Mod_.Hom
 
 restate_axiom hom.act_hom'
 
@@ -67,51 +67,51 @@ attribute [simp, reassoc.1] hom.act_hom
 
 /-- The identity morphism on a module object. -/
 @[simps]
-def id (M : ModCat A) : Hom M M where Hom := 𝟙 M.pt
-#align Mod.id ModCat.id
+def id (M : Mod_ A) : Hom M M where Hom := 𝟙 M.pt
+#align Mod_.id Mod_.id
 
-instance homInhabited (M : ModCat A) : Inhabited (Hom M M) :=
+instance homInhabited (M : Mod_ A) : Inhabited (Hom M M) :=
   ⟨id M⟩
-#align Mod.hom_inhabited ModCat.homInhabited
+#align Mod_.hom_inhabited Mod_.homInhabited
 
 /-- Composition of module object morphisms. -/
 @[simps]
-def comp {M N O : ModCat A} (f : Hom M N) (g : Hom N O) : Hom M O where Hom := f.Hom ≫ g.Hom
-#align Mod.comp ModCat.comp
+def comp {M N O : Mod_ A} (f : Hom M N) (g : Hom N O) : Hom M O where Hom := f.Hom ≫ g.Hom
+#align Mod_.comp Mod_.comp
 
-instance : Category (ModCat A) where
+instance : Category (Mod_ A) where
   Hom M N := Hom M N
   id := id
   comp M N O f g := comp f g
 
 @[simp]
-theorem id_hom' (M : ModCat A) : (𝟙 M : Hom M M).Hom = 𝟙 M.pt :=
+theorem id_hom' (M : Mod_ A) : (𝟙 M : Hom M M).Hom = 𝟙 M.pt :=
   rfl
-#align Mod.id_hom' ModCat.id_hom'
+#align Mod_.id_hom' Mod_.id_hom'
 
 @[simp]
-theorem comp_hom' {M N K : ModCat A} (f : M ⟶ N) (g : N ⟶ K) :
+theorem comp_hom' {M N K : Mod_ A} (f : M ⟶ N) (g : N ⟶ K) :
     (f ≫ g : Hom M K).Hom = f.Hom ≫ g.Hom :=
   rfl
-#align Mod.comp_hom' ModCat.comp_hom'
+#align Mod_.comp_hom' Mod_.comp_hom'
 
 variable (A)
 
 /-- A monoid object as a module over itself. -/
 @[simps]
-def regular : ModCat A where
+def regular : Mod_ A where
   pt := A.pt
   act := A.mul
-#align Mod.regular ModCat.regular
+#align Mod_.regular Mod_.regular
 
-instance : Inhabited (ModCat A) :=
+instance : Inhabited (Mod_ A) :=
   ⟨regular A⟩
 
 /-- The forgetful functor from module objects to the ambient category. -/
-def forget : ModCat A ⥤ C where
+def forget : Mod_ A ⥤ C where
   obj A := A.pt
   map A B f := f.Hom
-#align Mod.forget ModCat.forget
+#align Mod_.forget Mod_.forget
 
 open CategoryTheory.MonoidalCategory
 
@@ -120,7 +120,7 @@ open CategoryTheory.MonoidalCategory
 between the categories of module objects.
 -/
 @[simps]
-def comap {A B : Mon_ C} (f : A ⟶ B) : ModCat B ⥤ ModCat A
+def comap {A B : Mon_ C} (f : A ⟶ B) : Mod_ B ⥤ Mod_ A
     where
   obj M :=
     { pt := M.pt
@@ -133,7 +133,7 @@ def comap {A B : Mon_ C} (f : A ⟶ B) : ModCat B ⥤ ModCat A
         -- oh, for homotopy.io in a widget!
         slice_rhs 2 3 => rw [id_tensor_comp_tensor_id, ← tensor_id_comp_id_tensor]
         rw [id_tensor_comp]
-        slice_rhs 4 5 => rw [ModCat.assoc_flip]
+        slice_rhs 4 5 => rw [Mod_.assoc_flip]
         slice_rhs 3 4 => rw [associator_inv_naturality]
         slice_rhs 2 3 => rw [← tensor_id, associator_inv_naturality]
         slice_rhs 1 3 => rw [iso.hom_inv_id_assoc]
@@ -147,9 +147,9 @@ def comap {A B : Mon_ C} (f : A ⟶ B) : ModCat B ⥤ ModCat A
         slice_rhs 1 2 => rw [id_tensor_comp_tensor_id, ← tensor_id_comp_id_tensor]
         slice_rhs 2 3 => rw [← g.act_hom]
         rw [category.assoc] }
-#align Mod.comap ModCat.comap
+#align Mod_.comap Mod_.comap
 
 -- Lots more could be said about `comap`, e.g. how it interacts with
 -- identities, compositions, and equalities of monoid object morphisms.
-end ModCat
+end Mod_
 

Changes in mathlib4

mathlib3
mathlib4
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
@@ -17,7 +17,6 @@ universe v₁ v₂ u₁ u₂
 open CategoryTheory MonoidalCategory
 
 variable (C : Type u₁) [Category.{v₁} C] [MonoidalCategory.{v₁} C]
-
 variable {C}
 
 /-- A module object for a monoid object, all internal to some monoidal category. -/
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
@@ -73,7 +73,7 @@ instance : Category (Mod_ A) where
   id := id
   comp f g := comp f g
 
--- porting note: added because `Hom.ext` is not triggered automatically
+-- Porting note: added because `Hom.ext` is not triggered automatically
 -- See https://github.com/leanprover-community/mathlib4/issues/5229
 @[ext]
 lemma hom_ext {M N : Mod_ A} (f₁ f₂ : M ⟶ N) (h : f₁.hom = f₂.hom) : f₁ = f₂ :=
chore: remove detrital heartbeat bumps (#10191)

With multiple changes, it is a good time to check if existing set_option maxHeartbeats and set_option synthInstance.maxHeartbeats remain necessary. This brings the number of files with such down from 23 to 9. Most are straight deletions though I did change one proof.

Diff
@@ -114,7 +114,6 @@ set_option linter.uppercaseLean3 false in
 
 open CategoryTheory.MonoidalCategory
 
-set_option maxHeartbeats 400000 in
 /-- A morphism of monoid objects induces a "restriction" or "comap" functor
 between the categories of module objects.
 -/
refactor(CategoryTheory/Monoidal/Braided): use monoidalComp in the proofs (#10078)
Diff
@@ -24,8 +24,8 @@ variable {C}
 structure Mod_ (A : Mon_ C) where
   X : C
   act : A.X ⊗ X ⟶ X
-  one_act : (A.one ⊗ 𝟙 X) ≫ act = (λ_ X).hom := by aesop_cat
-  assoc : (A.mul ⊗ 𝟙 X) ≫ act = (α_ A.X A.X X).hom ≫ (𝟙 A.X ⊗ act) ≫ act := by aesop_cat
+  one_act : (A.one ▷ X) ≫ act = (λ_ X).hom := by aesop_cat
+  assoc : (A.mul ▷ X) ≫ act = (α_ A.X A.X X).hom ≫ (A.X ◁ act) ≫ act := by aesop_cat
 set_option linter.uppercaseLean3 false in
 #align Mod_ Mod_
 
@@ -36,7 +36,7 @@ namespace Mod_
 variable {A : Mon_ C} (M : Mod_ A)
 
 theorem assoc_flip :
-    (𝟙 A.X ⊗ M.act) ≫ M.act = (α_ A.X A.X M.X).inv ≫ (A.mul ⊗ 𝟙 M.X) ≫ M.act := by simp
+    (A.X ◁ M.act) ≫ M.act = (α_ A.X A.X M.X).inv ≫ (A.mul ▷ M.X) ≫ M.act := by simp
 set_option linter.uppercaseLean3 false in
 #align Mod_.assoc_flip Mod_.assoc_flip
 
@@ -45,7 +45,7 @@ set_option linter.uppercaseLean3 false in
 @[ext]
 structure Hom (M N : Mod_ A) where
   hom : M.X ⟶ N.X
-  act_hom : M.act ≫ hom = (𝟙 A.X ⊗ hom) ≫ N.act := by aesop_cat
+  act_hom : M.act ≫ hom = (A.X ◁ hom) ≫ N.act := by aesop_cat
 set_option linter.uppercaseLean3 false in
 #align Mod_.hom Mod_.Hom
 
@@ -122,26 +122,26 @@ between the categories of module objects.
 def comap {A B : Mon_ C} (f : A ⟶ B) : Mod_ B ⥤ Mod_ A where
   obj M :=
     { X := M.X
-      act := (f.hom ⊗ 𝟙 M.X) ≫ M.act
+      act := (f.hom ▷ M.X) ≫ M.act
       one_act := by
-        slice_lhs 1 2 => rw [← comp_tensor_id]
+        slice_lhs 1 2 => rw [← comp_whiskerRight]
         rw [f.one_hom, one_act]
       assoc := by
         -- oh, for homotopy.io in a widget!
-        slice_rhs 2 3 => rw [id_tensor_comp_tensor_id, ← tensor_id_comp_id_tensor]
-        rw [id_tensor_comp]
+        slice_rhs 2 3 => rw [whisker_exchange]
+        simp only [whiskerRight_tensor, MonoidalCategory.whiskerLeft_comp, Category.assoc,
+          Iso.hom_inv_id_assoc]
         slice_rhs 4 5 => rw [Mod_.assoc_flip]
-        slice_rhs 3 4 => rw [associator_inv_naturality]
-        slice_rhs 2 3 => rw [← tensor_id, associator_inv_naturality]
-        slice_rhs 1 3 => rw [Iso.hom_inv_id_assoc]
-        slice_rhs 1 2 => rw [← comp_tensor_id, tensor_id_comp_id_tensor]
-        slice_rhs 1 2 => rw [← comp_tensor_id, ← f.mul_hom]
-        rw [comp_tensor_id, Category.assoc] }
+        slice_rhs 3 4 => rw [associator_inv_naturality_middle]
+        slice_rhs 2 4 => rw [Iso.hom_inv_id_assoc]
+        slice_rhs 1 2 => rw [← MonoidalCategory.comp_whiskerRight, ← whisker_exchange]
+        slice_rhs 1 2 => rw [← MonoidalCategory.comp_whiskerRight, ← tensorHom_def', ← f.mul_hom]
+        rw [comp_whiskerRight, Category.assoc] }
   map g :=
     { hom := g.hom
       act_hom := by
         dsimp
-        slice_rhs 1 2 => rw [id_tensor_comp_tensor_id, ← tensor_id_comp_id_tensor]
+        slice_rhs 1 2 => rw [whisker_exchange]
         slice_rhs 2 3 => rw [← g.act_hom]
         rw [Category.assoc] }
 set_option linter.uppercaseLean3 false in
chore: move to v4.6.0-rc1, merging adaptations from bump/v4.6.0 (#10176)

Co-authored-by: Scott Morrison <scott.morrison@gmail.com> Co-authored-by: Eric Wieser <wieser.eric@gmail.com> Co-authored-by: Joachim Breitner <mail@joachim-breitner.de>

Diff
@@ -114,6 +114,7 @@ set_option linter.uppercaseLean3 false in
 
 open CategoryTheory.MonoidalCategory
 
+set_option maxHeartbeats 400000 in
 /-- A morphism of monoid objects induces a "restriction" or "comap" functor
 between the categories of module objects.
 -/
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 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.monoidal.Mod_
-! leanprover-community/mathlib commit 33085c9739c41428651ac461a323fde9a2688d9b
-! Please do not edit these lines, except to modify the commit id
-! if you have ported upstream changes.
 -/
 import Mathlib.CategoryTheory.Monoidal.Mon_
 
+#align_import category_theory.monoidal.Mod_ from "leanprover-community/mathlib"@"33085c9739c41428651ac461a323fde9a2688d9b"
+
 /-!
 # The category of module objects over a monoid object.
 -/
feat: more consistent use of ext, and updating porting notes. (#5242)

Co-authored-by: Scott Morrison <scott.morrison@anu.edu.au>

Diff
@@ -77,6 +77,7 @@ instance : Category (Mod_ A) where
   comp f g := comp f g
 
 -- porting note: added because `Hom.ext` is not triggered automatically
+-- See https://github.com/leanprover-community/mathlib4/issues/5229
 @[ext]
 lemma hom_ext {M N : Mod_ A} (f₁ f₂ : M ⟶ N) (h : f₁.hom = f₂.hom) : f₁ = f₂ :=
   Hom.ext _ _ h
feat: port CategoryTheory.Monoidal.Mod_ (#4866)

Dependencies 3 + 226

227 files ported (98.7%)
83025 lines ported (98.8%)
Show graph

The unported dependencies are