{R : Type u_1} →
  {E : Type u_2} →
    {F : Type u_3} →
      [inst : CommRing R] →
        [inst_1 : AddCommGroup E] →
          [inst_2 : AddCommGroup F] →
            [inst_3 : Module R E] →
              [inst_4 : Module R F] →
                [inst_5 : TopologicalSpace E] →
                  [inst_6 : TopologicalSpace F] →
                    [inst_7 : ContinuousAdd E] →
                      [inst_8 : ContinuousAdd F] →
                        [inst_9 : TopologicalSpace R] →
                          [inst_10 : ContinuousSMul R E] →
                            [inst_11 : ContinuousSMul R F] →
                              {f : E →ₗ.[R] F} →
                                {S : Submodule R E} →
                                  {motive : f.HasCore S → Sort u} →
                                    (t : f.HasCore S) →
                                      ((le_domain : S ≤ f.domain) →
                                          (closure_eq : (f.domRestrict S).closure = f) → motive ⋯) →
                                        motive t