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.