Logic Programming with Satisfiability