Magnitude conjecture

MagnitudeConjecture.Algebra.BiserialFiberKernelStructure

Structure of the biserial fiber-kernel module #

The first and last obstructions in the Pogorzały--Skowroński induction are fiber products of two length-three branches over a common simple quotient. This file records the exact length and socle calculations for that construction. The source-specific element calculation used to prove indecomposability is kept separate.

theorem MagnitudeConjecture.RightModule.fiberKernelMap_surjective_of_left {A : Type u} [Ring A] (Y Z T : FinitelyGeneratedCategory A) (f : ↑Y →ₗ[Aᵐᵒᵖ] ↑T) (g : ↑Z →ₗ[Aᵐᵒᵖ] ↑T) (hf : Function.Surjective ⇑f) :
Function.Surjective ⇑(fiberKernelMap Y Z T f g)

The difference map defining a fiber kernel is surjective as soon as its left branch is surjective.

def MagnitudeConjecture.RightModule.fiberKernelFGObjLinearEquiv {A : Type u} [Ring A] [IsNoetherianRing Aᵐᵒᵖ] (Y Z T : FinitelyGeneratedCategory A) (f : ↑Y →ₗ[Aᵐᵒᵖ] ↑T) (g : ↑Z →ₗ[Aᵐᵒᵖ] ↑T) :
↑(fiberKernelFGObj Y Z T f g) ≃ₗ[Aᵐᵒᵖ] ↥(fiberKernelMap Y Z T f g).ker

The finitely generated wrapper of a fiber kernel is linearly equivalent to the literal kernel subtype. Keeping this transport explicit avoids depending on reducibility of the bundled module object.

Instances For
    def MagnitudeConjecture.RightModule.fiberKernelInclusion {A : Type u} [Ring A] [IsNoetherianRing Aᵐᵒᵖ] (Y Z T : FinitelyGeneratedCategory A) (f : ↑Y →ₗ[Aᵐᵒᵖ] ↑T) (g : ↑Z →ₗ[Aᵐᵒᵖ] ↑T) :
    ↑(fiberKernelFGObj Y Z T f g) →ₗ[Aᵐᵒᵖ] ↑Y × ↑Z

    The canonical inclusion of the bundled fiber kernel into the ambient binary product.

    Instances For
      theorem MagnitudeConjecture.RightModule.fiberKernelInclusion_injective {A : Type u} [Ring A] [IsNoetherianRing Aᵐᵒᵖ] (Y Z T : FinitelyGeneratedCategory A) (f : ↑Y →ₗ[Aᵐᵒᵖ] ↑T) (g : ↑Z →ₗ[Aᵐᵒᵖ] ↑T) :
      Function.Injective ⇑(fiberKernelInclusion Y Z T f g)

      The canonical fiber-kernel inclusion is injective.

      def MagnitudeConjecture.RightModule.fiberKernelBranchRadical {A : Type u} [Ring A] (Y Z : FinitelyGeneratedCategory A) :
      Submodule Aᵐᵒᵖ (↑Y × ↑Z)

      The product of the two branch radicals inside the ambient product.

      Instances For
        def MagnitudeConjecture.RightModule.fiberKernelRadicalPreimage {A : Type u} [Ring A] [IsNoetherianRing Aᵐᵒᵖ] (Y Z T : FinitelyGeneratedCategory A) (f : ↑Y →ₗ[Aᵐᵒᵖ] ↑T) (g : ↑Z →ₗ[Aᵐᵒᵖ] ↑T) :
        Submodule Aᵐᵒᵖ ↑(fiberKernelFGObj Y Z T f g)

        The part of a fiber kernel lying in both branch radicals.

        Instances For
          theorem MagnitudeConjecture.RightModule.fiberKernelRadicalPreimage_ne_top {A : Type u} [Ring A] [IsNoetherianRing Aᵐᵒᵖ] (Y Z T : FinitelyGeneratedCategory A) [Nontrivial ↑T] (f : ↑Y →ₗ[Aᵐᵒᵖ] ↑T) (g : ↑Z →ₗ[Aᵐᵒᵖ] ↑T) (hf : Function.Surjective ⇑f) (hg : Function.Surjective ⇑g) (hYrad : Module.jacobson Aᵐᵒᵖ ↑Y ≤ f.ker) :
          fiberKernelRadicalPreimage Y Z T f g ≠ ⊤

          If both branch maps are onto a nonzero common quotient and the left branch radical is killed by its quotient map, the fiber kernel is not contained in the product of the branch radicals.

          theorem MagnitudeConjecture.RightModule.length_prod_eq_length_fiberKernel_add {A : Type u} [Ring A] [IsNoetherianRing Aᵐᵒᵖ] (Y Z T : FinitelyGeneratedCategory A) (f : ↑Y →ₗ[Aᵐᵒᵖ] ↑T) (g : ↑Z →ₗ[Aᵐᵒᵖ] ↑T) (hf : Function.Surjective ⇑f) :
          Module.length Aᵐᵒᵖ ↑Y + Module.length Aᵐᵒᵖ ↑Z = Module.length Aᵐᵒᵖ ↑(fiberKernelFGObj Y Z T f g) + Module.length Aᵐᵒᵖ ↑T

          Composition length is additive across the short exact sequence defined by a surjective fiber-kernel map.

          theorem MagnitudeConjecture.RightModule.length_fiberKernel_eq_five {A : Type u} [Ring A] [IsNoetherianRing Aᵐᵒᵖ] (Y Z T : FinitelyGeneratedCategory A) (f : ↑Y →ₗ[Aᵐᵒᵖ] ↑T) (g : ↑Z →ₗ[Aᵐᵒᵖ] ↑T) (hf : Function.Surjective ⇑f) (hY : Module.length Aᵐᵒᵖ ↑Y = 3) (hZ : Module.length Aᵐᵒᵖ ↑Z = 3) (hT : Module.length Aᵐᵒᵖ ↑T = 1) :
          Module.length Aᵐᵒᵖ ↑(fiberKernelFGObj Y Z T f g) = 5

          Two length-three branches over a simple quotient have a fiber kernel of composition length five.

          theorem MagnitudeConjecture.RightModule.map_moduleSocle_fiberKernel_eq_prod {A : Type u} [Ring A] [IsNoetherianRing Aᵐᵒᵖ] (Y Z T : FinitelyGeneratedCategory A) (f : ↑Y →ₗ[Aᵐᵒᵖ] ↑T) (g : ↑Z →ₗ[Aᵐᵒᵖ] ↑T) (hYsimple : IsSimpleModule Aᵐᵒᵖ ↥(moduleSocle Aᵐᵒᵖ ↑Y)) (hZsimple : IsSimpleModule Aᵐᵒᵖ ↥(moduleSocle Aᵐᵒᵖ ↑Z)) (hYkill : moduleSocle Aᵐᵒᵖ ↑Y ≤ f.ker) (hZkill : moduleSocle Aᵐᵒᵖ ↑Z ≤ g.ker) :
          Submodule.map (fiberKernelInclusion Y Z T f g) (moduleSocle Aᵐᵒᵖ ↑(fiberKernelFGObj Y Z T f g)) = (moduleSocle Aᵐᵒᵖ ↑Y).prod (moduleSocle Aᵐᵒᵖ ↑Z)

          If the simple socles of both branches are killed by the quotient maps, then the socle of their fiber kernel maps onto the product of the two branch socles inside the ambient product.

          noncomputable def MagnitudeConjecture.RightModule.fiberKernelSocleLinearEquiv {A : Type u} [Ring A] [IsNoetherianRing Aᵐᵒᵖ] (Y Z T : FinitelyGeneratedCategory A) (f : ↑Y →ₗ[Aᵐᵒᵖ] ↑T) (g : ↑Z →ₗ[Aᵐᵒᵖ] ↑T) (hYsimple : IsSimpleModule Aᵐᵒᵖ ↥(moduleSocle Aᵐᵒᵖ ↑Y)) (hZsimple : IsSimpleModule Aᵐᵒᵖ ↥(moduleSocle Aᵐᵒᵖ ↑Z)) (hYkill : moduleSocle Aᵐᵒᵖ ↑Y ≤ f.ker) (hZkill : moduleSocle Aᵐᵒᵖ ↑Z ≤ g.ker) :
          ↥(moduleSocle Aᵐᵒᵖ ↑(fiberKernelFGObj Y Z T f g)) ≃ₗ[Aᵐᵒᵖ] ↥(moduleSocle Aᵐᵒᵖ ↑Y) × ↥(moduleSocle Aᵐᵒᵖ ↑Z)

          Under the preceding branch hypotheses, the socle of the fiber kernel is linearly equivalent to the product of the two branch socles.

          Instances For
            theorem MagnitudeConjecture.RightModule.length_moduleSocle_fiberKernel_eq_two {A : Type u} [Ring A] [IsNoetherianRing Aᵐᵒᵖ] (Y Z T : FinitelyGeneratedCategory A) (f : ↑Y →ₗ[Aᵐᵒᵖ] ↑T) (g : ↑Z →ₗ[Aᵐᵒᵖ] ↑T) (hYsimple : IsSimpleModule Aᵐᵒᵖ ↥(moduleSocle Aᵐᵒᵖ ↑Y)) (hZsimple : IsSimpleModule Aᵐᵒᵖ ↥(moduleSocle Aᵐᵒᵖ ↑Z)) (hYkill : moduleSocle Aᵐᵒᵖ ↑Y ≤ f.ker) (hZkill : moduleSocle Aᵐᵒᵖ ↑Z ≤ g.ker) :
            Module.length Aᵐᵒᵖ ↥(moduleSocle Aᵐᵒᵖ ↑(fiberKernelFGObj Y Z T f g)) = 2

            If both branch socles are simple, the fiber kernel has socle length two.

            def MagnitudeConjecture.RightModule.fiberKernelSocleQuotientMap {A : Type u} [Ring A] [IsNoetherianRing Aᵐᵒᵖ] (Y Z T : FinitelyGeneratedCategory A) (f : ↑Y →ₗ[Aᵐᵒᵖ] ↑T) (g : ↑Z →ₗ[Aᵐᵒᵖ] ↑T) (hYkill : moduleSocle Aᵐᵒᵖ ↑Y ≤ f.ker) (hZkill : moduleSocle Aᵐᵒᵖ ↑Z ≤ g.ker) :
            ↑(fiberKernelFGObj Y Z T f g) →ₗ[Aᵐᵒᵖ] ↑(fiberKernelFGObj (quotientFGObj Y (moduleSocle Aᵐᵒᵖ ↑Y)) (quotientFGObj Z (moduleSocle Aᵐᵒᵖ ↑Z)) T (quotientFGLift Y T (moduleSocle Aᵐᵒᵖ ↑Y) f hYkill) (quotientFGLift Z T (moduleSocle Aᵐᵒᵖ ↑Z) g hZkill))

            Quotient both coordinates of a fiber kernel by their branch socles.

            Instances For
              theorem MagnitudeConjecture.RightModule.fiberKernelSocleQuotientMap_surjective {A : Type u} [Ring A] [IsNoetherianRing Aᵐᵒᵖ] (Y Z T : FinitelyGeneratedCategory A) (f : ↑Y →ₗ[Aᵐᵒᵖ] ↑T) (g : ↑Z →ₗ[Aᵐᵒᵖ] ↑T) (hYkill : moduleSocle Aᵐᵒᵖ ↑Y ≤ f.ker) (hZkill : moduleSocle Aᵐᵒᵖ ↑Z ≤ g.ker) :
              Function.Surjective ⇑(fiberKernelSocleQuotientMap Y Z T f g hYkill hZkill)

              Quotienting the branch socles maps onto the corresponding fiber kernel of quotient branches.

              theorem MagnitudeConjecture.RightModule.fiberKernelSocleQuotientMap_ker {A : Type u} [Ring A] [IsNoetherianRing Aᵐᵒᵖ] (Y Z T : FinitelyGeneratedCategory A) (f : ↑Y →ₗ[Aᵐᵒᵖ] ↑T) (g : ↑Z →ₗ[Aᵐᵒᵖ] ↑T) (hYsimple : IsSimpleModule Aᵐᵒᵖ ↥(moduleSocle Aᵐᵒᵖ ↑Y)) (hZsimple : IsSimpleModule Aᵐᵒᵖ ↥(moduleSocle Aᵐᵒᵖ ↑Z)) (hYkill : moduleSocle Aᵐᵒᵖ ↑Y ≤ f.ker) (hZkill : moduleSocle Aᵐᵒᵖ ↑Z ≤ g.ker) :
              (fiberKernelSocleQuotientMap Y Z T f g hYkill hZkill).ker = moduleSocle Aᵐᵒᵖ ↑(fiberKernelFGObj Y Z T f g)

              The kernel of the branch-socle quotient map is precisely the fiber kernel's socle.

              noncomputable def MagnitudeConjecture.RightModule.fiberKernelQuotientSocleLinearEquiv {A : Type u} [Ring A] [IsNoetherianRing Aᵐᵒᵖ] (Y Z T : FinitelyGeneratedCategory A) (f : ↑Y →ₗ[Aᵐᵒᵖ] ↑T) (g : ↑Z →ₗ[Aᵐᵒᵖ] ↑T) (hYsimple : IsSimpleModule Aᵐᵒᵖ ↥(moduleSocle Aᵐᵒᵖ ↑Y)) (hZsimple : IsSimpleModule Aᵐᵒᵖ ↥(moduleSocle Aᵐᵒᵖ ↑Z)) (hYkill : moduleSocle Aᵐᵒᵖ ↑Y ≤ f.ker) (hZkill : moduleSocle Aᵐᵒᵖ ↑Z ≤ g.ker) :
              (↑(fiberKernelFGObj Y Z T f g) ⧸ moduleSocle Aᵐᵒᵖ ↑(fiberKernelFGObj Y Z T f g)) ≃ₗ[Aᵐᵒᵖ] ↑(fiberKernelFGObj (quotientFGObj Y (moduleSocle Aᵐᵒᵖ ↑Y)) (quotientFGObj Z (moduleSocle Aᵐᵒᵖ ↑Z)) T (quotientFGLift Y T (moduleSocle Aᵐᵒᵖ ↑Y) f hYkill) (quotientFGLift Z T (moduleSocle Aᵐᵒᵖ ↑Z) g hZkill))

              Quotienting a fiber kernel by its socle is the fiber kernel of the two branch quotients by their socles.

              Instances For
                theorem MagnitudeConjecture.RightModule.quotientBranchSocle_le_quotientFGLift_ker {k A : Type u} [Field k] [Ring A] [Algebra k A] [FiniteDimensional k A] (Y T : FinitelyGeneratedCategory A) (f : ↑Y →ₗ[Aᵐᵒᵖ] ↑T) (hf : Function.Surjective ⇑f) (hYlength : Module.length Aᵐᵒᵖ ↑Y = 3) (hTlength : Module.length Aᵐᵒᵖ ↑T = 1) (hYsocle : IsSimpleModule Aᵐᵒᵖ ↥(moduleSocle Aᵐᵒᵖ ↑Y)) (hYkill : moduleSocle Aᵐᵒᵖ ↑Y ≤ f.ker) (hYnextSimple : IsSimpleModule Aᵐᵒᵖ ↥(moduleSocle Aᵐᵒᵖ ↑(quotientFGObj Y (moduleSocle Aᵐᵒᵖ ↑Y)))) :
                moduleSocle Aᵐᵒᵖ ↑(quotientFGObj Y (moduleSocle Aᵐᵒᵖ ↑Y)) ≤ (quotientFGLift Y T (moduleSocle Aᵐᵒᵖ ↑Y) f hYkill).ker

                For a length-three branch onto a length-one top, the induced map from the quotient by the branch socle kills the simple next socle layer.

                noncomputable def MagnitudeConjecture.RightModule.fiberKernelNextSocleLinearEquiv {A : Type u} [Ring A] [IsNoetherianRing Aᵐᵒᵖ] (Y Z T F : FinitelyGeneratedCategory A) (f : ↑Y →ₗ[Aᵐᵒᵖ] ↑T) (g : ↑Z →ₗ[Aᵐᵒᵖ] ↑T) (hYsimple : IsSimpleModule Aᵐᵒᵖ ↥(moduleSocle Aᵐᵒᵖ ↑Y)) (hZsimple : IsSimpleModule Aᵐᵒᵖ ↥(moduleSocle Aᵐᵒᵖ ↑Z)) (hYkill : moduleSocle Aᵐᵒᵖ ↑Y ≤ f.ker) (hZkill : moduleSocle Aᵐᵒᵖ ↑Z ≤ g.ker) (hFsimple : IsSimpleModule Aᵐᵒᵖ ↑F) (hYnextKill : moduleSocle Aᵐᵒᵖ ↑(quotientFGObj Y (moduleSocle Aᵐᵒᵖ ↑Y)) ≤ (quotientFGLift Y T (moduleSocle Aᵐᵒᵖ ↑Y) f hYkill).ker) (hZnextKill : moduleSocle Aᵐᵒᵖ ↑(quotientFGObj Z (moduleSocle Aᵐᵒᵖ ↑Z)) ≤ (quotientFGLift Z T (moduleSocle Aᵐᵒᵖ ↑Z) g hZkill).ker) (eY : ↥(moduleSocle Aᵐᵒᵖ ↑(quotientFGObj Y (moduleSocle Aᵐᵒᵖ ↑Y))) ≃ₗ[Aᵐᵒᵖ] ↑F) (eZ : ↥(moduleSocle Aᵐᵒᵖ ↑(quotientFGObj Z (moduleSocle Aᵐᵒᵖ ↑Z))) ≃ₗ[Aᵐᵒᵖ] ↑F) :
                ↥(moduleSocle Aᵐᵒᵖ (↑(fiberKernelFGObj Y Z T f g) ⧸ moduleSocle Aᵐᵒᵖ ↑(fiberKernelFGObj Y Z T f g))) ≃ₗ[Aᵐᵒᵖ] ↑F × ↑F

                If the two branch next socle layers are copies of the same simple module, then the next socle layer of their fiber kernel is their product.

                Instances For
                  noncomputable def MagnitudeConjecture.RightModule.fiberKernelNextSocleLinearEquivOfLengthThree {k A : Type u} [Field k] [Ring A] [Algebra k A] [FiniteDimensional k A] [IsNoetherianRing Aᵐᵒᵖ] (Y Z T F : FinitelyGeneratedCategory A) (f : ↑Y →ₗ[Aᵐᵒᵖ] ↑T) (g : ↑Z →ₗ[Aᵐᵒᵖ] ↑T) (hf : Function.Surjective ⇑f) (hg : Function.Surjective ⇑g) (hYlength : Module.length Aᵐᵒᵖ ↑Y = 3) (hZlength : Module.length Aᵐᵒᵖ ↑Z = 3) (hTlength : Module.length Aᵐᵒᵖ ↑T = 1) (hYsimple : IsSimpleModule Aᵐᵒᵖ ↥(moduleSocle Aᵐᵒᵖ ↑Y)) (hZsimple : IsSimpleModule Aᵐᵒᵖ ↥(moduleSocle Aᵐᵒᵖ ↑Z)) (hYkill : moduleSocle Aᵐᵒᵖ ↑Y ≤ f.ker) (hZkill : moduleSocle Aᵐᵒᵖ ↑Z ≤ g.ker) (hFsimple : IsSimpleModule Aᵐᵒᵖ ↑F) (eY : ↥(moduleSocle Aᵐᵒᵖ ↑(quotientFGObj Y (moduleSocle Aᵐᵒᵖ ↑Y))) ≃ₗ[Aᵐᵒᵖ] ↑F) (eZ : ↥(moduleSocle Aᵐᵒᵖ ↑(quotientFGObj Z (moduleSocle Aᵐᵒᵖ ↑Z))) ≃ₗ[Aᵐᵒᵖ] ↑F) :
                  ↥(moduleSocle Aᵐᵒᵖ (↑(fiberKernelFGObj Y Z T f g) ⧸ moduleSocle Aᵐᵒᵖ ↑(fiberKernelFGObj Y Z T f g))) ≃ₗ[Aᵐᵒᵖ] ↑F × ↑F

                  For two length-three branches over a length-one top, identifying both branch next socles with one simple module computes the next socle of the fiber kernel. The kernel conditions for those branch next socles follow from the length data and surjectivity.

                  Instances For