Non-Linear Reasoning for Invariant Synthesis

Size: px
Start display at page:

Download "Non-Linear Reasoning for Invariant Synthesis"

Transcription

1 Non-Linear Reasoning for Invariant Synthesis Zachary Kincaid 1 John Cyphert 2 Jason Brec 2 Thomas Reps 2,3 1 Princeton University 2 University of Wisconsin-Madison 3 GrammaTech, Inc January 12, 15:50

2 The problem: generating non-linear numerical loop invariants Resource-bound analysis Side channel analysis Secure information flow...

3 while(i < n): x = x + i i = i + 1 i () = i ( 1) + 1 x () = x ( 1) + i ( 1) Loop analyzer Recurrence solver ( i ) = i +. 0 x ( 1) = x + + i 2 = i (0) + x () = x (0) ( 1) + + i (0) 2 i ()

4 while(i < n): x = x + i i = i + 1 branching nested loops non-determinism Loop analyzer i () = i ( 1) + 1 x () = x ( 1) + i ( 1) Recurrence solver ( i = i +. 0 x ( 1) = x + + i 2 ) = i (0) + x () = x (0) ( 1) + + i (0) 2 i ()

5 while(i < n): x = x + i i = i + 1 branching nested loops non-determinism Loop analyzer i () = i ( 1) + 1 x () = x ( 1) + i ( 1) Recurrence solver ( = i (0) + i ) = i + x () = x (0) ( 1) i (0) x ( 1) = x + + i 2 algebraic numbers 2 i ()

6 binary-search(a,target): lo = 1, hi = size(a), tics = 0 while (lo <= hi): tics++; mid = lo + (hi-lo)/2 if A[mid] == target: return mid else if A[mid] < target: lo = mid+1 else : hi = mid-1 log(a) times

7 binary-search(a,target): lo = 1, hi = size(a), tics = 0 while (lo <= hi): tics++; mid = lo + (hi-lo)/2 if A[mid] == target: return mid else if A[mid] < target: lo = mid+1 else : hi = mid-1 tics = tics + 1 mid = lo + (hi lo)/2 ((A[mid] < target lo = mid + 1 hi = hi) (A[mid] > target lo = lo hi = mid 1))

8 binary-search(a,target): tics (+1) = tics () + 1 lo = 1, hi = (hi size(a), lo ) (+1) tics (hi= 0 lo) () /2 1 while (lo <= hi): tics++; tics = tics + 1 mid = lo + (hi-lo)/2 mid = lo + (hi lo)/2 if A[mid] == target: ((A[mid] < target return mid lo = mid + 1 else if A[mid] < target: hi = hi) lo = mid+1 (A[mid] > target lo else : = lo hi = mid 1)) hi = mid-1

9 binary-search(a,target): tics () = tics ( (0) + lo = 1, hi = size(a), tics 1 ) (hi lo+2) (hi lo ) () = 0 (0) 2 while (lo <= hi): 2 tics++; tics = tics + 1 mid = lo + (hi-lo)/2 mid = lo + (hi lo)/2 if A[mid] == target: ((A[mid] < target return mid lo = mid + 1 else if A[mid] < target: hi = hi) lo = mid+1 (A[mid] > target lo else : = lo hi = mid 1)) hi = mid-1

10 binary-search(a,target): lo = 1, hi = size(a), tics = 0 while (lo <= hi): tics++; mid = lo + (hi-lo)/2 if A[mid] == target: return mid else if A[mid] < target: lo = mid+1 else : hi = mid-1. 0 tics = tics ( + 1 ) (hi lo+2) 2 (hi lo ) 2

11 for (i = 0; i < n; i++): for (j = 0; j < i; j++): tics++

12 for (i = 0; i < n; i++): for (j = 0; j < i; j++): tics++ j < i j = j + 1 tics = tics + 1 i = i n = n

13 tics (+1) = tics () + 1 j (+1) = j () + 1 i (+1) = i () n (+1) = n () for (i = 0; i < n; i++): for (j = 0; j < i; j++): tics++ j < i j = j + 1 tics = tics + 1 i = i n = n

14 tics () = tics (0) + j () = j (0) + i () = i (0) n () = n (0) for (i = 0; i < n; i++): for (j = 0; j < i; j++): tics++ j < i j = j + 1 tics = tics + 1 i = i n = n

15 for (i = 0; i < n; i++): for (j = 0; j < i; j++): tics++ i = i n = n j i. 0 tics = tics + j = j +

16 for (i = 0; i < n; i++): for (j = 0; j < i; j++): tics++ i < n i = i + 1 n = n j = i. 0 tics = tics + j =

17 tics (+1) = tics () +i () i (+1) = i () + 1 n (+1) = n () for (i = 0; i < n; i++): for (j = 0; j < i; j++): tics++ i < n i = i + 1 n = n j = i. 0 tics = tics + j =

18 tics () = tics (0) + ( + 1)/2 + i (0) i () = i (0) + n () = n (0) for (i = 0; i < n; i++): for (j = 0; j < i; j++): tics++ i < n i = i + 1 n = n j = i. 0 tics = tics + j =

19 for (i = 0; i < n; i++): for (j = 0; j < i; j++): tics++ i = n n = n j = i. 0 tics = tics + i = i + ( + 1) 2 + i

20 Warm up: the linear case Suppose loop body formula F(x, x ) is linear. Goal: find a linear system y = Ay + b + linear transformation T s.t F(x, x ) = (Tx ) = A(Tx) + b

21 Warm up: the linear case Binary search: project onto tics, (hi lo) Suppose loop body formula F(x, x ) is linear. Goal: find a linear system y = Ay + b + linear transformation T s.t F(x, x ) = (Tx ) = A(Tx) + b

22 Warm up: the linear case Suppose loop body formula F(x, x ) is linear. Goal: find a linear system y = Ay + b + linear transformation T s.t Algorithm: F(x, x ) = (Tx ) = A(Tx) + b 1 Compute the affine hull of F by sampling linearly independent models of F using an SMT solver. Result is system of (all) equations Ax = Bx + c entailed by F(x, x )

23 Warm up: the linear case Suppose loop body formula F(x, x ) is linear. Goal: find a linear system y = Ay + b + linear transformation T s.t Algorithm: F(x, x ) = (Tx ) = A(Tx) + b 1 Compute the affine hull of F by sampling linearly independent models of F using an SMT solver. Result is system of (all) equations Ax = Bx + c entailed by F(x, x ) 2 Fixpoint computation: We have: Ax = Bx + c Linear transformation T We need: y = By + c

24 Warm up: the linear case Suppose loop body formula F(x, x ) is linear. Goal: find a linear system y = Ay + b + linear transformation T s.t Algorithm: F(x, x ) = (Tx ) = A(Tx) + b 1 Compute the affine hull of F by sampling linearly independent models of F using an SMT solver. Result is system of (all) equations Ax = Bx + c entailed by F(x, x ) 2 Fixpoint computation: We have: Ax = Bx + c T 0 x = T 0 Bx + T 0 c We need: y = By + c

25 Warm up: the linear case Suppose loop body formula F(x, x ) is linear. Goal: find a linear system y = Ay + b + linear transformation T s.t Algorithm: F(x, x ) = (Tx ) = A(Tx) + b 1 Compute the affine hull of F by sampling linearly independent models of F using an SMT solver. Result is system of (all) equations Ax = Bx + c entailed by F(x, x ) 2 Fixpoint computation: We have: Ax = Bx + c T 0 x = T 0 Bx + T 0 c computes best abstraction T 1 x = T 1 Bx + T 1 c We need: y. = By + c

26 Reasoning about non-linear arithmetic

27 for (i = 0; i < n; i++): if (*): continue for (j = 0; j < n; j++): for ( = 0; < n; ++): tics++ i = i + 1 i < n n = n tics = tics j = j = y 0. tics = tics + y n j = y = n = n

28 for (i = 0; i < n; i++): i = i + 1 i < n if (*): continue n for (j = 0; j < n; j++): = n for ( = 0; < n; ++): tics = tics j = j tics++ = y 0. tics = tics + y n j = y = n = n tics tics + n 2

29 The wedge abstract domain The wedge domain is an abstract domain for reasoning about non-linear integer/rational arithmetic The properties expressible by wedges correspond to the conjunctive fragment of non-linear arithmetic (x y, x/y, x y, log x (y), x mod y,...)

30 The wedge abstract domain The wedge domain is an abstract domain for reasoning about non-linear integer/rational arithmetic The properties expressible by wedges correspond to the conjunctive fragment of non-linear arithmetic (x y, x/y, x y, log x (y), x mod y,...) treat non-linear terms as independent dimensions Wedge ignore, treat non-polynomial terms as independent dimensions Polyhedron Algebraic variety

31 The wedge abstract domain The wedge domain is an abstract domain for reasoning about non-linear integer/rational arithmetic The properties expressible by wedges correspond to the conjunctive fragment of non-linear arithmetic (x y, x/y, x y, log x (y), x mod y,...) treat non-linear terms as independent dimensions Wedge ignore, treat non-polynomial terms as independent dimensions Polyhedron linear equations Algebraic variety

32 The wedge abstract domain The wedge domain is an abstract domain for reasoning about non-linear integer/rational arithmetic The properties expressible by wedges correspond to the conjunctive fragment of non-linear arithmetic (x y, x/y, x y, log x (y), x mod y,...) treat non-linear terms as independent dimensions Wedge ignore, treat non-polynomial terms as independent dimensions Polyhedron linear equations Algebraic variety Inference rules Congruence closure

33 Symbolic abstraction i = i + 1 i < n n = n tics = tics j = j = y 0. tics = tics + y n j = y = n = n

34 Symbolic abstraction i i = i + 1 = i + 1 i < n i < n n = n tics = tics n = n tics = tics + s y n j j = s = j y = n = n

35 Symbolic abstraction i i = i + 1 = i + 1 i < n i < n n = n n = n tics = tics tics = tics + n n j = j j = n = n 0 n n 0 n n

36 Symbolic abstraction i = i + 1 i < n n = n tics tics tics + n n j = j 0 n n

37 Extracting recurrences Given: non-linear transition formula F(x, x ) 1 Compute wedge w that over-approximates F 2 Extract recurrences from w

38 Extracting recurrences Given: non-linear transition formula F(x, x ) 1 Compute wedge w that over-approximates F 2 Extract recurrences from w Class of extractable recurrences: (Tx ) = A(Tx) + t Additive term t involves polynomials & exponentials.

39 How can we solve recurrence equations?

40 Operational Calculus Recurrence Solver [Berg 1967] Operational calculus is an algebra of infinite sequences. Idea: 1 Translate recurrence into equation in operational calculus x (+1) = x () + 1 qx (q 1)x 0 = x Solve the equation x = x q 1 3 Translate solution bac x () = x (0) +

41 Operational Calculus Field of operators: Operator is a sequence with finitely many negative positions a = (a 2, a 1 a 0, a 1, a 2,...) b = ( b 0, b 1, b 2,...) Addition is pointwise: (a + b) i a i + b i Multiplication is convolution difference: n n 1 (ab) n = a i b n i + a i b n i 1 i= i=

42 Operational Calculus Field of operators: Operator is a sequence with finitely many negative positions a = (a 2, a 1 a 0, a 1, a 2,...) b = ( b 0, b 1, b 2,...) Addition is pointwise: (a + b) i a i + b i Multiplication is convolution difference: n n 1 (ab) n = a i b n i + a i b n i 1 i= i= Left shift operator q = (1 1, 1, 1,...) qa = (a 2 a 1 a 0 a 1, a 2, a 3,...)

43 Recurrence operational calculus Recurrences are equations in operational calculus x (+1) = x + t qx (q 1)x 0 = x + T (t) Thin of x as an sequence ( x 0, x 1, x 2,...)

44 Recurrence operational calculus Recurrences are equations in operational calculus x (+1) = x + t qx (q 1)x 0 = x + T (t) Thin of x as an sequence ( x 0, x 1, x 2,...) Use left-shift operator to write recurrence as an equation qx = (x 0 x 1, x 2, x 3,...) (q 1)x 0 = (x 0 0, 0, 0,...) qx (q 1)x 0 = ( x 1, x 2, x 3,...)

45 Recurrence operational calculus Recurrences are equations in operational calculus x (+1) = x + t qx (q 1)x 0 = x + T (t) Thin of x as an sequence ( x 0, x 1, x 2,...) Use left-shift operator to write recurrence as an equation qx = (x 0 x 1, x 2, x 3,...) (q 1)x 0 = (x 0 0, 0, 0,...) qx (q 1)x 0 = ( x 1, x 2, x 3,...) Can translate any expression in the grammar s, t Expr() ::= c Q c s + t st T (c) = c T (ct) = ct (t). T (s + t) = T (s) + T (t) T () = 1 q 1.

46 Operational Calculus classical algebra T (c) = c T (ct) = ct (t) T (s + t) = T (s) + T (t) T () = 1 q 1. T 1 T 1 ( T 1 (c) = c T 1 (ct) = ct 1 (t) (s + t) = T 1 1 q 1 ) =. (s) + T 1 (t)

47 Operational Calculus classical algebra T (c) = c T (ct) = ct (t) T (s + t) = T (s) + T (t) T () = 1 q 1. T 1 T 1 ( T 1 (c) = c T 1 (ct) = ct 1 (t) (s + t) = T 1 1 q 1 ) = T 1 (t) =?. (s) + T 1 (t) Operational Calculus classical algebra translation is not complete!

48 Operational Calculus classical algebra T (c) = c T (ct) = ct (t) T (s + t) = T (s) + T (t) T () = 1 q 1. T 1 T 1 ( T 1 (c) = c T 1 (ct) = ct 1 (t) (s + t) = T 1 1 q 1 ) =. T 1 (t) = f t () (s) + T 1 (t) Operational Calculus Implicitly classical algebra interpreted translation function is not complete!

49 Operational Calculus classical algebra T (c) = c T (ct) = ct (t) T (s + t) = T (s) + T (t) T () = 1 q 1 T (f t ()) = t. T 1 T 1 ( T 1 (c) = c T 1 (ct) = ct 1 (t) (s + t) = T 1 1 q 1 ) =. T 1 (t) = f t () (s) + T 1 (t) Operational Calculus Implicitly classical algebra interpreted translation function is not complete!

50 Experiments ICRA: built on top of Z3, Apron. Analyzes recursive procedures via [Kincaid, Brec, Boroujeni, Reps PLDI 2017] Benchmar Total ICRA UAut. CPA SEA Suite #A Time #A Time #A Time #A Time #A HOLA functional relational Total

51 Contributions: Wedge abstract domain Algorithm for extracting recurrences from loop bodies with control flow & non-determinism Recurrence solver that avoids algebraic numbers Result: non-linear invariant generation for arbitrary loops

Non-linear Reasoning for Invariant Synthesis

Non-linear Reasoning for Invariant Synthesis Non-linear Reasoning for Invariant Synthesis ZACHARY KINCAID, Princeton University, USA JOHN CYPHERT and JASON BRECK, University of Wisconsin, USA THOMAS REPS, University of Wisconsin, USA and GrammaTech,

More information

Closed Forms for Numerical Loops

Closed Forms for Numerical Loops Closed Forms for Numerical Loops ZACHARY KINCAID, Princeton University, USA JASON BRECK, University of Wisconsin, USA JOHN CYPHERT, University of Wisconsin, USA THOMAS REPS, University of Wisconsin, USA

More information

Compositional Recurrence Analysis Revisited

Compositional Recurrence Analysis Revisited Compositional Recurrence Analysis Revisited Zachary Kincaid Princeton Univ., USA zkincaid@cs.princeton.edu Jason Breck Ashkan Forouhi Boroujeni Univ. of Wisconsin, USA {jbreck,ashkanfb@cs.wisc.edu Thomas

More information

Compositional Recurrence Analysis Revisited

Compositional Recurrence Analysis Revisited 4/7/2017 aec badge pldi.svg file:///c:/users/reps/documents/papers/submissions/newtoncra/aec badge pldi.svg 1/1 Compositional Recurrence Analysis Revisited * PLDI * Artifact Consistent * Complete * Well

More information

Logarithmic and Exponential Equations and Change-of-Base

Logarithmic and Exponential Equations and Change-of-Base Logarithmic and Exponential Equations and Change-of-Base MATH 101 College Algebra J. Robert Buchanan Department of Mathematics Summer 2012 Objectives In this lesson we will learn to solve exponential equations

More information

Finite Fields. Mike Reiter

Finite Fields. Mike Reiter 1 Finite Fields Mike Reiter reiter@cs.unc.edu Based on Chapter 4 of: W. Stallings. Cryptography and Network Security, Principles and Practices. 3 rd Edition, 2003. Groups 2 A group G, is a set G of elements

More information

arithmetic properties of weighted catalan numbers

arithmetic properties of weighted catalan numbers arithmetic properties of weighted catalan numbers Jason Chen Mentor: Dmitry Kubrak May 20, 2017 MIT PRIMES Conference background: catalan numbers Definition The Catalan numbers are the sequence of integers

More information

How to Solve Linear Differential Equations

How to Solve Linear Differential Equations How to Solve Linear Differential Equations Definition: Euler Base Atom, Euler Solution Atom Independence of Atoms Construction of the General Solution from a List of Distinct Atoms Euler s Theorems Euler

More information

Topics in Model-Based Reasoning

Topics in Model-Based Reasoning Towards Integration of Proving and Solving Dipartimento di Informatica Università degli Studi di Verona Verona, Italy March, 2014 Automated reasoning Artificial Intelligence Automated Reasoning Computational

More information

Linear Arithmetic Satisfiability via Strategy Improvement

Linear Arithmetic Satisfiability via Strategy Improvement Linear Arithmetic Satisfiability via Strategy Improvement Azadeh Farzan 1 Zachary Kincaid 1,2 1 University of Toronto 2 Princeton University July 13, 2016 The problem: satisfiability modulo the theory

More information

Semester Review Packet

Semester Review Packet MATH 110: College Algebra Instructor: Reyes Semester Review Packet Remarks: This semester we have made a very detailed study of four classes of functions: Polynomial functions Linear Quadratic Higher degree

More information

Mathematical Foundations of Cryptography

Mathematical Foundations of Cryptography Mathematical Foundations of Cryptography Cryptography is based on mathematics In this chapter we study finite fields, the basis of the Advanced Encryption Standard (AES) and elliptical curve cryptography

More information

A field F is a set of numbers that includes the two numbers 0 and 1 and satisfies the properties:

A field F is a set of numbers that includes the two numbers 0 and 1 and satisfies the properties: Byte multiplication 1 Field arithmetic A field F is a set of numbers that includes the two numbers 0 and 1 and satisfies the properties: F is an abelian group under addition, meaning - F is closed under

More information

Math Exam 2, October 14, 2008

Math Exam 2, October 14, 2008 Math 96 - Exam 2, October 4, 28 Name: Problem (5 points Find all solutions to the following system of linear equations, check your work: x + x 2 x 3 2x 2 2x 3 2 x x 2 + x 3 2 Solution Let s perform Gaussian

More information

Chapter 4 Finite Fields

Chapter 4 Finite Fields Chapter 4 Finite Fields Introduction will now introduce finite fields of increasing importance in cryptography AES, Elliptic Curve, IDEA, Public Key concern operations on numbers what constitutes a number

More information

Standards to Topics. Louisiana Student Standards for Mathematics Algebra I

Standards to Topics. Louisiana Student Standards for Mathematics Algebra I Standards to Topics Louisiana Student Standards for Mathematics Algebra I A1.A-SSE.A.02 Use the structure of an expression to identify ways to rewrite it. For example, see x 4 y 4 as (x 2 ) 2 (y 2 ) 2,

More information

evaluate functions, expressed in function notation, given one or more elements in their domains

evaluate functions, expressed in function notation, given one or more elements in their domains Describing Linear Functions A.3 Linear functions, equations, and inequalities. The student writes and represents linear functions in multiple ways, with and without technology. The student demonstrates

More information

An Overly Simplified and Brief Review of Differential Equation Solution Methods. 1. Some Common Exact Solution Methods for Differential Equations

An Overly Simplified and Brief Review of Differential Equation Solution Methods. 1. Some Common Exact Solution Methods for Differential Equations An Overly Simplified and Brief Review of Differential Equation Solution Methods We will be dealing with initial or boundary value problems. A typical initial value problem has the form y y 0 y(0) 1 A typical

More information

CS156: The Calculus of Computation

CS156: The Calculus of Computation CS156: The Calculus of Computation Zohar Manna Winter 2010 It is reasonable to hope that the relationship between computation and mathematical logic will be as fruitful in the next century as that between

More information

Algebra II with Trig 3 rd Nine Weeks Pacing Guide Grade 11

Algebra II with Trig 3 rd Nine Weeks Pacing Guide Grade 11 2017-2018 Grade 11 Week 1 (1/8-1/12) 6-1, 6-2, 6-3 First Semester Report Cards go home January 10 th Week 2 (1/15-1/19) 6-4, 6-5 24. [A-REI.12T] Solve simple rational and radical equations in one variable,

More information

Proofs. Chapter 2 P P Q Q

Proofs. Chapter 2 P P Q Q Chapter Proofs In this chapter we develop three methods for proving a statement. To start let s suppose the statement is of the form P Q or if P, then Q. Direct: This method typically starts with P. Then,

More information

Simultaneous Equations Solve for x and y (What are the values of x and y): Summation What is the value of the following given x = j + 1. x i.

Simultaneous Equations Solve for x and y (What are the values of x and y): Summation What is the value of the following given x = j + 1. x i. 1 Algebra Simultaneous Equations Solve for x and y (What are the values of x and y): x + 2y = 6 x - y = 3 Summation What is the value of the following given x = j + 1. Summation Calculate the following:

More information

2018 Fall 2210Q Section 013 Midterm Exam I Solution

2018 Fall 2210Q Section 013 Midterm Exam I Solution 8 Fall Q Section 3 Midterm Exam I Solution True or False questions ( points = points) () An example of a linear combination of vectors v, v is the vector v. True. We can write v as v + v. () If two matrices

More information

CSE 311: Foundations of Computing I Autumn 2014 Practice Final: Section X. Closed book, closed notes, no cell phones, no calculators.

CSE 311: Foundations of Computing I Autumn 2014 Practice Final: Section X. Closed book, closed notes, no cell phones, no calculators. CSE 311: Foundations of Computing I Autumn 014 Practice Final: Section X YY ZZ Name: UW ID: Instructions: Closed book, closed notes, no cell phones, no calculators. You have 110 minutes to complete the

More information

Invariant Generation for P-solvable Loops with Assignments

Invariant Generation for P-solvable Loops with Assignments Invariant Generation for P-solvable Loops with Assignments Laura Kovács EPFL, Swizterland laura.kovacs@epfl.ch Abstract. We discuss interesting properties of a general technique for inferring polynomial

More information

ALGEBRAIC GEOMETRY HOMEWORK 3

ALGEBRAIC GEOMETRY HOMEWORK 3 ALGEBRAIC GEOMETRY HOMEWORK 3 (1) Consider the curve Y 2 = X 2 (X + 1). (a) Sketch the curve. (b) Determine the singular point P on C. (c) For all lines through P, determine the intersection multiplicity

More information

Homework 7 solutions M328K by Mark Lindberg/Marie-Amelie Lawn

Homework 7 solutions M328K by Mark Lindberg/Marie-Amelie Lawn Homework 7 solutions M328K by Mark Lindberg/Marie-Amelie Lawn Problem 1: 4.4 # 2:x 3 + 8x 2 x 1 0 (mod 1331). a) x 3 + 8x 2 x 1 0 (mod 11). This does not break down, so trial and error gives: x = 0 : f(0)

More information

Course MA2C02, Hilary Term 2013 Section 9: Introduction to Number Theory and Cryptography

Course MA2C02, Hilary Term 2013 Section 9: Introduction to Number Theory and Cryptography Course MA2C02, Hilary Term 2013 Section 9: Introduction to Number Theory and Cryptography David R. Wilkins Copyright c David R. Wilkins 2000 2013 Contents 9 Introduction to Number Theory 63 9.1 Subgroups

More information

Course 2BA1: Trinity 2006 Section 9: Introduction to Number Theory and Cryptography

Course 2BA1: Trinity 2006 Section 9: Introduction to Number Theory and Cryptography Course 2BA1: Trinity 2006 Section 9: Introduction to Number Theory and Cryptography David R. Wilkins Copyright c David R. Wilkins 2006 Contents 9 Introduction to Number Theory and Cryptography 1 9.1 Subgroups

More information

Series Solutions of Differential Equations

Series Solutions of Differential Equations Chapter 6 Series Solutions of Differential Equations In this chapter we consider methods for solving differential equations using power series. Sequences and infinite series are also involved in this treatment.

More information

Standards Overview. Algebra II Standards by Unit Standard Number. Major Standard. Wording of Standard

Standards Overview. Algebra II Standards by Unit Standard Number. Major Standard. Wording of Standard s Overview 2017-2018 Algebra II s by Unit Wording of N-RN.A.1 Explain how the definition of the meaning of rational exponents follows from extending the properties of integer exponents to those values,

More information

Resolution for Predicate Logic

Resolution for Predicate Logic Logic and Proof Hilary 2016 James Worrell Resolution for Predicate Logic A serious drawback of the ground resolution procedure is that it requires looking ahead to predict which ground instances of clauses

More information

Math 52: Course Summary

Math 52: Course Summary Math 52: Course Summary Rich Schwartz September 2, 2009 General Information: Math 52 is a first course in linear algebra. It is a transition between the lower level calculus courses and the upper level

More information

Cumberland County Schools

Cumberland County Schools Cumberland County Schools MATHEMATICS Algebra II The high school mathematics curriculum is designed to develop deep understanding of foundational math ideas. In order to allow time for such understanding,

More information

1. Definition of a Polynomial

1. Definition of a Polynomial 1. Definition of a Polynomial What is a polynomial? A polynomial P(x) is an algebraic expression of the form Degree P(x) = a n x n + a n 1 x n 1 + a n 2 x n 2 + + a 3 x 3 + a 2 x 2 + a 1 x + a 0 Leading

More information

ALGEBRA II CURRICULUM MAP

ALGEBRA II CURRICULUM MAP 2017-2018 MATHEMATICS ALGEBRA II CURRICULUM MAP Department of Curriculum and Instruction RCCSD Common Core Major Emphasis Clusters The Real Number System Extend the properties of exponents to rational

More information

Proofs. Chapter 2 P P Q Q

Proofs. Chapter 2 P P Q Q Chapter Proofs In this chapter we develop three methods for proving a statement. To start let s suppose the statement is of the form P Q or if P, then Q. Direct: This method typically starts with P. Then,

More information

Lecture 1: Logical Foundations

Lecture 1: Logical Foundations Lecture 1: Logical Foundations Zak Kincaid January 13, 2016 Logics have two components: syntax and semantics Syntax: defines the well-formed phrases of the language. given by a formal grammar. Typically

More information

Common Core State Standards for Mathematics - High School PARRC Model Content Frameworks Mathematics Algebra 2

Common Core State Standards for Mathematics - High School PARRC Model Content Frameworks Mathematics Algebra 2 A Correlation of CME Project Algebra 2 Common Core 2013 to the Common Core State Standards for , Common Core Correlated to the Number and Quantity The Real Number System N RN Extend the properties of exponents

More information

Table of mathematical symbols - Wikipedia, the free encyclopedia

Table of mathematical symbols - Wikipedia, the free encyclopedia Página 1 de 13 Table of mathematical symbols From Wikipedia, the free encyclopedia For the HTML codes of mathematical symbols see mathematical HTML. Note: This article contains special characters. The

More information

An Introduction to Z3

An Introduction to Z3 An Introduction to Z3 Huixing Fang National Trusted Embedded Software Engineering Technology Research Center April 12, 2017 Outline 1 SMT 2 Z3 Huixing Fang (ECNU) An Introduction to Z3 April 12, 2017 2

More information

SMT BASICS WS 2017/2018 ( ) LOGIC SATISFIABILITY MODULO THEORIES. Institute for Formal Models and Verification Johannes Kepler Universität Linz

SMT BASICS WS 2017/2018 ( ) LOGIC SATISFIABILITY MODULO THEORIES. Institute for Formal Models and Verification Johannes Kepler Universität Linz LOGIC SATISFIABILITY MODULO THEORIES SMT BASICS WS 2017/2018 (342.208) Armin Biere Martina Seidl biere@jku.at martina.seidl@jku.at Institute for Formal Models and Verification Johannes Kepler Universität

More information

March 25, 2010 CHAPTER 2: LIMITS AND CONTINUITY OF FUNCTIONS IN EUCLIDEAN SPACE

March 25, 2010 CHAPTER 2: LIMITS AND CONTINUITY OF FUNCTIONS IN EUCLIDEAN SPACE March 25, 2010 CHAPTER 2: LIMIT AND CONTINUITY OF FUNCTION IN EUCLIDEAN PACE 1. calar product in R n Definition 1.1. Given x = (x 1,..., x n ), y = (y 1,..., y n ) R n,we define their scalar product as

More information

Algebra Review 2. 1 Fields. A field is an extension of the concept of a group.

Algebra Review 2. 1 Fields. A field is an extension of the concept of a group. Algebra Review 2 1 Fields A field is an extension of the concept of a group. Definition 1. A field (F, +,, 0 F, 1 F ) is a set F together with two binary operations (+, ) on F such that the following conditions

More information

Propositional Logic. What is discrete math? Tautology, equivalence, and inference. Applications

Propositional Logic. What is discrete math? Tautology, equivalence, and inference. Applications What is discrete math? Propositional Logic The real numbers are continuous in the senses that: between any two real numbers there is a real number The integers do not share this property. In this sense

More information

Public-key Cryptography: Theory and Practice

Public-key Cryptography: Theory and Practice Public-key Cryptography Theory and Practice Department of Computer Science and Engineering Indian Institute of Technology Kharagpur Chapter 2: Mathematical Concepts Divisibility Congruence Quadratic Residues

More information

1 Lecture 8: Interpolating polynomials.

1 Lecture 8: Interpolating polynomials. 1 Lecture 8: Interpolating polynomials. 1.1 Horner s method Before turning to the main idea of this part of the course, we consider how to evaluate a polynomial. Recall that a polynomial is an expression

More information

Leonardo de Moura Microsoft Research

Leonardo de Moura Microsoft Research Leonardo de Moura Microsoft Research Is formula F satisfiable modulo theory T? SMT solvers have specialized algorithms for T b + 2 = c and f(read(write(a,b,3), c-2)) f(c-b+1) b + 2 = c and f(read(write(a,b,3),

More information

Decidability of Existence and Construction of a Complement of a given function

Decidability of Existence and Construction of a Complement of a given function Decidability of Existence and Construction of a Complement of a given function Ka.Shrinivaasan, Chennai Mathematical Institute (CMI) (shrinivas@cmi.ac.in) April 28, 2011 Abstract This article denes a complement

More information

Semester 1: Units 1 4 Semester 2 Units 5-9

Semester 1: Units 1 4 Semester 2 Units 5-9 Semester 1: Units 1 4 Semester 2 Units 5-9 Unit 1: Quadratic relations and equations This unit extends students previous work with quadratic relations and equations. In the context of quadratics, students

More information

Preliminaries Lectures. Dr. Abdulla Eid. Department of Mathematics MATHS 101: Calculus I

Preliminaries Lectures. Dr. Abdulla Eid. Department of Mathematics   MATHS 101: Calculus I Preliminaries 2 1 2 Lectures Department of Mathematics http://www.abdullaeid.net/maths101 MATHS 101: Calculus I (University of Bahrain) Prelim 1 / 35 Pre Calculus MATHS 101: Calculus MATHS 101 is all about

More information

Introduction to Techniques for Counting

Introduction to Techniques for Counting Introduction to Techniques for Counting A generating function is a device somewhat similar to a bag. Instead of carrying many little objects detachedly, which could be embarrassing, we put them all in

More information

Algebra Vocabulary. abscissa

Algebra Vocabulary. abscissa abscissa The x-value of an ordered pair that describes the horizontal distance from the x-axis. It is always written as the first element in the ordered pair. 3 is the abscissa of the ordered pair (3,

More information

Prentice Hall Algebra 1, Foundations Series 2011 Correlated to: Washington Mathematics Standards, Algebra 1 (2008)

Prentice Hall Algebra 1, Foundations Series 2011 Correlated to: Washington Mathematics Standards, Algebra 1 (2008) Algebra 1 A1.1. Core Content: Solving problems (Algebra) Students learn to solve many new types of problems in Algebra 1, and this first core content area highlights the types of problems students will

More information

Lecture 1: Convex Sets January 23

Lecture 1: Convex Sets January 23 IE 521: Convex Optimization Instructor: Niao He Lecture 1: Convex Sets January 23 Spring 2017, UIUC Scribe: Niao He Courtesy warning: These notes do not necessarily cover everything discussed in the class.

More information

Algebraic Proof Systems

Algebraic Proof Systems Algebraic Proof Systems Pavel Pudlák Mathematical Institute, Academy of Sciences, Prague and Charles University, Prague Fall School of Logic, Prague, 2009 2 Overview 1 a survey of proof systems 2 a lower

More information

Processes in Space. Luca Cardelli Microsoft Research. with Philippa Gardner Imperial College London

Processes in Space. Luca Cardelli Microsoft Research. with Philippa Gardner Imperial College London Processes in Space Luca Cardelli Microsoft Research with Philippa Gardner Imperial College London 2010-07-02 CiE Ponta Delgada http://lucacardelli.name Introduction Luca Cardelli 2010-07-02 2 From Topology

More information

The Reachability-Bound Problem. Gulwani and Zuleger PLDI 10

The Reachability-Bound Problem. Gulwani and Zuleger PLDI 10 The Reachability-Bound Problem Gulwani and Zuleger PLDI 10 CS252r Spring 2011 The Reachability-Bound problem Find a symbolic worst case bound on the number of times a program point is reached Intra-procedural:

More information

Advanced Automata Theory 9 Automatic Structures in General

Advanced Automata Theory 9 Automatic Structures in General Advanced Automata Theory 9 Automatic Structures in General Frank Stephan Department of Computer Science Department of Mathematics National University of Singapore fstephan@comp.nus.edu.sg Advanced Automata

More information

May 9, 2014 MATH 408 MIDTERM EXAM OUTLINE. Sample Questions

May 9, 2014 MATH 408 MIDTERM EXAM OUTLINE. Sample Questions May 9, 24 MATH 48 MIDTERM EXAM OUTLINE This exam will consist of two parts and each part will have multipart questions. Each of the 6 questions is worth 5 points for a total of points. The two part of

More information

Columbus City Schools High School CCSS Mathematics III - High School PARRC Model Content Frameworks Mathematics - Core Standards And Math Practices

Columbus City Schools High School CCSS Mathematics III - High School PARRC Model Content Frameworks Mathematics - Core Standards And Math Practices A Correlation of III Common Core To the CCSS III - - Core Standards And s A Correlation of - III Common Core, to the CCSS III - - Core Standards and s Introduction This document demonstrates how - III

More information

x y x y ax bx c x Algebra I Course Standards Gap 1 Gap 2 Comments a. Set up and solve problems following the correct order of operations (including proportions, percent, and absolute value) with rational

More information

LECTURE 5, FRIDAY

LECTURE 5, FRIDAY LECTURE 5, FRIDAY 20.02.04 FRANZ LEMMERMEYER Before we start with the arithmetic of elliptic curves, let us talk a little bit about multiplicities, tangents, and singular points. 1. Tangents How do we

More information

Pearson Mathematics Algebra 2 Common Core 2015

Pearson Mathematics Algebra 2 Common Core 2015 A Correlation of Pearson Mathematics Algebra 2 Common Core 2015 to the Common Core State Standards for Bid Category 13-050-10 A Correlation of Pearson Common Core Pearson Number and Quantity The Real Number

More information

VOYAGER INSIDE ALGEBRA CORRELATED TO THE NEW JERSEY STUDENT LEARNING OBJECTIVES AND CCSS.

VOYAGER INSIDE ALGEBRA CORRELATED TO THE NEW JERSEY STUDENT LEARNING OBJECTIVES AND CCSS. We NJ Can STUDENT Early Learning LEARNING Curriculum OBJECTIVES PreK Grades 8 12 VOYAGER INSIDE ALGEBRA CORRELATED TO THE NEW JERSEY STUDENT LEARNING OBJECTIVES AND CCSS www.voyagersopris.com/insidealgebra

More information

Minimizing Cubic and Homogeneous Polynomials Over Integer Points in the Plane

Minimizing Cubic and Homogeneous Polynomials Over Integer Points in the Plane Minimizing Cubic and Homogeneous Polynomials Over Integer Points in the Plane Robert Hildebrand IFOR - ETH Zürich Joint work with Alberto Del Pia, Robert Weismantel and Kevin Zemmer Robert Hildebrand (ETH)

More information

Tennessee s State Mathematics Standards - Algebra II

Tennessee s State Mathematics Standards - Algebra II Domain Cluster Standard Scope and Clarifications The Real Number System (N-RN) Extend the properties of exponents to rational exponents 1. Explain how the definition of the meaning of rational exponents

More information

Section Summary. Predicate logic Quantifiers. Negating Quantifiers. Translating English to Logic. Universal Quantifier Existential Quantifier

Section Summary. Predicate logic Quantifiers. Negating Quantifiers. Translating English to Logic. Universal Quantifier Existential Quantifier Section 1.4 Section Summary Predicate logic Quantifiers Universal Quantifier Existential Quantifier Negating Quantifiers De Morgan s Laws for Quantifiers Translating English to Logic Propositional Logic

More information

Algebra 2 CP Curriculum Pacing Guide

Algebra 2 CP Curriculum Pacing Guide SOUTH CAROLINA ACADEMIC STANDARDS FOR MATHEMATICS The mathematical processes provide the framework for teaching, learning, and assessing in all high school mathematics core courses. Instructional programs

More information

Critical Reading of Optimization Methods for Logical Inference [1]

Critical Reading of Optimization Methods for Logical Inference [1] Critical Reading of Optimization Methods for Logical Inference [1] Undergraduate Research Internship Department of Management Sciences Fall 2007 Supervisor: Dr. Miguel Anjos UNIVERSITY OF WATERLOO Rajesh

More information

1 Solving Algebraic Equations

1 Solving Algebraic Equations Arkansas Tech University MATH 1203: Trigonometry Dr. Marcel B. Finan 1 Solving Algebraic Equations This section illustrates the processes of solving linear and quadratic equations. The Geometry of Real

More information

Lecture 6: Finite Fields

Lecture 6: Finite Fields CCS Discrete Math I Professor: Padraic Bartlett Lecture 6: Finite Fields Week 6 UCSB 2014 It ain t what they call you, it s what you answer to. W. C. Fields 1 Fields In the next two weeks, we re going

More information

hal , version 1-21 Oct 2009

hal , version 1-21 Oct 2009 ON SKOLEMISING ZERMELO S SET THEORY ALEXANDRE MIQUEL Abstract. We give a Skolemised presentation of Zermelo s set theory (with notations for comprehension, powerset, etc.) and show that this presentation

More information

Exponential and. Logarithmic Functions. Exponential Functions. Logarithmic Functions

Exponential and. Logarithmic Functions. Exponential Functions. Logarithmic Functions Chapter Five Exponential and Logarithmic Functions Exponential Functions Logarithmic Functions Properties of Logarithms Exponential Equations Exponential Situations Logarithmic Equations Exponential Functions

More information

Step 1. Step 2. Step 4. The corrected trial solution y with evaluated coefficients d 1, d 2,..., d k becomes the particular solution y p.

Step 1. Step 2. Step 4. The corrected trial solution y with evaluated coefficients d 1, d 2,..., d k becomes the particular solution y p. Definition Atoms A and B are related if and only if their successive derivatives share a common atom. Then x 3 is related to x and x 101, while x is unrelated to e x, xe x and x sin x. Atoms x sin x and

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

Leonardo de Moura Microsoft Research

Leonardo de Moura Microsoft Research Leonardo de Moura Microsoft Research Logic is The Calculus of Computer Science (Z. Manna). High computational complexity Naïve solutions will not scale Is formula F satisfiable modulo theory T? SMT solvers

More information

The Potential and Challenges of CAD with Equational Constraints for SC-Square

The Potential and Challenges of CAD with Equational Constraints for SC-Square The Potential and Challenges of with Equational Constraints for SC-Square Matthew England (Coventry University) Joint work with: James H. Davenport (University of Bath) 7th International Conference on

More information

Termination Analysis of Loops

Termination Analysis of Loops Termination Analysis of Loops Zohar Manna with Aaron R. Bradley Computer Science Department Stanford University 1 Example: GCD Algorithm gcd(y 1, y 2 ) = gcd(y 1 y 2, y 2 ) if y 1 > y 2 gcd(y 1, y 2 y

More information

Linear Matrix Inequalities in Control

Linear Matrix Inequalities in Control Linear Matrix Inequalities in Control Delft Center for Systems and Control (DCSC) Delft University of Technology The Netherlands Department of Electrical Engineering Eindhoven University of Technology

More information

Topic 17. Analysis of Algorithms

Topic 17. Analysis of Algorithms Topic 17 Analysis of Algorithms Analysis of Algorithms- Review Efficiency of an algorithm can be measured in terms of : Time complexity: a measure of the amount of time required to execute an algorithm

More information

O Notation (Big Oh) We want to give an upper bound on the amount of time it takes to solve a problem.

O Notation (Big Oh) We want to give an upper bound on the amount of time it takes to solve a problem. O Notation (Big Oh) We want to give an upper bound on the amount of time it takes to solve a problem. defn: v(n) = O(f(n)) constants c and n 0 such that v(n) c f(n) whenever n > n 0 Termed complexity:

More information

EXAM. CS331 Compiler Design Spring Please read all instructions, including these, carefully

EXAM. CS331 Compiler Design Spring Please read all instructions, including these, carefully EXAM Please read all instructions, including these, carefully There are 7 questions on the exam, with multiple parts. You have 3 hours to work on the exam. The exam is open book, open notes. Please write

More information

ELEMENTARY LINEAR ALGEBRA

ELEMENTARY LINEAR ALGEBRA ELEMENTARY LINEAR ALGEBRA K R MATTHEWS DEPARTMENT OF MATHEMATICS UNIVERSITY OF QUEENSLAND First Printing, 99 Chapter LINEAR EQUATIONS Introduction to linear equations A linear equation in n unknowns x,

More information

Algebra 2 (#9260) AASD Mathematics Goals for K-12 Students

Algebra 2 (#9260) AASD Mathematics Goals for K-12 Students AASD MATHEMATICS CURRICULUM Algebra 2 (#9260) Description In this course, students will revisit key concepts from Algebra 1, Geometry, and other mathematics courses, building upon students prior knowledge

More information

Coordinate Systems. Recall that a basis for a vector space, V, is a set of vectors in V that is linearly independent and spans V.

Coordinate Systems. Recall that a basis for a vector space, V, is a set of vectors in V that is linearly independent and spans V. These notes closely follow the presentation of the material given in David C. Lay s textbook Linear Algebra and its Applications (rd edition). These notes are intended primarily for in-class presentation

More information

Infinite Truth-Functional Logic

Infinite Truth-Functional Logic 28 Notre Dame Journal of Formal Logic Volume 29, Number 1, Winter 1988 Infinite Truth-Functional Logic THEODORE HAILPERIN What we cannot speak about [in K o or fewer propositions] we must pass over in

More information

A Correlation of. Pearson Integrated CME Project. to the. Common Core State Standards for Mathematics - High School PARRC Model Content Frameworks

A Correlation of. Pearson Integrated CME Project. to the. Common Core State Standards for Mathematics - High School PARRC Model Content Frameworks A Correlation of Pearson 2013 to the Common Core State Standards for A Correlation of Pearson Introduction This document demonstrates how Pearson 2013 meets the standards of the Mathematics, PAARC Model

More information

Quantifiers. Leonardo de Moura Microsoft Research

Quantifiers. Leonardo de Moura Microsoft Research Quantifiers Leonardo de Moura Microsoft Research Satisfiability a > b + 2, a = 2c + 10, c + b 1000 SAT a = 0, b = 3, c = 5 Model 0 > 3 + 2, 0 = 2 5 + 10, 5 + ( 3) 1000 Quantifiers x y x > 0 f x, y = 0

More information

Algebra vocabulary CARD SETS Frame Clip Art by Pixels & Ice Cream

Algebra vocabulary CARD SETS Frame Clip Art by Pixels & Ice Cream Algebra vocabulary CARD SETS 1-7 www.lisatilmon.blogspot.com Frame Clip Art by Pixels & Ice Cream Algebra vocabulary Game Materials: one deck of Who has cards Objective: to match Who has words with definitions

More information

On the distribution of orbits in affine varieties

On the distribution of orbits in affine varieties On the distribution of orbits in affine varieties Clayton Petsche Oregon State University Joint Mathematics Meetings Special Session on Arithmetic Dynamics January 6 2016 Seattle A motivating question

More information

WA State Common Core Standards - Mathematics

WA State Common Core Standards - Mathematics Number & Quantity The Real Number System Extend the properties of exponents to rational exponents. 1. Explain how the definition of the meaning of rational exponents follows from extending the properties

More information

COMPUTER ARITHMETIC. 13/05/2010 cryptography - math background pp. 1 / 162

COMPUTER ARITHMETIC. 13/05/2010 cryptography - math background pp. 1 / 162 COMPUTER ARITHMETIC 13/05/2010 cryptography - math background pp. 1 / 162 RECALL OF COMPUTER ARITHMETIC computers implement some types of arithmetic for instance, addition, subtratction, multiplication

More information

Intro to Rings, Fields, Polynomials: Hardware Modeling by Modulo Arithmetic

Intro to Rings, Fields, Polynomials: Hardware Modeling by Modulo Arithmetic Intro to Rings, Fields, Polynomials: Hardware Modeling by Modulo Arithmetic Priyank Kalla Associate Professor Electrical and Computer Engineering, University of Utah kalla@ece.utah.edu http://www.ece.utah.edu/~kalla

More information

CITY UNIVERSITY. London

CITY UNIVERSITY. London 611.51 CITY UNIVERSITY London BSc Honours Degrees in Mathematical Science BSc Honours Degree in Mathematical Science with Finance and Economics BSc Honours Degree in Actuarial Science BSc Honours Degree

More information

Properties of Continuous Probability Distributions The graph of a continuous probability distribution is a curve. Probability is represented by area

Properties of Continuous Probability Distributions The graph of a continuous probability distribution is a curve. Probability is represented by area Properties of Continuous Probability Distributions The graph of a continuous probability distribution is a curve. Probability is represented by area under the curve. The curve is called the probability

More information

Complex Numbers: Definition: A complex number is a number of the form: z = a + bi where a, b are real numbers and i is a symbol with the property: i

Complex Numbers: Definition: A complex number is a number of the form: z = a + bi where a, b are real numbers and i is a symbol with the property: i Complex Numbers: Definition: A complex number is a number of the form: z = a + bi where a, b are real numbers and i is a symbol with the property: i 2 = 1 Sometimes we like to think of i = 1 We can treat

More information

1. Find the solution of the following uncontrolled linear system. 2 α 1 1

1. Find the solution of the following uncontrolled linear system. 2 α 1 1 Appendix B Revision Problems 1. Find the solution of the following uncontrolled linear system 0 1 1 ẋ = x, x(0) =. 2 3 1 Class test, August 1998 2. Given the linear system described by 2 α 1 1 ẋ = x +

More information

Points of Finite Order

Points of Finite Order Points of Finite Order Alex Tao 23 June 2008 1 Points of Order Two and Three If G is a group with respect to multiplication and g is an element of G then the order of g is the minimum positive integer

More information

In English, this means that if we travel on a straight line between any two points in C, then we never leave C.

In English, this means that if we travel on a straight line between any two points in C, then we never leave C. Convex sets In this section, we will be introduced to some of the mathematical fundamentals of convex sets. In order to motivate some of the definitions, we will look at the closest point problem from

More information