ove=> sFE y; rewrite mem_vspaceOver field_module_eq ?sup_field_module.
Qed.pply/prodvP=> u v; rewrite !mem_vspaceOver; apply: memvM.
Qed.Variables (F0 : fieldType) (F : fieldExtType F0) (L : fieldExtType F).in_alg F a *: u.
Local Infix "*F0:" := baseField_scale (at level 40).(a * b) *F0: u.
Proof. by rewrite [_ *F0: _]scalerA -rmorphM. Qed.Proof. by rewrite /(1 *F0: u) rmorph1 scale1r. Qed.: a *F0: (u + v) = a *F0: u + a *F0: v.
Proof. exact: scalerDr. Qed.: v = a *F0: v + b *F0: v.
Proof. by rewrite -scalerDl -rmorphD. Qed.

Definition baseField_lmodMixin :=
  LmodMixin baseField_scaleA baseField_scale1baseField_scaleDr baseField_scaleDl.aleE a (u : L) : a *: (u : L0) = a%:A *: u.
Proof. by []. Qed.v : L0) : a *F0: (u * v) = (a *F0: u) * v.
Proof. exact: scalerAl. Qed.Canonical baseField_lalgType := LalgType F0 L0 baseField_scaleAl.: a *F0: (u * v) = u * (a *F0: v).
Proof. exact: scalerAr. Qed.Let coordF (x : F) := (coord_vbasis (memvf x)).ewrite !coord_sum_free ?(basis_free (vbasisP _)).
Qed.