On partial order semantics for SAT/SMT-based symbolic encodings of weak memory concurrency
|
|
- Emory Young
- 5 years ago
- Views:
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
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 informationDeductive 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 information3 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 information3.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 informationCSCI.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 informationLecture 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 informationVS 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 informationPrinciples 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 informationA 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 informationThe 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 informationMA651 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 informationCS 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 informationHarvard 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 informationaxiomatic 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 informationAXIOMS 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 informationDuet: 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 informationHandout 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 informationMathematical 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 informationDistributed 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 informationIntegers 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 informationPooya 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 informationCompositional 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 informationRewriting 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 informationManifolds. 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 informationSTABILITY 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 informationNote 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 informationThis 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 informationDPLL(Γ+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 informationThe 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 informationNegations 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 informationMath 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 informationLecture 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 informationIntroduction 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 informationLecture 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 informationFrom 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 informationResource-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 informationMath 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 informationFormalization 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 informationHybrid 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 information9.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 informationComplete 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 informationInterpretations 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 informationReduction 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 informationComputer 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 informationHandbook 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 informationDynamic 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 informationTree 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 informationWe 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 informationPrinciples 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 informationHö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 informationProgram 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 informationTOPOLOGY, 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 informationSymbolic 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 informationA 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 informationHoare 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 informationAbstract 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 informationSMT-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 informationDiscrete 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 informationCompact 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 informationCluster 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 informationMATHEMATICAL 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 informationTheorem 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 informationProgramming 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 informationThe 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 informationBounded 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 informationAbstract 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 informationInteger 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 informationAn 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 informationCITS5501 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 informationCounting 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 informationCS446: 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 information8 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 information6.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 informationF-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 informationA.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 informationTimed 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 informationSoftware 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 information1.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 informationProgramming 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 informationFoundations 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 informationLecture 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 informationOn 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 informationComplexity 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 informationTopological 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 informationOn 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 informationFuzzy 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 informationLecture 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 informationA 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 information3.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 informationCSC 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 informationReductions. 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 informationConsistency 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 informationLectures 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 informationCSCI.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 informationEXTENSIONS 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 informationAdvanced 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 informationHaving 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 informationCS 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 informationHECTOR: 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 informationTopology - 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