A Logic Programming Language with Abduction and Assumptions