Documentation

Mathlib.RepresentationTheory.Action

Main Purpose #

This file is the preliminary for the linearize functor from Action (Type w) G to Rep k G, constructing the functor from the Representation would reduce the amount of DefEq abuses that we currently are doing in the Rep file.

TODO (Edison) : Refactor Rep to be a concrete category of Representation and reconstruct the current linearize functor using this file.

noncomputable def Representation.linearize (k : Type u) (G : Type v) [Monoid G] [Semiring k] (X : Action (Type w) G) :

Every Set X that has a G-action on it can be made into a G-rep by using X →₀ k as the base module and G-action on it is induced by the G-action on X.

Instances For
    @[simp]
    theorem Representation.linearize_apply (k : Type u) (G : Type v) [Monoid G] [Semiring k] (X : Action (Type w) G) (g : G) :
    (linearize k G X) g = Finsupp.lmapDomain k k (X.ρ g)
    theorem Representation.linearize_single {k : Type u} {G : Type v} [Monoid G] [Semiring k] {X : Action (Type w) G} (g : G) (x : X.V) :
    (((linearize k G X) g) fun₀ | x => 1) = fun₀ | X.ρ g x => 1
    noncomputable def Representation.linearizeMap {k : Type u} {G : Type v} [Monoid G] [Semiring k] {X Y : Action (Type w) G} (f : X Y) :

    Every morphism between G-sets could be made into an intertwining map between Representations by the linear map induced on the indexing sets.

    Instances For
      @[simp]
      theorem Representation.linearizeMap_single {k : Type u} {G : Type v} [Monoid G] [Semiring k] {X Y : Action (Type w) G} (f : X Y) (x : X.V) (r : k) :
      ((linearizeMap f) fun₀ | x => r) = fun₀ | f.hom x => r

      The counit of the linearize functor.

      Instances For
        theorem Representation.LinearizeMonoidal.ε_one {k : Type u} {G : Type v} [Monoid G] [Semiring k] :
        (ε k G) 1 = fun₀ | PUnit.unit => 1

        The unit of the linearize functor.

        Instances For
          theorem Representation.LinearizeMonoidal.η_single {k : Type u} {G : Type v} [Monoid G] [Semiring k] (x : PUnit.{u + 1}) :
          ((η k G) fun₀ | x => 1) = 1

          The tensor (multiplication) of the linearize functor.

          Instances For
            theorem Representation.LinearizeMonoidal.μ_apply_single_single {G : Type v} [Monoid G] {X Y : Action (Type w) G} {k : Type u} [CommSemiring k] (x : X.V) (y : Y.V) (r s : k) :
            (μ X Y) ((fun₀ | x => r) ⊗ₜ[k] fun₀ | y => s) = fun₀ | (x, y) => r * s
            theorem Representation.LinearizeMonoidal.μ_apply_apply {G : Type v} [Monoid G] {X Y : Action (Type w) G} {k : Type u} [CommSemiring k] (l1 : X.V →₀ k) (l2 : Y.V →₀ k) (xy : (CategoryTheory.MonoidalCategoryStruct.tensorObj X Y).V) :
            ((μ X Y) (l1 ⊗ₜ[k] l2)) xy = l1 xy.1 * l2 xy.2

            The comultiplication of the linearize functor.

            Instances For
              noncomputable def Representation.linearizeTrivialIso (k : Type u) (G : Type v) [Monoid G] [Semiring k] (X : Type w) :
              (linearize k G (Action.trivial G X)).Equiv (trivial k G (X →₀ k))

              This a type-changing equivalence (which requires a non-trivial proof that LinearEquiv.refl _ _ is G-equivariant) to avoid abusing defeq.

              Instances For
                noncomputable def Representation.linearizeOfMulActionIso (k : Type u) (G : Type v) [Monoid G] [Semiring k] (H : Type w) [MulAction G H] :

                This a type-changing equivalence to avoid abusing defeq.

                Instances For
                  @[reducible, inline]
                  noncomputable abbrev Representation.linearizeDiagonalEquiv (k : Type u) (G : Type v) [Monoid G] [Semiring k] (n : ) :

                  This a type-changing equivalence to avoid abusing defeq.

                  Instances For