Rep k G
is the category of k
-linear representations of G
. #
THIS FILE IS SYNCHRONIZED WITH MATHLIB4. Any changes to this file require a corresponding PR to mathlib4.
If V : Rep k G
, there is a coercion that allows you to treat V
as a type,
and this type comes equipped with a module k V
instance.
Also V.ρ
gives the homomorphism G →* (V →ₗ[k] V)
.
Conversely, given a homomorphism ρ : G →* (V →ₗ[k] V)
,
you can construct the bundled representation as Rep.of ρ
.
We construct the categorical equivalence Rep k G ≌ Module (monoid_algebra k G)
.
We verify that Rep k G
is a k
-linear abelian symmetric monoidal category with all (co)limits.
Equations
Equations
Equations
- V.add_comm_group = id ((category_theory.forget₂ (Rep k G) (Module k)).obj V).is_add_comm_group
Allows us to apply lemmas about the underlying ρ
, which would take an element g : G
rather
than g : Mon.of G
as an argument.
The trivial k
-linear G
-representation on a k
-module V.
Equations
- Rep.trivial k G V = Rep.of (representation.trivial k)
The monoidal functor sending a type H
with a G
-action to the induced k
-linear
G
-representation on k[H].
Equations
- Rep.linearization k G = (Module.monoidal_free k).map_Action (Mon.of G)
The linearization of a type X
on which G
acts trivially is the trivial G
-representation
on k[X]
.
Equations
- Rep.linearization_trivial_iso k G X = Action.mk_iso (category_theory.iso.refl ((Rep.linearization k G).to_lax_monoidal_functor.to_functor.obj {V := X, ρ := 1}).V) _
Given a G
-action on H
, this is k[H]
bundled with the natural representation
G →* End(k[H])
as a term of type Rep k G
.
The k
-linear G
-representation on k[G]
, induced by left multiplication.
Equations
- Rep.left_regular k G = Rep.of_mul_action k G G
The k
-linear G
-representation on k[Gⁿ]
, induced by left multiplication.
Equations
- Rep.diagonal k G n = Rep.of_mul_action k G (fin n → G)
The linearization of a type H
with a G
-action is definitionally isomorphic to the
k
-linear G
-representation on k[H]
induced by the G
-action on H
.
Equations
Given an element x : A
, there is a natural morphism of representations k[G] ⟶ A
sending
g ↦ A.ρ(g)(x).
Given a k
-linear G
-representation A
, there is a k
-linear isomorphism between
representation morphisms Hom(k[G], A)
and A
.
Equations
- A.left_regular_hom_equiv = {to_fun := λ (f : Rep.of_mul_action k G G ⟶ A), ⇑(f.hom) (finsupp.single 1 1), map_add' := _, map_smul' := _, inv_fun := λ (x : ↥A), A.left_regular_hom x, left_inv := _, right_inv := _}
Given a k
-linear G
-representation (A, ρ₁)
, this is the 'internal Hom' functor sending
(B, ρ₂)
to the representation Homₖ(A, B)
that maps g : G
and f : A →ₗ[k] B
to
(ρ₂ g) ∘ₗ f ∘ₗ (ρ₁ g⁻¹)
.
Given a k
-linear G
-representation A
, this is the Hom-set bijection in the adjunction
A ⊗ - ⊣ ihom(A, -)
. It sends f : A ⊗ B ⟶ C
to a Rep k G
morphism defined by currying the
k
-linear map underlying f
, giving a map A →ₗ[k] B →ₗ[k] C
, then flipping the arguments.
Equations
- Rep.category_theory.monoidal_closed = {closed' := λ (A : Rep k G), {is_adj := {right := A.ihom, adj := category_theory.adjunction.mk_of_hom_equiv {hom_equiv := A.hom_equiv, hom_equiv_naturality_left_symm' := _, hom_equiv_naturality_right' := _}}}}
There is a k
-linear isomorphism between the sets of representation morphismsHom(A ⊗ B, C)
and Hom(B, Homₖ(A, C))
.
Equations
- Rep.monoidal_closed.linear_hom_equiv A B C = {to_fun := ((category_theory.ihom.adjunction A).hom_equiv B C).to_fun, map_add' := _, map_smul' := _, inv_fun := ((category_theory.ihom.adjunction A).hom_equiv B C).inv_fun, left_inv := _, right_inv := _}
There is a k
-linear isomorphism between the sets of representation morphismsHom(A ⊗ B, C)
and Hom(A, Homₖ(B, C))
.
Equations
Tautological isomorphism to help Lean in typechecking.
Equations
- ρ.Rep_of_tprod_iso τ = category_theory.iso.refl (Rep.of (ρ.tprod τ))
The categorical equivalence Rep k G ≌ Module.{u} (monoid_algebra k G)
. #
Auxilliary lemma for to_Module_monoid_algebra
.
Auxilliary definition for to_Module_monoid_algebra
.
Functorially convert a representation of G
into a module over monoid_algebra k G
.
Equations
- Rep.to_Module_monoid_algebra = {obj := λ (V : Rep k G), Module.of (monoid_algebra k G) V.ρ.as_module, map := λ (V W : Rep k G) (f : V ⟶ W), Rep.to_Module_monoid_algebra_map f, map_id' := _, map_comp' := _}
Functorially convert a module over monoid_algebra k G
into a representation of G
.
Auxilliary definition for equivalence_Module_monoid_algebra
.
Equations
- Rep.counit_iso_add_equiv = id ((representation.of_module k G ↥M).as_module_equiv.trans (restrict_scalars.add_equiv k (monoid_algebra k G) ↥M))
Auxilliary definition for equivalence_Module_monoid_algebra
.
Equations
- Rep.unit_iso_add_equiv = id (V.ρ.as_module_equiv.symm.trans (restrict_scalars.add_equiv k (monoid_algebra k G) V.ρ.as_module).symm)
Auxilliary definition for equivalence_Module_monoid_algebra
.
Equations
- Rep.counit_iso M = {to_fun := Rep.counit_iso_add_equiv.to_fun, map_add' := _, map_smul' := _, inv_fun := Rep.counit_iso_add_equiv.inv_fun, left_inv := _, right_inv := _}.to_Module_iso'
Auxilliary definition for equivalence_Module_monoid_algebra
.
Equations
- V.unit_iso = Action.mk_iso {to_fun := Rep.unit_iso_add_equiv.to_fun, map_add' := _, map_smul' := _, inv_fun := Rep.unit_iso_add_equiv.inv_fun, left_inv := _, right_inv := _}.to_Module_iso' _
The categorical equivalence Rep k G ≌ Module (monoid_algebra k G)
.
Equations
- Rep.equivalence_Module_monoid_algebra = {functor := Rep.to_Module_monoid_algebra _inst_2, inverse := Rep.of_Module_monoid_algebra _inst_2, unit_iso := category_theory.nat_iso.of_components (λ (V : Rep k G), V.unit_iso) Rep.equivalence_Module_monoid_algebra._proof_1, counit_iso := category_theory.nat_iso.of_components (λ (M : Module (monoid_algebra k G)), Rep.counit_iso M) Rep.equivalence_Module_monoid_algebra._proof_2, functor_unit_iso_comp' := _}