(* Get the constant part of a vector *)
Fixpoint const (n: nat): (vect n) -> K :=
  match n return vect n -> K with 
  | O => fun a => a
  | S n1 => fun l => let (l1,l2) := l in const n1 l2
  end.Notation "'C[ x ]" := (const _ x).Notation "x ?= 0" := (eq0 _ x) (at level 70): g_scope.

Lemma get_hom_add n m x y : get_hom n m (x + y) = get_hom n m x + get_hom n m y.