Theorem Proving beyond Deduction

Size: px
Start display at page:

Download "Theorem Proving beyond Deduction"

Transcription

1 Theorem Proving beyond Deduction Specification and Verification with Higher-Order Logic Arnd Poetzsch-Heffter (Slides by Jens Brandt) Software Technology Group Fachbereich Informatik Technische Universität Kaiserslautern Sommersemester 2008 Arnd Poetzsch-Heffter (Slides by Jens Brandt) ( Software Technology Theorem Proving Groupbeyond Fachbereich Deduction Informatik Technische Universität Sommersemester Kaiserslautern) / 44

2 Outline Introduction 1 Introduction 2 SAT Solver 3 Model Checker 4 Conclusion Arnd Poetzsch-Heffter (Slides by Jens Brandt) ( Software Technology Theorem Proving Groupbeyond Fachbereich Deduction Informatik Technische Universität Sommersemester Kaiserslautern) / 44

3 Motivation Introduction Motivation Unified Verification Platform use theorem prover to integrate various tools most general and most flexible tool Combining Calculation and Deduction deduction: e.g. theorem proving: proving properties by mechanised logical deduction calculation: e.g. model checking: showing system M has property P by algorithmic calculation research goal: general platform for implementing provers and checkers Arnd Poetzsch-Heffter (Slides by Jens Brandt) ( Software Technology Theorem Proving Groupbeyond Fachbereich Deduction Informatik Technische Universität Sommersemester Kaiserslautern) / 44

4 Introduction Want the Best of Both Worlds Motivation want maximally expressive logics higher-order logic readable specs of whole systems, high-level datatypes etc. requires theorem proving want state-of-the-art checking efficiency years of algorithm design and code honing Arnd Poetzsch-Heffter (Slides by Jens Brandt) ( Software Technology Theorem Proving Groupbeyond Fachbereich Deduction Informatik Technische Universität Sommersemester Kaiserslautern) / 44

5 Three Approaches Introduction Combinations Loose Integration link tools via protocols, scripting languages etc. Add Calculation to Theorem Prover implement algorithms in a general theorem prover Add Deduction to Specialised Tool add rules to a specialised tool Arnd Poetzsch-Heffter (Slides by Jens Brandt) ( Software Technology Theorem Proving Groupbeyond Fachbereich Deduction Informatik Technische Universität Sommersemester Kaiserslautern) / 44

6 Loose Integration Introduction Combinations external tool 1 theorem prover external tool 2 Overview existing infrastructure, future-proof, semantically challenging many tools are linked in this way: SAT, FOL,... approach followed by PROSPER EU project will be illustrated with the help of SAT solvers Arnd Poetzsch-Heffter (Slides by Jens Brandt) ( Software Technology Theorem Proving Groupbeyond Fachbereich Deduction Informatik Technische Universität Sommersemester Kaiserslautern) / 44

7 Introduction Combinations Add Calculation to Theorem Prover internal theorem internal tool 1 prover tool 2 Overview example: theorem proving is guided by model checking will be illustrated with the help of a model checker Arnd Poetzsch-Heffter (Slides by Jens Brandt) ( Software Technology Theorem Proving Groupbeyond Fachbereich Deduction Informatik Technische Universität Sommersemester Kaiserslautern) / 44

8 Introduction Combinations Add Deduction to Specialised Tool main tool deduction components internal tool Overview goal: extend specialised tool to complete system lightweight proving + state-of-art checking (Cadence, Intel) will not be illustrated in the following Arnd Poetzsch-Heffter (Slides by Jens Brandt) ( Software Technology Theorem Proving Groupbeyond Fachbereich Deduction Informatik Technische Universität Sommersemester Kaiserslautern) / 44

9 Outline SAT Solver 1 Introduction 2 SAT Solver 3 Model Checker 4 Conclusion Arnd Poetzsch-Heffter (Slides by Jens Brandt) ( Software Technology Theorem Proving Groupbeyond Fachbereich Deduction Informatik Technische Universität Sommersemester Kaiserslautern) / 44

10 SAT Solver SAT Library LCF Approach to Theorem Proving Theorems theorems represented by an abstract type primitive operations axioms inference rules of a logic composing together the inference rules using ML programs Example (Higher-Order Logic Axioms) b. (b = T ) (b = F) b 1 b 2. (b 1 b 2 ) (b 2 b 1 ) (b 1 = b 2 ) f. (λ x. fx) = f P x. P x P(ε P) f.( x y. fx = fy x = y) ( x. y. x = f y) Arnd Poetzsch-Heffter (Slides by Jens Brandt) ( Software Technology Theorem Proving Groupbeyond Fachbereich Deduction Informatik Technische Universität Sommersemester Kaiserslautern) / 44

11 SAT Solver SAT Library LCF Approach to Theorem Proving Backdoor oracles can create arbitrary theorems always tagged (string denoting the origin) tags are propagated if oracle is incorrect, all incorrect theorems can be spotted Backdoor API val mk_thm : term list term > thm val mk_oracle_thm : string > term list term > thm val add_tag : tag thm > thm val tag : thm > tag Arnd Poetzsch-Heffter (Slides by Jens Brandt) ( Software Technology Theorem Proving Groupbeyond Fachbereich Deduction Informatik Technische Universität Sommersemester Kaiserslautern) / 44

12 SAT Solver Creating Tagged Theorems SAT Library Example (Oracles) show_tags := true; > val it = () : unit val thm1 = mk_oracle_thm "me" ([], T ==> F ); > val thm1 = [oracles: me] [axioms: ] [] T ==> F : thm CONTRAPOS thm1; > val it = [oracles: DISK_THM, me] [axioms: ] [] ~F ==> ~T : thm Arnd Poetzsch-Heffter (Slides by Jens Brandt) ( Software Technology Theorem Proving Groupbeyond Fachbereich Deduction Informatik Technische Universität Sommersemester Kaiserslautern) / 44

13 SAT Solver SAT Library Boolean Satisfiability Problem (SAT) Problem Given a Boolean expression, is there some assignment to all the variables that will make the entire expression true? Example (SAT) (x 1 x 2 ) ( x 1 x 2 ) x 1 x 2 ( x 1 x 2 ) Properties problem is NP-complete very important, many applications bounded model checking, equivalence checking, FPGA routing,... Arnd Poetzsch-Heffter (Slides by Jens Brandt) ( Software Technology Theorem Proving Groupbeyond Fachbereich Deduction Informatik Technische Universität Sommersemester Kaiserslautern) / 44

14 SAT Solver SAT Tool Interface: DIMACS SAT Library Interface common input file format for SAT solvers several descriptions supported in the following: expression in conjunctive form Example (Input File Format) c Example DIMACS file p cnf (x 1 x 3 x 4 ) x 4 (x 2 x 3 ) Arnd Poetzsch-Heffter (Slides by Jens Brandt) ( Software Technology Theorem Proving Groupbeyond Fachbereich Deduction Informatik Technische Universität Sommersemester Kaiserslautern) / 44

15 Using the SAT Library SAT Solver SAT Library Interface two functions that create theorems: satoracle and satprove difference: optional checking Example (Using HolSatLib) satoracle grasp (x \/ ~y \/ z) /\ (~z \/ y ) ; > val it = [oracles: grasp] [axioms: ] [] z /\ y ==> (x \/ ~y \/ z) /\ (~z \/ y) : thm satprove grasp (x \/ ~y \/ z) /\ (~z \/ y ) ; > val it = [oracles: ] [axioms: ] [] z /\ y ==> (x \/ ~y \/ z) /\ (~z \/ y) : thm Arnd Poetzsch-Heffter (Slides by Jens Brandt) ( Software Technology Theorem Proving Groupbeyond Fachbereich Deduction Informatik Technische Universität Sommersemester Kaiserslautern) / 44

16 Invoking the SAT Solver SAT Solver SAT Library Arguments of satoracle SAT solver: sato, grasp or zchaff... term t Steps of satoracle write a DIMACS format file corresponding to the term t invoke the solver on the file to create an output file parse the output file to extract the model found create a theorem (tagged with the name of the solver) that shows the model Arnd Poetzsch-Heffter (Slides by Jens Brandt) ( Software Technology Theorem Proving Groupbeyond Fachbereich Deduction Informatik Technische Universität Sommersemester Kaiserslautern) / 44

17 Invoking the SAT Solver SAT Solver SAT Library Steps of satprove write a DIMACS format file corresponding to the term t invoke the solver on the file to create an output file parse the output file to extract the model found use HOL to check that the model is really a model and return an untagged theorem Example (Using satprove) satprove grasp (x \/ ~y \/ z) /\ (~z \/ y ) ; > val it = [oracles: ] [axioms: ] [] z /\ y ==> (x \/ ~y \/ z) /\ (~z \/ y) : thm checking a solution is relatively simple Arnd Poetzsch-Heffter (Slides by Jens Brandt) ( Software Technology Theorem Proving Groupbeyond Fachbereich Deduction Informatik Technische Universität Sommersemester Kaiserslautern) / 44

18 Unsatisfiable Terms SAT Solver SAT Library Example (Unsatisfiable Terms) satoracle grasp (x \/ ~y \/ z) /\ ~z /\ y /\ ~x ; > val it = [oracles: grasp] [axioms: ] [] ~((x \/ ~y \/ z) /\ ~z /\ y /\ ~x) satprove grasp (x \/ ~y \/ z) /\ ~z /\ y /\ ~x ;! Uncaught exception:! satproveerror Checking the Result proving that no solution exists is not simple no efficient implementation in HOL (basically needs to check all possibilities) Arnd Poetzsch-Heffter (Slides by Jens Brandt) ( Software Technology Theorem Proving Groupbeyond Fachbereich Deduction Informatik Technische Universität Sommersemester Kaiserslautern) / 44

19 Tautology Checking SAT Solver SAT Library Procedure 1 prove x. t = x. t 2 use a SAT solver to prove x. t ; 3 by negating both sides of (1), prove x. t = x. t 4 hence by combining (2) and (3) derive x. t. 5 hence by the law of double negation conclude x. t. Arnd Poetzsch-Heffter (Slides by Jens Brandt) ( Software Technology Theorem Proving Groupbeyond Fachbereich Deduction Informatik Technische Universität Sommersemester Kaiserslautern) / 44

20 Tautology Checking SAT Solver SAT Library Example (Tautology Checking Code) fun SAT_TAUT_CHECK sat_solver t = let val th1 = canontools.cnf_conv(mk_neg t) val th2 = satoracle sat_solver (rhs(concl th1)) val th3 = AP_TERM $~ th1 val th4 = EQ_MP (SYM th3) th2 val th5 = EQ_MP (SPEC t NOT_NOT) th4 in th5 end; Arnd Poetzsch-Heffter (Slides by Jens Brandt) ( Software Technology Theorem Proving Groupbeyond Fachbereich Deduction Informatik Technische Universität Sommersemester Kaiserslautern) / 44

21 Outline Model Checker 1 Introduction 2 SAT Solver 3 Model Checker 4 Conclusion Arnd Poetzsch-Heffter (Slides by Jens Brandt) ( Software Technology Theorem Proving Groupbeyond Fachbereich Deduction Informatik Technische Universität Sommersemester Kaiserslautern) / 44

22 Model Checker State Transition Systems in HOL Model Checking States set of states: type states set of initial states: predicate B B : states bool B s means s is an initial state Transitions state transition relation: R R : states states bool R(s,s ) means s a successor to s Arnd Poetzsch-Heffter (Slides by Jens Brandt) ( Software Technology Theorem Proving Groupbeyond Fachbereich Deduction Informatik Technische Universität Sommersemester Kaiserslautern) / 44

23 HOL Definitions Model Checker Model Checking Reachable States set of states reachable in at most n steps: ReachBy 0 R B s = B s ReachBy (n+1) R B s = ReachBy n R B s u. ReachBy n R B u R(u,s) set of reachable states: Reachable R B s = n. ReachBy n R B s Checking Safety Properties check M = P with the help of s. ( n. ReachBy n R B s) P s use BDDs: compute BDD and check result if the BDD of true Arnd Poetzsch-Heffter (Slides by Jens Brandt) ( Software Technology Theorem Proving Groupbeyond Fachbereich Deduction Informatik Technische Universität Sommersemester Kaiserslautern) / 44

24 Model Checker Computing ReachBy n R B s Model Checking Fixpoint Iteration s. ( n. ReachBy n R B s) P s is not a quantified boolean formula (QBF) Key property: (ReachBy n R B s = ReachBy (n+1) R B s) (Reachable R B s = ReachBy n R B s) Compute Reachable R B s by iteratively computing: ReachBy 0 R B s ReachBy 1 R B s. ReachBy n R B s ReachBy (n+1) R B s Arnd Poetzsch-Heffter (Slides by Jens Brandt) ( Software Technology Theorem Proving Groupbeyond Fachbereich Deduction Informatik Technische Universität Sommersemester Kaiserslautern) / 44

25 Binary Decision Diagrams Model Checker Model Checking Example (BDD for (a b) ( a c)) c a b b c b a a variable order a < b < c variable order c < b < a Arnd Poetzsch-Heffter (Slides by Jens Brandt) ( Software Technology Theorem Proving Groupbeyond Fachbereich Deduction Informatik Technische Universität Sommersemester Kaiserslautern) / 44

26 Model Checker Model Checking Applying the LCF Approach to BDD Calculation Consider Judgements (ρ, t, b) Analogy structure ρ represents a variable order, t is a boolean term all of whose free variables are Boolean b is a BDD. such a judgement is valid (ρt b) if the BDD representing t with respect to ρ is b abstract type term_bdd that models judgements higher level tools, such as model checkers, are programmed in ML as derived rules Arnd Poetzsch-Heffter (Slides by Jens Brandt) ( Software Technology Theorem Proving Groupbeyond Fachbereich Deduction Informatik Technische Universität Sommersemester Kaiserslautern) / 44

27 BDD Judgements Model Checker Model Checking Example {a 1,b 2,c 3} (a b) ( a c) (variable order: a < b < c) 0 1 can also be written as BDD(1 (2 1 0) (3 1 0)) Arnd Poetzsch-Heffter (Slides by Jens Brandt) ( Software Technology Theorem Proving Groupbeyond Fachbereich Deduction Informatik Technische Universität Sommersemester Kaiserslautern) / 44

28 Model Checker Model Checking Implementation in HOL HolBddLib BDD Library An ML type termbdd to represent judgements ρ t b analogous to LCF type thm representing logic theorems t ML functions corresponding to inference rules, for example: BddT : termbdd BddNot : termbdd termbdd BddAnd : termbdd termbdd termbdd BddEqualTest : termbdd termbdd bool BddEqMpSYM : thm termbdd termbdd BddThmOracle : termbdd thm Arnd Poetzsch-Heffter (Slides by Jens Brandt) ( Software Technology Theorem Proving Groupbeyond Fachbereich Deduction Informatik Technische Universität Sommersemester Kaiserslautern) / 44

29 Model Checker Model Checking Reasoning about BDD Representations of Terms BDD Derivation ρ t b means term t is represented by BDD b w.r.t. ρ let ρ be a map from variables to ordered BDD variable nodes T ρ T BDD(1) F ρ F BDD(0) VAR ρ(v) = n ρ v BDD(n 1 0) AND ρ t 1 b 1 ρ t 2 b 2 ρ t 1 t 2 b 1 AND b 2 EQ ρ t 1 b 1 ρ t 2 b 2 ρ t 1 = t 2 b 1 EQ b 2 IMP ρ t 1 b 1 ρ t 2 b 2 ρ t 1 t 2 b 1 IMP b 2 EXISTS THM ρ t BDD(1) t ρ t b ρ u n ρ u. t EXISTS n b SUB ρ t 1 b t 1 = t 2 ρ t 2 b Arnd Poetzsch-Heffter (Slides by Jens Brandt) ( Software Technology Theorem Proving Groupbeyond Fachbereich Deduction Informatik Technische Universität Sommersemester Kaiserslautern) / 44

30 Model Checker Model Checking Combining BDD Calculation and Deduction Calculation and Deduction If t 1 a QBF then ρ t 1 b by BDD evaluation logically use rules T, F, VAR, AND, EQ, IMP, EXISTS,... implement efficiently Use theorem proving to prove t 2 Combine using bridging rules THM and SUB THM is the only rule that creates theorems Arnd Poetzsch-Heffter (Slides by Jens Brandt) ( Software Technology Theorem Proving Groupbeyond Fachbereich Deduction Informatik Technische Universität Sommersemester Kaiserslautern) / 44

31 Model Checker Example Deduction using BDDs Model Checking Example Define S n (s) = ReachBy n R B s... ρ S 20 (s) b 20 ρ S 21 (s) b 21 ρ (S 20 (s) = S 21 (s)) b 20 EQ b 21 S 20 (s) = S 21 (s) (S 20 (s) = S 21 (s)) ( n. S n (s)) = S 20 (s) ( n. S n (s)) = S 20 (s) ρ ( n. S n (s)) b 20 ρ P(s) b P ρ ( n. S n (s)) P(s) b 20 IMP b P ( n. S n (s)) P(s) BDD evaluation BDD evaluation EQ THM assuming b 20 EQ b 21 is Instance of lemma Modus Ponens and lemma SUB BDD evaluation IMP THM assuming b 20 IMP b P is Arnd Poetzsch-Heffter (Slides by Jens Brandt) ( Software Technology Theorem Proving Groupbeyond Fachbereich Deduction Informatik Technische Universität Sommersemester Kaiserslautern) / 44

32 Model Checker Model Checking Example: Check AG P holds of model M Example M = AG P meaning of = σ. M σ AG P σ M = Machine(R,B) σ. (B(σ 0) n. R(σ n, σ(n+1))) n. P(σ n) definition of ReachBy s n. ReachBy n R B s P s first order logic s. ( n. ReachBy n R B s) P s BDD calculation Arnd Poetzsch-Heffter (Slides by Jens Brandt) ( Software Technology Theorem Proving Groupbeyond Fachbereich Deduction Informatik Technische Universität Sommersemester Kaiserslautern) / 44

33 Properties Model Checker Model Checking Reachable R B s Q s means Q true in all reachable states Might want to verify other properties, e.g: DeviceEnabled is always true somewhere along every path starting anywhere (i.e. infinitely often along every path) From any state it is possible to get to a state for which Restart holds Q is true on all paths sometime between i units of time later and j units of time later. CTL is a logic for expressing such properties Exist efficient algorithms for checking them Model checking: check property in a model Emerson & Clarke, early 1980s starting to be used in industry Arnd Poetzsch-Heffter (Slides by Jens Brandt) ( Software Technology Theorem Proving Groupbeyond Fachbereich Deduction Informatik Technische Universität Sommersemester Kaiserslautern) / 44

34 Model Checker Computation Tree Logic (CTL) Model Checking Syntax of CTL Well-Formed Formulae wff ::= P (Atomic formula) wff (Negation) wff 1 wff 2 (Conjunction) wff 1 wff 2 (Disjunction) wff 1 wff 2 (Implication) AXwff (All successors) EXwff (Some successors) A[wff 1 U wff 2 ] (Until along all paths) E[wff 1 U wff 2 ] (Until along some path) Branching Time Logic property Φ hold along all paths: AΦ property Φ holds along some paths: EΦ Arnd Poetzsch-Heffter (Slides by Jens Brandt) ( Software Technology Theorem Proving Groupbeyond Fachbereich Deduction Informatik Technische Universität Sommersemester Kaiserslautern) / 44

35 Paths Model Checker Model Checking Paths Let R have type α α bool α ranges (intuitively) over states An R-path is a function σ : num α such that: t. R(σ(t),σ(t+1)) PATH(R,s)σ means σ is an R-path from s PATH(R,s)σ = (σ(0)=s) t. R(σ(t),σ(t+1)) Arnd Poetzsch-Heffter (Slides by Jens Brandt) ( Software Technology Theorem Proving Groupbeyond Fachbereich Deduction Informatik Technische Universität Sommersemester Kaiserslautern) / 44

36 Model Checker Model Checking Semantic Embedding of CTL in HOL Define: Atom(p) = λ(r,s). p(s) P = λ(r,s). (P(R,s)) P Q = λ(r,s). P(R,s) Q(R,s) P Q = λ(r,s). P(R,s) Q(R,s) P Q = λ(r,s). P(R,s) Q(R,s) AXP = λ(r,s). s. R(s,s ) P(R,s ) EXP = λ(r,s). s. R(s,s ) P(R,s ) A[P U Q] = λ(r,s). σ. PATH(R, s)σ i. Q(R,σ(i)) j. j < i P(R,σ(j)) E[P U Q] = λ(r,s). σ. PATH(R, s)σ i. Q(R,σ(i)) j. j < i P(R,σ(j)) Arnd Poetzsch-Heffter (Slides by Jens Brandt) ( Software Technology Theorem Proving Groupbeyond Fachbereich Deduction Informatik Technische Universität Sommersemester Kaiserslautern) / 44

37 AF Model Checker Model Checking Additional Operators Example: AFP = A[T U P] AFP is true if P holds somewhere along every R-path i.e. P is inevitable Derivation is easy AFP = A[T U P] = λ(r,s). σ. PATH(R,s)σ i. P(R,σ(i)) j. j < i T(R,σ(j)) = λ(r,s). σ. PATH(R, s)σ i. P(R, σ(i)) Arnd Poetzsch-Heffter (Slides by Jens Brandt) ( Software Technology Theorem Proving Groupbeyond Fachbereich Deduction Informatik Technische Universität Sommersemester Kaiserslautern) / 44

38 Example CTL Formulas Model Checker Model Checking EF(Started Ready) It is possible to get to a state where Started holds but Ready does not hold. AG(Req AFAck) If a request Req occurs, then it will eventually be acknowledged by Ack. AG(AFDeviceEnabled) DeviceEnabled is always true somewhere along every path starting anywhere: i.e. DeviceEnabled holds infinitely often along every path. AG(EFRestart) From any state it is possible to get to a state for which Restart holds. Arnd Poetzsch-Heffter (Slides by Jens Brandt) ( Software Technology Theorem Proving Groupbeyond Fachbereich Deduction Informatik Technische Universität Sommersemester Kaiserslautern) / 44

39 Model Checker Verification and Counterexamples Model Checking Typical Safety Question is Q true in all reachable states? i.e. is Reachable R B s Q s true? Computation Compute BDD of Reachable R B s Q s if answer false: can get counterexample Arnd Poetzsch-Heffter (Slides by Jens Brandt) ( Software Technology Theorem Proving Groupbeyond Fachbereich Deduction Informatik Technische Universität Sommersemester Kaiserslautern) / 44

40 Model Checker Model Checking Generating Counterexample Traces Finding a Counterexample suppose Reachable R B s Q s is false maybe counterexample before fixedpoint first find counterexample generate BDDs of ReachBy i R B (i = 0,1,...) at each stage check whether Q s holds hence find smallest n and state s n such that ReachBy n R B s n (Q s n ) Then trace backwards using: Pre R Q s = s. R(s,s ) Q s Eq s 1 s 2 = (s 1 = s 2 ) use BDDs to get s n,...,s 0 where ReachBy (i 1) R B s i 1 Pre R (Eq s i ) s i 1 Pre R Q s can be deductively simplified (so that BDD of R not needed) Arnd Poetzsch-Heffter (Slides by Jens Brandt) ( Software Technology Theorem Proving Groupbeyond Fachbereich Deduction Informatik Technische Universität Sommersemester Kaiserslautern) / 44

41 Model Checking in HOL Model Checker Model Checking Model Checking e.g. AG P(R,s 0 ) is s. Reachable R (Eq s 0 ) s P s. current work has built a CTL model checker inside HOL HOL + BDD Results deduction can enhance state enumeration simplify formulas to eliminate subterms state enumeration can enhance deduction find counterexamples formulas for reachable states Arnd Poetzsch-Heffter (Slides by Jens Brandt) ( Software Technology Theorem Proving Groupbeyond Fachbereich Deduction Informatik Technische Universität Sommersemester Kaiserslautern) / 44

42 Summary Model Checker Model Checking Model Checking Implementation deduction using theorem prover written in ML (HOL) extended with THM as oracle external calls to BDD package written in C (BuDDy) incremental database of computed instances of ρ t b model checking by HOL deduction + BDD calculation implemented by deduction rules programmed in ML next 700 formal verification tools... Arnd Poetzsch-Heffter (Slides by Jens Brandt) ( Software Technology Theorem Proving Groupbeyond Fachbereich Deduction Informatik Technische Universität Sommersemester Kaiserslautern) / 44

43 Outline Conclusion 1 Introduction 2 SAT Solver 3 Model Checker 4 Conclusion Arnd Poetzsch-Heffter (Slides by Jens Brandt) ( Software Technology Theorem Proving Groupbeyond Fachbereich Deduction Informatik Technische Universität Sommersemester Kaiserslautern) / 44

44 Conclusion Conclusion Conclusion Connect External Tools LCF approach and oracles tags to trace origins of theorems very efficient approach Implement Tools Internally implementation in higher-order logic clean and flexible approach Arnd Poetzsch-Heffter (Slides by Jens Brandt) ( Software Technology Theorem Proving Groupbeyond Fachbereich Deduction Informatik Technische Universität Sommersemester Kaiserslautern) / 44

Outline. Overview. Syntax Semantics. Introduction Hilbert Calculus Natural Deduction. 1 Introduction. 2 Language: Syntax and Semantics

Outline. Overview. Syntax Semantics. Introduction Hilbert Calculus Natural Deduction. 1 Introduction. 2 Language: Syntax and Semantics Introduction Arnd Poetzsch-Heffter Software Technology Group Fachbereich Informatik Technische Universität Kaiserslautern Sommersemester 2010 Arnd Poetzsch-Heffter ( Software Technology Group Fachbereich

More information

02 Propositional Logic

02 Propositional Logic SE 2F03 Fall 2005 02 Propositional Logic Instructor: W. M. Farmer Revised: 25 September 2005 1 What is Propositional Logic? Propositional logic is the study of the truth or falsehood of propositions or

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

Linear Temporal Logic (LTL)

Linear Temporal Logic (LTL) Linear Temporal Logic (LTL) Grammar of well formed formulae (wff) φ φ ::= p (Atomic formula: p AP) φ (Negation) φ 1 φ 2 (Disjunction) Xφ (successor) Fφ (sometimes) Gφ (always) [φ 1 U φ 2 ] (Until) Details

More information

Chapter 6: Computation Tree Logic

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

Comp487/587 - Boolean Formulas

Comp487/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 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

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

Propositional and Predicate Logic - V

Propositional and Predicate Logic - V Propositional and Predicate Logic - V Petr Gregor KTIML MFF UK WS 2016/2017 Petr Gregor (KTIML MFF UK) Propositional and Predicate Logic - V WS 2016/2017 1 / 21 Formal proof systems Hilbert s calculus

More information

Applied Logic. Lecture 1 - Propositional logic. Marcin Szczuka. Institute of Informatics, The University of Warsaw

Applied Logic. Lecture 1 - Propositional logic. Marcin Szczuka. Institute of Informatics, The University of Warsaw Applied Logic Lecture 1 - Propositional logic Marcin Szczuka Institute of Informatics, The University of Warsaw Monographic lecture, Spring semester 2017/2018 Marcin Szczuka (MIMUW) Applied Logic 2018

More information

First-Order Theorem Proving and Vampire. Laura Kovács (Chalmers University of Technology) Andrei Voronkov (The University of Manchester)

First-Order Theorem Proving and Vampire. Laura Kovács (Chalmers University of Technology) Andrei Voronkov (The University of Manchester) First-Order Theorem Proving and Vampire Laura Kovács (Chalmers University of Technology) Andrei Voronkov (The University of Manchester) Outline Introduction First-Order Logic and TPTP Inference Systems

More information

Advanced Topics in LP and FP

Advanced Topics in LP and FP Lecture 1: Prolog and Summary of this lecture 1 Introduction to Prolog 2 3 Truth value evaluation 4 Prolog Logic programming language Introduction to Prolog Introduced in the 1970s Program = collection

More information

Propositional Logic: Models and Proofs

Propositional Logic: Models and Proofs Propositional Logic: Models and Proofs C. R. Ramakrishnan CSE 505 1 Syntax 2 Model Theory 3 Proof Theory and Resolution Compiled at 11:51 on 2016/11/02 Computing with Logic Propositional Logic CSE 505

More information

MODEL-CHECKING IN DENSE REAL-TIME SHANT HARUTUNIAN

MODEL-CHECKING IN DENSE REAL-TIME SHANT HARUTUNIAN MODEL-CHECKING IN DENSE REAL-TIME SHANT HARUTUNIAN 1. Introduction These slides are for a talk based on the paper Model-Checking in Dense Real- Time, by Rajeev Alur, Costas Courcoubetis, and David Dill.

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

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

Write your own Theorem Prover

Write your own Theorem Prover Write your own Theorem Prover Phil Scott 27 October 2016 Phil Scott Write your own Theorem Prover 27 October 2016 1 / 31 Introduction We ll work through a toy LCF style theorem prover for classical propositional

More information

Language of Propositional Logic

Language of Propositional Logic Logic A logic has: 1. An alphabet that contains all the symbols of the language of the logic. 2. A syntax giving the rules that define the well formed expressions of the language of the logic (often called

More information

Inductive Definitions and Fixed Points

Inductive Definitions and Fixed Points 6. Inductive Definitions and Fixed Points 6.0 6. Inductive Definitions and Fixed Points 6.0 Chapter 6 Overview of Chapter Inductive Definitions and Fixed Points 6. Inductive Definitions and Fixed Points

More information

Unbounded, Fully Symbolic Model Checking of Timed Automata using Boolean Methods

Unbounded, Fully Symbolic Model Checking of Timed Automata using Boolean Methods Unbounded, Fully Symbolic Model Checking of Timed Automata using Boolean Methods Sanjit A. Seshia and Randal E. Bryant Computer Science Department Carnegie Mellon University Verifying Timed Embedded Systems

More information

Temporal Logic. Stavros Tripakis University of California, Berkeley. We have designed a system. We want to check that it is correct.

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

Propositional Logic. Methods & Tools for Software Engineering (MTSE) Fall Prof. Arie Gurfinkel

Propositional Logic. Methods & Tools for Software Engineering (MTSE) Fall Prof. Arie Gurfinkel Propositional Logic Methods & Tools for Software Engineering (MTSE) Fall 2017 Prof. Arie Gurfinkel References Chpater 1 of Logic for Computer Scientists http://www.springerlink.com/content/978-0-8176-4762-9/

More information

Knowledge base (KB) = set of sentences in a formal language Declarative approach to building an agent (or other system):

Knowledge base (KB) = set of sentences in a formal language Declarative approach to building an agent (or other system): Logic Knowledge-based agents Inference engine Knowledge base Domain-independent algorithms Domain-specific content Knowledge base (KB) = set of sentences in a formal language Declarative approach to building

More information

Computational Logic. Davide Martinenghi. Spring Free University of Bozen-Bolzano. Computational Logic Davide Martinenghi (1/30)

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

Integrating a SAT Solver with an LCF-style Theorem Prover

Integrating a SAT Solver with an LCF-style Theorem Prover Integrating a SAT Solver with an LCF-style Theorem Prover A Fast Decision Procedure for Propositional Logic for the System Tjark Weber webertj@in.tum.de PDPAR 05, July 12, 2005 Integrating a SAT Solver

More information

NPTEL Phase-II Video course on. Design Verification and Test of. Dr. Santosh Biswas Dr. Jatindra Kumar Deka IIT Guwahati

NPTEL Phase-II Video course on. Design Verification and Test of. Dr. Santosh Biswas Dr. Jatindra Kumar Deka IIT Guwahati NPTEL Phase-II Video course on Design Verification and Test of Digital VLSI Designs Dr. Santosh Biswas Dr. Jatindra Kumar Deka IIT Guwahati Module IV: Temporal Logic Lecture I: Introduction to formal methods

More information

First-Order Logic First-Order Theories. Roopsha Samanta. Partly based on slides by Aaron Bradley and Isil Dillig

First-Order Logic First-Order Theories. Roopsha Samanta. Partly based on slides by Aaron Bradley and Isil Dillig First-Order Logic First-Order Theories Roopsha Samanta Partly based on slides by Aaron Bradley and Isil Dillig Roadmap Review: propositional logic Syntax and semantics of first-order logic (FOL) Semantic

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

Model for reactive systems/software

Model for reactive systems/software Temporal Logics CS 5219 Abhik Roychoudhury National University of Singapore The big picture Software/ Sys. to be built (Dream) Properties to Satisfy (caution) Today s lecture System Model (Rough Idea)

More information

Validating QBF Invalidity in HOL4

Validating QBF Invalidity in HOL4 Interactive Theorem Proving (ITP) 14 July, 2010 Quantified Boolean Formulae Quantified Boolean Formulae Motivation System Overview Related Work QBF = propositional logic + quantifiers over Boolean variables

More information

Model Checking. Boris Feigin March 9, University College London

Model Checking. Boris Feigin March 9, University College London b.feigin@cs.ucl.ac.uk University College London March 9, 2005 Outline 1 2 Techniques Symbolic 3 Software 4 Vs. Deductive Verification Summary Further Reading In a nutshell... Model checking is a collection

More information

Learning Goals of CS245 Logic and Computation

Learning Goals of CS245 Logic and Computation Learning Goals of CS245 Logic and Computation Alice Gao April 27, 2018 Contents 1 Propositional Logic 2 2 Predicate Logic 4 3 Program Verification 6 4 Undecidability 7 1 1 Propositional Logic Introduction

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

Propositional logic. First order logic. Alexander Clark. Autumn 2014

Propositional logic. First order logic. Alexander Clark. Autumn 2014 Propositional logic First order logic Alexander Clark Autumn 2014 Formal Logic Logical arguments are valid because of their form. Formal languages are devised to express exactly that relevant form and

More information

Bounded Model Checking Using Satisfiability Solving

Bounded Model Checking Using Satisfiability Solving Carnegie Mellon University Research Showcase @ CMU Computer Science Department School of Computer Science 2001 Bounded Model Checking Using Satisfiability Solving Edmund M. Clarke Carnegie Mellon University,

More information

Temporal Logic Model Checking

Temporal 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 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

First-Order Theorem Proving and Vampire

First-Order Theorem Proving and Vampire First-Order Theorem Proving and Vampire Laura Kovács 1,2 and Martin Suda 2 1 TU Wien 2 Chalmers Outline Introduction First-Order Logic and TPTP Inference Systems Saturation Algorithms Redundancy Elimination

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

LOGIC PROPOSITIONAL REASONING

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

Probabilistic Model Checking Michaelmas Term Dr. Dave Parker. Department of Computer Science University of Oxford

Probabilistic 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 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

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

AI Programming CS S-09 Knowledge Representation

AI Programming CS S-09 Knowledge Representation AI Programming CS662-2013S-09 Knowledge Representation David Galles Department of Computer Science University of San Francisco 09-0: Overview So far, we ve talked about search, which is a means of considering

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

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

Propositional Logic: Part II - Syntax & Proofs 0-0

Propositional Logic: Part II - Syntax & Proofs 0-0 Propositional Logic: Part II - Syntax & Proofs 0-0 Outline Syntax of Propositional Formulas Motivating Proofs Syntactic Entailment and Proofs Proof Rules for Natural Deduction Axioms, theories and theorems

More information

Deductive Systems. Lecture - 3

Deductive Systems. Lecture - 3 Deductive Systems Lecture - 3 Axiomatic System Axiomatic System (AS) for PL AS is based on the set of only three axioms and one rule of deduction. It is minimal in structure but as powerful as the truth

More information

Discrete Mathematics Review

Discrete Mathematics Review CS 1813 Discrete Mathematics Discrete Mathematics Review or Yes, the Final Will Be Comprehensive 1 Truth Tables for Logical Operators P Q P Q False False False P Q False P Q False P Q True P Q True P True

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

The LCF Approach to Theorem Proving

The LCF Approach to Theorem Proving The LCF Approach to Theorem Proving 1 The LCF Approach to Theorem Proving John Harrison Intel Corporation Ideas and historical context Key ideas of LCF Equational logic example More about HOL Light Programming

More information

Outline. Formale Methoden der Informatik First-Order Logic for Forgetters. Why PL1? Why PL1? Cont d. Motivation

Outline. Formale Methoden der Informatik First-Order Logic for Forgetters. Why PL1? Why PL1? Cont d. Motivation Outline Formale Methoden der Informatik First-Order Logic for Forgetters Uwe Egly Vienna University of Technology Institute of Information Systems Knowledge-Based Systems Group Motivation Syntax of PL1

More information

Theorem Proving for Verification

Theorem Proving for Verification 0 Theorem Proving for Verification John Harrison Intel Corporation CAV 2008 Princeton 9th July 2008 1 Formal verification Formal verification: mathematically prove the correctness of a design with respect

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

Title: Logical Agents AIMA: Chapter 7 (Sections 7.4 and 7.5)

Title: Logical Agents AIMA: Chapter 7 (Sections 7.4 and 7.5) B.Y. Choueiry 1 Instructor s notes #12 Title: Logical Agents AIMA: Chapter 7 (Sections 7.4 and 7.5) Introduction to Artificial Intelligence CSCE 476-876, Fall 2018 URL: www.cse.unl.edu/ choueiry/f18-476-876

More information

SAT Solvers: Theory and Practice

SAT Solvers: Theory and Practice Summer School on Verification Technology, Systems & Applications, September 17, 2008 p. 1/98 SAT Solvers: Theory and Practice Clark Barrett barrett@cs.nyu.edu New York University Summer School on Verification

More information

Tutorial 1: Modern SMT Solvers and Verification

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

CSE507. Introduction. Computer-Aided Reasoning for Software. Emina Torlak courses.cs.washington.edu/courses/cse507/17wi/

CSE507. Introduction. Computer-Aided Reasoning for Software. Emina Torlak courses.cs.washington.edu/courses/cse507/17wi/ Computer-Aided Reasoning for Software CSE507 courses.cs.washington.edu/courses/cse507/17wi/ Introduction Emina Torlak emina@cs.washington.edu Today What is this course about? Course logistics Review of

More information

Tecniche di Verifica. Introduction to Propositional Logic

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

Quantified Boolean Formulas Part 1

Quantified Boolean Formulas Part 1 Quantified Boolean Formulas Part 1 Uwe Egly Knowledge-Based Systems Group Institute of Information Systems Vienna University of Technology Results of the SAT 2009 application benchmarks for leading solvers

More information

Warm-Up Problem. Is the following true or false? 1/35

Warm-Up Problem. Is the following true or false? 1/35 Warm-Up Problem Is the following true or false? 1/35 Propositional Logic: Resolution Carmen Bruni Lecture 6 Based on work by J Buss, A Gao, L Kari, A Lubiw, B Bonakdarpour, D Maftuleac, C Roberts, R Trefler,

More information

CSE507. Course Introduction. Computer-Aided Reasoning for Software. Emina Torlak

CSE507. Course Introduction. Computer-Aided Reasoning for Software. Emina Torlak Computer-Aided Reasoning for Software CSE507 courses.cs.washington.edu/courses/cse507/14au/ Course Introduction Emina Torlak emina@cs.washington.edu Today What is this course about? Course logistics Review

More information

Principles. Model (System Requirements) Answer: Model Checker. Specification (System Property) Yes, if the model satisfies the specification

Principles. Model (System Requirements) Answer: Model Checker. Specification (System Property) Yes, if the model satisfies the specification Model Checking Princiles Model (System Requirements) Secification (System Proerty) Model Checker Answer: Yes, if the model satisfies the secification Counterexamle, otherwise Krike Model Krike Structure

More information

cis32-ai lecture # 18 mon-3-apr-2006

cis32-ai lecture # 18 mon-3-apr-2006 cis32-ai lecture # 18 mon-3-apr-2006 today s topics: propositional logic cis32-spring2006-sklar-lec18 1 Introduction Weak (search-based) problem-solving does not scale to real problems. To succeed, problem

More information

Propositional Logic: Evaluating the Formulas

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

Decision Procedures for Satisfiability and Validity in Propositional Logic

Decision Procedures for Satisfiability and Validity in Propositional Logic Decision Procedures for Satisfiability and Validity in Propositional Logic Meghdad Ghari Institute for Research in Fundamental Sciences (IPM) School of Mathematics-Isfahan Branch Logic Group http://math.ipm.ac.ir/isfahan/logic-group.htm

More information

Propositional Logic Part 1

Propositional Logic Part 1 Propositional Logic Part 1 Yingyu Liang yliang@cs.wisc.edu Computer Sciences Department University of Wisconsin, Madison [Based on slides from Louis Oliphant, Andrew Moore, Jerry Zhu] slide 1 5 is even

More information

Propositional Calculus

Propositional Calculus Propositional Calculus Dr. Neil T. Dantam CSCI-498/598 RPM, Colorado School of Mines Spring 2018 Dantam (Mines CSCI, RPM) Propositional Calculus Spring 2018 1 / 64 Calculus? Definition: Calculus A well

More information

PROPOSITIONAL LOGIC. VL Logik: WS 2018/19

PROPOSITIONAL 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 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

A brief history of model checking. Ken McMillan Cadence Berkeley Labs

A brief history of model checking. Ken McMillan Cadence Berkeley Labs A brief history of model checking Ken McMillan Cadence Berkeley Labs mcmillan@cadence.com Outline Part I -- Introduction to model checking Automatic formal verification of finite-state systems Applications

More information

Computation Tree Logic

Computation Tree Logic Computation Tree 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,

More information

Finite-State Model Checking

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

First-order resolution for CTL

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

Part 1: Propositional Logic

Part 1: Propositional Logic Part 1: Propositional Logic Literature (also for first-order logic) Schöning: Logik für Informatiker, Spektrum Fitting: First-Order Logic and Automated Theorem Proving, Springer 1 Last time 1.1 Syntax

More information

IC3 and Beyond: Incremental, Inductive Verification

IC3 and Beyond: Incremental, Inductive Verification IC3 and Beyond: Incremental, Inductive Verification Aaron R. Bradley ECEE, CU Boulder & Summit Middle School IC3 and Beyond: Incremental, Inductive Verification 1/62 Induction Foundation of verification

More information

The Importance of Being Formal. Martin Henz. February 5, Propositional Logic

The Importance of Being Formal. Martin Henz. February 5, Propositional Logic The Importance of Being Formal Martin Henz February 5, 2014 Propositional Logic 1 Motivation In traditional logic, terms represent sets, and therefore, propositions are limited to stating facts on sets

More information

CS1021. Why logic? Logic about inference or argument. Start from assumptions or axioms. Make deductions according to rules of reasoning.

CS1021. Why logic? Logic about inference or argument. Start from assumptions or axioms. Make deductions according to rules of reasoning. 3: Logic Why logic? Logic about inference or argument Start from assumptions or axioms Make deductions according to rules of reasoning Logic 3-1 Why logic? (continued) If I don t buy a lottery ticket on

More information

INF5390 Kunstig intelligens. Logical Agents. Roar Fjellheim

INF5390 Kunstig intelligens. Logical Agents. Roar Fjellheim INF5390 Kunstig intelligens Logical Agents Roar Fjellheim Outline Knowledge-based agents The Wumpus world Knowledge representation Logical reasoning Propositional logic Wumpus agent Summary AIMA Chapter

More information

Propositional Logic Language

Propositional Logic Language Propositional Logic Language A logic consists of: an alphabet A, a language L, i.e., a set of formulas, and a binary relation = between a set of formulas and a formula. An alphabet A consists of a finite

More information

On the Complexity of the Reflected Logic of Proofs

On the Complexity of the Reflected Logic of Proofs On the Complexity of the Reflected Logic of Proofs Nikolai V. Krupski Department of Math. Logic and the Theory of Algorithms, Faculty of Mechanics and Mathematics, Moscow State University, Moscow 119899,

More information

Understanding IC3. Aaron R. Bradley. ECEE, CU Boulder & Summit Middle School. Understanding IC3 1/55

Understanding IC3. Aaron R. Bradley. ECEE, CU Boulder & Summit Middle School. Understanding IC3 1/55 Understanding IC3 Aaron R. Bradley ECEE, CU Boulder & Summit Middle School Understanding IC3 1/55 Further Reading This presentation is based on Bradley, A. R. Understanding IC3. In SAT, June 2012. http://theory.stanford.edu/~arbrad

More information

Propositional Logic. CS 3234: Logic and Formal Systems. Martin Henz and Aquinas Hobor. August 26, Generated on Tuesday 31 August, 2010, 16:54

Propositional Logic. CS 3234: Logic and Formal Systems. Martin Henz and Aquinas Hobor. August 26, Generated on Tuesday 31 August, 2010, 16:54 Propositional Logic CS 3234: Logic and Formal Systems Martin Henz and Aquinas Hobor August 26, 2010 Generated on Tuesday 31 August, 2010, 16:54 1 Motivation In traditional logic, terms represent sets,

More information

Predicate Abstraction: A Tutorial

Predicate Abstraction: A Tutorial Predicate Abstraction: A Tutorial Predicate Abstraction Daniel Kroening May 28 2012 Outline Introduction Existential Abstraction Predicate Abstraction for Software Counterexample-Guided Abstraction Refinement

More information

Conjunction: p q is true if both p, q are true, and false if at least one of p, q is false. The truth table for conjunction is as follows.

Conjunction: p q is true if both p, q are true, and false if at least one of p, q is false. The truth table for conjunction is as follows. Chapter 1 Logic 1.1 Introduction and Definitions Definitions. A sentence (statement, proposition) is an utterance (that is, a string of characters) which is either true (T) or false (F). A predicate is

More information

Alan Bundy. Automated Reasoning LTL Model Checking

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

CS 4700: Foundations of Artificial Intelligence

CS 4700: Foundations of Artificial Intelligence CS 4700: Foundations of Artificial Intelligence Bart Selman selman@cs.cornell.edu Module: Knowledge, Reasoning, and Planning Part 2 Logical Agents R&N: Chapter 7 1 Illustrative example: Wumpus World (Somewhat

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

SAT-Based Verification with IC3: Foundations and Demands

SAT-Based Verification with IC3: Foundations and Demands SAT-Based Verification with IC3: Foundations and Demands Aaron R. Bradley ECEE, CU Boulder & Summit Middle School SAT-Based Verification with IC3:Foundations and Demands 1/55 Induction Foundation of verification

More information

Scalable and Accurate Verification of Data Flow Systems. Cesare Tinelli The University of Iowa

Scalable and Accurate Verification of Data Flow Systems. Cesare Tinelli The University of Iowa Scalable and Accurate Verification of Data Flow Systems Cesare Tinelli The University of Iowa Overview AFOSR Supported Research Collaborations NYU (project partner) Chalmers University (research collaborator)

More information

CS156: The Calculus of Computation

CS156: The Calculus of Computation CS156: The Calculus of Computation Zohar Manna Winter 2010 It is reasonable to hope that the relationship between computation and mathematical logic will be as fruitful in the next century as that between

More information

Propositional Logic. Logic. Propositional Logic Syntax. Propositional Logic

Propositional Logic. Logic. Propositional Logic Syntax. Propositional Logic Propositional Logic Reading: Chapter 7.1, 7.3 7.5 [ased on slides from Jerry Zhu, Louis Oliphant and ndrew Moore] Logic If the rules of the world are presented formally, then a decision maker can use logical

More information

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

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

More information

Inference in Propositional Logic

Inference in Propositional Logic Inference in Propositional Logic Deepak Kumar November 2017 Propositional Logic A language for symbolic reasoning Proposition a statement that is either True or False. E.g. Bryn Mawr College is located

More information

Foundations of Artificial Intelligence

Foundations of Artificial Intelligence Foundations of Artificial Intelligence 7. Propositional Logic Rational Thinking, Logic, Resolution Wolfram Burgard, Maren Bennewitz, and Marco Ragni Albert-Ludwigs-Universität Freiburg Contents 1 Agents

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

Foundations of Artificial Intelligence

Foundations of Artificial Intelligence Foundations of Artificial Intelligence 7. Propositional Logic Rational Thinking, Logic, Resolution Joschka Boedecker and Wolfram Burgard and Bernhard Nebel Albert-Ludwigs-Universität Freiburg May 17, 2016

More information

Propositional Reasoning

Propositional Reasoning Propositional Reasoning CS 440 / ECE 448 Introduction to Artificial Intelligence Instructor: Eyal Amir Grad TAs: Wen Pu, Yonatan Bisk Undergrad TAs: Sam Johnson, Nikhil Johri Spring 2010 Intro to AI (CS

More information

Lecture 11: Measuring the Complexity of Proofs

Lecture 11: Measuring the Complexity of Proofs IAS/PCMI Summer Session 2000 Clay Mathematics Undergraduate Program Advanced Course on Computational Complexity Lecture 11: Measuring the Complexity of Proofs David Mix Barrington and Alexis Maciel July

More information

7. Propositional Logic. Wolfram Burgard and Bernhard Nebel

7. Propositional Logic. Wolfram Burgard and Bernhard Nebel Foundations of AI 7. Propositional Logic Rational Thinking, Logic, Resolution Wolfram Burgard and Bernhard Nebel Contents Agents that think rationally The wumpus world Propositional logic: syntax and semantics

More information