∀ {R : Type u_3} {M : Type u_4} {N : Type u_1} {P : Type u_5} [inst : CommRing R] [inst_1 : AddCommGroup M]
  [inst_2 : AddCommGroup N] [inst_3 : AddCommGroup P] [inst_4 : Module R M] [inst_5 : Module R N] [inst_6 : Module R P]
  {f : M →ₗ[R] N} {g : N →ₗ[R] P} (Q : Type u_2) [inst_7 : AddCommGroup Q] [inst_8 : Module R Q] {h : P → N},
  Function.Exact ⇑f ⇑g →
    Function.RightInverse h ⇑g →
      ∀ (r : R) (p : P) (q : Q),
        ((TensorProduct.mk R N Q) (h (r • p))) q -
            (fun x => (RingHom.id R) r • x) (((TensorProduct.mk R N Q) (h p)) q) ∈
          (LinearMap.rTensor Q f).range