Inductive len : list A -> nat -> Prop :=
(************)
| len_nil : len nil 0
| len_cons :
forall (b : A) (v : list A) (l : nat), len v l -> len (b :: v) (S l).
Hint Resolve len_nil len_cons.

Lemma nil_cons : forall (b : A) (v : list A), nil <> b :: v.
intros. discriminate.