Logic programs with propositional connectives and aggregates
Splitting a Logic Program