Dischargeable obligations in abductive logic programming