Final Exam /614 Bug Catching: Automated Program Verification Matt Fredrikson André Platzer. December 17, 2017

Size: px
Start display at page:

Download "Final Exam /614 Bug Catching: Automated Program Verification Matt Fredrikson André Platzer. December 17, 2017"

Transcription

1 Final Exam /614 Bug Catching: Automated Program Verification Matt Fredrikson André Platzer December 17, 2017 Name: Andrew ID: André Platzer aplatzer Instructions This exam is closed-book with one sheet of notes permitted. You have 180 minutes to complete the exam. There are 6 problems on 11 pages. Read each problem carefully before attempting to solve it. Do not spend too much time on any one problem. Consider if you might want to skip a problem on a first pass and return to it later. Max What Why3 Did Why? 60 Total Correctness 60 Sound and Unsound Axioms 50 Path Laws 30 News: Nondeterministic Choice 70 Temporal Properties 40 Total: 310 Score Please keep in mind that this is a sample solution, not a model solution. Problems admit multiple correct answers, and the answer the instructor thought of may not necessarily be the best or most elegant. 1

2 /614 Final, page 2/11 Andrew ID: 1 What Why3 Did Why? (60 points) Verification tools like Why3 take a correctness statement about a program as input and phrase them in simpler logic. Your job in this question is to provide a sequent calculus proof justifying why this reduction from a DL formula (conclusion) to arithmetic (premises) was correct. Fill in the blanks of the proof to justify correctness. Or else explain why the reduction was unsound. Task 1 x + y = a [x := x + y; u := 5] x = a x + y = a [:=] [x := x + y] x = a [:=] [x := x + y][u := 5] x = a [;] [x := x + y; u := 5] x = a 20 Task 2 z = x + y z = a [x := x + y; y := 5] x = a

3 15-414/614 Final, page 3/11 Andrew ID: z = x + y z = a z = x + y [y := 5] z = a [:=] = [x := x + y][y := 5] x = a [;] [x := x + y; y := 5] x = a 20 Task 3 x = 0 x 0 x < 10, x 0 x x 0 x = a, x < 10 x = 0 [while(x < 10) x := x + 1] x = a loop x = 0 x 0 x = 0 x 0 [:=] x < 10, x 0 x x 0 x = a, x < 10 L x < 10, x 0 [x := x + 1]x 0 x 0, x 10 x = a x = 0 [while(x < 10) x := x + 1] x = a

4 15-414/614 Final, page 4/11 Andrew ID: 2 Total Correctness (60 points) Recall the loop variant proof rule: (var) Γ J, J, Q, ϕ = n α (J ϕ < n) J, Q ϕ 0 J, Q P Γ while(q) α P, (n fresh) In each of the following examples, identify a loop invariant J and variant ϕ for which all three premises resulting from applying this loop rule will prove. You do not need to show the proof but should convince yourself that the subgoals are valid. You will recieve partial credit if you specify either variant or invariant, and full credit for giving both. 20 Task 1 x = 0, i = 10 while(i 0) {x := x + a(i); i := i 1} x = 0<j 10 a(j) J ϕ 0 i 10 x = i<j 10 a(j) i 20 Task 2 0 m, i = 0 while(i < m x a(i)) {(i := i + 1} ( 0 i < m x = a(i) ) J ϕ 0 i m j.0 j < i x a(j) m i 20 Task 3 0 x, 0 < y, q = 0, r = x while(r y) {r := r y; q := q + 1} q y + r = x J ϕ 0 r 0 < y q y + r = x r

5 15-414/614 Final, page 5/11 Andrew ID: 3 Sound and Unsound Axioms (50 points) Axioms have to be sound, i.e. correspond to valid first-order dynamic logic formulas. 20 Task 1 The following axiom deals with assignments that update an array at an index e. The term p(a(e)) denotes a predicate p with a free occurrence of the array lookup term a(e) inside of it. So this axiom says that the effect of updating an array at e is the same as replacing occurrences of a(e) in p with the assigned value ẽ. ([:=] () ) [a(e) := ẽ]p(a(e)) p(ẽ) Show that this axiom is unsound by giving a counterexample, i.e., use it in a proof with an incorrect conclusion. id a(j) 5 a(j) 5 [:=] a(j) 5 [i := j]a(j) 5 [:=] () a(j) 5 [i := j][a(i) := 5]a(j) 5 [;] a(j) 5 [i := j; a(i) := 5]a(j) 5 10 Task 2 Write the correct axiom for array updates that we used in class and on the homeworks, and show that your counterexample from Task 1 is not possible with this rule. ([:=] () ) [a(e) := ẽ]p(a) p(a{e ẽ}) a(j) row1 a(j) 5 a{j 5}(j) 5 [:=] a(j) 5 [i := j]a{i 5}(j) 5 [:=] () a(j) 5 [i := j][a(i) := 5]a(j) 5 [;] a(j) 5 [i := j; a(i) := 5]a(j) 5

6 15-414/614 Final, page 6/11 Andrew ID: 20 Task 3 Is the following axiom sound? If so use the semantics of dynamic logic to prove soundness or else give a counterexample: α; β P α β P This axiom is sound. Recall the semantics of sequential composition: [α; β ] = [[α] [β ] = {(ω, ν) : (ω, µ) [α], (µ, ν) [β ]} In order to show that the formula α; β P α β P is valid, i.e. α; β P α β P, consider any state ω and show that ω = α; β P α β P. Assume the left hand side ω = α; β P and show ω = α β P. Consequently, there is a state ν such that (ω, ν) [α; β ] and ν = P. Now (ω, µ) [α] and (µ, ν) [β ] iff (ω, ν) [α; β ] by the semantics of sequential composition. Hence, there is a state µ such that (ω, µ) [α] and µ = β P. Thus, ω = α β P.

7 15-414/614 Final, page 7/11 Andrew ID: 4 Path Laws (30 points) LTL formulas P and Q are equivalent when for any path σ, σ = P whenever σ = Q. Likewise, CTL formulas P and Q are equivalent whenever for any state s in any Kripke structure K, s = P whenever s = Q. Recall that unlike with LTL, CTL formulas contain path quantifiers which denote that a temporal property either holds on some path starting at a state (E), or on all paths starting at a state (A). The following LTL equivalence is valid: (P Q) P Q In this question, you are to reason about the validity of corresponding CTL formulas that include path quantifiers. 15 Task 1 Is the following CTL formula valid? If so, use the semantics of CTL to argue that it is. If it is not, give a computation structure that satisfies one side but not the other. AF(P Q) AFP AFQ This formula is not valid. P Q

8 15-414/614 Final, page 8/11 Andrew ID: 15 Task 2 Is the following CTL formula valid? If so, use the semantics of CTL to argue that it is. If it is not, give a computation structure that satisfies one side but not the other. EF(P Q) EFP EFQ This formula is valid, which is seen by the following reasoning in either direction. Assume that s = EFP EFQ, and further without loss of generality that s = EFP. So there is a path starting in s on which some state s satisfies P, so s = P Q. Then by the semantics of CTL it follows that s = EF(P Q). Assume that s = EF(P Q). Then theres exist a path from s on which some state s satisfies s = P Q, and without loss of generality assume that it is s = P. Then by the semantics of CTL, s = EFP, and thus s = EFP EFQ.

9 15-414/614 Final, page 9/11 Andrew ID: 5 News: Nondeterministic Choice (70 points) Every operator in DL has a syntax, a semantics, and an axiom or proof rule. This question asks you to add a new operator for nondeterministic choices between two programs. Informally, the nondeterministic choice program α β will either run α or β, and can nondeterministically choose whether it runs α or β. Similar to other sources of nondeterminism such as α and x :=, there is no way of predicting whether α β will run α or β, because both are possible. 5 Task 1 Change the grammar of DL such that such that the nondeterministic choice α β between program α and program β is allowed in the syntax: P, Q ::= e = ẽ e ẽ P P Q P Q P Q P Q x P x P [α]p α P α, β ::= x := e?q if(q) α else β α; β while(q) α α, β ::= x := e?q if(q) α else β α; β while(q) α α β 20 Task 2 Define the semantics [α β ] as the set of all pairs of initial state ω and final state ν such that final state ν is reachable from initial state ω by nondeterministically running either program α or program β: [α β ] = {(ω, ν) : (ω, ν) [α] or (ω, ν) [β ] } 20 Task 3 Provide an axiom for proving formulas of the form [α β]p, which expresses that all ways of running α β satisfy formula P : [α β]p [α]p [β]p

10 15-414/614 Final, page 10/11 Andrew ID: 25 Task 4 Use your semantics from task 2 to prove that your axiom from task 3 is sound, i.e. all its instances are valid formulas (true in all states). In order to show the axiom is sound, we consider any state ω and show that ω = [α]p [β]p [α β]p. Consider each direction. Consider any state ω, and show that ω = [α]p [β]p [α β]p. Assume the left side ω = [α]p [β]p. So it must be that for any ν where (ω, ν) α, ν = P. Likewise for any ν where (ω, ν) β, ν = P. Therefore, for any (ω, ν) α or (ω, ν) β, ν = P. Thus by Task 2, for any (ω, ν) α β, ν = P. Then ω = [α β]p. Consider any state ω, and show that ω = [α β]p [α]p [β]p. Assume that ω = [α β]p, so for any (ω, ν) α or (ω, ν) β, ν = P. Then ω = [α]p and ω = [β]p. So we conclude that ω = [α]p [β]p.

11 15-414/614 Final, page 11/11 Andrew ID: 6 Temporal Properties (40 points) Alice and Bob are users who share a single printer device. Because it can only print one job at a time, they want certain temporal properties to hold of its controller. Suppose we define the following atomic propositions: areq, breq indicates that Alice (a) or Bob (b) requests usage of the printer ause, buse indicates that Alice (a) or Bob (b) is currently using the printer arel, brel indicates that Alice (a) or Bob (b) releases the printer 10 Task 1 Write an LTL formula which specifies that only one person (Alice or Bob) can use the printer at any given moment in time. ( ause buse) 10 Task 2 Write an LTL formula specifying that whenever Alice uses the printer, she will release it in a finite amount of time. (ause arel) 10 Task 3 Write a CTL formula which states that there is always a possible future in which Bob eventually requests access to the printer. AG EF breq 10 Task 4 Write a nondeterministic Büchi automaton which accepts all traces that satisfy your formula from Task 1. Be sure to clearly mark the initial and accepting states. ause buse ause buse

Lecture Notes on Loop Variants and Convergence

Lecture Notes on Loop Variants and Convergence 15-414: Bug Catching: Automated Program Verification Lecture Notes on Loop Variants and Convergence Matt Fredrikson Ruben Martins Carnegie Mellon University Lecture 9 1 Introduction The move to total correctness

More information

Lecture Notes on Compositional Reasoning

Lecture Notes on Compositional Reasoning 15-414: Bug Catching: Automated Program Verification Lecture Notes on Compositional Reasoning Matt Fredrikson Ruben Martins Carnegie Mellon University Lecture 4 1 Introduction This lecture will focus on

More information

Lecture Notes on Invariants for Arbitrary Loops

Lecture Notes on Invariants for Arbitrary Loops 15-414: Bug Catching: Automated Program Verification Lecture Notes on Invariants for Arbitrary Loops Matt Fredrikson Ruben Martins Carnegie Mellon University Lecture 5 1 Introduction The previous lecture

More information

Lecture Notes on Software Model Checking

Lecture Notes on Software Model Checking 15-414: Bug Catching: Automated Program Verification Lecture Notes on Software Model Checking Matt Fredrikson André Platzer Carnegie Mellon University Lecture 19 1 Introduction So far we ve focused on

More information

Lecture Notes on Foundations of Cyber-Physical Systems

Lecture Notes on Foundations of Cyber-Physical Systems André Platzer Lecture Notes on Foundations of Cyber-Physical Systems 15-424/624/824 Foundations of Cyber-Physical Systems Chapter 17 Game Proofs & Separations 17.1 Introduction This chapter continues the

More information

Lecture Notes on Programs with Arrays

Lecture Notes on Programs with Arrays 15-414: Bug Catching: Automated Program Verification Lecture Notes on Programs with Arrays Matt Fredrikson Ruben Martins Carnegie Mellon University Lecture 6 1 Introduction The previous lecture focused

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

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

Lecture Notes on Emptiness Checking, LTL Büchi Automata

Lecture Notes on Emptiness Checking, LTL Büchi Automata 15-414: Bug Catching: Automated Program Verification Lecture Notes on Emptiness Checking, LTL Büchi Automata Matt Fredrikson André Platzer Carnegie Mellon University Lecture 18 1 Introduction We ve seen

More information

The State Explosion Problem

The State Explosion Problem The State Explosion Problem Martin Kot August 16, 2003 1 Introduction One from main approaches to checking correctness of a concurrent system are state space methods. They are suitable for automatic analysis

More information

Lecture Notes on Programs and Contracts

Lecture Notes on Programs and Contracts 15-414: Bug Catching: Automated Program Verification Lecture Notes on Programs and Contracts Matt Fredrikson Ruben Martins Carnegie Mellon University Lecture 3 1 Introduction This lecture advances our

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

MATH 341, Section 001 FALL 2014 Introduction to the Language and Practice of Mathematics

MATH 341, Section 001 FALL 2014 Introduction to the Language and Practice of Mathematics MATH 341, Section 001 FALL 2014 Introduction to the Language and Practice of Mathematics Class Meetings: MW 9:30-10:45 am in EMS E424A, September 3 to December 10 [Thanksgiving break November 26 30; final

More information

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

Verification. Arijit Mondal. Dept. of Computer Science & Engineering Indian Institute of Technology Patna IIT Patna 1 Verification Arijit Mondal Dept. of Computer Science & Engineering Indian Institute of Technology Patna arijit@iitp.ac.in Introduction The goal of verification To ensure 100% correct in functionality

More information

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

Computation Tree Logic (CTL) & Basic Model Checking Algorithms

Computation Tree Logic (CTL) & Basic Model Checking Algorithms Computation Tree Logic (CTL) & Basic Model Checking Algorithms Martin Fränzle Carl von Ossietzky Universität Dpt. of Computing Science Res. Grp. Hybride Systeme Oldenburg, Germany 02917: CTL & Model Checking

More information

For all For every For each For any There exists at least one There exists There is Some

For all For every For each For any There exists at least one There exists There is Some Section 1.3 Predicates and Quantifiers Assume universe of discourse is all the people who are participating in this course. Also let us assume that we know each person in the course. Consider the following

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

University of Illinois at Chicago Department of Computer Science. Final Examination. CS 151 Mathematical Foundations of Computer Science Fall 2012

University of Illinois at Chicago Department of Computer Science. Final Examination. CS 151 Mathematical Foundations of Computer Science Fall 2012 University of Illinois at Chicago Department of Computer Science Final Examination CS 151 Mathematical Foundations of Computer Science Fall 01 Thursday, October 18, 01 Name: Email: Print your name and

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

Homework 2: Temporal logic

Homework 2: Temporal logic ICS-E5010 Computer-Aided Verification and Synthesis, Spring 2016 Stavros Tripakis Homework 2: Temporal logic Assigned: January 20, 2016 Due: February 1, 2016 Total: 235 points. 1. (20 points) Two formulae

More information

Fall 2016 Test 1 with Solutions

Fall 2016 Test 1 with Solutions CS3510 Design & Analysis of Algorithms Fall 16 Section B Fall 2016 Test 1 with Solutions Instructor: Richard Peng In class, Friday, Sep 9, 2016 Do not open this quiz booklet until you are directed to do

More information

University of New Mexico Department of Computer Science. Midterm Examination. CS 361 Data Structures and Algorithms Spring, 2003

University of New Mexico Department of Computer Science. Midterm Examination. CS 361 Data Structures and Algorithms Spring, 2003 University of New Mexico Department of Computer Science Midterm Examination CS 361 Data Structures and Algorithms Spring, 2003 Name: Email: Print your name and email, neatly in the space provided above;

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

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

Math 164-1: Optimization Instructor: Alpár R. Mészáros

Math 164-1: Optimization Instructor: Alpár R. Mészáros Math 164-1: Optimization Instructor: Alpár R. Mészáros Final Exam, June 9, 2016 Name (use a pen): Student ID (use a pen): Signature (use a pen): Rules: Duration of the exam: 180 minutes. By writing your

More information

Autumn 2015 Practice Final. Time Limit: 1 hour, 50 minutes

Autumn 2015 Practice Final. Time Limit: 1 hour, 50 minutes Math 309 Autumn 2015 Practice Final December 2015 Time Limit: 1 hour, 50 minutes Name (Print): ID Number: This exam contains 9 pages (including this cover page) and 8 problems. Check to see if any pages

More information

Midterm 1. Total. CS70 Discrete Mathematics and Probability Theory, Spring :00-9:00pm, 1 March. Instructions:

Midterm 1. Total. CS70 Discrete Mathematics and Probability Theory, Spring :00-9:00pm, 1 March. Instructions: CS70 Discrete Mathematics and Probability Theory, Spring 2012 Midterm 1 7:00-9:00pm, 1 March Your Name: Person on Your Left: Person on Your Right: Your Section: Instructions: (a) There are five questions

More information

Alternating Time Temporal Logics*

Alternating Time Temporal Logics* Alternating Time Temporal Logics* Sophie Pinchinat Visiting Research Fellow at RSISE Marie Curie Outgoing International Fellowship * @article{alur2002, title={alternating-time Temporal Logic}, author={alur,

More information

CS156: The Calculus of Computation Zohar Manna Autumn 2008

CS156: The Calculus of Computation Zohar Manna Autumn 2008 Page 3 of 52 Page 4 of 52 CS156: The Calculus of Computation Zohar Manna Autumn 2008 Lecturer: Zohar Manna (manna@cs.stanford.edu) Office Hours: MW 12:30-1:00 at Gates 481 TAs: Boyu Wang (wangboyu@stanford.edu)

More information

05: Dynamical Systems & Dynamic Axioms

05: Dynamical Systems & Dynamic Axioms 0.2 05: Dynamical Systems & Dynamic Axioms 15-424: Foundations of Cyber-Physical Systems André Platzer aplatzer@cs.cmu.edu Computer Science Department Carnegie Mellon University, Pittsburgh, PA 0.5 0.4

More information

Math Introduction to Logic Final Exam

Math Introduction to Logic Final Exam Math 2283 - Introduction to Logic Final Exam Assigned: 2018.11.26 Due: 2018.12.10 at 08:00 Instructions: Work on this by yourself, the only person you may contact in any way to discuss or ask questions

More information

Lecture Notes on Differential Equations & Differential Invariants

Lecture Notes on Differential Equations & Differential Invariants 15-424: Foundations of Cyber-Physical Systems Lecture Notes on Differential Equations & Differential Invariants André Platzer Carnegie Mellon University Lecture 10 1 Introduction Lecture 5 on Dynamical

More information

Sanjit A. Seshia EECS, UC Berkeley

Sanjit A. Seshia EECS, UC Berkeley EECS 219C: Computer-Aided Verification Explicit-State Model Checking: Additional Material Sanjit A. Seshia EECS, UC Berkeley Acknowledgments: G. Holzmann Checking if M satisfies : Steps 1. Compute Buchi

More information

Axiomatic Semantics. Stansifer Ch 2.4, Ch. 9 Winskel Ch.6 Slonneger and Kurtz Ch. 11 CSE

Axiomatic Semantics. Stansifer Ch 2.4, Ch. 9 Winskel Ch.6 Slonneger and Kurtz Ch. 11 CSE Axiomatic Semantics Stansifer Ch 2.4, Ch. 9 Winskel Ch.6 Slonneger and Kurtz Ch. 11 CSE 6341 1 Outline Introduction What are axiomatic semantics? First-order logic & assertions about states Results (triples)

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

Math 51 Midterm 1 July 6, 2016

Math 51 Midterm 1 July 6, 2016 Math 51 Midterm 1 July 6, 2016 Name: SUID#: Circle your section: Section 01 Section 02 (1:30-2:50PM) (3:00-4:20PM) Complete the following problems. In order to receive full credit, please show all of your

More information

MA 113 Calculus I Fall 2015 Exam 1 Tuesday, 22 September Multiple Choice Answers. Question

MA 113 Calculus I Fall 2015 Exam 1 Tuesday, 22 September Multiple Choice Answers. Question MA 113 Calculus I Fall 2015 Exam 1 Tuesday, 22 September 2015 Name: Section: Last 4 digits of student ID #: This exam has ten multiple choice questions (five points each) and five free response questions

More information

COMP219: Artificial Intelligence. Lecture 19: Logic for KR

COMP219: Artificial Intelligence. Lecture 19: Logic for KR COMP219: Artificial Intelligence Lecture 19: Logic for KR 1 Overview Last time Expert Systems and Ontologies Today Logic as a knowledge representation scheme Propositional Logic Syntax Semantics Proof

More information

Floyd-Hoare Style Program Verification

Floyd-Hoare Style Program Verification Floyd-Hoare Style Program Verification Deepak D Souza Department of Computer Science and Automation Indian Institute of Science, Bangalore. 9 Feb 2017 Outline of this talk 1 Overview 2 Hoare Triples 3

More information

Lecture Notes on SAT Solvers & DPLL

Lecture Notes on SAT Solvers & DPLL 15-414: Bug Catching: Automated Program Verification Lecture Notes on SAT Solvers & DPLL Matt Fredrikson André Platzer Carnegie Mellon University Lecture 10 1 Introduction In this lecture we will switch

More information

Midterm 1. Your Exam Room: Name of Person Sitting on Your Left: Name of Person Sitting on Your Right: Name of Person Sitting in Front of You:

Midterm 1. Your Exam Room: Name of Person Sitting on Your Left: Name of Person Sitting on Your Right: Name of Person Sitting in Front of You: CS70 Discrete Mathematics and Probability Theory, Fall 2018 Midterm 1 8:00-10:00pm, 24 September Your First Name: SIGN Your Name: Your Last Name: Your Exam Room: Name of Person Sitting on Your Left: Name

More information

COMP219: Artificial Intelligence. Lecture 19: Logic for KR

COMP219: Artificial Intelligence. Lecture 19: Logic for KR COMP219: Artificial Intelligence Lecture 19: Logic for KR 1 Overview Last time Expert Systems and Ontologies Today Logic as a knowledge representation scheme Propositional Logic Syntax Semantics Proof

More information

Formal Verification. Lecture 1: Introduction to Model Checking and Temporal Logic¹

Formal Verification. Lecture 1: Introduction to Model Checking and Temporal Logic¹ Formal Verification Lecture 1: Introduction to Model Checking and Temporal Logic¹ Jacques Fleuriot jdf@inf.ed.ac.uk ¹Acknowledgement: Adapted from original material by Paul Jackson, including some additions

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

Temporal logics and explicit-state model checking. Pierre Wolper Université de Liège

Temporal logics and explicit-state model checking. Pierre Wolper Université de Liège Temporal logics and explicit-state model checking Pierre Wolper Université de Liège 1 Topics to be covered Introducing explicit-state model checking Finite automata on infinite words Temporal Logics and

More 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

Logic. Propositional Logic: Syntax. Wffs

Logic. Propositional Logic: Syntax. Wffs Logic Propositional Logic: Syntax Logic is a tool for formalizing reasoning. There are lots of different logics: probabilistic logic: for reasoning about probability temporal logic: for reasoning about

More information

Predicate Logic. Xinyu Feng 09/26/2011. University of Science and Technology of China (USTC)

Predicate Logic. Xinyu Feng 09/26/2011. University of Science and Technology of China (USTC) University of Science and Technology of China (USTC) 09/26/2011 Overview Predicate logic over integer expressions: a language of logical assertions, for example x. x + 0 = x Why discuss predicate logic?

More information

Logics of Dynamical Systems

Logics of Dynamical Systems c 2012 IEEE. 2012 27th Annual ACM/IEEE Symposium on Logic in Computer Science Logics of Dynamical Systems (Invited Paper) André Platzer Computer Science Department Carnegie Mellon University Pittsburgh,

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

Computer-Aided Program Design

Computer-Aided Program Design Computer-Aided Program Design Spring 2015, Rice University Unit 3 Swarat Chaudhuri February 5, 2015 Temporal logic Propositional logic is a good language for describing properties of program states. However,

More information

CS 170 Algorithms Spring 2009 David Wagner Final

CS 170 Algorithms Spring 2009 David Wagner Final CS 170 Algorithms Spring 2009 David Wagner Final PRINT your name:, (last) SIGN your name: (first) PRINT your Unix account login: Your TA s name: Name of the person sitting to your left: Name of the person

More information

Automated Program Verification and Testing 15414/15614 Fall 2016 Lecture 7: Procedures for First-Order Theories, Part 1

Automated Program Verification and Testing 15414/15614 Fall 2016 Lecture 7: Procedures for First-Order Theories, Part 1 Automated Program Verification and Testing 15414/15614 Fall 2016 Lecture 7: Procedures for First-Order Theories, Part 1 Matt Fredrikson mfredrik@cs.cmu.edu October 17, 2016 Matt Fredrikson Theory Procedures

More information

Lecture Notes on Proofs & Arithmetic

Lecture Notes on Proofs & Arithmetic 15-424: Foundations of Cyber-Physical Systems Lecture Notes on Proofs & Arithmetic André Platzer Carnegie Mellon University Lecture 9 1 Introduction Lecture 8 on Events & Delays discussed and developed

More information

Summary. Computation Tree logic Vs. LTL. CTL at a glance. KM,s =! iff for every path " starting at s KM," =! COMPUTATION TREE LOGIC (CTL)

Summary. Computation Tree logic Vs. LTL. CTL at a glance. KM,s =! iff for every path  starting at s KM, =! COMPUTATION TREE LOGIC (CTL) Summary COMPUTATION TREE LOGIC (CTL) Slides by Alessandro Artale http://www.inf.unibz.it/ artale/ Some material (text, figures) displayed in these slides is courtesy of: M. Benerecetti, A. Cimatti, M.

More information

Logic. Propositional Logic: Syntax

Logic. Propositional Logic: Syntax Logic Propositional Logic: Syntax Logic is a tool for formalizing reasoning. There are lots of different logics: probabilistic logic: for reasoning about probability temporal logic: for reasoning about

More information

Overview. overview / 357

Overview. overview / 357 Overview overview6.1 Introduction Modelling parallel systems Linear Time Properties Regular Properties Linear Temporal Logic (LTL) Computation Tree Logic syntax and semantics of CTL expressiveness of CTL

More information

Logic for Computer Science - Week 4 Natural Deduction

Logic for Computer Science - Week 4 Natural Deduction Logic for Computer Science - Week 4 Natural Deduction 1 Introduction In the previous lecture we have discussed some important notions about the semantics of propositional logic. 1. the truth value of a

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

Overview. Knowledge-Based Agents. Introduction. COMP219: Artificial Intelligence. Lecture 19: Logic for KR

Overview. Knowledge-Based Agents. Introduction. COMP219: Artificial Intelligence. Lecture 19: Logic for KR COMP219: Artificial Intelligence Lecture 19: Logic for KR Last time Expert Systems and Ontologies oday Logic as a knowledge representation scheme Propositional Logic Syntax Semantics Proof theory Natural

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

ECE580 Exam 1 October 4, Please do not write on the back of the exam pages. Extra paper is available from the instructor.

ECE580 Exam 1 October 4, Please do not write on the back of the exam pages. Extra paper is available from the instructor. ECE580 Exam 1 October 4, 2012 1 Name: Solution Score: /100 You must show ALL of your work for full credit. This exam is closed-book. Calculators may NOT be used. Please leave fractions as fractions, etc.

More information

From Liveness to Promptness

From Liveness to Promptness From Liveness to Promptness Orna Kupferman Hebrew University Nir Piterman EPFL Moshe Y. Vardi Rice University Abstract Liveness temporal properties state that something good eventually happens, e.g., every

More information

COMP2111 Glossary. Kai Engelhardt. Contents. 1 Symbols. 1 Symbols 1. 2 Hoare Logic 3. 3 Refinement Calculus 5. rational numbers Q, real numbers R.

COMP2111 Glossary. Kai Engelhardt. Contents. 1 Symbols. 1 Symbols 1. 2 Hoare Logic 3. 3 Refinement Calculus 5. rational numbers Q, real numbers R. COMP2111 Glossary Kai Engelhardt Revision: 1.3, May 18, 2018 Contents 1 Symbols 1 2 Hoare Logic 3 3 Refinement Calculus 5 1 Symbols Booleans B = {false, true}, natural numbers N = {0, 1, 2,...}, integers

More information

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

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

More information

Model checking (III)

Model checking (III) Theory and Algorithms Model checking (III) Alternatives andextensions Rafael Ramirez rafael@iua.upf.es Trimester1, Oct2003 Slide 9.1 Logics for reactive systems The are many specification languages for

More information

Lecture 16: Computation Tree Logic (CTL)

Lecture 16: Computation Tree Logic (CTL) Lecture 16: Computation Tree Logic (CTL) 1 Programme for the upcoming lectures Introducing CTL Basic Algorithms for CTL CTL and Fairness; computing strongly connected components Basic Decision Diagrams

More information

Lecture Notes on Truth & Proof

Lecture Notes on Truth & Proof 15-424: Foundations of Cyber-Physical Systems Lecture Notes on Truth & Proof André Platzer Carnegie Mellon University Lecture 6 1 Introduction 1 Lecture 5 on Dynamical Systems & Dynamic Axioms investigated

More information

Predicate Logic. Xinyu Feng 11/20/2013. University of Science and Technology of China (USTC)

Predicate Logic. Xinyu Feng 11/20/2013. University of Science and Technology of China (USTC) University of Science and Technology of China (USTC) 11/20/2013 Overview Predicate logic over integer expressions: a language of logical assertions, for example x. x + 0 = x Why discuss predicate logic?

More information

Automata on Infinite words and LTL Model Checking

Automata on Infinite words and LTL Model Checking Automata on Infinite words and LTL Model Checking Rodica Condurache Lecture 4 Lecture 4 Automata on Infinite words and LTL Model Checking 1 / 35 Labeled Transition Systems Let AP be the (finite) set of

More information

Math 116 Second Midterm November 13, 2017

Math 116 Second Midterm November 13, 2017 On my honor, as a student, I have neither given nor received unauthorized aid on this academic work. Initials: Do not write in this area Your Initials Only: Math 6 Second Midterm November 3, 7 Your U-M

More information

CSC 7101: Programming Language Structures 1. Axiomatic Semantics. Stansifer Ch 2.4, Ch. 9 Winskel Ch.6 Slonneger and Kurtz Ch. 11.

CSC 7101: Programming Language Structures 1. Axiomatic Semantics. Stansifer Ch 2.4, Ch. 9 Winskel Ch.6 Slonneger and Kurtz Ch. 11. Axiomatic Semantics Stansifer Ch 2.4, Ch. 9 Winskel Ch.6 Slonneger and Kurtz Ch. 11 1 Overview We ll develop proof rules, such as: { I b } S { I } { I } while b do S end { I b } That allow us to verify

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

Hoare Calculus and Predicate Transformers

Hoare Calculus and Predicate Transformers Hoare Calculus and Predicate Transformers Wolfgang Schreiner Wolfgang.Schreiner@risc.uni-linz.ac.at Research Institute for Symbolic Computation (RISC) Johannes Kepler University, Linz, Austria http://www.risc.uni-linz.ac.at

More information

Guest lecturer: Prof. Mark Reynolds, The University of Western Australia

Guest lecturer: Prof. Mark Reynolds, The University of Western Australia Università degli studi di Udine Corso per il dottorato di ricerca: Temporal Logics: Satisfiability Checking, Model Checking, and Synthesis January 2017 Lecture 01, Part 02: Temporal Logics Guest lecturer:

More information

CSE 505, Fall 2008, Midterm Examination 29 October Please do not turn the page until everyone is ready.

CSE 505, Fall 2008, Midterm Examination 29 October Please do not turn the page until everyone is ready. CSE 505, Fall 2008, Midterm Examination 29 October 2008 Please do not turn the page until everyone is ready. Rules: The exam is closed-book, closed-note, except for one side of one 8.5x11in piece of paper.

More information

Chapter 5: Linear Temporal Logic

Chapter 5: Linear Temporal Logic Chapter 5: Linear Temporal Logic Prof. Ali Movaghar Verification of Reactive Systems Spring 94 Outline We introduce linear temporal logic (LTL), a logical formalism that is suited for specifying LT properties.

More information

PSL Model Checking and Run-time Verification via Testers

PSL Model Checking and Run-time Verification via Testers PSL Model Checking and Run-time Verification via Testers Formal Methods 2006 Aleksandr Zaks and Amir Pnueli New York University Introduction Motivation (Why PSL?) A new property specification language,

More information

- Introduction to propositional, predicate and higher order logics

- Introduction to propositional, predicate and higher order logics Lecture 1: Deductive Verification of Reactive Systems - Introduction to propositional, predicate and higher order logics - Deductive Invariance Proofs Cristina Seceleanu MRTC, MdH E-mail: cristina.seceleanu@mdh.se

More information

Fall 2016 MATH*1160 Final Exam

Fall 2016 MATH*1160 Final Exam Fall 2016 MATH*1160 Final Exam Last name: (PRINT) First name: Student #: Instructor: M. R. Garvie Dec 16, 2016 INSTRUCTIONS: 1. The exam is 2 hours long. Do NOT start until instructed. You may use blank

More information

Two hours. Examination definition sheet is available at the back of the examination. UNIVERSITY OF MANCHESTER SCHOOL OF COMPUTER SCIENCE

Two hours. Examination definition sheet is available at the back of the examination. UNIVERSITY OF MANCHESTER SCHOOL OF COMPUTER SCIENCE COMP 60332 Two hours Examination definition sheet is available at the back of the examination. UNIVERSITY OF MANCHESTER SCHOOL OF COMPUTER SCIENCE Automated Reasoning and Verification Date: Wednesday 30th

More information

Hoare Logic: Reasoning About Imperative Programs

Hoare Logic: Reasoning About Imperative Programs Hoare Logic: Reasoning About Imperative Programs COMP1600 / COMP6260 Dirk Pattinson Australian National University Semester 2, 2017 Catch Up / Drop in Lab When Fridays, 15.00-17.00 Where N335, CSIT Building

More information

Introduction to Logic in Computer Science: Autumn 2006

Introduction to Logic in Computer Science: Autumn 2006 Introduction to Logic in Computer Science: Autumn 2006 Ulle Endriss Institute for Logic, Language and Computation University of Amsterdam Ulle Endriss 1 Plan for Today Today s class will be an introduction

More information

Bound and Free Variables. Theorems and Proofs. More valid formulas involving quantifiers:

Bound and Free Variables. Theorems and Proofs. More valid formulas involving quantifiers: Bound and Free Variables More valid formulas involving quantifiers: xp(x) x P(x) Replacing P by P, we get: x P(x) x P(x) Therefore x P(x) xp(x) Similarly, we have xp(x) x P(x) x P(x) xp(x) i(i 2 > i) is

More information

Formal Methods in Software Engineering

Formal Methods in Software Engineering Formal Methods in Software Engineering An Introduction to Model-Based Analyis and Testing Vesal Vojdani Department of Computer Science University of Tartu Fall 2014 Vesal Vojdani (University of Tartu)

More information

RYERSON UNIVERSITY DEPARTMENT OF MATHEMATICS

RYERSON UNIVERSITY DEPARTMENT OF MATHEMATICS RYERSON UNIVERSITY DEPARTMENT OF MATHEMATICS MTH 110 Final Exam December 6, 2008 Total marks: 100 Time allowed: 3 Hours. NAME (Print): STUDENT #: SIGNATURE: Circle your Lab Section: Section 1 Section 2

More information

University of New Mexico Department of Computer Science. Final Examination. CS 561 Data Structures and Algorithms Fall, 2013

University of New Mexico Department of Computer Science. Final Examination. CS 561 Data Structures and Algorithms Fall, 2013 University of New Mexico Department of Computer Science Final Examination CS 561 Data Structures and Algorithms Fall, 2013 Name: Email: This exam lasts 2 hours. It is closed book and closed notes wing

More information

CSE 505, Fall 2009, Midterm Examination 5 November Please do not turn the page until everyone is ready.

CSE 505, Fall 2009, Midterm Examination 5 November Please do not turn the page until everyone is ready. CSE 505, Fall 2009, Midterm Examination 5 November 2009 Please do not turn the page until everyone is ready Rules: The exam is closed-book, closed-note, except for one side of one 85x11in piece of paper

More information

- - - - - - - - - - - - - - - - - - DISCLAIMER - - - - - - - - - - - - - - - - - - General Information: This is a midterm from a previous semester. This means: This midterm contains problems that are of

More information

PROOFS IN PREDICATE LOGIC AND COMPLETENESS; WHAT DECIDABILITY MEANS HUTH AND RYAN 2.3, SUPPLEMENTARY NOTES 2

PROOFS IN PREDICATE LOGIC AND COMPLETENESS; WHAT DECIDABILITY MEANS HUTH AND RYAN 2.3, SUPPLEMENTARY NOTES 2 PROOFS IN PREDICATE LOGIC AND COMPLETENESS; WHAT DECIDABILITY MEANS HUTH AND RYAN 2.3, SUPPLEMENTARY NOTES 2 Neil D. Jones DIKU 2005 12 September, 2005 Some slides today new, some based on logic 2004 (Nils

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

Examples: P: it is not the case that P. P Q: P or Q P Q: P implies Q (if P then Q) Typical formula:

Examples: P: it is not the case that P. P Q: P or Q P Q: P implies Q (if P then Q) Typical formula: Logic: The Big Picture Logic is a tool for formalizing reasoning. There are lots of different logics: probabilistic logic: for reasoning about probability temporal logic: for reasoning about time (and

More information

Lecture 10: Gentzen Systems to Refinement Logic CS 4860 Spring 2009 Thursday, February 19, 2009

Lecture 10: Gentzen Systems to Refinement Logic CS 4860 Spring 2009 Thursday, February 19, 2009 Applied Logic Lecture 10: Gentzen Systems to Refinement Logic CS 4860 Spring 2009 Thursday, February 19, 2009 Last Tuesday we have looked into Gentzen systems as an alternative proof calculus, which focuses

More information

Propositional Logic: Syntax

Propositional Logic: Syntax Logic Logic is a tool for formalizing reasoning. There are lots of different logics: probabilistic logic: for reasoning about probability temporal logic: for reasoning about time (and programs) epistemic

More information

Extensions to the Logic of All x are y: Verbs, Relative Clauses, and Only

Extensions to the Logic of All x are y: Verbs, Relative Clauses, and Only 1/53 Extensions to the Logic of All x are y: Verbs, Relative Clauses, and Only Larry Moss Indiana University Nordic Logic School August 7-11, 2017 2/53 An example that we ll see a few times Consider the

More information

Testing with model checkers: A survey

Testing with model checkers: A survey COMPETENCE NETWORK SOFTNET AUSTRIA Testing with model checkers: A survey SNA-TR-2007-P2-04 Gordon Fraser, Franz Wotawa, Paul E. Ammann SNA TECHNICAL REPORT NOVEMBER 2007 Competence Network Softnet Austria,

More information

Temporal Logic - Soundness and Completeness of L

Temporal Logic - Soundness and Completeness of L Temporal Logic - Soundness and Completeness of L CS402, Spring 2018 Soundness Theorem 1 (14.12) Let A be an LTL formula. If L A, then A. Proof. We need to prove the axioms and two inference rules to be

More information

Algorithmic verification

Algorithmic verification Algorithmic verification Ahmed Rezine IDA, Linköpings Universitet Hösttermin 2018 Outline Overview Model checking Symbolic execution Outline Overview Model checking Symbolic execution Program verification

More information

MA 113 Calculus I Fall 2015 Exam 3 Tuesday, 17 November Multiple Choice Answers. Question

MA 113 Calculus I Fall 2015 Exam 3 Tuesday, 17 November Multiple Choice Answers. Question MA 11 Calculus I Fall 2015 Exam Tuesday, 17 November 2015 Name: Section: Last 4 digits of student ID #: This exam has ten multiple choice questions (five points each) and five free response questions (ten

More information