∀ {R : Type u_1} [inst : Semiring R] {M : Type u_8} {N : Type u_9} (P : Type u_10) [inst_1 : AddCommGroup M]
  [inst_2 : AddCommGroup N] [inst_3 : AddCommMonoid P] [inst_4 : Module R N] [inst_5 : Module R M] [inst_6 : Module R P]
  (f : M →ₗ[R] N), Function.Exact ⇑f ⇑0 = Function.Surjective ⇑f