Documentation

TauCeti.RepresentationTheory.Induction.Transitivity

Transitivity of induction and coinduction #

This file records restriction and coinduction in stages for representations along composable monoid homomorphisms, and induction in stages along composable group homomorphisms. It obtains the natural isomorphisms from the equality of restriction functors MonoidHom.resFunctor_comp and Mathlib's induction--restriction and restriction--coinduction adjunctions. This is the categorical core used by the subgroup form of induction.

Uniqueness of adjoints produces those isomorphisms without ever saying what they do, and a comparison map known only up to an abstract adjoint characterisation is of no use to a computation with induced characters or with the Mackey decomposition, both of which have to follow a chosen coset representative through the isomorphism. The second half of this file therefore evaluates them on representatives:

⟦κ ⊗ₜ ⟦h ⊗ₜ a⟧⟧ ↦ ⟦ψ(h) κ ⊗ₜ a⟧, ⟦κ ⊗ₜ a⟧ ↦ ⟦κ ⊗ₜ ⟦1 ⊗ₜ a⟧⟧

for induction, and dually F ↦ (κ ↦ F κ 1), f ↦ (κ ↦ (h ↦ f (ψ(h) κ))) for coinduction.

The route to these formulas is the mates calculus rather than an unfolding of Adjunction.leftAdjointCompIso. The identity CategoryTheory.unit_conjugateEquiv says that conjugate natural transformations agree after composing with the two units; since the unit of the induction--restriction adjunction is the generator map a ↦ ⟦1 ⊗ₜ a⟧ and resFunctorCompIso is the identity on vectors, that identity computes the inverse isomorphism (indFunctorCompIso φ ψ).inv on the generator ⟦1 ⊗ₜ a⟧ of the singly induced representation, which is where both units land. Equivariance then spreads that single value over all group coordinates, giving the inverse on every generator, and the forward formula follows by inverting it. Both steps use the relation ⟦κ ⊗ₜ ⟦h ⊗ₜ a⟧⟧ = ⟦ψ(h) κ ⊗ₜ ⟦1 ⊗ₜ a⟧⟧ inside the coinvariants (TauCeti.indV_mk_ind_mk), which also says that the elements with inner coordinate 1 generate, so that the formula determines the map. The coinduction side is the same argument run through CategoryTheory.conjugateEquiv_counit_symm and the counit, which is evaluation at 1; there it is the forward isomorphism that the counits compute, and the inverse that is derived.

Main definitions #

Main statements #

Implementation notes #

The four representative formulas are tagged with the pre-order @[simp↓] rather than @[simp], like TauCeti.Rep.resFunctorCompIso_hom_app_apply above them. Their left-hand sides are readable but not in post-order simp-normal form: on the induction side Representation.IndV.mk φ ρ h is a reducible abbreviation that simp unfolds to Representation.Coinvariants.mk _ (single h 1 ⊗ₜ a), and on the coinduction side simp rewrites the source and target of (coindFunctorCompIso φ ψ).hom.app A, which appear as implicit arguments, with CategoryTheory.Functor.comp_obj and Rep.coindFunctor_obj. A plain @[simp] tag is therefore rejected by the simpNF linter and would never fire, and restating the formulas in the linter's normal form is not a way out: that form pairs rewritten implicit type arguments with an unrewritten Representation.IntertwiningMap.instFunLike instance argument, which no surface syntax elaborates to. @[simp↓] fires the lemma before those subterms are normalised, so simp closes goals stated in the readable form, and rw and exact still apply the lemmas as usual.

References #

C. W. Curtis, I. Reiner, Methods of Representation Theory, Vol. I, §10, and J.-P. Serre, Linear Representations of Finite Groups, §7.

Generators of induced and coinduced representations #

The lemmas of this section speak only about Representation.IndV and Representation.coindV and mention no object of Rep, so they are not declared in the Rep namespace. They also stay out of a Representation namespace: scripts/lint-dot-notation.py rejects a Mathlib type namespace nested inside TauCeti, because the resulting name would not give dot notation on Representation.

theorem TauCeti.indV_mk_apply_inv {k : Type u} {H : Type w} {K : Type x} [CommRing k] [Group H] [Group K] {W : Type u_1} [AddCommGroup W] [Module k W] (ψ : H →* K) (τ : Representation k H W) (h : H) (κ : K) (y : W) :
(Representation.IndV.mk ψ τ κ) ((τ h⁻¹) y) = (Representation.IndV.mk ψ τ (ψ h * κ)) y

Moving the group action out of an induced representation into its group coordinate: ⟦κ ⊗ₜ τ h⁻¹ y⟧ = ⟦ψ(h) κ ⊗ₜ y⟧. This is Representation.Coinvariants.mk_tmul_inv for the tensor product defining Representation.IndV.

theorem TauCeti.indV_mk_ind_mk {k : Type u} {G : Type v} {H : Type w} {K : Type x} [CommRing k] [Group G] [Group H] [Group K] {V : Type u_1} [AddCommGroup V] [Module k V] (φ : G →* H) (ψ : H →* K) (ρ : Representation k G V) (h : H) (κ : K) (a : V) :

Moving the inner group coordinate of a twice-induced representation out to the outer one: ⟦κ ⊗ₜ ⟦h ⊗ₜ a⟧⟧ = ⟦ψ(h) κ ⊗ₜ ⟦1 ⊗ₜ a⟧⟧. Every element of Ind_ψ (Ind_φ A) is therefore a sum of elements whose inner coordinate is 1, which is what makes the two representative formulas below determine the induction-in-stages isomorphism.

theorem TauCeti.indV_ind_hom_ext {k : Type u} {G : Type v} {H : Type w} {K : Type x} [CommRing k] [Group G] [Group H] [Group K] {V : Type u_1} {W : Type u_2} [AddCommGroup V] [Module k V] [AddCommGroup W] [Module k W] (φ : G →* H) (ψ : H →* K) (ρ : Representation k G V) {f g : Representation.IndV ψ (Representation.ind φ ρ) →ₗ[k] W} (hfg : ∀ (κ : K) (a : V), f ((Representation.IndV.mk ψ (Representation.ind φ ρ) κ) ((Representation.IndV.mk φ ρ 1) a)) = g ((Representation.IndV.mk ψ (Representation.ind φ ρ) κ) ((Representation.IndV.mk φ ρ 1) a))) :
f = g

Two linear maps out of a twice-induced representation agree as soon as they agree on the elements ⟦κ ⊗ₜ ⟦1 ⊗ₜ a⟧⟧ whose inner group coordinate is 1.

def TauCeti.Rep.resFunctorCompIso {k : Type u} {G : Type v} {H : Type w} {K : Type x} [Semiring k] [Monoid G] [Monoid H] [Monoid K] (φ : G →* H) (ψ : H →* K) :

Restriction along two composable group homomorphisms is naturally isomorphic to restriction along their composite. The two functors are in fact equal (MonoidHom.resFunctor_comp), so this is that equality read as an isomorphism.

Equations
Instances For
    @[simp]
    theorem TauCeti.Rep.resFunctorCompIso_hom_app_apply {k : Type u} {G : Type v} {H : Type w} {K : Type x} [Semiring k] [Monoid G] [Monoid H] [Monoid K] (φ : G →* H) (ψ : H →* K) (A : Rep.{max (max (max u v) w) x, u, x} k K) (x : ↑A) :

    The forward component of resFunctorCompIso acts as the identity on vectors.

    @[simp]
    theorem TauCeti.Rep.resFunctorCompIso_inv_app_apply {k : Type u} {G : Type v} {H : Type w} {K : Type x} [Semiring k] [Monoid G] [Monoid H] [Monoid K] (φ : G →* H) (ψ : H →* K) (A : Rep.{max (max (max u v) w) x, u, x} k K) (x : ↑A) :

    The inverse component of resFunctorCompIso acts as the identity on vectors.

    noncomputable def TauCeti.Rep.indFunctorCompIso {k : Type u} {G : Type v} {H : Type w} {K : Type x} [CommRing k] [Group G] [Group H] [Group K] (φ : G →* H) (ψ : H →* K) :

    Induction in stages: induction along a composite is naturally isomorphic to successive inductions along the two group homomorphisms.

    Equations
    Instances For
      @[simp]

      The induction-in-stages isomorphism is characterized by the restriction-composition isomorphism under the adjunction equivalence.

      theorem TauCeti.Rep.ind_hom_apply_mk {k : Type u} {K : Type x} [CommRing k] [Group K] {J : Type y} [Group J] (σ : J →* K) {B : Rep.{z, u, y} k J} {Y : Rep.{max u x z, u, x} k K} (f : Rep.ind σ B ⟶ Y) (κ : K) (b : ↑B) :

      A morphism out of an induced representation is the κ⁻¹-translate of its value at the group coordinate 1: it sends ⟦κ ⊗ₜ b⟧ to Y.ρ κ⁻¹ of its value on ⟦1 ⊗ₜ b⟧. Together with TauCeti.indV_ind_hom_ext this is what lets a formula at the coordinate 1 determine a morphism out of an induced representation.

      theorem TauCeti.Rep.ind_ind_hom_ext {k : Type u} {G : Type v} {H : Type w} {K : Type x} [CommRing k] [Group G] [Group H] [Group K] (φ : G →* H) (ψ : H →* K) (A : Rep.{max u v w x, u, v} k G) {B : Rep.{max u v w x, u, x} k K} {f g : ((Rep.indFunctor k φ).comp (Rep.indFunctor k ψ)).obj A ⟶ B} (hfg : ∀ (a : ↑A), (Rep.Hom.hom f) ((Representation.IndV.mk ψ (Rep.ind φ A).ρ 1) ((Representation.IndV.mk φ A.ρ 1) a)) = (Rep.Hom.hom g) ((Representation.IndV.mk ψ (Rep.ind φ A).ρ 1) ((Representation.IndV.mk φ A.ρ 1) a))) :
      f = g

      Two morphisms of K-representations out of a twice-induced representation agree as soon as they agree on the elements ⟦1 ⊗ₜ ⟦1 ⊗ₜ a⟧⟧. This is the Rep-morphism companion of TauCeti.indV_ind_hom_ext: equivariance removes the outer group coordinate from its hypothesis.

      @[simp]
      theorem TauCeti.Rep.indFunctorCompIso_inv_app_hom_apply_mk {k : Type u} {G : Type v} {H : Type w} {K : Type x} [CommRing k] [Group G] [Group H] [Group K] (φ : G →* H) (ψ : H →* K) (A : Rep.{max u v w x, u, v} k G) (κ : K) (a : ↑A) :

      Induction in stages on representatives, backwards: the inverse of the induction-in-stages isomorphism sends ⟦κ ⊗ₜ a⟧ to ⟦κ ⊗ₜ ⟦1 ⊗ₜ a⟧⟧. Tagged @[simp↓] rather than @[simp] because simp unfolds the reducible Representation.IndV.mk in the left-hand side.

      @[simp]
      theorem TauCeti.Rep.indFunctorCompIso_hom_app_hom_apply_mk_mk {k : Type u} {G : Type v} {H : Type w} {K : Type x} [CommRing k] [Group G] [Group H] [Group K] (φ : G →* H) (ψ : H →* K) (A : Rep.{max u v w x, u, v} k G) (h : H) (κ : K) (a : ↑A) :
      (Rep.Hom.hom ((indFunctorCompIso φ ψ).hom.app A)) ((Representation.IndV.mk ψ (Rep.ind φ A).ρ κ) ((Representation.IndV.mk φ A.ρ h) a)) = (Representation.IndV.mk (ψ.comp φ) A.ρ (ψ h * κ)) a

      Induction in stages on representatives: the induction-in-stages isomorphism sends ⟦κ ⊗ₜ ⟦h ⊗ₜ a⟧⟧ to ⟦ψ(h) κ ⊗ₜ a⟧. This is the explicit formula the character and Mackey computations consume, in place of the abstract adjoint comparison. Tagged @[simp↓] for the same reason as TauCeti.Rep.indFunctorCompIso_inv_app_hom_apply_mk.

      theorem TauCeti.Rep.eq_indFunctorCompIso_hom_app {k : Type u} {G : Type v} {H : Type w} {K : Type x} [CommRing k] [Group G] [Group H] [Group K] (φ : G →* H) (ψ : H →* K) (A : Rep.{max u v w x, u, v} k G) {f : ((Rep.indFunctor k φ).comp (Rep.indFunctor k ψ)).obj A ⟶ (Rep.indFunctor k (ψ.comp φ)).obj A} (hf : ∀ (a : ↑A), (Rep.Hom.hom f) ((Representation.IndV.mk ψ (Rep.ind φ A).ρ 1) ((Representation.IndV.mk φ A.ρ 1) a)) = (Representation.IndV.mk (ψ.comp φ) A.ρ 1) a) :

      The induction-in-stages isomorphism is determined by its values on the generators. A morphism of K-representations Ind_ψ (Ind_φ A) ⟶ Ind_{ψφ} A sending ⟦1 ⊗ₜ ⟦1 ⊗ₜ a⟧⟧ to ⟦1 ⊗ₜ a⟧ for every a : A is the induction-in-stages isomorphism. This is how a comparison map built by hand is identified with the adjoint one produced by TauCeti.Rep.indFunctorCompIso.

      noncomputable def TauCeti.Rep.indFunctorMulEquivIso {k : Type u} {G : Type v} {H : Type w} [CommRing k] [Group G] [Group H] (e : G ≃* H) :

      Induction along an isomorphism is restriction along its inverse. For e : G ≃* H, Ind_e ≅ Res_{e⁻¹} as functors Rep k G ⥤ Rep k H: both are left adjoint to Res_e, which is an equivalence (MulEquiv.resFunctorEquiv).

      Equations
      • One or more equations did not get rendered due to their size.
      Instances For

        Induction in stages through an intermediate subgroup. For subgroups S ≤ T of G, inducing a representation of S, viewed as the subgroup S.subgroupOf T of T, first to T and then to G is inducing it from S to G directly. The identification of S.subgroupOf T with S is Subgroup.subgroupOfEquivOfLe.

        Equations
        • One or more equations did not get rendered due to their size.
        Instances For
          noncomputable def TauCeti.Rep.coindFunctorCompIso {k : Type u} {G : Type v} {H : Type w} {K : Type x} [CommRing k] [Monoid G] [Monoid H] [Monoid K] (φ : G →* H) (ψ : H →* K) :

          Coinduction in stages: successive coinductions are naturally isomorphic to coinduction along the composite homomorphism.

          Equations
          • One or more equations did not get rendered due to their size.
          Instances For
            @[simp]

            The coinduction-in-stages isomorphism is characterized by the inverse restriction-composition isomorphism under the inverse adjunction equivalence.

            @[simp]
            theorem TauCeti.Rep.coindFunctorCompIso_hom_app_hom_apply_coe_apply {k : Type u} {G : Type v} {H : Type w} {K : Type x} [CommRing k] [Monoid G] [Monoid H] [Monoid K] (φ : G →* H) (ψ : H →* K) (A : Rep.{max u v w x, u, v} k G) (F : ↑(Rep.coind.{u, w, x, max w (max (max u v) w) x} ψ (Rep.coind.{u, v, w, max (max (max u v) w) x} φ A))) (κ : K) :
            ↑((Rep.Hom.hom ((coindFunctorCompIso φ ψ).hom.app A)) F) κ = ↑(↑F κ) 1

            Coinduction in stages on functions: the coinduction-in-stages isomorphism sends an H-equivariant function F : K → coind φ A, whose values are themselves the G-equivariant functions H → A, to κ ↦ F κ 1. This is the dual of TauCeti.Rep.indFunctorCompIso_hom_app_hom_apply_mk_mk, and is obtained from its value at 1 by K-equivariance. Tagged @[simp↓] rather than @[simp] because simp rewrites the source and target of the isomorphism component in the left-hand side.

            @[simp]
            theorem TauCeti.Rep.coindFunctorCompIso_inv_app_hom_apply_coe_apply_coe_apply {k : Type u} {G : Type v} {H : Type w} {K : Type x} [CommRing k] [Monoid G] [Monoid H] [Monoid K] (φ : G →* H) (ψ : H →* K) (A : Rep.{max u v w x, u, v} k G) (f : ↑(Rep.coind.{u, v, x, max (max (max u v) w) x} (ψ.comp φ) A)) (κ : K) (h : H) :
            ↑(↑((Rep.Hom.hom ((coindFunctorCompIso φ ψ).inv.app A)) f) κ) h = ↑f (ψ h * κ)

            Coinduction in stages on functions, backwards: the inverse of the coinduction-in-stages isomorphism turns a G-equivariant function f : K → A into κ ↦ (h ↦ f (ψ(h) κ)), the dual of TauCeti.Rep.indFunctorCompIso_inv_app_hom_apply_mk. Tagged @[simp↓] for the same reason as TauCeti.Rep.coindFunctorCompIso_hom_app_hom_apply_coe_apply.