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