Documentation

DerivedAlgGeo.CategoryTheory.Triangulated.StabilityCondition.Symmetry.Autoequivalence.Stability.Composition

Composing two transports #

actStabAut transports a stability condition along one autoequivalence. This file proves that doing it twice is the same as doing it once along the composite — the associativity clause of a group action, without asserting that there is a group.

Two halves, and only one of them has content:

(Φ.trans Ψ).functor is reducibly Φ.functor ⋙ Ψ.functor, but instance search does not unfold Equivalence.trans to find it, so (Φ.trans Ψ).functor.Additive fails to synthesize. The six inferInstanceAs instances below supply what search cannot reach. They are stated once here and are what let mapEquiv (Φ.trans Ψ) be written at all.

What this file does not assert #

@[implicit_reducible]
Equations
@[implicit_reducible]
Equations

Reindexing twice is reindexing along the composite.

Definitional: mapEquiv reindexes by Φ.inverse, and (Φ.trans Ψ).inverse is Ψ.inverse ⋙ Φ.inverse on the nose. The bundled counterpart is TriEquiv.act_comp (Slicing/Quotient.lean) — the same Slicing.ext-on-rfl argument for a TriEquiv instead of a bare Equivalence.

Pin note: "on the nose" is Mathlib's literal inverse := f.inverse ⋙ e.inverse in the definition of Equivalence.trans. If a Mathlib bump redefines Equivalence.trans, this rfl — and KernelAutoequivalence.actStab_trans behind it — is the first thing to break. Re-check here if the pin moves.

theorem CategoryTheory.Triangulated.hlam_trans {C : Type u} [Category.{u_1, u} C] [Limits.HasZeroObject C] [HasShift C ℤ] [Preadditive C] [∀ (n : ℤ), (shiftFunctor C n).Additive] [Pretriangulated C] {Λ : Type u'} [AddCommGroup Λ] (v : K₀ C →+ Λ) (Φ Ψ : C ≌ C) [Φ.inverse.Additive] [Ψ.inverse.Additive] [Φ.inverse.CommShift ℤ] [Ψ.inverse.CommShift ℤ] [Φ.inverse.IsTriangulated] [Ψ.inverse.IsTriangulated] {lam₁ lam₂ : Λ →+ Λ} (h₁ : ∀ (x : K₀ C), v ((K₀.map Φ.inverse) x) = lam₁ (v x)) (h₂ : ∀ (x : K₀ C), v ((K₀.map Ψ.inverse) x) = lam₂ (v x)) (x : K₀ C) :
v ((K₀.map (Φ.trans Ψ).inverse) x) = (lam₁.comp lam₂) (v x)

The composite carries the composite lattice map.

The order is the one the quasi-inverse forces: (Φ.trans Ψ).inverse is Ψ.inverse ⋙ Φ.inverse, so lam₂ acts first and lam₁ last.

theorem CategoryTheory.Triangulated.actStabAut_trans {C : Type u} [Category.{u_1, u} C] [Limits.HasZeroObject C] [HasShift C ℤ] [Preadditive C] [∀ (n : ℤ), (shiftFunctor C n).Additive] [Pretriangulated C] [IsTriangulated C] {Λ : Type u'} [AddCommGroup Λ] (v : K₀ C →+ Λ) (Φ Ψ : C ≌ C) [Φ.functor.Additive] [Φ.inverse.Additive] [Ψ.functor.Additive] [Ψ.inverse.Additive] [Φ.functor.CommShift ℤ] [Φ.inverse.CommShift ℤ] [Ψ.functor.CommShift ℤ] [Ψ.inverse.CommShift ℤ] [Φ.functor.IsTriangulated] [Φ.inverse.IsTriangulated] [Ψ.functor.IsTriangulated] [Ψ.inverse.IsTriangulated] {lam₁ lam₂ : Λ →+ Λ} (h₁ : ∀ (x : K₀ C), v ((K₀.map Φ.inverse) x) = lam₁ (v x)) (h₂ : ∀ (x : K₀ C), v ((K₀.map Ψ.inverse) x) = lam₂ (v x)) (σ : StabilityCondition.WithClassMap C v) :
actStabAut Ψ v lam₂ h₂ (actStabAut Φ v lam₁ h₁ σ) = actStabAut (Φ.trans Ψ) v (lam₁.comp lam₂) ⋯ σ

Transporting twice is transporting once along the composite.

The associativity clause of an action, stated as a single equation. The lattice map of the composite is lam₁.comp lam₂, supplied by hlam_trans, so no new hypothesis enters.