07.01.2013 Views

Lecture Notes in Computer Science 3472

Lecture Notes in Computer Science 3472

Lecture Notes in Computer Science 3472

SHOW MORE
SHOW LESS

You also want an ePaper? Increase the reach of your titles

YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.

• SA ⊆ Σ ∗ is a nonempty f<strong>in</strong>ite prefix-closed set,<br />

• EA ⊆ Σ ∗ is a nonempty f<strong>in</strong>ite suffix-closed set, and<br />

• TA :((SA ∪ SA · Σ) × EA) →{+, −} is a (f<strong>in</strong>ite) function<br />

19 Model Check<strong>in</strong>g 583<br />

satisfy<strong>in</strong>g the property that se = s ′ e ′ implies TA(s, e) =TA(s ′ , e ′ )fors, s ′ ∈<br />

SA ∪ SA · Σ and for all e, e ′ ∈ EA.<br />

The words <strong>in</strong> SA ∪ SA · Σ are called row labels and the words <strong>in</strong> EA are called<br />

column labels. The entries consists of signs (+/−) represent<strong>in</strong>g whether a word<br />

is accept<strong>in</strong>g or not.<br />

The observation table is divided <strong>in</strong>to an upper part and a lower part. The<br />

upper part of the observation table is <strong>in</strong>dexed by row labels <strong>in</strong> SA. Theyplaya<br />

role similar to access str<strong>in</strong>gs <strong>in</strong> the observation pack algorithm, see Section 19.4.1.<br />

The lower part’s row labels are <strong>in</strong>dexed by all str<strong>in</strong>gs of the form sa, a ∈ Σ and<br />

s ∈ SA, unless they already appear <strong>in</strong> the upper part. Moreover the table is<br />

<strong>in</strong>dexed column wise by a suffix-closed set EA of str<strong>in</strong>gs. The suffixes are used<br />

<strong>in</strong> the same fashion as <strong>in</strong> Section 19.4.1, to dist<strong>in</strong>guish a access str<strong>in</strong>g/row from<br />

another. The function TA maps a row label s and a column label e, i.e. TA(s, e),<br />

to the set {+/−}, it is def<strong>in</strong>ed to be + if se ∈ U and − otherwise. (Note that<br />

TA is total.)<br />

A function row(s) for every s ∈ (SA ∪ SA · Σ) denotes the f<strong>in</strong>ite function<br />

f : EA →{+, −} def<strong>in</strong>ed by f (e) =TA(s, e). In other words, row(s) istherow<br />

of entries <strong>in</strong> the observation table for <strong>in</strong>dex s.<br />

It is possible that there exists an entry on a str<strong>in</strong>g <strong>in</strong> several places <strong>in</strong> the<br />

table due to the fact that a str<strong>in</strong>g can be divided <strong>in</strong>to different suffixes and<br />

prefixes, i.e. row and column labels. Of course, these labels have to agree. This<br />

is required by Def<strong>in</strong>ition 19.16.<br />

A dist<strong>in</strong>ct row <strong>in</strong> OT characterizes a state <strong>in</strong> the automaton which can be<br />

constructed from OT . All the row labels to unique rows must be kept <strong>in</strong> SA.<br />

The rows labeled by elements of SA · Σ are used to create the transition function<br />

for the automaton.<br />

To construct a DFA from the observation table it must fulfill two criteria. It<br />

has to be closed and consistent.<br />

Def<strong>in</strong>ition 19.17. An observation table OT is closed if for each s ∈ SA · Σ<br />

there exists an s ′ ∈ SA such that row(s) =row(s ′ ).<br />

Def<strong>in</strong>ition 19.18. An observation table is consistent if whenever row(s) =<br />

row(s ′ )fors, s ′ ∈ SA then row(sa) =row(s ′ a) for all a ∈ Σ.<br />

When the observation table (SA, EA, TA) is closed and consistent it is possible<br />

to construct the correspond<strong>in</strong>g DFA A =(Σ,Q,δ,q0, F ) as follows:<br />

• Q = {row(s) | s ∈ SA},<br />

• q0 = row(ε),<br />

• F = {row(s) | s ∈ SA and TA(s,ε)=+},<br />

• δ(row(s), a) =row(sa).

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!