Logika a regulární jazyky

Podobné dokumenty
Výroková a predikátová logika - VII

4.2 Syntaxe predikátové logiky

Automaty a gramatiky(bi-aag) Motivace. 1. Základní pojmy. 2 domácí úkoly po 6 bodech 3 testy za bodů celkem 40 bodů

Regulární výrazy. Definice Množina regulárních výrazů nad abecedou Σ, označovaná RE(Σ), je definována induktivně takto:

MASARYKOVA UNIVERZITA FAKULTA INFORMATIKY. }w!"#$%&'()+,-./012345<ya

Turingovy stroje. Teoretická informatika Tomáš Foltýnek

IV113 Validace a verifikace. Převod LTL formule na Büchi automat. Jiří Barnat

Predik atov a logika - pˇredn aˇska () Predik atov a logika - pˇredn aˇska / 16

Matematická logika. Miroslav Kolařík

Každé formuli výrokového počtu přiřadíme hodnotu 0, půjde-li o formuli nepravdivou, a hodnotu 1, půjde-li. α neplatí. β je nutná podmínka pro α

Cvičení ke kursu Klasická logika II

Základy logiky a teorie množin

Třída PTIME a třída NPTIME. NP-úplnost.

Výroková a predikátová logika - VII

Ověřování modelu pomocí automatů. Tomáš Masopust

Výroková a predikátová logika - X

Výroková a predikátová logika - IX

Množinu všech slov nad abecedou Σ značíme Σ * Množinu všech neprázdných slov Σ + Jazyk nad abecedou Σ je libovolná množina slov nad Σ

Výroková a predikátová logika - IX

Cvičení ke kursu Logika II, část III

Matematická logika. Rostislav Horčík. horcik

Vztah teorie vyčíslitelnosti a teorie složitosti. IB102 Automaty, gramatiky a složitost, /31

10. Techniky formální verifikace a validace

Vlastnosti regulárních jazyků

Další (neklasické) logiky. Jiří Velebil: AD0B01LGR 2015 Predikátová logika 1/20

Výroková a predikátová logika - VI

Výroková a predikátová logika - XII

Výroková a predikátová logika - XIII

Výroková a predikátová logika - XII

Výroková a predikátová logika - XI

Predikátová logika dokončení

Formální jazyky a gramatiky Teorie programovacích jazyků

Výroková logika. Teoretická informatika Tomáš Foltýnek

Výroková a predikátová logika - II

Predikátová logika. Teoretická informatika Tomáš Foltýnek

doplněk, zřetězení, Kleeneho operaci a reverzi. Ukážeme ještě další operace s jazyky, na které je

Kapitola 1. Úvod. 1.1 Značení. 1.2 Výroky - opakování. N... přirozená čísla (1, 2, 3,...). Q... racionální čísla ( p, kde p Z a q N) R...

Matematická logika. Miroslav Kolařík

Logické programy Deklarativní interpretace

0. ÚVOD - matematické symboly, značení,

Konstrukce relace. Postupně konstruujeme na množině všech stavů Q relace i,

Úvod do predikátové logiky. (FLÚ AV ČR) Logika: CZ.1.07/2.2.00/ / 1

Sémantika predikátové logiky

Cvičení ke kursu Vyčíslitelnost

Modely Herbrandovské interpretace

Unární je také spojka negace. pro je operace binární - příkladem může být funkce se signaturou. Binární je velká většina logických spojek

Výroková a predikátová logika - IV

Predikátová logika. prvního řádu

Týden 11. Přednáška. Teoretická informatika průběh výuky v semestru 1. Nejprve jsme dokončili témata zapsaná u minulé přednášky.

PŘEDNÁŠKA 2 POSLOUPNOSTI

Úvod do logiky (presentace 2) Naivní teorie množin, relace a funkce

Výroková a predikátová logika - II

Rezoluční kalkulus pro logiku prvního řádu

Formální systém výrokové logiky

Logika. 6. Axiomatický systém výrokové logiky

Výroková a predikátová logika - VIII

2.2 Sémantika predikátové logiky

7 Jemný úvod do Logiky

Výroková a predikátová logika - IX

Doporučené příklady k Teorii množin, LS 2018/2019

Evropský sociální fond Praha & EU: Investujeme do vaší budoucnosti

teorie logických spojek chápaných jako pravdivostní funkce

1 Pravdivost formulí v interpretaci a daném ohodnocení

Výroková a predikátová logika - VIII

Logika. 2. Výroková logika. RNDr. Luděk Cienciala, Ph. D.

Obsah Předmluva Rekapitulace základních pojmů logiky a výrokové logiky Uvedení do predikátové logiky...17

Matematika I. Přednášky: Mgr. Radek Výrut, Zkouška:

Stefan Ratschan. Fakulta informačních technologíı. Evropský sociální fond Praha & EU: Investujeme do vaší budoucnosti

Lineární algebra : Násobení matic a inverzní matice

Pumping lemma - podstata problému. Automaty a gramatiky(bi-aag) Pumping lemma - problem resolution. Pumping lemma - podstata problému

Sémantika výrokové logiky. Alena Gollová Výroková logika 1/23

Základní pojmy matematické logiky

Místo pojmu výroková formule budeme používat zkráceně jen formule. Při jejich zápisu

Pozn.MinulejsmesekPSPACEnedostali,protojezdepřekryvstextemzminula.

Systém přirozené dedukce výrokové logiky

Matematická logika. Rostislav Horčík. horcik

Predikátová logika [Predicate logic]

PŘEDNÁŠKA 7 Kongruence svazů

/01: Teoretická informatika(ti) přednáška 5

Okruh č.3: Sémantický výklad predikátové logiky

Pro každé formule α, β, γ, δ platí: Pro každé formule α, β, γ platí: Poznámka: Platí právě tehdy, když je tautologie.

Matematická logika. Rostislav Horčík. horcik

Regulární výrazy. M. Kot, Z. Sawa (VŠB-TU Ostrava) Úvod do teoretické informatiky 14. března / 20

1 Kardinální čísla. množin. Tvrzení: Necht X Cn. Pak: 1. X Cn a je to nejmenší prvek třídy X v uspořádání (Cn, ),

Lineární algebra : Násobení matic a inverzní matice

verze 29/9/09 textu o logice, aritmetice a M. Bizzarrimu.

Třídy složitosti P a NP, NP-úplnost

Matematická logika. Miroslav Kolařík

Výroková a predikátová logika - XIV

Matematická indukce, sumy a produkty, matematická logika

3. Třídy P a NP. Model výpočtu: Turingův stroj Rozhodovací problémy: třídy P a NP Optimalizační problémy: třídy PO a NPO MI-PAA

1 Výroková logika 1. 2 Predikátová logika 3. 3 Důkazy matematických vět 4. 4 Doporučená literatura 7

Úvod do TI - logika Predikátová logika 1.řádu (4.přednáška) Marie Duží marie.duzi@vsb.cz

Cvičení Aktivita 1. část 2. část 3. část Ústní Celkem Známka

Výroková a predikátová logika - V

METRICKÉ A NORMOVANÉ PROSTORY

Booleovská algebra. Booleovské binární a unární funkce. Základní zákony.

Diplomová práce opravená verze

Výroková a predikátová logika - II

Definice 1.1. Nechť je M množina. Funkci ρ : M M R nazveme metrikou, jestliže má následující vlastnosti:

Transkript:

Logika a regulární jazyky Václav Brožek 10. listopad 2010 V. Brožek: Logika a regulární jazyky 1

Meta-poznámky dotazy a poznámky během přednášky vítány po přednášce rovněž vítány, např. na bleble@mail.muni.cz V. Brožek: Logika a regulární jazyky 2

Meta-poznámky dotazy a poznámky během přednášky vítány po přednášce rovněž vítány, např. na bleble@mail.muni.cz literatura: Handbook of Theoretical Computer Science, Volume B: Formal Models and Sematics, 1990 (signatura R269 v knihovně FI)... a mnoho dalších V. Brožek: Logika a regulární jazyky 2

Konečná slova Logický popis jazyků Osnova 1 Konečná slova Logický popis jazyků Souvislost s automaty Složitost Důsledky Nekonečná slova Rozdíly a podobnosti Souvislost s automaty Důsledky V. Brožek: Logika a regulární jazyky 3

Konečná slova Logický popis jazyků Různé způsoby popisu jazyků Popis operací 1 Jsi-li na konci, akceptuj. 2 Čti a. 3 Čti b. 4 Jdi na 1. a q 0 q 1 b Popis výsledku První je a. Poslední je b. a a b se střídají.? V. Brožek: Logika a regulární jazyky 4

Konečná slova Logický popis jazyků Logika prvního řádu a a b a b a a a b a x z x, y, z... pozice P a (x) na pozici x je písmeno a x < y pozice x je před y,, logické spojky (poznámka: negace víc podob) x, x kvantifikace + navíc rovnost x = y V. Brožek: Logika a regulární jazyky 5

Konečná slova Logický popis jazyků Logika prvního řádu a a b a b a a a b a x z x, y, z... pozice P a (x) na pozici x je písmeno a x < y pozice x je před y,, logické spojky (poznámka: negace víc podob) x, x kvantifikace + navíc rovnost x = y Cvičení Co znamená x : P a (x) ( z : z x)? V. Brožek: Logika a regulární jazyky 5

Konečná slova Logický popis jazyků Monadická logika druhého řádu (MSO) a a b a b a a a b a x z X = x, y, z... pozice X, Y, Z... množiny pozic P a (x) na pozici x je písmeno a x X x leží v X x < y pozice x je před y,, logické spojky x, x kvantifikace X, X V. Brožek: Logika a regulární jazyky 6

Konečná slova Logický popis jazyků Monadická logika druhého řádu (MSO) a a b a b a a a b a x z X = x, y, z... pozice X, Y, Z... množiny pozic P a (x) na pozici x je písmeno a x X x leží v X x < y pozice x je před y,, logické spojky x, x kvantifikace X, X Cvičení X : [ x, y : ((x < y) ( z : x z z y) = (x X y / X) ] [ x : x X = (P a (x) y : y < x) ] V. Brožek: Logika a regulární jazyky 6

Konečná slova Logický popis jazyků Sentence a formule MSO Proměnné ve formuli dvojího typu: vázané pomocí kvantifikátorů volné φ(y, Y ) X : x : y X x Y Volné se zpravidla píší za jméno formule. sentence = uzavřená formule = formule bez volných proměnných V. Brožek: Logika a regulární jazyky 7

Konečná slova Logický popis jazyků Jazyky zadané sentencí MSO Sentence MSO φ = vlastnost slov. Slovo w Σ bud vlastnost φ má (w = φ), nebo nemá (w = φ). Například: aba = x : P a (x) ( z : z x) bab = x : P a (x) ( z : z x) ε = X : x : ( y : (x X y / X) P b (y)) Definice L(φ) := {w Σ w = φ} V. Brožek: Logika a regulární jazyky 8

Konečná slova Logický popis jazyků Pravdivost formulí Kdy má slovo w vlastnost φ(x, Y,..., x, y,...)? Potřebujeme valuaci. V. Brožek: Logika a regulární jazyky 9

Konečná slova Logický popis jazyků Pravdivost formulí Kdy má slovo w vlastnost φ(x, Y,..., x, y,...)? Potřebujeme valuaci. Valuace přiřadí hodnoty volným proměnným. Například pro: ν 1 (x) = 1, ν 1 (y) = 1, ν 1 (X) = {1, 3} ν 2 (x) = 3, ν 2 (y) = 1, ν 2 (X) = aba, ν 1 = P a (x) ( z : z x) aba, ν 2 = P a (x) ( z : z x) bab, ν 1 = x, y : P b (x) P b (y) x < y x X y X bab, ν 2 = x, y : P b (x) P b (y) x < y x X y X V. Brožek: Logika a regulární jazyky 9

Konečná slova Souvislost s automaty Osnova 1 Konečná slova Logický popis jazyků Souvislost s automaty Složitost Důsledky Nekonečná slova Rozdíly a podobnosti Souvislost s automaty Důsledky V. Brožek: Logika a regulární jazyky 10

Konečná slova Souvislost s automaty Automaty = logika Věta Regulární jazyky = jazyky definovatelné MSO. V. Brožek: Logika a regulární jazyky 11

Konečná slova Souvislost s automaty Automaty = logika nedeterm. konečné automaty = logika MSO Věta Regulární jazyky = jazyky definovatelné MSO. V. Brožek: Logika a regulární jazyky 11

Konečná slova Souvislost s automaty Automat sentence MSO a A : q 0 q 1 L(A) = L((ab) ) b w L(A) právě když existuje akceptující běh A pod w. V. Brožek: Logika a regulární jazyky 12

Konečná slova Souvislost s automaty Automat sentence MSO a A : q 0 q 1 L(A) = L((ab) ) b w L(A) právě když ϱ : {1,..., w } {q 0, q 1 } tak, že q 0 w(1) ϱ(1) pro všechna i, 1 < i w : ϱ(i 1) w(i) ϱ(i) ϱ( w ) F = {q 0 } (nebo w = ε.) V. Brožek: Logika a regulární jazyky 12

Konečná slova Souvislost s automaty Automat sentence MSO a A : q 0 q 1 L(A) = L((ab) ) b w L(A) právě když X 0, X 1 : x : x X 0 x / X 1 ( ϱ : {1,..., w } {q 0, q 1 }) x : First(x) = (P a (x) x X 1 ) w(1) q 0 ϱ(1) x, y : Succ(x, y) = (x X 0 P a (y) y X 1 ) (x X 1 P b (y) y X 0 ) pro všechna i, 1 < i w : ϱ(i 1) w(i) ϱ(i) x : Last(x) = x X 0 ϱ( w ) F = {q 0 } V. Brožek: Logika a regulární jazyky 12

Konečná slova Souvislost s automaty Cvičení Zadefinujte následující formule (s volnými proměnnými) tak, aby pro každé slovo w a valuaci ν platilo w, ν = First(x) právě když ν(x) je první pozice w, ν = Last(x) právě když ν(x) je poslední pozice w, ν = Succ(x, y) právě když ν(y) = ν(x) + 1 V. Brožek: Logika a regulární jazyky 13

Konečná slova Souvislost s automaty Automat sentence MSO obecný postup NKA A = (Q, q 0,, F) sentence MSO φ t.ž. L(A) = L(φ). φ := {X q q Q} : ( x : x X q x : First(x) = q Q x, y : Succ(x, y) = x : Last(x) = q F a a Σ,q 0 q a Σ,q a r x X q ) q r Q P a (x) x X q (x X q = x / X r ) x X q P a (x) y X r V. Brožek: Logika a regulární jazyky 14

Konečná slova Souvislost s automaty Automat sentence MSO obecný postup NKA A = (Q, q 0,, F) sentence MSO φ t.ž. L(A) = L(φ). φ := {X q q Q} : ( x : x X q x : First(x) = q Q x, y : Succ(x, y) = x : Last(x) = q F a a Σ,q 0 q a Σ,q a r x X q ) q r Q P a (x) x X q (x X q = x / X r ) x X q P a (x) y X r Cvičení Najděte chybu. V. Brožek: Logika a regulární jazyky 14

Konečná slova Souvislost s automaty Automaty = logika nedeterm. konečné automaty = logika MSO V. Brožek: Logika a regulární jazyky 15

Konečná slova Souvislost s automaty Automaty = logika nedeterm. konečné automaty = logika MSO V. Brožek: Logika a regulární jazyky 15

Konečná slova Souvislost s automaty Sentence MSO automat Chceme zkonstruovat pro každou sentenci MSO φ nedeterministický KA A tak, že L(φ) = L(A), indukcí ke struktuře φ. V. Brožek: Logika a regulární jazyky 16

Konečná slova Souvislost s automaty Sentence MSO automat Chceme zkonstruovat pro každou sentenci MSO φ nedeterministický KA A tak, že L(φ) = L(A), indukcí ke struktuře φ. Ale podformule φ nemusí být sentence! x : x < x má podformuli x < x. V. Brožek: Logika a regulární jazyky 16

Konečná slova Souvislost s automaty Formule MSO automat Chceme zkonstruovat pro každou formuli MSO φ(x,..., x,...) nedeterministický KA A tak, že L(φ(X,..., x,...)) = L(A), indukcí ke struktuře φ. V. Brožek: Logika a regulární jazyky 16

Konečná slova Souvislost s automaty Čistá MSO logika bez prvního řádu Pro zjednodušení konstrukce odstraníme proměnné 1. řádu: MSO x, X... proměnné P a (x) a na pozici x x X x leží v X x < y pozice x je před y,, logické spojky x, X kvantifikace Čistá MSO X... proměnné (jen 2. řádu) P a (X) a na všech pozicích z X X Y X podmnožina Y X < Y něco z X je před Y,, logické spojky X kvantifikace (jen 2. řád) Sng(X) X = 1 V. Brožek: Logika a regulární jazyky 17

Konečná slova Souvislost s automaty Ekvivalence MSO a čisté MSO Zápis čisté MSO v MSO: P a (X) x : x X = P a (x) X Y x : x X = x Y Sng(X) x : x X y : y = x y / X X < Y x : x X ( y : y Y = x < y) Zápis MSO v čisté MSO: Každou x nahradíme S x a přidáme Sng(S x ). P a (x) P a (S x ) x X S x X x < y S x < S y V. Brožek: Logika a regulární jazyky 18

Konečná slova Souvislost s automaty Formule čisté MSO automat Chceme zkonstruovat pro každou formuli čisté MSO φ(x,...) nedeterministický KA A tak, že L(φ(X,...)) = L(A), indukcí ke struktuře φ. V. Brožek: Logika a regulární jazyky 19

Konečná slova Souvislost s automaty Co je L(φ(X,...))? Aneb kódování valuací Pro formuli φ(x 1,..., X k ) a slovo w Σ zakódujeme valuaci ν jako slovo w ν (Σ {0, 1} k ). Například: k = 2, w = abc, ν : X 1 {1, 3}, X 2 {2} dá w ν = a 1 0 b 0 1 c 1 0 V. Brožek: Logika a regulární jazyky 20

Konečná slova Souvislost s automaty Co je L(φ(X,...))? Aneb kódování valuací Pro formuli φ(x 1,..., X k ) a slovo w Σ zakódujeme valuaci ν jako slovo w ν (Σ {0, 1} k ). Například: k = 2, w = abc, ν : X 1 {1, 3}, X 2 {2} dá w ν = a 1 0 b 0 1 c 1 0 Definice L(φ(X 1,..., X k )) := {w ν (Σ {0, 1} k ) w, ν = φ(x 1,..., X k )} V. Brožek: Logika a regulární jazyky 20

Konečná slova Souvislost s automaty Formule čisté MSO automat Formule = φ(x 1,..., X k ), automat = A = (Q, q 0,, F). Bázové kroky: P a (X 1 )» a 1», 0» b 1 q 0 q 1 V. Brožek: Logika a regulární jazyky 21

Konečná slova Souvislost s automaty Formule čisté MSO automat Formule = φ(x 1,..., X k ), automat = A = (Q, q 0,, F). Bázové kroky: X 1 X 2 2 4 1 1 3 2 5, 4 0 2 3 5 4 1 0 3 5 q 0 q 1 V. Brožek: Logika a regulární jazyky 21

Konečná slova Souvislost s automaty Formule čisté MSO automat Formule = φ(x 1,..., X k ), automat = A = (Q, q 0,, F). Bázové kroky:» 0» 0 Sng(X 1 )» 1» 1 q 0 q 1 q 2 V. Brožek: Logika a regulární jazyky 21

Konečná slova Souvislost s automaty Formule čisté MSO automat Formule = φ(x 1,..., X k ), automat = A = (Q, q 0,, F). Bázové kroky: 2 4 0 0 X 1 < X 2 q 0 3 5 2 4 1 0 3 5 2 4 1 3 5 q 1 q 2 V. Brožek: Logika a regulární jazyky 21

Konečná slova Souvislost s automaty Formule čisté MSO automat Formule = φ(x 1,..., X k ), automat = A = (Q, q 0,, F). Logické operace,, přejdou na, a komplement. V. Brožek: Logika a regulární jazyky 21

Konečná slova Souvislost s automaty Formule čisté MSO automat Formule = φ(x 1,..., X k ), automat = A = (Q, q 0,, F). Kvantifikace: X 1 : φ(x 1 )» a 1 r ˆ a r q» a 0 q ˆ a s s V. Brožek: Logika a regulární jazyky 21

Konečná slova Souvislost s automaty Příklad ( X 1, X 2 : P a (X 1 ) P b (X 2 )) V. Brožek: Logika a regulární jazyky 22

Konečná slova Souvislost s automaty Příklad ( X 1, X 2 : P a (X 1 ) P b (X 2 )) 2 3 2 3 2 3 2 3 P a (X 1 ) 4 a 1 5, 4 0 2 5 4 b 1 3 5 q 0 q 1 P b (X 2 ) 4 b 1 5, 4 0 2 5 4 a 1 3 5 q 0 q 1 V. Brožek: Logika a regulární jazyky 22

Konečná slova Souvislost s automaty Příklad ( X 1, X 2 : P a (X 1 ) P b (X 2 )) P a (X 1 ) P b (X 2 ) 2 4 a 1 3 2 5, 4 b 1 3 2 5, 4 0 0 3 5 2 4 b 1 3 2 5, 4 a 1 q 0 q 1 3 5 V. Brožek: Logika a regulární jazyky 22

Konečná slova Souvislost s automaty Příklad ( X 1, X 2 : P a (X 1 ) P b (X 2 )) X 1, X 2 : P a (X 1 ) P b (X 2 ) a,b, q 0 b,a q 1 V. Brožek: Logika a regulární jazyky 22

Konečná slova Souvislost s automaty Příklad ( X 1, X 2 : P a (X 1 ) P b (X 2 )) X 1, X 2 : P a (X 1 ) P b (X 2 ) q 0 V. Brožek: Logika a regulární jazyky 22

Konečná slova Souvislost s automaty Příklad ( X 1, X 2 : P a (X 1 ) P b (X 2 )) ( X 1, X 2 : P a (X 1 ) P b (X 2 )) q 0 V. Brožek: Logika a regulární jazyky 22

Konečná slova Souvislost s automaty Poznámky Existuje i alternativní důkaz přes rank formulí. Rank formule = maximální počet zanoření kvantifikátorů. Existuje jen konečně mnoho formulí ranku k až na ekvivalenci třída ekvivalentních formulí = typ. Existuje automat počítající typy pro fixní rank. Tento důkaz se vyhne indukci na formulích, ale nedává vhled do detailů převodu. V. Brožek: Logika a regulární jazyky 23

Konečná slova Souvislost s automaty Poznámky Aplikací převodů: sentence automat sentence dostaneme pro každou φ její normální formu: φ X 1,..., X k : ψ(x 1,..., X k ) kde ψ je bez kvantifikátorů druhého řádu. V. Brožek: Logika a regulární jazyky 24

Konečná slova Souvislost s automaty Poznámky Aplikací převodů: sentence automat sentence dostaneme pro každou φ její normální formu: φ X 1,..., X k : ψ(x 1,..., X k ) kde ψ je bez kvantifikátorů druhého řádu. splnitelnost pro MSO rozhodnutelná nejen nad slovy, ale i nad stromy. Ovšem už pro acyklické grafy je nerozhodnutelná. V. Brožek: Logika a regulární jazyky 24

Konečná slova Složitost Osnova 1 Konečná slova Logický popis jazyků Souvislost s automaty Složitost Důsledky Nekonečná slova Rozdíly a podobnosti Souvislost s automaty Důsledky V. Brožek: Logika a regulární jazyky 25

Konečná slova Složitost Kolik stojí převod φ = poly( A ) nedeterm. konečné automaty = logika MSO }... 2 φ A = 2 2 O( φ ) V. Brožek: Logika a regulární jazyky 26

Konečná slova Složitost Kolik stojí převod φ = poly( A ) nedeterm. konečné automaty = logika MSO }... 2 φ A = 2 2 O( φ ) ( X 1 : ( X 2 : (... ( X k : φ(x 1, X 2,..., X k ))...))) vytváří nedeterminismus = komplementace exponenciální nárust V. Brožek: Logika a regulární jazyky 26

Konečná slova Složitost Drahý převod: formule automat Definice G(1) := 1, a pro všechna n > 1: G(n) := G(n 1) 2 G(n 1) V. Brožek: Logika a regulární jazyky 27

Konečná slova Složitost Drahý převod: formule automat Definice G(1) := 1, a pro všechna n > 1: G(n) := G(n 1) 2 G(n 1) Cvičení } Dokažte: n 1 : 2 2... 2}n+1 2...2 > G(n) 2 n. V. Brožek: Logika a regulární jazyky 27

Konečná slova Složitost Drahý převod: formule automat Definice G(1) := 1, a pro všechna n > 1: G(n) := G(n 1) 2 G(n 1) Cvičení } Dokažte: n 1 : 2 2... 2}n+1 2...2 > G(n) 2 Věta (Stockmeyer & Meyer, 1974) Existuje posloupnost MSO sentencí {φ n } n=1 tak, že: φ n O(2 n ) pro každý nedeterministický KA A n : L(A n ) = L(φ n ) = A n G(n) n. V. Brožek: Logika a regulární jazyky 27

Konečná slova Složitost Důkaz Definujeme: G(n) {}}{ L n := { aaa a} V. Brožek: Logika a regulární jazyky 28

Konečná slova Složitost Důkaz Definujeme: G(n) {}}{ L n := { aaa a} Cvičení Dokažte: 1 L n je regulární. V. Brožek: Logika a regulární jazyky 28

Konečná slova Složitost Důkaz Definujeme: G(n) {}}{ L n := { aaa a} Cvičení Dokažte: 1 L n je regulární. 2 pro každý nedeterministický KA A n : L(A n ) = L n = A n G(n) V. Brožek: Logika a regulární jazyky 28

Konečná slova Složitost Důkaz Definujeme: G(n) {}}{ L n := { aaa a} Cvičení Dokažte: 1 L n je regulární. 2 pro každý nedeterministický KA A n : L(A n ) = L n = A n G(n) Zbývá najít formuli φ n tak, aby φ n O(2 n ) L n = L(φ n ) V. Brožek: Logika a regulární jazyky 28

Konečná slova Složitost Indukcí na n sestrojíme formule θ n (x, y) tak, že w, ν = θ n (x, y) právě když ν(y) (ν(x) 1) = G(n). Pak φ n := x, y : First(x) Last(y) θ n (x, y). V. Brožek: Logika a regulární jazyky 29

Konečná slova Složitost Indukcí na n sestrojíme formule θ n (x, y) tak, že w, ν = θ n (x, y) právě když ν(y) (ν(x) 1) = G(n). Pak φ n := x, y : First(x) Last(y) θ n (x, y). indukční báze je jednoduchá: θ 1 (x, y) := x = y V. Brožek: Logika a regulární jazyky 29

Konečná slova Složitost Indukcí na n sestrojíme formule θ n (x, y) tak, že w, ν = θ n (x, y) právě když ν(y) (ν(x) 1) = G(n). Pak φ n := x, y : First(x) Last(y) θ n (x, y). indukční báze je jednoduchá: θ 1 (x, y) := x = y indukční krok je složitější... questionablecontent.net V. Brožek: Logika a regulární jazyky 29

Konečná slova Složitost θ n+1 (x, y) := Y : Y zadává intervaly na {x,..., y} tyto intervaly jsou délky G(n) intervalů je 2 G(n) V. Brožek: Logika a regulární jazyky 30

Konečná slova Složitost θ n+1 (x, y) := Y : Y zadává intervaly na {x,..., y} tyto intervaly jsou délky G(n) intervalů je 2 G(n) Kódování intervalů pomocí množiny pozic Y : 1 2 3 4 5 6 7 8 9 10 Y = zadané intervaly: {1, 2, 3}, {4}, {5, 6, 7, 8, 9, 10}. Formule Int(r, s, Y ) testuje, že {r,..., s} je interval dle Y : Int(r, s, Y ) := r Y r s ( z : Succ(s, z) = z Y ) ( z : r < z s = z / Y ) V. Brožek: Logika a regulární jazyky 30

Konečná slova Složitost Y zadává intervaly na {x,..., y} x Y z : Succ(y, z) = z Y tyto intervaly jsou délky G(n) r, s : (x r, s y Int(r, s, Y )) = θ n (r, s) V. Brožek: Logika a regulární jazyky 31

Konečná slova Složitost intervalů je 2 G(n) J : první interval kóduje 0 poslední interval kóduje 2 G(n) 1 po sobě jdoucí intervaly kódují přičtení 1 V. Brožek: Logika a regulární jazyky 32

Konečná slova Složitost intervalů je 2 G(n) J : první interval kóduje 0 poslední interval kóduje 2 G(n) 1 po sobě jdoucí intervaly kódují přičtení 1 Kódování čísel pomocí množiny J: 0 1 2 3 4 5 6 7 J = Y = V. Brožek: Logika a regulární jazyky 32

Konečná slova Složitost první interval kóduje 0 s, t : (Int(x, s, Y ) x t s) = t / J poslední interval kóduje 2 G(n) 1 r, t : (Int(r, y, Y ) r t y) = t J V. Brožek: Logika a regulární jazyky 33

Konečná slova Složitost po sobě jdoucí intervaly kódují přičtení 1 r 1 s 1 r 2 s 2 ( r 1, s 1, r 2, s 2 : x r 1, s 1, r 2, s 2 y ) Int(r 1, s 1, Y ) Int(r 2, s 2, Y ) Succ(s 1, r 2 ) V. Brožek: Logika a regulární jazyky 34

Konečná slova Složitost po sobě jdoucí intervaly kódují přičtení 1 r 1 w s 1 r 2 s 2 ( x r 1, s 1, r 2, s 2 y r 1, s 1, r 2, s 2 : ) Int(r 1, s 1, Y ) Int(r 2, s 2, Y ) Succ(s 1, r 2 ) = w : [ r 1 w s 1 w / J ( z : w < z s 1 = z J) V. Brožek: Logika a regulární jazyky 34

Konečná slova Složitost po sobě jdoucí intervaly kódují přičtení 1 r 1 w s 1 r 2 s 2 ( z 1 G(n) z 2 r 1, s 1, r 2, s 2 : x r 1, s 1, r 2, s 2 y ) Int(r 1, s 1, Y ) Int(r 2, s 2, Y ) Succ(s 1, r 2 ) [ = w : r 1 w s 1 w / J ( z : w < z s 1 = z J) ( z 1, z 2 : (r 1 z 1 s 1 t : (θ n (z 1, t) Succ(t, z2))) = ((z 1 < w (z 1 J z 2 J)) )] (z 1 = w z 2 J) (z 1 > w z 2 / J)) V. Brožek: Logika a regulární jazyky 34

Konečná slova Složitost po sobě jdoucí intervaly kódují přičtení 1 r 1 w s 1 r 2 s 2 ( z 1 G(n) z 2 r 1, s 1, r 2, s 2 : x r 1, s 1, r 2, s 2 y ) Int(r 1, s 1, Y ) Int(r 2, s 2, Y ) Succ(s 1, r 2 ) [ = w : r 1 w s 1 w / J ( z : w < z s 1 = z J) ( z 1, z 2 : (r 1 z 1 s 1 t : (θ n (z 1, t) Succ(t, z2))) = ((z 1 < w (z 1 J z 2 J)) )] (z 1 = w z 2 J) (z 1 > w z 2 / J)) V. Brožek: Logika a regulární jazyky 34

Konečná slova Složitost po sobě jdoucí intervaly kódují přičtení 1 r 1 w s 1 r 2 s 2 ( z 1 G(n) z 2 r 1, s 1, r 2, s 2 : x r 1, s 1, r 2, s 2 y ) Int(r 1, s 1, Y ) Int(r 2, s 2, Y ) Succ(s 1, r 2 ) [ = w : r 1 w s 1 w / J ( z : w < z s 1 = z J) ( z 1, z 2 : (r 1 z 1 s 1 t : (θ n (z 1, t) Succ(t, z2))) = ((z 1 < w (z 1 J z 2 J)) )] (z 1 = w z 2 J) (z 1 > w z 2 / J)) V. Brožek: Logika a regulární jazyky 34

Konečná slova Složitost Poznámky k důkazu θ n+1 (x, y) := Y : Y zadává intervaly na {x,..., y} tyto intervaly jsou délky G(n) (... θ n...) intervalů je 2 G(n) (... θ n =...) velikost formule exponenciální v n vnořená negace ((θ n = α) ( θ n α)) V. Brožek: Logika a regulární jazyky 35

Konečná slova Složitost Přehled složitostí nedeterministické KA MSO L(A) =? NLOG-úplné L(φ) =? L(A) =? Σ PSPACE-úplné L(φ) =? Σ non-elementary L(A) =? L(B) PSPACE-úplné L(φ) =? L(ψ) L(A)? L(B) PSPACE-úplné L(φ)? L(ψ) V. Brožek: Logika a regulární jazyky 36

Konečná slova Důsledky Osnova 1 Konečná slova Logický popis jazyků Souvislost s automaty Složitost Důsledky Nekonečná slova Rozdíly a podobnosti Souvislost s automaty Důsledky V. Brožek: Logika a regulární jazyky 37

Konečná slova Důsledky Podtřídy regulárních jazyků Jazyky definované logikou prvního řádu (FO) tvoří podtrřídu MSO jazyků uzavřenou na Booleovské operace. Jazyky definované regulárními výrazy bez Kleeneho, ale s komplementem, tvoří podtrřídu MSO jazyků uzavřenou na Booleovské operace, star-free jazyky. V. Brožek: Logika a regulární jazyky 38

Konečná slova Důsledky Podtřídy regulárních jazyků Jazyky definované logikou prvního řádu (FO) tvoří podtrřídu MSO jazyků uzavřenou na Booleovské operace. Jazyky definované regulárními výrazy bez Kleeneho, ale s komplementem, tvoří podtrřídu MSO jazyků uzavřenou na Booleovské operace, star-free jazyky. Věta (McNaughton-Pappert) Jazyk L je star-free právě když je FO definovatelný. V. Brožek: Logika a regulární jazyky 38

Konečná slova Důsledky Podtřídy regulárních jazyků Jazyky definované logikou prvního řádu (FO) tvoří podtrřídu MSO jazyků uzavřenou na Booleovské operace. Jazyky definované regulárními výrazy bez Kleeneho, ale s komplementem, tvoří podtrřídu MSO jazyků uzavřenou na Booleovské operace, star-free jazyky. Věta (McNaughton-Pappert) Jazyk L je star-free právě když je FO definovatelný. Věta (Schützenberger) Jazyk L je star-free právě když jeho syntaktický monoid neobsahuje podgrupu velikosti 2. V. Brožek: Logika a regulární jazyky 38

Konečná slova Důsledky Syntaktický monoid definice přes Google Monoid podle Google Image search: V. Brožek: Logika a regulární jazyky 39

Konečná slova Důsledky Syntaktický monoid definice pro matematiky Syntaktická ekvivalence pro jazyk L Σ : def u L v p, q : p u q L p v q L V. Brožek: Logika a regulární jazyky 40

Konečná slova Důsledky Syntaktický monoid definice pro matematiky Syntaktická ekvivalence pro jazyk L Σ : def u L v p, q : p u q L p v q L Monoid M L pro L: prvky = Σ / L operace: [u] L [v] L = [u v] L neutrální prvek: [ε] L V. Brožek: Logika a regulární jazyky 40

Konečná slova Důsledky Syntaktický monoid definice pro matematiky Syntaktická ekvivalence pro jazyk L Σ : def u L v p, q : p u q L p v q L Monoid M L pro L: prvky = Σ / L operace: [u] L [v] L = [u v] L neutrální prvek: [ε] L M L je konečný, právě když L je regulární. V. Brožek: Logika a regulární jazyky 40

Konečná slova Důsledky Syntaktický monoid definice přes sousední balkon Prefixová ekvivalence pro jazyk L Σ : def u L v w : u w L v w L V. Brožek: Logika a regulární jazyky 41

Konečná slova Důsledky Syntaktický monoid definice přes sousední balkon Prefixová ekvivalence pro jazyk L Σ : def u L v w : u w L v w L Automat A L pro L: stavy: Q := Σ / L a přechody: [u] L [u a] L iniciální stav: [ε] L koncové stavy: [u] L, u L V. Brožek: Logika a regulární jazyky 41

Konečná slova Důsledky Syntaktický monoid definice přes sousední balkon Prefixová ekvivalence pro jazyk L Σ : def u L v w : u w L v w L Automat A L pro L: stavy: Q := Σ / L a přechody: [u] L [u a] L iniciální stav: [ε] L koncové stavy: [u] L, u L A L je deterministický automat, a je konečný, právě když L je regulární (pak je A L minimální). V. Brožek: Logika a regulární jazyky 41

Konečná slova Důsledky Syntaktický monoid definice přes sousední balkon Prefixová ekvivalence pro jazyk L Σ : def u L v w : u w L v w L Automat A L pro L: stavy: Q := Σ / L a přechody: [u] L [u a] L iniciální stav: [ε] L koncové stavy: [u] L, u L A L je deterministický automat, a je konečný, právě když L je regulární (pak je A L minimální). M L = T (AL ), což je transformační monoid A L prvky: z Q Q, tvaru f w, kde f w (q) = r tak, že q w r operace: f v f u = f u v neutrální prvek: f ε V. Brožek: Logika a regulární jazyky 41

Konečná slova Důsledky Cvičení Najděte MSO formuli pro L((aa) ). Popište jeho syntaktický monoid. Rozhodněte, zda je tento jazyk definovatelný v FO. Cvičení Najděte MSO formuli pro L((ab) ). Popište jeho syntaktický monoid. Rozhodněte, zda je tento jazyk definovatelný v FO. V. Brožek: Logika a regulární jazyky 42

Konečná slova Důsledky Poznámka Logika nabízí ještě jemnější klasifikaci: hloubka alternací FO kvantifikátorů odpovídá hloubce alternací booleovských operací a řetězení v regulárních výrazech (s negací a bez ). Viz: W. Thomas, Classifying regular events in symbolic logic, J. Comput. System Sci., 1982 V. Brožek: Logika a regulární jazyky 43

Konečná slova Důsledky ws1s Změníme trochu uvažovanou logiku: Syntax: místo relace < (následník) máme relaci Succ (bezprostřední následník). Sémantika: vyhodnocování nad N místo nad konečnými slovy kvantifikace jen přes konečné množiny V. Brožek: Logika a regulární jazyky 44

Konečná slova Důsledky ws1s Změníme trochu uvažovanou logiku: Syntax: místo relace < (následník) máme relaci Succ (bezprostřední následník). Sémantika: vyhodnocování nad N místo nad konečnými slovy kvantifikace jen přes konečné množiny ws1s (Weak Second-order + 1 Successor) = množina všech sentencí pravdivých na (N, +1) V. Brožek: Logika a regulární jazyky 44

Konečná slova Důsledky Příklady x : y : z : y = x Succ(z, y) ws1s Existuje číslo x tak, že každé číslo jiné než x má předchůdce. V. Brožek: Logika a regulární jazyky 45

Konečná slova Důsledky Příklady x : y : z : y = x Succ(z, y) ws1s Existuje číslo x tak, že každé číslo jiné než x má předchůdce. X : x, y : (x X Succ(x, y)) = y X ws1s Existuje nahoru uzavřená konečná podmnožina N. V. Brožek: Logika a regulární jazyky 45

Konečná slova Důsledky Příklady x : y : z : y = x Succ(z, y) ws1s Existuje číslo x tak, že každé číslo jiné než x má předchůdce. X : x, y : (x X Succ(x, y)) = y X ws1s Existuje nahoru uzavřená konečná podmnožina N. X : (( x : x X) x, y : (x X Succ(x, y)) y X) / ws1s Existuje neprázdná nahoru uzavřená konečná podmnožina N. V. Brožek: Logika a regulární jazyky 45

Konečná slova Důsledky Příklady x : y : z : y = x Succ(z, y) ws1s Existuje číslo x tak, že každé číslo jiné než x má předchůdce. X : x, y : (x X Succ(x, y)) = y X ws1s Existuje nahoru uzavřená konečná podmnožina N. X : (( x : x X) x, y : (x X Succ(x, y)) y X) / ws1s Existuje neprázdná nahoru uzavřená konečná podmnožina N. Cvičení Zadefinujte < pomocí Succ. V. Brožek: Logika a regulární jazyky 45

Konečná slova Důsledky Příklady x : y : z : y = x Succ(z, y) ws1s Existuje číslo x tak, že každé číslo jiné než x má předchůdce. X : x, y : (x X Succ(x, y)) = y X ws1s Existuje nahoru uzavřená konečná podmnožina N. X : (( x : x X) x, y : (x X Succ(x, y)) y X) / ws1s Existuje neprázdná nahoru uzavřená konečná podmnožina N. Cvičení Zadefinujte < pomocí Succ. X : t : x : x X = x < t ws1s Každá (konečná) množina je konečná. :-) V. Brožek: Logika a regulární jazyky 45

Konečná slova Důsledky Rozhodnutelnost ws1s Věta (Büchi) Lze rozhodnout, zda φ ws1s. V. Brožek: Logika a regulární jazyky 46

Konečná slova Důsledky Rozhodnutelnost ws1s Věta (Büchi) Lze rozhodnout, zda φ ws1s. Důkaz: 1 nahradíme Succ ekvivalentní definicí pomocí < + protože nepotřebujeme predikáty P a, máme Σ = 1 2 uvědomíme si, že pro všechny formule ψ(x 1,..., X k ) a valuace ν přiřazující jen konečné množiny: w ν (Σ {0, 1} k ) : w ν L(A ψ ) právě když N, ν = ψ(x 1,..., X k ) 3 otestujeme ε L(A φ ) V. Brožek: Logika a regulární jazyky 46

Konečná slova Důsledky Presburgerova aritmetika (N, +) Jak rozhodovat následující problém? Vstup: prvořádová formule φ se sčítáním Výstup: Platí φ na (N, +)? V. Brožek: Logika a regulární jazyky 47

Konečná slova Důsledky Presburgerova aritmetika (N, +) Jak rozhodovat následující problém? Vstup: prvořádová formule φ se sčítáním Výstup: Platí φ na (N, +)? Redukcí na ws1s. Čísla z P.A. však kódujeme množinami čísel jejich binárními zápisy. Příklady: 6 {2, 3}, 11 {1, 2, 4}. Binární sčítání pak lze vyjádřit v MSO. V. Brožek: Logika a regulární jazyky 47

Konečná slova Důsledky Poznámky Rozhodování ws1s je non-elementary. Pressburgerova aritmetika je v 3EXPTIME. V. Brožek: Logika a regulární jazyky 48

Konečná slova Důsledky Poznámky Rozhodování ws1s je non-elementary. Pressburgerova aritmetika je v 3EXPTIME. (N,.) (Skolemova a.) je rozhodnutelná, ale (N,., +1), (N,., <), (N,., +) (Peanova a.) už jsou nerozhodnutelné (a ve skutečnosti ekvivalentní) viz např. [A. Bes: A Survey of Arithmetical Definability, 2002] V. Brožek: Logika a regulární jazyky 48

Nekonečná slova Rozdíly a podobnosti Osnova Konečná slova Logický popis jazyků Souvislost s automaty Složitost Důsledky 2 Nekonečná slova Rozdíly a podobnosti Souvislost s automaty Důsledky V. Brožek: Logika a regulární jazyky 49

Nekonečná slova Rozdíly a podobnosti Konečná slova Σ = n 0 Σn = n 0 ({1,..., n} Σ) abc, ε, abbbaaababba... Nekonečná slova Σ ω = N Σ abababbbabaaababbabaabbababbababbaabbababaabbabbabb... V. Brožek: Logika a regulární jazyky 50

Nekonečná slova Rozdíly a podobnosti Konečná slova Definice regulárních jazyků: nedeterministickými KA deterministickými KA regulárními výrazy algebraicky logikou MSO Nekonečná slova Definice ω-regulárních jazyků: nedet. KA více druhů deterministické ne vždy ω-regulární výrazy algeb. popis složitější logika MSO funguje V. Brožek: Logika a regulární jazyky 51

Nekonečná slova Rozdíly a podobnosti Konečná slova Definice regulárních jazyků: nedeterministickými KA deterministickými KA regulárními výrazy algebraicky logikou MSO Nekonečná slova Definice ω-regulárních jazyků: nedet. KA více druhů deterministické ne vždy ω-regulární výrazy algeb. popis složitější logika MSO funguje Cvičení Je každý L Σ, L = 1 regulární? Je každý L Σ ω, L = 1 ω-regulární? Kolik je jazyků nad abecedou Σ = {a}? Kolik je ω-jazyků nad abecedou Σ = {a}? V. Brožek: Logika a regulární jazyky 51

Nekonečná slova Rozdíly a podobnosti Automaty Automaty jako u konečných slov nedeterministický KA A = (Q, q 0,, Akc) čte vstupní slovo písmeno po písmenu (akorát to hrozně dlouho trvá :-)) Akceptační podmínky odlišné Inf (ρ) = právě ty stavy, které běh ρ navštíví -krát Büchi Akc = F Q, cíl: Inf (ρ) F Muller Akc = F 2 Q, cíl: Inf (ρ) F Rabin Akc = T 2 Q 2 Q, cíl: (N, K ) T : N Inf (ρ) K Inf (ρ) = V. Brožek: Logika a regulární jazyky 52

Nekonečná slova Rozdíly a podobnosti ω-regulární jazyky Jazyky akceptované nedeterministickými Büchiho automaty (BA) (ne)deterministickými Mullerovy automaty (ne)deterministickými Rabinovy automaty V. Brožek: Logika a regulární jazyky 53

Nekonečná slova Rozdíly a podobnosti ω-regulární jazyky Jazyky akceptované nedeterministickými Büchiho automaty (BA) (ne)deterministickými Mullerovy automaty (ne)deterministickými Rabinovy automaty Uzavřeny na,. Důkaz stejný jako pro konečná slova. V. Brožek: Logika a regulární jazyky 53

Nekonečná slova Rozdíly a podobnosti ω-regulární jazyky Jazyky akceptované nedeterministickými Büchiho automaty (BA) (ne)deterministickými Mullerovy automaty (ne)deterministickými Rabinovy automaty Uzavřeny na,. Důkaz stejný jako pro konečná slova. Uzavřeny na doplněk. Ovšem... Konečná slova: ω-slova: NKA DKA DKA. NBA DBA DBA. Jazyky akceptované determ. BA nejsou uzavřeny na doplněk, proto det. BA nepopisují celou třídu ω-reg. jazyků. V. Brožek: Logika a regulární jazyky 53

Nekonečná slova Rozdíly a podobnosti Logika Dvě varianty MSO: MSO wmso: weak kvantifikace jen přes konečné množiny V. Brožek: Logika a regulární jazyky 54

Nekonečná slova Rozdíly a podobnosti Logika Dvě varianty MSO: MSO wmso: weak kvantifikace jen přes konečné množiny Hloupá otázka Která z výše uvedených je MSO tak, jak ji známe? V. Brožek: Logika a regulární jazyky 54

Nekonečná slova Souvislost s automaty Osnova Konečná slova Logický popis jazyků Souvislost s automaty Složitost Důsledky 2 Nekonečná slova Rozdíly a podobnosti Souvislost s automaty Důsledky V. Brožek: Logika a regulární jazyky 55

Nekonečná slova Souvislost s automaty Automaty = (w)mso Věta Büchiho automaty = logika wmso = logika MSO = ω-regulární jazyky = jazyky definovatelné wmso. Věta (Büchi) ω-regulární jazyky = jazyky definovatelné MSO V. Brožek: Logika a regulární jazyky 56

Nekonečná slova Souvislost s automaty Automaty = (w)mso Věta Büchiho automaty = logika MSO = logika wmso ω-regulární jazyky = jazyky definovatelné wmso. Věta (Büchi) ω-regulární jazyky = jazyky definovatelné MSO V. Brožek: Logika a regulární jazyky 56

Nekonečná slova Souvislost s automaty Büchi Muller wmso q 0 + q 0 = q 0 Büchi: vše v co-büchi: < Muller Pro každý determ. Mullerův A existují determ. Büchiho B 1,..., B n, B 1,..., B n tak, že: L(A) = (L(B 1 ) co L(B 1 )) (L(B n) co L(B n)) V. Brožek: Logika a regulární jazyky 57

Nekonečná slova Souvislost s automaty Büchi Muller wmso Věta (McNaughton) Deterministické Mullerovy automaty a nedeterministické Büchiho automaty akceptují stejnou třídu jazyků. Důsledek L je ω-regulární, právě když existují determ. Büchiho B 1,..., B n, B 1,..., B n tak, že: L = (L(B 1 ) co L(B 1 )) (L(B n) co L(B n)) V. Brožek: Logika a regulární jazyky 58

Nekonečná slova Souvislost s automaty Büchi Muller wmso Věta (McNaughton) Deterministické Mullerovy automaty a nedeterministické Büchiho automaty akceptují stejnou třídu jazyků. Důsledek L je ω-regulární, právě když existují determ. Büchiho B 1,..., B n, B 1,..., B n tak, že: L = (L(B 1 ) co L(B 1 )) (L(B n) co L(B n)) Důsledek ω-regulární jazyky jsou uzavřeny na doplněk. V. Brožek: Logika a regulární jazyky 58

Nekonečná slova Souvislost s automaty detba wmso Protože wmso je uzavřená na, a, stačí dokázat: Pro každý determ. Büchiho A = (Q, q 0,, F) existuje sentence wmso φ tak, že L(A) = L(φ). Pro každé w Σ ω platí: w L(A) Existuje běh ρ nad w, tak, že ρ(n) F pro mnoho n. V. Brožek: Logika a regulární jazyky 59

Nekonečná slova Souvislost s automaty detba wmso Protože wmso je uzavřená na, a, stačí dokázat: Pro každý determ. Büchiho A = (Q, q 0,, F) existuje sentence wmso φ tak, že L(A) = L(φ). Pro každé w Σ ω platí: w L(A) Existuje běh ρ nad w, tak, že ρ(n) F pro mnoho n. Existuje jediný běh ρ nad w, a splňuje ρ(n) F pro mnoho n. V. Brožek: Logika a regulární jazyky 59

Nekonečná slova Souvislost s automaty detba wmso Protože wmso je uzavřená na, a, stačí dokázat: Pro každý determ. Büchiho A = (Q, q 0,, F) existuje sentence wmso φ tak, že L(A) = L(φ). Pro každé w Σ ω platí: w L(A) Existuje běh ρ nad w, tak, že ρ(n) F pro mnoho n. Existuje jediný běh ρ nad w, a splňuje ρ(n) F pro mnoho n. Jako KA, A akceptuje w(1) w(n) pro mnoho n. V. Brožek: Logika a regulární jazyky 59

Nekonečná slova Souvislost s automaty detba wmso 1 Nad konečnými slovy je A ekvivalentní formuli MSO: φ = {X q q Q} : φ. V. Brožek: Logika a regulární jazyky 60

Nekonečná slova Souvislost s automaty detba wmso 1 Nad konečnými slovy je A ekvivalentní formuli MSO: φ = {X q q Q} : φ. 2 Je-li w Σ ω, pak A akceptuje w(1) w(n) Σ, právě když w, ν = τ(x) pro valuaci ν(x) = n a formuli τ(x) := {X q q Q} : (φ x X q y : (y X q q F q Q = y < x)) V. Brožek: Logika a regulární jazyky 60

Nekonečná slova Souvislost s automaty detba wmso 1 Nad konečnými slovy je A ekvivalentní formuli MSO: φ = {X q q Q} : φ. 2 Je-li w Σ ω, pak A akceptuje w(1) w(n) Σ, právě když w, ν = τ(x) pro valuaci ν(x) = n a formuli τ(x) := {X q q Q} : (φ x X q y : (y X q q F q Q = y < x)) 3 V MSO i ve wmso platí: w = x : y : (y > x τ(y)), právě když A akceptuje w(1) w(n) pro mnoho n. V. Brožek: Logika a regulární jazyky 60

Nekonečná slova Souvislost s automaty Automaty = (w)mso Büchiho automaty = logika MSO = logika wmso V. Brožek: Logika a regulární jazyky 61

Nekonečná slova Souvislost s automaty Automaty = (w)mso Büchiho automaty = logika wmso = Cvičení logika MSO Pro formuli wmso φ najděte formuli MSO ψ tak, že L(φ) = L(ψ). Najděte příklad, kdy nelze vzít φ = ψ. V. Brožek: Logika a regulární jazyky 61

Nekonečná slova Souvislost s automaty Automaty = (w)mso Büchiho automaty = logika wmso = logika MSO V. Brožek: Logika a regulární jazyky 61

Nekonečná slova Souvislost s automaty Formule čisté MSO automat Chceme zkonstruovat pro každou formuli čisté MSO φ(x,...) Büchiho automat A tak, že L(φ(X,...)) = L(A), indukcí ke struktuře φ. V. Brožek: Logika a regulární jazyky 62

Nekonečná slova Souvislost s automaty Formule čisté MSO automat Stejné jako u konečných slov. Formule = φ(x 1,..., X k ), automat = A = (Q, q 0, Bázové kroky:, F). P a (X 1 )» a 1», 0» b 1 q 0 q 1 V. Brožek: Logika a regulární jazyky 63

Nekonečná slova Souvislost s automaty Formule čisté MSO automat Stejné jako u konečných slov. Formule = φ(x 1,..., X k ), automat = A = (Q, q 0, Bázové kroky:, F). X 1 X 2 2 4 1 1 3 2 5, 4 0 2 3 5 4 1 0 3 5 q 0 q 1 V. Brožek: Logika a regulární jazyky 63

Nekonečná slova Souvislost s automaty Formule čisté MSO automat Stejné jako u konečných slov. Formule = φ(x 1,..., X k ), automat = A = (Q, q 0, Bázové kroky:, F).» 0» 0 Sng(X 1 )» 1» 1 q 0 q 1 q 2 V. Brožek: Logika a regulární jazyky 63

Nekonečná slova Souvislost s automaty Formule čisté MSO automat Stejné jako u konečných slov. Formule = φ(x 1,..., X k ), automat = A = (Q, q 0, Bázové kroky:, F). 2 4 0 0 X 1 < X 2 q 0 3 5 2 4 1 0 3 5 2 4 1 3 5 q 1 q 2 V. Brožek: Logika a regulární jazyky 63

Nekonečná slova Souvislost s automaty Formule čisté MSO automat Stejné jako u konečných slov. Formule = φ(x 1,..., X k ), automat = A = (Q, q 0,, F). Logické operace,, přejdou na, a komplement. V. Brožek: Logika a regulární jazyky 63

Nekonečná slova Souvislost s automaty Formule čisté MSO automat Stejné jako u konečných slov. Formule = φ(x 1,..., X k ), automat = A = (Q, q 0, Kvantifikace:, F). X 1 : φ(x 1 )» a 1 r ˆ a r q» a 0 q ˆ a s s V. Brožek: Logika a regulární jazyky 63

Nekonečná slova Důsledky Osnova Konečná slova Logický popis jazyků Souvislost s automaty Složitost Důsledky 2 Nekonečná slova Rozdíly a podobnosti Souvislost s automaty Důsledky V. Brožek: Logika a regulární jazyky 64

Nekonečná slova Důsledky ws1s = S1S Snadný důsledek toho, že MSO je ekvivalentní wmso na nekonečných slovech, zejména nad Σ = {a}. V. Brožek: Logika a regulární jazyky 65

Nekonečná slova Důsledky Linear Temporal Logic Další logika schopná popsat vlastnosti slov: P(a) první písmeno je a,, Xφ φ platí od druhého písmena φuψ od nějakého písmena platí ψ, a do té doby φ V. Brožek: Logika a regulární jazyky 66

Nekonečná slova Důsledky Linear Temporal Logic Další logika schopná popsat vlastnosti slov: P(a) první písmeno je a,, Xφ φ platí od druhého písmena φuψ od nějakého písmena platí ψ, a do té doby φ Cvičení Popište trueu( (trueu P(a))) pomocí BA (a b) ω pomocí LTL ((aa) b) ω pomocí deterministického BA V. Brožek: Logika a regulární jazyky 66

Nekonečná slova Důsledky FO = LTL Věta (Kamp; Gabbay, Pnueli, Shelah and Stavi) Jazyky popsatelné LTL jsou přesně jazyky popsatelné FO. V. Brožek: Logika a regulární jazyky 67

Nekonečná slova Důsledky FO = LTL Věta (Kamp; Gabbay, Pnueli, Shelah and Stavi) Jazyky popsatelné LTL jsou přesně jazyky popsatelné FO. Překvapující, nebot LTL je výrazově mnohem chudší. Platí se složitostí splnitelnost je PSPACE-úplná pro LTL, ale non-elementary pro FO. V. Brožek: Logika a regulární jazyky 67

Nekonečná slova Důsledky FO = LTL Věta (Kamp; Gabbay, Pnueli, Shelah and Stavi) Jazyky popsatelné LTL jsou přesně jazyky popsatelné FO. Překvapující, nebot LTL je výrazově mnohem chudší. Platí se složitostí splnitelnost je PSPACE-úplná pro LTL, ale non-elementary pro FO. Cvičení Necht L DBA jsou jazyky akceptované determ. BA, a L LTL jazyky popsatelné LTL. Dokažte: L LTL L DBA L DBA L LTL V. Brožek: Logika a regulární jazyky 67

Nekonečná slova Důsledky FO = star-free L je ω-regulární, právě když je tvaru pro K i, L i regulární. L = K 1 L ω 1 K n L ω n V. Brožek: Logika a regulární jazyky 68

Nekonečná slova Důsledky FO = star-free L je ω-regulární, právě když je tvaru pro K i, L i regulární. L = K 1 L ω 1 K n L ω n Podobně L je definovatelný v FO, právě když je tvaru pro K i, L i star-free. L = K 1 L ω 1 K n L ω n V. Brožek: Logika a regulární jazyky 68

Nekonečná slova Důsledky Další směry Automaty pro slova už známe... V. Brožek: Logika a regulární jazyky 69

Nekonečná slova Důsledky Další směry Automaty pro slova už známe...... přišel čas na automaty pro stromy: V. Brožek: Logika a regulární jazyky 69