Skip to content

Commit 2186c5f

Browse files
committed
feat: add some simp lemmas for FGModuleCat and FDRep (#22668)
Add some `simp` lemmas to deal with `FGModuleCat` and `FDRep`.
1 parent b764a7e commit 2186c5f

File tree

2 files changed

+25
-1
lines changed

2 files changed

+25
-1
lines changed

Mathlib/Algebra/Category/FGModuleCat/Basic.lean

Lines changed: 10 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -58,7 +58,7 @@ instance : CoeSort (FGModuleCat R) (Type u) :=
5858

5959
attribute [coe] FGModuleCat.carrier
6060

61-
@[simp] lemma obj_carrier (M : FGModuleCat R) : M.obj.carrier = M.carrier := rfl
61+
@[simp] lemma FGModuleCat.obj_carrier (M : FGModuleCat R) : M.obj.carrier = M.carrier := rfl
6262

6363
instance (M : FGModuleCat R) : AddCommGroup M := by
6464
change AddCommGroup M.obj
@@ -88,6 +88,11 @@ section Ring
8888

8989
variable (R : Type u) [Ring R]
9090

91+
@[simp] lemma hom_comp (A B C : FGModuleCat R) (f : A ⟶ B) (g : B ⟶ C) :
92+
(f ≫ g).hom = g.hom.comp f.hom := rfl
93+
94+
@[simp] lemma hom_id (A : FGModuleCat R) : (𝟙 A : A ⟶ A).hom = LinearMap.id := rfl
95+
9196
instance finite (V : FGModuleCat R) : Module.Finite R V :=
9297
V.property
9398

@@ -98,6 +103,10 @@ instance : Inhabited (FGModuleCat R) :=
98103
abbrev of (V : Type u) [AddCommGroup V] [Module R V] [Module.Finite R V] : FGModuleCat R :=
99104
⟨ModuleCat.of R V, by change Module.Finite R V; infer_instance⟩
100105

106+
@[simp]
107+
lemma of_carrier (V : Type u) [AddCommGroup V] [Module R V] [Module.Finite R V] :
108+
of R V = V := rfl
109+
101110
variable {R} in
102111
/-- Lift a linear map between finitely generated modules to `FGModuleCat R`. -/
103112
abbrev ofHom {V W : Type u} [AddCommGroup V] [Module R V] [Module.Finite R V]

Mathlib/RepresentationTheory/FDRep.lean

Lines changed: 15 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -125,6 +125,21 @@ abbrev of {V : Type u} [AddCommGroup V] [Module R V] [Module.Finite R V]
125125
(ρ : Representation R G V) : FDRep R G :=
126126
⟨FGModuleCat.of R V, (ModuleCat.endRingEquiv _).symm.toMonoidHom.comp ρ⟩
127127

128+
/-- This lemma is about `FDRep.ρ`, instead of `Action.ρ` for `of_ρ`. -/
129+
@[simp]
130+
theorem of_ρ' {V : Type u} [AddCommGroup V] [Module R V] [Module.Finite R V] (ρ : G →* V →ₗ[R] V) :
131+
(of ρ).ρ = ρ := rfl
132+
133+
@[simp]
134+
theorem ρ_inv_self_apply {G : Type u} [Group G] {A : FDRep R G} (g : G) (x : A) :
135+
A.ρ g⁻¹ (A.ρ g x) = x :=
136+
show (A.ρ g⁻¹ * A.ρ g) x = x by rw [← map_mul, inv_mul_cancel, map_one, LinearMap.one_apply]
137+
138+
@[simp]
139+
theorem ρ_self_inv_apply {G : Type u} [Group G] {A : FDRep R G} (g : G) (x : A) :
140+
A.ρ g (A.ρ g⁻¹ x) = x :=
141+
show (A.ρ g * A.ρ g⁻¹) x = x by rw [← map_mul, mul_inv_cancel, map_one, LinearMap.one_apply]
142+
128143
instance : HasForget₂ (FDRep R G) (Rep R G) where
129144
forget₂ := (forget₂ (FGModuleCat R) (ModuleCat R)).mapAction G
130145

0 commit comments

Comments
 (0)