Abstract Interpretation, or Non-Standard Semantics, or Picking the Right Abstraction
|
|
- Piers Stevenson
- 6 years ago
- Views:
Transcription
1 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 point values Homework 6 out, due Mon Mar 9 Just one short exercise 2 Announcements: Projects Project suggestions posted Project proposal due Sun Mar 8 Part of Homework 6 Project status update due Sun Mar 29 or Fri Mar 2 or Sun Mar 22? Project paper due Wed May 6 The Problem: Static Analysis It is extremely useful to predict program behavior statically (= without running the program) Why? What uses? 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 2 Denotational semantics of this language n = n e 1 * e 2 = e 1 e 2 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 2 ) = σ(e 1 ) σ(e 2 ) 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 e Exp. e γ(σ(e)) (the real value of the expression is among the concrete values represented by the abstract value of the expression)
3 Soundness can be stated succinctly e Exp. 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 e Exp. 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 2 ) = σ(e 1 ) op # σ (e 2 ) This is sound iff a 1 a 2. γ(a 1 op # a 2 ) {n 1 op n 2 n 1 γ(a 1 ), n 2 γ(a 2 )} e.g. γ(a 1 a 2 ) { n 1 * n 2 n 1 γ(a 1 ), n 2 γ(a 2 ) } 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 2 e We define σ( e) = σ(e) We extend the language to e ::= n e 1 * e 2 e We define σ( e) = σ(e) Now we add addition: e ::= n e 1 * e 2 e e 1 e 2 We define σ(e 1 e 2 ) = σ(e 1 ) σ(e 2 )
4 Adding Unary Minus and Addition Adding Addition We extend the language to e ::= n e 1 * e 2 e We define σ( e) = σ(e) Now we add addition: e ::= n e 1 * e 2 e e 1 e 2? We define σ(e 1 e 2 ) = σ(e 1 ) σ(e 2 )? 19 The sign values are not closed under addition What should be the value of? Start from the soundness condition: γ( ) { n 1 n 2 n 1 >, n 2 < } = Z We don t have an abstract value whose concretization includes Z, so we add one: ( top = don t know ) 2 Loss of Precision Loss of Precision Abstract computation may lose information: (1 2) 3 = but: σ((12) 3) = Abstract computation may lose information: (1 2) 3 = but: σ((12) 3) = (σ(1) σ(2)) σ(3) = ( ) = We lost some precision But this will simplify the computation of the abstract answer in cases when the precise answer is not computable Adding Division Issues? 23 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 We also use the same abstraction for nontermination! = nothing = something unknown 24 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 a 2 iff γ(a 1 ) γ(a 2 ) We say that a 1 is more precise than a 2! Every finite subset has a leastupper bound (lub) and a greatestlower bound (glb) 25 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 26 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) = 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) a } And the abstraction for sets α α : P() A α(s) = lub { β(x) x S } 29 onsider our sign lattice if n > β(n) = if n = if n < α(s) = lub { β(x) x S} Example: α ({1, 2}) = α ({1, }) = α ({}) = γ(a) = { n β(n) a } Example: γ () = { n β(n) } = γ () = γ () = 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, 2}) = lub { } = α ({1, }) = lub {, } = α ({}) = lub = γ(a) = { n β(n) a } Example: γ () = { n β(n) } = { n β(n) = } = { n n > } γ () = { n β(n) } = Z γ () = { n β(n) } = 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)) 32 orrectness ondition Three Little orrectness onditions In general, abstract interpretation satisfies the following (amazingly common) diagram denotation abstract semantics Exp σ ( ) A γ P() ( ) abstract domain abstraction function for sets α concretization function 33 Three conditions define a correct abstract interpretation 1. α and γ are monotonic 2. α and γ form a Galois connection = α and γ are almost inverses 3. Abstraction of operations is correct a 1 op # a 2 = α(γ(a 1 ) op γ(a 2 )) 34 For Next Time Read ousot s Abstract Interpretation Based Formal Methods and Future hallenges Read Thompson s Turing Award Lecture Project Proposal Review of Verification onditions 35 6
7 Additional Exercises What is the V for for i = e low to e high do Inv c 37 7
Abstract Interpretation, or Non-Standard Semantics, or Picking the Right Abstraction
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
More informationAbstract 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 informationAbstract 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 informationCMSC 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 informationIntroduction 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 informationAxiomatic 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 informationIntroduction 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 informationSoundness 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 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 informationDiscrete 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 informationCS422 - 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 informationCS 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 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 informationSection 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 informationInduction; 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 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 informationChapter 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 information6c 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 informationINF3170 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 informationDiscrete 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 informationCOSE312: 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 informationGeneralized 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 informationAAA616: 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 informationTruth-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 informationHoare Logic I. Introduction to Deductive Program Verification. Simple Imperative Programming Language. Hoare Logic. Meaning of Hoare Triples
Hoare Logic I Introduction to Deductive Program Verification Işıl Dillig Program Spec Deductive verifier FOL formula Theorem prover valid contingent Example specs: safety (no crashes), absence of arithmetic
More informationChapter 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 informationMath 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 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 informationHW 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 informationExamples: 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 informationNP and NP Completeness
CS 374: Algorithms & Models of Computation, Spring 2017 NP and NP Completeness Lecture 23 April 20, 2017 Chandra Chekuri (UIUC) CS374 1 Spring 2017 1 / 44 Part I NP Chandra Chekuri (UIUC) CS374 2 Spring
More informationSeptember 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 information15-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 informationSAT, NP, NP-Completeness
CS 473: Algorithms, Spring 2018 SAT, NP, NP-Completeness Lecture 22 April 13, 2018 Most slides are courtesy Prof. Chekuri Ruta (UIUC) CS473 1 Spring 2018 1 / 57 Part I Reductions Continued Ruta (UIUC)
More informationNP Completeness. CS 374: Algorithms & Models of Computation, Spring Lecture 23. November 19, 2015
CS 374: Algorithms & Models of Computation, Spring 2015 NP Completeness Lecture 23 November 19, 2015 Chandra & Lenny (UIUC) CS374 1 Spring 2015 1 / 37 Part I NP-Completeness Chandra & Lenny (UIUC) CS374
More informationCSE 105 Theory of Computation
CSE 105 Theory of Computation http://www.jflap.org/jflaptmp/ Professor Jeanne Ferrante 1 Undecidability Today s Agenda Review and More Problems A Non-TR Language Reminders and announcements: HW 7 (Last!!)
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 algebra
Foundations of algebra Equivalence relations - suggested problems - solutions P1: There are several relations that you are familiar with: Relations on R (or any of its subsets): Equality. Symbol: x = y.
More informationLecture 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 informationRelations. 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 informationarxiv: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 informationLecture 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 informationIntroduction 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 informationDiscrete 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 informationNotes 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 informationAbstract 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 informationCHAPTER 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 informationUndecidability 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 informationDiscrete 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 informationFormal Methods in Software Engineering
Formal Methods in Software Engineering An Introduction to Model-Based Analyis and Testing Vesal Vojdani Department of Computer Science University of Tartu Fall 2014 Vesal Vojdani (University of Tartu)
More information6.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 informationMIT Martin Rinard Laboratory for Computer Science Massachusetts Institute of Technology
MIT 6.035 Foundations of Dataflow Analysis Martin Rinard Laboratory for Computer Science Massachusetts Institute of Technology Dataflow Analysis Compile-Time Reasoning About Run-Time Values of Variables
More informationMaterial 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 informationCITS2211 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 informationMath 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 informationLecture 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 informationComplexity 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 informationCISC 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 informationGerwin 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 informationCSE 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 informationAbstract 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 informationCOSE212: Programming Languages. Lecture 1 Inductive Definitions (1)
COSE212: Programming Languages Lecture 1 Inductive Definitions (1) Hakjoo Oh 2018 Fall Hakjoo Oh COSE212 2018 Fall, Lecture 1 September 5, 2018 1 / 10 Inductive Definitions Inductive definition (induction)
More informationAxioms 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 informationAnnouncements. CS311H: Discrete Mathematics. Propositional Logic II. Inverse of an Implication. Converse of a Implication
Announcements CS311H: Discrete Mathematics Propositional Logic II Instructor: Işıl Dillig First homework assignment out today! Due in one week, i.e., before lecture next Wed 09/13 Remember: Due before
More informationCS 340: Discrete Structures for Engineers
CS 340: Discrete Structures for Engineers Instructor: Prof. Harry Porter Office: FAB 115-06 harry@cs.pdx.edu Hours: Mon 3-4, Wed 3-4, or by appointment Website: web.cecs.pdx.edu/~harry/discrete Class Mailing
More informationAdam 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 informationIf 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 informationExtensions 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 informationP 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 informationLecture 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 informationComputational 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 informationCMPSCI 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 informationDynamic 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 informationLecture 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 informationProblem 4 (Wed Jan 29) Let G be a finite abelian group. Prove that the following are equivalent
Last revised: May 16, 2014 A.Miller M542 www.math.wisc.edu/ miller/ Problem 1 (Fri Jan 24) (a) Find an integer x such that x = 6 mod 10 and x = 15 mod 21 and 0 x 210. (b) Find the smallest positive integer
More informationLecture 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 informationModal 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 information07 Equational Logic and Algebraic Reasoning
CAS 701 Fall 2004 07 Equational Logic and Algebraic Reasoning Instructor: W. M. Farmer Revised: 17 November 2004 1 What is Equational Logic? Equational logic is first-order logic restricted to languages
More informationCHAPTER 11. Introduction to Intuitionistic Logic
CHAPTER 11 Introduction to Intuitionistic Logic Intuitionistic logic has developed as a result of certain philosophical views on the foundation of mathematics, known as intuitionism. Intuitionism was originated
More informationMath 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 informationLogical Agents. Knowledge based agents. Knowledge based agents. Knowledge based agents. The Wumpus World. Knowledge Bases 10/20/14
0/0/4 Knowledge based agents Logical Agents Agents need to be able to: Store information about their environment Update and reason about that information Russell and Norvig, chapter 7 Knowledge based agents
More informationCHAPTER 2 INTRODUCTION TO CLASSICAL PROPOSITIONAL LOGIC
CHAPTER 2 INTRODUCTION TO CLASSICAL PROPOSITIONAL LOGIC 1 Motivation and History The origins of the classical propositional logic, classical propositional calculus, as it was, and still often is called,
More informationThe semantics of propositional logic
The semantics of propositional logic Readings: Sections 1.3 and 1.4 of Huth and Ryan. In this module, we will nail down the formal definition of a logical formula, and describe the semantics of propositional
More informationNondeterministic finite automata
Lecture 3 Nondeterministic finite automata This lecture is focused on the nondeterministic finite automata (NFA) model and its relationship to the DFA model. Nondeterminism is an important concept in the
More informationMathematics 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 informationConditional Logic and Belief Revision
Conditional Logic and Belief Revision Ginger Schultheis (vks@mit.edu) and David Boylan (dboylan@mit.edu) January 2017 History The formal study of belief revision grew out out of two research traditions:
More informationStatic 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 informationLecture 13: Soundness, Completeness and Compactness
Discrete Mathematics (II) Spring 2017 Lecture 13: Soundness, Completeness and Compactness Lecturer: Yi Li 1 Overview In this lecture, we will prvoe the soundness and completeness of tableau proof system,
More informationBetween proof theory and model theory Three traditions in logic: Syntactic (formal deduction)
Overview Between proof theory and model theory Three traditions in logic: Syntactic (formal deduction) Jeremy Avigad Department of Philosophy Carnegie Mellon University avigad@cmu.edu http://andrew.cmu.edu/
More information/633 Introduction to Algorithms Lecturer: Michael Dinitz Topic: Asymptotic Analysis, recurrences Date: 9/7/17
601.433/633 Introduction to Algorithms Lecturer: Michael Dinitz Topic: Asymptotic Analysis, recurrences Date: 9/7/17 2.1 Notes Homework 1 will be released today, and is due a week from today by the beginning
More informationLecture 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 informationLogic: The Big Picture
Logic: The Big Picture A typical logic is described in terms of syntax: what are the legitimate formulas semantics: under what circumstances is a formula true proof theory/ axiomatization: rules for proving
More informationThe Importance of Being Formal. Martin Henz. February 5, Propositional Logic
The Importance of Being Formal Martin Henz February 5, 2014 Propositional Logic 1 Motivation In traditional logic, terms represent sets, and therefore, propositions are limited to stating facts on sets
More informationCS411 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 informationPart III Logic. Theorems. Based on lectures by T. E. Forster Notes taken by Dexter Chua. Lent 2017
Part III Logic Theorems Based on lectures by T. E. Forster Notes taken by Dexter Chua Lent 2017 These notes are not endorsed by the lecturers, and I have modified them (often significantly) after lectures.
More informationDR.RUPNATHJI( DR.RUPAK NATH )
Contents 1 Sets 1 2 The Real Numbers 9 3 Sequences 29 4 Series 59 5 Functions 81 6 Power Series 105 7 The elementary functions 111 Chapter 1 Sets It is very convenient to introduce some notation and terminology
More informationPhil Introductory Formal Logic
Phil 134 - Introductory Formal Logic Lecture 4: Formal Semantics In this lecture we give precise meaning to formulae math stuff: sets, pairs, products, relations, functions PL connectives as truth-functions
More informationOverview of Today s Lecture
Branden Fitelson Philosophy 4515 (Advanced Logic) Notes 1 Overview of Today s Lecture Administrative Stuff HW #1 grades and solutions have been posted Please make sure to work through the solutions HW
More informationClassical First-Order Logic
Classical First-Order Logic Software Formal Verification Maria João Frade Departmento de Informática Universidade do Minho 2008/2009 Maria João Frade (DI-UM) First-Order Logic (Classical) MFES 2008/09
More informationStatic 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