(* reverse of a multivector each basis element is reversed *)
Fixpoint rev n : vect n -> vect n :=
match n return vect n ->  vect n with
|    0 => fun a => a
| S n1 => fun v => let (x,y) := v in (rev n1 x ^_'f, rev n1 y)
end.
Notation "''R[' x ]" := (rev _ x).

Lemma rev_hom  n m x : (m <= n)%nat -> hom p n m x ->
'R[x] = ((-(1)) ^ (div2 (m * (m - 1))))%f .* x.