Foundations of Abstract Interpretation

Size: px
Start display at page:

Download "Foundations of Abstract Interpretation"

Transcription

1 Escuela 03 II / 1 Foundations of Abstract Interpretation David Schmidt Kansas State University

2 Escuela 03 II / 2 Outline 1. Lattices and continuous functions 2. Galois connections, closures, and Moore families 3. Soundness and completeness of operations on abstract data 4. Soundness and completeness of execution trace computation

3 Escuela 03 II / 3 Data sets are complete lattices A complete lattice is a partially ordered set, with unique minimal and maximal elements, and with greatest-lower-bound and least-upper-bound operations: top all notpos notneg {notpos, notneg} = zero neg zero pos {zero, notpos, notneg} = all { } = all bottom none { } = none

4 Escuela 03 II / 4 Here is a more precise definition: A complete lattice, L = D,,,,,, consists of a set, D, and a partial ordering,, on D a smallest element, (such that d, for all d D) and a greatest element, (such that d, for all d D) a least upper bound operation,, such that, for all S D, d S, for all d S, and for all other upper bounds, c D, such that d c, for all d S, we have that S c a greatest lower bound operation,, defined dually to the above: S d, for all d S, and when c d, for all d S, we have that c S

5 Escuela 03 II / 5 The first example is the complete lattice, (Int),, { }, Int,, ; the next two are abstractions of it: {..., 1,0,1,2,... } all { 0,1,3,6,10,... } notpos notneg {..., 1,0 } { 2, 1,0,1,2,3 } { 1,3,5,... } neg zero none pos { 1,0 } { 1 } { 1,1 } { 1, 3 } { 0 } { 1 } any { } even odd none

6 Escuela 03 II / 6 Monotonic and chain-continuous functions Given complete lattices, A and B, we say that a function, f : A B, is monotonic iff for all a, a A, a A a implies f(a) B f(a ) A monotonic function preserves the precision of information in its argument. Say that we have an ω-chain, a 0 A a 1 A... A a i A a i+1 A... A function, f : A B, is ω-continuous iff i 0 f(a i ) = f( i 0 An ω-continuous function preserves the limit of information in a a i ) chain. Conventional computation employs monotonic and ω-continuous functions, so it is no restriction to use only them.

7 Escuela 03 II / 7 Galois connections Given a complete lattice of concrete (execution) data, C, and a simpler complete lattice of abstract data, A, we relate the two by α : C A that will act like a homomorphism when we study the operations on C. It will be useful that α have an inverse,, γ: Definition: For complete lattices C and A, and monotonic functions, α : C A, γ : A C, the pair, α, γ form a Galois connection, written C α, γ A, iff c C γ α(c) and α γ(a) A a. γ α

8 Escuela 03 II / 8 The maps α and γ are inverse maps on each other s image: { 0,1,2,... } γ any { 0,1,3,6,10,... } { 0,2,4,... } { 0,1,...,9 } { 1,3,5,... } α even odd { 0, 2 } { 0 } { 0, 1 } { 2 } { 1 } { 1, 3 } none { } That is, for all c γ[a], c = γ α(c); for all a α[c], a = α γ(a). α is ω-continuous (and even preserves for arbitrary sets in C); γ preserves for arbitrary sets in A. Each map uniquely defines the other: γ(a) = {c α(c) A a} and α(c) = {a c C γ(a)}

9 Escuela 03 II / 9 The previous fact suggests this alternative characterization of Galois connection: Proposition: For complete lattices C and A, the pair, α : C A, γ : A C, is a Galois connection when, for all c C and a A, c C γ(a) iff α(c) A a. γ ( a ) c iff a α (c) From this definition, we can prove that both α and γ are monotonic, that c C γ α(c), and that α γ(a) A a.

10 Escuela 03 II / 10 Galois connections are closed under composition, product, and so on: If C α, γ D and D α, γ E are Galois connections, then so is C α α, γ γ E If C i α i, γ i D i is a Galois connection, for all i I, then so is Π i I C i Π i I α i, Π i I γ i Π i I D i. If C α C, γ C C and D α D, γ D D are Galois connections, then so is C D (λf.α D f γ C ), (λf.γ D f α C ) C D. {..., 1,0,1,2,... } {..., 2, 1,0 } { 0,1,2,3,... } { 1,0,1,...,9 } { 0, 1 } { 0, 1 } { 1, 3 } { 1 } { 0 } { 1 }... { } all notpos notneg neg neg zero pos none Composition of Galois connections all none notneg

11 Escuela 03 II / 11 Why do we require the elaborate structure of a Galois connection? 1. If we are certain about the precise definition of γ : A C, we can mechanically synthesize the its adjoint, α(c) = {a c C γ(a)}. (Or, dually, if we are certain about α, we can synthesize γ as γ(a) = {c α(c) A a}. ) 2. We obtain many mathematical properties about α, expressed in terms of its adjoint, γ (and vice versa). 3. Since we intend to use α : C A as a homomorphism from C to A, we can use α and its adjoint γ to synthesize abstract operations: For each f : C C, we can synthesize f # : A A, such that α is a homomorphism with respect to f and f #. (We will see that f # = α f γ.)

12 Escuela 03 II / 12 Closure maps For C α, γ A, it is common that α is onto. This means A embeds into C as a sublattice: { 0,1,2,... } any { 0,1,3,6,10,... } { 0,2,4,... } { 0,1,...,9 } { 1,3,5,... } even odd { 0, 2 } { 0 } { 0, 1 } { 2 } { 1 } { 1, 3 } none { } A s elements are mere tokens that name distinguished sets in C. Definition: ρ : C C is a closure map if it is (i)monotonic; (ii)extensive: c C ρ(c), for all c C; (iii)idempotent: ρ ρ = ρ.

13 Escuela 03 II / 13 A closure map defines the embedding: { 0,1,2,... } { 0,1,3,6,10,... } ρ {0,2} = {0,2,4,...} { 0,2,4,... } { 0,1,...,9 } { 1,3,5,... } ρ {0,2,4,...} = {0,2,4,...} { 0, 2 } { 0, 1 } { 1, 3 }... ρ {0,1,...,9} = {0,1,2,...} { 0 } { 2 } { 1 }... { } Every Galois connection, C α, γ A, defines a closure map, γ α. Every closure map, ρ : C C, defines the Galois connection, C ρ, id ρ[c].

14 Escuela 03 II / 14 Moore families Given C, can we define a closure map on it by choosing some elements of C? The answer is yes, if the elements of C we select are closed under greatest-lower-bounds: Definition: M C is a Moore family iff for all S M, ( S) M. We can define a closure map as ρ(c) = {c M c C c }. For a closure map, ρ : C C, its image, ρ[c], is a Moore family. Given C, we can define an abstract interpretation by selecting some M C that is a Moore family!

15 Escuela 03 II / 15 Closed binary relations Often a Galois connection uses a powerset for its concrete domain, that is, (D) α, γ A. This format yields a simple characterization: Given unordered set D and complete lattice A, it is natural to relate the elements in D to those in A by a binary relation, R D A, such that (d, a) R means d has property a. We write this as d R a or as d = R a. Example: D = Int, and A = {none, neg, pos, zero, nonneg, nonpos, any}. Then, 2 R nonneg, 2 R pos, and 2 R any. (Or we write, 2 = R nonneg, 2 = R pos, and 2 = R any.) We immediately define the function, γ : A (D), as γ(a) = {d D d R a} For example, γ(nonneg) = {0, 1, 2,...}.

16 Escuela 03 II / 16 We can check if γ is the upper adjoint of a Galois connection, say, by showing that γ[a] defines a Moore family. But we can check for this directly upon R: Proposition: R D A defines a Galois connection between (D) and A iff (i) R is U-closed: c R a and a A a imply c R a ; (ii) R is G-closed: c R {a c R a}. If R defines a Galois connection, then we have this crucial property: for all a A and C (D), C γ(a) iff α(c) A a iff (c R a, for all c C). This is of course the definition of a Galois connection, and in this sense, R is a Galois connection.

17 Escuela 03 II / 17 A recipe for abstract-domain building Given an unordered set, D, of concrete data values, we might ask, What are the properties about D that I wish to calculate? Can I relate these properties, a A, to elements d D via a UG-closed binary relation, R D D A? Given a set, A, and relation, R D D A, 1. Define γ : A (D) as γ(a) = {d d R D a}. 2. Define this partial ordering on A: a a iff γ(a) γ(a ). (If there are distinct a, a A such that γ(a) = γ(a ), then merge them.) This forces U-closure. 3. Ensure that γ[a] is a Moore family by adding greatest-lower-bound elements to A as needed. This forces G-closure. 4. Use the existing machinery to define the Galois connection between (D) and A.

18 Escuela 03 II / 18 Example: Abstracting the Program State The concrete storage vector is a product, Store = Π i Identifier Data and the concrete program state is a ProgramPoint Store pair. Example: p 1, x : 3, y : 4 is a program state. Say that we have the relation, R Data Data AbsData, and we have the induced Galois connection, (Data) α Data, γ Data AbsData. Now, we can build Galois connections that abstract the store and the state. A concrete store is related to an abstract store: x i : v i i Id R Store x i : a i i Id, iff, for all i Id, v i R Data a i Example: x : 3, y : 4 R Store x : any, y : even. This produces a Galois connection, (Store) α Store, γ Store AbsStore,

19 Escuela 03 II / 19 where AbsStore = Π i Identifier AbsData and γ x i : a i i Id = { x i : v i i Id v i γ Data (a i ), for all i Id} α Store (S) = s S α(s(i)) i Id For example, γ Store x : even, y : odd = { x : 0, y : 1, x : 0, y : 3, x : 2, y : 1,...} A program point is abstracted to itself: p R PP p, suggesting that the abstract domain of program points might be merely AbsPP = ProgramPoint {, }. ( and are needed to make AbsPP a complete lattice.) Finally, we can relate a concrete state to an abstract one: p, s R State p, σ iff p R PP p and s R Store σ Hence, γ State (p i, σ) = {p i, s s γ Store (σ)}.

20 Escuela 03 II / 20 Concrete and abstract operations Now that we know how to model c C by α(c) A, we must model concrete computation steps, f : C C, by abstract computation steps, f # : A A. Example: We have concrete domain, Nat, and concrete operation, succ : Nat Nat, defined as succ(n) = n + 1. We have abstract domain, Parity, and abstract operation, succ # : Parity Parity, defined as succ # (even) = odd, succ # (any) = any, succ # (odd) = even succ # (none) = none succ # must be consistent (sound) with respect to succ: if n R Nat a, then succ(n) R Nat succ # (a) where R Nat Parity relates numbers to their parities (e.g., 2 R Nat even, 5 R Nat odd, etc.).

21 Escuela 03 II / 21 We want soundness: n R Nat a implies succ(n) R Nat succ # (a), for all n Nat and a Parity. Since we have the Galois connection, (Nat) α, γ Parity, we know that γ(a) = {n n R Nat a}. So, soundness is stated equivalently as for all a A, for all n γ(a), succ(n) γ(succ # (a)) and this is equivalent to saying, for all a A, succ (γ(a)) Nat γ(succ # (a)) that is, for all a A, (succ γ)(a) Nat (γ succ # )(a) where succ : (Nat) (Nat) is succ (S) = {succ(n) n S}. This is interesting, because it states a commutative, semi-homorphism property...

22 Escuela 03 II / 22 Definition: For Galois connection, C α, γ A, and functions f : C C, f # : A A, f # is a sound approximation of f iff (α f)(c) A (f # α)(c), for all c C iff (f γ)(a) C (γ f # )(a), for all a A This slightly abstract presentation exposes that α is a semi-homomorphism with respect to f and f # : α c α ( c ) f f # α f( c ) α ( f( c ) ) f # ( α ( c ) )

23 Escuela 03 II / 23 Example 1: n R Nat a implies succ(n) R Nat succ # (a) Galois connection: (Nat) α, γ Parity succ : (Nat) (Nat) succ (S) = {succ(n) n S} where succ(n) = n + 1 succ # : Parity Parity succ # (even) = odd, succ # (odd) = even succ # (any) = any, succ # (none) = none We have that α succ = succ # α: {2,6} α succ * {3,7} α odd even odd succ #

24 Escuela 03 II / 24 Example 2: n R Nat a implies div2(n) R Nat div2 # (a) Galois connection: (Nat) α, γ Parity div2 : (Nat) (Nat) div2 (S) = {div2(n) n S} where div2(2n + 1) = div2(2n) = n div2 # : Parity Parity div2 # (even) = div2 # (odd) = any div2 # (any) = any, div2 # (none) = none We have that α div2 Parity div2 # α: α {6} div2 * even div2 # α {3} odd any

25 Escuela 03 II / 25 Synthesizing f # from f The previous slides show how α acts as a semi-homomorphism between f and f #. Given the Galois connection, C α, γ A, and operation, f : C C, the most precise f # best : A A that is sound with respect to f is f # best = α f γ Proposition: f # is sound with respect to f iff f # best A A f #. (Note: f A A g iff for all a A, f(a) A g(a).) Of course, f # best has a mathematical definition not an algorithmic one f # best might not be finitely computable! Parity example continued: succ # best (even) = α succ (γ even) = α(succ {2n n 0}) = α{2n + 1 n 0} = odd

26 Escuela 03 II / 26 One more example: Given (Nat) α, γ Parity and div2 : Nat Nat, we have div2 : (Nat) (Nat) div2 (S) = div2[s] = {div2(n) n S} Hence, div2 # best = α div2 γ. The operation loses precision: α(div2 {4}) = α{2} = even, but div2 # best (even) = α(div2 (γ(even))) = α(div2 {0, 2, 4,...}) = α{1, 2, 3,...} = any Nonetheless, this is the best we can do, given the crude structure of the abstract domain, Parity.

27 Escuela 03 II / 27 Completeness Given C α, γ A, we state soundness of f # with respect to f as α f A A f # α iff f γ C C γ f # Definition: f # is forwards (γ) complete with respect to f iff f γ = C C γ f # Definition: f # is backwards (α) complete with respect to f iff α f = A A f # α The two completeness notions are not equivalent! For an f # to be (forwards or backwards) complete, it must equal f # best = α f γ. Indeed, the structure of the Galois connection and f : C C determines whether f # best is complete.

28 Escuela 03 II / 28 Forwards (γ) completeness: f # best is forwards-complete iff f maps image points of γ to image points of γ f(γ[a]) γ[a]. f f Backwards (α) completeness: f # best is backwards-complete iff f maps all points in the same α-equivalence class to points in the same α-equivalence class α(c) = α(c ) implies α(f(c)) = α(f(c )). f

29 Escuela 03 II / 29 Transfer functions generate computation steps Each program transition from program point p i to p j has an associated transfer function, f ij : C C (or f # ij : A A), which describes the associated computation. This defines a computation step of the form, p i, s p j, f ij (s). Example: Assignment p 0 : x = x + 1; p 1 : has the transfer function, f 01...x : n... =...x : n For example, p 0, x : 3 p 1, f 01 x : 3 = p 1, x : 4. For modelling multiple transitions in conditional/nondeterministic choice, we attach a transfer function to each possible transition. p 0 : cases x y: p 1 : y = y - x; Example: For y x: p 2 : x = x - y; end

30 Escuela 03 II / 30 For p 0 : cases x y: p 1 : y = y - x; y x: p 2 : x = x - y; end we have these functions: s if s.x s.y f 01 (s) = otherwise s if s.y s.x f 02 (s) = otherwise For example, p 0, x : 5, y : 3 p 1,, because x y, but p 0, x : 5, y : 3 p 2, x : 5, y : 3, because y x. The transfer functions filter the data that arrives at a program point. We ignore computation steps, p, s p,, that produce no data ( ). An execution trace is a (possibly infinite) sequence, p 0, s 0 p 1, s 1 p j, s j, such that, for all i 0: p i, s i p succ(i), f i,succ(i) (s i ) no s i equals.

31 Escuela 03 II / 31 Using the f # s to build sound, abstract trace trees p 0 : while (x!= 1) { p 1 : if Even(x) p 2 : then x = x div2; p 3 : else x = 3*x + 1; } p 4 : exit Note: p i, v abbreviates p i, x : v Abstract overapproximating trace: p 4, odd p 0, even p 1, even p 2, even p 0, any p 3, odd p 1, any Two concrete traces: p 0, 4 p 1, 4 p 2, 4 p 0, 2 p 1, 2 p 2, 2 p 0, 1 p 4, 1 p 0, 6 p 1, 6 p 2, 6 p 0, 3 p 1, 3 p 2, 3 p 0, 10 p 4, 1 Each concrete transition is generated by an f ij ; each abstract transition is generated by the corresponding f # ij.

32 Escuela 03 II / 32 Each concrete transition, p i, s p j, f ij (s), is reproduced by a corresponding abstract transition, p i, a p j, f # ij (a), where s γ(a). For example, p 2 : x = x div2 is interpreted concretely by f 20 (2n) = n = f 20 (2n + 1) and is interpreted abstractly by f # 20 (even) = any = f# 20 (odd) = f# 20 (any). The traces embedded in the abstract trace tree cover (simulate) the concrete traces, e.g., this concrete trace, p 0, 4 p 1, 4 p 2, 4 p 0, 2 p 1, 2 p 2, 2 p 0, 1 p 4, 1 is simulated by this abstract trace, which is extracted from the abstract computation tree: p 0, even p 1, even p 2, even p 0, any p 1, any p 2, even p 0, any p 4, odd and indeed, all concrete traces starting with p 0, 2n, n >= 0, are simulated by the abstract tree in this manner.

33 Escuela 03 II / 33 Proof of soundness of trace construction For S C and a A, say that S R a iff S C γ(a) iff α(s) A a. Lemma: α f A A f # α iff f γ C C γ f # iff S R a implies f(s) R f # (a). Theorem: For every concrete trace, (p i, s i ) i 0, there exists an abstract trace, (p i, a i ) i 0, such that for all i 0, {s i } R a i. Proof: We use the Lemma and induction to assemble this diagram: p 0, s 0 p 1, f 0 (s 0 ) = p 1, s 1 p 2, f 1 (s 1 ) = p 2, s 2 p i, s i R R R R p 0, a 0 p 1, f # 0 (a 0) = p 1, a 1 p 2, f # 1 (a 1) = p 2, a 2 p i, a i (Note: each s i in the diagram is more precisely stated as {s i }, because C = (Store).) Due to imprecision of the f # s, the abstract trace tree may possess many traces that begin with p 0, a 0, but there is always one trace in the tree that simulates the concrete trace.

34 Escuela 03 II / 34 When all the operations, f # ij, are complete with respect to the f ijs, the previous result is strengthened: Say that S R a iff α(s) = a. (Similarly, say that S R a iff S = γ(a).) In both cases, the lemma holds: Lemma: α f = A A f # α iff S R a implies f(s) R f # (a). (Similarly, f γ = C C γ f # iff S R a implies f(s) R f # (a).) Theorem (α-completeness): When S R a iff α(s) = a, then for every concrete trace, (p i, s i ) i 0, there exists an abstract trace, (p i, a i ) i 0, such that for all i 0, {s i } R a i. Theorem (γ-completeness): When S R a iff γ(a) = S, S Store, then for every trace on sets of stores, (p i, S i ) i 0, there exists an abstract trace, (p i, a i ) i 0, such that for all i 0, S i R a i.

35 Escuela 03 II / 35 References P. Cousot and R. Cousot. Abstract interpretation: a unified lattice model for static analysis of programs by construction or approximation of fixpoints. ACM POPL P. Cousot and R. Cousot. Systematic design of program analysis frameworks. ACM POPL, P. Cousot. Slides for invited lecture at VMCAI 2003, New York City. R. Giacobazzi, F. Ranzato, and F. Scozzari. Making abstract interpretations complete. Journal ACM 47(2) R. Giacobazzi and E. Quinterelli. Incompleteness, counterexamples, and refinements in abstract model-checking. SAS 2001, Springer LNCS D. Schmidt. Structure-preserving binary relations for program abstraction. In The Essence of Computation: Complexity, Analysis, Transformation. Springer LNCS 2566, 2002.

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

Abstract Interpretation from a Topological Perspective

Abstract Interpretation from a Topological Perspective (-: / 1 Abstract Interpretation from a Topological Perspective David Schmidt Kansas State University www.cis.ksu.edu/ schmidt Motivation and overview of results (-: / 2 (-: / 3 Topology studies convergent

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

Mechanics of Static Analysis

Mechanics of Static Analysis Escuela 03 III / 1 Mechanics of Static Analysis David Schmidt Kansas State University www.cis.ksu.edu/~schmidt Escuela 03 III / 2 Outline 1. Small-step semantics: trace generation 2. State generation and

More information

Abstract Interpretation from a Topological Perspective

Abstract Interpretation from a Topological Perspective Abstract Interpretation from a Topological Perspective David A. Schmidt Kansas State University, Manhattan, Kansas, USA Abstract. Topology is the study of property sets (open sets) and continuous functions

More information

Internal and External Logics of Abstract Interpretations

Internal and External Logics of Abstract Interpretations Internal and External Logics of Abstract Interpretations David A. Schmidt Kansas State University, Manhattan, Kansas, USA Abstract. We show that every abstract interpretation possesses an internal logic,

More information

BASIC CONCEPTS OF ABSTRACT INTERPRETATION

BASIC CONCEPTS OF ABSTRACT INTERPRETATION BASIC CONCEPTS OF ABSTRACT INTERPRETATION Patrick Cousot École Normale Supérieure 45 rue d Ulm 75230 Paris cedex 05, France Patrick.Cousot@ens.fr Radhia Cousot CNRS & École Polytechnique 91128 Palaiseau

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

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

Structure-Preserving Binary Relations for Program Abstraction

Structure-Preserving Binary Relations for Program Abstraction Structure-Preserving Binary Relations for Program Abstraction David A. Schmidt Computing and Information Sciences Department Kansas State University Manhattan, KS 66506 USA. Abstract. An abstraction is

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

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

Weak Relative Pseudo-Complements of Closure Operators

Weak Relative Pseudo-Complements of Closure Operators Weak Relative Pseudo-Complements of Closure Operators Roberto Giacobazzi Catuscia Palamidessi Francesco Ranzato Dipartimento di Informatica, Università di Pisa Corso Italia 40, 56125 Pisa, Italy giaco@di.unipi.it

More information

Abstract interpretation from a denotational semantics perspective

Abstract interpretation from a denotational semantics perspective (-: / 1 Abstract interpretation from a denotational semantics perspective David Schmidt Kansas State University www.cis.ksu.edu/~schmidt (-: / 2 Thank you, Bob Tennent... for your contributions to programming-languages

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

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

Basic Concepts of Abstract Interpretation

Basic Concepts of Abstract Interpretation Programming Research Laboratory Seoul National University Basic Concepts of Abstract Interpretation Soonho Kong http://ropas.snu.ac.kr/ soon/ May 25, 2007 Work of P. Cousot and R.Cousot Basic Concepts

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

Static Program Analysis using Abstract Interpretation

Static Program Analysis using Abstract Interpretation Static Program Analysis using Abstract Interpretation Introduction Static Program Analysis Static program analysis consists of automatically discovering properties of a program that hold for all possible

More information

MIT Martin Rinard Laboratory for Computer Science Massachusetts Institute of Technology

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

«ATutorialon Abstract Interpretation»

«ATutorialon Abstract Interpretation» «ATutorialon Abstract Interpretation» Patrick Cousot École normale supérieure 45 rue d Ulm 75230 Paris cedex 05, France Patrick.Cousot@ens.fr www.di.ens.fr/~cousot VMCAI 05 Industrial Day VMCAI 05 Industrial

More information

«Specification and Abstraction of Semantics» 1. Souvenir, Souvenir. Neil D. Jones. Contents. A Tribute Workshop and Festival to Honor Neil D.

«Specification and Abstraction of Semantics» 1. Souvenir, Souvenir. Neil D. Jones. Contents. A Tribute Workshop and Festival to Honor Neil D. «Specification and Abstraction of Semantics» Patrick Cousot Radhia Cousot École normale supérieure CNRS & École polytechnique 45 rue d Ulm Route de Saclay 7530 Paris cedex 05, France 9118 Palaiseau Cedex,

More information

Inverse-Limit and Topological Aspects of Abstract Interpretation

Inverse-Limit and Topological Aspects of Abstract Interpretation Inverse-Limit and Topological Aspects of Abstract Interpretation David A. Schmidt a,1 a Computing and Information Sciences Dept., Kansas State University, Manhattan, KS 66506, USA Abstract We develop abstract-interpretation

More information

Equational Logic. Chapter Syntax Terms and Term Algebras

Equational Logic. Chapter Syntax Terms and Term Algebras Chapter 2 Equational Logic 2.1 Syntax 2.1.1 Terms and Term Algebras The natural logic of algebra is equational logic, whose propositions are universally quantified identities between terms built up from

More information

Logical specification and coinduction

Logical specification and coinduction Logical specification and coinduction Robert J. Simmons Carnegie Mellon University, Pittsburgh PA 15213, USA, rjsimmon@cs.cmu.edu, WWW home page: http://www.cs.cmu.edu/ rjsimmon Abstract. The notion of

More information

Abstraction in Program Analysis & Model Checking. Abstraction in Model Checking. Motivations & Results

Abstraction in Program Analysis & Model Checking. Abstraction in Model Checking. Motivations & Results On Completeness in Abstract Model Checking from the Viewpoint of Abstract Interpretation Abstraction in Program Analysis & Model Checking Abstract interpretation has been successfully applied in: static

More information

Universal Algebra for Logics

Universal Algebra for Logics Universal Algebra for Logics Joanna GRYGIEL University of Czestochowa Poland j.grygiel@ajd.czest.pl 2005 These notes form Lecture Notes of a short course which I will give at 1st School on Universal Logic

More information

Cours M.2-6 «Interprétation abstraite: applications à la vérification et à l analyse statique» Examen partiel. Patrick Cousot.

Cours M.2-6 «Interprétation abstraite: applications à la vérification et à l analyse statique» Examen partiel. Patrick Cousot. Master Parisien de Recherche en Informatique École normale supérieure Année scolaire 2010/2011 Cours M.2-6 «Interprétation abstraite: applications à la vérification et à l analyse statique» Examen partiel

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

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

Complementing Logic Program Semantics

Complementing Logic Program Semantics Complementing Logic Program Semantics Roberto Giacobazzi Francesco Ranzato Dipartimento di Informatica, Università di Pisa Corso Italia 40, 56125 Pisa, Italy giaco@di.unipi.it Dipartimento di Matematica

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

AN EXPLORATION OF THE METRIZABILITY OF TOPOLOGICAL SPACES

AN EXPLORATION OF THE METRIZABILITY OF TOPOLOGICAL SPACES AN EXPLORATION OF THE METRIZABILITY OF TOPOLOGICAL SPACES DUSTIN HEDMARK Abstract. A study of the conditions under which a topological space is metrizable, concluding with a proof of the Nagata Smirnov

More information

Partial model checking via abstract interpretation

Partial model checking via abstract interpretation Partial model checking via abstract interpretation N. De Francesco, G. Lettieri, L. Martini, G. Vaglini Università di Pisa, Dipartimento di Ingegneria dell Informazione, sez. Informatica, Via Diotisalvi

More information

Lattices, closure operators, and Galois connections.

Lattices, closure operators, and Galois connections. 125 Chapter 5. Lattices, closure operators, and Galois connections. 5.1. Semilattices and lattices. Many of the partially ordered sets P we have seen have a further valuable property: that for any two

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

First In-Class Exam Solutions Math 410, Professor David Levermore Monday, 1 October 2018

First In-Class Exam Solutions Math 410, Professor David Levermore Monday, 1 October 2018 First In-Class Exam Solutions Math 40, Professor David Levermore Monday, October 208. [0] Let {b k } k N be a sequence in R and let A be a subset of R. Write the negations of the following assertions.

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

Data-Flow Analysis. Compiler Design CSE 504. Preliminaries

Data-Flow Analysis. Compiler Design CSE 504. Preliminaries Data-Flow Analysis Compiler Design CSE 504 1 Preliminaries 2 Live Variables 3 Data Flow Equations 4 Other Analyses Last modifled: Thu May 02 2013 at 09:01:11 EDT Version: 1.3 15:28:44 2015/01/25 Compiled

More information

Making Abstract Interpretations Complete

Making Abstract Interpretations Complete Making Abstract Interpretations Complete ROBERTO GIACOBAZZI Università di Verona, Verona, Italy FRANCESCO RANZATO Università di Padova, Padova, Italy AND FRANCESCA SCOZZARI École Polytechnique, Palaiseau,

More information

The non-logical symbols determine a specific F OL language and consists of the following sets. Σ = {Σ n } n<ω

The non-logical symbols determine a specific F OL language and consists of the following sets. Σ = {Σ n } n<ω 1 Preliminaries In this chapter we first give a summary of the basic notations, terminology and results which will be used in this thesis. The treatment here is reduced to a list of definitions. For the

More information

Free and Finitely Presented Lattices

Free and Finitely Presented Lattices C h a p t e r 2 Free and Finitely Presented Lattices by R. Freese and J. B. Nation This is an extended version of our chapter in the book LatticeTheory: Special Topics and Applications, vol 2, edited by

More information

1. The Method of Coalgebra

1. The Method of Coalgebra 1. The Method of Coalgebra Jan Rutten CWI Amsterdam & Radboud University Nijmegen IMS, Singapore - 15 September 2016 Overview of Lecture one 1. Category theory (where coalgebra comes from) 2. Algebras

More information

The role of the overlap relation in constructive mathematics

The role of the overlap relation in constructive mathematics The role of the overlap relation in constructive mathematics Francesco Ciraulo Department of Mathematics and Computer Science University of PALERMO (Italy) ciraulo@math.unipa.it www.math.unipa.it/ ciraulo

More information

arxiv:math/ v1 [math.gm] 21 Jan 2005

arxiv:math/ v1 [math.gm] 21 Jan 2005 arxiv:math/0501341v1 [math.gm] 21 Jan 2005 SUBLATTICES OF LATTICES OF ORDER-CONVEX SETS, I. THE MAIN REPRESENTATION THEOREM MARINA SEMENOVA AND FRIEDRICH WEHRUNG Abstract. For a partially ordered set P,

More information

Computational Methods in Systems and Synthetic Biology

Computational Methods in Systems and Synthetic Biology Computational Methods in Systems and Synthetic Biology François Fages EPI Contraintes, Inria Paris-Rocquencourt, France 1 / 62 Need for Abstractions in Systems Biology Models are built in Systems Biology

More information

Gödel s Completeness Theorem

Gödel s Completeness Theorem A.Miller M571 Spring 2002 Gödel s Completeness Theorem We only consider countable languages L for first order logic with equality which have only predicate symbols and constant symbols. We regard the symbols

More information

A hierarchy of Constraint Systems for Data-Flow Analysis of Constraint Logic-Based Languages

A hierarchy of Constraint Systems for Data-Flow Analysis of Constraint Logic-Based Languages A hierarchy of Constraint Systems for Data-Flow Analysis of Constraint Logic-Based Languages Roberto Bagnara Dipartimento di Informatica, Università di Pisa, Corso Italia 40, 56125 Pisa, Italy Abstract

More information

A NEW CHARACTERIZATION OF COMPLETE HEYTING AND CO-HEYTING ALGEBRAS

A NEW CHARACTERIZATION OF COMPLETE HEYTING AND CO-HEYTING ALGEBRAS Logical Methods in Computer Science Vol. 13(3:252017, pp. 1 11 www.lmcs-online.org Submitted Apr. 15, 2015 Published Sep. 14, 2017 A NEW CHARACTERIZATION OF COMPLETE HEYTING AND CO-HEYTING ALGEBRAS FRANCESCO

More information

Space-aware data flow analysis

Space-aware data flow analysis Space-aware data flow analysis C. Bernardeschi, G. Lettieri, L. Martini, P. Masci Dip. di Ingegneria dell Informazione, Università di Pisa, Via Diotisalvi 2, 56126 Pisa, Italy {cinzia,g.lettieri,luca.martini,paolo.masci}@iet.unipi.it

More information

The Underlying Semantics of Transition Systems

The Underlying Semantics of Transition Systems The Underlying Semantics of Transition Systems J. M. Crawford D. M. Goldschlag Technical Report 17 December 1987 Computational Logic Inc. 1717 W. 6th St. Suite 290 Austin, Texas 78703 (512) 322-9951 1

More information

Introduction to Program Analysis and Abstract Interpretation (Part I)

Introduction to Program Analysis and Abstract Interpretation (Part I) Introduction to Program Analysis and Abstract Interpretation (Part I) Axel Simon Olaf Chitil Lawrence Beadle Materials: http://www.cs.kent.ac.uk/research/ groups/tcs/pgradtrain/abstract.html Acknowledgments:

More information

Computing Square Roots using the Babylonian Method

Computing Square Roots using the Babylonian Method Computing Square Roots using the Babylonian Method René Thiemann February 16, 2013 Abstract We implement the Babylonian method [1] to compute square roots of numbers. We provide precise algorithms for

More information

Design of Distributed Systems Melinda Tóth, Zoltán Horváth

Design of Distributed Systems Melinda Tóth, Zoltán Horváth Design of Distributed Systems Melinda Tóth, Zoltán Horváth Design of Distributed Systems Melinda Tóth, Zoltán Horváth Publication date 2014 Copyright 2014 Melinda Tóth, Zoltán Horváth Supported by TÁMOP-412A/1-11/1-2011-0052

More information

Kreisel s Conjecture with minimality principle

Kreisel s Conjecture with minimality principle Kreisel s Conjecture with minimality principle Pavel Hrubeš November 9, 2008 Abstract We prove that Kreisel s Conjecture is true, if Peano arithmetic is axiomatised using minimality principle and axioms

More information

A Non-Topological View of Dcpos as Convergence Spaces

A Non-Topological View of Dcpos as Convergence Spaces A Non-Topological View of Dcpos as Convergence Spaces Reinhold Heckmann AbsInt Angewandte Informatik GmbH, Stuhlsatzenhausweg 69, D-66123 Saarbrücken, Germany e-mail: heckmann@absint.com Abstract The category

More information

Temporal logics and explicit-state model checking. Pierre Wolper Université de Liège

Temporal logics and explicit-state model checking. Pierre Wolper Université de Liège Temporal logics and explicit-state model checking Pierre Wolper Université de Liège 1 Topics to be covered Introducing explicit-state model checking Finite automata on infinite words Temporal Logics and

More information

The State Explosion Problem

The State Explosion Problem The State Explosion Problem Martin Kot August 16, 2003 1 Introduction One from main approaches to checking correctness of a concurrent system are state space methods. They are suitable for automatic analysis

More information

Introduction to Kleene Algebras

Introduction to Kleene Algebras Introduction to Kleene Algebras Riccardo Pucella Basic Notions Seminar December 1, 2005 Introduction to Kleene Algebras p.1 Idempotent Semirings An idempotent semiring is a structure S = (S, +,, 1, 0)

More information

Abstract interpretation from a denotational-semantics perspective

Abstract interpretation from a denotational-semantics perspective MFPS 2009 Abstract interpretation from a denotational-semantics perspective David A. Schmidt Computing and Information Sciences Dept. Kansas State University Manhattan, KS 66506 USA Abstract The basic

More information

Discrete dynamics on the real line

Discrete dynamics on the real line Chapter 2 Discrete dynamics on the real line We consider the discrete time dynamical system x n+1 = f(x n ) for a continuous map f : R R. Definitions The forward orbit of x 0 is: O + (x 0 ) = {x 0, f(x

More information

Decomposing Non-Redundant Sharing by Complementation

Decomposing Non-Redundant Sharing by Complementation To appear on Theory and Practice of Logic Programming 1 Decomposing Non-Redundant Sharing by Complementation ENEA ZAFFANELLA Department of Mathematics, University of Parma, Italy e-mail: zaffanella@cs.unipr.it)

More information

Static Program Analysis

Static Program Analysis Static Program Analysis Thomas Noll Software Modeling and Verification Group RWTH Aachen University https://moves.rwth-aachen.de/teaching/ss-18/spa/ Recap: Interprocedural Dataflow Analysis Outline of

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

Lattice Theory Lecture 5. Completions

Lattice Theory Lecture 5. Completions Lattice Theory Lecture 5 Completions John Harding New Mexico State University www.math.nmsu.edu/ JohnHarding.html jharding@nmsu.edu Toulouse, July 2017 Completions Definition A completion of a poset P

More information

Diskrete Mathematik Solution 6

Diskrete Mathematik Solution 6 ETH Zürich, D-INFK HS 2018, 30. October 2018 Prof. Ueli Maurer Marta Mularczyk Diskrete Mathematik Solution 6 6.1 Partial Order Relations a) i) 11 and 12 are incomparable, since 11 12 and 12 11. ii) 4

More information

Binary Decision Diagrams. Graphs. Boolean Functions

Binary Decision Diagrams. Graphs. Boolean Functions Binary Decision Diagrams Graphs Binary Decision Diagrams (BDDs) are a class of graphs that can be used as data structure for compactly representing boolean functions. BDDs were introduced by R. Bryant

More information

Probabilistic Program Analysis

Probabilistic Program Analysis Probabilistic Program Analysis Data Flow Analysis and Regression Alessandra Di Pierro University of Verona, Italy alessandra.dipierro@univr.it Herbert Wiklicky Imperial College London, UK herbert@doc.ic.ac.uk

More information

Binary Decision Diagrams

Binary Decision Diagrams Binary Decision Diagrams Binary Decision Diagrams (BDDs) are a class of graphs that can be used as data structure for compactly representing boolean functions. BDDs were introduced by R. Bryant in 1986.

More information

A quasisymmetric function generalization of the chromatic symmetric function

A quasisymmetric function generalization of the chromatic symmetric function A quasisymmetric function generalization of the chromatic symmetric function Brandon Humpert University of Kansas Lawrence, KS bhumpert@math.ku.edu Submitted: May 5, 2010; Accepted: Feb 3, 2011; Published:

More information

10. Finite Lattices and their Congruence Lattices. If memories are all I sing I d rather drive a truck. Ricky Nelson

10. Finite Lattices and their Congruence Lattices. If memories are all I sing I d rather drive a truck. Ricky Nelson 10. Finite Lattices and their Congruence Lattices If memories are all I sing I d rather drive a truck. Ricky Nelson In this chapter we want to study the structure of finite lattices, and how it is reflected

More information

ON FIRST-ORDER CONS-FREE TERM REWRITING AND PTIME

ON FIRST-ORDER CONS-FREE TERM REWRITING AND PTIME ON FIRST-ORDER CONS-FREE TERM REWRITING AND PTIME CYNTHIA KOP Department of Computer Science, Copenhagen University e-mail address: kop@diku.dk Abstract. In this paper, we prove that (first-order) cons-free

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

A Multiplicative Operation on Matrices with Entries in an Arbitrary Abelian Group

A Multiplicative Operation on Matrices with Entries in an Arbitrary Abelian Group A Multiplicative Operation on Matrices with Entries in an Arbitrary Abelian Group Cyrus Hettle (cyrus.h@uky.edu) Robert P. Schneider (robert.schneider@uky.edu) University of Kentucky Abstract We define

More information

Two Applications of Maximum Flow

Two Applications of Maximum Flow Two Applications of Maximum Flow The Bipartite Matching Problem a bipartite graph as a flow network maximum flow and maximum matching alternating paths perfect matchings 2 Circulation with Demands flows

More information

arxiv: v1 [math.lo] 30 Aug 2018

arxiv: v1 [math.lo] 30 Aug 2018 arxiv:1808.10324v1 [math.lo] 30 Aug 2018 Real coextensions as a tool for constructing triangular norms Thomas Vetterlein Department of Knowledge-Based Mathematical Systems Johannes Kepler University Linz

More information

arxiv:math/ v1 [math.oa] 9 May 2005

arxiv:math/ v1 [math.oa] 9 May 2005 arxiv:math/0505154v1 [math.oa] 9 May 2005 A GENERALIZATION OF ANDÔ S THEOREM AND PARROTT S EXAMPLE DAVID OPĚLA Abstract. Andô s theorem states that any pair of commuting contractions on a Hilbert space

More information

Static Program Analysis

Static Program Analysis Static Program Analysis Xiangyu Zhang The slides are compiled from Alex Aiken s Michael D. Ernst s Sorin Lerner s A Scary Outline Type-based analysis Data-flow analysis Abstract interpretation Theorem

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

Join Algorithms for the Theory of Uninterpreted Functions

Join Algorithms for the Theory of Uninterpreted Functions Join Algorithms for the Theory of Uninterpreted Functions Sumit Gulwani 1, Ashish Tiwari 2, and George C. Necula 1 1 University of California, Berkeley, CA 94720, {gulwani,necula}@cs.berkeley.edu 2 SRI

More information

Extended Abstract: Reconsidering Intuitionistic Duality

Extended Abstract: Reconsidering Intuitionistic Duality Extended Abstract: Reconsidering Intuitionistic Duality Aaron Stump, Harley Eades III, Ryan McCleeary Computer Science The University of Iowa 1 Introduction This paper proposes a new syntax and proof system

More information

Compact Regions for Place/Transition Nets

Compact Regions for Place/Transition Nets Compact Regions for Place/Transition Nets Robin Bergenthum Department of Software Engineering and Theory of Programming, FernUniversität in Hagen robin.bergenthum@fernuni-hagen.de Abstract. This paper

More information

The Trace Partitioning Abstract Domain

The Trace Partitioning Abstract Domain The Trace Partitioning Abstract Domain XAVIER RIVAL and LAURENT MAUBORGNE École Normale Supérieure In order to achieve better precision of abstract interpretation based static analysis, we introduce a

More information

NOTES ON PLANAR SEMIMODULAR LATTICES. IV. THE SIZE OF A MINIMAL CONGRUENCE LATTICE REPRESENTATION WITH RECTANGULAR LATTICES

NOTES ON PLANAR SEMIMODULAR LATTICES. IV. THE SIZE OF A MINIMAL CONGRUENCE LATTICE REPRESENTATION WITH RECTANGULAR LATTICES NOTES ON PLANAR SEMIMODULAR LATTICES. IV. THE SIZE OF A MINIMAL CONGRUENCE LATTICE REPRESENTATION WITH RECTANGULAR LATTICES G. GRÄTZER AND E. KNAPP Abstract. Let D be a finite distributive lattice with

More information

DENSELY k-separable COMPACTA ARE DENSELY SEPARABLE

DENSELY k-separable COMPACTA ARE DENSELY SEPARABLE DENSELY k-separable COMPACTA ARE DENSELY SEPARABLE ALAN DOW AND ISTVÁN JUHÁSZ Abstract. A space has σ-compact tightness if the closures of σ-compact subsets determines the topology. We consider a dense

More information

Abstract Models of Shape Branching- and Linear-Time

Abstract Models of Shape Branching- and Linear-Time (-: / 1 Abstract Models of Shape Branching- and Linear-Time David Schmidt Kansas State University (-: / 2 Outline 1. branching time models: graphs 2. abstraction of nodes via Galois connections; abstraction

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

Abstraction for Falsification

Abstraction for Falsification Abstraction for Falsification Thomas Ball 1, Orna Kupferman 2, and Greta Yorsh 3 1 Microsoft Research, Redmond, WA, USA. Email: tball@microsoft.com, URL: research.microsoft.com/ tball 2 Hebrew University,

More information

Algebras. Larry Moss Indiana University, Bloomington. TACL 13 Summer School, Vanderbilt University

Algebras. Larry Moss Indiana University, Bloomington. TACL 13 Summer School, Vanderbilt University 1/39 Algebras Larry Moss Indiana University, Bloomington TACL 13 Summer School, Vanderbilt University 2/39 Binary trees Let T be the set which starts out as,,,, 2/39 Let T be the set which starts out as,,,,

More information

AAA616: Program Analysis. Lecture 7 The Octagon Abstract Domain

AAA616: Program Analysis. Lecture 7 The Octagon Abstract Domain AAA616: Program Analysis Lecture 7 The Octagon Abstract Domain Hakjoo Oh 2016 Fall Hakjoo Oh AAA616 2016 Fall, Lecture 7 November 3, 2016 1 / 30 Reference Antoine Miné. The Octagon Abstract Domain. Higher-Order

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

Model Checking & Program Analysis

Model Checking & Program Analysis Model Checking & Program Analysis Markus Müller-Olm Dortmund University Overview Introduction Model Checking Flow Analysis Some Links between MC and FA Conclusion Apology for not giving proper credit to

More information

NOTES ON PLANAR SEMIMODULAR LATTICES. IV. THE SIZE OF A MINIMAL CONGRUENCE LATTICE REPRESENTATION WITH RECTANGULAR LATTICES

NOTES ON PLANAR SEMIMODULAR LATTICES. IV. THE SIZE OF A MINIMAL CONGRUENCE LATTICE REPRESENTATION WITH RECTANGULAR LATTICES NOTES ON PLANAR SEMIMODULAR LATTICES. IV. THE SIZE OF A MINIMAL CONGRUENCE LATTICE REPRESENTATION WITH RECTANGULAR LATTICES G. GRÄTZER AND E. KNAPP Abstract. Let D be a finite distributive lattice with

More information

c ij x i x j c ij x i y j

c ij x i x j c ij x i y j Math 48A. Class groups for imaginary quadratic fields In general it is a very difficult problem to determine the class number of a number field, let alone the structure of its class group. However, in

More information

Lecture Notes on DISCRETE MATHEMATICS. Eusebius Doedel

Lecture Notes on DISCRETE MATHEMATICS. Eusebius Doedel Lecture Notes on DISCRETE MATHEMATICS Eusebius Doedel c Eusebius J. Doedel, 009 Contents Logic. Introduction............................................................................... Basic logical

More information

1.1 Line Reflections and Point Reflections

1.1 Line Reflections and Point Reflections 1.1 Line Reflections and Point Reflections Since this is a book on Transformation Geometry, we shall start by defining transformations of the Euclidean plane and giving basic examples. Definition 1. A

More information

Lecture Notes 1 Basic Concepts of Mathematics MATH 352

Lecture Notes 1 Basic Concepts of Mathematics MATH 352 Lecture Notes 1 Basic Concepts of Mathematics MATH 352 Ivan Avramidi New Mexico Institute of Mining and Technology Socorro, NM 87801 June 3, 2004 Author: Ivan Avramidi; File: absmath.tex; Date: June 11,

More information

FREE STEINER LOOPS. Smile Markovski, Ana Sokolova Faculty of Sciences and Mathematics, Republic of Macedonia

FREE STEINER LOOPS. Smile Markovski, Ana Sokolova Faculty of Sciences and Mathematics, Republic of Macedonia GLASNIK MATEMATIČKI Vol. 36(56)(2001), 85 93 FREE STEINER LOOPS Smile Markovski, Ana Sokolova Faculty of Sciences and Mathematics, Republic of Macedonia Abstract. A Steiner loop, or a sloop, is a groupoid

More information

Inductive Definitions

Inductive Definitions University of Science and Technology of China (USTC) 09/26/2011 Judgments A judgment states that one or more syntactic objects have a property or stand in some relation to one another. The property or

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