Section FieldExtTheory.
Variables (F0 : fieldType) (L : fieldExtType F0).
Implicit Types (U V M : {vspace L}) (E F K : {subfield L}).
Canonical prodv_comoid := Monoid.ComLaw prodvC.
Canonical aimg_aspace rT f E := ASpace (@aimg_is_aspace rT f E).
Fact aspace_divr_closed K : divr_closed K.
Canonical subvs_fieldType K :=
Eval hnf in FieldType (subvs_of K) (@subvs_fieldMixin K).
Canonical subvs_fieldExtType K := Eval hnf in [fieldExtType F0 of subvs_of K].
Fact prodv_is_aspace E F : is_aspace (E * F).
Canonical prodv_aspace E F : {subfield L} := ASpace (prodv_is_aspace E F).
Fact field_mem_algid E F : algid E \in F. Proof. by rewrite algid1 mem1v. Qed.
Canonical capv_aspace E F : {subfield L} := aspace_cap (field_mem_algid E F).

Lemma field_module_dimS F M : (F * M <= M)%VS -> (\dim F %| \dim M)%N.