intros.
rename x into x1.
induction x1 as [| c| x0 IHx0 x2 IHx2| c x1 IHx1].
simpl in |- *.
apply Refl.
simpl in |- *.
simpl in c.
destruct c.
simpl in |- *.
apply Refl.
apply Trans with (span_ind_injection x0 +' span_ind_injection x2);
[ apply Refl | idtac ].
apply
Trans
with
(subtype_elt
(span_ind_injection
(Plusvector (span_ind_uninject x0) (span_ind_uninject x2))));
[ idtac | apply Refl ].
apply
Trans
with
(subtype_elt
(span_ind_injection (span_ind_uninject x0) +'
span_ind_injection (span_ind_uninject x2))).
2: apply subtype_elt_comp.
2: simpl in |- *.
2: red in |- *; apply Refl.
apply
Trans
with
(subtype_elt (span_ind_injection (span_ind_uninject x0)) +'
subtype_elt (span_ind_injection (span_ind_uninject x2))).
2: apply Refl.
apply SGROUP_comp.
apply IHx0.
apply IHx2.
apply Trans with (c mX span_ind_injection x1); [ apply Refl | idtac ].
apply
Trans with (subtype_elt (c mX span_ind_injection (span_ind_uninject x1)));
[ idtac | abstract apply Refl ].
apply
Trans with (c mX subtype_elt (span_ind_injection (span_ind_uninject x1)));
abstract auto with algebra.
Set Virtual Machine.
Time Qed.
Unset Virtual Machine.
Section prelim.
Variable F : field.
Variable V : vectorspace F.

(* 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).