This presentation is the property of its rightful owner.
1 / 17

# Converting LTL to Buchi PowerPoint PPT Presentation

Converting LTL to Buchi. Wishnu Prasetya wishnu@cs.uu.nl www.cs.uu.nl/docs/vakken/pv. Converting LTL to Buchi. Given an LTL formula , construct a Buchi automaton M that accepts the same sentences as .

Converting LTL to Buchi

Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author.While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server.

- - - - - - - - - - - - - - - - - - - - - - - - - - E N D - - - - - - - - - - - - - - - - - - - - - - - - - -

## Converting LTL to Buchi

Wishnu Prasetya

wishnu@cs.uu.nl

www.cs.uu.nl/docs/vakken/pv

### Converting LTL to Buchi

• Given an LTL formula , construct a Buchi automaton M that accepts the same sentences as .

• Recall: “sentence” is a sequence of ‘something’, each is a set of propositions. Sentence = (abstract) execution.

• Steps:

• Construct GNBA

• Convert to NBA

• Optimize

### Idea..

{q}

{p}

{q}

B = {  p , q , Xq }

B = {  p , q , Xq }

B = { p , q , Xq }

To help us, each state s will be labeled with an “observation” B. It is a consistent set of formulas. Any infinite sequence starting from s must satisfy all formulas in B.

The set of candidate “observations” for a given  is finite; and we can figure out how to connect them with arrows.

### Restricting to X/U

• All LTL formulas can be expressed with just X and U.

• Let’s assume that your input formula is expressed in this form of LTL.

<> = true U 

[]  =  ( <>  )

W = []  \/ U

### Closure

• closure() is the set of all

• subformulas of  (incl  itself)

• negations of subformulas

• Example:  = pUq

• Only the value of the formulas in the closure can affect the value of .

closure() = { p, q, p, q, pUq , (pUq) }

### Observation

• Example:  = pUq

• An ‘observation’ B is in principle a subset of the closure, but we want it to be ‘consistent’ and ‘maximal’.

• { p, q, pUq }  OK

• { p, p }  inconsistent

• { p }  not maximal

• We’ll only take consistent observations.

closure() = { p, q, p, q, pUq , (pUq) }

### Consistency of the B’s

• An observation B must be consistent with respect to propositional logic:

• f and f cannot be both in B

• f /\ g  B  f,g  B

• Locally consistent with respect to “until”. For any fUg  closure( ) :

• gB  fUg  B

• fUg  B and gB  f  B

### Maximality

• Every observation B should be maximal

• Ex.

For everyf  closure(), eitherfBor fB.

closure() = { p, q, p, q,

pUq , (pUq) }

 = pUq

{ p , q , (p U q) }

{ p , q , p U q }

{ p , q , (p U q) }

{ p , q , p U q }

8 maximal subsets, 3 are inconsistent.

{p , q , (p U q)}

{p , q , p U q }

{p , q , (p U q) }

{p , q , p U q }

### Constructing the automaton A

• States: observations from closures()

• Initial states: all states that contain 

• Arrows: for any pairs observations B,C add this arrow:B  V  C

• If this arrow is ‘consistent’

• V = the set of propositions in B.

• Acceptance states?

### The arrows

• B  V  C is consistent if :

• Example:

(note the bi-implication!)

• XfB  fC

• fU g  B  gB or fB and fUg  C

{ p , q , p U q }

{ p , q , (p U q) }

{ p , q , p U q }

{p , q , p U q }

{p , q , (p U q) }

### The arrows

• B  V  C is consistent if :

• The bi-implications thus also imply:

• XfB  fC

• fU g  B  gB or fB and fUg  C

•  XfB  fC

•  (fU g )  B  gB and ( fB or  (fUg )  C )

{ p , q , p U q }

{p , q , (p U q) }

{ p , q , p U q }

{ p , q , (p U q) }

{p , q , p U q }

### Enforcing eventuality

• For each fUg closure(), add an accepting group:where Q is the set of states of GNBA of  that we are constructing.(btw = the set of all ‘observations’)

F(fUg) = { B | B Q /\ g B }  { B | B Q /\ fUgB }

{ p , q , p U q }

{p , q , (p U q) }

{ p , q , p U q }

{ p , q , (p U q) }

{p , q , p U q }

### From GNBA to NBA

GNBA with 2x accepting groups.

single accentance group of the new automaton

dashed-red arrows are dropped

### Can we make it deterministic?

• In ordinary automaton, DFA can be converted to an equivalent NDFA (equivalent = generating the same sentences).

• For Buchi?

• NBA is really more powerful than DBA.

a

b

b

b

No deterministic Buchi can generate the sentences of this Buchi

### How big are they?

• NGBA generated by our procedure  |M| = 2||.

• Converting to GBA multiplies the number of states with C+1, where C is the number of U in 

• There are LTL formulas of polynomial size, whose NBA will have at least exponential number of states.