BridgelandStability Comparator Manual

1. Overview🔗

comparator

Repository: https://github.com/mattrobball/BridgelandStability

Trusted base: open trusted_base.lean in the Lean 4 Web Editor

This manual presents the comparator view of the formalization. It was generated mechanically from the trusted formalization base walk rooted at the comparator target theorem in BridgelandStability.NumericalStabilityManifold. The formalization covers 57 declarations across 10 modules.

1.1. CategoryTheory.Triangulated.HNFiltration.exists_nonzero_first🔗

Theorem | BridgelandStability.Slicing.Defs | Source | Open Issue

/-- For any nonzero object, there exists an HN filtration with nonzero first factor. Proved by repeatedly dropping zero first factors; terminates since `n` decreases and some factor must be nonzero (by `exists_nonzero_factor`). -/ lemma HNFiltration.exists_nonzero_first (s : Slicing C) {E : C} (hE : ¬IsZero E) : (F : HNFiltration C s.P E) (hn : 0 < F.n), ¬IsZero (F.triangle 0, hn).obj₃
Show proof:= C:Type uinst✝⁵:Category.{v, u} Cinst✝⁴:HasZeroObject Cinst✝³:HasShift C inst✝²:Preadditive Cinst✝¹: (n : ), (shiftFunctor C n).Additiveinst✝:Pretriangulated Cs:Slicing CE:ChE:¬IsZero E F, (hn : 0 < F.n), ¬IsZero (F.triangle 0, hn).obj₃ C:Type uinst✝⁵:Category.{v, u} Cinst✝⁴:HasZeroObject Cinst✝³:HasShift C inst✝²:Preadditive Cinst✝¹: (n : ), (shiftFunctor C n).Additiveinst✝:Pretriangulated Cs:Slicing CE:ChE:¬IsZero EF:HNFiltration C s.P E F, (hn : 0 < F.n), ¬IsZero (F.triangle 0, hn).obj₃ C:Type uinst✝⁵:Category.{v, u} Cinst✝⁴:HasZeroObject Cinst✝³:HasShift C inst✝²:Preadditive Cinst✝¹: (n : ), (shiftFunctor C n).Additiveinst✝:Pretriangulated Cs:Slicing CE:ChE:¬IsZero EF:HNFiltration C s.P E (m : ) (G : HNFiltration C s.P E), G.n m H, (hn : 0 < H.n), ¬IsZero (H.triangle 0, hn).obj₃ C:Type uinst✝⁵:Category.{v, u} Cinst✝⁴:HasZeroObject Cinst✝³:HasShift C inst✝²:Preadditive Cinst✝¹: (n : ), (shiftFunctor C n).Additiveinst✝:Pretriangulated Cs:Slicing CE:ChE:¬IsZero EF:HNFiltration C s.P Em: (G : HNFiltration C s.P E), G.n m H, (hn : 0 < H.n), ¬IsZero (H.triangle 0, hn).obj₃ induction m with C:Type uinst✝⁵:Category.{v, u} Cinst✝⁴:HasZeroObject Cinst✝³:HasShift C inst✝²:Preadditive Cinst✝¹: (n : ), (shiftFunctor C n).Additiveinst✝:Pretriangulated Cs:Slicing CE:ChE:¬IsZero EF:HNFiltration C s.P E (G : HNFiltration C s.P E), G.n 0 H, (hn : 0 < H.n), ¬IsZero (H.triangle 0, hn).obj₃ C:Type uinst✝⁵:Category.{v, u} Cinst✝⁴:HasZeroObject Cinst✝³:HasShift C inst✝²:Preadditive Cinst✝¹: (n : ), (shiftFunctor C n).Additiveinst✝:Pretriangulated Cs:Slicing CE:ChE:¬IsZero EF:HNFiltration C s.P EG:HNFiltration C s.P EhGn:G.n 0 F, (hn : 0 < F.n), ¬IsZero (F.triangle 0, hn).obj₃ exact absurd (G.zero_isZero (C:Type uinst✝⁵:Category.{v, u} Cinst✝⁴:HasZeroObject Cinst✝³:HasShift C inst✝²:Preadditive Cinst✝¹: (n : ), (shiftFunctor C n).Additiveinst✝:Pretriangulated Cs:Slicing CE:ChE:¬IsZero EF:HNFiltration C s.P EG:HNFiltration C s.P EhGn:G.n 0G.n = 0 All goals completed! 🐙)) hE C:Type uinst✝⁵:Category.{v, u} Cinst✝⁴:HasZeroObject Cinst✝³:HasShift C inst✝²:Preadditive Cinst✝¹: (n : ), (shiftFunctor C n).Additiveinst✝:Pretriangulated Cs:Slicing CE:ChE:¬IsZero EF:HNFiltration C s.P Em:ih: (G : HNFiltration C s.P E), G.n m H, (hn : 0 < H.n), ¬IsZero (H.triangle 0, hn).obj₃ (G : HNFiltration C s.P E), G.n m + 1 H, (hn : 0 < H.n), ¬IsZero (H.triangle 0, hn).obj₃ C:Type uinst✝⁵:Category.{v, u} Cinst✝⁴:HasZeroObject Cinst✝³:HasShift C inst✝²:Preadditive Cinst✝¹: (n : ), (shiftFunctor C n).Additiveinst✝:Pretriangulated Cs:Slicing CE:ChE:¬IsZero EF:HNFiltration C s.P Em:ih: (G : HNFiltration C s.P E), G.n m H, (hn : 0 < H.n), ¬IsZero (H.triangle 0, hn).obj₃G:HNFiltration C s.P EhGn:G.n m + 1 F, (hn : 0 < F.n), ¬IsZero (F.triangle 0, hn).obj₃ C:Type uinst✝⁵:Category.{v, u} Cinst✝⁴:HasZeroObject Cinst✝³:HasShift C inst✝²:Preadditive Cinst✝¹: (n : ), (shiftFunctor C n).Additiveinst✝:Pretriangulated Cs:Slicing CE:ChE:¬IsZero EF:HNFiltration C s.P Em:ih: (G : HNFiltration C s.P E), G.n m H, (hn : 0 < H.n), ¬IsZero (H.triangle 0, hn).obj₃G:HNFiltration C s.P EhGn:G.n m + 1hGn0:0 < G.n H, (hn : 0 < H.n), ¬IsZero (H.triangle 0, hn).obj₃ C:Type uinst✝⁵:Category.{v, u} Cinst✝⁴:HasZeroObject Cinst✝³:HasShift C inst✝²:Preadditive Cinst✝¹: (n : ), (shiftFunctor C n).Additiveinst✝:Pretriangulated Cs:Slicing CE:ChE:¬IsZero EF:HNFiltration C s.P Em:ih: (G : HNFiltration C s.P E), G.n m H, (hn : 0 < H.n), ¬IsZero (H.triangle 0, hn).obj₃G:HNFiltration C s.P EhGn:G.n m + 1hGn0:0 < G.nhfirst:IsZero (G.triangle 0, hGn0).obj₃ H, (hn : 0 < H.n), ¬IsZero (H.triangle 0, hn).obj₃C:Type uinst✝⁵:Category.{v, u} Cinst✝⁴:HasZeroObject Cinst✝³:HasShift C inst✝²:Preadditive Cinst✝¹: (n : ), (shiftFunctor C n).Additiveinst✝:Pretriangulated Cs:Slicing CE:ChE:¬IsZero EF:HNFiltration C s.P Em:ih: (G : HNFiltration C s.P E), G.n m H, (hn : 0 < H.n), ¬IsZero (H.triangle 0, hn).obj₃G:HNFiltration C s.P EhGn:G.n m + 1hGn0:0 < G.nhfirst:¬IsZero (G.triangle 0, hGn0).obj₃ H, (hn : 0 < H.n), ¬IsZero (H.triangle 0, hn).obj₃ C:Type uinst✝⁵:Category.{v, u} Cinst✝⁴:HasZeroObject Cinst✝³:HasShift C inst✝²:Preadditive Cinst✝¹: (n : ), (shiftFunctor C n).Additiveinst✝:Pretriangulated Cs:Slicing CE:ChE:¬IsZero EF:HNFiltration C s.P Em:ih: (G : HNFiltration C s.P E), G.n m H, (hn : 0 < H.n), ¬IsZero (H.triangle 0, hn).obj₃G:HNFiltration C s.P EhGn:G.n m + 1hGn0:0 < G.nhfirst:IsZero (G.triangle 0, hGn0).obj₃ H, (hn : 0 < H.n), ¬IsZero (H.triangle 0, hn).obj₃ -- First factor is zero; drop it and recurse C:Type uinst✝⁵:Category.{v, u} Cinst✝⁴:HasZeroObject Cinst✝³:HasShift C inst✝²:Preadditive Cinst✝¹: (n : ), (shiftFunctor C n).Additiveinst✝:Pretriangulated Cs:Slicing CE:ChE:¬IsZero EF:HNFiltration C s.P Em:ih: (G : HNFiltration C s.P E), G.n m H, (hn : 0 < H.n), ¬IsZero (H.triangle 0, hn).obj₃G:HNFiltration C s.P EhGn:G.n m + 1hGn0:0 < G.nhfirst:IsZero (G.triangle 0, hGn0).obj₃hn1:1 < G.n H, (hn : 0 < H.n), ¬IsZero (H.triangle 0, hn).obj₃ C:Type uinst✝⁵:Category.{v, u} Cinst✝⁴:HasZeroObject Cinst✝³:HasShift C inst✝²:Preadditive Cinst✝¹: (n : ), (shiftFunctor C n).Additiveinst✝:Pretriangulated Cs:Slicing CE:ChE:¬IsZero EF:HNFiltration C s.P Em:ih: (G : HNFiltration C s.P E), G.n m H, (hn : 0 < H.n), ¬IsZero (H.triangle 0, hn).obj₃G:HNFiltration C s.P EhGn:G.n m + 1hGn0:0 < G.nhfirst:IsZero (G.triangle 0, hGn0).obj₃hn1:1 < G.nhdrop:(dropFirst C G hn1 hfirst).n m H, (hn : 0 < H.n), ¬IsZero (H.triangle 0, hn).obj₃ All goals completed! 🐙 C:Type uinst✝⁵:Category.{v, u} Cinst✝⁴:HasZeroObject Cinst✝³:HasShift C inst✝²:Preadditive Cinst✝¹: (n : ), (shiftFunctor C n).Additiveinst✝:Pretriangulated Cs:Slicing CE:ChE:¬IsZero EF:HNFiltration C s.P Em:ih: (G : HNFiltration C s.P E), G.n m H, (hn : 0 < H.n), ¬IsZero (H.triangle 0, hn).obj₃G:HNFiltration C s.P EhGn:G.n m + 1hGn0:0 < G.nhfirst:¬IsZero (G.triangle 0, hGn0).obj₃ H, (hn : 0 < H.n), ¬IsZero (H.triangle 0, hn).obj₃ All goals completed! 🐙

1.2. CategoryTheory.Triangulated.HNFiltration.exists_nonzero_last🔗

Theorem | BridgelandStability.Slicing.Defs | Source | Open Issue

/-- For any nonzero object, there exists an HN filtration with nonzero last factor. Proved by repeatedly dropping zero last factors. -/ lemma HNFiltration.exists_nonzero_last (s : Slicing C) {E : C} (hE : ¬IsZero E) : (F : HNFiltration C s.P E) (hn : 0 < F.n), ¬IsZero (F.triangle F.n - 1, C:Type uinst✝⁵:Category.{v, u} Cinst✝⁴:HasZeroObject Cinst✝³:HasShift C inst✝²:Preadditive Cinst✝¹: (n : ), (shiftFunctor C n).Additiveinst✝:Pretriangulated Cs:Slicing CE:ChE:¬IsZero EF:HNFiltration C s.P Ehn:0 < F.nF.n - 1 < F.n All goals completed! 🐙).obj₃
Show proof:= C:Type uinst✝⁵:Category.{v, u} Cinst✝⁴:HasZeroObject Cinst✝³:HasShift C inst✝²:Preadditive Cinst✝¹: (n : ), (shiftFunctor C n).Additiveinst✝:Pretriangulated Cs:Slicing CE:ChE:¬IsZero E F, (hn : 0 < F.n), ¬IsZero (F.triangle F.n - 1, ).obj₃ C:Type uinst✝⁵:Category.{v, u} Cinst✝⁴:HasZeroObject Cinst✝³:HasShift C inst✝²:Preadditive Cinst✝¹: (n : ), (shiftFunctor C n).Additiveinst✝:Pretriangulated Cs:Slicing CE:ChE:¬IsZero EF:HNFiltration C s.P E F, (hn : 0 < F.n), ¬IsZero (F.triangle F.n - 1, ).obj₃ C:Type uinst✝⁵:Category.{v, u} Cinst✝⁴:HasZeroObject Cinst✝³:HasShift C inst✝²:Preadditive Cinst✝¹: (n : ), (shiftFunctor C n).Additiveinst✝:Pretriangulated Cs:Slicing CE:ChE:¬IsZero EF:HNFiltration C s.P E (m : ) (G : HNFiltration C s.P E), G.n m H, (hn : 0 < H.n), ¬IsZero (H.triangle H.n - 1, ).obj₃ C:Type uinst✝⁵:Category.{v, u} Cinst✝⁴:HasZeroObject Cinst✝³:HasShift C inst✝²:Preadditive Cinst✝¹: (n : ), (shiftFunctor C n).Additiveinst✝:Pretriangulated Cs:Slicing CE:ChE:¬IsZero EF:HNFiltration C s.P Em: (G : HNFiltration C s.P E), G.n m H, (hn : 0 < H.n), ¬IsZero (H.triangle H.n - 1, ).obj₃ induction m with C:Type uinst✝⁵:Category.{v, u} Cinst✝⁴:HasZeroObject Cinst✝³:HasShift C inst✝²:Preadditive Cinst✝¹: (n : ), (shiftFunctor C n).Additiveinst✝:Pretriangulated Cs:Slicing CE:ChE:¬IsZero EF:HNFiltration C s.P E (G : HNFiltration C s.P E), G.n 0 H, (hn : 0 < H.n), ¬IsZero (H.triangle H.n - 1, ).obj₃ C:Type uinst✝⁵:Category.{v, u} Cinst✝⁴:HasZeroObject Cinst✝³:HasShift C inst✝²:Preadditive Cinst✝¹: (n : ), (shiftFunctor C n).Additiveinst✝:Pretriangulated Cs:Slicing CE:ChE:¬IsZero EF:HNFiltration C s.P EG:HNFiltration C s.P EhGn:G.n 0 F, (hn : 0 < F.n), ¬IsZero (F.triangle F.n - 1, ).obj₃ exact absurd (G.zero_isZero (C:Type uinst✝⁵:Category.{v, u} Cinst✝⁴:HasZeroObject Cinst✝³:HasShift C inst✝²:Preadditive Cinst✝¹: (n : ), (shiftFunctor C n).Additiveinst✝:Pretriangulated Cs:Slicing CE:ChE:¬IsZero EF:HNFiltration C s.P EG:HNFiltration C s.P EhGn:G.n 0G.n = 0 All goals completed! 🐙)) hE C:Type uinst✝⁵:Category.{v, u} Cinst✝⁴:HasZeroObject Cinst✝³:HasShift C inst✝²:Preadditive Cinst✝¹: (n : ), (shiftFunctor C n).Additiveinst✝:Pretriangulated Cs:Slicing CE:ChE:¬IsZero EF:HNFiltration C s.P Em:ih: (G : HNFiltration C s.P E), G.n m H, (hn : 0 < H.n), ¬IsZero (H.triangle H.n - 1, ).obj₃ (G : HNFiltration C s.P E), G.n m + 1 H, (hn : 0 < H.n), ¬IsZero (H.triangle H.n - 1, ).obj₃ C:Type uinst✝⁵:Category.{v, u} Cinst✝⁴:HasZeroObject Cinst✝³:HasShift C inst✝²:Preadditive Cinst✝¹: (n : ), (shiftFunctor C n).Additiveinst✝:Pretriangulated Cs:Slicing CE:ChE:¬IsZero EF:HNFiltration C s.P Em:ih: (G : HNFiltration C s.P E), G.n m H, (hn : 0 < H.n), ¬IsZero (H.triangle H.n - 1, ).obj₃G:HNFiltration C s.P EhGn:G.n m + 1 F, (hn : 0 < F.n), ¬IsZero (F.triangle F.n - 1, ).obj₃ C:Type uinst✝⁵:Category.{v, u} Cinst✝⁴:HasZeroObject Cinst✝³:HasShift C inst✝²:Preadditive Cinst✝¹: (n : ), (shiftFunctor C n).Additiveinst✝:Pretriangulated Cs:Slicing CE:ChE:¬IsZero EF:HNFiltration C s.P Em:ih: (G : HNFiltration C s.P E), G.n m H, (hn : 0 < H.n), ¬IsZero (H.triangle H.n - 1, ).obj₃G:HNFiltration C s.P EhGn:G.n m + 1hGn0:0 < G.n H, (hn : 0 < H.n), ¬IsZero (H.triangle H.n - 1, ).obj₃ by_cases hlast : IsZero (G.triangle G.n - 1, C:Type uinst✝⁵:Category.{v, u} Cinst✝⁴:HasZeroObject Cinst✝³:HasShift C inst✝²:Preadditive Cinst✝¹: (n : ), (shiftFunctor C n).Additiveinst✝:Pretriangulated Cs:Slicing CE:ChE:¬IsZero EF:HNFiltration C s.P Em:ih: (G : HNFiltration C s.P E), G.n m H, (hn : 0 < H.n), ¬IsZero (H.triangle H.n - 1, ).obj₃G:HNFiltration C s.P EhGn:G.n m + 1hGn0:0 < G.nG.n - 1 < G.n All goals completed! 🐙).obj₃ C:Type uinst✝⁵:Category.{v, u} Cinst✝⁴:HasZeroObject Cinst✝³:HasShift C inst✝²:Preadditive Cinst✝¹: (n : ), (shiftFunctor C n).Additiveinst✝:Pretriangulated Cs:Slicing CE:ChE:¬IsZero EF:HNFiltration C s.P Em:ih: (G : HNFiltration C s.P E), G.n m H, (hn : 0 < H.n), ¬IsZero (H.triangle H.n - 1, ).obj₃G:HNFiltration C s.P EhGn:G.n m + 1hGn0:0 < G.nhlast:IsZero (G.triangle G.n - 1, ).obj₃ H, (hn : 0 < H.n), ¬IsZero (H.triangle H.n - 1, ).obj₃ C:Type uinst✝⁵:Category.{v, u} Cinst✝⁴:HasZeroObject Cinst✝³:HasShift C inst✝²:Preadditive Cinst✝¹: (n : ), (shiftFunctor C n).Additiveinst✝:Pretriangulated Cs:Slicing CE:ChE:¬IsZero EF:HNFiltration C s.P Em:ih: (G : HNFiltration C s.P E), G.n m H, (hn : 0 < H.n), ¬IsZero (H.triangle H.n - 1, ).obj₃G:HNFiltration C s.P EhGn:G.n m + 1hGn0:0 < G.nhlast:IsZero (G.triangle G.n - 1, ).obj₃hn1:1 < G.n H, (hn : 0 < H.n), ¬IsZero (H.triangle H.n - 1, ).obj₃ C:Type uinst✝⁵:Category.{v, u} Cinst✝⁴:HasZeroObject Cinst✝³:HasShift C inst✝²:Preadditive Cinst✝¹: (n : ), (shiftFunctor C n).Additiveinst✝:Pretriangulated Cs:Slicing CE:ChE:¬IsZero EF:HNFiltration C s.P Em:ih: (G : HNFiltration C s.P E), G.n m H, (hn : 0 < H.n), ¬IsZero (H.triangle H.n - 1, ).obj₃G:HNFiltration C s.P EhGn:G.n m + 1hGn0:0 < G.nhlast:IsZero (G.triangle G.n - 1, ).obj₃hn1:1 < G.nhdrop:(dropLast C G hn1 hlast).n m H, (hn : 0 < H.n), ¬IsZero (H.triangle H.n - 1, ).obj₃ All goals completed! 🐙 C:Type uinst✝⁵:Category.{v, u} Cinst✝⁴:HasZeroObject Cinst✝³:HasShift C inst✝²:Preadditive Cinst✝¹: (n : ), (shiftFunctor C n).Additiveinst✝:Pretriangulated Cs:Slicing CE:ChE:¬IsZero EF:HNFiltration C s.P Em:ih: (G : HNFiltration C s.P E), G.n m H, (hn : 0 < H.n), ¬IsZero (H.triangle H.n - 1, ).obj₃G:HNFiltration C s.P EhGn:G.n m + 1hGn0:0 < G.nhlast:¬IsZero (G.triangle G.n - 1, ).obj₃ H, (hn : 0 < H.n), ¬IsZero (H.triangle H.n - 1, ).obj₃ All goals completed! 🐙

1.3. CategoryTheory.Triangulated.trianglePresentation_isAdditive🔗

Theorem | BridgelandStability.GrothendieckGroup.Basic | Source | Open Issue

@[instance] theorem trianglePresentation_isAdditive {A : Type*} [AddCommGroup A] (f : C A) [IsTriangleAdditive f] : (trianglePresentation C).IsAdditive f
Show proofwhere additive := fun T, hT => IsTriangleAdditive.additive T hT

1.4. CategoryTheory.Triangulated.Slicing.intervalCat_hasKernels🔗

Theorem | BridgelandStability.IntervalCategory.QuasiAbelian | Source | Open Issue

@[instance] theorem Slicing.intervalCat_hasKernels (s : Slicing C) : HasKernels (s.IntervalCat C a b)
Show proof:= fun {X Y} f Slicing.intervalCat_hasKernel (C := C) (s := s) (a := a) (b := b) (X := X) (Y := Y) f

1.5. CategoryTheory.Triangulated.Slicing.intervalCat_hasCokernels🔗

Theorem | BridgelandStability.IntervalCategory.QuasiAbelian | Source | Open Issue

@[instance] theorem Slicing.intervalCat_hasCokernels (s : Slicing C) : HasCokernels (s.IntervalCat C a b)
Show proof:= fun {X Y} f Slicing.intervalCat_hasCokernel (C := C) (s := s) (a := a) (b := b) (X := X) (Y := Y) f

1.6. CategoryTheory.Triangulated.eulerFormObj_contravariant_triangleAdditive🔗

Theorem | BridgelandStability.EulerForm.Basic | Source | Open Issue

theorem eulerFormObj_contravariant_triangleAdditive (E : C) : IsTriangleAdditive (fun F eulerFormObj k C E F)
Show proofwhere additive := fun T hT k:Type winst✝⁸:Field kC:Type uinst✝⁷:Category.{v, u} Cinst✝⁶:HasZeroObject Cinst✝⁵:HasShift C inst✝⁴:Preadditive Cinst✝³: (n : ), (shiftFunctor C n).Additiveinst✝²:Pretriangulated Cinst✝¹:Linear k Cinst✝:IsFiniteType k CE:CT:Triangle ChT:T distinguishedTriangleseulerFormObj k C E T.obj₂ = eulerFormObj k C E T.obj₁ + eulerFormObj k C E T.obj₃ k:Type winst✝⁸:Field kC:Type uinst✝⁷:Category.{v, u} Cinst✝⁶:HasZeroObject Cinst✝⁵:HasShift C inst✝⁴:Preadditive Cinst✝³: (n : ), (shiftFunctor C n).Additiveinst✝²:Pretriangulated Cinst✝¹:Linear k Cinst✝:IsFiniteType k CE:CT:Triangle ChT:T distinguishedTriangles∑ᶠ (n : ), n.negOnePow * (Module.finrank k (E (shiftFunctor C n).obj T.obj₂)) = ∑ᶠ (n : ), n.negOnePow * (Module.finrank k (E (shiftFunctor C n).obj T.obj₁)) + ∑ᶠ (n : ), n.negOnePow * (Module.finrank k (E (shiftFunctor C n).obj T.obj₃)) k:Type winst✝⁸:Field kC:Type uinst✝⁷:Category.{v, u} Cinst✝⁶:HasZeroObject Cinst✝⁵:HasShift C inst✝⁴:Preadditive Cinst✝³: (n : ), (shiftFunctor C n).Additiveinst✝²:Pretriangulated Cinst✝¹:Linear k Cinst✝:IsFiniteType k CE:CT:Triangle ChT:T distinguishedTrianglesF:C ModuleCat k := (linearCoyoneda k C).obj (Opposite.op E)∑ᶠ (n : ), n.negOnePow * (Module.finrank k (E (shiftFunctor C n).obj T.obj₂)) = ∑ᶠ (n : ), n.negOnePow * (Module.finrank k (E (shiftFunctor C n).obj T.obj₁)) + ∑ᶠ (n : ), n.negOnePow * (Module.finrank k (E (shiftFunctor C n).obj T.obj₃)) Try this: letI̵ The goal is a proposition, so `let` is preferred over `letI`. The difference between `let` and `letI` is that `letI` inlines the value. But this is not relevant for proofs because of proof irrelevance. Note: This linter can be disabled with `set_option linter.style.haveILetI false`k:Type winst✝⁸:Field kC:Type uinst✝⁷:Category.{v, u} Cinst✝⁶:HasZeroObject Cinst✝⁵:HasShift C inst✝⁴:Preadditive Cinst✝³: (n : ), (shiftFunctor C n).Additiveinst✝²:Pretriangulated Cinst✝¹:Linear k Cinst✝:IsFiniteType k CE:CT:Triangle ChT:T distinguishedTrianglesF:C ModuleCat k := (linearCoyoneda k C).obj (Opposite.op E)this:F.ShiftSequence := Functor.ShiftSequence.tautological F ∑ᶠ (n : ), n.negOnePow * (Module.finrank k (E (shiftFunctor C n).obj T.obj₂)) = ∑ᶠ (n : ), n.negOnePow * (Module.finrank k (E (shiftFunctor C n).obj T.obj₁)) + ∑ᶠ (n : ), n.negOnePow * (Module.finrank k (E (shiftFunctor C n).obj T.obj₃)) Try this: letI̵ The goal is a proposition, so `let` is preferred over `letI`. The difference between `let` and `letI` is that `letI` inlines the value. But this is not relevant for proofs because of proof irrelevance. Note: This linter can be disabled with `set_option linter.style.haveILetI false`k:Type winst✝⁸:Field kC:Type uinst✝⁷:Category.{v, u} Cinst✝⁶:HasZeroObject Cinst✝⁵:HasShift C inst✝⁴:Preadditive Cinst✝³: (n : ), (shiftFunctor C n).Additiveinst✝²:Pretriangulated Cinst✝¹:Linear k Cinst✝:IsFiniteType k CE:CT:Triangle ChT:T distinguishedTrianglesF:C ModuleCat k := (linearCoyoneda k C).obj (Opposite.op E)this✝:F.ShiftSequence := Functor.ShiftSequence.tautological F this:F.IsHomological := ···∑ᶠ (n : ), n.negOnePow * (Module.finrank k (E (shiftFunctor C n).obj T.obj₂)) = ∑ᶠ (n : ), n.negOnePow * (Module.finrank k (E (shiftFunctor C n).obj T.obj₁)) + ∑ᶠ (n : ), n.negOnePow * (Module.finrank k (E (shiftFunctor C n).obj T.obj₃)) k:Type winst✝⁸:Field kC:Type uinst✝⁷:Category.{v, u} Cinst✝⁶:HasZeroObject Cinst✝⁵:HasShift C inst✝⁴:Preadditive Cinst✝³: (n : ), (shiftFunctor C n).Additiveinst✝²:Pretriangulated Cinst✝¹:Linear k Cinst✝:IsFiniteType k CE:CT:Triangle ChT:T distinguishedTrianglesF:C ModuleCat k := (linearCoyoneda k C).obj (Opposite.op E)this✝:F.ShiftSequence := Functor.ShiftSequence.tautological F this:F.IsHomological := ···δ_lin:(n : ) (E (shiftFunctor C n).obj T.obj₃) →ₗ[k] E (shiftFunctor C (n + 1)).obj T.obj₁ := fun n => Linear.rightComp k E ((shiftFunctor C n).map T.mor₃ (shiftFunctorAdd' C 1 n (n + 1) ).inv.app T.obj₁)∑ᶠ (n : ), n.negOnePow * (Module.finrank k (E (shiftFunctor C n).obj T.obj₂)) = ∑ᶠ (n : ), n.negOnePow * (Module.finrank k (E (shiftFunctor C n).obj T.obj₁)) + ∑ᶠ (n : ), n.negOnePow * (Module.finrank k (E (shiftFunctor C n).obj T.obj₃)) k:Type winst✝⁸:Field kC:Type uinst✝⁷:Category.{v, u} Cinst✝⁶:HasZeroObject Cinst✝⁵:HasShift C inst✝⁴:Preadditive Cinst✝³: (n : ), (shiftFunctor C n).Additiveinst✝²:Pretriangulated Cinst✝¹:Linear k Cinst✝:IsFiniteType k CE:CT:Triangle ChT:T distinguishedTrianglesF:C ModuleCat k := (linearCoyoneda k C).obj (Opposite.op E)this✝:F.ShiftSequence := Functor.ShiftSequence.tautological F this:F.IsHomological := ···δ_lin:(n : ) (E (shiftFunctor C n).obj T.obj₃) →ₗ[k] E (shiftFunctor C (n + 1)).obj T.obj₁ := fun n => Linear.rightComp k E ((shiftFunctor C n).map T.mor₃ (shiftFunctorAdd' C 1 n (n + 1) ).inv.app T.obj₁)r: := fun n => (Module.finrank k (δ_lin n).range)∑ᶠ (n : ), n.negOnePow * (Module.finrank k (E (shiftFunctor C n).obj T.obj₂)) = ∑ᶠ (n : ), n.negOnePow * (Module.finrank k (E (shiftFunctor C n).obj T.obj₁)) + ∑ᶠ (n : ), n.negOnePow * (Module.finrank k (E (shiftFunctor C n).obj T.obj₃)) k:Type winst✝⁸:Field kC:Type uinst✝⁷:Category.{v, u} Cinst✝⁶:HasZeroObject Cinst✝⁵:HasShift C inst✝⁴:Preadditive Cinst✝³: (n : ), (shiftFunctor C n).Additiveinst✝²:Pretriangulated Cinst✝¹:Linear k Cinst✝:IsFiniteType k CE:CT:Triangle ChT:T distinguishedTrianglesF:C ModuleCat k := (linearCoyoneda k C).obj (Opposite.op E)this✝:F.ShiftSequence := Functor.ShiftSequence.tautological F this:F.IsHomological := ···δ_lin:(n : ) (E (shiftFunctor C n).obj T.obj₃) →ₗ[k] E (shiftFunctor C (n + 1)).obj T.obj₁ := fun n => Linear.rightComp k E ((shiftFunctor C n).map T.mor₃ (shiftFunctorAdd' C 1 n (n + 1) ).inv.app T.obj₁)r: := fun n => (Module.finrank k (δ_lin n).range)hδ_eq: (n : ), ModuleCat.Hom.hom (F.homologySequenceδ T n (n + 1) ) = δ_lin n∑ᶠ (n : ), n.negOnePow * (Module.finrank k (E (shiftFunctor C n).obj T.obj₂)) = ∑ᶠ (n : ), n.negOnePow * (Module.finrank k (E (shiftFunctor C n).obj T.obj₁)) + ∑ᶠ (n : ), n.negOnePow * (Module.finrank k (E (shiftFunctor C n).obj T.obj₃)) k:Type winst✝⁸:Field kC:Type uinst✝⁷:Category.{v, u} Cinst✝⁶:HasZeroObject Cinst✝⁵:HasShift C inst✝⁴:Preadditive Cinst✝³: (n : ), (shiftFunctor C n).Additiveinst✝²:Pretriangulated Cinst✝¹:Linear k Cinst✝:IsFiniteType k CE:CT:Triangle ChT:T distinguishedTrianglesF:C ModuleCat k := (linearCoyoneda k C).obj (Opposite.op E)this✝:F.ShiftSequence := Functor.ShiftSequence.tautological F this:F.IsHomological := ···δ_lin:(n : ) (E (shiftFunctor C n).obj T.obj₃) →ₗ[k] E (shiftFunctor C (n + 1)).obj T.obj₁ := fun n => Linear.rightComp k E ((shiftFunctor C n).map T.mor₃ (shiftFunctorAdd' C 1 n (n + 1) ).inv.app T.obj₁)r: := fun n => (Module.finrank k (δ_lin n).range)hδ_eq: (n : ), ModuleCat.Hom.hom (F.homologySequenceδ T n (n + 1) ) = δ_lin nh_ker_f_aux: (m : ), (Module.finrank k (ModuleCat.Hom.hom ((F.shift (m + 1)).map T.mor₁)).ker) = r m∑ᶠ (n : ), n.negOnePow * (Module.finrank k (E (shiftFunctor C n).obj T.obj₂)) = ∑ᶠ (n : ), n.negOnePow * (Module.finrank k (E (shiftFunctor C n).obj T.obj₁)) + ∑ᶠ (n : ), n.negOnePow * (Module.finrank k (E (shiftFunctor C n).obj T.obj₃)) k:Type winst✝⁸:Field kC:Type uinst✝⁷:Category.{v, u} Cinst✝⁶:HasZeroObject Cinst✝⁵:HasShift C inst✝⁴:Preadditive Cinst✝³: (n : ), (shiftFunctor C n).Additiveinst✝²:Pretriangulated Cinst✝¹:Linear k Cinst✝:IsFiniteType k CE:CT:Triangle ChT:T distinguishedTrianglesF:C ModuleCat k := (linearCoyoneda k C).obj (Opposite.op E)this✝:F.ShiftSequence := Functor.ShiftSequence.tautological F this:F.IsHomological := ···δ_lin:(n : ) (E (shiftFunctor C n).obj T.obj₃) →ₗ[k] E (shiftFunctor C (n + 1)).obj T.obj₁ := fun n => Linear.rightComp k E ((shiftFunctor C n).map T.mor₃ (shiftFunctorAdd' C 1 n (n + 1) ).inv.app T.obj₁)r: := fun n => (Module.finrank k (δ_lin n).range)hδ_eq: (n : ), ModuleCat.Hom.hom (F.homologySequenceδ T n (n + 1) ) = δ_lin nh_ker_f_aux: (m : ), (Module.finrank k (ModuleCat.Hom.hom ((F.shift (m + 1)).map T.mor₁)).ker) = r mhrank: (n : ), (Module.finrank k (E (shiftFunctor C n).obj T.obj₂)) = (Module.finrank k (E (shiftFunctor C n).obj T.obj₁)) + (Module.finrank k (E (shiftFunctor C n).obj T.obj₃)) - r (n - 1) - r n∑ᶠ (n : ), n.negOnePow * (Module.finrank k (E (shiftFunctor C n).obj T.obj₂)) = ∑ᶠ (n : ), n.negOnePow * (Module.finrank k (E (shiftFunctor C n).obj T.obj₁)) + ∑ᶠ (n : ), n.negOnePow * (Module.finrank k (E (shiftFunctor C n).obj T.obj₃)) k:Type winst✝⁸:Field kC:Type uinst✝⁷:Category.{v, u} Cinst✝⁶:HasZeroObject Cinst✝⁵:HasShift C inst✝⁴:Preadditive Cinst✝³: (n : ), (shiftFunctor C n).Additiveinst✝²:Pretriangulated Cinst✝¹:Linear k Cinst✝:IsFiniteType k CE:CT:Triangle ChT:T distinguishedTrianglesF:C ModuleCat k := (linearCoyoneda k C).obj (Opposite.op E)this✝:F.ShiftSequence := Functor.ShiftSequence.tautological F this:F.IsHomological := ···δ_lin:(n : ) (E (shiftFunctor C n).obj T.obj₃) →ₗ[k] E (shiftFunctor C (n + 1)).obj T.obj₁ := fun n => Linear.rightComp k E ((shiftFunctor C n).map T.mor₃ (shiftFunctorAdd' C 1 n (n + 1) ).inv.app T.obj₁)r: := fun n => (Module.finrank k (δ_lin n).range)hδ_eq: (n : ), ModuleCat.Hom.hom (F.homologySequenceδ T n (n + 1) ) = δ_lin nh_ker_f_aux: (m : ), (Module.finrank k (ModuleCat.Hom.hom ((F.shift (m + 1)).map T.mor₁)).ker) = r mhrank: (n : ), (Module.finrank k (E (shiftFunctor C n).obj T.obj₂)) = (Module.finrank k (E (shiftFunctor C n).obj T.obj₁)) + (Module.finrank k (E (shiftFunctor C n).obj T.obj₃)) - r (n - 1) - r nhr:(Function.support r).Finite∑ᶠ (n : ), n.negOnePow * (Module.finrank k (E (shiftFunctor C n).obj T.obj₂)) = ∑ᶠ (n : ), n.negOnePow * (Module.finrank k (E (shiftFunctor C n).obj T.obj₁)) + ∑ᶠ (n : ), n.negOnePow * (Module.finrank k (E (shiftFunctor C n).obj T.obj₃)) exact eulerSum_of_rank_identity (k := k) (C := C) E (a := fun n T.obj₁n) (b := fun n T.obj₂n) (c := fun n T.obj₃n) (r := r) hrank (k:Type winst✝⁸:Field kC:Type uinst✝⁷:Category.{v, u} Cinst✝⁶:HasZeroObject Cinst✝⁵:HasShift C inst✝⁴:Preadditive Cinst✝³: (n : ), (shiftFunctor C n).Additiveinst✝²:Pretriangulated Cinst✝¹:Linear k Cinst✝:IsFiniteType k CE:CT:Triangle ChT:T distinguishedTrianglesF:C ModuleCat k := (linearCoyoneda k C).obj (Opposite.op E)this✝:F.ShiftSequence := Functor.ShiftSequence.tautological F this:F.IsHomological := ···δ_lin:(n : ) (E (shiftFunctor C n).obj T.obj₃) →ₗ[k] E (shiftFunctor C (n + 1)).obj T.obj₁ := fun n => Linear.rightComp k E ((shiftFunctor C n).map T.mor₃ (shiftFunctorAdd' C 1 n (n + 1) ).inv.app T.obj₁)r: := fun n => (Module.finrank k (δ_lin n).range)hδ_eq: (n : ), ModuleCat.Hom.hom (F.homologySequenceδ T n (n + 1) ) = δ_lin nh_ker_f_aux: (m : ), (Module.finrank k (ModuleCat.Hom.hom ((F.shift (m + 1)).map T.mor₁)).ker) = r mhrank: (n : ), (Module.finrank k (E (shiftFunctor C n).obj T.obj₂)) = (Module.finrank k (E (shiftFunctor C n).obj T.obj₁)) + (Module.finrank k (E (shiftFunctor C n).obj T.obj₃)) - r (n - 1) - r nhr:(Function.support r).Finite{n | Nontrivial (E (shiftFunctor C n).obj T.obj₁)}.Finite All goals completed! 🐙) (k:Type winst✝⁸:Field kC:Type uinst✝⁷:Category.{v, u} Cinst✝⁶:HasZeroObject Cinst✝⁵:HasShift C inst✝⁴:Preadditive Cinst✝³: (n : ), (shiftFunctor C n).Additiveinst✝²:Pretriangulated Cinst✝¹:Linear k Cinst✝:IsFiniteType k CE:CT:Triangle ChT:T distinguishedTrianglesF:C ModuleCat k := (linearCoyoneda k C).obj (Opposite.op E)this✝:F.ShiftSequence := Functor.ShiftSequence.tautological F this:F.IsHomological := ···δ_lin:(n : ) (E (shiftFunctor C n).obj T.obj₃) →ₗ[k] E (shiftFunctor C (n + 1)).obj T.obj₁ := fun n => Linear.rightComp k E ((shiftFunctor C n).map T.mor₃ (shiftFunctorAdd' C 1 n (n + 1) ).inv.app T.obj₁)r: := fun n => (Module.finrank k (δ_lin n).range)hδ_eq: (n : ), ModuleCat.Hom.hom (F.homologySequenceδ T n (n + 1) ) = δ_lin nh_ker_f_aux: (m : ), (Module.finrank k (ModuleCat.Hom.hom ((F.shift (m + 1)).map T.mor₁)).ker) = r mhrank: (n : ), (Module.finrank k (E (shiftFunctor C n).obj T.obj₂)) = (Module.finrank k (E (shiftFunctor C n).obj T.obj₁)) + (Module.finrank k (E (shiftFunctor C n).obj T.obj₃)) - r (n - 1) - r nhr:(Function.support r).Finite{n | Nontrivial (E (shiftFunctor C n).obj T.obj₂)}.Finite All goals completed! 🐙) (k:Type winst✝⁸:Field kC:Type uinst✝⁷:Category.{v, u} Cinst✝⁶:HasZeroObject Cinst✝⁵:HasShift C inst✝⁴:Preadditive Cinst✝³: (n : ), (shiftFunctor C n).Additiveinst✝²:Pretriangulated Cinst✝¹:Linear k Cinst✝:IsFiniteType k CE:CT:Triangle ChT:T distinguishedTrianglesF:C ModuleCat k := (linearCoyoneda k C).obj (Opposite.op E)this✝:F.ShiftSequence := Functor.ShiftSequence.tautological F this:F.IsHomological := ···δ_lin:(n : ) (E (shiftFunctor C n).obj T.obj₃) →ₗ[k] E (shiftFunctor C (n + 1)).obj T.obj₁ := fun n => Linear.rightComp k E ((shiftFunctor C n).map T.mor₃ (shiftFunctorAdd' C 1 n (n + 1) ).inv.app T.obj₁)r: := fun n => (Module.finrank k (δ_lin n).range)hδ_eq: (n : ), ModuleCat.Hom.hom (F.homologySequenceδ T n (n + 1) ) = δ_lin nh_ker_f_aux: (m : ), (Module.finrank k (ModuleCat.Hom.hom ((F.shift (m + 1)).map T.mor₁)).ker) = r mhrank: (n : ), (Module.finrank k (E (shiftFunctor C n).obj T.obj₂)) = (Module.finrank k (E (shiftFunctor C n).obj T.obj₁)) + (Module.finrank k (E (shiftFunctor C n).obj T.obj₃)) - r (n - 1) - r nhr:(Function.support r).Finite{n | Nontrivial (E (shiftFunctor C n).obj T.obj₃)}.Finite All goals completed! 🐙) hr

1.7. CategoryTheory.Triangulated.eulerFormInner_isTriangleAdditive🔗

Theorem | BridgelandStability.EulerForm.Basic | Source | Open Issue

/-- The outer function `E ↦ eulerFormInner E` is triangle-additive, so the Euler form descends to a bilinear form on `K₀`. -/ @[instance] theorem eulerFormInner_isTriangleAdditive [(shiftFunctor C (1 : )).Linear k] : IsTriangleAdditive (eulerFormInner k C)
Show proofwhere additive T hT := k:Type winst✝⁹:Field kC:Type uinst✝⁸:Category.{v, u} Cinst✝⁷:HasZeroObject Cinst✝⁶:HasShift C inst✝⁵:Preadditive Cinst✝⁴: (n : ), (shiftFunctor C n).Additiveinst✝³:Pretriangulated Cinst✝²:Linear k Cinst✝¹:IsFiniteType k Cinst✝:Functor.Linear k (shiftFunctor C 1)T:Triangle ChT:T distinguishedTriangleseulerFormInner k C T.obj₂ = eulerFormInner k C T.obj₁ + eulerFormInner k C T.obj₃ k:Type winst✝⁹:Field kC:Type uinst✝⁸:Category.{v, u} Cinst✝⁷:HasZeroObject Cinst✝⁶:HasShift C inst✝⁵:Preadditive Cinst✝⁴: (n : ), (shiftFunctor C n).Additiveinst✝³:Pretriangulated Cinst✝²:Linear k Cinst✝¹:IsFiniteType k Cinst✝:Functor.Linear k (shiftFunctor C 1)T:Triangle ChT:T distinguishedTriangles (X : C), (eulerFormInner k C T.obj₂) (K₀.of C X) = (eulerFormInner k C T.obj₁ + eulerFormInner k C T.obj₃) (K₀.of C X); k:Type winst✝⁹:Field kC:Type uinst✝⁸:Category.{v, u} Cinst✝⁷:HasZeroObject Cinst✝⁶:HasShift C inst✝⁵:Preadditive Cinst✝⁴: (n : ), (shiftFunctor C n).Additiveinst✝³:Pretriangulated Cinst✝²:Linear k Cinst✝¹:IsFiniteType k Cinst✝:Functor.Linear k (shiftFunctor C 1)T:Triangle ChT:T distinguishedTrianglesF:C(eulerFormInner k C T.obj₂) (K₀.of C F) = (eulerFormInner k C T.obj₁ + eulerFormInner k C T.obj₃) (K₀.of C F) k:Type winst✝⁹:Field kC:Type uinst✝⁸:Category.{v, u} Cinst✝⁷:HasZeroObject Cinst✝⁶:HasShift C inst✝⁵:Preadditive Cinst✝⁴: (n : ), (shiftFunctor C n).Additiveinst✝³:Pretriangulated Cinst✝²:Linear k Cinst✝¹:IsFiniteType k Cinst✝:Functor.Linear k (shiftFunctor C 1)T:Triangle ChT:T distinguishedTrianglesF:CeulerFormObj k C T.obj₂ F = eulerFormObj k C T.obj₁ F + eulerFormObj k C T.obj₃ F Try this: letI̵ The goal is a proposition, so `let` is preferred over `letI`. The difference between `let` and `letI` is that `letI` inlines the value. But this is not relevant for proofs because of proof irrelevance. Note: This linter can be disabled with `set_option linter.style.haveILetI false`k:Type winst✝⁹:Field kC:Type uinst✝⁸:Category.{v, u} Cinst✝⁷:HasZeroObject Cinst✝⁶:HasShift C inst✝⁵:Preadditive Cinst✝⁴: (n : ), (shiftFunctor C n).Additiveinst✝³:Pretriangulated Cinst✝²:Linear k Cinst✝¹:IsFiniteType k Cinst✝:Functor.Linear k (shiftFunctor C 1)T:Triangle ChT:T distinguishedTrianglesF:Cthis:IsTriangleAdditive fun E => eulerFormObj k C E F := ···eulerFormObj k C T.obj₂ F = eulerFormObj k C T.obj₁ F + eulerFormObj k C T.obj₃ F All goals completed! 🐙

1.8. CategoryTheory.Triangulated.NumericalStabilityCondition.existsComplexManifoldOnConnectedComponent🔗

Theorem | BridgelandStability.NumericalStabilityManifold | Source | Open Issue

/-- **Bridgeland's Corollary 1.3** for numerical stability conditions. Each connected component of `Stab_N(D)` is a complex manifold of dimension `rk(N(D))`. This is a specialization of the generic class-map theorem to `v = numericalQuotientMap k C`, which is surjective by definition. -/ @[informal "Corollary 1.3" "complex manifold conclusion only; local homeomorphism is in componentTopologicalLinearLocalModel" complete] theorem NumericalStabilityCondition.existsComplexManifoldOnConnectedComponent (k : Type w) [Field k] [Linear k C] [IsFiniteType k C] [(shiftFunctor C (1 : )).Linear k] [NumericallyFinite k C] (cc : StabilityCondition.WithClassMap.ComponentIndex C (numericalQuotientMap k C)) : (E : Type u) (_ : NormedAddCommGroup E) (_ : NormedSpace E) (_ : FiniteDimensional E) (_ : ChartedSpace E (NumericalComponent (k := k) C cc)), IsManifold (𝓘(, E)) ( : WithTop ℕ∞) (NumericalComponent (k := k) C cc)
Show proof:= C:Type uinst✝¹¹:Category.{v, u} Cinst✝¹⁰:HasZeroObject Cinst✝⁹:HasShift C inst✝⁸:Preadditive Cinst✝⁷: (n : ), (shiftFunctor C n).Additiveinst✝⁶:Pretriangulated Cinst✝⁵:IsTriangulated Ck:Type winst✝⁴:Field kinst✝³:Linear k Cinst✝²:IsFiniteType k Cinst✝¹:Functor.Linear k (shiftFunctor C 1)inst✝:NumericallyFinite k Ccc:StabilityCondition.WithClassMap.ComponentIndex C (numericalQuotientMap k C) E x x_1, (_ : FiniteDimensional E), x_3, IsManifold 𝓘(, E) (NumericalComponent k C cc) Try this: haveI̵ The goal is a proposition, so `have` is preferred over `haveI`. The difference between `have` and `haveI` is that `haveI` inlines the value. But this is not relevant for proofs because of proof irrelevance. Note: This linter can be disabled with `set_option linter.style.haveILetI false`C:Type uinst✝¹¹:Category.{v, u} Cinst✝¹⁰:HasZeroObject Cinst✝⁹:HasShift C inst✝⁸:Preadditive Cinst✝⁷: (n : ), (shiftFunctor C n).Additiveinst✝⁶:Pretriangulated Cinst✝⁵:IsTriangulated Ck:Type winst✝⁴:Field kinst✝³:Linear k Cinst✝²:IsFiniteType k Cinst✝¹:Functor.Linear k (shiftFunctor C 1)inst✝:NumericallyFinite k Ccc:StabilityCondition.WithClassMap.ComponentIndex C (numericalQuotientMap k C)this:Fact (Function.Surjective (numericalQuotientMap k C)) E x x_1, (_ : FiniteDimensional E), x_3, IsManifold 𝓘(, E) (NumericalComponent k C cc) All goals completed! 🐙

1.9. Declaration census🔗

Every constant in the transitive closure of the target theorem's type. Auxiliary declarations are resolved to their user-facing parent.

132 raw constants: 57 user-facing, 0 auxiliary.

  • K0Presentation — user

  • CategoryTheory.IsStrict — user

  • CategoryTheory.IsStrictArtinianObject — user

  • CategoryTheory.IsStrictMono — user

  • CategoryTheory.IsStrictNoetherianObject — user

  • CategoryTheory.StrictSubobject — user

  • CategoryTheory.isStrictArtinianObject — user

  • CategoryTheory.isStrictNoetherianObject — user

  • K0Presentation.IsAdditive — user

  • K0Presentation.K0 — user

  • K0Presentation.lift — user

  • K0Presentation.mk — constructor → K0Presentation

  • K0Presentation.obj₁ — projection → K0Presentation

  • K0Presentation.obj₂ — projection → K0Presentation

  • K0Presentation.obj₃ — projection → K0Presentation

  • K0Presentation.subgroup — user

  • CategoryTheory.IsStrictMono.mk — constructor → CategoryTheory.IsStrictMono

  • CategoryTheory.Subobject.IsStrict — user

  • CategoryTheory.Triangulated.HNFiltration — user

  • CategoryTheory.Triangulated.IsFiniteType — user

  • CategoryTheory.Triangulated.IsTriangleAdditive — user

  • CategoryTheory.Triangulated.K₀ — user

  • CategoryTheory.Triangulated.NumericalComponent — user

  • CategoryTheory.Triangulated.NumericalK₀ — user

  • CategoryTheory.Triangulated.NumericallyFinite — user

  • CategoryTheory.Triangulated.PostnikovTower — user

  • CategoryTheory.Triangulated.Slicing — user

  • CategoryTheory.Triangulated.basisNhd — user

  • CategoryTheory.Triangulated.cl — user

  • CategoryTheory.Triangulated.eulerForm — user

  • CategoryTheory.Triangulated.eulerFormInner — user

  • CategoryTheory.Triangulated.eulerFormInner_isTriangleAdditive — user

  • CategoryTheory.Triangulated.eulerFormObj — user

  • CategoryTheory.Triangulated.eulerFormObj_contravariant_triangleAdditive — user

  • CategoryTheory.Triangulated.eulerFormRad — user

  • CategoryTheory.Triangulated.numericalQuotientMap — user

  • CategoryTheory.Triangulated.slicingDist — user

  • CategoryTheory.Triangulated.stabSeminorm — user

  • CategoryTheory.Triangulated.trianglePresentation — user

  • CategoryTheory.Triangulated.trianglePresentation_isAdditive — user

  • K0Presentation.IsAdditive.additive — projection → K0Presentation.IsAdditive

  • K0Presentation.IsAdditive.mk — constructor → K0Presentation.IsAdditive

  • K0Presentation.instAddCommGroupK0._proof_1 — internal → K0Presentation.instAddCommGroupK0

  • K0Presentation.instAddCommGroupK0._proof_2 — internal → K0Presentation.instAddCommGroupK0

  • K0Presentation.lift._abel_5 — internal → K0Presentation.lift

  • K0Presentation.lift._proof_1 — internal → K0Presentation.lift

  • K0Presentation.lift._simp_3 — internal → K0Presentation.lift

  • K0Presentation.lift._simp_4 — internal → K0Presentation.lift

  • K0Presentation.lift.match_1 — user

  • CategoryTheory.Subobject.IsStrict._proof_1 — internal → CategoryTheory.Subobject.IsStrict

  • CategoryTheory.Subobject.IsStrict._proof_2 — internal → CategoryTheory.Subobject.IsStrict

  • CategoryTheory.Subobject.IsStrict._proof_3 — internal → CategoryTheory.Subobject.IsStrict

  • CategoryTheory.Subobject.IsStrict._proof_4 — internal → CategoryTheory.Subobject.IsStrict

  • CategoryTheory.Triangulated.HNFiltration.exists_nonzero_first — user

  • CategoryTheory.Triangulated.HNFiltration.exists_nonzero_last — user

  • CategoryTheory.Triangulated.HNFiltration.mk — constructor → CategoryTheory.Triangulated.HNFiltration

  • CategoryTheory.Triangulated.HNFiltration.toPostnikovTower — projection → CategoryTheory.Triangulated.HNFiltration

  • CategoryTheory.Triangulated.HNFiltration.φ — projection → CategoryTheory.Triangulated.HNFiltration

  • CategoryTheory.Triangulated.IsFiniteType.mk — constructor → CategoryTheory.Triangulated.IsFiniteType

  • CategoryTheory.Triangulated.IsTriangleAdditive.mk — constructor → CategoryTheory.Triangulated.IsTriangleAdditive

  • CategoryTheory.Triangulated.K₀.instAddCommGroup — user

  • CategoryTheory.Triangulated.K₀.lift — user

  • CategoryTheory.Triangulated.K₀.of — user

  • CategoryTheory.Triangulated.NumericalK₀.instAddCommGroup — user

  • CategoryTheory.Triangulated.NumericallyFinite.mk — constructor → CategoryTheory.Triangulated.NumericallyFinite

  • CategoryTheory.Triangulated.PostnikovTower._proof_1 — internal → CategoryTheory.Triangulated.PostnikovTower

  • CategoryTheory.Triangulated.PostnikovTower._proof_3 — internal → CategoryTheory.Triangulated.PostnikovTower

  • CategoryTheory.Triangulated.PostnikovTower.factor — user

  • CategoryTheory.Triangulated.PostnikovTower.mk — constructor → CategoryTheory.Triangulated.PostnikovTower

  • CategoryTheory.Triangulated.PostnikovTower.n — projection → CategoryTheory.Triangulated.PostnikovTower

  • CategoryTheory.Triangulated.PostnikovTower.triangle — projection → CategoryTheory.Triangulated.PostnikovTower

  • CategoryTheory.Triangulated.PreStabilityCondition.WithClassMap — user

  • CategoryTheory.Triangulated.Slicing.IntervalCat — user

  • CategoryTheory.Triangulated.Slicing.IsLocallyFinite — user

  • CategoryTheory.Triangulated.Slicing.P — projection → CategoryTheory.Triangulated.Slicing

  • CategoryTheory.Triangulated.Slicing.intervalCat_hasCokernels — user

  • CategoryTheory.Triangulated.Slicing.intervalCat_hasKernels — user

  • CategoryTheory.Triangulated.Slicing.intervalProp — user

  • CategoryTheory.Triangulated.Slicing.mk — constructor → CategoryTheory.Triangulated.Slicing

  • CategoryTheory.Triangulated.Slicing.phiMinus — user

  • CategoryTheory.Triangulated.Slicing.phiPlus — user

  • CategoryTheory.Triangulated.StabilityCondition.WithClassMap — user

  • CategoryTheory.Triangulated.numericalQuotientMap._proof_1 — internal → CategoryTheory.Triangulated.numericalQuotientMap

  • CategoryTheory.Triangulated.HNFiltration.exists_nonzero_last._proof_1 — internal → CategoryTheory.Triangulated.HNFiltration.exists_nonzero_last

  • CategoryTheory.Triangulated.K₀.instAddCommGroup._aux_1 — internal → CategoryTheory.Triangulated.K₀.instAddCommGroup

  • CategoryTheory.Triangulated.K₀.instAddCommGroup._aux_12 — internal → CategoryTheory.Triangulated.K₀.instAddCommGroup

  • CategoryTheory.Triangulated.K₀.instAddCommGroup._aux_14 — internal → CategoryTheory.Triangulated.K₀.instAddCommGroup

  • CategoryTheory.Triangulated.K₀.instAddCommGroup._aux_16 — internal → CategoryTheory.Triangulated.K₀.instAddCommGroup

  • CategoryTheory.Triangulated.K₀.instAddCommGroup._aux_4 — internal → CategoryTheory.Triangulated.K₀.instAddCommGroup

  • CategoryTheory.Triangulated.K₀.instAddCommGroup._aux_8 — internal → CategoryTheory.Triangulated.K₀.instAddCommGroup

  • CategoryTheory.Triangulated.K₀.instAddCommGroup._proof_10 — internal → CategoryTheory.Triangulated.K₀.instAddCommGroup

  • CategoryTheory.Triangulated.K₀.instAddCommGroup._proof_11 — internal → CategoryTheory.Triangulated.K₀.instAddCommGroup

  • CategoryTheory.Triangulated.K₀.instAddCommGroup._proof_18 — internal → CategoryTheory.Triangulated.K₀.instAddCommGroup

  • CategoryTheory.Triangulated.K₀.instAddCommGroup._proof_19 — internal → CategoryTheory.Triangulated.K₀.instAddCommGroup

  • CategoryTheory.Triangulated.K₀.instAddCommGroup._proof_20 — internal → CategoryTheory.Triangulated.K₀.instAddCommGroup

  • CategoryTheory.Triangulated.K₀.instAddCommGroup._proof_21 — internal → CategoryTheory.Triangulated.K₀.instAddCommGroup

  • CategoryTheory.Triangulated.K₀.instAddCommGroup._proof_22 — internal → CategoryTheory.Triangulated.K₀.instAddCommGroup

  • CategoryTheory.Triangulated.K₀.instAddCommGroup._proof_23 — internal → CategoryTheory.Triangulated.K₀.instAddCommGroup

  • CategoryTheory.Triangulated.K₀.instAddCommGroup._proof_3 — internal → CategoryTheory.Triangulated.K₀.instAddCommGroup

  • CategoryTheory.Triangulated.K₀.instAddCommGroup._proof_6 — internal → CategoryTheory.Triangulated.K₀.instAddCommGroup

  • CategoryTheory.Triangulated.K₀.instAddCommGroup._proof_7 — internal → CategoryTheory.Triangulated.K₀.instAddCommGroup

  • CategoryTheory.Triangulated.NumericalK₀.instAddCommGroup._aux_1 — internal → CategoryTheory.Triangulated.NumericalK₀.instAddCommGroup

  • CategoryTheory.Triangulated.NumericalK₀.instAddCommGroup._aux_12 — internal → CategoryTheory.Triangulated.NumericalK₀.instAddCommGroup

  • CategoryTheory.Triangulated.NumericalK₀.instAddCommGroup._aux_14 — internal → CategoryTheory.Triangulated.NumericalK₀.instAddCommGroup

  • CategoryTheory.Triangulated.NumericalK₀.instAddCommGroup._aux_16 — internal → CategoryTheory.Triangulated.NumericalK₀.instAddCommGroup

  • CategoryTheory.Triangulated.NumericalK₀.instAddCommGroup._aux_4 — internal → CategoryTheory.Triangulated.NumericalK₀.instAddCommGroup

  • CategoryTheory.Triangulated.NumericalK₀.instAddCommGroup._aux_8 — internal → CategoryTheory.Triangulated.NumericalK₀.instAddCommGroup

  • CategoryTheory.Triangulated.NumericalK₀.instAddCommGroup._proof_10 — internal → CategoryTheory.Triangulated.NumericalK₀.instAddCommGroup

  • CategoryTheory.Triangulated.NumericalK₀.instAddCommGroup._proof_11 — internal → CategoryTheory.Triangulated.NumericalK₀.instAddCommGroup

  • CategoryTheory.Triangulated.NumericalK₀.instAddCommGroup._proof_18 — internal → CategoryTheory.Triangulated.NumericalK₀.instAddCommGroup

  • CategoryTheory.Triangulated.NumericalK₀.instAddCommGroup._proof_19 — internal → CategoryTheory.Triangulated.NumericalK₀.instAddCommGroup

  • CategoryTheory.Triangulated.NumericalK₀.instAddCommGroup._proof_20 — internal → CategoryTheory.Triangulated.NumericalK₀.instAddCommGroup

  • CategoryTheory.Triangulated.NumericalK₀.instAddCommGroup._proof_21 — internal → CategoryTheory.Triangulated.NumericalK₀.instAddCommGroup

  • CategoryTheory.Triangulated.NumericalK₀.instAddCommGroup._proof_22 — internal → CategoryTheory.Triangulated.NumericalK₀.instAddCommGroup

  • CategoryTheory.Triangulated.NumericalK₀.instAddCommGroup._proof_23 — internal → CategoryTheory.Triangulated.NumericalK₀.instAddCommGroup

  • CategoryTheory.Triangulated.NumericalK₀.instAddCommGroup._proof_3 — internal → CategoryTheory.Triangulated.NumericalK₀.instAddCommGroup

  • CategoryTheory.Triangulated.NumericalK₀.instAddCommGroup._proof_6 — internal → CategoryTheory.Triangulated.NumericalK₀.instAddCommGroup

  • CategoryTheory.Triangulated.NumericalK₀.instAddCommGroup._proof_7 — internal → CategoryTheory.Triangulated.NumericalK₀.instAddCommGroup

  • CategoryTheory.Triangulated.PreStabilityCondition.WithClassMap.Z — projection → CategoryTheory.Triangulated.PreStabilityCondition.WithClassMap

  • CategoryTheory.Triangulated.PreStabilityCondition.WithClassMap.charge — user

  • CategoryTheory.Triangulated.PreStabilityCondition.WithClassMap.mk — constructor → CategoryTheory.Triangulated.PreStabilityCondition.WithClassMap

  • CategoryTheory.Triangulated.PreStabilityCondition.WithClassMap.slicing — projection → CategoryTheory.Triangulated.PreStabilityCondition.WithClassMap

  • CategoryTheory.Triangulated.Slicing.IsLocallyFinite.mk — constructor → CategoryTheory.Triangulated.Slicing.IsLocallyFinite

  • CategoryTheory.Triangulated.Slicing.phiMinus._proof_1 — internal → CategoryTheory.Triangulated.Slicing.phiMinus

  • CategoryTheory.Triangulated.Slicing.phiMinus._proof_2 — internal → CategoryTheory.Triangulated.Slicing.phiMinus

  • CategoryTheory.Triangulated.Slicing.phiPlus._proof_1 — internal → CategoryTheory.Triangulated.Slicing.phiPlus

  • CategoryTheory.Triangulated.StabilityCondition.WithClassMap.Component — user

  • CategoryTheory.Triangulated.StabilityCondition.WithClassMap.ComponentIndex — user

  • CategoryTheory.Triangulated.StabilityCondition.WithClassMap.mk — constructor → CategoryTheory.Triangulated.StabilityCondition.WithClassMap

  • CategoryTheory.Triangulated.StabilityCondition.WithClassMap.toWithClassMap — projection → CategoryTheory.Triangulated.StabilityCondition.WithClassMap

  • CategoryTheory.Triangulated.StabilityCondition.WithClassMap.topologicalSpace — user

  • CategoryTheory.Triangulated.StabilityCondition.WithClassMap.topologicalSpace._proof_1 — internal → CategoryTheory.Triangulated.StabilityCondition.WithClassMap.topologicalSpace 13 raw constants: 4 user-facing, 0 auxiliary.

  • CategoryTheory.Triangulated.HNFiltration — user

  • CategoryTheory.Triangulated.PostnikovTower — user

  • CategoryTheory.Triangulated.Slicing — user

  • CategoryTheory.Triangulated.HNFiltration.mk — constructor → CategoryTheory.Triangulated.HNFiltration

  • CategoryTheory.Triangulated.HNFiltration.toPostnikovTower — projection → CategoryTheory.Triangulated.HNFiltration

  • CategoryTheory.Triangulated.PostnikovTower._proof_1 — internal → CategoryTheory.Triangulated.PostnikovTower

  • CategoryTheory.Triangulated.PostnikovTower._proof_3 — internal → CategoryTheory.Triangulated.PostnikovTower

  • CategoryTheory.Triangulated.PostnikovTower.factor — user

  • CategoryTheory.Triangulated.PostnikovTower.mk — constructor → CategoryTheory.Triangulated.PostnikovTower

  • CategoryTheory.Triangulated.PostnikovTower.n — projection → CategoryTheory.Triangulated.PostnikovTower

  • CategoryTheory.Triangulated.PostnikovTower.triangle — projection → CategoryTheory.Triangulated.PostnikovTower

  • CategoryTheory.Triangulated.Slicing.P — projection → CategoryTheory.Triangulated.Slicing

  • CategoryTheory.Triangulated.Slicing.mk — constructor → CategoryTheory.Triangulated.Slicing 14 raw constants: 5 user-facing, 0 auxiliary.

  • CategoryTheory.Triangulated.HNFiltration — user

  • CategoryTheory.Triangulated.PostnikovTower — user

  • CategoryTheory.Triangulated.Slicing — user

  • CategoryTheory.Triangulated.HNFiltration.mk — constructor → CategoryTheory.Triangulated.HNFiltration

  • CategoryTheory.Triangulated.HNFiltration.toPostnikovTower — projection → CategoryTheory.Triangulated.HNFiltration

  • CategoryTheory.Triangulated.PostnikovTower._proof_1 — internal → CategoryTheory.Triangulated.PostnikovTower

  • CategoryTheory.Triangulated.PostnikovTower._proof_3 — internal → CategoryTheory.Triangulated.PostnikovTower

  • CategoryTheory.Triangulated.PostnikovTower.factor — user

  • CategoryTheory.Triangulated.PostnikovTower.mk — constructor → CategoryTheory.Triangulated.PostnikovTower

  • CategoryTheory.Triangulated.PostnikovTower.n — projection → CategoryTheory.Triangulated.PostnikovTower

  • CategoryTheory.Triangulated.PostnikovTower.triangle — projection → CategoryTheory.Triangulated.PostnikovTower

  • CategoryTheory.Triangulated.Slicing.P — projection → CategoryTheory.Triangulated.Slicing

  • CategoryTheory.Triangulated.Slicing.mk — constructor → CategoryTheory.Triangulated.Slicing

  • CategoryTheory.Triangulated.HNFiltration.exists_nonzero_last._proof_1 — internal → CategoryTheory.Triangulated.HNFiltration.exists_nonzero_last 10 raw constants: 4 user-facing, 0 auxiliary.

  • K0Presentation — user

  • K0Presentation.IsAdditive — user

  • K0Presentation.mk — constructor → K0Presentation

  • K0Presentation.obj₁ — projection → K0Presentation

  • K0Presentation.obj₂ — projection → K0Presentation

  • K0Presentation.obj₃ — projection → K0Presentation

  • CategoryTheory.Triangulated.IsTriangleAdditive — user

  • CategoryTheory.Triangulated.trianglePresentation — user

  • K0Presentation.IsAdditive.mk — constructor → K0Presentation.IsAdditive

  • CategoryTheory.Triangulated.IsTriangleAdditive.mk — constructor → CategoryTheory.Triangulated.IsTriangleAdditive 16 raw constants: 6 user-facing, 0 auxiliary.

  • CategoryTheory.Triangulated.HNFiltration — user

  • CategoryTheory.Triangulated.PostnikovTower — user

  • CategoryTheory.Triangulated.Slicing — user

  • CategoryTheory.Triangulated.HNFiltration.mk — constructor → CategoryTheory.Triangulated.HNFiltration

  • CategoryTheory.Triangulated.HNFiltration.toPostnikovTower — projection → CategoryTheory.Triangulated.HNFiltration

  • CategoryTheory.Triangulated.HNFiltration.φ — projection → CategoryTheory.Triangulated.HNFiltration

  • CategoryTheory.Triangulated.PostnikovTower._proof_1 — internal → CategoryTheory.Triangulated.PostnikovTower

  • CategoryTheory.Triangulated.PostnikovTower._proof_3 — internal → CategoryTheory.Triangulated.PostnikovTower

  • CategoryTheory.Triangulated.PostnikovTower.factor — user

  • CategoryTheory.Triangulated.PostnikovTower.mk — constructor → CategoryTheory.Triangulated.PostnikovTower

  • CategoryTheory.Triangulated.PostnikovTower.n — projection → CategoryTheory.Triangulated.PostnikovTower

  • CategoryTheory.Triangulated.PostnikovTower.triangle — projection → CategoryTheory.Triangulated.PostnikovTower

  • CategoryTheory.Triangulated.Slicing.IntervalCat — user

  • CategoryTheory.Triangulated.Slicing.P — projection → CategoryTheory.Triangulated.Slicing

  • CategoryTheory.Triangulated.Slicing.intervalProp — user

  • CategoryTheory.Triangulated.Slicing.mk — constructor → CategoryTheory.Triangulated.Slicing 16 raw constants: 6 user-facing, 0 auxiliary.

  • CategoryTheory.Triangulated.HNFiltration — user

  • CategoryTheory.Triangulated.PostnikovTower — user

  • CategoryTheory.Triangulated.Slicing — user

  • CategoryTheory.Triangulated.HNFiltration.mk — constructor → CategoryTheory.Triangulated.HNFiltration

  • CategoryTheory.Triangulated.HNFiltration.toPostnikovTower — projection → CategoryTheory.Triangulated.HNFiltration

  • CategoryTheory.Triangulated.HNFiltration.φ — projection → CategoryTheory.Triangulated.HNFiltration

  • CategoryTheory.Triangulated.PostnikovTower._proof_1 — internal → CategoryTheory.Triangulated.PostnikovTower

  • CategoryTheory.Triangulated.PostnikovTower._proof_3 — internal → CategoryTheory.Triangulated.PostnikovTower

  • CategoryTheory.Triangulated.PostnikovTower.factor — user

  • CategoryTheory.Triangulated.PostnikovTower.mk — constructor → CategoryTheory.Triangulated.PostnikovTower

  • CategoryTheory.Triangulated.PostnikovTower.n — projection → CategoryTheory.Triangulated.PostnikovTower

  • CategoryTheory.Triangulated.PostnikovTower.triangle — projection → CategoryTheory.Triangulated.PostnikovTower

  • CategoryTheory.Triangulated.Slicing.IntervalCat — user

  • CategoryTheory.Triangulated.Slicing.P — projection → CategoryTheory.Triangulated.Slicing

  • CategoryTheory.Triangulated.Slicing.intervalProp — user

  • CategoryTheory.Triangulated.Slicing.mk — constructor → CategoryTheory.Triangulated.Slicing 5 raw constants: 3 user-facing, 0 auxiliary.

  • CategoryTheory.Triangulated.IsFiniteType — user

  • CategoryTheory.Triangulated.IsTriangleAdditive — user

  • CategoryTheory.Triangulated.eulerFormObj — user

  • CategoryTheory.Triangulated.IsFiniteType.mk — constructor → CategoryTheory.Triangulated.IsFiniteType

  • CategoryTheory.Triangulated.IsTriangleAdditive.mk — constructor → CategoryTheory.Triangulated.IsTriangleAdditive 47 raw constants: 17 user-facing, 0 auxiliary.

  • K0Presentation — user

  • K0Presentation.IsAdditive — user

  • K0Presentation.K0 — user

  • K0Presentation.lift — user

  • K0Presentation.mk — constructor → K0Presentation

  • K0Presentation.obj₁ — projection → K0Presentation

  • K0Presentation.obj₂ — projection → K0Presentation

  • K0Presentation.obj₃ — projection → K0Presentation

  • K0Presentation.subgroup — user

  • CategoryTheory.Triangulated.IsFiniteType — user

  • CategoryTheory.Triangulated.IsTriangleAdditive — user

  • CategoryTheory.Triangulated.K₀ — user

  • CategoryTheory.Triangulated.eulerFormInner — user

  • CategoryTheory.Triangulated.eulerFormObj — user

  • CategoryTheory.Triangulated.eulerFormObj_contravariant_triangleAdditive — user

  • CategoryTheory.Triangulated.trianglePresentation — user

  • CategoryTheory.Triangulated.trianglePresentation_isAdditive — user

  • K0Presentation.IsAdditive.additive — projection → K0Presentation.IsAdditive

  • K0Presentation.IsAdditive.mk — constructor → K0Presentation.IsAdditive

  • K0Presentation.instAddCommGroupK0._proof_1 — internal → K0Presentation.instAddCommGroupK0

  • K0Presentation.instAddCommGroupK0._proof_2 — internal → K0Presentation.instAddCommGroupK0

  • K0Presentation.lift._abel_5 — internal → K0Presentation.lift

  • K0Presentation.lift._proof_1 — internal → K0Presentation.lift

  • K0Presentation.lift._simp_3 — internal → K0Presentation.lift

  • K0Presentation.lift._simp_4 — internal → K0Presentation.lift

  • K0Presentation.lift.match_1 — user

  • CategoryTheory.Triangulated.IsFiniteType.mk — constructor → CategoryTheory.Triangulated.IsFiniteType

  • CategoryTheory.Triangulated.IsTriangleAdditive.mk — constructor → CategoryTheory.Triangulated.IsTriangleAdditive

  • CategoryTheory.Triangulated.K₀.instAddCommGroup — user

  • CategoryTheory.Triangulated.K₀.lift — user

  • CategoryTheory.Triangulated.K₀.instAddCommGroup._aux_1 — internal → CategoryTheory.Triangulated.K₀.instAddCommGroup

  • CategoryTheory.Triangulated.K₀.instAddCommGroup._aux_12 — internal → CategoryTheory.Triangulated.K₀.instAddCommGroup

  • CategoryTheory.Triangulated.K₀.instAddCommGroup._aux_14 — internal → CategoryTheory.Triangulated.K₀.instAddCommGroup

  • CategoryTheory.Triangulated.K₀.instAddCommGroup._aux_16 — internal → CategoryTheory.Triangulated.K₀.instAddCommGroup

  • CategoryTheory.Triangulated.K₀.instAddCommGroup._aux_4 — internal → CategoryTheory.Triangulated.K₀.instAddCommGroup

  • CategoryTheory.Triangulated.K₀.instAddCommGroup._aux_8 — internal → CategoryTheory.Triangulated.K₀.instAddCommGroup

  • CategoryTheory.Triangulated.K₀.instAddCommGroup._proof_10 — internal → CategoryTheory.Triangulated.K₀.instAddCommGroup

  • CategoryTheory.Triangulated.K₀.instAddCommGroup._proof_11 — internal → CategoryTheory.Triangulated.K₀.instAddCommGroup

  • CategoryTheory.Triangulated.K₀.instAddCommGroup._proof_18 — internal → CategoryTheory.Triangulated.K₀.instAddCommGroup

  • CategoryTheory.Triangulated.K₀.instAddCommGroup._proof_19 — internal → CategoryTheory.Triangulated.K₀.instAddCommGroup

  • CategoryTheory.Triangulated.K₀.instAddCommGroup._proof_20 — internal → CategoryTheory.Triangulated.K₀.instAddCommGroup

  • CategoryTheory.Triangulated.K₀.instAddCommGroup._proof_21 — internal → CategoryTheory.Triangulated.K₀.instAddCommGroup

  • CategoryTheory.Triangulated.K₀.instAddCommGroup._proof_22 — internal → CategoryTheory.Triangulated.K₀.instAddCommGroup

  • CategoryTheory.Triangulated.K₀.instAddCommGroup._proof_23 — internal → CategoryTheory.Triangulated.K₀.instAddCommGroup

  • CategoryTheory.Triangulated.K₀.instAddCommGroup._proof_3 — internal → CategoryTheory.Triangulated.K₀.instAddCommGroup

  • CategoryTheory.Triangulated.K₀.instAddCommGroup._proof_6 — internal → CategoryTheory.Triangulated.K₀.instAddCommGroup

  • CategoryTheory.Triangulated.K₀.instAddCommGroup._proof_7 — internal → CategoryTheory.Triangulated.K₀.instAddCommGroup

1.10. Dependency graph🔗

Click a node to navigate to its declaration.