let apply_predicate env def labels args =
    let definition = get_definition compile_predicate def in
    let arguments = List.map (data_of_term env) args in
    let bindings = apply_formals env labels definition.d_formals arguments in
    F.p_call definition.d_callname bindings