∀ {R : Type u_1} [inst : Ring R] {E : Type u_2} [inst_1 : AddCommGroup E] [inst_2 : Module R E] {F : Type u_3}
  [inst_3 : AddCommGroup F] [inst_4 : Module R F] {G : Type u_4} [inst_5 : AddCommGroup G] [inst_6 : Module R G]
  {f : E →ₗ[R] F} {g : E →ₗ[R] G} (hf : f.range = ⊤) (hg : g.range = ⊤) (hfg : IsCompl f.ker g.ker) (x : E),
  (f.equivProdOfSurjectiveOfIsCompl g hf hg hfg) x = (f x, g x)