Section spans.
Variable F : field.
Variable V : vectorspace F.
Definition span_set (S : part_set V) : part_set V := is_lin_comb_pred S.
(** %\tocdef{span}% *)
Definition span : part_set V -> subspace V.
intro S.
apply alt_Build_subspace with (span_set S).
red in |- *; split; try split.
simpl in |- *.
red in |- *.
exists 0.
exists (empty_seq F).
exists (empty_seq S).
simpl in |- *.
auto with algebra.
intros; simpl in H, H0; simpl in |- *; red in H, H0; red in |- *.
inversion_clear H; inversion_clear H0; inversion_clear H; inversion_clear H1;
inversion_clear H0; inversion_clear H.
exists (x0 + x1).
exists (x3 ++ x2).
exists (x5 ++ x4).
apply
Trans
with
(sum (mult_by_scalars x3 (Map_embed x5)) +'
sum (mult_by_scalars x2 (Map_embed x4))); auto with algebra.
apply
Trans
with
(sum
(mult_by_scalars x3 (Map_embed x5) ++
mult_by_scalars x2 (Map_embed x4))); auto with algebra.
apply
Trans with (sum (mult_by_scalars (x3 ++ x2) (Map_embed x5 ++ Map_embed x4)));
auto with algebra.
intros.
red in |- *; red in H.
simpl in |- *; simpl in H.
red in |- *; red in H.
inversion_clear H; inversion_clear H0; inversion_clear H.
exists x0;
exists (pointwise (uncurry (RING_comp (R:=F))) (const_seq x0 c) x1);
exists x2.
apply
Trans
with
(sum
(mult_by_scalars (const_seq x0 c) (mult_by_scalars x1 (Map_embed x2))));
auto with algebra.
apply Trans with (c mX sum (mult_by_scalars x1 (Map_embed x2)));
auto with algebra.
Defined.
intros.
simpl in |- *.
red in |- *.
simpl in |- *.
intro.
split.
intro.
apply is_lin_comb_comp with x S; auto with algebra.
intro.
apply is_lin_comb_comp with x S'; auto with algebra.
Qed.

(** - %\intoc{\bf Theorem 1.5}% *)
Lemma span_is_subspace : forall S : part_set V, is_subspace (span S).