Theorem Proving beyond Deduction
|
|
- Jacob Stokes
- 6 years ago
- Views:
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
Introduction Arnd Poetzsch-Heffter Software Technology Group Fachbereich Informatik Technische Universität Kaiserslautern Sommersemester 2010 Arnd Poetzsch-Heffter ( Software Technology Group Fachbereich
More information02 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 informationModel Checking with CTL. Presented by Jason Simas
Model Checking with CTL Presented by Jason Simas Model Checking with CTL Based Upon: Logic in Computer Science. Huth and Ryan. 2000. (148-215) Model Checking. Clarke, Grumberg and Peled. 1999. (1-26) Content
More informationLinear 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 informationChapter 6: Computation Tree Logic
Chapter 6: Computation Tree Logic Prof. Ali Movaghar Verification of Reactive Systems Outline We introduce Computation Tree Logic (CTL), a branching temporal logic for specifying system properties. A comparison
More informationComp487/587 - Boolean Formulas
Comp487/587 - Boolean Formulas 1 Logic and SAT 1.1 What is a Boolean Formula Logic is a way through which we can analyze and reason about simple or complicated events. In particular, we are interested
More informationOverview. Discrete Event Systems Verification of Finite Automata. What can finite automata be used for? What can finite automata be used for?
Computer Engineering and Networks Overview Discrete Event Systems Verification of Finite Automata Lothar Thiele Introduction Binary Decision Diagrams Representation of Boolean Functions Comparing two circuits
More informationA brief introduction to Logic. (slides from
A brief introduction to Logic (slides from http://www.decision-procedures.org/) 1 A Brief Introduction to Logic - Outline Propositional Logic :Syntax Propositional Logic :Semantics Satisfiability and validity
More informationPropositional 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 informationApplied 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 informationFirst-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 informationAdvanced 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 informationPropositional 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 informationMODEL-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 informationCS357: 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 informationModel Checking: An Introduction
Model Checking: An Introduction Meeting 3, CSCI 5535, Spring 2013 Announcements Homework 0 ( Preliminaries ) out, due Friday Saturday This Week Dive into research motivating CSCI 5535 Next Week Begin foundations
More informationWrite 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 informationLanguage 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 informationInductive 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 informationUnbounded, 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 informationTemporal Logic. Stavros Tripakis University of California, Berkeley. We have designed a system. We want to check that it is correct.
EE 244: Fundamental Algorithms for System Modeling, Analysis, and Optimization Fall 2016 Temporal logic Stavros Tripakis University of California, Berkeley Stavros Tripakis (UC Berkeley) EE 244, Fall 2016
More informationPropositional 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 informationKnowledge 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 informationComputational Logic. Davide Martinenghi. Spring Free University of Bozen-Bolzano. Computational Logic Davide Martinenghi (1/30)
Computational Logic Davide Martinenghi Free University of Bozen-Bolzano Spring 2010 Computational Logic Davide Martinenghi (1/30) Propositional Logic - sequent calculus To overcome the problems of natural
More informationIntegrating 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 informationNPTEL 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 informationFirst-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 informationLecture 2: Symbolic Model Checking With SAT
Lecture 2: Symbolic Model Checking With SAT Edmund M. Clarke, Jr. School of Computer Science Carnegie Mellon University Pittsburgh, PA 15213 (Joint work over several years with: A. Biere, A. Cimatti, Y.
More informationModel 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 informationValidating 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 informationModel 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 informationLearning 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 informationMODEL 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 informationPropositional 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 informationBounded 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 informationTemporal Logic Model Checking
18 Feb, 2009 Thomas Wahl, Oxford University Temporal Logic Model Checking 1 Temporal Logic Model Checking Thomas Wahl Computing Laboratory, Oxford University 18 Feb, 2009 Thomas Wahl, Oxford University
More informationIntroduction to Temporal Logic. The purpose of temporal logics is to specify properties of dynamic systems. These can be either
Introduction to Temporal Logic The purpose of temporal logics is to specify properties of dynamic systems. These can be either Desired properites. Often liveness properties like In every infinite run action
More informationFirst-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 information3-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 informationLOGIC PROPOSITIONAL REASONING
LOGIC PROPOSITIONAL REASONING WS 2017/2018 (342.208) Armin Biere Martina Seidl biere@jku.at martina.seidl@jku.at Institute for Formal Models and Verification Johannes Kepler Universität Linz Version 2018.1
More informationProbabilistic Model Checking Michaelmas Term Dr. Dave Parker. Department of Computer Science University of Oxford
Probabilistic Model Checking Michaelmas Term 2011 Dr. Dave Parker Department of Computer Science University of Oxford Overview Temporal logic Non-probabilistic temporal logic CTL Probabilistic temporal
More informationChapter 4: Computation tree logic
INFOF412 Formal verification of computer systems Chapter 4: Computation tree logic Mickael Randour Formal Methods and Verification group Computer Science Department, ULB March 2017 1 CTL: a specification
More informationSAT-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 informationAI 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 informationCTL 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 informationSoftware 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 informationPropositional 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 informationDeductive 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 informationDiscrete 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 informationModel 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 informationThe 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 informationOutline. 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 informationTheorem 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 informationDouble 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 informationTitle: 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 informationSAT 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 informationTutorial 1: Modern SMT Solvers and Verification
University of Illinois at Urbana-Champaign Tutorial 1: Modern SMT Solvers and Verification Sayan Mitra Electrical & Computer Engineering Coordinated Science Laboratory University of Illinois at Urbana
More informationCSE507. 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 informationTecniche di Verifica. Introduction to Propositional Logic
Tecniche di Verifica Introduction to Propositional Logic 1 Logic A formal logic is defined by its syntax and semantics. Syntax An alphabet is a set of symbols. A finite sequence of these symbols is called
More informationQuantified 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 informationWarm-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 informationCSE507. 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 informationPrinciples. 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 informationcis32-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 informationPropositional Logic: Evaluating the Formulas
Institute for Formal Models and Verification Johannes Kepler University Linz VL Logik (LVA-Nr. 342208) Winter Semester 2015/2016 Propositional Logic: Evaluating the Formulas Version 2015.2 Armin Biere
More informationDecision 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 informationPropositional 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 informationPropositional 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 informationPROPOSITIONAL LOGIC. VL Logik: WS 2018/19
PROPOSITIONAL LOGIC VL Logik: WS 2018/19 (Version 2018.2) Martina Seidl (martina.seidl@jku.at), Armin Biere (biere@jku.at) Institut für Formale Modelle und Verifikation BOX Game: Rules 1. The game board
More informationFormal Verification Methods 1: Propositional Logic
Formal Verification Methods 1: Propositional Logic John Harrison Intel Corporation Course overview Propositional logic A resurgence of interest Logic and circuits Normal forms The Davis-Putnam procedure
More informationA 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 informationComputation 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 informationFinite-State Model Checking
EECS 219C: Computer-Aided Verification Intro. to Model Checking: Models and Properties Sanjit A. Seshia EECS, UC Berkeley Finite-State Model Checking G(p X q) Temporal logic q p FSM Model Checker Yes,
More informationFirst-order resolution for CTL
First-order resolution for Lan Zhang, Ullrich Hustadt and Clare Dixon Department of Computer Science, University of Liverpool Liverpool, L69 3BX, UK {Lan.Zhang, U.Hustadt, CLDixon}@liverpool.ac.uk Abstract
More informationPart 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 informationIC3 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 informationThe 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 informationCS1021. 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 informationINF5390 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 informationPropositional 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 informationOn 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 informationUnderstanding 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 informationPropositional 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 informationPredicate 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 informationConjunction: 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 informationAlan Bundy. Automated Reasoning LTL Model Checking
Automated Reasoning LTL Model Checking Alan Bundy Lecture 9, page 1 Introduction So far we have looked at theorem proving Powerful, especially where good sets of rewrite rules or decision procedures have
More informationCS 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 informationAbstractions 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 informationSAT-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 informationScalable 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 informationCS156: 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 informationPropositional 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 informationThe 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 informationInference 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 informationFoundations 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 informationModel 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 informationFoundations 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 informationPropositional 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 informationLecture 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 information7. 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