Torsion pairs in an abelian category #
A torsion pair on an abelian category A is a pair of full subcategories
(T, F), closed under isomorphism, such that
- every map from a torsion object to a torsion-free object is zero, and
- every object sits in a short exact sequence
0 → tX → X → fX → 0withtX ∈ TandfX ∈ F.
Mathlib does not have this at the pin. Every Torsion file in Mathlib is
about torsion in algebra — Algebra/Group/Torsion.lean,
GroupTheory/Torsion.lean, RingTheory/Flat/TorsionFree.lean and so on. There
is no torsion pair, torsion theory, or torsion class for abelian categories.
So this is built from scratch rather than wrapped.
Why this is here #
A torsion pair in the heart of a t-structure is the input to Happel–Reiten–Smalø tilting, which is in turn the engine behind every construction of stability conditions on a surface. This file is the input datum and its elementary theory; the tilt itself is a separate, much larger obligation and is not formalised here.
Nothing in this file needs algebraic geometry, a triangulated category, or the
rest of StabilityCondition/. It is abelian-category theory and imports only
Mathlib.
Main results #
tors_iff/free_iff— each class is exactly the orthogonal of the other. This is the standard rigidity of the definition: the decomposition axiom is what upgrades "mutually orthogonal" to "mutually determining".free_of_mono/tors_of_epi—Fis closed under subobjects,Tunder quotients. Both fall straight out oftors_iff/free_iff.tors_of_shortExact/free_of_shortExact— both classes are closed under extensions.
A torsion pair on an abelian category.
- tors : ObjectProperty A
the torsion class
- free : ObjectProperty A
the torsion-free class
- tors_isClosedUnderIsomorphisms : self.tors.IsClosedUnderIsomorphisms
- free_isClosedUnderIsomorphisms : self.free.IsClosedUnderIsomorphisms
no nonzero map from a torsion object to a torsion-free one
- exists_shortExact (X : A) : ∃ (T : A) (F : A) (i : T ⟶ X) (p : X ⟶ F) (w : CategoryStruct.comp i p = 0), self.tors T ∧ self.free F ∧ { X₁ := T, X₂ := X, X₃ := F, f := i, g := p, zero := w }.ShortExact
every object is an extension of a torsion-free object by a torsion one
Instances For
An object that is both torsion and torsion-free is zero.
The torsion class is exactly the left orthogonal of the torsion-free
class. The decomposition axiom is what makes this an iff rather than the
one implication hom_eq_zero states.
The torsion-free class is exactly the right orthogonal of the torsion class.
The torsion-free class is closed under subobjects.
The torsion class is closed under quotients.
The torsion class is closed under extensions.
The torsion-free class is closed under extensions.
Uniqueness of the decomposition #
The short exact sequence in exists_shortExact is not extra data: its two ends
are determined up to isomorphism by X, because each is characterised by an
orthogonality condition the other class cannot satisfy. The statement below is
the piece that gets used — the torsion end is the largest torsion subobject.
A torsion subobject of X factors through any torsion/torsion-free
decomposition of X: the torsion end is maximal among torsion subobjects.
Non-vacuity #
A structure with no inhabitant makes every theorem above vacuously true, so
the two degenerate torsion pairs are constructed rather than asserted to exist.
They are also the extremes the general theory is bracketed by.
The torsion pair in which every object is torsion and only the zero objects are torsion-free.
Equations
- One or more equations did not get rendered due to their size.
Instances For
The torsion pair in which only the zero objects are torsion and every object is torsion-free.
Equations
- One or more equations did not get rendered due to their size.