The Cook-Levin Theorem states that the Boolean Satisfiability Problem (SAT) is NP-complete.# Divide-and-Conquer Technique

Divide-and-Conquer

Divide-and-Conquer is a general algorithm design paradigm:

  • Divide: divide the input data into two disjoint subsets and
  • Recur: solve the subproblems associated with and
  • Conquer: combine the solutions for and into a solution for
Link to original

Proof by Induction

Proof by Induction

Proof by Induction consists of:

  • Base Case: show that solution holds for
  • Inductive Case:
    1. Assume that it holds for .
    2. Substitute to confirm it also holds for .
Link to original

Example 1: Show for all .

Let be a recursion relation defined by:

  1. Base Case: Show for . from definition (R.H.S.)
  2. Inductive Case: Assume that for . We then have that for : This is our Induction Hypothesis with substituted, hence by induction for all .

Example 2: Show that for all .

Let be a recursion relation defined by:

  1. Base Case: Show for . from definition
  2. Inductive Case: Assume that for . We then have that for : This is our Induction Hypothesis with substituted, hence by induction for all .

Proof by Strong Induction

Proof by Strong Induction

Proof by Strong Induction consists of:

  • Base Case: Show that solution holds for .
  • Inductive Case:
    1. Assume it holds for all .
    2. Substitute to confirm it also holds for .
Link to original

Example 3: Show that for all .

Let be a recursion relation defined by:

  1. Base Case: Show that for :
  2. Inductive Case: Assume that for all for some . We then have that for :

Example 4: Fibonacci Number proof

Check slides for this, unlikely to come up.