# Reading 7 : Program Correctness

Save this PDF as:

Size: px
Start display at page:

## Transcription

2 7.2 Grade School Multiplication Algorithm Binary Representation of Integers i n i d i n i d i Table 7.1: Obtaining the decimal representation of n = For example, if we do this with n = 14376, we get the values in Table 7.1. Of course, for decimal numbers, this is a silly procedure since we can just read off the numbers d 0 through d k from the decimal representation of n right away; however, it gives us a key insight into how to find the binary representation of n. To get the binary representation of n, we cannot just read the bits b i off of the decimal representation of n, but we can apply the algorithm we described, except with 2 in place of 10, and with the remainders being either 0 or 1 instead of being one of 0 through 9. In the end, we obtain a representation of n of the form l b i 2 i, b i {0, 1}, (7.2) i=0 and can write the binary representation of n as b l b l 1... b 1 b 0. Table 7.2 shows how we obtain the binary representation of n = 75, i n i b i n i b i Table 7.2: Obtaining the binary representation of n = 75. Reading the b i column from bottom to top gives us the binary representation of n, To give some reasoning behind why the algorithm for obtaining a binary representation works, rewrite (7.2) as ( l l ) b 0 + b i 2 i = b b i 2 i 1. i=1 We see that b 0 is the remainder after dividing n 0 by 2, and we get n 1 by subtracting the remainder and dividing the difference by 2. Then we continue the process with i=1 n 1 = l l 1 b i 2 i 1 = b i+1 2 i. i=1 i=0 2

4 7.2 Grade School Multiplication Algorithm Correctness of the Algorithm Algorithm 1: Binary Multiplication Algorithm Input: a, b - positive integers we want to multiply Output: ab - product of a and b (1) x a (2) y b (3) p 0 (4) while y > 0 do (5) if y is odd then p p + x (6) (7) y y/2 (8) x 2x (9) end (10) return p 1. Partial correctness: When we reach line 10, p = ab. 2. Termination: We eventually reach line 10. In other words, the loop on line 4 ends after a finite number of iterations. It is fairly easy to see what happens on the first three lines. We just initialize our variables. Hence, the crux of all our arguments about Algorithm 1 s behavior will be in proving facts about the behavior of the loop on line 4. We can view our algorithm as a system whose state is represented by the values of the variables x, y, and p. We are trying to prove some facts about the state of the algorithm after each repetition of the loop, that is, after each time step. This sounds like a setting for the use of invariants, and indeed, we will prove certain loop invariants on our way towards a proof that Algorithm 1 works correctly. More formally, a loop invariant is a property that holds at the beginning and after any number of iterations of a loop. A loop invariant usually describes relationships among variables Partial Correctness To prove partial correctness, we prove the following loop invariant. Invariant 7.1. After n iterations of the loop on line 4, ab = xy + p. Proof. Let x n, y n, and p n be the values of x, y, and p after n iterations of the loop from line 4, respectively. We show that ab = x n y n + p n (7.3) for every natural number n. We prove by induction that ( n)p (n) where P (n) is equation (7.3) holds. For the base case, P (0), there haven t been any iterations of the loop yet, so x 0, y 0, and p 0 have the values from the first three lines of Algorithm 1. Thus, x 0 = a, y 0 = b, and p 0 = 0. We see that x 0 y 0 + p 0 = ab + 0 = ab, so the base case is proved. Now we prove the inductive step ( n)p (n) P (n + 1). Since there is an if statement in the loop body, we use a proof by cases. Case 1: y n is odd. In this case we execute the body of the if statement, and add x n to p n. Since nothing else happens to the value of p in the loop body, we get p n+1 = p n + x n. Next, since y n is odd, we can write y n = 2k + 1 for some integer k, namely k = (y n 1)/2. After line 7 executes, we 4

5 7.2 Grade School Multiplication Algorithm Correctness of the Algorithm have y n+1 = y n /2 = (2k + 1)/2 = k = k = (y n 1)/2. Finally, the last line of the loop body doubles the value of x, so x n+1 = 2x n. Now we have found the values of x, y and p at the end of the (n + 1)st iteration of the loop, so we can verify that (7.3) holds after the loop is complete. We have x n+1 y n+1 + p n+1 = 2x n y n p n + x n = x n (y n 1) + x n + p n = x n y n + p n, and the right-hand side is ab by the induction hypothesis. Hence, if y n is odd, the invariant is maintained. Case 2: y n is even. In this case the if statement body is skipped, so the value of p doesn t change, and we get p n+1 = p n. Next, since y n is even, we can write y n = 2k for some integer k, namely k = y n /2. After line 7 executes, we have y n+1 = yn 2 = 2k 2 = k = k = y n/2. It follows that y n+1 = y n /2. Finally, the last line of the loop body doubles the value of x, so x n+1 = 2x n. Now we have found the values of x, y and p at the end of the (n + 1)st iteration of the loop, so we can verify that (7.3) holds after the loop is complete. We have x n+1 y n+1 + p n+1 = 2x n y n 2 + p n = x n y n + p n, and the right-hand side is ab by the induction hypothesis. It follows that if y n is even, the invariant is maintained. This completes the proof of the induction step, and also of our proposition. We get out of the loop if y 0 at the end of some iteration. If we show that y = 0 after the last iteration of the loop, Invariant 7.1 implies that ab = xy + p = 0 + p = p, which proves that the value of p after the loop terminates is ab. It suffices to show as another loop invariant that y never becomes negative. Invariant 7.2. After n iterations of the loop, y 0. Proof. The proof goes by induction. Like an an earlier proof, let y n be the value of y after n iterations of the loop. We see that y 0 0 because y 0 = b > 0, which proves the base case. Now assume y n 0, and consider the (n + 1)st iteration of the loop. Inside of the loop body, y only changes on line 7. There, we divide y by 2 and round down the result to get y n+1. Since y n 0, y n /2 0 as well, and rounding down a non-negative number cannot round down below zero, which proves that y n+1 0. Hence, the inductive step is proved, and so is the invariant. The loop condition implies that when the loop is over, y 0. We just showed that y 0 throughout the algorithm. It follows that when the loop terminates, y = 0, which means that the algorithm returns p = ab. Hence, partial correctness of Algorithm 1 is proved. Let us offer some intuition behind Invariant 7.1. Again, it takes some ingenuity to come up with this invariant. One way of thinking is that in each iteration of the loop, we shift x to the left and y to the right. This corresponds to multiplying x by 2 and dividing y by 2. We cut off the last bit of y in the process, and if the last bit of y was 1, we compensate for this loss by adding x to our partial result p. 5

6 7.2 Grade School Multiplication Algorithm Greatest Common Divisor Termination To complete our correctness proof for Algorithm 1, we show that the loop on line 4 eventually terminates. For this, we show that the value of y decreases in each iteration of the loop by at least one. Intuitively, this is true because y is a positive integer and we divide it by two in every step and round down, which should decrease its value. Now let s argue formally. Proposition 7.3. If y > 0, y/2 y 1. Proof. Write y = 2k + r where r {0, 1} and k N. Then y/2 = (2k + r)/2 = k + r/2 = k. To show y/2 = k y 1 = 2k + r 1, just observe that the only way this would not hold for some k N and r {0, 1} is if k = r = 0, but in that case we would have y = 0, which is a case our proposition doesn t consider. Since y is initialized to b at the beginning of the algorithm and decreases by at least one in every iteration of the loop by Proposition 7.3, it follows that after at most b iterations of the loop, y becomes zero, at which point the loop terminates and the algorithm returns. Now the proof of Algorithm 1 s correctness is complete. We now look at another correctness proof. We prove correctness of an algorithm for finding the greatest common divisor of two integers Greatest Common Divisor We start by defining what we mean by greatest common divisor. Definition 7.4. The greatest common divisor of integers a and b, denoted gcd(a, b), is the largest integer d such that d divides both a and b. Furthermore, if c divides both a and b, then c also divides gcd(a, b). Because zero is divisible by every integer, gcd(0, 0) is undefined. In more generality, gcd(a, 0) is undefined if a = 0, and is a when a > 0. To see the latter, note that the largest divisor of a is a itself, and a also divides zero (because every integer does). Similarly, gcd(0, b) is undefined if b = 0, and is b otherwise. We state and prove three properties of the greatest common divisor. We will use these properties to construct an algorithm for finding greatest common divisors. Lemma 7.5. Let a, b N with at least one of a, b nonzero. Then the following three properties hold. (i) If a = b, gcd(a, b) = a = b. (ii) If a < b, gcd(a, b) = gcd(a, b a). (iii) If a > b, gcd(a, b) = gcd(a b, a). Proof. When a = b, a divides both a and b. Furthermore, no integer greater than a divides a, so gcd(a, b) = a = b. This proves (i). Now let s argue (ii). We show that d is a divisor of both a and b if and only if d is a divisor of both a and b a. We do so by proving two implications. First assume that d is a divisor of both a and b. Then there exist integers c 1 and c 2 such that a = c 1 d and b = c 2 d. Therefore, we can write b a = (c 2 c 1 )d, and we see that b a is a multiple 6

7 7.2 Grade School Multiplication Algorithm The GCD Algorithm of d, which implies that d divides b a. Since d also divides a by assumption, we have shown that d divides both a and b a. For the other direction, assume d is a divisor of both a and b a. Then there exist integers c 1 and c 2 such that a = c 1 d and b a = c 2 d. Therefore, we can write b = (b a) + a = (c 2 + c 1 )d, and we see that b is a multiple of d, which implies that d divides b. Since d also divides a by assumption, we have shown that d divides both a and b. Therefore, the sets {d d divides a and d divides b} and {d d divides a and d divides b a} are the same, so they both have the same largest element. This largest element is the greatest common divisor of both a and b, and of a and b a. This completes the proof of (ii). We would argue (iii) the same way as (ii), except with the roles of a and b switched. This completes the proof of the lemma The GCD Algorithm The observations proved as Lemma 7.5 are a good starting point for an algorithm that computes the greatest common divisor of two numbers. The basic idea is to use (ii) and (iii) of Lemma 7.5 to decrease the values of x and y used for the computation of the greatest common divisor with the hope that they eventually achieve values for which the greatest common divisor is easy to compute (such as case (i) of Lemma 7.5). We describe the algorithm formally now, and show the specification together with the algorithm. Algorithm 2: GCD Algorithm Input: a, b positive integers Output: gcd(a, b) (1) (x, y) (a, b) (2) while x y do (3) if x < y then y y x (4) (5) else x x y (6) (7) end (8) return x To argue correctness of Algorithm 2, we must show that the algorithm returns the greatest common divisor of its two inputs, a and b, and that it terminates. To that end, we define and prove some loop invariants. Observe that the loop on line 2 terminates when x = y, and in that case gcd(x, y) = x. At the beginning, we have x = a and y = b, so gcd(x, y) = gcd(a, b). If we show that we maintain gcd(a, b) = gcd(x, y) throughout the algorithm, that will give us partial correctness. In fact, it is possible to show this, and we do so now. Invariant 7.6. After n iterations of the loop on line 2, gcd(a, b) = gcd(x, y). Proof. We prove this invariant by induction on the number of iterations of the loop. Let x n and y n be the values of x and y after n iterations of the loop, respectively. For the base case, we have x 0 = a and y 0 = b from line 1, so gcd(x 0, y 0 ) = gcd(a, b). To prove the inductive step, assume that gcd(x n, y n ) = gcd(a, b). 7

8 7.2 Grade School Multiplication Algorithm The GCD Algorithm If x n = y n, there isn t going to be another iteration of the loop. In this case we don t need to argue about the values of x and y after the (n + 1)st iteration of the loop at all. Now suppose that x n y n. Then there will be another iteration of the loop, and we have two cases to consider. Case 1: x n < y n. Then x n+1 = x n and y n+1 = y n x n. We see that gcd(x n+1, y n+1 ) = gcd(x n, y n x n ) = gcd(x n, y n ) = gcd(a, b). (7.4) The second equality in (7.4) follows by part (ii) of Lemma 7.5 and the last equality follows by the induction hypothesis. Therefore, gcd(x n+1, y n+1 ) = gcd(a, b) in this case. Case 2: x n > y n. Then x n+1 = x n y n and y n+1 = y n. We see that gcd(x n+1, y n+1 ) = gcd(x n y n, y n ) = gcd(x n, y n ) = gcd(a, b). (7.5) The second equality in (7.5) follows by part (iii) of Lemma 7.5 and the last equality follows by the induction hypothesis. Therefore, gcd(x n+1, y n+1 ) = gcd(a, b) in this case as well. This completes the proof of the induction step, and of the invariant. To argue partial correctness, we observe that when the loop terminates, gcd(x, y) = gcd(a, b) by Invariant 7.6. Next, since the loop terminated, x = y, so gcd(x, y) = x. Therefore, x = gcd(a, b), and we return x, so we return gcd(a, b) as desired. This completes the proof of partial correctness. Here we remark that in practice, we would not spell out the argument for Case 2 in the proof of Invariant 7.6 because it is almost the same as the argument for Case 1. In mathematical writing, we would just say that if x n > y n, an argument similar to the one for Case 1 shows that the invariant is maintained after n + 1 iterations of the loop in Case 2 as well. We actually took this shortcut in the proof of Lemma 7.5 where we omitted the proof of part (iii). Make sure that when you take such a shortcut in mathematical writing, you at least check that the omitted proof goes through, for example by writing it down somewhere else. We now argue that Algorithm 2 terminates by showing that the loop on line 2 terminates after some number of iterations. We prove an additional loop invariant in order to do so. Invariant 7.7. After n iterations of the loop, x > 0 and y > 0. Proof. We prove the invariant by induction. As in the proof of Invariant 7.6, let x n and y n be the values of x and y after n iterations of the loop, respectively. Before the loop starts, x 0 = a, y 0 = b, and the specification tells us that a, b > 0. This proves the base case. Now assume that x n > 0 and y n > 0 for some n. If x n = y n, there is not going to be an (n+1)st iteration of the loop. If x n y n, there are two cases. If x n < y n, x n+1 = x n > 0, and we subtract x from y to get y n+1 = y n x n, which is greater than zero because y n > x n. Thus, x n+1, y n+1 > 0 in this case. We can argue similarly in the case x n > y n, and we see that the invariant is maintained after the (n + 1)st iteration of the loop. To prove that an algorithm terminates, we often find a quantity, sometimes called a potential, that decreases in discrete steps over time, and show that it cannot go below a certain threshold. In our case, the potential is x + y, and decreases by either x or y (that s the discrete step ) after each iteration of the loop (i.e., over time ). We use this quantity to prove termination. When x = y, the algorithm terminates right away, so there is nothing to prove in this case. Now suppose x y after n iterations of the loop. That is, in our earlier notation, x n y n. Then, 8

10 7.2 Grade School Multiplication Algorithm On the Importance of a Precise Specification The lesson to take away from this is that, in addition to specifying the input-output relationship, the specification also indicates which inputs the program was designed to work with. We only need to prove correctness on those inputs. The program may work on other inputs too, but isn t guaranteed to work it could also wipe your hard drive on bad input. It is the responsibility of the user who runs the program to ensure that the inputs are valid. 10

### Reading 13 : Finite State Automata and Regular Expressions

CS/Math 24: Introduction to Discrete Mathematics Fall 25 Reading 3 : Finite State Automata and Regular Expressions Instructors: Beck Hasti, Gautam Prakriya In this reading we study a mathematical model

### CS 103X: Discrete Structures Homework Assignment 3 Solutions

CS 103X: Discrete Structures Homework Assignment 3 s Exercise 1 (20 points). On well-ordering and induction: (a) Prove the induction principle from the well-ordering principle. (b) Prove the well-ordering

### Homework 5 Solutions

Homework 5 Solutions 4.2: 2: a. 321 = 256 + 64 + 1 = (01000001) 2 b. 1023 = 512 + 256 + 128 + 64 + 32 + 16 + 8 + 4 + 2 + 1 = (1111111111) 2. Note that this is 1 less than the next power of 2, 1024, which

### CHAPTER 3 Numbers and Numeral Systems

CHAPTER 3 Numbers and Numeral Systems Numbers play an important role in almost all areas of mathematics, not least in calculus. Virtually all calculus books contain a thorough description of the natural,

### COMP 250 Fall 2012 lecture 2 binary representations Sept. 11, 2012

Binary numbers The reason humans represent numbers using decimal (the ten digits from 0,1,... 9) is that we have ten fingers. There is no other reason than that. There is nothing special otherwise about

### APPLICATIONS OF THE ORDER FUNCTION

APPLICATIONS OF THE ORDER FUNCTION LECTURE NOTES: MATH 432, CSUSM, SPRING 2009. PROF. WAYNE AITKEN In this lecture we will explore several applications of order functions including formulas for GCDs and

### Factoring & Primality

Factoring & Primality Lecturer: Dimitris Papadopoulos In this lecture we will discuss the problem of integer factorization and primality testing, two problems that have been the focus of a great amount

### Elementary Number Theory We begin with a bit of elementary number theory, which is concerned

CONSTRUCTION OF THE FINITE FIELDS Z p S. R. DOTY Elementary Number Theory We begin with a bit of elementary number theory, which is concerned solely with questions about the set of integers Z = {0, ±1,

### 8 Divisibility and prime numbers

8 Divisibility and prime numbers 8.1 Divisibility In this short section we extend the concept of a multiple from the natural numbers to the integers. We also summarize several other terms that express

### 8 Primes and Modular Arithmetic

8 Primes and Modular Arithmetic 8.1 Primes and Factors Over two millennia ago already, people all over the world were considering the properties of numbers. One of the simplest concepts is prime numbers.

### a = bq + r where 0 r < b.

Lecture 5: Euclid s algorithm Introduction The fundamental arithmetic operations are addition, subtraction, multiplication and division. But there is a fifth operation which I would argue is just as fundamental

### Lecture 13 - Basic Number Theory.

Lecture 13 - Basic Number Theory. Boaz Barak March 22, 2010 Divisibility and primes Unless mentioned otherwise throughout this lecture all numbers are non-negative integers. We say that A divides B, denoted

### Elementary Number Theory and Methods of Proof. CSE 215, Foundations of Computer Science Stony Brook University http://www.cs.stonybrook.

Elementary Number Theory and Methods of Proof CSE 215, Foundations of Computer Science Stony Brook University http://www.cs.stonybrook.edu/~cse215 1 Number theory Properties: 2 Properties of integers (whole

### Fractions and Decimals

Fractions and Decimals Tom Davis tomrdavis@earthlink.net http://www.geometer.org/mathcircles December 1, 2005 1 Introduction If you divide 1 by 81, you will find that 1/81 =.012345679012345679... The first

### Continued Fractions and the Euclidean Algorithm

Continued Fractions and the Euclidean Algorithm Lecture notes prepared for MATH 326, Spring 997 Department of Mathematics and Statistics University at Albany William F Hammond Table of Contents Introduction

### Unit 1 Number Sense. In this unit, students will study repeating decimals, percents, fractions, decimals, and proportions.

Unit 1 Number Sense In this unit, students will study repeating decimals, percents, fractions, decimals, and proportions. BLM Three Types of Percent Problems (p L-34) is a summary BLM for the material

### Lecture 3: Finding integer solutions to systems of linear equations

Lecture 3: Finding integer solutions to systems of linear equations Algorithmic Number Theory (Fall 2014) Rutgers University Swastik Kopparty Scribe: Abhishek Bhrushundi 1 Overview The goal of this lecture

### 3. Mathematical Induction

3. MATHEMATICAL INDUCTION 83 3. Mathematical Induction 3.1. First Principle of Mathematical Induction. Let P (n) be a predicate with domain of discourse (over) the natural numbers N = {0, 1,,...}. If (1)

### Discrete Mathematics and Probability Theory Fall 2009 Satish Rao, David Tse Note 2

CS 70 Discrete Mathematics and Probability Theory Fall 2009 Satish Rao, David Tse Note 2 Proofs Intuitively, the concept of proof should already be familiar We all like to assert things, and few of us

### Integer multiplication

Integer multiplication Suppose we have two unsigned integers, A and B, and we wish to compute their product. Let A be the multiplicand and B the multiplier: A n 1... A 1 A 0 multiplicand B n 1... B 1 B

### CHAPTER 5. Number Theory. 1. Integers and Division. Discussion

CHAPTER 5 Number Theory 1. Integers and Division 1.1. Divisibility. Definition 1.1.1. Given two integers a and b we say a divides b if there is an integer c such that b = ac. If a divides b, we write a

### Section 4.2: The Division Algorithm and Greatest Common Divisors

Section 4.2: The Division Algorithm and Greatest Common Divisors The Division Algorithm The Division Algorithm is merely long division restated as an equation. For example, the division 29 r. 20 32 948

### CLASS 3, GIVEN ON 9/27/2010, FOR MATH 25, FALL 2010

CLASS 3, GIVEN ON 9/27/2010, FOR MATH 25, FALL 2010 1. Greatest common divisor Suppose a, b are two integers. If another integer d satisfies d a, d b, we call d a common divisor of a, b. Notice that as

### Theory of Computation Prof. Kamala Krithivasan Department of Computer Science and Engineering Indian Institute of Technology, Madras

Theory of Computation Prof. Kamala Krithivasan Department of Computer Science and Engineering Indian Institute of Technology, Madras Lecture No. # 31 Recursive Sets, Recursively Innumerable Sets, Encoding

### Student Outcomes. Lesson Notes. Classwork. Discussion (10 minutes)

NYS COMMON CORE MATHEMATICS CURRICULUM Lesson 5 8 Student Outcomes Students know the definition of a number raised to a negative exponent. Students simplify and write equivalent expressions that contain

### We now explore a third method of proof: proof by contradiction.

CHAPTER 6 Proof by Contradiction We now explore a third method of proof: proof by contradiction. This method is not limited to proving just conditional statements it can be used to prove any kind of statement

### MATH 289 PROBLEM SET 4: NUMBER THEORY

MATH 289 PROBLEM SET 4: NUMBER THEORY 1. The greatest common divisor If d and n are integers, then we say that d divides n if and only if there exists an integer q such that n = qd. Notice that if d divides

### We can express this in decimal notation (in contrast to the underline notation we have been using) as follows: 9081 + 900b + 90c = 9001 + 100c + 10b

In this session, we ll learn how to solve problems related to place value. This is one of the fundamental concepts in arithmetic, something every elementary and middle school mathematics teacher should

### Kevin James. MTHSC 412 Section 2.4 Prime Factors and Greatest Comm

MTHSC 412 Section 2.4 Prime Factors and Greatest Common Divisor Greatest Common Divisor Definition Suppose that a, b Z. Then we say that d Z is a greatest common divisor (gcd) of a and b if the following

### SECTION 10-2 Mathematical Induction

73 0 Sequences and Series 6. Approximate e 0. using the first five terms of the series. Compare this approximation with your calculator evaluation of e 0.. 6. Approximate e 0.5 using the first five terms

### MATH10212 Linear Algebra. Systems of Linear Equations. Definition. An n-dimensional vector is a row or a column of n numbers (or letters): a 1.

MATH10212 Linear Algebra Textbook: D. Poole, Linear Algebra: A Modern Introduction. Thompson, 2006. ISBN 0-534-40596-7. Systems of Linear Equations Definition. An n-dimensional vector is a row or a column

### Session 7 Fractions and Decimals

Key Terms in This Session Session 7 Fractions and Decimals Previously Introduced prime number rational numbers New in This Session period repeating decimal terminating decimal Introduction In this session,

### 11 Ideals. 11.1 Revisiting Z

11 Ideals The presentation here is somewhat different than the text. In particular, the sections do not match up. We have seen issues with the failure of unique factorization already, e.g., Z[ 5] = O Q(

### An Innocent Investigation

An Innocent Investigation D. Joyce, Clark University January 2006 The beginning. Have you ever wondered why every number is either even or odd? I don t mean to ask if you ever wondered whether every number

### MODULAR ARITHMETIC. a smallest member. It is equivalent to the Principle of Mathematical Induction.

MODULAR ARITHMETIC 1 Working With Integers The usual arithmetic operations of addition, subtraction and multiplication can be performed on integers, and the result is always another integer Division, on

### Absolute Value of Reasoning

About Illustrations: Illustrations of the Standards for Mathematical Practice (SMP) consist of several pieces, including a mathematics task, student dialogue, mathematical overview, teacher reflection

### The Euclidean Algorithm

The Euclidean Algorithm A METHOD FOR FINDING THE GREATEST COMMON DIVISOR FOR TWO LARGE NUMBERS To be successful using this method you have got to know how to divide. If this is something that you have

### 2. Methods of Proof Types of Proofs. Suppose we wish to prove an implication p q. Here are some strategies we have available to try.

2. METHODS OF PROOF 69 2. Methods of Proof 2.1. Types of Proofs. Suppose we wish to prove an implication p q. Here are some strategies we have available to try. Trivial Proof: If we know q is true then

### Euclid s Algorithm for the Greatest Common Divisor Desh Ranjan Department of Computer Science New Mexico State University

Euclid s Algorithm for the Greatest Common Divisor Desh Ranjan Department of Computer Science New Mexico State University 1 Numbers, Division and Euclid People have been using numbers, and operations on

### Induction. Margaret M. Fleck. 10 October These notes cover mathematical induction and recursive definition

Induction Margaret M. Fleck 10 October 011 These notes cover mathematical induction and recursive definition 1 Introduction to induction At the start of the term, we saw the following formula for computing

### Today s Topics. Primes & Greatest Common Divisors

Today s Topics Primes & Greatest Common Divisors Prime representations Important theorems about primality Greatest Common Divisors Least Common Multiples Euclid s algorithm Once and for all, what are prime

### Repetition and Loops. Additional Python constructs that allow us to effect the (1) order and (2) number of times that program statements are executed.

New Topic Repetition and Loops Additional Python constructs that allow us to effect the (1) order and (2) number of times that program statements are executed. These constructs are the 1. while loop and

### 1.6 The Order of Operations

1.6 The Order of Operations Contents: Operations Grouping Symbols The Order of Operations Exponents and Negative Numbers Negative Square Roots Square Root of a Negative Number Order of Operations and Negative

### Homework until Test #2

MATH31: Number Theory Homework until Test # Philipp BRAUN Section 3.1 page 43, 1. It has been conjectured that there are infinitely many primes of the form n. Exhibit five such primes. Solution. Five such

### Preliminary Mathematics

Preliminary Mathematics The purpose of this document is to provide you with a refresher over some topics that will be essential for what we do in this class. We will begin with fractions, decimals, and

### CONTINUED FRACTIONS AND PELL S EQUATION. Contents 1. Continued Fractions 1 2. Solution to Pell s Equation 9 References 12

CONTINUED FRACTIONS AND PELL S EQUATION SEUNG HYUN YANG Abstract. In this REU paper, I will use some important characteristics of continued fractions to give the complete set of solutions to Pell s equation.

### The Prime Numbers. Definition. A prime number is a positive integer with exactly two positive divisors.

The Prime Numbers Before starting our study of primes, we record the following important lemma. Recall that integers a, b are said to be relatively prime if gcd(a, b) = 1. Lemma (Euclid s Lemma). If gcd(a,

### GCDs and Relatively Prime Numbers! CSCI 2824, Fall 2014!

GCDs and Relatively Prime Numbers! CSCI 2824, Fall 2014!!! Challenge Problem 2 (Mastermind) due Fri. 9/26 Find a fourth guess whose scoring will allow you to determine the secret code (repetitions are

### Discrete Mathematics Lecture 3 Elementary Number Theory and Methods of Proof. Harper Langston New York University

Discrete Mathematics Lecture 3 Elementary Number Theory and Methods of Proof Harper Langston New York University Proof and Counterexample Discovery and proof Even and odd numbers number n from Z is called

### Section 4.1 Rules of Exponents

Section 4.1 Rules of Exponents THE MEANING OF THE EXPONENT The exponent is an abbreviation for repeated multiplication. The repeated number is called a factor. x n means n factors of x. The exponent tells

### Section 6-2 Mathematical Induction

6- Mathematical Induction 457 In calculus, it can be shown that e x k0 x k k! x x x3!! 3!... xn n! where the larger n is, the better the approximation. Problems 6 and 6 refer to this series. Note that

### Lesson 6: Proofs of Laws of Exponents

NYS COMMON CORE MATHEMATICS CURRICULUM Lesson 6 8 Student Outcomes Students extend the previous laws of exponents to include all integer exponents. Students base symbolic proofs on concrete examples to

### MATH10040 Chapter 2: Prime and relatively prime numbers

MATH10040 Chapter 2: Prime and relatively prime numbers Recall the basic definition: 1. Prime numbers Definition 1.1. Recall that a positive integer is said to be prime if it has precisely two positive

### CHAPTER 3. Methods of Proofs. 1. Logical Arguments and Formal Proofs

CHAPTER 3 Methods of Proofs 1. Logical Arguments and Formal Proofs 1.1. Basic Terminology. An axiom is a statement that is given to be true. A rule of inference is a logical rule that is used to deduce

### Now that we have a handle on the integers, we will turn our attention to other types of numbers.

1.2 Rational Numbers Now that we have a handle on the integers, we will turn our attention to other types of numbers. We start with the following definitions. Definition: Rational Number- any number that

### Math 55: Discrete Mathematics

Math 55: Discrete Mathematics UC Berkeley, Fall 2011 Homework # 5, due Wednesday, February 22 5.1.4 Let P (n) be the statement that 1 3 + 2 3 + + n 3 = (n(n + 1)/2) 2 for the positive integer n. a) What

### 0.8 Rational Expressions and Equations

96 Prerequisites 0.8 Rational Expressions and Equations We now turn our attention to rational expressions - that is, algebraic fractions - and equations which contain them. The reader is encouraged to

### (x + a) n = x n + a Z n [x]. Proof. If n is prime then the map

22. A quick primality test Prime numbers are one of the most basic objects in mathematics and one of the most basic questions is to decide which numbers are prime (a clearly related problem is to find

### 5544 = 2 2772 = 2 2 1386 = 2 2 2 693. Now we have to find a divisor of 693. We can try 3, and 693 = 3 231,and we keep dividing by 3 to get: 1

MATH 13150: Freshman Seminar Unit 8 1. Prime numbers 1.1. Primes. A number bigger than 1 is called prime if its only divisors are 1 and itself. For example, 3 is prime because the only numbers dividing

### 23. RATIONAL EXPONENTS

23. RATIONAL EXPONENTS renaming radicals rational numbers writing radicals with rational exponents When serious work needs to be done with radicals, they are usually changed to a name that uses exponents,

### Number Theory. Proof. Suppose otherwise. Then there would be a finite number n of primes, which we may

Number Theory Divisibility and Primes Definition. If a and b are integers and there is some integer c such that a = b c, then we say that b divides a or is a factor or divisor of a and write b a. Definition

### CHAPTER 5 Round-off errors

CHAPTER 5 Round-off errors In the two previous chapters we have seen how numbers can be represented in the binary numeral system and how this is the basis for representing numbers in computers. Since any

### HOMEWORK 5 SOLUTIONS. n!f n (1) lim. ln x n! + xn x. 1 = G n 1 (x). (2) k + 1 n. (n 1)!

Math 7 Fall 205 HOMEWORK 5 SOLUTIONS Problem. 2008 B2 Let F 0 x = ln x. For n 0 and x > 0, let F n+ x = 0 F ntdt. Evaluate n!f n lim n ln n. By directly computing F n x for small n s, we obtain the following

### Breaking The Code. Ryan Lowe. Ryan Lowe is currently a Ball State senior with a double major in Computer Science and Mathematics and

Breaking The Code Ryan Lowe Ryan Lowe is currently a Ball State senior with a double major in Computer Science and Mathematics and a minor in Applied Physics. As a sophomore, he took an independent study

### Chapter 11 Number Theory

Chapter 11 Number Theory Number theory is one of the oldest branches of mathematics. For many years people who studied number theory delighted in its pure nature because there were few practical applications

### Mathematics for Computer Science/Software Engineering. Notes for the course MSM1F3 Dr. R. A. Wilson

Mathematics for Computer Science/Software Engineering Notes for the course MSM1F3 Dr. R. A. Wilson October 1996 Chapter 1 Logic Lecture no. 1. We introduce the concept of a proposition, which is a statement

### SUM OF TWO SQUARES JAHNAVI BHASKAR

SUM OF TWO SQUARES JAHNAVI BHASKAR Abstract. I will investigate which numbers can be written as the sum of two squares and in how many ways, providing enough basic number theory so even the unacquainted

### Just the Factors, Ma am

1 Introduction Just the Factors, Ma am The purpose of this note is to find and study a method for determining and counting all the positive integer divisors of a positive integer Let N be a given positive

### MATH 10034 Fundamental Mathematics IV

MATH 0034 Fundamental Mathematics IV http://www.math.kent.edu/ebooks/0034/funmath4.pdf Department of Mathematical Sciences Kent State University January 2, 2009 ii Contents To the Instructor v Polynomials.

### SOLUTIONS FOR PROBLEM SET 2

SOLUTIONS FOR PROBLEM SET 2 A: There exist primes p such that p+6k is also prime for k = 1,2 and 3. One such prime is p = 11. Another such prime is p = 41. Prove that there exists exactly one prime p such

### 2.3 Solving Equations Containing Fractions and Decimals

2. Solving Equations Containing Fractions and Decimals Objectives In this section, you will learn to: To successfully complete this section, you need to understand: Solve equations containing fractions

### Activity 1: Using base ten blocks to model operations on decimals

Rational Numbers 9: Decimal Form of Rational Numbers Objectives To use base ten blocks to model operations on decimal numbers To review the algorithms for addition, subtraction, multiplication and division

### Lies My Calculator and Computer Told Me

Lies My Calculator and Computer Told Me 2 LIES MY CALCULATOR AND COMPUTER TOLD ME Lies My Calculator and Computer Told Me See Section.4 for a discussion of graphing calculators and computers with graphing

### Handout #1: Mathematical Reasoning

Math 101 Rumbos Spring 2010 1 Handout #1: Mathematical Reasoning 1 Propositional Logic A proposition is a mathematical statement that it is either true or false; that is, a statement whose certainty or

### The last three chapters introduced three major proof techniques: direct,

CHAPTER 7 Proving Non-Conditional Statements The last three chapters introduced three major proof techniques: direct, contrapositive and contradiction. These three techniques are used to prove statements

### Math Workshop October 2010 Fractions and Repeating Decimals

Math Workshop October 2010 Fractions and Repeating Decimals This evening we will investigate the patterns that arise when converting fractions to decimals. As an example of what we will be looking at,

### Notes on Factoring. MA 206 Kurt Bryan

The General Approach Notes on Factoring MA 26 Kurt Bryan Suppose I hand you n, a 2 digit integer and tell you that n is composite, with smallest prime factor around 5 digits. Finding a nontrivial factor

### WRITING PROOFS. Christopher Heil Georgia Institute of Technology

WRITING PROOFS Christopher Heil Georgia Institute of Technology A theorem is just a statement of fact A proof of the theorem is a logical explanation of why the theorem is true Many theorems have this

### Useful Number Systems

Useful Number Systems Decimal Base = 10 Digit Set = {0, 1, 2, 3, 4, 5, 6, 7, 8, 9} Binary Base = 2 Digit Set = {0, 1} Octal Base = 8 = 2 3 Digit Set = {0, 1, 2, 3, 4, 5, 6, 7} Hexadecimal Base = 16 = 2

### Some Polynomial Theorems. John Kennedy Mathematics Department Santa Monica College 1900 Pico Blvd. Santa Monica, CA 90405 rkennedy@ix.netcom.

Some Polynomial Theorems by John Kennedy Mathematics Department Santa Monica College 1900 Pico Blvd. Santa Monica, CA 90405 rkennedy@ix.netcom.com This paper contains a collection of 31 theorems, lemmas,

### Computer Science 281 Binary and Hexadecimal Review

Computer Science 281 Binary and Hexadecimal Review 1 The Binary Number System Computers store everything, both instructions and data, by using many, many transistors, each of which can be in one of two

### Definition 1 Let a and b be positive integers. A linear combination of a and b is any number n = ax + by, (1) where x and y are whole numbers.

Greatest Common Divisors and Linear Combinations Let a and b be positive integers The greatest common divisor of a and b ( gcd(a, b) ) has a close and very useful connection to things called linear combinations

### Rational Exponents. Squaring both sides of the equation yields. and to be consistent, we must have

8.6 Rational Exponents 8.6 OBJECTIVES 1. Define rational exponents 2. Simplify expressions containing rational exponents 3. Use a calculator to estimate the value of an expression containing rational exponents

### MATH 4330/5330, Fourier Analysis Section 11, The Discrete Fourier Transform

MATH 433/533, Fourier Analysis Section 11, The Discrete Fourier Transform Now, instead of considering functions defined on a continuous domain, like the interval [, 1) or the whole real line R, we wish

### Tom wants to find two real numbers, a and b, that have a sum of 10 and have a product of 10. He makes this table.

Sum and Product This problem gives you the chance to: use arithmetic and algebra to represent and analyze a mathematical situation solve a quadratic equation by trial and improvement Tom wants to find

### Subsets of Euclidean domains possessing a unique division algorithm

Subsets of Euclidean domains possessing a unique division algorithm Andrew D. Lewis 2009/03/16 Abstract Subsets of a Euclidean domain are characterised with the following objectives: (1) ensuring uniqueness

### U.C. Berkeley CS276: Cryptography Handout 0.1 Luca Trevisan January, 2009. Notes on Algebra

U.C. Berkeley CS276: Cryptography Handout 0.1 Luca Trevisan January, 2009 Notes on Algebra These notes contain as little theory as possible, and most results are stated without proof. Any introductory

### Negative Integer Exponents

7.7 Negative Integer Exponents 7.7 OBJECTIVES. Define the zero exponent 2. Use the definition of a negative exponent to simplify an expression 3. Use the properties of exponents to simplify expressions

### Intermediate Math Circles March 7, 2012 Linear Diophantine Equations II

Intermediate Math Circles March 7, 2012 Linear Diophantine Equations II Last week: How to find one solution to a linear Diophantine equation This week: How to find all solutions to a linear Diophantine

### 1. Give the 16 bit signed (twos complement) representation of the following decimal numbers, and convert to hexadecimal:

Exercises 1 - number representations Questions 1. Give the 16 bit signed (twos complement) representation of the following decimal numbers, and convert to hexadecimal: (a) 3012 (b) - 435 2. For each of

### Stanford Math Circle: Sunday, May 9, 2010 Square-Triangular Numbers, Pell s Equation, and Continued Fractions

Stanford Math Circle: Sunday, May 9, 00 Square-Triangular Numbers, Pell s Equation, and Continued Fractions Recall that triangular numbers are numbers of the form T m = numbers that can be arranged in

### 12 Greatest Common Divisors. The Euclidean Algorithm

Arkansas Tech University MATH 4033: Elementary Modern Algebra Dr. Marcel B. Finan 12 Greatest Common Divisors. The Euclidean Algorithm As mentioned at the end of the previous section, we would like to

### CONTINUED FRACTIONS AND FACTORING. Niels Lauritzen

CONTINUED FRACTIONS AND FACTORING Niels Lauritzen ii NIELS LAURITZEN DEPARTMENT OF MATHEMATICAL SCIENCES UNIVERSITY OF AARHUS, DENMARK EMAIL: niels@imf.au.dk URL: http://home.imf.au.dk/niels/ Contents

### Math Circle Beginners Group October 18, 2015

Math Circle Beginners Group October 18, 2015 Warm-up problem 1. Let n be a (positive) integer. Prove that if n 2 is odd, then n is also odd. (Hint: Use a proof by contradiction.) Suppose that n 2 is odd

### Solutions for Practice problems on proofs

Solutions for Practice problems on proofs Definition: (even) An integer n Z is even if and only if n = 2m for some number m Z. Definition: (odd) An integer n Z is odd if and only if n = 2m + 1 for some

### LEARNING OBJECTIVES FOR THIS CHAPTER

CHAPTER 2 American mathematician Paul Halmos (1916 2006), who in 1942 published the first modern linear algebra book. The title of Halmos s book was the same as the title of this chapter. Finite-Dimensional

### 1. The Fly In The Ointment

Arithmetic Revisited Lesson 5: Decimal Fractions or Place Value Extended Part 5: Dividing Decimal Fractions, Part 2. The Fly In The Ointment The meaning of, say, ƒ 2 doesn't depend on whether we represent

### 2. Perform the division as if the numbers were whole numbers. You may need to add zeros to the back of the dividend to complete the division

Math Section 5. Dividing Decimals 5. Dividing Decimals Review from Section.: Quotients, Dividends, and Divisors. In the expression,, the number is called the dividend, is called the divisor, and is called