Bridgeland Stability Conditions

14.13. Deformation: MaximalDestabilizingQuotientKernel🔗

14.13.1. IsStrictMDQKernel🔗

A minimal-phase strict kernel: a proper strict subobject M of an interval object X whose cokernel is W-semistable and has minimal W-phase among all proper strict kernels. This is the dual of the MDQ construction, used in the thin-interval HN recursion.

Construction: A structure with four fields: ne_top (M \ne \top), strict (M.\mathrm{arrow} is strict mono), semistable (\operatorname{coker}(M) is W-semistable), and minimal (for any other proper strict kernel B, \psi(\operatorname{coker}(M)) \le \psi(\operatorname{coker}(B))).

🔗structure
CategoryTheory.Triangulated.IsStrictMDQKernel.{v, u, u'} (C : Type u) [CategoryTheory.Category.{v, u} C] [CategoryTheory.Limits.HasZeroObject C] [CategoryTheory.HasShift C ] [CategoryTheory.Preadditive C] [ (n : ), (CategoryTheory.shiftFunctor C n).Additive] [CategoryTheory.Pretriangulated C] [CategoryTheory.IsTriangulated C] {Λ : Type u'} [AddCommGroup Λ] {v : CategoryTheory.Triangulated.K₀ C →+ Λ} (σ : CategoryTheory.Triangulated.StabilityCondition.WithClassMap C v) {a b : } (ssf : CategoryTheory.Triangulated.SkewedStabilityFunction C v σ.slicing a b) [Fact (a < b)] [Fact (b - a 1)] {X : CategoryTheory.Triangulated.Slicing.IntervalCat C σ.slicing a b} (M : CategoryTheory.Subobject X) : Prop
CategoryTheory.Triangulated.IsStrictMDQKernel.{v, u, u'} (C : Type u) [CategoryTheory.Category.{v, u} C] [CategoryTheory.Limits.HasZeroObject C] [CategoryTheory.HasShift C ] [CategoryTheory.Preadditive C] [ (n : ), (CategoryTheory.shiftFunctor C n).Additive] [CategoryTheory.Pretriangulated C] [CategoryTheory.IsTriangulated C] {Λ : Type u'} [AddCommGroup Λ] {v : CategoryTheory.Triangulated.K₀ C →+ Λ} (σ : CategoryTheory.Triangulated.StabilityCondition.WithClassMap C v) {a b : } (ssf : CategoryTheory.Triangulated.SkewedStabilityFunction C v σ.slicing a b) [Fact (a < b)] [Fact (b - a 1)] {X : CategoryTheory.Triangulated.Slicing.IntervalCat C σ.slicing a b} (M : CategoryTheory.Subobject X) : Prop

Constructor

CategoryTheory.Triangulated.IsStrictMDQKernel.mk.{v, u, u'}

Fields

ne_top : M  
strict : CategoryTheory.IsStrictMono M.arrow
semistable : CategoryTheory.Triangulated.SkewedStabilityFunction.Semistable C ssf (CategoryTheory.Limits.cokernel M.arrow).obj
  (ssf.wPhase (CategoryTheory.Limits.cokernel M.arrow).obj)
minimal :  (B : CategoryTheory.Subobject X),
  B   
    CategoryTheory.IsStrictMono B.arrow 
      ssf.wPhase (CategoryTheory.Limits.cokernel M.arrow).obj  ssf.wPhase (CategoryTheory.Limits.cokernel B.arrow).obj

Something wrong, better idea? Suggest a change

14.13.2. isStrictMDQKernel_of_minPhase_strictKernel🔗

A proper strict kernel with semistable quotient of minimal quotient phase packages into the strict-kernel MDQ structure used in the faithful Node 7.7 refactor.

Proof: Direct constructor application: assemble the four fields from the given hypotheses.

🔗theorem
CategoryTheory.Triangulated.SkewedStabilityFunction.isStrictMDQKernel_of_minPhase_strictKernel.{v, u, u'} (C : Type u) [CategoryTheory.Category.{v, u} C] [CategoryTheory.Limits.HasZeroObject C] [CategoryTheory.HasShift C ] [CategoryTheory.Preadditive C] [ (n : ), (CategoryTheory.shiftFunctor C n).Additive] [CategoryTheory.Pretriangulated C] [CategoryTheory.IsTriangulated C] {Λ : Type u'} [AddCommGroup Λ] {v : CategoryTheory.Triangulated.K₀ C →+ Λ} (σ : CategoryTheory.Triangulated.StabilityCondition.WithClassMap C v) {a b : } {ssf : CategoryTheory.Triangulated.SkewedStabilityFunction C v σ.slicing a b} [Fact (a < b)] [Fact (b - a 1)] {X : CategoryTheory.Triangulated.Slicing.IntervalCat C σ.slicing a b} {M : CategoryTheory.Subobject X} (hM_ne_top : M ) (hM_strict : CategoryTheory.IsStrictMono M.arrow) (hM_ss : CategoryTheory.Triangulated.SkewedStabilityFunction.Semistable C ssf (CategoryTheory.Limits.cokernel M.arrow).obj (ssf.wPhase (CategoryTheory.Limits.cokernel M.arrow).obj)) (hM_min : (B : CategoryTheory.Subobject X), B CategoryTheory.IsStrictMono B.arrow ssf.wPhase (CategoryTheory.Limits.cokernel M.arrow).obj ssf.wPhase (CategoryTheory.Limits.cokernel B.arrow).obj) : CategoryTheory.Triangulated.IsStrictMDQKernel C σ ssf M
CategoryTheory.Triangulated.SkewedStabilityFunction.isStrictMDQKernel_of_minPhase_strictKernel.{v, u, u'} (C : Type u) [CategoryTheory.Category.{v, u} C] [CategoryTheory.Limits.HasZeroObject C] [CategoryTheory.HasShift C ] [CategoryTheory.Preadditive C] [ (n : ), (CategoryTheory.shiftFunctor C n).Additive] [CategoryTheory.Pretriangulated C] [CategoryTheory.IsTriangulated C] {Λ : Type u'} [AddCommGroup Λ] {v : CategoryTheory.Triangulated.K₀ C →+ Λ} (σ : CategoryTheory.Triangulated.StabilityCondition.WithClassMap C v) {a b : } {ssf : CategoryTheory.Triangulated.SkewedStabilityFunction C v σ.slicing a b} [Fact (a < b)] [Fact (b - a 1)] {X : CategoryTheory.Triangulated.Slicing.IntervalCat C σ.slicing a b} {M : CategoryTheory.Subobject X} (hM_ne_top : M ) (hM_strict : CategoryTheory.IsStrictMono M.arrow) (hM_ss : CategoryTheory.Triangulated.SkewedStabilityFunction.Semistable C ssf (CategoryTheory.Limits.cokernel M.arrow).obj (ssf.wPhase (CategoryTheory.Limits.cokernel M.arrow).obj)) (hM_min : (B : CategoryTheory.Subobject X), B CategoryTheory.IsStrictMono B.arrow ssf.wPhase (CategoryTheory.Limits.cokernel M.arrow).obj ssf.wPhase (CategoryTheory.Limits.cokernel B.arrow).obj) : CategoryTheory.Triangulated.IsStrictMDQKernel C σ ssf M

Something wrong, better idea? Suggest a change

14.13.3. semistable_cokernel_of_minPhase_strictKernel_of_minimal🔗

If a proper strict kernel M has minimal quotient phase among all proper strict kernels (with finite subobjects), then its cokernel X/M is W-semistable. Any destabilizing strict subobject of X/M would pull back to a strictly larger kernel with smaller cokernel phase, contradicting minimality.

Proof: By contradiction: if X/M is not semistable, find a maximal-phase strict subobject B of X/M with \psi(B) > \psi(X/M). Pull B back to a proper strict kernel of X. The seesaw gives \psi(\operatorname{coker}(\mathrm{pullback})) < \psi(X/M), contradicting minimality.

🔗theorem
CategoryTheory.Triangulated.SkewedStabilityFunction.semistable_cokernel_of_minPhase_strictKernel_of_minimal.{v, u, u'} (C : Type u) [CategoryTheory.Category.{v, u} C] [CategoryTheory.Limits.HasZeroObject C] [CategoryTheory.HasShift C ] [CategoryTheory.Preadditive C] [ (n : ), (CategoryTheory.shiftFunctor C n).Additive] [CategoryTheory.Pretriangulated C] [CategoryTheory.IsTriangulated C] {Λ : Type u'} [AddCommGroup Λ] {v : CategoryTheory.Triangulated.K₀ C →+ Λ} (σ : CategoryTheory.Triangulated.StabilityCondition.WithClassMap C v) {a b : } {ssf : CategoryTheory.Triangulated.SkewedStabilityFunction C v σ.slicing a b} [Fact (a < b)] [Fact (b - a 1)] {X : CategoryTheory.Triangulated.Slicing.IntervalCat C σ.slicing a b} {M : CategoryTheory.Subobject X} (hFinSub : (Y : CategoryTheory.Triangulated.Slicing.IntervalCat C σ.slicing a b), Finite (CategoryTheory.Subobject Y)) (hM_ne_top : M ) (hM_strict : CategoryTheory.IsStrictMono M.arrow) (hM_min : (B : CategoryTheory.Subobject X), B CategoryTheory.IsStrictMono B.arrow ssf.wPhase (CategoryTheory.Limits.cokernel M.arrow).obj ssf.wPhase (CategoryTheory.Limits.cokernel B.arrow).obj) (hW_interval : {F : C}, CategoryTheory.Triangulated.Slicing.intervalProp C σ.slicing a b F ¬CategoryTheory.Limits.IsZero F ssf.wNe F) {L U : } (hWindow : {F : C}, CategoryTheory.Triangulated.Slicing.intervalProp C σ.slicing a b F ¬CategoryTheory.Limits.IsZero F L < ssf.wPhase F ssf.wPhase F < U) (hWidth : U - L < 1) : CategoryTheory.Triangulated.SkewedStabilityFunction.Semistable C ssf (CategoryTheory.Limits.cokernel M.arrow).obj (ssf.wPhase (CategoryTheory.Limits.cokernel M.arrow).obj)
CategoryTheory.Triangulated.SkewedStabilityFunction.semistable_cokernel_of_minPhase_strictKernel_of_minimal.{v, u, u'} (C : Type u) [CategoryTheory.Category.{v, u} C] [CategoryTheory.Limits.HasZeroObject C] [CategoryTheory.HasShift C ] [CategoryTheory.Preadditive C] [ (n : ), (CategoryTheory.shiftFunctor C n).Additive] [CategoryTheory.Pretriangulated C] [CategoryTheory.IsTriangulated C] {Λ : Type u'} [AddCommGroup Λ] {v : CategoryTheory.Triangulated.K₀ C →+ Λ} (σ : CategoryTheory.Triangulated.StabilityCondition.WithClassMap C v) {a b : } {ssf : CategoryTheory.Triangulated.SkewedStabilityFunction C v σ.slicing a b} [Fact (a < b)] [Fact (b - a 1)] {X : CategoryTheory.Triangulated.Slicing.IntervalCat C σ.slicing a b} {M : CategoryTheory.Subobject X} (hFinSub : (Y : CategoryTheory.Triangulated.Slicing.IntervalCat C σ.slicing a b), Finite (CategoryTheory.Subobject Y)) (hM_ne_top : M ) (hM_strict : CategoryTheory.IsStrictMono M.arrow) (hM_min : (B : CategoryTheory.Subobject X), B CategoryTheory.IsStrictMono B.arrow ssf.wPhase (CategoryTheory.Limits.cokernel M.arrow).obj ssf.wPhase (CategoryTheory.Limits.cokernel B.arrow).obj) (hW_interval : {F : C}, CategoryTheory.Triangulated.Slicing.intervalProp C σ.slicing a b F ¬CategoryTheory.Limits.IsZero F ssf.wNe F) {L U : } (hWindow : {F : C}, CategoryTheory.Triangulated.Slicing.intervalProp C σ.slicing a b F ¬CategoryTheory.Limits.IsZero F L < ssf.wPhase F ssf.wPhase F < U) (hWidth : U - L < 1) : CategoryTheory.Triangulated.SkewedStabilityFunction.Semistable C ssf (CategoryTheory.Limits.cokernel M.arrow).obj (ssf.wPhase (CategoryTheory.Limits.cokernel M.arrow).obj)

Something wrong, better idea? Suggest a change

14.13.4. semistable_cokernel_of_minPhase_strictKernel_of_minimal_of_strictArtinian🔗

The strict-Artinian version of the quotient-semistability step: if a proper strict kernel M has minimal quotient phase and the cokernel is strict-Artinian, then the cokernel is W-semistable. Uses strict-Artinian descent (first strict SES) instead of finite enumeration.

Proof: Same pullback contradiction as the finite-subobject version, but the destabilizing strict subobject of the quotient is chosen by strict-Artinian descent rather than finite enumeration.

🔗theorem
CategoryTheory.Triangulated.SkewedStabilityFunction.semistable_cokernel_of_minPhase_strictKernel_of_minimal_of_strictArtinian.{v, u, u'} (C : Type u) [CategoryTheory.Category.{v, u} C] [CategoryTheory.Limits.HasZeroObject C] [CategoryTheory.HasShift C ] [CategoryTheory.Preadditive C] [ (n : ), (CategoryTheory.shiftFunctor C n).Additive] [CategoryTheory.Pretriangulated C] [CategoryTheory.IsTriangulated C] {Λ : Type u'} [AddCommGroup Λ] {v : CategoryTheory.Triangulated.K₀ C →+ Λ} (σ : CategoryTheory.Triangulated.StabilityCondition.WithClassMap C v) {a b : } {ssf : CategoryTheory.Triangulated.SkewedStabilityFunction C v σ.slicing a b} [Fact (a < b)] [Fact (b - a 1)] {X : CategoryTheory.Triangulated.Slicing.IntervalCat C σ.slicing a b} {M : CategoryTheory.Subobject X} (hM_ne_top : M ) (hM_strict : CategoryTheory.IsStrictMono M.arrow) (hM_min : (B : CategoryTheory.Subobject X), B CategoryTheory.IsStrictMono B.arrow ssf.wPhase (CategoryTheory.Limits.cokernel M.arrow).obj ssf.wPhase (CategoryTheory.Limits.cokernel B.arrow).obj) (hW_interval : {F : C}, CategoryTheory.Triangulated.Slicing.intervalProp C σ.slicing a b F ¬CategoryTheory.Limits.IsZero F ssf.wNe F) {L U : } (hWindow : {F : C}, CategoryTheory.Triangulated.Slicing.intervalProp C σ.slicing a b F ¬CategoryTheory.Limits.IsZero F L < ssf.wPhase F ssf.wPhase F < U) (hWidth : U - L < 1) [CategoryTheory.IsStrictArtinianObject (CategoryTheory.Limits.cokernel M.arrow)] : CategoryTheory.Triangulated.SkewedStabilityFunction.Semistable C ssf (CategoryTheory.Limits.cokernel M.arrow).obj (ssf.wPhase (CategoryTheory.Limits.cokernel M.arrow).obj)
CategoryTheory.Triangulated.SkewedStabilityFunction.semistable_cokernel_of_minPhase_strictKernel_of_minimal_of_strictArtinian.{v, u, u'} (C : Type u) [CategoryTheory.Category.{v, u} C] [CategoryTheory.Limits.HasZeroObject C] [CategoryTheory.HasShift C ] [CategoryTheory.Preadditive C] [ (n : ), (CategoryTheory.shiftFunctor C n).Additive] [CategoryTheory.Pretriangulated C] [CategoryTheory.IsTriangulated C] {Λ : Type u'} [AddCommGroup Λ] {v : CategoryTheory.Triangulated.K₀ C →+ Λ} (σ : CategoryTheory.Triangulated.StabilityCondition.WithClassMap C v) {a b : } {ssf : CategoryTheory.Triangulated.SkewedStabilityFunction C v σ.slicing a b} [Fact (a < b)] [Fact (b - a 1)] {X : CategoryTheory.Triangulated.Slicing.IntervalCat C σ.slicing a b} {M : CategoryTheory.Subobject X} (hM_ne_top : M ) (hM_strict : CategoryTheory.IsStrictMono M.arrow) (hM_min : (B : CategoryTheory.Subobject X), B CategoryTheory.IsStrictMono B.arrow ssf.wPhase (CategoryTheory.Limits.cokernel M.arrow).obj ssf.wPhase (CategoryTheory.Limits.cokernel B.arrow).obj) (hW_interval : {F : C}, CategoryTheory.Triangulated.Slicing.intervalProp C σ.slicing a b F ¬CategoryTheory.Limits.IsZero F ssf.wNe F) {L U : } (hWindow : {F : C}, CategoryTheory.Triangulated.Slicing.intervalProp C σ.slicing a b F ¬CategoryTheory.Limits.IsZero F L < ssf.wPhase F ssf.wPhase F < U) (hWidth : U - L < 1) [CategoryTheory.IsStrictArtinianObject (CategoryTheory.Limits.cokernel M.arrow)] : CategoryTheory.Triangulated.SkewedStabilityFunction.Semistable C ssf (CategoryTheory.Limits.cokernel M.arrow).obj (ssf.wPhase (CategoryTheory.Limits.cokernel M.arrow).obj)

Something wrong, better idea? Suggest a change

14.13.5. isStrictMDQKernel_of_minPhase_strictKernel_of_strictArtinian🔗

Packages a minimal-phase strict kernel with strict-Artinian cokernel into the MDQ-kernel structure, combining semistable_cokernel_of_minPhase_strictKernel_of_minimal_of_strictArtinian with the constructor.

Proof: First establish semistability via the strict-Artinian version, then apply the constructor.

🔗theorem
CategoryTheory.Triangulated.SkewedStabilityFunction.isStrictMDQKernel_of_minPhase_strictKernel_of_strictArtinian.{v, u, u'} (C : Type u) [CategoryTheory.Category.{v, u} C] [CategoryTheory.Limits.HasZeroObject C] [CategoryTheory.HasShift C ] [CategoryTheory.Preadditive C] [ (n : ), (CategoryTheory.shiftFunctor C n).Additive] [CategoryTheory.Pretriangulated C] [CategoryTheory.IsTriangulated C] {Λ : Type u'} [AddCommGroup Λ] {v : CategoryTheory.Triangulated.K₀ C →+ Λ} (σ : CategoryTheory.Triangulated.StabilityCondition.WithClassMap C v) {a b : } {ssf : CategoryTheory.Triangulated.SkewedStabilityFunction C v σ.slicing a b} [Fact (a < b)] [Fact (b - a 1)] {X : CategoryTheory.Triangulated.Slicing.IntervalCat C σ.slicing a b} {M : CategoryTheory.Subobject X} (hM_ne_top : M ) (hM_strict : CategoryTheory.IsStrictMono M.arrow) (hM_min : (B : CategoryTheory.Subobject X), B CategoryTheory.IsStrictMono B.arrow ssf.wPhase (CategoryTheory.Limits.cokernel M.arrow).obj ssf.wPhase (CategoryTheory.Limits.cokernel B.arrow).obj) (hW_interval : {F : C}, CategoryTheory.Triangulated.Slicing.intervalProp C σ.slicing a b F ¬CategoryTheory.Limits.IsZero F ssf.wNe F) {L U : } (hWindow : {F : C}, CategoryTheory.Triangulated.Slicing.intervalProp C σ.slicing a b F ¬CategoryTheory.Limits.IsZero F L < ssf.wPhase F ssf.wPhase F < U) (hWidth : U - L < 1) [CategoryTheory.IsStrictArtinianObject (CategoryTheory.Limits.cokernel M.arrow)] : CategoryTheory.Triangulated.IsStrictMDQKernel C σ ssf M
CategoryTheory.Triangulated.SkewedStabilityFunction.isStrictMDQKernel_of_minPhase_strictKernel_of_strictArtinian.{v, u, u'} (C : Type u) [CategoryTheory.Category.{v, u} C] [CategoryTheory.Limits.HasZeroObject C] [CategoryTheory.HasShift C ] [CategoryTheory.Preadditive C] [ (n : ), (CategoryTheory.shiftFunctor C n).Additive] [CategoryTheory.Pretriangulated C] [CategoryTheory.IsTriangulated C] {Λ : Type u'} [AddCommGroup Λ] {v : CategoryTheory.Triangulated.K₀ C →+ Λ} (σ : CategoryTheory.Triangulated.StabilityCondition.WithClassMap C v) {a b : } {ssf : CategoryTheory.Triangulated.SkewedStabilityFunction C v σ.slicing a b} [Fact (a < b)] [Fact (b - a 1)] {X : CategoryTheory.Triangulated.Slicing.IntervalCat C σ.slicing a b} {M : CategoryTheory.Subobject X} (hM_ne_top : M ) (hM_strict : CategoryTheory.IsStrictMono M.arrow) (hM_min : (B : CategoryTheory.Subobject X), B CategoryTheory.IsStrictMono B.arrow ssf.wPhase (CategoryTheory.Limits.cokernel M.arrow).obj ssf.wPhase (CategoryTheory.Limits.cokernel B.arrow).obj) (hW_interval : {F : C}, CategoryTheory.Triangulated.Slicing.intervalProp C σ.slicing a b F ¬CategoryTheory.Limits.IsZero F ssf.wNe F) {L U : } (hWindow : {F : C}, CategoryTheory.Triangulated.Slicing.intervalProp C σ.slicing a b F ¬CategoryTheory.Limits.IsZero F L < ssf.wPhase F ssf.wPhase F < U) (hWidth : U - L < 1) [CategoryTheory.IsStrictArtinianObject (CategoryTheory.Limits.cokernel M.arrow)] : CategoryTheory.Triangulated.IsStrictMDQKernel C σ ssf M

Something wrong, better idea? Suggest a change

14.13.6. phase_lt_of_strictQuotient_of_minPhase_strictKernel🔗

Every proper strict quotient of a minimal-phase minimal strict kernel M has phase strictly larger than the phase of the ambient minimal quotient \operatorname{coker}(M). This is the kernel-recursion step for thin-interval HN existence.

Proof: Lift the subobject A \hookrightarrow M to a subobject of X via the composition A \hookrightarrow M \hookrightarrow X. This lift is strictly smaller than M, so the minimality of M gives \psi(\operatorname{coker}(M)) < \psi(\operatorname{coker}(\mathrm{lift})). The seesaw decomposition W(\operatorname{coker}(\mathrm{lift})) = W(\operatorname{coker}(A)) + W(\operatorname{coker}(M)) then forces \psi(\operatorname{coker}(A)) > \psi(\operatorname{coker}(\mathrm{lift})) > \psi(\operatorname{coker}(M)).

🔗theorem
CategoryTheory.Triangulated.SkewedStabilityFunction.phase_lt_of_strictQuotient_of_minPhase_strictKernel.{v, u, u'} (C : Type u) [CategoryTheory.Category.{v, u} C] [CategoryTheory.Limits.HasZeroObject C] [CategoryTheory.HasShift C ] [CategoryTheory.Preadditive C] [ (n : ), (CategoryTheory.shiftFunctor C n).Additive] [CategoryTheory.Pretriangulated C] [CategoryTheory.IsTriangulated C] {Λ : Type u'} [AddCommGroup Λ] {v : CategoryTheory.Triangulated.K₀ C →+ Λ} (σ : CategoryTheory.Triangulated.StabilityCondition.WithClassMap C v) {a b : } {ssf : CategoryTheory.Triangulated.SkewedStabilityFunction C v σ.slicing a b} [Fact (a < b)] [Fact (b - a 1)] {X : CategoryTheory.Triangulated.Slicing.IntervalCat C σ.slicing a b} {M : CategoryTheory.Subobject X} (hM_ne_top : M ) (hM_strict : CategoryTheory.IsStrictMono M.arrow) (hM_lt : (B : CategoryTheory.Subobject X), B CategoryTheory.IsStrictMono B.arrow B < M ssf.wPhase (CategoryTheory.Limits.cokernel M.arrow).obj < ssf.wPhase (CategoryTheory.Limits.cokernel B.arrow).obj) (hW_interval : {F : C}, CategoryTheory.Triangulated.Slicing.intervalProp C σ.slicing a b F ¬CategoryTheory.Limits.IsZero F ssf.wNe F) {L U : } (hWindow : {F : C}, CategoryTheory.Triangulated.Slicing.intervalProp C σ.slicing a b F ¬CategoryTheory.Limits.IsZero F L < ssf.wPhase F ssf.wPhase F < U) (hWidth : U - L < 1) {A : CategoryTheory.Subobject (CategoryTheory.Subobject.underlying.obj M)} (hA_top : A ) (hA_strict : CategoryTheory.IsStrictMono A.arrow) : ssf.wPhase (CategoryTheory.Limits.cokernel M.arrow).obj < ssf.wPhase (CategoryTheory.Limits.cokernel A.arrow).obj
CategoryTheory.Triangulated.SkewedStabilityFunction.phase_lt_of_strictQuotient_of_minPhase_strictKernel.{v, u, u'} (C : Type u) [CategoryTheory.Category.{v, u} C] [CategoryTheory.Limits.HasZeroObject C] [CategoryTheory.HasShift C ] [CategoryTheory.Preadditive C] [ (n : ), (CategoryTheory.shiftFunctor C n).Additive] [CategoryTheory.Pretriangulated C] [CategoryTheory.IsTriangulated C] {Λ : Type u'} [AddCommGroup Λ] {v : CategoryTheory.Triangulated.K₀ C →+ Λ} (σ : CategoryTheory.Triangulated.StabilityCondition.WithClassMap C v) {a b : } {ssf : CategoryTheory.Triangulated.SkewedStabilityFunction C v σ.slicing a b} [Fact (a < b)] [Fact (b - a 1)] {X : CategoryTheory.Triangulated.Slicing.IntervalCat C σ.slicing a b} {M : CategoryTheory.Subobject X} (hM_ne_top : M ) (hM_strict : CategoryTheory.IsStrictMono M.arrow) (hM_lt : (B : CategoryTheory.Subobject X), B CategoryTheory.IsStrictMono B.arrow B < M ssf.wPhase (CategoryTheory.Limits.cokernel M.arrow).obj < ssf.wPhase (CategoryTheory.Limits.cokernel B.arrow).obj) (hW_interval : {F : C}, CategoryTheory.Triangulated.Slicing.intervalProp C σ.slicing a b F ¬CategoryTheory.Limits.IsZero F ssf.wNe F) {L U : } (hWindow : {F : C}, CategoryTheory.Triangulated.Slicing.intervalProp C σ.slicing a b F ¬CategoryTheory.Limits.IsZero F L < ssf.wPhase F ssf.wPhase F < U) (hWidth : U - L < 1) {A : CategoryTheory.Subobject (CategoryTheory.Subobject.underlying.obj M)} (hA_top : A ) (hA_strict : CategoryTheory.IsStrictMono A.arrow) : ssf.wPhase (CategoryTheory.Limits.cokernel M.arrow).obj < ssf.wPhase (CategoryTheory.Limits.cokernel A.arrow).obj

Something wrong, better idea? Suggest a change

14.13.7. thinFiniteLength_cokernel🔗

Every cokernel of a subobject arrow in a thin finite-length interval inherits strict finite length.

Proof: Immediate: the cokernel is an object of the interval category, so ThinFiniteLengthInInterval applies.

🔗theorem
CategoryTheory.Triangulated.thinFiniteLength_cokernel.{v, u, u'} (C : Type u) [CategoryTheory.Category.{v, u} C] [CategoryTheory.Limits.HasZeroObject C] [CategoryTheory.HasShift C ] [CategoryTheory.Preadditive C] [ (n : ), (CategoryTheory.shiftFunctor C n).Additive] [CategoryTheory.Pretriangulated C] [CategoryTheory.IsTriangulated C] {Λ : Type u'} [AddCommGroup Λ] {v : CategoryTheory.Triangulated.K₀ C →+ Λ} (σ : CategoryTheory.Triangulated.StabilityCondition.WithClassMap C v) {a b : } [Fact (a < b)] [Fact (b - a 1)] (hFiniteLength : CategoryTheory.Triangulated.ThinFiniteLengthInInterval C σ a b) {X : CategoryTheory.Triangulated.Slicing.IntervalCat C σ.slicing a b} {M : CategoryTheory.Subobject X} : CategoryTheory.IsStrictArtinianObject (CategoryTheory.Limits.cokernel M.arrow) CategoryTheory.IsStrictNoetherianObject (CategoryTheory.Limits.cokernel M.arrow)
CategoryTheory.Triangulated.thinFiniteLength_cokernel.{v, u, u'} (C : Type u) [CategoryTheory.Category.{v, u} C] [CategoryTheory.Limits.HasZeroObject C] [CategoryTheory.HasShift C ] [CategoryTheory.Preadditive C] [ (n : ), (CategoryTheory.shiftFunctor C n).Additive] [CategoryTheory.Pretriangulated C] [CategoryTheory.IsTriangulated C] {Λ : Type u'} [AddCommGroup Λ] {v : CategoryTheory.Triangulated.K₀ C →+ Λ} (σ : CategoryTheory.Triangulated.StabilityCondition.WithClassMap C v) {a b : } [Fact (a < b)] [Fact (b - a 1)] (hFiniteLength : CategoryTheory.Triangulated.ThinFiniteLengthInInterval C σ a b) {X : CategoryTheory.Triangulated.Slicing.IntervalCat C σ.slicing a b} {M : CategoryTheory.Subobject X} : CategoryTheory.IsStrictArtinianObject (CategoryTheory.Limits.cokernel M.arrow) CategoryTheory.IsStrictNoetherianObject (CategoryTheory.Limits.cokernel M.arrow)

Something wrong, better idea? Suggest a change

14.13.8. isStrictMDQKernel_of_minPhase_strictKernel_of_finiteLength🔗

The finite-length version: packages a minimal-phase strict kernel into the MDQ-kernel structure when the ambient interval has thin finite length.

Proof: Extract strict-Artinian and strict-Noetherian instances from ThinFiniteLengthInInterval, then delegate to isStrictMDQKernel_of_minPhase_strictKernel_of_strictArtinian.

🔗theorem
CategoryTheory.Triangulated.SkewedStabilityFunction.isStrictMDQKernel_of_minPhase_strictKernel_of_finiteLength.{v, u, u'} (C : Type u) [CategoryTheory.Category.{v, u} C] [CategoryTheory.Limits.HasZeroObject C] [CategoryTheory.HasShift C ] [CategoryTheory.Preadditive C] [ (n : ), (CategoryTheory.shiftFunctor C n).Additive] [CategoryTheory.Pretriangulated C] [CategoryTheory.IsTriangulated C] {Λ : Type u'} [AddCommGroup Λ] {v : CategoryTheory.Triangulated.K₀ C →+ Λ} (σ : CategoryTheory.Triangulated.StabilityCondition.WithClassMap C v) {a b : } {ssf : CategoryTheory.Triangulated.SkewedStabilityFunction C v σ.slicing a b} [Fact (a < b)] [Fact (b - a 1)] (hFiniteLength : CategoryTheory.Triangulated.ThinFiniteLengthInInterval C σ a b) {X : CategoryTheory.Triangulated.Slicing.IntervalCat C σ.slicing a b} {M : CategoryTheory.Subobject X} (hM_ne_top : M ) (hM_strict : CategoryTheory.IsStrictMono M.arrow) (hM_min : (B : CategoryTheory.Subobject X), B CategoryTheory.IsStrictMono B.arrow ssf.wPhase (CategoryTheory.Limits.cokernel M.arrow).obj ssf.wPhase (CategoryTheory.Limits.cokernel B.arrow).obj) (hW_interval : {F : C}, CategoryTheory.Triangulated.Slicing.intervalProp C σ.slicing a b F ¬CategoryTheory.Limits.IsZero F ssf.wNe F) {L U : } (hWindow : {F : C}, CategoryTheory.Triangulated.Slicing.intervalProp C σ.slicing a b F ¬CategoryTheory.Limits.IsZero F L < ssf.wPhase F ssf.wPhase F < U) (hWidth : U - L < 1) : CategoryTheory.Triangulated.IsStrictMDQKernel C σ ssf M
CategoryTheory.Triangulated.SkewedStabilityFunction.isStrictMDQKernel_of_minPhase_strictKernel_of_finiteLength.{v, u, u'} (C : Type u) [CategoryTheory.Category.{v, u} C] [CategoryTheory.Limits.HasZeroObject C] [CategoryTheory.HasShift C ] [CategoryTheory.Preadditive C] [ (n : ), (CategoryTheory.shiftFunctor C n).Additive] [CategoryTheory.Pretriangulated C] [CategoryTheory.IsTriangulated C] {Λ : Type u'} [AddCommGroup Λ] {v : CategoryTheory.Triangulated.K₀ C →+ Λ} (σ : CategoryTheory.Triangulated.StabilityCondition.WithClassMap C v) {a b : } {ssf : CategoryTheory.Triangulated.SkewedStabilityFunction C v σ.slicing a b} [Fact (a < b)] [Fact (b - a 1)] (hFiniteLength : CategoryTheory.Triangulated.ThinFiniteLengthInInterval C σ a b) {X : CategoryTheory.Triangulated.Slicing.IntervalCat C σ.slicing a b} {M : CategoryTheory.Subobject X} (hM_ne_top : M ) (hM_strict : CategoryTheory.IsStrictMono M.arrow) (hM_min : (B : CategoryTheory.Subobject X), B CategoryTheory.IsStrictMono B.arrow ssf.wPhase (CategoryTheory.Limits.cokernel M.arrow).obj ssf.wPhase (CategoryTheory.Limits.cokernel B.arrow).obj) (hW_interval : {F : C}, CategoryTheory.Triangulated.Slicing.intervalProp C σ.slicing a b F ¬CategoryTheory.Limits.IsZero F ssf.wNe F) {L U : } (hWindow : {F : C}, CategoryTheory.Triangulated.Slicing.intervalProp C σ.slicing a b F ¬CategoryTheory.Limits.IsZero F L < ssf.wPhase F ssf.wPhase F < U) (hWidth : U - L < 1) : CategoryTheory.Triangulated.IsStrictMDQKernel C σ ssf M

Something wrong, better idea? Suggest a change

14.13.9. hn_exists_in_thin_interval_of_finiteSubobjects🔗

HN existence in thin intervals with finite subobjects: every nonzero interval object admits an HN filtration with \operatorname{ssf}-semistable factors whose phases lie in (L, U). This is the legacy version using global Hom vanishing and destabilizing phase bounds.

Proof: Delegates to hn_exists_in_thin_interval after packaging the finite-subobject hypothesis into the required form.

🔗theorem
CategoryTheory.Triangulated.SkewedStabilityFunction.hn_exists_in_thin_interval_of_finiteSubobjects.{v, u, u'} (C : Type u) [CategoryTheory.Category.{v, u} C] [CategoryTheory.Limits.HasZeroObject C] [CategoryTheory.HasShift C ] [CategoryTheory.Preadditive C] [ (n : ), (CategoryTheory.shiftFunctor C n).Additive] [CategoryTheory.Pretriangulated C] [CategoryTheory.IsTriangulated C] {Λ : Type u'} [AddCommGroup Λ] {v : CategoryTheory.Triangulated.K₀ C →+ Λ} (σ : CategoryTheory.Triangulated.StabilityCondition.WithClassMap C v) {a b : } {ssf : CategoryTheory.Triangulated.SkewedStabilityFunction C v σ.slicing a b} [Fact (a < b)] [Fact (b - a 1)] (hFinSub : (Y : CategoryTheory.Triangulated.Slicing.IntervalCat C σ.slicing a b), Finite (CategoryTheory.Subobject Y)) (hW_interval : {F : C}, CategoryTheory.Triangulated.Slicing.intervalProp C σ.slicing a b F ¬CategoryTheory.Limits.IsZero F ssf.wNe F) {L U : } (hWindow : {F : C}, CategoryTheory.Triangulated.Slicing.intervalProp C σ.slicing a b F ¬CategoryTheory.Limits.IsZero F L < ssf.wPhase F ssf.wPhase F < U) (hWidth : U - L < 1) (X : CategoryTheory.Triangulated.Slicing.IntervalCat C σ.slicing a b) (hX : ¬CategoryTheory.Limits.IsZero X) : have Psem := fun ψ E => CategoryTheory.Triangulated.SkewedStabilityFunction.Semistable C ssf E ψ; G, (j : Fin G.n), L < G.φ j G.φ j < U
CategoryTheory.Triangulated.SkewedStabilityFunction.hn_exists_in_thin_interval_of_finiteSubobjects.{v, u, u'} (C : Type u) [CategoryTheory.Category.{v, u} C] [CategoryTheory.Limits.HasZeroObject C] [CategoryTheory.HasShift C ] [CategoryTheory.Preadditive C] [ (n : ), (CategoryTheory.shiftFunctor C n).Additive] [CategoryTheory.Pretriangulated C] [CategoryTheory.IsTriangulated C] {Λ : Type u'} [AddCommGroup Λ] {v : CategoryTheory.Triangulated.K₀ C →+ Λ} (σ : CategoryTheory.Triangulated.StabilityCondition.WithClassMap C v) {a b : } {ssf : CategoryTheory.Triangulated.SkewedStabilityFunction C v σ.slicing a b} [Fact (a < b)] [Fact (b - a 1)] (hFinSub : (Y : CategoryTheory.Triangulated.Slicing.IntervalCat C σ.slicing a b), Finite (CategoryTheory.Subobject Y)) (hW_interval : {F : C}, CategoryTheory.Triangulated.Slicing.intervalProp C σ.slicing a b F ¬CategoryTheory.Limits.IsZero F ssf.wNe F) {L U : } (hWindow : {F : C}, CategoryTheory.Triangulated.Slicing.intervalProp C σ.slicing a b F ¬CategoryTheory.Limits.IsZero F L < ssf.wPhase F ssf.wPhase F < U) (hWidth : U - L < 1) (X : CategoryTheory.Triangulated.Slicing.IntervalCat C σ.slicing a b) (hX : ¬CategoryTheory.Limits.IsZero X) : have Psem := fun ψ E => CategoryTheory.Triangulated.SkewedStabilityFunction.Semistable C ssf E ψ; G, (j : Fin G.n), L < G.φ j G.φ j < U

Something wrong, better idea? Suggest a change

14.13.10. map_eq_mk_mono🔗

For a monomorphism f : X \to Y and a subobject S \leq X, the pushforward (\mathrm{map}(f))(S) equals \mathrm{mk}(S.\mathrm{arrow} \circ f) as a subobject of Y.

Proof: Rewrite S as \mathrm{mk}(S.\mathrm{arrow}) and apply the functoriality formula Subobject.map_mk.

🔗theorem
CategoryTheory.Triangulated.Subobject.map_eq_mk_mono.{u_1, u_2} {D : Type u_1} [CategoryTheory.Category.{u_2, u_1} D] {X Y : D} (f : X Y) [CategoryTheory.Mono f] (S : CategoryTheory.Subobject X) : (CategoryTheory.Subobject.map f).obj S = CategoryTheory.Subobject.mk (CategoryTheory.CategoryStruct.comp S.arrow f)
CategoryTheory.Triangulated.Subobject.map_eq_mk_mono.{u_1, u_2} {D : Type u_1} [CategoryTheory.Category.{u_2, u_1} D] {X Y : D} (f : X Y) [CategoryTheory.Mono f] (S : CategoryTheory.Subobject X) : (CategoryTheory.Subobject.map f).obj S = CategoryTheory.Subobject.mk (CategoryTheory.CategoryStruct.comp S.arrow f)

Something wrong, better idea? Suggest a change

14.13.11. mapMonoIso🔗

For a monomorphism f : X \to Y and a subobject S \leq X, there is a canonical isomorphism (\mathrm{map}(f)(S) : D) \cong (S : D) between the image of S under the pushforward along f and S itself as objects of D.

Construction: Constructed as Subobject.isoOfEqMk applied to the equality Subobject.map_eq_mk_mono f S, which identifies (Subobject.map f).obj S with Subobject.mk (S.arrow ≫ f).

🔗def
CategoryTheory.Triangulated.Subobject.mapMonoIso.{u_1, u_2} {D : Type u_1} [CategoryTheory.Category.{u_2, u_1} D] {X Y : D} (f : X Y) [CategoryTheory.Mono f] (S : CategoryTheory.Subobject X) : CategoryTheory.Subobject.underlying.obj ((CategoryTheory.Subobject.map f).obj S) CategoryTheory.Subobject.underlying.obj S
CategoryTheory.Triangulated.Subobject.mapMonoIso.{u_1, u_2} {D : Type u_1} [CategoryTheory.Category.{u_2, u_1} D] {X Y : D} (f : X Y) [CategoryTheory.Mono f] (S : CategoryTheory.Subobject X) : CategoryTheory.Subobject.underlying.obj ((CategoryTheory.Subobject.map f).obj S) CategoryTheory.Subobject.underlying.obj S

Something wrong, better idea? Suggest a change

14.13.12. ofLE_map_comp_mapMonoIso_hom🔗

For nested subobjects S \leq T of X and a monomorphism f : X \to Y, the natural square \mathrm{ofLE}(\mathrm{map}(f)(S), \mathrm{map}(f)(T)) \circ (\mathrm{mapMonoIso}(f,T)).\mathrm{hom} = (\mathrm{mapMonoIso}(f,S)).\mathrm{hom} \circ \mathrm{ofLE}(S,T) commutes.

Proof: Both composites are equal after postcomposing with the arrow of T and then f: this reduces to associativity and the definition of Subobject.mapMonoIso and Subobject.ofLE.

🔗theorem
CategoryTheory.Triangulated.Subobject.ofLE_map_comp_mapMonoIso_hom.{u_1, u_2} {D : Type u_1} [CategoryTheory.Category.{u_2, u_1} D] {X Y : D} (f : X Y) [CategoryTheory.Mono f] {S T : CategoryTheory.Subobject X} (h : S T) : CategoryTheory.CategoryStruct.comp (((CategoryTheory.Subobject.map f).obj S).ofLE ((CategoryTheory.Subobject.map f).obj T) ) (CategoryTheory.Triangulated.Subobject.mapMonoIso f T).hom = CategoryTheory.CategoryStruct.comp (CategoryTheory.Triangulated.Subobject.mapMonoIso f S).hom (S.ofLE T h)
CategoryTheory.Triangulated.Subobject.ofLE_map_comp_mapMonoIso_hom.{u_1, u_2} {D : Type u_1} [CategoryTheory.Category.{u_2, u_1} D] {X Y : D} (f : X Y) [CategoryTheory.Mono f] {S T : CategoryTheory.Subobject X} (h : S T) : CategoryTheory.CategoryStruct.comp (((CategoryTheory.Subobject.map f).obj S).ofLE ((CategoryTheory.Subobject.map f).obj T) ) (CategoryTheory.Triangulated.Subobject.mapMonoIso f T).hom = CategoryTheory.CategoryStruct.comp (CategoryTheory.Triangulated.Subobject.mapMonoIso f S).hom (S.ofLE T h)

Something wrong, better idea? Suggest a change

14.13.13. cokernelMapMonoIso🔗

For nested subobjects S \leq T of X and a monomorphism f : X \to Y, there is a canonical isomorphism \mathrm{coker}(\mathrm{map}(f)(S) \hookrightarrow \mathrm{map}(f)(T)) \cong \mathrm{coker}(S \hookrightarrow T).

Construction: Constructed via cokernel.mapIso using the canonical isomorphisms Subobject.mapMonoIso f S and Subobject.mapMonoIso f T, with the compatibility condition provided by Subobject.ofLE_map_comp_mapMonoIso_hom.

🔗def
CategoryTheory.Triangulated.Subobject.cokernelMapMonoIso.{u_1, u_2} {D : Type u_1} [CategoryTheory.Category.{u_2, u_1} D] [CategoryTheory.Limits.HasZeroMorphisms D] [CategoryTheory.Limits.HasCokernels D] {X Y : D} (f : X Y) [CategoryTheory.Mono f] {S T : CategoryTheory.Subobject X} (h : S T) : CategoryTheory.Limits.cokernel (((CategoryTheory.Subobject.map f).obj S).ofLE ((CategoryTheory.Subobject.map f).obj T) ) CategoryTheory.Limits.cokernel (S.ofLE T h)
CategoryTheory.Triangulated.Subobject.cokernelMapMonoIso.{u_1, u_2} {D : Type u_1} [CategoryTheory.Category.{u_2, u_1} D] [CategoryTheory.Limits.HasZeroMorphisms D] [CategoryTheory.Limits.HasCokernels D] {X Y : D} (f : X Y) [CategoryTheory.Mono f] {S T : CategoryTheory.Subobject X} (h : S T) : CategoryTheory.Limits.cokernel (((CategoryTheory.Subobject.map f).obj S).ofLE ((CategoryTheory.Subobject.map f).obj T) ) CategoryTheory.Limits.cokernel (S.ofLE T h)

Something wrong, better idea? Suggest a change

14.13.14. wPhaseOf_cokernel_mapMono_eq🔗

For nested subobjects S \leq T of X in an interval category and a monomorphism f : X \to Y, the W-phase of \mathrm{coker}(\mathrm{map}(f)(S) \hookrightarrow \mathrm{map}(f)(T)) equals the W-phase of \mathrm{coker}(S \hookrightarrow T).

Proof: The canonical isomorphism Subobject.cokernelMapMonoIso f h between the two cokernels gives an isomorphism after applying the interval inclusion functor, so the W-phase is preserved by wPhase_iso.

🔗theorem
CategoryTheory.Triangulated.wPhaseOf_cokernel_mapMono_eq.{v, u, u'} (C : Type u) [CategoryTheory.Category.{v, u} C] [CategoryTheory.Limits.HasZeroObject C] [CategoryTheory.HasShift C ] [CategoryTheory.Preadditive C] [ (n : ), (CategoryTheory.shiftFunctor C n).Additive] [CategoryTheory.Pretriangulated C] {Λ : Type u'} [AddCommGroup Λ] {v : CategoryTheory.Triangulated.K₀ C →+ Λ} {s : CategoryTheory.Triangulated.Slicing C} {a b : } {ssf : CategoryTheory.Triangulated.SkewedStabilityFunction C v s a b} [CategoryTheory.Limits.HasCokernels (CategoryTheory.Triangulated.Slicing.IntervalCat C s a b)] {X Y : CategoryTheory.Triangulated.Slicing.IntervalCat C s a b} (f : X Y) [CategoryTheory.Mono f] {S T : CategoryTheory.Subobject X} (h : S T) : ssf.wPhase (CategoryTheory.Limits.cokernel (((CategoryTheory.Subobject.map f).obj S).ofLE ((CategoryTheory.Subobject.map f).obj T) )).obj = ssf.wPhase (CategoryTheory.Limits.cokernel (S.ofLE T h)).obj
CategoryTheory.Triangulated.wPhaseOf_cokernel_mapMono_eq.{v, u, u'} (C : Type u) [CategoryTheory.Category.{v, u} C] [CategoryTheory.Limits.HasZeroObject C] [CategoryTheory.HasShift C ] [CategoryTheory.Preadditive C] [ (n : ), (CategoryTheory.shiftFunctor C n).Additive] [CategoryTheory.Pretriangulated C] {Λ : Type u'} [AddCommGroup Λ] {v : CategoryTheory.Triangulated.K₀ C →+ Λ} {s : CategoryTheory.Triangulated.Slicing C} {a b : } {ssf : CategoryTheory.Triangulated.SkewedStabilityFunction C v s a b} [CategoryTheory.Limits.HasCokernels (CategoryTheory.Triangulated.Slicing.IntervalCat C s a b)] {X Y : CategoryTheory.Triangulated.Slicing.IntervalCat C s a b} (f : X Y) [CategoryTheory.Mono f] {S T : CategoryTheory.Subobject X} (h : S T) : ssf.wPhase (CategoryTheory.Limits.cokernel (((CategoryTheory.Subobject.map f).obj S).ofLE ((CategoryTheory.Subobject.map f).obj T) )).obj = ssf.wPhase (CategoryTheory.Limits.cokernel (S.ofLE T h)).obj

Something wrong, better idea? Suggest a change

14.13.15. interval_cokernelTopIso🔗

For a subobject A \leq X in a thin interval category \mathcal{P}((a,b)), the cokernel of the inclusion A \hookrightarrow \top is canonically isomorphic to the cokernel of A.\mathrm{arrow} : A \to X.

Construction: Constructed by composing the isomorphism cokernelCompIsIso (which uses that the top subobject arrow is an isomorphism) with cokernelIsoOfEq applied to the identity \mathrm{ofLE}(A,\top).\mathrm{arrow} = A.\mathrm{arrow}.

🔗def
CategoryTheory.Triangulated.interval_cokernelTopIso.{v, u} (C : Type u) [CategoryTheory.Category.{v, u} C] [CategoryTheory.Limits.HasZeroObject C] [CategoryTheory.HasShift C ] [CategoryTheory.Preadditive C] [ (n : ), (CategoryTheory.shiftFunctor C n).Additive] [CategoryTheory.Pretriangulated C] {s : CategoryTheory.Triangulated.Slicing C} {a b : } [CategoryTheory.Limits.HasCokernels (CategoryTheory.Triangulated.Slicing.IntervalCat C s a b)] {X : CategoryTheory.Triangulated.Slicing.IntervalCat C s a b} (A : CategoryTheory.Subobject X) : CategoryTheory.Limits.cokernel (A.ofLE ) CategoryTheory.Limits.cokernel A.arrow
CategoryTheory.Triangulated.interval_cokernelTopIso.{v, u} (C : Type u) [CategoryTheory.Category.{v, u} C] [CategoryTheory.Limits.HasZeroObject C] [CategoryTheory.HasShift C ] [CategoryTheory.Preadditive C] [ (n : ), (CategoryTheory.shiftFunctor C n).Additive] [CategoryTheory.Pretriangulated C] {s : CategoryTheory.Triangulated.Slicing C} {a b : } [CategoryTheory.Limits.HasCokernels (CategoryTheory.Triangulated.Slicing.IntervalCat C s a b)] {X : CategoryTheory.Triangulated.Slicing.IntervalCat C s a b} (A : CategoryTheory.Subobject X) : CategoryTheory.Limits.cokernel (A.ofLE ) CategoryTheory.Limits.cokernel A.arrow

Something wrong, better idea? Suggest a change

14.13.16. wPhaseOf_cokernel_ofLE_top_eq🔗

For a subobject A \leq X in an interval category, the W-phase of \mathrm{coker}(A \hookrightarrow \top) equals the W-phase of \mathrm{coker}(A.\mathrm{arrow}).

Proof: The canonical isomorphism interval_cokernelTopIso A gives an isomorphism of underlying objects, so their classes in K_0 agree and hence W takes the same value; the W-phase is then equal.

🔗theorem
CategoryTheory.Triangulated.wPhaseOf_cokernel_ofLE_top_eq.{v, u, u'} (C : Type u) [CategoryTheory.Category.{v, u} C] [CategoryTheory.Limits.HasZeroObject C] [CategoryTheory.HasShift C ] [CategoryTheory.Preadditive C] [ (n : ), (CategoryTheory.shiftFunctor C n).Additive] [CategoryTheory.Pretriangulated C] {Λ : Type u'} [AddCommGroup Λ] {v : CategoryTheory.Triangulated.K₀ C →+ Λ} {s : CategoryTheory.Triangulated.Slicing C} {a b α : } (W : Λ →+ ) [CategoryTheory.Limits.HasCokernels (CategoryTheory.Triangulated.Slicing.IntervalCat C s a b)] {X : CategoryTheory.Triangulated.Slicing.IntervalCat C s a b} (A : CategoryTheory.Subobject X) : CategoryTheory.Triangulated.wPhaseOf (W (CategoryTheory.Triangulated.cl C v (CategoryTheory.Limits.cokernel (A.ofLE )).obj)) α = CategoryTheory.Triangulated.wPhaseOf (W (CategoryTheory.Triangulated.cl C v (CategoryTheory.Limits.cokernel A.arrow).obj)) α
CategoryTheory.Triangulated.wPhaseOf_cokernel_ofLE_top_eq.{v, u, u'} (C : Type u) [CategoryTheory.Category.{v, u} C] [CategoryTheory.Limits.HasZeroObject C] [CategoryTheory.HasShift C ] [CategoryTheory.Preadditive C] [ (n : ), (CategoryTheory.shiftFunctor C n).Additive] [CategoryTheory.Pretriangulated C] {Λ : Type u'} [AddCommGroup Λ] {v : CategoryTheory.Triangulated.K₀ C →+ Λ} {s : CategoryTheory.Triangulated.Slicing C} {a b α : } (W : Λ →+ ) [CategoryTheory.Limits.HasCokernels (CategoryTheory.Triangulated.Slicing.IntervalCat C s a b)] {X : CategoryTheory.Triangulated.Slicing.IntervalCat C s a b} (A : CategoryTheory.Subobject X) : CategoryTheory.Triangulated.wPhaseOf (W (CategoryTheory.Triangulated.cl C v (CategoryTheory.Limits.cokernel (A.ofLE )).obj)) α = CategoryTheory.Triangulated.wPhaseOf (W (CategoryTheory.Triangulated.cl C v (CategoryTheory.Limits.cokernel A.arrow).obj)) α

Something wrong, better idea? Suggest a change

14.13.17. wPhaseOf_cokernel_kernelSubobject_eq🔗

The W-phase of the cokernel of a kernel subobject equals the W-phase of the original quotient target: \psi(\operatorname{coker}(\ker(q))) = \psi(B) when q : X \twoheadrightarrow B is a strict epi.

Proof: The cokernel of \ker(q) is isomorphic to B via the canonical comparison. Transport the W-phase through this isomorphism using cl_iso.

🔗theorem
CategoryTheory.Triangulated.wPhaseOf_cokernel_kernelSubobject_eq.{v, u, u'} (C : Type u) [CategoryTheory.Category.{v, u} C] [CategoryTheory.Limits.HasZeroObject C] [CategoryTheory.HasShift C ] [CategoryTheory.Preadditive C] [ (n : ), (CategoryTheory.shiftFunctor C n).Additive] [CategoryTheory.Pretriangulated C] {Λ : Type u'} [AddCommGroup Λ] {v : CategoryTheory.Triangulated.K₀ C →+ Λ} [CategoryTheory.IsTriangulated C] {s : CategoryTheory.Triangulated.Slicing C} {a b : } [Fact (a < b)] [Fact (b - a 1)] {ssf : CategoryTheory.Triangulated.SkewedStabilityFunction C v s a b} {E B : CategoryTheory.Triangulated.Slicing.IntervalCat C s a b} (q : E B) (hq : CategoryTheory.IsStrictEpi q) : ssf.wPhase (CategoryTheory.Limits.cokernel (CategoryTheory.Limits.kernelSubobject q).arrow).obj = ssf.wPhase B.obj
CategoryTheory.Triangulated.wPhaseOf_cokernel_kernelSubobject_eq.{v, u, u'} (C : Type u) [CategoryTheory.Category.{v, u} C] [CategoryTheory.Limits.HasZeroObject C] [CategoryTheory.HasShift C ] [CategoryTheory.Preadditive C] [ (n : ), (CategoryTheory.shiftFunctor C n).Additive] [CategoryTheory.Pretriangulated C] {Λ : Type u'} [AddCommGroup Λ] {v : CategoryTheory.Triangulated.K₀ C →+ Λ} [CategoryTheory.IsTriangulated C] {s : CategoryTheory.Triangulated.Slicing C} {a b : } [Fact (a < b)] [Fact (b - a 1)] {ssf : CategoryTheory.Triangulated.SkewedStabilityFunction C v s a b} {E B : CategoryTheory.Triangulated.Slicing.IntervalCat C s a b} (q : E B) (hq : CategoryTheory.IsStrictEpi q) : ssf.wPhase (CategoryTheory.Limits.cokernel (CategoryTheory.Limits.kernelSubobject q).arrow).obj = ssf.wPhase B.obj

Something wrong, better idea? Suggest a change