Exceptional collections and the semiorthogonal sequence they generate #
An exceptional collection is a family of exceptional objects, indexed by a preorder, whose cross-member maps vanish in the CLASSICAL direction: maps from a LATER member into any shift of an EARLIER one are zero. The theorem this lane exists for is proved here: the triangulated envelopes of the shift-closures of the members form a semiorthogonal sequence.
The classical direction, deliberately #
The field hom_shift_eq_zero is the definition of the literature (this
structure is an upstream candidate), and it is the OPPOSITE of the repository
root's convention — the root vanishes Hom(earlier, later). The two are NOT
definitionally aligned; the bridge to the root is Orientation.lean's
order-reversing adapter, applied in toSemiorthogonalSequence. No file
should restate the flip.
One meaning of generation #
component i is the triangulated envelope of the shift closure of the
singleton at obj i, and that is the ONLY component convention: Mathlib's
shiftClosure already closes under isomorphism, and defining a second
generator-level component would create two meanings of generation. The
repository's Triangulated.ExtensionClosure is not used, for the reason the
projective-families reconnaissance rejected it: it proves neither shift
stability nor retract closure.
What is deliberately out of scope #
Admissibility of component i needs finite-dimensional Hom-spaces
(AlgebraicGeometry/Modules/Coherent/Linear.lean, issue #332) and is not
claimed. Mutation is not filed in this milestone. Beilinson's collection
O, O(1), …, O(n) on P^n, its fullness, and the decomposition of
D^b(P^n) land in AlgebraicGeometry/ProjectiveSpectrum/** (issues #570, #586, #571,
#332, #806, #833, #824–#828) and are deliberately NOT touched here; the
concrete inhabitant of this structure is the D^b(field) example of the next
issue in this lane.
Main definitions #
ExceptionalCollection— the structure, classical direction.ExceptionalCollection.IsStrong— an independent predicate, not a field.ExceptionalCollection.component— the envelope of the shift closure.ExceptionalCollection.toSemiorthogonalSequence— the image in the root, throughOrientation.lean's adapter;toSemiorthogonalSequenceFinlands the finite case back onFin n.ExceptionalCollection.ofExceptionalandExceptionalCollection.reindex— the two honest producers of the structure.
Main results #
ExceptionalCollection.semiorthogonal_component— the envelopes are semiorthogonal in the classical direction; the proof peels both envelopes withtriangEnvelope_le_iffagainst the orthogonals' triangulated and retract-stability instances.ObjectProperty.rightOrthogonal_isStableUnderRetractsand its left dual — two short lemmas absent from the pinned Mathlib (the only files mentioningrightOrthogonalthere prove no retract stability); flagged as upstream candidates.
References #
- Bondal, Representations of associative algebras and coherent sheaves, Izv. Akad. Nauk SSSR (1989).
- Huybrechts, Fourier–Mukai Transforms in Algebraic Geometry, §1.4.
Tags #
exceptional collection, semiorthogonal decomposition, triangulated envelope
An exceptional collection: exceptional objects indexed by a preorder,
with cross-member vanishing in the CLASSICAL direction — maps from a later
member into any shift of an earlier one are zero. This is the reverse of the
repository root's convention; toSemiorthogonalSequence bridges through
Orientation.lean's adapter, and the two conventions are not definitionally
aligned.
- obj : ι → C
The members of the collection.
- exceptional (i : ι) : IsExceptional k (self.obj i)
Each member is exceptional.
- hom_shift_eq_zero ⦃i j : ι⦄ : i < j → ∀ (n : ℤ) (f : self.obj j ⟶ (shiftFunctor C n).obj (self.obj i)), f = 0
Maps from a later member into any shift of an earlier one vanish.
Instances For
A collection is strong when maps between any two members into nonzero
shifts vanish, in both index directions. An independent predicate, not a
field, matching the root's discipline for IsFull. Its content beyond the
structure's fields is the i < j case alone: j < i already follows from
hom_shift_eq_zero and i = j from exceptional.
Equations
Instances For
The component generated by a member: the triangulated envelope of the
shift closure of the singleton. shiftClosure already closes under
isomorphism, so no isoClosure wrapper appears; shift stability of the
component is Mathlib's global envelope instance. Deliberately an abbrev:
instance search must see through to triangEnvelope to find
IsStableUnderShift ℤ, hence IsTriangulated of the orthogonals, which
triangEnvelope_le_iff demands in semiorthogonal_component.
Equations
- E.component i = (CategoryTheory.ObjectProperty.shiftClosure (fun (X : C) => X = E.obj i) ℤ).triangEnvelope
Instances For
The generating member lies in its own component: it is in the shift
closure at shift 0, hence in the envelope.
The envelope-level nonemptiness of a component. Note that Mathlib's
instance [P.Nonempty] [IsTriangulated C] : P.triangEnvelope.IsTriangulated
consumes nonemptiness of the generator, not of the envelope — which is why
hasTriangulatedComponents supplies its own generator-level witness — so
this is the exported form for downstream consumers, not that instance's
input.
Cross-member vanishing between arbitrary shifts, transported from the
collection's field by conjugating with the shift by -b — the two-object
form of IsExceptional.hom_shift_shift_eq_zero's argument.
The envelopes are semiorthogonal in the classical direction. The
proof peels the two triangulated envelopes in turn with
triangEnvelope_le_iff — first against (component j).rightOrthogonal,
then against the left orthogonal of the earlier member's shift closure —
using the orthogonals' triangulated instances and the retract-stability
instances above; what remains is the transported cross-member vanishing.
The collection's image in the repository root, through Orientation.lean's
order-reversing adapter.
Equations
Instances For
The root's classical fullness, on the collection's image. A definition by reuse: no second fullness notion appears.
Equations
Instances For
The root's strong fullness, on the collection's image.
Equations
Instances For
Every component is triangulated, from Mathlib's envelope instance — which
demands nonemptiness, supplied by component_nonempty, and
[IsTriangulated C].
A single exceptional object is a collection over PUnit: the cross-member
condition is vacuous because PUnit has no strict inequality. One of the two
honest producers of this structure.
Equations
- CategoryTheory.Triangulated.ExceptionalCollection.ofExceptional h = { obj := fun (x : PUnit.{?u.1 + 1}) => E, exceptional := ⋯, hom_shift_eq_zero := ⋯ }
Instances For
Restrict a collection along a strictly monotone map of index types — the
second producer. The unfolded strict-monotonicity binder matches the shape
the root's reindex established rather than StrictMono.
Instances For
Reindexing commutes with passage to the root, as an equality of
semiorthogonal sequences — through the root's own reindex, not a second
one.
The finite case, landed back on Fin n through Orientation.lean's
ofReverseFin: component i of the result is the collection's component
i.rev.
Equations
Instances For
Every component of the finite sequence is triangulated. This is the
Fin n counterpart of hasTriangulatedComponents; it is stated separately
because toSemiorthogonalSequenceFin lands back in the original finite order
rather than in OrderDual (Fin n).