let apply_predicate env def labels args =
apply_hints env def labels ;
let definition = get_definition compile_predicate def in
let params = List.map (term env) args in
let implicits = List.map (apply_closure env labels) definition.d_closure in
F.p_call definition.d_callname (params @ implicits)