(*******************)
intros. apply v_not_nil_length. apply not_nil. exact H.
Qed.
(****************************************************************)
(* Rend une liste de longueur n dont tous les elements sont x *)
Fixpoint list_const (n : nat) : A -> list A :=
(*****************)
fun x : A =>
match n return (list A) with
| O => nil
| S n' => x :: list_const n' x
end.

(* Specifications: *)
Lemma list_const_eq1 : forall x : A, list_const 0 x = nil.
auto with arith. Qed.
Lemma list_const_eq2 :
forall (n' : nat) (x : A), list_const (S n') x = x :: list_const n' x.