Boolean Satisfiability and Standard NP-Complete Problems

College Depth 74 in the knowledge graph I know this Set as goal
Unlocks 3 downstream topics
SAT NP-completeness hard-problems

Core Idea

SAT (Boolean satisfiability) is NP-complete by the Cook-Levin theorem: any NP problem reduces to SAT in polynomial time. Other canonical NP-complete problems—3-SAT, independent set, vertex cover, Hamiltonian path—form a landscape of computationally hard problems. Solving SAT efficiently would imply P = NP and break modern cryptography.

Explainer

From the Cook-Levin theorem you already know that SAT is NP-complete: any nondeterministic polynomial-time computation can be encoded as a Boolean formula, so SAT captures the hardest problems in NP. But the Cook-Levin proof produces complicated formulas — exponentially large circuits of gates. In practice, nearly everything in complexity theory reduces not directly from SAT but from a simplified variant: 3-SAT, where every clause has *exactly three literals*. The reduction from SAT to 3-SAT is a key exercise: replace a clause with k > 3 literals by introducing fresh auxiliary variables and a chain of 3-literal clauses that is satisfiable iff the original was. 3-SAT is easier to reduce *from* than SAT because its structure is rigid and uniform, making it the primary workhorse for NP-completeness proofs.

The landscape of NP-complete problems is built by a web of polynomial-time reductions. Independent set asks: does a graph contain k vertices with no edge between any pair? Vertex cover asks: do k vertices touch every edge? These two are complementary — S is an independent set iff the complement V \ S is a vertex cover — so they reduce to each other trivially. Clique — does the graph contain a complete subgraph on k vertices? — reduces to independent set by complementing the graph. Hamiltonian path and Hamiltonian cycle ask whether a graph has a path or cycle visiting every vertex exactly once, and these reduce from 3-SAT by gadget constructions that force the Hamiltonian path to "choose" truth assignments. Subset sum — can a subset of integers sum to a target T? — is NP-complete too, showing that number-theoretic problems are not inherently easier than graph problems.

The unifying principle behind all these reductions is that hardness transfers: if problem A reduces to problem B, then B is at least as hard as A. Once you know 3-SAT is NP-complete, proving that a new problem X is NP-complete requires only (1) showing X is in NP (exhibit a polynomial-time verifier) and (2) showing 3-SAT (or any NP-complete problem) reduces to X in polynomial time. You pick whichever NP-complete problem is most convenient to reduce from. The skill in NP-completeness proofs is designing reduction gadgets that faithfully translate the source problem's structure into the target problem's language.

The practical consequence is stark. If any NP-complete problem were solvable in polynomial time, every NP problem would be — including factoring large integers and breaking RSA. Modern cryptography, blockchain systems, and secure communication rely on the assumed hardness of NP problems (or problems believed to be at least as hard). Solving SAT efficiently would unravel cryptographic security across the internet. This is why NP-completeness is not an abstract curiosity but a load-bearing pillar of both theoretical computer science and practical security.

Practice Questions 5 questions

Prerequisite Chain

Counting to 10Counting to 20Understanding ZeroThe Number ZeroCounting to FiveOne-to-One CorrespondenceCombining Small Groups Within 5Addition Within 10Addition Within 20Two-Digit Addition Without RegroupingTwo-Digit Addition with RegroupingAddition Within 100Repeated Addition as MultiplicationMultiplication 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 100Two-Digit by One-Digit DivisionDivision with RemaindersRemainders and Quotients in DivisionDivision Word ProblemsIntroduction to Long DivisionFactors and MultiplesPrime and Composite NumbersEquivalent FractionsRelating Fractions and DecimalsDecimal Place ValueReading and Writing DecimalsComparing and Ordering DecimalsAdding and Subtracting DecimalsMultiplying DecimalsDividing DecimalsDividing FractionsMixed Number ArithmeticOrder of OperationsInteger Order of OperationsVariable ExpressionsCombining Like TermsOne-Step EquationsTwo-Step EquationsSolving Multi-Step EquationsEquations with Variables on Both SidesLiteral EquationsSlope-Intercept FormPoint-Slope FormWriting Linear EquationsParallel and Perpendicular Line SlopesGraphing Linear EquationsPiecewise FunctionsStep FunctionsComposition of FunctionsInverse FunctionsRadical Functions and GraphsRational ExponentsExponential Functions and GraphsLogarithms IntroductionBig-O Notation and Asymptotic AnalysisBreadth-First Search (BFS)Shortest Paths in Unweighted GraphsDijkstra's Shortest Path AlgorithmAlgorithm Analysis and Big-O NotationTuring MachinesThe Church-Turing ThesisThe Halting ProblemComputability ReductionsPolynomial-Time ReductionsLower Bounds Techniques in Computational ComplexityNP-CompletenessThe Cook-Levin TheoremBoolean Satisfiability and Standard NP-Complete Problems

Longest path: 75 steps · 416 total prerequisite topics

Prerequisites (2)

Leads To (1)