intros.
simpl in |- *.
red in |- *.
simpl in |- *.
split; intros.
apply lin_comb_casting with W; auto with algebra.
apply max_lin_indep_subset_generates_set; auto with algebra.
red in H.
inversion_clear H.
assert (included (span W') (span W)).
apply span_preserves_inclusion; auto with algebra.
change (in_part x (span W)) in |- *.
change (in_part x (span W')) in H0.
red in H.
apply H; auto with algebra.
Qed.

(** - The seq_set in this lemma is needed to transform seqs into sets: *)
Lemma seq_has_max_lin_indep_subseq :
forall (F : field) (V : vectorspace F) (n : Nat) (v : seq n V),
exists k : Nat,
(exists w : seq k V,
is_subseq w v /\ max_lin_indep (seq_set w) (seq_set v)).