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