abductive reasoner