Exercises 3: wSkS

EX 1: The power of wSkS

  • Finite automata: Reg ⟺ MSO on words ⟺ wS1S ⟺ Presburger arithmetic: +, =

  • Tree automata: Reg on trees ⟺ ℱ(a(2), b(0)), etc…

  • Hedges: at each stage, one can recognize a regular language

1.

The set $X$ has exactly two elements:

∃ \underbrace{x,y∈ X}_{\text{shortcut}}. x ≠ y ∧ (∀z. z∈ X ⟹ z = x ∨ z = y)

2.

The set $X$ contains at least one strings beginning with a 1:

∃x. x∈ X ∧ 1 ≤ x

(or: $∃y, z. y = ε ∧ z = y \cdot 1; z ≤ x$)

3.

$x ≤_{lex} y$ (lexicographic order on $\lbrace 1, ⋯, k \rbrace^\ast$):

∃z. \bigwedge_{1 ≤ i < j ≤ k} zi ≤ x ∧ zj ≤ y \\ ∨ x ≤ y

Ex: $12345 ≤_{lex} 12445$

4.

X ⊨ φ ≝ ∀x. x ∈ X ⟹ φ(x)

$φ$ is satisfied by an infinite number of words:

∀X. X ⊨ φ ⟹ ∃Y. X ⊊ Y ∧ Y ⊨ φ

NB: $X ≝ ∅$ satisfies $φ$

EX 2: The limit of wSkS

Recap:

If $(X, y) ≝ (\lbrace 12, 31 \rbrace, 11)$

  graph {
    rankdir=TB;
    zer1, zer2[label="00"];
    bot1, bot2, bot3, bot4, bot5[label="⊥⊥"];
    zer1 -- zer2, bot1, "0⊥";
  }
L = \lbrace (x, y) \mid x = 1y \rbrace

Let’s show there exists no wSkS formula recognizing $L$.

Idea: Pumping lemma

$x=1, y=11$

  graph {
    rankdir=TB;
    00 -- 10, ⊥⊥;
    10 -- ⊥1
  }

$x=12, y=2$

EX 3: Let’s try to minimize

  • $\sim_0: \lbrace ⊤ \rbrace, \lbrace q_a, q_b, ⊥, q_g, q_f\rbrace$
  • $\sim_1: \lbrace ⊤ \rbrace, \lbrace q_a, ⊥, q_b \rbrace, \lbrace q_g, q_f \rbrace$
  • $\sim_2: \lbrace ⊤ \rbrace, \lbrace q_a \rbrace, \lbrace q_b \rbrace, \lbrace ⊥ \rbrace, \lbrace q_g, q_f \rbrace$

So $q_f$ and $q_g$ can be merged into the same state.

EX 4: To infinity… and beyond!

Rules of the form: $a(R) ⟶ q_a$

  • $Q ≝ \lbrace q_a, q_b, ⊤ \rbrace$
  • $Q_f = \lbrace q_b, ⊤ \rbrace$

$Δ$:

  • $a(ε) ⟶ q_a$
  • $b(ε) ⟶ q_b$
  • $a(⊤^+) ⟶ ⊤$
  • $b(⊤^+) ⟶ ⊤$
  • $b(Q^\ast q_b Q^\ast) ⟶ q_b$
  • $a(Q^\ast q_b Q^\ast) ⟶ ⊤$
  • $a((q_a + ⊤)^\ast q_a (q_a + ⊤)^\ast) ⟶ q_a$
  • $b((q_a + ⊤)^\ast q_a (q_a + ⊤)^\ast) ⟶ q_a$

$q_a$: I have seen an $a$-labelled leaf

$q_b$: I have seen a $b$-labelled branch

Leave a comment