(** - This file proves theorem 1.11 - every subspace W of a finite-dimensional
vectorspace V has itself a finite dimension < dim(V) *)

Fixpoint span_ind_uninject (F : field) (V : vectorspace F) 
 (W : subspace V) (X : part_set W) (x : span_ind_formal (inject_subsets X))
 {struct x} : span_ind_formal X :=
  match x with
  | Zerovector => Zerovector _
  | Immediately c => Immediately (S:=X) (uninject_subsetsify c)
  | Plusvector x1 x2 =>
      Plusvector (span_ind_uninject x1) (span_ind_uninject x2)
  | Multvector f x1 => Multvector f (span_ind_uninject x1)
  end.

(* Specifications: *)
Lemma not_generates_then_leaves_over : forall S : part_set V, ~ generates S (full V) -> exists v : V, ~ in_part v (span_set S).