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).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).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).

Lemma not_cons_eq : forall (v : list A) (b : A), v <> b :: v.