Temporal & Modal Logic. Acronyms. Contents. Temporal Logic Overview Classification PLTL Syntax Semantics Identities. Concurrency Model Checking

Similar documents
Lecture 16: Computation Tree Logic (CTL)

Chapter 6: Computation Tree Logic

Chapter 4: Computation tree logic

Introduction to Model Checking. Debdeep Mukhopadhyay IIT Madras

T Reactive Systems: Temporal Logic LTL

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

Overview. overview / 357

Model Checking. Temporal Logic. Fifth International Symposium in Programming, volume. of concurrent systems in CESAR. In Proceedings of the

ESE601: Hybrid Systems. Introduction to verification

Timo Latvala. February 4, 2004

Verification Using Temporal Logic

Alternating Time Temporal Logics*

Temporal Logic Model Checking

Temporal Logic. M φ. Outline. Why not standard logic? What is temporal logic? LTL CTL* CTL Fairness. Ralf Huuck. Kripke Structure

Computation Tree Logic

A brief introduction to Logic. (slides from

Tecniche di Verifica. Introduction to Propositional Logic

CS256/Spring 2008 Lecture #11 Zohar Manna. Beyond Temporal Logics

3-Valued Abstraction-Refinement

PSPACE-completeness of LTL/CTL model checking

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

A Tableau-Based Decision Procedure for Right Propositional Neighborhood Logic (RPNL )

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

Model checking (III)

Goal specification using temporal logic in presence of non-deterministic actions

Computation Tree Logic

Modal and Temporal Logics

Linear Temporal Logic and Büchi Automata

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

Introduction to Temporal Logic. The purpose of temporal logics is to specify properties of dynamic systems. These can be either

MODEL-CHECKING IN DENSE REAL-TIME SHANT HARUTUNIAN

CTL, the branching-time temporal logic

Linear-time Temporal Logic

3. Temporal Logics and Model Checking

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

Topics in Verification AZADEH FARZAN FALL 2017

First-order resolution for CTL

SFM-11:CONNECT Summer School, Bertinoro, June 2011

SMV the Symbolic Model Verifier. Example: the alternating bit protocol. LTL Linear Time temporal Logic

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

Introduction to Logic in Computer Science: Autumn 2006

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

Learning Goals of CS245 Logic and Computation

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

Alan Bundy. Automated Reasoning LTL Model Checking

Description Logics. Deduction in Propositional Logic. franconi. Enrico Franconi

Computation Tree Logic (CTL)

Description Logics. Foundations of Propositional Logic. franconi. Enrico Franconi

Chapter 4: Classical Propositional Semantics

Linear Temporal Logic (LTL)

On the Complexity of the Reflected Logic of Proofs

Temporal Logic and Fair Discrete Systems

Comp487/587 - Boolean Formulas

Finite-State Model Checking

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

Model Checking for Propositions CS477 Formal Software Dev Methods

MODEL CHECKING. Arie Gurfinkel

A tableau-based decision procedure for a branching-time interval temporal logic

22c:145 Artificial Intelligence

Price: $25 (incl. T-Shirt, morning tea and lunch) Visit:

An Introduction to Temporal Logics

Automata-Theoretic Model Checking of Reactive Systems

CS 267: Automated Verification. Lecture 1: Brief Introduction. Transition Systems. Temporal Logic LTL. Instructor: Tevfik Bultan

Time and Timed Petri Nets

Computation Tree Logic (CTL) & Basic Model Checking Algorithms

LOGIC PROPOSITIONAL REASONING

Timo Latvala. March 7, 2004

Alternating-Time Temporal Logic

The State Explosion Problem

Property Checking of Safety- Critical Systems Mathematical Foundations and Concrete Algorithms

Socratic Proofs for Some Temporal Logics RESEARCH REPORT

Reasoning about Strategies: From module checking to strategy logic

Propositional Reasoning

CIS 842: Specification and Verification of Reactive Systems. Lecture Specifications: Specification Patterns

Optimal Decision Procedures for Satisfiability in Fragments of Alternating-time Temporal Logics

Model Checking: An Introduction

Guest lecturer: Mark Reynolds, The University of Western Australia. May 7, 2014

FORMAL METHODS LECTURE IV: COMPUTATION TREE LOGIC (CTL)

09 Modal Logic II. CS 3234: Logic and Formal Systems. October 14, Martin Henz and Aquinas Hobor

The Expressivity of Universal Timed CCP: Undecidability of Monadic FLTL and Closure Operators for Security

Logic: Propositional Logic (Part I)

Computation Tree Logic

Semantics and Pragmatics of NLP

Model for reactive systems/software

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

Interval Temporal Logics over Strongly Discrete Linear Orders: the Complete Picture

Automata-based Verification - III

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

Expressiveness, decidability, and undecidability of Interval Temporal Logic

Automata-based Verification - III

CS 514, Mathematics for Computer Science Mid-semester Exam, Autumn 2017 Department of Computer Science and Engineering IIT Guwahati

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

Announcements. CS243: Discrete Structures. Propositional Logic II. Review. Operator Precedence. Operator Precedence, cont. Operator Precedence Example

From Liveness to Promptness

FORMAL METHODS LECTURE III: LINEAR TEMPORAL LOGIC

Decision Procedures for CTL

Propositional Logic: Evaluating the Formulas

Models of Concurrency

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

EAHyper: Satisfiability, Implication, and Equivalence Checking of Hyperproperties

Transcription:

Temporal & Modal Logic E. Allen Emerson Presenter: Aly Farahat 2/12/2009 CS5090 1 Acronyms TL: Temporal Logic BTL: Branching-time Logic LTL: Linear-Time Logic CTL: Computation Tree Logic PLTL: Propositional Linear Temporal Logic PLTLF: PLTL with only future timeline structures PLTLP: PLTL with only past timeline structures PLTLB: PLTL with future and past timeline structures BMCP: Branching-Time Logic Model Checking Problem LMCP: Linear-Time Logic Model Checking Problem 2/12/2009 CS5090 2 Temporal Logic Overview Classification PLTL Syntax Semantics Identities Concurrency Model Checking Contents 2/12/2009 CS5090 3 1

Introduction Modal Logic: describes different worlds over which P might be True or False. Temporal Logic: a Modal Logic whose worlds are discrete states 2/12/2009 CS5090 4 Reasoning about Programs Hoare Logic: Terminating Programs Prove Post-Condition given Pre-Condition Transformational Semantics No notion of time Temporal Logic: Concurrent Nonterminating Programs Prove Properties about Programs valid during execution Q: Why do we need logic for programs? 2/12/2009 CS5090 5 Classification Propositional vs. First-Order Global vs. Compositional Branching vs. Linear Time Points vs. Intervals Discrete vs. Continuous Past vs. Future 2/12/2009 CS5090 6 2

Propositional Linear Temporal Logic Syntax Propositions Connectives Formulae Temporal Operators Semantics Time Structure Formulae Interpretation 2/12/2009 CS5090 7 Syntax Definitions Gp: Always p Fp: Eventually p puq: p until q Xp: Next p F p: Infinitely often p G p : Almost everywhere p 2/12/2009 CS5090 8 Syntax The Rules for forming Formulae Every Atomic Proposition P is a Formula If p and q are formulae, so are: p q If p and q are formulae, so are: p p q Xp puq Fp Gp Q: How the other connectives are syntactically defined? 2/12/2009 CS5090 9 3

Syntactical Equivalences False = p p True = False p q = p q p q = ( p q) ( q p) Fp = TrueUp Gp = F p pbq = ( puq) 2/12/2009 CS5090 10 Semantics Structure S A set of States x: An infinite sequence of states L: S PowerSet(AP) Truth assignment for atomic propositions at each state. AP is the set of atomic propositions. Notation: x i P iff the structure at timeline x i satisfies P starting from s i to the future. Q: How can we link program computations and structures in PLTL? 2/12/2009 CS5090 11 Semantics (cont d) x i P iff P is True at s i, P is atomic proposition x i p Λ q iff x i p and x i q x i p iff it is not the case that x i p, p and q are formulae x i puq iff j( x j q and k, i k < j (x k p)) x i Xp iff x i+1 p Q: Verify the syntactical equivalences for Gp and Fp for PLTL 2/12/2009 CS5090 12 4

Semantic Equivalences 2/12/2009 CS5090 13 Semantic Implications 2/12/2009 CS5090 14 More Identities 2/12/2009 CS5090 15 5

Identities for X 2/12/2009 CS5090 16 Variants of PLTL Strong and Weak Until Inclusion of Past Tense Operators Reflexive and non-reflexive operators 2/12/2009 CS5090 17 Global and Initial Equivalences P and Q are globally equivalent iff for all linear time structures and for all times, P has the same truth value as Q. P and Q are initially equivalent iff for all linear time structures and for the initial state 0, P has the same truth value as Q. 2/12/2009 CS5090 18 6

Power of PLTLF and PLTLB Theorem 3.1: With respect to Global Equivalence, PLTLB is strictly more expressive than PLTLF Theorem 3.2: With respect to Initial Equivalence, PLTLB has the same expressive power as PLTLF 2/12/2009 CS5090 19 Concurrency Concurrency is modeled by Nondeterminism and Fairness Abstract Model: M : a time structure Φ Start : an atomic proposition corresponding to the starting states Φ:a temporal logic fairness property 2/12/2009 CS5090 20 Weak Fairness: Fairness Properties Strong Fairness: Impartiality: Q: Is there an order on these fairness properties? 2/12/2009 CS5090 21 7

Concrete Models Constraints on the abstract Model: Structure on State Space: Message Passing vs. Shared Memory. Domain Constraints: Define variables domains (Integer ranges, Enumerations) Transition Constrains: Define specific allowable instructions- Read/Write Restrictions 2/12/2009 CS5090 22 Memory Models Shared Memory: Shared variables and location counters define the state space Distributed Shared Memory: Writes granted only to Process having affinity to the shared variable. Message Passing: zero message buffer size; i.e. CSP. 2/12/2009 CS5090 23 Concurrent Programs and PLTL For the concurrent program P= (M, Φ Start, Φ) and a temporal logic formula p, p holds true for P iff x, M,x ((Φ Start ΛΦ) p) Intuitively, for all possible time structures satisfying the initial and fairness conditions, they should satisfy p. 2/12/2009 CS5090 24 8

A decision problem: Model Checking M is a finite temporal structure P is a temporal logic formula Is M P? 2/12/2009 CS5090 25 Formal Definition BMCP: M: a finite BTL structure p: a BTL formula For every state s in M where p is satisfied, Label s with p LMCP: M: a finite LTL structure p: an LTL formula For every state s in M starting a full path satisfying p, Label s with Ep 2/12/2009 CS5090 26 Interpretation In BMCP, it is sufficient to label the states with the BTL formula truth value, without checking full paths from each state In LMCP, it is necessary to check, for each state, the set of all possible paths and label it with Ep if a path exists 2/12/2009 CS5090 27 9

Theorems LMCP for PLTL is polynomial-time reducible to SAT-PLTL LMCP for PLTL is P-space complete LMCP for PLTL(F) is NP-complete BMCP for CTL is deterministic polynomial time 2/12/2009 CS5090 28 Modalities are what matters Given a model checking algorithm for LTL, there is a model checking algorithm for the corresponding BTL of the same order of complexity corresponding : having the same basic modalities Q: Is this result contradicting the fact that BMCP is in P? 2/12/2009 CS5090 29 Conclusions TL formulae express properties of concurrent programs Concurrent programs are represented by structures in TL Model Checking is an application of TL to concurrent programming 2/12/2009 CS5090 30 10

Thank you! 2/12/2009 CS5090 31 11