Documentation

TauCeti.Algebra.Module.AuslanderReiten.DoubleTranspose.Basic

Double dualization of a projective presentation #

For a map f : P₁ → P₀ between finitely generated projective left modules over a ring A, dualization gives a right-linear map f* : Hom_A(P₀, A) → Hom_A(P₁, A). Dualizing again, with values in the right regular module A, gives f**. Evaluation identifies its cokernel with the cokernel of f. Thus, for a projective presentation P₁ → P₀ → M → 0, the cokernel after two dualizations is canonically M.

This is the involutivity calculation behind the Auslander--Bridger transpose: using the dual presentation to transpose Tr M returns M. Comparison with another projective presentation then gives involutivity up to projective summands. Here we expose the canonical calculation on the presenting maps; no minimality or finite-length hypothesis is needed.

The double-dual equivalences use codomain A with its right action and are left A-linear. The double-transpose equivalences use the transpose's actual codomain Aᵐᵒᵖ and are semilinear along the canonical ring equivalence Aᵐᵒᵖᵐᵒᵖ ≃+* A. Thus they apply to noncommutative rings without changing the transpose's module instances.

For a right presentation, rightDoubleTransposePresentationEquiv instead dualizes into A itself. Its recovery is Aᵐᵒᵖ-linear, which lets left presentations realize prescribed right modules as their transposes.

References #

noncomputable def TauCeti.doubleDualCokernelEquiv (A : Type u_1) [Ring A] {P₀ : Type u_2} {P₁ : Type u_3} [AddCommGroup P₀] [Module A P₀] [AddCommGroup P₁] [Module A P₁] [Module.Finite A P₀] [Module.Projective A P₀] [Module.Finite A P₁] [Module.Projective A P₁] (f : P₁ →ₗ[A] P₀) :

The cokernel of the twice-dualized presenting map is canonically the original cokernel.

Equations
Instances For
    @[simp]
    theorem TauCeti.doubleDualCokernelEquiv_mk (A : Type u_1) [Ring A] {P₀ : Type u_2} {P₁ : Type u_3} [AddCommGroup P₀] [Module A P₀] [AddCommGroup P₁] [Module A P₁] [Module.Finite A P₀] [Module.Projective A P₀] [Module.Finite A P₁] [Module.Projective A P₁] (f : P₁ →ₗ[A] P₀) (F : Module.Dual A P₀ →ₗ[Aᵐᵒᵖ] A) :

    On a representative, double-dual cokernel transport applies inverse evaluation.

    @[simp]
    theorem TauCeti.doubleDualCokernelEquiv_symm_mk (A : Type u_1) [Ring A] {P₀ : Type u_2} {P₁ : Type u_3} [AddCommGroup P₀] [Module A P₀] [AddCommGroup P₁] [Module A P₁] [Module.Finite A P₀] [Module.Projective A P₀] [Module.Finite A P₁] [Module.Projective A P₁] (f : P₁ →ₗ[A] P₀) (x : P₀) :

    The inverse cokernel transport applies evaluation to a representative.

    noncomputable def TauCeti.doubleDualPresentationEquiv (A : Type u_1) [Ring A] {P₀ : Type u_2} {P₁ : Type u_3} {M : Type u_4} [AddCommGroup P₀] [Module A P₀] [AddCommGroup P₁] [Module A P₁] [AddCommGroup M] [Module A M] [Module.Finite A P₀] [Module.Projective A P₀] [Module.Finite A P₁] [Module.Projective A P₁] (f : P₁ →ₗ[A] P₀) (g : P₀ →ₗ[A] M) (hexact : Function.Exact ⇑f ⇑g) (hsurj : Function.Surjective ⇑g) :

    Double dualization returns the presented module. For an exact projective presentation P₁ → P₀ → M → 0 with finitely generated projectives, the cokernel of the twice-dualized first map is canonically isomorphic to M.

    Equations
    Instances For
      @[simp]
      theorem TauCeti.doubleDualPresentationEquiv_mk (A : Type u_1) [Ring A] {P₀ : Type u_2} {P₁ : Type u_3} {M : Type u_4} [AddCommGroup P₀] [Module A P₀] [AddCommGroup P₁] [Module A P₁] [AddCommGroup M] [Module A M] [Module.Finite A P₀] [Module.Projective A P₀] [Module.Finite A P₁] [Module.Projective A P₁] (f : P₁ →ₗ[A] P₀) (g : P₀ →ₗ[A] M) (hexact : Function.Exact ⇑f ⇑g) (hsurj : Function.Surjective ⇑g) (F : Module.Dual A P₀ →ₗ[Aᵐᵒᵖ] A) :

      Double dualization recovers the image of a vector under the presentation's quotient map.

      @[simp]
      theorem TauCeti.doubleDualPresentationEquiv_symm_apply (A : Type u_1) [Ring A] {P₀ : Type u_2} {P₁ : Type u_3} {M : Type u_4} [AddCommGroup P₀] [Module A P₀] [AddCommGroup P₁] [Module A P₁] [AddCommGroup M] [Module A M] [Module.Finite A P₀] [Module.Projective A P₀] [Module.Finite A P₁] [Module.Projective A P₁] (f : P₁ →ₗ[A] P₀) (g : P₀ →ₗ[A] M) (hexact : Function.Exact ⇑f ⇑g) (hsurj : Function.Surjective ⇑g) (x : P₀) :
      (doubleDualPresentationEquiv A f g hexact hsurj).symm (g x) = Submodule.Quotient.mk ((opDualEval A P₀) x)

      Inverse double-dual presentation transport sends the image of a presenting vector to its evaluation functional.

      noncomputable def TauCeti.doubleTransposeCokernelEquiv (A : Type u_1) [Ring A] {P₀ : Type u_2} {P₁ : Type u_3} [AddCommGroup P₀] [Module A P₀] [AddCommGroup P₁] [Module A P₁] [Module.Finite A P₀] [Module.Projective A P₀] [Module.Finite A P₁] [Module.Projective A P₁] (f : P₁ →ₗ[A] P₀) :

      Transposing the dual of a finite-projective presenting map recovers its cokernel, with the double opposite identified with the original ring.

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

        The second transpose sends a functional representative to the vector it represents under inverse evaluation, after removing the opposite from its values.

        @[simp]
        theorem TauCeti.doubleTransposeCokernelEquiv_symm_mk (A : Type u_1) [Ring A] {P₀ : Type u_2} {P₁ : Type u_3} [AddCommGroup P₀] [Module A P₀] [AddCommGroup P₁] [Module A P₁] [Module.Finite A P₀] [Module.Projective A P₀] [Module.Finite A P₁] [Module.Projective A P₁] (f : P₁ →ₗ[A] P₀) (x : P₀) :

        Inverse second-transpose transport sends a vector to its opposite-valued evaluation functional.

        noncomputable def TauCeti.doubleTransposePresentationEquiv (A : Type u_1) [Ring A] {P₀ : Type u_2} {P₁ : Type u_3} {M : Type u_4} [AddCommGroup P₀] [Module A P₀] [AddCommGroup P₁] [Module A P₁] [AddCommGroup M] [Module A M] [Module.Finite A P₀] [Module.Projective A P₀] [Module.Finite A P₁] [Module.Projective A P₁] (f : P₁ →ₗ[A] P₀) (g : P₀ →ₗ[A] M) (hexact : Function.Exact ⇑f ⇑g) (hsurj : Function.Surjective ⇑g) :

        Transposing the dual presentation returns the presented module. No minimality or finite-length assumption is required; the two presenting modules must be finite projective.

        Equations
        Instances For
          @[simp]
          theorem TauCeti.doubleTransposePresentationEquiv_mk (A : Type u_1) [Ring A] {P₀ : Type u_2} {P₁ : Type u_3} {M : Type u_4} [AddCommGroup P₀] [Module A P₀] [AddCommGroup P₁] [Module A P₁] [AddCommGroup M] [Module A M] [Module.Finite A P₀] [Module.Projective A P₀] [Module.Finite A P₁] [Module.Projective A P₁] (f : P₁ →ₗ[A] P₀) (g : P₀ →ₗ[A] M) (hexact : Function.Exact ⇑f ⇑g) (hsurj : Function.Surjective ⇑g) (F : Module.Dual Aᵐᵒᵖ (Module.Dual A P₀)) :

          On representatives the recovered presentation applies the original quotient map to the vector represented by the opposite-valued functional.

          @[simp]
          theorem TauCeti.doubleTransposePresentationEquiv_symm_apply (A : Type u_1) [Ring A] {P₀ : Type u_2} {P₁ : Type u_3} {M : Type u_4} [AddCommGroup P₀] [Module A P₀] [AddCommGroup P₁] [Module A P₁] [AddCommGroup M] [Module A M] [Module.Finite A P₀] [Module.Projective A P₀] [Module.Finite A P₁] [Module.Projective A P₁] (f : P₁ →ₗ[A] P₀) (g : P₀ →ₗ[A] M) (hexact : Function.Exact ⇑f ⇑g) (hsurj : Function.Surjective ⇑g) (x : P₀) :

          Inverse presentation transport sends the image of a presenting vector to its opposite-valued evaluation functional.

          noncomputable def TauCeti.rightDoubleTransposePresentationEquiv (A : Type u_1) [Ring A] {Q₀ : Type u_5} {Q₁ : Type u_6} {N : Type u_7} [AddCommGroup Q₀] [Module Aᵐᵒᵖ Q₀] [AddCommGroup Q₁] [Module Aᵐᵒᵖ Q₁] [AddCommGroup N] [Module Aᵐᵒᵖ N] [Module.Finite Aᵐᵒᵖ Q₀] [Module.Projective Aᵐᵒᵖ Q₀] [Module.Finite Aᵐᵒᵖ Q₁] [Module.Projective Aᵐᵒᵖ Q₁] (f : Q₁ →ₗ[Aᵐᵒᵖ] Q₀) (g : Q₀ →ₗ[Aᵐᵒᵖ] N) (hexact : Function.Exact ⇑f ⇑g) (hsurj : Function.Surjective ⇑g) :

          Transposing the A-valued dual of a finite projective right presentation returns its presented module, with no scalar transport through the double opposite.

          Equations
          • One or more equations did not get rendered due to their size.
          Instances For
            @[simp]
            theorem TauCeti.rightDoubleTransposePresentationEquiv_mk (A : Type u_1) [Ring A] {Q₀ : Type u_5} {Q₁ : Type u_6} {N : Type u_7} [AddCommGroup Q₀] [Module Aᵐᵒᵖ Q₀] [AddCommGroup Q₁] [Module Aᵐᵒᵖ Q₁] [AddCommGroup N] [Module Aᵐᵒᵖ N] [Module.Finite Aᵐᵒᵖ Q₀] [Module.Projective Aᵐᵒᵖ Q₀] [Module.Finite Aᵐᵒᵖ Q₁] [Module.Projective Aᵐᵒᵖ Q₁] (f : Q₁ →ₗ[Aᵐᵒᵖ] Q₀) (g : Q₀ →ₗ[Aᵐᵒᵖ] N) (hexact : Function.Exact ⇑f ⇑g) (hsurj : Function.Surjective ⇑g) (F : Module.Dual A (Q₀ →ₗ[Aᵐᵒᵖ] A)) :

            Recovery from the right double transpose applies the augmentation to inverse evaluation.

            @[simp]
            theorem TauCeti.rightDoubleTransposePresentationEquiv_symm_apply (A : Type u_1) [Ring A] {Q₀ : Type u_5} {Q₁ : Type u_6} {N : Type u_7} [AddCommGroup Q₀] [Module Aᵐᵒᵖ Q₀] [AddCommGroup Q₁] [Module Aᵐᵒᵖ Q₁] [AddCommGroup N] [Module Aᵐᵒᵖ N] [Module.Finite Aᵐᵒᵖ Q₀] [Module.Projective Aᵐᵒᵖ Q₀] [Module.Finite Aᵐᵒᵖ Q₁] [Module.Projective Aᵐᵒᵖ Q₁] (f : Q₁ →ₗ[Aᵐᵒᵖ] Q₀) (g : Q₀ →ₗ[Aᵐᵒᵖ] N) (hexact : Function.Exact ⇑f ⇑g) (hsurj : Function.Surjective ⇑g) (x : Q₀) :

            Inverse recovery sends the image of a right presenting vector to its evaluation class.