3-SAT and Reduction-Based Hardness Proofs

Graduate Depth 78 in the knowledge graph I know this Set as goal
Unlocks 1 downstream topic
3-sat reductions graph-problems hardness-proofs

Core Idea

3-SAT restricts SAT to formulas in conjunctive normal form with exactly 3 literals per clause. Despite this restriction, 3-SAT remains NP-complete and is the most common source for polynomial-time reductions proving other problems NP-complete. It provides a practical template for constructing hardness proofs across scheduling, graph algorithms, and optimization problems.

How It's Best Learned

Work through classic 3-SAT reductions (CLIQUE, VERTEX-COVER, INDEPENDENT-SET). Build a reduction from vertex cover to 3-SAT yourself.

Common Misconceptions

Explainer

You already know SAT is NP-complete. 3-SAT is SAT with a particular syntactic restriction: the formula must be in conjunctive normal form (a conjunction of clauses) and every clause must contain exactly three literals. The first thing to verify is that this restriction does not reduce the difficulty — and it does not. Every SAT instance can be converted to 3-SAT in polynomial time by splitting large clauses (introducing auxiliary variables) and padding short ones. So 3-SAT is also NP-complete. The restriction turns out to be practically useful: the rigid three-literal structure makes it easier to construct reductions to other problems, because you can build small gadgets that exploit the constraint directly.

A polynomial-time reduction from 3-SAT to a problem X is a function f, computable in polynomial time, that maps 3-SAT instances to instances of X such that: the 3-SAT formula is satisfiable if and only if f(φ) is a yes-instance of X. This proves X is NP-hard. The art is in designing f — typically by constructing gadgets, small substructures in X's domain (graph edges, schedule slots, etc.) that mimic the role of variables and clauses in 3-SAT. The reduction direction is crucial: you go *from* 3-SAT *to* X. If you could solve X efficiently, you could solve 3-SAT efficiently (by applying f and then calling your solver for X), which would make 3-SAT tractable — but it is NP-hard, so X must also be hard.

A classic example is the reduction from 3-SAT to INDEPENDENT SET: given a formula with k clauses, construct a graph with 3k nodes (one per literal occurrence) connected by two types of edges — within each clause's triangle (forcing exactly one literal from each clause to be chosen) and between opposite literals x and ¬x (preventing contradictory assignments). An independent set of size k exists if and only if the formula is satisfiable. The independent set "is" a satisfying assignment, encoded spatially. The same structural idea recurs across different reductions: variables become choices, clauses become constraints, and the graph or schedule enforces consistency.

What makes 3-SAT the standard source for hardness proofs — rather than general SAT or some other NP-complete problem — is a combination of rigidity and tractability of the reduction machinery. The three-literal structure is rich enough to simulate arbitrary Boolean constraints but constrained enough that gadgets can be small and explicit. When you encounter a new combinatorial problem and want to show it is NP-hard, the standard approach is: (1) show it is in NP, (2) identify a structural analogy between your problem's constraints and 3-SAT clauses, (3) build gadgets that translate clauses and variables, and (4) verify that the mapping is polynomial and that satisfiability is preserved in both directions. Mastering this template unlocks the ability to prove hardness for scheduling, coloring, packing, and hundreds of other problems.

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 MachinesTime Complexity and the Class PNondeterministic Turing MachinesNP and Polynomial-Time VerificationProbabilistic Computation and BPPBPP and Randomized ComplexityRandomized Complexity: RP, co-RP, and ZPPComplexity Classes and the Complexity HierarchyThe P Versus NP Problem: Central Open QuestionNP-Hardness: Definition and PropertiesNP-Completeness and the Cook-Levin TheoremSatisfiability Problem: The Canonical NP-Complete Problem3-SAT and Reduction-Based Hardness Proofs

Longest path: 79 steps · 439 total prerequisite topics

Prerequisites (1)

Leads To (1)