• : the class of problems which we can solve in polynomial time
  • : the class of problems where we can verify a potential solution / answer in polynomial time
  • Clearly,
    • Solving is a (hard) way of verifying (Informal way of saying)
  • What about other direction ?
  • If we can verify potential solutions for a problem in time then can we solve the problem in
    • time
    • time
    • time

Is solving much much harder than verifying ?

Is , or ?

  • If you believe
    • Try to reason how you can use verification procedure to solve a problem (with only polytime blow-up)
  • If you believe
    • Try to come up with a problem which can be verified efficiently, but cannot be solved efficiently
  • We don’t know the answer!