intros.
unfold head in |- *.
apply conseq_hdtl.
Qed.
Hint Resolve hdtl_x_is_x: algebra.
Hint Extern 0 (head _;; Seqtl _ =' _ in _) =>
fold hdtl in |- *; apply Sym; apply hdtl_x_is_x: algebra.
Hint Extern 0 (_ =' head _;; Seqtl _ in _) =>
fold hdtl in |- *; apply hdtl_x_is_x: algebra.

Lemma cons_lemma_nice :
forall P : Predicate (seq (S n) A),
(forall (a : A) (v : seq n A), Pred_fun P (a;; v)) ->
forall w : seq (S n) A, Pred_fun P w.