Obsah

IN-POS 10. Konečné automaty (FA) a logiky nad slovy

Zadání

Vypracování

Logika prvního řádu (FOL) nad slovy

FOL obecně je zpracována v jiné otázce:
http://statnice.dqd.cz/home:inf:ap14

Syntax

x,y,z,... pozice
P_a(x)unární predikát značící, že na pozici x je písmeno a
x < ypozice x je před y
\wedge , ∨ , ¬logické spojky
\forall x, \exists xkvantifikace
+ rovnost x=y

Monadická logika druhého řádu (MSO) nad slovy

Syntax

x,y,z,...pozice
P_a(x)unární predikát značící, že na pozici x je písmeno a
x < ypozice x je před y
\wedge , ∨ , ¬logické spojky
\forall x, \exists xkvantifikace
X,Y,Z,... proměnné druhého řádu (množiny pozic)
x \in X x leží v X
\forall X, \exists X kvantifikace nad množinami pozic

Proměnné ve formuli mohou být:

Sentence

sentence = uzavřená formule = formule bez volných proměnných

Jazyky zadané sentencí MSO

Valuace formulí

Valuace přiřazuje hodnotu volným proměnným.

Vztah FA a formulí MSOL

Regulární jazyky = jazyky definovatelné MSO.

Převod NFA na formuli MSO

NFA A = (Q, q_0, \rightarrow, F) → sentence MSO \phi t.ž. L(A) = L(\phi)

\phi :=

\exists \lbrace X_q | q \in Q \rbrace : ( máme množinu pozic odpovídající stavům původního automatu
\forall x : (
\underset{q \in Q}{\vee} x \in X_q každá pozice odpovídá některému stavu
\wedge \underset{q \neq r \in Q}{\wedge} (x \in X_q \Rightarrow x \notin X_r) každá pozice neodpovídá dvěma různým stavům
)
\wedge \forall x : First(x) \Rightarrow \underset{a \in \Sigma, q_0 \overset{a}{\rightarrow} \-\ q}{\vee} P_a(x) \wedge x \in X_q první prvek odpovídá počátečnímu stavu
\wedge \forall x,y : Succ(x,y) \Rightarrow \underset{a \in \Sigma, q \overset{a}{\rightarrow} \-\ r}{\vee} x \in X_q \wedge P_a(x) \wedge y \in X_r definice přechodů
\wedge \forall x : Last(x) \Rightarrow \underset{q \in F}{\vee} x \in X_q poslední prvek odpovídá finálnímu stavu
)

First, Succ, Last jsou jednoduše definovatelná makra

Dle slidů je někde chybka..;-(

Převod sentence MSOL na NFA

Využijeme čisté MSOL (logika bez prvního řádu):

X,Y,Z,... proměnné jen druhého řádu (množiny pozic)
P_a(X)unární predikát značící, že na všech pozicách z X je písmeno a
X \subseteq YX je podmnožinou Y
X < Yněco z X je před Y
\wedge , \vee , \neglogické spojky
\exists Xkvantifikace (jen 2. řád)
Sng(X)\mid X \mid = 1

Automaty nad nekonečnými slovy a omega-regulární jazyky

Omega-regulární jazyky

Jazyky akceptované:

Jazyky jsou uzavřeny na:

Zdroje