Skip to content

Commit 9360fd0

Browse files
committed
feat(CategoryTheory/Triangulated): the Yoneda functors are homological (#14528)
Let `C` be a pretriangulated category. In this PR, we show that the functors `preadditiveCoyoneda.obj A : C ⥤ AddCommGrp` for `A : Cᵒᵖ` and `preadditiveYoneda.obj B : Cᵒᵖ ⥤ AddCommGrp` for `B : C` are homological functors.
1 parent e272af2 commit 9360fd0

File tree

3 files changed

+76
-1
lines changed

3 files changed

+76
-1
lines changed

Mathlib.lean

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1770,6 +1770,7 @@ import Mathlib.CategoryTheory.Triangulated.Subcategory
17701770
import Mathlib.CategoryTheory.Triangulated.TStructure.Basic
17711771
import Mathlib.CategoryTheory.Triangulated.TriangleShift
17721772
import Mathlib.CategoryTheory.Triangulated.Triangulated
1773+
import Mathlib.CategoryTheory.Triangulated.Yoneda
17731774
import Mathlib.CategoryTheory.Types
17741775
import Mathlib.CategoryTheory.UnivLE
17751776
import Mathlib.CategoryTheory.Whiskering

Mathlib/CategoryTheory/Triangulated/Opposite.lean

Lines changed: 16 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@ Authors: Joël Riou
55
-/
66
import Mathlib.CategoryTheory.Shift.Opposite
77
import Mathlib.CategoryTheory.Shift.Pullback
8-
import Mathlib.CategoryTheory.Triangulated.Pretriangulated
8+
import Mathlib.CategoryTheory.Triangulated.HomologicalFunctor
99
import Mathlib.Tactic.Linarith
1010

1111
/-!
@@ -419,4 +419,19 @@ lemma unop_distinguished (T : Triangle Cᵒᵖ) (hT : T ∈ distTriang Cᵒᵖ)
419419

420420
end Pretriangulated
421421

422+
namespace Functor
423+
424+
open Pretriangulated.Opposite Pretriangulated
425+
426+
variable {C}
427+
428+
lemma map_distinguished_op_exact [HasShift C ℤ] [HasZeroObject C] [Preadditive C]
429+
[∀ (n : ℤ), (shiftFunctor C n).Additive]
430+
[Pretriangulated C]{A : Type*} [Category A] [Abelian A] (F : Cᵒᵖ ⥤ A)
431+
[F.IsHomological] (T : Triangle C) (hT : T ∈ distTriang C) :
432+
((shortComplexOfDistTriangle T hT).op.map F).Exact :=
433+
F.map_distinguished_exact _ (op_distinguished T hT)
434+
435+
end Functor
436+
422437
end CategoryTheory
Lines changed: 59 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,59 @@
1+
/-
2+
Copyright (c) 2024 Joël Riou. All rights reserved.
3+
Released under Apache 2.0 license as described in the file LICENSE.
4+
Authors: Joël Riou
5+
-/
6+
import Mathlib.Algebra.Homology.ShortComplex.Ab
7+
import Mathlib.CategoryTheory.Preadditive.Yoneda.Basic
8+
import Mathlib.CategoryTheory.Triangulated.HomologicalFunctor
9+
import Mathlib.CategoryTheory.Triangulated.Opposite
10+
11+
/-!
12+
# The Yoneda functors are homological
13+
14+
Let `C` be a pretriangulated category. In this file, we show that the
15+
functors `preadditiveCoyoneda.obj A : C ⥤ AddCommGrp` for `A : Cᵒᵖ` and
16+
`preadditiveYoneda.obj B : Cᵒᵖ ⥤ AddCommGrp` for `B : C` are homological functors.
17+
18+
-/
19+
20+
namespace CategoryTheory
21+
22+
open Limits Pretriangulated.Opposite
23+
24+
namespace Pretriangulated
25+
26+
variable {C : Type*} [Category C] [Preadditive C] [HasZeroObject C] [HasShift C ℤ]
27+
[∀ (n : ℤ), (shiftFunctor C n).Additive] [Pretriangulated C]
28+
29+
instance (A : Cᵒᵖ) : (preadditiveCoyoneda.obj A).IsHomological where
30+
exact T hT := by
31+
rw [ShortComplex.ab_exact_iff]
32+
intro (x₂ : A.unop ⟶ T.obj₂) (hx₂ : x₂ ≫ T.mor₂ = 0)
33+
obtain ⟨x₁, hx₁⟩ := T.coyoneda_exact₂ hT x₂ hx₂
34+
exact ⟨x₁, hx₁.symm⟩
35+
36+
instance (B : C) : (preadditiveYoneda.obj B).IsHomological where
37+
exact T hT := by
38+
rw [ShortComplex.ab_exact_iff]
39+
intro (x₂ : T.obj₂.unop ⟶ B) (hx₂ : T.mor₂.unop ≫ x₂ = 0)
40+
obtain ⟨x₃, hx₃⟩ := Triangle.yoneda_exact₂ _ (unop_distinguished T hT) x₂ hx₂
41+
exact ⟨x₃, hx₃.symm⟩
42+
43+
lemma preadditiveYoneda_map_distinguished
44+
(T : Triangle C) (hT : T ∈ distTriang C) (B : C) :
45+
((shortComplexOfDistTriangle T hT).op.map (preadditiveYoneda.obj B)).Exact :=
46+
(preadditiveYoneda.obj B).map_distinguished_op_exact T hT
47+
48+
noncomputable instance (A : Cᵒᵖ) : (preadditiveCoyoneda.obj A).ShiftSequence ℤ :=
49+
Functor.ShiftSequence.tautological _ _
50+
51+
lemma preadditiveCoyoneda_homologySequenceδ_apply
52+
(A : Cᵒᵖ) (T : Triangle C) (n₀ n₁ : ℤ) (h : n₀ + 1 = n₁) (x : A.unop ⟶ T.obj₃⟦n₀⟧) :
53+
(preadditiveCoyoneda.obj A).homologySequenceδ T n₀ n₁ h x =
54+
x ≫ T.mor₃⟦n₀⟧' ≫ (shiftFunctorAdd' C 1 n₀ n₁ (by omega)).inv.app _ := by
55+
apply Category.assoc
56+
57+
end Pretriangulated
58+
59+
end CategoryTheory

0 commit comments

Comments
 (0)