∀ {R : Type u_3} {M : Type u_4} {N : Type u_1} {P : Type u_2} [inst : Semiring 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} (motive : (Function.Surjective ⇑g ∧ ∃ l, l ∘ₗ f = LinearMap.id) → Prop)
  (x : Function.Surjective ⇑g ∧ ∃ l, l ∘ₗ f = LinearMap.id),
  (∀ (hg : Function.Surjective ⇑g) (l : N →ₗ[R] M) (hl : l ∘ₗ f = LinearMap.id), motive ⋯) → motive x