Mathematical Induction

Size: px
Start display at page:

Download "Mathematical Induction"

Transcription

1 Mathematical Induction COM1022 Functional Programming Techniques Professor Steve Schneider University of Surrey Semester 2, 2010 Week 10 Professor Steve Schneider Mathematical Induction Semester 2, 2010 Week 10 1 / 22

2 Outline 1 Mathemtical induction exercises 2 List Induction 3 Structural Induction over algebraic types Professor Steve Schneider Mathematical Induction Semester 2, 2010 Week 10 2 / 22

3 Mathemtical induction exercises Review: The principle of induction If P(0) and P(n) P(n + 1) for all n Then we can conclude n.p(n) An infinite sequence of dominoes... Professor Steve Schneider Mathematical Induction Semester 2, 2010 Week 10 3 / 22

4 Exercises Mathemtical induction exercises These exercises were set last week in place of the lab: Prove each of the following by induction: n = 2 (n+1) 1 for all n n 2 = (n(n+1)(2n+1)) 6 for all n 4 n + 6n 1 is divisible by 9 for all n Professor Steve Schneider Mathematical Induction Semester 2, 2010 Week 10 4 / 22

5 List Induction Proving statements about lists How do we understand what a function on lists does? [Thompson Chapter 8]. Example: length [] = 0 length (x:xs) = 1 + length xs Is it true that length (xs ++ ys) = length xs + length ys If so, how do we prove it? Professor Steve Schneider Mathematical Induction Semester 2, 2010 Week 10 5 / 22

6 List Induction List induction In order to prove a logical property P(xs) holds for all finite lists xs we have to prove two things: Base case: prove P([]) Inductive step: Prove P(x:xs) on the assumption that P(xs) holds. The idea is similar to mathematical induction, (which allows proofs for finite numbers, i.e. positive integers) Professor Steve Schneider Mathematical Induction Semester 2, 2010 Week 10 6 / 22

7 List Induction Setting up the induction For our example, we will use P(xs) to be length (xs++ys) = length xs + length ys for any ys. We will prove this by induction on xs Also need to use the definition of ++: [] ++ xs = xs (x:xs) ++ ys = x:(xs ++ ys) Professor Steve Schneider Mathematical Induction Semester 2, 2010 Week 10 7 / 22

8 Base case: P([]) List Induction We need to prove length ([]++ys) = length [] + length ys for any ys. By the Haskell definitions, this reduces to length ys = 0 + length ys for any ys. and this is clearly true. Professor Steve Schneider Mathematical Induction Semester 2, 2010 Week 10 8 / 22

9 List Induction Inductive Step: P(xs) P(x:xs) Assume that length (xs++ys) = length xs + length ys for any ys Now we need to consider whether P(x:xs) is true. length((x : xs) + +ys) = length (x:(xs++ys)) = 1 + length (xs++ys) = 1 + (length xs + length ys) (since P(xs) is assumed) = (1 + length xs) + length ys = length (x:xs) + length ys Professor Steve Schneider Mathematical Induction Semester 2, 2010 Week 10 9 / 22

10 List Induction Exercise Prove by list induction that: xs ++ [] = xs for all xs Base case Inductive step You will need to use the definitions for ++ Professor Steve Schneider Mathematical Induction Semester 2, 2010 Week / 22

11 List Induction Another example The function reverse is defined as follows: reverse [] = [] reverse (x:xs) = (reverse xs) ++ [x] Prove by list induction over xs that: reverse (xs ++ ys) = reverse ys ++ reverse xs Base case Inductive step Professor Steve Schneider Mathematical Induction Semester 2, 2010 Week / 22

12 Structural Induction over algebraic types Recursive algebraic types A recursive type is defined in terms of itself. For example, a type for trees can be defined as follows: data NTree = NilT Node Int NTree NTree An NTree is defined to be either the empty tree NTree or else a node containing an integer and two subtrees. [see Thompson 14.2] We will use tt NTree as the running example, but the principles hold for any recursive data type. Professor Steve Schneider Mathematical Induction Semester 2, 2010 Week / 22

13 Question Structural Induction over algebraic types Draw some NTrees. For each tree, how many nodes does it contain? How many occurrences of NilT? Can you identify a relationship between the number of nodes and the number of occurrences of NilT? Is this true for all trees? How would you prove that you have got it right? Professor Steve Schneider Mathematical Induction Semester 2, 2010 Week / 22

14 Structural Induction over algebraic types Structural induction over trees In order to prove a logical property P(tr) holds for all trees tr we have to prove two things: Base case prove P(NilT) Inductive step Prove P(Node x tr1 tr2), on the assumption that P(tr1) and P(tr2) hold. Professor Steve Schneider Mathematical Induction Semester 2, 2010 Week / 22

15 Structural Induction over algebraic types Exercise: Characterising the property Define the number of nils and the number of nodes by completing the following functions: nils (NilT) =... nils (Node x tr1 tr2) =... nodes (NilT) =... nodes (Node x tr1 tr2) =... Express the property in terms of nils and nodes: P(tr) =??? Professor Steve Schneider Mathematical Induction Semester 2, 2010 Week / 22

16 Structural Induction over algebraic types Base case Prove the property P(NilT). Use the definitions of nils NilT and nodes NilT Professor Steve Schneider Mathematical Induction Semester 2, 2010 Week / 22

17 Structural Induction over algebraic types Inductive step Assume P(tr1) and P(tr2) are true. Prove P(Node x tr1 tr2) using the definitions of nils and nodes Once the base case and the inductive step are both established, then the property is proven for all trees. Professor Steve Schneider Mathematical Induction Semester 2, 2010 Week / 22

18 Structural Induction over algebraic types Exercise: height of tree and number of nodes height is defined as follows: height NilT = 0 height (Node x tr1 tr2) = 1 + max(height tr1, height tr2) Prove that height tr nodes tr for all trees tr What is the base case? Prove the inductive step Professor Steve Schneider Mathematical Induction Semester 2, 2010 Week / 22

19 Structural Induction over algebraic types Example: height of tree and number of nodes Prove that nodes tr 2 height tr 1 for all trees tr Base case: nodes NilT = 0 height NilT = , which establishes the base case. Inductive step: assume true for tr1 and tr2 See next slide... Professor Steve Schneider Mathematical Induction Semester 2, 2010 Week / 22

20 Inductive step Structural Induction over algebraic types nodes(node x tr1 tr2) = 1 + (nodes tr1) + (nodes tr2) 1 + (2 height tr1 1) + (2 height tr2 1) 1 + (2 max(height tr1)(height tr2) 1) + (2 max(height tr1)(height tr2) 1) (2 2 max(height tr1)(height tr2) ) 1 (2 max(height tr1)(height tr2)+1 ) 1 = 2 height (Node x tr1 tr2) 1 Professor Steve Schneider Mathematical Induction Semester 2, 2010 Week / 22

21 Structural Induction over algebraic types Summary Structural induction (for lists, trees, and any other recursive data types) to prove a property P(x) for all objects x of that type: Base case: prove P(x) holds for all clauses of the type which are not recursive, i.e. which do not have components of that type. Inductive step: for all clauses of the type which do refer recursively to the type, prove that P holds for any instance x of that case under the assumption that it holds for the components of x which are of that type. This is also the principle for list induction. Professor Steve Schneider Mathematical Induction Semester 2, 2010 Week / 22

22 Structural Induction over algebraic types This week s exercise data STree = Leaf Int Node STree STree elements (Leaf a) = 1 elements (Node tr1 tr2) = elements tr1 + elements tr2 elementlist (Leaf a) = [a] elementlist (Node tr1 tr2) = (elementlist tr1) ++ (elementlist tr2) Prove that elements tr = length (elementlist tr) for all STrees tr Professor Steve Schneider Mathematical Induction Semester 2, 2010 Week / 22

Mathematical Induction Assignments

Mathematical Induction Assignments 1 Mathematical Induction Assignments Prove the Following using Principle of Mathematical induction 1) Prove that for any positive integer number n, n 3 + 2 n is divisible by 3 2) Prove that 1 3 + 2 3 +

More information

Finite Automata Theory and Formal Languages TMV027/DIT321 LP Recap: Logic, Sets, Relations, Functions

Finite Automata Theory and Formal Languages TMV027/DIT321 LP Recap: Logic, Sets, Relations, Functions Finite Automata Theory and Formal Languages TMV027/DIT321 LP4 2017 Formal proofs; Simple/strong induction; Mutual induction; Inductively defined sets; Recursively defined functions. Lecture 3 Ana Bove

More information

CS1800: Mathematical Induction. Professor Kevin Gold

CS1800: Mathematical Induction. Professor Kevin Gold CS1800: Mathematical Induction Professor Kevin Gold Induction: Used to Prove Patterns Just Keep Going For an algorithm, we may want to prove that it just keeps working, no matter how big the input size

More information

Discrete Mathematics. Spring 2017

Discrete Mathematics. Spring 2017 Discrete Mathematics Spring 2017 Previous Lecture Principle of Mathematical Induction Mathematical Induction: rule of inference Mathematical Induction: Conjecturing and Proving Climbing an Infinite Ladder

More information

Mathematical Induction. Rosen Chapter 4.1,4.2 (6 th edition) Rosen Ch. 5.1, 5.2 (7 th edition)

Mathematical Induction. Rosen Chapter 4.1,4.2 (6 th edition) Rosen Ch. 5.1, 5.2 (7 th edition) Mathematical Induction Rosen Chapter 4.1,4.2 (6 th edition) Rosen Ch. 5.1, 5.2 (7 th edition) Motivation Suppose we want to prove that for every value of n: 1 + 2 + + n = n(n + 1)/2. Let P(n) be the predicate

More information

Analyse et Conception Formelle. Lesson 4. Proofs with a proof assistant

Analyse et Conception Formelle. Lesson 4. Proofs with a proof assistant Analyse et Conception Formelle Lesson 4 Proofs with a proof assistant T. Genet (ISTIC/IRISA) ACF-4 1 / 26 Prove logic formulas... to prove programs fun nth:: "nat => a list => a" where "nth 0 (x#_)=x"

More information

Models of Computation,

Models of Computation, Models of Computation, 2010 1 Induction We use a lot of inductive techniques in this course, both to give definitions and to prove facts about our semantics So, it s worth taking a little while to set

More information

Induction and Recursion

Induction and Recursion Induction and Recursion Prof. Clarkson Fall 2016 Today s music: Dream within a Dream from the soundtrack to Inception by Hans Zimmer Review Previously in 3110: Behavioral equivalence Proofs of correctness

More information

Discrete Mathematics Review

Discrete Mathematics Review CS 1813 Discrete Mathematics Discrete Mathematics Review or Yes, the Final Will Be Comprehensive 1 Truth Tables for Logical Operators P Q P Q False False False P Q False P Q False P Q True P Q True P True

More information

Mid-Semester Quiz Second Semester, 2012

Mid-Semester Quiz Second Semester, 2012 THE AUSTRALIAN NATIONAL UNIVERSITY Mid-Semester Quiz Second Semester, 2012 COMP2600 (Formal Methods for Software Engineering) Writing Period: 1 hour duration Study Period: 10 minutes duration Permitted

More information

Proof Techniques (Review of Math 271)

Proof Techniques (Review of Math 271) Chapter 2 Proof Techniques (Review of Math 271) 2.1 Overview This chapter reviews proof techniques that were probably introduced in Math 271 and that may also have been used in a different way in Phil

More information

Notes on induction proofs and recursive definitions

Notes on induction proofs and recursive definitions Notes on induction proofs and recursive definitions James Aspnes December 13, 2010 1 Simple induction Most of the proof techniques we ve talked about so far are only really useful for proving a property

More information

Contradiction MATH Contradiction. Benjamin V.C. Collins, James A. Swenson MATH 2730

Contradiction MATH Contradiction. Benjamin V.C. Collins, James A. Swenson MATH 2730 MATH 2730 Contradiction Benjamin V.C. Collins James A. Swenson Contrapositive The contrapositive of the statement If A, then B is the statement If not B, then not A. A statement and its contrapositive

More information

CS 220: Discrete Structures and their Applications. Mathematical Induction in zybooks

CS 220: Discrete Structures and their Applications. Mathematical Induction in zybooks CS 220: Discrete Structures and their Applications Mathematical Induction 6.4 6.6 in zybooks Why induction? Prove algorithm correctness (CS320 is full of it) The inductive proof will sometimes point out

More information

ICS141: Discrete Mathematics for Computer Science I

ICS141: Discrete Mathematics for Computer Science I ICS141: Discrete Mathematics for Computer Science I Dept. Information & Computer Sci., Jan Stelovsky based on slides by Dr. Baek and Dr. Still Originals by Dr. M. P. Frank and Dr. J.L. Gross Provided by

More information

Induction. Induction. Induction. Induction. Induction. Induction 2/22/2018

Induction. Induction. Induction. Induction. Induction. Induction 2/22/2018 The principle of mathematical induction is a useful tool for proving that a certain predicate is true for all natural numbers. It cannot be used to discover theorems, but only to prove them. If we have

More information

Mathematical Induction

Mathematical Induction Mathematical Induction MAT30 Discrete Mathematics Fall 018 MAT30 (Discrete Math) Mathematical Induction Fall 018 1 / 19 Outline 1 Mathematical Induction Strong Mathematical Induction MAT30 (Discrete Math)

More information

INDUCTION AND RECURSION. Lecture 7 - Ch. 4

INDUCTION AND RECURSION. Lecture 7 - Ch. 4 INDUCTION AND RECURSION Lecture 7 - Ch. 4 4. Introduction Any mathematical statements assert that a property is true for all positive integers Examples: for every positive integer n: n!

More information

Decision Trees. Lewis Fishgold. (Material in these slides adapted from Ray Mooney's slides on Decision Trees)

Decision Trees. Lewis Fishgold. (Material in these slides adapted from Ray Mooney's slides on Decision Trees) Decision Trees Lewis Fishgold (Material in these slides adapted from Ray Mooney's slides on Decision Trees) Classification using Decision Trees Nodes test features, there is one branch for each value of

More information

Outline. Computer Science 331. Cost of Binary Search Tree Operations. Bounds on Height: Worst- and Average-Case

Outline. Computer Science 331. Cost of Binary Search Tree Operations. Bounds on Height: Worst- and Average-Case Outline Computer Science Average Case Analysis: Binary Search Trees Mike Jacobson Department of Computer Science University of Calgary Lecture #7 Motivation and Objective Definition 4 Mike Jacobson (University

More information

CSC236H Lecture 2. Ilir Dema. September 19, 2018

CSC236H Lecture 2. Ilir Dema. September 19, 2018 CSC236H Lecture 2 Ilir Dema September 19, 2018 Simple Induction Useful to prove statements depending on natural numbers Define a predicate P(n) Prove the base case P(b) Prove that for all n b, P(n) P(n

More information

Sum of Squares. Defining Functions. Closed-Form Expression for SQ(n)

Sum of Squares. Defining Functions. Closed-Form Expression for SQ(n) CS/ENGRD 2110 Object-Oriented Programming and Data Structures Spring 2012 Thorsten Joachims Lecture 22: Induction Overview Recursion A programming strategy that solves a problem by reducing it to simpler

More information

CSC236 Week 3. Larry Zhang

CSC236 Week 3. Larry Zhang CSC236 Week 3 Larry Zhang 1 Announcements Problem Set 1 due this Friday Make sure to read Submission Instructions on the course web page. Search for Teammates on Piazza Educational memes: http://www.cs.toronto.edu/~ylzhang/csc236/memes.html

More information

In-Class Soln 1. CS 361, Lecture 4. Today s Outline. In-Class Soln 2

In-Class Soln 1. CS 361, Lecture 4. Today s Outline. In-Class Soln 2 In-Class Soln 1 Let f(n) be an always positive function and let g(n) = f(n) log n. Show that f(n) = o(g(n)) CS 361, Lecture 4 Jared Saia University of New Mexico For any positive constant c, we want to

More information

Methods for solving recurrences

Methods for solving recurrences Methods for solving recurrences Analyzing the complexity of mergesort The merge function Consider the following implementation: 1 int merge ( int v1, int n1, int v, int n ) { 3 int r = malloc ( ( n1+n

More information

Automated Reasoning Lecture 17: Inductive Proof (in Isabelle)

Automated Reasoning Lecture 17: Inductive Proof (in Isabelle) Automated Reasoning Lecture 17: Inductive Proof (in Isabelle) Jacques Fleuriot jdf@inf.ed.ac.uk Recap Previously: Unification and Rewriting This time: Proof by Induction (in Isabelle) Proof by Mathematical

More information

Fundamental Algorithms

Fundamental Algorithms Fundamental Algorithms Chapter 5: Searching Michael Bader Winter 2014/15 Chapter 5: Searching, Winter 2014/15 1 Searching Definition (Search Problem) Input: a sequence or set A of n elements (objects)

More information

Problem. Problem Given a dictionary and a word. Which page (if any) contains the given word? 3 / 26

Problem. Problem Given a dictionary and a word. Which page (if any) contains the given word? 3 / 26 Binary Search Introduction Problem Problem Given a dictionary and a word. Which page (if any) contains the given word? 3 / 26 Strategy 1: Random Search Randomly select a page until the page containing

More information

Notes on Inductive Sets and Induction

Notes on Inductive Sets and Induction Notes on Inductive Sets and Induction Finite Automata Theory and Formal Languages TMV027/DIT21 Ana Bove, March 15th 2018 Contents 1 Induction over the Natural Numbers 2 1.1 Mathematical (Simple) Induction........................

More information

Numbers. 2.1 Integers. P(n) = n(n 4 5n 2 + 4) = n(n 2 1)(n 2 4) = (n 2)(n 1)n(n + 1)(n + 2); 120 =

Numbers. 2.1 Integers. P(n) = n(n 4 5n 2 + 4) = n(n 2 1)(n 2 4) = (n 2)(n 1)n(n + 1)(n + 2); 120 = 2 Numbers 2.1 Integers You remember the definition of a prime number. On p. 7, we defined a prime number and formulated the Fundamental Theorem of Arithmetic. Numerous beautiful results can be presented

More information

Chapter 4. Declarative Interpretation

Chapter 4. Declarative Interpretation Chapter 4 1 Outline Algebras (which provide a semantics of terms) Interpretations (which provide a semantics of programs) Soundness of SLD-resolution Completeness of SLD-resolution Least Herbrand models

More information

CS1800: Strong Induction. Professor Kevin Gold

CS1800: Strong Induction. Professor Kevin Gold CS1800: Strong Induction Professor Kevin Gold Mini-Primer/Refresher on Unrelated Topic: Limits This is meant to be a problem about reasoning about quantifiers, with a little practice of other skills, too

More information

Sequences & Mathematical Induction

Sequences & Mathematical Induction Lecture Notes on Sequences & Mathematical Induction. Birzeit University, Palestine, 015 Sequences & Mathematical Induction Mustafa Jarrar 5.1 Sequences 5.&3 Mathematical Induction اﻻﺳﺗﻘراء اﻟرﯾﺎﺿﻲ mjarrar

More information

Strong Induction (Second Principle) Example: There are two piles of cards, players take turn: each turn: one player removes any number of cards from

Strong Induction (Second Principle) Example: There are two piles of cards, players take turn: each turn: one player removes any number of cards from Strong Induction (Second Principle) Example: There are two piles of cards, players take turn: each turn: one player removes any number of cards from 1 pile (any of the two). The player who removes the

More information

T02 Tutorial Slides for Week 6

T02 Tutorial Slides for Week 6 T02 Tutorial Slides for Week 6 ENEL 353: Digital Circuits Fall 2017 Term Steve Norman, PhD, PEng Electrical & Computer Engineering Schulich School of Engineering University of Calgary 17 October, 2017

More information

CS 151. Red Black Trees & Structural Induction. Thursday, November 1, 12

CS 151. Red Black Trees & Structural Induction. Thursday, November 1, 12 CS 151 Red Black Trees & Structural Induction 1 Announcements Majors fair tonight 4:30-6:30pm in the Root Room in Carnegie. Come and find out about the CS major, or some other major. Winter Term in CS

More information

CSI Mathematical Induction. Many statements assert that a property of the form P(n) is true for all integers n.

CSI Mathematical Induction. Many statements assert that a property of the form P(n) is true for all integers n. CSI 2101- Mathematical Induction Many statements assert that a property of the form P(n) is true for all integers n. Examples: For every positive integer n: n! n n Every set with n elements, has 2 n Subsets.

More information

Predicate Logic: Syntax

Predicate Logic: Syntax Predicate Logic: Syntax Alice Gao Lecture 12 Based on work by J. Buss, L. Kari, A. Lubiw, B. Bonakdarpour, D. Maftuleac, C. Roberts, R. Trefler, and P. Van Beek 1/31 Outline Syntax of Predicate Logic Learning

More information

21 Induction. Tom Lewis. Fall Term Tom Lewis () 21 Induction Fall Term / 14

21 Induction. Tom Lewis. Fall Term Tom Lewis () 21 Induction Fall Term / 14 21 Induction Tom Lewis Fall Term 2010 Tom Lewis () 21 Induction Fall Term 2010 1 / 14 Outline 1 The method of induction 2 Strong mathematical induction Tom Lewis () 21 Induction Fall Term 2010 2 / 14 Pessimists

More information

Outline. We will cover (over the next few weeks) Induction Strong Induction Constructive Induction Structural Induction

Outline. We will cover (over the next few weeks) Induction Strong Induction Constructive Induction Structural Induction Outline We will cover (over the next few weeks) Induction Strong Induction Constructive Induction Structural Induction Induction P(1) ( n 2)[P(n 1) P(n)] ( n 1)[P(n)] Why Does This Work? I P(1) ( n 2)[P(n

More information

Induction 1 = 1(1+1) = 2(2+1) = 3(3+1) 2

Induction 1 = 1(1+1) = 2(2+1) = 3(3+1) 2 Induction 0-8-08 Induction is used to prove a sequence of statements P(), P(), P(3),... There may be finitely many statements, but often there are infinitely many. For example, consider the statement ++3+

More information

Module 9: Mathematical Induction

Module 9: Mathematical Induction Module 9: Mathematical Induction Module 9: Announcements There is a chance that this Friday s class may be cancelled. Assignment #4 is due Thursday March 16 th at 4pm. Midterm #2 Monday March 20 th, 2017

More information

1.2 The Well-Ordering Principle

1.2 The Well-Ordering Principle 36 Chapter 1. The Integers Exercises 1.1 1. Prove the following theorem: Theorem. Let m and a be integers. If m a and a m, thenm = ±a. 2. Prove the following theorem: Theorem. For all integers a, b and

More information

Lecture 4: Probability, Proof Techniques, Method of Induction Lecturer: Lale Özkahya

Lecture 4: Probability, Proof Techniques, Method of Induction Lecturer: Lale Özkahya BBM 205 Discrete Mathematics Hacettepe University http://web.cs.hacettepe.edu.tr/ bbm205 Lecture 4: Probability, Proof Techniques, Method of Induction Lecturer: Lale Özkahya Resources: Kenneth Rosen, Discrete

More information

Problem Set 5 Solutions

Problem Set 5 Solutions Problem Set 5 Solutions Section 4.. Use mathematical induction to prove each of the following: a) For each natural number n with n, n > + n. Let P n) be the statement n > + n. The base case, P ), is true

More information

COM S 330 Homework 08 Solutions. Type your answers to the following questions and submit a PDF file to Blackboard. One page per problem.

COM S 330 Homework 08 Solutions. Type your answers to the following questions and submit a PDF file to Blackboard. One page per problem. COM S 0 Homework 08 Solutions Type your answers to the following questions and submit a PDF file to Blackboard. One page per problem. Problem 1. [10pts] Let M = (S, T, s 0 ) be the state machine where

More information

Declarative Programming Techniques

Declarative Programming Techniques Declarative Programming Techniques Accumulators and Difference Lists (CTM 3.4.3-3.4.4) Carlos Varela RPI Adapted with permission from: Seif Haridi KTH Peter Van Roy UCL February 12, 2015 C. Varela; Adapted

More information

cse303 ELEMENTS OF THE THEORY OF COMPUTATION Professor Anita Wasilewska

cse303 ELEMENTS OF THE THEORY OF COMPUTATION Professor Anita Wasilewska cse303 ELEMENTS OF THE THEORY OF COMPUTATION Professor Anita Wasilewska LECTURE 1 Course Web Page www3.cs.stonybrook.edu/ cse303 The webpage contains: lectures notes slides; very detailed solutions to

More information

Induction. Announcements. Overview. Defining Functions. Sum of Squares. Closed-form expression for SQ(n) There have been some corrections to A1

Induction. Announcements. Overview. Defining Functions. Sum of Squares. Closed-form expression for SQ(n) There have been some corrections to A1 Induction There have been some corrections to A1 Check the website and the newsgroup Announcements Upcoming topic: Recursion Lecture 3 CS 211 Fall 2005 Overview Recursion a programming strategy that solves

More information

Climbing an Infinite Ladder

Climbing an Infinite Ladder Section 5.1 Section Summary Mathematical Induction Examples of Proof by Mathematical Induction Mistaken Proofs by Mathematical Induction Guidelines for Proofs by Mathematical Induction Climbing an Infinite

More information

Conjectures and proof. Book page 24-30

Conjectures and proof. Book page 24-30 Conjectures and proof Book page 24-30 What is a conjecture? A conjecture is used to describe a pattern in mathematical terms When a conjecture has been proved, it becomes a theorem There are many types

More information

Comp487/587 - Boolean Formulas

Comp487/587 - Boolean Formulas Comp487/587 - Boolean Formulas 1 Logic and SAT 1.1 What is a Boolean Formula Logic is a way through which we can analyze and reason about simple or complicated events. In particular, we are interested

More information

PREDICATE LOGIC: UNDECIDABILITY AND INCOMPLETENESS HUTH AND RYAN 2.5, SUPPLEMENTARY NOTES 2

PREDICATE LOGIC: UNDECIDABILITY AND INCOMPLETENESS HUTH AND RYAN 2.5, SUPPLEMENTARY NOTES 2 PREDICATE LOGIC: UNDECIDABILITY AND INCOMPLETENESS HUTH AND RYAN 2.5, SUPPLEMENTARY NOTES 2 Neil D. Jones DIKU 2005 14 September, 2005 Some slides today new, some based on logic 2004 (Nils Andersen) OUTLINE,

More information

Mathematical Induction

Mathematical Induction Mathematical Induction MAT231 Transition to Higher Mathematics Fall 2014 MAT231 (Transition to Higher Math) Mathematical Induction Fall 2014 1 / 21 Outline 1 Mathematical Induction 2 Strong Mathematical

More information

Exercises 1 - Solutions

Exercises 1 - Solutions Exercises 1 - Solutions SAV 2013 1 PL validity For each of the following propositional logic formulae determine whether it is valid or not. If it is valid prove it, otherwise give a counterexample. Note

More information

Mathematical Induction

Mathematical Induction Mathematical Induction Let s motivate our discussion by considering an example first. What happens when we add the first n positive odd integers? The table below shows what results for the first few values

More information

3. Branching Algorithms COMP6741: Parameterized and Exact Computation

3. Branching Algorithms COMP6741: Parameterized and Exact Computation 3. Branching Algorithms COMP6741: Parameterized and Exact Computation Serge Gaspers 12 1 School of Computer Science and Engineering, UNSW Australia 2 Optimisation Resarch Group, NICTA Semester 2, 2015

More information

Lecture 3.2: Induction, and Strong Induction

Lecture 3.2: Induction, and Strong Induction Lecture 3.2: Induction, and Strong Induction CS 250, Discrete Structures, Fall 2015 Nitesh Saxena Adopted from previous lectures by Cinda Heeren, Zeph Grunschlag Course Admin Mid-Term 1 Graded; to be returned

More information

Assignment 1 Solutions Structural Induction and First-Order Logic Due: 11am on Monday 26th August 2013

Assignment 1 Solutions Structural Induction and First-Order Logic Due: 11am on Monday 26th August 2013 Deartment of Comuter Science, Australian National University COMP2600 Formal Methods in Software Engineering Semester 2, 2013 Assignment 1 Solutions Structural Induction and First-Order Logic Due: 11am

More information

MAT 300 RECITATIONS WEEK 7 SOLUTIONS. Exercise #1. Use induction to prove that for every natural number n 4, n! > 2 n. 4! = 24 > 16 = 2 4 = 2 n

MAT 300 RECITATIONS WEEK 7 SOLUTIONS. Exercise #1. Use induction to prove that for every natural number n 4, n! > 2 n. 4! = 24 > 16 = 2 4 = 2 n MAT 300 RECITATIONS WEEK 7 SOLUTIONS LEADING TA: HAO LIU Exercise #1. Use induction to prove that for every natural number n 4, n! > 2 n. Proof. For any n N with n 4, let P (n) be the statement n! > 2

More information

V. Adamchik 1. Recurrences. Victor Adamchik Fall of 2005

V. Adamchik 1. Recurrences. Victor Adamchik Fall of 2005 V. Adamchi Recurrences Victor Adamchi Fall of 00 Plan Multiple roots. More on multiple roots. Inhomogeneous equations 3. Divide-and-conquer recurrences In the previous lecture we have showed that if the

More information

Reasoning about Programs

Reasoning about Programs Reasoning about Programs Jeremy Bradley and Francesca Toni Room 372. Office hour - Tuesdays at noon. Email: jb@doc.ic.ac.uk Department of Computing, Imperial College London Produced with prosper and L

More information

Mathematical Structures Combinations and Permutations

Mathematical Structures Combinations and Permutations Definitions: Suppose S is a (finite) set and n, k 0 are integers The set C(S, k) of k - combinations consists of all subsets of S that have exactly k elements The set P (S, k) of k - permutations consists

More information

PRINCIPLE OF MATHEMATICAL INDUCTION

PRINCIPLE OF MATHEMATICAL INDUCTION Chapter 4 PRINCIPLE OF MATHEMATICAL INDUCTION 4.1 Overview Mathematical induction is one of the techniques which can be used to prove variety of mathematical statements which are formulated in terms of

More information

Announcements. Read Section 2.1 (Sets), 2.2 (Set Operations) and 5.1 (Mathematical Induction) Existence Proofs. Non-constructive

Announcements. Read Section 2.1 (Sets), 2.2 (Set Operations) and 5.1 (Mathematical Induction) Existence Proofs. Non-constructive Announcements Homework 2 Due Homework 3 Posted Due next Monday Quiz 2 on Wednesday Read Section 2.1 (Sets), 2.2 (Set Operations) and 5.1 (Mathematical Induction) Exam 1 in two weeks Monday, February 19

More information

Homework #2 Solutions Due: September 5, for all n N n 3 = n2 (n + 1) 2 4

Homework #2 Solutions Due: September 5, for all n N n 3 = n2 (n + 1) 2 4 Do the following exercises from the text: Chapter (Section 3):, 1, 17(a)-(b), 3 Prove that 1 3 + 3 + + n 3 n (n + 1) for all n N Proof The proof is by induction on n For n N, let S(n) be the statement

More information

3.5 Solving Equations Involving Integers II

3.5 Solving Equations Involving Integers II 208 CHAPTER 3. THE FUNDAMENTALS OF ALGEBRA 3.5 Solving Equations Involving Integers II We return to solving equations involving integers, only this time the equations will be a bit more advanced, requiring

More information

(Ordinary) mathematical induction is a way to prove things about natural numbers. We can write it as a rule: φ(0) x. φ(x) φ(succ(x)) x.

(Ordinary) mathematical induction is a way to prove things about natural numbers. We can write it as a rule: φ(0) x. φ(x) φ(succ(x)) x. 1 Ordinary Induction (Ordinary) mathematical induction is a way to prove things about natural numbers. We can write it as a rule: φ(0) x. φ(x) φ(succ(x)) x. φ(x) where φ(x) is a statement involving a number

More information

Jan A. Bergstra and Alban Ponse. Informatics Institute, section Theory of Computer Science University of Amsterdam

Jan A. Bergstra and Alban Ponse. Informatics Institute, section Theory of Computer Science University of Amsterdam Datatype defining rewrite systems for the ring of integers, and for natural and integer arithmetic in unary view arxiv:1608.06212v1 [cs.lo] 22 Aug 2016 Jan A. Bergstra and Alban Ponse Informatics Institute,

More information

Binary Decision Diagrams. Graphs. Boolean Functions

Binary Decision Diagrams. Graphs. Boolean Functions Binary Decision Diagrams Graphs Binary Decision Diagrams (BDDs) are a class of graphs that can be used as data structure for compactly representing boolean functions. BDDs were introduced by R. Bryant

More information

Declarative Programming Techniques

Declarative Programming Techniques Declarative Programming Techniques Accumulators (CTM 3.4.3) Difference Lists (CTM 3.4.4) Carlos Varela RPI Adapted with permission from: Seif Haridi KTH Peter Van Roy UCL December 1, 2015 C. Varela; Adapted

More information

Lecture 2: Proof of Switching Lemma

Lecture 2: Proof of Switching Lemma Lecture 2: oof of Switching Lemma Yuan Li June 25, 2014 1 Decision Tree Instead of bounding the probability that f can be written as some s-dnf, we estimate the probability that f can be computed by a

More information

Theory of Computation

Theory of Computation Theory of Computation (Feodor F. Dragan) Department of Computer Science Kent State University Spring, 2018 Theory of Computation, Feodor F. Dragan, Kent State University 1 Before we go into details, what

More information

1. (16 points) Circle T if the corresponding statement is True or F if it is False.

1. (16 points) Circle T if the corresponding statement is True or F if it is False. Name Solution Key Show All Work!!! Page 1 1. (16 points) Circle T if the corresponding statement is True or F if it is False. T F The sequence {1, 1, 1, 1, 1, 1...} is an example of an Alternating sequence.

More information

Finite Automata Theory and Formal Languages TMV027/DIT321 LP4 2017

Finite Automata Theory and Formal Languages TMV027/DIT321 LP4 2017 Finite Automata Theory and Formal Languages TMV027/DIT321 LP4 2017 Lecture 4 Ana Bove March 24th 2017 Structural induction; Concepts of automata theory. Overview of today s lecture: Recap: Formal Proofs

More information

With Question/Answer Animations

With Question/Answer Animations Chapter 5 With Question/Answer Animations Copyright McGraw-Hill Education. All rights reserved. No reproduction or distribution without the prior written consent of McGraw-Hill Education. Chapter Summary

More information

Mathematical Induction. Defining Functions. Overview. Notation for recursive functions. Base case Sn(0) = 0 S(n) = S(n 1) + n for n > 0

Mathematical Induction. Defining Functions. Overview. Notation for recursive functions. Base case Sn(0) = 0 S(n) = S(n 1) + n for n > 0 Readings on induction. Mathematical Induction (a) Weiss, Sec. 7.2, page 233 (b) Course slides f lecture and notes recitation. Every criticism from a good man is of value to me. What you hint at generally

More information

Finite Automata Theory and Formal Languages TMV027/DIT321 LP4 2018

Finite Automata Theory and Formal Languages TMV027/DIT321 LP4 2018 Finite Automata Theory and Formal Languages TMV027/DIT321 LP4 2018 Lecture 4 Ana Bove March 23rd 2018 Recap: Formal Proofs How formal should a proof be? Depends on its purpose...... but should be convincing......

More information

Formalizing Kruskal s Tree Theorem in Isabelle/HOL

Formalizing Kruskal s Tree Theorem in Isabelle/HOL Formalizing Kruskal s Tree Theorem in Isabelle/HOL Christian Sternagel JAIST July 5, 2012 Kickoff Meeting of Austria-Japan Joint Project Gamagori, Japan Kruskal s Tree Theorem If the set A is well-quasi-ordered

More information

3 - Induction and Recursion

3 - Induction and Recursion November 14, 2017 3 - Induction and Recursion William T. Trotter trotter@math.gatech.edu Using Recurrence Equations (1) Basic Problem How many regions are determined by n lines that intersect in general

More information

CS 250/251 Discrete Structures I and II Section 005 Fall/Winter Professor York

CS 250/251 Discrete Structures I and II Section 005 Fall/Winter Professor York CS 250/251 Discrete Structures I and II Section 005 Fall/Winter 2013-2014 Professor York Practice Quiz March 10, 2014 CALCULATORS ALLOWED, SHOW ALL YOUR WORK 1. Construct the power set of the set A = {1,2,3}

More information

Chapter 5: Integer Compositions and Partitions and Set Partitions

Chapter 5: Integer Compositions and Partitions and Set Partitions Chapter 5: Integer Compositions and Partitions and Set Partitions Prof. Tesler Math 184A Winter 2017 Prof. Tesler Ch. 5: Compositions and Partitions Math 184A / Winter 2017 1 / 32 5.1. Compositions A strict

More information

Outline. Week 5: Circuits. Course Notes: 3.5. Goals: Use linear algebra to determine voltage drops and branch currents.

Outline. Week 5: Circuits. Course Notes: 3.5. Goals: Use linear algebra to determine voltage drops and branch currents. Outline Week 5: Circuits Course Notes: 3.5 Goals: Use linear algebra to determine voltage drops and branch currents. Components in Resistor Networks voltage source current source resistor Components in

More information

3. Branching Algorithms

3. Branching Algorithms 3. Branching Algorithms COMP6741: Parameterized and Exact Computation Serge Gaspers Semester 2, 2015 Contents 1 Introduction 1 2 Maximum Independent Set 3 2.1 Simple Analysis................................................

More information

CSCE 222 Discrete Structures for Computing. Proof by Induction. Dr. Hyunyoung Lee. !!!!!! Based on slides by Andreas Klappenecker

CSCE 222 Discrete Structures for Computing. Proof by Induction. Dr. Hyunyoung Lee. !!!!!! Based on slides by Andreas Klappenecker CSCE 222 Discrete Structures for Computing Proof by Induction Dr. Hyunyoung Lee Based on slides by Andreas Klappenecker 1 Motivation Induction is an axiom which allows us to prove that certain properties

More information

TOC. Search Paradigms: And Tree Search. Formal Definitions. And-tree-based Search. Formal Definitions

TOC. Search Paradigms: And Tree Search. Formal Definitions. And-tree-based Search. Formal Definitions TOC CPSC 33 - Artificial Intelligence Search Paradigms: And Tree Search Adapted from slides by Jörg Rob Kremer Denzinger ICT 8 kremer@cpsc.ucalgary.ca http://pages.cpsc.ucalgary.ca/~kremer/ Introduction

More information

Bachelor/Master Exam Version V3B

Bachelor/Master Exam Version V3B Prof aadr Jürgen Giesl Cornelius Aschermann, Jera Hensel Bachelor/Master Exam Version V3B First Name: Last Name: Immatriculation Number: Course of Studies (please mark exactly one): Informatik Bachelor

More information

Outline. A recursive function follows the structure of inductively-defined data.

Outline. A recursive function follows the structure of inductively-defined data. Outline A recursive function follows the structure of inductively-defined data. With lists as our example, we shall study 1. inductive definitions (to specify data) 2. recursive functions (to process data)

More information

Models of Computation. by Costas Busch, LSU

Models of Computation. by Costas Busch, LSU Models of Computation by Costas Busch, LSU 1 Computation CPU memory 2 temporary memory input memory CPU output memory Program memory 3 Example: f ( x) x 3 temporary memory input memory Program memory compute

More information

Induction and recursion. Chapter 5

Induction and recursion. Chapter 5 Induction and recursion Chapter 5 Chapter Summary Mathematical Induction Strong Induction Well-Ordering Recursive Definitions Structural Induction Recursive Algorithms Mathematical Induction Section 5.1

More information

Predicate Logic - Introduction

Predicate Logic - Introduction Outline Motivation Predicate Logic - Introduction Predicates & Functions Quantifiers, Coming to Terms with Formulas Quantifier Scope & Bound Variables Free Variables & Sentences c 2001 M. Lawford 1 Motivation:

More information

Chapter 5: Integer Compositions and Partitions and Set Partitions

Chapter 5: Integer Compositions and Partitions and Set Partitions Chapter 5: Integer Compositions and Partitions and Set Partitions Prof. Tesler Math 184A Fall 2017 Prof. Tesler Ch. 5: Compositions and Partitions Math 184A / Fall 2017 1 / 46 5.1. Compositions A strict

More information

WUCT121. Discrete Mathematics. Numbers

WUCT121. Discrete Mathematics. Numbers WUCT121 Discrete Mathematics Numbers 1. Natural Numbers 2. Integers and Real Numbers 3. The Principle of Mathematical Induction 4. Elementary Number Theory 5. Congruence Arithmetic WUCT121 Numbers 1 Section

More information

Recurrences COMP 215

Recurrences COMP 215 Recurrences COMP 215 Analysis of Iterative Algorithms //return the location of the item matching x, or 0 if //no such item is found. index SequentialSearch(keytype[] S, in, keytype x) { index location

More information

Sequences of Real Numbers

Sequences of Real Numbers Chapter 8 Sequences of Real Numbers In this chapter, we assume the existence of the ordered field of real numbers, though we do not yet discuss or use the completeness of the real numbers. In the next

More information

THE AUSTRALIAN NATIONAL UNIVERSITY Second Semester COMP2600 (Formal Methods for Software Engineering)

THE AUSTRALIAN NATIONAL UNIVERSITY Second Semester COMP2600 (Formal Methods for Software Engineering) THE AUSTRALIAN NATIONAL UNIVERSITY Second Semester 2012 COMP2600 (Formal Methods for Software Engineering) Writing Period: 3 hours duration Study Period: 15 minutes duration Permitted Materials: One A4

More information

Chapter Summary. Mathematical Induction Strong Induction Well-Ordering Recursive Definitions Structural Induction Recursive Algorithms

Chapter Summary. Mathematical Induction Strong Induction Well-Ordering Recursive Definitions Structural Induction Recursive Algorithms 1 Chapter Summary Mathematical Induction Strong Induction Well-Ordering Recursive Definitions Structural Induction Recursive Algorithms 2 Section 5.1 3 Section Summary Mathematical Induction Examples of

More information

Climbing an Infinite Ladder

Climbing an Infinite Ladder Section 5.1 Section Summary Mathematical Induction Examples of Proof by Mathematical Induction Mistaken Proofs by Mathematical Induction Guidelines for Proofs by Mathematical Induction Climbing an Infinite

More information

Note that r = 0 gives the simple principle of induction. Also it can be shown that the principle of strong induction follows from simple induction.

Note that r = 0 gives the simple principle of induction. Also it can be shown that the principle of strong induction follows from simple induction. Proof by mathematical induction using a strong hypothesis Occasionally a proof by mathematical induction is made easier by using a strong hypothesis: To show P(n) [a statement form that depends on variable

More information

Decision Trees Entropy, Information Gain, Gain Ratio

Decision Trees Entropy, Information Gain, Gain Ratio Changelog: 14 Oct, 30 Oct Decision Trees Entropy, Information Gain, Gain Ratio Lecture 3: Part 2 Outline Entropy Information gain Gain ratio Marina Santini Acknowledgements Slides borrowed and adapted

More information