Skip to content

Commit a237616

Browse files
committed
feat(Algebra/Homology): more lemmas for the biproduct of complexes (#35934)
1 parent a5bb6b1 commit a237616

File tree

1 file changed

+42
-0
lines changed

1 file changed

+42
-0
lines changed

Mathlib/Algebra/Homology/HomologicalComplexBiprod.lean

Lines changed: 42 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -86,7 +86,49 @@ lemma biprod_inr_snd_f (i : ι) :
8686
(biprod.inr : L ⟶ K ⊞ L).f i ≫ (biprod.snd : K ⊞ L ⟶ L).f i = 𝟙 _ := by
8787
rw [← comp_f, biprod.inr_snd, id_f]
8888

89+
@[simp]
90+
lemma biprod_total_f (i : ι) :
91+
(biprod.fst : K ⊞ L ⟶ K).f i ≫ (biprod.inl : K ⟶ K ⊞ L).f i +
92+
(biprod.snd : K ⊞ L ⟶ L).f i ≫ (biprod.inr : L ⟶ K ⊞ L).f i =
93+
𝟙 ((biprod K L).X i) := by
94+
simp [← comp_f, ← add_f_apply]
95+
8996
variable {K L}
97+
98+
section
99+
100+
variable {A : C} {i : ι}
101+
102+
lemma biprodX_ext_from_iff {f g : (K ⊞ L).X i ⟶ A} :
103+
f = g ↔ (biprod.inl : K ⟶ K ⊞ L).f i ≫ f = (biprod.inl : K ⟶ K ⊞ L).f i ≫ g ∧
104+
(biprod.inr : L ⟶ K ⊞ L).f i ≫ f = (biprod.inr : L ⟶ K ⊞ L).f i ≫ g := by
105+
refine ⟨by rintro rfl; simp, fun ⟨h₁, h₂⟩ ↦ ?_⟩
106+
rw [← cancel_epi (𝟙 _)]
107+
simp [← biprod_total_f, h₁, h₂]
108+
109+
@[ext]
110+
lemma biprodX_ext_from {f g : (K ⊞ L).X i ⟶ A}
111+
(h₁ : (biprod.inl : K ⟶ K ⊞ L).f i ≫ f = (biprod.inl : K ⟶ K ⊞ L).f i ≫ g)
112+
(h₂ : (biprod.inr : L ⟶ K ⊞ L).f i ≫ f = (biprod.inr : L ⟶ K ⊞ L).f i ≫ g) :
113+
f = g := by
114+
simp [biprodX_ext_from_iff, h₁, h₂]
115+
116+
lemma biprodX_ext_to_iff {f g : A ⟶ (K ⊞ L).X i} :
117+
f = g ↔ f ≫ (biprod.fst : K ⊞ L ⟶ K).f i = g ≫ (biprod.fst : K ⊞ L ⟶ K).f i ∧
118+
f ≫ (biprod.snd : K ⊞ L ⟶ L).f i = g ≫ (biprod.snd : K ⊞ L ⟶ L).f i := by
119+
refine ⟨by rintro rfl; simp, fun ⟨h₁, h₂⟩ ↦ ?_⟩
120+
rw [← cancel_mono (𝟙 _)]
121+
simp [← biprod_total_f, reassoc_of% h₁, reassoc_of% h₂]
122+
123+
@[ext]
124+
lemma biprodX_ext_to {f g : A ⟶ (K ⊞ L).X i}
125+
(h₁ : f ≫ (biprod.fst : K ⊞ L ⟶ K).f i = g ≫ (biprod.fst : K ⊞ L ⟶ K).f i)
126+
(h₂ : f ≫ (biprod.snd : K ⊞ L ⟶ L).f i = g ≫ (biprod.snd : K ⊞ L ⟶ L).f i) :
127+
f = g := by
128+
simp [biprodX_ext_to_iff, h₁, h₂]
129+
130+
end
131+
90132
variable {M : HomologicalComplex C c}
91133

92134
@[reassoc (attr := simp)]

0 commit comments

Comments
 (0)