X = {x1 , x2 … xm } is there an assignment of variables X such that S is true? S1 = (a) ! (b)" S2 = (a ! b ! -c) # (-a ! b ! d)" S3 = (a ! b) # (-a ! c)"
C of assignments to variables X, it is easy to evaluate the formula and see if it is true. X= { x1 , x2 , x3 }" S = (x1 ! x2 ! -x3 ) # (-x1 ! x2 ! x3 )" C = { x1 =T, x2 =F, x3 =T}" Note: Many different C’s would work. x2 being true satisfies S = (T ! F ! -T) # (-T ! F ! T)" = (T ! F ! F) # ( F ! F ! T)" = T" ✓
problem/language A is in NP, there’s a Nondeterministic Turing Machine NTMA that recognizes it in polynomial time Can we simulate NTMA using only boolean expressions? Boolean expressions are made up of: ANDs ORs NOTs
position Input w is of length n" NTMA runs in p(n) steps" If NTMA accepts w, it does so through a sequence of p(n) configurations The config itself is p(n) in length
." ." ." ." …" ." ." ." Cp(n),0" Cp(n),1" …" Cp(n),p(n)" There are only so many symbols that could be in Ci,j" " For each symbol s, xi,j,s is true when Ci,j has s in it. We will form $ from x’s
expression will be made up of four sub- expressions: " • $unique "(Exactly one symbol in each cell) • $start "(The start configuration is valid) • $move "(All of the transitions are valid) • $accept "(One of the configurations accepts) $ = $unique # $start # $move # $accept
)" – For all possible symbols Y, Z (Y ≠ Z)" • Take the AND of all (-xi,j,Y ! -xi,j,Z )" In other words, for all pairs of symbols, it’s true that any given cell fails to have one of them (aka: each cell only has one symbol)
transition Constant number of transitions for NTMA" " We can check if a window is legal in constant time " $move = The AND of all windows with top center cell Ci,j being legal
independent of n, so it’s a constant. The number of cells is p(n) * p(n)" " $start " "- O(p(n)) symbols Simply checking every symbol in a single row of the tableau " $move " "- O(p(n)2) symbols Need to check every “window”, of which there are almost as many as there are cells, p(n) * p(n) " $accept "- O(p(n)2) symbols Need to check each cell for accept symbol, of which there are p(n) * p(n).
in [P], and I feel it is worth spending considerable effort trying to prove this conjecture.” “Such a proof would be a major breakthrough in complexity theory”