let check_predicate_vars handle_error =
  let rec check_predicate_vars_rec = function
      Not(p) ->
        check_predicate_vars_rec p
    | Equal(t1,t2)
    | Leq(t1,t2)
    | In(t1,t2) ->
        check_var handle_error t1;
        check_var handle_error t2
    | Event(Const(i),lt) ->
        List.iter (check_var handle_error) lt
    | Event(t,lt) ->
        check_var handle_error (Base t);
        List.iter (check_var handle_error) lt
    | _ -> ()
  in
  check_predicate_vars_rec