(* Lift a vector of dimension n into a vector of dimension n+1 whose
   first component is 0 *)
Definition lift (n: nat) (v: kn n) : (kn (S n)) :=  (0%f, v).

(* Specifications: *)
Lemma lift0 n : lift n 0 = 0.
Lemma lift_e : forall n i, 'e_(S i) = lift n ('e_i).
Lemma lift_add n x y : lift n (x + y) = lift n x + lift n y.
Lemma lift_mprod (n: nat) ks vs : ks *X* map (lift n) vs = lift n (mprod (vn_eparams n) ks vs).