← Student tools · Problem 22 · Lecture 10 · Round 2 (30 pts)

SAT · click variables, watch clauses turn green

Flip variables and visually verify or break clauses.

CLO-3R2·30 ptsL10
🔊 Listen

SAT = {⟨φ⟩ : φ is a satisfiable Boolean formula in conjunctive normal form (CNF)}. A CNF formula is a conjunction of clauses; each clause is a disjunction of literals; a literal is either a variable xi or its negation ¬xi. The formula is satisfiable if there exists an assignment of true/false to the variables that makes every clause true.

SAT ∈ NP (the easy direction)

Certificate: a satisfying assignment τ ∈ {0,1}n. Verifier: for each clause, check whether at least one literal evaluates to true under τ. Total time: O(m) where m is the number of literal-occurrences. Polynomial in |φ|.

Cook–Levin (Sipser 7.37)

SAT is NP-complete. Every problem in NP reduces to SAT in polynomial time. So SAT is "as hard as anything in NP" and is the canonical starting point for the NP-complete chain.

🔊 Listen
A clause is satisfied iff at least one of its literals is true C₁ = (x ∨ y ∨ z) under τ = (1, 0, 0): x=1 y=0 z=0 → TRUE (green) C₂ = (¬x ∨ y) under τ = (1, 0): ¬x=0 y=0 → FALSE (red) φ = C₁ ∧ C₂: TRUE ∧ FALSE = FALSE → φ unsatisfied For φ to be true, EVERY clause must be green. One red clause is enough to fail. The widget below lets you click x, y, z to flip them and watch which clauses go green.
🔊 Listen
Auto-solver tries assignments in order Auto-plays
🔊 Listen
🔊 Listen
🔊 Listen

Sipser: Theorem 7.37 (Cook–Levin). Lecture notes: Module 5 slides 3 (Cook–Levin tableau) and 4 (NP-complete chain). Companion problems: P21 (verifier vs solver), P26 (SAT → 3SAT), P55 (Cook–Levin specific).