Using Automata to Decide WS1S
Consider a formula of WS1S. Let be a finite set of all variables in . We construct an automaton in the finite alphabet
for such that the following property holds: for every ,
iff
where is an interpretation of WS1S (mapping variables to finite sets) defined by
Instead of we write for short . So, we design automata so that:
The following lemma follows from the definition of semantic evaluation function 'e' and the shorthand .
Lemma: Let denote formulas, . Then
- iff or
- iff
- iff
....... ....... 0 ....... bbbbbbbbbbbbbb ....... ....... 0 ....... _______ w ______________ patch(w,x,b)
Let where and where . Let . Define where such that
We define the automaton by recursion on the structure of formula.
Case :
Case :
Case :
Case :
Example: Use the rules above to compute (and minimize) the automaton for .
Proof of correctness if by induction. For example, for disjunction we have:
- , so by I.H.
- , so by Lemma above,
Existential Quantification
Case :
To maintain the equivalence above, we need that for every word,
iff
Given a deterministic automaton , we can construct a deterministic automaton accepting in two steps:
- take the same initial state
- for each transition introduce transitions for all
- initially set final states as in the original automaton
- if is a final state and is such that for all , and if , then set also to be final
Example 1: Compute automaton for formula . MONA syntax:
var2 Y; ex2 X: ~(X sub Y);
Command to produce dot file:
mona -gw $1 | dot -Tps > output.ps
Example 2: Compute automaton for formula where is interpreted treating as digits of natural numbers. Also compute the automaton for the formula .
Define less-than relation in MONA and encode this example.
References
- MONA tool manual (Chapter 3, page 18)