Documentation

DerivedAlgGeo.CategoryTheory.Abelian.Stability.Weak.HarderNarasimhan

Slope-indexed Harder--Narasimhan filtrations for weak stability functions #

HarderNarasimhan.lean stores the successive phases of an HN filtration in ℝ. That is available for a strict stability function, whose charges avoid 0, and unavailable for a weak one, whose charges do not: a skyscraper on a surface has charge exactly 0, and arg 0 = 0 is not its phase.

This file stores the successive slopes in WithTop ℝ instead, exactly as WeakStabilityCondition.WeakAbelianHNFiltration already does on the heart side. The difference from that structure is the class datum, not the indexing: this one is at abelianDatum A, with classes in K₀Ab A and subobject data in the abelian category itself, where Uniqueness/ and Cutoff.lean live. The heart structure is at heartDatum t, with classes in the ambient K₀ C. The two groups differ, so neither is an instance of the other.

The extrema are μPlus (the first, largest slope) and μMinus (the last, smallest). Note the direction: slopes decrease along the filtration and ⊤ is the largest value, so μPlus = ⊤ exactly when the first factor has charge on the real boundary.

A slope-indexed weak Harder--Narasimhan filtration of a nonzero object for a weak stability function on an abelian category: a strictly increasing finite chain of subobjects whose successive quotients are weak-semistable with strictly decreasing slopes in WithTop ℝ.

Instances For
    @[reducible, inline]

    The j-th successive quotient.

    Equations
    Instances For

      The highest HN slope, at the first factor. It is ⊤ exactly when the maximal destabilizing factor has charge on the real boundary.

      Equations
      Instances For

        The lowest HN slope, at the last factor.

        Equations
        Instances For

          Every factor slope lies between the HN extrema. The proof is the order argument of AbelianHNFiltration.phase_mem_range, unchanged: StrictAnti supplies antitone over any preorder, so nothing here is specific to ℝ.

          Every factor of an HN filtration is nonzero: a zero cokernel would make the chain step an isomorphism, contradicting strictness.

          A weak-semistable object is its own HN filtration. One factor, the object itself, so both extrema are its slope. This is what places a weak-semistable rank-zero object — slope ⊤ — in the torsion class at every finite cutoff.

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

            A weak stability function has the HN property when every nonzero object admits a slope-indexed weak HN filtration.

            Equations
            Instances For
              theorem CategoryTheory.Triangulated.WeakStabilityFunctionOn.slope_cokernel_ofLE_congr {A : Type u} [Category.{v, u} A] [Abelian A] (W : WeakStabilityFunctionOn (abelianDatum A)) {E : A} {A₁ A₂ B₁ B₂ : Subobject E} (hA : A₁ = A₂) (hB : B₁ = B₂) {h₁ : A₁ ≤ B₁} {h₂ : A₂ ≤ B₂} :
              W.slope (Limits.cokernel (A₁.ofLE B₁ h₁)) = W.slope (Limits.cokernel (A₂.ofLE B₂ h₂))

              Slope equality after propositionally rewriting both subobjects in a successive quotient.

              theorem CategoryTheory.Triangulated.WeakStabilityFunctionOn.isSemistable_cokernel_ofLE_congr {A : Type u} [Category.{v, u} A] [Abelian A] (W : WeakStabilityFunctionOn (abelianDatum A)) {E : A} {A₁ A₂ B₁ B₂ : Subobject E} (hA : A₁ = A₂) (hB : B₁ = B₂) {h₁ : A₁ ≤ B₁} {h₂ : A₂ ≤ B₂} (hs : W.IsSemistable (Limits.cokernel (A₂.ofLE B₂ h₂))) :
              W.IsSemistable (Limits.cokernel (A₁.ofLE B₁ h₁))

              Weak semistability is preserved after propositionally rewriting both subobjects in a successive quotient.

              Successive quotients keep their slope when a subobject chain is mapped along a monomorphism.

              Successive quotients keep their weak semistability when a subobject chain is mapped along a monomorphism.