intros; move n after W.
induction n.
simpl in |- *.
auto.
generalize dependent IHn.
set (re := rep_ext n H) in *.
change
(match re with
| existT i (existT w _) => i <= n
end ->
match match re with
| existT i (existT w H') => try_extend H'
end with
| existT i (existT w _) => i <= S n
end) in |- *.
case re.
intros x s.
destruct s.
intros.
generalize dependent (extend_prop a).
case (try_extend a).
intros x1 s; destruct s.
case (classic (span (V:=W) (seq_set x0) =' full W in part_set W)).
intros.
inversion_clear H2.
clear H4; elim H3; intros p q.
generalize dependent (q H1); intro r; simpl in r.
rewrite r.
auto with arith.
intros.
inversion_clear H2.
clear H3; elim H4; intros p q.
generalize dependent (q H1); intro r; simpl in r.
rewrite r.
auto with arith.
Qed.
Let n := the_dim V.

(* Specifications: *)
(** - %\intoc{\bf Theorem 1.11}% *)
Lemma subspace_preserves_findimvecsp : sigT (fun m => m <= n /\ has_dim m W).
generalize dependent grow_bound; intro H0.