By that, every path can be analyzed :-) A given program may admit several paths :-( For any given input, another path may be chosen :-((

Size: px
Start display at page:

Download "By that, every path can be analyzed :-) A given program may admit several paths :-( For any given input, another path may be chosen :-(("

Transcription

1 [x = M[e];] A = (A {e})\expr x [M[e 1 ] = e 2 ;] A = A {e 1,e 2 } By that, every path can be analyzed :-) A given program may admit several paths :-( For any given input, another path may be chosen :-(( == We require the set: A[v] = {[π] π : start v} 42

2 Concretely: We consider all pathsπ which reach v. For every path π, we determine the set of expressions which are available along π. Initially at program start, nothing is available :-) We compute the intersection == safe information How do we exploit this information??? 43

3 Concretely: We consider all pathsπ which reach v. For every path π, we determine the set of expressions which are available along π. Initially at program start, nothing is available :-) We compute the intersection == safe information How do we exploit this information??? 44

4 Transformation 1.1: We provide novel registers T e as storage for thee: u v x = e; u v T e = e; x = T e ; 45

5 Transformation 1.1: We provide novel registers T e as storage for thee: u u x = e; T e = e; v x = T e ; v Neg(e) u Pos(e) u T e = e; v v Neg(T e ) Pos(T e ) v v 46

6 ... analogously for R = M[e]; and M[e 1 ] = e 2 ;. Transformation 1.2: If e is available at program point u, then e need not be re-evaluated: u e A[u] u T e = e; ; We replace the assignment withnop :-) 47

7 Example: x = y +3; x = y +3; x = 7; z = y +3; x = 7; z = y +3; 48

8 Example: T = y +3; x = y +3; x = 7; z = y +3; x = T; x = 7; T = y +3; z = T; 49

9 Example: x = y +3; x = 7; z = y +3; {y +3} {y +3} {y +3} {y +3} {y +3} T = y +3; x = T; x = 7; T = y +3; z = T; 50

10 Example: x = y +3; x = 7; z = y +3; {y +3} {y +3} {y +3} {y +3} {y +3} T = y +3; x = T; x = 7; ; z = T; 51

11 Correctness: (Idea) Transformation 1.1 preserves the semantics and A[u] for all program pointsu :-) Assume π : start u is the path taken by a computation. If e A[u], then alsoe [π]. Therefore, π can be decomposed into: with the following properties: π 1 k π 2 start u 1 u 2 u 52

12 The expression e is evaluated at the edge k; The expression e is not removed from the set of available expressions at any edge inπ 2, i.e., no variable ofereceives a new value :-) == The register T e contains the value of e whenever u is reached :-)) 53

13 The expression e is evaluated at the edge k; The expression e is not removed from the set of available expressions at any edge inπ 2, i.e., no variable ofereceives a new value :-) == The register T e contains the value of e whenever u is reached :-)) 54

14 Warning: Transformation 1.1 is only meaningful for assignments x = e; where: e Vars; the evaluation of e is non-trivial :-} Which leaves open whether... 55

15 Warning: Transformation 1.1 is only meaningful for assignments x = e; where: x Vars(e); e Vars; the evaluation of e is non-trivial :- } Which leaves us with the following question... 56

16 Question: How do we computea[u] for every program point u?? Idea: We collect all restrictions to the values ofa[u] into a system of constraints: A[start] A[v] [k] (A[u]) k = (u, _,v) edge 57

17 Question: How can we compute A[u] for every program point u?? Idea: We collect all restrictions to the values ofa[u] into a system of constraints: A[start] A[v] [k] (A[u]) k = (u, _,v) edge 58

18 Wanted: a maximally large solution (??) an algorithm which computes this :-) Example: Neg(x > 1) y = 1; Pos(x > 1) 2 y = x y; 3 x = x 1; 4 59

19 Wanted: a maximally large solution (??) an algorithm which computes this :-) Example: 0 y = 1; A[0] Neg(x > 1) 5 1 Pos(x > 1) 2 y = x y; 3 x = x 1; 4 60

20 Wanted: a maximally large solution (??) an algorithm which computes this :-) Example: 0 y = 1; A[0] Neg(x > 1) 1 Pos(x > 1) A[1] (A[0] {1})\Expr y A[1] A[4] 5 2 y = x y; 3 x = x 1; 4 61

21 Wanted: a maximally large solution (??) an algorithm which computes this :-) Example: 0 y = 1; A[0] Neg(x > 1) 1 Pos(x > 1) A[1] (A[0] {1})\Expr y A[1] A[4] 5 2 y = x y; A[2] A[1] {x > 1} 3 x = x 1; 4 62

22 Wanted: a maximally large solution (??) an algorithm which computes this :-) Example: 0 y = 1; A[0] Neg(x > 1) 1 Pos(x > 1) A[1] (A[0] {1})\Expr y A[1] A[4] 5 2 y = x y; A[2] A[1] {x > 1} A[3] (A[2] {x y})\expr y 3 x = x 1; 4 63

23 Wanted: a maximally large solution (??) an algorithm which computes this :-) Example: 0 y = 1; A[0] Neg(x > 1) 1 Pos(x > 1) A[1] (A[0] {1})\Expr y A[1] A[4] 5 2 y = x y; A[2] A[1] {x > 1} A[3] (A[2] {x y})\expr y 3 A[4] (A[3] {x 1})\Expr x x = x 1; 4 64

24 Wanted: a maximally large solution (??) an algorithm which computes this :-) Example: 0 y = 1; A[0] Neg(x > 1) 1 Pos(x > 1) A[1] (A[0] {1})\Expr y A[1] A[4] 5 2 y = x y; A[2] A[1] {x > 1} A[3] (A[2] {x y})\expr y 3 A[4] (A[3] {x 1})\Expr x 4 x = x 1; A[5] A[1] {x > 1} 65

25 Wanted: a maximally large solution (??) an algorithm which computes this :-) Example: 0 Solution: y = 1; Neg(x > 1) 1 Pos(x > 1) A[0] = A[1] = {1} y = x y; x = x 1; A[2] = {1,x > 1} A[3] = {1,x > 1} A[4] = {1} A[5] = {1,x > 1} 66

26 Observation: The possible values for A[u] form a complete lattice: D = 2 Expr with B 1 B 2 iff B 1 B 2 The functions [k] : D D are monotonic, i.e., [k] (B 1 ) [k] (B 2 ) gdw. B 1 B 2 67

27 Observation: The possible values for A[u] form a complete lattice: D = 2 Expr with B 1 B 2 iff B 1 B 2 The functions [k] : D D are monotonic, i.e., [k] (B 1 ) [k] (B 2 ) iff B 1 B 2 68

28 Background 2: Complete Lattices A set D together with a relation all a,b,c D, D D is a partial order if for a a a b b a = a = b a b b c = a c reflexivity anti symmetry transitivity Examples: 1. D = 2 {a,b,c} with the relation : a,b,c a,b a,c b,c a b c 69

29 2. Z with the relation = : Z with the relation : Z = Z { } with the ordering:

30 d D is called upper bound for X D if x d for all x X d is called least upper bound (lub) if 1. d is an upper bound and 2. d y for every upper bound y of X. Caveat: has no upper bound! has the upper bounds 71

31 d D is called upper bound for X D if x d for all x X d is called least upper bound (lub) if 1. d is an upper bound and 2. d y for every upper bound y of X. Caveat: has no upper bound! has the upper bounds 72

32 d D is called upper bound for X D if x d for all x X d is called least upper bound (lub) if 1. d is an upper bound and 2. d y for every upper bound y of X. Caveat: {0,2,4,...} Z has no upper bound! {0,2,4} Z has the upper bounds 4,5,6,... 73

33 A complete lattice (cl) D is a partial ordering where every subset X D has a least upper bound X D. Note: Every complete lattice has a least element = D; a greatest element = D D. 74

34 Examples: 1. D = 2 {a,b,c} is a cl :-) 2. D = Z with = is not. 3. D = Z with is neither. 4. D = Z is also not :-( 5. With an extra element, we obtain the flat lattice Z = Z {, } :

35 We have: Theorem: If D is a complete lattice, then every subset X D has a greatest lower bound X. Proof: Construct U = {u D x X : u x}. // the set of all lower bounds of X :-) Set: g := U Claim: g = X 76

36 We have: Theorem: If D is a complete lattice, then every subset X D has a greatest lower bound X. Proof: Construct U = {u D x X : u x}. // the set of all lower bounds of X :-) Set: g := U Claim: g = X 77

37 We have: Theorem: If D is a complete lattice, then every subset X D has a greatest lower bound X. Proof: Construct U = {u D x X : u x}. // the set of all lower bounds of X :-) Set: g := U Claim: g = X 78

38 (1) g is a lower bound ofx : Assume x X. Then: u x for all u U == x is an upper bound of U == g x :-) (2) g is the greatest lower bound of X : Assume u is a lower bound ofx. Then: u U == u g :-)) 79

39 (1) g is a lower bound ofx : Assume x X. Then: u x for all u U == x is an upper bound of U == g x :-) (2) g is the greatest lower bound of X : Assume u is a lower bound ofx. Then: u U == u g :-)) 80

40 81

41 82

42 83

43 We are looking for solutions for systems of constraints of the form: x i f i (x 1,...,x n ) ( ) 84

44 We are looking for solutions for systems of constraints of the form: x i f i (x 1,...,x n ) ( ) where: x i unknown here: A[u] D values here: 2 Expr D D ordering relation here: f i :D n D constraint here:... Constraint for A[v] : A[v] {[k] (A[u]) k = (u, _,v) edge} Because: x d 1... x d k iff x {d 1,...,d k } :-) 85

45 We are looking for solutions for systems of constraints of the form: x i f i (x 1,...,x n ) ( ) where: x i unknown here: A[u] D values here: 2 Expr D D ordering relation here: f i :D n D constraint here:... Constraint for A[v] (v start): A[v] {[k] (A[u]) k = (u, _,v) edge} Because: x d 1... x d k iff x {d 1,...,d k } :-) 86

46 We are looking for solutions for systems of constraints of the form: x i f i (x 1,...,x n ) ( ) where: x i unknown here: A[u] D values here: 2 Expr D D ordering relation here: f i :D n D constraint here:... Constraint for A[v] (v start): A[v] {[k] (A[u]) k = (u, _,v) edge} Because: x d 1... x d k iff x {d 1,...,d k } :-) 87

47 A mapping f : D 1 D 2 is called monotonic, if f(a) f(b) for all a b. 88

48 A mapping f : D 1 D 2 is called monotonic, if f(a) f(b) for all a b. Examples: (1) D 1 = D 2 = 2 U for a set U and f x = (x a) b. Obviously, every such f is monotonic :-) 89

49 A mapping f : D 1 D 2 is called monotonic, is f(a) f(b) for all a b. Examples: (1) D 1 = D 2 = 2 U for a set U and f x = (x a) b. Obviously, every such f is monotonic :-) (2) D 1 = D 2 = Z (with the ordering ). Then: incx = x+1 is monotonic. decx = x 1 is monotonic. textbullet 90

50 A mapping f : D 1 D 2 is called monotonic, is f(a) f(b) for all a b. Examples: (1) D 1 = D 2 = 2 U for a set U and f x = (x a) b. Obviously, every such f is monotonic :-) (2) D 1 = D 2 = Z (with the ordering ). Then: incx = x+1 is monotonic. decx = x 1 is monotonic. invx = x is not monotonic :-) 91

51 Theorem: If f 1 : D 1 D 2 and f 2 : D 2 D 3 are monotonic, then also f 2 f 1 : D 1 D 3 :-) 92

Static Program Analysis

Static Program Analysis Reinhard Wilhelm Universität des Saarlandes Static Program Analysis Slides based on: Beihang University June 2012 H. Seidl, R. Wilhelm, S. Hack: Compiler Design, Volume 3, Analysis and Transformation,

More information

Static Program Analysis. Seidl/Wilhelm/Hack: Compiler Design Analysis and Transformation, Springer Verlag, 2012

Static Program Analysis. Seidl/Wilhelm/Hack: Compiler Design Analysis and Transformation, Springer Verlag, 2012 Static Program Analysis Seidl/Wilhelm/Hack: Compiler Design Analysis and Transformation, Springer Verlag, 2012 1 A Short History of Static Program Analysis Early high-level programming languages were implemented

More information

(Pre-)Algebras for Linguistics

(Pre-)Algebras for Linguistics 1. Review of Preorders Linguistics 680: Formal Foundations Autumn 2010 (Pre-)Orders and Induced Equivalence A preorder on a set A is a binary relation ( less than or equivalent to ) on A which is reflexive

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

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

What does the partial order "mean"?

What does the partial order mean? What does the partial order "mean"? Domain theory developed by Dana Scott and Gordon Plotkin in the late '60s use partial order to represent (informally): approximates carries more information than better

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

{x : P (x)} P (x) = x is a cat

{x : P (x)} P (x) = x is a cat 1. Sets, relations and functions. 1.1. Set theory. We assume the reader is familiar with elementary set theory as it is used in mathematics today. Nonetheless, we shall now give a careful treatment of

More information

Relations, Functions, Binary Relations (Chapter 1, Sections 1.2, 1.3)

Relations, Functions, Binary Relations (Chapter 1, Sections 1.2, 1.3) Relations, Functions, Binary Relations (Chapter 1, Sections 1.2, 1.3) CmSc 365 Theory of Computation 1. Relations Definition: Let A and B be two sets. A relation R from A to B is any set of ordered pairs

More information

REAL VARIABLES: PROBLEM SET 1. = x limsup E k

REAL VARIABLES: PROBLEM SET 1. = x limsup E k REAL VARIABLES: PROBLEM SET 1 BEN ELDER 1. Problem 1.1a First let s prove that limsup E k consists of those points which belong to infinitely many E k. From equation 1.1: limsup E k = E k For limsup E

More information

Semantics and Verification of Software

Semantics and Verification of Software Semantics and Verification of Software Thomas Noll Software Modeling and Verification Group RWTH Aachen University http://moves.rwth-aachen.de/teaching/ws-1718/sv-sw/ Recap: The Denotational Approach Semantics

More information

Denotational Semantics

Denotational Semantics 5 Denotational Semantics In the operational approach, we were interested in how a program is executed. This is contrary to the denotational approach, where we are merely interested in the effect of executing

More information

Clones (3&4) Martin Goldstern. TACL Olomouc, June Discrete Mathematics and Geometry, TU Wien

Clones (3&4) Martin Goldstern. TACL Olomouc, June Discrete Mathematics and Geometry, TU Wien Martin Goldstern Discrete Mathematics and Geometry, TU Wien TACL Olomouc, June 2017 Galois connections Let A, B be sets, R A B. For any S A and any T B let S u := {b B a S : arb} T l := {a A b T : arb}.

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

Lecture 2. Least Fixed Points

Lecture 2. Least Fixed Points Lecture 2 Least Fixed Points 20 Thesis All domains of computation are partial orders with a least element. All computable functions are mononotic. 21 Partially ordered sets A binary relation on a set D

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

Goal. Partially-ordered set. Game plan 2/2/2013. Solving fixpoint equations

Goal. Partially-ordered set. Game plan 2/2/2013. Solving fixpoint equations Goal Solving fixpoint equations Many problems in programming languages can be formulated as the solution of a set of mutually recursive equations: D: set, f,g:dxd D x = f(x,y) y = g(x,y) Examples Parsing:

More information

The overlap algebra of regular opens

The overlap algebra of regular opens The overlap algebra of regular opens Francesco Ciraulo Giovanni Sambin Abstract Overlap algebras are complete lattices enriched with an extra primitive relation, called overlap. The new notion of overlap

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

Number Axioms. P. Danziger. A Group is a set S together with a binary operation (*) on S, denoted a b such that for all a, b. a b S.

Number Axioms. P. Danziger. A Group is a set S together with a binary operation (*) on S, denoted a b such that for all a, b. a b S. Appendix A Number Axioms P. Danziger 1 Number Axioms 1.1 Groups Definition 1 A Group is a set S together with a binary operation (*) on S, denoted a b such that for all a, b and c S 0. (Closure) 1. (Associativity)

More information

Rings and Fields Theorems

Rings and Fields Theorems Rings and Fields Theorems Rajesh Kumar PMATH 334 Intro to Rings and Fields Fall 2009 October 25, 2009 12 Rings and Fields 12.1 Definition Groups and Abelian Groups Let R be a non-empty set. Let + and (multiplication)

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

Set, functions and Euclidean space. Seungjin Han

Set, functions and Euclidean space. Seungjin Han Set, functions and Euclidean space Seungjin Han September, 2018 1 Some Basics LOGIC A is necessary for B : If B holds, then A holds. B A A B is the contraposition of B A. A is sufficient for B: If A holds,

More information

Tutorial Obtain the principal disjunctive normal form and principal conjunction form of the statement

Tutorial Obtain the principal disjunctive normal form and principal conjunction form of the statement Tutorial - 1 1. Obtain the principal disjunctive normal form and principal conjunction form of the statement Let S P P Q Q R P P Q Q R A: P Q Q R P Q R P Q Q R Q Q R A S Minterm Maxterm T T T F F T T T

More information

Continuity of partially ordered soft sets via soft Scott topology and soft sobrification A. F. Sayed

Continuity of partially ordered soft sets via soft Scott topology and soft sobrification A. F. Sayed Bulletin of Mathematical Sciences and Applications Online: 2014-08-04 ISSN: 2278-9634, Vol. 9, pp 79-88 doi:10.18052/www.scipress.com/bmsa.9.79 2014 SciPress Ltd., Switzerland Continuity of partially ordered

More information

Introductory Analysis I Fall 2014 Homework #5 Solutions

Introductory Analysis I Fall 2014 Homework #5 Solutions Introductory Analysis I Fall 2014 Homework #5 Solutions 6. Let M be a metric space, let C D M. Now we can think of C as a subset of the metric space M or as a subspace of the metric space D (D being a

More information

Notes for Math 290 using Introduction to Mathematical Proofs by Charles E. Roberts, Jr.

Notes for Math 290 using Introduction to Mathematical Proofs by Charles E. Roberts, Jr. Notes for Math 290 using Introduction to Mathematical Proofs by Charles E. Roberts, Jr. Chapter : Logic Topics:. Statements, Negation, and Compound Statements.2 Truth Tables and Logical Equivalences.3

More information

A Discrete Duality Between Nonmonotonic Consequence Relations and Convex Geometries

A Discrete Duality Between Nonmonotonic Consequence Relations and Convex Geometries A Discrete Duality Between Nonmonotonic Consequence Relations and Convex Geometries Johannes Marti and Riccardo Pinosio Draft from April 5, 2018 Abstract In this paper we present a duality between nonmonotonic

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

Data Cleaning and Query Answering with Matching Dependencies and Matching Functions

Data Cleaning and Query Answering with Matching Dependencies and Matching Functions Data Cleaning and Query Answering with Matching Dependencies and Matching Functions Leopoldo Bertossi 1, Solmaz Kolahi 2, and Laks V. S. Lakshmanan 2 1 Carleton University, Ottawa, Canada. bertossi@scs.carleton.ca

More information

cse303 ELEMENTS OF THE THEORY OF COMPUTATION Professor Anita Wasilewska

cse303 ELEMENTS OF THE THEORY OF COMPUTATION Professor Anita Wasilewska cse303 ELEMENTS OF THE THEORY OF COMPUTATION Professor Anita Wasilewska LECTURE 3 CHAPTER 1 SETS, RELATIONS, and LANGUAGES 6. Closures and Algorithms 7. Alphabets and Languages 8. Finite Representation

More information

Sets and Motivation for Boolean algebra

Sets and Motivation for Boolean algebra SET THEORY Basic concepts Notations Subset Algebra of sets The power set Ordered pairs and Cartesian product Relations on sets Types of relations and their properties Relational matrix and the graph of

More information

MAD 3105 PRACTICE TEST 2 SOLUTIONS

MAD 3105 PRACTICE TEST 2 SOLUTIONS MAD 3105 PRACTICE TEST 2 SOLUTIONS 1. Let R be the relation defined below. Determine which properties, reflexive, irreflexive, symmetric, antisymmetric, transitive, the relation satisfies. Prove each answer.

More information

cse303 ELEMENTS OF THE THEORY OF COMPUTATION Professor Anita Wasilewska

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

More information

Concrete Domains. Gilles Kahn INRIA Sophia Antipolis Gordon D. Plotkin University of Edinburgh

Concrete Domains. Gilles Kahn INRIA Sophia Antipolis Gordon D. Plotkin University of Edinburgh Concrete Domains Gilles Kahn INRIA Sophia Antipolis Gordon D. Plotkin University of Edinburgh May 21, 1993 Abstract This paper introduces the theory of a particular kind of computation domains called concrete

More information

Spring Based on Partee, ter Meulen, & Wall (1993), Mathematical Methods in Linguistics

Spring Based on Partee, ter Meulen, & Wall (1993), Mathematical Methods in Linguistics 1 / 17 L545 Spring 2013 Based on Partee, ter Meulen, & Wall (1993), Mathematical Methods in Linguistics 2 / 17 Why set theory? Set theory sets the foundation for much of mathematics For us: provides precise

More information

Introduction to data-flow analysis. Data-flow analysis. Control-flow graphs. Data-flow analysis. Example: liveness. Requirements

Introduction to data-flow analysis. Data-flow analysis. Control-flow graphs. Data-flow analysis. Example: liveness. Requirements Data-flow analysis Michel Schinz based on material by Erik Stenman and Michael Schwartzbach Introduction to data-flow analysis Data-flow analysis Example: liveness Data-flow analysis is a global analysis

More information

Connectors and generalized connectedness

Connectors and generalized connectedness Connectors and generalized connectedness Victor Porton 77711, Metzada 107-39, Ashdod, Israel Abstract I define connectors and generalized connectedness which generalizes topological connectedness, path

More information

Formal Methods in Software Engineering

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

Axioms of separation

Axioms of separation Axioms of separation These notes discuss the same topic as Sections 31, 32, 33, 34, 35, and also 7, 10 of Munkres book. Some notions (hereditarily normal, perfectly normal, collectionwise normal, monotonically

More information

1 The Local-to-Global Lemma

1 The Local-to-Global Lemma Point-Set Topology Connectedness: Lecture 2 1 The Local-to-Global Lemma In the world of advanced mathematics, we are often interested in comparing the local properties of a space to its global properties.

More information

MATH1050 Greatest/least element, upper/lower bound

MATH1050 Greatest/least element, upper/lower bound MATH1050 Greatest/ element, upper/lower bound 1 Definition Let S be a subset of R x λ (a) Let λ S λ is said to be a element of S if, for any x S, x λ (b) S is said to have a element if there exists some

More information

Real Analysis. Joe Patten August 12, 2018

Real Analysis. Joe Patten August 12, 2018 Real Analysis Joe Patten August 12, 2018 1 Relations and Functions 1.1 Relations A (binary) relation, R, from set A to set B is a subset of A B. Since R is a subset of A B, it is a set of ordered pairs.

More information

Filters on posets and generalizations

Filters on posets and generalizations Filters on posets and generalizations Victor Porton 78640, Shay Agnon 32-29, Ashkelon, Israel Abstract They are studied in details properties of filters on lattices, filters on posets, and certain generalizations

More information

A Logician s Toolbox

A Logician s Toolbox A Logician s Toolbox 461: An Introduction to Mathematical Logic Spring 2009 We recast/introduce notions which arise everywhere in mathematics. All proofs are left as exercises. 0 Notations from set theory

More information

CS 455/555: Finite automata

CS 455/555: Finite automata CS 455/555: Finite automata Stefan D. Bruda Winter 2019 AUTOMATA (FINITE OR NOT) Generally any automaton Has a finite-state control Scans the input one symbol at a time Takes an action based on the currently

More information

Verification of Real-Time Systems Numerical Abstractions

Verification of Real-Time Systems Numerical Abstractions Verification of Real-Time Systems Numerical Abstractions Jan Reineke Advanced Lecture, Summer 2015 Recap: From Local to Global Correctness: Kleene Iteration Abstract Domain F # F #... F # γ a γ a γ a Concrete

More information

Notes on Ordered Sets

Notes on Ordered Sets Notes on Ordered Sets Mariusz Wodzicki September 10, 2013 1 Vocabulary 1.1 Definitions Definition 1.1 A binary relation on a set S is said to be a partial order if it is reflexive, x x, weakly antisymmetric,

More information

0 Sets and Induction. Sets

0 Sets and Induction. Sets 0 Sets and Induction Sets A set is an unordered collection of objects, called elements or members of the set. A set is said to contain its elements. We write a A to denote that a is an element of the set

More information

A Game-Theoretic Decision Procedure for the Constructive Description Logic calc

A Game-Theoretic Decision Procedure for the Constructive Description Logic calc A Game-Theoretic Decision Procedure for the Constructive Description Logic calc Martin Sticht University of Bamberg, Informatics Theory Group Abstract In recent years, several languages of non-classical

More information

Step 1: Transform the program such that each program point v is reached by at most one definition of a variable x which is live at v.

Step 1: Transform the program such that each program point v is reached by at most one definition of a variable x which is live at v. Generalization: Static Single Assignment Form We proceed in two phases: Step 1: Transform the program such that each program point v is reached by at most one definition of a variable x which is live at

More information

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

Lecture 7: Relations

Lecture 7: Relations Lecture 7: Relations 1 Relation Relation between two objects signify some connection between them. For example, relation of one person being biological parent of another. If we take any two people at random,

More information

Definitions. Notations. Injective, Surjective and Bijective. Divides. Cartesian Product. Relations. Equivalence Relations

Definitions. Notations. Injective, Surjective and Bijective. Divides. Cartesian Product. Relations. Equivalence Relations Page 1 Definitions Tuesday, May 8, 2018 12:23 AM Notations " " means "equals, by definition" the set of all real numbers the set of integers Denote a function from a set to a set by Denote the image of

More information

arxiv: v1 [cs.pl] 19 May 2016

arxiv: v1 [cs.pl] 19 May 2016 arxiv:1605.05858v1 [cs.pl] 19 May 2016 Domain Theory: An Introduction Robert Cartwright Rice University Rebecca Parsons ThoughtWorks, Inc. Moez AbdelGawad SRTA-City Hunan University This monograph is an

More information

Chapter 1. Sets and Numbers

Chapter 1. Sets and Numbers Chapter 1. Sets and Numbers 1. Sets A set is considered to be a collection of objects (elements). If A is a set and x is an element of the set A, we say x is a member of A or x belongs to A, and we write

More information

Describing the Real Numbers

Describing the Real Numbers Describing the Real Numbers Anthony Várilly Math 25a, Fall 2001 1 Introduction The goal of these notes is to uniquely describe the real numbers by taking certain statements as axioms. This exercise might

More information

MONOTONE SUBNETS IN PARTIALLY ORDERED SETS

MONOTONE SUBNETS IN PARTIALLY ORDERED SETS MONOTONE SUBNETS IN PARTIALLY ORDERED SETS R. W. HANSELL 1. Introduction. Let X be a partially ordered set (poset) with respect to a relation ^. We assume, for convenience of notation only, that X has

More information

Contribution of Problems

Contribution of Problems Exam topics 1. Basic structures: sets, lists, functions (a) Sets { }: write all elements, or define by condition (b) Set operations: A B, A B, A\B, A c (c) Lists ( ): Cartesian product A B (d) Functions

More information

Assignment 1: Functions of several variables.

Assignment 1: Functions of several variables. Assignment 1: Functions of several variables. 1. State TRUE or FALSE giving proper justification for each of the following statements. (a) There eists a continuous function f : R R 2 such that f(cos n)

More information

CLASS12 RELATIONS AND FUNCTIONS

CLASS12 RELATIONS AND FUNCTIONS CLASS12 RELATIONS AND FUNCTIONS Deepak sir 9811291604 Relations and functions, domain, co-domain and range have been introduced in Class XI along with different types of specific real valued functions

More information

KRIPKE S THEORY OF TRUTH 1. INTRODUCTION

KRIPKE S THEORY OF TRUTH 1. INTRODUCTION KRIPKE S THEORY OF TRUTH RICHARD G HECK, JR 1. INTRODUCTION The purpose of this note is to give a simple, easily accessible proof of the existence of the minimal fixed point, and of various maximal fixed

More information

Class Notes on Poset Theory Johan G. Belinfante Revised 1995 May 21

Class Notes on Poset Theory Johan G. Belinfante Revised 1995 May 21 Class Notes on Poset Theory Johan G Belinfante Revised 1995 May 21 Introduction These notes were originally prepared in July 1972 as a handout for a class in modern algebra taught at the Carnegie-Mellon

More information

Linear Algebra. Chapter Linear Equations

Linear Algebra. Chapter Linear Equations Chapter 3 Linear Algebra Dixit algorizmi. Or, So said al-khwarizmi, being the opening words of a 12 th century Latin translation of a work on arithmetic by al-khwarizmi (ca. 78 84). 3.1 Linear Equations

More information

Ultimate approximation and its application in nonmonotonic knowledge representation systems

Ultimate approximation and its application in nonmonotonic knowledge representation systems Ultimate approximation and its application in nonmonotonic knowledge representation systems Marc Denecker Department of Computer Science, K.U.Leuven Celestijnenlaan 200A, B-3001 Heverlee Département d

More information

Data flow analysis. DataFlow analysis

Data flow analysis. DataFlow analysis Data flow analysis DataFlow analysis compile time reasoning about the runtime flow of values in the program represent facts about runtime behavior represent effect of executing each basic block propagate

More information

Section Summary. Relations and Functions Properties of Relations. Combining Relations

Section Summary. Relations and Functions Properties of Relations. Combining Relations Chapter 9 Chapter Summary Relations and Their Properties n-ary Relations and Their Applications (not currently included in overheads) Representing Relations Closures of Relations (not currently included

More information

Generalizing Data-flow Analysis

Generalizing Data-flow Analysis Generalizing Data-flow Analysis Announcements PA1 grades have been posted Today Other types of data-flow analysis Reaching definitions, available expressions, reaching constants Abstracting data-flow analysis

More information

Closure operators on sets and algebraic lattices

Closure operators on sets and algebraic lattices Closure operators on sets and algebraic lattices Sergiu Rudeanu University of Bucharest Romania Closure operators are abundant in mathematics; here are a few examples. Given an algebraic structure, such

More information

Lecture Notes: Selected Topics in Discrete Structures. Ulf Nilsson

Lecture Notes: Selected Topics in Discrete Structures. Ulf Nilsson Lecture Notes: Selected Topics in Discrete Structures Ulf Nilsson Dept of Computer and Information Science Linköping University 581 83 Linköping, Sweden ulfni@ida.liu.se 2004-03-09 Contents Chapter 1.

More information

Complete Partial Orders, PCF, and Control

Complete Partial Orders, PCF, and Control Complete Partial Orders, PCF, and Control Andrew R. Plummer TIE Report Draft January 2010 Abstract We develop the theory of directed complete partial orders and complete partial orders. We review the syntax

More information

Reading: Chapter 9.3. Carnegie Mellon

Reading: Chapter 9.3. Carnegie Mellon I II Lecture 3 Foundation of Data Flow Analysis Semi-lattice (set of values, meet operator) Transfer functions III Correctness, precision and convergence IV Meaning of Data Flow Solution Reading: Chapter

More information

The Real Number System

The Real Number System MATH 337 The Real Number System Sets of Numbers Dr. Neal, WKU A set S is a well-defined collection of objects, with well-defined meaning that there is a specific description from which we can tell precisely

More information

2. Prime and Maximal Ideals

2. Prime and Maximal Ideals 18 Andreas Gathmann 2. Prime and Maximal Ideals There are two special kinds of ideals that are of particular importance, both algebraically and geometrically: the so-called prime and maximal ideals. Let

More information

MATH 409 Advanced Calculus I Lecture 10: Continuity. Properties of continuous functions.

MATH 409 Advanced Calculus I Lecture 10: Continuity. Properties of continuous functions. MATH 409 Advanced Calculus I Lecture 10: Continuity. Properties of continuous functions. Continuity Definition. Given a set E R, a function f : E R, and a point c E, the function f is continuous at c if

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

ANNIHILATOR IDEALS IN ALMOST SEMILATTICE

ANNIHILATOR IDEALS IN ALMOST SEMILATTICE BULLETIN OF THE INTERNATIONAL MATHEMATICAL VIRTUAL INSTITUTE ISSN (p) 2303-4874, ISSN (o) 2303-4955 www.imvibl.org /JOURNALS / BULLETIN Vol. 7(2017), 339-352 DOI: 10.7251/BIMVI1702339R Former BULLETIN

More information

1. Tarski consequence and its modelling

1. Tarski consequence and its modelling Bulletin of the Section of Logic Volume 36:1/2 (2007), pp. 7 19 Grzegorz Malinowski THAT p + q = c(onsequence) 1 Abstract The famous Tarski s conditions for a mapping on sets of formulas of a language:

More information

A strongly rigid binary relation

A strongly rigid binary relation A strongly rigid binary relation Anne Fearnley 8 November 1994 Abstract A binary relation ρ on a set U is strongly rigid if every universal algebra on U such that ρ is a subuniverse of its square is trivial.

More information

Inquiry Calculus and the Issue of Negative Higher Order Informations

Inquiry Calculus and the Issue of Negative Higher Order Informations Article Inquiry Calculus and the Issue of Negative Higher Order Informations H. R. Noel van Erp, *, Ronald O. Linger and Pieter H. A. J. M. van Gelder,2 ID Safety and Security Science Group, TU Delft,

More information

Contents: 1. Minimization. 2. The theorem of Lions-Stampacchia for variational inequalities. 3. Γ -Convergence. 4. Duality mapping.

Contents: 1. Minimization. 2. The theorem of Lions-Stampacchia for variational inequalities. 3. Γ -Convergence. 4. Duality mapping. Minimization Contents: 1. Minimization. 2. The theorem of Lions-Stampacchia for variational inequalities. 3. Γ -Convergence. 4. Duality mapping. 1 Minimization A Topological Result. Let S be a topological

More information

Thus, X is connected by Problem 4. Case 3: X = (a, b]. This case is analogous to Case 2. Case 4: X = (a, b). Choose ε < b a

Thus, X is connected by Problem 4. Case 3: X = (a, b]. This case is analogous to Case 2. Case 4: X = (a, b). Choose ε < b a Solutions to Homework #6 1. Complete the proof of the backwards direction of Theorem 12.2 from class (which asserts the any interval in R is connected). Solution: Let X R be a closed interval. Case 1:

More information

COMP 182 Algorithmic Thinking. Relations. Luay Nakhleh Computer Science Rice University

COMP 182 Algorithmic Thinking. Relations. Luay Nakhleh Computer Science Rice University COMP 182 Algorithmic Thinking Relations Luay Nakhleh Computer Science Rice University Chapter 9, Section 1-6 Reading Material When we defined the Sorting Problem, we stated that to sort the list, the elements

More information

A Class of Partially Ordered Sets: III

A Class of Partially Ordered Sets: III A Class of Partially Ordered Sets: III by Geoffrey Hemion 1 Definitions To begin with, let us fix a certain notation. Let the pair (X, ) be a given poset. For a X, let a = {x X : x < a} and a = {x X :

More information

Closed Sets of Functions and Closed Sets of Relations. Matthew Cook

Closed Sets of Functions and Closed Sets of Relations. Matthew Cook Closed Sets of Functions and Closed Sets of Relations Matthew Cook The goal of this talk: To explain (with proof) the Galois connection between closed sets of functions and closed sets of relations. About

More information

Isomorphisms between pattern classes

Isomorphisms between pattern classes Journal of Combinatorics olume 0, Number 0, 1 8, 0000 Isomorphisms between pattern classes M. H. Albert, M. D. Atkinson and Anders Claesson Isomorphisms φ : A B between pattern classes are considered.

More information

Economics 204 Summer/Fall 2017 Lecture 1 Monday July 17, 2017

Economics 204 Summer/Fall 2017 Lecture 1 Monday July 17, 2017 Economics 04 Summer/Fall 07 Lecture Monday July 7, 07 Section.. Methods of Proof We begin by looking at the notion of proof. What is a proof? Proof has a formal definition in mathematical logic, and a

More information

A general Stone representation theorem

A general Stone representation theorem arxiv:math/0608384v1 [math.lo] 15 Aug 2006 A general Stone representation theorem Mirna; after a paper by A. Jung and P. Sünderhauf and notes by G. Plebanek September 10, 2018 This note contains a Stone-style

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

Artificial Intelligence

Artificial Intelligence Artificial Intelligence Propositional Logic [1] Boolean algebras by examples U X U U = {a} U = {a, b} U = {a, b, c} {a} {b} {a, b} {a, c} {b, c}... {a} {b} {c} {a, b} {a} The arrows represents proper inclusion

More information

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, SI 5535, Spring 1 Announcements Homework 7 due today No new homework today Work on your projects! Project status

More information

CHAPTER 7. Connectedness

CHAPTER 7. Connectedness CHAPTER 7 Connectedness 7.1. Connected topological spaces Definition 7.1. A topological space (X, T X ) is said to be connected if there is no continuous surjection f : X {0, 1} where the two point set

More information

The Knaster-Tarski Fixed Point Theorem for Complete Partial Orders

The Knaster-Tarski Fixed Point Theorem for Complete Partial Orders The Knaster-Tarski Fixed Point Theorem for Complete Partial Orders Stephen Forrest October 31, 2005 Complete Lattices Let (X, ) be a be partially ordered set, and let S X. Then S ( the meet of S ) denotes

More information

6.8 The Post Correspondence Problem

6.8 The Post Correspondence Problem 6.8. THE POST CORRESPONDENCE PROBLEM 423 6.8 The Post Correspondence Problem The Post correspondence problem (due to Emil Post) is another undecidable problem that turns out to be a very helpful tool for

More information

Algebraic Trace Theory

Algebraic Trace Theory Algebraic Trace Theory EE249 Roberto Passerone Material from: Jerry R. Burch, Trace Theory for Automatic Verification of Real-Time Concurrent Systems, PhD thesis, CMU, August 1992 October 21, 2002 ee249

More information

Automata extended to nominal sets

Automata extended to nominal sets Bachelor thesis Computer Science Radboud University Automata extended to nominal sets Author: Joep Veldhoven s4456556 First supervisor/assessor: Jurriaan Rot jrot@cs.ru.nl Second and third supervisor:

More information

Exam 2 extra practice problems

Exam 2 extra practice problems Exam 2 extra practice problems (1) If (X, d) is connected and f : X R is a continuous function such that f(x) = 1 for all x X, show that f must be constant. Solution: Since f(x) = 1 for every x X, either

More information

Definition 1. A set V is a vector space over the scalar field F {R, C} iff. there are two operations defined on V, called vector addition

Definition 1. A set V is a vector space over the scalar field F {R, C} iff. there are two operations defined on V, called vector addition 6 Vector Spaces with Inned Product Basis and Dimension Section Objective(s): Vector Spaces and Subspaces Linear (In)dependence Basis and Dimension Inner Product 6 Vector Spaces and Subspaces Definition

More information

Today. Binary relations establish a relationship between elements of two sets

Today. Binary relations establish a relationship between elements of two sets Today Relations Binary relations and properties Relationship to functions n-ary relations Definitions Binary relations establish a relationship between elements of two sets Definition: Let A and B be two

More information

We define a dataflow framework. A dataflow framework consists of:

We define a dataflow framework. A dataflow framework consists of: So far been talking about various dataflow problems (e.g. reaching definitions, live variable analysis) in very informal terms. Now we will discuss a more fundamental approach to handle many of the dataflow

More information