CSE20: Discrete Mathematics
|
|
- Olivia Johnson
- 5 years ago
- Views:
Transcription
1 Spring 2018
2 Summary Today: Induction, Program Correctness Reading: Chap. 5
3 Division Theorem Theorem: For every integer a and positive integer d 1, there exist integers q, r such that a = qd + r and 0 r < d Which of the following statements express the division theorem? 1 a. d 1. q. r.[(a = qd + r) (0 r < d)] 2 d 1. a. r. q.[(a = qd + r) (0 r < d)] 3 a. q. d 1. r[(a = qd + r) (0 r < d)] 4 d 1. a. q.[(a qd) {0,..., d 1}] (A) 1; (B) 1,2; (C) 1,2,3; (D) 1,2,3,4; (E) 1,2,4
4 Proof of the Division Theorem Theorem: d 1. a. q.(a qd) {0,..., d 1} Proof: Let d 1 be any positive integer, and D = {0,..., d 1}. WTP: a. q.(a qd) D We first prove it for a 0, by (strong) induction on a. Base case (a < d): Let q = 0. So, a qd = a D. Inductive Step (a d): Inductive Hypothesis: Assume a {0,..., a 1}. q.(a q d) D WTP: q.(a qd) D. Let a = a d. Notice: a 0 and a < a. By I.H. q.(a q d) D So, q = q + 1 such that a qd = (a + d) (q + 1)d = a q d D.
5 Proof of the Division Theorem (cont.) What we proved so far: Lemma: a 0. q.(a qd) D WTP: a < 0. q.(a qd) D Proof: Let a = (a + 1) 0. By Division Lemma, q.(a q d) D Let q = (q + 1). Then, a qd = a 1 + (q + 1)d = (d 1) (a q d) D. Homework: give alternative proof for a < 0 by induction on a.
6 Division Algorithm (python) def divlemma(a,d): # a,d: integers, a>=0, d>0 if (a < d): return 0 else: return (1 + divlemma(a-d,d))
7 Division Algorithm (python) def divlemma(a,d): # a,d: integers, a>=0, d>0 if (a < d): return 0 else: return (1 + divlemma(a-d,d)) def divthm(a,d): # a,d: integers, d>0 if (a>=0): return (divlemma(a,d)) else: return (-(1+divLemma(-(a+1),d)))
8 Division Algorithm (haskell) divlemma :: (Integer,Integer) -> Integer divlemma (a,d) = if (a < d) then 0 else 1 + divlemma(a-d,d) divthm :: (Integer,Integer) -> Integer divthm (a,d) = if (a >= 0) then divlemma(a,d) else -(1 + divlemma(-(a+1),d))
9 Correctness of (Recursive) Programs divlemma :: (Integer,Integer) -> Integer divlemma (a,d) = if (a < d) then 0 else 1 + divlemma(a-d,d) Claim: For all d and a 0, divlemma(a,d) returns an integer q such that a qd {0,..., d 1}. Proof: By induction on a Base case (a < d): Inductive Step (a d):
10 Correctness of divthm divthm :: (Integer,Integer) -> Integer divthm (a,d) = if (a >= 0) then divlemma(a,d) else -(1 + divlemma(-(a+1),d)) Assume divlemma is correct. Claim: For all d and a, divthm(a,d) returns an integer q such that a qd {0,..., d 1}.
11 Correctness of divthm divthm :: (Integer,Integer) -> Integer divthm (a,d) = if (a >= 0) then divlemma(a,d) else -(1 + divlemma(-(a+1),d)) Assume divlemma is correct. Claim: For all d and a, divthm(a,d) returns an integer q such that a qd {0,..., d 1}. Question: What proof method would you use? (A) Proof by induction (B) Proof by contraposition (C) Proof by cases (D) Test the program on some random inputs
12 Another program f :: Integer -> Integer f n = if (n > 0) then 1+f(n-2) else 0 What function does the program compute? (A) f (n) = 1 + (n 2) (B) f (n) = n/2 (C) f (n) = n/2 (D) f (n) = max( n/2, 0) (E) f (n) = max( n/2, 0)
13 Let s prove it f :: Integer -> Integer f n = if (n > 0) then 1+f(n-2) else 0 Claim: f (n) = max( n/2, 0)
14 Let s prove it f :: Integer -> Integer f n = if (n > 0) then 1+f(n-2) else 0 Claim: f (n) = max( n/2, 0) Proof: By (strong) induction on n Base case: If n 0 then f(n) = 0 and max( 0/2, 0) = max(0, 0) = 0 Inductive Step (n 1): Assume f (k) = max( k/2, 0) for all k n f (n + 1) =...
15 Imperative programs def f(n,m): # n,m: integers, n,m >=0, k=0; while (n > 0): n := n-1 k := k + m return k What function does f(n,m) compute? (A) f (n, m) = n + m (B) f (n, m) = n 1 (C) f (n, m) = n m (D) None of the above
16 Program correctness Prog: some program or code fragment with variables x, y, z,... p, q: predicates on variables x, y, z,... p{prog}q: Prog is (partially) correct with respect to initial assertion p and final assertion q if p is true before executing Prog, and Prog terminates, then q is true after executing Prog
17 Program correctness: examples Prog: x :=1 ; z := y + x p : y = 1 q : z = 3 p{prog}q? (A) True; (B) False; (C) Don t know
18 Program correctness: examples Prog: x :=1 ; z := y + x p : y = 1 q : z = 3 p{prog}q? (A) True; (B) False; (C) Don t know p : T (true) q : z > y p{prog}q? (A) True; (B) False; (C) Don t know
19 Program correctness: conditionals Prog = if condition then Prog1 else Prog2 (p condition){prog1}q, (p condition){prog2}q p{prog}q
20 Program correctness: loops Prog = while condition do Prog1 (p condition){prog1}p p{prog}(p condition)
21 How to analyze imperative programs def f(n,m): # n,m: integers, n,m >=0, k=0; c=n; while (c > 0): c := c-1 k := k + m return k Loop Invariant: L(n, m, k, c) L(n, m, k, c) is satisfied before entering the loop If (c > 0) and L(n, m, k, c) are satisfied before entering the loop, then L(n, m, k, c ) is satisfied after executing the loop body once. Claim: L(n, m, k, c) is satisfied at each iteration of the loop Proof: By induction on the number of iterations.
22 Loop Invariants # { L(x,y,z) } while T(x,y,z): Step1(x,y,z) Step2(x,y,z) Step3(x,y,z) # { L(x,y,z) and not(t(x,y,z)) } Assume L(x, y, z) is a loop invariant, and it is satisfied before entering the loop. Then upon exiting the loop we have L(x, y, z) (T (x, y, z)). If the loop terminates, then upon termination we have L(x, y, z) (T (x, y, z)).
23 Loop Invariant Example def f(n,m): # n,m: integers n>=0 k=0; c=n; while (c > 0): c := c-1 k := k + m return k L : (k + c m = n m) (c 0) L is a loop invariant Upon termination we have: (k + c m = n m) (c 0) (c 0) c = 0 and the program outputs k = k + c m = n m.
C241 Homework Assignment 7
C24 Homework Assignment 7. Prove that for all whole numbers n, n i 2 = n(n + (2n + The proof is by induction on k with hypothesis H(k i 2 = k(k + (2k + base case: To prove H(, i 2 = = = 2 3 = ( + (2 +
More informationDynamic Semantics. Dynamic Semantics. Operational Semantics Axiomatic Semantics Denotational Semantic. Operational Semantics
Dynamic Semantics Operational Semantics Denotational Semantic Dynamic Semantics Operational Semantics Operational Semantics Describe meaning by executing program on machine Machine can be actual or simulated
More informationInduction. 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 informationRecursion: Introduction and Correctness
Recursion: Introduction and Correctness CSE21 Winter 2017, Day 7 (B00), Day 4-5 (A00) January 25, 2017 http://vlsicad.ucsd.edu/courses/cse21-w17 Today s Plan From last time: intersecting sorted lists and
More informationHoare Logic: Part II
Hoare Logic: Part II COMP2600 Formal Methods for Software Engineering Jinbo Huang Australian National University COMP 2600 Hoare Logic II 1 Factorial {n 0} fact := 1; i := n; while (i >0) do fact := fact
More informationMathematical Induction. How does discrete math help us. How does discrete math help (CS160)? How does discrete math help (CS161)?
How does discrete math help us Helps create a solution (program) Helps analyze a program How does discrete math help (CS160)? Helps create a solution (program) q Logic helps you understand conditionals
More informationIn this episode of The Verification Corner, Rustan Leino talks about Loop Invariants. He gives a brief summary of the theoretical foundations and
In this episode of The Verification Corner, Rustan Leino talks about Loop Invariants. He gives a brief summary of the theoretical foundations and shows how a program can sometimes be systematically constructed
More informationArithmetic Algorithms, Part 1
Arithmetic Algorithms, Part 1 DPV Chapter 1 Jim Royer EECS January 18, 2019 Royer Arithmetic Algorithms, Part 1 1/ 15 Multiplication à la Français function multiply(a, b) // input: two n-bit integers a
More informationCSE 20 DISCRETE MATH SPRING
CSE 20 DISCRETE MATH SPRING 2016 http://cseweb.ucsd.edu/classes/sp16/cse20-ac/ Today's learning goals Describe computer representation of sets with bitstrings Define and compute the cardinality of finite
More informationSEQUENCES, MATHEMATICAL INDUCTION, AND RECURSION
CHAPTER 5 SEQUENCES, MATHEMATICAL INDUCTION, AND RECURSION Copyright Cengage Learning. All rights reserved. SECTION 5.4 Strong Mathematical Induction and the Well-Ordering Principle for the Integers Copyright
More informationProgram verification. Hoare triples. Assertional semantics (cont) Example: Semantics of assignment. Assertional semantics of a program
Program verification Assertional semantics of a program Meaning of a program: relation between its inputs and outputs; specified by input assertions (pre-conditions) and output assertions (post-conditions)
More informationImperative Insertion Sort
Imperative Insertion Sort Christian Sternagel April 17, 2016 Contents 1 Looping Constructs for Imperative HOL 1 1.1 While Loops............................ 1 1.2 For Loops.............................
More informationICS141: 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 informationDiscrete Math in Computer Science Solutions to Practice Problems for Midterm 2
Discrete Math in Computer Science Solutions to Practice Problems for Midterm 2 CS 30, Fall 2018 by Professor Prasad Jayanti Problems 1. Let g(0) = 2, g(1) = 1, and g(n) = 2g(n 1) + g(n 2) whenever n 2.
More informationNOTE: You have 2 hours, please plan your time. Problems are not ordered by difficulty.
EXAM 2 solutions (COT3100, Sitharam, Spring 2017) NAME:last first: UF-ID Section NOTE: You have 2 hours, please plan your time. Problems are not ordered by difficulty. (1) Are the following functions one-to-one
More informationCSCE 222 Discrete Structures for Computing. Review for Exam 2. Dr. Hyunyoung Lee !!!
CSCE 222 Discrete Structures for Computing Review for Exam 2 Dr. Hyunyoung Lee 1 Strategy for Exam Preparation - Start studying now (unless have already started) - Study class notes (lecture slides and
More informationCSC B36 Additional Notes sample induction and well-ordering proofs. c Nick Cheng
CSC B36 Additional Notes sample induction and well-ordering proofs c Nick Cheng Introduction We present examples of induction proofs here in hope that they can be used as models when you write your own
More informationMathematical 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 informationCOT 2104 Homework Assignment 1 (Answers)
1) Classify true or false COT 2104 Homework Assignment 1 (Answers) a) 4 2 + 2 and 7 < 50. False because one of the two statements is false. b) 4 = 2 + 2 7 < 50. True because both statements are true. c)
More informationTop Down Design. Gunnar Gotshalks 03-1
Top Down Design 03-1 Top Down Description Top down is also known as step wise refinement and functional decomposition Given an operation, there are only the following three choices for refinement» Sequence
More informationMATH10040: Numbers and Functions Homework 1: Solutions
MATH10040: Numbers and Functions Homework 1: Solutions 1. Prove that a Z and if 3 divides into a then 3 divides a. Solution: The statement to be proved is equivalent to the statement: For any a N, if 3
More informationStepwise Refinement! Top Down Design!
Stepwise Refinement Top Down Design 11-1 On Top Down Design Useful in creating a function or algorithm when the input and output data structures correspond» If the input and output data structures do not
More informationDiscrete Mathematics & Mathematical Reasoning Predicates, Quantifiers and Proof Techniques
Discrete Mathematics & Mathematical Reasoning Predicates, Quantifiers and Proof Techniques Colin Stirling Informatics Some slides based on ones by Myrto Arapinis Colin Stirling (Informatics) Discrete Mathematics
More informationCmSc 250 Intro to Algorithms. Mathematical Review. 1. Basic Algebra. (a + b) 2 = a 2 + 2ab + b 2 (a - b) 2 = a 2-2ab + b 2 a 2 - b 2 = (a + b)(a - b)
CmSc 250 Intro to Algorithms Mathematical Review 1. Basic Algebra (a + b) 2 = a 2 + 2ab + b 2 (a - b) 2 = a 2-2ab + b 2 a 2 - b 2 = (a + b)(a - b) a/x + b/y = (ay + bx)/xy 2. Exponents X n = XXX..X, n
More informationC241 Homework Assignment 9
C41 Homework Assignment 9 1. The language L and functions R, A, and T defined below are the same as in Section 7.6. L {a, b, } + 1. L a. u L au L b. u L bu L 3. n. e. A: L L R: L L T : L L 1. A(, v) =
More information1. (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 informationProofs of Correctness: Introduction to Axiomatic Verification
Proofs of Correctness: Introduction to Axiomatic Verification Introduction Weak correctness predicate Assignment statements Sequencing Selection statements Iteration 1 Introduction What is Axiomatic Verification?
More informationNormal Forms of Propositional Logic
Normal Forms of Propositional Logic Bow-Yaw Wang Institute of Information Science Academia Sinica, Taiwan September 12, 2017 Bow-Yaw Wang (Academia Sinica) Normal Forms of Propositional Logic September
More informationC241 Homework Assignment 8
C241 Homework Assignment 8 1. Estimate the performance of the Bubble Sort program for i from 1 to N 1 by 1 do for j from 1 to i 1 by 1 do if A[j ] A[j + 1] then skip; else t := A[j ] ; A[j ] := A[j + 1]
More informationReview (11.1) 1. A sequence is an infinite list of numbers {a n } n=1 = a 1, a 2, a 3, The sequence is said to converge if lim
Announcements: Note that we have taking the sections of Chapter, out of order, doing section. first, and then the rest. Section. is motivation for the rest of the chapter. Do the homework questions from
More informationHoare Logic: Reasoning About Imperative Programs
Hoare Logic: Reasoning About Imperative Programs COMP1600 / COMP6260 Dirk Pattinson Australian National University Semester 2, 2017 Catch Up / Drop in Lab When Fridays, 15.00-17.00 Where N335, CSIT Building
More informationCSE 311: Foundations of Computing. Lecture 14: Induction
CSE 311: Foundations of Computing Lecture 14: Induction Mathematical Induction Method for proving statements about all natural numbers A new logical inference rule! It only applies over the natural numbers
More informationCOM 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 informationCSC 344 Algorithms and Complexity. Proof by Mathematical Induction
CSC 344 Algorithms and Complexity Lecture #1 Review of Mathematical Induction Proof by Mathematical Induction Many results in mathematics are claimed true for every positive integer. Any of these results
More informationPath Testing and Test Coverage. Chapter 9
Path Testing and Test Coverage Chapter 9 Structural Testing Also known as glass/white/open box testing Structural testing is based on using specific knowledge of the program source text to define test
More informationThe natural numbers. Definition. Let X be any inductive set. We define the set of natural numbers as N = C(X).
The natural numbers As mentioned earlier in the course, the natural numbers can be constructed using the axioms of set theory. In this note we want to discuss the necessary details of this construction.
More informationLecture 7 Feb 4, 14. Sections 1.7 and 1.8 Some problems from Sec 1.8
Lecture 7 Feb 4, 14 Sections 1.7 and 1.8 Some problems from Sec 1.8 Section Summary Proof by Cases Existence Proofs Constructive Nonconstructive Disproof by Counterexample Nonexistence Proofs Uniqueness
More informationPath Testing and Test Coverage. Chapter 9
Path Testing and Test Coverage Chapter 9 Structural Testing Also known as glass/white/open box testing Structural testing is based on using specific knowledge of the program source text to define test
More informationCS 4407 Algorithms Lecture 2: Iterative and Divide and Conquer Algorithms
CS 4407 Algorithms Lecture 2: Iterative and Divide and Conquer Algorithms Prof. Gregory Provan Department of Computer Science University College Cork 1 Lecture Outline CS 4407, Algorithms Growth Functions
More informationCVO103: Programming Languages. Lecture 2 Inductive Definitions (2)
CVO103: Programming Languages Lecture 2 Inductive Definitions (2) Hakjoo Oh 2018 Spring Hakjoo Oh CVO103 2018 Spring, Lecture 2 March 13, 2018 1 / 20 Contents More examples of inductive definitions natural
More informationProgramming Languages and Compilers (CS 421)
Programming Languages and Compilers (CS 421) Sasa Misailovic 4110 SC, UIUC https://courses.engr.illinois.edu/cs421/fa2017/cs421a Based in part on slides by Mattox Beckman, as updated by Vikram Adve, Gul
More informationx P(x) x P(x) CSE 311: Foundations of Computing announcements last time: quantifiers, review: logical Inference Fall 2013 Lecture 7: Proofs
CSE 311: Foundations of Computing Fall 2013 Lecture 7: Proofs announcements Reading assignment Logical inference 1.6-1.7 7 th Edition 1.5-1.7 6 th Edition Homework #2 due today last time: quantifiers,
More informationMATH 55 - HOMEWORK 6 SOLUTIONS. 1. Section = 1 = (n + 1) 3 = 2. + (n + 1) 3. + (n + 1) 3 = n2 (n + 1) 2.
MATH 55 - HOMEWORK 6 SOLUTIONS Exercise Section 5 Proof (a) P () is the statement ( ) 3 (b) P () is true since ( ) 3 (c) The inductive hypothesis is P (n): ( ) n(n + ) 3 + 3 + + n 3 (d) Assuming the inductive
More informationCSC236H 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 informationName CMSC203 Fall2008 Exam 2 Solution Key Show All Work!!! Page (16 points) Circle T if the corresponding statement is True or F if it is False.
Name CMSC203 Fall2008 Exam 2 Solution Key Show All Work!!! Page ( points) Circle T if the corresponding statement is True or F if it is False T F GCD(,0) = 0 T F For every recursive algorithm, there is
More informationFinite 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 informationMath 230 Final Exam, Spring 2009
IIT Dept. Applied Mathematics, May 13, 2009 1 PRINT Last name: Signature: First name: Student ID: Math 230 Final Exam, Spring 2009 Conditions. 2 hours. No book, notes, calculator, cell phones, etc. Part
More informationThe following techniques for methods of proofs are discussed in our text: - Vacuous proof - Trivial proof
Ch. 1.6 Introduction to Proofs The following techniques for methods of proofs are discussed in our text - Vacuous proof - Trivial proof - Direct proof - Indirect proof (our book calls this by contraposition)
More informationSemantics and Verification of Software
Semantics and Verification of Software Thomas Noll Software Modeling and Verification Group RWTH Aachen University http://moves.rwth-aachen.de/teaching/ss-15/sv-sw/ The Denotational Approach Denotational
More informationICS141: 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 informationPredicate Logic - Undecidability
CS402, Spring 2016 Undecidable Problems Does the following program halts? (1) N : n, total, x, y, z (2) n GetUserInput() (3) total 3 (4) while true (5) for x 1 to total 2 (6) for y 1 to total x 1 (7) z
More informationdirected weighted graphs as flow networks the Ford-Fulkerson algorithm termination and running time
Network Flow 1 The Maximum-Flow Problem directed weighted graphs as flow networks the Ford-Fulkerson algorithm termination and running time 2 Maximum Flows and Minimum Cuts flows and cuts max flow equals
More informationAnalysis of Algorithms
September 29, 2017 Analysis of Algorithms CS 141, Fall 2017 1 Analysis of Algorithms: Issues Correctness/Optimality Running time ( time complexity ) Memory requirements ( space complexity ) Power I/O utilization
More informationmeans is a subset of. So we say A B for sets A and B if x A we have x B holds. BY CONTRAST, a S means that a is a member of S.
1 Notation For those unfamiliar, we have := means equal by definition, N := {0, 1,... } or {1, 2,... } depending on context. (i.e. N is the set or collection of counting numbers.) In addition, means for
More informationMathematics for Decision Making: An Introduction. Lecture 8
Mathematics for Decision Making: An Introduction Lecture 8 Matthias Köppe UC Davis, Mathematics January 29, 2009 8 1 Shortest Paths and Feasible Potentials Feasible Potentials Suppose for all v V, there
More informationLecture Notes on Software Model Checking
15-414: Bug Catching: Automated Program Verification Lecture Notes on Software Model Checking Matt Fredrikson André Platzer Carnegie Mellon University Lecture 19 1 Introduction So far we ve focused on
More informationMathematics 220 Homework 4 - Solutions. Solution: We must prove the two statements: (1) if A = B, then A B = A B, and (2) if A B = A B, then A = B.
1. (4.46) Let A and B be sets. Prove that A B = A B if and only if A = B. Solution: We must prove the two statements: (1) if A = B, then A B = A B, and (2) if A B = A B, then A = B. Proof of (1): Suppose
More informationFloyd-Hoare Style Program Verification
Floyd-Hoare Style Program Verification Deepak D Souza Department of Computer Science and Automation Indian Institute of Science, Bangalore. 9 Feb 2017 Outline of this talk 1 Overview 2 Hoare Triples 3
More informationShow Your Work! Point values are in square brackets. There are 35 points possible. Some facts about sets are on the last page.
Formal Methods Name: Key Midterm 2, Spring, 2007 Show Your Work! Point values are in square brackets. There are 35 points possible. Some facts about sets are on the last page.. Determine whether each of
More informationFoundations of Discrete Mathematics
Foundations of Discrete Mathematics Chapter 0 By Dr. Dalia M. Gil, Ph.D. Statement Statement is an ordinary English statement of fact. It has a subject, a verb, and a predicate. It can be assigned a true
More informationFermat's Little Theorem
Fermat's Little Theorem CS 2800: Discrete Structures, Spring 2015 Sid Chaudhuri Not to be confused with... Fermat's Last Theorem: x n + y n = z n has no integer solution for n > 2 Recap: Modular Arithmetic
More informationCS558 Programming Languages
CS558 Programming Languages Winter 2017 Lecture 2b Andrew Tolmach Portland State University 1994-2017 Semantics Informal vs. Formal Informal semantics Descriptions in English (or other natural language)
More informationMid-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 informationHomework #1. Denote the sum we are interested in as To find we subtract the sum to find that
Homework #1 CMSC351 - Spring 2013 PRINT Name : Due: Feb 12 th at the start of class o Grades depend on neatness and clarity. o Write your answers with enough detail about your approach and concepts used,
More informationCS173 Lecture B, September 10, 2015
CS173 Lecture B, September 10, 2015 Tandy Warnow September 11, 2015 CS 173, Lecture B September 10, 2015 Tandy Warnow Examlet Today Four problems: One induction proof One problem on simplifying a logical
More informationAxiomatic Semantics. Lecture 9 CS 565 2/12/08
Axiomatic Semantics Lecture 9 CS 565 2/12/08 Axiomatic Semantics Operational semantics describes the meaning of programs in terms of the execution steps taken by an abstract machine Denotational semantics
More informationInductive Definitions with Inference Rules 1 / 27
Inductive Definitions with Inference Rules 1 / 27 Outline Introduction Specifying inductive definitions Inference rules in action Judgments, axioms, and rules Reasoning about inductive definitions Direct
More informationMidterm Exam. CS 3110: Design and Analysis of Algorithms. June 20, Group 1 Group 2 Group 3
Banner ID: Name: Midterm Exam CS 3110: Design and Analysis of Algorithms June 20, 2006 Group 1 Group 2 Group 3 Question 1.1 Question 2.1 Question 3.1 Question 1.2 Question 2.2 Question 3.2 Question 3.3
More informationn n P} is a bounded subset Proof. Let A be a nonempty subset of Z, bounded above. Define the set
1 Mathematical Induction We assume that the set Z of integers are well defined, and we are familiar with the addition, subtraction, multiplication, and division. In particular, we assume the following
More informationDepartment of Computer Science University at Albany, State University of New York Solutions to Sample Discrete Mathematics Examination I (Spring 2008)
Department of Computer Science University at Albany, State University of New York Solutions to Sample Discrete Mathematics Examination I (Spring 2008) Problem 1: Suppose A, B, C and D are arbitrary sets.
More information15.082J & 6.855J & ESD.78J. Algorithm Analysis
15.082J & 6.855J & ESD.78J Algorithm Analysis 15.082 Overview of subject Importance of Algorithm Analysis Importance of homework Midterms Moving forward 2 Overview of lecture Proof techniques Proof by
More informationIS 709/809: Computational Methods for IS Research. Math Review: Algorithm Analysis
IS 709/809: Computational Methods for IS Research Math Review: Algorithm Analysis Nirmalya Roy Department of Information Systems University of Maryland Baltimore County www.umbc.edu Topics Proof techniques
More informationProving Programs Correct
Proving Programs Correct Page 1 of 9 Proving Programs Correct How can we be sure that a piece of code does what we want it to do? One way is to try testing the code on a large group of data. Another is
More informationCS156: The Calculus of Computation
Page 1 of 61 CS156: The Calculus of Computation Zohar Manna Winter 2010 Chapter 5: Program Correctness: Mechanics Page 2 of 61 Program A: LinearSearch with function specification @pre 0 l u < a @post rv
More informationCISC-102 Winter 2016 Lecture 11 Greatest Common Divisor
CISC-102 Winter 2016 Lecture 11 Greatest Common Divisor Consider any two integers, a,b, at least one non-zero. If we list the positive divisors in numeric order from smallest to largest, we would get two
More informationAxiomatic Semantics: Verification Conditions. Review of Soundness of Axiomatic Semantics. Questions? Announcements
Axiomatic Semantics: Verification Conditions Meeting 18, CSCI 5535, Spring 2010 Announcements Homework 6 is due tonight Today s forum: papers on automated testing using symbolic execution Anyone looking
More informationLoop Convergence. CS 536: Science of Programming, Fall 2018
Solved Loop Convergence CS 536: Science of Programming, Fall 2018 A. Why Diverging programs aren t useful, so it s useful to know how to show that loops terminate. B. Objectives At the end of this lecture
More informationAxiomatic Semantics. Semantics of Programming Languages course. Joosep Rõõmusaare
Axiomatic Semantics Semantics of Programming Languages course Joosep Rõõmusaare 2014 Direct Proofs of Program Correctness Partial correctness properties are properties expressing that if a given program
More informationImperative Insertion Sort
Imperative Insertion Sort Christian Sternagel October 11, 2017 Contents 1 Looping Constructs for Imperative HOL 1 1.1 While Loops............................ 1 1.2 For Loops.............................
More informationProgram verification. 18 October 2017
Program verification 18 October 2017 Example revisited // assume(n>2); void partition(int a[], int n) { int pivot = a[0]; int lo = 1, hi = n-1; while (lo
More informationMath 242: Principles of Analysis Fall 2016 Homework 1 Part B solutions
Math 4: Principles of Analysis Fall 0 Homework Part B solutions. Let x, y, z R. Use the axioms of the real numbers to prove the following. a) If x + y = x + z then y = z. Solution. By Axiom a), there is
More informationWhy do we need math in a data structures course?
Math Review 1 Why do we need math in a data structures course? To nalyze data structures and algorithms Deriving formulae for time and memory requirements Will the solution scale? Quantify the results
More informationComputer Science 280 Spring 2002 Homework 2 Solutions by Omar Nayeem
Computer Science 280 Spring 2002 Homework 2 Solutions by Omar Nayeem Part A 1. (a) Some dog does not have his day. (b) Some action has no equal and opposite reaction. (c) Some golfer will never be eated
More informationSemantic Metatheory of SL: Mathematical Induction
Semantic Metatheory of SL: Mathematical Induction Preliminary matters: why and when do we need Mathematical Induction? We need it when we want prove that a certain claim (n) holds for all n N (0, 1, 2,
More informationG54FOP: Lecture 17 & 18 Denotational Semantics and Domain Theory III & IV
G54FOP: Lecture 17 & 18 Denotational Semantics and Domain Theory III & IV Henrik Nilsson University of Nottingham, UK G54FOP: Lecture 17 & 18 p.1/33 These Two Lectures Revisit attempt to define denotational
More informationTight Timing Estimation With the Newton-Gregory Formulae
CPC 2003 p.1/30 Tight Timing Estimation With the Newton-Gregory Formulae Robert van Engelen Kyle Gallivan Burt Walsh Florida State University CPC 2003 p.2/30 Introduction Worst-case execution time (WCET)
More informationCSCE 222 Discrete Structures for Computing. Proofs. Dr. Hyunyoung Lee. !!!!! Based on slides by Andreas Klappenecker
CSCE 222 Discrete Structures for Computing Proofs Dr. Hyunyoung Lee Based on slides by Andreas Klappenecker 1 What is a Proof? A proof is a sequence of statements, each of which is either assumed, or follows
More informationCSE 20. Final Review. CSE 20: Final Review
CSE 20 Final Review Final Review Representation of integers in base b Logic Proof systems: Direct Proof Proof by contradiction Contraposetive Sets Theory Functions Induction Final Review Representation
More informationCS 4407 Algorithms Lecture 3: Iterative and Divide and Conquer Algorithms
CS 4407 Algorithms Lecture 3: Iterative and Divide and Conquer Algorithms Prof. Gregory Provan Department of Computer Science University College Cork 1 Lecture Outline CS 4407, Algorithms Growth Functions
More informationMathematical 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 informationDeductive Verification
Deductive Verification Mooly Sagiv Slides from Zvonimir Rakamaric First-Order Logic A formal notation for mathematics, with expressions involving Propositional symbols Predicates Functions and constant
More informationCSE 20: Discrete Mathematics
Spring 2018 Summary Last time: Today: Logical connectives: not, and, or, implies Using Turth Tables to define logical connectives Logical equivalences, tautologies Some applications Proofs in propositional
More informationChapter 2: The Basics. slides 2017, David Doty ECS 220: Theory of Computation based on The Nature of Computation by Moore and Mertens
Chapter 2: The Basics slides 2017, David Doty ECS 220: Theory of Computation based on The Nature of Computation by Moore and Mertens Problem instances vs. decision problems vs. search problems Decision
More informationHeaps Induction. Heaps. Heaps. Tirgul 6
Tirgul 6 Induction A binary heap is a nearly complete binary tree stored in an array object In a max heap, the value of each node that of its children (In a min heap, the value of each node that of its
More informationSolutions Manual. Selected odd-numbers problems from. Chapter 3. Proof: Introduction to Higher Mathematics. Seventh Edition
Solutions Manual Selected odd-numbers problems from Chapter 3 of Proof: Introduction to Higher Mathematics Seventh Edition Warren W. Esty and Norah C. Esty 5 4 3 2 1 2 Section 3.1. Inequalities Chapter
More informationLecture Notes: Axiomatic Semantics and Hoare-style Verification
Lecture Notes: Axiomatic Semantics and Hoare-style Verification 17-355/17-665/17-819O: Program Analysis (Spring 2018) Claire Le Goues and Jonathan Aldrich clegoues@cs.cmu.edu, aldrich@cs.cmu.edu It has
More informationINDUCTION 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 informationMath 10850, fall 2017, University of Notre Dame
Math 10850, fall 2017, University of Notre Dame Notes on first exam September 22, 2017 The key facts The first midterm will be on Thursday, September 28, 6.15pm-7.45pm in Hayes-Healy 127. What you need
More informationAt least one of us is a knave. What are A and B?
1. This is a puzzle about an island in which everyone is either a knight or a knave. Knights always tell the truth and knaves always lie. This problem is about two people A and B, each of whom is either
More informationCS 4104 Data and Algorithm Analysis. Recurrence Relations. Modeling Recursive Function Cost. Solving Recurrences. Clifford A. Shaffer.
Department of Computer Science Virginia Tech Blacksburg, Virginia Copyright c 2010,2017 by Clifford A. Shaffer Data and Algorithm Analysis Title page Data and Algorithm Analysis Clifford A. Shaffer Spring
More information