Hint Rewrite contra0r: GRm0.

(* Specifications: *)
Lemma contra0l n (x:vect n) : #<0, x># = 0.
Lemma contrak n i lf : #<lf, [i]># = 0 :> vect n.
Lemma contra_e n i lf : i < n -> #<lf, 'e_i># = [projk _ i lf] :> vect n.
Lemma contra_scalr n k lf (x: vect n) : #< lf, k .* x ># = k .* #< lf , x >#.
Lemma contra_addr n lf (x y: vect n) : #< lf, x + y ># = #< lf, x ># + #< lf,  y >#.
Lemma contra_scall n (k : K) (x : kn n)  (M : vect n) :
#< (scalE (Kn.vn_eparams p n) k x), M># = k .* #<x, M>#.
Lemma contra_addl n (x y : kn n) (M : vect n) :
#< x + y, M ># =  #< x, M ># + #<y, M >#.
Lemma contra_conj n lf b (x: vect n) : #< lf, x ^_ b ># = #< lf, x ># ^_ (negb b).
Lemma contra_hom n lf k M : hom n k.+1 M -> hom n k #<lf , M>#.
Hint Resolve contra_hom.
Lemma contra_hom0 n lf M : hom n 0 M -> #<lf , M># = 0.
Lemma contra_swap n lf1 lf2 (M: vect n) :
#<lf1, #< lf2, M>#  ># = (-(1)).*  #<lf2, #< lf1, M>#  >#.