Documentation

DerivedAlgGeo.CategoryTheory.Triangulated.Dimension.GenerationTime

Generation time: the ℕ∞-valued extension-step count #

For object properties P Q in a pretriangulated category, P.generationTime Q : ℕ∞ is the least n such that every object of Q is reachable from P by shifts, binary products, retracts and at most n extensions -- that is, the least n with Q ≤ P.triangEnvelopeIter n -- and ⊤ when there is no such n. It is the numerical layer on top of Mathlib's ObjectProperty.triangEnvelopeIter, and it introduces no new closure operation.

The order API #

No side conditions #

Nothing here carries a P.ContainsZero or P.Nonempty hypothesis. Mathlib's monotone'_triangEnvelopeIter has none at the pin -- it discharges the degenerate case internally -- and carrying one would weaken every lemma downstream, including the Rouquier dimension characterisations, which instantiate at ObjectProperty.singleton G, a property that is not ContainsZero.

Generation time is not subadditive #

The bound P.generationTime R ≤ P.generationTime Q + Q.generationTime R is false, and the shape of triangEnvelopeIter_add is not evidence for it. Reaching R from P through Q does not compose additively in the extension count: triangEnvelopeIter_add says P.triangEnvelopeIter (n + m) is the retract closure of extensions of a P.triangEnvelopeIter n' by a P.triangEnvelopeIter m, with n = n' + 1, so the count is off by one at every composition and the honest law is multiplicative in the ⟨-⟩-index of Bondal--Van den Bergh, where ⟨P⟩_{n + 1} is P.triangEnvelopeIter n: composing ⟨-⟩_a with ⟨-⟩_b lands in ⟨-⟩_{a b} (Stacks 0FXA), which in extension counts reads ((a + 1) * (b + 1)) - 1, not a + b. That composition law is the deliverable of the follow-up issue on composition of iterated envelopes and is not proved here; do not re-derive an additive bound from triangEnvelopeIter_add.

Generation time. The least n : ℕ with Q ≤ P.triangEnvelopeIter n, as an element of ℕ∞; ⊤ when there is none. sInf over ℕ∞ is total, and sInf ∅ = ⊤ is the junk-value convention.

Equations
Instances For

    The characterisation of generation time. P.generationTime Q ≤ n exactly when Q is reachable from P with at most n extensions.

    Generation time is antitone in the generating property: more generators, fewer steps.

    Generation time is monotone in the generated property: more to reach, more steps.

    Generation time is zero exactly when no extension is needed.

    Generation time is zero exactly when Q lies in the retract closure of binary products of shifts of P: generationTime_eq_zero_iff with the zeroth envelope unfolded.

    A property generates itself in no steps, unconditionally.

    Generation time is infinite exactly when no finite number of extensions suffices.

    Strong generation is finite generation time. P is a strong triangulated generator exactly when P.generationTime ⊤ ≠ ⊤.

    Finite generation time makes P a classical triangulated generator, through strong generation.