Lemma replacement_theorem : forall (F : field) (V : vectorspace F) (beta : basis V) (n : Nat), has_n_elements n beta -> forall Sset : part_set V, lin_indep Sset -> forall m : Nat, m <= n -> has_n_elements m Sset -> exists S1 : part_set beta, has_n_elements (n - m) S1 /\ generates (union Sset (inject_subsets S1)) (full V).