Final Exam /614 Bug Catching: Automated Program Verification Matt Fredrikson André Platzer. December 17, 2017
|
|
- Augustus Jacobs
- 5 years ago
- Views:
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
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 informationLecture 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 informationLecture 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 informationLecture 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 informationLecture 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 informationLecture 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 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 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 informationLecture Notes on Emptiness Checking, LTL Büchi Automata
15-414: Bug Catching: Automated Program Verification Lecture Notes on Emptiness Checking, LTL Büchi Automata Matt Fredrikson André Platzer Carnegie Mellon University Lecture 18 1 Introduction We ve seen
More informationThe 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 informationLecture 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 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 informationMATH 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 informationVerification. Arijit Mondal. Dept. of Computer Science & Engineering Indian Institute of Technology Patna
IIT Patna 1 Verification Arijit Mondal Dept. of Computer Science & Engineering Indian Institute of Technology Patna arijit@iitp.ac.in Introduction The goal of verification To ensure 100% correct in functionality
More 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 informationComputation 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 informationFor 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 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 informationUniversity 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 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 informationHomework 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 informationFall 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 informationUniversity 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 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 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 informationMath 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 informationAutumn 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 informationMidterm 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 informationAlternating 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 informationCS156: 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 information05: 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 informationMath 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 informationLecture 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 informationSanjit A. Seshia EECS, UC Berkeley
EECS 219C: Computer-Aided Verification Explicit-State Model Checking: Additional Material Sanjit A. Seshia EECS, UC Berkeley Acknowledgments: G. Holzmann Checking if M satisfies : Steps 1. Compute Buchi
More informationAxiomatic 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 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 informationMath 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 informationMA 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 informationCOMP219: 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 informationFloyd-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 informationLecture 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 informationMidterm 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 informationCOMP219: 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 informationFormal 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 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 informationTemporal logics and explicit-state model checking. Pierre Wolper Université de Liège
Temporal logics and explicit-state model checking Pierre Wolper Université de Liège 1 Topics to be covered Introducing explicit-state model checking Finite automata on infinite words Temporal Logics and
More 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 informationLogic. 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 informationPredicate 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 informationLogics 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 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 informationComputer-Aided Program Design
Computer-Aided Program Design Spring 2015, Rice University Unit 3 Swarat Chaudhuri February 5, 2015 Temporal logic Propositional logic is a good language for describing properties of program states. However,
More informationCS 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 informationAutomated 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 informationLecture 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 informationSummary. 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 informationLogic. 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 informationOverview. 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 informationLogic 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 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 informationOverview. 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 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 informationECE580 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 informationFrom Liveness to Promptness
From Liveness to Promptness Orna Kupferman Hebrew University Nir Piterman EPFL Moshe Y. Vardi Rice University Abstract Liveness temporal properties state that something good eventually happens, e.g., every
More informationCOMP2111 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 informationPropositional 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 informationModel 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 informationLecture 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 informationLecture 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 informationPredicate 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 informationAutomata on Infinite words and LTL Model Checking
Automata on Infinite words and LTL Model Checking Rodica Condurache Lecture 4 Lecture 4 Automata on Infinite words and LTL Model Checking 1 / 35 Labeled Transition Systems Let AP be the (finite) set of
More informationMath 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 informationCSC 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 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 informationHoare 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 informationGuest lecturer: Prof. Mark Reynolds, The University of Western Australia
Università degli studi di Udine Corso per il dottorato di ricerca: Temporal Logics: Satisfiability Checking, Model Checking, and Synthesis January 2017 Lecture 01, Part 02: Temporal Logics Guest lecturer:
More informationCSE 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 informationChapter 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 informationPSL 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
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 informationFall 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 informationTwo 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 informationHoare 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 informationIntroduction 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 informationBound 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 informationFormal 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 informationRYERSON 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 informationUniversity 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 informationCSE 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 informationPROOFS 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 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 informationExamples: 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 informationLecture 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 informationPropositional 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 informationExtensions 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 informationTesting 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 informationTemporal 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 informationAlgorithmic 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 informationMA 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