Skip to content

Commit be26447

Browse files
committed
chore(CategoryTheory): rename monoidal transport constructions (#31022)
+ Rename `symmetricCategory/monoidalLinear/exactPairingOf(Fully)Faithful` to `SymmetricCategory.ofFaithful` etc. following [CategoryTheory.BraidedCategory.ofFaithful](https://leanprover-community.github.io/mathlib4_docs/Mathlib/CategoryTheory/Monoidal/Braided/Basic.html#CategoryTheory.BraidedCategory.ofFaithful). + Remove some `noncomputable section`s and make some noncomputable defs computable.
1 parent 82dd791 commit be26447

File tree

12 files changed

+47
-28
lines changed

12 files changed

+47
-28
lines changed

Mathlib/Algebra/Category/AlgCat/Symmetric.lean

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -31,6 +31,6 @@ instance : BraidedCategory (AlgCat.{u} R) :=
3131
instance : (forget₂ (AlgCat R) (ModuleCat R)).Braided where
3232

3333
instance instSymmetricCategory : SymmetricCategory (AlgCat.{u} R) :=
34-
symmetricCategoryOfFaithful (forget₂ (AlgCat R) (ModuleCat R))
34+
.ofFaithful (forget₂ (AlgCat R) (ModuleCat R))
3535

3636
end AlgCat

Mathlib/Algebra/Category/ModuleCat/Monoidal/Basic.lean

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -363,6 +363,9 @@ theorem hom_inv_associator {M N K : ModuleCat.{u} R} :
363363

364364
namespace MonoidalCategory
365365

366+
@[deprecated (since := "2025-10-29")] alias tensorObj := tensorObj_carrier
367+
@[deprecated (since := "2025-10-29")] alias tensorObj_def := tensorObj_carrier
368+
366369
@[simp]
367370
theorem tensorHom_tmul {K L M N : ModuleCat.{u} R} (f : K ⟶ L) (g : M ⟶ N) (k : K) (m : M) :
368371
(f ⊗ₘ g) (k ⊗ₜ m) = f k ⊗ₜ g m :=

Mathlib/Algebra/Category/ModuleCat/Monoidal/Symmetric.lean

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -113,7 +113,7 @@ instance : BraidedCategory (ModuleCat.{u} R) :=
113113
instance : equivalenceSemimoduleCat (R := R).functor.Braided where
114114

115115
instance symmetricCategory : SymmetricCategory (ModuleCat.{u} R) :=
116-
symmetricCategoryOfFaithful equivalenceSemimoduleCat.functor
116+
.ofFaithful equivalenceSemimoduleCat.functor
117117

118118
@[simp]
119119
theorem braiding_hom_apply {M N : ModuleCat.{u} R} (m : M) (n : N) :

Mathlib/CategoryTheory/Action/Monoidal.lean

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -93,7 +93,7 @@ instance : (Action.forget V G).Braided where
9393
end
9494

9595
instance [SymmetricCategory V] : SymmetricCategory (Action V G) :=
96-
symmetricCategoryOfFaithful (Action.forget V G)
96+
.ofFaithful (Action.forget V G)
9797

9898
section
9999

Mathlib/CategoryTheory/Monoidal/Braided/Basic.lean

Lines changed: 9 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -525,19 +525,25 @@ lemma Functor.map_braiding (F : C ⥤ D) (X Y : C) [F.Braided] :
525525
/--
526526
A braided category with a faithful braided functor to a symmetric category is itself symmetric.
527527
-/
528-
def symmetricCategoryOfFaithful {C D : Type*} [Category C] [Category D] [MonoidalCategory C]
528+
def SymmetricCategory.ofFaithful {C D : Type*} [Category C] [Category D] [MonoidalCategory C]
529529
[MonoidalCategory D] [BraidedCategory C] [SymmetricCategory D] (F : C ⥤ D) [F.Braided]
530530
[F.Faithful] : SymmetricCategory C where
531531
symmetry X Y := F.map_injective (by simp)
532532

533533
/-- Pull back a symmetric braiding along a fully faithful monoidal functor. -/
534-
noncomputable def symmetricCategoryOfFullyFaithful {C D : Type*} [Category C] [Category D]
534+
noncomputable def SymmetricCategory.ofFullyFaithful {C D : Type*} [Category C] [Category D]
535535
[MonoidalCategory C] [MonoidalCategory D] (F : C ⥤ D) [F.Monoidal] [F.Full]
536536
[F.Faithful] [SymmetricCategory D] : SymmetricCategory C :=
537537
let h : BraidedCategory C := BraidedCategory.ofFullyFaithful F
538538
let _ : F.Braided := {
539539
braided X Y := by simp [h, BraidedCategory.ofFullyFaithful, BraidedCategory.ofFaithful] }
540-
symmetricCategoryOfFaithful F
540+
.ofFaithful F
541+
542+
@[deprecated (since := "2025-10-17")]
543+
alias symmetricCategoryOfFaithful := SymmetricCategory.ofFaithful
544+
545+
@[deprecated (since := "2025-10-17")]
546+
alias symmetricCategoryOfFullyFaithful := SymmetricCategory.ofFullyFaithful
541547

542548
namespace Functor.Braided
543549

Mathlib/CategoryTheory/Monoidal/Braided/Transport.lean

Lines changed: 9 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -15,8 +15,6 @@ universe v₁ v₂ u₁ u₂
1515

1616
open CategoryTheory Category Monoidal MonoidalCategory
1717

18-
noncomputable section
19-
2018
variable {C : Type u₁} [Category.{v₁} C]
2119
variable {D : Type u₂} [Category.{v₂} D]
2220

@@ -26,15 +24,18 @@ open Functor.LaxMonoidal Functor.OplaxMonoidal
2624

2725
instance Transported.instBraidedCategory (e : C ≌ D) [MonoidalCategory C] [BraidedCategory C] :
2826
BraidedCategory (Transported e) :=
29-
BraidedCategory.ofFullyFaithful (equivalenceTransported e).inverse
27+
.ofFaithful e.inverse (fun _ _ ↦ e.functor.mapIso (β_ _ _)) fun _ _ ↦ by
28+
simp [fromInducedCoreMonoidal, Functor.CoreMonoidal.toLaxMonoidal]
3029

3130
local notation "e'" e => equivalenceTransported e
3231

3332
instance (e : C ≌ D) [MonoidalCategory C] [BraidedCategory C] :
3433
(e' e).inverse.Braided where
3534
braided X Y := by
36-
simp [Transported.instBraidedCategory, BraidedCategory.ofFullyFaithful,
37-
BraidedCategory.ofFaithful]
35+
simp [Transported.instBraidedCategory, BraidedCategory.ofFaithful,
36+
fromInducedCoreMonoidal, Functor.CoreMonoidal.toLaxMonoidal]
37+
38+
noncomputable section
3839

3940
/--
4041
This is a def because once we have that both `(e' e).inverse` and `(e' e).functor` are
@@ -72,8 +73,10 @@ instance (e : C ≌ D) [MonoidalCategory C] [BraidedCategory C] :
7273
Equivalence.inv_fun_map, Functor.id_obj, comp_δ, assoc] at this
7374
simp [-Adjunction.rightAdjointLaxMonoidal_μ, ← this]
7475

76+
end
77+
7578
instance Transported.instSymmetricCategory (e : C ≌ D) [MonoidalCategory C]
7679
[SymmetricCategory C] : SymmetricCategory (Transported e) :=
77-
symmetricCategoryOfFullyFaithful (equivalenceTransported e).inverse
80+
.ofFaithful (equivalenceTransported e).inverse
7881

7982
end CategoryTheory.Monoidal

Mathlib/CategoryTheory/Monoidal/Linear.lean

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -47,7 +47,7 @@ instance tensoringRight_linear (X : C) : ((tensoringRight C).obj X).Linear R whe
4747

4848
/-- A faithful linear monoidal functor to a linear monoidal category
4949
ensures that the domain is linear monoidal. -/
50-
theorem monoidalLinearOfFaithful {D : Type*} [Category D] [Preadditive D] [Linear R D]
50+
theorem MonoidalLinear.ofFaithful {D : Type*} [Category D] [Preadditive D] [Linear R D]
5151
[MonoidalCategory D] [MonoidalPreadditive D] (F : D ⥤ C) [F.Monoidal] [F.Faithful]
5252
[F.Linear R] : MonoidalLinear R D :=
5353
{ whiskerLeft_smul := by
@@ -61,4 +61,6 @@ theorem monoidalLinearOfFaithful {D : Type*} [Category D] [Preadditive D] [Linea
6161
rw [Functor.Monoidal.map_whiskerRight]
6262
simp }
6363

64+
@[deprecated (since := "2025-10-17")] alias monoidalLinearOfFaithful := MonoidalLinear.ofFaithful
65+
6466
end CategoryTheory

Mathlib/CategoryTheory/Monoidal/Rigid/OfEquivalence.lean

Lines changed: 14 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -10,8 +10,6 @@ import Mathlib.CategoryTheory.Monoidal.Rigid.Basic
1010
-/
1111

1212

13-
noncomputable section
14-
1513
namespace CategoryTheory
1614

1715
open MonoidalCategory Functor.LaxMonoidal Functor.OplaxMonoidal
@@ -22,7 +20,7 @@ variable {C D : Type*} [Category C] [Category D] [MonoidalCategory C] [MonoidalC
2220
/-- Given candidate data for an exact pairing,
2321
which is sent by a faithful monoidal functor to an exact pairing,
2422
the equations holds automatically. -/
25-
def exactPairingOfFaithful [F.Faithful] {X Y : C} (eval : Y ⊗ X ⟶ 𝟙_ C)
23+
def ExactPairing.ofFaithful [F.Faithful] {X Y : C} (eval : Y ⊗ X ⟶ 𝟙_ C)
2624
(coeval : 𝟙_ C ⟶ X ⊗ Y) [ExactPairing (F.obj X) (F.obj Y)]
2725
(map_eval : F.map eval = (δ F _ _) ≫ ε_ _ _ ≫ ε F)
2826
(map_coeval : F.map coeval = (η F) ≫ η_ _ _ ≫ μ F _ _) : ExactPairing X Y where
@@ -40,22 +38,29 @@ def exactPairingOfFaithful [F.Faithful] {X Y : C} (eval : Y ⊗ X ⟶ 𝟙_ C)
4038
/-- Given a pair of objects which are sent by a fully faithful functor to a pair of objects
4139
with an exact pairing, we get an exact pairing.
4240
-/
43-
def exactPairingOfFullyFaithful [F.Full] [F.Faithful] (X Y : C)
41+
noncomputable def ExactPairing.ofFullyFaithful [F.Full] [F.Faithful] (X Y : C)
4442
[ExactPairing (F.obj X) (F.obj Y)] : ExactPairing X Y :=
45-
exactPairingOfFaithful F (F.preimage (δ F _ _ ≫ ε_ _ _ ≫ (ε F)))
43+
.ofFaithful F (F.preimage (δ F _ _ ≫ ε_ _ _ ≫ (ε F)))
4644
(F.preimage (η F ≫ η_ _ _ ≫ μ F _ _)) (by simp) (by simp)
4745

46+
@[deprecated (since := "2025-10-17")] alias exactPairingOfFaithful := ExactPairing.ofFaithful
47+
48+
@[deprecated (since := "2025-10-17")]
49+
alias exactPairingOfFullyFaithful := ExactPairing.ofFullyFaithful
50+
4851
variable {F}
4952
variable {G : D ⥤ C} (adj : F ⊣ G) [F.IsEquivalence]
5053

54+
noncomputable section
55+
5156
/-- Pull back a left dual along an equivalence. -/
5257
def hasLeftDualOfEquivalence (X : C) [HasLeftDual (F.obj X)] :
5358
HasLeftDual X where
5459
leftDual := G.obj (ᘁ(F.obj X))
5560
exact := by
5661
letI := exactPairingCongrLeft (X := F.obj (G.obj ᘁ(F.obj X)))
5762
(X' := ᘁ(F.obj X)) (Y := F.obj X) (adj.toEquivalence.counitIso.app ᘁ(F.obj X))
58-
apply exactPairingOfFullyFaithful F
63+
apply ExactPairing.ofFullyFaithful F
5964

6065
/-- Pull back a right dual along an equivalence. -/
6166
def hasRightDualOfEquivalence (X : C) [HasRightDual (F.obj X)] :
@@ -64,7 +69,7 @@ def hasRightDualOfEquivalence (X : C) [HasRightDual (F.obj X)] :
6469
exact := by
6570
letI := exactPairingCongrRight (X := F.obj X) (Y := F.obj (G.obj (F.obj X)ᘁ))
6671
(Y' := (F.obj X)ᘁ) (adj.toEquivalence.counitIso.app (F.obj X)ᘁ)
67-
apply exactPairingOfFullyFaithful F
72+
apply ExactPairing.ofFullyFaithful F
6873

6974
/-- Pull back a left rigid structure along an equivalence. -/
7075
def leftRigidCategoryOfEquivalence [LeftRigidCategory D] :
@@ -79,4 +84,6 @@ def rigidCategoryOfEquivalence [RigidCategory D] : RigidCategory C where
7984
leftDual X := hasLeftDualOfEquivalence adj X
8085
rightDual X := hasRightDualOfEquivalence adj X
8186

87+
end
88+
8289
end CategoryTheory

Mathlib/CategoryTheory/Monoidal/Subcategory.lean

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -116,7 +116,7 @@ instance [MonoidalPreadditive C] : MonoidalPreadditive P.FullSubcategory :=
116116
variable (R : Type*) [Ring R] [Linear R C]
117117

118118
instance [MonoidalPreadditive C] [MonoidalLinear R C] : MonoidalLinear R P.FullSubcategory :=
119-
monoidalLinearOfFaithful R P.ι
119+
.ofFaithful R P.ι
120120

121121
end
122122

@@ -166,7 +166,7 @@ section Symmetric
166166
variable [SymmetricCategory C]
167167

168168
instance fullSymmetricSubcategory : SymmetricCategory P.FullSubcategory :=
169-
symmetricCategoryOfFaithful P.ι
169+
.ofFaithful P.ι
170170

171171
end Symmetric
172172

Mathlib/CategoryTheory/Monoidal/Transport.lean

Lines changed: 2 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -24,8 +24,6 @@ with respect to the new monoidal structure on `D`.
2424

2525
universe v₁ v₂ u₁ u₂
2626

27-
noncomputable section
28-
2927
open CategoryTheory
3028

3129
open CategoryTheory.Category
@@ -188,10 +186,10 @@ instance : (equivalenceTransported e).inverse.Monoidal := by
188186
instance : (equivalenceTransported e).symm.functor.Monoidal :=
189187
inferInstanceAs (equivalenceTransported e).inverse.Monoidal
190188

191-
instance : (equivalenceTransported e).functor.Monoidal :=
189+
noncomputable instance : (equivalenceTransported e).functor.Monoidal :=
192190
(equivalenceTransported e).symm.inverseMonoidal
193191

194-
instance : (equivalenceTransported e).symm.inverse.Monoidal :=
192+
noncomputable instance : (equivalenceTransported e).symm.inverse.Monoidal :=
195193
inferInstanceAs (equivalenceTransported e).functor.Monoidal
196194

197195
instance : (equivalenceTransported e).symm.IsMonoidal := by

0 commit comments

Comments
 (0)