A topic in the Open Knowledge Graph — a free, open map of 15,290 topics and the order to learn them in.

Boolean Satisfiability (SAT)

College Depth 87 in the knowledge graph I know this Set as goal
9topics build on this
539prerequisites beneath it
See this on the map →
Boolean AlgebraNP and Polynomial-Time Verification+2 more3-SAT and NP-Completeness via CNFSatisfiability Problem: The Canonical NP-Complete Problem
satisfiability np decision-problems

Core Idea

The Boolean satisfiability problem asks whether a propositional formula can be made true by assigning truth values to its variables. SAT is the canonical NP problem: every problem in NP can be reduced to SAT. Despite its centrality, no polynomial-time algorithm is known, and SAT is widely believed to require exponential time in the worst case.

How It's Best Learned

Experiment with small propositional formulas: try to find assignments making them true. Understand why verifying a satisfying assignment is easy (linear time) but finding one seems hard.

Common Misconceptions

Explainer

You know from your prerequisites that NP is the class of decision problems whose solutions can be *verified* in polynomial time — given a candidate answer, a polynomial-time algorithm can confirm or refute it. You also know Boolean algebra: propositional variables taking values true/false, connected by AND (∧), OR (∨), and NOT (¬). The Boolean satisfiability problem (SAT) asks: given a propositional formula, is there an assignment of true/false to its variables that makes the whole formula evaluate to true? For example, (x₁ ∨ ¬x₂) ∧ (x₂ ∨ x₃) is satisfied by x₁ = true, x₂ = false, x₃ = anything. SAT is in NP because if you're given a satisfying assignment, you can verify it in linear time by just evaluating the formula.

The deeper result — the Cook-Levin theorem — is that SAT is NP-complete: not just in NP, but as hard as any problem in NP. This means every problem in NP can be reduced to SAT in polynomial time. The argument is constructive: for any NP problem with a polynomial-time verifier, you encode the verifier's computation as a Boolean formula whose satisfying assignments correspond exactly to the accepting computations on inputs that are yes-instances. The encoding captures the entire tableau of the verifier step by step. If you could solve SAT in polynomial time, you could solve every NP problem in polynomial time — so P = NP. SAT is thus the "first" NP-complete problem and the canonical benchmark for computational hardness.

The asymmetry between verification and search is at the heart of why SAT is hard. Checking that an assignment satisfies a formula takes O(n) time — you just evaluate each clause. But *finding* a satisfying assignment requires exploring a space of 2n possible assignments in the worst case, and no algorithm is known that avoids this exponential blowup in general. This gap between easy verification and apparently hard search is the defining feature of NP-complete problems. The open P vs. NP question is precisely asking whether this gap is real or whether clever polynomial-time search algorithms exist for SAT (and therefore all of NP).

Modern SAT-solvers (like DPLL and CDCL-based tools) exploit structure in real-world instances — unit propagation, conflict-driven clause learning, smart branching heuristics — to solve instances with millions of variables in practice. These solvers are foundational tools in hardware verification, planning, and constraint satisfaction. But they are not polynomial-time algorithms; they have no worst-case guarantee that avoids exponential time. The practical tractability of most real-world SAT instances is a separate empirical fact from the theoretical worst-case hardness — a crucial distinction that separates algorithm engineering from complexity theory.

Practice Questions 5 questions

Prerequisite Chain

Understanding ZeroThe Number ZeroCounting to FiveCounting to 10Counting to 20Counting a Set of Objects Up to 20Cardinality: The Last Number CountedMatching Numerals to QuantitiesSubitizing Small QuantitiesAddition Within 10Number Bonds to 10Addition Within 20Doubles and Near DoublesDoubles Facts Within 10Near Doubles Facts Within 20Mental Math Strategies for AdditionMental Math: Adding and Subtracting TensAddition Within 100Repeated Addition as MultiplicationMultiplication as Equal GroupsMultiplication: ArraysBasic Multiplication Facts (0s, 1s, 2s, 5s, 10s)Multiplication Facts Within 100Division as Equal SharingDivision as Grouping (Measurement Division)Division: Grouping (Repeated Subtraction) ModelDivision: Fair Sharing ModelDivision as Equal SharingDivision as GroupingBasic Division FactsDivision Facts Within 100Multiplication and Division Fact FamiliesRelationship Between Multiplication and DivisionDivision Facts as Inverse of MultiplicationRemainders and Quotients in DivisionDivision Word ProblemsMulti-Step Word ProblemsSolving Multi-Step Word ProblemsMultiplication Word ProblemsDivision Word ProblemsIntroduction to Long DivisionFactors and MultiplesPrime and Composite NumbersEquivalent FractionsRelating Fractions and DecimalsDecimal Place ValueIntegers and the Number LineComparing and Ordering IntegersAbsolute ValueAdding IntegersSubtracting IntegersMultiplying IntegersIntroduction to ExponentsOrder of OperationsInteger Order of OperationsVariable ExpressionsThe Distributive PropertyVariables and Expressions ReviewIntroduction to PolynomialsAdding and Subtracting PolynomialsMultiplying PolynomialsFactorialPermutationsCombinationsCounting Principles: Addition and Multiplication RulesIntroduction to Graph TheoryPropositional Logic FoundationsLogical EquivalencesBoolean AlgebraIntroduction to Propositional LogicIntroduction to Predicate Logic (First-Order Logic)First-Order Logic SyntaxTerms and Atomic Formulas in FOLVariable Binding and ScopeOpen and Closed Formulas in First-Order LogicVariable Substitution and Capture-Avoidance in First-Order LogicQuantifier Instantiation Rules in First-Order Proof SystemsUniversal Quantification: Meaning and ScopeFree Variables and Bound VariablesSubstitution and Instantiation in Predicate LogicTerms and Atomic FormulasFormulas and Well-Formed ExpressionsStructures and InterpretationsModel Interpretation and SatisfactionInterpretation, Truth, and Satisfaction of FormulasLogical Consequence and EntailmentSatisfiability and UnsatisfiabilityBoolean Satisfiability (SAT)

Longest path: 88 steps · 539 total prerequisite topics

Prerequisites (4)

Leads To (2)