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 ℝ.
- n : ℕ
Number of weak-semistable factors.
An HN filtration has at least one factor.
The chain from zero to the whole object.
- chain_strictMono : StrictMono self.chain
The chain is strictly increasing.
The initial term is zero.
The final term is the whole object.
Slopes of successive quotients, in
WithTop ℝ.- μ_anti : StrictAnti self.μ
Successive slopes strictly decrease.
- factor_slope (j : Fin self.n) : W.slope (Limits.cokernel ((self.chain j.castSucc).ofLE (self.chain j.succ) ⋯)) = self.μ j
The declared slope is the intrinsic slope of each quotient.
- factor_semistable (j : Fin self.n) : W.IsSemistable (Limits.cokernel ((self.chain j.castSucc).ofLE (self.chain j.succ) ⋯))
Each successive quotient is weak-semistable.
Instances For
The j-th successive quotient.
Instances For
The highest HN slope, at the first factor. It is ⊤ exactly when the
maximal destabilizing factor has charge on the real boundary.
Instances For
The lowest HN slope, at the last factor.
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 ℝ.
The lowest HN slope does not exceed the highest.
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
- W.HasHNProperty = ∀ (E : A), ¬CategoryTheory.Limits.IsZero E → Nonempty (CategoryTheory.Triangulated.AbelianWeakHNFiltration W E)
Instances For
Slope equality after propositionally rewriting both subobjects in a successive quotient.
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.