Documentation

DerivedAlgGeo.CategoryTheory.Triangulated.StabilityCondition.Weak.Mass.Uniqueness

Uniqueness and finiteness of Harder--Narasimhan mass #

This file develops choice-free mass for a bare slicing and additive charge.

The categorical input is a head--tail decomposition. Octahedral induction turns an HN tower into a distinguished triangle

  F₀ ⟶ E ⟶ E_{< φ₀} ⟶ F₀[1]

whose third object carries the tail HN filtration. For two filtrations with nonzero first factors, the first phases agree. The t-structure induced by the phase-shifted slicing then identifies the two head--tail triangles. Induction on the total filtration length, deleting zero first factors when necessary, proves equality of all finite mass sums.

The induction never consults the compatibility ray of the stability condition: it runs on the slicing and on an additive charge alone. It is therefore stated for a bare carrier (s : Slicing C, Z : K₀ C →+ ℂ) — classCharge, HNFiltration.classMass, Slicing.classMass. The strong Bridgeland wrappers live downstream in StabilityCondition/Metric/Mass/Uniqueness.lean; the weak parent imports only this carrier-level theorem.

@[reducible, inline]

An additive charge on the class lattice, evaluated on the K₀ class of an object. This is PreStabilityCondition.WithClassMap.charge with the charge decoupled from any prestability structure, so the mass-uniqueness induction in this file can serve any carrier providing a slicing and a charge — in particular the weak stability conditions of §14, whose closed compatibility ray cannot inhabit WithClassMap.

Equations
Instances For

    The finite mass sum of one HN filtration, for a bare additive charge. HNFiltration.mass is definitionally this at Z = σ.Z.comp v, because charge is an abbreviation for Z ∘ classOf.

    Equations
    Instances For

      The choice-free mass envelope of an object, for a slicing and a bare additive charge. stabilityMass is definitionally this at (σ.slicing, σ.Z.comp v).

      Equations
      Instances For

        Every HN filtration of a zero object has zero mass. This also rules out spurious positive mass coming from a nontrivial tower of a zero object.

        HN mass is independent of the chosen HN filtration.

        The choice-free mass envelope is the mass sum of every HN filtration.

        The ordinary HN mass is always finite.

        Real-valued form of the mass identification: this is the literal finite sum of the norms of the HN-factor charges.

        A semistable object's mass is the norm of its charge, in ℝ≥0∞.

        The toReal form is stabilityMass_toReal_eq_norm_charge; this is the un-truncated statement, which is what an additive splitting argument needs.

        theorem CategoryTheory.Triangulated.Slicing.exists_headTail_classMass {C : Type u} [Category.{w, u} C] [Limits.HasZeroObject C] [HasShift C ℤ] [Preadditive C] [∀ (n : ℤ), (shiftFunctor C n).Additive] [Pretriangulated C] [IsTriangulated C] (s : Slicing C) (Z : K₀ C →+ ℂ) {E : C} (F : HNFiltration C s.P E) (hn : 0 < F.n) :
        ∃ (Y : C) (G : HNFiltration C s.P Y) (f : F.factor ⟨0, hn⟩ ⟶ E) (g : E ⟶ Y) (h : Y ⟶ (shiftFunctor C 1).obj (F.factor ⟨0, hn⟩)), Pretriangulated.Triangle.mk f g h ∈ Pretriangulated.distinguishedTriangles ∧ s.classMass Z E = s.classMass Z (F.factor ⟨0, hn⟩) + s.classMass Z Y ∧ G.n = F.n - 1

        Public head/tail split of the mass, stated entirely in stabilityMass.

        exists_headTail is private and phrased with the private factorMass; this is the form downstream files can use. The head is the top HN factor, the tail is HN-filtered with one fewer factor, and the mass splits additively across the distinguished triangle joining them.

        theorem CategoryTheory.Triangulated.HNFiltration.exists_headTail_classMass {C : Type u} [Category.{w, u} C] [Limits.HasZeroObject C] [HasShift C ℤ] [Preadditive C] [∀ (n : ℤ), (shiftFunctor C n).Additive] [Pretriangulated C] [IsTriangulated C] (s : Slicing C) (Z : K₀ C →+ ℂ) {E : C} (F : HNFiltration C s.P E) (hn : 0 < F.n) :
        ∃ (Y : C) (G : HNFiltration C s.P Y) (f : F.factor ⟨0, hn⟩ ⟶ E) (g : E ⟶ Y) (h : Y ⟶ (shiftFunctor C 1).obj (F.factor ⟨0, hn⟩)), Pretriangulated.Triangle.mk f g h ∈ Pretriangulated.distinguishedTriangles ∧ (s.classMass Z E).toReal = ‖classCharge Z (F.factor ⟨0, hn⟩)‖ + (s.classMass Z Y).toReal ∧ G.n = F.n - 1 ∧ ∀ (j : Fin G.n), ∃ (i : Fin F.n), ↑i = ↑j + 1 ∧ G.φ j = F.φ i

        Split off the highest-phase HN factor, preserving both the mass identity and the indexing of every phase in the tail.

        This is the public form used by inductive mass arguments: unlike Slicing.exists_headTail_classMass, it retains the phase correspondence needed to re-establish strict HN separation after an octahedral step.