induction ls; intuition.
Qed.

(* Specifications: *)
Theorem fold_left_orb_true_in :
forall (A : Type)(f : A -> bool)(ls : list A) a init,
In a ls ->
f a = true ->
fold_left (fun b x => orb b (f x)) ls init = true.
Theorem hd_filter_false_eq_and_false :
forall (A : Type)(ls : list A)(P : A -> bool),
(if hd_error (filter P ls) then false else true) =
fold_left (fun (b : bool) (z : A) => b && negb (P z)) ls true.