(* The base as the list of all the generators *)

(* Every vector is a linear combination of the base *)
Lemma cbl_base n v : cbl _ (base n) v.
Fixpoint proj (n: nat) k : (kn n) -> K :=
match n return kn n -> K with
| O => fun _ => 0%f
| S n1 => fun l => let (a,l1) := l in
match k with | O => a | S k1 =>
proj n1 k1 l1
end
end.