Skip to content

Commit 88c4804

Browse files
committed
feat(Algebra/Homology): head of long exact sequence of Ext (leanprover-community#32966)
In this PR, we add the "head" of the long exact sequence of `Ext`, i.e. the injectivity of the first morphism.
1 parent cc0ebd1 commit 88c4804

2 files changed

Lines changed: 27 additions & 0 deletions

File tree

Mathlib/Algebra/Homology/DerivedCategory/Ext/Basic.lean

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -323,6 +323,11 @@ lemma mk₀_addEquiv₀_apply (f : Ext X Y 0) :
323323
mk₀ (addEquiv₀ f) = f :=
324324
addEquiv₀.left_inv f
325325

326+
@[simp]
327+
lemma mk₀_eq_zero_iff {M N : C} (f : M ⟶ N) :
328+
Ext.mk₀ f = 0 ↔ f = 0 :=
329+
Ext.addEquiv₀.symm.map_eq_zero_iff (x := f)
330+
326331
section
327332

328333
attribute [local instance] preservesBinaryBiproducts_of_preservesBiproducts in

Mathlib/Algebra/Homology/DerivedCategory/Ext/ExactSequences.lean

Lines changed: 22 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -159,6 +159,17 @@ lemma covariant_sequence_exact₃ {n₀ : ℕ} (x₃ : Ext X S.X₃ n₀) {n₁
159159
rw [ShortComplex.ab_exact_iff] at this
160160
exact this x₃ hx₃
161161

162+
lemma postcomp_mk₀_injective_of_mono (L : C) {M N : C} (f : M ⟶ N) [hf : Mono f] :
163+
Function.Injective ((Ext.mk₀ f).postcomp L (add_zero 0)) := by
164+
rw [← AddMonoidHom.ker_eq_bot_iff, AddSubgroup.eq_bot_iff_forall]
165+
intro x hx
166+
obtain ⟨g, rfl⟩ := Ext.addEquiv₀.symm.surjective x
167+
simpa [← cancel_mono f] using hx
168+
169+
lemma mono_postcomp_mk₀_of_mono (L : C) {M N : C} (f : M ⟶ N) [hf : Mono f] :
170+
Mono (AddCommGrpCat.ofHom <| (Ext.mk₀ f).postcomp L (add_zero 0)) :=
171+
(AddCommGrpCat.mono_iff_injective _).mpr (postcomp_mk₀_injective_of_mono L f)
172+
162173
end CovariantSequence
163174

164175
section ContravariantSequence
@@ -277,6 +288,17 @@ lemma contravariant_sequence_exact₃ {n₁ : ℕ} (x₃ : Ext S.X₃ Y n₁)
277288
rw [ShortComplex.ab_exact_iff] at this
278289
exact this x₃ hx₃
279290

291+
lemma precomp_mk₀_injective_of_epi (L : C) {M N : C} (g : M ⟶ N) [hg : Epi g] :
292+
Function.Injective ((Ext.mk₀ g).precomp L (zero_add 0)) := by
293+
rw [← AddMonoidHom.ker_eq_bot_iff, AddSubgroup.eq_bot_iff_forall]
294+
intro x hx
295+
obtain ⟨f, rfl⟩ := Ext.addEquiv₀.symm.surjective x
296+
simpa [← cancel_epi g] using hx
297+
298+
lemma mono_precomp_mk₀_of_epi (L : C) {M N : C} (g : M ⟶ N) [hg : Epi g] :
299+
Mono (AddCommGrpCat.ofHom <| (Ext.mk₀ g).precomp L (zero_add 0)) :=
300+
(AddCommGrpCat.mono_iff_injective _).mpr (precomp_mk₀_injective_of_epi L g)
301+
280302
end ContravariantSequence
281303

282304
end Ext

0 commit comments

Comments
 (0)