Symbolic Model Checking

Size: px
Start display at page:

Download "Symbolic Model Checking"

Transcription

1 Symbolic Model Checking Ken McMillan 90 Randal Bryant 86 Binary Decision Diagrams 1

2 Combinatorial Circuits 2

3 Combinatorial Problems Sudoku Eight Queen 3

4 Control Programs A Train Simulator, visualstate (VVS) 1421 machines transitions 2981 inputs 2667 outputs 3204 local states Declare state sp.: 10^476 BUGS? Ideal presentation: 1 bit/state will clearly NOT work! 4

5 Reduced Ordered Binary Decision Diagrams [Bryant 86] Compact represetation of boolean functions allowing effective manipulation (satifiability, validity,.) or Compact representation of sets over finite universe allowing effective manipulations. 5

6 Binary Decision Diagrams [Randal Bryant 86] A short review 6

7 If-Then-Else Normal Form 7

8 Shannon Expansion 8

9 Binary Decision Trees Variable is set to 0 Variable is set to 1 Each path determines a partial (set of) truth assignments. Result of the boolean expression under the given assigment found in value of terminal. 9

10 Orderedness & Redundant TESTS 10

11 Orderedness & Reducedness x x x x y z x<y x<z 11

12 ROBDDs formally 12

13 Reduced Ordered Binary Decision Diagrams Iben Edges to 0 implicit 13

14 Ordering DOES matter 14

15 Canonicity of ROBDDs 15

16 Build Complexity?? 16

17 APPLY operation 17

18 APPLY example 18

19 APPLY operation with dynamic programming 19

20 Other operations 20

21 Constraint Solving using BDDs 21

22 x 4 Sudoku 288 solutions! 22

23 Encoding Boolean variables x i,j,k for all i, j, k {1,2,3,4}. 4 4 Idea: x 2,2,2 =1 x 4,4,4 =1 x 2,2,1 =0 x i,j,k = 1 ; if the number k is in position (i,j) in the solution 0 ; otherwise 23

24 Constraints Precisely one value in each position i, j: x 1,j,1 + x i,j,2 + x i,j,3 + x i,j,4 = for each i, j Each value k appears in each row i exactly ones: x i,1,k + x i,2,k + x i,3,k + x i,4,k = 1 for each i, k Each value k appears in each colomn j exactly ones: x 1,j,k + x 2,j,k + x 3,j,k + x 4,j,k = 1 for each j, k Each value k appears in each 2x2 box exactly ones: x 1,1,k + x 1,2,k + x 2,1,k + x 2,2,k = 1 (e.g.) 24

25 Solving Sudoku

26 ROBDDs and Verification [,McMillan 90,..,VVS 97] 26

27 00 ROBDD encoding of transition 01 system Encoding of states using binary variables (here x1 and x2) Encoding of transition relation using source and target variables (here x1, x2, y1, and y2) Trans(x1,x2,y1,y2):=!x1 &!x2 &!y1 & y2 +!x1 &!x2 & y1 & y2 + x1 &!x2 &!y1 & y2 + x1 &!x2 & y1 & y2 + x1 & x2 & y1 &!y2; 27

28 ROBDD representation (cont.) Trans(x1,x2,y1,y2):=!x1 &!x2 &!y1 & y2 +!x1 &!x2 & y1 & y2 + x1 &!x2 &!y1 & y2 + x1 &!x2 & y1 & y2 + x1 & x2 & y1 &!y2; 28

29 ATrans(x,y) ROBDD for parallel composition Asynchronous composition Trans(x,y,u,v) = (ATrans(x,y) & v=u) + (BTrans(u,v) & y=x) Synchronous composition Trans(x,y,u,v) = (ATrans(x,y) & BTrans(u,v)) BTrans(u,v) Which ordering to choose? 29

30 Ordering? 45 nodes x1,x2,u1,u2, y1,y2,v1,v2 23 nodes x1,x2,y1,y2,u1,u2,v1,v2 20 nodes x1,y1,x2,y2,u1,v1,u2,v2 Polynomial size BDDs guaranteed in size of argument BDDs [Enders,Filkorn, Taubner 91] 30

31 Reachable States Reach(x) := Init(x); REPEAT Old(x) := Reach(x); New(y) := Exists x.(reach(x) & Trans(x,y)); Reach(x) := Old(x) + New(x) UNTIL Old(x) = Reach(x) Relational Product: May be constructed without building intermediate (often large) &-BDD. Reach 0 Reach 1 Reach Reach 1 31

32 A MUTEX Algorithm Clarke & Emerson P1 P1 :: :: while True do do T1 T1 : wait(turn=1) C1 C1 : turn:=0 endwhile P2 P2 :: :: while True do do T2 T2 : wait(turn=0) C2 C2 : turn:=1 endwhile Mutual Exclusion Program 32

33 Global Transition System I1 I2 t=0 I1 I2 t=1 T1 I2 t=0 I1 T2 t=0 T1 I2 t=1 I1 T2 t=1 T1 T2 t=0 I1 C2 t=0 C1 I2 t=1 T1 T2 t=1 T1 C2 t=0 C1 T2 t=1 33

34 A MUTEX Algorithm Clarke & Emerson vars x1 x2; vars y1 y2; vars u1 u2; vars v1 v2; vars t s; ATrans := (!x1 &!x2 &!y1 & y2 & (s=t)) + (!x1 & x2 &!y1 & y2 &!t &!s) + (!x1 & x2 & y1 &!y2 & t & s) + (x1 &!x2 &!y1 &!y2 &!s); BTrans := (!u1 &!u2 &!v1 & v2 & (s=t)) + (!u1 & u2 &!v1 & v2 & t & s) + (!u1 & u2 & v1 &!v2 &!t &!s) + (u1 &!u2 &!v1 &!v2 & s); TT := (ATrans & (u1=v1) & (u2=v2)) + (BTrans & (x1=y1) & (x2=y2));

35 BDDs for Transition Relations ATrans TT 35

36 Reachable States Reach(x) := Init(x); REPEAT Old(x) := Reach(x); New(y) := Exists x.(reach(x) & Trans(x,y)); Reach(x) := Old(x) + New(x) UNTIL Old(x) = Reach(x) 36

37 Reachable States Reach(x) := Init(x); REPEAT Old(x) := Reach(x); New(y) := Exists x.(reach(x) & Trans(x,y)); Reach(x) := Old(x) + New(x) UNTIL Old(x) = Reach(x) 37

38 Reachable States Reach(x) := Init(x); REPEAT Old(x) := Reach(x); New(y) := Exists x.(reach(x) & Trans(x,y)); Reach(x) := Old(x) + New(x) UNTIL Old(x) = Reach(x) MUTEX? Reach & x1 &!x2 & u1 &!u2 Reach 38

39 Bisimulation vars x (y) Bis(x,u):= 1; REPEAT Old(x,u) := Bis(x,u); Bis(x,u) := Forall y. Trans(x,y) => (Exists v. Trans(u,v) & Bis(y,v)) & Forall v. Trans(u,v) => (Exists y. Trans(x,y) & Bis(y,v)); UNTIL Bis(x,u)=Old(x,u) vars u (v) 39

40 Bisimulation (cont.) Bis 0 Bis 1 Bis equivalence classes = 6 pairs in final bisimulation 40

41 Model Checking 0 1 p p,q q 3 2 p vars x1 x2; vars y1 y2; Trans(x1,x2,y1,y2) :=!x1 &!x2 &!y1 & y2 +!x1 &!x2 & y1 & y2 + ; P(x1,x2) :=!x1 &!x2 +!x1 & x2 + x1 &!x2; Q(x1,x2) := ; 41

42 Model Checking 0 1 p p,q q 3 2 p EX P Exists y1,y2. Trans(x1,x2,y1,y2) & P(y1,y2); 42

43 Model Checking 0 1 p p,q q 3 2 p EX P Exists y1,y2. Trans(x1,x2,y1,y2) & P(y1,y2); 43

44 Model Checking 0 1 p p,q q 3 2 p AX P Forall y1,y2. Trans(x1,x2,y1,y2) => P(y1,y2); 44

45 Model Checking 0 1 p p,q q 3 2 p AX P Forall y1,y2. Trans(x1,x2,y1,y2) => P(y1,y2); 45

46 Model Checking 0 1 p p,q 2 AG P p max fixpoint q 3 A(x1,x2) = P(x1,x2) & Forall y1,y2. Trans(x1,x2,y1,y2) => A(y1,y2); 46

47 Model Checking 0 1 p p,q 2 AG P p max fixpoint q 3 A(x1,x2) = P(X1,x2) & Forall y1,y2. Trans(x1,x2,y1,y2) => A(y1,y2); 47

48 Model Checking 0 1 p p,q q 3 2 A( P UNTIL Q ) p min fixpoint U(x1,x2) = Q(x1,x2) + { P(x1,x2) & Forall y1,y2. Trans(x1,x2,y1,y2) => U(y1,y2) }; 48

49 Model Checking 0 1 p p,q q 3 2 A( P UNTIL Q ) p min fixpoint U(x1,x2) = Q(X1,x2) + { P(x1,x2) & Forall y1,y2. Trans(x1,x2,y1,y2) => U(y1,y2) }; 49

50 Partitioned Transition Relation Relational Product LARGE Exists yv. (T(xu,yv) & S(yv)) Asynchronous T(xu,yv) = (ATrans(x,y) & v=u) + (BTrans(u,v) & y=x) Exists y. ATrans(x,y) & S(yu) + Exists v. BTrans(u,v) & S(xv) Synchronous T(xu,yv) = ATrans(x,y) & BTrans(u,v) Exists yv. Atrans(x,y) & Btrans(u,v) & S(yv) Exists y. Atrans(x,y) & (Exists v. Btrans(u,v) & S(yv)) 50

51 visualstate CIT project VVS (w DTU) Beologic s Products: salesplus visualstate : Independent division of B& : Independent company B&O, 2M Invest, Danish Municipal Pension Ins. Fund 1998: BAAN 2000: IAR Systems A/S Customers: ABB B&O Daimler-Benz Ericson DIAX ESA/ESTEC FORD Grundfos LEGO PBS Siemens. (approx. 200) Verification Problems: components states Embedded Systems Simple Model Verification of Std. Checks Explicit Representation (STATEEXPLOSION) Code Generation Our techniques has reduced verification by an order of magnitude (from 14 days to 6 sec) 51

52 visualstate Embedded World Nürnberg,

53 Control Programs A Train Simulator, visualstate (VVS) 1421 machines transitions 2981 inputs 2667 outputs 3204 local states Declare state sp.: 10^476 BUGS? Ideal presentation: 1 bit/state will clearly NOT work! 53

54 Experimental Breakthroughs Patented System Mach. State Space Checks Visual St-of-Art ComBack Declared Reach ST Sec MB Sec MB VCR 7 10^ <1 <1 6 <1 7 JVC 8 10^ <1 <1 6 <1 6 HI-FI 9 10^ Motor 12 10^ <1 6 2,0 AVS 12 10^ Video 13 10^ Car 20 10^ ^ N ^ N ^ ^ N ^ ^ Train ^ Train ^ Machine: 166 MHz Pentium PC with 32 MB RAM ---: Out of memory, or did not terminate after 3 hours. 54

55 System Experimental Breakthroughs Patented Mach. State Space Checks Visual St-of-Art ComBack Declared Reach ST Sec MB Sec MB VCR 7 10^ <1 <1 6 <1 7 JVC 8 10^ <1 <1 6 <1 6 HI-FI 9 10^ Motor 12 10^ <1 6 2,0 AVS 12 10^ Video 13 10^ Car 20 10^ ^ N ^ N ^ ^ N ^ ^ Our technique have reduced verification time by several orders of magnitude (eg. From 14 days to 6 sec) Train ^ Train ^ Machine: 166 MHz Pentium PC with 32 MB RAM ---: Out of memory, or did not terminate after 3 hours. 55

56 Compositional Backwards Reachability [ TACAS 98 ] 56

57 Example The Small Train t l r Train Gate Signal t l,t STOP DOWN DOWN t BW r FW l r d RED UP DOWN GR u g re RED 57

58 Syntax State-Event Model visualstate n synchronously combined machines where M i = (S i,s i0,t i ) T i S i E G i M(O) S i Input Events Semantics (s 1,,s n ) e, o i (s 1,,s n ) iff s i - e,g i,o i s i with g i (s 1,,s n )=true or Guards on other machines locations Output s i = s i and o i =Ø and whenever s i - e, g i then g i (s 1,,s n )=false i=1..n 58

59 STOP UP GR Small Train (cont) t DOWN l,t r DOWN t d RED u g re Gate BW r l FW DOW N RED DOWN Signal UP GR RED STOP BW FW Train 59

60 STOP UP GR Small Train (cont) t DOWN l,t r DOWN t d RED u g re BW r l FW DOW N RED Gate l r d DOWN Signal UP GR RED re STOP BW FW Train 60

61 Generic Checks visualstate offers checks for a number of predefined properties: Reachability Reachability of states Firing of transitions Input without interpretation Output without generation Conflicting Rules Local Deadlock Global Deadlock Not a single CHECK but several thousands! 61

62 Guard dependencies Let g 1, g 2, g 3,, g N (N big) be the guards we want to show reachable If g i g j (e.g. g i =DOWN UP, g j =DOWN) then it suffices to show that g i reachable, i.e. there is a reachable global state satisfying g i. Sort g 1, g 2, g 3,, g N according to size and check only if NOT implied by a previously shown reachable guard % reduction. 62

63 Machine Dependencies A guard g in machie M i that depends on/refers to a state in M j introduces a dependency from M i to M j STOP UP GR t DOWN l,t r DOWN t d RED u g re BW r FW DOWN RED l TRAIN GATE SIGNAL Backwards statespace iterations can be restricted to dependency closed sets, e.g. DC(GATE) = {GATE,SIGNAL} 63

64 Compositional Backwards t DOWN BW l,t STOP r l r DOWN FW t d RED UP DOW N GR u g re RED Is FW reachable? IDEA: Compute backward reachable states as much as possible with minimal set of machines. Increase set of considered machines when necessary! Consider TRAIN TRAIN STOP BW FW 64

65 Compositional Backwards t DOWN BW l,t STOP r l r DOWN FW t d RED UP DOW N GR u g re RED Is FW reachable? IDEA: Compute backward reachable states as much as possible with minimal set of machines. Increase set of considered machines when necessary! Consider TRAIN TRAIN STOP DOWN BW DOWN FW Ignoring INPUT event 65

66 Compositional Backwards t DOWN BW l,t STOP r l r DOWN FW t d RED UP DOW N GR u g re RED Is FW reachable? IDEA: Compute backward reachable states as much as possible with minimal set of machines. Increase set of considered machines when necessary! Consider TRAIN TRAIN STOP DOWN BW DOWN FW Ignoring INPUT event 66

67 Compositional Backwards Include GATE! t DOWN BW l,t STOP r l r DOWN FW t d RED UP DOW N GR u g re RED Ignoring transtions with source in RED TRAIN BW FW 67

68 Compositional Backwards Include GATE! t DOWN BW l,t STOP r l r DOWN FW t d RED UP DOW N GR u g re RED Ignoring transtions with source in RED Any state projecting to can reach a state projecting to BW FW TRAIN 68

69 Compositional Backwards Gate t DOWN BW l,t STOP r l r DOWN FW t d RED UP DOW N GR u g re RED Include SIGNAL! DOWN RED Signal UP GR STOP BW FW Train Thus FW is reachable! 69

70 Hierarchical Systems [ TACAS 99 ] IDEA Reuse already known reachability properties of superstates to conclude reachability of substates! 70

71 Experimental results 71

Finite State Model Checking

Finite State Model Checking Finite State Model Checking Finite State Model Checking Finite State Systems System Descrition A Requirement F CTL TOOL No! Debugging Information Yes, Prototyes Executable Code Test sequences Tools: visualstate,

More information

Binary Decision Diagrams and Symbolic Model Checking

Binary Decision Diagrams and Symbolic Model Checking Binary Decision Diagrams and Symbolic Model Checking Randy Bryant Ed Clarke Ken McMillan Allen Emerson CMU CMU Cadence U Texas http://www.cs.cmu.edu/~bryant Binary Decision Diagrams Restricted Form of

More information

Computation Tree Logic

Computation Tree Logic Comutation Tree Logic Finite State Model Checking of Branching Time Logic Kim Guldstrand Larsen BRICS@Aalborg 1 Tool Suort Finite State Systems System Descrition A Reuirement F CTL TOOL Course Objectives:

More information

Model Checking: An Introduction

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

Symbolic Model Checking with ROBDDs

Symbolic Model Checking with ROBDDs Symbolic Model Checking with ROBDDs Lecture #13 of Advanced Model Checking Joost-Pieter Katoen Lehrstuhl 2: Software Modeling & Verification E-mail: katoen@cs.rwth-aachen.de December 14, 2016 c JPK Symbolic

More information

Overview. Discrete Event Systems Verification of Finite Automata. What can finite automata be used for? What can finite automata be used for?

Overview. 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 information

Binary Decision Diagrams Boolean Functions

Binary Decision Diagrams Boolean Functions Binary Decision Diagrams Representation of Boolean Functions BDDs, OBDDs, ROBDDs Operations Model-Checking over BDDs 72 Boolean functions:b = {0,1}, f :B B B Boolean Functions Boolean expressions: t ::=

More information

Reduced Ordered Binary Decision Diagrams

Reduced Ordered Binary Decision Diagrams Reduced Ordered Binary Decision Diagrams Lecture #13 of Advanced Model Checking Joost-Pieter Katoen Lehrstuhl 2: Software Modeling & Verification E-mail: katoen@cs.rwth-aachen.de June 5, 2012 c JPK Switching

More information

Boolean decision diagrams and SAT-based representations

Boolean decision diagrams and SAT-based representations Boolean decision diagrams and SAT-based representations 4th July 200 So far we have seen Kripke Structures 2 Temporal logics (and their semantics over Kripke structures) 3 Model checking of these structures

More information

2 Appears in Proceedings of TACAS'98, LNCS 1384, April 1998 state/event model. The state/event model is a concurrent version of Mealy machines, that i

2 Appears in Proceedings of TACAS'98, LNCS 1384, April 1998 state/event model. The state/event model is a concurrent version of Mealy machines, that i 1 Verication of Large State/Event Systems using Compositionality and Dependency Analysis? Jrn Lind-Nielsen 1, Henrik Reif Andersen 1, Gerd Behrmann 2, Henrik Hulgaard 1, Kare Kristoersen 2, and Kim G.

More information

Basing Decisions on Sentences in Decision Diagrams

Basing Decisions on Sentences in Decision Diagrams Proceedings of the Twenty-Sixth AAAI Conference on Artificial Intelligence Basing Decisions on Sentences in Decision Diagrams Yexiang Xue Department of Computer Science Cornell University yexiang@cs.cornell.edu

More information

Double Header. Model Checking. Model Checking. Overarching Plan. Take-Home Message. Spoiler Space. Topic: (Generic) Model Checking

Double Header. Model Checking. Model Checking. Overarching Plan. Take-Home Message. Spoiler Space. Topic: (Generic) Model Checking Double Header Model Checking #1 Two Lectures Model Checking SoftwareModel Checking SLAM and BLAST Flying Boxes It is traditional to describe this stuff (especially SLAM and BLAST) with high-gloss animation

More information

CTL Model Checking. Wishnu Prasetya.

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

Reduced Ordered Binary Decision Diagrams

Reduced Ordered Binary Decision Diagrams Reduced Ordered Binary Decision Diagrams Lecture #12 of Advanced Model Checking Joost-Pieter Katoen Lehrstuhl 2: Software Modeling & Verification E-mail: katoen@cs.rwth-aachen.de December 13, 2016 c JPK

More information

Polynomial Methods for Component Matching and Verification

Polynomial Methods for Component Matching and Verification Polynomial Methods for Component Matching and Verification James Smith Stanford University Computer Systems Laboratory Stanford, CA 94305 1. Abstract Component reuse requires designers to determine whether

More information

15.083J/6.859J Integer Optimization. Lecture 2: Efficient Algorithms and Computational Complexity

15.083J/6.859J Integer Optimization. Lecture 2: Efficient Algorithms and Computational Complexity 15.083J/6.859J Integer Optimization Lecture 2: Efficient Algorithms and Computational Complexity 1 Outline Efficient algorithms Slide 1 Complexity The classes P and N P The classes N P-complete and N P-hard

More information

QuIDD-Optimised Quantum Algorithms

QuIDD-Optimised Quantum Algorithms QuIDD-Optimised Quantum Algorithms by S K University of York Computer science 3 rd year project Supervisor: Prof Susan Stepney 03/05/2004 1 Project Objectives Investigate the QuIDD optimisation techniques

More information

Logic and Boolean algebra

Logic and Boolean algebra Computer Mathematics Week 7 Logic and Boolean algebra College of Information Science and Engineering Ritsumeikan University last week coding theory channel coding information theory concept Hamming distance

More information

Section 4.1 Switching Algebra Symmetric Functions

Section 4.1 Switching Algebra Symmetric Functions Section 4.1 Switching Algebra Symmetric Functions Alfredo Benso Politecnico di Torino, Italy Alfredo.benso@polito.it Symmetric Functions A function in which each input variable plays the same role in determining

More information

CTL Model checking. 1. finite number of processes, each having a finite number of finite-valued variables. Model-Checking

CTL Model checking. 1. finite number of processes, each having a finite number of finite-valued variables. Model-Checking CTL Model checking Assumptions:. finite number of processes, each having a finite number of finite-valued variables.. finite length of CTL formula Problem:Determine whether formula f 0 is true in a finite

More information

BDD Based Upon Shannon Expansion

BDD Based Upon Shannon Expansion Boolean Function Manipulation OBDD and more BDD Based Upon Shannon Expansion Notations f(x, x 2,, x n ) - n-input function, x i = or f xi=b (x,, x n ) = f(x,,x i-,b,x i+,,x n ), b= or Shannon Expansion

More information

EECS 219C: Computer-Aided Verification Boolean Satisfiability Solving III & Binary Decision Diagrams. Sanjit A. Seshia EECS, UC Berkeley

EECS 219C: Computer-Aided Verification Boolean Satisfiability Solving III & Binary Decision Diagrams. Sanjit A. Seshia EECS, UC Berkeley EECS 219C: Computer-Aided Verification Boolean Satisfiability Solving III & Binary Decision Diagrams Sanjit A. Seshia EECS, UC Berkeley Acknowledgments: Lintao Zhang Announcement Project proposals due

More information

Software Verification

Software Verification Software Verification Grégoire Sutre LaBRI, University of Bordeaux, CNRS, France Summer School on Verification Technology, Systems & Applications September 2008 Grégoire Sutre Software Verification VTSA

More information

Axiomatic Semantics. Operational semantics. Good for. Not good for automatic reasoning about programs

Axiomatic Semantics. Operational semantics. Good for. Not good for automatic reasoning about programs Review Operational semantics relatively l simple many flavors (small vs. big) not compositional (rule for while) Good for describing language implementation reasoning about properties of the language eg.

More information

CS357: CTL Model Checking (two lectures worth) David Dill

CS357: CTL Model Checking (two lectures worth) David Dill CS357: CTL Model Checking (two lectures worth) David Dill 1 CTL CTL = Computation Tree Logic It is a propositional temporal logic temporal logic extended to properties of events over time. CTL is a branching

More information

Binary Decision Diagrams

Binary Decision Diagrams Binary Decision Diagrams Literature Some pointers: H.R. Andersen, An Introduction to Binary Decision Diagrams, Lecture notes, Department of Information Technology, IT University of Copenhagen Tools: URL:

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

Computation Tree Logic

Computation Tree Logic Chapter 6 Computation Tree Logic Pnueli [88] has introduced linear temporal logic to the computer science community for the specification and verification of reactive systems. In Chapter 3 we have treated

More information

SAT in Formal Hardware Verification

SAT in Formal Hardware Verification SAT in Formal Hardware Verification Armin Biere Institute for Formal Models and Verification Johannes Kepler University Linz, Austria Invited Talk SAT 05 St. Andrews, Scotland 20. June 2005 Overview Hardware

More information

Equivalence Checking of Sequential Circuits

Equivalence Checking of Sequential Circuits Equivalence Checking of Sequential Circuits Sanjit Seshia EECS UC Berkeley With thanks to K. Keutzer, R. Rutenbar 1 Today s Lecture What we know: How to check two combinational circuits for equivalence

More information

Automata-Theoretic Model Checking of Reactive Systems

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

1 Algebraic Methods. 1.1 Gröbner Bases Applied to SAT

1 Algebraic Methods. 1.1 Gröbner Bases Applied to SAT 1 Algebraic Methods In an algebraic system Boolean constraints are expressed as a system of algebraic equations or inequalities which has a solution if and only if the constraints are satisfiable. Equations

More information

CS61c: Representations of Combinational Logic Circuits

CS61c: 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 information

Model checking the basic modalities of CTL with Description Logic

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

Verification. Arijit Mondal. Dept. of Computer Science & Engineering Indian Institute of Technology Patna

Verification. 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 information

Abstractions and Decision Procedures for Effective Software Model Checking

Abstractions and Decision Procedures for Effective Software Model Checking Abstractions and Decision Procedures for Effective Software Model Checking Prof. Natasha Sharygina The University of Lugano, Carnegie Mellon University Microsoft Summer School, Moscow, July 2011 Lecture

More information

Introduction to Solving Combinatorial Problems with SAT

Introduction to Solving Combinatorial Problems with SAT Introduction to Solving Combinatorial Problems with SAT Javier Larrosa December 19, 2014 Overview of the session Review of Propositional Logic The Conjunctive Normal Form (CNF) Modeling and solving combinatorial

More information

Synchronous Sequential Circuit

Synchronous Sequential Circuit Synchronous Sequential Circuit The change of internal state occurs in response to the synchronized clock pulses. Data are read during the clock pulse (e.g. rising-edge triggered) It is supposed to wait

More information

The algorithmic analysis of hybrid system

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

Efficient Guided Symbolic Reachability Using Reachability Expressions

Efficient Guided Symbolic Reachability Using Reachability Expressions Efficient Guided Symbolic Reachability Using Reachability Expressions Dina Thomas 1, Supratik Chakraborty 1, and Paritosh Pandya 2 1 Indian Institute of Technology, Bombay, India dina@cfdvs.iitb.ac.in,

More information

Model Checking I. What are LTL and CTL? dack. and. dreq. and. q0bar

Model Checking I. What are LTL and CTL? dack. and. dreq. and. q0bar Model Checking I What are LTL and CTL? q0 or and dack dreq q0bar and 1 View circuit as a transition system (dreq, q0, dack) (dreq, q0, dack ) q0 = dreq and dack = dreq & (q0 + ( q0 & dack)) q0 or and D

More information

Model Checking I. What are LTL and CTL? dack. and. dreq. and. q0bar

Model Checking I. What are LTL and CTL? dack. and. dreq. and. q0bar Model Checking I What are LTL and CTL? and dack q0 or D dreq D q0bar and 1 View circuit as a transition system (dreq, q0, dack) (dreq, q0, dack ) q0 = dreq dack = dreq and (q0 or (not q0 and dack)) q0

More information

Chapter 2: Switching Algebra and Logic Circuits

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

Model checking, verification of CTL. One must verify or expel... doubts, and convert them into the certainty of YES [Thomas Carlyle]

Model checking, verification of CTL. One must verify or expel... doubts, and convert them into the certainty of YES [Thomas Carlyle] Chater 5 Model checking, verification of CTL One must verify or exel... doubts, and convert them into the certainty of YES or NO. [Thomas Carlyle] 5. The verification setting Page 66 We introduce linear

More information

12 - The Tie Set Method

12 - The Tie Set Method 12 - The Tie Set Method Definitions: A tie set V is a set of components whose success results in system success, i.e. the presence of all components in any tie set connects the input to the output in the

More information

A brief introduction to Logic. (slides from

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

Functions. Computers take inputs and produce outputs, just like functions in math! Mathematical functions can be expressed in two ways:

Functions. Computers take inputs and produce outputs, just like functions in math! Mathematical functions can be expressed in two ways: Boolean Algebra (1) Functions Computers take inputs and produce outputs, just like functions in math! Mathematical functions can be expressed in two ways: An expression is finite but not unique f(x,y)

More information

Verification using Satisfiability Checking, Predicate Abstraction, and Craig Interpolation. Himanshu Jain THESIS ORAL TALK

Verification using Satisfiability Checking, Predicate Abstraction, and Craig Interpolation. Himanshu Jain THESIS ORAL TALK Verification using Satisfiability Checking, Predicate Abstraction, and Craig Interpolation Himanshu Jain THESIS ORAL TALK 1 Computer Systems are Pervasive Computer Systems = Software + Hardware Software/Hardware

More information

MODEL CHECKING. Arie Gurfinkel

MODEL CHECKING. Arie Gurfinkel 1 MODEL CHECKING Arie Gurfinkel 2 Overview Kripke structures as models of computation CTL, LTL and property patterns CTL model-checking and counterexample generation State of the Art Model-Checkers 3 SW/HW

More information

CHAPTER1: Digital Logic Circuits Combination Circuits

CHAPTER1: Digital Logic Circuits Combination Circuits CS224: Computer Organization S.KHABET CHAPTER1: Digital Logic Circuits Combination Circuits 1 PRIMITIVE LOGIC GATES Each of our basic operations can be implemented in hardware using a primitive logic gate.

More information

EGFC: AN EXACT GLOBAL FAULT COLLAPSING TOOL FOR COMBINATIONAL CIRCUITS

EGFC: AN EXACT GLOBAL FAULT COLLAPSING TOOL FOR COMBINATIONAL CIRCUITS EGFC: AN EXACT GLOBAL FAULT COLLAPSING TOOL FOR COMBINATIONAL CIRCUITS Hussain Al-Asaad Department of Electrical & Computer Engineering University of California One Shields Avenue, Davis, CA 95616-5294

More information

Modal and Temporal Logics

Modal and Temporal Logics Modal and Temporal Logics Colin Stirling School of Informatics University of Edinburgh July 23, 2003 Why modal and temporal logics? 1 Computational System Modal and temporal logics Operational semantics

More information

Symbolic Trajectory Evaluation (STE): Orna Grumberg Technion, Israel

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

Formal Methods Lecture VII Symbolic Model Checking

Formal Methods Lecture VII Symbolic Model Checking Formal Methods Lecture VII Symbolic Model Checking Faculty of Computer Science Free University of Bozen-Bolzano artale@inf.unibz.it http://www.inf.unibz.it/ artale/ Academic Year: 2006/07 Some material

More information

19. Logic constraints, integer variables

19. Logic constraints, integer variables CS/ECE/ISyE 524 Introduction to Optimization Spring 2016 17 19. Logic constraints, integer variables If-then constraints Generalized assignment problems Logic constraints Modeling a restricted set of values

More information

Towards Inference and Learning in Dynamic Bayesian Networks using Generalized Evidence

Towards Inference and Learning in Dynamic Bayesian Networks using Generalized Evidence Towards Inference and Learning in Dynamic Bayesian Networks using Generalized Evidence Christopher James Langmead August 2008 CMU-CS-08-151 School of Computer Science Carnegie Mellon University Pittsburgh,

More information

THEORY OF SYSTEMS MODELING AND ANALYSIS. Henny Sipma Stanford University. Master class Washington University at St Louis November 16, 2006

THEORY OF SYSTEMS MODELING AND ANALYSIS. Henny Sipma Stanford University. Master class Washington University at St Louis November 16, 2006 THEORY OF SYSTEMS MODELING AND ANALYSIS Henny Sipma Stanford University Master class Washington University at St Louis November 16, 2006 1 1 COURSE OUTLINE 8:37-10:00 Introduction -- Computational model

More information

COMPRESSED STATE SPACE REPRESENTATIONS - BINARY DECISION DIAGRAMS

COMPRESSED STATE SPACE REPRESENTATIONS - BINARY DECISION DIAGRAMS QUALITATIVE ANALYIS METHODS, OVERVIEW NET REDUCTION STRUCTURAL PROPERTIES COMPRESSED STATE SPACE REPRESENTATIONS - BINARY DECISION DIAGRAMS LINEAR PROGRAMMING place / transition invariants state equation

More information

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

Reduced Ordered Binary Decision Diagrams

Reduced Ordered Binary Decision Diagrams Symbolic Model Checking : Decision Diagrams and Symmetries Yann Thierry-Mieg November 6 ICTAC 6 Tunis, Tunisia Reduced Ordered Binary Decision Diagrams (RO)BDD BDD for Model-checking BDD extensions Exploiting

More information

Software Verification using Predicate Abstraction and Iterative Refinement: Part 1

Software Verification using Predicate Abstraction and Iterative Refinement: Part 1 using Predicate Abstraction and Iterative Refinement: Part 1 15-414 Bug Catching: Automated Program Verification and Testing Sagar Chaki November 28, 2011 Outline Overview of Model Checking Creating Models

More information

Fault Collapsing in Digital Circuits Using Fast Fault Dominance and Equivalence Analysis with SSBDDs

Fault Collapsing in Digital Circuits Using Fast Fault Dominance and Equivalence Analysis with SSBDDs Fault Collapsing in Digital Circuits Using Fast Fault Dominance and Equivalence Analysis with SSBDDs Raimund Ubar, Lembit Jürimägi (&), Elmet Orasson, and Jaan Raik Department of Computer Engineering,

More information

Linear-time Temporal Logic

Linear-time Temporal Logic Linear-time Temporal Logic Pedro Cabalar Department of Computer Science University of Corunna, SPAIN cabalar@udc.es 2015/2016 P. Cabalar ( Department Linear oftemporal Computer Logic Science University

More information

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

Geometric Steiner Trees

Geometric Steiner Trees Geometric Steiner Trees From the book: Optimal Interconnection Trees in the Plane By Marcus Brazil and Martin Zachariasen Part 3: Computational Complexity and the Steiner Tree Problem Marcus Brazil 2015

More information

Chapter 4: Computation tree logic

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

CSC9R6 Computer Design. Practical Digital Logic

CSC9R6 Computer Design. Practical Digital Logic CSC9R6 Computer Design Practical Digital Logic 1 References (for this part of CSC9R6) Hamacher et al: Computer Organization App A. In library Floyd: Digital Fundamentals Ch 1, 3-6, 8-10 web page: www.prenhall.com/floyd/

More information

a = a i 2 i a = All such series are automatically convergent with respect to the standard norm, but note that this representation is not unique: i<0

a = a i 2 i a = All such series are automatically convergent with respect to the standard norm, but note that this representation is not unique: i<0 p-adic Numbers K. Sutner v0.4 1 Modular Arithmetic rings integral domains integers gcd, extended Euclidean algorithm factorization modular numbers add Lemma 1.1 (Chinese Remainder Theorem) Let a b. Then

More information

EECS150 - Digital Design Lecture 4 - Boolean Algebra I (Representations of Combinational Logic Circuits)

EECS150 - Digital Design Lecture 4 - Boolean Algebra I (Representations of Combinational Logic Circuits) EECS150 - Digital Design Lecture 4 - Boolean Algebra I (Representations of Combinational Logic Circuits) September 5, 2002 John Wawrzynek Fall 2002 EECS150 Lec4-bool1 Page 1, 9/5 9am Outline Review of

More information

Monitoring Distributed Controllers

Monitoring Distributed Controllers Monitoring Distributed Controllers When an Efficient LTL Algorithm on Sequences is Needed to Model-Check Traces A. Genon T. Massart C. Meuter Université Libre de Bruxelles Département d Informatique August

More information

Introduction to Arti Intelligence

Introduction to Arti Intelligence Introduction to Arti Intelligence cial Lecture 4: Constraint satisfaction problems 1 / 48 Constraint satisfaction problems: Today Exploiting the representation of a state to accelerate search. Backtracking.

More information

Verifying Randomized Distributed Algorithms with PRISM

Verifying Randomized Distributed Algorithms with PRISM Verifying Randomized Distributed Algorithms with PRISM Marta Kwiatkowska, Gethin Norman, and David Parker University of Birmingham, Birmingham B15 2TT, United Kingdom {M.Z.Kwiatkowska,G.Norman,D.A.Parker}@cs.bham.ac.uk

More information

Model Checking with CTL. Presented by Jason Simas

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

Outline. EECS150 - Digital Design Lecture 4 - Boolean Algebra I (Representations of Combinational Logic Circuits) Combinational Logic (CL) Defined

Outline. EECS150 - Digital Design Lecture 4 - Boolean Algebra I (Representations of Combinational Logic Circuits) Combinational Logic (CL) Defined EECS150 - Digital Design Lecture 4 - Boolean Algebra I (Representations of Combinational Logic Circuits) January 30, 2003 John Wawrzynek Outline Review of three representations for combinational logic:

More information

Propositional Calculus - Hilbert system H Moonzoo Kim CS Division of EECS Dept. KAIST

Propositional Calculus - Hilbert system H Moonzoo Kim CS Division of EECS Dept. KAIST Propositional Calculus - Hilbert system H Moonzoo Kim CS Division of EECS Dept. KAIST moonzoo@cs.kaist.ac.kr http://pswlab.kaist.ac.kr/courses/cs402-07 1 Review Goal of logic To check whether given a formula

More information

3-Valued Abstraction-Refinement

3-Valued Abstraction-Refinement 3-Valued Abstraction-Refinement Sharon Shoham Academic College of Tel-Aviv Yaffo 1 Model Checking An efficient procedure that receives: A finite-state model describing a system A temporal logic formula

More information

ESE601: Hybrid Systems. Introduction to verification

ESE601: Hybrid Systems. Introduction to verification ESE601: Hybrid Systems Introduction to verification Spring 2006 Suggested reading material Papers (R14) - (R16) on the website. The book Model checking by Clarke, Grumberg and Peled. What is verification?

More information

Formal Verification Methods 1: Propositional Logic

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

The Design Procedure. Output Equation Determination - Derive output equations from the state table

The Design Procedure. Output Equation Determination - Derive output equations from the state table The Design Procedure Specification Formulation - Obtain a state diagram or state table State Assignment - Assign binary codes to the states Flip-Flop Input Equation Determination - Select flipflop types

More information

Model Checking for Propositions CS477 Formal Software Dev Methods

Model Checking for Propositions CS477 Formal Software Dev Methods S477 Formal Software Dev Methods Elsa L Gunter 2112 S, UIU egunter@illinois.edu http://courses.engr.illinois.edu/cs477 Slides based in part on previous lectures by Mahesh Vishwanathan, and by Gul gha January

More information

Exploiting Interleaving Semantics in Symbolic State Space Generation

Exploiting Interleaving Semantics in Symbolic State Space Generation Exploiting Interleaving Semantics in Symbolic State Space Generation GIANFRANCO CIARDO ciardo@cs.ucr.edu Dept. of Computer Science and Engineering, University of California, Riverside, CA GERALD LÜTTGEN

More information

Binary Decision Diagrams

Binary Decision Diagrams Binary Decision Diagrams Logic Circuits Design Seminars WS2010/2011, Lecture 2 Ing. Petr Fišer, Ph.D. Department of Digital Design Faculty of Information Technology Czech Technical University in Prague

More information

NP-completeness. Chapter 34. Sergey Bereg

NP-completeness. Chapter 34. Sergey Bereg NP-completeness Chapter 34 Sergey Bereg Oct 2017 Examples Some problems admit polynomial time algorithms, i.e. O(n k ) running time where n is the input size. We will study a class of NP-complete problems

More information

Hardware Equivalence & Property Verification

Hardware Equivalence & Property Verification Hardware Equivalence & Property Verification Introduction Jie-Hong Roland Jiang National Taiwan University Flolac 29 Flolac 29 3 Outline Motivations Introduction Motivations Systems to be verified Hardware

More information

Discrete Mathematics. CS204: Spring, Jong C. Park Computer Science Department KAIST

Discrete Mathematics. CS204: Spring, Jong C. Park Computer Science Department KAIST Discrete Mathematics CS204: Spring, 2008 Jong C. Park Computer Science Department KAIST Today s Topics Combinatorial Circuits Properties of Combinatorial Circuits Boolean Algebras Boolean Functions and

More information

SAT-Solving: From Davis- Putnam to Zchaff and Beyond Day 3: Recent Developments. Lintao Zhang

SAT-Solving: From Davis- Putnam to Zchaff and Beyond Day 3: Recent Developments. Lintao Zhang SAT-Solving: From Davis- Putnam to Zchaff and Beyond Day 3: Recent Developments Requirements for SAT solvers in the Real World Fast & Robust Given a problem instance, we want to solve it quickly Reliable

More information

Sequential Equivalence Checking without State Space Traversal

Sequential Equivalence Checking without State Space Traversal Sequential Equivalence Checking without State Space Traversal C.A.J. van Eijk Design Automation Section, Eindhoven University of Technology P.O.Box 53, 5600 MB Eindhoven, The Netherlands e-mail: C.A.J.v.Eijk@ele.tue.nl

More information

Signals and Systems Digital Logic System

Signals and Systems Digital Logic System Signals and Systems Digital Logic System Prof. Wonhee Kim Chapter 2 Design Process for Combinational Systems Step 1: Represent each of the inputs and outputs in binary Step 1.5: If necessary, break the

More information

Synchronous program verification with Lustre/Lesar

Synchronous program verification with Lustre/Lesar Synchronous program verification with Lustre/Lesar Pascal Raymond Apr. 2008, rev. Nov 2018 Synchronous approach has been proposed in the middle of the 80 s with the aim of reconcile concurrent programming

More information

Intelligent Agents. Formal Characteristics of Planning. Ute Schmid. Cognitive Systems, Applied Computer Science, Bamberg University

Intelligent Agents. Formal Characteristics of Planning. Ute Schmid. Cognitive Systems, Applied Computer Science, Bamberg University Intelligent Agents Formal Characteristics of Planning Ute Schmid Cognitive Systems, Applied Computer Science, Bamberg University Extensions to the slides for chapter 3 of Dana Nau with contributions by

More information

A Brief Introduction to Model Checking

A Brief Introduction to Model Checking A Brief Introduction to Model Checking Jan. 18, LIX Page 1 Model Checking A technique for verifying finite state concurrent systems; a benefit on this restriction: largely automatic; a problem to fight:

More information

Binary Decision Diagrams

Binary Decision Diagrams Binary Decision Diagrams Sungho Kang Yonsei University Outline Representing Logic Function Design Considerations for a BDD package Algorithms 2 Why BDDs BDDs are Canonical (each Boolean function has its

More information

Embedded Systems 2. REVIEW: Actor models. A system is a function that accepts an input signal and yields an output signal.

Embedded Systems 2. REVIEW: Actor models. A system is a function that accepts an input signal and yields an output signal. Embedded Systems 2 REVIEW: Actor models A system is a function that accepts an input signal and yields an output signal. The domain and range of the system function are sets of signals, which themselves

More information

Chapter 2 : Boolean Algebra and Logic Gates

Chapter 2 : Boolean Algebra and Logic Gates Chapter 2 : Boolean Algebra and Logic Gates By Electrical Engineering Department College of Engineering King Saud University 1431-1432 2.1. Basic Definitions 2.2. Basic Theorems and Properties of Boolean

More information

Improving Efficiency of Symbolic Model Checking for State-Based System Requirements

Improving Efficiency of Symbolic Model Checking for State-Based System Requirements Improving Efficiency of Symbolic Model Checking for State-Based System Requirements William Chan Richard J. Anderson Paul Beame David Notkin {wchan,anderson,beame,notkin}@cs.washington.edu Technical Report

More information

Combinational Logic Design Combinational Functions and Circuits

Combinational Logic Design Combinational Functions and Circuits Combinational Logic Design Combinational Functions and Circuits Overview Combinational Circuits Design Procedure Generic Example Example with don t cares: BCD-to-SevenSegment converter Binary Decoders

More information

Hoare Logic (I): Axiomatic Semantics and Program Correctness

Hoare Logic (I): Axiomatic Semantics and Program Correctness Hoare Logic (I): Axiomatic Semantics and Program Correctness (Based on [Apt and Olderog 1991; Gries 1981; Hoare 1969; Kleymann 1999; Sethi 199]) Yih-Kuen Tsay Dept. of Information Management National Taiwan

More information

Unit 2 Boolean Algebra

Unit 2 Boolean Algebra Unit 2 Boolean Algebra 2.1 Introduction We will use variables like x or y to represent inputs and outputs (I/O) of a switching circuit. Since most switching circuits are 2 state devices (having only 2

More information

Introduction to Kleene Algebras

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

More information

Department of Electrical & Electronics EE-333 DIGITAL SYSTEMS

Department of Electrical & Electronics EE-333 DIGITAL SYSTEMS Department of Electrical & Electronics EE-333 DIGITAL SYSTEMS 1) Given the two binary numbers X = 1010100 and Y = 1000011, perform the subtraction (a) X -Y and (b) Y - X using 2's complements. a) X = 1010100

More information