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' := _}