(** %\tocdef{is\_{\em[in]}finite\_dimensional}% *)
Definition is_finite_dimensional (F : field) (V : vectorspace F) :=
  exists beta : basis V, (exists n : Nat, has_n_elements n beta).Definition is_infinite_dimensional (F : field) (V : vectorspace F) :=
  forall (beta : basis V) (n : Nat), ~ has_n_elements n beta.(** %\tocdef{has\_dim}% *)
Definition has_dim (F : field) (n : Nat) (V : vectorspace F) :=
  exists beta : basis V, has_n_elements n beta.

Lemma every_lin_indep_set_can_be_extended_to_a_basis : forall (F : field) (V : vectorspace F), is_finite_dimensional V -> forall (beta : basis V) (Sset : part_set V), lin_indep Sset -> exists S1 : part_set V, included S1 beta /\ is_basis (union Sset S1).