Abduction in logic programming