Documentation

TauCeti.RepresentationTheory.Induction.Projection

The projection formula for induced representations #

For a group homomorphism φ : G →* H, a G-representation A and an H-representation B, the projection formula (or tensor identity) is the isomorphism of H-representations

Ind_φ (A ⊗ Res_φ B) ≅ (Ind_φ A) ⊗ B.

It says that induction is a morphism of modules over the representation ring of H: an induced representation may be tensored with an H-representation either before or after inducing.

Mathlib has only the shadow of this statement obtained by taking H-coinvariants of both sides, Rep.coinvariantsTensorIndNatIso, which it uses for Shapiro's lemma. The isomorphism of representations itself is not a formal consequence of the induction--restriction adjunction: Representation.ind is built as the coinvariants of k[H] ⊗[k] A, so the map has to be produced by hand on representatives and then shown to descend and to be equivariant. That is what this file does, over an arbitrary commutative ring, at the generality of a group homomorphism rather than a subgroup inclusion.

The two directions are

⟦h ⊗ₜ (a ⊗ₜ b)⟧ ↦ ⟦h ⊗ₜ a⟧ ⊗ₜ ρ_B(h⁻¹) b, ⟦h ⊗ₜ a⟧ ⊗ₜ b ↦ ⟦h ⊗ₜ (a ⊗ₜ ρ_B(h) b)⟧.

The inverse h⁻¹ is not decorative. In Mathlib's model, g : G identifies h ⊗ₜ (a ⊗ₜ b) with φ(g)h ⊗ₜ (ρ_A(g) a ⊗ₜ ρ_B(φ g) b), so a twist ρ_B(f h) by a function f : H → H descends to the coinvariants as soon as f (φ(g) h) · φ(g) = f h for all g and h — a condition on f alone, which does not mention B. The canonical solution is f h = h⁻¹, and it is also the one that makes the map H-equivariant, because H acts on Ind_φ A by h₁ • ⟦h ⊗ₜ a⟧ = ⟦h h₁⁻¹ ⊗ₜ a⟧.

Main definitions #

The classical corollary for a subgroup S ≤ G, Ind_S^G (Res_S^G Y) ≅ k[G ⧸ S] ⊗ Y, needs the identification of Ind_S^G (trivial) with the permutation representation and therefore lives downstream, as TauCeti.indResProjection in TauCeti/RepresentationTheory/Induction/Permutation.lean.

Main statements #

Implementation notes #

Representation.IndV.mk φ ρ h is a reducible abbreviation for Coinvariants.mk _ ∘ₗ TensorProduct.mk k _ _ (MonoidAlgebra.single h 1), which simp unfolds. The generator lemmas below are therefore stated with IndV.mk, the readable form, but are not simp lemmas: their left-hand sides are not in simp-normal form and they never fire. This matches Mathlib's own Rep.coinvariantsTensorIndHom_mk_tmul_indVMk. They are applied by explicit rw/Eq.trans instead, so that only the two definitions TauCeti.indProjectionHom and TauCeti.indProjectionInv are ever unfolded, and only in their own generator lemmas. For the same reason the proofs below reach the generators by an explicit Representation.IndV.hom_ext/TensorProduct.ext' chain and peel the resulting compositions one at a time with LinearMap.comp_apply under conv_lhs/conv_rhs: an unrestricted ext/simp step also unfolds IndV.mk, after which the generator lemmas no longer match.

The Representation-level constructions are universe-polymorphic in k, G, H and the two carrier modules. The Rep k H layer is not, and cannot be: Rep.{w} k G is monoidal only for w the universe of k (ModuleCat.monoidalCategory is stated for ModuleCat.{u} R with R : Type u), while Rep.ind φ lands in Rep.{max u v' w} k H for H : Type v'. Tensoring Rep.ind φ X with Y therefore forces H into the universe of k, exactly as in Mathlib's own Rep.coinvariantsTensorIndHom section; only the source group G stays free.

References #

This is the projection formula of Layer 0 in TauCetiRoadmap/RepresentationTheory/InductionRestriction/README.md, whose Suggested.lean records it as indProjection. See J.-P. Serre, Linear Representations of Finite Groups, §3.3, and C. W. Curtis, I. Reiner, Methods of Representation Theory, Vol. I, §10.

noncomputable def TauCeti.indProjectionHom {k : Type u} {G : Type v} {H : Type v'} [CommRing k] [Group G] [Group H] (φ : G →* H) {A : Type w} {B : Type w'} [AddCommGroup A] [Module k A] [AddCommGroup B] [Module k B] (ρ : Representation k G A) (τ : Representation k H B) :

The forward map of the projection formula, ⟦h ⊗ₜ (a ⊗ₜ b)⟧ ↦ ⟦h ⊗ₜ a⟧ ⊗ₜ τ(h⁻¹) b. The twist by τ h⁻¹ is what makes the expression independent of the representative: it undoes the translation of the group coordinate recorded by Representation.Coinvariants.mk_self_apply.

Equations
  • One or more equations did not get rendered due to their size.
Instances For
    theorem TauCeti.indProjectionHom_apply_mk {k : Type u} {G : Type v} {H : Type v'} [CommRing k] [Group G] [Group H] (φ : G →* H) {A : Type w} {B : Type w'} [AddCommGroup A] [Module k A] [AddCommGroup B] [Module k B] (ρ : Representation k G A) (τ : Representation k H B) (h : H) (a : A) (b : B) :
    (indProjectionHom φ ρ τ) ((Representation.IndV.mk φ (ρ.tprod (MonoidHom.comp τ φ)) h) (a ⊗ₜ[k] b)) = (Representation.IndV.mk φ ρ h) a ⊗ₜ[k] (τ h⁻¹) b

    TauCeti.indProjectionHom on generators. This is the only place the definition is unfolded; every later proof rewrites with this rule instead.

    noncomputable def TauCeti.indProjectionInv {k : Type u} {G : Type v} {H : Type v'} [CommRing k] [Group G] [Group H] (φ : G →* H) {A : Type w} {B : Type w'} [AddCommGroup A] [Module k A] [AddCommGroup B] [Module k B] (ρ : Representation k G A) (τ : Representation k H B) :

    The backward map of the projection formula, ⟦h ⊗ₜ a⟧ ⊗ₜ b ↦ ⟦h ⊗ₜ (a ⊗ₜ τ(h) b)⟧.

    Equations
    • One or more equations did not get rendered due to their size.
    Instances For
      theorem TauCeti.indProjectionInv_apply_mk {k : Type u} {G : Type v} {H : Type v'} [CommRing k] [Group G] [Group H] (φ : G →* H) {A : Type w} {B : Type w'} [AddCommGroup A] [Module k A] [AddCommGroup B] [Module k B] (ρ : Representation k G A) (τ : Representation k H B) (h : H) (a : A) (b : B) :
      (indProjectionInv φ ρ τ) ((Representation.IndV.mk φ ρ h) a ⊗ₜ[k] b) = (Representation.IndV.mk φ (ρ.tprod (MonoidHom.comp τ φ)) h) (a ⊗ₜ[k] (τ h) b)

      TauCeti.indProjectionInv on generators. This is the only place the definition is unfolded; every later proof rewrites with this rule instead.

      noncomputable def TauCeti.indProjectionLEquiv {k : Type u} {G : Type v} {H : Type v'} [CommRing k] [Group G] [Group H] (φ : G →* H) {A : Type w} {B : Type w'} [AddCommGroup A] [Module k A] [AddCommGroup B] [Module k B] (ρ : Representation k G A) (τ : Representation k H B) :

      The projection formula as a k-linear equivalence of the underlying modules: the two maps above are mutually inverse because τ h and τ h⁻¹ cancel.

      Equations
      Instances For
        @[simp]
        theorem TauCeti.indProjectionLEquiv_apply {k : Type u} {G : Type v} {H : Type v'} [CommRing k] [Group G] [Group H] (φ : G →* H) {A : Type w} {B : Type w'} [AddCommGroup A] [Module k A] [AddCommGroup B] [Module k B] (ρ : Representation k G A) (τ : Representation k H B) (x : Representation.IndV φ (ρ.tprod (MonoidHom.comp τ φ))) :
        (indProjectionLEquiv φ ρ τ) x = (indProjectionHom φ ρ τ) x

        TauCeti.indProjectionLEquiv is TauCeti.indProjectionHom in the forward direction.

        noncomputable def TauCeti.indProjectionEquiv {k : Type u} {G : Type v} {H : Type v'} [CommRing k] [Group G] [Group H] (φ : G →* H) {A : Type w} {B : Type w'} [AddCommGroup A] [Module k A] [AddCommGroup B] [Module k B] (ρ : Representation k G A) (τ : Representation k H B) :

        The projection formula as an equivalence of representations. Equivariance is the computation (h h₁⁻¹)⁻¹ = h₁ h⁻¹: translating the group coordinate on the induced side by h₁⁻¹ on the right is matched by acting with h₁ on the second tensor factor.

        Equations
        Instances For
          noncomputable def TauCeti.indProjection {k : Type u} {G : Type v} {H : Type u} [CommRing k] [Group G] [Group H] (φ : G →* H) (X : Rep k G) (Y : Rep k H) :

          The projection formula in Rep k H: inducing a representation tensored with a restricted one is the induced representation tensored with the original, Ind_φ (X ⊗ Res_φ Y) ≅ (Ind_φ X) ⊗ Y.

          Equations
          Instances For
            theorem TauCeti.indProjection_hom_hom_apply {k : Type u} {G : Type v} {H : Type u} [CommRing k] [Group G] [Group H] (φ : G →* H) (X : Rep k G) (Y : Rep k H) (h : H) (x : ↑X) (y : ↑Y) :

            The forward direction of TauCeti.indProjection on generators. Not a simp lemma: simp unfolds the reducible Representation.IndV.mk, so the left-hand side is not in simp-normal form.

            theorem TauCeti.indProjection_inv_hom_apply {k : Type u} {G : Type v} {H : Type u} [CommRing k] [Group G] [Group H] (φ : G →* H) (X : Rep k G) (Y : Rep k H) (h : H) (x : ↑X) (y : ↑Y) :

            The backward direction of TauCeti.indProjection on generators.

            The projection formula as a natural isomorphism in the left tensor factor: the functors X ↦ Ind_φ (X ⊗ Res_φ Y) and X ↦ (Ind_φ X) ⊗ Y from Rep k G to Rep k H agree.

            Equations
            Instances For

              The projection formula as a natural isomorphism in the right tensor factor: the endofunctors Y ↦ Ind_φ (X ⊗ Res_φ Y) and Y ↦ (Ind_φ X) ⊗ Y of Rep k H agree. This is the shape of Mathlib's coinvariants version Rep.coinvariantsTensorIndNatIso.

              Equations
              Instances For

                The comparison with Mathlib's coinvariants shadow. Applying H-coinvariants to TauCeti.indProjection and composing with Rep.coinvariantsTensorIndHom sends the class of a generator ⟦h ⊗ₜ z⟧ to ⟦z⟧, with no trace of h left: the twist Y.ρ h⁻¹ introduced by the projection formula is absorbed by the coinvariants relation.

                This computes that one composite on generators; it is not an equality of the two isomorphisms, which do not have the same source and target: Rep.coinvariantsTensorIndHom runs from the coinvariants of (Ind_φ X) ⊗ Y to the coinvariants of X ⊗ Res_φ Y downstairs, while TauCeti.indProjection is an isomorphism in Rep k H upstairs.