+ All Categories
Home > Documents > Translating Linear Temporal Logic into Büchi Automata

Translating Linear Temporal Logic into Büchi Automata

Date post: 19-Mar-2016
Category:
Upload: palani
View: 56 times
Download: 0 times
Share this document with a friend
Description:
Translating Linear Temporal Logic into Büchi Automata. Presented by Choi, Chang-Beom. Overview Linear Temporal Logic Büchi Automata Translating LTL formula into Büchi Automata Local Automaton Eventuality Automaton Model Automata Further Study Reference. Content. Model checking - PowerPoint PPT Presentation
55
Translating Linear Temporal Logic into Büchi Automata Presented by Choi, Chang- Beom
Transcript
Page 1: Translating Linear Temporal Logic into Büchi Automata

Translating Linear Temporal Logic into Büchi

AutomataPresented by Choi, Chang-

Beom

Page 2: Translating Linear Temporal Logic into Büchi Automata

Content• Overview

– Linear Temporal Logic– Büchi Automata

• Translating LTL formula into Büchi Automata– Local Automaton– Eventuality Automaton– Model Automata

• Further Study

• ReferenceTranslating LTL into Büchi Automata, Chang-Beom Choi, Provable Software Lab,

KAIST 2/42

Page 3: Translating Linear Temporal Logic into Büchi Automata

Overview

Translating LTL into Büchi Automata, Chang-Beom Choi, Provable Software Lab, KAIST 3/42

• Model checking– Specify requirement properties and build system model– Generate possible states from the model and then check

whether given requirement properties are satisfied within the state space

OK

Error TraceFound

or

TargetProgram

RequirementProperties

Model Check

Page 4: Translating Linear Temporal Logic into Büchi Automata

Overview• A process of Model Checking–Modeling• Build a model of program or system

– Specification• Describe requirement properties

– Verification• Checking that a model of the program or

system satisfies a given specification

Translating LTL into Büchi Automata, Chang-Beom Choi, Provable Software Lab,

KAIST 4/42

Page 5: Translating Linear Temporal Logic into Büchi Automata

Overview• How can we model check of a program or

system?– Modeling

• Build a Büchi automaton for a given program or system

– Specification• Describe requirement properties using Temporal

Logic– Verification

• Automatically (semi-automatic)

Translating LTL into Büchi Automata, Chang-Beom Choi, Provable Software Lab, KAIST 5/42

Page 6: Translating Linear Temporal Logic into Büchi Automata

Model Checker

OverviewProcess of Model Checking

Translating LTL into Büchi Automata, Chang-Beom Choi, Provable Software Lab, KAIST 6/42

Target Program Requirement

Properties

Page 7: Translating Linear Temporal Logic into Büchi Automata

OverviewLinear Temporal Logic

• LTL is an extension of propositional logic geared to reasoning about infinite sequences of states– Time is viewed as linear

• Each time instant has a unique successor– The sequences considered are isomorphic to the natural

numbers and each state is a propositional interpretation

Translating LTL into Büchi Automata, Chang-Beom Choi, Provable Software Lab, KAIST 7/42

The living being always, eventually breathe.

Time0 105 …

Page 8: Translating Linear Temporal Logic into Büchi Automata

OverviewSyntax of Linear Temporal Logic

• The formulas of linear temporal logic built from a set of atomic propositions P are following– true, false, p, and ¬p, ∀ p ∈P;– φ1 ∧ φ2, and φ1∨ φ2 are LTL formulas;– ○ φ1, φ1 U φ2, and φ1 Ũ φ2 are LTL formulas

• Sequence σ = σ[0…] = σ0σ[1…] – σ[i] = si– σ[…i] = s0s1…si– σ[i…] = sisi+1…

– The definition of sequence is from “Recognizing Safety and Livness, B. Alpern, F. Schneider”

Translating LTL into Büchi Automata, Chang-Beom Choi, Provable Software Lab, KAIST 8/42

Page 9: Translating Linear Temporal Logic into Büchi Automata

OverviewTemporal Operators

• Operator ○ – Reads : “next” – Means : at next state

• Operator U– Reads : “strong until”– Means : second argument holds at the current or a future

position, and first argument has to hold until that position

• Operator Ũ– Reads : “weak until”– Means : first argument be true until its second argument is

true (does not require that the second argument ever become true)

Translating LTL into Büchi Automata, Chang-Beom Choi, Provable Software Lab, KAIST 9/42

Page 10: Translating Linear Temporal Logic into Büchi Automata

OverviewSemantic of Linear Temporal Logic

• DefinitionA transition system M = (S,→,L) is a set of states S endowed with a transition relation → (a binary relation on S), such that every s ∈ S has some s’ ∈ S with s → s’, and a labeling function L :S → P(Atoms)

• Atoms : Atomic Propositions (Atomic description)e.g. : Atoms = {p, q}, P(Atoms)={{}, {p}, {q}, {p, q}}

• L(s) : contains all atoms which are true in state se.g. : L(s0) = {p, q}, L(s1) = {q, r}, L(s2) = {r}

Translating LTL into Büchi Automata, Chang-Beom Choi, Provable Software Lab, KAIST 10/42

p, qq, r r

s0

s1 s2

Page 11: Translating Linear Temporal Logic into Büchi Automata

• Definition– A path in a model M = (S,→,L) is an

infinite sequence of sate s1, s2, s3, … in S such that, for each i > 1, si → si+1. We write the path π as s1 → s2 → …

• π ≡ σ = σ[0…] = σ[0]σ[1…]

Translating LTL into Büchi Automata, Chang-Beom Choi, Provable Software Lab, KAIST 11/42

OverviewSemantic of Linear Temporal Logic

Page 12: Translating Linear Temporal Logic into Büchi Automata

• Operator U– Reads : “strong until”– Means : second argument holds at the current or a

future position, and first argument has to hold until that position

Translating LTL into Büchi Automata, Chang-Beom Choi, Provable Software Lab, KAIST 12/42

σ[1…] ⊨ p, σ[1…] ⊭ q, σ[1…] ⊨ p U qσ[2…] ⊨ p, σ[2...] ⊭ q, σ[2…] ⊨ p U qσ[3…] ⊭ p, σ[3…] ⊨ q, σ[3…] ⊨ p U qσ[4…] ⊭ p, σ[4…] ⊨ q, σ[4...] ⊨ p U qσ[5...] ⊭ p, σ[5...] ⊭ q, σ[5...] ⊭ p U q

OverviewSemantic of Linear Temporal Logic

Page 13: Translating Linear Temporal Logic into Büchi Automata

• Operator Ũ– Reads : “weak until”– Means : first argument be true until its second argument

is true (does not require that the second argument ever become true)

Translating LTL into Büchi Automata, Chang-Beom Choi, Provable Software Lab, KAIST 13/42

p

q

p Ũ q0 1 2 3 4 5 6 7 …

σ[1…] ⊨ p, σ[1…] ⊭ q, σ[1…] ⊨ p U qσ[2…] ⊨ p, σ[2…] ⊭ q, σ[2…] ⊨ p U qσ[3…] ⊨ p, σ[3…] ⊭ q, σ[3…] ⊨ p U qσ[4…] ⊨ p, σ[4…] ⊭ q, σ[4…] ⊨ p U qσ[5…] ⊨ p, σ[5…] ⊭ q, σ[5…] ⊨ p U q

OverviewSemantic of Linear Temporal Logic

Page 14: Translating Linear Temporal Logic into Büchi Automata

• ㅁ φ – always– φ Ũ false– Requires that its argument be true always– At all future points

• ⋄φ– eventually– true U φ– Requires that its argument be true eventually– At some point in the future

Translating LTL into Büchi Automata, Chang-Beom Choi, Provable Software Lab, KAIST 14/42

OverviewSemantic of Linear Temporal Logic

Page 15: Translating Linear Temporal Logic into Büchi Automata

OverviewSemantic of Linear Temporal Logic

• For all, we have σ ⊨ true and σ ⊭ false• For σ ⊨ p for p ∈ P iff p ∈ L(σ[0]) = L(s0)• For σ ⊨ ¬p for p ∈ P iff p ∉ L(σ[0])• σ ⊨ φ1 ∧ φ2, iff σ ⊨ φ1 and σ ⊨ φ2

• σ ⊨ φ1∨ φ2 , iff σ ⊨ φ1 or σ ⊨ φ2

Translating LTL into Büchi Automata, Chang-Beom Choi, Provable Software Lab, KAIST 15/42

Page 16: Translating Linear Temporal Logic into Büchi Automata

OverviewSemantic of Linear Temporal Logic: Temporal logic• σ ⊨ ○ φ1, iff σ[1] ⊨ φ1

– σ[0…] ⊨ ○ φ1, iff σ[1] ⊨ φ1

• σ[i…] ⊨ φ1 Ũ φ2 iff σ[i] ⊨ φ2 ∨ (σ[i] ⊨ φ1 ∧ σ[i+1…] ⊨ φ1 Ũ φ2)• σ[i…] ⊨ φ1 U φ2 iff σ[i…] ⊨ φ1 Ũ φ2 ∧ ∃j, j≥ i, σ[j] ⊨ φ2

• ㅁ φ = ¬ ⋄¬ φ

Translating LTL into Büchi Automata, Chang-Beom Choi, Provable Software Lab, KAIST 16/42

Page 17: Translating Linear Temporal Logic into Büchi Automata

Content• Overview

– Linear Temporal Logic– Büchi Automata

• Translating LTL formula into Büchi Automata– Local Automaton– Eventuality Automaton– Model Automata

• Further Study

• ReferenceTranslating LTL into Büchi Automata, Chang-Beom Choi, Provable Software Lab,

KAIST 17/42

Page 18: Translating Linear Temporal Logic into Büchi Automata

OverviewBüchi Automata

• Büchi Automata – Automata which accepts infinite word

• Büchi Automata m accepts the sequences of program states that are in L(m)

Translating LTL into Büchi Automata, Chang-Beom Choi, Provable Software Lab, KAIST 18/42

Page 19: Translating Linear Temporal Logic into Büchi Automata

OverviewBüchi Automata

• Definition– A = (Σ, S, S0, ρ, F)

Σ: alphabet (set of program states)S : set of automaton statesS0 : set of initial stateρ : a transition function (S xΣx S) F : a set of accepting states

Translating LTL into Büchi Automata, Chang-Beom Choi, Provable Software Lab, KAIST 19/42

Page 20: Translating Linear Temporal Logic into Büchi Automata

– A = (Σ, S, S0, ρ, F)– The input of A is infinite w : a0, a1, … (∈ Σω)

– A run is a sequence of states r: s0,s1, … (∈ Sω)• Initiation: s0 ∈ S0

• Consecution : si+1∈ρ(si, ai)

– Accepting run (r = s0,s1, … )• There is some state s ∈ F• An infinite number of integers i ∈ N such that si = s

Translating LTL into Büchi Automata, Chang-Beom Choi, Provable Software Lab, KAIST 20/42

OverviewBüchi Automata

Page 21: Translating Linear Temporal Logic into Büchi Automata

OverviewBüchi Automata

Translating LTL into Büchi Automata, Chang-Beom Choi, Provable Software Lab, KAIST 21/42

• S = {q0, q1}• S0 = {q0}• ρ = {(q0,true, q0), (q0, P, q1), (q1,true, q1)• F = {q1}

run : q0, q1, q1, q1, …

Page 22: Translating Linear Temporal Logic into Büchi Automata

Content• Overview

– Linear Temporal Logic– Büchi Automata

• Translating LTL formula into Büchi Automata– Local Automaton– Eventuality Automaton– Model Automata

• Conclusion and Further Study

• ReferenceTranslating LTL into Büchi Automata, Chang-Beom Choi, Provable Software Lab,

KAIST 22/42

Page 23: Translating Linear Temporal Logic into Büchi Automata

Translating LTL formula into Büchi Automata

Process of translating LTL into Büchi Automata• Create Local Automaton

– Checks that the sequence satisfies all conditions imposed by the formula

– It checks conditions a step by step check on the sequence

• Create Eventuality Automaton– Checks that the eventualities are realized

• The problem is that nothing prevents us from postponing forever the time at which (eventuality) formula will be true

• Eventualities : formulas of the form ⋄φ and φ1 U φ2– ㅁ φ ≡ (φ ∧ ○ ㅁ φ)– ⋄φ ≡ (φ ∨ ○ ⋄ φ)– ¬(φ1 Ũ φ2 )≡ (¬φ1 ∧¬φ2 ∨ (¬φ1 ∧○¬(φ1 Ũ φ2)))

– Determine which eventualities have to be realized

• Compose two automaton

Translating LTL into Büchi Automata, Chang-Beom Choi, Provable Software Lab, KAIST 23/42

Page 24: Translating Linear Temporal Logic into Büchi Automata

Translating LTL formula into Büchi Automata

Local Automaton• Closure cl()– Smallest set of formulas satisfying the following

conditions• φ ∈ cl(φ)• φ1 ∧ φ2∈ cl(φ) ⇒ φ1 , φ2 ∈ cl(φ)• φ1 ∨ φ2 ∈ cl(φ) ⇒ φ1 , φ2 ∈ cl(φ)• φ1 → φ2 ∈ cl(φ) ⇒ φ1 , φ2 ∈ cl(φ)• ¬ φ1 ∈ cl(φ) ⇒ φ1 ∈ cl(φ)• φ1 ∈ cl(φ) ⇒ ¬ φ1 ∈ cl(φ)• ○ φ1 ∈ cl(φ) ⇒ φ1 ∈ cl(φ)• ㅁ φ1 ∈ cl(φ) ⇒ φ1 ∈ cl(φ)• ⋄ φ1 ∈ cl(φ) ⇒ φ1 ∈ cl(φ)• φ1 Ũ φ2 ∈ cl(φ) ⇒ φ1 , φ2 ∈ cl(φ)

Translating LTL into Büchi Automata, Chang-Beom Choi, Provable Software Lab, KAIST 24/42

Page 25: Translating Linear Temporal Logic into Büchi Automata

Translating LTL formula into Büchi Automata

Local Automaton• L = (∑, NL, ρL, Nφ, NL)– ∑ : ∑ ⊂ 2cl(φ)

– s ∈ ∑, for every f ∈ cl(φ), f ∈ s iff ¬f ∉ s

– NL includes all subsets s of cl(φ) that are propositionally consistent. • For every φ1 ∈ cl(φ), we have φ1 ∈ s iff ¬φ1 ∉ s • For every φ1 ∧ φ2 ∈ cl(φ), we have φ1 ∧ φ2 ∈ s iff

φ1 ∈ s and φ2 ∈ s • For every φ1 ∨ φ2 ∈ cl(φ), we have φ1 ∧ φ2 ∈ s iff

φ1 ∈ s or φ2 ∈ s• For every φ1 → φ2 ∈ cl(φ), we have φ1 ∧ φ2 ∈ s iff

¬ φ1 ∈ s or φ2 ∈ sTranslating LTL into Büchi Automata, Chang-Beom Choi, Provable Software Lab,

KAIST 25/42

Page 26: Translating Linear Temporal Logic into Büchi Automata

Translating LTL formula into Büchi Automata

Local Automaton• L = (∑, NL, ρL, Nφ, NL)

– If ρL(s, a) is non-empty then a = s• Symbol being read is compatible with the state of the

automaton

– ρL(s, a) must check the next state is compatible with the semantics of the temporal operators ( t ∈ ρL(s, a)) • ∀○φ1 ∈ cl(φ), we have ○φ1 ∈ s iff φ1 ∈ t• ∀ ㅁ φ1 ∈ cl(φ) we have ㅁ φ1 ∈ s iff φ1 ∈ s and ㅁ φ1 ∈ t• ∀⋄φ1 ∈ cl(φ) we have ⋄φ1 ∈ s iff either φ1 ∈ s, or ⋄φ1 ∈ t• ∀φ1 Ũ φ2 ∈ cl(φ) we have φ1 U φ2 ∈ s iff either φ2 ∈ s, or φ1 ∈ s and φ1 Ũ φ2 ∈ t• ∀φ1 U φ2 ∈ cl(φ) we have φ1 U φ2 ∈ s iff either φ1 ⋀ φ2 ∈ s,

or φ2 ∈ s or φ1 U φ2 ∈ t

Translating LTL into Büchi Automata, Chang-Beom Choi, Provable Software Lab, KAIST 26/42

Page 27: Translating Linear Temporal Logic into Büchi Automata

• L = (∑, NL, ρL, Nφ, NL)– The set Nφ of initial states is the set of

states that include the formula

– The set NL of accpeting states is , the set of all states

Translating LTL into Büchi Automata, Chang-Beom Choi, Provable Software Lab, KAIST 27/42

Translating LTL formula into Büchi Automata

Local Automaton

Page 28: Translating Linear Temporal Logic into Büchi Automata

ExampleLocal Automaton : ⋄p

• Closure of ⋄p– cl(⋄p) = {⋄p, p, true,¬ ⋄p, ¬p, false}

• NL= {{⋄p, p, true}, {⋄p, p, false}, {¬ ⋄p, p, true}, {¬ ⋄p, p, false}, {⋄p, ¬p, true}, {⋄p, ¬p, false}, {¬ ⋄p, ¬p, true}, {¬ ⋄p, ¬p,

false}}

Translating LTL into Büchi Automata, Chang-Beom Choi, Provable Software Lab, KAIST 28/42

Page 29: Translating Linear Temporal Logic into Büchi Automata

Translating LTL into Büchi Automata, Chang-Beom Choi, Provable Software Lab, KAIST 29/42

ExampleLocal Automaton for ⋄p

{ ⋄p, p, true}

{ ⋄p, p, false}

{¬ ⋄p, p, true}

{¬ ⋄p, p, false}

{ ⋄p, ¬p, true}

{ ⋄p, ¬p, false}

{¬ ⋄p, ¬p, true}

{¬ ⋄p, ¬p, false}

σ ⊭ false

Page 30: Translating Linear Temporal Logic into Büchi Automata

Translating LTL into Büchi Automata, Chang-Beom Choi, Provable Software Lab, KAIST 30/42

ExampleLocal Automaton for ⋄p (some optimization)

{ ⋄p, p}

{¬ ⋄p, p}

{ ⋄p, ¬p}

{¬ ⋄p, ¬p}

cl(⋄p) = {⋄p, p, ¬ ⋄p, ¬p}NL= {{⋄p, p}, {¬ ⋄p, p}, {⋄p, ¬p}, {¬ ⋄p, ¬p}}

Page 31: Translating Linear Temporal Logic into Büchi Automata

• Eventuality automaton is supposed to check that the eventualities are realized– Check each time a formula of the form (or φ1 U φ2)

• ⋄φ ≡ (φ ∨ ○ ⋄ φ)• ¬(φ1 Ũ φ2) ≡ (¬φ1∧¬φ2)∨ (¬φ2 ∧ ○¬(φ1 Ũ φ2))

– Eventuality automaton starts by finding out which eventualities have to be realized at the initial time instant, then it checks that these are realized

Translating LTL into Büchi Automata, Chang-Beom Choi, Provable Software Lab, KAIST 31/42

Translating LTL formula into Büchi Automata

Eventuality Automaton

Page 32: Translating Linear Temporal Logic into Büchi Automata

• F = (∑, 2ev(φ), ρF, {{}}, {{}})– ∑ : ∑ ⊂ 2cl(φ)

– s ∈ ∑, for every f ∈ cl(φ), f ∈ s iff ¬f ∉ s

– The set 2ev(φ) of states is the set of subsets of the eventualities of the formula φ(a state {e1, …, ek} means that the eventualities e1, …, ek still have to be realized)

Translating LTL into Büchi Automata, Chang-Beom Choi, Provable Software Lab, KAIST 32/42

Translating LTL formula into Büchi Automata

Eventuality Automaton

Page 33: Translating Linear Temporal Logic into Büchi Automata

• F = (∑, 2ev(φ), ρF, {{}}, {{}})– ρF(s,a), t ∈ ρF(s,a)

• s = {}– ∀ ⋄φ ∈ a, one has ⋄φ ∈ t iff φ ∉ a– ∀ ¬(φ1 Ũ φ2 ) ∈ a, one has ¬(φ1 Ũ φ2 ) ∈ t iff ¬φ1∧¬φ2∉ a

• s ≠ {}– ∀ ⋄φ ∈ s, one has ⋄φ ∈ t iff φ ∉ a– ∀ ¬(φ1 Ũ φ2 )∈ s, one has ¬(φ1 Ũ φ2 ) ∈ t iff ¬φ1∧¬φ2 ∉ a

• Initial state : {}• Finial state : {}

Translating LTL into Büchi Automata, Chang-Beom Choi, Provable Software Lab, KAIST 33/42

Translating LTL formula into Büchi Automata

Eventuality Automaton

Page 34: Translating Linear Temporal Logic into Büchi Automata

ExampleEventuality automaton

Translating LTL into Büchi Automata, Chang-Beom Choi, Provable Software Lab, KAIST 34/42

⋄p{}

{ ⋄p, p}

{¬ ⋄p, p}{¬ ⋄p, ¬p}

{ ⋄p, ¬p}

{ ⋄p, p}{¬ ⋄p, p}

{¬ ⋄p, ¬p}{ ⋄p, ¬p}

Page 35: Translating Linear Temporal Logic into Büchi Automata

• M = (∑, NM, ρM ,NM0, FM)– NM = NL X 2ev(φ) (Cartesian Product)– (p, q) ∈ ρM((s, t), a) iff

p ∈ ρL(s, a) and q ∈ ρF(t, a) – NM0 = Nφ X {}– FM = NL X {}

• Given two Büchi automata A1 = (∑, S1, ρ1, S01, F1) and A2 = (∑, S2, ρ2, S02, F2), it is possible to build a Büchi automaton accepting the language L(A1) ∩ L(A2)

Translating LTL into Büchi Automata, Chang-Beom Choi, Provable Software Lab, KAIST 35/42

Translating LTL formula into Büchi Automata

Composing the two automata

Page 36: Translating Linear Temporal Logic into Büchi Automata

Example Composing the two automata

Translating LTL into Büchi Automata, Chang-Beom Choi, Provable Software Lab, KAIST 36/42

({⋄p, p}, ⋄p)

({⋄p, ¬p} , ⋄p)

({¬ ⋄p, ¬p} , ⋄p) ({¬ ⋄p, p}, ⋄p)

({⋄p, p}, {})

({⋄p, ¬p} , {})

({¬ ⋄p, ¬p} , {})

({¬ ⋄p, p}, {})

Page 37: Translating Linear Temporal Logic into Büchi Automata

• M = (∑, NM, ρM ,NM0, FM) ⇓

• M’ = (2P, NM, ρM’ ,NM0, FM) – t ∈ ρM’(s, a) iff some b ∈ ∑ such that a =

b∩P and t ∈ ρM(s, b)

Translating LTL into Büchi Automata, Chang-Beom Choi, Provable Software Lab, KAIST 37/42

Translating LTL formula into Büchi Automata

The automaton on the 2P

Page 38: Translating Linear Temporal Logic into Büchi Automata

Final automaton for ⋄p

Translating LTL into Büchi Automata, Chang-Beom Choi, Provable Software Lab, KAIST 38/42

¬pp

¬p

¬pp

true

Page 39: Translating Linear Temporal Logic into Büchi Automata

Content• Overview

– Linear Temporal Logic– Büchi Automata

• Translating LTL formula into Büchi Automata– Local Automaton– Eventuality Automaton– Model Automata

• Conclusion and Further Study

• ReferenceTranslating LTL into Büchi Automata, Chang-Beom Choi, Provable Software Lab,

KAIST 39/42

Page 40: Translating Linear Temporal Logic into Büchi Automata

Conclusion• # of States– Local Automaton : 2cl(φ) = O(22|φ|)– Eventuality Automaton : 2ev(φ) = O(2|φ|)– Composed Automata : 2cl(φ) X 2ev(φ) =

O(23|φ|)

– |φ| is length of formula φ

Translating LTL into Büchi Automata, Chang-Beom Choi, Provable Software Lab, KAIST 40/42

Page 41: Translating Linear Temporal Logic into Büchi Automata

Further Study• Translate LTL to Büchi Automata

– Using Alternating Büchi Automata– Tableau Method– On the fly method

• Next Topic?– On-line Algorithm– More specific research on Interactive Systems– Symbolic graph representation: Ordered Binary Decision

Diagram

Translating LTL into Büchi Automata, Chang-Beom Choi, Provable Software Lab, KAIST 41/42

Page 42: Translating Linear Temporal Logic into Büchi Automata

Reference• On the Relation of Programs and Computations to

Models of Temporal Logic by Pierre Wolper, In Proc. Temporal Logic in Specification, vol. 398 of LNCS, pages 75-123. Springer-Verlag, 1989.

• Constructing Automata from Temporal Logic Formulas: A Tutorial by Pierre Wolper In Lectures on Formal Methods in Performance Analysis, vol. 2090 of LNCS, pages 261-277. Springer-Verlag, July 2001.

• From Modal Logic to Deductive Databasesby A. Thayse et al., Wiley, 1989

• Logic in Computer Science, second editionby M. Huth and M. Ryan, Cambridge press

Translating LTL into Büchi Automata, Chang-Beom Choi, Provable Software Lab, KAIST 42/42

Page 43: Translating Linear Temporal Logic into Büchi Automata

Complicated Example• Closure of φ = ㅁ⋄ p

– cl(φ) = { ㅁ⋄ p, ¬ ㅁ⋄ p, ⋄p, ¬⋄p, p, ¬p}

• NL= {{ ㅁ⋄ p, ⋄p, p}, {¬ ㅁ⋄ p, ⋄p, p}, { ㅁ⋄ p, ¬ ⋄p, p}, { ㅁ⋄ p, ⋄p, ¬ p }, {¬ ㅁ⋄ p, ¬ ⋄p, p}, {¬ ㅁ⋄ p, ⋄p, ¬p}, { ㅁ⋄ p, ¬ ⋄p, ¬p}, {¬ ㅁ⋄ p, ¬ ⋄p, ¬p}}

= {{ ㅁ⋄ p, ⋄p, p}, {⋄¬ ⋄p, ⋄p, p}, { ㅁ⋄ p, ¬ ⋄p, p}, { ㅁ⋄ p, ⋄p, ¬ p }, {⋄¬ ⋄p, ¬ ⋄p, p}, {⋄¬ ⋄p, ⋄p, ¬p}, { ㅁ⋄ p, ¬ ⋄p, ¬p}, {⋄¬ ⋄p, ¬ ⋄p, ¬p}}

Translating LTL into Büchi Automata, Chang-Beom Choi, Provable Software Lab, KAIST 43/42

Page 44: Translating Linear Temporal Logic into Büchi Automata

Translating LTL into Büchi Automata, Chang-Beom Choi, Provable Software Lab, KAIST 44/42

Local Automaton

{ ㅁ⋄ p, ⋄p} { ⋄¬ ⋄p, ⋄p}

{ ㅁ⋄ p, ¬ ⋄p} { ㅁ⋄ p, ⋄p}

{ ⋄¬ ⋄p, ¬ ⋄p} { ⋄¬ ⋄p, ⋄p}

{ ㅁ⋄ p, ¬ ⋄p} { ⋄¬ ⋄p, ¬ ⋄p}

Page 45: Translating Linear Temporal Logic into Büchi Automata

Translating LTL into Büchi Automata, Chang-Beom Choi, Provable Software Lab, KAIST 45/42

Local Automaton

{ ⋄p, p} { ⋄p, p}

{¬ ⋄p, p} { ⋄p, ¬p}

{¬ ⋄p, p} { ⋄p, ¬p}

{¬ ⋄p, ¬p} {¬ ⋄p, ¬p}

Page 46: Translating Linear Temporal Logic into Büchi Automata

Translating LTL into Büchi Automata, Chang-Beom Choi, Provable Software Lab, KAIST 46/42

{ ㅁ⋄ p, ⋄p, p} { ⋄¬ ⋄p, ⋄p, p}

{ ㅁ⋄ p, ¬ ⋄p, p} { ㅁ⋄ p, ⋄p, ¬ p }

{ ⋄¬ ⋄p, ¬ ⋄p, p} { ⋄¬ ⋄p, ⋄p, ¬p}

{ ㅁ⋄ p, ¬ ⋄p, ¬p} { ⋄¬ ⋄p, ¬ ⋄p, ¬p}

Local Automaton

Page 47: Translating Linear Temporal Logic into Büchi Automata

Local Automaton

Translating LTL into Büchi Automata, Chang-Beom Choi, Provable Software Lab, KAIST 47/42

{ ㅁ⋄ p, ⋄p} { ⋄¬ ⋄p, ⋄p}

{ ㅁ⋄ p, ¬ ⋄p} { ㅁ⋄ p, ⋄p}

{ ⋄¬ ⋄p, ¬ ⋄p} { ⋄¬ ⋄p, ⋄p}

{ ㅁ⋄ p, ¬ ⋄p} { ⋄¬ ⋄p, ¬ ⋄p}

Page 48: Translating Linear Temporal Logic into Büchi Automata

Translating LTL into Büchi Automata, Chang-Beom Choi, Provable Software Lab, KAIST 48/42

{ ⋄p, p} { ⋄p, p}

{¬ ⋄p, p} { ⋄p, ¬p}

{¬ ⋄p, p} { ⋄p, ¬p}

{¬ ⋄p, ¬p} {¬ ⋄p, ¬p}

Local Automaton

Page 49: Translating Linear Temporal Logic into Büchi Automata

Translating LTL into Büchi Automata, Chang-Beom Choi, Provable Software Lab, KAIST 49/42

Local Automaton

{ ㅁ⋄ p, ⋄p, p} { ⋄¬ ⋄p, ⋄p, p}

{ ㅁ⋄ p, ¬ ⋄p, p} { ㅁ⋄ p, ⋄p, ¬ p }

{ ⋄¬ ⋄p, ¬ ⋄p, p} { ⋄¬ ⋄p, ⋄p, ¬p}

{ ㅁ⋄ p, ¬ ⋄p, ¬p} { ⋄¬ ⋄p, ¬ ⋄p, ¬p}

Page 50: Translating Linear Temporal Logic into Büchi Automata

Eventuality Automaton• ev(φ) = {⋄¬ ⋄p, ⋄p}• 2ev(φ) = {{}, {⋄¬ ⋄p}, {⋄p},

{ ⋄¬ ⋄p,⋄p} = {{¬ ⋄¬ ⋄p, ¬ ⋄p}, {⋄¬ ⋄p,

¬ ⋄p},{¬ ⋄¬ ⋄p, ⋄p}, {⋄¬ ⋄p, ⋄p}}

Translating LTL into Büchi Automata, Chang-Beom Choi, Provable Software Lab, KAIST 50/42

Page 51: Translating Linear Temporal Logic into Büchi Automata

Translating LTL into Büchi Automata, Chang-Beom Choi, Provable Software Lab, KAIST 51/42

{}

⋄p

Eventuality Automaton

⋄¬ ⋄p

⋄¬ ⋄p⋄p,

{¬ ⋄¬ ⋄p, ¬ ⋄p, p}{¬ ⋄¬ ⋄p, ¬ ⋄p, ¬p}

{ ⋄¬ ⋄p, ¬ ⋄p, ¬p}

{ ⋄¬ ⋄p, ¬ ⋄p, p}

{ ⋄¬ ⋄p, ⋄p, ¬p}

{¬ ⋄¬ ⋄p, ⋄p, ¬ p }

{ ⋄¬ ⋄p, ⋄p, p}

{¬ ⋄¬ ⋄p, ⋄p, p}

Page 52: Translating Linear Temporal Logic into Büchi Automata

Translating LTL into Büchi Automata, Chang-Beom Choi, Provable Software Lab, KAIST 52/42

{}

⋄p

Eventuality Automaton

⋄¬ ⋄p

⋄¬ ⋄p⋄p,

{¬ ⋄¬ ⋄p, ¬ ⋄p, p}

{¬ ⋄¬ ⋄p, ¬ ⋄p, ¬p}

{ ⋄¬ ⋄p, ¬ ⋄p, ¬p}

{ ⋄¬ ⋄p, ¬ ⋄p, p}

{ ⋄¬ ⋄p, ⋄p, ¬p}

{¬ ⋄¬ ⋄p, ⋄p, ¬p}

{ ⋄¬ ⋄p, ⋄p, p}

{¬ ⋄¬ ⋄p, ⋄p, p}

Page 53: Translating Linear Temporal Logic into Büchi Automata

Translating LTL into Büchi Automata, Chang-Beom Choi, Provable Software Lab, KAIST 53/42

{}

⋄p

Eventuality Automaton

⋄¬ ⋄p

⋄¬ ⋄p⋄p,

{¬ ⋄¬ ⋄p, ¬ ⋄p, p}

{¬ ⋄¬ ⋄p, ¬ ⋄p, ¬p}{ ⋄¬ ⋄p, ¬ ⋄p, ¬p}

{ ⋄¬ ⋄p, ¬ ⋄p, p}

{ ⋄¬ ⋄p, ⋄p, ¬p}

{¬ ⋄¬ ⋄p, ⋄p, ¬p}

{ ⋄¬ ⋄p, ⋄p, p}{¬ ⋄¬ ⋄p, ⋄p, p}

Page 54: Translating Linear Temporal Logic into Büchi Automata

Translating LTL into Büchi Automata, Chang-Beom Choi, Provable Software Lab, KAIST 54/42

{}

⋄p

Eventuality Automaton

⋄¬ ⋄p

⋄¬ ⋄p⋄p,

{¬ ⋄¬ ⋄p, ¬ ⋄p, p}

{¬ ⋄¬ ⋄p, ¬ ⋄p, ¬p}

{ ⋄¬ ⋄p, ¬ ⋄p, ¬p}

{ ⋄¬ ⋄p, ¬ ⋄p, p}

{ ⋄¬ ⋄p, ⋄p, ¬p}{¬ ⋄¬ ⋄p, ⋄p, ¬p}

{ ⋄¬ ⋄p, ⋄p, p}{¬ ⋄¬ ⋄p, ⋄p, p}

Page 55: Translating Linear Temporal Logic into Büchi Automata

Combining Automata

Translating LTL into Büchi Automata, Chang-Beom Choi, Provable Software Lab, KAIST 55/42

⋄¬ ⋄p

⋄¬ ⋄p, ⋄p

⋄p

{}


Recommended