∀ {R : Type u_1} {M : Type u_2} {M' : Type u_3} {N : Type u_4} {P : Type u_6} [inst : Semiring R]
  [inst_1 : AddCommMonoid M] [inst_2 : AddCommMonoid M'] [inst_3 : AddCommMonoid N] [inst_4 : AddCommMonoid P]
  [inst_5 : Module R M] [inst_6 : Module R M'] [inst_7 : Module R N] [inst_8 : Module R P] {f : M →ₗ[R] N}
  {g : N →ₗ[R] P} {p : M' →ₗ[R] M}, Function.Surjective ⇑p → (Function.Exact ⇑(f ∘ₗ p) ⇑g ↔ Function.Exact ⇑f ⇑g)