On partial order semantics for SAT/SMT-based symbolic encodings of weak memory concurrency

Size: px
Start display at page:

Download "On partial order semantics for SAT/SMT-based symbolic encodings of weak memory concurrency"

Transcription

1 On partial order semantics for SAT/SMT-based symbolic encodings of weak memory concurrency Alex Horn and Daniel Kroening University of Oxford April 30, 2015

2 Outline What s Our Problem? Motivation and Example Background and Our Approach Our Theorems: Part I Definitions: Partial String, (Elementary) Programs Elementary Least Fixed Point Reduction Theorem Decidability Result for Elementary Programs Our Theorems: Part II Characterization of a weak memory semantics A new symbolic partial-order encoding 2 / 36

3 Motivation: The Real World Analyzing concurrent systems is hard. But today s computer architectures make this problem even harder! /* insertion sort ascending order */!! #include <stdio.h>!! thread() {! int n, array[1000], c, d, t;! printf("enter %d integers\n", n);! for (c = 0; c < n; c++) {! scanf("%d", &array[c]);! }! for (c = 1 ; c <= n - 1; c++) {! d = c;! while ( d > 0 && array[d] < array[d-1]) {! t = array[d];! array[d] = array[d-1];! array[d-1] = t;! d--;! }! }! }! thread() { printf( Hi there!\n ); }!! /* insertion sort ascending order */!! #include <stdio.h>!! thread() {! int n, array[1000], c, d, t;! printf("enter %d integers\n", n);! for (c = 0; c < n; c++) {! scanf("%d", &array[c]);! }! for (c = 1 ; c <= n - 1; c++) {! d = c;! while ( d > 0 && array[d] < array[d-1]) {! t = array[d];! array[d] = array[d-1];! array[d-1] = t;! d--;! }! }! }! thread() { printf( Hi there!\n ); }! Past Present This has renewed interest in partial-order concurrency semantics. 3 / 36

4 The Real World: An Example Let x and y be a memory location that are initialized to zero, i.e. initially [x] = [y] = 0. Here s a concurrent program T 1 T 2 : Thread T 1 Thread T 2 [x] := 1 [y] := 1 local i 1 := [y] local i 2 := [x] Is it possible that i i = i 2 = 0? 4 / 36

5 The Real World: An Example Let x and y be a memory location that are initialized to zero, i.e. initially [x] = [y] = 0. Here s a concurrent program T 1 T 2 : Thread T 1 Thread T 2 [x] := 1 [y] := 1 local i 1 := [y] local i 2 := [x] Is it possible that i i = i 2 = 0? That depends... It is impossible that i 1 = i 2 = 0 under sequential consistency (SC). But i 1 = i 2 = 0 is allowed by weaker forms of consistency (WMM). Such behaviours have been recently formalized by Alglave et al. WMMs exist for x86, Power, ARM etc. 5 / 36

6 SAT/SMT-based Verification Techniques The state-of-the-art bounded model checker (CBMC) by Tautschnig et al. supports WMMs by leveraging off-the-shelf decision procedures: CBMC: /* insertion sort ascending order */!! #include <stdio.h>!! thread() {! int n, array[1000], c, d, t;! printf("enter %d integers\n", n);! for (c = 0; c < n; c++) {! scanf("%d", &array[c]);! }! for (c = 1 ; c <= n - 1; c++) {! d = c;! while ( d > 0 && array[d] < array[d-1]) {! t = array[d];! array[d] = array[d-1];! array[d-1] = t;! d--;! }! }! }! thread() { printf( Hi there!\n ); }! Boolean Formula ϕ Input Output CBMC symbolically encodes the concurrency exhibited by the unrolled program. This way CBMC found concurrency bugs in, and. 6 / 36

7 CKA: A Unifying Concurrency Semantics Over 40 years of research have gone into concurrency semantics. Most recently, Hoare et al. have proposed an algebraic concurrency semantics, called Concurrent Kleene Algebra (CKA). Hoare and van Staden show that CKA unifies classical programming and process calculi, including those due to Hoare, Milner and Kahn. Crucially, CKA s unifying power rests on the uniform treatment of specifications and programs, and sequential (;) and parallel ( ) operators which together satisfy the so-called exchange law (U V); (X Y) (U; X ) (V; Y), among other laws. O Hearn shows that there is a strong connection between CKA (particularly its exchange law) and separation logic. 7 / 36

8 Our Approach WMM SAT/SMT CKA Partial strings Example: A string abac versus, say, partial string (ab) (ac). Partial strings resemble Gischer s pomsets except that we use Ésik s monotonic bijective morphism to define a refinement relation ( ). Example: e 0 e 2 e 0 e 2 e 1 e 3 }{{} x e 1 e 3 }{{} y where α x (e 0 ) = α y (e 0) etc. 8 / 36

9 Our Approach WMM SAT/SMT CKA Partial strings Example: A string abac versus, say, partial string (ab) (ac). Partial strings resemble Gischer s pomsets except that we use Ésik s monotonic bijective morphism to define a refinement relation ( ). Example: e 0 e 2 e 0 e 2 e 1 e 3 }{{} x e 1 e 3 }{{} y where α x (e 0 ) = α y (e 0) etc. 9 / 36

10 Problems 1. The decidability of the equational theory of the pomset (partial-string) language closed under least fixed point, sequential and concurrent operators, and the exchange law is an open problem The best known upper bound for the size of symbolic partial-order encodings of WMMs is cubic in the maximal number of shared memory accesses. 2 This is prohibitively large. 1 Laurence, M.R., Struth, G.: Completeness theorems for Bi-Kleene algebras and series-parallel rational pomset languages. RAMiCS Alglave, J., Kroening, D., Tautschnig, M.: Partial orders for efficient bounded model checking of concurrent software. CAV / 36

11 Our Contributions We give new fundamental results on partial-order semantics for SAT/SMT-based symbolic encodings of weak memory concurrency: 1. We give a decidability result for a fragment of the partial-string model of CKA using our least fixed point reduction theorem. 2. By further restricting our partial-string model, we interpret a particular form of weak memory (SC-relaxed consistency) which, on a certain subset of reads and writes, is shown to be equivalent to the conjunction of three fundamental and extensively studied weak memory axioms by Alglave et al. 3. Under the assumptions of bounded model checking, we prove the existence of an asymptotically smaller quantifier-free first-order logic formula that has only O(N 2 ) constraints compared to the state-of-the-art O(N 3 ) partial-order encoding in CBMC. 11 / 36

12 Part I How does CKA connect to SAT/SMT-based encodings? WMM SAT/SMT CKA Partial strings 12 / 36

13 Example: Partial String e 0 e 2 e 1 e 3 Thread T 1 Thread T 2 [x] := 1 [y] := 1 local i 1 := [y] local i 2 := [x] A partial string p = E p, α p, p where E p {e 0, e 1, e 2, e 3 } is a set of events, partially ordered by p, e.g. e 0 p e 1 but e 0 p e 3. Here, p may be seen as a happens-before relation, e.g. e 0 happens-before e 1. We call α p : E p Γ the labelling function, e.g. α p (e 0 ) = [x] := 1. We therefore can distinguish events as loads and stores on a memory location. The set of all memory locations is denoted by ADDRESS. Denote with P f the set of finite partial strings. That is to say, for all partial strings p in P f, the event set E p is finite. 13 / 36

14 Example: Partial String Operators e 0 e 0 e 0 e 1 e 1 e 2 e 1 e 2 e 2 (a) (b) (c) (d) Figure (c) and (d) depict a b and a; b, respectively. With an appropriate coproduct construction, it can be then shown that P f is closed under both and ; operators. 14 / 36

15 Towards Programs A single partial string is not always expressive enough. Example: if * then P else Q So we lift ; and on partial strings to sets of partial strings. 3 It is well-known that these should not be any kind of sets. They must be downward-closed with respect to (see next slide). 3 Rather than using Winskel et al. s conflict relation, we resort to the simpler Hoare powerdomain construction. 15 / 36

16 Program Abstraction Definition (Partial string refinement) Let x, y P be partial strings such that x = E x, α x x and y = E y, α y, y. A monotonic bijective morphism from y to x, written f : y x, is a one-to-one and onto function f from E y to E x such that, for all events e, e E y, if e y e, then f (e) x f (e ) and α y (e) = α x (f (e)). Then x is said to refine y, denoted by x y, if there exists a monotonic bijective morphism f : y x from y to x. Definition (Program) A program is a downward-closed set of finite partial strings with respect to ; equivalently X P f is a program if X = X where X {y P f x X : y x}. Let P be the family of programs. Lift both partial string operators to programs, e.g. P Q and P; Q. When convenient, we abbreviate P Q or P; Q by P Q. 16 / 36

17 Remarks: Downward Closure of Programs Recall that a program X in P satisfies X = X where X {y P f x X : y x}. Remarks: Note that X should not be confused with the prefix closure in configurations of (prime) event structures. Instead (like Gischer s subsumption ordering) X = X says that a program over-approximates all its possible implementations. This can serve as the basis for modelling data flow. Example: e 0 e 2 e 0 X = e 1 e 3, e 1 e 2 e 0 e 3, e 1 e 2 e 3, / 36

18 Theorem (Folklore) The structure S = P,,, 0, 1, ;, is a complete lattice, ordered by subset inclusion (i.e. X Y exactly if X Y = Y), such that and ; form unital quantales over where S satisfies the following: (U V); (X Y) (U; X ) (V; Y) X (Y Z) = (X Y) Z X X = X X Y = Y X X 1 = 1 X = X X 0 = 0 X = X X Y = Y X X ; 1 = 1; X = X X 0 = 0 X = 0 X ; 0 = 0; X = 0 X (Y Z) = (X Y) (X Z) X ; (Y Z) = (X ; Y) (X ; Z) (X Y) Z = (X Z) (Y Z) (X Y); Z = (X ; Z) (Y; Z) X (Y Z) = (X Y) Z X ; (Y; Z) = (X ; Y); Z P = µx.1 (P X ) P ; = µx.1 (P; X ) 18 / 36

19 Theorem (Folklore) The structure S = P,,, 0, 1, ;, is a complete lattice, ordered by subset inclusion (i.e. X Y exactly if X Y = Y), such that and ; form unital quantales over where S satisfies the following: (U V); (X Y) (U; X ) (V; Y) X (Y Z) = (X Y) Z X X = X X Y = Y X X 1 = 1 X = X X 0 = 0 X = X X Y = Y X X ; 1 = 1; X = X X 0 = 0 X = 0 X ; 0 = 0; X = 0 X (Y Z) = (X Y) (X Z) X ; (Y Z) = (X ; Y) (X ; Z) (X Y) Z = (X Z) (Y Z) (X Y); Z = (X ; Z) (Y; Z) X (Y Z) = (X Y) Z X ; (Y; Z) = (X ; Y); Z P = µx.1 (P X ) P P ; = µx.1 (P; X ) 19 / 36

20 Elementary Least Fixed Point Reduction Definition (Elementary program) A program P in P is called elementary whenever P = Q for some finite and nonempty set of finite partial strings Q. Denote with P l the set of elementary programs. Definition (n-iterated- -program-composition) For every program P in P and non-negative integer n in N 0, define P 0 1 to be the identity program and P (n+1) P P n. Theorem (Elementary least fixed point reduction) For every elementary program X and Y in P l, if 1 Y, then X Y is equivalent to X n k 0 Yk with n = lx ly where l X max { x x X } and l Y min { y y Y} is the length of the longest and shortest partial strings in X and Y, respectively. 20 / 36

21 Decision problem/procedure Partial string refinement (PSR) INPUT: Let x and y be finite partial strings. QUESTION: Is x y? Elementary program refinement- (EPR ) INPUT: Let X and Y be elementary programs in P l. QUESTION: Is X Y? Theorem (Decidability) The PSR problem is NP-complete. The EPR problem can be decided by calling an NP-complete decision procedure O ( X Y n ) times where n = lx ly (see previous slide). 21 / 36

22 Part II How do WMMs connect with SAT/SMT-based encodings? WMM SAT/SMT CKA Partial strings 22 / 36

23 Three Memory Axioms We adopt three memory axioms in the style of Alglave et al.: 1. Write consistency axiom 2. Read-from and synchronizes-with axiom 3. From-read axiom On the next slides, we recall those in turn. In this talk, we take the liberty to paraphrase some of our results. 23 / 36

24 Definition (Write consistency) Henceforth, let x be a partial string. Write-coherence means that all stores s, s on the same memory location are totally ordered by x. Example: We can think of stores per memory location ordered along a timeline. s 1 s 2 s 2 s 1 Quote (among many potential others): [A]ll writes to the same location are serialized in some order and are performed in that order with respect to any processor. 4 4 Gharachorloo, K., Lenoski, D.,Laudon, J., Gibbons, P., Gupta, A., Hennessy, J.: Memory consistency and event ordering in scalable shared-memory multiprocessors. SIGARCH Comput. Archit. News 18(2SI) (May 1990) / 36

25 Definition (Read-from and synchronizes-with) The read-from function, written rf, is defined to map every load to some store on the same memory location. A load l synchronizes-with a store s if rf(l) = s implies s x l. Example: s l s 25 / 36

26 Definition (Read-from and synchronizes-with) The read-from function, written rf, is defined to map every load to some store on the same memory location. A load l synchronizes-with a store s if rf(l) = s implies s x l. Example: l rf s s 26 / 36

27 Definition (From-read) The from-read axiom holds whenever, for all loads l and stores s, s on the same memory location, if rf(l) = s and s x s, then l x s. Example: l rf s s 27 / 36

28 Definition (From-read) The from-read axiom holds whenever, for all loads l and stores s, s on the same memory location, if rf(l) = s and s x s, then l x s. Example: l rf s s hb 28 / 36

29 Definition (From-read) The from-read axiom holds whenever, for all loads l and stores s, s on the same memory location, if rf(l) = s and s x s, then l x s. Example: l rf fr s s hb 29 / 36

30 Characterization of SC-relaxed Programs Definition (SC-relaxed program) A program X is called SC-relaxed if, for all a ADDRESS and partial string x in X, all stores on a are totally ordered by x and, for every load l E x and store s E x on a, l x s or s x l. 30 / 36

31 Characterization of SC-relaxed Programs Definition (SC-relaxed program) A program X is called SC-relaxed if, for all a ADDRESS and partial string x in X, all stores on a are totally ordered by x and, for every load l E x and store s E x on a, l x s or s x l. Definition (Read consistency) Let a ADDRESS and x P f. For all loads l E x on memory location a, define H x (l) {s E x : s x l and s is a store on a}. The read-from function rf is said to satisfy weak read consistency if, for all loads l E x and stores s E x on memory location a, the least upper bound H x (l) exists, and rf(l) = s implies H x (l) x s; strong read consistency implies rf(l) = s = H x (l). 31 / 36

32 Characterization of SC-relaxed Programs Definition (SC-relaxed program) A program X is called SC-relaxed if, for all a ADDRESS and partial string x in X, all stores on a are totally ordered by x and, for every load l E x and store s E x on a, l x s or s x l. Definition (Read consistency) Let a ADDRESS and x P f. For all loads l E x on memory location a, define H x (l) {s E x : s x l and s is a store on a}. The read-from function rf is said to satisfy weak read consistency if, for all loads l E x and stores s E x on memory location a, the least upper bound H x (l) exists, and rf(l) = s implies H x (l) x s; strong read consistency implies rf(l) = s = H x (l). Definition (SC-relaxed consistency) We speak of SC-relaxed consistency whenever a program is SC-relaxed and it satisfies read consistency. 32 / 36

33 Characterization of SC-relaxed Programs Theorem (SC-relaxed Consistency Characterization) SC-relaxed consistency is equivalent to the conjunction of the synchronizes-with, write-coherence and from-read axioms with respect to all events on the same memory location. This theorem has as consequence a new symbolic partial-order encoding (next slide). 33 / 36

34 Theorem (Asymptotically smaller partial-order encoding) Given an elementary program that satisfies SC-relaxed consistency, there exists an asymptotically smaller quantifier-free first-order logic encoding of the from-read axiom. Recall: the purpose of the from-read axiom is to say how values are overwritten in memory. The idea behind the theorem is to encode this as a supremum of write events that happen-before a read. This theorem matters because it can significantly decrease the intermediate steps required in CBMC to build the Boolean formula φ. 34 / 36

35 Concluding Remarks Our work gives denotational concurrency semantics a new practical dimension because we show how partial-strings connect to solving NP-hard problems with highly optimized optimized SAT/SMT solvers: Elementary least fixed point reduction theorem Asymptotically smaller partial-order encoding In upcoming work, we experimentally evaluate the cubic- and quadratic-size encoding using four state-of-the-art SMT solvers and four SMT-LIB theory combinations, including QF_LIA and QF_BV. 35 / 36

36 Concluding Remarks Our work gives denotational concurrency semantics a new practical dimension because we show how partial-strings connect to solving NP-hard problems with highly optimized optimized SAT/SMT solvers: Elementary least fixed point reduction theorem Asymptotically smaller partial-order encoding In upcoming work, we experimentally evaluate the cubic- and quadratic-size encoding using four state-of-the-art SMT solvers and four SMT-LIB theory combinations, including QF_LIA and QF_BV. Thank you! 36 / 36

Categorical models of type theory

Categorical models of type theory 1 / 59 Categorical models of type theory Michael Shulman February 28, 2012 2 / 59 Outline 1 Type theory and category theory 2 Categorical type constructors 3 Dependent types and display maps 4 Fibrations

More information

Deductive Methods, Bounded Model Checking

Deductive Methods, Bounded Model Checking Deductive Methods, Bounded Model Checking http://d3s.mff.cuni.cz Pavel Parízek CHARLES UNIVERSITY IN PRAGUE faculty of mathematics and physics Deductive methods Pavel Parízek Deductive Methods, Bounded

More information

3 No-Wait Job Shops with Variable Processing Times

3 No-Wait Job Shops with Variable Processing Times 3 No-Wait Job Shops with Variable Processing Times In this chapter we assume that, on top of the classical no-wait job shop setting, we are given a set of processing times for each operation. We may select

More information

3.7 Denotational Semantics

3.7 Denotational Semantics 3.7 Denotational Semantics Denotational semantics, also known as fixed-point semantics, associates to each programming language construct a well-defined and rigorously understood mathematical object. These

More information

CSCI.6962/4962 Software Verification Fundamental Proof Methods in Computer Science (Arkoudas and Musser) Chapter p. 1/27

CSCI.6962/4962 Software Verification Fundamental Proof Methods in Computer Science (Arkoudas and Musser) Chapter p. 1/27 CSCI.6962/4962 Software Verification Fundamental Proof Methods in Computer Science (Arkoudas and Musser) Chapter 2.1-2.7 p. 1/27 CSCI.6962/4962 Software Verification Fundamental Proof Methods in Computer

More information

Lecture Notes on Real-world SMT

Lecture Notes on Real-world SMT 15-414: Bug Catching: Automated Program Verification Lecture Notes on Real-world SMT Matt Fredrikson Ruben Martins Carnegie Mellon University Lecture 15 1 Introduction In the previous lecture we studied

More information

VS 3 : SMT Solvers for Program Verification

VS 3 : SMT Solvers for Program Verification VS 3 : SMT Solvers for Program Verification Saurabh Srivastava 1,, Sumit Gulwani 2, and Jeffrey S. Foster 1 1 University of Maryland, College Park, {saurabhs,jfoster}@cs.umd.edu 2 Microsoft Research, Redmond,

More information

Principles of Program Analysis. Lecture 1 Harry Xu Spring 2013

Principles of Program Analysis. Lecture 1 Harry Xu Spring 2013 Principles of Program Analysis Lecture 1 Harry Xu Spring 2013 An Imperfect World Software has bugs The northeast blackout of 2003, affected 10 million people in Ontario and 45 million in eight U.S. states

More information

A GRAPH FROM THE VIEWPOINT OF ALGEBRAIC TOPOLOGY

A GRAPH FROM THE VIEWPOINT OF ALGEBRAIC TOPOLOGY A GRAPH FROM THE VIEWPOINT OF ALGEBRAIC TOPOLOGY KARL L. STRATOS Abstract. The conventional method of describing a graph as a pair (V, E), where V and E repectively denote the sets of vertices and edges,

More information

The three faces of homotopy type theory. Type theory and category theory. Minicourse plan. Typing judgments. Michael Shulman.

The three faces of homotopy type theory. Type theory and category theory. Minicourse plan. Typing judgments. Michael Shulman. The three faces of homotopy type theory Type theory and category theory Michael Shulman 1 A programming language. 2 A foundation for mathematics based on homotopy theory. 3 A calculus for (, 1)-category

More information

MA651 Topology. Lecture 4. Topological spaces 2

MA651 Topology. Lecture 4. Topological spaces 2 MA651 Topology. Lecture 4. Topological spaces 2 This text is based on the following books: Linear Algebra and Analysis by Marc Zamansky Topology by James Dugundgji Fundamental concepts of topology by Peter

More information

CS 6110 S14 Lecture 38 Abstract Interpretation 30 April 2014

CS 6110 S14 Lecture 38 Abstract Interpretation 30 April 2014 CS 6110 S14 Lecture 38 Abstract Interpretation 30 April 2014 1 Introduction to Abstract Interpretation At this point in the course, we have looked at several aspects of programming languages: operational

More information

Harvard School of Engineering and Applied Sciences CS 152: Programming Languages

Harvard School of Engineering and Applied Sciences CS 152: Programming Languages Harvard School of Engineering and Applied Sciences CS 152: Programming Languages Lecture 19 Tuesday, April 3, 2018 1 Introduction to axiomatic semantics The idea in axiomatic semantics is to give specifications

More information

axiomatic semantics involving logical rules for deriving relations between preconditions and postconditions.

axiomatic semantics involving logical rules for deriving relations between preconditions and postconditions. CS 6110 S18 Lecture 18 Denotational Semantics 1 What is Denotational Semantics? So far we have looked at operational semantics involving rules for state transitions, definitional semantics involving translations

More information

AXIOMS FOR THE INTEGERS

AXIOMS FOR THE INTEGERS AXIOMS FOR THE INTEGERS BRIAN OSSERMAN We describe the set of axioms for the integers which we will use in the class. The axioms are almost the same as what is presented in Appendix A of the textbook,

More information

Duet: Static Analysis for Unbounded Parallelism

Duet: Static Analysis for Unbounded Parallelism Duet: Static Analysis for Unbounded Parallelism Azadeh Farzan and Zachary Kincaid University of Toronto Abstract. Duet is a static analysis tool for concurrent programs in which the number of executing

More information

Handout 9: Imperative Programs and State

Handout 9: Imperative Programs and State 06-02552 Princ. of Progr. Languages (and Extended ) The University of Birmingham Spring Semester 2016-17 School of Computer Science c Uday Reddy2016-17 Handout 9: Imperative Programs and State Imperative

More information

Mathematical and Algorithmic Foundations Linear Programming and Matchings

Mathematical and Algorithmic Foundations Linear Programming and Matchings Adavnced Algorithms Lectures Mathematical and Algorithmic Foundations Linear Programming and Matchings Paul G. Spirakis Department of Computer Science University of Patras and Liverpool Paul G. Spirakis

More information

Distributed Systems Programming (F21DS1) Formal Verification

Distributed Systems Programming (F21DS1) Formal Verification Distributed Systems Programming (F21DS1) Formal Verification Andrew Ireland Department of Computer Science School of Mathematical and Computer Sciences Heriot-Watt University Edinburgh Overview Focus on

More information

Integers and Mathematical Induction

Integers and Mathematical Induction IT Program, NTUT, Fall 07 Integers and Mathematical Induction Chuan-Ming Liu Computer Science and Information Engineering National Taipei University of Technology TAIWAN 1 Learning Objectives Learn about

More information

Pooya Saadatpanah, Michalis Famelis, Jan Gorzny, Nathan Robinson, Marsha Chechik, Rick Salay. September 30th, University of Toronto.

Pooya Saadatpanah, Michalis Famelis, Jan Gorzny, Nathan Robinson, Marsha Chechik, Rick Salay. September 30th, University of Toronto. Comparing the Pooya Michalis Jan Nathan Marsha Chechik, Rick Salay University of Toronto September 30th, 2012 MoDeVVa 12 1 / 32 in software modeling : pervasive in MDE Models with uncertainty: Represent

More information

Compositional Software Model Checking

Compositional Software Model Checking Compositional Software Model Checking Dan R. Ghica Oxford University Computing Laboratory October 18, 2002 Outline of talk program verification issues the semantic challenge programming languages the logical

More information

Rewriting Needs Constraints and Constraints Need Rewriting

Rewriting Needs Constraints and Constraints Need Rewriting Rewriting Needs Constraints and Constraints Need Rewriting José Meseguer Department of Computer Science, UIUC ints 14 November 2008 Motivation Symbolic Computation, Rewriting, and Constraints Rewriting

More information

Manifolds. Chapter X. 44. Locally Euclidean Spaces

Manifolds. Chapter X. 44. Locally Euclidean Spaces Chapter X Manifolds 44. Locally Euclidean Spaces 44 1. Definition of Locally Euclidean Space Let n be a non-negative integer. A topological space X is called a locally Euclidean space of dimension n if

More information

STABILITY AND PARADOX IN ALGORITHMIC LOGIC

STABILITY AND PARADOX IN ALGORITHMIC LOGIC STABILITY AND PARADOX IN ALGORITHMIC LOGIC WAYNE AITKEN, JEFFREY A. BARRETT Abstract. Algorithmic logic is the logic of basic statements concerning algorithms and the algorithmic rules of deduction between

More information

Note that in this definition, n + m denotes the syntactic expression with three symbols n, +, and m, not to the number that is the sum of n and m.

Note that in this definition, n + m denotes the syntactic expression with three symbols n, +, and m, not to the number that is the sum of n and m. CS 6110 S18 Lecture 8 Structural Operational Semantics and IMP Today we introduce a very simple imperative language, IMP, along with two systems of rules for evaluation called small-step and big-step semantics.

More information

This is already grossly inconvenient in present formalisms. Why do we want to make this convenient? GENERAL GOALS

This is already grossly inconvenient in present formalisms. Why do we want to make this convenient? GENERAL GOALS 1 THE FORMALIZATION OF MATHEMATICS by Harvey M. Friedman Ohio State University Department of Mathematics friedman@math.ohio-state.edu www.math.ohio-state.edu/~friedman/ May 21, 1997 Can mathematics be

More information

DPLL(Γ+T): a new style of reasoning for program checking

DPLL(Γ+T): a new style of reasoning for program checking DPLL(Γ+T ): a new style of reasoning for program checking Dipartimento di Informatica Università degli Studi di Verona Verona, Italy June, 2011 Motivation: reasoning for program checking Program checking

More information

The design of a programming language for provably correct programs: success and failure

The design of a programming language for provably correct programs: success and failure The design of a programming language for provably correct programs: success and failure Don Sannella Laboratory for Foundations of Computer Science School of Informatics, University of Edinburgh http://homepages.inf.ed.ac.uk/dts

More information

Negations in Refinement Type Systems

Negations in Refinement Type Systems Negations in Refinement Type Systems T. Tsukada (U. Tokyo) 14th March 2016 Shonan, JAPAN This Talk About refinement intersection type systems that refute judgements of other type systems. Background Refinement

More information

Math 302 Introduction to Proofs via Number Theory. Robert Jewett (with small modifications by B. Ćurgus)

Math 302 Introduction to Proofs via Number Theory. Robert Jewett (with small modifications by B. Ćurgus) Math 30 Introduction to Proofs via Number Theory Robert Jewett (with small modifications by B. Ćurgus) March 30, 009 Contents 1 The Integers 3 1.1 Axioms of Z...................................... 3 1.

More information

Lecture Notes on Program Equivalence

Lecture Notes on Program Equivalence Lecture Notes on Program Equivalence 15-312: Foundations of Programming Languages Frank Pfenning Lecture 24 November 30, 2004 When are two programs equal? Without much reflection one might say that two

More information

Introduction to Axiomatic Semantics

Introduction to Axiomatic Semantics Introduction to Axiomatic Semantics Meeting 10, CSCI 5535, Spring 2009 Announcements Homework 3 due tonight Homework 2 is graded 13 (mean), 14 (median), out of 21 total, but Graduate class: final project

More information

Lecture 2: Symbolic Model Checking With SAT

Lecture 2: Symbolic Model Checking With SAT Lecture 2: Symbolic Model Checking With SAT Edmund M. Clarke, Jr. School of Computer Science Carnegie Mellon University Pittsburgh, PA 15213 (Joint work over several years with: A. Biere, A. Cimatti, Y.

More information

From Types to Sets in Isabelle/HOL

From Types to Sets in Isabelle/HOL From Types to Sets in Isabelle/HOL Extented Abstract Ondřej Kunčar 1 and Andrei Popescu 1,2 1 Fakultät für Informatik, Technische Universität München, Germany 2 Institute of Mathematics Simion Stoilow

More information

Resource-bound process algebras for Schedulability and Performance Analysis of Real-Time and Embedded Systems

Resource-bound process algebras for Schedulability and Performance Analysis of Real-Time and Embedded Systems Resource-bound process algebras for Schedulability and Performance Analysis of Real-Time and Embedded Systems Insup Lee 1, Oleg Sokolsky 1, Anna Philippou 2 1 RTG (Real-Time Systems Group) Department of

More information

Math 5320, 3/28/18 Worksheet 26: Ruler and compass constructions. 1. Use your ruler and compass to construct a line perpendicular to the line below:

Math 5320, 3/28/18 Worksheet 26: Ruler and compass constructions. 1. Use your ruler and compass to construct a line perpendicular to the line below: Math 5320, 3/28/18 Worksheet 26: Ruler and compass constructions Name: 1. Use your ruler and compass to construct a line perpendicular to the line below: 2. Suppose the following two points are spaced

More information

Formalization of Incremental Simplex Algorithm by Stepwise Refinement

Formalization of Incremental Simplex Algorithm by Stepwise Refinement Formalization of Incremental Simplex Algorithm by Stepwise Refinement Mirko Spasić, Filip Marić Faculty of Mathematics, University of Belgrade FM2012, 30. August 2012. Overview 1 Introduction 2 Approach

More information

Hybrid Constraint Solvers

Hybrid Constraint Solvers Hybrid Constraint Solvers - An overview Why Hybrid Solvers CP and SAT: Lazy Clause Generation CP and LP: Reification of Linear Constraints Conclusions 9 November 2011 Pedro Barahona - EPCL - Hybrid Solvers

More information

9.1 Cook-Levin Theorem

9.1 Cook-Levin Theorem CS787: Advanced Algorithms Scribe: Shijin Kong and David Malec Lecturer: Shuchi Chawla Topic: NP-Completeness, Approximation Algorithms Date: 10/1/2007 As we ve already seen in the preceding lecture, two

More information

Complete Instantiation of Quantified Formulas in Satisfiability Modulo Theories. ACSys Seminar

Complete Instantiation of Quantified Formulas in Satisfiability Modulo Theories. ACSys Seminar Complete Instantiation of Quantified Formulas in Satisfiability Modulo Theories Yeting Ge Leonardo de Moura ACSys Seminar 2008.12 Motivation SMT solvers have been successful Quantified smt formulas are

More information

Interpretations and Models. Chapter Axiomatic Systems and Incidence Geometry

Interpretations and Models. Chapter Axiomatic Systems and Incidence Geometry Interpretations and Models Chapter 2.1-2.4 - Axiomatic Systems and Incidence Geometry Axiomatic Systems in Mathematics The gold standard for rigor in an area of mathematics Not fully achieved in most areas

More information

Reduction of nite linear CSPs to SAT using dierent encod

Reduction of nite linear CSPs to SAT using dierent encod Reduction of nite linear CSPs to SAT using dierent encodings Mirko Stojadinovi mirkos@matf.bg.ac.rs Department of Computer Science Faculty of Mathematics University of Belgrade Fifth Workshop on Formal

More information

Computer Programming: Skills & Concepts (CP) arithmetic, if and booleans (cont)

Computer Programming: Skills & Concepts (CP) arithmetic, if and booleans (cont) CP Lect 5 slide 1 Monday 2 October 2017 Computer Programming: Skills & Concepts (CP) arithmetic, if and booleans (cont) Cristina Alexandru Monday 2 October 2017 Last Lecture Arithmetic Quadratic equation

More information

Handbook of Weighted Automata

Handbook of Weighted Automata Manfred Droste Werner Kuich Heiko Vogler Editors Handbook of Weighted Automata 4.1 Springer Contents Part I Foundations Chapter 1: Semirings and Formal Power Series Manfred Droste and Werner Kuich 3 1

More information

Dynamic Logic David Harel, The Weizmann Institute Dexter Kozen, Cornell University Jerzy Tiuryn, University of Warsaw The MIT Press, Cambridge, Massac

Dynamic Logic David Harel, The Weizmann Institute Dexter Kozen, Cornell University Jerzy Tiuryn, University of Warsaw The MIT Press, Cambridge, Massac Dynamic Logic David Harel, The Weizmann Institute Dexter Kozen, Cornell University Jerzy Tiuryn, University of Warsaw The MIT Press, Cambridge, Massachusetts, 2000 Among the many approaches to formal reasoning

More information

Tree Interpolation in Vampire

Tree Interpolation in Vampire Tree Interpolation in Vampire Régis Blanc 1, Ashutosh Gupta 2, Laura Kovács 3, and Bernhard Kragl 4 1 EPFL 2 IST Austria 3 Chalmers 4 TU Vienna Abstract. We describe new extensions of the Vampire theorem

More information

We ve studied the main models and concepts of the theory of computation:

We ve studied the main models and concepts of the theory of computation: CMPSCI 601: Summary & Conclusions Lecture 27 We ve studied the main models and concepts of the theory of computation: Computability: what can be computed in principle Logic: how can we express our requirements

More information

Principles of Program Analysis: A Sampler of Approaches

Principles of Program Analysis: A Sampler of Approaches Principles of Program Analysis: A Sampler of Approaches Transparencies based on Chapter 1 of the book: Flemming Nielson, Hanne Riis Nielson and Chris Hankin: Principles of Program Analysis Springer Verlag

More information

Höllische Programmiersprachen Hauptseminar im Wintersemester 2014/2015 Determinism and reliability in the context of parallel programming

Höllische Programmiersprachen Hauptseminar im Wintersemester 2014/2015 Determinism and reliability in the context of parallel programming Höllische Programmiersprachen Hauptseminar im Wintersemester 2014/2015 Determinism and reliability in the context of parallel programming Raphael Arias Technische Universität München 19.1.2015 Abstract

More information

Program verification. Generalities about software Verification Model Checking. September 20, 2016

Program verification. Generalities about software Verification Model Checking. September 20, 2016 Program verification Generalities about software Verification Model Checking Laure Gonnord David Monniaux September 20, 2016 1 / 43 The teaching staff Laure Gonnord, associate professor, LIP laboratory,

More information

TOPOLOGY, DR. BLOCK, FALL 2015, NOTES, PART 3.

TOPOLOGY, DR. BLOCK, FALL 2015, NOTES, PART 3. TOPOLOGY, DR. BLOCK, FALL 2015, NOTES, PART 3. 301. Definition. Let m be a positive integer, and let X be a set. An m-tuple of elements of X is a function x : {1,..., m} X. We sometimes use x i instead

More information

Symbolic Execution and Proof of Properties

Symbolic Execution and Proof of Properties Chapter 7 Symbolic Execution and Proof of Properties Symbolic execution builds predicates that characterize the conditions under which execution paths can be taken and the effect of the execution on program

More information

A Revisionist History of Denotational Semantics

A Revisionist History of Denotational Semantics A Revisionist History of Denotational Semantics Stephen Brookes Carnegie Mellon University Domains XIII July 2018 1 / 23 Denotational Semantics Compositionality Principle The meaning of a complex expression

More information

Hoare logic. A proof system for separation logic. Introduction. Separation logic

Hoare logic. A proof system for separation logic. Introduction. Separation logic Introduction Hoare logic Lecture 6: Examples in separation logic In the previous lecture, we saw how reasoning about pointers in Hoare logic was problematic, which motivated introducing separation logic.

More information

Abstract Interpretation

Abstract Interpretation Abstract Interpretation Ranjit Jhala, UC San Diego April 22, 2013 Fundamental Challenge of Program Analysis How to infer (loop) invariants? Fundamental Challenge of Program Analysis Key issue for any analysis

More information

SMT-LIB for HOL. Daniel Kroening Philipp Rümmer Georg Weissenbacher Oxford University Computing Laboratory. ITP Workshop MSR Cambridge 25 August 2009

SMT-LIB for HOL. Daniel Kroening Philipp Rümmer Georg Weissenbacher Oxford University Computing Laboratory. ITP Workshop MSR Cambridge 25 August 2009 1 / 13 SMT-LIB for HOL Daniel Kroening Philipp Rümmer Georg Weissenbacher Oxford University Computing Laboratory ITP Workshop MSR Cambridge 25 August 2009 2 / 13 The SMT-LIB Standard SMT Satisfiability

More information

Discrete Mathematics. Kruskal, order, sorting, induction

Discrete Mathematics.   Kruskal, order, sorting, induction Discrete Mathematics wwwmifvult/~algis Kruskal, order, sorting, induction Kruskal algorithm Kruskal s Algorithm for Minimal Spanning Trees The algorithm constructs a minimal spanning tree as follows: Starting

More information

Compact Sets. James K. Peterson. September 15, Department of Biological Sciences and Department of Mathematical Sciences Clemson University

Compact Sets. James K. Peterson. September 15, Department of Biological Sciences and Department of Mathematical Sciences Clemson University Compact Sets James K. Peterson Department of Biological Sciences and Department of Mathematical Sciences Clemson University September 15, 2017 Outline 1 Closed Sets 2 Compactness 3 Homework Closed Sets

More information

Cluster algebras and infinite associahedra

Cluster algebras and infinite associahedra Cluster algebras and infinite associahedra Nathan Reading NC State University CombinaTexas 2008 Coxeter groups Associahedra and cluster algebras Sortable elements/cambrian fans Infinite type Much of the

More information

MATHEMATICAL STRUCTURES FOR COMPUTER SCIENCE

MATHEMATICAL STRUCTURES FOR COMPUTER SCIENCE MATHEMATICAL STRUCTURES FOR COMPUTER SCIENCE A Modern Approach to Discrete Mathematics SIXTH EDITION Judith L. Gersting University of Hawaii at Hilo W. H. Freeman and Company New York Preface Note to the

More information

Theorem 2.9: nearest addition algorithm

Theorem 2.9: nearest addition algorithm There are severe limits on our ability to compute near-optimal tours It is NP-complete to decide whether a given undirected =(,)has a Hamiltonian cycle An approximation algorithm for the TSP can be used

More information

Programming Languages and Compilers Qualifying Examination. Answer 4 of 6 questions.1

Programming Languages and Compilers Qualifying Examination. Answer 4 of 6 questions.1 Programming Languages and Compilers Qualifying Examination Monday, September 19, 2016 Answer 4 of 6 questions.1 GENERAL INSTRUCTIONS 1. Answer each question in a separate book. 2. Indicate on the cover

More information

The SMT-LIB 2 Standard: Overview and Proposed New Theories

The SMT-LIB 2 Standard: Overview and Proposed New Theories 1 / 23 The SMT-LIB 2 Standard: Overview and Proposed New Theories Philipp Rümmer Oxford University Computing Laboratory philr@comlab.ox.ac.uk Third Workshop on Formal and Automated Theorem Proving and

More information

Bounded Model Checking Of C Programs: CBMC Tool Overview

Bounded Model Checking Of C Programs: CBMC Tool Overview Workshop on Formal Verification and Analysis Tools, CFDVS, IIT-Bombay - Feb 21,2017 Bounded Model Checking Of C Programs: CBMC Tool Overview Prateek Saxena CBMC Developed and Maintained by Dr Daniel Kröning

More information

Abstract algorithms. Claus Diem. September 17, 2014

Abstract algorithms. Claus Diem. September 17, 2014 Abstract algorithms Claus Diem September 17, 2014 Abstract We give a framework to argue formally about algorithms with arbitrary data types. The framework is based on category theory, and types are based

More information

Integer Programming Theory

Integer Programming Theory Integer Programming Theory Laura Galli October 24, 2016 In the following we assume all functions are linear, hence we often drop the term linear. In discrete optimization, we seek to find a solution x

More information

An Evolution of Mathematical Tools

An Evolution of Mathematical Tools An Evolution of Mathematical Tools From Conceptualization to Formalization Here's what we do when we build a formal model (or do a computation): 0. Identify a collection of objects/events in the real world.

More information

CITS5501 Software Testing and Quality Assurance Formal methods

CITS5501 Software Testing and Quality Assurance Formal methods CITS5501 Software Testing and Quality Assurance Formal methods Unit coordinator: Arran Stewart May 1, 2018 1 / 49 Sources Pressman, R., Software Engineering: A Practitioner s Approach, McGraw-Hill, 2005

More information

Counting multiplicity over infinite alphabets

Counting multiplicity over infinite alphabets Counting multiplicity over infinite alphabets Amal Dev Manuel and R. Ramanujam The Institute of Mathematical Sciences, Chennai, India {amal,jam}@imsc.res.in Summary Motivation for infinite data. We need

More information

CS446: Machine Learning Fall Problem Set 4. Handed Out: October 17, 2013 Due: October 31 th, w T x i w

CS446: Machine Learning Fall Problem Set 4. Handed Out: October 17, 2013 Due: October 31 th, w T x i w CS446: Machine Learning Fall 2013 Problem Set 4 Handed Out: October 17, 2013 Due: October 31 th, 2013 Feel free to talk to other members of the class in doing the homework. I am more concerned that you

More information

8 Matroid Intersection

8 Matroid Intersection 8 Matroid Intersection 8.1 Definition and examples 8.2 Matroid Intersection Algorithm 8.1 Definitions Given two matroids M 1 = (X, I 1 ) and M 2 = (X, I 2 ) on the same set X, their intersection is M 1

More information

6.170 Lecture 6 Procedure specifications MIT EECS

6.170 Lecture 6 Procedure specifications MIT EECS 6.170 Lecture 6 Procedure specifications MIT EECS Outline Satisfying a specification; substitutability Stronger and weaker specifications Comparing by hand Comparing via logical formulas Comparing via

More information

F-Soft: Software Verification Platform

F-Soft: Software Verification Platform F-Soft: Software Verification Platform F. Ivančić, Z. Yang, M.K. Ganai, A. Gupta, I. Shlyakhter, and P. Ashar NEC Laboratories America, 4 Independence Way, Suite 200, Princeton, NJ 08540 fsoft@nec-labs.com

More information

A.1 Numbers, Sets and Arithmetic

A.1 Numbers, Sets and Arithmetic 522 APPENDIX A. MATHEMATICS FOUNDATIONS A.1 Numbers, Sets and Arithmetic Numbers started as a conceptual way to quantify count objects. Later, numbers were used to measure quantities that were extensive,

More information

Timed Automata: Semantics, Algorithms and Tools

Timed Automata: Semantics, Algorithms and Tools Timed Automata: Semantics, Algorithms and Tools Johan Bengtsson and Wang Yi Uppsala University Email: {johanb,yi}@it.uu.se Abstract. This chapter is to provide a tutorial and pointers to results and related

More information

Software Model Checking. Xiangyu Zhang

Software Model Checking. Xiangyu Zhang Software Model Checking Xiangyu Zhang Symbolic Software Model Checking CS510 S o f t w a r e E n g i n e e r i n g Symbolic analysis explicitly explores individual paths, encodes and resolves path conditions

More information

1.3. Conditional expressions To express case distinctions like

1.3. Conditional expressions To express case distinctions like Introduction Much of the theory developed in the underlying course Logic II can be implemented in a proof assistant. In the present setting this is interesting, since we can then machine extract from a

More information

Programming Languages Third Edition

Programming Languages Third Edition Programming Languages Third Edition Chapter 12 Formal Semantics Objectives Become familiar with a sample small language for the purpose of semantic specification Understand operational semantics Understand

More information

Foundations of AI. 9. Predicate Logic. Syntax and Semantics, Normal Forms, Herbrand Expansion, Resolution

Foundations of AI. 9. Predicate Logic. Syntax and Semantics, Normal Forms, Herbrand Expansion, Resolution Foundations of AI 9. Predicate Logic Syntax and Semantics, Normal Forms, Herbrand Expansion, Resolution Wolfram Burgard, Andreas Karwath, Bernhard Nebel, and Martin Riedmiller 09/1 Contents Motivation

More information

Lecture 15: The subspace topology, Closed sets

Lecture 15: The subspace topology, Closed sets Lecture 15: The subspace topology, Closed sets 1 The Subspace Topology Definition 1.1. Let (X, T) be a topological space with topology T. subset of X, the collection If Y is a T Y = {Y U U T} is a topology

More information

On Asymptotic Cost of Triangle Listing in Random Graphs

On Asymptotic Cost of Triangle Listing in Random Graphs On Asymptotic Cost of Triangle Listing in Random Graphs Di Xiao, Yi Cui, Daren B.H. Cline, Dmitri Loguinov Internet Research Lab Department of Computer Science and Engineering Texas A&M University May

More information

Complexity Classes and Polynomial-time Reductions

Complexity Classes and Polynomial-time Reductions COMPSCI 330: Design and Analysis of Algorithms April 19, 2016 Complexity Classes and Polynomial-time Reductions Lecturer: Debmalya Panigrahi Scribe: Tianqi Song 1 Overview In this lecture, we introduce

More information

Topological space - Wikipedia, the free encyclopedia

Topological space - Wikipedia, the free encyclopedia Page 1 of 6 Topological space From Wikipedia, the free encyclopedia Topological spaces are mathematical structures that allow the formal definition of concepts such as convergence, connectedness, and continuity.

More information

On Generalization of Fuzzy Concept Lattices Based on Change of Underlying Fuzzy Order

On Generalization of Fuzzy Concept Lattices Based on Change of Underlying Fuzzy Order On Generalization of Fuzzy Concept Lattices Based on Change of Underlying Fuzzy Order Pavel Martinek Department of Computer Science, Palacky University, Olomouc Tomkova 40, CZ-779 00 Olomouc, Czech Republic

More information

Fuzzy logic. 1. Introduction. 2. Fuzzy sets. Radosªaw Warzocha. Wrocªaw, February 4, Denition Set operations

Fuzzy logic. 1. Introduction. 2. Fuzzy sets. Radosªaw Warzocha. Wrocªaw, February 4, Denition Set operations Fuzzy logic Radosªaw Warzocha Wrocªaw, February 4, 2014 1. Introduction A fuzzy concept appearing in works of many philosophers, eg. Hegel, Nietzche, Marx and Engels, is a concept the value of which can

More information

Lecture 4. First order logic is a formal notation for mathematics which involves:

Lecture 4. First order logic is a formal notation for mathematics which involves: 0368.4435 Automatic Software Verification April 14, 2015 Lecture 4 Lecturer: Mooly Sagiv Scribe: Nimrod Busany, Yotam Frank Lesson Plan 1. First order logic recap. 2. The SMT decision problem. 3. Basic

More information

A NEW PROOF-ASSISTANT THAT REVISITS HOMOTOPY TYPE THEORY THE THEORETICAL FOUNDATIONS OF COQ USING NICOLAS TABAREAU

A NEW PROOF-ASSISTANT THAT REVISITS HOMOTOPY TYPE THEORY THE THEORETICAL FOUNDATIONS OF COQ USING NICOLAS TABAREAU COQHOTT A NEW PROOF-ASSISTANT THAT REVISITS THE THEORETICAL FOUNDATIONS OF COQ USING HOMOTOPY TYPE THEORY NICOLAS TABAREAU The CoqHoTT project Design and implement a brand-new proof assistant by revisiting

More information

3.4 Deduction and Evaluation: Tools Conditional-Equational Logic

3.4 Deduction and Evaluation: Tools Conditional-Equational Logic 3.4 Deduction and Evaluation: Tools 3.4.1 Conditional-Equational Logic The general definition of a formal specification from above was based on the existence of a precisely defined semantics for the syntax

More information

CSC Discrete Math I, Spring Sets

CSC Discrete Math I, Spring Sets CSC 125 - Discrete Math I, Spring 2017 Sets Sets A set is well-defined, unordered collection of objects The objects in a set are called the elements, or members, of the set A set is said to contain its

More information

Reductions. Linear Time Reductions. Desiderata. Reduction. Desiderata. Classify problems according to their computational requirements.

Reductions. Linear Time Reductions. Desiderata. Reduction. Desiderata. Classify problems according to their computational requirements. Desiderata Reductions Desiderata. Classify problems according to their computational requirements. Frustrating news. Huge number of fundamental problems have defied classification for decades. Desiderata'.

More information

Consistency and Set Intersection

Consistency and Set Intersection Consistency and Set Intersection Yuanlin Zhang and Roland H.C. Yap National University of Singapore 3 Science Drive 2, Singapore {zhangyl,ryap}@comp.nus.edu.sg Abstract We propose a new framework to study

More information

Lectures 20, 21: Axiomatic Semantics

Lectures 20, 21: Axiomatic Semantics Lectures 20, 21: Axiomatic Semantics Polyvios Pratikakis Computer Science Department, University of Crete Type Systems and Static Analysis Based on slides by George Necula Pratikakis (CSD) Axiomatic Semantics

More information

CSCI.6962/4962 Software Verification Fundamental Proof Methods in Computer Science (Arkoudas and Musser) Sections p.

CSCI.6962/4962 Software Verification Fundamental Proof Methods in Computer Science (Arkoudas and Musser) Sections p. CSCI.6962/4962 Software Verification Fundamental Proof Methods in Computer Science (Arkoudas and Musser) Sections 10.1-10.3 p. 1/106 CSCI.6962/4962 Software Verification Fundamental Proof Methods in Computer

More information

EXTENSIONS OF FIRST ORDER LOGIC

EXTENSIONS OF FIRST ORDER LOGIC EXTENSIONS OF FIRST ORDER LOGIC Maria Manzano University of Barcelona CAMBRIDGE UNIVERSITY PRESS Table of contents PREFACE xv CHAPTER I: STANDARD SECOND ORDER LOGIC. 1 1.- Introduction. 1 1.1. General

More information

Advanced Operations Research Techniques IE316. Quiz 1 Review. Dr. Ted Ralphs

Advanced Operations Research Techniques IE316. Quiz 1 Review. Dr. Ted Ralphs Advanced Operations Research Techniques IE316 Quiz 1 Review Dr. Ted Ralphs IE316 Quiz 1 Review 1 Reading for The Quiz Material covered in detail in lecture. 1.1, 1.4, 2.1-2.6, 3.1-3.3, 3.5 Background material

More information

Having a BLAST with SLAM

Having a BLAST with SLAM Having a BLAST with SLAM # #2 Topic: Software Model Checking via Counter-Example Guided Abstraction Refinement There are easily two dozen SLAM/BLAST/MAGIC papers; I will skim. #3 SLAM Overview INPUT: Program

More information

CS 531: Notes II. January 31, 2014

CS 531: Notes II. January 31, 2014 CS 531: Notes II January 31, 2014 1 Acceptable and Decidable Languages Let P be a program and x be a string. What happens when we run P on on input x. There are there possibilities. i) The program runs

More information

HECTOR: Formal System-Level to RTL Equivalence Checking

HECTOR: Formal System-Level to RTL Equivalence Checking ATG SoC HECTOR: Formal System-Level to RTL Equivalence Checking Alfred Koelbl, Sergey Berezin, Reily Jacoby, Jerry Burch, William Nicholls, Carl Pixley Advanced Technology Group Synopsys, Inc. June 2008

More information

Topology - I. Michael Shulman WOMP 2004

Topology - I. Michael Shulman WOMP 2004 Topology - I Michael Shulman WOMP 2004 1 Topological Spaces There are many different ways to define a topological space; the most common one is as follows: Definition 1.1 A topological space (often just

More information