∀ {R : Type u_1} {M : Type u_2} {N : Type u_3} [inst : Ring R] [inst_1 : AddCommGroup M] [inst_2 : Module R M]
  [inst_3 : AddCommGroup N] [inst_4 : Module R N] [Module.FinitePresentation R M] (l : M →ₗ[R] N),
  Function.Surjective ⇑l → (l.ker.FG ↔ Module.FinitePresentation R N)