{R : Type u} →
  {L : Type v} →
    {M : Type w} →
      {N : Type w₁} →
        [inst : CommRing R] →
          [inst_1 : LieRing L] →
            [inst_2 : AddCommGroup M] →
              [inst_3 : AddCommGroup N] →
                [inst_4 : Module R M] →
                  [inst_5 : Module R N] →
                    [inst_6 : LieRingModule L M] →
                      [inst_7 : LieRingModule L N] →
                        (toFun : M → N) →
                          (∀ (x y : M), toFun (x + y) = toFun x + toFun y) →
                            (∀ (m : R) (x : M), toFun (m • x) = (RingHom.id R) m • toFun x) →
                              (∀ {x : L} {m : M}, toFun ⁅x, m⁆ = ⁅x, toFun m⁆) →
                                (invFun : N → M) →
                                  Function.LeftInverse invFun toFun → Function.RightInverse invFun toFun → M ≃ₗ⁅R,L⁆ N