intros.
simpl in |- *.
red in |- *.
intro x.
simpl in |- *.
apply a_scalar_times_zero_gives_zero; auto with algebra.
Qed.
End mult_facts.
Hint Resolve mult_const_Zero mult_const_Zero: algebra.
Section proj_via_mult_by_scalars.
Let basisvec0prop :
forall (F : field) (n : Nat) (H : 0 < S n),
Seqtl (Basisvec_Fn F H) =' const_seq n (zero F) in _.
intros.
simpl in |- *.
red in |- *.
simpl in |- *.
intro.
case x.
auto with algebra.
Qed.
Let basisvecprop2 :
forall (F : field) (n i : Nat) (H : i < n) (HS : S i < S n),
Seqtl (Basisvec_Fn F HS) =' Basisvec_Fn F H in _.
intros.
simpl in |- *.
red in |- *.
intro x; case x.
intros.
apply Ap_comp; auto with algebra.
Qed.
(** - $v_i = \vec e_i\cdot \vec v$ *)

(* Specifications: *)
Lemma projection_via_mult_by_scalars :
forall (F : field) (M : module F) (n i : Nat) (Hi Hi' : i < n) (v : seq n M),
v (Build_finiteT Hi) =' sum (mult_by_scalars (Basisvec_Fn F Hi') v) in _.