Answer set programming with agregates and open functions by