interactive proofs
play

Interactive Proofs Lecture 17 IP = PSPACE 1 So far 2 So far IP - PowerPoint PPT Presentation

Interactive Proofs Lecture 17 IP = PSPACE 1 So far 2 So far IP 2 So far IP AM, MA 2 So far IP AM, MA GNI IP 2 So far IP AM, MA GNI IP GNI AM 2 So far IP AM, MA GNI IP GNI AM Using AM protocol for set


  1. Arithmetization A Boolean formula as a polynomial Arithmetic over a (finite, exponentially large) field 0 and 1 (identities of addition and multiplication) instead of True and False For formula F , polynomial P such that for boolean vector b and corresponding 0-1 vector x we have F(b) = P(x) NOT: (1-x); AND: x.y OR (as NOT of AND of NOT): 1 - (1-x).(1-y) 9

  2. Arithmetization A Boolean formula as a polynomial Arithmetic over a (finite, exponentially large) field 0 and 1 (identities of addition and multiplication) instead of True and False For formula F , polynomial P such that for boolean vector b and corresponding 0-1 vector x we have F(b) = P(x) NOT: (1-x); AND: x.y OR (as NOT of AND of NOT): 1 - (1-x).(1-y) Exercise: Arithmetize x=y (now!). Degree? Size? 9

  3. Arithmetization A Boolean formula as a polynomial Arithmetic over a (finite, exponentially large) field 0 and 1 (identities of addition and multiplication) instead of True and False For formula F , polynomial P such that for boolean vector b and corresponding 0-1 vector x we have F(b) = P(x) NOT: (1-x); AND: x.y OR (as NOT of AND of NOT): 1 - (1-x).(1-y) Exercise: Arithmetize x=y (now!). Degree? Size? Can always use a polynomial linear in each variable since x n =x for x=0 and x=1 9

  4. Arithmetization 10

  5. Arithmetization A QBF as a polynomial 10

  6. Arithmetization A QBF as a polynomial TRUE will correspond to > 0, and FALSE, = 0 10

  7. Arithmetization A QBF as a polynomial TRUE will correspond to > 0, and FALSE, = 0 Suppose for Boolean formula F , polynomial P 10

  8. Arithmetization A QBF as a polynomial TRUE will correspond to > 0, and FALSE, = 0 Suppose for Boolean formula F , polynomial P ∃ x F(x) → P(0) + P(1) > 0 (i.e., Σ x=0,1 P(x) > 0) 10

  9. Arithmetization A QBF as a polynomial TRUE will correspond to > 0, and FALSE, = 0 Suppose for Boolean formula F , polynomial P ∃ x F(x) → P(0) + P(1) > 0 (i.e., Σ x=0,1 P(x) > 0) ∀ x F(x) → P(0).P(1) > 0 (i.e., Π x=0,1 P(x) > 0) 10

  10. Arithmetization A QBF as a polynomial TRUE will correspond to > 0, and FALSE, = 0 Suppose for Boolean formula F , polynomial P ∃ x F(x) → P(0) + P(1) > 0 (i.e., Σ x=0,1 P(x) > 0) ∀ x F(x) → P(0).P(1) > 0 (i.e., Π x=0,1 P(x) > 0) Extends to more quantifiers: i.e., if F(x) is a QBF above 10

  11. Arithmetization A QBF as a polynomial TRUE will correspond to > 0, and FALSE, = 0 Suppose for Boolean formula F , polynomial P ∃ x F(x) → P(0) + P(1) > 0 (i.e., Σ x=0,1 P(x) > 0) ∀ x F(x) → P(0).P(1) > 0 (i.e., Π x=0,1 P(x) > 0) Extends to more quantifiers: i.e., if F(x) is a QBF above So, how do you arithmetize ∃ x ∀ y G(x,y) and ∀ y ∃ x G(x,y)? 10

  12. Arithmetization A QBF as a polynomial TRUE will correspond to > 0, and FALSE, = 0 Suppose for Boolean formula F , polynomial P ∃ x F(x) → P(0) + P(1) > 0 (i.e., Σ x=0,1 P(x) > 0) ∀ x F(x) → P(0).P(1) > 0 (i.e., Π x=0,1 P(x) > 0) Extends to more quantifiers: i.e., if F(x) is a QBF above So, how do you arithmetize ∃ x ∀ y G(x,y) and ∀ y ∃ x G(x,y)? Σ x=0,1 Π y=0,1 P(x,y) > 0 and Π y=0,1 Σ x=0,1 P(x,y) > 0 10

  13. Arithmetization 11

  14. Arithmetization For a protocol for TQBF: Give a protocol for proving that Q 1(x1=0,1) Q 2(x2=0,1) ... Q n(xn=0,1) P(x 1 ,...,x n ) > 0, where Q i are Σ or Π , and P is a (multi-linear) polynomial 11

  15. Arithmetization For a protocol for TQBF: Give a protocol for proving that Q 1(x1=0,1) Q 2(x2=0,1) ... Q n(xn=0,1) P(x 1 ,...,x n ) > 0, where Q i are Σ or Π , and P is a (multi-linear) polynomial Instead suppose all Q i are Σ 11

  16. Arithmetization For a protocol for TQBF: Give a protocol for proving that Q 1(x1=0,1) Q 2(x2=0,1) ... Q n(xn=0,1) P(x 1 ,...,x n ) > 0, where Q i are Σ or Π , and P is a (multi-linear) polynomial Instead suppose all Q i are Σ Counts number of satisfying assignments to an (unquantified) boolean formula F 11

  17. Arithmetization For a protocol for TQBF: Give a protocol for proving that Q 1(x1=0,1) Q 2(x2=0,1) ... Q n(xn=0,1) P(x 1 ,...,x n ) > 0, where Q i are Σ or Π , and P is a (multi-linear) polynomial Instead suppose all Q i are Σ Counts number of satisfying assignments to an (unquantified) boolean formula F Proving > 0 is trivial 11

  18. Arithmetization For a protocol for TQBF: Give a protocol for proving that Q 1(x1=0,1) Q 2(x2=0,1) ... Q n(xn=0,1) P(x 1 ,...,x n ) > 0, where Q i are Σ or Π , and P is a (multi-linear) polynomial Instead suppose all Q i are Σ Counts number of satisfying assignments to an (unquantified) boolean formula F Proving > 0 is trivial Consider proving = K (will be useful in the general case) 11

  19. Sum-check protocol 12

  20. Sum-check protocol To prove: Σ x1 ... Σ xn P(x 1 ,...,x n ) = K for some degree d polynomial P 12

  21. Verifier has Sum-check protocol only oracle access to P To prove: Σ x1 ... Σ xn P(x 1 ,...,x n ) = K for some degree d polynomial P 12

  22. Verifier has Sum-check protocol only oracle access to P To prove: Σ x1 ... Σ xn P(x 1 ,...,x n ) = K for some degree d polynomial P Note: to evaluate need to add up 2 n values 12

  23. Verifier has Sum-check protocol only oracle access to P To prove: Σ x1 ... Σ xn P(x 1 ,...,x n ) = K for some degree d polynomial P Note: to evaluate need to add up 2 n values Base case: n=0. Verifier will simply use oracle access to P. 12

  24. Verifier has Sum-check protocol only oracle access to P To prove: Σ x1 ... Σ xn P(x 1 ,...,x n ) = K for some degree d polynomial P Note: to evaluate need to add up 2 n values Base case: n=0. Verifier will simply use oracle access to P. For n>0: Let R(X) := Σ x2 ... Σ xn P(X,x 2 ,...,x n ) 12

  25. Verifier has Sum-check protocol only oracle access to P To prove: Σ x1 ... Σ xn P(x 1 ,...,x n ) = K for some degree d polynomial P Note: to evaluate need to add up 2 n values Base case: n=0. Verifier will simply use oracle access to P. For n>0: Let R(X) := Σ x2 ... Σ xn P(X,x 2 ,...,x n ) Σ x1 ... Σ xn P(x 1 ,...,x n ) = R(0) + R(1) 12

  26. Verifier has Sum-check protocol only oracle access to P To prove: Σ x1 ... Σ xn P(x 1 ,...,x n ) = K for some degree d polynomial P Note: to evaluate need to add up 2 n values Base case: n=0. Verifier will simply use oracle access to P. For n>0: Let R(X) := Σ x2 ... Σ xn P(X,x 2 ,...,x n ) Σ x1 ... Σ xn P(x 1 ,...,x n ) = R(0) + R(1) R has only one variable and degree at most d 12

  27. Verifier has Sum-check protocol only oracle access to P To prove: Σ x1 ... Σ xn P(x 1 ,...,x n ) = K for some degree d polynomial P Note: to evaluate need to add up 2 n values Base case: n=0. Verifier will simply use oracle access to P. For n>0: Let R(X) := Σ x2 ... Σ xn P(X,x 2 ,...,x n ) Only Σ , no Π Σ x1 ... Σ xn P(x 1 ,...,x n ) = R(0) + R(1) R has only one variable and degree at most d 12

  28. Verifier has Sum-check protocol only oracle access to P To prove: Σ x1 ... Σ xn P(x 1 ,...,x n ) = K for some degree d polynomial P Note: to evaluate need to add up 2 n values Base case: n=0. Verifier will simply use oracle access to P. For n>0: Let R(X) := Σ x2 ... Σ xn P(X,x 2 ,...,x n ) Only Σ , no Π Σ x1 ... Σ xn P(x 1 ,...,x n ) = R(0) + R(1) R has only one variable and degree at most d Prover sends T=R (as d+1 coefficients) to verifier 12

  29. Verifier has Sum-check protocol only oracle access to P To prove: Σ x1 ... Σ xn P(x 1 ,...,x n ) = K for some degree d polynomial P Note: to evaluate need to add up 2 n values Base case: n=0. Verifier will simply use oracle access to P. For n>0: Let R(X) := Σ x2 ... Σ xn P(X,x 2 ,...,x n ) Only Σ , no Π Σ x1 ... Σ xn P(x 1 ,...,x n ) = R(0) + R(1) R has only one variable and degree at most d Needs degree to be small Prover sends T=R (as d+1 coefficients) to verifier 12

  30. Verifier has Sum-check protocol only oracle access to P To prove: Σ x1 ... Σ xn P(x 1 ,...,x n ) = K for some degree d polynomial P Note: to evaluate need to add up 2 n values Base case: n=0. Verifier will simply use oracle access to P. For n>0: Let R(X) := Σ x2 ... Σ xn P(X,x 2 ,...,x n ) Only Σ , no Π Σ x1 ... Σ xn P(x 1 ,...,x n ) = R(0) + R(1) R has only one variable and degree at most d Needs degree to be small Prover sends T=R (as d+1 coefficients) to verifier Verifier checks K = T(0) + T(1). Still needs to check T=R 12

  31. Sum-check protocol 13

  32. Sum-check protocol To prove: Σ x1 ... Σ xn P(x 1 ,...,x n ) = K for some degree d polynomial P 13

  33. Sum-check protocol To prove: Σ x1 ... Σ xn P(x 1 ,...,x n ) = K for some degree d polynomial P Verifier wants to check T(X) = R(X) := Σ x2 ... Σ xn P(X,x 2 ,...,x n ) 13

  34. Sum-check protocol To prove: Σ x1 ... Σ xn P(x 1 ,...,x n ) = K for some degree d polynomial P Verifier wants to check T(X) = R(X) := Σ x2 ... Σ xn P(X,x 2 ,...,x n ) Picks random field element a (large enough field) 13

  35. Sum-check protocol To prove: Σ x1 ... Σ xn P(x 1 ,...,x n ) = K for some degree d polynomial P Verifier wants to check T(X) = R(X) := Σ x2 ... Σ xn P(X,x 2 ,...,x n ) Picks random field element a (large enough field) Asks prover to prove that T(a) = R(a) = Σ x2 ... Σ xn P(a,x 2 ,...,x n ) 13

  36. Sum-check protocol To prove: Σ x1 ... Σ xn P(x 1 ,...,x n ) = K for some degree d polynomial P Verifier wants to check T(X) = R(X) := Σ x2 ... Σ xn P(X,x 2 ,...,x n ) Picks random field element a (large enough field) Asks prover to prove that T(a) = R(a) = Σ x2 ... Σ xn P(a,x 2 ,...,x n ) Recurse on P 1 (x 2 ,...,x n ) = P(a,x 2 ,...,x n ) of one variable less 13

  37. Sum-check protocol To prove: Σ x1 ... Σ xn P(x 1 ,...,x n ) = K for some degree d polynomial P Verifier wants to check T(X) = R(X) := Σ x2 ... Σ xn P(X,x 2 ,...,x n ) Picks random field element a (large enough field) Asks prover to prove that T(a) = R(a) = Σ x2 ... Σ xn P(a,x 2 ,...,x n ) Recurse on P 1 (x 2 ,...,x n ) = P(a,x 2 ,...,x n ) of one variable less i.e., Recurse to prove Σ x2 ... Σ xn P 1 (x 2 ,...,x n ) = T(a) 13

  38. Sum-check protocol To prove: Σ x1 ... Σ xn P(x 1 ,...,x n ) = K for some degree d polynomial P Verifier wants to check T(X) = R(X) := Σ x2 ... Σ xn P(X,x 2 ,...,x n ) Picks random field element a (large enough field) Asks prover to prove that T(a) = R(a) = Σ x2 ... Σ xn P(a,x 2 ,...,x n ) Recurse on P 1 (x 2 ,...,x n ) = P(a,x 2 ,...,x n ) of one variable less i.e., Recurse to prove Σ x2 ... Σ xn P 1 (x 2 ,...,x n ) = T(a) Note: P 1 has degree at most d; verifier has oracle access to P 1 (as it knows a, and has oracle access to P) 13

  39. Sum-check protocol 14

  40. Sum-check protocol Why does sum-check protocol work? 14

  41. Sum-check protocol Why does sum-check protocol work? Instead of checking T(X) = R(X), simply checks (recursively) if T(a)=R(a) for a single random a in the field 14

  42. Sum-check protocol Can’t afford more than one check Why does sum-check protocol work? Instead of checking T(X) = R(X), simply checks (recursively) if T(a)=R(a) for a single random a in the field 14

  43. Sum-check protocol Can’t afford more than one check Why does sum-check protocol work? Instead of checking T(X) = R(X), simply checks (recursively) if T(a)=R(a) for a single random a in the field Completeness is obvious 14

  44. Sum-check protocol Can’t afford more than one check Why does sum-check protocol work? Instead of checking T(X) = R(X), simply checks (recursively) if T(a)=R(a) for a single random a in the field Completeness is obvious Soundness: Since T(X) and R(X) are of degree d, if T ≠ R, at most d points where they agree 14

  45. Sum-check protocol Can’t afford more than one check Why does sum-check protocol work? Instead of checking T(X) = R(X), simply checks (recursively) if T(a)=R(a) for a single random a in the field Completeness is obvious Soundness: Since T(X) and R(X) are of degree d, if T ≠ R, at most d points where they agree Error (picking a bad a), with probability ≤ d/p, where field is of size p 14

  46. Sum-check protocol Can’t afford more than one check Why does sum-check protocol work? Instead of checking T(X) = R(X), simply checks (recursively) if T(a)=R(a) for a single random a in the field Completeness is obvious Soundness: Since T(X) and R(X) are of degree d, if T ≠ R, at most d points where they agree Error (picking a bad a), with probability ≤ d/p, where field is of size p Also possible error in recursive step (despite good a) 14

  47. Sum-check protocol Can’t afford more than one check Why does sum-check protocol work? Instead of checking T(X) = R(X), simply checks (recursively) if T(a)=R(a) for a single random a in the field Completeness is obvious Soundness: Since T(X) and R(X) are of degree d, if T ≠ R, at most d points where they agree Error (picking a bad a), with probability ≤ d/p, where field is of size p Also possible error in recursive step (despite good a) At most nd/p if n variables. Can take p exponential. 14

  48. IP Protocol for TQBF 15

Recommend


More recommend