Exactness properties of functors which jointly reflect isomorphisms #
Let Fᵢ : C ⥤ Dᵢ be a family of exact functors between abelian categories.
Assume that they jointly reflect isomorphisms. We show that a short complex in C
is exact (resp. short exact) iff it is so after applying the functor Fᵢ.
Similar results are obtained for the detection of quasi-isomorphisms
between short complexes or homological complexes in C.
(Corresponding results for a single functor are
HomologicalComplex.quasiIsoAt_map_iff_of_preservesHomology and
HomologicalComplex.quasiIso_map_iff_of_preservesHomology in the files
Mathlib/Algebra/Homology/QuasiIso.lean and
ShortComplex.quasiIso_map_iff_of_preservesLeftHomology
Mathlib/Algebra/Homology/ShortComplex/PreservesHomology.lean.)
theorem
CategoryTheory.JointlyReflectIsomorphisms.isZero_iff
{C : Type u_1}
[Category.{v_1, u_1} C]
{I : Type u_2}
{D : I → Type u_3}
[(i : I) → Category.{v_2, u_3} (D i)]
{F : (i : I) → Functor C (D i)}
(hP : JointlyReflectIsomorphisms F)
[Limits.HasZeroMorphisms C]
[(i : I) → Limits.HasZeroMorphisms (D i)]
[∀ (i : I), (F i).PreservesZeroMorphisms]
[Limits.HasZeroObject C]
{X : C}
:
theorem
CategoryTheory.JointlyReflectIsomorphisms.exact_iff
{C : Type u_1}
[Category.{v_1, u_1} C]
{I : Type u_2}
{D : I → Type u_3}
[(i : I) → Category.{v_2, u_3} (D i)]
{F : (i : I) → Functor C (D i)}
(hP : JointlyReflectIsomorphisms F)
[Limits.HasZeroMorphisms C]
[(i : I) → Limits.HasZeroMorphisms (D i)]
[∀ (i : I), (F i).PreservesZeroMorphisms]
[CategoryWithHomology C]
[∀ (i : I), (F i).PreservesHomology]
[Limits.HasZeroObject C]
(S : ShortComplex C)
:
theorem
CategoryTheory.JointlyReflectIsomorphisms.exactAt_iff
{C : Type u_1}
[Category.{v_1, u_1} C]
{I : Type u_2}
{D : I → Type u_3}
[(i : I) → Category.{v_2, u_3} (D i)]
{F : (i : I) → Functor C (D i)}
(hP : JointlyReflectIsomorphisms F)
[Limits.HasZeroMorphisms C]
[(i : I) → Limits.HasZeroMorphisms (D i)]
[∀ (i : I), (F i).PreservesZeroMorphisms]
[CategoryWithHomology C]
[∀ (i : I), (F i).PreservesHomology]
[Limits.HasZeroObject C]
{α : Type u_4}
{c : ComplexShape α}
(K : HomologicalComplex C c)
(a : α)
:
theorem
CategoryTheory.JointlyReflectIsomorphisms.shortExact_iff
{C : Type u_1}
[Category.{v_1, u_1} C]
{I : Type u_2}
{D : I → Type u_3}
[(i : I) → Category.{v_2, u_3} (D i)]
{F : (i : I) → Functor C (D i)}
(hP : JointlyReflectIsomorphisms F)
[Abelian C]
[(i : I) → Abelian (D i)]
[CategoryWithHomology C]
[∀ (i : I), Limits.PreservesFiniteLimits (F i)]
[∀ (i : I), Limits.PreservesFiniteColimits (F i)]
(S : ShortComplex C)
:
theorem
CategoryTheory.JointlyReflectIsomorphisms.shortComplexQuasiIso_iff
{C : Type u_1}
[Category.{v_1, u_1} C]
{I : Type u_2}
{D : I → Type u_3}
[(i : I) → Category.{v_2, u_3} (D i)]
{F : (i : I) → Functor C (D i)}
(hP : JointlyReflectIsomorphisms F)
[Abelian C]
[(i : I) → Abelian (D i)]
[CategoryWithHomology C]
[∀ (i : I), Limits.PreservesFiniteLimits (F i)]
[∀ (i : I), Limits.PreservesFiniteColimits (F i)]
{S₁ S₂ : ShortComplex C}
(f : S₁ ⟶ S₂)
:
theorem
CategoryTheory.JointlyReflectIsomorphisms.quasiIsoAt_iff
{C : Type u_1}
[Category.{v_1, u_1} C]
{I : Type u_2}
{D : I → Type u_3}
[(i : I) → Category.{v_2, u_3} (D i)]
{F : (i : I) → Functor C (D i)}
(hP : JointlyReflectIsomorphisms F)
[Abelian C]
[(i : I) → Abelian (D i)]
[CategoryWithHomology C]
[∀ (i : I), Limits.PreservesFiniteLimits (F i)]
[∀ (i : I), Limits.PreservesFiniteColimits (F i)]
{α : Type u_4}
{c : ComplexShape α}
{K L : HomologicalComplex C c}
(f : K ⟶ L)
(a : α)
:
theorem
CategoryTheory.JointlyReflectIsomorphisms.quasiIso_iff
{C : Type u_1}
[Category.{v_1, u_1} C]
{I : Type u_2}
{D : I → Type u_3}
[(i : I) → Category.{v_2, u_3} (D i)]
{F : (i : I) → Functor C (D i)}
(hP : JointlyReflectIsomorphisms F)
[Abelian C]
[(i : I) → Abelian (D i)]
[CategoryWithHomology C]
[∀ (i : I), Limits.PreservesFiniteLimits (F i)]
[∀ (i : I), Limits.PreservesFiniteColimits (F i)]
{α : Type u_4}
{c : ComplexShape α}
{K L : HomologicalComplex C c}
(f : K ⟶ L)
: