Splitting a Logic Program
the stable model semantics for logic programming .