(* Defining the natural injection of Kn in Gn *)
Definition Kn := kn p.
Fixpoint k2g (n: nat) {struct n} : kn n ->  vect n :=
match n return kn n -> vect n with
O => fun k => 0%f
| S n1 => fun v => let (k, v1) := v in ([k], k2g n1 v1)
end.
Notation "'v_ x" := (k2g _ x) (at level 9).
Notation "'kn n" := (vn_eparams p (pred n)) (at level 10).

Lemma k2g_unit n i : i < n -> 'v_('e_i)%Kn = 'e_i :> vect n.