Logic in Automatic Verification
|
|
- Jessie Blake
- 5 years ago
- Views:
Transcription
1 Logic in Automatic Verification Javier Esparza Sofware Reliability and Security Group Institute for Formal Methods in Computer Science University of Stuttgart Many thanks to Abdelwaheb Ayari, David Basin, Armin Biere, Paul Gastin and Denis Oddoux
2 Automatic verification The dream: feed a machine with a system and a specification push a button get yes or no, because... In this talk: three small examples of application of decision procedures for logics to this problem SAT / QBF Temporal logics Monadic second order logics 2
3 Verifying adders with boolean logic
4 Modelling circuits with QBL Gates as boolean formulas Stable states as satisfying truth assignments a not b a b and c a b or c a b xor c not(a, b) a b and(a, b, c) (a b) c or(a, b, c) (a b) c xor(a, b, c) (( a b) (a b)) c 3
5 Combine gates with, (and renaming of variables) x y a b R d c w b c a R2 d q R r s R(x, y, q, r, s) = w. R (x, y, w, q) R 2 (y, w, r, s) 4
6 A full adder cout cin a b s... a b cin w w2 w3 s cout full adder(a, b, s, cin, cout) w, w 2, w 3. xor(a, b, w ) xor(w, cin, out) and(a, b, w 2 ) and(cin, w, w 3 ) or(w 3, w 2, cout) 5
7 An n-bit ripple-carry adder c 2 c cin (= 0) a 2 a a 0 + b 2 b b 0 cout s 2 s s 0 Wire together n -bit adders where ith carry-out is i+st carry-in, first carry is the carry-in and last is the carry-out. cout b2 a2 b a b0 a0 adder adder adder c2 s2 s s0 c cin c0 6
8 We obtain the formula adder n (a 0,..., a n, b 0,..., b n, s 0,..., s n, cin, cout) Problem: too slow!! c 0,..., c n. (c 0 cin) (c n cout) n i= full adder(a i, b i, s i, c i, c i+ )) Each c i can only be computed after all of c i,..., c 0 have been computed Delay: 2n + 2 time units for n-bit numbers 7
9 A carry-look-ahead n-adder Compute all of c n,..., c 0 (and cout) concurrently First step: given a n... a 0 and b n... b 0, identify the i [0, n ] that are Generating: c i+ independently of c i. These are the positions such that = g i and(a i, b i ). Propagating: c i+ c i, i.e., c i is propagated to c i+. These are the positions such that = p i xor(a i, b i ) Observe: all g i, p i can be computed simultaneously Second step: compute the c i s by c i g i (p i g i ) (p i p i g i 2 )... (p i p i... g 0 ) Logarithmic delay in n using balanced -trees and -trees Delay depends on tree structure. For 64 bits: units (instead of 30) 8
10 Description of the circuit cin RootCell cout NodeCell NodeCell NodeCell LeafCell LeafCell LeafCell LeafCell a0 b0 s 0 a b s a2b2 s2 a3b3 s 3 9
11 Description of the circuit II f f 2 e e 2 z z2 s a b LeafCell circuit x 2 x circuit y 2 y f f e e 2 2 cin cout f f e e 0 2 NodeCell circuit 2 f f e e 2 f f 2 e e 2 RootCell circuit 0
12 Verification of the carry-look-ahead n-adder Check if adder n (a 0,..., a n, b 0,..., b n, s 0,..., s n, cin, cout) cla n (a 0,..., a n, b 0,..., b n, s 0,..., s n, cin, cout) Use SAT solvers or QBF solvers Results of the SAT 2002 competition on a variant of this problem: Task was to compare 2, 4, 8,..., 256 bits adders (8 problems) From 26 variables and 70 3CNF clauses to 4584 variables and 3226 clauses Fastest solver (Zchaff) checked all 8 problems in 4 seconds More info at Rule-of-thumb: circuits with some hundreds of gates are routinedly solved
13 Verifying mutual exclusion algorithms with propositional temporal logics
14 The mutual exclusion problem The setting: Two computers connected to a database (e.g., of plane bookings) Can communicate with each other through shared variables (i.e., variables that both can read and write) Both computers run a program having a critical section, from which the program can update the database records The problem: design the program run by the computers so that At any time, at most one computer can be in the critical section If a computer wishes to enter the critical section, it eventually will These properties still hold if any of the computers breaks down in the non-critical section Observe: not an input/output system! 2
15 A solution due to Peterson var flag[0], flag[] : {true, false} init false; var turn : {0,}; while true do s 0 non-critical section s flag[0] := true; s 2 turn := ; s 3 while (flag[] and turn=) skip ; s 4 critical section s 5 flag[0] := false; od while true do r 0 non-critical section r flag[] := true; r 2 turn := 0; r 3 while (flag[0] and turn=0) skip ; r 4 critical section r 5 flag[] := false; od 3
16 Linear-time temporal logic (LTL) Built on top of a set AP of atomic propositions World: valuation of the atomic propositions over {true, false} Formulas of LTL interpreted over runs: infinite sequences of worlds Notation: run ρ = ρ 0 ρ ρ 2... suffix ρ i = ρ i ρ i+ ρ i
17 Type Formula ρ = ϕ iff... Intuition atomic p p is true at ρ 0 p holds now boolean ϕ ρ = ϕ ϕ ψ ρ = ϕ or ρ = ψ temporal X ϕ ρ = ϕ ϕ holds next F ϕ ρ i = ϕ for some i N eventually ϕ G ϕ ρ i = ϕ for all i N always ϕ ϕ U ψ there is i N such that ρ i = ψ and ρ j = ϕ for all 0 j < i ϕ until ψ 5
18 Application to the mutex algorithm Atomic propositions: flag[0] = true, at s 4,... The program satisfies a property if all its runs (executions) satisfy it The mutual exclusion property: G( at s 4 at r 4 ) If computer 0 wants to enter the critical section, it eventually will: G(flag[0] = true F at s 4 ) But this property does not take breakdowns out of the non-critical section into account... 6
19 Dealing with breakdowns Introduce propositions last 0, last saying which computer did the last step No breakdowns for computer 0: G F last 0 No breakdowns for computer 0 but possibly in the non-critical section: G F last 0 F G at s 0 The final property to be checked: (G F last 0 F G at s 0 ) (G F last F G at r 0 ) = G(flag[0] = true F at r 4 ) G(flag[] = true F at s 4 ) 7
20 Automatic verification The model-checking problem: whether all runs of the algorithm satisfy a given LTL formula Can be algorithmically solved in three steps (Vardi, Wolper 85): Construct a Büchi automaton for the negation of the formula (decision procedure for satisfiability) Construct the product of this automaton and the state space of the system Check emptyness of the product Linear complexity in the number of states of the program, exponential complexity in the size of the formula Formula verified in less than one second with Holzmann s SPIN checker ( 8
21 Automaton for the formula LTL2BA by Gastin and Oddoux ( oddoux/ltl2ba/) Quite sophisticated: formula alternating Büchi generalized Büchi Büchi, with simplification heuristics at each step The automaton for the negation of the formula has 36 states 9
22 Verifying parameterized adders with monadic second order logics
23 WSS : weak MSO logic of one successor First order variables p, q,... interpreted over N Second-order variables X, Y,... interpreted over finite subsets of N φ ::= p = s(q) p X φ φ φ p. φ X. φ 20
24 Definitions (Sample) φ φ 2 ( φ φ 2 ) p. φ p. φ X(p) p X X(0) p. ( q. p s(q)) X(p) X(p + n) p,..., p n. p = s(p)... p n = s(p n ) X(p n ) x = y X. X(x) X(y) x y X. (X(y) z, w. (X(z) s(w) = z X(w)) X(x)) x < y x y (x = y) 2
25 WSS as a logic of binary strings Second-order variables interpreted as strings over {0, } First-order variables interpreted as positions in the string X(p) holds iff string X has a at position p Formula φ with free variables determines a language L(φ) 0 L(X() X(3)) 0 L(X() X(3)) n free variables in φ determine language over {0, } n p. p < 4 (X(p) Y (p)) X 0 0 Y 0 0 L(φ) and X 0 Y / L(φ) 22
26 Examples p, q. p q X(p) X(q) X is a string with a in at least 2 positions, e.g., 0000 p. ( q. p s(q)) X(p) X is a string whose initial letter is p. X(p) Y (s(p)) Y is X right-shifted position, e.g.,
27 Well-known results Satisfiability of WSS is decidable in non-elementary time (each quantifier alternation adds one exponential) The language L(φ) is regular A finite automaton accepting L(φ) can be computed directly from φ 24
28 Modelling the family of ALL ripple-carry adders Recall the formula for a ripple carry n-adder adder n (a 0,..., a n, b 0,..., b n, s 0,..., s n, cin, cout) c 0,..., c n. (c 0 cin) (c n cout) n i=0 We construct the WSS formula adder(n, A, B, S, cin, cout) full adder(a i, b i, s i, c i, c i+ ) C. (C(0) cin) (C(n) cout) p. p < n full adder(a(p), B(p), S(p), C(p), C(p + )) p. p n ( A(p) B(p) S(p)) 25
29 A model of adder(a, B, S, cin, cout) A B S n = 4 cin = 0 cout = 0 The set of models of adder is the union of all the sets of models of adder n 26
30 WS2S : weak MSO logic of two successors Seen as a logic over binary trees Second-order variables interpreted as trees over {0, } First-order variables interpreted as positions (nodes) in the tree Example: X(ɛ) ( p. X(s 0 (p)) X(s (p))) p. Y (s 0 (p)) Y (s (p)) X contains the root node ɛ, and a node p is in X iff its brother is also in X, and for any node p, Y contains at most one of p s successors 27
31 Models A model of a formula with n free variables is a superposition of trees over B, i.e., a tree whose nodes are labelled with elements of {0, } n The tree is a model of X(ɛ) ( p. X(s 0 (p)) X(s (p))) p. Y (s 0 (p)) Y (s (p)) 28
32 Modelling the family of ALL carry-look-ahead adders cin RootCell cout NodeCell NodeCell NodeCell LeafCell LeafCell LeafCell LeafCell a0 b0 s 0 a b s a2b2 s2 a3b3 s 3 29
33 The family can be modelled by the formula cla(a, B, S, cin, cout) T, E, E 2, F, F 2 RootCell(F, F 2, E, E 2, cin, cout) ( p.(leaf(p, T ) LeafCell(A, B, S, F, F 2, E, E 2, p)) (node(p, T ) NodeCell(F, F 2, E, E 2, p))) shape cond(a, B, S, T ) 30
34 Verification of a parameterized cla-adder Check validity of A, B, S, cin, cout. adder(a, B, S, cin, cout) cla(a, B, S, cin, cout) (Requires to embed WSS into WS2S) Checked in second by MONA (Mona at mona) Restrictions: only array or tree structures only one parameter (two parameters quantification on binary relations) 3
35 Conclusions : no conclusions, just examples! 32
36 Conclusions No conclusions, just examples! 33
Linear Temporal Logic and Büchi Automata
Linear Temporal Logic and Büchi Automata Yih-Kuen Tsay Department of Information Management National Taiwan University FLOLAC 2009 Yih-Kuen Tsay (SVVRL @ IM.NTU) Linear Temporal Logic and Büchi Automata
More informationFormal Verification Techniques. Riccardo Sisto, Politecnico di Torino
Formal Verification Techniques Riccardo Sisto, Politecnico di Torino State exploration State Exploration and Theorem Proving Exhaustive exploration => result is certain (correctness or noncorrectness proof)
More informationComp487/587 - Boolean Formulas
Comp487/587 - Boolean Formulas 1 Logic and SAT 1.1 What is a Boolean Formula Logic is a way through which we can analyze and reason about simple or complicated events. In particular, we are interested
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 informationThe Complexity of Computing the Behaviour of Lattice Automata on Infinite Trees
The Complexity of Computing the Behaviour of Lattice Automata on Infinite Trees Karsten Lehmann a, Rafael Peñaloza b a Optimisation Research Group, NICTA Artificial Intelligence Group, Australian National
More informationBounded Model Checking with SAT/SMT. Edmund M. Clarke School of Computer Science Carnegie Mellon University 1/39
Bounded Model Checking with SAT/SMT Edmund M. Clarke School of Computer Science Carnegie Mellon University 1/39 Recap: Symbolic Model Checking with BDDs Method used by most industrial strength model checkers:
More informationCS256/Spring 2008 Lecture #11 Zohar Manna. Beyond Temporal Logics
CS256/Spring 2008 Lecture #11 Zohar Manna Beyond Temporal Logics Temporal logic expresses properties of infinite sequences of states, but there are interesting properties that cannot be expressed, e.g.,
More informationLOGIC PROPOSITIONAL REASONING
LOGIC PROPOSITIONAL REASONING WS 2017/2018 (342.208) Armin Biere Martina Seidl biere@jku.at martina.seidl@jku.at Institute for Formal Models and Verification Johannes Kepler Universität Linz Version 2018.1
More informationAutomata, Logic and Games: Theory and Application
Automata, Logic and Games: Theory and Application 1. Büchi Automata and S1S Luke Ong University of Oxford TACL Summer School University of Salerno, 14-19 June 2015 Luke Ong Büchi Automata & S1S 14-19 June
More informationLecturecise 22 Weak monadic second-order theory of one successor (WS1S)
Lecturecise 22 Weak monadic second-order theory of one successor (WS1S) 2013 Reachability in the Heap Many programs manipulate linked data structures (lists, trees). To express many important properties
More informationChapter 4: Computation tree logic
INFOF412 Formal verification of computer systems Chapter 4: Computation tree logic Mickael Randour Formal Methods and Verification group Computer Science Department, ULB March 2017 1 CTL: a specification
More informationLogic Model Checking
Logic Model Checking Lecture Notes 10:18 Caltech 101b.2 January-March 2004 Course Text: The Spin Model Checker: Primer and Reference Manual Addison-Wesley 2003, ISBN 0-321-22862-6, 608 pgs. the assignment
More informationPropositional Logic: Evaluating the Formulas
Institute for Formal Models and Verification Johannes Kepler University Linz VL Logik (LVA-Nr. 342208) Winter Semester 2015/2016 Propositional Logic: Evaluating the Formulas Version 2015.2 Armin Biere
More informationHelsinki University of Technology Laboratory for Theoretical Computer Science Research Reports 66
Helsinki University of Technology Laboratory for Theoretical Computer Science Research Reports 66 Teknillisen korkeakoulun tietojenkäsittelyteorian laboratorion tutkimusraportti 66 Espoo 2000 HUT-TCS-A66
More informationTemporal logics and explicit-state model checking. Pierre Wolper Université de Liège
Temporal logics and explicit-state model checking Pierre Wolper Université de Liège 1 Topics to be covered Introducing explicit-state model checking Finite automata on infinite words Temporal Logics and
More informationPOLYNOMIAL SPACE QSAT. Games. Polynomial space cont d
T-79.5103 / Autumn 2008 Polynomial Space 1 T-79.5103 / Autumn 2008 Polynomial Space 3 POLYNOMIAL SPACE Polynomial space cont d Polynomial space-bounded computation has a variety of alternative characterizations
More informationComputer-Aided Program Design
Computer-Aided Program Design Spring 2015, Rice University Unit 3 Swarat Chaudhuri February 5, 2015 Temporal logic Propositional logic is a good language for describing properties of program states. However,
More informationIntroduction to Artificial Intelligence Propositional Logic & SAT Solving. UIUC CS 440 / ECE 448 Professor: Eyal Amir Spring Semester 2010
Introduction to Artificial Intelligence Propositional Logic & SAT Solving UIUC CS 440 / ECE 448 Professor: Eyal Amir Spring Semester 2010 Today Representation in Propositional Logic Semantics & Deduction
More informationIntroduction to Model Checking. Debdeep Mukhopadhyay IIT Madras
Introduction to Model Checking Debdeep Mukhopadhyay IIT Madras How good can you fight bugs? Comprising of three parts Formal Verification techniques consist of three parts: 1. A framework for modeling
More informationAutomata on Infinite words and LTL Model Checking
Automata on Infinite words and LTL Model Checking Rodica Condurache Lecture 4 Lecture 4 Automata on Infinite words and LTL Model Checking 1 / 35 Labeled Transition Systems Let AP be the (finite) set of
More informationMinimising Deterministic Büchi Automata Precisely using SAT Solving
Minimising Deterministic Büchi Automata Precisely using SAT Solving Rüdiger Ehlers Saarland University, Reactive Systems Group SAT 2010 July 14, 2010 Rüdiger Ehlers (SB) DBA Minimization SAT 2010 July
More informationIntroduction to Temporal Logic. The purpose of temporal logics is to specify properties of dynamic systems. These can be either
Introduction to Temporal Logic The purpose of temporal logics is to specify properties of dynamic systems. These can be either Desired properites. Often liveness properties like In every infinite run action
More informationChapter 3: Linear temporal logic
INFOF412 Formal verification of computer systems Chapter 3: Linear temporal logic Mickael Randour Formal Methods and Verification group Computer Science Department, ULB March 2017 1 LTL: a specification
More informationReasoning with Quantified Boolean Formulas
Reasoning with Quantified Boolean Formulas Martina Seidl Institute for Formal Models and Verification Johannes Kepler University Linz 1 What are QBF? Quantified Boolean formulas (QBF) are formulas of propositional
More informationAlan Bundy. Automated Reasoning LTL Model Checking
Automated Reasoning LTL Model Checking Alan Bundy Lecture 9, page 1 Introduction So far we have looked at theorem proving Powerful, especially where good sets of rewrite rules or decision procedures have
More informationT Reactive Systems: Temporal Logic LTL
Tik-79.186 Reactive Systems 1 T-79.186 Reactive Systems: Temporal Logic LTL Spring 2005, Lecture 4 January 31, 2005 Tik-79.186 Reactive Systems 2 Temporal Logics Temporal logics are currently the most
More informationLinear-Time Logic. Hao Zheng
Linear-Time Logic Hao Zheng Department of Computer Science and Engineering University of South Florida Tampa, FL 33620 Email: zheng@cse.usf.edu Phone: (813)974-4757 Fax: (813)974-5456 Hao Zheng (CSE, USF)
More informationA brief introduction to Logic. (slides from
A brief introduction to Logic (slides from http://www.decision-procedures.org/) 1 A Brief Introduction to Logic - Outline Propositional Logic :Syntax Propositional Logic :Semantics Satisfiability and validity
More informationNP-Complete problems
NP-Complete problems NP-complete problems (NPC): A subset of NP. If any NP-complete problem can be solved in polynomial time, then every problem in NP has a polynomial time solution. NP-complete languages
More informationAutomata-Theoretic Model Checking of Reactive Systems
Automata-Theoretic Model Checking of Reactive Systems Radu Iosif Verimag/CNRS (Grenoble, France) Thanks to Tom Henzinger (IST, Austria), Barbara Jobstmann (CNRS, Grenoble) and Doron Peled (Bar-Ilan University,
More informationFinite-State Model Checking
EECS 219C: Computer-Aided Verification Intro. to Model Checking: Models and Properties Sanjit A. Seshia EECS, UC Berkeley Finite-State Model Checking G(p X q) Temporal logic q p FSM Model Checker Yes,
More informationSolvers for the Problem of Boolean Satisfiability (SAT) Will Klieber Aug 31, 2011
Solvers for the Problem of Boolean Satisfiability (SAT) Will Klieber 15-414 Aug 31, 2011 Why study SAT solvers? Many problems reduce to SAT. Formal verification CAD, VLSI Optimization AI, planning, automated
More informationChapter 2. Reductions and NP. 2.1 Reductions Continued The Satisfiability Problem (SAT) SAT 3SAT. CS 573: Algorithms, Fall 2013 August 29, 2013
Chapter 2 Reductions and NP CS 573: Algorithms, Fall 2013 August 29, 2013 2.1 Reductions Continued 2.1.1 The Satisfiability Problem SAT 2.1.1.1 Propositional Formulas Definition 2.1.1. Consider a set of
More informationQuantified Boolean Formulas: Complexity and Expressiveness
Dagstuhl SAT Interactions 2012 Quantified Boolean Formulas: Complexity and Expressiveness Uwe Bubeck University of Paderborn 20.11.2012 Outline Introduction Free Variables and Equivalence Complexity Expressiveness
More informationTimo Latvala. February 4, 2004
Reactive Systems: Temporal Logic LT L Timo Latvala February 4, 2004 Reactive Systems: Temporal Logic LT L 8-1 Temporal Logics Temporal logics are currently the most widely used specification formalism
More informationAutomata-based Verification - III
COMP30172: Advanced Algorithms Automata-based Verification - III Howard Barringer Room KB2.20: email: howard.barringer@manchester.ac.uk March 2009 Third Topic Infinite Word Automata Motivation Büchi Automata
More informationAdders - Subtractors
Adders - Subtractors Lesson Objectives: The objectives of this lesson are to learn about: 1. Half adder circuit. 2. Full adder circuit. 3. Binary parallel adder circuit. 4. Half subtractor circuit. 5.
More informationRabin Theory and Game Automata An Introduction
Rabin Theory and Game Automata An Introduction Ting Zhang Stanford University November 2002 Logic Seminar 1 Outline 1. Monadic second-order theory of two successors (S2S) 2. Rabin Automata 3. Game Automata
More informationTemporal Logic Model Checking
18 Feb, 2009 Thomas Wahl, Oxford University Temporal Logic Model Checking 1 Temporal Logic Model Checking Thomas Wahl Computing Laboratory, Oxford University 18 Feb, 2009 Thomas Wahl, Oxford University
More informationModel Checking: An Introduction
Model Checking: An Introduction Meeting 3, CSCI 5535, Spring 2013 Announcements Homework 0 ( Preliminaries ) out, due Friday Saturday This Week Dive into research motivating CSCI 5535 Next Week Begin foundations
More informationLecture Notes on Emptiness Checking, LTL Büchi Automata
15-414: Bug Catching: Automated Program Verification Lecture Notes on Emptiness Checking, LTL Büchi Automata Matt Fredrikson André Platzer Carnegie Mellon University Lecture 18 1 Introduction We ve seen
More informationComplexity Theory VU , SS The Polynomial Hierarchy. Reinhard Pichler
Complexity Theory Complexity Theory VU 181.142, SS 2018 6. The Polynomial Hierarchy Reinhard Pichler Institut für Informationssysteme Arbeitsbereich DBAI Technische Universität Wien 15 May, 2018 Reinhard
More informationOutline. Complexity Theory EXACT TSP. The Class DP. Definition. Problem EXACT TSP. Complexity of EXACT TSP. Proposition VU 181.
Complexity Theory Complexity Theory Outline Complexity Theory VU 181.142, SS 2018 6. The Polynomial Hierarchy Reinhard Pichler Institut für Informationssysteme Arbeitsbereich DBAI Technische Universität
More informationProbabilistic Model Checking Michaelmas Term Dr. Dave Parker. Department of Computer Science University of Oxford
Probabilistic Model Checking Michaelmas Term 2011 Dr. Dave Parker Department of Computer Science University of Oxford Overview Temporal logic Non-probabilistic temporal logic CTL Probabilistic temporal
More informationPartially Ordered Two-way Büchi Automata
Partially Ordered Two-way Büchi Automata Manfred Kufleitner Alexander Lauser FMI, Universität Stuttgart, Germany {kufleitner, lauser}@fmi.uni-stuttgart.de June 14, 2010 Abstract We introduce partially
More informationAutomata-based Verification - III
CS3172: Advanced Algorithms Automata-based Verification - III Howard Barringer Room KB2.20/22: email: howard.barringer@manchester.ac.uk March 2005 Third Topic Infinite Word Automata Motivation Büchi Automata
More informationCS61c: Representations of Combinational Logic Circuits
CS61c: Representations of Combinational Logic Circuits J. Wawrzynek March 5, 2003 1 Introduction Recall that synchronous systems are composed of two basic types of circuits, combination logic circuits,
More informationAutomata-Theoretic LTL Model-Checking
Automata-Theoretic LTL Model-Checking Arie Gurfinkel arie@cmu.edu SEI/CMU Automata-Theoretic LTL Model-Checking p.1 LTL - Linear Time Logic (Pn 77) Determines Patterns on Infinite Traces Atomic Propositions
More informationOverview. Discrete Event Systems Verification of Finite Automata. What can finite automata be used for? What can finite automata be used for?
Computer Engineering and Networks Overview Discrete Event Systems Verification of Finite Automata Lothar Thiele Introduction Binary Decision Diagrams Representation of Boolean Functions Comparing two circuits
More informationHeuristics for Efficient SAT Solving. As implemented in GRASP, Chaff and GSAT.
Heuristics for Efficient SAT Solving As implemented in GRASP, Chaff and GSAT. Formulation of famous problems as SAT: k-coloring (1/2) The K-Coloring problem: Given an undirected graph G(V,E) and a natural
More informationThe algorithmic analysis of hybrid system
The algorithmic analysis of hybrid system Authors: R.Alur, C. Courcoubetis etc. Course teacher: Prof. Ugo Buy Xin Li, Huiyong Xiao Nov. 13, 2002 Summary What s a hybrid system? Definition of Hybrid Automaton
More informationFrom Monadic Second-Order Definable String Transformations to Transducers
From Monadic Second-Order Definable String Transformations to Transducers Rajeev Alur 1 Antoine Durand-Gasselin 2 Ashutosh Trivedi 3 1 University of Pennsylvania 2 LIAFA, Université Paris Diderot 3 Indian
More informationTemporal Logic. Stavros Tripakis University of California, Berkeley. We have designed a system. We want to check that it is correct.
EE 244: Fundamental Algorithms for System Modeling, Analysis, and Optimization Fall 2016 Temporal logic Stavros Tripakis University of California, Berkeley Stavros Tripakis (UC Berkeley) EE 244, Fall 2016
More informationDatabase Theory VU , SS Complexity of Query Evaluation. Reinhard Pichler
Database Theory Database Theory VU 181.140, SS 2018 5. Complexity of Query Evaluation Reinhard Pichler Institut für Informationssysteme Arbeitsbereich DBAI Technische Universität Wien 17 April, 2018 Pichler
More informationPROPOSITIONAL LOGIC. VL Logik: WS 2018/19
PROPOSITIONAL LOGIC VL Logik: WS 2018/19 (Version 2018.2) Martina Seidl (martina.seidl@jku.at), Armin Biere (biere@jku.at) Institut für Formale Modelle und Verifikation BOX Game: Rules 1. The game board
More informationSAT, NP, NP-Completeness
CS 473: Algorithms, Spring 2018 SAT, NP, NP-Completeness Lecture 22 April 13, 2018 Most slides are courtesy Prof. Chekuri Ruta (UIUC) CS473 1 Spring 2018 1 / 57 Part I Reductions Continued Ruta (UIUC)
More informationΤαουσάκος Θανάσης Αλγόριθμοι και Πολυπλοκότητα II 7 Φεβρουαρίου 2013
Ταουσάκος Θανάσης Αλγόριθμοι και Πολυπλοκότητα II 7 Φεβρουαρίου 2013 Alternation: important generalization of non-determinism Redefining Non-Determinism in terms of configurations: a configuration lead
More informationTemporal Logic of Actions
Advanced Topics in Distributed Computing Dominik Grewe Saarland University March 20, 2008 Outline Basic Concepts Transition Systems Temporal Operators Fairness Introduction Definitions Example TLC - A
More informationCS 173 Lecture 2: Propositional Logic
CS 173 Lecture 2: Propositional Logic José Meseguer University of Illinois at Urbana-Champaign 1 Propositional Formulas A proposition is a statement that is either true, T or false, F. A proposition usually
More informationSAT-Based Explicit LTL Reasoning
SAT-Based Explicit LTL Reasoning Jianwen Li 1,2 Shufang Zhu 2 Geguang Pu 2 Moshe Y. Vardi 1 1. Rice University 2. East China Normal University August 22, 2016 Temporal Reasoning Church, 1957: Given a model
More informationVerification. Arijit Mondal. Dept. of Computer Science & Engineering Indian Institute of Technology Patna
IIT Patna 1 Verification Arijit Mondal Dept. of Computer Science & Engineering Indian Institute of Technology Patna arijit@iitp.ac.in Introduction The goal of verification To ensure 100% correct in functionality
More informationFirst-order resolution for CTL
First-order resolution for Lan Zhang, Ullrich Hustadt and Clare Dixon Department of Computer Science, University of Liverpool Liverpool, L69 3BX, UK {Lan.Zhang, U.Hustadt, CLDixon}@liverpool.ac.uk Abstract
More informationAbstraction for Falsification
Abstraction for Falsification Thomas Ball 1, Orna Kupferman 2, and Greta Yorsh 3 1 Microsoft Research, Redmond, WA, USA. Email: tball@microsoft.com, URL: research.microsoft.com/ tball 2 Hebrew University,
More informationHelsinki University of Technology Laboratory for Theoretical Computer Science Research Reports 83
Helsinki University of Technology Laboratory for Theoretical Computer Science Research Reports 83 Teknillisen korkeakoulun tietojenkäsittelyteorian laboratorion tutkimusraportti 83 Espoo 2003 HUT-TCS-A83
More informationModel Checking Algorithms
Model Checking Algorithms Bow-Yaw Wang Institute of Information Science Academia Sinica, Taiwan November 14, 2018 Bow-Yaw Wang (Academia Sinica) Model Checking Algorithms November 14, 2018 1 / 56 Outline
More informationFormal Verification Methods 1: Propositional Logic
Formal Verification Methods 1: Propositional Logic John Harrison Intel Corporation Course overview Propositional logic A resurgence of interest Logic and circuits Normal forms The Davis-Putnam procedure
More informationAdequate set of connectives, logic gates and circuits
Adequate set of connectives, logic gates and circuits Lila Kari University of Waterloo Adequate set of connectives, logic gates and circuits CS245, Logic and Computation 1 / 59 Connectives We have mentioned
More information1 Short adders. t total_ripple8 = t first + 6*t middle + t last = 4t p + 6*2t p + 2t p = 18t p
UNIVERSITY OF CALIFORNIA College of Engineering Department of Electrical Engineering and Computer Sciences Study Homework: Arithmetic NTU IC54CA (Fall 2004) SOLUTIONS Short adders A The delay of the ripple
More informationTutorial 1: Modern SMT Solvers and Verification
University of Illinois at Urbana-Champaign Tutorial 1: Modern SMT Solvers and Verification Sayan Mitra Electrical & Computer Engineering Coordinated Science Laboratory University of Illinois at Urbana
More informationCSE 20 DISCRETE MATH. Fall
CSE 20 DISCRETE MATH Fall 2017 http://cseweb.ucsd.edu/classes/fa17/cse20-ab/ Today's learning goals Describe and use algorithms for integer operations based on their expansions Relate algorithms for integer
More informationAnswers to the CSCE 551 Final Exam, April 30, 2008
Answers to the CSCE 55 Final Exam, April 3, 28. (5 points) Use the Pumping Lemma to show that the language L = {x {, } the number of s and s in x differ (in either direction) by at most 28} is not regular.
More informationSymbolic Trajectory Evaluation (STE): Orna Grumberg Technion, Israel
Symbolic Trajectory Evaluation (STE): Automatic Refinement and Vacuity Detection Orna Grumberg Technion, Israel Marktoberdort 2007 1 Agenda Model checking Symbolic Trajectory Evaluation Basic Concepts
More informationGuest lecturer: Prof. Mark Reynolds, The University of Western Australia
Università degli studi di Udine Corso per il dottorato di ricerca: Temporal Logics: Satisfiability Checking, Model Checking, and Synthesis January 2017 Lecture 01, Part 02: Temporal Logics Guest lecturer:
More information1 PSPACE-Completeness
CS 6743 Lecture 14 1 Fall 2007 1 PSPACE-Completeness Recall the NP-complete problem SAT: Is a given Boolean formula φ(x 1,..., x n ) satisfiable? The same question can be stated equivalently as: Is the
More informationCSE 1400 Applied Discrete Mathematics Definitions
CSE 1400 Applied Discrete Mathematics Definitions Department of Computer Sciences College of Engineering Florida Tech Fall 2011 Arithmetic 1 Alphabets, Strings, Languages, & Words 2 Number Systems 3 Machine
More informationChapter 6: Computation Tree Logic
Chapter 6: Computation Tree Logic Prof. Ali Movaghar Verification of Reactive Systems Outline We introduce Computation Tree Logic (CTL), a branching temporal logic for specifying system properties. A comparison
More informationSanjit A. Seshia EECS, UC Berkeley
EECS 219C: Computer-Aided Verification Explicit-State Model Checking: Additional Material Sanjit A. Seshia EECS, UC Berkeley Acknowledgments: G. Holzmann Checking if M satisfies : Steps 1. Compute Buchi
More informationModels for Efficient Timed Verification
Models for Efficient Timed Verification François Laroussinie LSV / ENS de Cachan CNRS UMR 8643 Monterey Workshop - Composition of embedded systems Model checking System Properties Formalizing step? ϕ Model
More informationAutomated Program Verification and Testing 15414/15614 Fall 2016 Lecture 3: Practical SAT Solving
Automated Program Verification and Testing 15414/15614 Fall 2016 Lecture 3: Practical SAT Solving Matt Fredrikson mfredrik@cs.cmu.edu October 17, 2016 Matt Fredrikson SAT Solving 1 / 36 Review: Propositional
More informationCTL Model Checking. Wishnu Prasetya.
CTL Model Checking Wishnu Prasetya wishnu@cs.uu.nl www.cs.uu.nl/docs/vakken/pv Background Example: verification of web applications à e.g. to prove existence of a path from page A to page B. Use of CTL
More informationModel Checking with CTL. Presented by Jason Simas
Model Checking with CTL Presented by Jason Simas Model Checking with CTL Based Upon: Logic in Computer Science. Huth and Ryan. 2000. (148-215) Model Checking. Clarke, Grumberg and Peled. 1999. (1-26) Content
More informationSatisfiability Modulo Theories (SMT)
CS510 Software Engineering Satisfiability Modulo Theories (SMT) Slides modified from those by Aarti Gupta Textbook: The Calculus of Computation by A. Bradley and Z. Manna 1 Satisfiability Modulo Theory
More informationBuilding a Computer Adder
Logic Gates are used to translate Boolean logic into circuits. In the abstract it is clear that we can build AND gates that perform the AND function and OR gates that perform the OR function and so on.
More informationEAHyper: Satisfiability, Implication, and Equivalence Checking of Hyperproperties
EAHyper: Satisfiability, Implication, and Equivalence Checking of Hyperproperties Bernd Finkbeiner, Christopher Hahn, and Marvin Stenger Saarland Informatics Campus, Saarland University, Saarbrücken, Germany
More informationState-Space Exploration. Stavros Tripakis University of California, Berkeley
EE 144/244: Fundamental Algorithms for System Modeling, Analysis, and Optimization Fall 2014 State-Space Exploration Stavros Tripakis University of California, Berkeley Stavros Tripakis (UC Berkeley) EE
More informationLecture 7: Polynomial time hierarchy
Computational Complexity Theory, Fall 2010 September 15 Lecture 7: Polynomial time hierarchy Lecturer: Kristoffer Arnsfelt Hansen Scribe: Mads Chr. Olesen Recall that adding the power of alternation gives
More informationAutomata theory. An algorithmic approach. Lecture Notes. Javier Esparza
Automata theory An algorithmic approach Lecture Notes Javier Esparza July 2 22 2 Chapter 9 Automata and Logic A regular expression can be seen as a set of instructions ( a recipe ) for generating the words
More informationAutomata-Theoretic Verification
Automata-Theoretic Verification Javier Esparza TU München Orna Kupferman The Hebrew University Moshe Y. Vardi Rice University 1 Introduction This chapter describes the automata-theoretic approach to the
More informationECE 250 / CPS 250 Computer Architecture. Basics of Logic Design Boolean Algebra, Logic Gates
ECE 250 / CPS 250 Computer Architecture Basics of Logic Design Boolean Algebra, Logic Gates Benjamin Lee Slides based on those from Andrew Hilton (Duke), Alvy Lebeck (Duke) Benjamin Lee (Duke), and Amir
More informationModel checking the basic modalities of CTL with Description Logic
Model checking the basic modalities of CTL with Description Logic Shoham Ben-David Richard Trefler Grant Weddell David R. Cheriton School of Computer Science University of Waterloo Abstract. Model checking
More informationChapter 2: Switching Algebra and Logic Circuits
Chapter 2: Switching Algebra and Logic Circuits Formal Foundation of Digital Design In 1854 George Boole published An investigation into the Laws of Thoughts Algebraic system with two values 0 and 1 Used
More informationFast DQBF Refutation
Fast DQBF Refutation Bernd Finkbeiner and Leander Tentrup Saarland University Abstract. Dependency Quantified Boolean Formulas (DQBF) extend QBF with Henkin quantifiers, which allow for non-linear dependencies
More informationBüchi Automata and Their Determinization
Büchi Automata and Their Determinization Edinburgh, October 215 Plan of the Day 1. Büchi automata and their determinization 2. Infinite games 3. Rabin s Tree Theorem 4. Decidability of monadic theories
More informationECE473 Lecture 15: Propositional Logic
ECE473 Lecture 15: Propositional Logic Jeffrey Mark Siskind School of Electrical and Computer Engineering Spring 2018 Siskind (Purdue ECE) ECE473 Lecture 15: Propositional Logic Spring 2018 1 / 23 What
More informationComputational Logic. Davide Martinenghi. Spring Free University of Bozen-Bolzano. Computational Logic Davide Martinenghi (1/30)
Computational Logic Davide Martinenghi Free University of Bozen-Bolzano Spring 2010 Computational Logic Davide Martinenghi (1/30) Propositional Logic - sequent calculus To overcome the problems of natural
More informationFrom Liveness to Promptness
From Liveness to Promptness Orna Kupferman Hebrew University Nir Piterman EPFL Moshe Y. Vardi Rice University Abstract Liveness temporal properties state that something good eventually happens, e.g., every
More informationNotes for Lecture 3... x 4
Stanford University CS254: Computational Complexity Notes 3 Luca Trevisan January 14, 2014 Notes for Lecture 3 In this lecture we introduce the computational model of boolean circuits and prove that polynomial
More informationUsing Patterns and Composite Propositions to Automate the Generation of LTL Specifications
Using Patterns and Composite Propositions to Automate the Generation of LTL Specifications Salamah Salamah, Ann Q. Gates, Vladik Kreinovich, and Steve Roach Dept. of Computer Science, University of Texas
More informationTecniche di Verifica. Introduction to Propositional Logic
Tecniche di Verifica Introduction to Propositional Logic 1 Logic A formal logic is defined by its syntax and semantics. Syntax An alphabet is a set of symbols. A finite sequence of these symbols is called
More informationEssential facts about NP-completeness:
CMPSCI611: NP Completeness Lecture 17 Essential facts about NP-completeness: Any NP-complete problem can be solved by a simple, but exponentially slow algorithm. We don t have polynomial-time solutions
More information