Fixpoint allb (ls : list T) : bool :=
    match ls with
      | nil => true
      | l :: ls =>
        if p l then allb ls else false
    end.Fixpoint anyb (ls : list T) : bool :=
    match ls with
      | nil => false
      | l :: ls =>
        if p l then true else anyb ls
    end.

Lemma Forall_cons_iff : forall (T : Type) (P : T -> Prop) a b, Forall P (a :: b) <-> (P a /\ Forall P b).