Abstract Interpretation, or Non-Standard Semantics, or Picking the Right Abstraction

Size: px
Start display at page:

Download "Abstract Interpretation, or Non-Standard Semantics, or Picking the Right Abstraction"

Transcription

1 Abstract Interpretation, or NonStandard Semantics, or Picking the Right Abstraction Meeting, SI 5535, Spring 1 Announcements Homework 7 due today No new homework today Work on your projects! Project status due Tue Mar 3 Guest Lecturer on March 3 Manu Sridharan The Problem: Static Analysis It is extremely useful to predict program behavior statically (= without running the program) Why What uses Pointer analysis how to reason about heap locations 3 4 The Problem: Static Analysis It is extremely useful to predict program behavior statically (= without running the program) For optimizing compilers, program analyses, software engineering tools, finding security flaws, etc. The semantics we studied so far give us the precise behavior of a program However, precise static predictions are impossible The exact semantics is not computable We must settle for approximate, but correct, static analyses (e.g. V vs. WP) 5 The Plan We will introduce abstract interpretation by example Starting with a miniscule language we will build up to a fairly realistic application Along the way we will see most of the ideas and difficulties that arise in a big class of applications 6 1

2 A Tiny Language onsider the following language of arithmetic ( shrimp ) e ::= n e 1 * e Denotational semantics of this language «n = n «e 1 * e = «e 1 «e Take deno. sem. as the ground truth For this language the precise semantics is computable (but in general it s not) 7 An Abstraction Assume that we are interested not in the value of the expression, but only in its sign: positive (), negative (), or zero () We can define an abstract semantics that computes only the sign of the result σ: Exp! {,, } σ(n) = sign(n) σ(e 1 * e ) = σ(e 1 ) σ(e ) 8 I Saw the Sign orrectness of Sign Abstraction Why did we want to compute the sign of an expression One reason: no one will believe you know abstract interpretation if you haven t seen the sign thing :) What could we be computing instead an show that the abstraction is correct in the sense that it predicts the sign «e, σ(e) = «e =, σ(e) = «e <, σ(e) = Our semantics is abstract but precise Proof is by structural induction on the expression e Each case repeats similar reasoning 9 1 Associate each concrete value to an abstract value: β : Z!{,, } This is called the abstraction function (β) This threeelement set is the abstract domain Also define the concretization function (γ): γ : {,, }!P(Z) γ() = { n Z n } γ() = { } γ() = { n Z n < } Soundness can be stated succinctly 8eExp. «e γ(σ(e)) (the real value of the expression is among the concrete values represented by the abstract value of the expression) 11 1

3 Soundness can be stated succinctly 8eExp. «e γ(σ(e)) (the real value of the expression is among the concrete values represented by the abstract value of the expression) Let be the concrete domain (e.g. Z) and A be the abstract domain (e.g. {,, }) ommutative diagram Exp A P() 13 Soundness can be stated succinctly 8eExp. «e γ(σ(e)) (the real value of the expression is among the concrete values represented by the abstract value of the expression) Let be the concrete domain (e.g. Z) and A be the abstract domain (e.g. {,, }) ommutative diagram: σ Exp «A γ P() Often, this is called the concrete domain 14 onsider the generic abstraction of an operator σ(e 1 op e ) = σ(e 1 ) op # σ (e ) This is sound iff 8a 1 8a. γ(a 1 op # a ) ¾ {n 1 op n n 1 γ(a 1 ), n γ(a )} e.g. γ(a 1 a ) ¾ { n 1 * n n 1 γ(a 1 ), n γ(a ) } This reduces the proof of correctness to one proof for each operator 15 OneSlide Summary: Abstract Interp This is our first example of an abstract interpretation We carry out computation in an abstract domain The abstract semantics is a sound approximation of the standard semantics The concretization and abstraction functions establish the connection between the two domains 16 Adding Unary Minus and Addition Adding Unary Minus and Addition We extend the language to e ::= n e 1 * e e We define σ( e) = ª σ(e) ª We extend the language to e ::= n e 1 * e e We define σ( e) = ª σ(e) ª Now we add addition: e ::= n e 1 * e e e 1 e We define σ(e 1 e ) = σ(e 1 ) σ(e )

4 Adding Unary Minus and Addition Adding Addition We extend the language to e ::= n e 1 * e e We define σ( e) = ª σ(e) Now we add addition: e ::= n e 1 * e e e 1 e We define σ(e 1 e ) = σ(e 1 ) σ(e ) ª 19 The sign values are not closed under addition What should be the value of Start from the soundness condition: γ( )¾{ n 1 n n 1, n < } = Z We don t have an abstract value whose concretization includes Z, so we add one: ( top = don t know ) Loss of Precision Loss of Precision Abstract computation may lose information: «(1 ) 3 = but: σ((1) 3) = Abstract computation may lose information: «(1 ) 3 = but: σ((1) 3) = (σ(1) σ()) σ(3) = ( ) = We lost some precision But this will simplify the computation of the abstract answer in cases when the precise answer is not computable 1 Adding Division Issues 3 Adding Division Straightforward except for division by We say that there is no answer in that case γ( ) = { n n = n 1 /, n 1 } = ; Introduce to be the abstraction of the ; = nothing = something unknown 4 4

5 The Abstract Domain What s this again Lattice Facts Our abstract domain forms a lattice A partial order is induced by γ a 1 v a iff γ(a 1 ) µ γ(a ) We say that a 1 is more precise than a! Every finite subset has a leastupper bound (lub) and a greatestlower bound (glb) 5 A lattice is complete when every subset has a lub and a gub Even infinite subsets! Every finite lattice is (trivially) complete Every complete lattice is a complete partial order (recall: denotational semantics!) Since a chain is a subset Not every PO is a complete lattice Might not even be a lattice at all 6 Lattice History Early work in denotational semantics used lattices (instead of what) But only chains need to have lubs And there was no need for and glb In abstract interpretation we ll use to denote I don t know. orresponds to all values in the concrete domain From One, Many We can start with the abstraction function β β :!A (maps a concrete value to the best abstract value) A must be a lattice We can derive the concretization function γ γ : A!P() γ(a) = And the abstraction for sets α α : P()! A α(s) = 7 8 From One, Many Example: With Our Sign Lattice We can start with the abstraction function β β :!A (maps a concrete value to the best abstract value) A must be a lattice We can derive the concretization function γ γ : A!P() γ(a) = { x β(x) v a } And the abstraction for sets α α : P()! A α(s) = lub { β(x) x S } 9 onsider our sign lattice if n β(n) = if n = if n < α(s) = lub { β(x) x S} Example: α ({1, }) = α ({1, }) = α ({}) = γ(a) = { n β(n) v a } Example: γ () = { n β(n) v } = γ () = γ () = 3 5

6 Example: With Our Sign Lattice onsider our sign lattice if n β(n) = if n = if n < α(s) = lub { β(x) x S} Example: α ({1, }) = lub { } = α ({1, }) = lub {, } = α ({}) = lub; = γ(a) = { n β(n) v a } Example: γ () = { n β(n) v } = { n β(n) = } = { n n } γ () = { n β(n) v} = Z γ () = { n β(n) v } = ; 31 Galois onnections We can show that γ and α are monotonic (with µ ordering on P()) α (γ (a)) = a for all a A γ (α(s)) ¾ S for all S P() Such a pair of functions is called a Galois connection Between the lattices A and P() S γ(α(s)) 3 orrectness ondition Three Little orrectness onditions In general, abstract interpretation satisfies the following (amazingly common) diagram denotation abstract semantics Exp σ (v) A «γ α P() (µ) abstract domain abstraction function for sets concretization function 33 Three conditions define a correct abstract interpretation 1. α and γ are monotonic. α and γ form a Galois connection = α and γ are almost inverses 3. Abstraction of operations is correct a 1 op # a = α(γ(a 1 ) op γ(a )) 34 Review of Verification onditions Additional Exercises What is the V for for i = e low to e high do Inv c 36 6

Abstract Interpretation, or Non-Standard Semantics, or Picking the Right Abstraction

Abstract Interpretation, or Non-Standard Semantics, or Picking the Right Abstraction Abstract Interpretation, or NonStandard Semantics, or Picking the Right Abstraction Meeting 14, SI 5535, Spring 29 Announcements Homework 3 is graded Graded out of 19, out of 38 on moodle because of.5

More information

Abstract Interpretation (Non-Standard Semantics) a.k.a. Picking The Right Abstraction

Abstract Interpretation (Non-Standard Semantics) a.k.a. Picking The Right Abstraction #1 Abstract Interpretation (NonStandard Semantics) a.k.a. Picking The Right Abstraction Reading Quiz All answers are one to three words. Write your UVA ID in big block letters. In Reflections on Trusting

More information

Abstract Interpretation (Non-Standard Semantics) a.k.a. Picking The Right Abstraction

Abstract Interpretation (Non-Standard Semantics) a.k.a. Picking The Right Abstraction Abstract Interpretation (Non-Standard Semantics) a.k.a. Picking The Right Abstraction #1 Apologies to Ralph Macchio Daniel: You're supposed to teach and I'm supposed to learn. Four homeworks I've been

More information

CMSC 631 Program Analysis and Understanding Fall Abstract Interpretation

CMSC 631 Program Analysis and Understanding Fall Abstract Interpretation Program Analysis and Understanding Fall 2017 Abstract Interpretation Based on lectures by David Schmidt, Alex Aiken, Tom Ball, and Cousot & Cousot What is an Abstraction? A property from some domain Blue

More information

Introduction to Axiomatic Semantics

Introduction to Axiomatic Semantics Introduction to Axiomatic Semantics Meeting 9, CSCI 5535, Spring 2009 Announcements Homework 3 is out, due Mon Feb 16 No domain theory! Homework 1 is graded Feedback attached 14.2 (mean), 13 (median),

More information

Introduction to Abstract Interpretation. ECE 584 Sayan Mitra Lecture 18

Introduction to Abstract Interpretation. ECE 584 Sayan Mitra Lecture 18 Introduction to Abstract Interpretation ECE 584 Sayan Mitra Lecture 18 References Patrick Cousot,RadhiaCousot:Abstract Interpretation: A Unified Lattice Model for Static Analysis of Programs by Construction

More information

Axiomatic Semantics: Verification Conditions. Review of Soundness and Completeness of Axiomatic Semantics. Announcements

Axiomatic Semantics: Verification Conditions. Review of Soundness and Completeness of Axiomatic Semantics. Announcements Axiomatic Semantics: Verification Conditions Meeting 12, CSCI 5535, Spring 2009 Announcements Homework 4 is due tonight Wed forum: papers on automated testing using symbolic execution 2 Questions? Review

More information

Axiomatic Semantics: Verification Conditions. Review of Soundness of Axiomatic Semantics. Questions? Announcements

Axiomatic 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 information

CS 6110 Lecture 21 The Fixed-Point Theorem 8 March 2013 Lecturer: Andrew Myers. 1 Complete partial orders (CPOs) 2 Least fixed points of functions

CS 6110 Lecture 21 The Fixed-Point Theorem 8 March 2013 Lecturer: Andrew Myers. 1 Complete partial orders (CPOs) 2 Least fixed points of functions CS 6110 Lecture 21 The Fixed-Point Theorem 8 March 2013 Lecturer: Andrew Myers We saw that the semantics of the while command are a fixed point. We also saw that intuitively, the semantics are the limit

More information

Section 20: Arrow Diagrams on the Integers

Section 20: Arrow Diagrams on the Integers Section 0: Arrow Diagrams on the Integers Most of the material we have discussed so far concerns the idea and representations of functions. A function is a relationship between a set of inputs (the leave

More information

6c Lecture 14: May 14, 2014

6c Lecture 14: May 14, 2014 6c Lecture 14: May 14, 2014 11 Compactness We begin with a consequence of the completeness theorem. Suppose T is a theory. Recall that T is satisfiable if there is a model M T of T. Recall that T is consistent

More information

INF3170 Logikk Spring Homework #8 For Friday, March 18

INF3170 Logikk Spring Homework #8 For Friday, March 18 INF3170 Logikk Spring 2011 Homework #8 For Friday, March 18 Problems 2 6 have to do with a more explicit proof of the restricted version of the completeness theorem: if = ϕ, then ϕ. Note that, other than

More information

September 14. Fall Software Foundations CIS 500

September 14. Fall Software Foundations CIS 500 CIS 500 Software Foundations Fall 2005 September 14 CIS 500, September 14 1 Announcements I will be away September 19-October 5. I will be reachable by email. Fastest response cis500@cis.upenn.edu No office

More information

COSE312: Compilers. Lecture 14 Semantic Analysis (4)

COSE312: Compilers. Lecture 14 Semantic Analysis (4) COSE312: Compilers Lecture 14 Semantic Analysis (4) Hakjoo Oh 2017 Spring Hakjoo Oh COSE312 2017 Spring, Lecture 14 May 8, 2017 1 / 30 Denotational Semantics In denotational semantics, we are interested

More information

AAA616: Program Analysis. Lecture 3 Denotational Semantics

AAA616: Program Analysis. Lecture 3 Denotational Semantics AAA616: Program Analysis Lecture 3 Denotational Semantics Hakjoo Oh 2018 Spring Hakjoo Oh AAA616 2018 Spring, Lecture 3 March 28, 2018 1 / 33 Denotational Semantics In denotational semantics, we are interested

More information

CS422 - Programming Language Design

CS422 - Programming Language Design 1 CS422 - Programming Language Design Denotational Semantics Grigore Roşu Department of Computer Science University of Illinois at Urbana-Champaign 2 Denotational semantics, also known as fix-point semantics,

More information

Soundness and Completeness of Axiomatic Semantics

Soundness and Completeness of Axiomatic Semantics #1 Soundness and Completeness of Axiomatic Semantics #2 One-Slide Summary A system of axiomatic semantics is sound if everything we can prove is also true: if ` { A } c { B } then ² { A } c { B } We prove

More information

Induction; Operational Semantics. Fall Software Foundations CIS 500

Induction; Operational Semantics. Fall Software Foundations CIS 500 CIS 500 Software Foundations Fall 2005 Induction; Operational Semantics CIS 500, Induction; Operational Semantics 1 Announcements Review recitations start this week. You may go to any recitation section

More information

Generalized Strong Preservation by Abstract Interpretation

Generalized Strong Preservation by Abstract Interpretation Generalized Strong Preservation by Abstract Interpretation FRANCESCO RANZATO FRANCESCO TAPPARO Dipartimento di Matematica Pura ed Applicata, Università di Padova Via Belzoni 7, 35131 Padova, Italy francesco.ranzato@unipd.it

More information

Discrete Mathematics and Probability Theory Summer 2014 James Cook Note 5

Discrete Mathematics and Probability Theory Summer 2014 James Cook Note 5 CS 70 Discrete Mathematics and Probability Theory Summer 2014 James Cook Note 5 Modular Arithmetic In several settings, such as error-correcting codes and cryptography, we sometimes wish to work over a

More information

Material covered: Class numbers of quadratic fields, Valuations, Completions of fields.

Material covered: Class numbers of quadratic fields, Valuations, Completions of fields. ALGEBRAIC NUMBER THEORY LECTURE 6 NOTES Material covered: Class numbers of quadratic fields, Valuations, Completions of fields. 1. Ideal class groups of quadratic fields These are the ideal class groups

More information

HW 4 SOLUTIONS. , x + x x 1 ) 2

HW 4 SOLUTIONS. , x + x x 1 ) 2 HW 4 SOLUTIONS The Way of Analysis p. 98: 1.) Suppose that A is open. Show that A minus a finite set is still open. This follows by induction as long as A minus one point x is still open. To see that A

More information

Homework #1. Denote the sum we are interested in as To find we subtract the sum to find that

Homework #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 information

arxiv:cs/ v1 [cs.lo] 22 Dec 2006

arxiv:cs/ v1 [cs.lo] 22 Dec 2006 Generalizing the Paige-Tarjan Algorithm by Abstract Interpretation arxiv:cs/0612120v1 [cs.lo] 22 Dec 2006 FRANCESCO RANZATO FRANCESCO TAPPARO Dipartimento di Matematica Pura ed Applicata, Università di

More information

Truth-Functional Logic

Truth-Functional Logic Truth-Functional Logic Syntax Every atomic sentence (A, B, C, ) is a sentence and are sentences With ϕ a sentence, the negation ϕ is a sentence With ϕ and ψ sentences, the conjunction ϕ ψ is a sentence

More information

CMSC 631 Program Analysis and Understanding. Spring Data Flow Analysis

CMSC 631 Program Analysis and Understanding. Spring Data Flow Analysis CMSC 631 Program Analysis and Understanding Spring 2013 Data Flow Analysis Data Flow Analysis A framework for proving facts about programs Reasons about lots of little facts Little or no interaction between

More information

Examples: P: it is not the case that P. P Q: P or Q P Q: P implies Q (if P then Q) Typical formula:

Examples: P: it is not the case that P. P Q: P or Q P Q: P implies Q (if P then Q) Typical formula: Logic: The Big Picture Logic is a tool for formalizing reasoning. There are lots of different logics: probabilistic logic: for reasoning about probability temporal logic: for reasoning about time (and

More information

Discrete Fixpoint Approximation Methods in Program Static Analysis

Discrete Fixpoint Approximation Methods in Program Static Analysis Discrete Fixpoint Approximation Methods in Program Static Analysis P. Cousot Département de Mathématiques et Informatique École Normale Supérieure Paris

More information

Math 267a - Propositional Proof Complexity. Lecture #1: 14 January 2002

Math 267a - Propositional Proof Complexity. Lecture #1: 14 January 2002 Math 267a - Propositional Proof Complexity Lecture #1: 14 January 2002 Lecturer: Sam Buss Scribe Notes by: Robert Ellis 1 Introduction to Propositional Logic 1.1 Symbols and Definitions The language of

More information

Hoare Logic: Part II

Hoare 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 information

Math 31 Lesson Plan. Day 2: Sets; Binary Operations. Elizabeth Gillaspy. September 23, 2011

Math 31 Lesson Plan. Day 2: Sets; Binary Operations. Elizabeth Gillaspy. September 23, 2011 Math 31 Lesson Plan Day 2: Sets; Binary Operations Elizabeth Gillaspy September 23, 2011 Supplies needed: 30 worksheets. Scratch paper? Sign in sheet Goals for myself: Tell them what you re going to tell

More information

Static Program Analysis

Static Program Analysis Static Program Analysis Lecture 16: Abstract Interpretation VI (Counterexample-Guided Abstraction Refinement) Thomas Noll Lehrstuhl für Informatik 2 (Software Modeling and Verification) noll@cs.rwth-aachen.de

More information

Lecture 4. Algebra, continued Section 2: Lattices and Boolean algebras

Lecture 4. Algebra, continued Section 2: Lattices and Boolean algebras V. Borschev and B. Partee, September 21-26, 2006 p. 1 Lecture 4. Algebra, continued Section 2: Lattices and Boolean algebras CONTENTS 1. Lattices.... 1 1.0. Why lattices?... 1 1.1. Posets... 1 1.1.1. Upper

More information

15-855: Intensive Intro to Complexity Theory Spring Lecture 7: The Permanent, Toda s Theorem, XXX

15-855: Intensive Intro to Complexity Theory Spring Lecture 7: The Permanent, Toda s Theorem, XXX 15-855: Intensive Intro to Complexity Theory Spring 2009 Lecture 7: The Permanent, Toda s Theorem, XXX 1 #P and Permanent Recall the class of counting problems, #P, introduced last lecture. It was introduced

More information

6.080 / Great Ideas in Theoretical Computer Science Spring 2008

6.080 / Great Ideas in Theoretical Computer Science Spring 2008 MIT OpenCourseWare http://ocw.mit.edu 6.080 / 6.089 Great Ideas in Theoretical Computer Science Spring 2008 For information about citing these materials or our Terms of Use, visit: http://ocw.mit.edu/terms.

More information

Gerwin Klein, June Andronick, Ramana Kumar S2/2016

Gerwin Klein, June Andronick, Ramana Kumar S2/2016 COMP4161: Advanced Topics in Software Verification {} Gerwin Klein, June Andronick, Ramana Kumar S2/2016 data61.csiro.au Content Intro & motivation, getting started [1] Foundations & Principles Lambda

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

Course Runtime Verification

Course Runtime Verification Course Martin Leucker (ISP) Volker Stolz (Høgskolen i Bergen, NO) INF5140 / V17 Chapters of the Course Chapter 1 Recall in More Depth Chapter 2 Specification Languages on Words Chapter 3 LTL on Finite

More information

Complexity and NP-completeness

Complexity and NP-completeness Lecture 17 Complexity and NP-completeness Supplemental reading in CLRS: Chapter 34 As an engineer or computer scientist, it is important not only to be able to solve problems, but also to know which problems

More information

Lecture 2: Connecting the Three Models

Lecture 2: Connecting the Three Models IAS/PCMI Summer Session 2000 Clay Mathematics Undergraduate Program Advanced Course on Computational Complexity Lecture 2: Connecting the Three Models David Mix Barrington and Alexis Maciel July 18, 2000

More information

Lecture Notes: Program Analysis Correctness

Lecture Notes: Program Analysis Correctness Lecture Notes: Program Analysis Correctness 15-819O: Program Analysis Jonathan Aldrich jonathan.aldrich@cs.cmu.edu Lecture 5 1 Termination As we think about the correctness of program analysis, let us

More information

Relations. Carl Pollard. October 11, Department of Linguistics Ohio State University

Relations. Carl Pollard. October 11, Department of Linguistics Ohio State University Department of Linguistics Ohio State University October 11, 2011 (Intuitive Idea) Intuitively, a relation is the kind of thing that either holds or doesn t hold between certain things. Examples: Being

More information

Adam Blank Spring 2017 CSE 311. Foundations of Computing I. * All slides are a combined effort between previous instructors of the course

Adam Blank Spring 2017 CSE 311. Foundations of Computing I. * All slides are a combined effort between previous instructors of the course Adam Blank Spring 2017 CSE 311 Foundations of Computing I * All slides are a combined effort between previous instructors of the course HW 3 De-Brief HW 3 De-Brief PROOFS! HW 3 De-Brief Proofs This is

More information

Chapter 4: Classical Propositional Semantics

Chapter 4: Classical Propositional Semantics Chapter 4: Classical Propositional Semantics Language : L {,,, }. Classical Semantics assumptions: TWO VALUES: there are only two logical values: truth (T) and false (F), and EXTENSIONALITY: the logical

More information

If we square the square root of something (that s not negative), we get the something : ( 34) ( ) 34

If we square the square root of something (that s not negative), we get the something : ( 34) ( ) 34 CH 60 MORE PYTHAGOREAN THEOREM AND MORE RADICALS Introduction T he last time we studied the Pythagorean Theorem we may have used our calculator to round square roots that didn t come out whole numbers.

More information

Computational Models: Class 3

Computational Models: Class 3 Computational Models: Class 3 Benny Chor School of Computer Science Tel Aviv University November 2, 2015 Based on slides by Maurice Herlihy, Brown University, and modifications by Iftach Haitner and Yishay

More information

Lecture Notes: Axiomatic Semantics and Hoare-style Verification

Lecture 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 information

Notes on Abstract Interpretation

Notes on Abstract Interpretation Notes on Abstract Interpretation Alexandru Sălcianu salcianu@mit.edu November 2001 1 Introduction This paper summarizes our view of the abstract interpretation field. It is based on the original abstract

More information

CMPSCI 601: Tarski s Truth Definition Lecture 15. where

CMPSCI 601: Tarski s Truth Definition Lecture 15. where @ CMPSCI 601: Tarski s Truth Definition Lecture 15! "$#&%(') *+,-!".#/%0'!12 43 5 6 7 8:9 4; 9 9 < = 9 = or 5 6?>A@B!9 2 D for all C @B 9 CFE where ) CGE @B-HI LJKK MKK )HG if H ; C if H @ 1 > > > Fitch

More information

Math Lecture 4 Limit Laws

Math Lecture 4 Limit Laws Math 1060 Lecture 4 Limit Laws Outline Summary of last lecture Limit laws Motivation Limits of constants and the identity function Limits of sums and differences Limits of products Limits of polynomials

More information

Undecidability and Rice s Theorem. Lecture 26, December 3 CS 374, Fall 2015

Undecidability and Rice s Theorem. Lecture 26, December 3 CS 374, Fall 2015 Undecidability and Rice s Theorem Lecture 26, December 3 CS 374, Fall 2015 UNDECIDABLE EXP NP P R E RECURSIVE Recap: Universal TM U We saw a TM U such that L(U) = { (z,w) M z accepts w} Thus, U is a stored-program

More information

Chapter 2. Reductions and NP. 2.1 Reductions Continued The Satisfiability Problem (SAT) SAT 3SAT. CS 573: Algorithms, Fall 2013 August 29, 2013

Chapter 2. Reductions and NP. 2.1 Reductions Continued The Satisfiability Problem (SAT) SAT 3SAT. CS 573: Algorithms, Fall 2013 August 29, 2013 Chapter 2 Reductions and NP CS 573: Algorithms, Fall 2013 August 29, 2013 2.1 Reductions Continued 2.1.1 The Satisfiability Problem SAT 2.1.1.1 Propositional Formulas Definition 2.1.1. Consider a set of

More information

A Certified Denotational Abstract Interpreter (Proof Pearl)

A Certified Denotational Abstract Interpreter (Proof Pearl) A Certified Denotational Abstract Interpreter (Proof Pearl) David Pichardie INRIA Rennes David Cachera IRISA / ENS Cachan (Bretagne) Static Analysis Static Analysis Static analysis by abstract interpretation

More information

CS411 Notes 3 Induction and Recursion

CS411 Notes 3 Induction and Recursion CS411 Notes 3 Induction and Recursion A. Demers 5 Feb 2001 These notes present inductive techniques for defining sets and subsets, for defining functions over sets, and for proving that a property holds

More information

Program verification using Hoare Logic¹

Program verification using Hoare Logic¹ Program verification using Hoare Logic¹ Automated Reasoning - Guest Lecture Petros Papapanagiotou Part 2 of 2 ¹Contains material from Mike Gordon s slides: Previously on Hoare Logic A simple while language

More information

CHAPTER 4 CLASSICAL PROPOSITIONAL SEMANTICS

CHAPTER 4 CLASSICAL PROPOSITIONAL SEMANTICS CHAPTER 4 CLASSICAL PROPOSITIONAL SEMANTICS 1 Language There are several propositional languages that are routinely called classical propositional logic languages. It is due to the functional dependency

More information

CISC 4090: Theory of Computation Chapter 1 Regular Languages. Section 1.1: Finite Automata. What is a computer? Finite automata

CISC 4090: Theory of Computation Chapter 1 Regular Languages. Section 1.1: Finite Automata. What is a computer? Finite automata CISC 4090: Theory of Computation Chapter Regular Languages Xiaolan Zhang, adapted from slides by Prof. Werschulz Section.: Finite Automata Fordham University Department of Computer and Information Sciences

More information

Abstract Interpretation II

Abstract Interpretation II Abstract Interpretation II Semantics and Application to Program Verification Antoine Miné École normale supérieure, Paris year 2015 2016 Course 11 13 May 2016 Course 11 Abstract Interpretation II Antoine

More information

A Short Introduction to Hoare Logic

A Short Introduction to Hoare Logic A Short Introduction to Hoare Logic Supratik Chakraborty I.I.T. Bombay June 23, 2008 Supratik Chakraborty (I.I.T. Bombay) A Short Introduction to Hoare Logic June 23, 2008 1 / 34 Motivation Assertion checking

More information

Show Your Work! Point values are in square brackets. There are 35 points possible. Some facts about sets are on the last page.

Show 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 information

Introduction to Axiomatic Semantics

Introduction to Axiomatic Semantics #1 Introduction to Axiomatic Semantics #2 How s The Homework Going? Remember that you can t just define a meaning function in terms of itself you must use some fixed point machinery. #3 Observations A

More information

Announcements. CS243: Discrete Structures. Propositional Logic II. Review. Operator Precedence. Operator Precedence, cont. Operator Precedence Example

Announcements. CS243: Discrete Structures. Propositional Logic II. Review. Operator Precedence. Operator Precedence, cont. Operator Precedence Example Announcements CS243: Discrete Structures Propositional Logic II Işıl Dillig First homework assignment out today! Due in one week, i.e., before lecture next Tuesday 09/11 Weilin s Tuesday office hours are

More information

Filters in Analysis and Topology

Filters in Analysis and Topology Filters in Analysis and Topology David MacIver July 1, 2004 Abstract The study of filters is a very natural way to talk about convergence in an arbitrary topological space, and carries over nicely into

More information

Seminaar Abstrakte Wiskunde Seminar in Abstract Mathematics Lecture notes in progress (27 March 2010)

Seminaar Abstrakte Wiskunde Seminar in Abstract Mathematics Lecture notes in progress (27 March 2010) http://math.sun.ac.za/amsc/sam Seminaar Abstrakte Wiskunde Seminar in Abstract Mathematics 2009-2010 Lecture notes in progress (27 March 2010) Contents 2009 Semester I: Elements 5 1. Cartesian product

More information

Homework for MATH 4603 (Advanced Calculus I) Fall Homework 13: Due on Tuesday 15 December. Homework 12: Due on Tuesday 8 December

Homework for MATH 4603 (Advanced Calculus I) Fall Homework 13: Due on Tuesday 15 December. Homework 12: Due on Tuesday 8 December Homework for MATH 4603 (Advanced Calculus I) Fall 2015 Homework 13: Due on Tuesday 15 December 49. Let D R, f : D R and S D. Let a S (acc S). Assume that f is differentiable at a. Let g := f S. Show that

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

P is the class of problems for which there are algorithms that solve the problem in time O(n k ) for some constant k.

P is the class of problems for which there are algorithms that solve the problem in time O(n k ) for some constant k. Complexity Theory Problems are divided into complexity classes. Informally: So far in this course, almost all algorithms had polynomial running time, i.e., on inputs of size n, worst-case running time

More information

Essential facts about NP-completeness:

Essential facts about NP-completeness: CMPSCI611: NP Completeness Lecture 17 Essential facts about NP-completeness: Any NP-complete problem can be solved by a simple, but exponentially slow algorithm. We don t have polynomial-time solutions

More information

Natural Deduction. Formal Methods in Verification of Computer Systems Jeremy Johnson

Natural Deduction. Formal Methods in Verification of Computer Systems Jeremy Johnson Natural Deduction Formal Methods in Verification of Computer Systems Jeremy Johnson Outline 1. An example 1. Validity by truth table 2. Validity by proof 2. What s a proof 1. Proof checker 3. Rules of

More information

212a1214Daniell s integration theory.

212a1214Daniell s integration theory. 212a1214 Daniell s integration theory. October 30, 2014 Daniell s idea was to take the axiomatic properties of the integral as the starting point and develop integration for broader and broader classes

More information

Automated Reasoning Lecture 5: First-Order Logic

Automated Reasoning Lecture 5: First-Order Logic Automated Reasoning Lecture 5: First-Order Logic Jacques Fleuriot jdf@inf.ac.uk Recap Over the last three lectures, we have looked at: Propositional logic, semantics and proof systems Doing propositional

More information

Extensions to the Logic of All x are y: Verbs, Relative Clauses, and Only

Extensions to the Logic of All x are y: Verbs, Relative Clauses, and Only 1/53 Extensions to the Logic of All x are y: Verbs, Relative Clauses, and Only Larry Moss Indiana University Nordic Logic School August 7-11, 2017 2/53 An example that we ll see a few times Consider the

More information

COMP2411 Lecture 6: Soundness and Completeness. Reading: Huth and Ryan, Sections 1.4

COMP2411 Lecture 6: Soundness and Completeness. Reading: Huth and Ryan, Sections 1.4 COMP2411 Lecture 6: Soundness and Completeness Reading: Huth and Ryan, Sections 14 Arithmetic is useful in the world because it is an example of the diagram: symbols - symbolic manipulation -> symbols

More information

2. Introduction to commutative rings (continued)

2. Introduction to commutative rings (continued) 2. Introduction to commutative rings (continued) 2.1. New examples of commutative rings. Recall that in the first lecture we defined the notions of commutative rings and field and gave some examples of

More information

CSE 311 Lecture 28: Undecidability of the Halting Problem. Emina Torlak and Kevin Zatloukal

CSE 311 Lecture 28: Undecidability of the Halting Problem. Emina Torlak and Kevin Zatloukal CSE 311 Lecture 28: Undecidability of the Halting Problem Emina Torlak and Kevin Zatloukal 1 Topics Final exam Logistics, format, and topics. Countability and uncomputability A quick recap of Lecture 27.

More information

Axioms of Kleene Algebra

Axioms of Kleene Algebra Introduction to Kleene Algebra Lecture 2 CS786 Spring 2004 January 28, 2004 Axioms of Kleene Algebra In this lecture we give the formal definition of a Kleene algebra and derive some basic consequences.

More information

CITS2211 Discrete Structures (2017) Cardinality and Countability

CITS2211 Discrete Structures (2017) Cardinality and Countability CITS2211 Discrete Structures (2017) Cardinality and Countability Highlights What is cardinality? Is it the same as size? Types of cardinality and infinite sets Reading Sections 45 and 81 84 of Mathematics

More information

Lecture 6 : Induction DRAFT

Lecture 6 : Induction DRAFT CS/Math 40: Introduction to Discrete Mathematics /8/011 Lecture 6 : Induction Instructor: Dieter van Melkebeek Scribe: Dalibor Zelený DRAFT Last time we began discussing proofs. We mentioned some proof

More information

Discrete Mathematics and Probability Theory Fall 2018 Alistair Sinclair and Yun Song Note 6

Discrete Mathematics and Probability Theory Fall 2018 Alistair Sinclair and Yun Song Note 6 CS 70 Discrete Mathematics and Probability Theory Fall 2018 Alistair Sinclair and Yun Song Note 6 1 Modular Arithmetic In several settings, such as error-correcting codes and cryptography, we sometimes

More information

The next sequence of lectures in on the topic of Arithmetic Algorithms. We shall build up to an understanding of the RSA public-key cryptosystem.

The next sequence of lectures in on the topic of Arithmetic Algorithms. We shall build up to an understanding of the RSA public-key cryptosystem. CS 70 Discrete Mathematics for CS Fall 2003 Wagner Lecture 10 The next sequence of lectures in on the topic of Arithmetic Algorithms. We shall build up to an understanding of the RSA public-key cryptosystem.

More information

Important Properties of R

Important Properties of R Chapter 2 Important Properties of R The purpose of this chapter is to explain to the reader why the set of real numbers is so special. By the end of this chapter, the reader should understand the difference

More information

CH 14 MORE DIVISION, SIGNED NUMBERS, & EQUATIONS

CH 14 MORE DIVISION, SIGNED NUMBERS, & EQUATIONS 1 CH 14 MORE DIVISION, SIGNED NUMBERS, & EQUATIONS Division and Those Pesky Zeros O ne of the most important facts in all of mathematics is that the denominator (bottom) of a fraction can NEVER be zero.

More information

Lecture 7. Logic. Section1: Statement Logic.

Lecture 7. Logic. Section1: Statement Logic. Ling 726: Mathematical Linguistics, Logic, Section : Statement Logic V. Borschev and B. Partee, October 5, 26 p. Lecture 7. Logic. Section: Statement Logic.. Statement Logic..... Goals..... Syntax of Statement

More information

Modal and temporal logic

Modal and temporal logic Modal and temporal logic N. Bezhanishvili I. Hodkinson C. Kupke Imperial College London 1 / 83 Overview Part II 1 Soundness and completeness. Canonical models. 3 lectures. 2 Finite model property. Filtrations.

More information

Lecture 12. Statement Logic as a word algebra on the set of atomic statements. Lindenbaum algebra.

Lecture 12. Statement Logic as a word algebra on the set of atomic statements. Lindenbaum algebra. V. Borschev and B. Partee, October 26, 2006 p. 1 Lecture 12. Statement Logic as a word algebra on the set of atomic statements. Lindenbaum algebra. 0. Preliminary notes...1 1. Freedom for algebras. Word

More information

MA 3280 Lecture 05 - Generalized Echelon Form and Free Variables. Friday, January 31, 2014.

MA 3280 Lecture 05 - Generalized Echelon Form and Free Variables. Friday, January 31, 2014. MA 3280 Lecture 05 - Generalized Echelon Form and Free Variables Friday, January 31, 2014. Objectives: Generalize echelon form, and introduce free variables. Material from Section 3.5 starting on page

More information

Foundations of Abstract Interpretation

Foundations of Abstract Interpretation Escuela 03 II / 1 Foundations of Abstract Interpretation David Schmidt Kansas State University www.cis.ksu.edu/~schmidt Escuela 03 II / 2 Outline 1. Lattices and continuous functions 2. Galois connections,

More information

Dynamic Noninterference Analysis Using Context Sensitive Static Analyses. Gurvan Le Guernic July 14, 2007

Dynamic Noninterference Analysis Using Context Sensitive Static Analyses. Gurvan Le Guernic July 14, 2007 Dynamic Noninterference Analysis Using Context Sensitive Static Analyses Gurvan Le Guernic July 14, 2007 1 Abstract This report proposes a dynamic noninterference analysis for sequential programs. This

More information

The converse is clear, since

The converse is clear, since 14. The minimal polynomial For an example of a matrix which cannot be diagonalised, consider the matrix ( ) 0 1 A =. 0 0 The characteristic polynomial is λ 2 = 0 so that the only eigenvalue is λ = 0. The

More information

Mathematics 114L Spring 2018 D.A. Martin. Mathematical Logic

Mathematics 114L Spring 2018 D.A. Martin. Mathematical Logic Mathematics 114L Spring 2018 D.A. Martin Mathematical Logic 1 First-Order Languages. Symbols. All first-order languages we consider will have the following symbols: (i) variables v 1, v 2, v 3,... ; (ii)

More information

Abstract Interpretation and Static Analysis

Abstract Interpretation and Static Analysis / 1 Abstract Interpretation and Static Analysis David Schmidt Kansas State University www.cis.ksu.edu/~schmidt Welcome! / 2 / 3 Four parts 1. Introduction to static analysis what it is and how to apply

More information

Static Analysis: Applications and Logics

Static Analysis: Applications and Logics Escuela 03 IV / 1 Static Analysis: Applications and Logics David Schmidt Kansas State University www.cis.ksu.edu/~schmidt Escuela 03 IV / 2 Outline 1. Applications: abstract testing and safety checking

More information

Lecture Notes on Compositional Reasoning

Lecture Notes on Compositional Reasoning 15-414: Bug Catching: Automated Program Verification Lecture Notes on Compositional Reasoning Matt Fredrikson Ruben Martins Carnegie Mellon University Lecture 4 1 Introduction This lecture will focus on

More information

Example. How to Guess What to Prove

Example. How to Guess What to Prove How to Guess What to Prove Example Sometimes formulating P (n) is straightforward; sometimes it s not. This is what to do: Compute the result in some specific cases Conjecture a generalization based on

More information

Lecture 1: Lattice(I)

Lecture 1: Lattice(I) Discrete Mathematics (II) Spring 207 Lecture : Lattice(I) Lecturer: Yi Li Lattice is a special algebra structure. It is also a part of theoretic foundation of model theory, which formalizes the semantics

More information

We ll start today by learning how to change a decimal to a fraction on our calculator! Then we will pick up our Unit 1-5 Review where we left off!

We ll start today by learning how to change a decimal to a fraction on our calculator! Then we will pick up our Unit 1-5 Review where we left off! Welcome to math! We ll start today by learning how to change a decimal to a fraction on our calculator! Then we will pick up our Unit 1-5 Review where we left off! So go back to your normal seat and get

More information

Lecture Notes on Programs with Arrays

Lecture Notes on Programs with Arrays 15-414: Bug Catching: Automated Program Verification Lecture Notes on Programs with Arrays Matt Fredrikson Ruben Martins Carnegie Mellon University Lecture 6 1 Introduction The previous lecture focused

More information

We are now going to go back to the concept of sequences, and look at some properties of sequences in R

We are now going to go back to the concept of sequences, and look at some properties of sequences in R 4 Lecture 4 4. Real Sequences We are now going to go back to the concept of sequences, and look at some properties of sequences in R Definition 3 A real sequence is increasing if + for all, and strictly

More information

Lecture 2: Continued fractions, rational approximations

Lecture 2: Continued fractions, rational approximations Lecture 2: Continued fractions, rational approximations Algorithmic Number Theory (Fall 204) Rutgers University Swastik Kopparty Scribe: Cole Franks Continued Fractions We begin by calculating the continued

More information

Static Program Analysis

Static Program Analysis Static Program Analysis Lecture 13: Abstract Interpretation III (Abstract Interpretation of WHILE Programs) Thomas Noll Lehrstuhl für Informatik 2 (Software Modeling and Verification) noll@cs.rwth-aachen.de

More information