+ All Categories
Home > Documents > Direct proof technique The goal is to explain why some assertion is true. Formal proof: – Sequence...

Direct proof technique The goal is to explain why some assertion is true. Formal proof: – Sequence...

Date post: 28-Dec-2015
Category:
Upload: donald-golden
View: 215 times
Download: 1 times
Share this document with a friend
36
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.
Transcript
Page 1: Direct proof technique The goal is to explain why some assertion is true. Formal proof: – Sequence of statements – Starts with some axiom (universally.

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.

Page 2: Direct proof technique The goal is to explain why some assertion is true. Formal proof: – Sequence of statements – Starts with some axiom (universally.

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!

Page 3: Direct proof technique The goal is to explain why some assertion is true. Formal proof: – Sequence of statements – Starts with some axiom (universally.

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).

Page 4: Direct proof technique The goal is to explain why some assertion is true. Formal proof: – Sequence of statements – Starts with some axiom (universally.

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:1. 3 divides the sum of any 3 consecutive integers2. If a | b and b | c, then a | c.3. If a | b and a | c, then a | (b + c).4. If a | bc, then a | b or a | c.5. If x and y are odd, then 6 | (3x + 3y).

Page 5: Direct proof technique The goal is to explain why some assertion is true. Formal proof: – Sequence of statements – Starts with some axiom (universally.

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.

Page 6: Direct proof technique The goal is to explain why some assertion is true. Formal proof: – Sequence of statements – Starts with some axiom (universally.

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.

Page 7: Direct proof technique The goal is to explain why some assertion is true. Formal proof: – Sequence of statements – Starts with some axiom (universally.

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.

Page 8: Direct proof technique The goal is to explain why some assertion is true. Formal proof: – Sequence of statements – Starts with some axiom (universally.

Proof practice

• Floor and ceiling functions

• Proof by contradiction

• Iterative algorithms– What is the termination condition?

• Application: Sequences and series

Page 9: Direct proof technique The goal is to explain why some assertion is true. Formal proof: – Sequence of statements – Starts with some axiom (universally.

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?

Page 10: Direct proof technique The goal is to explain why some assertion is true. Formal proof: – Sequence of statements – Starts with some axiom (universally.

Fractions

• Often we need to take floor/ceil of a fraction. Can we derive formulas for floor(a/b) and ceil(a/b) ?

A B Floor Ceiling

12 5 2 3

13 5 2 3

14 5 2 3

15 5 3 3

16 5 3 4

17 5 3 4

18 5 3 4

19 5 3 4

20 5 4 4

21 5 4 5

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

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

Page 11: Direct proof technique The goal is to explain why some assertion is true. Formal proof: – Sequence of statements – Starts with some axiom (universally.

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.

Page 12: Direct proof technique The goal is to explain why some assertion is true. Formal proof: – Sequence of statements – Starts with some axiom (universally.

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.

Page 13: Direct proof technique The goal is to explain why some assertion is true. Formal proof: – Sequence of statements – Starts with some axiom (universally.

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.”

Page 14: Direct proof technique The goal is to explain why some assertion is true. Formal proof: – Sequence of statements – Starts with some axiom (universally.

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.

Page 15: Direct proof technique The goal is to explain why some assertion is true. Formal proof: – Sequence of statements – Starts with some axiom (universally.

Algorithm

• Heart of any computer program• 2 kinds– Explicit formula: area of triangle, compute loan payment– Iterative computation: many examples!

sorting an arraylisting prime numbersfactorialGCFSquare rootFibonacci

Page 16: Direct proof technique The goal is to explain why some assertion is true. Formal proof: – Sequence of statements – Starts with some axiom (universally.

Closer look

• Euclidean algorithm to compute GCF– Start with 2 numbers– Loop:

Divide the smaller into the largerif remainder = 0, answer is the smallerelse, 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.

Page 17: Direct proof technique The goal is to explain why some assertion is true. Formal proof: – Sequence of statements – Starts with some axiom (universally.

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.

Page 18: Direct proof technique The goal is to explain why some assertion is true. Formal proof: – Sequence of statements – Starts with some axiom (universally.

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

Sigma notation Essentially means this:

for (i = 1; i <= n; ++i) sum += a[i]

n

iia

1

Page 19: Direct proof technique The goal is to explain why some assertion is true. Formal proof: – Sequence of statements – Starts with some axiom (universally.

Applications

• Sequence vs. series• Meaning of sigma notation

• Common series formulas

• Mathematical induction

Page 20: Direct proof technique The goal is to explain why some assertion is true. Formal proof: – Sequence of statements – Starts with some axiom (universally.

Bernoulli formulas

• Help us evaluate series, e.g. to count loop iterations

• Nested loop can give rise to nested sigma expression

n

i

n1

1

n

i

nni

1 2

)1(

6

)12)(1(

1

2

nnni

n

i

4

)1( 22

1

3

nni

n

i

Page 21: Direct proof technique The goal is to explain why some assertion is true. Formal proof: – Sequence of statements – Starts with some axiom (universally.

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, iTerm formula = (2i + 1)(5i + 2) = 10i2 + 9i + 2

• Apply Bernoulli formulas.

Page 22: Direct proof technique The goal is to explain why some assertion is true. Formal proof: – Sequence of statements – Starts with some axiom (universally.

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.

Page 23: Direct proof technique The goal is to explain why some assertion is true. Formal proof: – Sequence of statements – Starts with some axiom (universally.

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.

Page 24: Direct proof technique The goal is to explain why some assertion is true. Formal proof: – Sequence of statements – Starts with some axiom (universally.

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.

Page 25: Direct proof technique The goal is to explain why some assertion is true. Formal proof: – Sequence of statements – Starts with some axiom (universally.

Nested loop #2

• Let’s change the inner loop bound to ifor (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.

Page 26: Direct proof technique The goal is to explain why some assertion is true. Formal proof: – Sequence of statements – Starts with some axiom (universally.

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

Page 27: Direct proof technique The goal is to explain why some assertion is true. Formal proof: – Sequence of statements – Starts with some axiom (universally.

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”

Page 28: Direct proof technique The goal is to explain why some assertion is true. Formal proof: – Sequence of statements – Starts with some axiom (universally.

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:

1. n 1, 1 + 3 + 5 + 7 + … + (2n – 1) = n2

2. n 1, 12 + 22 + 32 + … + n2 = n(n+1)(2n+1)/6

3. n 1, 1(1!) + 2(2!) + 3(3!) + … n(n!) = (n+1)! – 1

Page 29: Direct proof technique The goal is to explain why some assertion is true. Formal proof: – Sequence of statements – Starts with some axiom (universally.

Induction

• Types of statements you’ll often see– Summations

– Linear combination– Divisibility– Inequalities

– Loop correctness

Page 30: Direct proof technique The goal is to explain why some assertion is true. Formal proof: – Sequence of statements – Starts with some axiom (universally.

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)

n x y

24 2 2

25 5 0

26 1 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.

Page 31: Direct proof technique The goal is to explain why some assertion is true. Formal proof: – Sequence of statements – Starts with some axiom (universally.

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.

Page 32: Direct proof technique The goal is to explain why some assertion is true. Formal proof: – Sequence of statements – Starts with some axiom (universally.

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

Page 33: Direct proof technique The goal is to explain why some assertion is true. Formal proof: – Sequence of statements – Starts with some axiom (universally.

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 write3k+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)

Page 34: Direct proof technique The goal is to explain why some assertion is true. Formal proof: – Sequence of statements – Starts with some axiom (universally.

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.

Page 35: Direct proof technique The goal is to explain why some assertion is true. Formal proof: – Sequence of statements – Starts with some axiom (universally.

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.

Page 36: Direct proof technique The goal is to explain why some assertion is true. Formal proof: – Sequence of statements – Starts with some axiom (universally.

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


Recommended