Stability functions on abelian categories #
This file introduces the repository-owned stability-function interface. Its central charge is additive on short exact sequences and sends every nonzero object to the semi-closed upper half-plane. Phase, stability, and semistability are then defined intrinsically from that charge.
The module is Mathlib-only and is the canonical stability-function interface for this repository.
A stability function relative to a class datum. One structure; the abelian and ambient theories are two instantiations of it.
The central charge, as a hom out of the class group.
- nonzero_mem : IsStabilityCharge D self.Z
Relevant objects have charge in the strict half-plane.
Instances For
A weak stability function relative to a class datum.
The central charge, as a hom out of the class group.
- nonzero_mem : IsWeakStabilityCharge D self.Z
Relevant objects have charge in the closed half-plane.
Instances For
Every stability function is a weak one, at any class datum.
Instances For
The class datum of an abelian category: nonzero objects, classes in K₀Ab.
Equations
- CategoryTheory.Triangulated.abelianDatum A = { Relevant := fun (E : A) => ¬CategoryTheory.Limits.IsZero E, cl := CategoryTheory.K₀Ab.of }
Instances For
An additive central charge on an abelian category whose nonzero values lie in the semi-closed upper half-plane.
This is StabilityFunctionOn at abelianDatum, not a structure of its own.
charge remains available as an abbreviation and map_zero / map_iso /
additive remain available as theorems, so consumers are unaffected.
Equations
Instances For
The central charge on objects.
Equations
- Z.charge E = Z.Z (CategoryTheory.K₀Ab.of E)
Instances For
Zero objects have zero charge — a theorem now, not a field.
Isomorphic objects have the same charge — a theorem now, not a field.
The charge is additive on short exact sequences — a theorem now, not a field.
Two stability functions with the same charge on objects are equal. This now
needs K₀Ab.hom_ext rather than structure eta: equal charges on generators is
what forces the two homs to agree.
The phase of an object, normalized to lie in (0, 1] when the object is
nonzero. The phase of a zero object is 0.
Instances For
A nonzero object is semistable when no nonzero subobject has larger phase.
Equations
- One or more equations did not get rendered due to their size.
Instances For
A nonzero object is stable when every nonzero proper subobject has strictly smaller phase.
Equations
- One or more equations did not get rendered due to their size.