direct proof technique n.
Download
Skip this Video
Loading SlideShow in 5 Seconds..
Direct proof technique PowerPoint Presentation
Download Presentation
Direct proof technique

Loading in 2 Seconds...

play fullscreen
1 / 36

Direct proof technique - PowerPoint PPT Presentation


  • 112 Views
  • Uploaded on

Direct proof technique. The goal is to explain why some assertion is true. Formal proof: Sequence of statements Starts with some axiom (universally agreed-upon premise).

loader
I am the owner, or an agent authorized to act on behalf of the owner, of the copyrighted work described.
capcha
Download Presentation

PowerPoint Slideshow about 'Direct proof technique' - kaida


An Image/Link below is provided (as is) to download presentation

Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author.While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server.


- - - - - - - - - - - - - - - - - - - - - - - - - - E N D - - - - - - - - - - - - - - - - - - - - - - - - - -
Presentation Transcript
direct proof technique
Direct proof technique
  • The goal is to explain why some assertion is true.
  • Formal proof:
    • Sequence of statements
    • Starts with some axiom (universally agreed-upon premise).
    • Remaining statements are further axioms, or derived statements based on earlier statements in the proof according to rules of valid argument/inference. (You may also use results of theorems proved elsewhere.)
    • Last statement is the theorem to be proved.
  • Our proofs will not be quite this formal.
    • Nevertheless: we need to begin by looking at relevant definitions, axioms and given information.
technique
Technique
  • Follow advice in book
  • Steps:
    • Begin with given information
    • Apply definitions
    • Compare what you have with what you want. Experiment by manipulating this information, use related facts, with the goal in mind.
    • End with satisfying the desired property.
  • Let’s first look at some simple definitions
    • Odd and even numbers
  • Hint: if something looks hard to prove, maybe it’s false!
example direct proof
Example direct proof
  • “If the sum of 2 integers is even, then their difference is even.”
  • Incidentally, in symbols, the statement looks like this:

x y (even(x + y)  even(x – y))

  • Here we go!

Let x and y be integers such that x + y is even. By the definition of even, k such that x + y = 2k.Then, x – y = x + y – 2y

= 2k – 2y = 2(k – y)

and observe that k – y is an integer too. So, by definition, x – y is even because it’s 2 * (integer).

divisibility
Divisibility
  • The symbol “|” means “divides”. We say that a | b if there exists some integer k such that ak = b.
    • Or we can say: b is a multiple of a.
  • Let’s use the direct proof technique for divisibility problems. It will sound like how we worked with even numbers, but more general.
  • Prove or disprove:
    • 3 divides the sum of any 3 consecutive integers
    • If a | b and b | c, then a | c.
    • If a | b and a | c, then a | (b + c).
    • If a | bc, then a | b or a | c.
    • If x and y are odd, then 6 | (3x + 3y).
rational
Rational
  • A number is rational if it can be written of the form a / b, where
    • a and b are integers
    • a and b have no common factors
    • b is not 0
  • Example: 7.5 is rational because we can let a = 15 and b = 2.
rational opposite
Rational opposite
  • Let’s show that: if x is rational, then –x is rational.
    • Since x is rational, x = a/b where a and b are integers with no common factors, and b is not 0.
    • By arithmetic, –x = –a/b.
    • We have to explain why –x satisfies the definition of rational.
    • Notice that both –a and b are integers.
    • If a and b have no common factors, then –a and b couldn’t have any common factors either.
    • b is still not zero.
    • We conclude that –x is rational.
rational addition
Rational addition
  • If x and y are rational, then x+y is rational
    • According to the definition, let x = a/b and y = c/d.
    • x+y = (ad + bc) / bd
    • Since a, b, c and d are all integers, we can add and multiply integers to obtain more integers. Thus, (ad +bc) and bd are integers.
    • There is no common factor between (ad+bc) and bd.
    • Neither b nor d is zero. Thus, bd is not 0.
    • Conclusion: x+y satisfies the definition of rational number.
proof practice
Proof practice
  • Floor and ceiling functions
  • Proof by contradiction
  • Iterative algorithms
    • What is the termination condition?
  • Application: Sequences and series
floor and ceiling
Floor and ceiling
  • Used to calculate phone bill, postage, and loop iterations
    • floor(x) = round down to the next lower integer
    • ceil(x) = round up to the next higher integer
  • Examples
    • floor() = 3, floor(–) = –4, floor(17) = 17
    • ceil() = 4, ceil(–) = –3, ceil(17) = 17
    • For which real numbers x is floor(x) equal to 2?
    • For which real numbers x is ceil(x) equal to 6?
fractions
Fractions
  • Often we need to take floor/ceil of a fraction. Can we derive formulas for floor(a/b) and ceil(a/b) ?

Floor(a/b) = (a – a % b) / b

Ceil(a/b) = (a + (b – a) % b) / b

loop iteration formula
Loop iteration formula
  • A for-loop (in C, C++ or Java) often has this general format:

for (i = a; i <= b; i += s)

  • The number of loop iterations is

floor((b – a)/s) + 1

  • Example:

for (i = 3; i <= 18; i += 5)

// We execute when i = 3, 8, 13, 18.

indirect proof
Indirect proof
  • Common proof technique
  • Essentially, we show that the negation of the given statement is false.
  • Begin the proof by saying, “Suppose not.” The negation of the given statement gives us 1 extra piece of information.
  • During the proof, we arrive at a contradiction. Thus, we conclude that ~P is false; thus P must be true.
  • Example:
    • If I give 100 marbles to 23 people, then somebody must get at least 5.
another example
Another example
  • “For all integers n, if n2 is even, then n is even.”
  • Proof by contradiction.
    • Assume the statement is false. Then there exists an integer n such that n2 is even and n is odd. Since n is odd, it may be written as n = (2k+1). Then n2 = (2k+1)2 = 4k2 + 4k + 1 = 2(2k2 + 2k) + 1. Since 2k2 + 2k is an integer, then n2 satisfies the definition of an odd number. We have reached a contradiction, since earlier we said n2 is even. Thus the original statement must be true.
  • Alternatively, can prove by contrapositive. The equivalent statement is: “… if n is odd, then n2 is odd.”
irrational addition
Irrational addition
  • If x is rational and y is irrational, then x+y is irrational.
    • Suppose not!
    • Then, we have that: x is rational, y is irrational, AND x+y is rational.
    • We already know that the sum of two rationals is rational, and that the opposite of a rational is rational.
    • Subtraction means adding the opposite. Thus, the difference of two rationals must be rational.
    • Notice that y = (x+y) – x. The two numbers (x+y) and x are rational. Therefore the difference, y, is rational. But this contradicts our earlier assumption that y is irrational!
    • Conclusion: The original statement must be correct.
algorithm
Algorithm
  • Heart of any computer program
  • 2 kinds
    • Explicit formula: area of triangle, compute loan payment
    • Iterative computation: many examples!

sorting an array

listing prime numbers

factorial

GCF

Square root

Fibonacci

closer look
Closer look
  • Euclidean algorithm to compute GCF
    • Start with 2 numbers
    • Loop:

Divide the smaller into the larger

if remainder = 0, answer is the smaller

else, continue with the smaller number and remainder

  • Square root of “a”
    • Start with an initial guess x0
    • xn+1 = average of xn and a/xn
    • Stop when difference between 2 consecutive xi are sufficiently small.
sequence and series
Sequence and series
  • A sequence is essentially a list or array of values
  • A series is the sum of these values
    • Terms separated by “+” instead of “,”
  • Application: an operating system often needs to know the execution time of a computer program in order to best schedule that task.
  • A program’s execution time is largely dependent on loops! Especially nested loops.
    • We’ll use series formulas to calculate the number of iterations.
notation
Notation
  • Sequence notation (like an array)
    • Can be explicit formula, as in: an = 4 + 3n
    • Or can be recursively defined, as in: a1 = 5

an+1 = 2an, n  1

  • Series notation
    • a1 + a2 + a3 + a4 Too inefficient
    • Better to use Sigma notation
applications
Applications
  • Sequence vs. series
  • Meaning of sigma notation
  • Common series formulas
  • Mathematical induction
bernoulli formulas
Bernoulli formulas
  • Help us evaluate series, e.g. to count loop iterations
  • Nested loop can give rise to nested sigma expression
example
Example
  • Use Bernoulli formulas to determine the first hundred terms of

(3)(7) + (5)(12) + (7)(17) + (9)(22) + …

  • First, write each term in terms of the term number, i

Term formula = (2i + 1)(5i + 2) = 10i2 + 7i + 2

  • Apply Bernoulli formulas.
how to check
How to check
  • If we say: sum(f(i)) = S(n), then we can check our sum answer this way: S(n) – S(n – 1) = f(n)
  • For example, consider f(i) = 6i.
    • The Bernoulli formula tells us that sum(f(i)) = 3n(n+1).
    • So, S(n) = 3n(n+1)
    • Work out S(n) – S(n – 1) = 3n(n+1) – 3(n – 1)n = 3n(n+1-(n – 1)) = 6n
    • The answer checks because f(n) = 6n equivalently means f(i) = 6i.
  • What would it look like if our summation formula is wrong?
    • The f(n) would not match the original term formula.
    • For example, we might have f(n) = 15n, but we originally wanted the summation of 6i, not 15i.
inverse bernoulli
Inverse Bernoulli
  • Review: Bernoulli formulas are used to help us convert from a term formula to a summation formula for a series.
  • The way of checking summation formulas gives us an elegant way to calculate a term formula if we are given the summation formula.
  • Ex. Finding the sum of i32i is not easy.
  • Ex. But it is easy to find the term formula if we know if a series sum formula is n32n. Just plug in n and n – 1 and subtract!
  • In fact, doing S(n) – S(n – 1) can be used to guess an unknown summation formula.
nested loop
Nested loop
  • Let’s count the operations in this nested loop.

for (i = 1; i <= n; ++i)

for (j = 1; j <= n; ++j)

// assume 3 stmts in body

  • Outer loop:
    • We do the i=1 once
    • We do the i<=n (n+1) times
    • We do the ++i n times.
  • Inner loop:
    • We enter the inner loop n times. Each time we have:

(1 + (n+1) + n + 3n).

  • Total = 5n2 + 4n + 2 operations.
nested loop 2
Nested loop #2
  • Let’s change the inner loop bound to i

for (i = 1; i <= n; ++i)

for (j = 1; j <= i; ++j)

// assume 3 stmts in body

  • Outer loop is still: 1 + (n+1) + n operations
  • Inner loop:
    • We enter the inner loop i times, where i could be 1 to n. For each i, we have: (1 + (i+1) + i + 3i).
    • So, we have to sum: 5i + 2.
  • Total = (5/2)n2 + (13/2)n + 2 operations.
loop correctness
Loop correctness
  • Eventually, we want to be able to show that our loops are correct
  • Powerful technique: Principle of Mathematical Induction
  • Useful for proving many assertions
    • Sum formulas
    • Linear-combination formulas
    • Divisibility questions
    • Inequalities
    • Correctness of loops
induction
Induction
  • P(n) is a statement that should be true for all positive integers n, or more generally for integer values  (some integer).
  • How to prove:
    • Show that P(1) is true. This is the “base case.”
    • Show that if P(k) is true for some k  1, then P(k+1) must also be true. This is the “inductive step.”
    • If you can do these two steps, then you can say:

“Since P(1) is true and P(k)  P(k+1) for an arbitrary k  1, then P(n) is true for all n  1.”

  • “domino effect”
type i summations
Type I: Summations
  • Let’s first apply induction to verifying summation formulas. The key is to add the next term to both sides of the equation.
  • We’ll work out these examples:
  • n  1, 1 + 3 + 5 + 7 + … + (2n – 1) = n2
  • n  1, 12 + 22 + 32 + … + n2 = n(n+1)(2n+1)/6
  • n  1, 1(1!) + 2(2!) + 3(3!) + … n(n!) = (n+1)! – 1
induction1
Induction
  • Types of statements you’ll often see
    • Summations 
    • Linear combination
    • Divisibility
    • Inequalities
    • Loop correctness
type ii linear formulas
Type II: Linear formulas
  • n  24, x, y  0 such that n = 5x + 7y.
    • “Any integer n  24 can be expressed …”
  • Base case: if n = 24, then choose x = 2 and y = 2.
  • Next, assume P(k) is true. That is, k = 5x + 7y.
    • Now we need a similar formula for k+1. A table of values may help.
    • We see that if y  2, then k + 1 = 5(x + 3) + 7(y – 2)

else k + 1 = 5(x – 4) + 7(y + 3)

Two ways to add a penny:

Trade away two 7’s for three 5’s, or

Trade away four 5’s for three 7’s.

try another
Try another
  • n  14, x, y  0 such that n = 3x + 8y.
    • “Any amount of postage 14 cents or higher can be achieved by using some combination of 3 and 8 cent stamps.”
  • The goal of the inductive step is to write alternate formulas for k+1:

k + 1 = a(x + ___) + b(y – ___)

k + 1 = a(x – ___) + b(y + ___)

We have to give two formulas. Choose the appropriate formula to avoid a negative.

type iii divisibility
Type III: Divisibility
  • We want to show that: a | f(n)
  • Recall what our goal is: to go from P(k) to P(k+1)
    • One way to bridge the gap is to “subtract” P(k) from P(k+1) and verify that what results is true. Then add this residual to P(k) to conclude P(k+1).
    • For example, we may need to show that 5 | 6n – 1. The crux of the proof centers on f(n) = 6n – 1. Then:

f(k) = 6k – 1 and f(k+1) = 6k+1 – 1, so that:

f(k+1) – f(k) = (6k+1 – 1) – (6k – 1) = 6k+1 – 6k = 6k (6 – 1)

= 5 * 6k. Note that this is divisible by 5.

*** see handout

alt approach
Alt approach
  • Alternative approach: write P(k+1) of the form: P(k+1) = x P(k) + y, where x and y are clearly multiples of a.
    • Often handy for multiple exponential terms.
  • Ex. For all positive integers, 4 | 3n + 7n – 2.

In inductive step, we can write

3k+1 +7k+1 – 2 = 3*3k + (3+4)7k – 2

= 3*3k + 3*7k + 4*7k – 6 + 4

= 3(3k + 7k – 2) + 4(7k + 1)

examples
Examples
  • For all positive integers n, 3n is odd.

Sometimes we have a formula, and we want to be sure that it always evaluates to an integer. This turns out to be a divisibility problem in disguise. 

  • For all positive integers n, (2/5)4n +(3/5)(–1)n is an integer.
type iv inequalities
Type IV: Inequalities
  • Purpose: Sometimes we want to know if one algorithm is more efficient than another.
  • The statement P(n) is of the form f(n) < g(n).
    • The “<“ could be some other relational operator, e.g. “”.
  • During the inductive step, to leap from P(k) to P(k+1), we need to verify either:
    • f(k+1) – f(k) < g(k+1) – g(k) or
    • f(k+1) / f(k) < g(k+1) / g(k) whichever is easier
  • Once you have established that inequality, then add or multiply to f(k) < g(k), as appropriate to conclude with f(k+1) < g(k+1).
  • Be careful to structure the proof so that you are not assuming what you are trying to prove.
type v loop correctness
Type V: loop correctness
  • Given a loop, and certain information about the loop:
    • Precondition
    • Invariant
    • Postcondition
  • For a loop to be correct, verify the following:
    • The precondition is true when the loop starts.
    • The invariant is true as we go from iter k to iter k+1.
    • The loop terminates.
    • The postcondition is true when the loop is done.
  • ***e.g. See handout (adding x 10 times yields 10x)
  • e.g. a loop that computes a summation of i2