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

Download Presentation
Download Policy: The content available on the website is offered to you 'AS IS' for your personal information and use only. It cannot be commercialized, licensed, or distributed on other websites without prior consent from the author. To download a presentation, simply click this link. If you encounter any difficulties during the download process, it's possible that the publisher has removed the file from their server.

Recommend


More recommend