Hint Resolve mcontra_hom.

(* Specifications: *)
Lemma mcontra_hom0 n lfs M : lfs <> nil -> hom n 0 M -> #<<lfs , M>># = 0.
Notation liftk := (Kn.lift p).
Lemma lift_contra n lf1 x : #< liftk n lf1, lift n x ># = lift n #<lf1, x>#.
Lemma lift_mcontra n lfs1 x :
#<< map (liftk n) lfs1, lift n x >># = lift n #<<lfs1, x>>#.
Lemma mcontra_one_factor n k1 k2 (x: vect n) :
k2 < k1 -> hom n k1 x ->
exists lfs, length lfs = k2 /\ #<<lfs , x>># = one_factor n k2 x.