(**********************)
simple induction n. auto with arith. intros. simpl in |- *. auto with arith.
Qed. Hint Resolve length_list_const.
(****************************************************************)
(* rev: renverse une liste *)
Fixpoint rev (l : list A) : list A :=
(************************)
match l return (list A) with
| nil => nil
| b :: l' => rev l' ++ b :: nil
end.

(* Specifications: *)
Lemma rev_eq1 : rev nil = nil.
auto with arith. Qed.
Lemma rev_eq2 :
forall (b : A) (l' : list A), rev (b :: l') = rev l' ++ b :: nil.