Key Concepts for Exam question:

  1. Decidable: A language has an algorithm that always halts and answers “yes” or “no”.
  2. Recognizable (RE): A language has an algorithm that halts on “yes” instances (may loop on “no”).
  3. : Problems solvable in polynomial time.
  4. : Problems verifiable in polynomial time (or solvable with a polynomial-time “lucky guess”).
  5. -hard: Problems at least as hard as all problems in (if , these aren’t in ).

np is hard if lprime is in np.

Key Relationships:

  • Reductions:
    • If :
      • is -hard ⇒ is -hard
  • Hierarchy:
    • Decidable Recognizable
  • -hard + -complete.

Language Analysis:

Given:

  • (SAT reduces to )
  • is -hard, not in
  • Unknown: Decidability, membership

Conclusions:

  1. Decidable?
    • -hardness ≠ decidability (undecidable problems can be -hard).
  2. Recognizable?
    • Recognizability depends on decidability.
  3. ?
    • -hardness ≠ membership (unless ).
  4. In ?
    • -hard + .

Given:

  • Known: Decidable, in
  • Unknown: -hardness, membership

Conclusions:

  1. Decidable?
    • All languages are decidable.
  2. Recognizable?
    • Decidable ⇒ Recognizable.
  3. ?
    • () ⇒ .
  4. -hard?
    • Reduction direction: isn’t necessarily -hard.

Given:

  • Two deciders (: , : )
  • Known: Decidable, in

Conclusions:

  1. Decidable?
    • Explicitly stated.
  2. Recognizable?
    • Decidable ⇒ Recognizable.
  3. ?
    • .
  4. -hard?
    • If and isn’t -hard.