(* The base as the list of all the generators *)
Fixpoint base (n : nat) : list (kn n) :=
  match n return list (kn n) with
  | 0 => nil
  | S n1 => ('e_0: kn (S n1)) :: map (lift n1) (base n1)
  end.

Lemma e_in_base_ex n v : In v (base n) -> exists p1, p1 < n /\ v = 'e_p1.