B uchi Automata and their Application to Software Verification - - PowerPoint PPT Presentation

b uchi automata and their application to software
SMART_READER_LITE
LIVE PREVIEW

B uchi Automata and their Application to Software Verification - - PowerPoint PPT Presentation

B uchi Automata and their Application to Software Verification Finite Automata Theory and Formal Languages Wolfgang Ahrendt 22nd April 2013 B uchi Automata: TMV027/DIT321 / GU 130423 1 / 25 Motivating Temporal Logic? But How to


slide-1
SLIDE 1

B¨ uchi Automata and their Application to Software Verification

Finite Automata Theory and Formal Languages Wolfgang Ahrendt 22nd April 2013

B¨ uchi Automata: TMV027/DIT321 /GU 130423 1 / 25

slide-2
SLIDE 2

Motivating Temporal Logic?

But How to Express Properties Involving State Changes? In any run of a program P

◮ n will become greater than 0 eventually? ◮ n changes its value infinitely often

etc.

B¨ uchi Automata: TMV027/DIT321 /GU 130423 2 / 25

slide-3
SLIDE 3

Motivating Temporal Logic?

But How to Express Properties Involving State Changes? In any run of a program P

◮ n will become greater than 0 eventually? ◮ n changes its value infinitely often

etc. Linear Temporal Logic: talks about (infinite) traces of states

B¨ uchi Automata: TMV027/DIT321 /GU 130423 2 / 25

slide-4
SLIDE 4

Semantics of Propositional Logic

Interpretation I Assigns a truth value to each propositional variable I : P → {T, F}

B¨ uchi Automata: TMV027/DIT321 /GU 130423 3 / 25

slide-5
SLIDE 5

Semantics of Propositional Logic

Interpretation I Assigns a truth value to each propositional variable I : P → {T, F} Example Let P = {p, q} p q I F F I′ F T I′′ T F I′′′ T T

B¨ uchi Automata: TMV027/DIT321 /GU 130423 3 / 25

slide-6
SLIDE 6

Transition systems (aka Kripke Structures)

x s0 F F s1 T F s2 T T s3 F T p=T; q=p; q=F; p=F; p=T; Notation name interp. x update

B¨ uchi Automata: TMV027/DIT321 /GU 130423 4 / 25

slide-7
SLIDE 7

Transition systems (aka Kripke Structures)

x s0 F F s1 T F s2 T T s3 F T p=T; q=p; q=F; p=F; p=T;

◮ Each state si has its own propositional interpretation Ii

◮ Convention: list values of variables in ascending lexicographic order

◮ Computations, or runs, are infinite paths through states

◮ Intuitively ‘finite’ runs modelled by looping on final states

◮ In general, infinitely many different runs possible ◮ How to express (for example) that p changes its value infinitely

  • ften in each run?

B¨ uchi Automata: TMV027/DIT321 /GU 130423 4 / 25

slide-8
SLIDE 8

(Linear) Temporal Logic

An extension of propositional logic that allows to specify properties of all runs

B¨ uchi Automata: TMV027/DIT321 /GU 130423 5 / 25

slide-9
SLIDE 9

(Linear) Temporal Logic—Syntax

An extension of propositional logic that allows to specify properties of all runs Syntax Based on propositional signature and syntax Extension with three connectives: Always If φ is a formula then so is φ Eventually If φ is a formula then so is ♦φ Concrete Syntax text book Spin Always

  • [ ]

Eventually ♦ <>

B¨ uchi Automata: TMV027/DIT321 /GU 130423 5 / 25

slide-10
SLIDE 10

Temporal Logic—Semantics

A run σ is an infinite chain of states s0 I0 s1 I1 s2 I2 s3 I3 s4 I4 · · · Ij propositional interpretation of variables in j-th state Write more compactly s0 s1 s2 s3 . . .

B¨ uchi Automata: TMV027/DIT321 /GU 130423 6 / 25

slide-11
SLIDE 11

Temporal Logic—Semantics

A run σ is an infinite chain of states s0 I0 s1 I1 s2 I2 s3 I3 s4 I4 · · · Ij propositional interpretation of variables in j-th state Write more compactly s0 s1 s2 s3 . . . If σ = s0 s1 · · · , then σ|i denotes the suffix si si+1 · · · of σ.

B¨ uchi Automata: TMV027/DIT321 /GU 130423 6 / 25

slide-12
SLIDE 12

Temporal Logic—Semantics (Cont’d)

Valuation of temporal formula relative to run: infinite sequence of states

B¨ uchi Automata: TMV027/DIT321 /GU 130423 7 / 25

slide-13
SLIDE 13

Temporal Logic—Semantics (Cont’d)

Valuation of temporal formula relative to run: infinite sequence of states Definition (Validity Relation) Validity of temporal formula depends on runs σ = s0 s1 . . . σ | = p iff I0(p) = T, for p ∈ P.

B¨ uchi Automata: TMV027/DIT321 /GU 130423 7 / 25

slide-14
SLIDE 14

Temporal Logic—Semantics (Cont’d)

Valuation of temporal formula relative to run: infinite sequence of states Definition (Validity Relation) Validity of temporal formula depends on runs σ = s0 s1 . . . σ | = p iff I0(p) = T, for p ∈ P. σ | = ¬φ iff not σ | = φ (write σ | = φ) σ | = φ ∧ ψ iff σ | = φ and σ | = ψ σ | = φ ∨ ψ iff σ | = φ or σ | = ψ σ | = φ → ψ iff σ | = φ or σ | = ψ

B¨ uchi Automata: TMV027/DIT321 /GU 130423 7 / 25

slide-15
SLIDE 15

Temporal Logic—Semantics (Cont’d)

Valuation of temporal formula relative to run: infinite sequence of states Definition (Validity Relation) Validity of temporal formula depends on runs σ = s0 s1 . . . σ | = p iff I0(p) = T, for p ∈ P. σ | = ¬φ iff not σ | = φ (write σ | = φ) σ | = φ ∧ ψ iff σ | = φ and σ | = ψ σ | = φ ∨ ψ iff σ | = φ or σ | = ψ σ | = φ → ψ iff σ | = φ or σ | = ψ Temporal connectives?

B¨ uchi Automata: TMV027/DIT321 /GU 130423 7 / 25

slide-16
SLIDE 16

Temporal Logic—Semantics (Cont’d)

Run σ s0 s1 · · · sk−1 sk · · · Definition (Validity Relation for Temporal Connectives) Given a run σ = s0 s1 · · ·

B¨ uchi Automata: TMV027/DIT321 /GU 130423 8 / 25

slide-17
SLIDE 17

Temporal Logic—Semantics (Cont’d)

Run σ s0 s1 · · · sk−1 sk · · · φ φ · · · φ φ · · · Definition (Validity Relation for Temporal Connectives) Given a run σ = s0 s1 · · · σ | = φ iff σ|k | = φ for all k ≥ 0

B¨ uchi Automata: TMV027/DIT321 /GU 130423 8 / 25

slide-18
SLIDE 18

Temporal Logic—Semantics (Cont’d)

Run σ s0 s1 · · · sk−1 sk · · · φ Definition (Validity Relation for Temporal Connectives) Given a run σ = s0 s1 · · · σ | = φ iff σ|k | = φ for all k ≥ 0 σ | = ♦φ iff σ|k | = φ for some k ≥ 0

B¨ uchi Automata: TMV027/DIT321 /GU 130423 8 / 25

slide-19
SLIDE 19

Temporal Logic—Semantics (Cont’d)

Run σ s0 s1 · · · sk−1 sk · · · φ φ · · · φ ψ Definition (Validity Relation for Temporal Connectives) Given a run σ = s0 s1 · · · σ | = φ iff σ|k | = φ for all k ≥ 0 σ | = ♦φ iff σ|k | = φ for some k ≥ 0

B¨ uchi Automata: TMV027/DIT321 /GU 130423 8 / 25

slide-20
SLIDE 20

Transition Systems: Formal Definition

Definition (Transition System) A transition system T = (S, Ini, δ, I) is composed of a set of states S, a set ∅ = Ini ⊆ S of initial states, a transition relation δ ⊆ S × S, and a labeling I of each state s ∈ S with a propositional interpretation Is. Definition (Run of Transition System) A run of T is a sequence of states σ = s0 s1 · · · such that s0 ∈ Ini and for all i is si ∈ S as well as (si, si+1) ∈ δ.

B¨ uchi Automata: TMV027/DIT321 /GU 130423 9 / 25

slide-21
SLIDE 21

ω-Languages

Given a finite alphabet (vocabulary) Σ A word w ∈ Σ∗ is a finite sequence w = ao · · · an with ai ∈ Σ, i ∈ {0, . . . , n} L ⊆ Σ∗ is called a language

B¨ uchi Automata: TMV027/DIT321 /GU 130423 10 / 25

slide-22
SLIDE 22

ω-Languages

Given a finite alphabet (vocabulary) Σ An ω-word w ∈ Σω is an infinite sequence w = ao · · · ak · · · with ai ∈ Σ, i ∈ N Lω ⊆ Σω is called an ω-language

B¨ uchi Automata: TMV027/DIT321 /GU 130423 10 / 25

slide-23
SLIDE 23

B¨ uchi Automaton

Definition (B¨ uchi Automaton) A (non-deterministic) B¨ uchi automaton over an alphabet Σ consists of a

◮ finite, non-empty set of locations Q ◮ a non-empty set of initial/start locations I ⊆ Q ◮ a set of accepting locations F = {F1, . . . , Fn} ⊆ Q ◮ a transition relation δ ⊆ Q × Σ × Q

Example Σ = {a, b}, Q = {q1, q2, q3}, I = {q1}, F = {q2} q1 start q2 q3 a, b a b a

B¨ uchi Automata: TMV027/DIT321 /GU 130423 11 / 25

slide-24
SLIDE 24

B¨ uchi Automaton—Executions and Accepted Words

Definition (Execution) Let B = (Q, I, F, δ) be a B¨ uchi automaton over alphabet Σ. An execution of B is a pair (w, v), with

◮ w = ao · · · ak · · · ∈ Σω ◮ v = qo · · · qk · · · ∈ Qω

where q0 ∈ I, and (qi, ai, qi+1) ∈ δ, for all i ∈ N

B¨ uchi Automata: TMV027/DIT321 /GU 130423 12 / 25

slide-25
SLIDE 25

B¨ uchi Automaton—Executions and Accepted Words

Definition (Execution) Let B = (Q, I, F, δ) be a B¨ uchi automaton over alphabet Σ. An execution of B is a pair (w, v), with

◮ w = ao · · · ak · · · ∈ Σω ◮ v = qo · · · qk · · · ∈ Qω

where q0 ∈ I, and (qi, ai, qi+1) ∈ δ, for all i ∈ N Definition (Accepted Word) A B¨ uchi automaton B accepts a word w ∈ Σω, if there exists an execution (w, v) of B where some accepting location f ∈ F appears infinitely often in v

B¨ uchi Automata: TMV027/DIT321 /GU 130423 12 / 25

slide-26
SLIDE 26

B¨ uchi Automaton—Language

Let B = (Q, I, F, δ) be a B¨ uchi automaton, then Lω(B) = {w ∈ Σω|w ∈ Σω is an accepted word of B} denotes the ω-language recognised by B.

B¨ uchi Automata: TMV027/DIT321 /GU 130423 13 / 25

slide-27
SLIDE 27

B¨ uchi Automaton—Language

Let B = (Q, I, F, δ) be a B¨ uchi automaton, then Lω(B) = {w ∈ Σω|w ∈ Σω is an accepted word of B} denotes the ω-language recognised by B. An ω-language for which an accepting B¨ uchi automaton exists is called ω-regular language.

B¨ uchi Automata: TMV027/DIT321 /GU 130423 13 / 25

slide-28
SLIDE 28

Example, ω-Regular Expression

Which language is accepted by the following B¨ uchi automaton? q1 start q2 q3 a, b a b a

B¨ uchi Automata: TMV027/DIT321 /GU 130423 14 / 25

slide-29
SLIDE 29

Example, ω-Regular Expression

Which language is accepted by the following B¨ uchi automaton? q1 start q2 q3 a, b a b a Solution: (a + b)∗(ab)ω [NB: (ab)ω = a(ba)ω]

B¨ uchi Automata: TMV027/DIT321 /GU 130423 14 / 25

slide-30
SLIDE 30

Example, ω-Regular Expression

Which language is accepted by the following B¨ uchi automaton? q1 start q2 q3 a, b a b a Solution: (a + b)∗(ab)ω [NB: (ab)ω = a(ba)ω] ω-regular expressions like standard regular expression ab a then b a + b a or b a∗ arbitrarily, but finitely often a new: aω infinitely often a

B¨ uchi Automata: TMV027/DIT321 /GU 130423 14 / 25

slide-31
SLIDE 31

Decidability, Closure Properties

Many properties for regular finite automata hold also for B¨ uchi automata Theorem (Decidability) It is decidable whether the accepted language Lω(B) of a B¨ uchi automaton B is empty.

B¨ uchi Automata: TMV027/DIT321 /GU 130423 15 / 25

slide-32
SLIDE 32

Decidability, Closure Properties

Many properties for regular finite automata hold also for B¨ uchi automata Theorem (Decidability) It is decidable whether the accepted language Lω(B) of a B¨ uchi automaton B is empty. Theorem (Closure properties) The set of ω-regular languages is closed with respect to intersection, union and complement:

◮ if L1, L2 are ω-regular then L1 ∩ L2 and L1 ∪ L2 are ω-regular ◮ L is ω-regular then Σω\L is ω-regular

B¨ uchi Automata: TMV027/DIT321 /GU 130423 15 / 25

slide-33
SLIDE 33

Decidability, Closure Properties

Many properties for regular finite automata hold also for B¨ uchi automata Theorem (Decidability) It is decidable whether the accepted language Lω(B) of a B¨ uchi automaton B is empty. Theorem (Closure properties) The set of ω-regular languages is closed with respect to intersection, union and complement:

◮ if L1, L2 are ω-regular then L1 ∩ L2 and L1 ∪ L2 are ω-regular ◮ L is ω-regular then Σω\L is ω-regular

But in contrast to regular finite automata Non-deterministic B¨ uchi automata are strictly more expressive than deterministic ones

B¨ uchi Automata: TMV027/DIT321 /GU 130423 15 / 25

slide-34
SLIDE 34

B¨ uchi Automata—More Examples

Language: q0 q1 a a b

B¨ uchi Automata: TMV027/DIT321 /GU 130423 16 / 25

slide-35
SLIDE 35

B¨ uchi Automata—More Examples

Language: a(a + ba)ω q0 q1 a a b

B¨ uchi Automata: TMV027/DIT321 /GU 130423 16 / 25

slide-36
SLIDE 36

B¨ uchi Automata—More Examples

Language: a(a + ba)ω q0 q1 a a b Language: q0 q1 a b a

B¨ uchi Automata: TMV027/DIT321 /GU 130423 16 / 25

slide-37
SLIDE 37

B¨ uchi Automata—More Examples

Language: a(a + ba)ω q0 q1 a a b Language: (a∗ba)ω q0 q1 a b a

B¨ uchi Automata: TMV027/DIT321 /GU 130423 16 / 25

slide-38
SLIDE 38

Linear Temporal Logic and B¨ uchi Automata

LTL and B¨ uchi Automata are connected Definition (Validity Relation) Given a transition system T = (S, Ini, δ, I), a temporal formula φ is valid in T (write T | = φ) iff σ | = φ for all runs σ of T . A run of the transition system is an infinite sequence of interpretations I

B¨ uchi Automata: TMV027/DIT321 /GU 130423 17 / 25

slide-39
SLIDE 39

Linear Temporal Logic and B¨ uchi Automata

LTL and B¨ uchi Automata are connected Definition (Validity Relation) Given a transition system T = (S, Ini, δ, I), a temporal formula φ is valid in T (write T | = φ) iff σ | = φ for all runs σ of T . A run of the transition system is an infinite sequence of interpretations I Intended Connection Given an LTL formula φ: Construct a B¨ uchi automaton accepting exactly those runs (infinite sequences of interpretations) that satisfy φ

B¨ uchi Automata: TMV027/DIT321 /GU 130423 17 / 25

slide-40
SLIDE 40

Encoding an LTL Formula as a B¨ uchi Automaton

P set of propositional variables, e.g., P = {r, s} Alphabet Σ of B¨ uchi automaton A state transition of B¨ uchi automaton must represent an interpretation Let Σ (i.e., the alphabet of the automata) be set of all interpretations

  • ver P, i.e., Σ = 2P

Example Σ =

  • ∅, {r}, {s}, {r, s}
  • I∅(r) = F, I∅(s) = F, I{r}(r) = T, I{r}(s) = F, . . .

B¨ uchi Automata: TMV027/DIT321 /GU 130423 18 / 25

slide-41
SLIDE 41

B¨ uchi Automaton for LTL Formula By Example

Example (B¨ uchi automaton for formula r over P = {r, s}) A B¨ uchi automaton B accepting exactly those runs σ satisfying r

B¨ uchi Automata: TMV027/DIT321 /GU 130423 19 / 25

slide-42
SLIDE 42

B¨ uchi Automaton for LTL Formula By Example

Example (B¨ uchi automaton for formula r over P = {r, s}) A B¨ uchi automaton B accepting exactly those runs σ satisfying r start {r},{r, s} Σ In the first state s0 (of σ) at least r must hold, the rest is arbitrary

B¨ uchi Automata: TMV027/DIT321 /GU 130423 19 / 25

slide-43
SLIDE 43

B¨ uchi Automaton for LTL Formula By Example

Example (B¨ uchi automaton for formula r over P = {r, s}) A B¨ uchi automaton B accepting exactly those runs σ satisfying r start {r},{r, s} Σ In the first state s0 (of σ) at least r must hold, the rest is arbitrary Example (B¨ uchi automaton for formula r over P = {r, s})

B¨ uchi Automata: TMV027/DIT321 /GU 130423 19 / 25

slide-44
SLIDE 44

B¨ uchi Automaton for LTL Formula By Example

Example (B¨ uchi automaton for formula r over P = {r, s}) A B¨ uchi automaton B accepting exactly those runs σ satisfying r start {r},{r, s} Σ In the first state s0 (of σ) at least r must hold, the rest is arbitrary Example (B¨ uchi automaton for formula r over P = {r, s}) start {r},{r, s} In all states s (of σ) at least r must hold

B¨ uchi Automata: TMV027/DIT321 /GU 130423 19 / 25

slide-45
SLIDE 45

B¨ uchi Automaton for LTL Formula By Example

Example (B¨ uchi automaton for formula r over P = {r, s}) A B¨ uchi automaton B accepting exactly those runs σ satisfying r start {r},{r, s} Σ In the first state s0 (of σ) at least r must hold, the rest is arbitrary Example (B¨ uchi automaton for formula r over P = {r, s}) start Σr Σr := {I|I ∈ Σ, r ∈ I} In all states s (of σ) at least r must hold

B¨ uchi Automata: TMV027/DIT321 /GU 130423 19 / 25

slide-46
SLIDE 46

B¨ uchi Automaton for LTL Formula By Example

Example (B¨ uchi automaton for formula ♦r over P = {r, s}) start

B¨ uchi Automata: TMV027/DIT321 /GU 130423 20 / 25

slide-47
SLIDE 47

B¨ uchi Automaton for LTL Formula By Example

Example (B¨ uchi automaton for formula ♦r over P = {r, s}) start Σ {r},{r, s} {r},{r, s}

B¨ uchi Automata: TMV027/DIT321 /GU 130423 20 / 25

slide-48
SLIDE 48

Model Checking

Check whether a formula is valid in all runs of a transition system Given a transition system T (e.g., derived from a Promela program) Verification task: is the LTL formula φ satisfied in all runs of T , i.e., T | = φ ?

B¨ uchi Automata: TMV027/DIT321 /GU 130423 21 / 25

slide-49
SLIDE 49

Model Checking

Check whether a formula is valid in all runs of a transition system Given a transition system T (e.g., derived from a Promela program) Verification task: is the LTL formula φ satisfied in all runs of T , i.e., T | = φ ? In the following: Basic principle behind Spin model checking

B¨ uchi Automata: TMV027/DIT321 /GU 130423 21 / 25

slide-50
SLIDE 50

Spin Model Checking—Overview

T | = φ ?

  • 1. Represent transition system T as B¨

uchi automaton BT such that BT accepts exactly those words corresponding to runs through T

B¨ uchi Automata: TMV027/DIT321 /GU 130423 22 / 25

slide-51
SLIDE 51

Spin Model Checking—Overview

T | = φ ?

  • 1. Represent transition system T as B¨

uchi automaton BT such that BT accepts exactly those words corresponding to runs through T

  • 2. Construct B¨

uchi automaton B¬φ for negation of formula φ

B¨ uchi Automata: TMV027/DIT321 /GU 130423 22 / 25

slide-52
SLIDE 52

Spin Model Checking—Overview

T | = φ ?

  • 1. Represent transition system T as B¨

uchi automaton BT such that BT accepts exactly those words corresponding to runs through T

  • 2. Construct B¨

uchi automaton B¬φ for negation of formula φ

  • 3. If

Lω(BT ) ∩ Lω(B¬φ) = ∅ then φ holds.

B¨ uchi Automata: TMV027/DIT321 /GU 130423 22 / 25

slide-53
SLIDE 53

Spin Model Checking—Overview

T | = φ ?

  • 1. Represent transition system T as B¨

uchi automaton BT such that BT accepts exactly those words corresponding to runs through T

  • 2. Construct B¨

uchi automaton B¬φ for negation of formula φ

  • 3. If

Lω(BT ) ∩ Lω(B¬φ) = ∅ then φ holds. If Lω(BT ) ∩ Lω(B¬φ) = ∅ then each element of the set is a counterexample for φ.

B¨ uchi Automata: TMV027/DIT321 /GU 130423 22 / 25

slide-54
SLIDE 54

Spin Model Checking—Overview

T | = φ ?

  • 1. Represent transition system T as B¨

uchi automaton BT such that BT accepts exactly those words corresponding to runs through T

  • 2. Construct B¨

uchi automaton B¬φ for negation of formula φ

  • 3. If

Lω(BT ) ∩ Lω(B¬φ) = ∅ then φ holds. If Lω(BT ) ∩ Lω(B¬φ) = ∅ then each element of the set is a counterexample for φ. To check Lω(BT ) ∩ Lω(B¬φ) construct intersection automaton and search for cycle through accepting state

B¨ uchi Automata: TMV027/DIT321 /GU 130423 22 / 25

slide-55
SLIDE 55

Representing a Model as a B¨ uchi Automaton

First Step: Represent transition system T as B¨ uchi automaton BT accepting exactly those words representing a run of T Example

active proctype P () { do :: atomic { !wQ; wP = true }; Pcs = true; atomic { Pcs = false; wP = false }

  • d }

First location skipped and second made atomic just to keep automaton small; similar code for process Q

B¨ uchi Automata: TMV027/DIT321 /GU 130423 23 / 25

slide-56
SLIDE 56

Representing a Model as a B¨ uchi Automaton

First Step: Represent transition system T as B¨ uchi automaton BT accepting exactly those words representing a run of T Example

active proctype P () { do :: atomic { !wQ; wP = true }; Pcs = true; atomic { Pcs = false; wP = false }

  • d }

q0 start q1 q2 q3 q4 {wP} {wP, Pcs} ∅ {wQ} {wQ, Qcs} ∅ First location skipped and second made atomic just to keep automaton small; similar code for process Q

B¨ uchi Automata: TMV027/DIT321 /GU 130423 23 / 25

slide-57
SLIDE 57

Representing a Model as a B¨ uchi Automaton

First Step: Represent transition system T as B¨ uchi automaton BT accepting exactly those words representing a run of T Example

active proctype P () { do :: atomic { !wQ; wP = true }; Pcs = true; atomic { Pcs = false; wP = false }

  • d }

q0 start q1 q2 q3 q4 {wP} {wP, Pcs} ∅ {wQ} {wQ, Qcs} ∅ Which are the accepting locations?

B¨ uchi Automata: TMV027/DIT321 /GU 130423 23 / 25

slide-58
SLIDE 58

Representing a Model as a B¨ uchi Automaton

First Step: Represent transition system T as B¨ uchi automaton BT accepting exactly those words representing a run of T Example

active proctype P () { do :: atomic { !wQ; wP = true }; Pcs = true; atomic { Pcs = false; wP = false }

  • d }

q0 start q1 q2 q3 q4 {wP} {wP, Pcs} ∅ {wQ} {wQ, Qcs} ∅ Which are the accepting locations? All!

B¨ uchi Automata: TMV027/DIT321 /GU 130423 23 / 25

slide-59
SLIDE 59

Representing a Model as a B¨ uchi Automaton

First Step: Represent transition system T as B¨ uchi automaton BT accepting exactly those words representing a run of T Example

active proctype P () { do :: atomic { !wQ; wP = true }; Pcs = true; atomic { Pcs = false; wP = false }

  • d }

q0 start q1 q2 q3 q4 {wP} {wP, Pcs} ∅ {wQ} {wQ, Qcs} ∅ The property we want to check is φ = ¬Pcs (which does not hold)

B¨ uchi Automata: TMV027/DIT321 /GU 130423 23 / 25

slide-60
SLIDE 60

B¨ uchi Automaton B¬φ for ¬φ

Second Step: Construct B¨ uchi Automaton corresponding to negated LTL formula T | = φ holds iff there is no accepting run of T for ¬φ Simplify ¬φ = ¬¬Pcs = ♦Pcs

B¨ uchi Automata: TMV027/DIT321 /GU 130423 24 / 25

slide-61
SLIDE 61

B¨ uchi Automaton B¬φ for ¬φ

Second Step: Construct B¨ uchi Automaton corresponding to negated LTL formula T | = φ holds iff there is no accepting run of T for ¬φ Simplify ¬φ = ¬¬Pcs = ♦Pcs B¨ uchi Automaton B¬φ P = {wP, wQ, Pcs, Qcs}, Σ = 2P qa start qb ΣPcs Σc

Pcs

Σ ΣPcs = {I|I ∈ Σ, Pcs ∈ I}, Σc

Pcs = Σ − ΣPcs

B¨ uchi Automata: TMV027/DIT321 /GU 130423 24 / 25

slide-62
SLIDE 62

Checking for Emptiness of Intersection Automaton

Third Step: Lω(BT ) ∩ Lω(B¬φ) = ∅ ?

B¨ uchi Automata: TMV027/DIT321 /GU 130423 25 / 25

slide-63
SLIDE 63

Checking for Emptiness of Intersection Automaton

Third Step: Lω(BT ) ∩ Lω(B¬φ) = ∅ ? Intersection Automaton 0a start 1a′ 3b′ 0b 1b′ 3b 0b′ 1b 0a′ 2a′ 4a′ {wP} {wP, Pcs} ∅ {wP} {wP, Pcs} ∅ {wP} {wP, Pcs} {wQ} {wQ, Qcs} ∅ {wQ} {wP}

B¨ uchi Automata: TMV027/DIT321 /GU 130423 25 / 25

slide-64
SLIDE 64

Checking for Emptiness of Intersection Automaton

Third Step: Lω(BT ) ∩ Lω(B¬φ) = ∅ Counterexample Intersection Automaton 0a start 1a′ 3b′ 0b 1b′ 3b 0b′ 1b 0a′ 2a′ 4a′ {wP} {wP, Pcs} ∅ {wP} {wP, Pcs} ∅ {wP} {wP, Pcs} {wQ} {wQ, Qcs} ∅ {wQ} {wP}

B¨ uchi Automata: TMV027/DIT321 /GU 130423 25 / 25