4. Mathematical Induction Nancy L. Hagelgans Mathematical Induction with DERIVE We are going to consider predicates P with domain a set of integers. Frequently the domain will be the set of positive integers or the set of nonnegative integers. As with any predicate, the values P(n) are in the set { false, true }, or in the set { 0, 1 } with the usual identification. Below are some examples of such predicates: The sum of the first n positive integers is n(n+1)/2. 2 The number 2n is greater than or equal to n . For a particular value of the integer n in each predicate's domain, the predicate is either true or false. We will use DERIVE to investigate such predicates, usually for only a finite number of integers n. On the other hand, when we want to show that a predicate is true for all integers greater than a given integer, we are considering an infinite number of integers n. For a few special predicates, DERIVE "knows" the answer, but for most predicates DERIVE can be used to examine only a finite number of cases. We turn to mathematical induction to prove that the predicate is true for all integers greater than a given integer. Exercises A. Author the following DERIVE expressions, and simplify those expressions that are not assignments. Before you simplify each expression, find the simplification yourself whenever possible. Think about the meaning of each simplified result P(n) := IF( (n+1)! >= 2^n) P(0) P(1) VECTOR(P(n), n, 0, 20) VECTOR(P(n), n, 21, 40) PRODUCT( P(n), n, 0, 100 ) CaseMode := Sensitive not(p) := 1 - p and(p, q) := p*q or(p, q) := not( and(not(p), not(q)) ) impl(p, q) := or (not(p), q) ind_step(n) := impl(P(n), P(n+1)) VECTOR(ind_step(n), n, 0, 20) PRODUCT( ind_step(n), n, 0, 100 ) P(n) := IF( SUM(i, i, 1, n) = n^2/2 ) VECTOR(P(n), n, 0, 20) VECTOR(P(n), n, 21, 40) PRODUCT( not(P(n)), n, 41, 500 ) ind_step(n) := impl(P(n), P(n+1)) VECTOR(ind_step(n), n, 0, 20) PRODUCT( ind_step(n), n, 0, 1000000 ) Next declare the variable n in a suitable domain by selecting from the DERIVE menus: Declare Variable Domain. Then enter n, click Declare, and finally select Integer and Positive . Alternatively, author the following: n : Integer (0, inf) to declare the domain of the variable n. Then continue authoring and simplifying: P(n) := IF( SUM(i, i, 1, n) = n(n + 1) / 2 ) and( P(1), impl(P(n), P(n+1) )) P(n) Note that P is one predicate that DERIVE "knows". 1. Use DERIVE to investigate and then make a conjecture involving the following predicate: P(n) := IF ( 2^n >= n^2 ) Have you proved your conjecture? Write your own proof. 2. Use DERIVE to investigate and make a conjecture involving the following predicate: P(n) := IF ( PRODUCT((2k-1) / (2k),k,1,n) >= 1/(2n) ) Prove your conjecture. Exercises B. 1. For each statement below, use DERIVE to investigate a related predicate. Then use mathematical induction to prove each statement. a. The product of three consecutive nonnegative integers is divisible by 6. b. For every integer n > 1, ln(n) < 1 + 1/2 + 1/3 +...+ 1/(n-1) . 2. Investigate the predicate below. Formulate a conjecture. Prove your conjecture. The positive integer n divides (n - 1)! + 1. 3. Which Fibonacci numbers are even, and which are odd? After investigating with DERIVE, state and prove your conclusions. 4. State and prove a conjecture related to the predicate: n! > k^n, where n and k are nonnegative integers. Click here to view the Solutions page for these exercises.