Davis-Putnam Algorithm