(* 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 hom_lt n k v : n < k -> hom n k v -> v = 0.