@@ -90,10 +90,13 @@ section Ring
9090
9191variable (R : Type u) [Ring R]
9292
93- @[simp] lemma hom_comp ( A B C : FGModuleCat.{v} R) (f : A ⟶ B) (g : B ⟶ C) :
94- (f ≫ g).hom = g.hom.comp f.hom := rfl
93+ @[simp] lemma hom_hom_comp { A B C : FGModuleCat.{v} R} (f : A ⟶ B) (g : B ⟶ C) :
94+ (f ≫ g).hom.hom = g.hom.hom. comp f.hom .hom := rfl
9595
96- @[simp] lemma hom_id (A : FGModuleCat.{v} R) : (𝟙 A : A ⟶ A).hom = LinearMap.id := rfl
96+ @[simp] lemma hom_hom_id (A : FGModuleCat.{v} R) : (𝟙 A : A ⟶ A).hom.hom = LinearMap.id := rfl
97+
98+ @ [deprecated (since := "2025-12-18" )] alias hom_comp := hom_hom_comp
99+ @ [deprecated (since := "2025-12-18" )] alias hom_id := hom_hom_id
97100
98101instance : Inhabited (FGModuleCat.{v} R) :=
99102 ⟨⟨ModuleCat.of R PUnit, by unfold ModuleCat.isFG; infer_instance⟩⟩
@@ -111,17 +114,17 @@ variable {R} in
111114abbrev ofHom {V W : Type v} [AddCommGroup V] [Module R V] [Module.Finite R V]
112115 [AddCommGroup W] [Module R W] [Module.Finite R W]
113116 (f : V →ₗ[R] W) : of R V ⟶ of R W :=
114- ModuleCat .ofHom f
117+ ConcreteCategory .ofHom f
115118
116119variable {R} in
117- @[ext] lemma hom_ext {V W : FGModuleCat.{v} R} {f g : V ⟶ W} (h : f.hom = g.hom) : f = g :=
118- ModuleCat.hom_ext h
120+ @[ext] lemma hom_ext {V W : FGModuleCat.{v} R} {f g : V ⟶ W} (h : f.hom.hom = g.hom .hom) : f = g :=
121+ ObjectProperty.hom_ext _ ( ModuleCat.hom_ext h)
119122
120123instance (V : FGModuleCat.{v} R) : Module.Finite R V :=
121124 V.property
122125
123126instance : (forget₂ (FGModuleCat.{v} R) (ModuleCat.{v} R)).Full where
124- map_surjective f := ⟨f , rfl⟩
127+ map_surjective f := ⟨ofHom f.hom , rfl⟩
125128
126129variable {R} in
127130/-- Converts an isomorphism in the category `FGModuleCat R` to
@@ -136,19 +139,19 @@ def _root_.LinearEquiv.toFGModuleCatIso
136139 {V W : Type v} [AddCommGroup V] [Module R V] [Module.Finite R V]
137140 [AddCommGroup W] [Module R W] [Module.Finite R W] (e : V ≃ₗ[R] W) :
138141 FGModuleCat.of R V ≅ FGModuleCat.of R W where
139- hom := ModuleCat .ofHom e.toLinearMap
140- inv := ModuleCat .ofHom e.symm.toLinearMap
142+ hom := ConcreteCategory .ofHom e.toLinearMap
143+ inv := ConcreteCategory .ofHom e.symm.toLinearMap
141144 hom_inv_id := by ext x; exact e.left_inv x
142145 inv_hom_id := by ext x; exact e.right_inv x
143146
144147/-- Universe lifting as a functor on `FGModuleCat`. -/
145148def ulift : FGModuleCat.{v} R ⥤ FGModuleCat.{max v w} R where
146149 obj M := .of R <| ULift M
147- map f := ofHom <| ULift.moduleEquiv.symm.toLinearMap ∘ₗ f.hom ∘ₗ ULift.moduleEquiv.toLinearMap
150+ map f := ofHom <| ULift.moduleEquiv.symm.toLinearMap ∘ₗ f.hom.hom ∘ₗ ULift.moduleEquiv.toLinearMap
148151
149152/-- Universe lifting is fully faithful. -/
150153def fullyFaithfulULift : (ulift R).FullyFaithful where
151- preimage f := ofHom <| ULift.moduleEquiv.toLinearMap ∘ₗ f.hom ∘ₗ
154+ preimage f := ofHom <| ULift.moduleEquiv.toLinearMap ∘ₗ f.hom.hom ∘ₗ
152155 ULift.moduleEquiv.symm.toLinearMap
153156
154157instance : (ulift R).Faithful :=
@@ -177,11 +180,11 @@ instance : (forget₂ (FGModuleCat.{u} R) (ModuleCat.{u} R)).Additive where
177180instance : (forget₂ (FGModuleCat.{u} R) (ModuleCat.{u} R)).Linear R where
178181
179182theorem Iso.conj_eq_conj {V W : FGModuleCat R} (i : V ≅ W) (f : End V) :
180- Iso.conj i f = FGModuleCat.ofHom (LinearEquiv.conj (isoToLinearEquiv i) f.hom) :=
183+ Iso.conj i f = FGModuleCat.ofHom (LinearEquiv.conj (isoToLinearEquiv i) f.hom.hom ) :=
181184 rfl
182185
183186theorem Iso.conj_hom_eq_conj {V W : FGModuleCat R} (i : V ≅ W) (f : End V) :
184- (Iso.conj i f).hom = (LinearEquiv.conj (isoToLinearEquiv i) f.hom) :=
187+ (Iso.conj i f).hom.hom = (LinearEquiv.conj (isoToLinearEquiv i) f.hom .hom) :=
185188 rfl
186189
187190end CommRing
@@ -190,17 +193,21 @@ section Field
190193
191194variable (K : Type u) [Field K]
192195
193- instance (V W : FGModuleCat.{v} K) : Module.Finite K (V ⟶ W) :=
196+ instance (V W : FGModuleCat.{v} K) : Module.Finite K (V.obj ⟶ W.obj ) :=
194197 (inferInstanceAs <| Module.Finite K (V →ₗ[K] W)).equiv ModuleCat.homLinearEquiv.symm
195198
199+ instance (V W : FGModuleCat.{v} K) : Module.Finite K (V ⟶ W) :=
200+ (inferInstanceAs (Module.Finite K (V.obj ⟶ W.obj))).equiv
201+ InducedCategory.homLinearEquiv.symm
202+
196203instance : (ModuleCat.isFG K).IsMonoidalClosed where
197204 prop_ihom {X Y} (_ : Module.Finite _ _) (_ : Module.Finite _ _) :=
198205 (inferInstanceAs <| Module.Finite K (X →ₗ[K] Y)).equiv ModuleCat.homLinearEquiv.symm
199206
200207variable (V W : FGModuleCat K)
201208
202209@[simp]
203- theorem ihom_obj : (ihom V).obj W = FGModuleCat.of K (V ⟶ W) :=
210+ theorem ihom_obj : (ihom V).obj W = FGModuleCat.of K (V.obj ⟶ W.obj ) :=
204211 rfl
205212
206213/-- The dual module is the dual in the rigid monoidal category `FGModuleCat K`. -/
@@ -215,7 +222,7 @@ open CategoryTheory.MonoidalCategory
215222
216223/-- The coevaluation map is defined in `LinearAlgebra.coevaluation`. -/
217224def FGModuleCatCoevaluation : 𝟙_ (FGModuleCat K) ⟶ V ⊗ FGModuleCatDual K V :=
218- ModuleCat .ofHom <| coevaluation K V
225+ ConcreteCategory .ofHom <| coevaluation K V
219226
220227theorem FGModuleCatCoevaluation_apply_one :
221228 (FGModuleCatCoevaluation K V).hom (1 : K) =
@@ -225,7 +232,7 @@ theorem FGModuleCatCoevaluation_apply_one :
225232
226233/-- The evaluation morphism is given by the contraction map. -/
227234def FGModuleCatEvaluation : FGModuleCatDual K V ⊗ V ⟶ 𝟙_ (FGModuleCat K) :=
228- ModuleCat .ofHom <| contractLeft K V
235+ ConcreteCategory .ofHom <| contractLeft K V
229236
230237theorem FGModuleCatEvaluation_apply (f : FGModuleCatDual K V) (x : V) :
231238 (FGModuleCatEvaluation K V).hom (f ⊗ₜ x) = f.toFun x :=
@@ -237,7 +244,7 @@ theorem FGModuleCatEvaluation_apply (f : FGModuleCatDual K V) (x : V) :
237244theorem FGModuleCatEvaluation_apply' (f : FGModuleCatDual K V) (x : V) :
238245 DFunLike.coe
239246 (F := ((ModuleCat.of K (Module.Dual K V) ⊗ V.obj).carrier →ₗ[K] (𝟙_ (ModuleCat K))))
240- (FGModuleCatEvaluation K V).hom (f ⊗ₜ x) = f.toFun x :=
247+ (FGModuleCatEvaluation K V).hom.hom (f ⊗ₜ x) = f.toFun x :=
241248 contractLeft_apply f x
242249
243250private theorem coevaluation_evaluation :
@@ -275,10 +282,10 @@ end FGModuleCat
275282
276283@[simp] theorem LinearMap.comp_id_fgModuleCat
277284 {R} [Ring R] {G : FGModuleCat.{v} R} {H : Type v} [AddCommGroup H] [Module R H]
278- (f : G →ₗ[R] H) : f.comp (ModuleCat.Hom.hom (𝟙 G)) = f :=
285+ (f : G →ₗ[R] H) : f.comp (ModuleCat.Hom.hom (InducedCategory.Hom.hom ( 𝟙 G) )) = f :=
279286 ModuleCat.hom_ext_iff.mp <| Category.id_comp (ModuleCat.ofHom f)
280287
281288@[simp] theorem LinearMap.id_fgModuleCat_comp
282289 {R} [Ring R] {G : Type v} [AddCommGroup G] [Module R G] {H : FGModuleCat.{v} R}
283- (f : G →ₗ[R] H) : LinearMap.comp (ModuleCat.Hom.hom (𝟙 H)) f = f :=
290+ (f : G →ₗ[R] H) : LinearMap.comp (ModuleCat.Hom.hom (InducedCategory.Hom.hom ( 𝟙 H) )) f = f :=
284291 ModuleCat.hom_ext_iff.mp <| Category.comp_id (ModuleCat.ofHom f)
0 commit comments