SAT Foundations