The grid is the verifier's computation tableau. Time flows downward and tape position runs across. Cell (t, p) records what symbol sits on tape position p at time step t — and whether the TM head and state are there. Each row is a complete configuration (tape snapshot + head + state) of the verifier V at one instant.
Row t = 0 (the start configuration). The head is at cell 0 in state q0. Cells 1–3 hold the input x₁ x₂ x₃. Cells 5–7 hold the guessed certificate c₁ c₂ c₃ (the witness we're trying to find).
The dashed orange 2 × 3 window. Any two consecutive rows and three consecutive columns capture one tiny step of the TM. Because the TM's head moves at most one cell per step, what cell (t+1, p) becomes depends only on cells (t, p-1), (t, p), (t, p+1). So if every 2 × 3 window obeys the transition function δ, the whole row-to-row evolution is a legal TM run. Each window becomes a small SAT clause.
The green qa box near t = k. The verifier accepts iff some cell, at some time, holds the accept state qa. That's a single big OR-clause over all (t, p).
The variables. Boolean xt,p,s is true iff cell (t, p) holds symbol s. Total count: nk · nk · |Γ| = polynomial. Three clause families ("start", "every window legal", "accept somewhere") combine into φx. Satisfiable iff some certificate makes V accept ⇒ every NP problem reduces to SAT in polynomial time.
NP is the class of problems where, given a candidate solution (a certificate), we can verify it in polynomial time. Finding the certificate may be much harder.
The two definitions are equivalent: given a verifier V and certificate c, a nondeterministic TM can guess c (one symbol per nondeterministic step) and then run V; conversely, an NTM's accepting computation path is itself a polynomial-size certificate. Sipser proves this equivalence in L14 and uses both viewpoints interchangeably.
SAT: given a Boolean formula, is there an assignment that makes it true? Watch a small instance below; click on a variable to flip it and see clauses turn green/red.
3-SAT restricts each clause to exactly 3 literals. The class doesn't get easier — 3-SAT is still NP-complete (we'll see why below) — but it is structurally simpler, which makes it the standard launching pad for most reductions.
The Cook–Levin theorem says SAT is NP-hard: every problem in NP reduces to SAT in polynomial time. The proof is a tour-de-force of encoding: given an NP language L with verifier V running in time nk, build a SAT formula φx asserting "there exists a computation of V on (x, c) that accepts." The formula is satisfiable iff x ∈ L.
The formula has clauses that say: "the start of the tape is the correct initial configuration", "each cell changes consistent with δ", "an accept state appears somewhere". Putting them together: the computation tableau.
Once SAT is NP-hard, every problem we reduce from SAT inherits NP-hardness. A chain of polynomial-time reductions:
Show that if P = NP, then every language in P, except ∅ and Σ*, is NP-complete.
Show that PATH is in P, and that HAMPATH is in NP.
Show that NP is closed under union and concatenation.
Show that the 3COLOR = {⟨G⟩ : G is 3-colorable} problem is NP-complete.
Show that SUBSET-SUM is NP-complete (in NP and 3SAT ≤_p SUBSET-SUM).
Show that if P = NP, you can find a satisfying assignment for any satisfiable 3CNF formula in polynomial time (search-to-decision reduction).