English
Same as the previous statement, using isomorphisms of kernels/cokernels to express the equivalence.
Русский
То же самое, но через изоморфизмы ядра/ко Kernel.
LaTeX
$$$S.Exact \\iff cg.\\iota \\cf.\\pi = 0$ (вариант)$$
Lean4
theorem exact_iff_of_forks {cg : KernelFork S.g} (hg : IsLimit cg) {cf : CokernelCofork S.f} (hf : IsColimit cf) :
S.Exact ↔ cg.ι ≫ cf.π = 0 := by
rw [exact_iff_kernel_ι_comp_cokernel_π_zero]
let e₁ := IsLimit.conePointUniqueUpToIso (kernelIsKernel S.g) hg
let e₂ := IsColimit.coconePointUniqueUpToIso (cokernelIsCokernel S.f) hf
have : cg.ι ≫ cf.π = e₁.inv ≫ kernel.ι S.g ≫ cokernel.π S.f ≫ e₂.hom :=
by
have eq₁ := IsLimit.conePointUniqueUpToIso_inv_comp (kernelIsKernel S.g) hg (.zero)
have eq₂ := IsColimit.comp_coconePointUniqueUpToIso_hom (cokernelIsCokernel S.f) hf (.one)
dsimp at eq₁ eq₂
rw [← eq₁, ← eq₂, Category.assoc]
rw [this, IsIso.comp_left_eq_zero e₁.inv, ← Category.assoc, IsIso.comp_right_eq_zero _ e₂.hom]