(* Iterated contraction *)
Definition mcontra n (ll: list (kn n)) (x: vect n) :=
fold_left (fun x l => #<l,x>#) ll x.
Notation "#<< l , x >>#" := (mcontra _ l x).

Lemma mcontra_conj n lfs b (x: vect n) :
#<<lfs, x ^_ b >># = #<< lfs, x >># ^_ (iter negb (length lfs) b).