let rec exists f xs = try List.fold_left (fun p x -> let q = f x in if F.is_true q then raise Trivial ; F.p_or p q) F.p_false xs with Trivial -> F.p_true