(** - The type of formal expressions *)
Inductive span_ind_formal : Type :=
  | Zerovector : span_ind_formal
  | Immediately : S -> span_ind_formal
  | Plusvector : span_ind_formal -> span_ind_formal -> span_ind_formal
  | Multvector : F -> span_ind_formal -> span_ind_formal.(** - The type of formal expressions *)
Inductive span_ind_formal : Type :=
  | Zerovector : span_ind_formal
  | Immediately : S -> span_ind_formal
  | Plusvector : span_ind_formal -> span_ind_formal -> span_ind_formal
  | Multvector : F -> span_ind_formal -> span_ind_formal.(** - The type of formal expressions *)
Inductive span_ind_formal : Type :=
  | Zerovector : span_ind_formal
  | Immediately : S -> span_ind_formal
  | Plusvector : span_ind_formal -> span_ind_formal -> span_ind_formal
  | Multvector : F -> span_ind_formal -> span_ind_formal.(** - The type of formal expressions *)
Inductive span_ind_formal : Type :=
  | Zerovector : span_ind_formal
  | Immediately : S -> span_ind_formal
  | Plusvector : span_ind_formal -> span_ind_formal -> span_ind_formal
  | Multvector : F -> span_ind_formal -> span_ind_formal.(** - The type of formal expressions *)
Inductive span_ind_formal : Type :=
  | Zerovector : span_ind_formal
  | Immediately : S -> span_ind_formal
  | Plusvector : span_ind_formal -> span_ind_formal -> span_ind_formal
  | Multvector : F -> span_ind_formal -> span_ind_formal.Definition span_ind_set : part_set V.(** %\tocdef{span\_ind}% *)
Definition span_ind : subspace V.Definition lin_comb_ind (v : V) : Prop := in_part v span_ind.

Lemma is_lin_comb_from_generates' : forall (F : field) (V : vectorspace F) (S : part_set V) (W : subspace V), generates S W -> forall x : W, is_lin_comb (subtype_elt x) S.